ruby-on-rails - 在 rails3 中覆盖模型名称的默认复数形式

标签 ruby-on-rails localization pluralize

我的语言环境是 :de,我喜欢得到这个:

Sheet.model_name.human.pluralize # => Belegs

给我添加一个尾随的“e”而不是“s”
Sheet.model_name.human.pluralize # => Belege

仅适用于 Sheet 类。
我可以在我的 config/locales/models/de.yml 以某种方式添加它吗?

最佳答案

首先,您需要停止使用 .pluralize .它使用 Inflector(主要用于 Rails 内部,例如猜测模型 Sheet -> sheet 的表名)。

Sheet.model_name.human # => "Beleg"
"Beleg".pluralize # => "Belegs"

你应该做的是使用 :count选项。
Sheet.model_name.human(:count => 2) # => "Belege"

这要求您已经修改了您的 de.yml像这样:
de:

  ...

  activerecord:

    ...

    models:
      sheet:
        one: Beleg
        other: Belege

关于ruby-on-rails - 在 rails3 中覆盖模型名称的默认复数形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6178900/

相关文章:

css - 为什么我的 Bootstrap clearfix 在我的 Rails 集合中中断?

iphone - 密码字段的本地化和错误键盘

c# - Humanizer 无法在 C# 中对意大利语单词进行单数化或复数化

ruby-on-rails - 如何在 Rails 的开发模式下自动重新加载每个请求的 gem 代码?

ruby-on-rails - 有谁知道与从Rails应用程序将事件导出到iCal,Google日历,Outlook相关的gem/plugins/tutorials吗?

swift - String.localizedStringWithFormat(_ :_:) for SwiftUI's LocalizedStringKey?) 等价于什么

android - 当应用程序从后台恢复时自动更改抽屉语言

ruby-on-rails - 在 Rails View 中处理英语多元化的最佳方法是什么?

c# - 用户消息的复数性

ruby-on-rails - Ruby on Rails : How to organize properly JS and CSS files?