Add mechanism DH-BLOWFISH for SASL authentication with IRC server

This commit is contained in:
Sebastien Helleu 2010-02-18 22:02:55 +01:00
parent 832a4c1466
commit d2ec8d133d
33 changed files with 718 additions and 2808 deletions

View File

@ -56,6 +56,7 @@ ENDIF(DEFINED INCLUDEDIR)
OPTION(DISABLE_NCURSES "Disable Ncurses interface")
OPTION(ENABLE_GTK "Enable GTK interface")
OPTION(DISABLE_NLS "Disable Native Language Support")
OPTION(DISABLE_GCRYPT "Disable libgcrypt support")
OPTION(DISABLE_GNUTLS "Disable SSLv3/TLS connection support")
OPTION(DISABLE_LARGEFILE "Disable Large File Support")
OPTION(DISABLE_ALIAS "Disable Alias plugin")

View File

@ -26,7 +26,8 @@ Version 0.3.2 (under dev!)
and in buffer infolist
* api: add description of arguments for functions hook_info and hook_infolist
* api: fix function "color" in Lua script API
* irc: add SASL authentication (task #8829)
* irc: add SASL authentication, with PLAIN and DH-BLOWFISH mechanisms
(task #8829)
* irc: fix crash with SSL connection if option ssl_cert is set (bug #28752)
* irc: fix bug with SSL connection (fails sometimes when ssl_verify is on)
(bug #28741)

47
cmake/FindGcrypt.cmake Normal file
View File

@ -0,0 +1,47 @@
# Copyright (c) 2003-2010 by 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 3 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, see <http://www.gnu.org/licenses/>.
#
# - Find Gcrypt
# This module finds if libgcrypt is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
#
# GCRYPT_CFLAGS = cflags to use to compile
# GCRYPT_LDFLAGS = ldflags to use to compile
#
FIND_PROGRAM(LIBGCRYPT_CONFIG_EXECUTABLE NAMES libgcrypt-config)
set(GCRYPT_LDFLAGS)
set(GCRYPT_CFLAGS)
IF(LIBGCRYPT_CONFIG_EXECUTABLE)
EXEC_PROGRAM(${LIBGCRYPT_CONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE GCRYPT_LDFLAGS)
EXEC_PROGRAM(${LIBGCRYPT_CONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE GCRYPT_CFLAGS)
IF(${GCRYPT_CFLAGS} MATCHES "\n")
SET(GCRYPT_CFLAGS " ")
ENDIF(${GCRYPT_CFLAGS} MATCHES "\n")
IF(GCRYPT_LDFLAGS AND GCRYPT_CFLAGS)
SET(GCRYPT_FOUND TRUE)
ENDIF(GCRYPT_LDFLAGS AND GCRYPT_CFLAGS)
ENDIF(LIBGCRYPT_CONFIG_EXECUTABLE)
MARK_AS_ADVANCED(GCRYPT_CFLAGS GCRYPT_LDFLAGS)

View File

@ -96,6 +96,7 @@ AC_CHECK_FUNCS([gethostbyname gethostname getsockname gettimeofday inet_ntoa mem
AH_VERBATIM([PREFIX], [#undef PREFIX])
AH_VERBATIM([WEECHAT_LIBDIR], [#undef WEECHAT_LIBDIR])
AH_VERBATIM([WEECHAT_SHAREDIR], [#undef WEECHAT_SHAREDIR])
AH_VERBATIM([HAVE_GCRYPT], [#undef HAVE_GCRYPT])
AH_VERBATIM([HAVE_GNUTLS], [#undef HAVE_GNUTLS])
AH_VERBATIM([HAVE_FLOCK], [#undef HAVE_FLOCK])
AH_VERBATIM([PLUGIN_ALIAS], [#undef PLUGIN_ALIAS])
@ -120,6 +121,7 @@ AC_ARG_ENABLE(ncurses, [ --disable-ncurses turn off ncurses interfac
AC_ARG_ENABLE(wxwidgets, [ --enable-wxwidgets turn on WxWidgets interface (default=off)],enable_wxwidgets=$enableval,enable_wxwidgets=no)
AC_ARG_ENABLE(gtk, [ --enable-gtk turn on Gtk interface (default=off)],enable_gtk=$enableval,enable_gtk=no)
AC_ARG_ENABLE(qt, [ --enable-qt turn on Qt interface (default=off)],enable_qt=$enableval,enable_qt=no)
AC_ARG_ENABLE(gcrypt, [ --disable-gcrypt turn off gcrypt support (default=compiled if found)],enable_gcrypt=$enableval,enable_gcrypt=yes)
AC_ARG_ENABLE(gnutls, [ --disable-gnutls turn off gnutls support (default=compiled if found)],enable_gnutls=$enableval,enable_gnutls=yes)
AC_ARG_ENABLE(largefile, [ --disable-largefile turn off Large File Support (default=on)],enable_largefile=$enableval,enable_largefile=yes)
AC_ARG_ENABLE(alias, [ --disable-alias turn off Alias plugin (default=compiled)],enable_alias=$enableval,enable_alias=yes)
@ -738,22 +740,52 @@ else
not_asked="$not_asked xfer"
fi
# ------------------------------------------------------------------------------
# gcrypt
# ------------------------------------------------------------------------------
if test "x$enable_gcrypt" = "xyes" ; then
AC_CHECK_HEADER(gcrypt.h,ac_found_gcrypt_header="yes",ac_found_gcrypt_header="no")
AC_CHECK_LIB(gcrypt,gcry_check_version,ac_found_gcrypt_lib="yes",ac_found_gcrypt_lib="no")
AC_MSG_CHECKING(for gcrypt headers and librairies)
if test "x$ac_found_gcrypt_header" = "xno" -o "x$ac_found_gcrypt_lib" = "xno" ; then
AC_MSG_RESULT(no)
AC_MSG_WARN([
*** libgcrypt was not found. You may want to get it from ftp://ftp.gnupg.org/gcrypt/libgcrypt/
*** WeeChat will be built without gcrypt support.
*** Some features like SASL authentication with IRC server using mechanism DH-BLOWFISH will be disabled.])
enable_gcrypt="no"
not_found="$not_found gcrypt"
else
AC_MSG_RESULT(yes)
GCRYPT_CFLAGS=`libgcrypt-config --cflags`
GCRYPT_LFLAGS=`libgcrypt-config --libs`
AC_SUBST(GCRYPT_CFLAGS)
AC_SUBST(GCRYPT_LFLAGS)
AC_DEFINE(HAVE_GCRYPT)
CFLAGS="$CFLAGS -DHAVE_GCRYPT"
fi
else
not_asked="$not_asked gcrypt"
fi
# ------------------------------------------------------------------------------
# gnutls
# ------------------------------------------------------------------------------
if test "x$enable_gnutls" = "xyes" ; then
AC_CHECK_HEADER(gnutls/gnutls.h,ac_found_gnutls_header="yes",ac_found_gnutls_header="no")
AC_CHECK_LIB(gnutls,gnutls_global_init,ac_found_gnutls_lib="yes",ac_found_gnutls_lib="no")
AC_MSG_CHECKING(for gnutls headers and librairies)
if test "x$ac_found_gnutls_header" = "xno" -o "x$ac_found_gnutls_lib" = "xno" ; then
AC_MSG_RESULT(no)
AC_MSG_WARN([
AC_CHECK_HEADER(gnutls/gnutls.h,ac_found_gnutls_header="yes",ac_found_gnutls_header="no")
AC_CHECK_LIB(gnutls,gnutls_global_init,ac_found_gnutls_lib="yes",ac_found_gnutls_lib="no")
AC_MSG_CHECKING(for gnutls headers and librairies)
if test "x$ac_found_gnutls_header" = "xno" -o "x$ac_found_gnutls_lib" = "xno" ; then
AC_MSG_RESULT(no)
AC_MSG_WARN([
*** libgnutls was not found. You may want to get it from ftp://ftp.gnutls.org/pub/gnutls/
*** WeeChat will be built without GnuTLS support.])
enable_gnutls="no"
not_found="$not_found gnutls"
enable_gnutls="no"
not_found="$not_found gnutls"
else
AC_MSG_RESULT(yes)
GNUTLS_CFLAGS=`pkg-config gnutls --cflags`
@ -932,6 +964,7 @@ CFLAGS="$CFLAGS -DWEECHAT_VERSION=\\\"$VERSION\\\""
# output Makefiles
# ------------------------------------------------------------------------------
AM_CONDITIONAL(HAVE_GCRYPT, test "$enable_gcrypt" = "yes")
AM_CONDITIONAL(HAVE_GNUTLS, test "$enable_gnutls" = "yes")
AM_CONDITIONAL(HAVE_FLOCK, test "$enable_flock" = "yes")
AM_CONDITIONAL(GUI_NCURSES, test "$enable_ncurses" = "yes")
@ -1058,6 +1091,9 @@ if test "x$enable_xfer" = "xyes"; then
fi
listoptional=""
if test "x$enable_gcrypt" = "xyes"; then
listoptional="$listoptional gcrypt"
fi
if test "x$enable_gnutls" = "xyes"; then
listoptional="$listoptional gnutls"
fi

View File

@ -311,13 +311,18 @@
* *irc.server_default.sasl_mechanism*
** description: mechanism for SASL authentication
** type: integer
** values: plain (default value: plain)
** values: plain, dh-blowfish (default value: plain)
* *irc.server_default.sasl_password*
** description: password for SASL authentication
** type: string
** values: any string (default value: "")
* *irc.server_default.sasl_timeout*
** description: timeout (in seconds) before giving up SASL authentication
** type: integer
** values: 1 .. 3600 (default value: 15)
* *irc.server_default.sasl_username*
** description: username for SASL authentication
** type: string

View File

@ -311,13 +311,18 @@
* *irc.server_default.sasl_mechanism*
** description: mécanisme pour l'authentification SASL
** type: entier
** valeurs: plain (valeur par défaut: plain)
** valeurs: plain, dh-blowfish (valeur par défaut: plain)
* *irc.server_default.sasl_password*
** description: mot de passe pour l'authentification SASL
** type: chaîne
** valeurs: toute chaîne (valeur par défaut: "")
* *irc.server_default.sasl_timeout*
** description: délai d'attende maximum (en secondes) avant d'abandonner l'authentification SASL
** type: entier
** valeurs: 1 .. 3600 (valeur par défaut: 15)
* *irc.server_default.sasl_username*
** description: nom d'utilisateur pour l'authentification SASL
** type: chaîne

View File

@ -311,13 +311,18 @@
* *irc.server_default.sasl_mechanism*
** descrizione: mechanism for SASL authentication
** tipo: intero
** valori: plain (valore predefinito: plain)
** valori: plain, dh-blowfish (valore predefinito: plain)
* *irc.server_default.sasl_password*
** descrizione: password for SASL authentication
** tipo: stringa
** valori: qualsiasi stringa (valore predefinito: "")
* *irc.server_default.sasl_timeout*
** descrizione: timeout (in seconds) before giving up SASL authentication
** tipo: intero
** valori: 1 .. 3600 (valore predefinito: 15)
* *irc.server_default.sasl_username*
** descrizione: username for SASL authentication
** tipo: stringa

View File

@ -139,6 +139,8 @@
./src/plugins/irc/irc-protocol.h
./src/plugins/irc/irc-raw.c
./src/plugins/irc/irc-raw.h
./src/plugins/irc/irc-sasl.c
./src/plugins/irc/irc-sasl.h
./src/plugins/irc/irc-server.c
./src/plugins/irc/irc-server.h
./src/plugins/logger/logger.c

111
po/cs.po
View File

@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.2-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-02-15 11:45+0100\n"
"PO-Revision-Date: 2010-01-23 11:56+0100\n"
"POT-Creation-Date: 2010-02-18 19:55+0100\n"
"PO-Revision-Date: 2010-02-18 19:52+0100\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"
@ -4036,6 +4036,9 @@ msgstr ""
msgid "password for SASL authentication"
msgstr ""
msgid "timeout (in seconds) before giving up SASL authentication"
msgstr ""
msgid "automatically connect to server when WeeChat is starting"
msgstr "automaticky připojit k serveru, když je WeeChat spouštěn"
@ -4429,6 +4432,11 @@ msgstr "%s%s: nejste připojen k serveru"
msgid "%s%s: this buffer is not a channel!"
msgstr "%s%s: tenhle buffer není kanál!"
#, c-format
msgid ""
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
msgstr ""
#, c-format
msgid "%s%s: client capability, server supports: %s"
msgstr ""
@ -4445,6 +4453,18 @@ msgstr ""
msgid "%s%s: client capability, enabled: %s"
msgstr ""
#, fuzzy, c-format
msgid ""
"%s%s: cannot authenticate with SASL and mechanism DH-BLOWFISH because "
"WeeChat was not built with libgcrypt support"
msgstr ""
"%s%s: nemohu se připojit pomocí SSL, protže WeeChat nebyl sestaven s "
"podporou GNUtls"
#, fuzzy, c-format
msgid "%s%s: client capability, refused: %s"
msgstr "%s%s: nekorektní znaková sada: \"%s\""
#, c-format
msgid "%sYou have been invited to %s%s%s by %s%s%s"
msgstr "%sByl jsi pozván na %s%s%s od %s%s%s"
@ -6165,90 +6185,3 @@ msgstr "[info [argumenty]]"
#, fuzzy
msgid "Pointer"
msgstr "celé číslo"
#~ msgid "[-o]"
#~ msgstr "[-o]"
#~ msgid "-o: send uptime to current buffer as input"
#~ msgstr "-o: poslat čas běhu na aktuální kanál jako vstup"
#~ msgid "-o: send version to current buffer as input"
#~ msgstr "-c: pošle verzi jako vstup pro aktuální buffer"
#~ msgid "time format for buffers"
#~ msgstr "formát času pro buffer"
#~ msgid "%s%s: cannot find nick for sending message"
#~ msgstr "%s%s: nemohu najít přezdívku pro poslání zprávy"
#~ msgid "text: text to send"
#~ msgstr "text: texk k poslání"
#, fuzzy
#~ msgid "%s%s: error creating msgbuffer \"%s\" => \"%s\""
#~ msgstr "%s%s: chyba vytváření znakové sady \"%s\" => \"%s\""
#~ msgid "%s%s: error: \"%s\""
#~ msgstr "%s%s: chyba: \"%s\""
#~ msgid "%s%s: missing argument for \"%s\" option"
#~ msgstr "%s%s: chybí argument pro volbu \"%s\""
#~ msgid "%s%s unable to run function \"%s\""
#~ msgstr "%s%s nemůžu spustit funkci \"%s\""
#~ msgid "%sUnknown CTCP %s%s%s received from %s%s%s: %s"
#~ msgstr "%sNeznámý CTCP %s%s%s obdržen od %s%s%s: %s"
#~ msgid "%sUnknown CTCP %s%s%s received from %s%s%s"
#~ msgstr "%sNeznámý CTCP %s%s%s obdržen od %s%s%s"
#~ msgid "list of %s scripts"
#~ msgstr "seznam %s skriptů"
#, fuzzy
#~ msgid "%s%s: bind error on port %d"
#~ msgstr "%s: poslouchám na portu %d"
#~ msgid "%s: new client @ %s"
#~ msgstr "%s: nový klient @ %s"
#~ msgid "enable relay"
#~ msgstr "přesměrování povoleno"
#~ msgid ""
#~ "port number (or range of ports) that relay plugin listens on (syntax: a "
#~ "single port, ie. 5000 or a port range, ie. 5000-5015, it's recommended to "
#~ "use ports greater than 1024, because only root can use ports below 1024)"
#~ msgstr ""
#~ "číslo portu (nebo rozsah portů), na kterých poslouchá plugin pro "
#~ "přesměrování (syntaxe: jeden port, např. 5000 nebo rozsah portů, např. "
#~ "5000-5015, je doporučeno používat porty větší než 1024, protože porty pod "
#~ "1024 může používat pouze root)"
#~ msgid "%s%s: option \"listen_port_range\" is not defined"
#~ msgstr "%s%s: volba \"listen_port_range\" není definována"
#~ msgid "%s%s: cannot find available port for listening"
#~ msgstr "%s%s: nemůžu najít dostupný port pro poslouchání"
#~ msgid ""
#~ " list: list relay clients\n"
#~ "listfull: list relay clients (verbose)\n"
#~ "\n"
#~ "Without argument, this command opens buffer with list of relay clients."
#~ msgstr ""
#~ " list: vypíše klienty pro přesměrování\n"
#~ "listfull: vypíše klienty pro přesměrování(s detaily)\n"
#~ "\n"
#~ "Spuštění příkazu bez parametrů otevře buffer se seznamem přenosových "
#~ "klientů."
#~ msgid ""
#~ " channel: channel where user is\n"
#~ "nickname: nickname to kick and ban\n"
#~ " comment: comment for kick"
#~ msgstr ""
#~ " kanál: kanál na kterém je uživatel\n"
#~ "přezdívka: přezdívka, kterou vykopnout a zakázat\n"
#~ " komentář: komentář pro vykopnutí"

View File

@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.2-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-02-15 11:45+0100\n"
"PO-Revision-Date: 2010-02-09 16:11+0100\n"
"POT-Creation-Date: 2010-02-18 19:55+0100\n"
"PO-Revision-Date: 2010-02-18 19:52+0100\n"
"Last-Translator: Nils G <weechatter@arcor.de>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"
@ -4220,6 +4220,9 @@ msgstr ""
msgid "password for SASL authentication"
msgstr ""
msgid "timeout (in seconds) before giving up SASL authentication"
msgstr ""
msgid "automatically connect to server when WeeChat is starting"
msgstr "Automatisch mit dem Server verbinden, wenn WeeChat gestartet wird"
@ -4630,6 +4633,11 @@ msgstr "%s%s: Es besteht keine Verbindung zum Server"
msgid "%s%s: this buffer is not a channel!"
msgstr "%s%s: Dieser Buffer ist kein Channel!"
#, c-format
msgid ""
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
msgstr ""
#, c-format
msgid "%s%s: client capability, server supports: %s"
msgstr ""
@ -4646,6 +4654,18 @@ msgstr ""
msgid "%s%s: client capability, enabled: %s"
msgstr ""
#, fuzzy, c-format
msgid ""
"%s%s: cannot authenticate with SASL and mechanism DH-BLOWFISH because "
"WeeChat was not built with libgcrypt support"
msgstr ""
"%s%s SSL-Verbindung nicht möglich, da WeeChat nicht mit GNUtls-Support "
"kompiliert wurde"
#, fuzzy, c-format
msgid "%s%s: client capability, refused: %s"
msgstr "%s%s: Ungültiger Zeichensatz: \"%s\""
#, c-format
msgid "%sYou have been invited to %s%s%s by %s%s%s"
msgstr "%sDu bist in den Channel %s%s%s von %s%s%s eingeladen worden"
@ -6409,16 +6429,3 @@ msgstr "[arguments]"
#, fuzzy
msgid "Pointer"
msgstr "integer"
#~ msgid "[-o]"
#~ msgstr "[-o]"
#~ msgid "-o: send uptime to current buffer as input"
#~ msgstr ""
#~ "-o: sendet die Weechat-Uptime, als Mitteilung, in den aktuellen Channel"
#~ msgid "-o: send version to current buffer as input"
#~ msgstr "-o: schickt Version in den aktuellen Buffer"
#~ msgid "time format for buffers"
#~ msgstr "Zeitformatierung für Buffer"

814
po/es.po
View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.2-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-02-15 11:45+0100\n"
"PO-Revision-Date: 2010-01-23 11:56+0100\n"
"POT-Creation-Date: 2010-02-18 19:55+0100\n"
"PO-Revision-Date: 2010-02-18 19:53+0100\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"
@ -4122,6 +4122,10 @@ msgstr "usar SSL para la comunicación del servidor"
msgid "password for SASL authentication"
msgstr "usar SSL para la comunicación del servidor"
#, fuzzy
msgid "timeout (in seconds) before giving up SASL authentication"
msgstr "usar SSL para la comunicación del servidor"
msgid "automatically connect to server when WeeChat is starting"
msgstr "conectarse automáticamente al servidor cuando WeeChat se inicia"
@ -4524,6 +4528,11 @@ msgstr "%s%s: no estas conectado a ningún servidor"
msgid "%s%s: this buffer is not a channel!"
msgstr "%s%s: ¡este buffer no es un canal!"
#, c-format
msgid ""
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
msgstr ""
#, c-format
msgid "%s%s: client capability, server supports: %s"
msgstr ""
@ -4540,6 +4549,18 @@ msgstr ""
msgid "%s%s: client capability, enabled: %s"
msgstr ""
#, fuzzy, c-format
msgid ""
"%s%s: cannot authenticate with SASL and mechanism DH-BLOWFISH because "
"WeeChat was not built with libgcrypt support"
msgstr ""
"%s%s: no es posible conectarse con SSL debido a que WeeChat no fue compilado "
"con soporte GnuTLS"
#, fuzzy, c-format
msgid "%s%s: client capability, refused: %s"
msgstr "%s%s: set de caracteres inválido: \"%s\""
#, c-format
msgid "%sYou have been invited to %s%s%s by %s%s%s"
msgstr "%sUsted ha sido invitado a %s%s%s por %s%s%s"
@ -6295,792 +6316,3 @@ msgstr "[argumentos]"
#, fuzzy
msgid "Pointer"
msgstr "entero"
#~ msgid "[-o]"
#~ msgstr "[-o]"
#~ msgid "-o: send uptime to current buffer as input"
#~ msgstr "-o: envía el tiempo de uso al canal actual"
#~ msgid "-o: send version to current buffer as input"
#~ msgstr "-o: envía la versión a la entrada del buffer actual"
#~ msgid "time format for buffers"
#~ msgstr "formato de hora para los buffers"
#~ msgid "%s%s: cannot find nick for sending message"
#~ msgstr "%s%s: no se pudo encontrar el apodo para enviarle el mensaje"
#~ msgid "text: text to send"
#~ msgstr "texto: texto a enviar"
#, fuzzy
#~ msgid "%s%s: error creating msgbuffer \"%s\" => \"%s\""
#~ msgstr "%s%s: error al crear el set de caracteres \"%s\" => \"%s\""
#~ msgid "%s%s: error: \"%s\""
#~ msgstr "%s%s: error: \"%s\""
#~ msgid "%s%s: missing argument for \"%s\" option"
#~ msgstr "%s%s: falta el argumento para la opción \"%s\""
#, fuzzy
#~ msgid "%s%s unable to run function \"%s\""
#~ msgstr "No es posible escribir un fichero de log para un búfer\n"
#~ msgid "%sUnknown CTCP %s%s%s received from %s%s%s: %s"
#~ msgstr "%sCTCP desconocido %s%s%s recibido de %s%s%s: %s"
#, fuzzy
#~ msgid "%sUnknown CTCP %s%s%s received from %s%s%s"
#~ msgstr "%sCTCP desconocido %s%s%s recibido de %s%s"
#, fuzzy
#~ msgid "list of %s scripts"
#~ msgstr "Lista de alias:\n"
#, fuzzy
#~ msgid "%s%s: bind error on port %d"
#~ msgstr "%s no ha sido posible crear el socket\n"
#, fuzzy
#~ msgid ""
#~ "port number (or range of ports) that relay plugin listens on (syntax: a "
#~ "single port, ie. 5000 or a port range, ie. 5000-5015, it's recommended to "
#~ "use ports greater than 1024, because only root can use ports below 1024)"
#~ msgstr ""
#~ "restringe el dcc de salida a utilizar únicamente los puertos del rango "
#~ "especificado (útil para NAT) (sintaxis: un puerto simple, e.g. 5000, o un "
#~ "rango de puertos, e.g. 5000-5015, un valor vacío significa cualquier "
#~ "puerto)"
#, fuzzy
#~ msgid "%s%s: cannot find available port for listening"
#~ msgstr "%s no puede encontrar un puerto disponible para el DCC\n"
#~ msgid ""
#~ " channel: channel where user is\n"
#~ "nickname: nickname to kick and ban\n"
#~ " comment: comment for kick"
#~ msgstr ""
#~ " canal: canal donde está el usuario\n"
#~ " apodo: apodo a expulsar y vetar\n"
#~ "comentario: comentario de la expulsión"
#, fuzzy
#~ msgid "list of alias"
#~ msgstr "Lista de alias:\n"
#~ msgid "alias_name"
#~ msgstr "alias"
#, fuzzy
#~ msgid "No alias found"
#~ msgstr "Ningún alias definido.\n"
#~ msgid "%s%s: error sending data to IRC server (%s)"
#~ msgstr "%s%s: error al enviar datos al servidor IRC (%s)"
#~ msgid "%s%s: cannot read data from socket, disconnecting from server..."
#~ msgstr ""
#~ "%s%s: no ha sido posible leer datos del socket, desconectando del "
#~ "servidor..."
#~ msgid "nicks"
#~ msgstr "apodos"
#~ msgid "ops"
#~ msgstr "ops"
#~ msgid "halfops"
#~ msgstr "semi-ops"
#~ msgid "voices"
#~ msgstr "voces"
#~ msgid "%sCTCP %sVERSION%s reply from %s%s%s: %s"
#~ msgstr "%sCTCP %sVERSION%s respuesta de %s%s%s: %s"
#~ msgid "%sCTCP %sVERSION%s received from %s%s%s: %s"
#~ msgstr "%sCTCP %sVERSION%s recibido de %s%s%s: %s"
#~ msgid "%sCTCP %sVERSION%s received from %s%s"
#~ msgstr "%sCTCP %sVERSION%s recibido de %s%s"
#~ msgid "%sReceived a CTCP %sSOUND%s \"%s\" from %s%s"
#~ msgstr "%sRecibido a CTCP %sSOUND%s \"%s\" de %s%s"
#~ msgid "%sCTCP %sPING%s received from %s%s"
#~ msgstr "%sCTCP %sPING%s recibido de %s%s"
#, fuzzy
#~ msgid "text color for nick name in input line"
#~ msgstr "color para los nombres de usuario"
#, fuzzy
#~ msgid "text color for nicklist separator"
#~ msgstr "color para el separador de alias"
#, fuzzy
#~ msgid "servers"
#~ msgstr "servidor"
#, fuzzy
#~ msgid "%s%s: auto-reconnection is cancelled"
#~ msgstr "La reconexión automática está anulada\n"
#, fuzzy
#~ msgid "list, add or remove Jabber servers"
#~ msgstr "lista, añde o elimina servidores"
#, fuzzy
#~ msgid ""
#~ "[list [servername]] | [listfull [servername]] | [add servername username "
#~ "hostname[/port] password [-auto | -noauto] [-ipv6] [-tls] [-sasl]] | "
#~ "[copy servername newservername] | [rename servername newservername] | "
#~ "[keep servername] | [del servername] | [switch]"
#~ msgstr ""
#~ "[nombre_de_servidor] | [nombre_de_servidor nombre/IP puerto [-auto | -"
#~ "noauto] [-ipv6] [-ssl] [-pwd contraseña] [-nicks alias1 alias2 alias3] [-"
#~ "username nombre de usuario] [-realname nombre_real] [-command comando] [-"
#~ "autojoin canal[,canal]] ] | [del nombre_de_servidor]"
#, fuzzy
#~ msgid ""
#~ " list: list servers (no parameter implies this list)\n"
#~ " listfull: list servers with detailed info for each server\n"
#~ " add: create a new server\n"
#~ "servername: server name, for internal and display use\n"
#~ " username: username to use on server\n"
#~ " hostname: name or IP address of server, with optional port (default: "
#~ "5222)\n"
#~ " password: password for username on server\n"
#~ " auto: automatically connect to server when WeeChat starts\n"
#~ " noauto: do not connect to server when WeeChat starts (default)\n"
#~ " ipv6: use IPv6 protocol\n"
#~ " tls: use TLS cryptographic protocol\n"
#~ " sasl: use SASL for authentication\n"
#~ " copy: duplicate a server\n"
#~ " rename: rename a server\n"
#~ " keep: keep server in config file (for temporary servers only)\n"
#~ " del: delete a server\n"
#~ " switch: switch active server (when one buffer is used for all "
#~ "servers, default key: alt-s on server buffer)\n"
#~ "\n"
#~ "Examples:\n"
#~ " /jabber listfull\n"
#~ " /jabber add jabberfr user jabber.fr/5222 password -tls\n"
#~ " /jabber copy jabberfr jabberfr2\n"
#~ " /jabber rename jabberfr jabbfr\n"
#~ " /jabber del jabberfr\n"
#~ " /jabber switch"
#~ msgstr ""
#~ " nombre_de_servidor: nombre del servidor, para uso interno y para "
#~ "mostrar\n"
#~ "nombre_de_anfitrión: nombre o dirección IP del servidor\n"
#~ " puerto: puerto para el servidor (número entero)\n"
#~ " ipv6: utilizar protocolo IPv6\n"
#~ " ssl: utilizar protocolo SSL\n"
#~ " contraseña: contraseña para el servidor\n"
#~ " alias1: primer alias para el servidor\n"
#~ " alias2: alias alternativo para el servidor\n"
#~ " alias3: segundo alias alternativo para el servidor\n"
#~ " nombre_de_usuario: nombre de usuario\n"
#~ " nombre_real: nombre real del usuario"
#, fuzzy
#~ msgid "buddy [text]"
#~ msgstr "texto"
#, fuzzy
#~ msgid ""
#~ "buddy: buddy name for chat\n"
#~ " text: text to send"
#~ msgstr ""
#~ "servicio: nombre del servicio\n"
#~ "texto: texto a enviar"
#, fuzzy
#~ msgid "connect to Jabber server(s)"
#~ msgstr "conectarse a un servidor"
#, fuzzy
#~ msgid ""
#~ "[-all [-nojoin] | servername [servername ...] [-nojoin] | hostname [-port "
#~ "port] [-ipv6] [-tls] [-sasl]]"
#~ msgstr "nombre_del_servidor: nombre del servidor al que conectarse"
#, fuzzy
#~ msgid ""
#~ " -all: connect to all servers\n"
#~ "servername: internal server name to connect\n"
#~ " -nojoin: do not join any MUC (even if autojoin is enabled on server)\n"
#~ " hostname: hostname to connect\n"
#~ " port: port for server (integer, default is 6667)\n"
#~ " ipv6: use IPv6 protocol\n"
#~ " tls: use TLS cryptographic protocol\n"
#~ " saal: use SASL for authentication"
#~ msgstr "nombre_del_servidor: nombre del servidor al que conectarse"
#, fuzzy
#~ msgid "disconnect from Jabber server(s)"
#~ msgstr "desconectarse de un servidor"
#, fuzzy
#~ msgid "hostname/port or IP/port for server"
#~ msgstr "nombre de usuario a utilizar en el servidor IRC"
#, fuzzy
#~ msgid "use TLS cryptographic protocol for server communication"
#~ msgstr "usar el protocolo IPv6 para la comunicación del servidor"
#, fuzzy
#~ msgid "password"
#~ msgstr "contraseña de usuario"
#, fuzzy
#~ msgid "local alias"
#~ msgstr "Lista de alias:\n"
#, fuzzy
#~ msgid ""
#~ "command(s) to run when connected to server (many commands should be "
#~ "separated by ';', use '\\;' for a semicolon, special variables $nick, "
#~ "$muc and $server are replaced by their value)"
#~ msgstr ""
#~ "comando(s) a ejecutar cuando se conecte al servidor (muchos comandos "
#~ "deberí­an ser separados por ';', utilizar '\\;' para un punto y coma)"
#, fuzzy
#~ msgid ""
#~ "comma separated list of MUCs to join when connected to server (example: "
#~ "\"#chan1,#chan2,#chan3 key1,key2\")"
#~ msgstr ""
#~ "lista de canales (separados por comas) a unirse cuando se conecte a un "
#~ "servidor (ejemplo: \"#chan1,#chan2,#chan3 key1,key2\")"
#, fuzzy
#~ msgid "automatically rejoin MUCs when kicked"
#~ msgstr "unirse de nuevo automáticamente a los canales cuando sea expulsado"
#~ msgid "use same buffer for all servers"
#~ msgstr "usar el mismo búfer para todos los servidores"
#, fuzzy
#~ msgid ""
#~ "default part message (leaving MUC) ('%v' will be replaced by WeeChat "
#~ "version in string)"
#~ msgstr ""
#~ "mensaje de partida por defecto (abandonando el canal) ('%v' será "
#~ "reemplazado por la versión de WeeChat en la cadena)"
#, fuzzy
#~ msgid ""
#~ "default quit message (disconnecting from server) ('%v' will be replaced "
#~ "by WeeChat version in string)"
#~ msgstr ""
#~ "mensaje de fin por defecto ('%v' será reemplazado por la versión de "
#~ "WeeChat en la cadena)"
#, fuzzy
#~ msgid ""
#~ "allow user to send colors with special codes (^Cb=bold, ^Ccxx=color, "
#~ "^Ccxx,yy=color+background, ^Cu=underline, ^Cr=reverse)"
#~ msgstr ""
#~ "permitir al usuario enviar colores con códigos especiales (%B=negrita, %"
#~ "Cxx,yy=color, %U=subrayado, %R=invertido) "
#, fuzzy
#~ msgid "Jabber debug messages"
#~ msgstr "imprime mensajes de depuración"
#, fuzzy
#~ msgid "get buffer pointer for a Jabber server/MUC"
#~ msgstr "lista de canales a unirse cuando se conecte a un servidor"
#, fuzzy
#~ msgid "list of Jabber servers"
#~ msgstr "puerto para el servidor IRC"
#, fuzzy
#~ msgid "list of MUCs for a Jabber server"
#~ msgstr "lista de canales a unirse cuando se conecte a un servidor"
#, fuzzy
#~ msgid "list of buddies for a Jabber server or MUC"
#~ msgstr "lista de canales a unirse cuando se conecte a un servidor"
#, fuzzy
#~ msgid "%s: this buffer is not a MUC!"
#~ msgstr "¡Esta ventana no es un canal!\n"
#, fuzzy
#~ msgid "%s%s: cannot allocate new MUC"
#~ msgstr "%s no ha sido posible crear un nuevo canal"
#, fuzzy
#~ msgid "%s%s: reconnecting to server in %d %s"
#~ msgstr "%s: Reconexión al servidor en %d segundos\n"
#, fuzzy
#~ msgid "%s%s: connected to %s (%s)"
#~ msgstr "%s ¡no conectado al servidor \"%s\"!\n"
#, fuzzy
#~ msgid "%s%s: GnuTLS init error"
#~ msgstr "%s error de inicialización de gnutls\n"
#, fuzzy
#~ msgid "%s%s: GnuTLS handshake failed"
#~ msgstr "%s el handshake gnutls ha fallado\n"
#, fuzzy
#~ msgid "%s%s: connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
#~ msgstr "%s: conectando al servidor %s:%d%s%s ví­a %s proxy %s: %d%s...\n"
#, fuzzy
#~ msgid "Connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
#~ msgstr "Conectando al servidor %s:%d%s%s ví­a %s proxy %s:%d%s...\n"
#, fuzzy
#~ msgid "%s%s: connecting to server %s/%d%s%s%s..."
#~ msgstr "%s: conectando al servidor %s:%d%s%s...\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: username or server not defined for server \"%s\", cannot connect"
#~ msgstr "%s usuario \"%s\" no encontrado para el comando \"%s\"\n"
#, fuzzy
#~ msgid "%s%s: hostname/IP not defined for server \"%s\", cannot connect"
#~ msgstr "%s usuario \"%s\" no encontrado para el comando \"%s\"\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with TLS because iksemel library was not built with "
#~ "GnuTLS support"
#~ msgstr ""
#~ "%s No ha sido posible conectar con SSL debido a que Weechat no fue "
#~ "compilado con soporte GNUtls\n"
#, fuzzy
#~ msgid "%s%s: failed to create stream parser"
#~ msgstr "%s no es posible crear el servidor\n"
#, fuzzy
#~ msgid "%s%s: failed to create id"
#~ msgstr "%s no es posible crear el servidor\n"
#, fuzzy
#~ msgid "%s%s: reconnecting to server..."
#~ msgstr "%s: Reconectando al servidor...\n"
#, fuzzy
#~ msgid "%s%s: I/O error (%d)"
#~ msgstr "%sServidor: %s%s\n"
#, fuzzy
#~ msgid "%s%s: SASL authentication failed (check SASL option and password)"
#~ msgstr "No es posible escribir un fichero de log para un búfer\n"
#, fuzzy
#~ msgid "%s%s: server disconnected"
#~ msgstr "Servidor %s%s%s creado\n"
#, fuzzy
#~ msgid "%s%s: stream error"
#~ msgstr "%sServidor: %s%s\n"
#, fuzzy
#~ msgid "%s%s: login ok"
#~ msgstr "%s no es posible crear el servidor\n"
#, fuzzy
#~ msgid "%s%s: authentication failed (check SASL option and password)"
#~ msgstr "No es posible escribir un fichero de log para un búfer\n"
#, fuzzy
#~ msgid ""
#~ "%sError: plugin \"%s\" is compiled for WeeChat %s and you are running "
#~ "version %s, failed to load"
#~ msgstr ""
#~ "%s función \"weechat_plugin_init\" no encontrada en el plugin \"%s\", "
#~ "falló al cargar\n"
#, fuzzy
#~ msgid ""
#~ "port number (or range of ports) that relay plugin listens on (syntax: a "
#~ "single port, ie. 5000 or a port range, ie. 5000-5015)"
#~ msgstr ""
#~ "restringe el dcc de salida a utilizar únicamente los puertos del rango "
#~ "especificado (útil para NAT) (sintaxis: un puerto simple, e.g. 5000, o un "
#~ "rango de puertos, e.g. 5000-5015, un valor vací­o significa cualquier "
#~ "puerto)"
#, fuzzy
#~ msgid ""
#~ "allow user to send colors with special codes (\"^Cb\"=bold, \"^Ccxx"
#~ "\"=color, \"^Ccxx,yy\"=color+background, \"^Cu\"=underline, \"^Cr"
#~ "\"=reverse)"
#~ msgstr ""
#~ "permitir al usuario enviar colores con códigos especiales (%B=negrita, %"
#~ "Cxx,yy=color, %U=subrayado, %R=invertido) "
#, fuzzy
#~ msgid "filtered"
#~ msgstr "los usuarios han sido desactivados"
#, fuzzy
#~ msgid "%s%s: unable to set notify level \"%s\" => \"%s\""
#~ msgstr ""
#~ "No hay suficiente memoria para el mensaje de la barra de información\n"
#, fuzzy
#~ msgid "%s%s: missing parameters"
#~ msgstr "%s falta un argumento para la opción --dir\n"
#, fuzzy
#~ msgid "%s%s: unknown notify level \"%s\""
#~ msgstr "%s opción desconocida para el comando \"%s\"\n"
#, fuzzy
#~ msgid "change notify level for current buffer"
#~ msgstr "nombre de canal no encontrado para el búfer"
#~ msgid "Notify levels:"
#~ msgstr "Niveles de notificación:"
#~ msgid "[action [args] | number | [[server] [channel]]]"
#~ msgstr "[acción [argumentos] | número | [[servidor] [canal]]]"
#, fuzzy
#~ msgid "%s%s: command \"%s\" must be executed on irc buffer"
#~ msgstr ""
#~ "%s el comando \"%s\" no puede ejecutarse en una ventana de servidor\n"
#, fuzzy
#~ msgid " (used by a plugin)"
#~ msgstr " (sin plugins)\n"
#, fuzzy
#~ msgid "%s%s: unknown/missing channel name for \"%s\" command"
#~ msgstr "%s faltan argumentos para el comando \"%s\"\n"
#~ msgid "nickname [text]"
#~ msgstr "usuario [texto]"
#~ msgid "data"
#~ msgstr "datos"
#~ msgid "data: raw data to send"
#~ msgstr "datos: datos en sucio a enviar"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with TLS because WeeChat was not built with GnuTLS "
#~ "support"
#~ msgstr ""
#~ "%s No ha sido posible conectar con SSL debido a que Weechat no fue "
#~ "compilado con soporte GNUtls\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with SSL since WeeChat was not built with GnuTLS "
#~ "support"
#~ msgstr ""
#~ "%s No ha sido posible conectar con SSL debido a que Weechat no fue "
#~ "compilado con soporte GNUtls\n"
#, fuzzy
#~ msgid "list of Jabber ignore"
#~ msgstr "puerto para el servidor IRC"
#, fuzzy
#~ msgid "1 if string is a Jabber channel"
#~ msgstr "lista de usuarios en el canal"
#, fuzzy
#~ msgid "get nick from Jabber host"
#~ msgstr "banea usuarios o máquinas"
#, fuzzy
#~ msgid "list of nicks for a Jabber channel"
#~ msgstr "lista de usuarios en el canal"
#, fuzzy
#~ msgid ""
#~ "[list [servername]] | [listfull [servername]] | [add username server[/"
#~ "port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] "
#~ "| [rename servername newservername] | [keep servername] | [del "
#~ "servername] | [deloutq] | [switch]"
#~ msgstr ""
#~ "[nombre_de_servidor] | [nombre_de_servidor nombre/IP puerto [-auto | -"
#~ "noauto] [-ipv6] [-ssl] [-pwd contraseña] [-nicks alias1 alias2 alias3] [-"
#~ "username nombre de usuario] [-realname nombre_real] [-command comando] [-"
#~ "autojoin canal[,canal]] ] | [del nombre_de_servidor]"
#, fuzzy
#~ msgid "nicknames to use on Jabber server (separated by comma)"
#~ msgstr "nombre de usuario a utilizar en el servidor IRC"
#, fuzzy
#~ msgid "user name to use on Jabber server"
#~ msgstr "nombre de usuario para el servidor IRC"
#, fuzzy
#~ msgid "real name to use on Jabber server"
#~ msgstr "nombre real para el servidor IRC"
#, fuzzy
#~ msgid "send unknown commands to Jabber server"
#~ msgstr "nombre de usuario para el servidor IRC"
#, fuzzy
#~ msgid "password for Jabber server"
#~ msgstr "contraseña para el servidor proxy"
#~ msgid " . type: boolean\n"
#~ msgstr " . tipo: booleano\n"
#, fuzzy
#~ msgid " . values: \"on\" or \"off\"\n"
#~ msgstr " . valores: 'on' u 'off'\n"
#, fuzzy
#~ msgid " . default value: \"%s\"\n"
#~ msgstr " . valor por defecto: '%s'\n"
#~ msgid " . type: string\n"
#~ msgstr " . tipo: cadena\n"
#~ msgid " . values: "
#~ msgstr " . valores: "
#~ msgid " . type: integer\n"
#~ msgstr " . tipo: entero\n"
#~ msgid " . values: between %d and %d\n"
#~ msgstr " . valores: entre %d y %d\n"
#~ msgid " . default value: %d\n"
#~ msgstr " . valor por defecto: %d\n"
#~ msgid " . values: any string\n"
#~ msgstr " . valores: cualquier cadena\n"
#, fuzzy
#~ msgid " . type: char\n"
#~ msgstr " . tipo: color\n"
#, fuzzy
#~ msgid " . values: any char\n"
#~ msgstr " . valores: cualquier cadena\n"
#, fuzzy
#~ msgid " . values: any string (limit: %d chars)\n"
#~ msgstr " . valores: cualquier cadena\n"
#~ msgid " . type: color\n"
#~ msgstr " . tipo: color\n"
#, fuzzy
#~ msgid " . values: color (depends on GUI used)\n"
#~ msgstr " . valores: entre %d y %d\n"
#~ msgid " . description: %s\n"
#~ msgstr " . descripción: %s\n"
#, fuzzy
#~ msgid "%sWarning: %s, line %d: invalid syntax, missing \"=\""
#~ msgstr "%s %s, lí­nea %d: sintaxis inválida, falta \"=\"\n"
#, fuzzy
#~ msgid "value not defined"
#~ msgstr "Ningún alias definido.\n"
#, fuzzy
#~ msgid "hidden"
#~ msgstr "(oculto)"
#, fuzzy
#~ msgid ""
#~ "%s%s: error creating option \"%s\" for server \"%s\" (server not found)"
#~ msgstr "%s opción de configuración \"%s\" no encontrada\n"
#, fuzzy
#~ msgid "display nicklist (on buffers with nicklist enabled)"
#~ msgstr "mostrar ventana de usuarios (para las ventanas de canal)"
#, fuzzy
#~ msgid ""
#~ "max size for nicklist (width or height, depending on nicklist_position (0 "
#~ "= no max size; if min = max and > 0, then size is fixed))"
#~ msgstr ""
#~ "tamaño máximo para la ventana de usuarios (ancho o alto, dependiendo de "
#~ "look_nicklist_position (0 = sin tamaño máximo, si min == max y > 0, "
#~ "entonces se fija el tamaño))"
#, fuzzy
#~ msgid ""
#~ "min size for nicklist (width or height, depending on nicklist_position (0 "
#~ "= no min size))"
#~ msgstr ""
#~ "tamaño mí­nimo para la ventana de usuarios (ancho o alto, dependiendo de "
#~ "look_nicklist_position (0 = sin tamaño mí­nimo))"
#~ msgid "nicklist position (top, left, right (default), bottom)"
#~ msgstr ""
#~ "posición de la ventana de usuarios (arriba (top), izquierda (left), "
#~ "derecha (right, por defecto), abajo (bottom))"
#, fuzzy
#~ msgid "%sBinary file not found: \"%s\""
#~ msgstr "%s plugin \"%s\" no encontrado\n"
#, fuzzy
#~ msgid "Upgrading WeeChat..."
#~ msgstr "Actualizando Weechat...\n"
#, fuzzy
#~ msgid "timeout for relay request (in seconds)"
#~ msgstr "tiempo de espera para la petición dcc (en segundos)"
#, fuzzy
#~ msgid "Open buffer with relay clients list"
#~ msgstr "Búfers abiertos:\n"
#, fuzzy
#~ msgid "Open buffer with xfer list"
#~ msgstr "Búfers abiertos:\n"
#, fuzzy
#~ msgid "%s%s: disconnecting client @ %s"
#~ msgstr "%s: Reconexión al servidor en %d segundos\n"
#, fuzzy
#~ msgid " [Q] Close client list"
#~ msgstr " [Q] Cerrar la vista DCC"
#, fuzzy
#~ msgid "use a proxy server"
#~ msgstr "nombre de usuario para el servidor proxy"
#, fuzzy
#~ msgid "text color for title bar"
#~ msgstr "color para la barra de tí­tulo"
#, fuzzy
#~ msgid "background color for title bar"
#~ msgstr "color de fondo para la barra de tí­tulo"
#, fuzzy
#~ msgid "background color for status bar"
#~ msgstr "color para la barra de estado"
#, fuzzy
#~ msgid "text color for status bar delimiters"
#~ msgstr "color para los delimitadores de la barra de estado"
#, fuzzy
#~ msgid "text color for input line"
#~ msgstr "color para el texto de entrada"
#, fuzzy
#~ msgid "background color for input line"
#~ msgstr "color para el texto de entrada"
#, fuzzy
#~ msgid "text color for server name in input line"
#~ msgstr "color para el nombre del servidor"
#, fuzzy
#~ msgid "text color for delimiters in input line"
#~ msgstr "color para los delimitadores de la barra de información"
#, fuzzy
#~ msgid "text color for nicklist"
#~ msgstr "color para el nombre de usuario"
#, fuzzy
#~ msgid "background color for nicklist"
#~ msgstr "color de fondo para los nombres de usuario"
#, fuzzy
#~ msgid "debug: \"%s\" => %d"
#~ msgstr "Alias \"%s\" eliminado\n"
#, fuzzy
#~ msgid "%s: debug enabled"
#~ msgstr "La tuberí­a FIFO está abierta\n"
#, fuzzy
#~ msgid "dump | buffer | windows | text"
#~ msgstr "volcar | ventanas"
#~ msgid "automatically log server messages"
#~ msgstr "registrar automáticamente los mensajes de servidor"
#~ msgid "automatically log channel chats"
#~ msgstr "registrar automáticamente las conversaciones de canal"
#~ msgid "automatically log private chats"
#~ msgstr "registrar automáticamente las conversaciones privadas"
#, fuzzy
#~ msgid "New level for buffer \"%s\" is %d"
#~ msgstr "fecha y hora para las búfers"
#, fuzzy
#~ msgid "Notify level: %s => %s"
#~ msgstr "Niveles de notificación:"
#, fuzzy
#~ msgid "Notify level: %s: removed"
#~ msgstr "Niveles de notificación:"
#, fuzzy
#~ msgid "Error: unable to create \"%s\" directory\n"
#~ msgstr "%s no es posible crear el directorio \"%s\"\n"
#, fuzzy
#~ msgid "%sError: filter not \"%s\" found"
#~ msgstr "%s plugin \"%s\" no encontrado\n"
#, fuzzy
#~ msgid "Filter added"
#~ msgstr "los usuarios han sido desactivados"
#, fuzzy
#~ msgid "%sError: wrong filter number"
#~ msgstr "%s número de búfer incorrecto\n"
#, fuzzy
#~ msgid "Message filtering is enabled"
#~ msgstr "Ningún alias definido.\n"
#, fuzzy
#~ msgid "Message filtering is disabled"
#~ msgstr "Ningún alias definido.\n"
#, fuzzy
#~ msgid "Filters are disabled"
#~ msgstr "los usuarios han sido desactivados"
#~ msgid ""
#~ "format for input prompt ('%c' is replaced by channel or server, '%n' by "
#~ "nick and '%m' by nick modes)"
#~ msgstr ""
#~ "formato para el prompt de entrada ('%c' es reemplazado por un canal o "
#~ "servidor, '%n' por un nick y '%m' por modos de nick)"
#, fuzzy
#~ msgid "%s: creating new speller for lang \"%s\""
#~ msgstr ""
#~ "No hay suficiente memoria para el mensaje de la barra de información\n"
#, fuzzy
#~ msgid "Charset: %s, %s => %s"
#~ msgstr "Alias \"%s\" => \"%s\" creado\n"
#~ msgid "-MORE-"
#~ msgstr "-MÁS-"

View File

@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.2-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-02-15 11:45+0100\n"
"PO-Revision-Date: 2010-02-15 10:01+0100\n"
"POT-Creation-Date: 2010-02-18 19:55+0100\n"
"PO-Revision-Date: 2010-02-18 19:56+0100\n"
"Last-Translator: FlashCode <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"
@ -4169,6 +4169,11 @@ msgstr "nom d'utilisateur pour l'authentification SASL"
msgid "password for SASL authentication"
msgstr "mot de passe pour l'authentification SASL"
msgid "timeout (in seconds) before giving up SASL authentication"
msgstr ""
"délai d'attende maximum (en secondes) avant d'abandonner l'authentification "
"SASL"
msgid "automatically connect to server when WeeChat is starting"
msgstr "connexion automatique au serveur quand WeeChat démarre"
@ -4567,6 +4572,13 @@ msgstr "%s%s: vous n'êtes pas connecté au serveur"
msgid "%s%s: this buffer is not a channel!"
msgstr "%s%s: ce tampon n'est pas un canal !"
#, c-format
msgid ""
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
msgstr ""
"%s%s: erreur de construction de la réponse pour l'authentification SASL, en "
"utilisant le mécanisme \"%s\""
#, c-format
msgid "%s%s: client capability, server supports: %s"
msgstr "%s%s: client capability, le serveur supporte: %s"
@ -4583,6 +4595,18 @@ msgstr "%s%s: client capability: sasl non supporté"
msgid "%s%s: client capability, enabled: %s"
msgstr "%s%s: client capability, activé: %s"
#, c-format
msgid ""
"%s%s: cannot authenticate with SASL and mechanism DH-BLOWFISH because "
"WeeChat was not built with libgcrypt support"
msgstr ""
"%s%s: impossible de s'authentifier avec SASL et le mécanisme DH-BLOWFISH car "
"WeeChat n'a pas été construit avec le support libgcrypt"
#, c-format
msgid "%s%s: client capability, refused: %s"
msgstr "%s%s: client capability, refusé: %s"
#, c-format
msgid "%sYou have been invited to %s%s%s by %s%s%s"
msgstr "%sVous avez été invité sur %s%s%s par %s%s%s"
@ -6341,6 +6365,3 @@ msgstr "Paramètres"
msgid "Pointer"
msgstr "Pointeur"
#~ msgid "host"
#~ msgstr "nom d'hôte"

863
po/hu.po
View File

@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.2-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-02-15 11:45+0100\n"
"PO-Revision-Date: 2010-01-23 11:57+0100\n"
"POT-Creation-Date: 2010-02-18 19:55+0100\n"
"PO-Revision-Date: 2010-02-18 19:54+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"
@ -3972,6 +3972,10 @@ msgstr "SSL használata a a kapcsolathoz"
msgid "password for SASL authentication"
msgstr "SSL használata a a kapcsolathoz"
#, fuzzy
msgid "timeout (in seconds) before giving up SASL authentication"
msgstr "SSL használata a a kapcsolathoz"
msgid "automatically connect to server when WeeChat is starting"
msgstr "automatikus csatlakozás a szerverhez a WeeChat indulásakor"
@ -4374,6 +4378,11 @@ msgstr "%s nincs csatlakozva szerverhez!\n"
msgid "%s%s: this buffer is not a channel!"
msgstr "Ez az ablak nem egy szoba!\n"
#, c-format
msgid ""
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
msgstr ""
#, c-format
msgid "%s%s: client capability, server supports: %s"
msgstr ""
@ -4390,6 +4399,18 @@ msgstr ""
msgid "%s%s: client capability, enabled: %s"
msgstr ""
#, fuzzy, c-format
msgid ""
"%s%s: cannot authenticate with SASL and mechanism DH-BLOWFISH because "
"WeeChat was not built with libgcrypt support"
msgstr ""
"%s nem sikerült SSL használattal kapcsolódni, mert a WeeChat GNUtls "
"támogatás nélkül lett fordítva\n"
#, fuzzy, c-format
msgid "%s%s: client capability, refused: %s"
msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n"
#, fuzzy, c-format
msgid "%sYou have been invited to %s%s%s by %s%s%s"
msgstr "Meghívást kapott a %s%s%s szobába %s%s felhasználótól\n"
@ -6096,841 +6117,3 @@ msgstr "fogadó típusa [paraméterek]"
#, fuzzy
msgid "Pointer"
msgstr "perc"
#~ msgid "[-o]"
#~ msgstr "[-o]"
#, fuzzy
#~ msgid "-o: send uptime to current buffer as input"
#~ msgstr "-o: a futásidő mint IRC üzenet elküldése az aktuális szobába"
#, fuzzy
#~ msgid "time format for buffers"
#~ msgstr "a pufferek időbélyege"
#, fuzzy
#~ msgid "%s%s: cannot find nick for sending message"
#~ msgstr "%s nem található név az üzenet küldéséhez\n"
#~ msgid "text: text to send"
#~ msgstr "szöveg: küldendő szöveg"
#, fuzzy
#~ msgid "%s%s: error creating msgbuffer \"%s\" => \"%s\""
#~ msgstr "%s nincs elég memória az információs pult üzenethez\n"
#, fuzzy
#~ msgid "%s%s: error: \"%s\""
#~ msgstr "%sSzerver: %s%s\n"
#, fuzzy
#~ msgid "%s%s: missing argument for \"%s\" option"
#~ msgstr "%s hiányzó argumentum a(z) \"%s\" opciónak\n"
#, fuzzy
#~ msgid "%s%s unable to run function \"%s\""
#~ msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n"
#, fuzzy
#~ msgid "%sUnknown CTCP %s%s%s received from %s%s%s: %s"
#~ msgstr "Ismeretlen CTCP %s%s%s érkezett innen: %s%s"
#, fuzzy
#~ msgid "%sUnknown CTCP %s%s%s received from %s%s%s"
#~ msgstr "Ismeretlen CTCP %s%s%s érkezett innen: %s%s"
#, fuzzy
#~ msgid "list of %s scripts"
#~ msgstr "Aliaszok listája:\n"
#, fuzzy
#~ msgid "%s%s: bind error on port %d"
#~ msgstr "%s nem sikerült a csatornát létrehozni\n"
#, fuzzy
#~ msgid ""
#~ "port number (or range of ports) that relay plugin listens on (syntax: a "
#~ "single port, ie. 5000 or a port range, ie. 5000-5015, it's recommended to "
#~ "use ports greater than 1024, because only root can use ports below 1024)"
#~ msgstr ""
#~ "korlátozza a dcc-t, hogy csak egy bizonyos tartományban lévő portokat "
#~ "használja (NAT esetén hasznos) (szintaxis: egyetlen port, pl. 5000 vagy "
#~ "egy port intervallum, pl. 5000-5015, üresen hagyva tetszőleges port)"
#, fuzzy
#~ msgid "%s%s: cannot find available port for listening"
#~ msgstr "%s nem sikerült elérhető portot találni a DCC-hez\n"
#~ msgid ""
#~ " channel: channel where user is\n"
#~ "nickname: nickname to kick and ban\n"
#~ " comment: comment for kick"
#~ msgstr ""
#~ " szoba: a szoba, ahol a felhasználó tartózkodik\n"
#~ " név: a kirúgandó és kitiltandó neve\n"
#~ "megjegyzés: megjegyzés a kirúgáshoz"
#, fuzzy
#~ msgid "list of alias"
#~ msgstr "Aliaszok listája:\n"
#~ msgid "alias_name"
#~ msgstr "alias_név"
#, fuzzy
#~ msgid "Alias:"
#~ msgstr "Aliasz:\n"
#, fuzzy
#~ msgid "No alias found"
#~ msgstr "Nem találtam aliaszt.\n"
#, fuzzy
#~ msgid "%s%s: error sending data to IRC server (%s)"
#~ msgstr "%s adatküldési hiba az IRC szerveren\n"
#, fuzzy
#~ msgid "%s%s: cannot read data from socket, disconnecting from server..."
#~ msgstr ""
#~ "%s nem sikerült adatot olvasni a csatornából, kilépés a szerverről...\n"
#~ msgid "nicks"
#~ msgstr "név"
#~ msgid "ops"
#~ msgstr "operátor"
#~ msgid "halfops"
#~ msgstr "féloperátor"
#~ msgid "voices"
#~ msgstr "voice"
#, fuzzy
#~ msgid "%sCTCP %sVERSION%s reply from %s%s%s: %s"
#~ msgstr "CTCP %sVERSION%s válasz %s%s%s felhasználótól: %s\n"
#, fuzzy
#~ msgid "%sCTCP %sVERSION%s received from %s%s%s: %s"
#~ msgstr "CTCP %sVERSION%s válasz innen: %s%s"
#, fuzzy
#~ msgid "%sCTCP %sVERSION%s received from %s%s"
#~ msgstr "CTCP %sVERSION%s válasz innen: %s%s"
#, fuzzy
#~ msgid "%sReceived a CTCP %sSOUND%s \"%s\" from %s%s"
#~ msgstr "CTCP %sSOUND%s (\"%s\") érkezett innen: %s%s\n"
#, fuzzy
#~ msgid "%sCTCP %sPING%s received from %s%s"
#~ msgstr "CTCP %sPING%s érkezett innen: %s%s\n"
#, fuzzy
#~ msgid "text color for nick name in input line"
#~ msgstr "nevek színe"
#, fuzzy
#~ msgid "text color for nicklist separator"
#~ msgstr "névelválasztó színe"
#, fuzzy
#~ msgid "servers"
#~ msgstr "szerver"
#, fuzzy
#~ msgid "%s%s: auto-reconnection is cancelled"
#~ msgstr "automata újracsatlakozás megszakítva\n"
#, fuzzy
#~ msgid "list, add or remove Jabber servers"
#~ msgstr "szerverek listázása, hozzáadása vagy eltávolítása"
#, fuzzy
#~ msgid ""
#~ "[list [servername]] | [listfull [servername]] | [add servername username "
#~ "hostname[/port] password [-auto | -noauto] [-ipv6] [-tls] [-sasl]] | "
#~ "[copy servername newservername] | [rename servername newservername] | "
#~ "[keep servername] | [del servername] | [switch]"
#~ msgstr ""
#~ "[list [szervernév]] | [listfull [szervernév]] | [add szervernév gépnév [-"
#~ "port port] [-temp] [-auto | -noauto] [-ipv6] [-ssl] [-pwd jelszó] [-nicks "
#~ "név1 név2 név3] [-username felhasználó] [-realname valódinév] [-command "
#~ "parancs] [-autojoin szoba[,szoba]] ] | [copy szervernév újszervernév] | "
#~ "[rename szervernév újszervernév] | [keep szervernév] | [del szervernév]"
#, fuzzy
#~ msgid ""
#~ " list: list servers (no parameter implies this list)\n"
#~ " listfull: list servers with detailed info for each server\n"
#~ " add: create a new server\n"
#~ "servername: server name, for internal and display use\n"
#~ " username: username to use on server\n"
#~ " hostname: name or IP address of server, with optional port (default: "
#~ "5222)\n"
#~ " password: password for username on server\n"
#~ " auto: automatically connect to server when WeeChat starts\n"
#~ " noauto: do not connect to server when WeeChat starts (default)\n"
#~ " ipv6: use IPv6 protocol\n"
#~ " tls: use TLS cryptographic protocol\n"
#~ " sasl: use SASL for authentication\n"
#~ " copy: duplicate a server\n"
#~ " rename: rename a server\n"
#~ " keep: keep server in config file (for temporary servers only)\n"
#~ " del: delete a server\n"
#~ " switch: switch active server (when one buffer is used for all "
#~ "servers, default key: alt-s on server buffer)\n"
#~ "\n"
#~ "Examples:\n"
#~ " /jabber listfull\n"
#~ " /jabber add jabberfr user jabber.fr/5222 password -tls\n"
#~ " /jabber copy jabberfr jabberfr2\n"
#~ " /jabber rename jabberfr jabbfr\n"
#~ " /jabber del jabberfr\n"
#~ " /jabber switch"
#~ msgstr ""
#~ " list: szerverek listázása (paraméter nélkül is ez a parancs "
#~ "hívódik meg)\n"
#~ " listfull: szerverek listázása részletes információkkal együtt\n"
#~ " add: új szerver hozzáadása\n"
#~ " szervernév: szerver neve, saját használatra, megjelenítéshez\n"
#~ " gépnév: a szerver neve vagy IP-címe\n"
#~ " port: a szerver portja (egész szám, alapértelmezetten 6667)\n"
#~ " temp: ideiglenes szerver létrehozása (nem kerül be a "
#~ "beállítófájlba)\n"
#~ " auto: automatikus kapcsolódás a szerverhez a WeeChat "
#~ "indulásakor\n"
#~ " noauto: ne kapcsolódjon a szerverhez a WeeChat indulásakor "
#~ "(alapértelmezett)\n"
#~ " ipv6: IPv6 protokoll használata\n"
#~ " ssl: SSL protokoll használata\n"
#~ " jelszó: jelszó a szerverhez\n"
#~ " név1: elsődleges név a szerveren\n"
#~ " név2: alternatív név a szerveren\n"
#~ " név3: második alternatív név a szerveren\n"
#~ "felhasználónév: felhasználónév a szerveren\n"
#~ " valódi név: a felhasználó valódi neve\n"
#~ " copy: szerver másolása\n"
#~ " rename: szerver átnevezése\n"
#~ " keep: szerver mentése a beállítófájlba (csak ideiglenes "
#~ "szervereknél)\n"
#~ " del: szerver törlése\n"
#~ " deloutq: a kimenő üzenettár törlése minden szerverre (minden "
#~ "üzenet amit a WeeChat küldeni készül)"
#, fuzzy
#~ msgid "buddy [text]"
#~ msgstr "szöveg"
#, fuzzy
#~ msgid ""
#~ "buddy: buddy name for chat\n"
#~ " text: text to send"
#~ msgstr ""
#~ "szolgáltatás: szolgáltatás neve\n"
#~ " szöveg: küldendő üzenet"
#, fuzzy
#~ msgid "connect to Jabber server(s)"
#~ msgstr "csatlakozás a szerver(ek)hez"
#, fuzzy
#~ msgid ""
#~ "[-all [-nojoin] | servername [servername ...] [-nojoin] | hostname [-port "
#~ "port] [-ipv6] [-tls] [-sasl]]"
#~ msgstr ""
#~ "[-all [-nojoin] | szervernév [szervernév ...] [-nojoin] | gépnév [-port "
#~ "port] [-ipv6] [-ssl]]"
#, fuzzy
#~ msgid ""
#~ " -all: connect to all servers\n"
#~ "servername: internal server name to connect\n"
#~ " -nojoin: do not join any MUC (even if autojoin is enabled on server)\n"
#~ " hostname: hostname to connect\n"
#~ " port: port for server (integer, default is 6667)\n"
#~ " ipv6: use IPv6 protocol\n"
#~ " tls: use TLS cryptographic protocol\n"
#~ " saal: use SASL for authentication"
#~ msgstr ""
#~ " -all: kapcsolódás minden szerverhez\n"
#~ "szervernév: a belső szervernév amihez kapcsolódik\n"
#~ " -nojoin: ne lépjen be egyik szobába se (még ha az automata belépés be "
#~ "is van kapcsolva a szerveren) gépnév: gépnév amihez csatlakozik, "
#~ "ideiglenes szerver létrehozása\n"
#~ " port: a szerver portja (egész szám, alapértelmezetten 6667)\n"
#~ " ipv6: IPv6 protokoll használata\n"
#~ " ssl: SSL protokoll használata"
#, fuzzy
#~ msgid "disconnect from Jabber server(s)"
#~ msgstr "kilépés a szerver(ek)ről"
#, fuzzy
#~ msgid "hostname/port or IP/port for server"
#~ msgstr "felhasználónév az IRC szerveren"
#, fuzzy
#~ msgid "use TLS cryptographic protocol for server communication"
#~ msgstr "IPv6 protokoll használata a kapcsolathoz"
#, fuzzy
#~ msgid "password"
#~ msgstr "felhasználó jelszó"
#, fuzzy
#~ msgid "local alias"
#~ msgstr "Aliaszok listája:\n"
#, fuzzy
#~ msgid ""
#~ "command(s) to run when connected to server (many commands should be "
#~ "separated by ';', use '\\;' for a semicolon, special variables $nick, "
#~ "$muc and $server are replaced by their value)"
#~ msgstr ""
#~ "szerverre csatlakozáskor futtatandó parancs(ok) (több parancs esetén "
#~ "azokat ';'-vel kell elválasztani, használja a '\\;' sorozatot, ha "
#~ "pontosvesszőtszeretne írni, a $nick, $channel és $server szavak helyére "
#~ "azok értéke kerül)"
#, fuzzy
#~ msgid ""
#~ "comma separated list of MUCs to join when connected to server (example: "
#~ "\"#chan1,#chan2,#chan3 key1,key2\")"
#~ msgstr ""
#~ "szobák vesszővel elválasztott listája ahová be akarunk lépni csatlakozás "
#~ "után (például: \"#szoba1,#szoba2,#szoba3 kulcs1,kulcs2\")"
#, fuzzy
#~ msgid "automatically rejoin MUCs when kicked"
#~ msgstr "automatikus visszalépés a szobába kirúgáskor"
#~ msgid "use same buffer for all servers"
#~ msgstr "ugyanazon puffer használata minden szerverhez"
#~ msgid "smart completion for nicks (completes with last speakers first)"
#~ msgstr "okos névkiegészítés (először az utolsó partnerre egészít ki)"
#, fuzzy
#~ msgid ""
#~ "default part message (leaving MUC) ('%v' will be replaced by WeeChat "
#~ "version in string)"
#~ msgstr ""
#~ "alapértelmezett távozó üzenet (szoba elhagyásakor) (a '%v' változó a "
#~ "WeeChat verziójára cserélődik)"
#, fuzzy
#~ msgid ""
#~ "default quit message (disconnecting from server) ('%v' will be replaced "
#~ "by WeeChat version in string)"
#~ msgstr ""
#~ "alapértelmezett kilépő üzenet (a '%v' változó a WeeChat verziójára "
#~ "cserélődik)"
#~ msgid ""
#~ "allow user to send colors with special codes (^Cb=bold, ^Ccxx=color, "
#~ "^Ccxx,yy=color+background, ^Cu=underline, ^Cr=reverse)"
#~ msgstr ""
#~ "színküldés engedélyezése speciális karakterekkel (^Cb=félkövér, "
#~ "^Ccxx=szín, ^Cxx,yy=szín+háttérszín ^Cu=aláhúzás, ^Cr=fordított)"
#, fuzzy
#~ msgid "Jabber debug messages"
#~ msgstr "hibakereső üzenetek megjelenítése"
#, fuzzy
#~ msgid "list of Jabber servers"
#~ msgstr "IRC szerver portja"
#, fuzzy
#~ msgid "list of MUCs for a Jabber server"
#~ msgstr "szobák listája ahová be akarunk lépni csatlakozás után"
#, fuzzy
#~ msgid "list of buddies for a Jabber server or MUC"
#~ msgstr "szobák listája ahová be akarunk lépni csatlakozás után"
#, fuzzy
#~ msgid "%s: this buffer is not a MUC!"
#~ msgstr "Ez az ablak nem egy szoba!\n"
#, fuzzy
#~ msgid "%s%s: cannot allocate new MUC"
#~ msgstr "%s nem sikerült új csatornát lefoglalni"
#, fuzzy
#~ msgid "%s%s: reconnecting to server in %d %s"
#~ msgstr "%s: Újracsatlakozás a szerverhez %d másodperc múlva\n"
#, fuzzy
#~ msgid "%s%s: connected to %s (%s)"
#~ msgstr "%s nincs csatlakozva a \"%s\" szerverhez!\n"
#, fuzzy
#~ msgid "%s%s: GnuTLS init error"
#~ msgstr "%s gnutls inicializációs hiba\n"
#, fuzzy
#~ msgid "%s%s: GnuTLS handshake failed"
#~ msgstr "%s gnutls kézfogás sikertelen\n"
#, fuzzy
#~ msgid "%s%s: connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
#~ msgstr ""
#~ "%s: csatlakozás a(z) %s:%d%s%s szerverhez %s proxy kiszolgálón keresztül: "
#~ "%s:%d%s...\n"
#, fuzzy
#~ msgid "Connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
#~ msgstr ""
#~ "Csatlakozás a(z) %s:%d%s%s szerverhez %s proxy kiszolgálón keresztül: %s:%"
#~ "d%s...\n"
#, fuzzy
#~ msgid "%s%s: connecting to server %s/%d%s%s%s..."
#~ msgstr "%s: csatlakozás a(z) %s:%d%s%s szerverhez...\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: username or server not defined for server \"%s\", cannot connect"
#~ msgstr "%s név \"%s\" nem található a \"%s\" parancshoz\n"
#, fuzzy
#~ msgid "%s%s: hostname/IP not defined for server \"%s\", cannot connect"
#~ msgstr "%s név \"%s\" nem található a \"%s\" parancshoz\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with TLS because iksemel library was not built with "
#~ "GnuTLS support"
#~ msgstr ""
#~ "%s nem sikerült SSL használattal kapcsolódni, mert a WeeChat GNUtls "
#~ "támogatás nélkül lett fordítva\n"
#, fuzzy
#~ msgid "%s%s: failed to create stream parser"
#~ msgstr "%s nem sikerült a szervert létrehozni\n"
#, fuzzy
#~ msgid "%s%s: failed to create id"
#~ msgstr "%s DCC: nem sikerült a csövet létrehozni\n"
#, fuzzy
#~ msgid "%s%s: reconnecting to server..."
#~ msgstr "%s: Újracsatlakozás a szerverhez...\n"
#, fuzzy
#~ msgid "%s%s: I/O error (%d)"
#~ msgstr "%sSzerver: %s%s\n"
#, fuzzy
#~ msgid "%s%s: SASL authentication failed (check SASL option and password)"
#~ msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n"
#, fuzzy
#~ msgid "%s%s: server disconnected"
#~ msgstr "A %s%s%s szerver létrehozva\n"
#, fuzzy
#~ msgid "%s%s: stream error"
#~ msgstr "%sSzerver: %s%s\n"
#, fuzzy
#~ msgid "%s%s: login ok"
#~ msgstr "%s DCC: nem sikerült forkolni\n"
#, fuzzy
#~ msgid "%s%s: authentication failed (check SASL option and password)"
#~ msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n"
#, fuzzy
#~ msgid ""
#~ "%sError: plugin \"%s\" is compiled for WeeChat %s and you are running "
#~ "version %s, failed to load"
#~ msgstr ""
#~ "%s a \"weechat_plugin_init\" függvény nem található a \"%s\" modulban, "
#~ "betöltés sikertelen\n"
#, fuzzy
#~ msgid ""
#~ "port number (or range of ports) that relay plugin listens on (syntax: a "
#~ "single port, ie. 5000 or a port range, ie. 5000-5015)"
#~ msgstr ""
#~ "korlátozza a dcc-t, hogy csak egy bizonyos tartományban lévő portokat "
#~ "használja (NAT esetén hasznos) (szintaxis: egyetlen port, pl. 5000 vagy "
#~ "egy port intervallum, pl. 5000-5015, üresen hagyva tetszőleges port)"
#, fuzzy
#~ msgid ""
#~ "allow user to send colors with special codes (\"^Cb\"=bold, \"^Ccxx"
#~ "\"=color, \"^Ccxx,yy\"=color+background, \"^Cu\"=underline, \"^Cr"
#~ "\"=reverse)"
#~ msgstr ""
#~ "színküldés engedélyezése speciális karakterekkel (^Cb=félkövér, "
#~ "^Ccxx=szín, ^Cxx,yy=szín+háttérszín ^Cu=aláhúzás, ^Cr=fordított)"
#, fuzzy
#~ msgid "filtered"
#~ msgstr "a felhasználók le lettek tiltva"
#, fuzzy
#~ msgid "%s%s: unable to set notify level \"%s\" => \"%s\""
#~ msgstr "%s nincs elég memória az információs pult üzenethez\n"
#, fuzzy
#~ msgid "%s%s: missing parameters"
#~ msgstr "%s hiányzó argumentum a(z) \"%s\" opciónak\n"
#, fuzzy
#~ msgid "%s%s: unknown notify level \"%s\""
#~ msgstr "%s ismeretlen billentyűparancs \"%s\"\n"
#, fuzzy
#~ msgid "change notify level for current buffer"
#~ msgstr "szobanév nem található a pufferhez"
#~ msgid "Notify levels:"
#~ msgstr "Értesítési szintek:"
#, fuzzy
#~ msgid ""
#~ "smart completion for nicks (completes first with last speakers, "
#~ "highlights or both)"
#~ msgstr "okos névkiegészítés (először az utolsó partnerre egészít ki)"
#~ msgid "[action [args] | number | [[server] [channel]]]"
#~ msgstr "[utasítás[argumentumok] | szám | [[szerver] [szoba]]]"
#, fuzzy
#~ msgid "%s%s: command \"%s\" must be executed on irc buffer"
#~ msgstr "%s \"%s\" parancs nem futtatható a szerverablakban\n"
#, fuzzy
#~ msgid " (used by a plugin)"
#~ msgstr " (nem található bővítőmodul)\n"
#, fuzzy
#~ msgid "%s%s: unknown/missing channel name for \"%s\" command"
#~ msgstr "%s hiányzó argumentum a \"%s\" parancsnak\n"
#~ msgid "nickname [text]"
#~ msgstr "becenév [szöveg]"
#~ msgid "data"
#~ msgstr "adat"
#~ msgid "data: raw data to send"
#~ msgstr "adat: küldendő nyers üzenet"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with TLS because WeeChat was not built with GnuTLS "
#~ "support"
#~ msgstr ""
#~ "%s nem sikerült SSL használattal kapcsolódni, mert a WeeChat GNUtls "
#~ "támogatás nélkül lett fordítva\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with SSL since WeeChat was not built with GnuTLS "
#~ "support"
#~ msgstr ""
#~ "%s nem sikerült SSL használattal kapcsolódni, mert a WeeChat GNUtls "
#~ "támogatás nélkül lett fordítva\n"
#, fuzzy
#~ msgid "list of Jabber ignore"
#~ msgstr "IRC szerver portja"
#, fuzzy
#~ msgid "1 if string is a Jabber channel"
#~ msgstr "felhasználók listája a szobában"
#, fuzzy
#~ msgid "get nick from Jabber host"
#~ msgstr "név vagy gép letiltása"
#, fuzzy
#~ msgid "list of nicks for a Jabber channel"
#~ msgstr "felhasználók listája a szobában"
#, fuzzy
#~ msgid ""
#~ "[list [servername]] | [listfull [servername]] | [add username server[/"
#~ "port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] "
#~ "| [rename servername newservername] | [keep servername] | [del "
#~ "servername] | [deloutq] | [switch]"
#~ msgstr ""
#~ "[list [szervernév]] | [listfull [szervernév]] | [add szervernév gépnév [-"
#~ "port port] [-temp] [-auto | -noauto] [-ipv6] [-ssl] [-pwd jelszó] [-nicks "
#~ "név1 név2 név3] [-username felhasználó] [-realname valódinév] [-command "
#~ "parancs] [-autojoin szoba[,szoba]] ] | [copy szervernév újszervernév] | "
#~ "[rename szervernév újszervernév] | [keep szervernév] | [del szervernév]"
#, fuzzy
#~ msgid "nicknames to use on Jabber server (separated by comma)"
#~ msgstr "felhasználónév az IRC szerveren"
#, fuzzy
#~ msgid "user name to use on Jabber server"
#~ msgstr "használni kívánt felhasználónév az IRC szerveren"
#, fuzzy
#~ msgid "real name to use on Jabber server"
#~ msgstr "az IRC szerveren használt valódi név"
#, fuzzy
#~ msgid "send unknown commands to Jabber server"
#~ msgstr "ismeretlen parancsok küldése az IRC szervernek"
#, fuzzy
#~ msgid "password for Jabber server"
#~ msgstr "jelszó a proxy szerverhez"
#~ msgid " . type: boolean\n"
#~ msgstr " . típus: logikai\n"
#, fuzzy
#~ msgid " . values: \"on\" or \"off\"\n"
#~ msgstr " . értékek: 'on' vagy 'off'\n"
#, fuzzy
#~ msgid " . default value: \"%s\"\n"
#~ msgstr " . alapérték: '%s'\n"
#~ msgid " . type: string\n"
#~ msgstr " . típus: szöveg\n"
#~ msgid " . values: "
#~ msgstr " . értékek: "
#~ msgid " . type: integer\n"
#~ msgstr " . típus: szám\n"
#~ msgid " . values: between %d and %d\n"
#~ msgstr " . értékek: %d és %d között\n"
#~ msgid " . default value: %d\n"
#~ msgstr " . alapérték: %d\n"
#~ msgid " . values: any string\n"
#~ msgstr " . érték: bármilyen szöveg\n"
#~ msgid " . type: char\n"
#~ msgstr " . típus: karakter\n"
#~ msgid " . values: any char\n"
#~ msgstr " . érték: bármilyen karakter\n"
#~ msgid " . values: any string (limit: %d chars)\n"
#~ msgstr " . érték: bármilyen szöveg (korlát: %d karakter)\n"
#~ msgid " . type: color\n"
#~ msgstr " . típus: szín\n"
#, fuzzy
#~ msgid " . values: color (depends on GUI used)\n"
#~ msgstr " . értékek: %d és %d között\n"
#~ msgid " . description: %s\n"
#~ msgstr " . leírás : %s\n"
#, fuzzy
#~ msgid "%sWarning: %s, line %d: invalid syntax, missing \"=\""
#~ msgstr "%s %s, %d. sor: érvénytelen szintaxis, hiányzó \"=\"\n"
#, fuzzy
#~ msgid "value not defined"
#~ msgstr "Nincs aliasz definiálva.\n"
#, fuzzy
#~ msgid "hidden"
#~ msgstr "(rejtett)"
#, fuzzy
#~ msgid ""
#~ "%s%s: error creating option \"%s\" for server \"%s\" (server not found)"
#~ msgstr "%s a \"%s\" opció nem található\n"
#, fuzzy
#~ msgid "display nicklist (on buffers with nicklist enabled)"
#~ msgstr "névlista ablak mutatása (szobaablakban)"
#, fuzzy
#~ msgid ""
#~ "max size for nicklist (width or height, depending on nicklist_position (0 "
#~ "= no max size; if min = max and > 0, then size is fixed))"
#~ msgstr ""
#~ "névlista maximális mérete (szélesség vagy magasság a "
#~ "look_nicklist_position opciónak megfelelően (0 = nincs maximális érték; "
#~ "ha min = max és > 0, akkor a méret fix))"
#, fuzzy
#~ msgid ""
#~ "min size for nicklist (width or height, depending on nicklist_position (0 "
#~ "= no min size))"
#~ msgstr ""
#~ "névlista minimális mérete (szélesség vagy magasság a "
#~ "look_nicklist_position opciónak megfelelően (0 = nincs minimális érték))"
#~ msgid "nicklist position (top, left, right (default), bottom)"
#~ msgstr "névlista helye (top, left, right (alapértelmezett), bottom)"
#~ msgid "separator between chat and nicklist"
#~ msgstr "a névlista és a beszélgetőablak közti elválasztó"
#, fuzzy
#~ msgid "%sBinary file not found: \"%s\""
#~ msgstr "%s a \"%s\" modul nem található\n"
#, fuzzy
#~ msgid "Upgrading WeeChat..."
#~ msgstr "WeeChat frissítése...\n"
#, fuzzy
#~ msgid "timeout for relay request (in seconds)"
#~ msgstr "dcc kérések időkorlátja (másodpercben)"
#, fuzzy
#~ msgid "Open buffer with relay clients list"
#~ msgstr "Nyitott pufferek:\n"
#, fuzzy
#~ msgid "Open buffer with xfer list"
#~ msgstr "Nyitott pufferek:\n"
#, fuzzy
#~ msgid "%s%s: disconnecting client @ %s"
#~ msgstr "%s: Újracsatlakozás a szerverhez %d másodperc múlva\n"
#, fuzzy
#~ msgid " [Q] Close client list"
#~ msgstr " [Q] DCC nézet bezárása"
#, fuzzy
#~ msgid "use a proxy server"
#~ msgstr "felhasználónév a proxy szerverhez"
#, fuzzy
#~ msgid "text color for title bar"
#~ msgstr "címsor színe"
#, fuzzy
#~ msgid "background color for title bar"
#~ msgstr "címsor háttere"
#, fuzzy
#~ msgid "background color for status bar"
#~ msgstr "státuszsor színe"
#, fuzzy
#~ msgid "text color for status bar delimiters"
#~ msgstr "státuszsor határolójel színe"
#, fuzzy
#~ msgid "text color for input line"
#~ msgstr "szövegbeviteli mező színe"
#, fuzzy
#~ msgid "background color for input line"
#~ msgstr "szövegbeviteli mező színe"
#, fuzzy
#~ msgid "text color for server name in input line"
#~ msgstr "szerver nevének színe"
#, fuzzy
#~ msgid "text color for delimiters in input line"
#~ msgstr "információs pult határolóinak színe"
#, fuzzy
#~ msgid "text color for nicklist"
#~ msgstr "név színe"
#, fuzzy
#~ msgid "background color for nicklist"
#~ msgstr "nevek háttere"
#, fuzzy
#~ msgid "debug: \"%s\" => %d"
#~ msgstr "A \"%s\" aliasz eltávolítva\n"
#, fuzzy
#~ msgid "%s: debug enabled"
#~ msgstr "FIFO cső nyitva\n"
#~ msgid "automatically log server messages"
#~ msgstr "szerverüzenetek automatikus naplózása"
#~ msgid "automatically log channel chats"
#~ msgstr "szobabeszélgetések automatikus naplózása"
#~ msgid "automatically log private chats"
#~ msgstr "személyes beszélgetése automatikus naplózása"
#, fuzzy
#~ msgid "New level for buffer \"%s\" is %d"
#~ msgstr "a pufferek időbélyege"
#, fuzzy
#~ msgid "Notify level: %s => %s"
#~ msgstr "Értesítési szintek:"
#, fuzzy
#~ msgid "Notify level: %s: removed"
#~ msgstr "Értesítési szintek:"
#, fuzzy
#~ msgid "Error: unable to create \"%s\" directory\n"
#~ msgstr "%s nem sikerült a \"%s\" könyvtárat létrehozni\n"
#, fuzzy
#~ msgid "%sError: filter not \"%s\" found"
#~ msgstr "%s a \"%s\" modul nem található\n"
#, fuzzy
#~ msgid "Filter added"
#~ msgstr "a felhasználók le lettek tiltva"
#, fuzzy
#~ msgid "%sError: wrong filter number"
#~ msgstr "%s helytelen pufferszám\n"
#, fuzzy
#~ msgid "Message filtering is enabled"
#~ msgstr "Nincs aliasz definiálva.\n"
#, fuzzy
#~ msgid "Message filtering is disabled"
#~ msgstr "Nincs aliasz definiálva.\n"
#, fuzzy
#~ msgid "Filters are disabled"
#~ msgstr "a felhasználók le lettek tiltva"
#~ msgid ""
#~ "format for input prompt ('%c' is replaced by channel or server, '%n' by "
#~ "nick and '%m' by nick modes)"
#~ msgstr ""
#~ "beviteli mező kinézete ('%c' helyére a szoba vagy a szerver, '%n' helyére "
#~ "a név és '%m' helyére a mód kerül)"
#~ msgid "Text search (exact): "
#~ msgstr "Szöveg keresése (pontos): "
#~ msgid "Text search: "
#~ msgstr "Szöveg keresése: "
#, fuzzy
#~ msgid "%s: creating new speller for lang \"%s\""
#~ msgstr "%s nincs elég memória az információs pult üzenethez\n"
#, fuzzy
#~ msgid "Charset: %s, %s => %s"
#~ msgstr "A \"%s\" => \"%s\" aliasz elkészült\n"
#~ msgid " Paste %d lines ? [ctrl-Y] Yes [ctrl-N] No"
#~ msgstr " Beszúrható %d sor? [ctrl-Y] Igen [ctrl-N] Nem"
#~ msgid "-MORE-"
#~ msgstr "-TOVÁBB-"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Weechat 0.3.2-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-02-15 11:45+0100\n"
"PO-Revision-Date: 2010-01-23 11:57+0100\n"
"POT-Creation-Date: 2010-02-18 19:55+0100\n"
"PO-Revision-Date: 2010-02-18 19:54+0100\n"
"Last-Translator: Marco Paolone <marcopaolone@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"
@ -4121,6 +4121,9 @@ msgstr ""
msgid "password for SASL authentication"
msgstr ""
msgid "timeout (in seconds) before giving up SASL authentication"
msgstr ""
msgid "automatically connect to server when WeeChat is starting"
msgstr "connette automaticamente ai server all'avvio di WeeChat"
@ -4522,6 +4525,11 @@ msgstr "%s%s: non connesso al server"
msgid "%s%s: this buffer is not a channel!"
msgstr "%s%s: questo buffer non è un canale!"
#, c-format
msgid ""
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
msgstr ""
#, c-format
msgid "%s%s: client capability, server supports: %s"
msgstr ""
@ -4538,6 +4546,18 @@ msgstr ""
msgid "%s%s: client capability, enabled: %s"
msgstr ""
#, fuzzy, c-format
msgid ""
"%s%s: cannot authenticate with SASL and mechanism DH-BLOWFISH because "
"WeeChat was not built with libgcrypt support"
msgstr ""
"%s%s: impossibile connettersi via SSL poiché WeeChat non è stato compilato "
"con il supporto a GnuTLS"
#, fuzzy, c-format
msgid "%s%s: client capability, refused: %s"
msgstr "%s%s: set di caratter invalido: \"%s\""
#, c-format
msgid "%sYou have been invited to %s%s%s by %s%s%s"
msgstr "%sSei stato invitato su %s%s%s da %s%s%s"
@ -6270,15 +6290,3 @@ msgstr "[argomenti]"
#, fuzzy
msgid "Pointer"
msgstr "intero"
#~ msgid "[-o]"
#~ msgstr "[-o]"
#~ msgid "-o: send uptime to current buffer as input"
#~ msgstr "-o: invia l'uptime al buffer corrente come input"
#~ msgid "-o: send version to current buffer as input"
#~ msgstr "-o: invia versione al buffer corrente come input"
#~ msgid "time format for buffers"
#~ msgstr "formato dell'ora per i buffer"

169
po/pl.po
View File

@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.0-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-02-15 11:45+0100\n"
"PO-Revision-Date: 2010-02-09 15:52+0100\n"
"POT-Creation-Date: 2010-02-18 19:55+0100\n"
"PO-Revision-Date: 2010-02-18 19:54+0100\n"
"Last-Translator: Krzysztof Koroscik <soltys@szluug.org>\n"
"Language-Team: Polish\n"
"MIME-Version: 1.0\n"
@ -4120,6 +4120,9 @@ msgstr ""
msgid "password for SASL authentication"
msgstr ""
msgid "timeout (in seconds) before giving up SASL authentication"
msgstr ""
msgid "automatically connect to server when WeeChat is starting"
msgstr "automatycznie połącz się z serwerem przy uruchamianiu WeeChat"
@ -4518,6 +4521,11 @@ msgstr "%s%s: nie jesteś połączony z serwerem"
msgid "%s%s: this buffer is not a channel!"
msgstr "%s%s: to nie jest bufor kanału"
#, c-format
msgid ""
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
msgstr ""
#, c-format
msgid "%s%s: client capability, server supports: %s"
msgstr ""
@ -4534,6 +4542,18 @@ msgstr ""
msgid "%s%s: client capability, enabled: %s"
msgstr ""
#, fuzzy, c-format
msgid ""
"%s%s: cannot authenticate with SASL and mechanism DH-BLOWFISH because "
"WeeChat was not built with libgcrypt support"
msgstr ""
"%s%s: nie można połączyć używając SSL, ponieważ WeeChat został skompilowany "
"bez wsparcia dla GnuTLS"
#, fuzzy, c-format
msgid "%s%s: client capability, refused: %s"
msgstr "%s%s: nieprawidłowe kodowanie: \"%s\""
#, c-format
msgid "%sYou have been invited to %s%s%s by %s%s%s"
msgstr "%sZostałeś zaproszony na %s%s%s przez %s%s%s"
@ -6257,148 +6277,3 @@ msgstr "[argumenty]"
#, fuzzy
msgid "Pointer"
msgstr "liczba"
#~ msgid "[-o]"
#~ msgstr "[-o]"
#~ msgid "-o: send uptime to current buffer as input"
#~ msgstr "-o: wysyła czas pracy jako wejście do obecnego bufora"
#~ msgid "-o: send version to current buffer as input"
#~ msgstr "-o: wysyła wersję jako wejście do obecnego bufora"
#~ msgid "time format for buffers"
#~ msgstr "format czasu dla buforów"
#~ msgid "%s%s: cannot find nick for sending message"
#~ msgstr "%s%s: nie można znaleźć nicku do wysłania wiadomości"
#~ msgid "text: text to send"
#~ msgstr "tekst: tekst do wysłania"
#~ msgid "%s%s: error: \"%s\""
#~ msgstr "%s%s: błąd: \"%s\""
#~ msgid "%s%s: missing argument for \"%s\" option"
#~ msgstr "%s%s: brakuje argumentu dla opcji \"%s\""
#~ msgid ""
#~ " -all: connect to all servers\n"
#~ "servername: internal server name to connect\n"
#~ " -nojoin: do not join any channel (even if autojoin is enabled on "
#~ "server)\n"
#~ " hostname: hostname to connect\n"
#~ " port: port for server (integer, default is 6667)\n"
#~ " ipv6: use IPv6 protocol\n"
#~ " ssl: use SSL protocol"
#~ msgstr ""
#~ " -all: łączy się ze wszystkimi serwerami\n"
#~ "nazwa_serwera: wewnętrzna nazwa serwera do połączenia\n"
#~ " -nojoin: nie wchodź na żaden kanał (nawet jeśli serwer posiada "
#~ "zdefiniowane kanały, z któreymi sam ma się połączyć)\n"
#~ " nazwa_hosta: nazwa hosta, z która ma sie połączyć\n"
#~ " port: port serwera (liczba całkowita, domyślnie 6667)\n"
#~ " ipv6: użyj protokołu IPv6\n"
#~ " ssl: użyj protokołu SSL "
#~ msgid ""
#~ " channel: channel where user is\n"
#~ "nickname: nickname to kick and ban\n"
#~ " comment: comment for kick"
#~ msgstr ""
#~ " kanał: kanał, na którym znajduje się użytkownik\n"
#~ "nick: osoba do wykopania i zbanowania\n"
#~ " komentarz: powód "
#~ msgid "%sUnknown CTCP %s%s%s received from %s%s%s: %s"
#~ msgstr "%sNieznane CTCP %s%s%s otrzymano od %s%s%s: %s"
#~ msgid "%sUnknown CTCP %s%s%s received from %s%s%s"
#~ msgstr "%sNieznane CTCP %s%s%s otrzymano od %s%s%s"
#~ msgid "%s: new client @ %s"
#~ msgstr "%s: nowy klient @ %s"
#~ msgid ""
#~ " list: list relay clients\n"
#~ "listfull: list relay clients (verbose)\n"
#~ "\n"
#~ "Without argument, this command opens buffer with list of relay clients."
#~ msgstr ""
#~ " list: lista klientów do przekazania\n"
#~ "listfull: lista klientów do przekazania (szczegułowa)\n"
#~ "\n"
#~ "Bez argumentów komenda otworzy bufor z lista zdalnych klientów."
#~ msgid "enable relay"
#~ msgstr "włącz przekazywanie"
#~ msgid ""
#~ "port number (or range of ports) that relay plugin listens on (syntax: a "
#~ "single port, ie. 5000 or a port range, ie. 5000-5015, it's recommended to "
#~ "use ports greater than 1024, because only root can use ports below 1024)"
#~ msgstr ""
#~ "numer portu (albo przedział), na którym nasłuchuje wtyczka relay "
#~ "(składnia: pojedynczy port, np. 5000 lub przedział portó, np. 5000-5015, "
#~ "zaleca się stosowanie portów powyżej 1024, ponieważ tylko root może "
#~ "używać portów poniżej 1024)"
#~ msgid "%s%s: option \"listen_port_range\" is not defined"
#~ msgstr "%s%s: nie zdefiniowana opcja \"listen_port_range\" "
#~ msgid "%s%s: cannot find available port for listening"
#~ msgstr "%s%s: nie można znaleźc dostępnego portu do nasłuchu"
#~ msgid "%s%s unable to run function \"%s\""
#~ msgstr "%s%s nie można wykonać funkcji \"%s\""
#~ msgid "list of %s scripts"
#~ msgstr "lista skryptów %s "
#~ msgid "Alias:"
#~ msgstr "Alias:"
#~ msgid "No alias found"
#~ msgstr "Nie znaleziono żadnego aliasu"
#~ msgid "alias_name"
#~ msgstr "nazwa_aliasu"
#~ msgid "%sCTCP %sVERSION%s reply from %s%s%s: %s"
#~ msgstr "%sCTCP %sVERSION%s odpowiedź od %s%s%s: %s"
#~ msgid "%sCTCP %sVERSION%s received from %s%s%s: %s"
#~ msgstr "%sCTCP %sVERSION%s otrzymano od %s%s%s: %s"
#~ msgid "%sCTCP %sVERSION%s received from %s%s"
#~ msgstr "%sCTCP %sVERSION%s otrzymano od %s%s"
#~ msgid "%sReceived a CTCP %sSOUND%s \"%s\" from %s%s"
#~ msgstr "%sOtrzymano CTCP %sSOUND%s \"%s\" od %s%s"
#~ msgid "%sCTCP %sPING%s received from %s%s"
#~ msgstr "%sCTCP %sPING%s otrzymane od %s%s"
#~ msgid "nicks"
#~ msgstr "nicki"
#~ msgid "ops"
#~ msgstr "opy"
#~ msgid "halfops"
#~ msgstr "halfopy"
#~ msgid "voices"
#~ msgstr "voice"
#~ msgid "%s%s: cannot read data from socket, disconnecting from server..."
#~ msgstr "%s%s: nie można odczytać danych z gniazda, rozłączam z serwerem..."
#~ msgid "text color for nick name in input line"
#~ msgstr "kolor nicku w wprowadzonej lini"
#~ msgid "Bar \"%s\" is now hidden"
#~ msgstr "Pasek \"%s\" został ukryty"
#~ msgid "Bar \"%s\" is now visible"
#~ msgstr "Pasek \"%s\" jest teraz widoczny"

854
po/ru.po
View File

@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.2-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-02-15 11:45+0100\n"
"PO-Revision-Date: 2010-01-23 11:57+0100\n"
"POT-Creation-Date: 2010-02-18 19:55+0100\n"
"PO-Revision-Date: 2010-02-18 19:55+0100\n"
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"
@ -3973,6 +3973,10 @@ msgstr "использовать SSL при связи с сервером"
msgid "password for SASL authentication"
msgstr "использовать SSL при связи с сервером"
#, fuzzy
msgid "timeout (in seconds) before giving up SASL authentication"
msgstr "использовать SSL при связи с сервером"
msgid "automatically connect to server when WeeChat is starting"
msgstr "подключаться к серверу автоматически при запуске WeeChat"
@ -4376,6 +4380,11 @@ msgstr "%s вы не подключены к серверу\n"
msgid "%s%s: this buffer is not a channel!"
msgstr "Это окно не является каналом!\n"
#, c-format
msgid ""
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
msgstr ""
#, c-format
msgid "%s%s: client capability, server supports: %s"
msgstr ""
@ -4392,6 +4401,18 @@ msgstr ""
msgid "%s%s: client capability, enabled: %s"
msgstr ""
#, fuzzy, c-format
msgid ""
"%s%s: cannot authenticate with SASL and mechanism DH-BLOWFISH because "
"WeeChat was not built with libgcrypt support"
msgstr ""
"%s невозможно соединиться с использованием SSL, так как WeeChat собран без "
"поддержки GNUtls\n"
#, fuzzy, c-format
msgid "%s%s: client capability, refused: %s"
msgstr "Не могу записать лог-файл \"%s\"\n"
#, fuzzy, c-format
msgid "%sYou have been invited to %s%s%s by %s%s%s"
msgstr "Вас пригласил на %s%s%s пользователь %s%s\n"
@ -6094,832 +6115,3 @@ msgstr "адресат тип [аргументы]"
#, fuzzy
msgid "Pointer"
msgstr "минута"
#~ msgid "[-o]"
#~ msgstr "[-o]"
#, fuzzy
#~ msgid "-o: send uptime to current buffer as input"
#~ msgstr "-o: отправить uptime сообщением в текущий канал"
#, fuzzy
#~ msgid "time format for buffers"
#~ msgstr "время в буферах"
#, fuzzy
#~ msgid "%s%s: cannot find nick for sending message"
#~ msgstr "%s не могу найти адресата сообщения\n"
#~ msgid "text: text to send"
#~ msgstr "текст: отправляемый текст"
#, fuzzy
#~ msgid "%s%s: error creating msgbuffer \"%s\" => \"%s\""
#~ msgstr "%s недостаточно памяти для сообщения в строке информации\n"
#, fuzzy
#~ msgid "%s%s: error: \"%s\""
#~ msgstr "%sСервер: %s%s\n"
#, fuzzy
#~ msgid "%s%s: missing argument for \"%s\" option"
#~ msgstr "%s нет аргумента для параметра \"%s\"\n"
#, fuzzy
#~ msgid "%s%s unable to run function \"%s\""
#~ msgstr "Не могу записать лог-файл \"%s\"\n"
#, fuzzy
#~ msgid "%sUnknown CTCP %s%s%s received from %s%s%s: %s"
#~ msgstr "Получен неизвестный CTCP %s%s%s от %s%s"
#, fuzzy
#~ msgid "%sUnknown CTCP %s%s%s received from %s%s%s"
#~ msgstr "Получен неизвестный CTCP %s%s%s от %s%s"
#, fuzzy
#~ msgid "list of %s scripts"
#~ msgstr "Список сокращений:\n"
#, fuzzy
#~ msgid "%s%s: bind error on port %d"
#~ msgstr "%s невозможно создать сокет\n"
#, fuzzy
#~ msgid ""
#~ "port number (or range of ports) that relay plugin listens on (syntax: a "
#~ "single port, ie. 5000 or a port range, ie. 5000-5015, it's recommended to "
#~ "use ports greater than 1024, because only root can use ports below 1024)"
#~ msgstr ""
#~ "привязывает исходящие DCС соединения к определённому интервалу портов "
#~ "(полезно для NAT) (синтаксис: определённый порт, например 5000, или "
#~ "интервал портов, например 5000-5015, пустое значение означает любой порт)"
#, fuzzy
#~ msgid "%s%s: cannot find available port for listening"
#~ msgstr "%s не могу найти свободный порт для DCC\n"
#~ msgid ""
#~ " channel: channel where user is\n"
#~ "nickname: nickname to kick and ban\n"
#~ " comment: comment for kick"
#~ msgstr ""
#~ " канал: канал, на котором присутствует пользователь\n"
#~ " ник: цель для кика и бана\n"
#~ "комментарий: причина кика"
#, fuzzy
#~ msgid "list of alias"
#~ msgstr "Список сокращений:\n"
#~ msgid "alias_name"
#~ msgstr "сокращение"
#, fuzzy
#~ msgid "Alias:"
#~ msgstr "Сокращение:\n"
#, fuzzy
#~ msgid "No alias found"
#~ msgstr "Сокращения не найдены.\n"
#, fuzzy
#~ msgid "%s%s: error sending data to IRC server (%s)"
#~ msgstr "%s ошибка при отправке данных IRC серверу\n"
#, fuzzy
#~ msgid "%s%s: cannot read data from socket, disconnecting from server..."
#~ msgstr ""
#~ "%s невозможно прочитать данные из сокета, отключаюсь от сервера...\n"
#~ msgid "nicks"
#~ msgstr "ники"
#~ msgid "ops"
#~ msgstr "опы"
#~ msgid "halfops"
#~ msgstr "полуопы"
#~ msgid "voices"
#~ msgstr "войсы"
#, fuzzy
#~ msgid "%sCTCP %sVERSION%s reply from %s%s%s: %s"
#~ msgstr "Ответ на CTCP %sVERSION%s от %s%s%s: %s\n"
#, fuzzy
#~ msgid "%sCTCP %sVERSION%s received from %s%s%s: %s"
#~ msgstr "Получен CTCP %sVERSION%s от %s%s"
#, fuzzy
#~ msgid "%sCTCP %sVERSION%s received from %s%s"
#~ msgstr "Получен CTCP %sVERSION%s от %s%s"
#, fuzzy
#~ msgid "%sReceived a CTCP %sSOUND%s \"%s\" from %s%s"
#~ msgstr "Получен CTCP %sSOUND%s \"%s\" от %s%s\n"
#, fuzzy
#~ msgid "%sCTCP %sPING%s received from %s%s"
#~ msgstr "Получен CTCP %sPING%s от %s%s\n"
#, fuzzy
#~ msgid "text color for nick name in input line"
#~ msgstr "цвет ников"
#, fuzzy
#~ msgid "text color for nicklist separator"
#~ msgstr "цвет разделителя ников"
#, fuzzy
#~ msgid "servers"
#~ msgstr "сервер"
#, fuzzy
#~ msgid "%s%s: auto-reconnection is cancelled"
#~ msgstr "Авто-переподключение отменено\n"
#, fuzzy
#~ msgid "list, add or remove Jabber servers"
#~ msgstr "перечислить, добавить или удалить серверы"
#, fuzzy
#~ msgid ""
#~ "[list [servername]] | [listfull [servername]] | [add servername username "
#~ "hostname[/port] password [-auto | -noauto] [-ipv6] [-tls] [-sasl]] | "
#~ "[copy servername newservername] | [rename servername newservername] | "
#~ "[keep servername] | [del servername] | [switch]"
#~ msgstr ""
#~ "[list [сервер]] | [listfull [сервер]] | [add сервер адрес [-port порт] [-"
#~ "temp] [-auto | -noauto] [-ipv6] [-ssl] [-pwd пароль] [-nicks ник1 ник2 "
#~ "ник3] [-username имя_пользователя] [-realname реальное_имя] [-command "
#~ "команда] [-autojoin канал[,канал]] ] | [copy сервер новый_сервер] | "
#~ "[rename сервер новое_имя] | [keep сервер] | [del сервер]"
#, fuzzy
#~ msgid ""
#~ " list: list servers (no parameter implies this list)\n"
#~ " listfull: list servers with detailed info for each server\n"
#~ " add: create a new server\n"
#~ "servername: server name, for internal and display use\n"
#~ " username: username to use on server\n"
#~ " hostname: name or IP address of server, with optional port (default: "
#~ "5222)\n"
#~ " password: password for username on server\n"
#~ " auto: automatically connect to server when WeeChat starts\n"
#~ " noauto: do not connect to server when WeeChat starts (default)\n"
#~ " ipv6: use IPv6 protocol\n"
#~ " tls: use TLS cryptographic protocol\n"
#~ " sasl: use SASL for authentication\n"
#~ " copy: duplicate a server\n"
#~ " rename: rename a server\n"
#~ " keep: keep server in config file (for temporary servers only)\n"
#~ " del: delete a server\n"
#~ " switch: switch active server (when one buffer is used for all "
#~ "servers, default key: alt-s on server buffer)\n"
#~ "\n"
#~ "Examples:\n"
#~ " /jabber listfull\n"
#~ " /jabber add jabberfr user jabber.fr/5222 password -tls\n"
#~ " /jabber copy jabberfr jabberfr2\n"
#~ " /jabber rename jabberfr jabbfr\n"
#~ " /jabber del jabberfr\n"
#~ " /jabber switch"
#~ msgstr ""
#~ " list: перечислить серверы (отсутствие параметров подразумевает этот "
#~ "список)\n"
#~ "listfull: перечислить серверы с подробностями\n"
#~ " add: создать новый сервер\n"
#~ " сервер: имя сервера\n"
#~ "hostname: адрес сервера\n"
#~ " port: порт сервера (целочисленное значение)\n"
#~ " temp: создать временный сервер (не сохраняется в конфигурационном "
#~ "файле)\n"
#~ " auto: автоматически подключаться к серверу при запуске WeeChat\n"
#~ " noauto: не подключаться автоматически к серверу при запуске WeeChat\n"
#~ " ipv6: использовать протокол IPv6\n"
#~ " ssl: использовать протокол SSL\n"
#~ "password: пароль от сервера\n"
#~ " nick1: ник на сервере\n"
#~ " nick2: альтернативный ник на сервере\n"
#~ " nick3: запасной альтернативный ник на сервере\n"
#~ "username: имя пользователя\n"
#~ "realname: настоящее имя\n"
#~ " copy: создать копию сервера\n"
#~ " rename: переименовать сервер\n"
#~ " keep: сохранить временный сервер\n"
#~ " del: удалить сервер deloutq: очистить очередь исходящих сообщений "
#~ "для всех серверов (сообщения, отправляемые WeeChatом)"
#, fuzzy
#~ msgid "buddy [text]"
#~ msgstr "текст"
#, fuzzy
#~ msgid ""
#~ "buddy: buddy name for chat\n"
#~ " text: text to send"
#~ msgstr ""
#~ "сервис: название сервиса\n"
#~ " текст: отправляемый текст"
#, fuzzy
#~ msgid "connect to Jabber server(s)"
#~ msgstr "подключиться к серверу(-ам)"
#, fuzzy
#~ msgid ""
#~ "[-all [-nojoin] | servername [servername ...] [-nojoin] | hostname [-port "
#~ "port] [-ipv6] [-tls] [-sasl]]"
#~ msgstr ""
#~ "[-all [-nojoin] | сервер [servername ...] [-nojoin] | адрес [-port порт] "
#~ "[-ipv6] [-ssl]]"
#, fuzzy
#~ msgid ""
#~ " -all: connect to all servers\n"
#~ "servername: internal server name to connect\n"
#~ " -nojoin: do not join any MUC (even if autojoin is enabled on server)\n"
#~ " hostname: hostname to connect\n"
#~ " port: port for server (integer, default is 6667)\n"
#~ " ipv6: use IPv6 protocol\n"
#~ " tls: use TLS cryptographic protocol\n"
#~ " saal: use SASL for authentication"
#~ msgstr ""
#~ " -all: переподключиться ко всем серверам\n"
#~ " сервер: название сервера для переподключения\n"
#~ "-nojoin: не заходить на каналы (даже если автозаход включен для сервера)\n"
#~ " адрес: адрес сервера, создавая временный сервер\n"
#~ " порт: порт сервера (число, по-умолчанию - 6667)\n"
#~ " ipv6: использовать протокол IPv6\n"
#~ " ssl: использовать протокол SSL"
#, fuzzy
#~ msgid "disconnect from Jabber server(s)"
#~ msgstr "отключиться от сервера(-ов)"
#, fuzzy
#~ msgid "hostname/port or IP/port for server"
#~ msgstr "ник, используемый на IRC сервере"
#, fuzzy
#~ msgid "use TLS cryptographic protocol for server communication"
#~ msgstr "использовать IPv6 при связи с сервером"
#, fuzzy
#~ msgid "password"
#~ msgstr "пользователь пароль"
#, fuzzy
#~ msgid "local alias"
#~ msgstr "Список сокращений:\n"
#, fuzzy
#~ msgid ""
#~ "command(s) to run when connected to server (many commands should be "
#~ "separated by ';', use '\\;' for a semicolon, special variables $nick, "
#~ "$muc and $server are replaced by their value)"
#~ msgstr ""
#~ "команды, выполняемые при подключении к серверу (несколько команд должны "
#~ "быть разделены символом ';', используйте '\\;' вместо обычной точки с "
#~ "запятой, специальные переменные $nick, $channel и $server заменяются на "
#~ "соответствующие значения)"
#, fuzzy
#~ msgid ""
#~ "comma separated list of MUCs to join when connected to server (example: "
#~ "\"#chan1,#chan2,#chan3 key1,key2\")"
#~ msgstr ""
#~ "разделённый запятыми список каналов, на которые заходить при подключении "
#~ "к серверу (например, \"#chan1,#chan2,#chan3 key1,key2\")"
#, fuzzy
#~ msgid "automatically rejoin MUCs when kicked"
#~ msgstr "автоматически перезаходить на каналы после кика"
#~ msgid "use same buffer for all servers"
#~ msgstr "один буфер для всех серверов"
#~ msgid "smart completion for nicks (completes with last speakers first)"
#~ msgstr "умное дополнение ников (начинает перебор с последних собеседников)"
#, fuzzy
#~ msgid ""
#~ "default part message (leaving MUC) ('%v' will be replaced by WeeChat "
#~ "version in string)"
#~ msgstr "сообщение покидания канала ('%v' будет заменён на версию WeeChat)"
#, fuzzy
#~ msgid ""
#~ "default quit message (disconnecting from server) ('%v' will be replaced "
#~ "by WeeChat version in string)"
#~ msgstr ""
#~ "сообщение о выходе по-умолчанию ('%v' будет заменён на версию WeeChat)"
#~ msgid ""
#~ "allow user to send colors with special codes (^Cb=bold, ^Ccxx=color, "
#~ "^Ccxx,yy=color+background, ^Cu=underline, ^Cr=reverse)"
#~ msgstr ""
#~ "позволить отправлять цвета специальными кодами (^Cb=жирный, "
#~ "^Ccxx=цветной, ^Ccxx,yy=цветной+фон, ^Cu=подчёркнутый, "
#~ "^Cr=инвертированный)"
#, fuzzy
#~ msgid "Jabber debug messages"
#~ msgstr "выводить отладочные сообщения"
#, fuzzy
#~ msgid "list of Jabber servers"
#~ msgstr "порт IRC сервера"
#, fuzzy
#~ msgid "list of MUCs for a Jabber server"
#~ msgstr "Список каналов, на которые заходить при соединении с сервером"
#, fuzzy
#~ msgid "list of buddies for a Jabber server or MUC"
#~ msgstr "Список каналов, на которые заходить при соединении с сервером"
#, fuzzy
#~ msgid "%s: this buffer is not a MUC!"
#~ msgstr "Это окно не является каналом!\n"
#, fuzzy
#~ msgid "%s%s: cannot allocate new MUC"
#~ msgstr "%s не могу расположить новый канал"
#, fuzzy
#~ msgid "%s%s: reconnecting to server in %d %s"
#~ msgstr "%s: Повторное подключение к серверу через %d секунд\n"
#, fuzzy
#~ msgid "%s%s: connected to %s (%s)"
#~ msgstr "%s не подключен к серверу \"%s\"!\n"
#, fuzzy
#~ msgid "%s%s: GnuTLS init error"
#~ msgstr "%s ошибка инициализации gnutls\n"
#, fuzzy
#~ msgid "%s%s: GnuTLS handshake failed"
#~ msgstr "%s инициализация gnutls не удалось\n"
#, fuzzy
#~ msgid "%s%s: connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
#~ msgstr "%s: подключение к серверу %s:%d%s%s через %s proxy %s:%d%s...\n"
#, fuzzy
#~ msgid "Connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
#~ msgstr "Подключаюсь к серверу %s:%d%s%s через %s proxy %s:%d%s...\n"
#, fuzzy
#~ msgid "%s%s: connecting to server %s/%d%s%s%s..."
#~ msgstr "%s: поключаюсь к серверу %s:%d%s%s...\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: username or server not defined for server \"%s\", cannot connect"
#~ msgstr "%s ник \"%s\" не найден для команды \"%s\"\n"
#, fuzzy
#~ msgid "%s%s: hostname/IP not defined for server \"%s\", cannot connect"
#~ msgstr "%s ник \"%s\" не найден для команды \"%s\"\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with TLS because iksemel library was not built with "
#~ "GnuTLS support"
#~ msgstr ""
#~ "%s невозможно соединиться с использованием SSL, так как WeeChat собран "
#~ "без поддержки GNUtls\n"
#, fuzzy
#~ msgid "%s%s: failed to create stream parser"
#~ msgstr "%s не могу создать сервер\n"
#, fuzzy
#~ msgid "%s%s: failed to create id"
#~ msgstr "%s DCC: не могу создать pipe\n"
#, fuzzy
#~ msgid "%s%s: reconnecting to server..."
#~ msgstr "%s: Повторное соединение...\n"
#, fuzzy
#~ msgid "%s%s: I/O error (%d)"
#~ msgstr "%sСервер: %s%s\n"
#, fuzzy
#~ msgid "%s%s: SASL authentication failed (check SASL option and password)"
#~ msgstr "Не могу записать лог-файл \"%s\"\n"
#, fuzzy
#~ msgid "%s%s: server disconnected"
#~ msgstr "Сервер %s%s%s создан\n"
#, fuzzy
#~ msgid "%s%s: stream error"
#~ msgstr "%sСервер: %s%s\n"
#, fuzzy
#~ msgid "%s%s: login ok"
#~ msgstr "%s DCC: не могу forkнуться\n"
#, fuzzy
#~ msgid "%s%s: authentication failed (check SASL option and password)"
#~ msgstr "Не могу записать лог-файл \"%s\"\n"
#, fuzzy
#~ msgid ""
#~ "%sError: plugin \"%s\" is compiled for WeeChat %s and you are running "
#~ "version %s, failed to load"
#~ msgstr ""
#~ "%s функция \"weechat_plugin_init\" не найдена в plugin'е \"%s\", загрузка "
#~ "не удалась\n"
#, fuzzy
#~ msgid ""
#~ "port number (or range of ports) that relay plugin listens on (syntax: a "
#~ "single port, ie. 5000 or a port range, ie. 5000-5015)"
#~ msgstr ""
#~ "привязывает исходящие DCС соединения к определённому интервалу портов "
#~ "(полезно для NAT) (синтаксис: определённый порт, например 5000, или "
#~ "интервал портов, например 5000-5015, пустое значение означает любой порт)"
#, fuzzy
#~ msgid ""
#~ "allow user to send colors with special codes (\"^Cb\"=bold, \"^Ccxx"
#~ "\"=color, \"^Ccxx,yy\"=color+background, \"^Cu\"=underline, \"^Cr"
#~ "\"=reverse)"
#~ msgstr ""
#~ "позволить отправлять цвета специальными кодами (^Cb=жирный, "
#~ "^Ccxx=цветной, ^Ccxx,yy=цветной+фон, ^Cu=подчёркнутый, "
#~ "^Cr=инвертированный)"
#, fuzzy
#~ msgid "filtered"
#~ msgstr "команда users отключена"
#, fuzzy
#~ msgid "%s%s: unable to set notify level \"%s\" => \"%s\""
#~ msgstr "%s недостаточно памяти для сообщения в строке информации\n"
#, fuzzy
#~ msgid "%s%s: missing parameters"
#~ msgstr "%s нет аргумента для параметра \"%s\"\n"
#, fuzzy
#~ msgid "%s%s: unknown notify level \"%s\""
#~ msgstr "%s неизвестная функция клавиши \"%s\"\n"
#, fuzzy
#~ msgid "change notify level for current buffer"
#~ msgstr "не найдено имя канала для буфера"
#~ msgid "Notify levels:"
#~ msgstr "Уровни уведомления:"
#, fuzzy
#~ msgid ""
#~ "smart completion for nicks (completes first with last speakers, "
#~ "highlights or both)"
#~ msgstr "умное дополнение ников (начинает перебор с последних собеседников)"
#~ msgid "[action [args] | number | [[server] [channel]]]"
#~ msgstr "[действие [аргументы] | номер | [[сервер] [канал]]]"
#, fuzzy
#~ msgid "%s%s: command \"%s\" must be executed on irc buffer"
#~ msgstr "%s \"%s\" команда может быть выполнена только в буфере сервера\n"
#, fuzzy
#~ msgid " (used by a plugin)"
#~ msgstr " (нет pluginа)\n"
#, fuzzy
#~ msgid "%s%s: unknown/missing channel name for \"%s\" command"
#~ msgstr "%s нет аргументов для \"%s\" команды\n"
#~ msgid "nickname [text]"
#~ msgstr "ник [текст]"
#~ msgid "data"
#~ msgstr "данные"
#~ msgid "data: raw data to send"
#~ msgstr "данные: отправляемые данные"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with TLS because WeeChat was not built with GnuTLS "
#~ "support"
#~ msgstr ""
#~ "%s невозможно соединиться с использованием SSL, так как WeeChat собран "
#~ "без поддержки GNUtls\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with SSL since WeeChat was not built with GnuTLS "
#~ "support"
#~ msgstr ""
#~ "%s невозможно соединиться с использованием SSL, так как WeeChat собран "
#~ "без поддержки GNUtls\n"
#, fuzzy
#~ msgid "list of Jabber ignore"
#~ msgstr "порт IRC сервера"
#, fuzzy
#~ msgid "1 if string is a Jabber channel"
#~ msgstr "список ников на канале"
#, fuzzy
#~ msgid "get nick from Jabber host"
#~ msgstr "банит ник или хост"
#, fuzzy
#~ msgid "list of nicks for a Jabber channel"
#~ msgstr "список ников на канале"
#, fuzzy
#~ msgid ""
#~ "[list [servername]] | [listfull [servername]] | [add username server[/"
#~ "port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] "
#~ "| [rename servername newservername] | [keep servername] | [del "
#~ "servername] | [deloutq] | [switch]"
#~ msgstr ""
#~ "[list [сервер]] | [listfull [сервер]] | [add сервер адрес [-port порт] [-"
#~ "temp] [-auto | -noauto] [-ipv6] [-ssl] [-pwd пароль] [-nicks ник1 ник2 "
#~ "ник3] [-username имя_пользователя] [-realname реальное_имя] [-command "
#~ "команда] [-autojoin канал[,канал]] ] | [copy сервер новый_сервер] | "
#~ "[rename сервер новое_имя] | [keep сервер] | [del сервер]"
#, fuzzy
#~ msgid "nicknames to use on Jabber server (separated by comma)"
#~ msgstr "ник, используемый на IRC сервере"
#, fuzzy
#~ msgid "user name to use on Jabber server"
#~ msgstr "имя пользователя, используемое на IRC сервере"
#, fuzzy
#~ msgid "real name to use on Jabber server"
#~ msgstr "настоящее имя, используемое на IRC сервере"
#, fuzzy
#~ msgid "send unknown commands to Jabber server"
#~ msgstr "отсылать неизвестные команды IRC серверу"
#, fuzzy
#~ msgid "password for Jabber server"
#~ msgstr "пароль к proxy серверу"
#~ msgid " . type: boolean\n"
#~ msgstr " . тип: булевый\n"
#, fuzzy
#~ msgid " . values: \"on\" or \"off\"\n"
#~ msgstr " . значения: 'on' или 'off'\n"
#, fuzzy
#~ msgid " . default value: \"%s\"\n"
#~ msgstr " . значение по умолчанию: '%s'\n"
#~ msgid " . type: string\n"
#~ msgstr " . тип: строка\n"
#~ msgid " . values: "
#~ msgstr " . значения: "
#~ msgid " . type: integer\n"
#~ msgstr " . тип: целочисленный\n"
#~ msgid " . values: between %d and %d\n"
#~ msgstr " . значения: от %d до %d\n"
#~ msgid " . default value: %d\n"
#~ msgstr " . значение по умолчанию: %d\n"
#~ msgid " . values: any string\n"
#~ msgstr " . значения: любая строка\n"
#~ msgid " . type: char\n"
#~ msgstr " . тип: символ\n"
#~ msgid " . values: any char\n"
#~ msgstr " . значения: любой символ\n"
#~ msgid " . values: any string (limit: %d chars)\n"
#~ msgstr " . значения: любая строка (ограничение: %d символов)\n"
#~ msgid " . type: color\n"
#~ msgstr " . тип: цвет\n"
#, fuzzy
#~ msgid " . values: color (depends on GUI used)\n"
#~ msgstr " . значения: от %d до %d\n"
#~ msgid " . description: %s\n"
#~ msgstr " . описание: %s\n"
#, fuzzy
#~ msgid "%sWarning: %s, line %d: invalid syntax, missing \"=\""
#~ msgstr "%s %s, строка %d: некорректный синтаксис, утерян \"=\"\n"
#, fuzzy
#~ msgid "value not defined"
#~ msgstr "Сокращения не заданы.\n"
#, fuzzy
#~ msgid "hidden"
#~ msgstr "(скрытый)"
#, fuzzy
#~ msgid ""
#~ "%s%s: error creating option \"%s\" for server \"%s\" (server not found)"
#~ msgstr "%s параметр конфигурации \"%s\" не найден\n"
#, fuzzy
#~ msgid "display nicklist (on buffers with nicklist enabled)"
#~ msgstr "показывать список ников (в окнах каналов)"
#, fuzzy
#~ msgid ""
#~ "max size for nicklist (width or height, depending on nicklist_position (0 "
#~ "= no max size; if min = max and > 0, then size is fixed))"
#~ msgstr ""
#~ "максимальный размер списка пользователей (высота или ширина, в "
#~ "зависимости от look_nicklist_position (0 = без максимального размера; "
#~ "если min = max и > 0, то размер фиксированный))"
#, fuzzy
#~ msgid ""
#~ "min size for nicklist (width or height, depending on nicklist_position (0 "
#~ "= no min size))"
#~ msgstr ""
#~ "минимальный размер списка пользователей (высота или ширина, в зависимости "
#~ "от look_nicklist_position (0 = без минимального размера))"
#~ msgid "nicklist position (top, left, right (default), bottom)"
#~ msgstr ""
#~ "расположение списка пользователей (top, left, right(по умолчанию), bottom)"
#~ msgid "separator between chat and nicklist"
#~ msgstr "разделитель чата и никлиста"
#, fuzzy
#~ msgid "%sBinary file not found: \"%s\""
#~ msgstr "%s plugin \"%s\" не найден\n"
#, fuzzy
#~ msgid "Upgrading WeeChat..."
#~ msgstr "Обновляю WeeChat...\n"
#, fuzzy
#~ msgid "timeout for relay request (in seconds)"
#~ msgstr "таймаут запросов dcc-соединений (в секундах)"
#, fuzzy
#~ msgid "Open buffer with relay clients list"
#~ msgstr "Открытые буферы:\n"
#, fuzzy
#~ msgid "Open buffer with xfer list"
#~ msgstr "Открытые буферы:\n"
#, fuzzy
#~ msgid "%s%s: disconnecting client @ %s"
#~ msgstr "%s: Повторное подключение к серверу через %d секунд\n"
#, fuzzy
#~ msgid " [Q] Close client list"
#~ msgstr " [Q] Закрыть окно"
#, fuzzy
#~ msgid "use a proxy server"
#~ msgstr "имя пользователя, используемое при подключения к proxy-серверу"
#, fuzzy
#~ msgid "text color for title bar"
#~ msgstr "цвет заголовка"
#, fuzzy
#~ msgid "background color for title bar"
#~ msgstr "цвет фона заголовка"
#, fuzzy
#~ msgid "background color for status bar"
#~ msgstr "цвет строки состояния"
#, fuzzy
#~ msgid "text color for status bar delimiters"
#~ msgstr "цвет разделителей строки состояния"
#, fuzzy
#~ msgid "text color for input line"
#~ msgstr "цвет вводимого текста"
#, fuzzy
#~ msgid "background color for input line"
#~ msgstr "цвет вводимого текста"
#, fuzzy
#~ msgid "text color for server name in input line"
#~ msgstr "цвет названия сервера"
#, fuzzy
#~ msgid "text color for delimiters in input line"
#~ msgstr "цвет разделителей информационной панели"
#, fuzzy
#~ msgid "text color for nicklist"
#~ msgstr "цвет ника"
#, fuzzy
#~ msgid "background color for nicklist"
#~ msgstr "фон ников"
#, fuzzy
#~ msgid "debug: \"%s\" => %d"
#~ msgstr "Сокращение \"%s\" удалено\n"
#, fuzzy
#~ msgid "%s: debug enabled"
#~ msgstr "FIFO pipe открыт\n"
#~ msgid "automatically log server messages"
#~ msgstr "автоматически журналировать сообщения сервера"
#~ msgid "automatically log channel chats"
#~ msgstr "автоматически журналировать сообщения с каналов"
#~ msgid "automatically log private chats"
#~ msgstr "автоматически журналировать приваты"
#, fuzzy
#~ msgid "New level for buffer \"%s\" is %d"
#~ msgstr "время в буферах"
#, fuzzy
#~ msgid "Notify level: %s => %s"
#~ msgstr "Уровни уведомления:"
#, fuzzy
#~ msgid "Notify level: %s: removed"
#~ msgstr "Уровни уведомления:"
#, fuzzy
#~ msgid "Error: unable to create \"%s\" directory\n"
#~ msgstr "%s не могу создать директорию \"%s\"\n"
#, fuzzy
#~ msgid "%sError: filter not \"%s\" found"
#~ msgstr "%s plugin \"%s\" не найден\n"
#, fuzzy
#~ msgid "Filter added"
#~ msgstr "команда users отключена"
#, fuzzy
#~ msgid "%sError: wrong filter number"
#~ msgstr "%s неправильный номер буфера\n"
#, fuzzy
#~ msgid "Message filtering is enabled"
#~ msgstr "Сокращения не заданы.\n"
#, fuzzy
#~ msgid "Message filtering is disabled"
#~ msgstr "Сокращения не заданы.\n"
#, fuzzy
#~ msgid "Filters are disabled"
#~ msgstr "команда users отключена"
#~ msgid ""
#~ "format for input prompt ('%c' is replaced by channel or server, '%n' by "
#~ "nick and '%m' by nick modes)"
#~ msgstr ""
#~ "формат приглашения ввода ('%c' заменяется на сервер или канал, '%n' на "
#~ "ник, а '%m' - на режимы ника"
#~ msgid "Text search (exact): "
#~ msgstr "Поиск текста (регистрозависимый): "
#~ msgid "Text search: "
#~ msgstr "Поиск текста: "
#, fuzzy
#~ msgid "%s: creating new speller for lang \"%s\""
#~ msgstr "%s недостаточно памяти для сообщения в строке информации\n"
#, fuzzy
#~ msgid "Charset: %s, %s => %s"
#~ msgstr "Сокращение \"%s\" => \"%s\" создано\n"
#~ msgid " Paste %d lines ? [ctrl-Y] Yes [ctrl-N] No"
#~ msgstr " Вставить %d строк ? [ctrl-Y] Да [ctrl-N] Нет"
#~ msgid "-MORE-"
#~ msgstr "-ДАЛЬШЕ-"

View File

@ -140,6 +140,8 @@ SET(WEECHAT_SOURCES
./src/plugins/irc/irc-protocol.h
./src/plugins/irc/irc-raw.c
./src/plugins/irc/irc-raw.h
./src/plugins/irc/irc-sasl.c
./src/plugins/irc/irc-sasl.h
./src/plugins/irc/irc-server.c
./src/plugins/irc/irc-server.h
./src/plugins/logger/logger.c

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-02-15 11:45+0100\n"
"POT-Creation-Date: 2010-02-18 19:55+0100\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"
@ -3387,6 +3387,9 @@ msgstr ""
msgid "password for SASL authentication"
msgstr ""
msgid "timeout (in seconds) before giving up SASL authentication"
msgstr ""
msgid "automatically connect to server when WeeChat is starting"
msgstr ""
@ -3730,6 +3733,11 @@ msgstr ""
msgid "%s%s: this buffer is not a channel!"
msgstr ""
#, c-format
msgid ""
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
msgstr ""
#, c-format
msgid "%s%s: client capability, server supports: %s"
msgstr ""
@ -3746,6 +3754,16 @@ msgstr ""
msgid "%s%s: client capability, enabled: %s"
msgstr ""
#, c-format
msgid ""
"%s%s: cannot authenticate with SASL and mechanism DH-BLOWFISH because "
"WeeChat was not built with libgcrypt support"
msgstr ""
#, c-format
msgid "%s%s: client capability, refused: %s"
msgstr ""
#, c-format
msgid "%sYou have been invited to %s%s%s by %s%s%s"
msgstr ""

View File

@ -75,6 +75,16 @@ IF(NOT DISABLE_NLS)
ENDIF(GETTEXT_FOUND)
ENDIF(NOT DISABLE_NLS)
# Check for libgcrypt
IF(NOT DISABLE_GCRYPT)
FIND_PACKAGE(Gcrypt)
IF(GCRYPT_FOUND)
ADD_DEFINITIONS(-DHAVE_GCRYPT)
LIST(APPEND EXTRA_LIBS "${GCRYPT_LDFLAGS}")
ENDIF(GCRYPT_FOUND)
ENDIF(NOT DISABLE_GCRYPT)
# Check for GnuTLS
IF(NOT DISABLE_GNUTLS)
FIND_PACKAGE(GnuTLS)

View File

@ -14,7 +14,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\" $(GNUTLS_CFLAGS)
INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\" $(GCRYPT_CFLAGS) $(GNUTLS_CFLAGS)
noinst_LIBRARIES = lib_weechat_core.a

View File

@ -37,6 +37,10 @@
#include <gnutls/gnutls.h>
#endif
#ifdef HAVE_GCRYPT
#include <gcrypt.h>
#endif
#include "weechat.h"
#include "wee-network.h"
#include "wee-hook.h"
@ -81,6 +85,11 @@ network_init ()
&hook_connect_gnutls_set_certificates);
network_init_ok = 1;
#endif
#ifdef HAVE_GCRYPT
gcry_check_version (GCRYPT_VERSION);
gcry_control (GCRYCTL_DISABLE_SECMEM, 0);
gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
#endif
}
/*

View File

@ -668,7 +668,7 @@ upgrade_file_read_object (struct t_upgrade_file *upgrade_file)
rc = 0;
}
end:
end:
if (infolist)
infolist_free (infolist);
if (name)

View File

@ -26,8 +26,8 @@ weechat_curses_LDADD = ./../../core/lib_weechat_core.a \
../../core/lib_weechat_core.a \
$(PLUGINS_LFLAGS) \
$(NCURSES_LFLAGS) \
$(GNUTLS_LFLAGS) \
$(IKSEMEL_LFLAGS)
$(GCRYPT_LFLAGS) \
$(GNUTLS_LFLAGS)
weechat_curses_SOURCES = gui-curses-bar-window.c \
gui-curses-chat.c \

View File

@ -26,8 +26,8 @@ weechat_gtk_LDADD = ./../../core/lib_weechat_core.a \
../../core/lib_weechat_core.a \
$(PLUGINS_LFLAGS) \
$(GTK_LFLAGS) \
$(GNUTLS_LFLAGS) \
$(IKSEMEL_LFLAGS)
$(GCRYPT_LFLAGS) \
$(GNUTLS_LFLAGS)
weechat_gtk_SOURCES = gui-gtk-bar-window.c \
gui-gtk-chat.c \

View File

@ -34,6 +34,7 @@ irc-msgbuffer.c irc-msgbuffer.h
irc-nick.c irc-nick.h
irc-protocol.c irc-protocol.h
irc-raw.c irc-raw.h
irc-sasl.c irc-sasl.h
irc-server.c irc-server.h
irc-upgrade.c irc-upgrade.h)
SET_TARGET_PROPERTIES(irc PROPERTIES PREFIX "")
@ -41,11 +42,17 @@ SET_TARGET_PROPERTIES(irc PROPERTIES PREFIX "")
CHECK_INCLUDE_FILES("regex.h" HAVE_REGEX_H)
CHECK_FUNCTION_EXISTS(regexec HAVE_REGEXEC)
SET (LINK_LIBS)
IF(GNUTLS_FOUND)
INCLUDE_DIRECTORIES(${GNUTLS_INCLUDE_PATH})
TARGET_LINK_LIBRARIES(irc ${GNUTLS_LIBRARY})
ELSE(GNUTLS_FOUND)
TARGET_LINK_LIBRARIES(irc)
LIST(APPEND LINK_LIBS ${GNUTLS_LIBRARY})
ENDIF(GNUTLS_FOUND)
IF(GCRYPT_FOUND)
LIST(APPEND LINK_LIBS gcrypt)
ENDIF(GCRYPT_FOUND)
TARGET_LINK_LIBRARIES(irc ${LINK_LIBS})
INSTALL(TARGETS irc LIBRARY DESTINATION ${LIBDIR}/plugins)

View File

@ -14,7 +14,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\" $(GNUTLS_CFLAGS)
INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\" $(GCRYPT_CFLAGS) $(GNUTLS_CFLAGS)
libdir = ${weechat_libdir}/plugins
@ -58,12 +58,14 @@ irc_la_SOURCES = irc.c \
irc-protocol.h \
irc-raw.c \
irc-raw.h \
irc-sasl.c \
irc-sasl.h \
irc-server.c \
irc-server.h \
irc-upgrade.c \
irc-upgrade.h
irc_la_LDFLAGS = -module
irc_la_LIBADD = $(IRC_LFLAGS) $(GNUTLS_LFLAGS)
irc_la_LIBADD = $(IRC_LFLAGS) $(GCRYPT_LFLAGS) $(GNUTLS_LFLAGS)
EXTRA_DIST = CMakeLists.txt

View File

@ -969,7 +969,7 @@ irc_config_server_new_option (struct t_config_file *config_file,
config_file, section,
option_name, "integer",
N_("mechanism for SASL authentication"),
"plain" /*"plain|dh-blowfish"*/, 0, 0,
"plain|dh-blowfish", 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
@ -1000,6 +1000,19 @@ irc_config_server_new_option (struct t_config_file *config_file,
callback_change, callback_change_data,
NULL, NULL);
break;
case IRC_SERVER_OPTION_SASL_TIMEOUT:
new_option = weechat_config_new_option (
config_file, section,
option_name, "integer",
N_("timeout (in seconds) before giving up SASL "
"authentication"),
NULL, 1, 3600,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case IRC_SERVER_OPTION_AUTOCONNECT:
new_option = weechat_config_new_option (
config_file, section,

View File

@ -29,8 +29,9 @@
#include "irc-channel.h"
#include "irc-command.h"
#include "irc-config.h"
#include "irc-server.h"
#include "irc-nick.h"
#include "irc-server.h"
#include "irc-sasl.h"
/*

View File

@ -44,6 +44,7 @@
#include "irc-mode.h"
#include "irc-msgbuffer.h"
#include "irc-nick.h"
#include "irc-sasl.h"
#include "irc-server.h"
@ -224,8 +225,7 @@ irc_protocol_cmd_authenticate (struct t_irc_server *server, const char *command,
int argc, char **argv, char **argv_eol)
{
const char *sasl_username, *sasl_password;
char *string, *string_base64;
int length_username, length;
char *answer;
/* AUTHENTICATE message looks like:
AUTHENTICATE +
@ -236,7 +236,7 @@ irc_protocol_cmd_authenticate (struct t_irc_server *server, const char *command,
/* make C compiler happy */
(void) command;
(void) argv_eol;
(void) argv;
sasl_username = IRC_SERVER_OPTION_STRING(server,
IRC_SERVER_OPTION_SASL_USERNAME);
@ -245,33 +245,33 @@ irc_protocol_cmd_authenticate (struct t_irc_server *server, const char *command,
if (sasl_username && sasl_username[0]
&& sasl_password && sasl_password[0])
{
length_username = strlen (sasl_username);
length = ((length_username + 1) * 2) + strlen (sasl_password) + 1;
string = malloc (length);
if (string)
switch (IRC_SERVER_OPTION_INTEGER(server,
IRC_SERVER_OPTION_SASL_MECHANISM))
{
snprintf (string, length, "%s|%s|%s",
sasl_username, sasl_username, sasl_password);
string[length_username] = '\0';
string[(length_username * 2) + 1] = '\0';
if (strcmp (argv[1], "+") == 0)
{
/* mechanism PLAIN */
string_base64 = malloc (length * 2);
if (string_base64)
{
weechat_string_encode_base64 (string, length - 1, string_base64);
irc_server_sendf (server, 0, "AUTHENTICATE %s", string_base64);
free (string_base64);
}
}
else
{
/* TODO: other mechanisms */
}
free (string);
case IRC_SASL_MECHANISM_DH_BLOWFISH:
answer = irc_sasl_mechanism_dh_blowfish (argv_eol[1],
sasl_username,
sasl_password);
break;
case IRC_SASL_MECHANISM_PLAIN:
default:
answer = irc_sasl_mechanism_plain (sasl_username,
sasl_password);
break;
}
if (answer)
{
irc_server_sendf (server, 0, "AUTHENTICATE %s", answer);
free (answer);
}
else
{
weechat_printf (server->buffer,
_("%s%s: error building answer for "
"SASL authentication, using mechanism \"%s\""),
weechat_prefix ("error"), IRC_PLUGIN_NAME,
irc_sasl_mechanism_string[IRC_SERVER_OPTION_INTEGER(server, IRC_SERVER_OPTION_SASL_MECHANISM)]);
irc_server_sendf (server, 0, "CAP END");
}
}
@ -287,11 +287,12 @@ irc_protocol_cmd_cap (struct t_irc_server *server, const char *command,
int argc, char **argv, char **argv_eol)
{
char *ptr_caps, **items;
int num_items, sasl, i;
int num_items, sasl, i, timeout;
/* CAP message looks like:
:server CAP * LS :identify-msg multi-prefix sasl
:server CAP * ACK :sasl
:server CAP * NAK :sasl
*/
IRC_PROTOCOL_MIN_ARGS(4);
@ -348,14 +349,27 @@ irc_protocol_cmd_cap (struct t_irc_server *server, const char *command,
ptr_caps = (argv_eol[4][0] == ':') ? argv_eol[4] + 1 : argv_eol[4];
weechat_printf (server->buffer,
_("%s%s: client capability, enabled: %s"),
weechat_prefix ("network"),
IRC_PLUGIN_NAME,
weechat_prefix ("network"), IRC_PLUGIN_NAME,
ptr_caps);
if (strcmp (ptr_caps, "sasl") == 0)
{
switch (IRC_SERVER_OPTION_INTEGER(server,
IRC_SERVER_OPTION_SASL_MECHANISM))
{
case IRC_SASL_MECHANISM_DH_BLOWFISH:
#ifdef HAVE_GCRYPT
irc_server_sendf (server, 0, "AUTHENTICATE DH-BLOWFISH");
#else
weechat_printf (server->buffer,
_("%s%s: cannot authenticate with SASL "
"and mechanism DH-BLOWFISH because "
"WeeChat was not built with "
"libgcrypt support"),
weechat_prefix ("error"),
IRC_PLUGIN_NAME);
irc_server_sendf (server, 0, "CAP END");
#endif
break;
case IRC_SASL_MECHANISM_PLAIN:
default:
irc_server_sendf (server, 0, "AUTHENTICATE PLAIN");
@ -363,12 +377,28 @@ irc_protocol_cmd_cap (struct t_irc_server *server, const char *command,
}
if (server->hook_timer_sasl)
weechat_unhook (server->hook_timer_sasl);
server->hook_timer_sasl = weechat_hook_timer (5 * 1000, 0, 1,
timeout = IRC_SERVER_OPTION_INTEGER(server,
IRC_SERVER_OPTION_SASL_TIMEOUT);
server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
0, 1,
&irc_server_timer_sasl_cb,
server);
}
}
}
else if (strcmp (argv[3], "NAK") == 0)
{
if (argc > 4)
{
ptr_caps = (argv_eol[4][0] == ':') ? argv_eol[4] + 1 : argv_eol[4];
weechat_printf (server->buffer,
_("%s%s: client capability, refused: %s"),
weechat_prefix ("error"), IRC_PLUGIN_NAME,
ptr_caps);
if (!server->is_connected)
irc_server_sendf (server, 0, "CAP END");
}
}
return WEECHAT_RC_OK;
}

236
src/plugins/irc/irc-sasl.c Normal file
View File

@ -0,0 +1,236 @@
/*
* Copyright (c) 2003-2010 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 3 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, see <http://www.gnu.org/licenses/>.
*/
/* irc-sasl.c: SASL authentication with IRC server */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <arpa/inet.h>
#ifdef HAVE_GCRYPT
#include <gcrypt.h>
#endif
#include "../weechat-plugin.h"
#include "irc.h"
#include "irc-sasl.h"
char *irc_sasl_mechanism_string[IRC_NUM_SASL_MECHANISMS] =
{ "plain", "dh-blowfish" };
/*
* irc_sasl_mechanism_plain: build answer for SASL authentication, using
* mechanism "PLAIN"
* Note: result must be freed after use
*/
char *
irc_sasl_mechanism_plain (const char *sasl_username, const char *sasl_password)
{
char *string, *answer_base64;
int length_username, length;
length_username = strlen (sasl_username);
length = ((length_username + 1) * 2) + strlen (sasl_password) + 1;
string = malloc (length);
if (string)
{
snprintf (string, length, "%s|%s|%s",
sasl_username, sasl_username, sasl_password);
string[length_username] = '\0';
string[(length_username * 2) + 1] = '\0';
answer_base64 = malloc (length * 2);
if (answer_base64)
weechat_string_encode_base64 (string, length - 1, answer_base64);
free (string);
}
return answer_base64;
}
/*
* irc_sasl_mechanism_dh_blowfish: build answer for SASL authentication, using
* mechanism "DH-BLOWFISH"
* Note: result must be freed after use
*
* data_base64 is a concatenation of 3 strings,
* each string is composed of 2 bytes (length
* of string), followed by content of string:
* 1. a prime number
* 2. a generator number
* 3. server-generated public key
*/
char *
irc_sasl_mechanism_dh_blowfish (const char *data_base64,
const char *sasl_username,
const char *sasl_password)
{
#ifdef HAVE_GCRYPT
char *data, *answer, *ptr_answer, *answer_base64;
unsigned char *ptr_data, *secret_bin, *public_bin;
unsigned char *password_clear, *password_crypted;
int length_data, size, num_bits_prime_number, length_key;
int length_username, length_password, length_answer;
size_t num_written;
gcry_mpi_t data_prime_number, data_generator_number, data_server_pub_key;
gcry_mpi_t pub_key, priv_key, secret_mpi;
gcry_cipher_hd_t gcrypt_handle;
data = NULL;
secret_bin = NULL;
public_bin = NULL;
password_clear = NULL;
password_crypted = NULL;
answer = NULL;
answer_base64 = NULL;
/* decode data */
data = malloc (strlen (data_base64) + 1);
length_data = weechat_string_decode_base64 (data_base64, data);
ptr_data = (unsigned char *)data;
/* extract prime number */
size = ntohs ((((unsigned int)ptr_data[1]) << 8) | ptr_data[0]);
ptr_data += 2;
length_data -= 2;
if (size > length_data)
goto end;
data_prime_number = gcry_mpi_new (size * 8);
gcry_mpi_scan (&data_prime_number, GCRYMPI_FMT_USG, ptr_data, size, NULL);
num_bits_prime_number = gcry_mpi_get_nbits (data_prime_number);
ptr_data += size;
length_data -= size;
/* extract generator number */
size = ntohs ((((unsigned int)ptr_data[1]) << 8) | ptr_data[0]);
ptr_data += 2;
length_data -= 2;
if (size > length_data)
goto end;
data_generator_number = gcry_mpi_new (size * 8);
gcry_mpi_scan (&data_generator_number, GCRYMPI_FMT_USG, ptr_data, size, NULL);
ptr_data += size;
length_data -= size;
/* extract server-generated public key */
size = ntohs ((((unsigned int)ptr_data[1]) << 8) | ptr_data[0]);
ptr_data += 2;
length_data -= 2;
if (size > length_data)
goto end;
data_server_pub_key = gcry_mpi_new (size * 8);
gcry_mpi_scan (&data_server_pub_key, GCRYMPI_FMT_USG, ptr_data, size, NULL);
ptr_data += size;
length_data -= size;
/* generate keys */
pub_key = gcry_mpi_new (num_bits_prime_number);
priv_key = gcry_mpi_new (num_bits_prime_number);
gcry_mpi_randomize (priv_key, num_bits_prime_number, GCRY_STRONG_RANDOM);
/* pub_key = (g ^ priv_key) % p */
gcry_mpi_powm (pub_key, data_generator_number, priv_key, data_prime_number);
/* compute secret_bin */
length_key = num_bits_prime_number / 8;
secret_bin = malloc (length_key);
secret_mpi = gcry_mpi_new (num_bits_prime_number);
/* secret_mpi = (y ^ priv_key) % p */
gcry_mpi_powm (secret_mpi, data_server_pub_key, priv_key, data_prime_number);
gcry_mpi_print (GCRYMPI_FMT_USG, secret_bin, length_key,
&num_written, secret_mpi);
/* create public_bin */
public_bin = malloc (length_key);
gcry_mpi_print (GCRYMPI_FMT_USG, public_bin, length_key,
&num_written, pub_key);
/* create password buffers (clear and crypted) */
length_password = strlen (sasl_password) +
((8 - (strlen (sasl_password) % 8)) % 8);
password_clear = malloc (length_password);
password_crypted = malloc (length_password);
memset (password_clear, 0, length_password);
memset (password_crypted, 0, length_password);
memcpy (password_clear, sasl_password, strlen (sasl_password));
/* crypt password using blowfish */
if (gcry_cipher_open (&gcrypt_handle, GCRY_CIPHER_BLOWFISH,
GCRY_CIPHER_MODE_ECB, 0) != 0)
goto end;
if (gcry_cipher_setkey (gcrypt_handle, secret_bin, length_key) != 0)
goto end;
if (gcry_cipher_encrypt (gcrypt_handle,
password_crypted, length_password,
password_clear, length_password) != 0)
goto end;
/* build answer for server, it is concatenation of:
1. key length (2 bytes)
2. public key ('length_key' bytes)
3. sasl_username ('length_username'+1 bytes)
4. encrypted password ('length_password' bytes)
*/
length_username = strlen (sasl_username);
length_answer = 2 + length_key + length_username + 1 + length_password;
answer = malloc (length_answer);
ptr_answer = answer;
*((unsigned int *)ptr_answer) = htons(length_key);
ptr_answer += 2;
memcpy (ptr_answer, public_bin, length_key);
ptr_answer += length_key;
memcpy (ptr_answer, sasl_username, length_username + 1);
ptr_answer += length_username + 1;
memcpy (ptr_answer, password_crypted, length_password);
ptr_answer += length_password;
/* encode answer to base64 */
answer_base64 = malloc (length_answer * 2);
if (answer_base64)
weechat_string_encode_base64 (answer, length_answer, answer_base64);
end:
if (data)
free (data);
if (secret_bin)
free (secret_bin);
if (public_bin)
free (public_bin);
if (password_clear)
free (password_clear);
if (password_crypted)
free (password_crypted);
if (answer)
free (answer);
return answer_base64;
#else
/* make C compiler happy */
(void) data_base64;
(void) sasl_username;
(void) sasl_password;
return NULL;
#endif
}

View File

@ -0,0 +1,41 @@
/*
* Copyright (c) 2003-2010 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 3 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, see <http://www.gnu.org/licenses/>.
*/
#ifndef __WEECHAT_IRC_SASL_H
#define __WEECHAT_IRC_SASL_H 1
/* SASL authentication mechanisms */
enum t_irc_sasl_mechanism
{
IRC_SASL_MECHANISM_PLAIN = 0,
IRC_SASL_MECHANISM_DH_BLOWFISH,
/* number of SASL mechanisms */
IRC_NUM_SASL_MECHANISMS,
};
extern char *irc_sasl_mechanism_string[];
extern char *irc_sasl_mechanism_plain (const char *sasl_username,
const char *sasl_password);
extern char *irc_sasl_mechanism_dh_blowfish (const char *data_base64,
const char *sasl_username,
const char *sasl_password);
#endif /* irc-sasl.h */

View File

@ -49,6 +49,7 @@
#include "irc-nick.h"
#include "irc-protocol.h"
#include "irc-raw.h"
#include "irc-sasl.h"
struct t_irc_server *irc_servers = NULL;
@ -60,7 +61,7 @@ struct t_irc_message *irc_msgq_last_msg = NULL;
char *irc_server_option_string[IRC_SERVER_NUM_OPTIONS] =
{ "addresses", "proxy", "ipv6",
"ssl", "ssl_cert", "ssl_dhkey_size", "ssl_verify",
"password", "sasl_mechanism", "sasl_username", "sasl_password",
"password", "sasl_mechanism", "sasl_username", "sasl_password", "sasl_timeout",
"autoconnect", "autoreconnect", "autoreconnect_delay",
"nicks", "username", "realname", "local_hostname",
"command", "command_delay", "autojoin", "autorejoin", "autorejoin_delay",
@ -69,15 +70,12 @@ char *irc_server_option_string[IRC_SERVER_NUM_OPTIONS] =
char *irc_server_option_default[IRC_SERVER_NUM_OPTIONS] =
{ "", "", "off",
"off", "", "2048", "on",
"", "plain", "", "",
"", "plain", "", "", "15",
"off", "on", "30",
"", "", "", "",
"", "0", "", "off", "30",
};
char *irc_sasl_mechanism_string[IRC_NUM_SASL_MECHANISMS] =
{ "plain", /*"dh-blowfish"*/ };
void irc_server_reconnect (struct t_irc_server *server);
void irc_server_check_away ();

View File

@ -44,6 +44,7 @@ enum t_irc_server_option
IRC_SERVER_OPTION_SASL_MECHANISM,/* mechanism for SASL authentication */
IRC_SERVER_OPTION_SASL_USERNAME, /* username for SASL authentication */
IRC_SERVER_OPTION_SASL_PASSWORD, /* password for SASL authentication */
IRC_SERVER_OPTION_SASL_TIMEOUT, /* timeout for SASL authentication */
IRC_SERVER_OPTION_AUTOCONNECT, /* autoconnect to server at startup */
IRC_SERVER_OPTION_AUTORECONNECT, /* autoreconnect when disconnected */
IRC_SERVER_OPTION_AUTORECONNECT_DELAY, /* delay before trying again reco */
@ -90,16 +91,6 @@ enum t_irc_server_option
#define IRC_SERVER_OUTQUEUE_PRIO_LOW 2
#define IRC_SERVER_NUM_OUTQUEUES_PRIO 2
/* SASL authentication mechanisms */
enum t_irc_sasl_mechanism
{
IRC_SASL_MECHANISM_PLAIN = 0,
/* TODO: IRC_SASL_MECHANISM_DH_BLOWFISH, */
/* number of SASL mechanisms */
IRC_NUM_SASL_MECHANISMS,
};
/* output queue of messages to server (for sending slowly to server) */
struct t_irc_outqueue
@ -185,7 +176,6 @@ extern const int gnutls_prot_prio[];
extern struct t_irc_message *irc_recv_msgq, *irc_msgq_last_msg;
extern char *irc_server_option_string[];
extern char *irc_server_option_default[];
extern char *irc_sasl_mechanism_string[];
extern int irc_server_valid (struct t_irc_server *server);
extern int irc_server_search_option (const char *option_name);