Як я можу запобігти помилково запропонувати Google перекласти сторінку?


37

Кілька сторінок мого сайту відображаються в результатах пошуку, [Translate this page]поруч із ним. Коли я натискаю, це переводить мене в Google Translate і перекладає мою сторінку "з каталонської на англійську".

Сторінки англійською мовою, але містять кілька іноземних слів (насправді японських романізацій, а не каталонської), які, схоже, підключають Google

Кілька тижнів тому я встановив тег html, <html lang="en">який із дослідження виявляється найкращим методом визначення мови документа. Google кеширує сторінки з цим атрибутом, але все ще пропонує перекласти.

Додаткові дослідження привели мене до атрибуту «notranslate» , який запобігає переклад повністю: <html lang="en" class="notranslate">. Зараз проблема полягає в тому, що користувачі не можуть перекласти з англійської на потрібну мову!

Чи є якісь інші рішення, які змушують Google розбирати мій сайт лише англійською?

Відповіді:


19

Google не використовує мовні метадані, оскільки ми виявили, що це, як правило, неправильно. Використання заголовків HTTP, метатегів HTML або елементу lang-атрибутів на рівні елемента не впливає на розпізнавання мови Google, тому, якщо ви не хочете робити це для інших цілей (наприклад, зчитувачі екрану), ви, ймовірно, можете пропустити це.

Слід пам’ятати, що Google не має проблем із розпізнаванням декількох мов на сторінці. Тож навіть якщо ми повинні визнати, що частина сторінки написана італійською мовою (можливо, коли ви пишете про італійські готелі), і ми показуємо посилання "перекласти цю сторінку" в результатах пошуку, ми, ймовірно, зможемо розпізнати що це здебільшого англійською. Простий спосіб перевірити, щоб використовувати розширені варіанти пошуку для вибору конкретної мови та створення сайту: -запит на ваш сайт.


1
Чудовий прозорливий Джон, дякую. Отже, ви говорите, що немає способу зупинити показ Google [Translate this page]? Мої сторінки відображаються в розширеному пошуку лише англійською мовою. Моя головна проблема - користувачі - показ перекладу означає, що вся сторінка є іншою мовою. Особисто я схильний уникати цих посилань, коли бачу їх. Є й інші сайти, що використовують ті самі слова, які не отримують посилання на переклад ...
DisgruntledGoat

2
Це правильно - наразі немає можливості змусити зникнути посилання "Перекласти цю сторінку" зі сторони веб-майстра. Я передамо ваші відгуки команді, але, можливо, це те, що вони можуть розглянути на майбутнє.
Джон Мюллер

2
Дякую @John. Основна проблема полягає в тому, що Google вважає, що сторінки є каталонською, коли їх немає. Я здивований, що Google повністю ігнорує мовний тег - чому б принаймні не використовувати його як підказку?
НезадоволенняЗакрито

1
Чи є якісь оновлення з цього приводу, як я бачив людей тут і там в Інтернеті, які задають те саме питання, а в деяких випадках викликають нескінченний цикл - superuser.com/questions/326938/…
Coops

4
Анекдотично додам, що я особисто бачив це (у Chrome для Windows), коли я перебуваю в PHPMyAdmin, де Google вважає, що сторінка є італійською мовою і пропонує перекласти. Мене це завжди вражає як химерне, враховуючи, що я ніколи не помічав у PHPMyAdmin жодних неанглійських слів.
huzzah

13

використовуйте цю мета, щоб пропустити переклад Google

<meta name="google" content="notranslate" />

2
Це було надіслано як відповідь раніше, а потім видалено власником без пояснень. @danlefree Чи є причина, що це невірно? Він все ще з’являється на нещодавно оновленій довідковій сторінці Інструментів для веб-майстрів.
Су '20

@Su: за словами веб-майстра google, переклад Google повинен бути пропущений. і працює для мого сайту.
Кріш

@krish чи не те, що я згадую у запитанні, і перешкоджає будь-якому перекладу користувачами?
НезадоволенеЗакриття

Це може бути тоталітарним. Якщо мова користувача відрізняється від мета-тегу мови вмісту, ви, ймовірно, хочете перекладу мови.
chovy

Якщо ви клацніть правою кнопкою миші на веб-сторінці в хромі, вона все ще надасть вам можливість перекладати, навіть якщо у вас є цей метатег ...
NewBie1234

12

Вам слід додати метатег

<meta http-equiv="content-language" content="en" />

Ви також можете надіслати HTTP-заголовок Content-Language з сервера, якщо у вас є доступ до нього.

Більше інформації на http://www.w3.org/International/questions/qa-http-and-lang


2
Або встановіть заголовок за допомогою Apache: заголовка встановити мову вмісту "en"
Джон Конде

@John, так. ( саме це я мав на увазі, що він може надсилати заголовок http із сервера )
Габріеле Петріолі

Хм, добре, нібито, використання <html lang="en">краще, ніж цей метатег, але я спробую це подивитися :)
DisgruntledGoat

У мене була така ж проблема, і я перевірив, що це працює для мене в Chrome 19 dev
Оллі

<html lang=en>не виправили це для мене, але мета-тег "мова вмісту" зробив.
чов

4

Можливо, ви зможете переглянути Accept-Languageзаголовок запиту, щоб динамічно додавати / видаляти class="notranslate"атрибут, коли мовна рядок включає en.

Згідно з веб-майстром World Master, ви можете застосовувати class="notranslate"лише до вмісту, на який він впливає (тобто "пара іноземних слів"), і, сподіваємось, уникнути вікна перекладу з англійської на англійську.


Але якби вони хотіли перекласти з англійської на іншу мову, то це отримало б Google, а не браузер, і, імовірно, Google використовував би "англійську" у заголовку мови прийняття.
Lèse majesté

Google зазвичай використовує англійську мову для google.com, google.co.uk тощо, а як бути із сканером для google.de тощо? Але незалежно від цього, вибіркове використання класу здається найкращим виходом із цього.
Metalshark
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.