+

Search Tips   |   Advanced Search

Nesting formatter instances for localized substrings

The ability to substitute variable substrings into the strings retrieved from message catalogs adds a level of flexibility to the localizable-text package, but this capability is of limited use unless the variable value can be localized. We can localize this value by nesting LocalizableTextFormatter instances.

  • Identify strings that need to be localized.

    1. In the message catalog, add entries that correspond to potential values for the variable substring.

    2. In application code, create a LocalizableTextFormatter instance for the variable substring, setting required localization values.

    3. Create a LocalizableTextFormatter instance for the primary string, passing in an array containing the formatter instance for the variable substring.


    Example

    The following line from an English message catalog shows a string entry with two substitutions and entries to support the localizable variable at index 0 (the second variable in the string, the account number, does not need to be localized):

    successfulTransaction = The {0} operation on account {1} was successful.
    depositOpString = deposit
    withdrawOpString = withdrawal

    The following code shows the creation of the nested formatter instance and its insertion (with the account number variable) into the primary formatter instance:

    public void updateAccount(String transactionType) {
       ...
       // Successful deposit
       LocalizableTextFormatter opLTF = 
          new LocalizableTextFormatter("BankingResources", "depositOpString", 
                    "BankingSample");
       Object[] args = {opLTF, new String(this.accountNumber)};
       ...
       LocalizableTextFormatter successLTF =
          new LocalizableTextFormatter ("BankingResources", "successfulTransaction", "BankingSample", args);
       ...
       successLTF.format(this.applicationLocale);
       ...
    }


    Related concepts

  • Globalization


    Related tasks

  • Composing complex strings

  • Globalization: Resources for learning