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 chainlit.md file

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

Resetting

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

chainlit run my-app.py