Gentoo Logo

Gentoo Linux ローカライズガイド

Content:

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-i18napp-office/openofficeといった特定のソフトウェアパッケージでローカライズの使用を決定します。 変数はスペースで区切られた言語コードを受け入れ、/etc/make.confで設定することが提案されています。

Code Listing 3.5: LINGUASをmake.confで設定する

# nano -w /etc/make.conf
(LINGUAS変数を追加します。例えば、ドイツ語、フランス語、英語なら以下のようにします)
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/keymapsKEYMAP変数によって設定されています。 有効な値は/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.confXkbLayoutオプションで設定されています。

Code Listing 5.1: Xキーマップを設定

 Section "InputDevice"
     Identifier  "Keyboard1"
     ...
     Option "XkbLayout"    "de"
     # Option "XkbModel"     "pc105"    ## これは国際キーボード向けです
     # Option "XkbVariant"  "nodeadkeys" ## これはxtermの入力に使用されます
     ...

国際キーボードを使用しているのなら、XkbModelオプションをpc102pc105に設定するべきです。 これは、キーボード特有の追加キーのマッピングを行えるようになります。

Deadkeysは、押したキーがすぐには表示されず、他の文字と組み合わせることによりテゥ、ティ、テ。、テなどの単一の文字となるようにするようものです。 XkbVariantnodeadkeysに設定することにより、これらの特別な文字を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/consolefontCONSOLEFONT/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にあるfixedvariable変数の最後を、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) '[€])

Note: []の中の記号はユーロ記号です。

OpenOffice.Org

現在のstableなapp-office/openofficeapp-office/openoffice-binのebuildはGUI言語パックを選択するためにLINGUAS変数をサポートしています。 そのため、ローカライズされたOpenOffice.Orgを使うためには、ソースバージョンか、自己責任でunstableなバイナリバージョンのどちらかをインストールしなければなりません。 あなたの言語でのGUI翻訳、ハイフン接続、スペルチェック、そして他のローカライズの状態を確認するには、OpenOffice.Org localisationを参照してください。



Print

Updated July 18, 2006

This translation is not maintained anymore

Summary: このガイドではGentoo Linuxディストリビューションを各々のヨーロッパ地方へローカライズするお手伝いをします。 これはドイツのドキュメントから翻訳されたため、ケーススタディとしてドイツ語が使われています。 ユーロ通貨記号を利用するための設定も含まれています。

Alexander Holler
Author

Steven Lucy
Translator/Editor

Benny Chuang
Editor

Lars Weiler
Editor

Tobias Scherbaum
Editor

Flammie Pirinen
Editor

小林弘樹
翻訳

Taku Murakami
翻訳

Donate to support our development efforts.

Support OSL

Support OSL

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

Global Netoptex Inc.

Global Netoptex Inc.

Bytemark

Bytemark

Linux World Expo

Linux World Expo

Copyright 2001-2008 Gentoo Foundation, Inc. Questions, Comments? Contact us.