在我的應用程序中,我想翻譯驗證錯誤行:「3個錯誤已禁止保存此訂單」。帶翻譯模型名稱的Rails i18n
顯然,這可以使通用的,以適應所以在我de.yml場所模板我activerecord.errors.template.header這樣使用這個翻譯所有型號:
activerecord:
errors:
template:
header:
one: "Konnte %{model} nicht speichern: ein Fehler."
other: "Konnte %{model} nicht speichern: %{count} Fehler."
現在的問題是如何稱這種驗證而不重複自己很多。很明顯,你可以簡單地通過調用這個:
t('activerecord.errors.template.header', :count => @order.count, :model => Order)
但這不會翻譯下訂單(訂單被稱爲Bestellung德國)
我可以繼續,並通過調用轉換調用內部再次翻譯解決這個問題:
t('activerecord.errors.template.header', :count => @order.count, :model => t('activerecord.models.#{Order}'))
但這真的感覺就像一個非常糟糕的解決方案,我敢肯定,必須有一個在辦法做到這一點(因爲通常是做在Rails的髒東西清潔方式)建成。
任何關於如何處理這種翻譯的建議方式的指針將不勝感激。
我還沒有真正看到問題,這... – sevenseacat 2012-02-01 10:13:35
我想知道是否有應該在這裏使用一個輔助(否則我會寫我自己的).. 由於通常的嫌疑犯(形式助手等)都默認使用I18n,在這種情況下,它似乎非常醜陋.. – Tigraine 2012-02-01 10:23:54