単数形と複数形で変化する言語の単語を I18n で出し分ける方法です。
en.yml
単数時 (one) とそれ以外を例えば下記のように定義します。
en:
apple:
zero: no apple
one: apple
other: apples
呼び出す時は、下記のようにして count
として数字を渡します。
<%= t('apple', count: 0) %> -> no apple
<%= t('apple', count: 1) %> -> apple
<%= t('apple', count: 5) %> -> apples
日本語は数によらず同じ文言にしたい場合は、 ja.yml
の apple
キーに直接文言を指定します。
ja:
apple: りんご
出力時は、 count は無視されて常に「りんご」が表示されます。
<%= t('apple', count: 0) %> -> りんご
<%= t('apple', count: 1) %> -> りんご
<%= t('apple', count: 5) %> -> りんご