I18n.
[wolnelektury.git] / scripts / make-locale-pack
1 #!/bin/bash
2
3 ME=$0
4 ROOT=$(git rev-parse --show-toplevel)
5 DST=`mktemp -d`/wl-lokalizacja
6 mkdir -p $DST
7 MANAGE=$ROOT/src/manage.py
8
9
10 export_po()
11 {
12     for appdir in $ROOT/src/*/; do
13         app=`basename $appdir`
14         if [ -d $ROOT/src/$app/locale ]; then
15         for langdir in $ROOT/src/$app/locale/*; do
16             lang=`basename $langdir`
17             mkdir -p $DST/$lang
18             cp -v ${ROOT}/src/${app}/locale/${lang}/LC_MESSAGES/django.po $DST/${lang}/${app}.po
19         done
20         fi
21     done
22
23     for langdir in $ROOT/src/wolnelektury/locale-contrib/*/; do
24         lang=`basename $langdir`
25         mkdir -p "$DST/$lang"
26         cp -v "${langdir}LC_MESSAGES/django.po" "${DST}/$lang/contrib.po"
27     done
28
29     cp -v ${ROOT}/src/wolnelektury/static/js/locale.js $DST/locale.js.txt
30     cp -v ${ROOT}/src/infopages/fixtures/infopages.json $DST/infopages.json
31
32     ${0}-json.py $DST/infopages.json
33 }
34
35
36 (
37 cd $ROOT/src
38 for i in */; do
39     if [ -e "$i/locale" ]; then
40         echo "Generate po for app $i"
41         ( cd $i; $MANAGE makemessages --all;
42             )
43         else
44             echo "Skipping app $i"
45         fi
46 done
47 )
48
49 (
50     pybabel extract -F "$ROOT/babel.cfg" \
51       -o "$ROOT/src/wolnelektury/locale-contrib/django.pot" \
52       "`python -c 'import os,allauth; print os.path.dirname(allauth.__file__)'`"
53     pybabel update -D django -i "$ROOT/src/wolnelektury/locale-contrib/django.pot" \
54       -d "$ROOT/src/wolnelektury/locale-contrib"
55 )
56
57 export_po
58
59 PACK=`pwd`/wl-lokalizacja.zip
60 ( cd $DST; cd ..; zip -r $PACK wl-lokalizacja; )
61
62 rm -r $DST
63