UI: Improve client language detection.

This commit is contained in:
Igor Kulikov 2017-10-26 20:44:36 +03:00
parent c0bf3e72ef
commit a71a97c843

View File

@ -47,8 +47,6 @@ export default function AppConfig($provide,
storeProvider.setCaching(false);
$translateProvider.useSanitizeValueStrategy(null);
$translateProvider.preferredLanguage('en_US');
$translateProvider.useLocalStorage();
$translateProvider.useMissingTranslationHandler('tbMissingTranslationHandler');
$translateProvider.addInterpolation('$translateMessageFormatInterpolation');
@ -57,8 +55,12 @@ export default function AppConfig($provide,
addLocaleRussian(locales);
addLocaleSpanish(locales);
var $window = angular.injector(['ng']).get('$window');
var lang = $window.navigator.language || $window.navigator.userLanguage;
for (var langKey in locales) {
var translationTable = locales[langKey];
$translateProvider.translations(langKey, translationTable);
}
var lang = $translateProvider.resolveClientLocale();
if (lang) {
lang = lang.toLowerCase();
if (lang.startsWith('ko')) {
@ -69,12 +71,11 @@ export default function AppConfig($provide,
$translateProvider.preferredLanguage('es_ES');
} else if (lang.startsWith('ru')) {
$translateProvider.preferredLanguage('ru_RU');
} else {
$translateProvider.preferredLanguage('en_US');
}
}
for (var langKey in locales) {
var translationTable = locales[langKey];
$translateProvider.translations(langKey, translationTable);
} else {
$translateProvider.preferredLanguage('en_US');
}
$httpProvider.interceptors.push('globalInterceptor');