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