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 <[email protected]> / #99779956 -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
