将 https link 放入 i18n 翻译文件中进行反应
put https link in i18n translation file in react
我正在使用 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 翻译中使用 (:) 字符?
":" 在翻译键中有特殊含义,表示该键所属的命名空间是什么。
我的一个翻译密钥也有类似的问题,解决方案是忽略该特定密钥中的命名空间。
t("Welcome to React :)", {nsSeparator: false})
// ---------------------------^ this will make the lib to ignore the ":"
更多信息,您可以阅读这篇bug
我使用了这个解决方案:
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}}",
这不是最好的解决方案,我认为有更好的方法来解决这个问题,但目前有效。
如果您知道更好的解决方案,很高兴收到您的来信。
我正在使用 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 翻译中使用 (:) 字符?
":" 在翻译键中有特殊含义,表示该键所属的命名空间是什么。
我的一个翻译密钥也有类似的问题,解决方案是忽略该特定密钥中的命名空间。
t("Welcome to React :)", {nsSeparator: false})
// ---------------------------^ this will make the lib to ignore the ":"
更多信息,您可以阅读这篇bug
我使用了这个解决方案:
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}}",
这不是最好的解决方案,我认为有更好的方法来解决这个问题,但目前有效。
如果您知道更好的解决方案,很高兴收到您的来信。