Correct formatting of locale to make it compatible with l10n (safari issue)

This commit is contained in:
Samuel Chantaraud 2014-02-26 16:09:58 -04:00
parent 6cce1e44dd
commit cbc9ad3cb6
2 changed files with 14 additions and 10 deletions

View File

@ -452,16 +452,20 @@ if (typeof PDFJS === 'undefined') {
// Checks if navigator.language is supported
(function checkNavigatorLanguage() {
if ('language' in navigator)
if ('language' in navigator &&
/^[a-z]+(-[A-Z]+)?$/.test(navigator.language)) {
return;
Object.defineProperty(navigator, 'language', {
get: function navigatorLanguage() {
var language = navigator.userLanguage || 'en-US';
return language.substring(0, 2).toLowerCase() +
language.substring(2).toUpperCase();
},
enumerable: true
});
}
function formatLocale(locale) {
var split = locale.split(/[-_]/);
split[0] = split[0].toLowerCase();
if (split.length > 1) {
split[1] = split[1].toUpperCase();
}
return split.join('-');
}
var language = navigator.language || navigator.userLanguage || 'en-US';
PDFJS.locale = formatLocale(language);
})();
(function checkRangeRequests() {

View File

@ -1666,7 +1666,7 @@ document.addEventListener('DOMContentLoaded', function webViewerLoad(evt) {
}
//#if !(FIREFOX || MOZCENTRAL)
var locale = navigator.language;
var locale = PDFJS.locale || navigator.language;
if ('locale' in hashParams)
locale = hashParams['locale'];
mozL10n.setLanguage(locale);