Localization Tasks for Applications

[This is preliminary documentation and subject to change.]

    To localize a class or element of a class:
  1. Retrieve the class definition in its original language.
  2. Examine the Locale qualifier of the class. If the Locale qualifier specifies the application's native language, no further processing is required.
  3. If the Locale qualifier does not specify the application's native language, retrieve the appropriate translation table by:
  4. If GetObject fails, translation is not possible. Warn the user and display the class in English.
  5. If GetObject succeeds, look up the string to be translated in the Keywords property of the __Lexicon instance. After locating it, retrieve the same string in the parallel entry in the Translations property. In addition , if any lengthy descriptive text is available, retrieve it from the same location in the Descriptions property.

    Cache the __Lexicon instance for as long as possible to avoid needless network traffic.

  6. If a string cannot be located in the translation table, it is possible that another translation table exists. Properties or instances can have private translation tables, as indicated by the presence of the Lexicon qualifier.

If the class to be localized is a derived class, examine each class in the hierarchy to determine the appropriate translation table. Some derived classes share a translation table with their superclass; others have their own private tables.