Commit a71a97c843d6f444c5fc1773bf5544766173fa3d

Authored by Igor Kulikov
1 parent c0bf3e72

UI: Improve client language detection.

Showing 1 changed file with 10 additions and 9 deletions
@@ -47,8 +47,6 @@ export default function AppConfig($provide, @@ -47,8 +47,6 @@ export default function AppConfig($provide,
47 storeProvider.setCaching(false); 47 storeProvider.setCaching(false);
48 48
49 $translateProvider.useSanitizeValueStrategy(null); 49 $translateProvider.useSanitizeValueStrategy(null);
50 - $translateProvider.preferredLanguage('en_US');  
51 - $translateProvider.useLocalStorage();  
52 $translateProvider.useMissingTranslationHandler('tbMissingTranslationHandler'); 50 $translateProvider.useMissingTranslationHandler('tbMissingTranslationHandler');
53 $translateProvider.addInterpolation('$translateMessageFormatInterpolation'); 51 $translateProvider.addInterpolation('$translateMessageFormatInterpolation');
54 52
@@ -57,8 +55,12 @@ export default function AppConfig($provide, @@ -57,8 +55,12 @@ export default function AppConfig($provide,
57 addLocaleRussian(locales); 55 addLocaleRussian(locales);
58 addLocaleSpanish(locales); 56 addLocaleSpanish(locales);
59 57
60 - var $window = angular.injector(['ng']).get('$window');  
61 - var lang = $window.navigator.language || $window.navigator.userLanguage; 58 + for (var langKey in locales) {
  59 + var translationTable = locales[langKey];
  60 + $translateProvider.translations(langKey, translationTable);
  61 + }
  62 +
  63 + var lang = $translateProvider.resolveClientLocale();
62 if (lang) { 64 if (lang) {
63 lang = lang.toLowerCase(); 65 lang = lang.toLowerCase();
64 if (lang.startsWith('ko')) { 66 if (lang.startsWith('ko')) {
@@ -69,12 +71,11 @@ export default function AppConfig($provide, @@ -69,12 +71,11 @@ export default function AppConfig($provide,
69 $translateProvider.preferredLanguage('es_ES'); 71 $translateProvider.preferredLanguage('es_ES');
70 } else if (lang.startsWith('ru')) { 72 } else if (lang.startsWith('ru')) {
71 $translateProvider.preferredLanguage('ru_RU'); 73 $translateProvider.preferredLanguage('ru_RU');
  74 + } else {
  75 + $translateProvider.preferredLanguage('en_US');
72 } 76 }
73 - }  
74 -  
75 - for (var langKey in locales) {  
76 - var translationTable = locales[langKey];  
77 - $translateProvider.translations(langKey, translationTable); 77 + } else {
  78 + $translateProvider.preferredLanguage('en_US');
78 } 79 }
79 80
80 $httpProvider.interceptors.push('globalInterceptor'); 81 $httpProvider.interceptors.push('globalInterceptor');