【问题标题】:How to find i18next missing keys如何找到 i18next 丢失的密钥
【发布时间】:2018-07-12 16:03:49
【问题描述】:

我正在使用 i18next 通过 typescript 国际化我的 React Web 应用程序。当我处理文本时,它会输出以下内容:

Running string extraction on source files
Finding source files to process
Running xgettext
Extracting text for language en
Translation file was found - merging translations
..............................
Read 1 old + 1 reference, merged 266, fuzzied 0, missing 30, obsolete 27.
Running xgettext
Extracting text for language fr
Translation file was found - merging translations
..............................
[... other languages]

所以我丢失了 30 个键,但不知何故我无法找到确切知道丢失了 30 个字符串键的方法...

我目前可以找到丢失键的唯一方法是,如果我打开浏览器的控制台,并且当我的 React 组件之一被渲染时,如果它包含丢失的键,它会打印:

i18next::translator: missingKey en translation my_missing_string my_missing_string

(是的,它在同一行打印两次)

但是,我不会尝试根据用例渲染每个可能的组件,因为我们有超过 300 个不同的字符串。

i18next 怎么能告诉我丢失了 30 个但无法显示哪些,我一定是丢失了一些东西。

【问题讨论】:

    标签: reactjs internationalization i18next


    【解决方案1】:

    您使用的是什么提取工具?似乎来自一些 gettext 实现 - 与 i18next 无关......

    尝试其中一种:

    【讨论】:

      【解决方案2】:

      This solution 提出了另一种方法,非常适合我们的团队:使用翻译文件作为类型,来验证翻译函数的参数。

      因此,TpeScript 将能够告诉您刚刚输入的密钥不存在,而不是查找丢失的密钥。

      【讨论】:

        猜你喜欢
        • 2018-06-02
        • 1970-01-01
        • 2021-10-20
        • 2016-01-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-18
        相关资源
        最近更新 更多