Die neue automatische Übersetzungsfunktion von Google Chrome wird in einer unserer Anwendungen auf einer Seite angezeigt. Wenn wir zu dieser bestimmten Seite navigieren, teilt Chrome uns mit, dass die Seite auf Dänisch ist und bietet Übersetzungen an. Die Seite ist in Englisch, genau wie jede andere Seite in unserer App. Diese spezielle Seite ist eine interne Testseite mit einigen Dutzend Formularfeldern mit englischen Bezeichnungen. Ich habe keine Ahnung, warum Chrome diese Seite für dänisch hält.
Hat jemand Einblicke in die Funktionsweise dieser Spracherkennungsfunktion und wie ich feststellen kann, warum Chrome denkt, dass die Seite auf Dänisch ist?
html
localization
internationalization
google-chrome
Samuel Neff
quelle
quelle
Antworten:
Update: laut Google
Sie empfehlen Ihnen, die Sprache Ihrer Website deutlich zu machen. Verwenden Sie Folgendes, was zu helfen scheint, obwohl
Content-Language
es veraltet ist und Google sagt, dass sie es ignorierenlang
Wenn das nicht funktioniert, können Sie immer eine Menge Text (z. B. Ihre "Über" -Seite) in ein verstecktes Div einfügen. Das könnte auch bei der Suchmaschinenoptimierung helfen.
EDIT (und mehr Infos)
Das OP fragt nach Chrome, daher wird die Empfehlung von Google oben veröffentlicht. Es gibt im Allgemeinen drei Möglichkeiten, dies für andere Browser zu erreichen:
W3C-Empfehlung : Verwenden Sie dieAttribute
lang
und / oderxml:lang
im HTML-Tag:UPDATE: Früher war eine Google-Empfehlung jetzt veraltet, obwohl sie bei Chrome möglicherweise noch hilft. :
meta http-equiv
(wie oben beschrieben):Verwenden Sie HTTP-Header (aufgrund von browserübergreifenden Erkennungstests nicht empfohlen ):
Beenden Sie Chrome vollständig und starten Sie es neu, um sicherzustellen, dass die Änderung erkannt wird. Chrome nimmt das neue Meta-Tag beim Aktualisieren von Registerkarten nicht immer auf.
quelle
Ich fügte hinzu
lang="en"
habe der Doctype-Deklaration Meta-Tags für Zeichensatz utf-8 und Content-Langauge im HTML-Header hinzugefügt, Zeichensatz als utf-8 und Content-Language wieen
in den HTTP -Antwortheadern angegeben und Chrome nicht daran gehindert, my zu deklarieren Seite war in Portugiesisch. Das einzige, was das Problem behoben hat, war das Hinzufügen zum HTML-Header:Aber jetzt habe ich Benutzer daran gehindert, meine Seite, die eindeutig auf Englisch ist, in ihre eigene Sprache zu übersetzen. Schlechte Arbeit, Chrome. Du kannst besser sein als das.
quelle
Ohne zu wissen, was der Text war, wird die Ngram-Erkennung möglicherweise durch den Inhalt Ihrer Seite ausgetrickst.
http://googleresearch.blogspot.com/2006/08/all-our-n-gram-are-belong-to-you.html
https://en.wikipedia.org/wiki/N-gram
quelle
Chromium hält diese Seite für philippinisch: http://www.reyalvarado.com/portfolio/cuba/ Hinweise: Auf der Seite befindet sich so gut wie kein Text außer dem Namen des Besitzers und den Menüelementen. Menüelemente werden von FLIR dynamisch durch Bilder ersetzt.
Der HTML-Code deklariert die Seite als US-Englisch:
quelle
Geben Sie die Standardsprache für das Dokument an und verwenden Sie dann das Übersetzungsattribut und die Google-
notranslate
Klasse pro Element / Container wie folgt:Erläuterung:
Die akzeptierte Antwort stellt eine pauschale Lösung dar, behandelt jedoch nicht die Angabe der Sprache pro Element, wodurch der Fehler behoben und sichergestellt werden kann, dass Ihre Seite übersetzbar bleibt .
Warum ist das besser? Dies wird mit der Internationalisierung von Google zusammenarbeiten und diese nicht ausschalten. Zurück zum OP:
Antwort : Google versucht, Ihnen bei der Internationalisierung zu helfen, aber wir müssen verstehen, warum dies fehlschlägt. Aufbauend auf der Antwort von NinjaCat gehen wir davon aus, dass Google die Sprache Ihrer Website mithilfe eines N-Gramm-Algorithmus liest und vorhersagt. Daher können wir nicht genau sagen, warum Google Ihre Seite übersetzen möchte. wir können nur annehmen, dass:
translate="no"
undlang="en"
(oder Entfernen dieser Wörter) kann Google die Sprache Ihrer Seite korrekt vorhersagen.Leider wissen die meisten Leute, die diesen Beitrag erreichen, nicht, welche Wörter die Probleme verursachen. Verwenden Sie die in Chrome integrierte Funktion "In Englisch übersetzen" (im Kontextmenü mit der rechten Maustaste), um zu sehen, was übersetzt wird. Möglicherweise werden unerwartete Übersetzungen wie die folgenden angezeigt :
Aktualisieren Sie also Ihr HTML mit den entsprechenden Übersetzungs-Tags, bis die Google-Übersetzung Ihrer Seite nichts mehr ändert. Dann sollten wir erwarten, dass das Popup für zukünftige Besucher nicht mehr angezeigt wird.
Wird es nicht viel Arbeit sein, all diese zusätzlichen Tags hinzuzufügen? Ja, sehr wahrscheinlich. Wenn Sie Wordpress oder ein anderes Content Management System verwenden, lesen Sie in der Dokumentation nach, wie Sie Ihren Code schnell aktualisieren können!
quelle
Versuchen Sie, die Eigenschaft
xml:lang=""
in das einzuschließen<html>
, wenn die anderen Lösungen nicht funktionieren:quelle