Mercurial > pidgin.yaz
annotate po/stats.pl @ 20986:12753bdeaf47
Make Perl and Tcl debug information in the About dialog based on runtime information (the Perl and Tcl plugins being present) instead of compile time information. This should be more accurate. I don't know how this affects statically linked plugins (is that even possible for these plugins?).
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Thu, 18 Oct 2007 18:13:30 +0000 |
parents | 54fa708ba54f |
children | 72f90ea7ae34 |
rev | line source |
---|---|
7202 | 1 #!/usr/bin/perl |
2 | |
11466 | 3 # Copyright 2003-2005 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 | |
19680
44b4e8bd759b
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
17836
diff
changeset
|
17 # Foundation, Inc., 50 Temple Place, Suite 330, Boston, MA 02111-1301 USA |
7202 | 18 # |
19 | |
11466 | 20 use POSIX qw(strftime); |
21 | |
7202 | 22 |
15768 | 23 my $PACKAGE="pidgin"; |
9412 | 24 |
25 | |
7202 | 26 use Locale::Language; |
27 | |
13799 | 28 $lang{'ca@valencia'} = "Catalan (Valencian)"; |
20235
6d15c55ef3cd
applied changes from f6deeedd3d31f0863466fff4c81816aee12122a6
Richard Laager <rlaager@wiktel.com>
parents:
20234
diff
changeset
|
29 $lang{'be@latin'} = "Belarusian (Latin)"; |
10058 | 30 $lang{en_AU} = "English (Australian)"; |
8860 | 31 $lang{en_CA} = "English (Canadian)"; |
8033 | 32 $lang{en_GB} = "English (British)"; |
11472 | 33 $lang{my_MM} = "Burmese (Myanmar)"; |
7548 | 34 $lang{pt_BR} = "Portuguese (Brazilian)"; |
20738
54fa708ba54f
sr@Latn changed to sr@latin
Luke Schierer <lschiere@pidgin.im>
parents:
20237
diff
changeset
|
35 $lang{'sr@latin'} = "Serbian (Latin)"; |
7202 | 36 $lang{zh_CN} = "Chinese (Simplified)"; |
17836
ae3c3de19ba8
Teach stats.pl about zh_HK
Stu Tomlinson <stu@nosnilmot.com>
parents:
15768
diff
changeset
|
37 $lang{zh_HK} = "Chinese (Hong Kong)"; |
7202 | 38 $lang{zh_TW} = "Chinese (Traditional)"; |
39 | |
40 opendir(DIR, ".") || die "can't open directory: $!"; | |
41 @pos = grep { /\.po$/ && -f } readdir(DIR); | |
42 foreach (@pos) { s/\.po$//; }; | |
43 closedir DIR; | |
44 | |
45 @pos = sort @pos; | |
46 | |
47 $now = `date`; | |
48 | |
13185
87d9db90bf6e
[gaim-migrate @ 15548]
Richard Laager <rlaager@wiktel.com>
parents:
11472
diff
changeset
|
49 system("intltool-update --pot > /dev/null"); |
7202 | 50 |
9412 | 51 $_ = `msgfmt --statistics $PACKAGE.pot -o /dev/null 2>&1`; |
7202 | 52 |
53 die "unable to get total: $!" unless (/(\d+) untranslated messages/); | |
54 | |
55 $total = $1; | |
11466 | 56 $generated = strftime "%Y-%m-%d %H:%M:%S", gmtime; |
7202 | 57 |
11361 | 58 print "<?xml version='1.0'?>\n"; |
59 print "<?xml-stylesheet type='text/xsl' href='l10n.xsl'?>\n"; | |
11466 | 60 print "<project version='1.0' xmlns:l10n='http://faceprint.com/code/l10n' name='$PACKAGE' pofile='$PACKAGE.pot' strings='$total' generated='$generated'>\n"; |
7202 | 61 |
62 foreach $index (0 .. $#pos) { | |
63 $trans = $fuzz = $untrans = 0; | |
64 $po = $pos[$index]; | |
7739 | 65 print STDERR "$po..." if($ARGV[0] eq '-v'); |
20237
b1d14929fda1
applied changes from 71a27720e49364f4f24fc09309442fc3a2c17bc9
Richard Laager <rlaager@wiktel.com>
parents:
20235
diff
changeset
|
66 system("msgmerge -U $po.po $PACKAGE.pot 2>/dev/null"); |
20234
a02994afdb43
applied changes from 4dd446ee59f869036e9065d0f45270444f319f1d
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
67 if (($? & 127) == 2) { |
a02994afdb43
applied changes from 4dd446ee59f869036e9065d0f45270444f319f1d
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
68 printf STDERR "Caught keyboard interrupt--exiting\n"; |
a02994afdb43
applied changes from 4dd446ee59f869036e9065d0f45270444f319f1d
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
69 exit |
a02994afdb43
applied changes from 4dd446ee59f869036e9065d0f45270444f319f1d
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
70 } |
20237
b1d14929fda1
applied changes from 71a27720e49364f4f24fc09309442fc3a2c17bc9
Richard Laager <rlaager@wiktel.com>
parents:
20235
diff
changeset
|
71 $_ = `msgfmt --statistics $po -o /dev/null 2>&1`; |
7202 | 72 chomp; |
9765 | 73 if(/(\d+) translated message/) { $trans = $1; } |
74 if(/(\d+) fuzzy translation/) { $fuzz = $1; } | |
75 if(/(\d+) untranslated message/) { $untrans = $1; } | |
11361 | 76 |
11472 | 77 $name = ""; |
78 $name = $lang{$po}; | |
79 $name = code2language($po) unless $name ne ""; | |
80 $name = "???" unless $name ne ""; | |
81 | |
82 print "<lang code='$po' name='$name' translated='$trans' fuzzy='$fuzz' />\n"; | |
8060 | 83 print STDERR "done ($untrans untranslated strings).\n" if($ARGV[0] eq '-v'); |
7202 | 84 } |
85 | |
11361 | 86 print "</project>\n"; |
87 |