1. 安装gem包
gem "rails-i18n"
2. 修改配置
修改config/application.rb
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s]
config.i18n.default_local = "zh-CN"
3. 新增本地化文件
config/locales/setting.zh-CN.yml
zh-CN:
hello: 你好
admin:
event: 管理员事件
在view
中
t("admin.event")
t(:event, :scope => :admin)
不在view
中
I18n.t(:hello)
传递参数
zh-CN:
hello: "亲爱的%{name}您好!"
t(:hello, :name=> @user_name)
4. 搭配Modal使用
zh-CN:
activerecord:
attributes:
event:
name: "活动名称"
description: "描述"
4.设置某个Controller的编码
before_action :set_locale
def set_locale
if params[:locale] && I18n.available_locales.include?(params[:locale].to_sym)
session[:locale] = params[:locale]
end
I18n.locale = session[:locale] || I18n.default_local
end
网友评论