翻译函数
默认提供翻译函数t
用来进行翻译。一般情况下,t
函数声明在执行voerkai18n compile
命令生成在工程目录下的languages/index.(js|ts)
文件中。
javascript
// 从当前语言包文件夹index.js中导入翻译函数
import { t } from "<myapp>/languages"
// 不含插值变量
t("中华人民共和国")
// 位置插值变量
t("中华人民共和国{}","万岁")
t("中华人民共和国成立于{}年,首都{}",1949,"北京")
// 当仅有两个参数且第2个参数是[]类型时,自动展开第一个参数进行位置插值
t("中华人民共和国成立于{year}年,首都{capital}",[1949,"北京"])
// 当仅有两个参数且第2个参数是{}类型时,启用字典插值变量
t("中华人民共和国成立于{year}年,首都{capital}",{year:1949,capital:"北京"})
// 插值变量可以是同步函数,在进行插值时自动调用。
t("中华人民共和国成立于{year}年,首都{capital}",()=>1949,"北京")
// 对插值变量启用格式化器
t("中华人民共和国成立于{birthday | year}年",{birthday:new Date()})
特别注意:
- 不要使用js的模板字符串来生成翻译内容,如t(
我是中国人,我喜欢%{car}
)是无效的。 voerkai18n
使用正则表达式来提取要翻译的内容,因此t("")
可以使用在任意地方。t
函数是一个普通函数,只需要提供执行环境就可以进行翻译,所以在任意React/Vue/Solid/Svelte
等框架中均可以使用t
函数来进行翻译。t
函数对要翻译的内容支持插值变量机制,可以用来实现复数等机制,详见插值变量。