> ## 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.

# I18nConfig

<span id="atoti.I18nConfig" />

> atoti.I18nConfig(<br />
>     \*,<br />
>     *default\_locale*: [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None) = `None`,<br />
>     *translations*: [Path](https://docs.python.org/3/library/pathlib.html#pathlib.Path) | [None](https://docs.python.org/3/library/constants.html#None) = `None`,<br />
> )

The internationalization config.

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

### Attributes

<h4 id="atoti.I18nConfig.default_locale">
  *default\_locale*
</h4>

The default locale to use for internationalizing the session.

<h4 id="atoti.I18nConfig.translations">
  *translations*
</h4>

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.
