12.4.2 Specifying supported languages

The HII String Protocol allows strings and tokens to be used to specify the supported languages for a driver. The strings themselves are defined in a separate string file. That file is then published to the HII Database.
The string file must have at least one language definition and at least one string. If there is only one language specified, that language is the default. If more than one language is specified, then the first language listed is always the default language.
Note: It is possible that no languages supported by the system are supported by the driver. In this case the browser selects the default language and proceeds. It is important to use the secondary language feature in HII to describe alternate languages to provide maximum flexibility for a set of strings.
The following snippet from a Unicode string file shows American English (en-US) as the default language because it is first in the list. The string file includes support for two additional languages, French-Canadian (fr-CA), and British English (en-UK).

Example 142-Unicode string file with support for multiple languages

#langdef en-US "English"
#langdef fr-FR "Francais"
#langdef en-UK "British"
#string STR_INV_FORM_SET_TITLE #language en-US "ABC Information Sample"
#language fr-FR "Mi motor Espade arreglo"
#language en-UK "ABC Information Sample"
Note: It costs the driver almost no processing time to support multiple languages because language selection is determined at the system level. However, adding support for multiple languages with additional strings and tokens can increase the size of the driver slightly. Adding support for many languages (for example, 100 or more) could increase the size of the driver more significantly.