Просмотр поста

.
AlkatraZ
╭∩╮ (`-`) ╭∩╮
# ramzes (23.10.2016 / 20:47)
Альк, Чутка поофтоплю.
Глянь небольшой кодик, правильно ли я понял реализацию плюрализации?


// _plural(12, 'authors');

public function _plural($int, $key)
{

if($this->word
Не, там далеко не так просто, в PO файле есть что-то типа регулярки, которая задает правила множественных чисел, причем для каждого языка свое: https://github.com/Gazenwagen/ ... o#L28

Соответственно и реализация довольно сложная, с новой Симфонии ее (плюрализацию) к примеру вообще выпилили и предлагают вместо нее какое-то извращение. Во 2-й Симфонии плюралки были.
Вот пример моей старой реализации: https://github.com/Gazenwagen/ ... lural

Однако красивее всего плюрализация реализована у Зенда, они парсят непосредственно инструкцию из PO файла и обрабатывают ее, это лучший из вариантов.
---
Ну а реализация функции должна быть по правилам таковой (имя не важно):
translate($singular, $plural, $count)
Ты передаешь 3 аргумента: слово в единственном числе, слово во множественном числе и само число.
К примеру:
translate('apple', 'apples', 10)
на Русский переведет
(10) "яблок"
(1) "яблоко"
(3) "яблока"