密钥或标签中的i18next json点

时间:2014-11-19 11:41:10

标签: i18next

JS:i18n.t("SOME TEXT TO BE TRANSLATED.")

JSON:"SOME TEXT TO BE TRANSLATED.": "Een stukje tekst om te vertalen"

i18n.t("SOME TEXT TO BE TRANSLATED.")给了我"SOME TEXT TO BE TRANSLATED.".

如果我删除"。" (点)来自标签和函数t,而不是文本被翻译。

如何解决这个问题?

3 个答案:

答案 0 :(得分:6)

Documentation解释说,默认情况下,dot被视为键分隔符。你可以

  • .
  • 替换点
  • 将点放在已翻译的字符串i18n.t("SOME TEXT TO BE TRANSLATED") + "."
  • 之外
  • 更改密钥分隔符
      

    您可以通过在init:

    上设置选项来更改命名空间和/或键分隔符
    nsseparator = ':::'
    keyseparator = '::'
    

答案 1 :(得分:4)

您可以在init选项中设置“keySeparator”:false。

答案 2 :(得分:0)

您可以尝试使用https://github.com/cheton/i18next-text。它允许您使用i18next转换而无需将键作为字符串,您无需担心i18n键命名。此外,您还可以使用把手注册i18n助手。

以下是一个简单的例子:

var i18n = require('i18next');

// extends i18n object to provide a new _() method
i18n._ = require('i18next-text')._;

i18n._('Save your time and work more efficiently.');
JSFiddle上的

Check out the demo