共通デスクトップ環境 プログラマーズ・ガイド (国際化対応編)

ローカライズされたテキストの抽出

アプリケーションをローカライズする方法はいくつかありますが、一般的な規則では、言語依存情報はアプリケーションの外側に置き、ロケール名で識別される別のディレクトリに格納します。

この節では、アプリケーションの言語環境を確立するために、ユーザとアプリケーション開発者と処理系の組み合わせ方を説明します。アプリケーションをローカライズするための 2 つの一般的なアプローチについても説明します。次の 3 つの方法があります。

リソース・ファイル

リソース・ファイルは、アプリケーションに関するあらゆる種類の情報をカスタマイズするための GUI ツールキット機構です。イントリンシクス・ライブラリ (libXt) が、コマンド行オプション、アプリケーション定義のリソース、ユーザ定義のリソースをマージするための高性能な機構を提供します。リソース・ファイルは、ローカライズされたテキストの抽出にも使用できます。リソース・ファイルとメッセージ・カタログの違いは、リソース・データベースは読み込まれるたびに毎回コンパイルされることです。したがって、どの文字列をリソース・ファイルに置き、どの文字列をメッセージ・カタログに置くかは注意して決定してください。

また、Xm ライブラリ関数は、ローカライズされたリソースが読み込まれる位置を指定するときに、LC_MESSAGES カテゴリには依存しないので注意してください。詳細は、XtSetLanguageProc() のマニュアル・ページを参照してください。

メッセージ・カタログ

メッセージ・カタログは、ローカライズされたテキストを含む外部データベースにアクセスするための、伝統的なオペレーティング・システムの機構です。これらの関数は、あらかじめコンパイルされてアクセスの準備ができているカタログ・ファイルを読み込みます。またこれらは、カタログが見つからない場合のために、実際のプログラム内にデフォルトのメッセージを用意しています。

メッセージ機能のサポートは XPG4 と System V Release 4 (SVR4) の両方のメッセージ・カタログへのアクセスのインタフェースに基づいています。

プライベート・ファイル

ローカリゼーション・テキストだけでなく、カスタマイズされた総称的なデータベースを提供するために、アプリケーションはプライベート・データベースを使用できます。このようなデータベースは、通常はテキストを格納します。データベースが多数のファイルに広がるようであれば、ローカライズされたテキストの実行時の間接アクセスが提供されます。このアクセスがないと、ローカリゼーションは普通のユーザにとっては難しくなります。一般的に、このようなプライベート・ファイル形式はローカリゼーションを行うグループに反対されます。しかし、テキストのみのローカリゼーション専用のツールが提供されれば問題は少なくなります。