| Index: safari/ext/common.js |
| =================================================================== |
| --- a/safari/ext/common.js |
| +++ b/safari/ext/common.js |
| @@ -85,17 +85,18 @@ |
| var candidates = []; |
| var defaultLocale = "en_US"; |
| - var bits, i; |
| - for (i = (bits = navigator.language.split("-")).length; i > 0; i--) |
| - { |
| - var locale = bits.slice(0, i).join("_"); |
| - candidates.push(locale); |
| + // e.g. "ja-jp-mac" -> "ja", "jp", note that the part after the second |
| + // dash is dropped, since we only support language and region |
| + var [language, region] = navigator.language.split("-"); |
| - if (locale == defaultLocale) |
| - return candidates; |
| - } |
| + if (region) |
| + candidates.push(language + "_" + region.toUpperCase()); |
| - candidates.push(defaultLocale); |
| + candidates.push(language); |
| + |
| + if (candidates.indexOf(defaultLocale) == -1) |
| + candidates.push(defaultLocale); |
| + |
| return candidates; |
| }; |