2021-04-18 15:31:15 +00:00
---
2022-01-29 22:37:23 +00:00
title: Translations
2021-04-18 15:31:15 +00:00
---
Translation in authentik is done in two places. Most of the text is defined in the frontend in `web/` , and a subset of messages is defined in the backend.
The frontend uses [lingui ](https://lingui.js.org/ ), and the backend uses the built-in django translation tools.
2022-01-29 22:37:23 +00:00
:::info
Please review the [Writing documentation ](./docs/writing-documentation ) guidelines as they apply to documentation too.
:::
2021-08-10 19:41:36 +00:00
## Online translation
2021-04-18 15:31:15 +00:00
2021-08-10 19:41:36 +00:00
To simplify translation you can use https://www.transifex.com/beryjuorg/authentik/, which has no local requirements.
## Local translation
### Prerequisites
- Node (any recent version should work, we use 16.x to build)
- Make (again, any recent version should work)
- Docker
2021-08-15 19:32:17 +00:00
Run `npm i` in the `/web` folder to install all dependencies.
2021-08-10 19:41:36 +00:00
Ensure the language code is in the `package.json` file in `web/` :
2021-04-18 15:31:15 +00:00
```json
// [...]
"lingui": {
// [...]
"locales": [
"en",
"pseudo-LOCALE",
"a-new-locale"
],
// [...]
```
Afterwards, run `npx lingui extract` to generate a base .po file.
The .po files can be edited by any text editor, or using a tool such as [POEdit ](https://poedit.net/ ).
To see the change, run `npm run watch` in the `web/` directory.