Translation files are located in the .chainlit/translations directory. The files are named after the language code, e.g. en-US.json for English (United States).

The language is dynamically set for each user based on the language of the browser. The default language is en-US.

Customizing UI text

In addition to standard translations, you can customize the text of front-end components used within the UI. Each UI element is associated with a unique translation key in the translation files. By modifying these keys, you can personalize or localize the UI text according to your needs.

For example, to change the label of a navigation tab from “Readme” to “Documentation”, locate the corresponding key in your translation file (e.g., components.organisms.header.readme) and update the value:

"components.organisms.header.readme": "Documentation"

Adding a new language

To add a new language, create a new file in the .chainlit/translations directory with the language code as the filename. The language code should be in the format of languageCode-COUNTRYCODE, e.g. en-US for English (United States) or en-GB for English (United Kingdom).

Lint translations

To lint the translations, run the following command:

chainlit lint-translations

Translate file

You can define multiple translations for the file. For instance for Portuguese (Brazil) and for Spanish (Spain). The file will be loaded based on the browser’s language, defaulting to if no translation is available.


To reset the the translations, remove the .chainlit/translations directory and restart your Chainlit application:

chainlit run