Skip to content

Commit

Permalink
Fix the broken statistic generation
Browse files Browse the repository at this point in the history
The output of msgfmt has different format if no fuzzy translations (or
even no translated) are available. I fixed that by parsing the output of
msgfmt more intelligent.

Drawback of the solution is that the parsing will not work if the output
of msgfmt use not the strings "translated messages", "fuzzy
translations" and "untranslated messages".
  • Loading branch information
mowgli committed Apr 10, 2009
1 parent 16e5361 commit 0977d77
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions po/gen_translations_stats.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,16 @@ echo
(echo "Language Comp(%) Trans Fuzzy Untrans Total"; \
for i in *.po; do
msgfmt --statistics -o /dev/null $i 2>&1 \
| sed 's/^\([0-9]\+ \)[^0-9]*\([0-9]\+ \)\?[^0-9]*\([0-9]\+ \)\?[^0-9]*$/\1\2\3/g' \
| awk '{ \
tot = $1 + $2 + $3; \
if (tot != 0) \
printf "%8.0f|%s|%7.2f|%5d|%5d|%7d|%5d\n",\
($1*100/tot)*100, "'"${i%%.po}"'", $1*100/tot, tot-($2+$3), $2, $3, tot}' ;
| perl -ne '
my ($tr_done, $tr_fuzz, $tr_un) = (0, 0, 0);
$tr_done = $1 if /(\d+) translated messages/;
$tr_fuzz = $1 if /(\d+) fuzzy translations/;
$tr_un = $1 if /(\d+) untranslated messages/;
my $tr_tot = $tr_done + $tr_fuzz + $tr_un;
printf "%8.0f|%s|%7.2f|%5d|%5d|%7d|%5d\n",
10000*$tr_done/$tr_tot, "'"${i%%.po}"'",
100*$tr_done/$tr_tot, $tr_done, $tr_fuzz, $tr_un,
$tr_tot if $tr_tot;';
done | sort -t '|' -b -k1,1nr -k2,2 | sed 's/^ *[0-9]*//' | tr ' |' '| '
) | column -t -c 80 | tr '|' ' '
echo
Expand Down

0 comments on commit 0977d77

Please sign in to comment.