fix(l10n): clear corrupted fa translation entries breaking compilemessages - #1812
Conversation
…sages Three entries in locale/fa/LC_MESSAGES/django.po were malformed after a Transifex sync: mismatched leading/trailing newlines between msgid and msgstr, and a msgstr missing a %(site_domain)s format placeholder present in its msgid. msgfmt treats these as fatal errors, so 'make dev-setup' (and therefore CI) failed for every branch before any tests could run. Clear the three broken msgstr entries to make them untranslated (falling back to the English msgid) until Transifex resupplies correct translations on its next sync. Signed-off-by: Anna Larch <anna@nextcloud.com>
|
@rakekniven could you check on your end is you have time? |
|
Translation takes place at Transifex. From my understanding this PR does not help. I had a look at the translations at Tx for persian (fa) and adapted 50 strings. Found named strings marked with error and removed translations seconds ago. |
Let's get CI green - if it's synced tomorrow it should be fine to have no translations for today |
Summary
test (postgres)/test (sqlite)) has been failing onmastersince the automated Transifex sync commit8c9115fe98—make dev-setup→make l10n→django-admin compilemessagesaborts withmsgfmt: found 4 fatal errorsbefore any test runs.locale/fa/LC_MESSAGES/django.po, not an encoding or RTL issue — the Farsi text itself is valid UTF-8 and other entries in the file compile fine:locale/fa/LC_MESSAGES/django.po:769—msgid/msgstrdisagree on trailing\nlocale/fa/LC_MESSAGES/django.po:776—msgstris missing the%(site_domain)sformat placeholder present inmsgidlocale/fa/LC_MESSAGES/django.po:1766—msgid/msgstrdisagree on leading\nmsgstrentries so they fall back to the Englishmsgid(valid, untranslated gettext entries) until Transifex resupplies clean translations on its next sync.locale/*/LC_MESSAGES/django.pofile withmsgfmt -c— no other locale has this issue.Test plan
msgfmt -c -v -o /dev/null locale/fa/LC_MESSAGES/django.po— 0 fatal errors (previously 4)python manage.py compilemessages --settings nextcloudappstore.settings.development— completes without error across all localesfor f in locale/*/LC_MESSAGES/django.po; do msgfmt -c -o /dev/null "$f"; done— no fatal errors in any locale🤖 Generated with Claude Code