我的问题相当简单:我的一个 coffeescript 中有一个字符串,我需要在我的 Rails 应用程序中使用 i18n 值对其进行国际化。这是我的代码:
$ ->
$("#order_accepted_terms").on 'invalid', ->
this.setCustomValidity('Die AGB müssen akzeptiert werden.')
有人有什么想法吗?
最佳答案
我通常使用这个 gem - https://github.com/fnando/i18n-js .它的行为很像本地 Rails I18n。配置 gem 后(查看 github 上的自述文件),您将添加到布局的末尾(示例在 Haml 中)
= javascript_tag do
I18n.defaultLocale = "#{I18n.default_locale}"
I18n.locale = "#{I18n.locale}"
设置默认和当前语言环境,然后您可以在 javascript(和 coffeescript)中使用 I18n,如下所示(自述文件中的一些示例):
I18n.t("some.scoped.translation")
I18n.l("time.formats.short", "2009-09-18 23:12:43")
还支持将参数传递给翻译。考虑到你有翻译
en:
users:
greet: "Hello %{name}!"
你可以这样做
I18n.t("users.greet", {name: 'Nick'})
你会得到结果
Hello Nick!
您将在上面的链接中找到更多示例。
关于javascript - 如何使用 i18n 值将 coffeescript 中的字符串国际化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26710122/