Composition de chaînes complexes
Effectuez cette tâche pour insérer des sous-chaînes de variable dans une chaîne localisée.
Avant de commencer
Pourquoi et quand exécuter cette tâche
Procédure
- Dans le catalogue des messages, indiquez l'emplacement de la substitution dans la chaîne à extraire. Les composants de variables sont désignés à l'aide d'accolades (exemple : {0}).
- Dans le code de l'application, créez une instance de code LocalizableTextFormatter, transmettant un tableau contenant la valeur de la variable. Si la sous-chaîne de la variable doit être localisée, vous pouvez créer une instance LocalizableTextFormatter imbriquée et transmettre l'instance à la place de la valeur.
- Générez une chaîne localisée. Lorsqu'une méthode de formatage est appelée dans une instance de module de formatage, le module de formatage prend chaque élément du tableau transmis à l'étape précédente et le substitue à la marque de réservation portant l'indice correspondant dans la chaîne extraite du catalogue de messages. Par exemple, la valeur d'indice 0 du tableau remplace la variable {0} dans la chaîne extraite.
Exemple
La ligne suivante provenant d'un catalogue de messages en anglais représente une chaîne comportant une seule variable de substitution :
successfulTransaction = The operation on account {0} was successful.
Dans les catalogues de messages des autres langues prises en charge, cette même clé est associée à la conversion de cette chaîne, dans laquelle la variable se trouve à l'emplacement approprié dans la phrase.
Le code suivant illustre la création d'un tableau d'arguments comportant un seul élément, ainsi que la création et l'utilisation d'une instance LocalizableTextFormatter.
public void updateAccount(String transactionType) {
...
Object[] arg = {new String(this.accountNumber)};
...
LocalizableTextFormatter successLTF =
new LocalizableTextFormatter ("BankingResources",
"successfulTransaction",
"BankingSample",
arg);
...
successLTF.format(this.applicationLocale);
...
}