After several weeks of work to try having a sync between GitHub and Transifex using the built-in feature, it seems that the feature is totally broken, at least for working with PROPERTIES files, since it cannot keep the encoding information for the translated files, either when pulling them from GitHub or when pushing them to GitHub.
Since it is a lot of file to maintain, a manual method would probably mean that at one moment, such a sync will be stopped. So I keep investigating how to make this sync as smooth as possible.
I just tried the official Go command line tool of Transifex (https://github.com/transifex/cli) which went out of Alpha last month. The result seems ok : I manage to send updated PROPERTIES source to Transifex from my laptop and to retrieve updated PROPERTIES language files from it, without any encoding changes.
I have several questions for the dev team:
Should I create a ticket for this change ?
Should I include the Go CLI of Transifex in the Git repo or only let instructions on how to get it and configure it?
For the moment the CLI configuration file is in a .tx folder at the root of the repo: I will try to move it to a subfolder of the build folder : is it the right thing to do?
I will also add SH and BAT files to easily execute the sync operations.
Is it possible to add some automatic executions of the sync operations somewhere in the CI/CD? At least the GIT->TRANSIFEX sync, somewhere in Jenkins?
I just tried the official Go command line tool of Transifex (https://github.com/transifex/cli) which went out of Alpha last month. The result seems ok : I manage to send updated PROPERTIES source to Transifex from my laptop and to retrieve updated PROPERTIES language files from it, without any encoding changes.
That is positive; we do not mind using experimental build tools so much, we just do wish to be careful with what we ship as part of the application.
I have several questions for the dev team:
Should I create a ticket for this change ?
Build changes are not especially useful to track on the issue tracker; but can be handy to have a consistent record of the decisions made; make sure we do not miss anything (like updating the developers guide).
Should I include the Go CLI of Transifex in the Git repo or only let instructions on how to get it and configure it?
Add to the build instructions.
For the moment the CLI configuration file is in a .tx folder at the root of the repo: I will try to move it to a subfolder of the build folder : is it the right thing to do?
Yes we try and keep our build stuff out of the way when we can.
I will also add SH and BAT files to easily execute the sync operations.
I have taken to adding ant files which work for both platforms.
Is it possible to add some automatic executions of the sync operations somewhere in the CI/CD? At least the GIT->TRANSIFEX sync, somewhere in Jenkins?
Yes we can make a jobs for common tasks.
I would recommend running the script, pushing the changes to a branch, and then making a pull request. It is scary having scripts commit on your behalf (the release scripts are a challenge to debug).