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

时间:2011-11-02 10:26:05

标签: ruby-on-rails internationalization yaml gettext

有人可以提供一个如何在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"

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

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

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

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

1 个答案:

答案 0 :(得分:14)

您可以配置更多选项:

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

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

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

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