Пример для множественных форм в файле перевода Yaml для Rails i18n API - PullRequest
5 голосов
/ 02 ноября 2011

Может кто-нибудь привести пример использования множественных форм в файле перевода Yaml для Rails i18n API.По сути, речь идет о переходе от приложения на основе gettext к Rails.

Множественные формы для a18n в Rails описаны здесь 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"

Как это будет выглядеть в файле .yml для Rails i18n API.Я понимаю, что Rails i18n использует уникальные ключи идентификатора, а не сами сообщения для ключей перевода - поэтому допустим, что ключ для вышеуказанных множественных сообщений - found_x_fatal_error.

Другая вещь - это формула выбора форм множественного числа, где она используетсяЗайдите в файл .yml и посмотрите, как он выглядит - например, у нас есть эта формула выбора из заголовка файла getpoxt .po:

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

Как это будет выглядеть в файле YAML.

1 Ответ

14 голосов
/ 02 ноября 2011

Вы можете настроить дополнительные параметры:

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

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

В зависимости от версии I18n это будет {{count}} или% {count} в файле yml.Более подробное объяснение можно найти здесь:

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

...