我正在为红矿开发一个插件,在本地化我的观点时遇到了问题。我是rails和redmine开发方面的新手,所以这里可能有我缺少的东西。我正在使用以下环境(摘自红宝石信息):
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)*方法来获取属性的本地化字符串。我有两个模特公司和客户。
在我的视图中,例如:
...
<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如下所示:
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"
翻译似乎有效,但属性部分必须有一些错误,我无法定位。我把我的de.yml扔给了http://yamllint.com/,它似乎是有效的yaml (所以没有yaml格式问题)。
有人能告诉我我的观点/翻译有什么问题吗?
发布于 2014-02-18 14:18:20
通过使用助手:app/helpers/companies_helper.rb解决了这个问题:
module CompaniesHelper
def t_att(model, attribute)
t("activerecord.attributes.#{model}.#{attribute}")
end
end
所以在视图中您可以使用
<p>
<%= t_att(:company, :branch) %> :
<%= company.branch %>
</p>
所以你得到了分支: xyz
https://stackoverflow.com/questions/21675884
复制相似问题