> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# atoti.I18nConfig

### *final class* atoti.I18nConfig

The internationalization config.

<Note>
  This feature is not part of the community edition: it needs to be [unlocked](../guides/unlocking_all_features).
</Note>

#### default\_locale *: [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None)* *= None*

The default locale to use for internationalizing the session.

#### translations *: [Path](https://docs.python.org/3/library/pathlib.html#pathlib.Path) | [None](https://docs.python.org/3/library/constants.html#None)* *= None*

The directory from which translation files will be loaded.

This directory should contain a list of files named after their corresponding locale (e.g. `en-US.json` for US translations).
The application will behave differently depending on how [`atoti.Session()`](./atoti.session#atoti.Session)’s *user\_content\_storage*  parameter is configured:

* If *user\_content\_storage* is a path to a file:
  * If a value is specified for *translations*, those files will be uploaded to the local content storage, overriding any previously defined translations.
  * If no value is specified for *translations*, the default translations for Atoti will be uploaded to the local user content storage.
* If a remote user content storage has been configured:
  * If a value is specified for *translations*, this data will be pushed to the remote user content storage, overriding any previously existing values.
  * If no value has been specified for *translations* and translations exist in the remote user content storage, those values will be loaded into the session.
  * If no value has been specified for *translations* and no translations exist in the remote user content storage, the default translations for Atoti will be uploaded to the remote user content storage.
