为什么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议贴在上面。 其他浏览器通常有三种方法可以实现这一点:

  1. W3C推荐 :在html标签中使用lang和/或xml:lang属性:

     <html lang="en" xml:lang="en" xmlns= "http://www.w3.org/1999/xhtml"> 
  2. Google推荐meta http-equiv (如上所述):

     <meta http-equiv="Content-Language" content="en"> 
  3. 使用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

https://en.wikipedia.org/wiki/N-gram

我与我的网站有同样的问题。 一时兴起,我select了“不”,然后我得到一个网页,问我是否一直希望被要求翻译(我不记得确切的措辞)。 select“否”后,问题结束。