关于vue-i18n在单文件js中的使用
作者:艾欢欢
这篇文章主要介绍了关于vue-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: '/' } ]
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。