网络编程
位置:首页>> 网络编程>> JavaScript>> 关于vue-i18n在单文件js中的使用

关于vue-i18n在单文件js中的使用

作者:艾欢欢  发布时间:2024-05-09 09:38:48 

标签: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: '/'
 }
]

来源:https://blog.csdn.net/AiHuanhuan110/article/details/100099949

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com