Formal german available?

You would need to replace hundreds (I estimate around 450) phrases, and not just from “du” to “Sie” - you’d also need to change the verb forms. So this is not an easy task.


Furthermore, it is not a one-time task. Discourse evolves rapidly. New strings are added and existing strings go through changes.


Hello - I’m back again.

I just had an email conversation with Thelma from Transifex. She informs me that
“you can select as many target languages as you want and as many locales as you want. For example, you can add German (de) and German (Germany) (de_DE)”

So, is it possible to just add German (Germany) (de_DE) as the formal variant of german, based upon the existing German (de)? It should be possible with overseeable effort to translate all strings containing “dein*” and “du”.

Is it correct that all phrases that show in the users area are in files named “client” ?

kind regards,

User-viewable strings come from both client and server localization files. For a complete* translation, you’d need both. client vs. server is only relevant as to whether the strings are accessed via back-end Ruby code or front-end JavaScript code — from the end user’s point of view, they’re basically indistinguishable.

*“Complete” comes with the caveat that @rizka mentioned, namely that the available strings are constantly changing. I’m not sure how configurable fallbacks are in Transifex, but my guess is that de_DE would fall back to de by default. Someone please correct me if I’m wrong.


Can someone please add a second german language into Transifex? Best based upon the existing informal german translation, so that it would not be necessary to translate everything again, but only the phrases with personal addressing.

I am not afraid to do the work. 450 phrases do not sound too much. And yes, I have seen the constant changing in the translation files in the last weeks. I’m sure you noticed me doing some work there.

I believe the possibility to have a formal german translation will make Discourse interesting for a larger amount of users. Other forum softwares offer those. But Discourse is a better forum, don’t you think?

So I kindly ask to add a second german translation.

kind regards,

1 Like

Hi Discourse Team,

who must I ask about the Transifex languages, who is able to add one?

I don’t seem to find the attention that I need…


Sure, I could add de_DE as an additional German language, but please be advised that this solution is suboptimal and will be very frustrating for translators.

  • There is no way to tell translators that de uses informal and de_DE uses formal language.

  • The source language will be English. You need to start from scratch. Sure, you could import the existing German translations as a starting point, but afterwards there’s no way to sync them automatically. And as far as I know de and de_DE do not share the same translation memory, so that’s no help either.

  • If you need the source language to be German you could create your own project on Transifex, add the German translations as source files and optionally configure automatic updates for source files.

I’ll be sending a feature request to Transifex, but honestly I’d be surprised if this will be improved in the near future. Other platforms like Crowdin do a better job by allowing custom languages.


Dear @gerhard,

thank you again for your help.
I’ve tried what is described here Gender neutral German translation by

Still have to figure out how I can mark all those terms which don’t need to be altered as translated.

Still have no clue how to Configure auto update for the source files by pointing them to the German locale files (raw) on Github.

And “Replace the existing German locale files with the new ones in your Discourse instance.” is also on the list.

But hey! It’s a start. And if there comes the opportunity to do a formal german translation within the official project, we can use this.



Okay, I think I need some advice - on “Replace the existing German locale files with the new ones in your Discourse instance.”: How can that be done? Where do I tell my installation where to get the translations from?

Thank you for your hints,

1 Like

May I ask again?
Still haven’t figured out how to “Replace the existing German locale files with the new ones in your Discourse instance.”
Now I have translated files on Transifex (not all ready, but on the way. Filed as de_DE).

Still have no idea how to get them into my Discourse which lives in a docker container in an ubunto environment. Can anyone help me?

Thank you,

1 Like

When I wrote “Replace the existing German locale files with the new ones in your Discourse instance.” I should have mentioned that this isn’t as easy as it sounds. :frowning:

You will need a development environment in order to follow Add a new locale from plugin and you will need to pull translations from Transifex and apply some transformations to the locale files.

Unfortunately this is a non-trivial task if you aren’t familiar with the tools. I’d really like to improve the whole process of creating language variants, but that’s probably a project for next year. However, I can give you a hand if you are willing to wait until the end of June.


Hey @gerhard,

I think I have a running Development environment now (still trying to set it up within docker, but the one set up along the instructions in Beginners Guide to Install Discourse on Ubuntu for Development seems to be willing to run), but struggling with Add a new locale from plugin and

Can you give some advice?

Thank you,


That’s good to hear that you managed to figure out most of the stuff on your own! :+1:
Is your plugin available on GitHub, so that I can take a look at what you have right now.


Oooh too many flowers! I’m still struggling.

  • Have a developement environment
  • Seem to have successfully installed the translations-manager. Is it correct it doesn’t show in the plugins section in the administration area?
  • Have set up a github project but cannot sync it with transifex. Fail on the config, I think. Or fail in understanding what is meant by “sync”. The Transifex project gets the new source files by the “Auto update resources”-mechanism. Do you per chance have an example config?
  • Still have not figured out how to get the translations once they’re in the repository…

Sigh. Hope to cope… please advice :exploding_head:


Is there a possibility that the formal german language files could e.g. named client.de_DE.yml and checked into the discourse repository so that anyone can use them?


Yes, that would be the goal. Having something like de_formal should be possible. I’m not sure yet what easier to do: Getting the translations-manager work with a plugin or integrating the translations directly within Discourse.

I’d like to take a look at the current state of the translations. Did you see my request on Transifex to join the team at Discourse Formal German localization?


Funny, but no. No news on transifex for me.
Anyway, have invited you there. :wave:


Hi Dorothea,

thanks for the invite on Transifex and sorry for the delay. This topic somehow dropped off my radar. I’m adding it to my list of things I’d like to work on next week…


Here we go. Please give it a try.
This plugin includes the hard translation work done by @DDo! :+1:

While creating this plugin I noticed a missing feature in Discourse: The new de_formal locale doesn’t reuse the German locale defaults for site settings. I’ll enhance this in the future.

The translations on Transifex have been moved to Discourse Formal German localization.


Great stuff!
Works fine!

Just load the plugin, rebuild and the plugin is there and activated. Now you have a second german - named “Deutsch (Sie)” to choose as your language or as default locale.

This is really great!