Within this repository, we define a DroneCI configuration to sync Transifex translations every night (or triggered manually) for different repositories. This is required because you need elevated Transifex permissions which are proveded by drone secrets only. If you want to get automated translation sync for your app as well please file a pull request to this repository and add ownclouders with write permissions to your repository.
Table of Contents
- Local Testing
- Push Translations for Web
- Migrate Resources
- Trigger Syncing Manually
- License
- Copyright
You can test the synchronisation of translations for a specific repo by cloning the repo into your checkout of this repo and running drone exec like this:
Normally the pull is done every 24h automatically. You can do the pull manually with
app=guests
grep $app .drone.star
repo(name = "guests", mode = "old"),If the mode is old, then
git clone [email protected]/owncloud/$app
cd $app
export TX_TOKEN=...
tx pull -a --skip --minimum-perc=75 -f
# Now we have many subdirectories with *.po files. The l10n script in owncloud-ci/transifex creates *.js and *.json from there.
txdockerrun() { docker run -ti -v $(pwd):/mnt -w /mnt --entrypoint=/bin/bash owncloudci/transifex:latest -c "set -x; $@"; }
txdockerrun "cd l10n; l10n '$app' write"
find . -name *.po -type f -delete
rmdir ?? ??_??
# review the changes
git diffgit clone https://github.com/owncloud/web.git
TX_TOKEN=... REPO_NAME=owncloud_universal REPO_URL=https://github.com/owncloud/web.git [email protected]:owncloud/web.git REPO_BRANCH=master REPO_PATH=web MODE=MAKE drone exec --local --build-event pushThe trick is to prepend the folder to which the repo was cloned to the REPO_PATH.
You can generate a Transifex token for the TX_TOKEN env var.
Follow the step-by-step guide if the relocation of resources is required.
If there is a manual “emergency” sync required, you only need to trigger drone via the CLI:
drone cron exec owncloud/translation-sync nightlyNote that you need to be logged on in drone to execute the command.
MIT
Copyright (c) 2022 ownCloud GmbH