Vue.use(VueI18n)
// 定义对应语言键,展开对应的键值对应表
const messages = {
en: {
…enLocale,
…elementEnLocale
},
zh: {
…zhLocale,
…elementZhLocale
}
}
其中message就是一个两个语言(en/zh)字典下的对照表,包含各自对应键值下的内容。
然后整个index.js文件就是公布对应的多语言处理接口和属性。
const i18n = new VueI18n({
locale: getLanguage(),
messages
})
export default i18n
然后在main.js函数里面处理国际化的处理即可:
Vue.use(ElementUI, {
size: Cookies.get(‘size’) || ‘medium’, // set element-ui default size
i18n: (key, value) => i18n.t(key, value) })
new Vue({
el: ‘#app’,
router,
store,
i18n,
render: h => h(App)
})
====================================================================
首先,我们编辑一下对应国际化的键值内容,例如中文参照如下所示。
例如对应登录界面上,界面效果如下所示。
或者
其中里面的文本内容,我们都是以国际化处理内容。
如登陆表单里面的代码如下所示。
<el-input
v-model=“loginForm.username”
class=“area”
type=“text”
:placeholder=“$t(‘login.username’)”
prefix-icon=“el-icon-user-solid”
@keyup.enter.native=“submitForm(‘loginForm’)”
/>
<el-input
v-model=“loginForm.password”
class=“area”
type=“password”
:placeholder=“$t(‘login.password’)”
prefix-icon=“el-icon-lock”
@keyup.enter.native=“submitForm(‘loginForm’)”
/>
<el-button :loading=“loading” type=“primary” class=“submit_btn” @click=“submitForm(‘loginForm’)”>{{ $t(‘login.logIn’) }}
{{ $t(‘login.username’) }} : admin
{{ $t(‘login.password’) }} : {{ $t(‘login.any’) }}
我们多处采用了类似 t ( ′ l o g i n . u s e r n a m e ′ ) 的 函 数 处 理 方 式 来 动 态 获 取 对 应 语 言 的 内 容 即 可 , 其 中 t(‘login.username’) 的函数处理方式来动态获取对应语言的内容即可,其中 t(′login.username′)的函数处理方式来动态获取对应语言的内容即可,其中t()函数里面就是对应的语义解析的键参数,对应我们lang/zh.js里面或者lang/en.js里面的内容即可。
其中多语言切换的时候,单击图标就可以切换为其他语言内容了。
切换英文后界面如下所示:
同样,其他地方,如果需要切换多语言的国际化处理,也可以使用$t的转义方式,在顶部导航栏里面,我们可以设置得到多语言支持的界面。
中文界面提示如下所示。
这部分的实现代码是在组件模块里面,一样可以实现国际化的处理的。