最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談Ruby on Rails的國(guó)際化

 更新時(shí)間:2015年08月04日 11:09:18   投稿:goldensun  
這篇文章主要介紹了Ruby on Rails的國(guó)際化,提出了日期貨幣等格式相關(guān)需要注意的地方,需要的朋友可以參考下

視圖、模型與控制器里不應(yīng)使用語(yǔ)言相關(guān)設(shè)置與字串。這些文字應(yīng)搬到在 config/locales 下的語(yǔ)言文件里。

當(dāng) ActiveRecord 模型的標(biāo)簽需要被翻譯時(shí),使用activerecord 作用域:

en:
 activerecord:
  models:
   user: Member
  attributes:
   user:
    name: "Full name"

然后 User.model_name.human 會(huì)返回 "Member" ,而 User.human_attribute_name("name") 會(huì)返回 "Full name"。這些屬性的翻譯會(huì)被視圖作為標(biāo)簽使用。

把在視圖使用的文字與 ActiveRecord 的屬性翻譯分開(kāi)。 把給模型使用的語(yǔ)言文件放在名為 models 的文件夾,給視圖使用的文字放在名為 views 的文件夾。

    當(dāng)使用額外目錄的語(yǔ)言文件組織完成時(shí),為了要載入這些目錄,要在 application.rb 文件里描述這些目錄。

  # config/application.rb
  config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]

把共享的本土化選項(xiàng),像是日期或貨幣格式,放在 locales 的根目錄下。

使用精簡(jiǎn)形式的 I18n 方法: I18n.t 來(lái)取代 I18n.translate 以及使用 I18n.l 取代 I18n.localize。

使用 "懶惰" 查詢(xún)視圖中使用的文字。假設(shè)我們有以下結(jié)構(gòu):

en:
 users:
  show:
   title: "User details page"

users.show.title 的數(shù)值能這樣被 app/views/users/show.html.haml 查詢(xún):

= t '.title'

在控制器與模型使用點(diǎn)分隔的鍵,來(lái)取代指定 :scope 選項(xiàng)。點(diǎn)分隔的調(diào)用更容易閱讀及追蹤層級(jí)。

# 這樣子調(diào)用
I18n.t 'activerecord.errors.messages.record_invalid'

# 而不是這樣
I18n.t :record_invalid, :scope => [:activerecord, :errors, :messages]


相關(guān)文章

最新評(píng)論

益阳市| 宾阳县| 大新县| 越西县| 鄢陵县| 平安县| 宁海县| 龙里县| 观塘区| 商水县| 革吉县| 米林县| 铜梁县| 延川县| 汉中市| 广河县| 灵寿县| 邢台县| 垣曲县| 凉山| 石林| 仲巴县| 宜良县| 长沙市| 濉溪县| 白城市| 乌鲁木齐市| 晋江市| 河津市| 洛扎县| 山东省| 常山县| 普兰县| 湾仔区| 山阴县| 彭州市| 乐东| 安陆市| 江北区| 沙雅县| 海林市|