diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | doc/de/autogen/user/irc_commands.txt | 22 | ||||
-rw-r--r-- | doc/en/autogen/user/irc_commands.txt | 22 | ||||
-rw-r--r-- | doc/fr/autogen/user/irc_commands.txt | 26 | ||||
-rw-r--r-- | doc/it/autogen/user/irc_commands.txt | 22 | ||||
-rw-r--r-- | doc/ja/autogen/user/irc_commands.txt | 22 | ||||
-rw-r--r-- | po/cs.po | 56 | ||||
-rw-r--r-- | po/de.po | 262 | ||||
-rw-r--r-- | po/es.po | 55 | ||||
-rw-r--r-- | po/fr.po | 74 | ||||
-rw-r--r-- | po/hu.po | 52 | ||||
-rw-r--r-- | po/it.po | 57 | ||||
-rw-r--r-- | po/ja.po | 57 | ||||
-rw-r--r-- | po/pl.po | 53 | ||||
-rw-r--r-- | po/pt_BR.po | 57 | ||||
-rw-r--r-- | po/ru.po | 51 | ||||
-rw-r--r-- | po/tr.po | 49 | ||||
-rw-r--r-- | po/weechat.pot | 43 | ||||
-rw-r--r-- | src/plugins/irc/irc-command.c | 250 |
19 files changed, 925 insertions, 308 deletions
@@ -1,7 +1,7 @@ WeeChat ChangeLog ================= Sébastien Helleu <flashcode@flashtux.org> -v0.4.2-dev, 2013-07-15 +v0.4.2-dev, 2013-07-18 This document lists all changes for each version. @@ -34,6 +34,7 @@ Version 0.4.2 (under dev!) * core: fix line alignment when option weechat.look.buffer_time_format is set to empty string * aspell: add support of enchant library (patch #6858) +* irc: add support of wildcards in commands (de)op/halfop/voice (task #9221) * irc: add option irc.look.pv_tags * irc: fix error message on /invite without arguments (bug #39272) * irc: add support of special variables $nick/$channel/$server in commands diff --git a/doc/de/autogen/user/irc_commands.txt b/doc/de/autogen/user/irc_commands.txt index 3c30ab3d6..0955e854a 100644 --- a/doc/de/autogen/user/irc_commands.txt +++ b/doc/de/autogen/user/irc_commands.txt @@ -121,18 +121,29 @@ Beispiel: [command]*`dehalfop`* halb-Operator-Privilegien einem oder mehreren Nick(s) entziehen:: ........................................ /dehalfop <nick> [<nick>...] + +nick: nick or mask (can start or end with "*" as wildcard) + *: remove channel half-operator status from everybody on channel except yourself ........................................ [[command_irc_deop]] [command]*`deop`* Operator-Privilegien einem oder mehreren Nicknamen entziehen:: ........................................ /deop <nick> [<nick>...] + * -yes + +nick: nick or mask (can start or end with "*" as wildcard) + *: remove channel operator status from everybody on channel except yourself ........................................ [[command_irc_devoice]] [command]*`devoice`* Voice-Privilegien einem oder mehreren Nicknamen entziehen:: ........................................ /devoice <nick> [<nick>...] + * -yes + +nick: nick or mask (can start or end with "*" as wildcard) + *: remove voice from everybody on channel ........................................ [[command_irc_die]] @@ -158,6 +169,10 @@ reason: Begründung der Trennung [command]*`halfop`* halb-Operator Status an Nick(s) vergeben:: ........................................ /halfop <nick> [<nick>...] + * -yes + +nick: nick or mask (can start or end with "*" as wildcard) + *: give channel half-operator status to everybody on channel ........................................ [[command_irc_ignore]] @@ -422,6 +437,10 @@ Beispiele: [command]*`op`* Channel-Operator Status an Nicknamen vergeben:: ........................................ /op <nick> [<nick>...] + * -yes + +nick: nick or mask (can start or end with "*" as wildcard) + *: give channel operator status to everybody on channel ........................................ [[command_irc_oper]] @@ -719,6 +738,9 @@ server: Servername [command]*`voice`* Voice an Nick(s) vergeben:: ........................................ /voice <nick> [<nick>...] + +nick: nick or mask (can start or end with "*" as wildcard) + *: give voice to everybody on channel ........................................ [[command_irc_wallchops]] diff --git a/doc/en/autogen/user/irc_commands.txt b/doc/en/autogen/user/irc_commands.txt index ff5589da7..0c93b700c 100644 --- a/doc/en/autogen/user/irc_commands.txt +++ b/doc/en/autogen/user/irc_commands.txt @@ -121,18 +121,29 @@ Examples: [command]*`dehalfop`* remove channel half-operator status from nick(s):: ........................................ /dehalfop <nick> [<nick>...] + +nick: nick or mask (can start or end with "*" as wildcard) + *: remove channel half-operator status from everybody on channel except yourself ........................................ [[command_irc_deop]] [command]*`deop`* remove channel operator status from nick(s):: ........................................ /deop <nick> [<nick>...] + * -yes + +nick: nick or mask (can start or end with "*" as wildcard) + *: remove channel operator status from everybody on channel except yourself ........................................ [[command_irc_devoice]] [command]*`devoice`* remove voice from nick(s):: ........................................ /devoice <nick> [<nick>...] + * -yes + +nick: nick or mask (can start or end with "*" as wildcard) + *: remove voice from everybody on channel ........................................ [[command_irc_die]] @@ -158,6 +169,10 @@ target: server name [command]*`halfop`* give channel half-operator status to nick(s):: ........................................ /halfop <nick> [<nick>...] + * -yes + +nick: nick or mask (can start or end with "*" as wildcard) + *: give channel half-operator status to everybody on channel ........................................ [[command_irc_ignore]] @@ -422,6 +437,10 @@ Examples: [command]*`op`* give channel operator status to nick(s):: ........................................ /op <nick> [<nick>...] + * -yes + +nick: nick or mask (can start or end with "*" as wildcard) + *: give channel operator status to everybody on channel ........................................ [[command_irc_oper]] @@ -719,6 +738,9 @@ server: server name [command]*`voice`* give voice to nick(s):: ........................................ /voice <nick> [<nick>...] + +nick: nick or mask (can start or end with "*" as wildcard) + *: give voice to everybody on channel ........................................ [[command_irc_wallchops]] diff --git a/doc/fr/autogen/user/irc_commands.txt b/doc/fr/autogen/user/irc_commands.txt index 1a57792fb..2f7548c07 100644 --- a/doc/fr/autogen/user/irc_commands.txt +++ b/doc/fr/autogen/user/irc_commands.txt @@ -121,18 +121,29 @@ Exemples: [command]*`dehalfop`* retirer le statut de demi-opérateur du canal à/aux pseudo(s):: ........................................ /dehalfop <pseudo> [<pseudo>...] + +pseudo: pseudo ou masque (peut démarrer ou se terminer par "*" comme joker) + *: retirer le statut de demi-opérateur de tout le monde sur le canal excepté vous-même ........................................ [[command_irc_deop]] [command]*`deop`* retirer le statut d'opérateur du canal à/aux pseudo(s):: ........................................ /deop <pseudo> [<pseudo>...] + * -yes + +pseudo: pseudo ou masque (peut démarrer ou se terminer par "*" comme joker) + *: retirer le statut d'opérateur de tout le monde sur le canal excepté vous-même ........................................ [[command_irc_devoice]] [command]*`devoice`* retirer la voix du/des pseudo(s):: ........................................ /devoice <pseudo> [<pseudo>...] + * -yes + +pseudo: pseudo ou masque (peut démarrer ou se terminer par "*" comme joker) + *: retirer la voix de tout le monde sur le canal ........................................ [[command_irc_die]] @@ -158,6 +169,10 @@ cible: nom du serveur [command]*`halfop`* donner le statut de demi-opérateur à un/des pseudo(s):: ........................................ /halfop <pseudo> [<pseudo>...] + * -yes + +pseudo: pseudo ou masque (peut démarrer ou se terminer par "*" comme joker) + *: donner le statut de demi-opérateur à tout le monde sur le canal ........................................ [[command_irc_ignore]] @@ -419,9 +434,13 @@ Exemples: ........................................ [[command_irc_op]] -[command]*`op`* donner le statut opérateur à un/des pseudo(s):: +[command]*`op`* donner le statut d'opérateur à un/des pseudo(s):: ........................................ /op <pseudo> [<pseudo>...] + * -yes + +pseudo: pseudo ou masque (peut démarrer ou se terminer par "*" comme joker) + *: donner le statut d'opérateur à tout le monde sur le canal ........................................ [[command_irc_oper]] @@ -528,7 +547,7 @@ pseudo: pseudo ........................................ [[command_irc_samode]] -[command]*`samode`* changer le mode du canal, sans avoir le statut opérateur:: +[command]*`samode`* changer le mode du canal, sans avoir le statut d'opérateur:: ........................................ /samode <canal> <mode> @@ -719,6 +738,9 @@ serveur: nom du serveur [command]*`voice`* donner la voix à/aux pseudo(s):: ........................................ /voice <pseudo> [<pseudo>...] + +pseudo: pseudo ou masque (peut démarrer ou se terminer par "*" comme joker) + *: donner la voix à tout le monde sur le canal ........................................ [[command_irc_wallchops]] diff --git a/doc/it/autogen/user/irc_commands.txt b/doc/it/autogen/user/irc_commands.txt index 699bffbb5..4fb28f03e 100644 --- a/doc/it/autogen/user/irc_commands.txt +++ b/doc/it/autogen/user/irc_commands.txt @@ -121,18 +121,29 @@ Esempi: [command]*`dehalfop`* revoca lo stato di half-op del canale da uno o più nick:: ........................................ /dehalfop <nick> [<nick>...] + +nick: nick or mask (can start or end with "*" as wildcard) + *: remove channel half-operator status from everybody on channel except yourself ........................................ [[command_irc_deop]] [command]*`deop`* revoca lo stato di operatore del canale da uno o più nick:: ........................................ /deop <nick> [<nick>...] + * -yes + +nick: nick or mask (can start or end with "*" as wildcard) + *: remove channel operator status from everybody on channel except yourself ........................................ [[command_irc_devoice]] [command]*`devoice`* revoca il voice da uno o più nick:: ........................................ /devoice <nick> [<nick>...] + * -yes + +nick: nick or mask (can start or end with "*" as wildcard) + *: remove voice from everybody on channel ........................................ [[command_irc_die]] @@ -158,6 +169,10 @@ destinazione: nome server [command]*`halfop`* concede lo stato di half-op del canale ad uno o più nick:: ........................................ /halfop <nick> [<nick>...] + * -yes + +nick: nick or mask (can start or end with "*" as wildcard) + *: give channel half-operator status to everybody on channel ........................................ [[command_irc_ignore]] @@ -422,6 +437,10 @@ Esempi: [command]*`op`* concede lo stato di operatore del canale ad uno o più nick:: ........................................ /op <nick> [<nick>...] + * -yes + +nick: nick or mask (can start or end with "*" as wildcard) + *: give channel operator status to everybody on channel ........................................ [[command_irc_oper]] @@ -719,6 +738,9 @@ server: nome server [command]*`voice`* concede il voice ad uno o più utenti:: ........................................ /voice <nick> [<nick>...] + +nick: nick or mask (can start or end with "*" as wildcard) + *: give voice to everybody on channel ........................................ [[command_irc_wallchops]] diff --git a/doc/ja/autogen/user/irc_commands.txt b/doc/ja/autogen/user/irc_commands.txt index 7fbc34091..0ab401c81 100644 --- a/doc/ja/autogen/user/irc_commands.txt +++ b/doc/ja/autogen/user/irc_commands.txt @@ -121,18 +121,29 @@ file: ファイルネーム (ローカルホスト上の) [command]*`dehalfop`* ニックネームから half-operator 権を剥奪:: ........................................ /dehalfop <nick> [<nick>...] + +nick: nick or mask (can start or end with "*" as wildcard) + *: remove channel half-operator status from everybody on channel except yourself ........................................ [[command_irc_deop]] [command]*`deop`* ニックネームからチャンネルオペレータ権を剥奪:: ........................................ /deop <nick> [<nick>...] + * -yes + +nick: nick or mask (can start or end with "*" as wildcard) + *: remove channel operator status from everybody on channel except yourself ........................................ [[command_irc_devoice]] [command]*`devoice`* ニックネームから発言権を剥奪:: ........................................ /devoice <nick> [<nick>...] + * -yes + +nick: nick or mask (can start or end with "*" as wildcard) + *: remove voice from everybody on channel ........................................ [[command_irc_die]] @@ -158,6 +169,10 @@ target: サーバ名 [command]*`halfop`* 指定したニックネームに half-operator 権を付与:: ........................................ /halfop <nick> [<nick>...] + * -yes + +nick: nick or mask (can start or end with "*" as wildcard) + *: give channel half-operator status to everybody on channel ........................................ [[command_irc_ignore]] @@ -422,6 +437,10 @@ server: 内部サーバ名 (デフォルトでは現在のサーバ) [command]*`op`* ニックネームにオペレータ権を付与:: ........................................ /op <nick> [<nick>...] + * -yes + +nick: nick or mask (can start or end with "*" as wildcard) + *: give channel operator status to everybody on channel ........................................ [[command_irc_oper]] @@ -719,6 +738,9 @@ server: サーバ名 [command]*`voice`* ニックネームに発言権を付与:: ........................................ /voice <nick> [<nick>...] + +nick: nick or mask (can start or end with "*" as wildcard) + *: give voice to everybody on channel ........................................ [[command_irc_wallchops]] @@ -20,8 +20,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.4.2-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2013-07-15 18:33+0200\n" -"PO-Revision-Date: 2013-06-10 09:13+0200\n" +"POT-Creation-Date: 2013-07-18 19:50+0200\n" +"PO-Revision-Date: 2013-07-18 19:51+0200\n" "Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "Language: cs\n" @@ -4250,6 +4250,14 @@ msgstr "%s%s: nemohu přidělit nový kanál" msgid "%s%s%s %s(%s%s%s)%s is back on server" msgstr "%s%s%s %s(%s%s%s)%s se zpet na serveru" +#, fuzzy, c-format +msgid "" +"%s%s: \"-yes\" argument is required for nick \"*\" (security reason), see /" +"help %s" +msgstr "" +"%sChyba: \"-yes\" argument je požadován pro reset kaláves (bezpečnostní " +"opatření)" + #, c-format msgid "%s: future away: %s" msgstr "%s: Budoucí zpráva o nepřítomnosit: %s" @@ -4744,12 +4752,35 @@ msgstr "odebrat status polo-operátora kanálu z přezdívky (přezdívek)" msgid "<nick> [<nick>...]" msgstr "<přezdívka> [<přezdívka>...]" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel half-operator status from everybody on channel except " +"yourself" +msgstr "" + msgid "remove channel operator status from nick(s)" msgstr "odebrat status operátora kanálu z přezdívky (přezdívek)" +#, fuzzy +msgid "<nick> [<nick>...] || * -yes" +msgstr "<přezdívka> [<přezdívka>...]" + +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel operator status from everybody on channel except " +"yourself" +msgstr "" + msgid "remove voice from nick(s)" msgstr "odebrat hlas z přezdívky (přezdívek)" +#, fuzzy +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove voice from everybody on channel" +msgstr "" +"jméno aliasu (může začínat nebo končit \"*\" jako zástupný znak) (volitelné)" + msgid "shutdown the server" msgstr "vypnout server" @@ -4777,6 +4808,11 @@ msgstr "" msgid "give channel half-operator status to nick(s)" msgstr "dát status polo-operátora kanálu přezdívce (přezdívkám)" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel half-operator status to everybody on channel" +msgstr "" + msgid "ignore nicks/hosts from servers or channels" msgstr "ignorovat přezdívky/hosty na serveru nebo kanálu" @@ -5186,6 +5222,11 @@ msgstr "" msgid "give channel operator status to nick(s)" msgstr "dát status operátora kanálu přezdívce (přezdívkám)" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel operator status to everybody on channel" +msgstr "" + msgid "get operator privileges" msgstr "dát práva operátora" @@ -5577,6 +5618,13 @@ msgstr "" msgid "give voice to nick(s)" msgstr "dá hlas přezdívce/přezdívkám" +#, fuzzy +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give voice to everybody on channel" +msgstr "" +"jméno aliasu (může začínat nebo končit \"*\" jako zástupný znak) (volitelné)" + msgid "send a notice to channel ops" msgstr "poslat notifikaci operátorům kanálu" @@ -9527,7 +9575,3 @@ msgstr "" msgid "Constants" msgstr "" - -#, fuzzy -#~ msgid "%s default keys (context: \"%s\"):\n" -#~ msgstr "%s výchozí klávesy:\n" @@ -22,8 +22,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.4.2-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2013-07-15 18:33+0200\n" -"PO-Revision-Date: 2013-07-02 22:20+0100\n" +"POT-Creation-Date: 2013-07-18 19:50+0200\n" +"PO-Revision-Date: 2013-07-18 19:51+0200\n" "Last-Translator: Nils Görs <weechatter@arcor.de>\n" "Language-Team: German <weechatter@arcor.de>\n" "Language: de_DE\n" @@ -4739,6 +4739,14 @@ msgstr "%s%s: Neuer Channel konnte nicht alloziert werden" msgid "%s%s%s %s(%s%s%s)%s is back on server" msgstr "%s%s%s %s(%s%s%s)%s hat sich wieder am Server angemeldet" +#, fuzzy, c-format +msgid "" +"%s%s: \"-yes\" argument is required for nick \"*\" (security reason), see /" +"help %s" +msgstr "" +"%sFehler: Das Argument \"-yes\" ist, aus Sicherheitsgründen, zum " +"zurücksetzen der Tastenbelegung notwendig" + #, c-format msgid "%s: future away: %s" msgstr "%s: künftige Abwesenheit: %s" @@ -5260,12 +5268,36 @@ msgstr "halb-Operator-Privilegien einem oder mehreren Nick(s) entziehen" msgid "<nick> [<nick>...]" msgstr "<nick> [<nick>...]" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel half-operator status from everybody on channel except " +"yourself" +msgstr "" + msgid "remove channel operator status from nick(s)" msgstr "Operator-Privilegien einem oder mehreren Nicknamen entziehen" +#, fuzzy +msgid "<nick> [<nick>...] || * -yes" +msgstr "<nick> [<nick>...]" + +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel operator status from everybody on channel except " +"yourself" +msgstr "" + msgid "remove voice from nick(s)" msgstr "Voice-Privilegien einem oder mehreren Nicknamen entziehen" +#, fuzzy +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove voice from everybody on channel" +msgstr "" +"Alias Name (darf mit einem \"*\" als Platzhalter beginnen oder enden) " +"(optional)" + msgid "shutdown the server" msgstr "Server herunterfahren" @@ -5293,6 +5325,11 @@ msgstr "" msgid "give channel half-operator status to nick(s)" msgstr "halb-Operator Status an Nick(s) vergeben" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel half-operator status to everybody on channel" +msgstr "" + msgid "ignore nicks/hosts from servers or channels" msgstr "Ignoriert Nicks/Hosts von Channels oder Servern" @@ -5710,6 +5747,11 @@ msgstr "" msgid "give channel operator status to nick(s)" msgstr "Channel-Operator Status an Nicknamen vergeben" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel operator status to everybody on channel" +msgstr "" + msgid "get operator privileges" msgstr "Operator Privilegien anfordern" @@ -6109,6 +6151,14 @@ msgstr "" msgid "give voice to nick(s)" msgstr "Voice an Nick(s) vergeben" +#, fuzzy +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give voice to everybody on channel" +msgstr "" +"Alias Name (darf mit einem \"*\" als Platzhalter beginnen oder enden) " +"(optional)" + msgid "send a notice to channel ops" msgstr "Nachricht an Channel-Operator verschicken" @@ -10422,211 +10472,3 @@ msgstr "Type" msgid "Constants" msgstr "Konstanten" - -#~ msgid "%s default keys (context: \"%s\"):\n" -#~ msgstr "%s Standardtastenbelegungen (Kontext: \"%s\"):\n" - -#~ msgid "proxy used for this server (optional)" -#~ msgstr "Proxy, der für diesen Server verwendet wird (optional)" - -#~ msgid "leaf: id: %d, parent: %d, plugin: \"%s\", buffer: \"%s\"" -#~ msgstr "Blatt: id: %d, Stamm: %d, Erweiterung: \"%s\", Buffer: \"%s\"" - -#~ msgid "node: id: %d, parent: %d, child1: %d, child2: %d, size: %d%% (%s)" -#~ msgstr "Node: id: %d, Stamm: %d, Kind1: %d, Kind2: %d, Größe: %d%% (%s)" - -#~ msgid "horizontal split" -#~ msgstr "horizontale Aufteilung" - -#~ msgid "vertical split" -#~ msgstr "vertikale Aufteilung" - -#~ msgid "Saved layout for windows:" -#~ msgstr "gespeicherte Layouts für Fenster:" - -#~ msgid "Layout saved for buffers (order of buffers)" -#~ msgstr "Layout der Buffer gesichert (Reihenfolge der Buffer)" - -#~ msgid "Layout saved for windows (buffer displayed by each window)" -#~ msgstr "" -#~ "Layout der Fenster gesichert (Buffer werden durch jedes Fenster " -#~ "dargestellt)" - -#~ msgid "Layout reset for buffers" -#~ msgstr "Zurücksetzen des Bufferlayouts" - -#~ msgid "Layout reset for windows" -#~ msgstr "Zurücksetzen des Fensterlayouts" - -#~ msgid "hide password displayed by nickserv" -#~ msgstr "Passwörter verstecken die durch NickServ angezeigt werden" - -#~ msgid "%s%s: error: name is not required for protocol \"%s\"" -#~ msgstr "%s%s: Fehler: ein Name ist für das Protokoll \"%s\" nicht notwendig" - -#~ msgid "%s%s: not enough memory to create new speller" -#~ msgstr "%s%s: Nicht genug Speicher um neue Rechtschreibung zu erstellen" - -#~ msgid "%s%s: cannot set socket option \"SO_REUSEADDR\"" -#~ msgstr "%s%s Fehler beim Erstellen der Socket-Option \"SO_REUSEADDR\"" - -#~ msgid "%s%s: cannot set socket option \"IPV6_V6ONLY\" to value %d" -#~ msgstr "" -#~ "%s%s der Wert %d kann nicht für die Socket-Option, \"IPV6_V6ONLY\", " -#~ "gesetzt werden" - -#~ msgid "%s%s: cannot set socket option \"SO_KEEPALIVE\"" -#~ msgstr "%s%s Fehler beim Erstellen der Socket-Option \"SO_KEEPALIVE\"" - -#~ msgid "%s%s: cannot create socket for xfer" -#~ msgstr "%s%s: Für den Transfer konnte kein Socket angelegt werden" - -#~ msgid "%s%s: not enough memory to parse file \"%s\"" -#~ msgstr "%s%s: Nicht genug Speicher um Datei \"%s\" zu analysieren" - -#~ msgid "%s%s: unable to run file \"%s\"" -#~ msgstr "%s%s: Kann Datei \"%s\" nicht ausführen" - -#~ msgid "%s%s: unknown error while loading file \"%s\"" -#~ msgstr "%s%s: unbekannter Fehler beim Laden der Datei \"%s\"" - -#~ msgid "%s: error loading script \"%s\" (bad name, spaces are forbidden)" -#~ msgstr "" -#~ "%s: Fehler beim Laden des Skriptes \"%s\" (fehlerhafter Name: Leerzeichen " -#~ "sind nicht erlaubt)" - -#~ msgid "%s%s: cannot create socket" -#~ msgstr "%s%s: Socket konnte nicht angelegt werden" - -#~ msgid "background color for window separators (when split)" -#~ msgstr "" -#~ "Hintergrundfarbe der Fenster-Separatoren im Chatfenster (bei geteiltem " -#~ "Bildschirm)" - -#~ msgid "No configuration option found" -#~ msgstr "Konfigurationsoption nicht gefunden" - -#~ msgid "%s%d%s configuration option found" -#~ msgid_plural "%s%d%s configuration options found" -#~ msgstr[0] "%s%d%s Konfigurationsoption gefunden" -#~ msgstr[1] "%s%d%s Konfigurationsoptionen gefunden" - -#~ msgid "%sError: configuration option \"%s\" not found" -#~ msgstr "%sFehler: Konfigurationsoption \"%s\" nicht gefunden" - -#~ msgid "[<option> [<value>]]" -#~ msgstr "[<option> [<value>]]" - -#~ msgid "automatically rejoin channels after kick" -#~ msgstr "Channels automatisch betreten, falls man rausgeworfen wurde" - -#~ msgid "prefix for error messages" -#~ msgstr "Präfix für Fehlermeldungen" - -#~ msgid "prefix for network messages" -#~ msgstr "Präfix für Netzwerkmeldungen" - -#~ msgid "prefix for action messages" -#~ msgstr "Präfix für Action-Nachrichten" - -#~ msgid "prefix for join messages" -#~ msgstr "Präfix für Join-Nachrichten" - -#~ msgid "prefix for quit messages" -#~ msgstr "Präfix für Quit-Nachrichten" - -#~ msgid "" -#~ "condition(s) for displaying bar (for bars of type \"window\"): \"active\" " -#~ "= window must be active, \"inactive\" = window must be inactive, " -#~ "\"nicklist\" = buffer must have a nicklist" -#~ msgstr "" -#~ "Bedingung(en) um eine Bar anzuzeigen (gilt für Bars des Typs \"window\"): " -#~ "\"active\" = window muss aktiv sein \"inactive\" = window muss inaktiv " -#~ "sein, \"nicklist\" = Buffer muss über eine Nickliste verfügen" - -#~ msgid "" -#~ "server: server name\n" -#~ " nick: nick (may be a mask)" -#~ msgstr "" -#~ "server: Servername\n" -#~ " nick: Nickname (oder eine Maske)" - -#~ msgid "use IPv6 protocol for server communication" -#~ msgstr "Server über IPv6 ansprechen" - -#~ msgid "global decoding charset" -#~ msgstr "globaler Zeichensatz zum dekodieren" - -#~ msgid "global encoding charset" -#~ msgstr "globaler Zeichensatz zum kodieren" - -#~ msgid "alt+d=back to list" -#~ msgstr "alt+d=zurück zur Auswahl" - -#~ msgid "%s: connecting to server %s/%d%s%s..." -#~ msgstr "%s: Verbinden zum Server %s/%d%s%s..." - -#~ msgid "%s: disconnected from server" -#~ msgstr "%s: Vom Server getrennt!" - -#~ msgid "display nick mode ((half)op/voice) before each nick" -#~ msgstr "" -#~ "vor dem Nicknamen wird der entsprechende Nickmode ((half)op/voice [@%+]) " -#~ "angezeigt" - -#~ msgid "%s: script \"%s\" held" -#~ msgstr "%s: Skript \"%s\" kann nicht überschrieben werden" - -#~ msgid "" -#~ "%s%s: cannot authenticate with SASL and mechanism DH-BLOWFISH because " -#~ "WeeChat was not built with libgcrypt support" -#~ msgstr "" -#~ "%s%s Authentifizierung mittels SASL und DH-BLOWFISH Mechanismus nicht " -#~ "möglich, da WeeChat nicht mit libgcrypt Unterstützung erstellt wurde" - -#~ msgid "smart completion for nicks (completes first with last speakers)" -#~ msgstr "" -#~ "intelligente Vervollständigung von Nicknamen (vervollständigt zuerst den " -#~ "letzten Nick, mit dem gesprochen wurde)" - -#~ msgid "ended on: " -#~ msgstr "geendet am: " - -#~ msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s" -#~ msgstr "%s%-26s Id: %d, Protokoll: %s, empfangen: %s, gesendet: %s" - -#~ msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s)" -#~ msgstr "%s: neuer Client von %s%s%s an Port %d (id: %d, Relaying: %s%s%s)" - -#~ msgid "text color" -#~ msgstr "Textfarbe" - -#~ msgid "background color" -#~ msgstr "Hintergrundfarbe" - -#~ msgid "text color of selected xfer line" -#~ msgstr "Farbe der ausgewählten Transfer-Zeile" - -#~ msgid "display message when (un)marking as away" -#~ msgstr "bei Abwesenheit und Rückkehr eine Nachricht anzeigen" - -#~ msgid "display channel modes in \"buffer_name\" bar item" -#~ msgstr "zeigt die Channel-Modi mittels \"buffer_name\" in der Bar-Item an" - -#~ msgid "%sError: name can not start with \"#\"" -#~ msgstr "%sFehler: Name darf nicht mit \"#\"beginnen" - -#~ msgid "%s%s: name can not start with \"#\"" -#~ msgstr "%s%s: Name darf nicht mit \"#\" beginnen" - -#~ msgid "string inserted after nick completion" -#~ msgstr "Nach Nick-Vervollständigung anzufügende Zeichenfolge" - -#~ msgid "display '+' if prefix is truncated" -#~ msgstr "Anzeige eines '+' falls das Präfix abgeschnitten ist" - -#~ msgid "<nick> <channel>" -#~ msgstr "<nick> <channel>" - -#~ msgid "mechanism for SASL authentication" -#~ msgstr "Vorrichtung zur SASL Authentifizierung" @@ -22,8 +22,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.4.2-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2013-07-15 18:33+0200\n" -"PO-Revision-Date: 2013-07-02 15:57+0200\n" +"POT-Creation-Date: 2013-07-18 19:50+0200\n" +"PO-Revision-Date: 2013-07-18 19:51+0200\n" "Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "Language: es\n" @@ -4451,6 +4451,14 @@ msgstr "%s%s: no se pudo crear un nuevo canal" msgid "%s%s%s %s(%s%s%s)%s is back on server" msgstr "%s%s%s %s(%s%s%s)%s ha regresado al servidor" +#, fuzzy, c-format +msgid "" +"%s%s: \"-yes\" argument is required for nick \"*\" (security reason), see /" +"help %s" +msgstr "" +"%sError: por seguridad, se requiere el argumento \"-yes\" para restaurar los " +"atajos" + #, c-format msgid "%s: future away: %s" msgstr "%s: ausencia futura: %s" @@ -4954,12 +4962,35 @@ msgstr "remueve el estado de semi-operador del canal de el/los apodo(s)" msgid "<nick> [<nick>...]" msgstr "<apodo> [<apodo>...]" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel half-operator status from everybody on channel except " +"yourself" +msgstr "" + msgid "remove channel operator status from nick(s)" msgstr "remueve el estado de operador del canal de el/los apodo(s)" +#, fuzzy +msgid "<nick> [<nick>...] || * -yes" +msgstr "<apodo> [<apodo>...]" + +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel operator status from everybody on channel except " +"yourself" +msgstr "" + msgid "remove voice from nick(s)" msgstr "remueve voz de el/los apodo(s)" +#, fuzzy +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove voice from everybody on channel" +msgstr "" +"nombre del alias (puede empezar o terminar con \"*\" como comodín) (opcional)" + msgid "shutdown the server" msgstr "cerrar el servidor" @@ -4987,6 +5018,11 @@ msgstr "" msgid "give channel half-operator status to nick(s)" msgstr "dar el estado de semi-operador del canal a el/los apodo(s)" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel half-operator status to everybody on channel" +msgstr "" + msgid "ignore nicks/hosts from servers or channels" msgstr "ignorar apodos/hosts en servidores o canales" @@ -5397,6 +5433,11 @@ msgstr "" msgid "give channel operator status to nick(s)" msgstr "dar el estado de operador del canal a el/los apodo(s)" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel operator status to everybody on channel" +msgstr "" + msgid "get operator privileges" msgstr "obtener privilegios de operador" @@ -5790,6 +5831,13 @@ msgstr "" msgid "give voice to nick(s)" msgstr "da voz a el/los apodo(s)" +#, fuzzy +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give voice to everybody on channel" +msgstr "" +"nombre del alias (puede empezar o terminar con \"*\" como comodín) (opcional)" + msgid "send a notice to channel ops" msgstr "envía un aviso a los ops del canal" @@ -9777,6 +9825,3 @@ msgstr "Tipo" msgid "Constants" msgstr "Constantes" - -#~ msgid "%s default keys (context: \"%s\"):\n" -#~ msgstr "teclas por defecto de %s (contexto: \"%s\"):\n" @@ -21,8 +21,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.4.2-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2013-07-15 18:33+0200\n" -"PO-Revision-Date: 2013-07-15 18:35+0200\n" +"POT-Creation-Date: 2013-07-18 19:50+0200\n" +"PO-Revision-Date: 2013-07-18 19:51+0200\n" "Last-Translator: Sebastien Helleu <flashcode@flashtux.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "Language: fr\n" @@ -4618,6 +4618,14 @@ msgid "%s%s%s %s(%s%s%s)%s is back on server" msgstr "%s%s%s %s(%s%s%s)%s est de retour sur le serveur" #, c-format +msgid "" +"%s%s: \"-yes\" argument is required for nick \"*\" (security reason), see /" +"help %s" +msgstr "" +"%s%s: le paramètre \"-yes\" est requis pour le pseudo \"*\" (raison de " +"sécurité), voir /help %s" + +#, c-format msgid "%s: future away: %s" msgstr "%s: future absence: %s" @@ -5125,12 +5133,43 @@ msgstr "retirer le statut de demi-opérateur du canal à/aux pseudo(s)" msgid "<nick> [<nick>...]" msgstr "<pseudo> [<pseudo>...]" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel half-operator status from everybody on channel except " +"yourself" +msgstr "" +"pseudo: pseudo ou masque (peut démarrer ou se terminer par \"*\" comme " +"joker)\n" +" *: retirer le statut de demi-opérateur de tout le monde sur le canal " +"excepté vous-même" + msgid "remove channel operator status from nick(s)" msgstr "retirer le statut d'opérateur du canal à/aux pseudo(s)" +msgid "<nick> [<nick>...] || * -yes" +msgstr "<pseudo> [<pseudo>...] || * -yes" + +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel operator status from everybody on channel except " +"yourself" +msgstr "" +"pseudo: pseudo ou masque (peut démarrer ou se terminer par \"*\" comme " +"joker)\n" +" *: retirer le statut d'opérateur de tout le monde sur le canal excepté " +"vous-même" + msgid "remove voice from nick(s)" msgstr "retirer la voix du/des pseudo(s)" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove voice from everybody on channel" +msgstr "" +"pseudo: pseudo ou masque (peut démarrer ou se terminer par \"*\" comme " +"joker)\n" +" *: retirer la voix de tout le monde sur le canal" + msgid "shutdown the server" msgstr "arrêter le serveur" @@ -5158,6 +5197,14 @@ msgstr "" msgid "give channel half-operator status to nick(s)" msgstr "donner le statut de demi-opérateur à un/des pseudo(s)" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel half-operator status to everybody on channel" +msgstr "" +"pseudo: pseudo ou masque (peut démarrer ou se terminer par \"*\" comme " +"joker)\n" +" *: donner le statut de demi-opérateur à tout le monde sur le canal" + msgid "ignore nicks/hosts from servers or channels" msgstr "ignorer des pseudos/hôtes de serveurs ou canaux" @@ -5569,7 +5616,15 @@ msgstr "" " /notify add toto freenode -away" msgid "give channel operator status to nick(s)" -msgstr "donner le statut opérateur à un/des pseudo(s)" +msgstr "donner le statut d'opérateur à un/des pseudo(s)" + +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel operator status to everybody on channel" +msgstr "" +"pseudo: pseudo ou masque (peut démarrer ou se terminer par \"*\" comme " +"joker)\n" +" *: donner le statut d'opérateur à tout le monde sur le canal" msgid "get operator privileges" msgstr "obtenir le statut d'opérateur" @@ -5708,7 +5763,7 @@ msgstr "" " canal: canal" msgid "change mode on channel, without having operator status" -msgstr "changer le mode du canal, sans avoir le statut opérateur" +msgstr "changer le mode du canal, sans avoir le statut d'opérateur" msgid "<channel> <mode>" msgstr "<canal> <mode>" @@ -5963,6 +6018,14 @@ msgstr "" msgid "give voice to nick(s)" msgstr "donner la voix à/aux pseudo(s)" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give voice to everybody on channel" +msgstr "" +"pseudo: pseudo ou masque (peut démarrer ou se terminer par \"*\" comme " +"joker)\n" +" *: donner la voix à tout le monde sur le canal" + msgid "send a notice to channel ops" msgstr "envoyer une notice aux opérateurs du canal" @@ -10161,6 +10224,3 @@ msgstr "Type" msgid "Constants" msgstr "Constantes" - -#~ msgid "%s default keys (context: \"%s\"):\n" -#~ msgstr "Touches par défaut %s (contexte: \"%s\"):\n" @@ -20,8 +20,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.4.2-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2013-07-15 18:33+0200\n" -"PO-Revision-Date: 2013-07-02 15:57+0200\n" +"POT-Creation-Date: 2013-07-18 19:50+0200\n" +"PO-Revision-Date: 2013-07-18 19:51+0200\n" "Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "Language: hu\n" @@ -3848,6 +3848,14 @@ msgid "%s%s%s %s(%s%s%s)%s is back on server" msgstr "%s%s %s(%s%s%s)%s belépett a(z) %s%s szobába\n" #, fuzzy, c-format +msgid "" +"%s%s: \"-yes\" argument is required for nick \"*\" (security reason), see /" +"help %s" +msgstr "" +"%s \"-yes\" paraméter megadása kötelező a billentyűparancsok " +"visszaállításához (biztonsági okokból)\n" + +#, fuzzy, c-format msgid "%s: future away: %s" msgstr "CTCP %sVERSION%s válasz %s%s%s felhasználótól: %s\n" @@ -4314,14 +4322,35 @@ msgstr "elveszi az operátori jogot a felhasználó(k)tól" msgid "<nick> [<nick>...]" msgstr "név [név...]" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel half-operator status from everybody on channel except " +"yourself" +msgstr "" + #, fuzzy msgid "remove channel operator status from nick(s)" msgstr "elveszi az operátori jogot a felhasználó(k)tól" #, fuzzy +msgid "<nick> [<nick>...] || * -yes" +msgstr "név [név...]" + +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel operator status from everybody on channel except " +"yourself" +msgstr "" + +#, fuzzy msgid "remove voice from nick(s)" msgstr "elveszi a voice jogot a felhasználó(k)tól" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove voice from everybody on channel" +msgstr "" + msgid "shutdown the server" msgstr "szerver leállítása" @@ -4352,6 +4381,11 @@ msgstr "" msgid "give channel half-operator status to nick(s)" msgstr "operátori jogok biztosítása felhasználó(k)nak" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel half-operator status to everybody on channel" +msgstr "" + msgid "ignore nicks/hosts from servers or channels" msgstr "" @@ -4699,6 +4733,11 @@ msgstr "" msgid "give channel operator status to nick(s)" msgstr "operátori jogok biztosítása felhasználó(k)nak" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel operator status to everybody on channel" +msgstr "" + msgid "get operator privileges" msgstr "operátori jogok megszerzése" @@ -5130,6 +5169,11 @@ msgstr "" msgid "give voice to nick(s)" msgstr "voice jog biztosítása a felhasználó(k)nak" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give voice to everybody on channel" +msgstr "" + #, fuzzy msgid "send a notice to channel ops" msgstr "üzenet küldése egy felhasználónak vagy szobának" @@ -8984,7 +9028,3 @@ msgstr "" msgid "Constants" msgstr "" - -#, fuzzy -#~ msgid "%s default keys (context: \"%s\"):\n" -#~ msgstr "%s alapértelmezett billentyűk:\n" @@ -20,8 +20,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.4.2-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2013-07-15 18:33+0200\n" -"PO-Revision-Date: 2013-06-14 19:39-0300\n" +"POT-Creation-Date: 2013-07-18 19:50+0200\n" +"PO-Revision-Date: 2013-07-18 19:51+0200\n" "Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "Language: it\n" @@ -4525,6 +4525,14 @@ msgstr "%s%s: impossibile allocare un nuovo canale" msgid "%s%s%s %s(%s%s%s)%s is back on server" msgstr "%s%s%s %s(%s%s%s)%s è tornato sul server" +#, fuzzy, c-format +msgid "" +"%s%s: \"-yes\" argument is required for nick \"*\" (security reason), see /" +"help %s" +msgstr "" +"%sErrore: l'argomento \"-yes\" è richiesto per il reset dei tasti (motivi di " +"sicurezza)" + #, c-format msgid "%s: future away: %s" msgstr "%s: prossima assenza: %s" @@ -5026,12 +5034,36 @@ msgstr "revoca lo stato di half-op del canale da uno o più nick" msgid "<nick> [<nick>...]" msgstr "<nick> [<nick>...]" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel half-operator status from everybody on channel except " +"yourself" +msgstr "" + msgid "remove channel operator status from nick(s)" msgstr "revoca lo stato di operatore del canale da uno o più nick" +#, fuzzy +msgid "<nick> [<nick>...] || * -yes" +msgstr "<nick> [<nick>...]" + +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel operator status from everybody on channel except " +"yourself" +msgstr "" + msgid "remove voice from nick(s)" msgstr "revoca il voice da uno o più nick" +#, fuzzy +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove voice from everybody on channel" +msgstr "" +"nome alias (può iniziare o terminare con \"*\" come carattere jolly) " +"(opzionale)" + msgid "shutdown the server" msgstr "arresta il server" @@ -5059,6 +5091,11 @@ msgstr "" msgid "give channel half-operator status to nick(s)" msgstr "concede lo stato di half-op del canale ad uno o più nick" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel half-operator status to everybody on channel" +msgstr "" + msgid "ignore nicks/hosts from servers or channels" msgstr "ignora nick/host dai server o dai canali" @@ -5468,6 +5505,11 @@ msgstr "" msgid "give channel operator status to nick(s)" msgstr "concede lo stato di operatore del canale ad uno o più nick" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel operator status to everybody on channel" +msgstr "" + msgid "get operator privileges" msgstr "ottiene i privilegi di operatore" @@ -5860,6 +5902,14 @@ msgstr "" msgid "give voice to nick(s)" msgstr "concede il voice ad uno o più utenti" +#, fuzzy +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give voice to everybody on channel" +msgstr "" +"nome alias (può iniziare o terminare con \"*\" come carattere jolly) " +"(opzionale)" + msgid "send a notice to channel ops" msgstr "invia una notifica agli operatori del canale" @@ -9868,6 +9918,3 @@ msgstr "Tipo" msgid "Constants" msgstr "Costanti" - -#~ msgid "%s default keys (context: \"%s\"):\n" -#~ msgstr "%s tasti predefiniti (contesto: \"%s\"):\n" @@ -20,8 +20,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.4.2-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2013-07-15 18:33+0200\n" -"PO-Revision-Date: 2013-07-02 16:02+0200\n" +"POT-Creation-Date: 2013-07-18 19:50+0200\n" +"PO-Revision-Date: 2013-07-18 19:51+0200\n" "Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n" "Language-Team: Japanese <https://github.com/l/WeeChat>\n" "Language: ja\n" @@ -4440,6 +4440,14 @@ msgstr "%s%s: 新しいチャンネルの割り当てに失敗" msgid "%s%s%s %s(%s%s%s)%s is back on server" msgstr "%s%s%s %s(%s%s%s)%s がサーバに戻りました" +#, fuzzy, c-format +msgid "" +"%s%s: \"-yes\" argument is required for nick \"*\" (security reason), see /" +"help %s" +msgstr "" +"%sエラー: キーをリセットするには \"-yes\" 引数が必要です (セキュリティ上の理" +"由で)" + #, c-format msgid "%s: future away: %s" msgstr "%s: 離席予約: %s" @@ -4933,12 +4941,36 @@ msgstr "ニックネームから half-operator 権を剥奪" msgid "<nick> [<nick>...]" msgstr "<nick> [<nick>...]" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel half-operator status from everybody on channel except " +"yourself" +msgstr "" + msgid "remove channel operator status from nick(s)" msgstr "ニックネームからチャンネルオペレータ権を剥奪" +#, fuzzy +msgid "<nick> [<nick>...] || * -yes" +msgstr "<nick> [<nick>...]" + +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel operator status from everybody on channel except " +"yourself" +msgstr "" + msgid "remove voice from nick(s)" msgstr "ニックネームから発言権を剥奪" +#, fuzzy +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove voice from everybody on channel" +msgstr "" +"別名の名前 (ワイルドカードとして \"*\" で始めるか終わるかできます) (オプショ" +"ン)" + msgid "shutdown the server" msgstr "サーバのシャットダウン" @@ -4965,6 +4997,11 @@ msgstr "" msgid "give channel half-operator status to nick(s)" msgstr "指定したニックネームに half-operator 権を付与" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel half-operator status to everybody on channel" +msgstr "" + msgid "ignore nicks/hosts from servers or channels" msgstr "あるサーバかチャンネルで、指定したニックネーム/ホスト名を無視" @@ -5371,6 +5408,11 @@ msgstr "" msgid "give channel operator status to nick(s)" msgstr "ニックネームにオペレータ権を付与" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel operator status to everybody on channel" +msgstr "" + msgid "get operator privileges" msgstr "オペレータ権を入手" @@ -5759,6 +5801,14 @@ msgstr "" msgid "give voice to nick(s)" msgstr "ニックネームに発言権を付与" +#, fuzzy +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give voice to everybody on channel" +msgstr "" +"別名の名前 (ワイルドカードとして \"*\" で始めるか終わるかできます) (オプショ" +"ン)" + msgid "send a notice to channel ops" msgstr "チャンネルオペレータに notice を送信" @@ -9824,6 +9874,3 @@ msgstr "タイプ" msgid "Constants" msgstr "定数" - -#~ msgid "%s default keys (context: \"%s\"):\n" -#~ msgstr "%s デフォルトキー (コンテキスト: \"%s\"):\n" @@ -21,8 +21,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.4.2-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2013-07-15 18:33+0200\n" -"PO-Revision-Date: 2013-07-02 15:37+0200\n" +"POT-Creation-Date: 2013-07-18 19:50+0200\n" +"PO-Revision-Date: 2013-07-18 19:51+0200\n" "Last-Translator: Krzysztof Korościk <soltys@szluug.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "Language: pl\n" @@ -4538,6 +4538,14 @@ msgstr "%s%s: nie można przydzielić nowego kanału" msgid "%s%s%s %s(%s%s%s)%s is back on server" msgstr "%s%s%s %s(%s%s%s)%s jest z powrotem na serwerze" +#, fuzzy, c-format +msgid "" +"%s%s: \"-yes\" argument is required for nick \"*\" (security reason), see /" +"help %s" +msgstr "" +"%sBłąd: argument \"-yes\" wymagany do zresetowania ustawień klawiszy " +"(względy bezpieczeństwa)" + #, c-format msgid "%s: future away: %s" msgstr "%s: przyszła nieobecność: %s" @@ -5039,12 +5047,34 @@ msgstr "usuwa status halfopa kanału" msgid "<nick> [<nick>...]" msgstr "<nick> [<nick>...]" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel half-operator status from everybody on channel except " +"yourself" +msgstr "" + msgid "remove channel operator status from nick(s)" msgstr "usuwa status operatora kanału" +#, fuzzy +msgid "<nick> [<nick>...] || * -yes" +msgstr "<nick> [<nick>...]" + +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel operator status from everybody on channel except " +"yourself" +msgstr "" + msgid "remove voice from nick(s)" msgstr "usuwa flagę voice" +#, fuzzy +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove voice from everybody on channel" +msgstr "nazwa aliasu (może się zaczynać lub kończyć \"*\") (opcjonalne)" + msgid "shutdown the server" msgstr "wyłącza serwer" @@ -5071,6 +5101,11 @@ msgstr "" msgid "give channel half-operator status to nick(s)" msgstr "nadaje status halfopa nickowi(m)" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel half-operator status to everybody on channel" +msgstr "" + msgid "ignore nicks/hosts from servers or channels" msgstr "ignoruje nicki/hosty z serwera lub kanałów" @@ -5481,6 +5516,11 @@ msgstr "" msgid "give channel operator status to nick(s)" msgstr "nadaje uprawienia operatora kanału" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel operator status to everybody on channel" +msgstr "" + msgid "get operator privileges" msgstr "uzyskaj uprawnienia operatora" @@ -5872,6 +5912,12 @@ msgstr "" msgid "give voice to nick(s)" msgstr "daje głos (voice) nickowi(-m)" +#, fuzzy +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give voice to everybody on channel" +msgstr "nazwa aliasu (może się zaczynać lub kończyć \"*\") (opcjonalne)" + msgid "send a notice to channel ops" msgstr "wysyła powiadomienie do operatorów kanału" @@ -9984,6 +10030,3 @@ msgstr "Typ" msgid "Constants" msgstr "Stałe" - -#~ msgid "%s default keys (context: \"%s\"):\n" -#~ msgstr "%s domyślne skróty klawiszowe (kontekst: \"%s\"):\n" diff --git a/po/pt_BR.po b/po/pt_BR.po index df63682a3..a1b53cb17 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -21,8 +21,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.4.2-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2013-07-15 18:33+0200\n" -"PO-Revision-Date: 2013-06-10 09:19+0200\n" +"POT-Creation-Date: 2013-07-18 19:50+0200\n" +"PO-Revision-Date: 2013-07-18 19:51+0200\n" "Last-Translator: Sergio Durigan Junior <sergiosdj@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "Language: pt_BR\n" @@ -4284,6 +4284,14 @@ msgstr "" msgid "%s%s%s %s(%s%s%s)%s is back on server" msgstr "" +#, fuzzy, c-format +msgid "" +"%s%s: \"-yes\" argument is required for nick \"*\" (security reason), see /" +"help %s" +msgstr "" +"%sErro: argumento \"-yes\" é requerido para as teclas de reset (por motivo " +"de segurança)" + #, c-format msgid "%s: future away: %s" msgstr "" @@ -4704,12 +4712,36 @@ msgstr "remover status de semi-operador do(s) apelido(s)" msgid "<nick> [<nick>...]" msgstr "<apelido> [<apelido>...]" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel half-operator status from everybody on channel except " +"yourself" +msgstr "" + msgid "remove channel operator status from nick(s)" msgstr "remover status de operador de canal do(s) apelido(s)" +#, fuzzy +msgid "<nick> [<nick>...] || * -yes" +msgstr "<apelido> [<apelido>...]" + +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel operator status from everybody on channel except " +"yourself" +msgstr "" + msgid "remove voice from nick(s)" msgstr "" +#, fuzzy +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove voice from everybody on channel" +msgstr "" +"nome do atalho (pode começar ou terminar com \"*\" como um coringa) " +"(opcional)" + msgid "shutdown the server" msgstr "desligar o servidor" @@ -4732,6 +4764,11 @@ msgstr "" msgid "give channel half-operator status to nick(s)" msgstr "dar status de semi-operador de canal ao(s) apelido(s)" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel half-operator status to everybody on channel" +msgstr "" + msgid "ignore nicks/hosts from servers or channels" msgstr "ignorar apelidos/hosts de servidores ou canais" @@ -5020,6 +5057,11 @@ msgstr "" msgid "give channel operator status to nick(s)" msgstr "" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel operator status to everybody on channel" +msgstr "" + msgid "get operator privileges" msgstr "" @@ -5326,6 +5368,14 @@ msgstr "" msgid "give voice to nick(s)" msgstr "" +#, fuzzy +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give voice to everybody on channel" +msgstr "" +"nome do atalho (pode começar ou terminar com \"*\" como um coringa) " +"(opcional)" + msgid "send a notice to channel ops" msgstr "" @@ -9150,6 +9200,3 @@ msgstr "" msgid "Constants" msgstr "" - -#~ msgid "%s default keys (context: \"%s\"):\n" -#~ msgstr "Teclas de atalho padrão do %s (contexto \"%s\"):\n" @@ -21,8 +21,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.4.2-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2013-07-15 18:33+0200\n" -"PO-Revision-Date: 2013-07-02 16:02+0200\n" +"POT-Creation-Date: 2013-07-18 19:50+0200\n" +"PO-Revision-Date: 2013-07-18 19:52+0200\n" "Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "Language: ru\n" @@ -3881,6 +3881,13 @@ msgid "%s%s%s %s(%s%s%s)%s is back on server" msgstr "%s%s %s(%s%s%s)%s зашёл на канал %s%s\n" #, fuzzy, c-format +msgid "" +"%s%s: \"-yes\" argument is required for nick \"*\" (security reason), see /" +"help %s" +msgstr "" +"%s аргумент \"-yes\" необходим для сброса ключей (в целях безопасности)\n" + +#, fuzzy, c-format msgid "%s: future away: %s" msgstr "Планирование статуса на %s%s%s: %s\n" @@ -4351,14 +4358,35 @@ msgstr "снимает статус оператора с ника(-ов)" msgid "<nick> [<nick>...]" msgstr "ник [ник ...]" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel half-operator status from everybody on channel except " +"yourself" +msgstr "" + #, fuzzy msgid "remove channel operator status from nick(s)" msgstr "снимает статус оператора с ника(-ов)" #, fuzzy +msgid "<nick> [<nick>...] || * -yes" +msgstr "ник [ник ...]" + +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel operator status from everybody on channel except " +"yourself" +msgstr "" + +#, fuzzy msgid "remove voice from nick(s)" msgstr "снимает право голоса с ника(-ов)" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove voice from everybody on channel" +msgstr "" + msgid "shutdown the server" msgstr "выключить сервер" @@ -4388,6 +4416,11 @@ msgstr "" msgid "give channel half-operator status to nick(s)" msgstr "даёт статус оператора канала нику(-ам)" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel half-operator status to everybody on channel" +msgstr "" + msgid "ignore nicks/hosts from servers or channels" msgstr "" @@ -4733,6 +4766,11 @@ msgstr "" msgid "give channel operator status to nick(s)" msgstr "даёт статус оператора канала нику(-ам)" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel operator status to everybody on channel" +msgstr "" + msgid "get operator privileges" msgstr "получить привилегии оператора" @@ -5159,6 +5197,11 @@ msgstr "" msgid "give voice to nick(s)" msgstr "даёт право голоса нику(-ам)" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give voice to everybody on channel" +msgstr "" + #, fuzzy msgid "send a notice to channel ops" msgstr "отправить сообщение нику или на канал" @@ -9004,7 +9047,3 @@ msgstr "" msgid "Constants" msgstr "" - -#, fuzzy -#~ msgid "%s default keys (context: \"%s\"):\n" -#~ msgstr "%s клавиши по умолчанию:\n" @@ -20,8 +20,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.4.2-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2013-07-15 18:33+0200\n" -"PO-Revision-Date: 2013-06-28 13:51+0200\n" +"POT-Creation-Date: 2013-07-18 19:50+0200\n" +"PO-Revision-Date: 2013-07-18 19:52+0200\n" "Last-Translator: Hasan Kiran <sunder67@hotmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "Language: tr\n" @@ -3437,6 +3437,12 @@ msgid "%s%s%s %s(%s%s%s)%s is back on server" msgstr "" #, c-format +msgid "" +"%s%s: \"-yes\" argument is required for nick \"*\" (security reason), see /" +"help %s" +msgstr "" + +#, c-format msgid "%s: future away: %s" msgstr "" @@ -3856,12 +3862,33 @@ msgstr "" msgid "<nick> [<nick>...]" msgstr "<rumuz> [<rumuz>...]" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel half-operator status from everybody on channel except " +"yourself" +msgstr "" + msgid "remove channel operator status from nick(s)" msgstr "" +#, fuzzy +msgid "<nick> [<nick>...] || * -yes" +msgstr "<rumuz> [<rumuz>...]" + +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel operator status from everybody on channel except " +"yourself" +msgstr "" + msgid "remove voice from nick(s)" msgstr "" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove voice from everybody on channel" +msgstr "" + msgid "shutdown the server" msgstr "" @@ -3884,6 +3911,11 @@ msgstr "" msgid "give channel half-operator status to nick(s)" msgstr "" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel half-operator status to everybody on channel" +msgstr "" + msgid "ignore nicks/hosts from servers or channels" msgstr "" @@ -4169,6 +4201,11 @@ msgstr "" msgid "give channel operator status to nick(s)" msgstr "" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel operator status to everybody on channel" +msgstr "" + msgid "get operator privileges" msgstr "" @@ -4514,6 +4551,11 @@ msgstr "" msgid "give voice to nick(s)" msgstr "" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give voice to everybody on channel" +msgstr "" + msgid "send a notice to channel ops" msgstr "" @@ -8000,6 +8042,3 @@ msgstr "Tür" msgid "Constants" msgstr "" - -#~ msgid "%s default keys (context: \"%s\"):\n" -#~ msgstr "%s default keys (context: \"%s\"):\n" diff --git a/po/weechat.pot b/po/weechat.pot index c5efdddb9..df073ba7f 100644 --- a/po/weechat.pot +++ b/po/weechat.pot @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.4.1-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2013-07-15 18:33+0200\n" +"POT-Creation-Date: 2013-07-18 19:50+0200\n" "PO-Revision-Date: 2013-02-14 18:20+0100\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -3447,6 +3447,12 @@ msgid "%s%s%s %s(%s%s%s)%s is back on server" msgstr "" #, c-format +msgid "" +"%s%s: \"-yes\" argument is required for nick \"*\" (security reason), see /" +"help %s" +msgstr "" + +#, c-format msgid "%s: future away: %s" msgstr "" @@ -3866,12 +3872,32 @@ msgstr "" msgid "<nick> [<nick>...]" msgstr "" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel half-operator status from everybody on channel except " +"yourself" +msgstr "" + msgid "remove channel operator status from nick(s)" msgstr "" +msgid "<nick> [<nick>...] || * -yes" +msgstr "" + +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove channel operator status from everybody on channel except " +"yourself" +msgstr "" + msgid "remove voice from nick(s)" msgstr "" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: remove voice from everybody on channel" +msgstr "" + msgid "shutdown the server" msgstr "" @@ -3894,6 +3920,11 @@ msgstr "" msgid "give channel half-operator status to nick(s)" msgstr "" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel half-operator status to everybody on channel" +msgstr "" + msgid "ignore nicks/hosts from servers or channels" msgstr "" @@ -4175,6 +4206,11 @@ msgstr "" msgid "give channel operator status to nick(s)" msgstr "" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give channel operator status to everybody on channel" +msgstr "" + msgid "get operator privileges" msgstr "" @@ -4479,6 +4515,11 @@ msgstr "" msgid "give voice to nick(s)" msgstr "" +msgid "" +"nick: nick or mask (can start or end with \"*\" as wildcard)\n" +" *: give voice to everybody on channel" +msgstr "" + msgid "send a notice to channel ops" msgstr "" diff --git a/src/plugins/irc/irc-command.c b/src/plugins/irc/irc-command.c index b9e7dd2e7..15d23b8bb 100644 --- a/src/plugins/irc/irc-command.c +++ b/src/plugins/irc/irc-command.c @@ -51,34 +51,190 @@ /* * Sends mode change for many nicks on a channel. + * + * Argument "set" is "+" or "-", mode can be "o", "h", "v", or any other mode + * supported by server. + * + * Many messages can be sent if the number of nicks is greater than the server + * limit (number of modes allowed in a single message). In this case, the first + * message is sent with high priority, and subsequent messages are sent with low + * priority. */ void -irc_command_mode_nicks (struct t_irc_server *server, const char *channel, - const char *set, const char *mode, int argc, char **argv) +irc_command_mode_nicks (struct t_irc_server *server, + struct t_irc_channel *channel, + const char *command, + const char *set, const char *mode, + int argc, char **argv) { - int i, length; - char *command; + int i, arg_yes, max_modes, modes_added, msg_priority, prefix_found; + long number; + char *error, prefix, modes[128+1], nicks[1024]; + const char *ptr_modes; + struct t_irc_nick *ptr_nick; + struct t_hashtable *nicks_sent; - length = 0; - for (i = 1; i < argc; i++) - length += strlen (argv[i]) + 1; - length += strlen (channel) + (argc * strlen (mode)) + 32; - command = malloc (length); - if (command) + if (argc < 2) + return; + + arg_yes = 0; + if ((argc > 2) && (strcmp (argv[argc - 1], "-yes") == 0)) + { + argc--; + arg_yes = 1; + } + + if (!arg_yes) { - snprintf (command, length, "MODE %s %s", channel, set); for (i = 1; i < argc; i++) - strcat (command, mode); + { + if (strcmp (argv[i], "*") == 0) + { + weechat_printf (NULL, + _("%s%s: \"-yes\" argument is required for " + "nick \"*\" (security reason), see /help %s"), + weechat_prefix ("error"), IRC_PLUGIN_NAME, + command); + return; + } + } + } + + /* default is 4 modes max (if server did not send the info) */ + max_modes = 4; + + /* + * look for the max modes supported in one command by the server + * (in isupport value, with the format: "MODES=4") + */ + ptr_modes = irc_server_get_isupport_value (server, "MODES"); + if (ptr_modes) + { + error = NULL; + number = strtol (ptr_modes, &error, 10); + if (error && !error[0]) + { + max_modes = number; + if (max_modes < 1) + max_modes = 1; + if (max_modes > 128) + max_modes = 128; + max_modes = (number >= 1) ? number : 1; + } + } + + /* get prefix for the mode (example: prefix == '@' for mode 'o') */ + prefix = irc_server_get_prefix_char_for_mode (server, mode[0]); + + /* + * first message has high priority and subsequent messages have low priority + * (so for example in case of "/op *" sent as multiple messages, the user + * can still send some messages which will have higher priority than the + * "MODE" messages we are sending now) + */ + msg_priority = IRC_SERVER_SEND_OUTQ_PRIO_HIGH; + + modes_added = 0; + modes[0] = '\0'; + nicks[0] = '\0'; + + nicks_sent = weechat_hashtable_new (128, + WEECHAT_HASHTABLE_STRING, + WEECHAT_HASHTABLE_STRING, + NULL, + NULL); + if (!nicks_sent) + return; + + for (ptr_nick = channel->nicks; ptr_nick; ptr_nick = ptr_nick->next_nick) + { + /* if nick was already sent, ignore it */ + if (weechat_hashtable_has_key (nicks_sent, ptr_nick->name)) + continue; + for (i = 1; i < argc; i++) { - strcat (command, " "); - strcat (command, argv[i]); + if (weechat_string_match (ptr_nick->name, argv[i], 0)) + { + /* + * self nick is excluded if both conditions are true: + * - set+mode is "-o" or "-h" (commands /deop, /dehalfop) + * - one wildcard is used in argument + * (for example: "/deop *" or "/deop fl*") + */ + if (set[0] == '-' + && (mode[0] == 'o' || mode[0] == 'h') + && argv[i][0] + && ((argv[i][0] == '*') + || (argv[i][strlen (argv[i]) - 1] == '*')) + && (strcmp (server->nick, ptr_nick->name) == 0)) + { + continue; + } + + /* + * check if the nick mode is already OK, according to + * set/mode asked: if already OK, then the nick is ignored + */ + if (prefix != ' ') + { + prefix_found = (strchr (ptr_nick->prefixes, prefix) != NULL); + if (((set[0] == '+') && prefix_found) + || ((set[0] == '-') && !prefix_found)) + { + /* + * mode +X and nick has already +X or mode -X and nick + * does not have +X + */ + continue; + } + } + + /* + * if we reached the max number of modes allowed, send the MODE + * command now and flush the modes/nicks strings + */ + if (modes_added == max_modes) + { + irc_server_sendf (server, msg_priority, NULL, + "MODE %s %s%s %s", + channel->name, set, modes, nicks); + modes[0] = '\0'; + nicks[0] = '\0'; + modes_added = 0; + /* subsequent messages will have low priority */ + msg_priority = IRC_SERVER_SEND_OUTQ_PRIO_LOW; + } + + /* add one mode letter (after +/-) and add the nick in nicks */ + if (strlen (nicks) + 1 + strlen (ptr_nick->name) + 1 < sizeof (nicks)) + { + strcat (modes, mode); + if (nicks[0]) + strcat (nicks, " "); + strcat (nicks, ptr_nick->name); + modes_added++; + weechat_hashtable_set (nicks_sent, ptr_nick->name, NULL); + /* + * nick just added, ignore other arguments that would add + * the same nick + */ + break; + } + } } - irc_server_sendf (server, IRC_SERVER_SEND_OUTQ_PRIO_HIGH, NULL, - "%s", command); - free (command); } + + /* send a final MODE command if some nicks are remaining */ + if (modes[0] && nicks[0]) + { + irc_server_sendf (server, msg_priority, NULL, + "MODE %s %s%s %s", + channel->name, set, modes, nicks); + } + + weechat_hashtable_free (nicks_sent); } /* @@ -1314,8 +1470,8 @@ irc_command_dehalfop (void *data, struct t_gui_buffer *buffer, int argc, } else { - irc_command_mode_nicks (ptr_server, ptr_channel->name, - "-", "h", argc, argv); + irc_command_mode_nicks (ptr_server, ptr_channel, + "dehalfop", "-", "h", argc, argv); } } else @@ -1355,8 +1511,8 @@ irc_command_deop (void *data, struct t_gui_buffer *buffer, int argc, } else { - irc_command_mode_nicks (ptr_server, ptr_channel->name, - "-", "o", argc, argv); + irc_command_mode_nicks (ptr_server, ptr_channel, + "deop", "-", "o", argc, argv); } } else @@ -1396,8 +1552,8 @@ irc_command_devoice (void *data, struct t_gui_buffer *buffer, int argc, } else { - irc_command_mode_nicks (ptr_server, ptr_channel->name, - "-", "v", argc, argv); + irc_command_mode_nicks (ptr_server, ptr_channel, + "devoice", "-", "v", argc, argv); } } else @@ -1618,8 +1774,8 @@ irc_command_halfop (void *data, struct t_gui_buffer *buffer, int argc, } else { - irc_command_mode_nicks (ptr_server, ptr_channel->name, - "+", "h", argc, argv); + irc_command_mode_nicks (ptr_server, ptr_channel, + "halfop", "+", "h", argc, argv); } } else @@ -3328,8 +3484,8 @@ irc_command_op (void *data, struct t_gui_buffer *buffer, int argc, char **argv, } else { - irc_command_mode_nicks (ptr_server, ptr_channel->name, - "+", "o", argc, argv); + irc_command_mode_nicks (ptr_server, ptr_channel, + "op", "+", "o", argc, argv); } } else @@ -5281,8 +5437,8 @@ irc_command_voice (void *data, struct t_gui_buffer *buffer, int argc, ptr_server->nick); } else - irc_command_mode_nicks (ptr_server, ptr_channel->name, - "+", "v", argc, argv); + irc_command_mode_nicks (ptr_server, ptr_channel, + "voice", "+", "v", argc, argv); } else { @@ -5689,18 +5845,26 @@ irc_command_init () N_("remove channel half-operator status from " "nick(s)"), N_("<nick> [<nick>...]"), - "", + N_("nick: nick or mask (can start or end with \"*\" " + "as wildcard)\n" + " *: remove channel half-operator status from " + "everybody on channel except yourself"), "%(nicks)", &irc_command_dehalfop, NULL); weechat_hook_command ("deop", N_("remove channel operator status from " "nick(s)"), - N_("<nick> [<nick>...]"), - "", + N_("<nick> [<nick>...] || * -yes"), + N_("nick: nick or mask (can start or end with \"*\" " + "as wildcard)\n" + " *: remove channel operator status from " + "everybody on channel except yourself"), "%(nicks)|%*", &irc_command_deop, NULL); weechat_hook_command ("devoice", N_("remove voice from nick(s)"), - N_("<nick> [<nick>...]"), - "", + N_("<nick> [<nick>...] || * -yes"), + N_("nick: nick or mask (can start or end with \"*\" " + "as wildcard)\n" + " *: remove voice from everybody on channel"), "%(nicks)|%*", &irc_command_devoice, NULL); weechat_hook_command ("die", N_("shutdown the server"), @@ -5720,8 +5884,11 @@ irc_command_init () weechat_hook_command ("halfop", N_("give channel half-operator status to " "nick(s)"), - N_("<nick> [<nick>...]"), - "", + N_("<nick> [<nick>...] || * -yes"), + N_("nick: nick or mask (can start or end with \"*\" " + "as wildcard)\n" + " *: give channel half-operator status to " + "everybody on channel"), "%(nicks)", &irc_command_halfop, NULL); weechat_hook_command ("ignore", N_("ignore nicks/hosts from servers or channels"), @@ -5962,8 +6129,11 @@ irc_command_init () &irc_command_notify, NULL); weechat_hook_command ("op", N_("give channel operator status to nick(s)"), - N_("<nick> [<nick>...]"), - "", + N_("<nick> [<nick>...] || * -yes"), + N_("nick: nick or mask (can start or end with \"*\" " + "as wildcard)\n" + " *: give channel operator status to everybody " + "on channel"), "%(nicks)|%*", &irc_command_op, NULL); weechat_hook_command ("oper", N_("get operator privileges"), @@ -6203,7 +6373,9 @@ irc_command_init () weechat_hook_command ("voice", N_("give voice to nick(s)"), N_("<nick> [<nick>...]"), - "", + N_("nick: nick or mask (can start or end with \"*\" " + "as wildcard)\n" + " *: give voice to everybody on channel"), "%(nicks)|%*", &irc_command_voice, NULL); weechat_hook_command ("wallchops", N_("send a notice to channel ops"), |