[Moscow.pm] Как делать сайт на нескольких языках с template toolkit

Andrei andrei.protasovitski на gmail.com
Пн Ноя 16 02:14:46 PST 2009


Так сначала надо man gettext. Потом perldoc и не нужен будет. :)

16 ноября 2009 г. 11:00 пользователь Mons Anderson <inthrax на gmail.com>написал:

> On Monday 16 November 2009 12:53:08 Dmitry E. Oboukhov wrote:
> > ИБ> Пока сильно хороших идей не появилось, поэтому хочу с вами
> > ИБ> посоветоваться. Однозначно, что это задача часто встречается и
> > ИБ> наверняка существует множество хороших решений.
> >
> > ИБ> Пока я думаю в такую сторону. Сейчас есть главная страница index.tt,
> > ИБ> вместо нее я хочу сделать index.ru.tt и index.en.tt. В записимосит
> от
> > ИБ> того, какой язык выбрал пользователь ему будет отображаться либо один
> > ИБ> шаблон, либо другой. Это все просто реализовать, но не супер
> > ИБ> элементарно будет поддерживать (нужно будет не забывать что-то менять
> > ИБ> в обоих шаблонах). С другой стороны у меня еще есть javascript,
> > ИБ> который тоже что-то рисует на страницах. Для js я сейчас планирую
> > ИБ> сделать массив myText, где у меня будет хранится все строки на нужном
> > ИБ> мне языке, которые js у меня будет выводить.
> >
> > ИБ> Вообще, хотелось бы, чтобы и js и perl использовал одну и ту же базу
> > ИБ> строк (следить за одной системой всегда проще чем за нескольким), но
> > ИБ> при этом хочется, чтобы наличие этой базы не сильно усложняло систему
> > ИБ> и не сильно замедляло ее работу.
> >
> > у меня тоже пара маленьких проектов таких есть (даж один на 10 языков уже
> > перевели), небольшой опыт в этом вопросе
> >
> > так вот очень хорошо если переводы пойдут через какую-то стандартную
> > систему. например po-файлы от gettext. но тут возникает одна небольшая
> > трабла: не для всех форматов файлов есть экстракторы строк. то есть
> > какой-либо XML или C запросто, а с html+TT я что-то искал искал и не
> > нашел ничего приличного. в итоге пришел к такой структуре:
> >
> > в корне проекта Makefile
> > в каталоге tt/ лежит шаблон шаблонов (один или несколько)
> > далее по команде make
> > самописный скрипт извлекает из указанных источников все помеченное
> > тегами <gt>...</gt> и кладет в .po
> > далее работа с этими po стандартными gettext'овыми утилитами (клеим их
> > в один большой .po и кладем в какое-то место где переводчик может
> > найти, ну а make далее ищет po-шки вида LANG.po и из них из шаблона
> > шаблонов собирает
> > index.ru.tt, index.cs.tt и даже blah.cs.cgi
> >
> > недостатков два:
> >  - велосипед на экстракт/сборку таргета
> >  - после каждой правки главного шаблона надо звать make
> >
> > однако плюсы по моему важнее:
> >  - с форматом .po переводчики хорошо умеют работать, если проект
> >    интересный скоро очень появится множество языков
>
> А можно примерчик мейкфайла?
>
> Я честно говоря попробовал с геттекстом поработать, и во первых меня
> удручил
> набор модулей (все какие-то кривоватые), во вторых отсутствие внятной
> документации как это курить.
>
> --
> Vladimir Perepelitsa aka Mons Anderson
> <inthrax на gmail.com> / #99779956
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
Andrei Protasovitski
< andrei[dot]protasovitski[at]gmail[dot]com >
Diemen, Netherlands
----------- следущая часть -----------
Вложение в формате HTML было извлечено&hellip;
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20091116/95f2f8d0/attachment-0001.html>


Подробная информация о списке рассылки Moscow-pm