2012-07-03 4 views
10

У меня есть модель, которая называется транспортной.Перевести модель множественного числа модели

В моем переводе модель должна быть: автомобиля => Fahrzeug машины => Fahrzeuge

Я попытался установить это в локалей файл, но он не работает:

activerecord: 
    models: 
     vehicle: Fahrzeug 
     vehicles: Fahrzeuge 

ответ

21

ActiveRecord первым переводится название модели, используя I18n.translate с невыполнением

:count => 1 

плюрализация эту строку после dosn't знать о модели перевода.

Но, человек принимает варианты так

Vehicle.model_name.human(:count => 2) 

делает трюк вместе с множественными переводами:

de: 
    activerecord: 
    models: 
     vehicle: 
     one: 'Fahrzeug' 
     other: 'Fahrzeuge' 
+1

Поскольку разные языки имеют разные правила множественного числа, посмотрите на [эту таблицу] (http://unicode.org/repos/ cldr-tmp/trunk/diff/supplemental/language_plural_rules.html) может быть интересным. – martin

+0

так что бы арабский poeple использовал в заголовке индекса? 'несколько' или' много'? Я не знаю. Но вы можете использовать ': count => 8' для' few' или ': count => 70' для многих. Если вы знаете сумму, вы можете передать ее «человеку». –

0

вы только один этап: http://guides.rubyonrails.org/i18n.html#pluralization

activerecord: 
    models: 
     vehicle: 
     one: Fahrzeug 
     many: Fahrzeuge 

в рельсах 4 это, кажется, изменяется от many до other

en: 
    activerecord: 
    models: 
     user: 
     one: Dude 
     other: Dudes 
+0

как-то это все-таки переводить автомобили на «Fahrzeugs» – Mark

+0

единственной вещью, что я могу думать из файла «inflections.rb», но я не думаю, что это помогло бы ... – phoet

-1

Вы пробовали other вместо many? Это работало для меня, по крайней мере. Я на Rails 3.2.3.

Смежные вопросы