フォーマッター・インスタンスの作成
アプリケーション・コンポーネント内のストリングのローカリゼーション値を設定するには、このタスクを実行します。
このタスクについて
手順
- アプリケーションの必要に応じて、 独自のフォーマッター・クラスを作成してください。 実装について詳しくは、LocalizableTextFormatter クラスを参照してください。
- アプリケーション・コードにおいて、フォーマッター・クラスに適したコンストラクターを呼び出し、 必要なローカリゼーション値を設定します。 ローカリゼーション値の中には、リソース・バンドル名や、キーおよびフォーマット・アプリケーション のように、コンストラクターを使用して、または構造後すぐに設定する必要があるものがあります。 その他のローカリゼーション値は、必要に応じて設定します。API の詳細については、関連する解説書を参照してください。
例
以下のコードでは、デフォルト・コンストラクターを使用して LocalizableTextFormatter インスタンスを作成し、必要なローカリゼーション値を設定しています。
import com.ibm.websphere.i18n.localizabletext.LocalizableException;
import com.ibm.websphere.i18n.localizabletext.LocalizableTextFormatter;
import java.util.Locale;
public void drawAccountNumberGUI(String accountType) {
...
LocalizableTextFormatter ltf = new LocalizableTextFormatter();
ltf.setPatternKey("accountNumber");
ltf.setResourceBundleName("BankingSample.BankingResources");
ltf.setApplicationName("BankingSample");
...
}
太字体のコード行は、Java™ プラットフォームのデフォルトの振る舞いを活用します。 デフォルトでは、Java プラットフォームは BankingResources という java.util.ResourceBundle のサブクラスを最初に検索します。何も検索されないと、Java プラットフォームは同じ名前の有効なプロパティー・ファイルを検索します。 この続きの例では、プロパティー・ファイルが検索されます。
ローカライズ済みメッセージを要求するアプリケーションは、メッセージ・フォーマット用のロケールと時間帯を指定することも、Java 仮想マシンに設定されているデフォルト値を使用することもできます。
例えば、ユーザーは GUI を使ってインターフェースを表示する言語を選択することができます。 アプリケーションの最初の始動時に GUI を正しく作成できるように、 デフォルト値を最初に設定しておく必要があります。 ただし、 ユーザーは、その後、必要に合わせて GUI のロケールを変更できます。 以下のコードは、メニュー項目の選択に基づいて、アプリケーションが使用するロケールを変更する方法を示しています。
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
...
import java.util.Locale;
public void actionPerformed(ActionEvent event) {
String action = event.getActionCommand();
...
if (action.equals("en_us")) {
applicationLocale = new Locale("en", "US");
...
}
if (action.equals("de_de")) {
applicationLocale = new Locale("de", "DE");
...
}
if (action.equals("fr_fr")) {
applicationLocale = new Locale("fr", "FR");
...
}
...
}
詳しくは、『ローカライズ済みテキストの生成』を参照してください。