#! /bin/bash usage () { [ "$1" = 0 ] || exec >&2 echo "Usage: $0 [--apply] [--keep-old] [--prefix PREFIX] SOURCE LANG" exit "$1" } die_getopt () { echo "getopt failed" >&2 exit 1 } APPLY=false KEEP_OLD=false PREFIX= eval set -- "$(getopt -o '' -l apply,keep-old,prefix:,help -- "$@")" || die_getopt while :; do case $1 in --apply) APPLY=: shift ;; --keep-old) KEEP_OLD=: shift ;; --prefix) PREFIX="${2%-}-" shift 2 ;; --help) usage 0 shift ;; --) shift; break ;; *) die_getopt ;; esac done [ "$1" ] || usage 1 SOURCE="$1" shift MY_LANG="$1" case $MY_LANG in pa_IN) ROSETTA_LANG=pa ;; *) ROSETTA_LANG="$MY_LANG" ;; esac [ -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