Richard Rosner writes:
I have the same problem. Also installed from Debian packages (for buster). I have mailman.po in /var/lib/mailman/messages/de/LC_MESSAGES and django.po in /usr/share/python-django-common/django/conf/locale/de/LC_MESSAGES. While I can translate django.po to django.mo, the same with mailman.po just gives back the error mailman.po:7111: »msgid«- und »msgstr«-Eintrag enden nicht jeweils mit »\n« msgfmt: es ist 1 fataler Fehler aufgetreten
(somewhere msgid and msgstr dont end with \n)
'msgid' should be in English, I think. Does 'msgstr' end with a non-ASCII character (ignoring the trailing newline that seems to be there, if I understand correctly)?
I'm thinking that in Mailman 2, the German translations were almost certainly encoded as a one-byte code, either ISO-8859-1 or ISO-8859-15, but if msgfmt is expecting UTF-8 and the line ends with an accented character or sharp S, it may think that's introducing a multibyte character, and gobble up the newline.
I think the file(1) utility on Linux is smart enough to detect UTF-8 text and tell you so. Not sure how msgfmt thinks about encodings anymore, it's been a long while since I used it directly.
Steve