9

某些语言已接受对拉丁字符的音译,例如印地语、俄语或日语。例如,用梵文书写的“男人在吃东西”的印地语是“आदमी खा रहा है।”。音译为“Aadmi kha raha hai”。(或类似的东西;这种方法经常在网上使用,特别是如果人们无法使用印地语键盘。)

在这种情况下,我们使用拉丁文脚本,但仍在编写印地语,因此使用lang属性标记任一变体都是可以接受的:

<span lang="hi">आदमी खा रहा है।&lt;/span> 或者 <span lang="hi">Aadmi kha raha hai.</span>

那么我的问题是关于通常用拉丁字母本身编写的语言,但可能有针对非演讲者/学习者的语音指南——IPA 或临时发音——在赋予它语义方面是否有任何最佳实践?

例如,在爱尔兰语中,如果我说“那个人在吃东西”,我会说“Tá an fear ag ithe”。我可以将其标记为:

<span lang="ga">Tá an fear ag ithe.</span>

如果我要为非演讲者提供发音指南,我可能会说“Taw on far eg ih-he”。这句话不是毫无意义的,(如“lorem ipsum”文本)但英语或爱尔兰语的句子也不是。

在这种情况下,HTML 中与语言相关的属性的正确用法是什么,或者这个用例目前没有被规范所涵盖?

4

3 回答 3

5

简短版本:如果您想明确地说它是用拉丁字母写的,请为您提供的示例选择“hi-Latn”或“ga-Latn”。

长版:

lang 属性的 W3C 规范没有特别提到这一点 - 它建议了一些依赖于正字法的 this 用途(例如使用它来呈现所用字符的高质量版本),但有些则没有(例如搜索引擎)。

RFC1766指定语言标签的格式,建议标签的特殊化可用于表示“脚本变体,例如 az-arabic 和 az-cyrillic”。在 W3C 站点上的这篇文章中有更多关于脚本子标签的内容,在后来的 RFC5646中还有一些额外内容。那个指向脚本名称的 ISO 标准列表,在该列表中,您想要的脚本是“Latn”,因为它们是其他脚本的罗马化形式。

(不过,这不包括诸如指定您如何进行音译之类的事情,对于可能具有多个标准的语言,例如使用 Wade-Giles 与拼音的拉丁文中的中文。)

于 2012-07-19T12:23:23.410 回答
3

对于大多数实际目的而言,这并不重要,因为浏览器、搜索引擎和其他相关程序通常会忽略lang属性。属性可能会影响字体的选择,但仅限于页面本身不建议字体时(这种情况很少见)。一些语音浏览器识别一些值lang并相应地调整它们的功能。如果您在 MS Word 中打开 HTML 文档,它会识别lang标记并应用特定语言的拼写工具。但所有这些都是相当有限的,很少有什么关系。此外,在这些情况下,仅识别最简单类型的语言代码。

原则上,可以指明书写系统(“脚本”),例如拉丁文与天城文,以及已使用的音译或转录系统。这已在BCP 47中进行了描述。但在大多数情况下,它是实施者的指导方针,而不是你现在可以使用的东西。

例如,您可以写<span lang="hi-Latn">Aadmi kha raha hai.</span>以表明内容是印地语但用拉丁字母书写。至少在原则上,有一种方法可以指示使用了哪些竞争罗马化系统。我认为任何与网络相关的软件都无法识别lang="hi-Latn";程序即使识别它也可能无法识别它lang="hi"

所以你可以对 使用详细的值lang,但它没有多大用处。lang="hi"对另一种语言的任何主要片段(例如,一个句子或更多)使用简单的标记是一种很好的做法,尽管不多。在花费太多时间之前,请考虑一下您可以期待哪些实际好处。例如,如果您考虑使用像hyphenate.js这样的客户端连字符,那么lang标记就变得必不可少;但是您需要检查该软件的期望,而不仅仅是一般规范。

一句警告:我在用lang="ru"拉丁字母写的俄语时看到了奇怪的结果。原因是浏览器可能会切换到他们的“俄语字体”的想法,导致字体混合。但简单的补救措施是为所有文本进行一些一致的字体设置,在这种情况下覆盖浏览器默认设置。

像“Taw on far eg ih-he”这样的字符串不能被有意义地归类为某种语言。如果您使用语言标记,请使用lang=""(以空字符串作为值),因为这是明确指示未指示语言的定义方式!

于 2012-07-19T12:21:54.630 回答
0

您可能想考虑将其标记为<ruby>.

例如:

<ruby lang="hi">आदमी<rt>Aadmi</rt> खा<rt>kha</rt> रहा&lt;rt>raha</rt> है।&lt;rt>hai</rt></ruby>
于 2012-07-19T12:02:38.023 回答