Launching a community translation process

March 8, 2018

The past

In the past weeks alone, we hat more than a hand full of requests of translating pretix to a different language – Arabic, Danish, Dutch, Portuguese, French, and more. Unfortunately, nobody from the pretix team speaks these languages well enough to create such a translation. Most of the people who asked for support for these languages said they would happily volunteer contributing such a translation.

Until now, contributing back a translation was not quite as easy as it sounds. It wasn't easy for the translator, as they would need to set up a pretix development environment and deal with GNU Gettext files (which can get quite involved), and it also wasn't easy for us to accept them.

We have no way to confirm the accuracy of the translations. Even worse, once we ship them and users start to depend on them, they will go out of date all the time since pretix grows and enhances on a near-daily basis. We could not expect any volunteer contributor to keep up with this pace and keep the translations up-to-date. Furthermore, translating pretix itself won't get you very far: The pretix ecosystem consists of over 30 plugins already that can be installed -- we'd need to find a way to make it easy for translators to contribute both to pretix itself as well as the plugin ecosystem. We feared this would only lead to complaints and support requests to us – written in languages we don't understand.

The present

Given the number of requests fore more languages in recent time, we knew we really need to find a way to tackle this problem. Today, we are announcing the launch of our community translation platform

On this platform, you can easily participate in the translation process without knowing anything about gettext, git, or any other of the technical things involved. Also, all official pretix plugins are listed there as components of the pretix project. We've already registered the languages that have been requested so far (Arabic, Danish, Dutch, Portuguese, and French) on the platform but we'll happily add more, just drop a short mail to and we'll do so.

We've also written a small Translator tutorial in our documentation that helps you find your way around the new portal.

By the way, the translation portal is based on Weblate, which just like pretix is a Django-based open source project, maintained by Michal Čihař. Thank you very much!

The future

Moving forward, one of the next pretix releases will likely contain more than the currently supported two languages that can be selected during creation of an event. We will categorize the languages that are contained in the pretix codebase in three categories:

Official languages are languages that are translated by the core pretix team or in cooperation with close business partners. We are doing a good effort to keep these translations always up-to-date with the current version of pretix and you can rely on them being available and supported by at least most of the official plugins.

Inofficial languages are languages that are translated by volunteers from the Community. We cannot vouch for the accurateness of the translations and cannot influence their completeness, so one should expect that new or recently changed features of pretix are not always translated and might show in English instead. When creating an event, inofficial languages can be selected but are prominently marked as not officially supported.

Incubating languages are languages that are early in the process of being translated and are not really usable for end users right now. They are still shipped with pretix, but can be selected during local development only and not on production instances. This allows you to see how pretix looks with these languages.

Please contact if you think an incubated language should be promoted to an inofficial one or if you are interested in a long-term partnership to officially promote pretix to a new language market.

Read more blog posts