如何在Vue3中配置国际化语言i18n
1. 安装 vue-i18n
npm i vue-i18n -S
2. 创建一个i8n的配置文件 如:i18nConfig.js
// 配置 vue-i18n 实现国际化语言设置
import { createI19n } from 'vue-i18n'
import zh_cn from '../language/zh-CN'
import en_us from '../language/en-US'
import CONFIG from '../../confing'
const messages = {
// 目前只配置了中英两种语言
'zhCn': zh_cn,
'en': en_US
}
const lang = CONFIG.locale
const i18n = createI18n({
legacy: false,
locale: lang, // 选择使用哪种语言
messages
})
export default i18n
3. 新建语言文件 zh-CN.js 和 en-US.js
- zh-CN.js 文件
// zh-CN.js 文件
const zh = {
hello: '你好',
// 根据业务需要,还可以分组规划,让代码更清晰
homeModule: {
hi: '嗨'
}
}
export default zh
- en-US.js 文件
// en-US.js 文件
const en = {
hello: 'hello',
// 根据业务需要,还可以分组规划,让代码更清晰
homeModule: {
hi: 'hi'
}
}
export default en
- CONFIG.js 文件
// CONFIG.js 文件
const CONFIG = {
locale: 'zhCN' // zhCn —— 中文,en —— 英文
}
export default CONFIG
4. 在 main.js 里面全局配置
// main.js 文件
......
import i18n from '../src/language/i18nConfig'
......
app.use(i18n)
......
通过上面四步即可配置完毕
下面说一下如何使用,分三种情况
- 在 .vue 组件中的 template 使用
<template>
<div>{{ $t('hello') }}</div>
<div>{{ $t('homeModule.hi') }}</div>
</template>
- 在 .vue 组件中的 script 中使用
<script setup>
const instance = getCurrentInstance() // 获取当前组件实例
const $t = instance.appContext.config.globalProperties.$t
console.log($t('hello'))
console.log($t('homeModule.hi'))
</script>
- 在 .js 文件中使用
import i18n from '/src/language/i18nConfig'
const $t = i18n.global.t
console.log($t('hello'))
console.log($t('homeModule.hi'))
本文到此便已经记录完毕,仅作为对工作中遇到的一些问题的记录,方便后面翻看,如有大佬有更好的方法,感谢不吝赐教!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)