【发布时间】:2018-10-23 01:22:25
【问题描述】:
在RFC 5646, Tags for Identifying Languages, § 3.1.2 Record and Field Definitions中,对出现在Type为“variant”的记录中的Preferred-Value字段的语义给出如下解释:
- 对于“script”、“region”或“variant”类型的字段,“Preferred-Value”包含与形成语言标签的首选类型相同的子标签。
我最初对此的解释是,如果记录的类型是variant,,那么 Preferred-Value 的值也是一个variant——“同类型”。换句话说,我将“同类型”理解为“与记录本身同类型”。
但是,当前版本的 language tag registry(我写这篇文章时是 2018 年 4 月 23 日 - 似乎没有版本链接)中有与这种解释不符的记录。例如:
Type: variant
Subtag: arevela
Description: Eastern Armenian
Added: 2006-09-18
Deprecated: 2018-03-24
Preferred-Value: hy
Prefix: hy
此处的 Preferred-Value 不是变体 — 变体必须是 5-8 个字母数字 ASCII 字符或 1 位数字加三个字母数字字符。特别是在这种情况下,很明显它指的是亚美尼亚语(语言标签的第一段)而不是变体。
但是,在查看其他条目时,大多数 Preferred-Value 值确实符合我最初的解释。例如:
Type: region
Subtag: YD
Description: Democratic Yemen
Added: 2005-10-16
Deprecated: 1990-08-14
Preferred-Value: YE
在这里,Preferred-Value 似乎是另一个区域代码。脚本/区域/变体类型的规则一起给出——首选值是所有这些的“相同类型”。如果对于区域记录,“相同类型的 Preferred-Value”意味着“也是一个区域”,那么对于变体记录,Preferred-Value 怎么可能指向不同的类型?更重要的是,如果可以的话,唯一的方法是确定 Preferred-Value 字段的类型来测试它的语法吗?
【问题讨论】:
-
我开始怀疑注册表不符合它自己的规范。我刚刚发现了另一种不同的情况:子标签 lsg 的 extlang 条目缺少其首选值字段,根据规范,该字段必须存在并且必须与其子标签具有相同的值。
-
extlang "rsi" 和 extlang "yds" 相同。这些都是在 2015 年之后添加/更新的共同点。