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