Localization/Simplified Chinese (简体中文)

From ArchWiki
Jump to navigation Jump to search


本文总结了如何在Archlinux下如何显示和输入中文。

locale

要正确实现中文,首先必须设置locale。Linux中通过locale来设置程序运行的不同环境。一般常用的中文locale有

  • zh_CN.GBK
  • zh_CN.GB2312
  • zh_CN.UTF-8

推荐使用UTF8的locale。要使用locale,首先需要在/etc/locale.gen中设定你所需要的locale,具体的设置方法可以参考locale.gen中的说明,下面是一个例子

en_US.UTF8 UTF-8
zh_CN.UTF8 UTF-8
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_CN.GB18030 GB18030

如果将locale设定为zh_CN.UTF-8,则程序的界面为中文界面。有些人喜欢使用英文界面,那只需要将locale设定为en_US.UTF_8,由于使用的是UTF8的locale,scim和fcitx输入法都能正常工作。

安装中文字体

常用的中文字体有

  • ttf-arphic-ukai
  • ttf-arphic-uming
  • ttf-fireflysung

另外文泉驿的中文点阵字体也非常不错,你可以从http://www.linuxsir.org 上的Archlinux版上下载文泉驿点阵字体的PKGBUILD来自行安装


安装输入法

常用的输入法有scim和fcitx。其中scim需要设置以下的环境变量

export XIM="SCIM"
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE=scim
export QT_IM_MODULE=scim
export XIM_PROGRAM="scim -d"

需要注意的是如果scim的GTK2输入模块有可能会和openoffice发生冲突,此时只要在/opt/openoffice/program/soffice中加入如下语句即可:

export GTK_IM_MODULE=xim

目前scim在QT程序中还不能做到光标跟随

Latex

应用程序的设置

JAVA

对于java 1.5来说,只要在/opt/java/jre/lib/fonts中建立fallback目录,然后链接或拷贝若干中文字体到该目录就能使java程序正确显示中文

lftp

很多ftp站点是GBK编码,如果使用UTF8的locale,下载的文件名可能会乱码。在.lftp/rc下做如下设置

set ftp:charset "gbk"
set file:charset "UTF-8"

gftp

gftp存在和lftp同样的问题,在.gftp/gftprc中做如下设置即可正确显示服务器端gbk编码的文件名

remote_charsets=gb2312

但下载下来的文件名仍然是乱码,此时需要打补丁。补丁地址为:

vim

如果locale是utf8编码,用vim显示gbk编码的文件可能会乱码。因此需要在.vimrc做如下设置

"Chinese GBK support
set fileencodings=utf8,gbk

mount Windows分区

windows中文件的编码为GBK,如果locale是utf8,挂载windows分区时应该做如下设置

iocharset=utf

如果locale是GBK,则应该是

iocharset=cp936 

Rhythmbox

设置以下环境变量,可以让Rhythmbox正确读取mp3中GBK编码的id3 tag

export GST_ID3_TAG_ENCODING=GBK:UTF-8:GB18030
export GST_ID3V2_TAG_ENCODING=GBK:UTF-8:GB18030

Beep Media Player

在pefenrence->plugins->media中选中MPEG Audio plugin然后点击下方的Penfenrences,此时会出现一个对话框,选择title,将Disable ID3v2和Convert non-UTF8 ID3 tags to UTF8前的选择框选中。然后在ID3 encoding中填入 gbk。这样bmp就能正确显示GBK编码的ID3 tag。