我用来扮演Enum角色并且很容易翻译......
我采用了rolify,现在事情变得更复杂......
Rolify添加了一个表格" Roles"例如,在RoR应用程序中,您可以使用字段" name"角色。
所以我有4个角色:
我想做的是将这四种角色翻译成不同的语言。我已经看过像gem这样的解决方案" globalize"但它似乎只允许翻译一个字段值,所以例如我可以说:
但我似乎无法弄清楚如何为同一个字段翻译多个值。
我对如何做到这一点有任何想法?
修改 稍微澄清一下。角色存储在"名称"领域,因为我有4个角色," name"可以有4个不同的值(Superadmin,admin,老师,家长)。我的问题是为同一个字段翻译不同的值。
答案 0 :(得分:0)
根据globalize gem
首先保存所有英语(en)值
I18n.locale = :en
Role.create(name: 'superadmin')
Role.create(name: 'admin')
Role.create(name: 'teacher')
依旧......
允许您翻译每个区域设置的属性:
Role.find_each do |role|
I18n.locale = :pt ##set another locale
##find role using id and save accordingly.
role.update_attributes(name: 'Professor') ## it will create role with translated name in roles_translation table.
and so on......
##set more locale and save values accordingly.
end
了解更多信息https://github.com/globalize/globalize#model-translations