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

国際化対応の概要

1 つの共通オープン・システムには、異なる国語をサポートする複数の環境が存在することがあります。そのような 1 つ 1 つの国の環境はロケールと呼ばれ、言語、文字、フォント、データの入力や書式化の慣習を考慮します。共通デスクトップ環境は、どのアプリケーションでもシステム上にインストールされているすべてのロケールを使用して実行できるように、完全な国際化対応になっています。

ロケールは、プログラムの実行時の動作を、ユーザの地域の言語および慣習に応じて定義します。システム全体を通じて、ロケールは次のことに影響します。

国際化対応アプリケーションには、ユーザのロケール、そのロケールを表すのに必要な文字、ユーザが見て対話したいと思う形式 (日付と通貨など) に依存するコードは含まれません。デスクトップはこれを、言語依存情報と文化依存情報をアプリケーションから分離し、アプリケーション外に保存することによって実現しています。

図 1-1 は、国際化対応をシンプルにするためにアプリケーション外に置かれる情報の種類を示します。

図 1-1 アプリケーションの外の情報

Graphic

言語依存情報と文化依存情報をアプリケーションのソースコードから分離することにより、異なる国々で販売するためにアプリケーションを再記述したり再コンパイルする必要はありません。その代わり、唯一の要求事項は、地域の言語と慣習に適応するように外部情報がローカライズされなければなりません。

国際化対応アプリケーションは、異なる母国語、地域の慣習、文字列のエンコーディングの要求事項に適合できます。オペレーションを特定の母国語、地域の慣習、文字列のエンコーディングに適合させるプロセスを、ローカリゼーション (L10N) と呼びます。国際化対応の目的は、プログラム・ソースを変更したり再コンパイルしなくてもローカリゼーションが可能になることです。

国際化対応の概要を知るには、『X/Open CAE Specification System Interface Definition』Issue 4, X/Open Company Ltd., 1992, ISBN: 1-872630-46-4 を参照してください。

国際化対応の現状

以前は、独自の関数から X/Open の発表する標準関数の新しいセットまで、数多くの種類の国際化対応を業界が提供していました。また、単純な ASCII サポート、ラテン言語/ヨーロッパ言語サポート、アジア言語マルチバイト・サポート、アラビア語/ヘブライ語の両方向サポートなど、レベルもさまざまでした。

X/Open 仕様で定義されたインタフェースは、次のような広範囲の言語および地域をサポートすることができます。

スクリプト 

説明 

ラテン言語 

南北アメリカ、東欧 / 西欧 

ギリシャ語 

ギリシャ 

トルコ語 

トルコ 

東アジア 

日本語、韓国語、中国語 

インド語派 

タイ語 

両方向 

アラビア語とヘブライ語 

共通デスクトップ環境の目的は、これらのテクノロジのローカリゼーション (メッセージおよびマニュアルの翻訳、その他ローカル・ユーザのニーズに合った適合化) を一貫した方法で行うことです。これは、世界中のユーザが、ベンダは違っても同じ共通ローカライズ環境を使用できるようにするためです。エンド・ユーザと管理者は、世界中のソフトウェアをサポートするための完全なアプリケーション環境を提供する、一貫性のあるローカライズ機能を期待できます。

国際化対応の標準

多くの企業の努力を通じて、追加の要求事項および言語 (特に東アジアの言語) を盛り込む過程を経て、国際化対応アプリケーション・プログラム・インタフェースの機能性は標準化されてきました。この作業は主に、POSIX (コンピュータ環境用ポータブル・オペレーティング・システム・インタフェース) および X/Open の仕様に集約されてきました。オリジナルの X/Open 仕様は、第 2 版の『X/Open Portability Guide』(XPG2) で発表され、それは Hewlett-Packard 社がリリースした母国語サポート・プロダクトに基づいています。最も新しく発表された X/Open 国際化対応の標準は、XPG4 と呼ばれます。

デスクトップ内の各階層が、エンド・ユーザが一貫性のあるローカライズされたインタフェースを確保できるように、国際化対応用に定義された適切な標準インタフェース・セットを使用していることが大切です。ロケールと、ロケール依存関数の共通オープン・セットの定義は、次の仕様書に基づいています。

この環境内で、ソフトウェア開発者は、移植性が高く、(ベンダが異なっても) 分散システム間で相互運用でき、デスクトップ標準ロケールでサポートされる多国籍ユーザの多様な言語および文化の要求事項を満たす、世界共通のアプリケーションを開発できます。

共通国際化対応システム

図 1-2 は、国際化対応が特定のシングルホスト・システムに広がる様子を示しています。ゴールは、下位のシステムでサポートされているロケールのセット向けにアプリケーション (クライアント) を構築し、これを世界中で出荷することです。標準インタフェースを使用すると、世界市場への投入しやすさが改善され、アプリケーション開発者が必要とするローカリゼーション作業の量を最小限に減らすことができます。さらに、それぞれの国において、デスクトップの原則を守るシステムで一貫性のあるローカリゼーションを保証できます。

図 1-2 共通国際化対応システム

Graphic