Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: safari/ext/common.js

Issue 4871895371481088: Convert region code to uppercase when generating translation file URL on Safari (Closed)
Patch Set: Added comment regarding dropping the remaining components Created April 10, 2014, 10:11 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * This file is part of Adblock Plus <http://adblockplus.org/>, 2 * This file is part of Adblock Plus <http://adblockplus.org/>,
3 * Copyright (C) 2006-2014 Eyeo GmbH 3 * Copyright (C) 2006-2014 Eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 /* I18n */ 78 /* I18n */
79 79
80 var localeCandidates = null; 80 var localeCandidates = null;
81 var uiLocale; 81 var uiLocale;
82 82
83 var getLocaleCandidates = function() 83 var getLocaleCandidates = function()
84 { 84 {
85 var candidates = []; 85 var candidates = [];
86 var defaultLocale = "en_US"; 86 var defaultLocale = "en_US";
87 87
88 var bits, i; 88 // e.g. "en-us" -> "en", "us", if there are multiple dashes, the part
89 for (i = (bits = navigator.language.split("-")).length; i > 0; i--) 89 // after the second dash will be dropped, but that case doesn't exist
Wladimir Palant 2014/04/10 10:17:48 Nit: use "ja-jp-mac" as example? That case does ex
Sebastian Noack 2014/04/10 10:33:28 Done.
90 { 90 var [language, region] = navigator.language.split("-");
91 var locale = bits.slice(0, i).join("_");
92 candidates.push(locale);
93 91
94 if (locale == defaultLocale) 92 if (region)
95 return candidates; 93 candidates.push(language + "_" + region.toUpperCase());
96 }
97 94
98 candidates.push(defaultLocale); 95 candidates.push(language);
96
97 if (candidates.indexOf(defaultLocale) == -1)
98 candidates.push(defaultLocale);
99
99 return candidates; 100 return candidates;
100 }; 101 };
101 102
102 var getCatalog = function(locale) 103 var getCatalog = function(locale)
103 { 104 {
104 var xhr = new XMLHttpRequest(); 105 var xhr = new XMLHttpRequest();
105 106
106 xhr.open("GET", safari.extension.baseURI + "_locales/" + locale + "/messages .json", false); 107 xhr.open("GET", safari.extension.baseURI + "_locales/" + locale + "/messages .json", false);
107 108
108 try { 109 try {
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 }; 180 };
180 181
181 182
182 /* Utils */ 183 /* Utils */
183 184
184 ext.getURL = function(path) 185 ext.getURL = function(path)
185 { 186 {
186 return safari.extension.baseURI + path; 187 return safari.extension.baseURI + path;
187 }; 188 };
188 })(); 189 })();
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld