ИБ> Пока сильно хороших идей не появилось, поэтому хочу с вами
ИБ> посоветоваться. Однозначно, что это задача часто встречается и
ИБ> наверняка существует множество хороших решений.

ИБ> Пока я думаю в такую сторону. Сейчас есть главная страница 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 переводчики хорошо умеют работать, если проект
   интересный скоро очень появится множество языков



-- 
... mpd is off

. ''`.                               Dmitry E. Oboukhov
: :’  :   email: [email protected] jabber://[email protected]
`. `~’              GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537

Attachment: signature.asc
Description: Digital signature

--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить