aboutsummaryrefslogtreecommitdiffstats
path: root/devtools/update_translations_pootle.sh
blob: 56fdf2015ee7829a5cf1e3fd0ddac7db0ee09988 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/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 <http://www.gnu.org/licenses/>.

# 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"
## This used to be a lot simpler...
##
## But now we have a Lojban translation that we can't compile
## currently.  We don't want to get rid of it because we want it... see 
## https://issues.mediagoblin.org/ticket/1070
## to track progress.

for file in `find mediagoblin/i18n/ -name "*.po"`; do
    if [ "$file" != "mediagoblin/i18n/jbo/mediagoblin.po" ] && \
       [ "$file" != "mediagoblin/i18n/templates/en/mediagoblin.po" ]; then 
        ./bin/pybabel compile -i $file \
                      -o `dirname $file`/mediagoblin.mo \
                      -l `echo $file | awk -F / '{ print $3 }'`;
    else
        echo "Skipping $file which pybabel can't compile :("; 
    fi;
done

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!"