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 47 storeProvider.setCaching(false);
48 48
49 49 $translateProvider.useSanitizeValueStrategy(null);
50   - $translateProvider.preferredLanguage('en_US');
51   - $translateProvider.useLocalStorage();
52 50 $translateProvider.useMissingTranslationHandler('tbMissingTranslationHandler');
53 51 $translateProvider.addInterpolation('$translateMessageFormatInterpolation');
54 52
... ... @@ -57,8 +55,12 @@ export default function AppConfig($provide,
57 55 addLocaleRussian(locales);
58 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 64 if (lang) {
63 65 lang = lang.toLowerCase();
64 66 if (lang.startsWith('ko')) {
... ... @@ -69,12 +71,11 @@ export default function AppConfig($provide,
69 71 $translateProvider.preferredLanguage('es_ES');
70 72 } else if (lang.startsWith('ru')) {
71 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 81 $httpProvider.interceptors.push('globalInterceptor');
... ...