fbpx
维基百科

IETF語言標籤

語言标签語言代碼的缩写表示,例如en表示英语,pt-BR表示巴西葡萄牙语。由互联网工程任务组(IETF)的“BCP英语Best Current Practice 47”文档系列定义。现在标准化为RFC 5646(引用了相关的RFC 5645)与RFC 4647,IANA语言子标签登记[1][2][3][4]使用的各成分来自ISO 639ISO 15924ISO 3166-1以及UN M.49

这种语言标签用于许多现代的计算标准,包括IETF的互联网协议如HTTP[5][6]XML[7]以及PNG[8]SGMLUnicodeANSI以及ECMA。Microsoft的Windows操作系统使用它代替过时的LCID,来表示locale

历史 编辑

IETF语言标签的最早版本是1995年3月发布的RFC 1766。使用ISO 639的2字母语言代码,ISO 3166的2字母国家地区代码,允许登记的标签携带variant或书写文字子标签。

2001年1月发布RFC 3066, 使用ISO 639-2的3字母语言代码。

2006年9月发布RFC 4646 (规范的主体)与RFC 4647 (处理匹配行为)。RFC 4646增加了使用ISO 15924 的4字母书写文字代码与UN M.49的3数字地理分区码。

2009年9月发布RFC 5646,引入了3字符码的ISO 639-3与639-5作为语言子标签。[9]

语言标签的语法 编辑

语言标签由一个或多个子标签(subtags)组成,用连字号(-)分隔。子标签只能由基本拉丁字母或数字组成。子标签出现顺序:

  • 一个主语言子标签(primary language subtag),ISO 639-1 (2002)的2字母语言代码,ISO 639-2 (1998)或ISO 639-3 (2007)或ISO 639-5 (2008)的3字母语言代码, BCP 47登记的5到8个字母的语言代码。应保持同样的大小写。
  • 最多3个可选的extended language subtags,每个由3字母组成。实际上还没有使用。
  • 1个可选的文字子标签(script subtag),ISO 15924的4字母书写文字代码,通常是title case。
  • 1个可选的地区子标签(region subtag),ISO 3166-1 alpha-2的2字母地区代码(通常大写),或UN M.49的3数字地理区代码。
  • 可选的variant subtags,每个为5至8个字母,或者4字母后跟1个数字。由IANA登记。
  • 可选的extension subtags,每个为单字符(不允许“x”)开始(这称为singleton),后跟连字符与2至8个字符组成的文本。[10],[11]
  • 1个可选的private-use subtag, 每个为x-后跟1至8个字符组成文本。

例外情况是x-前缀开头的私用语言标签,向后兼容的grandfathered语言标签(包括i-前缀与以前登记的老的语言标签)。

上述未指明的子标签应该小写。实际上整个语言标签是大小写无关的。

可选的script与region子标签如果没有提供可辨识信息,则将被忽略。例如拉丁字母拼写的西班牙语es-Latn,日本的日语ja-JP

并不是所有语言区域都有有效的区域子标签:主语言的国内方言区被登记为variant子标签。例如,valencia variant子标签用于加泰罗尼亚语巴倫西亞語方言。由于该方言几乎只用于西班牙国内,区域子标签ES通常忽略。

宏语言(macrolanguage)中的语言代码或者直接用语言子标签表示,如普通话cmn;或者用语言-扩展子标签的组合,如zh-cmn

手語用扩展子标签,前缀为sgn

与其他国际标准的关系 编辑

虽然源自ISOUN的标准,但并不是严格遵循。特别是ISO 639, ISO 15924, ISO 3166, UN M.49等标准撤回某些编码,甚至改变某些编码所指的时候,RFC 4646规定语言标签仍然保持最初含义不变。

ISO 639-3 与 ISO 639-1 编辑

RFC 4646之前登记的语言标签现在分为"grandfathered"或"redundant",视其是否满足目前的语法而定。并且是过时的。现在采用ISO 639-3语言子标签。例如,nan取代了zh-min-nan表示闽南语hak取代了i-hakzh-hakka表示客家话ase取代了sgn-US表示美國手語

ISO 639-5 与 ISO 639-2 编辑

ISO 639-5使用3字母表示一个语言群中所有的语言。而ISO 639-2使用3字母表示一个语言群中没有独立语言标签的那些语言。例如,ISO 639-2代码afa表示"Afro-Asiatic (Other)",不包含阿拉伯语。而ISO 639-5中的这个代码表示"Afro-Asiatic languages",包含亚非语系所有语言。这一变化发生在2009年。[12]

ISO 639-5为了向后兼容ISO 639-2,对于这些老的代码,定义了grouping type attribute。

BCP 47定义了"Scope"属性用于语言集子标签的辨别。但是没有定义任何inclusive或exclusive属性,也没有使用ISO 639-5的grouping type attribute。

ISO 639-5没有定义哪些语言属于某个语言集。因此RFC 5646不建议使用语言集,除非是那些非特定的语言集,如"Multiple languages"与 "Undetermined"。

ISO 15924, ISO/IEC 10646 与 Unicode 编辑

某些主语言子标签携带了属性"Suppress-Script",通常某个书写系统适用于该语言。因此会忽略script子标签。例如,yi取代了yi-Hebr ,因为意地绪语总是使用希伯来字母书写。

另一个例子,zh-Hans-SG可被认为等价于zh-Hans,因为新加坡简体中文与其他简体中文几乎一样。但是,这里的script子标签显然是有意义的。

ISO 3166-1 与 UN M.49 编辑

当语言的地区方言有专门的子标签,这比使用地区子标签更优。例如,ar-DZ应该被arq代替来表示阿爾及利亞阿拉伯語

扩展 编辑

Extension子标签(不要与extended语言子标签混淆)允许附加额外的信息,如locale,calendar,currency。

至2014年1月已经分配了两种扩展。

Extension T 编辑

2012年2月,Unicode Consortium在RFC 6497发布了Extension T用于语言标签包含信息关于音译(transliterated),转写(transcribed),变换(transformed)。例如,en-t-jp用于从日语翻译到英语。

Extension U (Unicode Locale) 编辑

2010年12月,統一碼聯盟在RFC 6067发布了Extension U,允许在通用當地數據儲存庫中嵌入了宽属性,表示很多區域設置数据集。

例如:

Windows操作系统的使用 编辑

Windows Vista及以后版本,采用RFC 4646作为locale标签,字符串最大长度85,包含了结尾的零字符。

只有语言子标签,称为中立locale(neutral locale)。加上地区子标签,称为specific locale。格式为<language>-<Script>-<REGION>,例如"uz-Latn-UZ"表示乌兹别克斯坦的使用拉丁字母的乌兹别克语。

排序规则应写为<language>-<Script>-<REGION>_<sort order>

参见 编辑

参考文献 编辑

  1. ^ 存档副本. [2017-11-21]. (原始内容于2013-06-20). 
  2. ^ Language subtag lookup app:. r12a.github.io. [28 July 2015]. (原始内容于2015-07-31). 
  3. ^ 存档副本. [2017-11-21]. (原始内容于2013-06-26). 
  4. ^ IANA — Protocol Registries. iana.org. [28 July 2015]. (原始内容于2017-11-10). 
  5. ^ RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content. ietf.org. [28 July 2015]. (原始内容于2017-05-25). 
  6. ^ Language information and text direction. w3.org. [28 July 2015]. (原始内容于2008-09-04). 
  7. ^ Extensible Markup Language (XML) 1.0 (Fifth Edition). w3.org. [28 July 2015]. (原始内容于2009-04-01). 
  8. ^ Portable Network Graphics (PNG) Specification (Second Edition). w3.org. [28 July 2015]. (原始内容于2018-06-18). 
  9. ^ Language Tag Registry Update charter. [2017-11-21]. (原始内容于2007-02-10). 
  10. ^ Addison Phillips, Mark Davis. Tags for Identifying Languages (old draft for the revision of RFC 4646, now obsolete and may disappear soon). IETF WG LTRU. 2008 [2008-06-23]. (原始内容于2019-10-17). 
  11. ^ Doug Ewell. Update to the Language Subtag Registry (old draft for the revision of RFC 4645, now obsolete and may disappear soon) (1MB). IETF WG LTRU. 2008 [2008-06-23]. (原始内容于2019-10-17). 
  12. ^ ISO 639-2 Language Code List - Codes for the representation of names of languages (Library of Congress). loc.gov. [28 July 2015]. (原始内容于2018-09-17). 

外部链接 编辑

  • BCP 47 Language Tags(页面存档备份,存于互联网档案馆) – current specification (contains two RFCs, RFC 5646 and RFC 4647 published separately at different dates, but concatenated in a single document)
    • (also referencing the related informational RFC 5645, which complements the previous informational RFC 4645, as well other individual registration forms published separately by others for each language added or modified in the Registry between these BCP 47 revisions)
  • Language Subtag Registry(页面存档备份,存于互联网档案馆) – maintained by IANA
  • Language Subtag Registry Search(页面存档备份,存于互联网档案馆) – find subtags and view entries in the Registry
  • Language tags in HTML and XML(页面存档备份,存于互联网档案馆) – from the W3C
  • http://www.langtag.net/(页面存档备份,存于互联网档案馆

ietf語言標籤, 語言标签是語言代碼的缩写表示, 例如en表示英语, br表示巴西葡萄牙语, 由互联网工程任务组, ietf, 英语, best, current, practice, 文档系列定义, 现在标准化为rfc, 5646, 引用了相关的rfc, 5645, 与rfc, 4647, iana语言子标签登记, 使用的各成分来自iso, 15924, 3166, 1以及un, 这种语言标签用于许多现代的计算标准, 包括ietf的互联网协议如http, 以及png, sgml, unicode, ansi以及. 語言标签是語言代碼的缩写表示 例如en表示英语 pt BR表示巴西葡萄牙语 由互联网工程任务组 IETF 的 BCP 英语 Best Current Practice 47 文档系列定义 现在标准化为RFC 5646 引用了相关的RFC 5645 与RFC 4647 IANA语言子标签登记 1 2 3 4 使用的各成分来自ISO 639 ISO 15924 ISO 3166 1以及UN M 49 这种语言标签用于许多现代的计算标准 包括IETF的互联网协议如HTTP 5 6 XML 7 以及PNG 8 SGML Unicode ANSI以及ECMA Microsoft的Windows操作系统使用它代替过时的LCID 来表示locale 目录 1 历史 2 语言标签的语法 3 与其他国际标准的关系 3 1 ISO 639 3 与 ISO 639 1 3 2 ISO 639 5 与 ISO 639 2 3 3 ISO 15924 ISO IEC 10646 与 Unicode 3 4 ISO 3166 1 与 UN M 49 4 扩展 4 1 Extension T 4 2 Extension U Unicode Locale 5 Windows操作系统的使用 6 参见 7 参考文献 8 外部链接历史 编辑IETF语言标签的最早版本是1995年3月发布的RFC 1766 使用ISO 639的2字母语言代码 ISO 3166的2字母国家地区代码 允许登记的标签携带variant或书写文字子标签 2001年1月发布RFC 3066 使用ISO 639 2的3字母语言代码 2006年9月发布RFC 4646 规范的主体 与RFC 4647 处理匹配行为 RFC 4646增加了使用ISO 15924 的4字母书写文字代码与UN M 49的3数字地理分区码 2009年9月发布RFC 5646 引入了3字符码的ISO 639 3与639 5作为语言子标签 9 语言标签的语法 编辑语言标签由一个或多个子标签 subtags 组成 用连字号 分隔 子标签只能由基本拉丁字母或数字组成 子标签出现顺序 一个主语言子标签 primary language subtag ISO 639 1 2002 的2字母语言代码 ISO 639 2 1998 或ISO 639 3 2007 或ISO 639 5 2008 的3字母语言代码 BCP 47登记的5到8个字母的语言代码 应保持同样的大小写 最多3个可选的extended language subtags 每个由3字母组成 实际上还没有使用 1个可选的文字子标签 script subtag ISO 15924的4字母书写文字代码 通常是title case 1个可选的地区子标签 region subtag ISO 3166 1 alpha 2的2字母地区代码 通常大写 或UN M 49的3数字地理区代码 可选的variant subtags 每个为5至8个字母 或者4字母后跟1个数字 由IANA登记 可选的extension subtags 每个为单字符 不允许 x 开始 这称为singleton 后跟连字符与2至8个字符组成的文本 10 11 1个可选的private use subtag 每个为x 后跟1至8个字符组成文本 例外情况是x 前缀开头的私用语言标签 向后兼容的grandfathered语言标签 包括i 前缀与以前登记的老的语言标签 上述未指明的子标签应该小写 实际上整个语言标签是大小写无关的 可选的script与region子标签如果没有提供可辨识信息 则将被忽略 例如拉丁字母拼写的西班牙语es Latn 日本的日语ja JP 并不是所有语言区域都有有效的区域子标签 主语言的国内方言区被登记为variant子标签 例如 valencia variant子标签用于加泰罗尼亚语的巴倫西亞語方言 由于该方言几乎只用于西班牙国内 区域子标签ES通常忽略 宏语言 macrolanguage 中的语言代码或者直接用语言子标签表示 如普通话cmn 或者用语言 扩展子标签的组合 如zh cmn 手語用扩展子标签 前缀为sgn 与其他国际标准的关系 编辑虽然源自ISO或UN的标准 但并不是严格遵循 特别是ISO 639 ISO 15924 ISO 3166 UN M 49等标准撤回某些编码 甚至改变某些编码所指的时候 RFC 4646规定语言标签仍然保持最初含义不变 ISO 639 3 与 ISO 639 1 编辑 RFC 4646之前登记的语言标签现在分为 grandfathered 或 redundant 视其是否满足目前的语法而定 并且是过时的 现在采用ISO 639 3语言子标签 例如 nan取代了zh min nan表示闽南语 hak取代了i hak zh hakka表示客家话 ase取代了sgn US表示美國手語 ISO 639 5 与 ISO 639 2 编辑 ISO 639 5使用3字母表示一个语言群中所有的语言 而ISO 639 2使用3字母表示一个语言群中没有独立语言标签的那些语言 例如 ISO 639 2代码afa表示 Afro Asiatic Other 不包含阿拉伯语 而ISO 639 5中的这个代码表示 Afro Asiatic languages 包含亚非语系所有语言 这一变化发生在2009年 12 ISO 639 5为了向后兼容ISO 639 2 对于这些老的代码 定义了grouping type attribute BCP 47定义了 Scope 属性用于语言集子标签的辨别 但是没有定义任何inclusive或exclusive属性 也没有使用ISO 639 5的grouping type attribute ISO 639 5没有定义哪些语言属于某个语言集 因此RFC 5646不建议使用语言集 除非是那些非特定的语言集 如 Multiple languages 与 Undetermined ISO 15924 ISO IEC 10646 与 Unicode 编辑 某些主语言子标签携带了属性 Suppress Script 通常某个书写系统适用于该语言 因此会忽略script子标签 例如 yi取代了yi Hebr 因为意地绪语总是使用希伯来字母书写 另一个例子 zh Hans SG可被认为等价于zh Hans 因为新加坡简体中文与其他简体中文几乎一样 但是 这里的script子标签显然是有意义的 ISO 3166 1 与 UN M 49 编辑 当语言的地区方言有专门的子标签 这比使用地区子标签更优 例如 ar DZ应该被arq代替来表示阿爾及利亞阿拉伯語 扩展 编辑Extension子标签 不要与extended语言子标签混淆 允许附加额外的信息 如locale calendar currency 至2014年1月已经分配了两种扩展 Extension T 编辑 2012年2月 Unicode Consortium在RFC 6497发布了Extension T用于语言标签包含信息关于音译 transliterated 转写 transcribed 变换 transformed 例如 en t jp用于从日语翻译到英语 Extension U Unicode Locale 编辑 2010年12月 統一碼聯盟在RFC 6067发布了Extension U 允许在通用當地數據儲存庫中嵌入了宽属性 表示很多區域設置数据集 例如 ar u nu latn表示阿拉伯语使用阿拉伯数字 0至9 代替阿拉伯文数字 ٠至٩ he IL u ca hebrew tz jeruslm表示以色列的希伯来语 使用希伯來曆 时区信息数据库中的 Asia Jerusalem 时区 Windows操作系统的使用 编辑Windows Vista及以后版本 采用RFC 4646作为locale标签 字符串最大长度85 包含了结尾的零字符 只有语言子标签 称为中立locale neutral locale 加上地区子标签 称为specific locale 格式为 lt language gt lt Script gt lt REGION gt 例如 uz Latn UZ 表示乌兹别克斯坦的使用拉丁字母的乌兹别克语 排序规则应写为 lt language gt lt Script gt lt REGION gt lt sort order gt 参见 编辑国际化与本地化 Locale 語言代碼参考文献 编辑 存档副本 2017 11 21 原始内容存档于2013 06 20 Language subtag lookup app r12a github io 28 July 2015 原始内容存档于2015 07 31 存档副本 2017 11 21 原始内容存档于2013 06 26 IANA Protocol Registries iana org 28 July 2015 原始内容存档于2017 11 10 RFC 7231 Hypertext Transfer Protocol HTTP 1 1 Semantics and Content ietf org 28 July 2015 原始内容存档于2017 05 25 Language information and text direction w3 org 28 July 2015 原始内容存档于2008 09 04 Extensible Markup Language XML 1 0 Fifth Edition w3 org 28 July 2015 原始内容存档于2009 04 01 Portable Network Graphics PNG Specification Second Edition w3 org 28 July 2015 原始内容存档于2018 06 18 Language Tag Registry Update charter 2017 11 21 原始内容存档于2007 02 10 Addison Phillips Mark Davis Tags for Identifying Languages old draft for the revision of RFC 4646 now obsolete and may disappear soon IETF WG LTRU 2008 2008 06 23 原始内容存档于2019 10 17 Doug Ewell Update to the Language Subtag Registry old draft for the revision of RFC 4645 now obsolete and may disappear soon 1MB IETF WG LTRU 2008 2008 06 23 原始内容存档于2019 10 17 ISO 639 2 Language Code List Codes for the representation of names of languages Library of Congress loc gov 28 July 2015 原始内容存档于2018 09 17 外部链接 编辑BCP 47 Language Tags 页面存档备份 存于互联网档案馆 current specification contains two RFCs RFC 5646 and RFC 4647 published separately at different dates but concatenated in a single document also referencing the related informational RFC 5645 which complements the previous informational RFC 4645 as well other individual registration forms published separately by others for each language added or modified in the Registry between these BCP 47 revisions Language Subtag Registry 页面存档备份 存于互联网档案馆 maintained by IANA Language Subtag Registry Search 页面存档备份 存于互联网档案馆 find subtags and view entries in the Registry Language tags in HTML and XML 页面存档备份 存于互联网档案馆 from the W3C http www langtag net 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title IETF語言標籤 amp oldid 74272250, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。