Skip to content

Commit 8a72a77

Browse files
author
Alex Kontos
committed
Add locales and locale selector
1 parent 4eca59a commit 8a72a77

File tree

96 files changed

+235
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+235
-2
lines changed

browser/components/nsBrowserGlue.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ XPCOMUtils.defineLazyServiceGetter(this, "AlertsService", "@mozilla.org/alerts-s
6363
["Task", "resource://gre/modules/Task.jsm"],
6464
["UITour", "resource:///modules/UITour.jsm"],
6565
["URLBarZoom", "resource:///modules/URLBarZoom.jsm"],
66+
["UserAgentOverrides", "resource://gre/modules/UserAgentOverrides.jsm"],
6667
["WebChannel", "resource://gre/modules/WebChannel.jsm"],
6768
["WindowsRegistry", "resource://gre/modules/WindowsRegistry.jsm"],
6869
["webrtcUI", "resource:///modules/webrtcUI.jsm"],
@@ -554,6 +555,7 @@ BrowserGlue.prototype = {
554555
LoginManagerParent.init();
555556
ReaderParent.init();
556557
URLBarZoom.init();
558+
UserAgentOverrides.init();
557559

558560
SelfSupportBackend.init();
559561

@@ -916,6 +918,7 @@ BrowserGlue.prototype = {
916918
FormValidationHandler.uninit();
917919
AutoCompletePopup.uninit();
918920
DateTimePickerHelper.uninit();
921+
UserAgentOverrides.uninit();
919922
},
920923

921924
_initServiceDiscovery: function () {

browser/components/preferences/in-content/main.js

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Components.utils.import("resource://gre/modules/Task.jsm");
88
Components.utils.import("resource:///modules/ShellService.jsm");
99
Components.utils.import("resource:///modules/TransientPrefs.jsm");
1010

11+
1112
XPCOMUtils.defineLazyModuleGetter(this, "OS",
1213
"resource://gre/modules/osfile.jsm");
1314

@@ -27,7 +28,7 @@ var gMainPane = {
2728
document.getElementById(aId)
2829
.addEventListener(aEventType, aCallback.bind(gMainPane));
2930
}
30-
31+
this.getDefaultLocale();
3132
if (AppConstants.HAVE_SHELL_SERVICE) {
3233
this.updateSetDefaultBrowser();
3334
if (AppConstants.platform == "win") {
@@ -83,6 +84,13 @@ var gMainPane = {
8384
setEventListener("chooseFolder", "command",
8485
gMainPane.chooseFolder);
8586

87+
setEventListener("localeSelect", "popuphidden", function () {
88+
gMainPane.updateLocale();
89+
});
90+
setEventListener("localeSelect", "keypress", function (e) {
91+
gMainPane._updateLocale(e);
92+
});
93+
8694
if (AppConstants.E10S_TESTING_ONLY) {
8795
setEventListener("e10sAutoStart", "command",
8896
gMainPane.enableE10SChange);
@@ -120,7 +128,34 @@ var gMainPane = {
120128
.getService(Components.interfaces.nsIObserverService)
121129
.notifyObservers(window, "main-pane-loaded", null);
122130
},
123-
131+
132+
// Sets language selector to current locale value
133+
getDefaultLocale: function(){
134+
let selectedLocale = document.getElementById("localeSelect");
135+
if (selectedLocale){
136+
selectedLocale.value = Services.prefs.getCharPref('general.useragent.locale');
137+
}
138+
},
139+
140+
updateLocale: function ()
141+
{
142+
let alertsService = Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService);
143+
let selectedLocale = document.getElementById("localeSelect").value;
144+
145+
if (selectedLocale === Services.prefs.getCharPref('general.useragent.locale')) return;
146+
147+
if (selectedLocale != "") {
148+
Services.prefs.setCharPref('general.useragent.locale', selectedLocale);
149+
alertsService.showAlertNotification("", "Restart Waterfox", "You'll need to restart Waterfox to see your selected locale.");
150+
}
151+
},
152+
_updateLocale: function (e)
153+
{
154+
if (e.which == 13 || e.keyCode == 13){
155+
this.updateLocale();
156+
}
157+
},
158+
124159
enableE10SChange: function ()
125160
{
126161
if (AppConstants.E10S_TESTING_ONLY) {

browser/components/preferences/in-content/main.xul

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,107 @@
226226
</html:table>
227227
</groupbox>
228228

229+
<!-- Locale -->
230+
<groupbox id="localeGroup"
231+
data-category="paneGeneral"
232+
hidden="true">
233+
<caption><label>Locale Select</label></caption>
234+
<menulist id="localeSelect">
235+
<menupopup>
236+
<menuitem value="ach" label="Acholi - Acholi"/>
237+
<menuitem value="af" label="Afrikaans - Afrikaans"/>
238+
<menuitem value="an" label="Aragonese - Aragonés"/>
239+
<menuitem value="ar" label="Arabic - العربية"/>
240+
<menuitem value="as" label="Assamese - অসমীয়া"/>
241+
<menuitem value="ast" label="Asturian - Asturianu"/>
242+
<menuitem value="bg" label="Bulgarian - Български"/>
243+
<menuitem value="bn-BD" label="Bengali (Bangladesh) - বাংলা (বাংলাদেশ)"/>
244+
<menuitem value="bn-IN" label="Bengali (India) - বাংলা (ভারত)"/>
245+
<menuitem value="br" label="Breton - Brezhoneg"/>
246+
<menuitem value="bs" label="Bosnian - Bosanski"/>
247+
<menuitem value="ca" label="Catalan - Català"/>
248+
<menuitem value="cak" label="Cakchiquel / Kaqchiquel"/>
249+
<menuitem value="cs" label="Czech - Česky"/>
250+
<menuitem value="cy" label="Welsh - Cymraeg"/>
251+
<menuitem value="da" label="Danish - Dansk"/>
252+
<menuitem value="de" label="German - Deutsch"/>
253+
<menuitem value="el" label="Greek - Ελληνικά"/>
254+
<menuitem value="en-GB" label="English (British) - English (British)"/>
255+
<menuitem value="en-US" label="English (US) - English (US)"/>
256+
<menuitem value="en-ZA" label="English (South African) - English (South African)"/>
257+
<menuitem value="eo" label="Esperanto - Esperanto"/>
258+
<menuitem value="es-AR" label="Spanish (Argentina) - Español (de Argentina)"/>
259+
<menuitem value="es-CL" label="Spanish (Chile) - Español (de Chile)"/>
260+
<menuitem value="es-ES" label="Spanish (Spain) - Español (de España)"/>
261+
<menuitem value="es-MX" label="Spanish (Mexico) - Español (de México)"/>
262+
<menuitem value="et" label="Estonian - Eesti"/>
263+
<menuitem value="eu" label="Basque - Euskara"/>
264+
<menuitem value="fa" label="Persian - فارسی"/>
265+
<menuitem value="ff" label="Peul - Fulfulde"/>
266+
<menuitem value="fi" label="Finnish - Suomi"/>
267+
<menuitem value="fr" label="French - Français"/>
268+
<menuitem value="fy-NL" label="West Frisian - Frysk"/>
269+
<menuitem value="ga-IE" label="Irish - Gaeilge"/>
270+
<menuitem value="gd" label="Scottish Gaelic - Gàidhlig"/>
271+
<menuitem value="gl" label="Galician - Galego"/>
272+
<menuitem value="gn" label="Guarani"/>
273+
<menuitem value="gu-IN" label="Gujarati - ગુજરાતી"/>
274+
<menuitem value="he" label="Hebrew - עברית"/>
275+
<menuitem value="hi-IN" label="Hindi - हिन्दी"/>
276+
<menuitem value="hr" label="Croatian - Hrvatski"/>
277+
<menuitem value="hsb" label="Upper Sorbian - Hornjoserbsce"/>
278+
<menuitem value="hu" label="Hungarian - Magyar"/>
279+
<menuitem value="hy-AM" label="Armenian - Հայերեն"/>
280+
<menuitem value="id" label="Indonesian - Bahasa Indonesia"/>
281+
<menuitem value="is" label="Icelandic - Íslenska"/>
282+
<menuitem value="it" label="Italian - Italiano"/>
283+
<menuitem value="ja" label="Japanese - 日本語"/>
284+
<menuitem value="ka" label="Georgian - ქართული"/>
285+
<menuitem value="kab" label="Kabyle - Taqbaylit"/>
286+
<menuitem value="kk" label="Kazakh - Қазақша"/>
287+
<menuitem value="km" label="Cambodian - ភាសាខ្មែរ"/>
288+
<menuitem value="kn" label="Kannada - ಕನ್ನಡ"/>
289+
<menuitem value="ko" label="Korean - 한국어"/>
290+
<menuitem value="lij" label="Ligurian - Líguru"/>
291+
<menuitem value="lt" label="Lithuanian - Lietuvių"/>
292+
<menuitem value="lv" label="Latvian - Latviešu"/>
293+
<menuitem value="mai" label="Maithili - मैथिली মৈথিল"/>
294+
<menuitem value="mk" label="Macedonian - Македонски"/>
295+
<menuitem value="ml" label="Malayalam - മലയാളം"/>
296+
<menuitem value="mr" label="Marathi - मराठी"/>
297+
<menuitem value="ms" label="Malay - Bahasa Melayu"/>
298+
<menuitem value="nb-NO" label="Norwegian (Bokmål) - Norsk bokmål"/>
299+
<menuitem value="nl" label="Dutch - Nederlands"/>
300+
<menuitem value="nn-NO" label="Norwegian (Nynorsk) - Norsk nynorsk"/>
301+
<menuitem value="or" label="Oriya - ଓଡ଼ିଆ"/>
302+
<menuitem value="pa-IN" label="Punjabi - ਪੰਜਾਬੀ (ਭਾਰਤ)"/>
303+
<menuitem value="pl" label="Polish - Polski"/>
304+
<menuitem value="pt-BR" label="Portuguese (Brazilian) - Português (do Brasil)"/>
305+
<menuitem value="pt-PT" label="Portuguese (Portugal) - Português (Europeu)"/>
306+
<menuitem value="rm" label="Raeto Romance - Rumantsch"/>
307+
<menuitem value="ro" label="Romanian - Română"/>
308+
<menuitem value="ru" label="Russian - Русский"/>
309+
<menuitem value="si" label="Sinhalese - සිංහල"/>
310+
<menuitem value="sk" label="Slovak - Slovenčina"/>
311+
<menuitem value="sl" label="Slovenian - Slovenščina"/>
312+
<menuitem value="son" label="Songhai - Soŋay"/>
313+
<menuitem value="sq" label="Albanian - Shqip"/>
314+
<menuitem value="sr" label="Serbian - Српски"/>
315+
<menuitem value="sv-SE" label="Swedish - Svenska"/>
316+
<menuitem value="ta" label="Tamil - தமிழ்"/>
317+
<menuitem value="te" label="Telugu - తెలుగు"/>
318+
<menuitem value="th" label="Thai - ไทย"/>
319+
<menuitem value="tr" label="Turkish - Türkçe"/>
320+
<menuitem value="uk" label="Ukrainian - Українська"/>
321+
<menuitem value="uz" label="Uzbek - Oʻzbek tili"/>
322+
<menuitem value="vi" label="Vietnamese - Tiếng Việt"/>
323+
<menuitem value="xh" label="Xhosa - isiXhosa"/>
324+
<menuitem value="zh-CN" label="Chinese (Simplified) - 中文 (简体)"/>
325+
<menuitem value="zh-TW" label="Chinese (Traditional) - 正體中文 (繁體)"/>
326+
</menupopup>
327+
</menulist>
328+
</groupbox>
329+
229330
<!-- Downloads -->
230331
<groupbox id="downloadsGroup"
231332
data-category="paneGeneral"
437 KB
Binary file not shown.
447 KB
Binary file not shown.
454 KB
Binary file not shown.
481 KB
Binary file not shown.
494 KB
Binary file not shown.
449 KB
Binary file not shown.
464 KB
Binary file not shown.

0 commit comments

Comments
 (0)