如何将翻译添加到活动模型

时间:2013-11-24 18:53:08

标签: ruby-on-rails rails-i18n

我有这个型号:

class Coupon
  include ActiveModel::Validations
  include ActiveModel::Conversion
  extend ActiveModel::Naming

  attr_accessor :id

  def initialize(attributes = {})
    attributes.each do |name, value|
      send("#{name}=", value)
    end
  end

  def persisted?
    false
  end
end

如何将i18n翻译添加到此模型?具体做法是:

  • 如何翻译其型号名称?
  • 如何翻译其属性?
  • 如何为其提交按钮提供自定义翻译?

我正在使用SimpleForm。

1 个答案:

答案 0 :(得分:2)

在你的config / locales文件夹中,创建一个activerecord.nl.yml(例如荷兰语),然后在该文件中将活动记录翻译如下:

nl:
  activerecord: 
    models: 
      coupon: translation
      coupons: translation

对于标签和按钮,创建一个包含

的simple-form.nl.yml文件
nl:
  buttons: &buttons
    submit: translation
    ...

  labels: &labels
    name: translation
    ...

在该文件的末尾,输入

  simple_form:
    buttons:
      defaults:
        <<: *buttons
    labels:
      defaults:
        <<: *labels

通过从简单表单部分拆分标签和按钮列表,您也可以在视图中的其他位置使用它们