Showing
4 changed files
with
27 additions
and
14 deletions
... | ... | @@ -283,6 +283,12 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, logi |
283 | 283 | ); |
284 | 284 | } |
285 | 285 | |
286 | + function updateUserLang() { | |
287 | + if (currentUserDetails.additionalInfo && currentUserDetails.additionalInfo.lang) { | |
288 | + $translate.use(currentUserDetails.additionalInfo.lang); | |
289 | + } | |
290 | + } | |
291 | + | |
286 | 292 | function procceedJwtTokenValidate() { |
287 | 293 | validateJwtToken(doTokenRefresh).then(function success() { |
288 | 294 | var jwtToken = store.get('jwt_token'); |
... | ... | @@ -299,6 +305,7 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, logi |
299 | 305 | getUser(currentUser.userId).then( |
300 | 306 | function success(user) { |
301 | 307 | currentUserDetails = user; |
308 | + updateUserLang(); | |
302 | 309 | $rootScope.forceFullscreen = false; |
303 | 310 | if (userForceFullscreen()) { |
304 | 311 | $rootScope.forceFullscreen = true; | ... | ... |
... | ... | @@ -46,7 +46,7 @@ export default function AppConfig($provide, |
46 | 46 | $urlRouterProvider.otherwise(UrlHandler); |
47 | 47 | storeProvider.setCaching(false); |
48 | 48 | |
49 | - $translateProvider.useSanitizeValueStrategy('sce'); | |
49 | + $translateProvider.useSanitizeValueStrategy(null); | |
50 | 50 | $translateProvider.preferredLanguage('en_US'); |
51 | 51 | $translateProvider.useLocalStorage(); |
52 | 52 | $translateProvider.useMissingTranslationHandler('tbMissingTranslationHandler'); |
... | ... | @@ -59,15 +59,17 @@ export default function AppConfig($provide, |
59 | 59 | |
60 | 60 | var $window = angular.injector(['ng']).get('$window'); |
61 | 61 | var lang = $window.navigator.language || $window.navigator.userLanguage; |
62 | - if (lang === 'ko') { | |
63 | - $translateProvider.useSanitizeValueStrategy(null); | |
64 | - $translateProvider.preferredLanguage('ko_KR'); | |
65 | - } else if (lang === 'zh') { | |
66 | - $translateProvider.useSanitizeValueStrategy(null); | |
67 | - $translateProvider.preferredLanguage('zh_CN'); | |
68 | - } else if (lang === 'es') { | |
69 | - $translateProvider.useSanitizeValueStrategy(null); | |
70 | - $translateProvider.preferredLanguage('es_ES'); | |
62 | + if (lang) { | |
63 | + lang = lang.toLowerCase(); | |
64 | + if (lang.startsWith('ko')) { | |
65 | + $translateProvider.preferredLanguage('ko_KR'); | |
66 | + } else if (lang.startsWith('zh')) { | |
67 | + $translateProvider.preferredLanguage('zh_CN'); | |
68 | + } else if (lang.startsWith('es')) { | |
69 | + $translateProvider.preferredLanguage('es_ES'); | |
70 | + } else if (lang.startsWith('ru')) { | |
71 | + $translateProvider.preferredLanguage('ru_RU'); | |
72 | + } | |
71 | 73 | } |
72 | 74 | |
73 | 75 | for (var langKey in locales) { | ... | ... |
... | ... | @@ -40,15 +40,19 @@ export default function ProfileController(userService, $scope, $document, $mdDia |
40 | 40 | function loadProfile() { |
41 | 41 | userService.getUser(userService.getCurrentUser().userId).then(function success(user) { |
42 | 42 | vm.profileUser = user; |
43 | - vm.profileUser.lang = $translate.use(); | |
43 | + if (!vm.profileUser.additionalInfo) { | |
44 | + vm.profileUser.additionalInfo = {}; | |
45 | + } | |
46 | + if (!vm.profileUser.additionalInfo.lang) { | |
47 | + vm.profileUser.additionalInfo.lang = $translate.use(); | |
48 | + } | |
44 | 49 | }); |
45 | 50 | } |
46 | 51 | |
47 | 52 | function save() { |
48 | 53 | userService.saveUser(vm.profileUser).then(function success(user) { |
49 | - $translate.use(vm.profileUser.lang); | |
54 | + $translate.use(vm.profileUser.additionalInfo.lang); | |
50 | 55 | vm.profileUser = user; |
51 | - vm.profileUser.lang = $translate.use(); | |
52 | 56 | $scope.theForm.$setPristine(); |
53 | 57 | }); |
54 | 58 | } | ... | ... |
... | ... | @@ -42,7 +42,7 @@ |
42 | 42 | </md-input-container> |
43 | 43 | <md-input-container class="md-block"> |
44 | 44 | <label translate>language.language</label> |
45 | - <md-select name="language" ng-model="vm.profileUser.lang"> | |
45 | + <md-select name="language" ng-model="vm.profileUser.additionalInfo.lang"> | |
46 | 46 | <md-option ng-repeat="lang in vm.languageList" ng-value="lang.value"> |
47 | 47 | {{lang.name | translate}} |
48 | 48 | </md-option> | ... | ... |