Translated using Weblate (French)
[phpmyadmin.git] / scripts / remove-incomplete-mo
blobafd53b540baab8a83e7d4f21043d10a1d663da23
1 #!/bin/sh
3 # Removes mo files for incomplete translations
6 # Do not run as CGI
7 if [ -n "$GATEWAY_INTERFACE" ] ; then
8 echo 'Can not invoke as CGI!'
9 exit 1
12 set -e
15 # How many percent needs to be translated
17 THRESHOLD=40
20 # Generated output file
22 TMPOUTPUTFILE=libraries/language_stats.inc.php.tmp
23 OUTPUTFILE=libraries/language_stats.inc.php
25 if [ ! -z "$1" ] ; then
26 THRESHOLD=$1
29 echo '<?php' > $TMPOUTPUTFILE
30 echo '/**' >> $TMPOUTPUTFILE
31 echo ' * Automatically generated file, do not edit!' >> $TMPOUTPUTFILE
32 echo ' * Generated by scripts/remove-incomplete-mo' >> $TMPOUTPUTFILE
33 echo ' */' >> $TMPOUTPUTFILE
34 echo '' >> $TMPOUTPUTFILE
35 echo "\$GLOBALS['language_stats'] = [" >> $TMPOUTPUTFILE
37 check() {
38 TMPOUTPUTFILE=$2
39 lang=`echo $1 | sed 's@po/\(.*\)\.po@\1@'`
40 STATS=`LC_ALL=C msgfmt --statistics -o /dev/null $1 2>&1`
41 if echo $STATS | grep -q ' translated ' ; then
42 TRANSLATED=`echo $STATS | sed 's/\(^\|.* \)\([0-9]*\) translated.*/\2/'`
43 else
44 TRANSLATED=0
46 if echo $STATS | grep -q ' fuzzy ' ; then
47 FUZZY=`echo $STATS | sed 's/\(^\|.* \)\([0-9]*\) fuzzy.*/\2/'`
48 else
49 FUZZY=0
51 if echo $STATS | grep -q ' untranslated ' ; then
52 UNTRANSLATED=`echo $STATS | sed 's/\(^\|.* \)\([0-9]*\) untranslated.*/\2/'`
53 else
54 UNTRANSLATED=0
56 PERCENT=`expr 100 \* $TRANSLATED / \( $TRANSLATED + $FUZZY + $UNTRANSLATED \) || true`
57 echo " '$lang' => $PERCENT," >> $TMPOUTPUTFILE
59 if [ $PERCENT -lt $THRESHOLD ] ; then
60 echo "Removing $lang, only $PERCENT%"
61 rm -f locale/$lang/LC_MESSAGES/phpmyadmin.mo
62 rmdir locale/$lang/LC_MESSAGES
63 rmdir locale/$lang
67 for x in po/*.po ; do
68 check $x $TMPOUTPUTFILE
69 done
71 echo '];' >> $TMPOUTPUTFILE
73 mv $TMPOUTPUTFILE $OUTPUTFILE