From 94e90c77d0bd141d2a068c50ce02207ee87bef3b Mon Sep 17 00:00:00 2001 From: Boris Bobrov Date: Sun, 7 Dec 2014 20:54:16 +0300 Subject: [PATCH] Added facilities for Pootle. Previously we used Transifex as a web-tool for translations. Some time ago Transifex went proprietary and we decided to move to Pootle. Old script for updating translations was renamed and a new one was added. Also a script for making the layout more Pootle-friendly was added. To accomplish the transition first run the old script: ./devtools/update_translations_transifex.sh Then run the layout changing script: ./devtools/move_translations_for_pootle.sh Commit and push. After that use the new ./devtools/update_translations_pootle.sh to update the translations. Closes bug: #913 --- devtools/move_translations_for_pootle.sh | 31 ++++++++++++++ devtools/update_translations_pootle.sh | 42 +++++++++++++++++++ ...ns.sh => update_translations_transifex.sh} | 0 3 files changed, 73 insertions(+) create mode 100755 devtools/move_translations_for_pootle.sh create mode 100755 devtools/update_translations_pootle.sh rename devtools/{update_translations.sh => update_translations_transifex.sh} (100%) diff --git a/devtools/move_translations_for_pootle.sh b/devtools/move_translations_for_pootle.sh new file mode 100755 index 00000000..b80d4e15 --- /dev/null +++ b/devtools/move_translations_for_pootle.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 GNU MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +# exit if anything fails +set -e + +# move the files to Pootle-friendly layout +for lang in $(ls mediagoblin/i18n/); do + from="mediagoblin/i18n/$lang/LC_MESSAGES/mediagoblin.po" + to="mediagoblin/i18n/$lang/mediagoblin.po" + git mv $from $to +done + +# english is not required and is Pootle's "template" now +mkdir mediagoblin/i18n/templates/ +git mv mediagoblin/i18n/en/ mediagoblin/i18n/templates/ diff --git a/devtools/update_translations_pootle.sh b/devtools/update_translations_pootle.sh new file mode 100755 index 00000000..161f1acd --- /dev/null +++ b/devtools/update_translations_pootle.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 GNU MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +# exit if anything fails +set -e + +echo "==> checking out master" +git checkout master + +echo "==> pulling git master" +git pull + +echo "==> pulling present translations" +rsync -vaz chapters.gnu.org::pootle/mediagoblin/ mediagoblin/i18n/ + +echo "==> Extracting translations" +./bin/pybabel extract -F babel.ini -o mediagoblin/i18n/templates/mediagoblin.pot . + +echo "==> Compiling .mo files" +./bin/pybabel compile -D mediagoblin -d mediagoblin/i18n/ + +echo "==> Committing to git" +git add mediagoblin/i18n/ + +git commit -m "Committing extracted and compiled translations" || true + +echo "... done. Now consider pushing up those commits!" diff --git a/devtools/update_translations.sh b/devtools/update_translations_transifex.sh similarity index 100% rename from devtools/update_translations.sh rename to devtools/update_translations_transifex.sh