findAddress() can return FALSE as well as zero
[squirrelmail.git] / po / mergepo
1 #!/bin/sh
2
3 # **
4 # ** This script merges global PO to locale PO files.
5 # ** It creates a backup of the old PO file as squirrelmail.po.bak
6 # ** and puts the merged version in squirrelmail.po
7 # **
8 # ** Usage: mergepo <locale id>
9 # ** Example: mergepo es_ES
10 # **
11 # ** Philipe Mingo <mingo@rotedic.com>
12 # ** Konstantin Riabitsev <icon@duke.edu>
13 # **
14 # ** $Id$
15
16 if [ -z "$1" ]; then
17 echo "USAGE: mergepo [localename]"
18 exit 1
19 fi
20
21 WORKDIR=../locale
22 LOCALEDIR=$WORKDIR/$1
23
24 if [ ! -d $LOCALEDIR ]; then
25 # lessee if it's been renamed.
26 DCOUNT=`find $WORKDIR/ -name $1* | wc -l`
27 if [ $DCOUNT -eq 1 ]; then
28 # aha
29 LOCALEDIR=`find $WORKDIR/ -name $1*`
30 elif [ $DCOUNT -gt 1 ]; then
31 # err out
32 echo "More than one locale matching this name found:"
33 find $WORKDIR/ -name $1*
34 echo "You have to be more specific."
35 exit 1
36 fi
37 fi
38
39 echo "Merging $LOCALEDIR/LC_MESSAGES/squirrelmail.po"
40 mv $LOCALEDIR/LC_MESSAGES/squirrelmail.po \
41 $LOCALEDIR/LC_MESSAGES/squirrelmail.po.bak
42 msgmerge $LOCALEDIR/LC_MESSAGES/squirrelmail.po.bak ../po/squirrelmail.pot > \
43 $LOCALEDIR/LC_MESSAGES/squirrelmail.po
44
45 # msgmerge will split long lines, such as the RCS Id line. If it did split
46 # it, join the pieces back together.
47 ed -s $LOCALEDIR/LC_MESSAGES/squirrelmail.po << END
48 /^"Project-Id-Version:/v/\\n"$/j\\
49 s/""//
50 wq
51 END
52
53 echo "Old po file renamed to squirrelmail.po.bak"