Savio
Новичок
Вопрос о мультиязычности сайта
Пирет всем!
Воспользовавшись поиском на форуме почитал и понял, что по теме мультиязычности инфы предостаточно. Каждый хвалит свое болото. Я же пишу свою (чисто для себя) CMS. Возник вопрос локализации. Вижу для своей слудеющие ришения, прошу знающих подсказать лутший из хутших вариант
Попробую все предоставить на примитивном примере
Темплейт вайла
--- index.tpl ---
Привет {USER}!
В index.php использую шаблонизатор от PEAR
... $tpl->setVariable("USER",_USER)...
(не описываю детально, так как суть не в этом)
*) Первый вариант
- Определяю активный язык(храню в сесии), если нету то присваиваю язык по умолчанию (задаеться в конфиге).
- По ходу загрузки страницы каждый модуль и блок имеет свой языковый файл, в котором define(_CONST_NAME,"Value") и т.д. ... (в даном случии define(_USER,"Вася"))
*) Второй вариант
- Определяю активный язык(храню в сесии), если нету то присваиваю язык по умолчанию (задаеться в конфиге).
- Работает с БД (MySql). Создаем две таблици следующей структуры
table language
id, - айдишник языка 1 2
lang, - метка языка en ru
lang_name - название языка English Russian
table data
id - айдишник записи
id_lang - айдишник языка(для опредиления на каком языке дата)
user - значение
...
пример
table data
id 0 1
id_lang 1 2
user Vasja Вася
...
При появлении нового скажем так "объекта" на странице сайта, который нада переводить, просто добавляем field в таблицу
Далее делаем
$q="SELECT * from data where id_lang=".$id_lang;
$res=mysql_query($q);
$row=mysql_fetch_assoc($res)
После чего нужно делать или
$data['user']=$row['user']
...
$tpl->setVariable("USER",$data['user'])
...
или же как в первом способе
_USER=$row['user']
...
$tpl->setVariable("USER",_USER)
...
Подскажите плиз как будет быстрее и более рациональние а то уж запутался совсем
-
Пирет всем!
Воспользовавшись поиском на форуме почитал и понял, что по теме мультиязычности инфы предостаточно. Каждый хвалит свое болото. Я же пишу свою (чисто для себя) CMS. Возник вопрос локализации. Вижу для своей слудеющие ришения, прошу знающих подсказать лутший из хутших вариант
Попробую все предоставить на примитивном примере
Темплейт вайла
--- index.tpl ---
Привет {USER}!
В index.php использую шаблонизатор от PEAR
... $tpl->setVariable("USER",_USER)...
(не описываю детально, так как суть не в этом)
*) Первый вариант
- Определяю активный язык(храню в сесии), если нету то присваиваю язык по умолчанию (задаеться в конфиге).
- По ходу загрузки страницы каждый модуль и блок имеет свой языковый файл, в котором define(_CONST_NAME,"Value") и т.д. ... (в даном случии define(_USER,"Вася"))
*) Второй вариант
- Определяю активный язык(храню в сесии), если нету то присваиваю язык по умолчанию (задаеться в конфиге).
- Работает с БД (MySql). Создаем две таблици следующей структуры
table language
id, - айдишник языка 1 2
lang, - метка языка en ru
lang_name - название языка English Russian
table data
id - айдишник записи
id_lang - айдишник языка(для опредиления на каком языке дата)
user - значение
...
пример
table data
id 0 1
id_lang 1 2
user Vasja Вася
...
При появлении нового скажем так "объекта" на странице сайта, который нада переводить, просто добавляем field в таблицу
Далее делаем
$q="SELECT * from data where id_lang=".$id_lang;
$res=mysql_query($q);
$row=mysql_fetch_assoc($res)
После чего нужно делать или
$data['user']=$row['user']
...
$tpl->setVariable("USER",$data['user'])
...
или же как в первом способе
_USER=$row['user']
...
$tpl->setVariable("USER",_USER)
...
Подскажите плиз как будет быстрее и более рациональние а то уж запутался совсем
-