ReactJS & i18n.js:带链接的翻译
ReactJS & i18n.js: Translations with links
我有一个使用 i18n.js 进行翻译的 ReactJS 项目。
在 i18n JSON 文件中我有这样一行:
"register": {
"terms": "I have read and accept the Terms of Service"
}
我只希望句子的 "Terms of Service" 部分成为 link。
起初我尝试过这样的事情:
<label className="lead">
{i18n.t('register.terms').substr(0, 27)}<a href="#">{i18n.t('register.terms').substr(27, 43)}</a>
</label>
但是,当然它不适用于英语以外的任何其他语言。
有没有办法在 不拆分 JSON 文件的两个字段中的字符串值 的情况下做到这一点?
答案:
您可以创建一个数组。
"terms": ["I have read and accept the ", "Terms of Service"]
然后得到这样的值:
<p>{i18n.t('terms.0')}<a href="#">{i18n.t('terms.1')}</a></p>
我有一个使用 i18n.js 进行翻译的 ReactJS 项目。
在 i18n JSON 文件中我有这样一行:
"register": {
"terms": "I have read and accept the Terms of Service"
}
我只希望句子的 "Terms of Service" 部分成为 link。
起初我尝试过这样的事情:
<label className="lead">
{i18n.t('register.terms').substr(0, 27)}<a href="#">{i18n.t('register.terms').substr(27, 43)}</a>
</label>
但是,当然它不适用于英语以外的任何其他语言。
有没有办法在 不拆分 JSON 文件的两个字段中的字符串值 的情况下做到这一点?
答案:
您可以创建一个数组。
"terms": ["I have read and accept the ", "Terms of Service"]
然后得到这样的值:
<p>{i18n.t('terms.0')}<a href="#">{i18n.t('terms.1')}</a></p>