If the checkbox "Buchungsüberschriften aus Rechnungswesen" (tab "Konto" in the settings) is checkmarked English notions "Debit" & "Credit" are shown instead of the German notions "Soll" & "Haben" This happens everywhere regardless whether I use GnuCash V4 from the distribution (Fedora), from FlatPak or compile the GitHub source code myself and run GnuCash V4 from /usr/local/... I have checked the "gnucash.mo" file and the translations are in there, but the checkbox setting does not honor this and falls back to English.
It is more weired: If you expand the columns the full headers are "Gesamt Debit" and "Gesamt Credit". I have no idea, from where the translated "Total" comes. Why has it become "Tot Debit" and "Tot Credit", each with the first sybmol translated and the second not?
Created attachment 373860 [details] Wrong formal headers by LANG=de_DE.utf-8 gnucash
Looking in gnucash/register/ledger-core/split-register-control.c there are 2 functions for each header column like gnc_split_register_get_credit_label for split lines, gnc_split_register_get_tcredit_label for transaction lines with prefix "Tot ". Informal labels are fine: "[Gesamt ]{Einzahlung|Abhebung}", but formal labels are at least partial untranslated: "[Gesamt ]{Credit|Debit}" instead of "[Gesamt ]{Soll|Haben}". Issue 1 in gnc_split_register_get_tdebit_label: const char* string = gnc_split_register_get_debit_string (reg); if (string) info->tcredit_str = g_strdup_printf (_ ("Tot %s"), string); produces the mixed language string, while the branch info->tcredit_str = g_strdup (_ ("Tot Credit")); is intended. Issue 2: In gnc_split_register_get_credit_label return gnc_split_register_get_credit_string (reg); is untranslated. I don't know, where the translation was intended to happen.
Oops, I just saw, I mixed credit and debit in Issue 1. Both functions are affected.
... in both issues.
Will have a look at this...
Traced to some missing brackets around the dflt_acct_debit_str and deflt_acct_credit_str. Pushed to maint and will be in the next release 4.2