How does localization work with the ArcGIS for JavaScript API?

The API will automatically use the locale of the browser. If you do not want that behavior, you can set your application to a specific locale at runtime. Starting with version 4.16, the preferred way to do this is via the intl.setLocale(locale) method.

// Sets the locale to French

// Sets the locale to UK English.
// Dates are formatted in day/month/year order.

// Sets the locale to US English.
// Dates are formatted in month/day/year order.

Please note that setLocale can be called at anytime by an application. Widgets will change to the new locale automatically. This behavior is considered experimental since the API is not designed around switching locales at runtime. For example, labels on feature layers, or numbers and dates formatted by Arcade expressions, will not update. It is recommended to call setLocale as soon as possible within the application.

The locale can still be initialized using a global object similar to how it was handled prior to version 4.16.

  // Set the locale before the JSAPI loads
  esriConfig = {
    locale: "fr-FR"

Prior to version 4.16, setting the locale in a Dojo config object was the preferred way. This still works for backwards compatibility but is not recommended going forward.

Please refer to the Intl module - API reference documentation for additional information on API localization utilities.

Support for right-to-left (RTL)

The ArcGIS API for JavaScript provides bidirectional support. To enable right-to-left (RTL), set the dir attribute in the <html> or <body> tag to rtl.

<html dir="rtl">

This will impact many aspects of the API, for example:

  • Widget content.
  • Themes.
  • Location of default UI components such as zoom in/out widgets.
  • Widget positions specified with leading/trailing options of the UI add/empty/move methods. For left-to-right (LTR), "leading" is left and "trailing" is right. For right-to-left (RTL), "leading" is right and "trailing" is left.

Locale support

The ArcGIS API for JavaScript has support for the following locales.

  • Arabic (ar)
  • Bosnian (bs) - Added in version 4.2
  • Catalan (ca) - Added in version 4.8
  • Simplified Chinese (zh-cn)
  • Traditional Chinese (Hong Kong) (zh-hk)
  • Traditional Chinese (Taiwan) (zh-tw)
  • Croatian (hr) - Added in version 4.1
  • Czech (cs)
  • Danish (da)
  • Dutch (nl)
  • English (en)
  • Estonian (et)
  • Finnish (fi)
  • French (fr)
  • German (de)
  • Greek (el)
  • Hebrew (he)
  • Hungarian (hu) - Added in version 4.8
  • Indonesian (id) - Added in version 4.2
  • Italian (it)
  • Japanese (ja)
  • Korean (ko)
  • Latvian (lv)
  • Lithuanian (lt)
  • Norwegian (nb)
  • Polish (pl)
  • Portuguese (Brazil) (pt-br)
  • Portuguese (Portugal) (pt-pt)
  • Romanian (ro)
  • Russian (ru)
  • Serbian (sr) - Added in version 4.1
  • Slovak (sk) - Added in version 4.18
  • Slovenian (sl) - Added in version 4.6
  • Spanish (es)
  • Swedish (sv)
  • Thai (th)
  • Turkish (tr)
  • Ukrainian (uk) - Added in version 4.11
  • Vietnamese (vi)

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.