Rails i18n API的Yaml转换文件中的复数形式的示例

Bas*_*ani 5 yaml ruby-on-rails gettext internationalization

有人可以提供一个如何在Rails i18n API的Yaml翻译文件中使用复数形式的示例.基本上这是关于从基于gettext的应用程序转移到Rails.

Rails中a18n的复数形式在此处记录了 http://guides.rubyonrails.org/i18n.html#pluralization,但细节有限.

比方说,我有一个使用复数形式的gettext .po文件中的这个示例:

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"
Run Code Online (Sandbox Code Playgroud)

如何在Rails i18n API的.yml文件中查找.据我所知,Rails i18n使用唯一的id键而不是消息本身用于翻译键 - 所以让我们说上面复数消息的密钥是found_x_fatal_error.

另一个是复数形式选择公式,它在.yml文件中的位置以及它的外观 - 例如我们从gettext .po文件头中有这个选择公式:

Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;
Run Code Online (Sandbox Code Playgroud)

它在YAML文件中的外观如何?

san*_*xus 14

您可以配置更多选项:

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

t('error_msg', :count => 15)
=> 15 errors
Run Code Online (Sandbox Code Playgroud)

根据I18n的版本,yml文件中的{{count}}或%{count}.可以在这里找到更多解释:

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