ActiveAdmin国际化

ActiveAdmin汉化

第一步:局部汉化
ActiveAdmin.register AdminUser do
  menu :label => "用户管理"

  index do
    column "邮箱",:email
    column "最近登录",:current_sign_in_at
    column "上次登录",:last_sign_in_at
    column "登录次数",:sign_in_count
    default_actions
  end

  filter :email, :label=>"邮箱"

  form do |f|
    f.inputs "用户资料" do
      f.input :email ,:label=>"邮箱"
      f.input :password ,:label=>"密码"
      f.input :password_confirmation ,:label=>"重复密码"
    end
    f.actions
  end

  # 右侧帮助
  sidebar :help,:only => :index do
    "如果您在使用后台管理时遇到问题,请联系robot.zhu@icitymobile.com"
  end
end

按上述设置后,页面部分内容将变成中文。

menu 菜单栏文字
index column 列表中某列
filter label 筛选器标签
form inputs 表单的标题
form input label 单个文本输入框前的标签

这个时候看,整个框架还是英文的。

第二步:框架汉化

导入ActiveAdmin提供的语言文件。根据需要选择。简体中文就选择zh-CN.yml。
地址:https://github.com/activeadmin/activeadmin/tree/master/config/locales
中文:https://github.com/activeadmin/activeadmin/blob/master/config/locales/zh-CN.yml

将zh-CN.yml复制到自己的 config/locales/目录下。

第三步:修改配置

修改config/application.rb文件,添加下面两行。

    config.i18n.available_locales = [:"zh-CN", :en]
    config.i18n.default_locale = :"zh-CN"

重启Rails Server。

整个框架就变成中文了。

Model国际化

实际上面这么做之后,还有少量地方仍然是英文。
比如:导航栏上的模块名称(Posts),右侧的“新建Post”按钮。

我们肯定希望“Posts”显示为“博文”,“新建Post”显示为“新建博文”。

这个时候需要在语言文件zh-CN.yml里加上models的国际化。

  activerecord:
    models:
      user: '用户'
      post: '博文'
      organization: '机构'

Device国际化

下载汉化包 devise.zh-CN.yml ,并复制到自己的 config/locales/目录下。
下载地址:https://github.com/plataformatec/devise/wiki/I18n

错误列表

错误信息:

ActionView::Template::Error (translation missing: zh-CN.time.formats.long):
    1: insert_tag renderer_for(:index)
  app/admin/admin_user.rb:6:in `block (2 levels) in <top (required)>'

解决办法

引入Rails的语言文件。复制内容至zh-CN.yml文件中。
地址:https://github.com/tsechingho/rails-i18n/tree/master/rails/locale
中文:https://github.com/tsechingho/rails-i18n/blob/master/rails/locale/zh-CN.yml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值