【发布时间】:2012-01-17 21:03:30
【问题描述】:
这是一个初学者的问题,但我到处搜索,似乎无法解决。
我正在使用 Rails 和 ActiveAdmin,并且我已设置国际化以使用我的 es.yml 语言环境。
到目前为止一切顺利。管理界面以西班牙语很好地显示,错误消息、日期等也是如此。即使是表单也会选择模型和属性的名称(因此 formtastic 的翻译正常)。我只有一个语言环境 - 西班牙语:
config/initializers/i18n.rb
#encoding: utf-8
I18n.default_locale = :es
LANGUAGES = [
[ 'Español', 'es' ]
]
不过,我在 ActiveAdmin 界面中翻译资源名称时遇到了问题。例如,在页面顶部,它显示“用户”、“估计”等,而不是“Usuarios”、“Cotizaciones”。
我可以通过注册这样的类来解决这个问题:
ActiveAdmin.register 用户,:as => "usuario" 做 ... 结束
但后来我得到了admin_usuarios_path、admin_usuarios_url、/admin/usuarios 等,我觉得非常难看。我宁愿在内部使用英语。 active_admin/resource/naming 的 ActiveAdmin 源表示它应该获取模型的 human_name,它是从本地化文件中正确读取的:
(在控制台中)
User.model_name.human.titleize
=> "Usuario"
那么为什么菜单栏上没有出现“Usuario”,而是“用户”呢?我在这里有点迷惑。我一定错过了一些非常简单的东西。
提前致谢!
凯尔
【问题讨论】:
标签: ruby-on-rails internationalization activeadmin