今天碰到一个问题。就是使用i18n在调用t(‘key’)时,一般是直接返回当前语言文本。
比如我现在是简体。直接调用 t(‘commonBar.close’) 的话会返回简体 ‘关闭’。
但我现在这个地方返回其他语言,比如繁体。要怎么处理呢
查了文档,发现t函数以前是可以直接传第二个参数作为指定locale的
比如 t(‘commonBar.close’,‘zh-tw’)
但是在自己项目里面发现没有效果。看了下vue-i18n版本是9.1.10,也就是说这个参数只有在9.0之前有效。
新版本的正确使用方法如下
const title = t(‘commonBar.close’, 1, { locale: ‘zh-tw’ });
中间多了一个参数是plural,代表是否为复数。第三个参数才是其他的options传参。
详见https://github.com/intlify/vue-i18n/pull/1832