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,而不是文本被翻译。
如何解决这个问题?
答案 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上的