add script that eases the creation of *.po files
[claws.git] / tools / update-po
1 #!/bin/sh
2
3 # update-po -- for Sylpheed
4 # by Wilbert Berendsen
5 # This script updates the .po files named on the command line.
6 # Run this script from within the po/ directory!
7
8 if [ "$1" -a -f "$1" ] ; then
9
10         
11         #
12         # Make a messages.pot file containing all the msgid's from
13         # the source
14
15         make -C .. -f - <<EOF
16
17 sources = \$(shell cat po/POTFILES.in)
18 po/messages.pot: \$(sources) po/POTFILES.in
19         xgettext --keyword=N_ --keyword=_ --file=po/POTFILES.in \
20                 --output=po/messages.pot
21 EOF
22
23         #
24         # Update all the xx.po files named on the commandline.
25
26         for po in $@ ; do
27         
28                 # Save xx.po in xx.po.old
29
30                 cp $po $po.old
31                 echo "Updating $po..."
32                 msgmerge $po.old messages.pot > $po
33         done
34
35 else
36
37         echo
38         echo "Usage:"
39         echo
40         echo "        ./`basename $0` lang.po lang2.po ..."
41         echo
42         echo "to update one or more <yourlang>.po files from the sourcecode files"
43         echo "named in POTFILES.in. The old .po file is save in a .po.old file."
44         echo
45         echo "When you e.g. want to update fr.po, run ./`basename $0` fr.po, then"
46         echo "edit fr.po to update your translation."
47         echo
48
49 fi