为什么Chrome不正确地确定页面是在不同的语言,并提供翻译?
新的Google Chrome浏览器自动翻译function正在我们的一个应用程序的单页上跳跃。 每当我们导航到这个特定的页面,Chrome告诉我们页面是丹麦语,并提供翻译。 页面是英文的,就像我们的应用程序中的其他页面一样。 这个特定的页面是一个内部testing页面,有几十个带有英文标签的表单域。 我不知道为什么Chrome认为这个网页是丹麦语。
有没有人有这样的语言检测function如何工作的见解,以及如何确定是什么导致Chrome浏览器认为该网页是丹麦语?
使用以下内容:
<meta charset="UTF-8"> <meta name="google" content="notranslate"> <meta http-equiv="Content-Language" content="en">
如果这不起作用,你总是可以在一个隐藏的div中放置一堆文本(例如你的“关于”页面)。 这可能也有助于search引擎优化。
编辑(和更多信息)
OP在询问Chrome,所以Google的build议贴在上面。 其他浏览器通常有三种方法可以实现这一点:
-
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标头(不build议基于跨浏览器识别testing ):
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
Chromium在菲律宾认为这个网页: http : //www.reyalvarado.com/portfolio/cuba/注意:除了所有者的名字和菜单项之外,页面上几乎没有文字。 菜单项由FLIRdynamicreplace为图像。
HTML将页面声明为美国英语:
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
如果其他解决scheme不起作用,请尝试在<html>
包含属性xml:lang=""
:
<html class="no-js" lang="pt-BR" dir="ltr" xml:lang="pt-BR">
在不知道文本是什么的情况下,也许ngram检测被你的页面内容欺骗了。
http://googleresearch.blogspot.com/2006/08/all-our-n-gram-are-belong-to-you.html
我与我的网站有同样的问题。 一时兴起,我select了“不”,然后我得到一个网页,问我是否一直希望被要求翻译(我不记得确切的措辞)。 select“否”后,问题结束。