Jump to content

Report

  • Similar Content

    • By valdemark
      Сразу напишу, я чайник, и можно сказать "непонимэ" посему будьте любезны - поподробнее 
       
      Дано: есть условная страница index.php на которой вывод сообщений нужно сделать на четырех или больше языках.
       
      Нажатие кнопки запускает скрипт который записывает куку по которой определяется язык пользователя. 
       
      Если кука не задана, язык выводится по умолчанию, если задана, то согласно значению куки. 
       
      И как всегда что-то не работает... кука не пишется. А что не так я понять не могу... Уже пол дня верчу и так и этак...
       
       
      Я накидал такой код:
      <!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>Мультиязычность</title><script> function is_en() { var cookie_name = "lang"; // Имя куки var lang_id = document.getElementById("button_en").value; //Получаем значение куки по нажатию на кнопку expires = new Date(); expires.setTime(expires.getTime() + (1000 * 86400 * 365)); // Вычисляем срок хранения cookie set_cookie(cookie_name, lang_id, expires); // Устанавливаем куку с помощью функции set_cookie } function is_ru() { var cookie_name = "lang"; var lang_id = document.getElementById("button_ru").value; expires = new Date(); expires.setTime(expires.getTime() + (1000 * 86400 * 365)); set_cookie(cookie_name, lang_id, expires); } function is_fr() { var cookie_name = "lang"; var lang_id = document.getElementById("button_fr").value; expires = new Date(); expires.setTime(expires.getTime() + (1000 * 86400 * 365)); set_cookie(cookie_name, lang_id, expires); } function is_de() { var cookie_name = "lang"; var lang_id = document.getElementById("button_de").value; expires = new Date(); expires.setTime(expires.getTime() + (1000 * 86400 * 365)); set_cookie(cookie_name, lang_id, expires); </script> <style> </style> </head> <body> <?php/*Проверяем есть ли кука*/ if (isset($_COOKIE['lang'])){ $langCode = $_COOKIE['lang']; /*если она есть выбираем файл языка по куке*/ } else { $langCode = 'ru'; /*если куки нет язык по умолчанию - русский*/ } include $_SERVER['DOCUMENT_ROOT'].'/language/lang_'.$langCode.'.php'; /*присоединяем файл с языком*/ ?> <p> <?php echo $lang['error'];?> </p> <!-- Тут выводится мультиязычное сообщение --> <p> <?php echo $_COOKIE['lang'];?> </p> <!-- Тут я проверяю что за кука записана в текущий момент --> <p><input type="button" id = "button_en" value="en" onclick="is_en()"></p> <p><input type="button" id = "button_ru" value="ru" onclick="is_ru()"></p><p><input type="button" id = "button_fr" value="fr" onclick="is_fr()"></p><p><input type="button" id = "button_de" value="de" onclick="is_de()"></p> </body></html>и четыре языковых файла. следующего содержания
       lang_ru.phplang_en.phplang_fr.phplang_de.php <?php $lang['error'] = "Ошибка";?> и <?php $lang['error'] = "Error";?> и т.д.          
       
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy