添加到翻译标签的上下文无法正确提取提取的翻译

时间:2019-10-07 13:49:07

标签: javascript reactjs react-i18next

我正在使用react-i18n翻译网络应用。

我正在使用babel-plugin-i18next-extract从添加到JSON文件的标签中提取翻译。

我在组件中定义了一个标签,

{t("Departure", { context: "air" })}
{t("Departure", { context: "rail" })}

但是在我提取的翻译文件夹中,它显示为:

"Departure": "",
"Departure_female": "",
"Departure_male": "",

似乎提取的翻译忽略了上下文,仅添加_male_female就是babel-plugin-i18next-extract的错误

1 个答案:

答案 0 :(得分:0)

babel-plugin-i18next-extract确实不会提取上下文键的值,因为它们很可能是变量,因此在大多数情况下解析它们将毫无意义。一种解决方案是使用comment hints

{/* i18next-extract-mark-context-next-line ["air"] */}
{t("Departure", { context: "air" })}

{/* i18next-extract-mark-context-next-line ["rail"] */}
{t("Departure", { context: "rail" })}

对此存在一个未解决的问题:https://github.com/gilbsgilbs/babel-plugin-i18next-extract/issues/121