Skip to content

翻译函数

默认提供翻译函数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函数对要翻译的内容支持插值变量机制,可以用来实现复数等机制,详见插值变量