diff -r 9ba8fb8909c4 -r 298263f797be mozilla-language.patch --- a/mozilla-language.patch Thu Feb 17 20:14:47 2011 +0100 +++ b/mozilla-language.patch Wed Feb 23 15:14:39 2011 +0100 @@ -1,37 +1,30 @@ # HG changeset patch # User Wolfgang Rosenauer -# Parent 4a8194d5971401441da4f4f3bbd2730e506da4bc +# Parent 05766406681babf9a5a433649b5ba2b9741b9962 Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE diff --git a/intl/locale/src/nsLocaleService.cpp b/intl/locale/src/nsLocaleService.cpp --- a/intl/locale/src/nsLocaleService.cpp +++ b/intl/locale/src/nsLocaleService.cpp -@@ -192,22 +192,24 @@ nsLocaleService::nsLocaleService(void) - return; +@@ -181,16 +181,17 @@ nsLocaleService::nsLocaleService(void) } - #ifdef MOZ_ENABLE_MEEGOTOUCH - // Create a snapshot of the gconf locale values into the - // corresponding environment variables to obey system settings - // as accurately as possible. - CopyGConfToEnv("/meegotouch/i18n/language", "LANG"); -+ CopyGConfToEnv("/meegotouch/i18n/language", "LANGUAGE"); - CopyGConfToEnv("/meegotouch/i18n/lc_collate", NSILOCALE_COLLATE); - CopyGConfToEnv("/meegotouch/i18n/lc_monetary", NSILOCALE_MONETARY); - CopyGConfToEnv("/meegotouch/i18n/lc_numeric", NSILOCALE_NUMERIC); - CopyGConfToEnv("/meegotouch/i18n/lc_time", NSILOCALE_TIME); + + #ifdef MOZ_WIDGET_QT + const char* lang = QLocale::languageToString(QLocale::system().language()).toAscii(); + #else + // Get system configuration + const char* lang = getenv("LANG"); ++ const char* language = getenv("LANGUAGE"); #endif - // Get system configuration -+ const char* language = getenv("LANGUAGE"); - const char* lang = getenv("LANG"); + for( i = 0; i < LocaleListLength; i++ ) { nsresult result; // setlocale( , "") evaluates LC_* and LANG char* lc_temp = setlocale(posix_locale_category[i], ""); CopyASCIItoUTF16(LocaleList[i], category); category_platform = category; - category_platform.AppendLiteral("##PLATFORM"); -@@ -222,16 +224,21 @@ nsLocaleService::nsLocaleService(void) +@@ -206,16 +207,21 @@ nsLocaleService::nsLocaleService(void) else { CopyASCIItoUTF16(lang, platformLocale); result = posixConverter->GetXPLocale(lang, xpLocale);