Formal/informal variant is a big deal in languages with a T-V distinction (like German or Hungarian). Using a variant that mismatches with your audience can be alienating; even more so if the website that Discourse is attached to uses the other option. It seems in the years since this conversation has happened Discourse has switched from Transifex to Crowdin, so maybe this is easier to handle now?
Wrt language names, the standards-compatible approach would be the use of a BCP-47 private-use subtag, such as de_DE-x-formal
. I see for German there is a plugin now, but that seems like a very hacky approach and I’d love to see a cleaner one (personally I’m interested in having an informal Hungarian variant).