如果要配置本地化的桌面会话,需要:
设置 LANG
环境变量及其他"国家语言支持"(NLS) 环境变量
访问与语言相关的消息目录和资源文件
通过国际化系统,远程执行应用程序
要使用操作系统中对语言敏感的例程,就必须为桌面设置 LANG
环境变量。桌面支持:
西欧及拉丁语系语言
日语
繁体中文
简体中文
韩语
桌面供应商可能已经添加了对其他类型语言的支持。
可以将 LANG
设置为操作系统所支持的任何值。 登录屏幕中的"选项"菜单显示了系统所支持的语言和地区列表。
为桌面设置 LANG
的方法有四种:
编辑 Xconfig 文件中的资源
使用登录屏幕中的"选项"菜单
创建可执行的 sh 或 ksh 的 Xsession.d 脚本。(有关使用 Xsession.d 脚本的详细信息,请参见"查找 Xsession.d 脚本" 。)
通过编辑用户的 .dtprofile 文件
当设置完 LANG
后,桌面使用下面的与语言相关的文件来决定本地化接口。
颜色-/usr/dt/palettes/desc.language
背景-/usr/dt/backdrops/desc.language
如果通过 Xconfig 文件来设置语言,登录屏幕将本地化,并为所有用户设置了 LANG
。该方法是在多重显示器系统中为所有显示器更改 LANG
的唯一方法。 (要修改 Xconfig,请将 /usr/dt/config/Xconfig 复制到 /etc/dt/config/Xconfig。)
设置语言的方法是,在 /etc/dt/config/Xconfig 文件中插入如下一行:
dtlogin.host_display.language: language
例如,下面一行将显示器 my_host:0 中的 LANG
设置为 Swedish_locale。
dtlogin.my_host_0.language: Swedish_locale
dtlogin 客户机程序读取该语言相应的消息目录,并调用本地化的登录屏幕。然后,dtlogin 客户机程序使用 /etc/dt/config/Xresources 资源文件中的如下资源来决定语言环境列表:
dtlogin*language
dtlogin*languageList
dtlogin*languageName
Xconfig 文件可能需要为所选择的语言来适当设置 NLSPATH
环境变量。如果不是这种情况,或者希望自己来设置 NLSPATH
,请参见"NLSPATH 环境变量"。
要为一个会话设置语言,请使用登录屏幕"选项"菜单。登录屏幕将本地化,并为该用户设置了 LANG
。在会话结束时,LANG
将返回其缺省值 (在 dtlogin 中设置)。
用户可以在 HomeDirectory/.dtprofile 文件中覆盖登录的
LANG
设置。登录屏幕将不会本地化,而为用户设置 LANG
。
如果使用 sh 或 ksh:
LANG=language export LANG
如果使用 csh:
setenv LANG language
LANG
环境变量更改了在其中搜索会话配置文件的目录名。
本地化的会话的配置文件为:
/usr/dt/config/language/Xresources ("登录管理器"资源文件)
/usr/dt/config/language /sys.font ("会话管理器"资源文件)
/usr/dt/config/language /sys.resources ("会话管理器"资源文件)
/usr/dt/config/language /sys.session ("会话管理器"可执行 shell )
/usr/dt/config/language /sys.dtwmrc ("窗口管理器"资源文件)
/usr/dt/appconfig/types/language /dtwm.fp ("窗口管理器"前面板)
除了 LANG
外,还有一些其他的 NLS 环境变量,例如 LC_CTYPE
和 LC_ALL
. 。这些变量不受 dtlogin 语言资源或登录屏幕"选项"菜单的影响。 它们必须在下述文件中设置:
系统范围变量: /etc/dt/config/Xsession.d
个人变量:HomeDirectory /.dtprofile
NLSPATH
环境变量决定了应用程序搜索消息目录的目录路径。必须将 LANG
和 NLSPATH
都设置为使用该消息目录。 有关本地化消息的位置的详细信息,请参考"本地化信息目录"。大多数桌面客户机程序将预先指定 NLSPATH
启动时的路径。
桌面包含的字体在 /usr/lib/X11/fonts 目录中。每个目录含一个目录文件 fonts.dir 和一个别名文件 fonts.alias。有关创建 fonts.dir 和 fonts.alias 文件的详细信息,请参见 mkfontdir 手册页。
要列出服务器上所有可用的字体,请使用 xlsfonts 命令。要添加或删除服务器的字体,请使用 xset 命令。
桌面客户的 app-defaults 文件的缺省位置为 /usr/dt/app-defaults/language。例如,如果将 LANG
设置为 Swedish_locale,那么应用程序就会在 /usr/dt/app-defaults/Swedish_locale 中查找 app-defaults 文件。如果没有设置 LANG
,将忽略语言 ,应用程序在 /usr/app-defaults/C 目录中寻找其 app-defaults 文件。
要更改 app-defaults 文件的位置,请使用 XFILESEARCHPATH
环境变量。例如,如果要将 app-defaults 移动到 /users 目录中,可将 XFILESEARCHPATH
变量设置为 /usr/app-defaults/language/classname。
如果将 XFILESEARCHPATH
设置在 HomeDirectory/.dtprofile 中,其值对运行的所有桌面和 X 客户机都适用。非客户机找不到它们的资源文件,除非将这些文件链接或复制到 XFILESEARCHPATH
指定的目录。
要定制 /usr/dt/appconfig 目录中的文件,可在定制之前将该文件复制到 /etc/dt/appconfig目录中。
操作和数据类型定义文件的查找路径包括语言相关的目录:
个人:HomeDirectory /dt/types
系统范围:/etc/dt/appconfig/types/language
内置:/usr/dt/appconfig/types/language
"应用程序管理器"的配置文件的查找路径是:
个人:HomeDirectory /dt/appmanager
系统范围:/etc/dt/appconfig/appmanager/language
内置:/usr/dt/appconfig/appmanager/language
该目录下的文件和目录名均被本地化。
要本地化图标,可用"图标编辑器"编辑图标,并将它保存在:
/etc/dt/appconfig/icons/language
如果将它保存在其他目录中,请将 XMICONSEARCHPATH
环境变量设置为包含保存该图标的目录。 XMICONBMSEARCHPATH
环境变量控制着用于搜寻图标的路径。
背景的本地化是通过使用说明文件 (desc.language 和 desc.backdrops) 来实现的。 无任何指定的本地化目录 (例如 /usr/dt/backdrops/language) 供背景文件使用。所有的语言环境使用相同的背景文件集,但是它们有各自的 desc.language 文件,其中含有背景的译名。
说明文件包含已翻译的背景名称的资源说明。例如:
Backdrops*Corduroy.desc: Velours Backdrops*DarkPaper.desc: PapierKraft Backdrops*Foreground.desc: AvantPlan
desc.language 文件用以检索关于 language 语言环境的背景说明,以便在"式样管理器" 中显示背景。如果有描述说明,则它将在"式样管理器"的背景列表中显示。 否则,将使用背景文件名。
用户可以在 HomeDirectory/.dt/backdrops/desc.backdrops 文件中添加自己的背景说明。该文件用于在忽略语言环境的情况下,检索所有用户添加的背景的背景说明。
说明文件的查找路径是:
个人:HomeDirectory /.dt/backdrops/desc.backdrops
系统范围:/etc/dt/backdrops/desc.language
内置:/usr/dt/backdrops/desc.language
调色板的本地化是通过使用说明文件 (desc.language 和 desc.palettes) 实现的。不存在特定的本地化目录 (例如 /usr/dt/palettes/language)。所有语言环境使用相同的调色板文件集,但是它们都有各自含有调色板的译名的 desc.palettes 文件。
说明文件含有有关调色板译名的资源说明。例如:
Palettes*Cardamon.desc: Cardamone Palettes*Cinnamon.desc: Cannelle Palettes*Clove.desc: Brun
desc.language 文件用于检索调色板有关语言环境 language 的说明,以使在"式样管理器"的列表中显示调色板。如果有描述说明,它将显示在"式样管理器"的调色板列表中。 否则,将会使用调色板文件名。
用户可在 HomeDirectory/.dt/palettes/desc.palettes 文件中添加自己的调色板说明。该文件用于在忽略语言环境的情况下,检索所有用户添加的调色板的调色板说明。
该说明文件的查找路径为:
个人:HomeDirectory /.dt/palettes/desc.palettes
系统范围:/etc/dt/palettes/desc.language
内置:/usr/dt/palettes/desc.language
如果已本地化了帮助卷,必须将它存储在下面的目录之一中。系统使用所找到的第一个帮助卷。 这些目录是按下面顺序搜索的:
个人:HomeDirectory /.dt/help
系统范围:/etc/dt/appconfig/help/language
内置:/usr/dt/appconfig/help/language
如果本地化了消息目录,将它存储到下面的目录中:
/usr/dt/lib/nls/msg/language。
这些目录中含有 *.cat 文件。
可以在任何安装了类似的本地化桌面的远程执行主机上调用本地化桌面应用程序。当应用程序启动时,在调用它的主机上的与 NLS 相关的环境变量的值将传送到远程主机上。然而,这些环境变量并不包含任何主机信息。
如果出现意外的字符或行为,或者字符不能显示或键入,可能需要重新设置或安装键盘映射或者更改输入法。
输入法是由 LC_CTYPE
、LANG
或 LC_ALL
环境变量决定的,或者由 -lang 选项指定的语言决定。
例如,如果用户希望在 POSIX shell 中以 C 语言环境打开终端:
LANG=C dtterm
这个新的终端使用 C 语言环境,包括 C 的输入法和字体。如果正使用指定语言的键盘,那么输入法可能 不接受输入的任何扩展字符。当用指定语言的键盘使用 C 语言环境时,在调用终端之前用户需要将 LC_CTYPE
(或 LANG
或 LC_ALL
) 环境变量设置为相应的值。
例如,用德国键盘使用 C 语言环境,应键入:
LANG=C LC_CTYPE=DeDE dtterm
如果 X 服务器已经重新设置,并且键映射已经初始化,您可以在服务器使用 xmodmap 命令重新设置适当的键盘映射。