2014-02-10 83 views
0

我開發管理平臺的一個插件,衝進在定位自己的看法問題。 我是一個在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 

爲了什麼,我知道我可以使用* human_attribute_name(:屬性)*方法來爲我的屬性的本地化字符串,當我的語言環境-file包含activerecord.attributes.Model.xxx中的條目。 我有2種型號公司客戶

在我的意見,我使用例如:

... 
    <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 %> 
    ... 

我的配置/區域設置/ 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" 
  • activerecord.attributes部分沒有按沒有工作。 * human_attribute_name *只是返回標準屬性名稱(即:分支=>「分支」)。
  • activerecord.models部分工程..所以即在公司提交按鈕/新標記爲「Erstelle Unternehmen」
  • label.helpers語言環境工程的一部分,所以在標籤的form_for的屬性本地化(即:分支=>「Branche」)。
  • 「一般」部分(即show_all =>「Alles anzeigen」)也適用。
  • 沒有label.helpers部分,該標籤的form_for停止在本地化。

翻譯似乎工作,但屬性部分必須有一些我找不到的錯誤。 我把我的de.ymlhttp://yamllint.com/,它似乎是有效的YAML(所以沒有YAML格式問題)。

誰能告訴我什麼是錯我的看法/翻譯?

+0

同樣的問題在這裏。我不知道爲什麼man_attribute_name在Redmine插件中不起作用。你可以使用t('activerecord.attributes.company.branch'),但它不是那麼幹淨... – Nanego

+0

謝謝。這可能是一種解決方法。 – mrong

+0

環繞「activerecord.attributes。#{model}。#{attribute}」並創建一個輔助方法,您可以在視圖中使用t_att(:model,:attribute),因此您可以在中央級別更改翻譯路徑,識別缺失的屬性/翻譯..它的工作原理,但它不正確。 – mrong

回答

0

使用助手解決了這個問題: 應用程序/傭工/ 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