Новая функция автоматического перевода Google Chrome запускается на одной странице в одном из наших приложений. Всякий раз, когда мы переходим на эту конкретную страницу, Chrome сообщает нам, что страница написана на датском языке, и предлагает перевод. Страница на английском языке, как и любая другая страница в нашем приложении. Эта конкретная страница является внутренней страницей тестирования, которая имеет несколько десятков полей формы с английскими метками. Я понятия не имею, почему Chrome считает эту страницу датской.
Кто-нибудь знает, как работает эта функция определения языка и как я могу определить, что заставляет Chrome считать страницу датской?
html
localization
internationalization
google-chrome
Сэмюэл Нефф
источник
источник
Ответы:
Обновление: согласно Google
Они рекомендуют вам сделать очевидным, что язык вашего сайта. Используйте следующее, которое, кажется, помогает, хотя
Content-Language
является устаревшим, и Google говорит, что они игнорируютlang
Если это не сработает, вы всегда можете поместить кучу текста (например, страницу «О программе») в скрытый блок. Это также может помочь с SEO.
РЕДАКТИРОВАТЬ (и больше информации)
ОП спрашивает о Chrome, поэтому рекомендации Google размещены выше. Как правило, есть три способа сделать это для других браузеров:
Рекомендация W3C : используйтеатрибуты
lang
и / илиxml:lang
в теге html:ОБНОВЛЕНИЕ: ранее рекомендация Google теперь устарела, хотя это может помочь с Chrome. :
meta http-equiv
(как описано выше):Используйте заголовки HTTP (не рекомендуется на основе тестов распознавания между браузерами ):
Полностью выйдите из Chrome и перезапустите его, чтобы убедиться, что изменение обнаружено. Chrome не всегда выбирает новый метатег при обновлении вкладки.
источник
Я добавил
lang="en"
к объявлению doctype, добавил метатеги для charset utf-8 и Content-Langauge в заголовке HTML, указал charset как utf-8 и Content-Language какen
в заголовках ответа HTTP, и это не помешало Chrome объявить мой Страница была на португальском языке. Единственное, что решило проблему, это добавило это в HTML-заголовок:Но теперь я запретил пользователям переводить мою страницу на английском языке на свой язык. Плохая работа, Хром. Вы можете быть лучше, чем это.
источник
Не зная, что это был за текст, возможно, обнаружение ngram обмануло содержанием вашей страницы.
http://googleresearch.blogspot.com/2006/08/all-our-n-gram-are-belong-to-you.html
https://en.wikipedia.org/wiki/N-gram
источник
Chromium считает эту страницу на филиппинском: http://www.reyalvarado.com/portfolio/cuba/ Примечания. На странице почти нет текста, кроме имени владельца и пунктов меню. Пункты меню динамически заменяются изображениями с помощью FLIR.
HTML-код объявляет страницу как американский английский:
источник
Укажите язык по умолчанию для документа, затем используйте атрибут translate и
notranslate
класс Google для элемента / контейнера, как в:Объяснение:
Принятый ответ представляет собой общее решение, но не описывает, как указать язык для элемента, что может исправить ошибку и обеспечить перевод вашей страницы .
Почему это лучше? Это будет взаимодействовать с интернационализацией Google, а не отключать ее. Возвращаясь к ОП:
Ответ : Google пытается помочь вам с интернационализацией, но мы должны понять, почему это не удается. Опираясь на ответ NinjaCat , мы предполагаем, что Google читает и предсказывает язык вашего сайта с помощью алгоритма N-граммы - поэтому мы не можем точно сказать, почему Google хочет перевести вашу страницу; мы можем только предположить, что:
translate="no"
иlang="en"
(или удаление этих слов) поможет Google правильно предсказать язык вашей страницы.К сожалению, большинство людей, попадающих на этот пост, не знают, какие слова вызывают проблемы. Используйте встроенную в Chrome функцию «Перевести на английский» (в контекстном меню правого клика), чтобы увидеть, что переводится, вы можете увидеть неожиданные переводы, подобные следующим :
Поэтому обновляйте ваш html соответствующими тегами перевода, пока перевод Google вашей страницы ничего не изменит - тогда мы должны ожидать, что всплывающее окно исчезнет для будущих посетителей.
Не будет ли много работы по добавлению всех этих дополнительных тегов? Да, очень вероятно Если вы используете Wordpress или другую систему управления контентом, посмотрите в их документации быстрые способы обновления вашего кода!
источник
Попробуйте включить свойство
xml:lang=""
в<html>
, если другие решения не работают:источник