我环顾四周,似乎要为模型名称设置复数规则,您将以下内容放入您的语言环境文件中
# es.yml
es:
activerecord:
models:
business:
one: Lugar
other: Lugares
但是,当模型名称被翻译成复数时,我仍然得到Lugars
而不是Lugares
不知道出了什么问题
我环顾四周,似乎要为模型名称设置复数规则,您将以下内容放入您的语言环境文件中
# es.yml
es:
activerecord:
models:
business:
one: Lugar
other: Lugares
但是,当模型名称被翻译成复数时,我仍然得到Lugars
而不是Lugares
不知道出了什么问题
它应该与Business.model_name.human(:count => 2)
您的问题是您在 Rails 中混合了两种形式的字符串复数形式。第一个用于内部目的:用于命名类、变量、方法、表名等。这是pluralize
,为了使其正确处理异常等,您可以在 config/initializers/inflections.rb 中定义变形。
但这种复数形式不适合翻译。为此,您应该使用Business.model_name.human(:count => 2)
(如@doesterr 建议的那样),它将引用您所在区域设置的区域设置文件,这就是您想要的。
有关详细信息,请参阅此答案。