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