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

标签 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('なまえを記入してください。');

非常感谢您的帮助。

最佳答案

初始化函数为您提供了一个翻译字符串的函数。 ;)

您可以将此函数“放入”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

关于javascript - 如何在 js 警报上使用 i18next 显示翻译后的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17018500/

相关文章:

javascript - 而鼠标按下事件。原型(prototype) JS 或 Javascript

iPhone 应用程序仅在 3G Release模式下崩溃

javascript - Android 上 HTML 5 的设备方向问题

ios - 在一个公共(public) View Controller 中显示另一个 View Controller ,如滑动菜单

ios - SpriteKit : character movement set by draging him across the screen ( x axis) but stay at a set ( y position)

javascript - 将自定义 javascript 对象属性作为函数中的参数传递以进行更新

javascript - 期望一个 float 数组接近 Jasmine 中的另一个数组

ios - MailCore无法登录Gmail : mailcore Code=19 "unknown error code"

iOS 7 : Views change sizes when using TabBar and Autolayout

javascript - 如何在从 Google 电子表格中提取数据的 Google 图表上显示注释?