Gentoo Linux ローカライズガイド
1.
タイムゾーン
正確な時間を保つためには、/etc/localtimeが正しいタイムゾーンデータを含んでいなければなりません。
/usr/share/zoneinfo/を見渡してあなたのタイムゾーンか近くにある大きな都市を選んでください。
/usr/share/zoneinfo/Etc/GMT*のタイムゾーンは、必要なタイムゾーンの名前を示していないので避けてください。
例えば、GMT-8は実際にはGMT+8を指します。
Code Listing 1.1: タイムゾーンの設定 |
# cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime
# date
Sun Feb 16 08:26:44 CET 2003
|
Note:
タイムゾーン表示(この場合ではCET)があなたの地域にとって正しい物かを確かめてください。
|
Note:
ユーザーレベルの設定のために、/usr/share/zoneinfoに基づくTZを、シェルのrcファイル(bashでは.bash_profile)に設定することができます。
このケースではTZ="Europe/Berlin"となります。
|
2.
ハードウェアクロック
ほとんどのGentoo Linuxのインストールでは、システムクロックがUTC(もしくはグリニッジ標準時のGMT)に設定されていて、正しいローカルタイムに設定しようとしています。
もし、何らかの理由で、UTC以外のシステムクロックに設定する必要があるときには、/etc/conf.d/clockにあるCLOCKの値をUTCからlocalへ変更してください。
Code Listing 2.1: ローカル vs. GMTクロック |
CLOCK="UTC"
CLOCK="local"
|
3.
ロケールシステム
ロケールとは?
ロケールとは1組の情報セットであり、大部分のプログラムが国と言語特定の設定を決定するのに使用します。
ロケールとそのデータはシステムライブラリの一部であり、たいていのシステムの/usr/share/localeにあります。
ロケール名は一般的にab_CDとなり、abは2文字(もしくは3文字)の(ISO-639で指定された)言語コード、CDは2文字の(ISO-3166で指定された)国コードをそれぞれ表しています。
ロケール用の環境変数
ロケール設定は環境変数に保存されます。
それらは典型的に、/etc/env.d/02locale(システム全体の設定)と~/.bashrc(ユーザ特有の設定)ファイルで設定されます。
ロケール設定の異なった局面を制御する変数を、優先順位の高い順(例えば、それよりも下の設定を上書きします)に、以下のテーブルに示します。
全ての変数は、上で与えられた、ab_CDフォーマットのロケール名を持ちます。
| 変数名 |
説明 |
| LC_ALL |
全てのロケール設定を一度に定義します。これは他のどの設定をも上書きする、最も順位の高いロケールの設定です。
|
| LC_COLLATE |
文字列のアルファベットの順序を定義します。これは例えば、ソート済みのディレクトリ一覧を出力するときに影響します。
|
| LC_CTYPE |
システム用の文字の取り扱いの特性を定義します。これは、どの文字がアルファベット、数値などの一部と考えられるかを決定します。また、これは適用できれば、使用する文字集合を決定します。
|
| LC_MESSAGES |
大部分のGnuプログラムで利用されているローカライズ機能について、どのように地域言語を特定するのか?どのようにプログラム自身が保持していない地域言語を取得するのか?どのように動作するのか?というより詳しい情報は次章を参照してください。
|
| LC_MONETARY |
通貨単位と通貨のフォーマットを定義します。 |
| LC_NUMERIC |
通貨ではない数値のフォーマットを定義します。千や小数点の区切りなどに影響します。
|
| LC_TIME |
日付と時間のフォーマットを定義します。 |
| LC_PAPER |
初期の用紙サイズを定義します。 |
| LANG |
全てのロケール設定を一度に定義します。
この設定は上で説明した個々のLC_*設定やLC_ALLで上書き可能です。
|
Note:
ほとんどのプログラムがLC_ALLでのみ動作するにもかかわらず、LC_ALLが設定されているがLANGが設定されていない場合には不具合を起こす物もあります。
安全のため、両方を設定してください。
|
大半の典型的なユーザは、シェル起動ファイルにコマンドラインから手動で環境変数を設定することによって、LANG変数や、もしかするとLC_CTYPEをユーザレベルに設定するだけです。
Code Listing 3.1: ~/.bashrcにユーザロケールを設定する |
export LANG="de_DE@euro"
|
Note:
ユーロ通貨記号(€)を使用したいのなら、ロケールに@euroを追加します。
|
全てのユーザとプログラム向けにシステムワイドなロケール設定も可能にします。
Code Listing 3.2: /etc/env.d/02localeにデフォルトのシステムロケールを設定する |
LC_ALL="de_DE@euro"
LANG="de_DE@euro"
|
一般的な方法は、デフォルトのシステムロケールを設定せずに、ユーザごとのロケールのみを設定する使い方です。
この場合、システムロケールは、特別な値である"C"を規定値にします。
これは歴史的な理由で、英語ロケールにマッピングされます。
ローカライズを元にしたメッセージをサポートしているプログラムでそれを動作させるには、もしかするとUSEフラグでnls (母国語サポート)を設定してコンパイルする必要があるかもしれません。
nlsを使用する大半のプログラムは、ローカライズメッセージを取り出して使用するためにgettextライブラリも必要です。
もちろん、Portageは、必要なときには自動的にgettextライブラリをインストールします。
正しいロケールを設定したら、システムが変更を認識するために環境変数を更新するようにしてください。
Code Listing 3.3: 環境変数の更新 |
# env-update && source /etc/profile
$ source ~/.bashrc
|
これが完了したら、Ctrl-Alt-Backspaceを押してXサーバを強制終了し、ログアウトして、ユーザとしてログインします。
では、変更が正しく行われているかを確認します。
Code Listing 3.4: 変更の確認 |
$ env | grep -i LC_
|
LINGUASという追加のローカライズ変数もあります。
これはgettextベースのプログラムがインストールされる際のローカライズファイルに影響し、kde-base/kde-i18nやapp-office/openofficeといった特定のソフトウェアパッケージでローカライズの使用を決定します。
変数はスペースで区切られた言語コードを受け入れ、/etc/make.confで設定することが提案されています。
Code Listing 3.5: LINGUASをmake.confで設定する |
# nano -w /etc/make.conf
LINGUAS="de fi en"
|
特定のロケールを作成
デフォルトで利用できないロケールを利用したいなら、localedefを利用してあなたの位置を作成します。
以下に例を示します。
Code Listing 3.6: localedefを利用してロケールを作成 |
# localedef -c -i en_US -f ISO-8859-15 en_US.ISO-8859-15
|
ロケールを作成した後は、LANG変数が合うようにexportします。
Code Listing 3.7: LANG変数をexport |
# export LANG="en_US.ISO-8859-15"
|
変更後に環境を更新してください。
Code Listing 3.8: 環境の更新 |
# env-update && source /etc/profile
|
これが完了したら、Ctrl-Alt-Backspaceを押してXサーバを強制終了し、ログアウトして、ユーザとしてログインします。
glibc用にロケールの生成
あなたは恐らくシステムで1つか2つのロケールしか利用しないでしょう。
/etc/locale.genで必要なロケールを指定できます。
Code Listing 3.9: /etc/locale.genにロケールの追加 |
en_GB ISO-8859-1
en_GB.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15
|
次のステップではlocale-genを実行します。これにより、
/etc/locale.genファイルで指定された全てのロケールが生成されます。
Note:
locale-genは、glibc-2.3.6-r4以降で利用可能です。
glibcがそれよりも古いバージョンの場合には、すぐにアップデートして下さい。
|
4.
コンソールでのキーボードレイアウト
コンソールで使われるキーボードのレイアウトは、/etc/conf.d/keymapsのKEYMAP変数によって設定されています。
有効な値は/usr/share/keymaps/{arch}/で見つかります。
i386はより細分化されたレイアウトです(qwerty/、azerty/など)。
いくらかの言語には複数のオプションがありますので、どれが要求に一致しているのかいろいろ試してみてください。
Code Listing 4.1: コンソールキーマップを設定 |
KEYMAP="de"
KEYMAP="de-latin1"
KEYMAP="de-latin1-nodeadkeys"
|
5.
Xサーバでのキーボードレイアウト
Xサーバで使われるキーボードレイアウトは、/etc/X11/xorg.confのXkbLayoutオプションで設定されています。
Code Listing 5.1: Xキーマップを設定 |
Section "InputDevice"
Identifier "Keyboard1"
...
Option "XkbLayout" "de"
# Option "XkbModel" "pc105"
# Option "XkbVariant" "nodeadkeys"
...
|
国際キーボードを使用しているのなら、XkbModelオプションをpc102かpc105に設定するべきです。
これは、キーボード特有の追加キーのマッピングを行えるようになります。
Deadkeysは、押したキーがすぐには表示されず、他の文字と組み合わせることによりテゥ、ティ、テ。、テなどの単一の文字となるようにするようものです。
XkbVariantをnodeadkeysに設定することにより、これらの特別な文字をXターミナルで入力できるようになります。
2つ以上のキーボードレイアウト(英語とロシア語など)を切替えて使用したいのなら、するべき事はxorg.confにレイアウトとショートカットコマンドの数行を追加するだけです。
Code Listing 5.2: 2つのキーボードレイアウトを切替える |
Section "InputDevice"
Identifier "Keyboard1"
...
Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
|
ここで、XkbOptionsを設定することでAlt-Shiftを押すことでキーボードレイアウトを切替えられるようになります。
また、grp_led:scrollオプションによって、Scroll Lockライトのオンオフの切替えも行えるようになります。
これにより、現在どのキーボードレイアウトを使用しているかを視覚的に認識できます。
6.
KDE
KDEではkde-base/kde-i18nパッケージをインストールします。
kde-i18nは前に述べたLINGUAS変数を重視します。
7.
コンソールでのユーロ記号
コンソールでユーロ記号を使えるようにするには、/etc/conf.d/consolefontのCONSOLEFONTを/usr/share/consolefonts/にあるファイル(.psfu.gzを除く)に設定する必要があります。
lat9w-16がユーロ記号です。
Code Listing 7.1: コンソールフォントを設定 |
CONSOLEFONT="lat9w-16"
|
CONSOLEFONTがbootランレベルにあることを確認するべきです。
Code Listing 7.2: 適切なランレベルにあることを確認 |
# rc-update show | grep -i consolefont
|
CONSOLEFONTに何のランレベルも表示されていなければ、適切なレベルに追加してください。
Code Listing 7.3: consolefontをbootに追加 |
# rc-update add consolefont boot
|
8.
Xでのユーロ記号
ほとんどのアプリケーション
Xで正しくユーロ記号を動作させるにはちょっと大変です。
まずは、/usr/X11R6/lib/X11/fonts/misc/fonts.aliasにあるfixedとvariable変数の最後を、iso8859-1からiso8859-15へと置き換えます。
Code Listing 8.1: デフォルトXフォントを設定 |
fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15
|
いくらかのアプリケーションはそれ自身のフォントを使用しているので、それらにユーロ記号のフォントを別に使うよう指示しなければなりません。
これは、ユーザー特有のレベルでは.Xdefaults(/etc/skel/からコピーすることもできます)で、
もしくは(xtermのように)いくつかのアプリケーションの全体レベルでは/usr/X11R6/lib/X11/app-defaults/にあるリソースファイルを変更することで行えます。
これらのファイルでは、一般的に新しく追加するよりも既にある行を変更した方がよいでしょう。
例えば、xtermのフォントを変更するには以下のようにします。
Code Listing 8.2: xtermのフォントを設定 |
$ echo 'XTerm*font: fixed' >> .Xresources
$ xrdb -merge .Xresources
|
(X)Emacsでのユーロ記号
(X)Emacsでユーロ記号を使うには、.Xdefaultsに以下のように追加します。
Code Listing 8.3: emacsのフォントを設定 |
Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15
|
(単なるEmacsではなく)XEmacsでは、もう少しすることがあります。
/home/user/.xemacs/init.elに以下のように追加します。
Code Listing 8.4: xemacsのフォントを設定 |
(define-key global-map '(EuroSign) '[€])
|
OpenOffice.Org
現在のstableなapp-office/openofficeとapp-office/openoffice-binのebuildはGUI言語パックを選択するためにLINGUAS変数をサポートしています。
そのため、ローカライズされたOpenOffice.Orgを使うためには、ソースバージョンか、自己責任でunstableなバイナリバージョンのどちらかをインストールしなければなりません。
あなたの言語でのGUI翻訳、ハイフン接続、スペルチェック、そして他のローカライズの状態を確認するには、OpenOffice.Org localisationを参照してください。
|