文档章节

Linux 的中文化问题简介 -------------------------------------------------------------------------------- L

疯狂的小黑
 疯狂的小黑
发布于 2016/10/20 15:21
字数 717
阅读 2
收藏 0

Linux 的中文化问题简介

 

--------------------------------------------------------------------------------

兄弟连教育 分享

www.itxdl.cn

Linux 的中文化问题简介

 

 

、 I18N 与 locale:  

 

要将 Linux 中文化,朝着标准走才是长远之计。各位如果有见过近代商业版的 UNIX 就会晓得,它们「中文化」之彻底,令人惊叹,诸如中文选单、中文讯息 .... 您能想像得到,或说只能在 Win95/98/NT OS/2 .... 等上头才见得到的 中文环境,它们都有。然而,它们的中文并不是像目前 Linux 上常见到的那样,由一堆程式七拼八凑出来的,它们全部都是遵循一个标准: I18N 。  

 

I18N 是 InternationalizatioN (国际化) 的缩写,第一个字 I 与最後一个字 N 之间有 18 的字母,故名。 I18N 并不是只有表面上将 X Window 「国际化」而已,它是基在最底层的 libc 上。 libc 必须要有 locale 的支援,才能向 I18N 起步。  

 

什麽是 locale? 简单说就是一组「地区语言」的资讯。它包括了 (详见 man setlocale):  

 

   

 

LC_CTYPE: 字元定义  

LC_MESSAGES: 讯息显示  

LC_TIME: 时间显示格式  

LC_NUMERIC: 数字显示格式  

LC_MONETARY: 货币显示格式  

LC_COLLATE: 字母顺序与字串比较  

其中,与一般使用者最有关的,是 LC_CTYPE 与 LC_MESSAGES 。 LC_CTYPE 直接关到某些字元或内码在目前的 locale 下是否可印? 要如何转换? 对应到那一个字? .... 等等。 LC_MESSAGES 则关到软体的讯息输出是什麽样的语文。真正完整的 locale 支援,是当我们在 shell prompt 下,直接设好环境变数,则我们马上就能切换到那个语文了。例如:  

 

bash: export LC_CTYPE=zh_TW.Big5  

 

有了 locale 的「协定」,使得任何地区的语文,只要在加入适当的 locale data 之後, libc 就能正确地处理它了,而我们的「中文」当然也不例外。由於前人与 CLE group 的努力,目前我们已有自己的 locale data 了。有安装 CLE 的朋友可以到 /usr/share/locale 下看看, zh_TW.Big5 就是我们的 locale data, 虽然还不够完整,但已能 work。  

 

目前 Linux 对於 locale 的支援如何? 可以大概地说,西方语系差不多没问题了,但东方语系还有不少问题。如果您的 Linux 系统是用 libc5 (例如 Slackware) 的话,那差不多可以说支援得相当差,几乎只能靠「七拼八凑」的方法来有限度地使用中文。如果是用 libc6 (glibc2) 的话,那就有相当的 locale 支援了。  

 

然而,目前大部分使用 glibc2 的系统都是 glibc-2.0.7, 这一版对东方语系的支援还不够好,特别是 LC_CTYPE ,它无法辨认、转换我们的 Big5 码,必须要等到 glibc-2.1 以後,才能完全解决这些问题。但这并不是说使用 glibc-2.0.7&

 

© 著作权归作者所有

共有 人打赏支持
疯狂的小黑
粉丝 3
博文 96
码字总数 80472
作品 0
东城
程序员
私信 提问
软件自由日 SFD 2012 杭州站活动

  如果你还不知道自由软件,但对于 Linux、Android、火狐浏览器、BT 下载、维基百科等名词耳熟能详,你一定会发现开源与自由软件就在我们的身边。   如果你是一位开源爱好者,使用 Linu...

闻术苑
2012/09/14
268
3
Linux Deepin 11.06 RC 发布了

Linux Deepin 11.06 RC(预览版)如期发布了。这个版本修复了 beta2 的几个 bug,默认安装了 SSH,增加了 PPStream 的 PPA 源,升级了“软件中心”,并为安装过程添加了简单的幻灯片介绍。 ...

红薯
2011/06/25
819
0
优麒麟18.10发布派对—郑州大学

在优麒麟(Ubuntu Kylin)研发团队和社区爱好者的共同努力下,优麒麟18.10已于2018年10月19日正式发布。现面向全国的版本发布活动正式启动啦! 本次发布派对以体验、分享和反馈18.10版本为主...

优麒麟操作系统
2018/10/26
0
0
Linux Deepin 兰州大学开源社区镜像站点上线

兰州大学开源社区镜像站点,由兰州大学网络中心和 DSLab 实验室提供支持,由兰大开源社区社区成员进行维护。该开源镜像站点目的在于服务校内外开源软件用户,促进推广开源社区文化。 在此,我...

wangzhehome
2013/03/19
1K
5
Linux发烧友:我眼中的 Linux 社区文化

编者:现在在说 Linux 文化,其实说的就是开源文化。 我的工作主要是测试、试用和评估所有类型的新开源软件,不定期发布我喜欢的开源软件,这个工作有时会让我分外兴奋,有时又让我感到有点沮...

红薯
2010/06/10
975
3

没有更多内容

加载失败,请刷新页面

加载更多

大数据剖析热点新闻:996、巴黎圣母院、奔驰维权为什么成为本周热搜

智能大数据专家表示:每一段重要的时期都会有一串隐秘的数字密码,请往下看: 本周共有50条新闻,作为嗅嗅的样本进行数据分析,得出以下统计图: 1.新闻热词折线统计图 在新闻标题及正文中,...

forespider
30分钟前
1
0
Coding and Paper Letter(六十四)

资源整理。 1 Coding: 1.交互式瓦片编辑器。 tile playground 2.R语言包autokeras,autokeras的R接口。autokeras是一个开源的自动机器学习的软件。 autokeras 3.斯坦福网络分析平台,用于网络...

胖胖雕
今天
1
0
最简单的cd命令是个大坑!

BASH Shell 是大多 Linux 发行版的默认 shell,BASH 有一些自己的内置命令,cd 就是其中的一个。 在centos6里面,系统中不存在 cd 的二进制文件。但是你仍然可以运行该命令,这是因为 cd 是 ...

gaolongquan
今天
1
0
spring获取bean的几种方式

使用jdk:1.8、maven:3.3.3 spring获取Bean的方式 pom.xml文件内容: <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="......

Vincent-Duan
今天
3
0
一段话系列-Linux中IO的同步、异步、阻塞、非阻塞

首先我们框定一下背景,我们探讨的是Linux系统下的IO模型。 同步和异步是针对内核操作数据而言的,同步是指内核串行顺序操作数据,异步是指内核并行(或并发)操作数据,然后通过回调的方式通...

EasyProgramming
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部