如果未找到密钥的翻译,默认情况下,i18next翻译库似乎会回退到翻译密钥。
// No translation defined for CANCEL yet i18next.t('CANCEL') // Returns 'CANCEL'
如果找不到该键的翻译,我希望回退到一条独特的消息,该消息可以很明显地表明我们错过了翻译或输入了错误的翻译键。最好在消息中提及密钥,例如
i18next.t('CANCEL') // Returns 'No translation found for "CANCEL"'
某种后备回调函数将是理想的,因为这样我们也可以登录到控制台/远程服务来查找所有缺少的翻译。
如何使用i18next库实现类似的功能?
因此,事实证明,i18next会在初始化时在选项中接受一个处理程序,使您可以为缺少的键设置值。
i18n.init({ ... saveMissing: true, // Must be set to true parseMissingKeyHandler: (key: string) => { return `No translation found for "${key}"`; } })