Prasanth Nair writes:
Thank you for the quick response and for the possible causes. I'm using the following versions. Django: 3.0.14 msgfmt: 0.19.8.1
The Django and msgfmt versions are not the issue. However, both of those versions are quite out of date. I'm not sure if it matters if you update msgfmt, but the documentation site for Django 3.0 now says "This document is for an insecure version of Django that is no longer supported. Please upgrade to a newer release!"
I found some time to track down the source code, and the ar (Arabic) translation is buggy as far as I can tell. I do not understand how this can possibly have ever worked, the initial version from 2020-06-07 has all the same problems. I am not familiar with the configuration of translations in Django; perhaps you can omit it without messing with the source, and that's why it works for us. If you can't find a way to "unconfigure" it, and you don't need it, I suggest you either delete the ar/LC_MESSAGE/django.po file, or move it somewhere msgfmt can't find it.
If you do need it, you should look for "%", and edit so the "%(variable_name)s" strings are exactly the same in the Arabic (msgstr) lines as they are in the original (msgid) lines. I don't speak Arabic, so I have no idea if those variable references are in the right places to make sense in Arabic. If you are not familiar with BIDI text, be prepared for strange behavior from your editor. That is, if the editor is Unicode-conformant, it's likely that the cursor will move "backwards" through the Arabic and jump over then move forward through the English.
It's bedtime for me now, but I will probably file a bug witht eh django_extensions project in the morning.
Steve