如何指定网页的语言,以便Google Chrome不会提供翻译

57

我有一个页面,谷歌Chrome一直认为它是法语。 这是它的快照:

http://yootles.com/outbox/overcleverchrome.html

请注意,我包含了一个meta http-equiv标签来告诉它其实是英语:

<meta http-equiv="Content-language" content="en">

但这并没有起到帮助作用。 有什么其他方法可以做到这一点吗?


1
我同意这个翻译器很麻烦,每次我需要点击关闭它时,它都会让我想起 MS Office 中的愚蠢助手,让每个人都感到恼火 :( - user310291
2
请查看我的回复,将class="notranslate"添加到body标记中即可。 - Codebeat
1
我有同样的问题。在我看来,这是Chrome的一个bug:如果在HTML 5页面中指定了lang属性,它应该定义元素的语言。在他们修复它之前,我会忽略Chrome的消息几个月左右。我肯定不会添加一些Google特定的代码到文档中,只是为了让这个bug消失。 - rplantiko
1
这可能不是每个人都适用的好方法,但我在一个完全由数据表组成的页面上遇到了这个问题。我添加了几个描述数据的英文句子,问题就解决了。 "notranslate"选项对我也起作用,但我不想限制Google对页面的操作,只是防止它误解页面的语言。所以我很高兴只是添加了一些描述,这些描述本来应该一直存在的。 - ccalvert
@ccalvert 很好的观点,那应该是首先尝试的事情! - dreeves
8个回答

43

目前,Google Chrome 要求使用几个标签来使 (HTML5) 文档不进行翻译。在这之前,您应该确定您的受众使用的语言,否则会防止外国网站正确地翻译您的站点。

相关标签如下:

<meta charset="UTF-8" />
<meta name="google" content="notranslate" />
<meta http-equiv="Content-Language" content="en_US" />

这里是一个完整的示例:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="google" content="notranslate" />
  <meta http-equiv="Content-Language" content="en_US" />
 </head>
 <body>
  Dies ist ein Test Deutsch
 </body>

1
我可以确认这个不起作用。元标签只占谷歌翻译算法中的很小一部分权重。 - Hamer
2
请参见上文,内容应为“en_US”。 - justingordon
其他搜索引擎如Bing呢? - marko
3
似乎OP不想完全禁用翻译,而是要指定语言,以免被Google翻译错误解释。 - James Gentes
哪一个是正确的 content="notranslate" 还是 value="notranslate"?在你的回答中我看到了 content 但在这个页面上的另一个回答中我看到了 value - Sam

8
我找到了一篇文章,可能会对你有所帮助: http://www.blogsdna.com/4593/how-to-stop-google-from-translating-your-website-or-webpage.htm 你可以使用 meta 标签:
<meta name="google" value="notranslate">

或者您可以使用一个类:

<span class="notranslate"></span>

我希望这能回答你的问题。
编辑:我刚刚检查了我提供的德语和英语博客。在每个语言版本中,Chrome都没有要求我进行翻译:http://kau-boys.de 我检查了源代码,多语言插件只包含了这段代码:
<meta http-equiv="Content-Language" content="en_US" /> 

所以也许您的区域设置需要有一个子区域,比如这个例子中的美国 (US)。

2
我已经尝试了上述所有方法,但Chrome仍然会提供翻译这个特定页面的选项。我甚至检查了HTML是否有效。 - Bee
1
"google" 和 "content-language" 元标签对我都不起作用。 - EoghanM
编辑后的解决方案对我有用。ru_RU 适用于俄语,没有任何烦人的自动翻译弹窗。 - BasTaller
当前版本的Google Chrome Canary中,en_US是内容的关键,而不是US。 - justingordon
是的,目前翻译栏仍在弹出。 - RooWM

7

7

添加<meta name="google" value="notranslate">(顺便说一下,这不是W3C标准)或<meta name="google" content="notranslate">并不能避免烦人的翻译弹窗。

但是我尝试了以下方法,似乎可以解决问题:

您可以将class="notranslate"添加到<body>标签中以避免页面被翻译!


可以确认这是我(Angular Web应用程序)似乎唯一有效的选项。在主页面中添加meta标签没有任何效果,只有更改body类才有效。 - walen

1

插入后记得在新选项卡或新窗口中打开页面

<meta name="google" value="notranslate">

否则看起来好像不起作用,但实际上它运行良好。

1
在较旧版本的Chrome浏览器(18.x)中,除非将标签中的Content-Language小写,否则它似乎对翻译弹出窗口没有影响:
<meta http-equiv="content-language" content="en" />

为了明确起见,http-equiv="Content-Language" 没有 起作用;name="content-language" 也没有。


1

我在编程中使用 <meta name="google" content="notranslate" /> 取得了成功。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接