Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Langpacks различные вариации, "+" и "-" 
:(
    Опции темы
GoDleSS
Дата 31.3.2008, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 11.2.2007
Где: Пироговский

Репутация: 2
Всего: 2



Добрый день, уважаемые коллеги по интересу к perl!

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

Варианты, которые я применял на данный момент:
1. Создаем несколько групп одноименных файлов(если программка маленькая - несколько одноименных файлов), размешаем, скажем
Код

lang/ru
lang/en
...

, размещаем в файлах данные в виде keyN = valueN. Продолжать не стоит.

2. Создаем в шаблонах включения вида {valueN}, которое по одной группе файлов(таблице в БД) в зависимости от языка в переменной окружения выбирается для данного языка.
Допустим есть некий шаблон, в нем видим запись:
Код

<title>{start page}</title>

пусть переменная окружения стоит в значении "EN" и файл языков выглядит
Код

...
start page = стартовая страница = de départ page = ...
...

, тогда интерпритируем запись, как $lang{start page}[0], "RU" - как $lang{start page}[1], "FR" - как $lang{start page}[2]


+/-
1. Простота реализации при небольшом объеме, малая нагрузка на исполняющую машину. Подходит для скриптовых систем с малыми объемами вывода.
2. Более сложная реализация, большая нагрузка на сервер(особенно больше памяти используется). Но и большее удобство применения.

Хотелось бы услышать комментарии по данным двум подходам.
А также какие еще варианты можете предложить?

ЗЫ: кинул в perl форум, т.к. пишу в основном на данном языке smile


Это сообщение отредактировал(а) GoDleSS - 1.4.2008, 13:57
--------------------
It's a nice day to die my friend!
PM MAIL WWW ICQ   Вверх
BlackLFL
Дата 2.4.2008, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 15.9.2005
Где: Москва

Репутация: 8
Всего: 12



Перво-наперво, шаблон должен быть полностью отделен от кода.

Далее используем следующий подход: 
Данные, XML.
Шаблон, XSL.

Преобразование отдаем либо серверу, используя библиотеку libxml, либо браузеру.

Примеры наложения XML&XSL, можно посмотреть на официально сайте, либо у меня http://blackframework.com/documentation/

Это сообщение отредактировал(а) BlackLFL - 2.4.2008, 16:25
PM WWW   Вверх
GoDleSS
Дата 2.4.2008, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 11.2.2007
Где: Пироговский

Репутация: 2
Всего: 2



Цитата

Перво-наперво, шаблон должен быть полностью отделен от кода.

Это естественно, предложенные мной варианты также отдельны от основного кода.
НО: при использовании первого варианта зачастую очень много в шаблонах дряни вроде
Код

<title>[% LANG.baseHeader %] - [% LANG.headerIndex %]</title>

а зачастую еще и ветвлений, циклов.
Это при использовании Template::Toolkit
или
Код

<title><TMPL_VAR NAME="BASEHEADER"> - <TMPL_VAR NAME="HEADERINDEX"></title>

при использовании HTML::Template

Это одна из причин, по которым не стоит применять в серьезных проектах.

ЗЫ: на XSL еще не перешел, хотя ряд плюсов есть в данной технологии.
--------------------
It's a nice day to die my friend!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1049 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.