语言识别及标签tag定义:RFC 5646中文简述

   RFC5646是关于语言识别的请求评议文档,在开发国际化应用时离不开语言信息的处理,比如drupal多语言处理,语言信息识别以语言标签来指定:

   语言标签用以指明信息对象的语言信息,如方言、区域、书写变体等等,信息对象不仅仅是文本,还有音视频等等内容,在人类使用的计算机系统中语言标签被广泛使用,如浏览器可以发送首选语言参数信息。

   由the Internet Assigned Numbers Authority (IANA)依据RFC 5646来管理语言标签的注册和维护,指明人类沟通的自然语言或人工语言,不指程序语言,如php、java等,语言标签具备语义性,除注册的公有标签外,提供了私有使用的机制。


语言标签语法:

   语言标签tag由一个或多个子标签Subtag组成的US-ASCII字符序列构成,以连字符“-”分割,第一个子标签是主语言子标签Primary Language Subtag,只能有两个或三个字符,四个字符的保留为功能使用,5-8个字符的为特权标签,注册来形式化主语言子标签和未来扩展;一个字符的首标签有特殊含义,如X表明语言标签为私用;在主语言标签之后,各个子标签进一步细化或缩小整个语言标签的范围,子标签由字母或数字构成,所有子标签不得超过8个字符(但语言标签字符总长度未给予限制),空格不被允许,大小写没关系;根据位置、长短和内容,子标签有不同的类型,通常的格式如下:

首语言标签-扩展语言标签extlang-脚本标签script-区域标签region-变体标签Variant (0个或多个)-扩展标签Extension(0个或多个)-私有标签Private(以字母X开头,如en-x-US)

其中许多标签名由IANA注册维护,通常来自于ISO标准文件,有些标签名为自定义,如私有标签
举例如下:
zh-cmn-Hans-CN 表示:汉语(首语言标签)-普通话(扩展语言标签)-简体中文(脚本标签)-中国(使用区域)
zh-yue-HK 表示:汉语(首语言标签)-粤语(扩展语言标签)-香港(使用区域)

除首语言标签外其他标签均为可选,如简体中文通常记为:zh-hans

详细的格式描述请看RFC 5646 ,该描述使用了扩展巴克斯范式ABNF,那是类似正则表达式一样的表达工具,关于该巴克斯范式请见RFC5234,或搜索关键词:ABNF,本文附加了一份ABNF的简短中文说明,见附加资料

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值