複合ストリングの構成
変数サブストリングをローカライズ済みストリングに挿入するには、次のタスクを実行します。
このタスクについて
手順
- メッセージ・カタログで、検索されるストリング内の置換ロケーションを指定します。 変数コンポーネントは、中括弧で囲んで指定されます (例: {0})。
- アプリケーション・コードで、変数値を含む配列を渡して、LocalizableTextFormatter インスタンスを作成します。 変数サブストリングをローカライズする必要がある場合は、 ネストされた LocalizableTextFormatter インスタンスを作成して、 そのインスタンスを値の代わりに渡すことができます。
- ローカライズ済みストリングを生成します。 format メソッドがフォーマッター・インスタンスで呼び出されるときには、 フォーマッターが前のステップで渡された配列の各エレメントを取り、 それをメッセージ・カタログから検索されたストリング内の一致する索引のプレースホルダーと置き換えます。 例えば、配列内の索引 0 の値は、検索されたストリング内の {0} 変数を置き換えます。
例
英語のメッセージ・カタログから検索された以下の行は、
1 回の置換が行われたストリングを示しています。
successfulTransaction = The operation on account {0} was successful.
別の言語のメッセージ・カタログ内の同じキーは、 各言語の該当するロケーションにある変数を持つこのストリングの翻訳版を示しています。
以下のコードは、単一エレメントの引数配列の作成と、 LocalizableTextFormatter インスタンスの作成と使用を示しています。
public void updateAccount(String transactionType) {
...
Object[] arg = {new String(this.accountNumber)};
...
LocalizableTextFormatter successLTF =
new LocalizableTextFormatter ("BankingResources",
"successfulTransaction",
"BankingSample",
arg);
...
successLTF.format(this.applicationLocale);
...
}