За последние 24 часа нас посетили 23210 программистов и 1699 роботов. Сейчас ищут 1577 программистов ...

Недогоняю

Тема в разделе "Вопросы от блондинок", создана пользователем IGORDDEMLin, 11 апр 2006.

  1. IGORDDEMLin

    IGORDDEMLin Активный пользователь

    С нами с:
    11 апр 2006
    Сообщения:
    3
    Симпатии:
    0
    Здрасте
    Скажите как создать сайт на нескольких языках только ненадо посылать на яндекс гугл (уже всё обшарил) или говорить сделай два сайта.
    Мне надо чтоб пользователь нажимая на "русская версия"загружалась русская версия из например файла ru.php, а нажимая на "английская версия" соответственно из файла en.php
    А вот как это всё сделать нескажите????
     
  2. shix

    shix Активный пользователь

    С нами с:
    12 апр 2006
    Сообщения:
    1
    Симпатии:
    0
    Ну, это элементарно.
    Делаешь в индекс файле:
    Код (Text):
    1. include('languages/'.$_REQUEST['lang'].'.php');
    где "languages" - папка, в которой хранятся файлы "ru.php" и "en.php"
    и в ссылке передаешь
    index.php?lang=ru
    или
    index.php?lang=en
     
  3. IGORDDEMLin

    IGORDDEMLin Активный пользователь

    С нами с:
    11 апр 2006
    Сообщения:
    3
    Симпатии:
    0
    А неработает. А ещё какнить нельзя? Просто срочно надо. :(
     
  4. IGORDDEMLin

    IGORDDEMLin Активный пользователь

    С нами с:
    11 апр 2006
    Сообщения:
    3
    Симпатии:
    0
    Просто некоторые на других форумах пишут что надо навороченные скрипты писать и ваще это всё сложно.
     
  5. oODrAgoNOo

    oODrAgoNOo Активный пользователь

    С нами с:
    6 апр 2006
    Сообщения:
    21
    Симпатии:
    0
    При разборке форума под названием: Invision Power Board, выяснилось, что многоязыковость заключается в исключительном написании "словаря"... А слова берутся переводимые из кода программы! И всё
     
  6. Danilevsky

    Danilevsky Активный пользователь

    С нами с:
    12 фев 2006
    Сообщения:
    286
    Симпатии:
    0
    Адрес:
    Киев
    IGORDDEMLin, тебе человек хороший вариант подсказал. чего это он не работает?
     
  7. Danilevsky

    Danilevsky Активный пользователь

    С нами с:
    12 фев 2006
    Сообщения:
    286
    Симпатии:
    0
    Адрес:
    Киев
    ХРЕНЬ. Есть такие люди, звутся они переводчиками, так вот, узнай каков процент из них может читать код программы и вписывать туда перевод. И так же узнай каков процент из них могут по-ошибке чего-то в коде исправить. Когда думеашь о цели, важно так же не забывать про средства. Тоесть по этому варианту переводчик должен работать в паре с программистом, а это нехорошо. А если сайт активно обновляется? Как тогда работать?
     
  8. ONK

    ONK Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    281
    Симпатии:
    0
    Адрес:
    СПб
    Danilevsky, если CMS сайта поддерживает многоязыковой интерфейс, то она должна иметь инструмент, упрощающий перевод, добавление поддержки новых языков, поиск фраз с использованием различных режимов и т.д. и т.п. Именно после этого можно сказать, что CMS поддерживает многоязычность. А включение файлов типа mod_name_ru_lang.php это всего лишь поделка, точнее ручная организация многоязычности.
     
  9. el

    el Активный пользователь

    С нами с:
    23 окт 2006
    Сообщения:
    51
    Симпатии:
    0
    Адрес:
    Ташкент
    это все конечно хорошо, но тут у меня вопрос назрел:
    Код (Text):
    1. <a href="<? echo $_SERVER['PHP_SELF']; ?>">Русский</a> | <a href="<? echo $_SERVER['PHP_SELF'].'?lang=en'; ?>">English</a>
    это конечно же работает, НО! когда надо в ссылке дежать не только переменную ЛАНГ но и АйДи? ссылка выглядит примерно /index.php?lang=ru&id=2 . если в таком случае нажать на ссылку "English", то ссылка будет иметь вид /index.php?lang=ru&id=2?lang=en , что естественно вводит сервер в заблуждение.

    подскажите пожалуйста как легче сделать, или может не трогать вообще этот ПХПСЕЛФ? (хотелось бы чтобы отображалась на другом языке именно та страница, Где пользователь нажал на другой язык)

    понимаю, что пост старый, но все же добавлю, мало - ли пригодится кому: Не хрень это, переводчик в данном случае лазиет не по целой странице с кодом, а по обычному документу, например:
    Код (Text):
    1. define("DBLAN_1", "Основные параметры настройки, скопированные в базе данных.");
    2. define("DBLAN_2", "Щелкните кнопку, чтобы сохранить копию вашей e107 базы данных");
    3. define("DBLAN_3", "Резервирование базы данных SQL");
    и т.д. таким образом перевод становится простым и почти безопасным для работоспособности кода. Для пущей безопасности вообще можно это в форму вывести чтоб перевёл и сохранил.
     
  10. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    el
    session_start()
     
  11. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    уже обсуждалось.

    Представляю... DBLAN_1412 :)
     
  12. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    el
    из простейших вариантов:

    в конфиге:
    PHP:
    1. <?php
    2. $siteneme = 'http://example.com/';
    3. $system_languages = array('eng','rus');
    4. $default_language = 'eng';
    5. ?>
    ссылку в виде:
    HTML:
    1. <a href="changelang.php?lang=rus">Русский</a>
    changelang.php
    PHP:
    1. <?php
    2. include 'файл конфига';
    3.  
    4. $ref = isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:$site_name;
    5.  
    6. if(isset($_GET['lang']))
    7.     if(in_array($_GET['lang'],$system_languages))
    8.  
    9.     setcookie('language',$_GET['lang'],time()+60*60*24*365,'/');
    10.     header('Location: '.$ref); die;
    11.     }
    12.     else
    13.         die('Такого языка нет');
    14. ?>
    ну и при выводе, как-нибудь так:
    PHP:
    1. <?php
    2. if(isset($_COOKIE['language'])){
    3.     if(in_array($_COOKIE['language'],$system_languages))
    4.        $lang = trim($_COOKIE['language']);
    5.     else
    6.         $lang = $default_language;
    7. }
    8. else
    9.     $lang = $default_language;
    10. setcookie('language',$lang,time()+60*60*24*365,'/');
    11.  
    12. include('languages/'.$lang.'.php');
    13. ?>
     
  13. creage

    creage Активный пользователь

    С нами с:
    12 мар 2008
    Сообщения:
    131
    Симпатии:
    0
    Адрес:
    Киев
    я юзаю SmartyML - надстройка над Smarty. принцип тот же - подгрузка нужного файла, но в этом классе все реализовано очень удобно.
     
  14. el

    el Активный пользователь

    С нами с:
    23 окт 2006
    Сообщения:
    51
    Симпатии:
    0
    Адрес:
    Ташкент
    Спасибо.
     
  15. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    IGORDDEMLin
    Читайте правила форума. Вам первое серьёзное предупреждение. По правилам вашу тему следовало бы удалить.
     
  16. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    Hight
    :D
     
  17. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Археологи-юмористы
     
  18. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    некрофилы, хотя человек нашёл поднимавшуюся уже тему (!), причём у темы абсолютно невменяемое название (!!!) Респект ему вобщем :)
     
  19. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Luge
    Я бот сегодня.
     
  20. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Пожалуй стоит извинится перед el: пока до вашего поста дошел, автор уже порядком успел вывести меня из себя.
    Так что, извините.

    да уж...

    в этой теме что-то подобное обсуждалось, где-то со второй страницы
     
  21. el

    el Активный пользователь

    С нами с:
    23 окт 2006
    Сообщения:
    51
    Симпатии:
    0
    Адрес:
    Ташкент
    не, ребят, археолог не археолог, но это единственная тема, которая вылезла по запросу на "многоязыковость" так что я особо не выбирал.
     
  22. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    После этого tmanager создал топик, где решил подойти к проблеме многоязычности более серьезно, тоже большая дискуссия получилась
     
  23. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    еще есть вот тут

    После Вашего ознакомления с удовольствием отвечу на любые вопросы ( если будет в моей компетенции)