Skip to main content

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, 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/:

    // [...]    "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.

To see the change, run npm run watch in the web/ directory.