Can outdated translations be removed on updates?

Sometimes when new features are added existing, text is edited. The issue is that only the English text is updated, while translations remain outdated until the next scheduled merge from Crowdin, which usually happens on Tuesdays.
This creates a delay: if a feature is merged on Wednesday, and someone updates their forum shortly after, they will see the new feature but not the updated texts - unless their interface is in English. This mismatch can be quite confusing.

A recent example are the themeable site settings which were merged on a Wednesday. In that case the description of the themes page was extended and “Theme settings” was changed to “Custom theme settings”. In English, this change helps users find the new location where these settings are configured. But in German, I don’t see that.

I have to wait for the Crowdin translation update - and then it also depends on when my site is updated. So it takes even longer before I get the updated text.
In this specific case, it’s “just” some guidance that’s missing. But there are other times where the meaning of the text changes completely, or the placeholders are changed, and things can even look broken.

Would it be possible to remove outdated translations in the feature’s pull request when a text string is modified? That way, users would fall back to the updated English version instead of seeing an outdated or misleading translation.

I think in most cases, a current English string is more helpful than an outdated translation in my preferred language.

5 Likes

That’s not happening that often though.

I doubt that’s an actual issue. Discourse should automatically fall back to English when there’s a problem with placeholders.

Devs will forget to do that, and IMO it adds unneeded busywork. We could have a GitHub Action that does the job. But I think it might be easier to simply switch to daily translation updates.

1 Like

It is an issue. You can check any solved topic here on Meta while your interface language is German, and you will see something like


and an error in the browser console

And in this case, it took me a long time to understand the problem because the new text is not yet on Crowdin, and I thought I broke the HTML. (Thanks again for the explanation @nat)

1 Like

We had a problem with our Crowdin integration that prevented new strings from appearing on Crowdin. That’s fixed, and I switched us to daily translation updates. I’ll see how much busywork that generates and reevaluate that decision in a few weeks.