Ratibor |
|
---|---|
# 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. Надеюсь теперь все доступно объяснил ? Не задавай глупых вопросов, не услышишь вранья.
|
|
Dit bericht is bewerkt door Ratibor (2009-02-10 05:02, 16 jaren ago) |