squirrelmail/po/mergepo
tokul 80eb82c074 "Why do we need file extensions, when we have Unix" fix.
po - gettext message catalog
pot - gettext message catalog template
Gettext v.0.10.x does not care, but v.0.12.1 starts complaining during
string extraction or merge.
2003-09-20 09:27:00 +00:00

53 lines
1.3 KiB
Bash
Executable file

#!/bin/sh
# **
# ** This script merges global PO to locale PO files.
# ** It creates a backup of the old PO file as squirrelmail.po.bak
# ** and puts the merged version in squirrelmail.po
# **
# ** Usage: mergepo <locale id>
# ** Example: mergepo es_ES
# **
# ** Philipe Mingo <mingo@rotedic.com>
# ** Konstantin Riabitsev <icon@duke.edu>
# **
# ** $Id$
if [ -z "$1" ]; then
echo "USAGE: mergepo [localename]"
exit 1
fi
WORKDIR=../locale
LOCALEDIR=$WORKDIR/$1
if [ ! -d $LOCALEDIR ]; then
# lessee if it's been renamed.
DCOUNT=`find $WORKDIR/ -name $1* | wc -l`
if [ $DCOUNT -eq 1 ]; then
# aha
LOCALEDIR=`find $WORKDIR/ -name $1*`
elif [ $DCOUNT -gt 1 ]; then
# err out
echo "More than one locale matching this name found:"
find $WORKDIR/ -name $1*
echo "You have to be more specific."
exit 1
fi
fi
echo "Merging $LOCALEDIR/LC_MESSAGES/squirrelmail.po"
mv $LOCALEDIR/LC_MESSAGES/squirrelmail.po \
$LOCALEDIR/LC_MESSAGES/squirrelmail.po.bak
msgmerge $LOCALEDIR/LC_MESSAGES/squirrelmail.po.bak ../po/squirrelmail.pot > \
$LOCALEDIR/LC_MESSAGES/squirrelmail.po
# msgmerge will split long lines, such as the RCS Id line. If it did split
# it, join the pieces back together.
ed -s $LOCALEDIR/LC_MESSAGES/squirrelmail.po << END
/^"Project-Id-Version:/v/\\n"$/j\\
s/""//
wq
END
echo "Old po file renamed to squirrelmail.po.bak"