2011-11-02 38 views
5

有人可以提供關於如何在Rails i18n API的Yaml翻譯文件中使用複數形式的示例。基本上這是關於從基於gettext的應用轉移到Rails。Rails i18n API的Yaml翻譯文件中的複數形式示例API

Rails中的a18n的複數形式記錄在這裏http://guides.rubyonrails.org/i18n.html#pluralization但有限的細節。

例如說我有一個從.po文件一gettext的使用複數形式此示例:

msgid "found %d fatal error" 
msgid_plural "found %d fatal errors" 
msgstr[0] "s'ha trobat %d error fatal" 
msgstr[1] "s'han trobat %d errors fatals" 

如何將這項看看在Rails的國際化API一個.yml文件。我知道Rails i18n使用唯一的id鍵而不是消息本身作爲翻譯鍵 - 所以可以說上面的複數消息的關鍵是found_x_fatal_error。

另一件事是複數形式選擇公式,當它走在.yml文件,它是如何看 - 比方說,我們有從gettext的.po文件標題此選擇公式:

Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1; 

它在YAML文件中的外觀如何。

+0

我覺得這個線程可以幫助你:http://stackoverflow.com/questions/6166064/i18n-pluralization – Frost

回答

14

您可以配置更多的選擇:

error_msg: 
    zero: none 
    one: 1 error 
    other: %{count} errors 

t('error_msg', :count => 15) 
=> 15 errors 

根據的I18n的版本,這將是{{count}}個或YML文件%{}計數。更多的解釋可以在這裏找到:

http://guides.rubyonrails.org/i18n.html#pluralization