Rails I18N: ActiveRecord對(duì)象本地化一直以來(lái)使用 Changing human attribute labels in Rails validation messages 中介紹的方法來(lái)本地化 ActiveRecord 字段名稱。該方法簡(jiǎn)單實(shí)用,比方說(shuō)有這樣一個(gè) User model:
只要在該類中加入以下代碼,就可以在 validation 的錯(cuò)誤信息中顯示中文字段名:
現(xiàn)在 Rails 2.2 為我們帶來(lái)了強(qiáng)大的 I18N 功能,沒(méi)有必要再用上述方法來(lái)實(shí)現(xiàn)本地化了。首先,在 environment.rb 中指定本地化語(yǔ)言:
然后在 config/locales 目錄下新建 cn.yml 文件,并進(jìn)行以下設(shè)置:
非常優(yōu)雅方便。 Error messages 也可以用同樣的方法進(jìn)行設(shè)置。比方說(shuō),以前會(huì)用:
現(xiàn)在只要在配置文件中加入相應(yīng)信息即可:
舊版本的 rails 應(yīng)用中還需要用到老方法。為方便起見(jiàn),弄了個(gè) plugin,github 地址: PS: 可以在 script/console 下檢查效果:
|
|
|