annotate po/stats.pl @ 14739:63d5b71d0c68

[gaim-migrate @ 17495] This should fix the statusbox issues that were keeping us from releasing beta 4 (and which were just really annoying). Thakn sadrul for most of this, I just added the if (index == -1) bit. Anyway, the way this works now is that for saved/popular statuses the primitive underlying that status is where the dropdown for the statusbox starts. If we don't like that we can change it but I'm not sure we'll find something better. Also, this might plug a couple leaks, I'm not really sure but it certainly looks right. Up next, the patch to make the docklet use the per-protocol statuses in the top section. committer: Tailor Script <tailor@pidgin.im>
author Etan Reisner <pidgin@unreliablesource.net>
date Tue, 17 Oct 2006 08:13:41 +0000
parents c9ce13a3d934
children ed29bd084eb5
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
11466
eaa10266cd96 [gaim-migrate @ 13706]
Nathan Walp <nwalp@pidgin.im>
parents: 11361
diff changeset
3 # Copyright 2003-2005 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
11466
eaa10266cd96 [gaim-migrate @ 13706]
Nathan Walp <nwalp@pidgin.im>
parents: 11361
diff changeset
20 use POSIX qw(strftime);
eaa10266cd96 [gaim-migrate @ 13706]
Nathan Walp <nwalp@pidgin.im>
parents: 11361
diff changeset
21
7202
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
22
9413
281ddfe07d8d [gaim-migrate @ 10228]
Nathan Walp <nwalp@pidgin.im>
parents: 9412
diff changeset
23 my $PACKAGE="gaim";
9412
3cabcdc36a73 [gaim-migrate @ 10227]
Nathan Walp <nwalp@pidgin.im>
parents: 8860
diff changeset
24
3cabcdc36a73 [gaim-migrate @ 10227]
Nathan Walp <nwalp@pidgin.im>
parents: 8860
diff changeset
25
7202
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
26 use Locale::Language;
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
27
13799
c9ce13a3d934 [gaim-migrate @ 16212]
Nathan Walp <nwalp@pidgin.im>
parents: 13185
diff changeset
28 $lang{'ca@valencia'} = "Catalan (Valencian)";
10058
514768e1db90 [gaim-migrate @ 11025]
Nathan Walp <nwalp@pidgin.im>
parents: 9765
diff changeset
29 $lang{en_AU} = "English (Australian)";
8860
a11807af171e [gaim-migrate @ 9628]
Luke Schierer <lschiere@pidgin.im>
parents: 8168
diff changeset
30 $lang{en_CA} = "English (Canadian)";
8033
c417617ae0cf [gaim-migrate @ 8713]
Nathan Walp <nwalp@pidgin.im>
parents: 7739
diff changeset
31 $lang{en_GB} = "English (British)";
11472
6aa833b18a05 [gaim-migrate @ 13713]
Nathan Walp <nwalp@pidgin.im>
parents: 11466
diff changeset
32 $lang{my_MM} = "Burmese (Myanmar)";
7548
4c75a6bbe5df [gaim-migrate @ 8162]
Nathan Walp <nwalp@pidgin.im>
parents: 7544
diff changeset
33 $lang{pt_BR} = "Portuguese (Brazilian)";
7202
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
34 $lang{'sr@Latn'} = "Serbian (Latin)";
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
35 $lang{zh_CN} = "Chinese (Simplified)";
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
36 $lang{zh_TW} = "Chinese (Traditional)";
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 opendir(DIR, ".") || die "can't open directory: $!";
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
39 @pos = grep { /\.po$/ && -f } readdir(DIR);
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
40 foreach (@pos) { s/\.po$//; };
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
41 closedir DIR;
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
42
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
43 @pos = sort @pos;
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
44
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
45 $now = `date`;
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
46
13185
87d9db90bf6e [gaim-migrate @ 15548]
Richard Laager <rlaager@wiktel.com>
parents: 11472
diff changeset
47 system("intltool-update --pot > /dev/null");
7202
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
48
9412
3cabcdc36a73 [gaim-migrate @ 10227]
Nathan Walp <nwalp@pidgin.im>
parents: 8860
diff changeset
49 $_ = `msgfmt --statistics $PACKAGE.pot -o /dev/null 2>&1`;
7202
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
50
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
51 die "unable to get total: $!" unless (/(\d+) untranslated messages/);
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
52
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
53 $total = $1;
11466
eaa10266cd96 [gaim-migrate @ 13706]
Nathan Walp <nwalp@pidgin.im>
parents: 11361
diff changeset
54 $generated = strftime "%Y-%m-%d %H:%M:%S", gmtime;
7202
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
55
11361
e4868370c433 [gaim-migrate @ 13585]
Nathan Walp <nwalp@pidgin.im>
parents: 10058
diff changeset
56 print "<?xml version='1.0'?>\n";
e4868370c433 [gaim-migrate @ 13585]
Nathan Walp <nwalp@pidgin.im>
parents: 10058
diff changeset
57 print "<?xml-stylesheet type='text/xsl' href='l10n.xsl'?>\n";
11466
eaa10266cd96 [gaim-migrate @ 13706]
Nathan Walp <nwalp@pidgin.im>
parents: 11361
diff changeset
58 print "<project version='1.0' xmlns:l10n='http://faceprint.com/code/l10n' name='$PACKAGE' pofile='$PACKAGE.pot' strings='$total' generated='$generated'>\n";
7202
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
59
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
60 foreach $index (0 .. $#pos) {
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
61 $trans = $fuzz = $untrans = 0;
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
62 $po = $pos[$index];
7739
2850079ad35f [gaim-migrate @ 8384]
Nathan Walp <nwalp@pidgin.im>
parents: 7548
diff changeset
63 print STDERR "$po..." if($ARGV[0] eq '-v');
9412
3cabcdc36a73 [gaim-migrate @ 10227]
Nathan Walp <nwalp@pidgin.im>
parents: 8860
diff changeset
64 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
65 $_ = `msgfmt --statistics $po.new -o /dev/null 2>&1`;
7202
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
66 chomp;
9765
5130709f3066 [gaim-migrate @ 10633]
Mark Doliner <mark@kingant.net>
parents: 9413
diff changeset
67 if(/(\d+) translated message/) { $trans = $1; }
5130709f3066 [gaim-migrate @ 10633]
Mark Doliner <mark@kingant.net>
parents: 9413
diff changeset
68 if(/(\d+) fuzzy translation/) { $fuzz = $1; }
5130709f3066 [gaim-migrate @ 10633]
Mark Doliner <mark@kingant.net>
parents: 9413
diff changeset
69 if(/(\d+) untranslated message/) { $untrans = $1; }
7739
2850079ad35f [gaim-migrate @ 8384]
Nathan Walp <nwalp@pidgin.im>
parents: 7548
diff changeset
70 unlink("$po.new");
11361
e4868370c433 [gaim-migrate @ 13585]
Nathan Walp <nwalp@pidgin.im>
parents: 10058
diff changeset
71
11472
6aa833b18a05 [gaim-migrate @ 13713]
Nathan Walp <nwalp@pidgin.im>
parents: 11466
diff changeset
72 $name = "";
6aa833b18a05 [gaim-migrate @ 13713]
Nathan Walp <nwalp@pidgin.im>
parents: 11466
diff changeset
73 $name = $lang{$po};
6aa833b18a05 [gaim-migrate @ 13713]
Nathan Walp <nwalp@pidgin.im>
parents: 11466
diff changeset
74 $name = code2language($po) unless $name ne "";
6aa833b18a05 [gaim-migrate @ 13713]
Nathan Walp <nwalp@pidgin.im>
parents: 11466
diff changeset
75 $name = "???" unless $name ne "";
6aa833b18a05 [gaim-migrate @ 13713]
Nathan Walp <nwalp@pidgin.im>
parents: 11466
diff changeset
76
6aa833b18a05 [gaim-migrate @ 13713]
Nathan Walp <nwalp@pidgin.im>
parents: 11466
diff changeset
77 print "<lang code='$po' name='$name' translated='$trans' fuzzy='$fuzz' />\n";
8060
b66733e6e6f2 [gaim-migrate @ 8747]
Nathan Walp <nwalp@pidgin.im>
parents: 8033
diff changeset
78 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
79 }
25e78bf033be [gaim-migrate @ 7771]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
80
11361
e4868370c433 [gaim-migrate @ 13585]
Nathan Walp <nwalp@pidgin.im>
parents: 10058
diff changeset
81 print "</project>\n";
e4868370c433 [gaim-migrate @ 13585]
Nathan Walp <nwalp@pidgin.im>
parents: 10058
diff changeset
82