越来越多的程序包含对英语以外语言的无缝支持。然而,仍然有一些软件包要么使用自己的键盘布局,要么需要设置一些字体或变量。在本章中,我们将描述那些在安装后为了运行斯洛伐克语而需要做更多事情的应用程序,而不仅仅是export LANG=sk.
如果您想真正充分利用国家设置的支持,请始终确保您使用的程序(或整个发行版)不超过 6 - 12 个月。因为作者可能只在较新版本中添加了此支持。
以下描述中的一些不是原始的,有些可能甚至没有经过测试。因此,每个描述都注明了作者及其地址,以及指南进入 斯洛伐克语-HOWTO 的可能来源。
参见 Readline。
Ján 'judas' Tomka,<judas@linux.sk>
Bash 在更改变量时经常出现不规律的问题LC_CTYPE并且经常发生带有变音符号的字符不显示的情况,尽管此变量已正确设置。到目前为止,我还没有弄清楚问题出在哪里,因为例如从这样的 Bash 启动的 Vim 运行正常... 目前,我通过命令解决这个问题
bash$ exec bash |
当前的 shell 将被新的 shell 替换,后者已经正确理解了变量LC_CTYPE并且已经可以输入带有变音符号的字符。
Ján Ondrej (SAL),<ondrejj@salstar.shadow.sk>
如果您想使用国家环境,您需要安装斯洛伐克语键盘、斯洛伐克语字体,并且您还必须允许显示 ASCII 代码为 128-255 的字符,就像它们是(原样)。您可以通过删除选项前的空格来做到这一点-asis在配置文件中joerc。最常见的是在目录中找到它/usr/lib/joe/,在 Debian 中它在目录中/etc/。另一种选择是添加参数-asis在程序启动时。
Ján 'judas' Tomka,<judas@linux.sk>
在 Lynx 的配置中,本地化主要涉及以下设置
显示字符集 (CHARACTER_SET)--- 输出字符编码。这说明字符在屏幕上显示之前将转换为哪种字符集。如果您默认设置了斯洛伐克语字体,您可以始终将其设置为ISO-8859-2.
假定的文档字符集 (ASSUME_CHARSET)--- 如果 html 文档不包含关于其编码的信息,并且设置原始 8 位被禁用,则应使用哪种字符集。HTTP 标准是 ISO-8859-1,所以就这样。大多数编码不是 ISO-8859-1 的文档都包含关于其字符集的信息,在这种情况下,此设置将被忽略。如果您希望将没有明确给定字符集的文档视为 Latin 2 编码的文件,请设置此变量。它只能在文件中设置/etc/lynx.cfg(因此不能为每个用户单独设置)。
原始 8 位 --- 您不必为此太担心,只有在斯洛伐克语字符显示不正确的情况下,才始终确保它已启用(快捷键 @)。
配置文件/etc/lynx.cfg进行编辑,使其至少包含以下第一行
CHARACTER_SET:iso-8859-2 ASSUME_CHARSET:iso-8859-2 |
...或者,对于用户配置文件~/.lynxrc:
character_set=Eastern European (ISO-8859-2) |
参见 RPM4。
Ján 'judas' Tomka,<judas@linux.sk>
如果您安装的应用程序的翻译消息文件 (*.mo) 在安装后未位于目录结构下/usr/share/locale/,请从文件中删除/etc/profile行
export NLSPATH=/usr/share/locale/%l/%N |
据说该行是 level1 compliance for LI18NUX2000、man 和旧程序所必需的,但当它仅在没有该变量的情况下工作时,请忽略标准和旧垃圾。当然,如果它也适用于您,请忘了我说的话。
如果您无法更改/etc/profile,请将其插入到您的~/.profile行
unset NLSPATH |
为了字体的正常工作,除了LC_CTYPE和SYSFONT之外,还需要设置变量SYSFONTACM在文件中/etc/sysconfig/i18n中。但是,如果您有自己的用户文件~/.i18n,则不会加载全局文件,并且变量SYSFONTACM将不会设置。因此,始终将行插入到您的用户文件中
SYSFONTACM=iso02 |
罪魁祸首是脚本/etc/profile.d/lang.sh,因为它仅在设置变量时才向终端发送引入用户字体的转义序列SYSFONTACM。因此,请设置它,或者以某种方式修复它!
Ján Ondrej (SAL),<ondrejj@salstar.shadow.sk>
它的本地化很简单,因为它直接支持它。按 F9 键调出菜单 选项->显示位... 并启用选项
(*) Full 8 bits output [x] Full 8 bits input |
在此步骤之后,MC 将正确显示变音符号,并且也可以从键盘输入它们。如果在进入某些目录时显示消息 “警告:无法更改为 ...”,那么您需要本地化 readline 库(仅适用于旧的 RedHat 系统)。
MC 中的框架 (judas)。 如果您使用 console-tools,为了 Midnight Commander 和类似文本应用程序中框架的正常工作,请设置带有 application charset map 的字体。在我这里,只有这个组合有效
sh$ consolechars --font lat2u-16 --acm iso02 |
Ján 'judas' Tomka,<judas@linux.sk>
本地设置在配置文件中~/.muttrc以下变量
ascii_chars-- 如果设置,Mutt 将在显示线程、树状附件文件时使用 ASCII 字符,而不是 ASC 字符。如果您设置了较旧的字体,不支持 app-charset-map,并且您看到的不是线条和箭头,而是带有变音符号的字符,或者这些字符闪烁等等,我建议这样做。
charset-- 您的终端用于显示和插入文本数据的字符集。设置为您在控制台或 XTerm 等中设置的字体的字符集代码。
send_charset --
Ján 'judas' Tomka,<judas@linux.sk>
在全局设置文件中/etc/inputrc或在您的用户文件中~/.inputrc中,为了正确解释八位字符,请设置以下变量
convert-meta--- 如果设置为 `on',Readline 会通过删除第八位并在开头添加 Esc 字符,将设置了第八位的字符转换为 ASCII 字符序列。
input-meta--- 如果设置为 `on',Readline 将允许八位输入(不会删除读取字符的第八位),无论终端是否支持它。名称meta-flag是此变量的同义词。
output-meta--- 如果设置为 `on',Readline 将直接显示设置了第八位的字符,而不是作为转义序列。
因此,将以下设置插入到上述文件之一中
set convert-meta off set input-meta on set output-meta on |
Ján 'judas' Tomka,<judas@linux.sk>
这个小的脚本 “重新安装” 您已安装的所有应用程序的斯洛伐克语翻译。如果您在安装操作系统时没有选择斯洛伐克语,您可能会缺少它们。
export RPM_INSTALL_LANG=sk cd /mnt/cdrom/Mandrake/RPMS/ for i in *.rpm; do j=$(rpm -q --queryformat "%{NAME}" -p $i) if rpm -q $j; then rpm -Uvh --replacepkgs $i fi done |
永远不要忘记设置变量RPM_INSTALL_LANG!
Ján 'judas' Tomka,<judas@linux.sk>
Rxvt 直接输出死键而不等待下一个字符与其组合的修复方法,是在配置时使用一个参数
sh$ ./configure --enable-xim sh$ make sh$ su -c'make install' |
这将使用 XIM (X 输入法) 协议支持编译 Rxvt。这允许替代输入方法(例如 kinput2)以及为使用死键的人员提供正确的设置。
Ján Ondrej (SAL),<ondrejj@salstar.shadow.sk>
在设置本地化后,它可以自动将带有变音符号的字符从编码 852 重新编码为 ISO-8859-2。它在配置文件中设置/etc/smb.conf通过将以下行添加到部分[global]:
character set = iso8859-2 client code page = 852 |