2

我有一个使用 i18n.js 进行翻译的 ReactJS 项目。

在 i18n JSON 文件中,我有这样一行:

"register": {
    "terms": "I have read and accept the Terms of Service"
}

我只希望句子的“服务条款”部分成为链接。

起初我尝试过这样的事情:

<label className="lead">
    {i18n.t('register.terms').substr(0, 27)}<a href="#">{i18n.t('register.terms').substr(27, 43)}</a>
</label>

但是,当然,它不适用于英语以外的任何其他语言。

有没有办法做到这一点,而无需将字符串值拆分为 JSON 文件中的两个字段?

4

1 回答 1

3

回答:

您可以创建一个数组。

"terms": ["I have read and accept the ", "Terms of Service"]

然后得到这样的值:

<p>{i18n.t('terms.0')}<a href="#">{i18n.t('terms.1')}</a></p>
于 2020-05-04T20:23:36.160 回答