Index: head/ja_JP.eucJP/books/handbook/l10n/chapter.xml =================================================================== --- head/ja_JP.eucJP/books/handbook/l10n/chapter.xml (revision 54612) +++ head/ja_JP.eucJP/books/handbook/l10n/chapter.xml (revision 54613) @@ -1,1072 +1,1072 @@ 地域化 (localization) - <acronym>i18n</acronym>/<acronym>L10n</acronym> の利用と設定 AndreyChernov寄稿: Michael C.Wu改訂: この章では &os; は、 ユーザーおよび貢献者が世界中に分散したプロジェクトです。 そのため、&os; は多くの言語への地域化に対応しており、 ユーザは、英語以外の言語を見たり、入力したり、処理したりできます。 中国語、ドイツ語、日本語、韓国語、フランス語、ロシア語、 ベトナム語など、主要な言語のほとんどから選ぶことができますが、 これらに限定されるわけではありません。 国際化 (internationalization) 地域化 (localization) 地域化(localization) internationalization は、i18n と短縮して表記されます。 これは internationalization の最初と最後の間の文字数に由来します。 L10n も同じ命名法を用いて localization を縮めたものです。 i18n/L10n された (すなわち国際化/地域化された) 手法、プロトコル、アプリケーションは、 自分達の好みの言語を使うことを可能にしてくれます。 この章では、&os; の国際化 (internationalization) と地域化 (localization) 機能について解説します。 この章では、以下の分野について説明します。 ロケール名がどのように定義されるか。 ログインシェルでロケールを設定するにはどうするか。 コンソールを英語以外の言語用に設定するにはどうするか。 様々な言語で Xorg を設定するにはどうすればよいか。 国際化 (i18n) されたアプリケーションの見つけ方。 特定の言語に設定するための情報はどこにあるか。 この章を読む前に、以下のことを理解しておく必要があります。 サードパーティ製アプリケーションのインストール方法 地域化の利用 ロケール 地域化の設定は、言語コード、 国コード、エンコーディングという三つの要素を基本とします。 ロケール名はこれらから以下のように構成されます。 言語コード_国コード.エンコーディング 言語コード 国コード 言語コード および 国コード は、 国と言語を特定するために用いられます。 では、 言語コード_国コード の例を示します 言語および国コード 言語_国コード 説明 en_US 英語、合衆国 ru_RU ロシア語、ロシア zh_TW 繁体字中国語、台湾
利用可能なすべてのロケールを調べるには、 以下のように実行してください。 &prompt.user; locale -a | more 現在のロケールの設定を調べるには、 以下のコマンドを実行してください。 &prompt.user; locale エンコーディング ASCII 言語固有の、C 言語の char で表現できる ISO8859-1, ISO8859-15, KOI8-R, CP437 といったシングルバイトの文字セットについては、 &man.multibyte.3; を参照してください。 現在有効な文字セットのリストは、IANA Registry で確認できます。 いくつかの言語 (例えば中国語や日本語) は、 ASCII 文字では表すことができないので、 ワイド文字や多バイト文字を用いた拡張された言語のエンコードが必要となります。 ワイド/多バイトのエンコーディングの例は、EUC および Big5 です。 古いアプリケーションの中には、 これらのエンコードを誤ってコントロール文字として認識するものがありますが、 最近のアプリケーションは、大抵これらの文字を認識します。 実装方法にも依りますが、アプリケーションのコンパイル時もしくは configure 時に、ワイド/多バイト文字のサポートを指定する必要があるかも知れません。 &os; では、Xorg 互換のロケール符号を用いています。 以下では、&os; システムにおいてロケールを設定する方法について説明します。 次の節では、i18n に対応するアプリケーションの見つけ方およびコンパイル方法について説明します。 ログインシェルでロケールを設定する ロケールの設定は、ユーザの ~/.login_conf、 またはユーザのシェルの初期設定ファイルである ~/.profile, ~/.bashrc または ~/.cshrc で行います。 以下の二つの環境変数を設定する必要があります。 LANG: ロケールを設定します。 POSIX MIME MM_CHARSET: アプリケーションで使用される MIME 文字セットを指定します。 これらの変数は、ユーザのシェルの設定ファイルに加え、 アプリケーション固有の設定ファイル、 および Xorg の設定ファイルにおいても指定される必要があります。 ロケール (locale) ログインクラス 必要な変数を割り当てるには、二つの方法があります。 ログインクラス において割り当てる方法 (推奨される方法です)、および 初期化ファイル で指定する方法です。 次の 2 つの節では、この両方の方法について説明します。 ログインクラスを用いる方法 最初に説明する方法は、 すべてのシェルにおいて必要なロケール名と MIME 文字セットを環境変数に割り当てます。 これは推奨される方法です。 この割り当て方法としては、各ユーザが行う方法と、 スーパーユーザがすべてのユーザに対して設定する 2 つの方法があります。 以下の簡単な例では、 各ユーザのホームディレクトリの .login_conf で、両方の変数に Latin-1 エンコーディングを設定します。 me:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1: 繁体字中国語 (Traditional Chinese) BIG-5 エンコーディング これは、BIG-5 エンコーディングされた繁体字中国語用の環境変数を設定するユーザの ~/.login_conf の一例です。 中国語、日本語、 韓国語用のロケール変数を正しく認識しないソフトウェアに対応するため、 より多くの変数に対する設定が行われています。 #Users who do not wish to use monetary units or time formats #of Taiwan can manually change each variable me:\ :lang=zh_TW.Big5:\ :setenv=LC_ALL=zh_TW.Big5:\ :setenv=LC_COLLATE=zh_TW.Big5:\ :setenv=LC_CTYPE=zh_TW.Big5:\ :setenv=LC_MESSAGES=zh_TW.Big5:\ :setenv=LC_MONETARY=zh_TW.Big5:\ :setenv=LC_NUMERIC=zh_TW.Big5:\ :setenv=LC_TIME=zh_TW.Big5:\ :charset=big5:\ :xmodifiers="@im=gcin": #Set gcin as the XIM Input Server もう一つの方法では、 スーパーユーザがシステム上のすべてのユーザに対する地域化を設定します。 /etc/login.conf の以下の変数により、ロケールおよび MIME 文字セットを設定します。 language_name|Account Type Description:\ :charset=MIME_charset:\ :lang=locale_name:\ :tc=default: よって、先ほどの例における Latin-1 に対する設定は、 以下のようになります。 german|German Users Accounts:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1:\ :tc=default: 詳細に関しては &man.login.conf.5; を参照してください。 /etc/login.conf を編集したら、 忘れずに以下のコマンドを実行してケイパビリティデータベースをアップデートしてください。 &prompt.root; cap_mkdb /etc/login.conf ログインクラスを変更するユーティリティ vipw /etc/login.conf を手動により編集する方法に加え、 新たに作成するユーザのロケールを設定するためのユーティリティがあります。 vipw を使って新しいユーザを追加する際には、使用する言語を language に指定してください。 user:password:1111:11:language:0:0:User Name:/home/user:/bin/sh adduser ログインクラス adduser を使って新しいユーザを追加する場合に、 すべてのユーザに対するデフォルトの言語は事前に設定でき、 個々のユーザに対する言語を指定できます。 新しく追加するすべてのユーザが同じ言語を使う場合には、 /etc/adduser.conf で - defaultclass = language + defaultclass = language と設定してください。 新しいユーザを作成するときに、この設定を変更するには、 以下のプロンプトにおいて希望するロケールを指定してください。 Enter login class: default []: もしくは、adduser を実行する際にロケールを指定してください。 - &prompt.root; adduser -class language + &prompt.root; adduser -class language pw pw を使って新しいユーザを追加する場合には、 以下のようにしてロケールを指定してください。 - &prompt.root; pw useradd user_name -L language + &prompt.root; pw useradd user_name -L language シェルの初期化ファイルによる方法 この 2 番目の方法は、 使用するシェルごとに手動での設定が必要なため、推奨されません。 シェル毎に設定ファイルが存在し、その構文はシェルに依存します。 たとえば、sh シェルに対するドイツ語の設定では、 そのユーザのシェルを設定するためだけに、 ~/.profile に以下の行を追加ます。 これらの行を /etc/profile または、 /usr/share/skel/dot.profile に追加すると、 すべてのユーザのシェルを設定することが可能です。 LANG=de_DE.ISO8859-1; export LANG MM_CHARSET=ISO-8859-1; export MM_CHARSET しかしながら、csh シェルでは、 設定ファイルの名前や構文は異なります。 ~/.csh.login, /etc/csh.login または /usr/share/skel/dot.login では同じ設定です。 setenv LANG de_DE.ISO8859-1 setenv MM_CHARSET ISO-8859-1 さらに面倒なことに、 Xorg を設定するための ~/.xinitrc における構文は、 使用しているシェルに依存します。 以下の例において、最初は sh シェルに対するもので、2 番目が csh シェルに対するものです。 LANG=de_DE.ISO8859-1; export LANG setenv LANG de_DE.ISO8859-1 コンソールの設定 コンソールで利用可能な地域化されたフォントがあります。 利用できるフォントの一覧を調べるには、 ls /usr/share/syscons/fonts と入力してください。 コンソールのフォントを設定するには、 .fnt という拡張子を除いた フォント名 を、 /etc/rc.conf に設定してください。 font8x16=フォント名 font8x14=フォント名 font8x8=フォント名 keymap screenmap 以下を /etc/rc.conf に追加することで、 キーマップおよびスクリーンマップを指定できます。 scrnmap=スクリーンマップ名 keymap=キーマップ名 keychange="ファンクションキー番号の並び" 利用可能なスクリーンマップの一覧を調べるには、 ls /usr/share/syscons/scrnmaps と入力してください。 /etc/rc.confスクリーンマップ名 を指定する時は、 .csm という拡張子を除いてください。 スクリーンフォントが bit 8 列を使っている時に文字を疑似グラフィクス領域から外に移動するように、 VGA アダプタがフォント文字マトリクスで bit 8 を bit 9 に拡張することに対処するため、 フォントに適切にマップされたスクリーンマップが必要となります。 利用可能なキーマップの一覧を調べるには、 ls /usr/share/syscons/keymaps と入力してください。 /etc/rc.confキーマップ名 を指定する時には、 .kbd という拡張子を除いてください。 再起動せずにキーマップを試すには、 &man.kbdmap.1; を使ってください。 ファンクションキーの並びはキーマップで定義されていないので、 端末タイプに合わせたファンクションキーを設定するために keychange のエントリが必要となります。 次に /etc/ttys の中のすべての仮想端末のエントリに対して、 正しいコンソール端末タイプを設定してください。 は、 利用可能な端末タイプの一覧です。 文字セットに対する定義済みの端末タイプ 文字セット 端末タイプ ISO8859-1 もしくは ISO8859-15 cons25l1 ISO8859-2 cons25l2 ISO8859-7 cons25l7 KOI8-R cons25r KOI8-U cons25u CP437 (VGA のデフォルト) cons25 US-ASCII cons25w
moused ワイド/多バイト文字の言語については、 その言語に対するコンソールを &os; Ports Collection からインストールしてください。 利用可能な ports は、 にまとめてあります。 インストール後、各 port の pkg-message または、マニュアルページを参照して、 設定や使用方法を調べてください。 Ports Collection で利用可能なコンソール 言語 port の位置 繁体字中国語 (BIG-5) chinese/big5con 中国語/日本語/韓国語 chinese/cce 中国語/日本語/韓国語 chinese/zhcon 日本語 chinese/kon2 日本語 japanese/kon2-14dot 日本語 japanese/kon2-16dot
/etc/rc.conf において moused を有効にしている場合には、 追加の設定が必要となるでしょう。 デフォルトでは、&man.syscons.4; ドライバのマウスカーソルはキャラクタセット中の 0xd0-0xd3 の範囲を占めています。そのため、 利用している言語がこの範囲のキャラクタセットを使っている場合、 次の行を /etc/rc.conf に追加して カーソルの占める範囲を移動してください。 mousechar_start=3
Xorg の設定 Xorg のインストールおよび設定方法は、 で説明されています。 Xorg を地域化するための追加のフォントおよび入力方法は、 &os; Ports Collection から利用できます。 フォント、メニューなどのアプリケーション固有の国際化 (i18n) の設定は、 ~/.Xresources において指定でき、 グラフィカルアプリケーションのメニューが選んだ言語で表示されます。 X Input Method (XIM) プロトコルは、Xorg で非英字文字を入力するための標準規格です。 &os; Ports Collection から利用可能なインプットメソッドについては、 にまとめられています。 追加の Fcitx および Uim アプリケーションも利用できます。 利用可能なインプットメソッド 言語 インプットメソッド 中国語 chinese/gcin 中国語 chinese/ibus-chewing 中国語 chinese/ibus-pinyin 中国語 chinese/oxim 中国語 chinese/scim-fcitx 中国語 chinese/scim-pinyin 中国語 chinese/scim-tables 日本語 japanese/ibus-anthy 日本語 japanese/ibus-mozc 日本語 japanese/ibus-skk 日本語 japanese/im-ja 日本語 japanese/kinput2 日本語 japanese/scim-anthy 日本語 japanese/scim-canna 日本語 japanese/scim-honoka 日本語 japanese/scim-honoka-plugin-romkan 日本語 japanese/scim-honoka-plugin-wnn 日本語 japanese/scim-prime 日本語 japanese/scim-skk 日本語 japanese/scim-tables 日本語 japanese/scim-tomoe 日本語 japanese/scim-uim 日本語 japanese/skkinput 日本語 japanese/skkinput3 日本語 japanese/uim-anthy 韓国語 korean/ibus-hangul 韓国語 korean/imhangul 韓国語 korean/nabi 韓国語 korean/scim-hangul 韓国語 korean/scim-tables ベトナム語 vietnamese/xvnkb ベトナム語 vietnamese/x-unikey
国際化 (<acronym>i18n</acronym>) に対応したアプリケーションを見つける 国際化 (i18n) されたアプリケーションは、ライブラリとして i18n 化キットを用いてプログラミングされます。 これは開発者が単純なファイルを書いて、 表示されるメニューやテキストを各国語に翻訳できるようにしてくれます。 &os; Ports Collection の多くのアプリケーションは、 いくつかの言語向けのワイド/多バイト文字への対応を組み込んでいます。 そのようなアプリケーションの名前には、 容易に認識できるように、-i18n と付いています。しかしながら、 それらのアプリケーションが必要とする言語に対応しているとは限りません。 いくつかのアプリケーションでは、 特定の文字セットを使うようにコンパイルできます。 これは大抵 Makefile の中で 対処されているか、configure に値を渡すことで対応しています。 必要な configure の値や port の構築時に使用するコンパイルオプションを決めるための port の Makefile に関するより詳細な情報については、 各 &os; port のソースにある i18n 文書を参照してください。 特定の言語にロケールを設定する この節では、&os; システムをロシア語へ地域化するための設定例を示します。 後半では、他の言語への地域化に関する情報を提供します。 ロシア語 (KOI8-R エンコーディング) AndreyChernov原作: 地域化 ロシア語 この節では、&os; システムをロシア語へ地域化するための設定例を示します。 各設定に関するより詳しい説明については、 地域化の利用 を参照してください。 このロケールをログインシェルに設定するには、 以下の行を各ユーザの ~/.login_conf に追加してください。 me:My Account:\ :charset=KOI8-R:\ :lang=ru_RU.KOI8-R: コンソールを設定するには、 /etc/rc.conf に以下の行を追加してください。 keymap="ru.koi8-r" scrnmap="koi8-r2cp866" font8x16="cp866b-8x16" font8x14="cp866-8x14" font8x8="cp866-8x8" mousechar_start=3 /etc/ttys の各 ttyv エントリにおいて、 端末タイプとして cons25r を指定してください。 プリンタ プリンタの設定を行うには、 ロシア語用の文字を搭載したほとんどのプリンタはハードウェアコードページ CP866 を使っているため、KOI8-R を CP866 に変換する専用の出力フィルタが必要となります。 この目的のため、&os; はデフォルトフィルタを /usr/libexec/lpr/ru/koi2alt にインストールします。 このフィルタを使うには、/etc/printcap に以下のエントリを追加してください。 lp|Russian local line printer:\ :sh:of=/usr/libexec/lpr/ru/koi2alt:\ :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs: より詳細な説明については &man.printcap.5; を参照してください。 マウントされた &ms-dos; ファイルシステムにおいてロシア語ファイル名を使えるように設定するには、 /etc/fstab にエントリを追加するときに、 以下のように とロケール名を含めてください。 /dev/ad0s2 /dos/c msdos rw,-Lru_RU.KOI8-R 0 0 詳しくは、&man.mount.msdosfs.8; を参照してください。 &xorg; にロシア語のフォントを設定するには、 x11-fonts/xorg-fonts-cyrillic パッケージをインストールしてください。 その後、/etc/X11/xorg.conf"Files" セクションを確認してください。 既存の FontPath エントリの前に以下の行を追加しなければなりません。 FontPath "/usr/local/lib/X11/fonts/cyrillic" 他の Cyrillic フォントは、 Ports Collection から利用できます。 ロシア語のキーボードを使えるようにするには、 以下の行を xorg.conf"Keyboard" セクションに追加します。 Option "XkbLayout" "us,ru" Option "XkbOptions" "grp:toggle" このファイルの中で XkbDisable がコメントアウトされていることを確認してください。 grp:toggle では Right Alt を使い、 grp:ctrl_shift_toggle では CtrlShift を使います。 grp:caps_toggle では、 CapsLock を使います。 従来の CapsLock の機能は、 ラテン文字モードの時のみ ShiftCapsLock で使うことができます。 &xorg; では、理由は不明ですが grp:caps_toggle は動作しません。 キーボードに &windows; キーがあり、 そのキーにいくつかの非英字キーが割り当てられているようなら、 xorg.conf に以下の行を追加してください。 Option "XkbVariant" ",winkeys" ロシア語の XKB キーボードは、 地域化されていないアプリケーションではうまく動かないかも知れません。 地域化されたアプリケーションは少なくともプログラムの最初の方で XtSetLanguageProc (NULL, NULL, NULL); を呼び出すべきです。 Xorg アプリケーションを地域化する方法については、http://koi8.pp.ru/xwin.html を参照してください。 KOI8-R エンコーディングの詳細については、http://koi8.pp.ru/ を参照してください。 言語固有のリソース この節では、 他言語へのロケールの設定に関するリソースの一覧を示します。 地域化 繁体字中国語 地域化 ドイツ語 地域化 ギリシャ語 地域化 日本語 地域化 韓国語 台湾向けの繁体字中国語への地域化 &os;-Taiwan プロジェクトは、 &os; を中国語化するための手引き http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/ を提供しています。 ドイツ語への地域化 (すべての ISO 8859-1 言語向け) &os; 上でウムラウトを使うためのチュートリアルは、 http://user.cs.tu-berlin.de/~eserte/FreeBSD/doc/umlaute/umlaute.html から入手できます。この文書はドイツ語で書かれています。 ギリシャ語への地域化 &os; におけるギリシャ語のサポートについての記事は、 公式の &os; ギリシャ語ドキュメンテーションの一部として ここ で読むことができます。 この文書は、ギリシャ語で書かれています。 日本語/韓国語への地域化 日本語に関しては http://www.jp.FreeBSD.org/ を、韓国語に関しては http://www.kr.FreeBSD.org/ を参照してください。 英語以外の &os; ドキュメント &os; の文書の一部を他の言語に翻訳してくれている貢献者たちがいます。 これらは &os; ウェブサイト のリンクを辿るか /usr/share/doc から入手できます。