feat: language setting

parent bcd0a01a
......@@ -39,5 +39,6 @@
"labels": "标签管理",
"user": "用户",
"user group": "用户组",
"login logs": "登陆日志"
"login logs": "登陆日志",
"language": "语言选择"
}
......@@ -150,6 +150,10 @@ export class LocalStorageService {
set(key: string, value: any) {
return localStorage.setItem(key, value);
}
delete(key: string) {
return localStorage.removeItem(key);
}
}
@Injectable()
......
......@@ -6,10 +6,10 @@
* @author liuzheng <liuzheng712@gmail.com>
*/
import {Component, OnInit} from '@angular/core';
import {AppService, HttpService, LogService} from '../../app.service';
import {AppService, HttpService, LocalStorageService, LogService} from '../../app.service';
import {CleftbarComponent} from '../../ControlPage/cleftbar/cleftbar.component';
import {ControlComponent, NavList} from '../../ControlPage/control/control.component';
import {DataStore} from '../../globals';
import {DataStore, i18n} from '../../globals';
import * as jQuery from 'jquery/dist/jquery.min.js';
// import * as layer from 'layui-layer/src/layer.js';
declare let layer: any;
......@@ -28,7 +28,8 @@ export class ElementNavComponent implements OnInit {
constructor(private _appService: AppService,
private _http: HttpService,
private _logger: LogService) {
private _logger: LogService,
private _localStorage: LocalStorageService) {
this._logger.log('nav.ts:NavComponent');
this.getnav();
}
......@@ -89,6 +90,14 @@ export class ElementNavComponent implements OnInit {
this.EnterLicense();
break;
}
case 'English': {
this.English();
break;
}
case 'Chinese': {
this.Language('cn');
break;
}
default: {
break;
}
......@@ -228,10 +237,25 @@ export class ElementNavComponent implements OnInit {
'click': 'BBS',
'name': 'BBS'
}]
}];
}, {
'id': 'Language',
'name': 'Language',
'children': [
{
'id': 'English',
'click': 'English',
'name': 'English'
},
{
'id': 'Chinese',
'click': 'Chinese',
'name': '中文'
}
]
}
];
}
Connect() {
layer.prompt({
formType: 2,
......@@ -248,4 +272,24 @@ export class ElementNavComponent implements OnInit {
});
}
English() {
this._localStorage.delete('lang');
i18n.clear();
}
Language(lan: string) {
this._http.get('/i18n/' + lan).subscribe(
data => {
this._localStorage.set('lang', JSON.stringify(data));
}
);
const l = this._localStorage.get('lang');
if (l) {
const data = JSON.parse(l);
Object.keys(data).forEach((k, _) => {
i18n.set(k, data[k]);
});
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment