微信小程序 使用
由于微信小程序的构建过程由微信开发工具执行,所以为了不影响本地源文件代码,采用的方案是由@tc-i18n
生成转换后完整的项目文件,然后将新的项目文件在微信开发工具中运行上传。
一、安装插件
插件主要为提供翻译工具函数,类型vue-i18n
中的$t
函数,安装后,在项目代码中即可使用$t
函数进行翻译。
npm install @tci18n/miniprogram -D
二、初始化配置文件
init 命令用于生成配置文件,执行一次即可。
npx tci18n init
选择 微信小程序
执行完后,会在项目根目录下生成 tci18n.config.json 文件。
TIP
需要按照自己的实际需求修改 tci18n.config.json 配置文件,可以按照文件, 组件, 函数, 属性等维度, 自行决定哪些需要国际化,哪些不需要。
查看 tci18n.config.json 配置
三、修改 tci18n.config.json 配置文件
用来指定输出的项目文件夹目录, 最终会生成完整项目文件结构。
{
...
output: 'dist', // 制定输出的项目文件夹目录
}
四、提取语料
transform 命令用于提取语料,如果后续需要更新语料,重复执行此步骤即可。
npx tci18n transform
执行完成后,会将提取出来的语料数据存放在项目根目录下的 locale/langs.json 文件中。
{
"zh-cn": {
"你好": "你好",
...
}
}
语料翻译
注意:transform 提取出来的语料只是未翻译的语料,如果要实现真正翻译,需要自己接入翻译工具对其进行翻译,然后放在 locale/langs.json 文件中, 比如:
{
"zh-cn": {
"你好": "你好",
...
},
"en-us": {
"你好": "Hello",
...
}
}
五、使用语料和设置语种
微信小程序使用全局变量来控制当前语种和语料资源
globalThis.__tci18n_locale__
: 当前显示的语种keyglobalThis.__tci18n_langs__
: 翻译后的语料资源
将翻译好的 langs.json 语料资源存直接赋值给 globalThis.__tci18n_langs__
变量,然后通过切换 globalThis.__tci18n_locale__
变量来切换语种。
TIP
除了使用 __tci18n_locale__
和__tci18n_langs__
全局变量来设置语种和语料资源外,也可以利用本地存储来设置
语种取值逻辑是:globalThis.__tci18n_locale__ || wx.getStorageSync('tci18nLocale') || 'zh-cn'
语料资源取值逻辑是:globalThis.__tci18n_langs__ || wx.getStorageSync('tci18nLangs') || {}
后续切换语种,只需要修改 globalThis.__tci18n_locale__
变量即可。
然后再次执行 transform 命令,生成转换后的项目文件
六、运行项目
执行完 transform 命令后,会把转换后的项目文件输出到 output 配置的目录下,将新的项目文件导入在微信开发工具中运行即可。