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

Иван Бессарабов ivan на bessarabov.ru
Пн Ноя 16 01:39:03 PST 2009


Привет!

Есть простенький сайт на перле (не каталист, не моджо), который
использует template toolkit в качестве шаблонизатора.
Проект совсем простой и даже тот факт, что он сделан просто как cgi
его особо не портит.
Кроме перла еще в проекте используется javascript (пользователь нажал
на кнопку - ajax запрос к perl скрипту, js получает ответ, выдает
сообщение).

Все работает, все отлично.

Сейчас весь сайт на русском. Появилась необходимость сделать версию на
английском языке (а потом, возможно еще языки добавятся).

Вот, сейчас размышляю, как бы это сделать покрасивее и чтобы это было
как можно проще поддерживать в дальнейшем.

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

Пока я думаю в такую сторону. Сейчас есть главная страница index.tt,
вместо нее я хочу сделать index.ru.tt и index.en.tt. В записимосит от
того, какой язык выбрал пользователь ему будет отображаться либо один
шаблон, либо другой. Это все просто реализовать, но не супер
элементарно будет поддерживать (нужно будет не забывать что-то менять
в обоих шаблонах). С другой стороны у меня еще есть javascript,
который тоже что-то рисует на страницах. Для js я сейчас планирую
сделать массив myText, где у меня будет хранится все строки на нужном
мне языке, которые js у меня будет выводить.

Вообще, хотелось бы, чтобы и js и perl использовал одну и ту же базу
строк (следить за одной системой всегда проще чем за нескольким), но
при этом хочется, чтобы наличие этой базы не сильно усложняло систему
и не сильно замедляло ее работу.

Вот я и подобрался к вопросу: как вы считаете. как лучше всего решать
эту задачу?

PS слава богу у меня задача очень простая, у меня нет там фраз типа "у
вас 18 яблок", так что мучатся с сопряжением слов с числительными мне
не нужно.

-- 
bessarabov


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