diff --git a/.github/workflows/scripts/update_translation.sh b/.github/workflows/scripts/update_translation.sh new file mode 100644 index 000000000..4474997b0 --- /dev/null +++ b/.github/workflows/scripts/update_translation.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +SCRIPTDIR=$(dirname "${BASH_SOURCE[0]}") + +set -e + +sudo apt-get -y install qt6-l10n-tools python3 + +PATH=/usr/lib/qt6/bin:$PATH "$SCRIPTDIR/../../../src/qt_gui/translations/update_translation.sh" diff --git a/.github/workflows/update_translation.yml b/.github/workflows/update_translation.yml new file mode 100644 index 000000000..2d42d980e --- /dev/null +++ b/.github/workflows/update_translation.yml @@ -0,0 +1,28 @@ +name: Update Translation + +on: + schedule: + - cron: "0 0 * * *" # Every day at 12am UTC. + workflow_dispatch: # As well as manually. + +jobs: + update: + if: github.repository == 'shadps4-emu/shadPS4' + name: "Update Translation" + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + + - name: Update Base Translation + run: ./.github/workflows/scripts/update_translation.sh + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v7 + with: + title: "Qt GUI: Update Translation" + commit-message: "[ci skip] Qt GUI: Update Translation." + committer: "shadPS4 Bot " + author: "shadPS4 Bot " + body: "Daily update of translation sources." + branch: update-translation + delete-branch: true diff --git a/src/qt_gui/translations/update_translation.sh b/src/qt_gui/translations/update_translation.sh new file mode 100644 index 000000000..2e3b2176f --- /dev/null +++ b/src/qt_gui/translations/update_translation.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +SCRIPTDIR=$(dirname "${BASH_SOURCE[0]}") + +OPTS="-tr-function-alias QT_TRANSLATE_NOOP+=TRANSLATE,QT_TRANSLATE_NOOP+=TRANSLATE_SV,QT_TRANSLATE_NOOP+=TRANSLATE_STR,QT_TRANSLATE_NOOP+=TRANSLATE_FS,QT_TRANSLATE_N_NOOP3+=TRANSLATE_FMT,QT_TRANSLATE_NOOP+=TRANSLATE_NOOP,translate+=TRANSLATE_PLURAL_STR,translate+=TRANSLATE_PLURAL_FS" +SRCDIRS=$(realpath "$SCRIPTDIR/..")/\ $(realpath "$SCRIPTDIR/../..")/ +OUTDIR=$(realpath "$SCRIPTDIR") + +lupdate $SRCDIRS $OPTS -locations none -source-language en -ts "$OUTDIR/en.ts"