diff --git a/tools/pull-translations.sh b/tools/pull-translations.sh new file mode 100755 index 000000000..cef31e322 --- /dev/null +++ b/tools/pull-translations.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# +# Copyright © 2016 Daniel Martí +# Copyright © 2016 Zetok Zalbavar +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# This script pulls translations from weblate. +# +# It squashes all the changes into a single commit. This removes authorship +# from the changes, which is given to the Translatebot, so to keep the names +# they are grabbed from git log and added to the commit message. +# +# Note that this will apply changes and commit them! Make sure to not have +# uncommited changes when running this script. +# +# Note 2: after applying changes, files will be cleaned up before committing. + +REMOTE="weblate" +REMOTE_URL="git://git.weblate.org/qtox.git" +REMOTE_BRANCH="master" + +AUTHOR="qTox translations <>" + +if ! git ls-remote --exit-code $REMOTE >/dev/null 2>/dev/null; then + git add "$REMOTE" "$REMOTE_URL" + git fetch "$REMOTE" +fi + +ref="${REMOTE}/${REMOTE_BRANCH}" +diff="HEAD...$ref -- translations/*.ts" + +authors=$(git log --format="%s %an" $diff | \ + sed 's/Translated using Weblate (\(.*\)) \(.*\)/\2||\1/' | sort -f -u | column -s '||' -t) + +git diff $diff | git apply + +# clean up before committing +bash tools/update-translation-files.sh + +git add translations/* + +git commit --author "$AUTHOR" -m "feat(l10n): Update translations from Weblate + +Translators: + +$authors" diff --git a/tools/update-translation-files.sh b/tools/update-translation-files.sh new file mode 100755 index 000000000..dc9a0bf5b --- /dev/null +++ b/tools/update-translation-files.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# +# Copyright © 2016 Zetok Zalbavar +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Script for updating translation files. Should be ran after +# translatable strings are modified. +# +# Needed, since Weblate cannot do it automatically. + +# Usage: +# ./tools/$script_name + +for translation in translations/*.ts +do + lupdate -pro qtox.pro -no-obsolete -locations none -ts $translation +done