Localization/Simplified Chinese (简体中文)

From ArchWiki
< Localization
Revision as of 01:17, 19 April 2006 by Ganlu (talk | contribs)
Jump to navigation Jump to search


请再仔细看看Arch的哲学Arch之道: 这意味着我们不会为你配置好一切,因为“喜好和需求,每人皆不同”,但是我们会尽量确保让你自行配置时,方便和简单。

使用者案例:第一次使用ArchLinux时,用户通常会遇上这些(典型)的问题:

1、我怎么显示中文的界面?

解决方法:你需要设置好你自己的用户环境,并告诉x。 vi .xinitrc 添加: export LANG=zh_CN.UTF-8

小贴士:要正确实现中文,首先必须设置locale(本地用户环境)。Linux中通过locale来设置程序运行的不同环境。一般常用的中文locale有:

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

推荐使用UTF8的locale。 小贴士:你还可以在.bashrc或.profile中设置你的用户环境,不同之处在于: .bashrc:每次终端登录时读取并运用里面的设置。 .xinitrc:每次startx启动X界面时读取并运用里面的设置 .profile:每次使用gdm等图形登录时读取并运用里面的设置 一般情况下,没有必要使用root配置全局的locale变量,如果必须,可以参见/etc/profile,0.7.1以上的版本中已经可以直接在/etc/rc.conf中设置。

小贴士:更多的locale信息可以参见: 小贴士:在终端(文字)界面下也可以显示和输入中文,但是如果你真的打算这样做,你也就不需要看本篇文章了,你可以搜索一下cce 或是zhcon。

安装中文字体: pacman -S ttf-arphic-uming

小贴士:你还可以用同样的方式和安装ttf-arphic-ukai(楷体)。 小贴士:常用的免费(GPL或兼容版权)中文字体有

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

另外文泉驿的中文点阵字体也非常不错,你可以从http://www.linuxsir.org 上的Archlinux版上下载文泉驿点阵字体的PKGBUILD来自行安装。 小贴士:系统字体将默认安装到/usr/share/fonts,如果你没有root权限或者只打算自己使用某些字体,你可以直接复制这些字体到.fonts(或者其他)目录下面,并把该路径加入/etc/fonts/local.conf中,参见后面章节。

已知问题:官方软件库中没有文泉驿字体包,你需要自己下载。ttf-fireflysung错误的依赖了xorg-clients-utils而不是xorg-fonts-utiles,参见bug报告:

2、我怎么输入中文?

解决方法:安装相应的输入法,如: pacman -S scim-pinyin 简体中文的用户推荐: 智能拼音:scim-pinyin 五笔:scim-tables 繁体中文的用户推荐:


小贴士:为什么我们推荐使用SCIM? 因为到目前为止,SCIM是惟一的“傻瓜式”输入法(感谢作者付出的很多努力,最终让我们打包和维护相当的轻松,而且对于用户来说,也基本不需要什么设置)。你可以参见: 小贴士:你可以直接安装你需要的输入法软件包,Arch会自动安装它需要的依赖包。 小贴士:下面的环境变量(以scim为例)不是必须,但是为了兼容性考虑,仍然推荐使用(在xinitrc, bashrc或profile中设置)。

export XIM="SCIM"
export XMODIFIERS=@im=SCIM #设置scim为xim默认输入法
export GTK_IM_MODULE=scim #设置scim为gtk程序默认的输入法
export QT_IM_MODULE=scim #设置scim为gtk程序默认的输入法
export XIM_PROGRAM="scim -d" #使可以自动启动

已知问题:由于SCIM的ABI兼容性问题,目前可能会造成一些软件拒绝运行,这些软件包括但不限于:Acrobat Reader, openoffice,直接从mozilla.org下载的firefox, thunderbird,以及realplay。 Workaround: 编辑一个空白文件,输入:


3、我的中文显示怎么很模糊(淡),或没有中文粗体?

在正常情况下,gnome已经转由cairo来渲染字体,不存在这个问题了。 解决方法:使用了下面的local.conf文件替换系统默认的local.conf文件。 cp local.conf /etc/fonts/ KDE环境:对不起,我不知道,我已经超过1年多没有用KDE了。欢迎各位的补充 其他环境:见上。

小贴士:你可以试一试从mozilla.org官方下载最新cairo版本的nightly firefox,在我的尝试中(2006-01-18),网页中的中文显示非常的清晰,不过有些字体给重叠在一起了(repainting bug)。


4、我怎么无法看到影片的中文字幕?

解决方法:1、安装mplayer: pacman -S mplayer 修改~/.mplayer/config

# Write your default config options here!
font=/usr/share/fonts/TTF/uming.ttf
subcp=cp936
subfont-autoscale=2
subfont-text-scale=5
vo=xv

同时,你还可以设置mplayer自动加载字幕。如果你无法在gmplayer的选项中找到这个选项(天知道你会有这样粗心),直接修改~/.mplayer/gui.conf如下:

sub_auto_load = "yes"
sub_unicode = "yes"
sub_pos = "100"
sub_overlap = "no"
sub_cp = "cp936"
font_factor = "0.750000"
font_encoding = "unicode"


小贴士:mplayer cvs(2005.12以后)已经使用了gtk2的界面,但是很遗憾的是并没有完全利用gtk2良好的国际支持,甚至没有使用gtk.filechooser。

已知问题:自动加载字幕只能加载sub字幕,srt字幕需要使用命令行,格式如下:


6、我以前windows分区下的中文文件是乱码?

解决方法: 已知问题:


7、我的Office或是其他文本文档无法打开或显示不正常?

解决方法:安装openoffice。 pacman -S openoffice-zh_cn 小贴士:如果你打算使用英文版的openoffice,你只需要安装openoffice-base包。

已知问题:官方库中的openoffice

7、我的MP3文件在播放器中都显示成了乱码了?

本文总结了如何在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来自行安装

fontconfig设置

安装输入法

常用的输入法有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。