在Rails 4(支持多语言变形)中,我可以设置:
config.i18n.default_locale = :es
在我的config / application.rb中,它允许我在控制台中执行以下操作:
'general'.pluralize(:es) => "generales"
但是当我跑步时:
rails g model General conciencia:string atencion:string
Rails生成的文件的'general'复数为'generals',西班牙语应该是'generales'
如果设置了语言环境,Rails不应该为其生成器使用多语言导向器吗?有没有办法强迫它使用它们?
谢谢!
答案 0 :(得分:0)
有点晚了,但是为了记录:在Rails问题中有一个关于为什么会这样的问题(所以它不是一个错误,但你可以讨论它):
来源:https://github.com/rails/rails/issues/10125#issuecomment-17274499
直到Rails 4,变形器不支持多个语言环境。 只有一套规则。该应用程序具有默认语言环境, 在i18n应用程序中,每个请求可能有不同的区域设置, 但这并没有影响到变形器。
变形器不仅被应用程序使用,它也被使用 将路径转换为类名,将类名转换为表的框架, 为关联API等动态创建方法名称
显然,这些计算不能改变。如果您的架构有 "区域" table,Active Record必须始终将Region类映射到 "地区"表,无论应用程序的演变 (除非架构发生更改,但架构必须可视化为 对于这个来说,大部分是静态的,配置更加静态 选项)。
我使用过:en,get开始开发开发的应用程序 i18ned,然后切换到默认语言环境:es。区域设置是 影响这种心态的界面的东西。一切 内部应该像以前一样工作。
您应该能够更改默认语言环境和其他所有内容 一种不影响关联名称等静态内容的方法, 桌子,路线等
可能是你有i18n路线的情况(随之改变) 请求的语言环境),但一般来说上面的语句应该是 真。
为了尽可能向后兼容,我们离开了 框架未触及,并使变形具有默认值 of:以便现有应用程序获得相同的映射 升级。