Skip to content

Internationalization (i18n)

listmonk comes available in multiple languages thanks to language packs contributed by volunteers. A language pack is a JSON file with a map of keys and corresponding translations. The bundled languages can be viewed here.

Additional language packs

These additional language packs can be downloaded and passed to listmonk with the --i18n-dir flag as described in the next section.

Language Description
Deutsch (formal) German language with formal pronouns

Customizing languages

To customize an existing language or to load a new language, put one or more .json language files in a directory, and pass the directory path to listmonk with the
--i18n-dir=/path/to/dir flag.

Contributing a new language

Using the basic editor

  • Visit
  • Click on Createa new language, or to make changes to an existing language, use Load language.
  • Translate the text in the text fields on the UI.
  • Once done, use the Download raw JSON to download the language file.
  • Send a pull request to add the file to the i18n directory on the GitHub repo.

Using InLang (external service)

translation badge

  • Visit
  • To make changes and push them, you need to log in to GitHub using OAuth and fork the project from the UI.
  • Translate the text in the input fields on the UI. You can use the filters to see only the necessary translations.
  • Once you're done, push the changes from the UI and click on "Open a pull request." This will take you to GitHub, where you can write a PR message.