inkstitch/.github/workflows/translations.yml

61 wiersze
2.2 KiB
YAML

name: Translations
on:
schedule:
- cron: '0 0 * * *'
jobs:
crowdin:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
ref: main
token: ${{secrets.INKSTITCH_BUILDS_GITHUB_TOKEN}}
- name: checkout submodules
run: |
git submodule update --init --recursive
- uses: actions/setup-python@v1
with:
python-version: '3.x'
- env:
CROWDIN_API_KEY: ${{ secrets.CROWDIN_API_KEY }}
run: |
git config --global user.email "inkstitch-crowdin@lex.gd"
git config --global user.name "Ink/Stitch Crowdin integration"
wget --quiet https://downloads.crowdin.com/cli/v2/crowdin-cli.zip
unzip -j crowdin-cli.zip
sudo apt-get update
sudo apt install gettext
# for wxPython
sudo apt install glib-networking libsdl1.2-dev
# for PyGObject
sudo apt install libgirepository1.0-dev libcairo2-dev
# for shapely
sudo apt install libgeos-dev build-essential libgtk-3-dev
python -m pip install --upgrade pip
python -m pip install wheel
python -m pip install pycairo==1.11.1
python -m pip install PyGObject==3.30.5
python -m pip install -r requirements.txt
python -m pip install Babel
make messages.po
echo "uploading messages.po to crowdin"
java -jar crowdin-cli.jar -v upload -b main
echo "downloading new translations"
java -jar crowdin-cli.jar -v pull -b main
# Try to only commit if translations changed. Crowdin will update all
# files when a new translation string is added but we don't need to
# commit those until folks actually translate the new strings.
if git diff translations | grep -qE '^[-+]msgstr ".+"$'; then
make electron/src/renderer/assets/translations.json
git add translations electron/src/renderer/assets/translations.json
git commit -m "new translations from Crowdin"
git push https://github.com/inkstitch/inkstitch main
fi