Files
phpmyadmin/scripts/remove-incomplete-mo
2011-04-05 15:31:15 +02:00

47 lines
1.0 KiB
Bash
Executable File

#!/bin/sh
#
# Removes mo files for incomplete translations
#
set -e
#
# How many percent needs to be translated
#
THRESHOLD=50
if [ ! -z "$1" ] ; then
THRESHOLD=$1
fi
check() {
lang=`echo $1 | sed 's@po/\(.*\)\.po@\1@'`
STATS=`LANG=C msgfmt --statistics -o /dev/null $1 2>&1`
if echo $STATS | grep -q ' translated ' ; then
TRANSLATED=`echo $STATS | sed 's/\(^\|.* \)\([0-9]*\) translated.*/\2/'`
else
TRANSLATED=0
fi
if echo $STATS | grep -q ' fuzzy ' ; then
FUZZY=`echo $STATS | sed 's/\(^\|.* \)\([0-9]*\) fuzzy.*/\2/'`
else
FUZZY=0
fi
if echo $STATS | grep -q ' untranslated ' ; then
UNTRANSLATED=`echo $STATS | sed 's/\(^\|.* \)\([0-9]*\) untranslated.*/\2/'`
else
UNTRANSLATED=0
fi
PERCENT=`expr 100 \* $TRANSLATED / \( $TRANSLATED + $FUZZY + $UNTRANSLATED \) || true`
if [ $PERCENT -lt $THRESHOLD ] ; then
echo "Removing $lang, only $PERCENT%"
rm -f locale/$lang/LC_MESSAGES/phpmyadmin.mo
fi
}
for x in po/*.po ; do
check $x
done