1.安装插件vue-i18n,在hbuilder x中打开内置的终端,输入npm install vue-i18n@9jing进行安装,顺利的话几秒就安装好了,此时项目根目录下会出现node_modules文件夹,里面就有下载好的vue-i18n插件。
2.在项目根目录下自己新建一个目录(也就是文件夹),然后自己给文件夹取个名字,我取名叫lang,然后在lang中建立三个空白文件,分别是zh.json、en.json和index.js。
3.编写index.js,代码如下:
import en from './en.json'; // 自己要写的英文包文件
import zh from './zh.json'; // 自己要写的中文包文件
export default{
en,
zh
}
4.编写zh.json和en.json,这一步或者做完第5步再做也行,文件中采用键值对的方式书写,键就是之后要使用的变量名,值就是具体要替换成的内容,举例如下:
//在zh.json中
{
"settings": "设置屋",
"theme" : "主题",
"light": "白天",
"night": "夜晚",
"button": "按键",
"sound": "按键声音",
"vibration": "振动效果",
"language": "语言",
"chinese": "中文",
"english": "英文",
"other": "其他",
"feedback": "反馈",
"about": "关于",
"support": "支持"
}
//在en.json中
{
"settings": "Settings",
"theme": "Theme",
"light": "Light",
"night": "Night",
"button": "Button",
"sound": "Sound Effect",
"vibration": "Vibration",
"language": "Language",
"chinese": "Chinese",
"english": "English",
"other": "Other",
"feedback": "Feedback",
"about": "About",
"support": "Support"
}
5.在项目根目录下找到main.js这个文件:
打开main.js,在合适的位置插入如下代码:
import messages from './lang/index.js'
import { createI18n } from "vue-i18n";
let i18nConfig = {
locale: uni.getLocale(),
messages,
legacy: false,
silentTranslationWarn: true,
missingWarn: false,
silentFallbackWarn: true,
fallbackWarn: false,
fallbackLocale: false,
}
const i18n = createI18n(i18nConfig)
app.use(i18n)
插入代码后的情况:
6.然后打开要进行中英切换的页面文件,在<script setup></script>使用国际化,在template中使用的话与这个差不多,也要在<script setup></script>做一样的引入,使用一样的t函数,在标签(组件)中使用的话,要加双大括号{{}}。