Update pofiles
[apps/home/phone-contacts.git] / po / update-po.sh
1 #!/bin/sh
2
3 PACKAGE=phone
4 SRCROOT=..
5 POTFILES=POTFILES.in
6
7 ALL_LINGUAS="az bg ca cs da de_DE el_GR en en_PH en_US es_ES es_US et eu fi fr_CA fr_FR ga gl hi hr hu hy is it_IT ja_JP ka kk ko_KR lt lv mk nl_NL pl pt_BR pt_PT ro ru_RU sk sl sr sv tr_TR uk zh_CNzh_HK zh_SG zh_TW"
8
9 XGETTEXT=/usr/bin/xgettext
10 MSGMERGE=/usr/bin/msgmerge
11
12 echo -n "Make ${PACKAGE}.pot  "
13 if [ ! -e $POTFILES ] ; then
14    echo "$POTFILES not found"
15    exit 1
16 fi
17
18 $XGETTEXT --default-domain=${PACKAGE} --directory=${SRCROOT} \
19       --keyword=_ --keyword=N_ --files-from=$POTFILES
20 if [ $? -ne 0 ]; then
21    echo "xgettext error"
22    exit 1
23 fi
24
25 if [ ! -f ${PACKAGE}.po ]; then
26    echo "No such file: ${PACKAGE}.po"
27    exit 1
28 fi
29
30 rm -f ${PACKAGE}.pot && mv ${PACKAGE}.po ${PACKAGE}.pot
31 echo "done"
32
33 for LANG in $ALL_LINGUAS; do
34    echo "$LANG : "
35
36    if [ ! -e $LANG.po ] ; then
37       sed 's/CHARSET/UTF-8/g' ${PACKAGE}.pot > ${LANG}.po
38       echo "${LANG}.po created"
39    else
40       if $MSGMERGE ${LANG}.po ${PACKAGE}.pot -o ${LANG}.new.po ; then
41          if cmp ${LANG}.po ${LANG}.new.po > /dev/null 2>&1; then
42             rm -f ${LANG}.new.po
43          else
44             if mv -f ${LANG}.new.po ${LANG}.po; then
45                echo ""
46             else
47                echo "msgmerge for $LANG.po failed: cannot move $LANG.new.po to $LANG.po" 1>&2
48                rm -f ${LANG}.new.po
49                exit 1
50             fi
51          fi
52       else
53          echo "msgmerge for $LANG failed!"
54          rm -f ${LANG}.new.po
55       fi
56    fi
57    echo ""
58 done
59