More English string in the French Discourse

Well, lets see, there are multiple cases here:

  • Key of translation changes: We try to avoid that, but sometimes it’s simply not possible. If the English string doesn’t change, we could use Translation Memory to automatically use existing translations. Crowdin has a “TM Pre-translation” workflow step which does exactly that.

    Pre-translate files with Translation Memory ™ to speed up the translation of the same or similar strings…

    Unfortunately this prevents translators from making any changes to the translation afterwards, because a string translated by Translation Memory can’t go through the “Crowdsource” workflow step. I reported this a long time ago, but it doesn’t look like it’s been fixed yet. That’s why we don’t use “TM Pre-translation” at the moment. cc @Andriy_Crowdin

  • Modified English string: What counts as minor change? That’s a hard decision to make and might even vary for different languages. Let’s take a step back. What happens when we modify an existing string in English?

    • We push a modified string to GitHub
    • The translator-bot picks it up and pushes it to Crowdin
    • This invalidates all translations for that string on Crowdin, but doesn’t affect the translations in Discourse yet
    • Every Tuesday we pull the current translations from Crowdin and push them to GitHub.
      • Missing translations will be removed
      • New translations will be added

    So, unless we modified the string right before Tuesday, there should be enough time to provide a new translation on Crowdin. The suggestions on Crowdin usually make it very easy to translate the modified string.

  • Modifications that shouldn’t affect existing translations: We usually try to keep existing translations when we make insignificant bulk changes to English strings. For example, we did that in the past when we changed the {{count}} placeholder to %{count} or during the rename of the English locale. There are special commands we can add to commit messages:

    @discourse-translator-bot keep_translations_and_approvals
    @discourse-translator-bot keep_translations
    

I’m happy to implement improvements to our workflow if they are feasible. However, there is no concept of a fuzzy translation in Crowdin. It’s either translated or not. And I think that’s a good thing, otherwise it would just overcomplicate things. As a translator you get notified about new and modified strings, so that should help translators in staying on top of things.

@patrickemin I added the missing French translation from Translation Memory. It will be included in today’s update.

4 Likes