首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >红矿山插件定位

红矿山插件定位
EN

Stack Overflow用户
提问于 2014-02-10 11:25:37
回答 1查看 687关注 0票数 0

我正在为红矿开发一个插件,在本地化我的观点时遇到了问题。我是rails和redmine开发方面的新手,所以这里可能有我缺少的东西。我正在使用以下环境(摘自红宝石信息):

代码语言:javascript
运行
复制
Environment:
  Redmine version                2.3.3.stable
  Ruby version                   1.9.3-p448 (2013-06-27) [x86_64-linux]
  Rails version                  3.2.13
  Environment                    production
  Database adapter               Mysql2

据我所知,当区域设置文件包含activerecord.attributes.Model.xxx中的条目时,我可以使用activerecord.attributes.Model.xxx(:attribute)*方法来获取属性的本地化字符串。我有两个模特公司和客户。

在我的视图中,例如:

代码语言:javascript
运行
复制
  ...
  <h4><%= link_to company.name, company_path(company.id)  %> </h4>

  <b><%= Company.human_attribute_name(:branch) %></b> :
  <%= company.branch %>
  <br>
  <b><%= Company.human_attribute_name(:url) %></b>  :
  <%= company.url %>
  ...

我的config/locales/de.yml如下所示:

代码语言:javascript
运行
复制
de:
  activerecord:
    attributes:
      client:
        department: Abteilung
        email: E-mail
        fax: Fax
        first_name: Vorname
        last_name: Nachname
        phone: Telefon
        salutation: Anrede
        salutation_letter: Briefanrede
        title: Titel
      company:
        branch: Branche
        extra_information: Zusatzinformation
        mail: E-mail
        name: Name
        organisation: Organisation
        province: Ort
        state: Bundesland
        street: Straße
        url: Web
        zip_code: PLZ
    models:
      client:
        one: Kunde
        other: Kunden
      company:
        one: Unternehmen
        other: Unternehmen
  helpers:
    label:
      client:
        department: Abteilung
        email: E-mail
        fax: Fax
        first_name: Vorname
        last_name: Nachname
        phone: Telefon
        salutation: Anrede
        salutation_letter: Briefanrede
        title: Titel
      company:
        branch: Branche
        extra_information: Zusatzinformation
        mail: E-mail
        name: Name
        organisation: Organisation
        province: Ort
        state: Bundesland
        street: Straße
        url: Web
        zip_code: PLZ
    submit:
      create: "Erstelle %{model}"
      search: Suchen
      update: "Aktualisieren %{model}"
  search: Suchen
  show_all: "Alles anzeigen"
  • activerecord.attributes部分不工作。*human_attribute_name*只返回标准属性名(即:分支=>“分支”)。
  • activerecord.models部件工作..。因此,公司/新公司中的提交按钮标为"Erstelle Unternehmen“。
  • 区域设置的label.helpers部分工作,因此在form_for标记中属性是本地化的(即:分支=>“分支”)。
  • “一般”部分(即show_all => "Alles anzeigen")也起作用。
  • 没有label.helpers部分,form_for标记将停止本地化。

翻译似乎有效,但属性部分必须有一些错误,我无法定位。我把我的de.yml扔给了http://yamllint.com/,它似乎是有效的yaml (所以没有yaml格式问题)。

有人能告诉我我的观点/翻译有什么问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-18 14:18:20

通过使用助手:app/helpers/companies_helper.rb解决了这个问题:

代码语言:javascript
运行
复制
module CompaniesHelper
  def t_att(model, attribute)
    t("activerecord.attributes.#{model}.#{attribute}")
  end
end

所以在视图中您可以使用

代码语言:javascript
运行
复制
<p>
<%= t_att(:company, :branch) %> :
<%= company.branch %>
</p>

所以你得到了分支: xyz

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21675884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档