it-swarm.com.de

Warum wird die Sprache meiner Website falsch erkannt und wie stelle ich die richtige Sprache ein?

Wenn ich meine persönliche Website auf meinem Handy besuche (Chrome-App), wird die Seitensprache als "Portugiesisch" erkannt und ich werde gefragt, ob ich sie übersetzen möchte. Die Seite ist jedoch in Englisch und ich habe die Sprache mit dem folgenden Tag auf Englisch eingestellt:

<html lang="en">

Warum wird meine Seite als portugiesisch registriert und wie kann ich verhindern, dass die Schaltfläche zum Übersetzen ausgelöst wird?

screenshot of page showing translate option

6
Niahc

Beachten Sie Folgendes: Wenn Google vorschlägt, "Diese Seite ist in XYZ" und eine Übersetzung anbietet, bedeutet dies nicht zwangsläufig, dass die gesamte Seite in dieser Sprache angezeigt wird. Auch wenn es denkt, dass nur ein sehr kleiner Teil der Seite in dieser Sprache ist, bietet es die gleiche Option zum Übersetzen der Seite.

Wenn Sie in Ihrem Beispiel auf den Link übersetzen klicken, wird nur der sichtbare lokale Teil der E-Mail-Adresse "übersetzt". faith wird Faith.

Das Überprüfen der HTML-Quelle der Seite zeigt, dass dieses Element (stark) HTML-entitätencodiert ist (das href -Attribut ist sowohl% -codiert (URL-codiert) als auch HTML-entitätencodiert) - vermutlich, um E-Mail-Harvester anzuhalten:

<a href='mai&#108;&#116;o&#58;f%61i&#37;74%68%40fa%&#54;9th%6&#50;ot&#46;c%&#54;F&#37;6D'>fai&#116;h&#64;faith&#98;ot&#46;com</a>

Kann es sein, dass diese Kodierung eine Täuschung darstellt , die Google übersetzt? Möglicherweise wird es nicht als E-Mail-Adresse angezeigt? Ich stelle fest, dass in Chrome der %40 (verschlüsselt @) nicht entschlüsselt wird, wenn Chrome die Quelle des Links im Tooltip anzeigt, wenn der Benutzer den Mauszeiger darüber hält. Wenn der Benutzer "E-Mail-Adresse kopieren" aus dem Kontextmenü auswählt, wird die kopierte E-Mail-Adresse nur als HTML-Entität dekodiert, nicht als% -dekodiert (dh f%61i%74%68%40fa%69th%62ot.c%6F%6D). Dies ist also eine potenzielle Verwendbarkeit Problem.

Lösung

Gemäß Google-Hilfedokumente können Sie versuchen, das folgende Tag zu bestimmten Elementen hinzuzufügen, die für die Übersetzung nicht berücksichtigt werden sollen:

<span class="notranslate">....</span>

Möglicherweise können Sie class="notranslate" zum Anker hinzufügen, oder Sie benötigen das gesamte Element, da bin ich mir nicht sicher.

Gibt es auch eine Möglichkeit, das translate="no" -Attribut von HTML5 zu verwenden?

Referenz:
https://stackoverflow.com/questions/9628507/how-can-i-tell-google-translate-to-not-translate-a-section-of-a-website =

5
DocRoot

Versuchen Sie dies im Abschnitt <head>:

<meta charset="UTF-8">
<meta name="google" content="notranslate">
<meta http-equiv="Content-Language" content="en">
3
Steve

Ich glaube, dass mit Hreflang für Sprache das Problem lösen würde. Was Steve in der obigen Antwort vorschlägt, könnte auch funktionieren.

1
Prasad Ajinkya