#!/bin/sh if [ $# -lt 1 ]; then echo "Usage: $0 scriptfile [uifiles]*" >/dev/stderr exit 1 fi FILE="$TMPDIR/$(basename $0).$RANDOM.$$.tmp" FILE2="$TMPDIR/$(basename $0).$RANDOM.$$.tmp" FILE3="$TMPDIR/$(basename $0).$RANDOM.$$.tmp" CONTEXT=`basename $1 | sed -e 's,\([^.]*\)\..*,\1,'` # first work on the script file sed -ne 's/qsTr *( *"\(\([^"\\]*\(\\.\)*\)*\)"/\ TRANSLATE\1TRANSLATE\ /pg' $1 | sed -ne 's,^TRANSLATE\(.*\)TRANSLATE$,\1,p' | sed -e 's/\\"/";/g' | sed -e 's/ $FILE # remove duplicates sort -u $FILE > $FILE3 mv $FILE3 $FILE echo "" > $FILE2 echo "" >> $FILE2 echo "" >> $FILE2 echo " $CONTEXT" >> $FILE2 sed -e 's/\(.*\)/ \ \1<\/source>\ <\/translation>\ <\/message>/' < $FILE >> $FILE2 echo "" >> $FILE2 while [ $# -gt 1 ]; do shift CONTEXT=`sed -ne 's,.*\([^<]*\).*,\1,p' $1` echo "" >> $FILE2 echo " $CONTEXT" >> $FILE2 # then work on the ui files sed -ne 's/\([^<\\]*\)<\/string>/\ TRANSLATE\1TRANSLATE\ /pg' $1 | sed -ne 's,^TRANSLATE\(.*\)TRANSLATE$,\1,p' | sed -e 's/\\"/";/g' | sed -e 's/ $FILE # remove duplicates sort -u $FILE > $FILE3 mv $FILE3 $FILE sed -e 's/\(.*\)/ \ \1<\/source>\ <\/translation>\ <\/message>/' < $FILE >> $FILE2 echo "" >> $FILE2 done echo "" >> $FILE2 cat $FILE2 rm $FILE rm $FILE2 exit 0