在我的网站上禁用 Chrome 翻译栏
Posted
技术标签:
【中文标题】在我的网站上禁用 Chrome 翻译栏【英文标题】:Disable Chrome translation bar on my website 【发布时间】:2011-11-05 22:29:25 【问题描述】:我有一个高度动态的聊天网站,当使用谷歌浏览器访问它时,翻译栏出现在提供翻译该网站。虽然动态内容的翻译效果比我预期的要好,但它并不能很好地达到我的目的,甚至在聊天中也没有多大意义。
是否可以在我的网站中添加一些提示,以便使用 Chrome 的访问者看不到翻译栏?
【问题讨论】:
出于好奇,如果您明确地specify the language (<html lang="en">
) 该页面,是否会覆盖 Chrome 尝试自动检测语言?如果 Chrome 认为您标记的页面不是它所标记的,那听起来像是一个错误。
【参考方案1】:
将此插入网页的head
部分。
<meta name="google" content="notranslate">
来源:Meta tag that Google understand - Search Console Help
【讨论】:
元解决方案只能部分工作。部分,我的意思是当页面第一次加载时,翻译栏不显示,这是我想要的。但是,如果我点击“刷新”,那么该栏就会出现。这是故意的吗? 我也体验到了同样的效果。对此无能为力:( 您可以在此页面上看到“刷新时显示工具栏”行为,该页面具有 标签:jsbin.com/ehavan/3 或者,这是没有 标签的同一页面:jsbin.com/ehavan/2 如果我理解正确,这不仅会禁用该栏,还会禁用 translate.google.com 网站的翻译 有趣的是,“”标签没有“value”这样的属性——它应该是“content”。因此,无论谁推荐使用“价值”,都是在推荐一个恰好可以容忍的非标准属性。不过,正确的“内容”肯定会起作用。【参考方案2】:如果添加以下代码
<meta name="google" value="notranslate">
在<head></head>
里面会禁用翻译栏的出现,但也会
在Google Translate禁用翻译。
更多信息请查看http://support.google.com/translate/?hl=en#2641276。
【讨论】:
【参考方案3】:元值应该是“content”,而不是“value”
<meta name="google" content="notranslate" />
更新:我知道普通的元标记使用内容来分配值,但是这是一种罕见的情况,其中“值”实际上是正确的语法。即确认删除翻译栏。
【讨论】:
+1,应该是内容support.google.com/webmasters/answer/79812?hl=en 应该按照文档,是的。但只有“价值”对我有用(Chrome 28)。 不管你用哪一个:support.google.com/translate/?hl=en#2641276 很好,其他帖子更新了它的答案。***.com/posts/7229002/revisions 所以现在这有点过时了。 这里的更新让我很困惑。代码块中的代码是否正确?【参考方案4】:如果您想阻止某个部分(即:对于原始问题,只是聊天窗口),您可以使用
class=notranslate
发件人:http://support.google.com/translate/?hl=en#2641276。 如果您不介意您的网页被 Google 翻译翻译,除了特定部分(例如电子邮件地址),只需将 class=notranslate 添加到任何 HTML 元素以防止该元素被翻译。例如:
Email us at <span class="notranslate">sales at example dot com</span>
【讨论】:
完美,这通常比其他答案所建议的完全禁用翻译有用得多。另外,您仍然可以为整个身体标签提供比类。 这是正确的答案,因为它使不阅读原始语言的任何人都可以访问网站的其余部分【参考方案5】:使用新的全局属性。 translate
.
在我的例子中,我直接在 html 中使用它
<html lang="en" translate="no">
但您可以在特定元素上设置它。例子
<footer>
<small>© 2020 <span translate="no">BrandName</span></small>
</footer>
MDN ref
【讨论】:
以上是关于在我的网站上禁用 Chrome 翻译栏的主要内容,如果未能解决你的问题,请参考以下文章