2012-07-03 15 views
10

私はモデルを持っています、それは車両と呼ばれています。モデルの複数形を変換する

私の翻訳では、モデルがなければなりません: 車両=> Fahrzeug 車=> Fahrzeuge

私はロケール・ファイルにこれを設定しようとしましたが、それはうまくいきませんでした:

activerecord: 
    models: 
     vehicle: Fahrzeug 
     vehicles: Fahrzeuge 

答えて

21

ActiveRecordのは、最初のモデル翻訳について知っているdosn'tその後、この文字列を複数形デフォルト

:count => 1 

でI18n.translateを使用してモデル名を変換します。

しかし、人間は、オプションを受け付けますので、

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

一緒に複数形の翻訳とトリックん:

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

異なる言語には複数の異なる規則があるので、[this table](http://unicode.org/repos/ cldr-tmp/trunk/diff/supplemental/language_plural_rules.html)の可能性があります興味深い。 – martin

+0

インデックスのヘッダーにはどのようなアラブ人が使用しますか? 「少数」または「多数」?知りません。しかし、あなたは ':few ='には ':count => 8'、多くは':count => 70'を使うことができます。あなたがその量を知っているならば、あなたはそれを '人間 'に渡すことができます。 –

0

あなたはただ一歩です:レール4でhttp://guides.rubyonrails.org/i18n.html#pluralization

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

これはmany 012から変更されているようです

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

何とかそれはまだ「Fahrzeugs」 – Mark

+0

私は考えることができる唯一の他の事に車を翻訳しませんofは "inflections.rb"ファイルですが、私はそれが助けになるとは思わない... – phoet

-1

あなたはother代わりのmanyを試してみましたか?それは少なくとも私のために働いた。私はRails 3.2.3です。

関連する問題