0,0 → 1,83 |
#!/bin/sh |
# $Id: sort_lang.sh,v 2.1 2003/11/26 20:42:58 nijel Exp $ |
## |
# Shell script to make each language file neat and tidy |
# |
# Robin Johnson <robbat2@users.sourceforge.net> |
# August 9, 2002 |
## |
|
specialsort() |
{ |
in=$1 |
out=$2 |
|
STRINGORDER="A B C D E F G H I J K L M N O P Q R S T U V W X Y Z" |
|
for i in $STRINGORDER; |
do |
egrep '^\$str'$i $in | sort >> $out |
echo >> $out |
done |
} |
|
sortlang() |
{ |
f=$1 |
targetdir=tmp-$f |
mkdir -p $targetdir |
|
TRANSLATIONSTRING='//.*translate.*$' |
STRINGSTRING='^\$str[[:alnum:]_]+' |
WHITESPACE='^[[:blank:]]*$' |
CVSID='/\* \$Id: sort_lang.sh,v 2.1 2003/11/26 20:42:58 nijel Exp $ \*/' |
|
echo -n "Extracting:" |
echo -n " head" |
egrep -i -v $TRANSLATIONSTRING $f | \ |
egrep -v "$STRINGSTRING|$CVSID|\?>|<\?php" >> $targetdir/head |
|
echo -n " cvs" |
egrep "$CVSID" $f >>$targetdir/cvs |
|
echo -n " strings" |
egrep -i -v "$WHITESPACE|$TRANSLATIONSTRING" $f | \ |
egrep $STRINGSTRING > $targetdir/tmp-tosort |
|
echo -n " pending_translations" |
egrep -i "$STRINGSTRING.*$TRANSLATIONSTRING" $f > $targetdir/tmp-translate |
echo |
|
echo -n "Building:" |
echo -n " strings" |
specialsort $targetdir/tmp-tosort $targetdir/sort |
|
echo -n " pending_translations" |
if [ -s $targetdir/tmp-translate ] ; then |
echo '// To translate:' > $targetdir/translate |
specialsort $targetdir/tmp-translate $targetdir/translate |
else |
echo -n > $targetdir/translate |
fi |
echo |
|
echo "Assembling final" |
echo "<?php" > $f |
cat $targetdir/cvs $targetdir/head $targetdir/sort $targetdir/translate \ |
| uniq >> $f |
echo "?>" >> $f |
|
rm -rf $targetdir |
} |
|
echo "-------------------------------------------------------------------" |
for i in "$@"; |
do |
if [ ! -f $i ] ; then |
echo "$i is not a file, skipping" |
else |
echo "Sorting $i" |
sortlang $i |
fi |
echo "-------------------------------------------------------------------" |
done; |