目前,我正在使用 i18next 在 React 中开发一个多语言项目。
我有一些包含静态文本语言的 SVG 图像。这是来自 SVG 图像之一的示例。
<text
stroke="none"
style="outline-style:none;"
id="text4"
stroke-width="1px"
x="301.069519px"
text-rendering="geometricPrecision"
font-family="SinhalaSangamMN"
fill="#000000"
font-size="32px"
y="263.101746px"
transform=""
text-anchor="middle"
>
cieplna < ~~~~~~~~~~ text I want to change
</text>;
是否可以使用我在 React 组件中使用的 i18Next 实用程序将本地化传递到 SVG 文件中:
i18next.js
const checkLocale = (lng) => {
return getLocale(lng);
}
export function init18n() {
const i18nOpts = {
lng: window.userLang,
fallbackLng: 'it',
debug: true,
}
return checkLocale(window.userLang).then(res => {
if (res) {
i18nOpts.backend = {
loadPath: `${env.REACT_APP_API_URL}locales/{{lng}}/{{ns}}.json`,
crossDomain: true,
}
}
return init(i18nOpts);
})
.catch(err =>{
return init(i18nOpts);
})
}
反应示例:label={i18next.t( 'windows.MAIN_CARD.projectName' )}
如果没有,这是我可以从本地存储中做的事情吗?
本地存储
window.localStorage.i18nextLng
在这个 Stack Overflow 问题Angular / svg - pass data into svg & 在这篇博文https://getlocalization.wordpress.com/2016/11/07/how-to-utilize-svg-in-localization/中,它被证明了这是可能的。
不知道从哪里开始,在此先感谢您的帮助。