summaryrefslogtreecommitdiff
path: root/UI source code/dns_mapping_ui-master/src/lang/index.js
diff options
context:
space:
mode:
authorunknown <[email protected]>2022-06-24 17:11:23 +0800
committerunknown <[email protected]>2022-06-24 17:11:23 +0800
commit8565e1bb597b481447d33bac6d8c48c2c45215de (patch)
treea4f10c8f7f85a1a8b5c947f7d0d2f967d808a9c4 /UI source code/dns_mapping_ui-master/src/lang/index.js
parent8165dfcc7bdb0b2e6f1c05f8e7c93553c0e7911e (diff)
upload UI source codeHEADmain
Diffstat (limited to 'UI source code/dns_mapping_ui-master/src/lang/index.js')
-rw-r--r--UI source code/dns_mapping_ui-master/src/lang/index.js63
1 files changed, 63 insertions, 0 deletions
diff --git a/UI source code/dns_mapping_ui-master/src/lang/index.js b/UI source code/dns_mapping_ui-master/src/lang/index.js
new file mode 100644
index 0000000..89a3bd8
--- /dev/null
+++ b/UI source code/dns_mapping_ui-master/src/lang/index.js
@@ -0,0 +1,63 @@
+// lang index.js
+
+import Vue from 'vue'
+import VueI18n from 'vue-i18n'
+import Cookies from 'js-cookie'
+// import { key2Culture } from '@/utils'
+import elementEnLocale from 'element-ui/lib/locale/lang/en' // element-ui lang
+import elementZhLocale from 'element-ui/lib/locale/lang/zh-CN'// element-ui lang
+import enLocale from './en'
+import zhLocale from './zh'
+
+Vue.use(VueI18n)
+
+// https://www.cnblogs.com/scode2/p/9098579.html
+// https://www.jianshu.com/p/df2550c6f1be
+// https://blog.csdn.net/Dream_xun/article/details/82743762
+const messages = {
+ 'en': {
+ ...enLocale,
+ ...elementEnLocale
+ },
+ 'zh': {
+ ...zhLocale,
+ ...elementZhLocale
+ }
+}
+export function getLanguage() {
+ const chooseLanguage = Cookies.get('language')
+ if (chooseLanguage) return chooseLanguage
+
+ // if has not choose language
+ let localeLang = 'zh'
+ const language = (navigator.language || navigator.browserLanguage).toLowerCase()
+ const locales = Object.keys(messages)
+ for (const locale of locales) {
+ if (language.indexOf(locale) > -1) {
+ // return locale
+ localeLang = locale
+ break
+ }
+ }
+
+ // save to cookie
+ Cookies.set('language', localeLang)
+ // const culture = key2Culture(localeLang)
+ // Cookies.set('.AspNetCore.Culture', `c=${culture}|uic=${culture}`)
+ Cookies.set('.AspNetCore.Culture', `c=${localeLang}|uic=${localeLang}`)
+
+ return localeLang
+}
+const i18n = new VueI18n({
+ // set locale
+ // options: en | zh | zh-tw
+ locale: getLanguage(),
+ // https://kazupon.github.io/vue-i18n/zh/guide/fallback.html
+ fallbackLocale: 'en',
+ silentFallbackWarn: true,
+ silentTranslationWarn: true,
+ // set locale messages
+ messages
+})
+
+export default i18n