Lookup precedence for locale resources

Workplace XT looks up UI strings in property resource bundles based on the client locale passed in the request. The purpose of the label element in Workplace XT XML configuration files is to override UI strings in the resource bundles. As shown in the following XML snippet, this element allows you to set resource strings for multiple locales. The capability to set multilingual strings in the XML spares you the effort of modifying strings in the resource bundles.

<object key="searchOptionGroup">
  <label key="label" localizationKey="server.SimpleSearch_xml.useTheseSearchOptions">
    <resource>Use these search options:</resource>
    <resource locale="en_US">Use these search options:</resource>
    <resource locale="fr_FR">employez ces options pour faire une recherche:</resource>
  </label>
...

NOTE  Workplace XT uses XLIFF flies to augment existing resource bundle files. XLIFF files support the display of localized user-authored names. The application indirectly uses XLIFF files by exposing the “Preferred Locale” user preference and passing the browser locale to the web application to ensure that the correct language-specific XLIFF file is loaded. If available, localized user-defined name strings are retrieved from the XLIFF file by the Process Engine server and are employed by rosters, queues, milestones, steps, workflows, and various other fields. Conversely, the application directly uses resource bundle files, and Process Engine does not directly do so.

Given a particular client locale in the request, the application uses the following order of precedence to look up a resource string:

  1. Searching in the order specified by the browser locale header, the application attempts to find a matching resource bundle.
  2. If a resource bundle does not exist for one or more of the locales in the header, the application attempts to find a locale match in the XML, again in the order specified by the browser locale header. If there is no match, the application defaults to the English string that is set in the resource element for which no locale is specified. In the above XML, the application would use the string "Use these search options:."

  3. If the resource bundle does exist for the client locale, the application looks for an override value in the XML. That is, the application looks for a resource element with a matching locale attribute value.

    If no match is found, the application uses the value of the localizationKey attribute to retrieve the label from the resource bundle. Given the XML above, if the client locale were "es-us" (Spanish American), then the application would use the "server.SimpleSearch_xml.useTheseSearchOptions" value to look up the label in a Spanish American resource bundle.

  4. If an override value does exist in the XML, the application uses that value.

Sample lookup scenario 1

NOTE  Full multilingual support requires resource bundles for all of the languages of your users. Do not rely solely on the application's XML locale support; otherwise, the application's UI will display a mixture of different language strings.

Sample lookup scenario 2

Sample lookup scenario 3

Sample lookup scenario 4