インターナショナライゼーション

GNOMEデスクトップと開発者用プラットフォームはアプリケーションをインターナショナライズ(訳注:異なる言語環境において機能するソフトウェアをデザインすること)、ローカライズ(訳注:実際にアプリケーションのメッセージやラベル、その他のインタフェース要素を異なる言語に翻訳すること)へのフルサポートを提供します。インターナショナライゼーションはあなたのアプリケーションがローカライズできることを保証するためのプロセスです。そのローカライズには、アプリケーションで翻訳されるすべての文字列をマークすること、その文字列にたいして番号と書式を正しくマーキングすること、そして時刻や日付、単位や書式にたいする慣習の違いの調整などが含まれます。

GNOMEはローカライゼーションの機能にアクセスするために、標準のgettextと関連するルーチンを使用します。gettextを使用したローカライゼーションへのサポートは、GNOMEプラットフォームのすべてのコンポーネントに組み込まれています。あなたのソースコードは特別なツールのために、自動化されたツールによってスキャンされます。それらの文字列はPOファイルの中に配置され、翻訳者が翻訳を追跡できるようにします。gettextを使用することにより、あなたは簡単かつ効果的に実際にユーザが目にする翻訳されたバージョンの文字列、つまりアプリケーションがインストールされた翻訳ドメインにしたがって翻訳された文字列にアクセスすることができます。

これらの翻訳ドメインは、文字列の変更を追跡し、翻訳のための更新を適宜行うことができるPOファイルを使うことにより作り出すことができます。GNOMEにはintltoolという、POファイルの中の翻訳を管理するためのツールが付属しています。intltoolを使用することにより、アプリケーション中の文字列の翻訳だけではく、GConfのスキーマファイルやデスクトップのエントリファイル、そしてXMLファイルにもPOファイルを使用することができます。

GNOMEはgnome-doc-utilsパッケージの一部としてxml2poツールも提供します。このツールにより翻訳者はPOファイルからXHTML、DocBookを含めたさまざまな形式の翻訳済みXMLを作成することができます。

インターナショナライゼーションにはは文字列が翻訳されることを可能にするだけでなく、あなたのアプリケーションを開発するときに、インターナショナライゼーション・プロセスの各ステップをGNOMEサポートするということが含まれています。GTK+は右から左に読むような言語の表示を自動的に調整し、Pangoは両方向から読むようなテキストや、さまざまな異なる書記体系で記述されたテキストを完全にサポートします。GTK+は複数の入力メソッドをサポートし、すべての言語のユーザが自身のキーボードでテキストを効果的に入力することを可能にします。GNOMEプラットフォーム全体ではUnicodeの表記法の1つであるUTF-8エンコードをネイティブでサポートし、全世界の文字と書記体系へのアクセスを提供します。

図 3-3複数言語による Gnumeric

あなたのアプリケーションをインターナショナライズすることは、世界中の多くのユーザがアプリケーションを使用する手助けとなります。経験を積んだ翻訳者がいくつもの言語への翻訳を提供しなければならない間、アプリケーションが完全にローカライズされるまでは、アプリケーションがインターナショナライズされていることをプログラマは保証しなければなりません。

GNOMEのインターナショナライゼーションについての詳細は Internationalizing GNOME Applications を参照してください。