Nic*_*art 4 javascript ruby-on-rails internationalization coffeescript rails-i18n
我的问题很简单:我的一个coffeescripts中有一个字符串,我需要在我的Rails应用程序中使用i18n值进行国际化.这是我的代码:
$ ->
$("#order_accepted_terms").on 'invalid', ->
this.setCustomValidity('Die AGB müssen akzeptiert werden.')
Run Code Online (Sandbox Code Playgroud)
有人有任何想法吗?
我通常使用这个宝石 - https://github.com/fnando/i18n-js.它的行为很像原生Rails I18n.在配置gem之后(检查github上的自述文件),添加到布局的末尾(例子是在Haml中)
= javascript_tag do
I18n.defaultLocale = "#{I18n.default_locale}"
I18n.locale = "#{I18n.locale}"
Run Code Online (Sandbox Code Playgroud)
设置默认和当前语言环境然后你可以在javascript(和coffeescript)中使用I18n如下(自述文件中的一些例子):
I18n.t("some.scoped.translation")
I18n.l("time.formats.short", "2009-09-18 23:12:43")
Run Code Online (Sandbox Code Playgroud)
还支持将参数传递给翻译.考虑到你有翻译
en:
users:
greet: "Hello %{name}!"
Run Code Online (Sandbox Code Playgroud)
你可以这样做
I18n.t("users.greet", {name: 'Nick'})
Run Code Online (Sandbox Code Playgroud)
你会得到结果
Hello Nick!
Run Code Online (Sandbox Code Playgroud)
您可以在上面的链接中找到更多示例.