版本历史 | ||
---|---|---|
版本 v.2.0.29 | 2005-01-05 | 修订者:am |
许可证更改为双 GPL 和 GFDL。Debian 中的芬兰语 OpenOffice。语言校正。更详细地解释了“为什么使用 fi-latin[19] 而不是 fi?”。 | ||
版本 v.2.0.28 | 2004-11-23 | 修订者:am |
修复了指向 lyhyt2e.ps 的损坏链接。 | ||
版本 v.2.0.27 | 2004-11-19 | 修订者:am |
如何在 tex 中使用逗号而不是点来表示浮点数。 | ||
版本 v.2.0.26 | 2004-10-19 | 修订者:am |
“斯堪的纳维亚字母在程序 foo 中不起作用。我该怎么办?” | ||
版本 v.2.0.25 | 2004-08-26 | 修订者:am |
SuSE 和 UTF-8。 | ||
版本 v.2.0.24 | 2004-08-11 | 修订者:am |
更清晰的 fi-latin[19] 章节。移除了过时的 euro.inc.gz。修复了损坏的 Euro Character mini-HOWTO 链接。更好地解释了 LC_ALL。 | ||
版本 v.2.0.23 | 2004-03-10 | 修订者:am |
更新了 tcsh 章节。 | ||
版本 v.2.0.22 | 2004-03-03 | 修订者:am |
从 Debian /etc/environment 中移除了 “export”。 | ||
版本 v.2.0.21 | 2003-11-24 | 修订者:am |
为 book 元素添加 lang="fi" 属性。语言校正。 | ||
版本 v.2.0.20 | 2003-01-09 | 修订者:am |
Debian 需要 xfonts-.*-transcoded 软件包才能正常工作。 | ||
版本 v.2.0.19 | 2002-12-29 | 修订者:am |
在 UTF-8 章节中添加了 RH 8.1 beta 和 recode 示例。 | ||
版本 v.2.0.18 | 2002-11-27 | 修订者:am |
loadkeys 不再使用确切的文件名,而是使用 fi-latin1。现在提到了 fi-latin9 键盘映射。在 locales 章节中添加了 LC_PAPER。 | ||
版本 v.2.0.17 | 2002-11-27 | 修订者:am |
修复了 emacs 欧元支持。 | ||
版本 v.2.0.16 | 2002-11-27 | 修订者:am |
Red Hat 8 UTF-8 支持。 | ||
版本 v.2.0.15 | 2002-05-09 | 修订者:am |
添加了 DocBook XSL 标签 - 因为我想在 arska.org Finnish HOWTO 页面上尝试 AxKit。 | ||
版本 v.2.0.14 | 2002-05-03 | 修订者:am |
更清晰地描述了 X 中的死键。 | ||
版本 v.2.0.13 | 2002-04-09 | 修订者:am |
更清晰地描述了 LC_MESSAGES。修复了 locales 表格中的 XML 结构错误。修复了遗忘的 bookinfo 日期。 | ||
版本 v2.0.12 | 2002-04-06 | 修订者:am |
更多 irc 相关内容。在 readline 章节中添加了 set convert-meta off。将 Debian 特定信息更新至 Debian 3.0。更多键盘映射相关内容。移除了 Red Hat 5.2 相关内容。将示例 locales 更改为 fi_FI@euro。在 Euro 章节中添加了 KDE、Gnome 和 Emacs。在 elm 章节中添加了 fi_FI@euro。在 locales 章节中添加了 Debian 3.0 的 locales 方法。 | ||
版本 v2.0.11 | 2002-02-24 | 修订者:am |
更多欧元支持链接,更新了 KDE 链接。为 bash 添加了 “convert-meta off”。 | ||
版本 v2.0.10 | 2001-10-04 | 修订者:am |
修复了控制台上的 emacsen。 | ||
版本 v2.0.9 | 2001-10-04 | 修订者:am |
将 elm-ME+ 标题的标题从 elm 修复为 elm-ME+ | ||
版本 v2.0.8 | 2001-09-26 | 修订者:am |
更正了错误的 revhistory 顺序。 | ||
版本 v2.0.7 | 2001-09-26 | 修订者:am |
修复了欧元支持中的一个错别字。 | ||
版本 v2.0.6 | 2001-09-26 | 修订者:am |
添加了欧元支持。 | ||
版本 v2.0.5 | 2001-09-14 | 修订者:am |
修复了 locale 示例。修复了一些错别字。修复了一些标记错误。添加了 irc 和 elm-me+ | ||
版本 v2.0.4 | 2001-07-18 | 修订者:am |
完全重写。 |
本文档的目的是提供在安装后对 GNU/Linux 设置进行芬兰语本地化的说明。出发点是作者使用的 Debian GNU/Linux(撰写时版本为 3.0),但对于其他发行版的用户来说,该文档也可能很有用,尽管不同发行版之间,特别是各种启动脚本的名称和位置差异很大。
自 Pekka Taipale 的原始 Finnish-HOWTO 以来,GNU/Linux 发生了很大变化:它的安装变得更加容易,并且设置也比以前更频繁地正确,但并非总是如此,了解 GNU/Linux 的语言设置如何工作也绝非坏事。
GNU/Linux 在服务器使用中变得越来越普遍,因此更重要的是要注意/etc目录下的配置文件与用户主目录中的配置文件之间的区别。旨在对所有人有效的设置应该放在/etc- 目录下。
HOWTO 的官方主页是 http://arska.org/finnish-howto/,尽管 Linux Documentation Project 也分发它,但它通常比官方主页上的版本旧得多。
关于 locales,本文档不涵盖使用 C 库版本 5 或更早版本的 GNU/Linux 系统。主要发行版使用 C 库版本 6,它更广为人知的名称是 glibc2。(Debian 和 Red Hat 在 Debian GNU/Linux 2.0 和 Red Hat Linux 5.0 版本中切换了 C 库。)
本文档不涵盖 XFree86 3.2 之前的版本。
本文档可以根据 GNU Free Documentation License 版本 1.1 的条款进行修改和分发,或者根据 GNU General Public License 版本 2 或任何后续版本的条款进行修改和分发。本文档的来源特别包括 Niels Kristian Bech Jensen 的 Danish-HOWTO 和一定程度上 Pekka Taipale 的 Finnish HOWTO v. 1.1f。
作者不对可能的错误负责,但欢迎将更正和改进建议发送至<hauva@iki.fi>.
在控制台中,键盘设置使用 loadkeys 命令设置,在 X Window System 中使用 xmodmap 命令设置。
芬兰语本地化的 GNU/Linux 使用国际 ISO-8859-1 或 Latin-1 字符集或 ISO-8859-15 或 Latin-9 字符集。定义这一点并非总是必要的,但许多重要的程序都需要设置它。
ISO-8859-15 字符集,它支持 euro 符号,有时也称为 Latin-0
可以使用命令 loadkeys fi-latin1 加载键盘映射,或者如果 kbd 版本为 1.08 或更高版本,也可以使用命令 loadkeys fi-latin9
在某些发行版中,键盘映射的名称具有.map.gz后缀而不是.kmap.gz后缀。不同发行版之间键盘映射的位置有所不同。例如,可以使用命令 find /usr -name '*latin1.*map*' -print 找到键盘映射
应该注意的是,正确的键盘映射是 fi-latin1 或 fi-latin9,而不是 fi,后者是旧的 7 位键盘映射。
在 Debian GNU/Linux 中,loadkeys 在启动期间从脚本/etc/init.d/keymap.sh运行。可以使用命令 /usr/sbin/install-keymap 更改键盘映射。
在 Red Hat 中,启动期间通常执行/etc/rc.d/init.d/keytable脚本。此脚本读取/etc/sysconfig/keyboard文件,其中定义了要使用的键盘映射。当键盘是芬兰语时,该文件包含以下行
KEYTABLE=fi-latin1 |
在 XFree86 3.2 及更高版本中/etc/X11/XF86Config文件的 Keyboard section 部分应包含以下行
Section "Keyboard" Protocol "Standard" XkbRules "xfree86" XkbModel "pc102" XkbLayout "fi" XkbVariant "nodeadkeys" EndSection |
这些设置以及许多其他设置可以根据您自己的喜好进行修改,下面是一个 Debian GNU/Linux 2.2(撰写本文时仍为开发版本)“Keyboard Section:”的示例
Section "Keyboard" Protocol "Standard" AutoRepeat 500 30 LeftAlt Meta RightAlt Meta ScrollLock Compose RightCtl Control XkbKeycodes "xfree86" XkbTypes "default" XkbCompat "default" XkbSymbols "us(pc101)" XkbGeometry "pc" XkbRules "xfree86" XkbModel "pc102" XkbLayout "fi" EndSection |
更多信息,请参见 XF86Config 文件的手册页。
UTF-8 是 Unicode 的一种形式,您可以使用它来书写世界上几乎所有口语,并且它为符号(如国际象棋棋子)预留了空间,甚至可以使用它来书写托尔金的 Tengwar 字母。
尽管 UTF-8 在过渡阶段为非英语使用者带来了一些问题,但它是全球本地化工作的绝对先决条件。
Red Hat 在其 8 系列中采用了 UTF-8 字符集。下面显示的修正是很容易的,但实际上是错误的纠正问题的方法:与其切换到 UTF-8,不如返回到单字节字符集。纠正此问题的正确方法是将 locales 保留为 UTF-8 locales,除非是邮件和新闻组。
想要将 UTF-8 与 Debian 一起使用的用户应参考文档 Step by step introduction to switching your debian installation to utf-8 encoding。
在 Debian 3.0 版本中,芬兰语书写所需的字符集已移至名称中包含单词 transcoded 的字体软件包中。需要安装它们或其中的一部分,以便 Gnome 应用程序等能够正常工作。
$ apt-cache search transcoded | egrep font xfonts-base-transcoded - standard fonts for X (transcoded from ISO 10646-1) xfonts-75dpi - 75 dpi fonts for X xfonts-100dpi-transcoded - 100 dpi fonts for X (transcoded from ISO 10646-1) xfonts-base - standard fonts for X xfonts-100dpi - 100 dpi fonts for X xfonts-75dpi-transcoded - 75 dpi fonts for X (transcoded from ISO 10646-1) |
某些程序需要“8-bit-clean”编译才能使用斯堪的纳维亚字符正常工作。某些程序还需要其他设置。
检查您的 locale 设置。如果使用命令 LC_ALL=fi_FI 程序名称 启动程序,程序是否正常工作?检查命令 locale 的输出。
如果您使用的程序是命令行程序,并且您的命令解释器是 bash(Linux 的默认设置),请检查 readline 库 的设置。
检查您使用的程序是否在 那些程序 中,对于这些程序,正确的 locale 是不够的。
在 Debian 中,locale 设置在文件/etc/environment中设置,在 Red Hat 中,locale 设置在文件/etc/sysconfig/i18n
新的字符集 ISO-8859-15 或 latin9,为了最大程度地混淆,通常也称为 latin0,是为了取代 ISO-8859-1 (latin1) 而创建的,它提供了欧盟共同货币欧元和美分符号。
欧元符号可以通过组合键 AltGr-e 找到。美分符号可以在 X 中通过组合键 AltGr-Shift-e 找到,而在控制台中,正确的组合键是 AltGr-c。但是,美分通常不使用。
本章特别侧重于 Debian,但其说明也应使其他发行版能够工作,但这需要比平时更多的创造力。
根据发行版,您需要加载支持欧元的控制台字体,可以使用命令 setfont (RH 衍生发行版) 或 consolechars (Debian 衍生发行版)。
在 Debian 中,修改文件/etc/console-tools/config以删除注释标记SCREEN_FONT:
SCREEN_FONT=lat0-16 |
在 Red Hat 中,在文件中设置/etc/sysconfig/i18n行
SYSFONT=lat0-16 SYSFONTACM=iso15 |
在正常设置下,AltGr-e 会生成一个通用的货币符号,看起来像一只四条腿的蜘蛛。当应用程序使用的字体更改为 ISO-8859-15 字体时,它将被欧元符号替换。在 Debian 中,可以通过将以下行添加到文件/etc/X11/app-defaults/XTerm例如,行
.XTerm.VT100.font: -jmk-neep alt-medium-r-*-*-*-120-*-*-*-*-iso8859-15 |
如果 AltGr-e 不起作用,请将以下行添加到文件/etc/X11/Xmodmap行
keycode 26 = e E EuroSign |
许多程序需要特殊设置才能工作。例如,使用 GNU readline 库的库在启动时读取/etc/inputrc- 或~/.inputrc文件。例如,bash 和 MySQL 的命令行客户端使用此库。
但是,在进行程序特定的设置之前,应该先调整 locales 以使其正常工作。问题通常已经通过这种方式消失了。
文件/etc/inputrc或~/.inputrc以下行
set input-meta on set output-meta on |
某些系统还需要设置
set convert-meta off |
文件~/.elm/elmrc以下行
charset = iso-8859-1 displaycharset = iso-8859-1 textencoding = 8bit |
这不一定适用于所有 elm 版本。可以使用 metamail 软件包在 elm 中获得部分 MIME 支持。
当前的 Emacs 在 X Window System 中可以正常工作,前提是 locale 设置正确。但是,在控制台中或使用 -nw 选项启动时,情况并非如此,而是~/.emacs文件中需要添加以下行
(set-input-mode nil nil 'foo) |
将以下行添加到文件/etc/irc/script/local行或在命令行中写入它们
set EIGHT_BIT_CHARACTERS on set TRANSLATION LATIN_1 |
不完整,但非常有效~/kermrc:
set terminal bytesize 8 set command bytesize 8 set file bytesize 8 set language finnish set file character-set latin1-iso set transfer character-set latin1-iso set terminal character-set latin1-iso |
如果远程主机是 DOS 或 OS/2 操作系统,则必须更改设置。
只要将 locales 设置为芬兰语,安装软件包 openoffice.org-l10n-fi 即可获得芬兰语 OpenOffice。
文件~/.pinerc以下行
character-set=ISO-8859-1 |
也可以在 pine 的 Setup | Config 菜单中设置。pine 的新闻设置是
enable-8bit-esmtp-negotiation enable-8bit-nntp-posting |
将以下行添加到文件/etc/sendmail.mc行
define(`confEIGHT_BIT_HANDLING', `mimefy')dnl |
或添加到/etc/sendmail.cf的行
O EightBitMode=mimefy |
首先运行 texconfig。选择 hyphenation -> latex 并取消注释 finnish 一词的前面,然后保存您所做的更改。EDITOR环境变量应该设置正确,以便您可以使用熟悉的编辑器。之后,您仍然需要在文档中进行以下定义,以便元音变音和芬兰语断字能够工作。
\usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage[finnish]{babel} |
新闻组文章 给出了以下说明,使用它可以使小数点逗号正常工作。
\documentclass{article} \usepackage{t1enc} \usepackage{a4} \usepackage[finnish]{babel} \DeclareMathSymbol{,}{\mathpunct}{letters}{"3B} \DeclareMathSymbol{.}{\mathord}{letters}{"3B} \DeclareMathSymbol{\decimal}{\mathord}{letters}{"3A} \begin{document} Ajatellaan, ett� $f(x, y, z) = 3.333$. Mit�s sitten? \end{document} |
可以通过设置正确的 locale 设置来避免程序特定的键盘设置中的许多问题。
可以使用多种方法更改 locale 设置,locale 的手册页更详细地描述了这些方法。常用的设置是将环境变量LANG, LC_ALL或LC_CTYPE的值设置为
fi_FI |
或设置为
fi_FI@euro |
表 6-1. Locales
Locale 环境变量 | 用法 |
---|---|
LC_COLLATE | 字符串排序。 |
LC_CTYPE | 字符分类和转换。 |
LC_MESSAGES | 如果程序支持翻译并且其他 locale 环境变量与 LC_MESSAGES 环境变量不冲突,则翻译程序。 |
LC_MONETARY | 货币值 |
LC_NUMERIC | 非货币数值的格式化 |
LC_TIME | 日期和时间格式化 |
LC_PAPER | 纸张尺寸定义 |
LC_ALL | 定义所有上述环境变量。其他 locale 环境变量将被忽略。 |
LANG | 定义所有上述环境变量,但可以单独定义单个 locale 环境变量。 |
这是一个模型示例
LANG=C LC_CTYPE=fi_FI@euro LESSCHARSET=latin1 |