diff options
60 files changed, 13254 insertions, 7358 deletions
@@ -1,10 +1,12 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -ChangeLog - 2005-10-03 +ChangeLog - 2005-10-15 Version 0.1.6 (under dev!): + * new plugin interface, rewritten from scratch: now loads dynamic C + library, and perl/python are plugin scripts * added some missing IRC commands * added colors for input buffer and current channel of status bar * added online help for config options (with /set full_option_name) diff --git a/autogen.sh b/autogen.sh index e3163f120..b7673d592 100755 --- a/autogen.sh +++ b/autogen.sh @@ -6,6 +6,7 @@ cp Makefile.am Makefile.am.old gettextize --copy --force --intl --no-changelog && mv Makefile.am.old Makefile.am mv configure.in.old configure.in +libtoolize --force && aclocal && # autoheader creates config.h.in needed by autoconf autoheader && diff --git a/configure.in b/configure.in index b3b1bae10..f2cc342e0 100644 --- a/configure.in +++ b/configure.in @@ -24,23 +24,23 @@ AC_CONFIG_SRCDIR([src/common/weechat.c]) AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE([weechat], [0.1.6-cvs]) -# Checks for programs. +# Checks for programs AC_PROG_CC AC_PROG_MAKE_SET -AC_PROG_RANLIB +AM_PROG_LIBTOOL # Gettext ALL_LINGUAS="fr es cs" AM_GNU_GETTEXT -# Checks for libraries. -AC_CHECK_LIB([ncurses], [initscr], LIBNCURSES_FOUND=1, LIBNCURSES_FOUND=0) +# Checks for libraries +AC_CHECK_LIB(ncurses, initscr, LIBNCURSES_FOUND=1, LIBNCURSES_FOUND=0) -# Checks for header files. +# Checks for header files AC_HEADER_STDC AC_CHECK_HEADERS([arpa/inet.h libintl.h limits.h locale.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h sys/types.h unistd.h pwd.h errno.h]) -# Checks for typedefs, structures, and compiler characteristics. +# Checks for typedefs, structures, and compiler characteristics AC_HEADER_TIME AC_STRUCT_TM @@ -63,6 +63,11 @@ AC_FUNC_SELECT_ARGTYPES AC_TYPE_SIGNAL AC_CHECK_FUNCS([gethostbyname gethostname getsockname gettimeofday inet_ntoa memset mkdir select setlocale socket strcasecmp strchr strdup strncasecmp strpbrk strrchr strstr uname]) +# Variables in config.h + +AH_VERBATIM([PREFIX], [#undef PREFIX]) +AH_VERBATIM([WEECHAT_LIBDIR], [#undef WEECHAT_LIBDIR]) +AH_VERBATIM([WEECHAT_SHAREDIR], [#undef WEECHAT_SHAREDIR]) AH_VERBATIM([PLUGINS], [#undef PLUGINS]) AH_VERBATIM([PLUGIN_PERL], [#undef PLUGIN_PERL]) AH_VERBATIM([PLUGIN_PYTHON], [#undef PLUGIN_PYTHON]) @@ -70,27 +75,33 @@ AH_VERBATIM([PLUGIN_RUBY], [#undef PLUGIN_RUBY]) AH_VERBATIM([HAVE_GNUTLS], [#undef HAVE_GNUTLS]) AH_VERBATIM([DEBUG], [#undef DEBUG]) +# Arguments for ./configure + AC_ARG_ENABLE(ncurses, [ --disable-ncurses Turn off ncurses interface (default=auto)],enable_ncurses=$enableval,enable_ncurses=yes) AC_ARG_ENABLE(wxwidgets,[ --enable-wxwidgets Turn on WxWidgets interface (default=no)],enable_wxwidgets=$enableval,enable_wxwidgets=no) AC_ARG_ENABLE(gtk, [ --enable-gtk Turn on Gtk+ interface (default=no)],enable_gtk=$enableval,enable_gtk=no) AC_ARG_ENABLE(qt, [ --enable-qt Turn on Qt interface (default=no)],enable_qt=$enableval,enable_qt=no) -AC_ARG_ENABLE(perl, [ --enable-perl Turn on Perl plugins (default=no)],enable_perl=$enableval,enable_perl=no) -AC_ARG_ENABLE(python, [ --enable-python Turn on Python plugins (default=no)],enable_python=$enableval,enable_python=no) -AC_ARG_ENABLE(ruby, [ --enable-ruby Turn on Ruby plugins (default=no)],enable_ruby=$enableval,enable_ruby=no) +AC_ARG_ENABLE(plugins, [ --disable-plugins Turn off plugins support (default=yes)],enable_plugins=$enableval,enable_plugins=yes) +AC_ARG_ENABLE(perl, [ --enable-perl Turn on Perl script plugin (default=no)],enable_perl=$enableval,enable_perl=no) +AC_ARG_ENABLE(python, [ --enable-python Turn on Python script plugin (default=no)],enable_python=$enableval,enable_python=no) +AC_ARG_ENABLE(ruby, [ --enable-ruby Turn on Ruby script plugin (default=no)],enable_ruby=$enableval,enable_ruby=no) AC_ARG_ENABLE(gnutls, [ --disable-gnutls Turn off gnutls support (default=auto)],enable_gnutls=$enableval,enable_gnutls=yes) AC_ARG_WITH(debug, [ --with-debug Debugging: 0=no debug, 1=debug compilation, 2=debug compilation + verbose msgs (default=0)],debug=$withval,debug=0) -enable_plugins="no" - AM_CONDITIONAL(GUI_NCURSES, test "$enable_ncurses" = "yes") AM_CONDITIONAL(GUI_WXWIDGETS, test "$enable_wxwidgets" = "yes") AM_CONDITIONAL(GUI_GTK, test "$enable_gtk" = "yes") AM_CONDITIONAL(GUI_QT, test "$enable_qt" = "yes") +AM_CONDITIONAL(PLUGINS, test "$enable_plugins" = "yes") AM_CONDITIONAL(PLUGIN_PERL, test "$enable_perl" = "yes") AM_CONDITIONAL(PLUGIN_PYTHON, test "$enable_python" = "yes") AM_CONDITIONAL(PLUGIN_RUBY, test "$enable_ruby" = "yes") AM_CONDITIONAL(HAVE_GNUTLS, test "$enable_gnutls" = "yes") +# ------------------------------------------------------------------------------ +# GUI +# ------------------------------------------------------------------------------ + if test "x$enable_ncurses" = "xyes" ; then if test "$LIBNCURSES_FOUND" = "0" ; then AC_MSG_ERROR([ @@ -136,6 +147,10 @@ if test "x$enable_gtk" = "xyes" ; then AC_SUBST(GTK_LIBS) fi +# ------------------------------------------------------------------------------ +# plugins +# ------------------------------------------------------------------------------ + PLUGINS_LIBS= if test "x$enable_perl" = "xyes" ; then @@ -169,7 +184,7 @@ it with your software package manager.]) PERL_LIB_TEST=`PT=perltest.c ; echo "int main() { return 0; }" > $PT ; $CC -Wall $PT -o $PT.out $($PERL -MExtUtils::Embed -e ldopts) 1>/dev/null 2>&1; echo $?; rm -f $PT $PT.out 1>/dev/null 2>&1` if test "x$PERL_LIB_TEST" = "x0" ; then - PLUGINS_LIBS="$PLUGINS_LIBS ../../plugins/perl/lib_weechat_perl.a `$PERL -MExtUtils::Embed -e ldopts`" + PERL_LFLAGS=`$PERL -MExtUtils::Embed -e ldopts` else AC_MSG_ERROR([ *** Perl library couldn't be found in your system. @@ -178,6 +193,7 @@ it with your software package manager.]) AC_MSG_RESULT(found) AC_SUBST(PERL_CFLAGS) + AC_SUBST(PERL_LFLAGS) AC_DEFINE(PLUGIN_PERL) fi @@ -220,8 +236,8 @@ if test "x$enable_python" = "xyes" ; then fi AC_MSG_RESULT(found) - PLUGINS_LIBS="$PLUGINS_LIBS ../../plugins/python/lib_weechat_python.a $PYTHON_LFLAGS" AC_SUBST(PYTHON_CFLAGS) + AC_SUBST(PYTHON_LFLAGS) AC_DEFINE(PLUGIN_PYTHON) fi @@ -232,17 +248,32 @@ if test "x$enable_ruby" = "xyes" ; then RUBY_CFLAGS=-I`ruby -rrbconfig -e "puts Config::CONFIG[['archdir']]"` RUBY_LFLAGS=`ruby -rrbconfig -e "puts Config::CONFIG[['LIBRUBYARG_SHARED']]"` - PLUGINS_LIBS="$PLUGINS_LIBS ../../plugins/ruby/lib_weechat_ruby.a $RUBY_LFLAGS" AC_SUBST(RUBY_CFLAGS) + AC_SUBST(RUBY_LFLAGS) AC_DEFINE(PLUGIN_RUBY) fi if test "x$enable_plugins" = "xyes" ; then - AC_DEFINE(PLUGINS) + AC_CHECK_FUNCS(dlopen, LIBDL_FOUND=yes, LIBDL_FOUND=no) + if test "$LIBDL_FOUND" != "yes"; then + AC_CHECK_LIB(dl, dlopen, LIBDL_FOUND=yes, LIBDL_FOUND=no) + fi + if test "$LIBDL_FOUND" = "yes"; then + PLUGINS_LIBS="../../plugins/lib_weechat_plugins.a -ldl" + AC_DEFINE(PLUGINS) + else + AC_MSG_ERROR([ +*** "dl" library (dynamic library loader) couldn't be found in your system. +*** Try to install it with your software package manager or disable plugins.]) + fi fi AC_SUBST(PLUGINS_LIBS) +# ------------------------------------------------------------------------------ +# gnutls +# ------------------------------------------------------------------------------ + if test "x$enable_gnutls" = "xyes" ; then found_gnutls="no" AM_PATH_LIBGNUTLS( 1.0.0, found_gnutls=yes, AC_MSG_WARN([[ @@ -257,6 +288,29 @@ if test "x$enable_gnutls" = "xyes" ; then enable_gnutls="no" fi fi + +# ------------------------------------------------------------------------------ +# general vars +# ------------------------------------------------------------------------------ + +if test "x$prefix" = "xNONE" ; then + prefix="$ac_default_prefix" +fi + +if test "x$exec_prefix" = "xNONE" ; then + exec_prefix="$prefix" +fi + +AC_DEFINE_UNQUOTED(PREFIX, "${prefix}") + +WEECHAT_LIBDIR=`eval echo ${libdir}/weechat` +AC_DEFINE_UNQUOTED(WEECHAT_LIBDIR, "$WEECHAT_LIBDIR") + +WEECHAT_SHAREDIR=`eval echo ${datadir}/weechat` +AC_DEFINE_UNQUOTED(WEECHAT_SHAREDIR, "$WEECHAT_SHAREDIR") + +weechat_libdir=${libdir}/weechat +AC_SUBST(weechat_libdir) CFLAGS=`echo $CFLAGS | sed s/-g//g` if test "x$CFLAGS" = "x" ; then @@ -272,19 +326,23 @@ if test "x$debug" = "x2" ; then AC_DEFINE(DEBUG) fi -dnl For FreeBSD +# for FreeBSD LIBS="$LIBS $INTLLIBS" CFLAGS="$CFLAGS $CPPFLAGS" +# ------------------------------------------------------------------------------ +# output Makefiles +# ------------------------------------------------------------------------------ + AC_OUTPUT([Makefile doc/Makefile src/Makefile src/common/Makefile src/irc/Makefile src/plugins/Makefile - src/plugins/perl/Makefile - src/plugins/python/Makefile - src/plugins/ruby/Makefile + src/plugins/scripts/Makefile + src/plugins/scripts/perl/Makefile + src/plugins/scripts/python/Makefile src/gui/Makefile src/gui/curses/Makefile src/gui/wxwidgets/Makefile @@ -293,8 +351,9 @@ AC_OUTPUT([Makefile intl/Makefile po/Makefile.in]) -echo -echo $PACKAGE $VERSION +# ------------------------------------------------------------------------------ +# end message +# ------------------------------------------------------------------------------ listgui= if test "x$enable_ncurses" = "xyes" ; then @@ -325,19 +384,17 @@ if test "x$debug" = "x2" ; then msg_debug_verbose="yes" fi -echo -echo Interfaces.................... :$listgui -echo -echo Build with Plugin support..... : $enable_plugins -echo Build with Perl support....... : $enable_perl -echo Build with Python support..... : $enable_python -echo Build with Ruby support....... : $enable_ruby -echo Build with GNUtls support..... : $enable_gnutls -echo -echo Compile with debug info....... : $msg_debug_compiler -echo Print debugging messages...... : $msg_debug_verbose -echo -eval eval echo WeeChat will be installed in $bindir. -echo -echo configure complete, now type \'make\' to build WeeChat -echo +echo "" +echo "Interfaces.................... :$listgui" +echo "Build with GNUtls support..... : $enable_gnutls" +echo "Build with Plugin support..... : $enable_plugins" +echo " Perl plugin..... : $enable_perl" +echo " Python plugin... : $enable_python" +echo " Ruby plugin..... : $enable_ruby" +echo "Compile with debug info....... : $msg_debug_compiler" +echo "Print debugging messages...... : $msg_debug_verbose" +echo "" +eval echo "WeeChat will be installed in $bindir." +echo "" +echo "configure complete, now type 'make' to build WeeChat $VERSION" +echo "" diff --git a/po/POTFILES.in b/po/POTFILES.in index d338c606a..227e0aec2 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -8,14 +8,9 @@ ./src/irc/irc-dcc.c ./src/irc/irc-ignore.c ./src/irc/irc.h -./src/plugins/perl/wee-perl.c -./src/plugins/perl/wee-perl.h -./src/plugins/python/wee-python.c -./src/plugins/python/wee-python.h -./src/plugins/ruby/wee-ruby.c -./src/plugins/ruby/wee-ruby.h ./src/plugins/plugins.c ./src/plugins/plugins.h +./src/plugins/weechat-plugin.h ./src/gui/curses/gui-input.c ./src/gui/curses/gui-display.c ./src/gui/gtk/gui-display.c @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.6-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2005-10-03 14:05+0200\n" -"PO-Revision-Date: 2005-10-03 14:05+0200\n" +"POT-Creation-Date: 2005-10-15 14:17+0200\n" +"PO-Revision-Date: 2005-10-15 13:19+0200\n" "Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" msgid "%s cannot allocate new nick\n" msgstr "%s nemůžu přidělit novou přezdívku\n" -#: src/irc/irc-server.c:180 src/common/weeconfig.c:1823 +#: src/irc/irc-server.c:180 src/common/weeconfig.c:1855 msgid "Unable to get user's name" msgstr "Nemůžu získat jméno uživatele" @@ -1336,7 +1336,7 @@ msgstr "nemůžu změnit mód přo ostatní uživatele" msgid "whois (secure connection)" msgstr "whois (zabezpečená část)" -#: src/irc/irc-display.c:163 src/common/command.c:877 +#: src/irc/irc-display.c:163 src/common/command.c:870 msgid "Server: " msgstr "Server: " @@ -1344,7 +1344,7 @@ msgstr "Server: " msgid "connected" msgstr "připojen" -#: src/irc/irc-display.c:168 src/common/command.c:903 +#: src/irc/irc-display.c:168 src/common/command.c:896 msgid "not connected" msgstr "nepřipojen" @@ -1366,7 +1366,7 @@ msgstr " (dočasný server, nebude uložen)" msgid "(hidden)" msgstr "(skrytý)" -#: src/irc/irc-send.c:59 src/irc/irc-recv.c:4421 +#: src/irc/irc-send.c:59 src/irc/irc-recv.c:4426 msgid "unknown" msgstr "neznámý" @@ -1375,7 +1375,7 @@ msgstr "neznámý" msgid "%s: using local hostname \"%s\"\n" msgstr "%s: používám lokální jméno hosta \"%s\"\n" -#: src/irc/irc-send.c:167 src/common/command.c:755 +#: src/irc/irc-send.c:167 src/common/command.c:746 #, c-format msgid "%s cannot find nick for sending message\n" msgstr "%s nemohu najít přezdívku pro poslání zprávy\n" @@ -1391,9 +1391,8 @@ msgstr "%s \"%s\" příkaz může být spuštěn pouze v okně kanálu\n" #: src/irc/irc-send.c:456 src/irc/irc-send.c:468 src/irc/irc-send.c:486 #: src/irc/irc-send.c:1138 src/irc/irc-send.c:1231 src/irc/irc-send.c:1763 -#: src/common/command.c:1225 src/common/command.c:1579 -#: src/common/command.c:1729 src/common/command.c:1872 -#: src/common/command.c:2015 +#: src/common/command.c:1218 src/common/command.c:1628 +#: src/common/command.c:1760 #, c-format msgid "%s wrong argument count for \"%s\" command\n" msgstr "%s špatný počet parametrů pro příkaz \"%s\"\n" @@ -1409,13 +1408,13 @@ msgstr "%s špatné parametry pro příkaz \"%s\"\n" msgid "%s \"%s\" command can not be executed on a server window\n" msgstr "%s \"%s\" příkaz nemůže být spuštěn v okně serveru\n" -#: src/irc/irc-send.c:1031 src/irc/irc-send.c:1056 src/irc/irc-recv.c:430 +#: src/irc/irc-send.c:1031 src/irc/irc-send.c:1056 src/irc/irc-recv.c:435 #, c-format msgid "%s nick \"%s\" not found for \"%s\" command\n" msgstr "%s přezdívka \"%s\" nebyla nalezena pro příkaz \"%s\"\n" -#: src/irc/irc-send.c:1108 src/irc/irc-send.c:1416 src/irc/irc-recv.c:1117 -#: src/irc/irc-recv.c:1933 src/irc/irc-recv.c:2021 +#: src/irc/irc-send.c:1108 src/irc/irc-send.c:1416 src/irc/irc-recv.c:1122 +#: src/irc/irc-recv.c:1938 src/irc/irc-recv.c:2026 #, c-format msgid "%s cannot create new private window \"%s\"\n" msgstr "%s nemohu vytvořít nové soukromé okno\"%s\"\n" @@ -1425,444 +1424,444 @@ msgstr "%s nemohu vytvořít nové soukromé okno\"%s\"\n" msgid "%s, compiled on %s %s\n" msgstr "%s, kompilováno na %s %s\n" -#: src/irc/irc-recv.c:286 +#: src/irc/irc-recv.c:291 msgid "You have been invited to " msgstr "Byl jsi pozván na " -#: src/irc/irc-recv.c:289 +#: src/irc/irc-recv.c:294 msgid "by" msgstr "od" -#: src/irc/irc-recv.c:300 src/irc/irc-recv.c:394 src/irc/irc-recv.c:891 -#: src/irc/irc-recv.c:1276 src/irc/irc-recv.c:1535 src/irc/irc-recv.c:3437 -#: src/irc/irc-recv.c:3459 src/irc/irc-recv.c:3520 src/irc/irc-recv.c:3592 +#: src/irc/irc-recv.c:305 src/irc/irc-recv.c:399 src/irc/irc-recv.c:896 +#: src/irc/irc-recv.c:1281 src/irc/irc-recv.c:1540 src/irc/irc-recv.c:3442 +#: src/irc/irc-recv.c:3464 src/irc/irc-recv.c:3525 src/irc/irc-recv.c:3597 #, c-format msgid "%s channel \"%s\" not found for \"%s\" command\n" msgstr "%s kanál \"%s\" nebyl nalezen příkazem \"%s\"\n" -#: src/irc/irc-recv.c:328 +#: src/irc/irc-recv.c:333 #, c-format msgid "%s cannot create new channel \"%s\"\n" msgstr "%s nemohu vytvořit nový kanál \"%s\"\n" -#: src/irc/irc-recv.c:347 +#: src/irc/irc-recv.c:352 msgid " has joined " msgstr " se připojil " -#: src/irc/irc-recv.c:405 +#: src/irc/irc-recv.c:410 msgid " has kicked " msgstr " byl vykopnut " -#: src/irc/irc-recv.c:409 src/common/command.c:1400 +#: src/irc/irc-recv.c:414 src/common/command.c:1449 msgid " from " msgstr " z " -#: src/irc/irc-recv.c:495 +#: src/irc/irc-recv.c:500 msgid " has killed " msgstr " byl zabit " -#: src/irc/irc-recv.c:501 +#: src/irc/irc-recv.c:506 msgid " from server" msgstr " ze serveru" -#: src/irc/irc-recv.c:511 +#: src/irc/irc-recv.c:516 msgid " from server\n" msgstr " ze serveru\n" -#: src/irc/irc-recv.c:519 +#: src/irc/irc-recv.c:524 #, c-format msgid "%s host \"%s\" not found for \"%s\" command\n" msgstr "%s host \"%s\" nenalezen pro příkaz \"%s\"\n" -#: src/irc/irc-recv.c:559 +#: src/irc/irc-recv.c:564 msgid "sets ban on" msgstr "tě zakázal" -#: src/irc/irc-recv.c:560 +#: src/irc/irc-recv.c:565 msgid "removes ban on" msgstr "odebral zakázaní" -#: src/irc/irc-recv.c:584 +#: src/irc/irc-recv.c:589 msgid "gives half channel operator status to" msgstr "dal poloviční status operátora na" -#: src/irc/irc-recv.c:585 +#: src/irc/irc-recv.c:590 msgid "removes half channel operator status from" msgstr "odebral poloviční status operátora z" -#: src/irc/irc-recv.c:612 +#: src/irc/irc-recv.c:617 msgid "sets invite-only channel flag" msgstr "nastavil zančku kanálu: pouze na pování" -#: src/irc/irc-recv.c:613 +#: src/irc/irc-recv.c:618 msgid "removes invite-only channel flag" msgstr "odebral značku kanálu: pouze na pozvání" -#: src/irc/irc-recv.c:630 +#: src/irc/irc-recv.c:635 msgid "sets channel key to" msgstr "nastavil klíč kanálu na" -#: src/irc/irc-recv.c:631 +#: src/irc/irc-recv.c:636 msgid "removes channel key" msgstr "odebral klíč kanálu" -#: src/irc/irc-recv.c:662 +#: src/irc/irc-recv.c:667 msgid "sets the user limit to" msgstr "nastavil limit uživatelů na" -#: src/irc/irc-recv.c:663 +#: src/irc/irc-recv.c:668 msgid "removes user limit" msgstr "odebral limit uživatelů" -#: src/irc/irc-recv.c:685 +#: src/irc/irc-recv.c:690 msgid "sets moderated channel flag" msgstr "nastavil značku moderovaného kanálu" -#: src/irc/irc-recv.c:686 +#: src/irc/irc-recv.c:691 msgid "removes moderated channel flag" msgstr "odebral značku moderovaného kanálu" -#: src/irc/irc-recv.c:696 +#: src/irc/irc-recv.c:701 msgid "sets messages from channel only flag" msgstr "nastavil značku kanálu: zprávy pouze z kanálu" -#: src/irc/irc-recv.c:697 +#: src/irc/irc-recv.c:702 msgid "removes messages from channel only flag" msgstr "odebral značku kanálu: zprávy pouze z kanálu" -#: src/irc/irc-recv.c:714 +#: src/irc/irc-recv.c:719 msgid "gives channel operator status to" msgstr "dal status operátora na" -#: src/irc/irc-recv.c:715 +#: src/irc/irc-recv.c:720 msgid "removes channel operator status from" msgstr "odebral status operátora z" -#: src/irc/irc-recv.c:742 +#: src/irc/irc-recv.c:747 msgid "sets private channel flag" msgstr "nastavil značku soukromého kanálu" -#: src/irc/irc-recv.c:743 +#: src/irc/irc-recv.c:748 msgid "removes private channel flag" msgstr "odebral značku soukromého kanálu" -#: src/irc/irc-recv.c:760 +#: src/irc/irc-recv.c:765 msgid "sets quiet on" msgstr "nastavil ticho na" -#: src/irc/irc-recv.c:761 +#: src/irc/irc-recv.c:766 msgid "removes quiet on" msgstr "odebral ticho z" -#: src/irc/irc-recv.c:778 +#: src/irc/irc-recv.c:783 msgid "sets secret channel flag" msgstr "nastavil značku tajného kanálu" -#: src/irc/irc-recv.c:779 +#: src/irc/irc-recv.c:784 msgid "removes secret channel flag" msgstr "odebral značku tajného kanálu" -#: src/irc/irc-recv.c:789 +#: src/irc/irc-recv.c:794 msgid "sets topic protection" msgstr "nastavil protekci tématu" -#: src/irc/irc-recv.c:790 +#: src/irc/irc-recv.c:795 msgid "removes topic protection" msgstr "odebral protekci tématu" -#: src/irc/irc-recv.c:807 +#: src/irc/irc-recv.c:812 msgid "gives voice to" msgstr "dal voice na" -#: src/irc/irc-recv.c:808 +#: src/irc/irc-recv.c:813 msgid "removes voice from" msgstr "odebral voice z" -#: src/irc/irc-recv.c:851 src/irc/irc-recv.c:933 src/irc/irc-recv.c:1354 -#: src/irc/irc-recv.c:2088 +#: src/irc/irc-recv.c:856 src/irc/irc-recv.c:938 src/irc/irc-recv.c:1359 +#: src/irc/irc-recv.c:2093 #, c-format msgid "%s \"%s\" command received without host\n" msgstr "%s \"%s\" příkaz obdržen bez hosta\n" -#: src/irc/irc-recv.c:861 +#: src/irc/irc-recv.c:866 #, c-format msgid "%s \"%s\" command received without channel or nickname\n" msgstr "%s \"%s\" příkaz obdržen bez kanálu nebo přezdívky\n" -#: src/irc/irc-recv.c:908 +#: src/irc/irc-recv.c:913 msgid "mode changed by" msgstr "mód změnil" -#: src/irc/irc-recv.c:970 +#: src/irc/irc-recv.c:975 msgid "You are " msgstr "Jsi " -#: src/irc/irc-recv.c:977 +#: src/irc/irc-recv.c:982 msgid " is " msgstr " je " -#: src/irc/irc-recv.c:981 +#: src/irc/irc-recv.c:986 msgid "now known as " msgstr "nyní známý jako " -#: src/irc/irc-recv.c:1048 +#: src/irc/irc-recv.c:1053 #, c-format msgid "%s nickname not found for \"%s\" command\n" msgstr "%s přezdívka nenalezena pro příkaz \"%s\"\n" -#: src/irc/irc-recv.c:1064 src/irc/irc-recv.c:1096 +#: src/irc/irc-recv.c:1069 src/irc/irc-recv.c:1101 msgid "reply from" msgstr "odpověd od" -#: src/irc/irc-recv.c:1099 +#: src/irc/irc-recv.c:1104 #, c-format msgid ": %ld.%ld seconds\n" msgstr ": %ld %ld sekund\n" -#: src/irc/irc-recv.c:1138 src/irc/irc-recv.c:2042 src/irc/irc-dcc.c:1044 +#: src/irc/irc-recv.c:1143 src/irc/irc-recv.c:2047 src/irc/irc-dcc.c:1044 #, c-format msgid "Private %s> %s" msgstr "Soukromý %s> %s" -#: src/irc/irc-recv.c:1201 +#: src/irc/irc-recv.c:1206 #, c-format msgid "%s \"%s\" command received without host or channel\n" msgstr "%s \"%s\" příkaz obdržen bez hosta nebo kanálu\n" -#: src/irc/irc-recv.c:1250 +#: src/irc/irc-recv.c:1255 msgid " has left " msgstr " opustil " -#: src/irc/irc-recv.c:1402 src/irc/irc-recv.c:1957 +#: src/irc/irc-recv.c:1407 src/irc/irc-recv.c:1962 #, c-format msgid "On %s: * %s %s" msgstr "Na %s: * %s %s" -#: src/irc/irc-recv.c:1426 +#: src/irc/irc-recv.c:1431 #, c-format msgid "Received a CTCP SOUND \"%s\" from " msgstr "Obdržen CTCP ZVUK \"%s\" od " -#: src/irc/irc-recv.c:1459 src/irc/irc-recv.c:1490 src/irc/irc-recv.c:1594 -#: src/irc/irc-recv.c:1634 src/irc/irc-recv.c:1997 +#: src/irc/irc-recv.c:1464 src/irc/irc-recv.c:1495 src/irc/irc-recv.c:1599 +#: src/irc/irc-recv.c:1639 src/irc/irc-recv.c:2002 msgid "received from" msgstr "obdrženo od" -#: src/irc/irc-recv.c:1486 src/irc/irc-recv.c:1993 +#: src/irc/irc-recv.c:1491 src/irc/irc-recv.c:1998 msgid "Unknown CTCP " msgstr "Neznámé CTCP " -#: src/irc/irc-recv.c:1518 +#: src/irc/irc-recv.c:1523 #, c-format msgid "On %s: %s> %s" msgstr "Na: %s: %s> %s" -#: src/irc/irc-recv.c:1650 src/irc/irc-recv.c:1671 src/irc/irc-recv.c:1687 -#: src/irc/irc-recv.c:1703 src/irc/irc-recv.c:1729 src/irc/irc-recv.c:1750 -#: src/irc/irc-recv.c:1766 src/irc/irc-recv.c:1791 src/irc/irc-recv.c:1812 -#: src/irc/irc-recv.c:1828 src/irc/irc-recv.c:1853 src/irc/irc-recv.c:1874 -#: src/irc/irc-recv.c:1889 src/irc/irc-recv.c:2064 src/irc/irc-recv.c:2408 -#: src/irc/irc-recv.c:3988 src/irc/irc-recv.c:4046 src/irc/irc-recv.c:4205 -#: src/irc/irc-recv.c:4220 src/irc/irc-recv.c:4235 src/irc/irc-recv.c:4250 -#: src/irc/irc-recv.c:4263 src/irc/irc-recv.c:4317 src/irc/irc-recv.c:4331 +#: src/irc/irc-recv.c:1655 src/irc/irc-recv.c:1676 src/irc/irc-recv.c:1692 +#: src/irc/irc-recv.c:1708 src/irc/irc-recv.c:1734 src/irc/irc-recv.c:1755 +#: src/irc/irc-recv.c:1771 src/irc/irc-recv.c:1796 src/irc/irc-recv.c:1817 +#: src/irc/irc-recv.c:1833 src/irc/irc-recv.c:1858 src/irc/irc-recv.c:1879 +#: src/irc/irc-recv.c:1894 src/irc/irc-recv.c:2069 src/irc/irc-recv.c:2413 +#: src/irc/irc-recv.c:3993 src/irc/irc-recv.c:4051 src/irc/irc-recv.c:4210 +#: src/irc/irc-recv.c:4225 src/irc/irc-recv.c:4240 src/irc/irc-recv.c:4255 +#: src/irc/irc-recv.c:4268 src/irc/irc-recv.c:4322 src/irc/irc-recv.c:4336 #, c-format msgid "%s cannot parse \"%s\" command\n" msgstr "%s nemohu rozpársovat příkaz \"%s\"\n" -#: src/irc/irc-recv.c:1902 +#: src/irc/irc-recv.c:1907 #, c-format msgid "%s unknown DCC CHAT type received from " msgstr "%s neznámý DCC CHAT typ obdržen od " -#: src/irc/irc-recv.c:2119 +#: src/irc/irc-recv.c:2124 msgid "has quit" msgstr "ukončil" -#: src/irc/irc-recv.c:2244 +#: src/irc/irc-recv.c:2249 #, c-format msgid "%s \"%s\" command received without channel\n" msgstr "%s \"%s\" příkaz obdržen bez kanálu\n" -#: src/irc/irc-recv.c:2276 +#: src/irc/irc-recv.c:2281 msgid " has changed topic for " msgstr " změnil téma pro " -#: src/irc/irc-recv.c:2281 +#: src/irc/irc-recv.c:2286 #, c-format msgid " to: \"%s\"\n" msgstr " pro: \"%s\"\n" -#: src/irc/irc-recv.c:2287 +#: src/irc/irc-recv.c:2292 msgid " has unset topic for " msgstr " zrušil téma pro " -#: src/irc/irc-recv.c:2396 +#: src/irc/irc-recv.c:2401 msgid "User mode" msgstr "Uživatelský mód" -#: src/irc/irc-recv.c:2451 +#: src/irc/irc-recv.c:2456 #, c-format msgid " is away: %s\n" msgstr " je pryč: %s\n" -#: src/irc/irc-recv.c:2533 +#: src/irc/irc-recv.c:2538 msgid "Users online: " msgstr "Uživatelů online: " -#: src/irc/irc-recv.c:3023 +#: src/irc/irc-recv.c:3028 msgid "idle: " msgstr "nečinný: " -#: src/irc/irc-recv.c:3031 +#: src/irc/irc-recv.c:3036 msgid "days" msgstr "dní" -#: src/irc/irc-recv.c:3031 +#: src/irc/irc-recv.c:3036 msgid "day" msgstr "den" -#: src/irc/irc-recv.c:3041 +#: src/irc/irc-recv.c:3046 msgid "hours" msgstr "hodin" -#: src/irc/irc-recv.c:3041 +#: src/irc/irc-recv.c:3046 msgid "hour" msgstr "hodina" -#: src/irc/irc-recv.c:3047 +#: src/irc/irc-recv.c:3052 msgid "minutes" msgstr "minut" -#: src/irc/irc-recv.c:3047 +#: src/irc/irc-recv.c:3052 msgid "minute" msgstr "minuta" -#: src/irc/irc-recv.c:3053 +#: src/irc/irc-recv.c:3058 msgid "seconds" msgstr "sekund" -#: src/irc/irc-recv.c:3053 +#: src/irc/irc-recv.c:3058 msgid "second" msgstr "sekunda" -#: src/irc/irc-recv.c:3058 +#: src/irc/irc-recv.c:3063 msgid "signon at: " msgstr "připojen: " -#: src/irc/irc-recv.c:3154 +#: src/irc/irc-recv.c:3159 msgid "Channels: " msgstr "Kanály: " -#: src/irc/irc-recv.c:3450 +#: src/irc/irc-recv.c:3455 msgid "No topic set for " msgstr "Není nastaveno téma pro " -#: src/irc/irc-recv.c:3507 +#: src/irc/irc-recv.c:3512 msgid "Topic for " msgstr "Téma pro " -#: src/irc/irc-recv.c:3511 +#: src/irc/irc-recv.c:3516 #, c-format msgid " is: \"%s\"\n" msgstr " je: \"%s\"\n" -#: src/irc/irc-recv.c:3530 src/irc/irc-recv.c:3619 src/irc/irc-recv.c:3672 +#: src/irc/irc-recv.c:3535 src/irc/irc-recv.c:3624 src/irc/irc-recv.c:3677 #, c-format msgid "%s cannot identify channel for \"%s\" command\n" msgstr "%s nemohu identifikovat kanál pro příkaz \"%s\"\n" -#: src/irc/irc-recv.c:3580 +#: src/irc/irc-recv.c:3585 msgid "Topic set by " msgstr "Téma nasteveno " -#: src/irc/irc-recv.c:3601 +#: src/irc/irc-recv.c:3606 #, c-format msgid "%s cannot identify date/time for \"%s\" command\n" msgstr "%s nemohu identofikovat datum/čas pro příkaz \"%s\"\n" -#: src/irc/irc-recv.c:3610 src/irc/irc-recv.c:3681 +#: src/irc/irc-recv.c:3615 src/irc/irc-recv.c:3686 #, c-format msgid "%s cannot identify nickname for \"%s\" command\n" msgstr "%s nemohu identifikovat přezdívku pro příkaz \"%s\"\n" -#: src/irc/irc-recv.c:3660 +#: src/irc/irc-recv.c:3665 msgid "has invited" msgstr "pozval" -#: src/irc/irc-recv.c:3663 src/irc/irc-recv.c:3909 src/common/command.c:1393 +#: src/irc/irc-recv.c:3668 src/irc/irc-recv.c:3914 src/common/command.c:1442 msgid "on" msgstr "na" -#: src/irc/irc-recv.c:3718 +#: src/irc/irc-recv.c:3723 msgid "Channel reop" msgstr "reop kanálu" -#: src/irc/irc-recv.c:4034 +#: src/irc/irc-recv.c:4039 #, c-format msgid "%s cannot create nick \"%s\" for channel \"%s\"\n" msgstr "%s nemohu vztvořit přezdívku \"%s\" pro kanál \"%s\"\n" -#: src/irc/irc-recv.c:4093 +#: src/irc/irc-recv.c:4098 msgid "Nicks " msgstr "Přezdívky " -#: src/irc/irc-recv.c:4113 +#: src/irc/irc-recv.c:4118 msgid "Channel " msgstr "Kanál " -#: src/irc/irc-recv.c:4124 +#: src/irc/irc-recv.c:4129 msgid "nicks" msgstr "přezdívky" -#: src/irc/irc-recv.c:4124 +#: src/irc/irc-recv.c:4129 msgid "nick" msgstr "přezdívka" -#: src/irc/irc-recv.c:4132 +#: src/irc/irc-recv.c:4137 msgid "ops" msgstr "ops" -#: src/irc/irc-recv.c:4132 +#: src/irc/irc-recv.c:4137 msgid "op" msgstr "op" -#: src/irc/irc-recv.c:4141 +#: src/irc/irc-recv.c:4146 msgid "halfops" msgstr "částeční-ops" -#: src/irc/irc-recv.c:4141 +#: src/irc/irc-recv.c:4146 msgid "halfop" msgstr "částečný-op" -#: src/irc/irc-recv.c:4150 +#: src/irc/irc-recv.c:4155 msgid "voices" msgstr "voices" -#: src/irc/irc-recv.c:4150 +#: src/irc/irc-recv.c:4155 msgid "voice" msgstr "voice" -#: src/irc/irc-recv.c:4159 +#: src/irc/irc-recv.c:4164 msgid "normal" msgstr "normální" -#: src/irc/irc-recv.c:4280 +#: src/irc/irc-recv.c:4285 msgid "banned by" msgstr "zakázán" -#: src/irc/irc-recv.c:4375 +#: src/irc/irc-recv.c:4380 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 2nd nickname \"%s\"\n" msgstr "" "%s: přezdívka \"%s\" je již používaná, zkouším druhou přezdívku \"%s\"\n" -#: src/irc/irc-recv.c:4387 +#: src/irc/irc-recv.c:4392 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 3rd nickname \"%s\"\n" msgstr "" "%s: přezdívka \"%s\" je již používaná, zkouším třetí přezdívku \"%s\"\n" -#: src/irc/irc-recv.c:4399 +#: src/irc/irc-recv.c:4404 #, c-format msgid "" "%s: all declared nicknames are already in use, closing connection with " @@ -1871,7 +1870,7 @@ msgstr "" "%s: všechny deklarované přezdívky jsou již používány, zavírám spojení se " "serverem!\n" -#: src/irc/irc-recv.c:4409 +#: src/irc/irc-recv.c:4414 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 1st nickname \"%s\"\n" msgstr "" @@ -2067,134 +2066,89 @@ msgstr "%s nedostatek paměti pro vytvoření ignorování\n" msgid "Removing ignore:" msgstr "Odebírám ignorování:" -#: src/plugins/perl/wee-perl.c:88 src/plugins/perl/wee-perl.c:463 -#: src/plugins/python/wee-python.c:81 src/plugins/ruby/wee-ruby.c:89 +#: src/plugins/plugins.c:226 #, c-format msgid "" -"%s error: unable to register \"%s\" script (another script already exists " -"with this name)\n" +"%s plugin %s: unable to add handler for IRC command \"%s\" (not enough " +"memory)\n" msgstr "" -"%s chyba: nemohu zaregistrovat \"%s\" skript (jiný skript již existuje se " -"stejným jménem)\n" - -#: src/plugins/perl/wee-perl.c:112 src/plugins/perl/wee-perl.c:487 -#: src/plugins/python/wee-python.c:105 src/plugins/ruby/wee-ruby.c:113 -#, c-format -msgid "Registered %s script: \"%s\", version %s (%s)\n" -msgstr "Zaregistrován %s skript: \"%s\", verze %s (%s)\n" - -#: src/plugins/perl/wee-perl.c:119 src/plugins/perl/wee-perl.c:494 -#: src/plugins/python/wee-python.c:112 src/plugins/ruby/wee-ruby.c:120 -#, c-format -msgid "%s error: unable to load script \"%s\" (not enough memory)\n" -msgstr "%s chyba: nemohu načíst skript \"%s\" (nedostatek pameti)\n" - -#: src/plugins/perl/wee-perl.c:234 src/plugins/perl/wee-perl.c:520 -#: src/plugins/perl/wee-perl.c:568 src/plugins/perl/wee-perl.c:595 -#: src/plugins/perl/wee-perl.c:640 src/plugins/perl/wee-perl.c:670 -#: src/plugins/perl/wee-perl.c:710 src/plugins/python/wee-python.c:60 -#: src/plugins/python/wee-python.c:142 src/plugins/python/wee-python.c:179 -#: src/plugins/python/wee-python.c:211 src/plugins/python/wee-python.c:243 -#: src/plugins/python/wee-python.c:272 src/plugins/python/wee-python.c:311 -#: src/plugins/ruby/wee-ruby.c:58 src/plugins/ruby/wee-ruby.c:146 -#: src/plugins/ruby/wee-ruby.c:192 src/plugins/ruby/wee-ruby.c:226 -#: src/plugins/ruby/wee-ruby.c:267 src/plugins/ruby/wee-ruby.c:298 -#: src/plugins/ruby/wee-ruby.c:339 -#, c-format -msgid "%s error: wrong parameters for \"%s\" function\n" -msgstr "%s chyba: špatný parametr pro funkci \"%s\"\n" - -#: src/plugins/perl/wee-perl.c:270 src/plugins/perl/wee-perl.c:374 -#: src/plugins/perl/wee-perl.c:723 src/plugins/python/wee-python.c:331 -#: src/plugins/ruby/wee-ruby.c:367 -#, c-format -msgid "%s error: server not found for \"%s\" function\n" -msgstr "%s chyba: server pro funkci \"%s\" nenalezen\n" - -#: src/plugins/perl/wee-perl.c:873 src/plugins/python/wee-python.c:457 -#, c-format -msgid "Loading %s module \"weechat\"\n" -msgstr "Načítám %s modul \"weechat\"\n" - -#: src/plugins/perl/wee-perl.c:932 -#, c-format -msgid "Perl error: %s" -msgstr "Chyba Perlu: %s" -#: src/plugins/perl/wee-perl.c:942 +#: src/plugins/plugins.c:261 #, c-format -msgid "%s error: too much values from \"%s\" (%d). Expected: 1.\n" -msgstr "%s chyba: příliš mnoho hodnot od \"%s\" (%d). Očekávána 1.\n" +msgid "" +"%s plugin %s: unable to add handler for \"%s\" command (already exists)\n" +msgstr "" -#: src/plugins/perl/wee-perl.c:964 src/plugins/perl/wee-perl.c:966 -#: src/plugins/python/wee-python.c:615 src/plugins/python/wee-python.c:617 +#: src/plugins/plugins.c:296 #, c-format -msgid "Loading %s script \"%s\"\n" -msgstr "Načítám %s skript \"%s\"\n" +msgid "" +"%s plugin %s: unable to add handler for \"%s\" command (not enough memory)\n" +msgstr "" -#: src/plugins/perl/wee-perl.c:1015 src/plugins/python/wee-python.c:686 -#: src/plugins/ruby/wee-ruby.c:555 +#: src/plugins/plugins.c:573 #, c-format -msgid "Unloading %s script \"%s\"\n" -msgstr "Vyjímám %s skript \"%s\"\n" +msgid "%s unable to load plugin \"%s\": %s\n" +msgstr "" -#: src/plugins/perl/wee-perl.c:1032 src/plugins/python/wee-python.c:703 -#: src/plugins/ruby/wee-ruby.c:572 +#: src/plugins/plugins.c:584 #, c-format -msgid "Unloading all %s scripts...\n" -msgstr "Odebírám všechny %s skripty...\n" +msgid "%s symbol \"plugin_name\" not found in plugin \"%s\", failed to load\n" +msgstr "" -#: src/plugins/perl/wee-perl.c:1037 src/plugins/python/wee-python.c:708 -#: src/plugins/ruby/wee-ruby.c:577 +#: src/plugins/plugins.c:595 #, c-format -msgid "%s scripts unloaded\n" -msgstr "%s skripty odebrány\n" +msgid "" +"%s unable to load plugin \"%s\": a plugin with same name already exists\n" +msgstr "" -#: src/plugins/python/wee-python.c:452 +#: src/plugins/plugins.c:607 #, c-format -msgid "%s error: error while launching interpreter\n" -msgstr "%s chyba: chyba při zpouštění interpteteru\n" +msgid "" +"%s symbol \"plugin_description\" not found in plugin \"%s\", failed to load\n" +msgstr "" -#: src/plugins/python/wee-python.c:481 +#: src/plugins/plugins.c:618 #, c-format -msgid "%s error: error while redirecting stdout and stderr\n" -msgstr "%s chyba: chyba při přesměrování stdout a stderr\n" +msgid "" +"%s symbol \"plugin_version\" not found in plugin \"%s\", failed to load\n" +msgstr "" -#: src/plugins/python/wee-python.c:534 src/plugins/python/wee-python.c:562 -#: src/plugins/python/wee-python.c:594 +#: src/plugins/plugins.c:629 #, c-format -msgid "%s error: unable to run function \"%s\" in script (not enough memory)\n" -msgstr "%s chyba: nemohu pustit funkci \"%s\" ve skriptu (nedostatek pameti)\n" +msgid "" +"%s function \"weechat_plugin_init\" not found in plugin \"%s\", failed to " +"load\n" +msgstr "" -#: src/plugins/python/wee-python.c:584 +#: src/plugins/plugins.c:683 #, c-format -msgid "%s error: error while running function \"%s\"\n" -msgstr "%s chyba: chyba při běhu funkce \"%s\"\n" +msgid "Initializing plugin \"%s\" %s\n" +msgstr "" -#: src/plugins/python/wee-python.c:623 +#: src/plugins/plugins.c:691 #, c-format -msgid "%s error: error while opening file \"%s\"\n" -msgstr "%s chyba: chyba při otevírání souboru\"%s\"\n" +msgid "%s unable to initialize plugin \"%s\"\n" +msgstr "" -#: src/plugins/python/wee-python.c:632 +#: src/plugins/plugins.c:702 #, c-format -msgid "%s error: error while parsing file \"%s\"\n" -msgstr "%s chyba: chyba při parsování souboru \"%s\"\n" +msgid "%s unable to load plugin \"%s\" (not enough memory)\n" +msgstr "" -#: src/plugins/python/wee-python.c:734 +#: src/plugins/plugins.c:710 #, c-format -msgid "%s error: error while freeing interpreter\n" -msgstr "%s chyba: chyba při uvolňování interpreteru\n" +msgid "Plugin \"%s\" (%s) loaded.\n" +msgstr "" -#: src/plugins/plugins.c:97 +#: src/plugins/plugins.c:831 #, c-format -msgid "Auto-loading %s script: %s%s%s\n" -msgstr "Automaticky načítám %s skript: %s%s%s\n" +msgid "Plugin \"%s\" unloaded.\n" +msgstr "" -#: src/plugins/plugins.c:223 +#: src/plugins/plugins.c:837 #, c-format -msgid "%s unable to add handler for \"%s\" message (not enough memory)\n" -msgstr "%s nemohu přidat obsluhovač pro zprávu \"%s\" (nedostatek paměti)\n" +msgid "%s plugin \"%s\" not found\n" +msgstr "" #: src/gui/curses/gui-input.c:340 #, c-format @@ -2418,7 +2372,7 @@ msgstr "vyčisti hotlist" msgid "grab a key" msgstr "zachytit klávesu" -#: src/gui/gui-keyboard.c:426 src/common/command.c:1594 +#: src/gui/gui-keyboard.c:426 src/common/command.c:1643 #, c-format msgid "%s unable to bind key \"%s\"\n" msgstr "%s nemohu napojit kalávesu \"%s\"\n" @@ -2591,57 +2545,25 @@ msgstr "" "(používejte opatrně)" #: src/common/command.c:92 -msgid "list/load/unload Perl scripts" -msgstr "vypše/načte/zpruší Perlové skripty" +msgid "list/load/unload plugins" +msgstr "" -#: src/common/command.c:93 src/common/command.c:98 src/common/command.c:103 +#: src/common/command.c:93 msgid "[load filename] | [autoload] | [reload] | [unload]" msgstr "[load jméno_souboru] | [autoload] | [reload] | [unload]" #: src/common/command.c:94 msgid "" -"filename: Perl script (file) to load\n" +"filename: WeeChat plugin (file) to load\n" "\n" -"Without argument, /perl command lists all loaded Perl scripts." +"Without argument, /plugin command lists all loaded plugins." msgstr "" -"jméno_souboru: Perlový skript (soubor) pro načtení\n" -"\n" -"Bez argumentů, vypíše příkaz /perl seznam všech načtených perlových skriptů." #: src/common/command.c:97 -msgid "list/load/unload Python scripts" -msgstr "vypíše/načte/zruší Pythonové skripty" - -#: src/common/command.c:99 -msgid "" -"filename: Python script (file) to load\n" -"\n" -"Without argument, /python command lists all loaded Python scripts." -msgstr "" -"jméno_souboru: Pythonový skript (soubor) pro načtení\n" -"\n" -"Bez argumentů, vypíše příkaz /python seznam všech načtených pythonových " -"skriptů." - -#: src/common/command.c:102 -msgid "list/load/unload Ruby scripts" -msgstr "vypíše/načte/zruší Ruby skripty" - -#: src/common/command.c:104 -msgid "" -"filename: Ruby script (file) to load\n" -"\n" -"Without argument, /ruby command lists all loaded Ruby scripts." -msgstr "" -"jméno_souboru: Ruby skript (soubor) pro načtení\n" -"\n" -"Bez argumentů, vypíše příkaz /ruby seznam všech načtených ruby skriptů." - -#: src/common/command.c:107 msgid "list, add or remove servers" msgstr "vypíše, přídá nebo odebere servery" -#: src/common/command.c:108 +#: src/common/command.c:98 msgid "" "[servername] | [servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-" "pwd password] [-nicks nick1 nick2 nick3] [-username username] [-realname " @@ -2653,7 +2575,7 @@ msgstr "" "uživatelské_jméno] [-realname pravé_jméno] [-command příkaz] [-autojoin kanál" "[,kanál]] ] | [del jméno_serveru]" -#: src/common/command.c:113 +#: src/common/command.c:103 msgid "" "servername: server name, for internal & display use\n" "hostname: name or IP address of server\n" @@ -2679,54 +2601,54 @@ msgstr "" "uživatelské_jméno: uživatelské jméno\n" "pravé_jméno: pravé jméno uživatele" -#: src/common/command.c:125 +#: src/common/command.c:115 msgid "save config to disk" msgstr "uloží nastavení na disk" -#: src/common/command.c:126 +#: src/common/command.c:116 msgid "[file]" msgstr "[soubor]" -#: src/common/command.c:126 +#: src/common/command.c:116 msgid "file: filename for writing config" msgstr "soubor: jméno souboru pro zapsání" -#: src/common/command.c:128 +#: src/common/command.c:118 msgid "set config parameters" msgstr "nastaví konfigurační parametry" -#: src/common/command.c:129 +#: src/common/command.c:119 msgid "[option [ = value]]" msgstr "[volba [ = hodnota]]" -#: src/common/command.c:130 +#: src/common/command.c:120 msgid "" "option: name of an option (if name is full and no value is given, then help " "is displayed on option)\n" "value: value for option" msgstr "" -#: src/common/command.c:134 +#: src/common/command.c:124 msgid "remove an alias" msgstr "odebere alias" -#: src/common/command.c:135 +#: src/common/command.c:125 msgid "alias_name" msgstr "jméno_aliasu" -#: src/common/command.c:135 +#: src/common/command.c:125 msgid "alias_name: name of alias to remove" msgstr "jméno_aliasu: jméno aliasu pro odebrání" -#: src/common/command.c:137 +#: src/common/command.c:127 msgid "unignore IRC messages and/or hosts" msgstr "zruší ignorování IRC zprávy a/nebo hosta" -#: src/common/command.c:138 +#: src/common/command.c:128 msgid "[number | [mask [[type | command] [channel [server]]]]]" msgstr "[číslo | [maska [[typ | příkaz] [kanál [server]]]]]" -#: src/common/command.c:139 +#: src/common/command.c:129 msgid "" " number: # of ignore to unignore (number is displayed by list of ignore)\n" " mask: nick or host mask to unignore\n" @@ -2749,15 +2671,15 @@ msgstr "" "Pro každý argument znamená '*' všechno.\n" "Bez argunetů, vypíše příkaz /unignore seznam definovaných ignorací." -#: src/common/command.c:148 +#: src/common/command.c:138 msgid "manage windows" msgstr "spravuje okna" -#: src/common/command.c:149 +#: src/common/command.c:139 msgid "[list | splith | splitv | [merge [down | up | left | right | all]]]" msgstr "[list | splith | splitv | [merge [down | up | left | right | all]]]" -#: src/common/command.c:150 +#: src/common/command.c:140 msgid "" "list: list opened windows (no parameter implies this list)\n" "splith: split current window horizontally\n" @@ -2769,28 +2691,28 @@ msgstr "" "splitv: rozdělí aktuální okno vertikálně\n" "merge: spojí okno s jiným" -#: src/common/command.c:296 +#: src/common/command.c:286 #, c-format msgid "%s alias or command \"%s\" already exists!\n" msgstr "%s alias nebo příkaz \"%s\" již existuje!\n" -#: src/common/command.c:306 +#: src/common/command.c:296 #, c-format msgid "%s alias cannot run another alias!\n" msgstr "%s alias nemůže pouštět jiný ailas!\n" -#: src/common/command.c:313 +#: src/common/command.c:303 #, c-format msgid "%s target command \"%s\" does not exist!\n" msgstr "%s cílový příkaz \"%s\" neexistuje!\n" -#: src/common/command.c:521 +#: src/common/command.c:532 #, c-format msgid "%s wrong argument count for %s command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s špatný počet argumentů pro %s příkaz \"%s\" (očekáváno: %d argumentů%s)\n" -#: src/common/command.c:533 +#: src/common/command.c:544 #, c-format msgid "" "%s wrong argument count for %s command \"%s\" (expected: between %d and %d " @@ -2799,18 +2721,18 @@ msgstr "" "%s špatyný počet argumentů pro %s příkaz \"%s\" (očekáváno: mezi %d a %d " "argumenty%s)\n" -#: src/common/command.c:555 src/common/command.c:625 +#: src/common/command.c:566 src/common/command.c:631 #, c-format msgid "%s command \"%s\" failed\n" msgstr "%s příkaz \"%s\" selhal\n" -#: src/common/command.c:583 +#: src/common/command.c:589 #, c-format msgid "%s wrong argument count for IRC command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s chybný počet argumentů pro IRC příkaz \"%s\" (očekáváno: %d argumentů%s)\n" -#: src/common/command.c:595 +#: src/common/command.c:601 #, c-format msgid "" "%s wrong argument count for IRC command \"%s\" (expected: between %d and %d " @@ -2819,284 +2741,256 @@ msgstr "" "%s špatný počet argumentů pro IRC příkaz \"%s\" (očekáváno: mezi %d a %d " "argumenty%s)\n" -#: src/common/command.c:610 +#: src/common/command.c:616 #, c-format msgid "%s command \"%s\" needs a server connection!\n" msgstr "%s příkaz \"%s\" potřebuje připojení na server!\n" -#: src/common/command.c:674 +#: src/common/command.c:670 #, c-format msgid "%s unknown command \"%s\" (type /help for help)\n" msgstr "%s neznámý příkaz \"%s\" (zadejte /help pro nápovědu)\n" -#: src/common/command.c:777 +#: src/common/command.c:770 #, c-format msgid "%s unable to call handler for message (not enough memory)\n" msgstr "%s nemohu zavolat handler pro zprávu (neodstatek paměti)\n" -#: src/common/command.c:785 +#: src/common/command.c:778 msgid "This window is not a channel!\n" msgstr "Tohe není okno kanálu!\n" -#: src/common/command.c:813 src/common/command.c:837 src/common/command.c:947 +#: src/common/command.c:806 src/common/command.c:830 src/common/command.c:940 #, c-format msgid "%s missing arguments for \"%s\" command\n" msgstr "%s chybí argumenty pro příkaz \"%s\"\n" -#: src/common/command.c:822 +#: src/common/command.c:815 #, c-format msgid "Alias \"%s\" => \"%s\" created\n" msgstr "Alias \"%s\" => \"%s\" vytvořen\n" -#: src/common/command.c:828 +#: src/common/command.c:821 #, c-format msgid "Failed to create alias \"%s\" => \"%s\" (not enough memory)\n" msgstr "Selhalo vytvoření aliasu \"%s\" => \"%s\" (nedostatek paměti)\n" -#: src/common/command.c:848 +#: src/common/command.c:841 msgid "List of aliases:\n" msgstr "Seznam pro aliasy:\n" -#: src/common/command.c:860 +#: src/common/command.c:853 msgid "No alias defined.\n" msgstr "Žádné aliasy nejsou definovány.\n" -#: src/common/command.c:883 +#: src/common/command.c:876 msgid "Channel: " msgstr "Kanál: " -#: src/common/command.c:886 src/common/command.c:896 +#: src/common/command.c:879 src/common/command.c:889 msgid " (server: " msgstr " (server: " -#: src/common/command.c:893 +#: src/common/command.c:886 msgid "Private with: " msgstr "Soukromý s: " -#: src/common/command.c:927 +#: src/common/command.c:920 msgid "Opened buffers:\n" msgstr "Otevřené buffery:\n" -#: src/common/command.c:970 +#: src/common/command.c:963 #, c-format msgid "%s incorrect buffer number\n" msgstr "%s nekorektní číslo bufferu\n" -#: src/common/command.c:984 +#: src/common/command.c:977 #, c-format msgid "%s can not close the single buffer\n" msgstr "%s nemohu zavřít jediný buffer\n" -#: src/common/command.c:994 +#: src/common/command.c:987 #, c-format msgid "%s can not close server buffer while channels are opened\n" msgstr "%s nemohu zavřít buffer serveru dokud jsou otevřeny kanály\n" -#: src/common/command.c:1035 +#: src/common/command.c:1028 msgid "Notify levels: " msgstr "Level upozornění: " -#: src/common/command.c:1063 src/common/command.c:1085 +#: src/common/command.c:1056 src/common/command.c:1078 #, c-format msgid "%s incorrect notify level (must be between %d and %d)\n" msgstr "%s nekorektní level upozornění (musí být mezi %d a %d)\n" -#: src/common/command.c:1072 +#: src/common/command.c:1065 #, c-format msgid "%s incorrect buffer for notify (must be channel or private)\n" msgstr "%s nekorektní buffer pro upozornění (musí být kanál nebo soukromý)\n" -#: src/common/command.c:1152 +#: src/common/command.c:1145 #, c-format msgid "unknown parameter \"%s\" for \"%s\" command\n" msgstr "neznámý parametr \"%s\" pro příkaz \"%s\"\n" -#: src/common/command.c:1182 +#: src/common/command.c:1175 #, c-format msgid "%s already connected to server \"%s\"!\n" msgstr "%s již vytvořený server \"%s\"!\n" -#: src/common/command.c:1190 +#: src/common/command.c:1183 #, c-format msgid "%s currently connecting to server \"%s\"!\n" msgstr "%s zrovna připojuji k serveru \"%s\"!\n" -#: src/common/command.c:1208 src/common/command.c:1283 +#: src/common/command.c:1201 src/common/command.c:1276 #, c-format msgid "%s server not found\n" msgstr "%s server nenalezen\n" -#: src/common/command.c:1238 src/common/command.c:1722 -#: src/common/command.c:1865 src/common/command.c:2008 -#: src/common/command.c:2828 src/common/command.c:2844 +#: src/common/command.c:1231 src/common/command.c:1753 +#: src/common/command.c:2572 src/common/command.c:2588 #, c-format msgid "%s unknown option for \"%s\" command\n" msgstr "%s neznámá volba pro příkaz \"%s\"\n" -#: src/common/command.c:1267 +#: src/common/command.c:1260 #, c-format msgid "%s not connected to server \"%s\"!\n" msgstr "%s nepřipojen k serveru \"%s\"!\n" -#: src/common/command.c:1275 +#: src/common/command.c:1268 msgid "Auto-reconnection is cancelled\n" msgstr "Automatické znovupřipojené je zrušeno\n" -#: src/common/command.c:1301 src/common/weechat.c:346 +#: src/common/command.c:1299 src/common/weechat.c:349 #, c-format msgid "%s internal commands:\n" msgstr "%s vnitřní příkazy:\n" -#: src/common/command.c:1310 src/common/weechat.c:366 +#: src/common/command.c:1308 src/common/weechat.c:369 #, c-format msgid "IRC commands:\n" msgstr "IRC příkazy:\n" -#: src/common/command.c:1377 +#: src/common/command.c:1321 +msgid "Plugin commands:\n" +msgstr "" + +#: src/common/command.c:1425 #, c-format msgid "No help available, \"%s\" is an unknown command\n" msgstr "Není dostupná žádná nápověda, \"%s\" je neznámý příkaz\n" -#: src/common/command.c:1398 +#: src/common/command.c:1447 msgid " ignoring " msgstr " ignoruji " -#: src/common/command.c:1422 +#: src/common/command.c:1471 msgid "List of ignore:\n" msgstr "Seznam ignorování:\n" -#: src/common/command.c:1437 +#: src/common/command.c:1486 msgid "No ignore defined.\n" msgstr "Žádné ignorování není definováno.\n" -#: src/common/command.c:1463 +#: src/common/command.c:1512 msgid "New ignore:" msgstr "Nové ignorování:" -#: src/common/command.c:1482 +#: src/common/command.c:1531 msgid "New key binding:\n" msgstr "Nová klávesová zkratka:\n" -#: src/common/command.c:1515 +#: src/common/command.c:1564 msgid "Key bindings:\n" msgstr "Klávesové zkratky:\n" -#: src/common/command.c:1527 +#: src/common/command.c:1576 #, c-format msgid "Key \"%s\" unbinded\n" msgstr "Klávesa \"%s\" odpojena\n" -#: src/common/command.c:1532 +#: src/common/command.c:1581 #, c-format msgid "%s unable to unbind key \"%s\"\n" msgstr "%s nemohu odpojit klávesu \"%s\"\n" -#: src/common/command.c:1540 src/common/weechat.c:397 +#: src/common/command.c:1589 src/common/weechat.c:400 #, c-format msgid "Internal key functions:\n" msgstr "Vnitřní klávesové funkce:\n" -#: src/common/command.c:1559 +#: src/common/command.c:1608 msgid "Default key bindings restored\n" msgstr "Výchozí klávesové zkratky obnoveny\n" -#: src/common/command.c:1565 +#: src/common/command.c:1614 #, c-format msgid "%s \"-yes\" argument is required for keys reset (securuty reason)\n" msgstr "" "%s \"-yes\" argument je požadován pro reset kaláves (bezpečnostní opatření)\n" -#: src/common/command.c:1621 src/common/command.c:1764 -#: src/common/command.c:1907 -#, c-format -msgid "Registered %s scripts:\n" -msgstr "Registrovány %s skripty:\n" - -#: src/common/command.c:1638 src/common/command.c:1661 -#: src/common/command.c:1684 src/common/command.c:1781 -#: src/common/command.c:1804 src/common/command.c:1827 -#: src/common/command.c:1924 src/common/command.c:1947 -#: src/common/command.c:1970 -msgid " (none)\n" -msgstr " (žádný)\n" +#: src/common/command.c:1670 +msgid "Plugins loaded:\n" +msgstr "" -#: src/common/command.c:1643 src/common/command.c:1786 -#: src/common/command.c:1929 -#, c-format -msgid "%s message handlers:\n" -msgstr "%s obsluhovače zpráv:\n" +#: src/common/command.c:1684 +msgid " message handlers:\n" +msgstr "" -#: src/common/command.c:1652 src/common/command.c:1795 -#: src/common/command.c:1938 +#: src/common/command.c:1690 #, c-format -msgid " IRC(%s) => %s(%s)\n" -msgstr " IRC(%s) => %s(%s)\n" +msgid " IRC(%s)\n" +msgstr "" -#: src/common/command.c:1666 src/common/command.c:1809 -#: src/common/command.c:1952 -#, c-format -msgid "%s command handlers:\n" -msgstr "%s obsluhovače příkazů:\n" +#: src/common/command.c:1696 +msgid " (no message handler)\n" +msgstr "" -#: src/common/command.c:1675 src/common/command.c:1818 -#: src/common/command.c:1961 -#, c-format -msgid " Command /%s => %s(%s)\n" -msgstr " Příkaz /%s => %s(%s)\n" +#: src/common/command.c:1701 +msgid " command handlers:\n" +msgstr "" -#: src/common/command.c:1735 -msgid "" -"WeeChat was build without Perl support.\n" -"Please rebuild WeeChat with \"--enable-perl\" option for ./configure script\n" +#: src/common/command.c:1718 +msgid " (no command handler)\n" msgstr "" -"WeeChat byl přeložen bez podpory Perlu.\n" -"Prosím přeložte WeeChat znovu s \"--enable-perl\" volbou pro ./configure " -"skript\n" -#: src/common/command.c:1878 -msgid "" -"WeeChat was build without Python support.\n" -"Please rebuild WeeChat with \"--enable-python\" option for ./configure " -"script\n" +#: src/common/command.c:1724 +msgid " (no plugin)\n" msgstr "" -"WeeChat byl přeložen bez podpory Pythonu.\n" -"Prosím přeložte WeeChat znovu s \"--enable-python\" volbou pro ./configure " -"skript\n" -#: src/common/command.c:2021 +#: src/common/command.c:1766 msgid "" -"WeeChat was build without Ruby support.\n" -"Please rebuild WeeChat with \"--enable-ruby\" option for ./configure script\n" +"Command \"plugin\" is not available, WeeChat was built without plugins " +"support.\n" msgstr "" -"WeeChat byl přeložen bez podpory Ruby.\n" -"Prosím přeložte WeeChat znovu s \"--enable-ruby\" volbou pro ./configure " -"skript\n" -#: src/common/command.c:2069 +#: src/common/command.c:1813 msgid "No server.\n" msgstr "žádný server.\n" -#: src/common/command.c:2080 +#: src/common/command.c:1824 #, c-format msgid "Server '%s' not found.\n" msgstr "Server '%s' nenalezen.\n" -#: src/common/command.c:2092 +#: src/common/command.c:1836 #, c-format msgid "%s missing servername for \"%s\" command\n" msgstr "%s chybí jméno serveru pro příkaz \"%s\"\n" -#: src/common/command.c:2100 +#: src/common/command.c:1844 #, c-format msgid "%s too much arguments for \"%s\" command, ignoring arguments\n" msgstr "%s příliž mnoho argumentů pro příkaz \"%s\", ignoruji argumety\n" -#: src/common/command.c:2119 +#: src/common/command.c:1863 #, c-format msgid "%s server \"%s\" not found for \"%s\" command\n" msgstr "%s server \"%s\" nenalezen pro příkaz \"%s\"\n" -#: src/common/command.c:2127 +#: src/common/command.c:1871 #, c-format msgid "" "%s you can not delete server \"%s\" because you are connected to. Try /" @@ -3105,172 +2999,172 @@ msgstr "" "%s nemůžete odebrat server \"%s\", protože jste k němu připojent. Skuste " "nejprve /dissconnect %s.\n" -#: src/common/command.c:2143 src/common/command.c:2289 +#: src/common/command.c:1887 src/common/command.c:2033 msgid "Server" msgstr "Server" -#: src/common/command.c:2146 +#: src/common/command.c:1890 msgid "has been deleted\n" msgstr "byl odebrán\n" -#: src/common/command.c:2161 +#: src/common/command.c:1905 #, c-format msgid "%s missing parameters for \"%s\" command\n" msgstr "%s chybí parametry pro příkaz \"%s\"\n" -#: src/common/command.c:2171 +#: src/common/command.c:1915 #, c-format msgid "%s server \"%s\" already exists, can't create it!\n" msgstr "%s server \"%s\" již existuje, nemohu jej vytvořít!\n" -#: src/common/command.c:2200 src/common/command.c:2228 -#: src/common/command.c:2241 src/common/command.c:2267 +#: src/common/command.c:1944 src/common/command.c:1972 +#: src/common/command.c:1985 src/common/command.c:2011 #, c-format msgid "%s missing password for \"%s\" parameter\n" msgstr "%s chybí heslo pro parametr \"%s\"\n" -#: src/common/command.c:2213 +#: src/common/command.c:1957 #, c-format msgid "%s missing nick(s) for \"%s\" parameter\n" msgstr "%s chybí přezdívka/přezdívky pro parametr \"%s\"\n" -#: src/common/command.c:2254 +#: src/common/command.c:1998 #, c-format msgid "%s missing command for \"%s\" parameter\n" msgstr "%s chybí příkaz pro parametr \"%s\"\n" -#: src/common/command.c:2292 +#: src/common/command.c:2036 msgid "created\n" msgstr "vytvořeno\n" -#: src/common/command.c:2298 +#: src/common/command.c:2042 #, c-format msgid "%s unable to create server\n" msgstr "%s nemohu vytvořit server\n" -#: src/common/command.c:2353 +#: src/common/command.c:2097 msgid "(unknown)" msgstr "(neznámý)" -#: src/common/command.c:2376 +#: src/common/command.c:2120 msgid "(password hidden) " msgstr "(heslo schováno) " -#: src/common/command.c:2440 +#: src/common/command.c:2184 #, c-format msgid "%s server \"%s\" not found\n" msgstr "%s server \"%s\" nenalezen\n" -#: src/common/command.c:2471 src/common/command.c:2517 +#: src/common/command.c:2215 src/common/command.c:2261 #, c-format msgid "%s config option \"%s\" not found\n" msgstr "%s volba nastavení \"%s\" nenalezena\n" -#: src/common/command.c:2476 src/common/command.c:2509 +#: src/common/command.c:2220 src/common/command.c:2253 #, c-format msgid "%s incorrect value for option \"%s\"\n" msgstr "%s nekorektní hodnota pro volbu \"%s\"\n" -#: src/common/command.c:2492 +#: src/common/command.c:2236 #, c-format msgid "%s option \"%s\" can not be changed while WeeChat is running\n" msgstr "%s volba \"%s\" nemůže být změněna dokud WeeChat běží\n" -#: src/common/command.c:2597 +#: src/common/command.c:2341 #, c-format msgid "No config option found with \"%s\"\n" msgstr "Nebyla nalezena žádná volba nastavení s \"%s\"\n" -#: src/common/command.c:2600 +#: src/common/command.c:2344 msgid "No config option found\n" msgstr "Nebyla nalezena žádná volba nastavení\n" -#: src/common/command.c:2607 +#: src/common/command.c:2351 msgid "Detail:\n" msgstr "" -#: src/common/command.c:2611 src/common/weechat.c:283 +#: src/common/command.c:2355 src/common/weechat.c:286 #, c-format msgid " . type boolean (values: 'on' or 'off')\n" msgstr " . typ boolean (hodnota: 'on' nebo 'off')\n" -#: src/common/command.c:2612 src/common/command.c:2635 -#: src/common/command.c:2641 src/common/command.c:2647 -#: src/common/weechat.c:284 src/common/weechat.c:307 src/common/weechat.c:313 -#: src/common/weechat.c:319 +#: src/common/command.c:2356 src/common/command.c:2379 +#: src/common/command.c:2385 src/common/command.c:2391 +#: src/common/weechat.c:287 src/common/weechat.c:310 src/common/weechat.c:316 +#: src/common/weechat.c:322 #, c-format msgid " . default value: '%s'\n" msgstr " . výchozí hodnota: '%s'\n" -#: src/common/command.c:2617 src/common/weechat.c:289 +#: src/common/command.c:2361 src/common/weechat.c:292 #, c-format msgid " . type integer (values: between %d and %d)\n" msgstr " . typ celočíselný (hodnoty: mezi %d a %d)\n" -#: src/common/command.c:2620 src/common/weechat.c:292 +#: src/common/command.c:2364 src/common/weechat.c:295 #, c-format msgid " . default value: %d\n" msgstr " . výchozí hodnota: %d\n" -#: src/common/command.c:2624 src/common/weechat.c:296 +#: src/common/command.c:2368 src/common/weechat.c:299 #, c-format msgid " . type string (values: " msgstr " . typ řetězec (hodnoty: " -#: src/common/command.c:2637 src/common/command.c:2643 -#: src/common/command.c:2649 src/common/weechat.c:309 src/common/weechat.c:315 -#: src/common/weechat.c:321 +#: src/common/command.c:2381 src/common/command.c:2387 +#: src/common/command.c:2393 src/common/weechat.c:312 src/common/weechat.c:318 +#: src/common/weechat.c:324 msgid "empty" msgstr "prázdný" -#: src/common/command.c:2640 src/common/weechat.c:312 +#: src/common/command.c:2384 src/common/weechat.c:315 #, c-format msgid " . type color (Curses or Gtk color, look at WeeChat doc)\n" msgstr " . typ barva (Curses nebo Gtk barva, viz WeeChat dokumentace)\n" -#: src/common/command.c:2646 src/common/weechat.c:318 +#: src/common/command.c:2390 src/common/weechat.c:321 #, c-format msgid " . type string (any string)\n" msgstr " . typ řetězec (jakýkoliv řetězec)\n" -#: src/common/command.c:2652 src/common/weechat.c:324 +#: src/common/command.c:2396 src/common/weechat.c:327 #, c-format msgid " . description: %s\n" msgstr " . popis: %s\n" -#: src/common/command.c:2659 +#: src/common/command.c:2403 #, c-format msgid "config option(s) found with \"%s\"\n" msgstr "volba/volby nastavení nalezeny s \"%s\"\n" -#: src/common/command.c:2662 +#: src/common/command.c:2406 msgid "config option(s) found\n" msgstr "volba/volby nastavení nalezeny\n" -#: src/common/command.c:2683 +#: src/common/command.c:2427 #, c-format msgid "%s alias or command \"%s\" not found\n" msgstr "%s alias nebo příkaz \"%s\" nenalezen\n" -#: src/common/command.c:2693 +#: src/common/command.c:2437 #, c-format msgid "Alias \"%s\" removed\n" msgstr "Alias \"%s\" odebrán\n" -#: src/common/command.c:2746 +#: src/common/command.c:2490 msgid "ignore were removed.\n" msgstr "ignorování bylo odebráno.\n" -#: src/common/command.c:2748 +#: src/common/command.c:2492 msgid "ignore was removed.\n" msgstr "ignorování bylo odebrán\n" -#: src/common/command.c:2753 +#: src/common/command.c:2497 #, c-format msgid "%s no ignore found\n" msgstr "%s žádné ignorování nenaleyeno\n" -#: src/common/command.c:2776 +#: src/common/command.c:2520 msgid "Opened windows:\n" msgstr "Otevřené okna:\n" @@ -3333,7 +3227,7 @@ msgstr "**** Beginning of log " msgid "**** End of log " msgstr "**** End of log " -#: src/common/weechat.c:270 +#: src/common/weechat.c:273 #, c-format msgid "" "WeeChat configuration options (~/.weechat/weechat.rc):\n" @@ -3342,7 +3236,7 @@ msgstr "" "WeeChat kofnigurační nastavení (~/.weechat/weechat.rc):\n" "\n" -#: src/common/weechat.c:331 +#: src/common/weechat.c:334 #, c-format msgid "" "Moreover, you can define aliases in [alias] section, by adding lines like:\n" @@ -3350,7 +3244,7 @@ msgstr "" "Mimoto můžete definovat aliasy v sekci [alias], přidáním řádku jako je " "tento:\n" -#: src/common/weechat.c:333 +#: src/common/weechat.c:336 #, c-format msgid "" "where 'j' is alias name, and 'join' associated command.\n" @@ -3359,62 +3253,62 @@ msgstr "" "kde 'j' je jméno aliasu, a 'join' přidružený příkaz.\n" "\n" -#: src/common/weechat.c:418 +#: src/common/weechat.c:421 #, c-format msgid "%s default keys:\n" msgstr "%s výchozí klávesy:\n" -#: src/common/weechat.c:498 +#: src/common/weechat.c:501 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s nevalidní syntaxe pro IRC server ('%s'), ignorován\n" -#: src/common/weechat.c:511 +#: src/common/weechat.c:514 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s nemohu vytvořit server ('%s'), ignorován\n" -#: src/common/weechat.c:520 +#: src/common/weechat.c:523 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s neznámý parametr '%s', ignorován\n" -#: src/common/weechat.c:540 +#: src/common/weechat.c:543 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s nemohu vytvořit adresář \"%s\"\n" -#: src/common/weechat.c:566 +#: src/common/weechat.c:569 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s nemohu získat HOME adresář\n" -#: src/common/weechat.c:575 +#: src/common/weechat.c:578 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s nedostatek paměti pro domácí adresář\n" -#: src/common/weechat.c:585 +#: src/common/weechat.c:588 #, c-format msgid "%s unable to create ~/.weechat directory\n" msgstr "%s nemohu vytvořit adresář ~/.weechat\n" -#: src/common/weechat.c:637 +#: src/common/weechat.c:601 #, c-format msgid "%s unable to create ~/.weechat/logs directory\n" msgstr "%s nemohu vytvořit adresář ~/.weechat/logs\n" -#: src/common/weechat.c:680 +#: src/common/weechat.c:644 #, c-format msgid "%s unable to create/append to log file (~/.weechat/%s)" msgstr "%s nemohu vytvořit/přidat do log souboru (~/.weechat/%s)" -#: src/common/weechat.c:703 +#: src/common/weechat.c:667 #, c-format msgid "%sWelcome to " msgstr "%sVítejte do " -#: src/common/weechat.c:716 src/common/weechat.c:725 +#: src/common/weechat.c:680 src/common/weechat.c:689 msgid "compiled on" msgstr "kompilováno" @@ -3426,31 +3320,31 @@ msgstr "WeeChat chyba:" msgid "WeeChat Warning:" msgstr "WeeChat Upozornění:" -#: src/common/weeconfig.c:95 src/common/weeconfig.c:96 +#: src/common/weeconfig.c:96 src/common/weeconfig.c:97 msgid "set title for window (terminal for Curses GUI) with name & version" msgstr "nastaví titulek okna (terminálu pro Cruses GUI) s jménem a verzí" -#: src/common/weeconfig.c:99 src/common/weeconfig.c:100 +#: src/common/weeconfig.c:100 src/common/weeconfig.c:101 msgid "display WeeChat logo at startup" msgstr "zobrazí WeeChat logo při spuštění" -#: src/common/weeconfig.c:103 src/common/weeconfig.c:104 +#: src/common/weeconfig.c:104 src/common/weeconfig.c:105 msgid "display WeeChat version at startup" msgstr "zobrazí verzi WeeChat při spuštění" -#: src/common/weeconfig.c:107 +#: src/common/weeconfig.c:108 msgid "WeeChat slogan" msgstr "WeeChat slogan" -#: src/common/weeconfig.c:108 +#: src/common/weeconfig.c:109 msgid "WeeChat slogan (if empty, slogan is not used)" msgstr "WeeChat slogan (pokud je prázdné, není slogan použit)" -#: src/common/weeconfig.c:111 +#: src/common/weeconfig.c:112 msgid "charset for decoding messages from server" msgstr "znaková sada, pro dekódování zpráv ze serveru" -#: src/common/weeconfig.c:112 +#: src/common/weeconfig.c:113 msgid "" "charset for decoding messages from server, examples: UTF-8, ISO-8859-1 (if " "empty, messages are not converted)" @@ -3458,11 +3352,11 @@ msgstr "" "znaková sada pro dekódování zpráv ze serveru, například: UTF-8, ISO-8859-1 " "(jestliže je prázdná, zprávy nejsou konvertovány)" -#: src/common/weeconfig.c:115 +#: src/common/weeconfig.c:116 msgid "charset for encoding messages sent to server" msgstr "znaková sada pro kódování zpráv posílaných na server" -#: src/common/weeconfig.c:116 +#: src/common/weeconfig.c:117 msgid "" "charset for encoding messages sent to server, examples: UFT-8, ISO-8859-1 " "(if empty, local charset is used)" @@ -3470,11 +3364,11 @@ msgstr "" "znaková sada pro kódování zpráv posílaných na server, například: UTF-8, ISO-" "8859-1 (pokud je prázdná, použije se lokální znaková sada)" -#: src/common/weeconfig.c:119 +#: src/common/weeconfig.c:120 msgid "internal WeeChat charset (should be ISO)" msgstr "vnitřní znaková sada WeeChat (měla by být ISO)" -#: src/common/weeconfig.c:120 +#: src/common/weeconfig.c:121 msgid "" "internal WeeChat charset, should be ISO-xxxx even if locale is UTF-8 (if " "empty, local charset is used)" @@ -3482,47 +3376,47 @@ msgstr "" "vnitřní znaková sada WeeChat, měla by být ISO-xxxx i při locale UTF-8 (pokud " "je prázdný, použije se lokální znaková sada)" -#: src/common/weeconfig.c:123 src/common/weeconfig.c:124 +#: src/common/weeconfig.c:124 src/common/weeconfig.c:125 msgid "timestamp for buffers" msgstr "časová známka pro buffer" -#: src/common/weeconfig.c:127 src/common/weeconfig.c:128 +#: src/common/weeconfig.c:128 src/common/weeconfig.c:129 msgid "display nick names with different colors" msgstr "zobrazit přezdívky různými barvami" -#: src/common/weeconfig.c:131 src/common/weeconfig.c:132 +#: src/common/weeconfig.c:132 src/common/weeconfig.c:133 msgid "number of colors to use for nicks colors" msgstr "počet barev použitých pro barvy přezdívek" -#: src/common/weeconfig.c:135 src/common/weeconfig.c:136 +#: src/common/weeconfig.c:136 src/common/weeconfig.c:137 msgid "display actions with different colors" msgstr "zobrazit akce různými barvami" -#: src/common/weeconfig.c:139 src/common/weeconfig.c:140 +#: src/common/weeconfig.c:140 src/common/weeconfig.c:141 msgid "remove colors from incoming messages" msgstr "odstranit barvy z příchozích zpráv" -#: src/common/weeconfig.c:143 +#: src/common/weeconfig.c:144 msgid "display nicklist window" msgstr "zobrazit okno se seznamem přezdívek" -#: src/common/weeconfig.c:144 +#: src/common/weeconfig.c:145 msgid "display nicklist window (for channel windows)" msgstr "zobrazit okno se seznamem přezdívek (pouze pro okno kanálu)" -#: src/common/weeconfig.c:147 +#: src/common/weeconfig.c:148 msgid "nicklist position" msgstr "pozice seznamu přezdívek" -#: src/common/weeconfig.c:148 +#: src/common/weeconfig.c:149 msgid "nicklist position (top, left, right (default), bottom)" msgstr "pozice seznamu přezdívek (top, left, right (výchozí), bottom)" -#: src/common/weeconfig.c:151 +#: src/common/weeconfig.c:152 msgid "min size for nicklist" msgstr "minimální velikost pro seznam přezdívek" -#: src/common/weeconfig.c:152 +#: src/common/weeconfig.c:153 msgid "" "min size for nicklist (width or height, depending on look_nicklist_position " "(0 = no min size))" @@ -3530,11 +3424,11 @@ msgstr "" "minimální velikost pro seznam přezdívek (šířka nebo výšhak, závisí na " "look_nicklist_position (0 = není minimální velikost))" -#: src/common/weeconfig.c:156 +#: src/common/weeconfig.c:157 msgid "max size for nicklist" msgstr "maximální velikost pro seznam přezdívek" -#: src/common/weeconfig.c:157 +#: src/common/weeconfig.c:158 msgid "" "max size for nicklist (width or height, depending on look_nicklist_position " "(0 = no max size; if min == max and > 0, then size is fixed))" @@ -3543,39 +3437,39 @@ msgstr "" "look_nicklist_position (0 = není maximální velikost; jestliže min == max a > " "0 pak je velikost fixní ))" -#: src/common/weeconfig.c:161 src/common/weeconfig.c:162 +#: src/common/weeconfig.c:162 src/common/weeconfig.c:163 msgid "text to display instead of nick when not connected" msgstr "text pro zobrazení místo přezdívky pokud není připojeno" -#: src/common/weeconfig.c:165 src/common/weeconfig.c:166 +#: src/common/weeconfig.c:166 src/common/weeconfig.c:167 msgid "display nick mode ((half)op/voice) before each nick" msgstr "zobrazit mód přezdívky ((částečný)op/voice) před každou přezdívkou" -#: src/common/weeconfig.c:169 src/common/weeconfig.c:170 +#: src/common/weeconfig.c:170 src/common/weeconfig.c:171 msgid "display space if nick mode is not (half)op/voice" msgstr "zobrazit mezeru pokud mód přezdívkz není (částečný)op/voice" -#: src/common/weeconfig.c:173 src/common/weeconfig.c:174 +#: src/common/weeconfig.c:174 src/common/weeconfig.c:175 msgid "the string inserted after nick completion" msgstr "řetězec vložený za doplňování přezdívky" -#: src/common/weeconfig.c:177 src/common/weeconfig.c:178 +#: src/common/weeconfig.c:178 src/common/weeconfig.c:179 msgid "enable info bar" msgstr "povolit info bar" -#: src/common/weeconfig.c:181 src/common/weeconfig.c:182 +#: src/common/weeconfig.c:182 src/common/weeconfig.c:183 msgid "timestamp for time in infobar" msgstr "časová značka pro čas v infobaru" -#: src/common/weeconfig.c:185 src/common/weeconfig.c:186 +#: src/common/weeconfig.c:186 src/common/weeconfig.c:187 msgid "display seconds in infobar time" msgstr "zobrazit sekundy v čase v infobaru" -#: src/common/weeconfig.c:189 +#: src/common/weeconfig.c:190 msgid "delay (in seconds) for highlight messages in infobar" msgstr "podržet (v sekundách) zvýrazněnou zprávu v infobaru" -#: src/common/weeconfig.c:190 +#: src/common/weeconfig.c:191 msgid "" "delay (in seconds) for highlight messages in infobar (0 = disable highlight " "notifications in infobar)" @@ -3583,323 +3477,323 @@ msgstr "" "podržet (v sekundách) zvýrazněnou zprávu v infobaru (0 = zakázat zvýrazněnou " "notifikaci v infobaru)" -#: src/common/weeconfig.c:194 +#: src/common/weeconfig.c:195 msgid "max number of names in hotlist" msgstr "" -#: src/common/weeconfig.c:195 +#: src/common/weeconfig.c:196 msgid "" "max number of names in hotlist (0 = no name displayed, only buffer numbers)" msgstr "" -#: src/common/weeconfig.c:198 +#: src/common/weeconfig.c:199 msgid "level for displaying names in hotlist" msgstr "" -#: src/common/weeconfig.c:199 +#: src/common/weeconfig.c:200 msgid "" "level for displaying names in hotlist (combination of: 1=join/part, " "2=message, 4=private, 8=highlight, for example: 12=private+highlight)" msgstr "" -#: src/common/weeconfig.c:203 +#: src/common/weeconfig.c:204 msgid "max length of names in hotlist" msgstr "" -#: src/common/weeconfig.c:204 +#: src/common/weeconfig.c:205 msgid "max length of names in hotlist (0 = no limit)" msgstr "" -#: src/common/weeconfig.c:268 src/common/weeconfig.c:269 +#: src/common/weeconfig.c:269 src/common/weeconfig.c:270 msgid "color for title bar" msgstr "barva pro title bar" -#: src/common/weeconfig.c:272 src/common/weeconfig.c:273 +#: src/common/weeconfig.c:273 src/common/weeconfig.c:274 msgid "background for title bar" msgstr "pozadí pro title bar" -#: src/common/weeconfig.c:278 src/common/weeconfig.c:279 +#: src/common/weeconfig.c:279 src/common/weeconfig.c:280 msgid "color for chat text" msgstr "barva pro text rozhovoru" -#: src/common/weeconfig.c:282 +#: src/common/weeconfig.c:283 msgid "color for time" msgstr "barva času" -#: src/common/weeconfig.c:283 +#: src/common/weeconfig.c:284 msgid "color for time in chat window" msgstr "barva času v okně rozhovoru" -#: src/common/weeconfig.c:286 +#: src/common/weeconfig.c:287 msgid "color for time separator" msgstr "barva pro dělič času" -#: src/common/weeconfig.c:287 +#: src/common/weeconfig.c:288 msgid "color for time separator (chat window)" msgstr "barva pro dělič času (okno rozhovoru)" -#: src/common/weeconfig.c:290 src/common/weeconfig.c:291 +#: src/common/weeconfig.c:291 src/common/weeconfig.c:292 msgid "color for 1st and 3rd char of prefix" msgstr "barva pro první a třetí znak prefixu" -#: src/common/weeconfig.c:294 src/common/weeconfig.c:295 +#: src/common/weeconfig.c:295 src/common/weeconfig.c:296 msgid "color for middle char of prefix" msgstr "barva pro vnitřní znak prefixu" -#: src/common/weeconfig.c:298 src/common/weeconfig.c:299 +#: src/common/weeconfig.c:299 src/common/weeconfig.c:300 msgid "color for join arrow (prefix)" msgstr "barva pro šipku pri 'join' (prefix)" -#: src/common/weeconfig.c:302 src/common/weeconfig.c:303 +#: src/common/weeconfig.c:303 src/common/weeconfig.c:304 msgid "color for part/quit arrow (prefix)" msgstr "barva pro šipku při 'quit'/'part' (prefix)" -#: src/common/weeconfig.c:306 +#: src/common/weeconfig.c:307 msgid "color for nicks in actions" msgstr "barva pro přezdívky v akcích" -#: src/common/weeconfig.c:307 +#: src/common/weeconfig.c:308 msgid "color for nicks in actions (chat window)" msgstr "barva přezdívek v akcích (okno rozhovoru)" -#: src/common/weeconfig.c:310 +#: src/common/weeconfig.c:311 msgid "color for hostnames" msgstr "barva jména hosta" -#: src/common/weeconfig.c:311 +#: src/common/weeconfig.c:312 msgid "color for hostnames (chat window)" msgstr "barva jména hosta (okno rozhovoru)" -#: src/common/weeconfig.c:314 +#: src/common/weeconfig.c:315 msgid "color for channel names in actions" msgstr "barva kanálu v akcích" -#: src/common/weeconfig.c:315 +#: src/common/weeconfig.c:316 msgid "color for channel names in actions (chat window)" msgstr "barva kanálu v akcích (okno rozhovoru)" -#: src/common/weeconfig.c:318 +#: src/common/weeconfig.c:319 msgid "color for dark separators" msgstr "barva pro tmavý dělič" -#: src/common/weeconfig.c:319 +#: src/common/weeconfig.c:320 msgid "color for dark separators (chat window)" msgstr "barva pro tmavý dělič (okno rozhovoru)" -#: src/common/weeconfig.c:322 +#: src/common/weeconfig.c:323 msgid "color for highlighted nick" msgstr "barva pro zvýraznění přezdívky" -#: src/common/weeconfig.c:323 +#: src/common/weeconfig.c:324 msgid "color for highlighted nick (chat window)" msgstr "barva pro zvýraznění přezdívky (okno rozhovoru)" -#: src/common/weeconfig.c:326 +#: src/common/weeconfig.c:327 msgid "background for chat" msgstr "pozadí rozhovoru" -#: src/common/weeconfig.c:327 +#: src/common/weeconfig.c:328 msgid "background for chat window" msgstr "pozadí okna rozhovoru" -#: src/common/weeconfig.c:332 src/common/weeconfig.c:333 +#: src/common/weeconfig.c:333 src/common/weeconfig.c:334 msgid "color for status bar" msgstr "barva status baru" -#: src/common/weeconfig.c:336 src/common/weeconfig.c:337 +#: src/common/weeconfig.c:337 src/common/weeconfig.c:338 msgid "color for status bar delimiters" msgstr "barva děličů status barů" -#: src/common/weeconfig.c:340 src/common/weeconfig.c:341 +#: src/common/weeconfig.c:341 src/common/weeconfig.c:342 msgid "color for current channel in status bar" msgstr "" -#: src/common/weeconfig.c:344 +#: src/common/weeconfig.c:345 msgid "color for window with new messages" msgstr "barva okna s novými zprávami" -#: src/common/weeconfig.c:345 +#: src/common/weeconfig.c:346 msgid "color for window with new messages (status bar)" msgstr "barva okna s novými zprávami (status bar)" -#: src/common/weeconfig.c:348 +#: src/common/weeconfig.c:349 msgid "color for window with private message" msgstr "barva okna se soukroumou zprávou" -#: src/common/weeconfig.c:349 +#: src/common/weeconfig.c:350 msgid "color for window with private message (status bar)" msgstr "barva okna se soukromou zprávou (status bar)" -#: src/common/weeconfig.c:352 +#: src/common/weeconfig.c:353 msgid "color for window with highlight" msgstr "barva okna se zvýrazněním" -#: src/common/weeconfig.c:353 +#: src/common/weeconfig.c:354 msgid "color for window with highlight (status bar)" msgstr "barva okna se zvýrazněním (stavový řádek)" -#: src/common/weeconfig.c:356 +#: src/common/weeconfig.c:357 msgid "color for window with new data (not messages)" msgstr "barva okna s novými daty (ne zprávami)" -#: src/common/weeconfig.c:357 +#: src/common/weeconfig.c:358 msgid "color for window with new data (not messages) (status bar)" msgstr "barva okna s novými daty (ne zprávami) (status bar)" -#: src/common/weeconfig.c:360 +#: src/common/weeconfig.c:361 msgid "color for \"-MORE-\" text" msgstr "barva pro text \"-VÍCE-\"" -#: src/common/weeconfig.c:361 +#: src/common/weeconfig.c:362 msgid "color for window with new data (status bar)" msgstr "barva okna s novými daty (status bar)" -#: src/common/weeconfig.c:364 src/common/weeconfig.c:365 +#: src/common/weeconfig.c:365 src/common/weeconfig.c:366 msgid "background for status window" msgstr "pozadí stavového okna" -#: src/common/weeconfig.c:370 src/common/weeconfig.c:371 +#: src/common/weeconfig.c:371 src/common/weeconfig.c:372 msgid "color for info bar text" msgstr "barva textu v info baru" -#: src/common/weeconfig.c:374 src/common/weeconfig.c:375 +#: src/common/weeconfig.c:375 src/common/weeconfig.c:376 msgid "color for infobar delimiters" msgstr "barva děličů v infobaru" -#: src/common/weeconfig.c:378 src/common/weeconfig.c:379 +#: src/common/weeconfig.c:379 src/common/weeconfig.c:380 msgid "color for info bar highlight notification" msgstr "barva upozornění zvýraznění v info baru" -#: src/common/weeconfig.c:382 src/common/weeconfig.c:383 +#: src/common/weeconfig.c:383 src/common/weeconfig.c:384 msgid "background for info bar window" msgstr "pozadí pro okno info baru" -#: src/common/weeconfig.c:388 src/common/weeconfig.c:389 +#: src/common/weeconfig.c:389 src/common/weeconfig.c:390 msgid "color for input text" msgstr "barva pro vstupní text" -#: src/common/weeconfig.c:392 src/common/weeconfig.c:393 +#: src/common/weeconfig.c:393 src/common/weeconfig.c:394 msgid "color for input text (channel name)" msgstr "barva vstupního textu (jména kanálů)" -#: src/common/weeconfig.c:396 src/common/weeconfig.c:397 +#: src/common/weeconfig.c:397 src/common/weeconfig.c:398 msgid "color for input text (nick name)" msgstr "barva vstupního textu (přezdívky)" -#: src/common/weeconfig.c:400 src/common/weeconfig.c:401 +#: src/common/weeconfig.c:401 src/common/weeconfig.c:402 msgid "color for input text (delimiters)" msgstr "" -#: src/common/weeconfig.c:404 src/common/weeconfig.c:405 +#: src/common/weeconfig.c:405 src/common/weeconfig.c:406 msgid "background for input window" msgstr "pozadí vstupního okna" -#: src/common/weeconfig.c:410 src/common/weeconfig.c:411 +#: src/common/weeconfig.c:411 src/common/weeconfig.c:412 msgid "color for nicknames" msgstr "barva přezdívek" -#: src/common/weeconfig.c:414 src/common/weeconfig.c:415 +#: src/common/weeconfig.c:415 src/common/weeconfig.c:416 msgid "color for away nicknames" msgstr "barva přezdívek, které jsou pryč" -#: src/common/weeconfig.c:418 +#: src/common/weeconfig.c:419 msgid "color for chan owner symbol" msgstr "barva symbolu majitele kanálu" -#: src/common/weeconfig.c:419 +#: src/common/weeconfig.c:420 msgid "color for chan owner symbol (specific to unrealircd)" msgstr "barva symbolu majitele kanálu (specifický pro unrealircd)" -#: src/common/weeconfig.c:422 +#: src/common/weeconfig.c:423 msgid "color for chan admin symbol" msgstr "barva symbolu administrátora kanálu" -#: src/common/weeconfig.c:423 +#: src/common/weeconfig.c:424 msgid "color for chan admin symbol (specific to unrealircd)" msgstr "barva symbolu administrátora kanálu (specifický pro unrealircd)" -#: src/common/weeconfig.c:426 src/common/weeconfig.c:427 +#: src/common/weeconfig.c:427 src/common/weeconfig.c:428 msgid "color for operator symbol" msgstr "barva symbolu operátora" -#: src/common/weeconfig.c:430 src/common/weeconfig.c:431 +#: src/common/weeconfig.c:431 src/common/weeconfig.c:432 msgid "color for half-operator symbol" msgstr "barva symbolu částečného perátora" -#: src/common/weeconfig.c:434 src/common/weeconfig.c:435 +#: src/common/weeconfig.c:435 src/common/weeconfig.c:436 msgid "color for voice symbol" msgstr "barva symbolu voice" -#: src/common/weeconfig.c:438 src/common/weeconfig.c:439 +#: src/common/weeconfig.c:439 src/common/weeconfig.c:440 msgid "color for '+' when scrolling nicks" msgstr "barva pro '+' při procházení přezdívek" -#: src/common/weeconfig.c:442 src/common/weeconfig.c:443 +#: src/common/weeconfig.c:443 src/common/weeconfig.c:444 msgid "color for nick separator" msgstr "barva děliče přezdívek" -#: src/common/weeconfig.c:446 src/common/weeconfig.c:447 +#: src/common/weeconfig.c:447 src/common/weeconfig.c:448 msgid "color for local nick" msgstr "barva lokální přezdívky" -#: src/common/weeconfig.c:450 src/common/weeconfig.c:451 -#: src/common/weeconfig.c:454 src/common/weeconfig.c:455 -#: src/common/weeconfig.c:458 src/common/weeconfig.c:459 -#: src/common/weeconfig.c:462 src/common/weeconfig.c:463 -#: src/common/weeconfig.c:466 src/common/weeconfig.c:467 -#: src/common/weeconfig.c:470 src/common/weeconfig.c:471 -#: src/common/weeconfig.c:474 src/common/weeconfig.c:475 -#: src/common/weeconfig.c:478 src/common/weeconfig.c:479 -#: src/common/weeconfig.c:482 src/common/weeconfig.c:483 -#: src/common/weeconfig.c:486 src/common/weeconfig.c:487 +#: src/common/weeconfig.c:451 src/common/weeconfig.c:452 +#: src/common/weeconfig.c:455 src/common/weeconfig.c:456 +#: src/common/weeconfig.c:459 src/common/weeconfig.c:460 +#: src/common/weeconfig.c:463 src/common/weeconfig.c:464 +#: src/common/weeconfig.c:467 src/common/weeconfig.c:468 +#: src/common/weeconfig.c:471 src/common/weeconfig.c:472 +#: src/common/weeconfig.c:475 src/common/weeconfig.c:476 +#: src/common/weeconfig.c:479 src/common/weeconfig.c:480 +#: src/common/weeconfig.c:483 src/common/weeconfig.c:484 +#: src/common/weeconfig.c:487 src/common/weeconfig.c:488 msgid "color for nick" msgstr "barva přezdívky" -#: src/common/weeconfig.c:490 src/common/weeconfig.c:491 +#: src/common/weeconfig.c:491 src/common/weeconfig.c:492 msgid "color for other nick in private window" msgstr "barva jiné přezdívky v soukromém okně" -#: src/common/weeconfig.c:494 src/common/weeconfig.c:495 +#: src/common/weeconfig.c:495 src/common/weeconfig.c:496 msgid "background for nicknames" msgstr "pozadí přezdívek" -#: src/common/weeconfig.c:500 +#: src/common/weeconfig.c:501 msgid "color for selected DCC" msgstr "barva vybraného DCC" -#: src/common/weeconfig.c:501 +#: src/common/weeconfig.c:502 msgid "color for selected DCC (chat window)" msgstr "barva vybraného DCC (okno rozhovoru)" -#: src/common/weeconfig.c:504 src/common/weeconfig.c:505 +#: src/common/weeconfig.c:505 src/common/weeconfig.c:506 msgid "color for \"waiting\" dcc status" msgstr "barva pro \"waiting\" status dcc" -#: src/common/weeconfig.c:508 src/common/weeconfig.c:509 +#: src/common/weeconfig.c:509 src/common/weeconfig.c:510 msgid "color for \"connecting\" dcc status" msgstr "barva pro \"connecting\" status dcc" -#: src/common/weeconfig.c:512 src/common/weeconfig.c:513 +#: src/common/weeconfig.c:513 src/common/weeconfig.c:514 msgid "color for \"active\" dcc status" msgstr "barva pro \"active\" status dcc" -#: src/common/weeconfig.c:516 src/common/weeconfig.c:517 +#: src/common/weeconfig.c:517 src/common/weeconfig.c:518 msgid "color for \"done\" dcc status" msgstr "barva pro \"done\" status dcc" -#: src/common/weeconfig.c:520 src/common/weeconfig.c:521 +#: src/common/weeconfig.c:521 src/common/weeconfig.c:522 msgid "color for \"failed\" dcc status" msgstr "barva pro \"failed\" status dcc" -#: src/common/weeconfig.c:524 src/common/weeconfig.c:525 +#: src/common/weeconfig.c:525 src/common/weeconfig.c:526 msgid "color for \"aborted\" dcc status" msgstr "barva pro \"aborted\" status dcc" -#: src/common/weeconfig.c:538 +#: src/common/weeconfig.c:539 msgid "max lines in history (per window)" msgstr "maximální počet řádků v historii (pro okno)" -#: src/common/weeconfig.c:539 +#: src/common/weeconfig.c:540 msgid "" "maximum number of lines in history for one server/channel/private window (0 " "= unlimited)" @@ -3907,344 +3801,369 @@ msgstr "" "maximální počet řádků v historii pro jeden server/kanál/soukromé okno (0 = " "nekonečeně)" -#: src/common/weeconfig.c:543 +#: src/common/weeconfig.c:544 msgid "max user commands in history" msgstr "maximální počet uživatelských příkazů v historii" -#: src/common/weeconfig.c:544 +#: src/common/weeconfig.c:545 msgid "maximum number of user commands in history (0 = unlimited)" msgstr "maximální počet uživatelských příkazů v historii (0 = nekonečně)" -#: src/common/weeconfig.c:561 src/common/weeconfig.c:562 +#: src/common/weeconfig.c:562 src/common/weeconfig.c:563 msgid "automatically log server messages" msgstr "automati logovat zprávy server" -#: src/common/weeconfig.c:565 src/common/weeconfig.c:566 +#: src/common/weeconfig.c:566 src/common/weeconfig.c:567 msgid "automatically log channel chats" msgstr "automaticky logovat rozhovory kanálu" -#: src/common/weeconfig.c:569 src/common/weeconfig.c:570 +#: src/common/weeconfig.c:570 src/common/weeconfig.c:571 msgid "automatically log private chats" msgstr "automaticky logovat soukromé rozhovory" -#: src/common/weeconfig.c:573 src/common/weeconfig.c:574 +#: src/common/weeconfig.c:574 src/common/weeconfig.c:575 msgid "log messages from plugins (scripts)" msgstr "logovat zprávy y pluginů (skriptů)" -#: src/common/weeconfig.c:577 +#: src/common/weeconfig.c:578 msgid "path for log files" msgstr "cesta pro soubory logů" -#: src/common/weeconfig.c:578 +#: src/common/weeconfig.c:579 msgid "path for WeeChat log files" msgstr "cesta pro soubory WeeChat logů" -#: src/common/weeconfig.c:581 +#: src/common/weeconfig.c:582 msgid "timestamp for log" msgstr "časová značka pro log" -#: src/common/weeconfig.c:582 +#: src/common/weeconfig.c:583 msgid "timestamp for log (see man strftime for date/time specifiers)" msgstr "časová značka pro log (viz man strftime pro specifikaci datumu/času" -#: src/common/weeconfig.c:585 src/common/weeconfig.c:586 +#: src/common/weeconfig.c:586 src/common/weeconfig.c:587 msgid "hide password displayed by nickserv" msgstr "schovat heslo zobrazené nickservem" -#: src/common/weeconfig.c:607 +#: src/common/weeconfig.c:608 msgid "display message to all channels when away" msgstr "zobrazit zprávu na všechny kanály, jestliže jsem pryč" -#: src/common/weeconfig.c:608 +#: src/common/weeconfig.c:609 msgid "display message to all channels when (un)marking as away" msgstr "zobrazit zprávu na všechny kanály, když měním stav z/na pryč" -#: src/common/weeconfig.c:611 src/common/weeconfig.c:612 +#: src/common/weeconfig.c:612 src/common/weeconfig.c:613 msgid "default message when away" msgstr "výchozí zprávy, když jsem pryč" -#: src/common/weeconfig.c:615 src/common/weeconfig.c:616 +#: src/common/weeconfig.c:616 src/common/weeconfig.c:617 msgid "default part message (leaving channel)" msgstr "výchozí zpráva při opouštění kanálu" -#: src/common/weeconfig.c:619 +#: src/common/weeconfig.c:620 msgid "default quit message" msgstr "výchzí zpráva při uknočení" -#: src/common/weeconfig.c:620 +#: src/common/weeconfig.c:621 msgid "" "default quit message ('%v' will be replaced by WeeChat version in string)" msgstr "" "výchozí zpráva při uknočnení ('%v' bude nahrazeno verzí WeeChat v řetězci)" -#: src/common/weeconfig.c:623 src/common/weeconfig.c:624 +#: src/common/weeconfig.c:624 src/common/weeconfig.c:625 msgid "display notices as private messages" msgstr "zobrazit upozornění jako soukromé zprávy" -#: src/common/weeconfig.c:627 +#: src/common/weeconfig.c:628 msgid "interval between two checks for away" msgstr "interval mezi dvěmi kontrolami pro nepřítomnost" -#: src/common/weeconfig.c:628 +#: src/common/weeconfig.c:629 msgid "interval between two checks for away (in minutes, 0 = never check)" msgstr "" "interval mezi dvěmi knotrolami pro nepřítomnost (v minutách, 0 = nikdy " "nekontrolovat)" -#: src/common/weeconfig.c:631 +#: src/common/weeconfig.c:632 msgid "interval between two checks for lag" msgstr "interval mezi dvěmi kontrolami lagu" -#: src/common/weeconfig.c:632 +#: src/common/weeconfig.c:633 msgid "interval between two checks for lag (in seconds)" msgstr "interval mezi dvěmi knotrolami lagu (v sekundách)" -#: src/common/weeconfig.c:635 +#: src/common/weeconfig.c:636 msgid "minimum lag to show" msgstr "minimální lag, který zobrazit" -#: src/common/weeconfig.c:636 +#: src/common/weeconfig.c:637 msgid "minimum lag to show (in seconds)" msgstr "minimální lag, který zobrazit (v sekundách)" -#: src/common/weeconfig.c:639 +#: src/common/weeconfig.c:640 msgid "disconnect after important lag" msgstr "odpojit po závažném lagu" -#: src/common/weeconfig.c:640 +#: src/common/weeconfig.c:641 msgid "disconnect after important lag (in minutes, 0 = never disconnect)" msgstr "odpojit po závažném lagu (v minutách, 0 = nikny neodpojit)" -#: src/common/weeconfig.c:643 src/common/weeconfig.c:644 +#: src/common/weeconfig.c:644 src/common/weeconfig.c:645 msgid "create a FIFO pipe for remote control" msgstr "vytvořit FIFO pro vzdálené ovládání" -#: src/common/weeconfig.c:647 +#: src/common/weeconfig.c:648 msgid "list of words to highlight" msgstr "seznam slov pro zvýraznění" -#: src/common/weeconfig.c:648 +#: src/common/weeconfig.c:649 msgid "" "comma separated list of words to highlight (case insensitive comparison)" msgstr "" "čárkou oddělený seznam slov pro zvýraznění (neporovnává se velikost písmen)" -#: src/common/weeconfig.c:667 +#: src/common/weeconfig.c:668 msgid "automatically accept dcc files" msgstr "automaticky akceptovat dcc soubory" -#: src/common/weeconfig.c:668 +#: src/common/weeconfig.c:669 msgid "automatically accept incoming dcc files" msgstr "automaticky akceptovat příchozí dcc soubory" -#: src/common/weeconfig.c:671 +#: src/common/weeconfig.c:672 msgid "automatically accept dcc chats" msgstr "automaticky akceptovat dcc rozhovor" -#: src/common/weeconfig.c:672 +#: src/common/weeconfig.c:673 msgid "automatically accept dcc chats (use carefully!)" msgstr "automaticky akceptovat dcc rozhovor (používejte opatrně!)" -#: src/common/weeconfig.c:675 +#: src/common/weeconfig.c:676 msgid "timeout for dcc request" msgstr "časový limit pro dcc požadavek" -#: src/common/weeconfig.c:676 +#: src/common/weeconfig.c:677 msgid "timeout for dcc request (in seconds)" msgstr "časový limit pro dcc požadavek (v sekundách)" -#: src/common/weeconfig.c:679 +#: src/common/weeconfig.c:680 msgid "block size for dcc packets" msgstr "velikost bloku pro dcc pakety" -#: src/common/weeconfig.c:680 +#: src/common/weeconfig.c:681 msgid "block size for dcc packets in bytes (default: 65536)" msgstr "velikost bloku pro dcc pakety v bajtech (výchozí: 65536)" -#: src/common/weeconfig.c:683 +#: src/common/weeconfig.c:684 msgid "path for incoming files with dcc" msgstr "cesta pro příchozí dcc soubory" -#: src/common/weeconfig.c:684 +#: src/common/weeconfig.c:685 msgid "path for writing incoming files with dcc (default: user home)" msgstr "cesta pro zápis příchozích dcc souborů (výchozí: uživatelův domov)" -#: src/common/weeconfig.c:687 +#: src/common/weeconfig.c:688 msgid "default path for sending files with dcc" msgstr "výchozí cesta pro odesílaní souborů pomocí dcc" -#: src/common/weeconfig.c:688 +#: src/common/weeconfig.c:689 msgid "" "path for reading files when sending thru dcc (when no path is specified)" msgstr "" "cesta pro čtení souborů při odesílání přes dcc (když není specifikována " "cesta)" -#: src/common/weeconfig.c:691 src/common/weeconfig.c:692 +#: src/common/weeconfig.c:692 src/common/weeconfig.c:693 msgid "convert spaces to underscores when sending files" msgstr "konvertovat mezery na podtržítka při odesílání souborů" -#: src/common/weeconfig.c:695 +#: src/common/weeconfig.c:696 msgid "automatically rename dcc files if already exists" msgstr "automaticky přejmenovat dcc soubory, jestliže již existují" -#: src/common/weeconfig.c:696 +#: src/common/weeconfig.c:697 msgid "rename incoming files if already exists (add '.1', '.2', ...)" msgstr "" "přejmenovat příchozí soubory, jestliže již existují (přídat '.1', '.2', ...)" -#: src/common/weeconfig.c:699 +#: src/common/weeconfig.c:700 msgid "automatically resume aborted transfers" msgstr "automaticky obnovit zrušený přenos" -#: src/common/weeconfig.c:700 +#: src/common/weeconfig.c:701 msgid "" "automatically resume dcc transfer if connection with remote host is loosed" msgstr "automaticky obnovit dcc přenos pokud bylo ztraceno spojení s hostem" -#: src/common/weeconfig.c:719 +#: src/common/weeconfig.c:720 msgid "use proxy" msgstr "použít proxy" -#: src/common/weeconfig.c:720 +#: src/common/weeconfig.c:721 msgid "use a proxy server to connect to irc server" msgstr "použít proxy server pro připojení na irc server" -#: src/common/weeconfig.c:723 +#: src/common/weeconfig.c:724 msgid "proxy type" msgstr "typ proxy" -#: src/common/weeconfig.c:724 +#: src/common/weeconfig.c:725 msgid "proxy type (http (default), socks4, socks5)" msgstr "typ proxy (http (výchozí), socks4, socks5)" -#: src/common/weeconfig.c:727 +#: src/common/weeconfig.c:728 msgid "use ipv6 proxy" msgstr "použít ipv6 proxy" -#: src/common/weeconfig.c:728 +#: src/common/weeconfig.c:729 msgid "connect to proxy in ipv6" msgstr "připojit na proxy v ipv6" -#: src/common/weeconfig.c:731 +#: src/common/weeconfig.c:732 msgid "proxy address" msgstr "proxy adresa" -#: src/common/weeconfig.c:732 +#: src/common/weeconfig.c:733 msgid "proxy server address (IP or hostname)" msgstr "adresa proxy serveru (IP nebo jméno hosta)" -#: src/common/weeconfig.c:735 +#: src/common/weeconfig.c:736 msgid "port for proxy" msgstr "port proxy" -#: src/common/weeconfig.c:736 +#: src/common/weeconfig.c:737 msgid "port for connecting to proxy server" msgstr "port pro připojení na proxy server" -#: src/common/weeconfig.c:739 +#: src/common/weeconfig.c:740 msgid "proxy username" msgstr "uživatelské jeméno proxy" -#: src/common/weeconfig.c:740 +#: src/common/weeconfig.c:741 msgid "username for proxy server" msgstr "uživatelské jméno pro proxy server" -#: src/common/weeconfig.c:743 +#: src/common/weeconfig.c:744 msgid "proxy password" msgstr "heslo proxy" -#: src/common/weeconfig.c:744 +#: src/common/weeconfig.c:745 msgid "password for proxy server" msgstr "heslo pro proxy server" -#: src/common/weeconfig.c:755 +#: src/common/weeconfig.c:758 src/common/weeconfig.c:759 +msgid "path for searching plugins" +msgstr "" + +#: src/common/weeconfig.c:762 +msgid "list of plugins to load automatically" +msgstr "" + +#: src/common/weeconfig.c:763 +msgid "" +"comma separated list of plugins to load automatically at startup, \"*\" " +"means all plugins found (names may be partial, for example \"perl\" is ok " +"for \"libperl.so\")" +msgstr "" + +#: src/common/weeconfig.c:768 +msgid "standard plugins extension in filename" +msgstr "" + +#: src/common/weeconfig.c:769 +msgid "" +"standard plugins extension in filename, used for autoload (if empty, then " +"all files are loaded when autoload is \"*\")" +msgstr "" + +#: src/common/weeconfig.c:786 msgid "server name" msgstr "jméno serveru" -#: src/common/weeconfig.c:756 +#: src/common/weeconfig.c:787 msgid "name associated to IRC server (for display only)" msgstr "jméno asociované k IRC serveru (pouze pro zobrazení)" -#: src/common/weeconfig.c:759 +#: src/common/weeconfig.c:790 msgid "automatically connect to server" msgstr "automaticky připojit k serveru" -#: src/common/weeconfig.c:760 +#: src/common/weeconfig.c:791 msgid "automatically connect to server when WeeChat is starting" msgstr "automaticky připojit k serveru, když je WeeChat spouštěn" -#: src/common/weeconfig.c:763 +#: src/common/weeconfig.c:794 msgid "automatically reconnect to server" msgstr "automaticky znovupřipojit server" -#: src/common/weeconfig.c:764 +#: src/common/weeconfig.c:795 msgid "automatically reconnect to server when disconnected" msgstr "automaticky znovu připojit server, když je odpojen" -#: src/common/weeconfig.c:767 +#: src/common/weeconfig.c:798 msgid "delay before trying again to reconnect" msgstr "doba před novým zkušením znovupřipojení" -#: src/common/weeconfig.c:768 +#: src/common/weeconfig.c:799 msgid "delay (in seconds) before trying again to reconnect to server" msgstr "doba (v sekundách) před novým zkušením znovupřipojení na server" -#: src/common/weeconfig.c:771 +#: src/common/weeconfig.c:802 msgid "server address or hostname" msgstr "adresa serveru nebo jméno hosta" -#: src/common/weeconfig.c:772 +#: src/common/weeconfig.c:803 msgid "IP address or hostname of IRC server" msgstr "IP adresa nebo jeméno hosta IRC serveru" -#: src/common/weeconfig.c:775 +#: src/common/weeconfig.c:806 msgid "port for IRC server" msgstr "port IRC serveru" -#: src/common/weeconfig.c:776 +#: src/common/weeconfig.c:807 msgid "port for connecting to server" msgstr "port pro připojení na server" -#: src/common/weeconfig.c:779 src/common/weeconfig.c:780 +#: src/common/weeconfig.c:810 src/common/weeconfig.c:811 msgid "use IPv6 protocol for server communication" msgstr "použít protokol IPv6 pro komunikaci se serverem" -#: src/common/weeconfig.c:783 src/common/weeconfig.c:784 +#: src/common/weeconfig.c:814 src/common/weeconfig.c:815 msgid "use SSL for server communication" msgstr "použít SSL pro komunikaci se serverem" -#: src/common/weeconfig.c:787 +#: src/common/weeconfig.c:818 msgid "server password" msgstr "heslo serveru" -#: src/common/weeconfig.c:788 +#: src/common/weeconfig.c:819 msgid "password for IRC server" msgstr "heslo pro IRC server" -#: src/common/weeconfig.c:791 +#: src/common/weeconfig.c:822 msgid "nickname for server" msgstr "přezdívka pro server" -#: src/common/weeconfig.c:792 +#: src/common/weeconfig.c:823 msgid "nickname to use on IRC server" msgstr "přezdívka použitá na IRC serveru" -#: src/common/weeconfig.c:795 +#: src/common/weeconfig.c:826 msgid "alternate nickname for server" msgstr "alternativní přezdívka pro server" -#: src/common/weeconfig.c:796 +#: src/common/weeconfig.c:827 msgid "alternate nickname to use on IRC server (if nickname is already used)" msgstr "" "alternativní přezdívka použitá na IRC serveru (pokud přezdívka je již " "použita)" -#: src/common/weeconfig.c:799 +#: src/common/weeconfig.c:830 msgid "2nd alternate nickname for server" msgstr "druhá alternativní přezdívka pro server" -#: src/common/weeconfig.c:800 +#: src/common/weeconfig.c:831 msgid "" "2nd alternate nickname to use on IRC server (if alternate nickname is " "already used)" @@ -4252,31 +4171,31 @@ msgstr "" "druhá alternativní přezdívka použitá na IRC serveru (pokud alternativní " "přezdívka je již použita)" -#: src/common/weeconfig.c:803 +#: src/common/weeconfig.c:834 msgid "user name for server" msgstr "uživatelské jméno pro server" -#: src/common/weeconfig.c:804 +#: src/common/weeconfig.c:835 msgid "user name to use on IRC server" msgstr "uživatelské jméno použité na IRC serveru" -#: src/common/weeconfig.c:807 +#: src/common/weeconfig.c:838 msgid "real name for server" msgstr "skutečné jméno pro server" -#: src/common/weeconfig.c:808 +#: src/common/weeconfig.c:839 msgid "real name to use on IRC server" msgstr "skutečné jméno použité na IRC serveru" -#: src/common/weeconfig.c:811 src/common/weeconfig.c:812 +#: src/common/weeconfig.c:842 src/common/weeconfig.c:843 msgid "first command to run when connected to server" msgstr "první příkaz, který zpustit po připojení na server" -#: src/common/weeconfig.c:815 +#: src/common/weeconfig.c:846 msgid "delay (in seconds) after command was executed" msgstr "počkání (v sekundách) po spuštční příkazu" -#: src/common/weeconfig.c:816 +#: src/common/weeconfig.c:847 msgid "" "delay (in seconds) after command was executed (example: give some time for " "authentication)" @@ -4284,11 +4203,11 @@ msgstr "" "počkání (v sekundách) po spuštění příkazu (například: dád nějaký čas pro " "autorizaci)" -#: src/common/weeconfig.c:819 +#: src/common/weeconfig.c:850 msgid "list of channels to join when connected to server" msgstr "seznam kanálů na které přistoupit po připojení na server" -#: src/common/weeconfig.c:820 +#: src/common/weeconfig.c:851 msgid "" "comma separated list of channels to join when connected to server (example: " "\"#chan1,#chan2,#chan3 key1,key2\")" @@ -4296,15 +4215,15 @@ msgstr "" "čárkou rozdělený seznam kanálů na které přistoupit po připojení na server " "(příklad: \"#kanál1,#kanál2,#kanál3 klíč1,klíč2\")" -#: src/common/weeconfig.c:823 src/common/weeconfig.c:824 +#: src/common/weeconfig.c:854 src/common/weeconfig.c:855 msgid "automatically rejoin channels when kicked" msgstr "automaticky znovu přijít na kanál po vykopnutí" -#: src/common/weeconfig.c:827 +#: src/common/weeconfig.c:858 msgid "notify levels for channels of this server" msgstr "level upozornění pro kanály na tomto serveru" -#: src/common/weeconfig.c:828 +#: src/common/weeconfig.c:859 msgid "" "comma separated list of notify levels for channels of this server (format: " "#channel:1,..)" @@ -4312,67 +4231,67 @@ msgstr "" "čárkou oddělený seznam levelů upozornění pro kanály na tomto serveru " "(formát: #kanál:1,..)" -#: src/common/weeconfig.c:1322 +#: src/common/weeconfig.c:1354 #, c-format msgid "%s %s, line %d: new server, but previous was incomplete\n" msgstr "%s %s, řádek %d: nový server, ale předchozí byl nekompletní\n" -#: src/common/weeconfig.c:1331 +#: src/common/weeconfig.c:1363 #, c-format msgid "%s %s, line %d: server '%s' already exists\n" msgstr "%s %s, řádek %d: server '%s' již existuje\n" -#: src/common/weeconfig.c:1346 +#: src/common/weeconfig.c:1378 #, c-format msgid "%s %s, line %d: unable to create server\n" msgstr "%s %s, řádek %d: nemohu vytvořit server\n" -#: src/common/weeconfig.c:1386 +#: src/common/weeconfig.c:1418 #, c-format msgid "%s unable to assign default int with string (\"%s\")\n" msgstr "%s nemohu přiřadit výchozí číslo s řetězcem (\"%s\")\n" -#: src/common/weeconfig.c:1397 +#: src/common/weeconfig.c:1429 #, c-format msgid "%s unable to assign default color (\"%s\")\n" msgstr "%s nemohu přiřadit výchozí barvu (\"%s\")\n" -#: src/common/weeconfig.c:1436 +#: src/common/weeconfig.c:1468 #, c-format msgid "%s config file \"%s\" not found.\n" msgstr "%s konfigurační soubor \"%s\" nenalezen\n" -#: src/common/weeconfig.c:1468 +#: src/common/weeconfig.c:1500 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"]\"\n" msgstr "%s %s, řádek %d: nevalidní syntaxe, chybí \"]\"\n" -#: src/common/weeconfig.c:1485 +#: src/common/weeconfig.c:1517 #, c-format msgid "%s %s, line %d: unknown section identifier (\"%s\")\n" msgstr "%s %s, řádek %d: neznámý identifikátor sekce (\"%s\")\n" -#: src/common/weeconfig.c:1503 +#: src/common/weeconfig.c:1535 #, c-format msgid "%s %s, line %d: invalid section for option, line is ignored\n" msgstr "%s %s, řádek %d: nevalidní sekce pro volbu, řádek je ignorován\n" -#: src/common/weeconfig.c:1511 +#: src/common/weeconfig.c:1543 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"=\"\n" msgstr "%s %s, řádek %d: nevalidní syntax, chybí \"=\"\n" -#: src/common/weeconfig.c:1548 src/common/weeconfig.c:1574 +#: src/common/weeconfig.c:1580 src/common/weeconfig.c:1606 #, c-format msgid "%s %s, line %d: invalid option \"%s\"\n" msgstr "%s %s, řádek %d: nevalidní volba \"%s\"\n" -#: src/common/weeconfig.c:1554 +#: src/common/weeconfig.c:1586 #, c-format msgid "%s %s, line %d: invalid ignore options \"%s\"\n" msgstr "%s %s, řádek %d: nevalidní volba \"%s\" pro ignorování\n" -#: src/common/weeconfig.c:1585 +#: src/common/weeconfig.c:1617 #, c-format msgid "" "%s %s, line %d: invalid value foroption '%s'\n" @@ -4381,7 +4300,7 @@ msgstr "" "%s %s, řádek %d: nevalidní hodnota pro volbu '%s'\n" "Očekáváno: hodnota boolean: 'off' nebo 'on'\n" -#: src/common/weeconfig.c:1594 +#: src/common/weeconfig.c:1626 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -4390,7 +4309,7 @@ msgstr "" "%s %s, řádek %d: nevalidní hodnota pro volbu '%s'\n" "Očekáváno: celé číslo mezi %d a %d\n" -#: src/common/weeconfig.c:1605 +#: src/common/weeconfig.c:1637 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -4399,26 +4318,26 @@ msgstr "" "%s %s, řádek %d: nevalidní hodnota pro volbu '%s'\n" "Očekáváno: jeden z těchto řetězců: " -#: src/common/weeconfig.c:1621 +#: src/common/weeconfig.c:1653 #, c-format msgid "%s %s, line %d: invalid color name for option '%s'\n" msgstr "%s %s, řádek %d: nevalidní jméno barvy pro hodnotu '%s'\n" -#: src/common/weeconfig.c:1683 src/common/weeconfig.c:1878 +#: src/common/weeconfig.c:1715 src/common/weeconfig.c:1910 #, c-format msgid "%s cannot create file \"%s\"\n" msgstr "%s nemohu vytvořit soubor \"%s\"\n" -#: src/common/weeconfig.c:1689 +#: src/common/weeconfig.c:1721 #, c-format msgid "%s: creating default config file...\n" msgstr "%s: vytvářím výchozí konfigurační soubor...\n" -#: src/common/weeconfig.c:1690 +#: src/common/weeconfig.c:1722 msgid "Creating default config file\n" msgstr "Vytvářím výchozí konfigurační soubor\n" -#: src/common/weeconfig.c:1693 src/common/weeconfig.c:1887 +#: src/common/weeconfig.c:1725 src/common/weeconfig.c:1919 #, c-format msgid "" "#\n" @@ -4427,13 +4346,6 @@ msgstr "" "#\n" "# %s konfigurační soubor, vytvořil %s v%s %s#\n" -#: src/common/weeconfig.c:1884 +#: src/common/weeconfig.c:1916 msgid "Saving config to disk\n" msgstr "Ukládám konfiguraci na disk\n" - -#~ msgid "" -#~ "option: name of an option\n" -#~ "value: value for option" -#~ msgstr "" -#~ "volba: jméno volby\n" -#~ "hodnota: hodnota pro volbu" @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.6-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2005-10-03 14:05+0200\n" -"PO-Revision-Date: 2005-10-03 14:05+0200\n" +"POT-Creation-Date: 2005-10-15 14:17+0200\n" +"PO-Revision-Date: 2005-10-15 13:18+0200\n" "Last-Translator: Roberto Gonzlez Cardenete <robert.glez@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" msgid "%s cannot allocate new nick\n" msgstr "%s no ha sido posible crear un nuevo nick\n" -#: src/irc/irc-server.c:180 src/common/weeconfig.c:1823 +#: src/irc/irc-server.c:180 src/common/weeconfig.c:1855 msgid "Unable to get user's name" msgstr "No ha sido posible obtener el nombre de usuario" @@ -1342,7 +1342,7 @@ msgstr "no es posible cambiar el modo para el resto de usuarios" msgid "whois (secure connection)" msgstr "whois (conexin segura)" -#: src/irc/irc-display.c:163 src/common/command.c:877 +#: src/irc/irc-display.c:163 src/common/command.c:870 msgid "Server: " msgstr "Servidor: " @@ -1350,7 +1350,7 @@ msgstr "Servidor: " msgid "connected" msgstr "conectado" -#: src/irc/irc-display.c:168 src/common/command.c:903 +#: src/irc/irc-display.c:168 src/common/command.c:896 msgid "not connected" msgstr "no conectado" @@ -1372,7 +1372,7 @@ msgstr " (servidor temporal, no ser guardado)" msgid "(hidden)" msgstr "(oculto)" -#: src/irc/irc-send.c:59 src/irc/irc-recv.c:4421 +#: src/irc/irc-send.c:59 src/irc/irc-recv.c:4426 msgid "unknown" msgstr "desconocido" @@ -1381,7 +1381,7 @@ msgstr "desconocido" msgid "%s: using local hostname \"%s\"\n" msgstr "%s: utilizacin del nombre de mquina local \"%s\"\n" -#: src/irc/irc-send.c:167 src/common/command.c:755 +#: src/irc/irc-send.c:167 src/common/command.c:746 #, c-format msgid "%s cannot find nick for sending message\n" msgstr "%s no ha sido posible encontrar el usuario al que enviar el mensaje\n" @@ -1398,9 +1398,8 @@ msgstr "" #: src/irc/irc-send.c:456 src/irc/irc-send.c:468 src/irc/irc-send.c:486 #: src/irc/irc-send.c:1138 src/irc/irc-send.c:1231 src/irc/irc-send.c:1763 -#: src/common/command.c:1225 src/common/command.c:1579 -#: src/common/command.c:1729 src/common/command.c:1872 -#: src/common/command.c:2015 +#: src/common/command.c:1218 src/common/command.c:1628 +#: src/common/command.c:1760 #, c-format msgid "%s wrong argument count for \"%s\" command\n" msgstr "%s nmero de argumentos incorrecto para el comando \"%s\"\n" @@ -1417,13 +1416,13 @@ msgid "%s \"%s\" command can not be executed on a server window\n" msgstr "" "%s el comando \"%s\" no puede ser ejecutado en una ventana de servidor\n" -#: src/irc/irc-send.c:1031 src/irc/irc-send.c:1056 src/irc/irc-recv.c:430 +#: src/irc/irc-send.c:1031 src/irc/irc-send.c:1056 src/irc/irc-recv.c:435 #, c-format msgid "%s nick \"%s\" not found for \"%s\" command\n" msgstr "%s usuario \"%s\" no encontrado para el comando \"%s\"\n" -#: src/irc/irc-send.c:1108 src/irc/irc-send.c:1416 src/irc/irc-recv.c:1117 -#: src/irc/irc-recv.c:1933 src/irc/irc-recv.c:2021 +#: src/irc/irc-send.c:1108 src/irc/irc-send.c:1416 src/irc/irc-recv.c:1122 +#: src/irc/irc-recv.c:1938 src/irc/irc-recv.c:2026 #, c-format msgid "%s cannot create new private window \"%s\"\n" msgstr "%s no es posible crear una nueva ventana privada \"%s\"\n" @@ -1433,447 +1432,447 @@ msgstr "%s no es posible crear una nueva ventana privada \"%s\"\n" msgid "%s, compiled on %s %s\n" msgstr "%s, compilado en %s %s\n" -#: src/irc/irc-recv.c:286 +#: src/irc/irc-recv.c:291 msgid "You have been invited to " msgstr "Has sido invitado a " -#: src/irc/irc-recv.c:289 +#: src/irc/irc-recv.c:294 msgid "by" msgstr "por" -#: src/irc/irc-recv.c:300 src/irc/irc-recv.c:394 src/irc/irc-recv.c:891 -#: src/irc/irc-recv.c:1276 src/irc/irc-recv.c:1535 src/irc/irc-recv.c:3437 -#: src/irc/irc-recv.c:3459 src/irc/irc-recv.c:3520 src/irc/irc-recv.c:3592 +#: src/irc/irc-recv.c:305 src/irc/irc-recv.c:399 src/irc/irc-recv.c:896 +#: src/irc/irc-recv.c:1281 src/irc/irc-recv.c:1540 src/irc/irc-recv.c:3442 +#: src/irc/irc-recv.c:3464 src/irc/irc-recv.c:3525 src/irc/irc-recv.c:3597 #, c-format msgid "%s channel \"%s\" not found for \"%s\" command\n" msgstr "%s canal \"%s\" no encontrado para el comando \"%s\"\n" -#: src/irc/irc-recv.c:328 +#: src/irc/irc-recv.c:333 #, c-format msgid "%s cannot create new channel \"%s\"\n" msgstr "%s no es posible crear un nuevo canal \"%s\"\n" -#: src/irc/irc-recv.c:347 +#: src/irc/irc-recv.c:352 msgid " has joined " msgstr " se ha unido " -#: src/irc/irc-recv.c:405 +#: src/irc/irc-recv.c:410 msgid " has kicked " msgstr " se ha expulsado " -#: src/irc/irc-recv.c:409 src/common/command.c:1400 +#: src/irc/irc-recv.c:414 src/common/command.c:1449 msgid " from " msgstr " de " -#: src/irc/irc-recv.c:495 +#: src/irc/irc-recv.c:500 msgid " has killed " msgstr "ha matado" -#: src/irc/irc-recv.c:501 +#: src/irc/irc-recv.c:506 msgid " from server" msgstr "del servidor" -#: src/irc/irc-recv.c:511 +#: src/irc/irc-recv.c:516 msgid " from server\n" msgstr "del servidor\n" -#: src/irc/irc-recv.c:519 +#: src/irc/irc-recv.c:524 #, c-format msgid "%s host \"%s\" not found for \"%s\" command\n" msgstr "%s anfitrin \"%s\" no encontrado para el comando \"%s\"\n" -#: src/irc/irc-recv.c:559 +#: src/irc/irc-recv.c:564 msgid "sets ban on" msgstr "establecer baneo en" -#: src/irc/irc-recv.c:560 +#: src/irc/irc-recv.c:565 msgid "removes ban on" msgstr "quitar baneo en" -#: src/irc/irc-recv.c:584 +#: src/irc/irc-recv.c:589 msgid "gives half channel operator status to" msgstr "dar estado de media operador de canal a" -#: src/irc/irc-recv.c:585 +#: src/irc/irc-recv.c:590 msgid "removes half channel operator status from" msgstr "eliminar el estado de media operador de canal a" -#: src/irc/irc-recv.c:612 +#: src/irc/irc-recv.c:617 msgid "sets invite-only channel flag" msgstr "define el canal slo en modo invitado" -#: src/irc/irc-recv.c:613 +#: src/irc/irc-recv.c:618 msgid "removes invite-only channel flag" msgstr "elimina el modo slo invitado para el canal" -#: src/irc/irc-recv.c:630 +#: src/irc/irc-recv.c:635 msgid "sets channel key to" msgstr "definir clave de canal en" -#: src/irc/irc-recv.c:631 +#: src/irc/irc-recv.c:636 msgid "removes channel key" msgstr "elimina la clave de canal" -#: src/irc/irc-recv.c:662 +#: src/irc/irc-recv.c:667 msgid "sets the user limit to" msgstr "define el lmite de usuarios en" -#: src/irc/irc-recv.c:663 +#: src/irc/irc-recv.c:668 msgid "removes user limit" msgstr "elimina el lmite de usuarios" -#: src/irc/irc-recv.c:685 +#: src/irc/irc-recv.c:690 msgid "sets moderated channel flag" msgstr "establece la moderacin en el canal" -#: src/irc/irc-recv.c:686 +#: src/irc/irc-recv.c:691 msgid "removes moderated channel flag" msgstr "elimina la moderacin en el canal" -#: src/irc/irc-recv.c:696 +#: src/irc/irc-recv.c:701 msgid "sets messages from channel only flag" msgstr "establece el modo slo mensajes de usuarios del canal" -#: src/irc/irc-recv.c:697 +#: src/irc/irc-recv.c:702 msgid "removes messages from channel only flag" msgstr "autoriza a todos los usuarios a escribir en el canal" -#: src/irc/irc-recv.c:714 +#: src/irc/irc-recv.c:719 msgid "gives channel operator status to" msgstr "dar estado de operador de canal a" -#: src/irc/irc-recv.c:715 +#: src/irc/irc-recv.c:720 msgid "removes channel operator status from" msgstr "eliminar el estado de operador de canal a" -#: src/irc/irc-recv.c:742 +#: src/irc/irc-recv.c:747 msgid "sets private channel flag" msgstr "establece el canal como privado" -#: src/irc/irc-recv.c:743 +#: src/irc/irc-recv.c:748 msgid "removes private channel flag" msgstr "elimina el modo privado para el canal" -#: src/irc/irc-recv.c:760 +#: src/irc/irc-recv.c:765 msgid "sets quiet on" msgstr "" -#: src/irc/irc-recv.c:761 +#: src/irc/irc-recv.c:766 msgid "removes quiet on" msgstr "" -#: src/irc/irc-recv.c:778 +#: src/irc/irc-recv.c:783 msgid "sets secret channel flag" msgstr "establece el canal como secreto" -#: src/irc/irc-recv.c:779 +#: src/irc/irc-recv.c:784 msgid "removes secret channel flag" msgstr "elimina el modo secreto para el canal" -#: src/irc/irc-recv.c:789 +#: src/irc/irc-recv.c:794 msgid "sets topic protection" msgstr "activa la proteccin de tema" -#: src/irc/irc-recv.c:790 +#: src/irc/irc-recv.c:795 msgid "removes topic protection" msgstr "elimina la proteccin de tema" -#: src/irc/irc-recv.c:807 +#: src/irc/irc-recv.c:812 msgid "gives voice to" msgstr "da voz a" -#: src/irc/irc-recv.c:808 +#: src/irc/irc-recv.c:813 msgid "removes voice from" msgstr "quita la voz a" -#: src/irc/irc-recv.c:851 src/irc/irc-recv.c:933 src/irc/irc-recv.c:1354 -#: src/irc/irc-recv.c:2088 +#: src/irc/irc-recv.c:856 src/irc/irc-recv.c:938 src/irc/irc-recv.c:1359 +#: src/irc/irc-recv.c:2093 #, c-format msgid "%s \"%s\" command received without host\n" msgstr "%s comando \"%s\" recibido sin host \n" -#: src/irc/irc-recv.c:861 +#: src/irc/irc-recv.c:866 #, c-format msgid "%s \"%s\" command received without channel or nickname\n" msgstr "%s comando \"%s\" recibido sin canal usuario\n" -#: src/irc/irc-recv.c:908 +#: src/irc/irc-recv.c:913 msgid "mode changed by" msgstr "modo cambiado por" -#: src/irc/irc-recv.c:970 +#: src/irc/irc-recv.c:975 msgid "You are " msgstr "Usted es " -#: src/irc/irc-recv.c:977 +#: src/irc/irc-recv.c:982 msgid " is " msgstr "es " -#: src/irc/irc-recv.c:981 +#: src/irc/irc-recv.c:986 msgid "now known as " msgstr "ahora conocido como" -#: src/irc/irc-recv.c:1048 +#: src/irc/irc-recv.c:1053 #, c-format msgid "%s nickname not found for \"%s\" command\n" msgstr "%s nombre de usuario no encontrado para el comando \"%s\"\n" -#: src/irc/irc-recv.c:1064 src/irc/irc-recv.c:1096 +#: src/irc/irc-recv.c:1069 src/irc/irc-recv.c:1101 msgid "reply from" msgstr "respuesta de" -#: src/irc/irc-recv.c:1099 +#: src/irc/irc-recv.c:1104 #, c-format msgid ": %ld.%ld seconds\n" msgstr ": %ld.%ld segundos\n" -#: src/irc/irc-recv.c:1138 src/irc/irc-recv.c:2042 src/irc/irc-dcc.c:1044 +#: src/irc/irc-recv.c:1143 src/irc/irc-recv.c:2047 src/irc/irc-dcc.c:1044 #, c-format msgid "Private %s> %s" msgstr "Privado %s> %s" -#: src/irc/irc-recv.c:1201 +#: src/irc/irc-recv.c:1206 #, c-format msgid "%s \"%s\" command received without host or channel\n" msgstr "%s comando \"%s\" recibido sin host o canal\n" -#: src/irc/irc-recv.c:1250 +#: src/irc/irc-recv.c:1255 msgid " has left " msgstr " ha salido " -#: src/irc/irc-recv.c:1402 src/irc/irc-recv.c:1957 +#: src/irc/irc-recv.c:1407 src/irc/irc-recv.c:1962 #, c-format msgid "On %s: * %s %s" msgstr "En %s: * %s %s" -#: src/irc/irc-recv.c:1426 +#: src/irc/irc-recv.c:1431 #, c-format msgid "Received a CTCP SOUND \"%s\" from " msgstr "Recibido un sonido CTCP \\\"%s\\\" de " -#: src/irc/irc-recv.c:1459 src/irc/irc-recv.c:1490 src/irc/irc-recv.c:1594 -#: src/irc/irc-recv.c:1634 src/irc/irc-recv.c:1997 +#: src/irc/irc-recv.c:1464 src/irc/irc-recv.c:1495 src/irc/irc-recv.c:1599 +#: src/irc/irc-recv.c:1639 src/irc/irc-recv.c:2002 msgid "received from" msgstr "recibido de" -#: src/irc/irc-recv.c:1486 src/irc/irc-recv.c:1993 +#: src/irc/irc-recv.c:1491 src/irc/irc-recv.c:1998 msgid "Unknown CTCP " msgstr "" -#: src/irc/irc-recv.c:1518 +#: src/irc/irc-recv.c:1523 #, c-format msgid "On %s: %s> %s" msgstr "En %s: %s> %s" -#: src/irc/irc-recv.c:1650 src/irc/irc-recv.c:1671 src/irc/irc-recv.c:1687 -#: src/irc/irc-recv.c:1703 src/irc/irc-recv.c:1729 src/irc/irc-recv.c:1750 -#: src/irc/irc-recv.c:1766 src/irc/irc-recv.c:1791 src/irc/irc-recv.c:1812 -#: src/irc/irc-recv.c:1828 src/irc/irc-recv.c:1853 src/irc/irc-recv.c:1874 -#: src/irc/irc-recv.c:1889 src/irc/irc-recv.c:2064 src/irc/irc-recv.c:2408 -#: src/irc/irc-recv.c:3988 src/irc/irc-recv.c:4046 src/irc/irc-recv.c:4205 -#: src/irc/irc-recv.c:4220 src/irc/irc-recv.c:4235 src/irc/irc-recv.c:4250 -#: src/irc/irc-recv.c:4263 src/irc/irc-recv.c:4317 src/irc/irc-recv.c:4331 +#: src/irc/irc-recv.c:1655 src/irc/irc-recv.c:1676 src/irc/irc-recv.c:1692 +#: src/irc/irc-recv.c:1708 src/irc/irc-recv.c:1734 src/irc/irc-recv.c:1755 +#: src/irc/irc-recv.c:1771 src/irc/irc-recv.c:1796 src/irc/irc-recv.c:1817 +#: src/irc/irc-recv.c:1833 src/irc/irc-recv.c:1858 src/irc/irc-recv.c:1879 +#: src/irc/irc-recv.c:1894 src/irc/irc-recv.c:2069 src/irc/irc-recv.c:2413 +#: src/irc/irc-recv.c:3993 src/irc/irc-recv.c:4051 src/irc/irc-recv.c:4210 +#: src/irc/irc-recv.c:4225 src/irc/irc-recv.c:4240 src/irc/irc-recv.c:4255 +#: src/irc/irc-recv.c:4268 src/irc/irc-recv.c:4322 src/irc/irc-recv.c:4336 #, c-format msgid "%s cannot parse \"%s\" command\n" msgstr "%s no es posible analizar el comando \"%s\"\n" -#: src/irc/irc-recv.c:1902 +#: src/irc/irc-recv.c:1907 #, c-format msgid "%s unknown DCC CHAT type received from " msgstr "%s tipo DCC CHAT desconocido recibido de " -#: src/irc/irc-recv.c:2119 +#: src/irc/irc-recv.c:2124 msgid "has quit" msgstr "ha salido" -#: src/irc/irc-recv.c:2244 +#: src/irc/irc-recv.c:2249 #, c-format msgid "%s \"%s\" command received without channel\n" msgstr "%s comando \"%s\" recibido sin canal\n" -#: src/irc/irc-recv.c:2276 +#: src/irc/irc-recv.c:2281 msgid " has changed topic for " msgstr "ha cambiado el tema por " -#: src/irc/irc-recv.c:2281 +#: src/irc/irc-recv.c:2286 #, c-format msgid " to: \"%s\"\n" msgstr " a: \"%s\"\n" -#: src/irc/irc-recv.c:2287 +#: src/irc/irc-recv.c:2292 msgid " has unset topic for " msgstr " ha quitado el tema por " -#: src/irc/irc-recv.c:2396 +#: src/irc/irc-recv.c:2401 msgid "User mode" msgstr "" -#: src/irc/irc-recv.c:2451 +#: src/irc/irc-recv.c:2456 #, c-format msgid " is away: %s\n" msgstr " est ausente: %s\n" -#: src/irc/irc-recv.c:2533 +#: src/irc/irc-recv.c:2538 msgid "Users online: " msgstr "Usuarios conectados: " -#: src/irc/irc-recv.c:3023 +#: src/irc/irc-recv.c:3028 msgid "idle: " msgstr "sin actividad: " -#: src/irc/irc-recv.c:3031 +#: src/irc/irc-recv.c:3036 msgid "days" msgstr "das" -#: src/irc/irc-recv.c:3031 +#: src/irc/irc-recv.c:3036 msgid "day" msgstr "da" -#: src/irc/irc-recv.c:3041 +#: src/irc/irc-recv.c:3046 msgid "hours" msgstr "horas" -#: src/irc/irc-recv.c:3041 +#: src/irc/irc-recv.c:3046 msgid "hour" msgstr "hora" -#: src/irc/irc-recv.c:3047 +#: src/irc/irc-recv.c:3052 msgid "minutes" msgstr "minutos" -#: src/irc/irc-recv.c:3047 +#: src/irc/irc-recv.c:3052 msgid "minute" msgstr "minuto" -#: src/irc/irc-recv.c:3053 +#: src/irc/irc-recv.c:3058 msgid "seconds" msgstr "segundos" -#: src/irc/irc-recv.c:3053 +#: src/irc/irc-recv.c:3058 msgid "second" msgstr "segundo" -#: src/irc/irc-recv.c:3058 +#: src/irc/irc-recv.c:3063 msgid "signon at: " msgstr "firmado el: " -#: src/irc/irc-recv.c:3154 +#: src/irc/irc-recv.c:3159 msgid "Channels: " msgstr "Canales: " -#: src/irc/irc-recv.c:3450 +#: src/irc/irc-recv.c:3455 msgid "No topic set for " msgstr "No hay tema definido para " -#: src/irc/irc-recv.c:3507 +#: src/irc/irc-recv.c:3512 msgid "Topic for " msgstr "El tema para " -#: src/irc/irc-recv.c:3511 +#: src/irc/irc-recv.c:3516 #, c-format msgid " is: \"%s\"\n" msgstr " es: \"%s\"\n" -#: src/irc/irc-recv.c:3530 src/irc/irc-recv.c:3619 src/irc/irc-recv.c:3672 +#: src/irc/irc-recv.c:3535 src/irc/irc-recv.c:3624 src/irc/irc-recv.c:3677 #, c-format msgid "%s cannot identify channel for \"%s\" command\n" msgstr "%s no es posible identificar el canal para el comando \"%s\"\n" -#: src/irc/irc-recv.c:3580 +#: src/irc/irc-recv.c:3585 msgid "Topic set by " msgstr "Tema definido por " -#: src/irc/irc-recv.c:3601 +#: src/irc/irc-recv.c:3606 #, c-format msgid "%s cannot identify date/time for \"%s\" command\n" msgstr "%s no es posible identificar la fecha/hora para el comando \"%s\"\n" -#: src/irc/irc-recv.c:3610 src/irc/irc-recv.c:3681 +#: src/irc/irc-recv.c:3615 src/irc/irc-recv.c:3686 #, c-format msgid "%s cannot identify nickname for \"%s\" command\n" msgstr "" "%s no es posible determinar el nombre de usuario para el comando \"%s\"\n" -#: src/irc/irc-recv.c:3660 +#: src/irc/irc-recv.c:3665 msgid "has invited" msgstr "ha invitado" -#: src/irc/irc-recv.c:3663 src/irc/irc-recv.c:3909 src/common/command.c:1393 +#: src/irc/irc-recv.c:3668 src/irc/irc-recv.c:3914 src/common/command.c:1442 msgid "on" msgstr "en" -#: src/irc/irc-recv.c:3718 +#: src/irc/irc-recv.c:3723 msgid "Channel reop" msgstr "" -#: src/irc/irc-recv.c:4034 +#: src/irc/irc-recv.c:4039 #, c-format msgid "%s cannot create nick \"%s\" for channel \"%s\"\n" msgstr "%s no es posible crear el usuario \"%s\" para el canal \"%s\"\n" -#: src/irc/irc-recv.c:4093 +#: src/irc/irc-recv.c:4098 msgid "Nicks " msgstr "Usuarios " -#: src/irc/irc-recv.c:4113 +#: src/irc/irc-recv.c:4118 msgid "Channel " msgstr "Canal " -#: src/irc/irc-recv.c:4124 +#: src/irc/irc-recv.c:4129 msgid "nicks" msgstr "usuarios" -#: src/irc/irc-recv.c:4124 +#: src/irc/irc-recv.c:4129 msgid "nick" msgstr "usuario" -#: src/irc/irc-recv.c:4132 +#: src/irc/irc-recv.c:4137 msgid "ops" msgstr "operadores" -#: src/irc/irc-recv.c:4132 +#: src/irc/irc-recv.c:4137 msgid "op" msgstr "operador" -#: src/irc/irc-recv.c:4141 +#: src/irc/irc-recv.c:4146 msgid "halfops" msgstr "semi-operadores" -#: src/irc/irc-recv.c:4141 +#: src/irc/irc-recv.c:4146 msgid "halfop" msgstr "semi-operador" -#: src/irc/irc-recv.c:4150 +#: src/irc/irc-recv.c:4155 msgid "voices" msgstr "voces" -#: src/irc/irc-recv.c:4150 +#: src/irc/irc-recv.c:4155 msgid "voice" msgstr "voz" -#: src/irc/irc-recv.c:4159 +#: src/irc/irc-recv.c:4164 msgid "normal" msgstr "normal" -#: src/irc/irc-recv.c:4280 +#: src/irc/irc-recv.c:4285 msgid "banned by" msgstr "baneado por" -#: src/irc/irc-recv.c:4375 +#: src/irc/irc-recv.c:4380 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 2nd nickname \"%s\"\n" msgstr "" "%s: el nombre de usuario \"%s\" ya est en uso, probando con el 2 nombre de " "usuario \"%s\"\n" -#: src/irc/irc-recv.c:4387 +#: src/irc/irc-recv.c:4392 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 3rd nickname \"%s\"\n" msgstr "" "%s: el nombre de usuario \"%s\" ya est en uso, probando con el 3 nombre de " "usuario \"%s\"\n" -#: src/irc/irc-recv.c:4399 +#: src/irc/irc-recv.c:4404 #, c-format msgid "" "%s: all declared nicknames are already in use, closing connection with " @@ -1882,7 +1881,7 @@ msgstr "" "%s: todos los nombres de usuario declarados ya estn en uso, cerrando la " "conexin con el servidor!\n" -#: src/irc/irc-recv.c:4409 +#: src/irc/irc-recv.c:4414 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 1st nickname \"%s\"\n" msgstr "" @@ -2077,140 +2076,89 @@ msgstr "" msgid "Removing ignore:" msgstr "" -#: src/plugins/perl/wee-perl.c:88 src/plugins/perl/wee-perl.c:463 -#: src/plugins/python/wee-python.c:81 src/plugins/ruby/wee-ruby.c:89 +#: src/plugins/plugins.c:226 #, c-format msgid "" -"%s error: unable to register \"%s\" script (another script already exists " -"with this name)\n" +"%s plugin %s: unable to add handler for IRC command \"%s\" (not enough " +"memory)\n" msgstr "" -"Error de %s: no ha sido posible registrar el script \"%s\" (ya existe otro " -"script con ese nombre)\n" - -#: src/plugins/perl/wee-perl.c:112 src/plugins/perl/wee-perl.c:487 -#: src/plugins/python/wee-python.c:105 src/plugins/ruby/wee-ruby.c:113 -#, c-format -msgid "Registered %s script: \"%s\", version %s (%s)\n" -msgstr "%s script registrado: \"%s\", versin %s (%s)\n" -#: src/plugins/perl/wee-perl.c:119 src/plugins/perl/wee-perl.c:494 -#: src/plugins/python/wee-python.c:112 src/plugins/ruby/wee-ruby.c:120 +#: src/plugins/plugins.c:261 #, c-format -msgid "%s error: unable to load script \"%s\" (not enough memory)\n" +msgid "" +"%s plugin %s: unable to add handler for \"%s\" command (already exists)\n" msgstr "" -"Error de %s: no ha sido posible cargar el script \"%s\" (memoria " -"insuficiente)\n" - -#: src/plugins/perl/wee-perl.c:234 src/plugins/perl/wee-perl.c:520 -#: src/plugins/perl/wee-perl.c:568 src/plugins/perl/wee-perl.c:595 -#: src/plugins/perl/wee-perl.c:640 src/plugins/perl/wee-perl.c:670 -#: src/plugins/perl/wee-perl.c:710 src/plugins/python/wee-python.c:60 -#: src/plugins/python/wee-python.c:142 src/plugins/python/wee-python.c:179 -#: src/plugins/python/wee-python.c:211 src/plugins/python/wee-python.c:243 -#: src/plugins/python/wee-python.c:272 src/plugins/python/wee-python.c:311 -#: src/plugins/ruby/wee-ruby.c:58 src/plugins/ruby/wee-ruby.c:146 -#: src/plugins/ruby/wee-ruby.c:192 src/plugins/ruby/wee-ruby.c:226 -#: src/plugins/ruby/wee-ruby.c:267 src/plugins/ruby/wee-ruby.c:298 -#: src/plugins/ruby/wee-ruby.c:339 -#, c-format -msgid "%s error: wrong parameters for \"%s\" function\n" -msgstr "Error de %s: parmetros incorrectos para la funcin \"%s\"\n" - -#: src/plugins/perl/wee-perl.c:270 src/plugins/perl/wee-perl.c:374 -#: src/plugins/perl/wee-perl.c:723 src/plugins/python/wee-python.c:331 -#: src/plugins/ruby/wee-ruby.c:367 -#, c-format -msgid "%s error: server not found for \"%s\" function\n" -msgstr "Error de %s: servidor no encontrado para el comando \"%s\"\n" - -#: src/plugins/perl/wee-perl.c:873 src/plugins/python/wee-python.c:457 -#, c-format -msgid "Loading %s module \"weechat\"\n" -msgstr "Cargando mdulo %s \"weechat\"\n" -#: src/plugins/perl/wee-perl.c:932 +#: src/plugins/plugins.c:296 #, c-format -msgid "Perl error: %s" -msgstr "Error de Perl: %s" - -#: src/plugins/perl/wee-perl.c:942 -#, c-format -msgid "%s error: too much values from \"%s\" (%d). Expected: 1.\n" -msgstr "Error de %s: demasiados valores desde \"%s\" (%d). Esperado: 1.\n" - -#: src/plugins/perl/wee-perl.c:964 src/plugins/perl/wee-perl.c:966 -#: src/plugins/python/wee-python.c:615 src/plugins/python/wee-python.c:617 -#, c-format -msgid "Loading %s script \"%s\"\n" -msgstr "Cargando %s script \"%s\"\n" +msgid "" +"%s plugin %s: unable to add handler for \"%s\" command (not enough memory)\n" +msgstr "" -#: src/plugins/perl/wee-perl.c:1015 src/plugins/python/wee-python.c:686 -#: src/plugins/ruby/wee-ruby.c:555 +#: src/plugins/plugins.c:573 #, c-format -msgid "Unloading %s script \"%s\"\n" -msgstr "Descarga del %s script \"%s\"\n" +msgid "%s unable to load plugin \"%s\": %s\n" +msgstr "" -#: src/plugins/perl/wee-perl.c:1032 src/plugins/python/wee-python.c:703 -#: src/plugins/ruby/wee-ruby.c:572 +#: src/plugins/plugins.c:584 #, c-format -msgid "Unloading all %s scripts...\n" -msgstr "Descargando todos los %s scripts...\n" +msgid "%s symbol \"plugin_name\" not found in plugin \"%s\", failed to load\n" +msgstr "" -#: src/plugins/perl/wee-perl.c:1037 src/plugins/python/wee-python.c:708 -#: src/plugins/ruby/wee-ruby.c:577 +#: src/plugins/plugins.c:595 #, c-format -msgid "%s scripts unloaded\n" -msgstr "%s scripts descargados\n" +msgid "" +"%s unable to load plugin \"%s\": a plugin with same name already exists\n" +msgstr "" -#: src/plugins/python/wee-python.c:452 +#: src/plugins/plugins.c:607 #, c-format -msgid "%s error: error while launching interpreter\n" -msgstr "%s error: error al lanzar el intrprete\n" +msgid "" +"%s symbol \"plugin_description\" not found in plugin \"%s\", failed to load\n" +msgstr "" -#: src/plugins/python/wee-python.c:481 +#: src/plugins/plugins.c:618 #, c-format -msgid "%s error: error while redirecting stdout and stderr\n" -msgstr "%s error: error al redireccionar stdout y stderr\n" +msgid "" +"%s symbol \"plugin_version\" not found in plugin \"%s\", failed to load\n" +msgstr "" -#: src/plugins/python/wee-python.c:534 src/plugins/python/wee-python.c:562 -#: src/plugins/python/wee-python.c:594 +#: src/plugins/plugins.c:629 #, c-format -msgid "%s error: unable to run function \"%s\" in script (not enough memory)\n" +msgid "" +"%s function \"weechat_plugin_init\" not found in plugin \"%s\", failed to " +"load\n" msgstr "" -"Error de %s: no ha sido posible cargar el script \"%s\" (memoria " -"insuficiente)\n" -#: src/plugins/python/wee-python.c:584 +#: src/plugins/plugins.c:683 #, c-format -msgid "%s error: error while running function \"%s\"\n" -msgstr "%s error: error al ejecutar la funcin \"%s\"\n" +msgid "Initializing plugin \"%s\" %s\n" +msgstr "" -#: src/plugins/python/wee-python.c:623 +#: src/plugins/plugins.c:691 #, c-format -msgid "%s error: error while opening file \"%s\"\n" -msgstr "%s error: error al abrir el fichero \"%s\"\n" +msgid "%s unable to initialize plugin \"%s\"\n" +msgstr "" -#: src/plugins/python/wee-python.c:632 +#: src/plugins/plugins.c:702 #, c-format -msgid "%s error: error while parsing file \"%s\"\n" -msgstr "%s error: error al comparar el fichero \"%s\"\n" +msgid "%s unable to load plugin \"%s\" (not enough memory)\n" +msgstr "" -#: src/plugins/python/wee-python.c:734 +#: src/plugins/plugins.c:710 #, c-format -msgid "%s error: error while freeing interpreter\n" -msgstr "%s error: error al liberar el intrprete\n" +msgid "Plugin \"%s\" (%s) loaded.\n" +msgstr "" -#: src/plugins/plugins.c:97 +#: src/plugins/plugins.c:831 #, c-format -msgid "Auto-loading %s script: %s%s%s\n" -msgstr "Carga automtica del script %s : %s%s%s\n" +msgid "Plugin \"%s\" unloaded.\n" +msgstr "" -#: src/plugins/plugins.c:223 +#: src/plugins/plugins.c:837 #, c-format -msgid "%s unable to add handler for \"%s\" message (not enough memory)\n" +msgid "%s plugin \"%s\" not found\n" msgstr "" -"%s no ha sido posible aadir el manejador para el mensaje \"%s\" (memoria " -"insuficiente)\n" #: src/gui/curses/gui-input.c:340 #, c-format @@ -2434,7 +2382,7 @@ msgstr "limpiar hotlist" msgid "grab a key" msgstr "" -#: src/gui/gui-keyboard.c:426 src/common/command.c:1594 +#: src/gui/gui-keyboard.c:426 src/common/command.c:1643 #, c-format msgid "%s unable to bind key \"%s\"\n" msgstr "%s No ha sido posible atar la clave \"%s\"\n" @@ -2603,56 +2551,25 @@ msgstr "" "anclajes personales (usar cuidadosamente)" #: src/common/command.c:92 -msgid "list/load/unload Perl scripts" -msgstr "lista/carga/descarga de los Perl scripts" +msgid "list/load/unload plugins" +msgstr "" -#: src/common/command.c:93 src/common/command.c:98 src/common/command.c:103 +#: src/common/command.c:93 msgid "[load filename] | [autoload] | [reload] | [unload]" msgstr "[load fichero] | [autoload] | [reload] | [unload]" #: src/common/command.c:94 msgid "" -"filename: Perl script (file) to load\n" +"filename: WeeChat plugin (file) to load\n" "\n" -"Without argument, /perl command lists all loaded Perl scripts." +"Without argument, /plugin command lists all loaded plugins." msgstr "" -"fichero: Perl script (archivo) a cargar\n" -"\n" -"Sin argumentos, el comando /perl lista todos los Perl scripts cargados." #: src/common/command.c:97 -msgid "list/load/unload Python scripts" -msgstr "lista/carga/descarga de los Python scripts" - -#: src/common/command.c:99 -msgid "" -"filename: Python script (file) to load\n" -"\n" -"Without argument, /python command lists all loaded Python scripts." -msgstr "" -"fichero: Python script (archivo) a cargar\n" -"\n" -"Sin argumentos, el comando /python lista todos los Python scripts cargados." - -#: src/common/command.c:102 -msgid "list/load/unload Ruby scripts" -msgstr "lista/carga/descarga de los Ruby scripts" - -#: src/common/command.c:104 -msgid "" -"filename: Ruby script (file) to load\n" -"\n" -"Without argument, /ruby command lists all loaded Ruby scripts." -msgstr "" -"fichero: Ruby script (archivo) a cargar\n" -"\n" -"Sin argumentos, el comando /ruby lista todos los Ruby scripts cargados." - -#: src/common/command.c:107 msgid "list, add or remove servers" msgstr "lista, aade o elimina servidores" -#: src/common/command.c:108 +#: src/common/command.c:98 msgid "" "[servername] | [servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-" "pwd password] [-nicks nick1 nick2 nick3] [-username username] [-realname " @@ -2664,7 +2581,7 @@ msgstr "" "username nombre de usuario] [-realname nombre_real] [-command comando] [-" "autojoin canal[,canal]] ] | [del nombre_de_servidor]" -#: src/common/command.c:113 +#: src/common/command.c:103 msgid "" "servername: server name, for internal & display use\n" "hostname: name or IP address of server\n" @@ -2690,54 +2607,54 @@ msgstr "" "nombre_de_usuario: nombre de usuario\n" "nombre_real: nombre real del usuario" -#: src/common/command.c:125 +#: src/common/command.c:115 msgid "save config to disk" msgstr "guardar configuracin a disco" -#: src/common/command.c:126 +#: src/common/command.c:116 msgid "[file]" msgstr "[archivo]" -#: src/common/command.c:126 +#: src/common/command.c:116 msgid "file: filename for writing config" msgstr "archivo: fichero en el que guardar la configuracin" -#: src/common/command.c:128 +#: src/common/command.c:118 msgid "set config parameters" msgstr "modificar parmetros de configuracin" -#: src/common/command.c:129 +#: src/common/command.c:119 msgid "[option [ = value]]" msgstr "[opcin [ = valor]]" -#: src/common/command.c:130 +#: src/common/command.c:120 msgid "" "option: name of an option (if name is full and no value is given, then help " "is displayed on option)\n" "value: value for option" msgstr "" -#: src/common/command.c:134 +#: src/common/command.c:124 msgid "remove an alias" msgstr "eliminar un alias" -#: src/common/command.c:135 +#: src/common/command.c:125 msgid "alias_name" msgstr "alias" -#: src/common/command.c:135 +#: src/common/command.c:125 msgid "alias_name: name of alias to remove" msgstr "alias: nombre del alias a suprimir" -#: src/common/command.c:137 +#: src/common/command.c:127 msgid "unignore IRC messages and/or hosts" msgstr "" -#: src/common/command.c:138 +#: src/common/command.c:128 msgid "[number | [mask [[type | command] [channel [server]]]]]" msgstr "" -#: src/common/command.c:139 +#: src/common/command.c:129 msgid "" " number: # of ignore to unignore (number is displayed by list of ignore)\n" " mask: nick or host mask to unignore\n" @@ -2750,15 +2667,15 @@ msgid "" "Without argument, /unignore command lists all defined ignore." msgstr "" -#: src/common/command.c:148 +#: src/common/command.c:138 msgid "manage windows" msgstr "gestin de ventanas" -#: src/common/command.c:149 +#: src/common/command.c:139 msgid "[list | splith | splitv | [merge [down | up | left | right | all]]]" msgstr "[list | splith | splitv | [merge [down | up | left | right | all]]]" -#: src/common/command.c:150 +#: src/common/command.c:140 msgid "" "list: list opened windows (no parameter implies this list)\n" "splith: split current window horizontally\n" @@ -2771,29 +2688,29 @@ msgstr "" "splitv: dividir la ventana actual verticalmente\n" "merge: fusionar una ventana con otra" -#: src/common/command.c:296 +#: src/common/command.c:286 #, c-format msgid "%s alias or command \"%s\" already exists!\n" msgstr "%s el alias o el comando \"%s\" ya existe!\n" -#: src/common/command.c:306 +#: src/common/command.c:296 #, c-format msgid "%s alias cannot run another alias!\n" msgstr "%s el alias no puede ejecutar otro alias!\n" -#: src/common/command.c:313 +#: src/common/command.c:303 #, c-format msgid "%s target command \"%s\" does not exist!\n" msgstr "%s el comando objetivo \"%s\" no existe!\n" -#: src/common/command.c:521 +#: src/common/command.c:532 #, c-format msgid "%s wrong argument count for %s command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s nmero de argumentos incorrecto para el comando %s \"%s\" (esperado: %d " "parmetro%s)\n" -#: src/common/command.c:533 +#: src/common/command.c:544 #, c-format msgid "" "%s wrong argument count for %s command \"%s\" (expected: between %d and %d " @@ -2802,19 +2719,19 @@ msgstr "" "%s nmero de argumentos incorrecto para el comando %s \"%s\" (esperado: " "entre %d y %d parmetro%s)\n" -#: src/common/command.c:555 src/common/command.c:625 +#: src/common/command.c:566 src/common/command.c:631 #, c-format msgid "%s command \"%s\" failed\n" msgstr "%s el comando \"%s\" ha fallado\n" -#: src/common/command.c:583 +#: src/common/command.c:589 #, c-format msgid "%s wrong argument count for IRC command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s nmero de argumentos incorrecto para el comando IRC \"%s\" (esperado: %d " "parmetro%s)\n" -#: src/common/command.c:595 +#: src/common/command.c:601 #, c-format msgid "" "%s wrong argument count for IRC command \"%s\" (expected: between %d and %d " @@ -2823,291 +2740,263 @@ msgstr "" "%s nmero de argumentos incorrecto para el comando IRC \"%s\" (esperado: " "entre %d y %d parmetro%s)\n" -#: src/common/command.c:610 +#: src/common/command.c:616 #, c-format msgid "%s command \"%s\" needs a server connection!\n" msgstr "%s el comando \"%s\" requiere una conexin a servidor!\n" -#: src/common/command.c:674 +#: src/common/command.c:670 #, c-format msgid "%s unknown command \"%s\" (type /help for help)\n" msgstr "%s comando \"%s\" desconocido (escriba /help para la ayuda)\n" -#: src/common/command.c:777 +#: src/common/command.c:770 #, c-format msgid "%s unable to call handler for message (not enough memory)\n" msgstr "" "%s No ha sido posible llamar al manejador para el mensaje (no hay suficiente " "memoria)\n" -#: src/common/command.c:785 +#: src/common/command.c:778 msgid "This window is not a channel!\n" msgstr "Esta ventana no es un canal!\n" -#: src/common/command.c:813 src/common/command.c:837 src/common/command.c:947 +#: src/common/command.c:806 src/common/command.c:830 src/common/command.c:940 #, c-format msgid "%s missing arguments for \"%s\" command\n" msgstr "%s faltan argumentos para el comando \"%s\"\n" -#: src/common/command.c:822 +#: src/common/command.c:815 #, c-format msgid "Alias \"%s\" => \"%s\" created\n" msgstr "Alias \"%s\" => \"%s\" creado\n" -#: src/common/command.c:828 +#: src/common/command.c:821 #, c-format msgid "Failed to create alias \"%s\" => \"%s\" (not enough memory)\n" msgstr "" "No ha sido posible crear el alias \"%s\" => \"%s\" (no hay suficiente " "memoria)\n" -#: src/common/command.c:848 +#: src/common/command.c:841 msgid "List of aliases:\n" msgstr "Lista de alias:\n" -#: src/common/command.c:860 +#: src/common/command.c:853 msgid "No alias defined.\n" msgstr "Ningn alias definido.\n" -#: src/common/command.c:883 +#: src/common/command.c:876 msgid "Channel: " msgstr "Canal: " -#: src/common/command.c:886 src/common/command.c:896 +#: src/common/command.c:879 src/common/command.c:889 msgid " (server: " msgstr " (servidor: " -#: src/common/command.c:893 +#: src/common/command.c:886 msgid "Private with: " msgstr "Privado con: " -#: src/common/command.c:927 +#: src/common/command.c:920 msgid "Opened buffers:\n" msgstr "Bfers abiertos:\n" -#: src/common/command.c:970 +#: src/common/command.c:963 #, c-format msgid "%s incorrect buffer number\n" msgstr "%s nmero de bfer incorrecto\n" -#: src/common/command.c:984 +#: src/common/command.c:977 #, c-format msgid "%s can not close the single buffer\n" msgstr "%s no es posible cerrar el nico bfer\n" -#: src/common/command.c:994 +#: src/common/command.c:987 #, c-format msgid "%s can not close server buffer while channels are opened\n" msgstr "" "%s no se puede cerrar el bfer de servidor mientras haya canales abiertos\n" -#: src/common/command.c:1035 +#: src/common/command.c:1028 msgid "Notify levels: " msgstr "Niveles de notificacin: " -#: src/common/command.c:1063 src/common/command.c:1085 +#: src/common/command.c:1056 src/common/command.c:1078 #, c-format msgid "%s incorrect notify level (must be between %d and %d)\n" msgstr "%s nivel de notificacin incorrecto (debe estar entre %d y %d)\n" -#: src/common/command.c:1072 +#: src/common/command.c:1065 #, c-format msgid "%s incorrect buffer for notify (must be channel or private)\n" msgstr "%s bfer incorrecto para notificar (debe ser canal o privado)\n" -#: src/common/command.c:1152 +#: src/common/command.c:1145 #, c-format msgid "unknown parameter \"%s\" for \"%s\" command\n" msgstr "parmetro desconocido \"%s\" para el comando \"%s\"\n" -#: src/common/command.c:1182 +#: src/common/command.c:1175 #, c-format msgid "%s already connected to server \"%s\"!\n" msgstr "%s ya conectado al servidor \"%s\"!\n" -#: src/common/command.c:1190 +#: src/common/command.c:1183 #, c-format msgid "%s currently connecting to server \"%s\"!\n" msgstr "%s actualmente conectando al servidor \"%s\"!\n" -#: src/common/command.c:1208 src/common/command.c:1283 +#: src/common/command.c:1201 src/common/command.c:1276 #, c-format msgid "%s server not found\n" msgstr "%s servidor no encontrado\n" -#: src/common/command.c:1238 src/common/command.c:1722 -#: src/common/command.c:1865 src/common/command.c:2008 -#: src/common/command.c:2828 src/common/command.c:2844 +#: src/common/command.c:1231 src/common/command.c:1753 +#: src/common/command.c:2572 src/common/command.c:2588 #, c-format msgid "%s unknown option for \"%s\" command\n" msgstr "%s opcin desconocida para el comando \"%s\"\n" -#: src/common/command.c:1267 +#: src/common/command.c:1260 #, c-format msgid "%s not connected to server \"%s\"!\n" msgstr "%s no conectado al servidor \"%s\"!\n" -#: src/common/command.c:1275 +#: src/common/command.c:1268 msgid "Auto-reconnection is cancelled\n" msgstr "La reconexin automtica est anulada\n" -#: src/common/command.c:1301 src/common/weechat.c:346 +#: src/common/command.c:1299 src/common/weechat.c:349 #, c-format msgid "%s internal commands:\n" msgstr "Comandos internos %s :\n" -#: src/common/command.c:1310 src/common/weechat.c:366 +#: src/common/command.c:1308 src/common/weechat.c:369 #, c-format msgid "IRC commands:\n" msgstr "Comandos IRC :\n" -#: src/common/command.c:1377 +#: src/common/command.c:1321 +msgid "Plugin commands:\n" +msgstr "" + +#: src/common/command.c:1425 #, c-format msgid "No help available, \"%s\" is an unknown command\n" msgstr "No hay ayuda disponible, el comando \"%s\" es desconocido\n" -#: src/common/command.c:1398 +#: src/common/command.c:1447 msgid " ignoring " msgstr "" -#: src/common/command.c:1422 +#: src/common/command.c:1471 msgid "List of ignore:\n" msgstr "" -#: src/common/command.c:1437 +#: src/common/command.c:1486 msgid "No ignore defined.\n" msgstr "" -#: src/common/command.c:1463 +#: src/common/command.c:1512 msgid "New ignore:" msgstr "" -#: src/common/command.c:1482 +#: src/common/command.c:1531 msgid "New key binding:\n" msgstr "Nuevo anclaje de clave:\n" -#: src/common/command.c:1515 +#: src/common/command.c:1564 msgid "Key bindings:\n" msgstr "Anclajes de clave:\n" -#: src/common/command.c:1527 +#: src/common/command.c:1576 #, c-format msgid "Key \"%s\" unbinded\n" msgstr "Clave \"%s\" desatada\n" -#: src/common/command.c:1532 +#: src/common/command.c:1581 #, c-format msgid "%s unable to unbind key \"%s\"\n" msgstr "%s No ha sido posible desatar la clave \"%s\"\n" -#: src/common/command.c:1540 src/common/weechat.c:397 +#: src/common/command.c:1589 src/common/weechat.c:400 #, c-format msgid "Internal key functions:\n" msgstr "Funciones de clave internas:\n" -#: src/common/command.c:1559 +#: src/common/command.c:1608 msgid "Default key bindings restored\n" msgstr "Anclajes de clave por defecto restaurados\n" -#: src/common/command.c:1565 +#: src/common/command.c:1614 #, c-format msgid "%s \"-yes\" argument is required for keys reset (securuty reason)\n" msgstr "" "%s \"-yes\" se requiere argumento para resetear las claves (por razones de " "seguridad)\n" -#: src/common/command.c:1621 src/common/command.c:1764 -#: src/common/command.c:1907 -#, c-format -msgid "Registered %s scripts:\n" -msgstr "%s scripts registrados:\n" - -#: src/common/command.c:1638 src/common/command.c:1661 -#: src/common/command.c:1684 src/common/command.c:1781 -#: src/common/command.c:1804 src/common/command.c:1827 -#: src/common/command.c:1924 src/common/command.c:1947 -#: src/common/command.c:1970 -msgid " (none)\n" -msgstr " (ninguno)\n" +#: src/common/command.c:1670 +msgid "Plugins loaded:\n" +msgstr "" -#: src/common/command.c:1643 src/common/command.c:1786 -#: src/common/command.c:1929 -#, c-format -msgid "%s message handlers:\n" -msgstr "Funciones %s para mensajes:\n" +#: src/common/command.c:1684 +msgid " message handlers:\n" +msgstr "" -#: src/common/command.c:1652 src/common/command.c:1795 -#: src/common/command.c:1938 +#: src/common/command.c:1690 #, c-format -msgid " IRC(%s) => %s(%s)\n" -msgstr " IRC(%s) => %s(%s)\n" +msgid " IRC(%s)\n" +msgstr "" -#: src/common/command.c:1666 src/common/command.c:1809 -#: src/common/command.c:1952 -#, c-format -msgid "%s command handlers:\n" -msgstr "Comandos %s :\n" +#: src/common/command.c:1696 +msgid " (no message handler)\n" +msgstr "" -#: src/common/command.c:1675 src/common/command.c:1818 -#: src/common/command.c:1961 -#, c-format -msgid " Command /%s => %s(%s)\n" -msgstr " Comando /%s => %s(%s)\n" +#: src/common/command.c:1701 +msgid " command handlers:\n" +msgstr "" -#: src/common/command.c:1735 -msgid "" -"WeeChat was build without Perl support.\n" -"Please rebuild WeeChat with \"--enable-perl\" option for ./configure script\n" +#: src/common/command.c:1718 +msgid " (no command handler)\n" msgstr "" -"WeeChat ha sido compilado sin soporte para Perl.\n" -"Por favor, recompile WeeChat con la opcin \"--enable-perl\" para el " -"script ./configure\n" -#: src/common/command.c:1878 -msgid "" -"WeeChat was build without Python support.\n" -"Please rebuild WeeChat with \"--enable-python\" option for ./configure " -"script\n" +#: src/common/command.c:1724 +msgid " (no plugin)\n" msgstr "" -"WeeChat ha sido compilado sin soporte para Python.\n" -"Por favor, recompile WeeChat con la opcin \"--enable-python\" para el " -"script ./configure\n" -#: src/common/command.c:2021 +#: src/common/command.c:1766 msgid "" -"WeeChat was build without Ruby support.\n" -"Please rebuild WeeChat with \"--enable-ruby\" option for ./configure script\n" +"Command \"plugin\" is not available, WeeChat was built without plugins " +"support.\n" msgstr "" -"WeeChat ha sido compilado sin soporte para Ruby.\n" -"Por favor, recompile WeeChat con la opcin \"--enable-ruby\" para el " -"script ./configure\n" -#: src/common/command.c:2069 +#: src/common/command.c:1813 msgid "No server.\n" msgstr "Ningn servidor.\n" -#: src/common/command.c:2080 +#: src/common/command.c:1824 #, c-format msgid "Server '%s' not found.\n" msgstr "Servidor '%s' no encontrado.\n" -#: src/common/command.c:2092 +#: src/common/command.c:1836 #, c-format msgid "%s missing servername for \"%s\" command\n" msgstr "%s falta el nombre de servidor para el comando \"%s\"\n" -#: src/common/command.c:2100 +#: src/common/command.c:1844 #, c-format msgid "%s too much arguments for \"%s\" command, ignoring arguments\n" msgstr "" "%s demasiados argumentos para el comando \"%s\", ignorando parmetros\n" -#: src/common/command.c:2119 +#: src/common/command.c:1863 #, c-format msgid "%s server \"%s\" not found for \"%s\" command\n" msgstr "%s servidor \"%s\" no encontrado para el comando \"%s\"\n" -#: src/common/command.c:2127 +#: src/common/command.c:1871 #, c-format msgid "" "%s you can not delete server \"%s\" because you are connected to. Try /" @@ -3116,174 +3005,174 @@ msgstr "" "%s usted no puede eliminar el servidor \"%s\" ya que est usted conectado a " "l. Pruebe /disconnect %s antes.\n" -#: src/common/command.c:2143 src/common/command.c:2289 +#: src/common/command.c:1887 src/common/command.c:2033 msgid "Server" msgstr "Servidor" -#: src/common/command.c:2146 +#: src/common/command.c:1890 msgid "has been deleted\n" msgstr "ha sido eliminado\n" -#: src/common/command.c:2161 +#: src/common/command.c:1905 #, c-format msgid "%s missing parameters for \"%s\" command\n" msgstr "%s faltan parmetros para el comando \"%s\"\n" -#: src/common/command.c:2171 +#: src/common/command.c:1915 #, c-format msgid "%s server \"%s\" already exists, can't create it!\n" msgstr "%s el servidor \"%s\" ya existe, no se puede crear!\n" -#: src/common/command.c:2200 src/common/command.c:2228 -#: src/common/command.c:2241 src/common/command.c:2267 +#: src/common/command.c:1944 src/common/command.c:1972 +#: src/common/command.c:1985 src/common/command.c:2011 #, c-format msgid "%s missing password for \"%s\" parameter\n" msgstr "%s falta contrasea para el comando \"%s\"\n" -#: src/common/command.c:2213 +#: src/common/command.c:1957 #, c-format msgid "%s missing nick(s) for \"%s\" parameter\n" msgstr "%s falta(n) usuario(s) para el parmetro \"%s\"\n" -#: src/common/command.c:2254 +#: src/common/command.c:1998 #, c-format msgid "%s missing command for \"%s\" parameter\n" msgstr "%s falta comando para el parmetro \"%s\"\n" -#: src/common/command.c:2292 +#: src/common/command.c:2036 msgid "created\n" msgstr "creado\n" -#: src/common/command.c:2298 +#: src/common/command.c:2042 #, c-format msgid "%s unable to create server\n" msgstr "%s no es posible crear el servidor\n" -#: src/common/command.c:2353 +#: src/common/command.c:2097 msgid "(unknown)" msgstr "(desconocido)" -#: src/common/command.c:2376 +#: src/common/command.c:2120 msgid "(password hidden) " msgstr "(contrasea oculta) " -#: src/common/command.c:2440 +#: src/common/command.c:2184 #, c-format msgid "%s server \"%s\" not found\n" msgstr "%s servidor \"%s\" no encontrado\n" -#: src/common/command.c:2471 src/common/command.c:2517 +#: src/common/command.c:2215 src/common/command.c:2261 #, c-format msgid "%s config option \"%s\" not found\n" msgstr "%s opcin de configuracin \"%s\" no encontrada\n" -#: src/common/command.c:2476 src/common/command.c:2509 +#: src/common/command.c:2220 src/common/command.c:2253 #, c-format msgid "%s incorrect value for option \"%s\"\n" msgstr "%s valor incorrecto para la opcin \"%s\"\n" -#: src/common/command.c:2492 +#: src/common/command.c:2236 #, c-format msgid "%s option \"%s\" can not be changed while WeeChat is running\n" msgstr "" "%s la opcin \"%s\" no puede ser modificada mientras WeeChat est en " "ejecucin\n" -#: src/common/command.c:2597 +#: src/common/command.c:2341 #, c-format msgid "No config option found with \"%s\"\n" msgstr "Ninguna opcin de configuracin encontrada con \"%s\"\n" -#: src/common/command.c:2600 +#: src/common/command.c:2344 msgid "No config option found\n" msgstr "Ninguna opcin de configuracin encontrada\n" -#: src/common/command.c:2607 +#: src/common/command.c:2351 msgid "Detail:\n" msgstr "" -#: src/common/command.c:2611 src/common/weechat.c:283 +#: src/common/command.c:2355 src/common/weechat.c:286 #, c-format msgid " . type boolean (values: 'on' or 'off')\n" msgstr " . tipo booleano (valores: 'on' u 'off')\n" -#: src/common/command.c:2612 src/common/command.c:2635 -#: src/common/command.c:2641 src/common/command.c:2647 -#: src/common/weechat.c:284 src/common/weechat.c:307 src/common/weechat.c:313 -#: src/common/weechat.c:319 +#: src/common/command.c:2356 src/common/command.c:2379 +#: src/common/command.c:2385 src/common/command.c:2391 +#: src/common/weechat.c:287 src/common/weechat.c:310 src/common/weechat.c:316 +#: src/common/weechat.c:322 #, c-format msgid " . default value: '%s'\n" msgstr " . valor por defecto: '%s'\n" -#: src/common/command.c:2617 src/common/weechat.c:289 +#: src/common/command.c:2361 src/common/weechat.c:292 #, c-format msgid " . type integer (values: between %d and %d)\n" msgstr " . tipo entero (valores: entre %d y %d)\n" -#: src/common/command.c:2620 src/common/weechat.c:292 +#: src/common/command.c:2364 src/common/weechat.c:295 #, c-format msgid " . default value: %d\n" msgstr " . valor por defecto: %d\n" -#: src/common/command.c:2624 src/common/weechat.c:296 +#: src/common/command.c:2368 src/common/weechat.c:299 #, c-format msgid " . type string (values: " msgstr " . tipo cadena (valores: " -#: src/common/command.c:2637 src/common/command.c:2643 -#: src/common/command.c:2649 src/common/weechat.c:309 src/common/weechat.c:315 -#: src/common/weechat.c:321 +#: src/common/command.c:2381 src/common/command.c:2387 +#: src/common/command.c:2393 src/common/weechat.c:312 src/common/weechat.c:318 +#: src/common/weechat.c:324 msgid "empty" msgstr "vaco" -#: src/common/command.c:2640 src/common/weechat.c:312 +#: src/common/command.c:2384 src/common/weechat.c:315 #, c-format msgid " . type color (Curses or Gtk color, look at WeeChat doc)\n" msgstr " . tipo color (color Curses Gtk, ver la documentacin de WeeChat)\n" -#: src/common/command.c:2646 src/common/weechat.c:318 +#: src/common/command.c:2390 src/common/weechat.c:321 #, c-format msgid " . type string (any string)\n" msgstr " . tipo cadena (cualquier cadena)\n" -#: src/common/command.c:2652 src/common/weechat.c:324 +#: src/common/command.c:2396 src/common/weechat.c:327 #, c-format msgid " . description: %s\n" msgstr " . descripcin: %s\n" -#: src/common/command.c:2659 +#: src/common/command.c:2403 #, c-format msgid "config option(s) found with \"%s\"\n" msgstr "opcin/opciones de configuracin encontrada(s) con \"%s\"\n" -#: src/common/command.c:2662 +#: src/common/command.c:2406 msgid "config option(s) found\n" msgstr "opcin/opciones de configuracin encontrada(s)\n" -#: src/common/command.c:2683 +#: src/common/command.c:2427 #, c-format msgid "%s alias or command \"%s\" not found\n" msgstr "%s alias o comando \"%s\" no encontrado\n" -#: src/common/command.c:2693 +#: src/common/command.c:2437 #, c-format msgid "Alias \"%s\" removed\n" msgstr "Alias \"%s\" eliminado\n" -#: src/common/command.c:2746 +#: src/common/command.c:2490 msgid "ignore were removed.\n" msgstr "" -#: src/common/command.c:2748 +#: src/common/command.c:2492 msgid "ignore was removed.\n" msgstr "" -#: src/common/command.c:2753 +#: src/common/command.c:2497 #, c-format msgid "%s no ignore found\n" msgstr "" -#: src/common/command.c:2776 +#: src/common/command.c:2520 msgid "Opened windows:\n" msgstr "Ventanas abiertas:\n" @@ -3348,7 +3237,7 @@ msgstr "**** Comienzo del log (registro) " msgid "**** End of log " msgstr "**** Fin del log " -#: src/common/weechat.c:270 +#: src/common/weechat.c:273 #, c-format msgid "" "WeeChat configuration options (~/.weechat/weechat.rc):\n" @@ -3357,7 +3246,7 @@ msgstr "" "Opciones de configuracin de WeeChat (~/.weechat/weechat.rc):\n" "\n" -#: src/common/weechat.c:331 +#: src/common/weechat.c:334 #, c-format msgid "" "Moreover, you can define aliases in [alias] section, by adding lines like:\n" @@ -3365,7 +3254,7 @@ msgstr "" "Adems, usted puede definir alias en la seccin [alias], aadiendo lneas " "como:\n" -#: src/common/weechat.c:333 +#: src/common/weechat.c:336 #, c-format msgid "" "where 'j' is alias name, and 'join' associated command.\n" @@ -3374,62 +3263,62 @@ msgstr "" "donde 'j' es el nombre del alias, y 'join' el comando asociado.\n" "\n" -#: src/common/weechat.c:418 +#: src/common/weechat.c:421 #, c-format msgid "%s default keys:\n" msgstr "%s claves por defecto:\n" -#: src/common/weechat.c:498 +#: src/common/weechat.c:501 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s sintaxis invlida para el servidor IRC ('%s'), ignorado\n" -#: src/common/weechat.c:511 +#: src/common/weechat.c:514 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s no es posible crear el servidor ('%s'), ignorado\n" -#: src/common/weechat.c:520 +#: src/common/weechat.c:523 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s parmetro desconocido '%s', ignorado\n" -#: src/common/weechat.c:540 +#: src/common/weechat.c:543 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s no es posible crear el directorio \"%s\"\n" -#: src/common/weechat.c:566 +#: src/common/weechat.c:569 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s no ha sido posible leer el directorio HOME\n" -#: src/common/weechat.c:575 +#: src/common/weechat.c:578 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s no hay suficiente memoria para el directorio home\n" -#: src/common/weechat.c:585 +#: src/common/weechat.c:588 #, c-format msgid "%s unable to create ~/.weechat directory\n" msgstr "%s no es posible crear el directorio ~/.weechat\n" -#: src/common/weechat.c:637 +#: src/common/weechat.c:601 #, c-format msgid "%s unable to create ~/.weechat/logs directory\n" msgstr "%s no es posible crear el directorio ~/.weechat/logs\n" -#: src/common/weechat.c:680 +#: src/common/weechat.c:644 #, c-format msgid "%s unable to create/append to log file (~/.weechat/%s)" msgstr "%s no es posible crear/aadir en el fichero de log (~/.weechat/%s)" -#: src/common/weechat.c:703 +#: src/common/weechat.c:667 #, c-format msgid "%sWelcome to " msgstr "%sBienvenido a " -#: src/common/weechat.c:716 src/common/weechat.c:725 +#: src/common/weechat.c:680 src/common/weechat.c:689 msgid "compiled on" msgstr "compilado en" @@ -3441,33 +3330,33 @@ msgstr "Error WeeChat:" msgid "WeeChat Warning:" msgstr "Advertencia WeeChat:" -#: src/common/weeconfig.c:95 src/common/weeconfig.c:96 +#: src/common/weeconfig.c:96 src/common/weeconfig.c:97 msgid "set title for window (terminal for Curses GUI) with name & version" msgstr "" "define el ttulo de la ventana (el terminal para la interfaz Curses) con el " "nombre y la versin" -#: src/common/weeconfig.c:99 src/common/weeconfig.c:100 +#: src/common/weeconfig.c:100 src/common/weeconfig.c:101 msgid "display WeeChat logo at startup" msgstr "mostrar el logotipo de WeeChat en el arranque" -#: src/common/weeconfig.c:103 src/common/weeconfig.c:104 +#: src/common/weeconfig.c:104 src/common/weeconfig.c:105 msgid "display WeeChat version at startup" msgstr "mostrar la versin de Weechat en el arranque" -#: src/common/weeconfig.c:107 +#: src/common/weeconfig.c:108 msgid "WeeChat slogan" msgstr "eslgan de WeeChat" -#: src/common/weeconfig.c:108 +#: src/common/weeconfig.c:109 msgid "WeeChat slogan (if empty, slogan is not used)" msgstr "eslgan de WeeChat (si est vaco, el eslgan no ser utilizado)" -#: src/common/weeconfig.c:111 +#: src/common/weeconfig.c:112 msgid "charset for decoding messages from server" msgstr "juego de caracteres para decodificar los mensajes del servidor" -#: src/common/weeconfig.c:112 +#: src/common/weeconfig.c:113 msgid "" "charset for decoding messages from server, examples: UTF-8, ISO-8859-1 (if " "empty, messages are not converted)" @@ -3475,11 +3364,11 @@ msgstr "" "juego de caracteres para decodificar los mensajes del servidor, ejemplos: " "UTF-8, ISO-8859-1 (si no se especifica, los mensajes no son convertidos)" -#: src/common/weeconfig.c:115 +#: src/common/weeconfig.c:116 msgid "charset for encoding messages sent to server" msgstr "juego de caracteres para codificar los mensajes enviados al servidor" -#: src/common/weeconfig.c:116 +#: src/common/weeconfig.c:117 msgid "" "charset for encoding messages sent to server, examples: UFT-8, ISO-8859-1 " "(if empty, local charset is used)" @@ -3488,11 +3377,11 @@ msgstr "" "ejemplos: UFT-8, ISO-8859-1 (si no se especifica, se utiliza el juego de " "caracteres local)" -#: src/common/weeconfig.c:119 +#: src/common/weeconfig.c:120 msgid "internal WeeChat charset (should be ISO)" msgstr "juego de caracteres interno de WeeChat (debera ser ISO)" -#: src/common/weeconfig.c:120 +#: src/common/weeconfig.c:121 msgid "" "internal WeeChat charset, should be ISO-xxxx even if locale is UTF-8 (if " "empty, local charset is used)" @@ -3501,49 +3390,49 @@ msgstr "" "locale sea UTF-8 (si no se especifica, se utiliza el juego de caracteres " "local)" -#: src/common/weeconfig.c:123 src/common/weeconfig.c:124 +#: src/common/weeconfig.c:124 src/common/weeconfig.c:125 msgid "timestamp for buffers" msgstr "fecha y hora para las bfers" -#: src/common/weeconfig.c:127 src/common/weeconfig.c:128 +#: src/common/weeconfig.c:128 src/common/weeconfig.c:129 msgid "display nick names with different colors" msgstr "mostrar nombres de usuario con colores diferentes" -#: src/common/weeconfig.c:131 src/common/weeconfig.c:132 +#: src/common/weeconfig.c:132 src/common/weeconfig.c:133 msgid "number of colors to use for nicks colors" msgstr "" -#: src/common/weeconfig.c:135 src/common/weeconfig.c:136 +#: src/common/weeconfig.c:136 src/common/weeconfig.c:137 msgid "display actions with different colors" msgstr "mostrar acciones con colores diferentes" -#: src/common/weeconfig.c:139 src/common/weeconfig.c:140 +#: src/common/weeconfig.c:140 src/common/weeconfig.c:141 msgid "remove colors from incoming messages" msgstr "quitar colores en los mensajes entrantes" -#: src/common/weeconfig.c:143 +#: src/common/weeconfig.c:144 msgid "display nicklist window" msgstr "mostrar ventana de usuarios" -#: src/common/weeconfig.c:144 +#: src/common/weeconfig.c:145 msgid "display nicklist window (for channel windows)" msgstr "mostrar ventana de usuarios (para las ventanas de canal)" -#: src/common/weeconfig.c:147 +#: src/common/weeconfig.c:148 msgid "nicklist position" msgstr "posicin de la ventana de usuarios" -#: src/common/weeconfig.c:148 +#: src/common/weeconfig.c:149 msgid "nicklist position (top, left, right (default), bottom)" msgstr "" "posicin de la ventana de usuarios (arriba (top), izquierda (left), derecha " "(right, por defecto), abajo (bottom))" -#: src/common/weeconfig.c:151 +#: src/common/weeconfig.c:152 msgid "min size for nicklist" msgstr "tamao mnimo para la ventana de usuarios" -#: src/common/weeconfig.c:152 +#: src/common/weeconfig.c:153 msgid "" "min size for nicklist (width or height, depending on look_nicklist_position " "(0 = no min size))" @@ -3551,11 +3440,11 @@ msgstr "" "tamao mnimo para la ventana de usuarios (ancho o alto, dependiendo de " "look_nicklist_position (0 = sin tamao mnimo))" -#: src/common/weeconfig.c:156 +#: src/common/weeconfig.c:157 msgid "max size for nicklist" msgstr "tamao mximo para la ventana de usuarios" -#: src/common/weeconfig.c:157 +#: src/common/weeconfig.c:158 msgid "" "max size for nicklist (width or height, depending on look_nicklist_position " "(0 = no max size; if min == max and > 0, then size is fixed))" @@ -3564,41 +3453,41 @@ msgstr "" "look_nicklist_position (0 = sin tamao mximo, si min == max y > 0, entonces " "se fija el tamao))" -#: src/common/weeconfig.c:161 src/common/weeconfig.c:162 +#: src/common/weeconfig.c:162 src/common/weeconfig.c:163 msgid "text to display instead of nick when not connected" msgstr "texto a mostrar en lugar del nick cuando no se est conectado" -#: src/common/weeconfig.c:165 src/common/weeconfig.c:166 +#: src/common/weeconfig.c:166 src/common/weeconfig.c:167 msgid "display nick mode ((half)op/voice) before each nick" msgstr "mostrar modo del usuario ((half)op/voice) antes de cada usuario" -#: src/common/weeconfig.c:169 src/common/weeconfig.c:170 +#: src/common/weeconfig.c:170 src/common/weeconfig.c:171 msgid "display space if nick mode is not (half)op/voice" msgstr "mostrar un espacio si el modo de usuario no es (half)op/voice" -#: src/common/weeconfig.c:173 src/common/weeconfig.c:174 +#: src/common/weeconfig.c:174 src/common/weeconfig.c:175 msgid "the string inserted after nick completion" msgstr "la cadena mostrada tras la finalizacin de los nombres de usuario" -#: src/common/weeconfig.c:177 src/common/weeconfig.c:178 +#: src/common/weeconfig.c:178 src/common/weeconfig.c:179 msgid "enable info bar" msgstr "activa la barra de informacin" -#: src/common/weeconfig.c:181 src/common/weeconfig.c:182 +#: src/common/weeconfig.c:182 src/common/weeconfig.c:183 msgid "timestamp for time in infobar" msgstr "fecha y hora para las conversaciones guardadas" -#: src/common/weeconfig.c:185 src/common/weeconfig.c:186 +#: src/common/weeconfig.c:186 src/common/weeconfig.c:187 msgid "display seconds in infobar time" msgstr "mostrar segundos en la hora de la barra de herramientas" -#: src/common/weeconfig.c:189 +#: src/common/weeconfig.c:190 msgid "delay (in seconds) for highlight messages in infobar" msgstr "" "retraso (en segundos) para la notificacin de mensajes en la barra de " "informacin" -#: src/common/weeconfig.c:190 +#: src/common/weeconfig.c:191 msgid "" "delay (in seconds) for highlight messages in infobar (0 = disable highlight " "notifications in infobar)" @@ -3606,328 +3495,328 @@ msgstr "" "retraso (en segundos) para la notificacin de mensajes en la barra de " "informacin (0 = desactivar las notificaciones en la barra de informacin)" -#: src/common/weeconfig.c:194 +#: src/common/weeconfig.c:195 msgid "max number of names in hotlist" msgstr "" -#: src/common/weeconfig.c:195 +#: src/common/weeconfig.c:196 msgid "" "max number of names in hotlist (0 = no name displayed, only buffer numbers)" msgstr "" -#: src/common/weeconfig.c:198 +#: src/common/weeconfig.c:199 msgid "level for displaying names in hotlist" msgstr "" -#: src/common/weeconfig.c:199 +#: src/common/weeconfig.c:200 msgid "" "level for displaying names in hotlist (combination of: 1=join/part, " "2=message, 4=private, 8=highlight, for example: 12=private+highlight)" msgstr "" -#: src/common/weeconfig.c:203 +#: src/common/weeconfig.c:204 msgid "max length of names in hotlist" msgstr "" -#: src/common/weeconfig.c:204 +#: src/common/weeconfig.c:205 msgid "max length of names in hotlist (0 = no limit)" msgstr "" -#: src/common/weeconfig.c:268 src/common/weeconfig.c:269 +#: src/common/weeconfig.c:269 src/common/weeconfig.c:270 msgid "color for title bar" msgstr "color para la barra de ttulo" -#: src/common/weeconfig.c:272 src/common/weeconfig.c:273 +#: src/common/weeconfig.c:273 src/common/weeconfig.c:274 msgid "background for title bar" msgstr "color de fondo para la barra de ttulo" -#: src/common/weeconfig.c:278 src/common/weeconfig.c:279 +#: src/common/weeconfig.c:279 src/common/weeconfig.c:280 msgid "color for chat text" msgstr "color para el texto de conversacin" -#: src/common/weeconfig.c:282 +#: src/common/weeconfig.c:283 msgid "color for time" msgstr "color para la hora" -#: src/common/weeconfig.c:283 +#: src/common/weeconfig.c:284 msgid "color for time in chat window" msgstr "color para la hora en la ventana de conversacin" -#: src/common/weeconfig.c:286 +#: src/common/weeconfig.c:287 msgid "color for time separator" msgstr "color para el separador de la hora" -#: src/common/weeconfig.c:287 +#: src/common/weeconfig.c:288 msgid "color for time separator (chat window)" msgstr "color para el separador de la hora (ventana de conversacin)" -#: src/common/weeconfig.c:290 src/common/weeconfig.c:291 +#: src/common/weeconfig.c:291 src/common/weeconfig.c:292 msgid "color for 1st and 3rd char of prefix" msgstr "color para el primer o tercer carcter de prefijo" -#: src/common/weeconfig.c:294 src/common/weeconfig.c:295 +#: src/common/weeconfig.c:295 src/common/weeconfig.c:296 msgid "color for middle char of prefix" msgstr "color para el carcter de en medio del prefijo" -#: src/common/weeconfig.c:298 src/common/weeconfig.c:299 +#: src/common/weeconfig.c:299 src/common/weeconfig.c:300 msgid "color for join arrow (prefix)" msgstr "" -#: src/common/weeconfig.c:302 src/common/weeconfig.c:303 +#: src/common/weeconfig.c:303 src/common/weeconfig.c:304 msgid "color for part/quit arrow (prefix)" msgstr "" -#: src/common/weeconfig.c:306 +#: src/common/weeconfig.c:307 msgid "color for nicks in actions" msgstr "color para los nombres de usuario en las acciones" -#: src/common/weeconfig.c:307 +#: src/common/weeconfig.c:308 msgid "color for nicks in actions (chat window)" msgstr "" "color para los nombres de usuario en las acciones (ventana de conversacin)" -#: src/common/weeconfig.c:310 +#: src/common/weeconfig.c:311 msgid "color for hostnames" msgstr "color para los nombres de mquina" -#: src/common/weeconfig.c:311 +#: src/common/weeconfig.c:312 msgid "color for hostnames (chat window)" msgstr "color para los nombres de mquina (ventana de conversacin)" -#: src/common/weeconfig.c:314 +#: src/common/weeconfig.c:315 msgid "color for channel names in actions" msgstr "color para los nombres de canal en las acciones" -#: src/common/weeconfig.c:315 +#: src/common/weeconfig.c:316 msgid "color for channel names in actions (chat window)" msgstr "" "color para los nombres de canal en las acciones (ventana de conversacin)" -#: src/common/weeconfig.c:318 +#: src/common/weeconfig.c:319 msgid "color for dark separators" msgstr "color para los separadores oscuros" -#: src/common/weeconfig.c:319 +#: src/common/weeconfig.c:320 msgid "color for dark separators (chat window)" msgstr "color para los separadores oscuros (ventana de conversacin)" -#: src/common/weeconfig.c:322 +#: src/common/weeconfig.c:323 msgid "color for highlighted nick" msgstr "color para el alias subrayado" -#: src/common/weeconfig.c:323 +#: src/common/weeconfig.c:324 msgid "color for highlighted nick (chat window)" msgstr "color para el alias subrayado (ventana de conversacin)" -#: src/common/weeconfig.c:326 +#: src/common/weeconfig.c:327 msgid "background for chat" msgstr "color de fondo para la conversacin" -#: src/common/weeconfig.c:327 +#: src/common/weeconfig.c:328 msgid "background for chat window" msgstr "color de fondo para la ventana de conversacin" -#: src/common/weeconfig.c:332 src/common/weeconfig.c:333 +#: src/common/weeconfig.c:333 src/common/weeconfig.c:334 msgid "color for status bar" msgstr "color para la barra de estado" -#: src/common/weeconfig.c:336 src/common/weeconfig.c:337 +#: src/common/weeconfig.c:337 src/common/weeconfig.c:338 msgid "color for status bar delimiters" msgstr "color para los delimitadores de la barra de estado" -#: src/common/weeconfig.c:340 src/common/weeconfig.c:341 +#: src/common/weeconfig.c:341 src/common/weeconfig.c:342 msgid "color for current channel in status bar" msgstr "" -#: src/common/weeconfig.c:344 +#: src/common/weeconfig.c:345 msgid "color for window with new messages" msgstr "color para una ventana con mensajes nuevos" -#: src/common/weeconfig.c:345 +#: src/common/weeconfig.c:346 msgid "color for window with new messages (status bar)" msgstr "color para una ventana con mensajes nuevos (barra de estado)" -#: src/common/weeconfig.c:348 +#: src/common/weeconfig.c:349 msgid "color for window with private message" msgstr "" -#: src/common/weeconfig.c:349 +#: src/common/weeconfig.c:350 msgid "color for window with private message (status bar)" msgstr "" -#: src/common/weeconfig.c:352 +#: src/common/weeconfig.c:353 msgid "color for window with highlight" msgstr "color para una ventana con resaltado" -#: src/common/weeconfig.c:353 +#: src/common/weeconfig.c:354 msgid "color for window with highlight (status bar)" msgstr "color para una ventana con resaltado (barra de estado)" -#: src/common/weeconfig.c:356 +#: src/common/weeconfig.c:357 msgid "color for window with new data (not messages)" msgstr "color para una ventana con nuevos datos (no mensajes)" -#: src/common/weeconfig.c:357 +#: src/common/weeconfig.c:358 msgid "color for window with new data (not messages) (status bar)" msgstr "" "color para una ventana con nuevos datos (no mensajes) (barra de estado)" -#: src/common/weeconfig.c:360 +#: src/common/weeconfig.c:361 msgid "color for \"-MORE-\" text" msgstr "color para el texto \"-MS-\"" -#: src/common/weeconfig.c:361 +#: src/common/weeconfig.c:362 msgid "color for window with new data (status bar)" msgstr "color para una ventana con nuevos datos (barra de estado)" -#: src/common/weeconfig.c:364 src/common/weeconfig.c:365 +#: src/common/weeconfig.c:365 src/common/weeconfig.c:366 msgid "background for status window" msgstr "color de fondo para la ventana de estado" -#: src/common/weeconfig.c:370 src/common/weeconfig.c:371 +#: src/common/weeconfig.c:371 src/common/weeconfig.c:372 msgid "color for info bar text" msgstr "color para el texto de la barra de informacin" -#: src/common/weeconfig.c:374 src/common/weeconfig.c:375 +#: src/common/weeconfig.c:375 src/common/weeconfig.c:376 msgid "color for infobar delimiters" msgstr "color para los delimitadores de la barra de informacin" -#: src/common/weeconfig.c:378 src/common/weeconfig.c:379 +#: src/common/weeconfig.c:379 src/common/weeconfig.c:380 msgid "color for info bar highlight notification" msgstr "color para la notificacin en la barra de informacin" -#: src/common/weeconfig.c:382 src/common/weeconfig.c:383 +#: src/common/weeconfig.c:383 src/common/weeconfig.c:384 msgid "background for info bar window" msgstr "color de fondo para la ventana de la barra de informacin" -#: src/common/weeconfig.c:388 src/common/weeconfig.c:389 +#: src/common/weeconfig.c:389 src/common/weeconfig.c:390 msgid "color for input text" msgstr "color para el texto de entrada" -#: src/common/weeconfig.c:392 src/common/weeconfig.c:393 +#: src/common/weeconfig.c:393 src/common/weeconfig.c:394 msgid "color for input text (channel name)" msgstr "color para el texto de entrada (nombre de canal)" -#: src/common/weeconfig.c:396 src/common/weeconfig.c:397 +#: src/common/weeconfig.c:397 src/common/weeconfig.c:398 msgid "color for input text (nick name)" msgstr "color para el texto de entrada (alias)" -#: src/common/weeconfig.c:400 src/common/weeconfig.c:401 +#: src/common/weeconfig.c:401 src/common/weeconfig.c:402 msgid "color for input text (delimiters)" msgstr "" -#: src/common/weeconfig.c:404 src/common/weeconfig.c:405 +#: src/common/weeconfig.c:405 src/common/weeconfig.c:406 msgid "background for input window" msgstr "color de fondo para la ventana de entrada" -#: src/common/weeconfig.c:410 src/common/weeconfig.c:411 +#: src/common/weeconfig.c:411 src/common/weeconfig.c:412 msgid "color for nicknames" msgstr "color para los nombres de usuario" -#: src/common/weeconfig.c:414 src/common/weeconfig.c:415 +#: src/common/weeconfig.c:415 src/common/weeconfig.c:416 msgid "color for away nicknames" msgstr "color para los usuarios ausentes" -#: src/common/weeconfig.c:418 +#: src/common/weeconfig.c:419 msgid "color for chan owner symbol" msgstr "color para el smbolo de propietario de canal" -#: src/common/weeconfig.c:419 +#: src/common/weeconfig.c:420 msgid "color for chan owner symbol (specific to unrealircd)" msgstr "" "color para el smbolo de propietario de canal (especificado en unrealircd)" -#: src/common/weeconfig.c:422 +#: src/common/weeconfig.c:423 msgid "color for chan admin symbol" msgstr "color para el smbolo de administrador de canal" -#: src/common/weeconfig.c:423 +#: src/common/weeconfig.c:424 msgid "color for chan admin symbol (specific to unrealircd)" msgstr "" "color para el smbolo de administrador de canal (especificado en unrealircd)" -#: src/common/weeconfig.c:426 src/common/weeconfig.c:427 +#: src/common/weeconfig.c:427 src/common/weeconfig.c:428 msgid "color for operator symbol" msgstr "color para el smbolo de operador" -#: src/common/weeconfig.c:430 src/common/weeconfig.c:431 +#: src/common/weeconfig.c:431 src/common/weeconfig.c:432 msgid "color for half-operator symbol" msgstr "color para el smbolo de semi-operador" -#: src/common/weeconfig.c:434 src/common/weeconfig.c:435 +#: src/common/weeconfig.c:435 src/common/weeconfig.c:436 msgid "color for voice symbol" msgstr "color para el smbolo de voz" -#: src/common/weeconfig.c:438 src/common/weeconfig.c:439 +#: src/common/weeconfig.c:439 src/common/weeconfig.c:440 msgid "color for '+' when scrolling nicks" msgstr "color para '+' al desplazar nicks" -#: src/common/weeconfig.c:442 src/common/weeconfig.c:443 +#: src/common/weeconfig.c:443 src/common/weeconfig.c:444 msgid "color for nick separator" msgstr "color para el separador de alias" -#: src/common/weeconfig.c:446 src/common/weeconfig.c:447 +#: src/common/weeconfig.c:447 src/common/weeconfig.c:448 msgid "color for local nick" msgstr "color para el alias local" -#: src/common/weeconfig.c:450 src/common/weeconfig.c:451 -#: src/common/weeconfig.c:454 src/common/weeconfig.c:455 -#: src/common/weeconfig.c:458 src/common/weeconfig.c:459 -#: src/common/weeconfig.c:462 src/common/weeconfig.c:463 -#: src/common/weeconfig.c:466 src/common/weeconfig.c:467 -#: src/common/weeconfig.c:470 src/common/weeconfig.c:471 -#: src/common/weeconfig.c:474 src/common/weeconfig.c:475 -#: src/common/weeconfig.c:478 src/common/weeconfig.c:479 -#: src/common/weeconfig.c:482 src/common/weeconfig.c:483 -#: src/common/weeconfig.c:486 src/common/weeconfig.c:487 +#: src/common/weeconfig.c:451 src/common/weeconfig.c:452 +#: src/common/weeconfig.c:455 src/common/weeconfig.c:456 +#: src/common/weeconfig.c:459 src/common/weeconfig.c:460 +#: src/common/weeconfig.c:463 src/common/weeconfig.c:464 +#: src/common/weeconfig.c:467 src/common/weeconfig.c:468 +#: src/common/weeconfig.c:471 src/common/weeconfig.c:472 +#: src/common/weeconfig.c:475 src/common/weeconfig.c:476 +#: src/common/weeconfig.c:479 src/common/weeconfig.c:480 +#: src/common/weeconfig.c:483 src/common/weeconfig.c:484 +#: src/common/weeconfig.c:487 src/common/weeconfig.c:488 msgid "color for nick" msgstr "" -#: src/common/weeconfig.c:490 src/common/weeconfig.c:491 +#: src/common/weeconfig.c:491 src/common/weeconfig.c:492 msgid "color for other nick in private window" msgstr "color para el otro alias en la ventana privada" -#: src/common/weeconfig.c:494 src/common/weeconfig.c:495 +#: src/common/weeconfig.c:495 src/common/weeconfig.c:496 msgid "background for nicknames" msgstr "color de fondo para los nombres de usuario" -#: src/common/weeconfig.c:500 +#: src/common/weeconfig.c:501 msgid "color for selected DCC" msgstr "color para el DCC seleccionado" -#: src/common/weeconfig.c:501 +#: src/common/weeconfig.c:502 msgid "color for selected DCC (chat window)" msgstr "color para el DCC seleccionado (ventana de conversacin)" -#: src/common/weeconfig.c:504 src/common/weeconfig.c:505 +#: src/common/weeconfig.c:505 src/common/weeconfig.c:506 msgid "color for \"waiting\" dcc status" msgstr "color para el estado dcc \"esperando\"" -#: src/common/weeconfig.c:508 src/common/weeconfig.c:509 +#: src/common/weeconfig.c:509 src/common/weeconfig.c:510 msgid "color for \"connecting\" dcc status" msgstr "color para el estado dcc \"conectando\"" -#: src/common/weeconfig.c:512 src/common/weeconfig.c:513 +#: src/common/weeconfig.c:513 src/common/weeconfig.c:514 msgid "color for \"active\" dcc status" msgstr "color para el estado dcc \"activo\"" -#: src/common/weeconfig.c:516 src/common/weeconfig.c:517 +#: src/common/weeconfig.c:517 src/common/weeconfig.c:518 msgid "color for \"done\" dcc status" msgstr "color para el estado dcc \"terminado\"" -#: src/common/weeconfig.c:520 src/common/weeconfig.c:521 +#: src/common/weeconfig.c:521 src/common/weeconfig.c:522 msgid "color for \"failed\" dcc status" msgstr "color para el estado dcc \"fallo\"" -#: src/common/weeconfig.c:524 src/common/weeconfig.c:525 +#: src/common/weeconfig.c:525 src/common/weeconfig.c:526 msgid "color for \"aborted\" dcc status" msgstr "color para el estado dcc \"abortado\"" -#: src/common/weeconfig.c:538 +#: src/common/weeconfig.c:539 msgid "max lines in history (per window)" msgstr "nmero mximo de lneas en el histrico (por ventana)" -#: src/common/weeconfig.c:539 +#: src/common/weeconfig.c:540 msgid "" "maximum number of lines in history for one server/channel/private window (0 " "= unlimited)" @@ -3935,354 +3824,379 @@ msgstr "" "nmero mximo de lneas en el histrico para un servidor/canal/privado (0 = " "ilimitado)" -#: src/common/weeconfig.c:543 +#: src/common/weeconfig.c:544 msgid "max user commands in history" msgstr "nmero mximo de comandos de usuario en el histrico" -#: src/common/weeconfig.c:544 +#: src/common/weeconfig.c:545 msgid "maximum number of user commands in history (0 = unlimited)" msgstr "nmero mximo de comandos de usuario en el histrico (0 = ilimitado)" -#: src/common/weeconfig.c:561 src/common/weeconfig.c:562 +#: src/common/weeconfig.c:562 src/common/weeconfig.c:563 msgid "automatically log server messages" msgstr "registrar automticamente los mensajes de servidor" -#: src/common/weeconfig.c:565 src/common/weeconfig.c:566 +#: src/common/weeconfig.c:566 src/common/weeconfig.c:567 msgid "automatically log channel chats" msgstr "registrar automticamente las conversaciones de canal" -#: src/common/weeconfig.c:569 src/common/weeconfig.c:570 +#: src/common/weeconfig.c:570 src/common/weeconfig.c:571 msgid "automatically log private chats" msgstr "registrar automticamente las conversaciones privadas" -#: src/common/weeconfig.c:573 src/common/weeconfig.c:574 +#: src/common/weeconfig.c:574 src/common/weeconfig.c:575 msgid "log messages from plugins (scripts)" msgstr "registrar mensajes de plugins (scripts)" -#: src/common/weeconfig.c:577 +#: src/common/weeconfig.c:578 msgid "path for log files" msgstr "ruta para los archivos de registro (logs)" -#: src/common/weeconfig.c:578 +#: src/common/weeconfig.c:579 msgid "path for WeeChat log files" msgstr "ruta para los archivos de registro (logs) de WeeChat" -#: src/common/weeconfig.c:581 +#: src/common/weeconfig.c:582 msgid "timestamp for log" msgstr "fecha y hora para las conversaciones registradas" -#: src/common/weeconfig.c:582 +#: src/common/weeconfig.c:583 msgid "timestamp for log (see man strftime for date/time specifiers)" msgstr "" "fecha y hora para los registros (ver man strftime para el formato de fecha/" "hora)" -#: src/common/weeconfig.c:585 src/common/weeconfig.c:586 +#: src/common/weeconfig.c:586 src/common/weeconfig.c:587 msgid "hide password displayed by nickserv" msgstr "ocultar contrasea mostrada por nickserv" -#: src/common/weeconfig.c:607 +#: src/common/weeconfig.c:608 msgid "display message to all channels when away" msgstr "mostrar mensaje en todos los canales cuando se est ausente" -#: src/common/weeconfig.c:608 +#: src/common/weeconfig.c:609 msgid "display message to all channels when (un)marking as away" msgstr "" "mostrar mensaje en todos los canales cuando se vuelva del estado ausente" -#: src/common/weeconfig.c:611 src/common/weeconfig.c:612 +#: src/common/weeconfig.c:612 src/common/weeconfig.c:613 msgid "default message when away" msgstr "mensaje por defecto para el estado ausente" -#: src/common/weeconfig.c:615 src/common/weeconfig.c:616 +#: src/common/weeconfig.c:616 src/common/weeconfig.c:617 msgid "default part message (leaving channel)" msgstr "mensaje por defecto de salida (saliendo de un canal)" -#: src/common/weeconfig.c:619 +#: src/common/weeconfig.c:620 msgid "default quit message" msgstr "mensaje de fin por defecto" -#: src/common/weeconfig.c:620 +#: src/common/weeconfig.c:621 msgid "" "default quit message ('%v' will be replaced by WeeChat version in string)" msgstr "" "mensaje de fin por defecto ('%v' ser reemplazado por la versin de WeeChat " "en la cadena)" -#: src/common/weeconfig.c:623 src/common/weeconfig.c:624 +#: src/common/weeconfig.c:624 src/common/weeconfig.c:625 msgid "display notices as private messages" msgstr "" -#: src/common/weeconfig.c:627 +#: src/common/weeconfig.c:628 msgid "interval between two checks for away" msgstr "intervalo entre dos comprobaciones de ausencia" -#: src/common/weeconfig.c:628 +#: src/common/weeconfig.c:629 msgid "interval between two checks for away (in minutes, 0 = never check)" msgstr "" "intervalo entre dos comprobaciones de ausencia (en minutos, 0 = no comprobar)" -#: src/common/weeconfig.c:631 +#: src/common/weeconfig.c:632 msgid "interval between two checks for lag" msgstr "intervalo entre dos medidas de lag (retraso)" -#: src/common/weeconfig.c:632 +#: src/common/weeconfig.c:633 msgid "interval between two checks for lag (in seconds)" msgstr "intervalo entre dos medidas de lag (en segundos)" -#: src/common/weeconfig.c:635 +#: src/common/weeconfig.c:636 msgid "minimum lag to show" msgstr "lag (retraso) mnimo a mostrar" -#: src/common/weeconfig.c:636 +#: src/common/weeconfig.c:637 msgid "minimum lag to show (in seconds)" msgstr "lag mnimo a mostrar (en segundos)" -#: src/common/weeconfig.c:639 +#: src/common/weeconfig.c:640 msgid "disconnect after important lag" msgstr "desconexin tras un lag importante" -#: src/common/weeconfig.c:640 +#: src/common/weeconfig.c:641 msgid "disconnect after important lag (in minutes, 0 = never disconnect)" msgstr "" "desconexin tras un lag importante (en minutos, 0 = no desconectar nunca)" -#: src/common/weeconfig.c:643 src/common/weeconfig.c:644 +#: src/common/weeconfig.c:644 src/common/weeconfig.c:645 msgid "create a FIFO pipe for remote control" msgstr "crea una tubera FIFO para control remoto" -#: src/common/weeconfig.c:647 +#: src/common/weeconfig.c:648 msgid "list of words to highlight" msgstr "" -#: src/common/weeconfig.c:648 +#: src/common/weeconfig.c:649 msgid "" "comma separated list of words to highlight (case insensitive comparison)" msgstr "" -#: src/common/weeconfig.c:667 +#: src/common/weeconfig.c:668 msgid "automatically accept dcc files" msgstr "aceptar automticamente los ficheros dcc" -#: src/common/weeconfig.c:668 +#: src/common/weeconfig.c:669 msgid "automatically accept incoming dcc files" msgstr "aceptar automticamente los ficheros dcc entrantes" -#: src/common/weeconfig.c:671 +#: src/common/weeconfig.c:672 msgid "automatically accept dcc chats" msgstr "aceptar automticamente las peticiones de conversacin dcc" -#: src/common/weeconfig.c:672 +#: src/common/weeconfig.c:673 msgid "automatically accept dcc chats (use carefully!)" msgstr "" "aceptar automticamente las peticiones de conversacin dcc (utilizar con " "precaucin!)" -#: src/common/weeconfig.c:675 +#: src/common/weeconfig.c:676 msgid "timeout for dcc request" msgstr "tiempo de espera (timeout) para la peticin dcc" -#: src/common/weeconfig.c:676 +#: src/common/weeconfig.c:677 msgid "timeout for dcc request (in seconds)" msgstr "tiempo de espera para la peticin dcc (en segundos)" -#: src/common/weeconfig.c:679 +#: src/common/weeconfig.c:680 msgid "block size for dcc packets" msgstr "tamao de bloque para los paquetes dcc" -#: src/common/weeconfig.c:680 +#: src/common/weeconfig.c:681 msgid "block size for dcc packets in bytes (default: 65536)" msgstr "tamao de bloque para los paquetes dcc en bytes (por defecto: 65536)" -#: src/common/weeconfig.c:683 +#: src/common/weeconfig.c:684 msgid "path for incoming files with dcc" msgstr "ruta para los ficheros recibidos con dcc" -#: src/common/weeconfig.c:684 +#: src/common/weeconfig.c:685 msgid "path for writing incoming files with dcc (default: user home)" msgstr "" "ruta para los ficheros recibidos con dcc (por defecto: directorio home del " "usuario)" -#: src/common/weeconfig.c:687 +#: src/common/weeconfig.c:688 msgid "default path for sending files with dcc" msgstr "ruta por defecto para enviar ficheros con dcc" -#: src/common/weeconfig.c:688 +#: src/common/weeconfig.c:689 msgid "" "path for reading files when sending thru dcc (when no path is specified)" msgstr "" "ruta para la lectura de ficheros cuando se envan a travs de dcc (cuando no " "se especifica una ruta)" -#: src/common/weeconfig.c:691 src/common/weeconfig.c:692 +#: src/common/weeconfig.c:692 src/common/weeconfig.c:693 msgid "convert spaces to underscores when sending files" msgstr "convertir los espacios a subrayados cuando se envan los ficheros" -#: src/common/weeconfig.c:695 +#: src/common/weeconfig.c:696 msgid "automatically rename dcc files if already exists" msgstr "renombrar automticamente los ficheros dcc si ya existen" -#: src/common/weeconfig.c:696 +#: src/common/weeconfig.c:697 msgid "rename incoming files if already exists (add '.1', '.2', ...)" msgstr "" "renombrar los ficheros recibidos si ya existen (aadir '.1', '.2', ...)" -#: src/common/weeconfig.c:699 +#: src/common/weeconfig.c:700 msgid "automatically resume aborted transfers" msgstr "continuar automticamente las transferencias canceladas" -#: src/common/weeconfig.c:700 +#: src/common/weeconfig.c:701 msgid "" "automatically resume dcc transfer if connection with remote host is loosed" msgstr "" "continuar automticamente la transferencia dcc si se ha perdido la conexin " "con la mquina remota" -#: src/common/weeconfig.c:719 +#: src/common/weeconfig.c:720 msgid "use proxy" msgstr "utilizar un proxy" -#: src/common/weeconfig.c:720 +#: src/common/weeconfig.c:721 msgid "use a proxy server to connect to irc server" msgstr "utilizar un proxy para conectarse al servidor irc" -#: src/common/weeconfig.c:723 +#: src/common/weeconfig.c:724 msgid "proxy type" msgstr "tipo de proxy" -#: src/common/weeconfig.c:724 +#: src/common/weeconfig.c:725 msgid "proxy type (http (default), socks4, socks5)" msgstr "tipo de proxy(http (por defecto), socks4, socks5)" -#: src/common/weeconfig.c:727 +#: src/common/weeconfig.c:728 msgid "use ipv6 proxy" msgstr "usar proxy ipv6" -#: src/common/weeconfig.c:728 +#: src/common/weeconfig.c:729 msgid "connect to proxy in ipv6" msgstr "conectar al proxy en ipv6" -#: src/common/weeconfig.c:731 +#: src/common/weeconfig.c:732 msgid "proxy address" msgstr "direccin del proxy" -#: src/common/weeconfig.c:732 +#: src/common/weeconfig.c:733 msgid "proxy server address (IP or hostname)" msgstr "direccin del servidor proxy (IP o nombre de mquina)" -#: src/common/weeconfig.c:735 +#: src/common/weeconfig.c:736 msgid "port for proxy" msgstr "puerto para el proxy" -#: src/common/weeconfig.c:736 +#: src/common/weeconfig.c:737 msgid "port for connecting to proxy server" msgstr "puerto para conectarse al servidor proxy" -#: src/common/weeconfig.c:739 +#: src/common/weeconfig.c:740 msgid "proxy username" msgstr "nombre de usuario del proxy" -#: src/common/weeconfig.c:740 +#: src/common/weeconfig.c:741 msgid "username for proxy server" msgstr "nombre de usuario para el servidor proxy" -#: src/common/weeconfig.c:743 +#: src/common/weeconfig.c:744 msgid "proxy password" msgstr "contrasea para el proxy" -#: src/common/weeconfig.c:744 +#: src/common/weeconfig.c:745 msgid "password for proxy server" msgstr "contrasea para el servidor proxy" -#: src/common/weeconfig.c:755 +#: src/common/weeconfig.c:758 src/common/weeconfig.c:759 +msgid "path for searching plugins" +msgstr "" + +#: src/common/weeconfig.c:762 +msgid "list of plugins to load automatically" +msgstr "" + +#: src/common/weeconfig.c:763 +msgid "" +"comma separated list of plugins to load automatically at startup, \"*\" " +"means all plugins found (names may be partial, for example \"perl\" is ok " +"for \"libperl.so\")" +msgstr "" + +#: src/common/weeconfig.c:768 +msgid "standard plugins extension in filename" +msgstr "" + +#: src/common/weeconfig.c:769 +msgid "" +"standard plugins extension in filename, used for autoload (if empty, then " +"all files are loaded when autoload is \"*\")" +msgstr "" + +#: src/common/weeconfig.c:786 msgid "server name" msgstr "nombre de servidor" -#: src/common/weeconfig.c:756 +#: src/common/weeconfig.c:787 msgid "name associated to IRC server (for display only)" msgstr "nombre asociado al servidor IRC (para mostrar solamente)" -#: src/common/weeconfig.c:759 +#: src/common/weeconfig.c:790 msgid "automatically connect to server" msgstr "conexin automtica al servidor" -#: src/common/weeconfig.c:760 +#: src/common/weeconfig.c:791 msgid "automatically connect to server when WeeChat is starting" msgstr "conexin automtica al servidor cuando WeeChat est arrancando" -#: src/common/weeconfig.c:763 +#: src/common/weeconfig.c:794 msgid "automatically reconnect to server" msgstr "reconexin automtica al servidor" -#: src/common/weeconfig.c:764 +#: src/common/weeconfig.c:795 msgid "automatically reconnect to server when disconnected" msgstr "reconexin automtica al servidor tras una desconexin" -#: src/common/weeconfig.c:767 +#: src/common/weeconfig.c:798 msgid "delay before trying again to reconnect" msgstr "esperar antes de intentar de nuevo una reconexin" -#: src/common/weeconfig.c:768 +#: src/common/weeconfig.c:799 msgid "delay (in seconds) before trying again to reconnect to server" msgstr "" "espera (en segundos) antes de intentar de nuevo una reconexin al servidor" -#: src/common/weeconfig.c:771 +#: src/common/weeconfig.c:802 msgid "server address or hostname" msgstr "direccin o nombre de mquina del servidor" -#: src/common/weeconfig.c:772 +#: src/common/weeconfig.c:803 msgid "IP address or hostname of IRC server" msgstr "direccin IP o nombre de mquina del servidor IRC" -#: src/common/weeconfig.c:775 +#: src/common/weeconfig.c:806 msgid "port for IRC server" msgstr "puerto para el servidor IRC" -#: src/common/weeconfig.c:776 +#: src/common/weeconfig.c:807 msgid "port for connecting to server" msgstr "puerto para conectarse al servidor" -#: src/common/weeconfig.c:779 src/common/weeconfig.c:780 +#: src/common/weeconfig.c:810 src/common/weeconfig.c:811 msgid "use IPv6 protocol for server communication" msgstr "usar el protocolo IPv6 para la comunicacin del servidor" -#: src/common/weeconfig.c:783 src/common/weeconfig.c:784 +#: src/common/weeconfig.c:814 src/common/weeconfig.c:815 msgid "use SSL for server communication" msgstr "usar SSL para la comunicacin del servidor" -#: src/common/weeconfig.c:787 +#: src/common/weeconfig.c:818 msgid "server password" msgstr "contrasea para el servidor" -#: src/common/weeconfig.c:788 +#: src/common/weeconfig.c:819 msgid "password for IRC server" msgstr "contrasea para el servidor IRC" -#: src/common/weeconfig.c:791 +#: src/common/weeconfig.c:822 msgid "nickname for server" msgstr "nombre de usuario para el servidor" -#: src/common/weeconfig.c:792 +#: src/common/weeconfig.c:823 msgid "nickname to use on IRC server" msgstr "nombre de usuario a utilizar en el servidor IRC" -#: src/common/weeconfig.c:795 +#: src/common/weeconfig.c:826 msgid "alternate nickname for server" msgstr "nombre de usuario alternativo para el servidor" -#: src/common/weeconfig.c:796 +#: src/common/weeconfig.c:827 msgid "alternate nickname to use on IRC server (if nickname is already used)" msgstr "" "nombre de usuario alternativo para el servidor IRC (si el nombre de usuario " "ya est en uso)" -#: src/common/weeconfig.c:799 +#: src/common/weeconfig.c:830 msgid "2nd alternate nickname for server" msgstr "segundo nombre de usuario alternativo para el servidor" -#: src/common/weeconfig.c:800 +#: src/common/weeconfig.c:831 msgid "" "2nd alternate nickname to use on IRC server (if alternate nickname is " "already used)" @@ -4290,31 +4204,31 @@ msgstr "" "segundo nombre de usuario alternativo a utilizar en el servidor IRC (si el " "nombre de usuario alternativo ya est en uso)" -#: src/common/weeconfig.c:803 +#: src/common/weeconfig.c:834 msgid "user name for server" msgstr "nombre de usuario para el servidor" -#: src/common/weeconfig.c:804 +#: src/common/weeconfig.c:835 msgid "user name to use on IRC server" msgstr "nombre de usuario para el servidor IRC" -#: src/common/weeconfig.c:807 +#: src/common/weeconfig.c:838 msgid "real name for server" msgstr "nombre real para el servidor" -#: src/common/weeconfig.c:808 +#: src/common/weeconfig.c:839 msgid "real name to use on IRC server" msgstr "nombre real para el servidor IRC" -#: src/common/weeconfig.c:811 src/common/weeconfig.c:812 +#: src/common/weeconfig.c:842 src/common/weeconfig.c:843 msgid "first command to run when connected to server" msgstr "primer comando a ejecutar cuando se conecte a un servidor" -#: src/common/weeconfig.c:815 +#: src/common/weeconfig.c:846 msgid "delay (in seconds) after command was executed" msgstr "espera (en segundos) despus de que el comando sea ejecutado" -#: src/common/weeconfig.c:816 +#: src/common/weeconfig.c:847 msgid "" "delay (in seconds) after command was executed (example: give some time for " "authentication)" @@ -4322,11 +4236,11 @@ msgstr "" "espera (en segundos) despus de que el comando sea ejecutado (ejemplo: dar " "algo de tiempo para la autenticacin)" -#: src/common/weeconfig.c:819 +#: src/common/weeconfig.c:850 msgid "list of channels to join when connected to server" msgstr "lista de canales a unirse cuando se conecte a un servidor" -#: src/common/weeconfig.c:820 +#: src/common/weeconfig.c:851 msgid "" "comma separated list of channels to join when connected to server (example: " "\"#chan1,#chan2,#chan3 key1,key2\")" @@ -4334,15 +4248,15 @@ msgstr "" "lista de canales (separados por comas) a unirse cuando se conecte a un " "servidor (ejemplo: \"#chan1,#chan2,#chan3 key1,key2\")" -#: src/common/weeconfig.c:823 src/common/weeconfig.c:824 +#: src/common/weeconfig.c:854 src/common/weeconfig.c:855 msgid "automatically rejoin channels when kicked" msgstr "unirse de nuevo automticamente a los canales cuando sea expulsado" -#: src/common/weeconfig.c:827 +#: src/common/weeconfig.c:858 msgid "notify levels for channels of this server" msgstr "niveles de notificacin para canales de este servidor" -#: src/common/weeconfig.c:828 +#: src/common/weeconfig.c:859 msgid "" "comma separated list of notify levels for channels of this server (format: " "#channel:1,..)" @@ -4350,67 +4264,67 @@ msgstr "" "lista separada por comas de niveles de notificacin para canales de este " "servidor (formato: #canal:1,...)" -#: src/common/weeconfig.c:1322 +#: src/common/weeconfig.c:1354 #, c-format msgid "%s %s, line %d: new server, but previous was incomplete\n" msgstr "%s %s, lnea %d: nuevo servidor, pero el anterior estaba incompleto\n" -#: src/common/weeconfig.c:1331 +#: src/common/weeconfig.c:1363 #, c-format msgid "%s %s, line %d: server '%s' already exists\n" msgstr "%s %s, lnea %d: el servidor '%s' ya existe\n" -#: src/common/weeconfig.c:1346 +#: src/common/weeconfig.c:1378 #, c-format msgid "%s %s, line %d: unable to create server\n" msgstr "%s %s, lnea %d: no es posible crear el servidor\n" -#: src/common/weeconfig.c:1386 +#: src/common/weeconfig.c:1418 #, c-format msgid "%s unable to assign default int with string (\"%s\")\n" msgstr "%s no es posible asignar el valor entero con la cadena (\"%s\")\n" -#: src/common/weeconfig.c:1397 +#: src/common/weeconfig.c:1429 #, c-format msgid "%s unable to assign default color (\"%s\")\n" msgstr "%s no es posible asignar el color por defecto (\"%s\")\n" -#: src/common/weeconfig.c:1436 +#: src/common/weeconfig.c:1468 #, c-format msgid "%s config file \"%s\" not found.\n" msgstr "%s fichero de configuracin \"%s\" no encontrado.\n" -#: src/common/weeconfig.c:1468 +#: src/common/weeconfig.c:1500 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"]\"\n" msgstr "%s %s, lnea %d: sintaxis invlida, falta \"]\"\n" -#: src/common/weeconfig.c:1485 +#: src/common/weeconfig.c:1517 #, c-format msgid "%s %s, line %d: unknown section identifier (\"%s\")\n" msgstr "%s %s, lnea %d: identificador de seccin desconocido (\"%s\")\n" -#: src/common/weeconfig.c:1503 +#: src/common/weeconfig.c:1535 #, c-format msgid "%s %s, line %d: invalid section for option, line is ignored\n" msgstr "%s %s, lnea %d: seccin invlida para la opcin, lnea ignorada\n" -#: src/common/weeconfig.c:1511 +#: src/common/weeconfig.c:1543 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"=\"\n" msgstr "%s %s, lnea %d: sintaxis invlida, falta \"=\"\n" -#: src/common/weeconfig.c:1548 src/common/weeconfig.c:1574 +#: src/common/weeconfig.c:1580 src/common/weeconfig.c:1606 #, c-format msgid "%s %s, line %d: invalid option \"%s\"\n" msgstr "%s %s, lnea %d: opcin \"%s\" invlida\n" -#: src/common/weeconfig.c:1554 +#: src/common/weeconfig.c:1586 #, c-format msgid "%s %s, line %d: invalid ignore options \"%s\"\n" msgstr "" -#: src/common/weeconfig.c:1585 +#: src/common/weeconfig.c:1617 #, c-format msgid "" "%s %s, line %d: invalid value foroption '%s'\n" @@ -4419,7 +4333,7 @@ msgstr "" "%s %s, lnea %d: valor invlido para la opcin '%s'\n" "Esperado: valor booleano: 'off' u 'on'\n" -#: src/common/weeconfig.c:1594 +#: src/common/weeconfig.c:1626 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -4428,7 +4342,7 @@ msgstr "" "%s %s, lnea %d: valor invlido para la opcin %s'\n" "Esperado: entero comprendido entre %d y %d\n" -#: src/common/weeconfig.c:1605 +#: src/common/weeconfig.c:1637 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -4437,26 +4351,26 @@ msgstr "" "%s %s, lnea %d: valor invlido para la opcin '%s'\n" "Esperado: una de estas cadenas: " -#: src/common/weeconfig.c:1621 +#: src/common/weeconfig.c:1653 #, c-format msgid "%s %s, line %d: invalid color name for option '%s'\n" msgstr "%s %s, lnea %d: nombre de color invlido para la opcin '%s'\n" -#: src/common/weeconfig.c:1683 src/common/weeconfig.c:1878 +#: src/common/weeconfig.c:1715 src/common/weeconfig.c:1910 #, c-format msgid "%s cannot create file \"%s\"\n" msgstr "%s no es posible crear el fichero \"%s\"\n" -#: src/common/weeconfig.c:1689 +#: src/common/weeconfig.c:1721 #, c-format msgid "%s: creating default config file...\n" msgstr "%s: creando fichero de configuracin por defecto...\n" -#: src/common/weeconfig.c:1690 +#: src/common/weeconfig.c:1722 msgid "Creating default config file\n" msgstr "Creando fichero de configuracin por defecto\n" -#: src/common/weeconfig.c:1693 src/common/weeconfig.c:1887 +#: src/common/weeconfig.c:1725 src/common/weeconfig.c:1919 #, c-format msgid "" "#\n" @@ -4465,19 +4379,6 @@ msgstr "" "#\n" "# %s: fichero de configuracin, creado por %s v%s el %s#\n" -#: src/common/weeconfig.c:1884 +#: src/common/weeconfig.c:1916 msgid "Saving config to disk\n" msgstr "Guardar configuracin a disco\n" - -#~ msgid "" -#~ "option: name of an option\n" -#~ "value: value for option" -#~ msgstr "" -#~ "opcin: nombre de una opcin\n" -#~ "valor: valor para la opcin" - -#~ msgid "IRC command" -#~ msgstr "comandos IRC" - -#~ msgid "channel" -#~ msgstr "canal" @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.6-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2005-10-03 14:05+0200\n" -"PO-Revision-Date: 2005-10-03 14:05+0200\n" +"POT-Creation-Date: 2005-10-15 14:17+0200\n" +"PO-Revision-Date: 2005-10-15 13:21+0200\n" "Last-Translator: FlashCode <flashcode@flashtux.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" msgid "%s cannot allocate new nick\n" msgstr "%s impossible d'allouer un nouveau pseudo\n" -#: src/irc/irc-server.c:180 src/common/weeconfig.c:1823 +#: src/irc/irc-server.c:180 src/common/weeconfig.c:1855 msgid "Unable to get user's name" msgstr "Impossible de dterminer le nom d'utilisateur" @@ -1344,7 +1344,7 @@ msgstr "impossible de changer le mode pour les autres utilisateurs" msgid "whois (secure connection)" msgstr "qui est (connexion scurise)" -#: src/irc/irc-display.c:163 src/common/command.c:877 +#: src/irc/irc-display.c:163 src/common/command.c:870 msgid "Server: " msgstr "Serveur: " @@ -1352,7 +1352,7 @@ msgstr "Serveur: " msgid "connected" msgstr "connect" -#: src/irc/irc-display.c:168 src/common/command.c:903 +#: src/irc/irc-display.c:168 src/common/command.c:896 msgid "not connected" msgstr "non connect" @@ -1374,7 +1374,7 @@ msgstr " (serveur temporaire, ne sera pas sauv)" msgid "(hidden)" msgstr "(cach)" -#: src/irc/irc-send.c:59 src/irc/irc-recv.c:4421 +#: src/irc/irc-send.c:59 src/irc/irc-recv.c:4426 msgid "unknown" msgstr "inconnu" @@ -1383,7 +1383,7 @@ msgstr "inconnu" msgid "%s: using local hostname \"%s\"\n" msgstr "%s: utilisation du nom de machine local \"%s\"\n" -#: src/irc/irc-send.c:167 src/common/command.c:755 +#: src/irc/irc-send.c:167 src/common/command.c:746 #, c-format msgid "%s cannot find nick for sending message\n" msgstr "%s impossible de trouver le pseudo pour envoyer le message\n" @@ -1401,9 +1401,8 @@ msgstr "" #: src/irc/irc-send.c:456 src/irc/irc-send.c:468 src/irc/irc-send.c:486 #: src/irc/irc-send.c:1138 src/irc/irc-send.c:1231 src/irc/irc-send.c:1763 -#: src/common/command.c:1225 src/common/command.c:1579 -#: src/common/command.c:1729 src/common/command.c:1872 -#: src/common/command.c:2015 +#: src/common/command.c:1218 src/common/command.c:1628 +#: src/common/command.c:1760 #, c-format msgid "%s wrong argument count for \"%s\" command\n" msgstr "%s nombre de paramtres erron pour la commande \"%s\"\n" @@ -1420,13 +1419,13 @@ msgid "%s \"%s\" command can not be executed on a server window\n" msgstr "" "%s la commande \"%s\" ne peut pas tre excute dans une fentre serveur\n" -#: src/irc/irc-send.c:1031 src/irc/irc-send.c:1056 src/irc/irc-recv.c:430 +#: src/irc/irc-send.c:1031 src/irc/irc-send.c:1056 src/irc/irc-recv.c:435 #, c-format msgid "%s nick \"%s\" not found for \"%s\" command\n" msgstr "%s pseudo \"%s\" non trouv pour la commande \"%s\"\n" -#: src/irc/irc-send.c:1108 src/irc/irc-send.c:1416 src/irc/irc-recv.c:1117 -#: src/irc/irc-recv.c:1933 src/irc/irc-recv.c:2021 +#: src/irc/irc-send.c:1108 src/irc/irc-send.c:1416 src/irc/irc-recv.c:1122 +#: src/irc/irc-recv.c:1938 src/irc/irc-recv.c:2026 #, c-format msgid "%s cannot create new private window \"%s\"\n" msgstr "%s impossible de crer la fentre prive \"%s\"\n" @@ -1436,447 +1435,447 @@ msgstr "%s impossible de crer la fentre prive \"%s\"\n" msgid "%s, compiled on %s %s\n" msgstr "%s, compil le %s %s\n" -#: src/irc/irc-recv.c:286 +#: src/irc/irc-recv.c:291 msgid "You have been invited to " msgstr "Vous avez t invit sur " -#: src/irc/irc-recv.c:289 +#: src/irc/irc-recv.c:294 msgid "by" msgstr "par" -#: src/irc/irc-recv.c:300 src/irc/irc-recv.c:394 src/irc/irc-recv.c:891 -#: src/irc/irc-recv.c:1276 src/irc/irc-recv.c:1535 src/irc/irc-recv.c:3437 -#: src/irc/irc-recv.c:3459 src/irc/irc-recv.c:3520 src/irc/irc-recv.c:3592 +#: src/irc/irc-recv.c:305 src/irc/irc-recv.c:399 src/irc/irc-recv.c:896 +#: src/irc/irc-recv.c:1281 src/irc/irc-recv.c:1540 src/irc/irc-recv.c:3442 +#: src/irc/irc-recv.c:3464 src/irc/irc-recv.c:3525 src/irc/irc-recv.c:3597 #, c-format msgid "%s channel \"%s\" not found for \"%s\" command\n" msgstr "%s canal \"%s\" non trouv pour la commande \"%s\"\n" -#: src/irc/irc-recv.c:328 +#: src/irc/irc-recv.c:333 #, c-format msgid "%s cannot create new channel \"%s\"\n" msgstr "%s impossible de crer le nouveau canal \"%s\"\n" -#: src/irc/irc-recv.c:347 +#: src/irc/irc-recv.c:352 msgid " has joined " msgstr " a rejoint " -#: src/irc/irc-recv.c:405 +#: src/irc/irc-recv.c:410 msgid " has kicked " msgstr " a pouss dehors " -#: src/irc/irc-recv.c:409 src/common/command.c:1400 +#: src/irc/irc-recv.c:414 src/common/command.c:1449 msgid " from " msgstr " de " -#: src/irc/irc-recv.c:495 +#: src/irc/irc-recv.c:500 msgid " has killed " msgstr " a tu " -#: src/irc/irc-recv.c:501 +#: src/irc/irc-recv.c:506 msgid " from server" msgstr " du serveur" -#: src/irc/irc-recv.c:511 +#: src/irc/irc-recv.c:516 msgid " from server\n" msgstr " du serveur\n" -#: src/irc/irc-recv.c:519 +#: src/irc/irc-recv.c:524 #, c-format msgid "%s host \"%s\" not found for \"%s\" command\n" msgstr "%s la machine \"%s\" n'existe pas pour la commande \"%s\"\n" -#: src/irc/irc-recv.c:559 +#: src/irc/irc-recv.c:564 msgid "sets ban on" msgstr "instaure un bannissement sur" -#: src/irc/irc-recv.c:560 +#: src/irc/irc-recv.c:565 msgid "removes ban on" msgstr "supprime le banissement sur" -#: src/irc/irc-recv.c:584 +#: src/irc/irc-recv.c:589 msgid "gives half channel operator status to" msgstr "donne le droit demi-oprateur " -#: src/irc/irc-recv.c:585 +#: src/irc/irc-recv.c:590 msgid "removes half channel operator status from" msgstr "supprime le droit demi-oprateur " -#: src/irc/irc-recv.c:612 +#: src/irc/irc-recv.c:617 msgid "sets invite-only channel flag" msgstr "dfinit le canal en mode invit seulement" -#: src/irc/irc-recv.c:613 +#: src/irc/irc-recv.c:618 msgid "removes invite-only channel flag" msgstr "supprime le mode invit seulement pour le canal" -#: src/irc/irc-recv.c:630 +#: src/irc/irc-recv.c:635 msgid "sets channel key to" msgstr "dfinit la cl du canal " -#: src/irc/irc-recv.c:631 +#: src/irc/irc-recv.c:636 msgid "removes channel key" msgstr "supprime la cl du canal" -#: src/irc/irc-recv.c:662 +#: src/irc/irc-recv.c:667 msgid "sets the user limit to" msgstr "dfinit la limite d'utilisateurs " -#: src/irc/irc-recv.c:663 +#: src/irc/irc-recv.c:668 msgid "removes user limit" msgstr "supprime la limite d'utilisateurs" -#: src/irc/irc-recv.c:685 +#: src/irc/irc-recv.c:690 msgid "sets moderated channel flag" msgstr "instaure la modration sur le canal" -#: src/irc/irc-recv.c:686 +#: src/irc/irc-recv.c:691 msgid "removes moderated channel flag" msgstr "supprime la modration sur le canal" -#: src/irc/irc-recv.c:696 +#: src/irc/irc-recv.c:701 msgid "sets messages from channel only flag" msgstr "interdit aux utilisateurs en dehors du canal d'y crire" -#: src/irc/irc-recv.c:697 +#: src/irc/irc-recv.c:702 msgid "removes messages from channel only flag" msgstr "autorise tout utilisateur crire sur le canal" -#: src/irc/irc-recv.c:714 +#: src/irc/irc-recv.c:719 msgid "gives channel operator status to" msgstr "donne le droit oprateur " -#: src/irc/irc-recv.c:715 +#: src/irc/irc-recv.c:720 msgid "removes channel operator status from" msgstr "supprime le droit oprateur " -#: src/irc/irc-recv.c:742 +#: src/irc/irc-recv.c:747 msgid "sets private channel flag" msgstr "dfinit le canal comme priv" -#: src/irc/irc-recv.c:743 +#: src/irc/irc-recv.c:748 msgid "removes private channel flag" msgstr "supprime le mode priv pour le canal" -#: src/irc/irc-recv.c:760 +#: src/irc/irc-recv.c:765 msgid "sets quiet on" msgstr "dfinit le mode muet sur" -#: src/irc/irc-recv.c:761 +#: src/irc/irc-recv.c:766 msgid "removes quiet on" msgstr "supprime le mode muet sur" -#: src/irc/irc-recv.c:778 +#: src/irc/irc-recv.c:783 msgid "sets secret channel flag" msgstr "dfinit le canal comme secret" -#: src/irc/irc-recv.c:779 +#: src/irc/irc-recv.c:784 msgid "removes secret channel flag" msgstr "supprime le mode secret pour le canal" -#: src/irc/irc-recv.c:789 +#: src/irc/irc-recv.c:794 msgid "sets topic protection" msgstr "active la protection du titre" -#: src/irc/irc-recv.c:790 +#: src/irc/irc-recv.c:795 msgid "removes topic protection" msgstr "supprime la protection du titre" -#: src/irc/irc-recv.c:807 +#: src/irc/irc-recv.c:812 msgid "gives voice to" msgstr "donne la voix " -#: src/irc/irc-recv.c:808 +#: src/irc/irc-recv.c:813 msgid "removes voice from" msgstr "supprime la voix de" -#: src/irc/irc-recv.c:851 src/irc/irc-recv.c:933 src/irc/irc-recv.c:1354 -#: src/irc/irc-recv.c:2088 +#: src/irc/irc-recv.c:856 src/irc/irc-recv.c:938 src/irc/irc-recv.c:1359 +#: src/irc/irc-recv.c:2093 #, c-format msgid "%s \"%s\" command received without host\n" msgstr "%s commande \"%s\" reue sans host\n" -#: src/irc/irc-recv.c:861 +#: src/irc/irc-recv.c:866 #, c-format msgid "%s \"%s\" command received without channel or nickname\n" msgstr "%s commande \"%s\" reue sans canal ou utilisateur\n" -#: src/irc/irc-recv.c:908 +#: src/irc/irc-recv.c:913 msgid "mode changed by" msgstr "mode chang par" -#: src/irc/irc-recv.c:970 +#: src/irc/irc-recv.c:975 msgid "You are " msgstr "Vous tes " -#: src/irc/irc-recv.c:977 +#: src/irc/irc-recv.c:982 msgid " is " msgstr " est " -#: src/irc/irc-recv.c:981 +#: src/irc/irc-recv.c:986 msgid "now known as " msgstr "maintenant connu sous le nom " -#: src/irc/irc-recv.c:1048 +#: src/irc/irc-recv.c:1053 #, c-format msgid "%s nickname not found for \"%s\" command\n" msgstr "%s utilisateur non trouv pour la commande \"%s\"\n" -#: src/irc/irc-recv.c:1064 src/irc/irc-recv.c:1096 +#: src/irc/irc-recv.c:1069 src/irc/irc-recv.c:1101 msgid "reply from" msgstr "rponse de" -#: src/irc/irc-recv.c:1099 +#: src/irc/irc-recv.c:1104 #, c-format msgid ": %ld.%ld seconds\n" msgstr ": %ld.%ld secondes\n" -#: src/irc/irc-recv.c:1138 src/irc/irc-recv.c:2042 src/irc/irc-dcc.c:1044 +#: src/irc/irc-recv.c:1143 src/irc/irc-recv.c:2047 src/irc/irc-dcc.c:1044 #, c-format msgid "Private %s> %s" msgstr "Prive %s> %s" -#: src/irc/irc-recv.c:1201 +#: src/irc/irc-recv.c:1206 #, c-format msgid "%s \"%s\" command received without host or channel\n" msgstr "%s commande \"%s\" reue sans host ou canal\n" -#: src/irc/irc-recv.c:1250 +#: src/irc/irc-recv.c:1255 msgid " has left " msgstr " a quitt " -#: src/irc/irc-recv.c:1402 src/irc/irc-recv.c:1957 +#: src/irc/irc-recv.c:1407 src/irc/irc-recv.c:1962 #, c-format msgid "On %s: * %s %s" msgstr "Sur %s: * %s %s" -#: src/irc/irc-recv.c:1426 +#: src/irc/irc-recv.c:1431 #, c-format msgid "Received a CTCP SOUND \"%s\" from " msgstr "CTCP SOUND \"%s\" reu de " -#: src/irc/irc-recv.c:1459 src/irc/irc-recv.c:1490 src/irc/irc-recv.c:1594 -#: src/irc/irc-recv.c:1634 src/irc/irc-recv.c:1997 +#: src/irc/irc-recv.c:1464 src/irc/irc-recv.c:1495 src/irc/irc-recv.c:1599 +#: src/irc/irc-recv.c:1639 src/irc/irc-recv.c:2002 msgid "received from" msgstr "reu de" -#: src/irc/irc-recv.c:1486 src/irc/irc-recv.c:1993 +#: src/irc/irc-recv.c:1491 src/irc/irc-recv.c:1998 msgid "Unknown CTCP " msgstr "CTCP inconnu " -#: src/irc/irc-recv.c:1518 +#: src/irc/irc-recv.c:1523 #, c-format msgid "On %s: %s> %s" msgstr "Sur %s: %s> %s" -#: src/irc/irc-recv.c:1650 src/irc/irc-recv.c:1671 src/irc/irc-recv.c:1687 -#: src/irc/irc-recv.c:1703 src/irc/irc-recv.c:1729 src/irc/irc-recv.c:1750 -#: src/irc/irc-recv.c:1766 src/irc/irc-recv.c:1791 src/irc/irc-recv.c:1812 -#: src/irc/irc-recv.c:1828 src/irc/irc-recv.c:1853 src/irc/irc-recv.c:1874 -#: src/irc/irc-recv.c:1889 src/irc/irc-recv.c:2064 src/irc/irc-recv.c:2408 -#: src/irc/irc-recv.c:3988 src/irc/irc-recv.c:4046 src/irc/irc-recv.c:4205 -#: src/irc/irc-recv.c:4220 src/irc/irc-recv.c:4235 src/irc/irc-recv.c:4250 -#: src/irc/irc-recv.c:4263 src/irc/irc-recv.c:4317 src/irc/irc-recv.c:4331 +#: src/irc/irc-recv.c:1655 src/irc/irc-recv.c:1676 src/irc/irc-recv.c:1692 +#: src/irc/irc-recv.c:1708 src/irc/irc-recv.c:1734 src/irc/irc-recv.c:1755 +#: src/irc/irc-recv.c:1771 src/irc/irc-recv.c:1796 src/irc/irc-recv.c:1817 +#: src/irc/irc-recv.c:1833 src/irc/irc-recv.c:1858 src/irc/irc-recv.c:1879 +#: src/irc/irc-recv.c:1894 src/irc/irc-recv.c:2069 src/irc/irc-recv.c:2413 +#: src/irc/irc-recv.c:3993 src/irc/irc-recv.c:4051 src/irc/irc-recv.c:4210 +#: src/irc/irc-recv.c:4225 src/irc/irc-recv.c:4240 src/irc/irc-recv.c:4255 +#: src/irc/irc-recv.c:4268 src/irc/irc-recv.c:4322 src/irc/irc-recv.c:4336 #, c-format msgid "%s cannot parse \"%s\" command\n" msgstr "%s impossible d'analyser la commande \"%s\"\n" -#: src/irc/irc-recv.c:1902 +#: src/irc/irc-recv.c:1907 #, c-format msgid "%s unknown DCC CHAT type received from " msgstr "%s type de DCC CHAT inconnu reu de " -#: src/irc/irc-recv.c:2119 +#: src/irc/irc-recv.c:2124 msgid "has quit" msgstr "a quitt" -#: src/irc/irc-recv.c:2244 +#: src/irc/irc-recv.c:2249 #, c-format msgid "%s \"%s\" command received without channel\n" msgstr "%s commande \"%s\" reue sans canal\n" -#: src/irc/irc-recv.c:2276 +#: src/irc/irc-recv.c:2281 msgid " has changed topic for " msgstr " a chang le titre pour " -#: src/irc/irc-recv.c:2281 +#: src/irc/irc-recv.c:2286 #, c-format msgid " to: \"%s\"\n" msgstr " en: \"%s\"\n" -#: src/irc/irc-recv.c:2287 +#: src/irc/irc-recv.c:2292 msgid " has unset topic for " msgstr " a retir le titre pour " -#: src/irc/irc-recv.c:2396 +#: src/irc/irc-recv.c:2401 msgid "User mode" msgstr "Mode utilisateur" -#: src/irc/irc-recv.c:2451 +#: src/irc/irc-recv.c:2456 #, c-format msgid " is away: %s\n" msgstr " est absent: %s\n" -#: src/irc/irc-recv.c:2533 +#: src/irc/irc-recv.c:2538 msgid "Users online: " msgstr "Utilisateurs en ligne: " -#: src/irc/irc-recv.c:3023 +#: src/irc/irc-recv.c:3028 msgid "idle: " msgstr "inactivit: " -#: src/irc/irc-recv.c:3031 +#: src/irc/irc-recv.c:3036 msgid "days" msgstr "jours" -#: src/irc/irc-recv.c:3031 +#: src/irc/irc-recv.c:3036 msgid "day" msgstr "jour" -#: src/irc/irc-recv.c:3041 +#: src/irc/irc-recv.c:3046 msgid "hours" msgstr "heures" -#: src/irc/irc-recv.c:3041 +#: src/irc/irc-recv.c:3046 msgid "hour" msgstr "heure" -#: src/irc/irc-recv.c:3047 +#: src/irc/irc-recv.c:3052 msgid "minutes" msgstr "minutes" -#: src/irc/irc-recv.c:3047 +#: src/irc/irc-recv.c:3052 msgid "minute" msgstr "minute" -#: src/irc/irc-recv.c:3053 +#: src/irc/irc-recv.c:3058 msgid "seconds" msgstr "secondes" -#: src/irc/irc-recv.c:3053 +#: src/irc/irc-recv.c:3058 msgid "second" msgstr "seconde" -#: src/irc/irc-recv.c:3058 +#: src/irc/irc-recv.c:3063 msgid "signon at: " msgstr "sign le: " -#: src/irc/irc-recv.c:3154 +#: src/irc/irc-recv.c:3159 msgid "Channels: " msgstr "Canaux: " -#: src/irc/irc-recv.c:3450 +#: src/irc/irc-recv.c:3455 msgid "No topic set for " msgstr "Pas de titre dfini pour " -#: src/irc/irc-recv.c:3507 +#: src/irc/irc-recv.c:3512 msgid "Topic for " msgstr "Le titre pour " -#: src/irc/irc-recv.c:3511 +#: src/irc/irc-recv.c:3516 #, c-format msgid " is: \"%s\"\n" msgstr " est: \"%s\"\n" -#: src/irc/irc-recv.c:3530 src/irc/irc-recv.c:3619 src/irc/irc-recv.c:3672 +#: src/irc/irc-recv.c:3535 src/irc/irc-recv.c:3624 src/irc/irc-recv.c:3677 #, c-format msgid "%s cannot identify channel for \"%s\" command\n" msgstr "%s impossible de dterminer le canal pour la commande \"%s\"\n" -#: src/irc/irc-recv.c:3580 +#: src/irc/irc-recv.c:3585 msgid "Topic set by " msgstr "Titre dfini par " -#: src/irc/irc-recv.c:3601 +#: src/irc/irc-recv.c:3606 #, c-format msgid "%s cannot identify date/time for \"%s\" command\n" msgstr "%s impossible d'identifier la date/heure pour la commande \"%s\"\n" -#: src/irc/irc-recv.c:3610 src/irc/irc-recv.c:3681 +#: src/irc/irc-recv.c:3615 src/irc/irc-recv.c:3686 #, c-format msgid "%s cannot identify nickname for \"%s\" command\n" msgstr "" "%s impossible de dterminer le nom d'utilisateur pour la commande \"%s\"\n" -#: src/irc/irc-recv.c:3660 +#: src/irc/irc-recv.c:3665 msgid "has invited" msgstr "a invit" -#: src/irc/irc-recv.c:3663 src/irc/irc-recv.c:3909 src/common/command.c:1393 +#: src/irc/irc-recv.c:3668 src/irc/irc-recv.c:3914 src/common/command.c:1442 msgid "on" msgstr "sur" -#: src/irc/irc-recv.c:3718 +#: src/irc/irc-recv.c:3723 msgid "Channel reop" msgstr "Canal reop" -#: src/irc/irc-recv.c:4034 +#: src/irc/irc-recv.c:4039 #, c-format msgid "%s cannot create nick \"%s\" for channel \"%s\"\n" msgstr "%s impossible de crer l'utilisateur \"%s\" pour le canal \"%s\"\n" -#: src/irc/irc-recv.c:4093 +#: src/irc/irc-recv.c:4098 msgid "Nicks " msgstr "Utilisateurs " -#: src/irc/irc-recv.c:4113 +#: src/irc/irc-recv.c:4118 msgid "Channel " msgstr "Canal " -#: src/irc/irc-recv.c:4124 +#: src/irc/irc-recv.c:4129 msgid "nicks" msgstr "utilisateurs" -#: src/irc/irc-recv.c:4124 +#: src/irc/irc-recv.c:4129 msgid "nick" msgstr "utilisateur" -#: src/irc/irc-recv.c:4132 +#: src/irc/irc-recv.c:4137 msgid "ops" msgstr "ops" -#: src/irc/irc-recv.c:4132 +#: src/irc/irc-recv.c:4137 msgid "op" msgstr "op" -#: src/irc/irc-recv.c:4141 +#: src/irc/irc-recv.c:4146 msgid "halfops" msgstr "halfops" -#: src/irc/irc-recv.c:4141 +#: src/irc/irc-recv.c:4146 msgid "halfop" msgstr "halfop" -#: src/irc/irc-recv.c:4150 +#: src/irc/irc-recv.c:4155 msgid "voices" msgstr "voices" -#: src/irc/irc-recv.c:4150 +#: src/irc/irc-recv.c:4155 msgid "voice" msgstr "voice" -#: src/irc/irc-recv.c:4159 +#: src/irc/irc-recv.c:4164 msgid "normal" msgstr "normal" -#: src/irc/irc-recv.c:4280 +#: src/irc/irc-recv.c:4285 msgid "banned by" msgstr "banni par" -#: src/irc/irc-recv.c:4375 +#: src/irc/irc-recv.c:4380 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 2nd nickname \"%s\"\n" msgstr "" "%s: l'utilisateur \"%s\" est dj en cours d'utilisation, essai avec le 2nd " "nom d'utilisateur \"%s\"\n" -#: src/irc/irc-recv.c:4387 +#: src/irc/irc-recv.c:4392 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 3rd nickname \"%s\"\n" msgstr "" "%s: l'utilisateur \"%s\" est dj en cours d'utilisation, essai avec le 3me " "nom d'utilisateur \"%s\"\n" -#: src/irc/irc-recv.c:4399 +#: src/irc/irc-recv.c:4404 #, c-format msgid "" "%s: all declared nicknames are already in use, closing connection with " @@ -1885,7 +1884,7 @@ msgstr "" "%s: tous les noms d'utilisateurs dclars sont dj en cours d'utilisation, " "fermeture de la connexion avec le serveur !\n" -#: src/irc/irc-recv.c:4409 +#: src/irc/irc-recv.c:4414 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 1st nickname \"%s\"\n" msgstr "" @@ -2084,139 +2083,105 @@ msgstr "%s pas assez de mmoire pour crer un ignore\n" msgid "Removing ignore:" msgstr "Suppression du ignore:" -#: src/plugins/perl/wee-perl.c:88 src/plugins/perl/wee-perl.c:463 -#: src/plugins/python/wee-python.c:81 src/plugins/ruby/wee-ruby.c:89 +#: src/plugins/plugins.c:226 #, c-format msgid "" -"%s error: unable to register \"%s\" script (another script already exists " -"with this name)\n" +"%s plugin %s: unable to add handler for IRC command \"%s\" (not enough " +"memory)\n" msgstr "" -"Erreur %s: impossible d'enregistrer le script \"%s\" (un autre script existe " -"dj avec ce nom)\n" - -#: src/plugins/perl/wee-perl.c:112 src/plugins/perl/wee-perl.c:487 -#: src/plugins/python/wee-python.c:105 src/plugins/ruby/wee-ruby.c:113 -#, c-format -msgid "Registered %s script: \"%s\", version %s (%s)\n" -msgstr "Script %s enregistr: \"%s\", version %s (%s)\n" +"%s extension %s: impossible d'ajouter la fonction pour la commande IRC \"%s" +"\" (mmoire insuffisante)\n" -#: src/plugins/perl/wee-perl.c:119 src/plugins/perl/wee-perl.c:494 -#: src/plugins/python/wee-python.c:112 src/plugins/ruby/wee-ruby.c:120 +#: src/plugins/plugins.c:261 #, c-format -msgid "%s error: unable to load script \"%s\" (not enough memory)\n" +msgid "" +"%s plugin %s: unable to add handler for \"%s\" command (already exists)\n" msgstr "" -"Erreur %s: impossible de charger le script \"%s\" (mmoire insuffisante)\n" - -#: src/plugins/perl/wee-perl.c:234 src/plugins/perl/wee-perl.c:520 -#: src/plugins/perl/wee-perl.c:568 src/plugins/perl/wee-perl.c:595 -#: src/plugins/perl/wee-perl.c:640 src/plugins/perl/wee-perl.c:670 -#: src/plugins/perl/wee-perl.c:710 src/plugins/python/wee-python.c:60 -#: src/plugins/python/wee-python.c:142 src/plugins/python/wee-python.c:179 -#: src/plugins/python/wee-python.c:211 src/plugins/python/wee-python.c:243 -#: src/plugins/python/wee-python.c:272 src/plugins/python/wee-python.c:311 -#: src/plugins/ruby/wee-ruby.c:58 src/plugins/ruby/wee-ruby.c:146 -#: src/plugins/ruby/wee-ruby.c:192 src/plugins/ruby/wee-ruby.c:226 -#: src/plugins/ruby/wee-ruby.c:267 src/plugins/ruby/wee-ruby.c:298 -#: src/plugins/ruby/wee-ruby.c:339 -#, c-format -msgid "%s error: wrong parameters for \"%s\" function\n" -msgstr "Erreur %s: mauvais paramtres pour la fonction \"%s\"\n" - -#: src/plugins/perl/wee-perl.c:270 src/plugins/perl/wee-perl.c:374 -#: src/plugins/perl/wee-perl.c:723 src/plugins/python/wee-python.c:331 -#: src/plugins/ruby/wee-ruby.c:367 -#, c-format -msgid "%s error: server not found for \"%s\" function\n" -msgstr "Erreur %s: serveur non trouv pour la fonction \"%s\"\n" - -#: src/plugins/perl/wee-perl.c:873 src/plugins/python/wee-python.c:457 -#, c-format -msgid "Loading %s module \"weechat\"\n" -msgstr "Chargement du module %s \"weechat\"\n" - -#: src/plugins/perl/wee-perl.c:932 -#, c-format -msgid "Perl error: %s" -msgstr "Erreur Perl: %s" +"%s extension %s: impossible d'ajouter la fonction pour la commande \"%s" +"\" (existe dj)\n" -#: src/plugins/perl/wee-perl.c:942 +#: src/plugins/plugins.c:296 #, c-format -msgid "%s error: too much values from \"%s\" (%d). Expected: 1.\n" -msgstr "Erreur %s: trop de valeurs de \"%s\" (%d). Attendue: 1.\n" - -#: src/plugins/perl/wee-perl.c:964 src/plugins/perl/wee-perl.c:966 -#: src/plugins/python/wee-python.c:615 src/plugins/python/wee-python.c:617 -#, c-format -msgid "Loading %s script \"%s\"\n" -msgstr "Chargement du script %s \"%s\"\n" +msgid "" +"%s plugin %s: unable to add handler for \"%s\" command (not enough memory)\n" +msgstr "" +"%s extension %s: impossible d'ajouter la fonction pour la commande \"%s" +"\" (mmoire insuffisante)\n" -#: src/plugins/perl/wee-perl.c:1015 src/plugins/python/wee-python.c:686 -#: src/plugins/ruby/wee-ruby.c:555 +#: src/plugins/plugins.c:573 #, c-format -msgid "Unloading %s script \"%s\"\n" -msgstr "Dchargement du script %s \"%s\"\n" +msgid "%s unable to load plugin \"%s\": %s\n" +msgstr "%s impossible de charger l'extension \"%s\": %s\n" -#: src/plugins/perl/wee-perl.c:1032 src/plugins/python/wee-python.c:703 -#: src/plugins/ruby/wee-ruby.c:572 +#: src/plugins/plugins.c:584 #, c-format -msgid "Unloading all %s scripts...\n" -msgstr "Dchargement de tous les scripts %s...\n" +msgid "%s symbol \"plugin_name\" not found in plugin \"%s\", failed to load\n" +msgstr "" +"%s le symbole \"plugin_name\" est introuvable dans l'extension \"%s\", chec " +"de chargement\n" -#: src/plugins/perl/wee-perl.c:1037 src/plugins/python/wee-python.c:708 -#: src/plugins/ruby/wee-ruby.c:577 +#: src/plugins/plugins.c:595 #, c-format -msgid "%s scripts unloaded\n" -msgstr "Scripts %s dchargs\n" +msgid "" +"%s unable to load plugin \"%s\": a plugin with same name already exists\n" +msgstr "" +"%s impossible de charger l'extension \"%s\": une extension avec le mme nom " +"existe dj\n" -#: src/plugins/python/wee-python.c:452 +#: src/plugins/plugins.c:607 #, c-format -msgid "%s error: error while launching interpreter\n" -msgstr "Erreur %s: erreur pendant le chargement de l'interprteur\n" +msgid "" +"%s symbol \"plugin_description\" not found in plugin \"%s\", failed to load\n" +msgstr "" +"%s le symbole \"plugin_description\" est introuvable dans l'extension \"%s" +"\", chec de chargement\n" -#: src/plugins/python/wee-python.c:481 +#: src/plugins/plugins.c:618 #, c-format -msgid "%s error: error while redirecting stdout and stderr\n" -msgstr "Erreur %s: erreur en redirection de stdout et stderr\n" +msgid "" +"%s symbol \"plugin_version\" not found in plugin \"%s\", failed to load\n" +msgstr "" +"%s le symbole \"plugin_version\" est introuvable dans l'extension \"%s\", " +"chec de chargement\n" -#: src/plugins/python/wee-python.c:534 src/plugins/python/wee-python.c:562 -#: src/plugins/python/wee-python.c:594 +#: src/plugins/plugins.c:629 #, c-format -msgid "%s error: unable to run function \"%s\" in script (not enough memory)\n" +msgid "" +"%s function \"weechat_plugin_init\" not found in plugin \"%s\", failed to " +"load\n" msgstr "" -"Erreur %s: impossible d'excuter la fonction \"%s\" dans le script (mmoire " -"insuffisante)\n" +"%s la fonction \"weechat_plugin_init\" est introuvable dans l'extension \"%s" +"\", chec de chargement\n" -#: src/plugins/python/wee-python.c:584 +#: src/plugins/plugins.c:683 #, c-format -msgid "%s error: error while running function \"%s\"\n" -msgstr "Erreur %s: erreur dans la fonction \"%s\"\n" +msgid "Initializing plugin \"%s\" %s\n" +msgstr "Initialisation de l'extension \"%s\" %s\n" -#: src/plugins/python/wee-python.c:623 +#: src/plugins/plugins.c:691 #, c-format -msgid "%s error: error while opening file \"%s\"\n" -msgstr "Erreur %s: erreur l'ouverture du fichier \"%s\"\n" +msgid "%s unable to initialize plugin \"%s\"\n" +msgstr "%s impossible d'initialiser l'extension \"%s\"\n" -#: src/plugins/python/wee-python.c:632 +#: src/plugins/plugins.c:702 #, c-format -msgid "%s error: error while parsing file \"%s\"\n" -msgstr "Erreur %s: erreur en analysant le fichier \"%s\"\n" +msgid "%s unable to load plugin \"%s\" (not enough memory)\n" +msgstr "%s impossible de charger l'extension \"%s\" (mmoire insuffisante)\n" -#: src/plugins/python/wee-python.c:734 +#: src/plugins/plugins.c:710 #, c-format -msgid "%s error: error while freeing interpreter\n" -msgstr "Erreur %s: impossible de librer l'interprteur\n" +msgid "Plugin \"%s\" (%s) loaded.\n" +msgstr "Extension \"%s\" (%s) charge.\n" -#: src/plugins/plugins.c:97 +#: src/plugins/plugins.c:831 #, c-format -msgid "Auto-loading %s script: %s%s%s\n" -msgstr "Chargement automatique du script %s : %s%s%s\n" +msgid "Plugin \"%s\" unloaded.\n" +msgstr "Extension \"%s\" dcharge.\n" -#: src/plugins/plugins.c:223 +#: src/plugins/plugins.c:837 #, c-format -msgid "%s unable to add handler for \"%s\" message (not enough memory)\n" -msgstr "" -"%s impossible d'ajouter la fonction pour le message \"%s\" (mmoire " -"insuffisante)\n" +msgid "%s plugin \"%s\" not found\n" +msgstr "%s extension \"%s\" non trouve\n" #: src/gui/curses/gui-input.c:340 #, c-format @@ -2440,7 +2405,7 @@ msgstr "effacer la liste d'activit" msgid "grab a key" msgstr "capturer une touche" -#: src/gui/gui-keyboard.c:426 src/common/command.c:1594 +#: src/gui/gui-keyboard.c:426 src/common/command.c:1643 #, c-format msgid "%s unable to bind key \"%s\"\n" msgstr "%s impossible de crer la touche \"%s\"\n" @@ -2617,56 +2582,28 @@ msgstr "" "touches personnelles (utiliser avec prcaution !)" #: src/common/command.c:92 -msgid "list/load/unload Perl scripts" -msgstr "liste/charge/dcharge des scripts Perl" +msgid "list/load/unload plugins" +msgstr "liste/charge/dcharge des extensions" -#: src/common/command.c:93 src/common/command.c:98 src/common/command.c:103 +#: src/common/command.c:93 msgid "[load filename] | [autoload] | [reload] | [unload]" msgstr "[load fichier] | [autoload] | [reload] | [unload]" #: src/common/command.c:94 msgid "" -"filename: Perl script (file) to load\n" +"filename: WeeChat plugin (file) to load\n" "\n" -"Without argument, /perl command lists all loaded Perl scripts." +"Without argument, /plugin command lists all loaded plugins." msgstr "" -"fichier: script Perl (fichier) charger\n" +"fichier: extension WeeChat (fichier) charger\n" "\n" -"Sans paramtre, la commande /perl liste tous les scripts Perl chargs." +"Sans paramtre, la commande /plugin liste toutes les extensions charges." #: src/common/command.c:97 -msgid "list/load/unload Python scripts" -msgstr "liste/charge/dcharge des scripts Python" - -#: src/common/command.c:99 -msgid "" -"filename: Python script (file) to load\n" -"\n" -"Without argument, /python command lists all loaded Python scripts." -msgstr "" -"fichier: script Python (fichier) charger\n" -"\n" -"Sans paramtre, la commande /python liste tous les scripts Python chargs." - -#: src/common/command.c:102 -msgid "list/load/unload Ruby scripts" -msgstr "liste/charge/dcharge des scripts Ruby" - -#: src/common/command.c:104 -msgid "" -"filename: Ruby script (file) to load\n" -"\n" -"Without argument, /ruby command lists all loaded Ruby scripts." -msgstr "" -"fichier: script Ruby (fichier) charger\n" -"\n" -"Sans paramtre, la commande /ruby liste tous les scripts Ruby chargs." - -#: src/common/command.c:107 msgid "list, add or remove servers" msgstr "liste, ajoute ou retire des serveurs" -#: src/common/command.c:108 +#: src/common/command.c:98 msgid "" "[servername] | [servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-" "pwd password] [-nicks nick1 nick2 nick3] [-username username] [-realname " @@ -2678,7 +2615,7 @@ msgstr "" "nom_utilisateur] [-realname nom_rel] [-command commande] [-autojoin canal[," "canal]] ] | [del nom_serveur]" -#: src/common/command.c:113 +#: src/common/command.c:103 msgid "" "servername: server name, for internal & display use\n" "hostname: name or IP address of server\n" @@ -2704,27 +2641,27 @@ msgstr "" "nom_utilisateur: nom d'utilisateur\n" "nom_rel: nom rel de l'utilisateur" -#: src/common/command.c:125 +#: src/common/command.c:115 msgid "save config to disk" msgstr "sauvegarder la configuration sur disque" -#: src/common/command.c:126 +#: src/common/command.c:116 msgid "[file]" msgstr "[fichier]" -#: src/common/command.c:126 +#: src/common/command.c:116 msgid "file: filename for writing config" msgstr "fichier: fichier pour sauvegarder la configuration" -#: src/common/command.c:128 +#: src/common/command.c:118 msgid "set config parameters" msgstr "modifier des paramtres de configuration" -#: src/common/command.c:129 +#: src/common/command.c:119 msgid "[option [ = value]]" msgstr "[option [ = valeur]]" -#: src/common/command.c:130 +#: src/common/command.c:120 msgid "" "option: name of an option (if name is full and no value is given, then help " "is displayed on option)\n" @@ -2734,27 +2671,27 @@ msgstr "" "donne, alors l'aide sur l'option est affiche)\n" "valeur: valeur pour l'option" -#: src/common/command.c:134 +#: src/common/command.c:124 msgid "remove an alias" msgstr "supprimer un alias" -#: src/common/command.c:135 +#: src/common/command.c:125 msgid "alias_name" msgstr "nom_alias" -#: src/common/command.c:135 +#: src/common/command.c:125 msgid "alias_name: name of alias to remove" msgstr "nom_alias: nom de l'alias supprimer" -#: src/common/command.c:137 +#: src/common/command.c:127 msgid "unignore IRC messages and/or hosts" msgstr "supprimer le ignore des messages IRC et/ou des masques" -#: src/common/command.c:138 +#: src/common/command.c:128 msgid "[number | [mask [[type | command] [channel [server]]]]]" msgstr "[nombre | [masque [[type | commande] [canal [serveur]]]]]" -#: src/common/command.c:139 +#: src/common/command.c:129 msgid "" " number: # of ignore to unignore (number is displayed by list of ignore)\n" " mask: nick or host mask to unignore\n" @@ -2777,15 +2714,15 @@ msgstr "" "Pour chaque paramtre, '*' signifie tou(te)s.\n" "Sans paramtre, /ignore liste les ignore dfinis." -#: src/common/command.c:148 +#: src/common/command.c:138 msgid "manage windows" msgstr "gestion des fentres" -#: src/common/command.c:149 +#: src/common/command.c:139 msgid "[list | splith | splitv | [merge [down | up | left | right | all]]]" msgstr "[list | splith | splitv | [merge [down | up | left | right | all]]]" -#: src/common/command.c:150 +#: src/common/command.c:140 msgid "" "list: list opened windows (no parameter implies this list)\n" "splith: split current window horizontally\n" @@ -2797,29 +2734,29 @@ msgstr "" "splitv: clate la fentre en deux verticalement\n" "merge: fusionne la fentre avec une autre" -#: src/common/command.c:296 +#: src/common/command.c:286 #, c-format msgid "%s alias or command \"%s\" already exists!\n" msgstr "%s l'alias ou la commande \"%s\" existe dj !\n" -#: src/common/command.c:306 +#: src/common/command.c:296 #, c-format msgid "%s alias cannot run another alias!\n" msgstr "%s l'alias ne peut pas lancer un autre alias !\n" -#: src/common/command.c:313 +#: src/common/command.c:303 #, c-format msgid "%s target command \"%s\" does not exist!\n" msgstr "%s la commande cible \"%s\" n'existe pas !\n" -#: src/common/command.c:521 +#: src/common/command.c:532 #, c-format msgid "%s wrong argument count for %s command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s nombre de paramtres incorrect pour la commande %s \"%s\" (attendu: %d " "paramtre%s)\n" -#: src/common/command.c:533 +#: src/common/command.c:544 #, c-format msgid "" "%s wrong argument count for %s command \"%s\" (expected: between %d and %d " @@ -2828,19 +2765,19 @@ msgstr "" "%s nombre de paramtres incorrect pour la commande %s \"%s\" (attendu: entre " "%d et %d paramtre%s)\n" -#: src/common/command.c:555 src/common/command.c:625 +#: src/common/command.c:566 src/common/command.c:631 #, c-format msgid "%s command \"%s\" failed\n" msgstr "%s la commande \"%s\" a chou\n" -#: src/common/command.c:583 +#: src/common/command.c:589 #, c-format msgid "%s wrong argument count for IRC command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s nombre de paramtres incorrect pour la commande IRC \"%s\" (attendu: %d " "paramtre%s)\n" -#: src/common/command.c:595 +#: src/common/command.c:601 #, c-format msgid "" "%s wrong argument count for IRC command \"%s\" (expected: between %d and %d " @@ -2849,289 +2786,263 @@ msgstr "" "%s nombre de paramtres incorrect pour la commande IRC \"%s\" (attendu: " "entre %d et %d paramtre%s)\n" -#: src/common/command.c:610 +#: src/common/command.c:616 #, c-format msgid "%s command \"%s\" needs a server connection!\n" msgstr "%s la commande \"%s\" ncessite une connexion au serveur !\n" -#: src/common/command.c:674 +#: src/common/command.c:670 #, c-format msgid "%s unknown command \"%s\" (type /help for help)\n" msgstr "%s commande \"%s\" inconnue (tapez /help pour l'aide)\n" -#: src/common/command.c:777 +#: src/common/command.c:770 #, c-format msgid "%s unable to call handler for message (not enough memory)\n" msgstr "" "%s impossible d'appeler la fonction pour le message (mmoire insuffisante)\n" -#: src/common/command.c:785 +#: src/common/command.c:778 msgid "This window is not a channel!\n" msgstr "Cette fentre n'est pas un canal !\n" -#: src/common/command.c:813 src/common/command.c:837 src/common/command.c:947 +#: src/common/command.c:806 src/common/command.c:830 src/common/command.c:940 #, c-format msgid "%s missing arguments for \"%s\" command\n" msgstr "%s paramtres manquants pour la commande \"%s\"\n" -#: src/common/command.c:822 +#: src/common/command.c:815 #, c-format msgid "Alias \"%s\" => \"%s\" created\n" msgstr "Alias \"%s\" => \"%s\" cr\n" -#: src/common/command.c:828 +#: src/common/command.c:821 #, c-format msgid "Failed to create alias \"%s\" => \"%s\" (not enough memory)\n" msgstr "Impossible de crer l'alias \"%s\" => \"%s\" (pas assez de mmoire)\n" -#: src/common/command.c:848 +#: src/common/command.c:841 msgid "List of aliases:\n" msgstr "Liste des alias:\n" -#: src/common/command.c:860 +#: src/common/command.c:853 msgid "No alias defined.\n" msgstr "Aucun alias dfini.\n" -#: src/common/command.c:883 +#: src/common/command.c:876 msgid "Channel: " msgstr "Canal: " -#: src/common/command.c:886 src/common/command.c:896 +#: src/common/command.c:879 src/common/command.c:889 msgid " (server: " msgstr " (serveur: " -#: src/common/command.c:893 +#: src/common/command.c:886 msgid "Private with: " msgstr "Priv avec: " -#: src/common/command.c:927 +#: src/common/command.c:920 msgid "Opened buffers:\n" msgstr "Tampons ouverts:\n" -#: src/common/command.c:970 +#: src/common/command.c:963 #, c-format msgid "%s incorrect buffer number\n" msgstr "%s numro de buffer incorrect\n" -#: src/common/command.c:984 +#: src/common/command.c:977 #, c-format msgid "%s can not close the single buffer\n" msgstr "%s impossible de fermer le tampon unique\n" -#: src/common/command.c:994 +#: src/common/command.c:987 #, c-format msgid "%s can not close server buffer while channels are opened\n" msgstr "" "%s impossible de fermer le tampon du serveur tant que des canaux sont " "ouverts\n" -#: src/common/command.c:1035 +#: src/common/command.c:1028 msgid "Notify levels: " msgstr "Niveaux de notification: " -#: src/common/command.c:1063 src/common/command.c:1085 +#: src/common/command.c:1056 src/common/command.c:1078 #, c-format msgid "%s incorrect notify level (must be between %d and %d)\n" msgstr "%s niveau de notification incorrect (doit tre entre %d et %d)\n" -#: src/common/command.c:1072 +#: src/common/command.c:1065 #, c-format msgid "%s incorrect buffer for notify (must be channel or private)\n" msgstr "" "%s tampon incorrect pour la notification (doit tre un canal ou un priv)\n" -#: src/common/command.c:1152 +#: src/common/command.c:1145 #, c-format msgid "unknown parameter \"%s\" for \"%s\" command\n" msgstr "paramtre inconnu \"%s\" pour la commande \"%s\"\n" -#: src/common/command.c:1182 +#: src/common/command.c:1175 #, c-format msgid "%s already connected to server \"%s\"!\n" msgstr "%s dj connect au serveur \"%s\" !\n" -#: src/common/command.c:1190 +#: src/common/command.c:1183 #, c-format msgid "%s currently connecting to server \"%s\"!\n" msgstr "%s une connexion vers le serveur \"%s\" est en cours !\n" -#: src/common/command.c:1208 src/common/command.c:1283 +#: src/common/command.c:1201 src/common/command.c:1276 #, c-format msgid "%s server not found\n" msgstr "%s serveur non trouv\n" -#: src/common/command.c:1238 src/common/command.c:1722 -#: src/common/command.c:1865 src/common/command.c:2008 -#: src/common/command.c:2828 src/common/command.c:2844 +#: src/common/command.c:1231 src/common/command.c:1753 +#: src/common/command.c:2572 src/common/command.c:2588 #, c-format msgid "%s unknown option for \"%s\" command\n" msgstr "%s option inconnue pour la commande \"%s\"\n" -#: src/common/command.c:1267 +#: src/common/command.c:1260 #, c-format msgid "%s not connected to server \"%s\"!\n" msgstr "%s non connect au serveur \"%s\" !\n" -#: src/common/command.c:1275 +#: src/common/command.c:1268 msgid "Auto-reconnection is cancelled\n" msgstr "La reconnexion automatique est annule\n" -#: src/common/command.c:1301 src/common/weechat.c:346 +#: src/common/command.c:1299 src/common/weechat.c:349 #, c-format msgid "%s internal commands:\n" msgstr "Commandes internes %s :\n" -#: src/common/command.c:1310 src/common/weechat.c:366 +#: src/common/command.c:1308 src/common/weechat.c:369 #, c-format msgid "IRC commands:\n" msgstr "Commandes IRC :\n" -#: src/common/command.c:1377 +#: src/common/command.c:1321 +msgid "Plugin commands:\n" +msgstr "Commandes d'extension :\n" + +#: src/common/command.c:1425 #, c-format msgid "No help available, \"%s\" is an unknown command\n" msgstr "Pas d'aide disponible, la commande \"%s\" est inconnue\n" -#: src/common/command.c:1398 +#: src/common/command.c:1447 msgid " ignoring " msgstr " ignore " -#: src/common/command.c:1422 +#: src/common/command.c:1471 msgid "List of ignore:\n" msgstr "Liste des ignore:\n" -#: src/common/command.c:1437 +#: src/common/command.c:1486 msgid "No ignore defined.\n" msgstr "Aucun ignore dfini.\n" -#: src/common/command.c:1463 +#: src/common/command.c:1512 msgid "New ignore:" msgstr "Nouveau ignore:" -#: src/common/command.c:1482 +#: src/common/command.c:1531 msgid "New key binding:\n" msgstr "Nouvelle touche:\n" -#: src/common/command.c:1515 +#: src/common/command.c:1564 msgid "Key bindings:\n" msgstr "Associations de touches:\n" -#: src/common/command.c:1527 +#: src/common/command.c:1576 #, c-format msgid "Key \"%s\" unbinded\n" msgstr "Touche \"%s\" supprime\n" -#: src/common/command.c:1532 +#: src/common/command.c:1581 #, c-format msgid "%s unable to unbind key \"%s\"\n" msgstr "%s impossible de supprimer la touche \"%s\"\n" -#: src/common/command.c:1540 src/common/weechat.c:397 +#: src/common/command.c:1589 src/common/weechat.c:400 #, c-format msgid "Internal key functions:\n" msgstr "Fonctions internes pour les touches:\n" -#: src/common/command.c:1559 +#: src/common/command.c:1608 msgid "Default key bindings restored\n" msgstr "Touches par dfaut restaures\n" -#: src/common/command.c:1565 +#: src/common/command.c:1614 #, c-format msgid "%s \"-yes\" argument is required for keys reset (securuty reason)\n" msgstr "" "%s le paramtre \"-yes\" est requis pour la rinitialisation des touches " "(raison de scurit)\n" -#: src/common/command.c:1621 src/common/command.c:1764 -#: src/common/command.c:1907 -#, c-format -msgid "Registered %s scripts:\n" -msgstr "Scripts %s enregistrs :\n" +#: src/common/command.c:1670 +msgid "Plugins loaded:\n" +msgstr "Extensions charges :\n" -#: src/common/command.c:1638 src/common/command.c:1661 -#: src/common/command.c:1684 src/common/command.c:1781 -#: src/common/command.c:1804 src/common/command.c:1827 -#: src/common/command.c:1924 src/common/command.c:1947 -#: src/common/command.c:1970 -msgid " (none)\n" -msgstr " (aucun)\n" +#: src/common/command.c:1684 +msgid " message handlers:\n" +msgstr " fonctions de message :\n" -#: src/common/command.c:1643 src/common/command.c:1786 -#: src/common/command.c:1929 +#: src/common/command.c:1690 #, c-format -msgid "%s message handlers:\n" -msgstr "Fonctions %s pour messages :\n" +msgid " IRC(%s)\n" +msgstr " IRC(%s)\n" -#: src/common/command.c:1652 src/common/command.c:1795 -#: src/common/command.c:1938 -#, c-format -msgid " IRC(%s) => %s(%s)\n" -msgstr " IRC(%s) => %s(%s)\n" +#: src/common/command.c:1696 +msgid " (no message handler)\n" +msgstr " (aucunne fonction de message)\n" -#: src/common/command.c:1666 src/common/command.c:1809 -#: src/common/command.c:1952 -#, c-format -msgid "%s command handlers:\n" -msgstr "Commandes %s :\n" +#: src/common/command.c:1701 +msgid " command handlers:\n" +msgstr " commandes :\n" -#: src/common/command.c:1675 src/common/command.c:1818 -#: src/common/command.c:1961 -#, c-format -msgid " Command /%s => %s(%s)\n" -msgstr " Commande /%s => %s(%s)\n" +#: src/common/command.c:1718 +msgid " (no command handler)\n" +msgstr " (aucune commande)\n" -#: src/common/command.c:1735 -msgid "" -"WeeChat was build without Perl support.\n" -"Please rebuild WeeChat with \"--enable-perl\" option for ./configure script\n" -msgstr "" -"WeeChat a t construit sans le support Perl.\n" -"Merci de reconstruire WeeChat avec l'option \"--enable-perl\" pour le " -"script ./configure\n" - -#: src/common/command.c:1878 -msgid "" -"WeeChat was build without Python support.\n" -"Please rebuild WeeChat with \"--enable-python\" option for ./configure " -"script\n" -msgstr "" -"WeeChat a t construit sans le support Python.\n" -"Merci de reconstruire WeeChat avec l'option \"--enable-python\" pour le " -"script ./configure\n" +#: src/common/command.c:1724 +msgid " (no plugin)\n" +msgstr " (aucune extension)\n" -#: src/common/command.c:2021 +#: src/common/command.c:1766 msgid "" -"WeeChat was build without Ruby support.\n" -"Please rebuild WeeChat with \"--enable-ruby\" option for ./configure script\n" +"Command \"plugin\" is not available, WeeChat was built without plugins " +"support.\n" msgstr "" -"WeeChat a t construit sans le support Ruby.\n" -"Merci de reconstruire WeeChat avec l'option \"--enable-ruby\" pour le " -"script ./configure\n" +"La commande \"plugin\" n'est pas disponible, WeeChat a t compil sans le " +"support des extensions.\n" -#: src/common/command.c:2069 +#: src/common/command.c:1813 msgid "No server.\n" msgstr "Pas de serveur.\n" -#: src/common/command.c:2080 +#: src/common/command.c:1824 #, c-format msgid "Server '%s' not found.\n" msgstr "Serveur '%s' non trouv.\n" -#: src/common/command.c:2092 +#: src/common/command.c:1836 #, c-format msgid "%s missing servername for \"%s\" command\n" msgstr "%s il manque le nom du serveur pour la commande \"%s\"\n" -#: src/common/command.c:2100 +#: src/common/command.c:1844 #, c-format msgid "%s too much arguments for \"%s\" command, ignoring arguments\n" msgstr "%s trop de paramtres pour la commande \"%s\", paramtres ignors\n" -#: src/common/command.c:2119 +#: src/common/command.c:1863 #, c-format msgid "%s server \"%s\" not found for \"%s\" command\n" msgstr "%s le serveur \"%s\" n'existe pas pour la commande \"%s\"\n" -#: src/common/command.c:2127 +#: src/common/command.c:1871 #, c-format msgid "" "%s you can not delete server \"%s\" because you are connected to. Try /" @@ -3140,172 +3051,172 @@ msgstr "" "%s vous ne pouvez pas supprimer le server \"%s\" car vous tes connect " "dessus. Essayez /disconnect %s avant.\n" -#: src/common/command.c:2143 src/common/command.c:2289 +#: src/common/command.c:1887 src/common/command.c:2033 msgid "Server" msgstr "Serveur" -#: src/common/command.c:2146 +#: src/common/command.c:1890 msgid "has been deleted\n" msgstr "a t supprim\n" -#: src/common/command.c:2161 +#: src/common/command.c:1905 #, c-format msgid "%s missing parameters for \"%s\" command\n" msgstr "%s paramtres manquants pour la commande \"%s\"\n" -#: src/common/command.c:2171 +#: src/common/command.c:1915 #, c-format msgid "%s server \"%s\" already exists, can't create it!\n" msgstr "%s le serveur \"%s\" existe dj, impossible de le crer !\n" -#: src/common/command.c:2200 src/common/command.c:2228 -#: src/common/command.c:2241 src/common/command.c:2267 +#: src/common/command.c:1944 src/common/command.c:1972 +#: src/common/command.c:1985 src/common/command.c:2011 #, c-format msgid "%s missing password for \"%s\" parameter\n" msgstr "%s mot de passe manquant pour le paramtre \"%s\"\n" -#: src/common/command.c:2213 +#: src/common/command.c:1957 #, c-format msgid "%s missing nick(s) for \"%s\" parameter\n" msgstr "%s pseudo(s) manquant(s) pour le paramtre \"%s\"\n" -#: src/common/command.c:2254 +#: src/common/command.c:1998 #, c-format msgid "%s missing command for \"%s\" parameter\n" msgstr "%s commande manquante pour le paramtre \"%s\"\n" -#: src/common/command.c:2292 +#: src/common/command.c:2036 msgid "created\n" msgstr "cr\n" -#: src/common/command.c:2298 +#: src/common/command.c:2042 #, c-format msgid "%s unable to create server\n" msgstr "%s impossible de crer le serveur\n" -#: src/common/command.c:2353 +#: src/common/command.c:2097 msgid "(unknown)" msgstr "(inconnu)" -#: src/common/command.c:2376 +#: src/common/command.c:2120 msgid "(password hidden) " msgstr "(mot de passe cach) " -#: src/common/command.c:2440 +#: src/common/command.c:2184 #, c-format msgid "%s server \"%s\" not found\n" msgstr "%s serveur \"%s\" non trouv\n" -#: src/common/command.c:2471 src/common/command.c:2517 +#: src/common/command.c:2215 src/common/command.c:2261 #, c-format msgid "%s config option \"%s\" not found\n" msgstr "%s option de configuration \"%s\" non trouve\n" -#: src/common/command.c:2476 src/common/command.c:2509 +#: src/common/command.c:2220 src/common/command.c:2253 #, c-format msgid "%s incorrect value for option \"%s\"\n" msgstr "%s valeur incorrecte pour l'option \"%s\"\n" -#: src/common/command.c:2492 +#: src/common/command.c:2236 #, c-format msgid "%s option \"%s\" can not be changed while WeeChat is running\n" msgstr "%s l'option \"%s\" ne peut pas tre change lorsque WeeChat tourne\n" -#: src/common/command.c:2597 +#: src/common/command.c:2341 #, c-format msgid "No config option found with \"%s\"\n" msgstr "Aucune option de configuration trouve avec \"%s\"\n" -#: src/common/command.c:2600 +#: src/common/command.c:2344 msgid "No config option found\n" msgstr "Aucune option de configuration trouve\n" -#: src/common/command.c:2607 +#: src/common/command.c:2351 msgid "Detail:\n" msgstr "Dtail :\n" -#: src/common/command.c:2611 src/common/weechat.c:283 +#: src/common/command.c:2355 src/common/weechat.c:286 #, c-format msgid " . type boolean (values: 'on' or 'off')\n" msgstr " . type boolen (valeurs: 'on' ou 'off')\n" -#: src/common/command.c:2612 src/common/command.c:2635 -#: src/common/command.c:2641 src/common/command.c:2647 -#: src/common/weechat.c:284 src/common/weechat.c:307 src/common/weechat.c:313 -#: src/common/weechat.c:319 +#: src/common/command.c:2356 src/common/command.c:2379 +#: src/common/command.c:2385 src/common/command.c:2391 +#: src/common/weechat.c:287 src/common/weechat.c:310 src/common/weechat.c:316 +#: src/common/weechat.c:322 #, c-format msgid " . default value: '%s'\n" msgstr " . valeur par dfaut: '%s'\n" -#: src/common/command.c:2617 src/common/weechat.c:289 +#: src/common/command.c:2361 src/common/weechat.c:292 #, c-format msgid " . type integer (values: between %d and %d)\n" msgstr " . type entier (valeurs: entre %d et %d)\n" -#: src/common/command.c:2620 src/common/weechat.c:292 +#: src/common/command.c:2364 src/common/weechat.c:295 #, c-format msgid " . default value: %d\n" msgstr " . valeur par dfaut: %d\n" -#: src/common/command.c:2624 src/common/weechat.c:296 +#: src/common/command.c:2368 src/common/weechat.c:299 #, c-format msgid " . type string (values: " msgstr " . type chane (valeurs: " -#: src/common/command.c:2637 src/common/command.c:2643 -#: src/common/command.c:2649 src/common/weechat.c:309 src/common/weechat.c:315 -#: src/common/weechat.c:321 +#: src/common/command.c:2381 src/common/command.c:2387 +#: src/common/command.c:2393 src/common/weechat.c:312 src/common/weechat.c:318 +#: src/common/weechat.c:324 msgid "empty" msgstr "vide" -#: src/common/command.c:2640 src/common/weechat.c:312 +#: src/common/command.c:2384 src/common/weechat.c:315 #, c-format msgid " . type color (Curses or Gtk color, look at WeeChat doc)\n" msgstr " . type couleur (couleur Curses ou Gtk, voir la doc WeeChat)\n" -#: src/common/command.c:2646 src/common/weechat.c:318 +#: src/common/command.c:2390 src/common/weechat.c:321 #, c-format msgid " . type string (any string)\n" msgstr " . type chane (toute chane)\n" -#: src/common/command.c:2652 src/common/weechat.c:324 +#: src/common/command.c:2396 src/common/weechat.c:327 #, c-format msgid " . description: %s\n" msgstr " . description: %s\n" -#: src/common/command.c:2659 +#: src/common/command.c:2403 #, c-format msgid "config option(s) found with \"%s\"\n" msgstr "option(s) de configuration trouve(s) avec \"%s\"\n" -#: src/common/command.c:2662 +#: src/common/command.c:2406 msgid "config option(s) found\n" msgstr "option(s) de configuration trouve(s)\n" -#: src/common/command.c:2683 +#: src/common/command.c:2427 #, c-format msgid "%s alias or command \"%s\" not found\n" msgstr "%s alias ou commande \"%s\" non trouv\n" -#: src/common/command.c:2693 +#: src/common/command.c:2437 #, c-format msgid "Alias \"%s\" removed\n" msgstr "Alias \"%s\" supprim\n" -#: src/common/command.c:2746 +#: src/common/command.c:2490 msgid "ignore were removed.\n" msgstr "ignore ont t supprims.\n" -#: src/common/command.c:2748 +#: src/common/command.c:2492 msgid "ignore was removed.\n" msgstr "ignore a t supprim.\n" -#: src/common/command.c:2753 +#: src/common/command.c:2497 #, c-format msgid "%s no ignore found\n" msgstr "%s aucun ignore trouv\n" -#: src/common/command.c:2776 +#: src/common/command.c:2520 msgid "Opened windows:\n" msgstr "Fentres ouvertes:\n" @@ -3368,7 +3279,7 @@ msgstr "**** Dbut du log " msgid "**** End of log " msgstr "**** Fin du log " -#: src/common/weechat.c:270 +#: src/common/weechat.c:273 #, c-format msgid "" "WeeChat configuration options (~/.weechat/weechat.rc):\n" @@ -3377,7 +3288,7 @@ msgstr "" "Options de configuration de WeeChat (~/.weechat/weechat.rc):\n" "\n" -#: src/common/weechat.c:331 +#: src/common/weechat.c:334 #, c-format msgid "" "Moreover, you can define aliases in [alias] section, by adding lines like:\n" @@ -3385,7 +3296,7 @@ msgstr "" "De plus, vous pouvez dfinir des alias dans la section [alias], en ajoutant " "des lignes comme :\n" -#: src/common/weechat.c:333 +#: src/common/weechat.c:336 #, c-format msgid "" "where 'j' is alias name, and 'join' associated command.\n" @@ -3394,62 +3305,62 @@ msgstr "" "o 'j' est le nom de l'alias, et 'join' la commande associe.\n" "\n" -#: src/common/weechat.c:418 +#: src/common/weechat.c:421 #, c-format msgid "%s default keys:\n" msgstr "Touches par dfaut %s:\n" -#: src/common/weechat.c:498 +#: src/common/weechat.c:501 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s syntaxe invalide pour le serveur IRC ('%s'), ignor\n" -#: src/common/weechat.c:511 +#: src/common/weechat.c:514 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s impossible de crer le serveur ('%s'), ignor\n" -#: src/common/weechat.c:520 +#: src/common/weechat.c:523 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s paramtre inconnu '%s', ignor\n" -#: src/common/weechat.c:540 +#: src/common/weechat.c:543 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s impossible de crer le rpertoire \"%s\"\n" -#: src/common/weechat.c:566 +#: src/common/weechat.c:569 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s impossible de lire le rpertoire personnel\n" -#: src/common/weechat.c:575 +#: src/common/weechat.c:578 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s pas assez de mmoire pour le rpertoire personnel\n" -#: src/common/weechat.c:585 +#: src/common/weechat.c:588 #, c-format msgid "%s unable to create ~/.weechat directory\n" msgstr "%s impossible de crer le rpertoire ~/.weechat\n" -#: src/common/weechat.c:637 +#: src/common/weechat.c:601 #, c-format msgid "%s unable to create ~/.weechat/logs directory\n" msgstr "%s impossible de crer le rpertoire ~/.weechat/logs\n" -#: src/common/weechat.c:680 +#: src/common/weechat.c:644 #, c-format msgid "%s unable to create/append to log file (~/.weechat/%s)" msgstr "%s impossible de crer/ajouter dans le fichier de log (~/.weechat/%s)" -#: src/common/weechat.c:703 +#: src/common/weechat.c:667 #, c-format msgid "%sWelcome to " msgstr "%sBienvenue dans " -#: src/common/weechat.c:716 src/common/weechat.c:725 +#: src/common/weechat.c:680 src/common/weechat.c:689 msgid "compiled on" msgstr "compil le" @@ -3461,33 +3372,33 @@ msgstr "Erreur WeeChat:" msgid "WeeChat Warning:" msgstr "Avertissement WeeChat:" -#: src/common/weeconfig.c:95 src/common/weeconfig.c:96 +#: src/common/weeconfig.c:96 src/common/weeconfig.c:97 msgid "set title for window (terminal for Curses GUI) with name & version" msgstr "" "dfinit le titre de la fentre (terminal pour l'interface Curses) avec le " "nom et la version" -#: src/common/weeconfig.c:99 src/common/weeconfig.c:100 +#: src/common/weeconfig.c:100 src/common/weeconfig.c:101 msgid "display WeeChat logo at startup" msgstr "afficher le logo WeeChat au dmarrage" -#: src/common/weeconfig.c:103 src/common/weeconfig.c:104 +#: src/common/weeconfig.c:104 src/common/weeconfig.c:105 msgid "display WeeChat version at startup" msgstr "afficher la version de WeeChat au dmarrage" -#: src/common/weeconfig.c:107 +#: src/common/weeconfig.c:108 msgid "WeeChat slogan" msgstr "slogan WeeChat" -#: src/common/weeconfig.c:108 +#: src/common/weeconfig.c:109 msgid "WeeChat slogan (if empty, slogan is not used)" msgstr "slogan WeeChat (si vide, le slogan ne sera pas utilis)" -#: src/common/weeconfig.c:111 +#: src/common/weeconfig.c:112 msgid "charset for decoding messages from server" msgstr "jeu de caractres pour dcoder les messages du serveur" -#: src/common/weeconfig.c:112 +#: src/common/weeconfig.c:113 msgid "" "charset for decoding messages from server, examples: UTF-8, ISO-8859-1 (if " "empty, messages are not converted)" @@ -3495,11 +3406,11 @@ msgstr "" "jeu de caractres pour dcoder les messages du serveur, exemples: UTF-8, ISO-" "8859-1 (si non renseign, les messages ne sont pas convertis)" -#: src/common/weeconfig.c:115 +#: src/common/weeconfig.c:116 msgid "charset for encoding messages sent to server" msgstr "jeu de caractres pour encoder les messages envoys au serveur" -#: src/common/weeconfig.c:116 +#: src/common/weeconfig.c:117 msgid "" "charset for encoding messages sent to server, examples: UFT-8, ISO-8859-1 " "(if empty, local charset is used)" @@ -3507,11 +3418,11 @@ msgstr "" "jeu de caractres pour encoder les messages envoys au serveur, exemples: " "UFT-8, ISO-8859-1 (si non renseign, le jeu de caractres local est utilis)" -#: src/common/weeconfig.c:119 +#: src/common/weeconfig.c:120 msgid "internal WeeChat charset (should be ISO)" msgstr "jeu de caractres interne WeeChat (devrait tre ISO)" -#: src/common/weeconfig.c:120 +#: src/common/weeconfig.c:121 msgid "" "internal WeeChat charset, should be ISO-xxxx even if locale is UTF-8 (if " "empty, local charset is used)" @@ -3519,49 +3430,49 @@ msgstr "" "jeu de caractres interne WeeChat, devrait tre ISO-xxxx mme si la locale " "est UTF-8 (si non renseign, le jeu de caractres local est utilis)" -#: src/common/weeconfig.c:123 src/common/weeconfig.c:124 +#: src/common/weeconfig.c:124 src/common/weeconfig.c:125 msgid "timestamp for buffers" msgstr "horodatage pour les tampons" -#: src/common/weeconfig.c:127 src/common/weeconfig.c:128 +#: src/common/weeconfig.c:128 src/common/weeconfig.c:129 msgid "display nick names with different colors" msgstr "afficher les utilisateurs avec diffrentes couleurs" -#: src/common/weeconfig.c:131 src/common/weeconfig.c:132 +#: src/common/weeconfig.c:132 src/common/weeconfig.c:133 msgid "number of colors to use for nicks colors" msgstr "nombre de couleurs utiliser pour les couleurs des pseudos" -#: src/common/weeconfig.c:135 src/common/weeconfig.c:136 +#: src/common/weeconfig.c:136 src/common/weeconfig.c:137 msgid "display actions with different colors" msgstr "afficher les actions avec diffrentes couleurs" -#: src/common/weeconfig.c:139 src/common/weeconfig.c:140 +#: src/common/weeconfig.c:140 src/common/weeconfig.c:141 msgid "remove colors from incoming messages" msgstr "supprimer les couleurs dans les messages entrants" -#: src/common/weeconfig.c:143 +#: src/common/weeconfig.c:144 msgid "display nicklist window" msgstr "afficher la fentre des utilisateurs" -#: src/common/weeconfig.c:144 +#: src/common/weeconfig.c:145 msgid "display nicklist window (for channel windows)" msgstr "afficher la fentre des utilisateurs (pour les fentres de canaux)" -#: src/common/weeconfig.c:147 +#: src/common/weeconfig.c:148 msgid "nicklist position" msgstr "position de la fentre d'utilisateurs" -#: src/common/weeconfig.c:148 +#: src/common/weeconfig.c:149 msgid "nicklist position (top, left, right (default), bottom)" msgstr "" "position de la fentre d'utilisateurs (haut (top), gauche (left), droite " "(right, par dfaut), bas (bottom))" -#: src/common/weeconfig.c:151 +#: src/common/weeconfig.c:152 msgid "min size for nicklist" msgstr "taille minimum pour la fentre d'utilisateurs" -#: src/common/weeconfig.c:152 +#: src/common/weeconfig.c:153 msgid "" "min size for nicklist (width or height, depending on look_nicklist_position " "(0 = no min size))" @@ -3569,11 +3480,11 @@ msgstr "" "taille minimum pour la fentre d'utilisateurs (largeur ou hauteur, selon " "look_nicklist_position (0 = pas de taille minimum))" -#: src/common/weeconfig.c:156 +#: src/common/weeconfig.c:157 msgid "max size for nicklist" msgstr "taille maximum pour la fentre d'utilisateurs" -#: src/common/weeconfig.c:157 +#: src/common/weeconfig.c:158 msgid "" "max size for nicklist (width or height, depending on look_nicklist_position " "(0 = no max size; if min == max and > 0, then size is fixed))" @@ -3582,43 +3493,43 @@ msgstr "" "look_nicklist_position (0 = pas de taille maximum; si min == max et > 0, " "alors la taille est fixe))" -#: src/common/weeconfig.c:161 src/common/weeconfig.c:162 +#: src/common/weeconfig.c:162 src/common/weeconfig.c:163 msgid "text to display instead of nick when not connected" msgstr "" "texte afficher en lieu et place du nom d'utilisateur lorsque la connexion " "n'est pas active" -#: src/common/weeconfig.c:165 src/common/weeconfig.c:166 +#: src/common/weeconfig.c:166 src/common/weeconfig.c:167 msgid "display nick mode ((half)op/voice) before each nick" msgstr "" "afficher le mode de l'utilisateur ((half)op/voice) devant chaque utilisateur" -#: src/common/weeconfig.c:169 src/common/weeconfig.c:170 +#: src/common/weeconfig.c:170 src/common/weeconfig.c:171 msgid "display space if nick mode is not (half)op/voice" msgstr "afficher un espace si le mode utilisateur n'est pas (half)op/voice" -#: src/common/weeconfig.c:173 src/common/weeconfig.c:174 +#: src/common/weeconfig.c:174 src/common/weeconfig.c:175 msgid "the string inserted after nick completion" msgstr "la chane affiche aprs la compltion des utilisateurs" -#: src/common/weeconfig.c:177 src/common/weeconfig.c:178 +#: src/common/weeconfig.c:178 src/common/weeconfig.c:179 msgid "enable info bar" msgstr "active la barre d'infos" -#: src/common/weeconfig.c:181 src/common/weeconfig.c:182 +#: src/common/weeconfig.c:182 src/common/weeconfig.c:183 msgid "timestamp for time in infobar" msgstr "horodatage pour les conversations sauvegardes" -#: src/common/weeconfig.c:185 src/common/weeconfig.c:186 +#: src/common/weeconfig.c:186 src/common/weeconfig.c:187 msgid "display seconds in infobar time" msgstr "afficher les secondes pour l'heure dans la barre d'infos" -#: src/common/weeconfig.c:189 +#: src/common/weeconfig.c:190 msgid "delay (in seconds) for highlight messages in infobar" msgstr "" "dlai (en seconds) pour la notification des messages dans la barre d'infos" -#: src/common/weeconfig.c:190 +#: src/common/weeconfig.c:191 msgid "" "delay (in seconds) for highlight messages in infobar (0 = disable highlight " "notifications in infobar)" @@ -3626,22 +3537,22 @@ msgstr "" "dlai (en secondes) pour la notification des messages dans la barre d'infos " "(0 = dsactiver les notifications dans la barre d'infos)" -#: src/common/weeconfig.c:194 +#: src/common/weeconfig.c:195 msgid "max number of names in hotlist" msgstr "nombre maximum de noms dans la hotlist" -#: src/common/weeconfig.c:195 +#: src/common/weeconfig.c:196 msgid "" "max number of names in hotlist (0 = no name displayed, only buffer numbers)" msgstr "" "nombre maximum de noms dans la hotlist (0 = pas de nom affich, seulement " "les numros de tampons)" -#: src/common/weeconfig.c:198 +#: src/common/weeconfig.c:199 msgid "level for displaying names in hotlist" msgstr "niveau pour l'affichage des noms dans la hotlist" -#: src/common/weeconfig.c:199 +#: src/common/weeconfig.c:200 msgid "" "level for displaying names in hotlist (combination of: 1=join/part, " "2=message, 4=private, 8=highlight, for example: 12=private+highlight)" @@ -3649,309 +3560,309 @@ msgstr "" "niveau pour l'affichage des noms dans la hotlist (combinaison de: 1=join/" "part, 2=message, 4=priv, 8=highlight, par exemple: 12=priv+highlight)" -#: src/common/weeconfig.c:203 +#: src/common/weeconfig.c:204 msgid "max length of names in hotlist" msgstr "longueur maximum des noms dans la hotlist" -#: src/common/weeconfig.c:204 +#: src/common/weeconfig.c:205 msgid "max length of names in hotlist (0 = no limit)" msgstr "nombre maximum des noms dans la hotlist (0 = pas de limite)" -#: src/common/weeconfig.c:268 src/common/weeconfig.c:269 +#: src/common/weeconfig.c:269 src/common/weeconfig.c:270 msgid "color for title bar" msgstr "couleur pour la barre de titre" -#: src/common/weeconfig.c:272 src/common/weeconfig.c:273 +#: src/common/weeconfig.c:273 src/common/weeconfig.c:274 msgid "background for title bar" msgstr "couleur de fond pour la barre de titre" -#: src/common/weeconfig.c:278 src/common/weeconfig.c:279 +#: src/common/weeconfig.c:279 src/common/weeconfig.c:280 msgid "color for chat text" msgstr "couleur pour le texte de discussion" -#: src/common/weeconfig.c:282 +#: src/common/weeconfig.c:283 msgid "color for time" msgstr "couleur pour l'heure" -#: src/common/weeconfig.c:283 +#: src/common/weeconfig.c:284 msgid "color for time in chat window" msgstr "couleur pour l'heure dans la fentre de discussion" -#: src/common/weeconfig.c:286 +#: src/common/weeconfig.c:287 msgid "color for time separator" msgstr "couleur pour le sparateur de l'heure" -#: src/common/weeconfig.c:287 +#: src/common/weeconfig.c:288 msgid "color for time separator (chat window)" msgstr "couleur pour la sparation de l'heure (fentre de discussion)" -#: src/common/weeconfig.c:290 src/common/weeconfig.c:291 +#: src/common/weeconfig.c:291 src/common/weeconfig.c:292 msgid "color for 1st and 3rd char of prefix" msgstr "couleur pour le 1er et le 3me caractre du prfixe" -#: src/common/weeconfig.c:294 src/common/weeconfig.c:295 +#: src/common/weeconfig.c:295 src/common/weeconfig.c:296 msgid "color for middle char of prefix" msgstr "couleur pour le caractre du milieu du prfixe" -#: src/common/weeconfig.c:298 src/common/weeconfig.c:299 +#: src/common/weeconfig.c:299 src/common/weeconfig.c:300 msgid "color for join arrow (prefix)" msgstr "couleur pour la flche du join (prfixe)" -#: src/common/weeconfig.c:302 src/common/weeconfig.c:303 +#: src/common/weeconfig.c:303 src/common/weeconfig.c:304 msgid "color for part/quit arrow (prefix)" msgstr "couleur pour la flche du part/quit (prfixe)" -#: src/common/weeconfig.c:306 +#: src/common/weeconfig.c:307 msgid "color for nicks in actions" msgstr "couleur pour les noms d'utilisateur dans les actions" -#: src/common/weeconfig.c:307 +#: src/common/weeconfig.c:308 msgid "color for nicks in actions (chat window)" msgstr "" "couleur pour les noms d'utilisateurs dans les actions (fentre de discussion)" -#: src/common/weeconfig.c:310 +#: src/common/weeconfig.c:311 msgid "color for hostnames" msgstr "couleur pour les noms de machines" -#: src/common/weeconfig.c:311 +#: src/common/weeconfig.c:312 msgid "color for hostnames (chat window)" msgstr "couleur pour les noms de machines (fentre de discussion)" -#: src/common/weeconfig.c:314 +#: src/common/weeconfig.c:315 msgid "color for channel names in actions" msgstr "couleur pour les canaux dans les actions" -#: src/common/weeconfig.c:315 +#: src/common/weeconfig.c:316 msgid "color for channel names in actions (chat window)" msgstr "couleur pour les canaux dans les actions (fentre de discussion)" -#: src/common/weeconfig.c:318 +#: src/common/weeconfig.c:319 msgid "color for dark separators" msgstr "couleur pour les sparateurs sombres" -#: src/common/weeconfig.c:319 +#: src/common/weeconfig.c:320 msgid "color for dark separators (chat window)" msgstr "couleur pour les sparateurs sombres (fentre de discussion)" -#: src/common/weeconfig.c:322 +#: src/common/weeconfig.c:323 msgid "color for highlighted nick" msgstr "couleur pour le pseudo surlign" -#: src/common/weeconfig.c:323 +#: src/common/weeconfig.c:324 msgid "color for highlighted nick (chat window)" msgstr "couleur pour le pseudo surlign (fentre de discussion)" -#: src/common/weeconfig.c:326 +#: src/common/weeconfig.c:327 msgid "background for chat" msgstr "couleur de fond pour la discussion" -#: src/common/weeconfig.c:327 +#: src/common/weeconfig.c:328 msgid "background for chat window" msgstr "couleur de fond pour la fentre de discussion" -#: src/common/weeconfig.c:332 src/common/weeconfig.c:333 +#: src/common/weeconfig.c:333 src/common/weeconfig.c:334 msgid "color for status bar" msgstr "couleur pour la barre de statut" -#: src/common/weeconfig.c:336 src/common/weeconfig.c:337 +#: src/common/weeconfig.c:337 src/common/weeconfig.c:338 msgid "color for status bar delimiters" msgstr "couleur pour les dlimiteurs de la barre de statut" -#: src/common/weeconfig.c:340 src/common/weeconfig.c:341 +#: src/common/weeconfig.c:341 src/common/weeconfig.c:342 msgid "color for current channel in status bar" msgstr "couleur pour le canal courant dans la barre de statut" -#: src/common/weeconfig.c:344 +#: src/common/weeconfig.c:345 msgid "color for window with new messages" msgstr "couleur pour une fentre avec de nouvelles infos" -#: src/common/weeconfig.c:345 +#: src/common/weeconfig.c:346 msgid "color for window with new messages (status bar)" msgstr "couleur pour une fentre avec de nouvelles infos (barre de statut)" -#: src/common/weeconfig.c:348 +#: src/common/weeconfig.c:349 msgid "color for window with private message" msgstr "couleur pour une fentre avec un message priv" -#: src/common/weeconfig.c:349 +#: src/common/weeconfig.c:350 msgid "color for window with private message (status bar)" msgstr "couleur pour une fentre avec un message priv (barre de statut)" -#: src/common/weeconfig.c:352 +#: src/common/weeconfig.c:353 msgid "color for window with highlight" msgstr "couleur pour une fentre avec un highlight" -#: src/common/weeconfig.c:353 +#: src/common/weeconfig.c:354 msgid "color for window with highlight (status bar)" msgstr "couleur pour une fentre avec un highlight (barre de statut)" -#: src/common/weeconfig.c:356 +#: src/common/weeconfig.c:357 msgid "color for window with new data (not messages)" msgstr "couleur pour une fentre avec des nouvelles donnes (pas des infos)" -#: src/common/weeconfig.c:357 +#: src/common/weeconfig.c:358 msgid "color for window with new data (not messages) (status bar)" msgstr "" "couleur pour une fentre avec des nouvelles donnes (pas des infos) (barre " "de statut)" -#: src/common/weeconfig.c:360 +#: src/common/weeconfig.c:361 msgid "color for \"-MORE-\" text" msgstr "couleur pour le texte \"-PLUS-\"" -#: src/common/weeconfig.c:361 +#: src/common/weeconfig.c:362 msgid "color for window with new data (status bar)" msgstr "couleur pour une fentre avec des nouvelles donnes (barre de statut)" -#: src/common/weeconfig.c:364 src/common/weeconfig.c:365 +#: src/common/weeconfig.c:365 src/common/weeconfig.c:366 msgid "background for status window" msgstr "couleur de fond pour la fentre de statut" -#: src/common/weeconfig.c:370 src/common/weeconfig.c:371 +#: src/common/weeconfig.c:371 src/common/weeconfig.c:372 msgid "color for info bar text" msgstr "couleur pour la barre d'infos" -#: src/common/weeconfig.c:374 src/common/weeconfig.c:375 +#: src/common/weeconfig.c:375 src/common/weeconfig.c:376 msgid "color for infobar delimiters" msgstr "couleur pour les dlimiteurs de la barre d'infos" -#: src/common/weeconfig.c:378 src/common/weeconfig.c:379 +#: src/common/weeconfig.c:379 src/common/weeconfig.c:380 msgid "color for info bar highlight notification" msgstr "couleur pour la notification dans la barre d'infos" -#: src/common/weeconfig.c:382 src/common/weeconfig.c:383 +#: src/common/weeconfig.c:383 src/common/weeconfig.c:384 msgid "background for info bar window" msgstr "couleur de fond pour la fentre de barre d'infos" -#: src/common/weeconfig.c:388 src/common/weeconfig.c:389 +#: src/common/weeconfig.c:389 src/common/weeconfig.c:390 msgid "color for input text" msgstr "couleur pour le texte saisi" -#: src/common/weeconfig.c:392 src/common/weeconfig.c:393 +#: src/common/weeconfig.c:393 src/common/weeconfig.c:394 msgid "color for input text (channel name)" msgstr "couleur pour le texte saisi (nom du canal)" -#: src/common/weeconfig.c:396 src/common/weeconfig.c:397 +#: src/common/weeconfig.c:397 src/common/weeconfig.c:398 msgid "color for input text (nick name)" msgstr "couleur pour le texte saisi (pseudo)" -#: src/common/weeconfig.c:400 src/common/weeconfig.c:401 +#: src/common/weeconfig.c:401 src/common/weeconfig.c:402 msgid "color for input text (delimiters)" msgstr "couleur pour le texte saisi (dlimiteurs)" -#: src/common/weeconfig.c:404 src/common/weeconfig.c:405 +#: src/common/weeconfig.c:405 src/common/weeconfig.c:406 msgid "background for input window" msgstr "couleur de fond pour la fentre de saisie" -#: src/common/weeconfig.c:410 src/common/weeconfig.c:411 +#: src/common/weeconfig.c:411 src/common/weeconfig.c:412 msgid "color for nicknames" msgstr "couleur pour les pseudos" -#: src/common/weeconfig.c:414 src/common/weeconfig.c:415 +#: src/common/weeconfig.c:415 src/common/weeconfig.c:416 msgid "color for away nicknames" msgstr "couleur pour les pseudos absents" -#: src/common/weeconfig.c:418 +#: src/common/weeconfig.c:419 msgid "color for chan owner symbol" msgstr "couleur pour le symbole du propritaire du canal" -#: src/common/weeconfig.c:419 +#: src/common/weeconfig.c:420 msgid "color for chan owner symbol (specific to unrealircd)" msgstr "" "couleur pour le symbole du propritaire du canal (spcifique unrealircd)" -#: src/common/weeconfig.c:422 +#: src/common/weeconfig.c:423 msgid "color for chan admin symbol" msgstr "couleur pour le symbole administrateur du canal" -#: src/common/weeconfig.c:423 +#: src/common/weeconfig.c:424 msgid "color for chan admin symbol (specific to unrealircd)" msgstr "" "couleur pour le symbole administrateur du canal (spcifique unrealircd)" -#: src/common/weeconfig.c:426 src/common/weeconfig.c:427 +#: src/common/weeconfig.c:427 src/common/weeconfig.c:428 msgid "color for operator symbol" msgstr "couleur pour le symbole oprateur" -#: src/common/weeconfig.c:430 src/common/weeconfig.c:431 +#: src/common/weeconfig.c:431 src/common/weeconfig.c:432 msgid "color for half-operator symbol" msgstr "couleur pour le symbole demi-oprateur" -#: src/common/weeconfig.c:434 src/common/weeconfig.c:435 +#: src/common/weeconfig.c:435 src/common/weeconfig.c:436 msgid "color for voice symbol" msgstr "couleur pour le symbole voix" -#: src/common/weeconfig.c:438 src/common/weeconfig.c:439 +#: src/common/weeconfig.c:439 src/common/weeconfig.c:440 msgid "color for '+' when scrolling nicks" msgstr "couleur pour les '+' lors du scroll sur les pseudos" -#: src/common/weeconfig.c:442 src/common/weeconfig.c:443 +#: src/common/weeconfig.c:443 src/common/weeconfig.c:444 msgid "color for nick separator" msgstr "couleur pour le sparateur de pseudo" -#: src/common/weeconfig.c:446 src/common/weeconfig.c:447 +#: src/common/weeconfig.c:447 src/common/weeconfig.c:448 msgid "color for local nick" msgstr "couleur pour le pseudo local" -#: src/common/weeconfig.c:450 src/common/weeconfig.c:451 -#: src/common/weeconfig.c:454 src/common/weeconfig.c:455 -#: src/common/weeconfig.c:458 src/common/weeconfig.c:459 -#: src/common/weeconfig.c:462 src/common/weeconfig.c:463 -#: src/common/weeconfig.c:466 src/common/weeconfig.c:467 -#: src/common/weeconfig.c:470 src/common/weeconfig.c:471 -#: src/common/weeconfig.c:474 src/common/weeconfig.c:475 -#: src/common/weeconfig.c:478 src/common/weeconfig.c:479 -#: src/common/weeconfig.c:482 src/common/weeconfig.c:483 -#: src/common/weeconfig.c:486 src/common/weeconfig.c:487 +#: src/common/weeconfig.c:451 src/common/weeconfig.c:452 +#: src/common/weeconfig.c:455 src/common/weeconfig.c:456 +#: src/common/weeconfig.c:459 src/common/weeconfig.c:460 +#: src/common/weeconfig.c:463 src/common/weeconfig.c:464 +#: src/common/weeconfig.c:467 src/common/weeconfig.c:468 +#: src/common/weeconfig.c:471 src/common/weeconfig.c:472 +#: src/common/weeconfig.c:475 src/common/weeconfig.c:476 +#: src/common/weeconfig.c:479 src/common/weeconfig.c:480 +#: src/common/weeconfig.c:483 src/common/weeconfig.c:484 +#: src/common/weeconfig.c:487 src/common/weeconfig.c:488 msgid "color for nick" msgstr "couleur pour le pseudo" -#: src/common/weeconfig.c:490 src/common/weeconfig.c:491 +#: src/common/weeconfig.c:491 src/common/weeconfig.c:492 msgid "color for other nick in private window" msgstr "couleur pour l'autre pseudo dans la fentre prive" -#: src/common/weeconfig.c:494 src/common/weeconfig.c:495 +#: src/common/weeconfig.c:495 src/common/weeconfig.c:496 msgid "background for nicknames" msgstr "couleur de fond pour les pseudos" -#: src/common/weeconfig.c:500 +#: src/common/weeconfig.c:501 msgid "color for selected DCC" msgstr "couleur pour le DCC slectionn" -#: src/common/weeconfig.c:501 +#: src/common/weeconfig.c:502 msgid "color for selected DCC (chat window)" msgstr "couleur pour le DCC slectionn (fentre de discussion)" -#: src/common/weeconfig.c:504 src/common/weeconfig.c:505 +#: src/common/weeconfig.c:505 src/common/weeconfig.c:506 msgid "color for \"waiting\" dcc status" msgstr "couleur pour le statut dcc \"attente\"" -#: src/common/weeconfig.c:508 src/common/weeconfig.c:509 +#: src/common/weeconfig.c:509 src/common/weeconfig.c:510 msgid "color for \"connecting\" dcc status" msgstr "couleur pour le statut dcc \"connexion\"" -#: src/common/weeconfig.c:512 src/common/weeconfig.c:513 +#: src/common/weeconfig.c:513 src/common/weeconfig.c:514 msgid "color for \"active\" dcc status" msgstr "couleur pour le statut dcc \"actif\"" -#: src/common/weeconfig.c:516 src/common/weeconfig.c:517 +#: src/common/weeconfig.c:517 src/common/weeconfig.c:518 msgid "color for \"done\" dcc status" msgstr "couleur pour le statut dcc \"termin\"" -#: src/common/weeconfig.c:520 src/common/weeconfig.c:521 +#: src/common/weeconfig.c:521 src/common/weeconfig.c:522 msgid "color for \"failed\" dcc status" msgstr "couleur pour le statut dcc \"chou\"" -#: src/common/weeconfig.c:524 src/common/weeconfig.c:525 +#: src/common/weeconfig.c:525 src/common/weeconfig.c:526 msgid "color for \"aborted\" dcc status" msgstr "couleur pour le statut dcc \"interrompu\"" -#: src/common/weeconfig.c:538 +#: src/common/weeconfig.c:539 msgid "max lines in history (per window)" msgstr "nombre maxi de lignes dans l'historique (par fentre)" -#: src/common/weeconfig.c:539 +#: src/common/weeconfig.c:540 msgid "" "maximum number of lines in history for one server/channel/private window (0 " "= unlimited)" @@ -3959,354 +3870,385 @@ msgstr "" "nombre maximum de lignes dans l'historique pour un serveur/fentre/fentre " "prive (0 = sans limite)" -#: src/common/weeconfig.c:543 +#: src/common/weeconfig.c:544 msgid "max user commands in history" msgstr "nombre maxi de commandes utilisateur dans l'historique" -#: src/common/weeconfig.c:544 +#: src/common/weeconfig.c:545 msgid "maximum number of user commands in history (0 = unlimited)" msgstr "" "nombre maximum de commandes utilisateur dans l'historique (0 = sans limite)" -#: src/common/weeconfig.c:561 src/common/weeconfig.c:562 +#: src/common/weeconfig.c:562 src/common/weeconfig.c:563 msgid "automatically log server messages" msgstr "enregistrer automatiquement les messages du serveur" -#: src/common/weeconfig.c:565 src/common/weeconfig.c:566 +#: src/common/weeconfig.c:566 src/common/weeconfig.c:567 msgid "automatically log channel chats" msgstr "enregistrer automatiquement les conversations des canaux" -#: src/common/weeconfig.c:569 src/common/weeconfig.c:570 +#: src/common/weeconfig.c:570 src/common/weeconfig.c:571 msgid "automatically log private chats" msgstr "enregistrer automatiquement les conversations prives" -#: src/common/weeconfig.c:573 src/common/weeconfig.c:574 +#: src/common/weeconfig.c:574 src/common/weeconfig.c:575 msgid "log messages from plugins (scripts)" msgstr "enregistrer les messages des plugins (scripts)" -#: src/common/weeconfig.c:577 +#: src/common/weeconfig.c:578 msgid "path for log files" msgstr "chemin pour les conversations sauvegardes" -#: src/common/weeconfig.c:578 +#: src/common/weeconfig.c:579 msgid "path for WeeChat log files" msgstr "chemin pour les conversations sauvegardes par WeeChat" -#: src/common/weeconfig.c:581 +#: src/common/weeconfig.c:582 msgid "timestamp for log" msgstr "horodatage pour les conversations sauvegardes" -#: src/common/weeconfig.c:582 +#: src/common/weeconfig.c:583 msgid "timestamp for log (see man strftime for date/time specifiers)" msgstr "" "horodatage pour les conversations sauvegardes (voir man strftime pour le " "format de date/heure)" -#: src/common/weeconfig.c:585 src/common/weeconfig.c:586 +#: src/common/weeconfig.c:586 src/common/weeconfig.c:587 msgid "hide password displayed by nickserv" msgstr "masquer le mot de passe affich par nickserv" -#: src/common/weeconfig.c:607 +#: src/common/weeconfig.c:608 msgid "display message to all channels when away" msgstr "affiche un message sur tous les canaux pour l'absence" -#: src/common/weeconfig.c:608 +#: src/common/weeconfig.c:609 msgid "display message to all channels when (un)marking as away" msgstr "affiche un message sur tous les canaux pour l'absence/le retour" -#: src/common/weeconfig.c:611 src/common/weeconfig.c:612 +#: src/common/weeconfig.c:612 src/common/weeconfig.c:613 msgid "default message when away" msgstr "message par dfaut pour l'absence" -#: src/common/weeconfig.c:615 src/common/weeconfig.c:616 +#: src/common/weeconfig.c:616 src/common/weeconfig.c:617 msgid "default part message (leaving channel)" msgstr "message par dfaut pour le part (quitte un canal)" -#: src/common/weeconfig.c:619 +#: src/common/weeconfig.c:620 msgid "default quit message" msgstr "message de fin par dfaut" -#: src/common/weeconfig.c:620 +#: src/common/weeconfig.c:621 msgid "" "default quit message ('%v' will be replaced by WeeChat version in string)" msgstr "" "message de fin par dfaut ('%v' sera remplac par la version de WeeChat dans " "la chane)" -#: src/common/weeconfig.c:623 src/common/weeconfig.c:624 +#: src/common/weeconfig.c:624 src/common/weeconfig.c:625 msgid "display notices as private messages" msgstr "afficher les notices comme des messages privs" -#: src/common/weeconfig.c:627 +#: src/common/weeconfig.c:628 msgid "interval between two checks for away" msgstr "intervalle entre deux vrifications des absences" -#: src/common/weeconfig.c:628 +#: src/common/weeconfig.c:629 msgid "interval between two checks for away (in minutes, 0 = never check)" msgstr "" "intervalle entre deux vrifications des absences (en minutes, 0 = ne jemais " "vrifier)" -#: src/common/weeconfig.c:631 +#: src/common/weeconfig.c:632 msgid "interval between two checks for lag" msgstr "intervalle entre deux mesures de lag" -#: src/common/weeconfig.c:632 +#: src/common/weeconfig.c:633 msgid "interval between two checks for lag (in seconds)" msgstr "intervalle entre deux mesures de lag (en secondes)" -#: src/common/weeconfig.c:635 +#: src/common/weeconfig.c:636 msgid "minimum lag to show" msgstr "lag minimum afficher" -#: src/common/weeconfig.c:636 +#: src/common/weeconfig.c:637 msgid "minimum lag to show (in seconds)" msgstr "lag minimum afficher (en secondes)" -#: src/common/weeconfig.c:639 +#: src/common/weeconfig.c:640 msgid "disconnect after important lag" msgstr "dconnexion aprs un lag important" -#: src/common/weeconfig.c:640 +#: src/common/weeconfig.c:641 msgid "disconnect after important lag (in minutes, 0 = never disconnect)" msgstr "" "dconnexion aprs un lag important (en minutes, 0 = ne jamais se dconnecter)" -#: src/common/weeconfig.c:643 src/common/weeconfig.c:644 +#: src/common/weeconfig.c:644 src/common/weeconfig.c:645 msgid "create a FIFO pipe for remote control" msgstr "crer un tube FIFO pour le contrle distance" -#: src/common/weeconfig.c:647 +#: src/common/weeconfig.c:648 msgid "list of words to highlight" msgstr "liste de mots pour la notification" -#: src/common/weeconfig.c:648 +#: src/common/weeconfig.c:649 msgid "" "comma separated list of words to highlight (case insensitive comparison)" msgstr "" "liste des mots pour la notification (spars par des virgules, le " "comparaison ne tient pas compte de la casse)" -#: src/common/weeconfig.c:667 +#: src/common/weeconfig.c:668 msgid "automatically accept dcc files" msgstr "accepte automatiquement les fichiers dcc" -#: src/common/weeconfig.c:668 +#: src/common/weeconfig.c:669 msgid "automatically accept incoming dcc files" msgstr "accepte automatiquement les fichiers dcc entrants" -#: src/common/weeconfig.c:671 +#: src/common/weeconfig.c:672 msgid "automatically accept dcc chats" msgstr "accepte automatiquement les demandes de discussion dcc" -#: src/common/weeconfig.c:672 +#: src/common/weeconfig.c:673 msgid "automatically accept dcc chats (use carefully!)" msgstr "" "accepte automatiquement les demandes de discussion dcc ( utiliser avec " "prcaution !)" -#: src/common/weeconfig.c:675 +#: src/common/weeconfig.c:676 msgid "timeout for dcc request" msgstr "dlai d'attente pour les requtes dcc" -#: src/common/weeconfig.c:676 +#: src/common/weeconfig.c:677 msgid "timeout for dcc request (in seconds)" msgstr "dlai d'attente pour les requtes dcc (en secondes)" -#: src/common/weeconfig.c:679 +#: src/common/weeconfig.c:680 msgid "block size for dcc packets" msgstr "taille de bloc pour les paquets dcc" -#: src/common/weeconfig.c:680 +#: src/common/weeconfig.c:681 msgid "block size for dcc packets in bytes (default: 65536)" msgstr "taille de bloc pour les paquets dcc en octets (dfaut: 65536)" -#: src/common/weeconfig.c:683 +#: src/common/weeconfig.c:684 msgid "path for incoming files with dcc" msgstr "chemin les fichiers reus par dcc" -#: src/common/weeconfig.c:684 +#: src/common/weeconfig.c:685 msgid "path for writing incoming files with dcc (default: user home)" msgstr "" "chemin pour crire les fichiers reus par dcc (par dfaut: rpertoire de " "l'utilisateur)" -#: src/common/weeconfig.c:687 +#: src/common/weeconfig.c:688 msgid "default path for sending files with dcc" msgstr "chemin par dfaut pour envoyer les fichiers par dcc" -#: src/common/weeconfig.c:688 +#: src/common/weeconfig.c:689 msgid "" "path for reading files when sending thru dcc (when no path is specified)" msgstr "" "chemin pour lire les fichiers lorsqu'ils sont envoys par dcc (quand aucun " "chemin n'est spcifi)" -#: src/common/weeconfig.c:691 src/common/weeconfig.c:692 +#: src/common/weeconfig.c:692 src/common/weeconfig.c:693 msgid "convert spaces to underscores when sending files" msgstr "convertir les espaces en underscores lors d'envoi de fichiers" -#: src/common/weeconfig.c:695 +#: src/common/weeconfig.c:696 msgid "automatically rename dcc files if already exists" msgstr "renomme automatiquement les fichiers dcc s'ils existent dj" -#: src/common/weeconfig.c:696 +#: src/common/weeconfig.c:697 msgid "rename incoming files if already exists (add '.1', '.2', ...)" msgstr "" "renommer les fichiers reus s'ils existent dj (ajoute '.1', '.2', ...)" -#: src/common/weeconfig.c:699 +#: src/common/weeconfig.c:700 msgid "automatically resume aborted transfers" msgstr "continuer automatiquement les transferts non termins" -#: src/common/weeconfig.c:700 +#: src/common/weeconfig.c:701 msgid "" "automatically resume dcc transfer if connection with remote host is loosed" msgstr "" "continuer automatiquement les transferts dcc si la connexion avec la machine " "distante a t perdue" -#: src/common/weeconfig.c:719 +#: src/common/weeconfig.c:720 msgid "use proxy" msgstr "utiliser un proxy" -#: src/common/weeconfig.c:720 +#: src/common/weeconfig.c:721 msgid "use a proxy server to connect to irc server" msgstr "utiliser un proxy pour se connecter au serveur irc" -#: src/common/weeconfig.c:723 +#: src/common/weeconfig.c:724 msgid "proxy type" msgstr "type de proxy" -#: src/common/weeconfig.c:724 +#: src/common/weeconfig.c:725 msgid "proxy type (http (default), socks4, socks5)" msgstr "type de proxy (http (dfaut), socks4, socks5)" -#: src/common/weeconfig.c:727 +#: src/common/weeconfig.c:728 msgid "use ipv6 proxy" msgstr "utiliser un proxy ipv6" -#: src/common/weeconfig.c:728 +#: src/common/weeconfig.c:729 msgid "connect to proxy in ipv6" msgstr "se connecter au proxy en ipv6" -#: src/common/weeconfig.c:731 +#: src/common/weeconfig.c:732 msgid "proxy address" msgstr "adresse du proxy" -#: src/common/weeconfig.c:732 +#: src/common/weeconfig.c:733 msgid "proxy server address (IP or hostname)" msgstr "adresse du serveur proxy (IP ou nom)" -#: src/common/weeconfig.c:735 +#: src/common/weeconfig.c:736 msgid "port for proxy" msgstr "port pour le proxy" -#: src/common/weeconfig.c:736 +#: src/common/weeconfig.c:737 msgid "port for connecting to proxy server" msgstr "port pour se connecter au serveur proxy" -#: src/common/weeconfig.c:739 +#: src/common/weeconfig.c:740 msgid "proxy username" msgstr "nom d'utilisateur proxy" -#: src/common/weeconfig.c:740 +#: src/common/weeconfig.c:741 msgid "username for proxy server" msgstr "nom d'utilisateur pour le serveur proxy" -#: src/common/weeconfig.c:743 +#: src/common/weeconfig.c:744 msgid "proxy password" msgstr "mot de passe pour le proxy" -#: src/common/weeconfig.c:744 +#: src/common/weeconfig.c:745 msgid "password for proxy server" msgstr "mot de passe pour le serveur proxy" -#: src/common/weeconfig.c:755 +#: src/common/weeconfig.c:758 src/common/weeconfig.c:759 +msgid "path for searching plugins" +msgstr "chemin de recherche des extensions" + +#: src/common/weeconfig.c:762 +msgid "list of plugins to load automatically" +msgstr "list des extensions charger automatiquement" + +#: src/common/weeconfig.c:763 +msgid "" +"comma separated list of plugins to load automatically at startup, \"*\" " +"means all plugins found (names may be partial, for example \"perl\" is ok " +"for \"libperl.so\")" +msgstr "" +"liste des extensions charger automatiquement au dmarrage, \"*\" signifie " +"toutes (spares par des virgules, les noms peuvent tre partiels, par " +"exemple \"perl\" est ok pour \"libperl.so\")" + +#: src/common/weeconfig.c:768 +msgid "standard plugins extension in filename" +msgstr "extension standard des extensions dans le nom de fichier" + +#: src/common/weeconfig.c:769 +msgid "" +"standard plugins extension in filename, used for autoload (if empty, then " +"all files are loaded when autoload is \"*\")" +msgstr "" +"extension standard des extensions dans le nom de fichier, pour le chargement " +"automatique (si vide, alors tous les fichiers sont chargs si autoload vaut " +"\"*\")" + +#: src/common/weeconfig.c:786 msgid "server name" msgstr "nom du serveur" -#: src/common/weeconfig.c:756 +#: src/common/weeconfig.c:787 msgid "name associated to IRC server (for display only)" msgstr "nom associ au serveur IRC (pour affichage seulement)" -#: src/common/weeconfig.c:759 +#: src/common/weeconfig.c:790 msgid "automatically connect to server" msgstr "connexion automatique au serveur" -#: src/common/weeconfig.c:760 +#: src/common/weeconfig.c:791 msgid "automatically connect to server when WeeChat is starting" msgstr "connexion automatique au serveur quand WeeChat dmarre" -#: src/common/weeconfig.c:763 +#: src/common/weeconfig.c:794 msgid "automatically reconnect to server" msgstr "reconnexion automatique au serveur" -#: src/common/weeconfig.c:764 +#: src/common/weeconfig.c:795 msgid "automatically reconnect to server when disconnected" msgstr "reconnexion automatique au serveur aprs une dconnexion" -#: src/common/weeconfig.c:767 +#: src/common/weeconfig.c:798 msgid "delay before trying again to reconnect" msgstr "dlai avant de tenter une reconnexion" -#: src/common/weeconfig.c:768 +#: src/common/weeconfig.c:799 msgid "delay (in seconds) before trying again to reconnect to server" msgstr "dlai (en secondes) avant de tenter une reconnexion au serveur" -#: src/common/weeconfig.c:771 +#: src/common/weeconfig.c:802 msgid "server address or hostname" msgstr "adresse ou nom du serveur" -#: src/common/weeconfig.c:772 +#: src/common/weeconfig.c:803 msgid "IP address or hostname of IRC server" msgstr "adresse IP ou nom du serveur IRC" -#: src/common/weeconfig.c:775 +#: src/common/weeconfig.c:806 msgid "port for IRC server" msgstr "port pour le serveur IRC" -#: src/common/weeconfig.c:776 +#: src/common/weeconfig.c:807 msgid "port for connecting to server" msgstr "port pour se connecter au serveur" -#: src/common/weeconfig.c:779 src/common/weeconfig.c:780 +#: src/common/weeconfig.c:810 src/common/weeconfig.c:811 msgid "use IPv6 protocol for server communication" msgstr "utiliser le protocole IPv6 pour la communication avec le serveur" -#: src/common/weeconfig.c:783 src/common/weeconfig.c:784 +#: src/common/weeconfig.c:814 src/common/weeconfig.c:815 msgid "use SSL for server communication" msgstr "utiliser SSL pour la communication avec le serveur" -#: src/common/weeconfig.c:787 +#: src/common/weeconfig.c:818 msgid "server password" msgstr "mot de passe pour le serveur" -#: src/common/weeconfig.c:788 +#: src/common/weeconfig.c:819 msgid "password for IRC server" msgstr "mot de passe pour le serveur IRC" -#: src/common/weeconfig.c:791 +#: src/common/weeconfig.c:822 msgid "nickname for server" msgstr "pseudo pour le serveur" -#: src/common/weeconfig.c:792 +#: src/common/weeconfig.c:823 msgid "nickname to use on IRC server" msgstr "pseudo utiliser sur le serveur IRC" -#: src/common/weeconfig.c:795 +#: src/common/weeconfig.c:826 msgid "alternate nickname for server" msgstr "pseudo alternatif pour le serveur" -#: src/common/weeconfig.c:796 +#: src/common/weeconfig.c:827 msgid "alternate nickname to use on IRC server (if nickname is already used)" msgstr "pseudo alternatif pour le serveur IRC (si le pseudo est dj utilis)" -#: src/common/weeconfig.c:799 +#: src/common/weeconfig.c:830 msgid "2nd alternate nickname for server" msgstr "2nd pseudo alternatif pour le serveur" -#: src/common/weeconfig.c:800 +#: src/common/weeconfig.c:831 msgid "" "2nd alternate nickname to use on IRC server (if alternate nickname is " "already used)" @@ -4314,31 +4256,31 @@ msgstr "" "2nd pseudo alternatif pour le serveur IRC (si le pseudo alternatif est dj " "utilis)" -#: src/common/weeconfig.c:803 +#: src/common/weeconfig.c:834 msgid "user name for server" msgstr "nom d'utilisateur pour le serveur" -#: src/common/weeconfig.c:804 +#: src/common/weeconfig.c:835 msgid "user name to use on IRC server" msgstr "nom d'utilisateur pour le serveur IRC" -#: src/common/weeconfig.c:807 +#: src/common/weeconfig.c:838 msgid "real name for server" msgstr "nom rel pour le serveur" -#: src/common/weeconfig.c:808 +#: src/common/weeconfig.c:839 msgid "real name to use on IRC server" msgstr "nom rel pour le serveur IRC" -#: src/common/weeconfig.c:811 src/common/weeconfig.c:812 +#: src/common/weeconfig.c:842 src/common/weeconfig.c:843 msgid "first command to run when connected to server" msgstr "commande excuter en premier lorsque connect au serveur" -#: src/common/weeconfig.c:815 +#: src/common/weeconfig.c:846 msgid "delay (in seconds) after command was executed" msgstr "dlai (en secondes) aprs excution de la commande" -#: src/common/weeconfig.c:816 +#: src/common/weeconfig.c:847 msgid "" "delay (in seconds) after command was executed (example: give some time for " "authentication)" @@ -4346,11 +4288,11 @@ msgstr "" "dlai (en secondes) aprs excution de la commande (exemple: donner du temps " "pour l'authentification)" -#: src/common/weeconfig.c:819 +#: src/common/weeconfig.c:850 msgid "list of channels to join when connected to server" msgstr "liste des canaux rejoindre lorsque connect au serveur" -#: src/common/weeconfig.c:820 +#: src/common/weeconfig.c:851 msgid "" "comma separated list of channels to join when connected to server (example: " "\"#chan1,#chan2,#chan3 key1,key2\")" @@ -4358,15 +4300,15 @@ msgstr "" "liste des canaux (spars par des virgules) rejoindre lorsque connect au " "serveur (exemple: \"#chan1,#chan2,#chan3 key1,key2\")" -#: src/common/weeconfig.c:823 src/common/weeconfig.c:824 +#: src/common/weeconfig.c:854 src/common/weeconfig.c:855 msgid "automatically rejoin channels when kicked" msgstr "rejoindre automatiquement les canaux quand mis dehors" -#: src/common/weeconfig.c:827 +#: src/common/weeconfig.c:858 msgid "notify levels for channels of this server" msgstr "niveaux de notification pour les canaux de ce serveur" -#: src/common/weeconfig.c:828 +#: src/common/weeconfig.c:859 msgid "" "comma separated list of notify levels for channels of this server (format: " "#channel:1,..)" @@ -4374,69 +4316,69 @@ msgstr "" "liste des niveaux de notifications (spars par des virgules) pour les " "canaux de ce serveur (format: #canal:1,..)" -#: src/common/weeconfig.c:1322 +#: src/common/weeconfig.c:1354 #, c-format msgid "%s %s, line %d: new server, but previous was incomplete\n" msgstr "%s %s, ligne %d: nouveau serveur, mais le prcdent tait incomplet\n" -#: src/common/weeconfig.c:1331 +#: src/common/weeconfig.c:1363 #, c-format msgid "%s %s, line %d: server '%s' already exists\n" msgstr "%s %s, ligne %d: le serveur '%s' existe dj\n" -#: src/common/weeconfig.c:1346 +#: src/common/weeconfig.c:1378 #, c-format msgid "%s %s, line %d: unable to create server\n" msgstr "%s %s, ligne %d: impossible de crer le serveur\n" -#: src/common/weeconfig.c:1386 +#: src/common/weeconfig.c:1418 #, c-format msgid "%s unable to assign default int with string (\"%s\")\n" msgstr "" "%s impossible d'assigner la valeur entire par dfaut avec la chane (\"%s" "\")\n" -#: src/common/weeconfig.c:1397 +#: src/common/weeconfig.c:1429 #, c-format msgid "%s unable to assign default color (\"%s\")\n" msgstr "%s impossible d'assigner la couleur par dfaut (\"%s\")\n" -#: src/common/weeconfig.c:1436 +#: src/common/weeconfig.c:1468 #, c-format msgid "%s config file \"%s\" not found.\n" msgstr "%s fichier de configuration \"%s\" non trouv.\n" -#: src/common/weeconfig.c:1468 +#: src/common/weeconfig.c:1500 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"]\"\n" msgstr "%s %s, ligne %d: syntaxe invalide, il manque \"]\"\n" -#: src/common/weeconfig.c:1485 +#: src/common/weeconfig.c:1517 #, c-format msgid "%s %s, line %d: unknown section identifier (\"%s\")\n" msgstr "%s %s, ligne %d: section inconnue (\"%s\")\n" -#: src/common/weeconfig.c:1503 +#: src/common/weeconfig.c:1535 #, c-format msgid "%s %s, line %d: invalid section for option, line is ignored\n" msgstr "%s %s, ligne %d: section invalide pour l'option, ligne ignore\n" -#: src/common/weeconfig.c:1511 +#: src/common/weeconfig.c:1543 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"=\"\n" msgstr "%s %s, ligne %d: syntaxe invalide, il manque \"=\"\n" -#: src/common/weeconfig.c:1548 src/common/weeconfig.c:1574 +#: src/common/weeconfig.c:1580 src/common/weeconfig.c:1606 #, c-format msgid "%s %s, line %d: invalid option \"%s\"\n" msgstr "%s %s, ligne %d: option \"%s\" invalide\n" -#: src/common/weeconfig.c:1554 +#: src/common/weeconfig.c:1586 #, c-format msgid "%s %s, line %d: invalid ignore options \"%s\"\n" msgstr "%s %s, ligne %d: options \"%s\" invalides pour le ignore\n" -#: src/common/weeconfig.c:1585 +#: src/common/weeconfig.c:1617 #, c-format msgid "" "%s %s, line %d: invalid value foroption '%s'\n" @@ -4445,7 +4387,7 @@ msgstr "" "%s %s, ligne %d: valeur invalide pour l'option '%s'\n" "Attendu: valeur boolenne: 'off' ou 'on'\n" -#: src/common/weeconfig.c:1594 +#: src/common/weeconfig.c:1626 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -4454,7 +4396,7 @@ msgstr "" "%s %s, ligne %d: valeur invalide pour l'option '%s'\n" "Attendu: entier compris entre %d et %d\n" -#: src/common/weeconfig.c:1605 +#: src/common/weeconfig.c:1637 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -4463,26 +4405,26 @@ msgstr "" "%s %s, ligne %d: valeur invalide pour l'option '%s'\n" "Attendu: une de ces chanes: " -#: src/common/weeconfig.c:1621 +#: src/common/weeconfig.c:1653 #, c-format msgid "%s %s, line %d: invalid color name for option '%s'\n" msgstr "%s %s, ligne %d: nom de couleur invalide pour l'option '%s'\n" -#: src/common/weeconfig.c:1683 src/common/weeconfig.c:1878 +#: src/common/weeconfig.c:1715 src/common/weeconfig.c:1910 #, c-format msgid "%s cannot create file \"%s\"\n" msgstr "%s impossible de crer le fichier \"%s\"\n" -#: src/common/weeconfig.c:1689 +#: src/common/weeconfig.c:1721 #, c-format msgid "%s: creating default config file...\n" msgstr "%s: cration du fichier de configuration par dfaut...\n" -#: src/common/weeconfig.c:1690 +#: src/common/weeconfig.c:1722 msgid "Creating default config file\n" msgstr "Cration du fichier de configuration par dfaut\n" -#: src/common/weeconfig.c:1693 src/common/weeconfig.c:1887 +#: src/common/weeconfig.c:1725 src/common/weeconfig.c:1919 #, c-format msgid "" "#\n" @@ -4491,22 +4433,9 @@ msgstr "" "#\n" "# %s: fichier de configuration, cr par %s v%s le %s#\n" -#: src/common/weeconfig.c:1884 +#: src/common/weeconfig.c:1916 msgid "Saving config to disk\n" msgstr "Sauvegarde de la configuration sur disque\n" -#~ msgid "" -#~ "option: name of an option\n" -#~ "value: value for option" -#~ msgstr "" -#~ "option: nom d'une option\n" -#~ "valeur: valeur pour l'option" - -#~ msgid "Ignore:\n" -#~ msgstr "Ignore:\n" - -#~ msgid "IRC command" -#~ msgstr "commande IRC" - -#~ msgid "channel" -#~ msgstr "canal" +#~ msgid " IRC(%s) => C function\n" +#~ msgstr " IRC(%s) => fonction C\n" diff --git a/po/weechat.pot b/po/weechat.pot index de2cab99f..f7139b0da 100644 --- a/po/weechat.pot +++ b/po/weechat.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2005-10-03 14:05+0200\n" +"POT-Creation-Date: 2005-10-15 14:17+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -20,7 +20,7 @@ msgstr "" msgid "%s cannot allocate new nick\n" msgstr "" -#: src/irc/irc-server.c:180 src/common/weeconfig.c:1823 +#: src/irc/irc-server.c:180 src/common/weeconfig.c:1855 msgid "Unable to get user's name" msgstr "" @@ -1232,7 +1232,7 @@ msgstr "" msgid "whois (secure connection)" msgstr "" -#: src/irc/irc-display.c:163 src/common/command.c:877 +#: src/irc/irc-display.c:163 src/common/command.c:870 msgid "Server: " msgstr "" @@ -1240,7 +1240,7 @@ msgstr "" msgid "connected" msgstr "" -#: src/irc/irc-display.c:168 src/common/command.c:903 +#: src/irc/irc-display.c:168 src/common/command.c:896 msgid "not connected" msgstr "" @@ -1262,7 +1262,7 @@ msgstr "" msgid "(hidden)" msgstr "" -#: src/irc/irc-send.c:59 src/irc/irc-recv.c:4421 +#: src/irc/irc-send.c:59 src/irc/irc-recv.c:4426 msgid "unknown" msgstr "" @@ -1271,7 +1271,7 @@ msgstr "" msgid "%s: using local hostname \"%s\"\n" msgstr "" -#: src/irc/irc-send.c:167 src/common/command.c:755 +#: src/irc/irc-send.c:167 src/common/command.c:746 #, c-format msgid "%s cannot find nick for sending message\n" msgstr "" @@ -1287,9 +1287,8 @@ msgstr "" #: src/irc/irc-send.c:456 src/irc/irc-send.c:468 src/irc/irc-send.c:486 #: src/irc/irc-send.c:1138 src/irc/irc-send.c:1231 src/irc/irc-send.c:1763 -#: src/common/command.c:1225 src/common/command.c:1579 -#: src/common/command.c:1729 src/common/command.c:1872 -#: src/common/command.c:2015 +#: src/common/command.c:1218 src/common/command.c:1628 +#: src/common/command.c:1760 #, c-format msgid "%s wrong argument count for \"%s\" command\n" msgstr "" @@ -1305,13 +1304,13 @@ msgstr "" msgid "%s \"%s\" command can not be executed on a server window\n" msgstr "" -#: src/irc/irc-send.c:1031 src/irc/irc-send.c:1056 src/irc/irc-recv.c:430 +#: src/irc/irc-send.c:1031 src/irc/irc-send.c:1056 src/irc/irc-recv.c:435 #, c-format msgid "%s nick \"%s\" not found for \"%s\" command\n" msgstr "" -#: src/irc/irc-send.c:1108 src/irc/irc-send.c:1416 src/irc/irc-recv.c:1117 -#: src/irc/irc-recv.c:1933 src/irc/irc-recv.c:2021 +#: src/irc/irc-send.c:1108 src/irc/irc-send.c:1416 src/irc/irc-recv.c:1122 +#: src/irc/irc-recv.c:1938 src/irc/irc-recv.c:2026 #, c-format msgid "%s cannot create new private window \"%s\"\n" msgstr "" @@ -1321,449 +1320,449 @@ msgstr "" msgid "%s, compiled on %s %s\n" msgstr "" -#: src/irc/irc-recv.c:286 +#: src/irc/irc-recv.c:291 msgid "You have been invited to " msgstr "" -#: src/irc/irc-recv.c:289 +#: src/irc/irc-recv.c:294 msgid "by" msgstr "" -#: src/irc/irc-recv.c:300 src/irc/irc-recv.c:394 src/irc/irc-recv.c:891 -#: src/irc/irc-recv.c:1276 src/irc/irc-recv.c:1535 src/irc/irc-recv.c:3437 -#: src/irc/irc-recv.c:3459 src/irc/irc-recv.c:3520 src/irc/irc-recv.c:3592 +#: src/irc/irc-recv.c:305 src/irc/irc-recv.c:399 src/irc/irc-recv.c:896 +#: src/irc/irc-recv.c:1281 src/irc/irc-recv.c:1540 src/irc/irc-recv.c:3442 +#: src/irc/irc-recv.c:3464 src/irc/irc-recv.c:3525 src/irc/irc-recv.c:3597 #, c-format msgid "%s channel \"%s\" not found for \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:328 +#: src/irc/irc-recv.c:333 #, c-format msgid "%s cannot create new channel \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:347 +#: src/irc/irc-recv.c:352 msgid " has joined " msgstr "" -#: src/irc/irc-recv.c:405 +#: src/irc/irc-recv.c:410 msgid " has kicked " msgstr "" -#: src/irc/irc-recv.c:409 src/common/command.c:1400 +#: src/irc/irc-recv.c:414 src/common/command.c:1449 msgid " from " msgstr "" -#: src/irc/irc-recv.c:495 +#: src/irc/irc-recv.c:500 msgid " has killed " msgstr "" -#: src/irc/irc-recv.c:501 +#: src/irc/irc-recv.c:506 msgid " from server" msgstr "" -#: src/irc/irc-recv.c:511 +#: src/irc/irc-recv.c:516 msgid " from server\n" msgstr "" -#: src/irc/irc-recv.c:519 +#: src/irc/irc-recv.c:524 #, c-format msgid "%s host \"%s\" not found for \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:559 +#: src/irc/irc-recv.c:564 msgid "sets ban on" msgstr "" -#: src/irc/irc-recv.c:560 +#: src/irc/irc-recv.c:565 msgid "removes ban on" msgstr "" -#: src/irc/irc-recv.c:584 +#: src/irc/irc-recv.c:589 msgid "gives half channel operator status to" msgstr "" -#: src/irc/irc-recv.c:585 +#: src/irc/irc-recv.c:590 msgid "removes half channel operator status from" msgstr "" -#: src/irc/irc-recv.c:612 +#: src/irc/irc-recv.c:617 msgid "sets invite-only channel flag" msgstr "" -#: src/irc/irc-recv.c:613 +#: src/irc/irc-recv.c:618 msgid "removes invite-only channel flag" msgstr "" -#: src/irc/irc-recv.c:630 +#: src/irc/irc-recv.c:635 msgid "sets channel key to" msgstr "" -#: src/irc/irc-recv.c:631 +#: src/irc/irc-recv.c:636 msgid "removes channel key" msgstr "" -#: src/irc/irc-recv.c:662 +#: src/irc/irc-recv.c:667 msgid "sets the user limit to" msgstr "" -#: src/irc/irc-recv.c:663 +#: src/irc/irc-recv.c:668 msgid "removes user limit" msgstr "" -#: src/irc/irc-recv.c:685 +#: src/irc/irc-recv.c:690 msgid "sets moderated channel flag" msgstr "" -#: src/irc/irc-recv.c:686 +#: src/irc/irc-recv.c:691 msgid "removes moderated channel flag" msgstr "" -#: src/irc/irc-recv.c:696 +#: src/irc/irc-recv.c:701 msgid "sets messages from channel only flag" msgstr "" -#: src/irc/irc-recv.c:697 +#: src/irc/irc-recv.c:702 msgid "removes messages from channel only flag" msgstr "" -#: src/irc/irc-recv.c:714 +#: src/irc/irc-recv.c:719 msgid "gives channel operator status to" msgstr "" -#: src/irc/irc-recv.c:715 +#: src/irc/irc-recv.c:720 msgid "removes channel operator status from" msgstr "" -#: src/irc/irc-recv.c:742 +#: src/irc/irc-recv.c:747 msgid "sets private channel flag" msgstr "" -#: src/irc/irc-recv.c:743 +#: src/irc/irc-recv.c:748 msgid "removes private channel flag" msgstr "" -#: src/irc/irc-recv.c:760 +#: src/irc/irc-recv.c:765 msgid "sets quiet on" msgstr "" -#: src/irc/irc-recv.c:761 +#: src/irc/irc-recv.c:766 msgid "removes quiet on" msgstr "" -#: src/irc/irc-recv.c:778 +#: src/irc/irc-recv.c:783 msgid "sets secret channel flag" msgstr "" -#: src/irc/irc-recv.c:779 +#: src/irc/irc-recv.c:784 msgid "removes secret channel flag" msgstr "" -#: src/irc/irc-recv.c:789 +#: src/irc/irc-recv.c:794 msgid "sets topic protection" msgstr "" -#: src/irc/irc-recv.c:790 +#: src/irc/irc-recv.c:795 msgid "removes topic protection" msgstr "" -#: src/irc/irc-recv.c:807 +#: src/irc/irc-recv.c:812 msgid "gives voice to" msgstr "" -#: src/irc/irc-recv.c:808 +#: src/irc/irc-recv.c:813 msgid "removes voice from" msgstr "" -#: src/irc/irc-recv.c:851 src/irc/irc-recv.c:933 src/irc/irc-recv.c:1354 -#: src/irc/irc-recv.c:2088 +#: src/irc/irc-recv.c:856 src/irc/irc-recv.c:938 src/irc/irc-recv.c:1359 +#: src/irc/irc-recv.c:2093 #, c-format msgid "%s \"%s\" command received without host\n" msgstr "" -#: src/irc/irc-recv.c:861 +#: src/irc/irc-recv.c:866 #, c-format msgid "%s \"%s\" command received without channel or nickname\n" msgstr "" -#: src/irc/irc-recv.c:908 +#: src/irc/irc-recv.c:913 msgid "mode changed by" msgstr "" -#: src/irc/irc-recv.c:970 +#: src/irc/irc-recv.c:975 msgid "You are " msgstr "" -#: src/irc/irc-recv.c:977 +#: src/irc/irc-recv.c:982 msgid " is " msgstr "" -#: src/irc/irc-recv.c:981 +#: src/irc/irc-recv.c:986 msgid "now known as " msgstr "" -#: src/irc/irc-recv.c:1048 +#: src/irc/irc-recv.c:1053 #, c-format msgid "%s nickname not found for \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:1064 src/irc/irc-recv.c:1096 +#: src/irc/irc-recv.c:1069 src/irc/irc-recv.c:1101 msgid "reply from" msgstr "" -#: src/irc/irc-recv.c:1099 +#: src/irc/irc-recv.c:1104 #, c-format msgid ": %ld.%ld seconds\n" msgstr "" -#: src/irc/irc-recv.c:1138 src/irc/irc-recv.c:2042 src/irc/irc-dcc.c:1044 +#: src/irc/irc-recv.c:1143 src/irc/irc-recv.c:2047 src/irc/irc-dcc.c:1044 #, c-format msgid "Private %s> %s" msgstr "" -#: src/irc/irc-recv.c:1201 +#: src/irc/irc-recv.c:1206 #, c-format msgid "%s \"%s\" command received without host or channel\n" msgstr "" -#: src/irc/irc-recv.c:1250 +#: src/irc/irc-recv.c:1255 msgid " has left " msgstr "" -#: src/irc/irc-recv.c:1402 src/irc/irc-recv.c:1957 +#: src/irc/irc-recv.c:1407 src/irc/irc-recv.c:1962 #, c-format msgid "On %s: * %s %s" msgstr "" -#: src/irc/irc-recv.c:1426 +#: src/irc/irc-recv.c:1431 #, c-format msgid "Received a CTCP SOUND \"%s\" from " msgstr "" -#: src/irc/irc-recv.c:1459 src/irc/irc-recv.c:1490 src/irc/irc-recv.c:1594 -#: src/irc/irc-recv.c:1634 src/irc/irc-recv.c:1997 +#: src/irc/irc-recv.c:1464 src/irc/irc-recv.c:1495 src/irc/irc-recv.c:1599 +#: src/irc/irc-recv.c:1639 src/irc/irc-recv.c:2002 msgid "received from" msgstr "" -#: src/irc/irc-recv.c:1486 src/irc/irc-recv.c:1993 +#: src/irc/irc-recv.c:1491 src/irc/irc-recv.c:1998 msgid "Unknown CTCP " msgstr "" -#: src/irc/irc-recv.c:1518 +#: src/irc/irc-recv.c:1523 #, c-format msgid "On %s: %s> %s" msgstr "" -#: src/irc/irc-recv.c:1650 src/irc/irc-recv.c:1671 src/irc/irc-recv.c:1687 -#: src/irc/irc-recv.c:1703 src/irc/irc-recv.c:1729 src/irc/irc-recv.c:1750 -#: src/irc/irc-recv.c:1766 src/irc/irc-recv.c:1791 src/irc/irc-recv.c:1812 -#: src/irc/irc-recv.c:1828 src/irc/irc-recv.c:1853 src/irc/irc-recv.c:1874 -#: src/irc/irc-recv.c:1889 src/irc/irc-recv.c:2064 src/irc/irc-recv.c:2408 -#: src/irc/irc-recv.c:3988 src/irc/irc-recv.c:4046 src/irc/irc-recv.c:4205 -#: src/irc/irc-recv.c:4220 src/irc/irc-recv.c:4235 src/irc/irc-recv.c:4250 -#: src/irc/irc-recv.c:4263 src/irc/irc-recv.c:4317 src/irc/irc-recv.c:4331 +#: src/irc/irc-recv.c:1655 src/irc/irc-recv.c:1676 src/irc/irc-recv.c:1692 +#: src/irc/irc-recv.c:1708 src/irc/irc-recv.c:1734 src/irc/irc-recv.c:1755 +#: src/irc/irc-recv.c:1771 src/irc/irc-recv.c:1796 src/irc/irc-recv.c:1817 +#: src/irc/irc-recv.c:1833 src/irc/irc-recv.c:1858 src/irc/irc-recv.c:1879 +#: src/irc/irc-recv.c:1894 src/irc/irc-recv.c:2069 src/irc/irc-recv.c:2413 +#: src/irc/irc-recv.c:3993 src/irc/irc-recv.c:4051 src/irc/irc-recv.c:4210 +#: src/irc/irc-recv.c:4225 src/irc/irc-recv.c:4240 src/irc/irc-recv.c:4255 +#: src/irc/irc-recv.c:4268 src/irc/irc-recv.c:4322 src/irc/irc-recv.c:4336 #, c-format msgid "%s cannot parse \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:1902 +#: src/irc/irc-recv.c:1907 #, c-format msgid "%s unknown DCC CHAT type received from " msgstr "" -#: src/irc/irc-recv.c:2119 +#: src/irc/irc-recv.c:2124 msgid "has quit" msgstr "" -#: src/irc/irc-recv.c:2244 +#: src/irc/irc-recv.c:2249 #, c-format msgid "%s \"%s\" command received without channel\n" msgstr "" -#: src/irc/irc-recv.c:2276 +#: src/irc/irc-recv.c:2281 msgid " has changed topic for " msgstr "" -#: src/irc/irc-recv.c:2281 +#: src/irc/irc-recv.c:2286 #, c-format msgid " to: \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:2287 +#: src/irc/irc-recv.c:2292 msgid " has unset topic for " msgstr "" -#: src/irc/irc-recv.c:2396 +#: src/irc/irc-recv.c:2401 msgid "User mode" msgstr "" -#: src/irc/irc-recv.c:2451 +#: src/irc/irc-recv.c:2456 #, c-format msgid " is away: %s\n" msgstr "" -#: src/irc/irc-recv.c:2533 +#: src/irc/irc-recv.c:2538 msgid "Users online: " msgstr "" -#: src/irc/irc-recv.c:3023 +#: src/irc/irc-recv.c:3028 msgid "idle: " msgstr "" -#: src/irc/irc-recv.c:3031 +#: src/irc/irc-recv.c:3036 msgid "days" msgstr "" -#: src/irc/irc-recv.c:3031 +#: src/irc/irc-recv.c:3036 msgid "day" msgstr "" -#: src/irc/irc-recv.c:3041 +#: src/irc/irc-recv.c:3046 msgid "hours" msgstr "" -#: src/irc/irc-recv.c:3041 +#: src/irc/irc-recv.c:3046 msgid "hour" msgstr "" -#: src/irc/irc-recv.c:3047 +#: src/irc/irc-recv.c:3052 msgid "minutes" msgstr "" -#: src/irc/irc-recv.c:3047 +#: src/irc/irc-recv.c:3052 msgid "minute" msgstr "" -#: src/irc/irc-recv.c:3053 +#: src/irc/irc-recv.c:3058 msgid "seconds" msgstr "" -#: src/irc/irc-recv.c:3053 +#: src/irc/irc-recv.c:3058 msgid "second" msgstr "" -#: src/irc/irc-recv.c:3058 +#: src/irc/irc-recv.c:3063 msgid "signon at: " msgstr "" -#: src/irc/irc-recv.c:3154 +#: src/irc/irc-recv.c:3159 msgid "Channels: " msgstr "" -#: src/irc/irc-recv.c:3450 +#: src/irc/irc-recv.c:3455 msgid "No topic set for " msgstr "" -#: src/irc/irc-recv.c:3507 +#: src/irc/irc-recv.c:3512 msgid "Topic for " msgstr "" -#: src/irc/irc-recv.c:3511 +#: src/irc/irc-recv.c:3516 #, c-format msgid " is: \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:3530 src/irc/irc-recv.c:3619 src/irc/irc-recv.c:3672 +#: src/irc/irc-recv.c:3535 src/irc/irc-recv.c:3624 src/irc/irc-recv.c:3677 #, c-format msgid "%s cannot identify channel for \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:3580 +#: src/irc/irc-recv.c:3585 msgid "Topic set by " msgstr "" -#: src/irc/irc-recv.c:3601 +#: src/irc/irc-recv.c:3606 #, c-format msgid "%s cannot identify date/time for \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:3610 src/irc/irc-recv.c:3681 +#: src/irc/irc-recv.c:3615 src/irc/irc-recv.c:3686 #, c-format msgid "%s cannot identify nickname for \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:3660 +#: src/irc/irc-recv.c:3665 msgid "has invited" msgstr "" -#: src/irc/irc-recv.c:3663 src/irc/irc-recv.c:3909 src/common/command.c:1393 +#: src/irc/irc-recv.c:3668 src/irc/irc-recv.c:3914 src/common/command.c:1442 msgid "on" msgstr "" -#: src/irc/irc-recv.c:3718 +#: src/irc/irc-recv.c:3723 msgid "Channel reop" msgstr "" -#: src/irc/irc-recv.c:4034 +#: src/irc/irc-recv.c:4039 #, c-format msgid "%s cannot create nick \"%s\" for channel \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:4093 +#: src/irc/irc-recv.c:4098 msgid "Nicks " msgstr "" -#: src/irc/irc-recv.c:4113 +#: src/irc/irc-recv.c:4118 msgid "Channel " msgstr "" -#: src/irc/irc-recv.c:4124 +#: src/irc/irc-recv.c:4129 msgid "nicks" msgstr "" -#: src/irc/irc-recv.c:4124 +#: src/irc/irc-recv.c:4129 msgid "nick" msgstr "" -#: src/irc/irc-recv.c:4132 +#: src/irc/irc-recv.c:4137 msgid "ops" msgstr "" -#: src/irc/irc-recv.c:4132 +#: src/irc/irc-recv.c:4137 msgid "op" msgstr "" -#: src/irc/irc-recv.c:4141 +#: src/irc/irc-recv.c:4146 msgid "halfops" msgstr "" -#: src/irc/irc-recv.c:4141 +#: src/irc/irc-recv.c:4146 msgid "halfop" msgstr "" -#: src/irc/irc-recv.c:4150 +#: src/irc/irc-recv.c:4155 msgid "voices" msgstr "" -#: src/irc/irc-recv.c:4150 +#: src/irc/irc-recv.c:4155 msgid "voice" msgstr "" -#: src/irc/irc-recv.c:4159 +#: src/irc/irc-recv.c:4164 msgid "normal" msgstr "" -#: src/irc/irc-recv.c:4280 +#: src/irc/irc-recv.c:4285 msgid "banned by" msgstr "" -#: src/irc/irc-recv.c:4375 +#: src/irc/irc-recv.c:4380 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 2nd nickname \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:4387 +#: src/irc/irc-recv.c:4392 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 3rd nickname \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:4399 +#: src/irc/irc-recv.c:4404 #, c-format msgid "" "%s: all declared nicknames are already in use, closing connection with " "server!\n" msgstr "" -#: src/irc/irc-recv.c:4409 +#: src/irc/irc-recv.c:4414 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 1st nickname \"%s\"\n" msgstr "" @@ -1952,131 +1951,88 @@ msgstr "" msgid "Removing ignore:" msgstr "" -#: src/plugins/perl/wee-perl.c:88 src/plugins/perl/wee-perl.c:463 -#: src/plugins/python/wee-python.c:81 src/plugins/ruby/wee-ruby.c:89 +#: src/plugins/plugins.c:226 #, c-format msgid "" -"%s error: unable to register \"%s\" script (another script already exists " -"with this name)\n" -msgstr "" - -#: src/plugins/perl/wee-perl.c:112 src/plugins/perl/wee-perl.c:487 -#: src/plugins/python/wee-python.c:105 src/plugins/ruby/wee-ruby.c:113 -#, c-format -msgid "Registered %s script: \"%s\", version %s (%s)\n" -msgstr "" - -#: src/plugins/perl/wee-perl.c:119 src/plugins/perl/wee-perl.c:494 -#: src/plugins/python/wee-python.c:112 src/plugins/ruby/wee-ruby.c:120 -#, c-format -msgid "%s error: unable to load script \"%s\" (not enough memory)\n" -msgstr "" - -#: src/plugins/perl/wee-perl.c:234 src/plugins/perl/wee-perl.c:520 -#: src/plugins/perl/wee-perl.c:568 src/plugins/perl/wee-perl.c:595 -#: src/plugins/perl/wee-perl.c:640 src/plugins/perl/wee-perl.c:670 -#: src/plugins/perl/wee-perl.c:710 src/plugins/python/wee-python.c:60 -#: src/plugins/python/wee-python.c:142 src/plugins/python/wee-python.c:179 -#: src/plugins/python/wee-python.c:211 src/plugins/python/wee-python.c:243 -#: src/plugins/python/wee-python.c:272 src/plugins/python/wee-python.c:311 -#: src/plugins/ruby/wee-ruby.c:58 src/plugins/ruby/wee-ruby.c:146 -#: src/plugins/ruby/wee-ruby.c:192 src/plugins/ruby/wee-ruby.c:226 -#: src/plugins/ruby/wee-ruby.c:267 src/plugins/ruby/wee-ruby.c:298 -#: src/plugins/ruby/wee-ruby.c:339 -#, c-format -msgid "%s error: wrong parameters for \"%s\" function\n" -msgstr "" - -#: src/plugins/perl/wee-perl.c:270 src/plugins/perl/wee-perl.c:374 -#: src/plugins/perl/wee-perl.c:723 src/plugins/python/wee-python.c:331 -#: src/plugins/ruby/wee-ruby.c:367 -#, c-format -msgid "%s error: server not found for \"%s\" function\n" -msgstr "" - -#: src/plugins/perl/wee-perl.c:873 src/plugins/python/wee-python.c:457 -#, c-format -msgid "Loading %s module \"weechat\"\n" +"%s plugin %s: unable to add handler for IRC command \"%s\" (not enough " +"memory)\n" msgstr "" -#: src/plugins/perl/wee-perl.c:932 +#: src/plugins/plugins.c:261 #, c-format -msgid "Perl error: %s" -msgstr "" - -#: src/plugins/perl/wee-perl.c:942 -#, c-format -msgid "%s error: too much values from \"%s\" (%d). Expected: 1.\n" +msgid "" +"%s plugin %s: unable to add handler for \"%s\" command (already exists)\n" msgstr "" -#: src/plugins/perl/wee-perl.c:964 src/plugins/perl/wee-perl.c:966 -#: src/plugins/python/wee-python.c:615 src/plugins/python/wee-python.c:617 +#: src/plugins/plugins.c:296 #, c-format -msgid "Loading %s script \"%s\"\n" +msgid "" +"%s plugin %s: unable to add handler for \"%s\" command (not enough memory)\n" msgstr "" -#: src/plugins/perl/wee-perl.c:1015 src/plugins/python/wee-python.c:686 -#: src/plugins/ruby/wee-ruby.c:555 +#: src/plugins/plugins.c:573 #, c-format -msgid "Unloading %s script \"%s\"\n" +msgid "%s unable to load plugin \"%s\": %s\n" msgstr "" -#: src/plugins/perl/wee-perl.c:1032 src/plugins/python/wee-python.c:703 -#: src/plugins/ruby/wee-ruby.c:572 +#: src/plugins/plugins.c:584 #, c-format -msgid "Unloading all %s scripts...\n" +msgid "%s symbol \"plugin_name\" not found in plugin \"%s\", failed to load\n" msgstr "" -#: src/plugins/perl/wee-perl.c:1037 src/plugins/python/wee-python.c:708 -#: src/plugins/ruby/wee-ruby.c:577 +#: src/plugins/plugins.c:595 #, c-format -msgid "%s scripts unloaded\n" +msgid "" +"%s unable to load plugin \"%s\": a plugin with same name already exists\n" msgstr "" -#: src/plugins/python/wee-python.c:452 +#: src/plugins/plugins.c:607 #, c-format -msgid "%s error: error while launching interpreter\n" +msgid "" +"%s symbol \"plugin_description\" not found in plugin \"%s\", failed to load\n" msgstr "" -#: src/plugins/python/wee-python.c:481 +#: src/plugins/plugins.c:618 #, c-format -msgid "%s error: error while redirecting stdout and stderr\n" +msgid "" +"%s symbol \"plugin_version\" not found in plugin \"%s\", failed to load\n" msgstr "" -#: src/plugins/python/wee-python.c:534 src/plugins/python/wee-python.c:562 -#: src/plugins/python/wee-python.c:594 +#: src/plugins/plugins.c:629 #, c-format -msgid "%s error: unable to run function \"%s\" in script (not enough memory)\n" +msgid "" +"%s function \"weechat_plugin_init\" not found in plugin \"%s\", failed to " +"load\n" msgstr "" -#: src/plugins/python/wee-python.c:584 +#: src/plugins/plugins.c:683 #, c-format -msgid "%s error: error while running function \"%s\"\n" +msgid "Initializing plugin \"%s\" %s\n" msgstr "" -#: src/plugins/python/wee-python.c:623 +#: src/plugins/plugins.c:691 #, c-format -msgid "%s error: error while opening file \"%s\"\n" +msgid "%s unable to initialize plugin \"%s\"\n" msgstr "" -#: src/plugins/python/wee-python.c:632 +#: src/plugins/plugins.c:702 #, c-format -msgid "%s error: error while parsing file \"%s\"\n" +msgid "%s unable to load plugin \"%s\" (not enough memory)\n" msgstr "" -#: src/plugins/python/wee-python.c:734 +#: src/plugins/plugins.c:710 #, c-format -msgid "%s error: error while freeing interpreter\n" +msgid "Plugin \"%s\" (%s) loaded.\n" msgstr "" -#: src/plugins/plugins.c:97 +#: src/plugins/plugins.c:831 #, c-format -msgid "Auto-loading %s script: %s%s%s\n" +msgid "Plugin \"%s\" unloaded.\n" msgstr "" -#: src/plugins/plugins.c:223 +#: src/plugins/plugins.c:837 #, c-format -msgid "%s unable to add handler for \"%s\" message (not enough memory)\n" +msgid "%s plugin \"%s\" not found\n" msgstr "" #: src/gui/curses/gui-input.c:340 @@ -2301,7 +2257,7 @@ msgstr "" msgid "grab a key" msgstr "" -#: src/gui/gui-keyboard.c:426 src/common/command.c:1594 +#: src/gui/gui-keyboard.c:426 src/common/command.c:1643 #, c-format msgid "%s unable to bind key \"%s\"\n" msgstr "" @@ -2447,47 +2403,25 @@ msgid "" msgstr "" #: src/common/command.c:92 -msgid "list/load/unload Perl scripts" +msgid "list/load/unload plugins" msgstr "" -#: src/common/command.c:93 src/common/command.c:98 src/common/command.c:103 +#: src/common/command.c:93 msgid "[load filename] | [autoload] | [reload] | [unload]" msgstr "" #: src/common/command.c:94 msgid "" -"filename: Perl script (file) to load\n" +"filename: WeeChat plugin (file) to load\n" "\n" -"Without argument, /perl command lists all loaded Perl scripts." +"Without argument, /plugin command lists all loaded plugins." msgstr "" #: src/common/command.c:97 -msgid "list/load/unload Python scripts" -msgstr "" - -#: src/common/command.c:99 -msgid "" -"filename: Python script (file) to load\n" -"\n" -"Without argument, /python command lists all loaded Python scripts." -msgstr "" - -#: src/common/command.c:102 -msgid "list/load/unload Ruby scripts" -msgstr "" - -#: src/common/command.c:104 -msgid "" -"filename: Ruby script (file) to load\n" -"\n" -"Without argument, /ruby command lists all loaded Ruby scripts." -msgstr "" - -#: src/common/command.c:107 msgid "list, add or remove servers" msgstr "" -#: src/common/command.c:108 +#: src/common/command.c:98 msgid "" "[servername] | [servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-" "pwd password] [-nicks nick1 nick2 nick3] [-username username] [-realname " @@ -2495,7 +2429,7 @@ msgid "" "servername]" msgstr "" -#: src/common/command.c:113 +#: src/common/command.c:103 msgid "" "servername: server name, for internal & display use\n" "hostname: name or IP address of server\n" @@ -2510,54 +2444,54 @@ msgid "" "realname: real name of user" msgstr "" -#: src/common/command.c:125 +#: src/common/command.c:115 msgid "save config to disk" msgstr "" -#: src/common/command.c:126 +#: src/common/command.c:116 msgid "[file]" msgstr "" -#: src/common/command.c:126 +#: src/common/command.c:116 msgid "file: filename for writing config" msgstr "" -#: src/common/command.c:128 +#: src/common/command.c:118 msgid "set config parameters" msgstr "" -#: src/common/command.c:129 +#: src/common/command.c:119 msgid "[option [ = value]]" msgstr "" -#: src/common/command.c:130 +#: src/common/command.c:120 msgid "" "option: name of an option (if name is full and no value is given, then help " "is displayed on option)\n" "value: value for option" msgstr "" -#: src/common/command.c:134 +#: src/common/command.c:124 msgid "remove an alias" msgstr "" -#: src/common/command.c:135 +#: src/common/command.c:125 msgid "alias_name" msgstr "" -#: src/common/command.c:135 +#: src/common/command.c:125 msgid "alias_name: name of alias to remove" msgstr "" -#: src/common/command.c:137 +#: src/common/command.c:127 msgid "unignore IRC messages and/or hosts" msgstr "" -#: src/common/command.c:138 +#: src/common/command.c:128 msgid "[number | [mask [[type | command] [channel [server]]]]]" msgstr "" -#: src/common/command.c:139 +#: src/common/command.c:129 msgid "" " number: # of ignore to unignore (number is displayed by list of ignore)\n" " mask: nick or host mask to unignore\n" @@ -2570,15 +2504,15 @@ msgid "" "Without argument, /unignore command lists all defined ignore." msgstr "" -#: src/common/command.c:148 +#: src/common/command.c:138 msgid "manage windows" msgstr "" -#: src/common/command.c:149 +#: src/common/command.c:139 msgid "[list | splith | splitv | [merge [down | up | left | right | all]]]" msgstr "" -#: src/common/command.c:150 +#: src/common/command.c:140 msgid "" "list: list opened windows (no parameter implies this list)\n" "splith: split current window horizontally\n" @@ -2586,490 +2520,471 @@ msgid "" "merge: merge window with another" msgstr "" -#: src/common/command.c:296 +#: src/common/command.c:286 #, c-format msgid "%s alias or command \"%s\" already exists!\n" msgstr "" -#: src/common/command.c:306 +#: src/common/command.c:296 #, c-format msgid "%s alias cannot run another alias!\n" msgstr "" -#: src/common/command.c:313 +#: src/common/command.c:303 #, c-format msgid "%s target command \"%s\" does not exist!\n" msgstr "" -#: src/common/command.c:521 +#: src/common/command.c:532 #, c-format msgid "%s wrong argument count for %s command \"%s\" (expected: %d arg%s)\n" msgstr "" -#: src/common/command.c:533 +#: src/common/command.c:544 #, c-format msgid "" "%s wrong argument count for %s command \"%s\" (expected: between %d and %d " "arg%s)\n" msgstr "" -#: src/common/command.c:555 src/common/command.c:625 +#: src/common/command.c:566 src/common/command.c:631 #, c-format msgid "%s command \"%s\" failed\n" msgstr "" -#: src/common/command.c:583 +#: src/common/command.c:589 #, c-format msgid "%s wrong argument count for IRC command \"%s\" (expected: %d arg%s)\n" msgstr "" -#: src/common/command.c:595 +#: src/common/command.c:601 #, c-format msgid "" "%s wrong argument count for IRC command \"%s\" (expected: between %d and %d " "arg%s)\n" msgstr "" -#: src/common/command.c:610 +#: src/common/command.c:616 #, c-format msgid "%s command \"%s\" needs a server connection!\n" msgstr "" -#: src/common/command.c:674 +#: src/common/command.c:670 #, c-format msgid "%s unknown command \"%s\" (type /help for help)\n" msgstr "" -#: src/common/command.c:777 +#: src/common/command.c:770 #, c-format msgid "%s unable to call handler for message (not enough memory)\n" msgstr "" -#: src/common/command.c:785 +#: src/common/command.c:778 msgid "This window is not a channel!\n" msgstr "" -#: src/common/command.c:813 src/common/command.c:837 src/common/command.c:947 +#: src/common/command.c:806 src/common/command.c:830 src/common/command.c:940 #, c-format msgid "%s missing arguments for \"%s\" command\n" msgstr "" -#: src/common/command.c:822 +#: src/common/command.c:815 #, c-format msgid "Alias \"%s\" => \"%s\" created\n" msgstr "" -#: src/common/command.c:828 +#: src/common/command.c:821 #, c-format msgid "Failed to create alias \"%s\" => \"%s\" (not enough memory)\n" msgstr "" -#: src/common/command.c:848 +#: src/common/command.c:841 msgid "List of aliases:\n" msgstr "" -#: src/common/command.c:860 +#: src/common/command.c:853 msgid "No alias defined.\n" msgstr "" -#: src/common/command.c:883 +#: src/common/command.c:876 msgid "Channel: " msgstr "" -#: src/common/command.c:886 src/common/command.c:896 +#: src/common/command.c:879 src/common/command.c:889 msgid " (server: " msgstr "" -#: src/common/command.c:893 +#: src/common/command.c:886 msgid "Private with: " msgstr "" -#: src/common/command.c:927 +#: src/common/command.c:920 msgid "Opened buffers:\n" msgstr "" -#: src/common/command.c:970 +#: src/common/command.c:963 #, c-format msgid "%s incorrect buffer number\n" msgstr "" -#: src/common/command.c:984 +#: src/common/command.c:977 #, c-format msgid "%s can not close the single buffer\n" msgstr "" -#: src/common/command.c:994 +#: src/common/command.c:987 #, c-format msgid "%s can not close server buffer while channels are opened\n" msgstr "" -#: src/common/command.c:1035 +#: src/common/command.c:1028 msgid "Notify levels: " msgstr "" -#: src/common/command.c:1063 src/common/command.c:1085 +#: src/common/command.c:1056 src/common/command.c:1078 #, c-format msgid "%s incorrect notify level (must be between %d and %d)\n" msgstr "" -#: src/common/command.c:1072 +#: src/common/command.c:1065 #, c-format msgid "%s incorrect buffer for notify (must be channel or private)\n" msgstr "" -#: src/common/command.c:1152 +#: src/common/command.c:1145 #, c-format msgid "unknown parameter \"%s\" for \"%s\" command\n" msgstr "" -#: src/common/command.c:1182 +#: src/common/command.c:1175 #, c-format msgid "%s already connected to server \"%s\"!\n" msgstr "" -#: src/common/command.c:1190 +#: src/common/command.c:1183 #, c-format msgid "%s currently connecting to server \"%s\"!\n" msgstr "" -#: src/common/command.c:1208 src/common/command.c:1283 +#: src/common/command.c:1201 src/common/command.c:1276 #, c-format msgid "%s server not found\n" msgstr "" -#: src/common/command.c:1238 src/common/command.c:1722 -#: src/common/command.c:1865 src/common/command.c:2008 -#: src/common/command.c:2828 src/common/command.c:2844 +#: src/common/command.c:1231 src/common/command.c:1753 +#: src/common/command.c:2572 src/common/command.c:2588 #, c-format msgid "%s unknown option for \"%s\" command\n" msgstr "" -#: src/common/command.c:1267 +#: src/common/command.c:1260 #, c-format msgid "%s not connected to server \"%s\"!\n" msgstr "" -#: src/common/command.c:1275 +#: src/common/command.c:1268 msgid "Auto-reconnection is cancelled\n" msgstr "" -#: src/common/command.c:1301 src/common/weechat.c:346 +#: src/common/command.c:1299 src/common/weechat.c:349 #, c-format msgid "%s internal commands:\n" msgstr "" -#: src/common/command.c:1310 src/common/weechat.c:366 +#: src/common/command.c:1308 src/common/weechat.c:369 #, c-format msgid "IRC commands:\n" msgstr "" -#: src/common/command.c:1377 +#: src/common/command.c:1321 +msgid "Plugin commands:\n" +msgstr "" + +#: src/common/command.c:1425 #, c-format msgid "No help available, \"%s\" is an unknown command\n" msgstr "" -#: src/common/command.c:1398 +#: src/common/command.c:1447 msgid " ignoring " msgstr "" -#: src/common/command.c:1422 +#: src/common/command.c:1471 msgid "List of ignore:\n" msgstr "" -#: src/common/command.c:1437 +#: src/common/command.c:1486 msgid "No ignore defined.\n" msgstr "" -#: src/common/command.c:1463 +#: src/common/command.c:1512 msgid "New ignore:" msgstr "" -#: src/common/command.c:1482 +#: src/common/command.c:1531 msgid "New key binding:\n" msgstr "" -#: src/common/command.c:1515 +#: src/common/command.c:1564 msgid "Key bindings:\n" msgstr "" -#: src/common/command.c:1527 +#: src/common/command.c:1576 #, c-format msgid "Key \"%s\" unbinded\n" msgstr "" -#: src/common/command.c:1532 +#: src/common/command.c:1581 #, c-format msgid "%s unable to unbind key \"%s\"\n" msgstr "" -#: src/common/command.c:1540 src/common/weechat.c:397 +#: src/common/command.c:1589 src/common/weechat.c:400 #, c-format msgid "Internal key functions:\n" msgstr "" -#: src/common/command.c:1559 +#: src/common/command.c:1608 msgid "Default key bindings restored\n" msgstr "" -#: src/common/command.c:1565 +#: src/common/command.c:1614 #, c-format msgid "%s \"-yes\" argument is required for keys reset (securuty reason)\n" msgstr "" -#: src/common/command.c:1621 src/common/command.c:1764 -#: src/common/command.c:1907 -#, c-format -msgid "Registered %s scripts:\n" +#: src/common/command.c:1670 +msgid "Plugins loaded:\n" msgstr "" -#: src/common/command.c:1638 src/common/command.c:1661 -#: src/common/command.c:1684 src/common/command.c:1781 -#: src/common/command.c:1804 src/common/command.c:1827 -#: src/common/command.c:1924 src/common/command.c:1947 -#: src/common/command.c:1970 -msgid " (none)\n" +#: src/common/command.c:1684 +msgid " message handlers:\n" msgstr "" -#: src/common/command.c:1643 src/common/command.c:1786 -#: src/common/command.c:1929 +#: src/common/command.c:1690 #, c-format -msgid "%s message handlers:\n" +msgid " IRC(%s)\n" msgstr "" -#: src/common/command.c:1652 src/common/command.c:1795 -#: src/common/command.c:1938 -#, c-format -msgid " IRC(%s) => %s(%s)\n" +#: src/common/command.c:1696 +msgid " (no message handler)\n" msgstr "" -#: src/common/command.c:1666 src/common/command.c:1809 -#: src/common/command.c:1952 -#, c-format -msgid "%s command handlers:\n" +#: src/common/command.c:1701 +msgid " command handlers:\n" msgstr "" -#: src/common/command.c:1675 src/common/command.c:1818 -#: src/common/command.c:1961 -#, c-format -msgid " Command /%s => %s(%s)\n" -msgstr "" - -#: src/common/command.c:1735 -msgid "" -"WeeChat was build without Perl support.\n" -"Please rebuild WeeChat with \"--enable-perl\" option for ./configure script\n" +#: src/common/command.c:1718 +msgid " (no command handler)\n" msgstr "" -#: src/common/command.c:1878 -msgid "" -"WeeChat was build without Python support.\n" -"Please rebuild WeeChat with \"--enable-python\" option for ./configure " -"script\n" +#: src/common/command.c:1724 +msgid " (no plugin)\n" msgstr "" -#: src/common/command.c:2021 +#: src/common/command.c:1766 msgid "" -"WeeChat was build without Ruby support.\n" -"Please rebuild WeeChat with \"--enable-ruby\" option for ./configure script\n" +"Command \"plugin\" is not available, WeeChat was built without plugins " +"support.\n" msgstr "" -#: src/common/command.c:2069 +#: src/common/command.c:1813 msgid "No server.\n" msgstr "" -#: src/common/command.c:2080 +#: src/common/command.c:1824 #, c-format msgid "Server '%s' not found.\n" msgstr "" -#: src/common/command.c:2092 +#: src/common/command.c:1836 #, c-format msgid "%s missing servername for \"%s\" command\n" msgstr "" -#: src/common/command.c:2100 +#: src/common/command.c:1844 #, c-format msgid "%s too much arguments for \"%s\" command, ignoring arguments\n" msgstr "" -#: src/common/command.c:2119 +#: src/common/command.c:1863 #, c-format msgid "%s server \"%s\" not found for \"%s\" command\n" msgstr "" -#: src/common/command.c:2127 +#: src/common/command.c:1871 #, c-format msgid "" "%s you can not delete server \"%s\" because you are connected to. Try /" "disconnect %s before.\n" msgstr "" -#: src/common/command.c:2143 src/common/command.c:2289 +#: src/common/command.c:1887 src/common/command.c:2033 msgid "Server" msgstr "" -#: src/common/command.c:2146 +#: src/common/command.c:1890 msgid "has been deleted\n" msgstr "" -#: src/common/command.c:2161 +#: src/common/command.c:1905 #, c-format msgid "%s missing parameters for \"%s\" command\n" msgstr "" -#: src/common/command.c:2171 +#: src/common/command.c:1915 #, c-format msgid "%s server \"%s\" already exists, can't create it!\n" msgstr "" -#: src/common/command.c:2200 src/common/command.c:2228 -#: src/common/command.c:2241 src/common/command.c:2267 +#: src/common/command.c:1944 src/common/command.c:1972 +#: src/common/command.c:1985 src/common/command.c:2011 #, c-format msgid "%s missing password for \"%s\" parameter\n" msgstr "" -#: src/common/command.c:2213 +#: src/common/command.c:1957 #, c-format msgid "%s missing nick(s) for \"%s\" parameter\n" msgstr "" -#: src/common/command.c:2254 +#: src/common/command.c:1998 #, c-format msgid "%s missing command for \"%s\" parameter\n" msgstr "" -#: src/common/command.c:2292 +#: src/common/command.c:2036 msgid "created\n" msgstr "" -#: src/common/command.c:2298 +#: src/common/command.c:2042 #, c-format msgid "%s unable to create server\n" msgstr "" -#: src/common/command.c:2353 +#: src/common/command.c:2097 msgid "(unknown)" msgstr "" -#: src/common/command.c:2376 +#: src/common/command.c:2120 msgid "(password hidden) " msgstr "" -#: src/common/command.c:2440 +#: src/common/command.c:2184 #, c-format msgid "%s server \"%s\" not found\n" msgstr "" -#: src/common/command.c:2471 src/common/command.c:2517 +#: src/common/command.c:2215 src/common/command.c:2261 #, c-format msgid "%s config option \"%s\" not found\n" msgstr "" -#: src/common/command.c:2476 src/common/command.c:2509 +#: src/common/command.c:2220 src/common/command.c:2253 #, c-format msgid "%s incorrect value for option \"%s\"\n" msgstr "" -#: src/common/command.c:2492 +#: src/common/command.c:2236 #, c-format msgid "%s option \"%s\" can not be changed while WeeChat is running\n" msgstr "" -#: src/common/command.c:2597 +#: src/common/command.c:2341 #, c-format msgid "No config option found with \"%s\"\n" msgstr "" -#: src/common/command.c:2600 +#: src/common/command.c:2344 msgid "No config option found\n" msgstr "" -#: src/common/command.c:2607 +#: src/common/command.c:2351 msgid "Detail:\n" msgstr "" -#: src/common/command.c:2611 src/common/weechat.c:283 +#: src/common/command.c:2355 src/common/weechat.c:286 #, c-format msgid " . type boolean (values: 'on' or 'off')\n" msgstr "" -#: src/common/command.c:2612 src/common/command.c:2635 -#: src/common/command.c:2641 src/common/command.c:2647 -#: src/common/weechat.c:284 src/common/weechat.c:307 src/common/weechat.c:313 -#: src/common/weechat.c:319 +#: src/common/command.c:2356 src/common/command.c:2379 +#: src/common/command.c:2385 src/common/command.c:2391 +#: src/common/weechat.c:287 src/common/weechat.c:310 src/common/weechat.c:316 +#: src/common/weechat.c:322 #, c-format msgid " . default value: '%s'\n" msgstr "" -#: src/common/command.c:2617 src/common/weechat.c:289 +#: src/common/command.c:2361 src/common/weechat.c:292 #, c-format msgid " . type integer (values: between %d and %d)\n" msgstr "" -#: src/common/command.c:2620 src/common/weechat.c:292 +#: src/common/command.c:2364 src/common/weechat.c:295 #, c-format msgid " . default value: %d\n" msgstr "" -#: src/common/command.c:2624 src/common/weechat.c:296 +#: src/common/command.c:2368 src/common/weechat.c:299 #, c-format msgid " . type string (values: " msgstr "" -#: src/common/command.c:2637 src/common/command.c:2643 -#: src/common/command.c:2649 src/common/weechat.c:309 src/common/weechat.c:315 -#: src/common/weechat.c:321 +#: src/common/command.c:2381 src/common/command.c:2387 +#: src/common/command.c:2393 src/common/weechat.c:312 src/common/weechat.c:318 +#: src/common/weechat.c:324 msgid "empty" msgstr "" -#: src/common/command.c:2640 src/common/weechat.c:312 +#: src/common/command.c:2384 src/common/weechat.c:315 #, c-format msgid " . type color (Curses or Gtk color, look at WeeChat doc)\n" msgstr "" -#: src/common/command.c:2646 src/common/weechat.c:318 +#: src/common/command.c:2390 src/common/weechat.c:321 #, c-format msgid " . type string (any string)\n" msgstr "" -#: src/common/command.c:2652 src/common/weechat.c:324 +#: src/common/command.c:2396 src/common/weechat.c:327 #, c-format msgid " . description: %s\n" msgstr "" -#: src/common/command.c:2659 +#: src/common/command.c:2403 #, c-format msgid "config option(s) found with \"%s\"\n" msgstr "" -#: src/common/command.c:2662 +#: src/common/command.c:2406 msgid "config option(s) found\n" msgstr "" -#: src/common/command.c:2683 +#: src/common/command.c:2427 #, c-format msgid "%s alias or command \"%s\" not found\n" msgstr "" -#: src/common/command.c:2693 +#: src/common/command.c:2437 #, c-format msgid "Alias \"%s\" removed\n" msgstr "" -#: src/common/command.c:2746 +#: src/common/command.c:2490 msgid "ignore were removed.\n" msgstr "" -#: src/common/command.c:2748 +#: src/common/command.c:2492 msgid "ignore was removed.\n" msgstr "" -#: src/common/command.c:2753 +#: src/common/command.c:2497 #, c-format msgid "%s no ignore found\n" msgstr "" -#: src/common/command.c:2776 +#: src/common/command.c:2520 msgid "Opened windows:\n" msgstr "" @@ -3132,82 +3047,82 @@ msgstr "" msgid "**** End of log " msgstr "" -#: src/common/weechat.c:270 +#: src/common/weechat.c:273 #, c-format msgid "" "WeeChat configuration options (~/.weechat/weechat.rc):\n" "\n" msgstr "" -#: src/common/weechat.c:331 +#: src/common/weechat.c:334 #, c-format msgid "" "Moreover, you can define aliases in [alias] section, by adding lines like:\n" msgstr "" -#: src/common/weechat.c:333 +#: src/common/weechat.c:336 #, c-format msgid "" "where 'j' is alias name, and 'join' associated command.\n" "\n" msgstr "" -#: src/common/weechat.c:418 +#: src/common/weechat.c:421 #, c-format msgid "%s default keys:\n" msgstr "" -#: src/common/weechat.c:498 +#: src/common/weechat.c:501 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "" -#: src/common/weechat.c:511 +#: src/common/weechat.c:514 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "" -#: src/common/weechat.c:520 +#: src/common/weechat.c:523 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "" -#: src/common/weechat.c:540 +#: src/common/weechat.c:543 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "" -#: src/common/weechat.c:566 +#: src/common/weechat.c:569 #, c-format msgid "%s unable to get HOME directory\n" msgstr "" -#: src/common/weechat.c:575 +#: src/common/weechat.c:578 #, c-format msgid "%s not enough memory for home directory\n" msgstr "" -#: src/common/weechat.c:585 +#: src/common/weechat.c:588 #, c-format msgid "%s unable to create ~/.weechat directory\n" msgstr "" -#: src/common/weechat.c:637 +#: src/common/weechat.c:601 #, c-format msgid "%s unable to create ~/.weechat/logs directory\n" msgstr "" -#: src/common/weechat.c:680 +#: src/common/weechat.c:644 #, c-format msgid "%s unable to create/append to log file (~/.weechat/%s)" msgstr "" -#: src/common/weechat.c:703 +#: src/common/weechat.c:667 #, c-format msgid "%sWelcome to " msgstr "" -#: src/common/weechat.c:716 src/common/weechat.c:725 +#: src/common/weechat.c:680 src/common/weechat.c:689 msgid "compiled on" msgstr "" @@ -3219,967 +3134,992 @@ msgstr "" msgid "WeeChat Warning:" msgstr "" -#: src/common/weeconfig.c:95 src/common/weeconfig.c:96 +#: src/common/weeconfig.c:96 src/common/weeconfig.c:97 msgid "set title for window (terminal for Curses GUI) with name & version" msgstr "" -#: src/common/weeconfig.c:99 src/common/weeconfig.c:100 +#: src/common/weeconfig.c:100 src/common/weeconfig.c:101 msgid "display WeeChat logo at startup" msgstr "" -#: src/common/weeconfig.c:103 src/common/weeconfig.c:104 +#: src/common/weeconfig.c:104 src/common/weeconfig.c:105 msgid "display WeeChat version at startup" msgstr "" -#: src/common/weeconfig.c:107 +#: src/common/weeconfig.c:108 msgid "WeeChat slogan" msgstr "" -#: src/common/weeconfig.c:108 +#: src/common/weeconfig.c:109 msgid "WeeChat slogan (if empty, slogan is not used)" msgstr "" -#: src/common/weeconfig.c:111 +#: src/common/weeconfig.c:112 msgid "charset for decoding messages from server" msgstr "" -#: src/common/weeconfig.c:112 +#: src/common/weeconfig.c:113 msgid "" "charset for decoding messages from server, examples: UTF-8, ISO-8859-1 (if " "empty, messages are not converted)" msgstr "" -#: src/common/weeconfig.c:115 +#: src/common/weeconfig.c:116 msgid "charset for encoding messages sent to server" msgstr "" -#: src/common/weeconfig.c:116 +#: src/common/weeconfig.c:117 msgid "" "charset for encoding messages sent to server, examples: UFT-8, ISO-8859-1 " "(if empty, local charset is used)" msgstr "" -#: src/common/weeconfig.c:119 +#: src/common/weeconfig.c:120 msgid "internal WeeChat charset (should be ISO)" msgstr "" -#: src/common/weeconfig.c:120 +#: src/common/weeconfig.c:121 msgid "" "internal WeeChat charset, should be ISO-xxxx even if locale is UTF-8 (if " "empty, local charset is used)" msgstr "" -#: src/common/weeconfig.c:123 src/common/weeconfig.c:124 +#: src/common/weeconfig.c:124 src/common/weeconfig.c:125 msgid "timestamp for buffers" msgstr "" -#: src/common/weeconfig.c:127 src/common/weeconfig.c:128 +#: src/common/weeconfig.c:128 src/common/weeconfig.c:129 msgid "display nick names with different colors" msgstr "" -#: src/common/weeconfig.c:131 src/common/weeconfig.c:132 +#: src/common/weeconfig.c:132 src/common/weeconfig.c:133 msgid "number of colors to use for nicks colors" msgstr "" -#: src/common/weeconfig.c:135 src/common/weeconfig.c:136 +#: src/common/weeconfig.c:136 src/common/weeconfig.c:137 msgid "display actions with different colors" msgstr "" -#: src/common/weeconfig.c:139 src/common/weeconfig.c:140 +#: src/common/weeconfig.c:140 src/common/weeconfig.c:141 msgid "remove colors from incoming messages" msgstr "" -#: src/common/weeconfig.c:143 +#: src/common/weeconfig.c:144 msgid "display nicklist window" msgstr "" -#: src/common/weeconfig.c:144 +#: src/common/weeconfig.c:145 msgid "display nicklist window (for channel windows)" msgstr "" -#: src/common/weeconfig.c:147 +#: src/common/weeconfig.c:148 msgid "nicklist position" msgstr "" -#: src/common/weeconfig.c:148 +#: src/common/weeconfig.c:149 msgid "nicklist position (top, left, right (default), bottom)" msgstr "" -#: src/common/weeconfig.c:151 +#: src/common/weeconfig.c:152 msgid "min size for nicklist" msgstr "" -#: src/common/weeconfig.c:152 +#: src/common/weeconfig.c:153 msgid "" "min size for nicklist (width or height, depending on look_nicklist_position " "(0 = no min size))" msgstr "" -#: src/common/weeconfig.c:156 +#: src/common/weeconfig.c:157 msgid "max size for nicklist" msgstr "" -#: src/common/weeconfig.c:157 +#: src/common/weeconfig.c:158 msgid "" "max size for nicklist (width or height, depending on look_nicklist_position " "(0 = no max size; if min == max and > 0, then size is fixed))" msgstr "" -#: src/common/weeconfig.c:161 src/common/weeconfig.c:162 +#: src/common/weeconfig.c:162 src/common/weeconfig.c:163 msgid "text to display instead of nick when not connected" msgstr "" -#: src/common/weeconfig.c:165 src/common/weeconfig.c:166 +#: src/common/weeconfig.c:166 src/common/weeconfig.c:167 msgid "display nick mode ((half)op/voice) before each nick" msgstr "" -#: src/common/weeconfig.c:169 src/common/weeconfig.c:170 +#: src/common/weeconfig.c:170 src/common/weeconfig.c:171 msgid "display space if nick mode is not (half)op/voice" msgstr "" -#: src/common/weeconfig.c:173 src/common/weeconfig.c:174 +#: src/common/weeconfig.c:174 src/common/weeconfig.c:175 msgid "the string inserted after nick completion" msgstr "" -#: src/common/weeconfig.c:177 src/common/weeconfig.c:178 +#: src/common/weeconfig.c:178 src/common/weeconfig.c:179 msgid "enable info bar" msgstr "" -#: src/common/weeconfig.c:181 src/common/weeconfig.c:182 +#: src/common/weeconfig.c:182 src/common/weeconfig.c:183 msgid "timestamp for time in infobar" msgstr "" -#: src/common/weeconfig.c:185 src/common/weeconfig.c:186 +#: src/common/weeconfig.c:186 src/common/weeconfig.c:187 msgid "display seconds in infobar time" msgstr "" -#: src/common/weeconfig.c:189 +#: src/common/weeconfig.c:190 msgid "delay (in seconds) for highlight messages in infobar" msgstr "" -#: src/common/weeconfig.c:190 +#: src/common/weeconfig.c:191 msgid "" "delay (in seconds) for highlight messages in infobar (0 = disable highlight " "notifications in infobar)" msgstr "" -#: src/common/weeconfig.c:194 +#: src/common/weeconfig.c:195 msgid "max number of names in hotlist" msgstr "" -#: src/common/weeconfig.c:195 +#: src/common/weeconfig.c:196 msgid "" "max number of names in hotlist (0 = no name displayed, only buffer numbers)" msgstr "" -#: src/common/weeconfig.c:198 +#: src/common/weeconfig.c:199 msgid "level for displaying names in hotlist" msgstr "" -#: src/common/weeconfig.c:199 +#: src/common/weeconfig.c:200 msgid "" "level for displaying names in hotlist (combination of: 1=join/part, " "2=message, 4=private, 8=highlight, for example: 12=private+highlight)" msgstr "" -#: src/common/weeconfig.c:203 +#: src/common/weeconfig.c:204 msgid "max length of names in hotlist" msgstr "" -#: src/common/weeconfig.c:204 +#: src/common/weeconfig.c:205 msgid "max length of names in hotlist (0 = no limit)" msgstr "" -#: src/common/weeconfig.c:268 src/common/weeconfig.c:269 +#: src/common/weeconfig.c:269 src/common/weeconfig.c:270 msgid "color for title bar" msgstr "" -#: src/common/weeconfig.c:272 src/common/weeconfig.c:273 +#: src/common/weeconfig.c:273 src/common/weeconfig.c:274 msgid "background for title bar" msgstr "" -#: src/common/weeconfig.c:278 src/common/weeconfig.c:279 +#: src/common/weeconfig.c:279 src/common/weeconfig.c:280 msgid "color for chat text" msgstr "" -#: src/common/weeconfig.c:282 +#: src/common/weeconfig.c:283 msgid "color for time" msgstr "" -#: src/common/weeconfig.c:283 +#: src/common/weeconfig.c:284 msgid "color for time in chat window" msgstr "" -#: src/common/weeconfig.c:286 +#: src/common/weeconfig.c:287 msgid "color for time separator" msgstr "" -#: src/common/weeconfig.c:287 +#: src/common/weeconfig.c:288 msgid "color for time separator (chat window)" msgstr "" -#: src/common/weeconfig.c:290 src/common/weeconfig.c:291 +#: src/common/weeconfig.c:291 src/common/weeconfig.c:292 msgid "color for 1st and 3rd char of prefix" msgstr "" -#: src/common/weeconfig.c:294 src/common/weeconfig.c:295 +#: src/common/weeconfig.c:295 src/common/weeconfig.c:296 msgid "color for middle char of prefix" msgstr "" -#: src/common/weeconfig.c:298 src/common/weeconfig.c:299 +#: src/common/weeconfig.c:299 src/common/weeconfig.c:300 msgid "color for join arrow (prefix)" msgstr "" -#: src/common/weeconfig.c:302 src/common/weeconfig.c:303 +#: src/common/weeconfig.c:303 src/common/weeconfig.c:304 msgid "color for part/quit arrow (prefix)" msgstr "" -#: src/common/weeconfig.c:306 +#: src/common/weeconfig.c:307 msgid "color for nicks in actions" msgstr "" -#: src/common/weeconfig.c:307 +#: src/common/weeconfig.c:308 msgid "color for nicks in actions (chat window)" msgstr "" -#: src/common/weeconfig.c:310 +#: src/common/weeconfig.c:311 msgid "color for hostnames" msgstr "" -#: src/common/weeconfig.c:311 +#: src/common/weeconfig.c:312 msgid "color for hostnames (chat window)" msgstr "" -#: src/common/weeconfig.c:314 +#: src/common/weeconfig.c:315 msgid "color for channel names in actions" msgstr "" -#: src/common/weeconfig.c:315 +#: src/common/weeconfig.c:316 msgid "color for channel names in actions (chat window)" msgstr "" -#: src/common/weeconfig.c:318 +#: src/common/weeconfig.c:319 msgid "color for dark separators" msgstr "" -#: src/common/weeconfig.c:319 +#: src/common/weeconfig.c:320 msgid "color for dark separators (chat window)" msgstr "" -#: src/common/weeconfig.c:322 +#: src/common/weeconfig.c:323 msgid "color for highlighted nick" msgstr "" -#: src/common/weeconfig.c:323 +#: src/common/weeconfig.c:324 msgid "color for highlighted nick (chat window)" msgstr "" -#: src/common/weeconfig.c:326 +#: src/common/weeconfig.c:327 msgid "background for chat" msgstr "" -#: src/common/weeconfig.c:327 +#: src/common/weeconfig.c:328 msgid "background for chat window" msgstr "" -#: src/common/weeconfig.c:332 src/common/weeconfig.c:333 +#: src/common/weeconfig.c:333 src/common/weeconfig.c:334 msgid "color for status bar" msgstr "" -#: src/common/weeconfig.c:336 src/common/weeconfig.c:337 +#: src/common/weeconfig.c:337 src/common/weeconfig.c:338 msgid "color for status bar delimiters" msgstr "" -#: src/common/weeconfig.c:340 src/common/weeconfig.c:341 +#: src/common/weeconfig.c:341 src/common/weeconfig.c:342 msgid "color for current channel in status bar" msgstr "" -#: src/common/weeconfig.c:344 +#: src/common/weeconfig.c:345 msgid "color for window with new messages" msgstr "" -#: src/common/weeconfig.c:345 +#: src/common/weeconfig.c:346 msgid "color for window with new messages (status bar)" msgstr "" -#: src/common/weeconfig.c:348 +#: src/common/weeconfig.c:349 msgid "color for window with private message" msgstr "" -#: src/common/weeconfig.c:349 +#: src/common/weeconfig.c:350 msgid "color for window with private message (status bar)" msgstr "" -#: src/common/weeconfig.c:352 +#: src/common/weeconfig.c:353 msgid "color for window with highlight" msgstr "" -#: src/common/weeconfig.c:353 +#: src/common/weeconfig.c:354 msgid "color for window with highlight (status bar)" msgstr "" -#: src/common/weeconfig.c:356 +#: src/common/weeconfig.c:357 msgid "color for window with new data (not messages)" msgstr "" -#: src/common/weeconfig.c:357 +#: src/common/weeconfig.c:358 msgid "color for window with new data (not messages) (status bar)" msgstr "" -#: src/common/weeconfig.c:360 +#: src/common/weeconfig.c:361 msgid "color for \"-MORE-\" text" msgstr "" -#: src/common/weeconfig.c:361 +#: src/common/weeconfig.c:362 msgid "color for window with new data (status bar)" msgstr "" -#: src/common/weeconfig.c:364 src/common/weeconfig.c:365 +#: src/common/weeconfig.c:365 src/common/weeconfig.c:366 msgid "background for status window" msgstr "" -#: src/common/weeconfig.c:370 src/common/weeconfig.c:371 +#: src/common/weeconfig.c:371 src/common/weeconfig.c:372 msgid "color for info bar text" msgstr "" -#: src/common/weeconfig.c:374 src/common/weeconfig.c:375 +#: src/common/weeconfig.c:375 src/common/weeconfig.c:376 msgid "color for infobar delimiters" msgstr "" -#: src/common/weeconfig.c:378 src/common/weeconfig.c:379 +#: src/common/weeconfig.c:379 src/common/weeconfig.c:380 msgid "color for info bar highlight notification" msgstr "" -#: src/common/weeconfig.c:382 src/common/weeconfig.c:383 +#: src/common/weeconfig.c:383 src/common/weeconfig.c:384 msgid "background for info bar window" msgstr "" -#: src/common/weeconfig.c:388 src/common/weeconfig.c:389 +#: src/common/weeconfig.c:389 src/common/weeconfig.c:390 msgid "color for input text" msgstr "" -#: src/common/weeconfig.c:392 src/common/weeconfig.c:393 +#: src/common/weeconfig.c:393 src/common/weeconfig.c:394 msgid "color for input text (channel name)" msgstr "" -#: src/common/weeconfig.c:396 src/common/weeconfig.c:397 +#: src/common/weeconfig.c:397 src/common/weeconfig.c:398 msgid "color for input text (nick name)" msgstr "" -#: src/common/weeconfig.c:400 src/common/weeconfig.c:401 +#: src/common/weeconfig.c:401 src/common/weeconfig.c:402 msgid "color for input text (delimiters)" msgstr "" -#: src/common/weeconfig.c:404 src/common/weeconfig.c:405 +#: src/common/weeconfig.c:405 src/common/weeconfig.c:406 msgid "background for input window" msgstr "" -#: src/common/weeconfig.c:410 src/common/weeconfig.c:411 +#: src/common/weeconfig.c:411 src/common/weeconfig.c:412 msgid "color for nicknames" msgstr "" -#: src/common/weeconfig.c:414 src/common/weeconfig.c:415 +#: src/common/weeconfig.c:415 src/common/weeconfig.c:416 msgid "color for away nicknames" msgstr "" -#: src/common/weeconfig.c:418 +#: src/common/weeconfig.c:419 msgid "color for chan owner symbol" msgstr "" -#: src/common/weeconfig.c:419 +#: src/common/weeconfig.c:420 msgid "color for chan owner symbol (specific to unrealircd)" msgstr "" -#: src/common/weeconfig.c:422 +#: src/common/weeconfig.c:423 msgid "color for chan admin symbol" msgstr "" -#: src/common/weeconfig.c:423 +#: src/common/weeconfig.c:424 msgid "color for chan admin symbol (specific to unrealircd)" msgstr "" -#: src/common/weeconfig.c:426 src/common/weeconfig.c:427 +#: src/common/weeconfig.c:427 src/common/weeconfig.c:428 msgid "color for operator symbol" msgstr "" -#: src/common/weeconfig.c:430 src/common/weeconfig.c:431 +#: src/common/weeconfig.c:431 src/common/weeconfig.c:432 msgid "color for half-operator symbol" msgstr "" -#: src/common/weeconfig.c:434 src/common/weeconfig.c:435 +#: src/common/weeconfig.c:435 src/common/weeconfig.c:436 msgid "color for voice symbol" msgstr "" -#: src/common/weeconfig.c:438 src/common/weeconfig.c:439 +#: src/common/weeconfig.c:439 src/common/weeconfig.c:440 msgid "color for '+' when scrolling nicks" msgstr "" -#: src/common/weeconfig.c:442 src/common/weeconfig.c:443 +#: src/common/weeconfig.c:443 src/common/weeconfig.c:444 msgid "color for nick separator" msgstr "" -#: src/common/weeconfig.c:446 src/common/weeconfig.c:447 +#: src/common/weeconfig.c:447 src/common/weeconfig.c:448 msgid "color for local nick" msgstr "" -#: src/common/weeconfig.c:450 src/common/weeconfig.c:451 -#: src/common/weeconfig.c:454 src/common/weeconfig.c:455 -#: src/common/weeconfig.c:458 src/common/weeconfig.c:459 -#: src/common/weeconfig.c:462 src/common/weeconfig.c:463 -#: src/common/weeconfig.c:466 src/common/weeconfig.c:467 -#: src/common/weeconfig.c:470 src/common/weeconfig.c:471 -#: src/common/weeconfig.c:474 src/common/weeconfig.c:475 -#: src/common/weeconfig.c:478 src/common/weeconfig.c:479 -#: src/common/weeconfig.c:482 src/common/weeconfig.c:483 -#: src/common/weeconfig.c:486 src/common/weeconfig.c:487 +#: src/common/weeconfig.c:451 src/common/weeconfig.c:452 +#: src/common/weeconfig.c:455 src/common/weeconfig.c:456 +#: src/common/weeconfig.c:459 src/common/weeconfig.c:460 +#: src/common/weeconfig.c:463 src/common/weeconfig.c:464 +#: src/common/weeconfig.c:467 src/common/weeconfig.c:468 +#: src/common/weeconfig.c:471 src/common/weeconfig.c:472 +#: src/common/weeconfig.c:475 src/common/weeconfig.c:476 +#: src/common/weeconfig.c:479 src/common/weeconfig.c:480 +#: src/common/weeconfig.c:483 src/common/weeconfig.c:484 +#: src/common/weeconfig.c:487 src/common/weeconfig.c:488 msgid "color for nick" msgstr "" -#: src/common/weeconfig.c:490 src/common/weeconfig.c:491 +#: src/common/weeconfig.c:491 src/common/weeconfig.c:492 msgid "color for other nick in private window" msgstr "" -#: src/common/weeconfig.c:494 src/common/weeconfig.c:495 +#: src/common/weeconfig.c:495 src/common/weeconfig.c:496 msgid "background for nicknames" msgstr "" -#: src/common/weeconfig.c:500 +#: src/common/weeconfig.c:501 msgid "color for selected DCC" msgstr "" -#: src/common/weeconfig.c:501 +#: src/common/weeconfig.c:502 msgid "color for selected DCC (chat window)" msgstr "" -#: src/common/weeconfig.c:504 src/common/weeconfig.c:505 +#: src/common/weeconfig.c:505 src/common/weeconfig.c:506 msgid "color for \"waiting\" dcc status" msgstr "" -#: src/common/weeconfig.c:508 src/common/weeconfig.c:509 +#: src/common/weeconfig.c:509 src/common/weeconfig.c:510 msgid "color for \"connecting\" dcc status" msgstr "" -#: src/common/weeconfig.c:512 src/common/weeconfig.c:513 +#: src/common/weeconfig.c:513 src/common/weeconfig.c:514 msgid "color for \"active\" dcc status" msgstr "" -#: src/common/weeconfig.c:516 src/common/weeconfig.c:517 +#: src/common/weeconfig.c:517 src/common/weeconfig.c:518 msgid "color for \"done\" dcc status" msgstr "" -#: src/common/weeconfig.c:520 src/common/weeconfig.c:521 +#: src/common/weeconfig.c:521 src/common/weeconfig.c:522 msgid "color for \"failed\" dcc status" msgstr "" -#: src/common/weeconfig.c:524 src/common/weeconfig.c:525 +#: src/common/weeconfig.c:525 src/common/weeconfig.c:526 msgid "color for \"aborted\" dcc status" msgstr "" -#: src/common/weeconfig.c:538 +#: src/common/weeconfig.c:539 msgid "max lines in history (per window)" msgstr "" -#: src/common/weeconfig.c:539 +#: src/common/weeconfig.c:540 msgid "" "maximum number of lines in history for one server/channel/private window (0 " "= unlimited)" msgstr "" -#: src/common/weeconfig.c:543 +#: src/common/weeconfig.c:544 msgid "max user commands in history" msgstr "" -#: src/common/weeconfig.c:544 +#: src/common/weeconfig.c:545 msgid "maximum number of user commands in history (0 = unlimited)" msgstr "" -#: src/common/weeconfig.c:561 src/common/weeconfig.c:562 +#: src/common/weeconfig.c:562 src/common/weeconfig.c:563 msgid "automatically log server messages" msgstr "" -#: src/common/weeconfig.c:565 src/common/weeconfig.c:566 +#: src/common/weeconfig.c:566 src/common/weeconfig.c:567 msgid "automatically log channel chats" msgstr "" -#: src/common/weeconfig.c:569 src/common/weeconfig.c:570 +#: src/common/weeconfig.c:570 src/common/weeconfig.c:571 msgid "automatically log private chats" msgstr "" -#: src/common/weeconfig.c:573 src/common/weeconfig.c:574 +#: src/common/weeconfig.c:574 src/common/weeconfig.c:575 msgid "log messages from plugins (scripts)" msgstr "" -#: src/common/weeconfig.c:577 +#: src/common/weeconfig.c:578 msgid "path for log files" msgstr "" -#: src/common/weeconfig.c:578 +#: src/common/weeconfig.c:579 msgid "path for WeeChat log files" msgstr "" -#: src/common/weeconfig.c:581 +#: src/common/weeconfig.c:582 msgid "timestamp for log" msgstr "" -#: src/common/weeconfig.c:582 +#: src/common/weeconfig.c:583 msgid "timestamp for log (see man strftime for date/time specifiers)" msgstr "" -#: src/common/weeconfig.c:585 src/common/weeconfig.c:586 +#: src/common/weeconfig.c:586 src/common/weeconfig.c:587 msgid "hide password displayed by nickserv" msgstr "" -#: src/common/weeconfig.c:607 +#: src/common/weeconfig.c:608 msgid "display message to all channels when away" msgstr "" -#: src/common/weeconfig.c:608 +#: src/common/weeconfig.c:609 msgid "display message to all channels when (un)marking as away" msgstr "" -#: src/common/weeconfig.c:611 src/common/weeconfig.c:612 +#: src/common/weeconfig.c:612 src/common/weeconfig.c:613 msgid "default message when away" msgstr "" -#: src/common/weeconfig.c:615 src/common/weeconfig.c:616 +#: src/common/weeconfig.c:616 src/common/weeconfig.c:617 msgid "default part message (leaving channel)" msgstr "" -#: src/common/weeconfig.c:619 +#: src/common/weeconfig.c:620 msgid "default quit message" msgstr "" -#: src/common/weeconfig.c:620 +#: src/common/weeconfig.c:621 msgid "" "default quit message ('%v' will be replaced by WeeChat version in string)" msgstr "" -#: src/common/weeconfig.c:623 src/common/weeconfig.c:624 +#: src/common/weeconfig.c:624 src/common/weeconfig.c:625 msgid "display notices as private messages" msgstr "" -#: src/common/weeconfig.c:627 +#: src/common/weeconfig.c:628 msgid "interval between two checks for away" msgstr "" -#: src/common/weeconfig.c:628 +#: src/common/weeconfig.c:629 msgid "interval between two checks for away (in minutes, 0 = never check)" msgstr "" -#: src/common/weeconfig.c:631 +#: src/common/weeconfig.c:632 msgid "interval between two checks for lag" msgstr "" -#: src/common/weeconfig.c:632 +#: src/common/weeconfig.c:633 msgid "interval between two checks for lag (in seconds)" msgstr "" -#: src/common/weeconfig.c:635 +#: src/common/weeconfig.c:636 msgid "minimum lag to show" msgstr "" -#: src/common/weeconfig.c:636 +#: src/common/weeconfig.c:637 msgid "minimum lag to show (in seconds)" msgstr "" -#: src/common/weeconfig.c:639 +#: src/common/weeconfig.c:640 msgid "disconnect after important lag" msgstr "" -#: src/common/weeconfig.c:640 +#: src/common/weeconfig.c:641 msgid "disconnect after important lag (in minutes, 0 = never disconnect)" msgstr "" -#: src/common/weeconfig.c:643 src/common/weeconfig.c:644 +#: src/common/weeconfig.c:644 src/common/weeconfig.c:645 msgid "create a FIFO pipe for remote control" msgstr "" -#: src/common/weeconfig.c:647 +#: src/common/weeconfig.c:648 msgid "list of words to highlight" msgstr "" -#: src/common/weeconfig.c:648 +#: src/common/weeconfig.c:649 msgid "" "comma separated list of words to highlight (case insensitive comparison)" msgstr "" -#: src/common/weeconfig.c:667 +#: src/common/weeconfig.c:668 msgid "automatically accept dcc files" msgstr "" -#: src/common/weeconfig.c:668 +#: src/common/weeconfig.c:669 msgid "automatically accept incoming dcc files" msgstr "" -#: src/common/weeconfig.c:671 +#: src/common/weeconfig.c:672 msgid "automatically accept dcc chats" msgstr "" -#: src/common/weeconfig.c:672 +#: src/common/weeconfig.c:673 msgid "automatically accept dcc chats (use carefully!)" msgstr "" -#: src/common/weeconfig.c:675 +#: src/common/weeconfig.c:676 msgid "timeout for dcc request" msgstr "" -#: src/common/weeconfig.c:676 +#: src/common/weeconfig.c:677 msgid "timeout for dcc request (in seconds)" msgstr "" -#: src/common/weeconfig.c:679 +#: src/common/weeconfig.c:680 msgid "block size for dcc packets" msgstr "" -#: src/common/weeconfig.c:680 +#: src/common/weeconfig.c:681 msgid "block size for dcc packets in bytes (default: 65536)" msgstr "" -#: src/common/weeconfig.c:683 +#: src/common/weeconfig.c:684 msgid "path for incoming files with dcc" msgstr "" -#: src/common/weeconfig.c:684 +#: src/common/weeconfig.c:685 msgid "path for writing incoming files with dcc (default: user home)" msgstr "" -#: src/common/weeconfig.c:687 +#: src/common/weeconfig.c:688 msgid "default path for sending files with dcc" msgstr "" -#: src/common/weeconfig.c:688 +#: src/common/weeconfig.c:689 msgid "" "path for reading files when sending thru dcc (when no path is specified)" msgstr "" -#: src/common/weeconfig.c:691 src/common/weeconfig.c:692 +#: src/common/weeconfig.c:692 src/common/weeconfig.c:693 msgid "convert spaces to underscores when sending files" msgstr "" -#: src/common/weeconfig.c:695 +#: src/common/weeconfig.c:696 msgid "automatically rename dcc files if already exists" msgstr "" -#: src/common/weeconfig.c:696 +#: src/common/weeconfig.c:697 msgid "rename incoming files if already exists (add '.1', '.2', ...)" msgstr "" -#: src/common/weeconfig.c:699 +#: src/common/weeconfig.c:700 msgid "automatically resume aborted transfers" msgstr "" -#: src/common/weeconfig.c:700 +#: src/common/weeconfig.c:701 msgid "" "automatically resume dcc transfer if connection with remote host is loosed" msgstr "" -#: src/common/weeconfig.c:719 +#: src/common/weeconfig.c:720 msgid "use proxy" msgstr "" -#: src/common/weeconfig.c:720 +#: src/common/weeconfig.c:721 msgid "use a proxy server to connect to irc server" msgstr "" -#: src/common/weeconfig.c:723 +#: src/common/weeconfig.c:724 msgid "proxy type" msgstr "" -#: src/common/weeconfig.c:724 +#: src/common/weeconfig.c:725 msgid "proxy type (http (default), socks4, socks5)" msgstr "" -#: src/common/weeconfig.c:727 +#: src/common/weeconfig.c:728 msgid "use ipv6 proxy" msgstr "" -#: src/common/weeconfig.c:728 +#: src/common/weeconfig.c:729 msgid "connect to proxy in ipv6" msgstr "" -#: src/common/weeconfig.c:731 +#: src/common/weeconfig.c:732 msgid "proxy address" msgstr "" -#: src/common/weeconfig.c:732 +#: src/common/weeconfig.c:733 msgid "proxy server address (IP or hostname)" msgstr "" -#: src/common/weeconfig.c:735 +#: src/common/weeconfig.c:736 msgid "port for proxy" msgstr "" -#: src/common/weeconfig.c:736 +#: src/common/weeconfig.c:737 msgid "port for connecting to proxy server" msgstr "" -#: src/common/weeconfig.c:739 +#: src/common/weeconfig.c:740 msgid "proxy username" msgstr "" -#: src/common/weeconfig.c:740 +#: src/common/weeconfig.c:741 msgid "username for proxy server" msgstr "" -#: src/common/weeconfig.c:743 +#: src/common/weeconfig.c:744 msgid "proxy password" msgstr "" -#: src/common/weeconfig.c:744 +#: src/common/weeconfig.c:745 msgid "password for proxy server" msgstr "" -#: src/common/weeconfig.c:755 +#: src/common/weeconfig.c:758 src/common/weeconfig.c:759 +msgid "path for searching plugins" +msgstr "" + +#: src/common/weeconfig.c:762 +msgid "list of plugins to load automatically" +msgstr "" + +#: src/common/weeconfig.c:763 +msgid "" +"comma separated list of plugins to load automatically at startup, \"*\" " +"means all plugins found (names may be partial, for example \"perl\" is ok " +"for \"libperl.so\")" +msgstr "" + +#: src/common/weeconfig.c:768 +msgid "standard plugins extension in filename" +msgstr "" + +#: src/common/weeconfig.c:769 +msgid "" +"standard plugins extension in filename, used for autoload (if empty, then " +"all files are loaded when autoload is \"*\")" +msgstr "" + +#: src/common/weeconfig.c:786 msgid "server name" msgstr "" -#: src/common/weeconfig.c:756 +#: src/common/weeconfig.c:787 msgid "name associated to IRC server (for display only)" msgstr "" -#: src/common/weeconfig.c:759 +#: src/common/weeconfig.c:790 msgid "automatically connect to server" msgstr "" -#: src/common/weeconfig.c:760 +#: src/common/weeconfig.c:791 msgid "automatically connect to server when WeeChat is starting" msgstr "" -#: src/common/weeconfig.c:763 +#: src/common/weeconfig.c:794 msgid "automatically reconnect to server" msgstr "" -#: src/common/weeconfig.c:764 +#: src/common/weeconfig.c:795 msgid "automatically reconnect to server when disconnected" msgstr "" -#: src/common/weeconfig.c:767 +#: src/common/weeconfig.c:798 msgid "delay before trying again to reconnect" msgstr "" -#: src/common/weeconfig.c:768 +#: src/common/weeconfig.c:799 msgid "delay (in seconds) before trying again to reconnect to server" msgstr "" -#: src/common/weeconfig.c:771 +#: src/common/weeconfig.c:802 msgid "server address or hostname" msgstr "" -#: src/common/weeconfig.c:772 +#: src/common/weeconfig.c:803 msgid "IP address or hostname of IRC server" msgstr "" -#: src/common/weeconfig.c:775 +#: src/common/weeconfig.c:806 msgid "port for IRC server" msgstr "" -#: src/common/weeconfig.c:776 +#: src/common/weeconfig.c:807 msgid "port for connecting to server" msgstr "" -#: src/common/weeconfig.c:779 src/common/weeconfig.c:780 +#: src/common/weeconfig.c:810 src/common/weeconfig.c:811 msgid "use IPv6 protocol for server communication" msgstr "" -#: src/common/weeconfig.c:783 src/common/weeconfig.c:784 +#: src/common/weeconfig.c:814 src/common/weeconfig.c:815 msgid "use SSL for server communication" msgstr "" -#: src/common/weeconfig.c:787 +#: src/common/weeconfig.c:818 msgid "server password" msgstr "" -#: src/common/weeconfig.c:788 +#: src/common/weeconfig.c:819 msgid "password for IRC server" msgstr "" -#: src/common/weeconfig.c:791 +#: src/common/weeconfig.c:822 msgid "nickname for server" msgstr "" -#: src/common/weeconfig.c:792 +#: src/common/weeconfig.c:823 msgid "nickname to use on IRC server" msgstr "" -#: src/common/weeconfig.c:795 +#: src/common/weeconfig.c:826 msgid "alternate nickname for server" msgstr "" -#: src/common/weeconfig.c:796 +#: src/common/weeconfig.c:827 msgid "alternate nickname to use on IRC server (if nickname is already used)" msgstr "" -#: src/common/weeconfig.c:799 +#: src/common/weeconfig.c:830 msgid "2nd alternate nickname for server" msgstr "" -#: src/common/weeconfig.c:800 +#: src/common/weeconfig.c:831 msgid "" "2nd alternate nickname to use on IRC server (if alternate nickname is " "already used)" msgstr "" -#: src/common/weeconfig.c:803 +#: src/common/weeconfig.c:834 msgid "user name for server" msgstr "" -#: src/common/weeconfig.c:804 +#: src/common/weeconfig.c:835 msgid "user name to use on IRC server" msgstr "" -#: src/common/weeconfig.c:807 +#: src/common/weeconfig.c:838 msgid "real name for server" msgstr "" -#: src/common/weeconfig.c:808 +#: src/common/weeconfig.c:839 msgid "real name to use on IRC server" msgstr "" -#: src/common/weeconfig.c:811 src/common/weeconfig.c:812 +#: src/common/weeconfig.c:842 src/common/weeconfig.c:843 msgid "first command to run when connected to server" msgstr "" -#: src/common/weeconfig.c:815 +#: src/common/weeconfig.c:846 msgid "delay (in seconds) after command was executed" msgstr "" -#: src/common/weeconfig.c:816 +#: src/common/weeconfig.c:847 msgid "" "delay (in seconds) after command was executed (example: give some time for " "authentication)" msgstr "" -#: src/common/weeconfig.c:819 +#: src/common/weeconfig.c:850 msgid "list of channels to join when connected to server" msgstr "" -#: src/common/weeconfig.c:820 +#: src/common/weeconfig.c:851 msgid "" "comma separated list of channels to join when connected to server (example: " "\"#chan1,#chan2,#chan3 key1,key2\")" msgstr "" -#: src/common/weeconfig.c:823 src/common/weeconfig.c:824 +#: src/common/weeconfig.c:854 src/common/weeconfig.c:855 msgid "automatically rejoin channels when kicked" msgstr "" -#: src/common/weeconfig.c:827 +#: src/common/weeconfig.c:858 msgid "notify levels for channels of this server" msgstr "" -#: src/common/weeconfig.c:828 +#: src/common/weeconfig.c:859 msgid "" "comma separated list of notify levels for channels of this server (format: " "#channel:1,..)" msgstr "" -#: src/common/weeconfig.c:1322 +#: src/common/weeconfig.c:1354 #, c-format msgid "%s %s, line %d: new server, but previous was incomplete\n" msgstr "" -#: src/common/weeconfig.c:1331 +#: src/common/weeconfig.c:1363 #, c-format msgid "%s %s, line %d: server '%s' already exists\n" msgstr "" -#: src/common/weeconfig.c:1346 +#: src/common/weeconfig.c:1378 #, c-format msgid "%s %s, line %d: unable to create server\n" msgstr "" -#: src/common/weeconfig.c:1386 +#: src/common/weeconfig.c:1418 #, c-format msgid "%s unable to assign default int with string (\"%s\")\n" msgstr "" -#: src/common/weeconfig.c:1397 +#: src/common/weeconfig.c:1429 #, c-format msgid "%s unable to assign default color (\"%s\")\n" msgstr "" -#: src/common/weeconfig.c:1436 +#: src/common/weeconfig.c:1468 #, c-format msgid "%s config file \"%s\" not found.\n" msgstr "" -#: src/common/weeconfig.c:1468 +#: src/common/weeconfig.c:1500 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"]\"\n" msgstr "" -#: src/common/weeconfig.c:1485 +#: src/common/weeconfig.c:1517 #, c-format msgid "%s %s, line %d: unknown section identifier (\"%s\")\n" msgstr "" -#: src/common/weeconfig.c:1503 +#: src/common/weeconfig.c:1535 #, c-format msgid "%s %s, line %d: invalid section for option, line is ignored\n" msgstr "" -#: src/common/weeconfig.c:1511 +#: src/common/weeconfig.c:1543 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"=\"\n" msgstr "" -#: src/common/weeconfig.c:1548 src/common/weeconfig.c:1574 +#: src/common/weeconfig.c:1580 src/common/weeconfig.c:1606 #, c-format msgid "%s %s, line %d: invalid option \"%s\"\n" msgstr "" -#: src/common/weeconfig.c:1554 +#: src/common/weeconfig.c:1586 #, c-format msgid "%s %s, line %d: invalid ignore options \"%s\"\n" msgstr "" -#: src/common/weeconfig.c:1585 +#: src/common/weeconfig.c:1617 #, c-format msgid "" "%s %s, line %d: invalid value foroption '%s'\n" "Expected: boolean value: 'off' or 'on'\n" msgstr "" -#: src/common/weeconfig.c:1594 +#: src/common/weeconfig.c:1626 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" "Expected: integer between %d and %d\n" msgstr "" -#: src/common/weeconfig.c:1605 +#: src/common/weeconfig.c:1637 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" "Expected: one of these strings: " msgstr "" -#: src/common/weeconfig.c:1621 +#: src/common/weeconfig.c:1653 #, c-format msgid "%s %s, line %d: invalid color name for option '%s'\n" msgstr "" -#: src/common/weeconfig.c:1683 src/common/weeconfig.c:1878 +#: src/common/weeconfig.c:1715 src/common/weeconfig.c:1910 #, c-format msgid "%s cannot create file \"%s\"\n" msgstr "" -#: src/common/weeconfig.c:1689 +#: src/common/weeconfig.c:1721 #, c-format msgid "%s: creating default config file...\n" msgstr "" -#: src/common/weeconfig.c:1690 +#: src/common/weeconfig.c:1722 msgid "Creating default config file\n" msgstr "" -#: src/common/weeconfig.c:1693 src/common/weeconfig.c:1887 +#: src/common/weeconfig.c:1725 src/common/weeconfig.c:1919 #, c-format msgid "" "#\n" "# %s configuration file, created by %s v%s on %s#\n" msgstr "" -#: src/common/weeconfig.c:1884 +#: src/common/weeconfig.c:1916 msgid "Saving config to disk\n" msgstr "" diff --git a/src/common/command.c b/src/common/command.c index f440e27a1..a4391f9aa 100644 --- a/src/common/command.c +++ b/src/common/command.c @@ -89,21 +89,11 @@ t_weechat_command weechat_commands[] = "functions: list internal functions for key bindings\n" "reset: restore bindings to the default values and delete ALL personal binding (use carefully!)"), 0, MAX_ARGS, NULL, weechat_cmd_key }, - { "perl", N_("list/load/unload Perl scripts"), + { "plugin", N_("list/load/unload plugins"), N_("[load filename] | [autoload] | [reload] | [unload]"), - N_("filename: Perl script (file) to load\n\n" - "Without argument, /perl command lists all loaded Perl scripts."), - 0, 2, weechat_cmd_perl, NULL }, - { "python", N_("list/load/unload Python scripts"), - N_("[load filename] | [autoload] | [reload] | [unload]"), - N_("filename: Python script (file) to load\n\n" - "Without argument, /python command lists all loaded Python scripts."), - 0, 2, weechat_cmd_python, NULL }, - { "ruby", N_("list/load/unload Ruby scripts"), - N_("[load filename] | [autoload] | [reload] | [unload]"), - N_("filename: Ruby script (file) to load\n\n" - "Without argument, /ruby command lists all loaded Ruby scripts."), - 0, 2, weechat_cmd_ruby, NULL }, + N_("filename: WeeChat plugin (file) to load\n\n" + "Without argument, /plugin command lists all loaded plugins."), + 0, 2, weechat_cmd_plugin, NULL }, { "server", N_("list, add or remove servers"), N_("[servername] | " "[servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-pwd password] [-nicks nick1 " @@ -381,7 +371,7 @@ alias_free_all () */ char ** -explode_string (/*@null@*/ char *string, char *separators, int num_items_max, +explode_string (char *string, char *separators, int num_items_max, int *num_items) { int i, n_items; @@ -462,6 +452,23 @@ explode_string (/*@null@*/ char *string, char *separators, int num_items_max, } /* + * free_exploded_string: free an exploded string + */ + +void +free_exploded_string (char **exploded_string) +{ + int i; + + if (exploded_string) + { + for (i = 0; exploded_string[i]; i++) + free (exploded_string[i]); + free (exploded_string); + } +} + +/* * exec_weechat_command: executes a command (WeeChat internal or IRC) * returns: 1 if command was executed succesfully * 0 if error (command not executed) @@ -470,7 +477,7 @@ explode_string (/*@null@*/ char *string, char *separators, int num_items_max, int exec_weechat_command (t_irc_server *server, char *string) { - int i, j, argc, return_code, length1, length2; + int i, argc, return_code, length1, length2; char *command, *pos, *ptr_args, **argv, *alias_command; t_weechat_alias *ptr_alias; @@ -502,7 +509,11 @@ exec_weechat_command (t_irc_server *server, char *string) ptr_args = NULL; } - if (!plugin_exec_command (command + 1, (server) ? server->name : "", ptr_args)) +#ifdef PLUGINS + if (!plugin_cmd_handler_exec ((server) ? server->name : "", command + 1, ptr_args)) +#else + if (1) +#endif { argv = explode_string (ptr_args, " ", 0, &argc); @@ -556,12 +567,7 @@ exec_weechat_command (t_irc_server *server, char *string) WEECHAT_ERROR, command + 1); } } - if (argv) - { - for (j = 0; argv[j]; j++) - free (argv[j]); - free (argv); - } + free_exploded_string (argv); free (command); return 1; } @@ -626,12 +632,7 @@ exec_weechat_command (t_irc_server *server, char *string) WEECHAT_ERROR, command + 1); } } - if (argv) - { - for (j = 0; argv[j]; j++) - free (argv[j]); - free (argv); - } + free_exploded_string (argv); free (command); return 1; } @@ -659,12 +660,7 @@ exec_weechat_command (t_irc_server *server, char *string) else (void) exec_weechat_command (server, ptr_alias->alias_command); - if (argv) - { - for (j = 0; argv[j]; j++) - free (argv[j]); - free (argv); - } + free_exploded_string (argv); free (command); return 1; } @@ -674,12 +670,7 @@ exec_weechat_command (t_irc_server *server, char *string) _("%s unknown command \"%s\" (type /help for help)\n"), WEECHAT_ERROR, command + 1); - if (argv) - { - for (j = 0; argv[j]; j++) - free (argv[j]); - free (argv); - } + free_exploded_string (argv); } free (command); return 0; @@ -767,7 +758,9 @@ user_command (t_irc_server *server, t_gui_buffer *buffer, char *command) snprintf (plugin_args, plugin_args_length, "localhost PRIVMSG %s :%s", CHANNEL(buffer)->name, command); - plugin_event_msg ("privmsg", server->name, plugin_args); +#ifdef PLUGINS + plugin_msg_handler_exec (server->name, "privmsg", plugin_args); +#endif free (plugin_args); } else @@ -1294,88 +1287,144 @@ int weechat_cmd_help (int argc, char **argv) { int i; +#ifdef PLUGINS + t_weechat_plugin *ptr_plugin; + t_plugin_cmd_handler *ptr_cmd_handler; +#endif - if (argc == 0) + switch (argc) { - gui_printf (NULL, "\n"); - gui_printf (NULL, _("%s internal commands:\n"), PACKAGE_NAME); - for (i = 0; weechat_commands[i].command_name; i++) - { - gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, " %s", - weechat_commands[i].command_name); - gui_printf (NULL, " - %s\n", - _(weechat_commands[i].command_description)); - } - gui_printf (NULL, "\n"); - gui_printf (NULL, _("IRC commands:\n")); - for (i = 0; irc_commands[i].command_name; i++) - { - if (irc_commands[i].cmd_function_args || irc_commands[i].cmd_function_1arg) + case 0: + gui_printf (NULL, "\n"); + gui_printf (NULL, _("%s internal commands:\n"), PACKAGE_NAME); + for (i = 0; weechat_commands[i].command_name; i++) { gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, " %s", - irc_commands[i].command_name); + weechat_commands[i].command_name); gui_printf (NULL, " - %s\n", - _(irc_commands[i].command_description)); + _(weechat_commands[i].command_description)); } - } - } - if (argc == 1) - { - for (i = 0; weechat_commands[i].command_name; i++) - { - if (ascii_strcasecmp (weechat_commands[i].command_name, argv[0]) == 0) + gui_printf (NULL, "\n"); + gui_printf (NULL, _("IRC commands:\n")); + for (i = 0; irc_commands[i].command_name; i++) { - gui_printf (NULL, "\n"); - gui_printf (NULL, "[w]"); - gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, " /%s", - weechat_commands[i].command_name); - if (weechat_commands[i].arguments && - weechat_commands[i].arguments[0]) - gui_printf (NULL, " %s\n", - _(weechat_commands[i].arguments)); - else + if (irc_commands[i].cmd_function_args || irc_commands[i].cmd_function_1arg) + { + gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, " %s", + irc_commands[i].command_name); + gui_printf (NULL, " - %s\n", + _(irc_commands[i].command_description)); + } + } +#ifdef PLUGINS + gui_printf (NULL, "\n"); + gui_printf (NULL, _("Plugin commands:\n")); + for (ptr_plugin = weechat_plugins; ptr_plugin; + ptr_plugin = ptr_plugin->next_plugin) + { + for (ptr_cmd_handler = ptr_plugin->cmd_handlers; ptr_cmd_handler; + ptr_cmd_handler = ptr_cmd_handler->next_handler) + { + gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, " %s", + ptr_cmd_handler->command); + if (ptr_cmd_handler->description + && ptr_cmd_handler->description[0]) + gui_printf (NULL, " - %s", + ptr_cmd_handler->description); gui_printf (NULL, "\n"); - if (weechat_commands[i].command_description && - weechat_commands[i].command_description[0]) - gui_printf (NULL, "\n%s\n", - _(weechat_commands[i].command_description)); - if (weechat_commands[i].arguments_description && - weechat_commands[i].arguments_description[0]) - gui_printf (NULL, "\n%s\n", - _(weechat_commands[i].arguments_description)); - return 0; + } } - } - for (i = 0; irc_commands[i].command_name; i++) - { - if ((ascii_strcasecmp (irc_commands[i].command_name, argv[0]) == 0) - && (irc_commands[i].cmd_function_args || irc_commands[i].cmd_function_1arg)) +#endif + break; + case 1: + for (i = 0; weechat_commands[i].command_name; i++) { - gui_printf (NULL, "\n"); - gui_printf (NULL, "[i]"); - gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, " /%s", - irc_commands[i].command_name); - if (irc_commands[i].arguments && - irc_commands[i].arguments[0]) - gui_printf (NULL, " %s\n", - _(irc_commands[i].arguments)); - else + if (ascii_strcasecmp (weechat_commands[i].command_name, argv[0]) == 0) + { gui_printf (NULL, "\n"); - if (irc_commands[i].command_description && - irc_commands[i].command_description[0]) - gui_printf (NULL, "\n%s\n", - _(irc_commands[i].command_description)); - if (irc_commands[i].arguments_description && - irc_commands[i].arguments_description[0]) - gui_printf (NULL, "\n%s\n", - _(irc_commands[i].arguments_description)); - return 0; + gui_printf (NULL, "[w]"); + gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, " /%s", + weechat_commands[i].command_name); + if (weechat_commands[i].arguments && + weechat_commands[i].arguments[0]) + gui_printf (NULL, " %s\n", + _(weechat_commands[i].arguments)); + else + gui_printf (NULL, "\n"); + if (weechat_commands[i].command_description && + weechat_commands[i].command_description[0]) + gui_printf (NULL, "\n%s\n", + _(weechat_commands[i].command_description)); + if (weechat_commands[i].arguments_description && + weechat_commands[i].arguments_description[0]) + gui_printf (NULL, "\n%s\n", + _(weechat_commands[i].arguments_description)); + return 0; + } } - } - irc_display_prefix (NULL, PREFIX_ERROR); - gui_printf (NULL, - _("No help available, \"%s\" is an unknown command\n"), - argv[0]); + for (i = 0; irc_commands[i].command_name; i++) + { + if ((ascii_strcasecmp (irc_commands[i].command_name, argv[0]) == 0) + && (irc_commands[i].cmd_function_args || irc_commands[i].cmd_function_1arg)) + { + gui_printf (NULL, "\n"); + gui_printf (NULL, "[i]"); + gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, " /%s", + irc_commands[i].command_name); + if (irc_commands[i].arguments && + irc_commands[i].arguments[0]) + gui_printf (NULL, " %s\n", + _(irc_commands[i].arguments)); + else + gui_printf (NULL, "\n"); + if (irc_commands[i].command_description && + irc_commands[i].command_description[0]) + gui_printf (NULL, "\n%s\n", + _(irc_commands[i].command_description)); + if (irc_commands[i].arguments_description && + irc_commands[i].arguments_description[0]) + gui_printf (NULL, "\n%s\n", + _(irc_commands[i].arguments_description)); + return 0; + } + } +#ifdef PLUGINS + for (ptr_plugin = weechat_plugins; ptr_plugin; + ptr_plugin = ptr_plugin->next_plugin) + { + for (ptr_cmd_handler = ptr_plugin->cmd_handlers; ptr_cmd_handler; + ptr_cmd_handler = ptr_cmd_handler->next_handler) + { + if (ascii_strcasecmp (ptr_cmd_handler->command, argv[0]) == 0) + { + gui_printf (NULL, "\n"); + gui_printf (NULL, "[p]"); + gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, " /%s", + ptr_cmd_handler->command); + if (ptr_cmd_handler->arguments && + ptr_cmd_handler->arguments[0]) + gui_printf (NULL, " %s\n", + ptr_cmd_handler->arguments); + else + gui_printf (NULL, "\n"); + if (ptr_cmd_handler->description && + ptr_cmd_handler->description[0]) + gui_printf (NULL, "\n%s\n", + ptr_cmd_handler->description); + if (ptr_cmd_handler->arguments_description && + ptr_cmd_handler->arguments_description[0]) + gui_printf (NULL, "\n%s\n", + ptr_cmd_handler->arguments_description); + return 0; + } + } + } +#endif + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("No help available, \"%s\" is an unknown command\n"), + argv[0]); + break; } return 0; } @@ -1601,430 +1650,125 @@ weechat_cmd_key (char *arguments) } /* - * weechat_cmd_perl: list/load/unload Perl scripts + * weechat_cmd_plugin: list/load/unload WeeChat plugins */ int -weechat_cmd_perl (int argc, char **argv) +weechat_cmd_plugin (int argc, char **argv) { -#ifdef PLUGIN_PERL - t_plugin_script *ptr_plugin_script; - t_plugin_handler *ptr_plugin_handler; - int handler_found, path_length; - char *path_script; +#ifdef PLUGINS + t_weechat_plugin *ptr_plugin; + t_plugin_msg_handler *ptr_msg_handler; + t_plugin_cmd_handler *ptr_cmd_handler; switch (argc) { case 0: - /* list registered Perl scripts */ + /* list plugins */ gui_printf (NULL, "\n"); - gui_printf (NULL, _("Registered %s scripts:\n"), "Perl"); - if (perl_scripts) - { - for (ptr_plugin_script = perl_scripts; ptr_plugin_script; - ptr_plugin_script = ptr_plugin_script->next_script) - { - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, " %s v%s%s%s\n", - ptr_plugin_script->name, - ptr_plugin_script->version, - (ptr_plugin_script->description[0]) ? " - " : "", - ptr_plugin_script->description); - } - } - else + irc_display_prefix (NULL, PREFIX_PLUGIN); + gui_printf (NULL, _("Plugins loaded:\n")); + for (ptr_plugin = weechat_plugins; ptr_plugin; + ptr_plugin = ptr_plugin->next_plugin) { + /* plugin info */ irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" (none)\n")); - } - - /* list Perl message handlers */ - gui_printf (NULL, "\n"); - gui_printf (NULL, _("%s message handlers:\n"), "Perl"); - handler_found = 0; - for (ptr_plugin_handler = plugin_msg_handlers; ptr_plugin_handler; - ptr_plugin_handler = ptr_plugin_handler->next_handler) - { - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_PERL) - { - handler_found = 1; - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" IRC(%s) => %s(%s)\n"), - ptr_plugin_handler->name, - "Perl", - ptr_plugin_handler->function_name); - } - } - if (!handler_found) - { + gui_printf (NULL, " %s v%s - %s (%s)\n", + ptr_plugin->name, + ptr_plugin->version, + ptr_plugin->description, + ptr_plugin->filename); + + /* message handlers */ irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" (none)\n")); - } - - /* list Perl command handlers */ - gui_printf (NULL, "\n"); - gui_printf (NULL, _("%s command handlers:\n"), "Perl"); - handler_found = 0; - for (ptr_plugin_handler = plugin_cmd_handlers; ptr_plugin_handler; - ptr_plugin_handler = ptr_plugin_handler->next_handler) - { - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_PERL) + gui_printf (NULL, _(" message handlers:\n")); + for (ptr_msg_handler = ptr_plugin->msg_handlers; + ptr_msg_handler; + ptr_msg_handler = ptr_msg_handler->next_handler) { - handler_found = 1; irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" Command /%s => %s(%s)\n"), - ptr_plugin_handler->name, - "Perl", - ptr_plugin_handler->function_name); - } - } - if (!handler_found) - { - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" (none)\n")); - } - - break; - case 1: - if (ascii_strcasecmp (argv[0], "autoload") == 0) - plugin_auto_load (PLUGIN_TYPE_PERL, "perl/autoload"); - else if (ascii_strcasecmp (argv[0], "reload") == 0) - { - plugin_unload (PLUGIN_TYPE_PERL, NULL); - plugin_auto_load (PLUGIN_TYPE_PERL, "perl/autoload"); - } - else if (ascii_strcasecmp (argv[0], "unload") == 0) - plugin_unload (PLUGIN_TYPE_PERL, NULL); - break; - case 2: - if (ascii_strcasecmp (argv[0], "load") == 0) - { - /* load Perl script */ - if (strstr(argv[1], DIR_SEPARATOR)) - path_script = NULL; - else - { - path_length = strlen (weechat_home) + strlen (argv[1]) + 7; - path_script = (char *) malloc (path_length * sizeof (char)); - snprintf (path_script, path_length, "%s%s%s%s%s", - weechat_home, DIR_SEPARATOR, "perl", - DIR_SEPARATOR, argv[1]); + gui_printf (NULL, _(" IRC(%s)\n"), + ptr_msg_handler->irc_command); } - plugin_load (PLUGIN_TYPE_PERL, - (path_script) ? path_script : argv[1]); - if (path_script) - free (path_script); - } - else - { - irc_display_prefix (NULL, PREFIX_ERROR); - gui_printf (NULL, - _("%s unknown option for \"%s\" command\n"), - WEECHAT_ERROR, "perl"); - } - break; - default: - irc_display_prefix (NULL, PREFIX_ERROR); - gui_printf (NULL, - _("%s wrong argument count for \"%s\" command\n"), - WEECHAT_ERROR, "perl"); - } -#else - irc_display_prefix (NULL, PREFIX_ERROR); - gui_printf (NULL, - _("WeeChat was build without Perl support.\n" - "Please rebuild WeeChat with " - "\"--enable-perl\" option for ./configure script\n")); - /* make gcc happy */ - (void) argc; - (void) argv; -#endif /* PLUGIN_PERL */ - - return 0; -} - -/* - * weechat_cmd_python: list/load/unload Python scripts - */ - -int -weechat_cmd_python (int argc, char **argv) -{ -#ifdef PLUGIN_PYTHON - t_plugin_script *ptr_plugin_script; - t_plugin_handler *ptr_plugin_handler; - int handler_found, path_length; - char *path_script; - - switch (argc) - { - case 0: - /* list registered Python scripts */ - gui_printf (NULL, "\n"); - gui_printf (NULL, _("Registered %s scripts:\n"), "Python"); - if (python_scripts) - { - for (ptr_plugin_script = python_scripts; ptr_plugin_script; - ptr_plugin_script = ptr_plugin_script->next_script) + if (!ptr_plugin->msg_handlers) { irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, " %s v%s%s%s\n", - ptr_plugin_script->name, - ptr_plugin_script->version, - (ptr_plugin_script->description[0]) ? " - " : "", - ptr_plugin_script->description); + gui_printf (NULL, _(" (no message handler)\n")); } - } - else - { + + /* command handlers */ irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" (none)\n")); - } - - /* list Python message handlers */ - gui_printf (NULL, "\n"); - gui_printf (NULL, _("%s message handlers:\n"), "Python"); - handler_found = 0; - for (ptr_plugin_handler = plugin_msg_handlers; ptr_plugin_handler; - ptr_plugin_handler = ptr_plugin_handler->next_handler) - { - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_PYTHON) + gui_printf (NULL, _(" command handlers:\n")); + for (ptr_cmd_handler = ptr_plugin->cmd_handlers; + ptr_cmd_handler; + ptr_cmd_handler = ptr_cmd_handler->next_handler) { - handler_found = 1; irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" IRC(%s) => %s(%s)\n"), - ptr_plugin_handler->name, - "Python", - ptr_plugin_handler->function_name); + gui_printf (NULL, " /%s", + ptr_cmd_handler->command); + if (ptr_cmd_handler->description + && ptr_cmd_handler->description[0]) + gui_printf (NULL, " (%s)", + ptr_cmd_handler->description); + gui_printf (NULL, "\n"); } - } - if (!handler_found) - { - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" (none)\n")); - } - - /* list Python command handlers */ - gui_printf (NULL, "\n"); - gui_printf (NULL, _("%s command handlers:\n"), "Python"); - handler_found = 0; - for (ptr_plugin_handler = plugin_cmd_handlers; ptr_plugin_handler; - ptr_plugin_handler = ptr_plugin_handler->next_handler) - { - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_PYTHON) + if (!ptr_plugin->cmd_handlers) { - handler_found = 1; irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" Command /%s => %s(%s)\n"), - ptr_plugin_handler->name, - "Python", - ptr_plugin_handler->function_name); + gui_printf (NULL, _(" (no command handler)\n")); } } - if (!handler_found) + if (!weechat_plugins) { irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" (none)\n")); + gui_printf (NULL, _(" (no plugin)\n")); } - break; case 1: - if (ascii_strcasecmp (argv[0], "autoload") == 0) - plugin_auto_load (PLUGIN_TYPE_PYTHON, "python/autoload"); + /*if (ascii_strcasecmp (argv[0], "autoload") == 0) + plugin_auto_load (PLUGIN_TYPE_PERL, "perl/autoload"); else if (ascii_strcasecmp (argv[0], "reload") == 0) { - plugin_unload (PLUGIN_TYPE_PYTHON, NULL); - plugin_auto_load (PLUGIN_TYPE_PYTHON, "python/autoload"); + plugin_unload (PLUGIN_TYPE_PERL, NULL); + plugin_auto_load (PLUGIN_TYPE_PERL, "perl/autoload"); } else if (ascii_strcasecmp (argv[0], "unload") == 0) - plugin_unload (PLUGIN_TYPE_PYTHON, NULL); + plugin_unload (PLUGIN_TYPE_PERL, NULL);*/ break; case 2: if (ascii_strcasecmp (argv[0], "load") == 0) { - /* load Python script */ - if (strstr(argv[1], DIR_SEPARATOR)) - path_script = NULL; - else - { - path_length = strlen (weechat_home) + strlen (argv[1]) + 9; - path_script = (char *) malloc (path_length * sizeof (char)); - snprintf (path_script, path_length, "%s%s%s%s%s", - weechat_home, DIR_SEPARATOR, "python", - DIR_SEPARATOR, argv[1]); - } - plugin_load (PLUGIN_TYPE_PYTHON, - (path_script) ? path_script : argv[1]); - if (path_script) - free (path_script); - } - else - { - irc_display_prefix (NULL, PREFIX_ERROR); - gui_printf (NULL, - _("%s unknown option for \"%s\" command\n"), - WEECHAT_ERROR, "python"); - } - break; - default: - irc_display_prefix (NULL, PREFIX_ERROR); - gui_printf (NULL, - _("%s wrong argument count for \"%s\" command\n"), - WEECHAT_ERROR, "python"); - } -#else - irc_display_prefix (NULL, PREFIX_ERROR); - gui_printf (NULL, - _("WeeChat was build without Python support.\n" - "Please rebuild WeeChat with " - "\"--enable-python\" option for ./configure script\n")); - /* make gcc happy */ - (void) argc; - (void) argv; -#endif /* PLUGIN_PYTHON */ - - return 0; -} - -/* - * weechat_cmd_ruby: list/load/unload Ruby scripts - */ - -int -weechat_cmd_ruby (int argc, char **argv) -{ -#ifdef PLUGIN_RUBY - t_plugin_script *ptr_plugin_script; - t_plugin_handler *ptr_plugin_handler; - int handler_found, path_length; - char *path_script; - - switch (argc) - { - case 0: - /* list registered Ruby scripts */ - gui_printf (NULL, "\n"); - gui_printf (NULL, _("Registered %s scripts:\n"), "Ruby"); - if (ruby_scripts) - { - for (ptr_plugin_script = ruby_scripts; ptr_plugin_script; - ptr_plugin_script = ptr_plugin_script->next_script) - { - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, " %s v%s%s%s\n", - ptr_plugin_script->name, - ptr_plugin_script->version, - (ptr_plugin_script->description[0]) ? " - " : "", - ptr_plugin_script->description); - } - } - else - { - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" (none)\n")); - } - - /* list Ruby message handlers */ - gui_printf (NULL, "\n"); - gui_printf (NULL, _("%s message handlers:\n"), "Ruby"); - handler_found = 0; - for (ptr_plugin_handler = plugin_msg_handlers; ptr_plugin_handler; - ptr_plugin_handler = ptr_plugin_handler->next_handler) - { - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_RUBY) - { - handler_found = 1; - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" IRC(%s) => %s(%s)\n"), - ptr_plugin_handler->name, - "Ruby", - ptr_plugin_handler->function_name); - } - } - if (!handler_found) - { - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" (none)\n")); - } - - /* list Ruby command handlers */ - gui_printf (NULL, "\n"); - gui_printf (NULL, _("%s command handlers:\n"), "Ruby"); - handler_found = 0; - for (ptr_plugin_handler = plugin_cmd_handlers; ptr_plugin_handler; - ptr_plugin_handler = ptr_plugin_handler->next_handler) - { - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_RUBY) - { - handler_found = 1; - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" Command /%s => %s(%s)\n"), - ptr_plugin_handler->name, - "Ruby", - ptr_plugin_handler->function_name); - } - } - if (!handler_found) - { - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" (none)\n")); - } - - break; - case 1: - if (ascii_strcasecmp (argv[0], "autoload") == 0) - plugin_auto_load (PLUGIN_TYPE_RUBY, "ruby/autoload"); - else if (ascii_strcasecmp (argv[0], "reload") == 0) - { - plugin_unload (PLUGIN_TYPE_RUBY, NULL); - plugin_auto_load (PLUGIN_TYPE_RUBY, "ruby/autoload"); + /* load plugin */ + plugin_load (argv[1]); } else if (ascii_strcasecmp (argv[0], "unload") == 0) - plugin_unload (PLUGIN_TYPE_RUBY, NULL); - break; - case 2: - if (ascii_strcasecmp (argv[0], "load") == 0) { - /* load Ruby script */ - if (strstr(argv[1], DIR_SEPARATOR)) - path_script = NULL; - else - { - path_length = strlen (weechat_home) + strlen (argv[1]) + 9; - path_script = (char *) malloc (path_length * sizeof (char)); - snprintf (path_script, path_length, "%s%s%s%s%s", - weechat_home, DIR_SEPARATOR, "ruby", - DIR_SEPARATOR, argv[1]); - } - plugin_load (PLUGIN_TYPE_RUBY, - (path_script) ? path_script : argv[1]); - if (path_script) - free (path_script); + /* unload plugin */ + plugin_unload_name (argv[1]); } else { irc_display_prefix (NULL, PREFIX_ERROR); gui_printf (NULL, _("%s unknown option for \"%s\" command\n"), - WEECHAT_ERROR, "ruby"); + WEECHAT_ERROR, "plugin"); } break; default: irc_display_prefix (NULL, PREFIX_ERROR); gui_printf (NULL, _("%s wrong argument count for \"%s\" command\n"), - WEECHAT_ERROR, "ruby"); + WEECHAT_ERROR, "plugin"); } #else irc_display_prefix (NULL, PREFIX_ERROR); gui_printf (NULL, - _("WeeChat was build without Ruby support.\n" - "Please rebuild WeeChat with " - "\"--enable-ruby\" option for ./configure script\n")); + _("Command \"plugin\" is not available, WeeChat was built " + "without plugins support.\n")); /* make gcc happy */ (void) argc; (void) argv; -#endif /* PLUGIN_RUBY */ +#endif /* PLUGINS */ return 0; } diff --git a/src/common/command.h b/src/common/command.h index 698290750..015f63667 100644 --- a/src/common/command.h +++ b/src/common/command.h @@ -60,6 +60,8 @@ extern void command_index_build (); extern void command_index_free (); extern t_weechat_alias *alias_new (char *, char *); extern void alias_free_all (); +extern char **explode_string (char *, char *, int, int *); +extern void free_exploded_string (char **); extern int exec_weechat_command (t_irc_server *, char *); extern void user_command (t_irc_server *, t_gui_buffer *, char *); extern int weechat_cmd_alias (char *); @@ -72,9 +74,7 @@ extern int weechat_cmd_help (int, char **); extern void weechat_cmd_ignore_display (char *, t_irc_ignore *); extern int weechat_cmd_ignore (int, char **); extern int weechat_cmd_key (char *); -extern int weechat_cmd_perl (int, char **); -extern int weechat_cmd_python (int, char **); -extern int weechat_cmd_ruby (int, char **); +extern int weechat_cmd_plugin (int, char **); extern int weechat_cmd_save (int, char **); extern int weechat_cmd_server (int, char **); extern int weechat_cmd_set (char *); diff --git a/src/common/completion.c b/src/common/completion.c index a8c56461b..c3040a30b 100644 --- a/src/common/completion.c +++ b/src/common/completion.c @@ -34,6 +34,10 @@ #include "weeconfig.h" #include "../irc/irc.h" +#ifdef PLUGINS +#include "../plugins/plugins.h" +#endif + /* * completion_init: init completion @@ -108,6 +112,10 @@ completion_build_list (t_completion *completion, void *channel) t_config_option *option; void *option_value; char option_string[2048]; +#ifdef PLUGINS + t_weechat_plugin *ptr_plugin; + t_plugin_cmd_handler *ptr_cmd_handler; +#endif /* WeeChat internal commands */ @@ -200,6 +208,20 @@ completion_build_list (t_completion *completion, void *channel) &completion->last_completion, irc_commands[i].command_name); } +#ifdef PLUGINS + for (ptr_plugin = weechat_plugins; ptr_plugin; + ptr_plugin = ptr_plugin->next_plugin) + { + for (ptr_cmd_handler = ptr_plugin->cmd_handlers; + ptr_cmd_handler; + ptr_cmd_handler = ptr_cmd_handler->next_handler) + { + weelist_add (&completion->completion_list, + &completion->last_completion, + ptr_cmd_handler->command); + } + } +#endif return; } if (ascii_strcasecmp (completion->base_command, "ignore") == 0) @@ -312,8 +334,7 @@ completion_build_list (t_completion *completion, void *channel) return; } } - if (((ascii_strcasecmp (completion->base_command, "perl") == 0) - || (ascii_strcasecmp (completion->base_command, "python") == 0)) + if ((ascii_strcasecmp (completion->base_command, "plugin") == 0) && (completion->base_command_arg == 1)) { weelist_add (&completion->completion_list, diff --git a/src/common/weechat.c b/src/common/weechat.c index 82a588a9f..cf464eddd 100644 --- a/src/common/weechat.c +++ b/src/common/weechat.c @@ -9,7 +9,7 @@ * ### Fast & light environment for Chat ### * ### ### * ### By FlashCode <flashcode@flashtux.org> ### - ### ### + * ### ### * ### http://weechat.flashtux.org ### * ### ### * ############################################################################ @@ -66,7 +66,10 @@ #include "fifo.h" #include "../irc/irc.h" #include "../gui/gui.h" + +#ifdef PLUGINS #include "../plugins/plugins.h" +#endif int quit_weechat; /* = 1 if quit request from user... why ? :'( */ @@ -590,53 +593,6 @@ wee_create_home_dirs () dir_length = strlen (weechat_home) + 64; dir_name = (char *) malloc (dir_length * sizeof (char)); - #ifdef PLUGIN_PERL - /* create "~/.weechat/perl" */ - snprintf (dir_name, dir_length, "%s%s%s", weechat_home, DIR_SEPARATOR, - "perl"); - if (wee_create_dir (dir_name)) - { - /* create "~/.weechat/perl/autoload" */ - snprintf (dir_name, dir_length, "%s%s%s%s%s", weechat_home, - DIR_SEPARATOR, "perl", DIR_SEPARATOR, "autoload"); - wee_create_dir (dir_name); - /* create "~/.weechat/perl/config" */ - snprintf (dir_name, dir_length, "%s%s%s%s%s", weechat_home, - DIR_SEPARATOR, "perl", DIR_SEPARATOR, "config"); - wee_create_dir (dir_name); - } - #endif - - #ifdef PLUGIN_PYTHON - /* create "~/.weechat/python" */ - snprintf (dir_name, dir_length, "%s%s%s", weechat_home, DIR_SEPARATOR, - "python"); - if (wee_create_dir (dir_name)) - { - /* create "~/.weechat/python/autoload" */ - snprintf (dir_name, dir_length, "%s%s%s%s%s", weechat_home, - DIR_SEPARATOR, "python", DIR_SEPARATOR, "autoload"); - wee_create_dir (dir_name); - /* create "~/.weechat/python/config" */ - snprintf (dir_name, dir_length, "%s%s%s%s%s", weechat_home, - DIR_SEPARATOR, "python", DIR_SEPARATOR, "config"); - wee_create_dir (dir_name); - } - #endif - - #ifdef PLUGIN_RUBY - /* create "~/.weechat/ruby" */ - snprintf (dir_name, dir_length, "%s%s%s", weechat_home, DIR_SEPARATOR, - "ruby"); - if (wee_create_dir (dir_name)) - { - /* create "~/.weechat/ruby/autoload" */ - snprintf (dir_name, dir_length, "%s%s%s%s%s", weechat_home, - DIR_SEPARATOR, "ruby", DIR_SEPARATOR, "autoload"); - wee_create_dir (dir_name); - } - #endif - /* create "~/.weechat/logs" */ snprintf (dir_name, dir_length, "%s%s%s", weechat_home, DIR_SEPARATOR, "logs"); @@ -925,14 +881,18 @@ main (int argc, char *argv[]) gui_init (); /* init WeeChat interface */ weechat_welcome_message (); /* display WeeChat welcome message */ - plugin_init (); /* init plugin interface(s) */ +#ifdef PLUGINS + plugin_init (); /* init plugin interface(s) */ +#endif /* auto-connect to servers */ server_auto_connect (server_cmd_line); fifo_create (); /* create FIFO pipe for remote control */ gui_main_loop (); /* WeeChat main loop */ +#ifdef PLUGINS plugin_end (); /* end plugin interface(s) */ +#endif server_disconnect_all (); /* disconnect from all servers */ (void) config_write (NULL); /* save config file */ command_index_free (); /* free commands index */ diff --git a/src/common/weeconfig.c b/src/common/weeconfig.c index 1840c3951..419161e28 100644 --- a/src/common/weeconfig.c +++ b/src/common/weeconfig.c @@ -53,6 +53,7 @@ t_config_section config_sections[CONFIG_NUMBER_SECTIONS] = { CONFIG_SECTION_IRC, "irc" }, { CONFIG_SECTION_DCC, "dcc" }, { CONFIG_SECTION_PROXY, "proxy" }, + { CONFIG_SECTION_PLUGINS, "plugins" }, { CONFIG_SECTION_KEYS, "keys" }, { CONFIG_SECTION_ALIAS, "alias" }, { CONFIG_SECTION_IGNORE, "ignore" }, @@ -747,6 +748,36 @@ t_config_option weechat_options_proxy[] = { NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL } }; +/* config, plugins section */ + +char *cfg_plugins_path; +char *cfg_plugins_autoload; +char *cfg_plugins_extension; + +t_config_option weechat_options_plugins[] = +{ { "plugins_path", N_("path for searching plugins"), + N_("path for searching plugins"), + OPTION_TYPE_STRING, 0, 0, 0, + "~/.weechat/plugins", NULL, NULL, &cfg_plugins_path, config_change_noop }, + { "plugins_autoload", N_("list of plugins to load automatically"), + N_("comma separated list of plugins to load automatically at startup, " + "\"*\" means all plugins found " + "(names may be partial, for example \"perl\" is ok for \"libperl.so\")"), + OPTION_TYPE_STRING, 0, 0, 0, + "*", NULL, NULL, &cfg_plugins_autoload, config_change_noop }, + { "plugins_extension", N_("standard plugins extension in filename"), + N_("standard plugins extension in filename, used for autoload " + "(if empty, then all files are loaded when autoload is \"*\")"), + OPTION_TYPE_STRING, 0, 0, 0, +#ifdef WIN32 + ".dll", +#else + ".so", +#endif + NULL, NULL, &cfg_plugins_extension, config_change_noop }, + { NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL } +}; + /* config, server section */ static t_irc_server cfg_server; @@ -836,7 +867,8 @@ t_config_option weechat_options_server[] = t_config_option *weechat_options[CONFIG_NUMBER_SECTIONS] = { weechat_options_look, weechat_options_colors, weechat_options_history, weechat_options_log, weechat_options_irc, weechat_options_dcc, - weechat_options_proxy, NULL, NULL, NULL, weechat_options_server + weechat_options_proxy, weechat_options_plugins, NULL, NULL, NULL, + weechat_options_server }; diff --git a/src/common/weeconfig.h b/src/common/weeconfig.h index af50eb747..29199bd90 100644 --- a/src/common/weeconfig.h +++ b/src/common/weeconfig.h @@ -33,11 +33,12 @@ #define CONFIG_SECTION_IRC 4 #define CONFIG_SECTION_DCC 5 #define CONFIG_SECTION_PROXY 6 -#define CONFIG_SECTION_KEYS 7 -#define CONFIG_SECTION_ALIAS 8 -#define CONFIG_SECTION_IGNORE 9 -#define CONFIG_SECTION_SERVER 10 -#define CONFIG_NUMBER_SECTIONS 11 +#define CONFIG_SECTION_PLUGINS 7 +#define CONFIG_SECTION_KEYS 8 +#define CONFIG_SECTION_ALIAS 9 +#define CONFIG_SECTION_IGNORE 10 +#define CONFIG_SECTION_SERVER 11 +#define CONFIG_NUMBER_SECTIONS 12 #define OPTION_TYPE_BOOLEAN 1 /* values: on/off */ #define OPTION_TYPE_INT 2 /* values: from min to max */ @@ -202,6 +203,10 @@ extern int cfg_proxy_port; extern char *cfg_proxy_username; extern char *cfg_proxy_password; +extern char *cfg_plugins_path; +extern char *cfg_plugins_autoload; +extern char *cfg_plugins_extension; + extern t_config_section config_sections [CONFIG_NUMBER_SECTIONS]; extern t_config_option * weechat_options [CONFIG_NUMBER_SECTIONS]; diff --git a/src/common/weelist.c b/src/common/weelist.c index 2a34937e2..d3c7aa7b6 100644 --- a/src/common/weelist.c +++ b/src/common/weelist.c @@ -140,6 +140,9 @@ weelist_remove (t_weelist **weelist, t_weelist **last_weelist, t_weelist *elemen { t_weelist *new_weelist; + if (!element) + return; + /* remove element from list */ if (*last_weelist == element) *last_weelist = element->prev_weelist; diff --git a/src/gui/curses/Makefile.am b/src/gui/curses/Makefile.am index 4bef0cdc9..b698611af 100644 --- a/src/gui/curses/Makefile.am +++ b/src/gui/curses/Makefile.am @@ -22,8 +22,8 @@ bin_PROGRAMS = weechat-curses weechat_curses_LDADD = ../gui-common.o ../gui-keyboard.o \ ../../common/lib_weechat_main.a \ ../../irc/lib_weechat_irc.a \ + $(PLUGINS_LIBS) \ $(NCURSES_LIBS) \ - ../../plugins/lib_weechat_plugins.a $(PLUGINS_LIBS) \ $(GNUTLS_LIBS) weechat_curses_SOURCES = gui-display.c \ diff --git a/src/irc/irc-recv.c b/src/irc/irc-recv.c index 21fde3eda..6e3052746 100644 --- a/src/irc/irc-recv.c +++ b/src/irc/irc-recv.c @@ -179,8 +179,13 @@ irc_recv_command (t_irc_server *server, char *entire_line, return_code = (int) (irc_commands[i].recv_function) (server, host, nick, arguments); if (nick) free (nick); +#ifdef PLUGINS if (!command_ignored) - plugin_event_msg (irc_commands[i].command_name, server->name, entire_line); + plugin_msg_handler_exec (server->name, irc_commands[i].command_name, entire_line); +#else + /* make gcc happy */ + (void) entire_line; +#endif return return_code; } diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am index 002747671..63dceb224 100644 --- a/src/plugins/Makefile.am +++ b/src/plugins/Makefile.am @@ -18,20 +18,21 @@ INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\" if PLUGIN_PERL -perl_dir = perl +script_dir = scripts endif if PLUGIN_PYTHON -python_dir = python +script_dir = scripts endif if PLUGIN_RUBY -ruby_dir = ruby +script_dir = scripts endif -SUBDIRS = $(perl_dir) $(python_dir) $(ruby_dir) +SUBDIRS = $(script_dir) noinst_LIBRARIES = lib_weechat_plugins.a -lib_weechat_plugins_a_SOURCES = plugins.h \ +lib_weechat_plugins_a_SOURCES = weechat-plugin.h \ + plugins.h \ plugins.c diff --git a/src/plugins/plugins.c b/src/plugins/plugins.c index 8fc51a026..5ba6b0e12 100644 --- a/src/plugins/plugins.c +++ b/src/plugins/plugins.c @@ -17,523 +17,1294 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* plugins.c: manages WeeChat plugins (Perl and/or Python and/or Ruby) */ +/* plugins.c: manages WeeChat plugins (dynamic C libraries) */ #ifdef HAVE_CONFIG_H #include "config.h" #endif +#include <errno.h> #include <stdlib.h> #include <unistd.h> +#include <stdarg.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h> #include <dirent.h> +#include <dlfcn.h> #include "../common/weechat.h" +#include "weechat-plugin.h" #include "plugins.h" +#include "../common/command.h" +#include "../common/weeconfig.h" #include "../irc/irc.h" #include "../gui/gui.h" -#ifdef PLUGIN_PERL -#include "perl/wee-perl.h" -#endif - -#ifdef PLUGIN_PYTHON -#include "python/wee-python.h" -#endif - -#ifdef PLUGIN_RUBY -#include "ruby/wee-ruby.h" -#endif +t_weechat_plugin *weechat_plugins = NULL; +t_weechat_plugin *last_weechat_plugin = NULL; -char *plugin_name[3] = { "Perl", "Python", "Ruby" }; -t_plugin_handler *plugin_msg_handlers = NULL; -t_plugin_handler *last_plugin_msg_handler = NULL; - -t_plugin_handler *plugin_cmd_handlers = NULL; -t_plugin_handler *last_plugin_cmd_handler = NULL; +/* + * plugin_find_buffer: find a buffer for text display or command execution + */ +t_gui_buffer * +plugin_find_buffer (char *server, char *channel) +{ + t_irc_server *ptr_server; + t_irc_channel *ptr_channel; + t_gui_buffer *ptr_buffer; + + ptr_server = NULL; + ptr_channel = NULL; + ptr_buffer = NULL; + + if (server && server[0]) + { + ptr_server = server_search (server); + if (!ptr_server) + return NULL; + } + else + { + ptr_server = SERVER(gui_current_window->buffer); + if (!ptr_server) + ptr_server = SERVER(gui_buffers); + } + + if (channel && channel[0]) + { + if (ptr_server) + { + ptr_channel = channel_search (ptr_server, channel); + if (ptr_channel) + ptr_buffer = ptr_channel->buffer; + } + } + else + { + if (!channel) + { + ptr_buffer = gui_current_window->buffer; + if (ptr_buffer->dcc) + ptr_buffer = gui_buffers; + } + else + { + if (ptr_server) + ptr_buffer = ptr_server->buffer; + } + } + + if (!ptr_buffer) + return NULL; + + return (ptr_buffer->dcc) ? NULL : ptr_buffer; +} /* - * plugin_auto_load: auto-load all scripts in a directory + * plugin_exec_on_files: find files in a directory and execute a + * function on each file */ void -plugin_auto_load (int plugin_type, char *directory) +plugin_exec_on_files (t_weechat_plugin *plugin, char *directory, + int (*callback)(t_weechat_plugin *, char *)) { - int dir_length; - char *dir_name, *current_dir; + char complete_filename[1024]; DIR *dir; struct dirent *entry; struct stat statbuf; - /* build directory, adding WeeChat home */ - dir_length = strlen (weechat_home) + strlen (directory) + 2; - dir_name = - (char *) malloc (dir_length * sizeof (char)); - snprintf (dir_name, dir_length, "%s%s%s", weechat_home, DIR_SEPARATOR, directory); + dir = opendir (directory); + if (dir) + { + while ((entry = readdir (dir))) + { + snprintf (complete_filename, sizeof (complete_filename) - 1, + "%s/%s", directory, entry->d_name); + lstat (complete_filename, &statbuf); + if (!S_ISDIR(statbuf.st_mode)) + { + (int) (*callback) (plugin, complete_filename); + } + } + closedir (dir); + } +} + +/* + * plugin_search: search a plugin by name + */ + +t_weechat_plugin * +plugin_search (char *name) +{ + t_weechat_plugin *ptr_plugin; - /* save working directory */ - current_dir = (char *) malloc (1024 * sizeof (char)); - if (!getcwd (current_dir, 1024 - 1)) + for (ptr_plugin = weechat_plugins; ptr_plugin; + ptr_plugin = ptr_plugin->next_plugin) { - free (current_dir); - current_dir = NULL; + if (ascii_strcasecmp (ptr_plugin->name, name) == 0) + return ptr_plugin; } - /* browse autoload directory */ - dir = opendir (dir_name); - chdir (dir_name); - if (dir) + /* plugin not found */ + return NULL; +} + +/* + * plugin_cmd_handler_search: search a plugin command handler + * return: pointer to handler, NULL if not found + */ + +t_plugin_cmd_handler * +plugin_cmd_handler_search (char *command) +{ + t_weechat_plugin *ptr_plugin; + t_plugin_cmd_handler *ptr_plugin_cmd_handler; + + for (ptr_plugin = weechat_plugins; ptr_plugin; + ptr_plugin = ptr_plugin->next_plugin) { - while ((entry = readdir (dir))) + for (ptr_plugin_cmd_handler = ptr_plugin->cmd_handlers; + ptr_plugin_cmd_handler; + ptr_plugin_cmd_handler = ptr_plugin_cmd_handler->next_handler) { - lstat (entry->d_name, &statbuf); - if (! S_ISDIR(statbuf.st_mode)) + if (ascii_strcasecmp (ptr_plugin_cmd_handler->command, command) == 0) + return ptr_plugin_cmd_handler; + } + } + + /* command handler not found */ + return NULL; +} + +/* + * plugin_msg_handler_add: add a message handler + * arguments: + * 1. the plugin pointer + * 2. the IRC command + * 3. the handler function + * 4. handler args: a string given to + * handler when called (used by scripts) + * 5. handler pointer: a pointer given to + * handler when called (used by scripts) + */ + +t_plugin_msg_handler * +plugin_msg_handler_add (t_weechat_plugin *plugin, char *irc_command, + t_plugin_handler_func *handler_func, + char *handler_args, void *handler_pointer) +{ + t_plugin_msg_handler *new_plugin_msg_handler; + + new_plugin_msg_handler = (t_plugin_msg_handler *)malloc (sizeof (t_plugin_msg_handler)); + if (new_plugin_msg_handler) + { + new_plugin_msg_handler->irc_command = strdup (irc_command); + new_plugin_msg_handler->msg_handler = handler_func; + new_plugin_msg_handler->msg_handler_args = (handler_args) ? strdup (handler_args) : NULL; + new_plugin_msg_handler->msg_handler_pointer = handler_pointer; + new_plugin_msg_handler->running = 0; + + /* add new handler to list */ + new_plugin_msg_handler->prev_handler = plugin->last_msg_handler; + new_plugin_msg_handler->next_handler = NULL; + if (plugin->msg_handlers) + (plugin->last_msg_handler)->next_handler = new_plugin_msg_handler; + else + plugin->msg_handlers = new_plugin_msg_handler; + plugin->last_msg_handler = new_plugin_msg_handler; + } + else + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s plugin %s: unable to add handler for IRC command \"%s\" (not enough memory)\n"), + WEECHAT_ERROR, plugin->name, irc_command); + return NULL; + } + return new_plugin_msg_handler; +} + +/* + * plugin_cmd_handler_add: add a command handler + * arguments: + * 1. the plugin pointer + * 2. the WeeChat command + * 3. command description (for /help) + * 4. command arguments (for /help) + * 5. command args description (for /help) + * 6. the handler function + * 7. handler args: a string given to + * handler when called (used by scripts) + * 8. handler pointer: a pointer given to + * handler when called (used by scripts) + */ + +t_plugin_cmd_handler * +plugin_cmd_handler_add (t_weechat_plugin *plugin, char *command, + char *description, char *arguments, + char *arguments_description, + t_plugin_handler_func *handler_func, + char *handler_args, void *handler_pointer) +{ + t_plugin_cmd_handler *new_plugin_cmd_handler; + + if (plugin_cmd_handler_search (command)) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s plugin %s: unable to add handler for \"%s\" command " + "(already exists)\n"), + WEECHAT_ERROR, plugin->name, command); + return NULL; + } + + new_plugin_cmd_handler = (t_plugin_cmd_handler *)malloc (sizeof (t_plugin_cmd_handler)); + if (new_plugin_cmd_handler) + { + new_plugin_cmd_handler->command = strdup (command); + new_plugin_cmd_handler->description = (description) ? strdup (description) : NULL; + new_plugin_cmd_handler->arguments = (arguments) ? strdup (arguments) : NULL; + new_plugin_cmd_handler->arguments_description = (arguments_description) ? strdup (arguments_description) : NULL; + new_plugin_cmd_handler->cmd_handler = handler_func; + new_plugin_cmd_handler->cmd_handler_args = (handler_args) ? strdup (handler_args) : NULL; + new_plugin_cmd_handler->cmd_handler_pointer = handler_pointer; + new_plugin_cmd_handler->running = 0; + + /* add new handler to list */ + new_plugin_cmd_handler->prev_handler = plugin->last_cmd_handler; + new_plugin_cmd_handler->next_handler = NULL; + if (plugin->cmd_handlers) + (plugin->last_cmd_handler)->next_handler = new_plugin_cmd_handler; + else + plugin->cmd_handlers = new_plugin_cmd_handler; + plugin->last_cmd_handler = new_plugin_cmd_handler; + + /* add command to WeeChat commands list */ + if (!weelist_search (index_commands, command)) + weelist_add (&index_commands, &last_index_command, command); + } + else + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s plugin %s: unable to add handler for \"%s\" command (not enough memory)\n"), + WEECHAT_ERROR, plugin->name, command); + return NULL; + } + return new_plugin_cmd_handler; +} + +/* + * plugin_msg_handler_exec: execute a message handler + * return: number of handlers executed (0 means no handler found) + */ + +int +plugin_msg_handler_exec (char *server, char *irc_command, char *irc_message) +{ + t_weechat_plugin *ptr_plugin; + t_plugin_msg_handler *ptr_plugin_msg_handler; + int count; + + count = 0; + for (ptr_plugin = weechat_plugins; ptr_plugin; + ptr_plugin = ptr_plugin->next_plugin) + { + for (ptr_plugin_msg_handler = ptr_plugin->msg_handlers; + ptr_plugin_msg_handler; + ptr_plugin_msg_handler = ptr_plugin_msg_handler->next_handler) + { + if (ascii_strcasecmp (ptr_plugin_msg_handler->irc_command, irc_command) == 0) { - wee_log_printf (_("Auto-loading %s script: %s%s%s\n"), - plugin_name[plugin_type], - dir_name, DIR_SEPARATOR, entry->d_name); - plugin_load (plugin_type, entry->d_name); + if (ptr_plugin_msg_handler->running == 0) + { + ptr_plugin_msg_handler->running = 1; + if ((int) (ptr_plugin_msg_handler->msg_handler) (ptr_plugin, + server, + irc_command, + irc_message, + ptr_plugin_msg_handler->msg_handler_args, + ptr_plugin_msg_handler->msg_handler_pointer)) + count++; + ptr_plugin_msg_handler->running = 0; + } } } - closedir (dir); } - /* restore working directory */ - if (current_dir) + return count; +} + +/* + * plugin_cmd_handler_exec: execute a command handler + * return: 1 if handler executed, 0 if no handler found + */ + +int +plugin_cmd_handler_exec (char *server, char *command, char *arguments) +{ + t_weechat_plugin *ptr_plugin; + t_plugin_cmd_handler *ptr_plugin_cmd_handler; + int return_code; + + for (ptr_plugin = weechat_plugins; ptr_plugin; + ptr_plugin = ptr_plugin->next_plugin) { - chdir (current_dir); - free (current_dir); + for (ptr_plugin_cmd_handler = ptr_plugin->cmd_handlers; + ptr_plugin_cmd_handler; + ptr_plugin_cmd_handler = ptr_plugin_cmd_handler->next_handler) + { + if (ascii_strcasecmp (ptr_plugin_cmd_handler->command, command) == 0) + { + if (ptr_plugin_cmd_handler->running == 0) + { + ptr_plugin_cmd_handler->running = 1; + return_code = (int) (ptr_plugin_cmd_handler->cmd_handler) (ptr_plugin, + server, + command, + arguments, + ptr_plugin_cmd_handler->cmd_handler_args, + ptr_plugin_cmd_handler->cmd_handler_pointer); + ptr_plugin_cmd_handler->running = 0; + return (return_code) ? 1 : 0; + } + } + } } - free (dir_name); + + return 0; } /* - * plugin_init: initialize all plugins + * plugin_msg_handler_remove: remove a message handler for a plugin */ void -plugin_init () +plugin_msg_handler_remove (t_weechat_plugin *plugin, + t_plugin_msg_handler *plugin_msg_handler) { -#ifdef PLUGIN_PERL - wee_perl_init(); - plugin_auto_load (PLUGIN_TYPE_PERL, "perl/autoload"); -#endif + t_plugin_msg_handler *new_plugin_msg_handlers; -#ifdef PLUGIN_PYTHON - wee_python_init(); - plugin_auto_load (PLUGIN_TYPE_PYTHON, "python/autoload"); -#endif + /* remove handler from list */ + if (plugin->last_msg_handler == plugin_msg_handler) + plugin->last_msg_handler = plugin_msg_handler->prev_handler; + if (plugin_msg_handler->prev_handler) + { + (plugin_msg_handler->prev_handler)->next_handler = plugin_msg_handler->next_handler; + new_plugin_msg_handlers = plugin->msg_handlers; + } + else + new_plugin_msg_handlers = plugin_msg_handler->next_handler; + + if (plugin_msg_handler->next_handler) + (plugin_msg_handler->next_handler)->prev_handler = plugin_msg_handler->prev_handler; -#ifdef PLUGIN_RUBY - wee_ruby_init(); - plugin_auto_load (PLUGIN_TYPE_RUBY, "ruby/autoload"); -#endif + /* free data */ + if (plugin_msg_handler->irc_command) + free (plugin_msg_handler->irc_command); + if (plugin_msg_handler->msg_handler_args) + free (plugin_msg_handler->msg_handler_args); + plugin->msg_handlers = new_plugin_msg_handlers; } /* - * plugin_load: load a plugin + * plugin_cmd_handler_remove: remove a command handler for a plugin */ void -plugin_load (int plugin_type, char *filename) +plugin_cmd_handler_remove (t_weechat_plugin *plugin, + t_plugin_cmd_handler *plugin_cmd_handler) { -#ifdef PLUGINS - switch (plugin_type) + t_plugin_cmd_handler *new_plugin_cmd_handlers; + + /* remove handler from list */ + if (plugin->last_cmd_handler == plugin_cmd_handler) + plugin->last_cmd_handler = plugin_cmd_handler->prev_handler; + if (plugin_cmd_handler->prev_handler) { - case PLUGIN_TYPE_PERL: -#ifdef PLUGIN_PERL - wee_perl_load (filename); -#endif - break; - case PLUGIN_TYPE_PYTHON: -#ifdef PLUGIN_PYTHON - wee_python_load (filename); -#endif - break; - case PLUGIN_TYPE_RUBY: -#ifdef PLUGIN_RUBY - wee_ruby_load (filename); -#endif - break; + (plugin_cmd_handler->prev_handler)->next_handler = plugin_cmd_handler->next_handler; + new_plugin_cmd_handlers = plugin->cmd_handlers; } -#else - /* make gcc happy */ - (void) plugin_type; - (void) filename; -#endif /* PLUGINS */ + else + new_plugin_cmd_handlers = plugin_cmd_handler->next_handler; + + if (plugin_cmd_handler->next_handler) + (plugin_cmd_handler->next_handler)->prev_handler = plugin_cmd_handler->prev_handler; + + /* remove command from WeeChat command list */ + weelist_remove (&index_commands, &last_index_command, + weelist_search (index_commands, plugin_cmd_handler->command)); + + /* free data */ + if (plugin_cmd_handler->command) + free (plugin_cmd_handler->command); + if (plugin_cmd_handler->description) + free (plugin_cmd_handler->description); + if (plugin_cmd_handler->arguments) + free (plugin_cmd_handler->arguments); + if (plugin_cmd_handler->arguments_description) + free (plugin_cmd_handler->arguments_description); + if (plugin_cmd_handler->cmd_handler_args) + free (plugin_cmd_handler->cmd_handler_args); + plugin->cmd_handlers = new_plugin_cmd_handlers; +} + +/* + * plugin_msg_handler_remove_all: remove all message handlers for a plugin + */ + +void +plugin_msg_handler_remove_all (t_weechat_plugin *plugin) +{ + while (plugin->msg_handlers) + plugin_msg_handler_remove (plugin, plugin->msg_handlers); +} + +/* + * plugin_cmd_handler_remove_all: remove all command handlers for a plugin + */ + +void +plugin_cmd_handler_remove_all (t_weechat_plugin *plugin) +{ + while (plugin->cmd_handlers) + plugin_cmd_handler_remove (plugin, plugin->cmd_handlers); } /* - * plugin_handler_search: look for message/command handler + * plugin_search_full_name: search the full name of a file with a part of name + * and look in WeeChat user's dir, then WeeChat global lib dir */ -t_plugin_handler * -plugin_handler_search (t_plugin_handler *plugin_handlers, char *name) +char * +plugin_search_full_name (char *filename) { - t_plugin_handler *ptr_plugin_handler; + char *name_with_ext, *final_name; + int length; + struct stat st; + + /* filename is already a full path */ + if (strchr (filename, '/') || strchr (filename, '\\')) + return strdup (filename); + + length = strlen (filename) + 16; + if (cfg_plugins_extension && cfg_plugins_extension[0]) + length += strlen (cfg_plugins_extension); + name_with_ext = (char *)malloc (length); + if (!name_with_ext) + return strdup (filename); + name_with_ext[0] = '\0'; + if (ascii_strncasecmp (filename, "lib", 3) != 0) + strcat (name_with_ext, "lib"); + strcat (name_with_ext, filename); + if (!strchr (filename, '.') + && cfg_plugins_extension && cfg_plugins_extension[0]) + strcat (name_with_ext, cfg_plugins_extension); - for (ptr_plugin_handler = plugin_handlers; ptr_plugin_handler; - ptr_plugin_handler = ptr_plugin_handler->next_handler) + /* try WeeChat user's dir */ + length = strlen (weechat_home) + strlen (name_with_ext) + 16; + final_name = (char *)malloc (length); + if (!final_name) { - /* handler found */ - if (ascii_strcasecmp (ptr_plugin_handler->name, name) == 0) - return ptr_plugin_handler; + free (name_with_ext); + return strdup (filename); } - /* handler not found */ - return NULL; + snprintf (final_name, length, + "%s/plugins/%s", weechat_home, name_with_ext); + if ((stat (final_name, &st) == 0) && (st.st_size > 0)) + { + free (name_with_ext); + return final_name; + } + free (final_name); + + /* try WeeChat global lib dir */ + length = strlen (WEECHAT_LIBDIR) + strlen (name_with_ext) + 16; + final_name = (char *)malloc (length); + if (!final_name) + { + free (name_with_ext); + return strdup (filename); + } + snprintf (final_name, length, + "%s/plugins/%s", WEECHAT_LIBDIR, name_with_ext); + if ((stat (final_name, &st) == 0) && (st.st_size > 0)) + { + free (name_with_ext); + return final_name; + } + free (final_name); + + return name_with_ext; } /* - * plugin_handler_add: add a message/command handler + * plugin_load: load a WeeChat plugin (a dynamic library) + * return: pointer to new WeeChat plugin, NULL if error */ -void -plugin_handler_add (t_plugin_handler **plugin_handlers, - t_plugin_handler **last_plugin_handler, - int plugin_type, char *name, char *function) +t_weechat_plugin * +plugin_load (char *filename) { - t_plugin_handler *new_plugin_handler; + char *full_name; + void *handle; + char *name, *description, *version; + t_weechat_init_func *init_func; + t_weechat_plugin *new_plugin; + + if (!filename) + return NULL; + + full_name = plugin_search_full_name (filename); + + if (!full_name) + return NULL; - new_plugin_handler = (t_plugin_handler *)malloc (sizeof (t_plugin_handler)); - if (new_plugin_handler) + handle = dlopen (full_name, RTLD_GLOBAL | RTLD_NOW); + if (!handle) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, _("%s unable to load plugin \"%s\": %s\n"), + WEECHAT_ERROR, full_name, dlerror()); + free (full_name); + return NULL; + } + /* look for plugin name */ + name = dlsym (handle, "plugin_name"); + if (!name) + { + dlclose (handle); + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, _("%s symbol \"plugin_name\" not found in plugin \"%s\", failed to load\n"), + WEECHAT_ERROR, full_name); + free (full_name); + return NULL; + } + /* check for plugin with same name */ + if (plugin_search (name)) { - new_plugin_handler->plugin_type = plugin_type; - new_plugin_handler->name = strdup (name); - new_plugin_handler->function_name = strdup (function); - new_plugin_handler->running = 0; + dlclose (handle); + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s unable to load plugin \"%s\": a plugin with " + "same name already exists\n"), + WEECHAT_ERROR, full_name); + free (full_name); + return NULL; + } + /* look for plugin description */ + description = dlsym (handle, "plugin_description"); + if (!description) + { + dlclose (handle); + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, _("%s symbol \"plugin_description\" not found in plugin \"%s\", failed to load\n"), + WEECHAT_ERROR, full_name); + free (full_name); + return NULL; + } + /* look for plugin version */ + version = dlsym (handle, "plugin_version"); + if (!version) + { + dlclose (handle); + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, _("%s symbol \"plugin_version\" not found in plugin \"%s\", failed to load\n"), + WEECHAT_ERROR, full_name); + free (full_name); + return NULL; + } + /* look for plugin init function */ + init_func = dlsym (handle, "weechat_plugin_init"); + if (!init_func) + { + dlclose (handle); + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, _("%s function \"weechat_plugin_init\" not found in plugin \"%s\", failed to load\n"), + WEECHAT_ERROR, full_name); + free (full_name); + return NULL; + } + + /* create new plugin */ + new_plugin = (t_weechat_plugin *)malloc (sizeof (t_weechat_plugin)); + if (new_plugin) + { + /* variables */ + new_plugin->filename = strdup (full_name); + new_plugin->handle = handle; + new_plugin->name = strdup (name); + new_plugin->description = strdup (description); + new_plugin->version = strdup (version); - /* add new handler to list */ - new_plugin_handler->prev_handler = *last_plugin_handler; - new_plugin_handler->next_handler = NULL; - if (*plugin_handlers) - (*last_plugin_handler)->next_handler = new_plugin_handler; + /* functions */ + new_plugin->mkdir_home = &weechat_plugin_mkdir_home; + new_plugin->exec_on_files = &weechat_plugin_exec_on_files; + new_plugin->msg_handler_add = &weechat_plugin_msg_handler_add; + new_plugin->msg_handler_remove = &weechat_plugin_msg_handler_remove; + new_plugin->msg_handler_remove_all = &weechat_plugin_msg_handler_remove_all; + new_plugin->cmd_handler_add = &weechat_plugin_cmd_handler_add; + new_plugin->cmd_handler_remove = &weechat_plugin_cmd_handler_remove; + new_plugin->cmd_handler_remove_all = &weechat_plugin_cmd_handler_remove_all; + new_plugin->printf = &weechat_plugin_printf; + new_plugin->printf_server = &weechat_plugin_printf_server; + new_plugin->infobar_printf = &weechat_plugin_infobar_printf; + new_plugin->exec_command = &weechat_plugin_exec_command; + new_plugin->get_info = &weechat_plugin_get_info; + new_plugin->get_dcc_info = &weechat_plugin_get_dcc_info; + new_plugin->free_dcc_info = &weechat_plugin_free_dcc_info; + new_plugin->explode_string = &weechat_explode_string; + new_plugin->free_exploded_string = &weechat_free_exploded_string; + new_plugin->ascii_strcasecmp = &weechat_ascii_strcasecmp; + + /* handlers */ + new_plugin->msg_handlers = NULL; + new_plugin->last_msg_handler = NULL; + new_plugin->cmd_handlers = NULL; + new_plugin->last_cmd_handler = NULL; + + /* add new plugin to list */ + new_plugin->prev_plugin = last_weechat_plugin; + new_plugin->next_plugin = NULL; + if (weechat_plugins) + last_weechat_plugin->next_plugin = new_plugin; else - *plugin_handlers = new_plugin_handler; - *last_plugin_handler = new_plugin_handler; + weechat_plugins = new_plugin; + last_weechat_plugin = new_plugin; + + irc_display_prefix (NULL, PREFIX_PLUGIN); + gui_printf (NULL, + _("Initializing plugin \"%s\" %s\n"), + new_plugin->name, new_plugin->version); + + /* init plugin */ + if (!((t_weechat_init_func *)init_func) (new_plugin)) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s unable to initialize plugin \"%s\"\n"), + WEECHAT_ERROR, full_name); + plugin_remove (new_plugin); + free (full_name); + return NULL; + } } else { irc_display_prefix (NULL, PREFIX_ERROR); gui_printf (NULL, - _("%s unable to add handler for \"%s\" message (not enough memory)\n"), - WEECHAT_ERROR, name); + _("%s unable to load plugin \"%s\" (not enough memory)\n"), + WEECHAT_ERROR, full_name); + free (full_name); + return NULL; } + + irc_display_prefix (NULL, PREFIX_PLUGIN); + gui_printf (NULL, + _("Plugin \"%s\" (%s) loaded.\n"), + name, full_name); + + free (full_name); + + return new_plugin; } /* - * plugin_handler_free: free message/command handler + * plugin_auto_load_file: load a file found by plugin_aut_load, + * but only it this is really a dynamic library + */ + +int plugin_auto_load_file (t_weechat_plugin *plugin, char *filename) +{ + char *pos; + + /* make gcc happy */ + (void) plugin; + + if (cfg_plugins_extension && cfg_plugins_extension[0]) + { + pos = strstr (filename, cfg_plugins_extension); + if (pos) + { + if (ascii_strcasecmp (pos, cfg_plugins_extension) == 0) + plugin_load (filename); + } + } + else + plugin_load (filename); + return 1; +} + +/* + * plugin_auto_load: auto-load WeeChat plugins + */ + +void plugin_auto_load () +{ + char *dir_name; + + dir_name = (char *)malloc (strlen (WEECHAT_LIBDIR) + 16); + if (dir_name) + { + snprintf (dir_name, strlen (WEECHAT_LIBDIR) + 16, + "%s/plugins", WEECHAT_LIBDIR); + plugin_exec_on_files (NULL, dir_name, &plugin_auto_load_file); + free (dir_name); + } +} + +/* + * plugin_remove: remove a WeeChat plugin */ void -plugin_handler_free (t_plugin_handler **plugin_handlers, - t_plugin_handler **last_plugin_handler, - t_plugin_handler *ptr_plugin_handler) +plugin_remove (t_weechat_plugin *plugin) { - t_plugin_handler *new_plugin_handlers; + t_weechat_plugin *new_weechat_plugins; /* remove handler from list */ - if (*last_plugin_handler == ptr_plugin_handler) - *last_plugin_handler = ptr_plugin_handler->prev_handler; - if (ptr_plugin_handler->prev_handler) + if (last_weechat_plugin == plugin) + last_weechat_plugin = plugin->prev_plugin; + if (plugin->prev_plugin) { - (ptr_plugin_handler->prev_handler)->next_handler = ptr_plugin_handler->next_handler; - new_plugin_handlers = *plugin_handlers; + (plugin->prev_plugin)->next_plugin = plugin->next_plugin; + new_weechat_plugins = weechat_plugins; } else - new_plugin_handlers = ptr_plugin_handler->next_handler; + new_weechat_plugins = plugin->next_plugin; + + if (plugin->next_plugin) + (plugin->next_plugin)->prev_plugin = plugin->prev_plugin; - if (ptr_plugin_handler->next_handler) - (ptr_plugin_handler->next_handler)->prev_handler = ptr_plugin_handler->prev_handler; - /* free data */ - free (ptr_plugin_handler->name); - free (ptr_plugin_handler->function_name); - free (ptr_plugin_handler); - *plugin_handlers = new_plugin_handlers; + plugin_msg_handler_remove_all (plugin); + plugin_cmd_handler_remove_all (plugin); + if (plugin->filename) + free (plugin->filename); + dlclose (plugin->handle); + if (plugin->name) + free (plugin->name); + if (plugin->description) + free (plugin->description); + if (plugin->version) + free (plugin->version); + free (plugin); + + weechat_plugins = new_weechat_plugins; } /* - * plugin_handler_free_all: remove all message/command handlers + * plugin_unload: unload a WeeChat plugin */ void -plugin_handler_free_all (t_plugin_handler **plugin_handlers, - t_plugin_handler **last_plugin_handler) +plugin_unload (t_weechat_plugin *plugin) { - while (*plugin_handlers) - plugin_handler_free (plugin_handlers, last_plugin_handler, - *plugin_handlers); + t_weechat_end_func *end_func; + + end_func = dlsym (plugin->handle, "weechat_plugin_end"); + if (end_func) + (void) (end_func) (plugin); + plugin_remove (plugin); } /* - * plugin_handler_free_all_type: remove all message/command handlers for one type + * plugin_unload_name: unload a WeeChat plugin by name */ void -plugin_handler_free_all_type (t_plugin_handler **plugin_handlers, - t_plugin_handler **last_plugin_handler, - int plugin_type) +plugin_unload_name (char *name) { - t_plugin_handler *ptr_plugin_handler, *new_plugin_handler; + t_weechat_plugin *ptr_plugin; - ptr_plugin_handler = *plugin_handlers; - while (ptr_plugin_handler) + ptr_plugin = plugin_search (name); + if (ptr_plugin) { - if (ptr_plugin_handler->plugin_type == plugin_type) - { - new_plugin_handler = ptr_plugin_handler->next_handler; - plugin_handler_free (plugin_handlers, last_plugin_handler, - ptr_plugin_handler); - ptr_plugin_handler = new_plugin_handler; - } - else - ptr_plugin_handler = ptr_plugin_handler->next_handler; + plugin_unload (ptr_plugin); + irc_display_prefix (NULL, PREFIX_PLUGIN); + gui_printf (NULL, _("Plugin \"%s\" unloaded.\n"), name); + } + else + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s plugin \"%s\" not found\n"), + WEECHAT_ERROR, name); } } /* - * plugin_event_msg: IRC message received => call all handlers for this message + * plugin_unload_all: unload all WeeChat plugins */ void -plugin_event_msg (char *irc_command, char *server, char *arguments) +plugin_unload_all () { -#ifdef PLUGINS - t_plugin_handler *ptr_plugin_handler; + while (weechat_plugins) + plugin_unload (weechat_plugins); +} + +/* + * plugin_init: init plugin support + */ + +void +plugin_init () +{ + char *list_plugins, *pos, *pos2; - for (ptr_plugin_handler = plugin_msg_handlers; ptr_plugin_handler; - ptr_plugin_handler = ptr_plugin_handler->next_handler) + if (cfg_plugins_autoload && cfg_plugins_autoload[0]) { - if (ascii_strcasecmp (ptr_plugin_handler->name, irc_command) == 0) + if (ascii_strcasecmp (cfg_plugins_autoload, "*") == 0) + plugin_auto_load (); + else { -#ifdef PLUGIN_PERL - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_PERL) + list_plugins = strdup (cfg_plugins_autoload); + if (list_plugins) { - if (ptr_plugin_handler->running == 0) + pos = list_plugins; + while (pos && pos[0]) { - ptr_plugin_handler->running = 1; - wee_perl_exec (ptr_plugin_handler->function_name, server, arguments); - ptr_plugin_handler->running = 0; + pos2 = strchr (pos, ','); + if (pos2) + pos2[0] = '\0'; + plugin_load (pos); + if (pos2) + pos = pos2 + 1; + else + pos = NULL; } + free (list_plugins); } -#endif -#ifdef PLUGIN_PYTHON - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_PYTHON) - { - if (ptr_plugin_handler->running == 0) - { - ptr_plugin_handler->running = 1; - wee_python_exec (ptr_plugin_handler->function_name, server, arguments); - ptr_plugin_handler->running = 0; - } - } -#endif -#ifdef PLUGIN_RUBY - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_RUBY) - { - if (ptr_plugin_handler->running == 0) - { - ptr_plugin_handler->running = 1; - wee_ruby_exec (ptr_plugin_handler->function_name, server, arguments); - ptr_plugin_handler->running = 0; - } - } -#endif } } -#else - /* make gcc happy */ - (void) irc_command; - (void) arguments; - (void) server; -#endif /* PLUGINS */ } /* - * plugin_exec_command: execute a command handler + * plugin_end: end plugin support + */ + +void +plugin_end () +{ + plugin_unload_all (); +} + +/*************************** Public plugin interface **************************/ + +/* + * weechat_plugin_mkdir_home: create a directory for script in WeeChat home */ int -plugin_exec_command (char *user_command, char *server, char *arguments) +weechat_plugin_mkdir_home (t_weechat_plugin *plugin, char *path) { -#ifdef PLUGINS - t_plugin_handler *ptr_plugin_handler; + char *dir_name; + int dir_length; + + /* make gcc happy */ + (void) plugin; + + if (!path) + return 0; + + /* build directory, adding WeeChat home */ + dir_length = strlen (weechat_home) + strlen (path) + 2; + dir_name = + (char *) malloc (dir_length * sizeof (char)); + if (!dir_name) + return 0; - for (ptr_plugin_handler = plugin_cmd_handlers; ptr_plugin_handler; - ptr_plugin_handler = ptr_plugin_handler->next_handler) + snprintf (dir_name, dir_length, "%s/%s", weechat_home, path); + + if (mkdir (dir_name, 0755) < 0) { - if (ascii_strcasecmp (ptr_plugin_handler->name, user_command) == 0) + if (errno != EEXIST) { -#ifdef PLUGIN_PERL - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_PERL) - { - if (ptr_plugin_handler->running == 0) - { - ptr_plugin_handler->running = 1; - wee_perl_exec (ptr_plugin_handler->function_name, server, arguments); - ptr_plugin_handler->running = 0; - } - } -#endif -#ifdef PLUGIN_PYTHON - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_PYTHON) - { - if (ptr_plugin_handler->running == 0) - { - ptr_plugin_handler->running = 1; - wee_python_exec (ptr_plugin_handler->function_name, server, arguments); - ptr_plugin_handler->running = 0; - } - } -#endif -#ifdef PLUGIN_RUBY - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_RUBY) - { - if (ptr_plugin_handler->running == 0) - { - ptr_plugin_handler->running = 1; - wee_ruby_exec (ptr_plugin_handler->function_name, server, arguments); - ptr_plugin_handler->running = 0; - } - } -#endif - - /* command executed */ - return 1; + free (dir_name); + return 0; } } -#else - /* make gcc happy */ - (void) user_command; - (void) arguments; - (void) server; -#endif /* PLUGINS */ - /* no command executed */ - return 0; + free (dir_name); + return 1; } /* - * plugin_find_buffer: find a buffer for text display or command execution + * weechat_plugin_exec_on_files: find files in a directory and execute a + * function on each file */ -t_gui_buffer * -plugin_find_buffer (char *server, char *channel) +void +weechat_plugin_exec_on_files (t_weechat_plugin *plugin, char *directory, + int (*callback)(t_weechat_plugin *, char *)) +{ + if (directory && callback) + plugin_exec_on_files (plugin, directory, callback); +} + +/* + * weechat_plugin_msg_handler_add: add a message handler + */ + +t_plugin_msg_handler * +weechat_plugin_msg_handler_add (t_weechat_plugin *plugin, char *message, + t_plugin_handler_func *handler_func, + char *handler_args, void *handler_pointer) +{ + if (plugin && message && handler_func) + return plugin_msg_handler_add (plugin, message, handler_func, + handler_args, handler_pointer); + + return NULL; +} + +/* + * weechat_plugin_msg_handler_remove: remove a WeeChat message handler + */ + +void +weechat_plugin_msg_handler_remove (t_weechat_plugin *plugin, + t_plugin_msg_handler *msg_handler) +{ + if (plugin && msg_handler) + plugin_msg_handler_remove (plugin, msg_handler); +} + +/* + * weechat_plugin_msg_handler_remove_all: remove all WeeChat message handlers + */ + +void +weechat_plugin_msg_handler_remove_all (t_weechat_plugin *plugin) +{ + if (plugin) + plugin_msg_handler_remove_all (plugin); +} + +/* + * weechat_plugin_cmd_handler_add: add a command handler + */ + +t_plugin_cmd_handler * +weechat_plugin_cmd_handler_add (t_weechat_plugin *plugin, char *command, + char *description, char *arguments, + char *arguments_description, + t_plugin_handler_func *handler_func, + char *handler_args, void *handler_pointer) +{ + if (plugin && command && handler_func) + return plugin_cmd_handler_add (plugin, command, description, arguments, + arguments_description, + handler_func, + handler_args, handler_pointer); + + return NULL; +} + +/* + * weechat_cmd_plugin_handler_remove: remove a WeeChat command handler + */ + +void +weechat_plugin_cmd_handler_remove (t_weechat_plugin *plugin, + t_plugin_cmd_handler *cmd_handler) +{ + if (plugin && cmd_handler) + plugin_cmd_handler_remove (plugin, cmd_handler); +} + +/* + * weechat_plugin_cmd_handler_remove_all: remove all WeeChat command handlers + */ + +void +weechat_plugin_cmd_handler_remove_all (t_weechat_plugin *plugin) +{ + if (plugin) + plugin_cmd_handler_remove_all (plugin); +} + +/* + * weechat_plugin_printf: print a message on a server or channel buffer + */ + +void +weechat_plugin_printf (t_weechat_plugin *plugin, + char *server, char *channel, char *message, ...) { - t_irc_server *ptr_server; - t_irc_channel *ptr_channel; t_gui_buffer *ptr_buffer; + va_list argptr; + static char buf[8192]; - ptr_server = NULL; - ptr_channel = NULL; - ptr_buffer = NULL; + if (!plugin || !message) + return; - if (server && server[0]) + ptr_buffer = plugin_find_buffer (server, channel); + va_start (argptr, message); + vsnprintf (buf, sizeof (buf) - 1, message, argptr); + va_end (argptr); + irc_display_prefix (ptr_buffer, PREFIX_PLUGIN); + gui_printf (ptr_buffer, "%s\n", buf); +} + +/* + * weechat_plugin_printf_server: print a message on server buffer + */ + +void +weechat_plugin_printf_server (t_weechat_plugin *plugin, char *message, ...) +{ + va_list argptr; + static char buf[8192]; + + if (!plugin || !message) + return; + + va_start (argptr, message); + vsnprintf (buf, sizeof (buf) - 1, message, argptr); + va_end (argptr); + irc_display_prefix (NULL, PREFIX_PLUGIN); + gui_printf (NULL, "%s\n", buf); +} + +/* + * weechat_plugin_infobar_printf: print a message in infobar + */ + +void +weechat_plugin_infobar_printf (t_weechat_plugin *plugin, int time_displayed, char *message, ...) +{ + va_list argptr; + static char buf[1024]; + + if (!plugin || (time_displayed < 0) || !message) + return; + + va_start (argptr, message); + vsnprintf (buf, sizeof (buf) - 1, message, argptr); + va_end (argptr); + gui_infobar_printf (time_displayed, COLOR_WIN_INFOBAR, buf); +} + +/* + * weechat_plugin_exec_command: execute a command (simulate user entry) + */ + +void +weechat_plugin_exec_command (t_weechat_plugin *plugin, + char *server, char *channel, char *command) +{ + t_gui_buffer *ptr_buffer; + + if (!plugin || !command) + return; + + ptr_buffer = plugin_find_buffer (server, channel); + if (ptr_buffer) + user_command (SERVER(ptr_buffer), ptr_buffer, command); +} + +/* + * weechat_plugin_get_info: get info about WeeChat + * WARNING: caller should free string returned + * by this function after use + */ + +char * +weechat_plugin_get_info (t_weechat_plugin *plugin, char *info, char *server, char *channel) +{ + t_gui_buffer *ptr_buffer; + + if (!plugin || !info) + return NULL; + + ptr_buffer = plugin_find_buffer (server, channel); + if (!ptr_buffer) + return NULL; + + if (ascii_strcasecmp (info, "version") == 0) { - ptr_server = server_search (server); - if (!ptr_server) - return NULL; + return strdup (PACKAGE_STRING); } - else + else if (ascii_strcasecmp (info, "nick") == 0) { - ptr_server = SERVER(gui_current_window->buffer); - if (!ptr_server) - ptr_server = SERVER(gui_buffers); + if (SERVER(ptr_buffer) && (SERVER(ptr_buffer)->is_connected) + && (SERVER(ptr_buffer)->nick)) + return strdup (SERVER(ptr_buffer)->nick); } - - if (channel && channel[0]) + else if (ascii_strcasecmp (info, "channel") == 0) { - if (ptr_server) - { - ptr_channel = channel_search (ptr_server, channel); - if (ptr_channel) - ptr_buffer = ptr_channel->buffer; - } + if (BUFFER_IS_CHANNEL(ptr_buffer)) + return strdup (CHANNEL(gui_current_window->buffer)->name); } - else + else if (ascii_strcasecmp (info, "server") == 0) { - if (!channel) - { - ptr_buffer = gui_current_window->buffer; - if (ptr_buffer->dcc) - ptr_buffer = gui_buffers; - } - else + if (SERVER(ptr_buffer) && (SERVER(ptr_buffer)->is_connected) + && (SERVER(ptr_buffer)->name)) + return strdup (SERVER(ptr_buffer)->name); + } + else if (ascii_strcasecmp (info, "away") == 0) + { + if (SERVER(ptr_buffer) && (SERVER(ptr_buffer)->is_connected)) { - if (ptr_server) - ptr_buffer = ptr_server->buffer; + if (SERVER(ptr_buffer)->is_away) + return strdup ("1"); + else + return strdup ("0"); } } + else if (ascii_strcasecmp (info, "weechat_dir") == 0) + { + return strdup (weechat_home); + } + else if (ascii_strcasecmp (info, "weechat_libdir") == 0) + { + return strdup (WEECHAT_LIBDIR); + } + else if (ascii_strcasecmp (info, "weechat_sharedir") == 0) + { + return strdup (WEECHAT_SHAREDIR); + } - if (!ptr_buffer) + /* info not found */ + return NULL; +} + +/* + * weechat_plugin_get_dcc_info: get list of DCC files/chats info + */ + +t_plugin_dcc_info * +weechat_plugin_get_dcc_info (t_weechat_plugin *plugin) +{ + t_plugin_dcc_info *dcc_info, *last_dcc_info, *new_dcc_info; + t_irc_dcc *ptr_dcc; + + if (!plugin) return NULL; - return (ptr_buffer->dcc) ? NULL : ptr_buffer; + if (dcc_list) + { + dcc_info = NULL; + last_dcc_info = NULL; + for (ptr_dcc = dcc_list; ptr_dcc; ptr_dcc = ptr_dcc->next_dcc) + { + new_dcc_info = (t_plugin_dcc_info *)malloc (sizeof (t_plugin_dcc_info)); + if (new_dcc_info) + { + new_dcc_info->server = (ptr_dcc->server) ? strdup (ptr_dcc->server->name) : strdup (""); + new_dcc_info->channel = (ptr_dcc->channel) ? strdup (ptr_dcc->channel->name) : strdup (""); + new_dcc_info->type = ptr_dcc->type; + new_dcc_info->status = ptr_dcc->status; + new_dcc_info->start_time = ptr_dcc->start_time; + new_dcc_info->start_transfer = ptr_dcc->start_transfer; + new_dcc_info->addr = ptr_dcc->addr; + new_dcc_info->port = ptr_dcc->port; + new_dcc_info->nick = (ptr_dcc->nick) ? strdup (ptr_dcc->nick) : strdup (""); + new_dcc_info->filename = (ptr_dcc->filename) ? strdup (ptr_dcc->filename) : strdup (""); + new_dcc_info->local_filename = (ptr_dcc->local_filename) ? strdup (ptr_dcc->local_filename) : strdup (""); + new_dcc_info->filename_suffix = ptr_dcc->filename_suffix; + new_dcc_info->size = ptr_dcc->size; + new_dcc_info->pos = ptr_dcc->pos; + new_dcc_info->start_resume = ptr_dcc->start_resume; + new_dcc_info->bytes_per_sec = ptr_dcc->bytes_per_sec; + + new_dcc_info->prev_dcc = last_dcc_info; + new_dcc_info->next_dcc = NULL; + if (!dcc_info) + { + dcc_info = new_dcc_info; + last_dcc_info = new_dcc_info; + } + else + last_dcc_info->next_dcc = new_dcc_info; + } + } + + return dcc_info; + } + + return NULL; } /* - * plugin_unload: unload all scripts for a plugin type + * weechat_plugin_free_dcc_info: free dcc info struct list */ void -plugin_unload (int plugin_type, char *scriptname) +weechat_plugin_free_dcc_info (t_weechat_plugin *plugin, t_plugin_dcc_info *dcc_info) { - /* make gcc happy */ - (void) scriptname; + t_plugin_dcc_info *new_dcc_info; + + if (!plugin || !dcc_info) + return; -#ifdef PLUGINS - switch (plugin_type) + while (dcc_info) { - case PLUGIN_TYPE_PERL: -#ifdef PLUGIN_PERL - /* unload one Perl script is not allowed */ - wee_perl_end (); - wee_perl_init (); -#endif - break; - case PLUGIN_TYPE_PYTHON: -#ifdef PLUGIN_PYTHON - wee_python_end (); - wee_python_init (); -#endif - break; - case PLUGIN_TYPE_RUBY: -#ifdef PLUGIN_RUBY - wee_ruby_end (); - wee_ruby_init (); -#endif - break; + if (dcc_info->server) + free (dcc_info->server); + if (dcc_info->channel) + free (dcc_info->channel); + if (dcc_info->nick) + free (dcc_info->nick); + if (dcc_info->filename) + free (dcc_info->filename); + if (dcc_info->local_filename) + free (dcc_info->local_filename); + new_dcc_info = dcc_info->next_dcc; + free (dcc_info); + dcc_info = new_dcc_info; } -#else +} + +/* + * weechat_explode_string: explode a string + */ + +char ** +weechat_explode_string (t_weechat_plugin *plugin, char *string, + char *separators, int num_items_max, + int *num_items) +{ /* make gcc happy */ - (void) plugin_type; -#endif /* PLUGINS */ + (void) plugin; + + if (!plugin || !string || !separators || !num_items) + return NULL; + + return explode_string (string, separators, num_items_max, num_items); } /* - * plugin_end: shutdown plugin interface + * weechat_free_exploded_string: free exploded string */ void -plugin_end () +weechat_free_exploded_string (t_weechat_plugin *plugin, char **exploded_string) { - plugin_handler_free_all (&plugin_msg_handlers, &last_plugin_msg_handler); - plugin_handler_free_all (&plugin_cmd_handlers, &last_plugin_cmd_handler); - -#ifdef PLUGIN_PERL - wee_perl_end(); -#endif + /* make gcc happy */ + (void) plugin; -#ifdef PLUGIN_PYTHON - wee_python_end(); -#endif + free_exploded_string (exploded_string); +} -#ifdef PLUGIN_RUBY - wee_ruby_end(); -#endif +/* + * weechat_ascii_strcasecmp: locale and case independent string comparison + */ + +int +weechat_ascii_strcasecmp (t_weechat_plugin *plugin, + char *string1, char *string2) +{ + /* make gcc happy */ + (void) plugin; + + return ascii_strcasecmp (string1, string2); } diff --git a/src/plugins/plugins.h b/src/plugins/plugins.h index c729d0480..a8bd38cb0 100644 --- a/src/plugins/plugins.h +++ b/src/plugins/plugins.h @@ -21,68 +21,24 @@ #ifndef __WEECHAT_PLUGINS_H #define __WEECHAT_PLUGINS_H 1 +#include "weechat-plugin.h" #include "../gui/gui.h" -#define PLUGIN_TYPE_PERL 0 -#define PLUGIN_TYPE_PYTHON 1 -#define PLUGIN_TYPE_RUBY 2 +typedef int (t_weechat_init_func) (t_weechat_plugin *); +typedef void (t_weechat_end_func) (t_weechat_plugin *); -typedef struct t_plugin_script t_plugin_script; +extern t_weechat_plugin *weechat_plugins; +extern t_weechat_plugin *last_weechat_plugin; -struct t_plugin_script -{ - char *name; /* name of script */ - char *version; /* version of script */ - char *shutdown_func; /* function when script ends */ - char *description; /* description of script */ - t_plugin_script *prev_script; /* link to previous Perl script */ - t_plugin_script *next_script; /* link to next Perl script */ -}; - -typedef struct t_plugin_handler t_plugin_handler; - -struct t_plugin_handler -{ - int plugin_type; /* plugin type (Perl, Python, Ruby) */ - char *name; /* name of IRC command (PRIVMSG, ..) - or command (without first '/') */ - char *function_name; /* name of function (handler) */ - int running; /* 1 if currently running */ - /* (used to prevent circular call) */ - t_plugin_handler *prev_handler; /* link to previous handler */ - t_plugin_handler *next_handler; /* link to next handler */ -}; - -extern t_plugin_handler *plugin_msg_handlers; -extern t_plugin_handler *last_plugin_msg_handler; - -extern t_plugin_handler *plugin_cmd_handlers; -extern t_plugin_handler *last_plugin_cmd_handler; - -#ifdef PLUGIN_PERL -extern t_plugin_script *perl_scripts; -#endif - -#ifdef PLUGIN_PYTHON -extern t_plugin_script *python_scripts; -#endif - -#ifdef PLUGIN_RUBY -extern t_plugin_script *ruby_scripts; -#endif - -extern void plugin_auto_load (int, char *); +extern t_weechat_plugin *plugin_search (char *); +extern int plugin_msg_handler_exec (char *, char *, char *); +extern int plugin_cmd_handler_exec (char *, char *, char *); +extern t_weechat_plugin *plugin_load (char *); +extern void plugin_remove (t_weechat_plugin *); +extern void plugin_unload (t_weechat_plugin *); +extern void plugin_unload_name (char *); +extern void plugin_unload_all (); extern void plugin_init (); -extern void plugin_load (int, char *); -extern void plugin_unload (int, char *); -extern t_plugin_handler *plugin_handler_search (t_plugin_handler *, char *); -extern void plugin_handler_add (t_plugin_handler **, t_plugin_handler **, - int, char *, char *); -extern void plugin_handler_free_all_type (t_plugin_handler **, - t_plugin_handler **, int); -extern void plugin_event_msg (char *, char *, char *); -extern int plugin_exec_command (char *, char *, char *); -extern t_gui_buffer *plugin_find_buffer (char *, char *); extern void plugin_end (); #endif /* plugins.h */ diff --git a/src/plugins/scripts/Makefile.am b/src/plugins/scripts/Makefile.am new file mode 100644 index 000000000..3ff3b4501 --- /dev/null +++ b/src/plugins/scripts/Makefile.am @@ -0,0 +1,37 @@ +# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\" + +noinst_LTLIBRARIES = lib_weechat_plugins_scripts.la + +lib_weechat_plugins_scripts_la_SOURCES = weechat-script.h \ + weechat-script.c + +if PLUGIN_PERL +perl_dir = perl +endif + +if PLUGIN_PYTHON +python_dir = python +endif + +if PLUGIN_RUBY +#ruby_dir = ruby +endif + +SUBDIRS = . $(perl_dir) $(python_dir) $(ruby_dir) diff --git a/src/plugins/scripts/perl/Makefile.am b/src/plugins/scripts/perl/Makefile.am new file mode 100644 index 000000000..1327bab98 --- /dev/null +++ b/src/plugins/scripts/perl/Makefile.am @@ -0,0 +1,26 @@ +# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\" $(PERL_CFLAGS) + +libdir = ${weechat_libdir}/plugins + +lib_LTLIBRARIES = libperl.la + +libperl_la_SOURCES = weechat-perl.c +libperl_la_LDFLAGS = -module +libperl_la_LIBADD = ../lib_weechat_plugins_scripts.la $(PERL_LFLAGS) diff --git a/src/plugins/scripts/perl/weechat-perl.c b/src/plugins/scripts/perl/weechat-perl.c new file mode 100644 index 000000000..504a0a596 --- /dev/null +++ b/src/plugins/scripts/perl/weechat-perl.c @@ -0,0 +1,739 @@ +/* + * Copyright (c) 2003-2005 by FlashCode <flashcode@flashtux.org> + * See README for License detail, AUTHORS for developers list. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* weechat-perl.c: Perl plugin support for WeeChat */ + + +#include <stdlib.h> +#include <EXTERN.h> +#include <perl.h> +#include <XSUB.h> +#undef _ +#include "../../weechat-plugin.h" +#include "../weechat-script.h" + + +char plugin_name[] = "Perl"; +char plugin_version[] = "0.1"; +char plugin_description[] = "Perl scripts support"; + +t_weechat_plugin *perl_plugin; + +t_plugin_script *perl_scripts = NULL; +t_plugin_script *current_perl_script = NULL; + +static PerlInterpreter *my_perl = NULL; + +extern void boot_DynaLoader (pTHX_ CV* cv); + + +/* + * weechat_perl_exec: execute a Perl script + */ + +int +weechat_perl_exec (t_weechat_plugin *plugin, + t_plugin_script *script, + char *function, char *server, char *arguments) +{ + char empty_server[1] = { '\0' }; + char *argv[3]; + unsigned int count; + int return_code; + SV *sv; + + /* make gcc happy */ + (void) script; + + dSP; + ENTER; + SAVETMPS; + PUSHMARK(sp); + if (!server) + argv[0] = empty_server; + else + argv[0] = server; + argv[1] = arguments; + argv[2] = NULL; + count = perl_call_argv (function, G_EVAL | G_SCALAR, argv); + SPAGAIN; + + sv = GvSV (gv_fetchpv ("@", TRUE, SVt_PV)); + return_code = 1; + if (SvTRUE (sv)) + { + plugin->printf_server (plugin, "Perl error: %s", SvPV (sv, count)); + POPs; + } + else + { + if (count != 1) + { + plugin->printf_server (plugin, + "Perl error: too much values from \"%s\" (%d). Expected: 1.", + function, count); + } + else + return_code = POPi; + } + + PUTBACK; + FREETMPS; + LEAVE; + + return return_code; +} + +/* + * weechat_perl_handler: general message and command handler for Perl + */ + +int +weechat_perl_handler (t_weechat_plugin *plugin, + char *server, char *command, char *arguments, + char *handler_args, void *handler_pointer) +{ + /* make gcc happy */ + (void) command; + + weechat_perl_exec (plugin, (t_plugin_script *)handler_pointer, + handler_args, server, arguments); + return 1; +} + +/* + * weechat::register: startup function for all WeeChat Perl scripts + */ + +static XS (XS_weechat_register) +{ + char *name, *version, *shutdown_func, *description; + unsigned int integer; + dXSARGS; + + /* make gcc happy */ + (void) items; + (void) cv; + + if (items != 4) + { + perl_plugin->printf_server (perl_plugin, + "Perl error: wrong parameters for " + "\"register\" function"); + XSRETURN (0); + return; + } + + name = SvPV (ST (0), integer); + version = SvPV (ST (1), integer); + shutdown_func = SvPV (ST (2), integer); + description = SvPV (ST (3), integer); + + if (weechat_script_search (perl_plugin, &perl_scripts, name)) + { + /* error: another script already exists with this name! */ + perl_plugin->printf_server (perl_plugin, + "Perl error: unable to register " + "\"%s\" script (another script " + "already exists with this name)", + name); + XSRETURN (0); + return; + } + + /* register script */ + current_perl_script = weechat_script_add (perl_plugin, + &perl_scripts, + "", + name, version, shutdown_func, + description); + if (current_perl_script) + { + perl_plugin->printf_server (perl_plugin, + "Perl: registered script \"%s\", " + "version %s (%s)", + name, version, description); + } + else + { + perl_plugin->printf_server (perl_plugin, + "Perl error: unable to load script " + "\"%s\" (not enough memory)", + name); + XSRETURN (0); + return; + } + XSRETURN (1); +} + +/* + * weechat::print: print message into a buffer (current or specified one) + */ + +static XS (XS_weechat_print) +{ + unsigned int integer; + char *message, *channel_name, *server_name; + dXSARGS; + + /* make gcc happy */ + (void) cv; + + if ((items < 1) || (items > 3)) + { + perl_plugin->printf_server (perl_plugin, + "Perl error: wrong parameters for " + "\"print\" function"); + XSRETURN_NO; + return; + } + + channel_name = NULL; + server_name = NULL; + + if (items > 1) + { + channel_name = SvPV (ST (1), integer); + if (items > 2) + server_name = SvPV (ST (2), integer); + } + + message = SvPV (ST (0), integer); + perl_plugin->printf (perl_plugin, + server_name, channel_name, + "%s", message); + XSRETURN_YES; +} + +/* + * weechat::print_infobar: print message to infobar + */ + +static XS (XS_weechat_print_infobar) +{ + unsigned int integer; + dXSARGS; + + /* make gcc happy */ + (void) cv; + + if (items != 2) + { + perl_plugin->printf_server (perl_plugin, + "Perl error: wrong parameters for " + "\"print_infobar\" function"); + XSRETURN_NO; + } + + perl_plugin->infobar_printf (perl_plugin, + SvIV (ST (0)), + SvPV (ST (1), integer)); + XSRETURN_YES; +} + +/* + * weechat::command: send command to server + */ + +static XS (XS_weechat_command) +{ + unsigned int integer; + char *channel_name, *server_name; + dXSARGS; + + /* make gcc happy */ + (void) cv; + + if ((items < 1) || (items > 3)) + { + perl_plugin->printf_server (perl_plugin, + "Perl error: wrong parameters for " + "\"command\" function"); + XSRETURN_NO; + return; + } + + channel_name = NULL; + server_name = NULL; + + if (items > 1) + { + channel_name = SvPV (ST (1), integer); + if (items > 2) + server_name = SvPV (ST (2), integer); + } + + perl_plugin->exec_command (perl_plugin, + server_name, channel_name, + SvPV (ST (0), integer)); + XSRETURN_YES; +} + +/* + * weechat::add_message_handler: add handler for messages (privmsg, ...) + */ + +static XS (XS_weechat_add_message_handler) +{ + char *name, *function; + unsigned int integer; + dXSARGS; + + /* make gcc happy */ + (void) cv; + + if (items != 2) + { + perl_plugin->printf_server (perl_plugin, + "Perl error: wrong parameters for " + "\"add_message_handler\" function"); + XSRETURN_NO; + } + + name = SvPV (ST (0), integer); + function = SvPV (ST (1), integer); + perl_plugin->msg_handler_add (perl_plugin, name, + weechat_perl_handler, function, + (void *)current_perl_script); + XSRETURN_YES; +} + +/* + * weechat::add_command_handler: add command handler (define/redefine commands) + */ + +static XS (XS_weechat_add_command_handler) +{ + char *command, *function, *description, *arguments, *arguments_description; + unsigned int integer; + dXSARGS; + + /* make gcc happy */ + (void) cv; + + if (items < 2) + { + perl_plugin->printf_server (perl_plugin, + "Perl error: wrong parameters for " + "\"add_command_handler\" function"); + XSRETURN_NO; + } + + command = SvPV (ST (0), integer); + function = SvPV (ST (1), integer); + description = (items >= 3) ? SvPV (ST (2), integer) : NULL; + arguments = (items >= 4) ? SvPV (ST (3), integer) : NULL; + arguments_description = (items >= 5) ? SvPV (ST (4), integer) : NULL; + + perl_plugin->cmd_handler_add (perl_plugin, + command, + description, + arguments, + arguments_description, + weechat_perl_handler, + function, + (void *)current_perl_script); + XSRETURN_YES; +} + +/* + * weechat::get_info: get various infos + */ + +static XS (XS_weechat_get_info) +{ + char *arg, *info, *server_name, *channel_name; + unsigned int integer; + dXSARGS; + + /* make gcc happy */ + (void) cv; + + if ((items < 1) || (items > 3)) + { + perl_plugin->printf_server (perl_plugin, + "Perl error: wrong parameters for " + "\"get_info\" function"); + XSRETURN_NO; + } + + server_name = NULL; + channel_name = NULL; + + if (items >= 2) + server_name = SvPV (ST (1), integer); + if (items == 3) + channel_name = SvPV (ST (2), integer); + + arg = SvPV (ST (0), integer); + if (arg) + { + info = perl_plugin->get_info (perl_plugin, arg, server_name, channel_name); + + if (info) + { + XST_mPV (0, info); + free (info); + } + else + XST_mPV (0, ""); + } + + XSRETURN (1); +} + +/* + * weechat::get_dcc_info: get infos about DCC + */ + +static XS (XS_weechat_get_dcc_info) +{ + t_plugin_dcc_info *dcc_info, *ptr_dcc; + int dcc_count; + dXSARGS; + + /* make gcc happy */ + (void) cv; + (void) items; + + dcc_info = perl_plugin->get_dcc_info (perl_plugin); + dcc_count = 0; + + if (!dcc_info) + { + XSRETURN (0); + return; + } + + for (ptr_dcc = dcc_info; ptr_dcc; ptr_dcc = ptr_dcc->next_dcc) + { + HV *infohash = (HV *) sv_2mortal((SV *) newHV()); + + hv_store (infohash, "server", 6, newSVpv (ptr_dcc->server, 0), 0); + hv_store (infohash, "channel", 7, newSVpv (ptr_dcc->channel, 0), 0); + hv_store (infohash, "type", 4, newSViv (ptr_dcc->type), 0); + hv_store (infohash, "status", 6, newSViv (ptr_dcc->status), 0); + hv_store (infohash, "start_time", 10, newSViv (ptr_dcc->start_time), 0); + hv_store (infohash, "start_transfer", 14, newSViv (ptr_dcc->start_transfer), 0); + hv_store (infohash, "address", 7, newSViv (ptr_dcc->addr), 0); + hv_store (infohash, "port", 4, newSViv (ptr_dcc->port), 0); + hv_store (infohash, "nick", 4, newSVpv (ptr_dcc->nick, 0), 0); + hv_store (infohash, "remote_file", 11, newSVpv (ptr_dcc->filename, 0), 0); + hv_store (infohash, "local_file", 10, newSVpv (ptr_dcc->local_filename, 0), 0); + hv_store (infohash, "filename_suffix", 15, newSViv (ptr_dcc->filename_suffix), 0); + hv_store (infohash, "size", 4, newSVnv (ptr_dcc->size), 0); + hv_store (infohash, "pos", 3, newSVnv (ptr_dcc->pos), 0); + hv_store (infohash, "start_resume", 12, newSVnv (ptr_dcc->start_resume), 0); + hv_store (infohash, "cps", 3, newSViv (ptr_dcc->bytes_per_sec), 0); + + XPUSHs(newRV((SV *) infohash)); + dcc_count++; + } + + perl_plugin->free_dcc_info (perl_plugin, dcc_info); + + XSRETURN (dcc_count); +} + +/* + * weechat_perl_xs_init: initialize subroutines + */ + +void +weechat_perl_xs_init (pTHX) +{ + newXS ("DynaLoader::boot_DynaLoader", boot_DynaLoader, __FILE__); + + newXS ("weechat::register", XS_weechat_register, "weechat"); + newXS ("weechat::print", XS_weechat_print, "weechat"); + newXS ("weechat::print_infobar", XS_weechat_print_infobar, "weechat"); + newXS ("weechat::command", XS_weechat_command, "weechat"); + newXS ("weechat::add_message_handler", XS_weechat_add_message_handler, "weechat"); + newXS ("weechat::add_command_handler", XS_weechat_add_command_handler, "weechat"); + newXS ("weechat::get_info", XS_weechat_get_info, "weechat"); + newXS ("weechat::get_dcc_info", XS_weechat_get_dcc_info, "weechat"); +} + +/* + * wee_perl_load: load a Perl script + */ + +int +weechat_perl_load (t_weechat_plugin *plugin, char *filename) +{ + plugin->printf_server (plugin, "Loading Perl script \"%s\"", filename); + return weechat_perl_exec (plugin, NULL, "wee_perl_load_eval_file", filename, ""); +} + +/* + * weechat_perl_unload: unload a Perl script + */ + +void +weechat_perl_unload (t_weechat_plugin *plugin, t_plugin_script *script) +{ + if (script->shutdown_func && script->shutdown_func[0]) + weechat_perl_exec (plugin, script, script->shutdown_func, "", ""); + + weechat_script_remove (plugin, &perl_scripts, script); +} + +/* + * weechat_perl_unload_all: unload all Perl scripts + */ + +void +weechat_perl_unload_all (t_weechat_plugin *plugin) +{ + plugin->printf_server (plugin, + "Unloading all Perl scripts"); + while (perl_scripts) + weechat_perl_unload (plugin, perl_scripts); + + plugin->printf_server (plugin, + "Perl scripts unloaded"); +} + +/* + * weechat_perl_cmd: /perl command handler + */ + +int +weechat_perl_cmd (t_weechat_plugin *plugin, + char *server, char *command, char *arguments, + char *handler_args, void *handler_pointer) +{ + int argc, path_length, handler_found; + char **argv, *path_script, *dir_home; + t_plugin_script *ptr_plugin_script; + t_plugin_msg_handler *ptr_msg_handler; + t_plugin_cmd_handler *ptr_cmd_handler; + + /* make gcc happy */ + (void) server; + (void) command; + (void) handler_args; + (void) handler_pointer; + + argv = plugin->explode_string (plugin, arguments, " ", 0, &argc); + + switch (argc) + { + case 0: + /* list registered Perl scripts */ + plugin->printf_server (plugin, ""); + plugin->printf_server (plugin, "Registered Perl scripts:"); + if (perl_scripts) + { + for (ptr_plugin_script = perl_scripts; ptr_plugin_script; + ptr_plugin_script = ptr_plugin_script->next_script) + { + plugin->printf_server (plugin, " %s v%s%s%s", + ptr_plugin_script->name, + ptr_plugin_script->version, + (ptr_plugin_script->description[0]) ? " - " : "", + ptr_plugin_script->description); + } + } + else + plugin->printf_server (plugin, " (none)"); + + /* list Perl message handlers */ + plugin->printf_server (plugin, ""); + plugin->printf_server (plugin, "Perl message handlers:"); + handler_found = 0; + for (ptr_msg_handler = plugin->msg_handlers; ptr_msg_handler; + ptr_msg_handler = ptr_msg_handler->next_handler) + { + if (ptr_msg_handler->msg_handler_args) + { + handler_found = 1; + plugin->printf_server (plugin, " IRC(%s) => Perl(%s)", + ptr_msg_handler->irc_command, + ptr_msg_handler->msg_handler_args); + } + } + if (!handler_found) + plugin->printf_server (plugin, " (none)"); + + /* list Perl command handlers */ + plugin->printf_server (plugin, ""); + plugin->printf_server (plugin, "Perl command handlers:"); + handler_found = 0; + for (ptr_cmd_handler = plugin->cmd_handlers; ptr_cmd_handler; + ptr_cmd_handler = ptr_cmd_handler->next_handler) + { + if (ptr_cmd_handler->cmd_handler_args) + { + handler_found = 1; + plugin->printf_server (plugin, " /%s => Perl(%s)", + ptr_cmd_handler->command, + ptr_cmd_handler->cmd_handler_args); + } + } + if (!handler_found) + plugin->printf_server (plugin, " (none)"); + break; + case 1: + if (plugin->ascii_strcasecmp (plugin, argv[0], "autoload") == 0) + weechat_script_auto_load (plugin, "perl", weechat_perl_load); + else if (plugin->ascii_strcasecmp (plugin, argv[0], "reload") == 0) + { + weechat_perl_unload_all (plugin); + weechat_script_auto_load (plugin, "perl", weechat_perl_load); + } + else if (plugin->ascii_strcasecmp (plugin, argv[0], "unload") == 0) + weechat_perl_unload_all (plugin); + break; + case 2: + if (plugin->ascii_strcasecmp (plugin, argv[0], "load") == 0) + { + /* load Perl script */ + if ((strstr (argv[1], "/")) || (strstr (argv[1], "\\"))) + path_script = NULL; + else + { + dir_home = plugin->get_info (plugin, "weechat_dir", NULL, NULL); + if (dir_home) + { + path_length = strlen (dir_home) + strlen (argv[1]) + 16; + path_script = (char *) malloc (path_length * sizeof (char)); + if (path_script) + snprintf (path_script, path_length, "%s/perl/%s", + dir_home, argv[1]); + else + path_script = NULL; + free (dir_home); + } + else + path_script = NULL; + } + weechat_perl_load (plugin, (path_script) ? path_script : argv[1]); + if (path_script) + free (path_script); + } + else + { + plugin->printf_server (plugin, + "Perl error: unknown option for " + "\"perl\" command"); + } + break; + default: + plugin->printf_server (plugin, + "Perl error: wrong argument count for \"perl\" command"); + } + plugin->free_exploded_string (plugin, argv); + return 1; +} + +/* + * weechat_plugin_init: initialize Perl plugin + */ + +int +weechat_plugin_init (t_weechat_plugin *plugin) +{ + char *perl_args[] = { "", "-e", "0" }; + /* Following Perl code is extracted/modified from X-Chat IRC client */ + /* X-Chat is (c) 1998-2005 Peter Zelezny */ + char *weechat_perl_func = + { + "sub wee_perl_load_file" + "{" + " my $filename = shift;" + " local $/ = undef;" + " open FILE, $filename or return \"__WEECHAT_ERROR__\";" + " $_ = <FILE>;" + " close FILE;" + " return $_;" + "}" + "sub wee_perl_load_eval_file" + "{" + " my $filename = shift;" + " my $content = wee_perl_load_file ($filename);" + " if ($content eq \"__WEECHAT_ERROR__\")" + " {" + " weechat::print \"Perl error: script '$filename' not found.\", \"\";" + " return 1;" + " }" + " eval $content;" + " if ($@)" + " {" + " weechat::print \"Perl error: unable to load script '$filename':\", \"\";" + " weechat::print \"$@\";" + " return 2;" + " }" + " return 0;" + "}" + "$SIG{__WARN__} = sub { weechat::print \"$_[0]\", \"\"; };" + }; + + perl_plugin = plugin; + + plugin->printf_server (plugin, "Loading Perl module \"weechat\""); + + my_perl = perl_alloc (); + if (!my_perl) + { + plugin->printf_server (plugin, + "Perl error: unable to initialize Perl"); + return 0; + } + perl_construct (my_perl); + perl_parse (my_perl, weechat_perl_xs_init, 3, perl_args, NULL); + eval_pv (weechat_perl_func, TRUE); + + plugin->cmd_handler_add (plugin, "perl", + "list/load/unload Perl scripts", + "[load filename] | [autoload] | [reload] | [unload]", + "filename: Perl script (file) to load\n\n" + "Without argument, /perl command lists all loaded Perl scripts.", + weechat_perl_cmd, NULL, NULL); + + plugin->mkdir_home (plugin, "perl"); + plugin->mkdir_home (plugin, "perl/autoload"); + + weechat_script_auto_load (plugin, "perl", weechat_perl_load); + + /* init ok */ + return 1; +} + +/* + * weechat_plugin_end: shutdown Perl interface + */ + +void +weechat_plugin_end (t_weechat_plugin *plugin) +{ + /* unload all scripts */ + weechat_perl_unload_all (plugin); + + /* free Perl interpreter */ + if (my_perl) + { + perl_destruct (my_perl); + perl_free (my_perl); + my_perl = NULL; + } + + perl_plugin->printf_server (perl_plugin, + "Perl plugin ended"); +} diff --git a/src/plugins/scripts/python/Makefile.am b/src/plugins/scripts/python/Makefile.am new file mode 100644 index 000000000..fed11c566 --- /dev/null +++ b/src/plugins/scripts/python/Makefile.am @@ -0,0 +1,26 @@ +# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\" $(PYTHON_CFLAGS) + +libdir = ${weechat_libdir}/plugins + +lib_LTLIBRARIES = libpython.la + +libpython_la_SOURCES = weechat-python.c +libpython_la_LDFLAGS = -module +libpython_la_LIBADD = ../lib_weechat_plugins_scripts.la $(PYTHON_LFLAGS) diff --git a/src/plugins/scripts/python/weechat-python.c b/src/plugins/scripts/python/weechat-python.c new file mode 100644 index 000000000..9a4f54d63 --- /dev/null +++ b/src/plugins/scripts/python/weechat-python.c @@ -0,0 +1,855 @@ +/* + * Copyright (c) 2003-2005 by FlashCode <flashcode@flashtux.org> + * See README for License detail, AUTHORS for developers list. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* weechat-python.c: Python plugin support for WeeChat */ + + +#include <Python.h> +#include <stdlib.h> +#include <string.h> +#undef _ +#include "../../weechat-plugin.h" +#include "../weechat-script.h" + + +char plugin_name[] = "Python"; +char plugin_version[] = "0.1"; +char plugin_description[] = "Python scripts support"; + +t_weechat_plugin *python_plugin; + +t_plugin_script *python_scripts = NULL; +t_plugin_script *python_current_script = NULL; +char *python_current_script_filename = NULL; +PyThreadState *python_mainThreadState = NULL; + + +/* + * weechat_python_exec: execute a Python script + */ + +int +weechat_python_exec (t_weechat_plugin *plugin, + t_plugin_script *script, + char *function, char *server, char *arguments) +{ + PyObject *evMain; + PyObject *evDict; + PyObject *evFunc; + + PyThreadState_Swap (NULL); + + PyEval_AcquireLock (); + + PyThreadState_Swap (script->interpreter); + + evMain = PyImport_AddModule ((char *) "__main__"); + evDict = PyModule_GetDict (evMain); + evFunc = PyDict_GetItemString (evDict, function); + + if ( !(evFunc && PyCallable_Check (evFunc)) ) + { + plugin->printf_server (plugin, + "Python error: unable to run function \"%s\"", + function); + PyEval_ReleaseLock(); + return 1; + } + + PyObject_CallFunction(evFunc, "ss", server == NULL ? "" : server, arguments == NULL ? "" : arguments); + + PyEval_ReleaseLock(); + + return 0; +} + +/* + * weechat_python_handler: general message and command handler for Python + */ + +int +weechat_python_handler (t_weechat_plugin *plugin, + char *server, char *command, char *arguments, + char *handler_args, void *handler_pointer) +{ + /* make gcc happy */ + (void) command; + + weechat_python_exec (plugin, (t_plugin_script *)handler_pointer, + handler_args, server, arguments); + return 1; +} + +/* + * weechat.register: startup function for all WeeChat Python scripts + */ + +static PyObject * +weechat_python_register (PyObject *self, PyObject *args) +{ + char *name, *version, *shutdown_func, *description; + + /* make gcc happy */ + (void) self; + + name = NULL; + version = NULL; + shutdown_func = NULL; + description = NULL; + + if (!PyArg_ParseTuple (args, "ssss", &name, &version, &shutdown_func, &description)) + { + python_plugin->printf_server (python_plugin, + "Python error: wrong parameters for " + "\"register\" function"); + return NULL; + } + + if (weechat_script_search (python_plugin, &python_scripts, name)) + { + /* error: another scripts already exists with this name! */ + python_plugin->printf_server (python_plugin, + "Python error: unable to register " + "\"%s\" script (another script " + "already exists with this name)", + name); + return NULL; + } + + /* register script */ + python_current_script = weechat_script_add (python_plugin, + &python_scripts, + (python_current_script_filename) ? + python_current_script_filename : "", + name, version, shutdown_func, + description); + if (python_current_script) + { + python_plugin->printf_server (python_plugin, + "Python: registered script \"%s\", " + "version %s (%s)", + name, version, description); + } + else + { + python_plugin->printf_server (python_plugin, + "Python error: unable to load script " + "\"%s\" (not enough memory)", + name); + return NULL; + } + + Py_INCREF (Py_None); + return Py_None; +} + +/* + * weechat.print: print message into a buffer (current or specified one) + */ + +static PyObject * +weechat_python_print (PyObject *self, PyObject *args) +{ + char *message, *channel_name, *server_name; + + /* make gcc happy */ + (void) self; + + message = NULL; + channel_name = NULL; + server_name = NULL; + + if (!PyArg_ParseTuple (args, "s|ss", &message, &channel_name, &server_name)) + { + python_plugin->printf_server (python_plugin, + "Python error: wrong parameters for " + "\"print\" function"); + return NULL; + } + + python_plugin->printf (python_plugin, + server_name, channel_name, + "%s", message); + return Py_BuildValue ("i", 1); +} + +/* + * weechat.print_infobar: print message to infobar + */ + +static PyObject * +weechat_python_print_infobar (PyObject *self, PyObject *args) +{ + int delay; + char *message; + + /* make gcc happy */ + (void) self; + + delay = 1; + message = NULL; + + if (!PyArg_ParseTuple (args, "is", &delay, &message)) + { + python_plugin->printf_server (python_plugin, + "Python error: wrong parameters for " + "\"print_infobar\" function"); + return NULL; + } + + python_plugin->infobar_printf (python_plugin, delay, message); + + Py_INCREF (Py_None); + return Py_None; +} + +/* + * weechat.command: send command to server + */ + +static PyObject * +weechat_python_command (PyObject *self, PyObject *args) +{ + char *command, *channel_name, *server_name; + + /* make gcc happy */ + (void) self; + + command = NULL; + channel_name = NULL; + server_name = NULL; + + if (!PyArg_ParseTuple (args, "s|ss", &command, &channel_name, &server_name)) + { + python_plugin->printf_server (python_plugin, + "Python error: wrong parameters for " + "\"command\" function"); + return NULL; + } + + python_plugin->exec_command (python_plugin, + server_name, channel_name, + command); + return Py_BuildValue ("i", 1); +} + +/* + * weechat.add_message_handler: add handler for messages + */ + +static PyObject * +weechat_python_add_message_handler (PyObject *self, PyObject *args) +{ + char *message, *function; + + /* make gcc happy */ + (void) self; + + message = NULL; + function = NULL; + + if (!PyArg_ParseTuple (args, "ss", &message, &function)) + { + python_plugin->printf_server (python_plugin, + "Python error: wrong parameters for " + "\"add_message_handler\" function"); + return NULL; + } + + if (python_current_script) + python_plugin->msg_handler_add (python_plugin, message, + weechat_python_handler, function, + (void *)python_current_script); + else + { + python_plugin->printf_server (python_plugin, + "Python error: unable to add message handler, " + "script not initialized"); + return NULL; + } + + Py_INCREF (Py_None); + return Py_None; +} + +/* + * weechat.add_command_handler: define/redefines commands + */ + +static PyObject * +weechat_python_add_command_handler (PyObject *self, PyObject *args) +{ + char *command, *function, *description, *arguments, *arguments_description; + + /* make gcc happy */ + (void) self; + + command = NULL; + function = NULL; + description = NULL; + arguments = NULL; + arguments_description = NULL; + + if (!PyArg_ParseTuple (args, "ss|sss", &command, &function, + &description, &arguments, &arguments_description)) + { + python_plugin->printf_server (python_plugin, + "Python error: wrong parameters for " + "\"add_command_handler\" function"); + return NULL; + } + + if (python_current_script) + python_plugin->cmd_handler_add (python_plugin, + command, + description, + arguments, + arguments_description, + weechat_python_handler, + function, + (void *)python_current_script); + else + { + python_plugin->printf_server (python_plugin, + "Python error: unable to add command handler, " + "script not initialized"); + return NULL; + } + + Py_INCREF (Py_None); + return Py_None; +} + +/* + * weechat.get_info: get various infos + */ + +static PyObject * +weechat_python_get_info (PyObject *self, PyObject *args) +{ + char *arg, *server_name, *channel_name, *info; + PyObject *object; + + /* make gcc happy */ + (void) self; + + arg = NULL; + server_name = NULL; + channel_name = NULL; + + if (!PyArg_ParseTuple (args, "s|ss", &arg, &server_name, &channel_name)) + { + python_plugin->printf_server (python_plugin, + "Python error: wrong parameters for " + "\"get_info\" function"); + return NULL; + } + + if (arg) + { + info = python_plugin->get_info (python_plugin, arg, server_name, channel_name); + + if (info) + { + object = Py_BuildValue ("s", info); + free (info); + return object; + } + else + return Py_BuildValue ("s", ""); + } + + return Py_BuildValue ("i", 1); +} + +/* + * weechat.get_dcc_info: get infos about DCC + */ + +static PyObject * +weechat_python_get_dcc_info (PyObject *self, PyObject *args) +{ + t_plugin_dcc_info *dcc_info, *ptr_dcc; + int dcc_count; + PyObject *list, *listvalue; + + /* make gcc happy */ + (void) self; + (void) args; + + dcc_info = python_plugin->get_dcc_info (python_plugin); + dcc_count = 0; + + if (!dcc_info) + return Py_None; + + for (ptr_dcc = dcc_info; ptr_dcc; ptr_dcc = ptr_dcc->next_dcc) + { + dcc_count++; + } + + list = PyList_New (dcc_count); + + if (!list) + { + python_plugin->free_dcc_info (python_plugin, dcc_info); + return Py_None; + } + + dcc_count = 0; + for(ptr_dcc = dcc_info; ptr_dcc; ptr_dcc = ptr_dcc->next_dcc) + { + listvalue = Py_BuildValue ("{s:s,s:s,s:i,s:i,s:k,s:k,s:k,s:i,s:s,s:s," + "s:s,s:s,s:k,s:k,s:k,s:k}", + "server", ptr_dcc->server, + "channel", ptr_dcc->channel, + "type", ptr_dcc->type, + "status", ptr_dcc->status, + "start_time", ptr_dcc->start_time, + "start_transfer", ptr_dcc->start_transfer, + "address", ptr_dcc->addr, + "port", ptr_dcc->port, + "nick", ptr_dcc->nick, + "remote_file", ptr_dcc->filename, + "local_file", ptr_dcc->local_filename, + "filename_suffix", ptr_dcc->filename_suffix, + "size", ptr_dcc->size, + "pos", ptr_dcc->pos, + "start_resume", ptr_dcc->start_resume, + "cps", ptr_dcc->bytes_per_sec); + if (listvalue) + { + if (PyList_SetItem (list, dcc_count, listvalue) != 0) + { + PyMem_Free (listvalue); + PyMem_Free (list); + python_plugin->free_dcc_info (python_plugin, dcc_info); + return Py_None; + } + PyMem_Free (listvalue); + } + else + { + python_plugin->free_dcc_info (python_plugin, dcc_info); + return Py_None; + } + dcc_count++; + } + + python_plugin->free_dcc_info (python_plugin, dcc_info); + + return list; +} + +/* + * Python subroutines + */ + +static +PyMethodDef weechat_funcs[] = { + { "register", weechat_python_register, METH_VARARGS, "" }, + { "prnt", weechat_python_print, METH_VARARGS, "" }, + { "print_infobar", weechat_python_print_infobar, METH_VARARGS, "" }, + { "command", weechat_python_command, METH_VARARGS, "" }, + { "add_message_handler", weechat_python_add_message_handler, METH_VARARGS, "" }, + { "add_command_handler", weechat_python_add_command_handler, METH_VARARGS, "" }, + { "get_info", weechat_python_get_info, METH_VARARGS, "" }, + { "get_dcc_info", weechat_python_get_dcc_info, METH_VARARGS, "" }, + { NULL, NULL, 0, NULL } +}; + +/* + * weechat_python_load: load a Python script + */ + +int +weechat_python_load (t_weechat_plugin *plugin, char *filename) +{ + FILE *fp; + PyThreadState *python_current_interpreter; + + plugin->printf_server (plugin, "Loading Python script \"%s\"", filename); + + if ((fp = fopen (filename, "r")) == NULL) + { + plugin->printf_server (plugin, + "Python error: unable to open file \"%s\"", + filename); + return 0; + } + + python_current_script = NULL; + + PyThreadState_Swap(NULL); + + PyEval_AcquireLock(); + + python_current_interpreter = PyThreadState_New (python_mainThreadState->interp); + + if (python_current_interpreter == NULL) + { + plugin->printf_server (plugin, + "Python error: unable to create new sub-interpreter"); + PyEval_ReleaseLock(); + fclose (fp); + return 0; + } + + PyThreadState_Swap (python_current_interpreter); + + if (Py_InitModule ("weechat", weechat_funcs) == NULL) + { + plugin->printf_server (plugin, + "Python error: unable to initialize WeeChat module"); + PyThreadState_Swap (NULL); + PyThreadState_Clear (python_current_interpreter); + PyThreadState_Delete (python_current_interpreter); + PyEval_ReleaseLock (); + fclose (fp); + return 0; + } + + if (PyRun_SimpleString ( + "import weechat, sys, string\n" + + "class weechatStdout:\n" + "\tdef write(self, str):\n" + "\t\tstr = string.strip(str)\n" + "\t\tif str != \"\":\n" + "\t\t\tweechat.prnt(\"Python stdout : \" + str, \"\")\n" + + "class weechatStderr:\n" + "\tdef write(self, str):\n" + "\t\tstr = string.strip(str)\n" + "\t\tif str != \"\":\n" + "\t\t\tweechat.prnt(\"Python stderr : \" + str, \"\")\n" + + "sys.stdout = weechatStdout()\n" + "sys.stderr = weechatStderr()\n" + ) != 0) + { + plugin->printf_server (plugin, + "Python warning: unable to redirect stdout and stderr"); + } + + python_current_script_filename = strdup (filename); + + if (PyRun_SimpleFile (fp, filename) != 0) + { + plugin->printf_server (plugin, + "Python error: unable to parse file \"%s\"", + filename); + free (python_current_script_filename); + PyThreadState_Swap (NULL); + PyThreadState_Clear (python_current_interpreter); + PyThreadState_Delete (python_current_interpreter); + PyEval_ReleaseLock (); + fclose (fp); + return 0; + } + + fclose (fp); + free (python_current_script_filename); + + if (python_current_script == NULL) + { + plugin->printf_server (plugin, + "Python error: function \"register\" not found " + "in file \"%s\"", + filename); + PyThreadState_Swap (NULL); + PyThreadState_Clear (python_current_interpreter); + PyThreadState_Delete (python_current_interpreter); + PyEval_ReleaseLock (); + return 0; + } + + python_current_script->interpreter = (PyThreadState *) python_current_interpreter; + PyThreadState_Swap (NULL); + PyEval_ReleaseLock (); + + return 1; +} + +/* + * weechat_python_unload: unload a Python script + */ + +void +weechat_python_unload (t_weechat_plugin *plugin, t_plugin_script *script) +{ + plugin->printf_server (plugin, + "Unloading Python script \"%s\"", + script->name); + + if (script->shutdown_func[0]) + weechat_python_exec (plugin, script, script->shutdown_func, "", ""); + + PyThreadState_Swap (NULL); + PyThreadState_Clear (script->interpreter); + PyThreadState_Delete (script->interpreter); + + weechat_script_remove (plugin, &python_scripts, script); +} + +/* + * weechat_python_unload_name: unload a Python script by name + */ + +void +weechat_python_unload_name (t_weechat_plugin *plugin, char *name) +{ + t_plugin_script *ptr_script; + + ptr_script = weechat_script_search (plugin, &python_scripts, name); + if (ptr_script) + { + weechat_python_unload (plugin, ptr_script); + plugin->printf_server (plugin, + "Python script \"%s\" unloaded", + name); + } + else + { + plugin->printf_server (plugin, + "Python error: script \"%s\" not loaded", + name); + } +} + +/* + * weechat_python_unload_all: unload all Python scripts + */ + +void +weechat_python_unload_all (t_weechat_plugin *plugin) +{ + plugin->printf_server (plugin, + "Unloading all Python scripts"); + while (python_scripts) + weechat_python_unload (plugin, python_scripts); + + plugin->printf_server (plugin, + "Python scripts unloaded"); +} + +/* + * weechat_python_cmd: /python command handler + */ + +int +weechat_python_cmd (t_weechat_plugin *plugin, + char *server, char *command, char *arguments, + char *handler_args, void *handler_pointer) +{ + int argc, path_length, handler_found; + char **argv, *path_script, *dir_home; + t_plugin_script *ptr_plugin_script; + t_plugin_msg_handler *ptr_msg_handler; + t_plugin_cmd_handler *ptr_cmd_handler; + + /* make gcc happy */ + (void) server; + (void) command; + (void) handler_args; + (void) handler_pointer; + + argv = plugin->explode_string (plugin, arguments, " ", 0, &argc); + + switch (argc) + { + case 0: + /* list registered Python scripts */ + plugin->printf_server (plugin, ""); + plugin->printf_server (plugin, "Registered Python scripts:"); + if (python_scripts) + { + for (ptr_plugin_script = python_scripts; ptr_plugin_script; + ptr_plugin_script = ptr_plugin_script->next_script) + { + plugin->printf_server (plugin, " %s v%s%s%s", + ptr_plugin_script->name, + ptr_plugin_script->version, + (ptr_plugin_script->description[0]) ? " - " : "", + ptr_plugin_script->description); + } + } + else + plugin->printf_server (plugin, " (none)"); + + /* list Python message handlers */ + plugin->printf_server (plugin, ""); + plugin->printf_server (plugin, "Python message handlers:"); + handler_found = 0; + for (ptr_msg_handler = plugin->msg_handlers; ptr_msg_handler; + ptr_msg_handler = ptr_msg_handler->next_handler) + { + if (ptr_msg_handler->msg_handler_args) + { + handler_found = 1; + plugin->printf_server (plugin, " IRC(%s) => Python(%s)", + ptr_msg_handler->irc_command, + ptr_msg_handler->msg_handler_args); + } + } + if (!handler_found) + plugin->printf_server (plugin, " (none)"); + + /* list Python command handlers */ + plugin->printf_server (plugin, ""); + plugin->printf_server (plugin, "Python command handlers:"); + handler_found = 0; + for (ptr_cmd_handler = plugin->cmd_handlers; ptr_cmd_handler; + ptr_cmd_handler = ptr_cmd_handler->next_handler) + { + if (ptr_cmd_handler->cmd_handler_args) + { + handler_found = 1; + plugin->printf_server (plugin, " /%s => Python(%s)", + ptr_cmd_handler->command, + ptr_cmd_handler->cmd_handler_args); + } + } + if (!handler_found) + plugin->printf_server (plugin, " (none)"); + break; + case 1: + if (plugin->ascii_strcasecmp (plugin, argv[0], "autoload") == 0) + weechat_script_auto_load (plugin, "python", weechat_python_load); + else if (plugin->ascii_strcasecmp (plugin, argv[0], "reload") == 0) + { + weechat_python_unload_all (plugin); + weechat_script_auto_load (plugin, "python", weechat_python_load); + } + else if (plugin->ascii_strcasecmp (plugin, argv[0], "unload") == 0) + weechat_python_unload_all (plugin); + break; + case 2: + if (plugin->ascii_strcasecmp (plugin, argv[0], "load") == 0) + { + /* load Python script */ + if ((strstr (argv[1], "/")) || (strstr (argv[1], "\\"))) + path_script = NULL; + else + { + dir_home = plugin->get_info (plugin, "weechat_dir", NULL, NULL); + if (dir_home) + { + path_length = strlen (dir_home) + strlen (argv[1]) + 16; + path_script = (char *) malloc (path_length * sizeof (char)); + if (path_script) + snprintf (path_script, path_length, "%s/python/%s", + dir_home, argv[1]); + else + path_script = NULL; + free (dir_home); + } + else + path_script = NULL; + } + weechat_python_load (plugin, (path_script) ? path_script : argv[1]); + if (path_script) + free (path_script); + } + else if (plugin->ascii_strcasecmp (plugin, argv[0], "unload") == 0) + { + /* unload Python script */ + weechat_python_unload_name (plugin, argv[1]); + } + else + { + plugin->printf_server (plugin, + "Python error: unknown option for " + "\"python\" command"); + } + break; + default: + plugin->printf_server (plugin, + "Python error: wrong argument count for \"python\" command"); + } + plugin->free_exploded_string (plugin, argv); + return 1; +} + +/* + * weechat_plugin_init: initialize Python plugin + */ + +int +weechat_plugin_init (t_weechat_plugin *plugin) +{ + python_plugin = plugin; + + plugin->printf_server (plugin, "Loading Python module \"weechat\""); + + Py_Initialize (); + if (Py_IsInitialized () == 0) + { + plugin->printf_server (plugin, + "Python error: unable to launch global interpreter"); + return 0; + } + + PyEval_InitThreads(); + + python_mainThreadState = PyThreadState_Get(); + + if (python_mainThreadState == NULL) + { + plugin->printf_server (plugin, + "Python error: unable to get current interpreter state"); + return 0; + } + + PyEval_ReleaseLock (); + + plugin->cmd_handler_add (plugin, "python", + "list/load/unload Python scripts", + "[load filename] | [autoload] | [reload] | [unload]", + "filename: Python script (file) to load\n\n" + "Without argument, /python command lists all loaded Python scripts.", + weechat_python_cmd, NULL, NULL); + + plugin->mkdir_home (plugin, "python"); + plugin->mkdir_home (plugin, "python/autoload"); + + weechat_script_auto_load (plugin, "python", weechat_python_load); + + return 1; +} + +/* + * weechat_plugin_end: shutdown Python interface + */ + +void +weechat_plugin_end (t_weechat_plugin *plugin) +{ + /* unload all scripts */ + weechat_python_unload_all (plugin); + + /* free Python interpreter */ + /*Py_Finalize (); + if (Py_IsInitialized () != 0) + python_plugin->printf_server (python_plugin, + "Python error: unable to free interpreter"); + + python_plugin->printf_server (python_plugin, + "Python plugin ended");*/ +} diff --git a/src/plugins/scripts/ruby/Makefile.am b/src/plugins/scripts/ruby/Makefile.am new file mode 100644 index 000000000..07e8f9210 --- /dev/null +++ b/src/plugins/scripts/ruby/Makefile.am @@ -0,0 +1,26 @@ +# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\" $(RUBY_CFLAGS) + +libdir = ${weechat_libdir}/plugins + +lib_LTLIBRARIES = libruby.la + +libruby_la_SOURCES = weechat-ruby.c +libruby_la_LDFLAGS = -module +libruby_la_LIBADD = ../lib_weechat_plugins_scripts.la $(RUBY_LFLAGS) diff --git a/src/plugins/scripts/ruby/weechat-ruby.c b/src/plugins/scripts/ruby/weechat-ruby.c new file mode 100644 index 000000000..b517aa1f2 --- /dev/null +++ b/src/plugins/scripts/ruby/weechat-ruby.c @@ -0,0 +1,599 @@ +/* + * Copyright (c) 2003-2005 by FlashCode <flashcode@flashtux.org> + * See README for License detail, AUTHORS for developers list. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* wee-ruby.c: Ruby plugin support for WeeChat */ + + +#include <ruby.h> + +#include <stdlib.h> +#include <string.h> +#undef _ +#include "../../weechat-plugin.h" +#include "../weechat-script.h" + + +t_plugin_script *ruby_scripts = NULL; +t_plugin_script *last_ruby_script = NULL; + + +/* + * register: startup function for all WeeChat Ruby scripts + */ + +static VALUE +wee_ruby_register (VALUE class, VALUE name, VALUE version, VALUE shutdown_func, VALUE description) +{ + char *c_name, *c_version, *c_shutdown_func, *c_description; + t_plugin_script *ptr_ruby_script, *ruby_script_found, *new_ruby_script; + + if (NIL_P (name) || NIL_P (version) || NIL_P (shutdown_func) || NIL_P (description)) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: wrong parameters for \"%s\" function\n"), + "Ruby", "register"); + return Qnil; + } + + Check_Type (name, T_STRING); + Check_Type (version, T_STRING); + Check_Type (shutdown_func, T_STRING); + Check_Type (description, T_STRING); + + c_name = STR2CSTR (name); + c_version = STR2CSTR (version); + c_shutdown_func = STR2CSTR (shutdown_func); + c_description = STR2CSTR (description); + + ruby_script_found = NULL; + for (ptr_ruby_script = ruby_scripts; ptr_ruby_script; + ptr_ruby_script = ptr_ruby_script->next_script) + { + if (ascii_strcasecmp (ptr_ruby_script->name, c_name) == 0) + { + ruby_script_found = ptr_ruby_script; + break; + } + } + + if (ruby_script_found) + { + /* error: another script already exists with this name! */ + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: unable to register \"%s\" script (another script " + "already exists with this name)\n"), + "Ruby", name); + } + else + { + /* registering script */ + new_ruby_script = (t_plugin_script *)malloc (sizeof (t_plugin_script)); + if (new_ruby_script) + { + new_ruby_script->name = strdup (c_name); + new_ruby_script->version = strdup (c_version); + new_ruby_script->shutdown_func = strdup (c_shutdown_func); + new_ruby_script->description = strdup (c_description); + + /* add new script to list */ + new_ruby_script->prev_script = last_ruby_script; + new_ruby_script->next_script = NULL; + if (ruby_scripts) + last_ruby_script->next_script = new_ruby_script; + else + ruby_scripts = new_ruby_script; + last_ruby_script = new_ruby_script; + + wee_log_printf (_("Registered %s script: \"%s\", version %s (%s)\n"), + "Ruby", c_name, c_version, c_description); + } + else + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: unable to load script \"%s\" (not enough memory)\n"), + "Ruby", c_name); + } + } + + return Qnil; +} + +/* + * print: print message into a buffer (current or specified one) + */ + +static VALUE +wee_ruby_print (VALUE class, VALUE message, VALUE channel_name, VALUE server_name) +{ + char *c_message, *c_channel_name, *c_server_name; + t_gui_buffer *ptr_buffer; + + c_message = NULL; + c_channel_name = NULL; + c_server_name = NULL; + + if (NIL_P (message)) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: wrong parameters for \"%s\" function\n"), + "Ruby", "print"); + return Qnil; + } + + Check_Type (message, T_STRING); + if (!NIL_P (channel_name)) + Check_Type (channel_name, T_STRING); + if (!NIL_P (server_name)) + Check_Type (server_name, T_STRING); + + c_message = STR2CSTR (message); + if (!NIL_P (channel_name)) + c_channel_name = STR2CSTR (channel_name); + if (!NIL_P (server_name)) + c_server_name = STR2CSTR (server_name); + + ptr_buffer = plugin_find_buffer (c_server_name, c_channel_name); + if (ptr_buffer) + { + irc_display_prefix (ptr_buffer, PREFIX_PLUGIN); + gui_printf (ptr_buffer, "%s\n", c_message); + return INT2FIX (1); + } + + /* buffer not found */ + return INT2FIX (0); +} + +/* + * print_infobar: print message to infobar + */ + +static VALUE +wee_ruby_print_infobar (VALUE class, VALUE delay, VALUE message) +{ + int c_delay; + char *c_message; + + c_delay = 1; + c_message = NULL; + + if (NIL_P (delay) || NIL_P (message)) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: wrong parameters for \"%s\" function\n"), + "Ruby", "print_infobar"); + return Qfalse; + } + + Check_Type (delay, T_FIXNUM); + Check_Type (message, T_STRING); + + c_delay = FIX2INT (delay); + c_message = STR2CSTR (message); + + gui_infobar_printf (delay, COLOR_WIN_INFOBAR, c_message); + + return Qtrue; +} + +/* + * command: send command to server + */ + +static VALUE +wee_ruby_command (VALUE class, VALUE command, VALUE channel_name, VALUE server_name) +{ + char *c_command, *c_channel_name, *c_server_name; + t_gui_buffer *ptr_buffer; + + c_command = NULL; + c_channel_name = NULL; + c_server_name = NULL; + + if (NIL_P (command)) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: wrong parameters for \"%s\" function\n"), + "Ruby", "command"); + return Qnil; + } + + Check_Type (command, T_STRING); + if (!NIL_P (channel_name)) + Check_Type (channel_name, T_STRING); + if (!NIL_P (server_name)) + Check_Type (server_name, T_STRING); + + c_command = STR2CSTR (command); + if (!NIL_P (channel_name)) + c_channel_name = STR2CSTR (channel_name); + if (!NIL_P (server_name)) + c_server_name = STR2CSTR (server_name); + + ptr_buffer = plugin_find_buffer (c_server_name, c_channel_name); + if (ptr_buffer) + { + user_command (SERVER(ptr_buffer), ptr_buffer, c_command); + return INT2FIX (1); + } + + /* buffer not found */ + return INT2FIX (0); +} + +/* + * add_message_handler: add handler for messages + */ + +static VALUE +wee_ruby_add_message_handler (VALUE class, VALUE message, VALUE function) +{ + char *c_message, *c_function; + + if (NIL_P (message) || NIL_P (function)) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: wrong parameters for \"%s\" function\n"), + "Ruby", "add_message_handler"); + return Qnil; + } + + Check_Type (message, T_STRING); + Check_Type (function, T_STRING); + + c_message = STR2CSTR (message); + c_function = STR2CSTR (function); + + plugin_handler_add (&plugin_msg_handlers, &last_plugin_msg_handler, + PLUGIN_TYPE_RUBY, c_message, c_function); + + return Qtrue; +} + +/* + * add_command_handler: define/redefines commands + */ + +static VALUE +wee_ruby_add_command_handler (VALUE class, VALUE name, VALUE function) +{ + char *c_name, *c_function; + t_plugin_handler *ptr_plugin_handler; + + if (NIL_P (name) || NIL_P (function)) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: wrong parameters for \"%s\" function\n"), + "Ruby", "add_command_handler"); + return Qnil; + } + + Check_Type (name, T_STRING); + Check_Type (function, T_STRING); + + c_name = STR2CSTR (name); + c_function = STR2CSTR (function); + + if (!weelist_search (index_commands, c_name)) + weelist_add (&index_commands, &last_index_command, c_name); + + ptr_plugin_handler = plugin_handler_search (plugin_cmd_handlers, c_name); + if (ptr_plugin_handler) + { + free (ptr_plugin_handler->function_name); + ptr_plugin_handler->function_name = strdup (c_function); + } + else + plugin_handler_add (&plugin_cmd_handlers, &last_plugin_cmd_handler, + PLUGIN_TYPE_PYTHON, c_name, c_function); + + return Qtrue; +} + +/* + * get_info: get various infos + */ + +static VALUE +wee_ruby_get_info (VALUE class, VALUE arg, VALUE server_name) +{ + char *c_arg, *info, *c_server_name; + t_irc_server *ptr_server; + + if (NIL_P (arg)) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: wrong parameters for \"%s\" function\n"), + "Ruby", "get_info"); + return Qnil; + } + + Check_Type (arg, T_STRING); + if (!NIL_P (server_name)) + Check_Type (server_name, T_STRING); + + c_arg = STR2CSTR (arg); + if (!NIL_P (server_name)) + c_server_name = STR2CSTR (server_name); + + if (c_server_name == NULL) + { + ptr_server = SERVER(gui_current_window->buffer); + } + else + { + for (ptr_server = irc_servers; ptr_server; ptr_server = ptr_server->next_server) + { + if (ascii_strcasecmp (ptr_server->name, c_server_name) == 0) + break; + } + if (!ptr_server) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: server not found for \"%s\" function\n"), + "Ruby", "get_info"); + return Qnil; + } + } + + if (ptr_server && c_arg) + { + if ( (ascii_strcasecmp (c_arg, "0") == 0) || (ascii_strcasecmp (c_arg, "version") == 0) ) + { + info = PACKAGE_STRING; + } + else if ( (ascii_strcasecmp (c_arg, "1") == 0) || (ascii_strcasecmp (c_arg, "nick") == 0) ) + { + if (ptr_server->nick) + info = ptr_server->nick; + } + else if ( (ascii_strcasecmp (c_arg, "2") == 0) || (ascii_strcasecmp (c_arg, "channel") == 0) ) + { + if (BUFFER_IS_CHANNEL (gui_current_window->buffer)) + info = CHANNEL (gui_current_window->buffer)->name; + } + else if ( (ascii_strcasecmp (c_arg, "3") == 0) || (ascii_strcasecmp (c_arg, "server") == 0) ) + { + if (ptr_server->name) + info = ptr_server->name; + } + else if ( (ascii_strcasecmp (c_arg, "4") == 0) || (ascii_strcasecmp (c_arg, "weechatdir") == 0) ) + { + info = weechat_home; + } + else if ( (ascii_strcasecmp (c_arg, "5") == 0) || (ascii_strcasecmp (c_arg, "away") == 0) ) + { + return INT2FIX (SERVER(gui_current_window->buffer)->is_away); + } + else if ( (ascii_strcasecmp (c_arg, "100") == 0) || (ascii_strcasecmp (c_arg, "dccs") == 0) ) + { + /* TODO: build dcc list */ + } + + if (info) + return rb_str_new2 (info); + else + return rb_str_new2 (""); + } + + return INT2FIX (1); +} + +/* + * Ruby subroutines + */ + +/* + * wee_ruby_init: initialize Ruby interface for WeeChat + */ + +void +wee_ruby_init () +{ + + /* TODO: init Ruby environment */ + /* ruby_init (); + if () + { + irc_display_prefix (NULL, PREFIX_PLUGIN); + gui_printf (NULL, _("%s error: error while launching interpreter\n"), + "Ruby"); + } + else + { + wee_log_printf (_("Loading %s module \"weechat\"\n"), "Ruby"); + }*/ +} + +/* + * wee_ruby_search: search a (loaded) Ruby script by name + */ + +t_plugin_script * +wee_ruby_search (char *name) +{ + t_plugin_script *ptr_ruby_script; + + for (ptr_ruby_script = ruby_scripts; ptr_ruby_script; + ptr_ruby_script = ptr_ruby_script->next_script) + { + if (strcmp (ptr_ruby_script->name, name) == 0) + return ptr_ruby_script; + } + + /* script not found */ + return NULL; +} + +/* + * wee_ruby_exec: execute a Ruby script + */ + +int +wee_ruby_exec (char *function, char *server, char *arguments) +{ + /* TODO: exec Ruby script */ +} + +/* + * wee_ruby_load: load a Ruby script + */ + +int +wee_ruby_load (char *filename) +{ + FILE *fp; + + /* TODO: load & exec Ruby script */ + gui_printf (NULL, "Ruby scripts not developed!\n"); + /* execute Ruby script */ + /*wee_log_printf (_("Loading %s script \"%s\"\n"), "Ruby", filename); + irc_display_prefix (NULL, PREFIX_PLUGIN); + gui_printf (NULL, _("Loading %s script \"%s\"\n"), "Ruby", filename); + + if ((fp = fopen (filename, "r")) == NULL) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: error while opening file \"%s\"\n"), + "Ruby", filename); + return 1; + } + + if (xxxxxxx (fp, filename) != 0) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: error while parsing file \"%s\"\n"), + "Ruby", filename); + return 1; + } + + fclose (fp); + return 0;*/ +} + +/* + * wee_ruby_script_free: free a Ruby script + */ + +void +wee_ruby_script_free (t_plugin_script *ptr_ruby_script) +{ + t_plugin_script *new_ruby_scripts; + + /* remove script from list */ + if (last_ruby_script == ptr_ruby_script) + last_ruby_script = ptr_ruby_script->prev_script; + if (ptr_ruby_script->prev_script) + { + (ptr_ruby_script->prev_script)->next_script = ptr_ruby_script->next_script; + new_ruby_scripts = ruby_scripts; + } + else + new_ruby_scripts = ptr_ruby_script->next_script; + + if (ptr_ruby_script->next_script) + (ptr_ruby_script->next_script)->prev_script = ptr_ruby_script->prev_script; + + /* free data */ + if (ptr_ruby_script->name) + free (ptr_ruby_script->name); + if (ptr_ruby_script->version) + free (ptr_ruby_script->version); + if (ptr_ruby_script->shutdown_func) + free (ptr_ruby_script->shutdown_func); + if (ptr_ruby_script->description) + free (ptr_ruby_script->description); + free (ptr_ruby_script); + ruby_scripts = new_ruby_scripts; +} + +/* + * wee_ruby_unload: unload a Ruby script + */ + +void +wee_ruby_unload (t_plugin_script *ptr_ruby_script) +{ + if (ptr_ruby_script) + { + wee_log_printf (_("Unloading %s script \"%s\"\n"), + "Ruby", ptr_ruby_script->name); + + /* call shutdown callback function */ + if (ptr_ruby_script->shutdown_func[0]) + wee_ruby_exec (ptr_ruby_script->shutdown_func, "", ""); + wee_ruby_script_free (ptr_ruby_script); + } +} + +/* + * wee_ruby_unload_all: unload all Ruby scripts + */ + +void +wee_ruby_unload_all () +{ + wee_log_printf (_("Unloading all %s scripts...\n"), "Ruby"); + while (ruby_scripts) + wee_ruby_unload (ruby_scripts); + + irc_display_prefix (NULL, PREFIX_PLUGIN); + gui_printf (NULL, _("%s scripts unloaded\n"), "Ruby"); +} + +/* + * wee_ruby_end: shutdown Ruby interface + */ + +void +wee_ruby_end () +{ + /* unload all scripts */ + wee_ruby_unload_all (); + + /* free all handlers */ + plugin_handler_free_all_type (&plugin_msg_handlers, + &last_plugin_msg_handler, + PLUGIN_TYPE_RUBY); + plugin_handler_free_all_type (&plugin_cmd_handlers, + &last_plugin_cmd_handler, + PLUGIN_TYPE_RUBY); + + /* TODO: free Ruby interpreter */ + /* free Ruby interpreter */ + /* xxxxx (); + if () + { + irc_display_prefix (NULL, PREFIX_PLUGIN); + gui_printf (NULL, _("%s error: error while freeing interpreter\n"), + "Ruby"); + }*/ +} diff --git a/src/plugins/scripts/weechat-script.c b/src/plugins/scripts/weechat-script.c new file mode 100644 index 000000000..ae2555184 --- /dev/null +++ b/src/plugins/scripts/weechat-script.c @@ -0,0 +1,189 @@ +/* + * Copyright (c) 2003-2005 by FlashCode <flashcode@flashtux.org> + * See README for License detail, AUTHORS for developers list. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* scripts.c: script interface for WeeChat plugins */ + + +#include <stdlib.h> +#include <unistd.h> +#include <stdio.h> +#include <string.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <dirent.h> + +#include "../weechat-plugin.h" +#include "weechat-script.h" + + +/* + * weechat_script_auto_load: auto-load all scripts in a directory + */ + +void +weechat_script_auto_load (t_weechat_plugin *plugin, char *language, + int (*callback)(t_weechat_plugin *, char *)) +{ + char *dir_home, *dir_name; + int dir_length; + + /* build directory, adding WeeChat home */ + dir_home = plugin->get_info (plugin, "weechat_dir", NULL, NULL); + if (!dir_home) + return; + dir_length = strlen (dir_home) + strlen (language) + 16; + dir_name = + (char *) malloc (dir_length * sizeof (char)); + if (!dir_name) + { + free (dir_home); + return; + } + snprintf (dir_name, dir_length, "%s/%s/autoload", dir_home, language); + + plugin->exec_on_files (plugin, dir_name, callback); + + free (dir_name); + free (dir_home); +} + +/* + * weechat_script_search: search a script in list + */ + +t_plugin_script * +weechat_script_search (t_weechat_plugin *plugin, + t_plugin_script **list, char *name) +{ + t_plugin_script *ptr_script; + + for (ptr_script = *list; ptr_script; + ptr_script = ptr_script->next_script) + { + if (plugin->ascii_strcasecmp (plugin, ptr_script->name, name) == 0) + return ptr_script; + } + + /* script not found */ + return NULL; +} + +/* + * weechat_script_add: add a script to list of scripts + */ + +t_plugin_script * +weechat_script_add (t_weechat_plugin *plugin, + t_plugin_script **script_list, + char *filename, + char *name, char *version, + char *shutdown_func, char *description) +{ + t_plugin_script *new_script; + + /* make gcc happy */ + (void) plugin; + + new_script = (t_plugin_script *)malloc (sizeof (t_plugin_script)); + if (new_script) + { + new_script->filename = strdup (filename); + new_script->interpreter = NULL; + new_script->name = strdup (name); + new_script->version = strdup (version); + new_script->shutdown_func = strdup (shutdown_func); + new_script->description = strdup (description); + + /* add new script to list */ + if ((*script_list)) + (*script_list)->prev_script = new_script; + new_script->prev_script = NULL; + new_script->next_script = (*script_list); + (*script_list) = new_script; + return new_script; + } + + return NULL; +} + +/* + * weechat_script_remove: remove a script from list of scripts + */ + +void +weechat_script_remove (t_weechat_plugin *plugin, + t_plugin_script **script_list, t_plugin_script *script) +{ + t_plugin_msg_handler *ptr_msg_handler, *next_msg_handler; + t_plugin_cmd_handler *ptr_cmd_handler, *next_cmd_handler; + + /* make gcc happy */ + (void) plugin; + + /* remove message handlers */ + ptr_msg_handler = plugin->msg_handlers; + while (ptr_msg_handler) + { + if ((t_plugin_script *)ptr_msg_handler->msg_handler_pointer == script) + { + next_msg_handler = ptr_msg_handler->next_handler; + plugin->msg_handler_remove (plugin, ptr_msg_handler); + ptr_msg_handler = next_msg_handler; + } + else + ptr_msg_handler = ptr_msg_handler->next_handler; + } + + /* remove command handlers */ + ptr_cmd_handler = plugin->cmd_handlers; + while (ptr_cmd_handler) + { + if ((t_plugin_script *)ptr_cmd_handler->cmd_handler_pointer == script) + { + next_cmd_handler = ptr_cmd_handler->next_handler; + plugin->cmd_handler_remove (plugin, ptr_cmd_handler); + ptr_cmd_handler = next_cmd_handler; + } + else + ptr_cmd_handler = ptr_cmd_handler->next_handler; + } + + /* free data */ + if (script->filename) + free (script->filename); + if (script->name) + free (script->name); + if (script->description) + free (script->description); + if (script->version) + free (script->version); + if (script->shutdown_func) + free (script->shutdown_func); + + /* remove script from list */ + if (script->prev_script) + (script->prev_script)->next_script = script->next_script; + else + (*script_list) = script->next_script; + if (script->next_script) + (script->next_script)->prev_script = script->prev_script; + + /* free script */ + free (script); +} diff --git a/src/plugins/scripts/weechat-script.h b/src/plugins/scripts/weechat-script.h new file mode 100644 index 000000000..496a126e5 --- /dev/null +++ b/src/plugins/scripts/weechat-script.h @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2003-2005 by FlashCode <flashcode@flashtux.org> + * See README for License detail, AUTHORS for developers list. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* This header is designed to be distributed with WeeChat plugins, if scripts + management is needed */ + +#ifndef __WEECHAT_WEECHAT_SCRIPT_H +#define __WEECHAT_WEECHAT_SCRIPT_H 1 + +typedef struct t_plugin_script t_plugin_script; + +struct t_plugin_script +{ + /* script variables */ + char *filename; /* name of script on disk */ + void *interpreter; /* interpreter for script */ + char *name; /* script name */ + char *description; /* plugin description */ + char *version; /* plugin version */ + char *shutdown_func; /* function when script is unloaded */ + + t_plugin_script *prev_script; /* link to previous script */ + t_plugin_script *next_script; /* link to next script */ +}; + +extern void weechat_script_auto_load (t_weechat_plugin *, char *, + int (*)(t_weechat_plugin *, char *)); +extern t_plugin_script *weechat_script_search (t_weechat_plugin *, + t_plugin_script **, char *); +extern t_plugin_script *weechat_script_add (t_weechat_plugin *, + t_plugin_script **, char *, char *, + char *, char *, char *); +extern void weechat_script_remove (t_weechat_plugin *, + t_plugin_script **, t_plugin_script *); + +#endif /* weechat-script.h */ diff --git a/src/plugins/weechat-plugin.h b/src/plugins/weechat-plugin.h new file mode 100644 index 000000000..78a7eecc4 --- /dev/null +++ b/src/plugins/weechat-plugin.h @@ -0,0 +1,164 @@ +/* + * Copyright (c) 2003-2005 by FlashCode <flashcode@flashtux.org> + * See README for License detail, AUTHORS for developers list. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* This header is designed to be distributed with WeeChat plugins */ + +#ifndef __WEECHAT_WEECHAT_PLUGIN_H +#define __WEECHAT_WEECHAT_PLUGIN_H 1 + +typedef struct t_plugin_dcc_info t_plugin_dcc_info; + +struct t_plugin_dcc_info +{ + char *server; /* irc server */ + char *channel; /* irc channel (for DCC chat only) */ + int type; /* DCC type (send or receive) */ + int status; /* DCC status (waiting, sending, ..) */ + time_t start_time; /* the time when DCC started */ + time_t start_transfer; /* the time when DCC transfer started */ + unsigned long addr; /* IP address */ + int port; /* port */ + char *nick; /* remote nick */ + char *filename; /* filename (given by sender) */ + char *local_filename; /* local filename (with path) */ + int filename_suffix; /* suffix (.1 for ex) if renaming file */ + unsigned long size; /* file size */ + unsigned long pos; /* number of bytes received/sent */ + unsigned long start_resume; /* start of resume (in bytes) */ + unsigned long bytes_per_sec; /* bytes per second */ + t_plugin_dcc_info *prev_dcc; /* link to previous dcc file/chat */ + t_plugin_dcc_info *next_dcc; /* link to next dcc file/chat */ +}; + +typedef struct t_weechat_plugin t_weechat_plugin; + +typedef int (t_plugin_handler_func) (t_weechat_plugin *, char *, char *, char *, char *, void *); + +/* message handler, called when an IRC messages is received */ + +typedef struct t_plugin_msg_handler t_plugin_msg_handler; + +struct t_plugin_msg_handler +{ + char *irc_command; /* name of IRC command (PRIVMSG, ..) */ + t_plugin_handler_func *msg_handler; /* pointer to message handler */ + char *msg_handler_args; /* arguments sent to message handler */ + void *msg_handler_pointer; /* pointer sent to message handler */ + + int running; /* 1 if currently running */ + /* (used to prevent circular call) */ + t_plugin_msg_handler *prev_handler; /* link to previous handler */ + t_plugin_msg_handler *next_handler; /* link to next handler */ +}; + +/* command handler, to add new commands to WeeChat */ + +typedef struct t_plugin_cmd_handler t_plugin_cmd_handler; + +struct t_plugin_cmd_handler +{ + char *command; /* name of command (without first '/') */ + char *description; /* (for /help) short cmd description */ + char *arguments; /* (for /help) command arguments */ + char *arguments_description; /* (for /help) args long description */ + /* command handler */ + t_plugin_handler_func *cmd_handler; /* pointer to command handler */ + char *cmd_handler_args; /* arguments sent to command handler */ + void *cmd_handler_pointer; /* pointer sent to command handler */ + + int running; /* 1 if currently running */ + /* (used to prevent circular call) */ + t_plugin_cmd_handler *prev_handler; /* link to previous handler */ + t_plugin_cmd_handler *next_handler; /* link to next handler */ +}; + +/* plugin, a WeeChat plugin, which is a dynamic library */ + +struct t_weechat_plugin +{ + /* plugin variables */ + char *filename; /* name of plugin on disk */ + void *handle; /* handle of plugin (given by dlopen) */ + char *name; /* plugin name */ + char *description; /* plugin description */ + char *version; /* plugin version */ + + /* plugin functions (interface) */ + int (*mkdir_home) (t_weechat_plugin *, char *); + void (*exec_on_files) (t_weechat_plugin *, char *, + int (*)(t_weechat_plugin *, char *)); + t_plugin_msg_handler *(*msg_handler_add) (t_weechat_plugin *, char *, + t_plugin_handler_func *, + char *, void *); + void (*msg_handler_remove) (t_weechat_plugin *, t_plugin_msg_handler *); + void (*msg_handler_remove_all) (t_weechat_plugin *); + t_plugin_cmd_handler *(*cmd_handler_add) (t_weechat_plugin *, char *, + char *, char *, char *, + t_plugin_handler_func *, + char *, void *); + void (*cmd_handler_remove) (t_weechat_plugin *, t_plugin_cmd_handler *); + void (*cmd_handler_remove_all) (t_weechat_plugin *); + void (*printf) (t_weechat_plugin *, char *, char *, char *, ...); + void (*printf_server) (t_weechat_plugin *, char *, ...); + void (*infobar_printf) (t_weechat_plugin *, int, char *, ...); + void (*exec_command) (t_weechat_plugin *, char *, char *, char *); + char *(*get_info) (t_weechat_plugin *, char *, char *, char *); + t_plugin_dcc_info *(*get_dcc_info) (t_weechat_plugin *); + void (*free_dcc_info) (t_weechat_plugin *, t_plugin_dcc_info *); + char **(*explode_string) (t_weechat_plugin *, char *, char *, int, int *); + void (*free_exploded_string) (t_weechat_plugin *, char **); + int (*ascii_strcasecmp) (t_weechat_plugin *, char *, char *); + + /* plugin handlers */ + t_plugin_msg_handler *msg_handlers; /* IRC message handlers */ + t_plugin_msg_handler *last_msg_handler; + t_plugin_cmd_handler *cmd_handlers; /* command handlers */ + t_plugin_cmd_handler *last_cmd_handler; + + /* links to previous/next plugins */ + t_weechat_plugin *prev_plugin; /* link to previous plugin */ + t_weechat_plugin *next_plugin; /* link to next plugin */ +}; + +extern int weechat_plugin_mkdir_home (t_weechat_plugin *, char *); +extern void weechat_plugin_exec_on_files (t_weechat_plugin *, char *, + int (*)(t_weechat_plugin *, char *)); +extern t_plugin_msg_handler *weechat_plugin_msg_handler_add (t_weechat_plugin *, char *, + t_plugin_handler_func *, + char *, void *); +extern void weechat_plugin_msg_handler_remove (t_weechat_plugin *, t_plugin_msg_handler *); +extern void weechat_plugin_msg_handler_remove_all (t_weechat_plugin *); +extern t_plugin_cmd_handler *weechat_plugin_cmd_handler_add (t_weechat_plugin *, char *, + char *, char *, char *, + t_plugin_handler_func *, + char *, void *); +extern void weechat_plugin_cmd_handler_remove (t_weechat_plugin *, t_plugin_cmd_handler *); +extern void weechat_plugin_cmd_handler_remove_all (t_weechat_plugin *); +extern void weechat_plugin_printf (t_weechat_plugin *, char *, char *, char *, ...); +extern void weechat_plugin_printf_server (t_weechat_plugin *, char *, ...); +extern void weechat_plugin_infobar_printf (t_weechat_plugin *, int, char *, ...); +extern void weechat_plugin_exec_command (t_weechat_plugin *, char *, char *, char *); +extern char *weechat_plugin_get_info (t_weechat_plugin *, char *, char *, char *); +extern t_plugin_dcc_info *weechat_plugin_get_dcc_info (t_weechat_plugin *); +extern void weechat_plugin_free_dcc_info (t_weechat_plugin *, t_plugin_dcc_info *); +extern char **weechat_explode_string (t_weechat_plugin *, char *, char *, int, int *); +extern void weechat_free_exploded_string (t_weechat_plugin *, char **); +extern int weechat_ascii_strcasecmp (t_weechat_plugin *,char *, char *); + +#endif /* weechat-plugin.h */ diff --git a/weechat/ChangeLog b/weechat/ChangeLog index 061876c18..225959525 100644 --- a/weechat/ChangeLog +++ b/weechat/ChangeLog @@ -1,10 +1,12 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -ChangeLog - 2005-10-03 +ChangeLog - 2005-10-15 Version 0.1.6 (under dev!): + * new plugin interface, rewritten from scratch: now loads dynamic C + library, and perl/python are plugin scripts * added some missing IRC commands * added colors for input buffer and current channel of status bar * added online help for config options (with /set full_option_name) diff --git a/weechat/autogen.sh b/weechat/autogen.sh index e3163f120..b7673d592 100755 --- a/weechat/autogen.sh +++ b/weechat/autogen.sh @@ -6,6 +6,7 @@ cp Makefile.am Makefile.am.old gettextize --copy --force --intl --no-changelog && mv Makefile.am.old Makefile.am mv configure.in.old configure.in +libtoolize --force && aclocal && # autoheader creates config.h.in needed by autoconf autoheader && diff --git a/weechat/configure.in b/weechat/configure.in index b3b1bae10..f2cc342e0 100644 --- a/weechat/configure.in +++ b/weechat/configure.in @@ -24,23 +24,23 @@ AC_CONFIG_SRCDIR([src/common/weechat.c]) AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE([weechat], [0.1.6-cvs]) -# Checks for programs. +# Checks for programs AC_PROG_CC AC_PROG_MAKE_SET -AC_PROG_RANLIB +AM_PROG_LIBTOOL # Gettext ALL_LINGUAS="fr es cs" AM_GNU_GETTEXT -# Checks for libraries. -AC_CHECK_LIB([ncurses], [initscr], LIBNCURSES_FOUND=1, LIBNCURSES_FOUND=0) +# Checks for libraries +AC_CHECK_LIB(ncurses, initscr, LIBNCURSES_FOUND=1, LIBNCURSES_FOUND=0) -# Checks for header files. +# Checks for header files AC_HEADER_STDC AC_CHECK_HEADERS([arpa/inet.h libintl.h limits.h locale.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h sys/types.h unistd.h pwd.h errno.h]) -# Checks for typedefs, structures, and compiler characteristics. +# Checks for typedefs, structures, and compiler characteristics AC_HEADER_TIME AC_STRUCT_TM @@ -63,6 +63,11 @@ AC_FUNC_SELECT_ARGTYPES AC_TYPE_SIGNAL AC_CHECK_FUNCS([gethostbyname gethostname getsockname gettimeofday inet_ntoa memset mkdir select setlocale socket strcasecmp strchr strdup strncasecmp strpbrk strrchr strstr uname]) +# Variables in config.h + +AH_VERBATIM([PREFIX], [#undef PREFIX]) +AH_VERBATIM([WEECHAT_LIBDIR], [#undef WEECHAT_LIBDIR]) +AH_VERBATIM([WEECHAT_SHAREDIR], [#undef WEECHAT_SHAREDIR]) AH_VERBATIM([PLUGINS], [#undef PLUGINS]) AH_VERBATIM([PLUGIN_PERL], [#undef PLUGIN_PERL]) AH_VERBATIM([PLUGIN_PYTHON], [#undef PLUGIN_PYTHON]) @@ -70,27 +75,33 @@ AH_VERBATIM([PLUGIN_RUBY], [#undef PLUGIN_RUBY]) AH_VERBATIM([HAVE_GNUTLS], [#undef HAVE_GNUTLS]) AH_VERBATIM([DEBUG], [#undef DEBUG]) +# Arguments for ./configure + AC_ARG_ENABLE(ncurses, [ --disable-ncurses Turn off ncurses interface (default=auto)],enable_ncurses=$enableval,enable_ncurses=yes) AC_ARG_ENABLE(wxwidgets,[ --enable-wxwidgets Turn on WxWidgets interface (default=no)],enable_wxwidgets=$enableval,enable_wxwidgets=no) AC_ARG_ENABLE(gtk, [ --enable-gtk Turn on Gtk+ interface (default=no)],enable_gtk=$enableval,enable_gtk=no) AC_ARG_ENABLE(qt, [ --enable-qt Turn on Qt interface (default=no)],enable_qt=$enableval,enable_qt=no) -AC_ARG_ENABLE(perl, [ --enable-perl Turn on Perl plugins (default=no)],enable_perl=$enableval,enable_perl=no) -AC_ARG_ENABLE(python, [ --enable-python Turn on Python plugins (default=no)],enable_python=$enableval,enable_python=no) -AC_ARG_ENABLE(ruby, [ --enable-ruby Turn on Ruby plugins (default=no)],enable_ruby=$enableval,enable_ruby=no) +AC_ARG_ENABLE(plugins, [ --disable-plugins Turn off plugins support (default=yes)],enable_plugins=$enableval,enable_plugins=yes) +AC_ARG_ENABLE(perl, [ --enable-perl Turn on Perl script plugin (default=no)],enable_perl=$enableval,enable_perl=no) +AC_ARG_ENABLE(python, [ --enable-python Turn on Python script plugin (default=no)],enable_python=$enableval,enable_python=no) +AC_ARG_ENABLE(ruby, [ --enable-ruby Turn on Ruby script plugin (default=no)],enable_ruby=$enableval,enable_ruby=no) AC_ARG_ENABLE(gnutls, [ --disable-gnutls Turn off gnutls support (default=auto)],enable_gnutls=$enableval,enable_gnutls=yes) AC_ARG_WITH(debug, [ --with-debug Debugging: 0=no debug, 1=debug compilation, 2=debug compilation + verbose msgs (default=0)],debug=$withval,debug=0) -enable_plugins="no" - AM_CONDITIONAL(GUI_NCURSES, test "$enable_ncurses" = "yes") AM_CONDITIONAL(GUI_WXWIDGETS, test "$enable_wxwidgets" = "yes") AM_CONDITIONAL(GUI_GTK, test "$enable_gtk" = "yes") AM_CONDITIONAL(GUI_QT, test "$enable_qt" = "yes") +AM_CONDITIONAL(PLUGINS, test "$enable_plugins" = "yes") AM_CONDITIONAL(PLUGIN_PERL, test "$enable_perl" = "yes") AM_CONDITIONAL(PLUGIN_PYTHON, test "$enable_python" = "yes") AM_CONDITIONAL(PLUGIN_RUBY, test "$enable_ruby" = "yes") AM_CONDITIONAL(HAVE_GNUTLS, test "$enable_gnutls" = "yes") +# ------------------------------------------------------------------------------ +# GUI +# ------------------------------------------------------------------------------ + if test "x$enable_ncurses" = "xyes" ; then if test "$LIBNCURSES_FOUND" = "0" ; then AC_MSG_ERROR([ @@ -136,6 +147,10 @@ if test "x$enable_gtk" = "xyes" ; then AC_SUBST(GTK_LIBS) fi +# ------------------------------------------------------------------------------ +# plugins +# ------------------------------------------------------------------------------ + PLUGINS_LIBS= if test "x$enable_perl" = "xyes" ; then @@ -169,7 +184,7 @@ it with your software package manager.]) PERL_LIB_TEST=`PT=perltest.c ; echo "int main() { return 0; }" > $PT ; $CC -Wall $PT -o $PT.out $($PERL -MExtUtils::Embed -e ldopts) 1>/dev/null 2>&1; echo $?; rm -f $PT $PT.out 1>/dev/null 2>&1` if test "x$PERL_LIB_TEST" = "x0" ; then - PLUGINS_LIBS="$PLUGINS_LIBS ../../plugins/perl/lib_weechat_perl.a `$PERL -MExtUtils::Embed -e ldopts`" + PERL_LFLAGS=`$PERL -MExtUtils::Embed -e ldopts` else AC_MSG_ERROR([ *** Perl library couldn't be found in your system. @@ -178,6 +193,7 @@ it with your software package manager.]) AC_MSG_RESULT(found) AC_SUBST(PERL_CFLAGS) + AC_SUBST(PERL_LFLAGS) AC_DEFINE(PLUGIN_PERL) fi @@ -220,8 +236,8 @@ if test "x$enable_python" = "xyes" ; then fi AC_MSG_RESULT(found) - PLUGINS_LIBS="$PLUGINS_LIBS ../../plugins/python/lib_weechat_python.a $PYTHON_LFLAGS" AC_SUBST(PYTHON_CFLAGS) + AC_SUBST(PYTHON_LFLAGS) AC_DEFINE(PLUGIN_PYTHON) fi @@ -232,17 +248,32 @@ if test "x$enable_ruby" = "xyes" ; then RUBY_CFLAGS=-I`ruby -rrbconfig -e "puts Config::CONFIG[['archdir']]"` RUBY_LFLAGS=`ruby -rrbconfig -e "puts Config::CONFIG[['LIBRUBYARG_SHARED']]"` - PLUGINS_LIBS="$PLUGINS_LIBS ../../plugins/ruby/lib_weechat_ruby.a $RUBY_LFLAGS" AC_SUBST(RUBY_CFLAGS) + AC_SUBST(RUBY_LFLAGS) AC_DEFINE(PLUGIN_RUBY) fi if test "x$enable_plugins" = "xyes" ; then - AC_DEFINE(PLUGINS) + AC_CHECK_FUNCS(dlopen, LIBDL_FOUND=yes, LIBDL_FOUND=no) + if test "$LIBDL_FOUND" != "yes"; then + AC_CHECK_LIB(dl, dlopen, LIBDL_FOUND=yes, LIBDL_FOUND=no) + fi + if test "$LIBDL_FOUND" = "yes"; then + PLUGINS_LIBS="../../plugins/lib_weechat_plugins.a -ldl" + AC_DEFINE(PLUGINS) + else + AC_MSG_ERROR([ +*** "dl" library (dynamic library loader) couldn't be found in your system. +*** Try to install it with your software package manager or disable plugins.]) + fi fi AC_SUBST(PLUGINS_LIBS) +# ------------------------------------------------------------------------------ +# gnutls +# ------------------------------------------------------------------------------ + if test "x$enable_gnutls" = "xyes" ; then found_gnutls="no" AM_PATH_LIBGNUTLS( 1.0.0, found_gnutls=yes, AC_MSG_WARN([[ @@ -257,6 +288,29 @@ if test "x$enable_gnutls" = "xyes" ; then enable_gnutls="no" fi fi + +# ------------------------------------------------------------------------------ +# general vars +# ------------------------------------------------------------------------------ + +if test "x$prefix" = "xNONE" ; then + prefix="$ac_default_prefix" +fi + +if test "x$exec_prefix" = "xNONE" ; then + exec_prefix="$prefix" +fi + +AC_DEFINE_UNQUOTED(PREFIX, "${prefix}") + +WEECHAT_LIBDIR=`eval echo ${libdir}/weechat` +AC_DEFINE_UNQUOTED(WEECHAT_LIBDIR, "$WEECHAT_LIBDIR") + +WEECHAT_SHAREDIR=`eval echo ${datadir}/weechat` +AC_DEFINE_UNQUOTED(WEECHAT_SHAREDIR, "$WEECHAT_SHAREDIR") + +weechat_libdir=${libdir}/weechat +AC_SUBST(weechat_libdir) CFLAGS=`echo $CFLAGS | sed s/-g//g` if test "x$CFLAGS" = "x" ; then @@ -272,19 +326,23 @@ if test "x$debug" = "x2" ; then AC_DEFINE(DEBUG) fi -dnl For FreeBSD +# for FreeBSD LIBS="$LIBS $INTLLIBS" CFLAGS="$CFLAGS $CPPFLAGS" +# ------------------------------------------------------------------------------ +# output Makefiles +# ------------------------------------------------------------------------------ + AC_OUTPUT([Makefile doc/Makefile src/Makefile src/common/Makefile src/irc/Makefile src/plugins/Makefile - src/plugins/perl/Makefile - src/plugins/python/Makefile - src/plugins/ruby/Makefile + src/plugins/scripts/Makefile + src/plugins/scripts/perl/Makefile + src/plugins/scripts/python/Makefile src/gui/Makefile src/gui/curses/Makefile src/gui/wxwidgets/Makefile @@ -293,8 +351,9 @@ AC_OUTPUT([Makefile intl/Makefile po/Makefile.in]) -echo -echo $PACKAGE $VERSION +# ------------------------------------------------------------------------------ +# end message +# ------------------------------------------------------------------------------ listgui= if test "x$enable_ncurses" = "xyes" ; then @@ -325,19 +384,17 @@ if test "x$debug" = "x2" ; then msg_debug_verbose="yes" fi -echo -echo Interfaces.................... :$listgui -echo -echo Build with Plugin support..... : $enable_plugins -echo Build with Perl support....... : $enable_perl -echo Build with Python support..... : $enable_python -echo Build with Ruby support....... : $enable_ruby -echo Build with GNUtls support..... : $enable_gnutls -echo -echo Compile with debug info....... : $msg_debug_compiler -echo Print debugging messages...... : $msg_debug_verbose -echo -eval eval echo WeeChat will be installed in $bindir. -echo -echo configure complete, now type \'make\' to build WeeChat -echo +echo "" +echo "Interfaces.................... :$listgui" +echo "Build with GNUtls support..... : $enable_gnutls" +echo "Build with Plugin support..... : $enable_plugins" +echo " Perl plugin..... : $enable_perl" +echo " Python plugin... : $enable_python" +echo " Ruby plugin..... : $enable_ruby" +echo "Compile with debug info....... : $msg_debug_compiler" +echo "Print debugging messages...... : $msg_debug_verbose" +echo "" +eval echo "WeeChat will be installed in $bindir." +echo "" +echo "configure complete, now type 'make' to build WeeChat $VERSION" +echo "" diff --git a/weechat/po/POTFILES.in b/weechat/po/POTFILES.in index d338c606a..227e0aec2 100644 --- a/weechat/po/POTFILES.in +++ b/weechat/po/POTFILES.in @@ -8,14 +8,9 @@ ./src/irc/irc-dcc.c ./src/irc/irc-ignore.c ./src/irc/irc.h -./src/plugins/perl/wee-perl.c -./src/plugins/perl/wee-perl.h -./src/plugins/python/wee-python.c -./src/plugins/python/wee-python.h -./src/plugins/ruby/wee-ruby.c -./src/plugins/ruby/wee-ruby.h ./src/plugins/plugins.c ./src/plugins/plugins.h +./src/plugins/weechat-plugin.h ./src/gui/curses/gui-input.c ./src/gui/curses/gui-display.c ./src/gui/gtk/gui-display.c diff --git a/weechat/po/cs.po b/weechat/po/cs.po index e44460631..61e12cf23 100644 --- a/weechat/po/cs.po +++ b/weechat/po/cs.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.6-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2005-10-03 14:05+0200\n" -"PO-Revision-Date: 2005-10-03 14:05+0200\n" +"POT-Creation-Date: 2005-10-15 14:17+0200\n" +"PO-Revision-Date: 2005-10-15 13:19+0200\n" "Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" msgid "%s cannot allocate new nick\n" msgstr "%s nemůžu přidělit novou přezdívku\n" -#: src/irc/irc-server.c:180 src/common/weeconfig.c:1823 +#: src/irc/irc-server.c:180 src/common/weeconfig.c:1855 msgid "Unable to get user's name" msgstr "Nemůžu získat jméno uživatele" @@ -1336,7 +1336,7 @@ msgstr "nemůžu změnit mód přo ostatní uživatele" msgid "whois (secure connection)" msgstr "whois (zabezpečená část)" -#: src/irc/irc-display.c:163 src/common/command.c:877 +#: src/irc/irc-display.c:163 src/common/command.c:870 msgid "Server: " msgstr "Server: " @@ -1344,7 +1344,7 @@ msgstr "Server: " msgid "connected" msgstr "připojen" -#: src/irc/irc-display.c:168 src/common/command.c:903 +#: src/irc/irc-display.c:168 src/common/command.c:896 msgid "not connected" msgstr "nepřipojen" @@ -1366,7 +1366,7 @@ msgstr " (dočasný server, nebude uložen)" msgid "(hidden)" msgstr "(skrytý)" -#: src/irc/irc-send.c:59 src/irc/irc-recv.c:4421 +#: src/irc/irc-send.c:59 src/irc/irc-recv.c:4426 msgid "unknown" msgstr "neznámý" @@ -1375,7 +1375,7 @@ msgstr "neznámý" msgid "%s: using local hostname \"%s\"\n" msgstr "%s: používám lokální jméno hosta \"%s\"\n" -#: src/irc/irc-send.c:167 src/common/command.c:755 +#: src/irc/irc-send.c:167 src/common/command.c:746 #, c-format msgid "%s cannot find nick for sending message\n" msgstr "%s nemohu najít přezdívku pro poslání zprávy\n" @@ -1391,9 +1391,8 @@ msgstr "%s \"%s\" příkaz může být spuštěn pouze v okně kanálu\n" #: src/irc/irc-send.c:456 src/irc/irc-send.c:468 src/irc/irc-send.c:486 #: src/irc/irc-send.c:1138 src/irc/irc-send.c:1231 src/irc/irc-send.c:1763 -#: src/common/command.c:1225 src/common/command.c:1579 -#: src/common/command.c:1729 src/common/command.c:1872 -#: src/common/command.c:2015 +#: src/common/command.c:1218 src/common/command.c:1628 +#: src/common/command.c:1760 #, c-format msgid "%s wrong argument count for \"%s\" command\n" msgstr "%s špatný počet parametrů pro příkaz \"%s\"\n" @@ -1409,13 +1408,13 @@ msgstr "%s špatné parametry pro příkaz \"%s\"\n" msgid "%s \"%s\" command can not be executed on a server window\n" msgstr "%s \"%s\" příkaz nemůže být spuštěn v okně serveru\n" -#: src/irc/irc-send.c:1031 src/irc/irc-send.c:1056 src/irc/irc-recv.c:430 +#: src/irc/irc-send.c:1031 src/irc/irc-send.c:1056 src/irc/irc-recv.c:435 #, c-format msgid "%s nick \"%s\" not found for \"%s\" command\n" msgstr "%s přezdívka \"%s\" nebyla nalezena pro příkaz \"%s\"\n" -#: src/irc/irc-send.c:1108 src/irc/irc-send.c:1416 src/irc/irc-recv.c:1117 -#: src/irc/irc-recv.c:1933 src/irc/irc-recv.c:2021 +#: src/irc/irc-send.c:1108 src/irc/irc-send.c:1416 src/irc/irc-recv.c:1122 +#: src/irc/irc-recv.c:1938 src/irc/irc-recv.c:2026 #, c-format msgid "%s cannot create new private window \"%s\"\n" msgstr "%s nemohu vytvořít nové soukromé okno\"%s\"\n" @@ -1425,444 +1424,444 @@ msgstr "%s nemohu vytvořít nové soukromé okno\"%s\"\n" msgid "%s, compiled on %s %s\n" msgstr "%s, kompilováno na %s %s\n" -#: src/irc/irc-recv.c:286 +#: src/irc/irc-recv.c:291 msgid "You have been invited to " msgstr "Byl jsi pozván na " -#: src/irc/irc-recv.c:289 +#: src/irc/irc-recv.c:294 msgid "by" msgstr "od" -#: src/irc/irc-recv.c:300 src/irc/irc-recv.c:394 src/irc/irc-recv.c:891 -#: src/irc/irc-recv.c:1276 src/irc/irc-recv.c:1535 src/irc/irc-recv.c:3437 -#: src/irc/irc-recv.c:3459 src/irc/irc-recv.c:3520 src/irc/irc-recv.c:3592 +#: src/irc/irc-recv.c:305 src/irc/irc-recv.c:399 src/irc/irc-recv.c:896 +#: src/irc/irc-recv.c:1281 src/irc/irc-recv.c:1540 src/irc/irc-recv.c:3442 +#: src/irc/irc-recv.c:3464 src/irc/irc-recv.c:3525 src/irc/irc-recv.c:3597 #, c-format msgid "%s channel \"%s\" not found for \"%s\" command\n" msgstr "%s kanál \"%s\" nebyl nalezen příkazem \"%s\"\n" -#: src/irc/irc-recv.c:328 +#: src/irc/irc-recv.c:333 #, c-format msgid "%s cannot create new channel \"%s\"\n" msgstr "%s nemohu vytvořit nový kanál \"%s\"\n" -#: src/irc/irc-recv.c:347 +#: src/irc/irc-recv.c:352 msgid " has joined " msgstr " se připojil " -#: src/irc/irc-recv.c:405 +#: src/irc/irc-recv.c:410 msgid " has kicked " msgstr " byl vykopnut " -#: src/irc/irc-recv.c:409 src/common/command.c:1400 +#: src/irc/irc-recv.c:414 src/common/command.c:1449 msgid " from " msgstr " z " -#: src/irc/irc-recv.c:495 +#: src/irc/irc-recv.c:500 msgid " has killed " msgstr " byl zabit " -#: src/irc/irc-recv.c:501 +#: src/irc/irc-recv.c:506 msgid " from server" msgstr " ze serveru" -#: src/irc/irc-recv.c:511 +#: src/irc/irc-recv.c:516 msgid " from server\n" msgstr " ze serveru\n" -#: src/irc/irc-recv.c:519 +#: src/irc/irc-recv.c:524 #, c-format msgid "%s host \"%s\" not found for \"%s\" command\n" msgstr "%s host \"%s\" nenalezen pro příkaz \"%s\"\n" -#: src/irc/irc-recv.c:559 +#: src/irc/irc-recv.c:564 msgid "sets ban on" msgstr "tě zakázal" -#: src/irc/irc-recv.c:560 +#: src/irc/irc-recv.c:565 msgid "removes ban on" msgstr "odebral zakázaní" -#: src/irc/irc-recv.c:584 +#: src/irc/irc-recv.c:589 msgid "gives half channel operator status to" msgstr "dal poloviční status operátora na" -#: src/irc/irc-recv.c:585 +#: src/irc/irc-recv.c:590 msgid "removes half channel operator status from" msgstr "odebral poloviční status operátora z" -#: src/irc/irc-recv.c:612 +#: src/irc/irc-recv.c:617 msgid "sets invite-only channel flag" msgstr "nastavil zančku kanálu: pouze na pování" -#: src/irc/irc-recv.c:613 +#: src/irc/irc-recv.c:618 msgid "removes invite-only channel flag" msgstr "odebral značku kanálu: pouze na pozvání" -#: src/irc/irc-recv.c:630 +#: src/irc/irc-recv.c:635 msgid "sets channel key to" msgstr "nastavil klíč kanálu na" -#: src/irc/irc-recv.c:631 +#: src/irc/irc-recv.c:636 msgid "removes channel key" msgstr "odebral klíč kanálu" -#: src/irc/irc-recv.c:662 +#: src/irc/irc-recv.c:667 msgid "sets the user limit to" msgstr "nastavil limit uživatelů na" -#: src/irc/irc-recv.c:663 +#: src/irc/irc-recv.c:668 msgid "removes user limit" msgstr "odebral limit uživatelů" -#: src/irc/irc-recv.c:685 +#: src/irc/irc-recv.c:690 msgid "sets moderated channel flag" msgstr "nastavil značku moderovaného kanálu" -#: src/irc/irc-recv.c:686 +#: src/irc/irc-recv.c:691 msgid "removes moderated channel flag" msgstr "odebral značku moderovaného kanálu" -#: src/irc/irc-recv.c:696 +#: src/irc/irc-recv.c:701 msgid "sets messages from channel only flag" msgstr "nastavil značku kanálu: zprávy pouze z kanálu" -#: src/irc/irc-recv.c:697 +#: src/irc/irc-recv.c:702 msgid "removes messages from channel only flag" msgstr "odebral značku kanálu: zprávy pouze z kanálu" -#: src/irc/irc-recv.c:714 +#: src/irc/irc-recv.c:719 msgid "gives channel operator status to" msgstr "dal status operátora na" -#: src/irc/irc-recv.c:715 +#: src/irc/irc-recv.c:720 msgid "removes channel operator status from" msgstr "odebral status operátora z" -#: src/irc/irc-recv.c:742 +#: src/irc/irc-recv.c:747 msgid "sets private channel flag" msgstr "nastavil značku soukromého kanálu" -#: src/irc/irc-recv.c:743 +#: src/irc/irc-recv.c:748 msgid "removes private channel flag" msgstr "odebral značku soukromého kanálu" -#: src/irc/irc-recv.c:760 +#: src/irc/irc-recv.c:765 msgid "sets quiet on" msgstr "nastavil ticho na" -#: src/irc/irc-recv.c:761 +#: src/irc/irc-recv.c:766 msgid "removes quiet on" msgstr "odebral ticho z" -#: src/irc/irc-recv.c:778 +#: src/irc/irc-recv.c:783 msgid "sets secret channel flag" msgstr "nastavil značku tajného kanálu" -#: src/irc/irc-recv.c:779 +#: src/irc/irc-recv.c:784 msgid "removes secret channel flag" msgstr "odebral značku tajného kanálu" -#: src/irc/irc-recv.c:789 +#: src/irc/irc-recv.c:794 msgid "sets topic protection" msgstr "nastavil protekci tématu" -#: src/irc/irc-recv.c:790 +#: src/irc/irc-recv.c:795 msgid "removes topic protection" msgstr "odebral protekci tématu" -#: src/irc/irc-recv.c:807 +#: src/irc/irc-recv.c:812 msgid "gives voice to" msgstr "dal voice na" -#: src/irc/irc-recv.c:808 +#: src/irc/irc-recv.c:813 msgid "removes voice from" msgstr "odebral voice z" -#: src/irc/irc-recv.c:851 src/irc/irc-recv.c:933 src/irc/irc-recv.c:1354 -#: src/irc/irc-recv.c:2088 +#: src/irc/irc-recv.c:856 src/irc/irc-recv.c:938 src/irc/irc-recv.c:1359 +#: src/irc/irc-recv.c:2093 #, c-format msgid "%s \"%s\" command received without host\n" msgstr "%s \"%s\" příkaz obdržen bez hosta\n" -#: src/irc/irc-recv.c:861 +#: src/irc/irc-recv.c:866 #, c-format msgid "%s \"%s\" command received without channel or nickname\n" msgstr "%s \"%s\" příkaz obdržen bez kanálu nebo přezdívky\n" -#: src/irc/irc-recv.c:908 +#: src/irc/irc-recv.c:913 msgid "mode changed by" msgstr "mód změnil" -#: src/irc/irc-recv.c:970 +#: src/irc/irc-recv.c:975 msgid "You are " msgstr "Jsi " -#: src/irc/irc-recv.c:977 +#: src/irc/irc-recv.c:982 msgid " is " msgstr " je " -#: src/irc/irc-recv.c:981 +#: src/irc/irc-recv.c:986 msgid "now known as " msgstr "nyní známý jako " -#: src/irc/irc-recv.c:1048 +#: src/irc/irc-recv.c:1053 #, c-format msgid "%s nickname not found for \"%s\" command\n" msgstr "%s přezdívka nenalezena pro příkaz \"%s\"\n" -#: src/irc/irc-recv.c:1064 src/irc/irc-recv.c:1096 +#: src/irc/irc-recv.c:1069 src/irc/irc-recv.c:1101 msgid "reply from" msgstr "odpověd od" -#: src/irc/irc-recv.c:1099 +#: src/irc/irc-recv.c:1104 #, c-format msgid ": %ld.%ld seconds\n" msgstr ": %ld %ld sekund\n" -#: src/irc/irc-recv.c:1138 src/irc/irc-recv.c:2042 src/irc/irc-dcc.c:1044 +#: src/irc/irc-recv.c:1143 src/irc/irc-recv.c:2047 src/irc/irc-dcc.c:1044 #, c-format msgid "Private %s> %s" msgstr "Soukromý %s> %s" -#: src/irc/irc-recv.c:1201 +#: src/irc/irc-recv.c:1206 #, c-format msgid "%s \"%s\" command received without host or channel\n" msgstr "%s \"%s\" příkaz obdržen bez hosta nebo kanálu\n" -#: src/irc/irc-recv.c:1250 +#: src/irc/irc-recv.c:1255 msgid " has left " msgstr " opustil " -#: src/irc/irc-recv.c:1402 src/irc/irc-recv.c:1957 +#: src/irc/irc-recv.c:1407 src/irc/irc-recv.c:1962 #, c-format msgid "On %s: * %s %s" msgstr "Na %s: * %s %s" -#: src/irc/irc-recv.c:1426 +#: src/irc/irc-recv.c:1431 #, c-format msgid "Received a CTCP SOUND \"%s\" from " msgstr "Obdržen CTCP ZVUK \"%s\" od " -#: src/irc/irc-recv.c:1459 src/irc/irc-recv.c:1490 src/irc/irc-recv.c:1594 -#: src/irc/irc-recv.c:1634 src/irc/irc-recv.c:1997 +#: src/irc/irc-recv.c:1464 src/irc/irc-recv.c:1495 src/irc/irc-recv.c:1599 +#: src/irc/irc-recv.c:1639 src/irc/irc-recv.c:2002 msgid "received from" msgstr "obdrženo od" -#: src/irc/irc-recv.c:1486 src/irc/irc-recv.c:1993 +#: src/irc/irc-recv.c:1491 src/irc/irc-recv.c:1998 msgid "Unknown CTCP " msgstr "Neznámé CTCP " -#: src/irc/irc-recv.c:1518 +#: src/irc/irc-recv.c:1523 #, c-format msgid "On %s: %s> %s" msgstr "Na: %s: %s> %s" -#: src/irc/irc-recv.c:1650 src/irc/irc-recv.c:1671 src/irc/irc-recv.c:1687 -#: src/irc/irc-recv.c:1703 src/irc/irc-recv.c:1729 src/irc/irc-recv.c:1750 -#: src/irc/irc-recv.c:1766 src/irc/irc-recv.c:1791 src/irc/irc-recv.c:1812 -#: src/irc/irc-recv.c:1828 src/irc/irc-recv.c:1853 src/irc/irc-recv.c:1874 -#: src/irc/irc-recv.c:1889 src/irc/irc-recv.c:2064 src/irc/irc-recv.c:2408 -#: src/irc/irc-recv.c:3988 src/irc/irc-recv.c:4046 src/irc/irc-recv.c:4205 -#: src/irc/irc-recv.c:4220 src/irc/irc-recv.c:4235 src/irc/irc-recv.c:4250 -#: src/irc/irc-recv.c:4263 src/irc/irc-recv.c:4317 src/irc/irc-recv.c:4331 +#: src/irc/irc-recv.c:1655 src/irc/irc-recv.c:1676 src/irc/irc-recv.c:1692 +#: src/irc/irc-recv.c:1708 src/irc/irc-recv.c:1734 src/irc/irc-recv.c:1755 +#: src/irc/irc-recv.c:1771 src/irc/irc-recv.c:1796 src/irc/irc-recv.c:1817 +#: src/irc/irc-recv.c:1833 src/irc/irc-recv.c:1858 src/irc/irc-recv.c:1879 +#: src/irc/irc-recv.c:1894 src/irc/irc-recv.c:2069 src/irc/irc-recv.c:2413 +#: src/irc/irc-recv.c:3993 src/irc/irc-recv.c:4051 src/irc/irc-recv.c:4210 +#: src/irc/irc-recv.c:4225 src/irc/irc-recv.c:4240 src/irc/irc-recv.c:4255 +#: src/irc/irc-recv.c:4268 src/irc/irc-recv.c:4322 src/irc/irc-recv.c:4336 #, c-format msgid "%s cannot parse \"%s\" command\n" msgstr "%s nemohu rozpársovat příkaz \"%s\"\n" -#: src/irc/irc-recv.c:1902 +#: src/irc/irc-recv.c:1907 #, c-format msgid "%s unknown DCC CHAT type received from " msgstr "%s neznámý DCC CHAT typ obdržen od " -#: src/irc/irc-recv.c:2119 +#: src/irc/irc-recv.c:2124 msgid "has quit" msgstr "ukončil" -#: src/irc/irc-recv.c:2244 +#: src/irc/irc-recv.c:2249 #, c-format msgid "%s \"%s\" command received without channel\n" msgstr "%s \"%s\" příkaz obdržen bez kanálu\n" -#: src/irc/irc-recv.c:2276 +#: src/irc/irc-recv.c:2281 msgid " has changed topic for " msgstr " změnil téma pro " -#: src/irc/irc-recv.c:2281 +#: src/irc/irc-recv.c:2286 #, c-format msgid " to: \"%s\"\n" msgstr " pro: \"%s\"\n" -#: src/irc/irc-recv.c:2287 +#: src/irc/irc-recv.c:2292 msgid " has unset topic for " msgstr " zrušil téma pro " -#: src/irc/irc-recv.c:2396 +#: src/irc/irc-recv.c:2401 msgid "User mode" msgstr "Uživatelský mód" -#: src/irc/irc-recv.c:2451 +#: src/irc/irc-recv.c:2456 #, c-format msgid " is away: %s\n" msgstr " je pryč: %s\n" -#: src/irc/irc-recv.c:2533 +#: src/irc/irc-recv.c:2538 msgid "Users online: " msgstr "Uživatelů online: " -#: src/irc/irc-recv.c:3023 +#: src/irc/irc-recv.c:3028 msgid "idle: " msgstr "nečinný: " -#: src/irc/irc-recv.c:3031 +#: src/irc/irc-recv.c:3036 msgid "days" msgstr "dní" -#: src/irc/irc-recv.c:3031 +#: src/irc/irc-recv.c:3036 msgid "day" msgstr "den" -#: src/irc/irc-recv.c:3041 +#: src/irc/irc-recv.c:3046 msgid "hours" msgstr "hodin" -#: src/irc/irc-recv.c:3041 +#: src/irc/irc-recv.c:3046 msgid "hour" msgstr "hodina" -#: src/irc/irc-recv.c:3047 +#: src/irc/irc-recv.c:3052 msgid "minutes" msgstr "minut" -#: src/irc/irc-recv.c:3047 +#: src/irc/irc-recv.c:3052 msgid "minute" msgstr "minuta" -#: src/irc/irc-recv.c:3053 +#: src/irc/irc-recv.c:3058 msgid "seconds" msgstr "sekund" -#: src/irc/irc-recv.c:3053 +#: src/irc/irc-recv.c:3058 msgid "second" msgstr "sekunda" -#: src/irc/irc-recv.c:3058 +#: src/irc/irc-recv.c:3063 msgid "signon at: " msgstr "připojen: " -#: src/irc/irc-recv.c:3154 +#: src/irc/irc-recv.c:3159 msgid "Channels: " msgstr "Kanály: " -#: src/irc/irc-recv.c:3450 +#: src/irc/irc-recv.c:3455 msgid "No topic set for " msgstr "Není nastaveno téma pro " -#: src/irc/irc-recv.c:3507 +#: src/irc/irc-recv.c:3512 msgid "Topic for " msgstr "Téma pro " -#: src/irc/irc-recv.c:3511 +#: src/irc/irc-recv.c:3516 #, c-format msgid " is: \"%s\"\n" msgstr " je: \"%s\"\n" -#: src/irc/irc-recv.c:3530 src/irc/irc-recv.c:3619 src/irc/irc-recv.c:3672 +#: src/irc/irc-recv.c:3535 src/irc/irc-recv.c:3624 src/irc/irc-recv.c:3677 #, c-format msgid "%s cannot identify channel for \"%s\" command\n" msgstr "%s nemohu identifikovat kanál pro příkaz \"%s\"\n" -#: src/irc/irc-recv.c:3580 +#: src/irc/irc-recv.c:3585 msgid "Topic set by " msgstr "Téma nasteveno " -#: src/irc/irc-recv.c:3601 +#: src/irc/irc-recv.c:3606 #, c-format msgid "%s cannot identify date/time for \"%s\" command\n" msgstr "%s nemohu identofikovat datum/čas pro příkaz \"%s\"\n" -#: src/irc/irc-recv.c:3610 src/irc/irc-recv.c:3681 +#: src/irc/irc-recv.c:3615 src/irc/irc-recv.c:3686 #, c-format msgid "%s cannot identify nickname for \"%s\" command\n" msgstr "%s nemohu identifikovat přezdívku pro příkaz \"%s\"\n" -#: src/irc/irc-recv.c:3660 +#: src/irc/irc-recv.c:3665 msgid "has invited" msgstr "pozval" -#: src/irc/irc-recv.c:3663 src/irc/irc-recv.c:3909 src/common/command.c:1393 +#: src/irc/irc-recv.c:3668 src/irc/irc-recv.c:3914 src/common/command.c:1442 msgid "on" msgstr "na" -#: src/irc/irc-recv.c:3718 +#: src/irc/irc-recv.c:3723 msgid "Channel reop" msgstr "reop kanálu" -#: src/irc/irc-recv.c:4034 +#: src/irc/irc-recv.c:4039 #, c-format msgid "%s cannot create nick \"%s\" for channel \"%s\"\n" msgstr "%s nemohu vztvořit přezdívku \"%s\" pro kanál \"%s\"\n" -#: src/irc/irc-recv.c:4093 +#: src/irc/irc-recv.c:4098 msgid "Nicks " msgstr "Přezdívky " -#: src/irc/irc-recv.c:4113 +#: src/irc/irc-recv.c:4118 msgid "Channel " msgstr "Kanál " -#: src/irc/irc-recv.c:4124 +#: src/irc/irc-recv.c:4129 msgid "nicks" msgstr "přezdívky" -#: src/irc/irc-recv.c:4124 +#: src/irc/irc-recv.c:4129 msgid "nick" msgstr "přezdívka" -#: src/irc/irc-recv.c:4132 +#: src/irc/irc-recv.c:4137 msgid "ops" msgstr "ops" -#: src/irc/irc-recv.c:4132 +#: src/irc/irc-recv.c:4137 msgid "op" msgstr "op" -#: src/irc/irc-recv.c:4141 +#: src/irc/irc-recv.c:4146 msgid "halfops" msgstr "částeční-ops" -#: src/irc/irc-recv.c:4141 +#: src/irc/irc-recv.c:4146 msgid "halfop" msgstr "částečný-op" -#: src/irc/irc-recv.c:4150 +#: src/irc/irc-recv.c:4155 msgid "voices" msgstr "voices" -#: src/irc/irc-recv.c:4150 +#: src/irc/irc-recv.c:4155 msgid "voice" msgstr "voice" -#: src/irc/irc-recv.c:4159 +#: src/irc/irc-recv.c:4164 msgid "normal" msgstr "normální" -#: src/irc/irc-recv.c:4280 +#: src/irc/irc-recv.c:4285 msgid "banned by" msgstr "zakázán" -#: src/irc/irc-recv.c:4375 +#: src/irc/irc-recv.c:4380 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 2nd nickname \"%s\"\n" msgstr "" "%s: přezdívka \"%s\" je již používaná, zkouším druhou přezdívku \"%s\"\n" -#: src/irc/irc-recv.c:4387 +#: src/irc/irc-recv.c:4392 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 3rd nickname \"%s\"\n" msgstr "" "%s: přezdívka \"%s\" je již používaná, zkouším třetí přezdívku \"%s\"\n" -#: src/irc/irc-recv.c:4399 +#: src/irc/irc-recv.c:4404 #, c-format msgid "" "%s: all declared nicknames are already in use, closing connection with " @@ -1871,7 +1870,7 @@ msgstr "" "%s: všechny deklarované přezdívky jsou již používány, zavírám spojení se " "serverem!\n" -#: src/irc/irc-recv.c:4409 +#: src/irc/irc-recv.c:4414 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 1st nickname \"%s\"\n" msgstr "" @@ -2067,134 +2066,89 @@ msgstr "%s nedostatek paměti pro vytvoření ignorování\n" msgid "Removing ignore:" msgstr "Odebírám ignorování:" -#: src/plugins/perl/wee-perl.c:88 src/plugins/perl/wee-perl.c:463 -#: src/plugins/python/wee-python.c:81 src/plugins/ruby/wee-ruby.c:89 +#: src/plugins/plugins.c:226 #, c-format msgid "" -"%s error: unable to register \"%s\" script (another script already exists " -"with this name)\n" +"%s plugin %s: unable to add handler for IRC command \"%s\" (not enough " +"memory)\n" msgstr "" -"%s chyba: nemohu zaregistrovat \"%s\" skript (jiný skript již existuje se " -"stejným jménem)\n" - -#: src/plugins/perl/wee-perl.c:112 src/plugins/perl/wee-perl.c:487 -#: src/plugins/python/wee-python.c:105 src/plugins/ruby/wee-ruby.c:113 -#, c-format -msgid "Registered %s script: \"%s\", version %s (%s)\n" -msgstr "Zaregistrován %s skript: \"%s\", verze %s (%s)\n" - -#: src/plugins/perl/wee-perl.c:119 src/plugins/perl/wee-perl.c:494 -#: src/plugins/python/wee-python.c:112 src/plugins/ruby/wee-ruby.c:120 -#, c-format -msgid "%s error: unable to load script \"%s\" (not enough memory)\n" -msgstr "%s chyba: nemohu načíst skript \"%s\" (nedostatek pameti)\n" - -#: src/plugins/perl/wee-perl.c:234 src/plugins/perl/wee-perl.c:520 -#: src/plugins/perl/wee-perl.c:568 src/plugins/perl/wee-perl.c:595 -#: src/plugins/perl/wee-perl.c:640 src/plugins/perl/wee-perl.c:670 -#: src/plugins/perl/wee-perl.c:710 src/plugins/python/wee-python.c:60 -#: src/plugins/python/wee-python.c:142 src/plugins/python/wee-python.c:179 -#: src/plugins/python/wee-python.c:211 src/plugins/python/wee-python.c:243 -#: src/plugins/python/wee-python.c:272 src/plugins/python/wee-python.c:311 -#: src/plugins/ruby/wee-ruby.c:58 src/plugins/ruby/wee-ruby.c:146 -#: src/plugins/ruby/wee-ruby.c:192 src/plugins/ruby/wee-ruby.c:226 -#: src/plugins/ruby/wee-ruby.c:267 src/plugins/ruby/wee-ruby.c:298 -#: src/plugins/ruby/wee-ruby.c:339 -#, c-format -msgid "%s error: wrong parameters for \"%s\" function\n" -msgstr "%s chyba: špatný parametr pro funkci \"%s\"\n" - -#: src/plugins/perl/wee-perl.c:270 src/plugins/perl/wee-perl.c:374 -#: src/plugins/perl/wee-perl.c:723 src/plugins/python/wee-python.c:331 -#: src/plugins/ruby/wee-ruby.c:367 -#, c-format -msgid "%s error: server not found for \"%s\" function\n" -msgstr "%s chyba: server pro funkci \"%s\" nenalezen\n" - -#: src/plugins/perl/wee-perl.c:873 src/plugins/python/wee-python.c:457 -#, c-format -msgid "Loading %s module \"weechat\"\n" -msgstr "Načítám %s modul \"weechat\"\n" - -#: src/plugins/perl/wee-perl.c:932 -#, c-format -msgid "Perl error: %s" -msgstr "Chyba Perlu: %s" -#: src/plugins/perl/wee-perl.c:942 +#: src/plugins/plugins.c:261 #, c-format -msgid "%s error: too much values from \"%s\" (%d). Expected: 1.\n" -msgstr "%s chyba: příliš mnoho hodnot od \"%s\" (%d). Očekávána 1.\n" +msgid "" +"%s plugin %s: unable to add handler for \"%s\" command (already exists)\n" +msgstr "" -#: src/plugins/perl/wee-perl.c:964 src/plugins/perl/wee-perl.c:966 -#: src/plugins/python/wee-python.c:615 src/plugins/python/wee-python.c:617 +#: src/plugins/plugins.c:296 #, c-format -msgid "Loading %s script \"%s\"\n" -msgstr "Načítám %s skript \"%s\"\n" +msgid "" +"%s plugin %s: unable to add handler for \"%s\" command (not enough memory)\n" +msgstr "" -#: src/plugins/perl/wee-perl.c:1015 src/plugins/python/wee-python.c:686 -#: src/plugins/ruby/wee-ruby.c:555 +#: src/plugins/plugins.c:573 #, c-format -msgid "Unloading %s script \"%s\"\n" -msgstr "Vyjímám %s skript \"%s\"\n" +msgid "%s unable to load plugin \"%s\": %s\n" +msgstr "" -#: src/plugins/perl/wee-perl.c:1032 src/plugins/python/wee-python.c:703 -#: src/plugins/ruby/wee-ruby.c:572 +#: src/plugins/plugins.c:584 #, c-format -msgid "Unloading all %s scripts...\n" -msgstr "Odebírám všechny %s skripty...\n" +msgid "%s symbol \"plugin_name\" not found in plugin \"%s\", failed to load\n" +msgstr "" -#: src/plugins/perl/wee-perl.c:1037 src/plugins/python/wee-python.c:708 -#: src/plugins/ruby/wee-ruby.c:577 +#: src/plugins/plugins.c:595 #, c-format -msgid "%s scripts unloaded\n" -msgstr "%s skripty odebrány\n" +msgid "" +"%s unable to load plugin \"%s\": a plugin with same name already exists\n" +msgstr "" -#: src/plugins/python/wee-python.c:452 +#: src/plugins/plugins.c:607 #, c-format -msgid "%s error: error while launching interpreter\n" -msgstr "%s chyba: chyba při zpouštění interpteteru\n" +msgid "" +"%s symbol \"plugin_description\" not found in plugin \"%s\", failed to load\n" +msgstr "" -#: src/plugins/python/wee-python.c:481 +#: src/plugins/plugins.c:618 #, c-format -msgid "%s error: error while redirecting stdout and stderr\n" -msgstr "%s chyba: chyba při přesměrování stdout a stderr\n" +msgid "" +"%s symbol \"plugin_version\" not found in plugin \"%s\", failed to load\n" +msgstr "" -#: src/plugins/python/wee-python.c:534 src/plugins/python/wee-python.c:562 -#: src/plugins/python/wee-python.c:594 +#: src/plugins/plugins.c:629 #, c-format -msgid "%s error: unable to run function \"%s\" in script (not enough memory)\n" -msgstr "%s chyba: nemohu pustit funkci \"%s\" ve skriptu (nedostatek pameti)\n" +msgid "" +"%s function \"weechat_plugin_init\" not found in plugin \"%s\", failed to " +"load\n" +msgstr "" -#: src/plugins/python/wee-python.c:584 +#: src/plugins/plugins.c:683 #, c-format -msgid "%s error: error while running function \"%s\"\n" -msgstr "%s chyba: chyba při běhu funkce \"%s\"\n" +msgid "Initializing plugin \"%s\" %s\n" +msgstr "" -#: src/plugins/python/wee-python.c:623 +#: src/plugins/plugins.c:691 #, c-format -msgid "%s error: error while opening file \"%s\"\n" -msgstr "%s chyba: chyba při otevírání souboru\"%s\"\n" +msgid "%s unable to initialize plugin \"%s\"\n" +msgstr "" -#: src/plugins/python/wee-python.c:632 +#: src/plugins/plugins.c:702 #, c-format -msgid "%s error: error while parsing file \"%s\"\n" -msgstr "%s chyba: chyba při parsování souboru \"%s\"\n" +msgid "%s unable to load plugin \"%s\" (not enough memory)\n" +msgstr "" -#: src/plugins/python/wee-python.c:734 +#: src/plugins/plugins.c:710 #, c-format -msgid "%s error: error while freeing interpreter\n" -msgstr "%s chyba: chyba při uvolňování interpreteru\n" +msgid "Plugin \"%s\" (%s) loaded.\n" +msgstr "" -#: src/plugins/plugins.c:97 +#: src/plugins/plugins.c:831 #, c-format -msgid "Auto-loading %s script: %s%s%s\n" -msgstr "Automaticky načítám %s skript: %s%s%s\n" +msgid "Plugin \"%s\" unloaded.\n" +msgstr "" -#: src/plugins/plugins.c:223 +#: src/plugins/plugins.c:837 #, c-format -msgid "%s unable to add handler for \"%s\" message (not enough memory)\n" -msgstr "%s nemohu přidat obsluhovač pro zprávu \"%s\" (nedostatek paměti)\n" +msgid "%s plugin \"%s\" not found\n" +msgstr "" #: src/gui/curses/gui-input.c:340 #, c-format @@ -2418,7 +2372,7 @@ msgstr "vyčisti hotlist" msgid "grab a key" msgstr "zachytit klávesu" -#: src/gui/gui-keyboard.c:426 src/common/command.c:1594 +#: src/gui/gui-keyboard.c:426 src/common/command.c:1643 #, c-format msgid "%s unable to bind key \"%s\"\n" msgstr "%s nemohu napojit kalávesu \"%s\"\n" @@ -2591,57 +2545,25 @@ msgstr "" "(používejte opatrně)" #: src/common/command.c:92 -msgid "list/load/unload Perl scripts" -msgstr "vypše/načte/zpruší Perlové skripty" +msgid "list/load/unload plugins" +msgstr "" -#: src/common/command.c:93 src/common/command.c:98 src/common/command.c:103 +#: src/common/command.c:93 msgid "[load filename] | [autoload] | [reload] | [unload]" msgstr "[load jméno_souboru] | [autoload] | [reload] | [unload]" #: src/common/command.c:94 msgid "" -"filename: Perl script (file) to load\n" +"filename: WeeChat plugin (file) to load\n" "\n" -"Without argument, /perl command lists all loaded Perl scripts." +"Without argument, /plugin command lists all loaded plugins." msgstr "" -"jméno_souboru: Perlový skript (soubor) pro načtení\n" -"\n" -"Bez argumentů, vypíše příkaz /perl seznam všech načtených perlových skriptů." #: src/common/command.c:97 -msgid "list/load/unload Python scripts" -msgstr "vypíše/načte/zruší Pythonové skripty" - -#: src/common/command.c:99 -msgid "" -"filename: Python script (file) to load\n" -"\n" -"Without argument, /python command lists all loaded Python scripts." -msgstr "" -"jméno_souboru: Pythonový skript (soubor) pro načtení\n" -"\n" -"Bez argumentů, vypíše příkaz /python seznam všech načtených pythonových " -"skriptů." - -#: src/common/command.c:102 -msgid "list/load/unload Ruby scripts" -msgstr "vypíše/načte/zruší Ruby skripty" - -#: src/common/command.c:104 -msgid "" -"filename: Ruby script (file) to load\n" -"\n" -"Without argument, /ruby command lists all loaded Ruby scripts." -msgstr "" -"jméno_souboru: Ruby skript (soubor) pro načtení\n" -"\n" -"Bez argumentů, vypíše příkaz /ruby seznam všech načtených ruby skriptů." - -#: src/common/command.c:107 msgid "list, add or remove servers" msgstr "vypíše, přídá nebo odebere servery" -#: src/common/command.c:108 +#: src/common/command.c:98 msgid "" "[servername] | [servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-" "pwd password] [-nicks nick1 nick2 nick3] [-username username] [-realname " @@ -2653,7 +2575,7 @@ msgstr "" "uživatelské_jméno] [-realname pravé_jméno] [-command příkaz] [-autojoin kanál" "[,kanál]] ] | [del jméno_serveru]" -#: src/common/command.c:113 +#: src/common/command.c:103 msgid "" "servername: server name, for internal & display use\n" "hostname: name or IP address of server\n" @@ -2679,54 +2601,54 @@ msgstr "" "uživatelské_jméno: uživatelské jméno\n" "pravé_jméno: pravé jméno uživatele" -#: src/common/command.c:125 +#: src/common/command.c:115 msgid "save config to disk" msgstr "uloží nastavení na disk" -#: src/common/command.c:126 +#: src/common/command.c:116 msgid "[file]" msgstr "[soubor]" -#: src/common/command.c:126 +#: src/common/command.c:116 msgid "file: filename for writing config" msgstr "soubor: jméno souboru pro zapsání" -#: src/common/command.c:128 +#: src/common/command.c:118 msgid "set config parameters" msgstr "nastaví konfigurační parametry" -#: src/common/command.c:129 +#: src/common/command.c:119 msgid "[option [ = value]]" msgstr "[volba [ = hodnota]]" -#: src/common/command.c:130 +#: src/common/command.c:120 msgid "" "option: name of an option (if name is full and no value is given, then help " "is displayed on option)\n" "value: value for option" msgstr "" -#: src/common/command.c:134 +#: src/common/command.c:124 msgid "remove an alias" msgstr "odebere alias" -#: src/common/command.c:135 +#: src/common/command.c:125 msgid "alias_name" msgstr "jméno_aliasu" -#: src/common/command.c:135 +#: src/common/command.c:125 msgid "alias_name: name of alias to remove" msgstr "jméno_aliasu: jméno aliasu pro odebrání" -#: src/common/command.c:137 +#: src/common/command.c:127 msgid "unignore IRC messages and/or hosts" msgstr "zruší ignorování IRC zprávy a/nebo hosta" -#: src/common/command.c:138 +#: src/common/command.c:128 msgid "[number | [mask [[type | command] [channel [server]]]]]" msgstr "[číslo | [maska [[typ | příkaz] [kanál [server]]]]]" -#: src/common/command.c:139 +#: src/common/command.c:129 msgid "" " number: # of ignore to unignore (number is displayed by list of ignore)\n" " mask: nick or host mask to unignore\n" @@ -2749,15 +2671,15 @@ msgstr "" "Pro každý argument znamená '*' všechno.\n" "Bez argunetů, vypíše příkaz /unignore seznam definovaných ignorací." -#: src/common/command.c:148 +#: src/common/command.c:138 msgid "manage windows" msgstr "spravuje okna" -#: src/common/command.c:149 +#: src/common/command.c:139 msgid "[list | splith | splitv | [merge [down | up | left | right | all]]]" msgstr "[list | splith | splitv | [merge [down | up | left | right | all]]]" -#: src/common/command.c:150 +#: src/common/command.c:140 msgid "" "list: list opened windows (no parameter implies this list)\n" "splith: split current window horizontally\n" @@ -2769,28 +2691,28 @@ msgstr "" "splitv: rozdělí aktuální okno vertikálně\n" "merge: spojí okno s jiným" -#: src/common/command.c:296 +#: src/common/command.c:286 #, c-format msgid "%s alias or command \"%s\" already exists!\n" msgstr "%s alias nebo příkaz \"%s\" již existuje!\n" -#: src/common/command.c:306 +#: src/common/command.c:296 #, c-format msgid "%s alias cannot run another alias!\n" msgstr "%s alias nemůže pouštět jiný ailas!\n" -#: src/common/command.c:313 +#: src/common/command.c:303 #, c-format msgid "%s target command \"%s\" does not exist!\n" msgstr "%s cílový příkaz \"%s\" neexistuje!\n" -#: src/common/command.c:521 +#: src/common/command.c:532 #, c-format msgid "%s wrong argument count for %s command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s špatný počet argumentů pro %s příkaz \"%s\" (očekáváno: %d argumentů%s)\n" -#: src/common/command.c:533 +#: src/common/command.c:544 #, c-format msgid "" "%s wrong argument count for %s command \"%s\" (expected: between %d and %d " @@ -2799,18 +2721,18 @@ msgstr "" "%s špatyný počet argumentů pro %s příkaz \"%s\" (očekáváno: mezi %d a %d " "argumenty%s)\n" -#: src/common/command.c:555 src/common/command.c:625 +#: src/common/command.c:566 src/common/command.c:631 #, c-format msgid "%s command \"%s\" failed\n" msgstr "%s příkaz \"%s\" selhal\n" -#: src/common/command.c:583 +#: src/common/command.c:589 #, c-format msgid "%s wrong argument count for IRC command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s chybný počet argumentů pro IRC příkaz \"%s\" (očekáváno: %d argumentů%s)\n" -#: src/common/command.c:595 +#: src/common/command.c:601 #, c-format msgid "" "%s wrong argument count for IRC command \"%s\" (expected: between %d and %d " @@ -2819,284 +2741,256 @@ msgstr "" "%s špatný počet argumentů pro IRC příkaz \"%s\" (očekáváno: mezi %d a %d " "argumenty%s)\n" -#: src/common/command.c:610 +#: src/common/command.c:616 #, c-format msgid "%s command \"%s\" needs a server connection!\n" msgstr "%s příkaz \"%s\" potřebuje připojení na server!\n" -#: src/common/command.c:674 +#: src/common/command.c:670 #, c-format msgid "%s unknown command \"%s\" (type /help for help)\n" msgstr "%s neznámý příkaz \"%s\" (zadejte /help pro nápovědu)\n" -#: src/common/command.c:777 +#: src/common/command.c:770 #, c-format msgid "%s unable to call handler for message (not enough memory)\n" msgstr "%s nemohu zavolat handler pro zprávu (neodstatek paměti)\n" -#: src/common/command.c:785 +#: src/common/command.c:778 msgid "This window is not a channel!\n" msgstr "Tohe není okno kanálu!\n" -#: src/common/command.c:813 src/common/command.c:837 src/common/command.c:947 +#: src/common/command.c:806 src/common/command.c:830 src/common/command.c:940 #, c-format msgid "%s missing arguments for \"%s\" command\n" msgstr "%s chybí argumenty pro příkaz \"%s\"\n" -#: src/common/command.c:822 +#: src/common/command.c:815 #, c-format msgid "Alias \"%s\" => \"%s\" created\n" msgstr "Alias \"%s\" => \"%s\" vytvořen\n" -#: src/common/command.c:828 +#: src/common/command.c:821 #, c-format msgid "Failed to create alias \"%s\" => \"%s\" (not enough memory)\n" msgstr "Selhalo vytvoření aliasu \"%s\" => \"%s\" (nedostatek paměti)\n" -#: src/common/command.c:848 +#: src/common/command.c:841 msgid "List of aliases:\n" msgstr "Seznam pro aliasy:\n" -#: src/common/command.c:860 +#: src/common/command.c:853 msgid "No alias defined.\n" msgstr "Žádné aliasy nejsou definovány.\n" -#: src/common/command.c:883 +#: src/common/command.c:876 msgid "Channel: " msgstr "Kanál: " -#: src/common/command.c:886 src/common/command.c:896 +#: src/common/command.c:879 src/common/command.c:889 msgid " (server: " msgstr " (server: " -#: src/common/command.c:893 +#: src/common/command.c:886 msgid "Private with: " msgstr "Soukromý s: " -#: src/common/command.c:927 +#: src/common/command.c:920 msgid "Opened buffers:\n" msgstr "Otevřené buffery:\n" -#: src/common/command.c:970 +#: src/common/command.c:963 #, c-format msgid "%s incorrect buffer number\n" msgstr "%s nekorektní číslo bufferu\n" -#: src/common/command.c:984 +#: src/common/command.c:977 #, c-format msgid "%s can not close the single buffer\n" msgstr "%s nemohu zavřít jediný buffer\n" -#: src/common/command.c:994 +#: src/common/command.c:987 #, c-format msgid "%s can not close server buffer while channels are opened\n" msgstr "%s nemohu zavřít buffer serveru dokud jsou otevřeny kanály\n" -#: src/common/command.c:1035 +#: src/common/command.c:1028 msgid "Notify levels: " msgstr "Level upozornění: " -#: src/common/command.c:1063 src/common/command.c:1085 +#: src/common/command.c:1056 src/common/command.c:1078 #, c-format msgid "%s incorrect notify level (must be between %d and %d)\n" msgstr "%s nekorektní level upozornění (musí být mezi %d a %d)\n" -#: src/common/command.c:1072 +#: src/common/command.c:1065 #, c-format msgid "%s incorrect buffer for notify (must be channel or private)\n" msgstr "%s nekorektní buffer pro upozornění (musí být kanál nebo soukromý)\n" -#: src/common/command.c:1152 +#: src/common/command.c:1145 #, c-format msgid "unknown parameter \"%s\" for \"%s\" command\n" msgstr "neznámý parametr \"%s\" pro příkaz \"%s\"\n" -#: src/common/command.c:1182 +#: src/common/command.c:1175 #, c-format msgid "%s already connected to server \"%s\"!\n" msgstr "%s již vytvořený server \"%s\"!\n" -#: src/common/command.c:1190 +#: src/common/command.c:1183 #, c-format msgid "%s currently connecting to server \"%s\"!\n" msgstr "%s zrovna připojuji k serveru \"%s\"!\n" -#: src/common/command.c:1208 src/common/command.c:1283 +#: src/common/command.c:1201 src/common/command.c:1276 #, c-format msgid "%s server not found\n" msgstr "%s server nenalezen\n" -#: src/common/command.c:1238 src/common/command.c:1722 -#: src/common/command.c:1865 src/common/command.c:2008 -#: src/common/command.c:2828 src/common/command.c:2844 +#: src/common/command.c:1231 src/common/command.c:1753 +#: src/common/command.c:2572 src/common/command.c:2588 #, c-format msgid "%s unknown option for \"%s\" command\n" msgstr "%s neznámá volba pro příkaz \"%s\"\n" -#: src/common/command.c:1267 +#: src/common/command.c:1260 #, c-format msgid "%s not connected to server \"%s\"!\n" msgstr "%s nepřipojen k serveru \"%s\"!\n" -#: src/common/command.c:1275 +#: src/common/command.c:1268 msgid "Auto-reconnection is cancelled\n" msgstr "Automatické znovupřipojené je zrušeno\n" -#: src/common/command.c:1301 src/common/weechat.c:346 +#: src/common/command.c:1299 src/common/weechat.c:349 #, c-format msgid "%s internal commands:\n" msgstr "%s vnitřní příkazy:\n" -#: src/common/command.c:1310 src/common/weechat.c:366 +#: src/common/command.c:1308 src/common/weechat.c:369 #, c-format msgid "IRC commands:\n" msgstr "IRC příkazy:\n" -#: src/common/command.c:1377 +#: src/common/command.c:1321 +msgid "Plugin commands:\n" +msgstr "" + +#: src/common/command.c:1425 #, c-format msgid "No help available, \"%s\" is an unknown command\n" msgstr "Není dostupná žádná nápověda, \"%s\" je neznámý příkaz\n" -#: src/common/command.c:1398 +#: src/common/command.c:1447 msgid " ignoring " msgstr " ignoruji " -#: src/common/command.c:1422 +#: src/common/command.c:1471 msgid "List of ignore:\n" msgstr "Seznam ignorování:\n" -#: src/common/command.c:1437 +#: src/common/command.c:1486 msgid "No ignore defined.\n" msgstr "Žádné ignorování není definováno.\n" -#: src/common/command.c:1463 +#: src/common/command.c:1512 msgid "New ignore:" msgstr "Nové ignorování:" -#: src/common/command.c:1482 +#: src/common/command.c:1531 msgid "New key binding:\n" msgstr "Nová klávesová zkratka:\n" -#: src/common/command.c:1515 +#: src/common/command.c:1564 msgid "Key bindings:\n" msgstr "Klávesové zkratky:\n" -#: src/common/command.c:1527 +#: src/common/command.c:1576 #, c-format msgid "Key \"%s\" unbinded\n" msgstr "Klávesa \"%s\" odpojena\n" -#: src/common/command.c:1532 +#: src/common/command.c:1581 #, c-format msgid "%s unable to unbind key \"%s\"\n" msgstr "%s nemohu odpojit klávesu \"%s\"\n" -#: src/common/command.c:1540 src/common/weechat.c:397 +#: src/common/command.c:1589 src/common/weechat.c:400 #, c-format msgid "Internal key functions:\n" msgstr "Vnitřní klávesové funkce:\n" -#: src/common/command.c:1559 +#: src/common/command.c:1608 msgid "Default key bindings restored\n" msgstr "Výchozí klávesové zkratky obnoveny\n" -#: src/common/command.c:1565 +#: src/common/command.c:1614 #, c-format msgid "%s \"-yes\" argument is required for keys reset (securuty reason)\n" msgstr "" "%s \"-yes\" argument je požadován pro reset kaláves (bezpečnostní opatření)\n" -#: src/common/command.c:1621 src/common/command.c:1764 -#: src/common/command.c:1907 -#, c-format -msgid "Registered %s scripts:\n" -msgstr "Registrovány %s skripty:\n" - -#: src/common/command.c:1638 src/common/command.c:1661 -#: src/common/command.c:1684 src/common/command.c:1781 -#: src/common/command.c:1804 src/common/command.c:1827 -#: src/common/command.c:1924 src/common/command.c:1947 -#: src/common/command.c:1970 -msgid " (none)\n" -msgstr " (žádný)\n" +#: src/common/command.c:1670 +msgid "Plugins loaded:\n" +msgstr "" -#: src/common/command.c:1643 src/common/command.c:1786 -#: src/common/command.c:1929 -#, c-format -msgid "%s message handlers:\n" -msgstr "%s obsluhovače zpráv:\n" +#: src/common/command.c:1684 +msgid " message handlers:\n" +msgstr "" -#: src/common/command.c:1652 src/common/command.c:1795 -#: src/common/command.c:1938 +#: src/common/command.c:1690 #, c-format -msgid " IRC(%s) => %s(%s)\n" -msgstr " IRC(%s) => %s(%s)\n" +msgid " IRC(%s)\n" +msgstr "" -#: src/common/command.c:1666 src/common/command.c:1809 -#: src/common/command.c:1952 -#, c-format -msgid "%s command handlers:\n" -msgstr "%s obsluhovače příkazů:\n" +#: src/common/command.c:1696 +msgid " (no message handler)\n" +msgstr "" -#: src/common/command.c:1675 src/common/command.c:1818 -#: src/common/command.c:1961 -#, c-format -msgid " Command /%s => %s(%s)\n" -msgstr " Příkaz /%s => %s(%s)\n" +#: src/common/command.c:1701 +msgid " command handlers:\n" +msgstr "" -#: src/common/command.c:1735 -msgid "" -"WeeChat was build without Perl support.\n" -"Please rebuild WeeChat with \"--enable-perl\" option for ./configure script\n" +#: src/common/command.c:1718 +msgid " (no command handler)\n" msgstr "" -"WeeChat byl přeložen bez podpory Perlu.\n" -"Prosím přeložte WeeChat znovu s \"--enable-perl\" volbou pro ./configure " -"skript\n" -#: src/common/command.c:1878 -msgid "" -"WeeChat was build without Python support.\n" -"Please rebuild WeeChat with \"--enable-python\" option for ./configure " -"script\n" +#: src/common/command.c:1724 +msgid " (no plugin)\n" msgstr "" -"WeeChat byl přeložen bez podpory Pythonu.\n" -"Prosím přeložte WeeChat znovu s \"--enable-python\" volbou pro ./configure " -"skript\n" -#: src/common/command.c:2021 +#: src/common/command.c:1766 msgid "" -"WeeChat was build without Ruby support.\n" -"Please rebuild WeeChat with \"--enable-ruby\" option for ./configure script\n" +"Command \"plugin\" is not available, WeeChat was built without plugins " +"support.\n" msgstr "" -"WeeChat byl přeložen bez podpory Ruby.\n" -"Prosím přeložte WeeChat znovu s \"--enable-ruby\" volbou pro ./configure " -"skript\n" -#: src/common/command.c:2069 +#: src/common/command.c:1813 msgid "No server.\n" msgstr "žádný server.\n" -#: src/common/command.c:2080 +#: src/common/command.c:1824 #, c-format msgid "Server '%s' not found.\n" msgstr "Server '%s' nenalezen.\n" -#: src/common/command.c:2092 +#: src/common/command.c:1836 #, c-format msgid "%s missing servername for \"%s\" command\n" msgstr "%s chybí jméno serveru pro příkaz \"%s\"\n" -#: src/common/command.c:2100 +#: src/common/command.c:1844 #, c-format msgid "%s too much arguments for \"%s\" command, ignoring arguments\n" msgstr "%s příliž mnoho argumentů pro příkaz \"%s\", ignoruji argumety\n" -#: src/common/command.c:2119 +#: src/common/command.c:1863 #, c-format msgid "%s server \"%s\" not found for \"%s\" command\n" msgstr "%s server \"%s\" nenalezen pro příkaz \"%s\"\n" -#: src/common/command.c:2127 +#: src/common/command.c:1871 #, c-format msgid "" "%s you can not delete server \"%s\" because you are connected to. Try /" @@ -3105,172 +2999,172 @@ msgstr "" "%s nemůžete odebrat server \"%s\", protože jste k němu připojent. Skuste " "nejprve /dissconnect %s.\n" -#: src/common/command.c:2143 src/common/command.c:2289 +#: src/common/command.c:1887 src/common/command.c:2033 msgid "Server" msgstr "Server" -#: src/common/command.c:2146 +#: src/common/command.c:1890 msgid "has been deleted\n" msgstr "byl odebrán\n" -#: src/common/command.c:2161 +#: src/common/command.c:1905 #, c-format msgid "%s missing parameters for \"%s\" command\n" msgstr "%s chybí parametry pro příkaz \"%s\"\n" -#: src/common/command.c:2171 +#: src/common/command.c:1915 #, c-format msgid "%s server \"%s\" already exists, can't create it!\n" msgstr "%s server \"%s\" již existuje, nemohu jej vytvořít!\n" -#: src/common/command.c:2200 src/common/command.c:2228 -#: src/common/command.c:2241 src/common/command.c:2267 +#: src/common/command.c:1944 src/common/command.c:1972 +#: src/common/command.c:1985 src/common/command.c:2011 #, c-format msgid "%s missing password for \"%s\" parameter\n" msgstr "%s chybí heslo pro parametr \"%s\"\n" -#: src/common/command.c:2213 +#: src/common/command.c:1957 #, c-format msgid "%s missing nick(s) for \"%s\" parameter\n" msgstr "%s chybí přezdívka/přezdívky pro parametr \"%s\"\n" -#: src/common/command.c:2254 +#: src/common/command.c:1998 #, c-format msgid "%s missing command for \"%s\" parameter\n" msgstr "%s chybí příkaz pro parametr \"%s\"\n" -#: src/common/command.c:2292 +#: src/common/command.c:2036 msgid "created\n" msgstr "vytvořeno\n" -#: src/common/command.c:2298 +#: src/common/command.c:2042 #, c-format msgid "%s unable to create server\n" msgstr "%s nemohu vytvořit server\n" -#: src/common/command.c:2353 +#: src/common/command.c:2097 msgid "(unknown)" msgstr "(neznámý)" -#: src/common/command.c:2376 +#: src/common/command.c:2120 msgid "(password hidden) " msgstr "(heslo schováno) " -#: src/common/command.c:2440 +#: src/common/command.c:2184 #, c-format msgid "%s server \"%s\" not found\n" msgstr "%s server \"%s\" nenalezen\n" -#: src/common/command.c:2471 src/common/command.c:2517 +#: src/common/command.c:2215 src/common/command.c:2261 #, c-format msgid "%s config option \"%s\" not found\n" msgstr "%s volba nastavení \"%s\" nenalezena\n" -#: src/common/command.c:2476 src/common/command.c:2509 +#: src/common/command.c:2220 src/common/command.c:2253 #, c-format msgid "%s incorrect value for option \"%s\"\n" msgstr "%s nekorektní hodnota pro volbu \"%s\"\n" -#: src/common/command.c:2492 +#: src/common/command.c:2236 #, c-format msgid "%s option \"%s\" can not be changed while WeeChat is running\n" msgstr "%s volba \"%s\" nemůže být změněna dokud WeeChat běží\n" -#: src/common/command.c:2597 +#: src/common/command.c:2341 #, c-format msgid "No config option found with \"%s\"\n" msgstr "Nebyla nalezena žádná volba nastavení s \"%s\"\n" -#: src/common/command.c:2600 +#: src/common/command.c:2344 msgid "No config option found\n" msgstr "Nebyla nalezena žádná volba nastavení\n" -#: src/common/command.c:2607 +#: src/common/command.c:2351 msgid "Detail:\n" msgstr "" -#: src/common/command.c:2611 src/common/weechat.c:283 +#: src/common/command.c:2355 src/common/weechat.c:286 #, c-format msgid " . type boolean (values: 'on' or 'off')\n" msgstr " . typ boolean (hodnota: 'on' nebo 'off')\n" -#: src/common/command.c:2612 src/common/command.c:2635 -#: src/common/command.c:2641 src/common/command.c:2647 -#: src/common/weechat.c:284 src/common/weechat.c:307 src/common/weechat.c:313 -#: src/common/weechat.c:319 +#: src/common/command.c:2356 src/common/command.c:2379 +#: src/common/command.c:2385 src/common/command.c:2391 +#: src/common/weechat.c:287 src/common/weechat.c:310 src/common/weechat.c:316 +#: src/common/weechat.c:322 #, c-format msgid " . default value: '%s'\n" msgstr " . výchozí hodnota: '%s'\n" -#: src/common/command.c:2617 src/common/weechat.c:289 +#: src/common/command.c:2361 src/common/weechat.c:292 #, c-format msgid " . type integer (values: between %d and %d)\n" msgstr " . typ celočíselný (hodnoty: mezi %d a %d)\n" -#: src/common/command.c:2620 src/common/weechat.c:292 +#: src/common/command.c:2364 src/common/weechat.c:295 #, c-format msgid " . default value: %d\n" msgstr " . výchozí hodnota: %d\n" -#: src/common/command.c:2624 src/common/weechat.c:296 +#: src/common/command.c:2368 src/common/weechat.c:299 #, c-format msgid " . type string (values: " msgstr " . typ řetězec (hodnoty: " -#: src/common/command.c:2637 src/common/command.c:2643 -#: src/common/command.c:2649 src/common/weechat.c:309 src/common/weechat.c:315 -#: src/common/weechat.c:321 +#: src/common/command.c:2381 src/common/command.c:2387 +#: src/common/command.c:2393 src/common/weechat.c:312 src/common/weechat.c:318 +#: src/common/weechat.c:324 msgid "empty" msgstr "prázdný" -#: src/common/command.c:2640 src/common/weechat.c:312 +#: src/common/command.c:2384 src/common/weechat.c:315 #, c-format msgid " . type color (Curses or Gtk color, look at WeeChat doc)\n" msgstr " . typ barva (Curses nebo Gtk barva, viz WeeChat dokumentace)\n" -#: src/common/command.c:2646 src/common/weechat.c:318 +#: src/common/command.c:2390 src/common/weechat.c:321 #, c-format msgid " . type string (any string)\n" msgstr " . typ řetězec (jakýkoliv řetězec)\n" -#: src/common/command.c:2652 src/common/weechat.c:324 +#: src/common/command.c:2396 src/common/weechat.c:327 #, c-format msgid " . description: %s\n" msgstr " . popis: %s\n" -#: src/common/command.c:2659 +#: src/common/command.c:2403 #, c-format msgid "config option(s) found with \"%s\"\n" msgstr "volba/volby nastavení nalezeny s \"%s\"\n" -#: src/common/command.c:2662 +#: src/common/command.c:2406 msgid "config option(s) found\n" msgstr "volba/volby nastavení nalezeny\n" -#: src/common/command.c:2683 +#: src/common/command.c:2427 #, c-format msgid "%s alias or command \"%s\" not found\n" msgstr "%s alias nebo příkaz \"%s\" nenalezen\n" -#: src/common/command.c:2693 +#: src/common/command.c:2437 #, c-format msgid "Alias \"%s\" removed\n" msgstr "Alias \"%s\" odebrán\n" -#: src/common/command.c:2746 +#: src/common/command.c:2490 msgid "ignore were removed.\n" msgstr "ignorování bylo odebráno.\n" -#: src/common/command.c:2748 +#: src/common/command.c:2492 msgid "ignore was removed.\n" msgstr "ignorování bylo odebrán\n" -#: src/common/command.c:2753 +#: src/common/command.c:2497 #, c-format msgid "%s no ignore found\n" msgstr "%s žádné ignorování nenaleyeno\n" -#: src/common/command.c:2776 +#: src/common/command.c:2520 msgid "Opened windows:\n" msgstr "Otevřené okna:\n" @@ -3333,7 +3227,7 @@ msgstr "**** Beginning of log " msgid "**** End of log " msgstr "**** End of log " -#: src/common/weechat.c:270 +#: src/common/weechat.c:273 #, c-format msgid "" "WeeChat configuration options (~/.weechat/weechat.rc):\n" @@ -3342,7 +3236,7 @@ msgstr "" "WeeChat kofnigurační nastavení (~/.weechat/weechat.rc):\n" "\n" -#: src/common/weechat.c:331 +#: src/common/weechat.c:334 #, c-format msgid "" "Moreover, you can define aliases in [alias] section, by adding lines like:\n" @@ -3350,7 +3244,7 @@ msgstr "" "Mimoto můžete definovat aliasy v sekci [alias], přidáním řádku jako je " "tento:\n" -#: src/common/weechat.c:333 +#: src/common/weechat.c:336 #, c-format msgid "" "where 'j' is alias name, and 'join' associated command.\n" @@ -3359,62 +3253,62 @@ msgstr "" "kde 'j' je jméno aliasu, a 'join' přidružený příkaz.\n" "\n" -#: src/common/weechat.c:418 +#: src/common/weechat.c:421 #, c-format msgid "%s default keys:\n" msgstr "%s výchozí klávesy:\n" -#: src/common/weechat.c:498 +#: src/common/weechat.c:501 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s nevalidní syntaxe pro IRC server ('%s'), ignorován\n" -#: src/common/weechat.c:511 +#: src/common/weechat.c:514 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s nemohu vytvořit server ('%s'), ignorován\n" -#: src/common/weechat.c:520 +#: src/common/weechat.c:523 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s neznámý parametr '%s', ignorován\n" -#: src/common/weechat.c:540 +#: src/common/weechat.c:543 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s nemohu vytvořit adresář \"%s\"\n" -#: src/common/weechat.c:566 +#: src/common/weechat.c:569 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s nemohu získat HOME adresář\n" -#: src/common/weechat.c:575 +#: src/common/weechat.c:578 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s nedostatek paměti pro domácí adresář\n" -#: src/common/weechat.c:585 +#: src/common/weechat.c:588 #, c-format msgid "%s unable to create ~/.weechat directory\n" msgstr "%s nemohu vytvořit adresář ~/.weechat\n" -#: src/common/weechat.c:637 +#: src/common/weechat.c:601 #, c-format msgid "%s unable to create ~/.weechat/logs directory\n" msgstr "%s nemohu vytvořit adresář ~/.weechat/logs\n" -#: src/common/weechat.c:680 +#: src/common/weechat.c:644 #, c-format msgid "%s unable to create/append to log file (~/.weechat/%s)" msgstr "%s nemohu vytvořit/přidat do log souboru (~/.weechat/%s)" -#: src/common/weechat.c:703 +#: src/common/weechat.c:667 #, c-format msgid "%sWelcome to " msgstr "%sVítejte do " -#: src/common/weechat.c:716 src/common/weechat.c:725 +#: src/common/weechat.c:680 src/common/weechat.c:689 msgid "compiled on" msgstr "kompilováno" @@ -3426,31 +3320,31 @@ msgstr "WeeChat chyba:" msgid "WeeChat Warning:" msgstr "WeeChat Upozornění:" -#: src/common/weeconfig.c:95 src/common/weeconfig.c:96 +#: src/common/weeconfig.c:96 src/common/weeconfig.c:97 msgid "set title for window (terminal for Curses GUI) with name & version" msgstr "nastaví titulek okna (terminálu pro Cruses GUI) s jménem a verzí" -#: src/common/weeconfig.c:99 src/common/weeconfig.c:100 +#: src/common/weeconfig.c:100 src/common/weeconfig.c:101 msgid "display WeeChat logo at startup" msgstr "zobrazí WeeChat logo při spuštění" -#: src/common/weeconfig.c:103 src/common/weeconfig.c:104 +#: src/common/weeconfig.c:104 src/common/weeconfig.c:105 msgid "display WeeChat version at startup" msgstr "zobrazí verzi WeeChat při spuštění" -#: src/common/weeconfig.c:107 +#: src/common/weeconfig.c:108 msgid "WeeChat slogan" msgstr "WeeChat slogan" -#: src/common/weeconfig.c:108 +#: src/common/weeconfig.c:109 msgid "WeeChat slogan (if empty, slogan is not used)" msgstr "WeeChat slogan (pokud je prázdné, není slogan použit)" -#: src/common/weeconfig.c:111 +#: src/common/weeconfig.c:112 msgid "charset for decoding messages from server" msgstr "znaková sada, pro dekódování zpráv ze serveru" -#: src/common/weeconfig.c:112 +#: src/common/weeconfig.c:113 msgid "" "charset for decoding messages from server, examples: UTF-8, ISO-8859-1 (if " "empty, messages are not converted)" @@ -3458,11 +3352,11 @@ msgstr "" "znaková sada pro dekódování zpráv ze serveru, například: UTF-8, ISO-8859-1 " "(jestliže je prázdná, zprávy nejsou konvertovány)" -#: src/common/weeconfig.c:115 +#: src/common/weeconfig.c:116 msgid "charset for encoding messages sent to server" msgstr "znaková sada pro kódování zpráv posílaných na server" -#: src/common/weeconfig.c:116 +#: src/common/weeconfig.c:117 msgid "" "charset for encoding messages sent to server, examples: UFT-8, ISO-8859-1 " "(if empty, local charset is used)" @@ -3470,11 +3364,11 @@ msgstr "" "znaková sada pro kódování zpráv posílaných na server, například: UTF-8, ISO-" "8859-1 (pokud je prázdná, použije se lokální znaková sada)" -#: src/common/weeconfig.c:119 +#: src/common/weeconfig.c:120 msgid "internal WeeChat charset (should be ISO)" msgstr "vnitřní znaková sada WeeChat (měla by být ISO)" -#: src/common/weeconfig.c:120 +#: src/common/weeconfig.c:121 msgid "" "internal WeeChat charset, should be ISO-xxxx even if locale is UTF-8 (if " "empty, local charset is used)" @@ -3482,47 +3376,47 @@ msgstr "" "vnitřní znaková sada WeeChat, měla by být ISO-xxxx i při locale UTF-8 (pokud " "je prázdný, použije se lokální znaková sada)" -#: src/common/weeconfig.c:123 src/common/weeconfig.c:124 +#: src/common/weeconfig.c:124 src/common/weeconfig.c:125 msgid "timestamp for buffers" msgstr "časová známka pro buffer" -#: src/common/weeconfig.c:127 src/common/weeconfig.c:128 +#: src/common/weeconfig.c:128 src/common/weeconfig.c:129 msgid "display nick names with different colors" msgstr "zobrazit přezdívky různými barvami" -#: src/common/weeconfig.c:131 src/common/weeconfig.c:132 +#: src/common/weeconfig.c:132 src/common/weeconfig.c:133 msgid "number of colors to use for nicks colors" msgstr "počet barev použitých pro barvy přezdívek" -#: src/common/weeconfig.c:135 src/common/weeconfig.c:136 +#: src/common/weeconfig.c:136 src/common/weeconfig.c:137 msgid "display actions with different colors" msgstr "zobrazit akce různými barvami" -#: src/common/weeconfig.c:139 src/common/weeconfig.c:140 +#: src/common/weeconfig.c:140 src/common/weeconfig.c:141 msgid "remove colors from incoming messages" msgstr "odstranit barvy z příchozích zpráv" -#: src/common/weeconfig.c:143 +#: src/common/weeconfig.c:144 msgid "display nicklist window" msgstr "zobrazit okno se seznamem přezdívek" -#: src/common/weeconfig.c:144 +#: src/common/weeconfig.c:145 msgid "display nicklist window (for channel windows)" msgstr "zobrazit okno se seznamem přezdívek (pouze pro okno kanálu)" -#: src/common/weeconfig.c:147 +#: src/common/weeconfig.c:148 msgid "nicklist position" msgstr "pozice seznamu přezdívek" -#: src/common/weeconfig.c:148 +#: src/common/weeconfig.c:149 msgid "nicklist position (top, left, right (default), bottom)" msgstr "pozice seznamu přezdívek (top, left, right (výchozí), bottom)" -#: src/common/weeconfig.c:151 +#: src/common/weeconfig.c:152 msgid "min size for nicklist" msgstr "minimální velikost pro seznam přezdívek" -#: src/common/weeconfig.c:152 +#: src/common/weeconfig.c:153 msgid "" "min size for nicklist (width or height, depending on look_nicklist_position " "(0 = no min size))" @@ -3530,11 +3424,11 @@ msgstr "" "minimální velikost pro seznam přezdívek (šířka nebo výšhak, závisí na " "look_nicklist_position (0 = není minimální velikost))" -#: src/common/weeconfig.c:156 +#: src/common/weeconfig.c:157 msgid "max size for nicklist" msgstr "maximální velikost pro seznam přezdívek" -#: src/common/weeconfig.c:157 +#: src/common/weeconfig.c:158 msgid "" "max size for nicklist (width or height, depending on look_nicklist_position " "(0 = no max size; if min == max and > 0, then size is fixed))" @@ -3543,39 +3437,39 @@ msgstr "" "look_nicklist_position (0 = není maximální velikost; jestliže min == max a > " "0 pak je velikost fixní ))" -#: src/common/weeconfig.c:161 src/common/weeconfig.c:162 +#: src/common/weeconfig.c:162 src/common/weeconfig.c:163 msgid "text to display instead of nick when not connected" msgstr "text pro zobrazení místo přezdívky pokud není připojeno" -#: src/common/weeconfig.c:165 src/common/weeconfig.c:166 +#: src/common/weeconfig.c:166 src/common/weeconfig.c:167 msgid "display nick mode ((half)op/voice) before each nick" msgstr "zobrazit mód přezdívky ((částečný)op/voice) před každou přezdívkou" -#: src/common/weeconfig.c:169 src/common/weeconfig.c:170 +#: src/common/weeconfig.c:170 src/common/weeconfig.c:171 msgid "display space if nick mode is not (half)op/voice" msgstr "zobrazit mezeru pokud mód přezdívkz není (částečný)op/voice" -#: src/common/weeconfig.c:173 src/common/weeconfig.c:174 +#: src/common/weeconfig.c:174 src/common/weeconfig.c:175 msgid "the string inserted after nick completion" msgstr "řetězec vložený za doplňování přezdívky" -#: src/common/weeconfig.c:177 src/common/weeconfig.c:178 +#: src/common/weeconfig.c:178 src/common/weeconfig.c:179 msgid "enable info bar" msgstr "povolit info bar" -#: src/common/weeconfig.c:181 src/common/weeconfig.c:182 +#: src/common/weeconfig.c:182 src/common/weeconfig.c:183 msgid "timestamp for time in infobar" msgstr "časová značka pro čas v infobaru" -#: src/common/weeconfig.c:185 src/common/weeconfig.c:186 +#: src/common/weeconfig.c:186 src/common/weeconfig.c:187 msgid "display seconds in infobar time" msgstr "zobrazit sekundy v čase v infobaru" -#: src/common/weeconfig.c:189 +#: src/common/weeconfig.c:190 msgid "delay (in seconds) for highlight messages in infobar" msgstr "podržet (v sekundách) zvýrazněnou zprávu v infobaru" -#: src/common/weeconfig.c:190 +#: src/common/weeconfig.c:191 msgid "" "delay (in seconds) for highlight messages in infobar (0 = disable highlight " "notifications in infobar)" @@ -3583,323 +3477,323 @@ msgstr "" "podržet (v sekundách) zvýrazněnou zprávu v infobaru (0 = zakázat zvýrazněnou " "notifikaci v infobaru)" -#: src/common/weeconfig.c:194 +#: src/common/weeconfig.c:195 msgid "max number of names in hotlist" msgstr "" -#: src/common/weeconfig.c:195 +#: src/common/weeconfig.c:196 msgid "" "max number of names in hotlist (0 = no name displayed, only buffer numbers)" msgstr "" -#: src/common/weeconfig.c:198 +#: src/common/weeconfig.c:199 msgid "level for displaying names in hotlist" msgstr "" -#: src/common/weeconfig.c:199 +#: src/common/weeconfig.c:200 msgid "" "level for displaying names in hotlist (combination of: 1=join/part, " "2=message, 4=private, 8=highlight, for example: 12=private+highlight)" msgstr "" -#: src/common/weeconfig.c:203 +#: src/common/weeconfig.c:204 msgid "max length of names in hotlist" msgstr "" -#: src/common/weeconfig.c:204 +#: src/common/weeconfig.c:205 msgid "max length of names in hotlist (0 = no limit)" msgstr "" -#: src/common/weeconfig.c:268 src/common/weeconfig.c:269 +#: src/common/weeconfig.c:269 src/common/weeconfig.c:270 msgid "color for title bar" msgstr "barva pro title bar" -#: src/common/weeconfig.c:272 src/common/weeconfig.c:273 +#: src/common/weeconfig.c:273 src/common/weeconfig.c:274 msgid "background for title bar" msgstr "pozadí pro title bar" -#: src/common/weeconfig.c:278 src/common/weeconfig.c:279 +#: src/common/weeconfig.c:279 src/common/weeconfig.c:280 msgid "color for chat text" msgstr "barva pro text rozhovoru" -#: src/common/weeconfig.c:282 +#: src/common/weeconfig.c:283 msgid "color for time" msgstr "barva času" -#: src/common/weeconfig.c:283 +#: src/common/weeconfig.c:284 msgid "color for time in chat window" msgstr "barva času v okně rozhovoru" -#: src/common/weeconfig.c:286 +#: src/common/weeconfig.c:287 msgid "color for time separator" msgstr "barva pro dělič času" -#: src/common/weeconfig.c:287 +#: src/common/weeconfig.c:288 msgid "color for time separator (chat window)" msgstr "barva pro dělič času (okno rozhovoru)" -#: src/common/weeconfig.c:290 src/common/weeconfig.c:291 +#: src/common/weeconfig.c:291 src/common/weeconfig.c:292 msgid "color for 1st and 3rd char of prefix" msgstr "barva pro první a třetí znak prefixu" -#: src/common/weeconfig.c:294 src/common/weeconfig.c:295 +#: src/common/weeconfig.c:295 src/common/weeconfig.c:296 msgid "color for middle char of prefix" msgstr "barva pro vnitřní znak prefixu" -#: src/common/weeconfig.c:298 src/common/weeconfig.c:299 +#: src/common/weeconfig.c:299 src/common/weeconfig.c:300 msgid "color for join arrow (prefix)" msgstr "barva pro šipku pri 'join' (prefix)" -#: src/common/weeconfig.c:302 src/common/weeconfig.c:303 +#: src/common/weeconfig.c:303 src/common/weeconfig.c:304 msgid "color for part/quit arrow (prefix)" msgstr "barva pro šipku při 'quit'/'part' (prefix)" -#: src/common/weeconfig.c:306 +#: src/common/weeconfig.c:307 msgid "color for nicks in actions" msgstr "barva pro přezdívky v akcích" -#: src/common/weeconfig.c:307 +#: src/common/weeconfig.c:308 msgid "color for nicks in actions (chat window)" msgstr "barva přezdívek v akcích (okno rozhovoru)" -#: src/common/weeconfig.c:310 +#: src/common/weeconfig.c:311 msgid "color for hostnames" msgstr "barva jména hosta" -#: src/common/weeconfig.c:311 +#: src/common/weeconfig.c:312 msgid "color for hostnames (chat window)" msgstr "barva jména hosta (okno rozhovoru)" -#: src/common/weeconfig.c:314 +#: src/common/weeconfig.c:315 msgid "color for channel names in actions" msgstr "barva kanálu v akcích" -#: src/common/weeconfig.c:315 +#: src/common/weeconfig.c:316 msgid "color for channel names in actions (chat window)" msgstr "barva kanálu v akcích (okno rozhovoru)" -#: src/common/weeconfig.c:318 +#: src/common/weeconfig.c:319 msgid "color for dark separators" msgstr "barva pro tmavý dělič" -#: src/common/weeconfig.c:319 +#: src/common/weeconfig.c:320 msgid "color for dark separators (chat window)" msgstr "barva pro tmavý dělič (okno rozhovoru)" -#: src/common/weeconfig.c:322 +#: src/common/weeconfig.c:323 msgid "color for highlighted nick" msgstr "barva pro zvýraznění přezdívky" -#: src/common/weeconfig.c:323 +#: src/common/weeconfig.c:324 msgid "color for highlighted nick (chat window)" msgstr "barva pro zvýraznění přezdívky (okno rozhovoru)" -#: src/common/weeconfig.c:326 +#: src/common/weeconfig.c:327 msgid "background for chat" msgstr "pozadí rozhovoru" -#: src/common/weeconfig.c:327 +#: src/common/weeconfig.c:328 msgid "background for chat window" msgstr "pozadí okna rozhovoru" -#: src/common/weeconfig.c:332 src/common/weeconfig.c:333 +#: src/common/weeconfig.c:333 src/common/weeconfig.c:334 msgid "color for status bar" msgstr "barva status baru" -#: src/common/weeconfig.c:336 src/common/weeconfig.c:337 +#: src/common/weeconfig.c:337 src/common/weeconfig.c:338 msgid "color for status bar delimiters" msgstr "barva děličů status barů" -#: src/common/weeconfig.c:340 src/common/weeconfig.c:341 +#: src/common/weeconfig.c:341 src/common/weeconfig.c:342 msgid "color for current channel in status bar" msgstr "" -#: src/common/weeconfig.c:344 +#: src/common/weeconfig.c:345 msgid "color for window with new messages" msgstr "barva okna s novými zprávami" -#: src/common/weeconfig.c:345 +#: src/common/weeconfig.c:346 msgid "color for window with new messages (status bar)" msgstr "barva okna s novými zprávami (status bar)" -#: src/common/weeconfig.c:348 +#: src/common/weeconfig.c:349 msgid "color for window with private message" msgstr "barva okna se soukroumou zprávou" -#: src/common/weeconfig.c:349 +#: src/common/weeconfig.c:350 msgid "color for window with private message (status bar)" msgstr "barva okna se soukromou zprávou (status bar)" -#: src/common/weeconfig.c:352 +#: src/common/weeconfig.c:353 msgid "color for window with highlight" msgstr "barva okna se zvýrazněním" -#: src/common/weeconfig.c:353 +#: src/common/weeconfig.c:354 msgid "color for window with highlight (status bar)" msgstr "barva okna se zvýrazněním (stavový řádek)" -#: src/common/weeconfig.c:356 +#: src/common/weeconfig.c:357 msgid "color for window with new data (not messages)" msgstr "barva okna s novými daty (ne zprávami)" -#: src/common/weeconfig.c:357 +#: src/common/weeconfig.c:358 msgid "color for window with new data (not messages) (status bar)" msgstr "barva okna s novými daty (ne zprávami) (status bar)" -#: src/common/weeconfig.c:360 +#: src/common/weeconfig.c:361 msgid "color for \"-MORE-\" text" msgstr "barva pro text \"-VÍCE-\"" -#: src/common/weeconfig.c:361 +#: src/common/weeconfig.c:362 msgid "color for window with new data (status bar)" msgstr "barva okna s novými daty (status bar)" -#: src/common/weeconfig.c:364 src/common/weeconfig.c:365 +#: src/common/weeconfig.c:365 src/common/weeconfig.c:366 msgid "background for status window" msgstr "pozadí stavového okna" -#: src/common/weeconfig.c:370 src/common/weeconfig.c:371 +#: src/common/weeconfig.c:371 src/common/weeconfig.c:372 msgid "color for info bar text" msgstr "barva textu v info baru" -#: src/common/weeconfig.c:374 src/common/weeconfig.c:375 +#: src/common/weeconfig.c:375 src/common/weeconfig.c:376 msgid "color for infobar delimiters" msgstr "barva děličů v infobaru" -#: src/common/weeconfig.c:378 src/common/weeconfig.c:379 +#: src/common/weeconfig.c:379 src/common/weeconfig.c:380 msgid "color for info bar highlight notification" msgstr "barva upozornění zvýraznění v info baru" -#: src/common/weeconfig.c:382 src/common/weeconfig.c:383 +#: src/common/weeconfig.c:383 src/common/weeconfig.c:384 msgid "background for info bar window" msgstr "pozadí pro okno info baru" -#: src/common/weeconfig.c:388 src/common/weeconfig.c:389 +#: src/common/weeconfig.c:389 src/common/weeconfig.c:390 msgid "color for input text" msgstr "barva pro vstupní text" -#: src/common/weeconfig.c:392 src/common/weeconfig.c:393 +#: src/common/weeconfig.c:393 src/common/weeconfig.c:394 msgid "color for input text (channel name)" msgstr "barva vstupního textu (jména kanálů)" -#: src/common/weeconfig.c:396 src/common/weeconfig.c:397 +#: src/common/weeconfig.c:397 src/common/weeconfig.c:398 msgid "color for input text (nick name)" msgstr "barva vstupního textu (přezdívky)" -#: src/common/weeconfig.c:400 src/common/weeconfig.c:401 +#: src/common/weeconfig.c:401 src/common/weeconfig.c:402 msgid "color for input text (delimiters)" msgstr "" -#: src/common/weeconfig.c:404 src/common/weeconfig.c:405 +#: src/common/weeconfig.c:405 src/common/weeconfig.c:406 msgid "background for input window" msgstr "pozadí vstupního okna" -#: src/common/weeconfig.c:410 src/common/weeconfig.c:411 +#: src/common/weeconfig.c:411 src/common/weeconfig.c:412 msgid "color for nicknames" msgstr "barva přezdívek" -#: src/common/weeconfig.c:414 src/common/weeconfig.c:415 +#: src/common/weeconfig.c:415 src/common/weeconfig.c:416 msgid "color for away nicknames" msgstr "barva přezdívek, které jsou pryč" -#: src/common/weeconfig.c:418 +#: src/common/weeconfig.c:419 msgid "color for chan owner symbol" msgstr "barva symbolu majitele kanálu" -#: src/common/weeconfig.c:419 +#: src/common/weeconfig.c:420 msgid "color for chan owner symbol (specific to unrealircd)" msgstr "barva symbolu majitele kanálu (specifický pro unrealircd)" -#: src/common/weeconfig.c:422 +#: src/common/weeconfig.c:423 msgid "color for chan admin symbol" msgstr "barva symbolu administrátora kanálu" -#: src/common/weeconfig.c:423 +#: src/common/weeconfig.c:424 msgid "color for chan admin symbol (specific to unrealircd)" msgstr "barva symbolu administrátora kanálu (specifický pro unrealircd)" -#: src/common/weeconfig.c:426 src/common/weeconfig.c:427 +#: src/common/weeconfig.c:427 src/common/weeconfig.c:428 msgid "color for operator symbol" msgstr "barva symbolu operátora" -#: src/common/weeconfig.c:430 src/common/weeconfig.c:431 +#: src/common/weeconfig.c:431 src/common/weeconfig.c:432 msgid "color for half-operator symbol" msgstr "barva symbolu částečného perátora" -#: src/common/weeconfig.c:434 src/common/weeconfig.c:435 +#: src/common/weeconfig.c:435 src/common/weeconfig.c:436 msgid "color for voice symbol" msgstr "barva symbolu voice" -#: src/common/weeconfig.c:438 src/common/weeconfig.c:439 +#: src/common/weeconfig.c:439 src/common/weeconfig.c:440 msgid "color for '+' when scrolling nicks" msgstr "barva pro '+' při procházení přezdívek" -#: src/common/weeconfig.c:442 src/common/weeconfig.c:443 +#: src/common/weeconfig.c:443 src/common/weeconfig.c:444 msgid "color for nick separator" msgstr "barva děliče přezdívek" -#: src/common/weeconfig.c:446 src/common/weeconfig.c:447 +#: src/common/weeconfig.c:447 src/common/weeconfig.c:448 msgid "color for local nick" msgstr "barva lokální přezdívky" -#: src/common/weeconfig.c:450 src/common/weeconfig.c:451 -#: src/common/weeconfig.c:454 src/common/weeconfig.c:455 -#: src/common/weeconfig.c:458 src/common/weeconfig.c:459 -#: src/common/weeconfig.c:462 src/common/weeconfig.c:463 -#: src/common/weeconfig.c:466 src/common/weeconfig.c:467 -#: src/common/weeconfig.c:470 src/common/weeconfig.c:471 -#: src/common/weeconfig.c:474 src/common/weeconfig.c:475 -#: src/common/weeconfig.c:478 src/common/weeconfig.c:479 -#: src/common/weeconfig.c:482 src/common/weeconfig.c:483 -#: src/common/weeconfig.c:486 src/common/weeconfig.c:487 +#: src/common/weeconfig.c:451 src/common/weeconfig.c:452 +#: src/common/weeconfig.c:455 src/common/weeconfig.c:456 +#: src/common/weeconfig.c:459 src/common/weeconfig.c:460 +#: src/common/weeconfig.c:463 src/common/weeconfig.c:464 +#: src/common/weeconfig.c:467 src/common/weeconfig.c:468 +#: src/common/weeconfig.c:471 src/common/weeconfig.c:472 +#: src/common/weeconfig.c:475 src/common/weeconfig.c:476 +#: src/common/weeconfig.c:479 src/common/weeconfig.c:480 +#: src/common/weeconfig.c:483 src/common/weeconfig.c:484 +#: src/common/weeconfig.c:487 src/common/weeconfig.c:488 msgid "color for nick" msgstr "barva přezdívky" -#: src/common/weeconfig.c:490 src/common/weeconfig.c:491 +#: src/common/weeconfig.c:491 src/common/weeconfig.c:492 msgid "color for other nick in private window" msgstr "barva jiné přezdívky v soukromém okně" -#: src/common/weeconfig.c:494 src/common/weeconfig.c:495 +#: src/common/weeconfig.c:495 src/common/weeconfig.c:496 msgid "background for nicknames" msgstr "pozadí přezdívek" -#: src/common/weeconfig.c:500 +#: src/common/weeconfig.c:501 msgid "color for selected DCC" msgstr "barva vybraného DCC" -#: src/common/weeconfig.c:501 +#: src/common/weeconfig.c:502 msgid "color for selected DCC (chat window)" msgstr "barva vybraného DCC (okno rozhovoru)" -#: src/common/weeconfig.c:504 src/common/weeconfig.c:505 +#: src/common/weeconfig.c:505 src/common/weeconfig.c:506 msgid "color for \"waiting\" dcc status" msgstr "barva pro \"waiting\" status dcc" -#: src/common/weeconfig.c:508 src/common/weeconfig.c:509 +#: src/common/weeconfig.c:509 src/common/weeconfig.c:510 msgid "color for \"connecting\" dcc status" msgstr "barva pro \"connecting\" status dcc" -#: src/common/weeconfig.c:512 src/common/weeconfig.c:513 +#: src/common/weeconfig.c:513 src/common/weeconfig.c:514 msgid "color for \"active\" dcc status" msgstr "barva pro \"active\" status dcc" -#: src/common/weeconfig.c:516 src/common/weeconfig.c:517 +#: src/common/weeconfig.c:517 src/common/weeconfig.c:518 msgid "color for \"done\" dcc status" msgstr "barva pro \"done\" status dcc" -#: src/common/weeconfig.c:520 src/common/weeconfig.c:521 +#: src/common/weeconfig.c:521 src/common/weeconfig.c:522 msgid "color for \"failed\" dcc status" msgstr "barva pro \"failed\" status dcc" -#: src/common/weeconfig.c:524 src/common/weeconfig.c:525 +#: src/common/weeconfig.c:525 src/common/weeconfig.c:526 msgid "color for \"aborted\" dcc status" msgstr "barva pro \"aborted\" status dcc" -#: src/common/weeconfig.c:538 +#: src/common/weeconfig.c:539 msgid "max lines in history (per window)" msgstr "maximální počet řádků v historii (pro okno)" -#: src/common/weeconfig.c:539 +#: src/common/weeconfig.c:540 msgid "" "maximum number of lines in history for one server/channel/private window (0 " "= unlimited)" @@ -3907,344 +3801,369 @@ msgstr "" "maximální počet řádků v historii pro jeden server/kanál/soukromé okno (0 = " "nekonečeně)" -#: src/common/weeconfig.c:543 +#: src/common/weeconfig.c:544 msgid "max user commands in history" msgstr "maximální počet uživatelských příkazů v historii" -#: src/common/weeconfig.c:544 +#: src/common/weeconfig.c:545 msgid "maximum number of user commands in history (0 = unlimited)" msgstr "maximální počet uživatelských příkazů v historii (0 = nekonečně)" -#: src/common/weeconfig.c:561 src/common/weeconfig.c:562 +#: src/common/weeconfig.c:562 src/common/weeconfig.c:563 msgid "automatically log server messages" msgstr "automati logovat zprávy server" -#: src/common/weeconfig.c:565 src/common/weeconfig.c:566 +#: src/common/weeconfig.c:566 src/common/weeconfig.c:567 msgid "automatically log channel chats" msgstr "automaticky logovat rozhovory kanálu" -#: src/common/weeconfig.c:569 src/common/weeconfig.c:570 +#: src/common/weeconfig.c:570 src/common/weeconfig.c:571 msgid "automatically log private chats" msgstr "automaticky logovat soukromé rozhovory" -#: src/common/weeconfig.c:573 src/common/weeconfig.c:574 +#: src/common/weeconfig.c:574 src/common/weeconfig.c:575 msgid "log messages from plugins (scripts)" msgstr "logovat zprávy y pluginů (skriptů)" -#: src/common/weeconfig.c:577 +#: src/common/weeconfig.c:578 msgid "path for log files" msgstr "cesta pro soubory logů" -#: src/common/weeconfig.c:578 +#: src/common/weeconfig.c:579 msgid "path for WeeChat log files" msgstr "cesta pro soubory WeeChat logů" -#: src/common/weeconfig.c:581 +#: src/common/weeconfig.c:582 msgid "timestamp for log" msgstr "časová značka pro log" -#: src/common/weeconfig.c:582 +#: src/common/weeconfig.c:583 msgid "timestamp for log (see man strftime for date/time specifiers)" msgstr "časová značka pro log (viz man strftime pro specifikaci datumu/času" -#: src/common/weeconfig.c:585 src/common/weeconfig.c:586 +#: src/common/weeconfig.c:586 src/common/weeconfig.c:587 msgid "hide password displayed by nickserv" msgstr "schovat heslo zobrazené nickservem" -#: src/common/weeconfig.c:607 +#: src/common/weeconfig.c:608 msgid "display message to all channels when away" msgstr "zobrazit zprávu na všechny kanály, jestliže jsem pryč" -#: src/common/weeconfig.c:608 +#: src/common/weeconfig.c:609 msgid "display message to all channels when (un)marking as away" msgstr "zobrazit zprávu na všechny kanály, když měním stav z/na pryč" -#: src/common/weeconfig.c:611 src/common/weeconfig.c:612 +#: src/common/weeconfig.c:612 src/common/weeconfig.c:613 msgid "default message when away" msgstr "výchozí zprávy, když jsem pryč" -#: src/common/weeconfig.c:615 src/common/weeconfig.c:616 +#: src/common/weeconfig.c:616 src/common/weeconfig.c:617 msgid "default part message (leaving channel)" msgstr "výchozí zpráva při opouštění kanálu" -#: src/common/weeconfig.c:619 +#: src/common/weeconfig.c:620 msgid "default quit message" msgstr "výchzí zpráva při uknočení" -#: src/common/weeconfig.c:620 +#: src/common/weeconfig.c:621 msgid "" "default quit message ('%v' will be replaced by WeeChat version in string)" msgstr "" "výchozí zpráva při uknočnení ('%v' bude nahrazeno verzí WeeChat v řetězci)" -#: src/common/weeconfig.c:623 src/common/weeconfig.c:624 +#: src/common/weeconfig.c:624 src/common/weeconfig.c:625 msgid "display notices as private messages" msgstr "zobrazit upozornění jako soukromé zprávy" -#: src/common/weeconfig.c:627 +#: src/common/weeconfig.c:628 msgid "interval between two checks for away" msgstr "interval mezi dvěmi kontrolami pro nepřítomnost" -#: src/common/weeconfig.c:628 +#: src/common/weeconfig.c:629 msgid "interval between two checks for away (in minutes, 0 = never check)" msgstr "" "interval mezi dvěmi knotrolami pro nepřítomnost (v minutách, 0 = nikdy " "nekontrolovat)" -#: src/common/weeconfig.c:631 +#: src/common/weeconfig.c:632 msgid "interval between two checks for lag" msgstr "interval mezi dvěmi kontrolami lagu" -#: src/common/weeconfig.c:632 +#: src/common/weeconfig.c:633 msgid "interval between two checks for lag (in seconds)" msgstr "interval mezi dvěmi knotrolami lagu (v sekundách)" -#: src/common/weeconfig.c:635 +#: src/common/weeconfig.c:636 msgid "minimum lag to show" msgstr "minimální lag, který zobrazit" -#: src/common/weeconfig.c:636 +#: src/common/weeconfig.c:637 msgid "minimum lag to show (in seconds)" msgstr "minimální lag, který zobrazit (v sekundách)" -#: src/common/weeconfig.c:639 +#: src/common/weeconfig.c:640 msgid "disconnect after important lag" msgstr "odpojit po závažném lagu" -#: src/common/weeconfig.c:640 +#: src/common/weeconfig.c:641 msgid "disconnect after important lag (in minutes, 0 = never disconnect)" msgstr "odpojit po závažném lagu (v minutách, 0 = nikny neodpojit)" -#: src/common/weeconfig.c:643 src/common/weeconfig.c:644 +#: src/common/weeconfig.c:644 src/common/weeconfig.c:645 msgid "create a FIFO pipe for remote control" msgstr "vytvořit FIFO pro vzdálené ovládání" -#: src/common/weeconfig.c:647 +#: src/common/weeconfig.c:648 msgid "list of words to highlight" msgstr "seznam slov pro zvýraznění" -#: src/common/weeconfig.c:648 +#: src/common/weeconfig.c:649 msgid "" "comma separated list of words to highlight (case insensitive comparison)" msgstr "" "čárkou oddělený seznam slov pro zvýraznění (neporovnává se velikost písmen)" -#: src/common/weeconfig.c:667 +#: src/common/weeconfig.c:668 msgid "automatically accept dcc files" msgstr "automaticky akceptovat dcc soubory" -#: src/common/weeconfig.c:668 +#: src/common/weeconfig.c:669 msgid "automatically accept incoming dcc files" msgstr "automaticky akceptovat příchozí dcc soubory" -#: src/common/weeconfig.c:671 +#: src/common/weeconfig.c:672 msgid "automatically accept dcc chats" msgstr "automaticky akceptovat dcc rozhovor" -#: src/common/weeconfig.c:672 +#: src/common/weeconfig.c:673 msgid "automatically accept dcc chats (use carefully!)" msgstr "automaticky akceptovat dcc rozhovor (používejte opatrně!)" -#: src/common/weeconfig.c:675 +#: src/common/weeconfig.c:676 msgid "timeout for dcc request" msgstr "časový limit pro dcc požadavek" -#: src/common/weeconfig.c:676 +#: src/common/weeconfig.c:677 msgid "timeout for dcc request (in seconds)" msgstr "časový limit pro dcc požadavek (v sekundách)" -#: src/common/weeconfig.c:679 +#: src/common/weeconfig.c:680 msgid "block size for dcc packets" msgstr "velikost bloku pro dcc pakety" -#: src/common/weeconfig.c:680 +#: src/common/weeconfig.c:681 msgid "block size for dcc packets in bytes (default: 65536)" msgstr "velikost bloku pro dcc pakety v bajtech (výchozí: 65536)" -#: src/common/weeconfig.c:683 +#: src/common/weeconfig.c:684 msgid "path for incoming files with dcc" msgstr "cesta pro příchozí dcc soubory" -#: src/common/weeconfig.c:684 +#: src/common/weeconfig.c:685 msgid "path for writing incoming files with dcc (default: user home)" msgstr "cesta pro zápis příchozích dcc souborů (výchozí: uživatelův domov)" -#: src/common/weeconfig.c:687 +#: src/common/weeconfig.c:688 msgid "default path for sending files with dcc" msgstr "výchozí cesta pro odesílaní souborů pomocí dcc" -#: src/common/weeconfig.c:688 +#: src/common/weeconfig.c:689 msgid "" "path for reading files when sending thru dcc (when no path is specified)" msgstr "" "cesta pro čtení souborů při odesílání přes dcc (když není specifikována " "cesta)" -#: src/common/weeconfig.c:691 src/common/weeconfig.c:692 +#: src/common/weeconfig.c:692 src/common/weeconfig.c:693 msgid "convert spaces to underscores when sending files" msgstr "konvertovat mezery na podtržítka při odesílání souborů" -#: src/common/weeconfig.c:695 +#: src/common/weeconfig.c:696 msgid "automatically rename dcc files if already exists" msgstr "automaticky přejmenovat dcc soubory, jestliže již existují" -#: src/common/weeconfig.c:696 +#: src/common/weeconfig.c:697 msgid "rename incoming files if already exists (add '.1', '.2', ...)" msgstr "" "přejmenovat příchozí soubory, jestliže již existují (přídat '.1', '.2', ...)" -#: src/common/weeconfig.c:699 +#: src/common/weeconfig.c:700 msgid "automatically resume aborted transfers" msgstr "automaticky obnovit zrušený přenos" -#: src/common/weeconfig.c:700 +#: src/common/weeconfig.c:701 msgid "" "automatically resume dcc transfer if connection with remote host is loosed" msgstr "automaticky obnovit dcc přenos pokud bylo ztraceno spojení s hostem" -#: src/common/weeconfig.c:719 +#: src/common/weeconfig.c:720 msgid "use proxy" msgstr "použít proxy" -#: src/common/weeconfig.c:720 +#: src/common/weeconfig.c:721 msgid "use a proxy server to connect to irc server" msgstr "použít proxy server pro připojení na irc server" -#: src/common/weeconfig.c:723 +#: src/common/weeconfig.c:724 msgid "proxy type" msgstr "typ proxy" -#: src/common/weeconfig.c:724 +#: src/common/weeconfig.c:725 msgid "proxy type (http (default), socks4, socks5)" msgstr "typ proxy (http (výchozí), socks4, socks5)" -#: src/common/weeconfig.c:727 +#: src/common/weeconfig.c:728 msgid "use ipv6 proxy" msgstr "použít ipv6 proxy" -#: src/common/weeconfig.c:728 +#: src/common/weeconfig.c:729 msgid "connect to proxy in ipv6" msgstr "připojit na proxy v ipv6" -#: src/common/weeconfig.c:731 +#: src/common/weeconfig.c:732 msgid "proxy address" msgstr "proxy adresa" -#: src/common/weeconfig.c:732 +#: src/common/weeconfig.c:733 msgid "proxy server address (IP or hostname)" msgstr "adresa proxy serveru (IP nebo jméno hosta)" -#: src/common/weeconfig.c:735 +#: src/common/weeconfig.c:736 msgid "port for proxy" msgstr "port proxy" -#: src/common/weeconfig.c:736 +#: src/common/weeconfig.c:737 msgid "port for connecting to proxy server" msgstr "port pro připojení na proxy server" -#: src/common/weeconfig.c:739 +#: src/common/weeconfig.c:740 msgid "proxy username" msgstr "uživatelské jeméno proxy" -#: src/common/weeconfig.c:740 +#: src/common/weeconfig.c:741 msgid "username for proxy server" msgstr "uživatelské jméno pro proxy server" -#: src/common/weeconfig.c:743 +#: src/common/weeconfig.c:744 msgid "proxy password" msgstr "heslo proxy" -#: src/common/weeconfig.c:744 +#: src/common/weeconfig.c:745 msgid "password for proxy server" msgstr "heslo pro proxy server" -#: src/common/weeconfig.c:755 +#: src/common/weeconfig.c:758 src/common/weeconfig.c:759 +msgid "path for searching plugins" +msgstr "" + +#: src/common/weeconfig.c:762 +msgid "list of plugins to load automatically" +msgstr "" + +#: src/common/weeconfig.c:763 +msgid "" +"comma separated list of plugins to load automatically at startup, \"*\" " +"means all plugins found (names may be partial, for example \"perl\" is ok " +"for \"libperl.so\")" +msgstr "" + +#: src/common/weeconfig.c:768 +msgid "standard plugins extension in filename" +msgstr "" + +#: src/common/weeconfig.c:769 +msgid "" +"standard plugins extension in filename, used for autoload (if empty, then " +"all files are loaded when autoload is \"*\")" +msgstr "" + +#: src/common/weeconfig.c:786 msgid "server name" msgstr "jméno serveru" -#: src/common/weeconfig.c:756 +#: src/common/weeconfig.c:787 msgid "name associated to IRC server (for display only)" msgstr "jméno asociované k IRC serveru (pouze pro zobrazení)" -#: src/common/weeconfig.c:759 +#: src/common/weeconfig.c:790 msgid "automatically connect to server" msgstr "automaticky připojit k serveru" -#: src/common/weeconfig.c:760 +#: src/common/weeconfig.c:791 msgid "automatically connect to server when WeeChat is starting" msgstr "automaticky připojit k serveru, když je WeeChat spouštěn" -#: src/common/weeconfig.c:763 +#: src/common/weeconfig.c:794 msgid "automatically reconnect to server" msgstr "automaticky znovupřipojit server" -#: src/common/weeconfig.c:764 +#: src/common/weeconfig.c:795 msgid "automatically reconnect to server when disconnected" msgstr "automaticky znovu připojit server, když je odpojen" -#: src/common/weeconfig.c:767 +#: src/common/weeconfig.c:798 msgid "delay before trying again to reconnect" msgstr "doba před novým zkušením znovupřipojení" -#: src/common/weeconfig.c:768 +#: src/common/weeconfig.c:799 msgid "delay (in seconds) before trying again to reconnect to server" msgstr "doba (v sekundách) před novým zkušením znovupřipojení na server" -#: src/common/weeconfig.c:771 +#: src/common/weeconfig.c:802 msgid "server address or hostname" msgstr "adresa serveru nebo jméno hosta" -#: src/common/weeconfig.c:772 +#: src/common/weeconfig.c:803 msgid "IP address or hostname of IRC server" msgstr "IP adresa nebo jeméno hosta IRC serveru" -#: src/common/weeconfig.c:775 +#: src/common/weeconfig.c:806 msgid "port for IRC server" msgstr "port IRC serveru" -#: src/common/weeconfig.c:776 +#: src/common/weeconfig.c:807 msgid "port for connecting to server" msgstr "port pro připojení na server" -#: src/common/weeconfig.c:779 src/common/weeconfig.c:780 +#: src/common/weeconfig.c:810 src/common/weeconfig.c:811 msgid "use IPv6 protocol for server communication" msgstr "použít protokol IPv6 pro komunikaci se serverem" -#: src/common/weeconfig.c:783 src/common/weeconfig.c:784 +#: src/common/weeconfig.c:814 src/common/weeconfig.c:815 msgid "use SSL for server communication" msgstr "použít SSL pro komunikaci se serverem" -#: src/common/weeconfig.c:787 +#: src/common/weeconfig.c:818 msgid "server password" msgstr "heslo serveru" -#: src/common/weeconfig.c:788 +#: src/common/weeconfig.c:819 msgid "password for IRC server" msgstr "heslo pro IRC server" -#: src/common/weeconfig.c:791 +#: src/common/weeconfig.c:822 msgid "nickname for server" msgstr "přezdívka pro server" -#: src/common/weeconfig.c:792 +#: src/common/weeconfig.c:823 msgid "nickname to use on IRC server" msgstr "přezdívka použitá na IRC serveru" -#: src/common/weeconfig.c:795 +#: src/common/weeconfig.c:826 msgid "alternate nickname for server" msgstr "alternativní přezdívka pro server" -#: src/common/weeconfig.c:796 +#: src/common/weeconfig.c:827 msgid "alternate nickname to use on IRC server (if nickname is already used)" msgstr "" "alternativní přezdívka použitá na IRC serveru (pokud přezdívka je již " "použita)" -#: src/common/weeconfig.c:799 +#: src/common/weeconfig.c:830 msgid "2nd alternate nickname for server" msgstr "druhá alternativní přezdívka pro server" -#: src/common/weeconfig.c:800 +#: src/common/weeconfig.c:831 msgid "" "2nd alternate nickname to use on IRC server (if alternate nickname is " "already used)" @@ -4252,31 +4171,31 @@ msgstr "" "druhá alternativní přezdívka použitá na IRC serveru (pokud alternativní " "přezdívka je již použita)" -#: src/common/weeconfig.c:803 +#: src/common/weeconfig.c:834 msgid "user name for server" msgstr "uživatelské jméno pro server" -#: src/common/weeconfig.c:804 +#: src/common/weeconfig.c:835 msgid "user name to use on IRC server" msgstr "uživatelské jméno použité na IRC serveru" -#: src/common/weeconfig.c:807 +#: src/common/weeconfig.c:838 msgid "real name for server" msgstr "skutečné jméno pro server" -#: src/common/weeconfig.c:808 +#: src/common/weeconfig.c:839 msgid "real name to use on IRC server" msgstr "skutečné jméno použité na IRC serveru" -#: src/common/weeconfig.c:811 src/common/weeconfig.c:812 +#: src/common/weeconfig.c:842 src/common/weeconfig.c:843 msgid "first command to run when connected to server" msgstr "první příkaz, který zpustit po připojení na server" -#: src/common/weeconfig.c:815 +#: src/common/weeconfig.c:846 msgid "delay (in seconds) after command was executed" msgstr "počkání (v sekundách) po spuštční příkazu" -#: src/common/weeconfig.c:816 +#: src/common/weeconfig.c:847 msgid "" "delay (in seconds) after command was executed (example: give some time for " "authentication)" @@ -4284,11 +4203,11 @@ msgstr "" "počkání (v sekundách) po spuštění příkazu (například: dád nějaký čas pro " "autorizaci)" -#: src/common/weeconfig.c:819 +#: src/common/weeconfig.c:850 msgid "list of channels to join when connected to server" msgstr "seznam kanálů na které přistoupit po připojení na server" -#: src/common/weeconfig.c:820 +#: src/common/weeconfig.c:851 msgid "" "comma separated list of channels to join when connected to server (example: " "\"#chan1,#chan2,#chan3 key1,key2\")" @@ -4296,15 +4215,15 @@ msgstr "" "čárkou rozdělený seznam kanálů na které přistoupit po připojení na server " "(příklad: \"#kanál1,#kanál2,#kanál3 klíč1,klíč2\")" -#: src/common/weeconfig.c:823 src/common/weeconfig.c:824 +#: src/common/weeconfig.c:854 src/common/weeconfig.c:855 msgid "automatically rejoin channels when kicked" msgstr "automaticky znovu přijít na kanál po vykopnutí" -#: src/common/weeconfig.c:827 +#: src/common/weeconfig.c:858 msgid "notify levels for channels of this server" msgstr "level upozornění pro kanály na tomto serveru" -#: src/common/weeconfig.c:828 +#: src/common/weeconfig.c:859 msgid "" "comma separated list of notify levels for channels of this server (format: " "#channel:1,..)" @@ -4312,67 +4231,67 @@ msgstr "" "čárkou oddělený seznam levelů upozornění pro kanály na tomto serveru " "(formát: #kanál:1,..)" -#: src/common/weeconfig.c:1322 +#: src/common/weeconfig.c:1354 #, c-format msgid "%s %s, line %d: new server, but previous was incomplete\n" msgstr "%s %s, řádek %d: nový server, ale předchozí byl nekompletní\n" -#: src/common/weeconfig.c:1331 +#: src/common/weeconfig.c:1363 #, c-format msgid "%s %s, line %d: server '%s' already exists\n" msgstr "%s %s, řádek %d: server '%s' již existuje\n" -#: src/common/weeconfig.c:1346 +#: src/common/weeconfig.c:1378 #, c-format msgid "%s %s, line %d: unable to create server\n" msgstr "%s %s, řádek %d: nemohu vytvořit server\n" -#: src/common/weeconfig.c:1386 +#: src/common/weeconfig.c:1418 #, c-format msgid "%s unable to assign default int with string (\"%s\")\n" msgstr "%s nemohu přiřadit výchozí číslo s řetězcem (\"%s\")\n" -#: src/common/weeconfig.c:1397 +#: src/common/weeconfig.c:1429 #, c-format msgid "%s unable to assign default color (\"%s\")\n" msgstr "%s nemohu přiřadit výchozí barvu (\"%s\")\n" -#: src/common/weeconfig.c:1436 +#: src/common/weeconfig.c:1468 #, c-format msgid "%s config file \"%s\" not found.\n" msgstr "%s konfigurační soubor \"%s\" nenalezen\n" -#: src/common/weeconfig.c:1468 +#: src/common/weeconfig.c:1500 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"]\"\n" msgstr "%s %s, řádek %d: nevalidní syntaxe, chybí \"]\"\n" -#: src/common/weeconfig.c:1485 +#: src/common/weeconfig.c:1517 #, c-format msgid "%s %s, line %d: unknown section identifier (\"%s\")\n" msgstr "%s %s, řádek %d: neznámý identifikátor sekce (\"%s\")\n" -#: src/common/weeconfig.c:1503 +#: src/common/weeconfig.c:1535 #, c-format msgid "%s %s, line %d: invalid section for option, line is ignored\n" msgstr "%s %s, řádek %d: nevalidní sekce pro volbu, řádek je ignorován\n" -#: src/common/weeconfig.c:1511 +#: src/common/weeconfig.c:1543 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"=\"\n" msgstr "%s %s, řádek %d: nevalidní syntax, chybí \"=\"\n" -#: src/common/weeconfig.c:1548 src/common/weeconfig.c:1574 +#: src/common/weeconfig.c:1580 src/common/weeconfig.c:1606 #, c-format msgid "%s %s, line %d: invalid option \"%s\"\n" msgstr "%s %s, řádek %d: nevalidní volba \"%s\"\n" -#: src/common/weeconfig.c:1554 +#: src/common/weeconfig.c:1586 #, c-format msgid "%s %s, line %d: invalid ignore options \"%s\"\n" msgstr "%s %s, řádek %d: nevalidní volba \"%s\" pro ignorování\n" -#: src/common/weeconfig.c:1585 +#: src/common/weeconfig.c:1617 #, c-format msgid "" "%s %s, line %d: invalid value foroption '%s'\n" @@ -4381,7 +4300,7 @@ msgstr "" "%s %s, řádek %d: nevalidní hodnota pro volbu '%s'\n" "Očekáváno: hodnota boolean: 'off' nebo 'on'\n" -#: src/common/weeconfig.c:1594 +#: src/common/weeconfig.c:1626 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -4390,7 +4309,7 @@ msgstr "" "%s %s, řádek %d: nevalidní hodnota pro volbu '%s'\n" "Očekáváno: celé číslo mezi %d a %d\n" -#: src/common/weeconfig.c:1605 +#: src/common/weeconfig.c:1637 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -4399,26 +4318,26 @@ msgstr "" "%s %s, řádek %d: nevalidní hodnota pro volbu '%s'\n" "Očekáváno: jeden z těchto řetězců: " -#: src/common/weeconfig.c:1621 +#: src/common/weeconfig.c:1653 #, c-format msgid "%s %s, line %d: invalid color name for option '%s'\n" msgstr "%s %s, řádek %d: nevalidní jméno barvy pro hodnotu '%s'\n" -#: src/common/weeconfig.c:1683 src/common/weeconfig.c:1878 +#: src/common/weeconfig.c:1715 src/common/weeconfig.c:1910 #, c-format msgid "%s cannot create file \"%s\"\n" msgstr "%s nemohu vytvořit soubor \"%s\"\n" -#: src/common/weeconfig.c:1689 +#: src/common/weeconfig.c:1721 #, c-format msgid "%s: creating default config file...\n" msgstr "%s: vytvářím výchozí konfigurační soubor...\n" -#: src/common/weeconfig.c:1690 +#: src/common/weeconfig.c:1722 msgid "Creating default config file\n" msgstr "Vytvářím výchozí konfigurační soubor\n" -#: src/common/weeconfig.c:1693 src/common/weeconfig.c:1887 +#: src/common/weeconfig.c:1725 src/common/weeconfig.c:1919 #, c-format msgid "" "#\n" @@ -4427,13 +4346,6 @@ msgstr "" "#\n" "# %s konfigurační soubor, vytvořil %s v%s %s#\n" -#: src/common/weeconfig.c:1884 +#: src/common/weeconfig.c:1916 msgid "Saving config to disk\n" msgstr "Ukládám konfiguraci na disk\n" - -#~ msgid "" -#~ "option: name of an option\n" -#~ "value: value for option" -#~ msgstr "" -#~ "volba: jméno volby\n" -#~ "hodnota: hodnota pro volbu" diff --git a/weechat/po/es.po b/weechat/po/es.po index 90b64f29b..3c5e045d2 100644 --- a/weechat/po/es.po +++ b/weechat/po/es.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.6-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2005-10-03 14:05+0200\n" -"PO-Revision-Date: 2005-10-03 14:05+0200\n" +"POT-Creation-Date: 2005-10-15 14:17+0200\n" +"PO-Revision-Date: 2005-10-15 13:18+0200\n" "Last-Translator: Roberto Gonzlez Cardenete <robert.glez@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" msgid "%s cannot allocate new nick\n" msgstr "%s no ha sido posible crear un nuevo nick\n" -#: src/irc/irc-server.c:180 src/common/weeconfig.c:1823 +#: src/irc/irc-server.c:180 src/common/weeconfig.c:1855 msgid "Unable to get user's name" msgstr "No ha sido posible obtener el nombre de usuario" @@ -1342,7 +1342,7 @@ msgstr "no es posible cambiar el modo para el resto de usuarios" msgid "whois (secure connection)" msgstr "whois (conexin segura)" -#: src/irc/irc-display.c:163 src/common/command.c:877 +#: src/irc/irc-display.c:163 src/common/command.c:870 msgid "Server: " msgstr "Servidor: " @@ -1350,7 +1350,7 @@ msgstr "Servidor: " msgid "connected" msgstr "conectado" -#: src/irc/irc-display.c:168 src/common/command.c:903 +#: src/irc/irc-display.c:168 src/common/command.c:896 msgid "not connected" msgstr "no conectado" @@ -1372,7 +1372,7 @@ msgstr " (servidor temporal, no ser guardado)" msgid "(hidden)" msgstr "(oculto)" -#: src/irc/irc-send.c:59 src/irc/irc-recv.c:4421 +#: src/irc/irc-send.c:59 src/irc/irc-recv.c:4426 msgid "unknown" msgstr "desconocido" @@ -1381,7 +1381,7 @@ msgstr "desconocido" msgid "%s: using local hostname \"%s\"\n" msgstr "%s: utilizacin del nombre de mquina local \"%s\"\n" -#: src/irc/irc-send.c:167 src/common/command.c:755 +#: src/irc/irc-send.c:167 src/common/command.c:746 #, c-format msgid "%s cannot find nick for sending message\n" msgstr "%s no ha sido posible encontrar el usuario al que enviar el mensaje\n" @@ -1398,9 +1398,8 @@ msgstr "" #: src/irc/irc-send.c:456 src/irc/irc-send.c:468 src/irc/irc-send.c:486 #: src/irc/irc-send.c:1138 src/irc/irc-send.c:1231 src/irc/irc-send.c:1763 -#: src/common/command.c:1225 src/common/command.c:1579 -#: src/common/command.c:1729 src/common/command.c:1872 -#: src/common/command.c:2015 +#: src/common/command.c:1218 src/common/command.c:1628 +#: src/common/command.c:1760 #, c-format msgid "%s wrong argument count for \"%s\" command\n" msgstr "%s nmero de argumentos incorrecto para el comando \"%s\"\n" @@ -1417,13 +1416,13 @@ msgid "%s \"%s\" command can not be executed on a server window\n" msgstr "" "%s el comando \"%s\" no puede ser ejecutado en una ventana de servidor\n" -#: src/irc/irc-send.c:1031 src/irc/irc-send.c:1056 src/irc/irc-recv.c:430 +#: src/irc/irc-send.c:1031 src/irc/irc-send.c:1056 src/irc/irc-recv.c:435 #, c-format msgid "%s nick \"%s\" not found for \"%s\" command\n" msgstr "%s usuario \"%s\" no encontrado para el comando \"%s\"\n" -#: src/irc/irc-send.c:1108 src/irc/irc-send.c:1416 src/irc/irc-recv.c:1117 -#: src/irc/irc-recv.c:1933 src/irc/irc-recv.c:2021 +#: src/irc/irc-send.c:1108 src/irc/irc-send.c:1416 src/irc/irc-recv.c:1122 +#: src/irc/irc-recv.c:1938 src/irc/irc-recv.c:2026 #, c-format msgid "%s cannot create new private window \"%s\"\n" msgstr "%s no es posible crear una nueva ventana privada \"%s\"\n" @@ -1433,447 +1432,447 @@ msgstr "%s no es posible crear una nueva ventana privada \"%s\"\n" msgid "%s, compiled on %s %s\n" msgstr "%s, compilado en %s %s\n" -#: src/irc/irc-recv.c:286 +#: src/irc/irc-recv.c:291 msgid "You have been invited to " msgstr "Has sido invitado a " -#: src/irc/irc-recv.c:289 +#: src/irc/irc-recv.c:294 msgid "by" msgstr "por" -#: src/irc/irc-recv.c:300 src/irc/irc-recv.c:394 src/irc/irc-recv.c:891 -#: src/irc/irc-recv.c:1276 src/irc/irc-recv.c:1535 src/irc/irc-recv.c:3437 -#: src/irc/irc-recv.c:3459 src/irc/irc-recv.c:3520 src/irc/irc-recv.c:3592 +#: src/irc/irc-recv.c:305 src/irc/irc-recv.c:399 src/irc/irc-recv.c:896 +#: src/irc/irc-recv.c:1281 src/irc/irc-recv.c:1540 src/irc/irc-recv.c:3442 +#: src/irc/irc-recv.c:3464 src/irc/irc-recv.c:3525 src/irc/irc-recv.c:3597 #, c-format msgid "%s channel \"%s\" not found for \"%s\" command\n" msgstr "%s canal \"%s\" no encontrado para el comando \"%s\"\n" -#: src/irc/irc-recv.c:328 +#: src/irc/irc-recv.c:333 #, c-format msgid "%s cannot create new channel \"%s\"\n" msgstr "%s no es posible crear un nuevo canal \"%s\"\n" -#: src/irc/irc-recv.c:347 +#: src/irc/irc-recv.c:352 msgid " has joined " msgstr " se ha unido " -#: src/irc/irc-recv.c:405 +#: src/irc/irc-recv.c:410 msgid " has kicked " msgstr " se ha expulsado " -#: src/irc/irc-recv.c:409 src/common/command.c:1400 +#: src/irc/irc-recv.c:414 src/common/command.c:1449 msgid " from " msgstr " de " -#: src/irc/irc-recv.c:495 +#: src/irc/irc-recv.c:500 msgid " has killed " msgstr "ha matado" -#: src/irc/irc-recv.c:501 +#: src/irc/irc-recv.c:506 msgid " from server" msgstr "del servidor" -#: src/irc/irc-recv.c:511 +#: src/irc/irc-recv.c:516 msgid " from server\n" msgstr "del servidor\n" -#: src/irc/irc-recv.c:519 +#: src/irc/irc-recv.c:524 #, c-format msgid "%s host \"%s\" not found for \"%s\" command\n" msgstr "%s anfitrin \"%s\" no encontrado para el comando \"%s\"\n" -#: src/irc/irc-recv.c:559 +#: src/irc/irc-recv.c:564 msgid "sets ban on" msgstr "establecer baneo en" -#: src/irc/irc-recv.c:560 +#: src/irc/irc-recv.c:565 msgid "removes ban on" msgstr "quitar baneo en" -#: src/irc/irc-recv.c:584 +#: src/irc/irc-recv.c:589 msgid "gives half channel operator status to" msgstr "dar estado de media operador de canal a" -#: src/irc/irc-recv.c:585 +#: src/irc/irc-recv.c:590 msgid "removes half channel operator status from" msgstr "eliminar el estado de media operador de canal a" -#: src/irc/irc-recv.c:612 +#: src/irc/irc-recv.c:617 msgid "sets invite-only channel flag" msgstr "define el canal slo en modo invitado" -#: src/irc/irc-recv.c:613 +#: src/irc/irc-recv.c:618 msgid "removes invite-only channel flag" msgstr "elimina el modo slo invitado para el canal" -#: src/irc/irc-recv.c:630 +#: src/irc/irc-recv.c:635 msgid "sets channel key to" msgstr "definir clave de canal en" -#: src/irc/irc-recv.c:631 +#: src/irc/irc-recv.c:636 msgid "removes channel key" msgstr "elimina la clave de canal" -#: src/irc/irc-recv.c:662 +#: src/irc/irc-recv.c:667 msgid "sets the user limit to" msgstr "define el lmite de usuarios en" -#: src/irc/irc-recv.c:663 +#: src/irc/irc-recv.c:668 msgid "removes user limit" msgstr "elimina el lmite de usuarios" -#: src/irc/irc-recv.c:685 +#: src/irc/irc-recv.c:690 msgid "sets moderated channel flag" msgstr "establece la moderacin en el canal" -#: src/irc/irc-recv.c:686 +#: src/irc/irc-recv.c:691 msgid "removes moderated channel flag" msgstr "elimina la moderacin en el canal" -#: src/irc/irc-recv.c:696 +#: src/irc/irc-recv.c:701 msgid "sets messages from channel only flag" msgstr "establece el modo slo mensajes de usuarios del canal" -#: src/irc/irc-recv.c:697 +#: src/irc/irc-recv.c:702 msgid "removes messages from channel only flag" msgstr "autoriza a todos los usuarios a escribir en el canal" -#: src/irc/irc-recv.c:714 +#: src/irc/irc-recv.c:719 msgid "gives channel operator status to" msgstr "dar estado de operador de canal a" -#: src/irc/irc-recv.c:715 +#: src/irc/irc-recv.c:720 msgid "removes channel operator status from" msgstr "eliminar el estado de operador de canal a" -#: src/irc/irc-recv.c:742 +#: src/irc/irc-recv.c:747 msgid "sets private channel flag" msgstr "establece el canal como privado" -#: src/irc/irc-recv.c:743 +#: src/irc/irc-recv.c:748 msgid "removes private channel flag" msgstr "elimina el modo privado para el canal" -#: src/irc/irc-recv.c:760 +#: src/irc/irc-recv.c:765 msgid "sets quiet on" msgstr "" -#: src/irc/irc-recv.c:761 +#: src/irc/irc-recv.c:766 msgid "removes quiet on" msgstr "" -#: src/irc/irc-recv.c:778 +#: src/irc/irc-recv.c:783 msgid "sets secret channel flag" msgstr "establece el canal como secreto" -#: src/irc/irc-recv.c:779 +#: src/irc/irc-recv.c:784 msgid "removes secret channel flag" msgstr "elimina el modo secreto para el canal" -#: src/irc/irc-recv.c:789 +#: src/irc/irc-recv.c:794 msgid "sets topic protection" msgstr "activa la proteccin de tema" -#: src/irc/irc-recv.c:790 +#: src/irc/irc-recv.c:795 msgid "removes topic protection" msgstr "elimina la proteccin de tema" -#: src/irc/irc-recv.c:807 +#: src/irc/irc-recv.c:812 msgid "gives voice to" msgstr "da voz a" -#: src/irc/irc-recv.c:808 +#: src/irc/irc-recv.c:813 msgid "removes voice from" msgstr "quita la voz a" -#: src/irc/irc-recv.c:851 src/irc/irc-recv.c:933 src/irc/irc-recv.c:1354 -#: src/irc/irc-recv.c:2088 +#: src/irc/irc-recv.c:856 src/irc/irc-recv.c:938 src/irc/irc-recv.c:1359 +#: src/irc/irc-recv.c:2093 #, c-format msgid "%s \"%s\" command received without host\n" msgstr "%s comando \"%s\" recibido sin host \n" -#: src/irc/irc-recv.c:861 +#: src/irc/irc-recv.c:866 #, c-format msgid "%s \"%s\" command received without channel or nickname\n" msgstr "%s comando \"%s\" recibido sin canal usuario\n" -#: src/irc/irc-recv.c:908 +#: src/irc/irc-recv.c:913 msgid "mode changed by" msgstr "modo cambiado por" -#: src/irc/irc-recv.c:970 +#: src/irc/irc-recv.c:975 msgid "You are " msgstr "Usted es " -#: src/irc/irc-recv.c:977 +#: src/irc/irc-recv.c:982 msgid " is " msgstr "es " -#: src/irc/irc-recv.c:981 +#: src/irc/irc-recv.c:986 msgid "now known as " msgstr "ahora conocido como" -#: src/irc/irc-recv.c:1048 +#: src/irc/irc-recv.c:1053 #, c-format msgid "%s nickname not found for \"%s\" command\n" msgstr "%s nombre de usuario no encontrado para el comando \"%s\"\n" -#: src/irc/irc-recv.c:1064 src/irc/irc-recv.c:1096 +#: src/irc/irc-recv.c:1069 src/irc/irc-recv.c:1101 msgid "reply from" msgstr "respuesta de" -#: src/irc/irc-recv.c:1099 +#: src/irc/irc-recv.c:1104 #, c-format msgid ": %ld.%ld seconds\n" msgstr ": %ld.%ld segundos\n" -#: src/irc/irc-recv.c:1138 src/irc/irc-recv.c:2042 src/irc/irc-dcc.c:1044 +#: src/irc/irc-recv.c:1143 src/irc/irc-recv.c:2047 src/irc/irc-dcc.c:1044 #, c-format msgid "Private %s> %s" msgstr "Privado %s> %s" -#: src/irc/irc-recv.c:1201 +#: src/irc/irc-recv.c:1206 #, c-format msgid "%s \"%s\" command received without host or channel\n" msgstr "%s comando \"%s\" recibido sin host o canal\n" -#: src/irc/irc-recv.c:1250 +#: src/irc/irc-recv.c:1255 msgid " has left " msgstr " ha salido " -#: src/irc/irc-recv.c:1402 src/irc/irc-recv.c:1957 +#: src/irc/irc-recv.c:1407 src/irc/irc-recv.c:1962 #, c-format msgid "On %s: * %s %s" msgstr "En %s: * %s %s" -#: src/irc/irc-recv.c:1426 +#: src/irc/irc-recv.c:1431 #, c-format msgid "Received a CTCP SOUND \"%s\" from " msgstr "Recibido un sonido CTCP \\\"%s\\\" de " -#: src/irc/irc-recv.c:1459 src/irc/irc-recv.c:1490 src/irc/irc-recv.c:1594 -#: src/irc/irc-recv.c:1634 src/irc/irc-recv.c:1997 +#: src/irc/irc-recv.c:1464 src/irc/irc-recv.c:1495 src/irc/irc-recv.c:1599 +#: src/irc/irc-recv.c:1639 src/irc/irc-recv.c:2002 msgid "received from" msgstr "recibido de" -#: src/irc/irc-recv.c:1486 src/irc/irc-recv.c:1993 +#: src/irc/irc-recv.c:1491 src/irc/irc-recv.c:1998 msgid "Unknown CTCP " msgstr "" -#: src/irc/irc-recv.c:1518 +#: src/irc/irc-recv.c:1523 #, c-format msgid "On %s: %s> %s" msgstr "En %s: %s> %s" -#: src/irc/irc-recv.c:1650 src/irc/irc-recv.c:1671 src/irc/irc-recv.c:1687 -#: src/irc/irc-recv.c:1703 src/irc/irc-recv.c:1729 src/irc/irc-recv.c:1750 -#: src/irc/irc-recv.c:1766 src/irc/irc-recv.c:1791 src/irc/irc-recv.c:1812 -#: src/irc/irc-recv.c:1828 src/irc/irc-recv.c:1853 src/irc/irc-recv.c:1874 -#: src/irc/irc-recv.c:1889 src/irc/irc-recv.c:2064 src/irc/irc-recv.c:2408 -#: src/irc/irc-recv.c:3988 src/irc/irc-recv.c:4046 src/irc/irc-recv.c:4205 -#: src/irc/irc-recv.c:4220 src/irc/irc-recv.c:4235 src/irc/irc-recv.c:4250 -#: src/irc/irc-recv.c:4263 src/irc/irc-recv.c:4317 src/irc/irc-recv.c:4331 +#: src/irc/irc-recv.c:1655 src/irc/irc-recv.c:1676 src/irc/irc-recv.c:1692 +#: src/irc/irc-recv.c:1708 src/irc/irc-recv.c:1734 src/irc/irc-recv.c:1755 +#: src/irc/irc-recv.c:1771 src/irc/irc-recv.c:1796 src/irc/irc-recv.c:1817 +#: src/irc/irc-recv.c:1833 src/irc/irc-recv.c:1858 src/irc/irc-recv.c:1879 +#: src/irc/irc-recv.c:1894 src/irc/irc-recv.c:2069 src/irc/irc-recv.c:2413 +#: src/irc/irc-recv.c:3993 src/irc/irc-recv.c:4051 src/irc/irc-recv.c:4210 +#: src/irc/irc-recv.c:4225 src/irc/irc-recv.c:4240 src/irc/irc-recv.c:4255 +#: src/irc/irc-recv.c:4268 src/irc/irc-recv.c:4322 src/irc/irc-recv.c:4336 #, c-format msgid "%s cannot parse \"%s\" command\n" msgstr "%s no es posible analizar el comando \"%s\"\n" -#: src/irc/irc-recv.c:1902 +#: src/irc/irc-recv.c:1907 #, c-format msgid "%s unknown DCC CHAT type received from " msgstr "%s tipo DCC CHAT desconocido recibido de " -#: src/irc/irc-recv.c:2119 +#: src/irc/irc-recv.c:2124 msgid "has quit" msgstr "ha salido" -#: src/irc/irc-recv.c:2244 +#: src/irc/irc-recv.c:2249 #, c-format msgid "%s \"%s\" command received without channel\n" msgstr "%s comando \"%s\" recibido sin canal\n" -#: src/irc/irc-recv.c:2276 +#: src/irc/irc-recv.c:2281 msgid " has changed topic for " msgstr "ha cambiado el tema por " -#: src/irc/irc-recv.c:2281 +#: src/irc/irc-recv.c:2286 #, c-format msgid " to: \"%s\"\n" msgstr " a: \"%s\"\n" -#: src/irc/irc-recv.c:2287 +#: src/irc/irc-recv.c:2292 msgid " has unset topic for " msgstr " ha quitado el tema por " -#: src/irc/irc-recv.c:2396 +#: src/irc/irc-recv.c:2401 msgid "User mode" msgstr "" -#: src/irc/irc-recv.c:2451 +#: src/irc/irc-recv.c:2456 #, c-format msgid " is away: %s\n" msgstr " est ausente: %s\n" -#: src/irc/irc-recv.c:2533 +#: src/irc/irc-recv.c:2538 msgid "Users online: " msgstr "Usuarios conectados: " -#: src/irc/irc-recv.c:3023 +#: src/irc/irc-recv.c:3028 msgid "idle: " msgstr "sin actividad: " -#: src/irc/irc-recv.c:3031 +#: src/irc/irc-recv.c:3036 msgid "days" msgstr "das" -#: src/irc/irc-recv.c:3031 +#: src/irc/irc-recv.c:3036 msgid "day" msgstr "da" -#: src/irc/irc-recv.c:3041 +#: src/irc/irc-recv.c:3046 msgid "hours" msgstr "horas" -#: src/irc/irc-recv.c:3041 +#: src/irc/irc-recv.c:3046 msgid "hour" msgstr "hora" -#: src/irc/irc-recv.c:3047 +#: src/irc/irc-recv.c:3052 msgid "minutes" msgstr "minutos" -#: src/irc/irc-recv.c:3047 +#: src/irc/irc-recv.c:3052 msgid "minute" msgstr "minuto" -#: src/irc/irc-recv.c:3053 +#: src/irc/irc-recv.c:3058 msgid "seconds" msgstr "segundos" -#: src/irc/irc-recv.c:3053 +#: src/irc/irc-recv.c:3058 msgid "second" msgstr "segundo" -#: src/irc/irc-recv.c:3058 +#: src/irc/irc-recv.c:3063 msgid "signon at: " msgstr "firmado el: " -#: src/irc/irc-recv.c:3154 +#: src/irc/irc-recv.c:3159 msgid "Channels: " msgstr "Canales: " -#: src/irc/irc-recv.c:3450 +#: src/irc/irc-recv.c:3455 msgid "No topic set for " msgstr "No hay tema definido para " -#: src/irc/irc-recv.c:3507 +#: src/irc/irc-recv.c:3512 msgid "Topic for " msgstr "El tema para " -#: src/irc/irc-recv.c:3511 +#: src/irc/irc-recv.c:3516 #, c-format msgid " is: \"%s\"\n" msgstr " es: \"%s\"\n" -#: src/irc/irc-recv.c:3530 src/irc/irc-recv.c:3619 src/irc/irc-recv.c:3672 +#: src/irc/irc-recv.c:3535 src/irc/irc-recv.c:3624 src/irc/irc-recv.c:3677 #, c-format msgid "%s cannot identify channel for \"%s\" command\n" msgstr "%s no es posible identificar el canal para el comando \"%s\"\n" -#: src/irc/irc-recv.c:3580 +#: src/irc/irc-recv.c:3585 msgid "Topic set by " msgstr "Tema definido por " -#: src/irc/irc-recv.c:3601 +#: src/irc/irc-recv.c:3606 #, c-format msgid "%s cannot identify date/time for \"%s\" command\n" msgstr "%s no es posible identificar la fecha/hora para el comando \"%s\"\n" -#: src/irc/irc-recv.c:3610 src/irc/irc-recv.c:3681 +#: src/irc/irc-recv.c:3615 src/irc/irc-recv.c:3686 #, c-format msgid "%s cannot identify nickname for \"%s\" command\n" msgstr "" "%s no es posible determinar el nombre de usuario para el comando \"%s\"\n" -#: src/irc/irc-recv.c:3660 +#: src/irc/irc-recv.c:3665 msgid "has invited" msgstr "ha invitado" -#: src/irc/irc-recv.c:3663 src/irc/irc-recv.c:3909 src/common/command.c:1393 +#: src/irc/irc-recv.c:3668 src/irc/irc-recv.c:3914 src/common/command.c:1442 msgid "on" msgstr "en" -#: src/irc/irc-recv.c:3718 +#: src/irc/irc-recv.c:3723 msgid "Channel reop" msgstr "" -#: src/irc/irc-recv.c:4034 +#: src/irc/irc-recv.c:4039 #, c-format msgid "%s cannot create nick \"%s\" for channel \"%s\"\n" msgstr "%s no es posible crear el usuario \"%s\" para el canal \"%s\"\n" -#: src/irc/irc-recv.c:4093 +#: src/irc/irc-recv.c:4098 msgid "Nicks " msgstr "Usuarios " -#: src/irc/irc-recv.c:4113 +#: src/irc/irc-recv.c:4118 msgid "Channel " msgstr "Canal " -#: src/irc/irc-recv.c:4124 +#: src/irc/irc-recv.c:4129 msgid "nicks" msgstr "usuarios" -#: src/irc/irc-recv.c:4124 +#: src/irc/irc-recv.c:4129 msgid "nick" msgstr "usuario" -#: src/irc/irc-recv.c:4132 +#: src/irc/irc-recv.c:4137 msgid "ops" msgstr "operadores" -#: src/irc/irc-recv.c:4132 +#: src/irc/irc-recv.c:4137 msgid "op" msgstr "operador" -#: src/irc/irc-recv.c:4141 +#: src/irc/irc-recv.c:4146 msgid "halfops" msgstr "semi-operadores" -#: src/irc/irc-recv.c:4141 +#: src/irc/irc-recv.c:4146 msgid "halfop" msgstr "semi-operador" -#: src/irc/irc-recv.c:4150 +#: src/irc/irc-recv.c:4155 msgid "voices" msgstr "voces" -#: src/irc/irc-recv.c:4150 +#: src/irc/irc-recv.c:4155 msgid "voice" msgstr "voz" -#: src/irc/irc-recv.c:4159 +#: src/irc/irc-recv.c:4164 msgid "normal" msgstr "normal" -#: src/irc/irc-recv.c:4280 +#: src/irc/irc-recv.c:4285 msgid "banned by" msgstr "baneado por" -#: src/irc/irc-recv.c:4375 +#: src/irc/irc-recv.c:4380 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 2nd nickname \"%s\"\n" msgstr "" "%s: el nombre de usuario \"%s\" ya est en uso, probando con el 2 nombre de " "usuario \"%s\"\n" -#: src/irc/irc-recv.c:4387 +#: src/irc/irc-recv.c:4392 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 3rd nickname \"%s\"\n" msgstr "" "%s: el nombre de usuario \"%s\" ya est en uso, probando con el 3 nombre de " "usuario \"%s\"\n" -#: src/irc/irc-recv.c:4399 +#: src/irc/irc-recv.c:4404 #, c-format msgid "" "%s: all declared nicknames are already in use, closing connection with " @@ -1882,7 +1881,7 @@ msgstr "" "%s: todos los nombres de usuario declarados ya estn en uso, cerrando la " "conexin con el servidor!\n" -#: src/irc/irc-recv.c:4409 +#: src/irc/irc-recv.c:4414 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 1st nickname \"%s\"\n" msgstr "" @@ -2077,140 +2076,89 @@ msgstr "" msgid "Removing ignore:" msgstr "" -#: src/plugins/perl/wee-perl.c:88 src/plugins/perl/wee-perl.c:463 -#: src/plugins/python/wee-python.c:81 src/plugins/ruby/wee-ruby.c:89 +#: src/plugins/plugins.c:226 #, c-format msgid "" -"%s error: unable to register \"%s\" script (another script already exists " -"with this name)\n" +"%s plugin %s: unable to add handler for IRC command \"%s\" (not enough " +"memory)\n" msgstr "" -"Error de %s: no ha sido posible registrar el script \"%s\" (ya existe otro " -"script con ese nombre)\n" - -#: src/plugins/perl/wee-perl.c:112 src/plugins/perl/wee-perl.c:487 -#: src/plugins/python/wee-python.c:105 src/plugins/ruby/wee-ruby.c:113 -#, c-format -msgid "Registered %s script: \"%s\", version %s (%s)\n" -msgstr "%s script registrado: \"%s\", versin %s (%s)\n" -#: src/plugins/perl/wee-perl.c:119 src/plugins/perl/wee-perl.c:494 -#: src/plugins/python/wee-python.c:112 src/plugins/ruby/wee-ruby.c:120 +#: src/plugins/plugins.c:261 #, c-format -msgid "%s error: unable to load script \"%s\" (not enough memory)\n" +msgid "" +"%s plugin %s: unable to add handler for \"%s\" command (already exists)\n" msgstr "" -"Error de %s: no ha sido posible cargar el script \"%s\" (memoria " -"insuficiente)\n" - -#: src/plugins/perl/wee-perl.c:234 src/plugins/perl/wee-perl.c:520 -#: src/plugins/perl/wee-perl.c:568 src/plugins/perl/wee-perl.c:595 -#: src/plugins/perl/wee-perl.c:640 src/plugins/perl/wee-perl.c:670 -#: src/plugins/perl/wee-perl.c:710 src/plugins/python/wee-python.c:60 -#: src/plugins/python/wee-python.c:142 src/plugins/python/wee-python.c:179 -#: src/plugins/python/wee-python.c:211 src/plugins/python/wee-python.c:243 -#: src/plugins/python/wee-python.c:272 src/plugins/python/wee-python.c:311 -#: src/plugins/ruby/wee-ruby.c:58 src/plugins/ruby/wee-ruby.c:146 -#: src/plugins/ruby/wee-ruby.c:192 src/plugins/ruby/wee-ruby.c:226 -#: src/plugins/ruby/wee-ruby.c:267 src/plugins/ruby/wee-ruby.c:298 -#: src/plugins/ruby/wee-ruby.c:339 -#, c-format -msgid "%s error: wrong parameters for \"%s\" function\n" -msgstr "Error de %s: parmetros incorrectos para la funcin \"%s\"\n" - -#: src/plugins/perl/wee-perl.c:270 src/plugins/perl/wee-perl.c:374 -#: src/plugins/perl/wee-perl.c:723 src/plugins/python/wee-python.c:331 -#: src/plugins/ruby/wee-ruby.c:367 -#, c-format -msgid "%s error: server not found for \"%s\" function\n" -msgstr "Error de %s: servidor no encontrado para el comando \"%s\"\n" - -#: src/plugins/perl/wee-perl.c:873 src/plugins/python/wee-python.c:457 -#, c-format -msgid "Loading %s module \"weechat\"\n" -msgstr "Cargando mdulo %s \"weechat\"\n" -#: src/plugins/perl/wee-perl.c:932 +#: src/plugins/plugins.c:296 #, c-format -msgid "Perl error: %s" -msgstr "Error de Perl: %s" - -#: src/plugins/perl/wee-perl.c:942 -#, c-format -msgid "%s error: too much values from \"%s\" (%d). Expected: 1.\n" -msgstr "Error de %s: demasiados valores desde \"%s\" (%d). Esperado: 1.\n" - -#: src/plugins/perl/wee-perl.c:964 src/plugins/perl/wee-perl.c:966 -#: src/plugins/python/wee-python.c:615 src/plugins/python/wee-python.c:617 -#, c-format -msgid "Loading %s script \"%s\"\n" -msgstr "Cargando %s script \"%s\"\n" +msgid "" +"%s plugin %s: unable to add handler for \"%s\" command (not enough memory)\n" +msgstr "" -#: src/plugins/perl/wee-perl.c:1015 src/plugins/python/wee-python.c:686 -#: src/plugins/ruby/wee-ruby.c:555 +#: src/plugins/plugins.c:573 #, c-format -msgid "Unloading %s script \"%s\"\n" -msgstr "Descarga del %s script \"%s\"\n" +msgid "%s unable to load plugin \"%s\": %s\n" +msgstr "" -#: src/plugins/perl/wee-perl.c:1032 src/plugins/python/wee-python.c:703 -#: src/plugins/ruby/wee-ruby.c:572 +#: src/plugins/plugins.c:584 #, c-format -msgid "Unloading all %s scripts...\n" -msgstr "Descargando todos los %s scripts...\n" +msgid "%s symbol \"plugin_name\" not found in plugin \"%s\", failed to load\n" +msgstr "" -#: src/plugins/perl/wee-perl.c:1037 src/plugins/python/wee-python.c:708 -#: src/plugins/ruby/wee-ruby.c:577 +#: src/plugins/plugins.c:595 #, c-format -msgid "%s scripts unloaded\n" -msgstr "%s scripts descargados\n" +msgid "" +"%s unable to load plugin \"%s\": a plugin with same name already exists\n" +msgstr "" -#: src/plugins/python/wee-python.c:452 +#: src/plugins/plugins.c:607 #, c-format -msgid "%s error: error while launching interpreter\n" -msgstr "%s error: error al lanzar el intrprete\n" +msgid "" +"%s symbol \"plugin_description\" not found in plugin \"%s\", failed to load\n" +msgstr "" -#: src/plugins/python/wee-python.c:481 +#: src/plugins/plugins.c:618 #, c-format -msgid "%s error: error while redirecting stdout and stderr\n" -msgstr "%s error: error al redireccionar stdout y stderr\n" +msgid "" +"%s symbol \"plugin_version\" not found in plugin \"%s\", failed to load\n" +msgstr "" -#: src/plugins/python/wee-python.c:534 src/plugins/python/wee-python.c:562 -#: src/plugins/python/wee-python.c:594 +#: src/plugins/plugins.c:629 #, c-format -msgid "%s error: unable to run function \"%s\" in script (not enough memory)\n" +msgid "" +"%s function \"weechat_plugin_init\" not found in plugin \"%s\", failed to " +"load\n" msgstr "" -"Error de %s: no ha sido posible cargar el script \"%s\" (memoria " -"insuficiente)\n" -#: src/plugins/python/wee-python.c:584 +#: src/plugins/plugins.c:683 #, c-format -msgid "%s error: error while running function \"%s\"\n" -msgstr "%s error: error al ejecutar la funcin \"%s\"\n" +msgid "Initializing plugin \"%s\" %s\n" +msgstr "" -#: src/plugins/python/wee-python.c:623 +#: src/plugins/plugins.c:691 #, c-format -msgid "%s error: error while opening file \"%s\"\n" -msgstr "%s error: error al abrir el fichero \"%s\"\n" +msgid "%s unable to initialize plugin \"%s\"\n" +msgstr "" -#: src/plugins/python/wee-python.c:632 +#: src/plugins/plugins.c:702 #, c-format -msgid "%s error: error while parsing file \"%s\"\n" -msgstr "%s error: error al comparar el fichero \"%s\"\n" +msgid "%s unable to load plugin \"%s\" (not enough memory)\n" +msgstr "" -#: src/plugins/python/wee-python.c:734 +#: src/plugins/plugins.c:710 #, c-format -msgid "%s error: error while freeing interpreter\n" -msgstr "%s error: error al liberar el intrprete\n" +msgid "Plugin \"%s\" (%s) loaded.\n" +msgstr "" -#: src/plugins/plugins.c:97 +#: src/plugins/plugins.c:831 #, c-format -msgid "Auto-loading %s script: %s%s%s\n" -msgstr "Carga automtica del script %s : %s%s%s\n" +msgid "Plugin \"%s\" unloaded.\n" +msgstr "" -#: src/plugins/plugins.c:223 +#: src/plugins/plugins.c:837 #, c-format -msgid "%s unable to add handler for \"%s\" message (not enough memory)\n" +msgid "%s plugin \"%s\" not found\n" msgstr "" -"%s no ha sido posible aadir el manejador para el mensaje \"%s\" (memoria " -"insuficiente)\n" #: src/gui/curses/gui-input.c:340 #, c-format @@ -2434,7 +2382,7 @@ msgstr "limpiar hotlist" msgid "grab a key" msgstr "" -#: src/gui/gui-keyboard.c:426 src/common/command.c:1594 +#: src/gui/gui-keyboard.c:426 src/common/command.c:1643 #, c-format msgid "%s unable to bind key \"%s\"\n" msgstr "%s No ha sido posible atar la clave \"%s\"\n" @@ -2603,56 +2551,25 @@ msgstr "" "anclajes personales (usar cuidadosamente)" #: src/common/command.c:92 -msgid "list/load/unload Perl scripts" -msgstr "lista/carga/descarga de los Perl scripts" +msgid "list/load/unload plugins" +msgstr "" -#: src/common/command.c:93 src/common/command.c:98 src/common/command.c:103 +#: src/common/command.c:93 msgid "[load filename] | [autoload] | [reload] | [unload]" msgstr "[load fichero] | [autoload] | [reload] | [unload]" #: src/common/command.c:94 msgid "" -"filename: Perl script (file) to load\n" +"filename: WeeChat plugin (file) to load\n" "\n" -"Without argument, /perl command lists all loaded Perl scripts." +"Without argument, /plugin command lists all loaded plugins." msgstr "" -"fichero: Perl script (archivo) a cargar\n" -"\n" -"Sin argumentos, el comando /perl lista todos los Perl scripts cargados." #: src/common/command.c:97 -msgid "list/load/unload Python scripts" -msgstr "lista/carga/descarga de los Python scripts" - -#: src/common/command.c:99 -msgid "" -"filename: Python script (file) to load\n" -"\n" -"Without argument, /python command lists all loaded Python scripts." -msgstr "" -"fichero: Python script (archivo) a cargar\n" -"\n" -"Sin argumentos, el comando /python lista todos los Python scripts cargados." - -#: src/common/command.c:102 -msgid "list/load/unload Ruby scripts" -msgstr "lista/carga/descarga de los Ruby scripts" - -#: src/common/command.c:104 -msgid "" -"filename: Ruby script (file) to load\n" -"\n" -"Without argument, /ruby command lists all loaded Ruby scripts." -msgstr "" -"fichero: Ruby script (archivo) a cargar\n" -"\n" -"Sin argumentos, el comando /ruby lista todos los Ruby scripts cargados." - -#: src/common/command.c:107 msgid "list, add or remove servers" msgstr "lista, aade o elimina servidores" -#: src/common/command.c:108 +#: src/common/command.c:98 msgid "" "[servername] | [servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-" "pwd password] [-nicks nick1 nick2 nick3] [-username username] [-realname " @@ -2664,7 +2581,7 @@ msgstr "" "username nombre de usuario] [-realname nombre_real] [-command comando] [-" "autojoin canal[,canal]] ] | [del nombre_de_servidor]" -#: src/common/command.c:113 +#: src/common/command.c:103 msgid "" "servername: server name, for internal & display use\n" "hostname: name or IP address of server\n" @@ -2690,54 +2607,54 @@ msgstr "" "nombre_de_usuario: nombre de usuario\n" "nombre_real: nombre real del usuario" -#: src/common/command.c:125 +#: src/common/command.c:115 msgid "save config to disk" msgstr "guardar configuracin a disco" -#: src/common/command.c:126 +#: src/common/command.c:116 msgid "[file]" msgstr "[archivo]" -#: src/common/command.c:126 +#: src/common/command.c:116 msgid "file: filename for writing config" msgstr "archivo: fichero en el que guardar la configuracin" -#: src/common/command.c:128 +#: src/common/command.c:118 msgid "set config parameters" msgstr "modificar parmetros de configuracin" -#: src/common/command.c:129 +#: src/common/command.c:119 msgid "[option [ = value]]" msgstr "[opcin [ = valor]]" -#: src/common/command.c:130 +#: src/common/command.c:120 msgid "" "option: name of an option (if name is full and no value is given, then help " "is displayed on option)\n" "value: value for option" msgstr "" -#: src/common/command.c:134 +#: src/common/command.c:124 msgid "remove an alias" msgstr "eliminar un alias" -#: src/common/command.c:135 +#: src/common/command.c:125 msgid "alias_name" msgstr "alias" -#: src/common/command.c:135 +#: src/common/command.c:125 msgid "alias_name: name of alias to remove" msgstr "alias: nombre del alias a suprimir" -#: src/common/command.c:137 +#: src/common/command.c:127 msgid "unignore IRC messages and/or hosts" msgstr "" -#: src/common/command.c:138 +#: src/common/command.c:128 msgid "[number | [mask [[type | command] [channel [server]]]]]" msgstr "" -#: src/common/command.c:139 +#: src/common/command.c:129 msgid "" " number: # of ignore to unignore (number is displayed by list of ignore)\n" " mask: nick or host mask to unignore\n" @@ -2750,15 +2667,15 @@ msgid "" "Without argument, /unignore command lists all defined ignore." msgstr "" -#: src/common/command.c:148 +#: src/common/command.c:138 msgid "manage windows" msgstr "gestin de ventanas" -#: src/common/command.c:149 +#: src/common/command.c:139 msgid "[list | splith | splitv | [merge [down | up | left | right | all]]]" msgstr "[list | splith | splitv | [merge [down | up | left | right | all]]]" -#: src/common/command.c:150 +#: src/common/command.c:140 msgid "" "list: list opened windows (no parameter implies this list)\n" "splith: split current window horizontally\n" @@ -2771,29 +2688,29 @@ msgstr "" "splitv: dividir la ventana actual verticalmente\n" "merge: fusionar una ventana con otra" -#: src/common/command.c:296 +#: src/common/command.c:286 #, c-format msgid "%s alias or command \"%s\" already exists!\n" msgstr "%s el alias o el comando \"%s\" ya existe!\n" -#: src/common/command.c:306 +#: src/common/command.c:296 #, c-format msgid "%s alias cannot run another alias!\n" msgstr "%s el alias no puede ejecutar otro alias!\n" -#: src/common/command.c:313 +#: src/common/command.c:303 #, c-format msgid "%s target command \"%s\" does not exist!\n" msgstr "%s el comando objetivo \"%s\" no existe!\n" -#: src/common/command.c:521 +#: src/common/command.c:532 #, c-format msgid "%s wrong argument count for %s command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s nmero de argumentos incorrecto para el comando %s \"%s\" (esperado: %d " "parmetro%s)\n" -#: src/common/command.c:533 +#: src/common/command.c:544 #, c-format msgid "" "%s wrong argument count for %s command \"%s\" (expected: between %d and %d " @@ -2802,19 +2719,19 @@ msgstr "" "%s nmero de argumentos incorrecto para el comando %s \"%s\" (esperado: " "entre %d y %d parmetro%s)\n" -#: src/common/command.c:555 src/common/command.c:625 +#: src/common/command.c:566 src/common/command.c:631 #, c-format msgid "%s command \"%s\" failed\n" msgstr "%s el comando \"%s\" ha fallado\n" -#: src/common/command.c:583 +#: src/common/command.c:589 #, c-format msgid "%s wrong argument count for IRC command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s nmero de argumentos incorrecto para el comando IRC \"%s\" (esperado: %d " "parmetro%s)\n" -#: src/common/command.c:595 +#: src/common/command.c:601 #, c-format msgid "" "%s wrong argument count for IRC command \"%s\" (expected: between %d and %d " @@ -2823,291 +2740,263 @@ msgstr "" "%s nmero de argumentos incorrecto para el comando IRC \"%s\" (esperado: " "entre %d y %d parmetro%s)\n" -#: src/common/command.c:610 +#: src/common/command.c:616 #, c-format msgid "%s command \"%s\" needs a server connection!\n" msgstr "%s el comando \"%s\" requiere una conexin a servidor!\n" -#: src/common/command.c:674 +#: src/common/command.c:670 #, c-format msgid "%s unknown command \"%s\" (type /help for help)\n" msgstr "%s comando \"%s\" desconocido (escriba /help para la ayuda)\n" -#: src/common/command.c:777 +#: src/common/command.c:770 #, c-format msgid "%s unable to call handler for message (not enough memory)\n" msgstr "" "%s No ha sido posible llamar al manejador para el mensaje (no hay suficiente " "memoria)\n" -#: src/common/command.c:785 +#: src/common/command.c:778 msgid "This window is not a channel!\n" msgstr "Esta ventana no es un canal!\n" -#: src/common/command.c:813 src/common/command.c:837 src/common/command.c:947 +#: src/common/command.c:806 src/common/command.c:830 src/common/command.c:940 #, c-format msgid "%s missing arguments for \"%s\" command\n" msgstr "%s faltan argumentos para el comando \"%s\"\n" -#: src/common/command.c:822 +#: src/common/command.c:815 #, c-format msgid "Alias \"%s\" => \"%s\" created\n" msgstr "Alias \"%s\" => \"%s\" creado\n" -#: src/common/command.c:828 +#: src/common/command.c:821 #, c-format msgid "Failed to create alias \"%s\" => \"%s\" (not enough memory)\n" msgstr "" "No ha sido posible crear el alias \"%s\" => \"%s\" (no hay suficiente " "memoria)\n" -#: src/common/command.c:848 +#: src/common/command.c:841 msgid "List of aliases:\n" msgstr "Lista de alias:\n" -#: src/common/command.c:860 +#: src/common/command.c:853 msgid "No alias defined.\n" msgstr "Ningn alias definido.\n" -#: src/common/command.c:883 +#: src/common/command.c:876 msgid "Channel: " msgstr "Canal: " -#: src/common/command.c:886 src/common/command.c:896 +#: src/common/command.c:879 src/common/command.c:889 msgid " (server: " msgstr " (servidor: " -#: src/common/command.c:893 +#: src/common/command.c:886 msgid "Private with: " msgstr "Privado con: " -#: src/common/command.c:927 +#: src/common/command.c:920 msgid "Opened buffers:\n" msgstr "Bfers abiertos:\n" -#: src/common/command.c:970 +#: src/common/command.c:963 #, c-format msgid "%s incorrect buffer number\n" msgstr "%s nmero de bfer incorrecto\n" -#: src/common/command.c:984 +#: src/common/command.c:977 #, c-format msgid "%s can not close the single buffer\n" msgstr "%s no es posible cerrar el nico bfer\n" -#: src/common/command.c:994 +#: src/common/command.c:987 #, c-format msgid "%s can not close server buffer while channels are opened\n" msgstr "" "%s no se puede cerrar el bfer de servidor mientras haya canales abiertos\n" -#: src/common/command.c:1035 +#: src/common/command.c:1028 msgid "Notify levels: " msgstr "Niveles de notificacin: " -#: src/common/command.c:1063 src/common/command.c:1085 +#: src/common/command.c:1056 src/common/command.c:1078 #, c-format msgid "%s incorrect notify level (must be between %d and %d)\n" msgstr "%s nivel de notificacin incorrecto (debe estar entre %d y %d)\n" -#: src/common/command.c:1072 +#: src/common/command.c:1065 #, c-format msgid "%s incorrect buffer for notify (must be channel or private)\n" msgstr "%s bfer incorrecto para notificar (debe ser canal o privado)\n" -#: src/common/command.c:1152 +#: src/common/command.c:1145 #, c-format msgid "unknown parameter \"%s\" for \"%s\" command\n" msgstr "parmetro desconocido \"%s\" para el comando \"%s\"\n" -#: src/common/command.c:1182 +#: src/common/command.c:1175 #, c-format msgid "%s already connected to server \"%s\"!\n" msgstr "%s ya conectado al servidor \"%s\"!\n" -#: src/common/command.c:1190 +#: src/common/command.c:1183 #, c-format msgid "%s currently connecting to server \"%s\"!\n" msgstr "%s actualmente conectando al servidor \"%s\"!\n" -#: src/common/command.c:1208 src/common/command.c:1283 +#: src/common/command.c:1201 src/common/command.c:1276 #, c-format msgid "%s server not found\n" msgstr "%s servidor no encontrado\n" -#: src/common/command.c:1238 src/common/command.c:1722 -#: src/common/command.c:1865 src/common/command.c:2008 -#: src/common/command.c:2828 src/common/command.c:2844 +#: src/common/command.c:1231 src/common/command.c:1753 +#: src/common/command.c:2572 src/common/command.c:2588 #, c-format msgid "%s unknown option for \"%s\" command\n" msgstr "%s opcin desconocida para el comando \"%s\"\n" -#: src/common/command.c:1267 +#: src/common/command.c:1260 #, c-format msgid "%s not connected to server \"%s\"!\n" msgstr "%s no conectado al servidor \"%s\"!\n" -#: src/common/command.c:1275 +#: src/common/command.c:1268 msgid "Auto-reconnection is cancelled\n" msgstr "La reconexin automtica est anulada\n" -#: src/common/command.c:1301 src/common/weechat.c:346 +#: src/common/command.c:1299 src/common/weechat.c:349 #, c-format msgid "%s internal commands:\n" msgstr "Comandos internos %s :\n" -#: src/common/command.c:1310 src/common/weechat.c:366 +#: src/common/command.c:1308 src/common/weechat.c:369 #, c-format msgid "IRC commands:\n" msgstr "Comandos IRC :\n" -#: src/common/command.c:1377 +#: src/common/command.c:1321 +msgid "Plugin commands:\n" +msgstr "" + +#: src/common/command.c:1425 #, c-format msgid "No help available, \"%s\" is an unknown command\n" msgstr "No hay ayuda disponible, el comando \"%s\" es desconocido\n" -#: src/common/command.c:1398 +#: src/common/command.c:1447 msgid " ignoring " msgstr "" -#: src/common/command.c:1422 +#: src/common/command.c:1471 msgid "List of ignore:\n" msgstr "" -#: src/common/command.c:1437 +#: src/common/command.c:1486 msgid "No ignore defined.\n" msgstr "" -#: src/common/command.c:1463 +#: src/common/command.c:1512 msgid "New ignore:" msgstr "" -#: src/common/command.c:1482 +#: src/common/command.c:1531 msgid "New key binding:\n" msgstr "Nuevo anclaje de clave:\n" -#: src/common/command.c:1515 +#: src/common/command.c:1564 msgid "Key bindings:\n" msgstr "Anclajes de clave:\n" -#: src/common/command.c:1527 +#: src/common/command.c:1576 #, c-format msgid "Key \"%s\" unbinded\n" msgstr "Clave \"%s\" desatada\n" -#: src/common/command.c:1532 +#: src/common/command.c:1581 #, c-format msgid "%s unable to unbind key \"%s\"\n" msgstr "%s No ha sido posible desatar la clave \"%s\"\n" -#: src/common/command.c:1540 src/common/weechat.c:397 +#: src/common/command.c:1589 src/common/weechat.c:400 #, c-format msgid "Internal key functions:\n" msgstr "Funciones de clave internas:\n" -#: src/common/command.c:1559 +#: src/common/command.c:1608 msgid "Default key bindings restored\n" msgstr "Anclajes de clave por defecto restaurados\n" -#: src/common/command.c:1565 +#: src/common/command.c:1614 #, c-format msgid "%s \"-yes\" argument is required for keys reset (securuty reason)\n" msgstr "" "%s \"-yes\" se requiere argumento para resetear las claves (por razones de " "seguridad)\n" -#: src/common/command.c:1621 src/common/command.c:1764 -#: src/common/command.c:1907 -#, c-format -msgid "Registered %s scripts:\n" -msgstr "%s scripts registrados:\n" - -#: src/common/command.c:1638 src/common/command.c:1661 -#: src/common/command.c:1684 src/common/command.c:1781 -#: src/common/command.c:1804 src/common/command.c:1827 -#: src/common/command.c:1924 src/common/command.c:1947 -#: src/common/command.c:1970 -msgid " (none)\n" -msgstr " (ninguno)\n" +#: src/common/command.c:1670 +msgid "Plugins loaded:\n" +msgstr "" -#: src/common/command.c:1643 src/common/command.c:1786 -#: src/common/command.c:1929 -#, c-format -msgid "%s message handlers:\n" -msgstr "Funciones %s para mensajes:\n" +#: src/common/command.c:1684 +msgid " message handlers:\n" +msgstr "" -#: src/common/command.c:1652 src/common/command.c:1795 -#: src/common/command.c:1938 +#: src/common/command.c:1690 #, c-format -msgid " IRC(%s) => %s(%s)\n" -msgstr " IRC(%s) => %s(%s)\n" +msgid " IRC(%s)\n" +msgstr "" -#: src/common/command.c:1666 src/common/command.c:1809 -#: src/common/command.c:1952 -#, c-format -msgid "%s command handlers:\n" -msgstr "Comandos %s :\n" +#: src/common/command.c:1696 +msgid " (no message handler)\n" +msgstr "" -#: src/common/command.c:1675 src/common/command.c:1818 -#: src/common/command.c:1961 -#, c-format -msgid " Command /%s => %s(%s)\n" -msgstr " Comando /%s => %s(%s)\n" +#: src/common/command.c:1701 +msgid " command handlers:\n" +msgstr "" -#: src/common/command.c:1735 -msgid "" -"WeeChat was build without Perl support.\n" -"Please rebuild WeeChat with \"--enable-perl\" option for ./configure script\n" +#: src/common/command.c:1718 +msgid " (no command handler)\n" msgstr "" -"WeeChat ha sido compilado sin soporte para Perl.\n" -"Por favor, recompile WeeChat con la opcin \"--enable-perl\" para el " -"script ./configure\n" -#: src/common/command.c:1878 -msgid "" -"WeeChat was build without Python support.\n" -"Please rebuild WeeChat with \"--enable-python\" option for ./configure " -"script\n" +#: src/common/command.c:1724 +msgid " (no plugin)\n" msgstr "" -"WeeChat ha sido compilado sin soporte para Python.\n" -"Por favor, recompile WeeChat con la opcin \"--enable-python\" para el " -"script ./configure\n" -#: src/common/command.c:2021 +#: src/common/command.c:1766 msgid "" -"WeeChat was build without Ruby support.\n" -"Please rebuild WeeChat with \"--enable-ruby\" option for ./configure script\n" +"Command \"plugin\" is not available, WeeChat was built without plugins " +"support.\n" msgstr "" -"WeeChat ha sido compilado sin soporte para Ruby.\n" -"Por favor, recompile WeeChat con la opcin \"--enable-ruby\" para el " -"script ./configure\n" -#: src/common/command.c:2069 +#: src/common/command.c:1813 msgid "No server.\n" msgstr "Ningn servidor.\n" -#: src/common/command.c:2080 +#: src/common/command.c:1824 #, c-format msgid "Server '%s' not found.\n" msgstr "Servidor '%s' no encontrado.\n" -#: src/common/command.c:2092 +#: src/common/command.c:1836 #, c-format msgid "%s missing servername for \"%s\" command\n" msgstr "%s falta el nombre de servidor para el comando \"%s\"\n" -#: src/common/command.c:2100 +#: src/common/command.c:1844 #, c-format msgid "%s too much arguments for \"%s\" command, ignoring arguments\n" msgstr "" "%s demasiados argumentos para el comando \"%s\", ignorando parmetros\n" -#: src/common/command.c:2119 +#: src/common/command.c:1863 #, c-format msgid "%s server \"%s\" not found for \"%s\" command\n" msgstr "%s servidor \"%s\" no encontrado para el comando \"%s\"\n" -#: src/common/command.c:2127 +#: src/common/command.c:1871 #, c-format msgid "" "%s you can not delete server \"%s\" because you are connected to. Try /" @@ -3116,174 +3005,174 @@ msgstr "" "%s usted no puede eliminar el servidor \"%s\" ya que est usted conectado a " "l. Pruebe /disconnect %s antes.\n" -#: src/common/command.c:2143 src/common/command.c:2289 +#: src/common/command.c:1887 src/common/command.c:2033 msgid "Server" msgstr "Servidor" -#: src/common/command.c:2146 +#: src/common/command.c:1890 msgid "has been deleted\n" msgstr "ha sido eliminado\n" -#: src/common/command.c:2161 +#: src/common/command.c:1905 #, c-format msgid "%s missing parameters for \"%s\" command\n" msgstr "%s faltan parmetros para el comando \"%s\"\n" -#: src/common/command.c:2171 +#: src/common/command.c:1915 #, c-format msgid "%s server \"%s\" already exists, can't create it!\n" msgstr "%s el servidor \"%s\" ya existe, no se puede crear!\n" -#: src/common/command.c:2200 src/common/command.c:2228 -#: src/common/command.c:2241 src/common/command.c:2267 +#: src/common/command.c:1944 src/common/command.c:1972 +#: src/common/command.c:1985 src/common/command.c:2011 #, c-format msgid "%s missing password for \"%s\" parameter\n" msgstr "%s falta contrasea para el comando \"%s\"\n" -#: src/common/command.c:2213 +#: src/common/command.c:1957 #, c-format msgid "%s missing nick(s) for \"%s\" parameter\n" msgstr "%s falta(n) usuario(s) para el parmetro \"%s\"\n" -#: src/common/command.c:2254 +#: src/common/command.c:1998 #, c-format msgid "%s missing command for \"%s\" parameter\n" msgstr "%s falta comando para el parmetro \"%s\"\n" -#: src/common/command.c:2292 +#: src/common/command.c:2036 msgid "created\n" msgstr "creado\n" -#: src/common/command.c:2298 +#: src/common/command.c:2042 #, c-format msgid "%s unable to create server\n" msgstr "%s no es posible crear el servidor\n" -#: src/common/command.c:2353 +#: src/common/command.c:2097 msgid "(unknown)" msgstr "(desconocido)" -#: src/common/command.c:2376 +#: src/common/command.c:2120 msgid "(password hidden) " msgstr "(contrasea oculta) " -#: src/common/command.c:2440 +#: src/common/command.c:2184 #, c-format msgid "%s server \"%s\" not found\n" msgstr "%s servidor \"%s\" no encontrado\n" -#: src/common/command.c:2471 src/common/command.c:2517 +#: src/common/command.c:2215 src/common/command.c:2261 #, c-format msgid "%s config option \"%s\" not found\n" msgstr "%s opcin de configuracin \"%s\" no encontrada\n" -#: src/common/command.c:2476 src/common/command.c:2509 +#: src/common/command.c:2220 src/common/command.c:2253 #, c-format msgid "%s incorrect value for option \"%s\"\n" msgstr "%s valor incorrecto para la opcin \"%s\"\n" -#: src/common/command.c:2492 +#: src/common/command.c:2236 #, c-format msgid "%s option \"%s\" can not be changed while WeeChat is running\n" msgstr "" "%s la opcin \"%s\" no puede ser modificada mientras WeeChat est en " "ejecucin\n" -#: src/common/command.c:2597 +#: src/common/command.c:2341 #, c-format msgid "No config option found with \"%s\"\n" msgstr "Ninguna opcin de configuracin encontrada con \"%s\"\n" -#: src/common/command.c:2600 +#: src/common/command.c:2344 msgid "No config option found\n" msgstr "Ninguna opcin de configuracin encontrada\n" -#: src/common/command.c:2607 +#: src/common/command.c:2351 msgid "Detail:\n" msgstr "" -#: src/common/command.c:2611 src/common/weechat.c:283 +#: src/common/command.c:2355 src/common/weechat.c:286 #, c-format msgid " . type boolean (values: 'on' or 'off')\n" msgstr " . tipo booleano (valores: 'on' u 'off')\n" -#: src/common/command.c:2612 src/common/command.c:2635 -#: src/common/command.c:2641 src/common/command.c:2647 -#: src/common/weechat.c:284 src/common/weechat.c:307 src/common/weechat.c:313 -#: src/common/weechat.c:319 +#: src/common/command.c:2356 src/common/command.c:2379 +#: src/common/command.c:2385 src/common/command.c:2391 +#: src/common/weechat.c:287 src/common/weechat.c:310 src/common/weechat.c:316 +#: src/common/weechat.c:322 #, c-format msgid " . default value: '%s'\n" msgstr " . valor por defecto: '%s'\n" -#: src/common/command.c:2617 src/common/weechat.c:289 +#: src/common/command.c:2361 src/common/weechat.c:292 #, c-format msgid " . type integer (values: between %d and %d)\n" msgstr " . tipo entero (valores: entre %d y %d)\n" -#: src/common/command.c:2620 src/common/weechat.c:292 +#: src/common/command.c:2364 src/common/weechat.c:295 #, c-format msgid " . default value: %d\n" msgstr " . valor por defecto: %d\n" -#: src/common/command.c:2624 src/common/weechat.c:296 +#: src/common/command.c:2368 src/common/weechat.c:299 #, c-format msgid " . type string (values: " msgstr " . tipo cadena (valores: " -#: src/common/command.c:2637 src/common/command.c:2643 -#: src/common/command.c:2649 src/common/weechat.c:309 src/common/weechat.c:315 -#: src/common/weechat.c:321 +#: src/common/command.c:2381 src/common/command.c:2387 +#: src/common/command.c:2393 src/common/weechat.c:312 src/common/weechat.c:318 +#: src/common/weechat.c:324 msgid "empty" msgstr "vaco" -#: src/common/command.c:2640 src/common/weechat.c:312 +#: src/common/command.c:2384 src/common/weechat.c:315 #, c-format msgid " . type color (Curses or Gtk color, look at WeeChat doc)\n" msgstr " . tipo color (color Curses Gtk, ver la documentacin de WeeChat)\n" -#: src/common/command.c:2646 src/common/weechat.c:318 +#: src/common/command.c:2390 src/common/weechat.c:321 #, c-format msgid " . type string (any string)\n" msgstr " . tipo cadena (cualquier cadena)\n" -#: src/common/command.c:2652 src/common/weechat.c:324 +#: src/common/command.c:2396 src/common/weechat.c:327 #, c-format msgid " . description: %s\n" msgstr " . descripcin: %s\n" -#: src/common/command.c:2659 +#: src/common/command.c:2403 #, c-format msgid "config option(s) found with \"%s\"\n" msgstr "opcin/opciones de configuracin encontrada(s) con \"%s\"\n" -#: src/common/command.c:2662 +#: src/common/command.c:2406 msgid "config option(s) found\n" msgstr "opcin/opciones de configuracin encontrada(s)\n" -#: src/common/command.c:2683 +#: src/common/command.c:2427 #, c-format msgid "%s alias or command \"%s\" not found\n" msgstr "%s alias o comando \"%s\" no encontrado\n" -#: src/common/command.c:2693 +#: src/common/command.c:2437 #, c-format msgid "Alias \"%s\" removed\n" msgstr "Alias \"%s\" eliminado\n" -#: src/common/command.c:2746 +#: src/common/command.c:2490 msgid "ignore were removed.\n" msgstr "" -#: src/common/command.c:2748 +#: src/common/command.c:2492 msgid "ignore was removed.\n" msgstr "" -#: src/common/command.c:2753 +#: src/common/command.c:2497 #, c-format msgid "%s no ignore found\n" msgstr "" -#: src/common/command.c:2776 +#: src/common/command.c:2520 msgid "Opened windows:\n" msgstr "Ventanas abiertas:\n" @@ -3348,7 +3237,7 @@ msgstr "**** Comienzo del log (registro) " msgid "**** End of log " msgstr "**** Fin del log " -#: src/common/weechat.c:270 +#: src/common/weechat.c:273 #, c-format msgid "" "WeeChat configuration options (~/.weechat/weechat.rc):\n" @@ -3357,7 +3246,7 @@ msgstr "" "Opciones de configuracin de WeeChat (~/.weechat/weechat.rc):\n" "\n" -#: src/common/weechat.c:331 +#: src/common/weechat.c:334 #, c-format msgid "" "Moreover, you can define aliases in [alias] section, by adding lines like:\n" @@ -3365,7 +3254,7 @@ msgstr "" "Adems, usted puede definir alias en la seccin [alias], aadiendo lneas " "como:\n" -#: src/common/weechat.c:333 +#: src/common/weechat.c:336 #, c-format msgid "" "where 'j' is alias name, and 'join' associated command.\n" @@ -3374,62 +3263,62 @@ msgstr "" "donde 'j' es el nombre del alias, y 'join' el comando asociado.\n" "\n" -#: src/common/weechat.c:418 +#: src/common/weechat.c:421 #, c-format msgid "%s default keys:\n" msgstr "%s claves por defecto:\n" -#: src/common/weechat.c:498 +#: src/common/weechat.c:501 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s sintaxis invlida para el servidor IRC ('%s'), ignorado\n" -#: src/common/weechat.c:511 +#: src/common/weechat.c:514 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s no es posible crear el servidor ('%s'), ignorado\n" -#: src/common/weechat.c:520 +#: src/common/weechat.c:523 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s parmetro desconocido '%s', ignorado\n" -#: src/common/weechat.c:540 +#: src/common/weechat.c:543 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s no es posible crear el directorio \"%s\"\n" -#: src/common/weechat.c:566 +#: src/common/weechat.c:569 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s no ha sido posible leer el directorio HOME\n" -#: src/common/weechat.c:575 +#: src/common/weechat.c:578 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s no hay suficiente memoria para el directorio home\n" -#: src/common/weechat.c:585 +#: src/common/weechat.c:588 #, c-format msgid "%s unable to create ~/.weechat directory\n" msgstr "%s no es posible crear el directorio ~/.weechat\n" -#: src/common/weechat.c:637 +#: src/common/weechat.c:601 #, c-format msgid "%s unable to create ~/.weechat/logs directory\n" msgstr "%s no es posible crear el directorio ~/.weechat/logs\n" -#: src/common/weechat.c:680 +#: src/common/weechat.c:644 #, c-format msgid "%s unable to create/append to log file (~/.weechat/%s)" msgstr "%s no es posible crear/aadir en el fichero de log (~/.weechat/%s)" -#: src/common/weechat.c:703 +#: src/common/weechat.c:667 #, c-format msgid "%sWelcome to " msgstr "%sBienvenido a " -#: src/common/weechat.c:716 src/common/weechat.c:725 +#: src/common/weechat.c:680 src/common/weechat.c:689 msgid "compiled on" msgstr "compilado en" @@ -3441,33 +3330,33 @@ msgstr "Error WeeChat:" msgid "WeeChat Warning:" msgstr "Advertencia WeeChat:" -#: src/common/weeconfig.c:95 src/common/weeconfig.c:96 +#: src/common/weeconfig.c:96 src/common/weeconfig.c:97 msgid "set title for window (terminal for Curses GUI) with name & version" msgstr "" "define el ttulo de la ventana (el terminal para la interfaz Curses) con el " "nombre y la versin" -#: src/common/weeconfig.c:99 src/common/weeconfig.c:100 +#: src/common/weeconfig.c:100 src/common/weeconfig.c:101 msgid "display WeeChat logo at startup" msgstr "mostrar el logotipo de WeeChat en el arranque" -#: src/common/weeconfig.c:103 src/common/weeconfig.c:104 +#: src/common/weeconfig.c:104 src/common/weeconfig.c:105 msgid "display WeeChat version at startup" msgstr "mostrar la versin de Weechat en el arranque" -#: src/common/weeconfig.c:107 +#: src/common/weeconfig.c:108 msgid "WeeChat slogan" msgstr "eslgan de WeeChat" -#: src/common/weeconfig.c:108 +#: src/common/weeconfig.c:109 msgid "WeeChat slogan (if empty, slogan is not used)" msgstr "eslgan de WeeChat (si est vaco, el eslgan no ser utilizado)" -#: src/common/weeconfig.c:111 +#: src/common/weeconfig.c:112 msgid "charset for decoding messages from server" msgstr "juego de caracteres para decodificar los mensajes del servidor" -#: src/common/weeconfig.c:112 +#: src/common/weeconfig.c:113 msgid "" "charset for decoding messages from server, examples: UTF-8, ISO-8859-1 (if " "empty, messages are not converted)" @@ -3475,11 +3364,11 @@ msgstr "" "juego de caracteres para decodificar los mensajes del servidor, ejemplos: " "UTF-8, ISO-8859-1 (si no se especifica, los mensajes no son convertidos)" -#: src/common/weeconfig.c:115 +#: src/common/weeconfig.c:116 msgid "charset for encoding messages sent to server" msgstr "juego de caracteres para codificar los mensajes enviados al servidor" -#: src/common/weeconfig.c:116 +#: src/common/weeconfig.c:117 msgid "" "charset for encoding messages sent to server, examples: UFT-8, ISO-8859-1 " "(if empty, local charset is used)" @@ -3488,11 +3377,11 @@ msgstr "" "ejemplos: UFT-8, ISO-8859-1 (si no se especifica, se utiliza el juego de " "caracteres local)" -#: src/common/weeconfig.c:119 +#: src/common/weeconfig.c:120 msgid "internal WeeChat charset (should be ISO)" msgstr "juego de caracteres interno de WeeChat (debera ser ISO)" -#: src/common/weeconfig.c:120 +#: src/common/weeconfig.c:121 msgid "" "internal WeeChat charset, should be ISO-xxxx even if locale is UTF-8 (if " "empty, local charset is used)" @@ -3501,49 +3390,49 @@ msgstr "" "locale sea UTF-8 (si no se especifica, se utiliza el juego de caracteres " "local)" -#: src/common/weeconfig.c:123 src/common/weeconfig.c:124 +#: src/common/weeconfig.c:124 src/common/weeconfig.c:125 msgid "timestamp for buffers" msgstr "fecha y hora para las bfers" -#: src/common/weeconfig.c:127 src/common/weeconfig.c:128 +#: src/common/weeconfig.c:128 src/common/weeconfig.c:129 msgid "display nick names with different colors" msgstr "mostrar nombres de usuario con colores diferentes" -#: src/common/weeconfig.c:131 src/common/weeconfig.c:132 +#: src/common/weeconfig.c:132 src/common/weeconfig.c:133 msgid "number of colors to use for nicks colors" msgstr "" -#: src/common/weeconfig.c:135 src/common/weeconfig.c:136 +#: src/common/weeconfig.c:136 src/common/weeconfig.c:137 msgid "display actions with different colors" msgstr "mostrar acciones con colores diferentes" -#: src/common/weeconfig.c:139 src/common/weeconfig.c:140 +#: src/common/weeconfig.c:140 src/common/weeconfig.c:141 msgid "remove colors from incoming messages" msgstr "quitar colores en los mensajes entrantes" -#: src/common/weeconfig.c:143 +#: src/common/weeconfig.c:144 msgid "display nicklist window" msgstr "mostrar ventana de usuarios" -#: src/common/weeconfig.c:144 +#: src/common/weeconfig.c:145 msgid "display nicklist window (for channel windows)" msgstr "mostrar ventana de usuarios (para las ventanas de canal)" -#: src/common/weeconfig.c:147 +#: src/common/weeconfig.c:148 msgid "nicklist position" msgstr "posicin de la ventana de usuarios" -#: src/common/weeconfig.c:148 +#: src/common/weeconfig.c:149 msgid "nicklist position (top, left, right (default), bottom)" msgstr "" "posicin de la ventana de usuarios (arriba (top), izquierda (left), derecha " "(right, por defecto), abajo (bottom))" -#: src/common/weeconfig.c:151 +#: src/common/weeconfig.c:152 msgid "min size for nicklist" msgstr "tamao mnimo para la ventana de usuarios" -#: src/common/weeconfig.c:152 +#: src/common/weeconfig.c:153 msgid "" "min size for nicklist (width or height, depending on look_nicklist_position " "(0 = no min size))" @@ -3551,11 +3440,11 @@ msgstr "" "tamao mnimo para la ventana de usuarios (ancho o alto, dependiendo de " "look_nicklist_position (0 = sin tamao mnimo))" -#: src/common/weeconfig.c:156 +#: src/common/weeconfig.c:157 msgid "max size for nicklist" msgstr "tamao mximo para la ventana de usuarios" -#: src/common/weeconfig.c:157 +#: src/common/weeconfig.c:158 msgid "" "max size for nicklist (width or height, depending on look_nicklist_position " "(0 = no max size; if min == max and > 0, then size is fixed))" @@ -3564,41 +3453,41 @@ msgstr "" "look_nicklist_position (0 = sin tamao mximo, si min == max y > 0, entonces " "se fija el tamao))" -#: src/common/weeconfig.c:161 src/common/weeconfig.c:162 +#: src/common/weeconfig.c:162 src/common/weeconfig.c:163 msgid "text to display instead of nick when not connected" msgstr "texto a mostrar en lugar del nick cuando no se est conectado" -#: src/common/weeconfig.c:165 src/common/weeconfig.c:166 +#: src/common/weeconfig.c:166 src/common/weeconfig.c:167 msgid "display nick mode ((half)op/voice) before each nick" msgstr "mostrar modo del usuario ((half)op/voice) antes de cada usuario" -#: src/common/weeconfig.c:169 src/common/weeconfig.c:170 +#: src/common/weeconfig.c:170 src/common/weeconfig.c:171 msgid "display space if nick mode is not (half)op/voice" msgstr "mostrar un espacio si el modo de usuario no es (half)op/voice" -#: src/common/weeconfig.c:173 src/common/weeconfig.c:174 +#: src/common/weeconfig.c:174 src/common/weeconfig.c:175 msgid "the string inserted after nick completion" msgstr "la cadena mostrada tras la finalizacin de los nombres de usuario" -#: src/common/weeconfig.c:177 src/common/weeconfig.c:178 +#: src/common/weeconfig.c:178 src/common/weeconfig.c:179 msgid "enable info bar" msgstr "activa la barra de informacin" -#: src/common/weeconfig.c:181 src/common/weeconfig.c:182 +#: src/common/weeconfig.c:182 src/common/weeconfig.c:183 msgid "timestamp for time in infobar" msgstr "fecha y hora para las conversaciones guardadas" -#: src/common/weeconfig.c:185 src/common/weeconfig.c:186 +#: src/common/weeconfig.c:186 src/common/weeconfig.c:187 msgid "display seconds in infobar time" msgstr "mostrar segundos en la hora de la barra de herramientas" -#: src/common/weeconfig.c:189 +#: src/common/weeconfig.c:190 msgid "delay (in seconds) for highlight messages in infobar" msgstr "" "retraso (en segundos) para la notificacin de mensajes en la barra de " "informacin" -#: src/common/weeconfig.c:190 +#: src/common/weeconfig.c:191 msgid "" "delay (in seconds) for highlight messages in infobar (0 = disable highlight " "notifications in infobar)" @@ -3606,328 +3495,328 @@ msgstr "" "retraso (en segundos) para la notificacin de mensajes en la barra de " "informacin (0 = desactivar las notificaciones en la barra de informacin)" -#: src/common/weeconfig.c:194 +#: src/common/weeconfig.c:195 msgid "max number of names in hotlist" msgstr "" -#: src/common/weeconfig.c:195 +#: src/common/weeconfig.c:196 msgid "" "max number of names in hotlist (0 = no name displayed, only buffer numbers)" msgstr "" -#: src/common/weeconfig.c:198 +#: src/common/weeconfig.c:199 msgid "level for displaying names in hotlist" msgstr "" -#: src/common/weeconfig.c:199 +#: src/common/weeconfig.c:200 msgid "" "level for displaying names in hotlist (combination of: 1=join/part, " "2=message, 4=private, 8=highlight, for example: 12=private+highlight)" msgstr "" -#: src/common/weeconfig.c:203 +#: src/common/weeconfig.c:204 msgid "max length of names in hotlist" msgstr "" -#: src/common/weeconfig.c:204 +#: src/common/weeconfig.c:205 msgid "max length of names in hotlist (0 = no limit)" msgstr "" -#: src/common/weeconfig.c:268 src/common/weeconfig.c:269 +#: src/common/weeconfig.c:269 src/common/weeconfig.c:270 msgid "color for title bar" msgstr "color para la barra de ttulo" -#: src/common/weeconfig.c:272 src/common/weeconfig.c:273 +#: src/common/weeconfig.c:273 src/common/weeconfig.c:274 msgid "background for title bar" msgstr "color de fondo para la barra de ttulo" -#: src/common/weeconfig.c:278 src/common/weeconfig.c:279 +#: src/common/weeconfig.c:279 src/common/weeconfig.c:280 msgid "color for chat text" msgstr "color para el texto de conversacin" -#: src/common/weeconfig.c:282 +#: src/common/weeconfig.c:283 msgid "color for time" msgstr "color para la hora" -#: src/common/weeconfig.c:283 +#: src/common/weeconfig.c:284 msgid "color for time in chat window" msgstr "color para la hora en la ventana de conversacin" -#: src/common/weeconfig.c:286 +#: src/common/weeconfig.c:287 msgid "color for time separator" msgstr "color para el separador de la hora" -#: src/common/weeconfig.c:287 +#: src/common/weeconfig.c:288 msgid "color for time separator (chat window)" msgstr "color para el separador de la hora (ventana de conversacin)" -#: src/common/weeconfig.c:290 src/common/weeconfig.c:291 +#: src/common/weeconfig.c:291 src/common/weeconfig.c:292 msgid "color for 1st and 3rd char of prefix" msgstr "color para el primer o tercer carcter de prefijo" -#: src/common/weeconfig.c:294 src/common/weeconfig.c:295 +#: src/common/weeconfig.c:295 src/common/weeconfig.c:296 msgid "color for middle char of prefix" msgstr "color para el carcter de en medio del prefijo" -#: src/common/weeconfig.c:298 src/common/weeconfig.c:299 +#: src/common/weeconfig.c:299 src/common/weeconfig.c:300 msgid "color for join arrow (prefix)" msgstr "" -#: src/common/weeconfig.c:302 src/common/weeconfig.c:303 +#: src/common/weeconfig.c:303 src/common/weeconfig.c:304 msgid "color for part/quit arrow (prefix)" msgstr "" -#: src/common/weeconfig.c:306 +#: src/common/weeconfig.c:307 msgid "color for nicks in actions" msgstr "color para los nombres de usuario en las acciones" -#: src/common/weeconfig.c:307 +#: src/common/weeconfig.c:308 msgid "color for nicks in actions (chat window)" msgstr "" "color para los nombres de usuario en las acciones (ventana de conversacin)" -#: src/common/weeconfig.c:310 +#: src/common/weeconfig.c:311 msgid "color for hostnames" msgstr "color para los nombres de mquina" -#: src/common/weeconfig.c:311 +#: src/common/weeconfig.c:312 msgid "color for hostnames (chat window)" msgstr "color para los nombres de mquina (ventana de conversacin)" -#: src/common/weeconfig.c:314 +#: src/common/weeconfig.c:315 msgid "color for channel names in actions" msgstr "color para los nombres de canal en las acciones" -#: src/common/weeconfig.c:315 +#: src/common/weeconfig.c:316 msgid "color for channel names in actions (chat window)" msgstr "" "color para los nombres de canal en las acciones (ventana de conversacin)" -#: src/common/weeconfig.c:318 +#: src/common/weeconfig.c:319 msgid "color for dark separators" msgstr "color para los separadores oscuros" -#: src/common/weeconfig.c:319 +#: src/common/weeconfig.c:320 msgid "color for dark separators (chat window)" msgstr "color para los separadores oscuros (ventana de conversacin)" -#: src/common/weeconfig.c:322 +#: src/common/weeconfig.c:323 msgid "color for highlighted nick" msgstr "color para el alias subrayado" -#: src/common/weeconfig.c:323 +#: src/common/weeconfig.c:324 msgid "color for highlighted nick (chat window)" msgstr "color para el alias subrayado (ventana de conversacin)" -#: src/common/weeconfig.c:326 +#: src/common/weeconfig.c:327 msgid "background for chat" msgstr "color de fondo para la conversacin" -#: src/common/weeconfig.c:327 +#: src/common/weeconfig.c:328 msgid "background for chat window" msgstr "color de fondo para la ventana de conversacin" -#: src/common/weeconfig.c:332 src/common/weeconfig.c:333 +#: src/common/weeconfig.c:333 src/common/weeconfig.c:334 msgid "color for status bar" msgstr "color para la barra de estado" -#: src/common/weeconfig.c:336 src/common/weeconfig.c:337 +#: src/common/weeconfig.c:337 src/common/weeconfig.c:338 msgid "color for status bar delimiters" msgstr "color para los delimitadores de la barra de estado" -#: src/common/weeconfig.c:340 src/common/weeconfig.c:341 +#: src/common/weeconfig.c:341 src/common/weeconfig.c:342 msgid "color for current channel in status bar" msgstr "" -#: src/common/weeconfig.c:344 +#: src/common/weeconfig.c:345 msgid "color for window with new messages" msgstr "color para una ventana con mensajes nuevos" -#: src/common/weeconfig.c:345 +#: src/common/weeconfig.c:346 msgid "color for window with new messages (status bar)" msgstr "color para una ventana con mensajes nuevos (barra de estado)" -#: src/common/weeconfig.c:348 +#: src/common/weeconfig.c:349 msgid "color for window with private message" msgstr "" -#: src/common/weeconfig.c:349 +#: src/common/weeconfig.c:350 msgid "color for window with private message (status bar)" msgstr "" -#: src/common/weeconfig.c:352 +#: src/common/weeconfig.c:353 msgid "color for window with highlight" msgstr "color para una ventana con resaltado" -#: src/common/weeconfig.c:353 +#: src/common/weeconfig.c:354 msgid "color for window with highlight (status bar)" msgstr "color para una ventana con resaltado (barra de estado)" -#: src/common/weeconfig.c:356 +#: src/common/weeconfig.c:357 msgid "color for window with new data (not messages)" msgstr "color para una ventana con nuevos datos (no mensajes)" -#: src/common/weeconfig.c:357 +#: src/common/weeconfig.c:358 msgid "color for window with new data (not messages) (status bar)" msgstr "" "color para una ventana con nuevos datos (no mensajes) (barra de estado)" -#: src/common/weeconfig.c:360 +#: src/common/weeconfig.c:361 msgid "color for \"-MORE-\" text" msgstr "color para el texto \"-MS-\"" -#: src/common/weeconfig.c:361 +#: src/common/weeconfig.c:362 msgid "color for window with new data (status bar)" msgstr "color para una ventana con nuevos datos (barra de estado)" -#: src/common/weeconfig.c:364 src/common/weeconfig.c:365 +#: src/common/weeconfig.c:365 src/common/weeconfig.c:366 msgid "background for status window" msgstr "color de fondo para la ventana de estado" -#: src/common/weeconfig.c:370 src/common/weeconfig.c:371 +#: src/common/weeconfig.c:371 src/common/weeconfig.c:372 msgid "color for info bar text" msgstr "color para el texto de la barra de informacin" -#: src/common/weeconfig.c:374 src/common/weeconfig.c:375 +#: src/common/weeconfig.c:375 src/common/weeconfig.c:376 msgid "color for infobar delimiters" msgstr "color para los delimitadores de la barra de informacin" -#: src/common/weeconfig.c:378 src/common/weeconfig.c:379 +#: src/common/weeconfig.c:379 src/common/weeconfig.c:380 msgid "color for info bar highlight notification" msgstr "color para la notificacin en la barra de informacin" -#: src/common/weeconfig.c:382 src/common/weeconfig.c:383 +#: src/common/weeconfig.c:383 src/common/weeconfig.c:384 msgid "background for info bar window" msgstr "color de fondo para la ventana de la barra de informacin" -#: src/common/weeconfig.c:388 src/common/weeconfig.c:389 +#: src/common/weeconfig.c:389 src/common/weeconfig.c:390 msgid "color for input text" msgstr "color para el texto de entrada" -#: src/common/weeconfig.c:392 src/common/weeconfig.c:393 +#: src/common/weeconfig.c:393 src/common/weeconfig.c:394 msgid "color for input text (channel name)" msgstr "color para el texto de entrada (nombre de canal)" -#: src/common/weeconfig.c:396 src/common/weeconfig.c:397 +#: src/common/weeconfig.c:397 src/common/weeconfig.c:398 msgid "color for input text (nick name)" msgstr "color para el texto de entrada (alias)" -#: src/common/weeconfig.c:400 src/common/weeconfig.c:401 +#: src/common/weeconfig.c:401 src/common/weeconfig.c:402 msgid "color for input text (delimiters)" msgstr "" -#: src/common/weeconfig.c:404 src/common/weeconfig.c:405 +#: src/common/weeconfig.c:405 src/common/weeconfig.c:406 msgid "background for input window" msgstr "color de fondo para la ventana de entrada" -#: src/common/weeconfig.c:410 src/common/weeconfig.c:411 +#: src/common/weeconfig.c:411 src/common/weeconfig.c:412 msgid "color for nicknames" msgstr "color para los nombres de usuario" -#: src/common/weeconfig.c:414 src/common/weeconfig.c:415 +#: src/common/weeconfig.c:415 src/common/weeconfig.c:416 msgid "color for away nicknames" msgstr "color para los usuarios ausentes" -#: src/common/weeconfig.c:418 +#: src/common/weeconfig.c:419 msgid "color for chan owner symbol" msgstr "color para el smbolo de propietario de canal" -#: src/common/weeconfig.c:419 +#: src/common/weeconfig.c:420 msgid "color for chan owner symbol (specific to unrealircd)" msgstr "" "color para el smbolo de propietario de canal (especificado en unrealircd)" -#: src/common/weeconfig.c:422 +#: src/common/weeconfig.c:423 msgid "color for chan admin symbol" msgstr "color para el smbolo de administrador de canal" -#: src/common/weeconfig.c:423 +#: src/common/weeconfig.c:424 msgid "color for chan admin symbol (specific to unrealircd)" msgstr "" "color para el smbolo de administrador de canal (especificado en unrealircd)" -#: src/common/weeconfig.c:426 src/common/weeconfig.c:427 +#: src/common/weeconfig.c:427 src/common/weeconfig.c:428 msgid "color for operator symbol" msgstr "color para el smbolo de operador" -#: src/common/weeconfig.c:430 src/common/weeconfig.c:431 +#: src/common/weeconfig.c:431 src/common/weeconfig.c:432 msgid "color for half-operator symbol" msgstr "color para el smbolo de semi-operador" -#: src/common/weeconfig.c:434 src/common/weeconfig.c:435 +#: src/common/weeconfig.c:435 src/common/weeconfig.c:436 msgid "color for voice symbol" msgstr "color para el smbolo de voz" -#: src/common/weeconfig.c:438 src/common/weeconfig.c:439 +#: src/common/weeconfig.c:439 src/common/weeconfig.c:440 msgid "color for '+' when scrolling nicks" msgstr "color para '+' al desplazar nicks" -#: src/common/weeconfig.c:442 src/common/weeconfig.c:443 +#: src/common/weeconfig.c:443 src/common/weeconfig.c:444 msgid "color for nick separator" msgstr "color para el separador de alias" -#: src/common/weeconfig.c:446 src/common/weeconfig.c:447 +#: src/common/weeconfig.c:447 src/common/weeconfig.c:448 msgid "color for local nick" msgstr "color para el alias local" -#: src/common/weeconfig.c:450 src/common/weeconfig.c:451 -#: src/common/weeconfig.c:454 src/common/weeconfig.c:455 -#: src/common/weeconfig.c:458 src/common/weeconfig.c:459 -#: src/common/weeconfig.c:462 src/common/weeconfig.c:463 -#: src/common/weeconfig.c:466 src/common/weeconfig.c:467 -#: src/common/weeconfig.c:470 src/common/weeconfig.c:471 -#: src/common/weeconfig.c:474 src/common/weeconfig.c:475 -#: src/common/weeconfig.c:478 src/common/weeconfig.c:479 -#: src/common/weeconfig.c:482 src/common/weeconfig.c:483 -#: src/common/weeconfig.c:486 src/common/weeconfig.c:487 +#: src/common/weeconfig.c:451 src/common/weeconfig.c:452 +#: src/common/weeconfig.c:455 src/common/weeconfig.c:456 +#: src/common/weeconfig.c:459 src/common/weeconfig.c:460 +#: src/common/weeconfig.c:463 src/common/weeconfig.c:464 +#: src/common/weeconfig.c:467 src/common/weeconfig.c:468 +#: src/common/weeconfig.c:471 src/common/weeconfig.c:472 +#: src/common/weeconfig.c:475 src/common/weeconfig.c:476 +#: src/common/weeconfig.c:479 src/common/weeconfig.c:480 +#: src/common/weeconfig.c:483 src/common/weeconfig.c:484 +#: src/common/weeconfig.c:487 src/common/weeconfig.c:488 msgid "color for nick" msgstr "" -#: src/common/weeconfig.c:490 src/common/weeconfig.c:491 +#: src/common/weeconfig.c:491 src/common/weeconfig.c:492 msgid "color for other nick in private window" msgstr "color para el otro alias en la ventana privada" -#: src/common/weeconfig.c:494 src/common/weeconfig.c:495 +#: src/common/weeconfig.c:495 src/common/weeconfig.c:496 msgid "background for nicknames" msgstr "color de fondo para los nombres de usuario" -#: src/common/weeconfig.c:500 +#: src/common/weeconfig.c:501 msgid "color for selected DCC" msgstr "color para el DCC seleccionado" -#: src/common/weeconfig.c:501 +#: src/common/weeconfig.c:502 msgid "color for selected DCC (chat window)" msgstr "color para el DCC seleccionado (ventana de conversacin)" -#: src/common/weeconfig.c:504 src/common/weeconfig.c:505 +#: src/common/weeconfig.c:505 src/common/weeconfig.c:506 msgid "color for \"waiting\" dcc status" msgstr "color para el estado dcc \"esperando\"" -#: src/common/weeconfig.c:508 src/common/weeconfig.c:509 +#: src/common/weeconfig.c:509 src/common/weeconfig.c:510 msgid "color for \"connecting\" dcc status" msgstr "color para el estado dcc \"conectando\"" -#: src/common/weeconfig.c:512 src/common/weeconfig.c:513 +#: src/common/weeconfig.c:513 src/common/weeconfig.c:514 msgid "color for \"active\" dcc status" msgstr "color para el estado dcc \"activo\"" -#: src/common/weeconfig.c:516 src/common/weeconfig.c:517 +#: src/common/weeconfig.c:517 src/common/weeconfig.c:518 msgid "color for \"done\" dcc status" msgstr "color para el estado dcc \"terminado\"" -#: src/common/weeconfig.c:520 src/common/weeconfig.c:521 +#: src/common/weeconfig.c:521 src/common/weeconfig.c:522 msgid "color for \"failed\" dcc status" msgstr "color para el estado dcc \"fallo\"" -#: src/common/weeconfig.c:524 src/common/weeconfig.c:525 +#: src/common/weeconfig.c:525 src/common/weeconfig.c:526 msgid "color for \"aborted\" dcc status" msgstr "color para el estado dcc \"abortado\"" -#: src/common/weeconfig.c:538 +#: src/common/weeconfig.c:539 msgid "max lines in history (per window)" msgstr "nmero mximo de lneas en el histrico (por ventana)" -#: src/common/weeconfig.c:539 +#: src/common/weeconfig.c:540 msgid "" "maximum number of lines in history for one server/channel/private window (0 " "= unlimited)" @@ -3935,354 +3824,379 @@ msgstr "" "nmero mximo de lneas en el histrico para un servidor/canal/privado (0 = " "ilimitado)" -#: src/common/weeconfig.c:543 +#: src/common/weeconfig.c:544 msgid "max user commands in history" msgstr "nmero mximo de comandos de usuario en el histrico" -#: src/common/weeconfig.c:544 +#: src/common/weeconfig.c:545 msgid "maximum number of user commands in history (0 = unlimited)" msgstr "nmero mximo de comandos de usuario en el histrico (0 = ilimitado)" -#: src/common/weeconfig.c:561 src/common/weeconfig.c:562 +#: src/common/weeconfig.c:562 src/common/weeconfig.c:563 msgid "automatically log server messages" msgstr "registrar automticamente los mensajes de servidor" -#: src/common/weeconfig.c:565 src/common/weeconfig.c:566 +#: src/common/weeconfig.c:566 src/common/weeconfig.c:567 msgid "automatically log channel chats" msgstr "registrar automticamente las conversaciones de canal" -#: src/common/weeconfig.c:569 src/common/weeconfig.c:570 +#: src/common/weeconfig.c:570 src/common/weeconfig.c:571 msgid "automatically log private chats" msgstr "registrar automticamente las conversaciones privadas" -#: src/common/weeconfig.c:573 src/common/weeconfig.c:574 +#: src/common/weeconfig.c:574 src/common/weeconfig.c:575 msgid "log messages from plugins (scripts)" msgstr "registrar mensajes de plugins (scripts)" -#: src/common/weeconfig.c:577 +#: src/common/weeconfig.c:578 msgid "path for log files" msgstr "ruta para los archivos de registro (logs)" -#: src/common/weeconfig.c:578 +#: src/common/weeconfig.c:579 msgid "path for WeeChat log files" msgstr "ruta para los archivos de registro (logs) de WeeChat" -#: src/common/weeconfig.c:581 +#: src/common/weeconfig.c:582 msgid "timestamp for log" msgstr "fecha y hora para las conversaciones registradas" -#: src/common/weeconfig.c:582 +#: src/common/weeconfig.c:583 msgid "timestamp for log (see man strftime for date/time specifiers)" msgstr "" "fecha y hora para los registros (ver man strftime para el formato de fecha/" "hora)" -#: src/common/weeconfig.c:585 src/common/weeconfig.c:586 +#: src/common/weeconfig.c:586 src/common/weeconfig.c:587 msgid "hide password displayed by nickserv" msgstr "ocultar contrasea mostrada por nickserv" -#: src/common/weeconfig.c:607 +#: src/common/weeconfig.c:608 msgid "display message to all channels when away" msgstr "mostrar mensaje en todos los canales cuando se est ausente" -#: src/common/weeconfig.c:608 +#: src/common/weeconfig.c:609 msgid "display message to all channels when (un)marking as away" msgstr "" "mostrar mensaje en todos los canales cuando se vuelva del estado ausente" -#: src/common/weeconfig.c:611 src/common/weeconfig.c:612 +#: src/common/weeconfig.c:612 src/common/weeconfig.c:613 msgid "default message when away" msgstr "mensaje por defecto para el estado ausente" -#: src/common/weeconfig.c:615 src/common/weeconfig.c:616 +#: src/common/weeconfig.c:616 src/common/weeconfig.c:617 msgid "default part message (leaving channel)" msgstr "mensaje por defecto de salida (saliendo de un canal)" -#: src/common/weeconfig.c:619 +#: src/common/weeconfig.c:620 msgid "default quit message" msgstr "mensaje de fin por defecto" -#: src/common/weeconfig.c:620 +#: src/common/weeconfig.c:621 msgid "" "default quit message ('%v' will be replaced by WeeChat version in string)" msgstr "" "mensaje de fin por defecto ('%v' ser reemplazado por la versin de WeeChat " "en la cadena)" -#: src/common/weeconfig.c:623 src/common/weeconfig.c:624 +#: src/common/weeconfig.c:624 src/common/weeconfig.c:625 msgid "display notices as private messages" msgstr "" -#: src/common/weeconfig.c:627 +#: src/common/weeconfig.c:628 msgid "interval between two checks for away" msgstr "intervalo entre dos comprobaciones de ausencia" -#: src/common/weeconfig.c:628 +#: src/common/weeconfig.c:629 msgid "interval between two checks for away (in minutes, 0 = never check)" msgstr "" "intervalo entre dos comprobaciones de ausencia (en minutos, 0 = no comprobar)" -#: src/common/weeconfig.c:631 +#: src/common/weeconfig.c:632 msgid "interval between two checks for lag" msgstr "intervalo entre dos medidas de lag (retraso)" -#: src/common/weeconfig.c:632 +#: src/common/weeconfig.c:633 msgid "interval between two checks for lag (in seconds)" msgstr "intervalo entre dos medidas de lag (en segundos)" -#: src/common/weeconfig.c:635 +#: src/common/weeconfig.c:636 msgid "minimum lag to show" msgstr "lag (retraso) mnimo a mostrar" -#: src/common/weeconfig.c:636 +#: src/common/weeconfig.c:637 msgid "minimum lag to show (in seconds)" msgstr "lag mnimo a mostrar (en segundos)" -#: src/common/weeconfig.c:639 +#: src/common/weeconfig.c:640 msgid "disconnect after important lag" msgstr "desconexin tras un lag importante" -#: src/common/weeconfig.c:640 +#: src/common/weeconfig.c:641 msgid "disconnect after important lag (in minutes, 0 = never disconnect)" msgstr "" "desconexin tras un lag importante (en minutos, 0 = no desconectar nunca)" -#: src/common/weeconfig.c:643 src/common/weeconfig.c:644 +#: src/common/weeconfig.c:644 src/common/weeconfig.c:645 msgid "create a FIFO pipe for remote control" msgstr "crea una tubera FIFO para control remoto" -#: src/common/weeconfig.c:647 +#: src/common/weeconfig.c:648 msgid "list of words to highlight" msgstr "" -#: src/common/weeconfig.c:648 +#: src/common/weeconfig.c:649 msgid "" "comma separated list of words to highlight (case insensitive comparison)" msgstr "" -#: src/common/weeconfig.c:667 +#: src/common/weeconfig.c:668 msgid "automatically accept dcc files" msgstr "aceptar automticamente los ficheros dcc" -#: src/common/weeconfig.c:668 +#: src/common/weeconfig.c:669 msgid "automatically accept incoming dcc files" msgstr "aceptar automticamente los ficheros dcc entrantes" -#: src/common/weeconfig.c:671 +#: src/common/weeconfig.c:672 msgid "automatically accept dcc chats" msgstr "aceptar automticamente las peticiones de conversacin dcc" -#: src/common/weeconfig.c:672 +#: src/common/weeconfig.c:673 msgid "automatically accept dcc chats (use carefully!)" msgstr "" "aceptar automticamente las peticiones de conversacin dcc (utilizar con " "precaucin!)" -#: src/common/weeconfig.c:675 +#: src/common/weeconfig.c:676 msgid "timeout for dcc request" msgstr "tiempo de espera (timeout) para la peticin dcc" -#: src/common/weeconfig.c:676 +#: src/common/weeconfig.c:677 msgid "timeout for dcc request (in seconds)" msgstr "tiempo de espera para la peticin dcc (en segundos)" -#: src/common/weeconfig.c:679 +#: src/common/weeconfig.c:680 msgid "block size for dcc packets" msgstr "tamao de bloque para los paquetes dcc" -#: src/common/weeconfig.c:680 +#: src/common/weeconfig.c:681 msgid "block size for dcc packets in bytes (default: 65536)" msgstr "tamao de bloque para los paquetes dcc en bytes (por defecto: 65536)" -#: src/common/weeconfig.c:683 +#: src/common/weeconfig.c:684 msgid "path for incoming files with dcc" msgstr "ruta para los ficheros recibidos con dcc" -#: src/common/weeconfig.c:684 +#: src/common/weeconfig.c:685 msgid "path for writing incoming files with dcc (default: user home)" msgstr "" "ruta para los ficheros recibidos con dcc (por defecto: directorio home del " "usuario)" -#: src/common/weeconfig.c:687 +#: src/common/weeconfig.c:688 msgid "default path for sending files with dcc" msgstr "ruta por defecto para enviar ficheros con dcc" -#: src/common/weeconfig.c:688 +#: src/common/weeconfig.c:689 msgid "" "path for reading files when sending thru dcc (when no path is specified)" msgstr "" "ruta para la lectura de ficheros cuando se envan a travs de dcc (cuando no " "se especifica una ruta)" -#: src/common/weeconfig.c:691 src/common/weeconfig.c:692 +#: src/common/weeconfig.c:692 src/common/weeconfig.c:693 msgid "convert spaces to underscores when sending files" msgstr "convertir los espacios a subrayados cuando se envan los ficheros" -#: src/common/weeconfig.c:695 +#: src/common/weeconfig.c:696 msgid "automatically rename dcc files if already exists" msgstr "renombrar automticamente los ficheros dcc si ya existen" -#: src/common/weeconfig.c:696 +#: src/common/weeconfig.c:697 msgid "rename incoming files if already exists (add '.1', '.2', ...)" msgstr "" "renombrar los ficheros recibidos si ya existen (aadir '.1', '.2', ...)" -#: src/common/weeconfig.c:699 +#: src/common/weeconfig.c:700 msgid "automatically resume aborted transfers" msgstr "continuar automticamente las transferencias canceladas" -#: src/common/weeconfig.c:700 +#: src/common/weeconfig.c:701 msgid "" "automatically resume dcc transfer if connection with remote host is loosed" msgstr "" "continuar automticamente la transferencia dcc si se ha perdido la conexin " "con la mquina remota" -#: src/common/weeconfig.c:719 +#: src/common/weeconfig.c:720 msgid "use proxy" msgstr "utilizar un proxy" -#: src/common/weeconfig.c:720 +#: src/common/weeconfig.c:721 msgid "use a proxy server to connect to irc server" msgstr "utilizar un proxy para conectarse al servidor irc" -#: src/common/weeconfig.c:723 +#: src/common/weeconfig.c:724 msgid "proxy type" msgstr "tipo de proxy" -#: src/common/weeconfig.c:724 +#: src/common/weeconfig.c:725 msgid "proxy type (http (default), socks4, socks5)" msgstr "tipo de proxy(http (por defecto), socks4, socks5)" -#: src/common/weeconfig.c:727 +#: src/common/weeconfig.c:728 msgid "use ipv6 proxy" msgstr "usar proxy ipv6" -#: src/common/weeconfig.c:728 +#: src/common/weeconfig.c:729 msgid "connect to proxy in ipv6" msgstr "conectar al proxy en ipv6" -#: src/common/weeconfig.c:731 +#: src/common/weeconfig.c:732 msgid "proxy address" msgstr "direccin del proxy" -#: src/common/weeconfig.c:732 +#: src/common/weeconfig.c:733 msgid "proxy server address (IP or hostname)" msgstr "direccin del servidor proxy (IP o nombre de mquina)" -#: src/common/weeconfig.c:735 +#: src/common/weeconfig.c:736 msgid "port for proxy" msgstr "puerto para el proxy" -#: src/common/weeconfig.c:736 +#: src/common/weeconfig.c:737 msgid "port for connecting to proxy server" msgstr "puerto para conectarse al servidor proxy" -#: src/common/weeconfig.c:739 +#: src/common/weeconfig.c:740 msgid "proxy username" msgstr "nombre de usuario del proxy" -#: src/common/weeconfig.c:740 +#: src/common/weeconfig.c:741 msgid "username for proxy server" msgstr "nombre de usuario para el servidor proxy" -#: src/common/weeconfig.c:743 +#: src/common/weeconfig.c:744 msgid "proxy password" msgstr "contrasea para el proxy" -#: src/common/weeconfig.c:744 +#: src/common/weeconfig.c:745 msgid "password for proxy server" msgstr "contrasea para el servidor proxy" -#: src/common/weeconfig.c:755 +#: src/common/weeconfig.c:758 src/common/weeconfig.c:759 +msgid "path for searching plugins" +msgstr "" + +#: src/common/weeconfig.c:762 +msgid "list of plugins to load automatically" +msgstr "" + +#: src/common/weeconfig.c:763 +msgid "" +"comma separated list of plugins to load automatically at startup, \"*\" " +"means all plugins found (names may be partial, for example \"perl\" is ok " +"for \"libperl.so\")" +msgstr "" + +#: src/common/weeconfig.c:768 +msgid "standard plugins extension in filename" +msgstr "" + +#: src/common/weeconfig.c:769 +msgid "" +"standard plugins extension in filename, used for autoload (if empty, then " +"all files are loaded when autoload is \"*\")" +msgstr "" + +#: src/common/weeconfig.c:786 msgid "server name" msgstr "nombre de servidor" -#: src/common/weeconfig.c:756 +#: src/common/weeconfig.c:787 msgid "name associated to IRC server (for display only)" msgstr "nombre asociado al servidor IRC (para mostrar solamente)" -#: src/common/weeconfig.c:759 +#: src/common/weeconfig.c:790 msgid "automatically connect to server" msgstr "conexin automtica al servidor" -#: src/common/weeconfig.c:760 +#: src/common/weeconfig.c:791 msgid "automatically connect to server when WeeChat is starting" msgstr "conexin automtica al servidor cuando WeeChat est arrancando" -#: src/common/weeconfig.c:763 +#: src/common/weeconfig.c:794 msgid "automatically reconnect to server" msgstr "reconexin automtica al servidor" -#: src/common/weeconfig.c:764 +#: src/common/weeconfig.c:795 msgid "automatically reconnect to server when disconnected" msgstr "reconexin automtica al servidor tras una desconexin" -#: src/common/weeconfig.c:767 +#: src/common/weeconfig.c:798 msgid "delay before trying again to reconnect" msgstr "esperar antes de intentar de nuevo una reconexin" -#: src/common/weeconfig.c:768 +#: src/common/weeconfig.c:799 msgid "delay (in seconds) before trying again to reconnect to server" msgstr "" "espera (en segundos) antes de intentar de nuevo una reconexin al servidor" -#: src/common/weeconfig.c:771 +#: src/common/weeconfig.c:802 msgid "server address or hostname" msgstr "direccin o nombre de mquina del servidor" -#: src/common/weeconfig.c:772 +#: src/common/weeconfig.c:803 msgid "IP address or hostname of IRC server" msgstr "direccin IP o nombre de mquina del servidor IRC" -#: src/common/weeconfig.c:775 +#: src/common/weeconfig.c:806 msgid "port for IRC server" msgstr "puerto para el servidor IRC" -#: src/common/weeconfig.c:776 +#: src/common/weeconfig.c:807 msgid "port for connecting to server" msgstr "puerto para conectarse al servidor" -#: src/common/weeconfig.c:779 src/common/weeconfig.c:780 +#: src/common/weeconfig.c:810 src/common/weeconfig.c:811 msgid "use IPv6 protocol for server communication" msgstr "usar el protocolo IPv6 para la comunicacin del servidor" -#: src/common/weeconfig.c:783 src/common/weeconfig.c:784 +#: src/common/weeconfig.c:814 src/common/weeconfig.c:815 msgid "use SSL for server communication" msgstr "usar SSL para la comunicacin del servidor" -#: src/common/weeconfig.c:787 +#: src/common/weeconfig.c:818 msgid "server password" msgstr "contrasea para el servidor" -#: src/common/weeconfig.c:788 +#: src/common/weeconfig.c:819 msgid "password for IRC server" msgstr "contrasea para el servidor IRC" -#: src/common/weeconfig.c:791 +#: src/common/weeconfig.c:822 msgid "nickname for server" msgstr "nombre de usuario para el servidor" -#: src/common/weeconfig.c:792 +#: src/common/weeconfig.c:823 msgid "nickname to use on IRC server" msgstr "nombre de usuario a utilizar en el servidor IRC" -#: src/common/weeconfig.c:795 +#: src/common/weeconfig.c:826 msgid "alternate nickname for server" msgstr "nombre de usuario alternativo para el servidor" -#: src/common/weeconfig.c:796 +#: src/common/weeconfig.c:827 msgid "alternate nickname to use on IRC server (if nickname is already used)" msgstr "" "nombre de usuario alternativo para el servidor IRC (si el nombre de usuario " "ya est en uso)" -#: src/common/weeconfig.c:799 +#: src/common/weeconfig.c:830 msgid "2nd alternate nickname for server" msgstr "segundo nombre de usuario alternativo para el servidor" -#: src/common/weeconfig.c:800 +#: src/common/weeconfig.c:831 msgid "" "2nd alternate nickname to use on IRC server (if alternate nickname is " "already used)" @@ -4290,31 +4204,31 @@ msgstr "" "segundo nombre de usuario alternativo a utilizar en el servidor IRC (si el " "nombre de usuario alternativo ya est en uso)" -#: src/common/weeconfig.c:803 +#: src/common/weeconfig.c:834 msgid "user name for server" msgstr "nombre de usuario para el servidor" -#: src/common/weeconfig.c:804 +#: src/common/weeconfig.c:835 msgid "user name to use on IRC server" msgstr "nombre de usuario para el servidor IRC" -#: src/common/weeconfig.c:807 +#: src/common/weeconfig.c:838 msgid "real name for server" msgstr "nombre real para el servidor" -#: src/common/weeconfig.c:808 +#: src/common/weeconfig.c:839 msgid "real name to use on IRC server" msgstr "nombre real para el servidor IRC" -#: src/common/weeconfig.c:811 src/common/weeconfig.c:812 +#: src/common/weeconfig.c:842 src/common/weeconfig.c:843 msgid "first command to run when connected to server" msgstr "primer comando a ejecutar cuando se conecte a un servidor" -#: src/common/weeconfig.c:815 +#: src/common/weeconfig.c:846 msgid "delay (in seconds) after command was executed" msgstr "espera (en segundos) despus de que el comando sea ejecutado" -#: src/common/weeconfig.c:816 +#: src/common/weeconfig.c:847 msgid "" "delay (in seconds) after command was executed (example: give some time for " "authentication)" @@ -4322,11 +4236,11 @@ msgstr "" "espera (en segundos) despus de que el comando sea ejecutado (ejemplo: dar " "algo de tiempo para la autenticacin)" -#: src/common/weeconfig.c:819 +#: src/common/weeconfig.c:850 msgid "list of channels to join when connected to server" msgstr "lista de canales a unirse cuando se conecte a un servidor" -#: src/common/weeconfig.c:820 +#: src/common/weeconfig.c:851 msgid "" "comma separated list of channels to join when connected to server (example: " "\"#chan1,#chan2,#chan3 key1,key2\")" @@ -4334,15 +4248,15 @@ msgstr "" "lista de canales (separados por comas) a unirse cuando se conecte a un " "servidor (ejemplo: \"#chan1,#chan2,#chan3 key1,key2\")" -#: src/common/weeconfig.c:823 src/common/weeconfig.c:824 +#: src/common/weeconfig.c:854 src/common/weeconfig.c:855 msgid "automatically rejoin channels when kicked" msgstr "unirse de nuevo automticamente a los canales cuando sea expulsado" -#: src/common/weeconfig.c:827 +#: src/common/weeconfig.c:858 msgid "notify levels for channels of this server" msgstr "niveles de notificacin para canales de este servidor" -#: src/common/weeconfig.c:828 +#: src/common/weeconfig.c:859 msgid "" "comma separated list of notify levels for channels of this server (format: " "#channel:1,..)" @@ -4350,67 +4264,67 @@ msgstr "" "lista separada por comas de niveles de notificacin para canales de este " "servidor (formato: #canal:1,...)" -#: src/common/weeconfig.c:1322 +#: src/common/weeconfig.c:1354 #, c-format msgid "%s %s, line %d: new server, but previous was incomplete\n" msgstr "%s %s, lnea %d: nuevo servidor, pero el anterior estaba incompleto\n" -#: src/common/weeconfig.c:1331 +#: src/common/weeconfig.c:1363 #, c-format msgid "%s %s, line %d: server '%s' already exists\n" msgstr "%s %s, lnea %d: el servidor '%s' ya existe\n" -#: src/common/weeconfig.c:1346 +#: src/common/weeconfig.c:1378 #, c-format msgid "%s %s, line %d: unable to create server\n" msgstr "%s %s, lnea %d: no es posible crear el servidor\n" -#: src/common/weeconfig.c:1386 +#: src/common/weeconfig.c:1418 #, c-format msgid "%s unable to assign default int with string (\"%s\")\n" msgstr "%s no es posible asignar el valor entero con la cadena (\"%s\")\n" -#: src/common/weeconfig.c:1397 +#: src/common/weeconfig.c:1429 #, c-format msgid "%s unable to assign default color (\"%s\")\n" msgstr "%s no es posible asignar el color por defecto (\"%s\")\n" -#: src/common/weeconfig.c:1436 +#: src/common/weeconfig.c:1468 #, c-format msgid "%s config file \"%s\" not found.\n" msgstr "%s fichero de configuracin \"%s\" no encontrado.\n" -#: src/common/weeconfig.c:1468 +#: src/common/weeconfig.c:1500 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"]\"\n" msgstr "%s %s, lnea %d: sintaxis invlida, falta \"]\"\n" -#: src/common/weeconfig.c:1485 +#: src/common/weeconfig.c:1517 #, c-format msgid "%s %s, line %d: unknown section identifier (\"%s\")\n" msgstr "%s %s, lnea %d: identificador de seccin desconocido (\"%s\")\n" -#: src/common/weeconfig.c:1503 +#: src/common/weeconfig.c:1535 #, c-format msgid "%s %s, line %d: invalid section for option, line is ignored\n" msgstr "%s %s, lnea %d: seccin invlida para la opcin, lnea ignorada\n" -#: src/common/weeconfig.c:1511 +#: src/common/weeconfig.c:1543 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"=\"\n" msgstr "%s %s, lnea %d: sintaxis invlida, falta \"=\"\n" -#: src/common/weeconfig.c:1548 src/common/weeconfig.c:1574 +#: src/common/weeconfig.c:1580 src/common/weeconfig.c:1606 #, c-format msgid "%s %s, line %d: invalid option \"%s\"\n" msgstr "%s %s, lnea %d: opcin \"%s\" invlida\n" -#: src/common/weeconfig.c:1554 +#: src/common/weeconfig.c:1586 #, c-format msgid "%s %s, line %d: invalid ignore options \"%s\"\n" msgstr "" -#: src/common/weeconfig.c:1585 +#: src/common/weeconfig.c:1617 #, c-format msgid "" "%s %s, line %d: invalid value foroption '%s'\n" @@ -4419,7 +4333,7 @@ msgstr "" "%s %s, lnea %d: valor invlido para la opcin '%s'\n" "Esperado: valor booleano: 'off' u 'on'\n" -#: src/common/weeconfig.c:1594 +#: src/common/weeconfig.c:1626 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -4428,7 +4342,7 @@ msgstr "" "%s %s, lnea %d: valor invlido para la opcin %s'\n" "Esperado: entero comprendido entre %d y %d\n" -#: src/common/weeconfig.c:1605 +#: src/common/weeconfig.c:1637 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -4437,26 +4351,26 @@ msgstr "" "%s %s, lnea %d: valor invlido para la opcin '%s'\n" "Esperado: una de estas cadenas: " -#: src/common/weeconfig.c:1621 +#: src/common/weeconfig.c:1653 #, c-format msgid "%s %s, line %d: invalid color name for option '%s'\n" msgstr "%s %s, lnea %d: nombre de color invlido para la opcin '%s'\n" -#: src/common/weeconfig.c:1683 src/common/weeconfig.c:1878 +#: src/common/weeconfig.c:1715 src/common/weeconfig.c:1910 #, c-format msgid "%s cannot create file \"%s\"\n" msgstr "%s no es posible crear el fichero \"%s\"\n" -#: src/common/weeconfig.c:1689 +#: src/common/weeconfig.c:1721 #, c-format msgid "%s: creating default config file...\n" msgstr "%s: creando fichero de configuracin por defecto...\n" -#: src/common/weeconfig.c:1690 +#: src/common/weeconfig.c:1722 msgid "Creating default config file\n" msgstr "Creando fichero de configuracin por defecto\n" -#: src/common/weeconfig.c:1693 src/common/weeconfig.c:1887 +#: src/common/weeconfig.c:1725 src/common/weeconfig.c:1919 #, c-format msgid "" "#\n" @@ -4465,19 +4379,6 @@ msgstr "" "#\n" "# %s: fichero de configuracin, creado por %s v%s el %s#\n" -#: src/common/weeconfig.c:1884 +#: src/common/weeconfig.c:1916 msgid "Saving config to disk\n" msgstr "Guardar configuracin a disco\n" - -#~ msgid "" -#~ "option: name of an option\n" -#~ "value: value for option" -#~ msgstr "" -#~ "opcin: nombre de una opcin\n" -#~ "valor: valor para la opcin" - -#~ msgid "IRC command" -#~ msgstr "comandos IRC" - -#~ msgid "channel" -#~ msgstr "canal" diff --git a/weechat/po/fr.po b/weechat/po/fr.po index 2c7868d5e..34c5abb28 100644 --- a/weechat/po/fr.po +++ b/weechat/po/fr.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.6-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2005-10-03 14:05+0200\n" -"PO-Revision-Date: 2005-10-03 14:05+0200\n" +"POT-Creation-Date: 2005-10-15 14:17+0200\n" +"PO-Revision-Date: 2005-10-15 13:21+0200\n" "Last-Translator: FlashCode <flashcode@flashtux.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" msgid "%s cannot allocate new nick\n" msgstr "%s impossible d'allouer un nouveau pseudo\n" -#: src/irc/irc-server.c:180 src/common/weeconfig.c:1823 +#: src/irc/irc-server.c:180 src/common/weeconfig.c:1855 msgid "Unable to get user's name" msgstr "Impossible de dterminer le nom d'utilisateur" @@ -1344,7 +1344,7 @@ msgstr "impossible de changer le mode pour les autres utilisateurs" msgid "whois (secure connection)" msgstr "qui est (connexion scurise)" -#: src/irc/irc-display.c:163 src/common/command.c:877 +#: src/irc/irc-display.c:163 src/common/command.c:870 msgid "Server: " msgstr "Serveur: " @@ -1352,7 +1352,7 @@ msgstr "Serveur: " msgid "connected" msgstr "connect" -#: src/irc/irc-display.c:168 src/common/command.c:903 +#: src/irc/irc-display.c:168 src/common/command.c:896 msgid "not connected" msgstr "non connect" @@ -1374,7 +1374,7 @@ msgstr " (serveur temporaire, ne sera pas sauv)" msgid "(hidden)" msgstr "(cach)" -#: src/irc/irc-send.c:59 src/irc/irc-recv.c:4421 +#: src/irc/irc-send.c:59 src/irc/irc-recv.c:4426 msgid "unknown" msgstr "inconnu" @@ -1383,7 +1383,7 @@ msgstr "inconnu" msgid "%s: using local hostname \"%s\"\n" msgstr "%s: utilisation du nom de machine local \"%s\"\n" -#: src/irc/irc-send.c:167 src/common/command.c:755 +#: src/irc/irc-send.c:167 src/common/command.c:746 #, c-format msgid "%s cannot find nick for sending message\n" msgstr "%s impossible de trouver le pseudo pour envoyer le message\n" @@ -1401,9 +1401,8 @@ msgstr "" #: src/irc/irc-send.c:456 src/irc/irc-send.c:468 src/irc/irc-send.c:486 #: src/irc/irc-send.c:1138 src/irc/irc-send.c:1231 src/irc/irc-send.c:1763 -#: src/common/command.c:1225 src/common/command.c:1579 -#: src/common/command.c:1729 src/common/command.c:1872 -#: src/common/command.c:2015 +#: src/common/command.c:1218 src/common/command.c:1628 +#: src/common/command.c:1760 #, c-format msgid "%s wrong argument count for \"%s\" command\n" msgstr "%s nombre de paramtres erron pour la commande \"%s\"\n" @@ -1420,13 +1419,13 @@ msgid "%s \"%s\" command can not be executed on a server window\n" msgstr "" "%s la commande \"%s\" ne peut pas tre excute dans une fentre serveur\n" -#: src/irc/irc-send.c:1031 src/irc/irc-send.c:1056 src/irc/irc-recv.c:430 +#: src/irc/irc-send.c:1031 src/irc/irc-send.c:1056 src/irc/irc-recv.c:435 #, c-format msgid "%s nick \"%s\" not found for \"%s\" command\n" msgstr "%s pseudo \"%s\" non trouv pour la commande \"%s\"\n" -#: src/irc/irc-send.c:1108 src/irc/irc-send.c:1416 src/irc/irc-recv.c:1117 -#: src/irc/irc-recv.c:1933 src/irc/irc-recv.c:2021 +#: src/irc/irc-send.c:1108 src/irc/irc-send.c:1416 src/irc/irc-recv.c:1122 +#: src/irc/irc-recv.c:1938 src/irc/irc-recv.c:2026 #, c-format msgid "%s cannot create new private window \"%s\"\n" msgstr "%s impossible de crer la fentre prive \"%s\"\n" @@ -1436,447 +1435,447 @@ msgstr "%s impossible de crer la fentre prive \"%s\"\n" msgid "%s, compiled on %s %s\n" msgstr "%s, compil le %s %s\n" -#: src/irc/irc-recv.c:286 +#: src/irc/irc-recv.c:291 msgid "You have been invited to " msgstr "Vous avez t invit sur " -#: src/irc/irc-recv.c:289 +#: src/irc/irc-recv.c:294 msgid "by" msgstr "par" -#: src/irc/irc-recv.c:300 src/irc/irc-recv.c:394 src/irc/irc-recv.c:891 -#: src/irc/irc-recv.c:1276 src/irc/irc-recv.c:1535 src/irc/irc-recv.c:3437 -#: src/irc/irc-recv.c:3459 src/irc/irc-recv.c:3520 src/irc/irc-recv.c:3592 +#: src/irc/irc-recv.c:305 src/irc/irc-recv.c:399 src/irc/irc-recv.c:896 +#: src/irc/irc-recv.c:1281 src/irc/irc-recv.c:1540 src/irc/irc-recv.c:3442 +#: src/irc/irc-recv.c:3464 src/irc/irc-recv.c:3525 src/irc/irc-recv.c:3597 #, c-format msgid "%s channel \"%s\" not found for \"%s\" command\n" msgstr "%s canal \"%s\" non trouv pour la commande \"%s\"\n" -#: src/irc/irc-recv.c:328 +#: src/irc/irc-recv.c:333 #, c-format msgid "%s cannot create new channel \"%s\"\n" msgstr "%s impossible de crer le nouveau canal \"%s\"\n" -#: src/irc/irc-recv.c:347 +#: src/irc/irc-recv.c:352 msgid " has joined " msgstr " a rejoint " -#: src/irc/irc-recv.c:405 +#: src/irc/irc-recv.c:410 msgid " has kicked " msgstr " a pouss dehors " -#: src/irc/irc-recv.c:409 src/common/command.c:1400 +#: src/irc/irc-recv.c:414 src/common/command.c:1449 msgid " from " msgstr " de " -#: src/irc/irc-recv.c:495 +#: src/irc/irc-recv.c:500 msgid " has killed " msgstr " a tu " -#: src/irc/irc-recv.c:501 +#: src/irc/irc-recv.c:506 msgid " from server" msgstr " du serveur" -#: src/irc/irc-recv.c:511 +#: src/irc/irc-recv.c:516 msgid " from server\n" msgstr " du serveur\n" -#: src/irc/irc-recv.c:519 +#: src/irc/irc-recv.c:524 #, c-format msgid "%s host \"%s\" not found for \"%s\" command\n" msgstr "%s la machine \"%s\" n'existe pas pour la commande \"%s\"\n" -#: src/irc/irc-recv.c:559 +#: src/irc/irc-recv.c:564 msgid "sets ban on" msgstr "instaure un bannissement sur" -#: src/irc/irc-recv.c:560 +#: src/irc/irc-recv.c:565 msgid "removes ban on" msgstr "supprime le banissement sur" -#: src/irc/irc-recv.c:584 +#: src/irc/irc-recv.c:589 msgid "gives half channel operator status to" msgstr "donne le droit demi-oprateur " -#: src/irc/irc-recv.c:585 +#: src/irc/irc-recv.c:590 msgid "removes half channel operator status from" msgstr "supprime le droit demi-oprateur " -#: src/irc/irc-recv.c:612 +#: src/irc/irc-recv.c:617 msgid "sets invite-only channel flag" msgstr "dfinit le canal en mode invit seulement" -#: src/irc/irc-recv.c:613 +#: src/irc/irc-recv.c:618 msgid "removes invite-only channel flag" msgstr "supprime le mode invit seulement pour le canal" -#: src/irc/irc-recv.c:630 +#: src/irc/irc-recv.c:635 msgid "sets channel key to" msgstr "dfinit la cl du canal " -#: src/irc/irc-recv.c:631 +#: src/irc/irc-recv.c:636 msgid "removes channel key" msgstr "supprime la cl du canal" -#: src/irc/irc-recv.c:662 +#: src/irc/irc-recv.c:667 msgid "sets the user limit to" msgstr "dfinit la limite d'utilisateurs " -#: src/irc/irc-recv.c:663 +#: src/irc/irc-recv.c:668 msgid "removes user limit" msgstr "supprime la limite d'utilisateurs" -#: src/irc/irc-recv.c:685 +#: src/irc/irc-recv.c:690 msgid "sets moderated channel flag" msgstr "instaure la modration sur le canal" -#: src/irc/irc-recv.c:686 +#: src/irc/irc-recv.c:691 msgid "removes moderated channel flag" msgstr "supprime la modration sur le canal" -#: src/irc/irc-recv.c:696 +#: src/irc/irc-recv.c:701 msgid "sets messages from channel only flag" msgstr "interdit aux utilisateurs en dehors du canal d'y crire" -#: src/irc/irc-recv.c:697 +#: src/irc/irc-recv.c:702 msgid "removes messages from channel only flag" msgstr "autorise tout utilisateur crire sur le canal" -#: src/irc/irc-recv.c:714 +#: src/irc/irc-recv.c:719 msgid "gives channel operator status to" msgstr "donne le droit oprateur " -#: src/irc/irc-recv.c:715 +#: src/irc/irc-recv.c:720 msgid "removes channel operator status from" msgstr "supprime le droit oprateur " -#: src/irc/irc-recv.c:742 +#: src/irc/irc-recv.c:747 msgid "sets private channel flag" msgstr "dfinit le canal comme priv" -#: src/irc/irc-recv.c:743 +#: src/irc/irc-recv.c:748 msgid "removes private channel flag" msgstr "supprime le mode priv pour le canal" -#: src/irc/irc-recv.c:760 +#: src/irc/irc-recv.c:765 msgid "sets quiet on" msgstr "dfinit le mode muet sur" -#: src/irc/irc-recv.c:761 +#: src/irc/irc-recv.c:766 msgid "removes quiet on" msgstr "supprime le mode muet sur" -#: src/irc/irc-recv.c:778 +#: src/irc/irc-recv.c:783 msgid "sets secret channel flag" msgstr "dfinit le canal comme secret" -#: src/irc/irc-recv.c:779 +#: src/irc/irc-recv.c:784 msgid "removes secret channel flag" msgstr "supprime le mode secret pour le canal" -#: src/irc/irc-recv.c:789 +#: src/irc/irc-recv.c:794 msgid "sets topic protection" msgstr "active la protection du titre" -#: src/irc/irc-recv.c:790 +#: src/irc/irc-recv.c:795 msgid "removes topic protection" msgstr "supprime la protection du titre" -#: src/irc/irc-recv.c:807 +#: src/irc/irc-recv.c:812 msgid "gives voice to" msgstr "donne la voix " -#: src/irc/irc-recv.c:808 +#: src/irc/irc-recv.c:813 msgid "removes voice from" msgstr "supprime la voix de" -#: src/irc/irc-recv.c:851 src/irc/irc-recv.c:933 src/irc/irc-recv.c:1354 -#: src/irc/irc-recv.c:2088 +#: src/irc/irc-recv.c:856 src/irc/irc-recv.c:938 src/irc/irc-recv.c:1359 +#: src/irc/irc-recv.c:2093 #, c-format msgid "%s \"%s\" command received without host\n" msgstr "%s commande \"%s\" reue sans host\n" -#: src/irc/irc-recv.c:861 +#: src/irc/irc-recv.c:866 #, c-format msgid "%s \"%s\" command received without channel or nickname\n" msgstr "%s commande \"%s\" reue sans canal ou utilisateur\n" -#: src/irc/irc-recv.c:908 +#: src/irc/irc-recv.c:913 msgid "mode changed by" msgstr "mode chang par" -#: src/irc/irc-recv.c:970 +#: src/irc/irc-recv.c:975 msgid "You are " msgstr "Vous tes " -#: src/irc/irc-recv.c:977 +#: src/irc/irc-recv.c:982 msgid " is " msgstr " est " -#: src/irc/irc-recv.c:981 +#: src/irc/irc-recv.c:986 msgid "now known as " msgstr "maintenant connu sous le nom " -#: src/irc/irc-recv.c:1048 +#: src/irc/irc-recv.c:1053 #, c-format msgid "%s nickname not found for \"%s\" command\n" msgstr "%s utilisateur non trouv pour la commande \"%s\"\n" -#: src/irc/irc-recv.c:1064 src/irc/irc-recv.c:1096 +#: src/irc/irc-recv.c:1069 src/irc/irc-recv.c:1101 msgid "reply from" msgstr "rponse de" -#: src/irc/irc-recv.c:1099 +#: src/irc/irc-recv.c:1104 #, c-format msgid ": %ld.%ld seconds\n" msgstr ": %ld.%ld secondes\n" -#: src/irc/irc-recv.c:1138 src/irc/irc-recv.c:2042 src/irc/irc-dcc.c:1044 +#: src/irc/irc-recv.c:1143 src/irc/irc-recv.c:2047 src/irc/irc-dcc.c:1044 #, c-format msgid "Private %s> %s" msgstr "Prive %s> %s" -#: src/irc/irc-recv.c:1201 +#: src/irc/irc-recv.c:1206 #, c-format msgid "%s \"%s\" command received without host or channel\n" msgstr "%s commande \"%s\" reue sans host ou canal\n" -#: src/irc/irc-recv.c:1250 +#: src/irc/irc-recv.c:1255 msgid " has left " msgstr " a quitt " -#: src/irc/irc-recv.c:1402 src/irc/irc-recv.c:1957 +#: src/irc/irc-recv.c:1407 src/irc/irc-recv.c:1962 #, c-format msgid "On %s: * %s %s" msgstr "Sur %s: * %s %s" -#: src/irc/irc-recv.c:1426 +#: src/irc/irc-recv.c:1431 #, c-format msgid "Received a CTCP SOUND \"%s\" from " msgstr "CTCP SOUND \"%s\" reu de " -#: src/irc/irc-recv.c:1459 src/irc/irc-recv.c:1490 src/irc/irc-recv.c:1594 -#: src/irc/irc-recv.c:1634 src/irc/irc-recv.c:1997 +#: src/irc/irc-recv.c:1464 src/irc/irc-recv.c:1495 src/irc/irc-recv.c:1599 +#: src/irc/irc-recv.c:1639 src/irc/irc-recv.c:2002 msgid "received from" msgstr "reu de" -#: src/irc/irc-recv.c:1486 src/irc/irc-recv.c:1993 +#: src/irc/irc-recv.c:1491 src/irc/irc-recv.c:1998 msgid "Unknown CTCP " msgstr "CTCP inconnu " -#: src/irc/irc-recv.c:1518 +#: src/irc/irc-recv.c:1523 #, c-format msgid "On %s: %s> %s" msgstr "Sur %s: %s> %s" -#: src/irc/irc-recv.c:1650 src/irc/irc-recv.c:1671 src/irc/irc-recv.c:1687 -#: src/irc/irc-recv.c:1703 src/irc/irc-recv.c:1729 src/irc/irc-recv.c:1750 -#: src/irc/irc-recv.c:1766 src/irc/irc-recv.c:1791 src/irc/irc-recv.c:1812 -#: src/irc/irc-recv.c:1828 src/irc/irc-recv.c:1853 src/irc/irc-recv.c:1874 -#: src/irc/irc-recv.c:1889 src/irc/irc-recv.c:2064 src/irc/irc-recv.c:2408 -#: src/irc/irc-recv.c:3988 src/irc/irc-recv.c:4046 src/irc/irc-recv.c:4205 -#: src/irc/irc-recv.c:4220 src/irc/irc-recv.c:4235 src/irc/irc-recv.c:4250 -#: src/irc/irc-recv.c:4263 src/irc/irc-recv.c:4317 src/irc/irc-recv.c:4331 +#: src/irc/irc-recv.c:1655 src/irc/irc-recv.c:1676 src/irc/irc-recv.c:1692 +#: src/irc/irc-recv.c:1708 src/irc/irc-recv.c:1734 src/irc/irc-recv.c:1755 +#: src/irc/irc-recv.c:1771 src/irc/irc-recv.c:1796 src/irc/irc-recv.c:1817 +#: src/irc/irc-recv.c:1833 src/irc/irc-recv.c:1858 src/irc/irc-recv.c:1879 +#: src/irc/irc-recv.c:1894 src/irc/irc-recv.c:2069 src/irc/irc-recv.c:2413 +#: src/irc/irc-recv.c:3993 src/irc/irc-recv.c:4051 src/irc/irc-recv.c:4210 +#: src/irc/irc-recv.c:4225 src/irc/irc-recv.c:4240 src/irc/irc-recv.c:4255 +#: src/irc/irc-recv.c:4268 src/irc/irc-recv.c:4322 src/irc/irc-recv.c:4336 #, c-format msgid "%s cannot parse \"%s\" command\n" msgstr "%s impossible d'analyser la commande \"%s\"\n" -#: src/irc/irc-recv.c:1902 +#: src/irc/irc-recv.c:1907 #, c-format msgid "%s unknown DCC CHAT type received from " msgstr "%s type de DCC CHAT inconnu reu de " -#: src/irc/irc-recv.c:2119 +#: src/irc/irc-recv.c:2124 msgid "has quit" msgstr "a quitt" -#: src/irc/irc-recv.c:2244 +#: src/irc/irc-recv.c:2249 #, c-format msgid "%s \"%s\" command received without channel\n" msgstr "%s commande \"%s\" reue sans canal\n" -#: src/irc/irc-recv.c:2276 +#: src/irc/irc-recv.c:2281 msgid " has changed topic for " msgstr " a chang le titre pour " -#: src/irc/irc-recv.c:2281 +#: src/irc/irc-recv.c:2286 #, c-format msgid " to: \"%s\"\n" msgstr " en: \"%s\"\n" -#: src/irc/irc-recv.c:2287 +#: src/irc/irc-recv.c:2292 msgid " has unset topic for " msgstr " a retir le titre pour " -#: src/irc/irc-recv.c:2396 +#: src/irc/irc-recv.c:2401 msgid "User mode" msgstr "Mode utilisateur" -#: src/irc/irc-recv.c:2451 +#: src/irc/irc-recv.c:2456 #, c-format msgid " is away: %s\n" msgstr " est absent: %s\n" -#: src/irc/irc-recv.c:2533 +#: src/irc/irc-recv.c:2538 msgid "Users online: " msgstr "Utilisateurs en ligne: " -#: src/irc/irc-recv.c:3023 +#: src/irc/irc-recv.c:3028 msgid "idle: " msgstr "inactivit: " -#: src/irc/irc-recv.c:3031 +#: src/irc/irc-recv.c:3036 msgid "days" msgstr "jours" -#: src/irc/irc-recv.c:3031 +#: src/irc/irc-recv.c:3036 msgid "day" msgstr "jour" -#: src/irc/irc-recv.c:3041 +#: src/irc/irc-recv.c:3046 msgid "hours" msgstr "heures" -#: src/irc/irc-recv.c:3041 +#: src/irc/irc-recv.c:3046 msgid "hour" msgstr "heure" -#: src/irc/irc-recv.c:3047 +#: src/irc/irc-recv.c:3052 msgid "minutes" msgstr "minutes" -#: src/irc/irc-recv.c:3047 +#: src/irc/irc-recv.c:3052 msgid "minute" msgstr "minute" -#: src/irc/irc-recv.c:3053 +#: src/irc/irc-recv.c:3058 msgid "seconds" msgstr "secondes" -#: src/irc/irc-recv.c:3053 +#: src/irc/irc-recv.c:3058 msgid "second" msgstr "seconde" -#: src/irc/irc-recv.c:3058 +#: src/irc/irc-recv.c:3063 msgid "signon at: " msgstr "sign le: " -#: src/irc/irc-recv.c:3154 +#: src/irc/irc-recv.c:3159 msgid "Channels: " msgstr "Canaux: " -#: src/irc/irc-recv.c:3450 +#: src/irc/irc-recv.c:3455 msgid "No topic set for " msgstr "Pas de titre dfini pour " -#: src/irc/irc-recv.c:3507 +#: src/irc/irc-recv.c:3512 msgid "Topic for " msgstr "Le titre pour " -#: src/irc/irc-recv.c:3511 +#: src/irc/irc-recv.c:3516 #, c-format msgid " is: \"%s\"\n" msgstr " est: \"%s\"\n" -#: src/irc/irc-recv.c:3530 src/irc/irc-recv.c:3619 src/irc/irc-recv.c:3672 +#: src/irc/irc-recv.c:3535 src/irc/irc-recv.c:3624 src/irc/irc-recv.c:3677 #, c-format msgid "%s cannot identify channel for \"%s\" command\n" msgstr "%s impossible de dterminer le canal pour la commande \"%s\"\n" -#: src/irc/irc-recv.c:3580 +#: src/irc/irc-recv.c:3585 msgid "Topic set by " msgstr "Titre dfini par " -#: src/irc/irc-recv.c:3601 +#: src/irc/irc-recv.c:3606 #, c-format msgid "%s cannot identify date/time for \"%s\" command\n" msgstr "%s impossible d'identifier la date/heure pour la commande \"%s\"\n" -#: src/irc/irc-recv.c:3610 src/irc/irc-recv.c:3681 +#: src/irc/irc-recv.c:3615 src/irc/irc-recv.c:3686 #, c-format msgid "%s cannot identify nickname for \"%s\" command\n" msgstr "" "%s impossible de dterminer le nom d'utilisateur pour la commande \"%s\"\n" -#: src/irc/irc-recv.c:3660 +#: src/irc/irc-recv.c:3665 msgid "has invited" msgstr "a invit" -#: src/irc/irc-recv.c:3663 src/irc/irc-recv.c:3909 src/common/command.c:1393 +#: src/irc/irc-recv.c:3668 src/irc/irc-recv.c:3914 src/common/command.c:1442 msgid "on" msgstr "sur" -#: src/irc/irc-recv.c:3718 +#: src/irc/irc-recv.c:3723 msgid "Channel reop" msgstr "Canal reop" -#: src/irc/irc-recv.c:4034 +#: src/irc/irc-recv.c:4039 #, c-format msgid "%s cannot create nick \"%s\" for channel \"%s\"\n" msgstr "%s impossible de crer l'utilisateur \"%s\" pour le canal \"%s\"\n" -#: src/irc/irc-recv.c:4093 +#: src/irc/irc-recv.c:4098 msgid "Nicks " msgstr "Utilisateurs " -#: src/irc/irc-recv.c:4113 +#: src/irc/irc-recv.c:4118 msgid "Channel " msgstr "Canal " -#: src/irc/irc-recv.c:4124 +#: src/irc/irc-recv.c:4129 msgid "nicks" msgstr "utilisateurs" -#: src/irc/irc-recv.c:4124 +#: src/irc/irc-recv.c:4129 msgid "nick" msgstr "utilisateur" -#: src/irc/irc-recv.c:4132 +#: src/irc/irc-recv.c:4137 msgid "ops" msgstr "ops" -#: src/irc/irc-recv.c:4132 +#: src/irc/irc-recv.c:4137 msgid "op" msgstr "op" -#: src/irc/irc-recv.c:4141 +#: src/irc/irc-recv.c:4146 msgid "halfops" msgstr "halfops" -#: src/irc/irc-recv.c:4141 +#: src/irc/irc-recv.c:4146 msgid "halfop" msgstr "halfop" -#: src/irc/irc-recv.c:4150 +#: src/irc/irc-recv.c:4155 msgid "voices" msgstr "voices" -#: src/irc/irc-recv.c:4150 +#: src/irc/irc-recv.c:4155 msgid "voice" msgstr "voice" -#: src/irc/irc-recv.c:4159 +#: src/irc/irc-recv.c:4164 msgid "normal" msgstr "normal" -#: src/irc/irc-recv.c:4280 +#: src/irc/irc-recv.c:4285 msgid "banned by" msgstr "banni par" -#: src/irc/irc-recv.c:4375 +#: src/irc/irc-recv.c:4380 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 2nd nickname \"%s\"\n" msgstr "" "%s: l'utilisateur \"%s\" est dj en cours d'utilisation, essai avec le 2nd " "nom d'utilisateur \"%s\"\n" -#: src/irc/irc-recv.c:4387 +#: src/irc/irc-recv.c:4392 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 3rd nickname \"%s\"\n" msgstr "" "%s: l'utilisateur \"%s\" est dj en cours d'utilisation, essai avec le 3me " "nom d'utilisateur \"%s\"\n" -#: src/irc/irc-recv.c:4399 +#: src/irc/irc-recv.c:4404 #, c-format msgid "" "%s: all declared nicknames are already in use, closing connection with " @@ -1885,7 +1884,7 @@ msgstr "" "%s: tous les noms d'utilisateurs dclars sont dj en cours d'utilisation, " "fermeture de la connexion avec le serveur !\n" -#: src/irc/irc-recv.c:4409 +#: src/irc/irc-recv.c:4414 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 1st nickname \"%s\"\n" msgstr "" @@ -2084,139 +2083,105 @@ msgstr "%s pas assez de mmoire pour crer un ignore\n" msgid "Removing ignore:" msgstr "Suppression du ignore:" -#: src/plugins/perl/wee-perl.c:88 src/plugins/perl/wee-perl.c:463 -#: src/plugins/python/wee-python.c:81 src/plugins/ruby/wee-ruby.c:89 +#: src/plugins/plugins.c:226 #, c-format msgid "" -"%s error: unable to register \"%s\" script (another script already exists " -"with this name)\n" +"%s plugin %s: unable to add handler for IRC command \"%s\" (not enough " +"memory)\n" msgstr "" -"Erreur %s: impossible d'enregistrer le script \"%s\" (un autre script existe " -"dj avec ce nom)\n" - -#: src/plugins/perl/wee-perl.c:112 src/plugins/perl/wee-perl.c:487 -#: src/plugins/python/wee-python.c:105 src/plugins/ruby/wee-ruby.c:113 -#, c-format -msgid "Registered %s script: \"%s\", version %s (%s)\n" -msgstr "Script %s enregistr: \"%s\", version %s (%s)\n" +"%s extension %s: impossible d'ajouter la fonction pour la commande IRC \"%s" +"\" (mmoire insuffisante)\n" -#: src/plugins/perl/wee-perl.c:119 src/plugins/perl/wee-perl.c:494 -#: src/plugins/python/wee-python.c:112 src/plugins/ruby/wee-ruby.c:120 +#: src/plugins/plugins.c:261 #, c-format -msgid "%s error: unable to load script \"%s\" (not enough memory)\n" +msgid "" +"%s plugin %s: unable to add handler for \"%s\" command (already exists)\n" msgstr "" -"Erreur %s: impossible de charger le script \"%s\" (mmoire insuffisante)\n" - -#: src/plugins/perl/wee-perl.c:234 src/plugins/perl/wee-perl.c:520 -#: src/plugins/perl/wee-perl.c:568 src/plugins/perl/wee-perl.c:595 -#: src/plugins/perl/wee-perl.c:640 src/plugins/perl/wee-perl.c:670 -#: src/plugins/perl/wee-perl.c:710 src/plugins/python/wee-python.c:60 -#: src/plugins/python/wee-python.c:142 src/plugins/python/wee-python.c:179 -#: src/plugins/python/wee-python.c:211 src/plugins/python/wee-python.c:243 -#: src/plugins/python/wee-python.c:272 src/plugins/python/wee-python.c:311 -#: src/plugins/ruby/wee-ruby.c:58 src/plugins/ruby/wee-ruby.c:146 -#: src/plugins/ruby/wee-ruby.c:192 src/plugins/ruby/wee-ruby.c:226 -#: src/plugins/ruby/wee-ruby.c:267 src/plugins/ruby/wee-ruby.c:298 -#: src/plugins/ruby/wee-ruby.c:339 -#, c-format -msgid "%s error: wrong parameters for \"%s\" function\n" -msgstr "Erreur %s: mauvais paramtres pour la fonction \"%s\"\n" - -#: src/plugins/perl/wee-perl.c:270 src/plugins/perl/wee-perl.c:374 -#: src/plugins/perl/wee-perl.c:723 src/plugins/python/wee-python.c:331 -#: src/plugins/ruby/wee-ruby.c:367 -#, c-format -msgid "%s error: server not found for \"%s\" function\n" -msgstr "Erreur %s: serveur non trouv pour la fonction \"%s\"\n" - -#: src/plugins/perl/wee-perl.c:873 src/plugins/python/wee-python.c:457 -#, c-format -msgid "Loading %s module \"weechat\"\n" -msgstr "Chargement du module %s \"weechat\"\n" - -#: src/plugins/perl/wee-perl.c:932 -#, c-format -msgid "Perl error: %s" -msgstr "Erreur Perl: %s" +"%s extension %s: impossible d'ajouter la fonction pour la commande \"%s" +"\" (existe dj)\n" -#: src/plugins/perl/wee-perl.c:942 +#: src/plugins/plugins.c:296 #, c-format -msgid "%s error: too much values from \"%s\" (%d). Expected: 1.\n" -msgstr "Erreur %s: trop de valeurs de \"%s\" (%d). Attendue: 1.\n" - -#: src/plugins/perl/wee-perl.c:964 src/plugins/perl/wee-perl.c:966 -#: src/plugins/python/wee-python.c:615 src/plugins/python/wee-python.c:617 -#, c-format -msgid "Loading %s script \"%s\"\n" -msgstr "Chargement du script %s \"%s\"\n" +msgid "" +"%s plugin %s: unable to add handler for \"%s\" command (not enough memory)\n" +msgstr "" +"%s extension %s: impossible d'ajouter la fonction pour la commande \"%s" +"\" (mmoire insuffisante)\n" -#: src/plugins/perl/wee-perl.c:1015 src/plugins/python/wee-python.c:686 -#: src/plugins/ruby/wee-ruby.c:555 +#: src/plugins/plugins.c:573 #, c-format -msgid "Unloading %s script \"%s\"\n" -msgstr "Dchargement du script %s \"%s\"\n" +msgid "%s unable to load plugin \"%s\": %s\n" +msgstr "%s impossible de charger l'extension \"%s\": %s\n" -#: src/plugins/perl/wee-perl.c:1032 src/plugins/python/wee-python.c:703 -#: src/plugins/ruby/wee-ruby.c:572 +#: src/plugins/plugins.c:584 #, c-format -msgid "Unloading all %s scripts...\n" -msgstr "Dchargement de tous les scripts %s...\n" +msgid "%s symbol \"plugin_name\" not found in plugin \"%s\", failed to load\n" +msgstr "" +"%s le symbole \"plugin_name\" est introuvable dans l'extension \"%s\", chec " +"de chargement\n" -#: src/plugins/perl/wee-perl.c:1037 src/plugins/python/wee-python.c:708 -#: src/plugins/ruby/wee-ruby.c:577 +#: src/plugins/plugins.c:595 #, c-format -msgid "%s scripts unloaded\n" -msgstr "Scripts %s dchargs\n" +msgid "" +"%s unable to load plugin \"%s\": a plugin with same name already exists\n" +msgstr "" +"%s impossible de charger l'extension \"%s\": une extension avec le mme nom " +"existe dj\n" -#: src/plugins/python/wee-python.c:452 +#: src/plugins/plugins.c:607 #, c-format -msgid "%s error: error while launching interpreter\n" -msgstr "Erreur %s: erreur pendant le chargement de l'interprteur\n" +msgid "" +"%s symbol \"plugin_description\" not found in plugin \"%s\", failed to load\n" +msgstr "" +"%s le symbole \"plugin_description\" est introuvable dans l'extension \"%s" +"\", chec de chargement\n" -#: src/plugins/python/wee-python.c:481 +#: src/plugins/plugins.c:618 #, c-format -msgid "%s error: error while redirecting stdout and stderr\n" -msgstr "Erreur %s: erreur en redirection de stdout et stderr\n" +msgid "" +"%s symbol \"plugin_version\" not found in plugin \"%s\", failed to load\n" +msgstr "" +"%s le symbole \"plugin_version\" est introuvable dans l'extension \"%s\", " +"chec de chargement\n" -#: src/plugins/python/wee-python.c:534 src/plugins/python/wee-python.c:562 -#: src/plugins/python/wee-python.c:594 +#: src/plugins/plugins.c:629 #, c-format -msgid "%s error: unable to run function \"%s\" in script (not enough memory)\n" +msgid "" +"%s function \"weechat_plugin_init\" not found in plugin \"%s\", failed to " +"load\n" msgstr "" -"Erreur %s: impossible d'excuter la fonction \"%s\" dans le script (mmoire " -"insuffisante)\n" +"%s la fonction \"weechat_plugin_init\" est introuvable dans l'extension \"%s" +"\", chec de chargement\n" -#: src/plugins/python/wee-python.c:584 +#: src/plugins/plugins.c:683 #, c-format -msgid "%s error: error while running function \"%s\"\n" -msgstr "Erreur %s: erreur dans la fonction \"%s\"\n" +msgid "Initializing plugin \"%s\" %s\n" +msgstr "Initialisation de l'extension \"%s\" %s\n" -#: src/plugins/python/wee-python.c:623 +#: src/plugins/plugins.c:691 #, c-format -msgid "%s error: error while opening file \"%s\"\n" -msgstr "Erreur %s: erreur l'ouverture du fichier \"%s\"\n" +msgid "%s unable to initialize plugin \"%s\"\n" +msgstr "%s impossible d'initialiser l'extension \"%s\"\n" -#: src/plugins/python/wee-python.c:632 +#: src/plugins/plugins.c:702 #, c-format -msgid "%s error: error while parsing file \"%s\"\n" -msgstr "Erreur %s: erreur en analysant le fichier \"%s\"\n" +msgid "%s unable to load plugin \"%s\" (not enough memory)\n" +msgstr "%s impossible de charger l'extension \"%s\" (mmoire insuffisante)\n" -#: src/plugins/python/wee-python.c:734 +#: src/plugins/plugins.c:710 #, c-format -msgid "%s error: error while freeing interpreter\n" -msgstr "Erreur %s: impossible de librer l'interprteur\n" +msgid "Plugin \"%s\" (%s) loaded.\n" +msgstr "Extension \"%s\" (%s) charge.\n" -#: src/plugins/plugins.c:97 +#: src/plugins/plugins.c:831 #, c-format -msgid "Auto-loading %s script: %s%s%s\n" -msgstr "Chargement automatique du script %s : %s%s%s\n" +msgid "Plugin \"%s\" unloaded.\n" +msgstr "Extension \"%s\" dcharge.\n" -#: src/plugins/plugins.c:223 +#: src/plugins/plugins.c:837 #, c-format -msgid "%s unable to add handler for \"%s\" message (not enough memory)\n" -msgstr "" -"%s impossible d'ajouter la fonction pour le message \"%s\" (mmoire " -"insuffisante)\n" +msgid "%s plugin \"%s\" not found\n" +msgstr "%s extension \"%s\" non trouve\n" #: src/gui/curses/gui-input.c:340 #, c-format @@ -2440,7 +2405,7 @@ msgstr "effacer la liste d'activit" msgid "grab a key" msgstr "capturer une touche" -#: src/gui/gui-keyboard.c:426 src/common/command.c:1594 +#: src/gui/gui-keyboard.c:426 src/common/command.c:1643 #, c-format msgid "%s unable to bind key \"%s\"\n" msgstr "%s impossible de crer la touche \"%s\"\n" @@ -2617,56 +2582,28 @@ msgstr "" "touches personnelles (utiliser avec prcaution !)" #: src/common/command.c:92 -msgid "list/load/unload Perl scripts" -msgstr "liste/charge/dcharge des scripts Perl" +msgid "list/load/unload plugins" +msgstr "liste/charge/dcharge des extensions" -#: src/common/command.c:93 src/common/command.c:98 src/common/command.c:103 +#: src/common/command.c:93 msgid "[load filename] | [autoload] | [reload] | [unload]" msgstr "[load fichier] | [autoload] | [reload] | [unload]" #: src/common/command.c:94 msgid "" -"filename: Perl script (file) to load\n" +"filename: WeeChat plugin (file) to load\n" "\n" -"Without argument, /perl command lists all loaded Perl scripts." +"Without argument, /plugin command lists all loaded plugins." msgstr "" -"fichier: script Perl (fichier) charger\n" +"fichier: extension WeeChat (fichier) charger\n" "\n" -"Sans paramtre, la commande /perl liste tous les scripts Perl chargs." +"Sans paramtre, la commande /plugin liste toutes les extensions charges." #: src/common/command.c:97 -msgid "list/load/unload Python scripts" -msgstr "liste/charge/dcharge des scripts Python" - -#: src/common/command.c:99 -msgid "" -"filename: Python script (file) to load\n" -"\n" -"Without argument, /python command lists all loaded Python scripts." -msgstr "" -"fichier: script Python (fichier) charger\n" -"\n" -"Sans paramtre, la commande /python liste tous les scripts Python chargs." - -#: src/common/command.c:102 -msgid "list/load/unload Ruby scripts" -msgstr "liste/charge/dcharge des scripts Ruby" - -#: src/common/command.c:104 -msgid "" -"filename: Ruby script (file) to load\n" -"\n" -"Without argument, /ruby command lists all loaded Ruby scripts." -msgstr "" -"fichier: script Ruby (fichier) charger\n" -"\n" -"Sans paramtre, la commande /ruby liste tous les scripts Ruby chargs." - -#: src/common/command.c:107 msgid "list, add or remove servers" msgstr "liste, ajoute ou retire des serveurs" -#: src/common/command.c:108 +#: src/common/command.c:98 msgid "" "[servername] | [servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-" "pwd password] [-nicks nick1 nick2 nick3] [-username username] [-realname " @@ -2678,7 +2615,7 @@ msgstr "" "nom_utilisateur] [-realname nom_rel] [-command commande] [-autojoin canal[," "canal]] ] | [del nom_serveur]" -#: src/common/command.c:113 +#: src/common/command.c:103 msgid "" "servername: server name, for internal & display use\n" "hostname: name or IP address of server\n" @@ -2704,27 +2641,27 @@ msgstr "" "nom_utilisateur: nom d'utilisateur\n" "nom_rel: nom rel de l'utilisateur" -#: src/common/command.c:125 +#: src/common/command.c:115 msgid "save config to disk" msgstr "sauvegarder la configuration sur disque" -#: src/common/command.c:126 +#: src/common/command.c:116 msgid "[file]" msgstr "[fichier]" -#: src/common/command.c:126 +#: src/common/command.c:116 msgid "file: filename for writing config" msgstr "fichier: fichier pour sauvegarder la configuration" -#: src/common/command.c:128 +#: src/common/command.c:118 msgid "set config parameters" msgstr "modifier des paramtres de configuration" -#: src/common/command.c:129 +#: src/common/command.c:119 msgid "[option [ = value]]" msgstr "[option [ = valeur]]" -#: src/common/command.c:130 +#: src/common/command.c:120 msgid "" "option: name of an option (if name is full and no value is given, then help " "is displayed on option)\n" @@ -2734,27 +2671,27 @@ msgstr "" "donne, alors l'aide sur l'option est affiche)\n" "valeur: valeur pour l'option" -#: src/common/command.c:134 +#: src/common/command.c:124 msgid "remove an alias" msgstr "supprimer un alias" -#: src/common/command.c:135 +#: src/common/command.c:125 msgid "alias_name" msgstr "nom_alias" -#: src/common/command.c:135 +#: src/common/command.c:125 msgid "alias_name: name of alias to remove" msgstr "nom_alias: nom de l'alias supprimer" -#: src/common/command.c:137 +#: src/common/command.c:127 msgid "unignore IRC messages and/or hosts" msgstr "supprimer le ignore des messages IRC et/ou des masques" -#: src/common/command.c:138 +#: src/common/command.c:128 msgid "[number | [mask [[type | command] [channel [server]]]]]" msgstr "[nombre | [masque [[type | commande] [canal [serveur]]]]]" -#: src/common/command.c:139 +#: src/common/command.c:129 msgid "" " number: # of ignore to unignore (number is displayed by list of ignore)\n" " mask: nick or host mask to unignore\n" @@ -2777,15 +2714,15 @@ msgstr "" "Pour chaque paramtre, '*' signifie tou(te)s.\n" "Sans paramtre, /ignore liste les ignore dfinis." -#: src/common/command.c:148 +#: src/common/command.c:138 msgid "manage windows" msgstr "gestion des fentres" -#: src/common/command.c:149 +#: src/common/command.c:139 msgid "[list | splith | splitv | [merge [down | up | left | right | all]]]" msgstr "[list | splith | splitv | [merge [down | up | left | right | all]]]" -#: src/common/command.c:150 +#: src/common/command.c:140 msgid "" "list: list opened windows (no parameter implies this list)\n" "splith: split current window horizontally\n" @@ -2797,29 +2734,29 @@ msgstr "" "splitv: clate la fentre en deux verticalement\n" "merge: fusionne la fentre avec une autre" -#: src/common/command.c:296 +#: src/common/command.c:286 #, c-format msgid "%s alias or command \"%s\" already exists!\n" msgstr "%s l'alias ou la commande \"%s\" existe dj !\n" -#: src/common/command.c:306 +#: src/common/command.c:296 #, c-format msgid "%s alias cannot run another alias!\n" msgstr "%s l'alias ne peut pas lancer un autre alias !\n" -#: src/common/command.c:313 +#: src/common/command.c:303 #, c-format msgid "%s target command \"%s\" does not exist!\n" msgstr "%s la commande cible \"%s\" n'existe pas !\n" -#: src/common/command.c:521 +#: src/common/command.c:532 #, c-format msgid "%s wrong argument count for %s command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s nombre de paramtres incorrect pour la commande %s \"%s\" (attendu: %d " "paramtre%s)\n" -#: src/common/command.c:533 +#: src/common/command.c:544 #, c-format msgid "" "%s wrong argument count for %s command \"%s\" (expected: between %d and %d " @@ -2828,19 +2765,19 @@ msgstr "" "%s nombre de paramtres incorrect pour la commande %s \"%s\" (attendu: entre " "%d et %d paramtre%s)\n" -#: src/common/command.c:555 src/common/command.c:625 +#: src/common/command.c:566 src/common/command.c:631 #, c-format msgid "%s command \"%s\" failed\n" msgstr "%s la commande \"%s\" a chou\n" -#: src/common/command.c:583 +#: src/common/command.c:589 #, c-format msgid "%s wrong argument count for IRC command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s nombre de paramtres incorrect pour la commande IRC \"%s\" (attendu: %d " "paramtre%s)\n" -#: src/common/command.c:595 +#: src/common/command.c:601 #, c-format msgid "" "%s wrong argument count for IRC command \"%s\" (expected: between %d and %d " @@ -2849,289 +2786,263 @@ msgstr "" "%s nombre de paramtres incorrect pour la commande IRC \"%s\" (attendu: " "entre %d et %d paramtre%s)\n" -#: src/common/command.c:610 +#: src/common/command.c:616 #, c-format msgid "%s command \"%s\" needs a server connection!\n" msgstr "%s la commande \"%s\" ncessite une connexion au serveur !\n" -#: src/common/command.c:674 +#: src/common/command.c:670 #, c-format msgid "%s unknown command \"%s\" (type /help for help)\n" msgstr "%s commande \"%s\" inconnue (tapez /help pour l'aide)\n" -#: src/common/command.c:777 +#: src/common/command.c:770 #, c-format msgid "%s unable to call handler for message (not enough memory)\n" msgstr "" "%s impossible d'appeler la fonction pour le message (mmoire insuffisante)\n" -#: src/common/command.c:785 +#: src/common/command.c:778 msgid "This window is not a channel!\n" msgstr "Cette fentre n'est pas un canal !\n" -#: src/common/command.c:813 src/common/command.c:837 src/common/command.c:947 +#: src/common/command.c:806 src/common/command.c:830 src/common/command.c:940 #, c-format msgid "%s missing arguments for \"%s\" command\n" msgstr "%s paramtres manquants pour la commande \"%s\"\n" -#: src/common/command.c:822 +#: src/common/command.c:815 #, c-format msgid "Alias \"%s\" => \"%s\" created\n" msgstr "Alias \"%s\" => \"%s\" cr\n" -#: src/common/command.c:828 +#: src/common/command.c:821 #, c-format msgid "Failed to create alias \"%s\" => \"%s\" (not enough memory)\n" msgstr "Impossible de crer l'alias \"%s\" => \"%s\" (pas assez de mmoire)\n" -#: src/common/command.c:848 +#: src/common/command.c:841 msgid "List of aliases:\n" msgstr "Liste des alias:\n" -#: src/common/command.c:860 +#: src/common/command.c:853 msgid "No alias defined.\n" msgstr "Aucun alias dfini.\n" -#: src/common/command.c:883 +#: src/common/command.c:876 msgid "Channel: " msgstr "Canal: " -#: src/common/command.c:886 src/common/command.c:896 +#: src/common/command.c:879 src/common/command.c:889 msgid " (server: " msgstr " (serveur: " -#: src/common/command.c:893 +#: src/common/command.c:886 msgid "Private with: " msgstr "Priv avec: " -#: src/common/command.c:927 +#: src/common/command.c:920 msgid "Opened buffers:\n" msgstr "Tampons ouverts:\n" -#: src/common/command.c:970 +#: src/common/command.c:963 #, c-format msgid "%s incorrect buffer number\n" msgstr "%s numro de buffer incorrect\n" -#: src/common/command.c:984 +#: src/common/command.c:977 #, c-format msgid "%s can not close the single buffer\n" msgstr "%s impossible de fermer le tampon unique\n" -#: src/common/command.c:994 +#: src/common/command.c:987 #, c-format msgid "%s can not close server buffer while channels are opened\n" msgstr "" "%s impossible de fermer le tampon du serveur tant que des canaux sont " "ouverts\n" -#: src/common/command.c:1035 +#: src/common/command.c:1028 msgid "Notify levels: " msgstr "Niveaux de notification: " -#: src/common/command.c:1063 src/common/command.c:1085 +#: src/common/command.c:1056 src/common/command.c:1078 #, c-format msgid "%s incorrect notify level (must be between %d and %d)\n" msgstr "%s niveau de notification incorrect (doit tre entre %d et %d)\n" -#: src/common/command.c:1072 +#: src/common/command.c:1065 #, c-format msgid "%s incorrect buffer for notify (must be channel or private)\n" msgstr "" "%s tampon incorrect pour la notification (doit tre un canal ou un priv)\n" -#: src/common/command.c:1152 +#: src/common/command.c:1145 #, c-format msgid "unknown parameter \"%s\" for \"%s\" command\n" msgstr "paramtre inconnu \"%s\" pour la commande \"%s\"\n" -#: src/common/command.c:1182 +#: src/common/command.c:1175 #, c-format msgid "%s already connected to server \"%s\"!\n" msgstr "%s dj connect au serveur \"%s\" !\n" -#: src/common/command.c:1190 +#: src/common/command.c:1183 #, c-format msgid "%s currently connecting to server \"%s\"!\n" msgstr "%s une connexion vers le serveur \"%s\" est en cours !\n" -#: src/common/command.c:1208 src/common/command.c:1283 +#: src/common/command.c:1201 src/common/command.c:1276 #, c-format msgid "%s server not found\n" msgstr "%s serveur non trouv\n" -#: src/common/command.c:1238 src/common/command.c:1722 -#: src/common/command.c:1865 src/common/command.c:2008 -#: src/common/command.c:2828 src/common/command.c:2844 +#: src/common/command.c:1231 src/common/command.c:1753 +#: src/common/command.c:2572 src/common/command.c:2588 #, c-format msgid "%s unknown option for \"%s\" command\n" msgstr "%s option inconnue pour la commande \"%s\"\n" -#: src/common/command.c:1267 +#: src/common/command.c:1260 #, c-format msgid "%s not connected to server \"%s\"!\n" msgstr "%s non connect au serveur \"%s\" !\n" -#: src/common/command.c:1275 +#: src/common/command.c:1268 msgid "Auto-reconnection is cancelled\n" msgstr "La reconnexion automatique est annule\n" -#: src/common/command.c:1301 src/common/weechat.c:346 +#: src/common/command.c:1299 src/common/weechat.c:349 #, c-format msgid "%s internal commands:\n" msgstr "Commandes internes %s :\n" -#: src/common/command.c:1310 src/common/weechat.c:366 +#: src/common/command.c:1308 src/common/weechat.c:369 #, c-format msgid "IRC commands:\n" msgstr "Commandes IRC :\n" -#: src/common/command.c:1377 +#: src/common/command.c:1321 +msgid "Plugin commands:\n" +msgstr "Commandes d'extension :\n" + +#: src/common/command.c:1425 #, c-format msgid "No help available, \"%s\" is an unknown command\n" msgstr "Pas d'aide disponible, la commande \"%s\" est inconnue\n" -#: src/common/command.c:1398 +#: src/common/command.c:1447 msgid " ignoring " msgstr " ignore " -#: src/common/command.c:1422 +#: src/common/command.c:1471 msgid "List of ignore:\n" msgstr "Liste des ignore:\n" -#: src/common/command.c:1437 +#: src/common/command.c:1486 msgid "No ignore defined.\n" msgstr "Aucun ignore dfini.\n" -#: src/common/command.c:1463 +#: src/common/command.c:1512 msgid "New ignore:" msgstr "Nouveau ignore:" -#: src/common/command.c:1482 +#: src/common/command.c:1531 msgid "New key binding:\n" msgstr "Nouvelle touche:\n" -#: src/common/command.c:1515 +#: src/common/command.c:1564 msgid "Key bindings:\n" msgstr "Associations de touches:\n" -#: src/common/command.c:1527 +#: src/common/command.c:1576 #, c-format msgid "Key \"%s\" unbinded\n" msgstr "Touche \"%s\" supprime\n" -#: src/common/command.c:1532 +#: src/common/command.c:1581 #, c-format msgid "%s unable to unbind key \"%s\"\n" msgstr "%s impossible de supprimer la touche \"%s\"\n" -#: src/common/command.c:1540 src/common/weechat.c:397 +#: src/common/command.c:1589 src/common/weechat.c:400 #, c-format msgid "Internal key functions:\n" msgstr "Fonctions internes pour les touches:\n" -#: src/common/command.c:1559 +#: src/common/command.c:1608 msgid "Default key bindings restored\n" msgstr "Touches par dfaut restaures\n" -#: src/common/command.c:1565 +#: src/common/command.c:1614 #, c-format msgid "%s \"-yes\" argument is required for keys reset (securuty reason)\n" msgstr "" "%s le paramtre \"-yes\" est requis pour la rinitialisation des touches " "(raison de scurit)\n" -#: src/common/command.c:1621 src/common/command.c:1764 -#: src/common/command.c:1907 -#, c-format -msgid "Registered %s scripts:\n" -msgstr "Scripts %s enregistrs :\n" +#: src/common/command.c:1670 +msgid "Plugins loaded:\n" +msgstr "Extensions charges :\n" -#: src/common/command.c:1638 src/common/command.c:1661 -#: src/common/command.c:1684 src/common/command.c:1781 -#: src/common/command.c:1804 src/common/command.c:1827 -#: src/common/command.c:1924 src/common/command.c:1947 -#: src/common/command.c:1970 -msgid " (none)\n" -msgstr " (aucun)\n" +#: src/common/command.c:1684 +msgid " message handlers:\n" +msgstr " fonctions de message :\n" -#: src/common/command.c:1643 src/common/command.c:1786 -#: src/common/command.c:1929 +#: src/common/command.c:1690 #, c-format -msgid "%s message handlers:\n" -msgstr "Fonctions %s pour messages :\n" +msgid " IRC(%s)\n" +msgstr " IRC(%s)\n" -#: src/common/command.c:1652 src/common/command.c:1795 -#: src/common/command.c:1938 -#, c-format -msgid " IRC(%s) => %s(%s)\n" -msgstr " IRC(%s) => %s(%s)\n" +#: src/common/command.c:1696 +msgid " (no message handler)\n" +msgstr " (aucunne fonction de message)\n" -#: src/common/command.c:1666 src/common/command.c:1809 -#: src/common/command.c:1952 -#, c-format -msgid "%s command handlers:\n" -msgstr "Commandes %s :\n" +#: src/common/command.c:1701 +msgid " command handlers:\n" +msgstr " commandes :\n" -#: src/common/command.c:1675 src/common/command.c:1818 -#: src/common/command.c:1961 -#, c-format -msgid " Command /%s => %s(%s)\n" -msgstr " Commande /%s => %s(%s)\n" +#: src/common/command.c:1718 +msgid " (no command handler)\n" +msgstr " (aucune commande)\n" -#: src/common/command.c:1735 -msgid "" -"WeeChat was build without Perl support.\n" -"Please rebuild WeeChat with \"--enable-perl\" option for ./configure script\n" -msgstr "" -"WeeChat a t construit sans le support Perl.\n" -"Merci de reconstruire WeeChat avec l'option \"--enable-perl\" pour le " -"script ./configure\n" - -#: src/common/command.c:1878 -msgid "" -"WeeChat was build without Python support.\n" -"Please rebuild WeeChat with \"--enable-python\" option for ./configure " -"script\n" -msgstr "" -"WeeChat a t construit sans le support Python.\n" -"Merci de reconstruire WeeChat avec l'option \"--enable-python\" pour le " -"script ./configure\n" +#: src/common/command.c:1724 +msgid " (no plugin)\n" +msgstr " (aucune extension)\n" -#: src/common/command.c:2021 +#: src/common/command.c:1766 msgid "" -"WeeChat was build without Ruby support.\n" -"Please rebuild WeeChat with \"--enable-ruby\" option for ./configure script\n" +"Command \"plugin\" is not available, WeeChat was built without plugins " +"support.\n" msgstr "" -"WeeChat a t construit sans le support Ruby.\n" -"Merci de reconstruire WeeChat avec l'option \"--enable-ruby\" pour le " -"script ./configure\n" +"La commande \"plugin\" n'est pas disponible, WeeChat a t compil sans le " +"support des extensions.\n" -#: src/common/command.c:2069 +#: src/common/command.c:1813 msgid "No server.\n" msgstr "Pas de serveur.\n" -#: src/common/command.c:2080 +#: src/common/command.c:1824 #, c-format msgid "Server '%s' not found.\n" msgstr "Serveur '%s' non trouv.\n" -#: src/common/command.c:2092 +#: src/common/command.c:1836 #, c-format msgid "%s missing servername for \"%s\" command\n" msgstr "%s il manque le nom du serveur pour la commande \"%s\"\n" -#: src/common/command.c:2100 +#: src/common/command.c:1844 #, c-format msgid "%s too much arguments for \"%s\" command, ignoring arguments\n" msgstr "%s trop de paramtres pour la commande \"%s\", paramtres ignors\n" -#: src/common/command.c:2119 +#: src/common/command.c:1863 #, c-format msgid "%s server \"%s\" not found for \"%s\" command\n" msgstr "%s le serveur \"%s\" n'existe pas pour la commande \"%s\"\n" -#: src/common/command.c:2127 +#: src/common/command.c:1871 #, c-format msgid "" "%s you can not delete server \"%s\" because you are connected to. Try /" @@ -3140,172 +3051,172 @@ msgstr "" "%s vous ne pouvez pas supprimer le server \"%s\" car vous tes connect " "dessus. Essayez /disconnect %s avant.\n" -#: src/common/command.c:2143 src/common/command.c:2289 +#: src/common/command.c:1887 src/common/command.c:2033 msgid "Server" msgstr "Serveur" -#: src/common/command.c:2146 +#: src/common/command.c:1890 msgid "has been deleted\n" msgstr "a t supprim\n" -#: src/common/command.c:2161 +#: src/common/command.c:1905 #, c-format msgid "%s missing parameters for \"%s\" command\n" msgstr "%s paramtres manquants pour la commande \"%s\"\n" -#: src/common/command.c:2171 +#: src/common/command.c:1915 #, c-format msgid "%s server \"%s\" already exists, can't create it!\n" msgstr "%s le serveur \"%s\" existe dj, impossible de le crer !\n" -#: src/common/command.c:2200 src/common/command.c:2228 -#: src/common/command.c:2241 src/common/command.c:2267 +#: src/common/command.c:1944 src/common/command.c:1972 +#: src/common/command.c:1985 src/common/command.c:2011 #, c-format msgid "%s missing password for \"%s\" parameter\n" msgstr "%s mot de passe manquant pour le paramtre \"%s\"\n" -#: src/common/command.c:2213 +#: src/common/command.c:1957 #, c-format msgid "%s missing nick(s) for \"%s\" parameter\n" msgstr "%s pseudo(s) manquant(s) pour le paramtre \"%s\"\n" -#: src/common/command.c:2254 +#: src/common/command.c:1998 #, c-format msgid "%s missing command for \"%s\" parameter\n" msgstr "%s commande manquante pour le paramtre \"%s\"\n" -#: src/common/command.c:2292 +#: src/common/command.c:2036 msgid "created\n" msgstr "cr\n" -#: src/common/command.c:2298 +#: src/common/command.c:2042 #, c-format msgid "%s unable to create server\n" msgstr "%s impossible de crer le serveur\n" -#: src/common/command.c:2353 +#: src/common/command.c:2097 msgid "(unknown)" msgstr "(inconnu)" -#: src/common/command.c:2376 +#: src/common/command.c:2120 msgid "(password hidden) " msgstr "(mot de passe cach) " -#: src/common/command.c:2440 +#: src/common/command.c:2184 #, c-format msgid "%s server \"%s\" not found\n" msgstr "%s serveur \"%s\" non trouv\n" -#: src/common/command.c:2471 src/common/command.c:2517 +#: src/common/command.c:2215 src/common/command.c:2261 #, c-format msgid "%s config option \"%s\" not found\n" msgstr "%s option de configuration \"%s\" non trouve\n" -#: src/common/command.c:2476 src/common/command.c:2509 +#: src/common/command.c:2220 src/common/command.c:2253 #, c-format msgid "%s incorrect value for option \"%s\"\n" msgstr "%s valeur incorrecte pour l'option \"%s\"\n" -#: src/common/command.c:2492 +#: src/common/command.c:2236 #, c-format msgid "%s option \"%s\" can not be changed while WeeChat is running\n" msgstr "%s l'option \"%s\" ne peut pas tre change lorsque WeeChat tourne\n" -#: src/common/command.c:2597 +#: src/common/command.c:2341 #, c-format msgid "No config option found with \"%s\"\n" msgstr "Aucune option de configuration trouve avec \"%s\"\n" -#: src/common/command.c:2600 +#: src/common/command.c:2344 msgid "No config option found\n" msgstr "Aucune option de configuration trouve\n" -#: src/common/command.c:2607 +#: src/common/command.c:2351 msgid "Detail:\n" msgstr "Dtail :\n" -#: src/common/command.c:2611 src/common/weechat.c:283 +#: src/common/command.c:2355 src/common/weechat.c:286 #, c-format msgid " . type boolean (values: 'on' or 'off')\n" msgstr " . type boolen (valeurs: 'on' ou 'off')\n" -#: src/common/command.c:2612 src/common/command.c:2635 -#: src/common/command.c:2641 src/common/command.c:2647 -#: src/common/weechat.c:284 src/common/weechat.c:307 src/common/weechat.c:313 -#: src/common/weechat.c:319 +#: src/common/command.c:2356 src/common/command.c:2379 +#: src/common/command.c:2385 src/common/command.c:2391 +#: src/common/weechat.c:287 src/common/weechat.c:310 src/common/weechat.c:316 +#: src/common/weechat.c:322 #, c-format msgid " . default value: '%s'\n" msgstr " . valeur par dfaut: '%s'\n" -#: src/common/command.c:2617 src/common/weechat.c:289 +#: src/common/command.c:2361 src/common/weechat.c:292 #, c-format msgid " . type integer (values: between %d and %d)\n" msgstr " . type entier (valeurs: entre %d et %d)\n" -#: src/common/command.c:2620 src/common/weechat.c:292 +#: src/common/command.c:2364 src/common/weechat.c:295 #, c-format msgid " . default value: %d\n" msgstr " . valeur par dfaut: %d\n" -#: src/common/command.c:2624 src/common/weechat.c:296 +#: src/common/command.c:2368 src/common/weechat.c:299 #, c-format msgid " . type string (values: " msgstr " . type chane (valeurs: " -#: src/common/command.c:2637 src/common/command.c:2643 -#: src/common/command.c:2649 src/common/weechat.c:309 src/common/weechat.c:315 -#: src/common/weechat.c:321 +#: src/common/command.c:2381 src/common/command.c:2387 +#: src/common/command.c:2393 src/common/weechat.c:312 src/common/weechat.c:318 +#: src/common/weechat.c:324 msgid "empty" msgstr "vide" -#: src/common/command.c:2640 src/common/weechat.c:312 +#: src/common/command.c:2384 src/common/weechat.c:315 #, c-format msgid " . type color (Curses or Gtk color, look at WeeChat doc)\n" msgstr " . type couleur (couleur Curses ou Gtk, voir la doc WeeChat)\n" -#: src/common/command.c:2646 src/common/weechat.c:318 +#: src/common/command.c:2390 src/common/weechat.c:321 #, c-format msgid " . type string (any string)\n" msgstr " . type chane (toute chane)\n" -#: src/common/command.c:2652 src/common/weechat.c:324 +#: src/common/command.c:2396 src/common/weechat.c:327 #, c-format msgid " . description: %s\n" msgstr " . description: %s\n" -#: src/common/command.c:2659 +#: src/common/command.c:2403 #, c-format msgid "config option(s) found with \"%s\"\n" msgstr "option(s) de configuration trouve(s) avec \"%s\"\n" -#: src/common/command.c:2662 +#: src/common/command.c:2406 msgid "config option(s) found\n" msgstr "option(s) de configuration trouve(s)\n" -#: src/common/command.c:2683 +#: src/common/command.c:2427 #, c-format msgid "%s alias or command \"%s\" not found\n" msgstr "%s alias ou commande \"%s\" non trouv\n" -#: src/common/command.c:2693 +#: src/common/command.c:2437 #, c-format msgid "Alias \"%s\" removed\n" msgstr "Alias \"%s\" supprim\n" -#: src/common/command.c:2746 +#: src/common/command.c:2490 msgid "ignore were removed.\n" msgstr "ignore ont t supprims.\n" -#: src/common/command.c:2748 +#: src/common/command.c:2492 msgid "ignore was removed.\n" msgstr "ignore a t supprim.\n" -#: src/common/command.c:2753 +#: src/common/command.c:2497 #, c-format msgid "%s no ignore found\n" msgstr "%s aucun ignore trouv\n" -#: src/common/command.c:2776 +#: src/common/command.c:2520 msgid "Opened windows:\n" msgstr "Fentres ouvertes:\n" @@ -3368,7 +3279,7 @@ msgstr "**** Dbut du log " msgid "**** End of log " msgstr "**** Fin du log " -#: src/common/weechat.c:270 +#: src/common/weechat.c:273 #, c-format msgid "" "WeeChat configuration options (~/.weechat/weechat.rc):\n" @@ -3377,7 +3288,7 @@ msgstr "" "Options de configuration de WeeChat (~/.weechat/weechat.rc):\n" "\n" -#: src/common/weechat.c:331 +#: src/common/weechat.c:334 #, c-format msgid "" "Moreover, you can define aliases in [alias] section, by adding lines like:\n" @@ -3385,7 +3296,7 @@ msgstr "" "De plus, vous pouvez dfinir des alias dans la section [alias], en ajoutant " "des lignes comme :\n" -#: src/common/weechat.c:333 +#: src/common/weechat.c:336 #, c-format msgid "" "where 'j' is alias name, and 'join' associated command.\n" @@ -3394,62 +3305,62 @@ msgstr "" "o 'j' est le nom de l'alias, et 'join' la commande associe.\n" "\n" -#: src/common/weechat.c:418 +#: src/common/weechat.c:421 #, c-format msgid "%s default keys:\n" msgstr "Touches par dfaut %s:\n" -#: src/common/weechat.c:498 +#: src/common/weechat.c:501 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s syntaxe invalide pour le serveur IRC ('%s'), ignor\n" -#: src/common/weechat.c:511 +#: src/common/weechat.c:514 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s impossible de crer le serveur ('%s'), ignor\n" -#: src/common/weechat.c:520 +#: src/common/weechat.c:523 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s paramtre inconnu '%s', ignor\n" -#: src/common/weechat.c:540 +#: src/common/weechat.c:543 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s impossible de crer le rpertoire \"%s\"\n" -#: src/common/weechat.c:566 +#: src/common/weechat.c:569 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s impossible de lire le rpertoire personnel\n" -#: src/common/weechat.c:575 +#: src/common/weechat.c:578 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s pas assez de mmoire pour le rpertoire personnel\n" -#: src/common/weechat.c:585 +#: src/common/weechat.c:588 #, c-format msgid "%s unable to create ~/.weechat directory\n" msgstr "%s impossible de crer le rpertoire ~/.weechat\n" -#: src/common/weechat.c:637 +#: src/common/weechat.c:601 #, c-format msgid "%s unable to create ~/.weechat/logs directory\n" msgstr "%s impossible de crer le rpertoire ~/.weechat/logs\n" -#: src/common/weechat.c:680 +#: src/common/weechat.c:644 #, c-format msgid "%s unable to create/append to log file (~/.weechat/%s)" msgstr "%s impossible de crer/ajouter dans le fichier de log (~/.weechat/%s)" -#: src/common/weechat.c:703 +#: src/common/weechat.c:667 #, c-format msgid "%sWelcome to " msgstr "%sBienvenue dans " -#: src/common/weechat.c:716 src/common/weechat.c:725 +#: src/common/weechat.c:680 src/common/weechat.c:689 msgid "compiled on" msgstr "compil le" @@ -3461,33 +3372,33 @@ msgstr "Erreur WeeChat:" msgid "WeeChat Warning:" msgstr "Avertissement WeeChat:" -#: src/common/weeconfig.c:95 src/common/weeconfig.c:96 +#: src/common/weeconfig.c:96 src/common/weeconfig.c:97 msgid "set title for window (terminal for Curses GUI) with name & version" msgstr "" "dfinit le titre de la fentre (terminal pour l'interface Curses) avec le " "nom et la version" -#: src/common/weeconfig.c:99 src/common/weeconfig.c:100 +#: src/common/weeconfig.c:100 src/common/weeconfig.c:101 msgid "display WeeChat logo at startup" msgstr "afficher le logo WeeChat au dmarrage" -#: src/common/weeconfig.c:103 src/common/weeconfig.c:104 +#: src/common/weeconfig.c:104 src/common/weeconfig.c:105 msgid "display WeeChat version at startup" msgstr "afficher la version de WeeChat au dmarrage" -#: src/common/weeconfig.c:107 +#: src/common/weeconfig.c:108 msgid "WeeChat slogan" msgstr "slogan WeeChat" -#: src/common/weeconfig.c:108 +#: src/common/weeconfig.c:109 msgid "WeeChat slogan (if empty, slogan is not used)" msgstr "slogan WeeChat (si vide, le slogan ne sera pas utilis)" -#: src/common/weeconfig.c:111 +#: src/common/weeconfig.c:112 msgid "charset for decoding messages from server" msgstr "jeu de caractres pour dcoder les messages du serveur" -#: src/common/weeconfig.c:112 +#: src/common/weeconfig.c:113 msgid "" "charset for decoding messages from server, examples: UTF-8, ISO-8859-1 (if " "empty, messages are not converted)" @@ -3495,11 +3406,11 @@ msgstr "" "jeu de caractres pour dcoder les messages du serveur, exemples: UTF-8, ISO-" "8859-1 (si non renseign, les messages ne sont pas convertis)" -#: src/common/weeconfig.c:115 +#: src/common/weeconfig.c:116 msgid "charset for encoding messages sent to server" msgstr "jeu de caractres pour encoder les messages envoys au serveur" -#: src/common/weeconfig.c:116 +#: src/common/weeconfig.c:117 msgid "" "charset for encoding messages sent to server, examples: UFT-8, ISO-8859-1 " "(if empty, local charset is used)" @@ -3507,11 +3418,11 @@ msgstr "" "jeu de caractres pour encoder les messages envoys au serveur, exemples: " "UFT-8, ISO-8859-1 (si non renseign, le jeu de caractres local est utilis)" -#: src/common/weeconfig.c:119 +#: src/common/weeconfig.c:120 msgid "internal WeeChat charset (should be ISO)" msgstr "jeu de caractres interne WeeChat (devrait tre ISO)" -#: src/common/weeconfig.c:120 +#: src/common/weeconfig.c:121 msgid "" "internal WeeChat charset, should be ISO-xxxx even if locale is UTF-8 (if " "empty, local charset is used)" @@ -3519,49 +3430,49 @@ msgstr "" "jeu de caractres interne WeeChat, devrait tre ISO-xxxx mme si la locale " "est UTF-8 (si non renseign, le jeu de caractres local est utilis)" -#: src/common/weeconfig.c:123 src/common/weeconfig.c:124 +#: src/common/weeconfig.c:124 src/common/weeconfig.c:125 msgid "timestamp for buffers" msgstr "horodatage pour les tampons" -#: src/common/weeconfig.c:127 src/common/weeconfig.c:128 +#: src/common/weeconfig.c:128 src/common/weeconfig.c:129 msgid "display nick names with different colors" msgstr "afficher les utilisateurs avec diffrentes couleurs" -#: src/common/weeconfig.c:131 src/common/weeconfig.c:132 +#: src/common/weeconfig.c:132 src/common/weeconfig.c:133 msgid "number of colors to use for nicks colors" msgstr "nombre de couleurs utiliser pour les couleurs des pseudos" -#: src/common/weeconfig.c:135 src/common/weeconfig.c:136 +#: src/common/weeconfig.c:136 src/common/weeconfig.c:137 msgid "display actions with different colors" msgstr "afficher les actions avec diffrentes couleurs" -#: src/common/weeconfig.c:139 src/common/weeconfig.c:140 +#: src/common/weeconfig.c:140 src/common/weeconfig.c:141 msgid "remove colors from incoming messages" msgstr "supprimer les couleurs dans les messages entrants" -#: src/common/weeconfig.c:143 +#: src/common/weeconfig.c:144 msgid "display nicklist window" msgstr "afficher la fentre des utilisateurs" -#: src/common/weeconfig.c:144 +#: src/common/weeconfig.c:145 msgid "display nicklist window (for channel windows)" msgstr "afficher la fentre des utilisateurs (pour les fentres de canaux)" -#: src/common/weeconfig.c:147 +#: src/common/weeconfig.c:148 msgid "nicklist position" msgstr "position de la fentre d'utilisateurs" -#: src/common/weeconfig.c:148 +#: src/common/weeconfig.c:149 msgid "nicklist position (top, left, right (default), bottom)" msgstr "" "position de la fentre d'utilisateurs (haut (top), gauche (left), droite " "(right, par dfaut), bas (bottom))" -#: src/common/weeconfig.c:151 +#: src/common/weeconfig.c:152 msgid "min size for nicklist" msgstr "taille minimum pour la fentre d'utilisateurs" -#: src/common/weeconfig.c:152 +#: src/common/weeconfig.c:153 msgid "" "min size for nicklist (width or height, depending on look_nicklist_position " "(0 = no min size))" @@ -3569,11 +3480,11 @@ msgstr "" "taille minimum pour la fentre d'utilisateurs (largeur ou hauteur, selon " "look_nicklist_position (0 = pas de taille minimum))" -#: src/common/weeconfig.c:156 +#: src/common/weeconfig.c:157 msgid "max size for nicklist" msgstr "taille maximum pour la fentre d'utilisateurs" -#: src/common/weeconfig.c:157 +#: src/common/weeconfig.c:158 msgid "" "max size for nicklist (width or height, depending on look_nicklist_position " "(0 = no max size; if min == max and > 0, then size is fixed))" @@ -3582,43 +3493,43 @@ msgstr "" "look_nicklist_position (0 = pas de taille maximum; si min == max et > 0, " "alors la taille est fixe))" -#: src/common/weeconfig.c:161 src/common/weeconfig.c:162 +#: src/common/weeconfig.c:162 src/common/weeconfig.c:163 msgid "text to display instead of nick when not connected" msgstr "" "texte afficher en lieu et place du nom d'utilisateur lorsque la connexion " "n'est pas active" -#: src/common/weeconfig.c:165 src/common/weeconfig.c:166 +#: src/common/weeconfig.c:166 src/common/weeconfig.c:167 msgid "display nick mode ((half)op/voice) before each nick" msgstr "" "afficher le mode de l'utilisateur ((half)op/voice) devant chaque utilisateur" -#: src/common/weeconfig.c:169 src/common/weeconfig.c:170 +#: src/common/weeconfig.c:170 src/common/weeconfig.c:171 msgid "display space if nick mode is not (half)op/voice" msgstr "afficher un espace si le mode utilisateur n'est pas (half)op/voice" -#: src/common/weeconfig.c:173 src/common/weeconfig.c:174 +#: src/common/weeconfig.c:174 src/common/weeconfig.c:175 msgid "the string inserted after nick completion" msgstr "la chane affiche aprs la compltion des utilisateurs" -#: src/common/weeconfig.c:177 src/common/weeconfig.c:178 +#: src/common/weeconfig.c:178 src/common/weeconfig.c:179 msgid "enable info bar" msgstr "active la barre d'infos" -#: src/common/weeconfig.c:181 src/common/weeconfig.c:182 +#: src/common/weeconfig.c:182 src/common/weeconfig.c:183 msgid "timestamp for time in infobar" msgstr "horodatage pour les conversations sauvegardes" -#: src/common/weeconfig.c:185 src/common/weeconfig.c:186 +#: src/common/weeconfig.c:186 src/common/weeconfig.c:187 msgid "display seconds in infobar time" msgstr "afficher les secondes pour l'heure dans la barre d'infos" -#: src/common/weeconfig.c:189 +#: src/common/weeconfig.c:190 msgid "delay (in seconds) for highlight messages in infobar" msgstr "" "dlai (en seconds) pour la notification des messages dans la barre d'infos" -#: src/common/weeconfig.c:190 +#: src/common/weeconfig.c:191 msgid "" "delay (in seconds) for highlight messages in infobar (0 = disable highlight " "notifications in infobar)" @@ -3626,22 +3537,22 @@ msgstr "" "dlai (en secondes) pour la notification des messages dans la barre d'infos " "(0 = dsactiver les notifications dans la barre d'infos)" -#: src/common/weeconfig.c:194 +#: src/common/weeconfig.c:195 msgid "max number of names in hotlist" msgstr "nombre maximum de noms dans la hotlist" -#: src/common/weeconfig.c:195 +#: src/common/weeconfig.c:196 msgid "" "max number of names in hotlist (0 = no name displayed, only buffer numbers)" msgstr "" "nombre maximum de noms dans la hotlist (0 = pas de nom affich, seulement " "les numros de tampons)" -#: src/common/weeconfig.c:198 +#: src/common/weeconfig.c:199 msgid "level for displaying names in hotlist" msgstr "niveau pour l'affichage des noms dans la hotlist" -#: src/common/weeconfig.c:199 +#: src/common/weeconfig.c:200 msgid "" "level for displaying names in hotlist (combination of: 1=join/part, " "2=message, 4=private, 8=highlight, for example: 12=private+highlight)" @@ -3649,309 +3560,309 @@ msgstr "" "niveau pour l'affichage des noms dans la hotlist (combinaison de: 1=join/" "part, 2=message, 4=priv, 8=highlight, par exemple: 12=priv+highlight)" -#: src/common/weeconfig.c:203 +#: src/common/weeconfig.c:204 msgid "max length of names in hotlist" msgstr "longueur maximum des noms dans la hotlist" -#: src/common/weeconfig.c:204 +#: src/common/weeconfig.c:205 msgid "max length of names in hotlist (0 = no limit)" msgstr "nombre maximum des noms dans la hotlist (0 = pas de limite)" -#: src/common/weeconfig.c:268 src/common/weeconfig.c:269 +#: src/common/weeconfig.c:269 src/common/weeconfig.c:270 msgid "color for title bar" msgstr "couleur pour la barre de titre" -#: src/common/weeconfig.c:272 src/common/weeconfig.c:273 +#: src/common/weeconfig.c:273 src/common/weeconfig.c:274 msgid "background for title bar" msgstr "couleur de fond pour la barre de titre" -#: src/common/weeconfig.c:278 src/common/weeconfig.c:279 +#: src/common/weeconfig.c:279 src/common/weeconfig.c:280 msgid "color for chat text" msgstr "couleur pour le texte de discussion" -#: src/common/weeconfig.c:282 +#: src/common/weeconfig.c:283 msgid "color for time" msgstr "couleur pour l'heure" -#: src/common/weeconfig.c:283 +#: src/common/weeconfig.c:284 msgid "color for time in chat window" msgstr "couleur pour l'heure dans la fentre de discussion" -#: src/common/weeconfig.c:286 +#: src/common/weeconfig.c:287 msgid "color for time separator" msgstr "couleur pour le sparateur de l'heure" -#: src/common/weeconfig.c:287 +#: src/common/weeconfig.c:288 msgid "color for time separator (chat window)" msgstr "couleur pour la sparation de l'heure (fentre de discussion)" -#: src/common/weeconfig.c:290 src/common/weeconfig.c:291 +#: src/common/weeconfig.c:291 src/common/weeconfig.c:292 msgid "color for 1st and 3rd char of prefix" msgstr "couleur pour le 1er et le 3me caractre du prfixe" -#: src/common/weeconfig.c:294 src/common/weeconfig.c:295 +#: src/common/weeconfig.c:295 src/common/weeconfig.c:296 msgid "color for middle char of prefix" msgstr "couleur pour le caractre du milieu du prfixe" -#: src/common/weeconfig.c:298 src/common/weeconfig.c:299 +#: src/common/weeconfig.c:299 src/common/weeconfig.c:300 msgid "color for join arrow (prefix)" msgstr "couleur pour la flche du join (prfixe)" -#: src/common/weeconfig.c:302 src/common/weeconfig.c:303 +#: src/common/weeconfig.c:303 src/common/weeconfig.c:304 msgid "color for part/quit arrow (prefix)" msgstr "couleur pour la flche du part/quit (prfixe)" -#: src/common/weeconfig.c:306 +#: src/common/weeconfig.c:307 msgid "color for nicks in actions" msgstr "couleur pour les noms d'utilisateur dans les actions" -#: src/common/weeconfig.c:307 +#: src/common/weeconfig.c:308 msgid "color for nicks in actions (chat window)" msgstr "" "couleur pour les noms d'utilisateurs dans les actions (fentre de discussion)" -#: src/common/weeconfig.c:310 +#: src/common/weeconfig.c:311 msgid "color for hostnames" msgstr "couleur pour les noms de machines" -#: src/common/weeconfig.c:311 +#: src/common/weeconfig.c:312 msgid "color for hostnames (chat window)" msgstr "couleur pour les noms de machines (fentre de discussion)" -#: src/common/weeconfig.c:314 +#: src/common/weeconfig.c:315 msgid "color for channel names in actions" msgstr "couleur pour les canaux dans les actions" -#: src/common/weeconfig.c:315 +#: src/common/weeconfig.c:316 msgid "color for channel names in actions (chat window)" msgstr "couleur pour les canaux dans les actions (fentre de discussion)" -#: src/common/weeconfig.c:318 +#: src/common/weeconfig.c:319 msgid "color for dark separators" msgstr "couleur pour les sparateurs sombres" -#: src/common/weeconfig.c:319 +#: src/common/weeconfig.c:320 msgid "color for dark separators (chat window)" msgstr "couleur pour les sparateurs sombres (fentre de discussion)" -#: src/common/weeconfig.c:322 +#: src/common/weeconfig.c:323 msgid "color for highlighted nick" msgstr "couleur pour le pseudo surlign" -#: src/common/weeconfig.c:323 +#: src/common/weeconfig.c:324 msgid "color for highlighted nick (chat window)" msgstr "couleur pour le pseudo surlign (fentre de discussion)" -#: src/common/weeconfig.c:326 +#: src/common/weeconfig.c:327 msgid "background for chat" msgstr "couleur de fond pour la discussion" -#: src/common/weeconfig.c:327 +#: src/common/weeconfig.c:328 msgid "background for chat window" msgstr "couleur de fond pour la fentre de discussion" -#: src/common/weeconfig.c:332 src/common/weeconfig.c:333 +#: src/common/weeconfig.c:333 src/common/weeconfig.c:334 msgid "color for status bar" msgstr "couleur pour la barre de statut" -#: src/common/weeconfig.c:336 src/common/weeconfig.c:337 +#: src/common/weeconfig.c:337 src/common/weeconfig.c:338 msgid "color for status bar delimiters" msgstr "couleur pour les dlimiteurs de la barre de statut" -#: src/common/weeconfig.c:340 src/common/weeconfig.c:341 +#: src/common/weeconfig.c:341 src/common/weeconfig.c:342 msgid "color for current channel in status bar" msgstr "couleur pour le canal courant dans la barre de statut" -#: src/common/weeconfig.c:344 +#: src/common/weeconfig.c:345 msgid "color for window with new messages" msgstr "couleur pour une fentre avec de nouvelles infos" -#: src/common/weeconfig.c:345 +#: src/common/weeconfig.c:346 msgid "color for window with new messages (status bar)" msgstr "couleur pour une fentre avec de nouvelles infos (barre de statut)" -#: src/common/weeconfig.c:348 +#: src/common/weeconfig.c:349 msgid "color for window with private message" msgstr "couleur pour une fentre avec un message priv" -#: src/common/weeconfig.c:349 +#: src/common/weeconfig.c:350 msgid "color for window with private message (status bar)" msgstr "couleur pour une fentre avec un message priv (barre de statut)" -#: src/common/weeconfig.c:352 +#: src/common/weeconfig.c:353 msgid "color for window with highlight" msgstr "couleur pour une fentre avec un highlight" -#: src/common/weeconfig.c:353 +#: src/common/weeconfig.c:354 msgid "color for window with highlight (status bar)" msgstr "couleur pour une fentre avec un highlight (barre de statut)" -#: src/common/weeconfig.c:356 +#: src/common/weeconfig.c:357 msgid "color for window with new data (not messages)" msgstr "couleur pour une fentre avec des nouvelles donnes (pas des infos)" -#: src/common/weeconfig.c:357 +#: src/common/weeconfig.c:358 msgid "color for window with new data (not messages) (status bar)" msgstr "" "couleur pour une fentre avec des nouvelles donnes (pas des infos) (barre " "de statut)" -#: src/common/weeconfig.c:360 +#: src/common/weeconfig.c:361 msgid "color for \"-MORE-\" text" msgstr "couleur pour le texte \"-PLUS-\"" -#: src/common/weeconfig.c:361 +#: src/common/weeconfig.c:362 msgid "color for window with new data (status bar)" msgstr "couleur pour une fentre avec des nouvelles donnes (barre de statut)" -#: src/common/weeconfig.c:364 src/common/weeconfig.c:365 +#: src/common/weeconfig.c:365 src/common/weeconfig.c:366 msgid "background for status window" msgstr "couleur de fond pour la fentre de statut" -#: src/common/weeconfig.c:370 src/common/weeconfig.c:371 +#: src/common/weeconfig.c:371 src/common/weeconfig.c:372 msgid "color for info bar text" msgstr "couleur pour la barre d'infos" -#: src/common/weeconfig.c:374 src/common/weeconfig.c:375 +#: src/common/weeconfig.c:375 src/common/weeconfig.c:376 msgid "color for infobar delimiters" msgstr "couleur pour les dlimiteurs de la barre d'infos" -#: src/common/weeconfig.c:378 src/common/weeconfig.c:379 +#: src/common/weeconfig.c:379 src/common/weeconfig.c:380 msgid "color for info bar highlight notification" msgstr "couleur pour la notification dans la barre d'infos" -#: src/common/weeconfig.c:382 src/common/weeconfig.c:383 +#: src/common/weeconfig.c:383 src/common/weeconfig.c:384 msgid "background for info bar window" msgstr "couleur de fond pour la fentre de barre d'infos" -#: src/common/weeconfig.c:388 src/common/weeconfig.c:389 +#: src/common/weeconfig.c:389 src/common/weeconfig.c:390 msgid "color for input text" msgstr "couleur pour le texte saisi" -#: src/common/weeconfig.c:392 src/common/weeconfig.c:393 +#: src/common/weeconfig.c:393 src/common/weeconfig.c:394 msgid "color for input text (channel name)" msgstr "couleur pour le texte saisi (nom du canal)" -#: src/common/weeconfig.c:396 src/common/weeconfig.c:397 +#: src/common/weeconfig.c:397 src/common/weeconfig.c:398 msgid "color for input text (nick name)" msgstr "couleur pour le texte saisi (pseudo)" -#: src/common/weeconfig.c:400 src/common/weeconfig.c:401 +#: src/common/weeconfig.c:401 src/common/weeconfig.c:402 msgid "color for input text (delimiters)" msgstr "couleur pour le texte saisi (dlimiteurs)" -#: src/common/weeconfig.c:404 src/common/weeconfig.c:405 +#: src/common/weeconfig.c:405 src/common/weeconfig.c:406 msgid "background for input window" msgstr "couleur de fond pour la fentre de saisie" -#: src/common/weeconfig.c:410 src/common/weeconfig.c:411 +#: src/common/weeconfig.c:411 src/common/weeconfig.c:412 msgid "color for nicknames" msgstr "couleur pour les pseudos" -#: src/common/weeconfig.c:414 src/common/weeconfig.c:415 +#: src/common/weeconfig.c:415 src/common/weeconfig.c:416 msgid "color for away nicknames" msgstr "couleur pour les pseudos absents" -#: src/common/weeconfig.c:418 +#: src/common/weeconfig.c:419 msgid "color for chan owner symbol" msgstr "couleur pour le symbole du propritaire du canal" -#: src/common/weeconfig.c:419 +#: src/common/weeconfig.c:420 msgid "color for chan owner symbol (specific to unrealircd)" msgstr "" "couleur pour le symbole du propritaire du canal (spcifique unrealircd)" -#: src/common/weeconfig.c:422 +#: src/common/weeconfig.c:423 msgid "color for chan admin symbol" msgstr "couleur pour le symbole administrateur du canal" -#: src/common/weeconfig.c:423 +#: src/common/weeconfig.c:424 msgid "color for chan admin symbol (specific to unrealircd)" msgstr "" "couleur pour le symbole administrateur du canal (spcifique unrealircd)" -#: src/common/weeconfig.c:426 src/common/weeconfig.c:427 +#: src/common/weeconfig.c:427 src/common/weeconfig.c:428 msgid "color for operator symbol" msgstr "couleur pour le symbole oprateur" -#: src/common/weeconfig.c:430 src/common/weeconfig.c:431 +#: src/common/weeconfig.c:431 src/common/weeconfig.c:432 msgid "color for half-operator symbol" msgstr "couleur pour le symbole demi-oprateur" -#: src/common/weeconfig.c:434 src/common/weeconfig.c:435 +#: src/common/weeconfig.c:435 src/common/weeconfig.c:436 msgid "color for voice symbol" msgstr "couleur pour le symbole voix" -#: src/common/weeconfig.c:438 src/common/weeconfig.c:439 +#: src/common/weeconfig.c:439 src/common/weeconfig.c:440 msgid "color for '+' when scrolling nicks" msgstr "couleur pour les '+' lors du scroll sur les pseudos" -#: src/common/weeconfig.c:442 src/common/weeconfig.c:443 +#: src/common/weeconfig.c:443 src/common/weeconfig.c:444 msgid "color for nick separator" msgstr "couleur pour le sparateur de pseudo" -#: src/common/weeconfig.c:446 src/common/weeconfig.c:447 +#: src/common/weeconfig.c:447 src/common/weeconfig.c:448 msgid "color for local nick" msgstr "couleur pour le pseudo local" -#: src/common/weeconfig.c:450 src/common/weeconfig.c:451 -#: src/common/weeconfig.c:454 src/common/weeconfig.c:455 -#: src/common/weeconfig.c:458 src/common/weeconfig.c:459 -#: src/common/weeconfig.c:462 src/common/weeconfig.c:463 -#: src/common/weeconfig.c:466 src/common/weeconfig.c:467 -#: src/common/weeconfig.c:470 src/common/weeconfig.c:471 -#: src/common/weeconfig.c:474 src/common/weeconfig.c:475 -#: src/common/weeconfig.c:478 src/common/weeconfig.c:479 -#: src/common/weeconfig.c:482 src/common/weeconfig.c:483 -#: src/common/weeconfig.c:486 src/common/weeconfig.c:487 +#: src/common/weeconfig.c:451 src/common/weeconfig.c:452 +#: src/common/weeconfig.c:455 src/common/weeconfig.c:456 +#: src/common/weeconfig.c:459 src/common/weeconfig.c:460 +#: src/common/weeconfig.c:463 src/common/weeconfig.c:464 +#: src/common/weeconfig.c:467 src/common/weeconfig.c:468 +#: src/common/weeconfig.c:471 src/common/weeconfig.c:472 +#: src/common/weeconfig.c:475 src/common/weeconfig.c:476 +#: src/common/weeconfig.c:479 src/common/weeconfig.c:480 +#: src/common/weeconfig.c:483 src/common/weeconfig.c:484 +#: src/common/weeconfig.c:487 src/common/weeconfig.c:488 msgid "color for nick" msgstr "couleur pour le pseudo" -#: src/common/weeconfig.c:490 src/common/weeconfig.c:491 +#: src/common/weeconfig.c:491 src/common/weeconfig.c:492 msgid "color for other nick in private window" msgstr "couleur pour l'autre pseudo dans la fentre prive" -#: src/common/weeconfig.c:494 src/common/weeconfig.c:495 +#: src/common/weeconfig.c:495 src/common/weeconfig.c:496 msgid "background for nicknames" msgstr "couleur de fond pour les pseudos" -#: src/common/weeconfig.c:500 +#: src/common/weeconfig.c:501 msgid "color for selected DCC" msgstr "couleur pour le DCC slectionn" -#: src/common/weeconfig.c:501 +#: src/common/weeconfig.c:502 msgid "color for selected DCC (chat window)" msgstr "couleur pour le DCC slectionn (fentre de discussion)" -#: src/common/weeconfig.c:504 src/common/weeconfig.c:505 +#: src/common/weeconfig.c:505 src/common/weeconfig.c:506 msgid "color for \"waiting\" dcc status" msgstr "couleur pour le statut dcc \"attente\"" -#: src/common/weeconfig.c:508 src/common/weeconfig.c:509 +#: src/common/weeconfig.c:509 src/common/weeconfig.c:510 msgid "color for \"connecting\" dcc status" msgstr "couleur pour le statut dcc \"connexion\"" -#: src/common/weeconfig.c:512 src/common/weeconfig.c:513 +#: src/common/weeconfig.c:513 src/common/weeconfig.c:514 msgid "color for \"active\" dcc status" msgstr "couleur pour le statut dcc \"actif\"" -#: src/common/weeconfig.c:516 src/common/weeconfig.c:517 +#: src/common/weeconfig.c:517 src/common/weeconfig.c:518 msgid "color for \"done\" dcc status" msgstr "couleur pour le statut dcc \"termin\"" -#: src/common/weeconfig.c:520 src/common/weeconfig.c:521 +#: src/common/weeconfig.c:521 src/common/weeconfig.c:522 msgid "color for \"failed\" dcc status" msgstr "couleur pour le statut dcc \"chou\"" -#: src/common/weeconfig.c:524 src/common/weeconfig.c:525 +#: src/common/weeconfig.c:525 src/common/weeconfig.c:526 msgid "color for \"aborted\" dcc status" msgstr "couleur pour le statut dcc \"interrompu\"" -#: src/common/weeconfig.c:538 +#: src/common/weeconfig.c:539 msgid "max lines in history (per window)" msgstr "nombre maxi de lignes dans l'historique (par fentre)" -#: src/common/weeconfig.c:539 +#: src/common/weeconfig.c:540 msgid "" "maximum number of lines in history for one server/channel/private window (0 " "= unlimited)" @@ -3959,354 +3870,385 @@ msgstr "" "nombre maximum de lignes dans l'historique pour un serveur/fentre/fentre " "prive (0 = sans limite)" -#: src/common/weeconfig.c:543 +#: src/common/weeconfig.c:544 msgid "max user commands in history" msgstr "nombre maxi de commandes utilisateur dans l'historique" -#: src/common/weeconfig.c:544 +#: src/common/weeconfig.c:545 msgid "maximum number of user commands in history (0 = unlimited)" msgstr "" "nombre maximum de commandes utilisateur dans l'historique (0 = sans limite)" -#: src/common/weeconfig.c:561 src/common/weeconfig.c:562 +#: src/common/weeconfig.c:562 src/common/weeconfig.c:563 msgid "automatically log server messages" msgstr "enregistrer automatiquement les messages du serveur" -#: src/common/weeconfig.c:565 src/common/weeconfig.c:566 +#: src/common/weeconfig.c:566 src/common/weeconfig.c:567 msgid "automatically log channel chats" msgstr "enregistrer automatiquement les conversations des canaux" -#: src/common/weeconfig.c:569 src/common/weeconfig.c:570 +#: src/common/weeconfig.c:570 src/common/weeconfig.c:571 msgid "automatically log private chats" msgstr "enregistrer automatiquement les conversations prives" -#: src/common/weeconfig.c:573 src/common/weeconfig.c:574 +#: src/common/weeconfig.c:574 src/common/weeconfig.c:575 msgid "log messages from plugins (scripts)" msgstr "enregistrer les messages des plugins (scripts)" -#: src/common/weeconfig.c:577 +#: src/common/weeconfig.c:578 msgid "path for log files" msgstr "chemin pour les conversations sauvegardes" -#: src/common/weeconfig.c:578 +#: src/common/weeconfig.c:579 msgid "path for WeeChat log files" msgstr "chemin pour les conversations sauvegardes par WeeChat" -#: src/common/weeconfig.c:581 +#: src/common/weeconfig.c:582 msgid "timestamp for log" msgstr "horodatage pour les conversations sauvegardes" -#: src/common/weeconfig.c:582 +#: src/common/weeconfig.c:583 msgid "timestamp for log (see man strftime for date/time specifiers)" msgstr "" "horodatage pour les conversations sauvegardes (voir man strftime pour le " "format de date/heure)" -#: src/common/weeconfig.c:585 src/common/weeconfig.c:586 +#: src/common/weeconfig.c:586 src/common/weeconfig.c:587 msgid "hide password displayed by nickserv" msgstr "masquer le mot de passe affich par nickserv" -#: src/common/weeconfig.c:607 +#: src/common/weeconfig.c:608 msgid "display message to all channels when away" msgstr "affiche un message sur tous les canaux pour l'absence" -#: src/common/weeconfig.c:608 +#: src/common/weeconfig.c:609 msgid "display message to all channels when (un)marking as away" msgstr "affiche un message sur tous les canaux pour l'absence/le retour" -#: src/common/weeconfig.c:611 src/common/weeconfig.c:612 +#: src/common/weeconfig.c:612 src/common/weeconfig.c:613 msgid "default message when away" msgstr "message par dfaut pour l'absence" -#: src/common/weeconfig.c:615 src/common/weeconfig.c:616 +#: src/common/weeconfig.c:616 src/common/weeconfig.c:617 msgid "default part message (leaving channel)" msgstr "message par dfaut pour le part (quitte un canal)" -#: src/common/weeconfig.c:619 +#: src/common/weeconfig.c:620 msgid "default quit message" msgstr "message de fin par dfaut" -#: src/common/weeconfig.c:620 +#: src/common/weeconfig.c:621 msgid "" "default quit message ('%v' will be replaced by WeeChat version in string)" msgstr "" "message de fin par dfaut ('%v' sera remplac par la version de WeeChat dans " "la chane)" -#: src/common/weeconfig.c:623 src/common/weeconfig.c:624 +#: src/common/weeconfig.c:624 src/common/weeconfig.c:625 msgid "display notices as private messages" msgstr "afficher les notices comme des messages privs" -#: src/common/weeconfig.c:627 +#: src/common/weeconfig.c:628 msgid "interval between two checks for away" msgstr "intervalle entre deux vrifications des absences" -#: src/common/weeconfig.c:628 +#: src/common/weeconfig.c:629 msgid "interval between two checks for away (in minutes, 0 = never check)" msgstr "" "intervalle entre deux vrifications des absences (en minutes, 0 = ne jemais " "vrifier)" -#: src/common/weeconfig.c:631 +#: src/common/weeconfig.c:632 msgid "interval between two checks for lag" msgstr "intervalle entre deux mesures de lag" -#: src/common/weeconfig.c:632 +#: src/common/weeconfig.c:633 msgid "interval between two checks for lag (in seconds)" msgstr "intervalle entre deux mesures de lag (en secondes)" -#: src/common/weeconfig.c:635 +#: src/common/weeconfig.c:636 msgid "minimum lag to show" msgstr "lag minimum afficher" -#: src/common/weeconfig.c:636 +#: src/common/weeconfig.c:637 msgid "minimum lag to show (in seconds)" msgstr "lag minimum afficher (en secondes)" -#: src/common/weeconfig.c:639 +#: src/common/weeconfig.c:640 msgid "disconnect after important lag" msgstr "dconnexion aprs un lag important" -#: src/common/weeconfig.c:640 +#: src/common/weeconfig.c:641 msgid "disconnect after important lag (in minutes, 0 = never disconnect)" msgstr "" "dconnexion aprs un lag important (en minutes, 0 = ne jamais se dconnecter)" -#: src/common/weeconfig.c:643 src/common/weeconfig.c:644 +#: src/common/weeconfig.c:644 src/common/weeconfig.c:645 msgid "create a FIFO pipe for remote control" msgstr "crer un tube FIFO pour le contrle distance" -#: src/common/weeconfig.c:647 +#: src/common/weeconfig.c:648 msgid "list of words to highlight" msgstr "liste de mots pour la notification" -#: src/common/weeconfig.c:648 +#: src/common/weeconfig.c:649 msgid "" "comma separated list of words to highlight (case insensitive comparison)" msgstr "" "liste des mots pour la notification (spars par des virgules, le " "comparaison ne tient pas compte de la casse)" -#: src/common/weeconfig.c:667 +#: src/common/weeconfig.c:668 msgid "automatically accept dcc files" msgstr "accepte automatiquement les fichiers dcc" -#: src/common/weeconfig.c:668 +#: src/common/weeconfig.c:669 msgid "automatically accept incoming dcc files" msgstr "accepte automatiquement les fichiers dcc entrants" -#: src/common/weeconfig.c:671 +#: src/common/weeconfig.c:672 msgid "automatically accept dcc chats" msgstr "accepte automatiquement les demandes de discussion dcc" -#: src/common/weeconfig.c:672 +#: src/common/weeconfig.c:673 msgid "automatically accept dcc chats (use carefully!)" msgstr "" "accepte automatiquement les demandes de discussion dcc ( utiliser avec " "prcaution !)" -#: src/common/weeconfig.c:675 +#: src/common/weeconfig.c:676 msgid "timeout for dcc request" msgstr "dlai d'attente pour les requtes dcc" -#: src/common/weeconfig.c:676 +#: src/common/weeconfig.c:677 msgid "timeout for dcc request (in seconds)" msgstr "dlai d'attente pour les requtes dcc (en secondes)" -#: src/common/weeconfig.c:679 +#: src/common/weeconfig.c:680 msgid "block size for dcc packets" msgstr "taille de bloc pour les paquets dcc" -#: src/common/weeconfig.c:680 +#: src/common/weeconfig.c:681 msgid "block size for dcc packets in bytes (default: 65536)" msgstr "taille de bloc pour les paquets dcc en octets (dfaut: 65536)" -#: src/common/weeconfig.c:683 +#: src/common/weeconfig.c:684 msgid "path for incoming files with dcc" msgstr "chemin les fichiers reus par dcc" -#: src/common/weeconfig.c:684 +#: src/common/weeconfig.c:685 msgid "path for writing incoming files with dcc (default: user home)" msgstr "" "chemin pour crire les fichiers reus par dcc (par dfaut: rpertoire de " "l'utilisateur)" -#: src/common/weeconfig.c:687 +#: src/common/weeconfig.c:688 msgid "default path for sending files with dcc" msgstr "chemin par dfaut pour envoyer les fichiers par dcc" -#: src/common/weeconfig.c:688 +#: src/common/weeconfig.c:689 msgid "" "path for reading files when sending thru dcc (when no path is specified)" msgstr "" "chemin pour lire les fichiers lorsqu'ils sont envoys par dcc (quand aucun " "chemin n'est spcifi)" -#: src/common/weeconfig.c:691 src/common/weeconfig.c:692 +#: src/common/weeconfig.c:692 src/common/weeconfig.c:693 msgid "convert spaces to underscores when sending files" msgstr "convertir les espaces en underscores lors d'envoi de fichiers" -#: src/common/weeconfig.c:695 +#: src/common/weeconfig.c:696 msgid "automatically rename dcc files if already exists" msgstr "renomme automatiquement les fichiers dcc s'ils existent dj" -#: src/common/weeconfig.c:696 +#: src/common/weeconfig.c:697 msgid "rename incoming files if already exists (add '.1', '.2', ...)" msgstr "" "renommer les fichiers reus s'ils existent dj (ajoute '.1', '.2', ...)" -#: src/common/weeconfig.c:699 +#: src/common/weeconfig.c:700 msgid "automatically resume aborted transfers" msgstr "continuer automatiquement les transferts non termins" -#: src/common/weeconfig.c:700 +#: src/common/weeconfig.c:701 msgid "" "automatically resume dcc transfer if connection with remote host is loosed" msgstr "" "continuer automatiquement les transferts dcc si la connexion avec la machine " "distante a t perdue" -#: src/common/weeconfig.c:719 +#: src/common/weeconfig.c:720 msgid "use proxy" msgstr "utiliser un proxy" -#: src/common/weeconfig.c:720 +#: src/common/weeconfig.c:721 msgid "use a proxy server to connect to irc server" msgstr "utiliser un proxy pour se connecter au serveur irc" -#: src/common/weeconfig.c:723 +#: src/common/weeconfig.c:724 msgid "proxy type" msgstr "type de proxy" -#: src/common/weeconfig.c:724 +#: src/common/weeconfig.c:725 msgid "proxy type (http (default), socks4, socks5)" msgstr "type de proxy (http (dfaut), socks4, socks5)" -#: src/common/weeconfig.c:727 +#: src/common/weeconfig.c:728 msgid "use ipv6 proxy" msgstr "utiliser un proxy ipv6" -#: src/common/weeconfig.c:728 +#: src/common/weeconfig.c:729 msgid "connect to proxy in ipv6" msgstr "se connecter au proxy en ipv6" -#: src/common/weeconfig.c:731 +#: src/common/weeconfig.c:732 msgid "proxy address" msgstr "adresse du proxy" -#: src/common/weeconfig.c:732 +#: src/common/weeconfig.c:733 msgid "proxy server address (IP or hostname)" msgstr "adresse du serveur proxy (IP ou nom)" -#: src/common/weeconfig.c:735 +#: src/common/weeconfig.c:736 msgid "port for proxy" msgstr "port pour le proxy" -#: src/common/weeconfig.c:736 +#: src/common/weeconfig.c:737 msgid "port for connecting to proxy server" msgstr "port pour se connecter au serveur proxy" -#: src/common/weeconfig.c:739 +#: src/common/weeconfig.c:740 msgid "proxy username" msgstr "nom d'utilisateur proxy" -#: src/common/weeconfig.c:740 +#: src/common/weeconfig.c:741 msgid "username for proxy server" msgstr "nom d'utilisateur pour le serveur proxy" -#: src/common/weeconfig.c:743 +#: src/common/weeconfig.c:744 msgid "proxy password" msgstr "mot de passe pour le proxy" -#: src/common/weeconfig.c:744 +#: src/common/weeconfig.c:745 msgid "password for proxy server" msgstr "mot de passe pour le serveur proxy" -#: src/common/weeconfig.c:755 +#: src/common/weeconfig.c:758 src/common/weeconfig.c:759 +msgid "path for searching plugins" +msgstr "chemin de recherche des extensions" + +#: src/common/weeconfig.c:762 +msgid "list of plugins to load automatically" +msgstr "list des extensions charger automatiquement" + +#: src/common/weeconfig.c:763 +msgid "" +"comma separated list of plugins to load automatically at startup, \"*\" " +"means all plugins found (names may be partial, for example \"perl\" is ok " +"for \"libperl.so\")" +msgstr "" +"liste des extensions charger automatiquement au dmarrage, \"*\" signifie " +"toutes (spares par des virgules, les noms peuvent tre partiels, par " +"exemple \"perl\" est ok pour \"libperl.so\")" + +#: src/common/weeconfig.c:768 +msgid "standard plugins extension in filename" +msgstr "extension standard des extensions dans le nom de fichier" + +#: src/common/weeconfig.c:769 +msgid "" +"standard plugins extension in filename, used for autoload (if empty, then " +"all files are loaded when autoload is \"*\")" +msgstr "" +"extension standard des extensions dans le nom de fichier, pour le chargement " +"automatique (si vide, alors tous les fichiers sont chargs si autoload vaut " +"\"*\")" + +#: src/common/weeconfig.c:786 msgid "server name" msgstr "nom du serveur" -#: src/common/weeconfig.c:756 +#: src/common/weeconfig.c:787 msgid "name associated to IRC server (for display only)" msgstr "nom associ au serveur IRC (pour affichage seulement)" -#: src/common/weeconfig.c:759 +#: src/common/weeconfig.c:790 msgid "automatically connect to server" msgstr "connexion automatique au serveur" -#: src/common/weeconfig.c:760 +#: src/common/weeconfig.c:791 msgid "automatically connect to server when WeeChat is starting" msgstr "connexion automatique au serveur quand WeeChat dmarre" -#: src/common/weeconfig.c:763 +#: src/common/weeconfig.c:794 msgid "automatically reconnect to server" msgstr "reconnexion automatique au serveur" -#: src/common/weeconfig.c:764 +#: src/common/weeconfig.c:795 msgid "automatically reconnect to server when disconnected" msgstr "reconnexion automatique au serveur aprs une dconnexion" -#: src/common/weeconfig.c:767 +#: src/common/weeconfig.c:798 msgid "delay before trying again to reconnect" msgstr "dlai avant de tenter une reconnexion" -#: src/common/weeconfig.c:768 +#: src/common/weeconfig.c:799 msgid "delay (in seconds) before trying again to reconnect to server" msgstr "dlai (en secondes) avant de tenter une reconnexion au serveur" -#: src/common/weeconfig.c:771 +#: src/common/weeconfig.c:802 msgid "server address or hostname" msgstr "adresse ou nom du serveur" -#: src/common/weeconfig.c:772 +#: src/common/weeconfig.c:803 msgid "IP address or hostname of IRC server" msgstr "adresse IP ou nom du serveur IRC" -#: src/common/weeconfig.c:775 +#: src/common/weeconfig.c:806 msgid "port for IRC server" msgstr "port pour le serveur IRC" -#: src/common/weeconfig.c:776 +#: src/common/weeconfig.c:807 msgid "port for connecting to server" msgstr "port pour se connecter au serveur" -#: src/common/weeconfig.c:779 src/common/weeconfig.c:780 +#: src/common/weeconfig.c:810 src/common/weeconfig.c:811 msgid "use IPv6 protocol for server communication" msgstr "utiliser le protocole IPv6 pour la communication avec le serveur" -#: src/common/weeconfig.c:783 src/common/weeconfig.c:784 +#: src/common/weeconfig.c:814 src/common/weeconfig.c:815 msgid "use SSL for server communication" msgstr "utiliser SSL pour la communication avec le serveur" -#: src/common/weeconfig.c:787 +#: src/common/weeconfig.c:818 msgid "server password" msgstr "mot de passe pour le serveur" -#: src/common/weeconfig.c:788 +#: src/common/weeconfig.c:819 msgid "password for IRC server" msgstr "mot de passe pour le serveur IRC" -#: src/common/weeconfig.c:791 +#: src/common/weeconfig.c:822 msgid "nickname for server" msgstr "pseudo pour le serveur" -#: src/common/weeconfig.c:792 +#: src/common/weeconfig.c:823 msgid "nickname to use on IRC server" msgstr "pseudo utiliser sur le serveur IRC" -#: src/common/weeconfig.c:795 +#: src/common/weeconfig.c:826 msgid "alternate nickname for server" msgstr "pseudo alternatif pour le serveur" -#: src/common/weeconfig.c:796 +#: src/common/weeconfig.c:827 msgid "alternate nickname to use on IRC server (if nickname is already used)" msgstr "pseudo alternatif pour le serveur IRC (si le pseudo est dj utilis)" -#: src/common/weeconfig.c:799 +#: src/common/weeconfig.c:830 msgid "2nd alternate nickname for server" msgstr "2nd pseudo alternatif pour le serveur" -#: src/common/weeconfig.c:800 +#: src/common/weeconfig.c:831 msgid "" "2nd alternate nickname to use on IRC server (if alternate nickname is " "already used)" @@ -4314,31 +4256,31 @@ msgstr "" "2nd pseudo alternatif pour le serveur IRC (si le pseudo alternatif est dj " "utilis)" -#: src/common/weeconfig.c:803 +#: src/common/weeconfig.c:834 msgid "user name for server" msgstr "nom d'utilisateur pour le serveur" -#: src/common/weeconfig.c:804 +#: src/common/weeconfig.c:835 msgid "user name to use on IRC server" msgstr "nom d'utilisateur pour le serveur IRC" -#: src/common/weeconfig.c:807 +#: src/common/weeconfig.c:838 msgid "real name for server" msgstr "nom rel pour le serveur" -#: src/common/weeconfig.c:808 +#: src/common/weeconfig.c:839 msgid "real name to use on IRC server" msgstr "nom rel pour le serveur IRC" -#: src/common/weeconfig.c:811 src/common/weeconfig.c:812 +#: src/common/weeconfig.c:842 src/common/weeconfig.c:843 msgid "first command to run when connected to server" msgstr "commande excuter en premier lorsque connect au serveur" -#: src/common/weeconfig.c:815 +#: src/common/weeconfig.c:846 msgid "delay (in seconds) after command was executed" msgstr "dlai (en secondes) aprs excution de la commande" -#: src/common/weeconfig.c:816 +#: src/common/weeconfig.c:847 msgid "" "delay (in seconds) after command was executed (example: give some time for " "authentication)" @@ -4346,11 +4288,11 @@ msgstr "" "dlai (en secondes) aprs excution de la commande (exemple: donner du temps " "pour l'authentification)" -#: src/common/weeconfig.c:819 +#: src/common/weeconfig.c:850 msgid "list of channels to join when connected to server" msgstr "liste des canaux rejoindre lorsque connect au serveur" -#: src/common/weeconfig.c:820 +#: src/common/weeconfig.c:851 msgid "" "comma separated list of channels to join when connected to server (example: " "\"#chan1,#chan2,#chan3 key1,key2\")" @@ -4358,15 +4300,15 @@ msgstr "" "liste des canaux (spars par des virgules) rejoindre lorsque connect au " "serveur (exemple: \"#chan1,#chan2,#chan3 key1,key2\")" -#: src/common/weeconfig.c:823 src/common/weeconfig.c:824 +#: src/common/weeconfig.c:854 src/common/weeconfig.c:855 msgid "automatically rejoin channels when kicked" msgstr "rejoindre automatiquement les canaux quand mis dehors" -#: src/common/weeconfig.c:827 +#: src/common/weeconfig.c:858 msgid "notify levels for channels of this server" msgstr "niveaux de notification pour les canaux de ce serveur" -#: src/common/weeconfig.c:828 +#: src/common/weeconfig.c:859 msgid "" "comma separated list of notify levels for channels of this server (format: " "#channel:1,..)" @@ -4374,69 +4316,69 @@ msgstr "" "liste des niveaux de notifications (spars par des virgules) pour les " "canaux de ce serveur (format: #canal:1,..)" -#: src/common/weeconfig.c:1322 +#: src/common/weeconfig.c:1354 #, c-format msgid "%s %s, line %d: new server, but previous was incomplete\n" msgstr "%s %s, ligne %d: nouveau serveur, mais le prcdent tait incomplet\n" -#: src/common/weeconfig.c:1331 +#: src/common/weeconfig.c:1363 #, c-format msgid "%s %s, line %d: server '%s' already exists\n" msgstr "%s %s, ligne %d: le serveur '%s' existe dj\n" -#: src/common/weeconfig.c:1346 +#: src/common/weeconfig.c:1378 #, c-format msgid "%s %s, line %d: unable to create server\n" msgstr "%s %s, ligne %d: impossible de crer le serveur\n" -#: src/common/weeconfig.c:1386 +#: src/common/weeconfig.c:1418 #, c-format msgid "%s unable to assign default int with string (\"%s\")\n" msgstr "" "%s impossible d'assigner la valeur entire par dfaut avec la chane (\"%s" "\")\n" -#: src/common/weeconfig.c:1397 +#: src/common/weeconfig.c:1429 #, c-format msgid "%s unable to assign default color (\"%s\")\n" msgstr "%s impossible d'assigner la couleur par dfaut (\"%s\")\n" -#: src/common/weeconfig.c:1436 +#: src/common/weeconfig.c:1468 #, c-format msgid "%s config file \"%s\" not found.\n" msgstr "%s fichier de configuration \"%s\" non trouv.\n" -#: src/common/weeconfig.c:1468 +#: src/common/weeconfig.c:1500 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"]\"\n" msgstr "%s %s, ligne %d: syntaxe invalide, il manque \"]\"\n" -#: src/common/weeconfig.c:1485 +#: src/common/weeconfig.c:1517 #, c-format msgid "%s %s, line %d: unknown section identifier (\"%s\")\n" msgstr "%s %s, ligne %d: section inconnue (\"%s\")\n" -#: src/common/weeconfig.c:1503 +#: src/common/weeconfig.c:1535 #, c-format msgid "%s %s, line %d: invalid section for option, line is ignored\n" msgstr "%s %s, ligne %d: section invalide pour l'option, ligne ignore\n" -#: src/common/weeconfig.c:1511 +#: src/common/weeconfig.c:1543 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"=\"\n" msgstr "%s %s, ligne %d: syntaxe invalide, il manque \"=\"\n" -#: src/common/weeconfig.c:1548 src/common/weeconfig.c:1574 +#: src/common/weeconfig.c:1580 src/common/weeconfig.c:1606 #, c-format msgid "%s %s, line %d: invalid option \"%s\"\n" msgstr "%s %s, ligne %d: option \"%s\" invalide\n" -#: src/common/weeconfig.c:1554 +#: src/common/weeconfig.c:1586 #, c-format msgid "%s %s, line %d: invalid ignore options \"%s\"\n" msgstr "%s %s, ligne %d: options \"%s\" invalides pour le ignore\n" -#: src/common/weeconfig.c:1585 +#: src/common/weeconfig.c:1617 #, c-format msgid "" "%s %s, line %d: invalid value foroption '%s'\n" @@ -4445,7 +4387,7 @@ msgstr "" "%s %s, ligne %d: valeur invalide pour l'option '%s'\n" "Attendu: valeur boolenne: 'off' ou 'on'\n" -#: src/common/weeconfig.c:1594 +#: src/common/weeconfig.c:1626 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -4454,7 +4396,7 @@ msgstr "" "%s %s, ligne %d: valeur invalide pour l'option '%s'\n" "Attendu: entier compris entre %d et %d\n" -#: src/common/weeconfig.c:1605 +#: src/common/weeconfig.c:1637 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -4463,26 +4405,26 @@ msgstr "" "%s %s, ligne %d: valeur invalide pour l'option '%s'\n" "Attendu: une de ces chanes: " -#: src/common/weeconfig.c:1621 +#: src/common/weeconfig.c:1653 #, c-format msgid "%s %s, line %d: invalid color name for option '%s'\n" msgstr "%s %s, ligne %d: nom de couleur invalide pour l'option '%s'\n" -#: src/common/weeconfig.c:1683 src/common/weeconfig.c:1878 +#: src/common/weeconfig.c:1715 src/common/weeconfig.c:1910 #, c-format msgid "%s cannot create file \"%s\"\n" msgstr "%s impossible de crer le fichier \"%s\"\n" -#: src/common/weeconfig.c:1689 +#: src/common/weeconfig.c:1721 #, c-format msgid "%s: creating default config file...\n" msgstr "%s: cration du fichier de configuration par dfaut...\n" -#: src/common/weeconfig.c:1690 +#: src/common/weeconfig.c:1722 msgid "Creating default config file\n" msgstr "Cration du fichier de configuration par dfaut\n" -#: src/common/weeconfig.c:1693 src/common/weeconfig.c:1887 +#: src/common/weeconfig.c:1725 src/common/weeconfig.c:1919 #, c-format msgid "" "#\n" @@ -4491,22 +4433,9 @@ msgstr "" "#\n" "# %s: fichier de configuration, cr par %s v%s le %s#\n" -#: src/common/weeconfig.c:1884 +#: src/common/weeconfig.c:1916 msgid "Saving config to disk\n" msgstr "Sauvegarde de la configuration sur disque\n" -#~ msgid "" -#~ "option: name of an option\n" -#~ "value: value for option" -#~ msgstr "" -#~ "option: nom d'une option\n" -#~ "valeur: valeur pour l'option" - -#~ msgid "Ignore:\n" -#~ msgstr "Ignore:\n" - -#~ msgid "IRC command" -#~ msgstr "commande IRC" - -#~ msgid "channel" -#~ msgstr "canal" +#~ msgid " IRC(%s) => C function\n" +#~ msgstr " IRC(%s) => fonction C\n" diff --git a/weechat/po/weechat.pot b/weechat/po/weechat.pot index de2cab99f..f7139b0da 100644 --- a/weechat/po/weechat.pot +++ b/weechat/po/weechat.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2005-10-03 14:05+0200\n" +"POT-Creation-Date: 2005-10-15 14:17+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -20,7 +20,7 @@ msgstr "" msgid "%s cannot allocate new nick\n" msgstr "" -#: src/irc/irc-server.c:180 src/common/weeconfig.c:1823 +#: src/irc/irc-server.c:180 src/common/weeconfig.c:1855 msgid "Unable to get user's name" msgstr "" @@ -1232,7 +1232,7 @@ msgstr "" msgid "whois (secure connection)" msgstr "" -#: src/irc/irc-display.c:163 src/common/command.c:877 +#: src/irc/irc-display.c:163 src/common/command.c:870 msgid "Server: " msgstr "" @@ -1240,7 +1240,7 @@ msgstr "" msgid "connected" msgstr "" -#: src/irc/irc-display.c:168 src/common/command.c:903 +#: src/irc/irc-display.c:168 src/common/command.c:896 msgid "not connected" msgstr "" @@ -1262,7 +1262,7 @@ msgstr "" msgid "(hidden)" msgstr "" -#: src/irc/irc-send.c:59 src/irc/irc-recv.c:4421 +#: src/irc/irc-send.c:59 src/irc/irc-recv.c:4426 msgid "unknown" msgstr "" @@ -1271,7 +1271,7 @@ msgstr "" msgid "%s: using local hostname \"%s\"\n" msgstr "" -#: src/irc/irc-send.c:167 src/common/command.c:755 +#: src/irc/irc-send.c:167 src/common/command.c:746 #, c-format msgid "%s cannot find nick for sending message\n" msgstr "" @@ -1287,9 +1287,8 @@ msgstr "" #: src/irc/irc-send.c:456 src/irc/irc-send.c:468 src/irc/irc-send.c:486 #: src/irc/irc-send.c:1138 src/irc/irc-send.c:1231 src/irc/irc-send.c:1763 -#: src/common/command.c:1225 src/common/command.c:1579 -#: src/common/command.c:1729 src/common/command.c:1872 -#: src/common/command.c:2015 +#: src/common/command.c:1218 src/common/command.c:1628 +#: src/common/command.c:1760 #, c-format msgid "%s wrong argument count for \"%s\" command\n" msgstr "" @@ -1305,13 +1304,13 @@ msgstr "" msgid "%s \"%s\" command can not be executed on a server window\n" msgstr "" -#: src/irc/irc-send.c:1031 src/irc/irc-send.c:1056 src/irc/irc-recv.c:430 +#: src/irc/irc-send.c:1031 src/irc/irc-send.c:1056 src/irc/irc-recv.c:435 #, c-format msgid "%s nick \"%s\" not found for \"%s\" command\n" msgstr "" -#: src/irc/irc-send.c:1108 src/irc/irc-send.c:1416 src/irc/irc-recv.c:1117 -#: src/irc/irc-recv.c:1933 src/irc/irc-recv.c:2021 +#: src/irc/irc-send.c:1108 src/irc/irc-send.c:1416 src/irc/irc-recv.c:1122 +#: src/irc/irc-recv.c:1938 src/irc/irc-recv.c:2026 #, c-format msgid "%s cannot create new private window \"%s\"\n" msgstr "" @@ -1321,449 +1320,449 @@ msgstr "" msgid "%s, compiled on %s %s\n" msgstr "" -#: src/irc/irc-recv.c:286 +#: src/irc/irc-recv.c:291 msgid "You have been invited to " msgstr "" -#: src/irc/irc-recv.c:289 +#: src/irc/irc-recv.c:294 msgid "by" msgstr "" -#: src/irc/irc-recv.c:300 src/irc/irc-recv.c:394 src/irc/irc-recv.c:891 -#: src/irc/irc-recv.c:1276 src/irc/irc-recv.c:1535 src/irc/irc-recv.c:3437 -#: src/irc/irc-recv.c:3459 src/irc/irc-recv.c:3520 src/irc/irc-recv.c:3592 +#: src/irc/irc-recv.c:305 src/irc/irc-recv.c:399 src/irc/irc-recv.c:896 +#: src/irc/irc-recv.c:1281 src/irc/irc-recv.c:1540 src/irc/irc-recv.c:3442 +#: src/irc/irc-recv.c:3464 src/irc/irc-recv.c:3525 src/irc/irc-recv.c:3597 #, c-format msgid "%s channel \"%s\" not found for \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:328 +#: src/irc/irc-recv.c:333 #, c-format msgid "%s cannot create new channel \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:347 +#: src/irc/irc-recv.c:352 msgid " has joined " msgstr "" -#: src/irc/irc-recv.c:405 +#: src/irc/irc-recv.c:410 msgid " has kicked " msgstr "" -#: src/irc/irc-recv.c:409 src/common/command.c:1400 +#: src/irc/irc-recv.c:414 src/common/command.c:1449 msgid " from " msgstr "" -#: src/irc/irc-recv.c:495 +#: src/irc/irc-recv.c:500 msgid " has killed " msgstr "" -#: src/irc/irc-recv.c:501 +#: src/irc/irc-recv.c:506 msgid " from server" msgstr "" -#: src/irc/irc-recv.c:511 +#: src/irc/irc-recv.c:516 msgid " from server\n" msgstr "" -#: src/irc/irc-recv.c:519 +#: src/irc/irc-recv.c:524 #, c-format msgid "%s host \"%s\" not found for \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:559 +#: src/irc/irc-recv.c:564 msgid "sets ban on" msgstr "" -#: src/irc/irc-recv.c:560 +#: src/irc/irc-recv.c:565 msgid "removes ban on" msgstr "" -#: src/irc/irc-recv.c:584 +#: src/irc/irc-recv.c:589 msgid "gives half channel operator status to" msgstr "" -#: src/irc/irc-recv.c:585 +#: src/irc/irc-recv.c:590 msgid "removes half channel operator status from" msgstr "" -#: src/irc/irc-recv.c:612 +#: src/irc/irc-recv.c:617 msgid "sets invite-only channel flag" msgstr "" -#: src/irc/irc-recv.c:613 +#: src/irc/irc-recv.c:618 msgid "removes invite-only channel flag" msgstr "" -#: src/irc/irc-recv.c:630 +#: src/irc/irc-recv.c:635 msgid "sets channel key to" msgstr "" -#: src/irc/irc-recv.c:631 +#: src/irc/irc-recv.c:636 msgid "removes channel key" msgstr "" -#: src/irc/irc-recv.c:662 +#: src/irc/irc-recv.c:667 msgid "sets the user limit to" msgstr "" -#: src/irc/irc-recv.c:663 +#: src/irc/irc-recv.c:668 msgid "removes user limit" msgstr "" -#: src/irc/irc-recv.c:685 +#: src/irc/irc-recv.c:690 msgid "sets moderated channel flag" msgstr "" -#: src/irc/irc-recv.c:686 +#: src/irc/irc-recv.c:691 msgid "removes moderated channel flag" msgstr "" -#: src/irc/irc-recv.c:696 +#: src/irc/irc-recv.c:701 msgid "sets messages from channel only flag" msgstr "" -#: src/irc/irc-recv.c:697 +#: src/irc/irc-recv.c:702 msgid "removes messages from channel only flag" msgstr "" -#: src/irc/irc-recv.c:714 +#: src/irc/irc-recv.c:719 msgid "gives channel operator status to" msgstr "" -#: src/irc/irc-recv.c:715 +#: src/irc/irc-recv.c:720 msgid "removes channel operator status from" msgstr "" -#: src/irc/irc-recv.c:742 +#: src/irc/irc-recv.c:747 msgid "sets private channel flag" msgstr "" -#: src/irc/irc-recv.c:743 +#: src/irc/irc-recv.c:748 msgid "removes private channel flag" msgstr "" -#: src/irc/irc-recv.c:760 +#: src/irc/irc-recv.c:765 msgid "sets quiet on" msgstr "" -#: src/irc/irc-recv.c:761 +#: src/irc/irc-recv.c:766 msgid "removes quiet on" msgstr "" -#: src/irc/irc-recv.c:778 +#: src/irc/irc-recv.c:783 msgid "sets secret channel flag" msgstr "" -#: src/irc/irc-recv.c:779 +#: src/irc/irc-recv.c:784 msgid "removes secret channel flag" msgstr "" -#: src/irc/irc-recv.c:789 +#: src/irc/irc-recv.c:794 msgid "sets topic protection" msgstr "" -#: src/irc/irc-recv.c:790 +#: src/irc/irc-recv.c:795 msgid "removes topic protection" msgstr "" -#: src/irc/irc-recv.c:807 +#: src/irc/irc-recv.c:812 msgid "gives voice to" msgstr "" -#: src/irc/irc-recv.c:808 +#: src/irc/irc-recv.c:813 msgid "removes voice from" msgstr "" -#: src/irc/irc-recv.c:851 src/irc/irc-recv.c:933 src/irc/irc-recv.c:1354 -#: src/irc/irc-recv.c:2088 +#: src/irc/irc-recv.c:856 src/irc/irc-recv.c:938 src/irc/irc-recv.c:1359 +#: src/irc/irc-recv.c:2093 #, c-format msgid "%s \"%s\" command received without host\n" msgstr "" -#: src/irc/irc-recv.c:861 +#: src/irc/irc-recv.c:866 #, c-format msgid "%s \"%s\" command received without channel or nickname\n" msgstr "" -#: src/irc/irc-recv.c:908 +#: src/irc/irc-recv.c:913 msgid "mode changed by" msgstr "" -#: src/irc/irc-recv.c:970 +#: src/irc/irc-recv.c:975 msgid "You are " msgstr "" -#: src/irc/irc-recv.c:977 +#: src/irc/irc-recv.c:982 msgid " is " msgstr "" -#: src/irc/irc-recv.c:981 +#: src/irc/irc-recv.c:986 msgid "now known as " msgstr "" -#: src/irc/irc-recv.c:1048 +#: src/irc/irc-recv.c:1053 #, c-format msgid "%s nickname not found for \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:1064 src/irc/irc-recv.c:1096 +#: src/irc/irc-recv.c:1069 src/irc/irc-recv.c:1101 msgid "reply from" msgstr "" -#: src/irc/irc-recv.c:1099 +#: src/irc/irc-recv.c:1104 #, c-format msgid ": %ld.%ld seconds\n" msgstr "" -#: src/irc/irc-recv.c:1138 src/irc/irc-recv.c:2042 src/irc/irc-dcc.c:1044 +#: src/irc/irc-recv.c:1143 src/irc/irc-recv.c:2047 src/irc/irc-dcc.c:1044 #, c-format msgid "Private %s> %s" msgstr "" -#: src/irc/irc-recv.c:1201 +#: src/irc/irc-recv.c:1206 #, c-format msgid "%s \"%s\" command received without host or channel\n" msgstr "" -#: src/irc/irc-recv.c:1250 +#: src/irc/irc-recv.c:1255 msgid " has left " msgstr "" -#: src/irc/irc-recv.c:1402 src/irc/irc-recv.c:1957 +#: src/irc/irc-recv.c:1407 src/irc/irc-recv.c:1962 #, c-format msgid "On %s: * %s %s" msgstr "" -#: src/irc/irc-recv.c:1426 +#: src/irc/irc-recv.c:1431 #, c-format msgid "Received a CTCP SOUND \"%s\" from " msgstr "" -#: src/irc/irc-recv.c:1459 src/irc/irc-recv.c:1490 src/irc/irc-recv.c:1594 -#: src/irc/irc-recv.c:1634 src/irc/irc-recv.c:1997 +#: src/irc/irc-recv.c:1464 src/irc/irc-recv.c:1495 src/irc/irc-recv.c:1599 +#: src/irc/irc-recv.c:1639 src/irc/irc-recv.c:2002 msgid "received from" msgstr "" -#: src/irc/irc-recv.c:1486 src/irc/irc-recv.c:1993 +#: src/irc/irc-recv.c:1491 src/irc/irc-recv.c:1998 msgid "Unknown CTCP " msgstr "" -#: src/irc/irc-recv.c:1518 +#: src/irc/irc-recv.c:1523 #, c-format msgid "On %s: %s> %s" msgstr "" -#: src/irc/irc-recv.c:1650 src/irc/irc-recv.c:1671 src/irc/irc-recv.c:1687 -#: src/irc/irc-recv.c:1703 src/irc/irc-recv.c:1729 src/irc/irc-recv.c:1750 -#: src/irc/irc-recv.c:1766 src/irc/irc-recv.c:1791 src/irc/irc-recv.c:1812 -#: src/irc/irc-recv.c:1828 src/irc/irc-recv.c:1853 src/irc/irc-recv.c:1874 -#: src/irc/irc-recv.c:1889 src/irc/irc-recv.c:2064 src/irc/irc-recv.c:2408 -#: src/irc/irc-recv.c:3988 src/irc/irc-recv.c:4046 src/irc/irc-recv.c:4205 -#: src/irc/irc-recv.c:4220 src/irc/irc-recv.c:4235 src/irc/irc-recv.c:4250 -#: src/irc/irc-recv.c:4263 src/irc/irc-recv.c:4317 src/irc/irc-recv.c:4331 +#: src/irc/irc-recv.c:1655 src/irc/irc-recv.c:1676 src/irc/irc-recv.c:1692 +#: src/irc/irc-recv.c:1708 src/irc/irc-recv.c:1734 src/irc/irc-recv.c:1755 +#: src/irc/irc-recv.c:1771 src/irc/irc-recv.c:1796 src/irc/irc-recv.c:1817 +#: src/irc/irc-recv.c:1833 src/irc/irc-recv.c:1858 src/irc/irc-recv.c:1879 +#: src/irc/irc-recv.c:1894 src/irc/irc-recv.c:2069 src/irc/irc-recv.c:2413 +#: src/irc/irc-recv.c:3993 src/irc/irc-recv.c:4051 src/irc/irc-recv.c:4210 +#: src/irc/irc-recv.c:4225 src/irc/irc-recv.c:4240 src/irc/irc-recv.c:4255 +#: src/irc/irc-recv.c:4268 src/irc/irc-recv.c:4322 src/irc/irc-recv.c:4336 #, c-format msgid "%s cannot parse \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:1902 +#: src/irc/irc-recv.c:1907 #, c-format msgid "%s unknown DCC CHAT type received from " msgstr "" -#: src/irc/irc-recv.c:2119 +#: src/irc/irc-recv.c:2124 msgid "has quit" msgstr "" -#: src/irc/irc-recv.c:2244 +#: src/irc/irc-recv.c:2249 #, c-format msgid "%s \"%s\" command received without channel\n" msgstr "" -#: src/irc/irc-recv.c:2276 +#: src/irc/irc-recv.c:2281 msgid " has changed topic for " msgstr "" -#: src/irc/irc-recv.c:2281 +#: src/irc/irc-recv.c:2286 #, c-format msgid " to: \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:2287 +#: src/irc/irc-recv.c:2292 msgid " has unset topic for " msgstr "" -#: src/irc/irc-recv.c:2396 +#: src/irc/irc-recv.c:2401 msgid "User mode" msgstr "" -#: src/irc/irc-recv.c:2451 +#: src/irc/irc-recv.c:2456 #, c-format msgid " is away: %s\n" msgstr "" -#: src/irc/irc-recv.c:2533 +#: src/irc/irc-recv.c:2538 msgid "Users online: " msgstr "" -#: src/irc/irc-recv.c:3023 +#: src/irc/irc-recv.c:3028 msgid "idle: " msgstr "" -#: src/irc/irc-recv.c:3031 +#: src/irc/irc-recv.c:3036 msgid "days" msgstr "" -#: src/irc/irc-recv.c:3031 +#: src/irc/irc-recv.c:3036 msgid "day" msgstr "" -#: src/irc/irc-recv.c:3041 +#: src/irc/irc-recv.c:3046 msgid "hours" msgstr "" -#: src/irc/irc-recv.c:3041 +#: src/irc/irc-recv.c:3046 msgid "hour" msgstr "" -#: src/irc/irc-recv.c:3047 +#: src/irc/irc-recv.c:3052 msgid "minutes" msgstr "" -#: src/irc/irc-recv.c:3047 +#: src/irc/irc-recv.c:3052 msgid "minute" msgstr "" -#: src/irc/irc-recv.c:3053 +#: src/irc/irc-recv.c:3058 msgid "seconds" msgstr "" -#: src/irc/irc-recv.c:3053 +#: src/irc/irc-recv.c:3058 msgid "second" msgstr "" -#: src/irc/irc-recv.c:3058 +#: src/irc/irc-recv.c:3063 msgid "signon at: " msgstr "" -#: src/irc/irc-recv.c:3154 +#: src/irc/irc-recv.c:3159 msgid "Channels: " msgstr "" -#: src/irc/irc-recv.c:3450 +#: src/irc/irc-recv.c:3455 msgid "No topic set for " msgstr "" -#: src/irc/irc-recv.c:3507 +#: src/irc/irc-recv.c:3512 msgid "Topic for " msgstr "" -#: src/irc/irc-recv.c:3511 +#: src/irc/irc-recv.c:3516 #, c-format msgid " is: \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:3530 src/irc/irc-recv.c:3619 src/irc/irc-recv.c:3672 +#: src/irc/irc-recv.c:3535 src/irc/irc-recv.c:3624 src/irc/irc-recv.c:3677 #, c-format msgid "%s cannot identify channel for \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:3580 +#: src/irc/irc-recv.c:3585 msgid "Topic set by " msgstr "" -#: src/irc/irc-recv.c:3601 +#: src/irc/irc-recv.c:3606 #, c-format msgid "%s cannot identify date/time for \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:3610 src/irc/irc-recv.c:3681 +#: src/irc/irc-recv.c:3615 src/irc/irc-recv.c:3686 #, c-format msgid "%s cannot identify nickname for \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:3660 +#: src/irc/irc-recv.c:3665 msgid "has invited" msgstr "" -#: src/irc/irc-recv.c:3663 src/irc/irc-recv.c:3909 src/common/command.c:1393 +#: src/irc/irc-recv.c:3668 src/irc/irc-recv.c:3914 src/common/command.c:1442 msgid "on" msgstr "" -#: src/irc/irc-recv.c:3718 +#: src/irc/irc-recv.c:3723 msgid "Channel reop" msgstr "" -#: src/irc/irc-recv.c:4034 +#: src/irc/irc-recv.c:4039 #, c-format msgid "%s cannot create nick \"%s\" for channel \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:4093 +#: src/irc/irc-recv.c:4098 msgid "Nicks " msgstr "" -#: src/irc/irc-recv.c:4113 +#: src/irc/irc-recv.c:4118 msgid "Channel " msgstr "" -#: src/irc/irc-recv.c:4124 +#: src/irc/irc-recv.c:4129 msgid "nicks" msgstr "" -#: src/irc/irc-recv.c:4124 +#: src/irc/irc-recv.c:4129 msgid "nick" msgstr "" -#: src/irc/irc-recv.c:4132 +#: src/irc/irc-recv.c:4137 msgid "ops" msgstr "" -#: src/irc/irc-recv.c:4132 +#: src/irc/irc-recv.c:4137 msgid "op" msgstr "" -#: src/irc/irc-recv.c:4141 +#: src/irc/irc-recv.c:4146 msgid "halfops" msgstr "" -#: src/irc/irc-recv.c:4141 +#: src/irc/irc-recv.c:4146 msgid "halfop" msgstr "" -#: src/irc/irc-recv.c:4150 +#: src/irc/irc-recv.c:4155 msgid "voices" msgstr "" -#: src/irc/irc-recv.c:4150 +#: src/irc/irc-recv.c:4155 msgid "voice" msgstr "" -#: src/irc/irc-recv.c:4159 +#: src/irc/irc-recv.c:4164 msgid "normal" msgstr "" -#: src/irc/irc-recv.c:4280 +#: src/irc/irc-recv.c:4285 msgid "banned by" msgstr "" -#: src/irc/irc-recv.c:4375 +#: src/irc/irc-recv.c:4380 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 2nd nickname \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:4387 +#: src/irc/irc-recv.c:4392 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 3rd nickname \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:4399 +#: src/irc/irc-recv.c:4404 #, c-format msgid "" "%s: all declared nicknames are already in use, closing connection with " "server!\n" msgstr "" -#: src/irc/irc-recv.c:4409 +#: src/irc/irc-recv.c:4414 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 1st nickname \"%s\"\n" msgstr "" @@ -1952,131 +1951,88 @@ msgstr "" msgid "Removing ignore:" msgstr "" -#: src/plugins/perl/wee-perl.c:88 src/plugins/perl/wee-perl.c:463 -#: src/plugins/python/wee-python.c:81 src/plugins/ruby/wee-ruby.c:89 +#: src/plugins/plugins.c:226 #, c-format msgid "" -"%s error: unable to register \"%s\" script (another script already exists " -"with this name)\n" -msgstr "" - -#: src/plugins/perl/wee-perl.c:112 src/plugins/perl/wee-perl.c:487 -#: src/plugins/python/wee-python.c:105 src/plugins/ruby/wee-ruby.c:113 -#, c-format -msgid "Registered %s script: \"%s\", version %s (%s)\n" -msgstr "" - -#: src/plugins/perl/wee-perl.c:119 src/plugins/perl/wee-perl.c:494 -#: src/plugins/python/wee-python.c:112 src/plugins/ruby/wee-ruby.c:120 -#, c-format -msgid "%s error: unable to load script \"%s\" (not enough memory)\n" -msgstr "" - -#: src/plugins/perl/wee-perl.c:234 src/plugins/perl/wee-perl.c:520 -#: src/plugins/perl/wee-perl.c:568 src/plugins/perl/wee-perl.c:595 -#: src/plugins/perl/wee-perl.c:640 src/plugins/perl/wee-perl.c:670 -#: src/plugins/perl/wee-perl.c:710 src/plugins/python/wee-python.c:60 -#: src/plugins/python/wee-python.c:142 src/plugins/python/wee-python.c:179 -#: src/plugins/python/wee-python.c:211 src/plugins/python/wee-python.c:243 -#: src/plugins/python/wee-python.c:272 src/plugins/python/wee-python.c:311 -#: src/plugins/ruby/wee-ruby.c:58 src/plugins/ruby/wee-ruby.c:146 -#: src/plugins/ruby/wee-ruby.c:192 src/plugins/ruby/wee-ruby.c:226 -#: src/plugins/ruby/wee-ruby.c:267 src/plugins/ruby/wee-ruby.c:298 -#: src/plugins/ruby/wee-ruby.c:339 -#, c-format -msgid "%s error: wrong parameters for \"%s\" function\n" -msgstr "" - -#: src/plugins/perl/wee-perl.c:270 src/plugins/perl/wee-perl.c:374 -#: src/plugins/perl/wee-perl.c:723 src/plugins/python/wee-python.c:331 -#: src/plugins/ruby/wee-ruby.c:367 -#, c-format -msgid "%s error: server not found for \"%s\" function\n" -msgstr "" - -#: src/plugins/perl/wee-perl.c:873 src/plugins/python/wee-python.c:457 -#, c-format -msgid "Loading %s module \"weechat\"\n" +"%s plugin %s: unable to add handler for IRC command \"%s\" (not enough " +"memory)\n" msgstr "" -#: src/plugins/perl/wee-perl.c:932 +#: src/plugins/plugins.c:261 #, c-format -msgid "Perl error: %s" -msgstr "" - -#: src/plugins/perl/wee-perl.c:942 -#, c-format -msgid "%s error: too much values from \"%s\" (%d). Expected: 1.\n" +msgid "" +"%s plugin %s: unable to add handler for \"%s\" command (already exists)\n" msgstr "" -#: src/plugins/perl/wee-perl.c:964 src/plugins/perl/wee-perl.c:966 -#: src/plugins/python/wee-python.c:615 src/plugins/python/wee-python.c:617 +#: src/plugins/plugins.c:296 #, c-format -msgid "Loading %s script \"%s\"\n" +msgid "" +"%s plugin %s: unable to add handler for \"%s\" command (not enough memory)\n" msgstr "" -#: src/plugins/perl/wee-perl.c:1015 src/plugins/python/wee-python.c:686 -#: src/plugins/ruby/wee-ruby.c:555 +#: src/plugins/plugins.c:573 #, c-format -msgid "Unloading %s script \"%s\"\n" +msgid "%s unable to load plugin \"%s\": %s\n" msgstr "" -#: src/plugins/perl/wee-perl.c:1032 src/plugins/python/wee-python.c:703 -#: src/plugins/ruby/wee-ruby.c:572 +#: src/plugins/plugins.c:584 #, c-format -msgid "Unloading all %s scripts...\n" +msgid "%s symbol \"plugin_name\" not found in plugin \"%s\", failed to load\n" msgstr "" -#: src/plugins/perl/wee-perl.c:1037 src/plugins/python/wee-python.c:708 -#: src/plugins/ruby/wee-ruby.c:577 +#: src/plugins/plugins.c:595 #, c-format -msgid "%s scripts unloaded\n" +msgid "" +"%s unable to load plugin \"%s\": a plugin with same name already exists\n" msgstr "" -#: src/plugins/python/wee-python.c:452 +#: src/plugins/plugins.c:607 #, c-format -msgid "%s error: error while launching interpreter\n" +msgid "" +"%s symbol \"plugin_description\" not found in plugin \"%s\", failed to load\n" msgstr "" -#: src/plugins/python/wee-python.c:481 +#: src/plugins/plugins.c:618 #, c-format -msgid "%s error: error while redirecting stdout and stderr\n" +msgid "" +"%s symbol \"plugin_version\" not found in plugin \"%s\", failed to load\n" msgstr "" -#: src/plugins/python/wee-python.c:534 src/plugins/python/wee-python.c:562 -#: src/plugins/python/wee-python.c:594 +#: src/plugins/plugins.c:629 #, c-format -msgid "%s error: unable to run function \"%s\" in script (not enough memory)\n" +msgid "" +"%s function \"weechat_plugin_init\" not found in plugin \"%s\", failed to " +"load\n" msgstr "" -#: src/plugins/python/wee-python.c:584 +#: src/plugins/plugins.c:683 #, c-format -msgid "%s error: error while running function \"%s\"\n" +msgid "Initializing plugin \"%s\" %s\n" msgstr "" -#: src/plugins/python/wee-python.c:623 +#: src/plugins/plugins.c:691 #, c-format -msgid "%s error: error while opening file \"%s\"\n" +msgid "%s unable to initialize plugin \"%s\"\n" msgstr "" -#: src/plugins/python/wee-python.c:632 +#: src/plugins/plugins.c:702 #, c-format -msgid "%s error: error while parsing file \"%s\"\n" +msgid "%s unable to load plugin \"%s\" (not enough memory)\n" msgstr "" -#: src/plugins/python/wee-python.c:734 +#: src/plugins/plugins.c:710 #, c-format -msgid "%s error: error while freeing interpreter\n" +msgid "Plugin \"%s\" (%s) loaded.\n" msgstr "" -#: src/plugins/plugins.c:97 +#: src/plugins/plugins.c:831 #, c-format -msgid "Auto-loading %s script: %s%s%s\n" +msgid "Plugin \"%s\" unloaded.\n" msgstr "" -#: src/plugins/plugins.c:223 +#: src/plugins/plugins.c:837 #, c-format -msgid "%s unable to add handler for \"%s\" message (not enough memory)\n" +msgid "%s plugin \"%s\" not found\n" msgstr "" #: src/gui/curses/gui-input.c:340 @@ -2301,7 +2257,7 @@ msgstr "" msgid "grab a key" msgstr "" -#: src/gui/gui-keyboard.c:426 src/common/command.c:1594 +#: src/gui/gui-keyboard.c:426 src/common/command.c:1643 #, c-format msgid "%s unable to bind key \"%s\"\n" msgstr "" @@ -2447,47 +2403,25 @@ msgid "" msgstr "" #: src/common/command.c:92 -msgid "list/load/unload Perl scripts" +msgid "list/load/unload plugins" msgstr "" -#: src/common/command.c:93 src/common/command.c:98 src/common/command.c:103 +#: src/common/command.c:93 msgid "[load filename] | [autoload] | [reload] | [unload]" msgstr "" #: src/common/command.c:94 msgid "" -"filename: Perl script (file) to load\n" +"filename: WeeChat plugin (file) to load\n" "\n" -"Without argument, /perl command lists all loaded Perl scripts." +"Without argument, /plugin command lists all loaded plugins." msgstr "" #: src/common/command.c:97 -msgid "list/load/unload Python scripts" -msgstr "" - -#: src/common/command.c:99 -msgid "" -"filename: Python script (file) to load\n" -"\n" -"Without argument, /python command lists all loaded Python scripts." -msgstr "" - -#: src/common/command.c:102 -msgid "list/load/unload Ruby scripts" -msgstr "" - -#: src/common/command.c:104 -msgid "" -"filename: Ruby script (file) to load\n" -"\n" -"Without argument, /ruby command lists all loaded Ruby scripts." -msgstr "" - -#: src/common/command.c:107 msgid "list, add or remove servers" msgstr "" -#: src/common/command.c:108 +#: src/common/command.c:98 msgid "" "[servername] | [servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-" "pwd password] [-nicks nick1 nick2 nick3] [-username username] [-realname " @@ -2495,7 +2429,7 @@ msgid "" "servername]" msgstr "" -#: src/common/command.c:113 +#: src/common/command.c:103 msgid "" "servername: server name, for internal & display use\n" "hostname: name or IP address of server\n" @@ -2510,54 +2444,54 @@ msgid "" "realname: real name of user" msgstr "" -#: src/common/command.c:125 +#: src/common/command.c:115 msgid "save config to disk" msgstr "" -#: src/common/command.c:126 +#: src/common/command.c:116 msgid "[file]" msgstr "" -#: src/common/command.c:126 +#: src/common/command.c:116 msgid "file: filename for writing config" msgstr "" -#: src/common/command.c:128 +#: src/common/command.c:118 msgid "set config parameters" msgstr "" -#: src/common/command.c:129 +#: src/common/command.c:119 msgid "[option [ = value]]" msgstr "" -#: src/common/command.c:130 +#: src/common/command.c:120 msgid "" "option: name of an option (if name is full and no value is given, then help " "is displayed on option)\n" "value: value for option" msgstr "" -#: src/common/command.c:134 +#: src/common/command.c:124 msgid "remove an alias" msgstr "" -#: src/common/command.c:135 +#: src/common/command.c:125 msgid "alias_name" msgstr "" -#: src/common/command.c:135 +#: src/common/command.c:125 msgid "alias_name: name of alias to remove" msgstr "" -#: src/common/command.c:137 +#: src/common/command.c:127 msgid "unignore IRC messages and/or hosts" msgstr "" -#: src/common/command.c:138 +#: src/common/command.c:128 msgid "[number | [mask [[type | command] [channel [server]]]]]" msgstr "" -#: src/common/command.c:139 +#: src/common/command.c:129 msgid "" " number: # of ignore to unignore (number is displayed by list of ignore)\n" " mask: nick or host mask to unignore\n" @@ -2570,15 +2504,15 @@ msgid "" "Without argument, /unignore command lists all defined ignore." msgstr "" -#: src/common/command.c:148 +#: src/common/command.c:138 msgid "manage windows" msgstr "" -#: src/common/command.c:149 +#: src/common/command.c:139 msgid "[list | splith | splitv | [merge [down | up | left | right | all]]]" msgstr "" -#: src/common/command.c:150 +#: src/common/command.c:140 msgid "" "list: list opened windows (no parameter implies this list)\n" "splith: split current window horizontally\n" @@ -2586,490 +2520,471 @@ msgid "" "merge: merge window with another" msgstr "" -#: src/common/command.c:296 +#: src/common/command.c:286 #, c-format msgid "%s alias or command \"%s\" already exists!\n" msgstr "" -#: src/common/command.c:306 +#: src/common/command.c:296 #, c-format msgid "%s alias cannot run another alias!\n" msgstr "" -#: src/common/command.c:313 +#: src/common/command.c:303 #, c-format msgid "%s target command \"%s\" does not exist!\n" msgstr "" -#: src/common/command.c:521 +#: src/common/command.c:532 #, c-format msgid "%s wrong argument count for %s command \"%s\" (expected: %d arg%s)\n" msgstr "" -#: src/common/command.c:533 +#: src/common/command.c:544 #, c-format msgid "" "%s wrong argument count for %s command \"%s\" (expected: between %d and %d " "arg%s)\n" msgstr "" -#: src/common/command.c:555 src/common/command.c:625 +#: src/common/command.c:566 src/common/command.c:631 #, c-format msgid "%s command \"%s\" failed\n" msgstr "" -#: src/common/command.c:583 +#: src/common/command.c:589 #, c-format msgid "%s wrong argument count for IRC command \"%s\" (expected: %d arg%s)\n" msgstr "" -#: src/common/command.c:595 +#: src/common/command.c:601 #, c-format msgid "" "%s wrong argument count for IRC command \"%s\" (expected: between %d and %d " "arg%s)\n" msgstr "" -#: src/common/command.c:610 +#: src/common/command.c:616 #, c-format msgid "%s command \"%s\" needs a server connection!\n" msgstr "" -#: src/common/command.c:674 +#: src/common/command.c:670 #, c-format msgid "%s unknown command \"%s\" (type /help for help)\n" msgstr "" -#: src/common/command.c:777 +#: src/common/command.c:770 #, c-format msgid "%s unable to call handler for message (not enough memory)\n" msgstr "" -#: src/common/command.c:785 +#: src/common/command.c:778 msgid "This window is not a channel!\n" msgstr "" -#: src/common/command.c:813 src/common/command.c:837 src/common/command.c:947 +#: src/common/command.c:806 src/common/command.c:830 src/common/command.c:940 #, c-format msgid "%s missing arguments for \"%s\" command\n" msgstr "" -#: src/common/command.c:822 +#: src/common/command.c:815 #, c-format msgid "Alias \"%s\" => \"%s\" created\n" msgstr "" -#: src/common/command.c:828 +#: src/common/command.c:821 #, c-format msgid "Failed to create alias \"%s\" => \"%s\" (not enough memory)\n" msgstr "" -#: src/common/command.c:848 +#: src/common/command.c:841 msgid "List of aliases:\n" msgstr "" -#: src/common/command.c:860 +#: src/common/command.c:853 msgid "No alias defined.\n" msgstr "" -#: src/common/command.c:883 +#: src/common/command.c:876 msgid "Channel: " msgstr "" -#: src/common/command.c:886 src/common/command.c:896 +#: src/common/command.c:879 src/common/command.c:889 msgid " (server: " msgstr "" -#: src/common/command.c:893 +#: src/common/command.c:886 msgid "Private with: " msgstr "" -#: src/common/command.c:927 +#: src/common/command.c:920 msgid "Opened buffers:\n" msgstr "" -#: src/common/command.c:970 +#: src/common/command.c:963 #, c-format msgid "%s incorrect buffer number\n" msgstr "" -#: src/common/command.c:984 +#: src/common/command.c:977 #, c-format msgid "%s can not close the single buffer\n" msgstr "" -#: src/common/command.c:994 +#: src/common/command.c:987 #, c-format msgid "%s can not close server buffer while channels are opened\n" msgstr "" -#: src/common/command.c:1035 +#: src/common/command.c:1028 msgid "Notify levels: " msgstr "" -#: src/common/command.c:1063 src/common/command.c:1085 +#: src/common/command.c:1056 src/common/command.c:1078 #, c-format msgid "%s incorrect notify level (must be between %d and %d)\n" msgstr "" -#: src/common/command.c:1072 +#: src/common/command.c:1065 #, c-format msgid "%s incorrect buffer for notify (must be channel or private)\n" msgstr "" -#: src/common/command.c:1152 +#: src/common/command.c:1145 #, c-format msgid "unknown parameter \"%s\" for \"%s\" command\n" msgstr "" -#: src/common/command.c:1182 +#: src/common/command.c:1175 #, c-format msgid "%s already connected to server \"%s\"!\n" msgstr "" -#: src/common/command.c:1190 +#: src/common/command.c:1183 #, c-format msgid "%s currently connecting to server \"%s\"!\n" msgstr "" -#: src/common/command.c:1208 src/common/command.c:1283 +#: src/common/command.c:1201 src/common/command.c:1276 #, c-format msgid "%s server not found\n" msgstr "" -#: src/common/command.c:1238 src/common/command.c:1722 -#: src/common/command.c:1865 src/common/command.c:2008 -#: src/common/command.c:2828 src/common/command.c:2844 +#: src/common/command.c:1231 src/common/command.c:1753 +#: src/common/command.c:2572 src/common/command.c:2588 #, c-format msgid "%s unknown option for \"%s\" command\n" msgstr "" -#: src/common/command.c:1267 +#: src/common/command.c:1260 #, c-format msgid "%s not connected to server \"%s\"!\n" msgstr "" -#: src/common/command.c:1275 +#: src/common/command.c:1268 msgid "Auto-reconnection is cancelled\n" msgstr "" -#: src/common/command.c:1301 src/common/weechat.c:346 +#: src/common/command.c:1299 src/common/weechat.c:349 #, c-format msgid "%s internal commands:\n" msgstr "" -#: src/common/command.c:1310 src/common/weechat.c:366 +#: src/common/command.c:1308 src/common/weechat.c:369 #, c-format msgid "IRC commands:\n" msgstr "" -#: src/common/command.c:1377 +#: src/common/command.c:1321 +msgid "Plugin commands:\n" +msgstr "" + +#: src/common/command.c:1425 #, c-format msgid "No help available, \"%s\" is an unknown command\n" msgstr "" -#: src/common/command.c:1398 +#: src/common/command.c:1447 msgid " ignoring " msgstr "" -#: src/common/command.c:1422 +#: src/common/command.c:1471 msgid "List of ignore:\n" msgstr "" -#: src/common/command.c:1437 +#: src/common/command.c:1486 msgid "No ignore defined.\n" msgstr "" -#: src/common/command.c:1463 +#: src/common/command.c:1512 msgid "New ignore:" msgstr "" -#: src/common/command.c:1482 +#: src/common/command.c:1531 msgid "New key binding:\n" msgstr "" -#: src/common/command.c:1515 +#: src/common/command.c:1564 msgid "Key bindings:\n" msgstr "" -#: src/common/command.c:1527 +#: src/common/command.c:1576 #, c-format msgid "Key \"%s\" unbinded\n" msgstr "" -#: src/common/command.c:1532 +#: src/common/command.c:1581 #, c-format msgid "%s unable to unbind key \"%s\"\n" msgstr "" -#: src/common/command.c:1540 src/common/weechat.c:397 +#: src/common/command.c:1589 src/common/weechat.c:400 #, c-format msgid "Internal key functions:\n" msgstr "" -#: src/common/command.c:1559 +#: src/common/command.c:1608 msgid "Default key bindings restored\n" msgstr "" -#: src/common/command.c:1565 +#: src/common/command.c:1614 #, c-format msgid "%s \"-yes\" argument is required for keys reset (securuty reason)\n" msgstr "" -#: src/common/command.c:1621 src/common/command.c:1764 -#: src/common/command.c:1907 -#, c-format -msgid "Registered %s scripts:\n" +#: src/common/command.c:1670 +msgid "Plugins loaded:\n" msgstr "" -#: src/common/command.c:1638 src/common/command.c:1661 -#: src/common/command.c:1684 src/common/command.c:1781 -#: src/common/command.c:1804 src/common/command.c:1827 -#: src/common/command.c:1924 src/common/command.c:1947 -#: src/common/command.c:1970 -msgid " (none)\n" +#: src/common/command.c:1684 +msgid " message handlers:\n" msgstr "" -#: src/common/command.c:1643 src/common/command.c:1786 -#: src/common/command.c:1929 +#: src/common/command.c:1690 #, c-format -msgid "%s message handlers:\n" +msgid " IRC(%s)\n" msgstr "" -#: src/common/command.c:1652 src/common/command.c:1795 -#: src/common/command.c:1938 -#, c-format -msgid " IRC(%s) => %s(%s)\n" +#: src/common/command.c:1696 +msgid " (no message handler)\n" msgstr "" -#: src/common/command.c:1666 src/common/command.c:1809 -#: src/common/command.c:1952 -#, c-format -msgid "%s command handlers:\n" +#: src/common/command.c:1701 +msgid " command handlers:\n" msgstr "" -#: src/common/command.c:1675 src/common/command.c:1818 -#: src/common/command.c:1961 -#, c-format -msgid " Command /%s => %s(%s)\n" -msgstr "" - -#: src/common/command.c:1735 -msgid "" -"WeeChat was build without Perl support.\n" -"Please rebuild WeeChat with \"--enable-perl\" option for ./configure script\n" +#: src/common/command.c:1718 +msgid " (no command handler)\n" msgstr "" -#: src/common/command.c:1878 -msgid "" -"WeeChat was build without Python support.\n" -"Please rebuild WeeChat with \"--enable-python\" option for ./configure " -"script\n" +#: src/common/command.c:1724 +msgid " (no plugin)\n" msgstr "" -#: src/common/command.c:2021 +#: src/common/command.c:1766 msgid "" -"WeeChat was build without Ruby support.\n" -"Please rebuild WeeChat with \"--enable-ruby\" option for ./configure script\n" +"Command \"plugin\" is not available, WeeChat was built without plugins " +"support.\n" msgstr "" -#: src/common/command.c:2069 +#: src/common/command.c:1813 msgid "No server.\n" msgstr "" -#: src/common/command.c:2080 +#: src/common/command.c:1824 #, c-format msgid "Server '%s' not found.\n" msgstr "" -#: src/common/command.c:2092 +#: src/common/command.c:1836 #, c-format msgid "%s missing servername for \"%s\" command\n" msgstr "" -#: src/common/command.c:2100 +#: src/common/command.c:1844 #, c-format msgid "%s too much arguments for \"%s\" command, ignoring arguments\n" msgstr "" -#: src/common/command.c:2119 +#: src/common/command.c:1863 #, c-format msgid "%s server \"%s\" not found for \"%s\" command\n" msgstr "" -#: src/common/command.c:2127 +#: src/common/command.c:1871 #, c-format msgid "" "%s you can not delete server \"%s\" because you are connected to. Try /" "disconnect %s before.\n" msgstr "" -#: src/common/command.c:2143 src/common/command.c:2289 +#: src/common/command.c:1887 src/common/command.c:2033 msgid "Server" msgstr "" -#: src/common/command.c:2146 +#: src/common/command.c:1890 msgid "has been deleted\n" msgstr "" -#: src/common/command.c:2161 +#: src/common/command.c:1905 #, c-format msgid "%s missing parameters for \"%s\" command\n" msgstr "" -#: src/common/command.c:2171 +#: src/common/command.c:1915 #, c-format msgid "%s server \"%s\" already exists, can't create it!\n" msgstr "" -#: src/common/command.c:2200 src/common/command.c:2228 -#: src/common/command.c:2241 src/common/command.c:2267 +#: src/common/command.c:1944 src/common/command.c:1972 +#: src/common/command.c:1985 src/common/command.c:2011 #, c-format msgid "%s missing password for \"%s\" parameter\n" msgstr "" -#: src/common/command.c:2213 +#: src/common/command.c:1957 #, c-format msgid "%s missing nick(s) for \"%s\" parameter\n" msgstr "" -#: src/common/command.c:2254 +#: src/common/command.c:1998 #, c-format msgid "%s missing command for \"%s\" parameter\n" msgstr "" -#: src/common/command.c:2292 +#: src/common/command.c:2036 msgid "created\n" msgstr "" -#: src/common/command.c:2298 +#: src/common/command.c:2042 #, c-format msgid "%s unable to create server\n" msgstr "" -#: src/common/command.c:2353 +#: src/common/command.c:2097 msgid "(unknown)" msgstr "" -#: src/common/command.c:2376 +#: src/common/command.c:2120 msgid "(password hidden) " msgstr "" -#: src/common/command.c:2440 +#: src/common/command.c:2184 #, c-format msgid "%s server \"%s\" not found\n" msgstr "" -#: src/common/command.c:2471 src/common/command.c:2517 +#: src/common/command.c:2215 src/common/command.c:2261 #, c-format msgid "%s config option \"%s\" not found\n" msgstr "" -#: src/common/command.c:2476 src/common/command.c:2509 +#: src/common/command.c:2220 src/common/command.c:2253 #, c-format msgid "%s incorrect value for option \"%s\"\n" msgstr "" -#: src/common/command.c:2492 +#: src/common/command.c:2236 #, c-format msgid "%s option \"%s\" can not be changed while WeeChat is running\n" msgstr "" -#: src/common/command.c:2597 +#: src/common/command.c:2341 #, c-format msgid "No config option found with \"%s\"\n" msgstr "" -#: src/common/command.c:2600 +#: src/common/command.c:2344 msgid "No config option found\n" msgstr "" -#: src/common/command.c:2607 +#: src/common/command.c:2351 msgid "Detail:\n" msgstr "" -#: src/common/command.c:2611 src/common/weechat.c:283 +#: src/common/command.c:2355 src/common/weechat.c:286 #, c-format msgid " . type boolean (values: 'on' or 'off')\n" msgstr "" -#: src/common/command.c:2612 src/common/command.c:2635 -#: src/common/command.c:2641 src/common/command.c:2647 -#: src/common/weechat.c:284 src/common/weechat.c:307 src/common/weechat.c:313 -#: src/common/weechat.c:319 +#: src/common/command.c:2356 src/common/command.c:2379 +#: src/common/command.c:2385 src/common/command.c:2391 +#: src/common/weechat.c:287 src/common/weechat.c:310 src/common/weechat.c:316 +#: src/common/weechat.c:322 #, c-format msgid " . default value: '%s'\n" msgstr "" -#: src/common/command.c:2617 src/common/weechat.c:289 +#: src/common/command.c:2361 src/common/weechat.c:292 #, c-format msgid " . type integer (values: between %d and %d)\n" msgstr "" -#: src/common/command.c:2620 src/common/weechat.c:292 +#: src/common/command.c:2364 src/common/weechat.c:295 #, c-format msgid " . default value: %d\n" msgstr "" -#: src/common/command.c:2624 src/common/weechat.c:296 +#: src/common/command.c:2368 src/common/weechat.c:299 #, c-format msgid " . type string (values: " msgstr "" -#: src/common/command.c:2637 src/common/command.c:2643 -#: src/common/command.c:2649 src/common/weechat.c:309 src/common/weechat.c:315 -#: src/common/weechat.c:321 +#: src/common/command.c:2381 src/common/command.c:2387 +#: src/common/command.c:2393 src/common/weechat.c:312 src/common/weechat.c:318 +#: src/common/weechat.c:324 msgid "empty" msgstr "" -#: src/common/command.c:2640 src/common/weechat.c:312 +#: src/common/command.c:2384 src/common/weechat.c:315 #, c-format msgid " . type color (Curses or Gtk color, look at WeeChat doc)\n" msgstr "" -#: src/common/command.c:2646 src/common/weechat.c:318 +#: src/common/command.c:2390 src/common/weechat.c:321 #, c-format msgid " . type string (any string)\n" msgstr "" -#: src/common/command.c:2652 src/common/weechat.c:324 +#: src/common/command.c:2396 src/common/weechat.c:327 #, c-format msgid " . description: %s\n" msgstr "" -#: src/common/command.c:2659 +#: src/common/command.c:2403 #, c-format msgid "config option(s) found with \"%s\"\n" msgstr "" -#: src/common/command.c:2662 +#: src/common/command.c:2406 msgid "config option(s) found\n" msgstr "" -#: src/common/command.c:2683 +#: src/common/command.c:2427 #, c-format msgid "%s alias or command \"%s\" not found\n" msgstr "" -#: src/common/command.c:2693 +#: src/common/command.c:2437 #, c-format msgid "Alias \"%s\" removed\n" msgstr "" -#: src/common/command.c:2746 +#: src/common/command.c:2490 msgid "ignore were removed.\n" msgstr "" -#: src/common/command.c:2748 +#: src/common/command.c:2492 msgid "ignore was removed.\n" msgstr "" -#: src/common/command.c:2753 +#: src/common/command.c:2497 #, c-format msgid "%s no ignore found\n" msgstr "" -#: src/common/command.c:2776 +#: src/common/command.c:2520 msgid "Opened windows:\n" msgstr "" @@ -3132,82 +3047,82 @@ msgstr "" msgid "**** End of log " msgstr "" -#: src/common/weechat.c:270 +#: src/common/weechat.c:273 #, c-format msgid "" "WeeChat configuration options (~/.weechat/weechat.rc):\n" "\n" msgstr "" -#: src/common/weechat.c:331 +#: src/common/weechat.c:334 #, c-format msgid "" "Moreover, you can define aliases in [alias] section, by adding lines like:\n" msgstr "" -#: src/common/weechat.c:333 +#: src/common/weechat.c:336 #, c-format msgid "" "where 'j' is alias name, and 'join' associated command.\n" "\n" msgstr "" -#: src/common/weechat.c:418 +#: src/common/weechat.c:421 #, c-format msgid "%s default keys:\n" msgstr "" -#: src/common/weechat.c:498 +#: src/common/weechat.c:501 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "" -#: src/common/weechat.c:511 +#: src/common/weechat.c:514 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "" -#: src/common/weechat.c:520 +#: src/common/weechat.c:523 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "" -#: src/common/weechat.c:540 +#: src/common/weechat.c:543 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "" -#: src/common/weechat.c:566 +#: src/common/weechat.c:569 #, c-format msgid "%s unable to get HOME directory\n" msgstr "" -#: src/common/weechat.c:575 +#: src/common/weechat.c:578 #, c-format msgid "%s not enough memory for home directory\n" msgstr "" -#: src/common/weechat.c:585 +#: src/common/weechat.c:588 #, c-format msgid "%s unable to create ~/.weechat directory\n" msgstr "" -#: src/common/weechat.c:637 +#: src/common/weechat.c:601 #, c-format msgid "%s unable to create ~/.weechat/logs directory\n" msgstr "" -#: src/common/weechat.c:680 +#: src/common/weechat.c:644 #, c-format msgid "%s unable to create/append to log file (~/.weechat/%s)" msgstr "" -#: src/common/weechat.c:703 +#: src/common/weechat.c:667 #, c-format msgid "%sWelcome to " msgstr "" -#: src/common/weechat.c:716 src/common/weechat.c:725 +#: src/common/weechat.c:680 src/common/weechat.c:689 msgid "compiled on" msgstr "" @@ -3219,967 +3134,992 @@ msgstr "" msgid "WeeChat Warning:" msgstr "" -#: src/common/weeconfig.c:95 src/common/weeconfig.c:96 +#: src/common/weeconfig.c:96 src/common/weeconfig.c:97 msgid "set title for window (terminal for Curses GUI) with name & version" msgstr "" -#: src/common/weeconfig.c:99 src/common/weeconfig.c:100 +#: src/common/weeconfig.c:100 src/common/weeconfig.c:101 msgid "display WeeChat logo at startup" msgstr "" -#: src/common/weeconfig.c:103 src/common/weeconfig.c:104 +#: src/common/weeconfig.c:104 src/common/weeconfig.c:105 msgid "display WeeChat version at startup" msgstr "" -#: src/common/weeconfig.c:107 +#: src/common/weeconfig.c:108 msgid "WeeChat slogan" msgstr "" -#: src/common/weeconfig.c:108 +#: src/common/weeconfig.c:109 msgid "WeeChat slogan (if empty, slogan is not used)" msgstr "" -#: src/common/weeconfig.c:111 +#: src/common/weeconfig.c:112 msgid "charset for decoding messages from server" msgstr "" -#: src/common/weeconfig.c:112 +#: src/common/weeconfig.c:113 msgid "" "charset for decoding messages from server, examples: UTF-8, ISO-8859-1 (if " "empty, messages are not converted)" msgstr "" -#: src/common/weeconfig.c:115 +#: src/common/weeconfig.c:116 msgid "charset for encoding messages sent to server" msgstr "" -#: src/common/weeconfig.c:116 +#: src/common/weeconfig.c:117 msgid "" "charset for encoding messages sent to server, examples: UFT-8, ISO-8859-1 " "(if empty, local charset is used)" msgstr "" -#: src/common/weeconfig.c:119 +#: src/common/weeconfig.c:120 msgid "internal WeeChat charset (should be ISO)" msgstr "" -#: src/common/weeconfig.c:120 +#: src/common/weeconfig.c:121 msgid "" "internal WeeChat charset, should be ISO-xxxx even if locale is UTF-8 (if " "empty, local charset is used)" msgstr "" -#: src/common/weeconfig.c:123 src/common/weeconfig.c:124 +#: src/common/weeconfig.c:124 src/common/weeconfig.c:125 msgid "timestamp for buffers" msgstr "" -#: src/common/weeconfig.c:127 src/common/weeconfig.c:128 +#: src/common/weeconfig.c:128 src/common/weeconfig.c:129 msgid "display nick names with different colors" msgstr "" -#: src/common/weeconfig.c:131 src/common/weeconfig.c:132 +#: src/common/weeconfig.c:132 src/common/weeconfig.c:133 msgid "number of colors to use for nicks colors" msgstr "" -#: src/common/weeconfig.c:135 src/common/weeconfig.c:136 +#: src/common/weeconfig.c:136 src/common/weeconfig.c:137 msgid "display actions with different colors" msgstr "" -#: src/common/weeconfig.c:139 src/common/weeconfig.c:140 +#: src/common/weeconfig.c:140 src/common/weeconfig.c:141 msgid "remove colors from incoming messages" msgstr "" -#: src/common/weeconfig.c:143 +#: src/common/weeconfig.c:144 msgid "display nicklist window" msgstr "" -#: src/common/weeconfig.c:144 +#: src/common/weeconfig.c:145 msgid "display nicklist window (for channel windows)" msgstr "" -#: src/common/weeconfig.c:147 +#: src/common/weeconfig.c:148 msgid "nicklist position" msgstr "" -#: src/common/weeconfig.c:148 +#: src/common/weeconfig.c:149 msgid "nicklist position (top, left, right (default), bottom)" msgstr "" -#: src/common/weeconfig.c:151 +#: src/common/weeconfig.c:152 msgid "min size for nicklist" msgstr "" -#: src/common/weeconfig.c:152 +#: src/common/weeconfig.c:153 msgid "" "min size for nicklist (width or height, depending on look_nicklist_position " "(0 = no min size))" msgstr "" -#: src/common/weeconfig.c:156 +#: src/common/weeconfig.c:157 msgid "max size for nicklist" msgstr "" -#: src/common/weeconfig.c:157 +#: src/common/weeconfig.c:158 msgid "" "max size for nicklist (width or height, depending on look_nicklist_position " "(0 = no max size; if min == max and > 0, then size is fixed))" msgstr "" -#: src/common/weeconfig.c:161 src/common/weeconfig.c:162 +#: src/common/weeconfig.c:162 src/common/weeconfig.c:163 msgid "text to display instead of nick when not connected" msgstr "" -#: src/common/weeconfig.c:165 src/common/weeconfig.c:166 +#: src/common/weeconfig.c:166 src/common/weeconfig.c:167 msgid "display nick mode ((half)op/voice) before each nick" msgstr "" -#: src/common/weeconfig.c:169 src/common/weeconfig.c:170 +#: src/common/weeconfig.c:170 src/common/weeconfig.c:171 msgid "display space if nick mode is not (half)op/voice" msgstr "" -#: src/common/weeconfig.c:173 src/common/weeconfig.c:174 +#: src/common/weeconfig.c:174 src/common/weeconfig.c:175 msgid "the string inserted after nick completion" msgstr "" -#: src/common/weeconfig.c:177 src/common/weeconfig.c:178 +#: src/common/weeconfig.c:178 src/common/weeconfig.c:179 msgid "enable info bar" msgstr "" -#: src/common/weeconfig.c:181 src/common/weeconfig.c:182 +#: src/common/weeconfig.c:182 src/common/weeconfig.c:183 msgid "timestamp for time in infobar" msgstr "" -#: src/common/weeconfig.c:185 src/common/weeconfig.c:186 +#: src/common/weeconfig.c:186 src/common/weeconfig.c:187 msgid "display seconds in infobar time" msgstr "" -#: src/common/weeconfig.c:189 +#: src/common/weeconfig.c:190 msgid "delay (in seconds) for highlight messages in infobar" msgstr "" -#: src/common/weeconfig.c:190 +#: src/common/weeconfig.c:191 msgid "" "delay (in seconds) for highlight messages in infobar (0 = disable highlight " "notifications in infobar)" msgstr "" -#: src/common/weeconfig.c:194 +#: src/common/weeconfig.c:195 msgid "max number of names in hotlist" msgstr "" -#: src/common/weeconfig.c:195 +#: src/common/weeconfig.c:196 msgid "" "max number of names in hotlist (0 = no name displayed, only buffer numbers)" msgstr "" -#: src/common/weeconfig.c:198 +#: src/common/weeconfig.c:199 msgid "level for displaying names in hotlist" msgstr "" -#: src/common/weeconfig.c:199 +#: src/common/weeconfig.c:200 msgid "" "level for displaying names in hotlist (combination of: 1=join/part, " "2=message, 4=private, 8=highlight, for example: 12=private+highlight)" msgstr "" -#: src/common/weeconfig.c:203 +#: src/common/weeconfig.c:204 msgid "max length of names in hotlist" msgstr "" -#: src/common/weeconfig.c:204 +#: src/common/weeconfig.c:205 msgid "max length of names in hotlist (0 = no limit)" msgstr "" -#: src/common/weeconfig.c:268 src/common/weeconfig.c:269 +#: src/common/weeconfig.c:269 src/common/weeconfig.c:270 msgid "color for title bar" msgstr "" -#: src/common/weeconfig.c:272 src/common/weeconfig.c:273 +#: src/common/weeconfig.c:273 src/common/weeconfig.c:274 msgid "background for title bar" msgstr "" -#: src/common/weeconfig.c:278 src/common/weeconfig.c:279 +#: src/common/weeconfig.c:279 src/common/weeconfig.c:280 msgid "color for chat text" msgstr "" -#: src/common/weeconfig.c:282 +#: src/common/weeconfig.c:283 msgid "color for time" msgstr "" -#: src/common/weeconfig.c:283 +#: src/common/weeconfig.c:284 msgid "color for time in chat window" msgstr "" -#: src/common/weeconfig.c:286 +#: src/common/weeconfig.c:287 msgid "color for time separator" msgstr "" -#: src/common/weeconfig.c:287 +#: src/common/weeconfig.c:288 msgid "color for time separator (chat window)" msgstr "" -#: src/common/weeconfig.c:290 src/common/weeconfig.c:291 +#: src/common/weeconfig.c:291 src/common/weeconfig.c:292 msgid "color for 1st and 3rd char of prefix" msgstr "" -#: src/common/weeconfig.c:294 src/common/weeconfig.c:295 +#: src/common/weeconfig.c:295 src/common/weeconfig.c:296 msgid "color for middle char of prefix" msgstr "" -#: src/common/weeconfig.c:298 src/common/weeconfig.c:299 +#: src/common/weeconfig.c:299 src/common/weeconfig.c:300 msgid "color for join arrow (prefix)" msgstr "" -#: src/common/weeconfig.c:302 src/common/weeconfig.c:303 +#: src/common/weeconfig.c:303 src/common/weeconfig.c:304 msgid "color for part/quit arrow (prefix)" msgstr "" -#: src/common/weeconfig.c:306 +#: src/common/weeconfig.c:307 msgid "color for nicks in actions" msgstr "" -#: src/common/weeconfig.c:307 +#: src/common/weeconfig.c:308 msgid "color for nicks in actions (chat window)" msgstr "" -#: src/common/weeconfig.c:310 +#: src/common/weeconfig.c:311 msgid "color for hostnames" msgstr "" -#: src/common/weeconfig.c:311 +#: src/common/weeconfig.c:312 msgid "color for hostnames (chat window)" msgstr "" -#: src/common/weeconfig.c:314 +#: src/common/weeconfig.c:315 msgid "color for channel names in actions" msgstr "" -#: src/common/weeconfig.c:315 +#: src/common/weeconfig.c:316 msgid "color for channel names in actions (chat window)" msgstr "" -#: src/common/weeconfig.c:318 +#: src/common/weeconfig.c:319 msgid "color for dark separators" msgstr "" -#: src/common/weeconfig.c:319 +#: src/common/weeconfig.c:320 msgid "color for dark separators (chat window)" msgstr "" -#: src/common/weeconfig.c:322 +#: src/common/weeconfig.c:323 msgid "color for highlighted nick" msgstr "" -#: src/common/weeconfig.c:323 +#: src/common/weeconfig.c:324 msgid "color for highlighted nick (chat window)" msgstr "" -#: src/common/weeconfig.c:326 +#: src/common/weeconfig.c:327 msgid "background for chat" msgstr "" -#: src/common/weeconfig.c:327 +#: src/common/weeconfig.c:328 msgid "background for chat window" msgstr "" -#: src/common/weeconfig.c:332 src/common/weeconfig.c:333 +#: src/common/weeconfig.c:333 src/common/weeconfig.c:334 msgid "color for status bar" msgstr "" -#: src/common/weeconfig.c:336 src/common/weeconfig.c:337 +#: src/common/weeconfig.c:337 src/common/weeconfig.c:338 msgid "color for status bar delimiters" msgstr "" -#: src/common/weeconfig.c:340 src/common/weeconfig.c:341 +#: src/common/weeconfig.c:341 src/common/weeconfig.c:342 msgid "color for current channel in status bar" msgstr "" -#: src/common/weeconfig.c:344 +#: src/common/weeconfig.c:345 msgid "color for window with new messages" msgstr "" -#: src/common/weeconfig.c:345 +#: src/common/weeconfig.c:346 msgid "color for window with new messages (status bar)" msgstr "" -#: src/common/weeconfig.c:348 +#: src/common/weeconfig.c:349 msgid "color for window with private message" msgstr "" -#: src/common/weeconfig.c:349 +#: src/common/weeconfig.c:350 msgid "color for window with private message (status bar)" msgstr "" -#: src/common/weeconfig.c:352 +#: src/common/weeconfig.c:353 msgid "color for window with highlight" msgstr "" -#: src/common/weeconfig.c:353 +#: src/common/weeconfig.c:354 msgid "color for window with highlight (status bar)" msgstr "" -#: src/common/weeconfig.c:356 +#: src/common/weeconfig.c:357 msgid "color for window with new data (not messages)" msgstr "" -#: src/common/weeconfig.c:357 +#: src/common/weeconfig.c:358 msgid "color for window with new data (not messages) (status bar)" msgstr "" -#: src/common/weeconfig.c:360 +#: src/common/weeconfig.c:361 msgid "color for \"-MORE-\" text" msgstr "" -#: src/common/weeconfig.c:361 +#: src/common/weeconfig.c:362 msgid "color for window with new data (status bar)" msgstr "" -#: src/common/weeconfig.c:364 src/common/weeconfig.c:365 +#: src/common/weeconfig.c:365 src/common/weeconfig.c:366 msgid "background for status window" msgstr "" -#: src/common/weeconfig.c:370 src/common/weeconfig.c:371 +#: src/common/weeconfig.c:371 src/common/weeconfig.c:372 msgid "color for info bar text" msgstr "" -#: src/common/weeconfig.c:374 src/common/weeconfig.c:375 +#: src/common/weeconfig.c:375 src/common/weeconfig.c:376 msgid "color for infobar delimiters" msgstr "" -#: src/common/weeconfig.c:378 src/common/weeconfig.c:379 +#: src/common/weeconfig.c:379 src/common/weeconfig.c:380 msgid "color for info bar highlight notification" msgstr "" -#: src/common/weeconfig.c:382 src/common/weeconfig.c:383 +#: src/common/weeconfig.c:383 src/common/weeconfig.c:384 msgid "background for info bar window" msgstr "" -#: src/common/weeconfig.c:388 src/common/weeconfig.c:389 +#: src/common/weeconfig.c:389 src/common/weeconfig.c:390 msgid "color for input text" msgstr "" -#: src/common/weeconfig.c:392 src/common/weeconfig.c:393 +#: src/common/weeconfig.c:393 src/common/weeconfig.c:394 msgid "color for input text (channel name)" msgstr "" -#: src/common/weeconfig.c:396 src/common/weeconfig.c:397 +#: src/common/weeconfig.c:397 src/common/weeconfig.c:398 msgid "color for input text (nick name)" msgstr "" -#: src/common/weeconfig.c:400 src/common/weeconfig.c:401 +#: src/common/weeconfig.c:401 src/common/weeconfig.c:402 msgid "color for input text (delimiters)" msgstr "" -#: src/common/weeconfig.c:404 src/common/weeconfig.c:405 +#: src/common/weeconfig.c:405 src/common/weeconfig.c:406 msgid "background for input window" msgstr "" -#: src/common/weeconfig.c:410 src/common/weeconfig.c:411 +#: src/common/weeconfig.c:411 src/common/weeconfig.c:412 msgid "color for nicknames" msgstr "" -#: src/common/weeconfig.c:414 src/common/weeconfig.c:415 +#: src/common/weeconfig.c:415 src/common/weeconfig.c:416 msgid "color for away nicknames" msgstr "" -#: src/common/weeconfig.c:418 +#: src/common/weeconfig.c:419 msgid "color for chan owner symbol" msgstr "" -#: src/common/weeconfig.c:419 +#: src/common/weeconfig.c:420 msgid "color for chan owner symbol (specific to unrealircd)" msgstr "" -#: src/common/weeconfig.c:422 +#: src/common/weeconfig.c:423 msgid "color for chan admin symbol" msgstr "" -#: src/common/weeconfig.c:423 +#: src/common/weeconfig.c:424 msgid "color for chan admin symbol (specific to unrealircd)" msgstr "" -#: src/common/weeconfig.c:426 src/common/weeconfig.c:427 +#: src/common/weeconfig.c:427 src/common/weeconfig.c:428 msgid "color for operator symbol" msgstr "" -#: src/common/weeconfig.c:430 src/common/weeconfig.c:431 +#: src/common/weeconfig.c:431 src/common/weeconfig.c:432 msgid "color for half-operator symbol" msgstr "" -#: src/common/weeconfig.c:434 src/common/weeconfig.c:435 +#: src/common/weeconfig.c:435 src/common/weeconfig.c:436 msgid "color for voice symbol" msgstr "" -#: src/common/weeconfig.c:438 src/common/weeconfig.c:439 +#: src/common/weeconfig.c:439 src/common/weeconfig.c:440 msgid "color for '+' when scrolling nicks" msgstr "" -#: src/common/weeconfig.c:442 src/common/weeconfig.c:443 +#: src/common/weeconfig.c:443 src/common/weeconfig.c:444 msgid "color for nick separator" msgstr "" -#: src/common/weeconfig.c:446 src/common/weeconfig.c:447 +#: src/common/weeconfig.c:447 src/common/weeconfig.c:448 msgid "color for local nick" msgstr "" -#: src/common/weeconfig.c:450 src/common/weeconfig.c:451 -#: src/common/weeconfig.c:454 src/common/weeconfig.c:455 -#: src/common/weeconfig.c:458 src/common/weeconfig.c:459 -#: src/common/weeconfig.c:462 src/common/weeconfig.c:463 -#: src/common/weeconfig.c:466 src/common/weeconfig.c:467 -#: src/common/weeconfig.c:470 src/common/weeconfig.c:471 -#: src/common/weeconfig.c:474 src/common/weeconfig.c:475 -#: src/common/weeconfig.c:478 src/common/weeconfig.c:479 -#: src/common/weeconfig.c:482 src/common/weeconfig.c:483 -#: src/common/weeconfig.c:486 src/common/weeconfig.c:487 +#: src/common/weeconfig.c:451 src/common/weeconfig.c:452 +#: src/common/weeconfig.c:455 src/common/weeconfig.c:456 +#: src/common/weeconfig.c:459 src/common/weeconfig.c:460 +#: src/common/weeconfig.c:463 src/common/weeconfig.c:464 +#: src/common/weeconfig.c:467 src/common/weeconfig.c:468 +#: src/common/weeconfig.c:471 src/common/weeconfig.c:472 +#: src/common/weeconfig.c:475 src/common/weeconfig.c:476 +#: src/common/weeconfig.c:479 src/common/weeconfig.c:480 +#: src/common/weeconfig.c:483 src/common/weeconfig.c:484 +#: src/common/weeconfig.c:487 src/common/weeconfig.c:488 msgid "color for nick" msgstr "" -#: src/common/weeconfig.c:490 src/common/weeconfig.c:491 +#: src/common/weeconfig.c:491 src/common/weeconfig.c:492 msgid "color for other nick in private window" msgstr "" -#: src/common/weeconfig.c:494 src/common/weeconfig.c:495 +#: src/common/weeconfig.c:495 src/common/weeconfig.c:496 msgid "background for nicknames" msgstr "" -#: src/common/weeconfig.c:500 +#: src/common/weeconfig.c:501 msgid "color for selected DCC" msgstr "" -#: src/common/weeconfig.c:501 +#: src/common/weeconfig.c:502 msgid "color for selected DCC (chat window)" msgstr "" -#: src/common/weeconfig.c:504 src/common/weeconfig.c:505 +#: src/common/weeconfig.c:505 src/common/weeconfig.c:506 msgid "color for \"waiting\" dcc status" msgstr "" -#: src/common/weeconfig.c:508 src/common/weeconfig.c:509 +#: src/common/weeconfig.c:509 src/common/weeconfig.c:510 msgid "color for \"connecting\" dcc status" msgstr "" -#: src/common/weeconfig.c:512 src/common/weeconfig.c:513 +#: src/common/weeconfig.c:513 src/common/weeconfig.c:514 msgid "color for \"active\" dcc status" msgstr "" -#: src/common/weeconfig.c:516 src/common/weeconfig.c:517 +#: src/common/weeconfig.c:517 src/common/weeconfig.c:518 msgid "color for \"done\" dcc status" msgstr "" -#: src/common/weeconfig.c:520 src/common/weeconfig.c:521 +#: src/common/weeconfig.c:521 src/common/weeconfig.c:522 msgid "color for \"failed\" dcc status" msgstr "" -#: src/common/weeconfig.c:524 src/common/weeconfig.c:525 +#: src/common/weeconfig.c:525 src/common/weeconfig.c:526 msgid "color for \"aborted\" dcc status" msgstr "" -#: src/common/weeconfig.c:538 +#: src/common/weeconfig.c:539 msgid "max lines in history (per window)" msgstr "" -#: src/common/weeconfig.c:539 +#: src/common/weeconfig.c:540 msgid "" "maximum number of lines in history for one server/channel/private window (0 " "= unlimited)" msgstr "" -#: src/common/weeconfig.c:543 +#: src/common/weeconfig.c:544 msgid "max user commands in history" msgstr "" -#: src/common/weeconfig.c:544 +#: src/common/weeconfig.c:545 msgid "maximum number of user commands in history (0 = unlimited)" msgstr "" -#: src/common/weeconfig.c:561 src/common/weeconfig.c:562 +#: src/common/weeconfig.c:562 src/common/weeconfig.c:563 msgid "automatically log server messages" msgstr "" -#: src/common/weeconfig.c:565 src/common/weeconfig.c:566 +#: src/common/weeconfig.c:566 src/common/weeconfig.c:567 msgid "automatically log channel chats" msgstr "" -#: src/common/weeconfig.c:569 src/common/weeconfig.c:570 +#: src/common/weeconfig.c:570 src/common/weeconfig.c:571 msgid "automatically log private chats" msgstr "" -#: src/common/weeconfig.c:573 src/common/weeconfig.c:574 +#: src/common/weeconfig.c:574 src/common/weeconfig.c:575 msgid "log messages from plugins (scripts)" msgstr "" -#: src/common/weeconfig.c:577 +#: src/common/weeconfig.c:578 msgid "path for log files" msgstr "" -#: src/common/weeconfig.c:578 +#: src/common/weeconfig.c:579 msgid "path for WeeChat log files" msgstr "" -#: src/common/weeconfig.c:581 +#: src/common/weeconfig.c:582 msgid "timestamp for log" msgstr "" -#: src/common/weeconfig.c:582 +#: src/common/weeconfig.c:583 msgid "timestamp for log (see man strftime for date/time specifiers)" msgstr "" -#: src/common/weeconfig.c:585 src/common/weeconfig.c:586 +#: src/common/weeconfig.c:586 src/common/weeconfig.c:587 msgid "hide password displayed by nickserv" msgstr "" -#: src/common/weeconfig.c:607 +#: src/common/weeconfig.c:608 msgid "display message to all channels when away" msgstr "" -#: src/common/weeconfig.c:608 +#: src/common/weeconfig.c:609 msgid "display message to all channels when (un)marking as away" msgstr "" -#: src/common/weeconfig.c:611 src/common/weeconfig.c:612 +#: src/common/weeconfig.c:612 src/common/weeconfig.c:613 msgid "default message when away" msgstr "" -#: src/common/weeconfig.c:615 src/common/weeconfig.c:616 +#: src/common/weeconfig.c:616 src/common/weeconfig.c:617 msgid "default part message (leaving channel)" msgstr "" -#: src/common/weeconfig.c:619 +#: src/common/weeconfig.c:620 msgid "default quit message" msgstr "" -#: src/common/weeconfig.c:620 +#: src/common/weeconfig.c:621 msgid "" "default quit message ('%v' will be replaced by WeeChat version in string)" msgstr "" -#: src/common/weeconfig.c:623 src/common/weeconfig.c:624 +#: src/common/weeconfig.c:624 src/common/weeconfig.c:625 msgid "display notices as private messages" msgstr "" -#: src/common/weeconfig.c:627 +#: src/common/weeconfig.c:628 msgid "interval between two checks for away" msgstr "" -#: src/common/weeconfig.c:628 +#: src/common/weeconfig.c:629 msgid "interval between two checks for away (in minutes, 0 = never check)" msgstr "" -#: src/common/weeconfig.c:631 +#: src/common/weeconfig.c:632 msgid "interval between two checks for lag" msgstr "" -#: src/common/weeconfig.c:632 +#: src/common/weeconfig.c:633 msgid "interval between two checks for lag (in seconds)" msgstr "" -#: src/common/weeconfig.c:635 +#: src/common/weeconfig.c:636 msgid "minimum lag to show" msgstr "" -#: src/common/weeconfig.c:636 +#: src/common/weeconfig.c:637 msgid "minimum lag to show (in seconds)" msgstr "" -#: src/common/weeconfig.c:639 +#: src/common/weeconfig.c:640 msgid "disconnect after important lag" msgstr "" -#: src/common/weeconfig.c:640 +#: src/common/weeconfig.c:641 msgid "disconnect after important lag (in minutes, 0 = never disconnect)" msgstr "" -#: src/common/weeconfig.c:643 src/common/weeconfig.c:644 +#: src/common/weeconfig.c:644 src/common/weeconfig.c:645 msgid "create a FIFO pipe for remote control" msgstr "" -#: src/common/weeconfig.c:647 +#: src/common/weeconfig.c:648 msgid "list of words to highlight" msgstr "" -#: src/common/weeconfig.c:648 +#: src/common/weeconfig.c:649 msgid "" "comma separated list of words to highlight (case insensitive comparison)" msgstr "" -#: src/common/weeconfig.c:667 +#: src/common/weeconfig.c:668 msgid "automatically accept dcc files" msgstr "" -#: src/common/weeconfig.c:668 +#: src/common/weeconfig.c:669 msgid "automatically accept incoming dcc files" msgstr "" -#: src/common/weeconfig.c:671 +#: src/common/weeconfig.c:672 msgid "automatically accept dcc chats" msgstr "" -#: src/common/weeconfig.c:672 +#: src/common/weeconfig.c:673 msgid "automatically accept dcc chats (use carefully!)" msgstr "" -#: src/common/weeconfig.c:675 +#: src/common/weeconfig.c:676 msgid "timeout for dcc request" msgstr "" -#: src/common/weeconfig.c:676 +#: src/common/weeconfig.c:677 msgid "timeout for dcc request (in seconds)" msgstr "" -#: src/common/weeconfig.c:679 +#: src/common/weeconfig.c:680 msgid "block size for dcc packets" msgstr "" -#: src/common/weeconfig.c:680 +#: src/common/weeconfig.c:681 msgid "block size for dcc packets in bytes (default: 65536)" msgstr "" -#: src/common/weeconfig.c:683 +#: src/common/weeconfig.c:684 msgid "path for incoming files with dcc" msgstr "" -#: src/common/weeconfig.c:684 +#: src/common/weeconfig.c:685 msgid "path for writing incoming files with dcc (default: user home)" msgstr "" -#: src/common/weeconfig.c:687 +#: src/common/weeconfig.c:688 msgid "default path for sending files with dcc" msgstr "" -#: src/common/weeconfig.c:688 +#: src/common/weeconfig.c:689 msgid "" "path for reading files when sending thru dcc (when no path is specified)" msgstr "" -#: src/common/weeconfig.c:691 src/common/weeconfig.c:692 +#: src/common/weeconfig.c:692 src/common/weeconfig.c:693 msgid "convert spaces to underscores when sending files" msgstr "" -#: src/common/weeconfig.c:695 +#: src/common/weeconfig.c:696 msgid "automatically rename dcc files if already exists" msgstr "" -#: src/common/weeconfig.c:696 +#: src/common/weeconfig.c:697 msgid "rename incoming files if already exists (add '.1', '.2', ...)" msgstr "" -#: src/common/weeconfig.c:699 +#: src/common/weeconfig.c:700 msgid "automatically resume aborted transfers" msgstr "" -#: src/common/weeconfig.c:700 +#: src/common/weeconfig.c:701 msgid "" "automatically resume dcc transfer if connection with remote host is loosed" msgstr "" -#: src/common/weeconfig.c:719 +#: src/common/weeconfig.c:720 msgid "use proxy" msgstr "" -#: src/common/weeconfig.c:720 +#: src/common/weeconfig.c:721 msgid "use a proxy server to connect to irc server" msgstr "" -#: src/common/weeconfig.c:723 +#: src/common/weeconfig.c:724 msgid "proxy type" msgstr "" -#: src/common/weeconfig.c:724 +#: src/common/weeconfig.c:725 msgid "proxy type (http (default), socks4, socks5)" msgstr "" -#: src/common/weeconfig.c:727 +#: src/common/weeconfig.c:728 msgid "use ipv6 proxy" msgstr "" -#: src/common/weeconfig.c:728 +#: src/common/weeconfig.c:729 msgid "connect to proxy in ipv6" msgstr "" -#: src/common/weeconfig.c:731 +#: src/common/weeconfig.c:732 msgid "proxy address" msgstr "" -#: src/common/weeconfig.c:732 +#: src/common/weeconfig.c:733 msgid "proxy server address (IP or hostname)" msgstr "" -#: src/common/weeconfig.c:735 +#: src/common/weeconfig.c:736 msgid "port for proxy" msgstr "" -#: src/common/weeconfig.c:736 +#: src/common/weeconfig.c:737 msgid "port for connecting to proxy server" msgstr "" -#: src/common/weeconfig.c:739 +#: src/common/weeconfig.c:740 msgid "proxy username" msgstr "" -#: src/common/weeconfig.c:740 +#: src/common/weeconfig.c:741 msgid "username for proxy server" msgstr "" -#: src/common/weeconfig.c:743 +#: src/common/weeconfig.c:744 msgid "proxy password" msgstr "" -#: src/common/weeconfig.c:744 +#: src/common/weeconfig.c:745 msgid "password for proxy server" msgstr "" -#: src/common/weeconfig.c:755 +#: src/common/weeconfig.c:758 src/common/weeconfig.c:759 +msgid "path for searching plugins" +msgstr "" + +#: src/common/weeconfig.c:762 +msgid "list of plugins to load automatically" +msgstr "" + +#: src/common/weeconfig.c:763 +msgid "" +"comma separated list of plugins to load automatically at startup, \"*\" " +"means all plugins found (names may be partial, for example \"perl\" is ok " +"for \"libperl.so\")" +msgstr "" + +#: src/common/weeconfig.c:768 +msgid "standard plugins extension in filename" +msgstr "" + +#: src/common/weeconfig.c:769 +msgid "" +"standard plugins extension in filename, used for autoload (if empty, then " +"all files are loaded when autoload is \"*\")" +msgstr "" + +#: src/common/weeconfig.c:786 msgid "server name" msgstr "" -#: src/common/weeconfig.c:756 +#: src/common/weeconfig.c:787 msgid "name associated to IRC server (for display only)" msgstr "" -#: src/common/weeconfig.c:759 +#: src/common/weeconfig.c:790 msgid "automatically connect to server" msgstr "" -#: src/common/weeconfig.c:760 +#: src/common/weeconfig.c:791 msgid "automatically connect to server when WeeChat is starting" msgstr "" -#: src/common/weeconfig.c:763 +#: src/common/weeconfig.c:794 msgid "automatically reconnect to server" msgstr "" -#: src/common/weeconfig.c:764 +#: src/common/weeconfig.c:795 msgid "automatically reconnect to server when disconnected" msgstr "" -#: src/common/weeconfig.c:767 +#: src/common/weeconfig.c:798 msgid "delay before trying again to reconnect" msgstr "" -#: src/common/weeconfig.c:768 +#: src/common/weeconfig.c:799 msgid "delay (in seconds) before trying again to reconnect to server" msgstr "" -#: src/common/weeconfig.c:771 +#: src/common/weeconfig.c:802 msgid "server address or hostname" msgstr "" -#: src/common/weeconfig.c:772 +#: src/common/weeconfig.c:803 msgid "IP address or hostname of IRC server" msgstr "" -#: src/common/weeconfig.c:775 +#: src/common/weeconfig.c:806 msgid "port for IRC server" msgstr "" -#: src/common/weeconfig.c:776 +#: src/common/weeconfig.c:807 msgid "port for connecting to server" msgstr "" -#: src/common/weeconfig.c:779 src/common/weeconfig.c:780 +#: src/common/weeconfig.c:810 src/common/weeconfig.c:811 msgid "use IPv6 protocol for server communication" msgstr "" -#: src/common/weeconfig.c:783 src/common/weeconfig.c:784 +#: src/common/weeconfig.c:814 src/common/weeconfig.c:815 msgid "use SSL for server communication" msgstr "" -#: src/common/weeconfig.c:787 +#: src/common/weeconfig.c:818 msgid "server password" msgstr "" -#: src/common/weeconfig.c:788 +#: src/common/weeconfig.c:819 msgid "password for IRC server" msgstr "" -#: src/common/weeconfig.c:791 +#: src/common/weeconfig.c:822 msgid "nickname for server" msgstr "" -#: src/common/weeconfig.c:792 +#: src/common/weeconfig.c:823 msgid "nickname to use on IRC server" msgstr "" -#: src/common/weeconfig.c:795 +#: src/common/weeconfig.c:826 msgid "alternate nickname for server" msgstr "" -#: src/common/weeconfig.c:796 +#: src/common/weeconfig.c:827 msgid "alternate nickname to use on IRC server (if nickname is already used)" msgstr "" -#: src/common/weeconfig.c:799 +#: src/common/weeconfig.c:830 msgid "2nd alternate nickname for server" msgstr "" -#: src/common/weeconfig.c:800 +#: src/common/weeconfig.c:831 msgid "" "2nd alternate nickname to use on IRC server (if alternate nickname is " "already used)" msgstr "" -#: src/common/weeconfig.c:803 +#: src/common/weeconfig.c:834 msgid "user name for server" msgstr "" -#: src/common/weeconfig.c:804 +#: src/common/weeconfig.c:835 msgid "user name to use on IRC server" msgstr "" -#: src/common/weeconfig.c:807 +#: src/common/weeconfig.c:838 msgid "real name for server" msgstr "" -#: src/common/weeconfig.c:808 +#: src/common/weeconfig.c:839 msgid "real name to use on IRC server" msgstr "" -#: src/common/weeconfig.c:811 src/common/weeconfig.c:812 +#: src/common/weeconfig.c:842 src/common/weeconfig.c:843 msgid "first command to run when connected to server" msgstr "" -#: src/common/weeconfig.c:815 +#: src/common/weeconfig.c:846 msgid "delay (in seconds) after command was executed" msgstr "" -#: src/common/weeconfig.c:816 +#: src/common/weeconfig.c:847 msgid "" "delay (in seconds) after command was executed (example: give some time for " "authentication)" msgstr "" -#: src/common/weeconfig.c:819 +#: src/common/weeconfig.c:850 msgid "list of channels to join when connected to server" msgstr "" -#: src/common/weeconfig.c:820 +#: src/common/weeconfig.c:851 msgid "" "comma separated list of channels to join when connected to server (example: " "\"#chan1,#chan2,#chan3 key1,key2\")" msgstr "" -#: src/common/weeconfig.c:823 src/common/weeconfig.c:824 +#: src/common/weeconfig.c:854 src/common/weeconfig.c:855 msgid "automatically rejoin channels when kicked" msgstr "" -#: src/common/weeconfig.c:827 +#: src/common/weeconfig.c:858 msgid "notify levels for channels of this server" msgstr "" -#: src/common/weeconfig.c:828 +#: src/common/weeconfig.c:859 msgid "" "comma separated list of notify levels for channels of this server (format: " "#channel:1,..)" msgstr "" -#: src/common/weeconfig.c:1322 +#: src/common/weeconfig.c:1354 #, c-format msgid "%s %s, line %d: new server, but previous was incomplete\n" msgstr "" -#: src/common/weeconfig.c:1331 +#: src/common/weeconfig.c:1363 #, c-format msgid "%s %s, line %d: server '%s' already exists\n" msgstr "" -#: src/common/weeconfig.c:1346 +#: src/common/weeconfig.c:1378 #, c-format msgid "%s %s, line %d: unable to create server\n" msgstr "" -#: src/common/weeconfig.c:1386 +#: src/common/weeconfig.c:1418 #, c-format msgid "%s unable to assign default int with string (\"%s\")\n" msgstr "" -#: src/common/weeconfig.c:1397 +#: src/common/weeconfig.c:1429 #, c-format msgid "%s unable to assign default color (\"%s\")\n" msgstr "" -#: src/common/weeconfig.c:1436 +#: src/common/weeconfig.c:1468 #, c-format msgid "%s config file \"%s\" not found.\n" msgstr "" -#: src/common/weeconfig.c:1468 +#: src/common/weeconfig.c:1500 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"]\"\n" msgstr "" -#: src/common/weeconfig.c:1485 +#: src/common/weeconfig.c:1517 #, c-format msgid "%s %s, line %d: unknown section identifier (\"%s\")\n" msgstr "" -#: src/common/weeconfig.c:1503 +#: src/common/weeconfig.c:1535 #, c-format msgid "%s %s, line %d: invalid section for option, line is ignored\n" msgstr "" -#: src/common/weeconfig.c:1511 +#: src/common/weeconfig.c:1543 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"=\"\n" msgstr "" -#: src/common/weeconfig.c:1548 src/common/weeconfig.c:1574 +#: src/common/weeconfig.c:1580 src/common/weeconfig.c:1606 #, c-format msgid "%s %s, line %d: invalid option \"%s\"\n" msgstr "" -#: src/common/weeconfig.c:1554 +#: src/common/weeconfig.c:1586 #, c-format msgid "%s %s, line %d: invalid ignore options \"%s\"\n" msgstr "" -#: src/common/weeconfig.c:1585 +#: src/common/weeconfig.c:1617 #, c-format msgid "" "%s %s, line %d: invalid value foroption '%s'\n" "Expected: boolean value: 'off' or 'on'\n" msgstr "" -#: src/common/weeconfig.c:1594 +#: src/common/weeconfig.c:1626 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" "Expected: integer between %d and %d\n" msgstr "" -#: src/common/weeconfig.c:1605 +#: src/common/weeconfig.c:1637 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" "Expected: one of these strings: " msgstr "" -#: src/common/weeconfig.c:1621 +#: src/common/weeconfig.c:1653 #, c-format msgid "%s %s, line %d: invalid color name for option '%s'\n" msgstr "" -#: src/common/weeconfig.c:1683 src/common/weeconfig.c:1878 +#: src/common/weeconfig.c:1715 src/common/weeconfig.c:1910 #, c-format msgid "%s cannot create file \"%s\"\n" msgstr "" -#: src/common/weeconfig.c:1689 +#: src/common/weeconfig.c:1721 #, c-format msgid "%s: creating default config file...\n" msgstr "" -#: src/common/weeconfig.c:1690 +#: src/common/weeconfig.c:1722 msgid "Creating default config file\n" msgstr "" -#: src/common/weeconfig.c:1693 src/common/weeconfig.c:1887 +#: src/common/weeconfig.c:1725 src/common/weeconfig.c:1919 #, c-format msgid "" "#\n" "# %s configuration file, created by %s v%s on %s#\n" msgstr "" -#: src/common/weeconfig.c:1884 +#: src/common/weeconfig.c:1916 msgid "Saving config to disk\n" msgstr "" diff --git a/weechat/src/common/command.c b/weechat/src/common/command.c index f440e27a1..a4391f9aa 100644 --- a/weechat/src/common/command.c +++ b/weechat/src/common/command.c @@ -89,21 +89,11 @@ t_weechat_command weechat_commands[] = "functions: list internal functions for key bindings\n" "reset: restore bindings to the default values and delete ALL personal binding (use carefully!)"), 0, MAX_ARGS, NULL, weechat_cmd_key }, - { "perl", N_("list/load/unload Perl scripts"), + { "plugin", N_("list/load/unload plugins"), N_("[load filename] | [autoload] | [reload] | [unload]"), - N_("filename: Perl script (file) to load\n\n" - "Without argument, /perl command lists all loaded Perl scripts."), - 0, 2, weechat_cmd_perl, NULL }, - { "python", N_("list/load/unload Python scripts"), - N_("[load filename] | [autoload] | [reload] | [unload]"), - N_("filename: Python script (file) to load\n\n" - "Without argument, /python command lists all loaded Python scripts."), - 0, 2, weechat_cmd_python, NULL }, - { "ruby", N_("list/load/unload Ruby scripts"), - N_("[load filename] | [autoload] | [reload] | [unload]"), - N_("filename: Ruby script (file) to load\n\n" - "Without argument, /ruby command lists all loaded Ruby scripts."), - 0, 2, weechat_cmd_ruby, NULL }, + N_("filename: WeeChat plugin (file) to load\n\n" + "Without argument, /plugin command lists all loaded plugins."), + 0, 2, weechat_cmd_plugin, NULL }, { "server", N_("list, add or remove servers"), N_("[servername] | " "[servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-pwd password] [-nicks nick1 " @@ -381,7 +371,7 @@ alias_free_all () */ char ** -explode_string (/*@null@*/ char *string, char *separators, int num_items_max, +explode_string (char *string, char *separators, int num_items_max, int *num_items) { int i, n_items; @@ -462,6 +452,23 @@ explode_string (/*@null@*/ char *string, char *separators, int num_items_max, } /* + * free_exploded_string: free an exploded string + */ + +void +free_exploded_string (char **exploded_string) +{ + int i; + + if (exploded_string) + { + for (i = 0; exploded_string[i]; i++) + free (exploded_string[i]); + free (exploded_string); + } +} + +/* * exec_weechat_command: executes a command (WeeChat internal or IRC) * returns: 1 if command was executed succesfully * 0 if error (command not executed) @@ -470,7 +477,7 @@ explode_string (/*@null@*/ char *string, char *separators, int num_items_max, int exec_weechat_command (t_irc_server *server, char *string) { - int i, j, argc, return_code, length1, length2; + int i, argc, return_code, length1, length2; char *command, *pos, *ptr_args, **argv, *alias_command; t_weechat_alias *ptr_alias; @@ -502,7 +509,11 @@ exec_weechat_command (t_irc_server *server, char *string) ptr_args = NULL; } - if (!plugin_exec_command (command + 1, (server) ? server->name : "", ptr_args)) +#ifdef PLUGINS + if (!plugin_cmd_handler_exec ((server) ? server->name : "", command + 1, ptr_args)) +#else + if (1) +#endif { argv = explode_string (ptr_args, " ", 0, &argc); @@ -556,12 +567,7 @@ exec_weechat_command (t_irc_server *server, char *string) WEECHAT_ERROR, command + 1); } } - if (argv) - { - for (j = 0; argv[j]; j++) - free (argv[j]); - free (argv); - } + free_exploded_string (argv); free (command); return 1; } @@ -626,12 +632,7 @@ exec_weechat_command (t_irc_server *server, char *string) WEECHAT_ERROR, command + 1); } } - if (argv) - { - for (j = 0; argv[j]; j++) - free (argv[j]); - free (argv); - } + free_exploded_string (argv); free (command); return 1; } @@ -659,12 +660,7 @@ exec_weechat_command (t_irc_server *server, char *string) else (void) exec_weechat_command (server, ptr_alias->alias_command); - if (argv) - { - for (j = 0; argv[j]; j++) - free (argv[j]); - free (argv); - } + free_exploded_string (argv); free (command); return 1; } @@ -674,12 +670,7 @@ exec_weechat_command (t_irc_server *server, char *string) _("%s unknown command \"%s\" (type /help for help)\n"), WEECHAT_ERROR, command + 1); - if (argv) - { - for (j = 0; argv[j]; j++) - free (argv[j]); - free (argv); - } + free_exploded_string (argv); } free (command); return 0; @@ -767,7 +758,9 @@ user_command (t_irc_server *server, t_gui_buffer *buffer, char *command) snprintf (plugin_args, plugin_args_length, "localhost PRIVMSG %s :%s", CHANNEL(buffer)->name, command); - plugin_event_msg ("privmsg", server->name, plugin_args); +#ifdef PLUGINS + plugin_msg_handler_exec (server->name, "privmsg", plugin_args); +#endif free (plugin_args); } else @@ -1294,88 +1287,144 @@ int weechat_cmd_help (int argc, char **argv) { int i; +#ifdef PLUGINS + t_weechat_plugin *ptr_plugin; + t_plugin_cmd_handler *ptr_cmd_handler; +#endif - if (argc == 0) + switch (argc) { - gui_printf (NULL, "\n"); - gui_printf (NULL, _("%s internal commands:\n"), PACKAGE_NAME); - for (i = 0; weechat_commands[i].command_name; i++) - { - gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, " %s", - weechat_commands[i].command_name); - gui_printf (NULL, " - %s\n", - _(weechat_commands[i].command_description)); - } - gui_printf (NULL, "\n"); - gui_printf (NULL, _("IRC commands:\n")); - for (i = 0; irc_commands[i].command_name; i++) - { - if (irc_commands[i].cmd_function_args || irc_commands[i].cmd_function_1arg) + case 0: + gui_printf (NULL, "\n"); + gui_printf (NULL, _("%s internal commands:\n"), PACKAGE_NAME); + for (i = 0; weechat_commands[i].command_name; i++) { gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, " %s", - irc_commands[i].command_name); + weechat_commands[i].command_name); gui_printf (NULL, " - %s\n", - _(irc_commands[i].command_description)); + _(weechat_commands[i].command_description)); } - } - } - if (argc == 1) - { - for (i = 0; weechat_commands[i].command_name; i++) - { - if (ascii_strcasecmp (weechat_commands[i].command_name, argv[0]) == 0) + gui_printf (NULL, "\n"); + gui_printf (NULL, _("IRC commands:\n")); + for (i = 0; irc_commands[i].command_name; i++) { - gui_printf (NULL, "\n"); - gui_printf (NULL, "[w]"); - gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, " /%s", - weechat_commands[i].command_name); - if (weechat_commands[i].arguments && - weechat_commands[i].arguments[0]) - gui_printf (NULL, " %s\n", - _(weechat_commands[i].arguments)); - else + if (irc_commands[i].cmd_function_args || irc_commands[i].cmd_function_1arg) + { + gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, " %s", + irc_commands[i].command_name); + gui_printf (NULL, " - %s\n", + _(irc_commands[i].command_description)); + } + } +#ifdef PLUGINS + gui_printf (NULL, "\n"); + gui_printf (NULL, _("Plugin commands:\n")); + for (ptr_plugin = weechat_plugins; ptr_plugin; + ptr_plugin = ptr_plugin->next_plugin) + { + for (ptr_cmd_handler = ptr_plugin->cmd_handlers; ptr_cmd_handler; + ptr_cmd_handler = ptr_cmd_handler->next_handler) + { + gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, " %s", + ptr_cmd_handler->command); + if (ptr_cmd_handler->description + && ptr_cmd_handler->description[0]) + gui_printf (NULL, " - %s", + ptr_cmd_handler->description); gui_printf (NULL, "\n"); - if (weechat_commands[i].command_description && - weechat_commands[i].command_description[0]) - gui_printf (NULL, "\n%s\n", - _(weechat_commands[i].command_description)); - if (weechat_commands[i].arguments_description && - weechat_commands[i].arguments_description[0]) - gui_printf (NULL, "\n%s\n", - _(weechat_commands[i].arguments_description)); - return 0; + } } - } - for (i = 0; irc_commands[i].command_name; i++) - { - if ((ascii_strcasecmp (irc_commands[i].command_name, argv[0]) == 0) - && (irc_commands[i].cmd_function_args || irc_commands[i].cmd_function_1arg)) +#endif + break; + case 1: + for (i = 0; weechat_commands[i].command_name; i++) { - gui_printf (NULL, "\n"); - gui_printf (NULL, "[i]"); - gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, " /%s", - irc_commands[i].command_name); - if (irc_commands[i].arguments && - irc_commands[i].arguments[0]) - gui_printf (NULL, " %s\n", - _(irc_commands[i].arguments)); - else + if (ascii_strcasecmp (weechat_commands[i].command_name, argv[0]) == 0) + { gui_printf (NULL, "\n"); - if (irc_commands[i].command_description && - irc_commands[i].command_description[0]) - gui_printf (NULL, "\n%s\n", - _(irc_commands[i].command_description)); - if (irc_commands[i].arguments_description && - irc_commands[i].arguments_description[0]) - gui_printf (NULL, "\n%s\n", - _(irc_commands[i].arguments_description)); - return 0; + gui_printf (NULL, "[w]"); + gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, " /%s", + weechat_commands[i].command_name); + if (weechat_commands[i].arguments && + weechat_commands[i].arguments[0]) + gui_printf (NULL, " %s\n", + _(weechat_commands[i].arguments)); + else + gui_printf (NULL, "\n"); + if (weechat_commands[i].command_description && + weechat_commands[i].command_description[0]) + gui_printf (NULL, "\n%s\n", + _(weechat_commands[i].command_description)); + if (weechat_commands[i].arguments_description && + weechat_commands[i].arguments_description[0]) + gui_printf (NULL, "\n%s\n", + _(weechat_commands[i].arguments_description)); + return 0; + } } - } - irc_display_prefix (NULL, PREFIX_ERROR); - gui_printf (NULL, - _("No help available, \"%s\" is an unknown command\n"), - argv[0]); + for (i = 0; irc_commands[i].command_name; i++) + { + if ((ascii_strcasecmp (irc_commands[i].command_name, argv[0]) == 0) + && (irc_commands[i].cmd_function_args || irc_commands[i].cmd_function_1arg)) + { + gui_printf (NULL, "\n"); + gui_printf (NULL, "[i]"); + gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, " /%s", + irc_commands[i].command_name); + if (irc_commands[i].arguments && + irc_commands[i].arguments[0]) + gui_printf (NULL, " %s\n", + _(irc_commands[i].arguments)); + else + gui_printf (NULL, "\n"); + if (irc_commands[i].command_description && + irc_commands[i].command_description[0]) + gui_printf (NULL, "\n%s\n", + _(irc_commands[i].command_description)); + if (irc_commands[i].arguments_description && + irc_commands[i].arguments_description[0]) + gui_printf (NULL, "\n%s\n", + _(irc_commands[i].arguments_description)); + return 0; + } + } +#ifdef PLUGINS + for (ptr_plugin = weechat_plugins; ptr_plugin; + ptr_plugin = ptr_plugin->next_plugin) + { + for (ptr_cmd_handler = ptr_plugin->cmd_handlers; ptr_cmd_handler; + ptr_cmd_handler = ptr_cmd_handler->next_handler) + { + if (ascii_strcasecmp (ptr_cmd_handler->command, argv[0]) == 0) + { + gui_printf (NULL, "\n"); + gui_printf (NULL, "[p]"); + gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, " /%s", + ptr_cmd_handler->command); + if (ptr_cmd_handler->arguments && + ptr_cmd_handler->arguments[0]) + gui_printf (NULL, " %s\n", + ptr_cmd_handler->arguments); + else + gui_printf (NULL, "\n"); + if (ptr_cmd_handler->description && + ptr_cmd_handler->description[0]) + gui_printf (NULL, "\n%s\n", + ptr_cmd_handler->description); + if (ptr_cmd_handler->arguments_description && + ptr_cmd_handler->arguments_description[0]) + gui_printf (NULL, "\n%s\n", + ptr_cmd_handler->arguments_description); + return 0; + } + } + } +#endif + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("No help available, \"%s\" is an unknown command\n"), + argv[0]); + break; } return 0; } @@ -1601,430 +1650,125 @@ weechat_cmd_key (char *arguments) } /* - * weechat_cmd_perl: list/load/unload Perl scripts + * weechat_cmd_plugin: list/load/unload WeeChat plugins */ int -weechat_cmd_perl (int argc, char **argv) +weechat_cmd_plugin (int argc, char **argv) { -#ifdef PLUGIN_PERL - t_plugin_script *ptr_plugin_script; - t_plugin_handler *ptr_plugin_handler; - int handler_found, path_length; - char *path_script; +#ifdef PLUGINS + t_weechat_plugin *ptr_plugin; + t_plugin_msg_handler *ptr_msg_handler; + t_plugin_cmd_handler *ptr_cmd_handler; switch (argc) { case 0: - /* list registered Perl scripts */ + /* list plugins */ gui_printf (NULL, "\n"); - gui_printf (NULL, _("Registered %s scripts:\n"), "Perl"); - if (perl_scripts) - { - for (ptr_plugin_script = perl_scripts; ptr_plugin_script; - ptr_plugin_script = ptr_plugin_script->next_script) - { - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, " %s v%s%s%s\n", - ptr_plugin_script->name, - ptr_plugin_script->version, - (ptr_plugin_script->description[0]) ? " - " : "", - ptr_plugin_script->description); - } - } - else + irc_display_prefix (NULL, PREFIX_PLUGIN); + gui_printf (NULL, _("Plugins loaded:\n")); + for (ptr_plugin = weechat_plugins; ptr_plugin; + ptr_plugin = ptr_plugin->next_plugin) { + /* plugin info */ irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" (none)\n")); - } - - /* list Perl message handlers */ - gui_printf (NULL, "\n"); - gui_printf (NULL, _("%s message handlers:\n"), "Perl"); - handler_found = 0; - for (ptr_plugin_handler = plugin_msg_handlers; ptr_plugin_handler; - ptr_plugin_handler = ptr_plugin_handler->next_handler) - { - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_PERL) - { - handler_found = 1; - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" IRC(%s) => %s(%s)\n"), - ptr_plugin_handler->name, - "Perl", - ptr_plugin_handler->function_name); - } - } - if (!handler_found) - { + gui_printf (NULL, " %s v%s - %s (%s)\n", + ptr_plugin->name, + ptr_plugin->version, + ptr_plugin->description, + ptr_plugin->filename); + + /* message handlers */ irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" (none)\n")); - } - - /* list Perl command handlers */ - gui_printf (NULL, "\n"); - gui_printf (NULL, _("%s command handlers:\n"), "Perl"); - handler_found = 0; - for (ptr_plugin_handler = plugin_cmd_handlers; ptr_plugin_handler; - ptr_plugin_handler = ptr_plugin_handler->next_handler) - { - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_PERL) + gui_printf (NULL, _(" message handlers:\n")); + for (ptr_msg_handler = ptr_plugin->msg_handlers; + ptr_msg_handler; + ptr_msg_handler = ptr_msg_handler->next_handler) { - handler_found = 1; irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" Command /%s => %s(%s)\n"), - ptr_plugin_handler->name, - "Perl", - ptr_plugin_handler->function_name); - } - } - if (!handler_found) - { - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" (none)\n")); - } - - break; - case 1: - if (ascii_strcasecmp (argv[0], "autoload") == 0) - plugin_auto_load (PLUGIN_TYPE_PERL, "perl/autoload"); - else if (ascii_strcasecmp (argv[0], "reload") == 0) - { - plugin_unload (PLUGIN_TYPE_PERL, NULL); - plugin_auto_load (PLUGIN_TYPE_PERL, "perl/autoload"); - } - else if (ascii_strcasecmp (argv[0], "unload") == 0) - plugin_unload (PLUGIN_TYPE_PERL, NULL); - break; - case 2: - if (ascii_strcasecmp (argv[0], "load") == 0) - { - /* load Perl script */ - if (strstr(argv[1], DIR_SEPARATOR)) - path_script = NULL; - else - { - path_length = strlen (weechat_home) + strlen (argv[1]) + 7; - path_script = (char *) malloc (path_length * sizeof (char)); - snprintf (path_script, path_length, "%s%s%s%s%s", - weechat_home, DIR_SEPARATOR, "perl", - DIR_SEPARATOR, argv[1]); + gui_printf (NULL, _(" IRC(%s)\n"), + ptr_msg_handler->irc_command); } - plugin_load (PLUGIN_TYPE_PERL, - (path_script) ? path_script : argv[1]); - if (path_script) - free (path_script); - } - else - { - irc_display_prefix (NULL, PREFIX_ERROR); - gui_printf (NULL, - _("%s unknown option for \"%s\" command\n"), - WEECHAT_ERROR, "perl"); - } - break; - default: - irc_display_prefix (NULL, PREFIX_ERROR); - gui_printf (NULL, - _("%s wrong argument count for \"%s\" command\n"), - WEECHAT_ERROR, "perl"); - } -#else - irc_display_prefix (NULL, PREFIX_ERROR); - gui_printf (NULL, - _("WeeChat was build without Perl support.\n" - "Please rebuild WeeChat with " - "\"--enable-perl\" option for ./configure script\n")); - /* make gcc happy */ - (void) argc; - (void) argv; -#endif /* PLUGIN_PERL */ - - return 0; -} - -/* - * weechat_cmd_python: list/load/unload Python scripts - */ - -int -weechat_cmd_python (int argc, char **argv) -{ -#ifdef PLUGIN_PYTHON - t_plugin_script *ptr_plugin_script; - t_plugin_handler *ptr_plugin_handler; - int handler_found, path_length; - char *path_script; - - switch (argc) - { - case 0: - /* list registered Python scripts */ - gui_printf (NULL, "\n"); - gui_printf (NULL, _("Registered %s scripts:\n"), "Python"); - if (python_scripts) - { - for (ptr_plugin_script = python_scripts; ptr_plugin_script; - ptr_plugin_script = ptr_plugin_script->next_script) + if (!ptr_plugin->msg_handlers) { irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, " %s v%s%s%s\n", - ptr_plugin_script->name, - ptr_plugin_script->version, - (ptr_plugin_script->description[0]) ? " - " : "", - ptr_plugin_script->description); + gui_printf (NULL, _(" (no message handler)\n")); } - } - else - { + + /* command handlers */ irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" (none)\n")); - } - - /* list Python message handlers */ - gui_printf (NULL, "\n"); - gui_printf (NULL, _("%s message handlers:\n"), "Python"); - handler_found = 0; - for (ptr_plugin_handler = plugin_msg_handlers; ptr_plugin_handler; - ptr_plugin_handler = ptr_plugin_handler->next_handler) - { - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_PYTHON) + gui_printf (NULL, _(" command handlers:\n")); + for (ptr_cmd_handler = ptr_plugin->cmd_handlers; + ptr_cmd_handler; + ptr_cmd_handler = ptr_cmd_handler->next_handler) { - handler_found = 1; irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" IRC(%s) => %s(%s)\n"), - ptr_plugin_handler->name, - "Python", - ptr_plugin_handler->function_name); + gui_printf (NULL, " /%s", + ptr_cmd_handler->command); + if (ptr_cmd_handler->description + && ptr_cmd_handler->description[0]) + gui_printf (NULL, " (%s)", + ptr_cmd_handler->description); + gui_printf (NULL, "\n"); } - } - if (!handler_found) - { - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" (none)\n")); - } - - /* list Python command handlers */ - gui_printf (NULL, "\n"); - gui_printf (NULL, _("%s command handlers:\n"), "Python"); - handler_found = 0; - for (ptr_plugin_handler = plugin_cmd_handlers; ptr_plugin_handler; - ptr_plugin_handler = ptr_plugin_handler->next_handler) - { - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_PYTHON) + if (!ptr_plugin->cmd_handlers) { - handler_found = 1; irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" Command /%s => %s(%s)\n"), - ptr_plugin_handler->name, - "Python", - ptr_plugin_handler->function_name); + gui_printf (NULL, _(" (no command handler)\n")); } } - if (!handler_found) + if (!weechat_plugins) { irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" (none)\n")); + gui_printf (NULL, _(" (no plugin)\n")); } - break; case 1: - if (ascii_strcasecmp (argv[0], "autoload") == 0) - plugin_auto_load (PLUGIN_TYPE_PYTHON, "python/autoload"); + /*if (ascii_strcasecmp (argv[0], "autoload") == 0) + plugin_auto_load (PLUGIN_TYPE_PERL, "perl/autoload"); else if (ascii_strcasecmp (argv[0], "reload") == 0) { - plugin_unload (PLUGIN_TYPE_PYTHON, NULL); - plugin_auto_load (PLUGIN_TYPE_PYTHON, "python/autoload"); + plugin_unload (PLUGIN_TYPE_PERL, NULL); + plugin_auto_load (PLUGIN_TYPE_PERL, "perl/autoload"); } else if (ascii_strcasecmp (argv[0], "unload") == 0) - plugin_unload (PLUGIN_TYPE_PYTHON, NULL); + plugin_unload (PLUGIN_TYPE_PERL, NULL);*/ break; case 2: if (ascii_strcasecmp (argv[0], "load") == 0) { - /* load Python script */ - if (strstr(argv[1], DIR_SEPARATOR)) - path_script = NULL; - else - { - path_length = strlen (weechat_home) + strlen (argv[1]) + 9; - path_script = (char *) malloc (path_length * sizeof (char)); - snprintf (path_script, path_length, "%s%s%s%s%s", - weechat_home, DIR_SEPARATOR, "python", - DIR_SEPARATOR, argv[1]); - } - plugin_load (PLUGIN_TYPE_PYTHON, - (path_script) ? path_script : argv[1]); - if (path_script) - free (path_script); - } - else - { - irc_display_prefix (NULL, PREFIX_ERROR); - gui_printf (NULL, - _("%s unknown option for \"%s\" command\n"), - WEECHAT_ERROR, "python"); - } - break; - default: - irc_display_prefix (NULL, PREFIX_ERROR); - gui_printf (NULL, - _("%s wrong argument count for \"%s\" command\n"), - WEECHAT_ERROR, "python"); - } -#else - irc_display_prefix (NULL, PREFIX_ERROR); - gui_printf (NULL, - _("WeeChat was build without Python support.\n" - "Please rebuild WeeChat with " - "\"--enable-python\" option for ./configure script\n")); - /* make gcc happy */ - (void) argc; - (void) argv; -#endif /* PLUGIN_PYTHON */ - - return 0; -} - -/* - * weechat_cmd_ruby: list/load/unload Ruby scripts - */ - -int -weechat_cmd_ruby (int argc, char **argv) -{ -#ifdef PLUGIN_RUBY - t_plugin_script *ptr_plugin_script; - t_plugin_handler *ptr_plugin_handler; - int handler_found, path_length; - char *path_script; - - switch (argc) - { - case 0: - /* list registered Ruby scripts */ - gui_printf (NULL, "\n"); - gui_printf (NULL, _("Registered %s scripts:\n"), "Ruby"); - if (ruby_scripts) - { - for (ptr_plugin_script = ruby_scripts; ptr_plugin_script; - ptr_plugin_script = ptr_plugin_script->next_script) - { - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, " %s v%s%s%s\n", - ptr_plugin_script->name, - ptr_plugin_script->version, - (ptr_plugin_script->description[0]) ? " - " : "", - ptr_plugin_script->description); - } - } - else - { - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" (none)\n")); - } - - /* list Ruby message handlers */ - gui_printf (NULL, "\n"); - gui_printf (NULL, _("%s message handlers:\n"), "Ruby"); - handler_found = 0; - for (ptr_plugin_handler = plugin_msg_handlers; ptr_plugin_handler; - ptr_plugin_handler = ptr_plugin_handler->next_handler) - { - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_RUBY) - { - handler_found = 1; - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" IRC(%s) => %s(%s)\n"), - ptr_plugin_handler->name, - "Ruby", - ptr_plugin_handler->function_name); - } - } - if (!handler_found) - { - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" (none)\n")); - } - - /* list Ruby command handlers */ - gui_printf (NULL, "\n"); - gui_printf (NULL, _("%s command handlers:\n"), "Ruby"); - handler_found = 0; - for (ptr_plugin_handler = plugin_cmd_handlers; ptr_plugin_handler; - ptr_plugin_handler = ptr_plugin_handler->next_handler) - { - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_RUBY) - { - handler_found = 1; - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" Command /%s => %s(%s)\n"), - ptr_plugin_handler->name, - "Ruby", - ptr_plugin_handler->function_name); - } - } - if (!handler_found) - { - irc_display_prefix (NULL, PREFIX_PLUGIN); - gui_printf (NULL, _(" (none)\n")); - } - - break; - case 1: - if (ascii_strcasecmp (argv[0], "autoload") == 0) - plugin_auto_load (PLUGIN_TYPE_RUBY, "ruby/autoload"); - else if (ascii_strcasecmp (argv[0], "reload") == 0) - { - plugin_unload (PLUGIN_TYPE_RUBY, NULL); - plugin_auto_load (PLUGIN_TYPE_RUBY, "ruby/autoload"); + /* load plugin */ + plugin_load (argv[1]); } else if (ascii_strcasecmp (argv[0], "unload") == 0) - plugin_unload (PLUGIN_TYPE_RUBY, NULL); - break; - case 2: - if (ascii_strcasecmp (argv[0], "load") == 0) { - /* load Ruby script */ - if (strstr(argv[1], DIR_SEPARATOR)) - path_script = NULL; - else - { - path_length = strlen (weechat_home) + strlen (argv[1]) + 9; - path_script = (char *) malloc (path_length * sizeof (char)); - snprintf (path_script, path_length, "%s%s%s%s%s", - weechat_home, DIR_SEPARATOR, "ruby", - DIR_SEPARATOR, argv[1]); - } - plugin_load (PLUGIN_TYPE_RUBY, - (path_script) ? path_script : argv[1]); - if (path_script) - free (path_script); + /* unload plugin */ + plugin_unload_name (argv[1]); } else { irc_display_prefix (NULL, PREFIX_ERROR); gui_printf (NULL, _("%s unknown option for \"%s\" command\n"), - WEECHAT_ERROR, "ruby"); + WEECHAT_ERROR, "plugin"); } break; default: irc_display_prefix (NULL, PREFIX_ERROR); gui_printf (NULL, _("%s wrong argument count for \"%s\" command\n"), - WEECHAT_ERROR, "ruby"); + WEECHAT_ERROR, "plugin"); } #else irc_display_prefix (NULL, PREFIX_ERROR); gui_printf (NULL, - _("WeeChat was build without Ruby support.\n" - "Please rebuild WeeChat with " - "\"--enable-ruby\" option for ./configure script\n")); + _("Command \"plugin\" is not available, WeeChat was built " + "without plugins support.\n")); /* make gcc happy */ (void) argc; (void) argv; -#endif /* PLUGIN_RUBY */ +#endif /* PLUGINS */ return 0; } diff --git a/weechat/src/common/command.h b/weechat/src/common/command.h index 698290750..015f63667 100644 --- a/weechat/src/common/command.h +++ b/weechat/src/common/command.h @@ -60,6 +60,8 @@ extern void command_index_build (); extern void command_index_free (); extern t_weechat_alias *alias_new (char *, char *); extern void alias_free_all (); +extern char **explode_string (char *, char *, int, int *); +extern void free_exploded_string (char **); extern int exec_weechat_command (t_irc_server *, char *); extern void user_command (t_irc_server *, t_gui_buffer *, char *); extern int weechat_cmd_alias (char *); @@ -72,9 +74,7 @@ extern int weechat_cmd_help (int, char **); extern void weechat_cmd_ignore_display (char *, t_irc_ignore *); extern int weechat_cmd_ignore (int, char **); extern int weechat_cmd_key (char *); -extern int weechat_cmd_perl (int, char **); -extern int weechat_cmd_python (int, char **); -extern int weechat_cmd_ruby (int, char **); +extern int weechat_cmd_plugin (int, char **); extern int weechat_cmd_save (int, char **); extern int weechat_cmd_server (int, char **); extern int weechat_cmd_set (char *); diff --git a/weechat/src/common/completion.c b/weechat/src/common/completion.c index a8c56461b..c3040a30b 100644 --- a/weechat/src/common/completion.c +++ b/weechat/src/common/completion.c @@ -34,6 +34,10 @@ #include "weeconfig.h" #include "../irc/irc.h" +#ifdef PLUGINS +#include "../plugins/plugins.h" +#endif + /* * completion_init: init completion @@ -108,6 +112,10 @@ completion_build_list (t_completion *completion, void *channel) t_config_option *option; void *option_value; char option_string[2048]; +#ifdef PLUGINS + t_weechat_plugin *ptr_plugin; + t_plugin_cmd_handler *ptr_cmd_handler; +#endif /* WeeChat internal commands */ @@ -200,6 +208,20 @@ completion_build_list (t_completion *completion, void *channel) &completion->last_completion, irc_commands[i].command_name); } +#ifdef PLUGINS + for (ptr_plugin = weechat_plugins; ptr_plugin; + ptr_plugin = ptr_plugin->next_plugin) + { + for (ptr_cmd_handler = ptr_plugin->cmd_handlers; + ptr_cmd_handler; + ptr_cmd_handler = ptr_cmd_handler->next_handler) + { + weelist_add (&completion->completion_list, + &completion->last_completion, + ptr_cmd_handler->command); + } + } +#endif return; } if (ascii_strcasecmp (completion->base_command, "ignore") == 0) @@ -312,8 +334,7 @@ completion_build_list (t_completion *completion, void *channel) return; } } - if (((ascii_strcasecmp (completion->base_command, "perl") == 0) - || (ascii_strcasecmp (completion->base_command, "python") == 0)) + if ((ascii_strcasecmp (completion->base_command, "plugin") == 0) && (completion->base_command_arg == 1)) { weelist_add (&completion->completion_list, diff --git a/weechat/src/common/weechat.c b/weechat/src/common/weechat.c index 82a588a9f..cf464eddd 100644 --- a/weechat/src/common/weechat.c +++ b/weechat/src/common/weechat.c @@ -9,7 +9,7 @@ * ### Fast & light environment for Chat ### * ### ### * ### By FlashCode <flashcode@flashtux.org> ### - ### ### + * ### ### * ### http://weechat.flashtux.org ### * ### ### * ############################################################################ @@ -66,7 +66,10 @@ #include "fifo.h" #include "../irc/irc.h" #include "../gui/gui.h" + +#ifdef PLUGINS #include "../plugins/plugins.h" +#endif int quit_weechat; /* = 1 if quit request from user... why ? :'( */ @@ -590,53 +593,6 @@ wee_create_home_dirs () dir_length = strlen (weechat_home) + 64; dir_name = (char *) malloc (dir_length * sizeof (char)); - #ifdef PLUGIN_PERL - /* create "~/.weechat/perl" */ - snprintf (dir_name, dir_length, "%s%s%s", weechat_home, DIR_SEPARATOR, - "perl"); - if (wee_create_dir (dir_name)) - { - /* create "~/.weechat/perl/autoload" */ - snprintf (dir_name, dir_length, "%s%s%s%s%s", weechat_home, - DIR_SEPARATOR, "perl", DIR_SEPARATOR, "autoload"); - wee_create_dir (dir_name); - /* create "~/.weechat/perl/config" */ - snprintf (dir_name, dir_length, "%s%s%s%s%s", weechat_home, - DIR_SEPARATOR, "perl", DIR_SEPARATOR, "config"); - wee_create_dir (dir_name); - } - #endif - - #ifdef PLUGIN_PYTHON - /* create "~/.weechat/python" */ - snprintf (dir_name, dir_length, "%s%s%s", weechat_home, DIR_SEPARATOR, - "python"); - if (wee_create_dir (dir_name)) - { - /* create "~/.weechat/python/autoload" */ - snprintf (dir_name, dir_length, "%s%s%s%s%s", weechat_home, - DIR_SEPARATOR, "python", DIR_SEPARATOR, "autoload"); - wee_create_dir (dir_name); - /* create "~/.weechat/python/config" */ - snprintf (dir_name, dir_length, "%s%s%s%s%s", weechat_home, - DIR_SEPARATOR, "python", DIR_SEPARATOR, "config"); - wee_create_dir (dir_name); - } - #endif - - #ifdef PLUGIN_RUBY - /* create "~/.weechat/ruby" */ - snprintf (dir_name, dir_length, "%s%s%s", weechat_home, DIR_SEPARATOR, - "ruby"); - if (wee_create_dir (dir_name)) - { - /* create "~/.weechat/ruby/autoload" */ - snprintf (dir_name, dir_length, "%s%s%s%s%s", weechat_home, - DIR_SEPARATOR, "ruby", DIR_SEPARATOR, "autoload"); - wee_create_dir (dir_name); - } - #endif - /* create "~/.weechat/logs" */ snprintf (dir_name, dir_length, "%s%s%s", weechat_home, DIR_SEPARATOR, "logs"); @@ -925,14 +881,18 @@ main (int argc, char *argv[]) gui_init (); /* init WeeChat interface */ weechat_welcome_message (); /* display WeeChat welcome message */ - plugin_init (); /* init plugin interface(s) */ +#ifdef PLUGINS + plugin_init (); /* init plugin interface(s) */ +#endif /* auto-connect to servers */ server_auto_connect (server_cmd_line); fifo_create (); /* create FIFO pipe for remote control */ gui_main_loop (); /* WeeChat main loop */ +#ifdef PLUGINS plugin_end (); /* end plugin interface(s) */ +#endif server_disconnect_all (); /* disconnect from all servers */ (void) config_write (NULL); /* save config file */ command_index_free (); /* free commands index */ diff --git a/weechat/src/common/weeconfig.c b/weechat/src/common/weeconfig.c index 1840c3951..419161e28 100644 --- a/weechat/src/common/weeconfig.c +++ b/weechat/src/common/weeconfig.c @@ -53,6 +53,7 @@ t_config_section config_sections[CONFIG_NUMBER_SECTIONS] = { CONFIG_SECTION_IRC, "irc" }, { CONFIG_SECTION_DCC, "dcc" }, { CONFIG_SECTION_PROXY, "proxy" }, + { CONFIG_SECTION_PLUGINS, "plugins" }, { CONFIG_SECTION_KEYS, "keys" }, { CONFIG_SECTION_ALIAS, "alias" }, { CONFIG_SECTION_IGNORE, "ignore" }, @@ -747,6 +748,36 @@ t_config_option weechat_options_proxy[] = { NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL } }; +/* config, plugins section */ + +char *cfg_plugins_path; +char *cfg_plugins_autoload; +char *cfg_plugins_extension; + +t_config_option weechat_options_plugins[] = +{ { "plugins_path", N_("path for searching plugins"), + N_("path for searching plugins"), + OPTION_TYPE_STRING, 0, 0, 0, + "~/.weechat/plugins", NULL, NULL, &cfg_plugins_path, config_change_noop }, + { "plugins_autoload", N_("list of plugins to load automatically"), + N_("comma separated list of plugins to load automatically at startup, " + "\"*\" means all plugins found " + "(names may be partial, for example \"perl\" is ok for \"libperl.so\")"), + OPTION_TYPE_STRING, 0, 0, 0, + "*", NULL, NULL, &cfg_plugins_autoload, config_change_noop }, + { "plugins_extension", N_("standard plugins extension in filename"), + N_("standard plugins extension in filename, used for autoload " + "(if empty, then all files are loaded when autoload is \"*\")"), + OPTION_TYPE_STRING, 0, 0, 0, +#ifdef WIN32 + ".dll", +#else + ".so", +#endif + NULL, NULL, &cfg_plugins_extension, config_change_noop }, + { NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL } +}; + /* config, server section */ static t_irc_server cfg_server; @@ -836,7 +867,8 @@ t_config_option weechat_options_server[] = t_config_option *weechat_options[CONFIG_NUMBER_SECTIONS] = { weechat_options_look, weechat_options_colors, weechat_options_history, weechat_options_log, weechat_options_irc, weechat_options_dcc, - weechat_options_proxy, NULL, NULL, NULL, weechat_options_server + weechat_options_proxy, weechat_options_plugins, NULL, NULL, NULL, + weechat_options_server }; diff --git a/weechat/src/common/weeconfig.h b/weechat/src/common/weeconfig.h index af50eb747..29199bd90 100644 --- a/weechat/src/common/weeconfig.h +++ b/weechat/src/common/weeconfig.h @@ -33,11 +33,12 @@ #define CONFIG_SECTION_IRC 4 #define CONFIG_SECTION_DCC 5 #define CONFIG_SECTION_PROXY 6 -#define CONFIG_SECTION_KEYS 7 -#define CONFIG_SECTION_ALIAS 8 -#define CONFIG_SECTION_IGNORE 9 -#define CONFIG_SECTION_SERVER 10 -#define CONFIG_NUMBER_SECTIONS 11 +#define CONFIG_SECTION_PLUGINS 7 +#define CONFIG_SECTION_KEYS 8 +#define CONFIG_SECTION_ALIAS 9 +#define CONFIG_SECTION_IGNORE 10 +#define CONFIG_SECTION_SERVER 11 +#define CONFIG_NUMBER_SECTIONS 12 #define OPTION_TYPE_BOOLEAN 1 /* values: on/off */ #define OPTION_TYPE_INT 2 /* values: from min to max */ @@ -202,6 +203,10 @@ extern int cfg_proxy_port; extern char *cfg_proxy_username; extern char *cfg_proxy_password; +extern char *cfg_plugins_path; +extern char *cfg_plugins_autoload; +extern char *cfg_plugins_extension; + extern t_config_section config_sections [CONFIG_NUMBER_SECTIONS]; extern t_config_option * weechat_options [CONFIG_NUMBER_SECTIONS]; diff --git a/weechat/src/common/weelist.c b/weechat/src/common/weelist.c index 2a34937e2..d3c7aa7b6 100644 --- a/weechat/src/common/weelist.c +++ b/weechat/src/common/weelist.c @@ -140,6 +140,9 @@ weelist_remove (t_weelist **weelist, t_weelist **last_weelist, t_weelist *elemen { t_weelist *new_weelist; + if (!element) + return; + /* remove element from list */ if (*last_weelist == element) *last_weelist = element->prev_weelist; diff --git a/weechat/src/gui/curses/Makefile.am b/weechat/src/gui/curses/Makefile.am index 4bef0cdc9..b698611af 100644 --- a/weechat/src/gui/curses/Makefile.am +++ b/weechat/src/gui/curses/Makefile.am @@ -22,8 +22,8 @@ bin_PROGRAMS = weechat-curses weechat_curses_LDADD = ../gui-common.o ../gui-keyboard.o \ ../../common/lib_weechat_main.a \ ../../irc/lib_weechat_irc.a \ + $(PLUGINS_LIBS) \ $(NCURSES_LIBS) \ - ../../plugins/lib_weechat_plugins.a $(PLUGINS_LIBS) \ $(GNUTLS_LIBS) weechat_curses_SOURCES = gui-display.c \ diff --git a/weechat/src/irc/irc-recv.c b/weechat/src/irc/irc-recv.c index 21fde3eda..6e3052746 100644 --- a/weechat/src/irc/irc-recv.c +++ b/weechat/src/irc/irc-recv.c @@ -179,8 +179,13 @@ irc_recv_command (t_irc_server *server, char *entire_line, return_code = (int) (irc_commands[i].recv_function) (server, host, nick, arguments); if (nick) free (nick); +#ifdef PLUGINS if (!command_ignored) - plugin_event_msg (irc_commands[i].command_name, server->name, entire_line); + plugin_msg_handler_exec (server->name, irc_commands[i].command_name, entire_line); +#else + /* make gcc happy */ + (void) entire_line; +#endif return return_code; } diff --git a/weechat/src/plugins/Makefile.am b/weechat/src/plugins/Makefile.am index 002747671..63dceb224 100644 --- a/weechat/src/plugins/Makefile.am +++ b/weechat/src/plugins/Makefile.am @@ -18,20 +18,21 @@ INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\" if PLUGIN_PERL -perl_dir = perl +script_dir = scripts endif if PLUGIN_PYTHON -python_dir = python +script_dir = scripts endif if PLUGIN_RUBY -ruby_dir = ruby +script_dir = scripts endif -SUBDIRS = $(perl_dir) $(python_dir) $(ruby_dir) +SUBDIRS = $(script_dir) noinst_LIBRARIES = lib_weechat_plugins.a -lib_weechat_plugins_a_SOURCES = plugins.h \ +lib_weechat_plugins_a_SOURCES = weechat-plugin.h \ + plugins.h \ plugins.c diff --git a/weechat/src/plugins/plugins.c b/weechat/src/plugins/plugins.c index 8fc51a026..5ba6b0e12 100644 --- a/weechat/src/plugins/plugins.c +++ b/weechat/src/plugins/plugins.c @@ -17,523 +17,1294 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* plugins.c: manages WeeChat plugins (Perl and/or Python and/or Ruby) */ +/* plugins.c: manages WeeChat plugins (dynamic C libraries) */ #ifdef HAVE_CONFIG_H #include "config.h" #endif +#include <errno.h> #include <stdlib.h> #include <unistd.h> +#include <stdarg.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h> #include <dirent.h> +#include <dlfcn.h> #include "../common/weechat.h" +#include "weechat-plugin.h" #include "plugins.h" +#include "../common/command.h" +#include "../common/weeconfig.h" #include "../irc/irc.h" #include "../gui/gui.h" -#ifdef PLUGIN_PERL -#include "perl/wee-perl.h" -#endif - -#ifdef PLUGIN_PYTHON -#include "python/wee-python.h" -#endif - -#ifdef PLUGIN_RUBY -#include "ruby/wee-ruby.h" -#endif +t_weechat_plugin *weechat_plugins = NULL; +t_weechat_plugin *last_weechat_plugin = NULL; -char *plugin_name[3] = { "Perl", "Python", "Ruby" }; -t_plugin_handler *plugin_msg_handlers = NULL; -t_plugin_handler *last_plugin_msg_handler = NULL; - -t_plugin_handler *plugin_cmd_handlers = NULL; -t_plugin_handler *last_plugin_cmd_handler = NULL; +/* + * plugin_find_buffer: find a buffer for text display or command execution + */ +t_gui_buffer * +plugin_find_buffer (char *server, char *channel) +{ + t_irc_server *ptr_server; + t_irc_channel *ptr_channel; + t_gui_buffer *ptr_buffer; + + ptr_server = NULL; + ptr_channel = NULL; + ptr_buffer = NULL; + + if (server && server[0]) + { + ptr_server = server_search (server); + if (!ptr_server) + return NULL; + } + else + { + ptr_server = SERVER(gui_current_window->buffer); + if (!ptr_server) + ptr_server = SERVER(gui_buffers); + } + + if (channel && channel[0]) + { + if (ptr_server) + { + ptr_channel = channel_search (ptr_server, channel); + if (ptr_channel) + ptr_buffer = ptr_channel->buffer; + } + } + else + { + if (!channel) + { + ptr_buffer = gui_current_window->buffer; + if (ptr_buffer->dcc) + ptr_buffer = gui_buffers; + } + else + { + if (ptr_server) + ptr_buffer = ptr_server->buffer; + } + } + + if (!ptr_buffer) + return NULL; + + return (ptr_buffer->dcc) ? NULL : ptr_buffer; +} /* - * plugin_auto_load: auto-load all scripts in a directory + * plugin_exec_on_files: find files in a directory and execute a + * function on each file */ void -plugin_auto_load (int plugin_type, char *directory) +plugin_exec_on_files (t_weechat_plugin *plugin, char *directory, + int (*callback)(t_weechat_plugin *, char *)) { - int dir_length; - char *dir_name, *current_dir; + char complete_filename[1024]; DIR *dir; struct dirent *entry; struct stat statbuf; - /* build directory, adding WeeChat home */ - dir_length = strlen (weechat_home) + strlen (directory) + 2; - dir_name = - (char *) malloc (dir_length * sizeof (char)); - snprintf (dir_name, dir_length, "%s%s%s", weechat_home, DIR_SEPARATOR, directory); + dir = opendir (directory); + if (dir) + { + while ((entry = readdir (dir))) + { + snprintf (complete_filename, sizeof (complete_filename) - 1, + "%s/%s", directory, entry->d_name); + lstat (complete_filename, &statbuf); + if (!S_ISDIR(statbuf.st_mode)) + { + (int) (*callback) (plugin, complete_filename); + } + } + closedir (dir); + } +} + +/* + * plugin_search: search a plugin by name + */ + +t_weechat_plugin * +plugin_search (char *name) +{ + t_weechat_plugin *ptr_plugin; - /* save working directory */ - current_dir = (char *) malloc (1024 * sizeof (char)); - if (!getcwd (current_dir, 1024 - 1)) + for (ptr_plugin = weechat_plugins; ptr_plugin; + ptr_plugin = ptr_plugin->next_plugin) { - free (current_dir); - current_dir = NULL; + if (ascii_strcasecmp (ptr_plugin->name, name) == 0) + return ptr_plugin; } - /* browse autoload directory */ - dir = opendir (dir_name); - chdir (dir_name); - if (dir) + /* plugin not found */ + return NULL; +} + +/* + * plugin_cmd_handler_search: search a plugin command handler + * return: pointer to handler, NULL if not found + */ + +t_plugin_cmd_handler * +plugin_cmd_handler_search (char *command) +{ + t_weechat_plugin *ptr_plugin; + t_plugin_cmd_handler *ptr_plugin_cmd_handler; + + for (ptr_plugin = weechat_plugins; ptr_plugin; + ptr_plugin = ptr_plugin->next_plugin) { - while ((entry = readdir (dir))) + for (ptr_plugin_cmd_handler = ptr_plugin->cmd_handlers; + ptr_plugin_cmd_handler; + ptr_plugin_cmd_handler = ptr_plugin_cmd_handler->next_handler) { - lstat (entry->d_name, &statbuf); - if (! S_ISDIR(statbuf.st_mode)) + if (ascii_strcasecmp (ptr_plugin_cmd_handler->command, command) == 0) + return ptr_plugin_cmd_handler; + } + } + + /* command handler not found */ + return NULL; +} + +/* + * plugin_msg_handler_add: add a message handler + * arguments: + * 1. the plugin pointer + * 2. the IRC command + * 3. the handler function + * 4. handler args: a string given to + * handler when called (used by scripts) + * 5. handler pointer: a pointer given to + * handler when called (used by scripts) + */ + +t_plugin_msg_handler * +plugin_msg_handler_add (t_weechat_plugin *plugin, char *irc_command, + t_plugin_handler_func *handler_func, + char *handler_args, void *handler_pointer) +{ + t_plugin_msg_handler *new_plugin_msg_handler; + + new_plugin_msg_handler = (t_plugin_msg_handler *)malloc (sizeof (t_plugin_msg_handler)); + if (new_plugin_msg_handler) + { + new_plugin_msg_handler->irc_command = strdup (irc_command); + new_plugin_msg_handler->msg_handler = handler_func; + new_plugin_msg_handler->msg_handler_args = (handler_args) ? strdup (handler_args) : NULL; + new_plugin_msg_handler->msg_handler_pointer = handler_pointer; + new_plugin_msg_handler->running = 0; + + /* add new handler to list */ + new_plugin_msg_handler->prev_handler = plugin->last_msg_handler; + new_plugin_msg_handler->next_handler = NULL; + if (plugin->msg_handlers) + (plugin->last_msg_handler)->next_handler = new_plugin_msg_handler; + else + plugin->msg_handlers = new_plugin_msg_handler; + plugin->last_msg_handler = new_plugin_msg_handler; + } + else + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s plugin %s: unable to add handler for IRC command \"%s\" (not enough memory)\n"), + WEECHAT_ERROR, plugin->name, irc_command); + return NULL; + } + return new_plugin_msg_handler; +} + +/* + * plugin_cmd_handler_add: add a command handler + * arguments: + * 1. the plugin pointer + * 2. the WeeChat command + * 3. command description (for /help) + * 4. command arguments (for /help) + * 5. command args description (for /help) + * 6. the handler function + * 7. handler args: a string given to + * handler when called (used by scripts) + * 8. handler pointer: a pointer given to + * handler when called (used by scripts) + */ + +t_plugin_cmd_handler * +plugin_cmd_handler_add (t_weechat_plugin *plugin, char *command, + char *description, char *arguments, + char *arguments_description, + t_plugin_handler_func *handler_func, + char *handler_args, void *handler_pointer) +{ + t_plugin_cmd_handler *new_plugin_cmd_handler; + + if (plugin_cmd_handler_search (command)) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s plugin %s: unable to add handler for \"%s\" command " + "(already exists)\n"), + WEECHAT_ERROR, plugin->name, command); + return NULL; + } + + new_plugin_cmd_handler = (t_plugin_cmd_handler *)malloc (sizeof (t_plugin_cmd_handler)); + if (new_plugin_cmd_handler) + { + new_plugin_cmd_handler->command = strdup (command); + new_plugin_cmd_handler->description = (description) ? strdup (description) : NULL; + new_plugin_cmd_handler->arguments = (arguments) ? strdup (arguments) : NULL; + new_plugin_cmd_handler->arguments_description = (arguments_description) ? strdup (arguments_description) : NULL; + new_plugin_cmd_handler->cmd_handler = handler_func; + new_plugin_cmd_handler->cmd_handler_args = (handler_args) ? strdup (handler_args) : NULL; + new_plugin_cmd_handler->cmd_handler_pointer = handler_pointer; + new_plugin_cmd_handler->running = 0; + + /* add new handler to list */ + new_plugin_cmd_handler->prev_handler = plugin->last_cmd_handler; + new_plugin_cmd_handler->next_handler = NULL; + if (plugin->cmd_handlers) + (plugin->last_cmd_handler)->next_handler = new_plugin_cmd_handler; + else + plugin->cmd_handlers = new_plugin_cmd_handler; + plugin->last_cmd_handler = new_plugin_cmd_handler; + + /* add command to WeeChat commands list */ + if (!weelist_search (index_commands, command)) + weelist_add (&index_commands, &last_index_command, command); + } + else + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s plugin %s: unable to add handler for \"%s\" command (not enough memory)\n"), + WEECHAT_ERROR, plugin->name, command); + return NULL; + } + return new_plugin_cmd_handler; +} + +/* + * plugin_msg_handler_exec: execute a message handler + * return: number of handlers executed (0 means no handler found) + */ + +int +plugin_msg_handler_exec (char *server, char *irc_command, char *irc_message) +{ + t_weechat_plugin *ptr_plugin; + t_plugin_msg_handler *ptr_plugin_msg_handler; + int count; + + count = 0; + for (ptr_plugin = weechat_plugins; ptr_plugin; + ptr_plugin = ptr_plugin->next_plugin) + { + for (ptr_plugin_msg_handler = ptr_plugin->msg_handlers; + ptr_plugin_msg_handler; + ptr_plugin_msg_handler = ptr_plugin_msg_handler->next_handler) + { + if (ascii_strcasecmp (ptr_plugin_msg_handler->irc_command, irc_command) == 0) { - wee_log_printf (_("Auto-loading %s script: %s%s%s\n"), - plugin_name[plugin_type], - dir_name, DIR_SEPARATOR, entry->d_name); - plugin_load (plugin_type, entry->d_name); + if (ptr_plugin_msg_handler->running == 0) + { + ptr_plugin_msg_handler->running = 1; + if ((int) (ptr_plugin_msg_handler->msg_handler) (ptr_plugin, + server, + irc_command, + irc_message, + ptr_plugin_msg_handler->msg_handler_args, + ptr_plugin_msg_handler->msg_handler_pointer)) + count++; + ptr_plugin_msg_handler->running = 0; + } } } - closedir (dir); } - /* restore working directory */ - if (current_dir) + return count; +} + +/* + * plugin_cmd_handler_exec: execute a command handler + * return: 1 if handler executed, 0 if no handler found + */ + +int +plugin_cmd_handler_exec (char *server, char *command, char *arguments) +{ + t_weechat_plugin *ptr_plugin; + t_plugin_cmd_handler *ptr_plugin_cmd_handler; + int return_code; + + for (ptr_plugin = weechat_plugins; ptr_plugin; + ptr_plugin = ptr_plugin->next_plugin) { - chdir (current_dir); - free (current_dir); + for (ptr_plugin_cmd_handler = ptr_plugin->cmd_handlers; + ptr_plugin_cmd_handler; + ptr_plugin_cmd_handler = ptr_plugin_cmd_handler->next_handler) + { + if (ascii_strcasecmp (ptr_plugin_cmd_handler->command, command) == 0) + { + if (ptr_plugin_cmd_handler->running == 0) + { + ptr_plugin_cmd_handler->running = 1; + return_code = (int) (ptr_plugin_cmd_handler->cmd_handler) (ptr_plugin, + server, + command, + arguments, + ptr_plugin_cmd_handler->cmd_handler_args, + ptr_plugin_cmd_handler->cmd_handler_pointer); + ptr_plugin_cmd_handler->running = 0; + return (return_code) ? 1 : 0; + } + } + } } - free (dir_name); + + return 0; } /* - * plugin_init: initialize all plugins + * plugin_msg_handler_remove: remove a message handler for a plugin */ void -plugin_init () +plugin_msg_handler_remove (t_weechat_plugin *plugin, + t_plugin_msg_handler *plugin_msg_handler) { -#ifdef PLUGIN_PERL - wee_perl_init(); - plugin_auto_load (PLUGIN_TYPE_PERL, "perl/autoload"); -#endif + t_plugin_msg_handler *new_plugin_msg_handlers; -#ifdef PLUGIN_PYTHON - wee_python_init(); - plugin_auto_load (PLUGIN_TYPE_PYTHON, "python/autoload"); -#endif + /* remove handler from list */ + if (plugin->last_msg_handler == plugin_msg_handler) + plugin->last_msg_handler = plugin_msg_handler->prev_handler; + if (plugin_msg_handler->prev_handler) + { + (plugin_msg_handler->prev_handler)->next_handler = plugin_msg_handler->next_handler; + new_plugin_msg_handlers = plugin->msg_handlers; + } + else + new_plugin_msg_handlers = plugin_msg_handler->next_handler; + + if (plugin_msg_handler->next_handler) + (plugin_msg_handler->next_handler)->prev_handler = plugin_msg_handler->prev_handler; -#ifdef PLUGIN_RUBY - wee_ruby_init(); - plugin_auto_load (PLUGIN_TYPE_RUBY, "ruby/autoload"); -#endif + /* free data */ + if (plugin_msg_handler->irc_command) + free (plugin_msg_handler->irc_command); + if (plugin_msg_handler->msg_handler_args) + free (plugin_msg_handler->msg_handler_args); + plugin->msg_handlers = new_plugin_msg_handlers; } /* - * plugin_load: load a plugin + * plugin_cmd_handler_remove: remove a command handler for a plugin */ void -plugin_load (int plugin_type, char *filename) +plugin_cmd_handler_remove (t_weechat_plugin *plugin, + t_plugin_cmd_handler *plugin_cmd_handler) { -#ifdef PLUGINS - switch (plugin_type) + t_plugin_cmd_handler *new_plugin_cmd_handlers; + + /* remove handler from list */ + if (plugin->last_cmd_handler == plugin_cmd_handler) + plugin->last_cmd_handler = plugin_cmd_handler->prev_handler; + if (plugin_cmd_handler->prev_handler) { - case PLUGIN_TYPE_PERL: -#ifdef PLUGIN_PERL - wee_perl_load (filename); -#endif - break; - case PLUGIN_TYPE_PYTHON: -#ifdef PLUGIN_PYTHON - wee_python_load (filename); -#endif - break; - case PLUGIN_TYPE_RUBY: -#ifdef PLUGIN_RUBY - wee_ruby_load (filename); -#endif - break; + (plugin_cmd_handler->prev_handler)->next_handler = plugin_cmd_handler->next_handler; + new_plugin_cmd_handlers = plugin->cmd_handlers; } -#else - /* make gcc happy */ - (void) plugin_type; - (void) filename; -#endif /* PLUGINS */ + else + new_plugin_cmd_handlers = plugin_cmd_handler->next_handler; + + if (plugin_cmd_handler->next_handler) + (plugin_cmd_handler->next_handler)->prev_handler = plugin_cmd_handler->prev_handler; + + /* remove command from WeeChat command list */ + weelist_remove (&index_commands, &last_index_command, + weelist_search (index_commands, plugin_cmd_handler->command)); + + /* free data */ + if (plugin_cmd_handler->command) + free (plugin_cmd_handler->command); + if (plugin_cmd_handler->description) + free (plugin_cmd_handler->description); + if (plugin_cmd_handler->arguments) + free (plugin_cmd_handler->arguments); + if (plugin_cmd_handler->arguments_description) + free (plugin_cmd_handler->arguments_description); + if (plugin_cmd_handler->cmd_handler_args) + free (plugin_cmd_handler->cmd_handler_args); + plugin->cmd_handlers = new_plugin_cmd_handlers; +} + +/* + * plugin_msg_handler_remove_all: remove all message handlers for a plugin + */ + +void +plugin_msg_handler_remove_all (t_weechat_plugin *plugin) +{ + while (plugin->msg_handlers) + plugin_msg_handler_remove (plugin, plugin->msg_handlers); +} + +/* + * plugin_cmd_handler_remove_all: remove all command handlers for a plugin + */ + +void +plugin_cmd_handler_remove_all (t_weechat_plugin *plugin) +{ + while (plugin->cmd_handlers) + plugin_cmd_handler_remove (plugin, plugin->cmd_handlers); } /* - * plugin_handler_search: look for message/command handler + * plugin_search_full_name: search the full name of a file with a part of name + * and look in WeeChat user's dir, then WeeChat global lib dir */ -t_plugin_handler * -plugin_handler_search (t_plugin_handler *plugin_handlers, char *name) +char * +plugin_search_full_name (char *filename) { - t_plugin_handler *ptr_plugin_handler; + char *name_with_ext, *final_name; + int length; + struct stat st; + + /* filename is already a full path */ + if (strchr (filename, '/') || strchr (filename, '\\')) + return strdup (filename); + + length = strlen (filename) + 16; + if (cfg_plugins_extension && cfg_plugins_extension[0]) + length += strlen (cfg_plugins_extension); + name_with_ext = (char *)malloc (length); + if (!name_with_ext) + return strdup (filename); + name_with_ext[0] = '\0'; + if (ascii_strncasecmp (filename, "lib", 3) != 0) + strcat (name_with_ext, "lib"); + strcat (name_with_ext, filename); + if (!strchr (filename, '.') + && cfg_plugins_extension && cfg_plugins_extension[0]) + strcat (name_with_ext, cfg_plugins_extension); - for (ptr_plugin_handler = plugin_handlers; ptr_plugin_handler; - ptr_plugin_handler = ptr_plugin_handler->next_handler) + /* try WeeChat user's dir */ + length = strlen (weechat_home) + strlen (name_with_ext) + 16; + final_name = (char *)malloc (length); + if (!final_name) { - /* handler found */ - if (ascii_strcasecmp (ptr_plugin_handler->name, name) == 0) - return ptr_plugin_handler; + free (name_with_ext); + return strdup (filename); } - /* handler not found */ - return NULL; + snprintf (final_name, length, + "%s/plugins/%s", weechat_home, name_with_ext); + if ((stat (final_name, &st) == 0) && (st.st_size > 0)) + { + free (name_with_ext); + return final_name; + } + free (final_name); + + /* try WeeChat global lib dir */ + length = strlen (WEECHAT_LIBDIR) + strlen (name_with_ext) + 16; + final_name = (char *)malloc (length); + if (!final_name) + { + free (name_with_ext); + return strdup (filename); + } + snprintf (final_name, length, + "%s/plugins/%s", WEECHAT_LIBDIR, name_with_ext); + if ((stat (final_name, &st) == 0) && (st.st_size > 0)) + { + free (name_with_ext); + return final_name; + } + free (final_name); + + return name_with_ext; } /* - * plugin_handler_add: add a message/command handler + * plugin_load: load a WeeChat plugin (a dynamic library) + * return: pointer to new WeeChat plugin, NULL if error */ -void -plugin_handler_add (t_plugin_handler **plugin_handlers, - t_plugin_handler **last_plugin_handler, - int plugin_type, char *name, char *function) +t_weechat_plugin * +plugin_load (char *filename) { - t_plugin_handler *new_plugin_handler; + char *full_name; + void *handle; + char *name, *description, *version; + t_weechat_init_func *init_func; + t_weechat_plugin *new_plugin; + + if (!filename) + return NULL; + + full_name = plugin_search_full_name (filename); + + if (!full_name) + return NULL; - new_plugin_handler = (t_plugin_handler *)malloc (sizeof (t_plugin_handler)); - if (new_plugin_handler) + handle = dlopen (full_name, RTLD_GLOBAL | RTLD_NOW); + if (!handle) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, _("%s unable to load plugin \"%s\": %s\n"), + WEECHAT_ERROR, full_name, dlerror()); + free (full_name); + return NULL; + } + /* look for plugin name */ + name = dlsym (handle, "plugin_name"); + if (!name) + { + dlclose (handle); + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, _("%s symbol \"plugin_name\" not found in plugin \"%s\", failed to load\n"), + WEECHAT_ERROR, full_name); + free (full_name); + return NULL; + } + /* check for plugin with same name */ + if (plugin_search (name)) { - new_plugin_handler->plugin_type = plugin_type; - new_plugin_handler->name = strdup (name); - new_plugin_handler->function_name = strdup (function); - new_plugin_handler->running = 0; + dlclose (handle); + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s unable to load plugin \"%s\": a plugin with " + "same name already exists\n"), + WEECHAT_ERROR, full_name); + free (full_name); + return NULL; + } + /* look for plugin description */ + description = dlsym (handle, "plugin_description"); + if (!description) + { + dlclose (handle); + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, _("%s symbol \"plugin_description\" not found in plugin \"%s\", failed to load\n"), + WEECHAT_ERROR, full_name); + free (full_name); + return NULL; + } + /* look for plugin version */ + version = dlsym (handle, "plugin_version"); + if (!version) + { + dlclose (handle); + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, _("%s symbol \"plugin_version\" not found in plugin \"%s\", failed to load\n"), + WEECHAT_ERROR, full_name); + free (full_name); + return NULL; + } + /* look for plugin init function */ + init_func = dlsym (handle, "weechat_plugin_init"); + if (!init_func) + { + dlclose (handle); + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, _("%s function \"weechat_plugin_init\" not found in plugin \"%s\", failed to load\n"), + WEECHAT_ERROR, full_name); + free (full_name); + return NULL; + } + + /* create new plugin */ + new_plugin = (t_weechat_plugin *)malloc (sizeof (t_weechat_plugin)); + if (new_plugin) + { + /* variables */ + new_plugin->filename = strdup (full_name); + new_plugin->handle = handle; + new_plugin->name = strdup (name); + new_plugin->description = strdup (description); + new_plugin->version = strdup (version); - /* add new handler to list */ - new_plugin_handler->prev_handler = *last_plugin_handler; - new_plugin_handler->next_handler = NULL; - if (*plugin_handlers) - (*last_plugin_handler)->next_handler = new_plugin_handler; + /* functions */ + new_plugin->mkdir_home = &weechat_plugin_mkdir_home; + new_plugin->exec_on_files = &weechat_plugin_exec_on_files; + new_plugin->msg_handler_add = &weechat_plugin_msg_handler_add; + new_plugin->msg_handler_remove = &weechat_plugin_msg_handler_remove; + new_plugin->msg_handler_remove_all = &weechat_plugin_msg_handler_remove_all; + new_plugin->cmd_handler_add = &weechat_plugin_cmd_handler_add; + new_plugin->cmd_handler_remove = &weechat_plugin_cmd_handler_remove; + new_plugin->cmd_handler_remove_all = &weechat_plugin_cmd_handler_remove_all; + new_plugin->printf = &weechat_plugin_printf; + new_plugin->printf_server = &weechat_plugin_printf_server; + new_plugin->infobar_printf = &weechat_plugin_infobar_printf; + new_plugin->exec_command = &weechat_plugin_exec_command; + new_plugin->get_info = &weechat_plugin_get_info; + new_plugin->get_dcc_info = &weechat_plugin_get_dcc_info; + new_plugin->free_dcc_info = &weechat_plugin_free_dcc_info; + new_plugin->explode_string = &weechat_explode_string; + new_plugin->free_exploded_string = &weechat_free_exploded_string; + new_plugin->ascii_strcasecmp = &weechat_ascii_strcasecmp; + + /* handlers */ + new_plugin->msg_handlers = NULL; + new_plugin->last_msg_handler = NULL; + new_plugin->cmd_handlers = NULL; + new_plugin->last_cmd_handler = NULL; + + /* add new plugin to list */ + new_plugin->prev_plugin = last_weechat_plugin; + new_plugin->next_plugin = NULL; + if (weechat_plugins) + last_weechat_plugin->next_plugin = new_plugin; else - *plugin_handlers = new_plugin_handler; - *last_plugin_handler = new_plugin_handler; + weechat_plugins = new_plugin; + last_weechat_plugin = new_plugin; + + irc_display_prefix (NULL, PREFIX_PLUGIN); + gui_printf (NULL, + _("Initializing plugin \"%s\" %s\n"), + new_plugin->name, new_plugin->version); + + /* init plugin */ + if (!((t_weechat_init_func *)init_func) (new_plugin)) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s unable to initialize plugin \"%s\"\n"), + WEECHAT_ERROR, full_name); + plugin_remove (new_plugin); + free (full_name); + return NULL; + } } else { irc_display_prefix (NULL, PREFIX_ERROR); gui_printf (NULL, - _("%s unable to add handler for \"%s\" message (not enough memory)\n"), - WEECHAT_ERROR, name); + _("%s unable to load plugin \"%s\" (not enough memory)\n"), + WEECHAT_ERROR, full_name); + free (full_name); + return NULL; } + + irc_display_prefix (NULL, PREFIX_PLUGIN); + gui_printf (NULL, + _("Plugin \"%s\" (%s) loaded.\n"), + name, full_name); + + free (full_name); + + return new_plugin; } /* - * plugin_handler_free: free message/command handler + * plugin_auto_load_file: load a file found by plugin_aut_load, + * but only it this is really a dynamic library + */ + +int plugin_auto_load_file (t_weechat_plugin *plugin, char *filename) +{ + char *pos; + + /* make gcc happy */ + (void) plugin; + + if (cfg_plugins_extension && cfg_plugins_extension[0]) + { + pos = strstr (filename, cfg_plugins_extension); + if (pos) + { + if (ascii_strcasecmp (pos, cfg_plugins_extension) == 0) + plugin_load (filename); + } + } + else + plugin_load (filename); + return 1; +} + +/* + * plugin_auto_load: auto-load WeeChat plugins + */ + +void plugin_auto_load () +{ + char *dir_name; + + dir_name = (char *)malloc (strlen (WEECHAT_LIBDIR) + 16); + if (dir_name) + { + snprintf (dir_name, strlen (WEECHAT_LIBDIR) + 16, + "%s/plugins", WEECHAT_LIBDIR); + plugin_exec_on_files (NULL, dir_name, &plugin_auto_load_file); + free (dir_name); + } +} + +/* + * plugin_remove: remove a WeeChat plugin */ void -plugin_handler_free (t_plugin_handler **plugin_handlers, - t_plugin_handler **last_plugin_handler, - t_plugin_handler *ptr_plugin_handler) +plugin_remove (t_weechat_plugin *plugin) { - t_plugin_handler *new_plugin_handlers; + t_weechat_plugin *new_weechat_plugins; /* remove handler from list */ - if (*last_plugin_handler == ptr_plugin_handler) - *last_plugin_handler = ptr_plugin_handler->prev_handler; - if (ptr_plugin_handler->prev_handler) + if (last_weechat_plugin == plugin) + last_weechat_plugin = plugin->prev_plugin; + if (plugin->prev_plugin) { - (ptr_plugin_handler->prev_handler)->next_handler = ptr_plugin_handler->next_handler; - new_plugin_handlers = *plugin_handlers; + (plugin->prev_plugin)->next_plugin = plugin->next_plugin; + new_weechat_plugins = weechat_plugins; } else - new_plugin_handlers = ptr_plugin_handler->next_handler; + new_weechat_plugins = plugin->next_plugin; + + if (plugin->next_plugin) + (plugin->next_plugin)->prev_plugin = plugin->prev_plugin; - if (ptr_plugin_handler->next_handler) - (ptr_plugin_handler->next_handler)->prev_handler = ptr_plugin_handler->prev_handler; - /* free data */ - free (ptr_plugin_handler->name); - free (ptr_plugin_handler->function_name); - free (ptr_plugin_handler); - *plugin_handlers = new_plugin_handlers; + plugin_msg_handler_remove_all (plugin); + plugin_cmd_handler_remove_all (plugin); + if (plugin->filename) + free (plugin->filename); + dlclose (plugin->handle); + if (plugin->name) + free (plugin->name); + if (plugin->description) + free (plugin->description); + if (plugin->version) + free (plugin->version); + free (plugin); + + weechat_plugins = new_weechat_plugins; } /* - * plugin_handler_free_all: remove all message/command handlers + * plugin_unload: unload a WeeChat plugin */ void -plugin_handler_free_all (t_plugin_handler **plugin_handlers, - t_plugin_handler **last_plugin_handler) +plugin_unload (t_weechat_plugin *plugin) { - while (*plugin_handlers) - plugin_handler_free (plugin_handlers, last_plugin_handler, - *plugin_handlers); + t_weechat_end_func *end_func; + + end_func = dlsym (plugin->handle, "weechat_plugin_end"); + if (end_func) + (void) (end_func) (plugin); + plugin_remove (plugin); } /* - * plugin_handler_free_all_type: remove all message/command handlers for one type + * plugin_unload_name: unload a WeeChat plugin by name */ void -plugin_handler_free_all_type (t_plugin_handler **plugin_handlers, - t_plugin_handler **last_plugin_handler, - int plugin_type) +plugin_unload_name (char *name) { - t_plugin_handler *ptr_plugin_handler, *new_plugin_handler; + t_weechat_plugin *ptr_plugin; - ptr_plugin_handler = *plugin_handlers; - while (ptr_plugin_handler) + ptr_plugin = plugin_search (name); + if (ptr_plugin) { - if (ptr_plugin_handler->plugin_type == plugin_type) - { - new_plugin_handler = ptr_plugin_handler->next_handler; - plugin_handler_free (plugin_handlers, last_plugin_handler, - ptr_plugin_handler); - ptr_plugin_handler = new_plugin_handler; - } - else - ptr_plugin_handler = ptr_plugin_handler->next_handler; + plugin_unload (ptr_plugin); + irc_display_prefix (NULL, PREFIX_PLUGIN); + gui_printf (NULL, _("Plugin \"%s\" unloaded.\n"), name); + } + else + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s plugin \"%s\" not found\n"), + WEECHAT_ERROR, name); } } /* - * plugin_event_msg: IRC message received => call all handlers for this message + * plugin_unload_all: unload all WeeChat plugins */ void -plugin_event_msg (char *irc_command, char *server, char *arguments) +plugin_unload_all () { -#ifdef PLUGINS - t_plugin_handler *ptr_plugin_handler; + while (weechat_plugins) + plugin_unload (weechat_plugins); +} + +/* + * plugin_init: init plugin support + */ + +void +plugin_init () +{ + char *list_plugins, *pos, *pos2; - for (ptr_plugin_handler = plugin_msg_handlers; ptr_plugin_handler; - ptr_plugin_handler = ptr_plugin_handler->next_handler) + if (cfg_plugins_autoload && cfg_plugins_autoload[0]) { - if (ascii_strcasecmp (ptr_plugin_handler->name, irc_command) == 0) + if (ascii_strcasecmp (cfg_plugins_autoload, "*") == 0) + plugin_auto_load (); + else { -#ifdef PLUGIN_PERL - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_PERL) + list_plugins = strdup (cfg_plugins_autoload); + if (list_plugins) { - if (ptr_plugin_handler->running == 0) + pos = list_plugins; + while (pos && pos[0]) { - ptr_plugin_handler->running = 1; - wee_perl_exec (ptr_plugin_handler->function_name, server, arguments); - ptr_plugin_handler->running = 0; + pos2 = strchr (pos, ','); + if (pos2) + pos2[0] = '\0'; + plugin_load (pos); + if (pos2) + pos = pos2 + 1; + else + pos = NULL; } + free (list_plugins); } -#endif -#ifdef PLUGIN_PYTHON - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_PYTHON) - { - if (ptr_plugin_handler->running == 0) - { - ptr_plugin_handler->running = 1; - wee_python_exec (ptr_plugin_handler->function_name, server, arguments); - ptr_plugin_handler->running = 0; - } - } -#endif -#ifdef PLUGIN_RUBY - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_RUBY) - { - if (ptr_plugin_handler->running == 0) - { - ptr_plugin_handler->running = 1; - wee_ruby_exec (ptr_plugin_handler->function_name, server, arguments); - ptr_plugin_handler->running = 0; - } - } -#endif } } -#else - /* make gcc happy */ - (void) irc_command; - (void) arguments; - (void) server; -#endif /* PLUGINS */ } /* - * plugin_exec_command: execute a command handler + * plugin_end: end plugin support + */ + +void +plugin_end () +{ + plugin_unload_all (); +} + +/*************************** Public plugin interface **************************/ + +/* + * weechat_plugin_mkdir_home: create a directory for script in WeeChat home */ int -plugin_exec_command (char *user_command, char *server, char *arguments) +weechat_plugin_mkdir_home (t_weechat_plugin *plugin, char *path) { -#ifdef PLUGINS - t_plugin_handler *ptr_plugin_handler; + char *dir_name; + int dir_length; + + /* make gcc happy */ + (void) plugin; + + if (!path) + return 0; + + /* build directory, adding WeeChat home */ + dir_length = strlen (weechat_home) + strlen (path) + 2; + dir_name = + (char *) malloc (dir_length * sizeof (char)); + if (!dir_name) + return 0; - for (ptr_plugin_handler = plugin_cmd_handlers; ptr_plugin_handler; - ptr_plugin_handler = ptr_plugin_handler->next_handler) + snprintf (dir_name, dir_length, "%s/%s", weechat_home, path); + + if (mkdir (dir_name, 0755) < 0) { - if (ascii_strcasecmp (ptr_plugin_handler->name, user_command) == 0) + if (errno != EEXIST) { -#ifdef PLUGIN_PERL - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_PERL) - { - if (ptr_plugin_handler->running == 0) - { - ptr_plugin_handler->running = 1; - wee_perl_exec (ptr_plugin_handler->function_name, server, arguments); - ptr_plugin_handler->running = 0; - } - } -#endif -#ifdef PLUGIN_PYTHON - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_PYTHON) - { - if (ptr_plugin_handler->running == 0) - { - ptr_plugin_handler->running = 1; - wee_python_exec (ptr_plugin_handler->function_name, server, arguments); - ptr_plugin_handler->running = 0; - } - } -#endif -#ifdef PLUGIN_RUBY - if (ptr_plugin_handler->plugin_type == PLUGIN_TYPE_RUBY) - { - if (ptr_plugin_handler->running == 0) - { - ptr_plugin_handler->running = 1; - wee_ruby_exec (ptr_plugin_handler->function_name, server, arguments); - ptr_plugin_handler->running = 0; - } - } -#endif - - /* command executed */ - return 1; + free (dir_name); + return 0; } } -#else - /* make gcc happy */ - (void) user_command; - (void) arguments; - (void) server; -#endif /* PLUGINS */ - /* no command executed */ - return 0; + free (dir_name); + return 1; } /* - * plugin_find_buffer: find a buffer for text display or command execution + * weechat_plugin_exec_on_files: find files in a directory and execute a + * function on each file */ -t_gui_buffer * -plugin_find_buffer (char *server, char *channel) +void +weechat_plugin_exec_on_files (t_weechat_plugin *plugin, char *directory, + int (*callback)(t_weechat_plugin *, char *)) +{ + if (directory && callback) + plugin_exec_on_files (plugin, directory, callback); +} + +/* + * weechat_plugin_msg_handler_add: add a message handler + */ + +t_plugin_msg_handler * +weechat_plugin_msg_handler_add (t_weechat_plugin *plugin, char *message, + t_plugin_handler_func *handler_func, + char *handler_args, void *handler_pointer) +{ + if (plugin && message && handler_func) + return plugin_msg_handler_add (plugin, message, handler_func, + handler_args, handler_pointer); + + return NULL; +} + +/* + * weechat_plugin_msg_handler_remove: remove a WeeChat message handler + */ + +void +weechat_plugin_msg_handler_remove (t_weechat_plugin *plugin, + t_plugin_msg_handler *msg_handler) +{ + if (plugin && msg_handler) + plugin_msg_handler_remove (plugin, msg_handler); +} + +/* + * weechat_plugin_msg_handler_remove_all: remove all WeeChat message handlers + */ + +void +weechat_plugin_msg_handler_remove_all (t_weechat_plugin *plugin) +{ + if (plugin) + plugin_msg_handler_remove_all (plugin); +} + +/* + * weechat_plugin_cmd_handler_add: add a command handler + */ + +t_plugin_cmd_handler * +weechat_plugin_cmd_handler_add (t_weechat_plugin *plugin, char *command, + char *description, char *arguments, + char *arguments_description, + t_plugin_handler_func *handler_func, + char *handler_args, void *handler_pointer) +{ + if (plugin && command && handler_func) + return plugin_cmd_handler_add (plugin, command, description, arguments, + arguments_description, + handler_func, + handler_args, handler_pointer); + + return NULL; +} + +/* + * weechat_cmd_plugin_handler_remove: remove a WeeChat command handler + */ + +void +weechat_plugin_cmd_handler_remove (t_weechat_plugin *plugin, + t_plugin_cmd_handler *cmd_handler) +{ + if (plugin && cmd_handler) + plugin_cmd_handler_remove (plugin, cmd_handler); +} + +/* + * weechat_plugin_cmd_handler_remove_all: remove all WeeChat command handlers + */ + +void +weechat_plugin_cmd_handler_remove_all (t_weechat_plugin *plugin) +{ + if (plugin) + plugin_cmd_handler_remove_all (plugin); +} + +/* + * weechat_plugin_printf: print a message on a server or channel buffer + */ + +void +weechat_plugin_printf (t_weechat_plugin *plugin, + char *server, char *channel, char *message, ...) { - t_irc_server *ptr_server; - t_irc_channel *ptr_channel; t_gui_buffer *ptr_buffer; + va_list argptr; + static char buf[8192]; - ptr_server = NULL; - ptr_channel = NULL; - ptr_buffer = NULL; + if (!plugin || !message) + return; - if (server && server[0]) + ptr_buffer = plugin_find_buffer (server, channel); + va_start (argptr, message); + vsnprintf (buf, sizeof (buf) - 1, message, argptr); + va_end (argptr); + irc_display_prefix (ptr_buffer, PREFIX_PLUGIN); + gui_printf (ptr_buffer, "%s\n", buf); +} + +/* + * weechat_plugin_printf_server: print a message on server buffer + */ + +void +weechat_plugin_printf_server (t_weechat_plugin *plugin, char *message, ...) +{ + va_list argptr; + static char buf[8192]; + + if (!plugin || !message) + return; + + va_start (argptr, message); + vsnprintf (buf, sizeof (buf) - 1, message, argptr); + va_end (argptr); + irc_display_prefix (NULL, PREFIX_PLUGIN); + gui_printf (NULL, "%s\n", buf); +} + +/* + * weechat_plugin_infobar_printf: print a message in infobar + */ + +void +weechat_plugin_infobar_printf (t_weechat_plugin *plugin, int time_displayed, char *message, ...) +{ + va_list argptr; + static char buf[1024]; + + if (!plugin || (time_displayed < 0) || !message) + return; + + va_start (argptr, message); + vsnprintf (buf, sizeof (buf) - 1, message, argptr); + va_end (argptr); + gui_infobar_printf (time_displayed, COLOR_WIN_INFOBAR, buf); +} + +/* + * weechat_plugin_exec_command: execute a command (simulate user entry) + */ + +void +weechat_plugin_exec_command (t_weechat_plugin *plugin, + char *server, char *channel, char *command) +{ + t_gui_buffer *ptr_buffer; + + if (!plugin || !command) + return; + + ptr_buffer = plugin_find_buffer (server, channel); + if (ptr_buffer) + user_command (SERVER(ptr_buffer), ptr_buffer, command); +} + +/* + * weechat_plugin_get_info: get info about WeeChat + * WARNING: caller should free string returned + * by this function after use + */ + +char * +weechat_plugin_get_info (t_weechat_plugin *plugin, char *info, char *server, char *channel) +{ + t_gui_buffer *ptr_buffer; + + if (!plugin || !info) + return NULL; + + ptr_buffer = plugin_find_buffer (server, channel); + if (!ptr_buffer) + return NULL; + + if (ascii_strcasecmp (info, "version") == 0) { - ptr_server = server_search (server); - if (!ptr_server) - return NULL; + return strdup (PACKAGE_STRING); } - else + else if (ascii_strcasecmp (info, "nick") == 0) { - ptr_server = SERVER(gui_current_window->buffer); - if (!ptr_server) - ptr_server = SERVER(gui_buffers); + if (SERVER(ptr_buffer) && (SERVER(ptr_buffer)->is_connected) + && (SERVER(ptr_buffer)->nick)) + return strdup (SERVER(ptr_buffer)->nick); } - - if (channel && channel[0]) + else if (ascii_strcasecmp (info, "channel") == 0) { - if (ptr_server) - { - ptr_channel = channel_search (ptr_server, channel); - if (ptr_channel) - ptr_buffer = ptr_channel->buffer; - } + if (BUFFER_IS_CHANNEL(ptr_buffer)) + return strdup (CHANNEL(gui_current_window->buffer)->name); } - else + else if (ascii_strcasecmp (info, "server") == 0) { - if (!channel) - { - ptr_buffer = gui_current_window->buffer; - if (ptr_buffer->dcc) - ptr_buffer = gui_buffers; - } - else + if (SERVER(ptr_buffer) && (SERVER(ptr_buffer)->is_connected) + && (SERVER(ptr_buffer)->name)) + return strdup (SERVER(ptr_buffer)->name); + } + else if (ascii_strcasecmp (info, "away") == 0) + { + if (SERVER(ptr_buffer) && (SERVER(ptr_buffer)->is_connected)) { - if (ptr_server) - ptr_buffer = ptr_server->buffer; + if (SERVER(ptr_buffer)->is_away) + return strdup ("1"); + else + return strdup ("0"); } } + else if (ascii_strcasecmp (info, "weechat_dir") == 0) + { + return strdup (weechat_home); + } + else if (ascii_strcasecmp (info, "weechat_libdir") == 0) + { + return strdup (WEECHAT_LIBDIR); + } + else if (ascii_strcasecmp (info, "weechat_sharedir") == 0) + { + return strdup (WEECHAT_SHAREDIR); + } - if (!ptr_buffer) + /* info not found */ + return NULL; +} + +/* + * weechat_plugin_get_dcc_info: get list of DCC files/chats info + */ + +t_plugin_dcc_info * +weechat_plugin_get_dcc_info (t_weechat_plugin *plugin) +{ + t_plugin_dcc_info *dcc_info, *last_dcc_info, *new_dcc_info; + t_irc_dcc *ptr_dcc; + + if (!plugin) return NULL; - return (ptr_buffer->dcc) ? NULL : ptr_buffer; + if (dcc_list) + { + dcc_info = NULL; + last_dcc_info = NULL; + for (ptr_dcc = dcc_list; ptr_dcc; ptr_dcc = ptr_dcc->next_dcc) + { + new_dcc_info = (t_plugin_dcc_info *)malloc (sizeof (t_plugin_dcc_info)); + if (new_dcc_info) + { + new_dcc_info->server = (ptr_dcc->server) ? strdup (ptr_dcc->server->name) : strdup (""); + new_dcc_info->channel = (ptr_dcc->channel) ? strdup (ptr_dcc->channel->name) : strdup (""); + new_dcc_info->type = ptr_dcc->type; + new_dcc_info->status = ptr_dcc->status; + new_dcc_info->start_time = ptr_dcc->start_time; + new_dcc_info->start_transfer = ptr_dcc->start_transfer; + new_dcc_info->addr = ptr_dcc->addr; + new_dcc_info->port = ptr_dcc->port; + new_dcc_info->nick = (ptr_dcc->nick) ? strdup (ptr_dcc->nick) : strdup (""); + new_dcc_info->filename = (ptr_dcc->filename) ? strdup (ptr_dcc->filename) : strdup (""); + new_dcc_info->local_filename = (ptr_dcc->local_filename) ? strdup (ptr_dcc->local_filename) : strdup (""); + new_dcc_info->filename_suffix = ptr_dcc->filename_suffix; + new_dcc_info->size = ptr_dcc->size; + new_dcc_info->pos = ptr_dcc->pos; + new_dcc_info->start_resume = ptr_dcc->start_resume; + new_dcc_info->bytes_per_sec = ptr_dcc->bytes_per_sec; + + new_dcc_info->prev_dcc = last_dcc_info; + new_dcc_info->next_dcc = NULL; + if (!dcc_info) + { + dcc_info = new_dcc_info; + last_dcc_info = new_dcc_info; + } + else + last_dcc_info->next_dcc = new_dcc_info; + } + } + + return dcc_info; + } + + return NULL; } /* - * plugin_unload: unload all scripts for a plugin type + * weechat_plugin_free_dcc_info: free dcc info struct list */ void -plugin_unload (int plugin_type, char *scriptname) +weechat_plugin_free_dcc_info (t_weechat_plugin *plugin, t_plugin_dcc_info *dcc_info) { - /* make gcc happy */ - (void) scriptname; + t_plugin_dcc_info *new_dcc_info; + + if (!plugin || !dcc_info) + return; -#ifdef PLUGINS - switch (plugin_type) + while (dcc_info) { - case PLUGIN_TYPE_PERL: -#ifdef PLUGIN_PERL - /* unload one Perl script is not allowed */ - wee_perl_end (); - wee_perl_init (); -#endif - break; - case PLUGIN_TYPE_PYTHON: -#ifdef PLUGIN_PYTHON - wee_python_end (); - wee_python_init (); -#endif - break; - case PLUGIN_TYPE_RUBY: -#ifdef PLUGIN_RUBY - wee_ruby_end (); - wee_ruby_init (); -#endif - break; + if (dcc_info->server) + free (dcc_info->server); + if (dcc_info->channel) + free (dcc_info->channel); + if (dcc_info->nick) + free (dcc_info->nick); + if (dcc_info->filename) + free (dcc_info->filename); + if (dcc_info->local_filename) + free (dcc_info->local_filename); + new_dcc_info = dcc_info->next_dcc; + free (dcc_info); + dcc_info = new_dcc_info; } -#else +} + +/* + * weechat_explode_string: explode a string + */ + +char ** +weechat_explode_string (t_weechat_plugin *plugin, char *string, + char *separators, int num_items_max, + int *num_items) +{ /* make gcc happy */ - (void) plugin_type; -#endif /* PLUGINS */ + (void) plugin; + + if (!plugin || !string || !separators || !num_items) + return NULL; + + return explode_string (string, separators, num_items_max, num_items); } /* - * plugin_end: shutdown plugin interface + * weechat_free_exploded_string: free exploded string */ void -plugin_end () +weechat_free_exploded_string (t_weechat_plugin *plugin, char **exploded_string) { - plugin_handler_free_all (&plugin_msg_handlers, &last_plugin_msg_handler); - plugin_handler_free_all (&plugin_cmd_handlers, &last_plugin_cmd_handler); - -#ifdef PLUGIN_PERL - wee_perl_end(); -#endif + /* make gcc happy */ + (void) plugin; -#ifdef PLUGIN_PYTHON - wee_python_end(); -#endif + free_exploded_string (exploded_string); +} -#ifdef PLUGIN_RUBY - wee_ruby_end(); -#endif +/* + * weechat_ascii_strcasecmp: locale and case independent string comparison + */ + +int +weechat_ascii_strcasecmp (t_weechat_plugin *plugin, + char *string1, char *string2) +{ + /* make gcc happy */ + (void) plugin; + + return ascii_strcasecmp (string1, string2); } diff --git a/weechat/src/plugins/plugins.h b/weechat/src/plugins/plugins.h index c729d0480..a8bd38cb0 100644 --- a/weechat/src/plugins/plugins.h +++ b/weechat/src/plugins/plugins.h @@ -21,68 +21,24 @@ #ifndef __WEECHAT_PLUGINS_H #define __WEECHAT_PLUGINS_H 1 +#include "weechat-plugin.h" #include "../gui/gui.h" -#define PLUGIN_TYPE_PERL 0 -#define PLUGIN_TYPE_PYTHON 1 -#define PLUGIN_TYPE_RUBY 2 +typedef int (t_weechat_init_func) (t_weechat_plugin *); +typedef void (t_weechat_end_func) (t_weechat_plugin *); -typedef struct t_plugin_script t_plugin_script; +extern t_weechat_plugin *weechat_plugins; +extern t_weechat_plugin *last_weechat_plugin; -struct t_plugin_script -{ - char *name; /* name of script */ - char *version; /* version of script */ - char *shutdown_func; /* function when script ends */ - char *description; /* description of script */ - t_plugin_script *prev_script; /* link to previous Perl script */ - t_plugin_script *next_script; /* link to next Perl script */ -}; - -typedef struct t_plugin_handler t_plugin_handler; - -struct t_plugin_handler -{ - int plugin_type; /* plugin type (Perl, Python, Ruby) */ - char *name; /* name of IRC command (PRIVMSG, ..) - or command (without first '/') */ - char *function_name; /* name of function (handler) */ - int running; /* 1 if currently running */ - /* (used to prevent circular call) */ - t_plugin_handler *prev_handler; /* link to previous handler */ - t_plugin_handler *next_handler; /* link to next handler */ -}; - -extern t_plugin_handler *plugin_msg_handlers; -extern t_plugin_handler *last_plugin_msg_handler; - -extern t_plugin_handler *plugin_cmd_handlers; -extern t_plugin_handler *last_plugin_cmd_handler; - -#ifdef PLUGIN_PERL -extern t_plugin_script *perl_scripts; -#endif - -#ifdef PLUGIN_PYTHON -extern t_plugin_script *python_scripts; -#endif - -#ifdef PLUGIN_RUBY -extern t_plugin_script *ruby_scripts; -#endif - -extern void plugin_auto_load (int, char *); +extern t_weechat_plugin *plugin_search (char *); +extern int plugin_msg_handler_exec (char *, char *, char *); +extern int plugin_cmd_handler_exec (char *, char *, char *); +extern t_weechat_plugin *plugin_load (char *); +extern void plugin_remove (t_weechat_plugin *); +extern void plugin_unload (t_weechat_plugin *); +extern void plugin_unload_name (char *); +extern void plugin_unload_all (); extern void plugin_init (); -extern void plugin_load (int, char *); -extern void plugin_unload (int, char *); -extern t_plugin_handler *plugin_handler_search (t_plugin_handler *, char *); -extern void plugin_handler_add (t_plugin_handler **, t_plugin_handler **, - int, char *, char *); -extern void plugin_handler_free_all_type (t_plugin_handler **, - t_plugin_handler **, int); -extern void plugin_event_msg (char *, char *, char *); -extern int plugin_exec_command (char *, char *, char *); -extern t_gui_buffer *plugin_find_buffer (char *, char *); extern void plugin_end (); #endif /* plugins.h */ diff --git a/weechat/src/plugins/scripts/Makefile.am b/weechat/src/plugins/scripts/Makefile.am new file mode 100644 index 000000000..3ff3b4501 --- /dev/null +++ b/weechat/src/plugins/scripts/Makefile.am @@ -0,0 +1,37 @@ +# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\" + +noinst_LTLIBRARIES = lib_weechat_plugins_scripts.la + +lib_weechat_plugins_scripts_la_SOURCES = weechat-script.h \ + weechat-script.c + +if PLUGIN_PERL +perl_dir = perl +endif + +if PLUGIN_PYTHON +python_dir = python +endif + +if PLUGIN_RUBY +#ruby_dir = ruby +endif + +SUBDIRS = . $(perl_dir) $(python_dir) $(ruby_dir) diff --git a/weechat/src/plugins/scripts/perl/Makefile.am b/weechat/src/plugins/scripts/perl/Makefile.am new file mode 100644 index 000000000..1327bab98 --- /dev/null +++ b/weechat/src/plugins/scripts/perl/Makefile.am @@ -0,0 +1,26 @@ +# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\" $(PERL_CFLAGS) + +libdir = ${weechat_libdir}/plugins + +lib_LTLIBRARIES = libperl.la + +libperl_la_SOURCES = weechat-perl.c +libperl_la_LDFLAGS = -module +libperl_la_LIBADD = ../lib_weechat_plugins_scripts.la $(PERL_LFLAGS) diff --git a/weechat/src/plugins/scripts/perl/weechat-perl.c b/weechat/src/plugins/scripts/perl/weechat-perl.c new file mode 100644 index 000000000..504a0a596 --- /dev/null +++ b/weechat/src/plugins/scripts/perl/weechat-perl.c @@ -0,0 +1,739 @@ +/* + * Copyright (c) 2003-2005 by FlashCode <flashcode@flashtux.org> + * See README for License detail, AUTHORS for developers list. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* weechat-perl.c: Perl plugin support for WeeChat */ + + +#include <stdlib.h> +#include <EXTERN.h> +#include <perl.h> +#include <XSUB.h> +#undef _ +#include "../../weechat-plugin.h" +#include "../weechat-script.h" + + +char plugin_name[] = "Perl"; +char plugin_version[] = "0.1"; +char plugin_description[] = "Perl scripts support"; + +t_weechat_plugin *perl_plugin; + +t_plugin_script *perl_scripts = NULL; +t_plugin_script *current_perl_script = NULL; + +static PerlInterpreter *my_perl = NULL; + +extern void boot_DynaLoader (pTHX_ CV* cv); + + +/* + * weechat_perl_exec: execute a Perl script + */ + +int +weechat_perl_exec (t_weechat_plugin *plugin, + t_plugin_script *script, + char *function, char *server, char *arguments) +{ + char empty_server[1] = { '\0' }; + char *argv[3]; + unsigned int count; + int return_code; + SV *sv; + + /* make gcc happy */ + (void) script; + + dSP; + ENTER; + SAVETMPS; + PUSHMARK(sp); + if (!server) + argv[0] = empty_server; + else + argv[0] = server; + argv[1] = arguments; + argv[2] = NULL; + count = perl_call_argv (function, G_EVAL | G_SCALAR, argv); + SPAGAIN; + + sv = GvSV (gv_fetchpv ("@", TRUE, SVt_PV)); + return_code = 1; + if (SvTRUE (sv)) + { + plugin->printf_server (plugin, "Perl error: %s", SvPV (sv, count)); + POPs; + } + else + { + if (count != 1) + { + plugin->printf_server (plugin, + "Perl error: too much values from \"%s\" (%d). Expected: 1.", + function, count); + } + else + return_code = POPi; + } + + PUTBACK; + FREETMPS; + LEAVE; + + return return_code; +} + +/* + * weechat_perl_handler: general message and command handler for Perl + */ + +int +weechat_perl_handler (t_weechat_plugin *plugin, + char *server, char *command, char *arguments, + char *handler_args, void *handler_pointer) +{ + /* make gcc happy */ + (void) command; + + weechat_perl_exec (plugin, (t_plugin_script *)handler_pointer, + handler_args, server, arguments); + return 1; +} + +/* + * weechat::register: startup function for all WeeChat Perl scripts + */ + +static XS (XS_weechat_register) +{ + char *name, *version, *shutdown_func, *description; + unsigned int integer; + dXSARGS; + + /* make gcc happy */ + (void) items; + (void) cv; + + if (items != 4) + { + perl_plugin->printf_server (perl_plugin, + "Perl error: wrong parameters for " + "\"register\" function"); + XSRETURN (0); + return; + } + + name = SvPV (ST (0), integer); + version = SvPV (ST (1), integer); + shutdown_func = SvPV (ST (2), integer); + description = SvPV (ST (3), integer); + + if (weechat_script_search (perl_plugin, &perl_scripts, name)) + { + /* error: another script already exists with this name! */ + perl_plugin->printf_server (perl_plugin, + "Perl error: unable to register " + "\"%s\" script (another script " + "already exists with this name)", + name); + XSRETURN (0); + return; + } + + /* register script */ + current_perl_script = weechat_script_add (perl_plugin, + &perl_scripts, + "", + name, version, shutdown_func, + description); + if (current_perl_script) + { + perl_plugin->printf_server (perl_plugin, + "Perl: registered script \"%s\", " + "version %s (%s)", + name, version, description); + } + else + { + perl_plugin->printf_server (perl_plugin, + "Perl error: unable to load script " + "\"%s\" (not enough memory)", + name); + XSRETURN (0); + return; + } + XSRETURN (1); +} + +/* + * weechat::print: print message into a buffer (current or specified one) + */ + +static XS (XS_weechat_print) +{ + unsigned int integer; + char *message, *channel_name, *server_name; + dXSARGS; + + /* make gcc happy */ + (void) cv; + + if ((items < 1) || (items > 3)) + { + perl_plugin->printf_server (perl_plugin, + "Perl error: wrong parameters for " + "\"print\" function"); + XSRETURN_NO; + return; + } + + channel_name = NULL; + server_name = NULL; + + if (items > 1) + { + channel_name = SvPV (ST (1), integer); + if (items > 2) + server_name = SvPV (ST (2), integer); + } + + message = SvPV (ST (0), integer); + perl_plugin->printf (perl_plugin, + server_name, channel_name, + "%s", message); + XSRETURN_YES; +} + +/* + * weechat::print_infobar: print message to infobar + */ + +static XS (XS_weechat_print_infobar) +{ + unsigned int integer; + dXSARGS; + + /* make gcc happy */ + (void) cv; + + if (items != 2) + { + perl_plugin->printf_server (perl_plugin, + "Perl error: wrong parameters for " + "\"print_infobar\" function"); + XSRETURN_NO; + } + + perl_plugin->infobar_printf (perl_plugin, + SvIV (ST (0)), + SvPV (ST (1), integer)); + XSRETURN_YES; +} + +/* + * weechat::command: send command to server + */ + +static XS (XS_weechat_command) +{ + unsigned int integer; + char *channel_name, *server_name; + dXSARGS; + + /* make gcc happy */ + (void) cv; + + if ((items < 1) || (items > 3)) + { + perl_plugin->printf_server (perl_plugin, + "Perl error: wrong parameters for " + "\"command\" function"); + XSRETURN_NO; + return; + } + + channel_name = NULL; + server_name = NULL; + + if (items > 1) + { + channel_name = SvPV (ST (1), integer); + if (items > 2) + server_name = SvPV (ST (2), integer); + } + + perl_plugin->exec_command (perl_plugin, + server_name, channel_name, + SvPV (ST (0), integer)); + XSRETURN_YES; +} + +/* + * weechat::add_message_handler: add handler for messages (privmsg, ...) + */ + +static XS (XS_weechat_add_message_handler) +{ + char *name, *function; + unsigned int integer; + dXSARGS; + + /* make gcc happy */ + (void) cv; + + if (items != 2) + { + perl_plugin->printf_server (perl_plugin, + "Perl error: wrong parameters for " + "\"add_message_handler\" function"); + XSRETURN_NO; + } + + name = SvPV (ST (0), integer); + function = SvPV (ST (1), integer); + perl_plugin->msg_handler_add (perl_plugin, name, + weechat_perl_handler, function, + (void *)current_perl_script); + XSRETURN_YES; +} + +/* + * weechat::add_command_handler: add command handler (define/redefine commands) + */ + +static XS (XS_weechat_add_command_handler) +{ + char *command, *function, *description, *arguments, *arguments_description; + unsigned int integer; + dXSARGS; + + /* make gcc happy */ + (void) cv; + + if (items < 2) + { + perl_plugin->printf_server (perl_plugin, + "Perl error: wrong parameters for " + "\"add_command_handler\" function"); + XSRETURN_NO; + } + + command = SvPV (ST (0), integer); + function = SvPV (ST (1), integer); + description = (items >= 3) ? SvPV (ST (2), integer) : NULL; + arguments = (items >= 4) ? SvPV (ST (3), integer) : NULL; + arguments_description = (items >= 5) ? SvPV (ST (4), integer) : NULL; + + perl_plugin->cmd_handler_add (perl_plugin, + command, + description, + arguments, + arguments_description, + weechat_perl_handler, + function, + (void *)current_perl_script); + XSRETURN_YES; +} + +/* + * weechat::get_info: get various infos + */ + +static XS (XS_weechat_get_info) +{ + char *arg, *info, *server_name, *channel_name; + unsigned int integer; + dXSARGS; + + /* make gcc happy */ + (void) cv; + + if ((items < 1) || (items > 3)) + { + perl_plugin->printf_server (perl_plugin, + "Perl error: wrong parameters for " + "\"get_info\" function"); + XSRETURN_NO; + } + + server_name = NULL; + channel_name = NULL; + + if (items >= 2) + server_name = SvPV (ST (1), integer); + if (items == 3) + channel_name = SvPV (ST (2), integer); + + arg = SvPV (ST (0), integer); + if (arg) + { + info = perl_plugin->get_info (perl_plugin, arg, server_name, channel_name); + + if (info) + { + XST_mPV (0, info); + free (info); + } + else + XST_mPV (0, ""); + } + + XSRETURN (1); +} + +/* + * weechat::get_dcc_info: get infos about DCC + */ + +static XS (XS_weechat_get_dcc_info) +{ + t_plugin_dcc_info *dcc_info, *ptr_dcc; + int dcc_count; + dXSARGS; + + /* make gcc happy */ + (void) cv; + (void) items; + + dcc_info = perl_plugin->get_dcc_info (perl_plugin); + dcc_count = 0; + + if (!dcc_info) + { + XSRETURN (0); + return; + } + + for (ptr_dcc = dcc_info; ptr_dcc; ptr_dcc = ptr_dcc->next_dcc) + { + HV *infohash = (HV *) sv_2mortal((SV *) newHV()); + + hv_store (infohash, "server", 6, newSVpv (ptr_dcc->server, 0), 0); + hv_store (infohash, "channel", 7, newSVpv (ptr_dcc->channel, 0), 0); + hv_store (infohash, "type", 4, newSViv (ptr_dcc->type), 0); + hv_store (infohash, "status", 6, newSViv (ptr_dcc->status), 0); + hv_store (infohash, "start_time", 10, newSViv (ptr_dcc->start_time), 0); + hv_store (infohash, "start_transfer", 14, newSViv (ptr_dcc->start_transfer), 0); + hv_store (infohash, "address", 7, newSViv (ptr_dcc->addr), 0); + hv_store (infohash, "port", 4, newSViv (ptr_dcc->port), 0); + hv_store (infohash, "nick", 4, newSVpv (ptr_dcc->nick, 0), 0); + hv_store (infohash, "remote_file", 11, newSVpv (ptr_dcc->filename, 0), 0); + hv_store (infohash, "local_file", 10, newSVpv (ptr_dcc->local_filename, 0), 0); + hv_store (infohash, "filename_suffix", 15, newSViv (ptr_dcc->filename_suffix), 0); + hv_store (infohash, "size", 4, newSVnv (ptr_dcc->size), 0); + hv_store (infohash, "pos", 3, newSVnv (ptr_dcc->pos), 0); + hv_store (infohash, "start_resume", 12, newSVnv (ptr_dcc->start_resume), 0); + hv_store (infohash, "cps", 3, newSViv (ptr_dcc->bytes_per_sec), 0); + + XPUSHs(newRV((SV *) infohash)); + dcc_count++; + } + + perl_plugin->free_dcc_info (perl_plugin, dcc_info); + + XSRETURN (dcc_count); +} + +/* + * weechat_perl_xs_init: initialize subroutines + */ + +void +weechat_perl_xs_init (pTHX) +{ + newXS ("DynaLoader::boot_DynaLoader", boot_DynaLoader, __FILE__); + + newXS ("weechat::register", XS_weechat_register, "weechat"); + newXS ("weechat::print", XS_weechat_print, "weechat"); + newXS ("weechat::print_infobar", XS_weechat_print_infobar, "weechat"); + newXS ("weechat::command", XS_weechat_command, "weechat"); + newXS ("weechat::add_message_handler", XS_weechat_add_message_handler, "weechat"); + newXS ("weechat::add_command_handler", XS_weechat_add_command_handler, "weechat"); + newXS ("weechat::get_info", XS_weechat_get_info, "weechat"); + newXS ("weechat::get_dcc_info", XS_weechat_get_dcc_info, "weechat"); +} + +/* + * wee_perl_load: load a Perl script + */ + +int +weechat_perl_load (t_weechat_plugin *plugin, char *filename) +{ + plugin->printf_server (plugin, "Loading Perl script \"%s\"", filename); + return weechat_perl_exec (plugin, NULL, "wee_perl_load_eval_file", filename, ""); +} + +/* + * weechat_perl_unload: unload a Perl script + */ + +void +weechat_perl_unload (t_weechat_plugin *plugin, t_plugin_script *script) +{ + if (script->shutdown_func && script->shutdown_func[0]) + weechat_perl_exec (plugin, script, script->shutdown_func, "", ""); + + weechat_script_remove (plugin, &perl_scripts, script); +} + +/* + * weechat_perl_unload_all: unload all Perl scripts + */ + +void +weechat_perl_unload_all (t_weechat_plugin *plugin) +{ + plugin->printf_server (plugin, + "Unloading all Perl scripts"); + while (perl_scripts) + weechat_perl_unload (plugin, perl_scripts); + + plugin->printf_server (plugin, + "Perl scripts unloaded"); +} + +/* + * weechat_perl_cmd: /perl command handler + */ + +int +weechat_perl_cmd (t_weechat_plugin *plugin, + char *server, char *command, char *arguments, + char *handler_args, void *handler_pointer) +{ + int argc, path_length, handler_found; + char **argv, *path_script, *dir_home; + t_plugin_script *ptr_plugin_script; + t_plugin_msg_handler *ptr_msg_handler; + t_plugin_cmd_handler *ptr_cmd_handler; + + /* make gcc happy */ + (void) server; + (void) command; + (void) handler_args; + (void) handler_pointer; + + argv = plugin->explode_string (plugin, arguments, " ", 0, &argc); + + switch (argc) + { + case 0: + /* list registered Perl scripts */ + plugin->printf_server (plugin, ""); + plugin->printf_server (plugin, "Registered Perl scripts:"); + if (perl_scripts) + { + for (ptr_plugin_script = perl_scripts; ptr_plugin_script; + ptr_plugin_script = ptr_plugin_script->next_script) + { + plugin->printf_server (plugin, " %s v%s%s%s", + ptr_plugin_script->name, + ptr_plugin_script->version, + (ptr_plugin_script->description[0]) ? " - " : "", + ptr_plugin_script->description); + } + } + else + plugin->printf_server (plugin, " (none)"); + + /* list Perl message handlers */ + plugin->printf_server (plugin, ""); + plugin->printf_server (plugin, "Perl message handlers:"); + handler_found = 0; + for (ptr_msg_handler = plugin->msg_handlers; ptr_msg_handler; + ptr_msg_handler = ptr_msg_handler->next_handler) + { + if (ptr_msg_handler->msg_handler_args) + { + handler_found = 1; + plugin->printf_server (plugin, " IRC(%s) => Perl(%s)", + ptr_msg_handler->irc_command, + ptr_msg_handler->msg_handler_args); + } + } + if (!handler_found) + plugin->printf_server (plugin, " (none)"); + + /* list Perl command handlers */ + plugin->printf_server (plugin, ""); + plugin->printf_server (plugin, "Perl command handlers:"); + handler_found = 0; + for (ptr_cmd_handler = plugin->cmd_handlers; ptr_cmd_handler; + ptr_cmd_handler = ptr_cmd_handler->next_handler) + { + if (ptr_cmd_handler->cmd_handler_args) + { + handler_found = 1; + plugin->printf_server (plugin, " /%s => Perl(%s)", + ptr_cmd_handler->command, + ptr_cmd_handler->cmd_handler_args); + } + } + if (!handler_found) + plugin->printf_server (plugin, " (none)"); + break; + case 1: + if (plugin->ascii_strcasecmp (plugin, argv[0], "autoload") == 0) + weechat_script_auto_load (plugin, "perl", weechat_perl_load); + else if (plugin->ascii_strcasecmp (plugin, argv[0], "reload") == 0) + { + weechat_perl_unload_all (plugin); + weechat_script_auto_load (plugin, "perl", weechat_perl_load); + } + else if (plugin->ascii_strcasecmp (plugin, argv[0], "unload") == 0) + weechat_perl_unload_all (plugin); + break; + case 2: + if (plugin->ascii_strcasecmp (plugin, argv[0], "load") == 0) + { + /* load Perl script */ + if ((strstr (argv[1], "/")) || (strstr (argv[1], "\\"))) + path_script = NULL; + else + { + dir_home = plugin->get_info (plugin, "weechat_dir", NULL, NULL); + if (dir_home) + { + path_length = strlen (dir_home) + strlen (argv[1]) + 16; + path_script = (char *) malloc (path_length * sizeof (char)); + if (path_script) + snprintf (path_script, path_length, "%s/perl/%s", + dir_home, argv[1]); + else + path_script = NULL; + free (dir_home); + } + else + path_script = NULL; + } + weechat_perl_load (plugin, (path_script) ? path_script : argv[1]); + if (path_script) + free (path_script); + } + else + { + plugin->printf_server (plugin, + "Perl error: unknown option for " + "\"perl\" command"); + } + break; + default: + plugin->printf_server (plugin, + "Perl error: wrong argument count for \"perl\" command"); + } + plugin->free_exploded_string (plugin, argv); + return 1; +} + +/* + * weechat_plugin_init: initialize Perl plugin + */ + +int +weechat_plugin_init (t_weechat_plugin *plugin) +{ + char *perl_args[] = { "", "-e", "0" }; + /* Following Perl code is extracted/modified from X-Chat IRC client */ + /* X-Chat is (c) 1998-2005 Peter Zelezny */ + char *weechat_perl_func = + { + "sub wee_perl_load_file" + "{" + " my $filename = shift;" + " local $/ = undef;" + " open FILE, $filename or return \"__WEECHAT_ERROR__\";" + " $_ = <FILE>;" + " close FILE;" + " return $_;" + "}" + "sub wee_perl_load_eval_file" + "{" + " my $filename = shift;" + " my $content = wee_perl_load_file ($filename);" + " if ($content eq \"__WEECHAT_ERROR__\")" + " {" + " weechat::print \"Perl error: script '$filename' not found.\", \"\";" + " return 1;" + " }" + " eval $content;" + " if ($@)" + " {" + " weechat::print \"Perl error: unable to load script '$filename':\", \"\";" + " weechat::print \"$@\";" + " return 2;" + " }" + " return 0;" + "}" + "$SIG{__WARN__} = sub { weechat::print \"$_[0]\", \"\"; };" + }; + + perl_plugin = plugin; + + plugin->printf_server (plugin, "Loading Perl module \"weechat\""); + + my_perl = perl_alloc (); + if (!my_perl) + { + plugin->printf_server (plugin, + "Perl error: unable to initialize Perl"); + return 0; + } + perl_construct (my_perl); + perl_parse (my_perl, weechat_perl_xs_init, 3, perl_args, NULL); + eval_pv (weechat_perl_func, TRUE); + + plugin->cmd_handler_add (plugin, "perl", + "list/load/unload Perl scripts", + "[load filename] | [autoload] | [reload] | [unload]", + "filename: Perl script (file) to load\n\n" + "Without argument, /perl command lists all loaded Perl scripts.", + weechat_perl_cmd, NULL, NULL); + + plugin->mkdir_home (plugin, "perl"); + plugin->mkdir_home (plugin, "perl/autoload"); + + weechat_script_auto_load (plugin, "perl", weechat_perl_load); + + /* init ok */ + return 1; +} + +/* + * weechat_plugin_end: shutdown Perl interface + */ + +void +weechat_plugin_end (t_weechat_plugin *plugin) +{ + /* unload all scripts */ + weechat_perl_unload_all (plugin); + + /* free Perl interpreter */ + if (my_perl) + { + perl_destruct (my_perl); + perl_free (my_perl); + my_perl = NULL; + } + + perl_plugin->printf_server (perl_plugin, + "Perl plugin ended"); +} diff --git a/weechat/src/plugins/scripts/python/Makefile.am b/weechat/src/plugins/scripts/python/Makefile.am new file mode 100644 index 000000000..fed11c566 --- /dev/null +++ b/weechat/src/plugins/scripts/python/Makefile.am @@ -0,0 +1,26 @@ +# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\" $(PYTHON_CFLAGS) + +libdir = ${weechat_libdir}/plugins + +lib_LTLIBRARIES = libpython.la + +libpython_la_SOURCES = weechat-python.c +libpython_la_LDFLAGS = -module +libpython_la_LIBADD = ../lib_weechat_plugins_scripts.la $(PYTHON_LFLAGS) diff --git a/weechat/src/plugins/scripts/python/weechat-python.c b/weechat/src/plugins/scripts/python/weechat-python.c new file mode 100644 index 000000000..9a4f54d63 --- /dev/null +++ b/weechat/src/plugins/scripts/python/weechat-python.c @@ -0,0 +1,855 @@ +/* + * Copyright (c) 2003-2005 by FlashCode <flashcode@flashtux.org> + * See README for License detail, AUTHORS for developers list. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* weechat-python.c: Python plugin support for WeeChat */ + + +#include <Python.h> +#include <stdlib.h> +#include <string.h> +#undef _ +#include "../../weechat-plugin.h" +#include "../weechat-script.h" + + +char plugin_name[] = "Python"; +char plugin_version[] = "0.1"; +char plugin_description[] = "Python scripts support"; + +t_weechat_plugin *python_plugin; + +t_plugin_script *python_scripts = NULL; +t_plugin_script *python_current_script = NULL; +char *python_current_script_filename = NULL; +PyThreadState *python_mainThreadState = NULL; + + +/* + * weechat_python_exec: execute a Python script + */ + +int +weechat_python_exec (t_weechat_plugin *plugin, + t_plugin_script *script, + char *function, char *server, char *arguments) +{ + PyObject *evMain; + PyObject *evDict; + PyObject *evFunc; + + PyThreadState_Swap (NULL); + + PyEval_AcquireLock (); + + PyThreadState_Swap (script->interpreter); + + evMain = PyImport_AddModule ((char *) "__main__"); + evDict = PyModule_GetDict (evMain); + evFunc = PyDict_GetItemString (evDict, function); + + if ( !(evFunc && PyCallable_Check (evFunc)) ) + { + plugin->printf_server (plugin, + "Python error: unable to run function \"%s\"", + function); + PyEval_ReleaseLock(); + return 1; + } + + PyObject_CallFunction(evFunc, "ss", server == NULL ? "" : server, arguments == NULL ? "" : arguments); + + PyEval_ReleaseLock(); + + return 0; +} + +/* + * weechat_python_handler: general message and command handler for Python + */ + +int +weechat_python_handler (t_weechat_plugin *plugin, + char *server, char *command, char *arguments, + char *handler_args, void *handler_pointer) +{ + /* make gcc happy */ + (void) command; + + weechat_python_exec (plugin, (t_plugin_script *)handler_pointer, + handler_args, server, arguments); + return 1; +} + +/* + * weechat.register: startup function for all WeeChat Python scripts + */ + +static PyObject * +weechat_python_register (PyObject *self, PyObject *args) +{ + char *name, *version, *shutdown_func, *description; + + /* make gcc happy */ + (void) self; + + name = NULL; + version = NULL; + shutdown_func = NULL; + description = NULL; + + if (!PyArg_ParseTuple (args, "ssss", &name, &version, &shutdown_func, &description)) + { + python_plugin->printf_server (python_plugin, + "Python error: wrong parameters for " + "\"register\" function"); + return NULL; + } + + if (weechat_script_search (python_plugin, &python_scripts, name)) + { + /* error: another scripts already exists with this name! */ + python_plugin->printf_server (python_plugin, + "Python error: unable to register " + "\"%s\" script (another script " + "already exists with this name)", + name); + return NULL; + } + + /* register script */ + python_current_script = weechat_script_add (python_plugin, + &python_scripts, + (python_current_script_filename) ? + python_current_script_filename : "", + name, version, shutdown_func, + description); + if (python_current_script) + { + python_plugin->printf_server (python_plugin, + "Python: registered script \"%s\", " + "version %s (%s)", + name, version, description); + } + else + { + python_plugin->printf_server (python_plugin, + "Python error: unable to load script " + "\"%s\" (not enough memory)", + name); + return NULL; + } + + Py_INCREF (Py_None); + return Py_None; +} + +/* + * weechat.print: print message into a buffer (current or specified one) + */ + +static PyObject * +weechat_python_print (PyObject *self, PyObject *args) +{ + char *message, *channel_name, *server_name; + + /* make gcc happy */ + (void) self; + + message = NULL; + channel_name = NULL; + server_name = NULL; + + if (!PyArg_ParseTuple (args, "s|ss", &message, &channel_name, &server_name)) + { + python_plugin->printf_server (python_plugin, + "Python error: wrong parameters for " + "\"print\" function"); + return NULL; + } + + python_plugin->printf (python_plugin, + server_name, channel_name, + "%s", message); + return Py_BuildValue ("i", 1); +} + +/* + * weechat.print_infobar: print message to infobar + */ + +static PyObject * +weechat_python_print_infobar (PyObject *self, PyObject *args) +{ + int delay; + char *message; + + /* make gcc happy */ + (void) self; + + delay = 1; + message = NULL; + + if (!PyArg_ParseTuple (args, "is", &delay, &message)) + { + python_plugin->printf_server (python_plugin, + "Python error: wrong parameters for " + "\"print_infobar\" function"); + return NULL; + } + + python_plugin->infobar_printf (python_plugin, delay, message); + + Py_INCREF (Py_None); + return Py_None; +} + +/* + * weechat.command: send command to server + */ + +static PyObject * +weechat_python_command (PyObject *self, PyObject *args) +{ + char *command, *channel_name, *server_name; + + /* make gcc happy */ + (void) self; + + command = NULL; + channel_name = NULL; + server_name = NULL; + + if (!PyArg_ParseTuple (args, "s|ss", &command, &channel_name, &server_name)) + { + python_plugin->printf_server (python_plugin, + "Python error: wrong parameters for " + "\"command\" function"); + return NULL; + } + + python_plugin->exec_command (python_plugin, + server_name, channel_name, + command); + return Py_BuildValue ("i", 1); +} + +/* + * weechat.add_message_handler: add handler for messages + */ + +static PyObject * +weechat_python_add_message_handler (PyObject *self, PyObject *args) +{ + char *message, *function; + + /* make gcc happy */ + (void) self; + + message = NULL; + function = NULL; + + if (!PyArg_ParseTuple (args, "ss", &message, &function)) + { + python_plugin->printf_server (python_plugin, + "Python error: wrong parameters for " + "\"add_message_handler\" function"); + return NULL; + } + + if (python_current_script) + python_plugin->msg_handler_add (python_plugin, message, + weechat_python_handler, function, + (void *)python_current_script); + else + { + python_plugin->printf_server (python_plugin, + "Python error: unable to add message handler, " + "script not initialized"); + return NULL; + } + + Py_INCREF (Py_None); + return Py_None; +} + +/* + * weechat.add_command_handler: define/redefines commands + */ + +static PyObject * +weechat_python_add_command_handler (PyObject *self, PyObject *args) +{ + char *command, *function, *description, *arguments, *arguments_description; + + /* make gcc happy */ + (void) self; + + command = NULL; + function = NULL; + description = NULL; + arguments = NULL; + arguments_description = NULL; + + if (!PyArg_ParseTuple (args, "ss|sss", &command, &function, + &description, &arguments, &arguments_description)) + { + python_plugin->printf_server (python_plugin, + "Python error: wrong parameters for " + "\"add_command_handler\" function"); + return NULL; + } + + if (python_current_script) + python_plugin->cmd_handler_add (python_plugin, + command, + description, + arguments, + arguments_description, + weechat_python_handler, + function, + (void *)python_current_script); + else + { + python_plugin->printf_server (python_plugin, + "Python error: unable to add command handler, " + "script not initialized"); + return NULL; + } + + Py_INCREF (Py_None); + return Py_None; +} + +/* + * weechat.get_info: get various infos + */ + +static PyObject * +weechat_python_get_info (PyObject *self, PyObject *args) +{ + char *arg, *server_name, *channel_name, *info; + PyObject *object; + + /* make gcc happy */ + (void) self; + + arg = NULL; + server_name = NULL; + channel_name = NULL; + + if (!PyArg_ParseTuple (args, "s|ss", &arg, &server_name, &channel_name)) + { + python_plugin->printf_server (python_plugin, + "Python error: wrong parameters for " + "\"get_info\" function"); + return NULL; + } + + if (arg) + { + info = python_plugin->get_info (python_plugin, arg, server_name, channel_name); + + if (info) + { + object = Py_BuildValue ("s", info); + free (info); + return object; + } + else + return Py_BuildValue ("s", ""); + } + + return Py_BuildValue ("i", 1); +} + +/* + * weechat.get_dcc_info: get infos about DCC + */ + +static PyObject * +weechat_python_get_dcc_info (PyObject *self, PyObject *args) +{ + t_plugin_dcc_info *dcc_info, *ptr_dcc; + int dcc_count; + PyObject *list, *listvalue; + + /* make gcc happy */ + (void) self; + (void) args; + + dcc_info = python_plugin->get_dcc_info (python_plugin); + dcc_count = 0; + + if (!dcc_info) + return Py_None; + + for (ptr_dcc = dcc_info; ptr_dcc; ptr_dcc = ptr_dcc->next_dcc) + { + dcc_count++; + } + + list = PyList_New (dcc_count); + + if (!list) + { + python_plugin->free_dcc_info (python_plugin, dcc_info); + return Py_None; + } + + dcc_count = 0; + for(ptr_dcc = dcc_info; ptr_dcc; ptr_dcc = ptr_dcc->next_dcc) + { + listvalue = Py_BuildValue ("{s:s,s:s,s:i,s:i,s:k,s:k,s:k,s:i,s:s,s:s," + "s:s,s:s,s:k,s:k,s:k,s:k}", + "server", ptr_dcc->server, + "channel", ptr_dcc->channel, + "type", ptr_dcc->type, + "status", ptr_dcc->status, + "start_time", ptr_dcc->start_time, + "start_transfer", ptr_dcc->start_transfer, + "address", ptr_dcc->addr, + "port", ptr_dcc->port, + "nick", ptr_dcc->nick, + "remote_file", ptr_dcc->filename, + "local_file", ptr_dcc->local_filename, + "filename_suffix", ptr_dcc->filename_suffix, + "size", ptr_dcc->size, + "pos", ptr_dcc->pos, + "start_resume", ptr_dcc->start_resume, + "cps", ptr_dcc->bytes_per_sec); + if (listvalue) + { + if (PyList_SetItem (list, dcc_count, listvalue) != 0) + { + PyMem_Free (listvalue); + PyMem_Free (list); + python_plugin->free_dcc_info (python_plugin, dcc_info); + return Py_None; + } + PyMem_Free (listvalue); + } + else + { + python_plugin->free_dcc_info (python_plugin, dcc_info); + return Py_None; + } + dcc_count++; + } + + python_plugin->free_dcc_info (python_plugin, dcc_info); + + return list; +} + +/* + * Python subroutines + */ + +static +PyMethodDef weechat_funcs[] = { + { "register", weechat_python_register, METH_VARARGS, "" }, + { "prnt", weechat_python_print, METH_VARARGS, "" }, + { "print_infobar", weechat_python_print_infobar, METH_VARARGS, "" }, + { "command", weechat_python_command, METH_VARARGS, "" }, + { "add_message_handler", weechat_python_add_message_handler, METH_VARARGS, "" }, + { "add_command_handler", weechat_python_add_command_handler, METH_VARARGS, "" }, + { "get_info", weechat_python_get_info, METH_VARARGS, "" }, + { "get_dcc_info", weechat_python_get_dcc_info, METH_VARARGS, "" }, + { NULL, NULL, 0, NULL } +}; + +/* + * weechat_python_load: load a Python script + */ + +int +weechat_python_load (t_weechat_plugin *plugin, char *filename) +{ + FILE *fp; + PyThreadState *python_current_interpreter; + + plugin->printf_server (plugin, "Loading Python script \"%s\"", filename); + + if ((fp = fopen (filename, "r")) == NULL) + { + plugin->printf_server (plugin, + "Python error: unable to open file \"%s\"", + filename); + return 0; + } + + python_current_script = NULL; + + PyThreadState_Swap(NULL); + + PyEval_AcquireLock(); + + python_current_interpreter = PyThreadState_New (python_mainThreadState->interp); + + if (python_current_interpreter == NULL) + { + plugin->printf_server (plugin, + "Python error: unable to create new sub-interpreter"); + PyEval_ReleaseLock(); + fclose (fp); + return 0; + } + + PyThreadState_Swap (python_current_interpreter); + + if (Py_InitModule ("weechat", weechat_funcs) == NULL) + { + plugin->printf_server (plugin, + "Python error: unable to initialize WeeChat module"); + PyThreadState_Swap (NULL); + PyThreadState_Clear (python_current_interpreter); + PyThreadState_Delete (python_current_interpreter); + PyEval_ReleaseLock (); + fclose (fp); + return 0; + } + + if (PyRun_SimpleString ( + "import weechat, sys, string\n" + + "class weechatStdout:\n" + "\tdef write(self, str):\n" + "\t\tstr = string.strip(str)\n" + "\t\tif str != \"\":\n" + "\t\t\tweechat.prnt(\"Python stdout : \" + str, \"\")\n" + + "class weechatStderr:\n" + "\tdef write(self, str):\n" + "\t\tstr = string.strip(str)\n" + "\t\tif str != \"\":\n" + "\t\t\tweechat.prnt(\"Python stderr : \" + str, \"\")\n" + + "sys.stdout = weechatStdout()\n" + "sys.stderr = weechatStderr()\n" + ) != 0) + { + plugin->printf_server (plugin, + "Python warning: unable to redirect stdout and stderr"); + } + + python_current_script_filename = strdup (filename); + + if (PyRun_SimpleFile (fp, filename) != 0) + { + plugin->printf_server (plugin, + "Python error: unable to parse file \"%s\"", + filename); + free (python_current_script_filename); + PyThreadState_Swap (NULL); + PyThreadState_Clear (python_current_interpreter); + PyThreadState_Delete (python_current_interpreter); + PyEval_ReleaseLock (); + fclose (fp); + return 0; + } + + fclose (fp); + free (python_current_script_filename); + + if (python_current_script == NULL) + { + plugin->printf_server (plugin, + "Python error: function \"register\" not found " + "in file \"%s\"", + filename); + PyThreadState_Swap (NULL); + PyThreadState_Clear (python_current_interpreter); + PyThreadState_Delete (python_current_interpreter); + PyEval_ReleaseLock (); + return 0; + } + + python_current_script->interpreter = (PyThreadState *) python_current_interpreter; + PyThreadState_Swap (NULL); + PyEval_ReleaseLock (); + + return 1; +} + +/* + * weechat_python_unload: unload a Python script + */ + +void +weechat_python_unload (t_weechat_plugin *plugin, t_plugin_script *script) +{ + plugin->printf_server (plugin, + "Unloading Python script \"%s\"", + script->name); + + if (script->shutdown_func[0]) + weechat_python_exec (plugin, script, script->shutdown_func, "", ""); + + PyThreadState_Swap (NULL); + PyThreadState_Clear (script->interpreter); + PyThreadState_Delete (script->interpreter); + + weechat_script_remove (plugin, &python_scripts, script); +} + +/* + * weechat_python_unload_name: unload a Python script by name + */ + +void +weechat_python_unload_name (t_weechat_plugin *plugin, char *name) +{ + t_plugin_script *ptr_script; + + ptr_script = weechat_script_search (plugin, &python_scripts, name); + if (ptr_script) + { + weechat_python_unload (plugin, ptr_script); + plugin->printf_server (plugin, + "Python script \"%s\" unloaded", + name); + } + else + { + plugin->printf_server (plugin, + "Python error: script \"%s\" not loaded", + name); + } +} + +/* + * weechat_python_unload_all: unload all Python scripts + */ + +void +weechat_python_unload_all (t_weechat_plugin *plugin) +{ + plugin->printf_server (plugin, + "Unloading all Python scripts"); + while (python_scripts) + weechat_python_unload (plugin, python_scripts); + + plugin->printf_server (plugin, + "Python scripts unloaded"); +} + +/* + * weechat_python_cmd: /python command handler + */ + +int +weechat_python_cmd (t_weechat_plugin *plugin, + char *server, char *command, char *arguments, + char *handler_args, void *handler_pointer) +{ + int argc, path_length, handler_found; + char **argv, *path_script, *dir_home; + t_plugin_script *ptr_plugin_script; + t_plugin_msg_handler *ptr_msg_handler; + t_plugin_cmd_handler *ptr_cmd_handler; + + /* make gcc happy */ + (void) server; + (void) command; + (void) handler_args; + (void) handler_pointer; + + argv = plugin->explode_string (plugin, arguments, " ", 0, &argc); + + switch (argc) + { + case 0: + /* list registered Python scripts */ + plugin->printf_server (plugin, ""); + plugin->printf_server (plugin, "Registered Python scripts:"); + if (python_scripts) + { + for (ptr_plugin_script = python_scripts; ptr_plugin_script; + ptr_plugin_script = ptr_plugin_script->next_script) + { + plugin->printf_server (plugin, " %s v%s%s%s", + ptr_plugin_script->name, + ptr_plugin_script->version, + (ptr_plugin_script->description[0]) ? " - " : "", + ptr_plugin_script->description); + } + } + else + plugin->printf_server (plugin, " (none)"); + + /* list Python message handlers */ + plugin->printf_server (plugin, ""); + plugin->printf_server (plugin, "Python message handlers:"); + handler_found = 0; + for (ptr_msg_handler = plugin->msg_handlers; ptr_msg_handler; + ptr_msg_handler = ptr_msg_handler->next_handler) + { + if (ptr_msg_handler->msg_handler_args) + { + handler_found = 1; + plugin->printf_server (plugin, " IRC(%s) => Python(%s)", + ptr_msg_handler->irc_command, + ptr_msg_handler->msg_handler_args); + } + } + if (!handler_found) + plugin->printf_server (plugin, " (none)"); + + /* list Python command handlers */ + plugin->printf_server (plugin, ""); + plugin->printf_server (plugin, "Python command handlers:"); + handler_found = 0; + for (ptr_cmd_handler = plugin->cmd_handlers; ptr_cmd_handler; + ptr_cmd_handler = ptr_cmd_handler->next_handler) + { + if (ptr_cmd_handler->cmd_handler_args) + { + handler_found = 1; + plugin->printf_server (plugin, " /%s => Python(%s)", + ptr_cmd_handler->command, + ptr_cmd_handler->cmd_handler_args); + } + } + if (!handler_found) + plugin->printf_server (plugin, " (none)"); + break; + case 1: + if (plugin->ascii_strcasecmp (plugin, argv[0], "autoload") == 0) + weechat_script_auto_load (plugin, "python", weechat_python_load); + else if (plugin->ascii_strcasecmp (plugin, argv[0], "reload") == 0) + { + weechat_python_unload_all (plugin); + weechat_script_auto_load (plugin, "python", weechat_python_load); + } + else if (plugin->ascii_strcasecmp (plugin, argv[0], "unload") == 0) + weechat_python_unload_all (plugin); + break; + case 2: + if (plugin->ascii_strcasecmp (plugin, argv[0], "load") == 0) + { + /* load Python script */ + if ((strstr (argv[1], "/")) || (strstr (argv[1], "\\"))) + path_script = NULL; + else + { + dir_home = plugin->get_info (plugin, "weechat_dir", NULL, NULL); + if (dir_home) + { + path_length = strlen (dir_home) + strlen (argv[1]) + 16; + path_script = (char *) malloc (path_length * sizeof (char)); + if (path_script) + snprintf (path_script, path_length, "%s/python/%s", + dir_home, argv[1]); + else + path_script = NULL; + free (dir_home); + } + else + path_script = NULL; + } + weechat_python_load (plugin, (path_script) ? path_script : argv[1]); + if (path_script) + free (path_script); + } + else if (plugin->ascii_strcasecmp (plugin, argv[0], "unload") == 0) + { + /* unload Python script */ + weechat_python_unload_name (plugin, argv[1]); + } + else + { + plugin->printf_server (plugin, + "Python error: unknown option for " + "\"python\" command"); + } + break; + default: + plugin->printf_server (plugin, + "Python error: wrong argument count for \"python\" command"); + } + plugin->free_exploded_string (plugin, argv); + return 1; +} + +/* + * weechat_plugin_init: initialize Python plugin + */ + +int +weechat_plugin_init (t_weechat_plugin *plugin) +{ + python_plugin = plugin; + + plugin->printf_server (plugin, "Loading Python module \"weechat\""); + + Py_Initialize (); + if (Py_IsInitialized () == 0) + { + plugin->printf_server (plugin, + "Python error: unable to launch global interpreter"); + return 0; + } + + PyEval_InitThreads(); + + python_mainThreadState = PyThreadState_Get(); + + if (python_mainThreadState == NULL) + { + plugin->printf_server (plugin, + "Python error: unable to get current interpreter state"); + return 0; + } + + PyEval_ReleaseLock (); + + plugin->cmd_handler_add (plugin, "python", + "list/load/unload Python scripts", + "[load filename] | [autoload] | [reload] | [unload]", + "filename: Python script (file) to load\n\n" + "Without argument, /python command lists all loaded Python scripts.", + weechat_python_cmd, NULL, NULL); + + plugin->mkdir_home (plugin, "python"); + plugin->mkdir_home (plugin, "python/autoload"); + + weechat_script_auto_load (plugin, "python", weechat_python_load); + + return 1; +} + +/* + * weechat_plugin_end: shutdown Python interface + */ + +void +weechat_plugin_end (t_weechat_plugin *plugin) +{ + /* unload all scripts */ + weechat_python_unload_all (plugin); + + /* free Python interpreter */ + /*Py_Finalize (); + if (Py_IsInitialized () != 0) + python_plugin->printf_server (python_plugin, + "Python error: unable to free interpreter"); + + python_plugin->printf_server (python_plugin, + "Python plugin ended");*/ +} diff --git a/weechat/src/plugins/scripts/ruby/Makefile.am b/weechat/src/plugins/scripts/ruby/Makefile.am new file mode 100644 index 000000000..07e8f9210 --- /dev/null +++ b/weechat/src/plugins/scripts/ruby/Makefile.am @@ -0,0 +1,26 @@ +# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\" $(RUBY_CFLAGS) + +libdir = ${weechat_libdir}/plugins + +lib_LTLIBRARIES = libruby.la + +libruby_la_SOURCES = weechat-ruby.c +libruby_la_LDFLAGS = -module +libruby_la_LIBADD = ../lib_weechat_plugins_scripts.la $(RUBY_LFLAGS) diff --git a/weechat/src/plugins/scripts/ruby/weechat-ruby.c b/weechat/src/plugins/scripts/ruby/weechat-ruby.c new file mode 100644 index 000000000..b517aa1f2 --- /dev/null +++ b/weechat/src/plugins/scripts/ruby/weechat-ruby.c @@ -0,0 +1,599 @@ +/* + * Copyright (c) 2003-2005 by FlashCode <flashcode@flashtux.org> + * See README for License detail, AUTHORS for developers list. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* wee-ruby.c: Ruby plugin support for WeeChat */ + + +#include <ruby.h> + +#include <stdlib.h> +#include <string.h> +#undef _ +#include "../../weechat-plugin.h" +#include "../weechat-script.h" + + +t_plugin_script *ruby_scripts = NULL; +t_plugin_script *last_ruby_script = NULL; + + +/* + * register: startup function for all WeeChat Ruby scripts + */ + +static VALUE +wee_ruby_register (VALUE class, VALUE name, VALUE version, VALUE shutdown_func, VALUE description) +{ + char *c_name, *c_version, *c_shutdown_func, *c_description; + t_plugin_script *ptr_ruby_script, *ruby_script_found, *new_ruby_script; + + if (NIL_P (name) || NIL_P (version) || NIL_P (shutdown_func) || NIL_P (description)) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: wrong parameters for \"%s\" function\n"), + "Ruby", "register"); + return Qnil; + } + + Check_Type (name, T_STRING); + Check_Type (version, T_STRING); + Check_Type (shutdown_func, T_STRING); + Check_Type (description, T_STRING); + + c_name = STR2CSTR (name); + c_version = STR2CSTR (version); + c_shutdown_func = STR2CSTR (shutdown_func); + c_description = STR2CSTR (description); + + ruby_script_found = NULL; + for (ptr_ruby_script = ruby_scripts; ptr_ruby_script; + ptr_ruby_script = ptr_ruby_script->next_script) + { + if (ascii_strcasecmp (ptr_ruby_script->name, c_name) == 0) + { + ruby_script_found = ptr_ruby_script; + break; + } + } + + if (ruby_script_found) + { + /* error: another script already exists with this name! */ + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: unable to register \"%s\" script (another script " + "already exists with this name)\n"), + "Ruby", name); + } + else + { + /* registering script */ + new_ruby_script = (t_plugin_script *)malloc (sizeof (t_plugin_script)); + if (new_ruby_script) + { + new_ruby_script->name = strdup (c_name); + new_ruby_script->version = strdup (c_version); + new_ruby_script->shutdown_func = strdup (c_shutdown_func); + new_ruby_script->description = strdup (c_description); + + /* add new script to list */ + new_ruby_script->prev_script = last_ruby_script; + new_ruby_script->next_script = NULL; + if (ruby_scripts) + last_ruby_script->next_script = new_ruby_script; + else + ruby_scripts = new_ruby_script; + last_ruby_script = new_ruby_script; + + wee_log_printf (_("Registered %s script: \"%s\", version %s (%s)\n"), + "Ruby", c_name, c_version, c_description); + } + else + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: unable to load script \"%s\" (not enough memory)\n"), + "Ruby", c_name); + } + } + + return Qnil; +} + +/* + * print: print message into a buffer (current or specified one) + */ + +static VALUE +wee_ruby_print (VALUE class, VALUE message, VALUE channel_name, VALUE server_name) +{ + char *c_message, *c_channel_name, *c_server_name; + t_gui_buffer *ptr_buffer; + + c_message = NULL; + c_channel_name = NULL; + c_server_name = NULL; + + if (NIL_P (message)) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: wrong parameters for \"%s\" function\n"), + "Ruby", "print"); + return Qnil; + } + + Check_Type (message, T_STRING); + if (!NIL_P (channel_name)) + Check_Type (channel_name, T_STRING); + if (!NIL_P (server_name)) + Check_Type (server_name, T_STRING); + + c_message = STR2CSTR (message); + if (!NIL_P (channel_name)) + c_channel_name = STR2CSTR (channel_name); + if (!NIL_P (server_name)) + c_server_name = STR2CSTR (server_name); + + ptr_buffer = plugin_find_buffer (c_server_name, c_channel_name); + if (ptr_buffer) + { + irc_display_prefix (ptr_buffer, PREFIX_PLUGIN); + gui_printf (ptr_buffer, "%s\n", c_message); + return INT2FIX (1); + } + + /* buffer not found */ + return INT2FIX (0); +} + +/* + * print_infobar: print message to infobar + */ + +static VALUE +wee_ruby_print_infobar (VALUE class, VALUE delay, VALUE message) +{ + int c_delay; + char *c_message; + + c_delay = 1; + c_message = NULL; + + if (NIL_P (delay) || NIL_P (message)) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: wrong parameters for \"%s\" function\n"), + "Ruby", "print_infobar"); + return Qfalse; + } + + Check_Type (delay, T_FIXNUM); + Check_Type (message, T_STRING); + + c_delay = FIX2INT (delay); + c_message = STR2CSTR (message); + + gui_infobar_printf (delay, COLOR_WIN_INFOBAR, c_message); + + return Qtrue; +} + +/* + * command: send command to server + */ + +static VALUE +wee_ruby_command (VALUE class, VALUE command, VALUE channel_name, VALUE server_name) +{ + char *c_command, *c_channel_name, *c_server_name; + t_gui_buffer *ptr_buffer; + + c_command = NULL; + c_channel_name = NULL; + c_server_name = NULL; + + if (NIL_P (command)) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: wrong parameters for \"%s\" function\n"), + "Ruby", "command"); + return Qnil; + } + + Check_Type (command, T_STRING); + if (!NIL_P (channel_name)) + Check_Type (channel_name, T_STRING); + if (!NIL_P (server_name)) + Check_Type (server_name, T_STRING); + + c_command = STR2CSTR (command); + if (!NIL_P (channel_name)) + c_channel_name = STR2CSTR (channel_name); + if (!NIL_P (server_name)) + c_server_name = STR2CSTR (server_name); + + ptr_buffer = plugin_find_buffer (c_server_name, c_channel_name); + if (ptr_buffer) + { + user_command (SERVER(ptr_buffer), ptr_buffer, c_command); + return INT2FIX (1); + } + + /* buffer not found */ + return INT2FIX (0); +} + +/* + * add_message_handler: add handler for messages + */ + +static VALUE +wee_ruby_add_message_handler (VALUE class, VALUE message, VALUE function) +{ + char *c_message, *c_function; + + if (NIL_P (message) || NIL_P (function)) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: wrong parameters for \"%s\" function\n"), + "Ruby", "add_message_handler"); + return Qnil; + } + + Check_Type (message, T_STRING); + Check_Type (function, T_STRING); + + c_message = STR2CSTR (message); + c_function = STR2CSTR (function); + + plugin_handler_add (&plugin_msg_handlers, &last_plugin_msg_handler, + PLUGIN_TYPE_RUBY, c_message, c_function); + + return Qtrue; +} + +/* + * add_command_handler: define/redefines commands + */ + +static VALUE +wee_ruby_add_command_handler (VALUE class, VALUE name, VALUE function) +{ + char *c_name, *c_function; + t_plugin_handler *ptr_plugin_handler; + + if (NIL_P (name) || NIL_P (function)) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: wrong parameters for \"%s\" function\n"), + "Ruby", "add_command_handler"); + return Qnil; + } + + Check_Type (name, T_STRING); + Check_Type (function, T_STRING); + + c_name = STR2CSTR (name); + c_function = STR2CSTR (function); + + if (!weelist_search (index_commands, c_name)) + weelist_add (&index_commands, &last_index_command, c_name); + + ptr_plugin_handler = plugin_handler_search (plugin_cmd_handlers, c_name); + if (ptr_plugin_handler) + { + free (ptr_plugin_handler->function_name); + ptr_plugin_handler->function_name = strdup (c_function); + } + else + plugin_handler_add (&plugin_cmd_handlers, &last_plugin_cmd_handler, + PLUGIN_TYPE_PYTHON, c_name, c_function); + + return Qtrue; +} + +/* + * get_info: get various infos + */ + +static VALUE +wee_ruby_get_info (VALUE class, VALUE arg, VALUE server_name) +{ + char *c_arg, *info, *c_server_name; + t_irc_server *ptr_server; + + if (NIL_P (arg)) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: wrong parameters for \"%s\" function\n"), + "Ruby", "get_info"); + return Qnil; + } + + Check_Type (arg, T_STRING); + if (!NIL_P (server_name)) + Check_Type (server_name, T_STRING); + + c_arg = STR2CSTR (arg); + if (!NIL_P (server_name)) + c_server_name = STR2CSTR (server_name); + + if (c_server_name == NULL) + { + ptr_server = SERVER(gui_current_window->buffer); + } + else + { + for (ptr_server = irc_servers; ptr_server; ptr_server = ptr_server->next_server) + { + if (ascii_strcasecmp (ptr_server->name, c_server_name) == 0) + break; + } + if (!ptr_server) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: server not found for \"%s\" function\n"), + "Ruby", "get_info"); + return Qnil; + } + } + + if (ptr_server && c_arg) + { + if ( (ascii_strcasecmp (c_arg, "0") == 0) || (ascii_strcasecmp (c_arg, "version") == 0) ) + { + info = PACKAGE_STRING; + } + else if ( (ascii_strcasecmp (c_arg, "1") == 0) || (ascii_strcasecmp (c_arg, "nick") == 0) ) + { + if (ptr_server->nick) + info = ptr_server->nick; + } + else if ( (ascii_strcasecmp (c_arg, "2") == 0) || (ascii_strcasecmp (c_arg, "channel") == 0) ) + { + if (BUFFER_IS_CHANNEL (gui_current_window->buffer)) + info = CHANNEL (gui_current_window->buffer)->name; + } + else if ( (ascii_strcasecmp (c_arg, "3") == 0) || (ascii_strcasecmp (c_arg, "server") == 0) ) + { + if (ptr_server->name) + info = ptr_server->name; + } + else if ( (ascii_strcasecmp (c_arg, "4") == 0) || (ascii_strcasecmp (c_arg, "weechatdir") == 0) ) + { + info = weechat_home; + } + else if ( (ascii_strcasecmp (c_arg, "5") == 0) || (ascii_strcasecmp (c_arg, "away") == 0) ) + { + return INT2FIX (SERVER(gui_current_window->buffer)->is_away); + } + else if ( (ascii_strcasecmp (c_arg, "100") == 0) || (ascii_strcasecmp (c_arg, "dccs") == 0) ) + { + /* TODO: build dcc list */ + } + + if (info) + return rb_str_new2 (info); + else + return rb_str_new2 (""); + } + + return INT2FIX (1); +} + +/* + * Ruby subroutines + */ + +/* + * wee_ruby_init: initialize Ruby interface for WeeChat + */ + +void +wee_ruby_init () +{ + + /* TODO: init Ruby environment */ + /* ruby_init (); + if () + { + irc_display_prefix (NULL, PREFIX_PLUGIN); + gui_printf (NULL, _("%s error: error while launching interpreter\n"), + "Ruby"); + } + else + { + wee_log_printf (_("Loading %s module \"weechat\"\n"), "Ruby"); + }*/ +} + +/* + * wee_ruby_search: search a (loaded) Ruby script by name + */ + +t_plugin_script * +wee_ruby_search (char *name) +{ + t_plugin_script *ptr_ruby_script; + + for (ptr_ruby_script = ruby_scripts; ptr_ruby_script; + ptr_ruby_script = ptr_ruby_script->next_script) + { + if (strcmp (ptr_ruby_script->name, name) == 0) + return ptr_ruby_script; + } + + /* script not found */ + return NULL; +} + +/* + * wee_ruby_exec: execute a Ruby script + */ + +int +wee_ruby_exec (char *function, char *server, char *arguments) +{ + /* TODO: exec Ruby script */ +} + +/* + * wee_ruby_load: load a Ruby script + */ + +int +wee_ruby_load (char *filename) +{ + FILE *fp; + + /* TODO: load & exec Ruby script */ + gui_printf (NULL, "Ruby scripts not developed!\n"); + /* execute Ruby script */ + /*wee_log_printf (_("Loading %s script \"%s\"\n"), "Ruby", filename); + irc_display_prefix (NULL, PREFIX_PLUGIN); + gui_printf (NULL, _("Loading %s script \"%s\"\n"), "Ruby", filename); + + if ((fp = fopen (filename, "r")) == NULL) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: error while opening file \"%s\"\n"), + "Ruby", filename); + return 1; + } + + if (xxxxxxx (fp, filename) != 0) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s error: error while parsing file \"%s\"\n"), + "Ruby", filename); + return 1; + } + + fclose (fp); + return 0;*/ +} + +/* + * wee_ruby_script_free: free a Ruby script + */ + +void +wee_ruby_script_free (t_plugin_script *ptr_ruby_script) +{ + t_plugin_script *new_ruby_scripts; + + /* remove script from list */ + if (last_ruby_script == ptr_ruby_script) + last_ruby_script = ptr_ruby_script->prev_script; + if (ptr_ruby_script->prev_script) + { + (ptr_ruby_script->prev_script)->next_script = ptr_ruby_script->next_script; + new_ruby_scripts = ruby_scripts; + } + else + new_ruby_scripts = ptr_ruby_script->next_script; + + if (ptr_ruby_script->next_script) + (ptr_ruby_script->next_script)->prev_script = ptr_ruby_script->prev_script; + + /* free data */ + if (ptr_ruby_script->name) + free (ptr_ruby_script->name); + if (ptr_ruby_script->version) + free (ptr_ruby_script->version); + if (ptr_ruby_script->shutdown_func) + free (ptr_ruby_script->shutdown_func); + if (ptr_ruby_script->description) + free (ptr_ruby_script->description); + free (ptr_ruby_script); + ruby_scripts = new_ruby_scripts; +} + +/* + * wee_ruby_unload: unload a Ruby script + */ + +void +wee_ruby_unload (t_plugin_script *ptr_ruby_script) +{ + if (ptr_ruby_script) + { + wee_log_printf (_("Unloading %s script \"%s\"\n"), + "Ruby", ptr_ruby_script->name); + + /* call shutdown callback function */ + if (ptr_ruby_script->shutdown_func[0]) + wee_ruby_exec (ptr_ruby_script->shutdown_func, "", ""); + wee_ruby_script_free (ptr_ruby_script); + } +} + +/* + * wee_ruby_unload_all: unload all Ruby scripts + */ + +void +wee_ruby_unload_all () +{ + wee_log_printf (_("Unloading all %s scripts...\n"), "Ruby"); + while (ruby_scripts) + wee_ruby_unload (ruby_scripts); + + irc_display_prefix (NULL, PREFIX_PLUGIN); + gui_printf (NULL, _("%s scripts unloaded\n"), "Ruby"); +} + +/* + * wee_ruby_end: shutdown Ruby interface + */ + +void +wee_ruby_end () +{ + /* unload all scripts */ + wee_ruby_unload_all (); + + /* free all handlers */ + plugin_handler_free_all_type (&plugin_msg_handlers, + &last_plugin_msg_handler, + PLUGIN_TYPE_RUBY); + plugin_handler_free_all_type (&plugin_cmd_handlers, + &last_plugin_cmd_handler, + PLUGIN_TYPE_RUBY); + + /* TODO: free Ruby interpreter */ + /* free Ruby interpreter */ + /* xxxxx (); + if () + { + irc_display_prefix (NULL, PREFIX_PLUGIN); + gui_printf (NULL, _("%s error: error while freeing interpreter\n"), + "Ruby"); + }*/ +} diff --git a/weechat/src/plugins/scripts/weechat-script.c b/weechat/src/plugins/scripts/weechat-script.c new file mode 100644 index 000000000..ae2555184 --- /dev/null +++ b/weechat/src/plugins/scripts/weechat-script.c @@ -0,0 +1,189 @@ +/* + * Copyright (c) 2003-2005 by FlashCode <flashcode@flashtux.org> + * See README for License detail, AUTHORS for developers list. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* scripts.c: script interface for WeeChat plugins */ + + +#include <stdlib.h> +#include <unistd.h> +#include <stdio.h> +#include <string.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <dirent.h> + +#include "../weechat-plugin.h" +#include "weechat-script.h" + + +/* + * weechat_script_auto_load: auto-load all scripts in a directory + */ + +void +weechat_script_auto_load (t_weechat_plugin *plugin, char *language, + int (*callback)(t_weechat_plugin *, char *)) +{ + char *dir_home, *dir_name; + int dir_length; + + /* build directory, adding WeeChat home */ + dir_home = plugin->get_info (plugin, "weechat_dir", NULL, NULL); + if (!dir_home) + return; + dir_length = strlen (dir_home) + strlen (language) + 16; + dir_name = + (char *) malloc (dir_length * sizeof (char)); + if (!dir_name) + { + free (dir_home); + return; + } + snprintf (dir_name, dir_length, "%s/%s/autoload", dir_home, language); + + plugin->exec_on_files (plugin, dir_name, callback); + + free (dir_name); + free (dir_home); +} + +/* + * weechat_script_search: search a script in list + */ + +t_plugin_script * +weechat_script_search (t_weechat_plugin *plugin, + t_plugin_script **list, char *name) +{ + t_plugin_script *ptr_script; + + for (ptr_script = *list; ptr_script; + ptr_script = ptr_script->next_script) + { + if (plugin->ascii_strcasecmp (plugin, ptr_script->name, name) == 0) + return ptr_script; + } + + /* script not found */ + return NULL; +} + +/* + * weechat_script_add: add a script to list of scripts + */ + +t_plugin_script * +weechat_script_add (t_weechat_plugin *plugin, + t_plugin_script **script_list, + char *filename, + char *name, char *version, + char *shutdown_func, char *description) +{ + t_plugin_script *new_script; + + /* make gcc happy */ + (void) plugin; + + new_script = (t_plugin_script *)malloc (sizeof (t_plugin_script)); + if (new_script) + { + new_script->filename = strdup (filename); + new_script->interpreter = NULL; + new_script->name = strdup (name); + new_script->version = strdup (version); + new_script->shutdown_func = strdup (shutdown_func); + new_script->description = strdup (description); + + /* add new script to list */ + if ((*script_list)) + (*script_list)->prev_script = new_script; + new_script->prev_script = NULL; + new_script->next_script = (*script_list); + (*script_list) = new_script; + return new_script; + } + + return NULL; +} + +/* + * weechat_script_remove: remove a script from list of scripts + */ + +void +weechat_script_remove (t_weechat_plugin *plugin, + t_plugin_script **script_list, t_plugin_script *script) +{ + t_plugin_msg_handler *ptr_msg_handler, *next_msg_handler; + t_plugin_cmd_handler *ptr_cmd_handler, *next_cmd_handler; + + /* make gcc happy */ + (void) plugin; + + /* remove message handlers */ + ptr_msg_handler = plugin->msg_handlers; + while (ptr_msg_handler) + { + if ((t_plugin_script *)ptr_msg_handler->msg_handler_pointer == script) + { + next_msg_handler = ptr_msg_handler->next_handler; + plugin->msg_handler_remove (plugin, ptr_msg_handler); + ptr_msg_handler = next_msg_handler; + } + else + ptr_msg_handler = ptr_msg_handler->next_handler; + } + + /* remove command handlers */ + ptr_cmd_handler = plugin->cmd_handlers; + while (ptr_cmd_handler) + { + if ((t_plugin_script *)ptr_cmd_handler->cmd_handler_pointer == script) + { + next_cmd_handler = ptr_cmd_handler->next_handler; + plugin->cmd_handler_remove (plugin, ptr_cmd_handler); + ptr_cmd_handler = next_cmd_handler; + } + else + ptr_cmd_handler = ptr_cmd_handler->next_handler; + } + + /* free data */ + if (script->filename) + free (script->filename); + if (script->name) + free (script->name); + if (script->description) + free (script->description); + if (script->version) + free (script->version); + if (script->shutdown_func) + free (script->shutdown_func); + + /* remove script from list */ + if (script->prev_script) + (script->prev_script)->next_script = script->next_script; + else + (*script_list) = script->next_script; + if (script->next_script) + (script->next_script)->prev_script = script->prev_script; + + /* free script */ + free (script); +} diff --git a/weechat/src/plugins/scripts/weechat-script.h b/weechat/src/plugins/scripts/weechat-script.h new file mode 100644 index 000000000..496a126e5 --- /dev/null +++ b/weechat/src/plugins/scripts/weechat-script.h @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2003-2005 by FlashCode <flashcode@flashtux.org> + * See README for License detail, AUTHORS for developers list. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* This header is designed to be distributed with WeeChat plugins, if scripts + management is needed */ + +#ifndef __WEECHAT_WEECHAT_SCRIPT_H +#define __WEECHAT_WEECHAT_SCRIPT_H 1 + +typedef struct t_plugin_script t_plugin_script; + +struct t_plugin_script +{ + /* script variables */ + char *filename; /* name of script on disk */ + void *interpreter; /* interpreter for script */ + char *name; /* script name */ + char *description; /* plugin description */ + char *version; /* plugin version */ + char *shutdown_func; /* function when script is unloaded */ + + t_plugin_script *prev_script; /* link to previous script */ + t_plugin_script *next_script; /* link to next script */ +}; + +extern void weechat_script_auto_load (t_weechat_plugin *, char *, + int (*)(t_weechat_plugin *, char *)); +extern t_plugin_script *weechat_script_search (t_weechat_plugin *, + t_plugin_script **, char *); +extern t_plugin_script *weechat_script_add (t_weechat_plugin *, + t_plugin_script **, char *, char *, + char *, char *, char *); +extern void weechat_script_remove (t_weechat_plugin *, + t_plugin_script **, t_plugin_script *); + +#endif /* weechat-script.h */ diff --git a/weechat/src/plugins/weechat-plugin.h b/weechat/src/plugins/weechat-plugin.h new file mode 100644 index 000000000..78a7eecc4 --- /dev/null +++ b/weechat/src/plugins/weechat-plugin.h @@ -0,0 +1,164 @@ +/* + * Copyright (c) 2003-2005 by FlashCode <flashcode@flashtux.org> + * See README for License detail, AUTHORS for developers list. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* This header is designed to be distributed with WeeChat plugins */ + +#ifndef __WEECHAT_WEECHAT_PLUGIN_H +#define __WEECHAT_WEECHAT_PLUGIN_H 1 + +typedef struct t_plugin_dcc_info t_plugin_dcc_info; + +struct t_plugin_dcc_info +{ + char *server; /* irc server */ + char *channel; /* irc channel (for DCC chat only) */ + int type; /* DCC type (send or receive) */ + int status; /* DCC status (waiting, sending, ..) */ + time_t start_time; /* the time when DCC started */ + time_t start_transfer; /* the time when DCC transfer started */ + unsigned long addr; /* IP address */ + int port; /* port */ + char *nick; /* remote nick */ + char *filename; /* filename (given by sender) */ + char *local_filename; /* local filename (with path) */ + int filename_suffix; /* suffix (.1 for ex) if renaming file */ + unsigned long size; /* file size */ + unsigned long pos; /* number of bytes received/sent */ + unsigned long start_resume; /* start of resume (in bytes) */ + unsigned long bytes_per_sec; /* bytes per second */ + t_plugin_dcc_info *prev_dcc; /* link to previous dcc file/chat */ + t_plugin_dcc_info *next_dcc; /* link to next dcc file/chat */ +}; + +typedef struct t_weechat_plugin t_weechat_plugin; + +typedef int (t_plugin_handler_func) (t_weechat_plugin *, char *, char *, char *, char *, void *); + +/* message handler, called when an IRC messages is received */ + +typedef struct t_plugin_msg_handler t_plugin_msg_handler; + +struct t_plugin_msg_handler +{ + char *irc_command; /* name of IRC command (PRIVMSG, ..) */ + t_plugin_handler_func *msg_handler; /* pointer to message handler */ + char *msg_handler_args; /* arguments sent to message handler */ + void *msg_handler_pointer; /* pointer sent to message handler */ + + int running; /* 1 if currently running */ + /* (used to prevent circular call) */ + t_plugin_msg_handler *prev_handler; /* link to previous handler */ + t_plugin_msg_handler *next_handler; /* link to next handler */ +}; + +/* command handler, to add new commands to WeeChat */ + +typedef struct t_plugin_cmd_handler t_plugin_cmd_handler; + +struct t_plugin_cmd_handler +{ + char *command; /* name of command (without first '/') */ + char *description; /* (for /help) short cmd description */ + char *arguments; /* (for /help) command arguments */ + char *arguments_description; /* (for /help) args long description */ + /* command handler */ + t_plugin_handler_func *cmd_handler; /* pointer to command handler */ + char *cmd_handler_args; /* arguments sent to command handler */ + void *cmd_handler_pointer; /* pointer sent to command handler */ + + int running; /* 1 if currently running */ + /* (used to prevent circular call) */ + t_plugin_cmd_handler *prev_handler; /* link to previous handler */ + t_plugin_cmd_handler *next_handler; /* link to next handler */ +}; + +/* plugin, a WeeChat plugin, which is a dynamic library */ + +struct t_weechat_plugin +{ + /* plugin variables */ + char *filename; /* name of plugin on disk */ + void *handle; /* handle of plugin (given by dlopen) */ + char *name; /* plugin name */ + char *description; /* plugin description */ + char *version; /* plugin version */ + + /* plugin functions (interface) */ + int (*mkdir_home) (t_weechat_plugin *, char *); + void (*exec_on_files) (t_weechat_plugin *, char *, + int (*)(t_weechat_plugin *, char *)); + t_plugin_msg_handler *(*msg_handler_add) (t_weechat_plugin *, char *, + t_plugin_handler_func *, + char *, void *); + void (*msg_handler_remove) (t_weechat_plugin *, t_plugin_msg_handler *); + void (*msg_handler_remove_all) (t_weechat_plugin *); + t_plugin_cmd_handler *(*cmd_handler_add) (t_weechat_plugin *, char *, + char *, char *, char *, + t_plugin_handler_func *, + char *, void *); + void (*cmd_handler_remove) (t_weechat_plugin *, t_plugin_cmd_handler *); + void (*cmd_handler_remove_all) (t_weechat_plugin *); + void (*printf) (t_weechat_plugin *, char *, char *, char *, ...); + void (*printf_server) (t_weechat_plugin *, char *, ...); + void (*infobar_printf) (t_weechat_plugin *, int, char *, ...); + void (*exec_command) (t_weechat_plugin *, char *, char *, char *); + char *(*get_info) (t_weechat_plugin *, char *, char *, char *); + t_plugin_dcc_info *(*get_dcc_info) (t_weechat_plugin *); + void (*free_dcc_info) (t_weechat_plugin *, t_plugin_dcc_info *); + char **(*explode_string) (t_weechat_plugin *, char *, char *, int, int *); + void (*free_exploded_string) (t_weechat_plugin *, char **); + int (*ascii_strcasecmp) (t_weechat_plugin *, char *, char *); + + /* plugin handlers */ + t_plugin_msg_handler *msg_handlers; /* IRC message handlers */ + t_plugin_msg_handler *last_msg_handler; + t_plugin_cmd_handler *cmd_handlers; /* command handlers */ + t_plugin_cmd_handler *last_cmd_handler; + + /* links to previous/next plugins */ + t_weechat_plugin *prev_plugin; /* link to previous plugin */ + t_weechat_plugin *next_plugin; /* link to next plugin */ +}; + +extern int weechat_plugin_mkdir_home (t_weechat_plugin *, char *); +extern void weechat_plugin_exec_on_files (t_weechat_plugin *, char *, + int (*)(t_weechat_plugin *, char *)); +extern t_plugin_msg_handler *weechat_plugin_msg_handler_add (t_weechat_plugin *, char *, + t_plugin_handler_func *, + char *, void *); +extern void weechat_plugin_msg_handler_remove (t_weechat_plugin *, t_plugin_msg_handler *); +extern void weechat_plugin_msg_handler_remove_all (t_weechat_plugin *); +extern t_plugin_cmd_handler *weechat_plugin_cmd_handler_add (t_weechat_plugin *, char *, + char *, char *, char *, + t_plugin_handler_func *, + char *, void *); +extern void weechat_plugin_cmd_handler_remove (t_weechat_plugin *, t_plugin_cmd_handler *); +extern void weechat_plugin_cmd_handler_remove_all (t_weechat_plugin *); +extern void weechat_plugin_printf (t_weechat_plugin *, char *, char *, char *, ...); +extern void weechat_plugin_printf_server (t_weechat_plugin *, char *, ...); +extern void weechat_plugin_infobar_printf (t_weechat_plugin *, int, char *, ...); +extern void weechat_plugin_exec_command (t_weechat_plugin *, char *, char *, char *); +extern char *weechat_plugin_get_info (t_weechat_plugin *, char *, char *, char *); +extern t_plugin_dcc_info *weechat_plugin_get_dcc_info (t_weechat_plugin *); +extern void weechat_plugin_free_dcc_info (t_weechat_plugin *, t_plugin_dcc_info *); +extern char **weechat_explode_string (t_weechat_plugin *, char *, char *, int, int *); +extern void weechat_free_exploded_string (t_weechat_plugin *, char **); +extern int weechat_ascii_strcasecmp (t_weechat_plugin *,char *, char *); + +#endif /* weechat-plugin.h */ |