新的谷歌浏览器自动翻译功能在我们的一个应用程序的一个页面上出现了。每当我们导航到这个特定页面时,Chrome 都会告诉我们该页面是丹麦语并提供翻译。该页面是英文的,就像我们应用程序中的所有其他页面一样。这个特定页面是一个内部测试页面,有几十个带有英文标签的表单字段。我不知道为什么 Chrome 认为这个页面是丹麦的。
有没有人了解此语言检测功能的工作原理以及我如何确定导致 Chrome 认为该页面是丹麦语的原因?
更新:根据谷歌
我们不使用任何代码级语言信息,例如语言属性。
他们建议您明确您网站的语言是什么。使用以下似乎有帮助的方法,尽管Content-Language已被弃用,谷歌表示他们忽略lang
Content-Language
lang
<html lang="en" xml:lang="en" xmlns= "http://www.w3.org/1999/xhtml"> <meta charset="UTF-8"> <meta name="google" content="notranslate"> <meta http-equiv="Content-Language" content="en">
如果这不起作用,您可以随时将一堆文本(例如您的“关于”页面)放在隐藏的 div 中。这也可能对 SEO 有所帮助。
编辑(和更多信息)
OP 正在询问 Chrome,因此上面发布了Google 的建议。对于其他浏览器,通常有三种方法可以完成此操作:
W3C 建议 :在 html 标记中langand/orxml:lang
xml:lang
<html lang="en" xml:lang="en" xmlns= "http://www.w3.org/1999/xhtml">
更新: 以前的谷歌推荐 现在已弃用规范,尽管它可能仍然有助于 Chrome。:(meta http-equiv如上所述):
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 并不总是在标签刷新时选择新的元标记。