mozilla-language.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Wed, 14 Sep 2011 22:29:13 +0200
branchfirefox6
changeset 324 c6ab0c6a483b
parent 251 4c9ebbedd59c
child 294 5330447b83a3
permissions -rw-r--r--
remove -gnome subpackage and fixup patchlist (build is working now w/o localization)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
161
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     1
# HG changeset patch
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     2
# User Wolfgang Rosenauer <wr@rosenauer.org>
251
4c9ebbedd59c adopt patches to new base
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 229
diff changeset
     3
# Parent db620d83124746201970dcf50c661957df979eca
161
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     4
Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     5
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     6
diff --git a/intl/locale/src/nsLocaleService.cpp b/intl/locale/src/nsLocaleService.cpp
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     7
--- a/intl/locale/src/nsLocaleService.cpp
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     8
+++ b/intl/locale/src/nsLocaleService.cpp
229
298263f797be update to 2.0b12/4.0b12
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 185
diff changeset
     9
@@ -181,16 +181,17 @@ nsLocaleService::nsLocaleService(void)
161
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    10
         }
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    11
 
229
298263f797be update to 2.0b12/4.0b12
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 185
diff changeset
    12
 
298263f797be update to 2.0b12/4.0b12
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 185
diff changeset
    13
 #ifdef MOZ_WIDGET_QT
251
4c9ebbedd59c adopt patches to new base
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 229
diff changeset
    14
         const char* lang = QLocale::system().name().toAscii();
229
298263f797be update to 2.0b12/4.0b12
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 185
diff changeset
    15
 #else
298263f797be update to 2.0b12/4.0b12
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 185
diff changeset
    16
         // Get system configuration
298263f797be update to 2.0b12/4.0b12
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 185
diff changeset
    17
         const char* lang = getenv("LANG");
298263f797be update to 2.0b12/4.0b12
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 185
diff changeset
    18
+        const char* language = getenv("LANGUAGE");
161
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    19
 #endif
229
298263f797be update to 2.0b12/4.0b12
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 185
diff changeset
    20
 
161
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    21
         for( i = 0; i < LocaleListLength; i++ ) {
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    22
             nsresult result;
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    23
             // setlocale( , "") evaluates LC_* and LANG
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    24
             char* lc_temp = setlocale(posix_locale_category[i], "");
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    25
             CopyASCIItoUTF16(LocaleList[i], category);
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    26
             category_platform = category;
229
298263f797be update to 2.0b12/4.0b12
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 185
diff changeset
    27
@@ -206,16 +207,21 @@ nsLocaleService::nsLocaleService(void)
161
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    28
                 else {
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    29
                     CopyASCIItoUTF16(lang, platformLocale);
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    30
                     result = posixConverter->GetXPLocale(lang, xpLocale);
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    31
                 }
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    32
             }
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    33
             if (NS_FAILED(result)) {
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    34
                 return;
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    35
             }
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    36
+            // LANGUAGE is overriding LC_MESSAGES
185
c03de6258fea ignore empty LANGUAGE environment variable (bnc#648854)
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 161
diff changeset
    37
+            if (i == LC_MESSAGES && language && *language) {
161
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    38
+                CopyASCIItoUTF16(language, platformLocale);
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    39
+                result = posixConverter->GetXPLocale(language, xpLocale);
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    40
+            }
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    41
             resultLocale->AddCategory(category, xpLocale);
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    42
             resultLocale->AddCategory(category_platform, platformLocale);
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    43
         }
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    44
         mSystemLocale = do_QueryInterface(resultLocale);
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    45
         mApplicationLocale = do_QueryInterface(resultLocale);
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    46
     }  // if ( NS_SUCCEEDED )...
a6dc70babb5f honour LANGUAGE environment variable (bmo#583793)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    47
        
251
4c9ebbedd59c adopt patches to new base
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 229
diff changeset
    48
 #endif // XP_UNIX