File tree Expand file tree Collapse file tree 5 files changed +30
-18
lines changed Expand file tree Collapse file tree 5 files changed +30
-18
lines changed Original file line number Diff line number Diff line change @@ -24,11 +24,24 @@ const messages = {
24
24
...elementEsLocale
25
25
}
26
26
}
27
+ export function getLanguage ( ) {
28
+ const chooseLanguage = Cookies . get ( 'language' )
29
+ if ( chooseLanguage ) return chooseLanguage
27
30
31
+ // if has not choose language
32
+ const language = ( navigator . language || navigator . browserLanguage ) . toLowerCase ( )
33
+ const locales = Object . keys ( messages )
34
+ for ( const locale of locales ) {
35
+ if ( language . indexOf ( locale ) > - 1 ) {
36
+ return locale
37
+ }
38
+ }
39
+ return 'en'
40
+ }
28
41
const i18n = new VueI18n ( {
29
42
// set locale
30
43
// options: en | zh | es
31
- locale : Cookies . get ( 'language' ) || 'en' ,
44
+ locale : getLanguage ( ) ,
32
45
// set locale messages
33
46
messages
34
47
} )
Original file line number Diff line number Diff line change 1
1
import Vue from 'vue'
2
2
import Vuex from 'vuex'
3
- import app from './modules/app'
4
- import errorLog from './modules/errorLog'
5
- import permission from './modules/permission'
6
- import tagsView from './modules/tagsView'
7
- import settings from './modules/settings'
8
- import user from './modules/user'
9
3
import getters from './getters'
10
4
11
5
Vue . use ( Vuex )
12
6
7
+ // https://webpack.js.org/guides/dependency-management/#requirecontext
8
+ const modulesFiles = require . context ( './modules' , false , / \. j s $ / )
9
+
10
+ // you do not need `import app from './modules/app'`
11
+ // it will auto require all vuex module from modules file
12
+ const modules = modulesFiles . keys ( ) . reduce ( ( modules , modulePath ) => {
13
+ // set './app.js' => 'app'
14
+ const moduleName = modulePath . replace ( / ^ \. \/ ( .* ) \. \w + $ / , '$1' )
15
+ const value = modulesFiles ( modulePath )
16
+ modules [ moduleName ] = value . default
17
+ return modules
18
+ } , { } )
19
+
13
20
const store = new Vuex . Store ( {
14
- modules : {
15
- app,
16
- errorLog,
17
- permission,
18
- tagsView,
19
- settings,
20
- user
21
- } ,
21
+ modules,
22
22
getters
23
23
} )
24
24
Original file line number Diff line number Diff line change 1
1
import Cookies from 'js-cookie'
2
+ import { getLanguage } from '@/lang/index'
2
3
3
4
const state = {
4
5
sidebar : {
5
6
opened : Cookies . get ( 'sidebarStatus' ) ? ! ! + Cookies . get ( 'sidebarStatus' ) : true ,
6
7
withoutAnimation : false
7
8
} ,
8
9
device : 'desktop' ,
9
- language : Cookies . get ( 'language' ) || 'en' ,
10
+ language : getLanguage ( ) ,
10
11
size : Cookies . get ( 'size' ) || 'medium'
11
12
}
12
13
Original file line number Diff line number Diff line change 1
-
2
1
const state = {
3
2
logs : [ ]
4
3
}
Original file line number Diff line number Diff line change 1
-
2
1
const state = {
3
2
visitedViews : [ ] ,
4
3
cachedViews : [ ]
You can’t perform that action at this time.
0 commit comments