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

Пнд, 07/09/2009 - 17: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

0 Спасибо

Комментарии

Аватар пользователя axel
7 лет 5 months назад axel #

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

0 Спасибо
Аватар пользователя vectoroc
7 лет 5 months назад vectoroc #

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

0 Спасибо