authentik/website/developer-docs/translation.md

42 lines
1.1 KiB
Markdown
Raw Normal View History

---
title: Translation
---
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.
## Online translation
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
Run `npm i` in the `/web` folder to install all dependencies.
Ensure the language code is in the `package.json` file in `web/`:
```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.