This Simple DataType is specified as a string that is composed of a language component and a country/region component as specified by IETF RFC 5646. The <country/region> component is always preceded by a hyphen. The format of the LocaleId string is shown below:

<language>[-<country/region>], where <language> is the two letter ISO 639 code for a language, <country/region> is the two letter ISO 3166 code for the country/region.

The rules for constructing LocaleIds defined by IETF RFC 5646 are restricted as follows:

  1. this specification permits only zero or one <country/region> component to follow the <language> component;
  2. this specification also permits the “-CHS” and “-CHT” three-letter <country/region> codes for “Simplified” and “Traditional” Chinese locales;
  3. this specification also allows the use of other <country/region> codes as deemed necessary by the Client or the Server.

Table 25 shows examples of OPC UA LocaleIds. Clients and Servers always provide LocaleIds that explicitly identify the language and the country/region.

Table 25 – LocaleId Examples

Locale

OPC UA LocaleId

English

en

English (US)

en-US

German

de

German (Germany)

de-DE

German (Austrian)

de-AT

An empty or null string indicates that the LocaleId is unknown.