annotate po/stats.pl @ 9550:de83d2cb87a4

[gaim-migrate @ 10379] " When unqueuing messages and "sounds while away" is set, Gaim will play a message receieved for every message unqueued. If there are a large number of messages, my SB Audigy tries playing them all and ends up creating a crackly ugly sound. Friends of mine have complained about this as well. This patch fixes that by making sure sounds are disabled when unqueuing messages. Sounds will be re-enabled afterwards if necessary. Something to note is that playing the sounds when unqueuing messages crashes Gaim on occasion, with about 50% success. After applying this patch, the crashes stopped. The backtrace isn't particularly helpful...it's all question marks and valgrind doesn't say much either. Crash or no crash though, this eliminates annoying behavior so that is probably more important. I originally fixed this for my plugin AutoProfile, but since they use similar code for queuing messages, it would be nice if Gaim has it as well :)" --Casey Ho committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Fri, 16 Jul 2004 14:56:47 +0000
parents 281ddfe07d8d
children 5130709f3066
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7202
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1 #!/usr/bin/perl
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2
9412
3cabcdc36a73 [gaim-migrate @ 10227]
Nathan Walp <nwalp@pidgin.im>
parents: 8860
diff changeset
3 # Copyright 2003-2004 Nathan Walp <faceprint@faceprint.com>
7202
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
4 #
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
5 # This program is free software; you can redistribute it and/or modify
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
6 # it under the terms of the GNU General Public License as published by
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
7 # the Free Software Foundation; either version 2 of the License, or
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
8 # (at your option) any later version.
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
9 #
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
10 # This program is distributed in the hope that it will be useful,
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
13 # GNU General Public License for more details.
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
14 #
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
16 # along with this program; if not, write to the Free Software
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
17 # Foundation, Inc., 50 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
18 #
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
19
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
20
9413
281ddfe07d8d [gaim-migrate @ 10228]
Nathan Walp <nwalp@pidgin.im>
parents: 9412
diff changeset
21 my $PACKAGE="gaim";
9412
3cabcdc36a73 [gaim-migrate @ 10227]
Nathan Walp <nwalp@pidgin.im>
parents: 8860
diff changeset
22
3cabcdc36a73 [gaim-migrate @ 10227]
Nathan Walp <nwalp@pidgin.im>
parents: 8860
diff changeset
23
7202
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
24 use Locale::Language;
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
25
8860
a11807af171e [gaim-migrate @ 9628]
Luke Schierer <lschiere@pidgin.im>
parents: 8168
diff changeset
26 $lang{en_CA} = "English (Canadian)";
8033
c417617ae0cf [gaim-migrate @ 8713]
Nathan Walp <nwalp@pidgin.im>
parents: 7739
diff changeset
27 $lang{en_GB} = "English (British)";
7548
4c75a6bbe5df [gaim-migrate @ 8162]
Nathan Walp <nwalp@pidgin.im>
parents: 7544
diff changeset
28 $lang{pt_BR} = "Portuguese (Brazilian)";
7202
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
29 $lang{'sr@Latn'} = "Serbian (Latin)";
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
30 $lang{zh_CN} = "Chinese (Simplified)";
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
31 $lang{zh_TW} = "Chinese (Traditional)";
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
32
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
33 opendir(DIR, ".") || die "can't open directory: $!";
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
34 @pos = grep { /\.po$/ && -f } readdir(DIR);
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
35 foreach (@pos) { s/\.po$//; };
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
36 closedir DIR;
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
37
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
38 @pos = sort @pos;
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
39
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
40 $now = `date`;
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
41
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
42 system("./update.pl --pot > /dev/null");
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
43
9412
3cabcdc36a73 [gaim-migrate @ 10227]
Nathan Walp <nwalp@pidgin.im>
parents: 8860
diff changeset
44 $_ = `msgfmt --statistics $PACKAGE.pot -o /dev/null 2>&1`;
7202
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
45
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
46 die "unable to get total: $!" unless (/(\d+) untranslated messages/);
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
47
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
48 $total = $1;
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
49
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
50 print "<html>\n";
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
51 print "<body>\n";
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
52 print "<table cellspacing='0' cellpadding='0' border='0' bgcolor='#888888' width='100%'><tr><td><table cellspacing='1' cellpadding='2' border='0' width='100%'>\n";
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
53
8168
3d3c2dd28068 [gaim-migrate @ 8881]
Nathan Walp <nwalp@pidgin.im>
parents: 8060
diff changeset
54 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>&nbsp;</th></tr>\n";
7202
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
55
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
56 foreach $index (0 .. $#pos) {
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
57 $trans = $fuzz = $untrans = 0;
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
58 $po = $pos[$index];
7739
2850079ad35f [gaim-migrate @ 8384]
Nathan Walp <nwalp@pidgin.im>
parents: 7548
diff changeset
59 print STDERR "$po..." if($ARGV[0] eq '-v');
9412
3cabcdc36a73 [gaim-migrate @ 10227]
Nathan Walp <nwalp@pidgin.im>
parents: 8860
diff changeset
60 system("msgmerge $po.po $PACKAGE.pot -o $po.new 2>/dev/null");
7739
2850079ad35f [gaim-migrate @ 8384]
Nathan Walp <nwalp@pidgin.im>
parents: 7548
diff changeset
61 $_ = `msgfmt --statistics $po.new -o /dev/null 2>&1`;
7202
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
62 chomp;
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
63 if(/(\d+) translated messages/) { $trans = $1; }
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
64 if(/(\d+) fuzzy translations/) { $fuzz = $1; }
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
65 if(/(\d+) untranslated messages/) { $untrans = $1; }
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
66 $transp = 100 * $trans / $total;
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
67 $fuzzp = 100 * $fuzz / $total;
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
68 $untransp = 100 * $untrans / $total;
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
69 if($index % 2) {
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
70 $color = " bgcolor='#e0e0e0'";
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
71 } else {
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
72 $color = " bgcolor='#d0e0ff'";
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
73 }
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
74 $name = "";
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
75 $name = $lang{$po};
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
76 $name = code2language($po) unless $name ne "";
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
77 $name = "???" unless $name ne "";
8168
3d3c2dd28068 [gaim-migrate @ 8881]
Nathan Walp <nwalp@pidgin.im>
parents: 8060
diff changeset
78 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>",
3d3c2dd28068 [gaim-migrate @ 8881]
Nathan Walp <nwalp@pidgin.im>
parents: 8060
diff changeset
79 $name, $po, $trans, $transp, $fuzz, $fuzzp, $untrans, $untransp;
7243
136daef154f6 [gaim-migrate @ 7820]
Nathan Walp <nwalp@pidgin.im>
parents: 7202
diff changeset
80 printf "<img src='bar_g.gif' height='15' width='%0.0f' />", $transp*2
136daef154f6 [gaim-migrate @ 7820]
Nathan Walp <nwalp@pidgin.im>
parents: 7202
diff changeset
81 unless $transp*2 < 0.5;
136daef154f6 [gaim-migrate @ 7820]
Nathan Walp <nwalp@pidgin.im>
parents: 7202
diff changeset
82 printf "<img src='bar_b.gif' height='15' width='%0.0f' />", $fuzzp*2
136daef154f6 [gaim-migrate @ 7820]
Nathan Walp <nwalp@pidgin.im>
parents: 7202
diff changeset
83 unless $fuzzp*2 < 0.5;
136daef154f6 [gaim-migrate @ 7820]
Nathan Walp <nwalp@pidgin.im>
parents: 7202
diff changeset
84 printf "<img src='bar_r.gif' height='15' width='%0.0f' />", $untransp*2
136daef154f6 [gaim-migrate @ 7820]
Nathan Walp <nwalp@pidgin.im>
parents: 7202
diff changeset
85 unless $untransp*2 < 0.5;
136daef154f6 [gaim-migrate @ 7820]
Nathan Walp <nwalp@pidgin.im>
parents: 7202
diff changeset
86 print "</tr>\n";
7739
2850079ad35f [gaim-migrate @ 8384]
Nathan Walp <nwalp@pidgin.im>
parents: 7548
diff changeset
87 unlink("$po.new");
8060
b66733e6e6f2 [gaim-migrate @ 8747]
Nathan Walp <nwalp@pidgin.im>
parents: 8033
diff changeset
88 print STDERR "done ($untrans untranslated strings).\n" if($ARGV[0] eq '-v');
7202
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
89 }
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
90 print "</table></td></tr></table>\n";
9412
3cabcdc36a73 [gaim-migrate @ 10227]
Nathan Walp <nwalp@pidgin.im>
parents: 8860
diff changeset
91 print "Latest $PACKAGE.pot generated $now: <a href='$PACKAGE.pot'>$PACKAGE.pot</a><br />\n";
7202
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
92 print "</body>\n";
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
93 print "</html>\n";
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
94