Hi devs,

We started discussing this yesterday on the xwiki chat. 

Here’s the rationale for changing:

* l10n is slow and is preventing users to contribute translations (it’s much 
harder than it should be)
* it’s costing us maintenance that we shouldn’t have to do (it’s not our role 
to maintain a translation service, even though it was nice to eat our own dog 
food initially). I see this very similar to when we switched from our GWT-based 
WYSIWYG editor to CKEditor.
* It’ll allow us to benefit from new features/bug fixes the external service 
develops
* Right now it’s taking an hour or more every time we release to integrate the 
translation changes and this slows us down to increase our release delivery 
speed
* We’re putting the onus on the RM only to validate that the proposed 
translations are good. So only 1 pair of eyes.
* We have no time to fix any translation if they’re not correct. A system where 
when someone proposes a new translation generates a PR that we apply as they 
come in would be much better and solve both the review and lateness issues.

Of course it’ll mean some plugins/customizations to develop in the service we 
will use since it’s not going to support some custom formats we have such as 
our XAR XML format. So we need to pick a tool that allows for this.

The proposal:
* Start investing in implementing XWiki translation using an external tool.
* Start  by looking at weblate: https://weblate.org/en/ since
** it seems to offer lots of features we need (automatic PR - see 
https://docs.weblate.org/en/latest/vcs.html#github, quality checks, plugins). 
See https://weblate.org/en/features/
** it’s open source itself and in case the service goes down we can ask XWiki 
SAS to host it for us (see https://github.com/WeblateOrg/weblate).
** We need to ask them if they can host us, see https://weblate.org/en/hosting/ 
and the part about "Hosting for free software”.
** We could also ask XWiki SAS if they’d accept paying a “Basic” plan (200 
euros/year which is affordable IMO vs hosting it ourselves)
** There’s a REST API so that if we want we can provide a view/status of the 
translations from xwiki.org: https://docs.weblate.org/en/latest/api.html . We 
could even imagine using this API to convert from a format to our own format, 
if need be.
* Propose to have a developer work on this in an upcoming roadmap (to be 
defined but as early as possible since l10n is not in good shape)
* Fix l10n as much as we can without spending too much time on it, until we 
have the new translation service ready to be used

Things to look at:
* Ability to register custom formats or more generally how to handle our custom 
format
* How do we handle deprecated translations keys
* How do we handle global rename/move of keys from one resource file to another
* <add more here>

WDYT?

I’d like to have especially Thomas’s POV since he’s the one who spent the most 
time on l10n and I’d like to make sure he’s ok with this.

Thanks
-Vincent




Reply via email to