yml with spanish rails in18 i18n example ruby-on-rails localization pluralize

ruby-on-rails - spanish - rails i18n with parameters



anular pluralidad por defecto para nombre-modelo en rails3 (3)

En primer lugar, debe dejar de usar .pluralize . Utiliza el Inflector (que se usa principalmente para los internos de Rails, por ejemplo, adivinar los nombres de las tablas para la Hoja modelo -> hojas).

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

Lo que debes hacer es usar la opción :count .

Sheet.model_name.human(:count => 2) # => "Belege"

Esto requiere que hayas modificado tu de.yml como tal:

de: ... activerecord: ... models: sheet: one: Beleg other: Belege

mi local es: de y me gusta obtener esto:

Sheet.model_name.human.pluralize # => Belegs

para agregarme una "e" al final en lugar de "s"

Sheet.model_name.human.pluralize # => Belege

sólo para la clase de hoja. ¿Puedo agregarlo de alguna manera en mi config / locales / models / de.yml?


Puedes anular las pluralizaciones de esta manera:

En config/initializers/inflections.rb

hacer:

ActiveSupport::Inflector.inflections do |inflect| inflect.irregular ''Beleg'', ''Belege'' end


Si no te gusta el número de conteo explícito (como 2), puedes usar :many por ejemplo,

Sheet.model_name.human(count => :many)

o sin cohete hash (para Ruby> = 1.9):

Sheet.model_name.human(count: :many)