175

我刚为一家法国餐馆做了一个网站。该网站是英文的,但我想网站上有足够的法语(菜单项的标签图片)提示访问者在使用 Chrome 时翻译网站。

我可以在 html 中添加一些内容以防止 chrome 要求翻译页面吗?我认为它会是类似的东西,<html lang="en">但那是行不通的。

有任何想法吗?

谢谢

4

9 回答 9

357

新答案

添加translate="no"到您的<html>标签,如下所示:

<html translate="no">

MDN 参考


旧答案

(这应该仍然有效,但不太理想,因为它是谷歌特有的,而且还有其他翻译服务。)

<head>在和之间添加这个标签</head>

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

文档参考

于 2012-09-02T17:59:46.367 回答
62

因此,对于我提出的最终解决方案;

<!DOCTYPE html>
<html lang="en" class="notranslate" translate="no">
<head>
  <meta name="google" content="notranslate" />
</head>
<body>
...
</body>
</html>

这对我有用。

于 2020-04-22T10:40:30.870 回答
16

中的元标记<head>对我不起作用,但是

class="notranslate"

添加到父级div(甚至<body>)确实有效,并允许更精确地控制您不想翻译的内容。

于 2019-07-23T13:34:40.387 回答
4

解决方案:

<html lang="en" class="notranslate" translate="no">    <!-- All translators -->
 <head><meta name="google" content="notranslate" /> <!-- Just for google -->
</head>                                                <!-- Close head      -->

更简单的方法是添加translate="no"属性。这可以在 div、文本等中进行。这是一个例子:

// Just for instructions
// Do not copy or paste
console.log("The first div don't alows translateing. But the second, alows it.")
console.log("Open the translator and see the efect.")
DIV1
<div translate="no">
  Try translating me!
  <b>Olá - Hello - Hola</b>
</div>
<hr> DIV2
<div translate="">
  Now, you can do it!
  <b>Olá - Hello - Hola</b>
</div>

请注意,此示例在 StackOverflow 查看器中存在一些问题。


免责声明:重复此答案,在社区 Wiki 上。

于 2021-05-07T16:12:02.920 回答
2

仅供参考,如果您想要适用于您网站中所有内容的内容(包括非 HTML 内容),您可以将Content-Language响应(source)中的标头设置为适当的语言(在我的情况下为en-US)。

这样做的好处是它将“禁用”为您翻译页面的提议因为它会正确地知道源语言),但对于其他非母语读者,他们仍然可以选择翻译您的网站成他们自己的语言,它会正常工作。

(同样对于我的用例,Chrome 提供将格式良好的 JSON 从拉丁语翻译成英语,BS 消失了。)

于 2020-02-05T20:00:06.333 回答
1

在您的网站上禁用谷歌翻译

将此添加到您的<head></head>

<meta name="google" content="notranslate" />
于 2019-11-27T16:18:24.413 回答
0

试试这个以获得最终解决方案:

<html lang="en" class="notranslate" translate="no">    <!-- All translators -->
 <head><meta name="google" content="notranslate" /> <!-- Just for google -->
</head>                                                <!-- Close head      -->

更简单的方法是添加translate="no"属性。这可以在 div、文本等中进行。这是一个例子:

// Just for instructions
// Do not copy or paste
console.log("The first div don't alows translateing. But the second, alows it.")
console.log("Open the translator and see the efect.")
DIV1
<div translate="no">
  Try translating me!
  <b>Olá - Hello - Hola</b>
</div>
<hr> DIV2
<div translate="">
  Now, you can do it!
  <b>Olá - Hello - Hola</b>
</div>

请注意,此示例在 stackoverflow 查看器上存在一些问题。

于 2020-09-12T10:07:42.417 回答
0

我的 Windows 是德语的德语。

我在 Chrome 中做了以下体验: 如果我设置

<html lang="en" translate="no">

谷歌翻译提出了翻译英语的建议。

当然我必须省略 lang 属性。这对我有用:

<html translate="no">

没有弹出窗口出现,并且 URL 字段中的翻译图标不再显示。

于 2021-04-21T07:29:07.947 回答
0

有时您需要阻止的不是所有 html,而是特定元素,在这种情况下,您可以仅将 class="notranslate" 添加到该元素。IE。<div class="notranslate"> some content </div>

于 2021-12-03T10:28:41.467 回答