-
Notifications
You must be signed in to change notification settings - Fork 464
/
Copy pathapp.js
80 lines (71 loc) · 2.1 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
angular
.module('web', [
'ui.router',
'ui.bootstrap',
'ui.codemirror',
'pascalprecht.translate',
'ngSanitize',
'templates',
'ui.bootstrap.contextMenu'
])
.config([
'$stateProvider',
'$urlRouterProvider',
'$translateProvider',
function($stateProvider, $urlRouterProvider, $translateProvider) {
moment.locale('zh-CN');
$stateProvider
.state('files', {
url: '/',
templateUrl: 'main/files/files.html',
controller: 'filesCtrl'
})
.state('login', {
url: '/login',
templateUrl: 'main/auth/login.html',
controller: 'loginCtrl'
});
$urlRouterProvider.otherwise('/');
// i18n
for (var k in Global.i18n) {
$translateProvider.translations(k, Global.i18n[k].content);
}
$translateProvider.preferredLanguage('zh-CN');
$translateProvider.useSanitizeValueStrategy('escapeParameters');
}
])
.run([
'$rootScope',
'$translate',
'Toast',
function($rootScope, $translate, Toast) {
$rootScope.openURL = function(url) {
openExternal(url);
};
// //i18n
var langMap = {};
var langList = [];
angular.forEach(Global.i18n, function(v, k) {
langMap[k] = v;
langList.push({
lang: k,
label: v.label
});
});
var lang = localStorage.getItem('lang') || langList[0].lang;
$rootScope.langSettings = {
langList: langList,
lang: lang,
changeLanguage: function(key) {
console.log('changeLanguage:', key);
key = langMap[key] ? key : langList[0].lang;
$translate.use(key);
localStorage.setItem('lang', key);
$rootScope.langSettings.lang = key;
Toast.success($translate.instant('setup.success')); // '已经设置成功'
}
};
$translate.use(lang);
console.log('ready');
}
]);