X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~cjwatson/git?a=blobdiff_plain;f=rosetta-merge;h=b34676cfc1dae68882259d28d295bcfd26f56285;hb=5cb09f50acd2cbad97effa5d6465905604a70428;hp=58bb1fab38fe2d90b810d0fafb148e12904ed563;hpb=1ddf5a972595fcf9b788bb5ef479b36554958ee3;p=bin.git diff --git a/rosetta-merge b/rosetta-merge index 58bb1fa..b34676c 100755 --- a/rosetta-merge +++ b/rosetta-merge @@ -6,14 +6,45 @@ if [ "$1" = --apply ]; then shift fi -case $2 in +KEEP_OLD=false +if [ "$1" = --keep-old ]; then + KEEP_OLD=: + shift +fi + +PREFIX= +if [ "$1" = --prefix ]; then + PREFIX="$2-" + shift 2 +fi + +SOURCE="$1" +shift + +MY_LANG="$1" +case $MY_LANG in pa_IN) ROSETTA_LANG=pa ;; *) - ROSETTA_LANG="$2" + ROSETTA_LANG="$MY_LANG" ;; 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 - | msgmerge -q -N - <(msgconv -t UTF-8 $2.po | msgattrib --no-obsolete -) | msgattrib --no-obsolete - | if $APPLY; then sponge $2.po; else diff -u --label $2.po <(msgconv -t UTF-8 $2.po) -; fi +[ -e $SOURCE/$PREFIX$ROSETTA_LANG.po ] || exit +msgmerge -q -N <(msgconv -t UTF-8 $SOURCE/$PREFIX$ROSETTA_LANG.po | msgattrib --no-obsolete -) *.pot | msgattrib --no-obsolete $MSGATTRIB_OPTS - | \ + if [ -e $MY_LANG.po ]; then + if $KEEP_OLD; then + msgmerge -q -N <(msgconv -t UTF-8 $MY_LANG.po | msgattrib --no-obsolete -) *.pot -C - + else + msgmerge -q -N - <(msgconv -t UTF-8 $MY_LANG.po | msgattrib --no-obsolete -) + fi | \ + msgattrib --no-obsolete - + else + cat + fi | \ + if $APPLY; then + sponge $MY_LANG.po + else + diff -u --label $MY_LANG.po <(msgconv -t UTF-8 $MY_LANG.po) - + fi