Update update_translations script to consider several things conditionally
[mediagoblin.git] / devtools / update_translations.sh
1 #!/bin/bash
2
3 # GNU MediaGoblin -- federated, autonomous media hosting
4 # Copyright (C) 2011 Free Software Foundation, Inc
5 #
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU Affero General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU Affero General Public License for more details.
15 #
16 # You should have received a copy of the GNU Affero General Public License
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
18
19 # exit if anything fails
20 set -e
21
22 echo "==> checking out master"
23 git checkout master
24
25 echo "==> pulling git master"
26 git pull
27
28 echo "==> pulling present translations"
29 ./bin/tx pull -a
30 if git add mediagoblin/i18n/; then
31 git commit -m "Committing present MediaGoblin translations before pushing extracted messages";
32 fi
33
34 echo "==> Extracting translations"
35 ./bin/pybabel extract -F babel.ini -o mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po .
36
37 echo "==> Pushing extracted translations to Transifex"
38 ./bin/tx push -s
39
40 # gets the new strings added to all files
41 echo "==> Re-Pulling translations from Transifex"
42 ./bin/tx pull -a
43
44 echo "==> Compiling .mo files"
45 ./bin/pybabel compile -D mediagoblin -d mediagoblin/i18n/
46
47 echo "==> Committing to git"
48 if git add mediagoblin/i18n/; then
49 git commit -m "Committing extracted and compiled translations";
50 fi