Mercurial > pidgin.yaz
view plugins/tcl/signal-test.tcl @ 7724:613b20c69d2c
[gaim-migrate @ 8369]
this didn't cause me any problems yesterday, and it compiles, and bug fixing is a good thing.
"Some month ago I introduced translatable texts for "gaim --help" and
"gaim-remote --help".
Unfortunately the output of the translated text is often unreadable.
The problem is, that Gaim's *.po files have the UTF-8 locale (because
this is the default charset for GTK+ 2.0). But the users may have
configured other locales. For instance my SuSE Linux 9.0 system is
configured with LANG=de_DE@euro. "euro" is ISO-8859-1 (Western
character set, 8 Bit, with the Euro currency symbol). Lots of UTF-8
characters are unreadable if they are displayed in a 8 Bit charset
without conversion. Only the 7 Bit chars are displayed right.
There are two possible solutions:
1) Make the console texts untranslatable. This isn't very clever.
2) Convert the texts from UTF-8 to user's locale.
I choose the second solution.
The conversion cannot be made during the translation, because gettext
does not allow a mix of different character sets in one po-file.
My patch converts the console strings from UTF-8 to users locale.
Normally this works right, because most users have a locale which is
compatible with their language.
The case where a user uses a language (for instance German:
LANG=de_DE) with an incompatible character set (for instance the 7Bit
charset LC_CTYPE=C) is also handled. The user then sees a warning and
the original UTF-8 message.
At first I tried to make a new UTF-8 function in src/util.c. But the
function is needed 5 times in src/gaim-remote.c and 2 times in
src/main.c. gaim-remote is not linked against util.o. Also there are a
lot of dependencies from util.o to other files, so I will introduce a
lot of trouble to link gaim-remote against util.o.
So I only wrote a function in src/gaim-remote.c and used the UTF-8
conversion inline in src/main.c." --Bjoern Voigt
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Wed, 03 Dec 2003 13:21:55 +0000 |
parents | fe9568f4055f |
children | e280d73ed07f |
line wrap: on
line source
gaim::signal connect [gaim::account handle] account-away { account state message } { gaim::debug -info "tcl signal" "account-away [gaim::account username $account] \"$state\" \"$message\"" } gaim::signal connect [gaim::account handle] account-connecting { account } { gaim::debug -info "tcl signal" "account-connecting [gaim::account username $account]" } gaim::signal connect [gaim::account handle] account-set-info { account info } { gaim::debug -info "tcl signal" "account-set-info [gaim::account username $account] $info" } gaim::signal connect [gaim::account handle] account-setting-info { account info } { gaim::debug -info "tcl signal" "account-set-info [gaim::account username $account] $info" } gaim::signal connect [gaim::account handle] account-warned { account who level } { gaim::debug -info "tcl signal" "account-warned [gaim::account username $account] $who $level" } gaim::signal connect [gaim::buddy handle] buddy-away { buddy } { gaim::debug -info "tcl signal" "buddy-away [gaim::account username [lindex $buddy 2]] [lindex $buddy 1]" } gaim::signal connect [gaim::buddy handle] buddy-back { buddy } { gaim::debug -info "tcl signal" "buddy-back [gaim::account username [lindex $buddy 2]] [lindex $buddy 1]" } gaim::signal connect [gaim::buddy handle] buddy-idle { buddy } { gaim::debug -info "tcl signal" "buddy-idle [gaim::account username [lindex $buddy 2]] [lindex $buddy 1]" } gaim::signal connect [gaim::buddy handle] buddy-unidle { buddy } { gaim::debug -info "tcl signal" "buddy-unidle [gaim::account username [lindex $buddy 2]] [lindex $buddy 1]" } gaim::signal connect [gaim::buddy handle] buddy-signed-on { buddy } { gaim::debug -info "tcl signal" "buddy-signed-on [gaim::account username [lindex $buddy 2]] [lindex $buddy 1]" } gaim::signal connect [gaim::buddy handle] buddy-signed-off { buddy } { gaim::debug -info "tcl signal" "buddy-signed-off [gaim::account username [lindex $buddy 2]] [lindex $buddy 1]" } gaim::signal connect [gaim::core handle] quitting {} { gaim::debug -info "tcl signal" "quitting" } gaim::signal connect [gaim::conversation handle] received-chat-msg { account who what id } { gaim::debug -info "tcl signal" "received-chat-msg [gaim::account username $account] $id $who \"$what\"" return 0 } gaim::signal connect [gaim::conversation handle] received-im-msg { account who what flags } { gaim::debug -info "tcl signal" "received-im-msg [gaim::account username $account] $flags $who \"$what\"" return 0 } gaim::signal connect [gaim::conversation handle] sending-chat-msg { account what id } { gaim::debug -info "tcl signal" "sending-chat-msg [gaim::account username $account] $id \"$what\"" return 0 } gaim::signal connect [gaim::conversation handle] sending-im-msg { account who what } { gaim::debug -info "tcl signal" "sending-im-msg [gaim::account username $account] $who \"$what\"" return 0 } gaim::signal connect [gaim::conversation handle] sent-chat-msg { account id what } { gaim::debug -info "tcl signal" "sent-chat-msg [gaim::account username $account] $id \"$what\"" } gaim::signal connect [gaim::conversation handle] sent-im-msg { account who what } { gaim::debug -info "tcl signal" "sent-im-msg [gaim::account username $account] $who \"$what\"" } gaim::signal connect [gaim::connection handle] signed-on { gc } { gaim::debug -info "tcl signal" "signed-on [gaim::account username [gaim::connection account $gc]]" } gaim::signal connect [gaim::connection handle] signed-off { gc } { gaim::debug -info "tcl signal" "signed-off [gaim::account username [gaim::connection account $gc]]" } gaim::signal connect [gaim::connection handle] signing-on { gc } { gaim::debug -info "tcl signal" "signing-on [gaim::account username [gaim::connection account $gc]]" } if { 0 } { gaim::signal connect signing-off { gaim::debug -info "tcl signal" "signing-off [gaim::account username [gaim::connection account $event::gc]]" } gaim::signal connect update-idle { gaim::debug -info "tcl signal" "update-idle" } } proc plugin_init { } { list "Tcl Signal Test" \ "$gaim::version" \ "Debugs a ridiculous amount of signal information." \ "Ethan Blanton <eblanton@cs.purdue.edu>" \ "http://gaim.sourceforge.net/" }