2

我们有一个主要是英语的 Intranet 应用程序,但以各种未指定的语言提供内容片段。

Chrome曾经检测外文内容并提供翻译:如果我们有很多外文内容,它会提供翻译整个页面;如果我们只有一点外国内容,用户可以选择文本并使用“翻译成英语”上下文菜单。这两个选项目前都被破坏了,因为(显然)Chrome 现在接受Content-Language标题作为福音,并禁用翻译上下文菜单。

我们的服务器发出响应标头,包括:

Content-Language: en-US

这是正确的,因为 UI 都是英文的。但是,我们需要一些方法来标记页面中内容可能不是英文的区域。例如评论区。

我们可以使用什么lang值来将页面的一部分标记为“可能不是英语”,而不知道它是什么语言?

<div lang="??">
  <p>...customer comments...</p>
</div>
4

2 回答 2

1

HTML5 CR中,声明某些内容为未知语言的方法是使用lang带有空字符串的属性作为其值,即lang="".

Chrome 是否认识到这是一个不同的问题。一般来说,机器翻译的质量非常低,禁用它通常是一件好事。

于 2013-02-19T21:18:03.137 回答
0

如果我没记错的话(来自多语言网络研讨会),Content-Language应该不再使用。相反,您应该使用属性langxml:lang.

考虑到这一点,答案就很简单了:一定lang要为你知道的东西使用这个属性,这些东西肯定是英文的,其他的东西保持不变。
这当然意味着您不能将lang标签用于全局范围(即 as <html lang="en">),但我真的无能为力。

顺便提一句。用适当lang的 . 例如,可以考虑强制用户从列表中选择有效语言,或者使用某个库从文本中检测语言。在这种情况下,您将在渲染时了解语言,我认为这已经足够了。

于 2013-02-19T20:39:28.103 回答