t
函数第一个参数的要求:
- 只能是纯字符串,不能包含变量,或者
JavaScript
语句 - 不能包含
\n
、\t
等特殊字符 - 开始和结尾不能包含空格
- 如果用
模板字符串
语法不能换行
不满足上面条件,可能会导致
翻译文案
提取不正确- 翻译结果不正确
以下是可以匹配到的
t('xxx')
t("xxx")
t(`xxx`)
以下是不会被匹配到的
const foo = 'foo'
const fooFunc = (x:string) => x
// 不满足纯字符串
t(foo)
t('xxx' + foo)
t(`${foo}`)
t(fooFunc(foo))
// 包含 \n 或者 \t
t('x\nx')
t('x\tx')
// 前后包含空格
t(' xxx')
t('xxx ')
t(' xxx ')
// 模板字符串语法中有换行
t(`
x
x
x
`)
如果需要拼接字符串,可以用 变量插值
t('我叫{0},今年{1}岁,来自{2},是一名{3}', '王尼玛', 35, '火星', '码农')