Почему Chrome неверно определяет язык страницы: решение

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для того чтобы браузер Chrome не предложил перевести веб-страницу, явно указывайте язык содержимого с помощью атрибута lang в теге <html>:

HTML
Скопировать код
<html lang="ru">

Если на странице представлен контент на различных языках, обозначьте каждый фрагмент соответствующим атрибутом lang:

HTML
Скопировать код
<p lang="es">¡Hola, mundo!</p>

Это позволит браузеру Chrome точно понять, на каком языке написан контент, и избежать нежелательных предложений о переводе страницы.

Кинга Идем в IT: пошаговый план для смены профессии

Объявляйте тип документа и кодировку символов

Сразу после объявления <!DOCTYPE html> определите кодировку символов:

HTML
Скопировать код
<meta charset="UTF-8">

Такие метаданные помогают Chrome корректно обрабатывать и определять содержание страницы.

Значимость каждого атрибута

Используйте мета-теги специфичные для Google, чтобы предотвратить предложения по переводу:

HTML
Скопировать код
<meta name="google" content="notranslate">

Хотя такой мета-тег не является частью стандартных атрибутов HTML, он эффективно указывает Chrome, что не требуется перевод страницы.

Будьте еще более ясны! Укажите язык явно

Если предыдущие методы оказались неэффективными, явно сообщите об этом браузеру с помощью мета-тега, эквивалентного заголовку HTTP Content-Language:

HTML
Скопировать код
<meta http-equiv="Content-Language" content="ru">

Этот метод не является таким широко применяемым для указания языка, как атрибут lang, но он отправляет явный сигнал браузеру.

Проверка на практике

Если после публикации веб-сайта Chrome продолжает предлагать перевод, попробуйте:

  • Глубоко вздохнуть, расслабиться и перезапустить браузер или обновить Chrome.
  • Добавить текст, который не требует перевода, в невидимый элемент, например, hidden div — Chrome не предложит перевести то, что не видно.
  • Смеющимся шрифтом укажите элементам, чтобы они не привлекали внимание браузера:
HTML
Скопировать код
<div translate="no">Тсс! Это содержимое не нужно переводить!</div>

Устанавливайте границы для Chrome

Иногда требуется четко указать браузеру, что он должен делать, используя класс notranslate для элементов, которые должны остаться неизменными:

HTML
Скопировать код
<div class="notranslate">Этот элемент не требует перевода!</div>

Исследуйте, что воздействует на Chrome

Если вы хотите более глубоко изучить эту тему, ознакомьтесь с алгоритмами n-gram Google и поймите, что может заставить Chrome воспользоваться функцией перевода.

Ваша CMS — защитник языка

Если вы используете CMS для управления сайтом, ознакомьтесь с рекомендациями по установке языковых тегов, которые предоставляются в документации системы.

Постоянное совершенствование

Как и в кулинарии, не бойтесь экспериментировать и корректировать настройки до тех пор, пока ваш сайт не будет предлагать неправильный перевод — а именно, не будет предлагать его, когда в этом нет необходимости.

Визуализация

Восприятие браузера Chrome как туриста (🧳), который приехал в город с разноязычными табличками (🗽) может быть полезным:

Markdown
Скопировать код
Указатели в городе: [🇬🇧 Welcome, 🇫🇷 Bienvenue, 🇪🇸 Bienvenido]

Chrome ошибается:

Markdown
Скопировать код
🧳💭 "Возможно, я во Франции. Пора подтянуть свой французский!"
🗣️🤖 *Желаете ли вы перевести страницу на французский?*

Реальность — город полиглот:

Markdown
Скопировать код
🧳🌐 Здесь говорят на многих языках! Переводчик не требуется.

Решение — четкие инструкции:

Markdown
Скопировать код
🛑🏷️ *Добавлен атрибут `lang="ru"` к HTML*
🧳✨ "В основном здесь говорят на английском! Перевод не нужен."

Chrome отказывается от идеи перевода:

Markdown
Скопировать код
🗣️🤖 "Приятного времяпровождения без необходимости перевода!"

### Игра с полями ввода

Поля ввода формы могут стать причиной неправильного определения основного языка страницы браузером. Давайте сообщим об этом полю ввода:
html

<input type="text" lang="ru" translate="no">


### Анализ заголовков

Проверьте HTTP-заголовки вашего сервера. Они должны корректно передавать браузеру Chrome информацию о языке, включая `charset` и `Content-Language`.

### Внешние ресурсы — ваш союзник

Не стесняйтесь обращаться к материалам, представленным создателями веб-разработок, а также к исследованиям кейсов. Они помогут вам разобраться с проблемой перевода вашего сайта. Выделяйтесь!

### Управление атрибутом `translate`

Атрибут `translate` — это ваш инструмент для управления переводом отдельных элементов на странице:
html

<p translate="no">Этот абзац недоступен для переводчика.</p>

```

Полезные материалы

  1. Изменение настроек языка в Chrome и перевод веб-страниц – Компьютер – Справка Google Chrome — здесь вы найдете информацию о настройках языка в браузере Chrome.
  2. Понимание критерия успеха 3.1.1: Язык страницы | WAI | W3C — W3C подробно объясняет важность использования атрибутов языка.
  3. lang – HTML: Гипертекстовый язык разметки | MDN — руководство MDN по использованию атрибута lang в HTML.
  4. JavaScript для определения языковых предпочтений браузера – Stack Overflow — советы по настройке языковых предпочтений в Chrome с помощью JavaScript.
  5. Локализованные версии ваших страниц | Google Search Central | Google для разработчиков — руководство Google по созданию локализованных версий веб-страниц.
  6. Информация о BCP 47 » RFC Editor — официальный документ с описанием языковых тегов BCP 47.