0

我们正在开发一个使用 html/css/js 的应用程序,它使用i18next来显示翻译后的字符串。

为了显示翻译,我在标签中嵌入了一个属性。例如:

<a href="#top" id="agreement" data-i18n="text_agreement">利用規約</a><label for="checkbox2" data-i18n="text_agree">に同意する&lt;/label>

除此之外,该应用程序使用 javascript 文件将字符串替换为翻译。例如,上面的代码对应于:

en: { translation: {
text_agreement: 'Agree to EULA'
} }

这种翻译方法适用于 HTML 标签。我不知道如何在 js 代码中翻译字符串。例如,我将如何为此显示翻译的字符串?

element.alert('なまえを記入してください。');

帮助将不胜感激。

4

1 回答 1

2

初始化函数给你一个函数来翻译你的字符串。;)

您可以将此函数“放置”到 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();

也看看文档:http: //jamuhl.github.io/i18next/pages/doc_init.html

于 2013-06-12T15:02:18.363 回答