Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Многоязыковый сайт (http://forum.oszone.net/showthread.php?t=74371)

Buratino40 10-11-2006 16:45 509756

Многоязыковый сайт
 
Плиз-з! Подскажите пожалуйста как делаеться двух-трех языковый сайт? Может сайты делают на разных языках а потом как-то при помощи скрипта выбирается...Простите неграммотного юзера... :closed-to

XCodeR 10-11-2006 17:51 509791

Buratino40
Каким вы языком пользуетесь? PHP? Perl? или JS?(хм) решения могут быть разными.
Вот варианты для PHP:

1. написать функцию(а лучше класс(объект)) которая(ый) будет переводить все ваши слова.
Пример:
Файл translate.inc
PHP код:

<?
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
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

3. Большие тексты "выводить" из БД.
Т.е. есть таблица примерно следующей структуры:
Articles(
Language varchar[3],
Textt TEXT;
)

P.S. сам пользуюсь первым и третьим вариантами. GetText в полную силу не использовал, хотя технология весьма интересная, но со своими минусами.

benya 13-11-2006 12:55 510931

И кодировка utf-8


Время: 17:26.

Время: 17:26.
© OSzone.net 2001-