我们正在开发一个利用 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('なまえを記入してください。');
非常感谢您的帮助。
最佳答案
初始化函数为您提供了一个翻译字符串的函数。 ;)
您可以将此函数“放入”window 对象,这样您就可以在代码中的任何地方使用它。
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();
关于javascript - 如何在 js 警报上使用 i18next 显示翻译后的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17018500/