Tue, 16 Dec 2003 05:29:37 +0000
[gaim-migrate @ 8545]
Change the New Instant Message shortcut to CTRL+M. Apparently CTRL+I is
used for "italics."
Also reworked how stuff in conv windows is hidden and grayed out when
changing tabs and when accounts sign on and off. I had some problems
with signing off and still being able to click the warn button and stuff,
but that was probably caused by my changes from a few days ago. Anyway,
this makes a lot more sense to me.
I added a function that takes a conversation and updates all the buttons
and menu items to be what they should be based on whether the conversation
is an IM or a chat, and if the account is connected or not. It still has
a few minor problems (tab icons don't become active after signing back in
an account that was signed out), but I'll get to that in a day or 3.
| 7202 | 1 | #!/usr/bin/perl |
| 2 | ||
| 3 | # Copyright 2003 Nathan Walp <faceprint@faceprint.com> | |
| 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 | ||
| 21 | use Locale::Language; | |
| 22 | ||
| 7548 | 23 | $lang{pt_BR} = "Portuguese (Brazilian)"; |
| 7202 | 24 | $lang{'sr@Latn'} = "Serbian (Latin)"; |
| 25 | $lang{zh_CN} = "Chinese (Simplified)"; | |
| 26 | $lang{zh_TW} = "Chinese (Traditional)"; | |
| 27 | ||
| 28 | opendir(DIR, ".") || die "can't open directory: $!"; | |
| 29 | @pos = grep { /\.po$/ && -f } readdir(DIR); | |
| 30 | foreach (@pos) { s/\.po$//; }; | |
| 31 | closedir DIR; | |
| 32 | ||
| 33 | @pos = sort @pos; | |
| 34 | ||
| 35 | $now = `date`; | |
| 36 | ||
| 37 | system("./update.pl --pot > /dev/null"); | |
| 38 | ||
| 39 | $_ = `msgfmt --statistics gaim.pot -o /dev/null 2>&1`; | |
| 40 | ||
| 41 | die "unable to get total: $!" unless (/(\d+) untranslated messages/); | |
| 42 | ||
| 43 | $total = $1; | |
| 44 | ||
| 45 | print "<html>\n"; | |
| 46 | print "<body>\n"; | |
| 47 | print "<table cellspacing='0' cellpadding='0' border='0' bgcolor='#888888' width='100%'><tr><td><table cellspacing='1' cellpadding='2' border='0' width='100%'>\n"; | |
| 48 | ||
| 49 | 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 style='background: yellow;'>missing</th><th style='background: yellow;'>%</th><th> </th></tr>\n"; | |
| 50 | ||
| 51 | foreach $index (0 .. $#pos) { | |
| 52 | $trans = $fuzz = $untrans = 0; | |
| 53 | $po = $pos[$index]; | |
| 7739 | 54 | print STDERR "$po..." if($ARGV[0] eq '-v'); |
| 55 | system("msgmerge $po.po gaim.pot -o $po.new 2>/dev/null"); | |
| 56 | $_ = `msgfmt --statistics $po.new -o /dev/null 2>&1`; | |
| 7202 | 57 | chomp; |
| 58 | if(/(\d+) translated messages/) { $trans = $1; } | |
| 59 | if(/(\d+) fuzzy translations/) { $fuzz = $1; } | |
| 60 | if(/(\d+) untranslated messages/) { $untrans = $1; } | |
| 61 | $gone = $total - $trans - $fuzz - $untrans; | |
| 62 | $gonep = 100 * $gone / $total; | |
| 63 | $transp = 100 * $trans / $total; | |
| 64 | $fuzzp = 100 * $fuzz / $total; | |
| 65 | $untransp = 100 * $untrans / $total; | |
| 66 | if($index % 2) { | |
| 67 | $color = " bgcolor='#e0e0e0'"; | |
| 68 | } else { | |
| 69 | $color = " bgcolor='#d0e0ff'"; | |
| 70 | } | |
| 71 | $name = ""; | |
| 72 | $name = $lang{$po}; | |
| 73 | $name = code2language($po) unless $name ne ""; | |
| 74 | $name = "???" unless $name ne ""; | |
| 7243 | 75 | 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>%d</td><td>%0.2f</td><td>", |
| 76 | $name, $po, $trans, $transp, $fuzz, $fuzzp, $untrans, $untransp, $gone, $gonep; | |
| 77 | printf "<img src='bar_g.gif' height='15' width='%0.0f' />", $transp*2 | |
| 78 | unless $transp*2 < 0.5; | |
| 79 | printf "<img src='bar_b.gif' height='15' width='%0.0f' />", $fuzzp*2 | |
| 80 | unless $fuzzp*2 < 0.5; | |
| 81 | printf "<img src='bar_r.gif' height='15' width='%0.0f' />", $untransp*2 | |
| 82 | unless $untransp*2 < 0.5; | |
| 83 | printf "<img src='bar_y.gif' height='15' width='%0.0f' />", $gonep*2 | |
| 84 | unless $gonep*2 < 0.5; | |
| 85 | print "</tr>\n"; | |
| 7739 | 86 | unlink("$po.new"); |
| 87 | print STDERR "done.\n" if($ARGV[0] eq '-v'); | |
| 7202 | 88 | } |
| 89 | print "</table></td></tr></table>\n"; | |
| 90 | print "Latest gaim.pot generated $now: <a href='gaim.pot'>gaim.pot</a><br />\n"; | |
| 91 | print "</body>\n"; | |
| 92 | print "</html>\n"; | |
| 93 |