如何在js警报上使用i18next显示翻译的字符串?

时间:2013-06-10 07:07:26

标签: javascript iphone ios i18next

我们正在开发一个使用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('なまえを記入してください。');

非常感谢帮助。

1 个答案:

答案 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}}