Показать полную графическую версию : Многоязыковый сайт
Buratino40
10-11-2006, 16:45
Плиз-з! Подскажите пожалуйста как делаеться двух-трех языковый сайт? Может сайты делают на разных языках а потом как-то при помощи скрипта выбирается...Простите неграммотного юзера... :closed-to
Buratino40
Каким вы языком пользуетесь? PHP? Perl? или JS?(хм) решения могут быть разными.
Вот варианты для PHP:
1. написать функцию(а лучше класс(объект)) которая(ый) будет переводить все ваши слова.
Пример:
Файл translate.inc
<?
class MultiLanguage
{
var $lan, $words;
function MultiLanguage($language)
{
$this->lan = $language;
$words["ru"]["тест"] = "тест";
$words["eng"]["тест"] = "test";
$words["fr"]["тест"] = "la test";
}
function Translate($word, $ec = 1)
{
if($ech == 1)
echo $this->word[$this->lan][$word];
else
return $this->word[$this->lan][$word];
}
}
?>
Пример использования:
файл index.html
<?
include "translate.inc";
$T=new MultiLanguage;
$T->lan = "eng"; //устанавливаем текущий язык.
?>
<html>
<body>
<? $T->Translate("тест"); // выведет "test"
$T->lan="fr"
$w=$T->Translate("тест",0); // w = "la test"
echo $w;
?>
</body>
</html>
2. Использовать gettext (http://ru.php.net/gettext)
3. Большие тексты "выводить" из БД.
Т.е. есть таблица примерно следующей структуры:
Articles(
Language varchar[3],
Textt TEXT;
)
P.S. сам пользуюсь первым и третьим вариантами. GetText в полную силу не использовал, хотя технология весьма интересная, но со своими минусами.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.