Skip to main content

Internationalization

Learn how to enable localization for your Retool apps.

Internationalization is currently in Beta and available for Cloud and self-hosted Enterprise customers running v3.38 and later. Contact your Retool account team to get early access.

Retool supports internationalization (i18n), allowing you to adapt Retool app content and data for users across different languages and regions. This guide covers how to add translations to your Retool org and use Retool's out-of-the-box i18n functionality in your apps.

Upload translations

Navigate to Settings > Internationalization to upload and manage your translations.

File structure and naming convention

Your translation files should be structured as flat JSON objects and follow a consistent naming convention across different locales.

Below is an example of what your filesystem might look like. Each locale's directory (e.g., en, es, fr, kr) should contain the translation files with the same filenames (common.json, customer_settings.json). Make sure each file contains the same set of keys.

├── en
│ ├── common.json
│ └── customer_settings.json
├── es
│ ├── common.json
│ └── customer_settings.json
├── fr
│ ├── common.json
│ └── customer_settings.json
└── kr
├── common.json
└── customer_settings.json

Here are example files for common.json, uploaded separately into Retool for the English (en) and Spanish (es) languages.

/en/common.json
{
"add_card_receipts": "add card receipts",
"add_filter": "add filter",
"amount": "amount",
"budget": "budget",
"date": "date"
...
}
/es/common.json
{
"add_card_receipts": "agregar recibos de tarjeta",
"add_filter": "agregar filtro",
"amount": "cantidad",
"budget": "presupuesto",
"date": "fecha"
...
}

Upload translation files

Retool supports the most common ISO language codes, conforming to the ISO 639-1 standard, and includes country codes. Select your language and country code and upload your flat JSON file.

Upload translations modal

Files uploaded for locales without a country code specified will automatically be used as a fallback. For example, if a file is uploaded for French (fr), translations will still work for users in France and Canada. If French (fr-FR) is also uploaded, then Retool will default to French (fr-FR) for users in France and French (fr) for users in Canada.

Localize your Retool apps

To localize your applications and format text, dates, and currencies, follow the localization guide.