HTML5支持多语言

4

大家有没有想过HTML5是否支持多语言。

我的意思是,如果我使用英语设计我的网站,则HTML5将使用某些标记或翻译来将其转换为相应的语言。

任何指导或一点码都可以帮助我很多。

非常感谢!

3个回答

4
HTML5并不具备翻译功能,它只是一种标记语言,用于显示您放置其中的内容而不应用任何逻辑。
然而,这样的翻译通常由现代浏览器(如Chrome、FireFox等)完成。先进的浏览器会检测到您正在查看的网站使用的是其他语言,并为您提供将其转换为您首选语言的选择。
HTML5与整个翻译过程唯一相关的事情是它有一个称为“translate”的新属性。通过将此属性与值"no"一起使用,您现在可以标记不希望被浏览器翻译的元素。
<span translate="no">衝撞撞沒輸贏」應是「衝衝撞撞沒輸贏</span>
<!--Now no browser will dare to translate this.-->

这里有一篇关于翻译属性、Google 翻译和微软翻译的好文章解释:http://rishida.net/blog/?p=831。 - Bartłomiej Mucha

4
问题是 - 你想要自动翻译内容,还是想要翻译您网站的用户界面。

单独使用 HTML5 并不提供完整支持,只有一些提示,而且这些提示也并非到处都得到实现。

例如,您可以像 http://www.labnol.org/internet/google-translation-widgets/10135/ 描述的那样,在您的网站上添加 Google 翻译按钮。Google Chrome 已经内置了它,并且适用于所有网站。其他浏览器可能会在未来获得此类功能,但这是浏览器应用程序的功能,而非 HTML 的特性。

为了翻译您网站的界面,您可以使用许多国际化库之一。许多 CMS 和 Web 框架都带有此类 i18n 库。您还可以使用客户端,使用一个名为 jquery.i18n(https://github.com/wikimedia/jquery.i18n/)的库。

(免责声明:我是 juery.i18n 的开发人员之一。)

最后,一个良好实践的提示:在所有相关的 HTML 元素上使用 lang 属性。即使是 "en" 也是如此。这对于拼写检查、选择正确的字体、翻译等非常有用。只要您知道语言,就应该指定它。它可能看起来多余,但是确实需要。


2

HTML5没有内置翻译功能。HTML提供了lang属性来指示标签内容所写的语言,但这只是一种指示性属性,不以任何方式修改内容。

关于为什么没有自动翻译的更深层次的哲学原因是,HTML是一种结构语言... 它定义了网页构建的框架。它不仅不修改内容,而且如果它这样做了,你作为开发者就会失去对翻译质量和准确性的控制。这可能是个很糟糕的事情...

然而,正如你应该已经知道的那样,Chrome可以将外语页面翻译成你选择的语言。这里的区别在于Chrome由用户控制,用户有权决定以什么语言查看内容,以及是否查看由你明确定义的原始内容。


翻译由浏览器完成。要进行翻译,需要一个翻译引擎实际进行翻译。如你所知,不能简单地逐个转换单词,就能得到另一种语言的正确翻译。Chrome利用Google翻译的强大功能来翻译其页面,这就是它提供此功能的方式。对于多语言支持,最好的方法是提供尽可能多的准确语言版本的页面,然后希望那些不使用Chrome浏览器的用户能够将你的URL输入到Google翻译或类似服务中,以便用他们的母语大致了解你的内容。


Levi的解释很好,但其他流行的浏览器如FF和Safari呢?移动端又如何? - Nimmi
感谢您让我了解了网站的多语言支持升级知识。 - Nimmi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接