flash.globalization パッケージの概要
Flash Player 10.1 以降、Adobe AIR 2.0 以降
flash.globalization パッケージは、基になるオペレーティングシステムの文化サポート機能を利用します。これによって、個別のユーザーの文化上の表記規則に準拠したアプリケーションの記述が容易になります。
パッケージに含まれる主なクラスは、次のとおりです。
-
文字列の並べ替えと照合を管理する Collator クラス
-
数値を通貨の金額文字列の形式に変更し、入力文字列から通貨の金額と記号を解釈する CurrencyFormatter クラス
-
日付の値の形式を設定する DateTimeFormatter クラス
-
特定のロケールに関する情報を取得する LocaleID クラス
-
数値の形式の設定および解釈を行う NumberFormatter クラス
-
ロケールに基づいた文字列の大文字と小文字の変換を処理する StringTools クラス
flash.globalization パッケージとリソースのローカリゼーション
flash.globalization パッケージはリソースのローカリゼーションを処理しません。ただし、他のテクニックを使用して、ローカライズされたリソースを取得するためのキー値として、flash.globalization ロケール ID を使用できます。例えば、ResourceManager クラスおよび ResourceBundle クラスを使用して、Flex で作成されたアプリケーションリソースをローカライズできます。詳しくは、「
Flex アプリケーションのローカライズ
」を参照してください。
AIR アプリケーションのローカライズ
で説明しているように、Adobe AIR 1.1 には、AIR アプリケーションのローカライズに役立ついくつかの機能が用意されています。
アプリケーション国際化の一般的な方法
次の手順は、flash.globalization パッケージを使用してアプリケーションを国際化するための高レベルな共通の手順を示しています。
-
ロケールを決定または設定します。
-
サーバークラスのインスタンス(Collator、CurrencyFormatter、DateTimeFormatter、NumberFormatter または StringTools)を作成します。
-
lastOperationStatus プロパティを使用してエラーと代替を確認します。
-
ロケールに固有の設定を使用して、情報の形式を設定し、表示します。
次の手順では、ロケールに固有の文字列およびユーザーインターフェイスリソースをロードおよび表示します。この手順には次のようなタスクを含めることができます。
-
自動レイアウト機能を使用して、文字列の長さに合わせて UI のサイズを変更する
-
適切なフォントを選択し、フォントの代替をサポートする
-
FTE テキストエンジンを使用して他の書き込みシステムをサポートする
-
入力方式エディターが正しく処理されることを確認する
エラーと代替の確認
flash.globalization サービスクラスではすべて、同様のパターンに従ってエラーを識別します。また、要求されているロケールが使用できない場合に、その代わりとして、ユーザーのオペレーティングシステムがサポートしているロケールを使用するときの代替パターンも共有しています。
次の例は、サービスクラスをインスタンス化するときのエラーと代替の確認方法を示しています。各サービスクラスには、直前のメソッド呼び出しでエラーまたは警告がトリガーされたかどうかを示す lastOperationStatus プロパティがあります。
var nf:NumberFormatter = new NumberFormatter("de-DE");
if(nf.lastOperationStatus != LastOperationStatus.NO_ERROR)
{
if(nf.lastOperationStatus == LastOperationStatus.USING_FALLBACK_WARNING)
{
// perform fallback logic here, if needed
trace("Warning - Fallback locale ID: " + nf.actualLocaleIDName);
}
else
{
// perform error handling logic here, if needed
trace("Error: " + nf.lastOperationStatus);
}
}
この例では、代替ロケール ID が使用されたか、エラーがある場合に、単純にメッセージをトレースします。アプリケーションでは、必要に応じて追加のエラー処理ロジックを実行できます。例えば、メッセージをユーザーに表示して、サポートされている特定のロケールを使用するようにアプリケーションに強制することができます。
|
|
|