Как поменять в html файле язык с английского на русский
Недостаток такого решения — отсутствие у каждой языковой версии собственного урла.
Это можно решить (правда, насколько я понимаю, не кроссбраузерно) с помощью функции history.pushState.
Илья, для каждой версии можно сделать УРЛ с помощью и при загрузке страницы запускать перевод в нужный язык (если надо). Сделал так у себя на сайте.
И, кстати, для небольших фрагментов (в одну строчку, без дополнительного кода) создаю атрибут в нужном элементе, где хранится строка перевода (у меня только русский и английский) и джаваскриптом перевожу.
Проблема в том, что пользователь будет ждать в два раза больше загрузки HTML. Можно сделать хитрее — после onload страницы /ru/post/1 загрузить вторую версию с /en/post/1, а при переключении страницы — заменять body и менять URL через History.pushState.
Пользователи старых браузеров будут переключать страницы старой загрузкой — думаю, это вполне нормальная деградация. Но при таком подходе — будет меньше нагрузка на CSS и величину . Плюс в тегах video не начнётся предзагрузка в английской версии. Да и для поиска лучше — для поисковых ботов это будут две разные страницы.
Такой подход имеет смысл только там, где язык переключается часто. Лично я переключаю на всех сайтах язык ровно 1 раз — когда вижу «укр» и меняю его на «рус».
Подход выше хорош для служебных сайтов — типа расписания там, инструкции .
У такого подхода есть 2 офигенских минуса:
1) СЕО (сеошники завоют однозначно).
2) Удвоение трафика (не забываем про модемы мобильного интернета,для которых это имеет значение).
Лучше бы подключили проверку региона айпи и заголовка браузера (он вроде как отдает системный язык) и выдавали нужный согласно данным. Плюс куки, чтобы переключать руками нужно было только 1 раз в жизни.
И это, а если яваскрипт у человека отключен? Такое тоже бывает.
Андрей Щербатых, никогда не нужно делать проверку по айпи пользователя! Во время отдыха в Тайланде зайдите в Интернет и почувствуйте издевательства со всех сайтов, которые определяют язык по местоположению
Да и вообще, определение языка по айпи — это забивание гвоздя микроскопом. Все браузеры передают не просто системный язык, а список языков, которые знает пользователь (их же может быть несколько).
Иногда возникают случаи, когда при открытии сайта отображается не привычный нам контент, а сплошной набор нечитаемых символов. Это связано с тем, что кодировка ресурса не совпадает с той кодировкой, которая устанавливается сервером. Например, для чтения файлов используется Windows-1251, а требуется UTF-8.
Что такое кодировка сайта и как ее можно изменить – об этом и поговорим в сегодняшней статье.
Что такое кодировка
Кодировка – специальный метод, позволяющий отображать текст на экране таким образом, чтобы он был понятен каждому пользователю. Все символы, которые мы видим в интернете, – это буквы и цифры только для нас, компьютер их не понимает. Он воспринимает информацию в байтах, весь текст на экране монитора – это совокупность байтов. У каждого символа есть свое кодовое значение, которое компьютер использует при выводе слов и чисел на экран.
Вот наглядный пример того, как воспринимается компьютером латинский алфавит и прочие символы:
Если никакая кодировка не установлена, вместо символов мы увидим такие значения. Чтобы понять компьютер, необходимо установить нужную кодировку для расшифровки символов из этой таблицы.
Типы кодировок
Существует несколько типов кодировок:
Существуют и другие типы кодировок, но они используются в меньшей степени либо не используются вообще.
Как определить кодировку на сайте
Узнать кодировку своего или чужого сайта довольно просто, достаточно просмотреть исходный код страницы. Сделать это можно следующим образом:
- Открываем сайт, на котором необходимо посмотреть кодировку, и кликаем правой кнопкой мыши по любой области. В отобразившемся меню выбираем «Просмотр кода страницы». Также можно воспользоваться комбинацией клавиш «CTRL+U».
- В результате перед нами отобразится новое окно с кодом страницы – в нем воспользуемся комбинацией клавиш «CTRL+F» для поиска строки, отвечающей за кодировку веб-страницы. Вводим запрос «charset» и смотрим результат.
Где и как изменить кодировку
Все зависит от сайта. Способ установки кодировки может различаться: если используется одностаничник, то достаточно в HTML-файле прописать мета-тег в блоке <head>:
В противном случае нам потребуется отредактировать файл .htaccess. Рассмотрим на примере хостинга Timeweb, как это можно сделать.
Открываем свой сайт и видим, что ничего не изменилось – так и должно быть. Чтобы внести изменения, очищаем кэш с помощью комбинации клавиш «CTRL+F5» и смотрим результат.
Как видите, сменить кодировку на своем сайте легко. Аналогичным образом мы можем изменить кодировку и на всем сервере – для этого необходимо выполнить следующее (актуально для веб-сервера Apache):
Если вы поменяете кодировку по умолчанию, то она будет изменена для всех ресурсов, находящихся на данном сервере.
Смена кодировки базы данных
В данном случае нам потребуется открыть базу данных через личный кабинет хостинга и изменить значение кодировки в разделе «Операции». Давайте рассмотрим, как это можно сделать через админку Timeweb.
На этом статья подходит к концу. Теперь вы знаете больше о кодировке сайта и можете легко ее изменить в случае необходимости. Спасибо за внимание!
Вернемся к нашей HTML-странице, которую мы создавали в предыдущих уроках и сейчас выставим кодировку, в которой будет храниться ее текст.
Я хотел бы рассказать о двух способах, как можно поменять кодировку текста. Как правило, я пользуюсь ими на практике и они хорошо себе зарекомендовали.
Самым надежным способом изменить кодировку текста является способ с помощью программы Notepad++. Как правило, этот способ всегда надежно работает и с его помощью можно решить самые тяжелые проблемы.
1 способ. С помощью программы Notepad++
Итак, для того, чтобы сменить кодировку текста нам понадобиться специальный текстовый редактор, который называется notepad++.
Он бесплатный и скачать его можно с этого сайта:
Открываем HTML-страницу с помощью этой программы и переходим в главное меню «Кодировки».
Выбираем ту кодировку, в которую нужно выполнить преобразование и сохраняем файл.
Вот и вся процедура. Программа очень хорошая и в отличии от других альтернатив, меняет кодировку безотказно.
2 способ. С помощью универсального редактора кода Dreamweaver.
Если вы работаете в универсальном редакторе кода Dreamweaver, там тоже есть возможность указать кодировку, в которой будет представлен текст.
Сделать это можно также с помощью главного меню "Изменить - Свойства страницы".
При создании нового html-документа, этот способ работает отлично, но если вы меняете кодировку уже существующего файла, то лучше воспользоваться первым способом. В этом случае он работает лучше.
Сделайте эту операцию у себя на компьютере.
Но, указав кодировку текста для html-страницы еще не достаточно. Для нормальной ее работы нужно сделать еще одно действие: подсказать браузеру, в какой кодировке написан текст.
5 / 5В этой статье мы расскажем о том, как изменить кодировку страницы так, чтобы русский символы отображались нормально, а не как различные кракозябры.
Если вы открываете страницу, а там на месте кириллицы отображаются знаки вопроса:
Или в случае, когда русские буквы заменяются на кракозябры:
То для того, чтобы вернуть страницу к нормальному виду вам нужно проверить две вещи:
- Правильная ли кодировка стоит у самого файла html или php страницы
- Правильная ли кодировка стоит в мета-тэгах страницы
Бывает так же ещё проблема в сервере, на котором отображается страница, там тоже может стоять неправильная кодировка, но этот случай мы разбирать не будем.
Если у вас стоит неправильная кодировка у самого файла
Тогда при записи русскоязычных слов в коде страницы при сохранении вам будет выдаваться предупреждение о неправильной кодировке страницы, выглядеть это будет примерно так:
Здесь говориться примерно следующее.
"Документ имеет не корректную кодировку, при сохранении файла некоторые символы будут сохранены не верно. Чтобы решить проблему поменяйте кодировку файла на UTF-8 "
Такая проблема может коснутся любого файла, не обязательно HTML , но и, например, CSS или JS .
Для того, чтобы изменить кодировку файла, необходимо открыть его в стандартном Блокноте , который есть на всех Windows ОС . При сохранении в выпадающем списке выбрать кодировку UTF-8 , изменить тип файла на Все файлы и подтвердить сохранении. Теперь всё это же но в картинках:
Не правильная кодировка стоит в мета-тэгах страницы
Где посмотреть кодировку в мета-тэгах? Открываем код страницы и ищем в разделе <head> такую строчку:
Как вы уже поняли, нас интересует строка < meta charset = "utf-8" > , она то и задает кодировку документа, если у вас отсутствует этот тег или в качестве значения атрибута charset стоит какое-то другое значение, то измените его на utf-8 .
Читайте также: