![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
GoDleSS |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 11.2.2007 Где: Пироговский Репутация: 2 Всего: 2 |
Добрый день, уважаемые коллеги по интересу к perl!
Вот захотелось обсудить тему, наверняка насущную для многих из вас. А именно различные вариации обработки многоязыковой поддержки программного комплекса. Сейчас вообще модно(да и адекватна сия мода имхо) разделение верстки, контента и текстового наполнения. Варианты, которые я применял на данный момент: 1. Создаем несколько групп одноименных файлов(если программка маленькая - несколько одноименных файлов), размешаем, скажем
, размещаем в файлах данные в виде keyN = valueN. Продолжать не стоит. 2. Создаем в шаблонах включения вида {valueN}, которое по одной группе файлов(таблице в БД) в зависимости от языка в переменной окружения выбирается для данного языка. Допустим есть некий шаблон, в нем видим запись:
пусть переменная окружения стоит в значении "EN" и файл языков выглядит
, тогда интерпритируем запись, как $lang{start page}[0], "RU" - как $lang{start page}[1], "FR" - как $lang{start page}[2] +/- 1. Простота реализации при небольшом объеме, малая нагрузка на исполняющую машину. Подходит для скриптовых систем с малыми объемами вывода. 2. Более сложная реализация, большая нагрузка на сервер(особенно больше памяти используется). Но и большее удобство применения. Хотелось бы услышать комментарии по данным двум подходам. А также какие еще варианты можете предложить? ЗЫ: кинул в perl форум, т.к. пишу в основном на данном языке ![]() Это сообщение отредактировал(а) GoDleSS - 1.4.2008, 13:57 --------------------
It's a nice day to die my friend! |
||||||
|
|||||||
BlackLFL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 15.9.2005 Где: Москва Репутация: 8 Всего: 12 |
Перво-наперво, шаблон должен быть полностью отделен от кода.
Далее используем следующий подход: Данные, XML. Шаблон, XSL. Преобразование отдаем либо серверу, используя библиотеку libxml, либо браузеру. Примеры наложения XML&XSL, можно посмотреть на официально сайте, либо у меня http://blackframework.com/documentation/ Это сообщение отредактировал(а) BlackLFL - 2.4.2008, 16:25 |
|||
|
||||
GoDleSS |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 11.2.2007 Где: Пироговский Репутация: 2 Всего: 2 |
Это естественно, предложенные мной варианты также отдельны от основного кода. НО: при использовании первого варианта зачастую очень много в шаблонах дряни вроде
а зачастую еще и ветвлений, циклов. Это при использовании Template::Toolkit или
при использовании HTML::Template Это одна из причин, по которым не стоит применять в серьезных проектах. ЗЫ: на XSL еще не перешел, хотя ряд плюсов есть в данной технологии. --------------------
It's a nice day to die my friend! |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |