Browse Source

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

Samuel Chantaraud 11 years ago
parent
commit
cbc9ad3cb6
  1. 22
      web/compatibility.js
  2. 2
      web/viewer.js

22
web/compatibility.js

@ -452,16 +452,20 @@ if (typeof PDFJS === 'undefined') { @@ -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() {

2
web/viewer.js

@ -1666,7 +1666,7 @@ document.addEventListener('DOMContentLoaded', function webViewerLoad(evt) { @@ -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);

Loading…
Cancel
Save