✨ vue add i18n
Former-commit-id: 93a57ab73023e37e7bd418f4221db12507653d74 [formerly 93a57ab73023e37e7bd418f4221db12507653d74 [formerly 93a57ab73023e37e7bd418f4221db12507653d74 [formerly 93a57ab73023e37e7bd418f4221db12507653d74 [formerly 331c42f3cf9c23bf114ea692b3aa23662d0963a5 [formerly a5f9f2449758fcc55395ccba72fb785b1764b593]]]]] Former-commit-id: 2084d2f5552ba9ed91ce295cf7bc04e4d2a64e49 Former-commit-id: eb82e859e47e2ec91f48023c705189e538b986e8 Former-commit-id: 4f1713142447f154592c4b74fb5e167df4287be1 [formerly 6daa81e0511c54daab83f96ff69c37b0cd55cc55] Former-commit-id: 90771d09b3356812c438fa9cb8fa713c7fe86762 Former-commit-id: 58b881a85f8baab6e6ef578575953de17bff0d40 Former-commit-id: aef4bbe6556d4bc4b6eb561c28148dd8b4395cbf Former-commit-id: b12df0763e624fb55c9832ce4c7ec93ec881b19b Former-commit-id: 06c2000def6d103aff231bd7a53a02d9ace87ca2
This commit is contained in:
parent
cb65b56ce9
commit
810407cde0
9
.env
9
.env
|
|
@ -1,10 +1,5 @@
|
||||||
# 所有环境默认
|
|
||||||
|
|
||||||
# 页面 title 前缀
|
|
||||||
VUE_APP_TITLE=D2Admin
|
VUE_APP_TITLE=D2Admin
|
||||||
|
|
||||||
# 网络请求公用地址
|
|
||||||
VUE_APP_API=/api/
|
VUE_APP_API=/api/
|
||||||
|
|
||||||
# 仓库地址
|
|
||||||
VUE_APP_REPO=https://github.com/d2-projects/d2-admin
|
VUE_APP_REPO=https://github.com/d2-projects/d2-admin
|
||||||
|
VUE_APP_I18N_LOCALE=en
|
||||||
|
VUE_APP_I18N_FALLBACK_LOCALE=en
|
||||||
|
|
|
||||||
11
package.json
11
package.json
|
|
@ -3,13 +3,14 @@
|
||||||
"version": "1.7.0",
|
"version": "1.7.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "vue-cli-service serve --open",
|
"serve": "vue-cli-service serve --open",
|
||||||
"start": "npm run serve",
|
|
||||||
"dev": "npm run serve",
|
|
||||||
"build": "vue-cli-service build",
|
"build": "vue-cli-service build",
|
||||||
|
"lint": "vue-cli-service lint --fix",
|
||||||
|
"build:netlify": "vue-cli-service build --mode netlify",
|
||||||
"build:nomock": "vue-cli-service build --mode nomock",
|
"build:nomock": "vue-cli-service build --mode nomock",
|
||||||
"build:travis": "vue-cli-service build --mode travis",
|
"build:travis": "vue-cli-service build --mode travis",
|
||||||
"build:netlify": "vue-cli-service build --mode netlify",
|
"dev": "npm run serve",
|
||||||
"lint": "vue-cli-service lint --fix",
|
"i18n:report": "vue-cli-service i18n:report --src './src/**/*.?(js|vue)' --locales './src/locales/**/*.json'",
|
||||||
|
"start": "npm run serve",
|
||||||
"test:unit": "vue-cli-service test:unit"
|
"test:unit": "vue-cli-service test:unit"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
@ -45,6 +46,7 @@
|
||||||
"v-contextmenu": "^2.8.0",
|
"v-contextmenu": "^2.8.0",
|
||||||
"vue": "^2.6.10",
|
"vue": "^2.6.10",
|
||||||
"vue-grid-layout": "^2.3.4",
|
"vue-grid-layout": "^2.3.4",
|
||||||
|
"vue-i18n": "^8.0.0",
|
||||||
"vue-json-tree-view": "^2.1.4",
|
"vue-json-tree-view": "^2.1.4",
|
||||||
"vue-router": "^3.0.3",
|
"vue-router": "^3.0.3",
|
||||||
"vue-splitpane": "^1.0.4",
|
"vue-splitpane": "^1.0.4",
|
||||||
|
|
@ -68,6 +70,7 @@
|
||||||
"svg-sprite-loader": "^4.1.3",
|
"svg-sprite-loader": "^4.1.3",
|
||||||
"text-loader": "0.0.1",
|
"text-loader": "0.0.1",
|
||||||
"uglifyjs-webpack-plugin": "^2.1.2",
|
"uglifyjs-webpack-plugin": "^2.1.2",
|
||||||
|
"vue-cli-plugin-i18n": "^0.6.0",
|
||||||
"vue-template-compiler": "^2.5.21"
|
"vue-template-compiler": "^2.5.21"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
import Vue from 'vue'
|
||||||
|
import VueI18n from 'vue-i18n'
|
||||||
|
|
||||||
|
Vue.use(VueI18n)
|
||||||
|
|
||||||
|
function loadLocaleMessages () {
|
||||||
|
const locales = require.context('./locales', true, /[A-Za-z0-9-_,\s]+\.json$/i)
|
||||||
|
const messages = {}
|
||||||
|
locales.keys().forEach(key => {
|
||||||
|
const matched = key.match(/([A-Za-z0-9-_]+)\./i)
|
||||||
|
if (matched && matched.length > 1) {
|
||||||
|
const locale = matched[1]
|
||||||
|
messages[locale] = locales(key)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return messages
|
||||||
|
}
|
||||||
|
|
||||||
|
export default new VueI18n({
|
||||||
|
locale: process.env.VUE_APP_I18N_LOCALE || 'en',
|
||||||
|
fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || 'en',
|
||||||
|
messages: loadLocaleMessages()
|
||||||
|
})
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"message": "hello i18n !!"
|
||||||
|
}
|
||||||
|
|
@ -31,6 +31,7 @@ import d2VueFiltersDayjs from '@d2-admin/filters-dayjs'
|
||||||
import router from './router'
|
import router from './router'
|
||||||
import { menuHeader, menuAside } from '@/menu'
|
import { menuHeader, menuAside } from '@/menu'
|
||||||
import { frameInRoutes } from '@/router/routes'
|
import { frameInRoutes } from '@/router/routes'
|
||||||
|
import i18n from './i18n'
|
||||||
|
|
||||||
// 核心插件
|
// 核心插件
|
||||||
Vue.use(d2Admin)
|
Vue.use(d2Admin)
|
||||||
|
|
@ -52,6 +53,7 @@ new Vue({
|
||||||
router,
|
router,
|
||||||
store,
|
store,
|
||||||
render: h => h(App),
|
render: h => h(App),
|
||||||
|
|
||||||
created () {
|
created () {
|
||||||
// 处理路由 得到每一级的路由设置
|
// 处理路由 得到每一级的路由设置
|
||||||
this.$store.commit('d2admin/page/init', frameInRoutes)
|
this.$store.commit('d2admin/page/init', frameInRoutes)
|
||||||
|
|
@ -60,6 +62,7 @@ new Vue({
|
||||||
// 初始化菜单搜索功能
|
// 初始化菜单搜索功能
|
||||||
this.$store.commit('d2admin/search/init', menuHeader)
|
this.$store.commit('d2admin/search/init', menuHeader)
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted () {
|
mounted () {
|
||||||
// 展示系统信息
|
// 展示系统信息
|
||||||
this.$store.commit('d2admin/releases/versionShow')
|
this.$store.commit('d2admin/releases/versionShow')
|
||||||
|
|
@ -70,6 +73,9 @@ new Vue({
|
||||||
// 初始化全屏监听
|
// 初始化全屏监听
|
||||||
this.$store.dispatch('d2admin/fullscreen/listen')
|
this.$store.dispatch('d2admin/fullscreen/listen')
|
||||||
},
|
},
|
||||||
|
|
||||||
|
i18n,
|
||||||
|
|
||||||
watch: {
|
watch: {
|
||||||
// 检测路由变化切换侧边栏内容
|
// 检测路由变化切换侧边栏内容
|
||||||
'$route.matched': {
|
'$route.matched': {
|
||||||
|
|
|
||||||
|
|
@ -12,11 +12,15 @@ process.env.VUE_APP_BUILD_TIME = require('dayjs')().format('YYYY-M-D HH:mm:ss')
|
||||||
let publicPath = '/'
|
let publicPath = '/'
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
publicPath, // 根据你的实际情况更改这里
|
// 根据你的实际情况更改这里
|
||||||
|
publicPath,
|
||||||
|
|
||||||
lintOnSave: true,
|
lintOnSave: true,
|
||||||
|
|
||||||
devServer: {
|
devServer: {
|
||||||
publicPath // 和 publicPath 保持一致
|
publicPath // 和 publicPath 保持一致
|
||||||
},
|
},
|
||||||
|
|
||||||
css: {
|
css: {
|
||||||
loaderOptions: {
|
loaderOptions: {
|
||||||
// 设置 scss 公用变量文件
|
// 设置 scss 公用变量文件
|
||||||
|
|
@ -25,6 +29,7 @@ module.exports = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// 默认设置: https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-service/lib/config/base.js
|
// 默认设置: https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-service/lib/config/base.js
|
||||||
chainWebpack: config => {
|
chainWebpack: config => {
|
||||||
/**
|
/**
|
||||||
|
|
@ -105,5 +110,14 @@ module.exports = {
|
||||||
.add('@/mock')
|
.add('@/mock')
|
||||||
.end()
|
.end()
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
pluginOptions: {
|
||||||
|
i18n: {
|
||||||
|
locale: 'en',
|
||||||
|
fallbackLocale: 'en',
|
||||||
|
localeDir: 'locales',
|
||||||
|
enableInSFC: false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
1de11ec632cee64f600400ccff46f90fd4761a05
|
||||||
Loading…
Reference in New Issue