Bug 796079 - language.current should map to general.useragent.locale instead of intl.accept_languages. r=pike

This commit is contained in:
Vivien Nicolas 2012-10-25 15:02:15 +02:00
parent 70554260ab
commit 47512bbf05

View File

@ -67,7 +67,22 @@ SettingsListener.observe('audio.volume.master', 0.5, function(value) {
// =================== Languages ====================
SettingsListener.observe('language.current', 'en-US', function(value) {
Services.prefs.setCharPref('intl.accept_languages', value);
Services.prefs.setCharPref('general.useragent.locale', value);
let prefName = 'intl.accept_languages';
if (Services.prefs.prefHasUserValue(prefName)) {
Services.prefs.clearUserPref(prefName);
}
let intl = '';
try {
intl = Services.prefs.getComplexValue(prefName,
Ci.nsIPrefLocalizedString).data;
} catch(e) {}
if (!((new RegExp('^' + value + '[^a-z-_] *[,;]?', 'i')).test(intl))) {
Services.prefs.setCharPref(prefName, value + ', ' + intl);
}
});