kpa*_*615 5 ruby-on-rails internationalization activeadmin
这是一个初学者的问题,但我到处搜索,似乎无法解决它.
我正在使用Rails和ActiveAdmin,并且我已经设置了国际化以使用我的es.yml语言环境.
到现在为止还挺好.管理界面在西班牙语中很好地显示,错误消息,日期等也是如此.甚至表单也会获取模型的名称和属性(因此,formtastic可以使翻译正常).我只有一个语言环境 - 西班牙语:
配置/初始化/ i18n.rb
#encoding: utf-8
I18n.default_locale = :es
LANGUAGES = [
[ 'Español', 'es' ]
]
Run Code Online (Sandbox Code Playgroud)
但是,我遇到了在ActiveAdmin界面中获取资源名称的问题.例如,在页面顶部,它显示"用户","估计"等,而不是"Usuarios","Cotizaciones".
我可以通过注册这样的类来解决这个问题:
ActiveAdmin.register User,:as =>"usuario"do ... end
但后来我得到admin_usuarios_path,admin_usuarios_url,/admin/usuarios等我觉得这非常非常难看.我宁愿在内部使用英语.ActiveAdmin来源active_admin/resource/naming说它应该拿起模型human_name,正确地从本地化文件中读取:
(在控制台中)
User.model_name.human.titleize
=> "Usuario"
Run Code Online (Sandbox Code Playgroud)
那么为什么"Usuario"不会出现在菜单栏上,而是"用户"?我在这里有点神秘.我必须遗漏一些非常简单的东西.
提前致谢!
凯尔
小智 3
正如本期所述:https://github.com/gregbell/active_admin/issues/434
你的初始化程序应该是这样的:
配置/初始化程序/i18n.rb
I18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s]
I18n.locale = :es
I18n.default_locale = :es
I18n.reload!
Run Code Online (Sandbox Code Playgroud)
Active Admin 对 i18n 的支持目前还不是很完整也不是很稳定(v0.3.4),但在接下来的几个版本中应该会变得更好。
| 归档时间: |
|
| 查看次数: |
2567 次 |
| 最近记录: |