摘要
- RFC 3066 统一了不区分大小写的语言标签语法、公开登记流程和基于前缀的语言范围,同时把标签与信息对象的具体关系交给各应用定义。
- 规范明确警告:共享标签前缀并不保证语言相互可懂。匹配只是一次选择结果,不是内容标注正确、呈现成功或读者理解的证明。
用一个小标签承载巨大的人的事实
互联网要传递多语言信息,并不需要先发明一套普遍语言理论。它需要的是一个共同标识,让邮件、HTTP、标记语言、资料库和语音合成等系统不必各造私有词汇。
RFC 3066 以 BCP 47 发布并取代 RFC 1766,给出了这项最小共同机制。语言标签由一个主子标签和零个或多个连字符分隔的后续子标签组成,比较时不区分大小写。两字母主值来自 ISO 639,三字母值来自 ISO 639-2;i 保留给 IANA 登记,x 保留给私用;第二个两字母子标签可以表示 ISO 3166 地区。
这套语法统一了拼写,却没有制造一个“语言真相”的单一所有者。ISO 维护机构分配源代码,IANA 管理命名空间和公开登记,承载标签的协议定义标签与对象的关系,发送方选择标签,接收应用决定动作,最后由读者承担结果。
断言的含义属于上下文
RFC 3066 没有规定“对象带有语言 X”只能有一个含义。对单个文档,一组标签可能表示完整理解所需的语言;对文档集合,它可能只是列出各组成部分出现的语言;对多种备选表示,标签只是帮助寻找各版本的线索;在 HTML 或 XML 中,一个标签还可以只作用于某段文字,帮助词典或语音合成器选择规则。
标签字符相同,断言并不相同。名为 language 的字段可能描述正文语言、用户偏好、界面语言、可用版本或请求的输出。即使值都写成 zh,它们也不是同一个事实。
规范还要求只有在已知且对应用有用时才增加精度。有两字母 ISO 639-1 代码时应优先使用;若协议不强制填写,未知语言最好省略标签,而不是用 und 假装得到一个肯定值;若协议允许多个标签,就应保留多个,而不是压成 mul。未知与多个都是应保留的状态。
前缀是过滤器,不是语言亲缘树
相较 RFC 1766,RFC 3066 的重要新增是 language-range。当范围与标签完全相同,或它正好是标签在连字符边界上的前缀时,就算匹配;* 可以匹配任意标签,具体语义仍可由协议补充。这样,较宽的请求就能收集更具体的已标记版本。
规范随即限制了推论:标签以同一串子标签开头,并不保证对应语言可以互通理解。字符串的层级可以服务选择,却不能证明人的理解层级。
RFC 4647 后来把这套算法命名为“基本过滤”,并把它同扩展过滤和查找区分开。过滤返回集合,查找选择一个标签;两者都不会询问读者。匹配成功只说明声明过的字符串按某个算法和优先级相合,并不能证明识字能力、方言熟悉度、文字系统、无障碍条件、翻译质量或内容没有被错标。
因此,可审计的链条需要分别保留:实际披露的偏好、候选内容标签、匹配算法与版本、被选对象、对象实际语言与文字、呈现或语音结果、用户纠正和最终任务结果。把所有层压成 language_match=true,等于赋予文本比较一种它从未获得的权威。
登记保存的是记忆,不是理解
不能由通用规则直接生成的标签,要经过公开流程。申请者提交描述和参考材料,开放邮件列表审议两周,再由指定审查者转交 IANA 或拒绝;决定可以上诉。登记不会删除,过时标签通过增加“弃用并改用某值”的说明来保存。
这是制度记忆。它让后来者知道旧标签原本指什么,也让历史数据仍可解释。它不认证每个使用标签的对象。登记回答“大家协调使用哪个标识”,不回答“这份文档真的使用这种语言吗”。
x- 私用分支把边界说得更清楚:有明确约定的参与方可以使用私有含义,但 IANA 不登记后续值,公共互联网也不承担解释义务。私下协调的正当性,恰恰来自它没有冒充全球互操作事实。
2006 年的 RFC 4646 用结构化“语言子标签登记表”取代整标签登记,明确语言、文字、地区与变体位置,并强化稳定性。RFC 5646 随后完善该架构,与 RFC 4647 共同构成今天的 BCP 47。IANA 现已把 RFC 3066 的旧语言标签登记表标为关闭和过时。
结构改进让标签更容易解析与保存,却仍没有把标签变成对人类理解的观察。
偏好披露也会暴露人
RFC 1766 曾认为安全问题无关紧要。RFC 3066 则记录了一个具体风险:内容协商中发送的语言范围可能被接收方用来推断国籍,并据此选择监视目标。规范没有说语言等于国籍;风险来自观察者可能作出这种越权推断。
用户为获得更合适内容而披露偏好,服务器却得到一种可用于指纹识别的信号。选择器只需要足以在现有表示中作出决定的信息,日志、关联和长期留存却会给信号第二种生命。负责任的系统应控制披露规模,不从偏好推导身份,并把完成选择所需的收据同为其他目的建立的画像分开。
来源
- https://www.rfc-editor.org/rfc/rfc3066.html
- https://www.rfc-editor.org/info/rfc3066/
- https://datatracker.ietf.org/doc/rfc3066/
- https://www.rfc-editor.org/rfc/rfc1766.html
- https://www.rfc-editor.org/rfc/rfc2277.html
- https://www.rfc-editor.org/rfc/rfc4646.html
- https://www.rfc-editor.org/rfc/rfc4647.html
- https://www.rfc-editor.org/rfc/rfc5646.html
- https://www.iana.org/assignments/language-subtags-tags-extensions
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
- https://heng.lu/on-reality-layers-symbolic-power-and-why-clarity-feels-so-hostile/
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
