【问题标题】:Using number variables with i18next.t() for generating gettext .po files使用带有 i18next.t() 的数字变量来生成 gettext .po 文件
【发布时间】:2021-08-30 09:03:36
【问题描述】:

我正在为翻译人员生成.po 文件。我目前正在我的 React 应用程序中执行此操作,方法是使用 i18next 生成 translation.json 文件,然后使用 i18next-conv 将其转换为 .po 文件。

我正在使用gettext 方法,其中我的密钥基本上是我要转换的英文字符串。这很好用,但有些用例我担心灵活性。

例如,我有一个出生日期错误字段,如果此人小于12 岁,我们将向用户显示:"Must be 12 years or older!"

所以目前我只使用:i18next.t('Must be 12 years or older!')

我想知道是否可以将 12 设为变量,以便有一个用于此翻译的模板。例如。如果年龄值有一个由后端提供的变量,如何使用我正在采用的当前标准将该变量设为变量?

【问题讨论】:

标签: reactjs gettext i18next


【解决方案1】:

我能够通过编写以下内容对其进行整理:

i18next.t('Must Be {{minAge}} Years Or Older', { minAge: MIN_AGE })

MIN_AGE 是变量。

这似乎很好用,然后在.po 文件中,该行如下所示:

msgid "Must Be {{minAge}} Years Or Older"
msgstr "Must Be {{minAge}} Years Or Older"

.json 文件转换为:

{
  "Must Be {{minAge}} Years Or Older": "Must Be {{minAge}} Years Or Older"
}

MIN_AGE=16 按预期呈现"Must Be 16 Years Or Older" 时的结果文本。

【讨论】:

    猜你喜欢
    • 2012-04-26
    • 2017-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    相关资源
    最近更新 更多