当前位置: 首页 > article >正文

解决vue-i18n在非.vue文件中,在其他js文件中无法使用的问题

其实很简单,把i18n直接挂载到window上,全局可使用。下面请看详细。

一、安装
npm install vue-i18n@9
二、在vue的main.js中引入
import Vue from "vue"
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)//注入到所有的子组件,就是注册到全局,但是这里仅仅只能在vue文件中使用

// 引入你本地的语言包
import en from './lang/en.ts'
import zhCn from './lang/zh-cn.ts'
const messages = {
	en: { name: 'en', ...en},
	'zh-cn': {	name: 'zh-cn', ...zhCn}
}
const i18n = new VueI18n({
  // set locale
  locale: 'zh-cn'
  fallbackLocale: 'zh-cn', // 默认语言环境。如果locale中无匹配项则采用该项值
  messages: messages // set locale messages
  // silentTranslationWarn: true // 避免一些警告 (同时保留那些完全没有翻译给定关键字的警告),需初始化 VueI18n 实例时设置
})


window.$i18n = i18n // 这个全局可使用,包括vue,js等文件
export default i18n // 这一步导出给其他通过import的方式引用
三、使用

在vue文件中,如下使用

<div>{{ $t('hello') }}</div>

在js文件中的使用

<div>{{ window.$i18n.t('hello') }}</div>

http://www.kler.cn/a/460836.html

相关文章:

  • 硬件工程师面试题 21-30
  • Nginx - 整合lua 实现对POST请求的参数拦截校验(不使用Openresty)
  • USB射频微波功率计的功能与优势-盛铂科技
  • Java 代码编译和解析方法信息
  • 开源架构的容器化部署优化版
  • java中的基本数据类型有哪些?
  • Ubuntu 搭建SVN服务
  • 探索基于WebAssembly的下一代前端性能优化方案
  • 如何在谷歌浏览器中使用自定义CSS
  • 在pytest钩子函数中判断Android和iOS设备(方法一)
  • 【2024年-5月-28日-开源社区openEuler实践记录】走进 GCC:开源编译器的传奇之旅
  • ACE之ACE_Message_Queue
  • 《Java核心技术II》抽取子流和组合流
  • 攻破 kioprix level 4 靶机
  • C++语言编程————C++数据类型与表达式
  • 期权懂|国内场外期权都有哪些种类?
  • MybatisPlus查询更so easy
  • 数据结构与算法之动态规划: LeetCode 62. 不同路径 (Ts版)
  • 非常简单实用的前后端分离项目-仓库管理系统(Springboot+Vue)part 5(未实现预期目标)
  • Pytest 高级用法:间接参数化
  • 25考研希望渺茫,工作 VS 二战,怎么选?
  • 2024年RAG:回顾与展望
  • KEGG大更新:开启生物研究新纪元
  • 物联网技术在电商API接口中的应用实践
  • Spring Boot中使用Zookeeper实现分布式锁的案例
  • SQL相关子查询