Chapter 13. ローカル化

Table of Contents
ロシア語 (KOI8-R encoding)
ドイツ語(ISO 8859-1)

ロシア語 (KOI8-R encoding)

Contributed by Andrey A. Chernov 1 May 1997.

訳: 今野 元之 . 18 June 1997.

KOI8-R encoding についてのさらに詳しいことは, KOI8-R References (Russian Net Character Set) をご覧ください.

コンソールのセットアップ

  1. マウスカーソルのために用いられている文字コードを KOI8-R 擬似グラフィックの範囲外に動かすために, カーネルのコンフィグレーションファイルに 以下の行を付け加えます.

    options          "SC_MOUSE_CHAR=0x03"
    
  2. /etc/rc.conf でのロシア語コンソールの エントリーは以下のようになります.

    keymap=ru.koi8-r
    keychange="61 ^[[K"
    scrnmap=koi8-r2cp866
    font8x16=cp866b-8x16
    font8x14=cp866-8x14
    font8x8=cp866-8x8
    

    Note: ^[ は /etc/rc.conf, に ^[ の文字列ではなく本当の ESC キャラクターを入れることを意味します.

    これは, KOI8-R キーボードで, KOI8-R encoding の代替スクリーンフォントを 疑似グラフィックに割り当て, 灰色のデリート キーを termcap(5) の FreeBSD コンソールのロシア語エントリーに一致するように再配置する, ということです.

    RUS/LAT スイッチは CapsLock に割り当てられます. 元の CapsLock の機能は Shift+CapsLock で使えます. CapsLock の LED は CapsLock のモードではなく RUS モードを示します.

  3. /etc/ttys の中の ttyv? の各エントリの ターミナルのタイプを cons25 から cons25r に変更します, つまり各エントリは以下のようになります

    ttyv0  "/usr/libexec/getty Pc"     cons25r on  secure
    

Locale のセットアップ

Locale のセットアップには二つの環境変数を使います:

  • LANG は POSIX setlocale(3) ファミリの関数に;

  • MM_CHARSET はアプリケーションの MIME キャラクタセットに使われます.

一番良い方法は passwd(5) エントリの login class の場所で /etc/login.conf russian ユーザの login class を使うことです. 詳しくは login.conf(5) を参照してください.

Login Class の設定方法

まず最初に /etc/login.confrussian login class がある ことを確認してください, このエントリは以下のようになります:

russian:Russian Users Accounts:\
    :charset=KOI8-R:\
    :lang=ru_RU.KOI8-R:\
    :tc=default:

vipw(8) ではどうするのか

新しいユーザを追加するのに vipw(8) を使うのであれば, /etc/master.passwd のエントリは以下のようになります:

user:password:1111:11:russian:0:0:User Name:/home/user:/bin/csh

adduser(8) ではどうするのか

adduser(8) を使って新しいユーザを追加するには:

  • defaultclass = russian
    

    /etc/adduser.conf にセットする. (この場合, 全ての非ロシア語ユーザに default class を入力しなけ ればなりません);

  • もう一つの方法は adduser(8)

    Enter login class: default []:
    
    という表示に russian と答えるものです;
  • また, ロシア語ユーザを追加する際に:

    # adduser -class russian
    
    とする方法もあります.

pw(8) ではどうするのか

pw(8) を使って新しいユーザを追加するには, 次のようにします:

# pw useradd user_name -L russian

シェルのスタートアップファイルでの設定方法

何らかの理由で login class の設定方法 を使いたくない場合は, この 二つの環境変数 をシェルのスタートアップファイルに設定します:

  • /etc/profile:

    LANG=ru_RU.KOI8-R; export LANG
    MM_CHARSET=KOI8-R; export MM_CHARSET
    
  • /etc/csh.login:

    setenv LANG ru_RU.KOI8-R
    setenv MM_CHARSET KOI8-R
    

もう一つの方法は, これらを以下のファイルに 設定することです.

  • /usr/share/skel/dot.profile:

    (上の /etc/profile と同様にします);

  • /usr/share/skel/dot.login:

    (上の /etc/csh.login と同様にします).

プリンターのセットアップ

ロシア語の文字を内蔵したプリンターのほとんどは CP866 というハードウェアコードページを塔載しているため, KOI8-R → CP866 の変換用に特別な出力フィルターが必要となります. そのようなフィルターは, /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:

/etc/printcap ファイルの詳細については printcap(5) を参照して下さい.

MSDOS ファイルシステムとロシア語のファイル名

MSDOS ファイルシステムにおいてロシア語のファイル名を サポートするには, 次の fstab(5) エントリーの例を参考にしてください.

/dev/sd0s1        /dos/c   msdos   rw,-W=koi2dos,-L=ru_RU.KOI8-R 0 0

-W -L というオプションに関する詳細は mount.msdos(8) をご覧ください.

X Window System のセットアップ

以下の順序で設定します:

  1. まず最初に X 以外の locale のセットアップ の通りに行います.

    Note: ロシア語の KOI8-R locale は XFree86 の古いリリース (3.3 より前) では動かないかもしれません. /usr/ports/x11/XFree86 の XFree86 の port には XFree86 の最近のほとんどの バージョンが入っています. したがってこの port から XFree86 をインストール したのならきちんと動くでしょう. 最新の FreeBSD ディストリビューションに付属する XFree86 のバージョンも動くはず です (XFree86 のバージョンが 3.3 より前でないことを確認して下さい).

  2. /usr/ports/russian/X.language ディレクトリに行き, ここで

    # make all install
    
    とします. このポートは最新バージョンの KOI8-R フォントをインストールします. XFree86 3.3 には既にいくつかの KOI8-R フォントが含まれていますが, こちらの フォントのほうがより釣り合いがとれています.

    /etc/XF86Config"Files" セクションに以下の行が 他のどんな FontPath エントリよりも前にあることを確認します:

    FontPath   "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
    FontPath   "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
    FontPath   "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"
    

    高解像度のビデオモードを使っている場合は, 75 dpi と 100 dpi の行を入れ替えます.

  3. ロシア語キーボードを有効にするには

    XkbKeymap   "xfree86(ru)"
    
    /etc/XF86Config"Keyboard" セクションに追加します, また XkbDisable が無効に (コメントアウト) されていることをここで 確認します.

    RUS/LAT スイッチは CapsLockに割り当てられます. 元の CapsLock の機能は Shift+CapsLock で使えます (LAT モード内でのみ).

    Note: ロシア語 XKB キーボードは XFree86 の古いバージョンでは動かないかもしれません, 詳しくは locale note を参照してください. ロシア語 XKB キーボードはローカル化されていないアプリケーション でも動かない かもしれません, 最低限のローカル化されたアプリケーションでは そのプログラムの 初期に XtSetLanguageProc(NULL, NULL, NULL); 関数を呼ばなければ なりません.