Jump to content

valdemark

Newbie
  • Posts

    8
  • Joined

  • Last visited

valdemark's Achievements

Explorer

Explorer (1/14)

0

Reputation

  1. Спасибо за код, но суть в том что вещь которую я делаю не должна автоматом определять язык пользователя. Т.к. она больше для туристов, которые приходят на сайт с разных терминалов, откуда угодно, где языки системы левые. Зашел, нажал на свой язык и профит... В GET можно вставить всякое, но раз так, продублирую, на случай отключенных кукисов...
  2. Я нашёл решение! Всё просто и красиво... <!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>Мультиязычность</title><script> function SetLang(c_name,value,expiredays) { var exdate=new Date() exdate.setDate(exdate.getDate()+expiredays) document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString()) window.location.reload(1); } </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> <br> <a href="#" onClick="SetLang('lang','en','1')">EN</a><br> <a href="#" onClick="SetLang('lang','ru','1')">RU</a> <br> <a href="#" onClick="SetLang('lang','fr','1')">FR</a> <br> <a href="#" onClick="SetLang('lang','de','1')">DE</a> </body></html>
  3. Система работает, и меняет язык если его жестко задать, но она не записывает куки по нажатию кнопки. Дефакто нужен скрипт нажал кнопку name=EN её value=en передалось в скрипт и он создал/перезаписал куку с именем lang со значением en. Мой скрипт подхватит эту куку подставит ее значение в имя файла и загрузит нужный язык - и всё всем ПРОФИТ... Если куки нет, мой скрипт выбирает язык заданный по умолчанию. Этим способом можно перевести сайт на 100500 языков...
  4. Всю ночь не спал, голова уже не варит, не могли бы вы накидать тот же вариант с записью в куки с кнопки, но только с передачей через post? Как я вижу в своем понимании, это доп. файл обработчик куда идет сабмит значения нажатой кнопки, он задаёт куку и ... дальше пойду варить кофе... т.к. не работают мозги.
  5. valdemark

    jQuery Validation

    Если не коммерческий проект то JQuery, если будешь зарабатывать на нём тогда однозначно JS!
  6. Сразу напишу, я чайник, и можно сказать "непонимэ" посему будьте любезны - поподробнее Дано: есть условная страница 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";?> и т.д.
  7. Собстевенно, есть сайт, в нем много страниц на которых содержатся (в разных местах) повторяющиеся элементы (кнопки, формы, чекбоксы, div и т.п.) со стилем заданным (css) через class, а позиционируются на станице эти элементы через id. Правильно ли это? Если нет, то как сделать правильно? Пример: <!DOCTYPE html><html> <head> <title>!DOCTYPE</title> <meta charset="utf-8"> <link href="main.css" rel="stylesheet" media="all"> </head> <body> <div id="id" class="class"> <p>Разум — это Будда, а прекращение умозрительного мышления — это путь. Перестав мыслить понятиями и размышлять о путях существования и небытия, о душе и плоти, о пассивном и активном и о других подобных вещах, начинаешь осознавать, что разум — это Будда, что Будда — это сущность разума, и что разум подобен бесконечности.</p> </div> </body> </html>Файл css: .class{text-align:center;font-family:verdana;font-size:14px;width:400px;background:yellow;}#id{margin-top:50px;margin-left:100px;}Собственно жду ответов
×
×
  • 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