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

Главные вкладки

Аватар пользователя vectoroc vectoroc 7 сентября 2009 в 21:56

Искал, уже решил накатать патч в ядро (и накатал...), но тов. 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 байт

Комментарии

Аватар пользователя axel axel 8 сентября 2009 в 2:08

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