Fix issue
[apps/home/taskmanager.git] / po / update-po.sh
1 #!/bin/sh
2
3 PACKAGE=taskmgr
4 SRCROOT=../src
5 POTFILES=POTFILES.in
6
7 #ALL_LINGUAS= am az be ca cs da de el en_CA en_GB es et fi fr hr hu it ja ko lv mk ml ms nb ne nl pa pl pt pt_BR ru rw sk sl sr sr@Latn sv ta tr uk vi zh_CN zh_TW
8 ALL_LINGUAS="en_US en_GB ja ko zh_CN"
9
10 XGETTEXT=/usr/bin/xgettext
11 MSGMERGE=/usr/bin/msgmerge
12
13 echo -n "Make ${PACKAGE}.pot  "
14 if [ ! -e $POTFILES ] ; then
15         echo "$POTFILES not found"
16         exit 1
17 fi
18
19 $XGETTEXT --default-domain=${PACKAGE} --directory=${SRCROOT} \
20                 --add-comments --keyword=_ --keyword=N_ --files-from=$POTFILES \
21 && test ! -f ${PACKAGE}.po \
22         || (rm -f ${PACKAGE}.pot && mv ${PACKAGE}.po ${PACKAGE}.pot)
23
24 if [ $? -ne 0 ]; then
25         echo "error"
26         exit 1
27 else
28         echo "done"
29 fi
30
31 for LANG in $ALL_LINGUAS; do 
32         echo "$LANG : "
33
34         if [ ! -e $LANG.po ] ; then
35                 cp ${PACKAGE}.pot ${LANG}.po
36                 echo "${LANG}.po created"
37         else
38                 if $MSGMERGE ${LANG}.po ${PACKAGE}.pot -o ${LANG}.new.po ; then
39                         if cmp ${LANG}.po ${LANG}.new.po > /dev/null 2>&1; then
40                                 rm -f ${LANG}.new.po
41                         else
42                                 if mv -f ${LANG}.new.po ${LANG}.po; then
43                                         echo "" 
44                                 else
45                                         echo "msgmerge for $LANG.po failed: cannot move $LANG.new.po to $LANG.po" 1>&2
46                                         rm -f ${LANG}.new.po
47                                         exit 1
48                                 fi
49                         fi
50                 else
51                         echo "msgmerge for $LANG failed!"
52                         rm -f ${LANG}.new.po
53                 fi
54         fi
55         echo ""
56 done
57