You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何规范化语义相同的语言标签?[CLDR]

关于CLDR语言标签规范化及使用场景的解答

先明确ar-EG和arz的核心差异

ar-EG是**ISO 639-1语言码(ar=阿拉伯语)+ ISO 3166-1区域码(EG=埃及)**的组合标签,代表「埃及地区使用的标准阿拉伯语」;而arz是ISO 639-3的独立语言码,专门指代「埃及阿拉伯语方言」——CLDR会根据数据用途的不同,分别使用这两种标签:

  • 当存储面向埃及地区的标准阿拉伯语翻译内容时,用ar-EG;
  • 当需要查询「埃及阿拉伯语」这个方言在其他语言中的名称翻译时,用arz。

程序化规范化的实现方式

无需自行维护规整数据库,直接利用现有工具和CLDR自带数据即可:

  • CLDR内置映射数据:在cldr-common-42的supplemental目录下,languageData.json和likelySubtags.json包含了所有语言标签的关联逻辑。比如通过likelySubtags可以自动推导ar-EG对应的方言码,或把arz关联到对应的区域化标签。
  • ICU库:Unicode官方的ICU组件封装了CLDR的映射规则,支持多语言(Java、C++、Python等)。比如用ICU的Locale类,可快速完成标签的转换、规范化,比如将arz转换为ar-EG,或反向推导。

不同场景的标签选择优先级

  • 内容本地化(翻译面向特定区域的标准语言):优先用语言码-区域码形式(如ar-EG),这是本地化场景的通用标准,适配绝大多数翻译系统和区域化需求。
  • 指代独立方言/语言变体(如多语言选择器的选项名称、方言专属内容处理):优先用ISO 639-3独立码(如arz),它能精准代表方言本身,而非「某地区的标准语言」。
  • CLDR内部查询:查目标区域的翻译内容用ar-EG;查该语言变体的跨语言名称翻译用arz,这是CLDR数据组织的既定规则。

规范化资源指引

  • CLDR补充数据:直接查看cldr-common-42包内的supplemental文件夹,其中的languageData.json包含语言码的层级、关联关系,likelySubtags.json提供标签自动补全与映射逻辑。
  • ICU库:各语言的ICU绑定库可直接调用API处理标签规范化,无需自行维护映射关系。
  • ISO 639-3代码集:下载官方代码集,里面包含所有语言/方言的代码,以及与ISO 639-1/2的映射关系,和CLDR数据完全兼容。

内容的提问来源于stack exchange,提问作者Vasco Lange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 15:25:41