# ローカライズされたデスクトップ・セッションの構成National Language Support国際化対応

ローカライズされたデスクトップ・セッションを構成するには、次の作業が必要です。

- LANG 環境変数とその他の NLS (National Language Support) 環境変数を設定する

- 言語に依存するメッセージ・カタログおよびリソース・ファイルにアクセスする

- 国際化対応システムを介してアプリケーションをリモートで実行する

  SAG.I18N.div.2
  SAG.I18N.div.9
  SAG.I18N.div.10
  SAG.I18N.div.11
  SAG.I18N.div.12
  SAG.I18N.div.15
  SAG.I18N.div.16
  SAG.I18N.div.17
  SAG.I18N.div.18

## LANG 環境変数の管理

オペレーティング・システムの言語依存ルーチンを使用するには LANG 環境変数がデスクトップに設定されなければなりません。デスクトップは次の言語をサポートします。

- 西欧、ラテン系言語

- 日本語

- 繁体字（中国語）

- 繁体字（中国語）

- 韓国語

デスクトップ・ベンダによっては、その他の言語のサポートが追加されている場合もあります。

LANG は、オペレーティング・システムでサポートされているどの値にも設定できます。ログイン画面の[オプション]メニューに、サポートされている言語と地域のリストが表示されます。

デスクトップに LANG を設定するには、次の４つの方法があります。

- `Xconfig` ファイルのリソースを編集する

- ログイン画面の[オプション]メニューを使用する

- 実行可能な `sh` または `ksh` `Xsession.d` スクリプトを作成する（Xsession.d スクリプトの使用方法については、 SAG.SesMg.mkr.5 を参照してください）。

- `.dtprofile` ファイルを編集する

LANG が設定されていると、デスクトップはローカライズされたインタフェースを決定するために、次の言語依存ファイルを使用します。

カラー | `/usr/dt/palettes/desc`.language
`背景` | `/usr/dt/backdrops/desc`.language

### 複数のユーザの言語を設定する

`Xconfig` ファイルを使用して言語を設定する場合、ログイン画面がローカライズされ、すべてのユーザに対して LANG が設定されます。これは、マルチディスプレイ・システムですべてのディスプレイの LANG を変更する唯一の方法です。（`Xconfig` を変更するには、`/usr/dt/config/Xconfig` を `/etc/dt/config/Xconfig` にコピーします。）

言語は、次の行を `/etc/dt/config/Xconfig` に配置することで設定されます。

    dtlogin.host_display.language: language

たとえば、次の行はディスプレイ `my_host:0` の LANG を `Swedish_locale` に設定します。

    dtlogin.my_host_0.language: Swedish_locale

`dtlogin` クライアントは、その言語の適切なメッセージ・カタログを読み込み、ローカライズされたログイン画面に表示します。次に `dtlogin` クライアントは、`/etc/dt/config/Xresources` リソース・ファイルの次のリソースを使用して、ロケールのリストを判定します。

- `dtlogin*language`

- `dtlogin*languageList`

- `dtlogin*languageName`

`Xconfig` ファイルは、選択した言語のために NLSPATH 環境変数を適切に設定する必要がある場合があります。その必要がない場合、または NLSPATH 環境変数を自分で設定したい場合は、 SAG.I18N.div.8 を参照してください。

### ひとつのセッションに言語を設定する

ひとつのセッションに言語を設定するには、ログイン画面の[オプション]メニューを使用します。ログイン画面はローカライズされ、LANG はユーザ用に設定されます。LANG はセッションの完了時に（`dtlogin`) に設定されている）デフォルト値に戻ります。

### 一人のユーザの言語を設定する

ログインの LANG 設定を HomeDirectory`/.dtprofile` ファイルの中で無効にすることができます。ログイン画面はローカライズされず、LANG はユーザ用に設定されます。

- `sh` または `ksh` を使用する場合

      LANG=language
      export LANG

- `csh` を使用する場合

      setenv LANG language

### LANG 環境変数とセッション構成

LANG 環境変数は、セッション構成ファイルを検索する際に使用するディレクトリ名を変更します。

ローカライズされたセッション構成ファイルは次のとおりです。

- `/usr/dt/config/`language`/Xresources` (ログイン・マネージャのリソース・ファイル)

- `/usr/dt/config/`language`/sys.font` (セッション・マネージャのリソース・ファイル)

- `/usr/dt/config/`language`/sys.resources` (セッション・マネージャのリソース・ファイル)

- `/usr/dt/config/`language`/sys.session` (セッション・マネージャのリソース・ファイル)

- `/usr/dt/config/`language`/sys.dtwmrc` (ウィンドウ・マネージャのリソース・ファイル)

- `/usr/dt/appconfig/types/`language`/dtwm.fp` (ウィンドウ・マネージャ・フロントパネル)

### その他の NLS 環境変数の設定

LANG の他に、LC_CTYPE や LC_ALL などの NLS 環境変数があります。これらの変数は、 `dtlogin` 言語リソースやログイン画面の[オプション]メニューの影響を受けません。これらの変数は、次のファイルに設定しなければなりません。

- システム共通変数: `/etc/dt/config/Xsession.d`

- 個人用変数: HomeDirectory`/.dtprofile`

#### NLSPATH 環境変数

NLSPATH 環境変数は、アプリケーションがメッセージ・カタログの検索に使用するディレクトリ・パスを決定します。LANG と NLSPATH の両方でこれらのメッセージ・カタログを使用するように設定しなければなりません。ローカライズされたメッセージの位置については、 SAG.I18N.div.16 を参照してください。 ほとんどのデスクトップ・クライアントは、起動時にパスを NLSPATH の先頭に付けます。

## フォントの検索

デスクトップに含まれるフォントは `/usr/lib/X11/fonts` ディレクトリにあります。
各ディレクトリには、ディレクトリ・ファイル `fonts.dir` と別名ファイル `fonts.alias` があります。`fonts.dir` ファイルと `fonts.alias` ファイルの作成については、`mkfontdir` のマニュアル・ページを参照してください。

サーバで使用できるすべてのフォントをリストするには、`xlsfonts` コマンドを使用します。
サーバにフォントを追加または削除するには、`xset` コマンドを使用します。

## ユーザ定義文字の管理

### 概要

中国、韓国、および日本のような東アジア地域では、中国語の文字(中国ではHanzi(漢字) 、 韓国ではHanja(漢字)、および日本ではKanji(漢字)と呼ばれます)が、広く使われてい ます。中国語の文字の数は、たいへん多い(最も多い日本語の漢字辞書では、50,000字以 上)ため、中国語の文字用にコード化された標準の文字セット(JIS X 0208、KS C 5601、 および GB 2312など)では、使用頻度の高い文字のみ定義されています。

通常の文書作成では、標準の文字セットで十分です。しかし、ときとして、非標準文字の 使用を必要とする場合があります。たとえば、日本の住民登録では、氏名と地名は、以前の手書き登録で使っていた文字と正確に同じ文字で書かなければなりません。別の例では 、道教や儒教などの古代の文書の出版があります。これらの文書では、現在使われていな い標準文字セットに定義されていない多くの文字を含んでいます。そのような非標準の文字を「ユーザ定義文字」と呼びます。

#### UDCの定義方法

ユーザ定義文字(UDCs)は「空」コードの位置(コードセットの中で割当られる文字のない 位置)かプライベート・ユーザ領域(コードセットで定義されている場合)のどちらかを使 用します。ほとんどの場合には、システムのベンダは、UDCsで使用可能なひとつ以上の連 続したコードの位置のかたまりからなるUDC領域を提供します。

UDCを生成するための基本的な手順は、次のとおりです。

1. 定義する文字に、UDC領域のコード位置を割当てます。

2. UDCフォント・エディタ`dtudcfonted`を使用して文字のグリフ・イメ ージ(または複数フォント・サイズを定義するためにグリフ・イメージのセット)を生成 します。

いったんUDCが生成されると、UDCデータ交換ユーティリティを使用することによって他の システムに、広めることができます。 データ交換の一元性のため、UDCの定義は、ひとつの構成の中では、統一してください。

UDCsを生成する前に、次のことを決定しなければなりません。

- UDCsで使用するコードセットおよびそのセットの中の使用可能なコードの位置を決めます。UDCsを生成するためには、ユーザは、使用するコードの位置を知っていなければなりません。

  Ｘプロトコルのもとでテキスト・データを交換する場合は、コンパウンド・テキストを使 用します。コンパウンド・テキストでは、UDCsを転送するために拡張セグメントを使用で きます。UDCの転送用に拡張セグメントを使用する場合は、UDCsのエンコード名とセグメ ント内でのコードの位置またはグリフ・インデックスの転送方法を定義しなければなりま せん。

- フォント・ファイルの構成方法と、UDCs用のグリフ・インデックスを決めます。 UDCsは、空のグリフ・インデックスのある標準のフォント・ファイル、またはUDCs固有の 独立したフォント・ファイルに格納することができます。独立したファイルを使用する場 合は、システムは、UDC用の空のフォント・ファイルで使用しなければなりません。現在 のUDCを編集する場合は、UDC用のフォント名とグリフ・インデックスを指定しなければな りません。つまり、コード位置とグリフ・インデックスの関係をユーザが知っていなけれ ばなりません。

#### フォント・ファイル

UDCsの表示および印刷のためには、フォント・ファイルとしてデータベースに格納されな ければなりません。UDCのグリフは、他の文字のグリフ同様 Xウィンドウ・システムに使 用されているフォント・ファイルに格納されます。フォント・ファイルのフォーマットは 、PCF(Portable Compiled Format)とSNF (Server Natural Format)があり、Ｘサーバでア クセスできます。UDCフォント・エディタもそれらのフォーマットでフォント・ファイルにアクセスできます。

Ｘサーバは、UDCを表示する場合、関連するフォント・ファイルのUDCを参照します。同様に、UDCを印刷する場合、プリンタ・スプーラは、フォント・ファイルのUDCを参照します。

フォント・ファイルは、Ｘウィンドウ・システムで使用できるように設定されなければな りません。言い替えれば、フォント・ファイルは、Ｘサーバのフォント・パスで定義され ているディレクトリに配置され、管理ファイル(fonts.dirなど)も、それらのディレクトリに配置されなければなりません。UDCフォント・エ ディタは、フォント・ファイルをインストールしません。また、システムのfonts.dirなどのリソースの変更もしません。

UDCフォント・エディタは、当該ロケールで使用可能でかつ X NLSデータベースで定義されているUDCフォント・ファイルのみ使うことができます。X NLSデータベースは、ロケール毎に、使用されるコードセットとフォントセットを定義するデータベースです。UDCフ ォント・エディタは、さまざまのポイント・サイズとスタイルでUDCフォントを作成します。新しい編集可能なフォントを追加するためには、コードセット名とX NLSデータベー スのUDC領域を指定しなければなりません。

UDCフォント・エディタとUDCデータ交換ユーティリティがフォント・ファイルを検索する 場合には、最初に、`DTUDCFONTPATH`環境 変数(コロンで区切られたUDCフォント・ファイルを含むディレクトリのリストです。)を 検索し、次に`/usr/dt/config/$LANG/fonts.list`ファイルに指定さ れたディレクトリを検索します。ロケール毎のフォントの検索ディレクトリを設定するた めに、`fonts.list` fileに指定します。(最後のコロンを忘れてはいけません。) 例:

    #
    # fonts.list file example
    #
      /usr/lib/X11/fonts/misc:
      /usr/dt/config/xfonts/ja:

### UDCフォント・エディタ

ユーザは、UDCフォント・エディタ(`dtudcfonted`)を使用してUDCsを生成、編集および削除することができます。

UDCフォント・エディタの使い方の詳細については、マニュアルの`dtudcfonted`のページを参照してください。

UDCフォント・エディタを起動すると、`フォント選択`ウィンドウが現 われます。

UDCフォント・ファイルは、 XLFD(X Logical Font Description)名で指定します。XLFDは 、クライアントとアプリケーションで使用されるユニークでわかりやすいフォント名です 。スタイルとキャラクタセット名のようなさまざまのフォント属性は、XLFDに含まれます 。便宜上、フォント・ファイルのスタイル、サイズ、およびUDCコード領域を選択するこ とができます。UDCコード領域には、X NLSデータベースの指定と同じコードセットの数およびコードセットで使用可能なUDCのグリフ・インデックスの範囲があります。

使用可能なUDCフォント・ファイルを一覧表示するには、選択項目フィールドで必要なフ ォントのコードセット、スタイル、および文字サイズの定義を選択します。 フォントを指定して、次に、`[開く]`ボタンを選択して、`文 字編集`ウィンドウを表示します。

#### 文字の生成および編集

文字パターンは、`文字編集`ウィンドウで、生成または編集されます。

文字リストから、編集される文字のコードを選択してください。関連する文字パターンを 編集区画に、表示します。文字コードが、UDC領域に登録されていない場合は、何も表 示されません。

文字コードが登録されていない場合は、`文字コントロール`ウィンド ウ上でコードを追加し、`文字コピー`ウィンドウ上でパターンをコピ ーします。文字コードへの追加方法の詳細については、「文字コードの追加および削除」 を参照してください。文字パターンへのコピー方法の詳細については、「文字パターンの コピー」を参照してください。

描画ツールと`[編集]`メニュー・オプションのセットが、文字パター ンの生成および編集のオペレーションの完全なセットとして提供されています。

#### 文字コードの追加および削除

文字コードは、`[文字]`メニューから`[追加/削除]`を選択して表示する`文字コントロール`ウィンドウ上で追加および削 除されます。

文字コードを追加するには、ユーザ定義文字領域内の4つの16進数字を指定して`[追加]`ボタンをクリックしてください。範囲内の最初と最後の文字のコードを 指定することにより、範囲指定で文字を追加することができます。新しい文字コードは、 `文字編集`ウィンドウで編集中の文字のリストに追加されます。編集 される文字は、追加される文字コード(または、追加される文字コード・フィールド)の最 初の文字です。登録済みの場合は、指定された文字コードの文字パターンは、変更されま せん。

文字コードを削除するには、ユーザ定義文字領域内の4つの16進数字を指定して`[削除]`ボタンをクリックしてください。範囲内の最初と最後の文字のコードを 指定することにより範囲指定で文字を削除することができます。ユーティリティは、削除 文字毎に、ユーザに確認をもとめます。

文字コードを削除すると、`文字編集`ウィンドウで編集中の文字のリ ストから削除します。削除される文字コードに続く文字コードが、当該編集可能な文字コ ードになります。

#### グラフで文字コードを入力するには

グラフで文字コードを入力するには、`文字コントロール`ウィンドウ で`[コード]`ボタンをクリックしてください。`文字コード入 力`ウィンドウが現われます。このウィンドウで、必要な文字をクリックし、次 に、`文字コントロール`ウィンドウのコード入力フィールドに選択し た文字のコードを挿入するために、`[適用]`をクリックしてください 。

#### 文字パターンをコピーするには

既に登録または生成済みの文字パターンをコピーするには、`[文字]` メニューから、`[コピー]`を選択してください。`文字コピー` ウィンドウが現われます。コピーすると、編集ウィンドウの文字リストに、コ ピー先に対して指定された文字コードを追加します。

文字のパターンをコピーするには、文字のサイズを選択し、4つの16進数字コードを指定 してください。(ユーザは、範囲の最初と最後のコードを指定することによって範囲をコ ピーすることもできます。)それから、宛先の文字用に4つの16進数字コードを指定して、 `[コピー]`ボタンをクリックしてください。

ユーザは、ソースの文字パターンのドットと宛先の文字パターンのドットとOR(論理和)を とって組み合わせコピーを実行することもできます。

### UDCデータ交換ユーティリティ

UDCデータ交換ユーティリティ(`dtudcexch`)は、システム間でUDCのグ リフ・イメージを交換するツールです。

`dtudcexch`は、異ったシステム間でUDCのグリフ・イメージを配布す るための機構を提供します。特に、UDCフォント・エディタ(`dtudcfonted`)を使用中のシステムで、UDCのグリフ・イメージを生成し、他のシステムに配布する ことを可能にします。`dtudcexch` は、BDF(Bitmap DistributionForm at)ファイルにUDCのグリフ・イメージを格納し、ターゲット・システムへ移します。ター ゲット・システムで、`dtudcexch`が再度実行され、BDFファイルから イメージを引き出して適切なフォント・ファイルに追加します。

`dtudcexch`は、エクスポートとインポートの両方の機能を提供します。エクスポート機能は、フォント・ファイルから選択されたUDCのグリフ・イメージを読み出し、他のシステムに移すためにBDFファイルに格納します。インポート機能は、BDFファイルのすべてのUDCのグリフ・イメージを読み出し、指定されたフォント・ファイルに追加します。

エクスポートでは、`dtudcexch`は、UDCのグリフ・イメージを選択す るために、PCF/SNFフォント・ファイルにあるUDCコード領域のグリフ・インデックスを使 用します。変換されたイメージを同じグリフ・インデックスにしたがって、BDFフォーマ ット・ファイルに格納します。インポートでは、`dtudcexch`は、BDF ファイルで見つけられる同じグリフ・インデックスにしたがって、PCF/SNFフォント・フ ァイルにUDCのグリフ・イメージを追加します。UDCコード領域の情報は、X NLSデータベ ースで定義されます。

ターゲット・システム上でイメージ用のさまざまのグリフ・インデックスを生成するため、インポート機能を呼び出す前に、BDFファイルを編集することができます。

UDC交換ユーティリティの詳細については、マニュアルの`dtudcexch` のページを参照してください。

## ローカライズされた app-defaults リソース・ファイル

デスクトップ・クライアント用の `app-defaults` ファイルのデフォルト位置は `/usr/dt/app-defaults/`language です。たとえば、LANG が `Swedish_locale` に設定されている場合、アプリケーションは `app-defaults` ファイルを `/usr/dt/app-defaults/Swedish_locale` で検索します。LANG が設定されていない場合、language は無視され、アプリケーションは `app-defaults` ファイルを `/usr/app-defaults/C` で検索します。

`app-defaults` の位置を変更するには、XFILESEARCHPATH 環境変数を使用します。たとえば、`app-defaults` を `/users` に移動するには、XFILESEARCHPATH を `/usr/app-defaults/`language`/`classname に設定します。

XFILESEARCHPATH を HomeDirectory`/.dtprofile` に設定した場合、その値は実行するすべてのデスクトップおよびＸクライアントに適用されます。非クライアントは、XFILESEARCHPATH によって指定されるディレクトリにリンクするかコピーしない限り、リソース・ファイルを見つけることはできません。

## アクションおよびデータ型のローカライズ

`/usr/dt/appconfig` ディレクトリ内のファイルをカスタマイズする場合は、カスタマイズする前にファイルを `/etc/dt/appconfig` ディレクトリにコピーしてください。

アクションおよびデータ型定義ファイルの検索パスには、言語に依存するディレクトリが含まれます。

- 個人用: HomeDirectory`/dt/types`

- システム共通: `/etc/dt/appconfig/types/`language

- 組み込み: `/usr/dt/appconfig/types/`language

アプリケーション・マネージャの構成ファイルの検索パスは次のとおりです。

- 個人用: Ho meDirectory`/dt/appmanager`

- システム共通: `/etc/dt/appconfig/appmanager/`language

- 組み込み: `/usr/dt/appconfig/appmanager/`language

このディレクトリのファイル名およびディレクトリ名はローカライズされています。

## アイコンおよびビットマップのローカライズ

アイコンをローカライズするには、アイコン・エディタでアイコンを編集し、次のディレクトリに保存します。

    /etc/dt/appconfig/icons/language

アイコンを別のディレクトリに保存する場合は、アイコンを保存したディレクトリを XMICONSEARCHPATH 環境変数に指定します。XMICONBMSEARCHPATH 環境変数は、アイコンの検索に使用するパスを制御します。

## 背景名のローカライズ

背景のローカライズは、記述ファイル (`desc`.language と `desc.backdrops`) を使用して行われます。背景ファイルには、特定のローカライズされたディレクトリ (`/usr/dt/backdrops/`language など) は存在しません。すべてのロケールは同じ背景ファイルのセットを使用しますが、翻訳された背景名を格納しているロケール独自の `desc.`language ファイルをもっています。

記述ファイルには、翻訳された背景名のリソース指定されています。次に例を示します。

    Backdrops*Corduroy.desc:    Velours
    Backdrops*DarkPaper.desc:   PapierKraft
    Backdrops*Foreground.desc:  AvantPlan

`desc.`language ファイルは、スタイル・マネージャに背景を表示するために、ロケール language の背景の記述を取り出すのに使用します。記述の指定がある場合は、スタイル・マネージャの背景リストに表示されます。指定がない場合は、背景ファイル名を使用します。

独自の背景記述を HomeDirectory`/.dt/backdrops/desc.backdrops` ファイルに追加できます。このファイルは、ロケールに関係なくユーザによって追加されたすべての背景の背景記述を取り出すのに使用します。

`description` ファイルの検索パスは次のとおりです。

- 個人用: HomeDirectory`/.dt/backdrops/desc.backdrops`

- システム共通: `/etc/dt/backdrops/desc.`language

- 組み込み: `/usr/dt/backdrops/desc.`language

## パレット名のローカライズ

パレットのローカライズは、記述ファイル (`desc`.language と `desc.palettes`) を使用して行われます。特定のローカライズされたディレクトリ (`/usr/dt/palettes/`language など) は存在しません。すべてのロケールは同じパレット・ファイルのセットを使用しますが、翻訳されたパレット名を格納している独自の `desc.palettes` ファイルをもっています。

記述ファイルには、翻訳されたパレット名のリソースが指定されています。次に例を示します。

    Palettes*Cardamon.desc:    Cardamone
    Palettes*Cinnamon.desc:    Cannelle
    Palettes*Clove.desc:       Brun

`desc.`language ファイルは、スタイル・マネージャ・リストにパレットを表示するために、ロケール language のパレットの記述を取り出すのに使用します。記述の指定がある場合は、スタイル・マネージャのパレット・リストに表示します。指定がない場合は、パレット・ファイル名を使用します。

独自のパレット記述を HomeDirectory`/.dt/palettes/desc.palettes` ファイルに追加できます。このファイルは、ロケールに関係なくユーザによって追加されたすべてのパレットのパレット記述を取り出すのに使用します。

記述ファイルの検索パスは次のとおりです。

- 個人用: HomeDirectory`/.dt/palettes/desc.palettes`

- システム共通: `/etc/dt/palettes/desc.`language

- 組み込み: `/usr/dt/palettes/desc.`language

## インフォメーション・ライブラリのローカライズ

インフォメーション・ライブラリには、ひとつ以上のブックケースがあります。各 ブックケースには、インフォメーション・マネージャでブラウズ、および検索可能なひと つ以上のブックがあります。この階層では、インフォメーション・ライブラリにのみ、関 連しているデスクトップ・アクションがあります。デスクトップ・エンティティと同じよ うに、インフォメーション・マネージャ・コントロール上でドラッグ＆ドロップすること によって、インフォメーション・ライブラリを開くことができます。インフォメーション ・ライブラリを開く場合、インフォメーション・マネージャは、ブックリストウィンドウ を表示し、インフォメーション・ライブラリにあるすべてのブックケースを表示します。

インフォメーション・ライブラリへのデフォルト・パスは、`DTINFOLIBPATH`環境変数によって設定されます。(標準のCDEデスクト ップ・パスは、`/usr/dt/dtinfo/cde.dti`です。) インフォメーシ ョン・ライブラリの最初のディレクトリのレベルで見つけられるname`.oli`ファイルには、インフォメーション・ライブ ラリ用の省略形の名前があります。インフォメーション・ライブラリのローカライズは、 最初のディレクトリレベルの下のサブディレクトリで見つけることができ、NLSのマスク %L(または、%l _%t.%c)に応じ て命名されます。インフォメーション・マネージャのブックリストウィンドウでは、イン フォメーション・ライブラリの各ブックケースは、ブックケースのサブディレクトリで見 つけられる`bookcase.map`ファイルに格納されているローカライズ された文字列またはタイトルで表されます。

## ヘルプ・ボリュームのローカライズ

ローカライズされたヘルプ・ボリュームがある場合は、それを次のいずれかのディレクトリに格納しなければなりません。最初に見つけたヘルプ・ボリュームを使用します。ディレクトリは次の順に検索されます。

- 個人用: HomeDirectory`/.dt/help`

- システム共通: `/etc/dt/appconfig/help/`language

- 組み込み: /usr/dt/appconfig/help/language

## メッセージ・カタログのローカライズ

メッセージ・カタログをローカライズした場合は、次のディレクトリに格納します。

`/usr/dt/lib/nls/msg/`language.

このディレクトリに `*.cat` ファイルを格納します。

## ローカライズされたデスクトップ・アプリケーションのリモート実行

ローカライズされたデスクトップ・アプリケーションは、同じようにローカライズされたデスクトップ・インストールがあれば、どのリモート実行ホストでも起動できます。アプリケーションを起動しているホストの NLS 関連の環境変数の値は、アプリケーションの起動時にリモート・ホストに渡されます。しかし、環境変数にはホスト情報は含まれません。

## キーボード・マップのリセット

予期しない文字および動作に遭遇した場合、または文字の表示や入力ができない場合は、キーボード・マップをリセットしてインストールするか、または入力メソッドを変更する必要がある場合があります。

入力メソッドは LC_CTYPE、LANG、または LC_ALL 環境変数か、`-lang` オプションで指定された言語によって決定されます。

たとえば、POSIX シェル内で C ロケールで端末を開きたい場合、次のように指定します。

    LANG=C dtterm

この新しい端末は、C の入力メソッドおよびフォントを含む C ロケールを使用します。言語固有のキーボードを使用している場合は、入力メソッドは拡張文字の入力を受け付けないことがあります。言語固有のキーボードで C ロケールを使用する場合、端末を起動する前に、LC_CTYPE、LANG、LC_ALL のうちいずれかの環境変数を適切な値に設定する必要があります。

たとえば、ドイツ語のキーボードで C ロケールを使用するには、次のように入力します。

    LANG=C LC_CTYPE=DeDE dtterm

Ｘサーバがリセットされてキーマップが初期化されている場合は、`xmodmap` コマンドを使用してサーバで適切なキーボード・マップをリセットできます。

## 入力メソッド・サーバの選択

アジアのユーザは、セッション起動時か、またはセッション内の任意時に(スタイルマネ ージャの国際化コントロールを使って)、使用する入力メソッド・サーバ(IMS)を選択する ことができます。`LANG`がアジアの言語( 日本語、韓国語、中国語(繁体字)、または中国語(簡体字))に設定されている場合のみIMSを選択することができます。

IMSを一度選択すると、ユーザはIMS選択モードの設定ができます。IMS選択モードでは、 次回のログイン時にIMS用にプロンプトするか、自動的に現在選択されているIMSを使用するかどちらかを決定します。

IMS選択およびIMS選択モードは、次のファイルに格納されます。

    $HOME/.dt/ims/[display_name/]CDE_locale_name

IMS選択ファイルのフォーマットは、次のとおりです。

    @SelectMode:    0 (Ask at login), or
                    1 (Resume current input method)
    @ImsName:       ims_name
    @HostName:      host_name

### セッション起動時に選択

セッションを起動する前にIMSを選択可能にするには、 `DTSTARTIMS`環境変数に`TRUE`を設定してください。 `DTSTARTIMS`に、`TRUE`を設定すると、セッション・マネージャは`/usr/dt/ config/Xsession.d/0020.dtims`スクリプトを実行します。 このスクリプトは、`LANG`をチェックしま す。`LANG`がアジアの言語に設定されてい る場合、スクリプトが`dtimsstart`プログラムを呼び出します。`dtimsstart`は、使用するIMSを選択可能とする入力メソッド選択ダイアロ グを表示します。ユーザは、ローカル・ホストかリモートホストのどちらかで実行中のIM Sを選択することができます。

選択モードを設定するには、ユーザは、スタイル・マネージャのI18Nコントロール(以下 に説明あり)を使用するかまたはアプリケーション・マネージャの`デスクトップ ・ツール(Desktop_Tools)`の`DtImsMode`アクションを実行 する`DtActionInvoke`を使用することができます。`DtImsMode`アクションは、`[ログイン時に決定]`かまたは`[現在の入力メソッド回復]`のどちらかを選択するためのダイアログを表示します。

選択されたIMSとホストの名前および選択モードは、IMS選択ファイルに記録されます。

### セッション内で選択

セッション内の任意の時点で、ユーザはスタイル・マネージャのI18Nコントロールをクリ ックしてどのIMSを使用するかを選択することができます。(このコントロールは、`LANG`がアジアの言語に設定されている場合のみ 表示されます。)入力メソッドの選択ダイアログが表示されます。当該IMSがある場合は、 実行中のサーバ・ホストと同様、名前がダイアログに表示されます。ユーザは、ローカル ・ホストかまたはリモート・ホストのどちらかで実行中のIMSを選択することができます 。

IMSを見つけられるホストを定義するために、`imServerHosts`アプリ ケーション・リソースを構成することができます。スタイル・マネージャは、このリソー スをIMSの選択のために表示するホストを表すリソースとして使用します。コンマで区切 られたホスト名のリストが入っています。

IMSの選択に加えて、ユーザは`[ログイン時に決定]`か`[現在 の入力メソッド回復]`かどちらかの選択モードを設定することができます。

選択されたIMSおよびホストの名前と選択モードは、IMS選択ファイルに記録されます。

### IMS構成ファイルを設定する

IMS選択ファイル(上記に説明あり)に加えて、IMS構成は、次のように定義されます。

- ローカル・エントリ・ファイル

- IMSのエントリ・ファイル

#### ローカル・エントリ・ファイル

ローカル・エントリ・ファイルは、指定のロケールをサポートしているIMSをリストしま す。それは、`/usr/dt/config/ims/`loca le_nameの位置にあり、フォーマットは、次のとおりです。

    @Default: ims_name
    ims_name: label_string
    …

`ja_JP.SJIS`ロケールのIMSのリストの例を次に示します。

    @Default: xjim
    xjim:     HP XJIM
    atok8:    ATOK8
    vje:      VJE-gamma
    egbridge: EGBridge
    none:     No Input Method

#### IMSのエントリ・ファイル

IMSのエントリ・ファイルは、IMSの属性を記述します。 それは、`/usr/dt/config/ims/`ims_ nameの位置にあり、フォーマトは、次のとおりです。

    attribute_name: attribute_value

attribute_nameには、次のものがあります。 where attribute_name is:

`プロトコル`

- サポートしているXIMプロトコルを示す文字列属性です。有効なプロトコルは、XIM、Ximp 、および Xsiです。 この属性は、必須です。

`server_name`

- IMSが実行するサーバを示す文字列属性です。XMODIFIERSで使用されます。この属性は必須です。

`cmd_path`

- IMSの実行ファイルの絶対パスを指定するパスの属性です。別のプロセスを必要としないX libに組み込まれているローカルなIM用に使用される組み込みのキーワードです。この属 性は必須です。

`cmd_param`

- IMSサーバに対するコマンド行のオプションを提供する文字列属性です。デフォルトは、 NULLです。

`env_set`

- XMODIFIERSを以外の環境変数を指定する文字列属性です。デフォルトは、NULLです。

`env_unset`

- XMODIFIERS以外の環境変数の設定を解除する文字列属性です。デフォルトは、NULLです。

`env_pass`

- リモートで実行するIMSに渡されるLANG、DISPLAY、およびXMODIFIERS以外の環境変数を指 定する文字列属性です。デフォルトは、NULLです。

`has_window`

- IMSのメイン・ウィンドウ表示をするか否かを示すブール属性です。デフォルトは、False です。

`no_server`

- `dtimsstart`のIMSを起動する必要性の有無を示すブール属性です。ロ ーカルなIMには、Trueを設定する必要があります。ローカルなIMは、`dtimsstar t`でサーバ・プロセスを起動する必要がありません。デフォルトは、Falseです 。

`no_remote`

- IMSがリモートで実行できるか否かを示すブール属性です。デフォルトは、Falseです。

`no_option`

- IMSがコマンド行オプションを認めるか否かを示すブール属性です。Trueの場合は、`-imsopt`で指定される任意のオプションは無視されます。しかし、この値 に関わらず`cmd_param`属性の値は、常に適用されます。ローカルなIM には、Trueを設定する必要があります。デフォルトは、Falseです。

複数の値が指定可能な場合は、空白で区切って指定するように注意してください。ファイル内に同じ属性名のエントリが、複数現われる場合には、最後の属性が使用されます。

IMSのエントリ・ファイル`/usr/dt/config/ims/`xjimの例を次に示します。

    protocols:   XIM Ximp
    server_name: xjim
    cmd_path:    /usr/bin/X11/xjim
    cmd_param:   -iconic
    env_set:
    env_unset:
    env_pass:
    has_window:  true

## 入力メソッドのスタイルを設定する

ユーザは、スタイル・マネージャのI18Nコントロールにより、前編集を行なう入力メソッ ドのスタイルを設定することができます。使用する前編集のスタイルの順番が、`VendorShell`の`XmNpreeditType`リソースに格納されます 。`XmNpreeditType`は、コンマで区切って、前編集のスタイルの優先 順位を記録します。 例:

    OnTheSpot,OverTheSpot,OffTheSpot,Root

I18Nコントロールで表示されるダイアログの`[上に移動]`ボタンと、`[下に移動]`ボタンを使用することにより、リスト内の前編集のスタイ ルの順番を変更することができます。