web-dev-qa-db-fra.com

Comment puis-je éviter que Google propose par erreur de traduire une page?

Plusieurs pages de mon site apparaissent dans les résultats de recherche avec [Translate this page] à côté. Lorsque je clique dessus, il me faut Google Translate et traduit ma page "du catalan en anglais".

Les pages sont en anglais mais contiennent quelques mots étrangers (en fait des romanisations japonaises et non catalanes) qui semblent faire trébucher Google.

Il y a quelques semaines, j'ai défini la balise html sur <html lang="en">, ce qui, d'après les recherches, semble être la meilleure méthode pour spécifier la langue d'un document. Google a mis en cache les pages avec cet attribut, mais propose toujours de traduire.

D'autres recherches m'ont conduit à un attribut "notranslate" qui empêche totalement la traduction: <html lang="en" class="notranslate">. Le problème est que les utilisateurs ne peuvent pas traduire de l'anglais dans la langue de leur choix!

Existe-t-il d'autres solutions qui obligent Google à analyser mon site en anglais uniquement?

36
DisgruntledGoat

Google n'utilise pas les métadonnées de langue car nous avons constaté qu'elles étaient généralement incorrectes. L'utilisation d'en-têtes HTTP, de balises méta HTML ou d'attributs lang au niveau de l'élément n'a pas d'incidence sur la reconnaissance de la langue par Google. Par conséquent, vous pouvez probablement ignorer cette option, sauf si vous souhaitez le faire à d'autres fins (par exemple, les lecteurs d'écran).

Une chose à garder à l'esprit est que Google n'a aucun problème à reconnaître plusieurs langues par page. Donc, même si nous reconnaissons qu'une partie de la page est en italien (peut-être lorsque vous écrivez à propos d'hôtels italiens), et que nous affichons un lien "traduire cette page" dans les résultats de la recherche, nous serons probablement toujours en mesure de reconnaître que c'est surtout en anglais. Un moyen simple de vérifier cela consiste à utiliser les options de recherche avancée pour sélectionner une langue spécifique et créer un site: -query pour votre site.

18
John Mueller

utilisez cette méta pour ignorer la traduction de Google

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

Vous devriez ajouter la balise meta

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

Vous pouvez également envoyer l'en-tête HTTP Content-Language du serveur si vous y avez accès.

Plus d'infos sur http://www.w3.org/International/questions/qa-http-and-lang

12

Vous pourrez peut-être consulter l'en-tête de la demande Accept-Language pour ajouter/supprimer dynamiquement l'attribut class="notranslate" lorsque la chaîne de langage comprend en.

Selon Web Master World vous pouvez appliquer class="notranslate" uniquement au contenu concerné (c'est-à-dire le "couple de mots étrangers") et, espérons-le, éviter la zone de traduction Anglais/Anglais.

4
Metalshark