Chrome에서 페이지가 다른 언어로되어 있고 번역 제안을 잘못 판단하는 이유는 무엇입니까?
새로운 Chrome 자동 번역 기능이 응용 프로그램 중 하나의 한 페이지에서 작동합니다. 이 특정 페이지로 이동할 때마다 Chrome은 페이지가 덴마크어로되어 있으며 번역 할 것을 제안합니다. 이 페이지는 앱의 다른 모든 페이지와 마찬가지로 영어로되어 있습니다. 이 특정 페이지는 영어 레이블이있는 수십 개의 양식 필드가있는 내부 테스트 페이지입니다. Chrome에서이 페이지가 덴마크어라고 생각하는 이유를 모르겠습니다.
이 언어 감지 기능의 작동 방식과 Chrome이 페이지를 덴마크어로 생각하게 만드는 원인을 어떻게 알 수 있습니까?
다음을 사용하십시오.
<meta charset="UTF-8">
<meta name="google" content="notranslate">
<meta http-equiv="Content-Language" content="en">
그래도 작동하지 않으면 숨겨진 div에 많은 텍스트 (예 : "정보"페이지)를 배치 할 수 있습니다. SEO에도 도움이 될 수 있습니다.
편집 (및 추가 정보)
OP는 Chrome에 대해 문의하므로 Google의 권장 사항 이 위에 게시되어 있습니다. 다른 브라우저에서이를 수행하는 방법은 일반적으로 세 가지가 있습니다.
W3C 권장 사항 :html 태그에서
lang
및 / 또는xml:lang
속성을사용하십시오.<html lang="en" xml:lang="en" xmlns= "http://www.w3.org/1999/xhtml">
Google 추천 :
meta http-equiv
(위에 설명 된대로) :<meta http-equiv="Content-Language" content="en">
HTTP 헤더를 사용하십시오 ( 브라우저 인식 테스트 에 따라 권장되지 않음 ).
HTTP/1.1 200 OK Date: Wed, 05 Nov 2003 10:46:04 GMT Content-Type: text/html; charset=iso-8859-1 Content-Language: en
변경 사항이 감지되도록 Chrome을 완전히 종료했다가 다시 시작하십시오. Chrome은 탭 새로 고침시 항상 새로운 메타 태그를 선택하지 않습니다.
Chromium은이 페이지를 필리핀어로 생각합니다. http://www.reyalvarado.com/portfolio/cuba/ 참고 : 페이지에는 소유자의 이름과 메뉴 항목을 제외하고 텍스트가 거의 없습니다. 메뉴 항목은 FLIR에 의해 이미지로 동적으로 대체됩니다.
HTML은 페이지를 미국 영어로 선언합니다.
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
텍스트가 무엇인지 알지 못하면 페이지 내용에 따라 ngram 감지가 어려워 질 수 있습니다.
http://googleresearch.blogspot.com/2006/08/all-our-n-gram-are-belong-to-you.html
https://ko.wikipedia.org/wiki/N-gram
나는 추가 lang="en"
, DOCTYPE 선언에 HTML 헤더에 문자 집합 UTF-8 및 내용 - Langauge에 대한 추가 메타 태그, UTF-8과 같은 내용-언어로 지정된 캐릭터 세트 en
HTTP 응답 헤더를 그리고 선언에서 크롬을 막을 아무것도하지 않았다 내 페이지는 포르투갈어로되어있었습니다. 문제를 해결 한 유일한 것은 이것을 HTML 헤더에 추가하는 것입니다.
<meta name="google" content="notranslate">
그러나 이제는 사용자가 영어로 된 페이지를 자신의 언어로 명확하게 번역하지 못했습니다. 불쌍한 일, 크롬 이보다 더 나을 수 있습니다.
문서의 기본 언어를 지정하고 다음 과 같이 요소 / 컨테이너마다 translate 속성 및 Google notranslate
클래스 를 사용하십시오 .
<html lang="en">
...
<span><a href="#" translate="no" class="notranslate">English</a></span>
설명:
허용되는 답변은 포괄적 인 해결책을 제시하지만 요소 당 언어를 지정하는 방법을 다루지 않으므로 버그를 수정하고 페이지를 번역 할 수 있습니다.
왜 이것이 더 낫습니까? 이를 통해 Google의 국제화와 차단에 협력하게됩니다. OP를 다시 참조하십시오.
Chrome에서 페이지가 다른 언어로되어 있고 번역 제안을 잘못 판단하는 이유는 무엇입니까?
답변 : Google은 국제화를 돕기 위해 노력하고 있지만 이것이 실패한 이유를 이해해야합니다. NinjaCat의 답변 을 바탕으로 Google 은 N-gram 알고리즘을 사용하여 웹 사이트의 언어를 읽고 예측 한다고 가정합니다. 따라서 Google이 페이지를 번역하려는 이유를 정확하게 말할 수는 없습니다. 우리는 다음과 같이 가정 할 수 있습니다.
- 페이지에 다른 언어에 해당하는 단어가 있습니다.
- 로 포함 된 요소를 표시
translate="no"
하고lang="en"
(또는 이러한 단어를 제거하는 것은) 구글이 제대로 페이지의 언어를 예측하는 데 도움이 될 것입니다.
불행히도이 게시물에 도달하는 대부분의 사람들은 어떤 단어가 문제를 일으키는 지 알 수 없습니다. Chrome의 기본 제공 "영어로 번역"기능 (오른쪽 클릭 컨텍스트 메뉴)을 사용하여 번역 된 내용을 확인 하면 다음과 같은 예기치 않은 번역이 표시 될 수 있습니다 .
따라서 페이지의 Google 번역에서 아무 변화가 없을 때까지 적절한 번역 태그를 사용하여 html을 업데이트하십시오. 그러면 향후 방문자를 위해 팝업이 사라질 것으로 예상됩니다.
Won't it be a lot of work to add all these extra tags? Yes, very likely. If you are using Wordpress or another Content Management System then look in their documentation for quick ways to update your code!
Try including the property xml:lang=""
to the <html>
, if the other solutions don't work:
<html class="no-js" lang="pt-BR" dir="ltr" xml:lang="pt-BR">
'IT story' 카테고리의 다른 글
어설 션은 언제 프로덕션 코드에 있어야합니까? (0) | 2020.06.07 |
---|---|
py 스크립트에서 sys.setdefaultencoding (“utf-8”)을 사용해서는 안되는 이유는 무엇입니까? (0) | 2020.06.07 |
C #에 null 병합 연산자 (??)에 해당하는 Java가 있습니까? (0) | 2020.06.07 |
PostgreSQL로 데이터베이스 테이블 다이어그램을 생성하는 도구는 무엇입니까? (0) | 2020.06.07 |
하나의 폴더를 하나의 Subversion 저장소에서 다른 저장소로 어떻게 이동합니까? (0) | 2020.06.07 |