我们正在开发一个使用html / css / js的应用程序,它使用i18next来显示已翻译的字符串。
为了显示翻译,我在标签中嵌入了一个属性。例如:
<a href="#top" id="agreement" data-i18n="text_agreement">利用規約</a><label for="checkbox2" data-i18n="text_agree">に同意する</label>
除此之外,该应用程序还使用javascript文件替换带有翻译的字符串。例如,上面的代码对应于:
en: { translation: {
text_agreement: 'Agree to EULA'
} }
这种翻译方法适用于HTML标记。我不知道的是如何在js代码中翻译字符串。例如,我如何为此显示翻译的字符串?
element.alert('なまえを記入してください。');
非常感谢帮助。
答案 0 :(得分:2)
初始化函数为您提供翻译字符串的功能。 ;)
您可以将此功能“放置”到窗口对象,这样您就可以在代码中的任何位置使用它。
i18n.init(function(t) {
window.t = t("Your string here");
});
// ... more code
// Now you can use window.t to translate
element.alert(window.t('Your string'));
但请注意,它是异步的(!),因此控制台会说,t()
未定义。
首先初始化i18next,然后使用window.t();
另请查看文档:{{3}}