#!/bin/bash

# script to create a correct *.pot file
#
# the problem is that the i18n() functions can be of
# one argument: i18n("translatable string")
# or of two arguments: i18n("context", "translatable string")
# this script rewrite the source files changing that second form
# into i18n("_: context\ntranslatable string") that xgettext can grok
# and produce the same kind of *.pot as expected by KDE 

rm -f POTFILES.new
(for i in `grep -v "encoding" POTFILES.in | sed 's:^:../:'`
do
 j="${i}_"
 cat ${i} | \
 sed 's|\(i18n[^(]*([^"]*"\)\([^"]*\)"[^")]*,[^")]*"|\1_: \2\\n|' > ${j}
 echo ${j} | sed 's:^...::' >> POTFILES.new
done )

intltool-update --pot && mv -f tuxpaint.pot tuxpaint_tmp.pot
/usr/bin/xgettext --from-code=UTF-8 -o tuxpaint_tmp_C.pot --directory=..  \
 --add-comments --keyword=I_ --keyword=i18n \
 --keyword=I18N_NOOP \
 --language=C \
 --files-from=./POTFILES.new
msgcat --use-first tuxpaint_tmp.pot tuxpaint_tmp_C.pot > tuxpaint.pot

( cd .. ; rm -f `cat po/POTFILES.new` )
rm -f POTFILES.new tuxpaint_tmp*.pot 

