Есть прекрасная новость: начиная с версии 1.9 Zend Framework поддерживает плюрализации. Нет вы не ослышались.
На первомай Томас (автор оригинальной статьи) добавил шикарную возможность в Zend_Translate и сегодня (20 июля) она была принята командой Zend. Поддержка плюрализации зависит от адаптера и доступна только с Array, Csv или Gettext (но мы то все уже на геттексте, да?). Пока Томас не нашел способа реализовать поддержку для других адаптеров — если у вас есть идеи по этому поводу — свяжитесь с ним.
Но во многих языках множественных форм слова больше одной, в отличие от английского языка, и реализация будет выглядеть следующим образом:
Более подробная информация будет в документации.
На первомай Томас (автор оригинальной статьи) добавил шикарную возможность в Zend_Translate и сегодня (20 июля) она была принята командой Zend. Поддержка плюрализации зависит от адаптера и доступна только с Array, Csv или Gettext (но мы то все уже на геттексте, да?). Пока Томас не нашел способа реализовать поддержку для других адаптеров — если у вас есть идеи по этому поводу — свяжитесь с ним.
Как это работает
$translate->plural('Car', 'Cars', $number);
$translate->translate(array('Car', 'Cars', $number));
* This source code was highlighted with Source Code Highlighter.
Но во многих языках множественных форм слова больше одной, в отличие от английского языка, и реализация будет выглядеть следующим образом:
$translate->translate(array('Auto', 'Autos', 'Auti', 'Autom', $number));
* This source code was highlighted with Source Code Highlighter.
Более подробная информация будет в документации.