1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update globalize

This commit is contained in:
Luke Pulverenti 2015-08-05 21:21:18 -04:00
parent 3d3df5717d
commit 7fb95d0419
21 changed files with 142 additions and 90 deletions

View file

@ -50,11 +50,28 @@
var currentCulture = 'en-US';
function setCulture(value) {
Logger.log('Setting culture to ' + value);
currentCulture = value;
return $.when(loadDictionary('html', value), loadDictionary('javascript', value));
}
function normalizeLocaleName(culture) {
culture = culture.replace('_', '-');
// If it's de-DE, convert to just de
var parts = culture.split('-');
if (parts.length == 2) {
if (parts[0].toLowerCase() == parts[1].toLowerCase()) {
culture = parts[0].toLowerCase();
}
}
return culture;
}
function getDeviceCulture() {
var deferred = DeferredBuilder.Deferred();
@ -62,9 +79,11 @@
if (navigator.globalization && navigator.globalization.getLocaleName) {
Logger.log('Calling navigator.globalization.getLocaleName');
navigator.globalization.getLocaleName(function (locale) {
culture = (locale.value || '').replace('_', '-');
culture = normalizeLocaleName(locale.value || '');
Logger.log('Device culture is ' + culture);
deferred.resolveWith(null, [culture]);
@ -79,12 +98,12 @@
Logger.log('AppInfo.supportsUserDisplayLanguageSetting is true');
culture = document.documentElement.getAttribute('data-culture');
culture = AppSettings.displayLanguage();
deferred.resolveWith(null, [culture]);
} else {
Logger.log('navigator.globalization.getLocaleName is unavailable');
Logger.log('Getting culture from document');
culture = document.documentElement.getAttribute('data-culture');
deferred.resolveWith(null, [culture]);
@ -96,6 +115,8 @@
function ensure() {
Logger.log('Entering Globalize.ensure');
var deferred = DeferredBuilder.Deferred();
getDeviceCulture().done(function (culture) {