toy*_*toy 27 localization ruby-on-rails pluralize
我的语言环境是:de和我喜欢这个:
Sheet.model_name.human.pluralize # => Belegs
Run Code Online (Sandbox Code Playgroud)
给我添加一个尾随"e"而不是"s"
Sheet.model_name.human.pluralize # => Belege
Run Code Online (Sandbox Code Playgroud)
仅适用于Sheet-class.我可以在config/locales/models/de.yml中以某种方式添加它吗?
Mar*_*rth 53
首先,你需要停止使用.pluralize.它使用Inflector(主要用于Rails内部,例如猜模型表的工作表名称 - >工作表).
Sheet.model_name.human # => "Beleg"
"Beleg".pluralize # => "Belegs"
Run Code Online (Sandbox Code Playgroud)
你应该做的是使用该:count选项.
Sheet.model_name.human(:count => 2) # => "Belege"
Run Code Online (Sandbox Code Playgroud)
这要求您修改de.yml了以下内容:
de:
...
activerecord:
...
models:
sheet:
one: Beleg
other: Belege
Run Code Online (Sandbox Code Playgroud)
bru*_*077 13
您可以这样覆盖复数:
在 config/initializers/inflections.rb
做:
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'Beleg', 'Belege'
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10495 次 |
| 最近记录: |