#!/bin/bash

package=xx$(egrep "^DOMAIN" Makevars | sed "s/DOMAIN = //g")xx
potfile=${package}.pot

./intltool-update --pot --gettext-package=$package
podebug --rewrite=xxx -f "" --progress=none $potfile de_DE.po
podebug --rewrite=xxx -f "" --ignore=gtk --progress=none gtk20-lite.pot de_DE-lite.po
podebug --rewrite=xxx -f "" --progress=none gtk-spell.pot de_DE-spell.po
# Prepare 639 by copying French (which is always 100%), turning it into English
# and then making it xxx
msgunfmt /usr/share/locale/fr/LC_MESSAGES/iso_639.mo > fr-639-tmp.po
podebug --rewrite=en -f "" --progress=none fr-639-tmp.po en-639-tmp.po
podebug --rewrite=xxx -f "" --progress=none en-639-tmp.po de_DE-639.po
rm en-639-tmp.po fr-639-tmp.po
# Do the same for 3166 as 639
msgunfmt /usr/share/locale/fr/LC_MESSAGES/iso_3166.mo > fr-3166-tmp.po
podebug --rewrite=en -f "" --progress=none fr-3166-tmp.po en-3166-tmp.po
podebug --rewrite=xxx -f "" --progress=none en-3166-tmp.po de_DE-3166.po
rm en-3166-tmp.po fr-3166-tmp.po
for po in $(ls *.po | egrep -v lite)
do
	modir=mo/$(basename $po .po)/LC_MESSAGES
	gtklite=$(basename $po .po)-lite.po
	gtkreal=/usr/share/locale/$(basename $po .po)/LC_MESSAGES/gtk20.mo
	gtkspell=$(basename $po .po)-spell.po
	gtkspellreal=/usr/share/locale/$(basename $po .po)/LC_MESSAGES/gtkspell.mo
	iso639lite=$(basename $po .po)-639.po
	iso639=/usr/share/locale/$(basename $po .po)/LC_MESSAGES/iso_639.mo
	iso3166lite=$(basename $po .po)-3166.po
	iso3166=/usr/share/locale/$(basename $po .po)/LC_MESSAGES/iso_3166.mo
	mkdir -p $modir
	msgfmt -o $modir/virtaal.mo $po
        if [ -f $gtklite ]; then
		msgfmt -o $modir/gtk20.mo $gtklite
	elif [ -f $gtkreal ]; then
		cp $gtkreal $modir
	fi
        if [ -f $gtkspell ]; then
		msgfmt -o $modir/gtkspell.mo $gtkspell
	elif [ -f $gtkspellreal ]; then
		cp $gtkspellreal $modir
	fi
        if [ -f $iso639lite ]; then
		msgfmt -o $modir/iso_639.mo $iso639lite
	elif [ -f $iso639 ]; then
		cp $iso639 $modir
	fi
        if [ -f $iso3166lite ]; then
		msgfmt -o $modir/iso_3166.mo $iso3166lite
	elif [ -f $iso3166 ]; then
		cp $iso3166 $modir
	fi
done

lang=$(echo $1 |sed "s/\.po$//")
export LANGUAGE=../../../../../../../../$(pwd)/mo/${lang:-de_DE}:$LANGUAGE
echo "LANGUAGE=$LANGUAGE"
# This assumes that the following executable is in your PATH
virtaal
rm -f $potfile de_DE*
