文章见下面转载的:(太感谢了!)
原文作者用的FC3,我用的是Mandriva Linux Limited Edition 2005.
好了,费话不多说,如果你也有类似的问题,下面的转载相信可以帮助您排除困难.
英文locale下使用中文的总结
终于还是搞定了,结果看这里。不过这些环境变量的设置的确有些tricky,anyway,这里总结一下,今后如果有类似需要的,这个总结可能会有些用:
我安装的是Fedora Core 2(从我原来的Redhat 8.0上直接升级的),使用的窗口管理器是KDE (3.2.2),Qt也是3.2,都是FC2默认安装的。
首先是设置的步骤:
1.用rpm -qa | grep 'inese'查看你的机器上是否安装了kde-i18n-Chinese和kde-i18n-Chinese-Big5两个语言包,没有则下载安装。下载地址从google上搜索,或者用rpmfind.net,选择匹配的版本安装。 (注:这两个语言包具有有什么用处,我不太清楚,不知道是否仅仅提供字体文件和输入法,如果是的话,这步可以省略)
2. 用rpm -qa | grep 'scim'查看是否安装了scim,如果没有,下载安装SCIM输入法和输入法文件。(注:你可以选择其他中文输入法,比如chinput/fcitx等,设置方法类似,以下以scim为例)
3. 打开一个控制台,键入命令locale,英文界面的默认输出应该是所有的语言环境变量值均为en_US.UTF-8,而LC_ALL为空。如果是这样的 话,直接到第4步。如果不是的话,查看几个文件:Shell的启动文件:~/.cshrc, ~/.bashrc等,或者 /etc/sysconfig/i18n,或者~/.i18n,看看这些文件里面是否专门设置了这些环境变量。如果是,把相应的设置注释,或者把赋值更改 为en_US.UTF-8
4. 键入system-config-language,这时会探出一个对话框,如果你安装了那两个语言包的话,应该可以看到三种语言,简体中文,繁体中文和英语,选择英语。
5. 打开KDE的控制中心(K menu\Preference\Control Center), 选择Country/Region &Language,在Launguage中只保留英语。(注:这一步和LC_ALL决定了KDE菜单显示语言)
6. 根据你使用的shell,编辑shell的启动文件。我用csh,所以是~/.cshrc,如果你用bash,可以编辑.bashrc或者.bash_profile,在文件的最后添加下面几行:
csh:
setenv XMODIFIERS "@im=SCIM"
setenv XIM scim
setenv XIM_PROGRAM scim
setenv LC_CTYPE zh_CN.gbk
bash:
export XMODIFIERS="@im=SCIM"
export XIM=scim
export XIM_PROGRAM=scim
export LC_CTYPE=zh_CN.gbk
编辑好后,保存退出。
注:这是最重要的一步。前三行设置SCIM作为输入法服务器,其中SCIM的大小写很关键。最后一行设置语言类型为中文,注意这里仅需要设置 LC_CTYPE,不是LC_ALL,在FC2上,如果设置为zh_CN.gb18030的话,系统会说这个locale找不到,所以用 zh_CN.gbk
7. 在终端,键入echo $LANGUAGE,如果输出是zh_CN*,你需要在shell启动文件最后再添加:
setenv LANGUAGE en_US.UTF-8
或者
unsetenv LANGUAGE
,否则的话,你执行普通的命令时(比如df, ls -lt),输出将是中文的说明
8. 编辑~/.xinitrc, 如果你使用KDE的话,这个文件如下所示(注意在启动KDE之前,先启动scim):
scim -d
exec startkde
9. 好了,现在Ctrl+D,一直退回到最原始的登陆界面(如果愿意的话,重新启动,来测试一下设置的有效性),再次登陆后,如果是控制台界面,键入命令locale(如果是图形界面,打开一个控制台),结果应该类似如下:
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.gbk
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
再echo $LANGUAGE,这个变量或者没有定义,或者是en_US.UTF-8,这都是正常的。
你还可以用setenv或env,查看所有的环境变量。
9. 如果你是用的KDE的话,在下面的K panel上右键,Add\Applet\System tray,你可以看到一个键盘的图表,这说明scim已经启动。
10. 测试一下: 打开一个konsole,用telnet bbs.dartmouth.edu或者任何其他中文bbs,看看在konsole上能否显示中文。在konsole上,ctrl+space,看看 scim的输入条是否能出来。如果环境变量正确,软件安装正确的话,应该已经没有问题了。
11. 在konsole中键入qtconfig,然后在interface tab下面,XIM input style,选择over the spot(其他的也可以,但据说会有一些小问题),然后选择菜单File\Save
12. 到这一步基本上就已经设置好了,不足的是kde的中文字体都是矢量字体,如果anti-aliasing(AA)打开后,看着比较模糊。现在很多人都是用 windows下的simsun.ttf字体(license上有可能严格意义上不允许这么用)。simsun字体里面的几个字号嵌入了位图字体,所以边 缘比较清楚。安装办法是1,mount你的windows分区到/mnt/下的某个目录,然后,把 windows/fonts/simsun.ttf拷贝到你的某个目录,假定是/usr/X11R6/lib/X11/fonts/TrueType,拷 贝后执行(参考一位回贴的朋友的代码)
cd /usr/X11R6/lib/X11/fonts/TrueType
ttmkfdir .
cp ttfonts.scale ttfonts.dir
/usr/sbin/chkfontpath --add /usr/X11R6/lib/X11/fonts/TrueType
其中chkfontpath用locate chkfontpath来查找你机器上的路径。你还可以直接编辑/etc/X11/fs/config,把 /usr/X11R6/lib/X11/fonts/TrueType放在其他两个中文字体目录(安装语言包得到的,默认为 /usr/share/fonts/zh_CN/TrueType和/usr/share/fonts/zh_TW/TrueType)的上面。完成后, 重新启动X就可以了。
KDE界面上的中文字体,mozilla/mozilla firefox上的中文字体默认应该变成simsun了。XMMS中的mp3标题还不行的话,选择Options\Preference,然后在fonts,上选上use fontsets,然后字体选择为
-adobe-helvetica-medium-r-normal-*-*-140-*-*-p-*-iso10646-1,
-misc-simsun-medium-r-normal-*-*-140-*-*-c-*-koi8-r
写在一行就可以了。
总之,FYI吧,no warranty of any kind。