#! /bin/bash

basedir=debian/l10n

_convert2po()
{
    local lc=${1#*_*}
    lc=${lc%*.sdf}

    rm -rf $basedir/$lc
    mkdir -p $basedir/$lc
    $basedir/../scripts/splitgsi $basedir/export/GSI_$lc.sdf $basedir/$lc
    cd $basedir/$lc
    for f in *.sdf; do
	d=${f%*.sdf}
	mkdir -p ../$d $d
	if [ "$lc" = en-US ]; then
	    oo2po -P --progress=names --multifile=onefile -o ../$d/$d.pot $f
	else
	    oo2po --progress=names --multifile=onefile -l $lc -o ../$d/$lc.po $f
	fi
	rmdir $d
    done
    cd - >/dev/null
    rm -rf $basedir/$lc
}

_convert2po_nosplit()
{
    local lc=${1#*_*}
    lc=${lc%*.sdf}

    rm -rf $basedir/$lc
    mkdir -p $basedir/$lc
    gsi=$basedir/export/GSI_$lc.sdf
    if [ "$lc" = en-US ]; then
	oo2po -P --progress=names --multifile=single -o $basedir/$lc $gsi
	for f in $(cd $basedir/$lc && find * -type f); do
	    d=${f%*.pot}
	    mkdir -p $basedir/po/$d
	    mv -f $basedir/$lc/$f $basedir/po/$d/${f##*/}
	done
    else
	oo2po --progress=names --multifile=single -l $lc -o $basedir/$lc $gsi
	for f in $(cd $basedir/$lc && find * -type f); do
	    d=${f%*.po}
	    mkdir -p $basedir/po/$d
	    mv -f $basedir/$lc/$f $basedir/po/$d/$lc.po
	done
    fi
    rm -rf $basedir/$lc
}

lc2rlc()
{
    local rlc
    lc=$(echo $1 | tr - _)
    case "$lc" in
	*_IN) lc=${lc%*_IN};;
	be_BY) lc=be;;
	sr_CS) lc=sr;;
	ti_ER) lc=ti;;
    esac
    echo $lc
}

export PYTHONPATH=~/translate

oldbasedir=../source/debian/l10n
newbasedir=$(pwd)/ubuntu/l10n
rosettadir=$(pwd)/../ooo-dapper-2006-08-30

_convert2oo()
{
    local lc=$1
    [ "$lc" = en-US ] && return
    rm -rf $newbasedir/$lc
    mkdir -p $newbasedir/$lc
    $basedir/../scripts/splitgsi $oldbasedir/export/GSI_$lc.sdf $newbasedir/$lc
    rlc=$(lc2rlc $lc)
    cd $newbasedir/$lc
    for f in *.sdf; do
        d=${f%*.sdf}
	po=$rosettadir/rosetta-$d/$lc.po
	if [ $lc != $rlc ]; then
	    ln -sf $rlc.po $rosettadir/rosetta-$d/$lc.po
	fi
	[ -f $po ] || continue
        echo $d
	cp -p $d.sdf $d.oo
        po2oo --multifile=onefile -l $lc -i $po -o ${f}2 -t $d.oo
	rm -f $d.oo
    done
    mkdir unused
    mv ooo-guide-* ooo-help-* unused/
    cat *.sdf2 > ../GSI_$lc.sdf
    cd - >/dev/null
}

convert=`basename $0`

for lc in "$@"; do
    echo $convert $lc
    _${convert}_nosplit $lc
done
