麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Ruby > 正文

淺談Ruby on Rails的國際化

2020-10-29 19:37:14
字體:
來源:轉載
供稿:網友

視圖、模型與控制器里不應使用語言相關設置與字串。這些文字應搬到在 config/locales 下的語言文件里。

當 ActiveRecord 模型的標簽需要被翻譯時,使用activerecord 作用域:

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

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

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

    當使用額外目錄的語言文件組織完成時,為了要載入這些目錄,要在 application.rb 文件里描述這些目錄。

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

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

使用精簡形式的 I18n 方法: I18n.t 來取代 I18n.translate 以及使用 I18n.l 取代 I18n.localize。

使用 "懶惰" 查詢視圖中使用的文字。假設我們有以下結構:

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

users.show.title 的數值能這樣被 app/views/users/show.html.haml 查詢:

= t '.title'

在控制器與模型使用點分隔的鍵,來取代指定 :scope 選項。點分隔的調用更容易閱讀及追蹤層級。

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 网站毛片 | 国产高潮失禁喷水爽到抽搐视频 | 国产精品一区二区三区在线播放 | 91懂色| 羞羞视频免费网站男男 | 久久人人爽人人爽人人片av高清 | 久久国产精品二区 | 精品一区二区免费视频视频 | 毛片毛片免费看 | 韩国一大片a毛片 | 久久久大片 | 亚洲精品久久久久久下一站 | 久久久精品视频免费看 | 成人毛片网站 | 小雪奶水翁胀公吸小说最新章节 | av在线高清观看 | 毛片在线视频免费观看 | chinesehd天美原创xxxx | 激情久久精品 | 国产1区2区3区中文字幕 | 国产精品久久久久久久午夜片 | 久久久无码精品亚洲日韩按摩 | 国产va在线观看 | 午夜小视频免费观看 | 91懂色| 国产精品99久久久久久久vr | 中文字幕在线亚洲精品 | 污黄视频在线观看 | 国产精品久久久久久久亚洲按摩 | 国产噜噜噜噜噜久久久久久久久 | 久久密 | a网站在线 | 成人精品一区二区 | 久草在线观看福利视频 | 久久久久久久久淑女av国产精品 | 羞羞视频免费观看网站 | 亚洲午夜免费 | 少妇一级淫片免费放正片 | 91精品久久香蕉国产线看观看 | 操碰视频在线观看 | 国产91中文字幕 |