为什么 Chrome 错误地确定页面处于另一种语言,并提供转换?

新的自动翻译功能 Google Chrome 在我们的一个应用程序中工作。 每当我们去这个特定的页面时, Chrome 我通知我们该页面用丹麦语编写,并提供翻译。 此页面是用英文编写的,如应用程序的所有其他页面。 此特定页面是一个内部测试页面,具有具有英语标签的几十个字段。 我不知道为什么 Chrome 他认为这个页面丹麦语。

有没有人知道这种语言检测函数如何工作以及如何确定所做的 Chrome 认为页面是用丹麦语写的吗?
已邀请:

二哥

赞同来自:

更新:
https://support.google.com/web ... n%231
我们不使用代码级别的任何语言信息,例如
属性 lang.

他们建议您制作您网站的明显语言。
使用以下似乎有所帮助,虽然
Content-Language

过时,我 Google 他们说他们忽略了
lang



<html lang="en" xml:lang="en" xmlns="[url=http://www.w3.org/1999/xhtml">]http://www.w3.org/1999/xhtml">[/url]
<meta charset="utf-8"/>
<meta content="notranslate" name="google"/>
<meta content="en" http-equiv="Content-Language"/>


如果它不起作用,你可以始终放一堆文字 /例如,您的页面 "About"/ 在隐藏 div. 它可以帮助 SEO.

EDIT /更详细的信息

/

OP 问O. Chrome, 所以
http://support.google.com/webm ... 79812
上面发表。 通常,有三种方法可以为其他浏览器执行此操作:

http://www.w3.org/Internationa ... 19987
W3C: 使用属性
lang

和 / 或者
xml:lang

在teg html:


<html lang="en" xml:lang="en" xmlns="[url=http://www.w3.org/1999/xhtml">]http://www.w3.org/1999/xhtml">[/url]


UPDATE:
http://support.google.com/webm ... 79812
现在过时了
, 虽然她仍然可以帮助 Chrome.:
meta http-equiv

/如上所述/:


<meta content="en" http-equiv="Content-Language"/>


使用头条新闻 HTTP /不推荐基于
http://www.w3.org/Internationa ... tions
/:


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 更新选项卡时,它并不总是捕获新的元标记。
</html></html>

詹大官人

赞同来自:

我加了
lang="en"

在公告中 doctype, 添加了元标签 charset utf-8 和 Content-Langauge 在标题中 HTML, 指出 charset 作为 utf-8 和 Content-Language 作为
en

在答案的头条新闻中 HTTP, 它没有阻止 Chrome 宣布我的页面是用葡萄牙语编写的。 唯一纠正这个问题的事情, - 这是标题中添加此元素。 HTML:


<meta content="notranslate" name="google"/>


但现在我禁止用户翻译我的页面,这些页面是用英语写作的。 糟糕的工作,铬。 你可以比这更好。

小明明

赞同来自:

不知道它是为了文本,也许是检测 ngram 由页面内容欺骗。

http://googleresearch.blogspot ... .html
https://en.wikipedia.org/wiki/N-gram

八刀丁二

赞同来自:

Chromium 认为这一页在菲律宾:
http://www.reyalvarado.com/portfolio/cuba/
Notes: 页面实际上没有文本,除了所有者和菜单项的名称。 菜单项由图像动态替换 FLIR.

HTML 宣布英语美国页面:


<html dir="ltr" lang="en-US" xmlns="[url=http://www.w3.org/1999/xhtml">]http://www.w3.org/1999/xhtml">[/url]


</html>

卫东

赞同来自:

指定文档的默认语言,然后使用
https://www.w3.org/Internation ... ag.en
和班级 Google
notranslate

为了 element/container,, 如何:


<html lang="en">
...
<span><a class="notranslate" href="#" translate="no">English</a></span>


解释

:

已接受的答案是一般解决方案,但并不涉及如何为每个元素指定可以纠正错误并确保您的元素的语言
https://www.w3.org/Internation ... ibute
.

为什么它更好? 它将与国际化合作。 Google, 并没有关闭它。 回到 OP:

为什么 Chrome 错误地确定页面处于另一种语言,并提供转换?

回答

: Google 试图帮助您获得国际化,但我们必须明白它为什么失败。 基本的

回答 NinjaCat, 我们假设 Google
https://ai.googleblog.com/2006 ... .html
您的网站语言使用
https://en.wikipedia.org/wiki/N-gram
- 因此,我们肯定不能说为什么 Google 想要翻译你的页面; 我们只能假设:

在您的页面上,有属于另一种语言的单词。

包含项目的包
translate="no"


lang="en"

/或删除这些单词/ 将有帮助 Google 正确预测您的页面语言。

不幸的是,大多数人到达这篇文章知道造成什么问题。 使用内置功能 Chrome "Translate to English" /在鼠标右键的上下文菜单中/, 要查看翻译的内容,您可以看到意想不到的翻译,这样
https://translate.google.com/% ... 520RD
:

https://i.stack.imgur.com/PDJBE.png
所以更新你的 html 适当的翻译标签,直到您的页面谷歌翻译将改变任何内容,那么我们应该期望弹出窗口将消失,以便将来的访客消失。

是否会有很多工作来添加所有这些附加标签?

是的,很可能。 如果您正在使用 Wordpress 或者另一个内容管理系统,然后看看他们的
https://codex.wordpress.org/I1 ... opers
快速更新代码的方法!
</html>

詹大官人

赞同来自:

尝试启用属性
xml:lang=""


<html>

, 如果其他解决方案不起作用:


<html class="no-js" dir="ltr" lang="pt-BR" xml:lang="pt-BR">


</html></html>

要回复问题请先登录注册