#!/bin/sh # This script is used for translations using .po files. # It updates .po files after changes in the original English # .xml files. # The scripts 'merge_xml' and 'update-pot' should be run before # this script! if [ "$1" = "--help" ] ; then echo "Usage: $0 " exit 0 fi if [ -z "`which msgmerge 2>/dev/null`" ] ; then echo "ERR: Msgmerge not found, please install the gettext package" exit 1 fi language=${1:-pl} SPODIR="./po" BUILDDIR="./build" if [ -z "$PO_USEBUILD" ] ; then PODIR=$SPODIR else PODIR="$BUILDDIR/build.po" mkdir -p $PODIR/$language fi RET=0 [ -d "$PODIR" ] || exit 1 echo "Updating PO files for language '$language':" for POT in `find $PODIR/pot -name "*.pot"` ; do BASENAME="$(basename $POT .pot)" PO=$PODIR/$language/$BASENAME.po SPO=$SPODIR/$language/$BASENAME.po if [ -f $SPO ] ; then echo "- updating $BASENAME.po" if [ -z "$PO_USEBUILD" ] ; then # Update existing PO file msgmerge -q -U --previous --backup=simple -w 79 $PO $POT msgcat -o $PO $PO RC=$? else # Generate temporary PO file in build directory msgmerge -q -w 79 $SPO $POT -o $PO RC=$? fi if [ $RC -ne 0 ] ; then RET=$RC echo "Error: error $RC while executing msgmerge" fi else echo "Warning: no PO file found for '$BASENAME'." fi done exit $RET