our current status for development is to support several branches in parallel (LTS, stable and master at least) but as of now we are only pushing our translations on master when using our Weblate platform (http://l10n.xwiki.org). Now it does not mean we never push on other branches our translations: we do it whenever we release by applying some custom scripts to retrieve the translations, and by checking manually the diff.
This however has two impacts when we release outside master:
- we rarely take the time to properly review this diff containing all new translations, because it’s really not user friendly, we might be in a rush, and we don’t want to take any risk (generally those are bug fix releases)
- we don’t credit the translators when we indeed apply the translations, because we retrieve them and created new commits, and the credits we put on our release notes comes from our commits authors.
So I’m wondering how we could improve the situation, and I see for now 3 options:
A. Stop updating translations in maintained branches: we could decide that those translations should only be updated in master as they can be seen as improvments. And we should only push bug fixes in other branches.
B. On the contrary, start to automatically push every translation commit to our supported branches: we should never update a translation source when it’s committed, but create a new one according to our rules, and we should never delete any translation key according to the same rules. So the possibility to a regression should be limited, where we’d allow the community to have new languages earlier. Moreover it would allow to directly execute the CI with the new translations, so our release process would be potentially less fragile.
C. Use Weblate to support different branches of XWiki: quite frankly I have not yet thought a lot about this option, but it’s possible to configure Weblate to use a specific branch of a repository, so I guess we should be able to create new components / projects corresponding to our different branches. It would allow to maintain different translations on different branches, even if I’m not sure it would be really useful. It would also imply more work on the community to translate.
Personally I’d be more in favor of B: I don’t really see how harmful it could be to always cherry-pick our translations to our supported branches, if we follow properly our own rules. WDYT?