0edf4c0
--- cups-1.2svn-r5137/cups/language.c.locale	2006-02-15 20:11:10.000000000 +0000
0edf4c0
+++ cups-1.2svn-r5137/cups/language.c	2006-02-23 14:43:59.000000000 +0000
0edf4c0
@@ -276,6 +276,7 @@
0edf4c0
 #endif /* CODESET */
0edf4c0
 			*ptr,		/* Pointer into language/charset */
cvsdist 79dcdc0
 			real[48],	/* Real language name */
cvsdist 79dcdc0
+			ll_cc[48],	/* Language + Country name */
0edf4c0
 			filename[1024];	/* Filename for language locale file */
cvsdist 79dcdc0
   cups_encoding_t	encoding;	/* Encoding to use */
0edf4c0
   cups_lang_t		*lang;		/* Current language... */
0edf4c0
@@ -445,8 +446,10 @@
0edf4c0
   country[0] = '\0';
cvsdist 79dcdc0
 
0edf4c0
   if (language == NULL || !language[0] ||
0edf4c0
-      !strcmp(language, "POSIX"))
0edf4c0
+      !strcmp(language, "POSIX")) {
0edf4c0
     strcpy(langname, "C");
0edf4c0
+    strcpy(ll_cc, langname);
0edf4c0
+  }
0edf4c0
   else
0edf4c0
   {
0edf4c0
    /*
0edf4c0
@@ -476,6 +479,7 @@
0edf4c0
       *ptr = '\0';
0edf4c0
     }
cvsdist 79dcdc0
 
0edf4c0
+    snprintf(ll_cc, sizeof(ll_cc), "%s_%s", langname, country);
0edf4c0
     if (*language == '.' && !charset[0])
0edf4c0
     {
0edf4c0
      /*
0edf4c0
@@ -617,7 +621,7 @@
cvsdist 79dcdc0
   */
cvsdist 79dcdc0
 
cvsdist 79dcdc0
   lang->used ++;
cvsdist 79dcdc0
-  strlcpy(lang->language, real, sizeof(lang->language));
cvsdist 79dcdc0
+  strlcpy(lang->language, ll_cc, sizeof(lang->language));
cvsdist 79dcdc0
 
0edf4c0
   if (encoding != CUPS_AUTO_ENCODING)
cvsdist 79dcdc0
     lang->encoding = encoding;