Rails本地化

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • jHipster - 微服务搭建 CC_简书[https://www.jianshu.com/u/be0d56c4...
    quanjj阅读 4,243评论 0 2
  • Awesome Ruby Toolbox Awesome A collection of awesome Ruby...
    debbbbie阅读 8,006评论 0 3
  • 20岁的大姑娘 我绝对没记错 今天是你20岁的生日 Happy birthday! 不管有多少人记得 我绝对是第一...
    等一场夕阳阅读 3,567评论 1 1
  • 红尘路尽客、灵台斜月殇! 镜花水月落、相忘定情坡!
    佰贰拾贰阅读 1,293评论 0 1
  • 《冥想5分钟等于熟睡一小时》 好的睡眠质量对我们第二天的工作有着及其重要的作用。以前我有严重失眠的毛病,眼睛困...
    约梵阅读 2,778评论 0 0