Google 尝试从阿拉伯语翻译英语 HTML 下标

Google tries to translate English HTML subscripts from Arabic

我有一个简单的 HTML 页面,其中包含一些 <sub> 元素。出于某种原因,Google Translate 提供将下标从阿拉伯语翻译成英语(尽管一开始是英语),只是在翻译时将它们下移一点。 HTML 页面语言设置为 en-US。这只是我的电脑很奇怪,还是有代码相关的原因?

<!DOCTYPE html>
<html lang="en-US">
  <head>
    <!--<meta name="google" content="notranslate"> (this successfully gets rid of the translate popup, commented out for testing purposes)-->
    <meta charset="utf-8"/>
    <meta name="viewport" content="initial-scale=1, maximum-scale=1"/>
    <title>test</title>
    <link rel="icon" href="favicon.svg" type="image/svg"/>
    <link href="style.css" rel="stylesheet" type="text/css"/>
    <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet"/>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script src="functions.js"></script>
    <script src="main.js" defer></script>
  </head>
  <body style="min-width: 0">
    <div id="test"></div>
  </body>
</html>

由 JS 添加到#test:

<div class="letter">A<sub>1</sub></div>

网站:https://test.edgeloop.repl.co 截图:screenshot

您确定这是正确的代码吗?您的 <head> 标签中似乎有一个 <html...> 标签。删除 head 中重复的 html-tag,并将 lang="en"-attribute 添加到 outer-most html-tag.

您的代码应如下所示:

<!DOCTYPE html>
<html lang="en-US">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="initial-scale=1, maximum-scale=1">
        <title>test</title>
        ....
    </head>
    <body style="min-width: 0">
        <div id="test"></div>
    </body>
</html>

如果这不能立即解决您的问题,请尝试清除 google chrome 缓存,如下所示:

  1. F12打开开发工具菜单
  2. Right-click 你的 refreh-button
  3. Select选项empty cache and hard refresh:

如果您的网页交替使用 HTML 和 XML,您可能需要将以下内容添加到您的起始 <html> 标签中(参见 this link):

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

如果您的Google翻译仍然弹出,您有以下选择:

  1. translate="no" 添加到您的根目录 html-tag
  2. 将 class notranslate 添加到您的根目录 html-tag
  3. <meta name="google" content="notranslate"> 添加到您的 head-标签

您的代码应如下所示:

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

@Lawrence Cherone 关于添加更多文本的评论似乎解决了这个问题,@unknown6656 关于添加 <meta name="google" content="notranslate"> 的建议也是如此。我仍然不知道为什么下标被认为是阿拉伯文本,但添加英文文本似乎可以解决问题。感谢大家的回答。