当前位置 : 主页 > 网络编程 > JavaScript >

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

来源:互联网 收集:自由互联 发布时间:2023-02-08
目录 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: '/'
  }
]

以上为个人经验,希望能给大家一个参考,也希望大家多多支持易盾网络。

上一篇:Vue中的文字换行问题
下一篇:没有了
网友评论