【问题标题】:ReactJS & i18n.js: Translations with linksReactJS & i18n.js:带链接的翻译
【发布时间】:2020-04-16 10:40:48
【问题描述】:

我有一个使用 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 文件的两个字段中?

【问题讨论】:

  • 它与 React 有关吗?它适用于反应(和英语)吗?

标签: javascript reactjs internationalization i18n-js


【解决方案1】:

答案:

你可以创建一个数组。

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

然后得到这样的值:

<p>{i18n.t('terms.0')}<a href="#">{i18n.t('terms.1')}</a></p>

【讨论】:

  • 这可能会导致单词顺序不同的非英语语言环境出现一些问题
猜你喜欢
  • 2011-02-02
  • 2016-06-18
  • 1970-01-01
  • 1970-01-01
  • 2021-11-19
  • 1970-01-01
  • 2017-01-16
  • 1970-01-01
  • 2012-01-09
相关资源
最近更新 更多