javascript - 如何使用 i18n 值将 coffeescript 中的字符串国际化?

标签 javascript ruby-on-rails coffeescript internationalization rails-i18n

我的问题相当简单:我的一个 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/

相关文章:

ruby-on-rails - 目录 : Nested Resources with Polymorphic Association (comments system)

ruby-on-rails - rails : search in multiple model with select option

发现 JavaScript Setter 错误?

ruby-on-rails - 如何在 Rails 3 中启用内存和对象分析?

javascript - 提高 RoR 项目的时间响应

javascript - Backbone : Use Model's Data and Functions in View

coffeescript - 为什么这个 Coffeescript 无效?

javascript - 如何区分 DOM 函数中使用的相同 div?

Javascript 隐藏/显示部分在重置时不起作用

javascript - 新形状和旧形状必须具有相同数量的元素