The translation activity of other locales has greatly increased since the last announcement of the freeze for English in FFF349.
It is great to see such an amazing game being playable even when you don't know English very well.
However, I realized there is a problem in the current workflow for translations. Currently, the English locale is being proofread (by Altagram?) and the first corrections to English have hit the experimental releases, where many of the latest changes were minor replacements of words for English.
The current translation workflow appears to be:
- Changes are made to the internal English source strings, replacing previous strings albeit with only minor corrections.
- Changes of English are pushed to Crowdin: previous strings are removed, new strings added.
- Next minor version of 0.18 is published.
Because of this, previously translated strings just disappear from Crowdin, leaving the updated locale strings entirely un-translated in the published version of the next minor release. For all practical purposes this is a forced push of the English locale strings to previously well translated locales, resulting in a mix of English and non-English strings in the game.
One example that was changed in 0.18.30 is "entity-description:rocket-silo". Its value changed from
> Used to build and launch a rocket to win the game.
into
> Used to craft and launch a rocket to win the game.
I fully approve of this change. And it is easy enough to translate it again, since crowdin keeps an internal copy of the previous translations: It suggest the previous version for the next translation, highlighting the changes to the source. That is great!
However, 0.18.30 now comes with the English locale string for the rocket silo description for all locales irrespective of whether they had previous translations or not. I updated translations to the changed strings as soon as I could, but they will not make it into the game until 0.18.31. Then, I expect this process to repeat and more changes to be applied to English due to proofreading, creating other forced pushed English strings into other locales. Again, creating a 0.18.31 release with a wild mix of English and non-English.
While this behavior may be acceptable for an experimental release cycle like 0.18, I highly recommend to change the update workflow for the locales for the 1.0 stabe release.
One option is to leave more time for translators to update the locale strings between seeing them on Crowdin and having them released in the game. Alternatively, the source strings could be changed instead of entirely replaced. Maybe automatically remove the "approved" status from changed source strings.
I don't know exactly what kind of (semi-automated) workflows Crowdin supports, but I can tell you: many of the strings in my locale needed only similarly small changes or no change at all, and seeing them forcefully replaced by English strings in the released version is just frustrating. This does not increase the degree of polishing in 0.18 but drastically decreases it when you don't play with English locale.