From dc1926a8d4a2ef5f9a61d529bc636c13960e7c7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=AF=E5=BB=BA=E5=86=9B?= Date: Fri, 4 Nov 2022 18:05:41 +0800 Subject: [PATCH] feat: Added Internationalization(vue-i18n) --- hippo4j-server/hippo4j-ui/package.json | 3 +- .../src/layout/components/Navbar.vue | 8 +-- .../hippo4j-ui/src/locale/config.js | 28 ++++++++++ hippo4j-server/hippo4j-ui/src/locale/index.js | 10 ++++ .../hippo4j-ui/src/locale/lang/en.js | 3 ++ .../hippo4j-ui/src/locale/lang/zh.js | 3 ++ .../hippo4j-ui/src/locale/langChange.vue | 53 +++++++++++++++++++ hippo4j-server/hippo4j-ui/src/main.js | 3 ++ hippo4j-server/hippo4j-ui/vue.config.js | 2 +- 9 files changed, 108 insertions(+), 5 deletions(-) create mode 100644 hippo4j-server/hippo4j-ui/src/locale/config.js create mode 100644 hippo4j-server/hippo4j-ui/src/locale/index.js create mode 100644 hippo4j-server/hippo4j-ui/src/locale/lang/en.js create mode 100644 hippo4j-server/hippo4j-ui/src/locale/lang/zh.js create mode 100644 hippo4j-server/hippo4j-ui/src/locale/langChange.vue diff --git a/hippo4j-server/hippo4j-ui/package.json b/hippo4j-server/hippo4j-ui/package.json index bbe30325..9adc89b8 100755 --- a/hippo4j-server/hippo4j-ui/package.json +++ b/hippo4j-server/hippo4j-ui/package.json @@ -59,6 +59,7 @@ "vue": "2.6.10", "vue-cookie": "^1.1.4", "vue-count-to": "1.0.13", + "vue-i18n": "^6.1.3", "vue-router": "3.0.2", "vue-splitpane": "1.0.4", "vue2-jsoneditor": "^1.0.6", @@ -68,7 +69,7 @@ "devDependencies": { "@babel/core": "7.0.0", "@babel/register": "7.0.0", - "@vue/cli-plugin-babel": "3.5.3", + "@vue/cli-plugin-babel": "~4", "@vue/cli-plugin-eslint": "3.5.1", "@vue/cli-plugin-unit-jest": "3.5.3", "@vue/cli-service": "3.5.3", diff --git a/hippo4j-server/hippo4j-ui/src/layout/components/Navbar.vue b/hippo4j-server/hippo4j-ui/src/layout/components/Navbar.vue index 612126a8..71b97908 100755 --- a/hippo4j-server/hippo4j-ui/src/layout/components/Navbar.vue +++ b/hippo4j-server/hippo4j-ui/src/layout/components/Navbar.vue @@ -18,7 +18,7 @@ - +
@@ -45,12 +45,14 @@ import Breadcrumb from '@/components/Breadcrumb' import Hamburger from '@/components/Hamburger' import ErrorLog from '@/components/ErrorLog' + import langChange from '@/locale/langChange' export default { components: { Breadcrumb, Hamburger, - ErrorLog + ErrorLog, + langChange }, computed: { ...mapGetters([ @@ -106,7 +108,7 @@ float: right; height: 100%; line-height: 50px; - + display: flex; &:focus { outline: none; } diff --git a/hippo4j-server/hippo4j-ui/src/locale/config.js b/hippo4j-server/hippo4j-ui/src/locale/config.js new file mode 100644 index 00000000..2f969699 --- /dev/null +++ b/hippo4j-server/hippo4j-ui/src/locale/config.js @@ -0,0 +1,28 @@ +// 导入elementUi默认中英文语言包 +import elZh from 'element-ui/lib/locale/lang/zh-CN' +import elEn from 'element-ui/lib/locale/lang/en' + +import zh from './lang/zh' +import en from './lang/en' + +export const i18nConfig = { + locale: 'en', // 默认语种 + messages: { + zh: { ...zh, ...elZh }, // 中文包 + en: { ...en, ...elEn } // 英文包 + } +} + + +export const langSelectList = () => { + return [ + { + lang: 'zh', + name: '中文' + }, + { + lang: 'en', + name: 'English' + } + ] +} diff --git a/hippo4j-server/hippo4j-ui/src/locale/index.js b/hippo4j-server/hippo4j-ui/src/locale/index.js new file mode 100644 index 00000000..408134bc --- /dev/null +++ b/hippo4j-server/hippo4j-ui/src/locale/index.js @@ -0,0 +1,10 @@ +import Vue from 'vue' +import VueI18n from 'vue-i18n' + +import { i18nConfig } from './config' + +Vue.use(VueI18n) + +const i18n = new VueI18n(i18nConfig) + +export default i18n diff --git a/hippo4j-server/hippo4j-ui/src/locale/lang/en.js b/hippo4j-server/hippo4j-ui/src/locale/lang/en.js new file mode 100644 index 00000000..5ea60925 --- /dev/null +++ b/hippo4j-server/hippo4j-ui/src/locale/lang/en.js @@ -0,0 +1,3 @@ +export default { + +} diff --git a/hippo4j-server/hippo4j-ui/src/locale/lang/zh.js b/hippo4j-server/hippo4j-ui/src/locale/lang/zh.js new file mode 100644 index 00000000..03048022 --- /dev/null +++ b/hippo4j-server/hippo4j-ui/src/locale/lang/zh.js @@ -0,0 +1,3 @@ +export default { + +} diff --git a/hippo4j-server/hippo4j-ui/src/locale/langChange.vue b/hippo4j-server/hippo4j-ui/src/locale/langChange.vue new file mode 100644 index 00000000..fcb87737 --- /dev/null +++ b/hippo4j-server/hippo4j-ui/src/locale/langChange.vue @@ -0,0 +1,53 @@ + + + diff --git a/hippo4j-server/hippo4j-ui/src/main.js b/hippo4j-server/hippo4j-ui/src/main.js index 28d415d5..44f539b8 100755 --- a/hippo4j-server/hippo4j-ui/src/main.js +++ b/hippo4j-server/hippo4j-ui/src/main.js @@ -17,6 +17,7 @@ import './icons'; // icon import './permission'; // permission control // import './utils/error-log' // error log +import i18n from '@/locale' import * as filters from './filters'; // global filters import echarts from 'echarts'; Vue.prototype.$echarts = echarts; @@ -25,6 +26,7 @@ Vue.prototype.$cookie = cookie; Vue.use(Element, { size: Cookies.get('size') || 'medium', // set element-ui default size + i18n: (key, value) => i18n.t(key, value) }); // register global utility filters @@ -38,5 +40,6 @@ new Vue({ el: '#app', router, store, + i18n, render: (h) => h(App), }); diff --git a/hippo4j-server/hippo4j-ui/vue.config.js b/hippo4j-server/hippo4j-ui/vue.config.js index 8eff1b83..d54aa0c9 100755 --- a/hippo4j-server/hippo4j-ui/vue.config.js +++ b/hippo4j-server/hippo4j-ui/vue.config.js @@ -35,7 +35,7 @@ module.exports = { }, proxy: { '/hippo4j/v1/cs': { - target: `http://127.0.0.1:6691/hippo4j/v1/cs`, + target: `http://console.hippo4j.cn:80/hippo4j/v1/cs`, changOrigin: true, secure: false, pathRewrite: {