PostgreSQL has supported national language support (NLS) (that is, message translations) with Gettext for over twenty years. This has been a valuable feature, but naturally not without challenges.
I have been involved in this effort as a toolsmith, organizer, and translator.
We have had interesting challenges making Gettext work reliably in a client/server system and to make it cooperate with the other internationalization facilities in the system. We also had to write a lot of our own tooling to manage the translation work, merges with the code, and so on. We also have translations of the documentation, which use separate workflows. PostgreSQL is a relatively small community and the software is mostly not facing end users, so the possibilities for recruiting translators and other volunteers for this are limited.
In this presentation, I want to give an account of the work we have done in the PostgreSQL project to make translation and internationalization in general an integral part of the project and start a conversation with other practitioners about best practices and the future of the tooling.