如果未找到密钥的翻译,默认情况下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}"`;
    }
})

关于javascript - 让i18next退回到 'NO TRANSLATION',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41708626/

10-13 00:54