| 1 |
fjpop-guest |
23465 |
#!/bin/sh |
| 2 |
|
|
|
| 3 |
|
|
# This script is used for translations using .po files. |
| 4 |
|
|
# It creates .xml files from the translated .po files. |
| 5 |
|
|
|
| 6 |
|
|
if [ "$1" = "--help" ] ; then |
| 7 |
|
|
echo "Usage: $0 <language>" |
| 8 |
|
|
exit 0 |
| 9 |
|
|
fi |
| 10 |
|
|
|
| 11 |
|
|
language=${1:-pl} |
| 12 |
|
|
|
| 13 |
fjpop-guest |
25877 |
BUILDDIR="./build" |
| 14 |
|
|
if [ -z "$PO_USEBUILD" ] ; then |
| 15 |
|
|
WORKDIR="./integrated" |
| 16 |
|
|
PODIR="./po" |
| 17 |
|
|
else |
| 18 |
|
|
WORKDIR="$BUILDDIR/build.po" |
| 19 |
|
|
PODIR="$BUILDDIR/build.po" |
| 20 |
|
|
fi |
| 21 |
fjpop-guest |
23465 |
SOURCEDIR="$WORKDIR/en" |
| 22 |
fjpop-guest |
25877 |
# Don't overwrite XML translations committed to SVN |
| 23 |
fjpop-guest |
25848 |
if [ -d "./$language/.svn" ] ; then |
| 24 |
fjpop-guest |
25877 |
TARGETDIR="./$language.new" |
| 25 |
fjpop-guest |
25848 |
else |
| 26 |
fjpop-guest |
25877 |
TARGETDIR="./$language" |
| 27 |
fjpop-guest |
25848 |
fi |
| 28 |
|
|
RET=0 |
| 29 |
fjpop-guest |
23465 |
|
| 30 |
|
|
[ -d "$SOURCE" -o -d "$PODIR" ] || exit 1 |
| 31 |
|
|
|
| 32 |
fjpop-guest |
25877 |
[ -d "$TARGETDIR" ] && rm -r $TARGETDIR |
| 33 |
fjpop-guest |
23465 |
|
| 34 |
fjpop-guest |
25877 |
echo "Creating XML files for language '$language':" |
| 35 |
fjpop-guest |
23465 |
for ORIGXML in `find $SOURCEDIR -name "*.xml"` ; do |
| 36 |
fjpop-guest |
25848 |
BASEDIR=$(dirname $ORIGXML | sed "s:$SOURCEDIR::" | sed "s:^/::") |
| 37 |
fjpop-guest |
23465 |
BASENAME=$(basename $ORIGXML .xml) |
| 38 |
fjpop-guest |
25877 |
PO=$PODIR/$language/$BASENAME.po |
| 39 |
|
|
XML=$TARGETDIR/$BASEDIR/$BASENAME.xml |
| 40 |
fjpop-guest |
23465 |
|
| 41 |
fjpop-guest |
25877 |
mkdir -p $TARGETDIR/$BASEDIR |
| 42 |
fjpop-guest |
23465 |
|
| 43 |
|
|
if [ -f $PO ] ; then |
| 44 |
fjpop-guest |
26062 |
echo "- creating $BASENAME.xml" |
| 45 |
fjp |
32343 |
# Make sure po file is UTF8 encoded; po2xml does no conversion |
| 46 |
|
|
msgconv -t utf-8 $PO >/tmp/tmp.po.$$ |
| 47 |
fjpop-guest |
25848 |
RC=$? |
| 48 |
|
|
if [ $RC -ne 0 ] ; then |
| 49 |
|
|
RET=$RC |
| 50 |
fjp |
32343 |
echo "Error: error $RC while executing msgconv" |
| 51 |
|
|
continue |
| 52 |
|
|
fi |
| 53 |
|
|
po2xml $ORIGXML /tmp/tmp.po.$$ > $XML |
| 54 |
|
|
RC=$? |
| 55 |
|
|
if [ $RC -ne 0 ] ; then |
| 56 |
|
|
RET=$RC |
| 57 |
fjpop-guest |
26062 |
echo "Error: error $RC while executing po2xml" |
| 58 |
fjp |
32343 |
continue |
| 59 |
fjpop-guest |
25848 |
fi |
| 60 |
fjpop-guest |
23465 |
else |
| 61 |
fjpop-guest |
26062 |
echo "Warning: no PO file found for '$BASENAME'; copying English original" |
| 62 |
fjpop-guest |
25877 |
cp $ORIGXML $TARGETDIR/$BASEDIR |
| 63 |
fjpop-guest |
23465 |
fi |
| 64 |
|
|
done |
| 65 |
|
|
|
| 66 |
fjp |
32343 |
rm -f /tmp/tmp.po.$$ |
| 67 |
fjpop-guest |
25848 |
exit $RET |