问题标签 [rfc5646]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iana - 在“变体”类型的语言标记记录中使用首选值 (RFC 5646)
在RFC 5646, Tags for Identification Languages, § 3.1.2 Record and Field Definitions中,当出现在 Type 为“variant”的记录中时,Preferred-Value 字段的语义给出了以下解释:
- 对于“script”、“region”或“variant”类型的字段,“Preferred-Value”包含与形成语言标签相同类型的子标签。
我对此的初步解释是,如果记录的类型是变体,那么 Preferred-Value 的值也是一个变体——“相同类型的子标签”。换句话说,我将“相同类型”理解为“与记录本身相同类型”。
但是,当前版本的语言标签注册表(我写这篇文章时是 2018 年 4 月 23 日 - 似乎没有版本链接)中有与此解释不匹配的记录。例如:
此处的 Preferred-Value 不是变体 — 变体必须是 5-8 个字母数字 ASCII 字符或 1 个数字加三个字母数字字符。特别是在这种情况下,很明显它指的是亚美尼亚语(语言标签的第一段)而不是变体。
但是,在查看其他条目时,大多数 Preferred-Value 值确实符合我最初的解释。例如:
在这里,Preferred-Value 似乎确实是另一个区域代码。脚本/区域/变体类型的规则一起给出——首选值是所有这些的“相同类型”。如果对于区域记录,“相同类型的首选值”意味着“也是一个区域”,那么对于变体记录,首选值如何指向不同的类型?更重要的是,如果这是可能的,那么确定 Preferred-Value 字段的类型以测试其语法的唯一方法是什么?