New translations not being commited for .po files

Hello,

I’m using Pontoon to translate a Django project and have pointed to my .pot file as resource and .po files as localisation files.

l10n.toml
    locales = [
        "de",
        "es",
        "fr",
        "nl",
    ]

[[paths]]
    reference = "locale/django.pot"
    l10n = "locale/{locale}/LC_MESSAGES/django.po"
    locales = [
        "de",
        "es",
        "fr",
        "nl",
    ]

While the project shows up fine and shows all missing/translated messages for each language, Pontoon is not able to commit to my repo when I translate a new missing string for any language. After clicking save and ‘sync’ in the admin.

It does commit to the repo when I edit an existing translation for any language and seems to rely on the fact that the msgid has to exist in the .po file for the specific languages while it only exists if it had been translated before with another tool.

How is this possible? Do I need to check/uncheck ‘source repo’ in the project settings?

Hi @Jelle,

That’s actually the expected behavior in Gettext. When new strings are added to the template file, they need to be msgmerged into all PO files.

Thanks, indeed, it looks like I was only making messages for English (the source) as this was how it worked on another translation service. I’m now building all PO files with empty strings and it seems to be working.