Wed, 23 Feb 2005 03:52:55 +0000
[gaim-migrate @ 12106]
This was removed when changes were made to specify that the http:// handler should open the file. Judging by the number of bug reports, it is still necessary.
| 7202 | 1 | #!/usr/bin/perl |
| 2 | ||
| 9412 | 3 | # Copyright 2003-2004 Nathan Walp <faceprint@faceprint.com> |
| 7202 | 4 | # |
| 5 | # This program is free software; you can redistribute it and/or modify | |
| 6 | # it under the terms of the GNU General Public License as published by | |
| 7 | # the Free Software Foundation; either version 2 of the License, or | |
| 8 | # (at your option) any later version. | |
| 9 | # | |
| 10 | # This program is distributed in the hope that it will be useful, | |
| 11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 13 | # GNU General Public License for more details. | |
| 14 | # | |
| 15 | # You should have received a copy of the GNU General Public License | |
| 16 | # along with this program; if not, write to the Free Software | |
| 17 | # Foundation, Inc., 50 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 18 | # | |
| 19 | ||
| 20 | ||
| 9413 | 21 | my $PACKAGE="gaim"; |
| 9412 | 22 | |
| 23 | ||
| 7202 | 24 | use Locale::Language; |
| 25 | ||
| 10058 | 26 | $lang{en_AU} = "English (Australian)"; |
| 8860 | 27 | $lang{en_CA} = "English (Canadian)"; |
| 8033 | 28 | $lang{en_GB} = "English (British)"; |
| 7548 | 29 | $lang{pt_BR} = "Portuguese (Brazilian)"; |
| 7202 | 30 | $lang{'sr@Latn'} = "Serbian (Latin)"; |
| 31 | $lang{zh_CN} = "Chinese (Simplified)"; | |
| 32 | $lang{zh_TW} = "Chinese (Traditional)"; | |
| 33 | ||
| 34 | opendir(DIR, ".") || die "can't open directory: $!"; | |
| 35 | @pos = grep { /\.po$/ && -f } readdir(DIR); | |
| 36 | foreach (@pos) { s/\.po$//; }; | |
| 37 | closedir DIR; | |
| 38 | ||
| 39 | @pos = sort @pos; | |
| 40 | ||
| 41 | $now = `date`; | |
| 42 | ||
| 43 | system("./update.pl --pot > /dev/null"); | |
| 44 | ||
| 9412 | 45 | $_ = `msgfmt --statistics $PACKAGE.pot -o /dev/null 2>&1`; |
| 7202 | 46 | |
| 47 | die "unable to get total: $!" unless (/(\d+) untranslated messages/); | |
| 48 | ||
| 49 | $total = $1; | |
| 50 | ||
| 51 | print "<html>\n"; | |
|
9765
e96eb185e767
[gaim-migrate @ 10633]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9413
diff
changeset
|
52 | print "<head><title>$PACKAGE i18n statistics</title></head>\n"; |
| 7202 | 53 | print "<body>\n"; |
| 54 | print "<table cellspacing='0' cellpadding='0' border='0' bgcolor='#888888' width='100%'><tr><td><table cellspacing='1' cellpadding='2' border='0' width='100%'>\n"; | |
| 55 | ||
| 8168 | 56 | print"<tr bgcolor='#e0e0e0'><th>language</th><th style='background: #339933;'>trans</th><th style='background: #339933;'>%</th><th style='background: #333399;'>fuzzy</th><th style='background: #333399;'>%</th><th style='background: #dd3333;'>untrans</th><th style='background: #dd3333;'>%</th><th> </th></tr>\n"; |
| 7202 | 57 | |
| 58 | foreach $index (0 .. $#pos) { | |
| 59 | $trans = $fuzz = $untrans = 0; | |
| 60 | $po = $pos[$index]; | |
| 7739 | 61 | print STDERR "$po..." if($ARGV[0] eq '-v'); |
| 9412 | 62 | system("msgmerge $po.po $PACKAGE.pot -o $po.new 2>/dev/null"); |
| 7739 | 63 | $_ = `msgfmt --statistics $po.new -o /dev/null 2>&1`; |
| 7202 | 64 | chomp; |
|
9765
e96eb185e767
[gaim-migrate @ 10633]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9413
diff
changeset
|
65 | if(/(\d+) translated message/) { $trans = $1; } |
|
e96eb185e767
[gaim-migrate @ 10633]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9413
diff
changeset
|
66 | if(/(\d+) fuzzy translation/) { $fuzz = $1; } |
|
e96eb185e767
[gaim-migrate @ 10633]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9413
diff
changeset
|
67 | if(/(\d+) untranslated message/) { $untrans = $1; } |
| 7202 | 68 | $transp = 100 * $trans / $total; |
| 69 | $fuzzp = 100 * $fuzz / $total; | |
| 70 | $untransp = 100 * $untrans / $total; | |
| 71 | if($index % 2) { | |
| 72 | $color = " bgcolor='#e0e0e0'"; | |
| 73 | } else { | |
| 74 | $color = " bgcolor='#d0e0ff'"; | |
| 75 | } | |
| 76 | $name = ""; | |
| 77 | $name = $lang{$po}; | |
| 78 | $name = code2language($po) unless $name ne ""; | |
| 79 | $name = "???" unless $name ne ""; | |
| 8168 | 80 | printf "<tr$color><td>%s(%s.po)</td><td>%d</td><td>%0.2f</td><td>%d</td><td>%0.2f</td><td>%d</td><td>%0.2f</td><td>", |
| 81 | $name, $po, $trans, $transp, $fuzz, $fuzzp, $untrans, $untransp; | |
| 7243 | 82 | printf "<img src='bar_g.gif' height='15' width='%0.0f' />", $transp*2 |
| 83 | unless $transp*2 < 0.5; | |
| 84 | printf "<img src='bar_b.gif' height='15' width='%0.0f' />", $fuzzp*2 | |
| 85 | unless $fuzzp*2 < 0.5; | |
| 86 | printf "<img src='bar_r.gif' height='15' width='%0.0f' />", $untransp*2 | |
| 87 | unless $untransp*2 < 0.5; | |
| 88 | print "</tr>\n"; | |
| 7739 | 89 | unlink("$po.new"); |
| 8060 | 90 | print STDERR "done ($untrans untranslated strings).\n" if($ARGV[0] eq '-v'); |
| 7202 | 91 | } |
| 92 | print "</table></td></tr></table>\n"; | |
| 9412 | 93 | print "Latest $PACKAGE.pot generated $now: <a href='$PACKAGE.pot'>$PACKAGE.pot</a><br />\n"; |
| 7202 | 94 | print "</body>\n"; |
| 95 | print "</html>\n"; | |
| 96 |