Поддержка русских словоформ в format_plural

Аватар пользователя vectoroc

Искал, уже решил накатать патч в ядро (и накатал...), но тов. Ilya_1st подсказал, что этот вопрос решается через трансляции в .po файле.

В начале .po файла должны быть строки

"Plural-Forms: nplurals=3; plural=((((n%10)==1)&&((n%100)!=11))?"
"(0):(((((n%10)>=2)&&((n%10)<=4))&&(((n%100)<10)||((n%100)>=20)))?(1):2));"

Далее

msgid "Bulk generation of index aliases completed, one alias generated."
msgid_plural ""
"Bulk generation of index aliases completed, @count aliases generated."
msgstr[0] ""
"Массовое обновление индекса синонимов завершено, @count синоним сгенерирован."
msgstr[1] ""
"Массовое обновление индекса синонимов завершено, @count синонима "
"сгенерировано."
msgstr[2] ""
"Массовое обновление индекса синонимов завершено, @count[2] синонимов "
"сгенерировано."

Пример из pathauto/translations/ru.po

ВложениеРазмер
Файл format_plural.patch1011 байт
Ключевые слова:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя axel
axel 8 лет назад

Ну вообще-то да, поддержка множественных чисел имеется в библиотеке gettext, принципы которой взяты за основу локализации в Drupal. Для понимания локализации рекомендуется ознакомиться с http://www.gnu.org/software/gettext/manual/gettext.html (поможет с локализацией и других программ, т.к. gettext - стандарт де факто в юниксе).

Аватар пользователя vectoroc
vectoroc 8 лет назад

В api format_plural, t об этом ничего не сказано, хотя, на мой взгляд, стоило бы.