目录 vue-i18n在单文件js中使用 示例 i18n如何在js文件中生效 下面是我研究出的解决方法 vue-i18n在单文件js中使用 示例 import Vue from 'vue'import VueI18n from 'vue-i18n'Vue.use(VueI18n)const i18n = new Vue
目录
- vue-i18n在单文件js中使用
- 示例
- i18n如何在js文件中生效
- 下面是我研究出的解决方法
vue-i18n在单文件js中使用
示例
import Vue from 'vue' import VueI18n from 'vue-i18n' Vue.use(VueI18n) const i18n = new VueI18n({ locale: localStorage.getItem('userLanguage') : 'zh', messages: { 'zh': require('../assets/i18n/zh'), // 中文语言包 'en': require('../assets/i18n/en') // 英文语言包 } }) export default { // ... tipMsg: { // 使用 phone: i18n.t('TipPhoneFormatError'), password: i18n.t('Password'), } };
i18n如何在js文件中生效
在vue项目中引用vue-i18n实现语言切换功能,开发过程中发现,在vue文件中使用都可以,但是在js文件中直接使用$t('zhKey.首页')是不生效的。
下面是我研究出的解决方法
// js文件中 import Vue from 'vue' import VueI18n from 'vue-i18n' import messages from 'unisoc-ui/js/i18n/langs' Vue.use(VueI18n) // 这里一行是必须加的。 // 在该js文件中,单独注册一个i18n实例并引入语言文件 const i18n = new VueI18n({ locale: localStorage.lang || 'Zh_CN', messages: messages }) let mainNavlist = [] mainNavlist = [ { icon: 'iconuser', title: i18n.t('zhKey.首页'), url: '/' } ]
以上为个人经验,希望能给大家一个参考,也希望大家多多支持易盾网络。