Rails 配置中文语系
Rails 支持多语言化(Internationalization,简称I18n),默认的语系是英文 若要让默认的为中文,则需要修改 config/initializers/locale.rb 若没有此文件,则需自行创建。
Rails.application.config.i18n.default_locale = :"zh-CN"
老的版本需修改 config/application.rb :
config.i18n.default_locale = "zh-CN"
只所以能够支持多种语系,背后的原理就是提前准备了用于翻译的 YAML 文档,在需要对应文字的位置再调用 I18n.t 方法,通常直接写成 t(“”) 。
创建 config/locales/zh-CN.yml
"zh-CN":
event_list: 活动列表
admin:
event_list: 活动列表管理
注意:
en
或 "zh-CN"
(若中间有-
,则要加上双引号)true
或 false
,则加上双引号,即 "false": "否"
在 .html.erb 中的使用方法如下:
<h1><%= t("event_list") %></h1>
如果为多级,则可以使用下面两种方法任一种:
<h1><%= t("admin.event_list") %></h1>
<h1><%= t("event_list", :scope => "admin") %></h1>
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]
config.i18n.default_locale = :"zh-CN"
config/locales/zh-CN
将语言翻译的多个 yaml 文档,放到 config/locales/zh-CN
文件夹当中,如:
config/locales/zh-CN/default.yml config/locales/zh-CN/devise.yml