Множественные формы в Yii
Да, вам не показалось, в этот раз речь пойдет о PHP фреймворке Yii. И да простит меня домен третьего уровня… :)
Когда я работал с Zend Framework, мне очень понравилась их реализация множественных форм, о которых я уже когда-то рассказывал. Перейдя в свое время на Yii, я огорчился, узнав, что там подобной удобностью и не пахнет. Нет, я, разумеется, знал про CChoiceFormat
, который позволял использовать множественные формы примерно следующим образом:
CChoiceFormat::format('n%10==1 && n%100!=11#раз|n%10>=2 && n%10<=4 && (n%100>10 || n%100>=20)#раза|#раз', $data->views);
Но согласитесь, это ни разу не эстетично. И этой записи не было бы, если бы не случился выход Yii 1.1.6, в котором и появилась долгожданная и аккуратная, прописанная в файлах интернационализации, поддержка множественных форм. Теперь и в Yii все стало куда симпатичнее и “правильнее”. Аналог вышеописанного использования теперь выглядит так:
Yii::t('yii', 'раз|раза|раз', $data->views);
Приятного вам кодинга! :)