@@ -12,6 +12,7 @@ import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN'
1212import enUS from ' ant-design-vue/lib/locale-provider/en_US'
1313import { AppDeviceEnquire } from ' @/utils/mixin'
1414import { debounce } from ' ./utils/util'
15+ import { getSystemLanguage } from ' @/api/system.js'
1516
1617import { h } from ' snabbdom'
1718import { DomEditor , Boot } from ' @wangeditor/editor'
@@ -45,8 +46,7 @@ export default {
4546 },
4647 },
4748 created () {
48- this .SET_LOCALE (localStorage .getItem (' ops_locale' ) || ' zh' )
49- this .$i18n .locale = localStorage .getItem (' ops_locale' ) || ' zh'
49+ this .initLanguage ()
5050 this .timer = setInterval (() => {
5151 this .setTime (new Date ().getTime ())
5252 }, 1000 )
@@ -200,6 +200,28 @@ export default {
200200 this .alive = true
201201 })
202202 },
203+ async initLanguage () {
204+ let saveLocale = localStorage .getItem (' ops_locale' )
205+ if (! saveLocale) {
206+ let requestLanguage = ' '
207+ try {
208+ const languageRes = await getSystemLanguage ()
209+ requestLanguage = languageRes? .language || ' '
210+ } catch (e) {
211+ console .error (' getSystemLanguage error:' , e)
212+ }
213+
214+ // request language variable || user local system language
215+ const userLanguage = requestLanguage || navigator .language || navigator .userLanguage
216+ if (userLanguage .includes (' zh' )) {
217+ saveLocale = ' zh'
218+ } else {
219+ saveLocale = ' en'
220+ }
221+ }
222+ this .SET_LOCALE (saveLocale)
223+ this .$i18n .locale = saveLocale
224+ }
203225 },
204226}
205227< / script>
0 commit comments