33 lines
1 KiB
Bash
Executable file
33 lines
1 KiB
Bash
Executable file
#!/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
|
|
|
|
exit
|
|
|
|
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
|
|
|