Skip to Content

Internationalization and localization

App Builder has limited support for internationalization and localization. Specifically, App Builder can render dates and numeric values in a region-specific format. For instance, App Builder can render the date 2023-05-16 as 5/16/2023 to a user in a US English locale (en-US) or 16.05.2023 to a user in a German locale (de-DE).

Culture

App Builder's localization support is based on Microsoft .NET's concept of culture. A culture provides date and numeric formatting rules for a specific region. Cultures are mapped to IETF language tags.

How is the user's culture determined?

App Builder can determine the user's preferred culture in one of the following ways:

  1. App Builder will attempt to determine the user's culture automatically. App Builder will analyze the Accept-Language header provided by the browser. The value is matched to an App Builder culture.
  2. The culture may be explicitly set on the App Builder user account. This can be done by an administrator or by users themselves if self-servicing has been enabled.
  3. The user agent can set the culture by appending $culture={language-tag} to the the URL query string.
  4. If the culture cannot otherwise be determined, the default system culture is used.

Culture and background jobs

When executing background jobs, the effective culture depends on how the job is queued.

  • If the job is scheduled by a user (i.e., by clicking a button), the user's preferred culture is used.
  • If the job is queued by a schedule, then the service user account's culture is used.

Extensibility

Cultures are defined by the runtime environment. Developers cannot register new cultures. However, developers can retrieve a list of existing cultures by querying the Culture public data object.

How to review and edit language, locale & time zones

  1. Go to the Action Drawer menu
  2. Click on the menu entry that displays the current Language value. For example: English (United States)
  3. The resultant Localization popup screen contains tabs for Language and Local & Time Zones

    • Click the appropriate tab to review and make any edits
    • If updating Language, you will need to refresh the browser window to see the updated information

    localization.png

Known issues and limitations

Accept-Language quality values

The Accept-Language header allows user agents to weight language preferences by assigning a "quality value". App Builder does not honor the quality value. Instead, App Builder uses the first language tag.

Calendars

App Builder only supports the Gregorian calendar.