Hi,
After the recent debate on the translation of GeoServer, I have spent some time setting up a small project to see how the transifex-github integration works.
First, I have created a fork of the GeoServer repo on my own GitHub account and created a new branch named test_transifex
(https://github.com/AlexGacon/geoserver/tree/test_transifex).
Then, I have activated the transifex-github integration between my GitHub account and the GeoServer Transifex project (to be removed and replaced later if we continue this way).
I have also created a new project in Transifex to avoid polluting the existing work of people working on translation (https://www.transifex.com/GeoServer/geoservertestgithub/dashboard/).
I have initiated my project with the property file of web/wms (https://github.com/AlexGacon/geoserver/blob/test_transifex/src/web/wms/src/main/resources/GeoServerApplication.properties), with a manual upload.
Manual upload? So what happens when community modules graduate, and new resources come into existence?
Something automatic would be preferable I guess (the second best thing is to have someone that will take care of it).
The next step was to upload some existing translations from transifex in language not available in GitHub to check later the behavior of the integration in this case.
After activation of the integration for my transifex project:
- The main property file is synchronized on Transifex with the content from GitHub
- The languages available on GitHub are visible on Transifex with the translation from GitHub
- The imported languages are still visible on Transifex
After manual sync from Transifex to GitHub, PRs were created in GitHub for each new language.
As a final test, I updated in Transifex the GitHub French translation (54% coverage) with the one available in Transifex (more than 85% coverage), by downloading the translation file and then uploading it in the new transifex project. After manual sync request, a PR is created in GitHub for the new language (https://github.com/AlexGacon/geoserver/pull/7) : the diff result is not very clear (some lines are marked as removed and added whereas the content is the same).
This message is cause of concern:
“Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format”
I believe we don’t want an empty translation, what if the wicket i18n then decides to stick and empty string in the UI instead
of the fallback in the default language (english)?
Is it normal that for some languages you have unicode encoded characters ? (for example in Russian).
There are two possibilities here:
- Unicode escaping, Transifex seems to be going for it.
- Special property files that are encoded in unicode, with an extension “.utf8.properties”. It’s something that we found out Wicket supports, but was not available due to some GeoServer customizations. Jody fixed that and GeoServer can now use that mechanism as well.
The main drawback on the configuration side of transifex is to have to configure all the different property files we want to translate and then upload the translations we want to retrieve from Transifex.
Ouch yes, that’s annoying.
One question about the PRs that GeoServer will receive… how do we manage them?
Since they are automated, can we just trust them and merge them if the builds are green?
Is there any control on the level of translation (like, don’t make PRs unless translation
is at least at a given percentage)?
What about protection from vandalism? I know contributors mean well, but we could have
situations where a new contributor is going for a prank against the community, or credential
access is gained by external parties, which then use Transifex to add unsavoury content
to the translation (e.g., links to their own web sites for example).
Cheers
Andrea
···
GeoServer Professional Services from the experts!
Ing. Andrea Aime
@geowolf
Technical Lead
GeoSolutions Group
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 333 8128928
https://www.geosolutionsgroup.com/
http://twitter.com/geosolutions_it
Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia.
This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail