The Language Manager is responsible for loading the User Interface strings, retrieving strings in the current language, and providing controls with their strings.
When the application starts, the Language Manager reads the en-us.xml file which holds all of the User Interface strings for the application and places the string library in a list. If the user has selected a non-English language, it then reads in the selected language UI translation file and replaces the matching English strings with the translated values based on matching keys. If a translated version of a string does not exist, the English version is retained so that an empty string is never presented.
Each time a window or menu opens, the object passes a reference to itself to the Language Manager. The Language Manager examines each control in the object and applies text to it based on its matching key from the User Interface file.
The Language Manager is also responsible for validating the contents of a translation file when it is requested, comparing the User Interface translation file for the selected language against the English version and notifying the user of any discrepancies between the two file. See Verifying Translations on the Language Support
page for more information.