# SOME DESCRIPTIVE TITLE. # This file is put in the public domain. # # Translators: # Claudio Arseni <claudio.arseni@gmail.com>, 2013. # Eros Palberti - Fabio Viola : How-Tux Team <admin@how-tux.com>, 2006. msgid "" msgstr "" "Project-Id-Version: HexChat\n" "Report-Msgid-Bugs-To: www.hexchat.org\n" "POT-Creation-Date: 2013-03-28 23:54+0100\n" "PO-Revision-Date: 2013-03-28 23:04+0000\n" "Last-Translator: bviktor <bviktor@hexchat.org>\n" "Language-Team: Italian (http://www.transifex.com/projects/p/hexchat/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: src/common/cfgfiles.c:746 msgid "I'm busy" msgstr "Sono occupato" #: src/common/cfgfiles.c:773 msgid "Leaving" msgstr "Sto andando via" #: src/common/cfgfiles.c:834 msgid "" "* Running IRC as root is stupid! You should\n" " create a User Account and use that to login.\n" msgstr "* Eseguire IRC come l'utente root non è consigliato.\n È preferibile creare un account utente\n e utilizzare tale utente per effettuare l'accesso.\n" #: src/common/dcc.c:81 msgid "Waiting" msgstr "In attesa" #: src/common/dcc.c:82 msgid "Active" msgstr "Attivo" #: src/common/dcc.c:83 msgid "Failed" msgstr "Non riuscito" #: src/common/dcc.c:84 msgid "Done" msgstr "Completato" #: src/common/dcc.c:85 src/fe-gtk/menu.c:943 msgid "Connect" msgstr "Connetti" #: src/common/dcc.c:86 msgid "Aborted" msgstr "Interrotto" #: src/common/dcc.c:1885 src/common/outbound.c:2539 #, c-format msgid "Cannot access %s\n" msgstr "Impossibile accedere a %s\n" #: src/common/dcc.c:1886 src/common/text.c:1302 src/common/text.c:1340 #: src/common/text.c:1351 src/common/text.c:1358 src/common/text.c:1371 #: src/common/text.c:1388 src/common/text.c:1488 src/common/util.c:358 msgid "Error" msgstr "Errore" #: src/common/dcc.c:2364 #, c-format msgid "%s is offering \"%s\". Do you want to accept?" msgstr "%s sta offrendo «%s». Accettare?" #: src/common/dcc.c:2579 msgid "No active DCCs\n" msgstr "Nessun DCC attivo\n" #: src/common/hexchat.c:842 msgid "_Open Dialog Window" msgstr "_Apri finestra di dialogo" #: src/common/hexchat.c:843 msgid "_Send a File" msgstr "_Invia un file" #: src/common/hexchat.c:844 msgid "_User Info (WhoIs)" msgstr "Informazioni _utente (WHOIS)" #: src/common/hexchat.c:845 msgid "_Add to Friends List" msgstr "A_ggiungi all'elenco degli amici" #: src/common/hexchat.c:846 msgid "_Ignore" msgstr "_Ignora" #: src/common/hexchat.c:847 msgid "O_perator Actions" msgstr "Azioni dell'o_peratore" #: src/common/hexchat.c:849 msgid "Give Ops" msgstr "Dai lo stato di operatore" #: src/common/hexchat.c:850 msgid "Take Ops" msgstr "Togli lo stato di operatore" #: src/common/hexchat.c:851 msgid "Give Voice" msgstr "Dai la parola" #: src/common/hexchat.c:852 msgid "Take Voice" msgstr "Togli la parola" #: src/common/hexchat.c:854 msgid "Kick/Ban" msgstr "Kick/Ban" #: src/common/hexchat.c:855 src/common/hexchat.c:892 msgid "Kick" msgstr "Kick" #: src/common/hexchat.c:856 src/common/hexchat.c:857 src/common/hexchat.c:858 #: src/common/hexchat.c:859 src/common/hexchat.c:860 src/common/hexchat.c:891 #: src/fe-gtk/banlist.c:60 msgid "Ban" msgstr "Ban" #: src/common/hexchat.c:861 src/common/hexchat.c:862 src/common/hexchat.c:863 #: src/common/hexchat.c:864 msgid "KickBan" msgstr "KickBan" #: src/common/hexchat.c:874 msgid "Leave Channel" msgstr "Esci dal canale" #: src/common/hexchat.c:875 msgid "Join Channel..." msgstr "Entra nel canale..." #: src/common/hexchat.c:876 src/fe-gtk/menu.c:1336 msgid "Enter Channel to Join:" msgstr "Digitare il canale in cui entrare:" #: src/common/hexchat.c:877 msgid "Server Links" msgstr "Collegamenti ai server" #: src/common/hexchat.c:878 msgid "Ping Server" msgstr "Ping server" #: src/common/hexchat.c:879 msgid "Hide Version" msgstr "Nascondi versione" #: src/common/hexchat.c:889 msgid "Op" msgstr "Op" #: src/common/hexchat.c:890 msgid "DeOp" msgstr "DeOp" #: src/common/hexchat.c:893 msgid "bye" msgstr "ciao" #: src/common/hexchat.c:894 #, c-format msgid "Enter reason to kick %s:" msgstr "Motivo per il kick a %s:" #: src/common/hexchat.c:895 msgid "Sendfile" msgstr "Invia file" #: src/common/hexchat.c:896 msgid "Dialog" msgstr "Dialogo" #: src/common/hexchat.c:905 msgid "WhoIs" msgstr "WhoIs" #: src/common/hexchat.c:906 msgid "Send" msgstr "Invia" #: src/common/hexchat.c:907 msgid "Chat" msgstr "Chat" #: src/common/hexchat.c:908 src/fe-gtk/banlist.c:778 #: src/fe-gtk/ignoregui.c:400 src/fe-gtk/urlgrab.c:213 msgid "Clear" msgstr "Pulisci" #: src/common/hexchat.c:909 msgid "Ping" msgstr "Ping" #: src/common/ignore.c:126 src/common/ignore.c:130 src/common/ignore.c:134 #: src/common/ignore.c:138 src/common/ignore.c:142 src/common/ignore.c:146 #: src/common/ignore.c:150 msgid "YES " msgstr "SI " #: src/common/ignore.c:128 src/common/ignore.c:132 src/common/ignore.c:136 #: src/common/ignore.c:140 src/common/ignore.c:144 src/common/ignore.c:148 #: src/common/ignore.c:152 msgid "NO " msgstr "NO " #: src/common/ignore.c:383 #, c-format msgid "You are being CTCP flooded from %s, ignoring %s\n" msgstr "Hai ricevuto un flood CTCP da parte di %s. %s viene ignorato\n" #: src/common/ignore.c:408 #, c-format msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" msgstr "" #: src/common/notify.c:478 #, c-format msgid " %-20s online\n" msgstr " %-20s in linea\n" #: src/common/notify.c:480 #, c-format msgid " %-20s offline\n" msgstr " %-20s non in linea\n" #: src/common/outbound.c:72 msgid "No channel joined. Try /join #<channel>\n" msgstr "Alcun canale aperto. Provare /join #<canale>\n" #: src/common/outbound.c:78 msgid "Not connected. Try /server <host> [<port>]\n" msgstr "Non connessi. Provare /server <host> [<porta>]\n" #: src/common/outbound.c:281 #, c-format msgid "Server %s already exists on network %s.\n" msgstr "Il server %s esiste già sulla rete %s.\n" #: src/common/outbound.c:287 #, c-format msgid "Added server %s to network %s.\n" msgstr "Server %s aggiunto alla rete %s.\n" #: src/common/outbound.c:373 #, c-format msgid "Already marked away: %s\n" msgstr "Già impostato come assente: %s\n" #: src/common/outbound.c:446 msgid "Already marked back.\n" msgstr "Già tolto lo stato di assenza.\n" #: src/common/outbound.c:1812 msgid "I need /bin/sh to run!\n" msgstr "È necessario /bin/sh per l'esecuzione.\n" #: src/common/outbound.c:2203 msgid "Commands Available:" msgstr "Comandi disponibili:" #: src/common/outbound.c:2217 msgid "User defined commands:" msgstr "Comandi definiti dall'utente:" #: src/common/outbound.c:2233 msgid "Plugin defined commands:" msgstr "Plugin definiti dall'utente:" #: src/common/outbound.c:2244 msgid "Type /HELP <command> for more information, or /HELP -l" msgstr "Digitare /HELP <comando> per ulteriori informazioni, oppure /HELP -l" #: src/common/outbound.c:2328 #, c-format msgid "Unknown arg '%s' ignored." msgstr "Argomento sconosciuto «%s» ignorato." #: src/common/outbound.c:3329 msgid "No such plugin found.\n" msgstr "Plugin non trovato.\n" #: src/common/outbound.c:3334 src/fe-gtk/plugingui.c:190 msgid "That plugin is refusing to unload.\n" msgstr "Impossibile disattivare questo plugin.\n" #: src/common/outbound.c:3609 msgid "ADDBUTTON <name> <action>, adds a button under the user-list" msgstr "ADDBUTTON <nome> <azione>, aggiunge un pulsante nell'elenco utenti" #: src/common/outbound.c:3610 msgid "" "ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " "server to the network list" msgstr "ADDSERVER <NuovaRete> <nuovo_server/6667>, aggiunge una nuova rete con un nuovo server all'elenco delle reti" #: src/common/outbound.c:3612 msgid "ALLCHAN <cmd>, sends a command to all channels you're in" msgstr "ALLCHAN <cmd>, invia un comando a tutti i canali in cui si è presenti" #: src/common/outbound.c:3614 msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" msgstr "ALLCHANL <cmd>, invia un comando a tutti i canali del server attuale" #: src/common/outbound.c:3616 msgid "ALLSERV <cmd>, sends a command to all servers you're in" msgstr "ALLSERV <cmd>, invia un comando a tutti i server ai quali si è collegati" #: src/common/outbound.c:3617 msgid "AWAY [<reason>], sets you away" msgstr "AWAY [<motivo>], cambia il tuo stato in assente" #: src/common/outbound.c:3618 msgid "BACK, sets you back (not away)" msgstr "BACK, imposta lo stato di presenza" #: src/common/outbound.c:3620 msgid "" "BAN <mask> [<bantype>], bans everyone matching the mask from the current " "channel. If they are already on the channel this doesn't kick them (needs " "chanop)" msgstr "BAN <mask> [<tipo_di_ban>], allontana dal canale attuale tutti coloro che corrispondono alla maschera di rete specificata. Se sono già connessi al canale, questo non li espelle (kick). Bisogna essere operatore." #: src/common/outbound.c:3621 msgid "CHANOPT [-quiet] <variable> [<value>]" msgstr "CHANOPT [-quiet] <variabile> [<valore>]" #: src/common/outbound.c:3622 msgid "" "CHARSET [<encoding>], get or set the encoding used for the current " "connection" msgstr "CHARSET [<codifica>], rileva o imposta la codifica usata per la connessione attuale" #: src/common/outbound.c:3623 msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" msgstr "CLEAR [ALL|HISTORY], ripulisce la finestra attuale o la cronologia dei comandi" #: src/common/outbound.c:3624 msgid "CLOSE, Closes the current window/tab" msgstr "CLOSE, chiude la finestra/scheda attuale" #: src/common/outbound.c:3627 msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" msgstr "COUNTRY [-s] <codice|wildcard>, cerca un codice paese, per es.: it = Italia" #: src/common/outbound.c:3629 msgid "" "CTCP <nick> <message>, send the CTCP message to nick, common messages are " "VERSION and USERINFO" msgstr "CTCP <soprannome> <messaggio>, invia il messaggio CTCP al soprannome indicato, messaggi comuni sono VERSION e USERINFO" #: src/common/outbound.c:3631 msgid "" "CYCLE [<channel>], parts the current or given channel and immediately " "rejoins" msgstr "CYCLE [<canale>], abbandona il canale attuale o quello dato e vi rientra immediatamente" #: src/common/outbound.c:3633 msgid "" "\n" "DCC GET <nick> - accept an offered file\n" "DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" "DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" "DCC LIST - show DCC list\n" "DCC CHAT <nick> - offer DCC CHAT to someone\n" "DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" "DCC CLOSE <type> <nick> <file> example:\n" " /dcc close send johnsmith file.tar.gz" msgstr "\nDCC GET <soprannome> - accetta un file offerto\nDCC SEND [-maxcps=#] <soprannome> [file] - invia un file a qualcuno\nDCC PSEND [-maxcps=#] <soprannome> [file] - invia un file utilizzando la modalità passiva\nDCC LIST - visualizza l'elenco dei collegamenti DCC\nDCC CHAT <soprannome> - propone una CHAT DCC a qualcuno\nDCC PCHAT <soprannome> - propone una CHAT DCC utilizzando la modalità passiva\nDCC CLOSE <tipo> <soprannome> <file> per esempio:\n /dcc close send johnsmith file.tar.gz" #: src/common/outbound.c:3645 msgid "" "DEHOP <nick>, removes chanhalf-op status from the nick on the current " "channel (needs chanop)" msgstr "DEHOP <soprannome>, rimuove lo stato di semi-operatore sul canale attuale al soprannome indicato (bisogna essere operatore)" #: src/common/outbound.c:3647 msgid "DELBUTTON <name>, deletes a button from under the user-list" msgstr "DELBUTTON <nome>, elimina un pulsante pulsante dall'elenco utenti" #: src/common/outbound.c:3649 msgid "" "DEOP <nick>, removes chanop status from the nick on the current channel " "(needs chanop)" msgstr "DEOP <soprannome>, rimuove lo stato di operatore sul canale attuale al soprannome indicato (bisogna essere operatore)" #: src/common/outbound.c:3651 msgid "" "DEVOICE <nick>, removes voice status from the nick on the current channel " "(needs chanop)" msgstr "DEVOICE <soprannome>, toglie la parola al soprannome indicato sul canale attuale (bisogna essere operatore)" #: src/common/outbound.c:3652 msgid "DISCON, Disconnects from server" msgstr "DISCON, disconnette dal server" #: src/common/outbound.c:3653 msgid "DNS <nick|host|ip>, Finds a users IP number" msgstr "DNS <soprannome|host|ip>, trova l'indirizzo IP di un utente" #: src/common/outbound.c:3654 msgid "ECHO <text>, Prints text locally" msgstr "ECHO <testo>, stampa un testo localmente" #: src/common/outbound.c:3657 msgid "" "EXEC [-o] <command>, runs the command. If -o flag is used then output is " "sent to current channel, else is printed to current text box" msgstr "EXEC [-o] <comando>, esegue il comando. Se si utilizza l'opzione -o, l'output è inviato al canale attuale, altrimenti è stampato nell'area di testo attuale" #: src/common/outbound.c:3659 msgid "EXECCONT, sends the process SIGCONT" msgstr "EXECCONT, invia un SIGCONT al processo" #: src/common/outbound.c:3662 msgid "" "EXECKILL [-9], kills a running exec in the current session. If -9 is given " "the process is SIGKILL'ed" msgstr "EXECKILL [-9], termina un'istanza exec nella sessione attuale. Se è specificato -9, il processo è ucciso con SIGKILL" #: src/common/outbound.c:3664 msgid "EXECSTOP, sends the process SIGSTOP" msgstr "EXECSTOP, invia un SIGSTOP al processo" #: src/common/outbound.c:3665 msgid "EXECWRITE, sends data to the processes stdin" msgstr "EXECWRITE, invia dati allo stdin del processo" #: src/common/outbound.c:3669 msgid "EXPORTCONF, exports HexChat settings" msgstr "EXPORTCONF, esporta le impostazioni di HexChat" #: src/common/outbound.c:3672 msgid "FLUSHQ, flushes the current server's send queue" msgstr "FLUSHQ, svuota la coda di invio del server attuale" #: src/common/outbound.c:3674 msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" msgstr "GATE <host> [<porta>], utilizza un host come proxy, la porta predefinita è la 23" #: src/common/outbound.c:3678 msgid "GHOST <nick> [password], Kills a ghosted nickname" msgstr "GHOST <soprannome> [password], uccide un soprannome fantasma" #: src/common/outbound.c:3683 msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" msgstr "HOP <nick>, dà lo stato di semi-operatore al soprannome (bisogna essere operatore)" #: src/common/outbound.c:3684 msgid "ID <password>, identifies yourself to nickserv" msgstr "ID <password>, ti identifica presso il nickserv" #: src/common/outbound.c:3686 msgid "" "IGNORE <mask> <types..> <options..>\n" " mask - host mask to ignore, eg: *!*@*.aol.com\n" " types - types of data to ignore, one or all of:\n" " PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" " options - NOSAVE, QUIET" msgstr "IGNORE <maschera> <tipi..> <opzioni..>\n maschera - host maschera da ignorare, per es.: *!*@*.aol.com\n tipi - tipi di dati da ignorare, uno o più tra:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n opzioni - NOSAVE, QUIET" #: src/common/outbound.c:3693 msgid "" "INVITE <nick> [<channel>], invites someone to a channel, by default the " "current channel (needs chanop)" msgstr "INVITE <soprannome> [<canale>], invita qualcuno in un canale, la regola predefinita è per il canale attuale (bisogna essere operatore)" #: src/common/outbound.c:3694 msgid "JOIN <channel>, joins the channel" msgstr "JOIN <canale>, entra nel canale" #: src/common/outbound.c:3696 msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" msgstr "KICK <soprannome>, espelle il soprannome dal canale attuale (bisogna essere operatore)" #: src/common/outbound.c:3698 msgid "" "KICKBAN <nick>, bans then kicks the nick from the current channel (needs " "chanop)" msgstr "KICKBAN <soprannome>, allontana (ban) e poi espelle (kick) il soprannome dal canale attuale (bisogna essere operatore)" #: src/common/outbound.c:3701 msgid "LAGCHECK, forces a new lag check" msgstr "LAGCHECK, forza un nuovo controllo del ritardo (lag)" #: src/common/outbound.c:3703 msgid "" "LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" " Use -h to highlight the found string(s)\n" " Use -m to match case\n" " Use -r when string is a Regular Expression\n" " Use -- (double hyphen) to end options when searching for, say, the string '-r'" msgstr "LASTLOG [-h] [-m] [-r] [--] <stringa>, cerca una stringa nel buffer\nUsare -h per evidenziare le stringhe trovate\nUsare -m quando la stringa è un'espressione regolare\nUsare -- (doppio trattino) per terminare le opzioni quando si cerca, per esempio, la stringa «-r»" #: src/common/outbound.c:3709 msgid "LOAD [-e] <file>, loads a plugin or script" msgstr "LOAD [-e] <file>, carica un plugin o uno script" #: src/common/outbound.c:3712 msgid "" "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" msgstr "MDEHOP, toglie lo stato a tutti i semi-operatori del canale attuale (bisogna essere operatore)" #: src/common/outbound.c:3714 msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" msgstr "MDEOP, toglie lo stato a tutti gli operatori del canale attuale (bisogna essere operatore)" #: src/common/outbound.c:3716 msgid "" "ME <action>, sends the action to the current channel (actions are written in" " the 3rd person, like /me jumps)" msgstr "ME <azione>, invia l'azione al canale attuale (le azioni sono scritte in terza persona, es. /me saluta tutti)" #: src/common/outbound.c:3720 msgid "" "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" msgstr "MKICK, espelle dal canale attuale tutti gli utenti tranne te (bisogna essere operatore)" #: src/common/outbound.c:3723 msgid "MOP, Mass op's all users in the current channel (needs chanop)" msgstr "MOP, rende operatori tutti gli utenti nel canale attuale (bisogna essere operatore)" #: src/common/outbound.c:3724 msgid "MSG <nick> <message>, sends a private message" msgstr "MSG <soprannome> <messaggio>, invia un messaggio privato" #: src/common/outbound.c:3727 msgid "NAMES, Lists the nicks on the current channel" msgstr "NAMES, elenca i soprannomi presenti nel canale attuale" #: src/common/outbound.c:3729 msgid "NCTCP <nick> <message>, Sends a CTCP notice" msgstr "NCTCP <soprannome> <messaggio>, invia una notifica CTCP" #: src/common/outbound.c:3730 msgid "NEWSERVER [-noconnect] <hostname> [<port>]" msgstr "NEWSERVER [-noconnect] <nome host> [<porta>]" #: src/common/outbound.c:3731 msgid "NICK <nickname>, sets your nick" msgstr "NICK <soprannome>, imposta il tuo soprannome" #: src/common/outbound.c:3734 msgid "" "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of " "message that should be auto reacted to" msgstr "NOTICE <soprannome/canale> <messaggio>, invia una notifica. Le notifiche sono un tipo di messaggio che dovrebbe ottenere una reazione automatica" #: src/common/outbound.c:3736 msgid "" "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notif<style>pre { line-height: 125%; } td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */</style><div class="highlight"><pre><span></span><span class="cm">/* X-Chat</span> <span class="cm"> * Copyright (C) 1998 Peter Zelezny.</span> <span class="cm"> *</span> <span class="cm"> * This program is free software; you can redistribute it and/or modify</span> <span class="cm"> * it under the terms of the GNU General Public License as published by</span> <span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span> <span class="cm"> * (at your option) any later version.</span> <span class="cm"> *</span> <span class="cm"> * This program is distributed in the hope that it will be useful,</span> <span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span> <span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span> <span class="cm"> * GNU General Public License for more details.</span> <span class="cm"> *</span> <span class="cm"> * You should have received a copy of the GNU General Public License</span> <span class="cm"> * along with this program; if not, write to the Free Software</span> <span class="cm"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA</span> <span class="cm"> */</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf"><stdio.h></span> <span class="cp">#include</span><span class="w"> </span><span class="cpf"><stdlib.h></span> <span class="cp">#include</span><span class="w"> </span><span class="cpf"><string.h></span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"hexchat.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"modes.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"fe.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"notify.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"tree.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"hexchatc.h"</span> <span class="cp">#include</span><span class="w"> </span><span class="cpf">"util.h"</span> <span class="kt">int</span> <span class="nf">nick_cmp_az_ops</span><span class="w"> </span><span class="p">(</span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user1</span><span class="p">,</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user2</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">access1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">user1</span><span class="o">-></span><span class="n">access</span><span class="p">;</span> <span class="w"> </span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">access2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">user2</span><span class="o">-></span><span class="n">access</span><span class="p">;</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">pos</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">access1</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="n">access2</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="n">pos</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">pos</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">USERACCESS_SIZE</span><span class="p">;</span><span class="w"> </span><span class="n">pos</span><span class="o">++</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">((</span><span class="n">access1</span><span class="o">&</span><span class="p">(</span><span class="mi">1</span><span class="o"><<</span><span class="n">pos</span><span class="p">))</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="p">(</span><span class="n">access2</span><span class="o">&</span><span class="p">(</span><span class="mi">1</span><span class="o"><<</span><span class="n">pos</span><span class="p">)))</span> <span class="w"> </span><span class="k">break</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">((</span><span class="n">access1</span><span class="o">&</span><span class="p">(</span><span class="mi">1</span><span class="o"><<</span><span class="n">pos</span><span class="p">))</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="o">!</span><span class="p">(</span><span class="n">access2</span><span class="o">&</span><span class="p">(</span><span class="mi">1</span><span class="o"><<</span><span class="n">pos</span><span class="p">)))</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="n">access1</span><span class="o">&</span><span class="p">(</span><span class="mi">1</span><span class="o"><<</span><span class="n">pos</span><span class="p">))</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="p">(</span><span class="n">access2</span><span class="o">&</span><span class="p">(</span><span class="mi">1</span><span class="o"><<</span><span class="n">pos</span><span class="p">)))</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">p_cmp</span><span class="w"> </span><span class="p">(</span><span class="n">user1</span><span class="o">-></span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="n">user2</span><span class="o">-></span><span class="n">nick</span><span class="p">);</span> <span class="p">}</span> <span class="kt">int</span> <span class="nf">nick_cmp_alpha</span><span class="w"> </span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user1</span><span class="p">,</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user2</span><span class="p">,</span><span class="w"> </span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">p_cmp</span><span class="w"> </span><span class="p">(</span><span class="n">user1</span><span class="o">-></span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="n">user2</span><span class="o">-></span><span class="n">nick</span><span class="p">);</span> <span class="p">}</span> <span class="cm">/*</span> <span class="cm"> insert name in appropriate place in linked list. Returns row number or:</span> <span class="cm"> -1: duplicate</span> <span class="cm">*/</span> <span class="k">static</span><span class="w"> </span><span class="kt">int</span> <span class="nf">userlist_insertname</span><span class="w"> </span><span class="p">(</span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">newuser</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="o">-></span><span class="n">usertree</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">usertree</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">tree_new</span><span class="w"> </span><span class="p">((</span><span class="n">tree_cmp_func</span><span class="w"> </span><span class="o">*</span><span class="p">)</span><span class="n">nick_cmp_alpha</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">tree_insert</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">usertree</span><span class="p">,</span><span class="w"> </span><span class="n">newuser</span><span class="p">);</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">userlist_set_away</span><span class="w"> </span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">away</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">;</span> <span class="w"> </span><span class="n">user</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">userlist_find</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">nick</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">away</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="n">away</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">away</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">away</span><span class="p">;</span> <span class="w"> </span><span class="cm">/* rehash GUI */</span> <span class="w"> </span><span class="n">fe_userlist_rehash</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">away</span><span class="p">)</span> <span class="w"> </span><span class="n">fe_userlist_update</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">userlist_set_account</span><span class="w"> </span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">account</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">;</span> <span class="w"> </span><span class="n">user</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">userlist_find</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">nick</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">g_free</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">account</span><span class="p">);</span> <span class="w"> </span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">strcmp</span><span class="w"> </span><span class="p">(</span><span class="n">account</span><span class="p">,</span><span class="w"> </span><span class="s">"*"</span><span class="p">)</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">account</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span> <span class="w"> </span><span class="k">else</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">account</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">g_strdup</span><span class="w"> </span><span class="p">(</span><span class="n">account</span><span class="p">);</span> <span class="w"> </span> <span class="w"> </span><span class="cm">/* gui doesnt currently reflect login status, maybe later</span> <span class="cm"> fe_userlist_rehash (sess, user); */</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> <span class="kt">int</span> <span class="nf">userlist_add_hostname</span><span class="w"> </span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">hostname</span><span class="p">,</span> <span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">realname</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">servername</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">account</span><span class="p">,</span><span class="w"> </span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">away</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">;</span> <span class="w"> </span><span class="n">gboolean</span><span class="w"> </span><span class="n">do_rehash</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">FALSE</span><span class="p">;</span> <span class="w"> </span><span class="n">user</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">userlist_find</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">nick</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">hostname</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">user</span><span class="o">-></span><span class="n">hostname</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">strcmp</span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">hostname</span><span class="p">,</span><span class="w"> </span><span class="n">hostname</span><span class="p">)))</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">prefs</span><span class="p">.</span><span class="n">hex_gui_ulist_show_hosts</span><span class="p">)</span> <span class="w"> </span><span class="n">do_rehash</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="w"> </span><span class="n">g_free</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">hostname</span><span class="p">);</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">hostname</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">g_strdup</span><span class="w"> </span><span class="p">(</span><span class="n">hostname</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">user</span><span class="o">-></span><span class="n">realname</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">realname</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="o">*</span><span class="n">realname</span><span class="p">)</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">realname</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">g_strdup</span><span class="w"> </span><span class="p">(</span><span class="n">realname</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">user</span><span class="o">-></span><span class="n">servername</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">servername</span><span class="p">)</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">servername</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">g_strdup</span><span class="w"> </span><span class="p">(</span><span class="n">servername</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">user</span><span class="o">-></span><span class="n">account</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">account</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">strcmp</span><span class="w"> </span><span class="p">(</span><span class="n">account</span><span class="p">,</span><span class="w"> </span><span class="s">"0"</span><span class="p">)</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">account</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">g_strdup</span><span class="w"> </span><span class="p">(</span><span class="n">account</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">away</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="mh">0xff</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">away</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="n">away</span><span class="p">)</span> <span class="w"> </span><span class="n">do_rehash</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">away</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">away</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">fe_userlist_update</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">do_rehash</span><span class="p">)</span> <span class="w"> </span><span class="n">fe_userlist_rehash</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="p">}</span> <span class="k">static</span><span class="w"> </span><span class="kt">int</span> <span class="nf">free_user</span><span class="w"> </span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="n">gpointer</span><span class="w"> </span><span class="n">data</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">g_free</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">realname</span><span class="p">);</span> <span class="w"> </span><span class="n">g_free</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">hostname</span><span class="p">);</span> <span class="w"> </span><span class="n">g_free</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">servername</span><span class="p">);</span> <span class="w"> </span><span class="n">g_free</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">account</span><span class="p">);</span> <span class="w"> </span><span class="n">g_free</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">userlist_free</span><span class="w"> </span><span class="p">(</span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">tree_foreach</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">usertree</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="n">tree_traverse_func</span><span class="w"> </span><span class="o">*</span><span class="p">)</span><span class="n">free_user</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">);</span> <span class="w"> </span><span class="n">tree_destroy</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">usertree</span><span class="p">);</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">usertree</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">me</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">ops</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">hops</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">voices</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">total</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="p">}</span> <span class="kt">void</span> <span class="nf">userlist_clear</span><span class="w"> </span><span class="p">(</span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">fe_userlist_clear</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="w"> </span><span class="n">userlist_free</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="w"> </span><span class="n">fe_userlist_numbers</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="p">}</span> <span class="k">static</span><span class="w"> </span><span class="kt">int</span> <span class="nf">find_cmp</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="n">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">serv</span><span class="o">-></span><span class="n">p_cmp</span><span class="w"> </span><span class="p">((</span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="p">)</span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">nick</span><span class="p">);</span> <span class="p">}</span> <span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span> <span class="n">userlist_find</span><span class="w"> </span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">name</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">pos</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">usertree</span><span class="p">)</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">tree_find</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">usertree</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">,</span> <span class="w"> </span><span class="p">(</span><span class="n">tree_cmp_func</span><span class="w"> </span><span class="o">*</span><span class="p">)</span><span class="n">find_cmp</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">pos</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span> <span class="p">}</span> <span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span> <span class="n">userlist_find_global</span><span class="w"> </span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">server</span><span class="w"> </span><span class="o">*</span><span class="n">serv</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">name</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">;</span> <span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">;</span> <span class="w"> </span><span class="n">GSList</span><span class="w"> </span><span class="o">*</span><span class="n">list</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">sess_list</span><span class="p">;</span> <span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">list</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">sess</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="n">list</span><span class="o">-></span><span class="n">data</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">serv</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">user</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">userlist_find</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="p">)</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">user</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">list</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">list</span><span class="o">-></span><span class="n">next</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span> <span class="p">}</span> <span class="k">static</span><span class="w"> </span><span class="kt">void</span> <span class="n">update_counts</span><span class="w"> </span><span class="p">(</span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="n">prefix</span><span class="p">,</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">level</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">offset</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="k">switch</span><span class="w"> </span><span class="p">(</span><span class="n">prefix</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="sc">'@'</span><span class="p">:</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">op</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">level</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">ops</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">offset</span><span class="p">;</span> <span class="w"> </span><span class="k">break</span><span class="p">;</span> <span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="sc">'%'</span><span class="p">:</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">hop</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">level</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">hops</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">offset</span><span class="p">;</span> <span class="w"> </span><span class="k">break</span><span class="p">;</span> <span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="sc">'+'</span><span class="p">:</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">voice</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">level</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">voices</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">offset</span><span class="p">;</span> <span class="w"> </span><span class="k">break</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> <span class="kt">void</span> <span class="n">userlist_update_mode</span><span class="w"> </span><span class="p">(</span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="n">mode</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="n">sign</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">access</span><span class="p">;</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">offset</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">level</span><span class="p">;</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">pos</span><span class="p">;</span> <span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="n">prefix</span><span class="p">;</span> <span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">;</span> <span class="w"> </span><span class="n">user</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">userlist_find</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">user</span><span class="p">)</span> <span class="w"> </span><span class="k">return</span><span class="p">;</span> <span class="w"> </span><span class="cm">/* remove from binary trees, before we loose track of it */</span> <span class="w"> </span><span class="n">tree_remove</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">usertree</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">pos</span><span class="p">);</span> <span class="w"> </span><span class="n">fe_userlist_remove</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">);</span> <span class="w"> </span><span class="cm">/* which bit number is affected? */</span> <span class="w"> </span><span class="n">access</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mode_access</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="p">,</span><span class="w"> </span><span class="n">mode</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">prefix</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sign</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="sc">'+'</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">level</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">access</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">access</span><span class="p">)))</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">offset</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">access</span><span class="w"> </span><span class="o">|=</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">access</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">level</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">FALSE</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">access</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">access</span><span class="p">))</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">offset</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">access</span><span class="w"> </span><span class="o">&=</span><span class="w"> </span><span class="o">~</span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">access</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="cm">/* now what is this users highest prefix? e.g. @ for ops */</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">prefix</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">get_nick_prefix</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">access</span><span class="p">);</span> <span class="w"> </span><span class="cm">/* update the various counts using the CHANGED prefix only */</span> <span class="w"> </span><span class="n">update_counts</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="n">prefix</span><span class="p">,</span><span class="w"> </span><span class="n">level</span><span class="p">,</span><span class="w"> </span><span class="n">offset</span><span class="p">);</span> <span class="w"> </span><span class="cm">/* insert it back into its new place */</span> <span class="w"> </span><span class="n">tree_insert</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">usertree</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">);</span> <span class="w"> </span><span class="n">fe_userlist_insert</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="n">FALSE</span><span class="p">);</span> <span class="w"> </span><span class="n">fe_userlist_numbers</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="p">}</span> <span class="kt">int</span> <span class="n">userlist_change</span><span class="w"> </span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">oldname</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">newname</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">userlist_find</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">oldname</span><span class="p">);</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">pos</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">tree_remove</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">usertree</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">pos</span><span class="p">);</span> <span class="w"> </span><span class="n">fe_userlist_remove</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">);</span> <span class="w"> </span><span class="n">safe_strcpy</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="n">newname</span><span class="p">,</span><span class="w"> </span><span class="n">NICKLEN</span><span class="p">);</span> <span class="w"> </span><span class="n">tree_insert</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">usertree</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">);</span> <span class="w"> </span><span class="n">fe_userlist_insert</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="n">FALSE</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> <span class="p">}</span> <span class="kt">int</span> <span class="n">userlist_remove</span><span class="w"> </span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">name</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">;</span> <span class="w"> </span><span class="n">user</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">userlist_find</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">user</span><span class="p">)</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">FALSE</span><span class="p">;</span> <span class="w"> </span><span class="n">userlist_remove_user</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="p">}</span> <span class="kt">void</span> <span class="n">userlist_remove_user</span><span class="w"> </span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">pos</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">voice</span><span class="p">)</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">voices</span><span class="o">--</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">op</span><span class="p">)</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">ops</span><span class="o">--</span><span class="p">;</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">hop</span><span class="p">)</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">hops</span><span class="o">--</span><span class="p">;</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">total</span><span class="o">--</span><span class="p">;</span> <span class="w"> </span><span class="n">fe_userlist_numbers</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="w"> </span><span class="n">fe_userlist_remove</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">me</span><span class="p">)</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">me</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span> <span class="w"> </span><span class="n">tree_remove</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">usertree</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">pos</span><span class="p">);</span> <span class="w"> </span><span class="n">free_user</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">);</span> <span class="p">}</span> <span class="kt">void</span> <span class="n">userlist_add</span><span class="w"> </span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">hostname</span><span class="p">,</span> <span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">account</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">realname</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">message_tags_data</span><span class="w"> </span><span class="o">*</span><span class="n">tags_data</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">;</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">row</span><span class="p">,</span><span class="w"> </span><span class="n">prefix_chars</span><span class="p">;</span> <span class="w"> </span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">acc</span><span class="p">;</span> <span class="w"> </span><span class="n">acc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">nick_access</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">prefix_chars</span><span class="p">);</span> <span class="w"> </span><span class="n">notify_set_online</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">prefix_chars</span><span class="p">,</span><span class="w"> </span><span class="n">tags_data</span><span class="p">);</span> <span class="w"> </span><span class="n">user</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">g_new0</span><span class="w"> </span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">access</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">acc</span><span class="p">;</span> <span class="w"> </span><span class="cm">/* assume first char is the highest level nick prefix */</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">prefix_chars</span><span class="p">)</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">prefix</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">name</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span> <span class="w"> </span><span class="cm">/* add it to our linked list */</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">hostname</span><span class="p">)</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">hostname</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">g_strdup</span><span class="w"> </span><span class="p">(</span><span class="n">hostname</span><span class="p">);</span> <span class="w"> </span><span class="n">safe_strcpy</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">prefix_chars</span><span class="p">,</span><span class="w"> </span><span class="n">NICKLEN</span><span class="p">);</span> <span class="w"> </span><span class="cm">/* is it me? */</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="o">-></span><span class="n">p_cmp</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">nick</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="o">-></span><span class="n">nick</span><span class="p">))</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">me</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="w"> </span><span class="cm">/* extended join info */</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">server</span><span class="o">-></span><span class="n">have_extjoin</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">account</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="o">*</span><span class="n">account</span><span class="p">)</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">account</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">g_strdup</span><span class="w"> </span><span class="p">(</span><span class="n">account</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">realname</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="o">*</span><span class="n">realname</span><span class="p">)</span> <span class="w"> </span><span class="n">user</span><span class="o">-></span><span class="n">realname</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">g_strdup</span><span class="w"> </span><span class="p">(</span><span class="n">realname</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">row</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">userlist_insertname</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">);</span> <span class="w"> </span><span class="cm">/* duplicate? some broken servers trigger this */</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">row</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">-1</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">g_free</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">hostname</span><span class="p">);</span> <span class="w"> </span><span class="n">g_free</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">account</span><span class="p">);</span> <span class="w"> </span><span class="n">g_free</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">realname</span><span class="p">);</span> <span class="w"> </span><span class="n">g_free</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">total</span><span class="o">++</span><span class="p">;</span> <span class="w"> </span><span class="cm">/* most ircds don't support multiple modechars in front of the nickname</span> <span class="cm"> for /NAMES - though they should. */</span> <span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">prefix_chars</span><span class="p">)</span> <span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">update_counts</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="w"> </span><span class="n">TRUE</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span> <span class="w"> </span><span class="n">name</span><span class="o">++</span><span class="p">;</span> <span class="w"> </span><span class="n">prefix_chars</span><span class="o">--</span><span class="p">;</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">user</span><span class="o">-></span><span class="n">me</span><span class="p">)</span> <span class="w"> </span><span class="n">sess</span><span class="o">-></span><span class="n">me</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">user</span><span class="p">;</span> <span class="w"> </span><span class="n">fe_userlist_insert</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="n">FALSE</span><span class="p">);</span> <span class="w"> </span><span class="k">if</span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">end_of_names</span><span class="p">)</span> <span class="w"> </span><span class="n">fe_userlist_numbers</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">);</span> <span class="p">}</span> <span class="k">static</span><span class="w"> </span><span class="kt">int</span> <span class="n">rehash_cb</span><span class="w"> </span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">fe_userlist_rehash</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="p">}</span> <span class="kt">void</span> <span class="n">userlist_rehash</span><span class="w"> </span><span class="p">(</span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">tree_foreach</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">usertree</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="n">tree_traverse_func</span><span class="w"> </span><span class="o">*</span><span class="p">)</span><span class="n">rehash_cb</span><span class="p">,</span><span class="w"> </span><span class="n">sess</span><span class="p">);</span> <span class="p">}</span> <span class="k">static</span><span class="w"> </span><span class="kt">int</span> <span class="n">flat_cb</span><span class="w"> </span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="n">GSList</span><span class="w"> </span><span class="o">**</span><span class="n">list</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="o">*</span><span class="n">list</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">g_slist_prepend</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">list</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="p">}</span> <span class="n">GSList</span><span class="w"> </span><span class="o">*</span> <span class="n">userlist_flat_list</span><span class="w"> </span><span class="p">(</span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">GSList</span><span class="w"> </span><span class="o">*</span><span class="n">list</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span> <span class="w"> </span><span class="n">tree_foreach</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">usertree</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="n">tree_traverse_func</span><span class="w"> </span><span class="o">*</span><span class="p">)</span><span class="n">flat_cb</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">list</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">g_slist_reverse</span><span class="w"> </span><span class="p">(</span><span class="n">list</span><span class="p">);</span> <span class="p">}</span> <span class="k">static</span><span class="w"> </span><span class="kt">int</span> <span class="n">double_cb</span><span class="w"> </span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">User</span><span class="w"> </span><span class="o">*</span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="n">GList</span><span class="w"> </span><span class="o">**</span><span class="n">list</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="o">*</span><span class="n">list</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">g_list_prepend</span><span class="p">(</span><span class="o">*</span><span class="n">list</span><span class="p">,</span><span class="w"> </span><span class="n">user</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">TRUE</span><span class="p">;</span> <span class="p">}</span> <span class="n">GList</span><span class="w"> </span><span class="o">*</span> <span class="n">userlist_double_list</span><span class="p">(</span><span class="n">session</span><span class="w"> </span><span class="o">*</span><span class="n">sess</span><span class="p">)</span> <span class="p">{</span> <span class="w"> </span><span class="n">GList</span><span class="w"> </span><span class="o">*</span><span class="n">list</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span> <span class="w"> </span><span class="n">tree_foreach</span><span class="w"> </span><span class="p">(</span><span class="n">sess</span><span class="o">-></span><span class="n">usertree</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="n">tree_traverse_func</span><span class="w"> </span><span class="o">*</span><span class="p">)</span><span class="n">double_cb</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">list</span><span class="p">);</span> <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">list</span><span class="p">;</span> <span class="p">}</span> </pre></div> </code></pre></td></tr></table> </div> <!-- class=content --> <div class='footer'>generated by <a href='https://git.causal.agency/cgit-pink/about/'>cgit-pink 1.4.1</a> (<a href='https://git-scm.com/'>git 2.36.1</a>) at 2025-03-28 21:00:21 +0000</div> </div> <!-- id=cgit --> </body> </html> ttività lampeggiante" #: src/fe-gtk/maingui.c:1640 src/fe-gtk/menu.c:2181 msgid "_Detach" msgstr "_Separa" #: src/fe-gtk/maingui.c:1642 src/fe-gtk/menu.c:2182 src/fe-gtk/menu.c:2187 #: src/fe-gtk/search.c:225 msgid "_Close" msgstr "_Chiudi" #: src/fe-gtk/maingui.c:1981 src/fe-gtk/maingui.c:2087 msgid "User limit must be a number!\n" msgstr "Il limite utenti deve essere un numero.\n" #: src/fe-gtk/maingui.c:2109 msgid "Topic Protection" msgstr "Argomento protetto" #: src/fe-gtk/maingui.c:2110 msgid "No outside messages" msgstr "Nessun messaggio esterno" #: src/fe-gtk/maingui.c:2111 msgid "Secret" msgstr "Segreto" #: src/fe-gtk/maingui.c:2112 msgid "Invite Only" msgstr "Solo su invito" #: src/fe-gtk/maingui.c:2114 msgid "Moderated" msgstr "Moderato" #: src/fe-gtk/maingui.c:2115 msgid "Ban List" msgstr "Elenco dei ban" #: src/fe-gtk/maingui.c:2117 msgid "Keyword" msgstr "Parola chiave" #: src/fe-gtk/maingui.c:2129 msgid "User Limit" msgstr "Limite utenti" #: src/fe-gtk/maingui.c:2238 msgid "Show/Hide userlist" msgstr "Mostra/Nascondi elenco utenti" #: src/fe-gtk/maingui.c:2361 msgid "" "Unable to set transparent background!\n" "\n" "You may be using a non-compliant window\n" "manager that is not currently supported.\n" msgstr "Impossibile impostare lo sfondo trasparente.\n\nÈ possibile che sia in uso un gestore finestre\nnon compatibile che non è attualmente supportato.\n" #: src/fe-gtk/maingui.c:2650 msgid "Enter new nickname:" msgstr "Nuovo soprannome:" #: src/fe-gtk/menu.c:127 msgid "Host unknown" msgstr "Host sconosciuto" #: src/fe-gtk/menu.c:616 #, c-format msgid "<tt><b>%-11s</b></tt> %s" msgstr "<tt><b>%-11s</b></tt> %s" #: src/fe-gtk/menu.c:622 src/fe-gtk/menu.c:626 msgid "Real Name:" msgstr "Nome vero:" #: src/fe-gtk/menu.c:633 msgid "User:" msgstr "Utente:" #: src/fe-gtk/menu.c:640 msgid "Country:" msgstr "Nazione:" #: src/fe-gtk/menu.c:647 msgid "Server:" msgstr "Server:" #: src/fe-gtk/menu.c:658 #, c-format msgid "%u minutes ago" msgstr "%u minuti fa" #: src/fe-gtk/menu.c:660 src/fe-gtk/menu.c:663 msgid "Last Msg:" msgstr "Ultimo messaggio:" #: src/fe-gtk/menu.c:673 msgid "Away Msg:" msgstr "Messaggio di assenza:" #: src/fe-gtk/menu.c:731 #, c-format msgid "%d nicks selected." msgstr "%d soprannomi selezionati." #: src/fe-gtk/menu.c:856 msgid "" "The Menubar is now hidden. You can show it again by pressing F9 or right-" "clicking in a blank part of the main text area." msgstr "La barra dei menù è ora nascosta. Per visualizzarla nuovamente premere F9 o fare clic col tasto destro del mouse in uno spazio vuoto dell'area di testo principale." #: src/fe-gtk/menu.c:945 msgid "Open Link in Browser" msgstr "Apri il collegamento nel browser" #: src/fe-gtk/menu.c:946 msgid "Copy Selected Link" msgstr "Copia collegamento selezionato" #: src/fe-gtk/menu.c:1008 src/fe-gtk/menu.c:1319 msgid "Join Channel" msgstr "Entra nel canale" #: src/fe-gtk/menu.c:1012 msgid "Part Channel" msgstr "Abbandona il canale" #: src/fe-gtk/menu.c:1014 msgid "Cycle Channel" msgstr "Prova il canale" #: src/fe-gtk/menu.c:1050 msgid "_Remove from Favorites" msgstr "_Rimuovi dai preferiti" #: src/fe-gtk/menu.c:1052 msgid "_Add to Favorites" msgstr "_Aggiungi ai preferiti" #: src/fe-gtk/menu.c:1071 msgid ": User menu" msgstr ": menù utente" #: src/fe-gtk/menu.c:1080 msgid "Edit This Menu..." msgstr "Modifica questo menù..." #: src/fe-gtk/menu.c:1210 src/fe-gtk/menu.c:1223 src/fe-gtk/search.c:77 msgid "Search hit end, not found." msgstr "Ricerca terminata, nessuna corrispondenza." #: src/fe-gtk/menu.c:1321 msgid "Retrieve channel list..." msgstr "Recupera elenco canali..." #: src/fe-gtk/menu.c:1389 msgid "" "User Commands - Special codes:\n" "\n" "%c = current channel\n" "%e = current network name\n" "%m = machine info\n" "%n = your nick\n" "%t = time/date\n" "%v = HexChat version\n" "%2 = word 2\n" "%3 = word 3\n" "&2 = word 2 to the end of line\n" "&3 = word 3 to the end of line\n" "\n" "eg:\n" "/cmd john hello\n" "\n" "%2 would be \"john\"\n" "&2 would be \"john hello\"." msgstr "Comandi utente - Codici speciali:\n\n%c = canale attuale\n%e = nome della rete attuale\n%m = informazioni sulla macchina\n%n = proprio soprannome\n%t = ora/data\n%v = versione HexChat\n%2 = parola 2\n%3 = parola 3\n&2 = parola 2 alla fine della riga\n&3 = parola 3 alla fine della riga\n\nesempio:\n/cmd john ciao\n\n%2 dovrebbe essere \"john\"\n&2 dovrebbe essere \"john ciao\"" #: src/fe-gtk/menu.c:1405 msgid "" "Userlist Buttons - Special codes:\n" "\n" "%a = all selected nicks\n" "%c = current channel\n" "%e = current network name\n" "%h = selected nick's hostname\n" "%m = machine info\n" "%n = your nick\n" "%s = selected nick\n" "%t = time/date\n" msgstr "Pulsanti elenco utenti - Codici speciali:\n\n%a = tutti i soprannomi selezionati\n%c = canale attuale\n%e = nome della rete attuale\n%h = nome host del soprannome selezionato\n%m = informazioni sulla macchina\n%n = proprio soprannome\n%s = soprannome selezionato\n%t = ora/data\n" #: src/fe-gtk/menu.c:1415 msgid "" "Dialog Buttons - Special codes:\n" "\n" "%a = all selected nicks\n" "%c = current channel\n" "%e = current network name\n" "%h = selected nick's hostname\n" "%m = machine info\n" "%n = your nick\n" "%s = selected nick\n" "%t = time/date\n" msgstr "Pulsanti dialogo - Codici speciali:\n\n%a = tutti i soprannomi selezionati\n%c = canale attuale\n%e = nome della rete attuale\n%h = nome host del soprannome selezionato\n%m = informazioni sulla macchina\n%n = tuo soprannome\n%s = soprannome selezionato\n%t = ora/data\n" #: src/fe-gtk/menu.c:1425 msgid "" "CTCP Replies - Special codes:\n" "\n" "%d = data (the whole ctcp)\n" "%e = current network name\n" "%m = machine info\n" "%s = nick who sent the ctcp\n" "%t = time/date\n" "%2 = word 2\n" "%3 = word 3\n" "&2 = word 2 to the end of line\n" "&3 = word 3 to the end of line\n" "\n" msgstr "Risposte CTCP - Codici speciali:\n\n%d = dati (tutto il ctcp)\n%e = nome della rete attuale\n%m = informazioni sulla macchina\n%s = soprannome di chi ha inviato il ctcp\n%t = ora/data\n%2 = parola 2\n%3 = parola 3\n&2 = parola 2 alla fine della riga\n&3 = parola 3 alla fine della riga\n\n" #: src/fe-gtk/menu.c:1436 #, c-format msgid "" "URL Handlers - Special codes:\n" "\n" "%s = the URL string\n" "\n" "Putting a ! in front of the command\n" "indicates it should be sent to a\n" "shell instead of HexChat" msgstr "Gestori URL - Codici speciali:\n\n%s = stringa dell'URL\n\nInserire un «!» davanti al comando\nindica che deve essere inviato\nad un terminale invece che ad HexChat" #: src/fe-gtk/menu.c:1445 msgid ": User Defined Commands" msgstr ": comandi definiti dall'utente" #: src/fe-gtk/menu.c:1452 msgid ": Userlist Popup menu" msgstr ": menù pop-up elenco utenti" #: src/fe-gtk/menu.c:1459 msgid "Replace with" msgstr "Sostituisci con" #: src/fe-gtk/menu.c:1459 msgid ": Replace" msgstr ": sostituisci" #: src/fe-gtk/menu.c:1466 msgid ": URL Handlers" msgstr ": gestori URL" #: src/fe-gtk/menu.c:1485 msgid ": Userlist buttons" msgstr ": pulsanti elenco utenti" #: src/fe-gtk/menu.c:1492 msgid ": Dialog buttons" msgstr ": pulsanti dialogo" #: src/fe-gtk/menu.c:1499 msgid ": CTCP Replies" msgstr ": risposte CTCP" #: src/fe-gtk/menu.c:1605 msgid "He_xChat" msgstr "He_xChat" #: src/fe-gtk/menu.c:1606 msgid "Network Li_st..." msgstr "Elenco reti..." #: src/fe-gtk/menu.c:1609 msgid "_New" msgstr "_Nuova" #: src/fe-gtk/menu.c:1610 msgid "Server Tab..." msgstr "Scheda server..." #: src/fe-gtk/menu.c:1611 msgid "Channel Tab..." msgstr "Scheda canale..." #: src/fe-gtk/menu.c:1612 msgid "Server Window..." msgstr "Finestra server..." #: src/fe-gtk/menu.c:1613 msgid "Channel Window..." msgstr "Finestra canale..." #: src/fe-gtk/menu.c:1618 src/fe-gtk/menu.c:1620 msgid "_Load Plugin or Script..." msgstr "C_arica plugin o script..." #: src/fe-gtk/menu.c:1628 src/fe-gtk/plugin-tray.c:633 msgid "_Quit" msgstr "_Esci" #: src/fe-gtk/menu.c:1630 msgid "_View" msgstr "_Visualizza" #: src/fe-gtk/menu.c:1632 msgid "_Menu Bar" msgstr "Barra dei _menù" #: src/fe-gtk/menu.c:1633 msgid "_Topic Bar" msgstr "Barra dell'argomen_to" #: src/fe-gtk/menu.c:1634 msgid "_User List" msgstr "Elenco _utenti" #: src/fe-gtk/menu.c:1635 msgid "U_serlist Buttons" msgstr "Pulsanti elenco _utenti" #: src/fe-gtk/menu.c:1636 msgid "M_ode Buttons" msgstr "Pulsanti m_odalità" #: src/fe-gtk/menu.c:1638 msgid "_Channel Switcher" msgstr "Elenco _canali" #: src/fe-gtk/menu.c:1640 msgid "_Tabs" msgstr "_Schede" #: src/fe-gtk/menu.c:1641 msgid "T_ree" msgstr "Albe_ro" #: src/fe-gtk/menu.c:1643 msgid "_Network Meters" msgstr "A_nalizzatore rete" #: src/fe-gtk/menu.c:1645 src/fe-gtk/setup.c:246 msgid "Off" msgstr "Disattivato" #: src/fe-gtk/menu.c:1646 msgid "Graph" msgstr "Grafico" #: src/fe-gtk/menu.c:1651 msgid "_Server" msgstr "_Server" #: src/fe-gtk/menu.c:1652 msgid "_Disconnect" msgstr "_Disconnetti" #: src/fe-gtk/menu.c:1653 msgid "_Reconnect" msgstr "_Riconnetti" #: src/fe-gtk/menu.c:1654 msgid "Join a Channel..." msgstr "Accedi a un canale..." #: src/fe-gtk/menu.c:1655 msgid "List of Channels..." msgstr "Elenco canali..." #: src/fe-gtk/menu.c:1658 msgid "Marked Away" msgstr "Imposta come «assente»" #: src/fe-gtk/menu.c:1660 msgid "_Usermenu" msgstr "Menù _utente" #: src/fe-gtk/menu.c:1662 msgid "S_ettings" msgstr "_Impostazioni" #: src/fe-gtk/menu.c:1663 src/fe-gtk/plugin-tray.c:630 msgid "_Preferences" msgstr "_Preferenze" #: src/fe-gtk/menu.c:1665 msgid "Auto Replace..." msgstr "Sostituzione automatica..." #: src/fe-gtk/menu.c:1666 msgid "CTCP Replies..." msgstr "Risposte CTCP..." #: src/fe-gtk/menu.c:1667 msgid "Dialog Buttons..." msgstr "Pulsanti dialogo..." #: src/fe-gtk/menu.c:1668 msgid "Keyboard Shortcuts..." msgstr "Scorciatoie da tastiera..." #: src/fe-gtk/menu.c:1669 msgid "Text Events..." msgstr "Eventi testuali..." #: src/fe-gtk/menu.c:1670 msgid "URL Handlers..." msgstr "Gestori URL..." #: src/fe-gtk/menu.c:1671 msgid "User Commands..." msgstr "Comandi utente..." #: src/fe-gtk/menu.c:1672 msgid "Userlist Buttons..." msgstr "Pulsanti elenco utenti..." #: src/fe-gtk/menu.c:1673 msgid "Userlist Popup..." msgstr "Pop-up elenco utenti..." #: src/fe-gtk/menu.c:1675 msgid "_Window" msgstr "_Finestra" #: src/fe-gtk/menu.c:1676 msgid "Ban List..." msgstr "Elenco dei ban..." #: src/fe-gtk/menu.c:1677 msgid "Character Chart..." msgstr "Tabella caratteri..." #: src/fe-gtk/menu.c:1678 msgid "Direct Chat..." msgstr "Chat diretta..." #: src/fe-gtk/menu.c:1679 msgid "File Transfers..." msgstr "Trasferimento file..." #: src/fe-gtk/menu.c:1680 msgid "Friends List..." msgstr "Elenco amici..." #: src/fe-gtk/menu.c:1681 msgid "Ignore List..." msgstr "Elenco utenti ignorati..." #: src/fe-gtk/menu.c:1682 msgid "Plugins and Scripts..." msgstr "Plugin e script..." #: src/fe-gtk/menu.c:1683 msgid "Raw Log..." msgstr "Registro in forma grezza..." #: src/fe-gtk/menu.c:1684 msgid "URL Grabber..." msgstr "URL collezionati..." #: src/fe-gtk/menu.c:1686 msgid "Reset Marker Line" msgstr "Azzera linea di demrcazione" #: src/fe-gtk/menu.c:1687 msgid "_Copy Selection" msgstr "_Copia selezione" #: src/fe-gtk/menu.c:1688 msgid "C_lear Text" msgstr "Pu_lisci testo" #: src/fe-gtk/menu.c:1689 msgid "Save Text..." msgstr "Salva testo..." #: src/fe-gtk/menu.c:1691 msgid "Search" msgstr "Cerca" #: src/fe-gtk/menu.c:1692 msgid "Search Text..." msgstr "Cerca testo..." #: src/fe-gtk/menu.c:1693 msgid "Reset Search" msgstr "Azzera ricerca" #: src/fe-gtk/menu.c:1694 msgid "Search Next" msgstr "Ricerca precednete" #: src/fe-gtk/menu.c:1695 msgid "Search Previous" msgstr "Ricerca successivo" #: src/fe-gtk/menu.c:1698 src/fe-gtk/menu.c:2173 msgid "_Help" msgstr "A_iuto" #: src/fe-gtk/menu.c:1700 msgid "_Contents" msgstr "_Contenuti" #: src/fe-gtk/menu.c:1702 msgid "Check for updates" msgstr "Controlla aggiornamenti" #: src/fe-gtk/menu.c:1704 msgid "_About" msgstr "_Informazioni" #: src/fe-gtk/menu.c:2186 msgid "_Attach" msgstr "_Riunisci" #: src/fe-gtk/notifygui.c:139 msgid "Last Seen" msgstr "Ultima volta visto" #: src/fe-gtk/notifygui.c:181 msgid "Offline" msgstr "Non in linea" #: src/fe-gtk/notifygui.c:201 src/fe-gtk/setup.c:319 msgid "Never" msgstr "Mai" #: src/fe-gtk/notifygui.c:204 src/fe-gtk/notifygui.c:229 #, c-format msgid "%d minutes ago" msgstr "%d minuti fa" #: src/fe-gtk/notifygui.c:219 msgid "Online" msgstr "In linea" #: src/fe-gtk/notifygui.c:348 msgid "Enter nickname to add:" msgstr "Inserire soprannome da aggiungere:" #: src/fe-gtk/notifygui.c:377 msgid "Notify on these networks:" msgstr "Notificare su queste reti:" #: src/fe-gtk/notifygui.c:388 msgid "Comma separated list of networks is accepted." msgstr "Elenco di reti, separate da virgole." #: src/fe-gtk/notifygui.c:414 msgid ": Friends List" msgstr ": elenco amici" #: src/fe-gtk/notifygui.c:436 msgid "Open Dialog" msgstr "Apri dialogo" #: src/fe-gtk/plugin-tray.c:238 #, c-format msgid ": Connected to %u networks and %u channels" msgstr ": reti connesse %u, canali %u" #: src/fe-gtk/plugin-tray.c:602 msgid "_Restore Window" msgstr "_Ripristina finestra" #: src/fe-gtk/plugin-tray.c:604 msgid "_Hide Window" msgstr "_Nascondi finestra" #: src/fe-gtk/plugin-tray.c:608 msgid "_Blink on" msgstr "_Lampeggia per" #: src/fe-gtk/plugin-tray.c:609 src/fe-gtk/setup.c:699 msgid "Channel Message" msgstr "Messaggio del canale" #: src/fe-gtk/plugin-tray.c:610 src/fe-gtk/setup.c:700 msgid "Private Message" msgstr "Messaggio privato" #: src/fe-gtk/plugin-tray.c:611 src/fe-gtk/setup.c:701 msgid "Highlighted Message" msgstr "Messaggio evidenziato" #: src/fe-gtk/plugin-tray.c:614 msgid "_Change status" msgstr "_Cambia stato" #: src/fe-gtk/plugin-tray.c:620 msgid "_Away" msgstr "_Assente" #: src/fe-gtk/plugin-tray.c:623 msgid "_Back" msgstr "_Presente" #: src/fe-gtk/plugin-tray.c:688 src/fe-gtk/plugin-tray.c:696 #, c-format msgid ": Highlighted message from: %s (%s)" msgstr ": messaggio evidenziato da: %s (%s)" #: src/fe-gtk/plugin-tray.c:691 #, c-format msgid ": %u highlighted messages, latest from: %s (%s)" msgstr ": %u messaggi evidenziati, l'ultimo da: %s (%s)" #: src/fe-gtk/plugin-tray.c:714 src/fe-gtk/plugin-tray.c:721 #, c-format msgid ": New public message from: %s (%s)" msgstr ": nuovo messaggio pubblico da: %s (%s)" #: src/fe-gtk/plugin-tray.c:717 #, c-format msgid ": %u new public messages." msgstr ": %u nuovi messaggi pubblici" #: src/fe-gtk/plugin-tray.c:743 src/fe-gtk/plugin-tray.c:750 #, c-format msgid ": Private message from: %s (%s)" msgstr ": messaggio privato da: %s (%s)" #: src/fe-gtk/plugin-tray.c:746 #, c-format msgid ": %u private messages, latest from: %s (%s)" msgstr ": %u messaggi privati, l'ultimo da: %s (%s)" #: src/fe-gtk/plugin-tray.c:796 src/fe-gtk/plugin-tray.c:804 #, c-format msgid ": File offer from: %s (%s)" msgstr ": file offerto da: %s (%s)" #: src/fe-gtk/plugin-tray.c:799 #, c-format msgid ": %u file offers, latest from: %s (%s)" msgstr ": %u file offerti, l'ultimo da: %s (%s)" #: src/fe-gtk/plugingui.c:75 msgid "Version" msgstr "Versione" #: src/fe-gtk/plugingui.c:77 src/fe-gtk/textgui.c:424 msgid "Description" msgstr "Descrizione" #: src/fe-gtk/plugingui.c:149 msgid "Select a Plugin or Script to load" msgstr "Seleziona il plugin o lo script da caricare" #: src/fe-gtk/plugingui.c:219 msgid ": Plugins and Scripts" msgstr ": plugin e script" #: src/fe-gtk/plugingui.c:234 msgid "_Load..." msgstr "_Carica..." #: src/fe-gtk/plugingui.c:237 msgid "_UnLoad" msgstr "Sca_rica" #: src/fe-gtk/rawlog.c:85 src/fe-gtk/rawlog.c:151 src/fe-gtk/textgui.c:438 #: src/fe-gtk/urlgrab.c:217 msgid "Save As..." msgstr "Salva come..." #: src/fe-gtk/rawlog.c:117 #, c-format msgid ": Raw Log (%s)" msgstr ": registro in forma grezza (%s)" #: src/fe-gtk/rawlog.c:148 msgid "Clear Raw Log" msgstr "Pulisci registro" #: src/fe-gtk/search.c:60 msgid "The window you opened this Search for doesn't exist anymore." msgstr "La finestra aperta per questa ricerca ricerca non esiste più." #: src/fe-gtk/search.c:157 msgid ": Search" msgstr ": cerca" #: src/fe-gtk/search.c:184 msgid "_Find" msgstr "_Trova" #: src/fe-gtk/search.c:188 msgid "_Match case" msgstr "_Maiuscole/minuscole" #: src/fe-gtk/search.c:196 msgid "Search _backwards" msgstr "Cerca in_dietro" #: src/fe-gtk/search.c:204 msgid "_Highlight all" msgstr "E_videnzia tutti" #: src/fe-gtk/search.c:212 msgid "R_egular expression" msgstr "_Espressione regolare" #: src/fe-gtk/search.c:228 msgid "Close and _Reset" msgstr "Chiudi e azzera" #: src/fe-gtk/servlistgui.c:173 src/fe-gtk/servlistgui.c:282 msgid "New Network" msgstr "Nuova rete" #: src/fe-gtk/servlistgui.c:555 #, c-format msgid "Really remove network \"%s\" and all its servers?" msgstr "Rimuovere veramente la rete «%s» e tutti i relativi server?" #: src/fe-gtk/servlistgui.c:737 msgid "#channel" msgstr "#canale" #: src/fe-gtk/servlistgui.c:847 msgid ": Favorite Channels (Auto-Join List)" msgstr ": elenco canali preferiti (accesso automatico)" #: src/fe-gtk/servlistgui.c:860 #, c-format msgid "These channels will be joined whenever you connect to %s." msgstr "Verrà effettuato l'accesso a questi canali al momento della connessione a %s." #: src/fe-gtk/servlistgui.c:903 msgid "Key (Password)" msgstr "Chiave (password):" #: src/fe-gtk/servlistgui.c:934 src/fe-gtk/servlistgui.c:1580 msgid "_Edit" msgstr "_Modifica" #: src/fe-gtk/servlistgui.c:970 #, c-format msgid "%s has been removed." msgstr "%s è stato rimosso." #: src/fe-gtk/servlistgui.c:990 #, c-format msgid "%s has been added." msgstr "%s è stato aggiunto." #: src/fe-gtk/servlistgui.c:1014 msgid "User name and Real name cannot be left blank." msgstr "Il nome utente e il vero nome non possono essere vuoti." #: src/fe-gtk/servlistgui.c:1405 #, c-format msgid ": Edit %s" msgstr ": modifica %s" #: src/fe-gtk/servlistgui.c:1424 #, c-format msgid "Servers for %s" msgstr "Server %s" #: src/fe-gtk/servlistgui.c:1435 msgid "Connect to selected server only" msgstr "Connettere solo al server selezionato" #: src/fe-gtk/servlistgui.c:1436 msgid "Don't cycle through all the servers when the connection fails." msgstr "Non provare tutti i server quando la connessione non riesce." #: src/fe-gtk/servlistgui.c:1438 msgid "Your Details" msgstr "Dettagli" #: src/fe-gtk/servlistgui.c:1444 msgid "Use global user information" msgstr "Usare informazioni utente globali" #: src/fe-gtk/servlistgui.c:1447 src/fe-gtk/servlistgui.c:1687 msgid "_Nick name:" msgstr "Sopra_nnome:" #: src/fe-gtk/servlistgui.c:1451 src/fe-gtk/servlistgui.c:1694 msgid "Second choice:" msgstr "Seconda scelta:" #: src/fe-gtk/servlistgui.c:1455 src/fe-gtk/servlistgui.c:1708 msgid "_User name:" msgstr "Nome _utente:" #: src/fe-gtk/servlistgui.c:1459 msgid "Rea_l name:" msgstr "Nome _vero:" #: src/fe-gtk/servlistgui.c:1462 msgid "Connecting" msgstr "Connessione" #: src/fe-gtk/servlistgui.c:1468 msgid "Auto connect to this network at startup" msgstr "Connettere automaticamente a questa rete all'avvio" #: src/fe-gtk/servlistgui.c:1470 msgid "Bypass proxy server" msgstr "Scavalcare il server proxy" #: src/fe-gtk/servlistgui.c:1472 msgid "Use SSL for all the servers on this network" msgstr "Usare SSL per tutti i server di questa rete" #: src/fe-gtk/servlistgui.c:1477 msgid "Accept invalid SSL certificate" msgstr "Accettare certificato SSL non valido" #: src/fe-gtk/servlistgui.c:1483 msgid "_Favorite channels:" msgstr "Canali pre_feriti:" #: src/fe-gtk/servlistgui.c:1485 msgid "Channels to join, separated by commas, but not spaces!" msgstr "Canali nei quali entrare, separati da virgole, ma senza spazi." #: src/fe-gtk/servlistgui.c:1488 msgid "Connect command:" msgstr "Comando dopo la connessione:" #: src/fe-gtk/servlistgui.c:1490 msgid "" "Extra command to execute after connecting. If you need more than one, set " "this to LOAD -e <filename>, where <filename> is a text-file full of commands" " to execute." msgstr "Comando aggiuntivo da eseguire dopo la connessione. Se sono necessari più comandi, utilizzare LOAD -e <nome file>, sostituendo <nome file> con il file dove è contenuto l'elenco dei comandi da eseguire." #: src/fe-gtk/servlistgui.c:1493 msgid "Nickserv password:" msgstr "Password del Nickserv:" #: src/fe-gtk/servlistgui.c:1495 msgid "" "If your nickname requires a password, enter it here. Not all IRC networks " "support this." msgstr "Se il soprannome usato richiede una password, inserirla qui. Non tutte le reti IRC supportano questa funzione." #: src/fe-gtk/servlistgui.c:1499 msgid "Server password:" msgstr "Password del server:" #: src/fe-gtk/servlistgui.c:1501 msgid "Password for the server, if in doubt, leave blank." msgstr "Password per il server, in caso di dubbio, lasciare vuoto." #: src/fe-gtk/servlistgui.c:1505 msgid "SASL password:" msgstr "Password SASL:" #: src/fe-gtk/servlistgui.c:1507 msgid "Password for SASL authentication, if in doubt, leave blank." msgstr "Password per l'autenticazione SASL, in caso di dubbio, lasciare vuoto." #: src/fe-gtk/servlistgui.c:1510 msgid "Character set:" msgstr "Set di caratteri:" #: src/fe-gtk/servlistgui.c:1665 msgid ": Network List" msgstr ": elenco reti" #: src/fe-gtk/servlistgui.c:1677 msgid "User Information" msgstr "Informazioni utente" #: src/fe-gtk/servlistgui.c:1701 msgid "Third choice:" msgstr "Terza scelta:" #: src/fe-gtk/servlistgui.c:1761 msgid "Networks" msgstr "Reti" #: src/fe-gtk/servlistgui.c:1809 msgid "Skip network list on startup" msgstr "Non visualizzare l'elenco reti all'avvio" #: src/fe-gtk/servlistgui.c:1818 msgid "Show favorites only" msgstr "Visualizzare solo reti preferite" #: src/fe-gtk/servlistgui.c:1848 msgid "_Edit..." msgstr "_Modifica..." #: src/fe-gtk/servlistgui.c:1855 msgid "_Sort" msgstr "_Ordina" #: src/fe-gtk/servlistgui.c:1856 msgid "" "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN " "keys to move a row." msgstr "Ordina l'elenco reti alfabeticamente. Utilizzare le combinazioni di tasti Maiusc-su e Maiusc-giù per muovere una sola riga." #: src/fe-gtk/servlistgui.c:1864 msgid "_Favor" msgstr "Pre_ferita" #: src/fe-gtk/servlistgui.c:1865 msgid "Mark or unmark this network as a favorite." msgstr "Contrassegna la rete selezionata come preferita." #: src/fe-gtk/servlistgui.c:1889 msgid "C_onnect" msgstr "_Connetti" #: src/fe-gtk/setup.c:105 msgid "Afrikaans" msgstr "Africano" #: src/fe-gtk/setup.c:106 msgid "Albanian" msgstr "Albanese" #: src/fe-gtk/setup.c:107 msgid "Amharic" msgstr "Amarico" #: src/fe-gtk/setup.c:108 msgid "Asturian" msgstr "Asturiano" #: src/fe-gtk/setup.c:109 msgid "Azerbaijani" msgstr "Azero" #: src/fe-gtk/setup.c:110 msgid "Basque" msgstr "Basco" #: src/fe-gtk/setup.c:111 msgid "Belarusian" msgstr "Bielorusso" #: src/fe-gtk/setup.c:112 msgid "Bulgarian" msgstr "Bulgaro" #: src/fe-gtk/setup.c:114 msgid "Chinese (Simplified)" msgstr "Cinese (semplificato)" #: src/fe-gtk/setup.c:115 msgid "Chinese (Traditional)" msgstr "Cinese (tradizionale)" #: src/fe-gtk/setup.c:116 msgid "Czech" msgstr "Ceco" #: src/fe-gtk/setup.c:117 msgid "Danish" msgstr "Danese" #: src/fe-gtk/setup.c:118 msgid "Dutch" msgstr "Olandese" #: src/fe-gtk/setup.c:119 msgid "English (British)" msgstr "Inglese (britannico)" #: src/fe-gtk/setup.c:120 msgid "English" msgstr "Inglese" #: src/fe-gtk/setup.c:121 msgid "Estonian" msgstr "Estone" #: src/fe-gtk/setup.c:122 msgid "Finnish" msgstr "Finlandese" #: src/fe-gtk/setup.c:123 msgid "French" msgstr "Francese" #: src/fe-gtk/setup.c:124 msgid "Galician" msgstr "Galiziano" #: src/fe-gtk/setup.c:125 msgid "German" msgstr "Tedesco" #: src/fe-gtk/setup.c:126 msgid "Greek" msgstr "Greco" #: src/fe-gtk/setup.c:127 msgid "Gujarati" msgstr "Gujarati" #: src/fe-gtk/setup.c:128 msgid "Hindi" msgstr "Indi" #: src/fe-gtk/setup.c:129 msgid "Hungarian" msgstr "Ungherese" #: src/fe-gtk/setup.c:130 msgid "Indonesian" msgstr "Indonesiano" #: src/fe-gtk/setup.c:131 msgid "Italian" msgstr "Italiano" #: src/fe-gtk/setup.c:132 msgid "Japanese" msgstr "Giapponese" #: src/fe-gtk/setup.c:133 msgid "Kannada" msgstr "Kannada" #: src/fe-gtk/setup.c:134 msgid "Kinyarwanda" msgstr "Kinyarwanda" #: src/fe-gtk/setup.c:135 msgid "Korean" msgstr "Coreano" #: src/fe-gtk/setup.c:136 msgid "Latvian" msgstr "Lettone" #: src/fe-gtk/setup.c:137 msgid "Lithuanian" msgstr "Lituano" #: src/fe-gtk/setup.c:138 msgid "Macedonian" msgstr "Macedone" #: src/fe-gtk/setup.c:139 msgid "Malay" msgstr "Malese" #: src/fe-gtk/setup.c:140 msgid "Malayalam" msgstr "Malayalam" #: src/fe-gtk/setup.c:141 msgid "Norwegian (Bokmal)" msgstr "Norvegese (Bokmal)" #: src/fe-gtk/setup.c:142 msgid "Norwegian (Nynorsk)" msgstr "Norvegese (Nynorsk)" #: src/fe-gtk/setup.c:143 msgid "Polish" msgstr "Polacco" #: src/fe-gtk/setup.c:144 msgid "Portuguese" msgstr "Portoghese" #: src/fe-gtk/setup.c:145 msgid "Portuguese (Brazilian)" msgstr "Portoghese (brasiliano)" #: src/fe-gtk/setup.c:146 msgid "Punjabi" msgstr "Punjabi" #: src/fe-gtk/setup.c:147 msgid "Russian" msgstr "Russo" #: src/fe-gtk/setup.c:148 msgid "Serbian" msgstr "Serbo" #: src/fe-gtk/setup.c:149 msgid "Slovak" msgstr "Slovacco" #: src/fe-gtk/setup.c:150 msgid "Slovenian" msgstr "Sloveno" #: src/fe-gtk/setup.c:151 msgid "Spanish" msgstr "Spagnolo" #: src/fe-gtk/setup.c:152 msgid "Swedish" msgstr "Svedese" #: src/fe-gtk/setup.c:153 msgid "Thai" msgstr "Thai" #: src/fe-gtk/setup.c:154 msgid "Ukrainian" msgstr "Ucraino" #: src/fe-gtk/setup.c:155 msgid "Vietnamese" msgstr "Vietnamita" #: src/fe-gtk/setup.c:156 msgid "Walloon" msgstr "Vallone" #: src/fe-gtk/setup.c:163 src/fe-gtk/setup.c:1946 msgid "General" msgstr "Generale" #: src/fe-gtk/setup.c:165 msgid "Language:" msgstr "Lingua:" #: src/fe-gtk/setup.c:166 msgid "Main font:" msgstr "Carattere principale:" #: src/fe-gtk/setup.c:168 msgid "Font:" msgstr "Carattere:" #: src/fe-gtk/setup.c:171 msgid "Text Box" msgstr "Area di testo" #: src/fe-gtk/setup.c:172 msgid "Colored nick names" msgstr "Soprannomi colorati" #: src/fe-gtk/setup.c:172 msgid "Give each person on IRC a different color" msgstr "Assegna a ciascun utente su IRC un colore differente" #: src/fe-gtk/setup.c:173 msgid "Indent nick names" msgstr "Indentare soprannomi" #: src/fe-gtk/setup.c:173 msgid "Make nick names right-justified" msgstr "Allinea i soprannomi a destra" #: src/fe-gtk/setup.c:175 msgid "Transparent background" msgstr "Sfondo trasparente" #: src/fe-gtk/setup.c:176 src/fe-gtk/setup.c:184 msgid "Show marker line" msgstr "Mostrare riga di demarcazione" #: src/fe-gtk/setup.c:176 src/fe-gtk/setup.c:184 msgid "Insert a red line after the last read text." msgstr "Inserisce una riga rossa dopo l'ultimo messaggio letto." #: src/fe-gtk/setup.c:177 src/fe-gtk/setup.c:185 msgid "Background image:" msgstr "Immagine di sfondo:" #: src/fe-gtk/setup.c:179 msgid "Transparency Settings" msgstr "Impostazioni trasparenza" #: src/fe-gtk/setup.c:180 msgid "Red:" msgstr "Rosso:" #: src/fe-gtk/setup.c:181 msgid "Green:" msgstr "Verde:" #: src/fe-gtk/setup.c:182 msgid "Blue:" msgstr "Blu:" #: src/fe-gtk/setup.c:188 src/fe-gtk/setup.c:599 msgid "Time Stamps" msgstr "Orario" #: src/fe-gtk/setup.c:189 msgid "Enable time stamps" msgstr "Attiva orario" #: src/fe-gtk/setup.c:190 msgid "Time stamp format:" msgstr "Formato orario:" #: src/fe-gtk/setup.c:192 src/fe-gtk/setup.c:603 msgid "See the strftime MSDN article for details." msgstr "Per maggiori informazioni, consultare l'articolo MSDN di strftime." #: src/fe-gtk/setup.c:194 src/fe-gtk/setup.c:605 msgid "See the strftime manpage for details." msgstr "Per maggiori informazioni, consultare il manuale di strftime." #: src/fe-gtk/setup.c:197 msgid "Title Bar" msgstr "Barra del titolo" #: src/fe-gtk/setup.c:198 msgid "Show channel modes" msgstr "Mostrare la modalità del canale" #: src/fe-gtk/setup.c:199 msgid "Show number of users" msgstr "Mostrare il numero di utenti" #: src/fe-gtk/setup.c:206 src/fe-gtk/setup.c:256 msgid "A-Z" msgstr "alfabeticamente (A-Z)" #: src/fe-gtk/setup.c:207 msgid "Last-spoke order" msgstr "prima l'ultimo che ha parlato" #: src/fe-gtk/setup.c:213 msgid "Input Box" msgstr "Area di input" #: src/fe-gtk/setup.c:214 src/fe-gtk/setup.c:288 msgid "Use the Text box font and colors" msgstr "Usa carattere e colori dell'area testo" #: src/fe-gtk/setup.c:215 msgid "Show nick box" msgstr "Mostrare casella soprannome" #: src/fe-gtk/setup.c:216 msgid "Show user mode icon in nick box" msgstr "Mostrare icona modalità utente nella casella del soprannome" #: src/fe-gtk/setup.c:218 msgid "Spell checking" msgstr "Controllo del periodo" #: src/fe-gtk/setup.c:220 msgid "Dictionaries to use:" msgstr "Dizionario da usare:" #: src/fe-gtk/setup.c:222 msgid "" "Use language codes (as in \"share\\myspell\\dicts\").\n" "Separate multiple entries with commas." msgstr "Usa i codici della lingua (come in «share\\myspell\\dicts»).\nSeparare voci multiple con una virgola." #: src/fe-gtk/setup.c:224 msgid "Use language codes. Separate multiple entries with commas." msgstr "Usare i codici della lingua. Separare voci multiple con una virgola." #: src/fe-gtk/setup.c:229 msgid "Nick Completion" msgstr "Completamento dei soprannomi" #: src/fe-gtk/setup.c:230 msgid "Automatic nick completion (without TAB key)" msgstr "Completare automaticamente i soprannomi (senza utilizzare il tasto TAB)" #: src/fe-gtk/setup.c:232 msgid "Nick completion suffix:" msgstr "Suffisso al completamento dei soprannomi:" #: src/fe-gtk/setup.c:233 msgid "Nick completion sorted:" msgstr "Ordinare i soprannomi completati:" #: src/fe-gtk/setup.c:236 msgid "Input Box Codes" msgstr "Codici area di input" #: src/fe-gtk/setup.c:237 #, c-format msgid "Interpret %nnn as an ASCII value" msgstr "Interpreta %nnn come un valore ASCII" #: src/fe-gtk/setup.c:238 msgid "Interpret %C, %B as Color, Bold etc" msgstr "Interpreta %C, %B come Colore, Grassetto ecc." #: src/fe-gtk/setup.c:247 msgid "Graphical" msgstr "Grafico" #: src/fe-gtk/setup.c:255 msgid "A-Z, Ops first" msgstr "alfabeticamente (A-Z), operatori all'inizio" #: src/fe-gtk/setup.c:257 msgid "Z-A, Ops last" msgstr "alfabeticamente (Z-A), operatori alla fine" #: src/fe-gtk/setup.c:258 msgid "Z-A" msgstr "alfabeticamente (Z-A)" #: src/fe-gtk/setup.c:259 msgid "Unsorted" msgstr "non ordinare" #: src/fe-gtk/setup.c:265 src/fe-gtk/setup.c:277 msgid "Left (Upper)" msgstr "a sinistra (in alto)" #: src/fe-gtk/setup.c:266 src/fe-gtk/setup.c:278 msgid "Left (Lower)" msgstr "a sinistra (in basso)" #: src/fe-gtk/setup.c:267 src/fe-gtk/setup.c:279 msgid "Right (Upper)" msgstr "a destra (in alto)" #: src/fe-gtk/setup.c:268 src/fe-gtk/setup.c:280 msgid "Right (Lower)" msgstr "a destra (in basso)" #: src/fe-gtk/setup.c:269 msgid "Top" msgstr "in alto" #: src/fe-gtk/setup.c:270 msgid "Bottom" msgstr "in basso" #: src/fe-gtk/setup.c:271 msgid "Hidden" msgstr "nascosto" #: src/fe-gtk/setup.c:286 msgid "User List" msgstr "Elenco utenti" #: src/fe-gtk/setup.c:287 msgid "Show hostnames in user list" msgstr "Mostrare nome host nell'elenco utenti" #: src/fe-gtk/setup.c:289 msgid "Show icons for user modes" msgstr "Mostrare icone per le modalità utente" #: src/fe-gtk/setup.c:289 msgid "Use graphical icons instead of text symbols in the user list." msgstr "Usa icone al posto dei simboli di testo nell'elenco utenti." #: src/fe-gtk/setup.c:290 msgid "Color nicknames in userlist" msgstr "" #: src/fe-gtk/setup.c:290 msgid "Will color nicknames the same as in chat." msgstr "" #: src/fe-gtk/setup.c:291 msgid "Show user count in channels" msgstr "Mostrare il numero di utenti nei canali" #: src/fe-gtk/setup.c:293 msgid "User list sorted by:" msgstr "Ordinare elenco utenti:" #: src/fe-gtk/setup.c:294 msgid "Show user list at:" msgstr "Posizionare elenco utenti:" #: src/fe-gtk/setup.c:296 msgid "Away Tracking" msgstr "Stato di assenza" #: src/fe-gtk/setup.c:297 msgid "Track the Away status of users and mark them in a different color" msgstr "Individuare lo stato di assenza degli utenti e segnarli con colore differente" #: src/fe-gtk/setup.c:298 msgid "On channels smaller than:" msgstr "Sui canali più piccoli di:" #: src/fe-gtk/setup.c:300 msgid "Action Upon Double Click" msgstr "Azione da eseguire sul doppio-clic" #: src/fe-gtk/setup.c:303 msgid "Extra Gadgets" msgstr "Funzioni aggiuntive" #: src/fe-gtk/setup.c:304 msgid "Lag meter:" msgstr "Misuratore del ritardo (lag):" #: src/fe-gtk/setup.c:305 msgid "Throttle meter:" msgstr "Misuratore velocità trasferimento:" #: src/fe-gtk/setup.c:312 msgid "Windows" msgstr "Finestre" #: src/fe-gtk/setup.c:313 src/fe-gtk/setup.c:335 msgid "Tabs" msgstr "Schede" #: src/fe-gtk/setup.c:320 msgid "Always" msgstr "Sempre" #: src/fe-gtk/setup.c:321 msgid "Only requested tabs" msgstr "Solo schede richieste" #: src/fe-gtk/setup.c:327 msgid "Automatic" msgstr "" #: src/fe-gtk/setup.c:328 msgid "In an extra tab" msgstr "" #: src/fe-gtk/setup.c:329 msgid "In the front tab" msgstr "" #: src/fe-gtk/setup.c:337 msgid "Tree" msgstr "Albero" #: src/fe-gtk/setup.c:344 msgid "Switcher type:" msgstr "Tipo di selettore canali:" #: src/fe-gtk/setup.c:345 msgid "Open an extra tab for server messages" msgstr "Aprire una scheda aggiuntiva per i messaggi del server" #: src/fe-gtk/setup.c:346 msgid "Open a new tab when you receive a private message" msgstr "Aprire una nuova scheda quando si riceve un messaggio privato" #: src/fe-gtk/setup.c:347 msgid "Sort tabs in alphabetical order" msgstr "Ordinare le schede in modo alfabetico" #: src/fe-gtk/setup.c:348 msgid "Show icons in the channel tree" msgstr "Mostrare le icone nell'albero dei canali" #: src/fe-gtk/setup.c:349 msgid "Show dotted lines in the channel tree" msgstr "Mostrare linee tratteggiate nell'albero dei canali" #: src/fe-gtk/setup.c:350 msgid "Smaller text" msgstr "Ridurre le dimensioni del testo" #: src/fe-gtk/setup.c:351 msgid "Focus new tabs:" msgstr "Focus nuove schede:" #: src/fe-gtk/setup.c:352 msgid "Placement of notices:" msgstr "" #: src/fe-gtk/setup.c:353 msgid "Show channel switcher at:" msgstr "Posizionare elenco canali:" #: src/fe-gtk/setup.c:354 msgid "Shorten tab labels to:" msgstr "Etichette schede abbreviate a:" #: src/fe-gtk/setup.c:354 msgid "letters." msgstr "lettere." #: src/fe-gtk/setup.c:356 msgid "Tabs or Windows" msgstr "Schede o finestre" #: src/fe-gtk/setup.c:357 msgid "Open channels in:" msgstr "Aprire canali in:" #: src/fe-gtk/setup.c:358 msgid "Open dialogs in:" msgstr "Aprire dialoghi in:" #: src/fe-gtk/setup.c:359 msgid "Open utilities in:" msgstr "Aprire utilità in:" #: src/fe-gtk/setup.c:359 msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" msgstr "Aprire DCC, elenco ignorati, notifiche ecc, in schede o finestre?" #: src/fe-gtk/setup.c:366 msgid "Messages" msgstr "Messaggi" #: src/fe-gtk/setup.c:367 msgid "Scrollback" msgstr "Conversazioni precedenti" #: src/fe-gtk/setup.c:375 msgid "Ask for confirmation" msgstr "Chiedi conferma" #: src/fe-gtk/setup.c:376 msgid "Ask for download folder" msgstr "Chiedi quale cartella usare" #: src/fe-gtk/setup.c:377 msgid "Save without interaction" msgstr "Salva senza chiedere conferma" #: src/fe-gtk/setup.c:383 msgid "Files and Directories" msgstr "File e cartelle" #: src/fe-gtk/setup.c:384 msgid "Auto accept file offers:" msgstr "Accettare automaticamente i file offerti:" #: src/fe-gtk/setup.c:385 msgid "Download files to:" msgstr "Scaricare i file in:" #: src/fe-gtk/setup.c:386 msgid "Move completed files to:" msgstr "Spostare i file completi in:" #: src/fe-gtk/setup.c:387 msgid "Save nick name in filenames" msgstr "Salvare il soprannome nei nomi dei file" #: src/fe-gtk/setup.c:389 msgid "Network Settings" msgstr "Impostazioni rete" #: src/fe-gtk/setup.c:390 msgid "Get my address from the IRC server" msgstr "Ottenere l'indirizzo dal server IRC" #: src/fe-gtk/setup.c:391 msgid "" "Asks the IRC server for your real address. Use this if you have a " "192.168.*.* address!" msgstr "Chiede al server IRC il vero indirizzo. Abilitare questa funzione se si utilizza un indirizzo 192.168.*.*" #: src/fe-gtk/setup.c:392 msgid "DCC IP address:" msgstr "Indirizzo IP per DCC:" #: src/fe-gtk/setup.c:393 msgid "Claim you are at this address when offering files." msgstr "Mostra questo indirizzo quando si offrono file." #: src/fe-gtk/setup.c:394 msgid "First DCC send port:" msgstr "Prima porta invio DCC:" #: src/fe-gtk/setup.c:395 msgid "Last DCC send port:" msgstr "Ultima porta invio DCC:" #: src/fe-gtk/setup.c:396 msgid "!Leave ports at zero for full range." msgstr "!Impostare le porte a zero per utilizzare l'intervallo completo." #: src/fe-gtk/setup.c:398 msgid "Maximum File Transfer Speeds (bytes per second)" msgstr "Velocità massima di trasferimento file (byte per secondo)" #: src/fe-gtk/setup.c:399 msgid "One upload:" msgstr "Un caricamento:" #: src/fe-gtk/setup.c:400 src/fe-gtk/setup.c:402 msgid "Maximum speed for one transfer" msgstr "Velocità massima per un trasferimento" #: src/fe-gtk/setup.c:401 msgid "One download:" msgstr "Uno scaricamento:" #: src/fe-gtk/setup.c:403 msgid "All uploads combined:" msgstr "Tutti i caricamenti combinati:" #: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:406 msgid "Maximum speed for all files" msgstr "Velocità massima per tutti i file" #: src/fe-gtk/setup.c:405 msgid "All downloads combined:" msgstr "Tutti gli scaricamenti combinati:" #: src/fe-gtk/setup.c:433 src/fe-gtk/setup.c:467 src/fe-gtk/setup.c:489 #: src/fe-gtk/setup.c:1945 msgid "Alerts" msgstr "Avvisi" #: src/fe-gtk/setup.c:437 src/fe-gtk/setup.c:470 msgid "Show tray balloons on:" msgstr "Mostrare notifiche per:" #: src/fe-gtk/setup.c:439 msgid "Blink tray icon on:" msgstr "Icona lampeggiante nell'area di notifica per:" #: src/fe-gtk/setup.c:440 src/fe-gtk/setup.c:471 src/fe-gtk/setup.c:492 msgid "Blink task bar on:" msgstr "Barra delle attività lampeggiante per:" #: src/fe-gtk/setup.c:441 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:493 msgid "Make a beep sound on:" msgstr "Emettere un suono per:" #: src/fe-gtk/setup.c:443 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:495 msgid "Omit alerts when marked as being away" msgstr "Omettere gli avvisi quando assente" #: src/fe-gtk/setup.c:445 msgid "Tray Behavior" msgstr "Comportamento dell'area di notifica" #: src/fe-gtk/setup.c:446 msgid "Enable system tray icon" msgstr "Abilitare icona nell'area di notifica" #: src/fe-gtk/setup.c:447 msgid "Minimize to tray" msgstr "Minimizzare nell'area di notifica" #: src/fe-gtk/setup.c:448 msgid "Close to tray" msgstr "Chiudere nell'area di notifica" #: src/fe-gtk/setup.c:449 msgid "Automatically mark away/back" msgstr "" #: src/fe-gtk/setup.c:449 msgid "Automatically change status when hiding to tray." msgstr "" #: src/fe-gtk/setup.c:451 msgid "Only show tray balloons when hidden or iconified" msgstr "Mostrare l'avviso per l'area di notifica solo se nascosto o ridotto a icona" #: src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:476 src/fe-gtk/setup.c:497 msgid "Highlighted Messages" msgstr "Messaggi evidenziati" #: src/fe-gtk/setup.c:455 src/fe-gtk/setup.c:477 src/fe-gtk/setup.c:498 msgid "" "Highlighted messages are ones where your nickname is mentioned, but also:" msgstr "I messaggi evidenziati sono quelli in cui compare il proprio soprannome, ma anche:" #: src/fe-gtk/setup.c:457 src/fe-gtk/setup.c:479 src/fe-gtk/setup.c:500 msgid "Extra words to highlight:" msgstr "Altre parole da evidenziare:" #: src/fe-gtk/setup.c:458 src/fe-gtk/setup.c:480 src/fe-gtk/setup.c:501 msgid "Nick names not to highlight:" msgstr "Soprannomi da non evidenziare:" #: src/fe-gtk/setup.c:459 src/fe-gtk/setup.c:481 src/fe-gtk/setup.c:502 msgid "Nick names to always highlight:" msgstr "Soprannomi da evidenziare sempre:" #: src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:482 src/fe-gtk/setup.c:503 msgid "" "Separate multiple words with commas.\n" "Wildcards are accepted." msgstr "Separare le parole con virgole.\nSono ammessi i meta-caratteri." #: src/fe-gtk/setup.c:510 msgid "Default Messages" msgstr "Messaggi predefiniti" #: src/fe-gtk/setup.c:511 msgid "Quit:" msgstr "Uscita:" #: src/fe-gtk/setup.c:512 msgid "Leave channel:" msgstr "Abbandono del canale:" #: src/fe-gtk/setup.c:513 msgid "Away:" msgstr "Assenza:" #: src/fe-gtk/setup.c:515 msgid "Away" msgstr "Assenza" #: src/fe-gtk/setup.c:516 msgid "Announce away messages" msgstr "Comunicare lo stato di assenza" #: src/fe-gtk/setup.c:517 msgid "Announce your away messages to all channels." msgstr "Comunica i messaggi di assenza a tutti i canali." #: src/fe-gtk/setup.c:518 msgid "Show away once" msgstr "Mostrare lo stato di assenza una sola volta" #: src/fe-gtk/setup.c:518 msgid "Show identical away messages only once." msgstr "Mostra i messaggi di assenza identici una sola volta." #: src/fe-gtk/setup.c:519 msgid "Automatically unmark away" msgstr "Togliere automaticamente lo stato di assenza" #: src/fe-gtk/setup.c:519 msgid "Unmark yourself as away before sending messages." msgstr "Toglie lo stato di assenza prima di inviare messaggi." #: src/fe-gtk/setup.c:526 src/fe-gtk/setup.c:560 msgid "Advanced Settings" msgstr "Impostazioni avanzate" #: src/fe-gtk/setup.c:527 msgid "Real name:" msgstr "" #: src/fe-gtk/setup.c:529 src/fe-gtk/setup.c:561 msgid "Alternative fonts:" msgstr "Caratteri alternativi:" #: src/fe-gtk/setup.c:531 src/fe-gtk/setup.c:562 msgid "Auto reconnect delay:" msgstr "Attesa prima della nuova connessione automatica:" #: src/fe-gtk/setup.c:532 src/fe-gtk/setup.c:563 msgid "Auto join delay:" msgstr "" #: src/fe-gtk/setup.c:533 src/fe-gtk/setup.c:564 msgid "Display MODEs in raw form" msgstr "Mostrare le «modalità» in forma grezza" #: src/fe-gtk/setup.c:534 src/fe-gtk/setup.c:565 msgid "Whois on notify" msgstr "Whois per notifica" #: src/fe-gtk/setup.c:534 src/fe-gtk/setup.c:565 msgid "Sends a /WHOIS when a user comes online in your notify list." msgstr "Invia il comando /WHOIS quando un utente presente nell'elenco di notifica si collega." #: src/fe-gtk/setup.c:535 src/fe-gtk/setup.c:566 msgid "Hide join and part messages" msgstr "Nascondere messaggi di entrata e uscita" #: src/fe-gtk/setup.c:535 src/fe-gtk/setup.c:566 msgid "Hide channel join/part messages by default." msgstr "Nasconde i messaggi di entrata e uscita nei canali in maniera predefinita." #: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:568 msgid "Display lists in compact mode" msgstr "Mostrare gli elenchi in modalità compatta" #: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:568 msgid "Use less spacing between user list/channel tree rows." msgstr "Usa una spaziatura inferiore tra l'elenco utenti e l'albero dei canali" #: src/fe-gtk/setup.c:537 src/fe-gtk/setup.c:569 msgid "Auto Open DCC Windows" msgstr "Apri automaticamente finestre DCC" #: src/fe-gtk/setup.c:538 src/fe-gtk/setup.c:570 msgid "Send window" msgstr "Finestra d'invio" #: src/fe-gtk/setup.c:539 src/fe-gtk/setup.c:571 msgid "Receive window" msgstr "Finestra di ricezione" #: src/fe-gtk/setup.c:540 src/fe-gtk/setup.c:572 msgid "Chat window" msgstr "Finestra Chat" #: src/fe-gtk/setup.c:541 src/fe-gtk/setup.c:573 msgid "Auto Copy Behavior" msgstr "Comportamento per la copia automatica" #: src/fe-gtk/setup.c:542 src/fe-gtk/setup.c:574 msgid "Automatically copy selected text" msgstr "Copiare automaticamente il testo selezionato" #: src/fe-gtk/setup.c:543 src/fe-gtk/setup.c:575 msgid "" "Copy selected text to clipboard when left mouse button is released. " "Otherwise, CONTROL-SHIFT-C will copy the selected text to the clipboard." msgstr "Copia il testo selezionato negli appunti quando il pulsante sinistro del mouse viene rilasciato. In alternativa, il testo potrà essere copiato negli appunti usando la combinazione di tasti Ctrl+Maiusc+c." #: src/fe-gtk/setup.c:546 src/fe-gtk/setup.c:578 msgid "Automatically include time stamps" msgstr "Includere automaticamente l'orario" #: src/fe-gtk/setup.c:547 src/fe-gtk/setup.c:579 msgid "" "Automatically include time stamps in copied lines of text. Otherwise, " "include time stamps if the SHIFT key is held down while selecting." msgstr "Include automaticamente l'orario nelle righe di testo copiate. In alternativa, per includere l'orario sarà necessario tenere premuto il tasto Maiusc durante la selezione del testo d copiare." #: src/fe-gtk/setup.c:549 src/fe-gtk/setup.c:581 msgid "Automatically include color information" msgstr "Includere automaticamente le informazioni sul colore" #: src/fe-gtk/setup.c:550 src/fe-gtk/setup.c:582 msgid "" "Automatically include color information in copied lines of text. Otherwise," " include color information if the CONTROL key is held down while selecting." msgstr "Include automaticamente le informazioni sul colore contenute nellerighe di testo copiate. In alternativa, per includere le informazioni sul colore sarà necessario tenere premuto il tasto Ctrl durante la selezione del testo da copiare." #: src/fe-gtk/setup.c:592 src/fe-gtk/setup.c:1947 msgid "Logging" msgstr "Registrazione" #: src/fe-gtk/setup.c:593 msgid "Display scrollback from previous session" msgstr "Mostrare conversazioni della sessione precedente" #: src/fe-gtk/setup.c:594 msgid "Scrollback lines:" msgstr "Righe precedenti visibili:" #: src/fe-gtk/setup.c:595 msgid "Enable logging of conversations to disk" msgstr "Abilitare registrazione delle conversazioni sul disco" #: src/fe-gtk/setup.c:596 msgid "Log filename:" msgstr "Nome file del registro:" #: src/fe-gtk/setup.c:597 #, c-format msgid "%s=Server %c=Channel %n=Network." msgstr "%s=Server %c=Canale %n=Rete." #: src/fe-gtk/setup.c:600 msgid "Insert timestamps in logs" msgstr "Inserire orario nei registri" #: src/fe-gtk/setup.c:601 msgid "Log timestamp format:" msgstr "Formato orario del registro:" #: src/fe-gtk/setup.c:608 msgid "URLs" msgstr "URL" #: src/fe-gtk/setup.c:609 msgid "Enable logging of URLs to disk" msgstr "Abilitare la registrazione degli URL sul diso" #: src/fe-gtk/setup.c:610 msgid "Enable URL grabber" msgstr "Abilitare la collezione degli URL" #: src/fe-gtk/setup.c:611 msgid "Maximum number of URLs to grab:" msgstr "Numero massimo di URL da collezionare:" #: src/fe-gtk/setup.c:618 msgid "(Disabled)" msgstr "(disabilitato)" #: src/fe-gtk/setup.c:619 msgid "Wingate" msgstr "Wingate" #: src/fe-gtk/setup.c:620 msgid "Socks4" msgstr "Sock4" #: src/fe-gtk/setup.c:621 msgid "Socks5" msgstr "Sock5" #: src/fe-gtk/setup.c:622 msgid "HTTP" msgstr "HTTP" #: src/fe-gtk/setup.c:624 msgid "MS Proxy (ISA)" msgstr "MS Proxy (ISA)" #: src/fe-gtk/setup.c:627 msgid "Auto" msgstr "Automatico" #: src/fe-gtk/setup.c:634 msgid "All Connections" msgstr "tutte le connessioni" #: src/fe-gtk/setup.c:635 msgid "IRC Server Only" msgstr "solo Server IRC" #: src/fe-gtk/setup.c:636 msgid "DCC Get Only" msgstr "solo per DCC" #: src/fe-gtk/setup.c:642 msgid "Your Address" msgstr "Proprio indirizzo" #: src/fe-gtk/setup.c:643 msgid "Bind to:" msgstr "Associare a:" #: src/fe-gtk/setup.c:644 msgid "Only useful for computers with multiple addresses." msgstr "Utile solo per computer con indirizzi multipli." #: src/fe-gtk/setup.c:646 msgid "Proxy Server" msgstr "Server proxy" #: src/fe-gtk/setup.c:647 msgid "Hostname:" msgstr "Nome host:" #: src/fe-gtk/setup.c:648 msgid "Port:" msgstr "Porta:" #: src/fe-gtk/setup.c:649 msgid "Type:" msgstr "Tipo:" #: src/fe-gtk/setup.c:650 msgid "Use proxy for:" msgstr "Usa proxy per:" #: src/fe-gtk/setup.c:652 msgid "Proxy Authentication" msgstr "Autenticazione proxy" #: src/fe-gtk/setup.c:654 msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" msgstr "Usare autenticazione (MS Proxy, HTTP o solo Socks5)" #: src/fe-gtk/setup.c:656 msgid "Use Authentication (HTTP or Socks5 only)" msgstr "Usare autenticazione (HTTP o solo Socks5)" #: src/fe-gtk/setup.c:658 msgid "Username:" msgstr "Nome utente:" #: src/fe-gtk/setup.c:659 msgid "Password:" msgstr "Password:" #: src/fe-gtk/setup.c:1093 msgid "Select an Image File" msgstr "Seleziona un'immagine" #: src/fe-gtk/setup.c:1128 msgid "Select Download Folder" msgstr "Seleziona la cartella di scaricamento" #: src/fe-gtk/setup.c:1137 msgid "Select font" msgstr "Seleziona il carattere" #: src/fe-gtk/setup.c:1237 msgid "Browse..." msgstr "Sfoglia..." #: src/fe-gtk/setup.c:1375 msgid "Mark identified users with:" msgstr "Segna utenti identificati con:" #: src/fe-gtk/setup.c:1377 msgid "Mark not-identified users with:" msgstr "Segna utenti non identificati con:" #: src/fe-gtk/setup.c:1384 msgid "Open Data Folder" msgstr "Apri cartella dati..." #: src/fe-gtk/setup.c:1438 msgid "Select color" msgstr "Seleziona un colore" #: src/fe-gtk/setup.c:1518 msgid "Text Colors" msgstr "Colori del testo" #: src/fe-gtk/setup.c:1520 msgid "mIRC colors:" msgstr "Colori di mIRC:" #: src/fe-gtk/setup.c:1528 msgid "Local colors:" msgstr "Colori locali:" #: src/fe-gtk/setup.c:1536 src/fe-gtk/setup.c:1541 msgid "Foreground:" msgstr "Primo piano:" #: src/fe-gtk/setup.c:1537 src/fe-gtk/setup.c:1542 msgid "Background:" msgstr "Sfondo:" #: src/fe-gtk/setup.c:1539 msgid "Selected Text" msgstr "Testo selezionato" #: src/fe-gtk/setup.c:1544 msgid "Interface Colors" msgstr "Colori dell'interfaccia" #: src/fe-gtk/setup.c:1546 msgid "New data:" msgstr "Nuova data:" #: src/fe-gtk/setup.c:1547 msgid "Marker line:" msgstr "Seleziona linea:" #: src/fe-gtk/setup.c:1548 msgid "New message:" msgstr "Nuovo messaggio:" #: src/fe-gtk/setup.c:1549 msgid "Away user:" msgstr "Utente assente:" #: src/fe-gtk/setup.c:1550 msgid "Highlight:" msgstr "Evidenziazione:" #: src/fe-gtk/setup.c:1552 msgid "Spell checker:" msgstr "Controllo ortografico:" #: src/fe-gtk/setup.c:1555 msgid "Color Stripping" msgstr "" #: src/fe-gtk/setup.c:1661 src/fe-gtk/textgui.c:389 msgid "Event" msgstr "Evento" #: src/fe-gtk/setup.c:1667 msgid "Sound file" msgstr "File sonoro" #: src/fe-gtk/setup.c:1702 msgid "Select a sound file" msgstr "Seleziona un file sonoro" #: src/fe-gtk/setup.c:1774 msgid "Sound playing method:" msgstr "Metodo esecuzione suono:" #: src/fe-gtk/setup.c:1782 msgid "External sound playing _program:" msgstr "_Programma di riproduzione esterno" #: src/fe-gtk/setup.c:1800 msgid "_External program" msgstr "Programma _esterno" #: src/fe-gtk/setup.c:1810 msgid "_Automatic" msgstr "_Automatico" #: src/fe-gtk/setup.c:1823 msgid "Sound files _directory:" msgstr "_Directory file sonoro:" #: src/fe-gtk/setup.c:1862 msgid "Sound file:" msgstr "File sonoro:" #: src/fe-gtk/setup.c:1877 msgid "_Browse..." msgstr "_Sfoglia..." #: src/fe-gtk/setup.c:1888 msgid "_Play" msgstr "Ri_produci" #: src/fe-gtk/setup.c:1937 msgid "Interface" msgstr "Interfaccia" #: src/fe-gtk/setup.c:1938 msgid "Appearance" msgstr "Aspetto" #: src/fe-gtk/setup.c:1939 msgid "Input box" msgstr "Area di testo" #: src/fe-gtk/setup.c:1940 msgid "User list" msgstr "Elenco utenti" #: src/fe-gtk/setup.c:1941 msgid "Channel switcher" msgstr "Elenco canali" #: src/fe-gtk/setup.c:1942 msgid "Colors" msgstr "Colori" #: src/fe-gtk/setup.c:1944 msgid "Chatting" msgstr "Finestra di chat" #: src/fe-gtk/setup.c:1948 msgid "Sound" msgstr "Suono" #: src/fe-gtk/setup.c:1949 msgid "Advanced" msgstr "Avanzate" #: src/fe-gtk/setup.c:1952 msgid "Network setup" msgstr "Impostazioni rete" #: src/fe-gtk/setup.c:1953 msgid "File transfers" msgstr "Trasferimenti di file" #: src/fe-gtk/setup.c:2091 msgid "Categories" msgstr "Categorie" #: src/fe-gtk/setup.c:2300 msgid "" "You cannot place the tree on the top or bottom!\n" "Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." msgstr "Impossibile posizionare l'albero in alto o in basso.\nSelezionare prima la vista a <b>Schede</b> nel menù <b>Visualizza</b>." #: src/fe-gtk/setup.c:2327 msgid "Invalid time stamp format! See the strftime MSDN article for details." msgstr "Formato orario non corretto. Per maggiori informazioni, consultare l'articolo MSDN di strftime." #: src/fe-gtk/setup.c:2334 msgid "Some settings were changed that require a restart to take full effect." msgstr "Alcune impostazioni sono state modificate e richiedono il riavvio per essere applicate." #: src/fe-gtk/setup.c:2342 msgid "" "*WARNING*\n" "Auto accepting DCC to your home directory\n" "can be dangerous and is exploitable. Eg:\n" "Someone could send you a .bash_profile" msgstr "*ATTENZIONE*\nAccettare automaticamente DCC nella propria home\npotrebbe essere pericoloso. Esempio:\nQualcuno potrebbe inserire un file .bash_profile" #: src/fe-gtk/setup.c:2375 msgid ": Preferences" msgstr ": preferenze" #: src/fe-gtk/sexy-spell-entry.c:462 msgid "<i>(no suggestions)</i>" msgstr "<i>(nessun suggerimento)</i>" #: src/fe-gtk/sexy-spell-entry.c:476 msgid "More..." msgstr "Altro..." #: src/fe-gtk/sexy-spell-entry.c:545 #, c-format msgid "Add \"%s\" to Dictionary" msgstr "Aggiungi «%s» al dizionario" #: src/fe-gtk/sexy-spell-entry.c:587 msgid "Ignore All" msgstr "Ignora tutto" #: src/fe-gtk/sexy-spell-entry.c:622 msgid "Spelling Suggestions" msgstr "Suggerimenti ortografici" #: src/fe-gtk/sexy-spell-entry.c:1066 #, c-format msgid "enchant error for language: %s" msgstr "" #: src/fe-gtk/textgui.c:180 msgid "There was an error parsing the string" msgstr "Si è verificato un errore analizzando la stringa" #: src/fe-gtk/textgui.c:188 #, c-format msgid "This signal is only passed %d args, $%d is invalid" msgstr "A questo segnale vengono passati solo %d argomenti, $%d non è valido" #: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:327 msgid "Print Texts File" msgstr "Salva in un file di testo" #: src/fe-gtk/textgui.c:372 msgid "Edit Events" msgstr "Modifica eventi" #: src/fe-gtk/textgui.c:423 msgid "$ Number" msgstr "$ Numero" #: src/fe-gtk/textgui.c:440 msgid "Load From..." msgstr "Carica da..." #: src/fe-gtk/textgui.c:441 msgid "Test All" msgstr "Prova tutto" #: src/fe-gtk/urlgrab.c:97 msgid "URL" msgstr "URL" #: src/fe-gtk/urlgrab.c:199 msgid ": URL Grabber" msgstr ": URL collezionati" #: src/fe-gtk/urlgrab.c:213 msgid "Clear list" msgstr "Pulisci elenco" #: src/fe-gtk/urlgrab.c:215 msgid "Copy selected URL" msgstr "Copia l'URL selezionato" #: src/fe-gtk/urlgrab.c:215 msgid "Copy" msgstr "Copia" #: src/fe-gtk/urlgrab.c:217 msgid "Save list to a file" msgstr "Salva l'elenco in un file" #: src/fe-gtk/userlistgui.c:123 #, c-format msgid "%d ops, %d total" msgstr "%d op, %d totali"