gnome-patch-translation/gnome-patch-translation-prepare

52 lines
1.1 KiB
Bash

#! /bin/bash
if test "$1" = "--help" ; then
echo "Patch translation update tool works in top directory of unpacked source code."
echo "$0 is an utility that is called before applying of patches."
echo "Usage: $0 [translation_directory] [translation_domain] [command to create pot file]"
fi
set -o errexit
shopt -s nullglob
TOP_DIR=$PWD
DIR=${1:-po}
DOMAIN=$2
if test -d "$1" ; then
EXT=."$1"
else
EXT=
fi
cd "$DIR"
# This action takes some time. But run it every time to confirm, that update is still needed.
if test -z "$3" ; then
if test -z "$DOMAIN" ; then
intltool-update --pot
else
intltool-update --gettext-package=$DOMAIN --pot
fi
else
eval $3
fi
POT_NOT_UNIQUE=false
MISSING=true
for POT in *.pot ; do
if $POT_NOT_UNIQUE ; then
echo "ERROR: Directory $DIR contains more than one .pot file."
exit 1
fi
POT_NOT_UNIQUE=true
MISSING=false
mkdir -p "../gnome-patch-translation$EXT/old"
mv "$POT" "../gnome-patch-translation$EXT/old"
done
if $MISSING ; then
echo "ERROR: Directory $DIR does not contains any .pot file."
exit 1
fi