Forums / National / Russian / Зоопарк с окончаниями

Ratibor
#7496 2009-02-10 04:29
# medar : Поясните только, если эта фича будет внедрена - надо лэнги обязательно переписывать или можно юзать старые (без склонения в этом случае)?
Объясняю на пальцах.
Тем кто не уважает свой язык, или язык не поддерживающий склонения, ничего в ланг файлах переделывать не надо.
А для тех людей, кто уважает свой язык, переделка сводится к следующему(на примере плагина search):
для русского языка

ищем в ланг файле строку:

$L['plu_match'] = "совпадений";

и меняем ее на:

$L['plu_match'] = array('совпадение','совпадения','совпадений');

т.е. создаем массив array для трех склонений, первое это для значения 1, второе для значения 2 и третье для значения 5 и 0.

Все на этом переделка русского ланг файла закончена.

для английского языка

ищем в ланг файле строку:

$L['plu_match'] = "match(es)";

и меняем ее на:

$L['plu_match'] = array('matches','match');

т.е. создаем массив array для двух склонений, первое это для значений 0, 2 и т.д., второе для значения 1 .

Все на этом переделка английского ланг файла закончена.

Теперь переходим к самому плагину:
Ищем где в нем вызывается эта фраза, в данном случае в search.php ищем:
".$items." ".$L['plu_match']."

она там находится в 4 местах.
Меняем ее на :
".declension($items,$L['plu_match'])."

Все.

Повторю еще раз для любителей крупной бронитехники.
Эта переделка никак не влияет на другие языковые файлы.
Если к примеру к переделанному плагину вы добавите другой языковой файл, без доработки,
то он будет работать как и раньше.

# Trustmaster : Мне кажется, логичнее переопределение get_plural в ленгфайлах, либо использование группировки правил по языковым группам.
Дак и так зделана группировка по языковым группам.
Длинный свитч получился из-за того что туда практически были включены все языки.
Но мы маленько урезали и включили, только те, на которые есть ланг файлы в репозитарии(см. вариант чуть выше, там всего 38 строк).
Правила для других языков можно посмотреть к примеру тут:
http://translate.sourceforge.net/wiki/l10n/pluralforms

P.S. Надеюсь теперь все доступно объяснил ?
Не задавай глупых вопросов, не услышишь вранья.
This post was edited by Ratibor (2009-02-10 05:02, 15 years ago)