Mercurial > pidgin
view plugins/test.pl @ 9531:06fe6ed7f63a
[gaim-migrate @ 10358]
"How do you update your po files ("make update-po" or ./update.pl)?
update.pl
has some advantages. But update.pl has also a small bug. In rare cases
(double
msgid's etc.) update.pl kills your po-file. This can happen, if msgmerge
fails and if you have an old gettext version. The problem is here:
po/update.pl:149:
...
$d="mv $LANG.po $LANG.po.old && msgmerge $LANG.po.old $PACKAGE.pot
-o
+$LANG.po";
...
If msgmerge fails, the file $LANG.po will be overwritten. "make update-po"
has
not this problem, because it uses a temporary file:
...
if $(MSGMERGE) $$lang.po $(PACKAGE).pot -o $$lang.new.po; then \
mv -f $$lang.new.po $$lang.po; \
else \
echo "msgmerge for $$cat failed!"; \
rm -f $$lang.new.po; \
fi; \
...
I patched po/update.pl. Now it uses a temporary file. Also, update2.pl
lists
files in po/POTFILES.in which have no i18n strings as a warning." -- Bjoern
Voigt
committer: Tailor Script <tailor@pidgin.im>
| author | Luke Schierer <lschiere@pidgin.im> |
|---|---|
| date | Wed, 14 Jul 2004 20:14:48 +0000 |
| parents | b1ea29d1293e |
| children |
line wrap: on
line source
#!/usr/bin/perl -w use Gaim; %PLUGIN_INFO = ( perl_api_version => 2, name => 'Test Perl Plugin', version => '1.0', summary => 'Provides as a test base for the perl plugin.', description => 'Provides as a test base for the perl plugin.', author => 'Christian Hammond <chipx86@gnupdate.org>', url => 'http://gaim.sf.net/', load => "plugin_load", unload => "plugin_unload" ); sub account_away_cb { Gaim::debug_info("perl test plugin", "In account_away_cb\n"); my ($account, $state, $message, $data) = @_; Gaim::debug_info("perl test plugin", "Account " . $account->get_username() . " went away.\n"); Gaim::debug_info("perl test plugin", $data . "\n"); } sub plugin_init { return %PLUGIN_INFO; } sub plugin_load { Gaim::debug_info("perl test plugin", "plugin_load\n"); my $plugin = shift; Gaim::debug_info("perl test plugin", "Listing accounts.\n"); foreach $account (Gaim::accounts()) { Gaim::debug_info("perl test plugin", $account->get_username() . "\n"); } Gaim::debug_info("perl test plugin", "Listing buddy list.\n"); foreach $group (Gaim::BuddyList::groups()) { Gaim::debug_info("perl test plugin", $group->get_name() . ":\n"); foreach $buddy ($group->buddies()) { Gaim::debug_info("perl test plugin", " " . $buddy->get_name() . "\n"); } } Gaim::signal_connect(Gaim::Accounts::handle, "account-away", $plugin, \&account_away_cb, "test"); } sub plugin_unload { my $plugin = shift; }
