#! /bin/bash
-[ -e ../../../rosetta-$1/$2.po ] || exit
-msgmerge -q <(msgconv -t UTF-8 ../../../rosetta-$1/$2.po | msgattrib --no-obsolete -) <(msgconv -t UTF-8 $2.po | msgattrib --no-obsolete -) | msgmerge -q - <(msgconv -t UTF-8 $2.po | msgattrib --no-obsolete -) | diff -u --label $2.po <(msgconv -t UTF-8 $2.po) -
+
+APPLY=false
+if [ "$1" = --apply ]; then
+ APPLY=:
+ shift
+fi
+
+case $2 in
+ pa_IN)
+ ROSETTA_LANG=pa
+ ;;
+ *)
+ ROSETTA_LANG="$2"
+ ;;
+esac
+
+[ -e $1/$ROSETTA_LANG.po ] || exit
+msgmerge -q -N <(msgconv -t UTF-8 $1/$ROSETTA_LANG.po | msgattrib --no-obsolete -) *.pot | msgattrib --no-obsolete $MSGATTRIB_OPTS - | \
+ if [ -e $2.po ]; then
+ msgmerge -q -N - <(msgconv -t UTF-8 $2.po | msgattrib --no-obsolete -) | msgattrib --no-obsolete -
+ else
+ cat
+ fi | \
+ if $APPLY; then
+ sponge $2.po
+ else
+ diff -u --label $2.po <(msgconv -t UTF-8 $2.po) -
+ fi