2010-10-20 66 views
0

我是ROR的新手。我正在嘗試將翻譯添加到我的應用程序中。我已經爲控制器添加了翻譯。在Rails應用程序中添加模型的翻譯

  1. ,因爲我沒有任何/配置/區域設置在何處添加翻譯模型 - >模型文件夾 - > en.yml文件。

  2. 在模型中,我有像 validates_presence_of:name,:message =>「名稱不能爲空!

如果我想補充的翻譯消息 「名稱不能爲空」,應我把直接像

validates_presence_of:名稱,:消息=> I18n.t(str_name_notblank)

請給與建議

回答

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字符串,只是使用標準的消息,但翻譯爲你的喜好。