Quoting Frans Pop (elendil@planet.nl): > Hi all, > > When I run 'msgfmt --statistics <po-file>', msgfmt always creates a file > messages.mo. > > If I only ask for statistics, why is this file created? > Can this be avoided? > What is the function of a messages.mo file anyway? This is what is really used by programs when compiled. Attached is my "po_test" script which tests a given PO file, with regards to the POT fil in the current directory. Among other things, it also outputs stats about the file. (some parts have been contributed by Denis Barbier)
#!/bin/sh temp=`tempfile` trap "rm -f $temp $temp.new" 1 2 3 15 clean_and_die() { rm -f $temp $temp.new if [ "$1" = "2" ] ; then echo Invalid encoding. Please check the file. fi exit $1 } if [ -z $1 ] then echo Usage $0 fichier clean_and_die 1 fi if [ ! -f $1 ] then echo $1 not found. clean_and_die 1 fi if [ `ls -1 *pot 2>/dev/null | wc -l` != "1" ] ; then echo No POT file \(or more than one\) in current directory clean_and_die 1 fi potfile=`ls -1 *pot` msgmerge -U $1 $potfile enc=$(grep -E "^\"Content-Type" $1 | cut -f2 -d= | sed 's/\\n\"//g') echo -n "Charset is $enc. Stats: " if test -n "$enc" ; then iconv -f $enc -t UTF-8 $1 >$temp >/dev/null 2>&1 || clean_and_die 2 if [ -x $HOME/bin/check_var.pl ] ; then $HOME/bin/check_var.pl $1 || clean_and_die 3 else echo $HOME/bin/check_var.pl not found clean_and_die 1 fi LC_ALL=C msgfmt -c -v -o /dev/null --statistics $1 fi clean_and_die 0
Attachment:
signature.asc
Description: Digital signature