Nowa funkcja automatycznego tłumaczenia przeglądarki Google Chrome uruchamia się na jednej stronie w jednej z naszych aplikacji. Za każdym razem, gdy przechodzimy do tej konkretnej strony, Chrome informuje nas, że jest ona w języku duńskim i proponuje tłumaczenie. Strona jest w języku angielskim, tak jak każda inna strona w naszej aplikacji. Ta konkretna strona jest wewnętrzną stroną testową, która ma kilkadziesiąt pól formularzy z angielskimi etykietami. Nie mam pojęcia, dlaczego Chrome uważa, że ta strona jest duńska.
Czy ktoś ma wgląd w to, jak działa ta funkcja wykrywania języka i jak mogę ustalić, dlaczego Chrome uważa, że strona jest po duńsku?
html
localization
internationalization
google-chrome
Samuel Neff
źródło
źródło
Odpowiedzi:
Aktualizacja: według Google
Zalecają, abyś jasno określił język Twojej witryny. Użyj poniższego, który wydaje się pomocny, chociaż
Content-Language
jest przestarzały, a Google twierdzi, że ignorujelang
Jeśli to nie zadziała, zawsze możesz umieścić fragment tekstu (na przykład stronę „Informacje”) w ukrytym elemencie div. Może to również pomóc w SEO.
EDYTUJ (i więcej informacji)
OP pyta o Chrome, więc rekomendacja Google jest zamieszczona powyżej. W przypadku innych przeglądarek można to zrobić na trzy sposoby:
Zalecenie W3C : użyjatrybutów
lang
i / lubxml:lang
w tagu html:AKTUALIZACJA: poprzednio zalecenie Google, teraz wycofuje specyfikację, chociaż nadal może pomóc w Chrome. :
meta http-equiv
(jak opisano powyżej):Użyj nagłówków HTTP (niezalecane na podstawie testów rozpoznawania różnych przeglądarek ):
Zamknij Chrome całkowicie i uruchom go ponownie, aby upewnić się, że zmiana została wykryta. Chrome nie zawsze odbiera nowy metatag podczas odświeżania karty.
źródło
Dodałem
lang="en"
do deklaracji doctype, dodałem metatagi dla charset utf-8 i Content-Langauge w nagłówku HTML, określiłem zestaw znaków jako utf-8 i Content-Language jakoen
w nagłówkach odpowiedzi HTTP i nie zrobiło to nic, aby Chrome nie zadeklarował mojego strona była w języku portugalskim. Jedyną rzeczą, która rozwiązała problem, było dodanie tego do nagłówka HTML:Ale teraz uniemożliwiłem użytkownikom tłumaczenie mojej strony, która jest wyraźnie w języku angielskim na ich własny język. Kiepska praca, Chrome. Możesz być lepszy niż to.
źródło
Nie wiedząc, jaki był tekst, być może zawartość twojej strony oszukuje wykrywanie ngram.
http://googleresearch.blogspot.com/2006/08/all-our-n-gram-are-belong-to-you.html
https://en.wikipedia.org/wiki/N-gram
źródło
Chromium uważa, że ta strona jest po filipińsku: http://www.reyalvarado.com/portfolio/cuba/ Uwagi: Na stronie nie ma prawie żadnego tekstu oprócz nazwiska właściciela i pozycji menu. Elementy menu są dynamicznie zastępowane obrazami przez firmę FLIR.
HTML deklaruje stronę jako angielski (USA):
źródło
Określ domyślny język dokumentu, a następnie użyj atrybutu translate i
notranslate
klasy Google dla każdego elementu / kontenera, na przykład:Wyjaśnienie:
Zaakceptowana odpowiedź przedstawia ogólne rozwiązanie, ale nie dotyczy sposobu określania języka dla każdego elementu, co może naprawić błąd i zapewnić, że strona będzie nadal przetłumaczalna .
Dlaczego tak jest lepiej? To będzie współpracować z umiędzynarodowieniem Google, a nie wyłączać go. Odnosząc się do PO:
Odpowiedź : Google stara się pomóc w internacjonalizacji, ale musimy zrozumieć, dlaczego to się nie udaje. Opierając się na odpowiedzi NinjaCat , zakładamy, że Google czyta i przewiduje język Twojej witryny za pomocą algorytmu N-gramowego - więc nie możemy dokładnie powiedzieć, dlaczego Google chce przetłumaczyć Twoją stronę; możemy tylko założyć, że:
translate="no"
ilang="en"
(lub usunięcie tych słów) pomoże Google poprawnie przewidzieć język Twojej strony.Niestety, większość osób, które trafiają do tego posta, nie wie, jakie słowa powodują problem. Użyj wbudowanej w Chrome funkcji „Przetłumacz na angielski” (w menu kontekstowym prawego przycisku myszy), aby zobaczyć, co zostanie przetłumaczone. Możesz zobaczyć nieoczekiwane tłumaczenia, takie jak następujące :
Dlatego aktualizuj swój kod HTML odpowiednimi tagami tłumaczeń, aż Tłumaczenie Google Twojej strony nic nie zmieni - wtedy powinniśmy spodziewać się, że wyskakujące okienko zniknie dla przyszłych odwiedzających.
Czy dodanie tych wszystkich dodatkowych tagów nie wymagałoby dużo pracy? Tak, bardzo prawdopodobne. Jeśli używasz Wordpress lub innego systemu zarządzania treścią, zajrzyj do ich dokumentacji, aby szybko zaktualizować swój kod!
źródło
Spróbuj dołączyć właściwość
xml:lang=""
do<html>
, jeśli inne rozwiązania nie działają:źródło