在Rails应用程序中为模型添加翻译

时间:2010-10-20 11:06:44

标签: ruby-on-rails internationalization

我是ROR的新手。我正在尝试将翻译添加到我的应用程序。我添加了控制器的翻译。

  1. 在哪里添加模型的翻译,因为我没有任何/ config / locales - > models文件夹 - > en.yml文件。

  2. 在模型中我有像这样的线条 validates_presence_of:name,:message => “名称不能为空!”

  3. 如果我想为“姓名不能为空白”的消息添加翻译,我应该直接添加

    validates_presence_of:name,:message => I18n.t(str_name_notblank)

    请提出建议

1 个答案:

答案 0 :(得分:2)

要向模型添加翻译,您只需将其放在activerecord->modelsactiverecord->attributes下即可。这是抛光的一个例子:

pl:      
  activerecord:
    models:
      patient: "Pacjent"
    attributes:
      patient:
        first_name: "Imię"
        last_name: "Nazwisko"
        address: "Ulica"
        postal_code: "Kod"
        city: "Miejscowość"

请注意attributes元素下的patient元素不是,但实际上又包含了它。经过一些调试我发现了这个,它实际上对我有用。 Rails I18n guide提出了不同的结构,但它没有用。

翻译标准Rails消息的最佳方式(如用于验证的消息)是从Sven Fuchs'Rails Locale Data Repository (rails-18n)下载正确的翻译文件并将其放入您的config/locales文件夹(您可以更改名称)。然后,您将删除:message字符串,只使用标准消息,但会根据您的喜好进行翻译。