【问题标题】:i18next - Providing a key in data-i18n-options attribute for interpolationi18next - 在 data-i18n-options 属性中提供一个键用于插值
【发布时间】:2015-08-12 12:01:48
【问题描述】:

当前使用 i18next.js 并遇到了问题。

假设有两个键:

{
    'keyOne':'I am __name__',
    'item': 'a person'
}

在html中:

<div data-i18n="keyOne" data-i18n-options={"name":"item"}></div>

我想要的结果:

'我是一个人'

'a person' 不是字符串文字,而是对键的引用(即像使用 data-i18n 属性)

是否可以提供 'item' 键(不是字符串 'a person')用于 'keyOne' 进行插值?这将很有用,因为当我更改语言环境时,我只需要在 div 上调用 .i18n() 并且两个键都会被翻译。如果没有此功能,我将不得不重新评估上下文并手动更新 div。

任何帮助将不胜感激。 谢谢

【问题讨论】:

    标签: javascript internationalization i18next


    【解决方案1】:

    i18next 具有 嵌套 功能:https://www.i18next.com/translation-function/nesting

    所以我可以做你想要的。你可以在这个 jsfiddle 中测试:https://jsfiddle.net/leonardonsantos/3zy4xmnm/1/

    只需用这个$t 更改data-i18n-options

    <div data-i18n="keyOne" data-i18n-options='{"name":"$t(item)"}'>
    

    【讨论】:

      猜你喜欢
      • 2012-12-27
      • 1970-01-01
      • 2014-09-14
      • 2014-09-23
      • 2021-12-20
      • 2021-06-22
      • 1970-01-01
      • 2021-01-16
      • 2020-06-11
      相关资源
      最近更新 更多