check browser locale and add locale setting to profile
This commit is contained in:
		
							parent
							
								
									315757ff8e
								
							
						
					
					
						commit
						7490e10882
					
				@ -15,6 +15,7 @@
 | 
			
		||||
 */
 | 
			
		||||
import injectTapEventPlugin from 'react-tap-event-plugin';
 | 
			
		||||
import UrlHandler from './url.handler';
 | 
			
		||||
import addLocaleKorean from './locale/locale.constant-ko';
 | 
			
		||||
 | 
			
		||||
/* eslint-disable import/no-unresolved, import/default */
 | 
			
		||||
 | 
			
		||||
@ -48,6 +49,14 @@ export default function AppConfig($provide,
 | 
			
		||||
    $translateProvider.useMissingTranslationHandlerLog();
 | 
			
		||||
    $translateProvider.addInterpolation('$translateMessageFormatInterpolation');
 | 
			
		||||
 | 
			
		||||
    addLocaleKorean(locales);
 | 
			
		||||
    var $window = angular.injector(['ng']).get('$window');
 | 
			
		||||
    var lang = $window.navigator.language || $window.navigator.userLanguage;
 | 
			
		||||
    if (lang === 'ko') {
 | 
			
		||||
        $translateProvider.useSanitizeValueStrategy(null);
 | 
			
		||||
        $translateProvider.preferredLanguage('ko_KR');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for (var langKey in locales) {
 | 
			
		||||
        var translationTable = locales[langKey];
 | 
			
		||||
        $translateProvider.translations(langKey, translationTable);
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -774,6 +774,11 @@ export default angular.module('thingsboard.locale', [])
 | 
			
		||||
                    "create-new-widget-type": "Create new widget type",
 | 
			
		||||
                    "widget-type-file": "Widget type file",
 | 
			
		||||
                    "invalid-widget-type-file-error": "Unable to import widget type: Invalid widget type data structure."
 | 
			
		||||
                },
 | 
			
		||||
                "language": {
 | 
			
		||||
                    "language": "Language",
 | 
			
		||||
                    "en_US": "English",
 | 
			
		||||
                    "ko_KR": "Korean"
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -20,25 +20,29 @@ import changePasswordTemplate from './change-password.tpl.html';
 | 
			
		||||
/* eslint-enable import/no-unresolved, import/default */
 | 
			
		||||
 | 
			
		||||
/*@ngInject*/
 | 
			
		||||
export default function ProfileController(userService, $scope, $document, $mdDialog) {
 | 
			
		||||
export default function ProfileController(userService, $scope, $document, $mdDialog, $translate) {
 | 
			
		||||
    var vm = this;
 | 
			
		||||
 | 
			
		||||
    vm.profileUser = {};
 | 
			
		||||
 | 
			
		||||
    vm.save = save;
 | 
			
		||||
    vm.changePassword = changePassword;
 | 
			
		||||
    vm.languageList = {en_US: {value: "en_US", name: "language.en_US"}, ko_KR: {value : "ko_KR", name: "language.ko_KR"}};
 | 
			
		||||
 | 
			
		||||
    loadProfile();
 | 
			
		||||
 | 
			
		||||
    function loadProfile() {
 | 
			
		||||
        userService.getUser(userService.getCurrentUser().userId).then(function success(user) {
 | 
			
		||||
            vm.profileUser = user;
 | 
			
		||||
            vm.profileUser.lang = $translate.use();
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function save() {
 | 
			
		||||
        userService.saveUser(vm.profileUser).then(function success(user) {
 | 
			
		||||
            $translate.use(vm.profileUser.lang);
 | 
			
		||||
            vm.profileUser = user;
 | 
			
		||||
            vm.profileUser.lang = $translate.use();
 | 
			
		||||
            $scope.theForm.$setPristine();
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -40,6 +40,14 @@
 | 
			
		||||
                        <label translate>user.last-name</label>
 | 
			
		||||
                        <input name="lastName" ng-model="vm.profileUser.lastName">
 | 
			
		||||
                    </md-input-container>
 | 
			
		||||
                    <md-input-container class="md-block">
 | 
			
		||||
                        <label translate>language.language</label>
 | 
			
		||||
                        <md-select name="language" ng-model="vm.profileUser.lang">
 | 
			
		||||
                            <md-option ng-repeat="lang in vm.languageList" ng-value="lang.value">
 | 
			
		||||
                                {{lang.name | translate}}
 | 
			
		||||
                            </md-option>
 | 
			
		||||
                        </md-select>
 | 
			
		||||
                    </md-input-container>
 | 
			
		||||
                    <md-button ng-disabled="loading" ng-click="vm.changePassword($event)"
 | 
			
		||||
                               class="md-raised md-primary">{{ 'profile.change-password' | translate }}
 | 
			
		||||
                    </md-button>
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user