summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rwxr-xr-xautogen.sh1
-rw-r--r--configure.in131
-rw-r--r--po/POTFILES.in7
-rw-r--r--po/cs.po1280
-rw-r--r--po/es.po1285
-rw-r--r--po/fr.po1319
-rw-r--r--po/weechat.pot1210
-rw-r--r--src/common/command.c694
-rw-r--r--src/common/command.h6
-rw-r--r--src/common/completion.c25
-rw-r--r--src/common/weechat.c58
-rw-r--r--src/common/weeconfig.c34
-rw-r--r--src/common/weeconfig.h15
-rw-r--r--src/common/weelist.c3
-rw-r--r--src/gui/curses/Makefile.am2
-rw-r--r--src/irc/irc-recv.c7
-rw-r--r--src/plugins/Makefile.am11
-rw-r--r--src/plugins/plugins.c1431
-rw-r--r--src/plugins/plugins.h70
-rw-r--r--src/plugins/scripts/Makefile.am37
-rw-r--r--src/plugins/scripts/perl/Makefile.am26
-rw-r--r--src/plugins/scripts/perl/weechat-perl.c739
-rw-r--r--src/plugins/scripts/python/Makefile.am26
-rw-r--r--src/plugins/scripts/python/weechat-python.c855
-rw-r--r--src/plugins/scripts/ruby/Makefile.am26
-rw-r--r--src/plugins/scripts/ruby/weechat-ruby.c599
-rw-r--r--src/plugins/scripts/weechat-script.c189
-rw-r--r--src/plugins/scripts/weechat-script.h52
-rw-r--r--src/plugins/weechat-plugin.h164
-rw-r--r--weechat/ChangeLog4
-rwxr-xr-xweechat/autogen.sh1
-rw-r--r--weechat/configure.in131
-rw-r--r--weechat/po/POTFILES.in7
-rw-r--r--weechat/po/cs.po1280
-rw-r--r--weechat/po/es.po1285
-rw-r--r--weechat/po/fr.po1319
-rw-r--r--weechat/po/weechat.pot1210
-rw-r--r--weechat/src/common/command.c694
-rw-r--r--weechat/src/common/command.h6
-rw-r--r--weechat/src/common/completion.c25
-rw-r--r--weechat/src/common/weechat.c58
-rw-r--r--weechat/src/common/weeconfig.c34
-rw-r--r--weechat/src/common/weeconfig.h15
-rw-r--r--weechat/src/common/weelist.c3
-rw-r--r--weechat/src/gui/curses/Makefile.am2
-rw-r--r--weechat/src/irc/irc-recv.c7
-rw-r--r--weechat/src/plugins/Makefile.am11
-rw-r--r--weechat/src/plugins/plugins.c1431
-rw-r--r--weechat/src/plugins/plugins.h70
-rw-r--r--weechat/src/plugins/scripts/Makefile.am37
-rw-r--r--weechat/src/plugins/scripts/perl/Makefile.am26
-rw-r--r--weechat/src/plugins/scripts/perl/weechat-perl.c739
-rw-r--r--weechat/src/plugins/scripts/python/Makefile.am26
-rw-r--r--weechat/src/plugins/scripts/python/weechat-python.c855
-rw-r--r--weechat/src/plugins/scripts/ruby/Makefile.am26
-rw-r--r--weechat/src/plugins/scripts/ruby/weechat-ruby.c599
-rw-r--r--weechat/src/plugins/scripts/weechat-script.c189
-rw-r--r--weechat/src/plugins/scripts/weechat-script.h52
-rw-r--r--weechat/src/plugins/weechat-plugin.h164
60 files changed, 13254 insertions, 7358 deletions
diff --git a/ChangeLog b/ChangeLog
index 061876c18..225959525 100644
--- a/ChangeLog
+++ b/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/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
diff --git a/po/cs.po b/po/cs.po
index e44460631..61e12cf23 100644
--- a/po/cs.po
+++ b/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/po/es.po b/po/es.po
index 90b64f29b..3c5e045d2 100644
--- a/po/es.po
+++ b/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/po/fr.po b/po/fr.po
index 2c7868d5e..34c5abb28 100644
--- a/po/fr.po
+++ b/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/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 */