如果没有找到该密钥的翻译,默认情况下i18next翻译库似乎会回退到翻译密钥,例如
// No translation defined for CANCEL yet
i18next.t('CANCEL') // Returns 'CANCEL'
如果没有找到该密钥的翻译,我宁愿回溯到一条与众不同的消息,这些消息很明显我们错过了翻译或错误输入了翻译密钥。最好在消息中提及密钥,例如
i18next.t('CANCEL') // Returns 'No translation found for "CANCEL"'
某种回退回调函数是理想的,因为我们也可以登录控制台/远程服务任何缺失的翻译。
如何使用i18next库实现这样的目标?
答案 0 :(得分:2)
So it turns out i18next accepts a handler in the options when initialising that lets you set the value for missing keys.
i18n.init({
...
saveMissing: true, // Must be set to true
parseMissingKeyHandler: (key: string) => {
return `No translation found for "${key}"`;
}
})
答案 1 :(得分:0)
根据official documentation saveMissing
,<{1}}需要 才能工作。没有它我的代码工作正常。