html - 为什么 Chrome 会错误地确定页面使用不同的语言并提供翻译?

标签 html localization internationalization google-chrome

新的 Google Chrome 自动翻译功能在我们的一个应用程序中的一个页面上出现问题。每当我们导航到这个特定页面时,Chrome 都会告诉我们该页面是丹麦语并提供翻译。该页面是英文的,就像我们应用程序中的所有其他页面一样。这个特定页面是一个内部测试页面,有几十个带有英文标签的表单字段。我不知道为什么 Chrome 会认为这个页面是丹麦的。

是否有人了解此语言检测功能的工作原理以及我如何确定导致 Chrome 认为该页面是丹麦语的原因?

最佳答案

更新:according to Google

We don’t use any code-level language information such as lang attributes.

他们建议您明确说明您网站的语言是什么。 尽管 Content-Language 已被弃用并且 Google 表示他们忽略了 lang

,但使用以下似乎有帮助
<html lang="en" xml:lang="en" xmlns= "http://www.w3.org/1999/xhtml">
<meta charset="UTF-8">
<meta name="google" content="notranslate">
<meta http-equiv="Content-Language" content="en">

如果这不起作用,您可以随时将一堆文本(例如“关于”页面)放在隐藏的 div 中。这也可能对 SEO 有所帮助。

编辑(以及更多信息)

OP 在询问 Chrome,所以 Google's recommendation贴在上面。对于其他浏览器,通常有三种方法可以完成此操作:

  1. W3C recommendation :在 html 标签中使用 lang 和/或 xml:lang 属性:

    <html lang="en" xml:lang="en" xmlns= "http://www.w3.org/1999/xhtml">
    
  2. 更新: previously a Google recommendation 现在deprecated spec尽管它可能仍然对 Chrome 有帮助。 : meta http-equiv (如上所述):

    <meta http-equiv="Content-Language" content="en">
    
  3. 使用 HTTP header (基于 cross-browser recognition tests 不推荐):

    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 - 为什么 Chrome 会错误地确定页面使用不同的语言并提供翻译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2467454/

相关文章:

html - 如何使 Rails 中的布局文件根据每个页面进行更改?

php - PoEdit 不识别 _n() 复数

swift - 在 1 个字符串中翻译 Swift 中的两个变量和一个分隔符

java - 已经安装了德语 Babel。在 Eclipse 中运行的应用程序现在是德语,但导出为 "Eclipse product"仍然是英语

ruby-on-rails - 将 I18n 与 Rails 一起使用时的重定向将正斜杠编码为 %2F

java - ResourceBundle Editor禁用Spring Tool Suite中的基本功能

html - 在 Firefox 上,溢出 : hidden works, 但滚动条和空格仍然存在

javascript - 我可以使用 jquery mobile 优化现有的 HTML、CSS 和 JS 文件吗

java - 浏览器语言环境为日语

javascript - Textarea 使用 Jquery 根据内容调整大小(使用表单控制类)