将https链接放入i18n翻译文件中

时间:2020-07-15 06:15:35

标签: reactjs i18next language-translation

我正在使用i18n来翻译我的多语言React项目。 我的句子中包含(:)字符:

"e.g https://192.168.1.15 or https://example.com" 

我想将其翻译成波斯语:

"مثال: https://192.168.1.15 یا https://example.com"

我将其放在我的翻译文件中,如下所示:

export default {
"e.g https://192.168.1.15 or https://example.com": "مثال: https://192.168.1.15 یا https://example.com",
}

但不起作用。我意识到问题是“:”。我看到的是这样:

 "//192.168.1.15 or httpsfalse//example.com"

如何在i18n的翻译中使用(:)字符?

2 个答案:

答案 0 :(得分:0)

“:”在翻译密钥中具有特殊含义,表示该密钥所属的命名空间是什么。

我的一个翻译键也有类似的问题,解决方案是忽略该特定键中的名称空间。

t("Welcome to React :)", {nsSeparator: false})
// ---------------------------^ this will make the lib to ignore the ":"

有关更多信息,您可以阅读此bug

答案 1 :(得分:0)

我使用了此解决方案:

t("e.g.", {
  urlIP: "https://192.168.1.15",
  urlDomain: "https://example.com",
 })

并将此代码放在我的翻译文件中:

en.js:

"e.g.": "e.g. {{urlIP}} or {{urlDomain}}",

fa.js:

"e.g.": "مثال: {{urlIP}} یا {{urlDomain}}",

这不是最好的解决方案,我认为有更好的方法来解决此问题,但目前仍然有效。

如果您知道更好的解决方案,很高兴收到您的来信。

相关问题