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的简短中文说明,见附加资料
今天的文章标签理论_识别语言[通俗易懂]分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/64352.html