diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 00000000..e69de29b diff --git a/COPYING b/COPYING new file mode 100644 index 00000000..eeb586b3 --- /dev/null +++ b/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 00000000..750d3f75 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,2251 @@ + .----------------------. +--| X-Chat ChangeLog |-------------------------------------------- + `----------------------' + +To see more details of bugs, go to this URL: +http://sf.net/tracker/?func=detail&atid=100239&group_id=239&aid=NUMBER +Where "NUMBER" is the bug number. + +This log DOES NOT apply to XChat for Windows. + +There are always more changes than listed here, these are just the +highlights. The full CVS log is available at www.xchat.org/cvslog/ + +------------------------------------------------------------------------------ + 2.8.10 - dd/mm/yyyy +------------------------------------------------------------------------------ + - Perl (Lian Wan Situ) + * Added two new options to hook_print, run_after_event and filter. See + documentation for details. + * When building on Windows, generate the name of the DLL for the Perl + library based on information from the header files instead of hardcoding + the value. + * Fixed a bug in the reinit handling code. The bug prevented the plugin from + cleaning up properly. Which includes unloading scripts and removing + their GUI entries. + +------------------------------------------------------------------------------ + 2.8.8 - 30/May/2010 +------------------------------------------------------------------------------ + + - Made balloon time adjustable via /set input_balloon_time (Nicoleau Fabien). + - Fixed a crash in the /SET command if a boolean value was loaded from config + file that isn't set to 0 or 1. + - Added -on and -off parameters to the /SET command. This can be used to set + bits, for example gui_tweaks. + - Made scrolling backwards for the search window act better (Richard Hitt). + - [2045483] Made ESC key close the search window (Richard Rowell). + - Improved the reconnect logic. If a network is already open but disconnected, + it'll now get re-used if you use the Network List and connect to that same + network. + - Improved scrollback reloading speed significantly (Soeren Sandmann Pedersen). + - [2957047] Handle CTCPs when IDmsg is used correctly (Lian Wan Situ). + - [2987626] Allow /GHOST's password arg to be optional (Ori Avtalion). + - Added networks: 7-indonesia, ChattingAway, GeekShed, TURLINet. + - When switching tabs, make the treeview only scroll if the selected item + isn't visible [treeview-less-jumping.diff] (Brian Evans). + - Selecting an item in the nickmenu will now copy it to clipboard (Alex + Kutepow). + - New icons for notification area (systray): file offer, message and highlight + (Brian Evans). + - Defined a comparison routine for contexts in Python (Brian Evans). + - For the auto-join command, added an 'x' filler for empty keys. This works + around a bug in ircd-seven. + - When a single channel MODE changes, xchat will no longer re-issue a MODE + request for the titlebar display, but figure the new modes intelligently + (Brian Evans). + - Various text event changes (Brian Evans): + 1. Added "Private Action", "Private Action to Dialog", "SSL Message". + 2. Added "Identified text" parameter all the 'action' events. + 3. Added a $3 parameter to "Server Text". + - Perl (Lian Wan Situ) + * Fixed a bug that resulted in timer hooks being leaked because + "return REMOVE" from a timer callback was not unhooking like it was + supposed to + * Reverted the unintentional change to how the server argument of print() + and command() is interepreted when it is undef + * Add hook_fd to the 'hooks' export tag + * Fixed a leak in XS_Xchat_get_list(Vincent Pit) + * Change Xchat::register so that scripts calling it without a name or + version will still show up in the plugins and scripts window. + * Added calls to PERL_SYS_INIT3 and PERL_SYS_TERM which are required on + some platforms + * Added some additional guards to prevents bits of scripts from spilling + into each other + * Added "modes", "win_ptr" and "xchatdirfs" to the list of keys that are + returned by context_info() + * Changed the information displayed in the "Plugins & Scripts" for scripts + that do not call register() to show up as "" for the name and description + and "unknown" for the version + * /reloadall will now reload scripts in the same order they were loaded + * Make xchat_send_modes available as Xchat::send_modes + * Add support for getting the network list using Xchat::get_list( "networks" ) + * Xchat::strip_code will now strip off ANSI escape codes as well + + +------------------------------------------------------------------------------ + 2.8.6 - 11/Jun/2008 +------------------------------------------------------------------------------ + + - Updated translations (de, fi, fr, hu, lt, nb, ru, th, zh_CN). + - Fixed creation of ~/.xchat2/scrollback/ paths (xc284-scrollbmkdir.diff). + - Fixed a leak of file descriptors related to the scrollback feature + (resource leak) (xc284-fix-scrollbfdleak.diff). + - Stopped scrollback files growing too large by fixing the file-shrink code. + - Put a "Display scrollback from previous session" into the Setup GUI + (logging section) so people can turn this off without typing commands. + - Made /away work even when the reason setting is empty. + - Using /part on a channel that contains a quotation mark now works [1800855]. + - Changed the default encoding to "IRC" (CP1252/Unicode Hybrid) for both Unix + and Windows. + - Fixed a possible Channel List crash if you searched many times while the + download was still going. + - Fixed alert balloons failing if the text contained "<" characters [1827629]. + - The Drag&Drop files to userlist feature has been enabled again. + - Removed the /set tab_icons setting and made it automatic (see FAQ for more + info about icons). + - Fixed a bug in creating files (save channel list, rawlog etc) that would set + the wrong permissions. + - Added command line argument --command=COMMAND which can be used in + conjuction with --existing (E.K.L.). This sends any xchat command to an + existing (running) client. + - A private SSL key/certificate can now be loaded from ~/.xchat2/client.pem. + - The Alerts settings now accept wildcards, instead of partitial string match + [1807563]. + - Changing away status during reconnect/disconnect will now remember it. + - You can now change your Away/Back status (all networks) in the tray menu. + - Favorite Channels / Auto-Join-List management: + * Network List window now has a "..." button to edit the auto-join-list in + a more friendly way. + * Channel(text area), Tree/Tab and Channel-List right-click menus now have a + "Add to Favorites" function. + * Previous limit of 300 bytes has been overcome. Now up to 2 KB worth of + channels/keys can be joined and it will be automatically split into + multiple lines, if necessary. + * Per-Channel settings now save to disk, including Logging and Scrollback + settings. + * /ChanOpt has been re-worked to be more like /Set. + - 'hostname:port' syntax is now accepted, if it's not an IPv6 address. + - The Userlist right-click menu now has icons and an option to add to friends + list. If you've edited this menu before you'll still get the old one. To get + the new one delete ~/.xchat2/popup.conf while XChat isn't running. + - ~/.xchat2/startup.txt is now loaded on launch (like /LOAD -e). Put any + commands you want executed at startup here. + - The lag-o-meter now has a full scale of 1.0 seconds. + - libnotify is now opened directly instead of using 'notify-send' to open + tray/balloon alerts. + - Added support for QuakeNet's /AUTH for nick password, when numeric 005 + NETWORK=QuakeNet is detected. + - You can now copy with IRC attributes and mIRC colors if CTRL key is down + when a selection is finished (on mouse release). This replaces the old + "Color paste" feature. + - Added a 'compact' flag to gui_tweaks. This'll make the userlist and tree + spacing smaller. E.g. type /set -or gui_tweaks 32 and restart to turn it on. + - The /CLEAR command takes a number as paramater (how many lines to clear). + - When there's missing information in the Userlist right-click menu, it'll + issue a silent /WHOIS and fill it in. This includes retrieving a person's + away-reason. + - Perl (Lian Wan Situ) + * /reloadall will now reload all the scripts that are currently load instead + of simply reruning the autoload routine + * gtk/glib/gdk errors and warnings have been redirected back to stderr so + they will no longer show up in the text box as a result of having the Perl + plugin loaded + * Check if the user has perl 5.6 instead of 5.8 and give an warning dialog + if they do (Peter Zelezny) + * Changed timer callbacks so that they are executed in the context that they + were created in + * Modified Xchat::print and Xchat::command to accept array references in + addition to strings for the channel and server parameters + - Plugin API: + * xchat_emit_print() will now trigger Sound, Blink, Icon etc type events, + depending on user's settings. + * Fixed a bug where not all 32 elements were available in word[]/word_eol[]. + + +------------------------------------------------------------------------------ + 2.8.4 - 01/Jul/2007 +------------------------------------------------------------------------------ + + - Updated translations (cs, de, ko, mk, sv, vi). + - System-Tray balloons now get the xchat icon instead of a generic one. + - Fixed the notify-send zombies (released as xc282-fixtrayzombies.diff). + - Fixed underscore ('_') in real names in the nick-name right-click menu being + drawn as a underline. + - ut2004:// URLs are now underlined too. + - /set gui_tray_flags 4 will now enable a "Minimize to tray" feature. Clicking + the window minimize button will minimize to tray instead of the task-bar. + - Fixed bug: [1680762] Notify fails if network name contains spaces. + - Extended tclConfig.sh search paths so it hopefully works on Ubuntu now. + - Added a feature that reloads conversations from last time you used XChat + (type /set text_replay 0 to disable it). + - Fixed /LASTLOG printing everything twice if you had Indented Nicks off. + - The CTRL-F keybinding (Find) is now disabled when using Emacs keys. + - Added /SET gui_tweaks. See http://forum.xchat.org/viewtopic.php?p=13766 + - Fixed opening URLs on KDE that didn't begin with http:// or other protocol. + - A better quit dialog which warns you if you're connected to IRC or have + active file transfers. + - Fixed: [1741525] Cycle selected channel (Luca Falavigna). + - Fixed: [1737249] Doesn't recognize nicks with halfop mode on hovering. + - The userlist and treeview can now be placed on the same side, with a resize + handle in between them. They can also be dragged and dropped into place. + - When you hide the userlist using the View menu, the resize handle now + disappears too. It also disappears when you have a server tab in focus. + - If you have a tree on one side and userlist on the other, they'll both now + have a resize handle, previously the tree's size was fixed. + - The userlist can be hidden and shown with CTRL+F7. + - [1735116] Channel List's minimum users spin-button can now be set downward + even on networks that sent a list of channels of only a larger size. In this + case the Download button will flash to indicate you need to download a new + list. + - Changing the channel switcher type (Tree or Tabs) is also possible in the + setup dialog. + - The Ban List window now lists exceptions too (mode +e). + - Script and Plugin related changes: + * /SETTEXT with no argument now clears the input box. + * Python: Added a xchat.strip method for stripping IRC attributes and mIRC + color codes. + * C-API and Perl: Returning 0 from a FD hook will now remove the hook and + free all associated memory. + * /MENU now supports a $CHAN root aswell (see plugin20.html). + * Fixed GDK warning when using /MENU to add a key binding to a popup menu. + + +------------------------------------------------------------------------------ + 2.8.2 - 01/Apr/2007 +------------------------------------------------------------------------------ + + - Updated translations (be, ca, cs, el, hu, sv, uk, zh_CN). + - Fixed the "Save As" function saving to the wrong folder in the URL Grabber. + - Fixed a bug in the "Copy Selected Link" URL right-click on non-ASCII chars. + - Fixed small bug: #100239 buffer overflow in setup dialog. + - Overhauled the Alerts section of the settings and added support for opening + system-tray balloons (libnotify required). + - Implemented /TRAY -b command on unix. + - Nick serv authentication is now sent without the ":" when using the + /NICKSERV or /NS method. #1655733. + - Added command line argument: + --minimize=level Begin minimized. Level 0=Normal 1=Iconified 2=Tray + - Plugin API: + * Added "modes" to xchat_get_info(). Returns the current channel modes, if + they are known. + * Fixed "event_event name" for xchat_get_info() to match the docs exactly, + but 2.8.0 (mis)behaviour works too. + - Perl (Lian Wan Situ) + * Execute the shutdown callback before removing the hooks so commands + created by the script can be used in the callback. + + +------------------------------------------------------------------------------ + 2.8.0 - 03/Jan/2007 +------------------------------------------------------------------------------ + + - Updated translations (cs, de, gl, hu). + - XChat now requires at least GTK+ 2.10. + - Added a system tray icon (aka Notification Area). This is probably the + biggest feature addition in this series. Also added a /TRAY command so + scripts can manipulate the icon. + - Added partial support for numeric 005 token ELIST (min users only). + - Brand new channel list window: GtkTreeView, nicer layout, less CPU power + when downloading very large list, uses less memory, supports regexp/ + patternmatch/substring search and supports downloading LIST with minusers to + save time (only on some networks that support ELIST). + - Overhauled URL opening on Unix, it now tries xdg-open first, then auto- + detects Gnome or KDE to run gnome-open or kfmclient. URLs with quotes + should also work now (changed to execv()). + - Settings: Warn the user when trying to put the tree on the top/bottom. + - Fixed DCC ack reading so it doesn't use MSG_PEEK. + - Channel modes are no longer shown in the titlebar if they contain a key. + - Added /GUI APPLY command, which does that same as pressing OK in the + settings window (e.g use it after /set). Mainly for scripters. + - Allow changing the logging folder if the log filename is set to a full path + in the settings window (starts with a '/'). + - Added 'Your Action' text event. + - Separated out /away and /back commands so it's obvious what they'll do. + - Changes to /MENU command (See plugin20.html for details): + * Now works for popup menus too. + * Allows creation of radio menu items. + * -p arg can now to be negative to give a position offset from right/bottom. + * -i arg to specify an icon file. + - Plugin API: + * Added event_text to xchat_get_info(). + - Perl (Lian Wan Situ) + * Fixed hook_command so that it won't override the help message for builtin + commands unless a help message was specified. + * Perl Win32: Warn the user about trying to load 64-bit ActivePerl. + + +------------------------------------------------------------------------------ + 2.6.8 - 16/Oct/2006 +------------------------------------------------------------------------------ + + - Updated translations (be, de, el, es, fi, hu, it, ja, lt, pt, ru, sv, vi). + - Removed "xchat-remote" and "dbus.so", it's now apart of the "xchat" binary. + There is now a new dbus interface, see src/common/dbus/README for details. + (Claessens Xavier). + - Python: Fixed "restricted mode" errors on win32 [1512076]. + - Special-cased BRASnet for nickserv. + - Fixed using the /MENU args -p and -e at the same time. + - Fixed /reconnect and auto-reconnect issue [1525383]. + - Plugin API: + * Added fields: lag, queue to the "channels" list. + * Added fields: sizehigh to the "dcc" list. + * Added fields: networks to the "notify" list. + * Handle gracefully plugins that try to execute commands with invalid UTF-8. + * Added /GETFILE command, to open a file dialog. + * Command hooks that start with a period ('.') will now be hidden from /HELP + and /HELP -l. + - Fixed: [1544960] quitting via tabs behaves bad on bncs. + - Fixed: [1551620] --version flag needs display. + - Fixed: [1539236] problem with the /url command (irc:// handling). + - Fixed: [1568931] treeview problem: closing tabs by holding shift and + clicking. + - "Clear" button in Ban List window now has a 'Are you sure?' dialog for + safety. + - The notify list can now contain entries specific to only one or more IRC + networks. + - Userlist popup menu and buttons: added %e for 'current network name'. + - Added option: 'Flash taskbar on any private messages'. + - Added a new encoding choice: "IRC (Latin-1/UTF-8 hybrid)". + How it works is described at: http://forum.xchat.org/viewtopic.php?t=3180 + - Added /LastLog -r . + - The DCC windows have been remodeled and are much nicer now. Ported to + GtkTreeView, the buttons are context sensitive, the window remembers its + size and uploads and downloads are combined in one window. + - Perl (Lian Wan Situ) + * Changed Xchat::print and Xchat::command to return false if they are called + with either no arguments or undef + * Changed Xchat::user_info so that it works even if the nick parameter + contains color codes + + +---------------------------------------------------------------------- + 2.6.6 - 18/Jul/2006 +---------------------------------------------------------------------- + + - Updated translations (es, fr, sr). + - Fixed connecting to a IRC server via proxy (bug in 2.6.4 only). + - Fixed the invisible cursor color when using GTKSpell and a black + input box (when "Use the text box font & colors" is ON). + - Allow loading a cert/privatekey file from ~/.xchat2/.pem + - Improved the fallback routine when you receive non-UTF8 messages. It + can now handle CP1252 from mIRC users and the ISO-8859-15 Euro symbol. + - Added CHANOPT command for setting channel specific options such as showing + of joins and part, beep on message and color paste (Lian Wan Situ). + - /CLEAR HISTORY will clear your command history. + - Fixed a crash if you left a Ban-List window open after closing the + associated channel and then clicking Refresh. + - Added an option of using 'Last-Spoke' nick completion order in Settings > + Input Box. + - The /QUERY command now has -nofocus arg, which scripts might find useful. + - You can now /set gui_url_mod 0, to allow left-clicking URLs (default is + 4, for CTRL). + - XChat will now respect gtk-button-images=0 set in ~/.gtkrc-2.0. + - Added a ./configure option to use your preferred spelling library: + --enable-spell=type. Where type can be: none static libsexy gtkspell. + Note that using gtkspell will force the inputbox to become a GtkTextView. + - Advanced users can /set tab_small 2, to get _extra_ small tabs. + - Added /SPLAY . + - Plugin API: + * The second args to xchat_list_int and xchat_list_str can now be NULL as + a shortcut to "channels" list for current context only. + * Added bits 6-8 to the field "flags" in the "channels" list. + * /GUI MSGBOX can now contain Pango markup. + * Added -m arg to /MENU. See plugin20.html for more. + - Perl (Lian Wan Situ) + * Fixed a bug with Xchat::print that prevents printing out a + single 0(Lian Wan Situ) + * Fixed a bug in Xchat::get_prefs that was clobbering the stack(Sergio Luis) + * Allow scripts that use a non-existent function for the shutdown callback + to be unloaded(Lian Wan Situ) + * Added check in set_context for undef + * Added the fields from get_list "channels" for the current context to the + result of context_info + + +---------------------------------------------------------------------- + 2.6.4 - 08/Jun/2006 +---------------------------------------------------------------------- + + - Updated translations (de, el, es, gl, hu, nl, sv, vi, zh_TW). + - Fixed opening a irc:// URL via "xchat -a --url=abc123" command while + "Skip serverlist on startup" is off. This fix is only relevant when + opening an initial instance of xchat (i.e not via dbus). + - Fixed the tree layout "flashing" (redrawing slowly) after you + switched to tabs and back to tree. + - Fixed plugin/script get_list("users") causing a critical GDK warning + when not executed from the front-most tab. + - Added spelling support in the input-box via GTKSpell. + - Improved the error reporting when connecting through a Socks proxy. + - DCC file transfers via http/socks45/wingate proxy is now supported + (Damjan Jovanovic & me). + - Fixed Socks 5 failing on 64-bit CPUs. + - Added support for connecting through a Microsoft ISA Proxy, requires + libntlm at build time (Pavel Fedin). + - You can now mark and copy timestamps if you hold down SHIFT. + - Timestamps are now preserved in the /lastlog command. Also fixed a + bug where the separator line disappeared during /lastlog. + - Added a Browse button to the DCC download folder setting. + - Made the setup window a little neater and Gnome-like. + - Improved the notify window a little and fixed a small memory leak. + - Fixed CTCPs being truncated in the RawLog window. + - Added an option to open a "Save As..." dialog when receiving a + DCC file offer. + - Fixed a crash if you try to remove a network from the list while + it's in a auto-reconnect delay [debian bug #364858]. + - Python: Fixed some memory usage bugs. + - Perl: Turned on utf8 flag for things that should have it on. + + +---------------------------------------------------------------------- + 2.6.2 - 27/Mar/2006 +---------------------------------------------------------------------- + + - Updated translations (de, fr, ja, sv). + - Made "/server freenode" send auto-join channels but not + "/server irc://freenode". + - Fixed building of xchat-text (although not recommended!). + - Fixed using Strip mIRC colors & Color nicks at the same time. + - Fixed a bug in timestamp drawing using non-fixed-width font [1404341]. + - Fixed display of realname in the nick-name right-click menu when it + contains a '<' or '&' character [1403069]. + - Added support for UniBG's nickserv (ongeboren). + - The move-to-complete-dir routine now treats encoding/UTF8 correctly. + - Show help when using wrong args for /DCC, instead of silence. + - Support receiving 2048 bytes per line from server and dcc-chat, so we + can support 512 UTF-8 characters that some servers now send. + - Added /gui detach and /gui attach commands for scripters. + - The server list window now remembers its size. + - TCL: Added 'selected' flag to users list. + - Perl: + * Fixed strip_code so that it no longer takes off extra commas (LifeIsPain) + * Fixed filename checks so that '/load "filenameWithoutSpaces.pl"' + will also work (Lian Wan Situ). + * Fixed hook_fd to work with sockets on Windows (Vince Pit). + + +---------------------------------------------------------------------- + 2.6.1 - 06/Jan/2006 +---------------------------------------------------------------------- + + - Updated translations (de, el, fi, fr, gl, hu, ko, nl, pa, sq, vi). + - Added support for log rotation based on time or date. + - Double-click in tree layout will now expand/collapse (Lian Wan Situ). + - Keys to move tabs around now work in Tree layout too (Lian Wan Situ/Me). + - Largely re-written "Search Text" function with much better + behaviour and match case on/off and search backwards options + (Richard Hitt and Me). + - The parent row in the tree layout now changes color if you have + that group collapsed (Lian Wan Situ). + - Fixed crash when trying to Detach or Close a utility tab via + right-click, when it's not the currently focused tab. + - Made DCC resume handle case-insensitive file systems properly. + - Fixed the flashing when you click on a colored treeview row. + - Fixed auto-completion during /exec -o [1375530]. + - Added "Join Channel" menu item to the Server menu. + - Unshade the Disconnect menu item when a connection is in progress. + - Fixed a possible crash in changing color settings before changing + to/from the tree layout (SF bug #1349088). + - Added "Auto accept file offers" to the File Transfer settings. + - Added support for brackets "<>" around nicknames in cut and paste, + without displaying them (hidden text) (Camillo Lugaresi). + - Fixed opening URL irc://NetWork/#channel not joining the channel + [1362155]. + - Fixed the nickname label becoming small when you're marked Back + if you have "Small tabs" turned on. + - The textevents GUI has been re-written to use GtkTreeView. + - Randomized DNS lookups on Mac OS X on hostnames that return + multiple IP numbers (SG / CL). + - Added a dialog window to help newbies join a channel. + - Opening irc:// URLs will now JOIN only if you are already connected + to the network. + - Plugin API (Lian Wan Situ): + * Added selected flag to "users" list. + * Added "id" to xchat_get_prefs. + * Changed xchat_find_context (ph, channel, NULL) to return results + from the same server group as the current context when possible. + - Perl (Lian Wan Situ): + * using emit_print/command/recv will no longer trigger their own + callbacks. + * Fix compiling issues with versions older than 5.8.2. + * Make all scripts appear in the "Plugins and Scripts" window, even + those that do not call register(). + + +---------------------------------------------------------------------- + 2.6.0 - 03/Nov/2005 +---------------------------------------------------------------------- + + - Updated translations (nl, zh_TW). + - Message boxes are now warning, error or info with appropriate icon. + - Red marker line feature enabled by default. + - Added /SEND [file] which will automatically switch to PSEND + when detecting a private net address. + - Simplified default nick-right-click menu. + - Show "Last Talk" in nick-right-click menu as "minutes ago". + - Strip mIRC colour from away message in right-click menu. + - Warn when opening banlist in non-channel. + - Reorganised and simplified IRC/Server menus and new View menu. + - The editable Server menu is no more, if you want it type + /set gui_usermenu 1 and restart. + - Option to view channels in tabs or tree structure. + - Shorter titlebar text for better viewing in taskbar. + - Disabled key-search in server list, as GTK's auto-find does this + better. + - Removed "Connect in new tab" button in server list, it now does it + intelligently. Use stock Connect icon. + - Removed "Tint (shade) transparency" item from settings and figure + it out based on tint values. + - When closing a tab, re-focus the one near by, instead of always the + last. + - Firefox style close button. + - The lag and throttle metres now have tooltips that give you real + information (hover the pointer over them). + - Added workaround to show on-join ChanServ notices in the right tab. + - Tab scroll buttons are now side-by-side when in vertical mode. + - Automatically change key shortcut of "Marked Away" if the + translation already uses ALT-A for the Help menu (e.g _Aide in + French). + - Your nickname in the bottom-left corner now turns gray when you are + marked away, just like the userlist. + - Introduced a delay before joining channels, to allow for FreeNode's + short comings. If a umode +e is received it'll send auto-join + channels immediately. + - Plugin API: Added win_ptr to xchat_get_info. + - Non-irc (utility) tabs can now be detached aswell. + - Fixed behaviour problems of the userlist pane, which might be set + incorrectly if the window was resized while a server-tab is focued. + - Added a confirm-dialog when trying to close a server-tab with + children. + - Server list's edit window now gives you an option of a network + specific "Second choice" nickname. + - Auto detect RusNet and use /NICKSERV to identify instead of /MSG. + - Added /Ghost command. + - Fixed: The WHOIS away-line ignored irc_whois_front setting. + - Scroll-wheel now works while hovering over a tab (Lian Wan Situ). + - The input box right-click menu now has bold, underline and italic. + - Added xchat-remote for launching irc:// URLs in existing xchat + and other functions (Claessens Xavier). + - WIN32: Auto-loading perl scripts now also works from: + C:\Program Files\XChat\Plugins\ + - Better command-line parameter parsing via GOption. + - Tab completion order can now be in "last talk" order if you + /set completion_sort 1. + - "Channel Action" and "Channel Action Hilight" now have a 3rd + argument of "Mode char", just like normal message events. The last + talk time is also now updated on actions. + - Reworked the Character Chart window so you can find your char. + - Perl: + - fixed so that printf and commandf are exported + - print and printf can also be called as prnt and prntf, this is to + avoid clashing with the builtins. + - Deprioritized MODE/WHO to reduce join lag. + - WIN32: Mask out more invalid filename characters when writing to + log files. + + +---------------------------------------------------------------------- + 2.4.5 - 10/Sep/2005 +---------------------------------------------------------------------- + + - Updated translations (cs, el, fr, gl, it, nl, sl, sr, vi, zh_TW). + - Fixed incorrect information displayed in Plugins & scripts window + under unix (xc244-fixpluginns.diff). + - Added "/set irc_whois_front 1" option to show WHOIS in front tab. + - Lots of speed ups under the hood, mainly in handling of URL + highlighting during mouse motion. Also now allows underlining + .name and .info domains [1230265]. + - Moved the "Insert color code" menu into the input box's right- + click menu. + - Fixed "Your Message" messing up when starting with a comma + [1230269]. + - Added /id command to identify yourself to nickserv. + - Added /gui MSGBOX for scripters. + - Added /menu command which lets plugins/scripts add their own + menu items. + - Added support for passive DCC chat via /DCC PCHAT . + - Added support for DCC sending and receiving very large files + (above 4 GB). + - Improved layout of "Info" button in the DCC windows. + - Improved layout of the nick-name right-click menu. + - Improved /help command's display of plugins/script commands. + - Fixed two bugs in detaching tabs (or CTRL-I) [1228926]. + - Added /uselect command for scripters to select nick names in the + channel userlist (Daniel P. Stasinski). + - Fixed possible crashes while using the SJIS (Japanese) charset. + - Fixed various memory leaks in right-click menus. + + +---------------------------------------------------------------------- + 2.4.4 - 20/Jun/2005 +---------------------------------------------------------------------- + + - Updated translations (hi, ko, lt, pa, ru, vi, zh_TW). + - People's away message is now shown in the right-click menu, if + known (Christopher Aillon). + - The "Bind to:" setting can now be set to 0.0.0.0 [1176256]. + - Plugin API: Don't crash if a print-event closes the current context + and doesn't eat the event [1175674]. + - Disabled parsing of quotation marks for /JOIN, so you can join + channels with a quote in them (Dan Fruehauf). + - Fixed truncation of the URL in the right-click menu. Now handles + UTF-8 properly [1188229]. + - Fixed use of CP1255 charset, which would chop the last char when + receiving messages [1122089]. + - The DCC windows now allow multiple selection and the columns auto + resize (Dan Fruehauf). + - Added "CTCP Sound to Channel" event [1159445]. + - You can now drag and drop files into dialog windows to start file + transfers. + - Perl: + - Fix to allow fully qualified variable names to work as well. + - Enabled individual script unloading. + - Enabled reloading scripts using XS modules. + - Fixed handling of filenames with spaces in them. + - Added /reload which works like /load but it will do an unload first + it is not necessary to use the full path with this command, just + the file name is enough. + - Fix print callbacks for cases where there are NULL elements between + non-NULL elements. + - Fixed: "XChat can't ban users with long idents" (Dan Fruehauf) + [1159447]. + - Implemented taskbar flashing on unix. Requires a window manager + or taskbar that supports XUrgency flag (Adil). + + +---------------------------------------------------------------------- + 2.4.3 - 31/Mar/2005 +---------------------------------------------------------------------- + + - Updated translations (de, sq, zh_CN). + - Fixed crash of server list connect button when no network is + selected while using GTK's auto-find feature [1166669]. + - Fixed handling of WhoIs Special event on some networks where it + could chop off the first character [1164315]. + - Plugin API changes: Added "nickserv" field to xchat_get_info. + - Python: Fixed get_list() incorrectly failing when the list + contained a time field [1171525]. + - Perl: Make scripts using calls with fully qualified subs work again + [1170139] (Lian Wan Situ). + - Fixed input-box input-method (GTK I.M.) problem [1168239]. + - Fixed: Ignore and Notify windows incorrectly used the stock CLOSE + button instead of DELETE [1170655]. + - Placed Close/Connect buttons in correct position in server list + [1165474]. + + +---------------------------------------------------------------------- + 2.4.2 +---------------------------------------------------------------------- + + - Updated translations (ca, de, lt, nl, ru, sk, sr, vi). + - Added command line args -u and -p. + - Fixed handling of "MODE -o+o nick nick" (#1094026). + - Plugin API changes: + * Added "Key Press" print event. + * Added "state_cursor" for xchat_get_prefs. + * Added xchat_strip and xchat_free functions. + * Added "lasttalk" field to "users" list. + * Added "charset" field to xchat_get_info. + - Perl plugin changes (Lian Wan Situ): + * Move each script into their own unique package/namespace. Scripts + containing multiple packages will not be loaded. + * When warning messages are emitted you will now be told which + script it came from. + * Xchat::set_context will now accept Xchat::set_context( $channel ) + and Xchat::set_context( $channel, $server ) in addition to + Xchat::set_context( $context ). + * Fix display of loaded scripts in the Plugins and Scripts window. + - TCL: Fixed crash with invalidated TCL timer (#1110306) (Daniel P. + Stasinski). + - /TIMER now supports timeouts to one decimal place. + - Fixed possible crash of open-file dialog on 64-bit machines. + - Pressing CTRL-O in the DCC Receive window will now open your + downloads folder. + - Win32: Default download folder changed to "My Documents\Downloads". + - Added -quiet arg to the /charset command. + - The /country command now supports a wildcard search. + - The user is now warned when real/user name is left blank in the + server list window. + - Added the /URL command. + - Added a text event for all unknown WHOIS reply lines. + - Added /ALLCHANL which sends to the current server only. + - Actions (/ME) are now treated like PRIV/CHAN for purposes of the + ignore list. + + +---------------------------------------------------------------------- + 2.4.1 +---------------------------------------------------------------------- + + - Updated translations (ca, de, eu, it, ko, mk, nb, nl, pt, ru, sl, + sq, uk, zh_TW). + - Fixed custom marker-line color not reloading. + - Brought back the "Connect to selected server only" option in the + Serverlist edit window (it's like the reverse of "Cycle until + connected" in 2.0.x). + - You can now move networks and servers via Shift+Up/Down (in the + ServerList window). + - Small efficiency improvements in receiving dcc. It will now not + send ACKs while the input buffer is non-empty. + - Python: Fixed crash when a timer callback routine executes + xchat.unhook() and returns false. + - Fixed playing sound files with spaces in them. + - Added support for NickServ on DalNet and FreeNode. + - Plugin API: Added xchat_get_info(ph,"inputbox");. + - Added /settext and /setcursor commands for scripters. + - You can now scroll tabs with the mouse-wheel while hovering over + the arrow buttons. + - Fixed connecting to a SSL server via http proxy (#1054152). + - Fixed: Opened server tab doesn't count as "requested" (#1044227). + + +---------------------------------------------------------------------- + 2.4.0 +---------------------------------------------------------------------- + + - Updated translations (ca, de, eu, it, ko, lt, nl, sk, sr, zh_CN). + - Fixed a possible crash in loading pevents.conf. + - Made default URL handlers work with Firefox 0.9.x by adding the + "-a firefox" argument. + - Plugin API: Added xchat_get_info field "libdirfs". + - Fixed crash when trying to dcc send a filename which has encoding + that doesn't match G_FILENAME_ENCODING. + + +---------------------------------------------------------------------- + 2.1.1 +---------------------------------------------------------------------- + + - Updated translations (de, kr, lt, sk, sr, zh_CN). + - Added some rudimentary support for the IDENTIFY-MSG feature. + - Perl: Added Xchat::context_info (Lian Situ). + - TCL: Added support for time fields in getlist (Daniel P.Stasinski). + - Added "Open Dialog" event, so you can add a sound-file to it. + - The standard beep can now be overridden with a sound-file. + - Fixed tab-nick-completion's cycling behaviour. + - New keyboard shortcut for line up and down (shift-arrow up/down). + - Fixed: [986958] tab completion with GTK Input-Methods. + + +---------------------------------------------------------------------- + 2.1.0 +---------------------------------------------------------------------- + + - Updated translations (eu). + - Tab nick completion fixes: Crash with space-tab and glib critical + warning (Ian Kumlien). + - Heavily reworked the Preferences window. It should be alot clearer + now, and more gnome-like. + - 'Pop new tabs to front' setting now has three options (Kyoshiro). + - New colors and text-events, using a white background. + - Config files are not saved to disk unless you edit the defaults. + This makes it easier to change language (for print events, popup + menu etc). + - Brand new Server List window. Now much simpler and intuitive. Also + includes an entry box for NickServ password. + - The vertical separator line now has its own pointer when you hover + over it (Richard Gobeille). + - Alphabetical tab sorting now works and is enabled by default. + - Added "Small Tabs" option (reduces the font size). + - Brand new Sound-Events editor in the Preferences window. + - Added socks5 authentication support (Benjamin Foster). + - Win32: fixed auto-loading of TCL scripts. + + +---------------------------------------------------------------------- + 2.0.10 +---------------------------------------------------------------------- + + - Updated translations (ru, sr). + - Fixed compiling on systems other than linux/freebsd [969643]. + (Samuel Mimram). + - Fixed compiling with an old version of GTK (2.0.x). + - Further BiDi fixes in xtext (Ilya Konstantinov). + - Brand-new tab completion code (Ian Kumlien). This also fixes: + Tab expansion not working behind umlauts [956127]. + Plugin commands can now be tab-completed too (Frank Thieme). + - Fixed parsing URIs on userlist drag-n-drop (Jonas Heylen). + - Added Sort button to the server list window (David Oftedal and + Tim-Philipp Mueller). + - Tab button selection fix (Guillaume Knispel). + - Added marker-line feature. Shows a red-line to indicate the place + where you last read up to (Thomas Kockerbauer). + - The "Get my IP from Server" feature now works on networks that + hide your hostname too (by using the USERHOST command). + - Win32: Fixed CPS calculation for file transfers [824934]. + - Fixed: Ping timeout when the system clock changes [789140]. + - Fixed: Private messages delivered to status window when nickname + is the same as the network [977550]. + - Maximised window-state is now saved. + - Double middle-clicking a nickname in the text area will now select + it in the userlist. + - Included a work-around to stop X-Sys plugin crashing with GTK 2.4. + - Fixed: /list output going to the current tab [970746]. + - Fixed: Serverlist crash while editing a port-number, and switching + to another network before pressing enter [968652]. + - Made it possible to execute multiple "Connect Command:"s in the + ServerList window, when they're separated by ctrl-shift-a. + + +---------------------------------------------------------------------- + 2.0.9 +---------------------------------------------------------------------- + + - Updated translations (bg, cs, de, en_GB, eu, fi, lt, nl, ru, sk, + uk, wa). + - Fixed the Socks5 overflow security bug. + - DCC IP address setting can now be a hostname too (Flavio + Chierichetti) [773229]. + - Don't try random DCC ports when a range is set (mib) [889987]. + - Fix: Spurious nick completion (mib) [916944]. + - Serverlist passwd box is now masked (Cristian Peraferrer) [920113]. + - Fix: Sometimes messes up the tab order on reconnect (Gabor Szeder) + [941773]. + - Fix: Crashes when setting $CHARSET to nonexistant charset [945855]. + - Plugin API: Added some fields to the "channels" list. + - Plugin API: Added "win_status" and "xchatdirfs" fields to + xchat_get_info. + - Plugin API: Added xchat_send_modes() function. + - Fix: Unload, then reload a plugin on FreeBSD fails (Kevin Leung). + - Plugins should now work on HPUX too. + - Perl-plugin: Fixes for 3 arg version of emit_print, unhooking the + same hook multiple times and get_list returning correct values for + address32 field and some memory leaks (Lian Situ). + - Made menu keybindings work when the menubar is hidden on GTK 2.4. + - Added support for the new GTK 2.4 file chooser dialog. + - Fix for BiDi in xtext (Ilya Konstantinov). + - Smaller bug fixes [962211] [958599] [950353] and + [945617] (Frederic Krueger). + + +---------------------------------------------------------------------- + 2.0.8 +---------------------------------------------------------------------- + + - Updated translations (az, es, fi, lt, mk, nl, ru, sk, sl, sr, sv, + zh_CN). + - Added color, flash and iconify args to /GUI command (this is for + use in scripts and plugins only). + - Plugin API: Added "notify" list. + - Plugin API: Added id, users, flags fields for "channels" list. + - Win32: Better error messages for file i/o and winsock errors. + - New Perl interface (with backward compatibility)! (Lian Situ). + - Fixed command-character buglet [873541]. + - Win32: Improved incorrect CPS display for file transfers. + - Added "Copy Selected URL" option to URL popupmenu (Mike Battersby). + - Added work-around for "Get my IP from server" not working on PTNet + (Mario Freitas). + - Fixed: Alt+numbers do not work with X Input Method [896968] (Marius + Gedminas). + - Added support for "+port" to indicate SSL connections. + - Fixed non-ASCII chars in time-stamp bug [918445]. + - Smaller bug fixes: [870073] [890891]. + + +---------------------------------------------------------------------- + 2.0.7 +---------------------------------------------------------------------- + + - Updated translations (fi, nl). + - Fixed dcc psend crash [858539]. + - Fixed bug where an error message was erroneously displayed while + transfering files with fast-send turned off. Also, allow fastsend + to be used with psend (Daniel Dubois). + - Print more informative messages when Perl scripts fail to load + (Andy). + - Win32: Added native sound playing support. + - Win32: Fixed possible crash upon exit while still connected. + - Fixed notify's Lastseen column for offline users [864185]. + - Report more informative error when DCC write to disk fails. + - Fixed crash when xchat.conf contains oversized strings [750403]. + + +---------------------------------------------------------------------- + 2.0.6 +---------------------------------------------------------------------- + + - Updated translations (de, lt, sl, sr). + - Fixed detection of Python on amd64 (Mads Martin Joergensen). + - Don't loose editbox contents when pressing up, then down arrow + (Ricky Clarkson). + - Fixed missing dcc flag on new ignores via gui. + - Fixed missing separator bar on PseudoColor displays. + - Fixed some 64-bit issues (xc205-fix64bit.diff). + - Apply tint changes instantly. + - Fixed DCC resume with mirc >= 6.1. + - Python plugin changes: + * Fixed the reentrancy problem which made xchat freeze when some + python code made xchat trigger a python callback somewhere. + * Implemented xchat_emit_print() and xchat_get_prefs() support. + * Fixed softspace support for python 2.3. This problem was making + print statements yield an extra space at the next line start. + * Other minor changes. + (Gustavo Niemeyer, Gustavo J. A. M. Carneiro, Marko Kreen). + - Fixed request of a MODE on a channel you're not in changing the + current titlebar [820998]. + - Restored compatibility with older Perl that lacks call_pv(). + - Use sigaction inplace of signal() for better compatibility. + - Win32: Don't try to open logfiles with a "\" in them, windows wont + allow it. Instead, the "\" is replaced by a "_". + - Backported HTTP authentication code from 1.8.11 (you can now + specify a username and password for HTTP proxies). + - When beep on highlight is on, beep on channel actions too + (Christopher A. Aillon) + - Added active dcc send feature (/dcc PSEND). More info here: + http://mail.nl.linux.org/xchat-discuss/2003-10/msg00124.html + (Daniel Dubois and Emmanuel Jeandel). + - URL Handlers menu now removes programs that arn't in PATH. + - Added "away" users field for plugin API. + - Smaller bug fixes: 822199, 786267, 783172, 811971, 756048, 844919. + + +---------------------------------------------------------------------- + 2.0.5 +---------------------------------------------------------------------- + + - Updated translations (ca, fi, lt, nl, sk, sv, zh_CN). + - Fixed detection of Python 2.3 in configure script (anonymous). + - DCC Send file-selection dialog now supports multi-select. + - Reset away status after auto-reconnect from a ping timeout. + - Perl: Fixed IRC::user_info always matching the first entry. + - More C89 fixes for non-gcc compilers (Albert Chin). [781809]. + - xtext: now double buffered and flicker free. Also some efficiency + tweaks for exposure events and multi-wrapped lines. + - Removed buggy numeric 338 support [783945]. + - Nick completion in dialogs and channel completion (Jay Cornwall). + - Print informative error messages when dcc resume isn't possible. + - Fixed performance of dcc recv, send and chat windows. + - Fixed tab-arrow buttons show/hide (Lloyd Williams) [783681]. + - Fixed lastlog bugs [791220]. + - win32: Faster tinting, and uses MMX when in 16 or 32bit color. + - Execute /sigusr2 on receiving SIGUSR2 signal (Michael Guidero). + - /IGNORE command and window now have an extra "DCC" category. + - Alert user when logfiles fail to open (Jay Cornwall). + - Fixed missing underlining of IP numbers (2.0.4 only). + - Allow accepting DCC sends from ports below 1024. + - Connect to URL given on commandline even if 'No Serverlist on + Startup' is off [804648]. + - Fixed problem in allocating colors while in 8bit PseudoColor. + - xtext: tinting now shades towards your background color, making it + usable with white backgrounds. Tints can also use XShm for extra + speed with --enable-shm at ./configure time (experimental). + - Perl: IRC::add_print_handler callbacks now get parameters in + $_[1...x], with $_[0] left for compatibility (Lian wan Situ). + - Perl: added command_with_channel command (Alexander Werth) + [801711]. + - Smaller bug fixes: [798655]. + + +---------------------------------------------------------------------- + 2.0.4 +---------------------------------------------------------------------- + + - Updated translations (lt, sv, zh_CN). + - Fixed crash on tinted transparency (xc203-fixtint.diff). + - Fixed incorrect dcc cps calculation (xc203-fix-cps.diff). + - Allow fullpath and relative filenames for Text Events sound files + (Anthony Dragunov). + - Added /GUI command (mainly for use by scripts). + - Solaris build fixes for ipv6. + - Added -n, --no-plugins command-line arg. + - Added a feature to change the color of away users. + - Moved default dcc and sound dirs inside ~/.xchat2/ (SilvereX). + - Fixed bug [753742] When server tab and query had the same name, + private messages could go to the wrong tab. + - Support others users too, when expanding ~ in filenames (Neox). + [767514]. + - Underline "ipnumber:port" style urls too (Alex & dobler). + - Added support for ircu numerics 330 and 338 (phaseburn). + - C89 fixes, should now compile with HP UX and Sun C Compilers + (Albert Chin). [777106]. + - Smaller bug fixes: [773245] [779166]. + - Close tabs on shift-leftclick (Jay Cornwall). + + +---------------------------------------------------------------------- + 2.0.3 +---------------------------------------------------------------------- + + - Updated translations (ca, fr, ja, sv). + - Fixed URL grabber not filling up (xc202-fixurlg.diff). + - Fixed crash when holding down Ctrl-I (xc202-fixdetach.diff). + - Use Shift-Ctrl-W for Close only when Emacs key theme is enabled. + - Fixed corrupt left margin with indent-nicks off and timestamp on. + - Remove invalid chars from inbound text when conversion fails. Fall + back to ISO-8859-1 when using UTF-8 only (Ilya Konstantinov). + - Fixed perl IRC::get_info(3) crash when not connected [732496]. + - Fixed crash on long output lines for /exec -o [731187]. + - Made "Move completed files to:" and "Save nickname in filenames" + work at the same time (Matthew Gabeler-Lee). + - xtext: fix redraw when new additions not on current page. + - win32: Added /set identd 0 switch to turn off built-in identd. + - Added 6-8 for perl's IRC::get_info to retreive network, host and + topic (Ryan). + - Iterate in alpha order instead of op-alpha for nickcompletion + (Gauss_Z88). + - Fixed ChannelList crash on invalid regex match string. + - Added hide join/parts setting to gui (Jason Wies). + - Added Delete All button to ignore window (Mohammed Sameer). + - Don't allow adding empty names to notify list [741589]. + - Made message fragmentation code utf8 friendly so it always splits + on a multibyte char boundary [748653]. + - Support 2 to 4 GB files in DCC (contrary to 1.9.4 changelog, it + didn't work until now). + - Python: Fixed crash when returning 0 from a timer (Steve Green). + - Multihead fixes for popup menus. + - Added support for numeric 307 and 320 "is an identified user". + - Allow setting a blank topic via the GUI [720407]. + + +---------------------------------------------------------------------- + 2.0.2 +---------------------------------------------------------------------- + + - Updated translations (lt, ms, nl, pt, sv, zh_CN). + - Fixed a few minor mem leaks in the server and user list. + - Changes to: UrlGrabber, Notify, Plugins, Ignore and Banlist GUIs. + Changed GtkCList to GtkTreeview, and general enhancement to these + guis (Vincent Ho). + - win32: made it possible to compile with ipv6. + - Added /MOP. + - Fixed pageup/pagedown wrong window bug [710784]. + - Fixed no timestamps in top-level windows bug [710787]. + - Fixed first word being skipped in perl add_command_handler("", cb); + [711802]. + - Fixed WHOIS away line appearing in different tab [695932]. + - win32: fixed transparency [699425]. + - win32: fixed ssl "Error 2" connection bug. + - Made all toplevel dialog windows transients of the main window. + - Show filesize/pos in DCC window as KB and MB (Aaron Chernosky). + - Added /set tab_dnd 0/1 option. + - Fixed userlist insertion/deletion GUI performance problem [704233]. + - Each toplevel window now has a "role". + - Smaller bugs fixed: [698449] [718851]. + - TCL plugin fixes for context lookups (Daniel P. Stasinski). + - Changed Close Tab keybinding to Shift-Ctrl-W to avoid conflict with + emacs editing. + - Used a new algorithm for Userlist and UrlGrabber. This one does + insertion, lookup and deletion in O(log n). + + +---------------------------------------------------------------------- + 2.0.1 +---------------------------------------------------------------------- + + - Updated translations (am, ca, lt). + - Save serverlist before connecting (Joe Drew). + - OpenBSD compile fixes. + - (Encoding) Fallback outgoing text to "?" for unconvertable chars. + [674798]. + - Hide tab scrolling buttons when they're not needed. + - Fixed --disable-xlib compiles. + - Fixed use of %h in dialog-tab buttons [688937]. + - Fixed printing/logging timestamps that contain invalid utf8 + [688548]. + - Added "Resizable userlist" option (default ON). + - Strip colors on topic change. + - Fixed (snotice) and (notice) tabs being swapped [687437]. + - Made more strings translatable. + - Allow loading empty text events [691191]. + - Fixed xtext race condition [678874]. + - Added ability to show/hide the channel-mode buttons (default OFF). + - Use the network name in server-tab rather than full hostname. + - Added keybindings for moving tab-families, default is ctrl-shift + PageUp and PageDown (Vincent Ho). + - Added 'Beep on highlighted messages' option (Jirka Kosina). + - Use DND to detach tabs. + - Interpret %C, %B etc in quit reasons. + - Added more items to the right-click tab menu. + - Some misc UI cleanups. + + +---------------------------------------------------------------------- + 2.0.0 +---------------------------------------------------------------------- + + - Updated translations (de, es, lt, nl, sk, sl). + - Fixed half cut off dates in notify window. + - Fixed tabs loosing red/blue color when being renamed. + - Fixed initial query tabs not being truncated. + - Make tabs red on channel actions too. + - Configure script python detection fixes (Johan Dahlin). + - Added /charset command. + - Don't auto remove stalled DCCs unless dcc_remove setting is on. + - Avoid recursive UserCommand buffer overflow. + - Added xchat_emit_print() to plugin interface. + - Left and Right positioned tabs are possible again (Lloyd Williams). + - Added /timer -repeat and -quiet args. + - Possible tcl plugin crash fixes (Daniel P. Stasinski). + - Group multiple op/voice in one print event. + - Fixed plugin loading on solaris. + - Python fixes (Gustavo Niemeyer): + * Fixed bug which made Python plugins crash randomly. + * Introduced a new xchat.hook_unload() function, as requested by + many people. This will call a given callback at module unload + time. + * Now /py load will succeed if filename is the name of a + file inside "xchatdir" (~/.xchat2). + * Fixed some leakings. + + +---------------------------------------------------------------------- + 2.0.0pre1 +---------------------------------------------------------------------- + + - Updated translations (sv, es, am, el, lv, no). + - Fixed possible blank userlist after another tab was detached. + - Changed default keybinding for next/prev-tab to ctrl-pageup/down, + as per standard. + - Added IPAddress field to "DCC SEND Offer" text event. + - Fixed perl IRC::print_with_channel 1.8.x incompatibility. + - xtext: Fixed bugs in new scrolling code. + - Use filesystem encoding for log filenames. + - Focus the inputbox when left-clicking in xtext. + - Focus the inputbox when typing while the userlist is in focus. + - Fixed bug where text typed could be sent to the wrong window after + a detach. + - New default icon again, this one scales better (Dagmar d'Surreal). + - Send /LIST args on galaxynet. + - Added settings to change inputbox and userlist styles to the same + as the main text area. + - Don't allow the Perl plugin to be loaded twice (Ian Kumlien). + - Fixed servlist crash on 'use global' off and empty nick field. + - Added missing address field to Perl's IRC::dcc_list. + - Added irc_conf_mode setting (via /set only). + - Save xchat.conf safely (Michael Witrant). + - Added support for numeric 005 token NAMESX. + - Added TCL Plugin (Daniel P. Stasinski). + - Added 'Add' button to serverlist, due to popular demand. + - Update intl/ to 0.11.4. + - Win32 fixes/makefile for python plugin (James Potts). + - Win32: fixed clipboard bugs and dcc receive. + - Plugin iface: Added dcc-list fields "address32" and "port". + - Try to use pkg-config to find openssl. + - Report errno/strerror on dcc failures. + - Python print buffering fixes (Gustavo Niemeyer). + - Treat NOTICE +#channel correctly. + - Check for common unix paths and don't treat them as commands. + + +---------------------------------------------------------------------- + 1.9.8 +---------------------------------------------------------------------- + + - Added Amharic translation (Daniel Yacob). + - Updated Spanish translation (Pablo del Campo). + - Updated Lithuanian translation (Rimas Kudelis). + - Updated Latvian translation (Artis Trops). + - Fixed serverlist entry box text corruption (xc197-fixservlist.diff) + - Fixed the non-mmx tinted-tranparency code crashing. + - Fixed interpretation of mIRC color 99 [653094]. + - Use Pango renderer by default, for better i18n. + - Scroll 1/10 of a page with the mouse wheel (Soeren Sandmann). + - Reimplemented -a, --no-auto argument. + - Fixed a bug in entering text with GTK2 IMs [653751]. + - Final fix for filenames' encoding in DCC. + - New unicode character chart window. + - xtext: properly recalculate text widths after a font change. + - Fixed perl IRC::dcc_list 1.8.x incompatibility (Charles Lopes). + - xtext: Implemented scrolling instead of full redraws when not using + a background image or transparency. This improves scrolling on + machines that draw AA text very slowly. + - Reimplemented 'Move front tab left/right' keybinding. + - Provide default usermenu and buttons for translation. + - New default icon (Dagmar d'Surreal). + - Report the average KBs when a transfer is finished. + - Attempt to create dcc-download dir when changed in the setup gui. + - Apply character set conversions to DCC Chat aswell (Steve Green). + - xtext: Fixed hilight-text in scrollback after new addition bug. + - Channellist gui cleanup. + - Renamed a few defines in xchat-plugin.h to avoid namespace + pollution. + - Fixed loading background image crash (from 1.9.7). + - Fixed broken drawing of mIRC color 0. + + +---------------------------------------------------------------------- + 1.9.7 +---------------------------------------------------------------------- + + - Updated Swedish translation (Christian Rose). + - Updated Spanish translation (Pablo del Campo). + - Updated Dutch translation (Bart Coppens). + - Added /GETSTR and /GETINT. + - Misc. serverlist bug fixes (Shaun Guth). + - Plugin changes/fixes: + * Added xchat_get_info("network"). + * Added new function: xchat_hook_fd(). + * Fixed "DCC Chat Text" event (Daniel P. Stasinski). + * Added "Open Context" print event. + * Fixed implementation of EAT_ return codes. + * Keep the leading ":" in server events passed to plugins. + * Added hack to make plugins possible on win32. + * Fixed /unload crash. + - Fixed changing tabs via keyboard. + - Added a few keyboard accelerators to the menubar. + - Fixed close-tab-0 crash. + - Fixed userlist popup menu disappearing on button-release. + - Fixed color paste. + - Added a character set selector to the serverlist. + - Send DCC filenames in system encoding (gets converted if a charset + is chosen in the serverlist). + - Fixed possible Search Text crash. + - Removed --enable-japanese-conv configure option (isn't this + superseded by the new charset selector?). + - Use --enable-openssl by default. + - Fixed your nick not changing in dialog windows. + - xtext: deal better with invalid utf8. + - Made it possible to do /server . + - win32: backported tint/transparency code from 1.8.10. + + +---------------------------------------------------------------------- + 1.9.6 +---------------------------------------------------------------------- + + - Updated Spanish translation (Pablo del Campo). + - Added Estonian translation (Ilmar Kerm). + - Made switching to dialog tabs faster: + * Draw xtext only once when switching to a dialog tab. + * Do not recalculate the tinted-transparency. + - Fixed another text-off-the-bottom bug. + - Fixed background color other than black not working. + - Fixed dialog windows not being logged (Joanne Hunter). + - Fixed topic entry box going blank bug. + - Added Insert-color-code and encoding submenu in the bottom-right + button. + - Apply more settings without needing a restart: + * Background image. + * Time stamp text on/off. + * Palette changes. + - Implemented %n for log-filename-mask. + - Reconfigured the menubar a bit. + - Validate inbound utf8 text to avoid reading beyond buffer and + fall back to iso-8859-1. + - win32 compile fixes. + - Don't convert commas to %2c in urls. + - Auto open dialog when dcc chat offer connects (Steve Green). + - Make setting "Open Utilities in: Windows" work. + - Added a way to reorder networks in the serverlist window (still + want to add DND later). + + +---------------------------------------------------------------------- + 1.9.5 +---------------------------------------------------------------------- + + - Fixed the PL_perl_destruct_level crash (Bernard Blackham). + - Fixed the perl readdir crash. + - Added tab scrolling buttons (Lloyd Williams). + - Added DCC throttle and better CPS calculation (Richard Fuchs). + - Added three configurable tab-highlight colors (Nehal Mistry and + Joanne Hunter). + - Added dynamic support for two levels above Op (red & purple icons). + - Changed the op/voice icons, now more macosx like. + - Serverlist progress: + * Now remembers your last network selection. + * Non-global User/real/nick are now implemented. + * Added all 1.8.x default servers. + - Added Clear Rawlog button. + - Throttle and Lag meter settings implemented. + - Fixed /lastlog. + - xtext: Fixed exposure-before-print crash. + - xtext: Fixed providing UTF8 selection data. + - xtext: Fixed text scrolling past the bottom bug. + - Added DCC-completed-dir setting, which can move completed DCC files + to a different directory (Chris Morgan). + - Update build environment to autoconf 2.53. + - Cleanup various configure.in/Makefile.am scripts. Use libtool to + build perl and python plugins (John). + - Added support for numeric 005 options: CHARSET=UTF-8 and + CASEMAPPING=ascii. + - Delinking/Relinking IRC windows re-implemented. + - Dialog window buttons re-implemented. + - Gnome2-ify the desktop file. Install to $(datadir)/applications. + + +---------------------------------------------------------------------- + 1.9.4 +---------------------------------------------------------------------- + + - Make DCC support up to 4GB files (previously 2GB). + - Fixed possible crash when receiving a message from a channel that + was already parted. + - Fixed random /part reasons not working. + - Fixed compile on RHL 8.0. + - Fixed xchat-text connect crash. + - Updated included intl/ to 0.10.38. + - Update transparency when background image changes. + - Fixed the progress-connecting-bar appearing in all tabs. + - More IRC protocol abstractions; tcpsend2 (James D. Taylor). + - New server list GUI almost complete. + - Merged some small 1.8.11 fixes. + - Reopen logfiles on SIGUSR1. + - Added Tint RGB settings (foser). + + +---------------------------------------------------------------------- + 1.9.3 +---------------------------------------------------------------------- + + - Updated Spanish translation (Pablo Gonzalo del Campo). + - Updated Swedish translation (Christian Rose). + - Added mIRC's passive dcc support, receiving only (Richard Fuchs). + - Added InputBox settings to settings GUI. + - Make DCC support up to 4GB files (previously 2GB). untested. + - Fix checks for Xft.h in configure script. + - Fix perl add_message_handler() xchat 1.8.x incompatability. + - Fix default DCCRECV text event using bad $ variable and crashing. + - Fix /query #foo, /join #foo crash. + - Fix utf8-conversion-fail sending truncated text. + - Use $datadir/locale for LOCALEDIR (Albert Chin-A-Young). + - More work done on Serverlist 2, but not fully functional yet. + - Pasting from one tab to another now works. + + +---------------------------------------------------------------------- + 1.9.2 +---------------------------------------------------------------------- + + - Fixed DCC Chat offer crash (1.9.1 bug only). + - xtext: Xft tweaks. Included Pango backend for when Xft can't be + used directly. + - xtext: improved rendering selections (less unnecessary redrawing). + - xtext: fixed marking multibyte utf8 chars. + - Included brand new Python interface plugin (Gustavo Niemeyer). + - Perl is now a plugin. + - Plugin API: Changed xchat_unhook() return value and type. + - Plugin API: Added "ignore" list. + - Plugin gui window can now load/unload scripts aswell. + - Plugins are now autoloaded from $libdir/xchat/plugins. + - Double-click userlist works again. + - Strip spaces from join-channel in serverlist (Mathias Hasselmann). + - The menu in the bottom right corner now works. + + +---------------------------------------------------------------------- + 1.9.1 +---------------------------------------------------------------------- + + - Fixed serverlist and rawlog crashes. + - Fixed some 64-bit issues (Elliot Lee). + - Fixed unrealized xtext crashes and warnings (Elliot Lee). + - Removed --disable-glib configure option. + - Added Save rawlog button. + - Auto detect socklen_t. + - All new plugin interface. See plugins/plugin20.html. + - Made perl.c use the new plugin interface. + - Made the whole system use the cmdchar setting. This means all + usercommands, popup commands etc mustn't start with a "/" char. + - Removed the mail checker, it's now a plugin. + - Cleaned up some text events code. Added/Changed/Removed some + events too. TextEvents window now lists them alphabetically. + - Convert inputbox from utf8 to locale before sending (xLoneStar). + - Use ~/.xchat2/ for all configs (may change to ~/.xchat-2.0 + when stable). + - Made DCC GUI display KB/s instead of cps. + - Ignore code cleanups; ignore.conf no longer compatible. + - Created the start of an IRC protocol abstraction layer. + - Plugged JCode memory leak. + - Ask before quiting when some DCCs still active. + - Rewrote most of the maingui code. Now there's only one virtual + tab that is re-filled with new information when switching tabs. + - Added right-click tab menu. + - Plugged potential /dns security hole. + - Converted userlist to GtkTreeView. + - Right-click userlist menu now works with a multi-selection. + - Drag and drop to userlist no longer requires libgnome. + - Included an ircII style /timer plugin. + - Now accepts irc:// URLs on the command line. + - Tabs are now ordered in server groups. + - Make gettext use utf8 (teuf). + - Whole new setup window. + - Notify gui has an add dialog window. + - Nickname on the bottom left is clickable. + - Cleaned up /set variable names. + - Made scrollwheel work with GTK+ 2.0 (Lloyd Williams). + - xtext: Added XFT support. + - xtext: Added UTF8 selection support. + + +---------------------------------------------------------------------- + 1.9.0 +---------------------------------------------------------------------- + + - Ported to GTK+ 2.0 (BIG!). + + +---------------------------------------------------------------------- + 1.8.7 +---------------------------------------------------------------------- + + - Updated Swedish translation (Christian Rose). + - Updated Russian translation (Anton Farygin). + - Added Latvian translation (Artis Trops). + - Made a work-around for a refresh glitch when delinking a tab under + gnome (the topic bar was overlapped). + - Fixed the need for signed chars (e.g. on PPC and s390). + - Fixed background garbage being drawn when using hidden tabs. + - Cleaned up alot of the nick completion code. Fixed some behaviour + too (Mukund, dinkles, me). + - Connect Cmd is executed again if you get auto-reconnected. + - Added safe-gaurd to stop duplicate nicks in userlist. + - Added an option to automatically remove finished/failed dccs + from the list. Use /set dcc_remove ON to enable it. + - Added an option to truncate long channel tabs. Use: + /set truncchans xx, where xx is the max chars (Jyrki Muukkonen). + - Made the default popup menu, dialog buttons, userlist buttons, + usermenu and urlhandlers translatable (via gettext). + - MMX tinting is now built on any x86 machine (it's checked at + runtime anyway). + - Added "Automatic Unmark Away" option in setup->away (Mads Martin). + - Immediately abort file transfers when out of space. + - Fixed a serious CTCP reply vulnerability. + + +---------------------------------------------------------------------- + 1.8.6 +---------------------------------------------------------------------- + + - Updated Danish translation (Morten Brix Pedersen). + - Updated Spanish translation (Antonio de la Torre). + - Updated French translation (Olivier Berger). + - The server "Connect cmd" is now executed before auto-join-channels, + so you can use it to authenticate to nickserv etc. + - Fixed autoresume again, for the last time... no, really. + - Fixed sending parts for all channels instead of one quit when you + exit the whole program (helps bncs). + - Autocomplete in the middle of a sentence won't jump to the end of + the textbox (Darell Tan). + - Fixed the buggy 1.8.5 outbound queue. It now sends privmsg/notice + with a lower priority, but never out-of-order. + + +---------------------------------------------------------------------- + 1.8.5 +---------------------------------------------------------------------- + + - Updated Slovak translation (Stano Visnovsky). + - Updated Swedish translation (Christian Rose). + - Updated Spanish translation (Antonio de la Torre). + - Updated Hebrew translation (Dan Fruehauf). + - Some fixes to the MODE parser. + - Added ability to customize dialog tab buttons (Oskar Liljeblad). + - Added an extra field in the EditServer window to enter a command + to execute after logging in. + - /load -e can now load a file of commands to execute. + - Added ability to change the log timestamp format (Jyrki Muukkonen). + - Fixed default keybinding for Shift-PageUp (Mukund). + - Changed the outbound throttle behaviour. Now only privmsgs and + notices go to the back of the queue, everything else goes to the + front. + - Made it possible to compile with older than 5.6 perl again. + - The main window's size and position is now saved on exit. Use + /set mainwindow_save OFF to revert to the old behaviour. + - Avoid auto-resuming the same file from two different people + (without breaking autoresume this time). + - Removed /sslserver and added a -ssl arg to /server, /reconnect, + /servchan and /newserver. + - Added support for /server irc://host:port/channel. + - Added some mmx asm code written by Willem Monsuwe for tinting + transparency. Use --disable-mmx to revert to gdk-pixbuf method. + - Fixed resetting your away status after an auto-reconnect. + + +---------------------------------------------------------------------- + 1.8.4 +---------------------------------------------------------------------- + + - Updated Spanish translation (Antonio de la Torre and Manuel + Garca Aguilar). + - Updated Russian translation (Valek Filippov). + - Fixed lockup when a file being offered is shortened before being + accepted. + - Fixed ** ERROR **: file python.c: line 743 (pysH_Eget_users): + assertion failed: (cur->hostname). + - /kickban now deops and bans in one line (-o+b) (Felix Nawothnig). + - Auto-nickcompletion now uses the nicksuffix setting (Mukund). + - win32: change log-filenames with a | character to _. + - When binding to a set hostname/ip, it would try to bind to port + 65535 - fixed. + - Fixed crash when closing a dcc chat in a perl-dcc-chat-callback. + - Added option "Beep on Channel Messages" and a Beep button to the + toolbox ("<" button in the botton right) (Jason Wies). + - Avoid auto-resuming the same file from two different people. + - /close -m now closes all dialog/query windows. + + +---------------------------------------------------------------------- + 1.8.3 +---------------------------------------------------------------------- + + - xtext: marked text goes to clipboard aswell as primary selection. + - xtext: some speedup optimizations. + - xtext: fixed a problem when rendering a fixed-width font with + missing chars. + - Fixed hints for "You're kicked" text event, which showed the $ vars + incorrectly. + - When a user is seen to quit or join a channel you're in, your + notify list will be modified instantly. No notify textevent is + shown if it happened in the front-most tab (Alexander Hvostov). + - Fixed binding server connects to different interface/address + (ipv4 only) (Claus Riemann). + - Avoid negative ping timeout when system clock changes. + - Updated Italian translation (Stefano Fava). + - Updated Spanish translation (Antonio de la Torre). + - Added text event "Channel Notice" so you can differentiate between + private and channel notices (Fuentes Xavier). + - Added ability to dcc send filenames with spaces. See "Fill Spaces" + setting in Setup->File Transfer (Fuentes Xavier). + - Included some makefiles for ms visual c. + + +---------------------------------------------------------------------- + 1.8.2 +---------------------------------------------------------------------- + + - Fixed kick messages showing only the first word of the reason. + - Fixed GTK warnings thrown up when closing a dialog window. + - Fixed a bug in sending quit reasons. + - Fixed a problem with handling op/voice modes that caused halfops to + appear in the userlist when using bahamut. + - Kanji conversion is now turned ON when locale is ja (Akira TAGOH). + - Saved some memory when loading .conf files (about 40k). + - When changing fonts, it now changes in the inputbox without having + to restart. + - Added safeguard to stop recursive user commands. + - Added two /set variables dialog_width and dialog_height. Use these + to set the default size of dialog windows. + - Win32: fixed crash of 'Auto Accept DCC Send' menu item. + + +---------------------------------------------------------------------- + 1.8.1 +---------------------------------------------------------------------- + + - Fixed crash in having server tabs ON and channel tabs OFF. + - Fixed crash when closing the channel list window AFTER all its + server windows were closed. + - Fixed potential crash of the font dialog in settings. + - Made /exec read data line-by-line (Richard Fuchs). + - Disabled the menubar while in shelltabs (it was dangerous to use it + anyway). + - Fixed the banlist window's Unban, which selected the wrong rows + sometimes. + - The Perl interpreter is now started only when loading the first + script, to save memory when not using scripts. + - Fixed lag/throttle meters not updating when set to text-only. + - Fixed two small memory leaks. + - Directories in your logmask are now created, so you can use masks + like "%c/%y.log" in Setup->Logging (Tobias v. Koch). + - xtext: FontSet rendering speedups. + - Win32: made word and line selection work in xtext. + - Win32: added url handler that sends to windows' shell. + - Win32: rendering 8bit characters should now work. + + +---------------------------------------------------------------------- + 1.8.0 +---------------------------------------------------------------------- + + - Fixed a memory leak in popup menus. + - Fixed crash in receiving private actions. + - Added /set variable 'perccolor'. Options effect input box are now: + perccolor: parse %C,%B,%U etc (default ON). + percascii: parse %XXX (where XXX is an ascii value) (default OFF). + Note: if perccolor is OFF, percascii will not work. + - Win32: Fixed incorrect calculation of ping time. + - Win32: Server lookup and connect is now threaded. + - Win32: Server connection error now reported correctly. + - Win32: A simple identd server is now builtin. + - Win32: Copying text from xtext to clipboard now works. + - Updated Swedish translation (Christian Rose). + - Updated Spanish translation (Antonio de la Torre). + + +---------------------------------------------------------------------- + 1.7.8 +---------------------------------------------------------------------- + + - xtext: Fixed parsing of "%C2, " to match mIRC, i.e. bg color is not + reset, fg changes to 2 and the comma is printed (Fuentes Xavier). + - xtext: a fix for multibyte text wrapping (Tetsuo YAMAMOTO). + - Made notify NOT announce everyone offline when you first login. + - Multiple WATCHes are sent on one line for notifies, to reduce lag. + - Added an internal /unban command which takes multiple masks. You + might want to remove the old usercommand (Tobias v. Koch). + - Banlist window now sends multiple modes per line. + - Fixed a memory leak in perl (Martin Persson). + - Removed the tooltip for userlistinfo, it seemed to cause corruption + on some gtk+ themes. + - Made xchat not interpret %C,%B etc when percascii is OFF, .e.g: + /set percascii OFF + - Fixed ops/voice counts when networks allow you to voice/op people + that are already voiced/oped (like EFnet). + - Fixed building with --disable-glib. + - IPv6 reverted to off by default, use --enable-ipv6 to enable. + - Win32 fixes: dcc send/recv now works and fixed a bug in loading + some .conf files by using the O_BINARY flag. + - Changed the xchat icon - old one was a bit too dark. + - Updated Greek translation (Fanis Dokianakis). + + +---------------------------------------------------------------------- + 1.7.7 +---------------------------------------------------------------------- + + - Re-added support for '+' channels when there's no 005 numeric. + - Made the new $3 null terminated (works better that way). + - Fixed Doubleclick-user when disabling userlist icons. + - Fixed SSL build. + - Win32 port (some code from Alex Badea's 1.5.11win32 port used). + - More code cleanups, removed all extern prototypes from fe-gtk/. + - Titlebar text now shows unknown channel modes too. + - Made persist chans work with /reconnect aswell. + - Avoid pastes of common unix directories being treated as irc + commands (Chema Celorio). + - Removed the Delete word forward/backward functions from + KeyBindings. GTK handles these already, why were they ever there? + - Made %h work for dialog windows' popup menu too. + - Fixed treeview not setting channels red and blue. + - The info above the userlist now gets a tooltip which gives you + some extra info. + - The nickgad (to the left of your nickname) now gets a text prefix + char if userlist icons are disabled. + - Timestamp format is now configurable in Setup->IRC Input/Output. + + +---------------------------------------------------------------------- + 1.7.6 +---------------------------------------------------------------------- + + - xtext: tweaks to make url highlights less flickery. + - Added some support for ircd numeric 005. MODES>=6, CHANTYPES, + CHANMODES, WATCH and PREFIX are supported. This means dynamic + support of different channel and user modes. The userlist icons + only support *@%+ though (admin, op, half op, voice), will have to + find a way to make these dynamic in the future. Also, made a new + file modes.c and rewrote mode handling in general to support this, + so what did I break? + - Added option 'Userlist icons' (default ON). Lets you turn off + userlist icons for ops, voice etc and get the plain text @+ (in + Setup->Interface). Might be useful for ircd's that have weird + and wacky access levels. + - Added support for WATCH command for use in notify list. Numeric 005 + must list WATCH for this to work. + - Added an extra arg $3 for channel message printevents. This is the + prefix char of the person talking, e.g. '@' for Ops. + - Resolve irc-server name only if using a non-socks4 proxy. This + allows you to connect even with a non-working dns. Also made the + socks5 code more "correct" (Richard Fuchs). + - Some code cleanups, got rid of most of the extern functions in c + files and moved them to h files. + - Perl has a valid context at startup again (broken in 1.7.4). + - Fixed leak of awaymessages for "Show away once" feature. + + +---------------------------------------------------------------------- + 1.7.5 +---------------------------------------------------------------------- + + - Fixed some buggy catalogs for gettext 0.10.37 (OpenBSD users). + Compiling with 0.10.35 will now break, there's always + ./configure disable-nls. + - Fixed python autoloading due to new serverlistcode (Richard Fuchs). + - Made perl/python/plugins autoload when first irc window is open + (rather than when serverlist opens), incase they need to print. + - Changed serverlist opening behaviour. It now obays the + 'No ServerList on startup' setting regardless of auto-connects. + - Fixed buggy Quit menu item (1.7.4 bug). + - DCC cleanups, including some endian fixes. + - DCC windows don't go to front when new xfers appear (1.7.3 bug). + - Rewrites to a few vital xtext functions. This seems to have speed + up rendering with a FontSet and fix the -/+1 line bug. + - Fixed Shelltab not opening sometimes (actually a 1.7.4 ipv6 bug). + - Added ability to change font for Shelltabs only: + /set font_shell + + +---------------------------------------------------------------------- + 1.7.4 +---------------------------------------------------------------------- + + - On startup, serverlist now opens without any other windows, looks + neater, less confusing for newbies. If you disable serverlist at + startup, a normal irc will open instead. + - Made a few things more userfriendly, "DCC Send" -> "File Send". No + need to refer to the protocol in the GUI! + - Fixed a xtext bug rendering a background color of 1 incorrectly. + - Unprintable characters used to cause problems to xtext (who would + have thought gdk_char_width returns a different value to + gdk_text_width?) - fixed. + - xtext renders only once when switching tabs (used to render twice + because gtk gives us 2 expose signals, why?). + - When you change your nick it changes in the titlebar now too. + Server name is now reported in dialog windows' titlebar. + - Having Strip mIRC Color ON will now strip it from dcc chats too. + - Added (really this time) perl functions add_user_list, + sub_user_list, clear_user_list for manipulating the userlist of a + channel (Lloyd Williams). + - Various code cleanups, including a rewrite of the IPv6 code. + Removed /6server and 'Use IPv6' check-box in the serverlist. It + automatically handles IPv6/IPv4 addresses now. + - Added a check-box in the serverlist edit window for "Use Proxy". + + +---------------------------------------------------------------------- + 1.7.3 +---------------------------------------------------------------------- + + - Added server hostname as $3 for quit print event (Bjorn Olievier). + - Some fixes to the gnomepanel code. Panel no longer asks to restart + applet on quit, removing the applet doesn't exit xchat (George). + - Fixed fd leaks in /exec and python (Richard Fuchs). + - user@host gets logged in query windows (Richard Fuchs). + - Fixed the 'Marked Away' & 'Save Settings on exit' check menu items + (when using --disable-gnome). + - Workaround for ipv6 build failing on some glibcs (Tobias von Koch). + - DCC won't try to resume if local file is bigger than remote offer. + - Fixed xtext drawing/wordwrap and textmarking bugs. + - Horizontal scrollbar appears in channellist window when needed. + - Fixed color paste. Does this affect multibyte pasting? Please + report (Darell Tan). + - Fixed titlebar text for notices/snotices tabs. + - The topic box gets a tooltip of the current topic. + + +---------------------------------------------------------------------- + 1.7.2 +---------------------------------------------------------------------- + + - Fixed some Python mem leaks and signal/event handlers can now + return non-null integer to tell xchat to stop processing the event + (like perl handling functions) (Richard Fuchs). + - Got rid of the Linger timeout. This was a lame solution to stop the + loss of QUIT messages when closing the socket too early. Now xchat + just delays closing sockets by 5 seconds (even on quiting the app). + No more 1 second delay when you close a tab or the whole app! + - Fixed some memory leaks in the banlist window. + - Added 'B' channel-mode button to access the banlist. + - Added Turkish translation (Ozgur Dogan GUNES). + - Updated Spanish translation (Antonio de la Torre). + - Fixed the throttle setting (which was reversed! who did that?). + - Added IRC::notify_list. (Matthew Gabeler-Lee). + - Don't crash when bind fails for dcc send. + - Don't send garbage to server when ban_type is invalid. + - Rewrote a whole heap of bad code in maingui.c. When opening a new + tab/window it always uses the same functions instead of having the + code repeated a few times. This is pretty big so expect some things + to break. This also means dcc/chanlist etc tabs get the < > buttons + too. + - /KICKBAN now deops users first (Tobias von Koch). + + +---------------------------------------------------------------------- + 1.7.1 +---------------------------------------------------------------------- + + - Turning off server tabs should work again (1.7.0 bug). + - Some ipv6 fixes. + - Added a few TextEvents that used to be hardcoded. + - Updated jcode (Takuo Kitame). + - Fixed possible crash in palette window (1.7.0 bug). + - Rewrote the EscapeCode->mIRC color conversion for /exec. + - Added option to explicitly set your dcc IP (Jim Seymour). + - Added Opera and w3m to default URL Handlers. + - New serverlist/window icon - just for a change. + - Updated Korean translation (Kim SeungBaeck). + - Added hook_timeout to the XChat.XChat() python class so you can + XChat.XChat().hook_timeout(delay, handler). It is a one time + function like the perl version (Donald Kjer). + - /RECONNECT can now takes args like /SERVER, the difference + being that it'll rejoin all your channels (Angel). + + +---------------------------------------------------------------------- + 1.7.0 +---------------------------------------------------------------------- + + - Updated German translation (Benedikt Roth). + - Updated Spanish translation (Antonio de la Torre). + - Updated Japanese translation (Takuo Kitame). + - Added Norwegian translation (Kjartan Maraas). + - Fix for bug in 1.4.x serverlist.conf loading. + - Away status and reason is re-send to the server if you get + disconnected (Daniel Rall). + - Added option to have one tab for notices, configurable under + Inferface/Window layout (Alex Badea). + - Added another meter component that measures the server send queue + from the throttle system (pref: throttlemeter), added UI support + for showing the lag and throttle as either progress bars, info + boxes, both, or none (Alex Badea). + - Added a command to flush the send queue (/FLUSHQ) and one for + forcing a new lag check (/LAGCHECK) (Alex Badea). + - Added option 'persist_chans', when ON once a session is created + for a channel, no other channel will be assigned to that session, + regardless of any parts or kicks (Alex Badea). + - Compile errors while loading a perl script are printed on the main + window. Warnings issued by perl scripts are also printed on the + main window. This allows script writers to use the perl command + 'warn' to point out strange things. Perl errors no longer make + xchat crash. The error message is written on the main window and + the command execution is stopped (Frodo Baggins). + - Added IPv6 support for making server connections. See + ./configure --enable-ipv6 and /6SERVER command (\\bonxo\\@IRCnet). + - Added Banlist window (Salvatore Insalaco). + - You can now specify which dir ssl is in, e.g.: ./configure + --enable-openssl=/usr/local/ssl (Richard Fuchs). + - Added InterScan proxy traversal support (is this the correct name + for this proxy? Looks like a httpd proxy to me) (Alex Riesen). + - Added Japanese code conversion support, see ./configure + --enable-japanese-conv (Takuo Kitame). + - xtext: smooth (pixel-based) scrolling. + + +---------------------------------------------------------------------- + 1.6.4 +---------------------------------------------------------------------- + + - Fix for using a DCC port range (Lawrence Gold). + - Fix for building on UnixWare 7 (Ronald Joe Record). + - Added Chinese translations - zh_TW.Big5 and zh_CN (Kevin Peng and + Anthony Fok Tung-Ling). + - Added Finnish translation (Jarkko Ranta). + - Revamped the default URLHandlers to add Galeon and Mozilla. + - Clicking Accept on a DCC chat that you offered would loop - fixed. + - Fixed percentage display for DCC receive (Matthew Gabeler-Lee). + - Fixed bug in indent and timestamps (Dmitriy Zavin). + - Fixed crash bug in xchat-text and DCC send being aborted remotely. + - Made /lastlog more efficient for very large scrollback buffers. + - Beep on private actions too (Richard Fuchs). + - /MSG'ing a channel or nick will show up in the destination tab + instead (Richard Fuchs). + + +---------------------------------------------------------------------- + 1.6.3 +---------------------------------------------------------------------- + + - Updated Swedish translation (Christian Rose). + - Updated Spanish translation (Antonio de la Torre). + - Right-click toggle menu items used to crash under gnome (bug in + gnome-libs?) - work around. + - xtext: Efficiency improvements: text mark, word and line select. + - xtext: fixes for multibyte characters (UNO Takeshi). + - Fixed bug in resizing a tinted-transparent window (deb bug #79674). + - Some OS2 compilation fixes (pla). + - Fixed PONG parsing (Stefano Barbato). + - Fixed a leak of file descriptors. + - Fixed /ALLSERV. + - Fixed /BAN to replace ~ with * in username (Stefan Scholl). + - Fixed /ME through DCC CHAT while not connected to server (#81031). + - Work-around for UnrealIRCd's duplicate /NAMES bug. + - Fixed DCC receiving filenames with spaces. + + +---------------------------------------------------------------------- + 1.6.2 +---------------------------------------------------------------------- + + - xtext: Fixed the mark-clear bug (gnome bug #34584). + - Updated German translation (Tamer Fahmy). + - Commas are replaced with %2c in URLs, as to not confuse poor old + Netscape (deb bug #70905). + - Bluestring to 300 chars (deb bug #79138). + - Added option /SET percascii, which can disable/enable translation + of %XXX into an ascii value while typing (deb bug #76122). + - New hotkey hook: key_action_put_history. Only inserts line into + history, but doesn't send it to the server (DaP). + - Lots of SSL updates: + * Make accept_invalid_cert optional on /sslserver (DaP). + * Print verbose information of SSL session on connect (DaP). + * Clean up code at X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT checking + (DaP). + + +---------------------------------------------------------------------- + 1.6.1 +---------------------------------------------------------------------- + + - xtext: Fixed lockup with certain sized fonts. + - xtext: Made some changes to improve efficiency when using really + large scrollback buffers (only noticable when doublebuffer off). + - Fixed a bug in /help crashing on longer than 10 char UserCommands. + - Fixed autoreconnect while using a proxy server. + - Never-give-up ReConnect does just that (even more so than before :) + - Fixed the channelmode buttons mouse-over problem. + - Fixed percentage display for large files in dcc recv/send gui. + - StartTime in dcc chat gui no longer Jan 1 1970. + - Fixed DCC send behind IP-Nat (Bernhard Valenti) + . + - Added Lithuanian translation (Gediminas Paulauskas). + - The < > buttons arn't shown for non-tab windows (Aaron Lehmann). + - Fixed the (-1,-1) transparency problem for non-tab windows. + + +---------------------------------------------------------------------- + 1.6.0 +---------------------------------------------------------------------- + + - xtext: More efficient handling of expose events, text marking and + url highlighting when double buffer is OFF. + - xtext: Fixed a very rare bug that could cause BadGC errors or the + separator bar not to be drawn. + - Fixed crash in right-clicking URLs in the URL Grabber window. + - If Check-For-Replace is in the keybindings for Return, it'll + actually work again. + - USER login command now sends your nodename instead of 'localhost' + to please some IRCNet servers. + - Updated Swedish translation (Christian Rose). + + +---------------------------------------------------------------------- + 1.5.11 +---------------------------------------------------------------------- + + - Updated Slovak translation (Stano Visnovsky). + - Updated Swedish translation (Christian Rose). + - Updated Greek translation (Fanis Dokianakis). + - Updated Spanish translation (Antonio de la Torre). + - If Never-Give-Up Reconnect is ON, it won't give up on DNS failer. + - '/me is back' is sent again when Announce Away Messages is ON. + - If channelmode buttons were OFF and you joined a channel with a + userlimit xchat would crash - fixed. + - /sslserver's password arg. is now optional (Daniel Richards). + - SSL accepts self signed certs (Daniel Richards). + - Fixed the unnecessary window resizes when opening a new tab. + - Changed the tinting code a bit (thanks gnapster :). + - Transparent shell tabs update too when they are moved. + + +---------------------------------------------------------------------- + 1.5.10 +---------------------------------------------------------------------- + + - Added "Enable double buffer" toggle in Setup->Channel windows. + - Double buffer is now OFF by default (seems to use less CPU). + - Timestamps didn't turn ON while indent was OFF - fixed. + - Updated Swedish translation (Christian Rose). + - Added some extra text events: Channel Msg hilight, Channel + Action hilight (near top of the list). No more cardcoded color + codes! Also hilighting in actions works, and you can make the whole + message hilighted if you change the event text. + - Initial window size is actually set to your settings (this will + never be perfect I guess, sometimes to the window still resizes + itself without warning). + - Hidemenubar setting didn't work properly for non-tabs and when + delinking windows - fixed. + - Notices appear in front tab even when server tabs are enabled. + - Changed Away behaviour again. No more /back, /away with no args + brings you back. The menu-item's state is what the server tells + it, it even changes when you switch tabs to another server. Xchat + assumes you are not away when you first connect. irc::get_info(5) + returns the away state. One day the other UserModes menu items will + show correct states. Is everyone happy now? + - Translation tables didn't work for outgoing text - fixed. + - Cleaned up a few xchat.conf names, a few settings may not load up + from 1.5.9 - just set them again. + + +---------------------------------------------------------------------- + 1.5.9 +---------------------------------------------------------------------- + + - Updated Spanish translation (Antonio de la Torre). + - Added Hebrew translation (Dan Fruehauf). + - Fixed crash bug when partreason was not set. + - Dialog tabs obay the hidetopicbar setting now too (the one in the + right-click menu). + - Cleaned up the settings gui: the whole window is more compact now, + some toggles in two columns, numbers use a spin-button, entry boxes + are larger and option-menus are more consistant. + - The "o=xx v=xx t=xx" display is finally changed. + - Changed most of xtext.c to use gdk instead of Xlib. + - Added configure option: + --disable-xlib disable use of xlib (for non X11 systems) + This might help compile xchat on other GTK supported systems like + BeOS and Win32 (havn't tried it though). + - Neater /set list. + - You can now set a nickname per server (see serverlist edit window). + - Changed the behaviour of /away and added /back (James Crawford). + - Away reason can now be a text file of random reasons too. + + +---------------------------------------------------------------------- + 1.5.7 -> 1.5.8 +---------------------------------------------------------------------- + + - Updated Spanish translation (Antonio de la Torre). + - Updated Swedish translation (Christian Rose). + - Updated Greek translation (Dokianakis Fanis). + - Updated German translation (Tamer Fahmy). + - Added Catalan translation (Pablo Saratxaga). + - Added option "Always timestamp logs" which timestamps log files + even if on-screen timestamps are off (Mike Guidero). + - Added entry "Part Reason: ". Also part and quit reasons can be + a filename of random reasons (filename relative to ~/.xchat/). + - Took out /unban as a internal command, add it as a usercommand + /quote MODE %c -b &2 instead. + - Added a text event for banlist. Try /banlist and it'll be a bit + more readable now. + - Changed output throttle system (undernet style) (Alex Badea). + - Added 1 second linger socket option to stop QUIT msgs from being + lost (they still get lost sometimes, why?). + + +---------------------------------------------------------------------- + 1.5.6 -> 1.5.7 +---------------------------------------------------------------------- + + - Fixed transparency-leak problems in 1.5.6 + - New code to create shaded transparency, taken from latest zvt. + (is it better?) + - URL handlers are now executed without a shell. + (http://www.securityfocus.com/vdb/bottom.html?vid=1601) + - Fixed a bug in xchat.conf and serverlist.conf loading. + - When spliting msgs (longer than the IRC 512 limit), it used to + loose some chars - fixed. + - Added feature to choose DCC port range (Lars Sundqvist). + - Fixed perl-stack overflow probs in irc::userlist() and others. + Added perl functions user_list_short() and perl_script_list() + (Mike Guidero). + - MHz is now detected on FreeBSD 4.x/5.x (Jonathan Perkin). + - It's now possible to "/dcc close chat nick" within a DCC perl + input handler without crashing xchat. (Geoffrey Higginson). + - Fixed a problem with the usermenu not updating sometimes. + + +---------------------------------------------------------------------- + 1.5.5 -> 1.5.6 +---------------------------------------------------------------------- + + - Added option pingtimeout, which pings the server instead. + /set pingtimeout 90 is default (small values will malfunction). + You also need the lagometer enabled for this to work. + - No longer using fnmatch() for ignore etc (because the way it + handles [ and ]). Using function from ircu2.10.08. + - Some fixes to code & configure.in to make it compile using + Solaris C (Albert Chin). + - New Spanish translation (Antonio de la Torre). + - New Russian translation (Alex Samorukov). + - New Hungarian translation (Horvath Szabolcs). + - Added Portuguese translation (Vitor Antunes). + - Added Slovak translation (Martin Pekar). + - Added /allserv and /allchan . They send a command to + all currently connected servers and joined channels. Also added + usercommands /ame and /amsg which make use of this. + - Added sock5 traversal, see Setup->Proxy Server (Alex Badea). + (The numbers for proxy_type are now 0=disabled, 1=wingate, + 2=socks4, 3=socks5). + - A few more buffer overflow checks (nick & channel length). + - Mapped mIRC color 99 to "no background" (mIRC lame!). + - Some efficiency tweaks to xtext. + - Added SSL support (see --enable-openssl and /help server) (DaP). + This seems to be highly experimental, as I don't know of any IRC + servers that can do SSL yet. + - Changed history behaviour, more like GNU (DaP). + i.e. Doesn't wrap and the bottom line is blank. + - Added option "InputBox Always In Focus" (DaP). + - Added option "Show Nickgad" (DaP). + - Added option "Show invites in the active Window" (DaP). + - Added option "Send /Whois" in notifies section, which sends a + /whois when someone comes online (DaP). + - Added an event for numeric 341, you inivited someone (DaP). + - Title bar text changed/improved a bit (DaP). + - Added actions for EditKeyBindings: MoveFrontTabLeft and + MoveFrontTabRight, like the <> buttons, but for keyboard (DaP). + - Implemented timeout events in the text frontend (Alex Badea and + fixed by me :). + - Dcc Recv/Send tabs won't resize the window when open. + - Added configure option --disable-glib. + - Transparent windows update when background changes (Aaron Lehmann). + - serverlist.conf is slightly changed! You WILL be able to load your + old 1.5.5 or 1.4.x server list, but older versions WON'T load lists + from 1.5.6, so backup your serverlist.conf if you need to. + + +---------------------------------------------------------------------- + 1.5.4 -> 1.5.5 +---------------------------------------------------------------------- + + - Fix for show/hide menu under gnome. + - Added -a and --noauto arg (don't auto connect to any servers). + - Added internal /list command, which sends the correct args according + to ircd type (it detects undernet and dalnet to send >0,<10000). + Remove any old /list usercommands you might have. + - /op /deop ... etc send up to six modes per line if using undernet. + - As discussed in the mailinglist, changed DCC resume to send and + expect to receive ACKs as an absolute, rather than an offset from + the resume point. It *should* work with mIRC now, but break with + old versions of xchat and probably BitchX. + - Added option "Limited Tab Highlighting" (Francis Litterio). + + +---------------------------------------------------------------------- + 1.5.3 -> 1.5.4 +---------------------------------------------------------------------- + + - Lack of gdk_pixbuf is detected correctly now (configure script). + - textmarking is no longer a timeout event, is this better or worse? + - Added Turkish translation (Fatih Demir). + - Added Russian translation (Valek Filippov). + - Added Ukrainian translation (Yuri Syrota). + - Added configure option --disable-zvt. Also, zvt shell tab can be + compiled in even without gnome (and is by default, if gnome-config + can be found to provide the LDFLAGS). + - Added "Delete Word Forward" function in Edit Key Bindings. Bind + this to Alt-d for that emacs feel (Francis Litterio). + - Ping times show one extra decimal place. + - You can now hide the menubar too, click left mouse in the text area + to get a popup version of the menu (middle mouse in dialogs). + - Added the proxy settings to the GUI, Setup->IRC->Proxy Server. + - Added a keyword TOGGLE for usermenu. Delete your old usermenu.conf + to see the new default one. + - Configure script now cleans up the CFLAGS & LDFLAGS (removes + duplicate words), let's hope this doesn't break on some boxses. + + +---------------------------------------------------------------------- + 1.5.2 -> 1.5.3 +---------------------------------------------------------------------- + + - Fixed a rare overflow bug in auto_insert(). + - Pressing OK in the settings window on slow machines (p233?) was + pretty slow, maybe it's faster now. + - Corrected some inputgad behaviour (Aaron Lehmann). + - Fix for 64bit machines (alpha) in xtext (word clicks). + - Updated German translation (Benedikt Roth). + - Updated Danish translation (Birger Langkjer). + - If you disconnect (/discon, /quit...) a server during the reconnect + delay, it is actually removed now. + - Added option "Give the userlist style" (DaP). + - Translation tables support can be turned off (--disable-trans), for + you minimalist freaks. + - Added Hebrew support, compile time: --enable-hebrew, run time: + /set hebrew 0/1 (Dan Aloni). + - Added new setting, "nick completion character" (Francis Litterio). + - Added new setting, "Old-style Nickname Completion", which makes it + act much like 1.4.x (Francis Litterio). + - Added "Delete Word" function to EditKeyBindings (Francis Litterio). + - Now using gdk-pixbuf for decoding pictures and tinted transparency. + (Tints don't seem to work 100% yet). (Andreas Persenius). + - Added halfop support (mode +h). This includes support in the + userlist, /hop, /dehop, /mdehop and new textevents (Elizandro G. Roos). + + +---------------------------------------------------------------------- + 1.5.1 -> 1.5.2 +---------------------------------------------------------------------- + + - --disable-gnome should work again. + - Fixed a bug in right-click nick menu. + - Should compile with glibc 2.1.3 (no more 'struct user' errors). + - Added Romanian translation (Dan Damian). + - CTCP flood protection won't kick in for ACTIONs. + - Removed the theme code. + - Made pixmaps.c, all code to decode/free/etc pixmaps is in here. + - WM_HINTS icon is set for the app. + - Removed the "-c" flag (it's automatic now). + + +---------------------------------------------------------------------- + 1.5.0 -> 1.5.1 +---------------------------------------------------------------------- + + - Shell tabs are now delinkable. + - Added a "show/hide topic bar" button (bottom right), I didn't know + where else to put this. + - Hidding the userlist is saved and any new tabs/windows open will + have the userlist hidden. + - You can now turn off/on perl warnings with /set perlwarnings 0/1. + - Tab-key nick completion even more like GNU readline (Gerard Daubar). + - Rewrote the function that handles %variables in userlist buttons, + user commands and ctcp replies (all use the same function now), + please report any bugs (especially if someone can overflow you from + remote ;) - as a consequence, you can use % and & (word/word_eol) + for ctcp replies now. Also added %m for machine info. + - Nickname-popup-menu, URLmenu and Usermenu all use the same code now + (it means you can make submenus in all 3). + - Double eval back in perl.c + - Dialogs/querys also have a toolbox button (just for consistancy). + - Added lagometer (/set lagometer 0 to turn it off), this isn't quiet + finished yet (and doesn't work on IRCNet because it refuses to + reply to pings correctly). + + +---------------------------------------------------------------------- + 1.4.2 -> 1.5.0 +---------------------------------------------------------------------- + + - Some changes & cleanups to the parser code (inbound/outbound). + - Ran all source through indent, using: + indent -bli0 -bls -ce -ts3 -i3 + (please use this in your patches, I used GNU indent 2.2.4). + - If you send a message (channel or query window) longer than 512 + bytes (maximum allowed by the ircd) it will be split into two + smaller messages instead of being truncated. + - Some gui touchups and changes. + - You can now enable/disable the output throttle with /set throttle. + - Added /timer. + - Overhauled the ChannelList window (Joshua Gough). + - Added proxy traversal support for socks and wingate, no gui yet so + use /set proxy_host, proxy_port, proxy_type (1=socks, 2=wingate). + - Added /userlist. + - Opaque-window-move used to be slow on some windowmanagers even + with transparency turned off - fixed. + - Tab-key completion is more like GNU readline (Wes Peters). + - Now possible to use modules in perl scripts (Andreas Scherbaum). + - irc::get_info(4) returns the current xchat dir (Mike Guidero). + - Added irc::get_prefs() (returns a /set variable) (Leo Cacciari). + - /set is now possible. + - Added Show-Userhost-in-Userlist option (Nicolas Dimitrijevic). + - Build tree cleaned up so 'make dist' can work. + - Added flood protection from CTCP and mass-dialogs-opening (Bruj0) + rdiazleven@ubp.edu.ar. (see variables *_limit). + + +---------------------------------------------------------------------- + 1.4.1 -> 1.4.2 +---------------------------------------------------------------------- + + - Compilation fixes for IRIX (David Kaelbling). + - Compilation fixes for AIX (Rodrigo Barbosa). + - Compilation fixes for OpenBSD. + - Should now compile with certain beta/alpha versions of Perl. + - "Scrollbar snapping to top" bug fixed. + - Corrected some text marking behaviour. + - Made use of fnmatch(), if available (for chanlist, ignore etc). + - Configure script is now generated with a sane version of autoconf. + - Alt-minus and Alt-plus now wrap around (AGL). + + +---------------------------------------------------------------------- + 1.4.0 -> 1.4.1 +---------------------------------------------------------------------- + + - Fixed a bug that could make new text not appear while marking text. + - xtext: Further improved performance when double buffering is turned + off (marking text & URL hilights are almost flicker free). + - xtext: Double buffer is now freed at each render operation, this + should reduce memory usage if you have many tabs open. + - If you closed a server while it was in the reconnect-delay, xchat + would crash - fixed. + - No more zombies when doing /discon while connection in progress. + - Added "/clear all" command (Paul de Regt). + - Hilights only work on full word matches now (Brendan O'Dea). + - Some Solaris compilation fixes (David Morgan). + - Danish translation updated (Birger Langkjer). + - Italian translation updated (Stefano Fava). + - Greek translation added (Fanis Dokianakis). + - Dutch translation upated (Arjan Scherpenisse). + - Removed some very old translations: fr_CA, no, pl, ru and sv. + (If someone wants to update these, you're welcome to). + - Channel mode "+h nick" (half Op) is now reported correctly (still + not supported in the userlist though). + - Having indent nicks OFF in channel windows and ON in dialog windows + didn't work - fixed. + - Sometimes ignores wouldn't save - fixed. + + +http://www.xchat.org diff --git a/HACKING b/HACKING new file mode 100644 index 00000000..8f45aff5 --- /dev/null +++ b/HACKING @@ -0,0 +1,51 @@ +Just some tips if you're going to help with xchat code (patches etc): + +* Use tabs, not spaces, to indent code. + +* Use a tab size of 3 (most editors will let you choose this). + Type :set ts=3 in vim/gvim. + +* Try to stick to the same consistant coding style: + +void +routine (void) +{ + if (function (a, b, c)) + { + x = a + 1; + } +} + + (vertically aligned braces, a space after if, while, functions etc). + +* Don't use "//" C++ style comments, some compilers don't like them. + +* When opening a file with unix level functions (open, read/write, close) + as opposed to the C-level functions (fopen, fwrite/fread, fclose), use + the OFLAGS macro. This makes sure it'll work on Win32 aswell as unix e.g: + + fh = open ("file", OFLAGS | O_RDONLY); + +* Use closesocket() for sockets, and close() for normal files. + +* Don't read() from sockets, instead use recv(). + +* Please provide unified format diffs (run diff -u). + +* Call your patch something more meaningfull than xchat.diff (I get a + million of these files!). + +* To make a really nice and clean patch, do something like this: + +Have two directories, unpacked from the original archive: +xchat-2.0.0/ +xchat-2.0.0p1/ +Then edit/compile the xchat-2.0.0p1 directory. When you're done, make +a patch with: + +cd xchat-2.0.0p1 +make distclean +cd .. +diff -urN xchat-2.0.0 xchat-2.0.0p1 > xchat-something.diff + +If using nmake (Windows) replace "make distclean" with "nmake -f makefile.msc clean" \ No newline at end of file diff --git a/INSTALL b/INSTALL new file mode 100644 index 00000000..2773a1ce --- /dev/null +++ b/INSTALL @@ -0,0 +1,49 @@ +X-Chat Requirements: +~~~~~~~~~~~~~~~~~~~~ + + - GTK 2.6+ (it comes with your Linux) + + Optional: + + - Perl (http://www.perl.org) + - Python (http://www.python.org) + - TCL (http://tcl.activestate.com) + - OpenSSL (http://www.openssl.org) + + + +X-Chat Compiling and Installation: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Type this: + + ./configure + make + +Become root and type: + + make install + + +Other Options +~~~~~~~~~~~~~ + +To get a full list of compile options, type: + + ./configure --help + + +If you do not have GNU Gettext installed, instead use: + + ./configure --disable-nls + + +If you want to disable Perl you can do: + + ./configure --disable-perl + + +If you want to install a smaller stripped binary (without debug) do: + + make install-strip + diff --git a/INSTALL.w32 b/INSTALL.w32 new file mode 100644 index 00000000..846741a0 --- /dev/null +++ b/INSTALL.w32 @@ -0,0 +1,117 @@ +COMPILING ON WIN32 +~~~~~~~~~~~~~~~~~~ +It is not easy! Be warned! You need either one of these compilers: + + * Mingw (http://www.mingw.org) + * MS Visual C + +Note: This source code is meant for Linux/Unix like systems. Compiling this for +Windows will produce a below-par quality product. The official XChat for Windows +is not built with this unix source code. + + +Getting GTK +~~~~~~~~~~~ + +You also need GTK+ 2.10 for win32. Altough the GTK packages from the GIMP +website are larger and harder to install they work very well. + + 1) Get the following packages from: + http://www.gimp.org/~tml/gimp/win32/downloads.html + + - gtk+-2.4.3.tar.gz + - gtk+-dev-2.4.3.tar.gz + - dirent.zip + - gettext-runtime-0.13.1.zip + - gettext-tools-0.13.1.zip + - atk-1.6.0.zip + - atk-dev-1.6.0.zip + - pango-1.4.0.zip + - pango-dev-1.4.0.zip + - libpng (http://gnuwin32.sourceforge.net/packages/libpng.htm) Binaries & Developer files. + - GNU libiconv (Not source files) + - glib-2.4.2.zip + - glib-dev-2.4.2.zip + - pkgconfig-0.15.zip + - Zlib121-dll.zip + + 2) Extract all files to a suitable place such as c:\devtools + + 3) Windows 2000, XP & 2003 users: + - Start->(Settings->)Control Panel->System Applet + - Advanced Tab->Environment Variables + - Under "User variables for " append ";C:\devtools" to the end of the PATH Variable + - Click Ok twice and close the Control Panel + + For Windows 9x users your basicly on your own for now. + + +Mingw +~~~~~ + + I havn't tried this yet, but ./configure --disable-xlib would be a start. + + +MS Visual C +~~~~~~~~~~~ + + + 1) Edit src\makeinc.msc + + You need to change the variables GLIB, GTK and LIBS to point + the correct paths for your harddrive. Use the program pkg-config + to find this information. + + a) paste the output of `pkg-config glib-2.0 --msvc-syntax --cflags` + to the GLIB = ... line. + + b) paste the output of `pkg-config gtk+-2.0 --msvc-syntax --cflags` + to the GTK = ... line. + + c) paste the output of `pkg-config gtk+-2.0 --msvc-syntax --libs` + to the LIBS = ... line. + + 2) In MSVC's includes directory, copy io.h to unistd.h. + + MS VC++ 6 + ~~~~~~~~~ + + 3) Download Platform SDK from http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ + (you only need Core SDK) - ~200 MB Download (Be warned). + 4) Open the build enviroment. + + a) If your planning on developing modifications to the xchat code go: + Start->Programs->Microsoft Platform SDK...->Open Build Enviroment...->(Choose OS)->... (Debug) + + b) If your compiling just to use xchat and wish to no recieve debug messages: + Start->Programs->Microsoft Platform SDK...->Open Build Enviroment...->(Choose OS)->... (Retail) + 5) Change directory into where you have download the xchat source to and type this: + cd src + nmake -f makefile.msc clean + nmake -f makefile.msc + 6) Copy fe-gtk\xchat.exe to another place. + MS VC++ 7 (.NET) + ~~~~~~~~~~~~~~~~ + + 3) Open the Visual Studio .NET Command Prompt + + 4) Change directory into where you have download the xchat source to and type this: + cd src + nmake -f makefile.msc clean + nmake -f makefile.msc + 5) Copy fe-gtk\xchat.exe to another place. + + +Common problems: +~~~~~~~~~~~~~~~~ + + * gdk-pixbuf-csource must be in PATH. + FIX: See step 3 for setting up GTK + + * You might need to install dirent.zip manually. + FIX: Copy C:\devtools\include\dirent.h to C:\devtools\include\glib-2.0\dirent.h + + * Include path to libintl.h should be in GLIB= (makeinc.msc). + FIX: Copy C:\devtools\include\libintl.h to C:\devtools\include\glib-2.0\libintl.h + + diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 00000000..f86b4ed7 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,12 @@ +## Process this file with automake to produce Makefile.in + +SUBDIRS = po intl src plugins + +EXTRA_DIST = autogen.sh HACKING INSTALL.w32 faq.html xchat.png \ + xchat.desktop xchat.spec config.h.w32 xchat.ico + +icon_DATA = xchat.png +icondir = $(datadir)/pixmaps + +util_DATA = xchat.desktop +utildir = $(datadir)/applications diff --git a/README b/README new file mode 100644 index 00000000..809a903c --- /dev/null +++ b/README @@ -0,0 +1,103 @@ +X-Chat README +~~~~~~~~~~~~~ + X-Chat ("xchat") Copyright (c) 1998-2010 By Peter Zelezny. + + This program is released under the GPL v2 with the additional exemption + that compiling, linking, and/or using OpenSSL is allowed. You may + provide binary packages linked to the OpenSSL libraries, provided that + all other requirements of the GPL are met. + See file COPYING for details. + + +What is it? +~~~~~~~~~~~ + X-Chat is an IRC client for UNIX operating systems. I.R.C. is Internet + Relay Chat, see http://irchelp.org for more information about IRC in + general. Xchat runs on most BSD and POSIX compliant operating systems. + + +Requirements: +~~~~~~~~~~~~~ + * GTK+ 2.10 (this is available at http://www.gtk.org). + + X-Chat is known to work on, at least: + + * Linux + * FreeBSD + * OpenBSD + * NetBSD + * Solaris + * AIX + * IRIX + * DEC/Compaq Tru64 UNIX + * HP-UX 10.20 and 11 + * MacOS X + * Windows XP/2000/Vista/7 + + +Notes for packagers: +~~~~~~~~~~~~~~~~~~~~ + + If you need your packages to work on i386, you don't need to compile with + --disable-mmx, because it's also checked at run-time. + + +Python Scripts: +~~~~~~~~~~~~~~~ + Scripts for 1.8.x are not compatible, and a brand new interface has be + written. Documentation can be found here: http://xchat.org/docs/. + Consider using the Python interface for your scripts, it's a very nice + API, allows for loading/unloading individual scripts, and gives you + almost all the features of the C-Plugin API. + + +Perl Scripts: +~~~~~~~~~~~~~ + Scripts for 1.8.x are compatible with the following exceptions: + +* IRC::command will not interpret %C, %B, %U etc. + +* user_list and user_list_short: + If a user has both op and voice, only the op flag will be 1. + +* add_user_list/sub_user_list/clear_user_list + These functions do nothing. + +* notify_list + Not implemented. Always returns an empty list. + +* server_list + Lists servers that are not connected aswell. + +* Some print events may have new names and some were added. + +* Text printed by scripts must now be UTF8. + +* Text passed to scripts (via add_message_handler) will be encoded in UTF8. + + +Autoloading Perl Scripts and Plugins +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * X-Chat automatically loads, at startup: + ~/.xchat2/*.pl Perl scripts + ~/.xchat2/*.py Python scripts + ~/.xchat2/*.so Plugins + $(libdir)/xchat/plugins/*.so plugins + (this usually translates to /usr/lib/xchat/plugins/*.so) + + +Control Codes: +~~~~~~~~~~~~~~ + %% - A single percentage sign + %C - Control-C (mIRC color code) + %B - Bold Text + %U - Underline Text + %R - Reverse Text + %O - Reset all Text attributes + %XXX - ASCII XXX (where XXX is a decimal 3 digit number) + (Eg: %007 sends a BEEP) + + %Cforeground,background will produce a color code, eg: %C03,10 + + These are now disabled by default (see Settings > Prefs > Input Box). + Instead you can insert the real codes via ctrl-k, ctrl-b and ctrl-o. diff --git a/acinclude.m4 b/acinclude.m4 new file mode 100644 index 00000000..0c711739 --- /dev/null +++ b/acinclude.m4 @@ -0,0 +1,40 @@ +dnl AS_AC_EXPAND(VAR, CONFIGURE_VAR) +dnl +dnl example +dnl AS_AC_EXPAND(SYSCONFDIR, $sysconfdir) +dnl will set SYSCONFDIR to /usr/local/etc if prefix=/usr/local + +AC_DEFUN([AS_AC_EXPAND], +[ + EXP_VAR=[$1] + FROM_VAR=[$2] + + dnl first expand prefix and exec_prefix if necessary + prefix_save=$prefix + exec_prefix_save=$exec_prefix + + dnl if no prefix given, then use /usr/local, the default prefix + if test "x$prefix" = "xNONE"; then + prefix=$ac_default_prefix + fi + dnl if no exec_prefix given, then use prefix + if test "x$exec_prefix" = "xNONE"; then + exec_prefix=$prefix + fi + + full_var="$FROM_VAR" + dnl loop until it doesn't change anymore + while true; do + new_full_var="`eval echo $full_var`" + if test "x$new_full_var"="x$full_var"; then break; fi + full_var=$new_full_var + done + + dnl clean up + full_var=$new_full_var + AC_SUBST([$1], "$full_var") + + dnl restore prefix and exec_prefix + prefix=$prefix_save + exec_prefix=$exec_prefix_save +]) diff --git a/autogen.sh b/autogen.sh new file mode 100644 index 00000000..4f69c071 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,113 @@ +#!/bin/bash +have_automake=false + +if automake --version < /dev/null > /dev/null 2>&1 ; then + automake_version=`automake --version | grep 'automake (GNU automake)' | sed 's/^[^0-9]*\(.*\)/\1/'` + case $automake_version in + 1.2*|1.3*|1.4|1.4*|1.5*|1.6*|1.7*|1.8*) + ;; + *) + have_automake=true + ;; + esac +fi +if $have_automake ; then + AUTOMAKE="automake" + ACLOCAL="aclocal" +else + if automake-1.9 --version < /dev/null > /dev/null 2>&1 ; then + AUTOMAKE="automake-1.9" + ACLOCAL="aclocal-1.9" + else + echo "automake missing or too old. This requires atleast automake 1.9" + exit 1 + fi +fi + +# ------ START GETTEXT ------ + +echo searching for GNU gettext intl directory... + +dirs="/usr/share /usr/local/share /opt/share /usr /usr/local /opt /usr/gnu/share /opt/local /opt/local/share" +found=0 +for try in $dirs; do + echo -n " -> $try/gettext/intl... " + if test -d $try/gettext/intl; then + echo found it + found=1 + break + fi + echo no +done +if test "$found" != 1; then + echo ERROR: Cannot find gettext/intl directory. + echo ERROR: Install GNU gettext in /usr or /usr/local prefix. + exit 7 +fi; + +echo copying gettext intl files... +if test -f $try/gettext/mkinstalldirs; then + ln -s $try/gettext/mkinstalldirs mkinstalldirs +fi +intldir="$try/gettext/intl" +if test ! -d intl; then + mkdir intl +fi +olddir=`pwd` +cd $intldir +for file in *; do + if test $file != COPYING.LIB-2.0 && test $file != COPYING.LIB-2.1; then + rm -f $olddir/intl/$file + cp $intldir/$file $olddir/intl/ + fi +done +cp -f $try/gettext/po/Makefile.in.in $olddir/po/ +cd $olddir +if test -f intl/plural.c; then + sleep 2 + touch intl/plural.c +fi + +# ------ END GETTEXT ------ + + +echo running $ACLOCAL... +$ACLOCAL $ACLOCAL_FLAGS +if test "$?" != "0"; then + echo aclocal failed, stopping. + exit 2 +fi +echo running libtoolize... +libtoolize --force +if test "$?" != "0"; then + echo libtoolize failed, stopping. + exit 3 +fi +echo running autoheader... +autoheader +if test "$?" != "0"; then + echo autoheader failed, stopping. + exit 4 +fi +echo running $AUTOMAKE... +$AUTOMAKE -a --foreign +if test "$?" != "0"; then + echo automake failed, stopping. + exit 5 +fi +echo running autoconf... +autoconf +if test "$?" != "0"; then + echo autoconf failed, stopping. + exit 6 +fi + +echo if no errors occured, run ./configure --enable-maintainer-mode +exit 0 + +#autogen.sh generates: +# aclocal.m4 Makefile.in config.guess config.sub ltmain.sh +# configure install-sh missing mkinstalldirs depcomp +# +#configure generates: +# config.status libtool Makefile.in diff --git a/config.h.w32 b/config.h.w32 new file mode 100644 index 00000000..24bd394b --- /dev/null +++ b/config.h.w32 @@ -0,0 +1,12 @@ +#define LOCALEDIR "./locale" +#define ENABLE_NLS +#define USE_GMODULE +#define USE_PLUGIN +#define PACKAGE_NAME "xchat" +#define PACKAGE_VERSION "2.8.8-Unofficial" +#define XCHATLIBDIR "." +#define XCHATSHAREDIR "." +#define OLD_PERL +#ifndef USE_IPV6 +#define socklen_t int +#endif diff --git a/config.rpath b/config.rpath new file mode 100644 index 00000000..3f1bef34 --- /dev/null +++ b/config.rpath @@ -0,0 +1,571 @@ +#! /bin/sh +# Output a system dependent set of variables, describing how to set the +# run time search path of shared libraries in an executable. +# +# Copyright 1996-2005 Free Software Foundation, Inc. +# Taken from GNU libtool, 2001 +# Originally by Gordon Matzigkeit , 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# The first argument passed to this file is the canonical host specification, +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld +# should be set by the caller. +# +# The set of defined variables is at the end of this script. + +# Known limitations: +# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer +# than 256 bytes, otherwise the compiler driver will dump core. The only +# known workaround is to choose shorter directory names for the build +# directory and/or the installation directory. + +# All known linkers require a `.a' archive for static linking (except M$VC, +# which needs '.lib'). +libext=a +shrext=.so + +host="$1" +host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + +cc_basename=`echo "$CC" | sed -e 's%^.*/%%'` + +# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. + +wl= +if test "$GCC" = yes; then + wl='-Wl,' +else + case "$host_os" in + aix*) + wl='-Wl,' + ;; + darwin*) + case "$cc_basename" in + xlc*) + wl='-Wl,' + ;; + esac + ;; + mingw* | pw32* | os2*) + ;; + hpux9* | hpux10* | hpux11*) + wl='-Wl,' + ;; + irix5* | irix6* | nonstopux*) + wl='-Wl,' + ;; + newsos6) + ;; + linux*) + case $cc_basename in + icc* | ecc*) + wl='-Wl,' + ;; + pgcc | pgf77 | pgf90) + wl='-Wl,' + ;; + ccc*) + wl='-Wl,' + ;; + como) + wl='-lopt=' + ;; + esac + ;; + osf3* | osf4* | osf5*) + wl='-Wl,' + ;; + sco3.2v5*) + ;; + solaris*) + wl='-Wl,' + ;; + sunos4*) + wl='-Qoption ld ' + ;; + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + wl='-Wl,' + ;; + sysv4*MP*) + ;; + unicos*) + wl='-Wl,' + ;; + uts4*) + ;; + esac +fi + +# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. + +hardcode_libdir_flag_spec= +hardcode_libdir_separator= +hardcode_direct=no +hardcode_minus_L=no + +case "$host_os" in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + openbsd*) + with_gnu_ld=no + ;; +esac + +ld_shlibs=yes +if test "$with_gnu_ld" = yes; then + case "$host_os" in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + fi + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we cannot use + # them. + ld_shlibs=no + ;; + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + cygwin* | mingw* | pw32*) + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + netbsd*) + ;; + solaris* | sysv5*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + sunos4*) + hardcode_direct=yes + ;; + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + esac + if test "$ld_shlibs" = yes; then + # Unlike libtool, we use -rpath here, not --rpath, since the documented + # option of GNU ld is called -rpath, not --rpath. + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + fi +else + case "$host_os" in + aix3*) + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + else + aix_use_runtimelinking=no + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + esac + fi + hardcode_direct=yes + hardcode_libdir_separator=':' + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + esac + fi + # Begin _LT_AC_SYS_LIBPATH_AIX. + echo 'int main () { return 0; }' > conftest.c + ${CC} ${LDFLAGS} conftest.c -o conftest + aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + fi + if test -z "$aix_libpath"; then + aix_libpath="/usr/lib:/lib" + fi + rm -f conftest.c conftest + # End _LT_AC_SYS_LIBPATH_AIX. + if test "$aix_use_runtimelinking" = yes; then + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + else + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + fi + fi + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + bsdi[45]*) + ;; + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + libext=lib + ;; + darwin* | rhapsody*) + hardcode_direct=no + if test "$GCC" = yes ; then + : + else + case "$cc_basename" in + xlc*) + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + dgux*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + freebsd1*) + ld_shlibs=no + ;; + freebsd2.2*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + freebsd2*) + hardcode_direct=yes + hardcode_minus_L=yes + ;; + freebsd* | kfreebsd*-gnu | dragonfly*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + hpux9*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + hpux10* | hpux11*) + if test "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=no + ;; + ia64*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=no + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + *) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + irix5* | irix6* | nonstopux*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + netbsd*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + newsos6) + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + openbsd*) + hardcode_direct=yes + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + else + case "$host_os" in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + osf3*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + osf4* | osf5*) + if test "$GCC" = yes; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + # Both cc and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + sco3.2v5*) + ;; + solaris*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + sunos4*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + ;; + sysv4) + case $host_vendor in + sni) + hardcode_direct=yes # is this really true??? + ;; + siemens) + hardcode_direct=no + ;; + motorola) + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + ;; + sysv4.3*) + ;; + sysv4*MP*) + if test -d /usr/nec; then + ld_shlibs=yes + fi + ;; + sysv4.2uw2*) + hardcode_direct=yes + hardcode_minus_L=no + ;; + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) + ;; + sysv5*) + hardcode_libdir_flag_spec= + ;; + uts4*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + *) + ld_shlibs=no + ;; + esac +fi + +# Check dynamic linker characteristics +# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. +libname_spec='lib$name' +case "$host_os" in + aix3*) + ;; + aix4* | aix5*) + ;; + amigaos*) + ;; + beos*) + ;; + bsdi[45]*) + ;; + cygwin* | mingw* | pw32*) + shrext=.dll + ;; + darwin* | rhapsody*) + shrext=.dylib + ;; + dgux*) + ;; + freebsd1*) + ;; + kfreebsd*-gnu) + ;; + freebsd*) + ;; + gnu*) + ;; + hpux9* | hpux10* | hpux11*) + case "$host_cpu" in + ia64*) + shrext=.so + ;; + hppa*64*) + shrext=.sl + ;; + *) + shrext=.sl + ;; + esac + ;; + irix5* | irix6* | nonstopux*) + case "$host_os" in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; + *) libsuff= shlibsuff= ;; + esac + ;; + esac + ;; + linux*oldld* | linux*aout* | linux*coff*) + ;; + linux*) + ;; + knetbsd*-gnu) + ;; + netbsd*) + ;; + newsos6) + ;; + nto-qnx*) + ;; + openbsd*) + ;; + os2*) + libname_spec='$name' + shrext=.dll + ;; + osf3* | osf4* | osf5*) + ;; + sco3.2v5*) + ;; + solaris*) + ;; + sunos4*) + ;; + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + ;; + sysv4*MP*) + ;; + uts4*) + ;; +esac + +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' +escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` +shlibext=`echo "$shrext" | sed -e 's,^\.,,'` +escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` + +LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' </dev/null` + if test "_$PERL_CFLAGS" = _ ; then + AC_MSG_RESULT([not found, building without perl.]) + perl=no + else + PERL_LDFLAGS=`$perlpath -MExtUtils::Embed -e ldopts |$sedpath 's/-lgdbm //'` + PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-ldb //'` + PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-lndbm //'` + if test "$system" = "Linux"; then + PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-lnsl //'` + PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-lposix //'` + fi + PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-lc //'` + AC_MSG_RESULT(ok) + +# oldLIBS=$LIBS +# LIBS="$LIBS $PERL_LDFLAGS" +# AC_CHECK_FUNC(eval_pv) +# AC_CHECK_FUNC(call_pv) +# LIBS=$oldLIBS + + AC_MSG_CHECKING(for perl >= 5.8.0) + PERL_VER=`$perlpath -e 'print $]>= 5.008?"yes":"no"'` + if test "$PERL_VER" = "yes"; then + AC_MSG_RESULT(yes) + AC_MSG_CHECKING(if perl plugin will be backward compatible) + if test "$perl_old" = "yes"; then + AC_MSG_RESULT(yes) + AC_DEFINE(OLD_PERL) + else + AC_MSG_RESULT(no) + fi + else + AC_MSG_RESULT(no) + echo "perl version too old, building without perl." + perl=no + fi + fi +fi + +dnl ********************************************************************* +dnl ** PYTHON *********************************************************** +dnl ********************************************************************* + +if test "$python" = yes; then + AC_PATH_PROG(pythonpath, python2) + if test "_$pythonpath" = _ ; then + AC_PATH_PROG(pythonpath, python) + fi + if test "_$pythonpath" = _ ; then + python=no + else + AC_MSG_CHECKING(Python version) + changequote(<<, >>)dnl + PY_VER=`$pythonpath -c 'import distutils.sysconfig; print distutils.sysconfig.get_config_vars("VERSION")[0];'` + PY_LIB=`$pythonpath -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(standard_lib=1);'` + PY_INC=`$pythonpath -c 'import distutils.sysconfig; print distutils.sysconfig.get_config_vars("INCLUDEPY")[0];'` + $pythonpath -c "import sys; map(int,sys.version[:3].split('.')) >= [2,2] or sys.exit(1)" + changequote([, ])dnl + AC_MSG_RESULT($PY_VER) + if test "$?" != "1"; then + AC_MSG_CHECKING(Python compile flags) + PY_PREFIX=`$pythonpath -c 'import sys; print sys.prefix'` + PY_EXEC_PREFIX=`$pythonpath -c 'import sys; print sys.exec_prefix'` + if test -f $PY_INC/Python.h; then + PY_LIBS="-L$PY_LIB/config -lpython$PY_VER -lpthread -lutil" + PY_CFLAGS="-I$PY_INC" + AC_MSG_RESULT(ok) + else + python=no + AC_MSG_RESULT([Can't find Python.h]) + fi + else + echo "Python too old. Only 2.2 or above is supported." + python=no + fi + fi +fi + +dnl ********************************************************************* +dnl ** TCL ************************************************************** +dnl ********************************************************************* + +AC_MSG_CHECKING(for location of tclConfig.sh) +dirs="$tcl /lib /usr/lib /usr/tcl/lib /usr/lib/tcl8.4 /usr/local/lib /usr/local/tcl-8.4/lib /usr/local/tcl/lib /opt/lib /usr/lib/tcl8.3" +found=0 +if test "$tcl" != "no"; then + tcl=no + for try in $dirs; do + if test -f $try/tclConfig.sh; then + found=1 + . $try/tclConfig.sh + TCL_LIBS="$TCL_LIB_SPEC $TCL_LIBS" + TCL_CFLAGS="-I${TCL_PREFIX}/include $TCL_INCLUDE_SPEC" + tcl=yes + AC_MSG_RESULT($try/tclConfig.sh) + break + fi + done + if test "$found" -eq 0 ; then + AC_MSG_RESULT([tclConfig.sh not found - use the --enable-tcl option]) + fi +fi + +dnl ********************************************************************* +dnl ** IPv6 ************************************************************* +dnl ********************************************************************* + +dnl purely for Solaris +AC_CHECK_FUNC(select, , + AC_CHECK_LIB(socket, select, , + AC_CHECK_LIB(nsl, select, , + AC_CHECK_LIB(inet, select, , + AC_CHECK_LIB(cposix, select, , + AC_CHECK_LIB(net, select, , + AC_MSG_WARN(i can not find select. you might need to help me))))))) +AC_CHECK_LIB(socket, select) + +if test "$ipv6" = yes; then + AC_CHECK_FUNCS(getaddrinfo, have_getaddrinfo=yes) + AC_MSG_CHECKING(whether to enable IPv6 support) + if test "$have_getaddrinfo" = yes; then + AC_MSG_RESULT(yes) + AC_DEFINE(USE_IPV6) + else + ipv6=no + AC_MSG_RESULT(no) + fi +fi + +dnl ********************************************************************* +dnl ** OPENSSL ********************************************************** +dnl ********************************************************************* + +retry=no +if test "$openssl" != no; then + AC_PATH_PROG(pkgconfigpath, pkg-config) + AC_MSG_CHECKING(for openssl through pkg-config) + if $pkgconfigpath openssl --exists; then + CPPFLAGS="$CPPFLAGS `$pkgconfigpath openssl --cflags`" + LIBS="$LIBS `$pkgconfigpath openssl --libs`" + AC_DEFINE(USE_OPENSSL) + AC_MSG_RESULT(yes) + openssl=yes + else + AC_MSG_RESULT(no) + retry=yes + fi +fi + +if test "$retry" = "yes"; then + unset openssl_path ac_cv_lib_ssl_SSL_new ac_cv_header_openssl_ssl_h + if test "$openssl" != yes; then + openssl_path=$openssl + fi + openssl=no + SAVED_LIBS=$LIBS + LIBS="$LIBS -lcrypto" + if test -n "$openssl_path"; then + LIBS="-L$openssl_path/lib $LIBS" + fi + AC_CHECK_LIB(ssl, SSL_new, have_openssl=yes) + LIBS=$SAVED_LIBS + if test "$have_openssl" = yes; then + SAVED_CPPFLAGS=$CPPFLAGS + if test -n "$openssl_path"; then + CPPFLAGS="-I$openssl_path/include $CPPFLAGS" + fi + AC_CHECK_HEADERS(openssl/ssl.h, have_openssl_h=yes) + if test "$have_openssl_h" = yes; then + openssl=yes + AC_DEFINE(USE_OPENSSL) + LIBS="$LIBS -lssl -lcrypto" + if test -n "$openssl_path"; then + LIBS="-L$openssl_path/lib $LIBS" + fi + else + CPPFLAGS=$SAVED_CPPFLAGS + fi + fi +fi + +dnl ********************************************************************* +dnl ** LIBPROXY ********************************************************* +dnl ********************************************************************* + +PKG_CHECK_MODULES([LIBPROXY], [libproxy-1.0], [libproxy=1], [libproxy=0]) +AC_DEFINE_UNQUOTED([USE_LIBPROXY], [$libproxy], [Use libproxy]) + +dnl ********************************************************************* +dnl ** PLUGIN *********************************************************** +dnl ********************************************************************* + +if test "$plugin" = yes; then + AC_CHECK_FUNCS(dlopen, have_dl=yes) + if test "$have_dl" != yes; then + AC_CHECK_LIB(dl, dlopen, have_dl=yes) + if test "$have_dl" = yes; then + LIBS="$LIBS -ldl" + fi + fi + if test "$have_dl" = yes; then + AC_DEFINE(USE_PLUGIN) + AC_PATH_PROG(pkgconfigpath, pkg-config) + dnl we just need the -Wl,--export-dynamic, but not -lgmodule-2.0 + RDYNAMIC_FLAGS="`$pkgconfigpath gmodule-2.0 --libs | $sedpath 's/ -lgmodule-2.0//'`" + LIBS="$LIBS $RDYNAMIC_FLAGS" + if test "$LD" = ""; then + VS="`ld --help | grep version-script 2> /dev/null`" + else + VS="`$LD --help | grep version-script 2> /dev/null`" + fi + if test "$VS" != ""; then + GUI_LIBS="$GUI_LIBS -Wl,--version-script,\$(srcdir)/../version-script" + fi + else + plugin=no + fi +fi + +dnl ####################################################################### +dnl # Check for DBUS libraries +dnl ####################################################################### + +if test "x$dbus" = "xyes" ; then + PKG_CHECK_MODULES(DBUS, [dbus-1 >= 0.60 dbus-glib-1 >= 0.60 gthread-2.0], dbus=yes, [ + AC_MSG_RESULT(no) + dbus=no + ]) + AC_PATH_PROG(DBUS_BINDING_TOOL, dbus-binding-tool, no) + AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal, no) + if test "x$DBUS_BINDING_TOOL" = "xno" || test "x$GLIB_GENMARSHAL" = "xno" || test "x$dbus" = "xno" ; then + dbus="no" + else + COMMON_LIBS="$COMMON_LIBS $DBUS_LIBS $LIBPROXY_LIBS" + COMMON_CFLAGS="$COMMON_CFLAGS $DBUS_CFLAGS" + AC_DEFINE(USE_DBUS) + AS_AC_EXPAND(DATADIR, $datadir) + + DBUS_SERVICES_DIR="$DATADIR/dbus-1/services" + AC_SUBST(DBUS_SERVICES_DIR) + AC_DEFINE_UNQUOTED(DBUS_SERVICES_DIR, "$DBUS_SERVICES_DIR", [Where services dir for DBUS is]) + fi +fi + +dnl ********************************************************************* +dnl ** SPELL ************************************************************ +dnl ********************************************************************* + +if test "$spell" = "gtkspell" ; then + PKG_CHECK_MODULES(GTKSPELL, gtkspell-2.0 >= 2.0.2, [], [ + AC_MSG_RESULT(no) + spell=no + ]) + if test "$spell" != "no" ; then + GUI_LIBS="$GUI_LIBS $GTKSPELL_LIBS" + GUI_CFLAGS="$GUI_CFLAGS $GTKSPELL_CFLAGS" + AC_DEFINE(USE_GTKSPELL) + fi +fi + +if test "$spell" = "libsexy" ; then + PKG_CHECK_MODULES([LIBSEXY], [libsexy >= 0.1.8], libsexy=yes, AC_MSG_RESULT(no)) + if test "$libsexy" = "yes" ; then + GUI_LIBS="$GUI_LIBS $LIBSEXY_LIBS" + GUI_CFLAGS="$GUI_CFLAGS $LIBSEXY_CFLAGS" + AC_DEFINE(USE_LIBSEXY) + else + dnl use builtin static one + spell="static" + fi +fi + +if test "$spell" = "static" ; then + AC_DEFINE(USE_LIBSEXY) +fi + +dnl ********************************************************************* +dnl ** CONDITIONALS ***************************************************** +dnl ********************************************************************* + +AM_CONDITIONAL(USE_OPENSSL, test "x$openssl" = "xyes") +AM_CONDITIONAL(USE_LIBSEXY, test "x$spell" = "xstatic") +AM_CONDITIONAL(DO_TEXT, test "x$textfe" = "xyes") +AM_CONDITIONAL(DO_GTK, test "x$gtkfe" = "xyes") +AM_CONDITIONAL(DO_PERL, test "x$perl" = "xyes") +AM_CONDITIONAL(DO_PYTHON, test "x$python" = "xyes") +AM_CONDITIONAL(DO_TCL, test "x$tcl" = "xyes") +AM_CONDITIONAL(DO_PLUGIN, test "x$plugin" = "xyes") +AM_CONDITIONAL(USE_DBUS, test "x$dbus" = "xyes") +AM_CONDITIONAL(DO_GCONF, test "x$GCONFTOOL" != "xno") + +dnl ********************************************************************* +dnl ** SOCKS5 *********************************************************** +dnl ********************************************************************* + +if test "$socks" = yes; then + socks=no + AC_CHECK_LIB(socks5, SOCKSconnect, have_socks=yes) + if test "$have_socks" = yes; then + AC_CHECK_HEADERS(socks.h, have_socks_h=yes) + if test "$have_socks_h" = yes; then + socks=yes + AC_DEFINE(SOCKS) + LIBS="$LIBS -lsocks5" + fi + fi +fi + +dnl ********************************************************************* +dnl ** MS PROXY ********************************************************* +dnl ********************************************************************* + +have_ntlm="no" +if test "x$ntlm" = "xyes" ; then + have_ntlm="no" + AC_CHECK_LIB(ntlm, ntlm_smb_encrypt, have_ntlm=yes) + if test "$have_ntlm" = yes; then + LIBS="$LIBS -lntlm" + AC_DEFINE(USE_MSPROXY) + fi +fi + +dnl ********************************************************************* +dnl ** XShm ************************************************************* +dnl ********************************************************************* + +if test "$shm" = yes; then + oldl=$LIBS + oldc=$CPPFLAGS + LIBS="$LIBS `$pkgconfigpath --libs-only-L xft`" + CPPFLAGS="$CPPFLAGS `$pkgconfigpath --cflags-only-I xft`" + shm=no + AC_CHECK_LIB(Xext, XShmAttach, shm=yes) + if test "$shm" = yes; then + shm=no + AC_CHECK_HEADERS(sys/ipc.h, shm=yes) + if test "$shm" = yes; then + shm=no + AC_CHECK_HEADERS(sys/shm.h, shm=yes) + fi + fi + + LIBS=$oldl + if test "$shm" = yes; then + GUI_LIBS="$GUI_LIBS `$pkgconfigpath --libs-only-L xft` -lX11 -lXext" + AC_DEFINE(USE_SHM) + else + CPPFLAGS=$oldc + fi +fi + +dnl ********************************************************************* +dnl ** MMX ************************************************************** +dnl ********************************************************************* + +dnl we don't need mmx on *this* machine, just i386, because +dnl it's checked at runtime. +if test "$mmx" = "yes"; then + case $host_cpu in + i386|i486|i586|i686|i786|k6|k7) + mmx=yes + ;; + *) + mmx=no + esac + if test "$system" = "OpenBSD"; then + dnl openbsd fails because mmx_cmod doesn't prefix its symbols with underscore. + dnl xtext.o: Undefined symbol `_shade_ximage_15_mmx' referenced from text segment + mmx=no + fi + if test "$mmx" = "yes"; then + AC_DEFINE(USE_MMX) + fi +fi + +AM_CONDITIONAL(USE_MMX, test "$mmx" = "yes") + +dnl ********************************************************************* +dnl ** GCC FLAGS ******************************************************** +dnl ********************************************************************* + +dnl Only use -Wall and -pipe if we have gcc +if test "x$GCC" = "xyes"; then + if test -z "`echo "$CFLAGS" | grep "\-Wall" 2> /dev/null`" ; then + CFLAGS="$CFLAGS -Wall" + fi + if test "$system" = "Linux" -o "$system" = "FreeBSD"; then + if test -z "`echo "$CFLAGS" | grep "\-pipe" 2> /dev/null`" ; then + CFLAGS="$CFLAGS -pipe" + fi + fi + if test -z "`echo "$CFLAGS" | grep "\-g " 2> /dev/null`" ; then + CFLAGS="$CFLAGS -g" + fi +fi + +dnl does this compiler support -Wno-pointer-sign ? +AC_MSG_CHECKING([if gcc accepts -Wno-pointer-sign ]) + +safe_CFLAGS=$CFLAGS +CFLAGS="-Wno-pointer-sign" + +AC_TRY_COMPILE(, [ +int main () { return 0 ; } +], +[ +no_pointer_sign=yes +AC_MSG_RESULT([yes]) +], [ +no_pointer_sign=no +AC_MSG_RESULT([no]) +]) +CFLAGS=$safe_CFLAGS + +if test x$no_pointer_sign = xyes; then + CFLAGS="$CFLAGS -Wno-pointer-sign" +fi + +dnl does this compiler support -funsigned-char ? +AC_MSG_CHECKING([if gcc accepts -funsigned-char ]) + +safe_CFLAGS=$CFLAGS +CFLAGS="-funsigned-char" + +AC_TRY_COMPILE(, [ +int main () { return 0 ; } +], +[ +unsigned_char=yes +AC_MSG_RESULT([yes]) +], [ +unsigned_char=no +AC_MSG_RESULT([no]) +]) +CFLAGS=$safe_CFLAGS + +if test x$unsigned_char = xyes; then + CFLAGS="$CFLAGS -funsigned-char" +fi + +dnl ********************************************************************* +dnl ** FUNCTIONS/LIBS/CFLAGS ******************************************** +dnl ********************************************************************* + +AC_MSG_CHECKING(for modern sigaction) +dnl libc5 on linux and FreeBSD 3.x doesn't have siginfo_t +dnl and the sa_sigation field. +AC_TRY_COMPILE( + [#include ], + [struct sigaction act; + siginfo_t *si; + act.sa_sigaction = 0;], + [ + AC_MSG_RESULT(yes) + AC_DEFINE(USE_SIGACTION) + ], + AC_MSG_RESULT(no)) + +AC_PATH_PROG(gdkpixbufcsourcepath, gdk-pixbuf-csource) +AC_SUBST(gdkpixbufcsourcepath) +if test "$gtkfe" != no -a "_$gdkpixbufcsourcepath" = _; then + AC_MSG_ERROR("Cannot find gdk-pixbuf-csource: Install GTK+ 2.0\!") +fi + +dnl if we don't have this, use g_snprintf instead +AC_CHECK_FUNCS(snprintf vsnprintf memrchr strtoull) + +AC_CHECK_FUNC(gethostbyname, , + AC_CHECK_LIB(resolv, gethostbyname, , + AC_CHECK_LIB(nsl, gethostbyname))) + +AC_CHECK_FUNC(gethostname, , AC_CHECK_LIB(nsl, gethostname)) + +dnl necessary for IRIX +AC_CHECK_HEADERS(strings.h) + +dnl Check for type in sys/socket.h - from Squid source (GPL) +AC_CACHE_CHECK(for socklen_t, ac_cv_type_socklen_t, [ +AC_EGREP_CPP([socklen_t[^a-zA-Z_0-9]], [#include +#include +#if STDC_HEADERS +#include +#include +#endif], +ac_cv_type_socklen_t=yes, +ac_cv_type_socklen_t=no) +]) +if test $ac_cv_type_socklen_t = no; then + AC_DEFINE(socklen_t, int) +fi + +dnl Mac OS X and Darwin use lookupd, which caches DNS queries by default +AC_EGREP_CPP(lookupd, dnl +[#if (defined(__APPLE__) && defined(__MACH__)) + lookupd +#endif], AC_DEFINE([LOOKUPD],1,[Define to 1 if the system uses lookupd])) + +dnl freebsd needs this +LIBS="$LIBS $INTLLIBS" +CFLAGS="$CFLAGS $CPPFLAGS" + +GUI_LIBS="$GUI_LIBS $COMMON_LIBS" + +dnl make these visible to all Makefiles +AC_SUBST(GUI_LIBS) +AC_SUBST(GUI_CFLAGS) +AC_SUBST(COMMON_LIBS) +AC_SUBST(COMMON_CFLAGS) +AC_SUBST(PERL_CFLAGS) +AC_SUBST(PERL_LDFLAGS) +AC_SUBST(PY_CFLAGS) +AC_SUBST(PY_LIBS) +AC_SUBST(TCL_LIBS) +AC_SUBST(TCL_CFLAGS) +AC_SUBST(DBUS_CFLAGS) +AC_SUBST(DBUS_LIBS) + + +PLUGIN_INCLUDES='-I$(top_srcdir)/plugins' +AC_SUBST(PLUGIN_INCLUDES) + +dnl for plugin.c and pixmaps.c +test "x$prefix" = xNONE && prefix="$ac_default_prefix" +test "x$exec_prefix" = xNONE && exec_prefix="$prefix" + +AC_DEFINE_UNQUOTED(PREFIX, "${prefix}") + +XCHATLIBDIR=`eval echo ${libdir}/xchat` +AC_DEFINE_UNQUOTED(XCHATLIBDIR, "$XCHATLIBDIR") + +XCHATSHAREDIR=`eval echo ${datadir}` +AC_DEFINE_UNQUOTED(XCHATSHAREDIR, "$XCHATSHAREDIR") + +dnl for plugins/xxx/Makefile.am +xchatlibdir=${libdir}/xchat +AC_SUBST(xchatlibdir) + +AC_OUTPUT([ +Makefile +src/Makefile +src/common/Makefile +src/common/dbus/Makefile +src/fe-text/Makefile +src/fe-gtk/Makefile +src/pixmaps/Makefile +plugins/Makefile +plugins/python/Makefile +plugins/perl/Makefile +plugins/tcl/Makefile +intl/Makefile +po/Makefile.in +]) + +echo +echo xchat $VERSION +echo +echo Building GTK+ Interface .... : $gtkfe +echo Building TEXT Interface .... : $textfe +echo +echo PLUGINS: Perl: $perl Python: $python TCL: $tcl +echo +echo mmx tinting ......... : $mmx\ spelling .............. : $spell +echo XShm tinting ........ : $shm\ plugin interface ...... : $plugin +if test "$xft" = no; then + echo text backend ........ : pango\ nls/gettext ........... : $USE_NLS +else + echo text backend ........ : xft\ nls/gettext ........... : $USE_NLS +fi +echo openssl support ..... : $openssl\ ipv6 support .......... : $ipv6 +echo dbus support ........ : $dbus\ msproxy ntlm \(ISA\) .... : $have_ntlm +echo +echo The binary will be installed in $prefix/bin +echo + +if test "$gtkfe" = no; then + echo Warning: The GTK \(GUI\) frontend will not be built. + echo +fi + +if test "$spell" = "gtkspell"; then + echo Warning: GTK SPELL is not the recommended spelling library. + echo +fi + +echo configure complete, now type \'make\' and pray. +echo diff --git a/faq.html b/faq.html new file mode 100644 index 00000000..4f4c1cde --- /dev/null +++ b/faq.html @@ -0,0 +1,537 @@ + + +XCHAT FAQ + + + + +

X-Chat 2.8 Frequently Asked Questions

+ +

1. Section One: Compiling and Installing.

+

+1. I get this error: /bin/sh: no: command not found +

+2. How do I compile X-Chat on my Sun OS system? +

+

+ +

2. Section Two: Using X-Chat.

+

+1. How do I enable identd in X-Chat? (How do I get rid of the ~ in front of my username?) +

+2. How do I auto join more than one channel with keys? +

+3. How do I autoconnect and join a channel when X-Chat loads? +

+4. How do I cut and paste in X-Chat? +

+5. How do I connect through a proxy? +

+6. How do I show @ and + in front of nicknames that are Op and Voice when they talk? +

+7. How do I change the Op and Voice userlist icons and Tree View icons? +

+8. How do I set different ban types? +

+9. Why can't I see accented-letters/umlauts/upper-ascii-chars in X-Chat? +

+10. Why does the timestamp overlap some nicknames? +

+11. How do I turn on Conference mode where I will not see join or part messages? +

+12. How can I run the /dccserver command? +

+13. Why doesn't DCC send work behind a router (IPNat/ADSL)? +

+14. How do I execute multiple commands in one line? +

+15. How do I enable Emacs key bindings in XChat? +

+16. I get this error: "Unknown file type abc.yz. Maybe you need to install the Perl or Python plugin?" +

+17. How do I play sound files on certain events? +

+18. How do I auto-load scripts at startup? +

+19. How do I minimize X-Chat to the System Tray (Notification Area)? +

+20. Can I select and copy text with the time stamps? +

+21. What's the deal with opening URLs in XChat on Linux/Unix? +

+22. Where are the log files saved to? +

+23. How do I rotate log files every so often? +

+24. How do I enable graphical smilies (emoticons)? +

+

+ +

3. Section Three: Contributions, Development and Bugs.

+

+1. Why does X-Chat leak so much memory? +

+2. My copy of X-Chat crashes, what can I do? +

+3. Can I write a new language translation for X-Chat? +

+ +

+ +

1. Section One: Compiling and Installing.

+ +

1. I get this error: /bin/sh: no: command not found

+

+If you get an error something like: +

+
+Making all in po
+make[2]: Entering directory `/home/zed/xchat/files/xchat-1.8.7/po'
+file=./`echo ca | sed 's,.*/,,'`.gmo \
+  && rm -f $file && PATH=../src:$PATH no -o $file ca.po
+/bin/sh: no: command not found
+make[2]: *** [ca.gmo] Error 127
+make[2]: Leaving directory `/home/zed/xchat/files/xchat-1.8.7/po'
+make[1]: *** [all-recursive] Error 1
+make[1]: Leaving directory `/home/zed/xchat/files/xchat-1.8.7'
+make: *** [all-recursive-am] Error 2
+
+

+It means you don't have GNU gettext installed. There are two solutions: +

+
    +
  • Install GNU gettext and try again.
  • +
  • Use ./configure --disable-nls. This will disable foreign +language support and all menus and GUI will be in English only.
  • +
+ +

2. How do I compile X-Chat on my Sun OS system?

+

+ X-Chat uses GNU gettext which in turn requires gmake, either install that + and or use ./configure --disable-nls with Sun's own make. +

+ +

2. Section Two: Using X-Chat.

+ +

1. How do I enable identd in X-Chat?

+

+UNIX:
+ Identd isn't actually apart of X-Chat. You will need to download and install + your own ident server. Most distributions, including Fedora, come with an + ident server program called oidentd. Make sure it is enabled in + /etc/xinetd.conf or read you distribution's documentation. + + As an alternative, you can try this experimental identd server: xchat_auth + +

WINDOWS:
+ The win32 version of X-Chat comes with a built-in identd server. It is + enabled by default, but can be disabled with /set identd 0. +

+ +

2. How do I auto join more than one channel with keys?

+

+ In the Server list's channel column enter multiple channels and separate + them by commas, eg: "#linux,#warez,#chat". Do not put spaces between the + channels. If the channels also have keys (passwords), then the syntax is: + "#channel1,#channel2,#channel3 key1,key2,key3" +

+

+ Example: If you want to join #abc and #talk without keys, but #linux with + a key of "secret", you would enter: "#linux,#abc,#talk secret". +

+ +

3. How do I autoconnect and join a channel when X-Chat loads?

+

+In the Server list, select the Network you want to auto-connect to, click Edit +and turn ON the "Auto connect to this network at startup" checkbox. +

+ +

4. How do I cut and paste in X-Chat?

+

+It's exactly the same as any other X application. You simply mark the text +you want, and then press middle mouse button to paste (if you only have a +2 button mouse, press left and right buttons at once). +

+ +

5. How do I connect through a proxy?

+

+Go to the menus, Settings -> Preferences -> Network Setup and fill in the requested +information there. Authentication (using a username and password) is +only supported for HTTP and Socks5. +

+ +

6. How do I show @ and + in front of nicknames that are Op and Voice when they talk?

+

+To display @ and + characters next to nicknames as they talk, do the following: +

+

+In the menus, open up Settings -> Advanced -> Text Events. Find the +Channel Message event in the list. The $3 code can be inserted to +print the user's mode-character (e.g. @ or +). For example, you might want +to change the default: + +

%C18%H<%H$4$1%H>%H%O$t$2

To: +

%C18%H<%H$4$3$1%H>%H%O$t$2 +

Don't forget to press Enter, so the changes take effect in the +list at the top of the window. +

+ +

7. How do I change the Op and Voice userlist icons and Tree View icons?

+

+Unix/Linux +
The default icons are hard coded (compiled) in. You can override them by creating +some PNG files in ${PREFIX}/share/xchat. ${PREFIX} is usually /usr, so that +would translate to /usr/share/xchat. If you compiled from source tarball without +specifying a prefix, it will be /usr/local instead. +
+
+Windows +
Your own custom icons can be placed in C:\Program Files\XChat\Icons. Image format +may be PNG or ICO. PNG support on Windows 2000 may require installing GDI+, but it's +standard on XP or newer. +

+ +
+ + + + + + + + + + + + + + + + + + +
NameDescription
op.pngUserlist: Op
hop.pngUserlist: Half-Op
voice.pngUserlist: Voice
red.pngUserlist: Owner
purple.pngUserlist: Founder
server.pngTree: Server
channel.pngTree: Channel
dialog.pngTree: Dialog/Query
util.pngTree: Utility (Channel List, DCC etc)
message.pngTray: Message
highlight.pngTray: Highlighted Message
fileoffer.pngTray: DCC
xchat.pngMain XChat icon
+
+ +
Tree View icons: Type /set tab_icons 1 to enable them and then restart XChat. +
+ +

8. How do I set different ban types?

+

+ Three ways: +

+
    +
  • + Right click the nickname in the userlist, and choose a ban type from the + "Kick/Ban" submenu. +
  • +
  • + You can also do it manually: + + /ban <nick> <ban type> + + where the <ban type> is a number from 0 to 3. +
  • + +
  • + /set irc_ban_type <ban type> + sets the default ban type to use for all bans. The different types are: + +
      +
    • 0 *!*@*.host
    • +
    • 1 *!*@domain
    • +
    • 2 *!*user@*.host
    • +
    • 3 *!*user@domain
    • +
    + +
  • +
+ +

9. Why can't I see accented-letters/umlauts/upper-ascii-chars in X-Chat?

+

+Refer to http://xchat.org/encoding/.
+Note: Log files are always written in UTF-8/Unicode. +

+ +

10. Why does the timestamp overlap some nicknames?

+

+Some networks allow very long nicknames (up to 32 letters). It can be annoying to have +the separator bar move too far to the right, just for one long nick. Therefore, it has +a set limit for the distance it will move to the right. If you use a large font, you +may need to adjust this distance. It is set in pixels, for example: +

+
+      /set text_max_indent 320
+
+ +

+Once you adjust this setting high enough, overlapping timestamps and nicknames should +not occur. The adjustment will not take effect immediately, a restart may be needed. +

+ +

11. How do I turn on Conference mode where I will not see join or part messages?

+

+Right-click on the tab you want to change. In the submenu of the channel +name, there's a toggle-item "Show join/part messages", simply turn this off. +

If you want to turn this option on globally, type:

+
/set irc_conf_mode 1
+

Then all channels you join after setting this will start with "Show join/part messages" turned off.

+ +

12. How can I run the /dccserver command?

+

+In short you can not do this (easily). This is a mIRC only proprietary feature +that is quite nonstandard. There is no code for doing this, mainly because +/dccserver runs on port 59 which in turn would require running X-Chat as +root. Why do you need this anyway? Just use normal DCC. +

+Unofficial unix patches are available here. +

Update: DCC Server feature has been added in the official Windows release 2.4.1b. +

+ +

13. Why doesn't DCC send work behind a router (IPNat/ADSL)?

+

+ If you are behind a IP-NAT or ADSL router, you will most likely have + an address like 192.168.0.1. This address is not usable on the Internet, and + must be translated. +

+ When offering a DCC file, xchat will tell the receiver your address. If it says + 192.168.0.1, the receiver will not be able to connect. One way to make it send + your "real" address is to enable the "Get my IP from IRC Server" option in xchat. + This option is available in Preferences -> File Transfers. When you turn it + ON, you will have to re-login to the server before it'll take effect. +

+ You will also need to forward some ports for use in DCC send. You may pick almost + any port range you wish, for example, in xchat set: +

+
		First DCC send port: 4990
+		 Last DCC send port: 5000
+
+

+ This will allow you to send up to ten files at the same time, which should be plenty + for most people. Lastly, configure your router/modem to forward ports 4990-5000 to + your PC's address. You'll have to consult your router/modem's manual on how to do this. +

+ +

14. How do I execute multiple commands in one line?

+

+ There are three ways to do this: +

+
    +
  • /LOAD -e <textfile>, where <textfile> is a full pathname to a file +containing commands on each line.
  • +
  • +Separate your commands with CTRL-SHIFT-u-a (CTRL-SHIFT-a on older GTK+ and Windows). This will appear as a little box with numbers on it.
  • +
  • You can create two UserCommands, with the same name, and then execute +the UserCommand. It will be executed in the same order as it's written +in the UserCommands GUI.
  • +
+ +

15. How do I enable Emacs key bindings in XChat?

+

+The standard Emacs key bindings, such as CTRL-w, CTRL-u etc, are supported by +GTK+ 2.0, but normally disabled. If you run Gnome 2, you can re-enable them in +your Gnome menu under: Preferences -> Keyboard Shortcuts. +

+

+Note: This doesn't work in the latest Gnome (2.8 and newer). In this case, you need +to run "gconf-editor", and directly change the key /desktop/gnome/interface/gtk_key_theme +from "Default" to "Emacs". Then you need to re-start XChat. +

+

+If you don't use Gnome 2, but still want Emacs key bindings, it's beyond the +scope of this document. You might find some hints here: +GTK+ 2.4.0 release notes. +

+ +

16. I get this error: "Unknown file type abc.yz. Maybe you need to install the Perl or Python plugin?"

+

+If you get this error when trying to load a Perl or Python script, it means +the plugin for running those scripts isn't loaded. +

+
    +
  • The Perl, Python and TCL plugins come with XChat in the same archive.
  • +
  • During ./configure, it will check for Perl, Python and TCL libs and headers, you should check if it failed there.
  • +
  • The plugins directory can be found by issuing the shell command +
    xchat -p
    +
  • +
  • All *.so files are auto-loaded at startup (*.dll on Windows).
  • +
  • If you downloaded a binary package, maybe the packager decided to exclude the Perl or Python plugins.
  • +
+ +

17. How do I play sound files on certain events?

+

+In the menus, go to: Settings > Preferences > Sound. +Select the event you want to make a sound on, then type in a +sound filename (or use the Browse button). +

+ +

18. How do I auto-load scripts at startup?

+

+You just have to place the scripts into XChat's data directory. XChat +will auto-load scripts if they have the right extension .e.g If a filename +ends in .pl, it will be loaded as a Perl script. +This data directory is different on each platform: +

+Windows +

+It depends on your version of Windows and where it stores the +Application Data folder. On Windows XP it is usually: +

+C:\Documents and Settings\username\Application Data\X-Chat 2\ +
or simply: +
+C:\Program Files\XChat\Plugins\ +


+UNIX +

+~/.xchat2/ +Where "~" represents your home directory i.e.: $HOME/.xchat2/ +

+ +

19. How do I minimize X-Chat to the System Tray (Notification Area)?

+

+There are two plugins available that allow this: +
Unix: SysTray Plugin +
Windows: xTray +

+

+Note that XChat 2.8.0+ has its own tray feature, but you can disable it +in Settings > Preferences > Alerts and still run these plugins, if you prefer. +

+ +

20. Can I select and copy text with the time stamps?

+

+Yes, but this requires at least XChat 2.6.3. Simply hold down SHIFT while marking +the text and the time stamps will be included. +

+ +

21. What's the deal with opening URLs in XChat on Unix/Linux?

+

+Right-clicking on a URL and selecting Open Link in Browser will open the link +in your "preferred browser". In Gnome, your preferred browser can be changed in System > Preferences > More Preferences > Preferred Applications. +

+Notes for 2.8.0 or newer: +

+Everything should just work automatically without any changes from you. Here's how the current +logic works: +

+ +
    +
  • First, it tries to run xdg-open, which is a universal URL handler from freedesktop.org. Most modern Linux desktops will have this now, or in the near future.
  • +
  • If xdg-open doesn't exist, it will try to detect a running Gnome or KDE desktop. This is done via the environment variables GNOME_DESKTOP_SESSION_ID and KDE_FULL_SESSION.
  • +
  • If Gnome is detected, it will execute: gnome-open <url>
  • +
  • If KDE is detected, it will execute: kfmclient exec <url>
  • +
+ +

+Notes for 2.6.8 or older: +

+If you're not using Gnome, e.g KDE or some other desktop environment, you're fresh out of luck! +
Note for Debian and Ubuntu: Integration with Gnome is broken on this distro! Please set +sensible-browser instead. We have no control over what the Debian packagers do, so complain +to them for this screw up. Example: +sudo update-alternatives --set x-www-browser /usr/bin/firefox + +

+More details +

+While holding down CTRL you can single left-click a URL to open it in your preferred browser. If you really want to change this to plain left-click you can type: /set gui_url_mod 0, provided you have XChat 2.6.6 or newer. +

+You can also add more items to the right-click menu in XChat: Settings > Advanced > URL Handlers. +
For example, you could add an entry like !firefox -a firefox -remote 'openURL(%s,new-tab)' +
But this kind of messing around shouldn't be necessary, it just works automatically in Gnome, KDE and Windows with 2.8.0+! +

+ +

22. Where are the log files saved to?

+

+UNIX +
+
~/.xchat2/xchatlogs/ +
where ~ represents your home directory. +
+
+
Windows +
+
Windows XP/2000: C:\Documents and Settings\username\Application Data\X-Chat 2\xchatlogs +
Windows Vista/7: C:\Users\username\AppData\Roaming\X-Chat 2\xchatlogs +

+ +

23. How do I rotate log files every so often?

+

+Requires: 2.6.1+ +

+By default settings, no rotation occurs, your log files will just keep getting larger. +

+Go to Settings > Preferences > Logging and change the log filename to any one of these: +

+
+ + + + + +
SettingExample filename that would be written
%Y-%m-%d/%n-%c.log 2006-12-30/FreeNode-#channel.log
%n/%Y-%m-%d/%c.logFreeNode/2006-12-30/#channel.log
%n/%c.logFreeNode/#channel.log (no rotation)
+
+

+%Y, %m and %d represents the current year, month and day respectively. %n is the +network name, e.g. "FreeNode" or "UnderNet", and finally, %c is the channel. In these +examples, a new log filename and folder would be created after midnight. +

+You can find more possibilities at http://xchat.org/docs/log/. +

+ +

24. How do I enable graphical smilies (emoticons)?

+

+This feature is only available in the official Windows XChat release. You have to +TICK this feature during installation. If you didn't do this, you can simply run +the installer again, and TICK the "Eye Candy Theme" when given the option. +

+If you want to use the graphical theme, but disable it just for smilies (i.e leave +it ON for things like Join/Part, Modes etc only), type this command and restart: +

+/set text_emoticons off +

+ +

3. Section Three: Contributions, Development and Bugs.

+ +

1. Why does X-Chat leak so much memory?

+

+The simple answer is, it doesn't! There are some GTK+ pixmap based themes around that +leak a lot of memory. Please try using a different theme and see if that resolves the +problem. X-Chat itself only allocates about 40kb of memory through malloc()! +

+ +

2. My copy of X-Chat crashes, what can I do?

+

+Firstly, make sure it's the latest stable version of X-Chat. Stable versions have +an EVEN middle number, e.g.: 2.8.0 or 2.8.1. Often late fixes are placed in this +directory: 2.8.x patches +

+ If you still experience crashes, you should consider running it through GDB. This + will help us find a fix quickly, and it's easy to do! See here. +

+ +

3. Can I write a new language translation for X-Chat?

+

+You sure can, but I don't accept translations directly. They must be done through the +Translation Project. +All the relevant information should be on that page. +

+ + + diff --git a/plugins/Make.plugin b/plugins/Make.plugin new file mode 100644 index 00000000..4a4c56fd --- /dev/null +++ b/plugins/Make.plugin @@ -0,0 +1,38 @@ +# Makefile stub for creating standalone plugin distributions. + +plugin_dist: pg_dist pg_dist/config.status + pgi=`cd $(srcdir)/.. && pwd`; cd pg_dist; \ + $(MAKE) $(AM_MAKEFLAGS) PLUGIN_INCLUDES=-I$$pgi distcheck dist + +pg_dist: pg_distdir pg_dist/configure.in pg_dist/install-sh + cd pg_dist \ + && libtoolize --copy --force --automake \ + && automake --copy --add-missing --foreign \ + && autoconf -l ../$(top_srcdir) + +pg_distdir: $(DISTFILES) + test -d pg_dist || mkdir pg_dist + for dfile in $(DISTFILES); do \ + test -f $$dfile && cp $$dfile pg_dist \ + || test -f $(srcdir)/$$dfile && cp $(srcdir)/$$dfile pg_dist; done + sed '/Make.plugin/d' < $(srcdir)/Makefile.am > pg_dist/Makefile.am + +pg_dist/configure.in: $(srcdir)/../plugin-conf.in + rm -f pg_dist/configure.in + test -f $(srcdir)/config.stub \ + && cat $(srcdir)/config.stub > pg_dist/configure.in || true + cat $(srcdir)/../plugin-conf.in | \ + sed 's%@PLUGIN_VERSION@%$(PLUGIN_VERSION)%; \ + s%@PLUGIN@%$(PLUGIN)%' >> pg_dist/configure.in + +pg_dist/install-sh: pg_distdir + cp $(top_srcdir)/install-sh pg_dist + +pg_dist/config.status: pg_dist/configure + cd pg_dist \ + && test -f config.status && $(SHELL) ./config.status --recheck \ + || $(SHELL) ./configure --enable-maintainer-mode + +DISTCLEANFILES = pg_dist/* pg_dist + +# diff --git a/plugins/Makefile.am b/plugins/Makefile.am new file mode 100644 index 00000000..d90f813a --- /dev/null +++ b/plugins/Makefile.am @@ -0,0 +1,21 @@ +# temp. solution while mailcheck & xdcc arn't in SUBDIRS +EXTRA_DIST = plugin20.html Make.plugin plugin-conf.in \ + xdcc/xdcc.c \ + xdcc/Makefile.am + +noinst_HEADERS = xchat-plugin.h + +if DO_PYTHON +pythondir = python +endif + +if DO_PERL +perldir = perl +endif + +if DO_TCL +tcldir = tcl +endif + +#SUBDIRS = . $(pythondir) $(perldir) mailcheck xdcc +SUBDIRS = . $(pythondir) $(perldir) $(tcldir) diff --git a/plugins/mailcheck/Makefile.am b/plugins/mailcheck/Makefile.am new file mode 100644 index 00000000..bda04229 --- /dev/null +++ b/plugins/mailcheck/Makefile.am @@ -0,0 +1,25 @@ +## Process with automake to produce Makefile.in + +# To create a standalone tarball of your plugin run the plugin_dist +# target. Note: you must configure the main source tree with +# --enable-maintainer-mode + +# These two must be defined. +PLUGIN=mailcheck +PLUGIN_VERSION=0.1 + +# This file must be in the form PLUGIN-config.h.in, it can be empty but +# must exist +EXTRA_DIST = mailcheck-config.h.in + +# Remember to include this line in your Makefile.am +include @top_srcdir@/plugins/Make.plugin + +libdir = $(xchatdir)/plugins + +lib_LTLIBRARIES = mailcheck.la +mailcheck_la_SOURCES = mailcheck.c +mailcheck_la_LDFLAGS = -avoid-version -module +INCLUDES = $(COMMON_CFLAGS) $(PLUGIN_INCLUDES) + +DISTCLEANFILES = pg_dir/* diff --git a/plugins/mailcheck/mailcheck.c b/plugins/mailcheck/mailcheck.c new file mode 100644 index 00000000..19011ab3 --- /dev/null +++ b/plugins/mailcheck/mailcheck.c @@ -0,0 +1,94 @@ +/* XCHAT 2.0 PLUGIN: Mail checker */ + +#include +#include +#include +#include +#include +#include + +#include "xchat-plugin.h" + + +static xchat_plugin *ph; /* plugin handle */ + +static int +mail_items(char *file) +{ + FILE *fp; + int items; + char buf[512]; + + fp = fopen(file, "r"); + if(!fp) + return 1; + + items = 0; + while(fgets(buf, sizeof buf, fp)) + { + if(!strncmp(buf, "From ", 5)) + items++; + } + fclose(fp); + + return items; +} + +static void +xchat_mail_check (void) +{ + static int last_size = -1; + int size; + struct stat st; + char buf[512]; + char *maildir; + + maildir = getenv("MAIL"); + if(!maildir) + { + snprintf (buf, sizeof(buf), "/var/spool/mail/%s", getenv("USER")); + maildir = buf; + } + + if(stat(maildir, &st) < 0) + return; + + size = st.st_size; + + if(last_size == -1) + { + last_size = size; + return; + } + + if(size > last_size) + { + xchat_printf(ph, + "-\0033-\0039-\017\tYou have new mail (%d messages, %d bytes total).", + mail_items(maildir), size); + } + + last_size = size; +} + +static int timeout_cb(void *userdata) +{ + xchat_mail_check(); + + return 1; +} + +int xchat_plugin_init(xchat_plugin *plugin_handle, + char **plugin_name, char **plugin_desc, char **plugin_version, + char *arg) +{ + ph = plugin_handle; + + *plugin_name = "MailCheck"; + *plugin_desc = "Checks your mailbox every 30 seconds"; + *plugin_version = "0.1"; + + xchat_hook_timer(ph, 30000, timeout_cb, 0); + + return 1; +} diff --git a/plugins/perl/Makefile.am b/plugins/perl/Makefile.am new file mode 100644 index 00000000..816ae67c --- /dev/null +++ b/plugins/perl/Makefile.am @@ -0,0 +1,20 @@ + +EXTRA_DIST=alt_completion.pl xchat2-perldocs.html xchat2-perl.html \ + generate_header lib/Xchat.pm lib/Xchat/Embed.pm lib/Xchat/List/Network.pm \ + lib/Xchat/List/Network/Entry.pm lib/Xchat/List/Network/AutoJoin.pm \ + lib/IRC.pm + +libdir = $(xchatlibdir)/plugins + +lib_LTLIBRARIES = perl.la +perl_la_SOURCES = perl.c +perl_la_LDFLAGS = -avoid-version -module +perl_la_LIBADD = $(PERL_LDFLAGS) +BUILT_SOURCES = xchat.pm.h irc.pm.h +#CFLAGS = @CFLAGS@ -Wno-unused +INCLUDES = $(PERL_CFLAGS) $(COMMON_CFLAGS) -I$(srcdir)/.. +CLEANFILES = xchat.pm.h irc.pm.h +xchat.pm.h irc.pm.h: lib/Xchat.pm lib/Xchat/Embed.pm \ + lib/Xchat/List/Network.pm lib/Xchat/List/Network/Entry.pm \ + lib/Xchat/List/Network/AutoJoin.pm lib/IRC.pm + perl generate_header diff --git a/plugins/perl/alt_completion.pl b/plugins/perl/alt_completion.pl new file mode 100644 index 00000000..2572fb81 --- /dev/null +++ b/plugins/perl/alt_completion.pl @@ -0,0 +1,507 @@ +use strict; +use warnings; +use Xchat (); +use File::Spec (); +use File::Basename qw(fileparse); + +# if the last time you addressed someone was greater than this many minutes +# ago, ignore it +# this avoids having people you have talked to a long time ago coming up too +# early in the completion list +# Setting this to 0 will disable the check which is effectively the same as +# setting it to infinity +my $last_use_threshold = 10; # 10 minutes + +# added to the front of a completion the same way as a suffix, only if +# the word is at the beginning of the line +my $prefix = ''; + +# ignore leading non-alphanumeric characters: -[\]^_`{|} +# Assuming you have the following nicks in a channel: +# [SomeNick] _SomeNick_ `SomeNick SomeNick SomeOtherNick +# when $ignore_leading_non_alnum is set to 0 +# s will cycle through SomeNick and SomeOtherNick +# when $ignore_leading_non_alnum is set to 1 +# s will cycle through [SomeNick] _SomeNick_ `SomeNick SomeNick +# SomeOtherNick +my $ignore_leading_non_alnum = 0; + +# enable path completion +my $path_completion = 1; +my $base_path = ''; + +Xchat::register( + "Tab Completion", "1.0401", "Alternative tab completion behavior" +); +Xchat::hook_print( "Key Press", \&complete ); +Xchat::hook_print( "Close Context", \&close_context ); +Xchat::hook_print( "Focus Tab", \&focus_tab ); +Xchat::hook_print( "Part", \&clean_selected ); +Xchat::hook_print( "Part with Reason", \&clean_selected ); +Xchat::hook_command( "", \&track_selected ); + +sub SHIFT() { 1 } +sub CTRL() { 4 } +sub ALT() { 8 } + +sub TAB() { 0xFF09 } +sub LEFT_TAB() { 0xFE20 } + +my %completions; +my %last_visit; +my %selected; +my %escape_map = ( + '[' => qr![\[{]!, + '{' => qr![\[{]!, + '}' => qr![\]}]!, + ']' => qr![\]}]!, + '\\' => qr![\\\|]!, + '|' => qr![\\\|]!, + '.' => qr!\.!, + '^' => qr!\^!, + '$' => qr!\$!, + '*' => qr!\*!, + '+' => qr!\+!, + '?' => qr!\?!, + '(' => qr!\(!, + ')' => qr!\)!, + '-' => qr!\-!, +); + +my $escapes = join "", keys %escape_map; +$escapes = qr/[\Q$escapes\E]/; + +# used to determine if a word is the start of a path +my $path_pattern = qr{^(?:~|/|[[:alpha:]]:\\)}; + +sub complete { + my ($key, $modifiers) = @{$_[0]}; + # if $_[0][0] contains the value of the key pressed + # $_[0][1] contains modifiers + # the value for tab is 0xFF09 + # the value for shift-tab(Left Tab) is 0xFE20 + # we don't care about other keys + + # the key must be a tab and left tab + return Xchat::EAT_NONE unless $key == TAB || $key == LEFT_TAB; + + # if it is a tab then it must not have any modifiers + return Xchat::EAT_NONE if $key == TAB && $modifiers & (CTRL|ALT|SHIFT); + + # loop backwards for shift+tab/left tab + my $delta = $modifiers & SHIFT ? -1 : 1; + my $context = Xchat::get_context; + $completions{$context} ||= {}; + + my $completions = $completions{$context}; + $completions->{pos} ||= -1; + + my $suffix = Xchat::get_prefs( "completion_suffix" ); + $suffix =~ s/^\s+//; + + my $input = Xchat::get_info( "inputbox" ); + my $cursor_pos = Xchat::get_info( "state_cursor" ); + my $left = substr( $input, 0, $cursor_pos ); + my $right = substr( $input, $cursor_pos ); + my $length = length $left; + + # trim spaces from the end of $left to avoid grabbing the wrong word + # this is mainly needed for completion at the very beginning where a space + # is added after the completion + $left =~ s/\s+$//; + + # always add one to the index because + # 1) if a space is found we want the position after it + # 2) if a space isn't found then we get back -1 + my $word_start = rindex( $left, " " ) + 1; + my $word = substr( $left, $word_start ); + $left = substr( $left, 0, -length $word ); + + if( $cursor_pos == $completions->{pos} ) { + my $previous_word = $completions->{completed}; + my $new_left = $input; + substr( $new_left, $cursor_pos ) = ""; + + if( $previous_word and $new_left =~ s/(\Q$previous_word\E)$// ) { + $word = $1; + $word_start = length( $new_left ); + $left = $new_left; + } + } + + my $command_char = Xchat::get_prefs( "input_command_char" ); + # ignore commands + if( ($word !~ m{^[${command_char}]}) + or ( $word =~ m{^[${command_char}]} and $word_start != 0 ) ) { + + if( $cursor_pos == length $input # end of input box + # not a valid nick char + && $input =~ /(?{pos} # not continuing a completion + && $word !~ m{^(?:[&#/~]|[[:alpha:]]:\\)} # not a channel or path + ) { + # check for path completion + unless( $path_completion and $word =~ $path_pattern ) { + $word_start = $cursor_pos; + $left = $input; + $length = length $length; + $right = ""; + $word = ""; + } + } + + if( $word_start == 0 && $prefix && $word =~ /^\Q$prefix/ ) { + $word =~ s/^\Q$prefix//; + } + + my $completed; # this is going to be the "completed" word + + # for parital completions and channel names so a : isn't added + #$completions->{skip_suffix} = ($word =~ /^[&#]/) ? 1 : 0; + + # continuing from a previous completion + if( + exists $completions->{matches} && @{$completions->{matches}} + && $cursor_pos == $completions->{pos} + && $word =~ /^\Q$completions->{matches}[$completions->{index}]/ + ) { + $completions->{index} += $delta; + + if( $completions->{index} < 0 ) { + $completions->{index} += @{$completions->{matches}}; + } else { + $completions->{index} %= @{$completions->{matches}}; + } + + } else { + + if( $word =~ /^[&#]/ ) { + # channel name completion + $completions->{matches} = [ matching_channels( $word ) ]; + $completions->{skip_suffix} = 0; + } elsif( $path_completion and $word =~ $path_pattern ) { + # file name completion + $completions->{matches} = [ matching_files( $word ) ]; + $completions->{skip_suffix} = 1; + } else { + # nick completion + # fix $word so { equals [, ] equals }, \ equals | + # and escape regex metacharacters + $word =~ s/($escapes)/$escape_map{$1}/g; + + $completions->{matches} = [ matching_nicks( $word ) ]; + $completions->{skip_suffix} = 0; + } + $completions->{index} = 0; + + } + $completed = $completions->{matches}[ $completions->{index} ]; + $completions->{completed} = $completed; + + my $completion_amount = Xchat::get_prefs( "completion_amount" ); + + # don't cycle if the number of possible completions is greater than + # completion_amount + if( + @{$completions->{matches}} > $completion_amount + && @{$completions->{matches}} != 1 + ) { + # don't print if we tabbed in the beginning and the list of possible + # completions includes all nicks in the channel + my $context_type = Xchat::context_info->{type}; + if( $context_type != 2 # not a channel + or @{$completions->{matches}} < Xchat::get_list("users") + ) { + Xchat::print( join " ", @{$completions->{matches}}, "\n" ); + } + + $completed = lcs( $completions->{matches} ); + $completions->{skip_suffix} = 1; + } + + if( $completed ) { + + if( $word_start == 0 && !$completions->{skip_suffix} ) { + # at the start of the line append completion suffix + Xchat::command( "settext $prefix$completed$suffix$right"); + $completions->{pos} = length( "$prefix$completed$suffix" ); + } else { + Xchat::command( "settext $left$completed$right" ); + $completions->{pos} = length( "$left$completed" ); + } + + Xchat::command( "setcursor $completions->{pos}" ); + } + +=begin +# debugging stuff + local $, = " "; + my $input_length = length $input; + Xchat::print [ + qq{input[$input]}, + qq{input_length[$input_length]}, + qq{cursor[$cursor_pos]}, + qq{start[$word_start]}, + qq{length[$length]}, + qq{left[$left]}, + qq{word[$word]}, qq{right[$right]}, + qq{completed[}. ($completed||""). qq{]}, + qq{pos[$completions->{pos}]}, + ]; + use Data::Dumper; + local $Data::Dumper::Indent = 0; + Xchat::print Dumper $completions->{matches}; +=cut + + return Xchat::EAT_ALL; + } else { + return Xchat::EAT_NONE; + } +} + + +# all channels starting with $word +sub matching_channels { + my $word = shift; + + # for use in compare_channels(); + our $current_chan; + local $current_chan = Xchat::get_info( "channel" ); + + my $conn_id = Xchat::get_info( "id" ); + $word =~ s/^[&#]+//; + + return + map { $_->[1]->{channel} } + sort compare_channels map { + my $chan = $_->{channel}; + $chan =~ s/^[#&]+//; + + # comparisons will be done based only on the name + # matching name, same connection, only channels + $chan =~ /^$word/i && $_->{id} == $conn_id ? + [ $chan, $_ ] : + () + } channels(); +} + +sub channels { + return grep { $_->{type} == 2 } Xchat::get_list( "channels" ); +} + +sub compare_channels { + # package variable, value set in matching_channels() + our $current_chan; + + # turn off warnings generated from channels that have not yet been visited + # since the script was loaded + no warnings "uninitialized"; + + # the current channel is always first, then ordered by most recently visited + return + $a->[1]{channel} eq $current_chan ? -1 : + $b->[1]{channel} eq $current_chan ? 1 : + $last_visit{ $b->[1]{context} } <=> $last_visit{ $a->[1]{context} } + || $a->[1]{channel} cmp $b->[1]{channel}; + +} + +sub matching_nicks { + my $word_re = shift; + + # for use in compare_nicks() + our ($my_nick, $selections, $now); + local $my_nick = Xchat::get_info( "nick" ); + local $selections = $selected{ Xchat::get_context() }; + local $now = time; + + my $pattern = $ignore_leading_non_alnum ? + qr/^[\-\[\]^_`{|}\\]*$word_re/i : qr/^$word_re/i; + return + map { $_->{nick} } + sort compare_nicks grep { + $_->{nick} =~ $pattern; + } Xchat::get_list( "users" ) + +} + +sub max { + return unless @_; + my $max = shift; + for(@_) { + $max = $_ if $_ > $max; + } + return $max; +} + +sub compare_times { + # package variables set in matching_nicks() + our $selections; + our $now; + + for my $nick ( $a->{nick}, $b->{nick} ) { + # turn off the warnings that get generated from users who have yet + # to speak since the script was loaded + no warnings "uninitialized"; + + if( $last_use_threshold + && (( $now - $selections->{$nick}) > ($last_use_threshold * 60)) ) { + delete $selections->{ $nick } + } + } + my $a_time = $selections->{ $a->{nick} } || 0 ; + my $b_time = $selections->{ $b->{nick} } || 0 ; + + if( $a_time || $b_time ) { + return $b_time <=> $a_time; + } elsif( !$a_time && !$b_time ) { + return $b->{lasttalk} <=> $a->{lasttalk}; + } + +} + +sub compare_nicks { + # more package variables, value set in matching_nicks() + our $my_nick; + + # our own nick is always last, then ordered by the people we spoke to most + # recently and the people who were speaking most recently + return + $a->{nick} eq $my_nick ? 1 : + $b->{nick} eq $my_nick ? -1 : + compare_times() + || Xchat::nickcmp( $a->{nick}, $b->{nick} ); + +# $selections->{ $b->{nick} } <=> $selections->{ $a->{nick} } +# || $b->{lasttalk} <=> $a->{lasttalk} + +} + +sub matching_files { + my $word = shift; + + my ($file, $input_dir) = fileparse( $word ); + + my $dir = expand_tilde( $input_dir ); + + if( opendir my $dir_handle, $dir ) { + my @files; + + if( $file ) { + @files = grep { + #Xchat::print( $_ ); + /^\Q$file/ } readdir $dir_handle; + } else { + @files = readdir $dir_handle; + } + + return map { + File::Spec->catfile( $input_dir, $_ ); + } sort + grep { !/^[.]{1,2}$/ } @files; + } else { + return (); + } +} + +# Remove completion related data for tabs that are closed +sub close_context { + my $context = Xchat::get_context; + delete $completions{$context}; + delete $last_visit{$context}; + return Xchat::EAT_NONE; +} + +# track visit times +sub focus_tab { + $last_visit{Xchat::get_context()} = time(); + return Xchat::EAT_NONE; +} + +# keep track of the last time a message was addressed to someone +# a message is considered addressed to someone if their nick is used followed +# by the completion suffix +sub track_selected { + my $input = $_[1][0]; + return Xchat::EAT_NONE unless defined $input; + + my $suffix = Xchat::get_prefs( "completion_suffix" ); + for( grep defined, $input =~ /^(.+)\Q$suffix/, $_[0][0] ) { + if( in_channel( $_ ) ) { + $selected{Xchat::get_context()}{$_} = time(); + last; + } + } + + return Xchat::EAT_NONE; +} + +# if a user is in the current channel +# user_info() can also be used instead of the loop +sub in_channel { + my $target = shift; + for my $nick ( nicks() ) { + if( $nick eq $target ) { + return 1; + } + } + + return 0; +} + +# list of nicks in the current channel +sub nicks { + return map { $_->{nick} } Xchat::get_list( "users" ); +} + +# remove people from the selected list when they leave the channel +sub clean_selected { + delete $selected{ Xchat::get_context() }{$_[0][0]}; + return Xchat::EAT_NONE; +} + +# Longest common substring +# Used for partial completion when using non-cycling completion +sub lcs { + my @nicks = @{+shift}; + return "" if @nicks == 0; + return $nicks[0] if @nicks == 1; + + my $substring = shift @nicks; + + while(@nicks) { + $substring = common_string( $substring, shift @nicks ); + } + + return $substring; +} + +sub common_string { + my ($nick1, $nick2) = @_; + my $index = 0; + + $index++ while( + ($index < length $nick1) && ($index < length $nick2) && + lc(substr( $nick1, $index, 1 )) eq lc(substr( $nick2, $index, 1 )) + ); + + + return substr( $nick1, 0, $index ); +} + +sub expand_tilde { + my $file = shift; + + $file =~ s/^~/home_dir()/e; + return $file; +} + +sub home_dir { + return $base_path if $base_path; + + if ( $^O eq "MSWin32" ) { + return $ENV{USERPROFILE}; + } else { + return ((getpwuid($>))[7] || $ENV{HOME} || $ENV{LOGDIR}); + } +} diff --git a/plugins/perl/char_count.pl b/plugins/perl/char_count.pl new file mode 100644 index 00000000..418046f4 --- /dev/null +++ b/plugins/perl/char_count.pl @@ -0,0 +1,101 @@ + +use strict; +use warnings; +use Xchat qw(:all); +use Glib qw(TRUE FALSE); +use Gtk2 -init; + +sub get_inputbox { + my $widget = Glib::Object->new_from_pointer( get_info( "win_ptr" ), 0 ); + my $input_box; + + my @containers = ($widget); + + while( @containers ) { + my $container = shift @containers; + + for my $child ( $container->get_children ) { + if( $child->get( "name" ) eq 'xchat-inputbox' ) { + $input_box = $child; + last; + } elsif( $child->isa( "Gtk2::Container" ) ) { + push @containers, $child; + } + } + } + return $input_box; +} + +sub get_hbox { + my $widget = shift; + my $hbox; + + while( $widget->parent ) { + if( $widget->parent->isa( "Gtk2::HBox" ) ) { + return $widget->parent; + } + $widget = $widget->parent; + } + +} + +my $input_box = get_inputbox(); + +if( $input_box ) { + my $hbox = get_hbox( $input_box ); + if( $hbox ) { + my $label = Gtk2::Label->new(); + $label->set_alignment( 0.5, ($label->get_alignment)[1] ); + $hbox->pack_end( $label, 0, 0, 5 ); + $label->show(); + + my $update_label = sub { + my $ctx_type = context_info->{"type"}; + hook_timer( 0, sub { + if( $ctx_type == 2 || $ctx_type == 3 ) { + my $count = length get_info "inputbox"; + $label->set_text( $count ? $count : "" ); + } else { + $label->set_text( "" ); + } + return REMOVE; + }); + return EAT_NONE; + }; + + hook_print( "Key Press", $update_label ); + hook_print( "Focus Tab", $update_label ); + hook_print( "Focus Window", $update_label ); + hook_command( "", + sub { + $label->set_text( "" ); + return EAT_NONE; + } + ); + + my @handlers; + my $buffer = $input_box->get_buffer; + my $handler = sub { $update_label->(); return TRUE }; + + if( $buffer->isa( "Gtk2::TextBuffer" ) ) { + push @handlers, $buffer->signal_connect( "changed", $handler ); + } elsif( $buffer->isa( "Gtk2::EntryBuffer" ) ) { + push @handlers, + $buffer->signal_connect( "deleted-text", $handler ); + $buffer->signal_connect( "inserted-text", $handler ); + } + + register( "Character Counter", "1.0.0", + "Display the number of characters in the inputbox", + sub { + $hbox->remove( $label ); + $buffer->signal_handler_disconnect( $_ ) for @handlers; + } + ); + } else { + prnt "Counldn't find hbox"; + } + +} else { + prnt "Couldn't fint input box"; +} diff --git a/plugins/perl/generate_header b/plugins/perl/generate_header new file mode 100644 index 00000000..d6c8a65f --- /dev/null +++ b/plugins/perl/generate_header @@ -0,0 +1,50 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +sub header { + my $file = shift; + open my $input, "<", $file or die "Couldn't open '$file':$!"; + my @file = <$input>; + close $file; + return toc(@file); +} + +sub toc { + my @lines = @_; + for( @lines ) { + if( /^\s*$/s ) { $_ = qq{"\\n"\n}; next; } + if( /^\s*#/ ) { $_ = qq{"\\n"\n}; next; } + s/\\/\\\\/g; # double the number of \'s + s/"/\\"/g; + s/^\s*/"/; + s/\n/\\n"\n/; + } + return @lines; +} + +for my $files ( + [ "xchat.pm.h", # output file + "lib/Xchat.pm", # input files + "lib/Xchat/Embed.pm", + "lib/Xchat/List/Network.pm", + "lib/Xchat/List/Network/Entry.pm", + "lib/Xchat/List/Network/AutoJoin.pm", + ], + [ "irc.pm.h", # output file + "lib/IRC.pm" # input file + ] +) { + my ($output,@inputs) = @$files; + + open my $header, ">", $output or die "Couldn't open '$output': $!"; + + for my $input ( @inputs ) { + print $header qq["{\\n"\n]; + print $header qq{"#line 1 \\"$input\\"\\n"\n}; + print $header header( $input ); + print $header qq["}\\n"\n]; + } + close $header; +} diff --git a/plugins/perl/generate_html b/plugins/perl/generate_html new file mode 100644 index 00000000..c144ce7e --- /dev/null +++ b/plugins/perl/generate_html @@ -0,0 +1,27 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use File::Basename qw(dirname); + +sub __DIR__ { + return dirname +(caller 0)[1]; +} + +# this must go before use Pod::Html to use our private copy +use lib __DIR__ . '/lib'; +use Pod::Html; + +chdir( __DIR__ ) or die $!; +pod2html( +# "pod2html", + "--header", + "--infile=lib/Xchat.pod", + "--outfile=xchat2-perl.html", +); + +#system( qw(tidy -m -i -xml -utf8 -quiet xchat2-perl.html) ); +unlink( "pod2htmd.tmp" ); +unlink( "pod2htmi.tmp" ); + +exec( "./syntax_highlight", "xchat2-perl.html" ) + or die $!; diff --git a/plugins/perl/lib/IRC.pm b/plugins/perl/lib/IRC.pm new file mode 100644 index 00000000..c22a8e73 --- /dev/null +++ b/plugins/perl/lib/IRC.pm @@ -0,0 +1,257 @@ + +package IRC; +sub IRC::register { + my ($script_name, $version, $callback) = @_; + my $package = caller; + $callback = Xchat::Embed::fix_callback( $package, $callback) if $callback; + Xchat::register( $script_name, $version, undef, $callback ); +} + + +sub IRC::add_command_handler { + my ($command, $callback) = @_; + my $package = caller; + + $callback = Xchat::Embed::fix_callback( $package, $callback ); + + # starting index for word_eol array + # this is for compatibility with '' as the command + my $start_index = $command ? 1 : 0; + + Xchat::hook_command( $command, + sub { + no strict 'refs'; + return &{$callback}($_[1][$start_index]); + } + ); + return; +} + +sub IRC::add_message_handler { + my ($message, $callback) = @_; + my $package = caller; + $callback = Xchat::Embed::fix_callback( $package, $callback ); + + Xchat::hook_server( $message, + sub { + no strict 'refs'; + return &{$callback}( $_[1][0] ); + } + ); + return; +} + +sub IRC::add_print_handler { + my ($event, $callback) = @_; + my $package = caller; + $callback = Xchat::Embed::fix_callback( $package, $callback ); + Xchat::hook_print( $event, + sub { + my @word = @{$_[0]}; + no strict 'refs'; + return &{$callback}( join( ' ', @word[0..3] ), @word ); + } + ); + return; +} + +sub IRC::add_timeout_handler { + my ($timeout, $callback) = @_; + my $package = caller; + $callback = Xchat::Embed::fix_callback( $package, $callback ); + Xchat::hook_timer( $timeout, + sub { + no strict 'refs'; + &{$callback}; + return 0; + } + ); + return; +} + +sub IRC::command { + my $command = shift; + if( $command =~ m{^/} ) { + $command =~ s{^/}{}; + Xchat::command( $command ); + } else { + Xchat::command( qq[say $command] ); + } +} + +sub IRC::command_with_channel { + my ($command, $channel, $server) = @_; + my $old_ctx = Xchat::get_context; + my $ctx = Xchat::find_context( $channel, $server ); + + if( $ctx ) { + Xchat::set_context( $ctx ); + IRC::command( $command ); + Xchat::set_context( $ctx ); + } +} + +sub IRC::command_with_server { + my ($command, $server) = @_; + my $old_ctx = Xchat::get_context; + my $ctx = Xchat::find_context( undef, $server ); + + if( $ctx ) { + Xchat::set_context( $ctx ); + IRC::command( $command ); + Xchat::set_context( $ctx ); + } +} + +sub IRC::dcc_list { + my @dccs; + for my $dcc ( Xchat::get_list( 'dcc' ) ) { + push @dccs, $dcc->{nick}; + push @dccs, $dcc->{file} ? $dcc->{file} : ''; + push @dccs, @{$dcc}{qw(type status cps size)}; + push @dccs, $dcc->{type} == 0 ? $dcc->{pos} : $dcc->{resume}; + push @dccs, $dcc->{address32}; + push @dccs, $dcc->{destfile} ? $dcc->{destfile} : ''; + } + return @dccs; +} + +sub IRC::channel_list { + my @channels; + for my $channel ( Xchat::get_list( 'channels' ) ) { + push @channels, @{$channel}{qw(channel server)}, + Xchat::context_info( $channel->{context} )->{nick}; + } + return @channels; +} + +sub IRC::get_info { + my $id = shift; + my @ids = qw(version nick channel server xchatdir away network host topic); + + if( $id >= 0 && $id <= 8 && $id != 5 ) { + my $info = Xchat::get_info($ids[$id]); + return defined $info ? $info : ''; + } else { + if( $id == 5 ) { + return Xchat::get_info( 'away' ) ? 1 : 0; + } else { + return 'Error2'; + } + } +} + +sub IRC::get_prefs { + return 'Unknown variable' unless defined $_[0]; + my $result = Xchat::get_prefs(shift); + return defined $result ? $result : 'Unknown variable'; +} + +sub IRC::ignore_list { + my @ignores; + for my $ignore ( Xchat::get_list( 'ignore' ) ) { + push @ignores, $ignore->{mask}; + my $flags = $ignore->{flags}; + push @ignores, $flags & 1, $flags & 2, $flags & 4, $flags & 8, $flags & 16, + $flags & 32, ':'; + } + return @ignores; +} + +sub IRC::print { + Xchat::print( $_ ) for @_; + return; +} + +sub IRC::print_with_channel { + Xchat::print( @_ ); +} + +sub IRC::send_raw { + Xchat::commandf( qq[quote %s], shift ); +} + +sub IRC::server_list { + my @servers; + for my $channel ( Xchat::get_list( 'channels' ) ) { + push @servers, $channel->{server} if $channel->{server}; + } + return @servers; +} + +sub IRC::user_info { + my $user; + if( @_ > 0 ) { + $user = Xchat::user_info( shift ); + } else { + $user = Xchat::user_info(); + } + + my @info; + if( $user ) { + push @info, $user->{nick}; + if( $user->{host} ) { + push @info, $user->{host}; + } else { + push @info, 'FETCHING'; + } + push @info, $user->{prefix} eq '@' ? 1 : 0; + push @info, $user->{prefix} eq '+' ? 1 : 0; + } + return @info; +} + +sub IRC::user_list { + my ($channel, $server) = @_; + my $ctx = Xchat::find_context( $channel, $server ); + my $old_ctx = Xchat::get_context; + + if( $ctx ) { + Xchat::set_context( $ctx ); + my @users; + for my $user ( Xchat::get_list( 'users' ) ) { + push @users, $user->{nick}; + if( $user->{host} ) { + push @users, $user->{host}; + } else { + push @users, 'FETCHING'; + } + push @users, $user->{prefix} eq '@' ? 1 : 0; + push @users, $user->{prefix} eq '+' ? 1 : 0; + push @users, ':'; + } + Xchat::set_context( $old_ctx ); + return @users; + } else { + return; + } +} + +sub IRC::user_list_short { + my ($channel, $server) = @_; + my $ctx = Xchat::find_context( $channel, $server ); + my $old_ctx = Xchat::get_context; + + if( $ctx ) { + Xchat::set_context( $ctx ); + my @users; + for my $user ( Xchat::get_list( 'users' ) ) { + my $nick = $user->{nick}; + my $host = $user->{host} || 'FETCHING'; + push @users, $nick, $host; + } + Xchat::set_context( $old_ctx ); + return @users; + } else { + return; + } + +} + +sub IRC::add_user_list {} +sub IRC::sub_user_list {} +sub IRC::clear_user_list {} +sub IRC::notify_list {} +sub IRC::perl_script_list {} + +1 diff --git a/plugins/perl/lib/Pod/Html.pm b/plugins/perl/lib/Pod/Html.pm new file mode 100644 index 00000000..3695564b --- /dev/null +++ b/plugins/perl/lib/Pod/Html.pm @@ -0,0 +1,2399 @@ +package Pod::Html; +use strict; +require Exporter; + +use vars qw($VERSION @ISA @EXPORT @EXPORT_OK); +$VERSION = 1.08; +@ISA = qw(Exporter); +@EXPORT = qw(pod2html htmlify); +@EXPORT_OK = qw(anchorify); + +use Carp; +use Config; +use Cwd; +use File::Spec; +use File::Spec::Unix; +use Getopt::Long; + +use locale; # make \w work right in non-ASCII lands + +=head1 NAME + +Pod::Html - module to convert pod files to HTML + +=head1 SYNOPSIS + + use Pod::Html; + pod2html([options]); + +=head1 DESCRIPTION + +Converts files from pod format (see L) to HTML format. It +can automatically generate indexes and cross-references, and it keeps +a cache of things it knows how to cross-reference. + +=head1 FUNCTIONS + +=head2 pod2html + + pod2html("pod2html", + "--podpath=lib:ext:pod:vms", + "--podroot=/usr/src/perl", + "--htmlroot=/perl/nmanual", + "--libpods=perlfunc:perlguts:perlvar:perlrun:perlop", + "--recurse", + "--infile=foo.pod", + "--outfile=/perl/nmanual/foo.html"); + +pod2html takes the following arguments: + +=over 4 + +=item backlink + + --backlink="Back to Top" + +Adds "Back to Top" links in front of every C heading (except for +the first). By default, no backlinks are generated. + +=item cachedir + + --cachedir=name + +Creates the item and directory caches in the given directory. + +=item css + + --css=stylesheet + +Specify the URL of a cascading style sheet. Also disables all HTML/CSS +C + + + +$block +END_OF_HEAD + + # load/reload/validate/cache %Pages and %Items + get_cache( $Dircache, $Itemcache, \@Podpath, $Podroot, $Recurse ); + + # scan the pod for =item directives + scan_items( \%Local_Items, "", @poddata ); + + # put an index at the top of the file. note, if $Doindex is 0 we + # still generate an index, but surround it with an html comment. + # that way some other program can extract it if desired. + $index =~ s/--+/-/g; + + my $hr = ( $Doindex and $index ) ? qq(
) : ""; + + unless ($Doindex) { + $index = qq(\n); + } + + print HTML << "END_OF_INDEX"; + + +
+

+$index +$hr +
+ + +END_OF_INDEX + + # now convert this file + my $after_item; # set to true after an =item + my $need_dd = 0; + warn "Converting input file $Podfile\n" if $Verbose; + foreach my $i ( 0 .. $#poddata ) { + $_ = $poddata[$i]; + $Paragraph = $i + 1; + if (/^(=.*)/s) { # is it a pod directive? + $Ignore = 0; + $after_item = 0; + $need_dd = 0; + $_ = $1; + if (/^=begin\s+(\S+)\s*(.*)/si) { # =begin + process_begin( $1, $2 ); + } elsif (/^=end\s+(\S+)\s*(.*)/si) { # =end + process_end( $1, $2 ); + } elsif (/^=cut/) { # =cut + process_cut(); + } elsif (/^=pod/) { # =pod + process_pod(); + } else { + next if @Begin_Stack && $Begin_Stack[-1] ne 'html'; + + if (/^=(head[1-6])\s+(.*\S)/s) { # =head[1-6] heading + process_head( $1, $2, $Doindex && $index ); + } elsif (/^=item\s*(.*\S)?/sm) { # =item text + $need_dd = process_item($1); + $after_item = 1; + } elsif (/^=over\s*(.*)/) { # =over N + process_over(); + } elsif (/^=back/) { # =back + process_back($need_dd); + } elsif (/^=for\s+(\S+)\s*(.*)/si) { # =for + process_for( $1, $2 ); + } else { + /^=(\S*)\s*/; + warn "$0: $Podfile: unknown pod directive '$1' in " + . "paragraph $Paragraph. ignoring.\n" + unless $Quiet; + } + } + $Top = 0; + } else { + next if $Ignore; + next if @Begin_Stack && $Begin_Stack[-1] ne 'html'; + print HTML and next if @Begin_Stack && $Begin_Stack[-1] eq 'html'; + print HTML "
\n" if $need_dd; + my $text = $_; + if ( $text =~ /\A\s+/ ) { + process_pre( \$text ); + print HTML "
\n$text
\n"; + + } else { + process_text( \$text ); + + # experimental: check for a paragraph where all lines + # have some ...\t...\t...\n pattern + if ( $text =~ /\t/ ) { + my @lines = split( "\n", $text ); + if ( @lines > 1 ) { + my $all = 2; + foreach my $line (@lines) { + if ( $line =~ /\S/ && $line !~ /\t/ ) { + $all--; + last if $all == 0; + } + } + if ( $all > 0 ) { + $text =~ s/\t+//g; + $text =~ s/^//gm; + $text = + '' + . $text + . '
'; + } + } + } + ## end of experimental + + if ($after_item) { + $After_Lpar = 1; + } + print HTML "

$text

\n"; + } + print HTML "
\n" if $need_dd; + $after_item = 0; + } + } + + # finish off any pending directives + finish_list(); + + # link to page index + print HTML "

$Backlink

\n" + if $Doindex + and $index + and $Backlink; + + print HTML < + + +END_OF_TAIL + + # close the html file + close(HTML); + + warn "Finished\n" if $Verbose; +} + +############################################################################## + +sub usage { + my $podfile = shift; + warn "$0: $podfile: @_\n" if @_; + die < --infile= --outfile= + --podpath=:...: --podroot= + --libpods=:...: --recurse --verbose --index + --netscape --norecurse --noindex --cachedir= + + --backlink - set text for "back to top" links (default: none). + --cachedir - directory for the item and directory cache files. + --css - stylesheet URL + --flush - flushes the item and directory caches. + --[no]header - produce block header/footer (default is no headers). + --help - prints this message. + --hiddendirs - search hidden directories in podpath + --htmldir - directory for resulting HTML files. + --htmlroot - http-server base directory from which all relative paths + in podpath stem (default is /). + --[no]index - generate an index at the top of the resulting html + (default behaviour). + --infile - filename for the pod to convert (input taken from stdin + by default). + --libpods - colon-separated list of pages to search for =item pod + directives in as targets of C<> and implicit links (empty + by default). note, these are not filenames, but rather + page names like those that appear in L<> links. + --outfile - filename for the resulting html file (output sent to + stdout by default). + --podpath - colon-separated list of directories containing library + pods (empty by default). + --podroot - filesystem base directory from which all relative paths + in podpath stem (default is .). + --[no]quiet - suppress some benign warning messages (default is off). + --[no]recurse - recurse on those subdirectories listed in podpath + (default behaviour). + --title - title that will appear in resulting html file. + --[no]verbose - self-explanatory (off by default). + --[no]netscape - deprecated, has no effect. for backwards compatibility only. + +END_OF_USAGE + +} + +sub parse_command_line { + my ( + $opt_backlink, $opt_cachedir, $opt_css, $opt_flush, + $opt_header, $opt_help, $opt_htmldir, $opt_htmlroot, + $opt_index, $opt_infile, $opt_libpods, $opt_netscape, + $opt_outfile, $opt_podpath, $opt_podroot, $opt_quiet, + $opt_recurse, $opt_title, $opt_verbose, $opt_hiddendirs + ); + + unshift @ARGV, split ' ', $Config{pod2html} if $Config{pod2html}; + my $result = GetOptions( + 'backlink=s' => \$opt_backlink, + 'cachedir=s' => \$opt_cachedir, + 'css=s' => \$opt_css, + 'flush' => \$opt_flush, + 'header!' => \$opt_header, + 'help' => \$opt_help, + 'hiddendirs!' => \$opt_hiddendirs, + 'htmldir=s' => \$opt_htmldir, + 'htmlroot=s' => \$opt_htmlroot, + 'index!' => \$opt_index, + 'infile=s' => \$opt_infile, + 'libpods=s' => \$opt_libpods, + 'netscape!' => \$opt_netscape, + 'outfile=s' => \$opt_outfile, + 'podpath=s' => \$opt_podpath, + 'podroot=s' => \$opt_podroot, + 'quiet!' => \$opt_quiet, + 'recurse!' => \$opt_recurse, + 'title=s' => \$opt_title, + 'verbose!' => \$opt_verbose, + ); + usage( "-", "invalid parameters" ) if not $result; + + usage("-") if defined $opt_help; # see if the user asked for help + $opt_help = ""; # just to make -w shut-up. + + @Podpath = split( ":", $opt_podpath ) if defined $opt_podpath; + @Libpods = split( ":", $opt_libpods ) if defined $opt_libpods; + + $Backlink = $opt_backlink if defined $opt_backlink; + $Cachedir = $opt_cachedir if defined $opt_cachedir; + $Css = $opt_css if defined $opt_css; + $Header = $opt_header if defined $opt_header; + $Htmldir = $opt_htmldir if defined $opt_htmldir; + $Htmlroot = $opt_htmlroot if defined $opt_htmlroot; + $Doindex = $opt_index if defined $opt_index; + $Podfile = $opt_infile if defined $opt_infile; + $HiddenDirs = $opt_hiddendirs if defined $opt_hiddendirs; + $Htmlfile = $opt_outfile if defined $opt_outfile; + $Podroot = $opt_podroot if defined $opt_podroot; + $Quiet = $opt_quiet if defined $opt_quiet; + $Recurse = $opt_recurse if defined $opt_recurse; + $Title = $opt_title if defined $opt_title; + $Verbose = $opt_verbose if defined $opt_verbose; + + warn "Flushing item and directory caches\n" + if $opt_verbose && defined $opt_flush; + $Dircache = "$Cachedir/pod2htmd.tmp"; + $Itemcache = "$Cachedir/pod2htmi.tmp"; + if ( defined $opt_flush ) { + 1 while unlink( $Dircache, $Itemcache ); + } +} + +my $Saved_Cache_Key; + +sub get_cache { + my ( $dircache, $itemcache, $podpath, $podroot, $recurse ) = @_; + my @cache_key_args = @_; + + # A first-level cache: + # Don't bother reading the cache files if they still apply + # and haven't changed since we last read them. + + my $this_cache_key = cache_key(@cache_key_args); + + return if $Saved_Cache_Key and $this_cache_key eq $Saved_Cache_Key; + + # load the cache of %Pages and %Items if possible. $tests will be + # non-zero if successful. + my $tests = 0; + if ( -f $dircache && -f $itemcache ) { + warn "scanning for item cache\n" if $Verbose; + $tests = load_cache( $dircache, $itemcache, $podpath, $podroot ); + } + + # if we didn't succeed in loading the cache then we must (re)build + # %Pages and %Items. + if ( !$tests ) { + warn "scanning directories in pod-path\n" if $Verbose; + scan_podpath( $podroot, $recurse, 0 ); + } + $Saved_Cache_Key = cache_key(@cache_key_args); +} + +sub cache_key { + my ( $dircache, $itemcache, $podpath, $podroot, $recurse ) = @_; + return join( '!', + $dircache, $itemcache, $recurse, @$podpath, $podroot, stat($dircache), + stat($itemcache) ); +} + +# +# load_cache - tries to find if the caches stored in $dircache and $itemcache +# are valid caches of %Pages and %Items. if they are valid then it loads +# them and returns a non-zero value. +# +sub load_cache { + my ( $dircache, $itemcache, $podpath, $podroot ) = @_; + my ($tests); + local $_; + + $tests = 0; + + open( CACHE, "<$itemcache" ) + || die "$0: error opening $itemcache for reading: $!\n"; + $/ = "\n"; + + # is it the same podpath? + $_ = ; + chomp($_); + $tests++ if ( join( ":", @$podpath ) eq $_ ); + + # is it the same podroot? + $_ = ; + chomp($_); + $tests++ if ( $podroot eq $_ ); + + # load the cache if its good + if ( $tests != 2 ) { + close(CACHE); + return 0; + } + + warn "loading item cache\n" if $Verbose; + while () { + /(.*?) (.*)$/; + $Items{$1} = $2; + } + close(CACHE); + + warn "scanning for directory cache\n" if $Verbose; + open( CACHE, "<$dircache" ) + || die "$0: error opening $dircache for reading: $!\n"; + $/ = "\n"; + $tests = 0; + + # is it the same podpath? + $_ = ; + chomp($_); + $tests++ if ( join( ":", @$podpath ) eq $_ ); + + # is it the same podroot? + $_ = ; + chomp($_); + $tests++ if ( $podroot eq $_ ); + + # load the cache if its good + if ( $tests != 2 ) { + close(CACHE); + return 0; + } + + warn "loading directory cache\n" if $Verbose; + while () { + /(.*?) (.*)$/; + $Pages{$1} = $2; + } + + close(CACHE); + + return 1; +} + +# +# scan_podpath - scans the directories specified in @podpath for directories, +# .pod files, and .pm files. it also scans the pod files specified in +# @Libpods for =item directives. +# +sub scan_podpath { + my ( $podroot, $recurse, $append ) = @_; + my ( $pwd, $dir ); + my ( $libpod, $dirname, $pod, @files, @poddata ); + + unless ($append) { + %Items = (); + %Pages = (); + } + + # scan each directory listed in @Podpath + $pwd = getcwd(); + chdir($podroot) + || die "$0: error changing to directory $podroot: $!\n"; + foreach $dir (@Podpath) { + scan_dir( $dir, $recurse ); + } + + # scan the pods listed in @Libpods for =item directives + foreach $libpod (@Libpods) { + + # if the page isn't defined then we won't know where to find it + # on the system. + next unless defined $Pages{$libpod} && $Pages{$libpod}; + + # if there is a directory then use the .pod and .pm files within it. + # NOTE: Only finds the first so-named directory in the tree. + # if ($Pages{$libpod} =~ /([^:]*[^(\.pod|\.pm)]):/) { + if ( $Pages{$libpod} =~ /([^:]*(?; + close(POD); + clean_data( \@poddata ); + + scan_items( \%Items, "$dirname/$pod", @poddata ); + } + + # use the names of files as =item directives too. +### Don't think this should be done this way - confuses issues.(WL) +### foreach $pod (@files) { +### $pod =~ /^(.*)(\.pod|\.pm)$/; +### $Items{$1} = "$dirname/$1.html" if $1; +### } + } elsif ( $Pages{$libpod} =~ /([^:]*\.pod):/ + || $Pages{$libpod} =~ /([^:]*\.pm):/ ) + { + + # scan the .pod or .pm file for =item directives + $pod = $1; + open( POD, "<$pod" ) + || die "$0: error opening $pod for input: $!\n"; + @poddata = ; + close(POD); + clean_data( \@poddata ); + + scan_items( \%Items, "$pod", @poddata ); + } else { + warn "$0: shouldn't be here (line " . __LINE__ . "\n" unless $Quiet; + } + } + @poddata = (); # clean-up a bit + + chdir($pwd) + || die "$0: error changing to directory $pwd: $!\n"; + + # cache the item list for later use + warn "caching items for later use\n" if $Verbose; + open( CACHE, ">$Itemcache" ) + || die "$0: error open $Itemcache for writing: $!\n"; + + print CACHE join( ":", @Podpath ) . "\n$podroot\n"; + foreach my $key ( keys %Items ) { + print CACHE "$key $Items{$key}\n"; + } + + close(CACHE); + + # cache the directory list for later use + warn "caching directories for later use\n" if $Verbose; + open( CACHE, ">$Dircache" ) + || die "$0: error open $Dircache for writing: $!\n"; + + print CACHE join( ":", @Podpath ) . "\n$podroot\n"; + foreach my $key ( keys %Pages ) { + print CACHE "$key $Pages{$key}\n"; + } + + close(CACHE); +} + +# +# scan_dir - scans the directory specified in $dir for subdirectories, .pod +# files, and .pm files. notes those that it finds. this information will +# be used later in order to figure out where the pages specified in L<> +# links are on the filesystem. +# +sub scan_dir { + my ( $dir, $recurse ) = @_; + my ( $t, @subdirs, @pods, $pod, $dirname, @dirs ); + local $_; + + @subdirs = (); + @pods = (); + + opendir( DIR, $dir ) + || die "$0: error opening directory $dir: $!\n"; + while ( defined( $_ = readdir(DIR) ) ) { + if ( -d "$dir/$_" + && $_ ne "." + && $_ ne ".." + && ( $HiddenDirs || !/^\./ ) ) + { # directory + $Pages{$_} = "" unless defined $Pages{$_}; + $Pages{$_} .= "$dir/$_:"; + push( @subdirs, $_ ); + } elsif (/\.pod\z/) { # .pod + s/\.pod\z//; + $Pages{$_} = "" unless defined $Pages{$_}; + $Pages{$_} .= "$dir/$_.pod:"; + push( @pods, "$dir/$_.pod" ); + } elsif (/\.html\z/) { # .html + s/\.html\z//; + $Pages{$_} = "" unless defined $Pages{$_}; + $Pages{$_} .= "$dir/$_.pod:"; + } elsif (/\.pm\z/) { # .pm + s/\.pm\z//; + $Pages{$_} = "" unless defined $Pages{$_}; + $Pages{$_} .= "$dir/$_.pm:"; + push( @pods, "$dir/$_.pm" ); + } elsif ( -T "$dir/$_" ) { # script(?) + local *F; + if ( open( F, "$dir/$_" ) ) { + my $line; + while ( defined( $line = ) ) { + if ( $line =~ /^=(?:pod|head1)/ ) { + $Pages{$_} = "" unless defined $Pages{$_}; + $Pages{$_} .= "$dir/$_.pod:"; + last; + } + } + close(F); + } + } + } + closedir(DIR); + + # recurse on the subdirectories if necessary + if ($recurse) { + foreach my $subdir (@subdirs) { + scan_dir( "$dir/$subdir", $recurse ); + } + } +} + +# +# scan_headings - scan a pod file for head[1-6] tags, note the tags, and +# build an index. +# +sub scan_headings { + my ( $sections, @data ) = @_; + my ( $tag, $which_head, $otitle, $listdepth, $index ); + + local $Ignore = 0; + + $listdepth = 0; + $index = ""; + + # scan for =head directives, note their name, and build an index + # pointing to each of them. + foreach my $line (@data) { + if ( $line =~ /^=(head)([1-6])\s+(.*)/ ) { + ( $tag, $which_head, $otitle ) = ( $1, $2, $3 ); + + my $title = depod($otitle); + my $name = anchorify($title); + $$sections{$name} = 1; + $title = process_text( \$otitle ); + + while ( $which_head != $listdepth ) { + if ( $which_head > $listdepth ) { + $index .= "\n" + . ( "\t" x ($listdepth) ) + . ( $listdepth > 0 ? qq{
  • \n} + . "\t"x($listdepth + 1): "" ) + . "
      "; + $listdepth++; + } elsif ( $which_head < $listdepth ) { + $listdepth--; + $index .= "\n" + . ( "\t" x $listdepth ) + . ( $listdepth > 0 ? "\t" : "" ) + . "
    " + . ( $listdepth >= 0 ? "\n" . ("\t"x$listdepth) + . "
  • " : "" ) + . "\n"; + } + } + + $index .= "\n" + . ( "\t" x $listdepth ) . "
  • " + . "" + . $title + . "
  • "; + } + } + + # finish off the lists + while ( $listdepth-- ) { + $index .= "\n" . ( "\t" x $listdepth ) + . ($listdepth > 0 ? "\t" : "") + ."\n" + . ($listdepth > 0 ? ("\t" x $listdepth) . "" : "" ); + } + + # get rid of bogus lists + $index =~ s,\t*
      \s*
    \n,,g; + + return $index; +} + +# +# scan_items - scans the pod specified by $pod for =item directives. we +# will use this information later on in resolving C<> links. +# +sub scan_items { + my ( $itemref, $pod, @poddata ) = @_; + my ( $i, $item ); + local $_; + + $pod =~ s/\.pod\z//; + $pod .= ".html" if $pod; + + foreach $i ( 0 .. $#poddata ) { + my $txt = depod( $poddata[$i] ); + + # figure out what kind of item it is. + # Build string for referencing this item. + if ( $txt =~ /\A=item\s+\*\s*(.*)\Z/s ) { # bullet + next unless $1; + $item = $1; + } elsif ( $txt =~ /\A=item\s+(?>\d+\.?)\s*(.*)\Z/s ) { # numbered list + $item = $1; + } elsif ( $txt =~ /\A=item\s+(.*)\Z/s ) { # plain item + $item = $1; + } else { + next; + } + my $fid = fragment_id($item); + $$itemref{$fid} = "$pod" if $fid; + } +} + +# +# process_head - convert a pod head[1-6] tag and convert it to HTML format. +# +sub process_head { + my ( $tag, $heading, $hasindex ) = @_; + + # figure out the level of the =head + $tag =~ /head([1-6])/; + my $level = $1; + + if ($Listlevel) { + warn +"$0: $Podfile: unterminated list at =head in paragraph $Paragraph. ignoring.\n" + unless $Quiet; + while ($Listlevel) { + process_back(); + } + } + + print HTML "

    \n"; + if ( $level == 1 && !$Top ) { + print HTML "$Backlink\n" + if $hasindex and $Backlink; + print HTML "

    \n
    \n"; + } else { + print HTML "

    \n"; + } + + my $name = anchorify( depod($heading) ); + my $convert = process_text( \$heading ); + $convert =~ s{]+>}{}g; + print HTML "$convert\n"; +} + +# +# emit_item_tag - print an =item's text +# Note: The global $EmittedItem is used for inhibiting self-references. +# +my $EmittedItem; + +sub emit_item_tag($$$) { + my ( $otext, $text, $compact ) = @_; + my $item = fragment_id( depod($text), -generate ); + Carp::confess( "Undefined fragment '$text' (" + . depod($text) + . ") from fragment_id() in emit_item_tag() in $Podfile" ) + if !defined $item; + $EmittedItem = $item; + ### print STDERR "emit_item_tag=$item ($text)\n"; + + print HTML ''; + if ( $Items_Named{$item}++ ) { + print HTML process_text( \$otext ); + } else { + my $name = $item; + $name = anchorify($name); + print HTML +#qq{}, + process_text( \$otext ), + # '' + ; + } + print HTML "\n"; + undef($EmittedItem); +} + +sub emit_li { + my ($tag) = @_; + if ( $Items_Seen[$Listlevel]++ == 0 ) { + push( @Listend, "" ); + print HTML "<$tag>\n"; + } + my $emitted = $tag eq 'dl' ? 'dt' : 'li'; + print HTML "<$emitted>"; + return $emitted; +} + +# +# process_item - convert a pod item tag and convert it to HTML format. +# +sub process_item { + my ($otext) = @_; + my $need_dd = 0; # set to 1 if we need a
    after an item + + # lots of documents start a list without doing an =over. this is + # bad! but, the proper thing to do seems to be to just assume + # they did do an =over. so warn them once and then continue. + if ( $Listlevel == 0 ) { + warn +"$0: $Podfile: unexpected =item directive in paragraph $Paragraph. ignoring.\n" + unless $Quiet; + process_over(); + } + + # formatting: insert a paragraph if preceding item has >1 paragraph + if ($After_Lpar) { + print HTML $need_dd ? "\n" : "\n" if $After_Lpar; + $After_Lpar = 0; + } + + # remove formatting instructions from the text + my $text = depod($otext); + + my $emitted; # the tag actually emitted, used for closing + + # all the list variants: + if ( $text =~ /\A\*/ ) { # bullet + $emitted = emit_li('ul'); + if ( $text =~ /\A\*\s+(\S.*)\Z/s ) { # with additional text + my $tag = $1; + $otext =~ s/\A\*\s+//; + emit_item_tag( $otext, $tag, 1 ); + } + print HTML "" + } elsif ( $text =~ /\A\d+/ ) { # numbered list + $emitted = emit_li('ol'); + if ( $text =~ /\A(?>\d+\.?)\s*(\S.*)\Z/s ) { # with additional text + my $tag = $1; + $otext =~ s/\A\d+\.?\s*//; + emit_item_tag( $otext, $tag, 1 ); + } + print HTML ""; + } else { # definition list + $emitted = emit_li('dl'); + if ( $text =~ /\A(.+)\Z/s ) { # should have text + emit_item_tag( $otext, $text, 1 ); + } + $need_dd = 1; + } + print HTML "\n"; + return $need_dd; +} + +# +# process_over - process a pod over tag and start a corresponding HTML list. +# +sub process_over { + + # start a new list + $Listlevel++; + push( @Items_Seen, 0 ); + $After_Lpar = 0; +} + +# +# process_back - process a pod back tag and convert it to HTML format. +# +sub process_back { + my $need_dd = shift; + if ( $Listlevel == 0 ) { + warn +"$0: $Podfile: unexpected =back directive in paragraph $Paragraph. ignoring.\n" + unless $Quiet; + return; + } + + # close off the list. note, I check to see if $Listend[$Listlevel] is + # defined because an =item directive may have never appeared and thus + # $Listend[$Listlevel] may have never been initialized. + $Listlevel--; + if ( defined $Listend[$Listlevel] ) { + print HTML $need_dd ? "\n" : "\n" if $After_Lpar; + print HTML $Listend[$Listlevel]; + print HTML "\n"; + pop(@Listend); + } + $After_Lpar = 0; + + # clean up item count + pop(@Items_Seen); +} + +# +# process_cut - process a pod cut tag, thus start ignoring pod directives. +# +sub process_cut { + $Ignore = 1; +} + +# +# process_pod - process a pod tag, thus stop ignoring pod directives +# until we see a corresponding cut. +# +sub process_pod { + + # no need to set $Ignore to 0 cause the main loop did it +} + +# +# process_for - process a =for pod tag. if it's for html, spit +# it out verbatim, if illustration, center it, otherwise ignore it. +# +sub process_for { + my ( $whom, $text ) = @_; + if ( $whom =~ /^(pod2)?html$/i ) { + print HTML $text; + } elsif ( $whom =~ /^illustration$/i ) { + 1 while chomp $text; + for my $ext (qw[.png .gif .jpeg .jpg .tga .pcl .bmp]) { + $text .= $ext, last if -r "$text$ext"; + } + print HTML +qq{

    $text illustration

    }; + } +} + +# +# process_begin - process a =begin pod tag. this pushes +# whom we're beginning on the begin stack. if there's a +# begin stack, we only print if it us. +# +sub process_begin { + my ( $whom, $text ) = @_; + $whom = lc($whom); + push( @Begin_Stack, $whom ); + if ( $whom =~ /^(pod2)?html$/ ) { + print HTML $text if $text; + } +} + +# +# process_end - process a =end pod tag. pop the +# begin stack. die if we're mismatched. +# +sub process_end { + my ( $whom, $text ) = @_; + $whom = lc($whom); + if ( !defined $Begin_Stack[-1] or $Begin_Stack[-1] ne $whom ) { + Carp::confess( + "Unmatched begin/end at chunk $Paragraph in pod $Podfile\n"); + } + pop(@Begin_Stack); +} + +# +# process_pre - indented paragraph, made into
    
    +#
    +sub process_pre {
    +	my ($text) = @_;
    +	my ($rest);
    +	return if $Ignore;
    +
    +	$rest = $$text;
    +
    +	# insert spaces in place of tabs
    +	$rest =~ s#(.+)#
    +	    my $line = $1;
    +            1 while $line =~ s/(\t+)/' ' x ((length($1) * 8) - $-[0] % 8)/e;
    +	    $line;
    +	#eg;
    +
    +	# convert some special chars to HTML escapes
    +	$rest = html_escape($rest);
    +
    +	# try and create links for all occurrences of perl.* within
    +	# the preformatted text.
    +	$rest =~ s{
    +	         (\s*)(perl\w+)
    +	      }{
    +		 if ( defined $Pages{$2} ){	# is a link
    +		     qq($1$2);
    +		 } elsif (defined $Pages{dosify($2)}) {	# is a link
    +		     qq($1$2);
    +		 } else {
    +		     "$1$2";
    +		 }
    +	      }xeg;
    +	$rest =~ s{
    +		 ('
    +	|			# or:
    +	    [$punc]*		# 0 or more punctuation
    +	    (?:			#   followed
    +		[^$any]		#   by a non-url char
    +	    |			#   or
    +		$		#   end of the string
    +	    )			#
    +	|			# or else
    +	    $			#   then end of the string
    +        )
    +      }{$1}igox;
    +
    +	# text should be as it is (verbatim)
    +	$$text = $rest;
    +}
    +
    +#
    +# pure text processing
    +#
    +# pure_text/inIS_text: differ with respect to automatic C<> recognition.
    +# we don't want this to happen within IS
    +#
    +sub pure_text($) {
    +	my $text = shift();
    +	process_puretext( $text, 1 );
    +}
    +
    +sub inIS_text($) {
    +	my $text = shift();
    +	process_puretext( $text, 0 );
    +}
    +
    +#
    +# process_puretext - process pure text (without pod-escapes) converting
    +#  double-quotes and handling implicit C<> links.
    +#
    +sub process_puretext {
    +	my ( $text, $notinIS ) = @_;
    +
    +	## Guessing at func() or [\$\@%&]*var references in plain text is destined
    +	## to produce some strange looking ref's. uncomment to disable:
    +	## $notinIS = 0;
    +
    +	my ( @words, $lead, $trail );
    +
    +	# keep track of leading and trailing white-space
    +	$lead  = ( $text =~ s/\A(\s+)//s ? $1 : "" );
    +	$trail = ( $text =~ s/(\s+)\Z//s ? $1 : "" );
    +
    +	# split at space/non-space boundaries
    +	@words = split( /(?<=\s)(?=\S)|(?<=\S)(?=\s)/, $text );
    +
    +	# process each word individually
    +	foreach my $word (@words) {
    +
    +		# skip space runs
    +		next if $word =~ /^\s*$/;
    +
    +		# see if we can infer a link or a function call
    +		#
    +		# NOTE: This is a word based search, it won't automatically
    +		# mark "substr($var, 1, 2)" because the 1st word would be "substr($var"
    +		# User has to enclose those with proper C<>
    +
    +		if (
    +			   $notinIS
    +			&& $word =~ m/
    +		^([a-z_]{2,})                 # The function name
    +		\(
    +		    ([0-9][a-z]*              # Manual page(1) or page(1M)
    +		    |[^)]*[\$\@\%][^)]+       # ($foo), (1, @foo), (%hash)
    +		    |                         # ()
    +		    )
    +		\)
    +		([.,;]?)$                     # a possible punctuation follows
    +	    /xi
    +			)
    +		{
    +
    +			# has parenthesis so should have been a C<> ref
    +			## try for a pagename (perlXXX(1))?
    +			my ( $func, $args, $rest ) = ( $1, $2, $3 || '' );
    +			if ( $args =~ /^\d+$/ ) {
    +				my $url = page_sect( $word, '' );
    +				if ( defined $url ) {
    +					$word =
    +qq(the $word manpage$rest);
    +					next;
    +				}
    +			}
    +			## try function name for a link, append tt'ed argument list
    +			$word = emit_C( $func, '', "($args)" ) . $rest;
    +
    +#### disabled. either all (including $\W, $\w+{.*} etc.) or nothing.
    +##      } elsif( $notinIS && $word =~ /^[\$\@%&*]+\w+$/) {
    +##	    # perl variables, should be a C<> ref
    +##	    $word = emit_C( $word );
    +
    +		} elsif ( $word =~ m,^\w+://\w, ) {
    +
    +			# looks like a URL
    +			# Don't relativize it: leave it as the author intended
    +			$word = qq($word);
    +		} elsif ( $word =~ /[\w.-]+\@[\w-]+\.\w/ ) {
    +
    +			# looks like an e-mail address
    +			my ( $w1, $w2, $w3 ) = ( "", $word, "" );
    +			( $w1, $w2, $w3 ) = ( "(", $1, ")$2" ) if $word =~ /^\((.*?)\)(,?)/;
    +			( $w1, $w2, $w3 ) = ( "<", $1, ">$2" )
    +				if $word =~ /^<(.*?)>(,?)/;
    +			$word = qq($w1$w2$w3);
    +		} else {
    +			$word = html_escape($word) if $word =~ /["&<>]/;
    +		}
    +	}
    +
    +	# put everything back together
    +	return $lead . join( '', @words ) . $trail;
    +}
    +
    +#
    +# process_text - handles plaintext that appears in the input pod file.
    +# there may be pod commands embedded within the text so those must be
    +# converted to html commands.
    +#
    +
    +sub process_text1($$;$$);
    +sub pattern ($) { $_[0] ? '\s+' . ( '>' x ( $_[0] + 1 ) ) : '>' }
    +sub closing ($) { local ($_) = shift; ( defined && s/\s+\z// ) ? length : 0 }
    +
    +sub process_text {
    +	return if $Ignore;
    +	my ($tref) = @_;
    +	my $res = process_text1( 0, $tref );
    +	$res =~ s/\s+$//s;
    +	$$tref = $res;
    +}
    +
    +sub process_text_rfc_links {
    +	my $text = shift;
    +
    +	# For every "RFCnnnn" or "RFC nnn", link it to the authoritative
    +	# ource. Do not use the /i modifier here. Require "RFC" to be written in
    +	#  in capital letters.
    +
    +	$text =~ s{
    +	(?<=[^<>[:alpha:]])           # Make sure this is not an URL already
    +	(RFC\s*([0-9]{1,5}))(?![0-9]) # max 5 digits
    +    }
    +    {$1}gx;
    +
    +	$text;
    +}
    +
    +sub process_text1($$;$$) {
    +	my ( $lev, $rstr, $func, $closing ) = @_;
    +	my $res = '';
    +
    +	unless ( defined $func ) {
    +		$func = '';
    +		$lev++;
    +	}
    +
    +	if ( $func eq 'B' ) {
    +
    +		# B - boldface
    +		$res = '' . process_text1( $lev, $rstr ) . '';
    +
    +	} elsif ( $func eq 'C' ) {
    +
    +		# C - can be a ref or 
    +		# need to extract text
    +		my $par = go_ahead( $rstr, 'C', $closing );
    +
    +		## clean-up of the link target
    +		my $text = depod($par);
    +
    +		### my $x = $par =~ /[BI]call emit_C($par) lev=$lev, par with BI=$x\n";
    +
    +		$res = emit_C( $text, $lev > 1 || ( $par =~ /[BI] - convert to character
    +		$$rstr =~ s/^([^>]*)>//;
    +		my $escape = $1;
    +		$escape =~ s/^(\d+|X[\dA-F]+)$/#$1/i;
    +		$res = "&$escape;";
    +
    +	} elsif ( $func eq 'F' ) {
    +
    +		# F - italicize
    +		$res = '' . process_text1( $lev, $rstr ) . '';
    +
    +	} elsif ( $func eq 'I' ) {
    +
    +		# I - italicize
    +		$res = '' . process_text1( $lev, $rstr ) . '';
    +
    +	} elsif ( $func eq 'L' ) {
    +
    +		# L - link
    +		## L => produce text, use cross-ref for linking
    +		## L => make text from cross-ref
    +		## need to extract text
    +		my $par = go_ahead( $rstr, 'L', $closing );
    +
    +		# some L<>'s that shouldn't be:
    +		# a) full-blown URL's are emitted as-is
    +		if ( $par =~ m{^\w+://}s ) {
    +			return make_URL_href($par);
    +		}
    +
    +		# b) C<...> is stripped and treated as C<>
    +		if ( $par =~ /^C<(.*)>$/ ) {
    +			my $text = depod($1);
    +			return emit_C( $text, $lev > 1 || ( $par =~ /[BI] L<$par> to page $page, ident $ident\n";
    +
    +		} elsif ( $par =~ m{^(.*?)/"?(.*?)"?$} ) {    # [name]/"section"
    +			    # even though this should be a "section", we go for ident first
    +			( $page, $ident ) = ( $1, $2 );
    +			### print STDERR "--> L<$par> to page $page, section $section\n";
    +
    +		} elsif ( $par =~ /\s/ ) {  # this must be a section with missing quotes
    +			( $page, $section ) = ( '', $par );
    +			### print STDERR "--> L<$par> to void page, section $section\n";
    +
    +		} else {
    +			( $page, $section ) = ( $par, '' );
    +			### print STDERR "--> L<$par> to page $par, void section\n";
    +		}
    +
    +		# now, either $section or $ident is defined. the convoluted logic
    +		# below tries to resolve L<> according to what the user specified.
    +		# failing this, we try to find the next best thing...
    +		my ( $url, $ltext, $fid );
    +
    +	RESOLVE: {
    +			if ( defined $ident ) {
    +				## try to resolve $ident as an item
    +				( $url, $fid ) = coderef( $page, $ident );
    +				if ($url) {
    +					if ( !defined($linktext) ) {
    +						$linktext = $ident;
    +						$linktext .= " in " if $ident && $page;
    +						$linktext .= "the $page manpage" if $page;
    +					}
    +					###  print STDERR "got coderef url=$url\n";
    +					last RESOLVE;
    +				}
    +				## no luck: go for a section (auto-quoting!)
    +				$section = $ident;
    +			}
    +			## now go for a section
    +			my $htmlsection = htmlify($section);
    +			$url = page_sect( $page, $htmlsection );
    +			if ($url) {
    +				if ( !defined($linktext) ) {
    +					$linktext = $section;
    +					$linktext .= " in " if $section && $page;
    +					$linktext .= "the $page manpage" if $page;
    +				}
    +				### print STDERR "got page/section url=$url\n";
    +				last RESOLVE;
    +			}
    +			## no luck: go for an ident
    +			if ($section) {
    +				$ident = $section;
    +			} else {
    +				$ident = $page;
    +				$page  = undef();
    +			}
    +			( $url, $fid ) = coderef( $page, $ident );
    +			if ($url) {
    +				if ( !defined($linktext) ) {
    +					$linktext = $ident;
    +					$linktext .= " in " if $ident && $page;
    +					$linktext .= "the $page manpage" if $page;
    +				}
    +				### print STDERR "got section=>coderef url=$url\n";
    +				last RESOLVE;
    +			}
    +
    +			# warning; show some text.
    +			$linktext = $opar unless defined $linktext;
    +			warn
    +"$0: $Podfile: cannot resolve L<$opar> in paragraph $Paragraph.\n"
    +				unless $Quiet;
    +		}
    +
    +		# now we have a URL or just plain code
    +		$$rstr = $linktext . '>' . $$rstr;
    +		if ( defined($url) ) {
    +			$res = "" . process_text1( $lev, $rstr ) . '';
    +		} else {
    +			$res = '' . process_text1( $lev, $rstr ) . '';
    +		}
    +
    +	} elsif ( $func eq 'S' ) {
    +
    +		# S - non-breaking spaces
    +		$res = process_text1( $lev, $rstr );
    +		$res =~ s/ / /g;
    +
    +	} elsif ( $func eq 'X' ) {
    +
    +		# X<> - ignore
    +		warn "$0: $Podfile: invalid X<> in paragraph $Paragraph.\n"
    +			unless $$rstr =~ s/^[^>]*>//
    +				or $Quiet;
    +	} elsif ( $func eq 'Z' ) {
    +
    +		# Z<> - empty
    +		warn "$0: $Podfile: invalid Z<> in paragraph $Paragraph.\n"
    +			unless $$rstr =~ s/^>//
    +				or $Quiet;
    +
    +	} else {
    +		my $term = pattern $closing;
    +		while ( $$rstr =~ s/\A(.*?)(([BCEFILSXZ])<(<+[^\S\n]+)?|$term)//s ) {
    +
    +			# all others: either recurse into new function or
    +			# terminate at closing angle bracket(s)
    +			my $pt = $1;
    +			$pt .= $2 if !$3 && $lev == 1;
    +			$res .= $lev == 1 ? pure_text($pt) : inIS_text($pt);
    +			return $res if !$3 && $lev > 1;
    +			if ($3) {
    +				$res .= process_text1( $lev, $rstr, $3, closing $4 );
    +			}
    +		}
    +		if ( $lev == 1 ) {
    +			$res .= pure_text($$rstr);
    +		} elsif ( !$Quiet ) {
    +			my $snippet = substr( $$rstr, 0, 60 );
    +			warn
    +"$0: $Podfile: undelimited $func<> in paragraph $Paragraph: '$snippet'.\n"
    +
    +		}
    +		$res = process_text_rfc_links($res);
    +	}
    +	return $res;
    +}
    +
    +#
    +# go_ahead: extract text of an IS (can be nested)
    +#
    +sub go_ahead($$$) {
    +	my ( $rstr, $func, $closing ) = @_;
    +	my $res     = '';
    +	my @closing = ($closing);
    +	while ( $$rstr =~
    +		s/\A(.*?)(([BCEFILSXZ])<(<+\s+)?|@{[pattern $closing[0]]})//s )
    +	{
    +		$res .= $1;
    +		unless ($3) {
    +			shift @closing;
    +			return $res unless @closing;
    +		} else {
    +			unshift @closing, closing $4;
    +		}
    +		$res .= $2;
    +	}
    +	unless ($Quiet) {
    +		my $snippet = substr( $$rstr, 0, 60 );
    +		warn
    +"$0: $Podfile: undelimited $func<> in paragraph $Paragraph (go_ahead): '$snippet'.\n";
    +	}
    +	return $res;
    +}
    +
    +#
    +# emit_C - output result of C
    +#    $text is the depod-ed text
    +#
    +sub emit_C($;$$) {
    +	my ( $text, $nocode, $args ) = @_;
    +	$args = '' unless defined $args;
    +	my $res;
    +	my ( $url, $fid ) = coderef( undef(), $text );
    +
    +	# need HTML-safe text
    +	my $linktext = html_escape("$text$args");
    +
    +	if ( $text !~ /^[\$@%]/
    +		&& defined($url)
    +		&& ( !defined($EmittedItem) || $EmittedItem ne $fid ) )
    +	{
    +		$res = "$linktext";
    +	} elsif ( 0 && $nocode ) {
    +		$res = $linktext;
    +	} else {
    +		$res = "$linktext";
    +	}
    +	return $res;
    +}
    +
    +#
    +# html_escape: make text safe for HTML
    +#
    +sub html_escape {
    +	my $rest = $_[0];
    +	$rest =~ s/&/&/g;
    +	$rest =~ s//>/g;
    +	$rest =~ s/"/"/g;
    +
    +	# ' is only in XHTML, not HTML4.  Be conservative
    +	#$rest   =~ s/'/'/g;
    +	return $rest;
    +}
    +
    +#
    +# dosify - convert filenames to 8.3
    +#
    +sub dosify {
    +	my ($str) = @_;
    +	return lc($str) if $^O eq 'VMS';    # VMS just needs casing
    +	if ($Is83) {
    +		$str = lc $str;
    +		$str =~ s/(\.\w+)/substr ($1,0,4)/ge;
    +		$str =~ s/(\w+)/substr ($1,0,8)/ge;
    +	}
    +	return $str;
    +}
    +
    +#
    +# page_sect - make a URL from the text of a L<>
    +#
    +sub page_sect($$) {
    +	my ( $page, $section ) = @_;
    +	my ( $linktext, $page83, $link );    # work strings
    +
    +	# check if we know that this is a section in this page
    +	if ( !defined $Pages{$page} && defined $Sections{$page} ) {
    +		$section = $page;
    +		$page    = "";
    +		### print STDERR "reset page='', section=$section\n";
    +	}
    +
    +	$page83 = dosify($page);
    +	$page = $page83 if ( defined $Pages{$page83} );
    +	if ( $page eq "" ) {
    +		$link = "#" . anchorify($section);
    +	} elsif ( $page =~ /::/ ) {
    +		$page =~ s,::,/,g;
    +
    +		# Search page cache for an entry keyed under the html page name,
    +		# then look to see what directory that page might be in.  NOTE:
    +		# this will only find one page. A better solution might be to produce
    +		# an intermediate page that is an index to all such pages.
    +		my $page_name = $page;
    +		$page_name =~ s,^.*/,,s;
    +		if ( defined( $Pages{$page_name} )
    +			&& $Pages{$page_name} =~ /([^:]*$page)\.(?:pod|pm):/ )
    +		{
    +			$page = $1;
    +		} else {
    +
    +			# NOTE: This branch assumes that all A::B pages are located in
    +			# $Htmlroot/A/B.html . This is often incorrect, since they are
    +			# often in $Htmlroot/lib/A/B.html or such like. Perhaps we could
    +			# analyze the contents of %Pages and figure out where any
    +			# cousins of A::B are, then assume that.  So, if A::B isn't found,
    +			# but A::C is found in lib/A/C.pm, then A::B is assumed to be in
    +			# lib/A/B.pm. This is also limited, but it's an improvement.
    +			# Maybe a hints file so that the links point to the correct places
    +			# nonetheless?
    +
    +		}
    +		$link = "$Htmlroot/$page.html";
    +		$link .= "#" . anchorify($section) if ($section);
    +	} elsif ( !defined $Pages{$page} ) {
    +		$link = "";
    +	} else {
    +		$section = anchorify($section) if $section ne "";
    +		### print STDERR "...section=$section\n";
    +
    +		# if there is a directory by the name of the page, then assume that an
    +		# appropriate section will exist in the subdirectory
    +		#	if ($section ne "" && $Pages{$page} =~ /([^:]*[^(\.pod|\.pm)]):/) {
    +		if ( $section ne "" && $Pages{$page} =~ /([^:]*(?, Foo.(pod|pm) is preferred to A/Foo.(pod|pm)
    +			if ( $Pages{$page} =~ /([^:]*)\.(?:pod|pm):/ ) {
    +				$link = "$Htmlroot/$1.html$section";
    +			} else {
    +				$link = "";
    +			}
    +		}
    +	}
    +
    +	if ($link) {
    +
    +		# Here, we take advantage of the knowledge that $Htmlfileurl ne ''
    +		# implies $Htmlroot eq ''. This means that the link in question
    +		# needs a prefix of $Htmldir if it begins with '/'. The test for
    +		# the initial '/' is done to avoid '#'-only links, and to allow
    +		# for other kinds of links, like file:, ftp:, etc.
    +		my $url;
    +		if ( $Htmlfileurl ne '' ) {
    +			$link = "$Htmldir$link" if $link =~ m{^/}s;
    +			$url = relativize_url( $link, $Htmlfileurl );
    +
    +			# print( "  b: [$link,$Htmlfileurl,$url]\n" );
    +		} else {
    +			$url = $link;
    +		}
    +		return $url;
    +
    +	} else {
    +		return undef();
    +	}
    +}
    +
    +#
    +# relativize_url - convert an absolute URL to one relative to a base URL.
    +# Assumes both end in a filename.
    +#
    +sub relativize_url {
    +	my ( $dest, $source ) = @_;
    +
    +	my ( $dest_volume, $dest_directory, $dest_file ) =
    +		File::Spec::Unix->splitpath($dest);
    +	$dest = File::Spec::Unix->catpath( $dest_volume, $dest_directory, '' );
    +
    +	my ( $source_volume, $source_directory, $source_file ) =
    +		File::Spec::Unix->splitpath($source);
    +	$source =
    +		File::Spec::Unix->catpath( $source_volume, $source_directory, '' );
    +
    +	my $rel_path = '';
    +	if ( $dest ne '' ) {
    +		$rel_path = File::Spec::Unix->abs2rel( $dest, $source );
    +	}
    +
    +	if (   $rel_path ne ''
    +		&& substr( $rel_path, -1 ) ne '/'
    +		&& substr( $dest_file, 0, 1 ) ne '#' )
    +	{
    +		$rel_path .= "/$dest_file";
    +	} else {
    +		$rel_path .= "$dest_file";
    +	}
    +
    +	return $rel_path;
    +}
    +
    +#
    +# coderef - make URL from the text of a C<>
    +#
    +sub coderef($$) {
    +	my ( $page, $item ) = @_;
    +	my ($url);
    +
    +	my $fid = fragment_id($item);
    +
    +	if ( defined($page) && $page ne "" ) {
    +
    +		# we have been given a $page...
    +		$page =~ s{::}{/}g;
    +
    +		Carp::confess(
    +"Undefined fragment '$item' from fragment_id() in coderef() in $Podfile"
    +		) if !defined $fid;
    +
    +		# Do we take it? Item could be a section!
    +		my $base = $Items{$fid} || "";
    +		$base =~ s{[^/]*/}{};
    +		if ( $base ne "$page.html" ) {
    +			###   print STDERR "coderef( $page, $item ): items{$fid} = $Items{$fid} = $base => discard page!\n";
    +			$page = undef();
    +		}
    +
    +	} else {
    +
    +		# no page - local items precede cached items
    +		if ( defined($fid) ) {
    +			if ( exists $Local_Items{$fid} ) {
    +				$page = $Local_Items{$fid};
    +			} else {
    +				$page = $Items{$fid};
    +			}
    +		}
    +	}
    +
    +	# if there was a pod file that we found earlier with an appropriate
    +	# =item directive, then create a link to that page.
    +	if ( defined $page ) {
    +		if ($page) {
    +			if ( exists $Pages{$page} and $Pages{$page} =~ /([^:.]*)\.[^:]*:/ )
    +			{
    +				$page = $1 . '.html';
    +			}
    +			my $link = "$Htmlroot/$page#" . anchorify($fid);
    +
    +			# Here, we take advantage of the knowledge that $Htmlfileurl
    +			# ne '' implies $Htmlroot eq ''.
    +			if ( $Htmlfileurl ne '' ) {
    +				$link = "$Htmldir$link";
    +				$url = relativize_url( $link, $Htmlfileurl );
    +			} else {
    +				$url = $link;
    +			}
    +		} else {
    +			$url = "#" . anchorify($fid);
    +		}
    +
    +		confess "url has space: $url" if $url =~ /"[^"]*\s[^"]*"/;
    +	}
    +	return ( $url, $fid );
    +}
    +
    +#
    +# Adapted from Nick Ing-Simmons' PodToHtml package.
    +sub relative_url {
    +	my $source_file      = shift;
    +	my $destination_file = shift;
    +
    +	my $source = URI::file->new_abs($source_file);
    +	my $uo = URI::file->new( $destination_file, $source )->abs;
    +	return $uo->rel->as_string;
    +}
    +
    +#
    +# finish_list - finish off any pending HTML lists.  this should be called
    +# after the entire pod file has been read and converted.
    +#
    +sub finish_list {
    +	while ( $Listlevel > 0 ) {
    +		print HTML "\n";
    +		$Listlevel--;
    +	}
    +}
    +
    +#
    +# htmlify - converts a pod section specification to a suitable section
    +# specification for HTML. Note that we keep spaces and special characters
    +# except ", ? (Netscape problem) and the hyphen (writer's problem...).
    +#
    +sub htmlify {
    +	my ($heading) = @_;
    +	$heading =~ s/(\s+)/ /g;
    +	$heading =~ s/\s+\Z//;
    +	$heading =~ s/\A\s+//;
    +
    +	# The hyphen is a disgrace to the English language.
    +	# $heading =~ s/[-"?]//g;
    +	$heading =~ s/["?]//g;
    +	$heading = lc($heading);
    +	return $heading;
    +}
    +
    +#
    +# similar to htmlify, but turns non-alphanumerics into underscores
    +#
    +sub anchorify {
    +	my ($anchor) = @_;
    +	$anchor =~ s/\([^)]*\)//;
    +	$anchor = htmlify($anchor);
    +	$anchor =~ s/\W/_/g;
    +	$anchor =~ tr/_/_/s;
    +	return $anchor;
    +}
    +
    +#
    +# depod - convert text by eliminating all interior sequences
    +# Note: can be called with copy or modify semantics
    +#
    +my %E2c;
    +$E2c{lt}     = '<';
    +$E2c{gt}     = '>';
    +$E2c{sol}    = '/';
    +$E2c{verbar} = '|';
    +$E2c{amp}    = '&';    # in Tk's pods
    +
    +sub depod1($;$$);
    +
    +sub depod($) {
    +	my $string;
    +	if ( ref( $_[0] ) ) {
    +		$string = ${ $_[0] };
    +		${ $_[0] } = depod1( \$string );
    +	} else {
    +		$string = $_[0];
    +		depod1( \$string );
    +	}
    +}
    +
    +sub depod1($;$$) {
    +	my ( $rstr, $func, $closing ) = @_;
    +	my $res = '';
    +	return $res unless defined $$rstr;
    +	if ( !defined($func) ) {
    +
    +		# skip to next begin of an interior sequence
    +		while ( $$rstr =~ s/\A(.*?)([BCEFILSXZ])<(<+[^\S\n]+)?//s ) {
    +
    +			# recurse into its text
    +			$res .= $1 . depod1( $rstr, $2, closing $3);
    +		}
    +		$res .= $$rstr;
    +	} elsif ( $func eq 'E' ) {
    +
    +		# E - convert to character
    +		$$rstr =~ s/^([^>]*)>//;
    +		$res .= $E2c{$1} || "";
    +	} elsif ( $func eq 'X' ) {
    +
    +		# X<> - ignore
    +		$$rstr =~ s/^[^>]*>//;
    +	} elsif ( $func eq 'Z' ) {
    +
    +		# Z<> - empty
    +		$$rstr =~ s/^>//;
    +	} else {
    +
    +		# all others: either recurse into new function or
    +		# terminate at closing angle bracket
    +		my $term = pattern $closing;
    +		while ( $$rstr =~ s/\A(.*?)(([BCEFILSXZ])<(<+[^\S\n]+)?|$term)//s ) {
    +			$res .= $1;
    +			last unless $3;
    +			$res .= depod1( $rstr, $3, closing $4 );
    +		}
    +		## If we're here and $2 ne '>': undelimited interior sequence.
    +		## Ignored, as this is called without proper indication of where we are.
    +		## Rely on process_text to produce diagnostics.
    +	}
    +	return $res;
    +}
    +
    +{
    +	my %seen;    # static fragment record hash
    +
    +	sub fragment_id_readable {
    +		my $text     = shift;
    +		my $generate = shift;    # optional flag
    +
    +		my $orig = $text;
    +
    +		# leave the words for the fragment identifier,
    +		# change everything else to underbars.
    +		$text =~
    +			s/[^A-Za-z0-9_]+/_/g;    # do not use \W to avoid locale dependency.
    +		$text =~ s/_{2,}/_/g;
    +		$text =~ s/\A_//;
    +		$text =~ s/_\Z//;
    +
    +		unless ($text) {
    +
    +			# Nothing left after removing punctuation, so leave it as is
    +			# E.g. if option is named: "=item -#"
    +
    +			$text = $orig;
    +		}
    +
    +		if ($generate) {
    +			if ( exists $seen{$text} ) {
    +
    +				# This already exists, make it unique
    +				$seen{$text}++;
    +				$text = $text . $seen{$text};
    +			} else {
    +				$seen{$text} = 1;    # first time seen this fragment
    +			}
    +		}
    +
    +		$text;
    +	}
    +}
    +
    +my @HC;
    +
    +sub fragment_id_obfuscated {         # This was the old "_2d_2d__"
    +	my $text     = shift;
    +	my $generate = shift;            # optional flag
    +
    +	# text? Normalize by obfuscating the fragment id to make it unique
    +	$text =~ s/\s+/_/sg;
    +
    +	$text =~ s{(\W)}{
    +        defined( $HC[ord($1)] ) ? $HC[ord($1)]
    +        : ( $HC[ord($1)] = sprintf( "%%%02X", ord($1) ) ) }gxe;
    +	$text = substr( $text, 0, 50 );
    +
    +	$text;
    +}
    +
    +#
    +# fragment_id - construct a fragment identifier from:
    +#   a) =item text
    +#   b) contents of C<...>
    +#
    +
    +sub fragment_id {
    +	my $text     = shift;
    +	my $generate = shift;    # optional flag
    +
    +	$text =~ s/\s+\Z//s;
    +	if ($text) {
    +
    +		# a method or function?
    +		return $1 if $text =~ /(\w+)\s*\(/;
    +		return $1 if $text =~ /->\s*(\w+)\s*\(?/;
    +
    +		# a variable name?
    +		return $1 if $text =~ /^([\$\@%*]\S+)/;
    +
    +		# some pattern matching operator?
    +		return $1 if $text =~ m|^(\w+/).*/\w*$|;
    +
    +		# fancy stuff... like "do { }"
    +		return $1 if $text =~ m|^(\w+)\s*{.*}$|;
    +
    +		# honour the perlfunc manpage: func [PAR[,[ ]PAR]...]
    +		# and some funnies with ... Module ...
    +		return $1 if $text =~ m{^([a-z\d_]+)(\s+[A-Z,/& ][A-Z\d,/& ]*)?$};
    +		return $1 if $text =~ m{^([a-z\d]+)\s+Module(\s+[A-Z\d,/& ]+)?$};
    +
    +		return fragment_id_readable( $text, $generate );
    +	} else {
    +		return;
    +	}
    +}
    +
    +#
    +# make_URL_href - generate HTML href from URL
    +# Special treatment for CGI queries.
    +#
    +sub make_URL_href($;$) {
    +	my ($url) = shift;
    +	my $linktext = shift || $url;
    +	if ( $url !~ s{^(http:[-\w/#~:.+=&%@!]+)(\?.*)$}{$1}i ) {
    +		$url = "$linktext";
    +	}
    +	return $url;
    +}
    +
    +1;
    diff --git a/plugins/perl/lib/Xchat.pm b/plugins/perl/lib/Xchat.pm
    new file mode 100644
    index 00000000..74914882
    --- /dev/null
    +++ b/plugins/perl/lib/Xchat.pm
    @@ -0,0 +1,506 @@
    +BEGIN {
    +	$INC{'Xchat.pm'} = 'DUMMY';
    +}
    +
    +$SIG{__WARN__} = sub {
    +	my $message = shift @_;
    +	my ($package) = caller;
    +	
    +	# redirect Gtk/Glib errors and warnings back to STDERR
    +	my $message_levels =	qr/ERROR|CRITICAL|WARNING|MESSAGE|INFO|DEBUG/i;
    +	if( $message =~ /^(?:Gtk|GLib|Gdk)(?:-\w+)?-$message_levels/i ) {
    +		print STDERR $message;
    +	} else {
    +
    +		if( defined &Xchat::Internal::print ) {
    +			Xchat::print( $message );
    +		} else {
    +			warn $message;
    +		}
    +	}
    +};
    +
    +use File::Spec ();
    +use File::Basename ();
    +use File::Glob ();
    +use List::Util ();
    +use Symbol();
    +use Time::HiRes ();
    +use Carp ();
    +
    +package Xchat;
    +use base qw(Exporter);
    +use strict;
    +use warnings;
    +
    +sub PRI_HIGHEST ();
    +sub PRI_HIGH ();
    +sub PRI_NORM ();
    +sub PRI_LOW ();
    +sub PRI_LOWEST ();
    +
    +sub EAT_NONE ();
    +sub EAT_XCHAT ();
    +sub EAT_PLUIN ();
    +sub EAT_ALL ();
    +
    +sub KEEP ();
    +sub REMOVE ();
    +sub FD_READ ();
    +sub FD_WRITE ();
    +sub FD_EXCEPTION ();
    +sub FD_NOTSOCKET ();
    +
    +sub get_context;
    +sub Xchat::Internal::context_info;
    +sub Xchat::Internal::print;
    +
    +our %EXPORT_TAGS = (
    +	constants => [
    +		qw(PRI_HIGHEST PRI_HIGH PRI_NORM PRI_LOW PRI_LOWEST), # priorities
    +		qw(EAT_NONE EAT_XCHAT EAT_PLUGIN EAT_ALL), # callback return values
    +		qw(FD_READ FD_WRITE FD_EXCEPTION FD_NOTSOCKET), # fd flags
    +		qw(KEEP REMOVE), # timers
    +	],
    +	hooks => [
    +		qw(hook_server hook_command hook_print hook_timer hook_fd unhook),
    +	],
    +	util => [
    +		qw(register nickcmp strip_code send_modes), # misc
    +		qw(print prnt printf prntf command commandf emit_print), # output
    +		qw(find_context get_context set_context), # context
    +		qw(get_info get_prefs get_list context_info user_info), # input
    +	],
    +);
    +
    +$EXPORT_TAGS{all} = [ map { @{$_} } @EXPORT_TAGS{qw(constants hooks util)}];
    +our @EXPORT = @{$EXPORT_TAGS{constants}};
    +our @EXPORT_OK = @{$EXPORT_TAGS{all}};
    +
    +sub register {
    +	my $package = Xchat::Embed::find_pkg();
    +	my $pkg_info = Xchat::Embed::pkg_info( $package );
    +	my $filename = $pkg_info->{filename};
    +	my ($name, $version, $description, $callback) = @_;
    +	
    +	if( defined $pkg_info->{gui_entry} ) {
    +		Xchat::print( "Xchat::register called more than once in "
    +			. $pkg_info->{filename} );
    +		return ();
    +	}
    +	
    +	$description = "" unless defined $description;
    +	$pkg_info->{shutdown} = $callback;
    +	unless( $name && $name =~ /[[:print:]\w]/ ) {
    +		$name = "Not supplied";
    +	}
    +	unless( $version && $version =~ /\d+(?:\.\d+)?/ ) {
    +		$version = "NaN";
    +	}
    +	$pkg_info->{gui_entry} =
    +		Xchat::Internal::register( $name, $version, $description, $filename );
    +	# keep with old behavior
    +	return ();
    +}
    +
    +sub _process_hook_options {
    +	my ($options, $keys, $store) = @_;
    +
    +	unless( @$keys == @$store ) {
    +		die 'Number of keys must match the size of the store';
    +	}
    +
    +	my @results;
    +
    +	if( ref( $options ) eq 'HASH' ) {
    +		for my $index ( 0 .. @$keys - 1 ) {
    +			my $key = $keys->[$index];
    +			if( exists( $options->{ $key } ) && defined( $options->{ $key } ) ) {
    +				${$store->[$index]} = $options->{ $key };
    +			}
    +		}
    +	}
    +
    +}
    +
    +sub hook_server {
    +	return undef unless @_ >= 2;
    +	my $message = shift;
    +	my $callback = shift;
    +	my $options = shift;
    +	my $package = Xchat::Embed::find_pkg();
    +	
    +	$callback = Xchat::Embed::fix_callback( $package, $callback );
    +	
    +	my ($priority, $data) = ( Xchat::PRI_NORM, undef );
    +	_process_hook_options(
    +		$options,
    +		[qw(priority data)],
    +		[\($priority, $data)],
    +	);
    +	
    +	my $pkg_info = Xchat::Embed::pkg_info( $package );
    +	my $hook = Xchat::Internal::hook_server(
    +		$message, $priority, $callback, $data
    +	);
    +	push @{$pkg_info->{hooks}}, $hook if defined $hook;
    +	return $hook;
    +}
    +
    +sub hook_command {
    +	return undef unless @_ >= 2;
    +	my $command = shift;
    +	my $callback = shift;
    +	my $options = shift;
    +	my $package = Xchat::Embed::find_pkg();
    +
    +	$callback = Xchat::Embed::fix_callback( $package, $callback );
    +	
    +	my ($priority, $help_text, $data) = ( Xchat::PRI_NORM, undef, undef );
    +	_process_hook_options(
    +		$options,
    +		[qw(priority help_text data)],
    +		[\($priority, $help_text, $data)],
    +	);
    +	
    +	my $pkg_info = Xchat::Embed::pkg_info( $package );
    +	my $hook = Xchat::Internal::hook_command(
    +		$command, $priority, $callback, $help_text, $data
    +	);
    +	push @{$pkg_info->{hooks}}, $hook if defined $hook;
    +	return $hook;
    +}
    +
    +sub hook_print {
    +	return undef unless @_ >= 2;
    +	my $event = shift;
    +	my $callback = shift;
    +	my $options = shift;
    +	my $package = Xchat::Embed::find_pkg();
    +
    +	$callback = Xchat::Embed::fix_callback( $package, $callback );
    +	
    +	my ($priority, $run_after, $filter, $data) = ( Xchat::PRI_NORM, 0, 0, undef );
    +	_process_hook_options(
    +		$options,
    +		[qw(priority run_after_event filter data)],
    +		[\($priority, $run_after, $filter, $data)],
    +	);
    +	
    +	if( $run_after and $filter ) {
    +		Carp::carp( "Xchat::hook_print's run_after_event and filter options are mutually exclusive, you can only use of them at a time per hook" );
    +		return;
    +	}
    +
    +	if( $run_after ) {
    +		my $cb = $callback;
    +		$callback = sub {
    +			my @args = @_;
    +			hook_timer( 0, sub {
    +				$cb->( @args );
    +
    +				if( ref $run_after eq 'CODE' ) {
    +					$run_after->( @args );
    +				}
    +				return REMOVE;
    +			});
    +			return EAT_NONE;
    +		};
    +	}
    +
    +	if( $filter ) {
    +		my $cb = $callback;
    +		$callback = sub {
    +			my @args = @{$_[0]};
    +			my $last_arg = @args - 1;
    +
    +			my @new = $cb->( \@args, $_[1], $event );
    +
    +			# a filter can either return the new results or it can modify
    +			# @_ in place. 
    +			if( @new ) {
    +				emit_print( $event, @new[ 0 .. $last_arg ] );
    +				return EAT_ALL;
    +			} elsif(
    +				join( "\0", @{$_[0]} ) ne join( "\0", @args[ 0 .. $last_arg ] )
    +			) {
    +				emit_print( $event, @args[ 0 .. $last_arg ] );
    +				return EAT_ALL;
    +			}
    +
    +			return EAT_NONE;
    +		};
    +
    +	}
    +
    +	my $pkg_info = Xchat::Embed::pkg_info( $package );
    +	my $hook = Xchat::Internal::hook_print(
    +		$event, $priority, $callback, $data
    +	);
    +	push @{$pkg_info->{hooks}}, $hook if defined $hook;
    +	return $hook;
    +}
    +
    +sub hook_timer {
    +	return undef unless @_ >= 2;
    +	my ($timeout, $callback, $data) = @_;
    +	my $package = Xchat::Embed::find_pkg();
    +
    +	$callback = Xchat::Embed::fix_callback( $package, $callback );
    +
    +	if(
    +		ref( $data ) eq 'HASH' && exists( $data->{data} )
    +		&& defined( $data->{data} )
    +	) {
    +		$data = $data->{data};
    +	}
    +	
    +	my $pkg_info = Xchat::Embed::pkg_info( $package );
    +	my $hook = Xchat::Internal::hook_timer( $timeout, $callback, $data, $package );
    +	push @{$pkg_info->{hooks}}, $hook if defined $hook;
    +	return $hook;
    +}
    +
    +sub hook_fd {
    +	return undef unless @_ >= 2;
    +	my ($fd, $callback, $options) = @_;
    +	return undef unless defined $fd && defined $callback;
    +
    +	my $fileno = fileno $fd;
    +	return undef unless defined $fileno; # no underlying fd for this handle
    +	
    +	my ($package) = Xchat::Embed::find_pkg();
    +	$callback = Xchat::Embed::fix_callback( $package, $callback );
    +	
    +	my ($flags, $data) = (Xchat::FD_READ, undef);
    +	_process_hook_options(
    +		$options,
    +		[qw(flags data)],
    +		[\($flags, $data)],
    +	);
    +	
    +	my $cb = sub {
    +		my $userdata = shift;
    +		return $userdata->{CB}->(
    +			$userdata->{FD}, $userdata->{FLAGS}, $userdata->{DATA},
    +		);
    +	};
    +	
    +	my $pkg_info = Xchat::Embed::pkg_info( $package );
    +	my $hook = Xchat::Internal::hook_fd(
    +		$fileno, $cb, $flags, {
    +			DATA => $data, FD => $fd, CB => $callback, FLAGS => $flags,
    +		}
    +	);
    +	push @{$pkg_info->{hooks}}, $hook if defined $hook;
    +	return $hook;
    +}
    +
    +sub unhook {
    +	my $hook = shift @_;
    +	my $package = shift @_;
    +	($package) = caller unless $package;
    +	my $pkg_info = Xchat::Embed::pkg_info( $package );
    +
    +	if( defined( $hook )
    +		&& $hook =~ /^\d+$/
    +		&& grep { $_ == $hook } @{$pkg_info->{hooks}} ) {
    +		$pkg_info->{hooks} = [grep { $_ != $hook } @{$pkg_info->{hooks}}];
    +		return Xchat::Internal::unhook( $hook );
    +	}
    +	return ();
    +}
    +
    +sub _do_for_each {
    +	my ($cb, $channels, $servers) = @_;
    +
    +	# not specifying any channels or servers is not the same as specifying
    +	# undef for both
    +	# - not specifying either results in calling the callback inthe current ctx
    +	# - specifying undef for for both results in calling the callback in the
    +	#   front/currently selected tab
    +	if( @_ == 3 && !($channels || $servers) ) { 
    +		$channels = [ undef ];
    +		$servers = [ undef ];
    +	} elsif( !($channels || $servers) ) {
    +		$cb->();
    +		return 1;
    +	}
    +
    +	$channels = [ $channels ] unless ref( $channels ) eq 'ARRAY';
    +
    +	if( $servers ) {
    +		$servers = [ $servers ] unless ref( $servers ) eq 'ARRAY';
    +	} else {
    +		$servers = [ undef ];
    +	}
    +
    +	my $num_done = 0;
    +	my $old_ctx = Xchat::get_context();
    +	for my $server ( @$servers ) {
    +		for my $channel ( @$channels ) {
    +			if( Xchat::set_context( $channel, $server ) ) {
    +				$cb->();
    +				$num_done++
    +			}
    +		}
    +	}
    +	Xchat::set_context( $old_ctx );
    +	return $num_done;
    +}
    +
    +sub print {
    +	my $text = shift @_;
    +	return "" unless defined $text;
    +	if( ref( $text ) eq 'ARRAY' ) {
    +		if( $, ) {
    +			$text = join $, , @$text;
    +		} else {
    +			$text = join "", @$text;
    +		}
    +	}
    +	
    +	return _do_for_each(
    +		sub { Xchat::Internal::print( $text ); },
    +		@_
    +	);
    +}
    +
    +sub printf {
    +	my $format = shift;
    +	Xchat::print( sprintf( $format, @_ ) );
    +}
    +
    +# make Xchat::prnt() and Xchat::prntf() as aliases for Xchat::print() and 
    +# Xchat::printf(), mainly useful when these functions are exported
    +sub prnt {
    +	goto &Xchat::print;
    +}
    +
    +sub prntf {
    +	goto &Xchat::printf;
    +}
    +
    +sub command {
    +	my $command = shift;
    +	return "" unless defined $command;
    +	my @commands;
    +	
    +	if( ref( $command ) eq 'ARRAY' ) {
    +		@commands = @$command;
    +	} else {
    +		@commands = ($command);
    +	}
    +	
    +	return _do_for_each(
    +		sub { Xchat::Internal::command( $_ ) foreach @commands },
    +		@_
    +	);
    +}
    +
    +sub commandf {
    +	my $format = shift;
    +	Xchat::command( sprintf( $format, @_ ) );
    +}
    +
    +sub set_context {
    +	my $context;
    +	if( @_ == 2 ) {
    +		my ($channel, $server) = @_;
    +		$context = Xchat::find_context( $channel, $server );
    +	} elsif( @_ == 1 ) {
    +		if( defined $_[0] && $_[0] =~ /^\d+$/ ) {
    +			$context = $_[0];
    +		} else {
    +			$context = Xchat::find_context( $_[0] );
    +		}
    +	} elsif( @_ == 0 ) {
    +		$context = Xchat::find_context();
    +	}
    +	return $context ? Xchat::Internal::set_context( $context ) : 0;
    +}
    +
    +sub get_info {
    +	my $id = shift;
    +	my $info;
    +	
    +	if( defined( $id ) ) {
    +		if( grep { $id eq $_ } qw(state_cursor id) ) {
    +			$info = Xchat::get_prefs( $id );
    +		} else {
    +			$info = Xchat::Internal::get_info( $id );
    +		}
    +	}
    +	return $info;
    +}
    +
    +sub user_info {
    +	my $nick = Xchat::strip_code(shift @_ || Xchat::get_info( "nick" ));
    +	my $user;
    +	for (Xchat::get_list( "users" ) ) {
    +		if ( Xchat::nickcmp( $_->{nick}, $nick ) == 0 ) {
    +			$user = $_;
    +			last;
    +		}
    +	}
    +	return $user;
    +}
    +
    +sub context_info {
    +	my $ctx = shift @_ || Xchat::get_context;
    +	my $old_ctx = Xchat::get_context;
    +	my @fields = (
    +		qw(away channel charset host id inputbox libdirfs modes network),
    +		qw(nick nickserv server topic version win_ptr win_status),
    +		qw(xchatdir xchatdirfs state_cursor),
    +	);
    +
    +	if( Xchat::set_context( $ctx ) ) {
    +		my %info;
    +		for my $field ( @fields ) {
    +			$info{$field} = Xchat::get_info( $field );
    +		}
    +		
    +		my $ctx_info = Xchat::Internal::context_info;
    +		@info{keys %$ctx_info} = values %$ctx_info;
    +		
    +		Xchat::set_context( $old_ctx );
    +		return %info if wantarray;
    +		return \%info;
    +	} else {
    +		return undef;
    +	}
    +}
    +
    +sub get_list {
    +	unless( grep { $_[0] eq $_ } qw(channels dcc ignore notify users networks) ) {
    +		Carp::carp( "'$_[0]' does not appear to be a valid list name" );
    +	}
    +	if( $_[0] eq 'networks' ) {
    +		return Xchat::List::Network->get();
    +	} else {
    +		return Xchat::Internal::get_list( $_[0] );
    +	}
    +}
    +
    +sub strip_code {
    +	my $pattern = qr<
    +		\cB| #Bold
    +		\cC\d{0,2}(?:,\d{1,2})?| #Color
    +		\e\[(?:\d{1,2}(?:;\d{1,2})*)?m| # ANSI color code
    +		\cG| #Beep
    +		\cO| #Reset
    +		\cV| #Reverse
    +		\c_  #Underline
    +	>x;
    +		
    +	if( defined wantarray ) {
    +		my $msg = shift;
    +		$msg =~ s/$pattern//g;
    +		return $msg;
    +	} else {
    +		$_[0] =~ s/$pattern//g if defined $_[0];
    +	}
    +}
    +
    +1
    diff --git a/plugins/perl/lib/Xchat.pod b/plugins/perl/lib/Xchat.pod
    new file mode 100644
    index 00000000..a55a9bce
    --- /dev/null
    +++ b/plugins/perl/lib/Xchat.pod
    @@ -0,0 +1,1326 @@
    +=head1 X-Chat 2 Perl Interface
    +
    +=head2 Introduction
    +
    +This is the new Perl interface for X-Chat 2.  However, due to changes in
    +xchat's plugin code you will need xchat 2.0.8 or above to load this.  Scripts
    +written using the old interface will continue to work. If there are any
    +problems, questions, comments or suggestions please email them to the address
    +on the bottom of this page.
    +
    +=head2 Constants
    +
    +=head3 Priorities
    +
    +=over 3
    +
    +=item *
    +C 
    +
    +=item *
    +C 
    +
    +=item *
    +C 
    +
    +=item *
    +C 
    +
    +=item *
    +C 
    +
    +=back
    +
    +=head3 Return values
    +
    +=over 3
    +
    +=item *
    +C     - pass the event along
    +
    +=item *
    +C    - don't let xchat see this event
    +
    +=item *
    +C   - don't let other scripts and plugins see this event but xchat will still see it
    +
    +=item *
    +C      - don't let anything else see this event
    +
    +=back
    +
    +=head4 Timer and fd hooks
    +
    +=over 3
    +
    +=item *
    +C         - keep the timer going or hook watching the handle
    +
    +=item *
    +C       - remove the timer or hook watching the handle
    +
    +=back
    +
    +=head3 hook_fd flags
    +
    +=over 3
    +
    +=item *
    +C			- invoke the callback when the handle is ready for reading
    +
    +=item *
    +C		- invoke the callback when the handle is ready for writing
    +
    +=item *
    +C	- invoke the callback if an exception occurs
    +
    +=item *
    +C	- indicate that the handle being hooked is not a socket
    +
    +=back
    +
    +=head2 Functions
    +
    +=head3 C 
    +
    +=over 3
    +
    +=item *
    +C<$name>             -  The name of this script
    +
    +=item *
    +C<$version>          -  This script's version
    +
    +=item *
    +C<$description>   -  A description for this script
    +
    +=item *
    +C<$callback>      -  This is a function that will be called when the is script
    +                     unloaded. This can be either a reference to a
    +                     function or an anonymous sub reference.
    +
    +=back
    +
    +This is the first thing to call in every script.
    +
    +=head3 C 
    +
    +=head3 C 
    +
    +=head3 C 
    +
    +=head3 C 
    +
    +=head3 C
    +
    +These functions can be to intercept various events.
    +hook_server can be used to intercept any incoming message from the IRC server.
    +hook_command can be used to intercept any command, if the command doesn't currently exist then a new one is created.
    +hook_print can be used to intercept any of the events listed in Setttings-EAdvanced-EText Events
    +hook_timer can be used to create a new timer
    +
    +
    +=over 3
    +
    +=item *
    +C<$message>       -  server message to hook such as PRIVMSG
    +
    +=item *
    +C<$command>       -  command to intercept, without the leading /
    +
    +=item *
    +C<$event>      -  one of the events listed in Settings-EAdvanced-EText Events
    +
    +=item *
    +C<$timeout>       -  timeout in milliseconds
    +
    +=item *
    +C<$handle>     - the I/O handle you want to monitor with hook_fd. This must be something that has a fileno. See perldoc -f fileno or L
    +
    +=item *
    +C<$callback>   -  callback function, this is called whenever
    +                  the hooked event is trigged, the following are
    +                  the conditions that will trigger the different hooks.
    +                  This can be either a reference to a
    +                  function or an anonymous sub reference.
    +
    +=item *
    +\%options   -  a hash reference containing addional options for the hooks
    +
    +=back
    +
    +Valid keys for \%options:
    +
    +=begin html
    +
    +
    +
    +   
    +   
    +   
    +
    +   
    +      
    +
    +   
    +
    +   
    +      
    +   
    +
    +   
    +      
    +   
    +
    +
    data Additional data that is to be associated with the
    + hook. For timer hooks this value can be provided either as
    + Xchat::hook_timer( $timeout, $cb,{data=>$data})
    + or Xchat::hook_timer( $timeout, $cb, $data ).
    + However, this means that hook_timer cannot be provided
    + with a hash reference containing data as a key.
    + + example:
    + my $options = { data => [@arrayOfStuff] };
    + Xchat::hook_timer( $timeout, $cb, $options );
    +
    + In this example, the timer's data will be
    + [@arrayOfStuff] and not { data => [@arrayOfStuff] }
    +
    + This key is valid for all of the hook functions.
    +
    + Default is undef.
    +
    priority Sets the priority for the hook.
    + It can be set to one of the + Xchat::PRI_* constants.
    +
    + This key only applies to server, command + and print hooks.
    +
    + Default is Xchat::PRI_NORM. +
    help_text Text displayed for /help $command.
    +
    + This key only applies to command hooks.
    +
    + Default is "". +
    flags Specify the flags for a fd hook.
    +
    + See hook fd flags section for valid values.
    +
    + On Windows if the handle is a pipe you specify
    + Xchat::FD_NOTSOCKET in addition to any other flags you might be using.
    +
    + This key only applies to fd hooks.
    + Default is Xchat::FD_READ +
    + +=end html + +=head4 When callbacks are invoked + +Each of the hooks will be triggered at different times depending on the type +of hook. + +=begin html + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Hook Type When the callback will be invoked
    server hooks a $message message is + received from the server +
    command hooks the $command command is + executed, either by the user or from a script +
    print hooks X-Chat is about to print the message for the + $event event +
    timer hooks called every $timeout milliseconds + (1000 millisecond is 1 second)
    + the callback will be executed in the same context where + the hook_timer was called, if the context no longer exists + then it will execute in a random context +
    fd hooks depends on the flags that were passed to hook_fd
    + See hook_fd flags section. +
    + +=end html + + +The value return from these hook functions can be passed to C +to remove the hook. + +=head4 Callback Arguments + +All callback functions will receive their arguments in C<@_> like every +other Perl subroutine. + +=begin html + +

    +Server and command callbacks
    +
    +$_[0] - array reference containing the IRC message or command and +arguments broken into words
    +example:
    +/command arg1 arg2 arg3
    +$_[0][0] - command
    +$_[0][1] - arg1
    +$_[0][2] - arg2
    +$_[0][3] - arg3
    +
    +$_[1] - array reference containing the Nth word to the last word
    +example:
    +/command arg1 arg2 arg3
    +$_[1][0] - command arg1 arg2 arg3
    +$_[1][1] - arg1 arg2 arg3
    +$_[1][2] - arg2 arg3
    +$_[1][3] - arg3
    +
    +$_[2] - the data that was passed to the hook function
    +
    +Print callbacks
    +
    +$_[0] - array reference containing the values for the + text event see Settings->Advanced->Text Events
    +$_[1] - the data that was passed to the hook function
    +
    +Timer callbacks
    +
    +$_[0] - the data that was passed to the hook function
    +
    + +fd callbacks
    +
    +$_[0] - the handle that was passed to hook_fd
    +$_[1] - flags indicating why the callback was called
    +$_[2] - the data that was passed to the hook function
    +

    + +=end html + +=head4 Callback return values + +All server, command and print callbacks should return one of +the C constants. +Timer callbacks can return Xchat::REMOVE to remove +the timer or Xchat::KEEP to keep it going + +=head4 Miscellaneous Hook Related Information + +For server hooks, if C<$message> is "RAW LINE" then C<$cb> will be called for +every IRC message than X-Chat receives. + +For command hooks if C<$command> is "" then C<$cb> will be called for +messages entered by the user that is not a command. + +For print hooks besides those events listed in +Settings-EAdvanced-EText Events, these additional events can be used. + +=begin html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Event Description
    "Open Context" a new context is created
    "Close Context" a context has been close
    "Focus Tab" when a tab is brought to the front
    "Focus Window" when a top level window is focused or the + main tab window is focused by the window manager +
    "DCC Chat Text" when text from a DCC Chat arrives. + $_[0] will have these values
    +
    + $_[0][0] - Address
    + $_[0][1] - Port
    + $_[0][2] - Nick
    + $_[0][3] - Message
    +
    "Key Press" used for intercepting key presses
    + $_[0][0] - key value
    + $_[0][1] - state bitfield, 1 - shift, 4 - control, 8 - alt
    + $_[0][2] - string version of the key which might be empty for unprintable keys
    + $_[0][3] - length of the string in $_[0][2]
    +
    + +=end html + +=head3 C + +=over 3 + +=item * +C<$hook> - the hook that was previously returned by one of the C functions + +=back + + +This function is used to removed a hook previously added with one of +the C functions + +It returns the data that was passed to the C function when +the hook was added + + +=head3 C + +=over 3 + +=item * +C<$text> - the text to print + +=item * +C<\@lines> - array reference containing lines of text to be printed + all the elements will be joined together before printing + +=item * +C<$channel> - channel or tab with the given name where C<$text> + will be printed + +=item * +C<$server> - specifies that the text will be printed in a channel or tab + that is associated with C<$server> + +=back + +The first argument can either be a string or an array reference of strings. +Either or both of C<$channel> and C<$server> can be undef. + +If called as C, it will always return true. +If called with either the channel or the channel and the server +specified then it will return true if a context is found and +false otherwise. The text will not be printed if the context +is not found. The meaning of setting C<$channel> or C<$server> to +undef is the same as +L. + + +=head3 C + +=over 3 + +=item * +C<$format> - a format string, see "perldoc -f L" for further detail + +=item * +LIST - list of values for the format fields + +=back + +=head3 C + +=over 3 + +=item * +C<$command> - the command to execute, without the leading / + +=item * +C<\@commands> - array reference containing a list of commands to execute + +=item * +C<$channel> - channel or tab with the given name where C<$command> will be executed + +=item * +C<$server> - specifies that the command will be executed in a channel or tab that is associated with C<$server> + +=back + +The first argument can either be a string or an array reference of strings. +Either or both of C<$channel> and C<$server> can be undef. + +If called as C, it will always return true. +If called with either the channel or the channel and the server +specified then it will return true if a context is found and false +otherwise. The command will not be executed if the context is not found. +The meaning of setting C<$channel> or C<$server> to undef is the same +as find_context. + + +=head3 C + +=over 3 + +=item * +C<$format> - a format string, see "perldoc -f L" for further detail + +=item * +LIST - list of values for the format fields + +=back + +=head3 C + +=over 3 + +=item * +C<$channel> - name of a channel + +=item * +C<$server> - name of a server + +=back + +Either or both of C<$channel> and $server can be undef. Calling +C is the same as calling +C and +C is +the same as C. + +If C<$server> is undef, find any channel named $channel. +If C<$channel> is undef, find the front most window +or tab named C<$server>.If both $channel and +C<$server> are undef, find the currently focused tab or window. + +Return the context found for one of the above situations or undef if such +a context cannot be found. + + +=head3 C + +=over 3 + +=back + +Returns the current context. + +=head3 C + +=over 3 + +=item * +C<$context> - context value as returned from L,L or one + of the fields in the list of hashrefs returned by list_get + +=item * +C<$channel> - name of a channel you want to switch context to + +=item * +C<$server> - name of a server you want to switch context to + +=back + +See L for more details on C<$channel> and C<$server>. + +Returns true on success, false on failure + +=head3 C + +=over 3 + +=item * +C<$id> - one of the following case sensitive values + +=back + +=begin html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ID Return value
    away away reason or undef if you are not away
    channel current channel name
    charset character-set used in the current context
    event_text <Event Name> text event format string for <Event name>
    + Example: +
    + my $channel_msg_format = Xchat::get_info( "event_text Channel Message" ); +
    +
    host real hostname of the current server
    id connection id
    inputbox contents of the inputbox
    libdirfsthe system wide directory where xchat will look for plugins. + this string is in the same encoding as the local file system
    modes the current channels modes or undef if not known
    network current network name or undef
    nick current nick
    nickserv nickserv password for this network or undef
    server current server name
    + (what the server claims to be) undef if not connected +
    state_cursorcurrent inputbox cursor position in characters
    topic current channel topic
    version xchat version number
    win_statusstatus of the xchat window, possible values are "active", "hidden" + and "normal"
    win_ptr native window pointer, GtkWindow * on Unix, HWND on Win32.
    + On Unix if you have the Glib module installed you can use my $window = Glib::Object->new_from_pointer( Xchat::get_info( "win_ptr" ) ); to get a Gtk2::Window object.
    + Additionally when you have detached tabs, each of the windows will return a different win_ptr for the different Gtk2::Window objects.
    + See char_count.pl for a longer example of a script that uses this to show how many characters you currently have in your input box. +
    xchatdir xchat config directory encoded in UTF-8
    + examples:
    + /home/user/.xchat2
    + C:\Documents and Settings\user\Application Data\X-Chat 2 +
    xchatdirfs same as xchatdir except encoded in the locale file system encoding
    + +

    This function is used to retrieve certain information about the current +context.

    + +=end html + +=head3 C + +=over 3 + +=item * +C<$name> - name of a X-Chat setting (available through the /set command) + +=back + +This function provides a way to retrieve X-Chat's setting information. + +Returns C if there is no setting called called C<$name>. + + +=head3 C + +=over 3 + +=item * +C<$event> - name from the Event column in Settings-EAdvanced-EText Events + +=item * +LIST - this depends on the Description column on the bottom of Settings-EAdvanced-EText Events + +=back + +This functions is used to generate one of the events listed under +Settings-EAdvanced-EText Events + +Note: when using this function you MUST return Xchat::EAT_ALL otherwise you will end up with duplicate events. +One is the original and the second is the one you emit. + +Returns true on success, false on failure + +=head3 C + +=over 3 + +=item * +C<$target> - a single nick to set the mode on + +=item * +C<\@targets> - an array reference of the nicks to set the mode on + +=item * +C<$sign> - the mode sign, either '+' or '-' + +=item * +C<$mode> - the mode character such as 'o' and 'v', this can only be one character long + +=item * +C<$modes_per_line> - an optional argument maximum number of modes to send per at once, pass 0 use the current server's maximum (default) + +=back + +Send multiple mode changes for the current channel. It may send multiple MODE lines if the request doesn't fit on one. + +Example: + +=begin html +<
    + +use strict; +use warning; +use Xchat qw(:all); + +hook_command( "MODES", sub { + my (undef, $who, $sign, $mode) = @{$_[0]}; + + my @targets = split /,/, $who; + if( @targets > 1 ) { + send_modes( \@targets, $sign, $mode, 1 ); + } else { + send_modes( $who, $sign, $mode ); + } + + return EAT_XCHAT; +}); + + +
    + +=end html + +=head3 C + +=over 3 + +=item * +C<$nick1, $nick2> - the two nicks or channel names that are to be compared + +=back + +The comparsion is based on the current server. Either a RFC1459 compliant +string compare or plain ascii will be using depending on the server. The +comparison is case insensitive. + +Returns a number less than, equal to or greater than zero if +C<$nick1> is +found respectively, to be less than, to match, or be greater than +C<$nick2>. + + +=head3 C + +=over 3 + +=item * +C<$name> - name of the list, one of the following: +"channels", "dcc", "ignore", "notify", "users" + +=back + +This function will return a list of hash references. The hash references +will have different keys depend on the list. An empty list is returned +if there is no such list. + +=begin html + +

    "channels" - list of channels, querys and their server

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Key Description
    channel tab name
    chantypeschannel types supported by the server, typically "#&"
    context can be used with set_context
    flags Server Bits:
    + 0 - Connected
    + 1 - Connecting
    + 2 - Away
    + 3 - EndOfMotd(Login complete)
    + 4 - Has WHOX
    + 5 - Has IDMSG (FreeNode)
    +
    +

    The following correspond to the /chanopt command

    + 6 - Hide Join/Part Message (text_hidejoinpart)
    + 7 - unused (was for color paste)
    + 8 - Beep on message (alert_beep)
    + 9 - Blink Tray (alert_tray)
    + 10 - Blink Task Bar (alert_taskbar)
    +

    Example of checking if the current context has Hide Join/Part messages set:

    +
    + +if( Xchat::context_info->{flags} & (1 << 6) ) { + Xchat::print( "Hide Join/Part messages is enabled" ); +} + +
    + +
    id Unique server ID
    laglag in milliseconds
    maxmodes Maximum modes per line
    network network name to which this channel belongs
    nickprefixes Nickname prefixes e.g. "+@"
    nickmodes Nickname mode chars e.g. "vo"
    queuenumber of bytes in the send queue
    server server name to which this channel belongs
    type the type of this context
    + 1 - server
    + 2 - channel
    + 3 - dialog
    +
    users Number of users in this channel
    + +

    "dcc" - list of DCC file transfers

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Key Value
    address32 address of the remote user(ipv4 address)
    cps bytes per second(speed)
    destfile destination full pathname
    file file name
    nicknick of the person this DCC connection is connected to
    port TCP port number
    pos bytes sent/received
    poshigh bytes sent/received, high order 32 bits
    resume point at which this file was resumed
    + (zero if it was not resumed) +
    resumehigh point at which this file was resumed, high order 32 bits
    +
    size file size in bytes low order 32 bits
    sizehigh file size in bytes, high order 32 bits (when the files is > 4GB)
    status DCC Status:
    + 0 - queued
    + 1 - active
    + 2 - failed
    + 3 - done
    + 4 - connecting
    + 5 - aborted +
    type DCC Type:
    + 0 - send
    + 1 - receive
    + 2 - chatrecv
    + 3 - chatsend +
    + +

    "ignore" - current ignore list

    + + + + + + + + + + + + + + +
    Key Value
    mask ignore mask. e.g: *!*@*.aol.com
    flags Bit field of flags.
    + 0 - private
    + 1 - notice
    + 2 - channel
    + 3 - ctcp
    + 4 - invite
    + 5 - unignore
    + 6 - nosave
    + 7 - dcc
    +
    + +

    "notify" - list of people on notify

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Key Value
    networkscomma separated list of networks where you will be notfified about this user's online/offline status or undef if you will be notificed on every network you are connected to
    nick nickname
    flags 0 = is online
    on time when user came online
    off time when user went offline
    seen time when user was last verified still online
    + +

    the values indexed by on, off and seen can be passed to localtime +and gmtime, see perldoc -f localtime and perldoc -f gmtime for more +detail

    + +

    "users" - list of users in the current channel

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Key Value
    away away status(boolean)
    lasttalklast time a user was seen talking, this is the an epoch time(number of seconds since a certain date, that date depends on the OS)
    nick nick name
    hosthost name in the form: user@host or undef if not known
    prefix prefix character, .e.g: @ or +
    realnameReal name or undef
    selectedselected status in the user list, only works when retrieving the user list of the focused tab. You can use the /USELECT command to select the nicks
    + +

    "networks" - list of networks and the associated settings from network list

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Key Value
    autojoins An object with the following methods:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    MethodDescription
    channels()returns a list of this networks' autojoin channels in list context, a count of the number autojoin channels in scalar context
    keys()returns a list of the keys to go with the channels, the order is the same as the channels, if a channel doesn't have a key, '' will be returned in it's place
    pairs()a combination of channels() and keys(), returns a list of (channels, keys) pairs. This can be assigned to a hash for a mapping from channel to key.
    as_hash()return the pairs as a hash reference
    as_string()the original string that was used to construct this autojoin object, this can be used with the JOIN command to join all the channels in the autojoin list
    as_array()return an array reference of hash references consisting of the keys "channel" and "key"
    as_bool()returns true if the network has autojoins and false otherwise
    +
    connect_commands An array reference containing the connect commands for a network. An empty array if there aren't any
    encoding the encoding for the network
    flags + a hash reference corresponding to the checkboxes in the network edit window + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    allow_invalidtrue if "Accept invalid SSL certificate" is checked
    autoconnecttrue if "Auto connect to this network at startup" is checked
    cycletrue if "Connect to selected server only" is NOT checked
    use_globaltrue if "Use global user information" is checked
    use_proxytrue if "Bypass proxy server" is NOT checked
    use_ssltrue if "Use SSL for all the servers on this network" is checked
    +
    irc_nick1Corresponds with the "Nick name" field in the network edit window
    irc_nick2Corresponds with the "Second choice" field in the network edit window
    irc_real_nameCorresponds with the "Real name" field in the network edit window
    irc_user_nameCorresponds with the "User name" field in the network edit window
    networkName of the network
    nickserv_passwordCorresponds with the "Nickserv password" field in the network edit window
    selectedIndex into the list of servers in the "servers" key, this is used if the "cycle" flag is false
    server_passwordCorresponds with the "Server password" field in the network edit window
    serversAn array reference of hash references with a "host" and "port" key. If a port is not specified then 6667 will be used.
    + +=end html + +=head3 C + +=over 3 + +=item * +C<$nick> - the nick to look for, if this is not given your own nick will be + used as default + +=back + +This function is mainly intended to be used as a shortcut for when you need +to retrieve some information about only one user in a channel. Otherwise it +is better to use L. +If C<$nick> is found a hash reference containing the same keys as those in the +"users" list of L is returned otherwise undef is returned. +Since it relies on L this function can only be used in a +channel context. + +=head3 C + +=over 3 + +=item * +C<$context> - context returned from L, L and L, this is the context that you want infomation about. If this is omitted, it will default to current context. + +=back + +This function will return the information normally retrieved with L, except this is for the context that is passed in. The information will be returned in the form of a hash. The keys of the hash are the C<$id> you would normally supply to L as well as all the keys that are valid for the items in the "channels" list from L. Use of this function is more efficient than calling get_list( "channels" ) and searching through the result. + +=begin html + +

    Example:

    +
    +use strict; +use warnings; +use Xchat qw(:all); # imports all the functions documented on this page + +register( "User Count", "0.1", + "Print out the number of users on the current channel" ); + +hook_command( "UCOUNT", \&display_count ); + +sub display_count { + prnt "There are " . context_info()->{users} . " users in this channel."; + return EAT_XCHAT; +} +
    + +=end html + +=head3 C + +=over 3 + +=item * +C<$string> - string to remove codes from + +=back + +This function will remove bold, color, beep, reset, reverse and underline codes from C<$string>. It will also remove ANSI escape codes which might get used by certain terminal based clients. If it is called in void context C<$string> will be modified otherwise a modified copy of C<$string> is returned. + +=head2 Examples + +=head3 Asynchronous DNS resolution with hook_fd + +=begin html + +
    + +use strict; +use warnings; +use Xchat qw(:all); +use Net::DNS; + +hook_command( "BGDNS", sub { + my $host = $_[0][1]; + my $resolver = Net::DNS::Resolver->new; + my $sock = $resolver->bgsend( $host ); + + hook_fd( $sock, sub { + my $ready_sock = $_[0]; + my $packet = $resolver->bgread( $ready_sock ); + + if( $packet->authority && (my @answers = $packet->answer ) ) { + + if( @answers ) { + prnt "$host:"; + my $padding = " " x (length( $host ) + 2); + for my $answer ( @answers ) { + prnt $padding . $answer->rdatastr . ' ' . $answer->type; + } + } + } else { + prnt "Unable to resolve $host"; + } + + return REMOVE; + }, + { + flags => FD_READ, + }); + + return EAT_XCHAT; +}); + +
    + +=end html + +=head2 Contact Information + +Contact Lian Wan Situ at Eatmcmnky [at] yahoo.comE for questions, comments and +corrections about this page or the Perl plugin itself. You can also find me +in #xchat on FreeNode under the nick Khisanth. diff --git a/plugins/perl/lib/Xchat/Embed.pm b/plugins/perl/lib/Xchat/Embed.pm new file mode 100644 index 00000000..dffbaf5e --- /dev/null +++ b/plugins/perl/lib/Xchat/Embed.pm @@ -0,0 +1,253 @@ +package Xchat::Embed; +use strict; +use warnings; +# list of loaded scripts keyed by their package names +our %scripts; + +sub load { + my $file = expand_homedir( shift @_ ); + my $package = file2pkg( $file ); + + if( exists $scripts{$package} ) { + my $pkg_info = pkg_info( $package ); + my $filename = File::Basename::basename( $pkg_info->{filename} ); + Xchat::printf( + qq{'%s' already loaded from '%s'.\n}, + $filename, $pkg_info->{filename} + ); + Xchat::print( + 'If this is a different script then it rename and try '. + 'loading it again.' + ); + return 2; + } + + if( open my $source_handle, $file ) { + my $source = do {local $/; <$source_handle>}; + close $source_handle; + # we shouldn't care about things after __END__ + $source =~ s/^__END__.*//ms; + + if( + my @replacements = $source =~ + m/^\s*package ((?:[^\W:]+(?:::)?)+)\s*?;/mg + ) { + + if ( @replacements > 1 ) { + Xchat::print( + "Too many package defintions, only 1 is allowed\n" + ); + return 1; + } + + my $original_package = shift @replacements; + + # remove original package declaration + $source =~ s/^(package $original_package\s*;)/#$1/m; + + # fixes things up for code calling subs with fully qualified names + $source =~ s/${original_package}:://g; + } + + # this must come before the eval or the filename will not be found in + # Xchat::register + $scripts{$package}{filename} = $file; + $scripts{$package}{loaded_at} = Time::HiRes::time(); + + my $full_path = File::Spec->rel2abs( $file ); + $source =~ s/^/#line 1 "$full_path"\n\x7Bpackage $package;/; + + # make sure we add the closing } even if the last line is a comment + if( $source =~ /^#.*\Z/m ) { + $source =~ s/^(?=#.*\Z)/\x7D/m; + } else { + $source =~ s/\Z/\x7D/; + } + + _do_eval( $source ); + + unless( exists $scripts{$package}{gui_entry} ) { + $scripts{$package}{gui_entry} = + Xchat::Internal::register( + "", "unknown", "", $file + ); + } + + if( $@ ) { + # something went wrong + $@ =~ s/\(eval \d+\)/$file/g; + Xchat::print( "Error loading '$file':\n$@\n" ); + # make sure the script list doesn't contain false information + unload( $scripts{$package}{filename} ); + return 1; + } + } else { + Xchat::print( "Error opening '$file': $!\n" ); + return 2; + } + + return 0; +} + +sub _do_eval { + no strict; + no warnings; + eval $_[0]; +} + +sub unload { + my $file = shift @_; + my $package = file2pkg( $file ); + my $pkg_info = pkg_info( $package ); + + if( $pkg_info ) { + # take care of the shutdown callback + if( exists $pkg_info->{shutdown} ) { + # allow incorrectly written scripts to be unloaded + eval { + if( ref $pkg_info->{shutdown} eq 'CODE' ) { + $pkg_info->{shutdown}->(); + } elsif ( $pkg_info->{shutdown} ) { + no strict 'refs'; + &{$pkg_info->{shutdown}}; + } + }; + } + + if( exists $pkg_info->{hooks} ) { + for my $hook ( @{$pkg_info->{hooks}} ) { + Xchat::unhook( $hook, $package ); + } + } + + + if( exists $pkg_info->{gui_entry} ) { + plugingui_remove( $pkg_info->{gui_entry} ); + } + + Symbol::delete_package( $package ); + delete $scripts{$package}; + return Xchat::EAT_ALL; + } else { + Xchat::print( qq{"$file" is not loaded.\n} ); + return Xchat::EAT_NONE; + } +} + +sub unload_all { + for my $package ( keys %scripts ) { + unload( $scripts{$package}->{filename} ); + } + + return Xchat::EAT_ALL; +} + +sub reload { + my $file = shift @_; + my $package = file2pkg( $file ); + my $pkg_info = pkg_info( $package ); + my $fullpath = $file; + + if( $pkg_info ) { + $fullpath = $pkg_info->{filename}; + unload( $file ); + } + + load( $fullpath ); + return Xchat::EAT_ALL; +} + +sub reload_all { + my @dirs = Xchat::get_info( "xchatdirfs" ) || Xchat::get_info( "xchatdir" ); + push @dirs, File::Spec->catdir( $dirs[0], "plugins" ); + for my $dir ( @dirs ) { + my $auto_load_glob = File::Spec->catfile( $dir, "*.pl" ); + my @scripts = map { $_->{filename} } + sort { $a->{loaded_at} <=> $b->{loaded_at} } values %scripts; + push @scripts, File::Glob::bsd_glob( $auto_load_glob ); + + my %seen; + @scripts = grep { !$seen{ $_ }++ } @scripts; + + unload_all(); + for my $script ( @scripts ) { + if( !pkg_info( file2pkg( $script ) ) ) { + load( $script ); + } + } + } +} + +sub expand_homedir { + my $file = shift @_; + + if ( $^O eq "MSWin32" ) { + $file =~ s/^~/$ENV{USERPROFILE}/; + } else { + $file =~ s{^~}{ + (getpwuid($>))[7] || $ENV{HOME} || $ENV{LOGDIR} + }ex; + } + return $file; +} + +sub file2pkg { + my $string = File::Basename::basename( shift @_ ); + $string =~ s/\.pl$//i; + $string =~ s|([^A-Za-z0-9/])|'_'.unpack("H*",$1)|eg; + return "Xchat::Script::" . $string; +} + +sub pkg_info { + my $package = shift @_; + return $scripts{$package}; +} + +sub find_external_pkg { + my $level = 1; + + while( my @frame = caller( $level ) ) { + return @frame if $frame[0] !~ /^Xchat/; + $level++; + } + +} + +sub find_pkg { + my $level = 1; + + while( my ($package, $file, $line) = caller( $level ) ) { + return $package if $package =~ /^Xchat::Script::/; + $level++; + } + + my @frame = find_external_pkg(); + my $location; + + if( $frame[0] or $frame[1] ) { + $location = $frame[1] ? $frame[1] : "package $frame[0]"; + $location .= " line $frame[2]"; + } else { + $location = "unknown location"; + } + + die "Unable to determine which script this hook belongs to. at $location\n"; + +} + +sub fix_callback { + my ($package, $callback) = @_; + + unless( ref $callback ) { + # change the package to the correct one in case it was hardcoded + $callback =~ s/^.*:://; + $callback = qq[${package}::$callback]; + + no strict 'subs'; + $callback = \&{$callback}; + } + + return $callback; +} + +1 diff --git a/plugins/perl/lib/Xchat/List/Network.pm b/plugins/perl/lib/Xchat/List/Network.pm new file mode 100644 index 00000000..da2f52dd --- /dev/null +++ b/plugins/perl/lib/Xchat/List/Network.pm @@ -0,0 +1,32 @@ +package Xchat::List::Network; +use strict; +use warnings; +use Storable qw(dclone); +my $last_modified; +my @servers; + +sub get { + my $server_file = Xchat::get_info( "xchatdirfs" ) . "/servlist_.conf"; + + # recreate the list only if the server list file has changed + if( -f $server_file && + (!defined $last_modified || $last_modified != -M $server_file ) ) { + $last_modified = -M _; + + if( open my $fh, "<", $server_file ) { + local $/ = "\n\n"; + while( my $record = <$fh> ) { + chomp $record; + next if $record =~ /^v=/; # skip the version line + push @servers, Xchat::List::Network::Entry::parse( $record ); + } + } else { + warn "Unable to open '$server_file': $!"; + } + } + + my $clone = dclone( \@servers ); + return @$clone; +} + +1 diff --git a/plugins/perl/lib/Xchat/List/Network/AutoJoin.pm b/plugins/perl/lib/Xchat/List/Network/AutoJoin.pm new file mode 100644 index 00000000..16036a9d --- /dev/null +++ b/plugins/perl/lib/Xchat/List/Network/AutoJoin.pm @@ -0,0 +1,82 @@ +package Xchat::List::Network::AutoJoin; +use strict; +use warnings; + +use overload +# '%{}' => \&as_hash, +# '@{}' => \&as_array, + '""' => 'as_string', + '0+' => 'as_bool'; + +sub new { + my $class = shift; + my $line = shift; + + my @autojoins; + + if ( $line ) { + my ( $channels, $keys ) = split / /, $line, 2; + my @channels = split /,/, $channels; + my @keys = split /,/, ($keys || ''); + + for my $channel ( @channels ) { + my $key = shift @keys; + $key = '' unless defined $key; + + push @autojoins, { + channel => $channel, + key => $key, + }; + } + } + return bless \@autojoins, $class; +} + +sub channels { + my $self = shift; + + if( wantarray ) { + return map { $_->{channel} } @$self; + } else { + return scalar @$self; + } +} + +sub keys { + my $self = shift; + return map { $_->{key} } @$self ; + +} + +sub pairs { + my $self = shift; + + my @channels = $self->channels; + my @keys = $self->keys; + + my @pairs = map { $_ => shift @keys } @channels; +} + +sub as_hash { + my $self = shift; + return +{ $self->pairs }; +} + +sub as_string { + my $self = shift; + return join " ", + join( ",", $self->channels ), + join( ",", $self->keys ); +} + +sub as_array { + my $self = shift; + return [ map { \%$_ } @$self ]; +} + +sub as_bool { + my $self = shift; + return $self->channels ? 1 : ""; +} + +1 diff --git a/plugins/perl/lib/Xchat/List/Network/Entry.pm b/plugins/perl/lib/Xchat/List/Network/Entry.pm new file mode 100644 index 00000000..e40b48bd --- /dev/null +++ b/plugins/perl/lib/Xchat/List/Network/Entry.pm @@ -0,0 +1,105 @@ +package Xchat::List::Network::Entry; +use strict; +use warnings; + +my %key_for = ( + I => "irc_nick1", + i => "irc_nick2", + U => "irc_user_name", + R => "irc_real_name", + P => "server_password", + B => "nickserv_password", + N => "network", + D => "selected", + E => "encoding", +); +my $letter_key_re = join "|", keys %key_for; + +sub parse { + my $data = shift; + my $entry = { + irc_nick1 => undef, + irc_nick2 => undef, + irc_user_name => undef, + irc_real_name => undef, + server_password => undef, + + # the order of the channels need to be maintained + # list of { channel => .., key => ... } + autojoins => Xchat::List::Network::AutoJoin->new( '' ), + connect_commands => [], + flags => {}, + selected => undef, + encoding => undef, + servers => [], + nickserv_password => undef, + network => undef, + }; + + my @fields = split /\n/, $data; + chomp @fields; + + for my $field ( @fields ) { + SWITCH: for ( $field ) { + /^($letter_key_re)=(.*)/ && do { + $entry->{ $key_for{ $1 } } = $2; + last SWITCH; + }; + + /^J.(.*)/ && do { + $entry->{ autojoins } = + Xchat::List::Network::AutoJoin->new( $1 ); + }; + + /^F.(.*)/ && do { + $entry->{ flags } = parse_flags( $1 ); + }; + + /^S.(.+)/ && do { + push @{$entry->{servers}}, parse_server( $1 ); + }; + + /^C.(.+)/ && do { + push @{$entry->{connect_commands}}, $1; + }; + } + } + +# $entry->{ autojoins } = $entry->{ autojoin_channels }; + return $entry; +} + +sub parse_flags { + my $value = shift || 0; + my %flags; + + $flags{ "cycle" } = $value & 1 ? 1 : 0; + $flags{ "use_global" } = $value & 2 ? 1 : 0; + $flags{ "use_ssl" } = $value & 4 ? 1 : 0; + $flags{ "autoconnect" } = $value & 8 ? 1 : 0; + $flags{ "use_proxy" } = $value & 16 ? 1 : 0; + $flags{ "allow_invalid" } = $value & 32 ? 1 : 0; + + return \%flags; +} + +sub parse_server { + my $data = shift; + if( $data ) { + my ($host, $port) = split /\//, $data; + unless( $port ) { + my @parts = split /:/, $host; + + # if more than 2 then we are probably dealing with a IPv6 address + # if less than 2 then no port was specified + if( @parts == 2 ) { + $port = $parts[1]; + } + } + + $port ||= 6667; + return { host => $host, port => $port }; + } +} + +1 diff --git a/plugins/perl/perl.c b/plugins/perl/perl.c new file mode 100644 index 00000000..a29ce65a --- /dev/null +++ b/plugins/perl/perl.c @@ -0,0 +1,1522 @@ +/* X-Chat 2.0 PERL Plugin + * Copyright (C) 1998-2002 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include +#include +#include +#include +#include +#include +#include +#ifdef ENABLE_NLS +#include +#endif +#ifdef WIN32 +#include +#endif + +#undef PACKAGE +#include "../../config.h" /* for #define OLD_PERL */ +#include "xchat-plugin.h" + +static xchat_plugin *ph; /* plugin handle */ + +static int perl_load_file (char *script_name); + +#ifdef WIN32 +/* STRINGIFY is from perl's CORE/config.h */ +#ifndef PERL_REQUIRED_VERSION + #define PERL_REQUIRED_VERSION STRINGIFY(PERL_REVISION) "." STRINGIFY(PERL_VERSION) +#endif + +#ifndef PERL_DLL + #define PERL_DLL "perl" STRINGIFY(PERL_REVISION) STRINGIFY(PERL_VERSION) ".dll" +#endif + +static DWORD +child (char *str) +{ + MessageBoxA (0, str, "Perl DLL Error", + MB_OK | MB_ICONHAND | MB_SETFOREGROUND | MB_TASKMODAL); + return 0; +} + +static void +thread_mbox (char *str) +{ + DWORD tid; + + CloseHandle (CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE) child, + str, 0, &tid)); +} + +#endif + +/* leave this before XSUB.h, to avoid readdir() being redefined */ + +static void +perl_auto_load_from_path (const char *path) +{ + DIR *dir; + struct dirent *ent; + + dir = opendir (path); + if (dir) { + while ((ent = readdir (dir))) { + int len = strlen (ent->d_name); + if (len > 3 && strcasecmp (".pl", ent->d_name + len - 3) == 0) { + char *file = malloc (len + strlen (path) + 2); + sprintf (file, "%s/%s", path, ent->d_name); + perl_load_file (file); + free (file); + } + } + closedir (dir); + } +} + +static int +perl_auto_load (void *unused) +{ + const char *xdir; + char *sub_dir; +#ifdef WIN32 + int copied = 0; + char *slash = NULL; +#endif + + /* get the dir in local filesystem encoding (what opendir() expects!) */ + xdir = xchat_get_info (ph, "xchatdirfs"); + if (!xdir) /* xchatdirfs is new for 2.0.9, will fail on older */ + xdir = xchat_get_info (ph, "xchatdir"); + + /* autoload from ~/.xchat2/ or ${APPDATA}\X-Chat 2\ on win32 */ + perl_auto_load_from_path (xdir); + + sub_dir = malloc (strlen (xdir) + 9); + strcpy (sub_dir, xdir); + strcat (sub_dir, "/plugins"); + perl_auto_load_from_path (sub_dir); + free (sub_dir); + +#ifdef WIN32 + /* autoload from C:\program files\xchat\plugins\ */ + sub_dir = malloc (1025 + 9); + copied = GetModuleFileName( 0, sub_dir, 1024 ); + sub_dir[copied] = '\0'; + slash = strrchr( sub_dir, '\\' ); + if( slash != NULL ) { + *slash = '\0'; + } + perl_auto_load_from_path ( strncat (sub_dir, "\\plugins", 9)); + free (sub_dir); +#endif + return 0; +} + +#include +#define WIN32IOP_H +#include +#include + +typedef struct +{ + SV *callback; + SV *userdata; + xchat_hook *hook; /* required for timers */ + xchat_context *ctx; /* allow timers to remember their context */ + SV *package; /* need to track the package name when removing hooks + by returning REMOVE + */ + unsigned int depth; +} HookData; + +static PerlInterpreter *my_perl = NULL; +extern void boot_DynaLoader (pTHX_ CV * cv); + +/* + this is used for autoload and shutdown callbacks +*/ +static int +execute_perl (SV * function, char *args) +{ + + int count, ret_value = 1; + + dSP; + ENTER; + SAVETMPS; + + PUSHMARK (SP); + XPUSHs (sv_2mortal (newSVpv (args, 0))); + PUTBACK; + + count = call_sv (function, G_EVAL | G_SCALAR); + SPAGAIN; + if (SvTRUE (ERRSV)) { + xchat_printf(ph, "Perl error: %s\n", SvPV_nolen (ERRSV)); + if (!SvOK (POPs)) {} /* remove undef from the top of the stack */ + } else if (count != 1) { + xchat_printf (ph, "Perl error: expected 1 value from %s, " + "got: %d\n", SvPV_nolen (function), count); + } else { + ret_value = POPi; + } + PUTBACK; + FREETMPS; + LEAVE; + + return ret_value; +} + +static char * +get_filename (char *word[], char *word_eol[]) +{ + int len; + char *file; + + len = strlen (word[2]); + + /* if called as /load "filename.pl" the only difference between word and + * word_eol will be the two quotes + */ + + if (strchr (word[2], ' ') != NULL + || (strlen (word_eol[2]) - strlen(word[2])) == 2 ) + { + file = word[2]; + } else { + file = word_eol[2]; + } + + len = strlen (file); + + if (len > 3 && strncasecmp (".pl", file + len - 3, 3) == 0) { + return file; + } + + return NULL; +} + +static SV * +list_item_to_sv ( xchat_list *list, const char *const *fields ) +{ + HV *hash = newHV(); + SV *field_value; + const char *field; + int field_index = 0; + const char *field_name; + int name_len; + + while (fields[field_index] != NULL) { + field_name = fields[field_index] + 1; + name_len = strlen (field_name); + + switch (fields[field_index][0]) { + case 's': + field = xchat_list_str (ph, list, field_name); + if (field != NULL) { + field_value = newSVpvn (field, strlen (field)); + } else { + field_value = &PL_sv_undef; + } + break; + case 'p': + field_value = newSViv (PTR2IV (xchat_list_str (ph, list, + field_name))); + break; + case 'i': + field_value = newSVuv (xchat_list_int (ph, list, field_name)); + break; + case 't': + field_value = newSVnv (xchat_list_time (ph, list, field_name)); + break; + default: + field_value = &PL_sv_undef; + } + hv_store (hash, field_name, name_len, field_value, 0); + field_index++; + } + return sv_2mortal (newRV_noinc ((SV *) hash)); +} + +static AV * +array2av (char *array[]) +{ + int count = 0; + SV *temp = NULL; + AV *av = newAV(); + sv_2mortal ((SV *)av); + + for ( + count = 1; + count < 32 && array[count] != NULL && array[count][0] != 0; + count++ + ) { + temp = newSVpv (array[count], 0); + SvUTF8_on (temp); + av_push (av, temp); + } + + return av; +} + +static int +fd_cb (int fd, int flags, void *userdata) +{ + HookData *data = (HookData *) userdata; + int retVal = 0; + int count = 0; + + dSP; + ENTER; + SAVETMPS; + + PUSHMARK (SP); + XPUSHs (data->userdata); + PUTBACK; + + count = call_sv (data->callback, G_EVAL); + SPAGAIN; + + if (SvTRUE (ERRSV)) { + xchat_printf (ph, "Error in fd callback %s", SvPV_nolen (ERRSV)); + if (!SvOK (POPs)) {} /* remove undef from the top of the stack */ + retVal = XCHAT_EAT_ALL; + } else { + if (count != 1) { + xchat_print (ph, "Fd handler should only return 1 value."); + retVal = XCHAT_EAT_NONE; + } else { + retVal = POPi; + if (retVal == 0) { + /* if 0 is returned, the fd is going to get unhooked */ + PUSHMARK (SP); + XPUSHs (sv_2mortal (newSViv (PTR2IV (data->hook)))); + PUTBACK; + + call_pv ("Xchat::unhook", G_EVAL); + SPAGAIN; + + SvREFCNT_dec (data->callback); + + if (data->userdata) { + SvREFCNT_dec (data->userdata); + } + free (data); + } + } + + } + + PUTBACK; + FREETMPS; + LEAVE; + + return retVal; +} + +static int +timer_cb (void *userdata) +{ + HookData *data = (HookData *) userdata; + int retVal = 0; + int count = 0; + + dSP; + ENTER; + SAVETMPS; + + PUSHMARK (SP); + XPUSHs (data->userdata); + PUTBACK; + + if (data->ctx) { + xchat_set_context (ph, data->ctx); + } + count = call_sv (data->callback, G_EVAL); + SPAGAIN; + + if (SvTRUE (ERRSV)) { + xchat_printf (ph, "Error in timer callback %s", SvPV_nolen (ERRSV)); + if (!SvOK (POPs)) {} /* remove undef from the top of the stack */ + retVal = XCHAT_EAT_ALL; + } else { + if (count != 1) { + xchat_print (ph, "Timer handler should only return 1 value."); + retVal = XCHAT_EAT_NONE; + } else { + retVal = POPi; + if (retVal == 0) { + /* if 0 is return the timer is going to get unhooked */ + PUSHMARK (SP); + XPUSHs (sv_2mortal (newSViv (PTR2IV (data->hook)))); + XPUSHs (sv_mortalcopy (data->package)); + PUTBACK; + + call_pv ("Xchat::unhook", G_EVAL); + SPAGAIN; + } + } + + } + + PUTBACK; + FREETMPS; + LEAVE; + + return retVal; +} + +static int +server_cb (char *word[], char *word_eol[], void *userdata) +{ + HookData *data = (HookData *) userdata; + int retVal = 0; + int count = 0; + + dSP; + ENTER; + SAVETMPS; + + if (data->depth) + return XCHAT_EAT_NONE; + + /* xchat_printf (ph, */ + /* "Recieved %d words in server callback", av_len (wd)); */ + PUSHMARK (SP); + XPUSHs (newRV_noinc ((SV *) array2av (word))); + XPUSHs (newRV_noinc ((SV *) array2av (word_eol))); + XPUSHs (data->userdata); + PUTBACK; + + data->depth++; + count = call_sv (data->callback, G_EVAL); + data->depth--; + SPAGAIN; + if (SvTRUE (ERRSV)) { + xchat_printf (ph, "Error in server callback %s", SvPV_nolen (ERRSV)); + if (!SvOK (POPs)) {} /* remove undef from the top of the stack */ + retVal = XCHAT_EAT_NONE; + } else { + if (count != 1) { + xchat_print (ph, "Server handler should only return 1 value."); + retVal = XCHAT_EAT_NONE; + } else { + retVal = POPi; + } + + } + + PUTBACK; + FREETMPS; + LEAVE; + + return retVal; +} + +static int +command_cb (char *word[], char *word_eol[], void *userdata) +{ + HookData *data = (HookData *) userdata; + int retVal = 0; + int count = 0; + + dSP; + ENTER; + SAVETMPS; + + if (data->depth) + return XCHAT_EAT_NONE; + + /* xchat_printf (ph, "Recieved %d words in command callback", */ + /* av_len (wd)); */ + PUSHMARK (SP); + XPUSHs (newRV_noinc ((SV *) array2av (word))); + XPUSHs (newRV_noinc ((SV *) array2av (word_eol))); + XPUSHs (data->userdata); + PUTBACK; + + data->depth++; + count = call_sv (data->callback, G_EVAL); + data->depth--; + SPAGAIN; + if (SvTRUE (ERRSV)) { + xchat_printf (ph, "Error in command callback %s", SvPV_nolen (ERRSV)); + if (!SvOK (POPs)) {} /* remove undef from the top of the stack */ + retVal = XCHAT_EAT_XCHAT; + } else { + if (count != 1) { + xchat_print (ph, "Command handler should only return 1 value."); + retVal = XCHAT_EAT_NONE; + } else { + retVal = POPi; + } + + } + + PUTBACK; + FREETMPS; + LEAVE; + + return retVal; +} + +static int +print_cb (char *word[], void *userdata) +{ + + HookData *data = (HookData *) userdata; + SV *temp = NULL; + int retVal = 0; + int count = 1; + int last_index = 31; + /* must be initialized after SAVETMPS */ + AV *wd = NULL; + + dSP; + ENTER; + SAVETMPS; + + if (data->depth) + return XCHAT_EAT_NONE; + + wd = newAV (); + sv_2mortal ((SV *) wd); + + /* need to scan backwards to find the index of the last element since some + events such as "DCC Timeout" can have NULL elements in between non NULL + elements */ + + while (last_index >= 0 + && (word[last_index] == NULL || word[last_index][0] == 0)) { + last_index--; + } + + for (count = 1; count <= last_index; count++) { + if (word[count] == NULL) { + av_push (wd, &PL_sv_undef); + } else if (word[count][0] == 0) { + av_push (wd, newSVpvn ("",0)); + } else { + temp = newSVpv (word[count], 0); + SvUTF8_on (temp); + av_push (wd, temp); + } + } + + /*xchat_printf (ph, "Recieved %d words in print callback", av_len (wd)+1); */ + PUSHMARK (SP); + XPUSHs (newRV_noinc ((SV *) wd)); + XPUSHs (data->userdata); + PUTBACK; + + data->depth++; + count = call_sv (data->callback, G_EVAL); + data->depth--; + SPAGAIN; + if (SvTRUE (ERRSV)) { + xchat_printf (ph, "Error in print callback %s", SvPV_nolen (ERRSV)); + if (!SvOK (POPs)) {} /* remove undef from the top of the stack */ + retVal = XCHAT_EAT_NONE; + } else { + if (count != 1) { + xchat_print (ph, "Print handler should only return 1 value."); + retVal = XCHAT_EAT_NONE; + } else { + retVal = POPi; + } + + } + + PUTBACK; + FREETMPS; + LEAVE; + + return retVal; +} + +/* custom IRC perl functions for scripting */ + +/* Xchat::Internal::register (scriptname, version, desc, shutdowncallback, filename) + * + */ + +static +XS (XS_Xchat_register) +{ + char *name, *version, *desc, *filename; + void *gui_entry; + dXSARGS; + if (items != 4) { + xchat_printf (ph, + "Usage: Xchat::Internal::register(scriptname, version, desc, filename)"); + } else { + name = SvPV_nolen (ST (0)); + version = SvPV_nolen (ST (1)); + desc = SvPV_nolen (ST (2)); + filename = SvPV_nolen (ST (3)); + + gui_entry = xchat_plugingui_add (ph, filename, name, + desc, version, NULL); + + XSRETURN_IV (PTR2IV (gui_entry)); + + } +} + + +/* Xchat::print(output) */ +static +XS (XS_Xchat_print) +{ + + char *text = NULL; + + dXSARGS; + if (items != 1) { + xchat_print (ph, "Usage: Xchat::Internal::print(text)"); + } else { + text = SvPV_nolen (ST (0)); + xchat_print (ph, text); + } + XSRETURN_EMPTY; +} + +static +XS (XS_Xchat_emit_print) +{ + char *event_name; + int RETVAL; + int count; + + dXSARGS; + if (items < 1) { + xchat_print (ph, "Usage: Xchat::emit_print(event_name, ...)"); + } else { + event_name = (char *) SvPV_nolen (ST (0)); + RETVAL = 0; + + /* we need to figure out the number of defined values passed in */ + for (count = 0; count < items; count++) { + if (!SvOK (ST (count))) { + break; + } + } + + switch (count) { + case 1: + RETVAL = xchat_emit_print (ph, event_name, NULL); + break; + case 2: + RETVAL = xchat_emit_print (ph, event_name, + SvPV_nolen (ST (1)), NULL); + break; + case 3: + RETVAL = xchat_emit_print (ph, event_name, + SvPV_nolen (ST (1)), + SvPV_nolen (ST (2)), NULL); + break; + case 4: + RETVAL = xchat_emit_print (ph, event_name, + SvPV_nolen (ST (1)), + SvPV_nolen (ST (2)), + SvPV_nolen (ST (3)), NULL); + break; + case 5: + RETVAL = xchat_emit_print (ph, event_name, + SvPV_nolen (ST (1)), + SvPV_nolen (ST (2)), + SvPV_nolen (ST (3)), + SvPV_nolen (ST (4)), NULL); + break; + + } + + XSRETURN_IV (RETVAL); + } +} + +static +XS (XS_Xchat_send_modes) +{ + AV *p_targets = NULL; + int modes_per_line = 0; + char sign; + char mode; + int i = 0; + const char **targets; + int target_count = 0; + SV **elem; + + dXSARGS; + if (items < 3 || items > 4) { + xchat_print (ph, + "Usage: Xchat::send_modes( targets, sign, mode, modes_per_line)" + ); + } else { + if (SvROK (ST (0))) { + p_targets = (AV*) SvRV (ST (0)); + target_count = av_len (p_targets) + 1; + targets = malloc (target_count * sizeof (char *)); + for (i = 0; i < target_count; i++ ) { + elem = av_fetch (p_targets, i, 0); + + if (elem != NULL) { + targets[i] = SvPV_nolen (*elem); + } else { + targets[i] = ""; + } + } + } else{ + targets = malloc (sizeof (char *)); + targets[0] = SvPV_nolen (ST (0)); + target_count = 1; + } + + if (target_count == 0) { + XSRETURN_EMPTY; + } + + sign = (SvPV_nolen (ST (1)))[0]; + mode = (SvPV_nolen (ST (2)))[0]; + + if (items == 4 ) { + modes_per_line = (int) SvIV (ST (3)); + } + + xchat_send_modes (ph, targets, target_count, modes_per_line, sign, mode); + free (targets); + } +} +static +XS (XS_Xchat_get_info) +{ + SV *temp = NULL; + dXSARGS; + if (items != 1) { + xchat_print (ph, "Usage: Xchat::get_info(id)"); + } else { + SV *id = ST (0); + const char *RETVAL; + + RETVAL = xchat_get_info (ph, SvPV_nolen (id)); + if (RETVAL == NULL) { + XSRETURN_UNDEF; + } + + if (!strncmp ("win_ptr", SvPV_nolen (id), 7) + || !strncmp ("gtkwin_ptr", SvPV_nolen (id), 10)) + { + XSRETURN_IV (PTR2IV (RETVAL)); + } else { + + if ( + !strncmp ("libdirfs", SvPV_nolen (id), 8) || + !strncmp ("xchatdirfs", SvPV_nolen (id), 10) + ) { + XSRETURN_PV (RETVAL); + } else { + temp = newSVpv (RETVAL, 0); + SvUTF8_on (temp); + PUSHMARK (SP); + XPUSHs (sv_2mortal (temp)); + PUTBACK; + } + } + } +} + +static +XS (XS_Xchat_context_info) +{ + const char *const *fields; + dXSARGS; + + if (items > 0 ) { + xchat_print (ph, "Usage: Xchat::Internal::context_info()"); + } + fields = xchat_list_fields (ph, "channels" ); + XPUSHs (list_item_to_sv (NULL, fields)); + XSRETURN (1); +} + +static +XS (XS_Xchat_get_prefs) +{ + const char *str; + int integer; + SV *temp = NULL; + dXSARGS; + if (items != 1) { + xchat_print (ph, "Usage: Xchat::get_prefs(name)"); + } else { + + + switch (xchat_get_prefs (ph, SvPV_nolen (ST (0)), &str, &integer)) { + case 0: + XSRETURN_UNDEF; + break; + case 1: + temp = newSVpv (str, 0); + SvUTF8_on (temp); + SP -= items; + sp = mark; + XPUSHs (sv_2mortal (temp)); + PUTBACK; + break; + case 2: + XSRETURN_IV (integer); + break; + case 3: + if (integer) { + XSRETURN_YES; + } else { + XSRETURN_NO; + } + } + } +} + +/* Xchat::Internal::hook_server(name, priority, callback, userdata) */ +static +XS (XS_Xchat_hook_server) +{ + + char *name; + int pri; + SV *callback; + SV *userdata; + xchat_hook *hook; + HookData *data; + + dXSARGS; + + if (items != 4) { + xchat_print (ph, + "Usage: Xchat::Internal::hook_server(name, priority, callback, userdata)"); + } else { + name = SvPV_nolen (ST (0)); + pri = (int) SvIV (ST (1)); + callback = ST (2); + userdata = ST (3); + data = NULL; + data = malloc (sizeof (HookData)); + if (data == NULL) { + XSRETURN_UNDEF; + } + + data->callback = sv_mortalcopy (callback); + SvREFCNT_inc (data->callback); + data->userdata = sv_mortalcopy (userdata); + SvREFCNT_inc (data->userdata); + data->depth = 0; + data->package = NULL; + hook = xchat_hook_server (ph, name, pri, server_cb, data); + + XSRETURN_IV (PTR2IV (hook)); + } +} + +/* Xchat::Internal::hook_command(name, priority, callback, help_text, userdata) */ +static +XS (XS_Xchat_hook_command) +{ + char *name; + int pri; + SV *callback; + char *help_text = NULL; + SV *userdata; + xchat_hook *hook; + HookData *data; + + dXSARGS; + + if (items != 5) { + xchat_print (ph, + "Usage: Xchat::Internal::hook_command(name, priority, callback, help_text, userdata)"); + } else { + name = SvPV_nolen (ST (0)); + pri = (int) SvIV (ST (1)); + callback = ST (2); + + /* leave the help text has NULL if the help text is undefined to avoid + * overriding the default help message for builtin commands */ + if (SvOK(ST (3))) { + help_text = SvPV_nolen (ST (3)); + } + + userdata = ST (4); + data = NULL; + + data = malloc (sizeof (HookData)); + if (data == NULL) { + XSRETURN_UNDEF; + } + + data->callback = sv_mortalcopy (callback); + SvREFCNT_inc (data->callback); + data->userdata = sv_mortalcopy (userdata); + SvREFCNT_inc (data->userdata); + data->depth = 0; + data->package = NULL; + hook = xchat_hook_command (ph, name, pri, command_cb, help_text, data); + + XSRETURN_IV (PTR2IV (hook)); + } + +} + +/* Xchat::Internal::hook_print(name, priority, callback, [userdata]) */ +static +XS (XS_Xchat_hook_print) +{ + + char *name; + int pri; + SV *callback; + SV *userdata; + xchat_hook *hook; + HookData *data; + dXSARGS; + if (items != 4) { + xchat_print (ph, + "Usage: Xchat::Internal::hook_print(name, priority, callback, userdata)"); + } else { + name = SvPV_nolen (ST (0)); + pri = (int) SvIV (ST (1)); + callback = ST (2); + data = NULL; + userdata = ST (3); + + data = malloc (sizeof (HookData)); + if (data == NULL) { + XSRETURN_UNDEF; + } + + data->callback = sv_mortalcopy (callback); + SvREFCNT_inc (data->callback); + data->userdata = sv_mortalcopy (userdata); + SvREFCNT_inc (data->userdata); + data->depth = 0; + data->package = NULL; + hook = xchat_hook_print (ph, name, pri, print_cb, data); + + XSRETURN_IV (PTR2IV (hook)); + } +} + +/* Xchat::Internal::hook_timer(timeout, callback, userdata) */ +static +XS (XS_Xchat_hook_timer) +{ + int timeout; + SV *callback; + SV *userdata; + xchat_hook *hook; + SV *package; + HookData *data; + + dXSARGS; + + if (items != 4) { + xchat_print (ph, + "Usage: Xchat::Internal::hook_timer(timeout, callback, userdata, package)"); + } else { + timeout = (int) SvIV (ST (0)); + callback = ST (1); + data = NULL; + userdata = ST (2); + package = ST (3); + + data = malloc (sizeof (HookData)); + if (data == NULL) { + XSRETURN_UNDEF; + } + + data->callback = sv_mortalcopy (callback); + SvREFCNT_inc (data->callback); + data->userdata = sv_mortalcopy (userdata); + SvREFCNT_inc (data->userdata); + data->ctx = xchat_get_context (ph); + data->package = sv_mortalcopy (package); + SvREFCNT_inc (data->package); + hook = xchat_hook_timer (ph, timeout, timer_cb, data); + data->hook = hook; + + XSRETURN_IV (PTR2IV (hook)); + } +} + +/* Xchat::Internal::hook_fd(fd, callback, flags, userdata) */ +static +XS (XS_Xchat_hook_fd) +{ + int fd; + SV *callback; + int flags; + SV *userdata; + xchat_hook *hook; + HookData *data; + + dXSARGS; + + if (items != 4) { + xchat_print (ph, + "Usage: Xchat::Internal::hook_fd(fd, callback, flags, userdata)"); + } else { + fd = (int) SvIV (ST (0)); + callback = ST (1); + flags = (int) SvIV (ST (2)); + userdata = ST (3); + data = NULL; + +#ifdef WIN32 + if ((flags & XCHAT_FD_NOTSOCKET) == 0) { + /* this _get_osfhandle if from win32iop.h in the perl distribution, + * not the one provided by Windows + */ + fd = _get_osfhandle(fd); + if (fd < 0) { + xchat_print(ph, "Invalid file descriptor"); + XSRETURN_UNDEF; + } + } +#endif + + data = malloc (sizeof (HookData)); + if (data == NULL) { + XSRETURN_UNDEF; + } + + data->callback = sv_mortalcopy (callback); + SvREFCNT_inc (data->callback); + data->userdata = sv_mortalcopy (userdata); + SvREFCNT_inc (data->userdata); + data->package = NULL; + hook = xchat_hook_fd (ph, fd, flags, fd_cb, data); + data->hook = hook; + + XSRETURN_IV (PTR2IV (hook)); + } +} + +static +XS (XS_Xchat_unhook) +{ + xchat_hook *hook; + HookData *userdata; + int retCount = 0; + dXSARGS; + if (items != 1) { + xchat_print (ph, "Usage: Xchat::unhook(hook)"); + } else { + hook = INT2PTR (xchat_hook *, SvUV (ST (0))); + userdata = (HookData *) xchat_unhook (ph, hook); + + if (userdata != NULL) { + if (userdata->callback != NULL) { + SvREFCNT_dec (userdata->callback); + } + + if (userdata->userdata != NULL) { + XPUSHs (sv_mortalcopy (userdata->userdata)); + SvREFCNT_dec (userdata->userdata); + retCount = 1; + } + + if (userdata->package != NULL) { + SvREFCNT_dec (userdata->package); + } + free (userdata); + } + XSRETURN (retCount); + } + XSRETURN_EMPTY; +} + +/* Xchat::Internal::command(command) */ +static +XS (XS_Xchat_command) +{ + char *cmd = NULL; + + dXSARGS; + if (items != 1) { + xchat_print (ph, "Usage: Xchat::Internal::command(command)"); + } else { + cmd = SvPV_nolen (ST (0)); + xchat_command (ph, cmd); + + } + XSRETURN_EMPTY; +} + +static +XS (XS_Xchat_find_context) +{ + char *server = NULL; + char *chan = NULL; + xchat_context *RETVAL; + + dXSARGS; + if (items > 2) + xchat_print (ph, "Usage: Xchat::find_context ([channel, [server]])"); + { + + switch (items) { + case 0: /* no server name and no channel name */ + /* nothing to do, server and chan are already NULL */ + break; + case 1: /* channel name only */ + /* change channel value only if it is true or 0 */ + /* otherwise leave it as null */ + if (SvTRUE (ST (0)) || SvNIOK (ST (0))) { + chan = SvPV_nolen (ST (0)); + /* xchat_printf( ph, "XSUB - find_context( %s, NULL )", chan ); */ + } + /* else { xchat_print( ph, "XSUB - find_context( NULL, NULL )" ); } */ + /* chan is already NULL */ + break; + case 2: /* server and channel */ + /* change channel value only if it is true or 0 */ + /* otherwise leave it as NULL */ + if (SvTRUE (ST (0)) || SvNIOK (ST (0))) { + chan = SvPV_nolen (ST (0)); + /* xchat_printf( ph, "XSUB - find_context( %s, NULL )", SvPV_nolen(ST(0) )); */ + } + + /* else { xchat_print( ph, "XSUB - 2 arg NULL chan" ); } */ + /* change server value only if it is true or 0 */ + /* otherwise leave it as NULL */ + if (SvTRUE (ST (1)) || SvNIOK (ST (1))) { + server = SvPV_nolen (ST (1)); + /* xchat_printf( ph, "XSUB - find_context( NULL, %s )", SvPV_nolen(ST(1) )); */ + } + /* else { xchat_print( ph, "XSUB - 2 arg NULL server" ); } */ + break; + } + + RETVAL = xchat_find_context (ph, server, chan); + if (RETVAL != NULL) { + /* xchat_print (ph, "XSUB - context found"); */ + XSRETURN_IV (PTR2IV (RETVAL)); + } else { + /* xchat_print (ph, "XSUB - context not found"); */ + XSRETURN_UNDEF; + } + } +} + +static +XS (XS_Xchat_get_context) +{ + dXSARGS; + if (items != 0) { + xchat_print (ph, "Usage: Xchat::get_context()"); + } else { + XSRETURN_IV (PTR2IV (xchat_get_context (ph))); + } +} + +static +XS (XS_Xchat_set_context) +{ + xchat_context *ctx; + dXSARGS; + if (items != 1) { + xchat_print (ph, "Usage: Xchat::set_context(ctx)"); + } else { + ctx = INT2PTR (xchat_context *, SvUV (ST (0))); + XSRETURN_IV ((IV) xchat_set_context (ph, ctx)); + } +} + +static +XS (XS_Xchat_nickcmp) +{ + dXSARGS; + if (items != 2) { + xchat_print (ph, "Usage: Xchat::nickcmp(s1, s2)"); + } else { + XSRETURN_IV ((IV) xchat_nickcmp (ph, SvPV_nolen (ST (0)), + SvPV_nolen (ST (1)))); + } +} + +static +XS (XS_Xchat_get_list) +{ + SV *name; + xchat_list *list; + const char *const *fields; + int count = 0; /* return value for scalar context */ + dXSARGS; + + if (items != 1) { + xchat_print (ph, "Usage: Xchat::get_list(name)"); + } else { + SP -= items; /*remove the argument list from the stack */ + + name = ST (0); + + list = xchat_list_get (ph, SvPV_nolen (name)); + + if (list == NULL) { + XSRETURN_EMPTY; + } + + if (GIMME_V == G_SCALAR) { + while (xchat_list_next (ph, list)) { + count++; + } + xchat_list_free (ph, list); + XSRETURN_IV ((IV) count); + } + + fields = xchat_list_fields (ph, SvPV_nolen (name)); + while (xchat_list_next (ph, list)) { + XPUSHs (list_item_to_sv (list, fields)); + } + xchat_list_free (ph, list); + + PUTBACK; + return; + } +} + +static +XS (XS_Xchat_Embed_plugingui_remove) +{ + void *gui_entry; + dXSARGS; + if (items != 1) { + xchat_print (ph, "Usage: Xchat::Embed::plugingui_remove(handle)"); + } else { + gui_entry = INT2PTR (void *, SvUV (ST (0))); + xchat_plugingui_remove (ph, gui_entry); + } + XSRETURN_EMPTY; +} + +/* xs_init is the second argument perl_parse. As the name hints, it + initializes XS subroutines (see the perlembed manpage) */ +static void +xs_init (pTHX) +{ + HV *stash; + SV *version; + /* This one allows dynamic loading of perl modules in perl + scripts by the 'use perlmod;' construction */ + newXS ("DynaLoader::boot_DynaLoader", boot_DynaLoader, __FILE__); + /* load up all the custom IRC perl functions */ + newXS ("Xchat::Internal::register", XS_Xchat_register, __FILE__); + newXS ("Xchat::Internal::hook_server", XS_Xchat_hook_server, __FILE__); + newXS ("Xchat::Internal::hook_command", XS_Xchat_hook_command, __FILE__); + newXS ("Xchat::Internal::hook_print", XS_Xchat_hook_print, __FILE__); + newXS ("Xchat::Internal::hook_timer", XS_Xchat_hook_timer, __FILE__); + newXS ("Xchat::Internal::hook_fd", XS_Xchat_hook_fd, __FILE__); + newXS ("Xchat::Internal::unhook", XS_Xchat_unhook, __FILE__); + newXS ("Xchat::Internal::print", XS_Xchat_print, __FILE__); + newXS ("Xchat::Internal::command", XS_Xchat_command, __FILE__); + newXS ("Xchat::Internal::set_context", XS_Xchat_set_context, __FILE__); + newXS ("Xchat::Internal::get_info", XS_Xchat_get_info, __FILE__); + newXS ("Xchat::Internal::context_info", XS_Xchat_context_info, __FILE__); + newXS ("Xchat::Internal::get_list", XS_Xchat_get_list, __FILE__); + + newXS ("Xchat::find_context", XS_Xchat_find_context, __FILE__); + newXS ("Xchat::get_context", XS_Xchat_get_context, __FILE__); + newXS ("Xchat::get_prefs", XS_Xchat_get_prefs, __FILE__); + newXS ("Xchat::emit_print", XS_Xchat_emit_print, __FILE__); + newXS ("Xchat::send_modes", XS_Xchat_send_modes, __FILE__); + newXS ("Xchat::nickcmp", XS_Xchat_nickcmp, __FILE__); + + newXS ("Xchat::Embed::plugingui_remove", XS_Xchat_Embed_plugingui_remove, + __FILE__); + + stash = get_hv ("Xchat::", TRUE); + if (stash == NULL) { + exit (1); + } + + newCONSTSUB (stash, "PRI_HIGHEST", newSViv (XCHAT_PRI_HIGHEST)); + newCONSTSUB (stash, "PRI_HIGH", newSViv (XCHAT_PRI_HIGH)); + newCONSTSUB (stash, "PRI_NORM", newSViv (XCHAT_PRI_NORM)); + newCONSTSUB (stash, "PRI_LOW", newSViv (XCHAT_PRI_LOW)); + newCONSTSUB (stash, "PRI_LOWEST", newSViv (XCHAT_PRI_LOWEST)); + + newCONSTSUB (stash, "EAT_NONE", newSViv (XCHAT_EAT_NONE)); + newCONSTSUB (stash, "EAT_XCHAT", newSViv (XCHAT_EAT_XCHAT)); + newCONSTSUB (stash, "EAT_PLUGIN", newSViv (XCHAT_EAT_PLUGIN)); + newCONSTSUB (stash, "EAT_ALL", newSViv (XCHAT_EAT_ALL)); + newCONSTSUB (stash, "FD_READ", newSViv (XCHAT_FD_READ)); + newCONSTSUB (stash, "FD_WRITE", newSViv (XCHAT_FD_WRITE)); + newCONSTSUB (stash, "FD_EXCEPTION", newSViv (XCHAT_FD_EXCEPTION)); + newCONSTSUB (stash, "FD_NOTSOCKET", newSViv (XCHAT_FD_NOTSOCKET)); + newCONSTSUB (stash, "KEEP", newSViv (1)); + newCONSTSUB (stash, "REMOVE", newSViv (0)); + + version = get_sv( "Xchat::VERSION", 1 ); + sv_setpv( version, PACKAGE_VERSION ); +} + +static void +perl_init (void) +{ + int warn; + int arg_count; + char *perl_args[] = { "", "-e", "0", "-w" }; + char *env[] = { "" }; + static const char xchat_definitions[] = { + /* Redefine the $SIG{__WARN__} handler to have XChat + printing warnings in the main window. (TheHobbit) */ +#include "xchat.pm.h" + }; +#ifdef OLD_PERL + static const char irc_definitions[] = { +#include "irc.pm.h" + }; +#endif +#ifdef ENABLE_NLS + + /* Problem is, dynamicaly loaded modules check out the $] + var. It appears that in the embedded interpreter we get + 5,00503 as soon as the LC_NUMERIC locale calls for a comma + instead of a point in separating integer and decimal + parts. I realy can't understant why... The following + appears to be an awful workaround... But it'll do until I + (or someone else :)) found the "right way" to solve this + nasty problem. (TheHobbit ) */ + + setlocale (LC_NUMERIC, "C"); + +#endif + + warn = 0; + xchat_get_prefs (ph, "perl_warnings", NULL, &warn); + arg_count = warn ? 4 : 3; + + PERL_SYS_INIT3 (&arg_count, (char ***)&perl_args, (char ***)&env); + my_perl = perl_alloc (); + perl_construct (my_perl); + PL_exit_flags |= PERL_EXIT_DESTRUCT_END; + perl_parse (my_perl, xs_init, arg_count, perl_args, (char **)NULL); + + /* + Now initialising the perl interpreter by loading the + perl_definition array. + */ + + eval_pv (xchat_definitions, TRUE); +#ifdef OLD_PERL + eval_pv (irc_definitions, TRUE); +#endif + +} + + +static int +perl_load_file (char *filename) +{ +#ifdef WIN32 + static HMODULE lib = NULL; + + if (!lib) { + lib = LoadLibraryA (PERL_DLL); + if (!lib) { + if (GetLastError () == ERROR_BAD_EXE_FORMAT) + /* http://forum.xchat.org/viewtopic.php?t=3277 */ + thread_mbox ("Cannot use this " PERL_DLL "\n\n" + "32-bit ActivePerl is required."); + else { + /* a lot of people install this old version */ + lib = LoadLibraryA ("perl56.dll"); + if (lib) { + FreeLibrary (lib); + lib = NULL; + thread_mbox ("Cannot open " PERL_DLL "\n\n" + "You must have ActivePerl " PERL_REQUIRED_VERSION " installed in order to\n" + "run perl scripts.\n\n" + "I have found Perl 5.6, but that is too old."); + } else { + thread_mbox ("Cannot open " PERL_DLL "\n\n" + "You must have ActivePerl " PERL_REQUIRED_VERSION " installed in order to\n" + "run perl scripts.\n\n" + "http://www.activestate.com/ActivePerl/\n\n" + "Make sure perl's bin directory is in your PATH."); + } + } + /* failure */ + return FALSE; + } + + /* success */ + FreeLibrary (lib); + } +#endif + + if (my_perl == NULL) { + perl_init (); + } + + return execute_perl (sv_2mortal (newSVpv ("Xchat::Embed::load", 0)), + filename); + +} + +static void +perl_end (void) +{ + + if (my_perl != NULL) { + execute_perl (sv_2mortal (newSVpv ("Xchat::Embed::unload_all", 0)), ""); + PL_perl_destruct_level = 1; + perl_destruct (my_perl); + perl_free (my_perl); + PERL_SYS_TERM(); + my_perl = NULL; + } + +} + +static int +perl_command_unloadall (char *word[], char *word_eol[], void *userdata) +{ + if (my_perl != NULL) { + execute_perl (sv_2mortal (newSVpv ("Xchat::Embed::unload_all", 0)), ""); + return XCHAT_EAT_XCHAT; + } + + return XCHAT_EAT_XCHAT; +} + +static int +perl_command_reloadall (char *word[], char *word_eol[], void *userdata) +{ + if (my_perl != NULL) { + execute_perl (sv_2mortal (newSVpv ("Xchat::Embed::reload_all", 0)), ""); + + return XCHAT_EAT_XCHAT; + } else { + perl_auto_load( NULL ); + } + return XCHAT_EAT_XCHAT; +} + +static int +perl_command_load (char *word[], char *word_eol[], void *userdata) +{ + char *file = get_filename (word, word_eol); + + if (file != NULL ) + { + perl_load_file (file); + return XCHAT_EAT_XCHAT; + } + + return XCHAT_EAT_NONE; +} + +static int +perl_command_unload (char *word[], char *word_eol[], void *userdata) +{ + char *file = get_filename (word, word_eol); + + if (my_perl != NULL && file != NULL) { + execute_perl (sv_2mortal (newSVpv ("Xchat::Embed::unload", 0)), file); + return XCHAT_EAT_XCHAT; + } + + return XCHAT_EAT_NONE; +} + +static int +perl_command_reload (char *word[], char *word_eol[], void *userdata) +{ + char *file = get_filename (word, word_eol); + + if (my_perl != NULL && file != NULL) { + execute_perl (sv_2mortal (newSVpv ("Xchat::Embed::reload", 0)), file); + return XCHAT_EAT_XCHAT; + } + + return XCHAT_EAT_XCHAT; +} + +void +xchat_plugin_get_info (char **name, char **desc, char **version, + void **reserved) +{ + *name = "Perl"; + *desc = "Perl scripting interface"; + *version = PACKAGE_VERSION; + if (reserved) + *reserved = NULL; +} + + +/* Reinit safeguard */ + +static int initialized = 0; + +int +xchat_plugin_init (xchat_plugin * plugin_handle, char **plugin_name, + char **plugin_desc, char **plugin_version, char *arg) +{ + if (initialized != 0) { + xchat_print (plugin_handle, "Perl interface already loaded\n"); + return 0; + } + + ph = plugin_handle; + initialized = 1; + + *plugin_name = "Perl"; + *plugin_desc = "Perl scripting interface"; + *plugin_version = PACKAGE_VERSION; + + xchat_hook_command (ph, "load", XCHAT_PRI_NORM, perl_command_load, 0, 0); + xchat_hook_command (ph, "unload", XCHAT_PRI_NORM, perl_command_unload, 0, + 0); + xchat_hook_command (ph, "reload", XCHAT_PRI_NORM, perl_command_reload, 0, + 0); + xchat_hook_command (ph, "pl_reload", XCHAT_PRI_NORM, perl_command_reload, 0, + 0); + xchat_hook_command (ph, "unloadall", XCHAT_PRI_NORM, + perl_command_unloadall, 0, 0); + xchat_hook_command (ph, "reloadall", XCHAT_PRI_NORM, + perl_command_reloadall, 0, 0); + + /*perl_init (); */ + xchat_hook_timer (ph, 0, perl_auto_load, NULL ); + + xchat_print (ph, "Perl interface loaded\n"); + + return 1; +} + +int +xchat_plugin_deinit (xchat_plugin * plugin_handle) +{ + perl_end (); + + initialized = 0; + xchat_print (plugin_handle, "Perl interface unloaded\n"); + + return 1; +} diff --git a/plugins/perl/perl.def b/plugins/perl/perl.def new file mode 100644 index 00000000..a2ec6566 --- /dev/null +++ b/plugins/perl/perl.def @@ -0,0 +1,4 @@ +EXPORTS + xchat_plugin_init + xchat_plugin_deinit + xchat_plugin_get_info \ No newline at end of file diff --git a/plugins/perl/syntax_highlight b/plugins/perl/syntax_highlight new file mode 100644 index 00000000..96d57003 --- /dev/null +++ b/plugins/perl/syntax_highlight @@ -0,0 +1,69 @@ +#!/usr/bin/env perl +use 5.010; +use strict; +use warnings; +use Text::VimColor; +use HTML::TokeParser::Simple; +use HTML::Entities qw(decode_entities); +use Path::Class; + +my $html_file = shift; +my $reader = file( $html_file )->openr; +unlink $html_file; +my $writer = file( $html_file )->openw; + +my $parser = HTML::TokeParser::Simple->new( $reader ); + +while( my $token = $parser->get_token ) { + + my $class_name = $token->get_attr( "class" ); + + if( $token->is_start_tag( "div" ) + && ( $class_name && $class_name =~ qr/\bexample\b/ ) + ) { + my $start_tag = $token; + $start_tag->set_attr( class => $class_name . " synNormal" ); + my @content; + my $end_tag; + + EXAMPLE: + while( $token = $parser->get_token ) { + if( $token->is_end_tag( "div" ) ) { + $end_tag = $token; + last EXAMPLE; + } + + if( $token->is_text ) { + push @content, decode_entities( $token->as_is ); + } + } + + my $code = join "", @content; +# say $code; + my $vim = Text::VimColor->new( + string => $code, + filetype => "perl", + vim_options => [qw( -RXZ -i NONE -u NONE -N -n)], + ); + my $html = $vim->html; + $html =~ s/^\s+//; + $html =~ s/\s+$//; + + print $writer $start_tag->as_is; + + my $lines = $html =~ tr/\n/\n/; + + say $writer "
    "; + for my $line ( 0 .. $lines ) { + say $writer "
    ",1 + $line,"
    "; + } + say $writer "
    "; + + print $writer "
    ";
    +		say $writer $html;
    +		say $writer "
    "; + print $writer $end_tag->as_is; + } else { + print $writer $token->as_is; + } +} diff --git a/plugins/perl/xchat2-perl.html b/plugins/perl/xchat2-perl.html new file mode 100644 index 00000000..38dd3912 --- /dev/null +++ b/plugins/perl/xchat2-perl.html @@ -0,0 +1,1166 @@ + + + + +X-Chat 2 Perl Interface + + + + + + + + +
    + X-Chat 2 Perl Interface +
    + + + +
    +

    + + + +
    +
    + + +

    +

    +

    X-Chat 2 Perl Interface

    +

    +

    +

    Introduction

    +

    This is the new Perl interface for X-Chat 2. However, due to changes in +xchat's plugin code you will need xchat 2.0.8 or above to load this. Scripts +written using the old interface will continue to work. If there are any +problems, questions, comments or suggestions please email them to the address +on the bottom of this page.

    +

    +

    +

    Constants

    +

    +

    +

    Priorities

    +
      +
    • Xchat::PRI_HIGHEST +
    • +
    • Xchat::PRI_HIGH +
    • +
    • Xchat::PRI_NORM +
    • +
    • Xchat::PRI_LOW +
    • +
    • Xchat::PRI_LOWEST +
    • +
    +

    +

    +

    Return values

    +
      +
    • Xchat::EAT_NONE - pass the event along +
    • +
    • Xchat::EAT_XCHAT - don't let xchat see this event +
    • +
    • Xchat::EAT_PLUGIN - don't let other scripts and plugins see this event but xchat will still see it +
    • +
    • Xchat::EAT_ALL - don't let anything else see this event +
    • +
    +

    +

    +

    Timer and fd hooks

    +
      +
    • Xchat::KEEP - keep the timer going or hook watching the handle +
    • +
    • Xchat::REMOVE - remove the timer or hook watching the handle +
    • +
    +

    +

    +

    hook_fd flags

    +
      +
    • Xchat::FD_READ - invoke the callback when the handle is ready for reading +
    • +
    • Xchat::FD_WRITE - invoke the callback when the handle is ready for writing +
    • +
    • Xchat::FD_EXCEPTION - invoke the callback if an exception occurs +
    • +
    • Xchat::FD_NOTSOCKET - indicate that the handle being hooked is not a socket +
    • +
    +

    +

    +

    Functions

    +

    +

    +

    Xchat::register( $name, $version, [$description,[$callback]] )

    +
      +
    • $name - The name of this script +
    • +
    • $version - This script's version +
    • +
    • $description - A description for this script +
    • +
    • $callback - This is a function that will be called when the is script + unloaded. This can be either a reference to a + function or an anonymous sub reference. +
    • +
    +

    This is the first thing to call in every script.

    +

    +

    +

    Xchat::hook_server( $message, $callback, [\%options] )

    +

    +

    +

    Xchat::hook_command( $command, $callback, [\%options] )

    +

    +

    +

    Xchat::hook_print( $event,$callback, [\%options] )

    +

    +

    +

    Xchat::hook_timer( $timeout,$callback, [\%options | $data] )

    +

    +

    +

    Xchat::hook_fd( $handle, $callback, [ \%options ] )

    +

    These functions can be to intercept various events. +hook_server can be used to intercept any incoming message from the IRC server. +hook_command can be used to intercept any command, if the command doesn't currently exist then a new one is created. +hook_print can be used to intercept any of the events listed in Setttings->Advanced->Text Events +hook_timer can be used to create a new timer

    +
    +

    Valid keys for \%options:

    + + + + + + + +
    data Additional data that is to be associated with the
    + hook. For timer hooks this value can be provided either as
    + Xchat::hook_timer( $timeout, $cb,{data=>$data})
    + or Xchat::hook_timer( $timeout, $cb, $data ).
    + However, this means that hook_timer cannot be provided
    + with a hash reference containing data as a key.
    example:
    + my $options = { data => [@arrayOfStuff] };
    + Xchat::hook_timer( $timeout, $cb, $options );
    +
    + In this example, the timer's data will be
    + [@arrayOfStuff] and not { data => [@arrayOfStuff] }
    +
    + This key is valid for all of the hook functions.
    +
    + Default is undef.
    +
    priority Sets the priority for the hook.
    + It can be set to one of the + Xchat::PRI_* constants.
    +
    + This key only applies to server, command + and print hooks.
    +
    + Default is Xchat::PRI_NORM. +
    help_text Text displayed for /help $command.
    +
    + This key only applies to command hooks.
    +
    + Default is "". +
    flags Specify the flags for a fd hook.
    +
    + See hook fd flags section for valid values.
    +
    + On Windows if the handle is a pipe you specify
    + Xchat::FD_NOTSOCKET in addition to any other flags you might be using.
    +
    + This key only applies to fd hooks.
    + Default is Xchat::FD_READ +

    +

    +

    When callbacks are invoked

    +

    Each of the hooks will be triggered at different times depending on the type +of hook.

    + + + + + + + + + + + + + +
    Hook Type When the callback will be invoked
    server hooks a $message message is + received from the server +
    command hooks the $command command is + executed, either by the user or from a script +
    print hooks X-Chat is about to print the message for the + $event event +
    timer hooks called every $timeout milliseconds + (1000 millisecond is 1 second)
    + the callback will be executed in the same context where + the hook_timer was called, if the context no longer exists + then it will execute in a random context +
    fd hooks depends on the flags that were passed to hook_fd
    + See hook_fd flags section. +

    The value return from these hook functions can be passed to Xchat::unhook +to remove the hook.

    +

    +

    +

    Callback Arguments

    +

    All callback functions will receive their arguments in @_ like every +other Perl subroutine.

    +

    +Server and command callbacks
    +
    +$_[0] - array reference containing the IRC message or command and +arguments broken into words
    +example:
    +/command arg1 arg2 arg3
    +$_[0][0] - command
    +$_[0][1] - arg1
    +$_[0][2] - arg2
    +$_[0][3] - arg3
    +
    +$_[1] - array reference containing the Nth word to the last word
    +example:
    +/command arg1 arg2 arg3
    +$_[1][0] - command arg1 arg2 arg3
    +$_[1][1] - arg1 arg2 arg3
    +$_[1][2] - arg2 arg3
    +$_[1][3] - arg3
    +
    +$_[2] - the data that was passed to the hook function
    +
    +Print callbacks
    +
    +$_[0] - array reference containing the values for the + text event see Settings->Advanced->Text Events
    +$_[1] - the data that was passed to the hook function
    +
    +Timer callbacks
    +
    +$_[0] - the data that was passed to the hook function
    +
    fd callbacks
    +
    +$_[0] - the handle that was passed to hook_fd
    +$_[1] - flags indicating why the callback was called
    +$_[2] - the data that was passed to the hook function
    +

    +

    +

    Callback return values

    +

    All server, command and print callbacks should return one of +the Xchat::EAT_* constants. +Timer callbacks can return Xchat::REMOVE to remove +the timer or Xchat::KEEP to keep it going

    +

    +

    +

    Miscellaneous Hook Related Information

    +

    For server hooks, if $message is "RAW LINE" then $cb will be called for +every IRC message than X-Chat receives.

    +

    For command hooks if $command is "" then $cb will be called for +messages entered by the user that is not a command.

    +

    For print hooks besides those events listed in +Settings->Advanced->Text Events, these additional events can be used.

    + + + + + + + + + + + + + + + +
    Event Description
    "Open Context" a new context is created
    "Close Context" a context has been close
    "Focus Tab" when a tab is brought to the front
    "Focus Window" when a top level window is focused or the + main tab window is focused by the window manager +
    "DCC Chat Text" when text from a DCC Chat arrives. + $_[0] will have these values
    +
    + $_[0][0] - Address
    + $_[0][1] - Port
    + $_[0][2] - Nick
    + $_[0][3] - Message
    +
    "Key Press" used for intercepting key presses
    + $_[0][0] - key value
    + $_[0][1] - state bitfield, 1 - shift, 4 - control, 8 - alt
    + $_[0][2] - string version of the key which might be empty for unprintable keys
    + $_[0][3] - length of the string in $_[0][2]
    +

    +

    +

    Xchat::unhook( $hook )

    +
      +
    • $hook - the hook that was previously returned by one of the Xchat::hook_* functions +
    • +
    +

    This function is used to removed a hook previously added with one of +the Xchat::hook_* functions

    +

    It returns the data that was passed to the Xchat::hook_* function when +the hook was added

    +

    +

    +

    Xchat::print( $text | \@lines, [$channel,[$server]] )

    +
      +
    • $text - the text to print +
    • +
    • \@lines - array reference containing lines of text to be printed + all the elements will be joined together before printing +
    • +
    • $channel - channel or tab with the given name where $text + will be printed +
    • +
    • $server - specifies that the text will be printed in a channel or tab + that is associated with $server +
    • +
    +

    The first argument can either be a string or an array reference of strings. +Either or both of $channel and $server can be undef.

    +

    If called as Xchat::print( $text ), it will always return true. +If called with either the channel or the channel and the server +specified then it will return true if a context is found and +false otherwise. The text will not be printed if the context +is not found. The meaning of setting $channel or $server to +undef is the same as +find_context.

    +

    +

    +

    Xchat::printf( $format, LIST )

    + +

    +

    +

    Xchat::command( $command | \@commands, [$channel,[$server]] )

    +
      +
    • $command - the command to execute, without the leading / +
    • +
    • \@commands - array reference containing a list of commands to execute +
    • +
    • $channel - channel or tab with the given name where $command will be executed +
    • +
    • $server - specifies that the command will be executed in a channel or tab that is associated with $server +
    • +
    +

    The first argument can either be a string or an array reference of strings. +Either or both of $channel and $server can be undef.

    +

    If called as Xchat::command( $command ), it will always return true. +If called with either the channel or the channel and the server +specified then it will return true if a context is found and false +otherwise. The command will not be executed if the context is not found. +The meaning of setting $channel or $server to undef is the same +as find_context.

    +

    +

    +

    Xchat::commandf( $format, LIST )

    + +

    +

    +

    Xchat::find_context( [$channel, [$server]] )

    +
      +
    • $channel - name of a channel +
    • +
    • $server - name of a server +
    • +
    +

    Either or both of $channel and $server can be undef. Calling +Xchat::find_context() is the same as calling +Xchat::find_context( undef, undef) and +Xchat::find_context( $channel ) is +the same as Xchat::find_context( $channel, undef ).

    +

    If $server is undef, find any channel named $channel. +If $channel is undef, find the front most window +or tab named $server.If both $channel and +$server are undef, find the currently focused tab or window.

    +

    Return the context found for one of the above situations or undef if such +a context cannot be found.

    +

    +

    +

    Xchat::get_context()

    +

    Returns the current context.

    +

    +

    +

    Xchat::set_context( $context | $channel,[$server] )

    + +

    See find_context for more details on $channel and $server.

    +

    Returns true on success, false on failure

    +

    +

    +

    Xchat::get_info( $id )

    +
      +
    • $id - one of the following case sensitive values +
    • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ID Return value
    away away reason or undef if you are not away
    channel current channel name
    charset character-set used in the current context
    event_text <Event Name> text event format string for <Event name>
    + Example: +
    +
    1
    +
    +
    my $channel_msg_format = Xchat::get_info( "event_text Channel Message" );
    +
    +
    +
    host real hostname of the current server
    id connection id
    inputbox contents of the inputbox
    libdirfsthe system wide directory where xchat will look for plugins. + this string is in the same encoding as the local file system
    modes the current channels modes or undef if not known
    network current network name or undef
    nick current nick
    nickserv nickserv password for this network or undef
    server current server name
    + (what the server claims to be) undef if not connected +
    state_cursorcurrent inputbox cursor position in characters
    topic current channel topic
    version xchat version number
    win_statusstatus of the xchat window, possible values are "active", "hidden" + and "normal"
    win_ptr native window pointer, GtkWindow * on Unix, HWND on Win32.
    + On Unix if you have the Glib module installed you can use my $window = Glib::Object->new_from_pointer( Xchat::get_info( "win_ptr" ) ); to get a Gtk2::Window object.
    + Additionally when you have detached tabs, each of the windows will return a different win_ptr for the different Gtk2::Window objects.
    + See char_count.pl for a longer example of a script that uses this to show how many characters you currently have in your input box. +
    xchatdir xchat config directory encoded in UTF-8
    + examples:
    + /home/user/.xchat2
    + C:\Documents and Settings\user\Application Data\X-Chat 2 +
    xchatdirfs same as xchatdir except encoded in the locale file system encoding

    This function is used to retrieve certain information about the current +context.

    +

    +

    Xchat::get_prefs( $name )

    +
      +
    • $name - name of a X-Chat setting (available through the /set command) +
    • +
    +

    This function provides a way to retrieve X-Chat's setting information.

    +

    Returns undef if there is no setting called called $name.

    +

    +

    +

    Xchat::emit_print( $event, LIST )

    +
      +
    • $event - name from the Event column in Settings->Advanced->Text Events +
    • +
    • LIST - this depends on the Description column on the bottom of Settings->Advanced->Text Events +
    • +
    +

    This functions is used to generate one of the events listed under +Settings->Advanced->Text Events

    +

    Note: when using this function you MUST return Xchat::EAT_ALL otherwise you will end up with duplicate events. +One is the original and the second is the one you emit.

    +

    Returns true on success, false on failure

    +

    +

    +

    Xchat::send_modes( $target | \@targets, $sign, $mode, [ $modes_per_line ] )

    +
      +
    • $target - a single nick to set the mode on +
    • +
    • \@targets - an array reference of the nicks to set the mode on +
    • +
    • $sign - the mode sign, either '+' or '-' +
    • +
    • $mode - the mode character such as 'o' and 'v', this can only be one character long +
    • +
    • $modes_per_line - an optional argument maximum number of modes to send per at once, pass 0 use the current server's maximum (default) +
    • +
    +

    Send multiple mode changes for the current channel. It may send multiple MODE lines if the request doesn't fit on one.

    +

    Example:

    +<
    +
    1
    +
    2
    +
    3
    +
    4
    +
    5
    +
    6
    +
    7
    +
    8
    +
    9
    +
    10
    +
    11
    +
    12
    +
    13
    +
    14
    +
    +
    use strict;
    +use warning;
    +use Xchat qw(:all);
    +
    +hook_command( "MODES", sub {
    +   my (undef, $who, $sign, $mode) = @{$_[0]};
    +   my @targets = split /,/, $who;
    +   if( @targets > 1 ) {
    +      send_modes( \@targets, $sign, $mode, 1 );
    +   } else {
    +      send_modes( $who, $sign, $mode );
    +   }
    +   return EAT_XCHAT;
    +});
    +
    +

    +

    +

    Xchat::nickcmp( $nick1, $nick2 )

    +
      +
    • $nick1, $nick2 - the two nicks or channel names that are to be compared +
    • +
    +

    The comparsion is based on the current server. Either a RFC1459 compliant +string compare or plain ascii will be using depending on the server. The +comparison is case insensitive.

    +

    Returns a number less than, equal to or greater than zero if +$nick1 is +found respectively, to be less than, to match, or be greater than +$nick2.

    +

    +

    +

    Xchat::get_list( $name )

    +
      +
    • $name - name of the list, one of the following: +"channels", "dcc", "ignore", "notify", "users" +
    • +
    +

    This function will return a list of hash references. The hash references +will have different keys depend on the list. An empty list is returned +if there is no such list.

    +

    "channels" - list of channels, querys and their server

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Key Description
    channel tab name
    chantypeschannel types supported by the server, typically "#&"
    context can be used with set_context
    flags Server Bits:
    + 0 - Connected
    + 1 - Connecting
    + 2 - Away
    + 3 - EndOfMotd(Login complete)
    + 4 - Has WHOX
    + 5 - Has IDMSG (FreeNode)
    +
    +

    The following correspond to the /chanopt command

    + 6 - Hide Join/Part Message (text_hidejoinpart)
    + 7 - unused (was for color paste)
    + 8 - Beep on message (alert_beep)
    + 9 - Blink Tray (alert_tray)
    + 10 - Blink Task Bar (alert_taskbar)
    +

    Example of checking if the current context has Hide Join/Part messages set:

    +
    +
    1
    +
    2
    +
    3
    +
    +
    if( Xchat::context_info->{flags} & (1 << 6) ) {
    +  Xchat::print( "Hide Join/Part messages is enabled" );
    +}
    +
    +
    id Unique server ID
    laglag in milliseconds
    maxmodes Maximum modes per line
    network network name to which this channel belongs
    nickprefixes Nickname prefixes e.g. "+@"
    nickmodes Nickname mode chars e.g. "vo"
    queuenumber of bytes in the send queue
    server server name to which this channel belongs
    type the type of this context
    + 1 - server
    + 2 - channel
    + 3 - dialog
    +
    users Number of users in this channel

    "dcc" - list of DCC file transfers

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Key Value
    address32 address of the remote user(ipv4 address)
    cps bytes per second(speed)
    destfile destination full pathname
    file file name
    nicknick of the person this DCC connection is connected to
    port TCP port number
    pos bytes sent/received
    poshigh bytes sent/received, high order 32 bits
    resume point at which this file was resumed
    + (zero if it was not resumed) +
    resumehigh point at which this file was resumed, high order 32 bits
    +
    size file size in bytes low order 32 bits
    sizehigh file size in bytes, high order 32 bits (when the files is > 4GB)
    status DCC Status:
    + 0 - queued
    + 1 - active
    + 2 - failed
    + 3 - done
    + 4 - connecting
    + 5 - aborted +
    type DCC Type:
    + 0 - send
    + 1 - receive
    + 2 - chatrecv
    + 3 - chatsend +

    "ignore" - current ignore list

    + + + + + + +
    Key Value
    mask ignore mask. e.g: *!*@*.aol.com
    flags Bit field of flags.
    + 0 - private
    + 1 - notice
    + 2 - channel
    + 3 - ctcp
    + 4 - invite
    + 5 - unignore
    + 6 - nosave
    + 7 - dcc
    +

    "notify" - list of people on notify

    + + + + + + + + + + + + + + + + + +
    Key Value
    networkscomma separated list of networks where you will be notfified about this user's online/offline status or undef if you will be notificed on every network you are connected to
    nick nickname
    flags 0 = is online
    on time when user came online
    off time when user went offline
    seen time when user was last verified still online

    the values indexed by on, off and seen can be passed to localtime +and gmtime, see perldoc -f localtime and perldoc -f gmtime for more +detail

    "users" - list of users in the current channel

    + + + + + + + + + + + + + + + + + + + + + +
    Key Value
    away away status(boolean)
    lasttalklast time a user was seen talking, this is the an epoch time(number of seconds since a certain date, that date depends on the OS)
    nick nick name
    hosthost name in the form: user@host or undef if not known
    prefix prefix character, .e.g: @ or +
    realnameReal name or undef
    selectedselected status in the user list, only works when retrieving the user list of the focused tab. You can use the /USELECT command to select the nicks

    "networks" - list of networks and the associated settings from network list

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Key Value
    autojoins An object with the following methods:
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    MethodDescription
    channels()returns a list of this networks' autojoin channels in list context, a count of the number autojoin channels in scalar context
    keys()returns a list of the keys to go with the channels, the order is the same as the channels, if a channel doesn't have a key, '' will be returned in it's place
    pairs()a combination of channels() and keys(), returns a list of (channels, keys) pairs. This can be assigned to a hash for a mapping from channel to key.
    as_hash()return the pairs as a hash reference
    as_string()the original string that was used to construct this autojoin object, this can be used with the JOIN command to join all the channels in the autojoin list
    as_array()return an array reference of hash references consisting of the keys "channel" and "key"
    as_bool()returns true if the network has autojoins and false otherwise
    +
    connect_commands An array reference containing the connect commands for a network. An empty array if there aren't any
    encoding the encoding for the network
    flags + a hash reference corresponding to the checkboxes in the network edit window + + + + + + + + + + + + + + + + + + + + +
    allow_invalidtrue if "Accept invalid SSL certificate" is checked
    autoconnecttrue if "Auto connect to this network at startup" is checked
    cycletrue if "Connect to selected server only" is NOT checked
    use_globaltrue if "Use global user information" is checked
    use_proxytrue if "Bypass proxy server" is NOT checked
    use_ssltrue if "Use SSL for all the servers on this network" is checked
    +
    irc_nick1Corresponds with the "Nick name" field in the network edit window
    irc_nick2Corresponds with the "Second choice" field in the network edit window
    irc_real_nameCorresponds with the "Real name" field in the network edit window
    irc_user_nameCorresponds with the "User name" field in the network edit window
    networkName of the network
    nickserv_passwordCorresponds with the "Nickserv password" field in the network edit window
    selectedIndex into the list of servers in the "servers" key, this is used if the "cycle" flag is false
    server_passwordCorresponds with the "Server password" field in the network edit window
    serversAn array reference of hash references with a "host" and "port" key. If a port is not specified then 6667 will be used.

    +

    +

    Xchat::user_info( [$nick] )

    +
      +
    • $nick - the nick to look for, if this is not given your own nick will be + used as default +
    • +
    +

    This function is mainly intended to be used as a shortcut for when you need +to retrieve some information about only one user in a channel. Otherwise it +is better to use get_list. +If $nick is found a hash reference containing the same keys as those in the +"users" list of get_list is returned otherwise undef is returned. +Since it relies on get_list this function can only be used in a +channel context.

    +

    +

    +

    Xchat::context_info( [$context] )

    + +

    This function will return the information normally retrieved with get_info, except this is for the context that is passed in. The information will be returned in the form of a hash. The keys of the hash are the $id you would normally supply to get_info as well as all the keys that are valid for the items in the "channels" list from get_list. Use of this function is more efficient than calling get_list( "channels" ) and searching through the result.

    +

    Example:

    +
    +
    1
    +
    2
    +
    3
    +
    4
    +
    5
    +
    6
    +
    7
    +
    8
    +
    9
    +
    10
    +
    11
    +
    +
    use strict;
    +use warnings;
    +use Xchat qw(:all); # imports all the functions documented on this page
    +
    +register( "User Count", "0.1",
    +   "Print out the number of users on the current channel" );
    +hook_command( "UCOUNT", \&display_count );
    +sub display_count {
    +   prnt "There are " . context_info()->{users} . " users in this channel.";
    +   return EAT_XCHAT;
    +}
    +
    +

    +

    +

    Xchat::strip_code( $string )

    +
      +
    • $string - string to remove codes from +
    • +
    +

    This function will remove bold, color, beep, reset, reverse and underline codes from $string. It will also remove ANSI escape codes which might get used by certain terminal based clients. If it is called in void context $string will be modified otherwise a modified copy of $string is returned.

    +

    +

    +

    Examples

    +

    +

    +

    Asynchronous DNS resolution with hook_fd

    +
    +
    1
    +
    2
    +
    3
    +
    4
    +
    5
    +
    6
    +
    7
    +
    8
    +
    9
    +
    10
    +
    11
    +
    12
    +
    13
    +
    14
    +
    15
    +
    16
    +
    17
    +
    18
    +
    19
    +
    20
    +
    21
    +
    22
    +
    23
    +
    24
    +
    25
    +
    26
    +
    27
    +
    28
    +
    29
    +
    30
    +
    31
    +
    32
    +
    33
    +
    34
    +
    35
    +
    +
    use strict;
    +use warnings;
    +use Xchat qw(:all);
    +use Net::DNS;
    +   
    +hook_command( "BGDNS", sub {
    +   my $host = $_[0][1];
    +   my $resolver = Net::DNS::Resolver->new;
    +   my $sock = $resolver->bgsend( $host );
    +   
    +   hook_fd( $sock, sub {
    +      my $ready_sock = $_[0];
    +      my $packet = $resolver->bgread( $ready_sock );
    +      
    +      if( $packet->authority && (my @answers = $packet->answer ) ) {
    +         
    +         if( @answers ) {
    +            prnt "$host:";
    +            my $padding = " " x (length( $host ) + 2);
    +            for my $answer ( @answers ) {
    +               prnt $padding . $answer->rdatastr . ' ' . $answer->type;
    +            }
    +         }
    +      } else {
    +         prnt "Unable to resolve $host";
    +      }
    +      
    +      return REMOVE;
    +   },
    +   {
    +      flags => FD_READ,
    +   });
    +   
    +   return EAT_XCHAT;
    +});
    +
    +
    + +

    +

    +

    Contact Information

    +

    Contact Lian Wan Situ at <atmcmnky [at] yahoo.com> for questions, comments and +corrections about this page or the Perl plugin itself. You can also find me +in #xchat on FreeNode under the nick Khisanth.

    + + +
    + X-Chat 2 Perl Interface +
    + + + + diff --git a/plugins/perl/xchat2-perldocs.html b/plugins/perl/xchat2-perldocs.html new file mode 100644 index 00000000..10d8f314 --- /dev/null +++ b/plugins/perl/xchat2-perldocs.html @@ -0,0 +1,475 @@ +XChat - IRC (chat) client for UNIX + + + +

    This interface is deprecated

    + + + + + +
    +
    +

    Xchat Perl Docs

    + + +
    + + +
    + +Introduction +
    +
    + +
    +

    Good Hello!

    +

    The purpose of this page is to give people some quick documentation on the +things that they will encounter when they try to code scripts for X-Chat. +It is not meant to be a comprehensive programming tutorial, +by any means. If that's what you're looking for, then you can just keep on +looking.

    +

    If you're going to do any scripting with X-Chat at all, you will +need to know perl. It also won't hurt to have had experience writing tcl for +eggdrops or ircII scripts. Otherwise you're going to have to be very careful +to avoid creating conditions which could flood you offline or do other +not-so-optimal things. ;) Thankfully, it shouldn't take most intelligent +people more than a week (month on the outside) enough perl to do some nice +things in it. +Perl is a very flexible language.

    +

    You should probably also go read (or at least skim over and then carefully +bookmark this copy of the thing that defines how IRC works: RFC 1459. +Other documents that scripters might find useful would be this +nice list of server +numerics, and this list of changes +for Hybrid 6 which is something everyone on EFNet should read. In fact, I +strongly suggest saving copies of these documents to your local +hard drive, because you will be back to look at them again soon.

    +

    One last thing... While you may hear that RFC 1459 isn't being followed very +well, and this is partly true, do your absolute best to stick with RFC-compliant +behaviours anyway because otherwise there's a good chance that your script will +never interoperate properly with others, or at least just piss off a lot of other +people. Pay special attention to section 2.2 of the RFC.

    +
    + + +
    +Standard Disclaimer + +
    +This documentation is provided on an "as-is" basis and comes with no warranty of accuracy or usefulness, either expressed or implied. It is subject to change without any notice, and may contain omissions or errors which could cause your genitalia to shrivel and fall off, or spontaneously combust. If you have any further questions,
    please feel free to seek professional help.
    +
    + + +
    + + +
    + +About Handlers +
    +
    + +
    +There are [currently] four basic ways to make things call the subroutines you write for X-Chat and they are: +
    • message handlers - Triggered by messagse sent from the IRC server to your client
    • +
    • command handlers - triggered by / commands typed in by the user at the keyboard
    • +
    • timeout handlers - triggered by gtk+
    • +
    • print handlers - triggered just before xchat calls its built in print handlers for events
    +
    + + +
    + + +
    + +About Exit Codes +
    +
    + +
    +These are very important. Every time you set up a handler, it takes precedent over the built-in functions and commands of X-Chat. That is, whatever thing which triggered your subroutine will go to your code before it goes to X-Chat to be dealt with. In this way you can replace almost every built-in function that the client has with your own routines. The thing to remember is that if your code exits by hitting the end of your subroutine, or by a plain 'return' statement, processing of the event will go on to whatever other things have set up hooks for the event, and then (provided nothing else exits with a return value of 1) to X-Chat itself. There is only one problem with this, (which is solved by the brokering handler that I'll explain that later) and that is that you cannot really control what order the custom routines get called. Normally they will execute in order of which ones were installed first, but a single script has no real way of knowing this. Beware. +
    + + +
    + + +
    + +About @_ +
    +
    + +
    +If you've never heard of @_ before, then you've obviously not coded in perl. When a message handler triggers, the raw line from the IRC server is passed to the subroutine you specify in @_. When a command handler is triggered, only the arguments are passed to the routine through @_ and they are not broken into a list, but left as one long string. You'll have to parse those yourself with split. (I advise using s/\s+/ /g to collapse the blank space to single space first.) When a timer handler is triggered, I *think* absolutely nothing is passed in @_, but it's not like anything terrifically important could be passed along anyway. Be especially careful when setting up message handlers for mode changes, since the modes are not broken up into individual events like they are with eggdrop. The upside of this is that X-Chat has no mode hooks of it's own, so you don't have to worry about it too much. (This is not the case with the brokering handler, however.) +
    + + +
    + + +
    + +About Context +
    +
    + +
    +There are some really nice things about coding for X-Chat, and the biggest one is that it's fairly good about determining the proper context for things. If a server sends something that triggers a message handler, then you can be sure that unless you specify otherwise, that your IRC::print or IRC::command function call will go back to that server and that server alone. If you really really need to know what the current context is, use the IRC::get_info function as detailed below. +
    + +
    + + +
    + + +
    + +script initialization commands +
    +
    + + +
    + + +
    + +IRC::register(scriptname, version, shutdownroutine, unused); +
    +
    + +
    +

    This is the first function your script should call, example:

    +

    IRC::register ("my script", "1.0", "", "");

    +

    The "shutdownroutine" arg is a function that will be called when X-Chat shuts down, so you get a chance to save config files etc. You can omit this arg, it is optional. The "unused" arg is reserved for future use, for now just provide "". This function also returns X-Chat's version number.

    +
    + + +
    + + +
    + +Handler initialization commands +
    +
    + + +
    + + +
    + +IRC::add_message_handler(message, subroutine_name); +
    +
    + +
    +

    This function allows you to set up hooks to subroutines so that when a particular message arrives from the IRC server that you are connected to, it can be passed to a subroutine to be dealt with appropriately. The message argument is essentially the second solid token from the raw line sent by the IRC server, and X-Chat doesn't know that some numeric messages have associated text messages, so for now set up a handler for both if you want to be sure odd servers don't screw up your expectations. (Read: fear IRCNet.) The entire line sent by the IRC server will be passed to your subroutine in @_. For the completely uninitiated, messages are things like 'PRIVMSG', 'NOTICE', '372', etc.

    +
    + + +
    + + +
    + +IRC::add_command_handler(command, subroutine_name); +
    +
    + +
    +

    This function allows you to set up hooks for actual commands that the user can type into the text window. The arguments are passed to the subroutine via @_, and arrive as a single string. @_ will be null if no arguments are supplied. It's recommended that you be sure and collapse the excess whitespace with s/\s+/ /g before attempting to chop the line up with split. As mentioned earlier, exiting with an undefined return value will allow the command to be parsed by other handlers, while using a return value of 1 will signal the program that no further parsing needs to be done with this command.

    +
    + + +
    + + +
    + +IRC::add_timeout_handler(interval, subroutine_name); +
    +
    + +
    +

    This function allows you to set up hooks for subroutines to be called at a particular interval. The interval is measured in milliseconds, so don't use a particularly small value unless you wish to drive the CPU load through the roof. 1000ms = 1 second. No values will be passed to the routine via @_ and return values don't affect anything either.

    +
    + + +
    + + +
    + +IRC::add_print_handler(message, subroutine_name); +
    +
    + +
    +

    This function allows you to catch the system messages (those who generally start by three stars) and to execute a function each time an event appear. The events are those you can see in "Settings->Edit Events Texts". message is the name of the event (you can find it in the Edit Events box, "Events" column) , subroutine_name is the name of the function that will get messages. Be carrful: all the arguments are sent to function in $_[0] separated by spaces.

    +
    + + +
    + + +
    + +Output commands +
    +
    + + +
    + + +
    + +IRC::print(text); +
    +
    + +
    +This is a very simple routine. All it does is put the contents of the text string to the current window. The current window will be whichever window a command was typed into when called from a command handler, or in whichever window the message command is appropriate to if it is called from within a message handler. As with any perl program, newlines are not assumed, so don't forget to end the line with \n if you don't want things to look screwey. +
    + + +
    + + +
    + +IRC::print_with_channel( text, channelname, servername ); +
    +
    + +
    +This routine does the same thing as IRC::Print does, except it allows you to direct the output to a specific window. It returns 1 on success, 0 on fail. +
    + + +
    + + +
    + +IRC::command(text); +
    +
    + +
    +This routine allows you to execute commands in the current context. The text string containing the command will be parsed by everything that would normally parse a command, including your own command handlers, so be careful. Newlines are assumed, thankfully. +
    + + +
    + + +
    + +IRC::command_with_server(text, servername); +
    +
    + +
    +This routine allows you to specify the context of the server for which the command will be executed. It's not particularly useful unless you're managing a connection manually, yet the command still exists for it's usefulness in doing things like managing a bnc connection, etc. Newlines are assumed here as well. +
    + + +
    + + +
    + +IRC::send_raw(text); +
    +
    + +
    +This routine is very useful in that it allows you to send a string directly to the IRC server you are connected to. It is assumed that the server will be the one you first connected to if there is no clear context for the command, otherwise it will go to whatever server triggered the message handler or command handler window. You must specify newlines here always or you can be guaranteed that strange things will happen. The text message you specify should be a proper RAW IRC message, so don't play with it if you don't know how to do these. Additionally, while newlines are also not assumed here as with the IRC::print function, the RFC specifies that newlines are a CR+LF pair, even if most servers will accept a mere newline. It's best to play it safe and use \r\n instead of just \n. +
    + + +
    + + +
    + +Information retrieval commands +
    +
    + + +
    + + +
    + +IRC::get_info(integer); +
    +
    + +
    +This function returns a bit of selected information depending on what the value of the integer is. +Here's a list of the currently supported values: +
    • 0 - xchat version
    • +
    • 1 - your nickname
    • +
    • 2 - channel
    • +
    • 3 - server
    • +
    • 4 - xchatdir
    • +
    • 5 - away status
    • +
    • 6 - network name
    • +
    • 7 - server hostname
    • +
    • 8 - channel topic
    +

    If you are requesting information that isn't available in the current context, then it will return null.

    +

    Any numbers other than the above will return an error message.

    +
    + + +
    + + +
    + +IRC::get_prefs(var); +
    +
    + +
    +This command lets you read the preferences that are set in the xchat configuration file. Just look at the xchat.conf dir to see what variables are available to use with this command. Returns the value of the variable requested or "Unknown Variable" if the variable isn't available. +
    + + +
    + + +
    + +IRC::user_info( nickname ); +
    +
    + +
    +Returns a flat list of information on the nickname specified consisting of... nickname, nick host, and whether they have op or voice in the current context. +
    + + +
    + + +
    + +IRC::channel_list( ); +
    +
    + +
    +This command returns a flat list which contains the current channel, server, and nickname for all channels the client is currently in. You'll have to break the list up into groups of three yourself. No arguments are necessary, or used [currently]. +
    + + +
    + + +
    + +IRC::server_list( ); +
    +
    + +
    +This command returns a flat list of servers. (Note, it is incompatible with xchat 1.8 in that it also returns a list of servers you are NOT connected to as well.) +
    + + +
    + + +
    + +IRC::user_list(channel, server); +
    +
    + +
    +

    Works very much like the dcc_list command below, except that is returns information about the users on the channel provided as first argument. The second argument is the server and is optional.

    +

    NOTE: If a user has both op and voice, only the op flag will be set to 1 by this command in xchat2.

    +
    + + +
    + + +
    + +IRC::user_list_short(channel, server); +
    +
    + +
    +

    A simpler version of IRC::user_list that returns pairs of nick & user@host suitable for assigning to a hash.

    +

    NOTE: If a user has both op and voice, only the op flag will be set to 1 by this command in xchat2.

    +
    + + +
    + + +
    + +IRC::dcc_list( ); +
    +
    + +
    +This command does essentially the same thing as channel_list, giving you the details of each DCC connection currently in progress. I have no idea exactly what is returned because I haven't had a chance to poke at this one much, but suffice it to say that it's a flat list, and the first time you play with it the meaning of the returned values should be pretty obvious. +
    + + +
    + + +
    + +IRC::ignore_list( ); +
    +
    + +
    +This command returns a flat list of the contents of your ignore list. You'll have to play with it a little as I have not had a chance to yet. Works basically the same as the other list commands. +
    + + +
    + + +
    + +Unimplemented commands that were available in xchat 1.8.x +
    +
    + +
    +add_user_list , sub_user_list , clear_user_list, notify_list were available in xchat 1.8.x but are not implemented in xchat 2 at this time. +
    + +
    +
    +

    +This document originally written by Dagmar d'Surreal on March 26th, 1998 for xchat 1.4
    +Updated on July 30th, 1999 by Peter Zelezny
    +Updated on May 16th, 2003 by DaNumber8 to comply with the perl plugin for xchat2 version 2.0.3
    + diff --git a/plugins/perl/xcperl_build.bat b/plugins/perl/xcperl_build.bat new file mode 100644 index 00000000..6f569c47 --- /dev/null +++ b/plugins/perl/xcperl_build.bat @@ -0,0 +1,43 @@ +perl generate_header + +gcc -W -Os -DWIN32 -I "C:\MinGW\include" -I .. -I "C:\ActivePerl-5.8.9\perl\lib\CORE" -L "C:\ActivePerl-5.8.9\perl\bin" -c perl.c -o perl5.8.9.o + +dllwrap --def perl.def --dllname xcperl5.8.9.dll "C:\ActivePerl-5.8.9\perl\bin\perl58.dll" perl5.8.9.o + +strip xcperl5.8.9.dll + + + +gcc -W -Os -DWIN32 -I "C:\MinGW\include" -I .. -I "C:\Perl\lib\CORE" -L "C:\Perl\bin" -c perl.c -o perl5.10.0.o + +dllwrap --def perl.def --dllname xcperl5.10.0.dll "C:\Perl\bin\perl510.dll" perl5.10.0.o + +strip xcperl5.10.0.dll + + +gcc -W -Os -DWIN32 -I "C:\MinGW\include" -I .. -I "C:\ActivePerl-5.10.1\perl\lib\CORE" -L "C:\ActivePerl-5.10.1\perl\bin" -c perl.c -o perl5.10.1.o + +dllwrap --def perl.def --dllname xcperl5.10.1.dll "C:\ActivePerl-5.10.1\perl\bin\perl510.dll" perl5.10.1.o + +strip xcperl5.10.1.dll + + +gcc -W -Os -DWIN32 -I "C:\MinGW\include" -I .. -I "C:\ActivePerl-5.12.1\perl\lib\CORE" -L "C:\ActivePerl-5.12.1\perl\bin" -c perl.c -o perl5.12.1.o + +dllwrap --def perl.def --dllname xcperl5.12.1.dll "C:\ActivePerl-5.12.1\perl\bin\perl512.dll" perl5.12.1.o + +strip xcperl5.12.1.dll + +gcc -W -Os -DWIN32 -I "C:\MinGW\include" -I .. -I "C:\strawberry-perl-5.10.1.3\perl\lib\CORE" -L "C:\strawberry-perl-5.10.1.3\perl\bin" -c perl.c -o perl-strawberry5.10.1.o + +dllwrap --def perl.def --dllname xcperl-strawberry5.10.1.dll "C:\strawberry-perl-5.10.1.3\perl\bin\perl510.dll" perl5.10.1.o + +strip xcperl-strawberry5.10.1.dll + + +gcc -W -Os -DWIN32 -I "C:\MinGW\include" -I .. -I "C:\strawberry-perl-5.12.1.0-portable\perl\lib\CORE" -L "C:\strawberry-perl-5.12.1.0-portable\perl\bin" -c perl.c -o perl-strawberry5.12.1.o + +dllwrap --def perl.def --dllname xcperl-strawberry5.12.1.dll "C:\strawberry-perl-5.12.1.0-portable\perl\bin\perl512.dll" perl5.12.1.o + +strip xcperl-strawberry5.12.1.dll + diff --git a/plugins/plugin-conf.in b/plugins/plugin-conf.in new file mode 100644 index 00000000..d05792b1 --- /dev/null +++ b/plugins/plugin-conf.in @@ -0,0 +1,20 @@ + +AC_INIT(@PLUGIN@-config.h.in) +AM_CONFIG_HEADER(@PLUGIN@-config.h) +AM_INIT_AUTOMAKE(xchat-@PLUGIN@, @PLUGIN_VERSION@) +AM_MAINTAINER_MODE +AM_DISABLE_STATIC +AM_PROG_LIBTOOL + +AC_ARG_WITH(plugin-includes, +[ --with-plugin-includes directory containing xchat-plugin.h], + PLUGIN_INCLUDES=$enableval) + +AC_SUBST(PLUGIN_INCLUDES) + +xchatlibdir=${libdir}/xchat +AC_SUBST(xchatlibdir) + +AC_OUTPUT( +Makefile +) diff --git a/plugins/plugin20.html b/plugins/plugin20.html new file mode 100644 index 00000000..787c048b --- /dev/null +++ b/plugins/plugin20.html @@ -0,0 +1,1002 @@ + + + +XChat 2.0 Plugin Interface + + + + +

    XChat 2.0 Plugin Interface

    + + +plugin20.html revision 2.86 +
    Latest version of this document is available at:
    http://xchat.org/docs/plugin20.html + +

    1. Documentation:

    +
    +1.0 Introduction +
    1.1 Sample plugin +
    1.2 What is word and word_eol? +
    1.3 Lists and fields +
    1.4 Plugins on Windows (Win32) +
    1.5 Controlling the GUI +
      1.5.1 Basic Control +
      1.5.2 Custom Menu Items +
      1.5.3 System Tray +
    1.6 Handling UTF-8/Unicode strings +
    + +

    2. Function reference:

    +
    +xchat_hook_command +
    xchat_hook_fd +
    xchat_hook_print +
    xchat_hook_server +
    xchat_hook_timer +
    xchat_unhook +
    +
    xchat_command +
    xchat_commandf +
    xchat_print +
    xchat_printf +
    xchat_emit_print +
    xchat_send_modes +
    +
    xchat_find_context +
    xchat_get_context +
    xchat_get_info +
    xchat_get_prefs +
    xchat_set_context +
    +
    xchat_nickcmp +
    xchat_strip +
    xchat_free +
    +
    xchat_list_get +
    xchat_list_free +
    xchat_list_fields (not documented yet) +
    xchat_list_next +
    xchat_list_str +
    xchat_list_int +
    xchat_list_time +
    +
    xchat_plugingui_add (not documented yet) +
    xchat_plugingui_remove (not documented yet) +

    + +

    Introduction

    +Plugins for XChat are written in C. The interface aims to keep 100% +binary compatability. This means that if you upgrade XChat, you will +not need to recompile your plugins, they'll continue to work. The +interface doesn't depend on any structures and offsets, so compiler +versions shouldn't have an impact either. The only real requirement of +an XChat plugin, is that it define a "xchat_plugin_init" symbol. This +is your entry point function, see the example below. You should make +all your global variables and functions static, so that a symbol +is not exported. There is no harm in exporting these symbols, but they +are not necessary and only pollute the name-space. Plugins are compiled as shared objects +(.so files), for example: +

    +Most UNIX systems:
    +	gcc -Wl,--export-dynamic -Wall -O1 -shared -fPIC myplugin.c -o myplugin.so
    +
    +MacOSX:
    +	gcc -no-cpp-precomp -g -O2 -Wall -bundle -flat_namespace -undefined suppress -o myplugin.so myplugin.c
    +
    + +See the Windows section on how to compile a plugin +using visual studio. +

    +All strings passed to and from plugins are encoded in UTF-8, regardless +of locale. What does this mean? +


    + +

    Sample plugin

    +This simple plugin autoOps anyone who joins a channel you're in. It also +adds a new command /AUTOOPTOGGLE, which can be used to turn the feature ON +or OFF. Every XChat plugin must define an xchat_plugin_init function, this +is the normal entry point. xchat_plugin_deinit is optional. +
    +
    +
    +
    +#include "xchat-plugin.h"
    +
    +#define PNAME "AutoOp"
    +#define PDESC "Auto Ops anyone that joins"
    +#define PVERSION "0.1"
    +
    +static xchat_plugin *ph;   /* plugin handle */
    +static int enable = 1;
    +
    +static int join_cb(char *word[], void *userdata)
    +{
    +   if (enable)
    +      /* Op ANYONE who joins */
    +      xchat_commandf(ph, "OP %s", word[1]);
    +   /* word[1] is the nickname, as in the Settings->Advanced->TextEvents window in xchat */
    +
    +   return XCHAT_EAT_NONE;  /* don't eat this event, xchat needs to see it! */
    +}
    +
    +static int autooptoggle_cb(char *word[], char *word_eol[], void *userdata)
    +{
    +   if (!enable)
    +   {
    +      enable = 1;
    +      xchat_print(ph, "AutoOping now enabled!\n");
    +   } else
    +   {
    +      enable = 0;
    +      xchat_print(ph, "AutoOping now disabled!\n");
    +   }
    +
    +   return XCHAT_EAT_ALL;   /* eat this command so xchat and other plugins can't process it */
    +}
    +
    +void xchat_plugin_get_info(char **name, char **desc, char **version, void **reserved)
    +{
    +   *name = PNAME;
    +   *desc = PDESC;
    +   *version = PVERSION;
    +}
    +
    +int xchat_plugin_init(xchat_plugin *plugin_handle,
    +                      char **plugin_name,
    +                      char **plugin_desc,
    +                      char **plugin_version,
    +                      char *arg)
    +{
    +   /* we need to save this for use with any xchat_* functions */
    +   ph = plugin_handle;
    +
    +   /* tell xchat our info */
    +   *plugin_name = PNAME;
    +   *plugin_desc = PDESC;
    +   *plugin_version = PVERSION;
    +
    +   xchat_hook_command(ph, "AutoOpToggle", XCHAT_PRI_NORM, autooptoggle_cb, "Usage: AUTOOPTOGGLE, Turns OFF/ON Auto Oping", 0);
    +   xchat_hook_print(ph, "Join", XCHAT_PRI_NORM, join_cb, 0);
    +
    +   xchat_print(ph, "AutoOpPlugin loaded successfully!\n");
    +
    +   return 1;       /* return 1 for success */
    +}
    +
    +
    +
    + +

    What's word and word_eol?

    + +They are arrays of strings. They contain the parameters the user entered +for the particular command. For example, if you executed: + +
    +/command NICK hi there
    +
    +word[1] is command
    +word[2] is NICK
    +word[3] is hi
    +word[4] is there
    +
    +word_eol[1] is command NICK hi there
    +word_eol[2] is NICK hi there
    +word_eol[3] is hi there
    +word_eol[4] is there
    +
    +These arrays are simply provided for your convenience. You are NOT allowed +to alter them. Both arrays are limited to 32 elements (index 31). word[0] and +word_eol[0] are reserved and should not be read. +


    +

    Lists and Fields

    +Lists of information (DCCs, Channels, Userlist etc) can be retreived +with xchat_list_get. All fields are READ ONLY and must be copied if +needed for a long time after calling xchat_list_str. The types of lists and fields available are: +
    + +"channels" - list of channels, querys and their servers. +
    + + + + + + + + + + + + + + + +
    NameDescriptionType
    channelChannel or query namestring
    chantypesChannel types e.g. "#!&"
    (Added in version 2.0.9. Older versions will return NULL)
    string
    context(xchat_context *) pointer. Can be used with xchat_set_contextstring
    flagsServer/Channel Bits:
    + + + + + + + + + + + + + +
    Bit #ValueDescription
    01Connected
    12Connecting in Progress
    24You are away
    38End of MOTD (Login complete)
    416Has WHOX (ircu)
    532Has IDMSG (FreeNode)
    664Hide Join/Part Messages
    7128unused (was Color Paste in old versions)
    8256Beep on Message
    9512Blink Tray
    101024Blink Task Bar
    +
    (Bits 0-5 added in 2.0.9. Bits 6-8 added in 2.6.6. Bit 9 added in 2.8.0. Bit 10 in 2.8.6)
    int
    idUnique server ID
    (Added in version 2.0.8. Older versions will return -1)
    int
    lagLag in milliseconds
    (Added in version 2.6.8. Older versions will return -1)
    int
    maxmodesMaximum modes per line
    (Added in version 2.0.9. Older versions will return -1)
    int
    networkNetwork name to which this channel belongs
    (Added in version 2.0.2. Older versions will return NULL)
    string
    nickprefixesNickname prefixes e.g. "@+"
    (Added in version 2.0.9. Older versions will return NULL)
    string
    nickmodesNickname mode chars e.g. "ov"
    (Added in version 2.0.9. Older versions will return NULL)
    string
    queueNumber of bytes in the send-queue
    (Added in version 2.6.8. Older versions will return -1)
    int
    serverServer name to which this channel belongsstring
    typeType of context this is: 1-Server 2-Channel 3-Dialog
    (Added in version 2.0.2. Older versions will return -1)
    int
    usersNumber of users in this channel
    (Added in version 2.0.8. Older versions will return -1)
    int
    +
    + +"dcc" - list of DCC file transfers. Fields: +
    + + + + + + + + + + + + + + + +
    NameDescriptionType
    address32Address of the remote user (ipv4 address)int
    cpsBytes per second (speed)int
    destfileDestination full pathnamestring
    fileFile namestring
    nickNickname of person who the file is from/tostring
    portTCP port numberint
    posBytes sent/receivedint
    poshighBytes sent/received, high order 32 bitsint
    resumePoint at which this file was resumed (or zero if it was not resumed)int
    resumehighPoint at which this file was resumed, high order 32 bitsint
    sizeFile size in bytes, low order 32 bits (cast it to unsigned)int
    sizehighFile size in bytes, high order 32 bitsint
    statusDCC Status: 0-Queued 1-Active 2-Failed 3-Done 4-Connecting 5-Abortedint
    typeDCC Type: 0-Send 1-Receive 2-ChatRecv 3-ChatSendint
    +
    + +"ignore" - current ignore list. +
    + + + +
    NameDescriptionType
    maskIgnore mask. .e.g: *!*@*.aol.comstring
    flagsBit field of flags. 0=Private 1=Notice 2=Channel 3=Ctcp
    +4=Invite 5=UnIgnore 6=NoSave 7=DCC
    int
    +
    + +"notify" - list of people on notify. +
    + + + + + + + +
    NameDescriptionType
    networksNetworks to which this nick applies. Comma separated. May be NULL. +
    (Added in version 2.6.8)
    string
    nickNicknamestring
    flagsBit field of flags. 0=Is online.int
    onTime when user came online.time_t
    offTime when user went offline.time_t
    seenTime when user the user was last verified still online.time_t
    +The entire "notify" list was added in xchat 2.0.8. Fields are +only valid for the context when xchat_list_get() was called +(i.e. you get information about the user ON THAT ONE SERVER ONLY). You +may cycle through the "channels" list to find notify information for every +server. +
    + +"users" - list of users in the current channel. +
    + + + + + + + + +
    NameDescriptionType
    awayAway status (boolean)
    (Added in version 2.0.6. Older versions will return -1)
    int
    lasttalkLast time the user was seen talking
    (Added in version 2.4.2. Older versions will return -1)
    time_t
    nickNick namestring
    hostHost name in the form: user@host (or NULL if not known).string
    prefixPrefix character, .e.g: @ or +. Points to a single char.string
    realnameReal name or NULL
    (Added in version 2.8.6)
    string
    selectedSelected status in the user list, only works for retrieving the user list of the focused tab
    (Added in version 2.6.1. Older versions will return -1)
    int
    +
    + +
    + +Example: +
    +
    +   list = xchat_list_get(ph, "dcc");
    +   if(list)
    +   {
    +      xchat_print(ph, "--- DCC LIST ------------------\n"
    +                      "File  To/From   KB/s   Position\n");
    +
    +      while(xchat_list_next(ph, list))
    +      {
    +         xchat_printf(ph, "%6s %10s %.2f  %d\n",
    +             xchat_list_str(ph, list, "file"),
    +             xchat_list_str(ph, list, "nick"),
    +             xchat_list_int(ph, list, "cps") / 1024,
    +             xchat_list_int(ph, list, "pos"));
    +      }
    +
    +      xchat_list_free(ph, list);
    +   }
    +
    + +
    + +

    Plugins on Windows (Win32)

    +Yes, it can be done. All you need is either +MSVC (Visual Studio) or +MINGW, both these compilers are free to download. +Simply compile your plugin as a DLL. You should have the following files: + +
      +
    • xchat-plugin.h - Main Plugin header
    • +
    • plugin.c - Your plugin, you need to write this one :)
    • +
    • plugin.def - A simple text file containing the following:
    • +
    +
    +EXPORTS
    +  xchat_plugin_init
    +  xchat_plugin_deinit
    +  xchat_plugin_get_info
    +
    + +
    Leave out xchat_plugin_deinit if you don't intend to define that +function. Then, to compile, type this at your command prompt:

    +
    +MSVC +
     cl -O1 -MD -G5 -DWIN32 -c plugin.c
    +
     link /DLL /out:plugin.dll /SUBSYSTEM:WINDOWS plugin.obj /def:plugin.def /base:0x00d40000 +

    +GCC (MINGW) +
     gcc -Wall -Os -DWIN32 -c plugin.c
    +
     dllwrap --def plugin.def --dllname plugin.dll plugin.o

    +
    +
    For a complete example, have a look at the source code of the DNS Plugin, which also contains a Makefile. +

    +Caveat: Plugins compiled on Win32 MUST have a +global variable called ph, which is the plugin_handle, much like +in the sample plugin above. +

    + +

    Controlling the GUI

    +

    +A simple way to perform basic GUI functions is to use the /GUI command. +You can execute this command through the input-box, or by calling +xchat_command(ph, "GUI .....");. +

    +
    + + + + + + + + + + + +
    GUI ATTACHSame function as "Attach Window" in the XChat menu (new for 2.6.2).
    GUI DETACHSame function as "Detach Tab" in the XChat menu (new for 2.6.2).
    GUI APPLYSimilar to clicking OK in the settings window. Execute this after /SET to activate GUI changes (new for 2.8.0)
    GUI COLOR nChange the tab color of the current context, where n is a number from 0 to 3.
    GUI FOCUSFocus the current window or tab.
    GUI FLASHFlash the taskbar button. It will flash only if the window isn't focused and will stop when it is focused by the user.
    GUI HIDEHide the main xchat window completely (this is used by the Systray plugin).
    GUI ICONIFYIconify (minimize to taskbar) the current xchat window.
    GUI MSGBOX textDisplays a asynchronous message box with your text (new for 2.4.5).
    GUI SHOWShow the main xchat window (if currently hidden).
    +
    +

    +Note, the FLASH, ICONIFY and COLOR args were added in xchat 2.0.8, they +will not work with previous versions. +

    +Starting from 2.4.5 you can add your own items to the menu bar. The menu command has this syntax: +
    +	MENU [-eX] [-i<ICONFILE>] [-k<mod>,<key>] [-m] [-pX] [-rX,group] [-tX] {ADD|DEL} <path> [command] [unselect command]
    +For example: +
    +	MENU -p5 ADD FServe
    +	MENU ADD "FServe/Show File List" "fs list"
    +	MENU ADD FServe/-
    +	MENU -k4,101 -t1 ADD "FServe/Enabled" "fs on" "fs off"
    +	MENU -e0 ADD "FServe/Do Something" "fs action"
    +
    +In the example above, it would be recommended to execute "MENU DEL FServe" inside your xchat_plugin_deinit function. The special item with name "-" will add a separator line. +

    +Parameters and flags: +
    + + + + + + + + +
    -eXSet enable flag to X. -e0 for disable, -e1 for enable. This lets you create a disabled (shaded) item.
    -iFILEUse an icon filename FILE (new for 2.8.0). Not supported for toggles or radio items.
    -k<mod>,<key>Specify a keyboard shortcut. "mod" is the modifier which is a bitwise OR of: 1-SHIFT 4-CTRL 8-ALT in decimal. "key" is the key value in decimal, e.g. -k5,101 would specify SHIFT-CTRL-E.
    -mSpecify that this label should be treated as Pango Markup language. Since forward slash ("/") is already used in menu paths, you should replace closing tags with an ASCII 003 instead e.g.: xchat_command(ph, "MENU -m ADD \"<b>Bold Menu<\003b>\""); (new for 2.6.6).
    -pXSpecify a menu item's position number. e.g. -p5 will cause the item to be inserted in the 5th place. New for 2.8.0: If the position is a negative number, it will be used as an offset from the bottom/right-most item.
    -rX,groupSpecify a radio menu item, with initial state X and a group name (new for 2.8.0). The group name should be the exact label of another menu item (without the path) that this item will be grouped with. For radio items, only a select command will be executed (no unselect command).
    -tXSpecify a toggle menu item with an initial state. -t0 for an "unticked" item and -t1 for a "ticked" item.
    +
    + +If you want to change an item's toggle state or enabled flag, +just ADD an item with exactly the same name and command and specify the -tX -eX parameters you need. +

    It's also possible to add items to XChat's existing menus, for example:
    +
    	MENU ADD "Settings/Sub Menu"
    +	MENU -t0 ADD "Settings/Sub Menu/My Setting" myseton mysetoff
    +
    +However, internal names and layouts of XChat's menu may change in the future, so use at own risk. +

    +Here is an example of Radio items: +
    	MENU ADD "Language"
    +	MENU -r1,"English" ADD "Language/English" cmd1
    +	MENU -r0,"English" ADD "Language/Spanish" cmd2
    +	MENU -r0,"English" ADD "Language/German" cmd3
    +
    +From 2.8.0, you can also change menus other than the main one (i.e popup menus). Currently they are: +
    + + + + + + + + +
    Root NameMenu
    $TABTab menu (right click a channel/query tab or treeview row)
    $TRAYSystem Tray menu
    $URLURL link menu
    $NICKUserlist nick-name popup menu
    $CHANMenu when clicking a channel in the text area (since 2.8.4)
    +
    +
    +	Example: MENU -p0 ADD "$TAB/Cycle Channel" cycle
    +
    + +
    +Starting from 2.8.0 you can manipulate XChat's system tray icon using the /TRAY command: +
    + Usage: 
    + TRAY -f <timeout> <file1> [<file2>] Flash tray between two icons. Leave off file2 to use default xchat icon.
    + TRAY -f <filename>                  Set tray to a fixed icon.
    + TRAY -i <number>                    Flash tray with an internal icon.
    +                                     2=Message 5=Highlight 8=Private 11=File
    + TRAY -t <text>                      Set the tray tooltip.
    + TRAY -b <title> <text>              Set the tray balloon.
    +                                     Supported on Windows from 2.8.1 and 2.8.2 on Linux (libnotify required on Linux).
    +
    +Filenames can be ICO or PNG format. PNG format is supported on Linux/BSD and Windows XP (but requires installation of GDI+ on Windows 2000). Set a timeout of -1 to use XChat's default. +

    + +

    Handling UTF-8/Unicode strings

    +

    +The XChat plugin API specifies that strings passed to and from xchat must be encoded in UTF-8. +

    +What does this mean for the plugin programmer? You just have to be a little careful when +passing strings obtained from IRC to system calls. For example, if you're writing a file-server +bot, someone might message you a filename. Can you pass this filename directly to open()? Maybe! +If you're lazy... The correct thing to do is to convert the string to "system locale encoding", +otherwise your plugin will fail on non-ascii characters. +

    +Here are examples on how to do this conversion on Unix and Windows. In this example, someone will +CTCP you the message "SHOWFILE <filename>". +

    +

    +
    +static int ctcp_cb(char *word[], char *word_eol[], void *userdata)
    +{
    +	if(strcmp(word[1], "SHOWFILE") == 0)
    +	{
    +		get_file_name(nick, word[2]);
    +	}
    +
    +	return XCHAT_EAT_XCHAT;
    +}
    +
    +static void get_file_name(char *nick, char *fname)
    +{
    +	char buf[256];
    +	FILE *fp;
    +
    +	/* the fname is in UTF-8, because it came from the xchat API */
    +
    #ifdef _WIN32
    +	wchar_t wide_name[MAX_PATH];
    +
    +	/* convert UTF-8 to WIDECHARs (aka UTF-16LE) */
    +	if (MultiByteToWideChar(CP_UTF8, 0, fname, -1, wide_name, MAX_PATH) < 1)
    +		return;
    +
    +	/* now we have WIDECHARs, so we can _wopen() or CreateFileW(). */
    +	/* _wfopen actually requires NT4, Win2000, XP or newer. */
    +	fp = _wfopen(wide_name, "r");
    +
    #else
    +	char *loc_name;
    +
    +	/* convert UTF-8 to System Encoding */
    +	loc_name = g_filename_from_utf8(fname, -1, 0, 0, 0);
    +	if(!loc_name)
    +		return;
    +
    +	/* now open using the system's encoding */
    +	fp = fopen(loc_name, "r");
    +	g_free(loc_name);
    +
    #endif
    +	if (fp)
    +	{
    +		while (fgets (buf, sizeof(buf), fp))
    +		{
    +			/* send every line to the user that requested it */
    +			xchat_commandf (ph, "QUOTE NOTICE %s :%s", nick, buf);
    +		}
    +		fclose (fp);
    +	}
    +}
    +
    + + + +

    + +

    Functions

    + +

     xchat_hook_command() 

    +Prototype: xchat_hook *xchat_hook_command(xchat_plugin *ph, const char *name, int pri, xchat_cmd_cb *callb, const char *help_text, void *userdata); +
    +
    Description: Adds a new /command. This allows your program to +handle commands entered at the input box. To capture text without a "/" at +the start (non-commands), you may hook a special name of "". i.e xchat_hook_command(ph, "", ...);. +
    +Starting from version 2.6.8, commands hooked that begin with a period ('.') will be hidden in /HELP and /HELP -l. +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    name: Name of the command (without the forward slash). +
    pri: Priority of this command. Use XCHAT_PRI_NORM. +
    callb: Callback function. This will be called when the user executes the given command name. +
    help_text: String of text to display when the user executes /help for this command. May be NULL if you're lazy. +
    userdata: Pointer passed to the callback function.
    +Returns: Pointer to the hook. Can be passed to xchat_unhook. +
    +
    Example: +
    +
    +static int onotice_cb(char *word[], char *word_eol[], void *userdata)
    +{
    +	if(word_eol[2][0] == 0)
    +	{
    +		xchat_printf(ph, "Second arg must be the message!\n");
    +		return XCHAT_EAT_ALL;
    +	}
    +
    +	xchat_commandf(ph, "NOTICE @%s :%s", xchat_get_info(ph, "channel"), word_eol[2]);
    +	return XCHAT_EAT_ALL;
    +}
    +
    +xchat_hook_command(ph, "ONOTICE", XCHAT_PRI_NORM, onotice_cb,
    +                   "Usage: ONOTICE <message> Sends a notice to all ops", NULL);
    +
    +
    +
    + +

     xchat_hook_fd() 

    +Prototype: xchat_hook *xchat_hook_fd(xchat_plugin *ph, int fd, int flags, xchat_fd_cb *callb, void *userdata); +
    +
    Description: Hooks a socket or file descriptor. WIN32: Passing a pipe from MSVCR71, MSVCR80 or other variations is not supported at this time. +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    fd: The file descriptor or socket. +
    flags: One or more of XCHAT_FD_READ, XCHAT_FD_WRITE, XCHAT_FD_EXCEPTION, XCHAT_FD_NOTSOCKET. Use bitwise OR to combine them. +XCHAT_FD_NOTSOCKET tells xchat that the provided fd is not a socket, but a "MSVCRT.DLL" pipe. +
    callb: Callback function. This will be called when the socket is available for reading/writing or exception (depending on your chosen flags) +
    userdata: Pointer passed to the callback function.
    +Returns: Pointer to the hook. Can be passed to xchat_unhook. +


    + +

     xchat_hook_print() 

    +Prototype: xchat_hook *xchat_hook_print(xchat_plugin *ph, const char *name, int pri, xchat_print_cb *callb, void *userdata); +
    +
    Description: Registers a function to trap any print events. +The event names may be any available in the "Advanced > Text Events" window. +There are also some extra "special" events you may hook using this function. +Currently they are:
    +"Open Context" - Called when a new xchat_context is created. +
    "Close Context" - Called when a xchat_context pointer is closed. +
    "Focus Tab" - Called when a tab is brought to front. +
    "Focus Window" - Called a toplevel window is focused, or the main +tab-window is focused by the window manager. +
    "DCC Chat Text" - Called when some text from a DCC Chat arrives. It provides these elements in the word[] array:
    word[1] Address +
    word[2] Port +
    word[3] Nick +
    word[4] The Message +
    +"Key Press" - Called when some keys are pressed in the input-box (since 2.4.2). It provides these elements in the word[] array:
    word[1] Key Value +
    word[2] State Bitfield (shift, capslock, alt) +
    word[3] String version of the key +
    word[4] Length of the string (may be 0 for unprintable keys) +
    +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    name: Name of the print event (as in Edit Event Texts Window). +
    pri: Priority of this command. Use XCHAT_PRI_NORM. +
    callb: Callback function. This will be called when this event name is printed. +
    userdata: Pointer passed to the callback function.
    +Returns: Pointer to the hook. Can be passed to xchat_unhook. +
    +
    Example: +
    +
    +static int youpart_cb(char *word[], void *userdata)
    +{
    +	xchat_printf(ph, "You have left channel %s\n", word[3]);
    +	return XCHAT_EAT_XCHAT;	/* dont let xchat do its normal printing */
    +}
    +
    +xchat_hook_print(ph, "You Part", XCHAT_PRI_NORM, youpart_cb, NULL);
    +
    +
    +
    + +

     xchat_hook_server() 

    +Prototype: xchat_hook *xchat_hook_server(xchat_plugin *ph, const char *name, int pri, xchat_serv_cb *callb, void *userdata); +
    +
    Description: Registers a function to be called when a certain server event occurs. You can +use this to trap PRIVMSG, NOTICE, PART, a server numeric etc... If you want to +hook every line that comes from the IRC server, you may use the special name of "RAW LINE". +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    name: Name of the server event. +
    pri: Priority of this command. Use XCHAT_PRI_NORM. +
    callb: Callback function. This will be called when this event is received from the server. +
    userdata: Pointer passed to the callback function.
    +Returns: Pointer to the hook. Can be passed to xchat_unhook. +
    +
    Example: +
    +
    +static int kick_cb(char *word[], char *word_eol[], void *userdata)
    +{
    +	xchat_printf(ph, "%s was kicked from %s (reason=%s)\n", word[4], word[3], word_eol[5]);
    +	return XCHAT_EAT_NONE;	/* don't eat this event, let other plugins and xchat see it too */
    +}
    +
    +xchat_hook_server(ph, "KICK", XCHAT_PRI_NORM, kick_cb, NULL);
    +
    +
    +
    + +

     xchat_hook_timer() 

    +Prototype: xchat_hook *xchat_hook_timer(xchat_plugin *ph, int timeout, xchat_timer_cb *callb, void *userdata); +
    +
    Description: Registers a function to be called every "timeout" milliseconds. +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    timeout: Timeout in milliseconds (1000 is 1 second). +
    callb: Callback function. This will be called every "timeout" milliseconds. +
    userdata: Pointer passed to the callback function.
    +Returns: Pointer to the hook. Can be passed to xchat_unhook. +
    +
    Example: +
    +
    +static xchat_hook *myhook;
    +
    +static int stop_cb(char *word[], char *word_eol[], void *userdata)
    +{
    +	if(myhook != NULL)
    +	{
    +		xchat_unhook(ph, myhook);
    +		myhook = NULL;
    +		xchat_print(ph, "Timeout removed!\n");
    +	}
    +
    +	return XCHAT_EAT_ALL;
    +}
    +
    +static int timeout_cb(void *userdata)
    +{
    +	xchat_print(ph, "Annoying message every 5 seconds! Type /STOP to stop it.\n");
    +	return 1;	/* return 1 to keep the timeout going */
    +}
    +
    +myhook = xchat_hook_timer(ph, 5000, timeout_cb, NULL);
    +xchat_hook_command(ph, "STOP", XCHAT_PRI_NORM, stop_cb, NULL, NULL);
    +

    +
    + +

     xchat_unhook() 

    +Prototype: void *xchat_unhook(xchat_plugin *ph, xchat_hook *hook); +
    +
    Description: Unhooks any hook registered with xchat_hook_print/server/timer/command. When plugins are unloaded, all of its hooks are automatically +removed, so you don't need to call this within your xchat_plugin_deinit() function. +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    hook: Pointer to the hook, as returned by xchat_hook_*. +
    +Returns: The userdata you originally gave to xchat_hook_*. +

    + +

     xchat_command() 

    +Prototype: void xchat_command(xchat_plugin *ph, const char *command); +
    +
    Description: Executes a command as if it were typed in xchat's input box. +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    command: Command to execute, without the forward slash "/". +

    +
    + +

     xchat_commandf() 

    +Prototype: void xchat_commandf(xchat_plugin *ph, const char *format, ...); +
    +
    Description: Executes a command as if it were typed in xchat's input box and provides string formating like printf. +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    format: The format string. +

    +
    + +

     xchat_print() 

    +Prototype: void xchat_print(xchat_plugin *ph, const char *text); +
    +
    Description: Prints some text to the current tab/window. +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    text: Text to print. May contain mIRC color codes. +

    +
    + +

     xchat_printf() 

    +Prototype: void xchat_printf(xchat_plugin *ph, const char *format, ...); +
    +
    Description: Prints some text to the current tab/window and provides formating like printf. +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    format: The format string. +

    +
    + +

     xchat_emit_print() 

    +Prototype: int xchat_emit_print(xchat_plugin *ph, const char *event_name, ...); +
    +
    Description: Generates a print event. This can be any +event found in the Preferences > Advanced > Text Events window. The vararg parameter list +MUST always be NULL terminated. Special care should be taken when calling this function +inside a print callback (from xchat_hook_print), as not to cause endless recursion. +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    event_name: Text event to print. +

    +
    +Returns: 1-Success 0-Failure. +

    +Example: +
    +xchat_emit_print(ph, "Channel Message", "John", "Hi there", "@", NULL);
    +
    +

    + +

     xchat_send_modes() (new for 2.0.9)

    +Prototype: void xchat_send_modes (xchat_plugin *ph, const char *targets[], int ntargets, int modes_per_line, char sign, char mode) +
    +
    Description: Sends a number of channel mode changes to the current channel. For example, you can Op a whole +group of people in one go. It may send multiple MODE lines if the request doesn't fit on one. Pass 0 for +modes_per_line to use the current server's maximum possible. This function should only be called while +in a channel context. +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    targets: Array of targets (strings). The names of people whom the action will be performed on. +
    ntargets: Number of elements in the array given. +
    modes_per_line: Maximum modes to send per line. +
    sign: Mode sign, '-' or '+'. +
    mode: Mode char, e.g. 'o' for Ops.
    +
    +Example: (Ops the three names given) +
    +const char *names_to_Op[] = {"John", "Jack", "Jill"};
    +xchat_send_modes(ph, names_to_Op, 3, 0, '+', 'o');
    +
    +

    + +

     xchat_find_context() 

    +Prototype: xchat_context *xchat_find_context(xchat_plugin *ph, const char *servname, const char *channel); +
    +
    Description: Finds a context based on a channel and servername. If servname is NULL, it finds any channel (or query) by the given name. If channel is NULL, it finds the front-most tab/window of the given servname. If NULL is given for both arguments, the currently focused tab/window will be returned.
    +Changed in 2.6.1. If servname is NULL, it finds the channel (or query) by the given name in the same server group as the current context. If that doesn't exists then find any by the given name. +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    servname: Servername or NULL. +
    channel: Channelname or NULL. +
    +
    +Returns: Context pointer (for use with xchat_set_context) or NULL. +


    + +

     xchat_get_context() 

    +Prototype: xchat_context *xchat_get_context(xchat_plugin *ph); +
    +
    Description: Returns the current context for your plugin. You can use this later with xchat_set_context. +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    +
    +Returns: Context pointer (for use with xchat_set_context). +


    + +

     xchat_get_info() 

    +Prototype: const char *xchat_get_info(xchat_plugin *ph, const char *id); +
    +
    Description: Returns information based on your current context. +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    id: ID of the information you want. Currently supported IDs are (case sensitive): +
    + + + + + + + + + + + + + + + + + + + + +
    awayaway reason or NULL if you are not away.
    channelcurrent channel name.
    charsetcharacter-set used in the current context (since 2.4.2).
    event_text <name>text event format string for name (since 2.8.2).
    gtkwin_ptr(GtkWindow *) (since 2.8.9).
    hostreal hostname of the server you connected to.
    inputboxthe input-box contents, what the user has typed (since 2.4.1).
    libdirfslibrary directory. e.g. /usr/lib/xchat. The same directory used for auto-loading plugins (since 2.4.0).This string isn't necessarily UTF-8, but local file system encoding.
    modeschannel modes, if known, or NULL (since 2.8.1).
    networkcurrent network name or NULL.
    nickyour current nick name.
    nickservnickserv password for this network or NULL (since 2.4.3).
    servercurrent server name (what the server claims to be). NULL if you are not connected.
    topiccurrent channel topic.
    versionxchat version number.
    win_ptrnative window pointer. Unix: (GtkWindow *) Win32: HWND (since 2.6.0).
    win_statuswindow status: "active", "hidden" or "normal" (since 2.0.9).
    xchatdirxchat config directory, e.g.: /home/user/.xchat2 This string is encoded in UTF-8, which means you _should_ convert it to "locale" encoding before using functions like open() or OpenFile(). For best Unicode support on Linux, convert this string using g_filename_from_utf8 and on Windows convert this string to UTF-16LE (wide) and use OpenFileW() etc.
    xchatdirfsxchat config directory, e.g.: /home/user/.xchat2 (since 2.0.9).This string is encoded in local file system encoding, making it ideal for direct use with functions like open() or OpenFile(). For real Unicode support on Windows, it's best not to use xchatdirfs, but xchatdir instead.
    +
    +
    +Returns: A string of the requested information, or NULL. This string must +not be freed and must be copied if needed after the call to xchat_get_info. +


    + +

     xchat_get_prefs() 

    +Prototype: int xchat_get_prefs(xchat_plugin *ph, const char *name, const char **string, int *integer); +
    +
    Description: Provides xchat's setting information (that which is available through the /set command). +A few extra bits of information are available that don't appear in the /set list, currently they are: +
    +
    + + + +
    state_cursorCurrent input-box cursor position (characters, not bytes). Since 2.4.2.
    idUnique server id. Since 2.6.1.
    +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    name: Setting name required. +
    string: Pointer-pointer which to set. +
    integer: Pointer to an integer to set, if setting is a Boolean or Integer type. +
    +Returns: 0-Failed 1-Returned a string 2-Returned an Integer 3-Returned a Boolean. +

    Example: +
    +
    +{
    +	int i;
    +	const char *str;
    +
    +	if (xchat_get_prefs (ph, "irc_nick1", &str, &i) == 1)
    +	{
    +		xchat_printf (ph, "Current nickname setting: %s\n", str);
    +	}
    +}
    +
    +

    + + +

     xchat_set_context() 

    +Prototype: int xchat_set_context(xchat_plugin *ph, xchat_context *ctx); +
    +
    Description: Changes your current context to the one given. +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    ctx: Context to change to (obtained with xchat_get_context or xchat_find_context). +
    +
    +Returns: 1 for success, 0 for failure. +


    + +

     xchat_nickcmp() 

    +Prototype: int xchat_nickcmp(xchat_plugin *ph, const char *s1, const char *s2); +
    +
    Description: Performs a nick name comparision, based on the current server connection. This might be a RFC1459 compliant string compare, or +plain ascii (in the case of DALNet). Use this to compare channels and nicknames. The function works the same way as strcasecmp. +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    s1: String to compare. +
    s2: String to compare s1 to. +
    +
    +Quote from RFC1459: +
    + Because of IRC's scandanavian origin, the characters {}| are + considered to be the lower case equivalents of the characters []\, + respectively. This is a critical issue when determining the + equivalence of two nicknames. +
    +Returns: + An integer + less than, equal to, or greater than zero if s1 is found, + respectively, to be less than, to match, or be greater than s2. +


    + +

     xchat_strip() (new for 2.4.2)

    +Prototype: char *xchat_strip(xchat_plugin *ph, const char *str, int len, int flags); +
    +
    Description: Strips mIRC color codes and/or text attributes (bold, underlined etc) from the given string and returns a newly allocated string. +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    str: String to strip. +
    len: Length of the string (or -1 for NULL terminated). +
    flags: Bit-field of flags: 0-Strip mIRC colors, 1-Strip text attributes. +
    +
    +Returns: +A newly allocated string or NULL for failure. You must free this string with xchat_free. +

    Example: +
    +
    +{
    +	char *new_text;
    +
    +	/* strip both colors and attributes by using the 0 and 1 bits (1 BITWISE-OR 2) */
    +	new_text = xchat_strip(ph, "\00312Blue\003 \002Bold!\002", -1, 1 | 2);
    +
    +	if(new_text)
    +	{
    +		/* new_text should now contain only "Blue Bold!" */
    +		xchat_printf(ph, "%s\n", new_text);
    +		xchat_free(ph, new_text);
    +	}
    +}
    +
    + +

    + +

     xchat_free() (new for 2.4.2)

    +Prototype: void xchat_free(xchat_plugin *ph, void *ptr); +
    +
    Description: Frees a string returned by xchat_* functions. Currently only used to free strings from xchat_strip. +
    +
    Arguments: +
    ph: Plugin handle (as given to xchat_plugin_init). +
    ptr: Pointer to free. +
    +
    + +

    + + + diff --git a/plugins/python/Makefile.am b/plugins/python/Makefile.am new file mode 100644 index 00000000..1e4adff8 --- /dev/null +++ b/plugins/python/Makefile.am @@ -0,0 +1,10 @@ +EXTRA_DIST = + +libdir = $(xchatlibdir)/plugins + +lib_LTLIBRARIES = python.la +python_la_SOURCES = python.c +python_la_LDFLAGS = -avoid-version -module +python_la_LIBADD = $(PY_LIBS) +INCLUDES = $(PY_CFLAGS) $(COMMON_CFLAGS) -I$(srcdir)/.. + diff --git a/plugins/python/python.c b/plugins/python/python.c new file mode 100644 index 00000000..fd682082 --- /dev/null +++ b/plugins/python/python.c @@ -0,0 +1,2257 @@ +/* +* Copyright (c) 2002-2003 Gustavo Niemeyer +* +* XChat Python Plugin Interface +* +* Xchat Python Plugin Interface is free software; you can redistribute +* it and/or modify it under the terms of the GNU General Public License +* as published by the Free Software Foundation; either version 2 of the +* License, or (at your option) any later version. +* +* pybot is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this file; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +/* Thread support + * ============== + * + * The python interpreter has a global interpreter lock. Any thread + * executing must acquire it before working with data accessible from + * python code. Here we must also care about xchat not being + * thread-safe. We do this by using an xchat lock, which protects + * xchat instructions from being executed out of time (when this + * plugin is not "active"). + * + * When xchat calls python code: + * - Change the current_plugin for the executing plugin; + * - Release xchat lock + * - Acquire the global interpreter lock + * - Make the python call + * - Release the global interpreter lock + * - Acquire xchat lock + * + * When python code calls xchat: + * - Release the global interpreter lock + * - Acquire xchat lock + * - Restore context, if necessary + * - Make the xchat call + * - Release xchat lock + * - Acquire the global interpreter lock + * + * Inside a timer, so that individual threads have a chance to run: + * - Release xchat lock + * - Go ahead threads. Have a nice time! + * - Acquire xchat lock + * + */ + +#include +#include +#include +#include +#include +#include + +#include "xchat-plugin.h" +#include "Python.h" +#include "structmember.h" +#include "pythread.h" + +#define VERSION_MAJOR 0 +#define VERSION_MINOR 1 + +#ifdef WIN32 +#undef WITH_THREAD /* Thread support locks up xchat on Win32. */ +#define VERSION "0.8/2.4" /* Linked to python24.dll */ +#else +#define VERSION "0.8" +#endif + +#define NONE 0 +#define ALLOW_THREADS 1 +#define RESTORE_CONTEXT 2 + +#ifdef WITH_THREAD +#define ACQUIRE_XCHAT_LOCK() PyThread_acquire_lock(xchat_lock, 1) +#define RELEASE_XCHAT_LOCK() PyThread_release_lock(xchat_lock) +#define BEGIN_XCHAT_CALLS(x) \ + do { \ + PyObject *calls_plugin = NULL; \ + PyThreadState *calls_thread; \ + if ((x) & RESTORE_CONTEXT) \ + calls_plugin = Plugin_GetCurrent(); \ + calls_thread = PyEval_SaveThread(); \ + ACQUIRE_XCHAT_LOCK(); \ + if (!((x) & ALLOW_THREADS)) { \ + PyEval_RestoreThread(calls_thread); \ + calls_thread = NULL; \ + } \ + if (calls_plugin) \ + xchat_set_context(ph, \ + Plugin_GetContext(calls_plugin)); \ + while (0) +#define END_XCHAT_CALLS() \ + RELEASE_XCHAT_LOCK(); \ + if (calls_thread) \ + PyEval_RestoreThread(calls_thread); \ + } while(0) +#else +#define ACQUIRE_XCHAT_LOCK() +#define RELEASE_XCHAT_LOCK() +#define BEGIN_XCHAT_CALLS(x) +#define END_XCHAT_CALLS() +#endif + +#ifdef WITH_THREAD + +#define BEGIN_PLUGIN(plg) \ + do { \ + xchat_context *begin_plugin_ctx = xchat_get_context(ph); \ + RELEASE_XCHAT_LOCK(); \ + Plugin_AcquireThread(plg); \ + Plugin_SetContext(plg, begin_plugin_ctx); \ + } while (0) +#define END_PLUGIN(plg) \ + do { \ + Plugin_ReleaseThread(plg); \ + ACQUIRE_XCHAT_LOCK(); \ + } while (0) + +#else /* !WITH_THREAD (win32) */ + +static PyThreadState *pTempThread; + +#define BEGIN_PLUGIN(plg) \ + do { \ + xchat_context *begin_plugin_ctx = xchat_get_context(ph); \ + RELEASE_XCHAT_LOCK(); \ + PyEval_AcquireLock(); \ + pTempThread = PyThreadState_Swap(((PluginObject *)(plg))->tstate); \ + Plugin_SetContext(plg, begin_plugin_ctx); \ + } while (0) +#define END_PLUGIN(plg) \ + do { \ + ((PluginObject *)(plg))->tstate = PyThreadState_Swap(pTempThread); \ + PyEval_ReleaseLock(); \ + ACQUIRE_XCHAT_LOCK(); \ + } while (0) + +#endif /* !WITH_THREAD */ + +#define Plugin_Swap(x) \ + PyThreadState_Swap(((PluginObject *)(x))->tstate) +#define Plugin_AcquireThread(x) \ + PyEval_AcquireThread(((PluginObject *)(x))->tstate) +#define Plugin_ReleaseThread(x) \ + Util_ReleaseThread(((PluginObject *)(x))->tstate) +#define Plugin_GetFilename(x) \ + (((PluginObject *)(x))->filename) +#define Plugin_GetName(x) \ + (((PluginObject *)(x))->name) +#define Plugin_GetVersion(x) \ + (((PluginObject *)(x))->version) +#define Plugin_GetDesc(x) \ + (((PluginObject *)(x))->description) +#define Plugin_GetHooks(x) \ + (((PluginObject *)(x))->hooks) +#define Plugin_GetContext(x) \ + (((PluginObject *)(x))->context) +#define Plugin_SetFilename(x, y) \ + ((PluginObject *)(x))->filename = (y); +#define Plugin_SetName(x, y) \ + ((PluginObject *)(x))->name = (y); +#define Plugin_SetVersion(x, y) \ + ((PluginObject *)(x))->version = (y); +#define Plugin_SetDescription(x, y) \ + ((PluginObject *)(x))->description = (y); +#define Plugin_SetHooks(x, y) \ + ((PluginObject *)(x))->hooks = (y); +#define Plugin_SetContext(x, y) \ + ((PluginObject *)(x))->context = (y); + +#define HOOK_XCHAT 1 +#define HOOK_UNLOAD 2 + +/* ===================================================================== */ +/* Object definitions */ + +typedef struct { + PyObject_HEAD + int softspace; /* We need it for print support. */ +} XChatOutObject; + +typedef struct { + PyObject_HEAD + xchat_context *context; +} ContextObject; + +typedef struct { + PyObject_HEAD + const char *listname; + PyObject *dict; +} ListItemObject; + +typedef struct { + PyObject_HEAD + char *name; + char *version; + char *filename; + char *description; + GSList *hooks; + PyThreadState *tstate; + xchat_context *context; + void *gui; +} PluginObject; + +typedef struct { + int type; + PyObject *plugin; + PyObject *callback; + PyObject *userdata; + void *data; /* A handle, when type == HOOK_XCHAT */ +} Hook; + + +/* ===================================================================== */ +/* Function declarations */ + +static PyObject *Util_BuildList(char *word[]); +static void Util_Autoload(); +static char *Util_Expand(char *filename); + +static int Callback_Command(char *word[], char *word_eol[], void *userdata); +static int Callback_Print(char *word[], void *userdata); +static int Callback_Timer(void *userdata); +static int Callback_ThreadTimer(void *userdata); + +static PyObject *XChatOut_New(); +static PyObject *XChatOut_write(PyObject *self, PyObject *args); +static void XChatOut_dealloc(PyObject *self); + +static void Context_dealloc(PyObject *self); +static PyObject *Context_set(ContextObject *self, PyObject *args); +static PyObject *Context_command(ContextObject *self, PyObject *args); +static PyObject *Context_prnt(ContextObject *self, PyObject *args); +static PyObject *Context_get_info(ContextObject *self, PyObject *args); +static PyObject *Context_get_list(ContextObject *self, PyObject *args); +static PyObject *Context_compare(ContextObject *a, ContextObject *b, int op); +static PyObject *Context_FromContext(xchat_context *context); +static PyObject *Context_FromServerAndChannel(char *server, char *channel); + +static PyObject *Plugin_New(char *filename, PyMethodDef *xchat_methods, + PyObject *xcoobj); +static PyObject *Plugin_GetCurrent(); +static PluginObject *Plugin_ByString(char *str); +static Hook *Plugin_AddHook(int type, PyObject *plugin, PyObject *callback, + PyObject *userdata, void *data); +static void Plugin_RemoveHook(PyObject *plugin, Hook *hook); +static void Plugin_RemoveAllHooks(PyObject *plugin); + +static PyObject *Module_xchat_command(PyObject *self, PyObject *args); +static PyObject *Module_xchat_prnt(PyObject *self, PyObject *args); +static PyObject *Module_xchat_get_context(PyObject *self, PyObject *args); +static PyObject *Module_xchat_find_context(PyObject *self, PyObject *args, + PyObject *kwargs); +static PyObject *Module_xchat_get_info(PyObject *self, PyObject *args); +static PyObject *Module_xchat_hook_command(PyObject *self, PyObject *args, + PyObject *kwargs); +static PyObject *Module_xchat_hook_server(PyObject *self, PyObject *args, + PyObject *kwargs); +static PyObject *Module_xchat_hook_print(PyObject *self, PyObject *args, + PyObject *kwargs); +static PyObject *Module_xchat_hook_timer(PyObject *self, PyObject *args, + PyObject *kwargs); +static PyObject *Module_xchat_unhook(PyObject *self, PyObject *args); +static PyObject *Module_xchat_get_info(PyObject *self, PyObject *args); +static PyObject *Module_xchat_get_list(PyObject *self, PyObject *args); +static PyObject *Module_xchat_get_lists(PyObject *self, PyObject *args); +static PyObject *Module_xchat_nickcmp(PyObject *self, PyObject *args); +static PyObject *Module_xchat_strip(PyObject *self, PyObject *args); + +static void IInterp_Exec(char *command); +static int IInterp_Cmd(char *word[], char *word_eol[], void *userdata); + +static void Command_PyList(); +static void Command_PyLoad(char *filename); +static void Command_PyUnload(char *name); +static void Command_PyReload(char *name); +static void Command_PyAbout(); +static int Command_Py(char *word[], char *word_eol[], void *userdata); + +/* ===================================================================== */ +/* Static declarations and definitions */ + +staticforward PyTypeObject Plugin_Type; +staticforward PyTypeObject XChatOut_Type; +staticforward PyTypeObject Context_Type; +staticforward PyTypeObject ListItem_Type; + +static PyThreadState *main_tstate = NULL; +static void *thread_timer = NULL; + +static xchat_plugin *ph; +static GSList *plugin_list = NULL; + +static PyObject *interp_plugin = NULL; +static PyObject *xchatout = NULL; + +#ifdef WITH_THREAD +static PyThread_type_lock xchat_lock = NULL; +#endif + +static const char usage[] = "\ +Usage: /PY LOAD \n\ + UNLOAD \n\ + RELOAD \n\ + LIST\n\ + EXEC \n\ + CONSOLE\n\ + ABOUT\n\ +\n"; + +static const char about[] = "\ +\n\ +X-Chat Python Interface " VERSION "\n\ +\n\ +Copyright (c) 2002-2003 Gustavo Niemeyer \n\ +\n"; + + +/* ===================================================================== */ +/* Utility functions */ + +static PyObject * +Util_BuildList(char *word[]) +{ + PyObject *list; + int listsize = 0; + int i; + while (word[listsize] && word[listsize][0]) + listsize++; + list = PyList_New(listsize); + if (list == NULL) { + PyErr_Print(); + return NULL; + } + for (i = 0; i != listsize; i++) { + PyObject *o = PyString_FromString(word[i]); + if (o == NULL) { + Py_DECREF(list); + PyErr_Print(); + return NULL; + } + PyList_SetItem(list, i, o); + } + return list; +} + +static void +Util_Autoload_from (const char *dir_name) +{ +#ifndef PATH_MAX +#define PATH_MAX 1024 /* Hurd doesn't define it */ +#endif + char oldcwd[PATH_MAX]; + struct dirent *ent; + DIR *dir; + if (getcwd(oldcwd, PATH_MAX) == NULL) + return; + if (chdir(dir_name) != 0) + return; + dir = opendir("."); + if (dir == NULL) + return; + while ((ent = readdir(dir))) { + int len = strlen(ent->d_name); + if (len > 3 && strcmp(".py", ent->d_name+len-3) == 0) + Command_PyLoad(ent->d_name); + } + closedir(dir); + chdir(oldcwd); +} + +static void +Util_Autoload() +{ + /* we need local filesystem encoding for chdir, opendir etc */ + + /* auto-load from ~/.xchat2/ or %APPDATA%\X-Chat 2\ */ + Util_Autoload_from(xchat_get_info(ph, "xchatdirfs")); + +#ifdef WIN32 /* also auto-load C:\Program Files\XChat\Plugins\*.py */ + Util_Autoload_from(XCHATLIBDIR"/plugins"); +#endif +} + +static char * +Util_Expand(char *filename) +{ + char *expanded; + + /* Check if this is an absolute path. */ + if (g_path_is_absolute(filename)) { + if (g_file_test(filename, G_FILE_TEST_EXISTS)) + return g_strdup(filename); + else + return NULL; + } + + /* Check if it starts with ~/ and expand the home if positive. */ + if (*filename == '~' && *(filename+1) == '/') { + expanded = g_build_filename(g_get_home_dir(), + filename+2, NULL); + if (g_file_test(expanded, G_FILE_TEST_EXISTS)) + return expanded; + else { + g_free(expanded); + return NULL; + } + } + + /* Check if it's in the current directory. */ + expanded = g_build_filename(g_get_current_dir(), + filename, NULL); + if (g_file_test(expanded, G_FILE_TEST_EXISTS)) + return expanded; + g_free(expanded); + + /* Check if ~/.xchat2/ exists. */ + expanded = g_build_filename(xchat_get_info(ph, "xchatdir"), + filename, NULL); + if (g_file_test(expanded, G_FILE_TEST_EXISTS)) + return expanded; + g_free(expanded); + + return NULL; +} + +/* Similar to PyEval_ReleaseThread, but accepts NULL thread states. */ +static void +Util_ReleaseThread(PyThreadState *tstate) +{ + PyThreadState *old_tstate; + if (tstate == NULL) + Py_FatalError("PyEval_ReleaseThread: NULL thread state"); + old_tstate = PyThreadState_Swap(NULL); + if (old_tstate != tstate && old_tstate != NULL) + Py_FatalError("PyEval_ReleaseThread: wrong thread state"); + PyEval_ReleaseLock(); +} + +/* ===================================================================== */ +/* Hookable functions. These are the entry points to python code, besides + * the load function, and the hooks for interactive interpreter. */ + +static int +Callback_Command(char *word[], char *word_eol[], void *userdata) +{ + Hook *hook = (Hook *) userdata; + PyObject *retobj; + PyObject *word_list, *word_eol_list; + int ret = 0; + + BEGIN_PLUGIN(hook->plugin); + + word_list = Util_BuildList(word+1); + if (word_list == NULL) { + END_PLUGIN(hook->plugin); + return 0; + } + word_eol_list = Util_BuildList(word_eol+1); + if (word_eol_list == NULL) { + Py_DECREF(word_list); + END_PLUGIN(hook->plugin); + return 0; + } + + retobj = PyObject_CallFunction(hook->callback, "(OOO)", word_list, + word_eol_list, hook->userdata); + Py_DECREF(word_list); + Py_DECREF(word_eol_list); + + if (retobj == Py_None) { + ret = XCHAT_EAT_NONE; + Py_DECREF(retobj); + } else if (retobj) { + ret = PyInt_AsLong(retobj); + Py_DECREF(retobj); + } else { + PyErr_Print(); + } + + END_PLUGIN(hook->plugin); + + return ret; +} + +/* No Callback_Server() here. We use Callback_Command() as well. */ + +static int +Callback_Print(char *word[], void *userdata) +{ + Hook *hook = (Hook *) userdata; + PyObject *retobj; + PyObject *word_list; + PyObject *word_eol_list; + char **word_eol; + char *word_eol_raw; + int listsize = 0; + int next = 0; + int i; + int ret = 0; + + /* Cut off the message identifier. */ + word += 1; + + /* XChat doesn't provide a word_eol for print events, so we + * build our own here. */ + while (word[listsize] && word[listsize][0]) + listsize++; + word_eol = (char **) g_malloc(sizeof(char*)*(listsize+1)); + if (word_eol == NULL) { + xchat_print(ph, "Not enough memory to alloc word_eol " + "for python plugin callback."); + return 0; + } + /* First build a word clone, but NULL terminated. */ + memcpy(word_eol, word, listsize*sizeof(char*)); + word_eol[listsize] = NULL; + /* Then join it. */ + word_eol_raw = g_strjoinv(" ", word_eol); + if (word_eol_raw == NULL) { + xchat_print(ph, "Not enough memory to alloc word_eol_raw " + "for python plugin callback."); + return 0; + } + /* And rebuild the real word_eol. */ + for (i = 0; i != listsize; i++) { + word_eol[i] = word_eol_raw+next; + next += strlen(word[i])+1; + } + word_eol[i] = ""; + + BEGIN_PLUGIN(hook->plugin); + + word_list = Util_BuildList(word); + if (word_list == NULL) { + g_free(word_eol_raw); + g_free(word_eol); + END_PLUGIN(hook->plugin); + return 0; + } + word_eol_list = Util_BuildList(word_eol); + if (word_eol_list == NULL) { + g_free(word_eol_raw); + g_free(word_eol); + Py_DECREF(word_list); + END_PLUGIN(hook->plugin); + return 0; + } + + retobj = PyObject_CallFunction(hook->callback, "(OOO)", word_list, + word_eol_list, hook->userdata); + Py_DECREF(word_list); + Py_DECREF(word_eol_list); + + g_free(word_eol_raw); + g_free(word_eol); + if (retobj == Py_None) { + ret = XCHAT_EAT_NONE; + Py_DECREF(retobj); + } else if (retobj) { + ret = PyInt_AsLong(retobj); + Py_DECREF(retobj); + } else { + PyErr_Print(); + } + + END_PLUGIN(hook->plugin); + + return ret; +} + +static int +Callback_Timer(void *userdata) +{ + Hook *hook = (Hook *) userdata; + PyObject *retobj; + int ret = 0; + PyObject *plugin; + + plugin = hook->plugin; + + BEGIN_PLUGIN(hook->plugin); + + retobj = PyObject_CallFunction(hook->callback, "(O)", hook->userdata); + + if (retobj) { + ret = PyObject_IsTrue(retobj); + Py_DECREF(retobj); + } else { + PyErr_Print(); + } + + /* Returning 0 for this callback unhooks itself. */ + if (ret == 0) + Plugin_RemoveHook(plugin, hook); + + END_PLUGIN(plugin); + + return ret; +} + +#ifdef WITH_THREAD +static int +Callback_ThreadTimer(void *userdata) +{ + RELEASE_XCHAT_LOCK(); + usleep(1); + ACQUIRE_XCHAT_LOCK(); + return 1; +} +#endif + +/* ===================================================================== */ +/* XChatOut object */ + +/* We keep this information global, so we can reset it when the + * deinit function is called. */ +/* XXX This should be somehow bound to the printing context. */ +static char *xchatout_buffer = NULL; +static int xchatout_buffer_size = 0; +static int xchatout_buffer_pos = 0; + +static PyObject * +XChatOut_New() +{ + XChatOutObject *xcoobj; + xcoobj = PyObject_New(XChatOutObject, &XChatOut_Type); + if (xcoobj != NULL) + xcoobj->softspace = 0; + return (PyObject *) xcoobj; +} + +static void +XChatOut_dealloc(PyObject *self) +{ + self->ob_type->tp_free((PyObject *)self); +} + +/* This is a little bit complex because we have to buffer data + * until a \n is received, since xchat breaks the line automatically. + * We also crop the last \n for this reason. */ +static PyObject * +XChatOut_write(PyObject *self, PyObject *args) +{ + int new_buffer_pos, data_size, print_limit, add_space; + char *data, *pos; + if (!PyArg_ParseTuple(args, "s#:write", &data, &data_size)) + return NULL; + if (!data_size) { + Py_INCREF(Py_None); + return Py_None; + } + BEGIN_XCHAT_CALLS(RESTORE_CONTEXT|ALLOW_THREADS); + if (((XChatOutObject *)self)->softspace) { + add_space = 1; + ((XChatOutObject *)self)->softspace = 0; + } else { + add_space = 0; + } + if (xchatout_buffer_size-xchatout_buffer_pos < data_size+add_space) { + char *new_buffer; + /* This buffer grows whenever needed, and does not + * shrink. If we ever implement unloading of the + * python interface, we must find some way to free + * this buffer as well. */ + xchatout_buffer_size += data_size*2+16; + new_buffer = g_realloc(xchatout_buffer, xchatout_buffer_size); + if (new_buffer == NULL) { + xchat_print(ph, "Not enough memory to print"); + /* The system is out of resources. Let's help. */ + g_free(xchatout_buffer); + xchatout_buffer = NULL; + xchatout_buffer_size = 0; + xchatout_buffer_pos = 0; + /* Return something valid, since we have + * already warned the user, and he probably + * won't be able to notice this exception. */ + goto exit; + } + xchatout_buffer = new_buffer; + } + memcpy(xchatout_buffer+xchatout_buffer_pos, data, data_size); + print_limit = new_buffer_pos = xchatout_buffer_pos+data_size; + pos = xchatout_buffer+print_limit; + if (add_space && *(pos-1) != '\n') { + *pos = ' '; + *(pos+1) = 0; + new_buffer_pos++; + } + while (*pos != '\n' && print_limit > xchatout_buffer_pos) { + pos--; + print_limit--; + } + if (*pos == '\n') { + /* Crop it, inserting the string limiter there. */ + *pos = 0; + xchat_print(ph, xchatout_buffer); + if (print_limit < new_buffer_pos) { + /* There's still data to be printed. */ + print_limit += 1; /* Include the limiter. */ + xchatout_buffer_pos = new_buffer_pos-print_limit; + memmove(xchatout_buffer, xchatout_buffer+print_limit, + xchatout_buffer_pos); + } else { + xchatout_buffer_pos = 0; + } + } else { + xchatout_buffer_pos = new_buffer_pos; + } + +exit: + END_XCHAT_CALLS(); + Py_INCREF(Py_None); + return Py_None; +} + +#define OFF(x) offsetof(XChatOutObject, x) + +static PyMemberDef XChatOut_members[] = { + {"softspace", T_INT, OFF(softspace), 0}, + {0} +}; + +static PyMethodDef XChatOut_methods[] = { + {"write", XChatOut_write, METH_VARARGS}, + {NULL, NULL} +}; + +statichere PyTypeObject XChatOut_Type = { + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "xchat.XChatOut", /*tp_name*/ + sizeof(XChatOutObject), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + XChatOut_dealloc, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + PyObject_GenericGetAttr,/*tp_getattro*/ + PyObject_GenericSetAttr,/*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + 0, /*tp_doc*/ + 0, /*tp_traverse*/ + 0, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + XChatOut_methods, /*tp_methods*/ + XChatOut_members, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + PyType_GenericAlloc, /*tp_alloc*/ + PyType_GenericNew, /*tp_new*/ + _PyObject_Del, /*tp_free*/ + 0, /*tp_is_gc*/ +}; + + +/* ===================================================================== */ +/* Context object */ + +static void +Context_dealloc(PyObject *self) +{ + self->ob_type->tp_free((PyObject *)self); +} + +static PyObject * +Context_set(ContextObject *self, PyObject *args) +{ + PyObject *plugin = Plugin_GetCurrent(); + Plugin_SetContext(plugin, self->context); + Py_INCREF(Py_None); + return Py_None; +} + +static PyObject * +Context_command(ContextObject *self, PyObject *args) +{ + char *text; + if (!PyArg_ParseTuple(args, "s:command", &text)) + return NULL; + BEGIN_XCHAT_CALLS(ALLOW_THREADS); + xchat_set_context(ph, self->context); + xchat_command(ph, text); + END_XCHAT_CALLS(); + Py_INCREF(Py_None); + return Py_None; +} + +static PyObject * +Context_prnt(ContextObject *self, PyObject *args) +{ + char *text; + if (!PyArg_ParseTuple(args, "s:prnt", &text)) + return NULL; + BEGIN_XCHAT_CALLS(ALLOW_THREADS); + xchat_set_context(ph, self->context); + xchat_print(ph, text); + END_XCHAT_CALLS(); + Py_INCREF(Py_None); + return Py_None; +} + +static PyObject * +Context_emit_print(ContextObject *self, PyObject *args) +{ + char *argv[10]; + char *name; + int res; + memset(&argv, 0, sizeof(char*)*10); + if (!PyArg_ParseTuple(args, "s|ssssss:print_event", &name, + &argv[0], &argv[1], &argv[2], + &argv[3], &argv[4], &argv[5], + &argv[6], &argv[7], &argv[8])) + return NULL; + BEGIN_XCHAT_CALLS(ALLOW_THREADS); + xchat_set_context(ph, self->context); + res = xchat_emit_print(ph, name, argv[0], argv[1], argv[2], + argv[3], argv[4], argv[5], + argv[6], argv[7], argv[8]); + END_XCHAT_CALLS(); + return PyInt_FromLong(res); +} + +static PyObject * +Context_get_info(ContextObject *self, PyObject *args) +{ + const char *info; + char *name; + if (!PyArg_ParseTuple(args, "s:get_info", &name)) + return NULL; + BEGIN_XCHAT_CALLS(NONE); + xchat_set_context(ph, self->context); + info = xchat_get_info(ph, name); + END_XCHAT_CALLS(); + if (info == NULL) { + Py_INCREF(Py_None); + return Py_None; + } + return PyString_FromString(info); +} + +static PyObject * +Context_get_list(ContextObject *self, PyObject *args) +{ + PyObject *plugin = Plugin_GetCurrent(); + xchat_context *saved_context = Plugin_GetContext(plugin); + PyObject *ret; + Plugin_SetContext(plugin, self->context); + ret = Module_xchat_get_list((PyObject*)self, args); + Plugin_SetContext(plugin, saved_context); + return ret; +} + +/* needed to make context1 == context2 work */ +static PyObject * +Context_compare(ContextObject *a, ContextObject *b, int op) +{ + PyObject *ret; + /* check for == */ + if (op == Py_EQ) + ret = (a->context == b->context ? Py_True : Py_False); + /* check for != */ + else if (op == Py_NE) + ret = (a->context != b->context ? Py_True : Py_False); + /* only makes sense as == and != */ + else + { + PyErr_SetString(PyExc_TypeError, "contexts are either equal or not equal"); + ret = NULL; + } + + return ret; +} + +static PyMethodDef Context_methods[] = { + {"set", (PyCFunction) Context_set, METH_NOARGS}, + {"command", (PyCFunction) Context_command, METH_VARARGS}, + {"prnt", (PyCFunction) Context_prnt, METH_VARARGS}, + {"emit_print", (PyCFunction) Context_emit_print, METH_VARARGS}, + {"get_info", (PyCFunction) Context_get_info, METH_VARARGS}, + {"get_list", (PyCFunction) Context_get_list, METH_VARARGS}, + {NULL, NULL} +}; + +statichere PyTypeObject Context_Type = { + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "xchat.Context", /*tp_name*/ + sizeof(ContextObject), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + Context_dealloc, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + PyObject_GenericGetAttr,/*tp_getattro*/ + PyObject_GenericSetAttr,/*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + 0, /*tp_doc*/ + 0, /*tp_traverse*/ + 0, /*tp_clear*/ + (richcmpfunc)Context_compare, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + Context_methods, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + PyType_GenericAlloc, /*tp_alloc*/ + PyType_GenericNew, /*tp_new*/ + _PyObject_Del, /*tp_free*/ + 0, /*tp_is_gc*/ +}; + +static PyObject * +Context_FromContext(xchat_context *context) +{ + ContextObject *ctxobj = PyObject_New(ContextObject, &Context_Type); + if (ctxobj != NULL) + ctxobj->context = context; + return (PyObject *) ctxobj; +} + +static PyObject * +Context_FromServerAndChannel(char *server, char *channel) +{ + ContextObject *ctxobj; + xchat_context *context; + BEGIN_XCHAT_CALLS(NONE); + context = xchat_find_context(ph, server, channel); + END_XCHAT_CALLS(); + if (context == NULL) + return NULL; + ctxobj = PyObject_New(ContextObject, &Context_Type); + if (ctxobj == NULL) + return NULL; + ctxobj->context = context; + return (PyObject *) ctxobj; +} + + +/* ===================================================================== */ +/* ListItem object */ + +#undef OFF +#define OFF(x) offsetof(ListItemObject, x) + +static PyMemberDef ListItem_members[] = { + {"__dict__", T_OBJECT, OFF(dict), 0}, + {0} +}; + +static void +ListItem_dealloc(PyObject *self) +{ + Py_DECREF(((ListItemObject*)self)->dict); + self->ob_type->tp_free((PyObject *)self); +} + +static PyObject * +ListItem_repr(PyObject *self) +{ + return PyString_FromFormat("<%s list item at %p>", + ((ListItemObject*)self)->listname, self); +} + +statichere PyTypeObject ListItem_Type = { + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "xchat.ListItem", /*tp_name*/ + sizeof(ListItemObject), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + ListItem_dealloc, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + ListItem_repr, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + PyObject_GenericGetAttr,/*tp_getattro*/ + PyObject_GenericSetAttr,/*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + 0, /*tp_doc*/ + 0, /*tp_traverse*/ + 0, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + 0, /*tp_methods*/ + ListItem_members, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + OFF(dict), /*tp_dictoffset*/ + 0, /*tp_init*/ + PyType_GenericAlloc, /*tp_alloc*/ + PyType_GenericNew, /*tp_new*/ + _PyObject_Del, /*tp_free*/ + 0, /*tp_is_gc*/ +}; + +static PyObject * +ListItem_New(const char *listname) +{ + ListItemObject *item; + item = PyObject_New(ListItemObject, &ListItem_Type); + if (item != NULL) { + /* listname parameter must be statically allocated. */ + item->listname = listname; + item->dict = PyDict_New(); + if (item->dict == NULL) { + Py_DECREF(item); + item = NULL; + } + } + return (PyObject *) item; +} + + +/* ===================================================================== */ +/* Plugin object */ + +#define GET_MODULE_DATA(x, force) \ + o = PyObject_GetAttrString(m, "__module_" #x "__"); \ + if (o == NULL) { \ + if (force) { \ + xchat_print(ph, "Module has no __module_" #x "__ " \ + "defined"); \ + goto error; \ + } \ + plugin->x = g_strdup(""); \ + } else {\ + if (!PyString_Check(o)) { \ + xchat_print(ph, "Variable __module_" #x "__ " \ + "must be a string"); \ + goto error; \ + } \ + plugin->x = g_strdup(PyString_AsString(o)); \ + if (plugin->x == NULL) { \ + xchat_print(ph, "Not enough memory to allocate " #x); \ + goto error; \ + } \ + } + +static PyObject * +Plugin_New(char *filename, PyMethodDef *xchat_methods, PyObject *xcoobj) +{ + PluginObject *plugin = NULL; + PyObject *m, *o; + char *argv[] = {"", 0}; + + if (filename) { + char *old_filename = filename; + filename = Util_Expand(filename); + if (filename == NULL) { + xchat_printf(ph, "File not found: %s", old_filename); + return NULL; + } + } + + /* Allocate plugin structure. */ + plugin = PyObject_New(PluginObject, &Plugin_Type); + if (plugin == NULL) { + xchat_print(ph, "Can't create plugin object"); + goto error; + } + + Plugin_SetName(plugin, NULL); + Plugin_SetVersion(plugin, NULL); + Plugin_SetFilename(plugin, NULL); + Plugin_SetDescription(plugin, NULL); + Plugin_SetHooks(plugin, NULL); + Plugin_SetContext(plugin, xchat_get_context(ph)); + + /* Start a new interpreter environment for this plugin. */ + PyEval_AcquireLock(); + plugin->tstate = Py_NewInterpreter(); + if (plugin->tstate == NULL) { + xchat_print(ph, "Can't create interpreter state"); + goto error; + } + + PySys_SetArgv(1, argv); + PySys_SetObject("__plugin__", (PyObject *) plugin); + + /* Set stdout and stderr to xchatout. */ + Py_INCREF(xcoobj); + PySys_SetObject("stdout", xcoobj); + Py_INCREF(xcoobj); + PySys_SetObject("stderr", xcoobj); + + /* Add xchat module to the environment. */ + m = Py_InitModule("xchat", xchat_methods); + if (m == NULL) { + xchat_print(ph, "Can't create xchat module"); + goto error; + } + + PyModule_AddIntConstant(m, "EAT_NONE", XCHAT_EAT_NONE); + PyModule_AddIntConstant(m, "EAT_XCHAT", XCHAT_EAT_XCHAT); + PyModule_AddIntConstant(m, "EAT_PLUGIN", XCHAT_EAT_PLUGIN); + PyModule_AddIntConstant(m, "EAT_ALL", XCHAT_EAT_ALL); + PyModule_AddIntConstant(m, "PRI_HIGHEST", XCHAT_PRI_HIGHEST); + PyModule_AddIntConstant(m, "PRI_HIGH", XCHAT_PRI_HIGH); + PyModule_AddIntConstant(m, "PRI_NORM", XCHAT_PRI_NORM); + PyModule_AddIntConstant(m, "PRI_LOW", XCHAT_PRI_LOW); + PyModule_AddIntConstant(m, "PRI_LOWEST", XCHAT_PRI_LOWEST); + + o = Py_BuildValue("(ii)", VERSION_MAJOR, VERSION_MINOR); + if (o == NULL) { + xchat_print(ph, "Can't create version tuple"); + goto error; + } + PyObject_SetAttrString(m, "__version__", o); + + if (filename) { +#ifdef WIN32 + PyObject* PyFileObject = PyFile_FromString(filename, "r"); + if (PyFileObject == NULL) { + xchat_printf(ph, "Can't open file %s: %s\n", + filename, strerror(errno)); + goto error; + } + + if (PyRun_SimpleFile(PyFile_AsFile(PyFileObject), filename) != 0) { + xchat_printf(ph, "Error loading module %s\n", + filename); + goto error; + } + + plugin->filename = filename; + filename = NULL; +#else + FILE *fp; + + plugin->filename = filename; + + /* It's now owned by the plugin. */ + filename = NULL; + + /* Open the plugin file. */ + fp = fopen(plugin->filename, "r"); + if (fp == NULL) { + xchat_printf(ph, "Can't open file %s: %s\n", + plugin->filename, strerror(errno)); + goto error; + } + + /* Run the plugin. */ + if (PyRun_SimpleFile(fp, plugin->filename) != 0) { + xchat_printf(ph, "Error loading module %s\n", + plugin->filename); + fclose(fp); + goto error; + } + fclose(fp); +#endif + m = PyDict_GetItemString(PyImport_GetModuleDict(), + "__main__"); + if (m == NULL) { + xchat_print(ph, "Can't get __main__ module"); + goto error; + } + GET_MODULE_DATA(name, 1); + GET_MODULE_DATA(version, 0); + GET_MODULE_DATA(description, 0); + plugin->gui = xchat_plugingui_add(ph, plugin->filename, + plugin->name, + plugin->description, + plugin->version, NULL); + } + + PyEval_ReleaseThread(plugin->tstate); + + return (PyObject *) plugin; + +error: + g_free(filename); + + if (plugin) { + if (plugin->tstate) + Py_EndInterpreter(plugin->tstate); + Py_DECREF(plugin); + } + PyEval_ReleaseLock(); + + return NULL; +} + +static PyObject * +Plugin_GetCurrent() +{ + PyObject *plugin; + plugin = PySys_GetObject("__plugin__"); + if (plugin == NULL) + PyErr_SetString(PyExc_RuntimeError, "lost sys.__plugin__"); + return plugin; +} + +static PluginObject * +Plugin_ByString(char *str) +{ + GSList *list; + PluginObject *plugin; + char *basename; + list = plugin_list; + while (list != NULL) { + plugin = (PluginObject *) list->data; + basename = g_path_get_basename(plugin->filename); + if (basename == NULL) + break; + if (strcasecmp(plugin->name, str) == 0 || + strcasecmp(plugin->filename, str) == 0 || + strcasecmp(basename, str) == 0) { + g_free(basename); + return plugin; + } + g_free(basename); + list = list->next; + } + return NULL; +} + +static Hook * +Plugin_AddHook(int type, PyObject *plugin, PyObject *callback, + PyObject *userdata, void *data) +{ + Hook *hook = (Hook *) g_malloc(sizeof(Hook)); + if (hook == NULL) { + PyErr_NoMemory(); + return NULL; + } + hook->type = type; + hook->plugin = plugin; + Py_INCREF(callback); + hook->callback = callback; + Py_INCREF(userdata); + hook->userdata = userdata; + hook->data = NULL; + Plugin_SetHooks(plugin, g_slist_append(Plugin_GetHooks(plugin), + hook)); + + return hook; +} + +static void +Plugin_RemoveHook(PyObject *plugin, Hook *hook) +{ + GSList *list; + /* Is this really a hook of the running plugin? */ + list = g_slist_find(Plugin_GetHooks(plugin), hook); + if (list) { + /* Ok, unhook it. */ + if (hook->type == HOOK_XCHAT) { + /* This is an xchat hook. Unregister it. */ + BEGIN_XCHAT_CALLS(NONE); + xchat_unhook(ph, (xchat_hook*)hook->data); + END_XCHAT_CALLS(); + } + Plugin_SetHooks(plugin, + g_slist_remove(Plugin_GetHooks(plugin), + hook)); + Py_DECREF(hook->callback); + Py_DECREF(hook->userdata); + g_free(hook); + } +} + +static void +Plugin_RemoveAllHooks(PyObject *plugin) +{ + GSList *list = Plugin_GetHooks(plugin); + while (list) { + Hook *hook = (Hook *) list->data; + if (hook->type == HOOK_XCHAT) { + /* This is an xchat hook. Unregister it. */ + BEGIN_XCHAT_CALLS(NONE); + xchat_unhook(ph, (xchat_hook*)hook->data); + END_XCHAT_CALLS(); + } + Py_DECREF(hook->callback); + Py_DECREF(hook->userdata); + g_free(hook); + list = list->next; + } + Plugin_SetHooks(plugin, NULL); +} + +static void +Plugin_Delete(PyObject *plugin) +{ + PyThreadState *tstate = ((PluginObject*)plugin)->tstate; + GSList *list = Plugin_GetHooks(plugin); + while (list) { + Hook *hook = (Hook *) list->data; + if (hook->type == HOOK_UNLOAD) { + PyObject *retobj; + retobj = PyObject_CallFunction(hook->callback, "(O)", + hook->userdata); + if (retobj) { + Py_DECREF(retobj); + } else { + PyErr_Print(); + PyErr_Clear(); + } + } + list = list->next; + } + Plugin_RemoveAllHooks(plugin); + xchat_plugingui_remove(ph, ((PluginObject *)plugin)->gui); + Py_DECREF(plugin); + /*PyThreadState_Swap(tstate); needed? */ + Py_EndInterpreter(tstate); +} + +static void +Plugin_dealloc(PluginObject *self) +{ + g_free(self->filename); + g_free(self->name); + g_free(self->version); + g_free(self->description); + self->ob_type->tp_free((PyObject *)self); +} + +statichere PyTypeObject Plugin_Type = { + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "xchat.Plugin", /*tp_name*/ + sizeof(PluginObject), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + (destructor)Plugin_dealloc, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + PyObject_GenericGetAttr,/*tp_getattro*/ + PyObject_GenericSetAttr,/*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + 0, /*tp_doc*/ + 0, /*tp_traverse*/ + 0, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + 0, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + PyType_GenericAlloc, /*tp_alloc*/ + PyType_GenericNew, /*tp_new*/ + _PyObject_Del, /*tp_free*/ + 0, /*tp_is_gc*/ +}; + + +/* ===================================================================== */ +/* XChat module */ + +static PyObject * +Module_xchat_command(PyObject *self, PyObject *args) +{ + char *text; + if (!PyArg_ParseTuple(args, "s:command", &text)) + return NULL; + BEGIN_XCHAT_CALLS(RESTORE_CONTEXT|ALLOW_THREADS); + xchat_command(ph, text); + END_XCHAT_CALLS(); + Py_INCREF(Py_None); + return Py_None; +} + +static PyObject * +Module_xchat_prnt(PyObject *self, PyObject *args) +{ + char *text; + if (!PyArg_ParseTuple(args, "s:prnt", &text)) + return NULL; + BEGIN_XCHAT_CALLS(RESTORE_CONTEXT|ALLOW_THREADS); + xchat_print(ph, text); + END_XCHAT_CALLS(); + Py_INCREF(Py_None); + return Py_None; +} + +static PyObject * +Module_xchat_emit_print(PyObject *self, PyObject *args) +{ + char *argv[10]; + char *name; + int res; + memset(&argv, 0, sizeof(char*)*10); + if (!PyArg_ParseTuple(args, "s|ssssss:print_event", &name, + &argv[0], &argv[1], &argv[2], + &argv[3], &argv[4], &argv[5], + &argv[6], &argv[7], &argv[8])) + return NULL; + BEGIN_XCHAT_CALLS(RESTORE_CONTEXT|ALLOW_THREADS); + res = xchat_emit_print(ph, name, argv[0], argv[1], argv[2], + argv[3], argv[4], argv[5], + argv[6], argv[7], argv[8]); + END_XCHAT_CALLS(); + return PyInt_FromLong(res); +} + +static PyObject * +Module_xchat_get_info(PyObject *self, PyObject *args) +{ + const char *info; + char *name; + if (!PyArg_ParseTuple(args, "s:get_info", &name)) + return NULL; + BEGIN_XCHAT_CALLS(RESTORE_CONTEXT); + info = xchat_get_info(ph, name); + END_XCHAT_CALLS(); + if (info == NULL) { + Py_INCREF(Py_None); + return Py_None; + } + return PyString_FromString(info); +} + +static PyObject * +Module_xchat_get_prefs(PyObject *self, PyObject *args) +{ + PyObject *res; + const char *info; + int integer; + char *name; + int type; + if (!PyArg_ParseTuple(args, "s:get_prefs", &name)) + return NULL; + BEGIN_XCHAT_CALLS(NONE); + type = xchat_get_prefs(ph, name, &info, &integer); + END_XCHAT_CALLS(); + switch (type) { + case 0: + Py_INCREF(Py_None); + res = Py_None; + break; + case 1: + res = PyString_FromString((char*)info); + break; + case 2: + case 3: + res = PyInt_FromLong(integer); + break; + default: + PyErr_Format(PyExc_RuntimeError, + "unknown get_prefs type (%d), " + "please report", type); + res = NULL; + break; + } + return res; +} + +static PyObject * +Module_xchat_get_context(PyObject *self, PyObject *args) +{ + PyObject *plugin; + PyObject *ctxobj; + plugin = Plugin_GetCurrent(); + if (plugin == NULL) + return NULL; + ctxobj = Context_FromContext(Plugin_GetContext(plugin)); + if (ctxobj == NULL) { + Py_INCREF(Py_None); + return Py_None; + } + return ctxobj; +} + +static PyObject * +Module_xchat_find_context(PyObject *self, PyObject *args, PyObject *kwargs) +{ + char *server = NULL; + char *channel = NULL; + PyObject *ctxobj; + char *kwlist[] = {"server", "channel", 0}; + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|zz:find_context", + kwlist, &server, &channel)) + return NULL; + ctxobj = Context_FromServerAndChannel(server, channel); + if (ctxobj == NULL) { + Py_INCREF(Py_None); + return Py_None; + } + return ctxobj; +} + +static PyObject * +Module_xchat_hook_command(PyObject *self, PyObject *args, PyObject *kwargs) +{ + char *name; + PyObject *callback; + PyObject *userdata = Py_None; + int priority = XCHAT_PRI_NORM; + char *help = NULL; + PyObject *plugin; + Hook *hook; + char *kwlist[] = {"name", "callback", "userdata", + "priority", "help", 0}; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "sO|Oiz:hook_command", + kwlist, &name, &callback, &userdata, + &priority, &help)) + return NULL; + + plugin = Plugin_GetCurrent(); + if (plugin == NULL) + return NULL; + if (!PyCallable_Check(callback)) { + PyErr_SetString(PyExc_TypeError, "callback is not callable"); + return NULL; + } + + hook = Plugin_AddHook(HOOK_XCHAT, plugin, callback, userdata, NULL); + if (hook == NULL) + return NULL; + + BEGIN_XCHAT_CALLS(NONE); + hook->data = (void*)xchat_hook_command(ph, name, priority, + Callback_Command, help, hook); + END_XCHAT_CALLS(); + + return PyInt_FromLong((long)hook); +} + +static PyObject * +Module_xchat_hook_server(PyObject *self, PyObject *args, PyObject *kwargs) +{ + char *name; + PyObject *callback; + PyObject *userdata = Py_None; + int priority = XCHAT_PRI_NORM; + PyObject *plugin; + Hook *hook; + char *kwlist[] = {"name", "callback", "userdata", "priority", 0}; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "sO|Oi:hook_server", + kwlist, &name, &callback, &userdata, + &priority)) + return NULL; + + plugin = Plugin_GetCurrent(); + if (plugin == NULL) + return NULL; + if (!PyCallable_Check(callback)) { + PyErr_SetString(PyExc_TypeError, "callback is not callable"); + return NULL; + } + + hook = Plugin_AddHook(HOOK_XCHAT, plugin, callback, userdata, NULL); + if (hook == NULL) + return NULL; + + BEGIN_XCHAT_CALLS(NONE); + hook->data = (void*)xchat_hook_server(ph, name, priority, + Callback_Command, hook); + END_XCHAT_CALLS(); + + return PyInt_FromLong((long)hook); +} + +static PyObject * +Module_xchat_hook_print(PyObject *self, PyObject *args, PyObject *kwargs) +{ + char *name; + PyObject *callback; + PyObject *userdata = Py_None; + int priority = XCHAT_PRI_NORM; + PyObject *plugin; + Hook *hook; + char *kwlist[] = {"name", "callback", "userdata", "priority", 0}; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "sO|Oi:hook_print", + kwlist, &name, &callback, &userdata, + &priority)) + return NULL; + + plugin = Plugin_GetCurrent(); + if (plugin == NULL) + return NULL; + if (!PyCallable_Check(callback)) { + PyErr_SetString(PyExc_TypeError, "callback is not callable"); + return NULL; + } + + hook = Plugin_AddHook(HOOK_XCHAT, plugin, callback, userdata, NULL); + if (hook == NULL) + return NULL; + + BEGIN_XCHAT_CALLS(NONE); + hook->data = (void*)xchat_hook_print(ph, name, priority, + Callback_Print, hook); + END_XCHAT_CALLS(); + + return PyInt_FromLong((long)hook); +} + + +static PyObject * +Module_xchat_hook_timer(PyObject *self, PyObject *args, PyObject *kwargs) +{ + int timeout; + PyObject *callback; + PyObject *userdata = Py_None; + PyObject *plugin; + Hook *hook; + char *kwlist[] = {"timeout", "callback", "userdata", 0}; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "iO|O:hook_timer", + kwlist, &timeout, &callback, + &userdata)) + return NULL; + + plugin = Plugin_GetCurrent(); + if (plugin == NULL) + return NULL; + if (!PyCallable_Check(callback)) { + PyErr_SetString(PyExc_TypeError, "callback is not callable"); + return NULL; + } + + hook = Plugin_AddHook(HOOK_XCHAT, plugin, callback, userdata, NULL); + if (hook == NULL) + return NULL; + + BEGIN_XCHAT_CALLS(NONE); + hook->data = (void*)xchat_hook_timer(ph, timeout, + Callback_Timer, hook); + END_XCHAT_CALLS(); + + return PyInt_FromLong((long)hook); +} + +static PyObject * +Module_xchat_hook_unload(PyObject *self, PyObject *args, PyObject *kwargs) +{ + PyObject *callback; + PyObject *userdata = Py_None; + PyObject *plugin; + Hook *hook; + char *kwlist[] = {"callback", "userdata", 0}; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|O:hook_unload", + kwlist, &callback, &userdata)) + return NULL; + + plugin = Plugin_GetCurrent(); + if (plugin == NULL) + return NULL; + if (!PyCallable_Check(callback)) { + PyErr_SetString(PyExc_TypeError, "callback is not callable"); + return NULL; + } + + hook = Plugin_AddHook(HOOK_UNLOAD, plugin, callback, userdata, NULL); + if (hook == NULL) + return NULL; + + return PyInt_FromLong((long)hook); +} + +static PyObject * +Module_xchat_unhook(PyObject *self, PyObject *args) +{ + PyObject *plugin; + Hook *hook; + if (!PyArg_ParseTuple(args, "l:unhook", &hook)) + return NULL; + plugin = Plugin_GetCurrent(); + if (plugin == NULL) + return NULL; + Plugin_RemoveHook(plugin, hook); + Py_INCREF(Py_None); + return Py_None; +} + +static PyObject * +Module_xchat_get_list(PyObject *self, PyObject *args) +{ + xchat_list *list; + PyObject *l; + const char *name; + const char *const *fields; + int i; + + if (!PyArg_ParseTuple(args, "s:get_list", &name)) + return NULL; + /* This function is thread safe, and returns statically + * allocated data. */ + fields = xchat_list_fields(ph, "lists"); + for (i = 0; fields[i]; i++) { + if (strcmp(fields[i], name) == 0) { + /* Use the static allocated one. */ + name = fields[i]; + break; + } + } + if (fields[i] == NULL) { + PyErr_SetString(PyExc_KeyError, "list not available"); + return NULL; + } + l = PyList_New(0); + if (l == NULL) + return NULL; + BEGIN_XCHAT_CALLS(RESTORE_CONTEXT); + list = xchat_list_get(ph, (char*)name); + if (list == NULL) + goto error; + fields = xchat_list_fields(ph, (char*)name); + while (xchat_list_next(ph, list)) { + PyObject *o = ListItem_New(name); + if (o == NULL || PyList_Append(l, o) == -1) { + Py_XDECREF(o); + goto error; + } + Py_DECREF(o); /* l is holding a reference */ + for (i = 0; fields[i]; i++) { + const char *fld = fields[i]+1; + PyObject *attr = NULL; + const char *sattr; + int iattr; + switch(fields[i][0]) { + case 's': + sattr = xchat_list_str(ph, list, (char*)fld); + attr = PyString_FromString(sattr?sattr:""); + break; + case 'i': + iattr = xchat_list_int(ph, list, (char*)fld); + attr = PyInt_FromLong((long)iattr); + break; + case 'p': + sattr = xchat_list_str(ph, list, (char*)fld); + if (strcmp(fld, "context") == 0) { + attr = Context_FromContext( + (xchat_context*)sattr); + break; + } + default: /* ignore unknown (newly added?) types */ + continue; + } + if (attr == NULL) + goto error; + PyObject_SetAttrString(o, (char*)fld, attr); /* add reference on attr in o */ + Py_DECREF(attr); /* make o own attr */ + } + } + xchat_list_free(ph, list); + goto exit; +error: + if (list) + xchat_list_free(ph, list); + Py_DECREF(l); + l = NULL; + +exit: + END_XCHAT_CALLS(); + return l; +} + +static PyObject * +Module_xchat_get_lists(PyObject *self, PyObject *args) +{ + PyObject *l, *o; + const char *const *fields; + int i; + /* This function is thread safe, and returns statically + * allocated data. */ + fields = xchat_list_fields(ph, "lists"); + l = PyList_New(0); + if (l == NULL) + return NULL; + for (i = 0; fields[i]; i++) { + o = PyString_FromString(fields[i]); + if (o == NULL || PyList_Append(l, o) == -1) { + Py_DECREF(l); + Py_XDECREF(o); + return NULL; + } + Py_DECREF(o); /* l is holding a reference */ + } + return l; +} + +static PyObject * +Module_xchat_nickcmp(PyObject *self, PyObject *args) +{ + char *s1, *s2; + if (!PyArg_ParseTuple(args, "ss:nickcmp", &s1, &s2)) + return NULL; + return PyInt_FromLong((long) xchat_nickcmp(ph, s1, s2)); +} + +static PyObject * +Module_xchat_strip(PyObject *self, PyObject *args) +{ + PyObject *result; + char *str, *str2; + int len = -1, flags = 1 | 2; + if (!PyArg_ParseTuple(args, "s|ii:strip", &str, &len, &flags)) + return NULL; + str2 = xchat_strip(ph, str, len, flags); + result = PyString_FromString(str2); + xchat_free(ph, str2); + return result; +} + +static PyMethodDef Module_xchat_methods[] = { + {"command", Module_xchat_command, + METH_VARARGS}, + {"prnt", Module_xchat_prnt, + METH_VARARGS}, + {"emit_print", Module_xchat_emit_print, + METH_VARARGS}, + {"get_info", Module_xchat_get_info, + METH_VARARGS}, + {"get_prefs", Module_xchat_get_prefs, + METH_VARARGS}, + {"get_context", Module_xchat_get_context, + METH_NOARGS}, + {"find_context", (PyCFunction)Module_xchat_find_context, + METH_VARARGS|METH_KEYWORDS}, + {"hook_command", (PyCFunction)Module_xchat_hook_command, + METH_VARARGS|METH_KEYWORDS}, + {"hook_server", (PyCFunction)Module_xchat_hook_server, + METH_VARARGS|METH_KEYWORDS}, + {"hook_print", (PyCFunction)Module_xchat_hook_print, + METH_VARARGS|METH_KEYWORDS}, + {"hook_timer", (PyCFunction)Module_xchat_hook_timer, + METH_VARARGS|METH_KEYWORDS}, + {"hook_unload", (PyCFunction)Module_xchat_hook_unload, + METH_VARARGS|METH_KEYWORDS}, + {"unhook", Module_xchat_unhook, + METH_VARARGS}, + {"get_list", Module_xchat_get_list, + METH_VARARGS}, + {"get_lists", Module_xchat_get_lists, + METH_NOARGS}, + {"nickcmp", Module_xchat_nickcmp, + METH_VARARGS}, + {"strip", Module_xchat_strip, + METH_VARARGS}, + {NULL, NULL} +}; + + +/* ===================================================================== */ +/* Python interactive interpreter functions */ + +static void +IInterp_Exec(char *command) +{ + PyObject *m, *d, *o; + char *buffer; + int len; + + BEGIN_PLUGIN(interp_plugin); + + m = PyImport_AddModule("__main__"); + if (m == NULL) { + xchat_print(ph, "Can't get __main__ module"); + goto fail; + } + d = PyModule_GetDict(m); + len = strlen(command); + buffer = (char *) g_malloc(len+2); + if (buffer == NULL) { + xchat_print(ph, "Not enough memory for command buffer"); + goto fail; + } + memcpy(buffer, command, len); + buffer[len] = '\n'; + buffer[len+1] = 0; + o = PyRun_StringFlags(buffer, Py_single_input, d, d, NULL); + g_free(buffer); + if (o == NULL) { + PyErr_Print(); + goto fail; + } + Py_DECREF(o); + if (Py_FlushLine()) + PyErr_Clear(); + +fail: + END_PLUGIN(interp_plugin); + + return; +} + +static int +IInterp_Cmd(char *word[], char *word_eol[], void *userdata) +{ + char *channel = (char *) xchat_get_info(ph, "channel"); + if (channel && channel[0] == '>' && strcmp(channel, ">>python<<") == 0) { + xchat_printf(ph, ">>> %s\n", word_eol[1]); + IInterp_Exec(word_eol[1]); + return 1; + } + return 0; +} + + +/* ===================================================================== */ +/* Python command handling */ + +static void +Command_PyList() +{ + GSList *list; + list = plugin_list; + if (list == NULL) { + xchat_print(ph, "No python modules loaded"); + } else { + xchat_print(ph, + "Name Version Filename Description\n" + "---- ------- -------- -----------\n"); + while (list != NULL) { + PluginObject *plg = (PluginObject *) list->data; + char *basename = g_path_get_basename(plg->filename); + xchat_printf(ph, "%-12s %-8s %-20s %-10s\n", + plg->name, + *plg->version ? plg->version + : "", + basename, + *plg->description ? plg->description + : ""); + g_free(basename); + list = list->next; + } + xchat_print(ph, "\n"); + } +} + +static void +Command_PyLoad(char *filename) +{ + PyObject *plugin; + RELEASE_XCHAT_LOCK(); + plugin = Plugin_New(filename, Module_xchat_methods, xchatout); + ACQUIRE_XCHAT_LOCK(); + if (plugin) + plugin_list = g_slist_append(plugin_list, plugin); +} + +static void +Command_PyUnload(char *name) +{ + PluginObject *plugin = Plugin_ByString(name); + if (!plugin) { + xchat_print(ph, "Can't find a python plugin with that name"); + } else { + BEGIN_PLUGIN(plugin); + Plugin_Delete((PyObject*)plugin); + END_PLUGIN(plugin); + plugin_list = g_slist_remove(plugin_list, plugin); + } +} + +static void +Command_PyReload(char *name) +{ + PluginObject *plugin = Plugin_ByString(name); + if (!plugin) { + xchat_print(ph, "Can't find a python plugin with that name"); + } else { + char *filename = strdup(plugin->filename); + Command_PyUnload(filename); + Command_PyLoad(filename); + g_free(filename); + } +} + +static void +Command_PyAbout() +{ + xchat_print(ph, about); +} + +static int +Command_Py(char *word[], char *word_eol[], void *userdata) +{ + char *cmd = word[2]; + int ok = 0; + if (strcasecmp(cmd, "LIST") == 0) { + ok = 1; + Command_PyList(); + } else if (strcasecmp(cmd, "EXEC") == 0) { + if (word[3][0]) { + ok = 1; + IInterp_Exec(word_eol[3]); + } + } else if (strcasecmp(cmd, "LOAD") == 0) { + if (word[3][0]) { + ok = 1; + Command_PyLoad(word[3]); + } + } else if (strcasecmp(cmd, "UNLOAD") == 0) { + if (word[3][0]) { + ok = 1; + Command_PyUnload(word[3]); + } + } else if (strcasecmp(cmd, "RELOAD") == 0) { + if (word[3][0]) { + ok = 1; + Command_PyReload(word[3]); + } + } else if (strcasecmp(cmd, "CONSOLE") == 0) { + ok = 1; + xchat_command(ph, "QUERY >>python<<"); + } else if (strcasecmp(cmd, "ABOUT") == 0) { + ok = 1; + Command_PyAbout(); + } + if (!ok) + xchat_print(ph, usage); + return XCHAT_EAT_ALL; +} + +static int +Command_Load(char *word[], char *word_eol[], void *userdata) +{ + int len = strlen(word[2]); + if (len > 3 && strcasecmp(".py", word[2]+len-3) == 0) { + Command_PyLoad(word[2]); + return XCHAT_EAT_XCHAT; + } + return XCHAT_EAT_NONE; +} + +static int +Command_Unload(char *word[], char *word_eol[], void *userdata) +{ + int len = strlen(word[2]); + if (len > 3 && strcasecmp(".py", word[2]+len-3) == 0) { + Command_PyUnload(word[2]); + return XCHAT_EAT_XCHAT; + } + return XCHAT_EAT_NONE; +} + +/* ===================================================================== */ +/* Autoload function */ + +/* ===================================================================== */ +/* (De)initialization functions */ + +static int initialized = 0; +static int reinit_tried = 0; + +void +xchat_plugin_get_info(char **name, char **desc, char **version, void **reserved) +{ + *name = "Python"; + *version = VERSION; + *desc = "Python scripting interface"; + if (reserved) + *reserved = NULL; +} + +int +xchat_plugin_init(xchat_plugin *plugin_handle, + char **plugin_name, + char **plugin_desc, + char **plugin_version, + char *arg) +{ + char *argv[] = {"", 0}; + + ph = plugin_handle; + + /* Block double initalization. */ + if (initialized != 0) { + xchat_print(ph, "Python interface already loaded"); + /* deinit is called even when init fails, so keep track + * of a reinit failure. */ + reinit_tried++; + return 0; + } + initialized = 1; + + *plugin_name = "Python"; + *plugin_version = VERSION; + *plugin_desc = "Python scripting interface"; + + /* Initialize python. */ + Py_SetProgramName("xchat"); + Py_Initialize(); + PySys_SetArgv(1, argv); + + Plugin_Type.ob_type = &PyType_Type; + Context_Type.ob_type = &PyType_Type; + XChatOut_Type.ob_type = &PyType_Type; + + xchatout = XChatOut_New(); + if (xchatout == NULL) { + xchat_print(ph, "Can't allocate xchatout object"); + return 0; + } + +#ifdef WITH_THREAD + PyEval_InitThreads(); + xchat_lock = PyThread_allocate_lock(); + if (xchat_lock == NULL) { + xchat_print(ph, "Can't allocate xchat lock"); + Py_DECREF(xchatout); + xchatout = NULL; + return 0; + } +#endif + + main_tstate = PyEval_SaveThread(); + + interp_plugin = Plugin_New(NULL, Module_xchat_methods, xchatout); + if (interp_plugin == NULL) { + xchat_print(ph, "Plugin_New() failed.\n"); +#ifdef WITH_THREAD + PyThread_free_lock(xchat_lock); +#endif + Py_DECREF(xchatout); + xchatout = NULL; + return 0; + } + + + xchat_hook_command(ph, "", XCHAT_PRI_NORM, IInterp_Cmd, 0, 0); + xchat_hook_command(ph, "PY", XCHAT_PRI_NORM, Command_Py, usage, 0); + xchat_hook_command(ph, "LOAD", XCHAT_PRI_NORM, Command_Load, 0, 0); + xchat_hook_command(ph, "UNLOAD", XCHAT_PRI_NORM, Command_Unload, 0, 0); +#ifdef WITH_THREAD + thread_timer = xchat_hook_timer(ph, 300, Callback_ThreadTimer, NULL); +#endif + + xchat_print(ph, "Python interface loaded\n"); + + Util_Autoload(); + return 1; +} + +int +xchat_plugin_deinit() +{ + GSList *list; + + /* A reinitialization was tried. Just give up and live the + * environment as is. We are still alive. */ + if (reinit_tried) { + reinit_tried--; + return 1; + } + + list = plugin_list; + while (list != NULL) { + PyObject *plugin = (PyObject *) list->data; + BEGIN_PLUGIN(plugin); + Plugin_Delete(plugin); + END_PLUGIN(plugin); + list = list->next; + } + g_slist_free(plugin_list); + plugin_list = NULL; + + /* Reset xchatout buffer. */ + g_free(xchatout_buffer); + xchatout_buffer = NULL; + xchatout_buffer_size = 0; + xchatout_buffer_pos = 0; + + if (interp_plugin) { + Py_DECREF(interp_plugin); + interp_plugin = NULL; + } + + /* Switch back to the main thread state. */ + if (main_tstate) { + PyThreadState_Swap(main_tstate); + main_tstate = NULL; + } + Py_Finalize(); + +#ifdef WITH_THREAD + if (thread_timer != NULL) { + xchat_unhook(ph, thread_timer); + thread_timer = NULL; + } + PyThread_free_lock(xchat_lock); +#endif + + xchat_print(ph, "Python interface unloaded\n"); + initialized = 0; + + return 1; +} + diff --git a/plugins/tcl/Makefile.am b/plugins/tcl/Makefile.am new file mode 100644 index 00000000..804fc83b --- /dev/null +++ b/plugins/tcl/Makefile.am @@ -0,0 +1,10 @@ + +EXTRA_DIST=printevents.h tclplugin.h README + +libdir = $(xchatlibdir)/plugins + +lib_LTLIBRARIES = tcl.la +tcl_la_SOURCES = tclplugin.c +tcl_la_LDFLAGS = -avoid-version -module +tcl_la_LIBADD = $(TCL_LIBS) +INCLUDES = $(TCL_CFLAGS) $(COMMON_CFLAGS) -I$(srcdir)/.. diff --git a/plugins/tcl/README b/plugins/tcl/README new file mode 100644 index 00000000..e46635ef --- /dev/null +++ b/plugins/tcl/README @@ -0,0 +1,55 @@ +Please read this document before asking questions. + +(1) WHAT IS THE TCL PLUGIN? + + The XChat Tcl Plugin adds the complete Tcl scripting language to the + XChat 1.9.x and 2.x IRC client. The design philosophy behind the tcl + plugin was to give all the power of the C API. yet completely shield + the user from all the complexities of it. It is lightly modeled after + after Xircon; an old windows TCL enabled client with a little bit of + eggdrop functionality to it. + + Features: + * Uses the popular TCL scripting language. + * Familiar to eggdrop bot owners. + * Adds many new XChat specific commands to the Tcl language for + handling of events, user commands, timers, etc. + * It's actually documented! (Hey, what a concept!) + * Works with XChat 1.9.x and 2.x. + * Open source (GPL) + + The supplied documentation for Tcl Plugin commands can be + found in doc/tclplugin.html + + For a comprehensive list of IRC server tokens, see + doc/tokens.txt + + +(2) HOW TO GET TCL PLUGIN + + You can always find the latest version of the Tcl Plugin at: + + http://www.scriptkitties.com/tclplugin + + You must also have Tcl 8.3 or higher installed on your system. + + Tcl can be obtained from: + + http://sourceforge.net/projects/tcl + http://tcl.activestate.com (pre-compiled binaries) + + Tcl Man Pages + + http://tcl.activestate.com/man/ + + Tcl Tutorials: + + http://hegel.ittc.ukans.edu/topics/tcltk/tutorial-noplugin/ + http://jan.netcomp.monash.edu.au/ProgrammingUnix/tcl/tcl_tut.html + http://users.belgacom.net/bruno.champagne/tcl.html + + +(3) QUICK STARTUP + + SEE 'INSTALL' + diff --git a/plugins/tcl/printevents.h b/plugins/tcl/printevents.h new file mode 100644 index 00000000..dfea4aea --- /dev/null +++ b/plugins/tcl/printevents.h @@ -0,0 +1,319 @@ +/*************************************************************************** + printevents.h - TCL plugin header file + ------------------------------------------------- + begin : Sat Nov 9 17:31:20 MST 2002 + copyright : Copyright 2002-2007 Daniel P. Stasinski + email : mooooooo@avenues.org + generated : Mon May 21 06:03:00 PM MST 2007 + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +typedef struct { + char *event; + char *emit; + int argc; + xchat_hook *hook; +} print_event; + +enum +{ + CHAT, + XC_APPFOCUS, + XC_TABOPEN, + XC_TABCLOSE, + XC_TABFOCUS, + XC_KEYPRESS, + XC_ADDNOTIFY, + XC_BANLIST, + XC_BANNED, + XC_BEEP, + XC_CHANGENICK, + XC_CHANACTION, + XC_HCHANACTION, + XC_CHANBAN, + XC_CHANDATE, + XC_CHANDEHOP, + XC_CHANDEOP, + XC_CHANDEVOICE, + XC_CHANEXEMPT, + XC_CHANHOP, + XC_CHANINVITE, + XC_CHANLISTHEAD, + XC_CHANMSG, + XC_CHANMODEGEN, + XC_CHANMODES, + XC_HCHANMSG, + XC_CHANNOTICE, + XC_CHANOP, + XC_CHANRMEXEMPT, + XC_CHANRMINVITE, + XC_CHANRMKEY, + XC_CHANRMLIMIT, + XC_CHANSETKEY, + XC_CHANSETLIMIT, + XC_CHANUNBAN, + XC_CHANVOICE, + XC_CONNECTED, + XC_CONNECT, + XC_CONNFAIL, + XC_CTCPGEN, + XC_CTCPGENC, + XC_CTCPSEND, + XC_CTCPSND, + XC_CTCPSNDC, + XC_DCCCHATABORT, + XC_DCCCONCHAT, + XC_DCCCHATF, + XC_DCCCHATOFFER, + XC_DCCCHATOFFERING, + XC_DCCCHATREOFFER, + XC_DCCCONFAIL, + XC_DCCGENERICOFFER, + XC_DCCHEAD, + XC_MALFORMED, + XC_DCCOFFER, + XC_DCCIVAL, + XC_DCCRECVABORT, + XC_DCCRECVCOMP, + XC_DCCCONRECV, + XC_DCCRECVERR, + XC_DCCFILEERR, + XC_DCCRENAME, + XC_DCCRESUMEREQUEST, + XC_DCCSENDABORT, + XC_DCCSENDCOMP, + XC_DCCCONSEND, + XC_DCCSENDFAIL, + XC_DCCSENDOFFER, + XC_DCCSTALL, + XC_DCCTOUT, + XC_DELNOTIFY, + XC_DISCON, + XC_FOUNDIP, + XC_GENMSG, + XC_IGNOREADD, + XC_IGNORECHANGE, + XC_IGNOREFOOTER, + XC_IGNOREHEADER, + XC_IGNOREREMOVE, + XC_IGNOREEMPTY, + XC_INVITE, + XC_INVITED, + XC_JOIN, + XC_KEYWORD, + XC_KICK, + XC_KILL, + XC_MSGSEND, + XC_MOTD, + XC_MOTDSKIP, + XC_NICKCLASH, + XC_NICKFAIL, + XC_NODCC, + XC_NOCHILD, + XC_NOTICE, + XC_NOTICESEND, + XC_NOTIFYEMPTY, + XC_NOTIFYHEAD, + XC_NOTIFYNUMBER, + XC_NOTIFYOFFLINE, + XC_NOTIFYONLINE, + XC_OPENDIALOG, + XC_PART, + XC_PARTREASON, + XC_PINGREP, + XC_PINGTIMEOUT, + XC_PRIVMSG, + XC_DPRIVMSG, + XC_ALREADYPROCESS, + XC_QUIT, + XC_RAWMODES, + XC_WALLOPS, + XC_RESOLVINGUSER, + XC_SERVERCONNECTED, + XC_SERVERERROR, + XC_SERVERLOOKUP, + XC_SERVNOTICE, + XC_SERVTEXT, + XC_STOPCONNECT, + XC_TOPIC, + XC_NEWTOPIC, + XC_TOPICDATE, + XC_UKNHOST, + XC_USERLIMIT, + XC_USERSONCHAN, + XC_WHOIS_AUTH, + XC_WHOIS5, + XC_WHOIS2, + XC_WHOIS6, + XC_WHOIS_ID, + XC_WHOIS4, + XC_WHOIS4T, + XC_WHOIS1, + XC_WHOIS_REALHOST, + XC_WHOIS3, + XC_WHOIS_SPECIAL, + XC_UJOIN, + XC_UKICK, + XC_UPART, + XC_UPARTREASON, + XC_UACTION, + XC_UINVITE, + XC_UCHANMSG, + XC_UCHANGENICK, + XC_SIZE +}; + +static print_event xc[] = { + { "CHAT", "DCC Chat Text", -1, NULL }, + { "XC_APPFOCUS", "Focus Window", -3, NULL }, + { "XC_TABOPEN", "Open Context", -2, NULL }, + { "XC_TABCLOSE", "Close Context", -2, NULL }, + { "XC_TABFOCUS", "Focus Tab", -2, NULL }, + { "XC_KEYPRESS", "Key Press", 4, NULL }, + { "XC_ADDNOTIFY", "Add Notify", 1, NULL }, + { "XC_BANLIST", "Ban List", 4, NULL }, + { "XC_BANNED", "Banned", 1, NULL }, + { "XC_BEEP", "Beep", 0, NULL }, + { "XC_CHANGENICK", "Change Nick", 2, NULL }, + { "XC_CHANACTION", "Channel Action", 3, NULL }, + { "XC_HCHANACTION", "Channel Action Hilight", 3, NULL }, + { "XC_CHANBAN", "Channel Ban", 2, NULL }, + { "XC_CHANDATE", "Channel Creation", 2, NULL }, + { "XC_CHANDEHOP", "Channel DeHalfOp", 2, NULL }, + { "XC_CHANDEOP", "Channel DeOp", 2, NULL }, + { "XC_CHANDEVOICE", "Channel DeVoice", 2, NULL }, + { "XC_CHANEXEMPT", "Channel Exempt", 2, NULL }, + { "XC_CHANHOP", "Channel Half-Operator", 2, NULL }, + { "XC_CHANINVITE", "Channel INVITE", 2, NULL }, + { "XC_CHANLISTHEAD", "Channel List", 0, NULL }, + { "XC_CHANMSG", "Channel Message", 4, NULL }, + { "XC_CHANMODEGEN", "Channel Mode Generic", 4, NULL }, + { "XC_CHANMODES", "Channel Modes", 2, NULL }, + { "XC_HCHANMSG", "Channel Msg Hilight", 4, NULL }, + { "XC_CHANNOTICE", "Channel Notice", 3, NULL }, + { "XC_CHANOP", "Channel Operator", 2, NULL }, + { "XC_CHANRMEXEMPT", "Channel Remove Exempt", 2, NULL }, + { "XC_CHANRMINVITE", "Channel Remove Invite", 2, NULL }, + { "XC_CHANRMKEY", "Channel Remove Keyword", 1, NULL }, + { "XC_CHANRMLIMIT", "Channel Remove Limit", 1, NULL }, + { "XC_CHANSETKEY", "Channel Set Key", 2, NULL }, + { "XC_CHANSETLIMIT", "Channel Set Limit", 2, NULL }, + { "XC_CHANUNBAN", "Channel UnBan", 2, NULL }, + { "XC_CHANVOICE", "Channel Voice", 2, NULL }, + { "XC_CONNECTED", "Connected", 0, NULL }, + { "XC_CONNECT", "Connecting", 3, NULL }, + { "XC_CONNFAIL", "Connection Failed", 1, NULL }, + { "XC_CTCPGEN", "CTCP Generic", 2, NULL }, + { "XC_CTCPGENC", "CTCP Generic to Channel", 3, NULL }, + { "XC_CTCPSEND", "CTCP Send", 2, NULL }, + { "XC_CTCPSND", "CTCP Sound", 2, NULL }, + { "XC_CTCPSNDC", "CTCP Sound to Channel", 3, NULL }, + { "XC_DCCCHATABORT", "DCC CHAT Abort", 1, NULL }, + { "XC_DCCCONCHAT", "DCC CHAT Connect", 2, NULL }, + { "XC_DCCCHATF", "DCC CHAT Failed", 4, NULL }, + { "XC_DCCCHATOFFER", "DCC CHAT Offer", 1, NULL }, + { "XC_DCCCHATOFFERING", "DCC CHAT Offering", 1, NULL }, + { "XC_DCCCHATREOFFER", "DCC CHAT Reoffer", 1, NULL }, + { "XC_DCCCONFAIL", "DCC Conection Failed", 3, NULL }, + { "XC_DCCGENERICOFFER", "DCC Generic Offer", 2, NULL }, + { "XC_DCCHEAD", "DCC Header", 0, NULL }, + { "XC_MALFORMED", "DCC Malformed", 2, NULL }, + { "XC_DCCOFFER", "DCC Offer", 3, NULL }, + { "XC_DCCIVAL", "DCC Offer Not Valid", 0, NULL }, + { "XC_DCCRECVABORT", "DCC RECV Abort", 2, NULL }, + { "XC_DCCRECVCOMP", "DCC RECV Complete", 4, NULL }, + { "XC_DCCCONRECV", "DCC RECV Connect", 3, NULL }, + { "XC_DCCRECVERR", "DCC RECV Failed", 4, NULL }, + { "XC_DCCFILEERR", "DCC RECV File Open Error", 2, NULL }, + { "XC_DCCRENAME", "DCC Rename", 2, NULL }, + { "XC_DCCRESUMEREQUEST", "DCC RESUME Request", 3, NULL }, + { "XC_DCCSENDABORT", "DCC SEND Abort", 2, NULL }, + { "XC_DCCSENDCOMP", "DCC SEND Complete", 3, NULL }, + { "XC_DCCCONSEND", "DCC SEND Connect", 3, NULL }, + { "XC_DCCSENDFAIL", "DCC SEND Failed", 3, NULL }, + { "XC_DCCSENDOFFER", "DCC SEND Offer", 4, NULL }, + { "XC_DCCSTALL", "DCC Stall", 3, NULL }, + { "XC_DCCTOUT", "DCC Timeout", 3, NULL }, + { "XC_DELNOTIFY", "Delete Notify", 1, NULL }, + { "XC_DISCON", "Disconnected", 1, NULL }, + { "XC_FOUNDIP", "Found IP", 1, NULL }, + { "XC_GENMSG", "Generic Message", 2, NULL }, + { "XC_IGNOREADD", "Ignore Add", 1, NULL }, + { "XC_IGNORECHANGE", "Ignore Changed", 1, NULL }, + { "XC_IGNOREFOOTER", "Ignore Footer", 0, NULL }, + { "XC_IGNOREHEADER", "Ignore Header", 0, NULL }, + { "XC_IGNOREREMOVE", "Ignore Remove", 1, NULL }, + { "XC_IGNOREEMPTY", "Ignorelist Empty", 0, NULL }, + { "XC_INVITE", "Invite", 1, NULL }, + { "XC_INVITED", "Invited", 3, NULL }, + { "XC_JOIN", "Join", 3, NULL }, + { "XC_KEYWORD", "Keyword", 1, NULL }, + { "XC_KICK", "Kick", 4, NULL }, + { "XC_KILL", "Killed", 2, NULL }, + { "XC_MSGSEND", "Message Send", 2, NULL }, + { "XC_MOTD", "Motd", 1, NULL }, + { "XC_MOTDSKIP", "MOTD Skipped", 0, NULL }, + { "XC_NICKCLASH", "Nick Clash", 2, NULL }, + { "XC_NICKFAIL", "Nick Failed", 0, NULL }, + { "XC_NODCC", "No DCC", 0, NULL }, + { "XC_NOCHILD", "No Running Process", 0, NULL }, + { "XC_NOTICE", "Notice", 2, NULL }, + { "XC_NOTICESEND", "Notice Send", 2, NULL }, + { "XC_NOTIFYEMPTY", "Notify Empty", 0, NULL }, + { "XC_NOTIFYHEAD", "Notify Header", 0, NULL }, + { "XC_NOTIFYNUMBER", "Notify Number", 1, NULL }, + { "XC_NOTIFYOFFLINE", "Notify Offline", 3, NULL }, + { "XC_NOTIFYONLINE", "Notify Online", 3, NULL }, + { "XC_OPENDIALOG", "Open Dialog", 0, NULL }, + { "XC_PART", "Part", 3, NULL }, + { "XC_PARTREASON", "Part with Reason", 4, NULL }, + { "XC_PINGREP", "Ping Reply", 2, NULL }, + { "XC_PINGTIMEOUT", "Ping Timeout", 1, NULL }, + { "XC_PRIVMSG", "Private Message", 3, NULL }, + { "XC_DPRIVMSG", "Private Message to Dialog", 3, NULL }, + { "XC_ALREADYPROCESS", "Process Already Running", 0, NULL }, + { "XC_QUIT", "Quit", 3, NULL }, + { "XC_RAWMODES", "Raw Modes", 2, NULL }, + { "XC_WALLOPS", "Receive Wallops", 2, NULL }, + { "XC_RESOLVINGUSER", "Resolving User", 2, NULL }, + { "XC_SERVERCONNECTED", "Server Connected", 0, NULL }, + { "XC_SERVERERROR", "Server Error", 1, NULL }, + { "XC_SERVERLOOKUP", "Server Lookup", 1, NULL }, + { "XC_SERVNOTICE", "Server Notice", 2, NULL }, + { "XC_SERVTEXT", "Server Text", 2, NULL }, + { "XC_STOPCONNECT", "Stop Connection", 1, NULL }, + { "XC_TOPIC", "Topic", 2, NULL }, + { "XC_NEWTOPIC", "Topic Change", 3, NULL }, + { "XC_TOPICDATE", "Topic Creation", 3, NULL }, + { "XC_UKNHOST", "Unknown Host", 0, NULL }, + { "XC_USERLIMIT", "User Limit", 1, NULL }, + { "XC_USERSONCHAN", "Users On Channel", 2, NULL }, + { "XC_WHOIS_AUTH", "WhoIs Authenticated", 3, NULL }, + { "XC_WHOIS5", "WhoIs Away Line", 2, NULL }, + { "XC_WHOIS2", "WhoIs Channel/Oper Line", 2, NULL }, + { "XC_WHOIS6", "WhoIs End", 1, NULL }, + { "XC_WHOIS_ID", "WhoIs Identified", 2, NULL }, + { "XC_WHOIS4", "WhoIs Idle Line", 2, NULL }, + { "XC_WHOIS4T", "WhoIs Idle Line with Signon", 3, NULL }, + { "XC_WHOIS1", "WhoIs Name Line", 4, NULL }, + { "XC_WHOIS_REALHOST", "WhoIs Real Host", 4, NULL }, + { "XC_WHOIS3", "WhoIs Server Line", 2, NULL }, + { "XC_WHOIS_SPECIAL", "WhoIs Special", 3, NULL }, + { "XC_UJOIN", "You Join", 3, NULL }, + { "XC_UKICK", "You Kicked", 4, NULL }, + { "XC_UPART", "You Part", 3, NULL }, + { "XC_UPARTREASON", "You Part with Reason", 4, NULL }, + { "XC_UACTION", "Your Action", 3, NULL }, + { "XC_UINVITE", "Your Invitation", 3, NULL }, + { "XC_UCHANMSG", "Your Message", 4, NULL }, + { "XC_UCHANGENICK", "Your Nick Changing", 2, NULL } +}; + diff --git a/plugins/tcl/tclplugin.c b/plugins/tcl/tclplugin.c new file mode 100644 index 00000000..17dc7556 --- /dev/null +++ b/plugins/tcl/tclplugin.c @@ -0,0 +1,2290 @@ +/*************************************************************************** + tclplugin.c - Tcl plugin for xchat 1.9.x / 2.x.x + -------------------------------------------------s + begin : Sat Nov 19 17:31:20 MST 2002 + copyright : Copyright 2002-2010 Daniel P. Stasinski + email : daniel@avenues.org + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +static char RCSID[] = "$Id: tclplugin.c,v 1.64 2010/03/10 04:24:16 mooooooo Exp $"; + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef WIN32 +#include +#define bzero(mem, sz) memset((mem), 0, (sz)) +#define bcopy(src, dest, count) memmove((dest), (src), (count)) +#else +#include +#endif + +#include "xchat-plugin.h" +#include "tclplugin.h" +#include "printevents.h" + +static int nexttimerid = 0; +static int nexttimerindex = 0; +static timer timers[MAX_TIMERS]; + +static char VERSION[16]; + +static int initialized = 0; +static int reinit_tried = 0; +static Tcl_Interp *interp = NULL; +static xchat_plugin *ph; +static xchat_hook *raw_line_hook; +static xchat_hook *Command_TCL_hook; +static xchat_hook *Command_Source_hook; +static xchat_hook *Command_Reload_hook; +static xchat_hook *Command_Load_hook; +static xchat_hook *Event_Handler_hook; +static xchat_hook *Null_Command_hook; + +static int complete_level = 0; +static t_complete complete[MAX_COMPLETES + 1]; +static Tcl_HashTable cmdTablePtr; +static Tcl_HashTable aliasTablePtr; + +static int nextprocid = 0x1000; +#define PROCPREFIX "__xctcl_" + +static char unknown[] = { +"rename unknown iunknown\n" +"proc ::unknown {args} {\n" +" global errorInfo errorCode\n" +" if { [string index [lindex $args 0] 0] == \"/\" } {\n" +" command \"[string range [join $args \" \"] 1 end]\"\n" +" } else {\n" +" set code [catch {uplevel iunknown $args} msg]\n" +" if {$code == 1} {\n" +" set new [split $errorInfo \\n]\n" +" set new [join [lrange $new 0 [expr {[llength $new] - 8}]] \\n]\n" +" return -code error -errorcode $errorCode -errorinfo $new $msg\n" +" } else {\n" +" return -code $code $msg\n" +" }\n" +" }\n" +"}\n" +"proc unsupported0 {from to {bytes \"\"}} {\n" +" set b [expr {$bytes == \"\" ? \"\" : \"-size [list $bytes]\"}]\n" +" eval [list fcopy $from $to] $b\n" +"}\n" +}; + +static char sourcedirs[] = { + "set files [lsort [glob -nocomplain -directory [xchatdir] \"*.tcl\"]]\n" + "set init [lsearch -glob $files \"*/init.tcl\"]\n" + "if { $init > 0 } {\n" + "set initfile [lindex $files $init]\n" + "set files [lreplace $files $init $init]\n" + "set files [linsert $files 0 $initfile]\n" "}\n" "foreach f $files {\n" "if { [catch { source $f } errMsg] } {\n" "puts \"Tcl plugin\\tError sourcing \\\"$f\\\" ($errMsg)\"\n" "} else {\n" "puts \"Tcl plugin\\tSourced \\\"$f\\\"\"\n" "}\n" "}\n" +}; + +static char inlinetcl[] = { +"proc splitsrc { } {\n" +"uplevel \"scan \\$_src \\\"%\\\\\\[^!\\\\\\]!%\\\\\\[^@\\\\\\]@%s\\\" _nick _ident _host\"\n" +"}\n" + +"proc ::exit { } {\n" +"puts \"Using 'exit' is bad\"\n" +"}\n" + +"proc ::away { args } { return [eval [join [list getinfo $args away]]] }\n" +"proc ::channel { args } { return [eval [join [list getinfo $args channel]]] }\n" +"proc ::tab { args } { return [eval [join [list getinfo $args channel]]] }\n" +"proc ::charset { args } { return [eval [join [list getinfo $args charset]]] }\n" +"proc ::host { args } { return [eval [join [list getinfo $args host]]] }\n" +"proc ::inputbox { args } { return [eval [join [list getinfo $args inputbox]]] }\n" +"proc ::libdirfs { args } { return [eval [join [list getinfo $args libdirfs]]] }\n" +"proc ::network { args } { return [eval [join [list getinfo $args network]]] }\n" +"proc ::nickserv { args } { return [eval [join [list getinfo $args nickserv]]] }\n" +"proc ::server { args } { return [eval [join [list getinfo $args server]]] }\n" +"proc ::version { args } { return [eval [join [list getinfo $args version]]] }\n" +"proc ::win_status { args } { return [eval [join [list getinfo $args win_status]]] }\n" +"proc ::xchatdir { args } { return [eval [join [list getinfo $args xchatdir]]] }\n" +"proc ::xchatdirfs { args } { return [eval [join [list getinfo $args xchatdirfs]]] }\n" + +"proc ::color { {arg {}} } { return \"\\003$arg\" }\n" +"proc ::bold { } { return \"\\002\" }\n" +"proc ::underline { } { return \"\\037\" }\n" +"proc ::reverse { } { return \"\\026\" }\n" +"proc ::reset { } { return \"\\017\" }\n" + +"proc ::__xctcl_errorInfo { } {\n" +" set text [split $::errorInfo \\n]\n" +" puts [string trim [join [lrange $text 0 [expr {[llength $text] - 4}]] \\n]]\n" +"}\n" + +"proc ::bgerror { message } {\n" +" set text [split $::errorInfo \\n]\n" +" puts [string trim [join [lrange $text 0 [expr {[llength $text] - 4}]] \\n]]\n" +"}\n" +}; + +static void NiceErrorInfo () +{ + Tcl_Eval(interp, "::__xctcl_errorInfo"); +} + +static void Tcl_MyDStringAppend(Tcl_DString * ds, char *string) +{ + Tcl_DStringAppend(ds, string, strlen(string)); +} + +static char *InternalProcName(int value) +{ + static char result[32]; + sprintf(result, "%s%08x", PROCPREFIX, value); + return result; +} + +static int SourceInternalProc(int id, const char *args, const char *source) +{ + Tcl_DString ds; + int result; + Tcl_DStringInit(&ds); + + Tcl_MyDStringAppend(&ds, "proc "); + Tcl_MyDStringAppend(&ds, InternalProcName(id)); + Tcl_MyDStringAppend(&ds, " { "); + Tcl_MyDStringAppend(&ds, args); + Tcl_MyDStringAppend(&ds, " } {\n"); + Tcl_MyDStringAppend(&ds, source); + Tcl_MyDStringAppend(&ds, "\n}\n\n"); + + result = Tcl_Eval(interp, ds.string); + + Tcl_DStringFree(&ds); + + return result; +} + +static int EvalInternalProc(const char *procname, int ct, ...) +{ + Tcl_DString ds; + int result; + va_list ap; + char *buf; + + Tcl_DStringInit(&ds); + + Tcl_MyDStringAppend(&ds, procname); + + if (ct) { + va_start(ap, ct); + while (ct--) { + if ((buf = va_arg(ap, char *)) != NULL) + Tcl_DStringAppendElement(&ds, buf); + else + Tcl_MyDStringAppend(&ds, " \"\""); + } + va_end(ap); + } + + result = Tcl_Eval(interp, ds.string); + + Tcl_DStringFree(&ds); + + return result; +} + + +static void DeleteInternalProc(const char *proc) +{ + Tcl_DString ds; + + Tcl_DStringInit(&ds); + Tcl_MyDStringAppend(&ds, "rename "); + Tcl_MyDStringAppend(&ds, proc); + Tcl_MyDStringAppend(&ds, " {}"); + Tcl_Eval(interp, ds.string); + Tcl_DStringFree(&ds); +} + +static char *StrDup(const char *string, int *length) +{ + char *result; + + if (string == NULL) + return NULL; + + *length = strlen(string); + result = Tcl_Alloc(*length + 1); + strncpy(result, string, *length); + result[*length] = 0; + + return result; +} + +static char *myitoa(long value) +{ + static char result[32]; + sprintf(result, "%ld", value); + return result; +} + +static xchat_context *atoctx(const char *nptr) +{ + int isnum = 1; + int x = 0; + + if (!nptr) + return NULL; + + while (isnum && nptr[x]) { + if (!isdigit(nptr[x++])) + isnum--; + } + + if (isnum && x) + return (xchat_context *) atol(nptr); + else + return NULL; +} + +static xchat_context *xchat_smart_context(const char *arg1, const char *arg2) +{ + const char *server, *s, *n; + xchat_context *result = NULL; + xchat_context *ctx = NULL; + xchat_context *actx = NULL; + xchat_list *list; + + if (arg1 == NULL) + return xchat_get_context(ph);; + + if (arg1 && arg2) { + result = xchat_find_context(ph, arg1, arg2); + if (result == NULL) + result = xchat_find_context(ph, arg2, arg1); + return result; + } else { + + actx = atoctx(arg1); + + server = xchat_get_info(ph, "server"); + + list = xchat_list_get(ph, "channels"); + + if (list != NULL) { + + while (xchat_list_next(ph, list)) { + + ctx = (xchat_context *)xchat_list_str(ph, list, "context"); + + if (actx) { + if (ctx == actx) { + result = ctx; + break; + } + } else { + + s = xchat_list_str(ph, list, "server"); + + if (xchat_list_int(ph, list, "type") == 1) { + if (strcasecmp(arg1, s) == 0) { + result = ctx; + break; + } + n = xchat_list_str(ph, list, "network"); + if (n) { + if (strcasecmp(arg1, n) == 0) { + result = ctx; + break; + } + } + } else { + if ((strcasecmp(server, s) == 0) && (strcasecmp(arg1, xchat_list_str(ph, list, "channel")) == 0)) { + result = ctx; + break; + } + } + } + } + + xchat_list_free(ph, list); + } + + } + + return result; +} + +static void queue_nexttimer() +{ + int x; + time_t then; + + nexttimerindex = 0; + then = (time_t) 0x7fffffff; + + for (x = 1; x < MAX_TIMERS; x++) { + if (timers[x].timerid) { + if (timers[x].timestamp < then) { + then = timers[x].timestamp; + nexttimerindex = x; + } + } + } +} + +static int insert_timer(int seconds, int count, const char *script) +{ + int x; + int dummy; + time_t now; + int id; + + if (script == NULL) + return (-1); + + id = (nextprocid++ % INT_MAX) + 1; + + now = time(NULL); + + for (x = 1; x < MAX_TIMERS; x++) { + if (timers[x].timerid == 0) { + if (SourceInternalProc(id, "", script) == TCL_ERROR) { + xchat_printf(ph, "\0039TCL plugin\003\tERROR (timer %d) ", timers[x].timerid); + NiceErrorInfo (); + return (-1); + } + timers[x].timerid = (nexttimerid++ % INT_MAX) + 1; + timers[x].timestamp = now + seconds; + timers[x].count = count; + timers[x].seconds = seconds; + timers[x].procPtr = StrDup(InternalProcName(id), &dummy); + queue_nexttimer(); + return (timers[x].timerid); + } + } + + return (-1); +} + +static void do_timer() +{ + xchat_context *origctx; + time_t now; + int index; + + if (!nexttimerindex) + return; + + now = time(NULL); + + if (now < timers[nexttimerindex].timestamp) + return; + + index = nexttimerindex; + origctx = xchat_get_context(ph); + if (EvalInternalProc(timers[index].procPtr, 0) == TCL_ERROR) { + xchat_printf(ph, "\0039TCL plugin\003\tERROR (timer %d) ", timers[index].timerid); + NiceErrorInfo (); + } + xchat_set_context(ph, origctx); + + if (timers[index].count != -1) + timers[index].count--; + + if (timers[index].count == 0) { + timers[index].timerid = 0; + if (timers[index].procPtr != NULL) { + DeleteInternalProc(timers[index].procPtr); + Tcl_Free(timers[index].procPtr); + } + timers[index].procPtr = NULL; + } else { + timers[index].timestamp += timers[index].seconds; + } + + queue_nexttimer(); + + return; + +} + +static int Server_raw_line(char *word[], char *word_eol[], void *userdata) +{ + char *src, *cmd, *dest, *rest; + char *chancmd = NULL; + char *procList; + Tcl_HashEntry *entry = NULL; + xchat_context *origctx; + int len; + int dummy; + char *string = NULL; + int ctcp = 0; + int count; + int list_argc, proc_argc; + const char **list_argv, **proc_argv; + int private = 0; + + if (word[0][0] == 0) + return XCHAT_EAT_NONE; + + if (complete_level == MAX_COMPLETES) + return XCHAT_EAT_NONE; + + complete_level++; + complete[complete_level].defresult = XCHAT_EAT_NONE; /* XCHAT_EAT_PLUGIN; */ + complete[complete_level].result = XCHAT_EAT_NONE; + complete[complete_level].word = word; + complete[complete_level].word_eol = word_eol; + + if (word[1][0] == ':') { + src = word[1]; + cmd = word[2]; + dest = word[3]; + rest = word_eol[4]; + } else { + src = ""; + cmd = word[1]; + if (word_eol[2][0] == ':') { + dest = ""; + rest = word_eol[2]; + } else { + dest = word[2]; + rest = word_eol[3]; + } + } + + if (src[0] == ':') + src++; + if (dest[0] == ':') + dest++; + if (rest[0] == ':') + rest++; + + if (rest[0] == 0x01) { + rest++; + if (strcasecmp("PRIVMSG", cmd) == 0) { + if (strncasecmp(rest, "ACTION ", 7) == 0) { + cmd = "ACTION"; + rest += 7; + } else + cmd = "CTCP"; + } else if (!strcasecmp("NOTICE", cmd)) + cmd = "CTCR"; + ctcp = 1; + } else if (!strcasecmp("NOTICE", cmd) && (strchr(src, '!') == NULL)) { + cmd = "SNOTICE"; + } else if (rest[0] == '!') { + chancmd = word[4] + 1; + } + + if (chancmd != NULL) { + string = StrDup(chancmd, &dummy); + Tcl_UtfToUpper(string); + if ((entry = Tcl_FindHashEntry(&cmdTablePtr, string)) == NULL) { + Tcl_Free(string); + } else { + cmd = chancmd; + rest = word_eol[5]; + } + } + + if (entry == NULL) { + string = StrDup(cmd, &dummy); + Tcl_UtfToUpper(string); + entry = Tcl_FindHashEntry(&cmdTablePtr, string); + } + + if (entry != NULL) { + + procList = Tcl_GetHashValue(entry); + + if (isalpha(dest[0])) + private = 1; + + rest = StrDup(rest, &len); + if (ctcp) { + if (rest != NULL) { + if ((len > 1) && (rest[len - 1] == 0x01)) + rest[len - 1] = 0; + } + } + + if (Tcl_SplitList(interp, procList, &list_argc, &list_argv) == TCL_OK) { + + for (count = 0; count < list_argc; count++) { + + if (Tcl_SplitList(interp, list_argv[count], &proc_argc, &proc_argv) != TCL_OK) + continue; + + origctx = xchat_get_context(ph); + if (EvalInternalProc(proc_argv[1], 7, src, dest, cmd, rest, word_eol[1], proc_argv[0], myitoa(private)) == TCL_ERROR) { + xchat_printf(ph, "\0039TCL plugin\003\tERROR (on %s %s) ", cmd, proc_argv[0]); + NiceErrorInfo (); + } + xchat_set_context(ph, origctx); + + Tcl_Free((char *) proc_argv); + + if ((complete[complete_level].result == XCHAT_EAT_PLUGIN) || (complete[complete_level].result == XCHAT_EAT_ALL)) + break; + + } + + Tcl_Free((char *) list_argv); + + } + + Tcl_Free(rest); + + } + + if (string) + Tcl_Free(string); + + return complete[complete_level--].result; + +} + +static int Print_Hook(char *word[], void *userdata) +{ + char *procList; + Tcl_HashEntry *entry; + xchat_context *origctx; + int count; + int list_argc, proc_argc; + const char **list_argv, **proc_argv; + Tcl_DString ds; + int x; + + if (complete_level == MAX_COMPLETES) + return XCHAT_EAT_NONE; + + complete_level++; + complete[complete_level].defresult = XCHAT_EAT_NONE; /* XCHAT_EAT_PLUGIN; */ + complete[complete_level].result = XCHAT_EAT_NONE; + complete[complete_level].word = word; + complete[complete_level].word_eol = word; + + if ((entry = Tcl_FindHashEntry(&cmdTablePtr, xc[(int) userdata].event)) != NULL) { + + procList = Tcl_GetHashValue(entry); + + if (Tcl_SplitList(interp, procList, &list_argc, &list_argv) == TCL_OK) { + + for (count = 0; count < list_argc; count++) { + + if (Tcl_SplitList(interp, list_argv[count], &proc_argc, &proc_argv) != TCL_OK) + continue; + + origctx = xchat_get_context(ph); + + Tcl_DStringInit(&ds); + + if ((int) userdata == CHAT) { + Tcl_DStringAppend(&ds, word[3], strlen(word[3])); + Tcl_DStringAppend(&ds, "!*@", 3); + Tcl_DStringAppend(&ds, word[1], strlen(word[1])); + if (EvalInternalProc(proc_argv[1], 7, ds.string, word[2], xc[(int) userdata].event, word[4], "", proc_argv[0], "0") == TCL_ERROR) { + xchat_printf(ph, "\0039TCL plugin\003\tERROR (on %s %s) ", xc[(int) userdata].event, proc_argv[0]); + NiceErrorInfo (); + } + } else { + if (xc[(int) userdata].argc > 0) { + for (x = 0; x <= xc[(int) userdata].argc; x++) + Tcl_DStringAppendElement(&ds, word[x]); + } + if (EvalInternalProc(proc_argv[1], 7, "", "", xc[(int) userdata].event, "", ds.string, proc_argv[0], "0") == TCL_ERROR) { + xchat_printf(ph, "\0039Tcl plugin\003\tERROR (on %s %s) ", xc[(int) userdata].event, proc_argv[0]); + NiceErrorInfo (); + } + } + + Tcl_DStringFree(&ds); + + xchat_set_context(ph, origctx); + + Tcl_Free((char *) proc_argv); + + if ((complete[complete_level].result == XCHAT_EAT_PLUGIN) || (complete[complete_level].result == XCHAT_EAT_ALL)) + break; + + } + + Tcl_Free((char *) list_argv); + + } + } + + return complete[complete_level--].result; +} + + +static int tcl_timerexists(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + int x; + int timerid; + + BADARGS(2, 2, " schedid"); + + if (Tcl_GetInt(irp, argv[1], &timerid) != TCL_OK) { + Tcl_AppendResult(irp, "Invalid timer id", NULL); + return TCL_ERROR; + } + + if (timerid) { + for (x = 1; x < MAX_TIMERS; x++) { + if (timers[x].timerid == timerid) { + Tcl_AppendResult(irp, "1", NULL); + return TCL_OK; + } + } + } + + Tcl_AppendResult(irp, "0", NULL); + + return TCL_OK; +} + +static int tcl_killtimer(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + int x; + int timerid; + + BADARGS(2, 2, " timerid"); + + if (Tcl_GetInt(irp, argv[1], &timerid) != TCL_OK) { + Tcl_AppendResult(irp, "Invalid timer id", NULL); + return TCL_ERROR; + } + + if (timerid) { + for (x = 1; x < MAX_TIMERS; x++) { + if (timers[x].timerid == timerid) { + timers[x].timerid = 0; + if (timers[x].procPtr != NULL) { + DeleteInternalProc(timers[x].procPtr); + Tcl_Free(timers[x].procPtr); + } + timers[x].procPtr = NULL; + break; + } + } + } + + queue_nexttimer(); + + return TCL_OK; +} + +static int tcl_timers(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + int x; + Tcl_DString ds; + time_t now; + + BADARGS(1, 1, ""); + + now = time(NULL); + + Tcl_DStringInit(&ds); + + for (x = 1; x < MAX_TIMERS; x++) { + if (timers[x].timerid) { + Tcl_DStringStartSublist(&ds); + Tcl_DStringAppendElement(&ds, myitoa((long)timers[x].timerid)); + Tcl_DStringAppendElement(&ds, myitoa((long)timers[x].timestamp - now)); + Tcl_DStringAppendElement(&ds, timers[x].procPtr); + Tcl_DStringAppendElement(&ds, myitoa((long)timers[x].seconds)); + Tcl_DStringAppendElement(&ds, myitoa((long)timers[x].count)); + Tcl_DStringEndSublist(&ds); + } + } + + Tcl_AppendResult(interp, ds.string, NULL); + Tcl_DStringFree(&ds); + + return TCL_OK; +} + +static int tcl_timer(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + int seconds; + int timerid; + int repeat = 0; + int count = 0; + int first = 1; + char reply[32]; + + BADARGS(3, 6, " ?-repeat? ?-count times? seconds {script | procname ?args?}"); + + while (argc--) { + if (strcasecmp(argv[first], "-repeat") == 0) { + repeat++; + } else if (strcasecmp(argv[first], "-count") == 0) { + if (Tcl_GetInt(irp, argv[++first], &count) != TCL_OK) + return TCL_ERROR; + } else { + break; + } + first++; + } + + if (repeat && !count) + count = -1; + + if (!count) + count = 1; + + if (Tcl_GetInt(irp, argv[first++], &seconds) != TCL_OK) + return TCL_ERROR; + + if ((timerid = insert_timer(seconds, count, argv[first++])) == -1) { + Tcl_AppendResult(irp, "0", NULL); + return TCL_ERROR; + } + + sprintf(reply, "%d", timerid); + + Tcl_AppendResult(irp, reply, NULL); + + queue_nexttimer(); + + return TCL_OK; +} + +static int tcl_on(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + int newentry; + char *procList; + Tcl_HashEntry *entry; + char *token; + int dummy; + Tcl_DString ds; + int index; + int count; + int list_argc, proc_argc; + int id; + const char **list_argv, **proc_argv; + + BADARGS(4, 4, " token label {script | procname ?args?}"); + + id = (nextprocid++ % INT_MAX) + 1; + + if (SourceInternalProc(id, "_src _dest _cmd _rest _raw _label _private", argv[3]) == TCL_ERROR) { + xchat_printf(ph, "\0039Tcl plugin\003\tERROR (on %s:%s) ", argv[1], argv[2]); + NiceErrorInfo (); + return TCL_OK; + } + + token = StrDup(argv[1], &dummy); + Tcl_UtfToUpper(token); + + Tcl_DStringInit(&ds); + + entry = Tcl_CreateHashEntry(&cmdTablePtr, token, &newentry); + if (!newentry) { + procList = Tcl_GetHashValue(entry); + if (Tcl_SplitList(interp, procList, &list_argc, &list_argv) == TCL_OK) { + for (count = 0; count < list_argc; count++) { + if (Tcl_SplitList(interp, list_argv[count], &proc_argc, &proc_argv) != TCL_OK) + continue; + if (strcmp(proc_argv[0], argv[2])) { + Tcl_DStringStartSublist(&ds); + Tcl_DStringAppendElement(&ds, proc_argv[0]); + Tcl_DStringAppendElement(&ds, proc_argv[1]); + Tcl_DStringEndSublist(&ds); + } else { + DeleteInternalProc(proc_argv[1]); + } + Tcl_Free((char *) proc_argv); + } + Tcl_Free((char *) list_argv); + } + Tcl_Free(procList); + } + + Tcl_DStringStartSublist(&ds); + Tcl_DStringAppendElement(&ds, argv[2]); + Tcl_DStringAppendElement(&ds, InternalProcName(id)); + Tcl_DStringEndSublist(&ds); + + procList = StrDup(ds.string, &dummy); + + Tcl_SetHashValue(entry, procList); + + if ((strncmp(token, "XC_", 3) == 0) || (strcmp(token, "CHAT") == 0)) { + for (index = 0; index < XC_SIZE; index++) { + if (strcmp(xc[index].event, token) == 0) { + if (xc[index].hook == NULL) { + xc[index].hook = xchat_hook_print(ph, xc[index].emit, XCHAT_PRI_NORM, Print_Hook, (void *) index); + break; + } + } + } + } + + Tcl_Free(token); + Tcl_DStringFree(&ds); + + return TCL_OK; +} + +static int tcl_off(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + char *procList; + Tcl_HashEntry *entry; + char *token; + int dummy; + Tcl_DString ds; + int index; + int count; + int list_argc, proc_argc; + const char **list_argv, **proc_argv; + + BADARGS(2, 3, " token ?label?"); + + token = StrDup(argv[1], &dummy); + Tcl_UtfToUpper(token); + + Tcl_DStringInit(&ds); + + if ((entry = Tcl_FindHashEntry(&cmdTablePtr, token)) != NULL) { + + procList = Tcl_GetHashValue(entry); + + if (argc == 3) { + if (Tcl_SplitList(interp, procList, &list_argc, &list_argv) == TCL_OK) { + for (count = 0; count < list_argc; count++) { + if (Tcl_SplitList(interp, list_argv[count], &proc_argc, &proc_argv) != TCL_OK) + continue; + if (strcmp(proc_argv[0], argv[2])) { + Tcl_DStringStartSublist(&ds); + Tcl_DStringAppendElement(&ds, proc_argv[0]); + Tcl_DStringAppendElement(&ds, proc_argv[1]); + Tcl_DStringEndSublist(&ds); + } else + DeleteInternalProc(proc_argv[1]); + Tcl_Free((char *) proc_argv); + } + Tcl_Free((char *) list_argv); + } + } + + Tcl_Free(procList); + + if (ds.length) { + procList = StrDup(ds.string, &dummy); + Tcl_SetHashValue(entry, procList); + } else { + Tcl_DeleteHashEntry(entry); + } + + if (!ds.length) { + if ((strncmp(token, "XC_", 3) == 0) || (strcmp(token, "CHAT") == 0)) { + for (index = 0; index < XC_SIZE; index++) { + if (strcmp(xc[index].event, token) == 0) { + if (xc[index].hook != NULL) { + xchat_unhook(ph, xc[index].hook); + xc[index].hook = NULL; + break; + } + } + } + } + } + } + + Tcl_Free(token); + Tcl_DStringFree(&ds); + + return TCL_OK; +} + +static int tcl_alias(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + int newentry; + alias *aliasPtr; + Tcl_HashEntry *entry; + char *string; + const char *help = NULL; + int dummy; + int id; + + BADARGS(3, 4, " name ?help? {script | procname ?args?}"); + + string = StrDup(argv[1], &dummy); + Tcl_UtfToUpper(string); + + if (strlen(argv[argc - 1])) { + + if (argc == 4) + help = argv[2]; + + id = (nextprocid++ % INT_MAX) + 1; + + if (SourceInternalProc(id, "_cmd _rest", argv[argc - 1]) == TCL_ERROR) { + xchat_printf(ph, "\0039Tcl plugin\003\tERROR (alias %s) ", argv[1]); + NiceErrorInfo (); + return TCL_OK; + } + + entry = Tcl_CreateHashEntry(&aliasTablePtr, string, &newentry); + if (newentry) { + aliasPtr = (alias *) Tcl_Alloc(sizeof(alias)); + if (string[0] == '@') + aliasPtr->hook = NULL; + else + aliasPtr->hook = xchat_hook_command(ph, string, XCHAT_PRI_NORM, Command_Alias, help, 0); + } else { + aliasPtr = Tcl_GetHashValue(entry); + DeleteInternalProc(aliasPtr->procPtr); + Tcl_Free(aliasPtr->procPtr); + } + + aliasPtr->procPtr = StrDup(InternalProcName(id), &dummy); + + Tcl_SetHashValue(entry, aliasPtr); + + } else { + + if ((entry = Tcl_FindHashEntry(&aliasTablePtr, string)) != NULL) { + aliasPtr = Tcl_GetHashValue(entry); + DeleteInternalProc(aliasPtr->procPtr); + Tcl_Free(aliasPtr->procPtr); + if (aliasPtr->hook) + xchat_unhook(ph, aliasPtr->hook); + Tcl_Free((char *) aliasPtr); + Tcl_DeleteHashEntry(entry); + } + } + + Tcl_Free(string); + + return TCL_OK; +} + +static int tcl_complete(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + BADARGS(1, 2, " ?EAT_NONE|EAT_XCHAT|EAT_PLUGIN|EAT_ALL?"); + + if (argc == 2) { + if (Tcl_GetInt(irp, argv[1], &complete[complete_level].result) != TCL_OK) { + if (strcasecmp("EAT_NONE", argv[1]) == 0) + complete[complete_level].result = XCHAT_EAT_NONE; + else if (strcasecmp("EAT_XCHAT", argv[1]) == 0) + complete[complete_level].result = XCHAT_EAT_XCHAT; + else if (strcasecmp("EAT_PLUGIN", argv[1]) == 0) + complete[complete_level].result = XCHAT_EAT_PLUGIN; + else if (strcasecmp("EAT_ALL", argv[1]) == 0) + complete[complete_level].result = XCHAT_EAT_ALL; + else + BADARGS(1, 2, " ?EAT_NONE|EAT_XCHAT|EAT_PLUGIN|EAT_ALL?"); + } + } else + complete[complete_level].result = complete[complete_level].defresult; + + return TCL_RETURN; +} + +static int tcl_command(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + xchat_context *origctx; + xchat_context *ctx = NULL; + const char *string = NULL; + + BADARGS(2, 4, " ?server|network|context? ?#channel|nick? text"); + + origctx = xchat_get_context(ph); + + switch (argc) { + case 2: + ctx = origctx; + break; + case 3: + ctx = xchat_smart_context(argv[1], NULL); + break; + case 4: + ctx = xchat_smart_context(argv[1], argv[2]); + break; + default:; + } + + CHECKCTX(ctx); + + string = argv[argc - 1]; + + if (string[0] == '/') + string++; + + xchat_set_context(ph, ctx); + xchat_command(ph, string); + xchat_set_context(ph, origctx); + + return TCL_OK; +} + +static int tcl_raw(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + xchat_context *origctx; + xchat_context *ctx = NULL; + const char *string = NULL; + + BADARGS(2, 4, " ?server|network|context? ?#channel|nick? text"); + + origctx = xchat_get_context(ph); + + switch (argc) { + case 2: + ctx = origctx; + break; + case 3: + ctx = xchat_smart_context(argv[1], NULL); + break; + case 4: + ctx = xchat_smart_context(argv[1], argv[2]); + break; + default:; + } + + CHECKCTX(ctx); + + string = argv[argc - 1]; + + xchat_set_context(ph, ctx); + xchat_commandf(ph, "RAW %s", string); + xchat_set_context(ph, origctx); + + return TCL_OK; +} + + +static int tcl_prefs(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + int i; + const char *str; + + BADARGS(2, 2, " name"); + + switch (xchat_get_prefs (ph, argv[1], &str, &i)) { + case 1: + Tcl_AppendResult(irp, str, NULL); + break; + case 2: + case 3: + Tcl_AppendResult(irp, myitoa(i), NULL); + break; + default: + Tcl_AppendResult(irp, NULL); + } + + return TCL_OK; +} + +static int tcl_info(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[], char *id) +{ + char *result; + int max_argc; + xchat_context *origctx, *ctx; + + if (id == NULL) { + BADARGS(2, 3, " ?server|network|context? id"); + max_argc = 3; + } else { + BADARGS(1, 2, " ?server|network|context?"); + max_argc = 2; + } + + origctx = xchat_get_context(ph); + + if (argc == max_argc) { + ctx = xchat_smart_context(argv[1], NULL); + CHECKCTX(ctx); + xchat_set_context(ph, ctx); + } + + if (id == NULL) + id = argv[argc-1]; + + if ((result = xchat_get_info(ph, id)) == NULL) + result = ""; + + Tcl_AppendResult(irp, result, NULL); + + xchat_set_context(ph, origctx); + + return TCL_OK; +} + +static int tcl_me(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + return tcl_info(cd, irp, argc, argv, "nick"); +} + +static int tcl_getinfo(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + return tcl_info(cd, irp, argc, argv, NULL); +} + +static int tcl_getlist(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + xchat_list *list = NULL; + const char *name = NULL; + const char * const *fields; + const char *field; + const char *sattr; + int iattr; + int i; + time_t t; + Tcl_DString ds; + xchat_context *origctx; + xchat_context *ctx = NULL; + + origctx = xchat_get_context(ph); + + BADARGS(1, 2, " list"); + + Tcl_DStringInit(&ds); + + fields = xchat_list_fields(ph, "lists"); + + if (argc == 1) { + for (i = 0; fields[i] != NULL; i++) { + Tcl_DStringAppendElement(&ds, fields[i]); + } + goto done; + } + + for (i = 0; fields[i] != NULL; i++) { + if (strcmp(fields[i], argv[1]) == 0) { + name = fields[i]; + break; + } + } + + if (name == NULL) + goto done; + + list = xchat_list_get(ph, name); + if (list == NULL) + goto done; + + fields = xchat_list_fields(ph, name); + + Tcl_DStringStartSublist(&ds); + for (i = 0; fields[i] != NULL; i++) { + field = fields[i] + 1; + Tcl_DStringAppendElement(&ds, field); + } + Tcl_DStringEndSublist(&ds); + + while (xchat_list_next(ph, list)) { + + Tcl_DStringStartSublist(&ds); + + for (i = 0; fields[i] != NULL; i++) { + + field = fields[i] + 1; + + switch (fields[i][0]) { + case 's': + sattr = xchat_list_str(ph, list, (char *) field); + Tcl_DStringAppendElement(&ds, sattr); + break; + case 'i': + iattr = xchat_list_int(ph, list, (char *) field); + Tcl_DStringAppendElement(&ds, myitoa((long)iattr)); + break; + case 't': + t = xchat_list_time(ph, list, (char *) field); + Tcl_DStringAppendElement(&ds, myitoa((long)t)); + break; + case 'p': + sattr = xchat_list_str(ph, list, (char *) field); + if (strcmp(field, "context") == 0) { + ctx = (xchat_context *) sattr; + Tcl_DStringAppendElement(&ds, myitoa((long)ctx)); + } else + Tcl_DStringAppendElement(&ds, "*"); + break; + default: + Tcl_DStringAppendElement(&ds, "*"); + break; + } + } + + Tcl_DStringEndSublist(&ds); + + } + + xchat_list_free(ph, list); + + done: + + xchat_set_context(ph, origctx); + + Tcl_AppendResult(irp, ds.string, NULL); + + Tcl_DStringFree(&ds); + + return TCL_OK; +} + +/* + * tcl_xchat_puts - stub for tcl puts command + * This is modified from the original internal "puts" command. It redirects + * stdout to the current context, while still allowing all normal puts features + */ + +static int tcl_xchat_puts(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + Tcl_Channel chan; + const char *string; + int newline; + const char *channelId = NULL; + int result; + int mode; + int trap_stdout = 0; + + switch (argc) { + + case 2: + string = argv[1]; + newline = 1; + trap_stdout = 1; + break; + + case 3: + if (strcmp(argv[1], "-nonewline") == 0) { + newline = 0; + trap_stdout = 1; + } else { + newline = 1; + channelId = argv[1]; + } + string = argv[2]; + break; + + case 4: + if (strcmp(argv[1], "-nonewline") == 0) { + channelId = argv[2]; + string = argv[3]; + } else { + if (strcmp(argv[3], "nonewline") != 0) { + Tcl_AppendResult(interp, "bad argument \"", argv[3], "\": should be \"nonewline\"", (char *) NULL); + return TCL_ERROR; + } + channelId = argv[1]; + string = argv[2]; + } + newline = 0; + break; + + default: + Tcl_AppendResult(interp, argv, "?-nonewline? ?channelId? string", NULL); + return TCL_ERROR; + } + + if (!trap_stdout && (strcmp(channelId, "stdout") == 0)) + trap_stdout = 1; + + if (trap_stdout) { + if (newline) + xchat_printf(ph, "%s\n", string); + else + xchat_print(ph, string); + return TCL_OK; + } + + chan = Tcl_GetChannel(interp, channelId, &mode); + if (chan == (Tcl_Channel) NULL) { + return TCL_ERROR; + } + if ((mode & TCL_WRITABLE) == 0) { + Tcl_AppendResult(interp, "channel \"", channelId, "\" wasn't opened for writing", (char *) NULL); + return TCL_ERROR; + } + + result = Tcl_Write(chan, string, strlen(string)); + if (result < 0) { + goto error; + } + if (newline != 0) { + result = Tcl_WriteChars(chan, "\n", 1); + if (result < 0) { + goto error; + } + } + return TCL_OK; + + error: + Tcl_AppendResult(interp, "error writing \"", channelId, "\": ", Tcl_PosixError(interp), (char *) NULL); + + return TCL_ERROR; +} + +static int tcl_print(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + xchat_context *origctx; + xchat_context *ctx = NULL; + const char *string = NULL; + + BADARGS(2, 4, " ?server|network|context? ?#channel|nick? text"); + + origctx = xchat_get_context(ph); + + switch (argc) { + case 2: + ctx = origctx; + break; + case 3: + ctx = xchat_smart_context(argv[1], NULL); + break; + case 4: + ctx = xchat_smart_context(argv[1], argv[2]); + break; + default:; + } + + CHECKCTX(ctx); + + string = argv[argc - 1]; + + xchat_set_context(ph, ctx); + xchat_print(ph, string); + xchat_set_context(ph, origctx); + + return TCL_OK; +} + +static int tcl_setcontext(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + xchat_context *ctx = NULL; + + BADARGS(2, 2, " context"); + + ctx = xchat_smart_context(argv[1], NULL); + + CHECKCTX(ctx); + + xchat_set_context(ph, ctx); + + return TCL_OK; +} + +static int tcl_findcontext(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + xchat_context *ctx = NULL; + + BADARGS(1, 3, " ?server|network|context? ?channel?"); + + switch (argc) { + case 1: + ctx = xchat_find_context(ph, NULL, NULL); + break; + case 2: + ctx = xchat_smart_context(argv[1], NULL); + break; + case 3: + ctx = xchat_smart_context(argv[1], argv[2]); + break; + default:; + } + + CHECKCTX(ctx); + + Tcl_AppendResult(irp, myitoa((long)ctx), NULL); + + return TCL_OK; +} + +static int tcl_getcontext(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + xchat_context *ctx = NULL; + + BADARGS(1, 1, ""); + + ctx = xchat_get_context(ph); + + Tcl_AppendResult(irp, myitoa((long)ctx), NULL); + + return TCL_OK; +} + +static int tcl_channels(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + const char *server, *channel; + xchat_list *list; + Tcl_DString ds; + xchat_context *origctx; + xchat_context *ctx; + + origctx = xchat_get_context(ph); + + BADARGS(1, 2, " ?server|network|context?"); + + if (argc == 2) { + ctx = xchat_smart_context(argv[1], NULL); + CHECKCTX(ctx); + xchat_set_context(ph, ctx); + } + + server = (char *) xchat_get_info(ph, "server"); + + Tcl_DStringInit(&ds); + + list = xchat_list_get(ph, "channels"); + + if (list != NULL) { + while (xchat_list_next(ph, list)) { + if (xchat_list_int(ph, list, "type") != 2) + continue; + if (strcasecmp(server, xchat_list_str(ph, list, "server")) != 0) + continue; + channel = xchat_list_str(ph, list, "channel"); + Tcl_DStringAppendElement(&ds, channel); + } + xchat_list_free(ph, list); + } + + Tcl_AppendResult(irp, ds.string, NULL); + + Tcl_DStringFree(&ds); + + xchat_set_context(ph, origctx); + + return TCL_OK; +} + +static int tcl_servers(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + const char *server; + xchat_list *list; + Tcl_DString ds; + + BADARGS(1, 1, ""); + + Tcl_DStringInit(&ds); + + list = xchat_list_get(ph, "channels"); + + if (list != NULL) { + while (xchat_list_next(ph, list)) { + if (xchat_list_int(ph, list, "type") == 1) { + server = xchat_list_str(ph, list, "server"); + Tcl_DStringAppendElement(&ds, server); + } + } + xchat_list_free(ph, list); + } + + Tcl_AppendResult(irp, ds.string, NULL); + + Tcl_DStringFree(&ds); + + return TCL_OK; +} + +static int tcl_queries(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + const char *server, *channel; + xchat_list *list; + Tcl_DString ds; + xchat_context *origctx; + xchat_context *ctx; + + origctx = xchat_get_context(ph); + + BADARGS(1, 2, " ?server|network|context?"); + + if (argc == 2) { + ctx = xchat_smart_context(argv[1], NULL); + CHECKCTX(ctx); + xchat_set_context(ph, ctx); + } + + server = (char *) xchat_get_info(ph, "server"); + + Tcl_DStringInit(&ds); + + list = xchat_list_get(ph, "channels"); + + if (list != NULL) { + while (xchat_list_next(ph, list)) { + if (xchat_list_int(ph, list, "type") != 3) + continue; + if (strcasecmp(server, xchat_list_str(ph, list, "server")) != 0) + continue; + channel = xchat_list_str(ph, list, "channel"); + Tcl_DStringAppendElement(&ds, channel); + } + xchat_list_free(ph, list); + } + + Tcl_AppendResult(irp, ds.string, NULL); + + Tcl_DStringFree(&ds); + + xchat_set_context(ph, origctx); + + return TCL_OK; +} + +static int tcl_users(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + xchat_context *origctx, *ctx = NULL; + xchat_list *list; + Tcl_DString ds; + + BADARGS(1, 3, " ?server|network|context? ?channel?"); + + origctx = xchat_get_context(ph); + + switch (argc) { + case 1: + ctx = origctx; + break; + case 2: + ctx = xchat_smart_context(argv[1], NULL); + break; + case 3: + ctx = xchat_smart_context(argv[1], argv[2]); + break; + default:; + } + + CHECKCTX(ctx); + + xchat_set_context(ph, ctx); + + Tcl_DStringInit(&ds); + + list = xchat_list_get(ph, "users"); + + if (list != NULL) { + + Tcl_DStringStartSublist(&ds); + Tcl_DStringAppendElement(&ds, "nick"); + Tcl_DStringAppendElement(&ds, "host"); + Tcl_DStringAppendElement(&ds, "prefix"); + Tcl_DStringAppendElement(&ds, "away"); + Tcl_DStringAppendElement(&ds, "lasttalk"); + Tcl_DStringAppendElement(&ds, "selected"); + Tcl_DStringEndSublist(&ds); + + while (xchat_list_next(ph, list)) { + Tcl_DStringStartSublist(&ds); + Tcl_DStringAppendElement(&ds, (const char *) xchat_list_str(ph, list, "nick")); + Tcl_DStringAppendElement(&ds, (const char *) xchat_list_str(ph, list, "host")); + Tcl_DStringAppendElement(&ds, (const char *) xchat_list_str(ph, list, "prefix")); + Tcl_DStringAppendElement(&ds, myitoa((long)xchat_list_int(ph, list, "away"))); + Tcl_DStringAppendElement(&ds, myitoa((long)xchat_list_time(ph, list, "lasttalk"))); + Tcl_DStringAppendElement(&ds, myitoa((long)xchat_list_int(ph, list, "selected"))); + Tcl_DStringEndSublist(&ds); + } + + xchat_list_free(ph, list); + } + + Tcl_AppendResult(irp, ds.string, NULL); + + Tcl_DStringFree(&ds); + + xchat_set_context(ph, origctx); + + return TCL_OK; +} + +static int tcl_notifylist(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + xchat_list *list; + Tcl_DString ds; + + BADARGS(1, 1, ""); + + Tcl_DStringInit(&ds); + + list = xchat_list_get(ph, "notify"); + + if (list != NULL) { + + Tcl_DStringStartSublist(&ds); + Tcl_DStringAppendElement(&ds, "nick"); + Tcl_DStringAppendElement(&ds, "flags"); + Tcl_DStringAppendElement(&ds, "on"); + Tcl_DStringAppendElement(&ds, "off"); + Tcl_DStringAppendElement(&ds, "seen"); + Tcl_DStringAppendElement(&ds, "networks"); + Tcl_DStringEndSublist(&ds); + + while (xchat_list_next(ph, list)) { + Tcl_DStringStartSublist(&ds); + Tcl_DStringAppendElement(&ds, (const char *) xchat_list_str(ph, list, "nick")); + Tcl_DStringAppendElement(&ds, (const char *) xchat_list_str(ph, list, "flags")); + Tcl_DStringAppendElement(&ds, myitoa((long)xchat_list_time(ph, list, "on"))); + Tcl_DStringAppendElement(&ds, myitoa((long)xchat_list_time(ph, list, "off"))); + Tcl_DStringAppendElement(&ds, myitoa((long)xchat_list_time(ph, list, "seen"))); + Tcl_DStringAppendElement(&ds, (const char *) xchat_list_str(ph, list, "networks")); + Tcl_DStringEndSublist(&ds); + } + + xchat_list_free(ph, list); + + } + + Tcl_AppendResult(irp, ds.string, NULL); + + Tcl_DStringFree(&ds); + + return TCL_OK; +} + +static int tcl_chats(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + xchat_list *list; + Tcl_DString ds; + + BADARGS(1, 1, ""); + + Tcl_DStringInit(&ds); + + list = xchat_list_get(ph, "dcc"); + + if (list != NULL) { + while (xchat_list_next(ph, list)) { + switch (xchat_list_int(ph, list, "type")) { + case 2: + case 3: + if (xchat_list_int(ph, list, "status") == 1) + Tcl_DStringAppendElement(&ds, (const char *) xchat_list_str(ph, list, "nick")); + break; + } + } + xchat_list_free(ph, list); + } + + Tcl_AppendResult(irp, ds.string, NULL); + + Tcl_DStringFree(&ds); + + return TCL_OK; +} + +static int tcl_ignores(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + xchat_list *list; + Tcl_DString ds; + int flags; + + BADARGS(1, 1, ""); + + Tcl_DStringInit(&ds); + + list = xchat_list_get(ph, "ignore"); + + if (list != NULL) { + + while (xchat_list_next(ph, list)) { + Tcl_DStringStartSublist(&ds); + Tcl_DStringAppendElement(&ds, (const char *) xchat_list_str(ph, list, "mask")); + Tcl_DStringStartSublist(&ds); + flags = xchat_list_int(ph, list, "flags"); + if (flags & 1) + Tcl_DStringAppendElement(&ds, "PRIVMSG"); + if (flags & 2) + Tcl_DStringAppendElement(&ds, "NOTICE"); + if (flags & 4) + Tcl_DStringAppendElement(&ds, "CHANNEL"); + if (flags & 8) + Tcl_DStringAppendElement(&ds, "CTCP"); + if (flags & 16) + Tcl_DStringAppendElement(&ds, "INVITE"); + if (flags & 32) + Tcl_DStringAppendElement(&ds, "UNIGNORE"); + if (flags & 64) + Tcl_DStringAppendElement(&ds, "NOSAVE"); + Tcl_DStringEndSublist(&ds); + Tcl_DStringEndSublist(&ds); + } + xchat_list_free(ph, list); + } + + Tcl_AppendResult(irp, ds.string, NULL); + + Tcl_DStringFree(&ds); + + return TCL_OK; +} + +static int tcl_dcclist(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + xchat_list *list; + Tcl_DString ds; + int dcctype; + + BADARGS(1, 1, ""); + + Tcl_DStringInit(&ds); + + list = xchat_list_get(ph, "dcc"); + + if (list != NULL) { + + while (xchat_list_next(ph, list)) { + Tcl_DStringStartSublist(&ds); + dcctype = xchat_list_int(ph, list, "type"); + switch (dcctype) { + case 0: + Tcl_DStringAppendElement(&ds, "filesend"); + break; + case 1: + Tcl_DStringAppendElement(&ds, "filerecv"); + break; + case 2: + Tcl_DStringAppendElement(&ds, "chatrecv"); + break; + case 3: + Tcl_DStringAppendElement(&ds, "chatsend"); + break; + } + switch (xchat_list_int(ph, list, "status")) { + case 0: + Tcl_DStringAppendElement(&ds, "queued"); + break; + case 1: + Tcl_DStringAppendElement(&ds, "active"); + break; + case 2: + Tcl_DStringAppendElement(&ds, "failed"); + break; + case 3: + Tcl_DStringAppendElement(&ds, "done"); + break; + case 4: + Tcl_DStringAppendElement(&ds, "connecting"); + break; + case 5: + Tcl_DStringAppendElement(&ds, "aborted"); + break; + } + + Tcl_DStringAppendElement(&ds, (const char *) xchat_list_str(ph, list, "nick")); + + switch (dcctype) { + case 0: + Tcl_DStringAppendElement(&ds, (const char *) xchat_list_str(ph, list, "file")); + break; + case 1: + Tcl_DStringAppendElement(&ds, (const char *) xchat_list_str(ph, list, "destfile")); + break; + } + + Tcl_DStringAppendElement(&ds, myitoa((long)xchat_list_int(ph, list, "size"))); + Tcl_DStringAppendElement(&ds, myitoa((long)xchat_list_int(ph, list, "resume"))); + Tcl_DStringAppendElement(&ds, myitoa((long)xchat_list_int(ph, list, "pos"))); + Tcl_DStringAppendElement(&ds, myitoa((long)xchat_list_int(ph, list, "cps"))); + Tcl_DStringAppendElement(&ds, myitoa((long)xchat_list_int(ph, list, "address32"))); + Tcl_DStringAppendElement(&ds, myitoa((long)xchat_list_int(ph, list, "port"))); + Tcl_DStringEndSublist(&ds); + } + xchat_list_free(ph, list); + } + + Tcl_AppendResult(irp, ds.string, NULL); + + Tcl_DStringFree(&ds); + + return TCL_OK; +} + + +static int tcl_strip(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + char *new_text; + int flags = 1 | 2; + + BADARGS(2, 3, " text ?flags?"); + + if (argc == 3) { + if (Tcl_GetInt(irp, argv[2], &flags) != TCL_OK) + return TCL_ERROR; + } + + new_text = xchat_strip(ph, argv[1], -1, flags); + + if(new_text) { + Tcl_AppendResult(irp, new_text, NULL); + xchat_free(ph, new_text); + } + + return TCL_OK; +} + +static int tcl_topic(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + xchat_context *origctx, *ctx = NULL; + BADARGS(1, 3, " ?server|network|context? ?channel?"); + + origctx = xchat_get_context(ph); + + switch (argc) { + case 1: + ctx = origctx; + break; + case 2: + ctx = xchat_smart_context(argv[1], NULL); + break; + case 3: + ctx = xchat_smart_context(argv[1], argv[2]); + break; + default:; + } + + CHECKCTX(ctx); + + xchat_set_context(ph, ctx); + Tcl_AppendResult(irp, xchat_get_info(ph, "topic"), NULL); + xchat_set_context(ph, origctx); + + return TCL_OK; +} + +static int tcl_xchat_nickcmp(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + BADARGS(3, 3, " string1 string2"); + Tcl_AppendResult(irp, myitoa((long)xchat_nickcmp(ph, argv[1], argv[2])), NULL); + return TCL_OK; +} + +static int tcl_word(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + int index; + + BADARGS(2, 2, " index"); + + if (Tcl_GetInt(irp, argv[1], &index) != TCL_OK) + return TCL_ERROR; + + if (!index || (index > 31)) + Tcl_AppendResult(interp, "", NULL); + else + Tcl_AppendResult(interp, complete[complete_level].word[index], NULL); + + return TCL_OK; +} + +static int tcl_word_eol(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]) +{ + int index; + + BADARGS(2, 2, " index"); + + if (Tcl_GetInt(irp, argv[1], &index) != TCL_OK) + return TCL_ERROR; + + if (!index || (index > 31)) + Tcl_AppendResult(interp, "", NULL); + else + Tcl_AppendResult(interp, complete[complete_level].word_eol[index], NULL); + + return TCL_OK; +} + +static int Command_Alias(char *word[], char *word_eol[], void *userdata) +{ + alias *aliasPtr; + Tcl_HashEntry *entry; + xchat_context *origctx; + int dummy; + char *string; + + if (complete_level == MAX_COMPLETES) + return XCHAT_EAT_NONE; + + complete_level++; + complete[complete_level].defresult = XCHAT_EAT_ALL; + complete[complete_level].result = XCHAT_EAT_NONE; + complete[complete_level].word = word; + complete[complete_level].word_eol = word_eol; + + string = StrDup(word[1], &dummy); + + Tcl_UtfToUpper(string); + + if ((entry = Tcl_FindHashEntry(&aliasTablePtr, string)) != NULL) { + aliasPtr = Tcl_GetHashValue(entry); + origctx = xchat_get_context(ph); + if (EvalInternalProc(aliasPtr->procPtr, 2, string, word_eol[2]) == TCL_ERROR) { + xchat_printf(ph, "\0039Tcl plugin\003\tERROR (alias %s) ", string); + NiceErrorInfo (); + } + xchat_set_context(ph, origctx); + } + + Tcl_Free(string); + + return complete[complete_level--].result; +} + +static int Null_Command_Alias(char *word[], char *word_eol[], void *userdata) +{ + alias *aliasPtr; + Tcl_HashEntry *entry; + xchat_context *origctx; + int dummy; + const char *channel; + char *string; + Tcl_DString ds; + static int recurse = 0; + + if (recurse) + return XCHAT_EAT_NONE; + + if (complete_level == MAX_COMPLETES) + return XCHAT_EAT_NONE; + + complete_level++; + complete[complete_level].defresult = XCHAT_EAT_ALL; + complete[complete_level].result = XCHAT_EAT_NONE; + complete[complete_level].word = word; + complete[complete_level].word_eol = word_eol; + + recurse++; + + channel = xchat_get_info(ph, "channel"); + Tcl_DStringInit(&ds); + Tcl_DStringAppend(&ds, "@", 1); + Tcl_DStringAppend(&ds, channel, strlen(channel)); + string = StrDup(ds.string, &dummy); + Tcl_DStringFree(&ds); + + Tcl_UtfToUpper(string); + + if ((entry = Tcl_FindHashEntry(&aliasTablePtr, string)) != NULL) { + aliasPtr = Tcl_GetHashValue(entry); + origctx = xchat_get_context(ph); + if (EvalInternalProc(aliasPtr->procPtr, 2, string, word_eol[1]) == TCL_ERROR) { + xchat_printf(ph, "\0039Tcl plugin\003\tERROR (alias %s) ", string); + NiceErrorInfo (); + } + xchat_set_context(ph, origctx); + } + + Tcl_Free(string); + + recurse--; + + return complete[complete_level--].result; +} + +static int Command_TCL(char *word[], char *word_eol[], void *userdata) +{ + const char *errorInfo; + + complete_level++; + complete[complete_level].word = word; + complete[complete_level].word_eol = word_eol; + + if (Tcl_Eval(interp, word_eol[2]) == TCL_ERROR) { + errorInfo = Tcl_GetVar(interp, "errorInfo", TCL_GLOBAL_ONLY); + xchat_printf(ph, "\0039Tcl plugin\003\tERROR: %s ", errorInfo); + } else + xchat_printf(ph, "\0039Tcl plugin\003\tRESULT: %s ", Tcl_GetStringResult(interp)); + + complete_level--; + + return XCHAT_EAT_ALL; +} + +static int Command_Source(char *word[], char *word_eol[], void *userdata) +{ + const char *xchatdir; + Tcl_DString ds; + struct stat dummy; + int len; + const char *errorInfo; + + if (!strlen(word_eol[2])) + return XCHAT_EAT_NONE; + + complete_level++; + complete[complete_level].word = word; + complete[complete_level].word_eol = word_eol; + + len = strlen(word[2]); + + if (len > 4 && strcasecmp(".tcl", word[2] + len - 4) == 0) { + + xchatdir = xchat_get_info(ph, "xchatdir"); + + Tcl_DStringInit(&ds); + + if (stat(word_eol[2], &dummy) == 0) { + Tcl_DStringAppend(&ds, word_eol[2], strlen(word_eol[2])); + } else { + if (!strchr(word_eol[2], '/')) { + Tcl_DStringAppend(&ds, xchatdir, strlen(xchatdir)); + Tcl_DStringAppend(&ds, "/", 1); + Tcl_DStringAppend(&ds, word_eol[2], strlen(word_eol[2])); + } + } + + if (Tcl_EvalFile(interp, ds.string) == TCL_ERROR) { + errorInfo = Tcl_GetVar(interp, "errorInfo", TCL_GLOBAL_ONLY); + xchat_printf(ph, "\0039Tcl plugin\003\tERROR: %s ", errorInfo); + } else + xchat_printf(ph, "\0039Tcl plugin\003\tSourced %s\n", ds.string); + + Tcl_DStringFree(&ds); + + complete_level--; + + return XCHAT_EAT_XCHAT; + + } else { + complete_level--; + return XCHAT_EAT_NONE; + } + +} + +static int Command_Reloadall(char *word[], char *word_eol[], void *userdata) +{ + Tcl_Plugin_DeInit(); + Tcl_Plugin_Init(); + + xchat_print(ph, "\0039Tcl plugin\003\tRehashed\n"); + + return XCHAT_EAT_ALL; +} + +static int TCL_Event_Handler(void *userdata) +{ + Tcl_DoOneEvent(TCL_DONT_WAIT); + do_timer(); + return 1; +} + +static void Tcl_Plugin_Init() +{ + int x; + const char *xchatdir; + + interp = Tcl_CreateInterp(); + + Tcl_FindExecutable(NULL); + + Tcl_Init(interp); + + nextprocid = 0x1000; + + Tcl_CreateCommand(interp, "alias", tcl_alias, NULL, NULL); + Tcl_CreateCommand(interp, "channels", tcl_channels, NULL, NULL); + Tcl_CreateCommand(interp, "chats", tcl_chats, NULL, NULL); + Tcl_CreateCommand(interp, "command", tcl_command, NULL, NULL); + Tcl_CreateCommand(interp, "complete", tcl_complete, NULL, NULL); + Tcl_CreateCommand(interp, "dcclist", tcl_dcclist, NULL, NULL); + Tcl_CreateCommand(interp, "notifylist", tcl_notifylist, NULL, NULL); + Tcl_CreateCommand(interp, "findcontext", tcl_findcontext, NULL, NULL); + Tcl_CreateCommand(interp, "getcontext", tcl_getcontext, NULL, NULL); + Tcl_CreateCommand(interp, "getinfo", tcl_getinfo, NULL, NULL); + Tcl_CreateCommand(interp, "getlist", tcl_getlist, NULL, NULL); + Tcl_CreateCommand(interp, "ignores", tcl_ignores, NULL, NULL); + Tcl_CreateCommand(interp, "killtimer", tcl_killtimer, NULL, NULL); + Tcl_CreateCommand(interp, "me", tcl_me, NULL, NULL); + Tcl_CreateCommand(interp, "on", tcl_on, NULL, NULL); + Tcl_CreateCommand(interp, "off", tcl_off, NULL, NULL); + Tcl_CreateCommand(interp, "nickcmp", tcl_xchat_nickcmp, NULL, NULL); + Tcl_CreateCommand(interp, "print", tcl_print, NULL, NULL); + Tcl_CreateCommand(interp, "prefs", tcl_prefs, NULL, NULL); + Tcl_CreateCommand(interp, "::puts", tcl_xchat_puts, NULL, NULL); + Tcl_CreateCommand(interp, "queries", tcl_queries, NULL, NULL); + Tcl_CreateCommand(interp, "raw", tcl_raw, NULL, NULL); + Tcl_CreateCommand(interp, "servers", tcl_servers, NULL, NULL); + Tcl_CreateCommand(interp, "setcontext", tcl_setcontext, NULL, NULL); + Tcl_CreateCommand(interp, "strip", tcl_strip, NULL, NULL); + Tcl_CreateCommand(interp, "timer", tcl_timer, NULL, NULL); + Tcl_CreateCommand(interp, "timerexists", tcl_timerexists, NULL, NULL); + Tcl_CreateCommand(interp, "timers", tcl_timers, NULL, NULL); + Tcl_CreateCommand(interp, "topic", tcl_topic, NULL, NULL); + Tcl_CreateCommand(interp, "users", tcl_users, NULL, NULL); + Tcl_CreateCommand(interp, "word", tcl_word, NULL, NULL); + Tcl_CreateCommand(interp, "word_eol", tcl_word_eol, NULL, NULL); + + Tcl_InitHashTable(&cmdTablePtr, TCL_STRING_KEYS); + Tcl_InitHashTable(&aliasTablePtr, TCL_STRING_KEYS); + + bzero(timers, sizeof(timers)); + nexttimerid = 0; + nexttimerindex = 0; + + for (x = 0; x < XC_SIZE; x++) + xc[x].hook = NULL; + + xchatdir = xchat_get_info(ph, "xchatdir"); + + if (Tcl_Eval(interp, unknown) == TCL_ERROR) { + xchat_printf(ph, "Error sourcing internal 'unknown' (%s)\n", Tcl_GetStringResult(interp)); + } + + if (Tcl_Eval(interp, inlinetcl) == TCL_ERROR) { + xchat_printf(ph, "Error sourcing internal 'inlinetcl' (%s)\n", Tcl_GetStringResult(interp)); + } + + if (Tcl_Eval(interp, sourcedirs) == TCL_ERROR) { + xchat_printf(ph, "Error sourcing internal 'sourcedirs' (%s)\n", Tcl_GetStringResult(interp)); + } + +} + +static void Tcl_Plugin_DeInit() +{ + int x; + char *procPtr; + alias *aliasPtr; + Tcl_HashEntry *entry; + Tcl_HashSearch search; + + /* Be sure to free all the memory for ON and ALIAS entries */ + + entry = Tcl_FirstHashEntry(&cmdTablePtr, &search); + while (entry != NULL) { + procPtr = Tcl_GetHashValue(entry); + Tcl_Free(procPtr); + entry = Tcl_NextHashEntry(&search); + } + + Tcl_DeleteHashTable(&cmdTablePtr); + + entry = Tcl_FirstHashEntry(&aliasTablePtr, &search); + while (entry != NULL) { + aliasPtr = Tcl_GetHashValue(entry); + Tcl_Free(aliasPtr->procPtr); + if (aliasPtr->hook) + xchat_unhook(ph, aliasPtr->hook); + Tcl_Free((char *) aliasPtr); + entry = Tcl_NextHashEntry(&search); + } + + Tcl_DeleteHashTable(&aliasTablePtr); + + for (x = 1; x < MAX_TIMERS; x++) { + if (timers[x].timerid) { + timers[x].timerid = 0; + if (timers[x].procPtr != NULL) + Tcl_Free(timers[x].procPtr); + timers[x].procPtr = NULL; + break; + } + } + + for (x = 0; x < XC_SIZE; x++) { + if (xc[x].hook != NULL) { + xchat_unhook(ph, xc[x].hook); + xc[x].hook = NULL; + } + } + + Tcl_DeleteInterp(interp); +} + +static void banner() +{ + xchat_printf(ph, "Tcl plugin for XChat - Version %s\n", VERSION); + xchat_print(ph, "Copyright 2002-2005 Daniel P. Stasinski\n"); + xchat_print(ph, "http://www.scriptkitties.com/tclplugin/\n"); +} + +int xchat_plugin_init(xchat_plugin * plugin_handle, char **plugin_name, char **plugin_desc, char **plugin_version, char *arg) +{ +#ifdef WIN32 + HINSTANCE lib; +#endif + + strncpy(VERSION, &RCSID[19], 5); + + ph = plugin_handle; + +#ifdef WIN32 + lib = LoadLibraryA(TCL_DLL); + if (!lib) { + xchat_print(ph, "You must have ActiveTCL installed in order to run Tcl scripts.\n" "http://aspn.activestate.com/ASPN/Tcl/\n" "Make sure Tcl's bin directory is in your PATH.\n\n"); + return 0; + } + FreeLibrary(lib); +#endif + + if (initialized != 0) { + banner(); + xchat_print(ph, "Tcl plugin already loaded"); + reinit_tried++; + return 0; + } + initialized = 1; + + *plugin_name = "Tcl"; + *plugin_desc = "Tcl scripting interface"; + *plugin_version = VERSION; + + Tcl_Plugin_Init(); + + raw_line_hook = xchat_hook_server(ph, "RAW LINE", XCHAT_PRI_NORM, Server_raw_line, NULL); + Command_TCL_hook = xchat_hook_command(ph, "tcl", XCHAT_PRI_NORM, Command_TCL, 0, 0); + Command_Source_hook = xchat_hook_command(ph, "source", XCHAT_PRI_NORM, Command_Source, 0, 0); + Command_Reload_hook = xchat_hook_command(ph, "reloadall", XCHAT_PRI_NORM, Command_Reloadall, 0, 0); + Command_Load_hook = xchat_hook_command(ph, "LOAD", XCHAT_PRI_NORM, Command_Source, 0, 0); + Event_Handler_hook = xchat_hook_timer(ph, 100, TCL_Event_Handler, 0); + Null_Command_hook = xchat_hook_command(ph, "", XCHAT_PRI_NORM, Null_Command_Alias, "", 0); + + banner(); + xchat_print(ph, "Tcl interface loaded\n"); + + return 1; /* return 1 for success */ +} + +int xchat_plugin_deinit() +{ + if (reinit_tried) { + reinit_tried--; + return 1; + } + + xchat_unhook(ph, raw_line_hook); + xchat_unhook(ph, Command_TCL_hook); + xchat_unhook(ph, Command_Source_hook); + xchat_unhook(ph, Command_Reload_hook); + xchat_unhook(ph, Command_Load_hook); + xchat_unhook(ph, Event_Handler_hook); + xchat_unhook(ph, Null_Command_hook); + + Tcl_Plugin_DeInit(); + + xchat_print(ph, "Tcl interface unloaded\n"); + initialized = 0; + + return 1; +} + +void xchat_plugin_get_info(char **name, char **desc, char **version, void **reserved) +{ + strncpy(VERSION, &RCSID[19], 5); + *name = "tclplugin"; + *desc = "Tcl plugin for XChat"; + *version = VERSION; + if (reserved) + *reserved = NULL; +} + diff --git a/plugins/tcl/tclplugin.h b/plugins/tcl/tclplugin.h new file mode 100644 index 00000000..075c28f8 --- /dev/null +++ b/plugins/tcl/tclplugin.h @@ -0,0 +1,98 @@ +/*************************************************************************** + tclplugin.h - TCL plugin header file + ------------------------------------------------- + begin : Sat Nov 9 17:31:20 MST 2002 + copyright : Copyright 2002-2010 Daniel P. Stasinski + email : daniel@avenues.org + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#define BADARGS(nl,nh,example) \ + if ((argc<(nl)) || (argc>(nh))) { \ + Tcl_AppendResult(irp,"wrong # args: should be \"",argv[0], \ + (example),"\"",NULL); \ + return TCL_ERROR; \ + } + +#define CHECKCTX(ctx) \ + if (ctx == NULL) { \ + Tcl_AppendResult(irp, "No such server/channel/nick", NULL); \ + return TCL_ERROR; \ + } + +typedef struct { + char *procPtr; + xchat_hook *hook; +} alias; + +typedef struct { + int timerid; + time_t timestamp; + char *procPtr; + int count; + int seconds; +} timer; + +typedef struct { + int result; + int defresult; + char **word; + char **word_eol; +} t_complete; + +#define MAX_TIMERS 512 +#define MAX_COMPLETES 128 + +static char *StrDup(const char *string, int *length); +static char *myitoa(long value); +static xchat_context *xchat_smart_context(const char *arg1, const char *arg2); +static void queue_nexttimer(); +static int insert_timer(int seconds, int count, const char *script); +static void do_timer(); +static int Server_raw_line(char *word[], char *word_eol[], void *userdata); +static int Print_Hook(char *word[], void *userdata); +static int tcl_timerexists(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_killtimer(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_timers(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_timer(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_on(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_off(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_alias(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_complete(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_raw(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_command(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_xchat_puts(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_print(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_channels(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_servers(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_queries(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_users(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_chats(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_ignores(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_dcclist(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_me(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_xchat_nickcmp(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_strip(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_topic(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_word(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_word_eol(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int tcl_notifylist(ClientData cd, Tcl_Interp * irp, int argc, const char *argv[]); +static int Command_Alias(char *word[], char *word_eol[], void *userdata); +static int Null_Command_Alias(char *word[], char *word_eol[], void *userdata); +static int Command_TCL(char *word[], char *word_eol[], void *userdata); +static int Command_Source(char *word[], char *word_eol[], void *userdata); +static int Command_Reload(char *word[], char *word_eol[], void *userdata); +static int TCL_Event_Handler(void *userdata); +static void Tcl_Plugin_Init(); +static void Tcl_Plugin_DeInit(); +static void banner(); +int xchat_plugin_init(xchat_plugin * plugin_handle, char **plugin_name, char **plugin_desc, char **plugin_version, char *arg); +int xchat_plugin_deinit(); diff --git a/plugins/xchat-plugin.h b/plugins/xchat-plugin.h new file mode 100644 index 00000000..30b19295 --- /dev/null +++ b/plugins/xchat-plugin.h @@ -0,0 +1,334 @@ +/* You can distribute this header with your plugins for easy compilation */ +#ifndef XCHAT_PLUGIN_H +#define XCHAT_PLUGIN_H + +#include + +#define XCHAT_IFACE_MAJOR 1 +#define XCHAT_IFACE_MINOR 9 +#define XCHAT_IFACE_MICRO 11 +#define XCHAT_IFACE_VERSION ((XCHAT_IFACE_MAJOR * 10000) + \ + (XCHAT_IFACE_MINOR * 100) + \ + (XCHAT_IFACE_MICRO)) + +#define XCHAT_PRI_HIGHEST 127 +#define XCHAT_PRI_HIGH 64 +#define XCHAT_PRI_NORM 0 +#define XCHAT_PRI_LOW (-64) +#define XCHAT_PRI_LOWEST (-128) + +#define XCHAT_FD_READ 1 +#define XCHAT_FD_WRITE 2 +#define XCHAT_FD_EXCEPTION 4 +#define XCHAT_FD_NOTSOCKET 8 + +#define XCHAT_EAT_NONE 0 /* pass it on through! */ +#define XCHAT_EAT_XCHAT 1 /* don't let xchat see this event */ +#define XCHAT_EAT_PLUGIN 2 /* don't let other plugins see this event */ +#define XCHAT_EAT_ALL (XCHAT_EAT_XCHAT|XCHAT_EAT_PLUGIN) /* don't let anything see this event */ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _xchat_plugin xchat_plugin; +typedef struct _xchat_list xchat_list; +typedef struct _xchat_hook xchat_hook; +#ifndef PLUGIN_C +typedef struct _xchat_context xchat_context; +#endif + +#ifndef PLUGIN_C +struct _xchat_plugin +{ + /* these are only used on win32 */ + xchat_hook *(*xchat_hook_command) (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + const char *help_text, + void *userdata); + xchat_hook *(*xchat_hook_server) (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + void *userdata); + xchat_hook *(*xchat_hook_print) (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], void *user_data), + void *userdata); + xchat_hook *(*xchat_hook_timer) (xchat_plugin *ph, + int timeout, + int (*callback) (void *user_data), + void *userdata); + xchat_hook *(*xchat_hook_fd) (xchat_plugin *ph, + int fd, + int flags, + int (*callback) (int fd, int flags, void *user_data), + void *userdata); + void *(*xchat_unhook) (xchat_plugin *ph, + xchat_hook *hook); + void (*xchat_print) (xchat_plugin *ph, + const char *text); + void (*xchat_printf) (xchat_plugin *ph, + const char *format, ...); + void (*xchat_command) (xchat_plugin *ph, + const char *command); + void (*xchat_commandf) (xchat_plugin *ph, + const char *format, ...); + int (*xchat_nickcmp) (xchat_plugin *ph, + const char *s1, + const char *s2); + int (*xchat_set_context) (xchat_plugin *ph, + xchat_context *ctx); + xchat_context *(*xchat_find_context) (xchat_plugin *ph, + const char *servname, + const char *channel); + xchat_context *(*xchat_get_context) (xchat_plugin *ph); + const char *(*xchat_get_info) (xchat_plugin *ph, + const char *id); + int (*xchat_get_prefs) (xchat_plugin *ph, + const char *name, + const char **string, + int *integer); + xchat_list * (*xchat_list_get) (xchat_plugin *ph, + const char *name); + void (*xchat_list_free) (xchat_plugin *ph, + xchat_list *xlist); + const char * const * (*xchat_list_fields) (xchat_plugin *ph, + const char *name); + int (*xchat_list_next) (xchat_plugin *ph, + xchat_list *xlist); + const char * (*xchat_list_str) (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + int (*xchat_list_int) (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + void * (*xchat_plugingui_add) (xchat_plugin *ph, + const char *filename, + const char *name, + const char *desc, + const char *version, + char *reserved); + void (*xchat_plugingui_remove) (xchat_plugin *ph, + void *handle); + int (*xchat_emit_print) (xchat_plugin *ph, + const char *event_name, ...); + int (*xchat_read_fd) (xchat_plugin *ph, + void *src, + char *buf, + int *len); + time_t (*xchat_list_time) (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + char *(*xchat_gettext) (xchat_plugin *ph, + const char *msgid); + void (*xchat_send_modes) (xchat_plugin *ph, + const char **targets, + int ntargets, + int modes_per_line, + char sign, + char mode); + char *(*xchat_strip) (xchat_plugin *ph, + const char *str, + int len, + int flags); + void (*xchat_free) (xchat_plugin *ph, + void *ptr); +}; +#endif + + +xchat_hook * +xchat_hook_command (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + const char *help_text, + void *userdata); + +xchat_hook * +xchat_hook_server (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + void *userdata); + +xchat_hook * +xchat_hook_print (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], void *user_data), + void *userdata); + +xchat_hook * +xchat_hook_timer (xchat_plugin *ph, + int timeout, + int (*callback) (void *user_data), + void *userdata); + +xchat_hook * +xchat_hook_fd (xchat_plugin *ph, + int fd, + int flags, + int (*callback) (int fd, int flags, void *user_data), + void *userdata); + +void * +xchat_unhook (xchat_plugin *ph, + xchat_hook *hook); + +void +xchat_print (xchat_plugin *ph, + const char *text); + +void +xchat_printf (xchat_plugin *ph, + const char *format, ...); + +void +xchat_command (xchat_plugin *ph, + const char *command); + +void +xchat_commandf (xchat_plugin *ph, + const char *format, ...); + +int +xchat_nickcmp (xchat_plugin *ph, + const char *s1, + const char *s2); + +int +xchat_set_context (xchat_plugin *ph, + xchat_context *ctx); + +xchat_context * +xchat_find_context (xchat_plugin *ph, + const char *servname, + const char *channel); + +xchat_context * +xchat_get_context (xchat_plugin *ph); + +const char * +xchat_get_info (xchat_plugin *ph, + const char *id); + +int +xchat_get_prefs (xchat_plugin *ph, + const char *name, + const char **string, + int *integer); + +xchat_list * +xchat_list_get (xchat_plugin *ph, + const char *name); + +void +xchat_list_free (xchat_plugin *ph, + xchat_list *xlist); + +const char * const * +xchat_list_fields (xchat_plugin *ph, + const char *name); + +int +xchat_list_next (xchat_plugin *ph, + xchat_list *xlist); + +const char * +xchat_list_str (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + +int +xchat_list_int (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + +time_t +xchat_list_time (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + +void * +xchat_plugingui_add (xchat_plugin *ph, + const char *filename, + const char *name, + const char *desc, + const char *version, + char *reserved); + +void +xchat_plugingui_remove (xchat_plugin *ph, + void *handle); + +int +xchat_emit_print (xchat_plugin *ph, + const char *event_name, ...); + +char * +xchat_gettext (xchat_plugin *ph, + const char *msgid); + +void +xchat_send_modes (xchat_plugin *ph, + const char **targets, + int ntargets, + int modes_per_line, + char sign, + char mode); + +char * +xchat_strip (xchat_plugin *ph, + const char *str, + int len, + int flags); + +void +xchat_free (xchat_plugin *ph, + void *ptr); + +#if !defined(PLUGIN_C) && defined(WIN32) +#ifndef XCHAT_PLUGIN_HANDLE +#define XCHAT_PLUGIN_HANDLE (ph) +#endif +#define xchat_hook_command ((XCHAT_PLUGIN_HANDLE)->xchat_hook_command) +#define xchat_hook_server ((XCHAT_PLUGIN_HANDLE)->xchat_hook_server) +#define xchat_hook_print ((XCHAT_PLUGIN_HANDLE)->xchat_hook_print) +#define xchat_hook_timer ((XCHAT_PLUGIN_HANDLE)->xchat_hook_timer) +#define xchat_hook_fd ((XCHAT_PLUGIN_HANDLE)->xchat_hook_fd) +#define xchat_unhook ((XCHAT_PLUGIN_HANDLE)->xchat_unhook) +#define xchat_print ((XCHAT_PLUGIN_HANDLE)->xchat_print) +#define xchat_printf ((XCHAT_PLUGIN_HANDLE)->xchat_printf) +#define xchat_command ((XCHAT_PLUGIN_HANDLE)->xchat_command) +#define xchat_commandf ((XCHAT_PLUGIN_HANDLE)->xchat_commandf) +#define xchat_nickcmp ((XCHAT_PLUGIN_HANDLE)->xchat_nickcmp) +#define xchat_set_context ((XCHAT_PLUGIN_HANDLE)->xchat_set_context) +#define xchat_find_context ((XCHAT_PLUGIN_HANDLE)->xchat_find_context) +#define xchat_get_context ((XCHAT_PLUGIN_HANDLE)->xchat_get_context) +#define xchat_get_info ((XCHAT_PLUGIN_HANDLE)->xchat_get_info) +#define xchat_get_prefs ((XCHAT_PLUGIN_HANDLE)->xchat_get_prefs) +#define xchat_list_get ((XCHAT_PLUGIN_HANDLE)->xchat_list_get) +#define xchat_list_free ((XCHAT_PLUGIN_HANDLE)->xchat_list_free) +#define xchat_list_fields ((XCHAT_PLUGIN_HANDLE)->xchat_list_fields) +#define xchat_list_str ((XCHAT_PLUGIN_HANDLE)->xchat_list_str) +#define xchat_list_int ((XCHAT_PLUGIN_HANDLE)->xchat_list_int) +#define xchat_list_time ((XCHAT_PLUGIN_HANDLE)->xchat_list_time) +#define xchat_list_next ((XCHAT_PLUGIN_HANDLE)->xchat_list_next) +#define xchat_plugingui_add ((XCHAT_PLUGIN_HANDLE)->xchat_plugingui_add) +#define xchat_plugingui_remove ((XCHAT_PLUGIN_HANDLE)->xchat_plugingui_remove) +#define xchat_emit_print ((XCHAT_PLUGIN_HANDLE)->xchat_emit_print) +#define xchat_gettext ((XCHAT_PLUGIN_HANDLE)->xchat_gettext) +#define xchat_send_modes ((XCHAT_PLUGIN_HANDLE)->xchat_send_modes) +#define xchat_strip ((XCHAT_PLUGIN_HANDLE)->xchat_strip) +#define xchat_free ((XCHAT_PLUGIN_HANDLE)->xchat_free) +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/plugins/xdcc/Makefile.am b/plugins/xdcc/Makefile.am new file mode 100644 index 00000000..24f93f16 --- /dev/null +++ b/plugins/xdcc/Makefile.am @@ -0,0 +1,7 @@ +libdir = $(xchatdir)/plugins + +lib_LTLIBRARIES = xdcc.la +xdcc_la_SOURCES = xdcc.c +xdcc_la_LDFLAGS = -avoid-version -module +INCLUDES = $(COMMON_CFLAGS) -I$(srcdir)/.. + diff --git a/plugins/xdcc/xdcc.c b/plugins/xdcc/xdcc.c new file mode 100644 index 00000000..147a3c33 --- /dev/null +++ b/plugins/xdcc/xdcc.c @@ -0,0 +1,327 @@ +/* xchat 2.0 plugin: simple xdcc server example */ + +#include +#include +#include +#include +#include + +#include "xchat-plugin.h" + +static xchat_plugin *ph; /* plugin handle */ + +static int xdcc_on = 1; +static int xdcc_slots = 3; +static GSList *file_list = 0; + +typedef struct fileoffer +{ + char *file; + char *fullpath; + char *desc; + int downloads; +} fileoffer; + + +/* find the number of open dccs */ + +static int num_open_dccs(void) +{ + xchat_list *list; + int num = 0; + + list = xchat_list_get(ph, "dcc"); + if(!list) + return 0; + + while(xchat_list_next(ph, list)) + { + /* check only ACTIVE dccs */ + if(xchat_list_int(ph, list, "status") == 1) + { + /* check only SEND dccs */ + if(xchat_list_int(ph, list, "type") == 0) + num++; + } + } + + xchat_list_free(ph, list); + + return num; +} + +static void xdcc_get(char *nick, char *host, char *arg) +{ + int num; + GSList *list; + fileoffer *offer; + + if(arg[0] == '#') + arg++; + + num = atoi(arg); + list = g_slist_nth(file_list, num - 1); + if(!list) + { + xchat_commandf(ph, "quote NOTICE %s :No such file number #%d!", nick, num); + return; + } + + if(num_open_dccs() >= xdcc_slots) + { + xchat_commandf(ph, "quote NOTICE %s :All slots full. Try again later.", nick); + return; + } + + offer = (fileoffer *) list->data; + offer->downloads++; + xchat_commandf(ph, "quote NOTICE %s :Sending offer #%d %s", nick, num, offer->file); + xchat_commandf(ph, "dcc send %s %s", nick, offer->fullpath); +} + +static void xdcc_del(char *name) +{ + GSList *list; + fileoffer *offer; + + list = file_list; + while(list) + { + offer = (fileoffer *) list->data; + if(strcasecmp(name, offer->file) == 0) + { + file_list = g_slist_remove(file_list, offer); + xchat_printf(ph, "%s [%s] removed.\n", offer->file, offer->fullpath); + free(offer->file); + free(offer->desc); + free(offer->fullpath); + free(offer); + return; + } + list = list->next; + } +} + +static void xdcc_add(char *name, char *fullpath, char *desc, int dl) +{ + fileoffer *offer; + + offer = (fileoffer *) malloc(sizeof(fileoffer)); + offer->file = strdup(name); + offer->desc = strdup(desc); + offer->fullpath = strdup(fullpath); + offer->downloads = dl; + + file_list = g_slist_append(file_list, offer); +} + +static void xdcc_list(char *nick, char *host, char *arg, char *cmd) +{ + GSList *list; + int i = 0; + fileoffer *offer; + + xchat_commandf(ph, "%s %s :XDCC List:", cmd, nick); + list = file_list; + while(list) + { + i++; + offer = (fileoffer *) list->data; + xchat_commandf(ph, "%s %s :[#%d] %s - %s [%d dl]", cmd, + nick, i, offer->file, offer->desc, offer->downloads); + list = list->next; + } + + if(i == 0) + xchat_commandf(ph, "%s %s :- list empty.", cmd, nick); + else + xchat_commandf(ph, "%s %s :%d files listed.", cmd, nick, i); +} + +static int xdcc_command(char *word[], char *word_eol[], void *userdata) +{ + if(strcasecmp(word[2], "ADD") == 0) + { + if(!word_eol[5][0]) + xchat_print(ph, "Syntax: /XDCC ADD \n"); + else + { + if(access(word[4], R_OK) == 0) + { + xdcc_add(word[3], word[4], word_eol[5], 0); + xchat_printf(ph, "%s [%s] added.\n", word[3], word[4]); + } + else + xchat_printf(ph, "Cannot read %s\n", word[4]); + } + return XCHAT_EAT_XCHAT; + } + + if(strcasecmp(word[2], "DEL") == 0) + { + xdcc_del(word[3]); + return XCHAT_EAT_XCHAT; + } + + if(strcasecmp(word[2], "SLOTS") == 0) + { + if(word[3][0]) + { + xdcc_slots = atoi(word[3]); + xchat_printf(ph, "XDCC slots set to %d\n", xdcc_slots); + } else + { + xchat_printf(ph, "XDCC slots: %d\n", xdcc_slots); + } + return XCHAT_EAT_XCHAT; + } + + if(strcasecmp(word[2], "ON") == 0) + { + xdcc_on = TRUE; + xchat_print(ph, "XDCC now ON\n"); + return XCHAT_EAT_XCHAT; + } + + if(strcasecmp(word[2], "LIST") == 0) + { + xdcc_list("", "", "", "echo"); + return XCHAT_EAT_XCHAT; + } + + if(strcasecmp(word[2], "OFF") == 0) + { + xdcc_on = FALSE; + xchat_print(ph, "XDCC now OFF\n"); + return XCHAT_EAT_XCHAT; + } + + xchat_print(ph, "Syntax: XDCC ADD \n" + " XDCC DEL \n" + " XDCC SLOTS \n" + " XDCC LIST\n" + " XDCC ON\n" + " XDCC OFF\n\n"); + + return XCHAT_EAT_XCHAT; +} + +static void xdcc_remote(char *from, char *msg) +{ + char *ex, *nick, *host; + + ex = strchr(from, '!'); + if(!ex) + return; + ex[0] = 0; + nick = from; + host = ex + 1; + + if(xdcc_on == 0) + { + xchat_commandf(ph, "notice %s XDCC is turned OFF!", from); + return; + } + + if(strncasecmp(msg, "LIST", 4) == 0) + xdcc_list(nick, host, msg + 4, "quote notice"); + else if(strncasecmp(msg, "GET ", 4) == 0) + xdcc_get(nick, host, msg + 4); + else + xchat_commandf(ph, "notice %s Unknown XDCC command!", from); +} + +static int ctcp_cb(char *word[], void *userdata) +{ + char *msg = word[1]; + char *from = word[2]; + + if(strncasecmp(msg, "XDCC ", 5) == 0) + xdcc_remote(from, msg + 5); + + return XCHAT_EAT_NONE; +} + +static void xdcc_save(void) +{ + char buf[512]; + FILE *fp; + GSList *list; + fileoffer *offer; + + snprintf(buf, sizeof(buf), "%s/xdcclist.conf", xchat_get_info(ph, "xchatdir")); + + fp = fopen(buf, "w"); + if(!fp) + return; + + list = file_list; + while(list) + { + offer = (fileoffer *) list->data; + fprintf(fp, "%s\n%s\n%s\n%d\n\n\n", offer->file, offer->fullpath, + offer->desc, offer->downloads); + list = list->next; + } + + fclose(fp); +} + +static void xdcc_load(void) +{ + char buf[512]; + char file[128]; + char path[128]; + char desc[128]; + char dl[128]; + FILE *fp; + + snprintf(buf, sizeof(buf), "%s/xdcclist.conf", xchat_get_info(ph, "xchatdir")); + + fp = fopen(buf, "r"); + if(!fp) + return; + + while(fgets(file, sizeof(file), fp)) + { + file[strlen(file)-1] = 0; + fgets(path, sizeof(path), fp); + path[strlen(path)-1] = 0; + fgets(desc, sizeof(desc), fp); + desc[strlen(desc)-1] = 0; + fgets(dl, sizeof(dl), fp); + dl[strlen(dl)-1] = 0; + fgets(buf, sizeof(buf), fp); + fgets(buf, sizeof(buf), fp); + xdcc_add(file, path, desc, atoi(dl)); + } + + fclose(fp); +} + +int xchat_plugin_deinit(void) +{ + xdcc_save(); + xchat_print(ph, "XDCC List saved\n"); + return 1; +} + +int xchat_plugin_init(xchat_plugin *plugin_handle, + char **plugin_name, char **plugin_desc, char **plugin_version, + char *arg) +{ + ph = plugin_handle; + + *plugin_name = "XDCC"; + *plugin_desc = "Very simple XDCC server"; + *plugin_version = "0.1"; + + xchat_hook_command(ph, "XDCC", XCHAT_PRI_NORM, xdcc_command, 0, 0); + xchat_hook_print(ph, "CTCP Generic", XCHAT_PRI_NORM, ctcp_cb, 0); + xchat_hook_print(ph, "CTCP Generic to Channel", XCHAT_PRI_NORM, ctcp_cb, 0); + + xdcc_load(); + xchat_print(ph, "XDCC loaded. Type /XDCC for help.\n"); + + return 1; +} diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 00000000..771c7f21 --- /dev/null +++ b/po/Makevars @@ -0,0 +1,7 @@ +DOMAIN = $(PACKAGE) +subdir = po +top_builddir = .. +XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ +COPYRIGHT_HOLDER = +MSGID_BUGS_ADDRESS = www.xchat.org +EXTRA_LOCALE_CATEGORIES = diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 00000000..f0f06df2 --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,37 @@ +src/common/cfgfiles.c +src/common/dcc.c +src/common/ignore.c +src/common/notify.c +src/common/outbound.c +src/common/plugin.c +src/common/server.c +src/common/servlist.c +src/common/textevents.h +src/common/text.c +src/common/util.c +src/common/xchat.c +src/common/dbus/dbus-client.c +src/common/dbus/dbus-plugin.c +src/fe-gtk/about.c +src/fe-gtk/ascii.c +src/fe-gtk/banlist.c +src/fe-gtk/chanlist.c +src/fe-gtk/dccgui.c +src/fe-gtk/editlist.c +src/fe-gtk/fe-gtk.c +src/fe-gtk/fkeys.c +src/fe-gtk/gtkutil.c +src/fe-gtk/ignoregui.c +src/fe-gtk/joind.c +src/fe-gtk/maingui.c +src/fe-gtk/menu.c +src/fe-gtk/notifygui.c +src/fe-gtk/plugin-tray.c +src/fe-gtk/plugingui.c +src/fe-gtk/rawlog.c +src/fe-gtk/search.c +src/fe-gtk/servlistgui.c +src/fe-gtk/setup.c +src/fe-gtk/textgui.c +src/fe-gtk/urlgrab.c +src/fe-gtk/userlistgui.c diff --git a/po/am.po b/po/am.po new file mode 100644 index 00000000..dcd90f5b --- /dev/null +++ b/po/am.po @@ -0,0 +1,4818 @@ +# Translations into the Amharic Language. +# Copyright (C) 2002 Free Software Foundation, Inc. +# This file is distributed under the same license as the xchat package. +# Ge'ez Frontier Foundation , 2002. +# +# +msgid "" +msgstr "" +"Project-Id-Version: xchat \n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2004-01-01 23:38+1100\n" +"PO-Revision-Date: 2003-01-30 10:06+EDT\n" +"Last-Translator: Ge'ez Frontier Foundation \n" +"Language-Team: Amharic \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/common/cfgfiles.c:340 +msgid "Cannot create ~/.xchat2" +msgstr "" + +#: src/common/cfgfiles.c:634 +msgid "I'm busy" +msgstr "" + +#: src/common/cfgfiles.c:635 +#, fuzzy +msgid "Leaving" +msgstr "ላትቪያ" + +#: src/common/cfgfiles.c:679 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" + +#: src/common/dcc.c:56 +msgid "Waiting" +msgstr "" + +#: src/common/dcc.c:57 +msgid "Active" +msgstr "" + +#: src/common/dcc.c:58 +msgid "Failed" +msgstr "" + +#: src/common/dcc.c:59 +msgid "Done" +msgstr "ጨርሷል" + +#: src/common/dcc.c:60 +msgid "Connect" +msgstr "አገናኝ" + +#: src/common/dcc.c:61 +msgid "Aborted" +msgstr "ውድቅ ሆኗል" + +#: src/common/dcc.c:1269 +#, c-format +msgid "Cannot access %s\n" +msgstr "" + +#: src/common/dcc.c:1801 +msgid "No active DCCs\n" +msgstr "" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "አዎ " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "አይ " + +#: src/common/ignore.c:373 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "" + +#: src/common/ignore.c:398 +#, c-format +msgid "You are being MSG flooded from %s, setting autodialog OFF.\n" +msgstr "" + +#: src/common/notify.c:400 +#, c-format +msgid " %-20s online\n" +msgstr "" + +#: src/common/notify.c:402 +#, c-format +msgid " %-20s offline\n" +msgstr "" + +#: src/common/outbound.c:70 +msgid "No channel joined. Try /join #\n" +msgstr "" + +#: src/common/outbound.c:76 +msgid "Not connected. Try /server []\n" +msgstr "" + +#: src/common/outbound.c:1356 +msgid "I need /bin/sh to run!\n" +msgstr "" + +#: src/common/outbound.c:1588 +msgid "" +"\n" +"Commands Available:\n" +"\n" +" " +msgstr "" + +#: src/common/outbound.c:1623 +msgid "" +"\n" +"\n" +"Type /HELP for more information, or /HELP -l\n" +"\n" +msgstr "" + +#: src/common/outbound.c:1624 +msgid "" +"User defined commands:\n" +"\n" +" " +msgstr "" + +#: src/common/outbound.c:1716 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "" + +#: src/common/outbound.c:2426 +msgid "No such plugin found.\n" +msgstr "" + +#: src/common/outbound.c:2431 src/fe-gtk/plugingui.c:182 +msgid "That plugin is refusing to unload.\n" +msgstr "" + +#: src/common/outbound.c:2576 +msgid "ADDBUTTON , adds a button under the user-list" +msgstr "" + +#: src/common/outbound.c:2578 +msgid "ALLCHAN , sends a command to all channels you're in" +msgstr "" + +#: src/common/outbound.c:2580 +msgid "ALLSERV , sends a command to all servers you're in" +msgstr "" + +#: src/common/outbound.c:2581 +msgid "AWAY [], sets you away" +msgstr "" + +#: src/common/outbound.c:2583 +msgid "" +"BAN [], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "" + +#: src/common/outbound.c:2585 +msgid "CLEAR, Clears the current text window" +msgstr "" + +#: src/common/outbound.c:2586 +msgid "CLOSE, Closes the current window/tab" +msgstr "" + +#: src/common/outbound.c:2589 +msgid "COUNTRY , finds a country code, eg: au = australia" +msgstr "" + +#: src/common/outbound.c:2591 +msgid "" +"CTCP , send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:2593 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "" + +#: src/common/outbound.c:2595 +msgid "" +"\n" +"DCC GET - accept an offered file\n" +"DCC SEND [-maxcps=#] [file] - send a file to someone\n" +"DCC LIST - show DCC list\n" +"DCC CHAT - offer DCC CHAT to someone\n" +"DCC CLOSE example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:2605 +msgid "" +"DEHOP , removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2607 +msgid "DELBUTTON , deletes a button from under the user-list" +msgstr "" + +#: src/common/outbound.c:2609 +msgid "" +"DEOP , removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:2611 +msgid "" +"DEVOICE , removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:2612 +msgid "DISCON, Disconnects from server" +msgstr "" + +#: src/common/outbound.c:2613 +msgid "DNS , Finds a users IP number" +msgstr "" + +#: src/common/outbound.c:2614 +msgid "ECHO , Prints text locally" +msgstr "" + +#: src/common/outbound.c:2617 +msgid "" +"EXEC [-o] , runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "" + +#: src/common/outbound.c:2619 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:2622 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:2624 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:2625 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:2629 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:2631 +msgid "GATE [], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:2637 +msgid "HOP , gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2639 +msgid "" +"IGNORE \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 "" + +#: src/common/outbound.c:2646 +msgid "" +"INVITE [], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2647 +msgid "JOIN , joins the channel" +msgstr "" + +#: src/common/outbound.c:2649 +msgid "KICK , kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2651 +msgid "" +"KICKBAN , bans then kicks the nick from the current channel (needs " +"chanop)" +msgstr "" + +#: src/common/outbound.c:2654 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:2656 +msgid "LASTLOG , searches for a string in the buffer" +msgstr "" + +#: src/common/outbound.c:2658 +msgid "LOAD , loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:2661 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2663 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2665 +msgid "" +"ME , sends the action to the current channel (actions are written in " +"the 3rd person, like /me jumps)" +msgstr "" + +#: src/common/outbound.c:2667 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2669 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2670 +msgid "MSG , sends a private message" +msgstr "" + +#: src/common/outbound.c:2673 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "" + +#: src/common/outbound.c:2675 +msgid "NCTCP , Sends a CTCP notice" +msgstr "" + +#: src/common/outbound.c:2676 +msgid "NEWSERVER []" +msgstr "" + +#: src/common/outbound.c:2677 +msgid "NICK , sets your nick" +msgstr "" + +#: src/common/outbound.c:2680 +msgid "" +"NOTICE , sends a notice. Notices are a type of " +"message that should be auto reacted to" +msgstr "" + +#: src/common/outbound.c:2682 +msgid "NOTIFY [], lists your notify list or adds someone to it" +msgstr "" + +#: src/common/outbound.c:2684 +msgid "OP , gives chanop status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2686 +msgid "" +"PART [] [], leaves the channel, by default the current one" +msgstr "" + +#: src/common/outbound.c:2688 +msgid "PING , CTCP pings nick or channel" +msgstr "" + +#: src/common/outbound.c:2690 +msgid "QUERY , opens up a new privmsg window to someone" +msgstr "" + +#: src/common/outbound.c:2692 +msgid "QUIT [], disconnects from the current server" +msgstr "" + +#: src/common/outbound.c:2694 +msgid "QUOTE , sends the text in raw form to the server" +msgstr "" + +#: src/common/outbound.c:2697 +msgid "" +"RECONNECT [-ssl] [] [] [], Can be called just as /" +"RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:2700 +msgid "" +"RECONNECT [] [] [], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" + +#: src/common/outbound.c:2702 +msgid "" +"RECV , send raw data to xchat, as if it was received from the irc " +"server" +msgstr "" + +#: src/common/outbound.c:2705 +msgid "SAY , sends the text to the object in the current window" +msgstr "" + +#: src/common/outbound.c:2708 +msgid "SERVCHAN [-ssl] , connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:2711 +msgid "SERVCHAN , connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:2715 +msgid "" +"SERVER [-ssl] [] [], connects to a server, the " +"default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" + +#: src/common/outbound.c:2718 +msgid "" +"SERVER [] [], connects to a server, the default port " +"is 6667" +msgstr "" + +#: src/common/outbound.c:2720 +msgid "SET []" +msgstr "" + +#: src/common/outbound.c:2723 +msgid "" +"TOPIC [], sets the topic if one is given, else shows the current topic" +msgstr "" + +#: src/common/outbound.c:2725 +msgid "UNBAN [...], unbans the specified masks." +msgstr "" + +#: src/common/outbound.c:2726 +msgid "UNIGNORE [QUIET]" +msgstr "" + +#: src/common/outbound.c:2727 +msgid "UNLOAD , unloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:2730 +msgid "VOICE , gives voice status to someone (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2732 +msgid "WALLCHAN , writes the message to all channels" +msgstr "" + +#: src/common/outbound.c:2734 +msgid "" +"WALLCHOP , sends the message to all chanops on the current channel" +msgstr "" + +#: src/common/outbound.c:2767 +#, c-format +msgid "Usage: %s\n" +msgstr "አጠቃቀም፦ %s\n" + +#: src/common/outbound.c:2772 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" + +#: src/common/outbound.c:2778 +msgid "No such command.\n" +msgstr "" + +#: src/common/outbound.c:3102 +msgid "Bad arguments for user command.\n" +msgstr "" + +#: src/common/outbound.c:3266 +msgid "Too many recursive usercommands, aborting." +msgstr "" + +#: src/common/outbound.c:3339 +msgid "Unknown Command. Try /help\n" +msgstr "" + +#: src/common/plugin.c:349 src/common/plugin.c:379 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "" + +#: src/common/server.c:887 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" + +#: src/common/server.c:892 +msgid "Proxy traversal failed.\n" +msgstr "" + +#: src/common/servlist.c:633 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "" + +#: src/common/servlist.c:973 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" + +#: src/common/textevents.h:6 +msgid "-%C10-%C11-%O$t$1 added to notify list." +msgstr "" + +#: src/common/textevents.h:9 +msgid "-%C10-%C11-%O$t$1 Banlist: %C3$4 %C4$2 %C5$3%O" +msgstr "" + +#: src/common/textevents.h:12 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(You are banned)." +msgstr "" + +#: src/common/textevents.h:15 +msgid "-%C10-%C11-%O$t$1 is now known as $2" +msgstr "" + +#: src/common/textevents.h:18 +msgid "%C13*%O$t$1%O $2%O" +msgstr "" + +#: src/common/textevents.h:21 +msgid "%C13*%O$t%C8%B$1%B%O $2%O" +msgstr "" + +#: src/common/textevents.h:24 +msgid "-%C10-%C11-%O$t$1 sets ban on $2" +msgstr "" + +#: src/common/textevents.h:27 +msgid "-%C10-%C11-%O$tChannel $1 created on $2" +msgstr "" + +#: src/common/textevents.h:30 +msgid "" +"-%C10-%C11-%O$t%C11$1%O removes channel half-operator status from %C11$2" +msgstr "" + +#: src/common/textevents.h:33 +msgid "-%C10-%C11-%O$t%C11$1%O removes channel operator status from %C11$2" +msgstr "" + +#: src/common/textevents.h:36 +msgid "-%C10-%C11-%O$t%C11$1%O removes voice from %C11$2" +msgstr "" + +#: src/common/textevents.h:39 +msgid "-%C10-%C11-%O$t$1 sets exempt on $2" +msgstr "" + +#: src/common/textevents.h:42 +msgid "-%C10-%C11-%O$t%C11$1%O gives channel half-operator status to %C11$2" +msgstr "" + +#: src/common/textevents.h:45 +msgid "-%C10-%C11-%O$t$1 sets invite on $2" +msgstr "" + +#: src/common/textevents.h:48 +msgid "%UChannel Users Topic%O" +msgstr "" + +#: src/common/textevents.h:51 src/common/textevents.h:297 +msgid "%C2<%O$1%C2>%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:54 +msgid "-%C10-%C11-%O$t$1 sets mode $2$3 $4" +msgstr "" + +#: src/common/textevents.h:57 +msgid "-%C10-%C11-%O$tChannel $1 modes: $2" +msgstr "" + +#: src/common/textevents.h:60 +msgid "%C2<%C8%B$1%B%C2>%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:63 +msgid "%C12-%C13$1/$2%C12-%O$t$3%O" +msgstr "" + +#: src/common/textevents.h:66 +msgid "-%C10-%C11-%O$t%C11$1%O gives channel operator status to %C11$2" +msgstr "" + +#: src/common/textevents.h:69 +msgid "-%C10-%C11-%O$t$1 removes exempt on $2" +msgstr "" + +#: src/common/textevents.h:72 +msgid "-%C10-%C11-%O$t$1 removes invite on $2" +msgstr "" + +#: src/common/textevents.h:75 +msgid "-%C10-%C11-%O$t$1 removes channel keyword" +msgstr "" + +#: src/common/textevents.h:78 +msgid "-%C10-%C11-%O$t$1 removes user limit" +msgstr "" + +#: src/common/textevents.h:81 +msgid "-%C10-%C11-%O$t$1 sets channel keyword to $2" +msgstr "" + +#: src/common/textevents.h:84 +msgid "-%C10-%C11-%O$t$1 sets channel limit to $2" +msgstr "" + +#: src/common/textevents.h:87 +msgid "-%C10-%C11-%O$t$1 removes ban on $2" +msgstr "" + +#: src/common/textevents.h:90 +msgid "-%C10-%C11-%O$t%C11$1%O gives voice to %C11$2" +msgstr "" + +#: src/common/textevents.h:93 +msgid "-%C10-%C11-%O$tConnected. Now logging in.." +msgstr "" + +#: src/common/textevents.h:96 +msgid "-%C10-%C11-%O$tConnecting to %C11$1 %C14(%C11$2%C14)%C port %C11$3%C.." +msgstr "" + +#: src/common/textevents.h:99 +msgid "-%C10-%C11-%O$tConnection failed. Error: $1" +msgstr "" + +#: src/common/textevents.h:102 +msgid "-%C10-%C11-%O$tReceived a CTCP $1 from $2" +msgstr "" + +#: src/common/textevents.h:105 +msgid "-%C10-%C11-%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "" + +#: src/common/textevents.h:108 +msgid "%C3>%O$1%C3<%O$tCTCP $2%O" +msgstr "" + +#: src/common/textevents.h:111 +msgid "-%C10-%C11-%O$tReceived a CTCP Sound $1 from $2" +msgstr "" + +#: src/common/textevents.h:114 +msgid "-%C10-%C11-%O$tDCC CHAT to %C11$1%O aborted." +msgstr "" + +#: src/common/textevents.h:117 +msgid "" +"-%C10-%C11-%O$tDCC CHAT connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "" + +#: src/common/textevents.h:120 +msgid "-%C10-%C11-%O$tDCC CHAT to %C11$1%O lost. $4." +msgstr "" + +#: src/common/textevents.h:123 +msgid "-%C10-%C11-%O$tReceived a DCC CHAT offer from $1" +msgstr "" + +#: src/common/textevents.h:126 +msgid "-%C10-%C11-%O$tOffering DCC CHAT to $1" +msgstr "" + +#: src/common/textevents.h:129 +msgid "-%C10-%C11-%O$tAlready offering CHAT to $1" +msgstr "" + +#: src/common/textevents.h:132 +msgid "-%C10-%C11-%O$tDCC $1 connect attempt to %C11$2%O failed (err=$3)." +msgstr "" + +#: src/common/textevents.h:135 +msgid "-%C10-%C11-%O$tReceived '$1%O' from $2" +msgstr "" + +#: src/common/textevents.h:138 +msgid "" +"%C8,2 Type To/From Status Size Pos File %O%010%B%" +"C9----------------------------------------------------%O" +msgstr "" + +#: src/common/textevents.h:141 +msgid "" +"-%C10-%C11-%O$tReceived a malformed DCC request from %C11$1%O.%010-%C10-%C11-" +"%O$tContents of packet: $2" +msgstr "" + +#: src/common/textevents.h:144 +msgid "-%C10-%C11-%O$tOffering %C11$1 %Cto %C11$2%O" +msgstr "" + +#: src/common/textevents.h:147 +msgid "-%C10-%C11-%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:150 +msgid "-%C10-%C11-%O$tDCC RECV %C11$2%O to %C11$1%O aborted." +msgstr "" + +#: src/common/textevents.h:153 +msgid "" +"-%C10-%C11-%O$tDCC RECV %C11$1%O from %C11$3%O complete %C14[%C11$4%O cps%" +"C14]%O." +msgstr "" + +#: src/common/textevents.h:156 +msgid "" +"-%C10-%C11-%O$tDCC RECV connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "" + +#: src/common/textevents.h:159 +msgid "-%C10-%C11-%O$tDCC RECV %C11$1%O from %C11$3%O failed. $4." +msgstr "" + +#: src/common/textevents.h:162 +msgid "-%C10-%C11-%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "" + +#: src/common/textevents.h:165 +msgid "" +"-%C10-%C11-%O$tThe file %C11$1%C already exists, saving it as %C11$2%O " +"instead." +msgstr "" + +#: src/common/textevents.h:168 +msgid "-%C10-%C11-%O$t%C11$1 %Chas requested to resume %C11$2 %Cfrom %C11$3%C." +msgstr "" + +#: src/common/textevents.h:171 +msgid "-%C10-%C11-%O$tDCC SEND %C11$2%O to %C11$1%O aborted." +msgstr "" + +#: src/common/textevents.h:174 +msgid "" +"-%C10-%C11-%O$tDCC SEND %C11$1%O to %C11$2%O complete %C14[%C11$3%O cps%C14]%" +"O." +msgstr "" + +#: src/common/textevents.h:177 +msgid "" +"-%C10-%C11-%O$tDCC SEND connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "" + +#: src/common/textevents.h:180 +msgid "-%C10-%C11-%O$tDCC SEND %C11$1%O to %C11$2%O failed. $3" +msgstr "" + +#: src/common/textevents.h:183 +msgid "-%C10-%C11-%O$t%C11$1 %Chas offered %C11$2 %C(%C11$3 %Cbytes)" +msgstr "" + +#: src/common/textevents.h:186 +msgid "-%C10-%C11-%O$tDCC $1 %C11$2 %Cto %C11$3 %Cstalled - aborting." +msgstr "" + +#: src/common/textevents.h:189 +msgid "-%C10-%C11-%O$tDCC $1 %C11$2 %Cto %C11$3 %Ctimed out - aborting." +msgstr "" + +#: src/common/textevents.h:192 +msgid "-%C10-%C11-%O$t$1 deleted from notify list." +msgstr "" + +#: src/common/textevents.h:195 +msgid "-%C10-%C11-%O$tDisconnected ($1)." +msgstr "" + +#: src/common/textevents.h:198 +msgid "-%C10-%C11-%O$tFound your IP: [$1]" +msgstr "" + +#: src/common/textevents.h:201 +msgid "$1$t$2" +msgstr "" + +#: src/common/textevents.h:204 +msgid "%O%C11$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:207 +msgid "Ignore on %C11$1%O changed." +msgstr "" + +#: src/common/textevents.h:210 +msgid "%C08,02 %O" +msgstr "" + +#: src/common/textevents.h:213 +msgid "%C08,02 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG %O" +msgstr "" + +#: src/common/textevents.h:216 +msgid "%O%C11$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:219 +msgid " Ignore list is empty." +msgstr "" + +#: src/common/textevents.h:222 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(Channel is invite only)." +msgstr "" + +#: src/common/textevents.h:225 +msgid "-%C10-%C11-%O$tYou have been invited to %C11$1%C by %C11$2%C (%C11$3%C)" +msgstr "" + +#: src/common/textevents.h:228 +msgid "-%C10-%C11>%O$t%B$1%B %C14(%C10$3%C14)%C has joined $2" +msgstr "" + +#: src/common/textevents.h:231 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(Requires keyword)." +msgstr "" + +#: src/common/textevents.h:234 +msgid "<%C10-%C11-%O$t$1 has kicked $2 from $3 ($4%O)" +msgstr "" + +#: src/common/textevents.h:237 +msgid "-%C10-%C11-%O$tYou have been killed by $1 ($2%O)" +msgstr "" + +#: src/common/textevents.h:240 src/common/textevents.h:264 +msgid "%C3>%O$1%C3<%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:243 src/common/textevents.h:318 +#: src/common/textevents.h:324 src/common/textevents.h:327 +msgid "-%C10-%C11-%O$t$1%O" +msgstr "" + +#: src/common/textevents.h:246 +msgid "-%C10-%C11-%O$tMOTD Skipped." +msgstr "" + +#: src/common/textevents.h:249 +msgid "-%C10-%C11-%O$t$1 already in use. Retrying with $2.." +msgstr "" + +#: src/common/textevents.h:252 +msgid "-%C10-%C11-%O$tNickname already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:255 +msgid "-%C10-%C11-%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:258 +msgid "-%C10-%C11-%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:261 +msgid "%C12-%C13$1%C12-%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:267 +msgid "-%C10-%C11-%O$tNotify list is empty." +msgstr "" + +#: src/common/textevents.h:270 +msgid "%C08,02 %B-- Notify List --------------- %O" +msgstr "" + +#: src/common/textevents.h:273 +msgid "-%C10-%C11-%O$t$1 users in notify list." +msgstr "" + +#: src/common/textevents.h:276 +msgid "-%C10-%C11-%O$tNotify: $1 is offline ($2)." +msgstr "" + +#: src/common/textevents.h:279 +msgid "-%C10-%C11-%O$tNotify: $1 is online ($2)." +msgstr "" + +#: src/common/textevents.h:282 +msgid "<%C10-%C11-%O$t$1 %C14(%O$2%C14)%C has left $3" +msgstr "" + +#: src/common/textevents.h:285 +msgid "<%C10-%C11-%O$t$1 %C14(%O$2%C14)%C has left $3 %C14(%O$4%C14)%O" +msgstr "" + +#: src/common/textevents.h:288 +msgid "-%C10-%C11-%O$tPing reply from $1 : $2 second(s)" +msgstr "" + +#: src/common/textevents.h:291 +msgid "-%C10-%C11-%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:294 +msgid "%C12*%C13$1%C12*$t%O$2%O" +msgstr "" + +#: src/common/textevents.h:300 +msgid "-%C10-%C11-%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:303 +msgid "<%C10-%C11-%O$t$1 has quit %C14(%O$2%O%C14)%O" +msgstr "" + +#: src/common/textevents.h:306 +msgid "-%C10-%C11-%O$t$1 sets modes%B %C14[%O$2%B%C14]%O" +msgstr "" + +#: src/common/textevents.h:309 +msgid "%C12-%C13$1/Wallops%C12-%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:312 +msgid "-%C10-%C11-%O$tLooking up IP number for%C11 $1%O.." +msgstr "" + +#: src/common/textevents.h:315 +msgid "-%C10-%C11-%O$tConnected." +msgstr "" + +#: src/common/textevents.h:321 +msgid "-%C10-%C11-%O$tLooking up %C11$1%C.." +msgstr "" + +#: src/common/textevents.h:330 +msgid "-%C10-%C11-%O$tStopped previous connection attempt (pid=$1)" +msgstr "" + +#: src/common/textevents.h:333 +msgid "-%C10-%C11-%O$tTopic for %C11$1%C is %C11$2%O" +msgstr "" + +#: src/common/textevents.h:336 +msgid "-%C10-%C11-%O$tTopic for %C11$1%C set by %C11$2%C at %C11$3%O" +msgstr "" + +#: src/common/textevents.h:339 +msgid "-%C10-%C11-%O$t$1 has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:342 +msgid "-%C10-%C11-%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:345 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(User limit reached)." +msgstr "" + +#: src/common/textevents.h:348 +msgid "-%C10-%C11-%O$t%C11Users on $1:%C $2" +msgstr "" + +#: src/common/textevents.h:351 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %Cis away %C14(%O$2%O%C14)" +msgstr "" + +#: src/common/textevents.h:354 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%C $2" +msgstr "" + +#: src/common/textevents.h:357 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %CEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:360 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2" +msgstr "" + +#: src/common/textevents.h:363 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2 %C11$3%O" +msgstr "" + +#: src/common/textevents.h:366 +msgid "" +"-%C10-%C11-%O$t%C12[%O$1%C12] %Oreal user@host %C11$2%O, real IP %C11$3%O" +msgstr "" + +#: src/common/textevents.h:369 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O idle %C11$2%O" +msgstr "" + +#: src/common/textevents.h:372 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O idle %C11$2%O, signon: %C11$3%O" +msgstr "" + +#: src/common/textevents.h:375 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %C14(%O$2@$3%C14) %O: $4%O" +msgstr "" + +#: src/common/textevents.h:378 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O $2" +msgstr "" + +#: src/common/textevents.h:381 +msgid "-%C10-%C11>%O$t%BYou%B are now talking on %C11$2%O" +msgstr "" + +#: src/common/textevents.h:384 +msgid "-%C10-%C11-%O$tYou have left channel $3" +msgstr "" + +#: src/common/textevents.h:387 +msgid "-%C10-%C11-%O$tYou have left channel $3 %C14(%O$4%C14)%O" +msgstr "" + +#: src/common/textevents.h:390 +msgid "-%C10-%C11-%O$tYou have been kicked from $2 by $3 ($4%O)" +msgstr "" + +#: src/common/textevents.h:393 +msgid "-%C10-%C11-%O$tYou're inviting %C11$1%C to %C11$2%C (%C11$3%C)" +msgstr "" + +#: src/common/textevents.h:396 +msgid "%C6<%O$1%C6>%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:399 +msgid "-%C10-%C11-%O$tYou are now known as $2" +msgstr "" + +#: src/common/text.c:304 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:421 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:440 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" + +#: src/common/text.c:651 +#, fuzzy +msgid "Left message" +msgstr "መልእክቱ" + +#: src/common/text.c:652 +#, fuzzy +msgid "Right message" +msgstr "መልእክቱ" + +#: src/common/text.c:656 +msgid "The nick of the joining person" +msgstr "" + +#: src/common/text.c:657 +msgid "The channel being joined" +msgstr "" + +#: src/common/text.c:658 src/common/text.c:702 src/common/text.c:758 +msgid "The host of the person" +msgstr "" + +#: src/common/text.c:662 src/common/text.c:667 src/common/text.c:673 +#: src/common/text.c:740 src/common/text.c:864 src/common/text.c:871 +#: src/common/text.c:876 src/common/text.c:881 src/common/text.c:886 +#: src/common/text.c:892 src/common/text.c:897 src/common/text.c:901 +#: src/common/text.c:906 src/common/text.c:912 src/common/text.c:958 +#: src/common/text.c:967 src/common/text.c:972 src/common/text.c:977 +#: src/common/text.c:986 src/common/text.c:997 src/common/text.c:1004 +#: src/common/text.c:1010 src/common/text.c:1015 src/common/text.c:1020 +#: src/common/text.c:1027 src/common/text.c:1033 src/common/text.c:1039 +#: src/common/text.c:1044 src/common/text.c:1049 src/common/text.c:1053 +#: src/common/text.c:1059 src/common/text.c:1067 src/common/text.c:1101 +#: src/common/text.c:1106 +msgid "Nickname" +msgstr "ቅጽል ስም" + +#: src/common/text.c:663 +msgid "The action" +msgstr "" + +#: src/common/text.c:668 +msgid "The text" +msgstr "ጽሑፉ" + +#: src/common/text.c:669 +msgid "Mode char" +msgstr "" + +#: src/common/text.c:674 src/common/text.c:730 src/common/text.c:736 +#: src/common/text.c:741 +msgid "The message" +msgstr "መልእክቱ" + +#: src/common/text.c:678 src/common/text.c:745 +msgid "Old nickname" +msgstr "አሮጌ ቅጽል ስም" + +#: src/common/text.c:679 src/common/text.c:746 +msgid "New nickname" +msgstr "አዲስ ቅጽል ስም" + +#: src/common/text.c:683 +msgid "Nick of person who changed the topic" +msgstr "" + +#: src/common/text.c:684 src/common/text.c:690 src/fe-gtk/chanlist.c:599 +#: src/fe-gtk/chanlist.c:700 +msgid "Topic" +msgstr "ጉዳዩ" + +#: src/common/text.c:685 src/common/text.c:689 src/common/text.c:1121 +#: src/fe-gtk/chanlist.c:597 src/fe-gtk/chanlist.c:691 +#: src/fe-gtk/ignoregui.c:175 +msgid "Channel" +msgstr "ጣቢያ" + +#: src/common/text.c:694 src/common/text.c:752 +msgid "The nickname of the kicker" +msgstr "" + +#: src/common/text.c:695 src/common/text.c:750 +msgid "The person being kicked" +msgstr "" + +#: src/common/text.c:696 src/common/text.c:703 src/common/text.c:707 +#: src/common/text.c:712 src/common/text.c:751 src/common/text.c:759 +msgid "The channel" +msgstr "ጣቢያው ሰዓቱ" + +#: src/common/text.c:697 src/common/text.c:753 src/common/text.c:760 +msgid "The reason" +msgstr "" + +#: src/common/text.c:701 src/common/text.c:757 +msgid "The nick of the person leaving" +msgstr "" + +#: src/common/text.c:708 src/common/text.c:714 +msgid "The time" +msgstr "" + +#: src/common/text.c:713 +msgid "The creator" +msgstr "" + +#: src/common/text.c:718 +msgid "Nick" +msgstr "ቅጽል" + +#: src/common/text.c:719 src/common/text.c:973 +msgid "Reason" +msgstr "" + +#: src/common/text.c:720 src/common/text.c:866 src/common/text.c:948 +msgid "Host" +msgstr "እንግዳ ተቀባይ" + +#: src/common/text.c:724 src/common/text.c:729 src/common/text.c:734 +msgid "Who it's from" +msgstr "" + +#: src/common/text.c:725 +msgid "The time in x.x format (see below)" +msgstr "" + +#: src/common/text.c:735 src/common/text.c:776 +msgid "The Channel it's going to" +msgstr "" + +#: src/common/text.c:764 +msgid "The sound" +msgstr "ድምፁ" + +#: src/common/text.c:765 src/common/text.c:770 src/common/text.c:775 +msgid "The nick of the person" +msgstr "" + +#: src/common/text.c:769 src/common/text.c:774 +msgid "The CTCP event" +msgstr "" + +#: src/common/text.c:780 +msgid "The nick of the person who set the key" +msgstr "" + +#: src/common/text.c:781 +msgid "The key" +msgstr "ቁልፉ" + +#: src/common/text.c:785 +msgid "The nick of the person who set the limit" +msgstr "" + +#: src/common/text.c:786 +msgid "The limit" +msgstr "" + +#: src/common/text.c:790 +msgid "The nick of the person who did the op'ing" +msgstr "" + +#: src/common/text.c:791 +msgid "The nick of the person who has been op'ed" +msgstr "" + +#: src/common/text.c:795 +msgid "The nick of the person who has been halfop'ed" +msgstr "" + +#: src/common/text.c:796 +msgid "The nick of the person who did the halfop'ing" +msgstr "" + +#: src/common/text.c:800 +msgid "The nick of the person who did the voice'ing" +msgstr "" + +#: src/common/text.c:801 +msgid "The nick of the person who has been voice'ed" +msgstr "" + +#: src/common/text.c:805 +msgid "The nick of the person who did the banning" +msgstr "" + +#: src/common/text.c:806 src/common/text.c:833 +msgid "The ban mask" +msgstr "" + +#: src/common/text.c:810 +msgid "The nick who removed the key" +msgstr "" + +#: src/common/text.c:814 +msgid "The nick who removed the limit" +msgstr "" + +#: src/common/text.c:818 +msgid "The nick of the person of did the deop'ing" +msgstr "" + +#: src/common/text.c:819 +msgid "The nick of the person who has been deop'ed" +msgstr "" + +#: src/common/text.c:822 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:823 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "" + +#: src/common/text.c:827 +msgid "The nick of the person of did the devoice'ing" +msgstr "" + +#: src/common/text.c:828 +msgid "The nick of the person who has been devoice'ed" +msgstr "" + +#: src/common/text.c:832 +msgid "The nick of the person of did the unban'ing" +msgstr "" + +#: src/common/text.c:837 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:838 src/common/text.c:843 +msgid "The exempt mask" +msgstr "" + +#: src/common/text.c:842 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:847 +msgid "The nick of the person who did the invite" +msgstr "" + +#: src/common/text.c:848 src/common/text.c:853 +msgid "The invite mask" +msgstr "" + +#: src/common/text.c:852 +msgid "The nick of the person removed the invite" +msgstr "" + +#: src/common/text.c:857 +msgid "The nick of the person setting the mode" +msgstr "" + +#: src/common/text.c:858 +msgid "The mode's sign (+/-)" +msgstr "" + +#: src/common/text.c:859 +msgid "The mode letter" +msgstr "" + +#: src/common/text.c:860 +msgid "The channel it's being set on" +msgstr "" + +#: src/common/text.c:865 +msgid "Username" +msgstr "የተጠቃሚ ስም" + +#: src/common/text.c:867 +msgid "Full name" +msgstr "ሙሉ ስም" + +#: src/common/text.c:872 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:877 +msgid "Server Information" +msgstr "" + +#: src/common/text.c:882 src/common/text.c:887 +msgid "Idle time" +msgstr "" + +#: src/common/text.c:888 +msgid "Signon time" +msgstr "" + +#: src/common/text.c:893 +msgid "Away reason" +msgstr "" + +#: src/common/text.c:902 src/common/text.c:907 src/common/text.c:915 +#: src/common/text.c:1093 +msgid "Message" +msgstr "መልእክት" + +#: src/common/text.c:908 +#, fuzzy +msgid "Account" +msgstr "ትግባር" + +#: src/common/text.c:913 +msgid "Real user@host" +msgstr "" + +#: src/common/text.c:914 +msgid "Real IP" +msgstr "" + +#: src/common/text.c:919 src/common/text.c:928 src/common/text.c:934 +#: src/common/text.c:1116 +msgid "Channel Name" +msgstr "የጣቢያ ስም" + +#: src/common/text.c:923 src/common/text.c:1079 src/fe-gtk/textgui.c:383 +msgid "Text" +msgstr "ጽሑፍ" + +#: src/common/text.c:924 src/common/text.c:930 src/common/text.c:1117 +msgid "Server Name" +msgstr "የሰርቨር ስም" + +#: src/common/text.c:929 +msgid "Nick of person who invited you" +msgstr "" + +#: src/common/text.c:935 src/fe-gtk/chanlist.c:598 +msgid "Users" +msgstr "ተጠቃሚዎች" + +#: src/common/text.c:939 +msgid "Nickname in use" +msgstr "" + +#: src/common/text.c:940 +msgid "Nick being tried" +msgstr "" + +#: src/common/text.c:944 src/common/text.c:980 src/common/text.c:991 +#: src/common/text.c:998 src/common/text.c:1011 src/common/text.c:1028 +#: src/common/text.c:1128 +msgid "Error" +msgstr "ስህተት" + +#: src/common/text.c:949 src/common/text.c:1083 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:950 src/common/text.c:979 +msgid "Port" +msgstr "ፖርት" + +#: src/common/text.c:954 +msgid "PID" +msgstr "PID" + +#: src/common/text.c:962 +msgid "Channel name" +msgstr "የጣቢያን ስም" + +#: src/common/text.c:963 src/common/text.c:968 +msgid "Modes string" +msgstr "" + +#: src/common/text.c:978 src/common/text.c:1016 src/common/text.c:1021 +#: src/common/text.c:1062 +msgid "IP address" +msgstr "IP አድራሻ" + +#: src/common/text.c:984 src/common/text.c:1009 +msgid "DCC Type" +msgstr "DCC ዓይነት" + +#: src/common/text.c:985 src/common/text.c:990 src/common/text.c:995 +#: src/common/text.c:1002 src/common/text.c:1022 src/common/text.c:1026 +#: src/common/text.c:1032 src/common/text.c:1038 src/common/text.c:1045 +#: src/common/text.c:1054 src/common/text.c:1060 +msgid "Filename" +msgstr "የፋይል ስም" + +#: src/common/text.c:996 src/common/text.c:1003 +msgid "Destination filename" +msgstr "" + +#: src/common/text.c:1005 src/common/text.c:1034 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1040 +msgid "Pathname" +msgstr "የመተላለፊያ ስም" + +#: src/common/text.c:1055 src/fe-gtk/dccgui.c:483 src/fe-gtk/dccgui.c:633 +msgid "Position" +msgstr "ቦታ" + +#: src/common/text.c:1061 src/fe-gtk/dccgui.c:482 src/fe-gtk/dccgui.c:632 +msgid "Size" +msgstr "መጠን" + +#: src/common/text.c:1066 +msgid "DCC String" +msgstr "DCC ሐረግ" + +#: src/common/text.c:1071 +msgid "Number of notify items" +msgstr "" + +#: src/common/text.c:1075 +msgid "Servername" +msgstr "የሰርቨር ስም" + +#: src/common/text.c:1087 +msgid "Old Filename" +msgstr "አሮጌ የፋይል ስም" + +#: src/common/text.c:1088 +msgid "New Filename" +msgstr "አዲስ የፋይል ስም" + +#: src/common/text.c:1092 +msgid "Receiver" +msgstr "" + +#: src/common/text.c:1097 +msgid "Hostmask" +msgstr "" + +#: src/common/text.c:1102 +msgid "Hostname" +msgstr "የእንግዳ ተቀባይ ስም" + +#: src/common/text.c:1107 +msgid "The Packet" +msgstr "" + +#: src/common/text.c:1111 +msgid "Seconds" +msgstr "ሴኮንዶች" + +#: src/common/text.c:1115 +msgid "Nick of person who have been invited" +msgstr "" + +#: src/common/text.c:1122 +msgid "Banmask" +msgstr "" + +#: src/common/text.c:1123 +msgid "Who set the ban" +msgstr "" + +#: src/common/text.c:1124 +msgid "Ban time" +msgstr "" + +#: src/common/text.c:1162 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default" +msgstr "" + +#: src/common/text.c:1672 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" + +#: src/common/util.c:292 +msgid "Remote host closed socket" +msgstr "" + +#: src/common/util.c:295 +msgid "Connection refused" +msgstr "" + +#: src/common/util.c:298 +msgid "No route to host" +msgstr "" + +#: src/common/util.c:300 +msgid "Connection timed out" +msgstr "" + +#: src/common/util.c:302 +msgid "Cannot assign that address" +msgstr "" + +#: src/common/util.c:304 +msgid "Connection reset by peer" +msgstr "" + +#: src/common/util.c:733 +msgid "Andorra" +msgstr "አንዶራ" + +#: src/common/util.c:734 +msgid "United Arab Emirates" +msgstr "የተባበሩት አረብ ኤምሬትስ" + +#: src/common/util.c:735 +msgid "Afghanistan" +msgstr "አፍጋኒስታን" + +#: src/common/util.c:736 +msgid "Antigua and Barbuda" +msgstr "አንቲጓ እና ባሩዳ" + +#: src/common/util.c:737 +msgid "Anguilla" +msgstr "አንጉኢላ" + +#: src/common/util.c:738 +msgid "Albania" +msgstr "አልባኒያ" + +#: src/common/util.c:739 +msgid "Armenia" +msgstr "አርሜኒያ" + +#: src/common/util.c:740 +msgid "Netherlands Antilles" +msgstr "ኔዘርላንድስ አንቲልስ" + +#: src/common/util.c:741 +msgid "Angola" +msgstr "አንጐላ" + +#: src/common/util.c:742 +msgid "Antarctica" +msgstr "አንታርክቲካ" + +#: src/common/util.c:743 +msgid "Argentina" +msgstr "አርጀንቲና" + +#: src/common/util.c:744 +msgid "Reverse DNS" +msgstr "" + +#: src/common/util.c:745 +msgid "American Samoa" +msgstr "የአሜሪካ ሳሞአ" + +#: src/common/util.c:746 +msgid "Austria" +msgstr "ኦስትሪያ" + +#: src/common/util.c:747 +msgid "Nato Fiel" +msgstr "" + +#: src/common/util.c:748 +msgid "Australia" +msgstr "አውስትሬሊያ" + +#: src/common/util.c:749 +msgid "Aruba" +msgstr "አሩባ" + +#: src/common/util.c:750 +msgid "Azerbaijan" +msgstr "አዘርባጃን" + +#: src/common/util.c:751 +msgid "Bosnia and Herzegovina" +msgstr "ቦስኒያ እና ሄርዞጎቪኒያ" + +#: src/common/util.c:752 +msgid "Barbados" +msgstr "ባርቤዶስ" + +#: src/common/util.c:753 +msgid "Bangladesh" +msgstr "ባንግላዲሽ" + +#: src/common/util.c:754 +msgid "Belgium" +msgstr "ቤልጄም" + +#: src/common/util.c:755 +msgid "Burkina Faso" +msgstr "ቡርኪና ፋሶ" + +#: src/common/util.c:756 +msgid "Bulgaria" +msgstr "ቡልጌሪያ" + +#: src/common/util.c:757 +msgid "Bahrain" +msgstr "ባህሬን" + +#: src/common/util.c:758 +msgid "Burundi" +msgstr "ብሩንዲ" + +#: src/common/util.c:759 +msgid "Businesses" +msgstr "" + +#: src/common/util.c:760 +msgid "Benin" +msgstr "ቤኒን" + +#: src/common/util.c:761 +msgid "Bermuda" +msgstr "ቤርሙዳ" + +#: src/common/util.c:762 +msgid "Brunei Darussalam" +msgstr "ብሩኒ ዳሩሳላም" + +#: src/common/util.c:763 +msgid "Bolivia" +msgstr "ቦሊቪያ" + +#: src/common/util.c:764 +msgid "Brazil" +msgstr "ብራዚል" + +#: src/common/util.c:765 +msgid "Bahamas" +msgstr "ባሃማስ" + +#: src/common/util.c:766 +msgid "Bhutan" +msgstr "ቡህታን" + +#: src/common/util.c:767 +msgid "Bouvet Island" +msgstr "የቦውቬት ደሴት" + +#: src/common/util.c:768 +msgid "Botswana" +msgstr "ቦትስዋና" + +#: src/common/util.c:769 +msgid "Belarus" +msgstr "ቤላሩስ" + +#: src/common/util.c:770 +msgid "Belize" +msgstr "ቤሊዘ" + +#: src/common/util.c:771 +msgid "Canada" +msgstr "ካናዳ" + +#: src/common/util.c:772 +msgid "Cocos Islands" +msgstr "የኮኮስ ደሴቶች" + +#: src/common/util.c:773 +msgid "Central African Republic" +msgstr "የመካከለኛው አፍሪካ ሪፐብሊክ" + +#: src/common/util.c:774 +msgid "Congo" +msgstr "ኮንጐ" + +#: src/common/util.c:775 +msgid "Switzerland" +msgstr "ስዊዘርላንድ" + +#: src/common/util.c:776 +msgid "Cote D'ivoire" +msgstr "ኮት ዲቯር" + +#: src/common/util.c:777 +msgid "Cook Islands" +msgstr "ኩክ ደሴቶች" + +#: src/common/util.c:778 +msgid "Chile" +msgstr "ቺሊ" + +#: src/common/util.c:779 +msgid "Cameroon" +msgstr "ካሜሩን" + +#: src/common/util.c:780 +msgid "China" +msgstr "ቻይና" + +#: src/common/util.c:781 +msgid "Colombia" +msgstr "ኮሎምቢያ" + +#: src/common/util.c:782 +msgid "Internic Commercial" +msgstr "" + +#: src/common/util.c:783 +msgid "Costa Rica" +msgstr "ኮስታ ሪካ" + +#: src/common/util.c:784 +msgid "Former Czechoslovakia" +msgstr "የቀድሞው ቼኮዝሎቫኪያ" + +#: src/common/util.c:785 +msgid "Cuba" +msgstr "ኩባ" + +#: src/common/util.c:786 +msgid "Cape Verde" +msgstr "ኬፕ ቬርዴ" + +#: src/common/util.c:787 +msgid "Christmas Island" +msgstr "የገና ደሴቶች" + +#: src/common/util.c:788 +msgid "Cyprus" +msgstr "ሳይፕረስ" + +#: src/common/util.c:789 +msgid "Czech Republic" +msgstr "ቼክ ሪፑብሊክ" + +#: src/common/util.c:790 +msgid "Germany" +msgstr "ጀርመን" + +#: src/common/util.c:791 +msgid "Djibouti" +msgstr "ጂቡቲ" + +#: src/common/util.c:792 +msgid "Denmark" +msgstr "ዴንማርክ" + +#: src/common/util.c:793 +msgid "Dominica" +msgstr "ዶሚኒካ" + +#: src/common/util.c:794 +msgid "Dominican Republic" +msgstr "ዶሚኒክ ሪፑብሊክ" + +#: src/common/util.c:795 +msgid "Algeria" +msgstr "አልጄሪያ" + +#: src/common/util.c:796 +msgid "Ecuador" +msgstr "ኢኳዶር" + +#: src/common/util.c:797 +msgid "Educational Institution" +msgstr "" + +#: src/common/util.c:798 +msgid "Estonia" +msgstr "ኤስቶኒያ" + +#: src/common/util.c:799 +msgid "Egypt" +msgstr "ግብጽ" + +#: src/common/util.c:800 +msgid "Western Sahara" +msgstr "ምዕራባዊ ሳህራ" + +#: src/common/util.c:801 +msgid "Eritrea" +msgstr "ኤርትራ" + +#: src/common/util.c:802 +msgid "Spain" +msgstr "ስፔን" + +#: src/common/util.c:803 +msgid "Ethiopia" +msgstr "ኢትዮጵያ" + +#: src/common/util.c:804 +msgid "Finland" +msgstr "ፊንላንድ" + +#: src/common/util.c:805 +msgid "Fiji" +msgstr "ፊጂ" + +#: src/common/util.c:806 +msgid "Falkland Islands" +msgstr "የፎልክላንድ ደሴቶች" + +#: src/common/util.c:807 +msgid "Micronesia" +msgstr "ሚክሮኔዢያ" + +#: src/common/util.c:808 +msgid "Faroe Islands" +msgstr "የፋሮይ ደሴቶች" + +#: src/common/util.c:809 +msgid "France" +msgstr "ፈረንሳይ" + +#: src/common/util.c:810 +msgid "France, Metropolitan" +msgstr "የፈረንሳይ፣ ሜትሮ" + +#: src/common/util.c:811 +msgid "Gabon" +msgstr "ጋቦን" + +#: src/common/util.c:812 +msgid "Great Britain" +msgstr "ታላቋ ብሪታኒያ" + +#: src/common/util.c:813 +msgid "Grenada" +msgstr "ግሬናዳ" + +#: src/common/util.c:814 +msgid "Georgia" +msgstr "ጆርጂያ" + +#: src/common/util.c:815 +msgid "French Guiana" +msgstr "የፈረንሳይ ጉዊአና" + +#: src/common/util.c:816 +msgid "British Channel Isles" +msgstr "" + +#: src/common/util.c:817 +msgid "Ghana" +msgstr "ጋና" + +#: src/common/util.c:818 +msgid "Gibraltar" +msgstr "ጊብራልታር" + +#: src/common/util.c:819 +msgid "Greenland" +msgstr "ግሪንላንድ" + +#: src/common/util.c:820 +msgid "Gambia" +msgstr "ጋምቢያ" + +#: src/common/util.c:821 +msgid "Guinea" +msgstr "ጊኒ" + +#: src/common/util.c:822 +msgid "Government" +msgstr "መንግስት" + +#: src/common/util.c:823 +msgid "Guadeloupe" +msgstr "ጉዋደሉፕ" + +#: src/common/util.c:824 +msgid "Equatorial Guinea" +msgstr "ኢኳቶሪያል ጊኒ" + +#: src/common/util.c:825 +msgid "Greece" +msgstr "ግሪክ" + +#: src/common/util.c:826 +msgid "S. Georgia and S. Sandwich Isles." +msgstr "" + +#: src/common/util.c:827 +msgid "Guatemala" +msgstr "ጉዋቲማላ" + +#: src/common/util.c:828 +msgid "Guam" +msgstr "ጉዋም" + +#: src/common/util.c:829 +msgid "Guinea-Bissau" +msgstr "ጊኒ ቢሳዎ" + +#: src/common/util.c:830 +msgid "Guyana" +msgstr "ጉያና" + +#: src/common/util.c:831 +msgid "Hong Kong" +msgstr "ሆንግ ኮንግ" + +#: src/common/util.c:832 +msgid "Heard and McDonald Islands" +msgstr "የኧርድ እና የማክዶናልድ ደሴቶች" + +#: src/common/util.c:833 +msgid "Honduras" +msgstr "ሆንዱራስ" + +#: src/common/util.c:834 +msgid "Croatia" +msgstr "ክሮኤሽያ" + +#: src/common/util.c:835 +msgid "Haiti" +msgstr "ሀይቲ*" + +#: src/common/util.c:836 +msgid "Hungary" +msgstr "ሀንጋሪ" + +#: src/common/util.c:837 +msgid "Indonesia" +msgstr "ኢንዶኔዢያ" + +#: src/common/util.c:838 +msgid "Ireland" +msgstr "አየርላንድ" + +#: src/common/util.c:839 +msgid "Israel" +msgstr "እስራኤል" + +#: src/common/util.c:840 +msgid "India" +msgstr "ህንድ" + +#: src/common/util.c:841 +msgid "Informational" +msgstr "" + +#: src/common/util.c:842 +msgid "International" +msgstr "" + +#: src/common/util.c:843 +msgid "British Indian Ocean Territory" +msgstr "የብሪታኒያ ህንድ ውቂያኖስ ግዛት" + +#: src/common/util.c:844 +msgid "Iraq" +msgstr "ኢራቅ" + +#: src/common/util.c:845 +msgid "Iran" +msgstr "ኢራን" + +#: src/common/util.c:846 +msgid "Iceland" +msgstr "አይስላንድ" + +#: src/common/util.c:847 +msgid "Italy" +msgstr "ጣሊያን" + +#: src/common/util.c:848 +msgid "Jamaica" +msgstr "ጃማይካ" + +#: src/common/util.c:849 +msgid "Jordan" +msgstr "ጆርዳን" + +#: src/common/util.c:850 +msgid "Japan" +msgstr "ጃፓን" + +#: src/common/util.c:851 +msgid "Kenya" +msgstr "ኬንያ" + +#: src/common/util.c:852 +msgid "Kyrgyzstan" +msgstr "" + +#: src/common/util.c:853 +msgid "Cambodia" +msgstr "ካምቦዲያ" + +#: src/common/util.c:854 +msgid "Kiribati" +msgstr "ኪሪባቲ" + +#: src/common/util.c:855 +msgid "Comoros" +msgstr "ኮሞሮስ" + +#: src/common/util.c:856 +msgid "St. Kitts and Nevis" +msgstr "ቅዱስ ኪትስ እና ኔቪስ" + +#: src/common/util.c:857 +msgid "North Korea" +msgstr "ሰሜን ኮሪያ" + +#: src/common/util.c:858 +msgid "South Korea" +msgstr "ደቡብ ኮሪያ" + +#: src/common/util.c:859 +msgid "Kuwait" +msgstr "ክዌት" + +#: src/common/util.c:860 +msgid "Cayman Islands" +msgstr "ካይማን ደሴቶች" + +#: src/common/util.c:861 +msgid "Kazakhstan" +msgstr "ካዛኪስታን" + +#: src/common/util.c:862 +msgid "Laos" +msgstr "ላኦስ" + +#: src/common/util.c:863 +msgid "Lebanon" +msgstr "ሊባኖስ" + +#: src/common/util.c:864 +msgid "Saint Lucia" +msgstr "ሴንት ሉቺያ" + +#: src/common/util.c:865 +msgid "Liechtenstein" +msgstr "ሊችተንስታይን" + +#: src/common/util.c:866 +msgid "Sri Lanka" +msgstr "ሲሪላንካ" + +#: src/common/util.c:867 +msgid "Liberia" +msgstr "ላይቤሪያ" + +#: src/common/util.c:868 +msgid "Lesotho" +msgstr "ሌሶቶ" + +#: src/common/util.c:869 +msgid "Lithuania" +msgstr "ሊቱዌኒያ" + +#: src/common/util.c:870 +msgid "Luxembourg" +msgstr "ሉክሰምበርግ" + +#: src/common/util.c:871 +msgid "Latvia" +msgstr "ላትቪያ" + +#: src/common/util.c:872 +msgid "Libya" +msgstr "ሊቢያ" + +#: src/common/util.c:873 +msgid "Morocco" +msgstr "ሞሮኮ" + +#: src/common/util.c:874 +msgid "Monaco" +msgstr "ሞናኮ" + +#: src/common/util.c:875 +msgid "Moldova" +msgstr "ሞልዶቫ" + +#: src/common/util.c:876 +msgid "United States Medical" +msgstr "" + +#: src/common/util.c:877 +msgid "Madagascar" +msgstr "ማዳጋስካር" + +#: src/common/util.c:878 +msgid "Marshall Islands" +msgstr "ማርሻል አይላንድ" + +#: src/common/util.c:879 +msgid "Military" +msgstr "ወታደራዊ" + +#: src/common/util.c:880 +msgid "Macedonia" +msgstr "ማከዶኒያ" + +#: src/common/util.c:881 +msgid "Mali" +msgstr "ማሊ" + +#: src/common/util.c:882 +msgid "Myanmar" +msgstr "ማያንማር" + +#: src/common/util.c:883 +msgid "Mongolia" +msgstr "ሞንጎሊያ" + +#: src/common/util.c:884 +msgid "Macau" +msgstr "ማካዎ" + +#: src/common/util.c:885 +msgid "Northern Mariana Islands" +msgstr "የሰሜናዊ ማሪያና ደሴቶች" + +#: src/common/util.c:886 +msgid "Martinique" +msgstr "ማርቲኒክ" + +#: src/common/util.c:887 +msgid "Mauritania" +msgstr "ሞሪቴኒያ" + +#: src/common/util.c:888 +msgid "Montserrat" +msgstr "ሞንትሴራት" + +#: src/common/util.c:889 +msgid "Malta" +msgstr "ማልታ" + +#: src/common/util.c:890 +msgid "Mauritius" +msgstr "ማሩሸስ" + +#: src/common/util.c:891 +msgid "Maldives" +msgstr "ማልዲቭስ" + +#: src/common/util.c:892 +msgid "Malawi" +msgstr "ማላዊ" + +#: src/common/util.c:893 +msgid "Mexico" +msgstr "ሜክሲኮ" + +#: src/common/util.c:894 +msgid "Malaysia" +msgstr "ማሌዢያ" + +#: src/common/util.c:895 +msgid "Mozambique" +msgstr "ሞዛምቢክ" + +#: src/common/util.c:896 +msgid "Namibia" +msgstr "ናሚቢያ" + +#: src/common/util.c:897 +msgid "New Caledonia" +msgstr "ኒው ካሌዶኒያ" + +#: src/common/util.c:898 +msgid "Niger" +msgstr "ኒጀር" + +#: src/common/util.c:899 +msgid "Internic Network" +msgstr "" + +#: src/common/util.c:900 +msgid "Norfolk Island" +msgstr "ኖርፎልክ ደሴት" + +#: src/common/util.c:901 +msgid "Nigeria" +msgstr "ናይጄሪያ" + +#: src/common/util.c:902 +msgid "Nicaragua" +msgstr "ኒካራጓ" + +#: src/common/util.c:903 +msgid "Netherlands" +msgstr "ኔዘርላንድ" + +#: src/common/util.c:904 +msgid "Norway" +msgstr "ኖርዌ" + +#: src/common/util.c:905 +msgid "Nepal" +msgstr "ኔፓል" + +#: src/common/util.c:906 +msgid "Nauru" +msgstr "ናኡሩ" + +#: src/common/util.c:907 +msgid "Neutral Zone" +msgstr "" + +#: src/common/util.c:908 +msgid "Niue" +msgstr "ኒኡይ" + +#: src/common/util.c:909 +msgid "New Zealand" +msgstr "ኒው ዚላንድ" + +#: src/common/util.c:910 +msgid "Oman" +msgstr "ኦማን" + +#: src/common/util.c:911 +msgid "Internic Non-Profit Organization" +msgstr "" + +#: src/common/util.c:912 +msgid "Panama" +msgstr "ፓናማ" + +#: src/common/util.c:913 +msgid "Peru" +msgstr "ፔሩ" + +#: src/common/util.c:914 +msgid "French Polynesia" +msgstr "የፈረንሳይ ፖሊኔዢያ" + +#: src/common/util.c:915 +msgid "Papua New Guinea" +msgstr "ፓፑዋ ኒው ጊኒ" + +#: src/common/util.c:916 +msgid "Philippines" +msgstr "ፊሊፒንስ" + +#: src/common/util.c:917 +msgid "Pakistan" +msgstr "ፓኪስታን" + +#: src/common/util.c:918 +msgid "Poland" +msgstr "ፖላንድ" + +#: src/common/util.c:919 +msgid "St. Pierre and Miquelon" +msgstr "ቅዱስ ፒዬር እና ሚኩኤሎን" + +#: src/common/util.c:920 +msgid "Pitcairn" +msgstr "ፒትካኢርን" + +#: src/common/util.c:921 +msgid "Puerto Rico" +msgstr "ፖርታ ሪኮ" + +#: src/common/util.c:922 +msgid "Portugal" +msgstr "ፖርቱጋል" + +#: src/common/util.c:923 +msgid "Palau" +msgstr "ፓላው" + +#: src/common/util.c:924 +msgid "Paraguay" +msgstr "ፓራጓይ" + +#: src/common/util.c:925 +msgid "Qatar" +msgstr "ኳታር" + +#: src/common/util.c:926 +msgid "Reunion" +msgstr "ውህደት" + +#: src/common/util.c:927 +msgid "Romania" +msgstr "ሮሜኒያ" + +#: src/common/util.c:928 +msgid "Old School ARPAnet" +msgstr "" + +#: src/common/util.c:929 +msgid "Russian Federation" +msgstr "ራሺያ" + +#: src/common/util.c:930 +msgid "Rwanda" +msgstr "ሩዋንዳ" + +#: src/common/util.c:931 +msgid "Saudi Arabia" +msgstr "ሳውድአረቢያ" + +#: src/common/util.c:932 +msgid "Solomon Islands" +msgstr "ሰሎሞን ደሴት" + +#: src/common/util.c:933 +msgid "Seychelles" +msgstr "ሲሼልስ" + +#: src/common/util.c:934 +msgid "Sudan" +msgstr "ሱዳን" + +#: src/common/util.c:935 +msgid "Sweden" +msgstr "ስዊድን" + +#: src/common/util.c:936 +msgid "Singapore" +msgstr "ሲንጋፖር" + +#: src/common/util.c:937 +msgid "St. Helena" +msgstr "ሴንት ሄለና" + +#: src/common/util.c:938 +msgid "Slovenia" +msgstr "ስሎቬኒያ" + +#: src/common/util.c:939 +msgid "Svalbard and Jan Mayen Islands" +msgstr "የስቫልባርድ እና ዣን ማየን ደሴቶች" + +#: src/common/util.c:940 +msgid "Slovak Republic" +msgstr "ስሎቫክ ሪፐብሊክ" + +#: src/common/util.c:941 +msgid "Sierra Leone" +msgstr "ሴራሊዮን" + +#: src/common/util.c:942 +msgid "San Marino" +msgstr "ሳን ማሪኖ" + +#: src/common/util.c:943 +msgid "Senegal" +msgstr "ሴኔጋል" + +#: src/common/util.c:944 +msgid "Somalia" +msgstr "ሱማሌ" + +#: src/common/util.c:945 +msgid "Suriname" +msgstr "ሱሪናም" + +#: src/common/util.c:946 +msgid "Sao Tome and Principe" +msgstr "ሳኦ ቶሜ እና ፕሪንሲፔ" + +#: src/common/util.c:947 +msgid "Former USSR" +msgstr "" + +#: src/common/util.c:948 +msgid "El Salvador" +msgstr "ኤል ሳልቫዶር" + +#: src/common/util.c:949 +msgid "Syria" +msgstr "ሲሪያ" + +#: src/common/util.c:950 +msgid "Swaziland" +msgstr "ሱዋዚላንድ" + +#: src/common/util.c:951 +msgid "Turks and Caicos Islands" +msgstr "የቱርኮችና የካኢኮስ ደሴቶች" + +#: src/common/util.c:952 +msgid "Chad" +msgstr "ቻድ" + +#: src/common/util.c:953 +msgid "French Southern Territories" +msgstr "የፈረንሳይ ደቡባዊ ግዛቶች" + +#: src/common/util.c:954 +msgid "Togo" +msgstr "ቶጐ" + +#: src/common/util.c:955 +msgid "Thailand" +msgstr "ታይላንድ" + +#: src/common/util.c:956 +msgid "Tajikistan" +msgstr "ታጃኪስታን" + +#: src/common/util.c:957 +msgid "Tokelau" +msgstr "ቶክላው" + +#: src/common/util.c:958 +msgid "Turkmenistan" +msgstr "ቱርክሜኒስታን" + +#: src/common/util.c:959 +msgid "Tunisia" +msgstr "ቱኒዚያ" + +#: src/common/util.c:960 +msgid "Tonga" +msgstr "ቶንጋ" + +#: src/common/util.c:961 +msgid "East Timor" +msgstr "ምስራቅ ቲሞር" + +#: src/common/util.c:962 +msgid "Turkey" +msgstr "ቱርክ" + +#: src/common/util.c:963 +msgid "Trinidad and Tobago" +msgstr "ትሪኒዳድ እና ቶባጎ" + +#: src/common/util.c:964 +msgid "Tuvalu" +msgstr "ቱቫሉ" + +#: src/common/util.c:965 +msgid "Taiwan" +msgstr "ታይዋን" + +#: src/common/util.c:966 +msgid "Tanzania" +msgstr "ታንዛኒያ" + +#: src/common/util.c:967 +msgid "Ukraine" +msgstr "ዩክሬን" + +#: src/common/util.c:968 +msgid "Uganda" +msgstr "ዩጋንዳ" + +#: src/common/util.c:969 +msgid "United Kingdom" +msgstr "እንግሊዝ" + +#: src/common/util.c:970 +msgid "US Minor Outlying Islands" +msgstr "የአሜሪካ ራቅ ያሉ አናሳ ደሴቶች" + +#: src/common/util.c:971 +msgid "United States of America" +msgstr "አሜሪካ" + +#: src/common/util.c:972 +msgid "Uruguay" +msgstr "ኡራጓይ" + +#: src/common/util.c:973 +msgid "Uzbekistan" +msgstr "ዩዝበኪስታን" + +#: src/common/util.c:974 +msgid "Vatican City State" +msgstr "ቫቲካን ከተማ" + +#: src/common/util.c:975 +msgid "St. Vincent and the grenadines" +msgstr "ቅዱስ ቪንሴንት እና ግሬናዲንስ" + +#: src/common/util.c:976 +msgid "Venezuela" +msgstr "ቬንዙዌላ" + +#: src/common/util.c:977 +msgid "British Virgin Islands" +msgstr "የእንግሊዝ ድንግል ደሴቶች" + +#: src/common/util.c:978 +msgid "US Virgin Islands" +msgstr "የአሜሪካ ቨርጂን ደሴቶች" + +#: src/common/util.c:979 +msgid "Vietnam" +msgstr "ቬትናም" + +#: src/common/util.c:980 +msgid "Vanuatu" +msgstr "ቫኑአቱ" + +#: src/common/util.c:981 +msgid "Wallis and Futuna Islands" +msgstr "ዋሊስ እና ፉቱና ደሴቶች" + +#: src/common/util.c:982 +msgid "Samoa" +msgstr "ሳሞአ" + +#: src/common/util.c:983 +msgid "Yemen" +msgstr "የመን" + +#: src/common/util.c:984 +msgid "Mayotte" +msgstr "ሜይኦቴ" + +#: src/common/util.c:985 +msgid "Yugoslavia" +msgstr "ዩጎዝላቪያ" + +#: src/common/util.c:986 +msgid "South Africa" +msgstr "ደቡብ አፍሪካ" + +#: src/common/util.c:987 +msgid "Zambia" +msgstr "ዛምቢያ" + +#: src/common/util.c:988 +msgid "Zaire" +msgstr "ዛየር" + +#: src/common/util.c:989 +msgid "Zimbabwe" +msgstr "ዚምቧቤ" + +#: src/common/util.c:995 src/common/util.c:1005 src/fe-gtk/menu.c:503 +#: src/fe-gtk/menu.c:507 src/fe-gtk/menu.c:511 src/fe-gtk/menu.c:515 +#: src/fe-gtk/menu.c:519 +msgid "Unknown" +msgstr "ያልታወቀ" + +#: src/common/xchat.c:908 +msgid "Direct client-to-client" +msgstr "" + +#: src/common/xchat.c:909 +#, fuzzy +msgid "Send File" +msgstr "የድምፅ ፋይል፦" + +#: src/common/xchat.c:910 +msgid "Offer Chat" +msgstr "" + +#: src/common/xchat.c:911 +#, fuzzy +msgid "Abort Chat" +msgstr "ስለ X-ማውሪያ" + +#: src/common/xchat.c:912 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "ዝርያ" + +#: src/common/xchat.c:913 +#, fuzzy +msgid "Userinfo" +msgstr "ተጠቃሚ" + +#: src/common/xchat.c:914 +msgid "Clientinfo" +msgstr "" + +#: src/common/xchat.c:915 src/common/xchat.c:947 src/common/xchat.c:997 +msgid "Ping" +msgstr "" + +#: src/common/xchat.c:916 +msgid "Time" +msgstr "" + +#: src/common/xchat.c:917 +#, fuzzy +msgid "Finger" +msgstr "ኒጀር" + +#: src/common/xchat.c:918 +#, fuzzy +msgid "Oper" +msgstr "ክፈት" + +#: src/common/xchat.c:919 +msgid "Kill this user" +msgstr "" + +#: src/common/xchat.c:920 +msgid "Mode" +msgstr "" + +#: src/common/xchat.c:921 +msgid "Give Voice" +msgstr "" + +#: src/common/xchat.c:922 +msgid "Take Voice" +msgstr "" + +#: src/common/xchat.c:923 +msgid "Give Ops" +msgstr "" + +#: src/common/xchat.c:924 +msgid "Take Ops" +msgstr "" + +#: src/common/xchat.c:925 +msgid "Ignore" +msgstr "" + +#: src/common/xchat.c:926 +msgid "Ignore User" +msgstr "" + +#: src/common/xchat.c:927 +msgid "UnIgnore User" +msgstr "" + +#: src/common/xchat.c:928 +msgid "Kick/Ban" +msgstr "" + +#: src/common/xchat.c:929 src/common/xchat.c:981 +#, fuzzy +msgid "Kick" +msgstr "ቅጽል" + +#: src/common/xchat.c:930 src/common/xchat.c:931 src/common/xchat.c:932 +#: src/common/xchat.c:933 src/common/xchat.c:934 src/common/xchat.c:980 +#, fuzzy +msgid "Ban" +msgstr "ቡህታን" + +#: src/common/xchat.c:935 src/common/xchat.c:936 src/common/xchat.c:937 +#: src/common/xchat.c:938 +msgid "KickBan" +msgstr "" + +#: src/common/xchat.c:939 src/fe-gtk/dccgui.c:528 src/fe-gtk/dccgui.c:669 +msgid "Info" +msgstr "_መረጃ" + +#: src/common/xchat.c:940 +msgid "Who" +msgstr "" + +#: src/common/xchat.c:941 src/common/xchat.c:994 +msgid "WhoIs" +msgstr "" + +#: src/common/xchat.c:942 +msgid "DNS Lookup" +msgstr "" + +#: src/common/xchat.c:943 +#, fuzzy +msgid "Trace" +msgstr "ፈረንሳይ" + +#: src/common/xchat.c:944 +#, fuzzy +msgid "UserHost" +msgstr "ተጠቃሚዎች" + +#: src/common/xchat.c:945 +msgid "External" +msgstr "" + +#: src/common/xchat.c:946 +msgid "Traceroute" +msgstr "" + +#: src/common/xchat.c:948 +#, fuzzy +msgid "Telnet" +msgstr "አጥፉ" + +#: src/common/xchat.c:949 +msgid "Open Dialog Window" +msgstr "" + +#: src/common/xchat.c:961 +#, fuzzy +msgid "Disconnect" +msgstr "አገናኝ" + +#: src/common/xchat.c:962 +#, fuzzy +msgid "Reconnect" +msgstr "አገናኝ" + +#: src/common/xchat.c:963 +#, fuzzy +msgid "Leave Channel" +msgstr "ጣቢያ" + +#: src/common/xchat.c:964 +#, fuzzy +msgid "Join Channel..." +msgstr "ጣቢያ አትጫን" + +#: src/common/xchat.c:965 +msgid "Enter Channel to Join:" +msgstr "" + +#: src/common/xchat.c:966 +#, fuzzy +msgid "Server Links" +msgstr "የሰርቨር ዝርዝር..." + +#: src/common/xchat.c:967 +#, fuzzy +msgid "Ping Server" +msgstr "ሰርቨር" + +#: src/common/xchat.c:968 +#, fuzzy +msgid "Hide Version" +msgstr "ዝርያ" + +#: src/common/xchat.c:978 +#, fuzzy +msgid "Op" +msgstr "ክፈት" + +#: src/common/xchat.c:979 +msgid "DeOp" +msgstr "" + +#: src/common/xchat.c:982 +msgid "bye" +msgstr "" + +#: src/common/xchat.c:983 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "" + +#: src/common/xchat.c:984 +#, fuzzy +msgid "Sendfile" +msgstr "የድምፅ ፋይል፦" + +#: src/common/xchat.c:985 +msgid "Dialog" +msgstr "" + +#: src/common/xchat.c:995 +#, fuzzy +msgid "Send" +msgstr "ተልኳል" + +#: src/common/xchat.c:996 +#, fuzzy +msgid "Chat" +msgstr "ቻድ" + +#: src/common/xchat.c:998 src/fe-gtk/banlist.c:314 src/fe-gtk/search.c:117 +#: src/fe-gtk/urlgrab.c:200 +msgid "Clear" +msgstr "ሰርዝ" + +#: src/fe-gtk/about.c:102 +msgid "About X-Chat" +msgstr "ስለ X-ማውሪያ" + +#: src/fe-gtk/about.c:124 +msgid "A multiplatform IRC Client" +msgstr "" + +#: src/fe-gtk/ascii.c:131 +msgid "Character Chart" +msgstr "" + +#: src/fe-gtk/banlist.c:148 src/fe-gtk/banlist.c:232 +msgid "You must select some bans." +msgstr "" + +#: src/fe-gtk/banlist.c:248 src/fe-gtk/ignoregui.c:174 +msgid "Mask" +msgstr "" + +#: src/fe-gtk/banlist.c:249 src/fe-gtk/dccgui.c:485 +msgid "From" +msgstr "ከ" + +#: src/fe-gtk/banlist.c:250 +msgid "Date" +msgstr "ቀን" + +#: src/fe-gtk/banlist.c:294 +#, c-format +msgid "X-Chat: Ban List (%s)" +msgstr "" + +#: src/fe-gtk/banlist.c:310 +msgid "Unban" +msgstr "" + +#: src/fe-gtk/banlist.c:312 +msgid "Crop" +msgstr "" + +#: src/fe-gtk/banlist.c:316 +msgid "Refresh" +msgstr "በድጋሚ ጀምር" + +#: src/fe-gtk/chanlist.c:120 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "" + +#: src/fe-gtk/chanlist.c:536 +msgid "I can't save an empty list!" +msgstr "" + +#: src/fe-gtk/chanlist.c:539 src/fe-gtk/menu.c:931 +msgid "Select an output filename" +msgstr "" + +#: src/fe-gtk/chanlist.c:607 +#, c-format +msgid "X-Chat: Channel List (%s)" +msgstr "X-ማውሪያ፦ የጣቢያ ዝርዝር (%s)" + +#: src/fe-gtk/chanlist.c:622 +msgid "List display options:" +msgstr "" + +#: src/fe-gtk/chanlist.c:634 +#, fuzzy +msgid "Minimum Users:" +msgstr "በተቻለ መጠን ተጠቃሚዎች፦" + +#: src/fe-gtk/chanlist.c:649 +#, fuzzy +msgid "Maximum Users:" +msgstr "ከፍተኛ መጠን ተጠቃሚዎች፦" + +#: src/fe-gtk/chanlist.c:664 +msgid "Regex Match:" +msgstr "" + +#: src/fe-gtk/chanlist.c:685 +msgid "Apply Match to:" +msgstr "" + +#: src/fe-gtk/chanlist.c:709 +msgid "Apply" +msgstr "ተጠቀም" + +#: src/fe-gtk/chanlist.c:751 +msgid "Refresh the list" +msgstr "ዝርዝሩን አድስ" + +#: src/fe-gtk/chanlist.c:753 +msgid "Save the list" +msgstr "ዝርዝሩን አስቀምጥ" + +#: src/fe-gtk/chanlist.c:755 src/fe-gtk/menu.c:739 +msgid "Join Channel" +msgstr "ጣቢያ አትጫን" + +#: src/fe-gtk/dccgui.c:126 +#, c-format +msgid "Send file to %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:339 +#, c-format +msgid "" +" File: %s\n" +" To/From: %s\n" +" Size: %u\n" +" Port: %d\n" +" IP Number: %s\n" +"Start Time: %s Max CPS: %d\n" +msgstr "" + +#: src/fe-gtk/dccgui.c:372 +msgid "That file is not resumable." +msgstr "" + +#: src/fe-gtk/dccgui.c:376 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:383 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:387 +msgid "Cannot resume the same file from two people." +msgstr "" + +#: src/fe-gtk/dccgui.c:474 +msgid "MIME Type" +msgstr "የMIME ዓይነት" + +#: src/fe-gtk/dccgui.c:480 src/fe-gtk/dccgui.c:630 src/fe-gtk/dccgui.c:753 +#: src/fe-gtk/notifygui.c:110 +msgid "Status" +msgstr "ሁኔታ" + +#: src/fe-gtk/dccgui.c:481 src/fe-gtk/dccgui.c:631 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "ፋይል" + +#: src/fe-gtk/dccgui.c:484 src/fe-gtk/dccgui.c:635 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:494 +msgid "X-Chat: File Receive List" +msgstr "" + +#: src/fe-gtk/dccgui.c:522 src/fe-gtk/dccgui.c:668 src/fe-gtk/dccgui.c:783 +msgid "Abort" +msgstr "ውድቅ" + +#: src/fe-gtk/dccgui.c:524 src/fe-gtk/dccgui.c:784 +msgid "Accept" +msgstr "" + +#: src/fe-gtk/dccgui.c:526 +msgid "Resume" +msgstr "ቀጥል" + +#: src/fe-gtk/dccgui.c:530 +msgid "Open" +msgstr "ክፈት" + +#: src/fe-gtk/dccgui.c:634 +msgid "Ack" +msgstr "Ack" + +#: src/fe-gtk/dccgui.c:636 +msgid "To" +msgstr "ወደ" + +#: src/fe-gtk/dccgui.c:646 +msgid "X-Chat: File Send List" +msgstr "" + +#: src/fe-gtk/dccgui.c:754 +msgid "To/From" +msgstr "ወደ/ከ" + +#: src/fe-gtk/dccgui.c:755 +msgid "Recv" +msgstr "" + +#: src/fe-gtk/dccgui.c:756 +msgid "Sent" +msgstr "ተልኳል" + +#: src/fe-gtk/dccgui.c:757 +msgid "StartTime" +msgstr "" + +#: src/fe-gtk/dccgui.c:767 +msgid "X-Chat: DCC Chat List" +msgstr "X-ማውሪያ፦ የDCC ማውሪያ ዝርዝር" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*አዲስ*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "እኔ ያስተካክሉ" + +#: src/fe-gtk/editlist.c:305 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "ስም" + +#: src/fe-gtk/editlist.c:306 +msgid "Command" +msgstr "ትእዛዝ" + +#: src/fe-gtk/editlist.c:333 +msgid "Move Up" +msgstr "ወደላይ አንቀሳቅስ" + +#: src/fe-gtk/editlist.c:337 +msgid "Move Dn" +msgstr "ወደታች አንቀሳቅስ" + +#: src/fe-gtk/editlist.c:345 +msgid "Cancel" +msgstr "ተወው" + +#: src/fe-gtk/editlist.c:349 src/fe-gtk/textgui.c:464 src/fe-gtk/urlgrab.c:204 +msgid "Save" +msgstr "አስቀምጥ" + +#: src/fe-gtk/editlist.c:357 +msgid "Add New" +msgstr "አዲስ ጨምር" + +#: src/fe-gtk/editlist.c:361 src/fe-gtk/fkeys.c:746 src/fe-gtk/ignoregui.c:378 +msgid "Delete" +msgstr "አጥፉ" + +#: src/fe-gtk/editlist.c:369 +msgid "Sort" +msgstr "ቅደም ተከተል" + +#: src/fe-gtk/editlist.c:373 +msgid "Help" +msgstr "መረጃ" + +#: src/fe-gtk/fe-gtk.c:143 +#, fuzzy +msgid "Options" +msgstr "ትግባር" + +#: src/fe-gtk/fe-gtk.c:144 +msgid "DIRECTORY" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:145 +msgid "use a different config dir" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:146 +msgid "don't auto connect" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:147 +msgid "don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:148 +msgid "show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:214 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:617 +msgid "Search buffer is empty.\n" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:694 +#, c-format +msgid "%d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into " +"the entry box where you pressed the key sequence. Thus it can contain text " +"(which will be sent to the channel/person), commands or user commands. When " +"run all \\n characters in Data 1 are used to deliminate seperate commands so " +"it is possible to run more than one command. If you want a \\ in the actual " +"text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1 " +"to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page. If Data " +"1 is set to anything the page scrolls up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered to " +"the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "" +"The Last Command command sets the entry to contain the last command entered " +"- the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "" +"The Next Command command sets the entry to contain the next command entered " +"- the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the " +"last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set " +"to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:171 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command moves the front tab left by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command moves the front tab right by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command moves the current tab family to the left" +msgstr "" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the current tab family to the right" +msgstr "" + +#: src/fe-gtk/fkeys.c:181 +msgid "Push input line into history but doesn't send to server" +msgstr "" + +#: src/fe-gtk/fkeys.c:193 +msgid "There was an error loading key bindings configuration" +msgstr "" + +#: src/fe-gtk/fkeys.c:434 src/fe-gtk/fkeys.c:435 src/fe-gtk/fkeys.c:436 +#: src/fe-gtk/fkeys.c:437 src/fe-gtk/fkeys.c:719 src/fe-gtk/fkeys.c:725 +#: src/fe-gtk/fkeys.c:730 src/fe-gtk/maingui.c:804 src/fe-gtk/maingui.c:825 +#: src/fe-gtk/maingui.c:979 src/fe-gtk/maingui.c:1018 +#: src/fe-gtk/maingui.c:2360 +msgid "" +msgstr "<ምንም>" + +#: src/fe-gtk/fkeys.c:683 +msgid "Mod" +msgstr "" + +#: src/fe-gtk/fkeys.c:684 src/fe-gtk/fkeys.c:779 +msgid "Key" +msgstr "ቁልፍ" + +#: src/fe-gtk/fkeys.c:685 +msgid "Action" +msgstr "ትግባር" + +#: src/fe-gtk/fkeys.c:694 +msgid "X-Chat: Edit Key Bindings" +msgstr "" + +#: src/fe-gtk/fkeys.c:741 +msgid "Add new" +msgstr "አዲስ ጨምር" + +#: src/fe-gtk/fkeys.c:772 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:774 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:776 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:783 +msgid "Data 1" +msgstr "ዳታ 1" + +#: src/fe-gtk/fkeys.c:786 +msgid "Data 2" +msgstr "ዳታ 2" + +#: src/fe-gtk/fkeys.c:829 +msgid "Error opening keys config file\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1000 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1038 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1059 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1128 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" + +#: src/fe-gtk/gtkutil.c:146 +msgid "Cannot write to that file." +msgstr "" + +#: src/fe-gtk/gtkutil.c:148 +msgid "Cannot read that file." +msgstr "" + +#: src/fe-gtk/ignoregui.c:116 src/fe-gtk/ignoregui.c:279 +msgid "That mask already exists." +msgstr "" + +#: src/fe-gtk/ignoregui.c:176 src/fe-gtk/maingui.c:1473 +msgid "Private" +msgstr "" + +#: src/fe-gtk/ignoregui.c:177 +msgid "Notice" +msgstr "" + +#: src/fe-gtk/ignoregui.c:178 +msgid "CTCP" +msgstr "" + +#: src/fe-gtk/ignoregui.c:179 +msgid "DCC" +msgstr "" + +#: src/fe-gtk/ignoregui.c:180 +msgid "Invite" +msgstr "" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Unignore" +msgstr "" + +#: src/fe-gtk/ignoregui.c:299 +msgid "Enter mask to ignore:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:346 +msgid "X-Chat: Ignore list" +msgstr "" + +#: src/fe-gtk/ignoregui.c:353 +msgid "Ignore Stats:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Channel:" +msgstr "ጣቢያ፦" + +#: src/fe-gtk/ignoregui.c:362 +msgid "Private:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:363 +msgid "Notice:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:364 +msgid "CTCP:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:365 +msgid "Invite:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:376 src/fe-gtk/menu.c:1236 +msgid "New" +msgstr "አዲስ" + +#: src/fe-gtk/ignoregui.c:380 +#, fuzzy +msgid "Delete All" +msgstr "አጥፉ" + +#: src/fe-gtk/maingui.c:477 +#, c-format +msgid "Topic for %s is: %s" +msgstr "" + +#: src/fe-gtk/maingui.c:481 +msgid "No topic is set" +msgstr "" + +#: src/fe-gtk/maingui.c:878 +msgid "No other tabs open, quit xchat?" +msgstr "" + +#: src/fe-gtk/maingui.c:924 +msgid "Insert color code" +msgstr "" + +#: src/fe-gtk/maingui.c:966 src/fe-gtk/menu.c:1258 +msgid "Close Tab" +msgstr "መክፈቻን ዝጋ" + +#: src/fe-gtk/maingui.c:969 src/fe-gtk/menu.c:1388 +msgid "Detach Tab" +msgstr "መክፈቻን አለያይ" + +#: src/fe-gtk/maingui.c:984 +msgid "Beep on message" +msgstr "" + +#: src/fe-gtk/maingui.c:987 +msgid "Show join/part messages" +msgstr "" + +#: src/fe-gtk/maingui.c:989 +msgid "Color paste" +msgstr "" + +#: src/fe-gtk/maingui.c:999 +msgid "Go to" +msgstr "" + +#: src/fe-gtk/maingui.c:1191 +msgid "Some file transfers still active, quit xchat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1341 src/fe-gtk/maingui.c:1447 +msgid "User limit must be a number!\n" +msgstr "" + +#: src/fe-gtk/maingui.c:1469 +msgid "Topic Protection" +msgstr "" + +#: src/fe-gtk/maingui.c:1470 +msgid "No outside messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1471 +msgid "Secret" +msgstr "" + +#: src/fe-gtk/maingui.c:1472 +msgid "Invite Only" +msgstr "" + +#: src/fe-gtk/maingui.c:1474 +msgid "Moderated" +msgstr "" + +#: src/fe-gtk/maingui.c:1475 +msgid "Ban List" +msgstr "" + +#: src/fe-gtk/maingui.c:1477 +msgid "Keyword" +msgstr "ቁልፍ ቃላት" + +#: src/fe-gtk/maingui.c:1489 +msgid "User Limit" +msgstr "" + +#: src/fe-gtk/maingui.c:1505 +msgid "Close this tab/window" +msgstr "" + +#: src/fe-gtk/maingui.c:1602 +msgid "Show/Hide userlist" +msgstr "" + +#: src/fe-gtk/maingui.c:1712 +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 "" + +#: src/fe-gtk/maingui.c:1905 +msgid "Enter new nickname:" +msgstr "" + +#: src/fe-gtk/menu.c:141 +msgid "Host unknown" +msgstr "" + +#: src/fe-gtk/menu.c:502 +#, c-format +msgid "User: %s" +msgstr "ተጠቃሚ፦ %s" + +#: src/fe-gtk/menu.c:506 +#, c-format +msgid "Country: %s" +msgstr "አገር፦ %s" + +#: src/fe-gtk/menu.c:510 +#, c-format +msgid "Realname: %s" +msgstr "የውነት ስም፦ %s" + +#: src/fe-gtk/menu.c:514 +#, c-format +msgid "Server: %s" +msgstr "ሰርቨር፦ %s" + +#: src/fe-gtk/menu.c:518 +#, c-format +msgid "Last Msg: %s" +msgstr "የመጨረሻ መልዕክት፦ %s" + +#: src/fe-gtk/menu.c:603 +msgid "Menu Bar" +msgstr "ሜኑባር" + +#: src/fe-gtk/menu.c:604 +msgid "Topic Bar" +msgstr "ጉዳዩባር" + +#: src/fe-gtk/menu.c:608 +msgid "User List" +msgstr "የተጠቃሚ ዝርዝር" + +#: src/fe-gtk/menu.c:611 +msgid "Mode Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:617 +#, fuzzy +msgid "User List Buttons" +msgstr "የተጠቃሚ ዝርዝር" + +#: src/fe-gtk/menu.c:743 +msgid "Part Channel" +msgstr "" + +#: src/fe-gtk/menu.c:745 +msgid "Cycle Channel" +msgstr "" + +#: src/fe-gtk/menu.c:768 +msgid "X-Chat: User menu" +msgstr "X-ማውሪያ፦ የተጠቃሚ ሜኑ" + +#: src/fe-gtk/menu.c:777 +msgid "Edit This Menu..." +msgstr "ይህ ሜኑ ያስተካክሉ..." + +#: src/fe-gtk/menu.c:879 +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 "" + +#: src/fe-gtk/menu.c:1001 +msgid "Settings saved." +msgstr "" + +#: src/fe-gtk/menu.c:1038 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" + +#: src/fe-gtk/menu.c:1053 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" + +#: src/fe-gtk/menu.c:1062 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" + +#: src/fe-gtk/menu.c:1071 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" + +#: src/fe-gtk/menu.c:1081 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of X-Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1090 +msgid "X-Chat: User Defined Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1097 +msgid "X-Chat: Userlist Popup menu" +msgstr "" + +#: src/fe-gtk/menu.c:1104 +msgid "X-Chat: Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1111 +msgid "X-Chat: URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1130 +msgid "X-Chat: Userlist buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1137 +msgid "X-Chat: Dialog buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1144 +msgid "X-Chat: CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1232 +msgid "_X-Chat" +msgstr "_X-ማውሪያ" + +#: src/fe-gtk/menu.c:1233 +msgid "Server List..." +msgstr "የሰርቨር ዝርዝር..." + +#: src/fe-gtk/menu.c:1237 +msgid "Server Tab..." +msgstr "የሰርቨር መክፈቻ..." + +#: src/fe-gtk/menu.c:1238 +msgid "Channel Tab..." +msgstr "የጣቢያ መክፈቻ..." + +#: src/fe-gtk/menu.c:1239 +msgid "Server Window..." +msgstr "የሰርቨር መስኮት..." + +#: src/fe-gtk/menu.c:1240 +msgid "Channel Window..." +msgstr "የጣቢያ መስኮት..." + +#: src/fe-gtk/menu.c:1245 src/fe-gtk/menu.c:1247 +#, fuzzy +msgid "Load Plugin or Script..." +msgstr "የተጨማሪው ፕሮግራምን ጫን..." + +#: src/fe-gtk/menu.c:1251 +msgid "New Shell Tab..." +msgstr "" + +#: src/fe-gtk/menu.c:1260 +msgid "Quit" +msgstr "ውጣ" + +#: src/fe-gtk/menu.c:1262 +msgid "_IRC" +msgstr "_IRC" + +#: src/fe-gtk/menu.c:1263 +msgid "Invisible" +msgstr "" + +#: src/fe-gtk/menu.c:1264 +msgid "Receive Wallops" +msgstr "" + +#: src/fe-gtk/menu.c:1265 +msgid "Receive Server Notices" +msgstr "" + +#: src/fe-gtk/menu.c:1267 +msgid "Marked Away" +msgstr "" + +#: src/fe-gtk/menu.c:1269 +msgid "Auto Rejoin when Kicked" +msgstr "" + +#: src/fe-gtk/menu.c:1270 +msgid "Auto Reconnect to Server" +msgstr "" + +#: src/fe-gtk/menu.c:1271 +msgid "Never-give-up ReConnect" +msgstr "" + +#: src/fe-gtk/menu.c:1273 +msgid "Auto Open Dialog Windows" +msgstr "" + +#: src/fe-gtk/menu.c:1274 +msgid "Auto Accept Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1275 +msgid "Auto Accept Files" +msgstr "" + +#: src/fe-gtk/menu.c:1277 +msgid "_Server" +msgstr "_ሰርቨር" + +#: src/fe-gtk/menu.c:1279 +msgid "S_ettings" +msgstr "_ምርጫዎች" + +#: src/fe-gtk/menu.c:1280 +msgid "Preferences..." +msgstr "ምርጫዎች..." + +#: src/fe-gtk/menu.c:1282 +msgid "Lists" +msgstr "ዝርዝሮች" + +#: src/fe-gtk/menu.c:1283 +msgid "Auto Replace..." +msgstr "" + +#: src/fe-gtk/menu.c:1284 +msgid "CTCP Replies..." +msgstr "" + +#: src/fe-gtk/menu.c:1285 +msgid "Dialog Buttons..." +msgstr "" + +#: src/fe-gtk/menu.c:1286 +msgid "Key Bindings..." +msgstr "" + +#: src/fe-gtk/menu.c:1287 +msgid "Text Events..." +msgstr "" + +#: src/fe-gtk/menu.c:1288 +msgid "URL Handlers..." +msgstr "" + +#: src/fe-gtk/menu.c:1289 +msgid "User Commands..." +msgstr "" + +#: src/fe-gtk/menu.c:1290 +msgid "Userlist Buttons..." +msgstr "" + +#: src/fe-gtk/menu.c:1291 +msgid "Userlist Popup..." +msgstr "" + +#: src/fe-gtk/menu.c:1296 +msgid "Reload Settings" +msgstr "" + +#: src/fe-gtk/menu.c:1298 +msgid "Save Settings now" +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Save Settings on exit" +msgstr "" + +#: src/fe-gtk/menu.c:1302 +msgid "_Window" +msgstr "_መስኮት" + +#: src/fe-gtk/menu.c:1303 +msgid "Ban List..." +msgstr "" + +#: src/fe-gtk/menu.c:1304 +msgid "Channel List..." +msgstr "የጣቢያ ዝርዝር..." + +#: src/fe-gtk/menu.c:1305 +msgid "Character Chart..." +msgstr "" + +#: src/fe-gtk/menu.c:1306 +msgid "Direct Chat..." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "File Receive..." +msgstr "ፋይልን ተቀበል..." + +#: src/fe-gtk/menu.c:1308 +msgid "File Send..." +msgstr "ፋይልን ላክ..." + +#: src/fe-gtk/menu.c:1309 +msgid "Ignore List..." +msgstr "" + +#: src/fe-gtk/menu.c:1310 +msgid "Notify List..." +msgstr "" + +#: src/fe-gtk/menu.c:1311 +#, fuzzy +msgid "Plugins and Scripts..." +msgstr "የተጨማሪው ፕሮግራም ዝርዝር..." + +#: src/fe-gtk/menu.c:1312 +msgid "Raw Log..." +msgstr "" + +#: src/fe-gtk/menu.c:1313 +msgid "URL Grabber..." +msgstr "" + +#: src/fe-gtk/menu.c:1315 +msgid "C_lear Text" +msgstr "ጽሑፉ _ሰርዝ" + +#: src/fe-gtk/menu.c:1316 +msgid "Search Text..." +msgstr "ጽሑፉን አስስ..." + +#: src/fe-gtk/menu.c:1317 +msgid "Save Text..." +msgstr "ጽሑፉን አስቀምት..." + +#: src/fe-gtk/menu.c:1319 +msgid "_Help" +msgstr "_መረጃ" + +#: src/fe-gtk/menu.c:1320 +#, fuzzy +msgid "_Contents" +msgstr "አገናኝ" + +#: src/fe-gtk/menu.c:1321 +#, fuzzy +msgid "_About" +msgstr "ውድቅ" + +#: src/fe-gtk/menu.c:1390 +#, fuzzy +msgid "Attach Tab" +msgstr "መክፈቻን አለያይ" + +#: src/fe-gtk/notifygui.c:109 +msgid "User" +msgstr "ተጠቃሚ" + +#: src/fe-gtk/notifygui.c:111 +msgid "Server" +msgstr "ሰርቨር" + +#: src/fe-gtk/notifygui.c:112 +msgid "Last Seen" +msgstr "" + +#: src/fe-gtk/notifygui.c:149 +msgid "Offline" +msgstr "" + +#: src/fe-gtk/notifygui.c:169 +msgid "Never" +msgstr "በፍጹም" + +#: src/fe-gtk/notifygui.c:187 +msgid "Online" +msgstr "ኦንላይን" + +#: src/fe-gtk/notifygui.c:277 +msgid "Enter nickname to add:" +msgstr "" + +#: src/fe-gtk/notifygui.c:293 +msgid "X-Chat: Notify List" +msgstr "" + +#: src/fe-gtk/notifygui.c:306 src/fe-gtk/servlistgui.c:712 +msgid "Add" +msgstr "ጨምር" + +#: src/fe-gtk/notifygui.c:308 +msgid "Remove" +msgstr "አስወግድ" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:387 +msgid "Description" +msgstr "መግለጫ" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "" + +#: src/fe-gtk/plugingui.c:219 +#, fuzzy +msgid "X-Chat: Plugins and Scripts" +msgstr "የX-ማውሪያ ተጨማሪ ፕሮግራሞች" + +#: src/fe-gtk/plugingui.c:225 +msgid "_Load..." +msgstr "_ጫን..." + +#: src/fe-gtk/plugingui.c:228 +msgid "_UnLoad" +msgstr "_አትጫን" + +#: src/fe-gtk/plugingui.c:232 +#, fuzzy +msgid "_Close" +msgstr "ዝጋ" + +#: src/fe-gtk/rawlog.c:78 +msgid "Save rawlog" +msgstr "" + +#: src/fe-gtk/rawlog.c:94 +#, c-format +msgid "X-Chat: Rawlog (%s)" +msgstr "" + +#: src/fe-gtk/rawlog.c:123 +msgid "Clear rawlog" +msgstr "" + +#: src/fe-gtk/rawlog.c:126 +msgid "Save rawlog..." +msgstr "" + +#: src/fe-gtk/search.c:47 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "" + +#: src/fe-gtk/search.c:91 +msgid "X-Chat: Search" +msgstr "X-ማውሪያ፦ ፈልግ" + +#: src/fe-gtk/search.c:100 +msgid "Find:" +msgstr "ፈልግ፦" + +#: src/fe-gtk/search.c:114 +msgid "Find" +msgstr "ፈልግ" + +#: src/fe-gtk/search.c:119 +msgid "Close" +msgstr "ዝጋ" + +#: src/fe-gtk/servlistgui.c:161 +#, c-format +msgid "Settings for %s" +msgstr "የ%s ምርጫዎች" + +#: src/fe-gtk/servlistgui.c:202 src/fe-gtk/servlistgui.c:275 +msgid "New Network" +msgstr "አዲስ መረብ" + +#: src/fe-gtk/servlistgui.c:370 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "" + +#: src/fe-gtk/servlistgui.c:407 src/fe-gtk/servlistgui.c:437 +#, c-format +msgid "_Remove \"%s\"" +msgstr "_አስወግድ \"%s\"" + +#: src/fe-gtk/servlistgui.c:414 +msgid "_Add new server" +msgstr "አዲስ ሰርቨርን _ጨምር" + +#: src/fe-gtk/servlistgui.c:444 +#, c-format +msgid "Move \"%s\" _down" +msgstr "\"%s\"ን ወደ_ታች አንቀሳቅስ" + +#: src/fe-gtk/servlistgui.c:451 +#, c-format +msgid "Move \"%s\" _up" +msgstr "\"%s\"ን ወደ_ላይ አንቀሳቅስ" + +#: src/fe-gtk/servlistgui.c:462 +msgid "_Add new network" +msgstr "_አዲስ መረብ ጨምር" + +#: src/fe-gtk/servlistgui.c:826 +msgid "Global User Info" +msgstr "" + +#: src/fe-gtk/servlistgui.c:834 +msgid "Nick Names:" +msgstr "ቅጽል ስሞች፦" + +#: src/fe-gtk/servlistgui.c:853 src/fe-gtk/servlistgui.c:1056 +msgid "User Name:" +msgstr "የተጠቃሚ ስም፦" + +#: src/fe-gtk/servlistgui.c:866 src/fe-gtk/servlistgui.c:1058 +msgid "Real Name:" +msgstr "የውነት ስም፦" + +#: src/fe-gtk/servlistgui.c:908 +msgid "C_onnect" +msgstr "_አገናኝ" + +#: src/fe-gtk/servlistgui.c:916 +msgid "Connect in a _new tab" +msgstr "በአዲስ መክፈቻ _አገናኝ" + +#: src/fe-gtk/servlistgui.c:976 +msgid "Servers" +msgstr "ሰርቨሮች" + +#: src/fe-gtk/servlistgui.c:1014 +msgid "Character Set:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1054 +msgid "Nick Name:" +msgstr "ቅጽል ስምች፦" + +#: src/fe-gtk/servlistgui.c:1059 +msgid "Server Password:" +msgstr "የሰርቨር ሚስጢራዊ ቃል፦" + +#: src/fe-gtk/servlistgui.c:1061 +msgid "Join Channels:" +msgstr "ጣቢያዎች አትጫን፦" + +#: src/fe-gtk/servlistgui.c:1063 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1064 +msgid "Connect Command:" +msgstr "አገናኝ ትዕዛዝ" + +#: src/fe-gtk/servlistgui.c:1066 +msgid "" +"Command to execute after connecting. Can be used to authenticate to NickServ" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1074 +msgid "Cycle until connected" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1075 +msgid "Use global user info" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1076 +msgid "Use secure SSL" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1077 +msgid "Auto connect at startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1078 +msgid "Use a proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1079 +msgid "Accept invalid cert." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1088 +msgid "Settings for Selected Network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1128 +msgid "Edit mode" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1135 +msgid "Networks" +msgstr "መረቦች" + +#: src/fe-gtk/servlistgui.c:1180 +msgid "No server list on startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1207 +msgid "X-Chat: Server List" +msgstr "X-ማውሪያ፦ የሰርቨር ዝርዝር" + +#: src/fe-gtk/setup.c:80 +msgid "Font:" +msgstr "የፊደል ቅርጽ፦" + +#: src/fe-gtk/setup.c:81 +msgid "Background image:" +msgstr "የመደቡ ምስል፦" + +#: src/fe-gtk/setup.c:82 +msgid "Time stamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:83 +msgid "See strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:84 +msgid "Time stamp text" +msgstr "" + +#: src/fe-gtk/setup.c:85 +msgid "Transparent background" +msgstr "የሚያሳይ መደብ" + +#: src/fe-gtk/setup.c:86 +msgid "Indent nicks" +msgstr "" + +#: src/fe-gtk/setup.c:87 +msgid "Tint transparency" +msgstr "" + +#: src/fe-gtk/setup.c:88 +msgid "Colored nicks" +msgstr "" + +#: src/fe-gtk/setup.c:89 +msgid "Strip mIRC color" +msgstr "" + +#: src/fe-gtk/setup.c:90 +msgid "Scrollback lines:" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Tint red:" +msgstr "" + +#: src/fe-gtk/setup.c:92 +msgid "Tint green:" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Tint blue:" +msgstr "" + +#: src/fe-gtk/setup.c:99 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Automatic nick completion" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "" + +#: src/fe-gtk/setup.c:102 src/fe-gtk/setup.c:134 +msgid "Use the Text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Nick completion suffix:" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Off" +msgstr "አጥፋ" + +#: src/fe-gtk/setup.c:110 +msgid "Graph" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Info text" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Both" +msgstr "ሁለትም" + +#: src/fe-gtk/setup.c:118 +msgid "A-Z, Ops first" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:120 +msgid "Z-A, Ops last" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:122 +msgid "Unsorted" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Userlist sorted by:" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Double-click command:" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Show hostnames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Userlist buttons enabled" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Resizable userlist" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Track away-status on channels smaller than:" +msgstr "" + +#: src/fe-gtk/setup.c:142 +msgid "Windows" +msgstr "መስኮቶች" + +#: src/fe-gtk/setup.c:143 src/fe-gtk/setup.c:845 +msgid "Tabs" +msgstr "መክፈቻዎች" + +#: src/fe-gtk/setup.c:149 +msgid "Bottom" +msgstr "ወደ ታች" + +#: src/fe-gtk/setup.c:150 +msgid "Top" +msgstr "ወደ ላይ" + +#: src/fe-gtk/setup.c:151 +msgid "Left" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Right" +msgstr "" + +#: src/fe-gtk/setup.c:153 +msgid "Hidden" +msgstr "የተደበቀ" + +#: src/fe-gtk/setup.c:159 +msgid "Show tabs at:" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Open channels in:" +msgstr "" + +#: src/fe-gtk/setup.c:161 +msgid "Open dialogs in:" +msgstr "" + +#: src/fe-gtk/setup.c:162 +msgid "Open utilities in:" +msgstr "" + +#: src/fe-gtk/setup.c:162 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "" + +#: src/fe-gtk/setup.c:163 +msgid "Open tab for server messages" +msgstr "" + +#: src/fe-gtk/setup.c:164 +msgid "Open tab for server notices" +msgstr "" + +#: src/fe-gtk/setup.c:165 +msgid "Pop new tabs to front" +msgstr "" + +#: src/fe-gtk/setup.c:166 +msgid "Shorten tabs to:" +msgstr "" + +#: src/fe-gtk/setup.c:166 +msgid "letters." +msgstr "" + +#: src/fe-gtk/setup.c:172 +msgid "Download files to:" +msgstr "" + +#: src/fe-gtk/setup.c:173 +msgid "Move completed files to:" +msgstr "" + +#: src/fe-gtk/setup.c:174 +msgid "DCC IP address:" +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "First DCC send port:" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Last DCC send port:" +msgstr "" + +#: src/fe-gtk/setup.c:178 +msgid "(Leave ports at zero for full range)." +msgstr "" + +#: src/fe-gtk/setup.c:179 +msgid "Auto open DCC send list" +msgstr "" + +#: src/fe-gtk/setup.c:180 +msgid "Convert spaces to underscore" +msgstr "" + +#: src/fe-gtk/setup.c:181 +msgid "In filenames, before sending" +msgstr "" + +#: src/fe-gtk/setup.c:182 +msgid "Auto open DCC chat list" +msgstr "" + +#: src/fe-gtk/setup.c:183 +msgid "Save nickname in filenames" +msgstr "" + +#: src/fe-gtk/setup.c:184 +msgid "Auto open DCC receive list" +msgstr "" + +#: src/fe-gtk/setup.c:185 +msgid "Get my IP from IRC server" +msgstr "" + +#: src/fe-gtk/setup.c:186 +msgid "" +"/WHOIS yourself to find your real address. Use this if you have a 192.168.*." +"* address!" +msgstr "" + +#: src/fe-gtk/setup.c:187 +msgid "Max. send CPS:" +msgstr "" + +#: src/fe-gtk/setup.c:188 src/fe-gtk/setup.c:190 +msgid "Max. speed for one transfer" +msgstr "" + +#: src/fe-gtk/setup.c:189 +msgid "Max. receive CPS:" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Max. global send CPS:" +msgstr "" + +#: src/fe-gtk/setup.c:192 src/fe-gtk/setup.c:194 +msgid "Max. speed for all traffic" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Max. global receive CPS:" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "(Leave at zero for full speed file transfers)." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Default quit message:" +msgstr "" + +#: src/fe-gtk/setup.c:202 +msgid "Default part message:" +msgstr "" + +#: src/fe-gtk/setup.c:203 +msgid "Default away message:" +msgstr "" + +#: src/fe-gtk/setup.c:205 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "(Can be a text file relative to config dir)." +msgstr "" + +#: src/fe-gtk/setup.c:209 +msgid "Extra words to highlight on:" +msgstr "" + +#: src/fe-gtk/setup.c:210 +msgid "(Separate multiple words with commas)." +msgstr "" + +#: src/fe-gtk/setup.c:211 +msgid "Show away once" +msgstr "" + +#: src/fe-gtk/setup.c:211 +msgid "Show identical away messages only once" +msgstr "" + +#: src/fe-gtk/setup.c:212 +msgid "Beep on private messages" +msgstr "" + +#: src/fe-gtk/setup.c:213 +msgid "Automatically unmark away" +msgstr "" + +#: src/fe-gtk/setup.c:213 +msgid "Unmark yourself as away before sending messages" +msgstr "" + +#: src/fe-gtk/setup.c:214 +msgid "Beep on channel messages" +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Announce away messages" +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Announce your away messages to all channels" +msgstr "" + +#: src/fe-gtk/setup.c:216 +msgid "Beep on highlighted messages" +msgstr "" + +#: src/fe-gtk/setup.c:217 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:218 +msgid "Whois on notify" +msgstr "" + +#: src/fe-gtk/setup.c:218 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "" + +#: src/fe-gtk/setup.c:219 +msgid "Hide join/part messages" +msgstr "" + +#: src/fe-gtk/setup.c:219 +msgid "Hide channel join/part messages by default" +msgstr "" + +#: src/fe-gtk/setup.c:220 +msgid "Auto reconnect delay:" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Log filename mask:" +msgstr "" + +#: src/fe-gtk/setup.c:227 +#, c-format +msgid "(%s=Server %c=Channel %n=Network)." +msgstr "" + +#: src/fe-gtk/setup.c:228 +msgid "Log timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:229 +msgid "(See strftime manpage for details)." +msgstr "" + +#: src/fe-gtk/setup.c:230 +msgid "Enable logging of conversations" +msgstr "" + +#: src/fe-gtk/setup.c:231 +msgid "Insert timestamps in logs" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "(Disabled)" +msgstr "(የተበላሸ)" + +#: src/fe-gtk/setup.c:238 +msgid "Wingate" +msgstr "" + +#: src/fe-gtk/setup.c:239 +msgid "Socks4" +msgstr "" + +#: src/fe-gtk/setup.c:240 +msgid "Socks5" +msgstr "" + +#: src/fe-gtk/setup.c:241 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:247 +msgid "Address to bind to:" +msgstr "" + +#: src/fe-gtk/setup.c:248 +msgid "(Only useful for computers with multiple addresses)." +msgstr "" + +#: src/fe-gtk/setup.c:249 +#, fuzzy +msgid "Proxy server" +msgstr "ሰርቨር" + +#: src/fe-gtk/setup.c:250 +#, fuzzy +msgid "Hostname:" +msgstr "የእንግዳ ተቀባይ ስም" + +#: src/fe-gtk/setup.c:251 +#, fuzzy +msgid "Username:" +msgstr "የተጠቃሚ ስም" + +#: src/fe-gtk/setup.c:252 +#, fuzzy +msgid "Password:" +msgstr "የሰርቨር ሚስጢራዊ ቃል፦" + +#: src/fe-gtk/setup.c:253 +#, fuzzy +msgid "Port:" +msgstr "ፖርት" + +#: src/fe-gtk/setup.c:254 +#, fuzzy +msgid "Type:" +msgstr "DCC ዓይነት" + +#: src/fe-gtk/setup.c:256 +msgid "Authenticate to the proxy server (only HTTP)" +msgstr "" + +#: src/fe-gtk/setup.c:479 +msgid "Select an Image File" +msgstr "" + +#: src/fe-gtk/setup.c:506 +msgid "Select font" +msgstr "የፊደል ቅርጹ ምረጡ" + +#: src/fe-gtk/setup.c:576 +msgid "Browse..." +msgstr "ቃኝ..." + +#: src/fe-gtk/setup.c:720 +msgid "Select color" +msgstr "ቀለም ምረጡ" + +#: src/fe-gtk/setup.c:786 +msgid "mIRC colors:" +msgstr "የmIRC ቀለሞች፦" + +#: src/fe-gtk/setup.c:794 +msgid "Foreground:" +msgstr "ፊት ለፊት፦" + +#: src/fe-gtk/setup.c:795 +msgid "Background:" +msgstr "መደቡ፦" + +#: src/fe-gtk/setup.c:797 +msgid "Mark fore:" +msgstr "" + +#: src/fe-gtk/setup.c:798 +msgid "Mark back:" +msgstr "" + +#: src/fe-gtk/setup.c:800 +msgid "New Data:" +msgstr "አዲስ ዳታ፦" + +#: src/fe-gtk/setup.c:801 +msgid "New Message:" +msgstr "አዲስ መልእክት፦" + +#: src/fe-gtk/setup.c:802 +msgid "Highlight:" +msgstr "አቅልም፦" + +#: src/fe-gtk/setup.c:803 +msgid "Away User:" +msgstr "" + +#: src/fe-gtk/setup.c:841 +msgid "Interface" +msgstr "" + +#: src/fe-gtk/setup.c:842 +msgid "Text box" +msgstr "" + +#: src/fe-gtk/setup.c:843 +msgid "Input box" +msgstr "" + +#: src/fe-gtk/setup.c:844 +msgid "User list" +msgstr "የተጠቃሚ ዝርዝር" + +#: src/fe-gtk/setup.c:846 +msgid "Colors" +msgstr "ቀለሞች" + +#: src/fe-gtk/setup.c:848 +msgid "Chatting" +msgstr "ወሪ" + +#: src/fe-gtk/setup.c:849 +msgid "General" +msgstr "አጠቃላይ" + +#: src/fe-gtk/setup.c:850 +msgid "Logging" +msgstr "" + +#: src/fe-gtk/setup.c:852 +msgid "Network" +msgstr "መረብ" + +#: src/fe-gtk/setup.c:853 +msgid "Network setup" +msgstr "የመረብ ቅንጅት" + +#: src/fe-gtk/setup.c:854 +msgid "File transfers" +msgstr "" + +#: src/fe-gtk/setup.c:959 +msgid "Categories" +msgstr "ምድብ" + +#: src/fe-gtk/setup.c:1085 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" + +#: src/fe-gtk/setup.c:1112 +msgid "X-Chat: Preferences" +msgstr "X-ማውሪያ፦ ምርጫዎች" + +#: src/fe-gtk/textgui.c:184 +msgid "There was an error parsing the string" +msgstr "" + +#: src/fe-gtk/textgui.c:192 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:326 +msgid "Print Texts File" +msgstr "" + +#: src/fe-gtk/textgui.c:382 +msgid "Event" +msgstr "" + +#: src/fe-gtk/textgui.c:384 +msgid "Sound" +msgstr "ድምፅ" + +#: src/fe-gtk/textgui.c:386 +msgid "$ Number" +msgstr "$ ቍጥር" + +#: src/fe-gtk/textgui.c:396 +msgid "Edit Events" +msgstr "" + +#: src/fe-gtk/textgui.c:434 +msgid "Sound file: " +msgstr "የድምፅ ፋይል፦" + +#: src/fe-gtk/textgui.c:469 +msgid "Save As" +msgstr "በሌላ ስም አስቀምጥ" + +#: src/fe-gtk/textgui.c:474 +msgid "Load From" +msgstr "ከ...ጫን" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "ሁሉም ሙከራ" + +#: src/fe-gtk/urlgrab.c:97 +msgid "URL" +msgstr "" + +#: src/fe-gtk/urlgrab.c:147 +msgid "Select a file to save to" +msgstr "" + +#: src/fe-gtk/urlgrab.c:187 +msgid "X-Chat: URL Grabber" +msgstr "" + +#: src/fe-gtk/urlgrab.c:200 +#, fuzzy +msgid "Clear list" +msgstr "የተጠቃሚ ዝርዝር" + +#: src/fe-gtk/urlgrab.c:202 +msgid "Copy selected URL" +msgstr "" + +#: src/fe-gtk/urlgrab.c:202 +msgid "Copy" +msgstr "" + +#: src/fe-gtk/urlgrab.c:204 +msgid "Save list to a file" +msgstr "" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "" + +#~ msgid "Error String" +#~ msgstr "ስህተት ሐረግ" + +#, fuzzy +#~ msgid "Error name" +#~ msgstr "ስህተት" + +#~ msgid "Error string" +#~ msgstr "ስህተት ሐረግ" + +#~ msgid "Yes" +#~ msgstr "አዎ" + +#~ msgid "No" +#~ msgstr "አይ" + +#~ msgid "OK" +#~ msgstr "እሺ" + +#~ msgid "port" +#~ msgstr "ፖርት" + +#~ msgid "Load plugin..." +#~ msgstr "የተጨማሪው ፕሮግራምን ጫን..." + +#~ msgid "X-Chat Homepage..." +#~ msgstr "የX-ማውሪያ ማነሻ ገጽ..." + +#~ msgid "About X-Chat..." +#~ msgstr "ስለ X-ማውሪያ..." diff --git a/po/az.po b/po/az.po new file mode 100644 index 00000000..36389e21 --- /dev/null +++ b/po/az.po @@ -0,0 +1,4808 @@ +# translation of xchat-2.0.7pre1.po to Azerbaijani Turkish +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is put in the public domain. +# Metin Amiroff , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: xchat-2.0.7pre1\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2004-03-14 16:11+1100\n" +"PO-Revision-Date: 2004-03-12 22:22+0200\n" +"Last-Translator: Metin Amiroff \n" +"Language-Team: Azerbaijani \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/common/cfgfiles.c:342 +msgid "Cannot create ~/.xchat2" +msgstr "~/.xchat2 yaradıla bilmir" + +#: src/common/cfgfiles.c:639 +msgid "I'm busy" +msgstr "Məşğulam" + +#: src/common/cfgfiles.c:640 +msgid "Leaving" +msgstr "Gedirəm" + +#: src/common/cfgfiles.c:684 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"IRC-ni Ali İstifadəçi olaraq işlətmək dəlilikdir.\n" +" Xahiş edirik istifadəçi hesabı yaradın.\n" + +#: src/common/dcc.c:60 +msgid "Waiting" +msgstr "Gözləyir" + +#: src/common/dcc.c:61 +msgid "Active" +msgstr "Fəal" + +#: src/common/dcc.c:62 +msgid "Failed" +msgstr "Bacarılmadı" + +#: src/common/dcc.c:63 +msgid "Done" +msgstr "Oldu" + +#: src/common/dcc.c:64 +msgid "Connect" +msgstr "Bağlan" + +#: src/common/dcc.c:65 +msgid "Aborted" +msgstr "Ləğv Edildi" + +#: src/common/dcc.c:1254 +#, c-format +msgid "Cannot access %s\n" +msgstr "%s ünvanına yetişilə bilmir\n" + +#: src/common/dcc.c:1849 +msgid "No active DCCs\n" +msgstr "Fəal DCC-lər yoxdur\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "BƏLİ " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "XEYİR " + +#: src/common/ignore.c:373 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "" + +#: src/common/ignore.c:398 +#, c-format +msgid "You are being MSG flooded from %s, setting autodialog OFF.\n" +msgstr "" + +#: src/common/notify.c:400 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s xətdədir\n" + +#: src/common/notify.c:402 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s xətdə deyil\n" + +#: src/common/outbound.c:70 +msgid "No channel joined. Try /join #\n" +msgstr "Heç bir kanalda deyilsiniz. /join # əmrini verin\n" + +#: src/common/outbound.c:76 +msgid "Not connected. Try /server []\n" +msgstr "Bağlı deyilsiniz. /server [] əmrini verin\n" + +#: src/common/outbound.c:1356 +msgid "I need /bin/sh to run!\n" +msgstr "/bin/sh əmrini icra etməliyəm!\n" + +#: src/common/outbound.c:1597 +msgid "" +"\n" +"Commands Available:\n" +"\n" +" " +msgstr "" +"\n" +"Mövcud Əmrlər:\n" +"\n" +" " + +#: src/common/outbound.c:1632 +msgid "" +"\n" +"\n" +"Type /HELP for more information, or /HELP -l\n" +"\n" +msgstr "" +"\n" +"\n" +"Daha çox mə'lumat üçün /HELP <əmr> ya da or /HELP -l yazın\n" +"\n" + +#: src/common/outbound.c:1633 +msgid "" +"User defined commands:\n" +"\n" +" " +msgstr "" +"İstifadəçi tə'yinli əmrlər:\n" +"\n" +" " + +#: src/common/outbound.c:1725 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "" + +#: src/common/outbound.c:2435 +msgid "No such plugin found.\n" +msgstr "" + +#: src/common/outbound.c:2440 src/fe-gtk/plugingui.c:182 +msgid "That plugin is refusing to unload.\n" +msgstr "" + +#: src/common/outbound.c:2585 +msgid "ADDBUTTON , adds a button under the user-list" +msgstr "" + +#: src/common/outbound.c:2587 +msgid "ALLCHAN , sends a command to all channels you're in" +msgstr "" + +#: src/common/outbound.c:2589 +msgid "ALLSERV , sends a command to all servers you're in" +msgstr "" + +#: src/common/outbound.c:2590 +msgid "AWAY [], sets you away" +msgstr "" + +#: src/common/outbound.c:2592 +msgid "" +"BAN [], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "" + +#: src/common/outbound.c:2594 +msgid "CLEAR, Clears the current text window" +msgstr "" + +#: src/common/outbound.c:2595 +msgid "CLOSE, Closes the current window/tab" +msgstr "" + +#: src/common/outbound.c:2598 +msgid "COUNTRY , finds a country code, eg: au = australia" +msgstr "" + +#: src/common/outbound.c:2600 +msgid "" +"CTCP , send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:2602 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "" + +#: src/common/outbound.c:2604 +msgid "" +"\n" +"DCC GET - accept an offered file\n" +"DCC SEND [-maxcps=#] [file] - send a file to someone\n" +"DCC LIST - show DCC list\n" +"DCC CHAT - offer DCC CHAT to someone\n" +"DCC CLOSE example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:2614 +msgid "" +"DEHOP , removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2616 +msgid "DELBUTTON , deletes a button from under the user-list" +msgstr "" + +#: src/common/outbound.c:2618 +msgid "" +"DEOP , removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:2620 +msgid "" +"DEVOICE , removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:2621 +msgid "DISCON, Disconnects from server" +msgstr "" + +#: src/common/outbound.c:2622 +msgid "DNS , Finds a users IP number" +msgstr "" + +#: src/common/outbound.c:2623 +msgid "ECHO , Prints text locally" +msgstr "" + +#: src/common/outbound.c:2626 +msgid "" +"EXEC [-o] , runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "" + +#: src/common/outbound.c:2628 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:2631 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:2633 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:2634 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:2638 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:2640 +msgid "GATE [], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:2646 +msgid "HOP , gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2648 +msgid "" +"IGNORE \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 "" + +#: src/common/outbound.c:2655 +msgid "" +"INVITE [], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2656 +msgid "JOIN , joins the channel" +msgstr "" + +#: src/common/outbound.c:2658 +msgid "KICK , kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2660 +msgid "" +"KICKBAN , bans then kicks the nick from the current channel (needs " +"chanop)" +msgstr "" + +#: src/common/outbound.c:2663 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:2665 +msgid "LASTLOG , searches for a string in the buffer" +msgstr "" + +#: src/common/outbound.c:2667 +msgid "LOAD , loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:2670 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2672 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2674 +msgid "" +"ME , sends the action to the current channel (actions are written in " +"the 3rd person, like /me jumps)" +msgstr "" + +#: src/common/outbound.c:2676 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2678 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2679 +msgid "MSG , sends a private message" +msgstr "" + +#: src/common/outbound.c:2682 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "" + +#: src/common/outbound.c:2684 +msgid "NCTCP , Sends a CTCP notice" +msgstr "" + +#: src/common/outbound.c:2685 +msgid "NEWSERVER []" +msgstr "" + +#: src/common/outbound.c:2686 +msgid "NICK , sets your nick" +msgstr "" + +#: src/common/outbound.c:2689 +msgid "" +"NOTICE , sends a notice. Notices are a type of " +"message that should be auto reacted to" +msgstr "" + +#: src/common/outbound.c:2691 +msgid "NOTIFY [], lists your notify list or adds someone to it" +msgstr "" + +#: src/common/outbound.c:2693 +msgid "OP , gives chanop status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2695 +msgid "" +"PART [] [], leaves the channel, by default the current one" +msgstr "" + +#: src/common/outbound.c:2697 +msgid "PING , CTCP pings nick or channel" +msgstr "" + +#: src/common/outbound.c:2699 +msgid "QUERY , opens up a new privmsg window to someone" +msgstr "" + +#: src/common/outbound.c:2701 +msgid "QUIT [], disconnects from the current server" +msgstr "" + +#: src/common/outbound.c:2703 +msgid "QUOTE , sends the text in raw form to the server" +msgstr "" + +#: src/common/outbound.c:2706 +msgid "" +"RECONNECT [-ssl] [] [] [], Can be called just as /" +"RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:2709 +msgid "" +"RECONNECT [] [] [], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" + +#: src/common/outbound.c:2711 +msgid "" +"RECV , send raw data to xchat, as if it was received from the irc " +"server" +msgstr "" + +#: src/common/outbound.c:2714 +msgid "SAY , sends the text to the object in the current window" +msgstr "" + +#: src/common/outbound.c:2717 +msgid "SERVCHAN [-ssl] , connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:2720 +msgid "SERVCHAN , connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:2724 +msgid "" +"SERVER [-ssl] [] [], connects to a server, the " +"default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" + +#: src/common/outbound.c:2727 +msgid "" +"SERVER [] [], connects to a server, the default port " +"is 6667" +msgstr "" + +#: src/common/outbound.c:2729 +msgid "SET []" +msgstr "" + +#: src/common/outbound.c:2732 +msgid "" +"TOPIC [], sets the topic if one is given, else shows the current topic" +msgstr "" + +#: src/common/outbound.c:2734 +msgid "UNBAN [...], unbans the specified masks." +msgstr "" + +#: src/common/outbound.c:2735 +msgid "UNIGNORE [QUIET]" +msgstr "" + +#: src/common/outbound.c:2736 +msgid "UNLOAD , unloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:2739 +msgid "VOICE , gives voice status to someone (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2741 +msgid "WALLCHAN , writes the message to all channels" +msgstr "" + +#: src/common/outbound.c:2743 +msgid "" +"WALLCHOP , sends the message to all chanops on the current channel" +msgstr "" + +#: src/common/outbound.c:2776 +#, c-format +msgid "Usage: %s\n" +msgstr "İstifadə Qaydası: %s\n" + +#: src/common/outbound.c:2781 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Bu əmrlə əlaqəli yardım mövcud deyil.\n" + +#: src/common/outbound.c:2787 +msgid "No such command.\n" +msgstr "Belə əmr yoxdur.\n" + +#: src/common/outbound.c:3111 +msgid "Bad arguments for user command.\n" +msgstr "" + +#: src/common/outbound.c:3275 +msgid "Too many recursive usercommands, aborting." +msgstr "" + +#: src/common/outbound.c:3348 +msgid "Unknown Command. Try /help\n" +msgstr "Namə'lum Əmr. Yardım üçün /help əmrini verin\n" + +#: src/common/plugin.c:353 src/common/plugin.c:383 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "" + +#: src/common/server.c:888 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"%s qovşaq adı tapıla bilmir\n" +"IP qurğularınızı yoxlayın!\n" + +#: src/common/server.c:893 +msgid "Proxy traversal failed.\n" +msgstr "Vəkil traversalı bacarılmadı.\n" + +#: src/common/servlist.c:633 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "%s üstündəki növbəti vericiyə keçilir...\n" + +#: src/common/servlist.c:973 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" + +#: src/common/textevents.h:6 +msgid "-%C10-%C11-%O$t$1 added to notify list." +msgstr "" + +#: src/common/textevents.h:9 +msgid "-%C10-%C11-%O$t$1 Banlist: %C3$4 %C4$2 %C5$3%O" +msgstr "" + +#: src/common/textevents.h:12 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(You are banned)." +msgstr "" + +#: src/common/textevents.h:15 +msgid "-%C10-%C11-%O$t$1 is now known as $2" +msgstr "" + +#: src/common/textevents.h:18 +msgid "%C13*%O$t$1%O $2%O" +msgstr "" + +#: src/common/textevents.h:21 +msgid "%C13*%O$t%C8%B$1%B%O $2%O" +msgstr "" + +#: src/common/textevents.h:24 +msgid "-%C10-%C11-%O$t$1 sets ban on $2" +msgstr "" + +#: src/common/textevents.h:27 +msgid "-%C10-%C11-%O$tChannel $1 created on $2" +msgstr "" + +#: src/common/textevents.h:30 +msgid "" +"-%C10-%C11-%O$t%C11$1%O removes channel half-operator status from %C11$2" +msgstr "" + +#: src/common/textevents.h:33 +msgid "-%C10-%C11-%O$t%C11$1%O removes channel operator status from %C11$2" +msgstr "" + +#: src/common/textevents.h:36 +msgid "-%C10-%C11-%O$t%C11$1%O removes voice from %C11$2" +msgstr "" + +#: src/common/textevents.h:39 +msgid "-%C10-%C11-%O$t$1 sets exempt on $2" +msgstr "" + +#: src/common/textevents.h:42 +msgid "-%C10-%C11-%O$t%C11$1%O gives channel half-operator status to %C11$2" +msgstr "" + +#: src/common/textevents.h:45 +msgid "-%C10-%C11-%O$t$1 sets invite on $2" +msgstr "" + +#: src/common/textevents.h:48 +msgid "%UChannel Users Topic%O" +msgstr "%UKanalı İstifadəçi Mövzu%O" + +#: src/common/textevents.h:51 src/common/textevents.h:297 +msgid "%C2<%O$1%C2>%O$t$2%O" +msgstr "%C2<%O$1%C2>%O$t$2%O" + +#: src/common/textevents.h:54 +msgid "-%C10-%C11-%O$t$1 sets mode $2$3 $4" +msgstr "" + +#: src/common/textevents.h:57 +msgid "-%C10-%C11-%O$tChannel $1 modes: $2" +msgstr "" + +#: src/common/textevents.h:60 +msgid "%C2<%C8%B$1%B%C2>%O$t$2%O" +msgstr "%C2<%C8%B$1%B%C2>%O$t$2%O" + +#: src/common/textevents.h:63 +msgid "%C12-%C13$1/$2%C12-%O$t$3%O" +msgstr "%C12-%C13$1/$2%C12-%O$t$3%O" + +#: src/common/textevents.h:66 +msgid "-%C10-%C11-%O$t%C11$1%O gives channel operator status to %C11$2" +msgstr "" + +#: src/common/textevents.h:69 +msgid "-%C10-%C11-%O$t$1 removes exempt on $2" +msgstr "" + +#: src/common/textevents.h:72 +msgid "-%C10-%C11-%O$t$1 removes invite on $2" +msgstr "" + +#: src/common/textevents.h:75 +msgid "-%C10-%C11-%O$t$1 removes channel keyword" +msgstr "" + +#: src/common/textevents.h:78 +msgid "-%C10-%C11-%O$t$1 removes user limit" +msgstr "" + +#: src/common/textevents.h:81 +msgid "-%C10-%C11-%O$t$1 sets channel keyword to $2" +msgstr "" + +#: src/common/textevents.h:84 +msgid "-%C10-%C11-%O$t$1 sets channel limit to $2" +msgstr "" + +#: src/common/textevents.h:87 +msgid "-%C10-%C11-%O$t$1 removes ban on $2" +msgstr "" + +#: src/common/textevents.h:90 +msgid "-%C10-%C11-%O$t%C11$1%O gives voice to %C11$2" +msgstr "" + +#: src/common/textevents.h:93 +msgid "-%C10-%C11-%O$tConnected. Now logging in.." +msgstr "" + +#: src/common/textevents.h:96 +msgid "-%C10-%C11-%O$tConnecting to %C11$1 %C14(%C11$2%C14)%C port %C11$3%C.." +msgstr "" + +#: src/common/textevents.h:99 +msgid "-%C10-%C11-%O$tConnection failed. Error: $1" +msgstr "" + +#: src/common/textevents.h:102 +msgid "-%C10-%C11-%O$tReceived a CTCP $1 from $2" +msgstr "" + +#: src/common/textevents.h:105 +msgid "-%C10-%C11-%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "" + +#: src/common/textevents.h:108 +msgid "%C3>%O$1%C3<%O$tCTCP $2%O" +msgstr "%C3>%O$1%C3<%O$tCTCP $2%O" + +#: src/common/textevents.h:111 +msgid "-%C10-%C11-%O$tReceived a CTCP Sound $1 from $2" +msgstr "" + +#: src/common/textevents.h:114 +msgid "-%C10-%C11-%O$tDCC CHAT to %C11$1%O aborted." +msgstr "" + +#: src/common/textevents.h:117 +msgid "" +"-%C10-%C11-%O$tDCC CHAT connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "" + +#: src/common/textevents.h:120 +msgid "-%C10-%C11-%O$tDCC CHAT to %C11$1%O lost. $4." +msgstr "" + +#: src/common/textevents.h:123 +msgid "-%C10-%C11-%O$tReceived a DCC CHAT offer from $1" +msgstr "" + +#: src/common/textevents.h:126 +msgid "-%C10-%C11-%O$tOffering DCC CHAT to $1" +msgstr "" + +#: src/common/textevents.h:129 +msgid "-%C10-%C11-%O$tAlready offering CHAT to $1" +msgstr "" + +#: src/common/textevents.h:132 +msgid "-%C10-%C11-%O$tDCC $1 connect attempt to %C11$2%O failed (err=$3)." +msgstr "" + +#: src/common/textevents.h:135 +msgid "-%C10-%C11-%O$tReceived '$1%O' from $2" +msgstr "" + +#: src/common/textevents.h:138 +msgid "" +"%C8,2 Type To/From Status Size Pos File %O%010%B%" +"C9----------------------------------------------------%O" +msgstr "" + +#: src/common/textevents.h:141 +msgid "" +"-%C10-%C11-%O$tReceived a malformed DCC request from %C11$1%O.%010-%C10-%C11-" +"%O$tContents of packet: $2" +msgstr "" + +#: src/common/textevents.h:144 +msgid "-%C10-%C11-%O$tOffering %C11$1 %Cto %C11$2%O" +msgstr "" + +#: src/common/textevents.h:147 +msgid "-%C10-%C11-%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:150 +msgid "-%C10-%C11-%O$tDCC RECV %C11$2%O to %C11$1%O aborted." +msgstr "" + +#: src/common/textevents.h:153 +msgid "" +"-%C10-%C11-%O$tDCC RECV %C11$1%O from %C11$3%O complete %C14[%C11$4%O cps%" +"C14]%O." +msgstr "" + +#: src/common/textevents.h:156 +msgid "" +"-%C10-%C11-%O$tDCC RECV connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "" + +#: src/common/textevents.h:159 +msgid "-%C10-%C11-%O$tDCC RECV %C11$1%O from %C11$3%O failed. $4." +msgstr "" + +#: src/common/textevents.h:162 +msgid "-%C10-%C11-%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "" + +#: src/common/textevents.h:165 +msgid "" +"-%C10-%C11-%O$tThe file %C11$1%C already exists, saving it as %C11$2%O " +"instead." +msgstr "" + +#: src/common/textevents.h:168 +msgid "-%C10-%C11-%O$t%C11$1 %Chas requested to resume %C11$2 %Cfrom %C11$3%C." +msgstr "" + +#: src/common/textevents.h:171 +msgid "-%C10-%C11-%O$tDCC SEND %C11$2%O to %C11$1%O aborted." +msgstr "" + +#: src/common/textevents.h:174 +msgid "" +"-%C10-%C11-%O$tDCC SEND %C11$1%O to %C11$2%O complete %C14[%C11$3%O cps%C14]%" +"O." +msgstr "" + +#: src/common/textevents.h:177 +msgid "" +"-%C10-%C11-%O$tDCC SEND connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "" + +#: src/common/textevents.h:180 +msgid "-%C10-%C11-%O$tDCC SEND %C11$1%O to %C11$2%O failed. $3" +msgstr "" + +#: src/common/textevents.h:183 +msgid "-%C10-%C11-%O$t%C11$1 %Chas offered %C11$2 %C(%C11$3 %Cbytes)" +msgstr "" + +#: src/common/textevents.h:186 +msgid "-%C10-%C11-%O$tDCC $1 %C11$2 %Cto %C11$3 %Cstalled - aborting." +msgstr "" + +#: src/common/textevents.h:189 +msgid "-%C10-%C11-%O$tDCC $1 %C11$2 %Cto %C11$3 %Ctimed out - aborting." +msgstr "" + +#: src/common/textevents.h:192 +msgid "-%C10-%C11-%O$t$1 deleted from notify list." +msgstr "" + +#: src/common/textevents.h:195 +msgid "-%C10-%C11-%O$tDisconnected ($1)." +msgstr "-%C10-%C11-%O$tBağlantı kəsildi ($1)." + +#: src/common/textevents.h:198 +msgid "-%C10-%C11-%O$tFound your IP: [$1]" +msgstr "" + +#: src/common/textevents.h:201 +msgid "$1$t$2" +msgstr "$1$t$2" + +#: src/common/textevents.h:204 +msgid "%O%C11$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:207 +msgid "Ignore on %C11$1%O changed." +msgstr "" + +#: src/common/textevents.h:210 +msgid "%C08,02 %O" +msgstr "" +"%C08,02 %O" + +#: src/common/textevents.h:213 +msgid "%C08,02 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG %O" +msgstr "" +"%C08,02 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG %O" + +#: src/common/textevents.h:216 +msgid "%O%C11$1%O removed from ignore list." +msgstr "%O%C11$1%O rədd siyahısından silindi." + +#: src/common/textevents.h:219 +msgid " Ignore list is empty." +msgstr " Rədd siyahısı boşdur." + +#: src/common/textevents.h:222 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(Channel is invite only)." +msgstr "" + +#: src/common/textevents.h:225 +msgid "-%C10-%C11-%O$tYou have been invited to %C11$1%C by %C11$2%C (%C11$3%C)" +msgstr "" + +#: src/common/textevents.h:228 +msgid "-%C10-%C11>%O$t%B$1%B %C14(%C10$3%C14)%C has joined $2" +msgstr "" + +#: src/common/textevents.h:231 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(Requires keyword)." +msgstr "" + +#: src/common/textevents.h:234 +msgid "<%C10-%C11-%O$t$1 has kicked $2 from $3 ($4%O)" +msgstr "" + +#: src/common/textevents.h:237 +msgid "-%C10-%C11-%O$tYou have been killed by $1 ($2%O)" +msgstr "" + +#: src/common/textevents.h:240 src/common/textevents.h:264 +msgid "%C3>%O$1%C3<%O$t$2%O" +msgstr "%C3>%O$1%C3<%O$t$2%O" + +#: src/common/textevents.h:243 src/common/textevents.h:318 +#: src/common/textevents.h:324 src/common/textevents.h:327 +msgid "-%C10-%C11-%O$t$1%O" +msgstr "-%C10-%C11-%O$t$1%O" + +#: src/common/textevents.h:246 +msgid "-%C10-%C11-%O$tMOTD Skipped." +msgstr "" + +#: src/common/textevents.h:249 +msgid "-%C10-%C11-%O$t$1 already in use. Retrying with $2.." +msgstr "" + +#: src/common/textevents.h:252 +msgid "-%C10-%C11-%O$tNickname already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:255 +msgid "-%C10-%C11-%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:258 +msgid "-%C10-%C11-%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:261 +msgid "%C12-%C13$1%C12-%O$t$2%O" +msgstr "%C12-%C13$1%C12-%O$t$2%O" + +#: src/common/textevents.h:267 +msgid "-%C10-%C11-%O$tNotify list is empty." +msgstr "" + +#: src/common/textevents.h:270 +msgid "%C08,02 %B-- Notify List --------------- %O" +msgstr "" + +#: src/common/textevents.h:273 +msgid "-%C10-%C11-%O$t$1 users in notify list." +msgstr "" + +#: src/common/textevents.h:276 +msgid "-%C10-%C11-%O$tNotify: $1 is offline ($2)." +msgstr "" + +#: src/common/textevents.h:279 +msgid "-%C10-%C11-%O$tNotify: $1 is online ($2)." +msgstr "" + +#: src/common/textevents.h:282 +msgid "<%C10-%C11-%O$t$1 %C14(%O$2%C14)%C has left $3" +msgstr "" + +#: src/common/textevents.h:285 +msgid "<%C10-%C11-%O$t$1 %C14(%O$2%C14)%C has left $3 %C14(%O$4%C14)%O" +msgstr "" + +#: src/common/textevents.h:288 +msgid "-%C10-%C11-%O$tPing reply from $1 : $2 second(s)" +msgstr "" + +#: src/common/textevents.h:291 +msgid "-%C10-%C11-%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:294 +msgid "%C12*%C13$1%C12*$t%O$2%O" +msgstr "%C12*%C13$1%C12*$t%O$2%O" + +#: src/common/textevents.h:300 +msgid "-%C10-%C11-%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:303 +msgid "<%C10-%C11-%O$t$1 has quit %C14(%O$2%O%C14)%O" +msgstr "" + +#: src/common/textevents.h:306 +msgid "-%C10-%C11-%O$t$1 sets modes%B %C14[%O$2%B%C14]%O" +msgstr "" + +#: src/common/textevents.h:309 +msgid "%C12-%C13$1/Wallops%C12-%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:312 +msgid "-%C10-%C11-%O$tLooking up IP number for%C11 $1%O.." +msgstr "" + +#: src/common/textevents.h:315 +msgid "-%C10-%C11-%O$tConnected." +msgstr "" + +#: src/common/textevents.h:321 +msgid "-%C10-%C11-%O$tLooking up %C11$1%C.." +msgstr "" + +#: src/common/textevents.h:330 +msgid "-%C10-%C11-%O$tStopped previous connection attempt (pid=$1)" +msgstr "" + +#: src/common/textevents.h:333 +msgid "-%C10-%C11-%O$tTopic for %C11$1%C is %C11$2%O" +msgstr "" + +#: src/common/textevents.h:336 +msgid "-%C10-%C11-%O$tTopic for %C11$1%C set by %C11$2%C at %C11$3%O" +msgstr "" + +#: src/common/textevents.h:339 +msgid "-%C10-%C11-%O$t$1 has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:342 +msgid "-%C10-%C11-%O$tUnknown host. Maybe you misspelled it?" +msgstr "-%C10-%C11-%O$tNamə'lum qovşaq. Bəlkə onu səhv yazmışsınız?" + +#: src/common/textevents.h:345 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(User limit reached)." +msgstr "" + +#: src/common/textevents.h:348 +msgid "-%C10-%C11-%O$t%C11Users on $1:%C $2" +msgstr "" + +#: src/common/textevents.h:351 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %Cis away %C14(%O$2%O%C14)" +msgstr "" + +#: src/common/textevents.h:354 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%C $2" +msgstr "" + +#: src/common/textevents.h:357 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %CEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:360 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2" +msgstr "" + +#: src/common/textevents.h:363 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2 %C11$3%O" +msgstr "" + +#: src/common/textevents.h:366 +msgid "" +"-%C10-%C11-%O$t%C12[%O$1%C12] %Oreal user@host %C11$2%O, real IP %C11$3%O" +msgstr "" + +#: src/common/textevents.h:369 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O idle %C11$2%O" +msgstr "" + +#: src/common/textevents.h:372 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O idle %C11$2%O, signon: %C11$3%O" +msgstr "" + +#: src/common/textevents.h:375 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %C14(%O$2@$3%C14) %O: $4%O" +msgstr "" + +#: src/common/textevents.h:378 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O $2" +msgstr "" + +#: src/common/textevents.h:381 +msgid "-%C10-%C11>%O$t%BYou%B are now talking on %C11$2%O" +msgstr "" + +#: src/common/textevents.h:384 +msgid "-%C10-%C11-%O$tYou have left channel $3" +msgstr "" + +#: src/common/textevents.h:387 +msgid "-%C10-%C11-%O$tYou have left channel $3 %C14(%O$4%C14)%O" +msgstr "" + +#: src/common/textevents.h:390 +msgid "-%C10-%C11-%O$tYou have been kicked from $2 by $3 ($4%O)" +msgstr "" + +#: src/common/textevents.h:393 +msgid "-%C10-%C11-%O$tYou're inviting %C11$1%C to %C11$2%C (%C11$3%C)" +msgstr "" + +#: src/common/textevents.h:396 +msgid "%C6<%O$1%C6>%O$t$2%O" +msgstr "%C6<%O$1%C6>%O$t$2%O" + +#: src/common/textevents.h:399 +msgid "-%C10-%C11-%O$tYou are now known as $2" +msgstr "" + +#: src/common/text.c:304 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:421 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:440 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" + +#: src/common/text.c:651 +msgid "Left message" +msgstr "Sol ismarış" + +#: src/common/text.c:652 +msgid "Right message" +msgstr "Sağ ismarış" + +#: src/common/text.c:656 +msgid "The nick of the joining person" +msgstr "Daxil olan şəxsin ləqəbi" + +#: src/common/text.c:657 +msgid "The channel being joined" +msgstr "Daxil olunan kanal" + +#: src/common/text.c:658 src/common/text.c:702 src/common/text.c:758 +msgid "The host of the person" +msgstr "Şəxsin qovşağı" + +#: src/common/text.c:662 src/common/text.c:667 src/common/text.c:673 +#: src/common/text.c:740 src/common/text.c:864 src/common/text.c:871 +#: src/common/text.c:876 src/common/text.c:881 src/common/text.c:886 +#: src/common/text.c:892 src/common/text.c:897 src/common/text.c:901 +#: src/common/text.c:906 src/common/text.c:912 src/common/text.c:958 +#: src/common/text.c:967 src/common/text.c:972 src/common/text.c:977 +#: src/common/text.c:986 src/common/text.c:997 src/common/text.c:1004 +#: src/common/text.c:1010 src/common/text.c:1015 src/common/text.c:1020 +#: src/common/text.c:1027 src/common/text.c:1033 src/common/text.c:1039 +#: src/common/text.c:1044 src/common/text.c:1049 src/common/text.c:1053 +#: src/common/text.c:1059 src/common/text.c:1067 src/common/text.c:1101 +#: src/common/text.c:1106 +msgid "Nickname" +msgstr "Ləqəb" + +#: src/common/text.c:663 +msgid "The action" +msgstr "Gedişat" + +#: src/common/text.c:668 +msgid "The text" +msgstr "Mətn" + +#: src/common/text.c:669 +msgid "Mode char" +msgstr "Mod hərfi" + +#: src/common/text.c:674 src/common/text.c:730 src/common/text.c:736 +#: src/common/text.c:741 +msgid "The message" +msgstr "İsmarış" + +#: src/common/text.c:678 src/common/text.c:745 +msgid "Old nickname" +msgstr "Köhnə ləqəb" + +#: src/common/text.c:679 src/common/text.c:746 +msgid "New nickname" +msgstr "Yeni ləqəb" + +#: src/common/text.c:683 +msgid "Nick of person who changed the topic" +msgstr "Mövzunu dəyişdirən şəxsin ləqəbi" + +#: src/common/text.c:684 src/common/text.c:690 src/fe-gtk/chanlist.c:599 +#: src/fe-gtk/chanlist.c:700 +msgid "Topic" +msgstr "Mövzu" + +#: src/common/text.c:685 src/common/text.c:689 src/common/text.c:1121 +#: src/fe-gtk/chanlist.c:597 src/fe-gtk/chanlist.c:691 +#: src/fe-gtk/ignoregui.c:175 +msgid "Channel" +msgstr "Kanal" + +#: src/common/text.c:694 src/common/text.c:752 +msgid "The nickname of the kicker" +msgstr "Atanın ləqəbi" + +#: src/common/text.c:695 src/common/text.c:750 +msgid "The person being kicked" +msgstr "Atılanın ləqəbi" + +#: src/common/text.c:696 src/common/text.c:703 src/common/text.c:707 +#: src/common/text.c:712 src/common/text.c:751 src/common/text.c:759 +msgid "The channel" +msgstr "Kanal" + +#: src/common/text.c:697 src/common/text.c:753 src/common/text.c:760 +msgid "The reason" +msgstr "Səbəb" + +#: src/common/text.c:701 src/common/text.c:757 +msgid "The nick of the person leaving" +msgstr "Ayrılan şəxsin ləqəbi" + +#: src/common/text.c:708 src/common/text.c:714 +msgid "The time" +msgstr "Vaxt" + +#: src/common/text.c:713 +msgid "The creator" +msgstr "Yaradıcı" + +#: src/common/text.c:718 +msgid "Nick" +msgstr "Ləqəb" + +#: src/common/text.c:719 src/common/text.c:973 +msgid "Reason" +msgstr "Səbəb" + +#: src/common/text.c:720 src/common/text.c:866 src/common/text.c:948 +msgid "Host" +msgstr "Qovşaq" + +#: src/common/text.c:724 src/common/text.c:729 src/common/text.c:734 +msgid "Who it's from" +msgstr "Mənşəyi" + +#: src/common/text.c:725 +msgid "The time in x.x format (see below)" +msgstr "x.x şəklində vaxt (alta baxın)" + +#: src/common/text.c:735 src/common/text.c:776 +msgid "The Channel it's going to" +msgstr "Getdiyi kanal" + +#: src/common/text.c:764 +msgid "The sound" +msgstr "Səs" + +#: src/common/text.c:765 src/common/text.c:770 src/common/text.c:775 +msgid "The nick of the person" +msgstr "Şəxsin ləqəbi" + +#: src/common/text.c:769 src/common/text.c:774 +msgid "The CTCP event" +msgstr "CTCP hadisəsi" + +#: src/common/text.c:780 +msgid "The nick of the person who set the key" +msgstr "Üçarı seçən şəxsin ləqəbi" + +#: src/common/text.c:781 +msgid "The key" +msgstr "Açar" + +#: src/common/text.c:785 +msgid "The nick of the person who set the limit" +msgstr "Hüdudu seçən şəxsin ləqəbi" + +#: src/common/text.c:786 +msgid "The limit" +msgstr "Hüdud" + +#: src/common/text.c:790 +msgid "The nick of the person who did the op'ing" +msgstr "Oplayan şəxsin ləqəbi" + +#: src/common/text.c:791 +msgid "The nick of the person who has been op'ed" +msgstr "Oplanan şəxsin ləqəbi" + +#: src/common/text.c:795 +msgid "The nick of the person who has been halfop'ed" +msgstr "Yarı oplanan şəxsin ləqəbi" + +#: src/common/text.c:796 +msgid "The nick of the person who did the halfop'ing" +msgstr "Yarı oplayan şəxsin ləqəbi" + +#: src/common/text.c:800 +msgid "The nick of the person who did the voice'ing" +msgstr "Voice-layan şəxsin ləqəbi" + +#: src/common/text.c:801 +msgid "The nick of the person who has been voice'ed" +msgstr "Voice-lanan şəxsin ləqəbi" + +#: src/common/text.c:805 +msgid "The nick of the person who did the banning" +msgstr "Banlayan şəxsin ləqəbi" + +#: src/common/text.c:806 src/common/text.c:833 +msgid "The ban mask" +msgstr "Ban maskası" + +#: src/common/text.c:810 +msgid "The nick who removed the key" +msgstr "Açarı ləğv edənin ləqəbi" + +#: src/common/text.c:814 +msgid "The nick who removed the limit" +msgstr "Hüdüdu ləğv edənin ləqəbi" + +#: src/common/text.c:818 +msgid "The nick of the person of did the deop'ing" +msgstr "" + +#: src/common/text.c:819 +msgid "The nick of the person who has been deop'ed" +msgstr "" + +#: src/common/text.c:822 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "/" + +#: src/common/text.c:823 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "" + +#: src/common/text.c:827 +msgid "The nick of the person of did the devoice'ing" +msgstr "/" + +#: src/common/text.c:828 +msgid "The nick of the person who has been devoice'ed" +msgstr "" + +#: src/common/text.c:832 +msgid "The nick of the person of did the unban'ing" +msgstr "" + +#: src/common/text.c:837 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:838 src/common/text.c:843 +msgid "The exempt mask" +msgstr "Exempt maskası" + +#: src/common/text.c:842 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:847 +msgid "The nick of the person who did the invite" +msgstr "" + +#: src/common/text.c:848 src/common/text.c:853 +msgid "The invite mask" +msgstr "Dəvət maskası" + +#: src/common/text.c:852 +msgid "The nick of the person removed the invite" +msgstr "" + +#: src/common/text.c:857 +msgid "The nick of the person setting the mode" +msgstr "" + +#: src/common/text.c:858 +msgid "The mode's sign (+/-)" +msgstr "Modun işarəsi (+/-)" + +#: src/common/text.c:859 +msgid "The mode letter" +msgstr "Mod hərfi" + +#: src/common/text.c:860 +msgid "The channel it's being set on" +msgstr "" + +#: src/common/text.c:865 +msgid "Username" +msgstr "İstifadəçi adı" + +#: src/common/text.c:867 +msgid "Full name" +msgstr "Tam ad" + +#: src/common/text.c:872 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:877 +msgid "Server Information" +msgstr "Verici Haqqında" + +#: src/common/text.c:882 src/common/text.c:887 +msgid "Idle time" +msgstr "Passiv olma vaxtı" + +#: src/common/text.c:888 +msgid "Signon time" +msgstr "Giriş vaxtı" + +#: src/common/text.c:893 +msgid "Away reason" +msgstr "Uzaqlaşma səbəbi" + +#: src/common/text.c:902 src/common/text.c:907 src/common/text.c:915 +#: src/common/text.c:1093 +msgid "Message" +msgstr "İsmarış" + +#: src/common/text.c:908 +msgid "Account" +msgstr "Hesab" + +#: src/common/text.c:913 +msgid "Real user@host" +msgstr "Həqiqi istifadəçi@qovşaq" + +#: src/common/text.c:914 +msgid "Real IP" +msgstr "Həqiqi IP" + +#: src/common/text.c:919 src/common/text.c:928 src/common/text.c:934 +#: src/common/text.c:1116 +msgid "Channel Name" +msgstr "Kanal Adı" + +#: src/common/text.c:923 src/common/text.c:1079 src/fe-gtk/textgui.c:383 +msgid "Text" +msgstr "Mətn" + +#: src/common/text.c:924 src/common/text.c:930 src/common/text.c:1117 +msgid "Server Name" +msgstr "Verici Adı" + +#: src/common/text.c:929 +msgid "Nick of person who invited you" +msgstr "Sizi dəvət edən şəxsin ləqəbi" + +#: src/common/text.c:935 src/fe-gtk/chanlist.c:598 +msgid "Users" +msgstr "İstifadəçilər" + +#: src/common/text.c:939 +msgid "Nickname in use" +msgstr "Ləqəb istifadədədir" + +#: src/common/text.c:940 +msgid "Nick being tried" +msgstr "Ləqəb sınanır" + +#: src/common/text.c:944 src/common/text.c:980 src/common/text.c:991 +#: src/common/text.c:998 src/common/text.c:1011 src/common/text.c:1028 +#: src/common/text.c:1128 src/common/util.c:348 +msgid "Error" +msgstr "Xəta" + +#: src/common/text.c:949 src/common/text.c:1083 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:950 src/common/text.c:979 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:954 +msgid "PID" +msgstr "PID" + +#: src/common/text.c:962 +msgid "Channel name" +msgstr "Kanal adı" + +#: src/common/text.c:963 src/common/text.c:968 +msgid "Modes string" +msgstr "Mod qatarı" + +#: src/common/text.c:978 src/common/text.c:1016 src/common/text.c:1021 +#: src/common/text.c:1062 +msgid "IP address" +msgstr "IP ünvanı" + +#: src/common/text.c:984 src/common/text.c:1009 +msgid "DCC Type" +msgstr "DCC Növü" + +#: src/common/text.c:985 src/common/text.c:990 src/common/text.c:995 +#: src/common/text.c:1002 src/common/text.c:1022 src/common/text.c:1026 +#: src/common/text.c:1032 src/common/text.c:1038 src/common/text.c:1045 +#: src/common/text.c:1054 src/common/text.c:1060 +msgid "Filename" +msgstr "Fayl adı" + +#: src/common/text.c:996 src/common/text.c:1003 +msgid "Destination filename" +msgstr "Hədəf fayl adı" + +#: src/common/text.c:1005 src/common/text.c:1034 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1040 +msgid "Pathname" +msgstr "Cığır adı" + +#: src/common/text.c:1055 src/fe-gtk/dccgui.c:483 src/fe-gtk/dccgui.c:633 +msgid "Position" +msgstr "Mövqe" + +#: src/common/text.c:1061 src/fe-gtk/dccgui.c:482 src/fe-gtk/dccgui.c:632 +msgid "Size" +msgstr "Böyüklük" + +#: src/common/text.c:1066 +msgid "DCC String" +msgstr "DCC Qatarı" + +#: src/common/text.c:1071 +msgid "Number of notify items" +msgstr "Bildiriş üzvləri ədədi" + +#: src/common/text.c:1075 +msgid "Servername" +msgstr "Verici adı" + +#: src/common/text.c:1087 +msgid "Old Filename" +msgstr "Köhnə Fayl Adı" + +#: src/common/text.c:1088 +msgid "New Filename" +msgstr "Yeni Fayl Adı" + +#: src/common/text.c:1092 +msgid "Receiver" +msgstr "Alıcı" + +#: src/common/text.c:1097 +msgid "Hostmask" +msgstr "Qovşaq Maskası" + +#: src/common/text.c:1102 +msgid "Hostname" +msgstr "Qovşaq Adı" + +#: src/common/text.c:1107 +msgid "The Packet" +msgstr "Paket" + +#: src/common/text.c:1111 +msgid "Seconds" +msgstr "Saniyə" + +#: src/common/text.c:1115 +msgid "Nick of person who have been invited" +msgstr "Dəvət edilən şəxsin ləqəbi" + +#: src/common/text.c:1122 +msgid "Banmask" +msgstr "Ban Maskası" + +#: src/common/text.c:1123 +msgid "Who set the ban" +msgstr "Banı qoyan" + +#: src/common/text.c:1124 +msgid "Ban time" +msgstr "Ban vaxtı" + +#: src/common/text.c:1162 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default" +msgstr "" + +#: src/common/text.c:1672 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" + +#: src/common/util.c:292 +msgid "Remote host closed socket" +msgstr "Uzaq qovşaq soketi bağladı" + +#: src/common/util.c:297 +msgid "Connection refused" +msgstr "Bağlantı rədd edildi" + +#: src/common/util.c:300 +msgid "No route to host" +msgstr "Uzaq qovşaq yoxdur" + +#: src/common/util.c:302 +msgid "Connection timed out" +msgstr "Bağlantı vaxtı doldu" + +#: src/common/util.c:304 +msgid "Cannot assign that address" +msgstr "Bu ünvan verilə bilməz" + +#: src/common/util.c:306 +msgid "Connection reset by peer" +msgstr "Bağlantı düyün tərəfindən sıfırlandı" + +#: src/common/util.c:771 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:772 +msgid "United Arab Emirates" +msgstr "Birləşmiş Ərəb Əmirlikləri" + +#: src/common/util.c:773 +msgid "Afghanistan" +msgstr "Əfqanıstan" + +#: src/common/util.c:774 +msgid "Antigua and Barbuda" +msgstr "Antiqua və Barbuda" + +#: src/common/util.c:775 +msgid "Anguilla" +msgstr "Anquilla" + +#: src/common/util.c:776 +msgid "Albania" +msgstr "Albaniya" + +#: src/common/util.c:777 +msgid "Armenia" +msgstr "Ermənistan" + +#: src/common/util.c:778 +msgid "Netherlands Antilles" +msgstr "Holland Antilləri" + +#: src/common/util.c:779 +msgid "Angola" +msgstr "Anqola" + +#: src/common/util.c:780 +msgid "Antarctica" +msgstr "Antarktika" + +#: src/common/util.c:781 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:782 +msgid "Reverse DNS" +msgstr "Reverse DNS" + +#: src/common/util.c:783 +msgid "American Samoa" +msgstr "Amerikan Samoa" + +#: src/common/util.c:784 +msgid "Austria" +msgstr "Avstriya" + +#: src/common/util.c:785 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:786 +msgid "Australia" +msgstr "Avstraliya" + +#: src/common/util.c:787 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:788 +msgid "Azerbaijan" +msgstr "Azərbaycan" + +#: src/common/util.c:789 +msgid "Bosnia and Herzegovina" +msgstr "Bosniya və Herzoqovina" + +#: src/common/util.c:790 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:791 +msgid "Bangladesh" +msgstr "Banqladeş" + +#: src/common/util.c:792 +msgid "Belgium" +msgstr "Belçika" + +#: src/common/util.c:793 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:794 +msgid "Bulgaria" +msgstr "Bolqarıstan" + +#: src/common/util.c:795 +msgid "Bahrain" +msgstr "Bahreyn" + +#: src/common/util.c:796 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:797 +msgid "Businesses" +msgstr "Təşkilatlar" + +#: src/common/util.c:798 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:799 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:800 +msgid "Brunei Darussalam" +msgstr "Bruney Darüssəlim" + +#: src/common/util.c:801 +msgid "Bolivia" +msgstr "Boliviya" + +#: src/common/util.c:802 +msgid "Brazil" +msgstr "Braziliya" + +#: src/common/util.c:803 +msgid "Bahamas" +msgstr "Bahamalar" + +#: src/common/util.c:804 +msgid "Bhutan" +msgstr "Butan" + +#: src/common/util.c:805 +msgid "Bouvet Island" +msgstr "Buvet Adası" + +#: src/common/util.c:806 +msgid "Botswana" +msgstr "Botsvana" + +#: src/common/util.c:807 +msgid "Belarus" +msgstr "Belarusiya" + +#: src/common/util.c:808 +msgid "Belize" +msgstr "Beliz" + +#: src/common/util.c:809 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:810 +msgid "Cocos Islands" +msgstr "Kakos Adaları" + +#: src/common/util.c:811 +msgid "Central African Republic" +msgstr "Mərkəzi Afrika Respublikası" + +#: src/common/util.c:812 +msgid "Congo" +msgstr "Konqo" + +#: src/common/util.c:813 +msgid "Switzerland" +msgstr "İsveçrə" + +#: src/common/util.c:814 +msgid "Cote D'ivoire" +msgstr "Kot Divuar" + +#: src/common/util.c:815 +msgid "Cook Islands" +msgstr "Kuku Adaları" + +#: src/common/util.c:816 +msgid "Chile" +msgstr "Çili" + +#: src/common/util.c:817 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:818 +msgid "China" +msgstr "Çin" + +#: src/common/util.c:819 +msgid "Colombia" +msgstr "Kolumbiya" + +#: src/common/util.c:820 +msgid "Internic Commercial" +msgstr "Internic Təşkilatı" + +#: src/common/util.c:821 +msgid "Costa Rica" +msgstr "Kosta Rika" + +#: src/common/util.c:822 +msgid "Former Czechoslovakia" +msgstr "Köhnə Çexoslovakiya" + +#: src/common/util.c:823 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:824 +msgid "Cape Verde" +msgstr "Keyp Verde" + +#: src/common/util.c:825 +msgid "Christmas Island" +msgstr "Kristmas Adası" + +#: src/common/util.c:826 +msgid "Cyprus" +msgstr "Kipr" + +#: src/common/util.c:827 +msgid "Czech Republic" +msgstr "Çex Respublikası" + +#: src/common/util.c:828 +msgid "Germany" +msgstr "Almaniya" + +#: src/common/util.c:829 +msgid "Djibouti" +msgstr "Cibuti" + +#: src/common/util.c:830 +msgid "Denmark" +msgstr "Danimarka" + +#: src/common/util.c:831 +msgid "Dominica" +msgstr "Dominik" + +#: src/common/util.c:832 +msgid "Dominican Republic" +msgstr "Dominikan Respublikası" + +#: src/common/util.c:833 +msgid "Algeria" +msgstr "Əlcəzair" + +#: src/common/util.c:834 +msgid "Ecuador" +msgstr "Ekvador" + +#: src/common/util.c:835 +msgid "Educational Institution" +msgstr "Tədris Təşkilatı" + +#: src/common/util.c:836 +msgid "Estonia" +msgstr "Estoniya" + +#: src/common/util.c:837 +msgid "Egypt" +msgstr "Misir" + +#: src/common/util.c:838 +msgid "Western Sahara" +msgstr "Qərbi Saxara" + +#: src/common/util.c:839 +msgid "Eritrea" +msgstr "Eritre" + +#: src/common/util.c:840 +msgid "Spain" +msgstr "İspaniya" + +#: src/common/util.c:841 +msgid "Ethiopia" +msgstr "Efiopiya" + +#: src/common/util.c:842 +msgid "Finland" +msgstr "Finlandiya" + +#: src/common/util.c:843 +msgid "Fiji" +msgstr "Fici" + +#: src/common/util.c:844 +msgid "Falkland Islands" +msgstr "Falkland Adaları" + +#: src/common/util.c:845 +msgid "Micronesia" +msgstr "Mikroneziya" + +#: src/common/util.c:846 +msgid "Faroe Islands" +msgstr "Faro Adaları" + +#: src/common/util.c:847 +msgid "France" +msgstr "Fransa" + +#: src/common/util.c:848 +msgid "France, Metropolitan" +msgstr "Fransa, Metropolitan" + +#: src/common/util.c:849 +msgid "Gabon" +msgstr "Qabon" + +#: src/common/util.c:850 +msgid "Great Britain" +msgstr "Böyük Britaniya" + +#: src/common/util.c:851 +msgid "Grenada" +msgstr "Qrenada" + +#: src/common/util.c:852 +msgid "Georgia" +msgstr "Gürcüstan" + +#: src/common/util.c:853 +msgid "French Guiana" +msgstr "Fransız Gvineyası" + +#: src/common/util.c:854 +msgid "British Channel Isles" +msgstr "Britaniya Kanal Adaları" + +#: src/common/util.c:855 +msgid "Ghana" +msgstr "Qana" + +#: src/common/util.c:856 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:857 +msgid "Greenland" +msgstr "Qrinland" + +#: src/common/util.c:858 +msgid "Gambia" +msgstr "Qambiya" + +#: src/common/util.c:859 +msgid "Guinea" +msgstr "Qvineya" + +#: src/common/util.c:860 +msgid "Government" +msgstr "Hökümət" + +#: src/common/util.c:861 +msgid "Guadeloupe" +msgstr "Quadelup" + +#: src/common/util.c:862 +msgid "Equatorial Guinea" +msgstr "Ekvatorial Qvineya" + +#: src/common/util.c:863 +msgid "Greece" +msgstr "Yunanıstan" + +#: src/common/util.c:864 +msgid "S. Georgia and S. Sandwich Isles." +msgstr "S. Georgia və S. Sandwich Adaları." + +#: src/common/util.c:865 +msgid "Guatemala" +msgstr "Quatemala" + +#: src/common/util.c:866 +msgid "Guam" +msgstr "Quam" + +#: src/common/util.c:867 +msgid "Guinea-Bissau" +msgstr "Qvineya Bissau" + +#: src/common/util.c:868 +msgid "Guyana" +msgstr "Quyana" + +#: src/common/util.c:869 +msgid "Hong Kong" +msgstr "Honq Konq" + +#: src/common/util.c:870 +msgid "Heard and McDonald Islands" +msgstr "Hird Adası və Mkdonald Adaları" + +#: src/common/util.c:871 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:872 +msgid "Croatia" +msgstr "Xırvatıstan" + +#: src/common/util.c:873 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:874 +msgid "Hungary" +msgstr "Macarıstan" + +#: src/common/util.c:875 +msgid "Indonesia" +msgstr "İndoneziya" + +#: src/common/util.c:876 +msgid "Ireland" +msgstr "İrlandiya" + +#: src/common/util.c:877 +msgid "Israel" +msgstr "İsrail" + +#: src/common/util.c:878 +msgid "India" +msgstr "Hindistan" + +#: src/common/util.c:879 +msgid "Informational" +msgstr "Məlumat verici" + +#: src/common/util.c:880 +msgid "International" +msgstr "Beynəlmilləl" + +#: src/common/util.c:881 +msgid "British Indian Ocean Territory" +msgstr "Britaniya Hind Okeanı Sahəsi" + +#: src/common/util.c:882 +msgid "Iraq" +msgstr "İraq" + +#: src/common/util.c:883 +msgid "Iran" +msgstr "İran" + +#: src/common/util.c:884 +msgid "Iceland" +msgstr "İslandiya" + +#: src/common/util.c:885 +msgid "Italy" +msgstr "İtaliya" + +#: src/common/util.c:886 +msgid "Jamaica" +msgstr "Yamayka" + +#: src/common/util.c:887 +msgid "Jordan" +msgstr "İordaniya" + +#: src/common/util.c:888 +msgid "Japan" +msgstr "Yaponiya" + +#: src/common/util.c:889 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:890 +msgid "Kyrgyzstan" +msgstr "Qırğızıstan" + +#: src/common/util.c:891 +msgid "Cambodia" +msgstr "Kambodiya" + +#: src/common/util.c:892 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:893 +msgid "Comoros" +msgstr "Komor" + +#: src/common/util.c:894 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts və Nevis" + +#: src/common/util.c:895 +msgid "North Korea" +msgstr "Şimali Koreya" + +#: src/common/util.c:896 +msgid "South Korea" +msgstr "Cənubi Koreya" + +#: src/common/util.c:897 +msgid "Kuwait" +msgstr "Küveyt" + +#: src/common/util.c:898 +msgid "Cayman Islands" +msgstr "Kayman Adaları" + +#: src/common/util.c:899 +msgid "Kazakhstan" +msgstr "Qazaxstan" + +#: src/common/util.c:900 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:901 +msgid "Lebanon" +msgstr "Livan" + +#: src/common/util.c:902 +msgid "Saint Lucia" +msgstr "Müqəddəs Lusiya" + +#: src/common/util.c:903 +msgid "Liechtenstein" +msgstr "Lixtenşteyn" + +#: src/common/util.c:904 +msgid "Sri Lanka" +msgstr "Şri Lanka" + +#: src/common/util.c:905 +msgid "Liberia" +msgstr "Liberiya" + +#: src/common/util.c:906 +msgid "Lesotho" +msgstr "Lesoto" + +#: src/common/util.c:907 +msgid "Lithuania" +msgstr "Litva" + +#: src/common/util.c:908 +msgid "Luxembourg" +msgstr "Lüksemburq" + +#: src/common/util.c:909 +msgid "Latvia" +msgstr "Latviya" + +#: src/common/util.c:910 +msgid "Libya" +msgstr "Liviya" + +#: src/common/util.c:911 +msgid "Morocco" +msgstr "Mərakeş" + +#: src/common/util.c:912 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:913 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:914 +msgid "United States Medical" +msgstr "ABŞ Medikalı" + +#: src/common/util.c:915 +msgid "Madagascar" +msgstr "Madaqaskar" + +#: src/common/util.c:916 +msgid "Marshall Islands" +msgstr "Marşal Adaları" + +#: src/common/util.c:917 +msgid "Military" +msgstr "Silahlı Qüvvələr" + +#: src/common/util.c:918 +msgid "Macedonia" +msgstr "Makedoniya" + +#: src/common/util.c:919 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:920 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:921 +msgid "Mongolia" +msgstr "Monqolustan" + +#: src/common/util.c:922 +msgid "Macau" +msgstr "Makau" + +#: src/common/util.c:923 +msgid "Northern Mariana Islands" +msgstr "Şimali Marian Adaları" + +#: src/common/util.c:924 +msgid "Martinique" +msgstr "Martiniq" + +#: src/common/util.c:925 +msgid "Mauritania" +msgstr "Mavritaniya" + +#: src/common/util.c:926 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:927 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:928 +msgid "Mauritius" +msgstr "Maurit" + +#: src/common/util.c:929 +msgid "Maldives" +msgstr "Maldiv" + +#: src/common/util.c:930 +msgid "Malawi" +msgstr "Malavi" + +#: src/common/util.c:931 +msgid "Mexico" +msgstr "Meksika" + +#: src/common/util.c:932 +msgid "Malaysia" +msgstr "Malayziya" + +#: src/common/util.c:933 +msgid "Mozambique" +msgstr "Mozambiq" + +#: src/common/util.c:934 +msgid "Namibia" +msgstr "Namibiya" + +#: src/common/util.c:935 +msgid "New Caledonia" +msgstr "Yeni Kaledoniya" + +#: src/common/util.c:936 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:937 +msgid "Internic Network" +msgstr "Internic Şəbəkəsi" + +#: src/common/util.c:938 +msgid "Norfolk Island" +msgstr "Norfolk Adaları" + +#: src/common/util.c:939 +msgid "Nigeria" +msgstr "Nigeriya" + +#: src/common/util.c:940 +msgid "Nicaragua" +msgstr "Nikaraqua" + +#: src/common/util.c:941 +msgid "Netherlands" +msgstr "Hollandiya" + +#: src/common/util.c:942 +msgid "Norway" +msgstr "Norveç" + +#: src/common/util.c:943 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:944 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:945 +msgid "Neutral Zone" +msgstr "Neytral Zona" + +#: src/common/util.c:946 +msgid "Niue" +msgstr "Niu" + +#: src/common/util.c:947 +msgid "New Zealand" +msgstr "Yeni Zellandiya" + +#: src/common/util.c:948 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:949 +msgid "Internic Non-Profit Organization" +msgstr "Internic Təşkilatı" + +#: src/common/util.c:950 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:951 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:952 +msgid "French Polynesia" +msgstr "Fransız Poloneziyası" + +#: src/common/util.c:953 +msgid "Papua New Guinea" +msgstr "Papua Yeni Qvineya" + +#: src/common/util.c:954 +msgid "Philippines" +msgstr "Filippinlər" + +#: src/common/util.c:955 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:956 +msgid "Poland" +msgstr "Polşa" + +#: src/common/util.c:957 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre və Miquelon" + +#: src/common/util.c:958 +msgid "Pitcairn" +msgstr "Pitkairn" + +#: src/common/util.c:959 +msgid "Puerto Rico" +msgstr "Puerto Riko" + +#: src/common/util.c:960 +msgid "Portugal" +msgstr "Portuqaliya" + +#: src/common/util.c:961 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:962 +msgid "Paraguay" +msgstr "Paraqvay" + +#: src/common/util.c:963 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:964 +msgid "Reunion" +msgstr "Reyunion" + +#: src/common/util.c:965 +msgid "Romania" +msgstr "Rumıniya" + +#: src/common/util.c:966 +msgid "Old School ARPAnet" +msgstr "Old School ARPAnet" + +#: src/common/util.c:967 +msgid "Russian Federation" +msgstr "Rusiya Federasiyası" + +#: src/common/util.c:968 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:969 +msgid "Saudi Arabia" +msgstr "Səudiyyə Ərəbistan" + +#: src/common/util.c:970 +msgid "Solomon Islands" +msgstr "Solomon Adaları" + +#: src/common/util.c:971 +msgid "Seychelles" +msgstr "Seyşel" + +#: src/common/util.c:972 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:973 +msgid "Sweden" +msgstr "İsveç" + +#: src/common/util.c:974 +msgid "Singapore" +msgstr "Sinqapur" + +#: src/common/util.c:975 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:976 +msgid "Slovenia" +msgstr "Sloveniya" + +#: src/common/util.c:977 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard və Jan Mayen Adaları" + +#: src/common/util.c:978 +msgid "Slovak Republic" +msgstr "Slovakiya Respublikası" + +#: src/common/util.c:979 +msgid "Sierra Leone" +msgstr "Siera Lione" + +#: src/common/util.c:980 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:981 +msgid "Senegal" +msgstr "Seneqal" + +#: src/common/util.c:982 +msgid "Somalia" +msgstr "Somali" + +#: src/common/util.c:983 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:984 +msgid "Sao Tome and Principe" +msgstr "Sao Tome və Prinsip" + +#: src/common/util.c:985 +msgid "Former USSR" +msgstr "Köhnə SSSR" + +#: src/common/util.c:986 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:987 +msgid "Syria" +msgstr "Siriya" + +#: src/common/util.c:988 +msgid "Swaziland" +msgstr "Svaziland" + +#: src/common/util.c:989 +msgid "Turks and Caicos Islands" +msgstr "Türk və Kaykos Adaları" + +#: src/common/util.c:990 +msgid "Chad" +msgstr "Çad" + +#: src/common/util.c:991 +msgid "French Southern Territories" +msgstr "Cənubi Fransız Sahələri" + +#: src/common/util.c:992 +msgid "Togo" +msgstr "Toqo" + +#: src/common/util.c:993 +msgid "Thailand" +msgstr "Tayland" + +#: src/common/util.c:994 +msgid "Tajikistan" +msgstr "Tacikistan" + +#: src/common/util.c:995 +msgid "Tokelau" +msgstr "Tokelo" + +#: src/common/util.c:996 +msgid "Turkmenistan" +msgstr "Türkmənistan" + +#: src/common/util.c:997 +msgid "Tunisia" +msgstr "Tunis" + +#: src/common/util.c:998 +msgid "Tonga" +msgstr "Tonqa" + +#: src/common/util.c:999 +msgid "East Timor" +msgstr "Şərqi Timor" + +#: src/common/util.c:1000 +msgid "Turkey" +msgstr "Türkiyə" + +#: src/common/util.c:1001 +msgid "Trinidad and Tobago" +msgstr "Trinidad və Tobaqo" + +#: src/common/util.c:1002 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1003 +msgid "Taiwan" +msgstr "Tayvan" + +#: src/common/util.c:1004 +msgid "Tanzania" +msgstr "Tanzaniya" + +#: src/common/util.c:1005 +msgid "Ukraine" +msgstr "Ukrayna" + +#: src/common/util.c:1006 +msgid "Uganda" +msgstr "Uqanda" + +#: src/common/util.c:1007 +msgid "United Kingdom" +msgstr "Birləşmiş Krallıq" + +#: src/common/util.c:1008 +msgid "US Minor Outlying Islands" +msgstr "ABŞ Yaxını Adalar" + +#: src/common/util.c:1009 +msgid "United States of America" +msgstr "Amerika Birləşmiş Ştatları" + +#: src/common/util.c:1010 +msgid "Uruguay" +msgstr "Uruqvay" + +#: src/common/util.c:1011 +msgid "Uzbekistan" +msgstr "Özbəkistan" + +#: src/common/util.c:1012 +msgid "Vatican City State" +msgstr "Vatikan Şəhər Höküməti" + +#: src/common/util.c:1013 +msgid "St. Vincent and the grenadines" +msgstr "St. Vincent və qrenadinlər" + +#: src/common/util.c:1014 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:1015 +msgid "British Virgin Islands" +msgstr "Britaniya Virgin Adaları" + +#: src/common/util.c:1016 +msgid "US Virgin Islands" +msgstr "ABŞ Virgin Adaları" + +#: src/common/util.c:1017 +msgid "Vietnam" +msgstr "Vyetnam" + +#: src/common/util.c:1018 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1019 +msgid "Wallis and Futuna Islands" +msgstr "Vallis və Futuna Adaları" + +#: src/common/util.c:1020 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1021 +msgid "Yemen" +msgstr "Yəmən" + +#: src/common/util.c:1022 +msgid "Mayotte" +msgstr "Mayot" + +#: src/common/util.c:1023 +msgid "Yugoslavia" +msgstr "Yuqoslaviya" + +#: src/common/util.c:1024 +msgid "South Africa" +msgstr "Cənubi Afrika" + +#: src/common/util.c:1025 +msgid "Zambia" +msgstr "Zambiya" + +#: src/common/util.c:1026 +msgid "Zaire" +msgstr "Zair" + +#: src/common/util.c:1027 +msgid "Zimbabwe" +msgstr "Zimbabve" + +#: src/common/util.c:1033 src/common/util.c:1043 src/fe-gtk/menu.c:513 +#: src/fe-gtk/menu.c:517 src/fe-gtk/menu.c:521 src/fe-gtk/menu.c:525 +#: src/fe-gtk/menu.c:529 +msgid "Unknown" +msgstr "Namə'lum" + +#: src/common/xchat.c:917 +msgid "Direct client-to-client" +msgstr "Birbaşa client-to-client" + +#: src/common/xchat.c:918 +msgid "Send File" +msgstr "Fayl Yolla" + +#: src/common/xchat.c:919 +msgid "Offer Chat" +msgstr "Söhbət Təklif Et" + +#: src/common/xchat.c:920 +msgid "Abort Chat" +msgstr "Söhbəti Sonlandır" + +#: src/common/xchat.c:921 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Buraxılış" + +#: src/common/xchat.c:922 +msgid "Userinfo" +msgstr "İstifadəçi mə'lumatı" + +#: src/common/xchat.c:923 +msgid "Clientinfo" +msgstr "Alıcı mə'lumatı" + +#: src/common/xchat.c:924 src/common/xchat.c:956 src/common/xchat.c:1006 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:925 +msgid "Time" +msgstr "Saat" + +#: src/common/xchat.c:926 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:927 +msgid "Oper" +msgstr "Oper" + +#: src/common/xchat.c:928 +msgid "Kill this user" +msgstr "Bu istifadəçini kill et" + +#: src/common/xchat.c:929 +msgid "Mode" +msgstr "Mod" + +#: src/common/xchat.c:930 +msgid "Give Voice" +msgstr "Voice Ver" + +#: src/common/xchat.c:931 +msgid "Take Voice" +msgstr "Voice Al" + +#: src/common/xchat.c:932 +msgid "Give Ops" +msgstr "Op Ver" + +#: src/common/xchat.c:933 +msgid "Take Ops" +msgstr "Op Al" + +#: src/common/xchat.c:934 +msgid "Ignore" +msgstr "Rədd Et" + +#: src/common/xchat.c:935 +msgid "Ignore User" +msgstr "İstifadəçini Rədd Et" + +#: src/common/xchat.c:936 +msgid "UnIgnore User" +msgstr "İstifadəçidən Rəddi Sil" + +#: src/common/xchat.c:937 +msgid "Kick/Ban" +msgstr "Kick/Ban" + +#: src/common/xchat.c:938 src/common/xchat.c:990 +msgid "Kick" +msgstr "Kick-lə" + +#: src/common/xchat.c:939 src/common/xchat.c:940 src/common/xchat.c:941 +#: src/common/xchat.c:942 src/common/xchat.c:943 src/common/xchat.c:989 +msgid "Ban" +msgstr "Ban-la" + +#: src/common/xchat.c:944 src/common/xchat.c:945 src/common/xchat.c:946 +#: src/common/xchat.c:947 +msgid "KickBan" +msgstr "KickBan-la" + +#: src/common/xchat.c:948 src/fe-gtk/dccgui.c:528 src/fe-gtk/dccgui.c:669 +msgid "Info" +msgstr "Mə'lumat" + +#: src/common/xchat.c:949 +msgid "Who" +msgstr "Who" + +#: src/common/xchat.c:950 src/common/xchat.c:1003 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/xchat.c:951 +msgid "DNS Lookup" +msgstr "DNS Lookup" + +#: src/common/xchat.c:952 +msgid "Trace" +msgstr "Trace" + +#: src/common/xchat.c:953 +msgid "UserHost" +msgstr "İstifadəçi Qovşağı" + +#: src/common/xchat.c:954 +msgid "External" +msgstr "Xarici" + +#: src/common/xchat.c:955 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:957 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:958 +msgid "Open Dialog Window" +msgstr "Dialoq Pəncərəsini Aç" + +#: src/common/xchat.c:970 +msgid "Disconnect" +msgstr "Bağlantını Kəs" + +#: src/common/xchat.c:971 +msgid "Reconnect" +msgstr "Yenidən Bağlan" + +#: src/common/xchat.c:972 +msgid "Leave Channel" +msgstr "Kanaldan Çıx" + +#: src/common/xchat.c:973 +msgid "Join Channel..." +msgstr "Kanala Daxil Ol..." + +#: src/common/xchat.c:974 +msgid "Enter Channel to Join:" +msgstr "Daxil Olunacaq Kanalı Bildir:" + +#: src/common/xchat.c:975 +msgid "Server Links" +msgstr "Verici Körpüləri" + +#: src/common/xchat.c:976 +msgid "Ping Server" +msgstr "Vericini Pinglə" + +#: src/common/xchat.c:977 +msgid "Hide Version" +msgstr "Buraxılışı Gizlət" + +#: src/common/xchat.c:987 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:988 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/xchat.c:991 +msgid "bye" +msgstr "Di ha!" + +#: src/common/xchat.c:992 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Kickləmə səbəbi %s:" + +#: src/common/xchat.c:993 +msgid "Sendfile" +msgstr "Fayl yolla" + +#: src/common/xchat.c:994 +msgid "Dialog" +msgstr "Dialoq" + +#: src/common/xchat.c:1004 +msgid "Send" +msgstr "Yolla" + +#: src/common/xchat.c:1005 +msgid "Chat" +msgstr "Söhbət" + +#: src/common/xchat.c:1007 src/fe-gtk/banlist.c:314 src/fe-gtk/search.c:117 +#: src/fe-gtk/urlgrab.c:200 +msgid "Clear" +msgstr "Təmizlə" + +#: src/fe-gtk/about.c:102 +msgid "About X-Chat" +msgstr "X-Chat Haqqında" + +#: src/fe-gtk/about.c:124 +msgid "A multiplatform IRC Client" +msgstr "Çox Platformlu IRC Alıcısı" + +#: src/fe-gtk/ascii.c:131 +msgid "Character Chart" +msgstr "Hərf Cədvəli" + +#: src/fe-gtk/banlist.c:148 src/fe-gtk/banlist.c:232 +msgid "You must select some bans." +msgstr "Bir iki ban seçməlisiniz." + +#: src/fe-gtk/banlist.c:248 src/fe-gtk/ignoregui.c:174 +msgid "Mask" +msgstr "Maska" + +#: src/fe-gtk/banlist.c:249 src/fe-gtk/dccgui.c:485 +msgid "From" +msgstr "Göndərən" + +#: src/fe-gtk/banlist.c:250 +msgid "Date" +msgstr "Tarix" + +#: src/fe-gtk/banlist.c:294 +#, c-format +msgid "X-Chat: Ban List (%s)" +msgstr "X-Chat: Ban Siyahısı (%s)" + +#: src/fe-gtk/banlist.c:310 +msgid "Unban" +msgstr "Unban" + +#: src/fe-gtk/banlist.c:312 +msgid "Crop" +msgstr "Kəs" + +#: src/fe-gtk/banlist.c:316 +msgid "Refresh" +msgstr "Yenilə" + +#: src/fe-gtk/chanlist.c:120 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "" +"İstifadəçi və Kanal Statistikaları: %d/%d istifadəçi toplam %d/%d kanalda" + +#: src/fe-gtk/chanlist.c:536 +msgid "I can't save an empty list!" +msgstr "Boş siyahını qeyd etmək olmaz axı!" + +#: src/fe-gtk/chanlist.c:539 src/fe-gtk/menu.c:941 +msgid "Select an output filename" +msgstr "Çıxış fay adını seç" + +#: src/fe-gtk/chanlist.c:607 +#, c-format +msgid "X-Chat: Channel List (%s)" +msgstr "X-Chat: Kanal Siyahısı (%s)" + +#: src/fe-gtk/chanlist.c:622 +msgid "List display options:" +msgstr "Görünüş seçimlərini göstər:" + +#: src/fe-gtk/chanlist.c:634 +msgid "Minimum Users:" +msgstr "Ən Az İstifadəçi:" + +#: src/fe-gtk/chanlist.c:649 +msgid "Maximum Users:" +msgstr "Ən Çox İstifadəçi:" + +#: src/fe-gtk/chanlist.c:664 +msgid "Regex Match:" +msgstr "Regex Axtarışı:" + +#: src/fe-gtk/chanlist.c:685 +msgid "Apply Match to:" +msgstr "Axtarışı Buna Tətbiq Et:" + +#: src/fe-gtk/chanlist.c:709 +msgid "Apply" +msgstr "Tətbiq Et" + +#: src/fe-gtk/chanlist.c:751 +msgid "Refresh the list" +msgstr "Siyahını yenilə" + +#: src/fe-gtk/chanlist.c:753 +msgid "Save the list" +msgstr "Siyahını qeyd qt" + +#: src/fe-gtk/chanlist.c:755 src/fe-gtk/menu.c:749 +msgid "Join Channel" +msgstr "Kanala Daxil Ol" + +#: src/fe-gtk/dccgui.c:126 +#, c-format +msgid "Send file to %s" +msgstr "Faylı %s-a yolla" + +#: src/fe-gtk/dccgui.c:339 +#, c-format +msgid "" +" File: %s\n" +" To/From: %s\n" +" Size: %u\n" +" Port: %d\n" +" IP Number: %s\n" +"Start Time: %s Max CPS: %d\n" +msgstr "" +" Fayl: %s\n" +" Alıcı/Göndərən: %s\n" +" Böyüklük: %u\n" +" Port: %d\n" +" IP Nömrəsi: %s\n" +"Başlanğıc Vaxtı: %s Maksimal CPS: %d\n" + +#: src/fe-gtk/dccgui.c:372 +msgid "That file is not resumable." +msgstr "Bu fayl davam etdirilə bilən deyil." + +#: src/fe-gtk/dccgui.c:376 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Fayla yetişilə bilmir: %s\n" +"%s.\n" +"Davam etdirmə mümkün olmayacaqdır." + +#: src/fe-gtk/dccgui.c:383 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" +"Endirilən fayl təklif olunandan daha böyükdür. Davam etdirmə mümkün deyil." + +#: src/fe-gtk/dccgui.c:387 +msgid "Cannot resume the same file from two people." +msgstr "Eyni fayl iki nəfərdən davam etdirilə bilməz." + +#: src/fe-gtk/dccgui.c:474 +msgid "MIME Type" +msgstr "MIME Növü" + +#: src/fe-gtk/dccgui.c:480 src/fe-gtk/dccgui.c:630 src/fe-gtk/dccgui.c:753 +#: src/fe-gtk/notifygui.c:110 +msgid "Status" +msgstr "Vəziyyət" + +#: src/fe-gtk/dccgui.c:481 src/fe-gtk/dccgui.c:631 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Fayl" + +#: src/fe-gtk/dccgui.c:484 src/fe-gtk/dccgui.c:635 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:494 +msgid "X-Chat: File Receive List" +msgstr "X-Chat: Fayl Alış Sıyahısı" + +#: src/fe-gtk/dccgui.c:522 src/fe-gtk/dccgui.c:668 src/fe-gtk/dccgui.c:783 +msgid "Abort" +msgstr "Ləğv Et" + +#: src/fe-gtk/dccgui.c:524 src/fe-gtk/dccgui.c:784 +msgid "Accept" +msgstr "Qəbul Et" + +#: src/fe-gtk/dccgui.c:526 +msgid "Resume" +msgstr "Davam Et" + +#: src/fe-gtk/dccgui.c:530 +msgid "Open" +msgstr "Aç" + +#: src/fe-gtk/dccgui.c:634 +msgid "Ack" +msgstr "Ack" + +#: src/fe-gtk/dccgui.c:636 +msgid "To" +msgstr "Alıcı" + +#: src/fe-gtk/dccgui.c:646 +msgid "X-Chat: File Send List" +msgstr "X-Chat: Fayl Göndəriş Siyahısı" + +#: src/fe-gtk/dccgui.c:754 +msgid "To/From" +msgstr "ALıcı/Göndərən" + +#: src/fe-gtk/dccgui.c:755 +msgid "Recv" +msgstr "Alc" + +#: src/fe-gtk/dccgui.c:756 +msgid "Sent" +msgstr "Gnd" + +#: src/fe-gtk/dccgui.c:757 +msgid "StartTime" +msgstr "Başlanğıc Vaxtı" + +#: src/fe-gtk/dccgui.c:767 +msgid "X-Chat: DCC Chat List" +msgstr "X-Chat: DCC Söhbət Siyahısı" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*YENİ*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "MƏNİ DÜZƏLT" + +#: src/fe-gtk/editlist.c:305 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Ad" + +#: src/fe-gtk/editlist.c:306 +msgid "Command" +msgstr "Əmr" + +#: src/fe-gtk/editlist.c:333 +msgid "Move Up" +msgstr "Yuxarı Daşı" + +#: src/fe-gtk/editlist.c:337 +msgid "Move Dn" +msgstr "Aşağı Daşı" + +#: src/fe-gtk/editlist.c:345 +msgid "Cancel" +msgstr "Ləğv Et" + +#: src/fe-gtk/editlist.c:349 src/fe-gtk/textgui.c:464 src/fe-gtk/urlgrab.c:204 +msgid "Save" +msgstr "Qeyd Et" + +#: src/fe-gtk/editlist.c:357 +msgid "Add New" +msgstr "Yenisini Əlavə Et" + +#: src/fe-gtk/editlist.c:361 src/fe-gtk/fkeys.c:746 src/fe-gtk/ignoregui.c:378 +msgid "Delete" +msgstr "Sil" + +#: src/fe-gtk/editlist.c:369 +msgid "Sort" +msgstr "Nizamla" + +#: src/fe-gtk/editlist.c:373 +msgid "Help" +msgstr "Yardım" + +#: src/fe-gtk/fe-gtk.c:143 +msgid "Options" +msgstr "Seçimlər" + +#: src/fe-gtk/fe-gtk.c:144 +msgid "DIRECTORY" +msgstr "CƏRGƏ" + +#: src/fe-gtk/fe-gtk.c:145 +msgid "use a different config dir" +msgstr "başqa quraşdırma cərgəsi işlət" + +#: src/fe-gtk/fe-gtk.c:146 +msgid "don't auto connect" +msgstr "qətiyyən avtomatik bağlanma" + +#: src/fe-gtk/fe-gtk.c:147 +msgid "don't auto load any plugins" +msgstr "heç bir əlavəni avtomatik yükləmə" + +#: src/fe-gtk/fe-gtk.c:148 +msgid "show version information" +msgstr "buraxılış mə'lumatını göstər" + +#: src/fe-gtk/fe-gtk.c:233 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Yazə növü açıla bilmədi:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:592 +msgid "Search buffer is empty.\n" +msgstr "Axtarış bufferi boşdur.\n" + +#: src/fe-gtk/fe-gtk.c:669 +#, c-format +msgid "%d bytes" +msgstr "%d bayt" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into " +"the entry box where you pressed the key sequence. Thus it can contain text " +"(which will be sent to the channel/person), commands or user commands. When " +"run all \\n characters in Data 1 are used to deliminate seperate commands so " +"it is possible to run more than one command. If you want a \\ in the actual " +"text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1 " +"to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page. If Data " +"1 is set to anything the page scrolls up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered to " +"the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "" +"The Last Command command sets the entry to contain the last command entered " +"- the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "" +"The Next Command command sets the entry to contain the next command entered " +"- the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the " +"last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set " +"to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:171 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command moves the front tab left by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command moves the front tab right by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command moves the current tab family to the left" +msgstr "" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the current tab family to the right" +msgstr "" + +#: src/fe-gtk/fkeys.c:181 +msgid "Push input line into history but doesn't send to server" +msgstr "" + +#: src/fe-gtk/fkeys.c:193 +msgid "There was an error loading key bindings configuration" +msgstr "" + +#: src/fe-gtk/fkeys.c:434 src/fe-gtk/fkeys.c:435 src/fe-gtk/fkeys.c:436 +#: src/fe-gtk/fkeys.c:437 src/fe-gtk/fkeys.c:719 src/fe-gtk/fkeys.c:725 +#: src/fe-gtk/fkeys.c:730 src/fe-gtk/maingui.c:884 src/fe-gtk/maingui.c:905 +#: src/fe-gtk/maingui.c:1059 src/fe-gtk/maingui.c:1101 +#: src/fe-gtk/maingui.c:2443 +msgid "" +msgstr "" + +#: src/fe-gtk/fkeys.c:683 +msgid "Mod" +msgstr "Mod" + +#: src/fe-gtk/fkeys.c:684 src/fe-gtk/fkeys.c:779 +msgid "Key" +msgstr "Düymə" + +#: src/fe-gtk/fkeys.c:685 +msgid "Action" +msgstr "Gedişat" + +#: src/fe-gtk/fkeys.c:694 +msgid "X-Chat: Edit Key Bindings" +msgstr "X-Chat: Qısa Yolları Dəyişdir" + +#: src/fe-gtk/fkeys.c:741 +msgid "Add new" +msgstr "Yenisini əlavə et" + +#: src/fe-gtk/fkeys.c:772 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:774 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:776 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:783 +msgid "Data 1" +msgstr "Verilən 1" + +#: src/fe-gtk/fkeys.c:786 +msgid "Data 2" +msgstr "Verilən 2" + +#: src/fe-gtk/fkeys.c:829 +msgid "Error opening keys config file\n" +msgstr "Düymə quraşdırma faylı açıla bilmədi\n" + +#: src/fe-gtk/fkeys.c:1000 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1038 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1059 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1128 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" + +#: src/fe-gtk/gtkutil.c:146 +msgid "Cannot write to that file." +msgstr "Bu fayla yazıla bilmir." + +#: src/fe-gtk/gtkutil.c:148 +msgid "Cannot read that file." +msgstr "Bu fayl oxuna bilmir." + +#: src/fe-gtk/ignoregui.c:116 src/fe-gtk/ignoregui.c:279 +msgid "That mask already exists." +msgstr "Bu maska onsuz da mövcuddur." + +#: src/fe-gtk/ignoregui.c:176 src/fe-gtk/maingui.c:1556 +msgid "Private" +msgstr "Şəxsi" + +#: src/fe-gtk/ignoregui.c:177 +msgid "Notice" +msgstr "Bildiriş" + +#: src/fe-gtk/ignoregui.c:178 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:179 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:180 +msgid "Invite" +msgstr "Dəvət Et" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Unignore" +msgstr "Qəbul Et" + +#: src/fe-gtk/ignoregui.c:299 +msgid "Enter mask to ignore:" +msgstr "Rədd ediləcək maskanı bildir:" + +#: src/fe-gtk/ignoregui.c:346 +msgid "X-Chat: Ignore list" +msgstr "X-Chat: Rədd siyahısı" + +#: src/fe-gtk/ignoregui.c:353 +msgid "Ignore Stats:" +msgstr "Rədd Statistikaları:" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Channel:" +msgstr "Kanal:" + +#: src/fe-gtk/ignoregui.c:362 +msgid "Private:" +msgstr "Şəxsi:" + +#: src/fe-gtk/ignoregui.c:363 +msgid "Notice:" +msgstr "Bildiriş:" + +#: src/fe-gtk/ignoregui.c:364 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:365 +msgid "Invite:" +msgstr "Dəvət:" + +#: src/fe-gtk/ignoregui.c:376 src/fe-gtk/menu.c:1246 +msgid "New" +msgstr "Yeni" + +#: src/fe-gtk/ignoregui.c:380 +msgid "Delete All" +msgstr "Hamısı Sil" + +#: src/fe-gtk/maingui.c:557 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s mövzusu: %s" + +#: src/fe-gtk/maingui.c:561 +msgid "No topic is set" +msgstr "Mövzu seçilməyib" + +#: src/fe-gtk/maingui.c:958 +msgid "No other tabs open, quit xchat?" +msgstr "Açıq səkmə qalmadı, xchat sonlandırılsın?" + +#: src/fe-gtk/maingui.c:1004 +msgid "Insert color code" +msgstr "Rəng kodu daxil et" + +#: src/fe-gtk/maingui.c:1046 src/fe-gtk/menu.c:1268 +msgid "Close Tab" +msgstr "Səkməni Bağla" + +#: src/fe-gtk/maingui.c:1049 src/fe-gtk/menu.c:1398 +msgid "Detach Tab" +msgstr "Səkməni Ayır" + +#: src/fe-gtk/maingui.c:1064 +msgid "Beep on message" +msgstr "İsmarış gələndə səs çal" + +#: src/fe-gtk/maingui.c:1067 +msgid "Show join/part messages" +msgstr "join/part ismarışlarını göstər" + +#: src/fe-gtk/maingui.c:1069 +msgid "Color paste" +msgstr "Rəngli yapışdır" + +#: src/fe-gtk/maingui.c:1079 +msgid "Go to" +msgstr "Get" + +#: src/fe-gtk/maingui.c:1274 +msgid "Some file transfers still active, quit xchat?" +msgstr "Bə'zi fayl transferləri hələ də fəaldır, xchat sonlandırılsın?" + +#: src/fe-gtk/maingui.c:1424 src/fe-gtk/maingui.c:1530 +msgid "User limit must be a number!\n" +msgstr "İstifadəçi hüdüdu nömrə olmalıdır!\n" + +#: src/fe-gtk/maingui.c:1552 +msgid "Topic Protection" +msgstr "Mövzu Qoruması" + +#: src/fe-gtk/maingui.c:1553 +msgid "No outside messages" +msgstr "Xarici ismarışlar göstərilməsin" + +#: src/fe-gtk/maingui.c:1554 +msgid "Secret" +msgstr "Gizli" + +#: src/fe-gtk/maingui.c:1555 +msgid "Invite Only" +msgstr "Ancaq Dəvət Et" + +#: src/fe-gtk/maingui.c:1557 +msgid "Moderated" +msgstr "Modereytlənmiş" + +#: src/fe-gtk/maingui.c:1558 +msgid "Ban List" +msgstr "Ban Siyahısı" + +#: src/fe-gtk/maingui.c:1560 +msgid "Keyword" +msgstr "Açar Kəlmə" + +#: src/fe-gtk/maingui.c:1572 +msgid "User Limit" +msgstr "İstifadəçi Hüdüdu" + +#: src/fe-gtk/maingui.c:1588 +msgid "Close this tab/window" +msgstr "Bu səkmə/pəncərəni bağla" + +#: src/fe-gtk/maingui.c:1685 +msgid "Show/Hide userlist" +msgstr "İstifadəçi siyahısını göstər/gizlət" + +#: src/fe-gtk/maingui.c:1795 +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 "" + +#: src/fe-gtk/maingui.c:1988 +msgid "Enter new nickname:" +msgstr "Yeni ləqəb bildir:" + +#: src/fe-gtk/menu.c:151 +msgid "Host unknown" +msgstr "Namə'lum qovşaq" + +#: src/fe-gtk/menu.c:512 +#, c-format +msgid "User: %s" +msgstr "İstifadəçi: %s" + +#: src/fe-gtk/menu.c:516 +#, c-format +msgid "Country: %s" +msgstr "Ölkə: %s" + +#: src/fe-gtk/menu.c:520 +#, c-format +msgid "Realname: %s" +msgstr "Həqiqi ad: %s" + +#: src/fe-gtk/menu.c:524 +#, c-format +msgid "Server: %s" +msgstr "Verici: %s" + +#: src/fe-gtk/menu.c:528 +#, c-format +msgid "Last Msg: %s" +msgstr "Son ismarış: %s" + +#: src/fe-gtk/menu.c:613 +msgid "Menu Bar" +msgstr "Menyu Çubuğu" + +#: src/fe-gtk/menu.c:614 +msgid "Topic Bar" +msgstr "Mövzu Çubuğu" + +#: src/fe-gtk/menu.c:618 +msgid "User List" +msgstr "İstifadəçi Siyahısı" + +#: src/fe-gtk/menu.c:621 +msgid "Mode Buttons" +msgstr "Mod Düymələri" + +#: src/fe-gtk/menu.c:627 +msgid "User List Buttons" +msgstr "İstifadəçi Siyahısı Düymələri" + +#: src/fe-gtk/menu.c:753 +msgid "Part Channel" +msgstr "Part Kanalı" + +#: src/fe-gtk/menu.c:755 +msgid "Cycle Channel" +msgstr "Cycle Kanalı" + +#: src/fe-gtk/menu.c:778 +msgid "X-Chat: User menu" +msgstr "X-Chat: İstifadəçi menyusu" + +#: src/fe-gtk/menu.c:787 +msgid "Edit This Menu..." +msgstr "Bu Menyunu Dəyişdir..." + +#: src/fe-gtk/menu.c:889 +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 "" + +#: src/fe-gtk/menu.c:1011 +msgid "Settings saved." +msgstr "Qurğular qeyd edildi." + +#: src/fe-gtk/menu.c:1048 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" + +#: src/fe-gtk/menu.c:1063 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" + +#: src/fe-gtk/menu.c:1072 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" + +#: src/fe-gtk/menu.c:1081 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" + +#: src/fe-gtk/menu.c:1091 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of X-Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1100 +msgid "X-Chat: User Defined Commands" +msgstr "X-Chat: İstifadəçi Tə'yinli Əmrlər" + +#: src/fe-gtk/menu.c:1107 +msgid "X-Chat: Userlist Popup menu" +msgstr "X-Chat: İstifadəçi siyahısı popup menyusu" + +#: src/fe-gtk/menu.c:1114 +msgid "X-Chat: Replace" +msgstr "X-Chat: Əvəz Et" + +#: src/fe-gtk/menu.c:1121 +msgid "X-Chat: URL Handlers" +msgstr "X-Chat: URL Açıcıları" + +#: src/fe-gtk/menu.c:1140 +msgid "X-Chat: Userlist buttons" +msgstr "X-Chat: İstifadəçi siyahısı düymələri" + +#: src/fe-gtk/menu.c:1147 +msgid "X-Chat: Dialog buttons" +msgstr "X-Chat: Dialoq düymələri" + +#: src/fe-gtk/menu.c:1154 +msgid "X-Chat: CTCP Replies" +msgstr "X-Chat: CTCP Cavabları" + +#: src/fe-gtk/menu.c:1242 +msgid "_X-Chat" +msgstr "_X-Chat" + +#: src/fe-gtk/menu.c:1243 +msgid "Server List..." +msgstr "Verici Siyahısı..." + +#: src/fe-gtk/menu.c:1247 +msgid "Server Tab..." +msgstr "Verici Səkməsi..." + +#: src/fe-gtk/menu.c:1248 +msgid "Channel Tab..." +msgstr "Kanal Səkməsi..." + +#: src/fe-gtk/menu.c:1249 +msgid "Server Window..." +msgstr "Verici Pəncərəsi..." + +#: src/fe-gtk/menu.c:1250 +msgid "Channel Window..." +msgstr "Kanal Pəncərəsi..." + +#: src/fe-gtk/menu.c:1255 src/fe-gtk/menu.c:1257 +msgid "Load Plugin or Script..." +msgstr "Əlavə ya da skript yüklə..." + +#: src/fe-gtk/menu.c:1261 +msgid "New Shell Tab..." +msgstr "Yeni Qabıq Səkməsi..." + +#: src/fe-gtk/menu.c:1270 +msgid "Quit" +msgstr "Çıx" + +#: src/fe-gtk/menu.c:1272 +msgid "_IRC" +msgstr "_IRC" + +#: src/fe-gtk/menu.c:1273 +msgid "Invisible" +msgstr "Gizli" + +#: src/fe-gtk/menu.c:1274 +msgid "Receive Wallops" +msgstr "Wallopları al" + +#: src/fe-gtk/menu.c:1275 +msgid "Receive Server Notices" +msgstr "Verici bildirişlərini al" + +#: src/fe-gtk/menu.c:1277 +msgid "Marked Away" +msgstr "Uzaqda" + +#: src/fe-gtk/menu.c:1279 +msgid "Auto Rejoin when Kicked" +msgstr "Kick-lənəndə avtomatik olaraq yenidən daxil ol" + +#: src/fe-gtk/menu.c:1280 +msgid "Auto Reconnect to Server" +msgstr "Vericiyə avtomatik olaraq yenidən bağlan" + +#: src/fe-gtk/menu.c:1281 +msgid "Never-give-up ReConnect" +msgstr "Qətiyyən yenidən bağlanmağı sonlandırma" + +#: src/fe-gtk/menu.c:1283 +msgid "Auto Open Dialog Windows" +msgstr "Dialoq pəncərələrini avtomatik aç" + +#: src/fe-gtk/menu.c:1284 +msgid "Auto Accept Direct Chat" +msgstr "Birbaşa söhbəti avtomatik qəbul et" + +#: src/fe-gtk/menu.c:1285 +msgid "Auto Accept Files" +msgstr "Faylları avtomatik qəbul et " + +#: src/fe-gtk/menu.c:1287 +msgid "_Server" +msgstr "_Verici" + +#: src/fe-gtk/menu.c:1289 +msgid "S_ettings" +msgstr "_Qurğular" + +#: src/fe-gtk/menu.c:1290 +msgid "Preferences..." +msgstr "Seçimlər..." + +#: src/fe-gtk/menu.c:1292 +msgid "Lists" +msgstr "Siyahılar" + +#: src/fe-gtk/menu.c:1293 +msgid "Auto Replace..." +msgstr "Avtomatik Əvəz Et..." + +#: src/fe-gtk/menu.c:1294 +msgid "CTCP Replies..." +msgstr "CTCP Cavabları..." + +#: src/fe-gtk/menu.c:1295 +msgid "Dialog Buttons..." +msgstr "Dialoq Düymələri..." + +#: src/fe-gtk/menu.c:1296 +msgid "Key Bindings..." +msgstr "Qısa Yollar..." + +#: src/fe-gtk/menu.c:1297 +msgid "Text Events..." +msgstr "Mətn Hadisələri..." + +#: src/fe-gtk/menu.c:1298 +msgid "URL Handlers..." +msgstr "URL Açıcıları..." + +#: src/fe-gtk/menu.c:1299 +msgid "User Commands..." +msgstr "İstifadəçi Əmrləri..." + +#: src/fe-gtk/menu.c:1300 +msgid "Userlist Buttons..." +msgstr "İstifadəçi Siyahısı Düymələri..." + +#: src/fe-gtk/menu.c:1301 +msgid "Userlist Popup..." +msgstr "İstifadəçi Siyahısı Popup-ı..." + +#: src/fe-gtk/menu.c:1306 +msgid "Reload Settings" +msgstr "Qurğuları Yenilə" + +#: src/fe-gtk/menu.c:1308 +msgid "Save Settings now" +msgstr "Qurğuları indi qeyd et" + +#: src/fe-gtk/menu.c:1309 +msgid "Save Settings on exit" +msgstr "Qurğuları çıxışda qeyd et" + +#: src/fe-gtk/menu.c:1312 +msgid "_Window" +msgstr "_Pəncərə" + +#: src/fe-gtk/menu.c:1313 +msgid "Ban List..." +msgstr "Ban Siyahısı..." + +#: src/fe-gtk/menu.c:1314 +msgid "Channel List..." +msgstr "Kanal Siyahısı..." + +#: src/fe-gtk/menu.c:1315 +msgid "Character Chart..." +msgstr "Hərf Cədvəli..." + +#: src/fe-gtk/menu.c:1316 +msgid "Direct Chat..." +msgstr "Birbaşa Söhbət..." + +#: src/fe-gtk/menu.c:1317 +msgid "File Receive..." +msgstr "Fayl Alışı..." + +#: src/fe-gtk/menu.c:1318 +msgid "File Send..." +msgstr "Fayl Göndərilməsi..." + +#: src/fe-gtk/menu.c:1319 +msgid "Ignore List..." +msgstr "Rədd Siyahısı..." + +#: src/fe-gtk/menu.c:1320 +msgid "Notify List..." +msgstr "Bildiriş Siyahısı..." + +#: src/fe-gtk/menu.c:1321 +msgid "Plugins and Scripts..." +msgstr "Əlavələr və Skriptlər..." + +#: src/fe-gtk/menu.c:1322 +msgid "Raw Log..." +msgstr "Xam Qeyd..." + +#: src/fe-gtk/menu.c:1323 +msgid "URL Grabber..." +msgstr "URL Alıcısı..." + +#: src/fe-gtk/menu.c:1325 +msgid "C_lear Text" +msgstr "Mətni _Təmizlə" + +#: src/fe-gtk/menu.c:1326 +msgid "Search Text..." +msgstr "Mətni Axtar..." + +#: src/fe-gtk/menu.c:1327 +msgid "Save Text..." +msgstr "Mətni Qeyd Et..." + +#: src/fe-gtk/menu.c:1329 +msgid "_Help" +msgstr "_Yardım" + +#: src/fe-gtk/menu.c:1330 +msgid "_Contents" +msgstr "_Məzmun" + +#: src/fe-gtk/menu.c:1331 +msgid "_About" +msgstr "_Haqqında" + +#: src/fe-gtk/menu.c:1400 +msgid "Attach Tab" +msgstr "Səkməni İlişdir" + +#: src/fe-gtk/notifygui.c:109 +msgid "User" +msgstr "İstifadəçi" + +#: src/fe-gtk/notifygui.c:111 +msgid "Server" +msgstr "Verici" + +#: src/fe-gtk/notifygui.c:112 +msgid "Last Seen" +msgstr "Son Görülmüşdür" + +#: src/fe-gtk/notifygui.c:149 +msgid "Offline" +msgstr "Xətdən Xaric" + +#: src/fe-gtk/notifygui.c:169 +msgid "Never" +msgstr "Qətiyyən" + +#: src/fe-gtk/notifygui.c:187 +msgid "Online" +msgstr "Xətdə" + +#: src/fe-gtk/notifygui.c:277 +msgid "Enter nickname to add:" +msgstr "Əlavə ediləcək ləqəbi yazın:" + +#: src/fe-gtk/notifygui.c:293 +msgid "X-Chat: Notify List" +msgstr "X-Chat: Bildiriş Siyahısı" + +#: src/fe-gtk/notifygui.c:306 src/fe-gtk/servlistgui.c:717 +msgid "Add" +msgstr "Əlavə Et" + +#: src/fe-gtk/notifygui.c:308 +msgid "Remove" +msgstr "Sil" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:387 +msgid "Description" +msgstr "İzahat" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Yüklənəcək Əlavə ya da Skripti Seç" + +#: src/fe-gtk/plugingui.c:219 +msgid "X-Chat: Plugins and Scripts" +msgstr "X-Chat: Əlavələr və Skriptlər" + +#: src/fe-gtk/plugingui.c:225 +msgid "_Load..." +msgstr "_Yüklə..." + +#: src/fe-gtk/plugingui.c:228 +msgid "_UnLoad" +msgstr "Çı_xart" + +#: src/fe-gtk/plugingui.c:232 +msgid "_Close" +msgstr "_Bağla" + +#: src/fe-gtk/rawlog.c:78 +msgid "Save rawlog" +msgstr "Xam qeydi qeyd et" + +#: src/fe-gtk/rawlog.c:94 +#, c-format +msgid "X-Chat: Rawlog (%s)" +msgstr "X-Chat: Xam qeyd (%s)" + +#: src/fe-gtk/rawlog.c:123 +msgid "Clear rawlog" +msgstr "Xam qeydi təmizlə" + +#: src/fe-gtk/rawlog.c:126 +msgid "Save rawlog..." +msgstr "Xam qeydi qeyd et..." + +#: src/fe-gtk/search.c:47 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Bu axtarışı açtığınız pəncərə artıq mövcud deyil." + +#: src/fe-gtk/search.c:91 +msgid "X-Chat: Search" +msgstr "X-Chat: Axtarış" + +#: src/fe-gtk/search.c:100 +msgid "Find:" +msgstr "Axtar:" + +#: src/fe-gtk/search.c:114 +msgid "Find" +msgstr "Axtar" + +#: src/fe-gtk/search.c:119 +msgid "Close" +msgstr "Bağla" + +#: src/fe-gtk/servlistgui.c:161 +#, c-format +msgid "Settings for %s" +msgstr "%s qurğuları" + +#: src/fe-gtk/servlistgui.c:202 src/fe-gtk/servlistgui.c:275 +msgid "New Network" +msgstr "Yeni Şəbəkə" + +#: src/fe-gtk/servlistgui.c:370 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Həqiqətən də \"%s\" şəbəkəsi və bütün onun vericiləri silinsin?" + +#: src/fe-gtk/servlistgui.c:407 src/fe-gtk/servlistgui.c:437 +#, c-format +msgid "_Remove \"%s\"" +msgstr "\"%s\" şəbəkəsini _sil" + +#: src/fe-gtk/servlistgui.c:414 +msgid "_Add new server" +msgstr "_Yeni verici əlavə et" + +#: src/fe-gtk/servlistgui.c:444 +#, c-format +msgid "Move \"%s\" _down" +msgstr "\"%s\" şəbəkəsini _aşağı daşı" + +#: src/fe-gtk/servlistgui.c:451 +#, c-format +msgid "Move \"%s\" _up" +msgstr "\"%s\" şəbəkəsini _yuxarı daşı" + +#: src/fe-gtk/servlistgui.c:462 +msgid "_Add new network" +msgstr "Yeni şəbəkə əla_və et" + +#: src/fe-gtk/servlistgui.c:831 +msgid "Global User Info" +msgstr "Ümumi İstifadəçi Mə'lumatları" + +#: src/fe-gtk/servlistgui.c:839 +msgid "Nick Names:" +msgstr "Ləqəblər:" + +#: src/fe-gtk/servlistgui.c:858 src/fe-gtk/servlistgui.c:1061 +msgid "User Name:" +msgstr "İstifadəçi Adı:" + +#: src/fe-gtk/servlistgui.c:871 src/fe-gtk/servlistgui.c:1063 +msgid "Real Name:" +msgstr "Həqiqi Adınız:" + +#: src/fe-gtk/servlistgui.c:913 +msgid "C_onnect" +msgstr "_Bağlan" + +#: src/fe-gtk/servlistgui.c:921 +msgid "Connect in a _new tab" +msgstr "Yeni səkmədə _bağlan" + +#: src/fe-gtk/servlistgui.c:981 +msgid "Servers" +msgstr "Vericilər" + +#: src/fe-gtk/servlistgui.c:1019 +msgid "Character Set:" +msgstr "Hərf Dəstəsi:" + +#: src/fe-gtk/servlistgui.c:1059 +msgid "Nick Name:" +msgstr "Ləqəb:" + +#: src/fe-gtk/servlistgui.c:1064 +msgid "Server Password:" +msgstr "Verici Şifrəsi:" + +#: src/fe-gtk/servlistgui.c:1066 +msgid "Join Channels:" +msgstr "Bağlanacaq Kanallar:" + +#: src/fe-gtk/servlistgui.c:1068 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Daxil olunacaq kanallar (vegüllə ayırın)" + +#: src/fe-gtk/servlistgui.c:1069 +msgid "Connect Command:" +msgstr "Bağlanma Əmri:" + +#: src/fe-gtk/servlistgui.c:1071 +msgid "" +"Command to execute after connecting. Can be used to authenticate to NickServ" +msgstr "" +"Bağlandıqdan sonra icra ediləcək əmr. Məsələn NickServ-ə qeyd olmaq üçün" + +#: src/fe-gtk/servlistgui.c:1079 +msgid "Cycle until connected" +msgstr "Bağlanana qədər sına" + +#: src/fe-gtk/servlistgui.c:1080 +msgid "Use global user info" +msgstr "Ümumi istifadəçi mə'lumatını işlət" + +#: src/fe-gtk/servlistgui.c:1081 +msgid "Use secure SSL" +msgstr "E'tibarlı SSL işlət" + +#: src/fe-gtk/servlistgui.c:1082 +msgid "Auto connect at startup" +msgstr "Avtomatik bağlan" + +#: src/fe-gtk/servlistgui.c:1083 +msgid "Use a proxy server" +msgstr "Vəkil vericisi işlət" + +#: src/fe-gtk/servlistgui.c:1084 +msgid "Accept invalid cert." +msgstr "Hökmsüz vəs. qəbulu" + +#: src/fe-gtk/servlistgui.c:1093 +msgid "Settings for Selected Network" +msgstr "Seçili Şəbəkənin Qurğuları" + +#: src/fe-gtk/servlistgui.c:1133 +msgid "Edit mode" +msgstr "Təfərruatlar" + +#: src/fe-gtk/servlistgui.c:1140 +msgid "Networks" +msgstr "Şəbəkələr" + +#: src/fe-gtk/servlistgui.c:1185 +msgid "No server list on startup" +msgstr "Başlanğıcda verici siyahısını göstərmə" + +#: src/fe-gtk/servlistgui.c:1212 +msgid "X-Chat: Server List" +msgstr "X-Chat: Verici Siyahı" + +#: src/fe-gtk/setup.c:84 +msgid "Font:" +msgstr "Yazı növü:" + +#: src/fe-gtk/setup.c:85 +msgid "Background image:" +msgstr "Arxa plan rəsmi:" + +#: src/fe-gtk/setup.c:86 +msgid "Time stamp format:" +msgstr "Tarix mühürü şəkli:" + +#: src/fe-gtk/setup.c:87 +msgid "See strftime manpage for details." +msgstr "Təfərruatlar üçün strftime man səhifəsinə baxın" + +#: src/fe-gtk/setup.c:88 +msgid "Time stamp text" +msgstr "Tarix mühürü mətni" + +#: src/fe-gtk/setup.c:89 +msgid "Transparent background" +msgstr "Şəffaf arxa plan" + +#: src/fe-gtk/setup.c:90 +msgid "Indent nicks" +msgstr "Ləqəbləri çərtmələ" + +#: src/fe-gtk/setup.c:91 +msgid "Tint transparency" +msgstr "Rəngli şəffaflıq" + +#: src/fe-gtk/setup.c:92 +msgid "Colored nicks" +msgstr "Rəngli ləqəblər" + +#: src/fe-gtk/setup.c:93 +msgid "Strip mIRC color" +msgstr "mIRC rənglərini göstərmə" + +#: src/fe-gtk/setup.c:94 +msgid "Scrollback lines:" +msgstr "Geri dönüş sətiri miqdarı:" + +#: src/fe-gtk/setup.c:95 +msgid "Tint red:" +msgstr "Qırmızı:" + +#: src/fe-gtk/setup.c:96 +msgid "Tint green:" +msgstr "Yaşıl:" + +#: src/fe-gtk/setup.c:97 +msgid "Tint blue:" +msgstr "Mavi:" + +#: src/fe-gtk/setup.c:103 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "%nnn-ı ASCII qiyməti olaraq qəbul et" + +#: src/fe-gtk/setup.c:104 +msgid "Automatic nick completion" +msgstr "Avtomatik ləqəb tamamlaması" + +#: src/fe-gtk/setup.c:105 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "" + +#: src/fe-gtk/setup.c:106 src/fe-gtk/setup.c:138 +msgid "Use the Text box font and colors" +msgstr "Söhbət pəncərəsi yazı növü və rənglərini işlət" + +#: src/fe-gtk/setup.c:107 +msgid "Nick completion suffix:" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Off" +msgstr "Bağlı" + +#: src/fe-gtk/setup.c:114 +msgid "Graph" +msgstr "Qrafika" + +#: src/fe-gtk/setup.c:115 +msgid "Info text" +msgstr "Mə'lumat mətni" + +#: src/fe-gtk/setup.c:116 +msgid "Both" +msgstr "Hər ikisi də" + +#: src/fe-gtk/setup.c:122 +msgid "A-Z, Ops first" +msgstr "A-Z, Əvvəlcə Oplar" + +#: src/fe-gtk/setup.c:123 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:124 +msgid "Z-A, Ops last" +msgstr "Z-A, Oplar Sonda" + +#: src/fe-gtk/setup.c:125 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:126 +msgid "Unsorted" +msgstr "Nizamsız" + +#: src/fe-gtk/setup.c:132 +msgid "Lag meter:" +msgstr "Lag ölçəni:" + +#: src/fe-gtk/setup.c:133 +msgid "Throttle meter:" +msgstr "Throttle ölçəni:" + +#: src/fe-gtk/setup.c:134 +msgid "Userlist sorted by:" +msgstr "İstifadəçi siyahısının nizamlanma şəkli:" + +#: src/fe-gtk/setup.c:135 +msgid "Double-click command:" +msgstr "Cüt təqlama əmri:" + +#: src/fe-gtk/setup.c:136 +msgid "Show hostnames in userlist" +msgstr "İstifadəçi siyahısında qovşaq adlarını göstər" + +#: src/fe-gtk/setup.c:137 +msgid "Userlist buttons enabled" +msgstr "İstifadəçi siyahısı düymələrini göstər" + +#: src/fe-gtk/setup.c:139 +msgid "Resizable userlist" +msgstr "Böyüklüyü dəyişdirilə bilən istifadəçi siyahısı" + +#: src/fe-gtk/setup.c:140 +msgid "Track away-status on channels smaller than:" +msgstr "" + +#: src/fe-gtk/setup.c:146 +msgid "Windows" +msgstr "Pəncərələrdə" + +#: src/fe-gtk/setup.c:147 src/fe-gtk/setup.c:906 +msgid "Tabs" +msgstr "Səkmələrdə" + +#: src/fe-gtk/setup.c:153 +msgid "Bottom" +msgstr "Altda" + +#: src/fe-gtk/setup.c:154 +msgid "Top" +msgstr "Üstdə" + +#: src/fe-gtk/setup.c:155 +msgid "Left" +msgstr "Solda" + +#: src/fe-gtk/setup.c:156 +msgid "Right" +msgstr "Sağda" + +#: src/fe-gtk/setup.c:157 +msgid "Hidden" +msgstr "Göstərmə" + +#: src/fe-gtk/setup.c:163 +msgid "Show tabs at:" +msgstr "Səkmələrin göstərilmə şəkli:" + +#: src/fe-gtk/setup.c:164 +msgid "Open channels in:" +msgstr "Kanalların açılma şəkli:" + +#: src/fe-gtk/setup.c:165 +msgid "Open dialogs in:" +msgstr "Dialoqların açılma şəkli:" + +#: src/fe-gtk/setup.c:166 +msgid "Open utilities in:" +msgstr "Vasitələrin açılma şəkli:" + +#: src/fe-gtk/setup.c:166 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "" +"DCC Açılması, Rədd Etmə, Bildirişlər səkmələrdəmi yoxsa pəncərələrdəmi " +"açılsın?" + +#: src/fe-gtk/setup.c:167 +msgid "Open tab for server messages" +msgstr "Verici ismarışları üçün səkmə aç" + +#: src/fe-gtk/setup.c:168 +msgid "Open tab for server notices" +msgstr "Verici bildirişləri üçün səkmə aç" + +#: src/fe-gtk/setup.c:169 +msgid "Pop new tabs to front" +msgstr "Yeni səkmələri qabağa gətir" + +#: src/fe-gtk/setup.c:170 +msgid "Shorten tabs to:" +msgstr "Tabların böyüklüyü:" + +#: src/fe-gtk/setup.c:170 +msgid "letters." +msgstr "hərf." + +#: src/fe-gtk/setup.c:176 +msgid "Download files to:" +msgstr "Faylları buraya endir:" + +#: src/fe-gtk/setup.c:177 +msgid "Move completed files to:" +msgstr "Tamamlanan faylları buraya daşı:" + +#: src/fe-gtk/setup.c:178 +msgid "DCC IP address:" +msgstr "DCC IP ünvanı:" + +#: src/fe-gtk/setup.c:179 +msgid "Claim you are at this address when offering files." +msgstr "Fayl təklif edəndə bu ünvanda olduğunu bildir." + +#: src/fe-gtk/setup.c:180 +msgid "First DCC send port:" +msgstr "Birinci DCC göndərmə portu:" + +#: src/fe-gtk/setup.c:181 +msgid "Last DCC send port:" +msgstr "Sonuncu DCC göndərmə portu:" + +#: src/fe-gtk/setup.c:182 +msgid "(Leave ports at zero for full range)." +msgstr "(Tam aralıq üçün portları boş buraxın)" + +#: src/fe-gtk/setup.c:183 +msgid "Auto open DCC send list" +msgstr "DCC göndərmə siyahısını avtomatik aç" + +#: src/fe-gtk/setup.c:184 +msgid "Convert spaces to underscore" +msgstr "Boşluqları alt cızıqlara dönüşdür" + +#: src/fe-gtk/setup.c:185 +msgid "In filenames, before sending" +msgstr "Fayl adlarında, göndərmədən əvvəl" + +#: src/fe-gtk/setup.c:186 +msgid "Auto open DCC chat list" +msgstr "DCC söhbət siyahısını avtomatik aç" + +#: src/fe-gtk/setup.c:187 +msgid "Save nickname in filenames" +msgstr "Fayl adlarına ləqəbi qeyd et" + +#: src/fe-gtk/setup.c:188 +msgid "Auto open DCC receive list" +msgstr "DCC alış siyahısını avtomatik aç" + +#: src/fe-gtk/setup.c:189 +msgid "Get my IP from IRC server" +msgstr "IP-mi IRC vericisindən al" + +#: src/fe-gtk/setup.c:190 +msgid "" +"/WHOIS yourself to find your real address. Use this if you have a 192.168.*." +"* address!" +msgstr "" +"Həqiqi ünvanınızı bilmək üçün özünüzü /WHOIS-ləyin. Əgər 192.168.*.* bənzəri " +"ünvanınız varsa bunu işlədin." + +#: src/fe-gtk/setup.c:191 +msgid "Max. send CPS:" +msgstr "Maks. göndərmə CPS-i:" + +#: src/fe-gtk/setup.c:192 src/fe-gtk/setup.c:194 +msgid "Max. speed for one transfer" +msgstr "Bir transfer üçün maksimal sür'ət" + +#: src/fe-gtk/setup.c:193 +msgid "Max. receive CPS:" +msgstr "Maks. alış CPS-i:" + +#: src/fe-gtk/setup.c:195 +msgid "Max. global send CPS:" +msgstr "Maks. qlobal göndərmə CPS-i:" + +#: src/fe-gtk/setup.c:196 src/fe-gtk/setup.c:198 +msgid "Max. speed for all traffic" +msgstr "Bütün alış verişlər üçün maksimal sür'ət" + +#: src/fe-gtk/setup.c:197 +msgid "Max. global receive CPS:" +msgstr "Maks. qlobal alış CPS-i:" + +#: src/fe-gtk/setup.c:199 +msgid "(Leave at zero for full speed file transfers)." +msgstr "(Tam sür'ətli transferlər üçün boş buraxın)" + +#: src/fe-gtk/setup.c:205 +msgid "Default quit message:" +msgstr "Ön qurğulu çıxış ismarışı:" + +#: src/fe-gtk/setup.c:206 +msgid "Default part message:" +msgstr "Ön qurğulu part ismarışı:" + +#: src/fe-gtk/setup.c:207 +msgid "Default away message:" +msgstr "Ön qurğulu uzaqda ismarışı:" + +#: src/fe-gtk/setup.c:209 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "" + +#: src/fe-gtk/setup.c:211 +msgid "(Can be a text file relative to config dir)." +msgstr "" + +#: src/fe-gtk/setup.c:213 +msgid "Extra words to highlight on:" +msgstr "İşıqlandırılacaq əlavə kəlmələr:" + +#: src/fe-gtk/setup.c:214 +msgid "(Separate multiple words with commas)." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Show away once" +msgstr "Uzaqda cəziyyətini bir dəfə göstər" + +#: src/fe-gtk/setup.c:215 +#, fuzzy +msgid "Show identical away messages only once" +msgstr "Göstər" + +#: src/fe-gtk/setup.c:216 +#, fuzzy +msgid "Beep on private messages" +msgstr "açık xüsusi" + +#: src/fe-gtk/setup.c:217 +msgid "Automatically unmark away" +msgstr "" + +#: src/fe-gtk/setup.c:217 +#, fuzzy +msgid "Unmark yourself as away before sending messages" +msgstr "əvvəl" + +#: src/fe-gtk/setup.c:218 +#, fuzzy +msgid "Beep on channel messages" +msgstr "açık" + +#: src/fe-gtk/setup.c:219 +msgid "Announce away messages" +msgstr "" + +#: src/fe-gtk/setup.c:219 +msgid "Announce your away messages to all channels" +msgstr "" + +#: src/fe-gtk/setup.c:220 +#, fuzzy +msgid "Beep on highlighted messages" +msgstr "açık" + +#: src/fe-gtk/setup.c:221 +#, fuzzy +msgid "Display MODEs in raw form" +msgstr "Göstər in" + +#: src/fe-gtk/setup.c:222 +#, fuzzy +msgid "Whois on notify" +msgstr "açık" + +#: src/fe-gtk/setup.c:222 +#, fuzzy +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "a a in" + +#: src/fe-gtk/setup.c:223 +#, fuzzy +msgid "Hide join/part messages" +msgstr "Gizlət" + +#: src/fe-gtk/setup.c:223 +#, fuzzy +msgid "Hide channel join/part messages by default" +msgstr "Gizlət ön qurğulu" + +#: src/fe-gtk/setup.c:224 +#, fuzzy +msgid "Auto reconnect delay:" +msgstr "Avtomatik:" + +#: src/fe-gtk/setup.c:230 +msgid "Log filename mask:" +msgstr "" + +#: src/fe-gtk/setup.c:231 +#, c-format +msgid "(%s=Server %c=Channel %n=Network)." +msgstr "(%s=Verici %c=Kanal %n=Şəbəkə)" + +#: src/fe-gtk/setup.c:232 +msgid "Log timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:233 +#, fuzzy +msgid "(See strftime manpage for details)." +msgstr "Baxın." + +#: src/fe-gtk/setup.c:234 +#, fuzzy +msgid "Enable logging of conversations" +msgstr "Fəallaşdır /" + +#: src/fe-gtk/setup.c:235 +msgid "Insert timestamps in logs" +msgstr "Qeydlərə tarix mühürünü daxil et" + +#: src/fe-gtk/setup.c:241 +msgid "(Disabled)" +msgstr "(Qeyri fəaldır)" + +#: src/fe-gtk/setup.c:242 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:243 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:244 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:245 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:251 +msgid "Address to bind to:" +msgstr "Yapışdırılacaq ünvan:" + +#: src/fe-gtk/setup.c:252 +msgid "(Only useful for computers with multiple addresses)." +msgstr "" + +#: src/fe-gtk/setup.c:253 +msgid "Proxy server" +msgstr "Vəkil vericisi" + +#: src/fe-gtk/setup.c:254 +msgid "Hostname:" +msgstr "Qovşaq adı:" + +#: src/fe-gtk/setup.c:255 +msgid "Username:" +msgstr "İstifadəçi adı:" + +#: src/fe-gtk/setup.c:256 +msgid "Password:" +msgstr "Şifrə:" + +#: src/fe-gtk/setup.c:257 +msgid "Port:" +msgstr "Qapı:" + +#: src/fe-gtk/setup.c:258 +msgid "Type:" +msgstr "Növ:" + +#: src/fe-gtk/setup.c:260 +msgid "Authenticate to the proxy server (only HTTP)" +msgstr "Vəkil vericisinə tanıt (Ancaq HTTP)" + +#: src/fe-gtk/setup.c:483 +msgid "Select an Image File" +msgstr "Rəsm faylı seç" + +#: src/fe-gtk/setup.c:530 +msgid "Select font" +msgstr "Yazı növü seç" + +#: src/fe-gtk/setup.c:604 +msgid "Browse..." +msgstr "Gəz..." + +#: src/fe-gtk/setup.c:768 +msgid "Select color" +msgstr "Rəng seç" + +#: src/fe-gtk/setup.c:834 +msgid "mIRC colors:" +msgstr "mIRC rəngləri:" + +#: src/fe-gtk/setup.c:843 +msgid "Foreground:" +msgstr "Ön plan:" + +#: src/fe-gtk/setup.c:844 +msgid "Background:" +msgstr "Arxa plan:" + +#: src/fe-gtk/setup.c:846 +msgid "Mark fore:" +msgstr "Ön işarə:" + +#: src/fe-gtk/setup.c:847 +msgid "Mark back:" +msgstr "Arxa işarə:" + +#: src/fe-gtk/setup.c:849 +msgid "Away User:" +msgstr "Uzaq İstifadəçi:" + +#: src/fe-gtk/setup.c:851 +#, fuzzy +msgid "Tab colors" +msgstr "mIRC rəngləri:" + +#: src/fe-gtk/setup.c:862 +msgid "New Data:" +msgstr "Yeni Mə'lumat:" + +#: src/fe-gtk/setup.c:863 +msgid "New Message:" +msgstr "Yeni İsmarış:" + +#: src/fe-gtk/setup.c:864 +msgid "Highlight:" +msgstr "İşıqlandırma:" + +#: src/fe-gtk/setup.c:902 +msgid "Interface" +msgstr "Ara üz" + +#: src/fe-gtk/setup.c:903 +msgid "Text box" +msgstr "Söhbət pəncərəsi" + +#: src/fe-gtk/setup.c:904 +msgid "Input box" +msgstr "Giriş qutusu" + +#: src/fe-gtk/setup.c:905 +msgid "User list" +msgstr "İstifadəçi siyahısı" + +#: src/fe-gtk/setup.c:907 +msgid "Colors" +msgstr "Rənglər" + +#: src/fe-gtk/setup.c:909 +msgid "Chatting" +msgstr "Söhbət" + +#: src/fe-gtk/setup.c:910 +msgid "General" +msgstr "Ümumi" + +#: src/fe-gtk/setup.c:911 +msgid "Logging" +msgstr "Qeyd" + +#: src/fe-gtk/setup.c:913 +msgid "Network" +msgstr "Şəbəkə" + +#: src/fe-gtk/setup.c:914 +msgid "Network setup" +msgstr "Şəbəkə qurğusu" + +#: src/fe-gtk/setup.c:915 +msgid "File transfers" +msgstr "Fayl transferləri" + +#: src/fe-gtk/setup.c:1020 +msgid "Categories" +msgstr "Kateqoriyalar" + +#: src/fe-gtk/setup.c:1146 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" +"Bə'zi seçimlərin tətbiq edilməsi üçün proqramı yenidən başlatmalısınız." + +#: src/fe-gtk/setup.c:1173 +msgid "X-Chat: Preferences" +msgstr "X-Chat: Seçimlər" + +#: src/fe-gtk/textgui.c:184 +msgid "There was an error parsing the string" +msgstr "Qatar oxunanda xəta yarandı" + +#: src/fe-gtk/textgui.c:192 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:326 +msgid "Print Texts File" +msgstr "Mətn Faylını Çap Et" + +#: src/fe-gtk/textgui.c:382 +msgid "Event" +msgstr "Hadisə" + +#: src/fe-gtk/textgui.c:384 +msgid "Sound" +msgstr "Səs" + +#: src/fe-gtk/textgui.c:386 +msgid "$ Number" +msgstr "$ Nömrəsi" + +#: src/fe-gtk/textgui.c:396 +msgid "Edit Events" +msgstr "Hadisələri Dəyişdir" + +#: src/fe-gtk/textgui.c:434 +msgid "Sound file: " +msgstr "Səs faylı: " + +#: src/fe-gtk/textgui.c:469 +msgid "Save As" +msgstr "Fərqli Qeyd Et" + +#: src/fe-gtk/textgui.c:474 +msgid "Load From" +msgstr "Buradan Yüklə" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Hamısı Sına" + +#: src/fe-gtk/urlgrab.c:97 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:147 +msgid "Select a file to save to" +msgstr "Qeyd ediləcək fayl seç" + +#: src/fe-gtk/urlgrab.c:187 +msgid "X-Chat: URL Grabber" +msgstr "X-Chat: URL Alıcısı" + +#: src/fe-gtk/urlgrab.c:200 +msgid "Clear list" +msgstr "Siyahını təmizlə" + +#: src/fe-gtk/urlgrab.c:202 +msgid "Copy selected URL" +msgstr "Seçili URL-ni Köçür" + +#: src/fe-gtk/urlgrab.c:202 +msgid "Copy" +msgstr "Köçür" + +#: src/fe-gtk/urlgrab.c:204 +msgid "Save list to a file" +msgstr "Siyahını fayla qeyd et" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d op, %d toplam" + +#~ msgid "Error String" +#~ msgstr "Xətalı Qatar" + +#~ msgid "Error name" +#~ msgstr "Xəta adı" + +#~ msgid "Error string" +#~ msgstr "Xəta qatarı" diff --git a/po/be.po b/po/be.po new file mode 100644 index 00000000..5ab10312 --- /dev/null +++ b/po/be.po @@ -0,0 +1,5278 @@ +# translation of xchat-2.8.1.po to Belarusian +# This file is put in the public domain. +# Pavel Piatruk , 2006, 2007. +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.8.1\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2007-03-28 14:09+1000\n" +"PO-Revision-Date: 2007-05-23 12:27+0300\n" +"Last-Translator: Pavel Piatruk \n" +"Language-Team: Belarusian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.10.2\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "Не магу стварыць ~/.xchat2" + +#: src/common/cfgfiles.c:704 +msgid "I'm busy" +msgstr "Я заняты" + +#: src/common/cfgfiles.c:705 +msgid "Leaving" +msgstr "Выходжу" + +#: src/common/cfgfiles.c:751 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Выконваць IRC з-пад root'a - глупства.\n" +" Вы павінны стварыць карыстальніцкі\n" +" рахунак у сістэме і ўжываць яго\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Чаканне" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Актыўны" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Памылка" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Выканана" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:775 +msgid "Connect" +msgstr "Злучэнне" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Перарвана" + +#: src/common/dcc.c:1886 src/common/outbound.c:2450 +#, c-format +msgid "Cannot access %s\n" +msgstr "Няма доступу да %s\n" + +#: src/common/dcc.c:1887 src/common/text.c:918 src/common/text.c:956 +#: src/common/text.c:967 src/common/text.c:974 src/common/text.c:987 +#: src/common/text.c:1004 src/common/text.c:1104 src/common/util.c:352 +msgid "Error" +msgstr "Памылка" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s прапануе \"%s\". Вы згодны?" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "Няма актыўных каналаў данніх (DCC)\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "Так " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "Не " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Вас затапліваюць CTCP запытамі з %s, %s ігнаруецца\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "Вас затапліваюць паведамленнямі з %s, аўтадыялог адключаны\n" + +#: src/common/notify.c:449 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s у сеціве\n" + +#: src/common/notify.c:451 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s адключаны\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #\n" +msgstr "Не зайшлі на канал. Паспрабуйце /join #\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server []\n" +msgstr "Няма злучэння. Паспрабуйце /server <вузел> [<порт>]\n" + +#: src/common/outbound.c:339 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Ужо пазначаны адышэдшым: %s\n" + +#: src/common/outbound.c:409 +msgid "Already marked back.\n" +msgstr "Ужо пазначаны вярнуўшымся.\n" + +#: src/common/outbound.c:1812 +msgid "I need /bin/sh to run!\n" +msgstr "Для запуску патрэбна праграма /bin/sh !\n" + +#: src/common/outbound.c:2183 +msgid "Commands Available:" +msgstr "Даступныя каманды:" + +#: src/common/outbound.c:2197 +msgid "User defined commands:" +msgstr "Вызначаныя карыстальнікам каманды:" + +#: src/common/outbound.c:2213 +msgid "Plugin defined commands:" +msgstr "Вызначаныя плагінам каманды:" + +#: src/common/outbound.c:2224 +msgid "Type /HELP for more information, or /HELP -l" +msgstr "Набярыце /HELP <каманда> для даведкі ці /HELP -l" + +#: src/common/outbound.c:2299 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Невядомы аргумент '%s' праігнараваны." + +#: src/common/outbound.c:3238 +msgid "No such plugin found.\n" +msgstr "Плагін не знойдзены.\n" + +#: src/common/outbound.c:3243 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Гэты плагін немагчыма выгрузіць.\n" + +#: src/common/outbound.c:3512 +msgid "ADDBUTTON , adds a button under the user-list" +msgstr "ADDBUTTON <імя> <дзеянне>, дадае кнопку пад спісам карыстальнікаў" + +#: src/common/outbound.c:3514 +msgid "ALLCHAN , sends a command to all channels you're in" +msgstr "ALLCHAN <каманда>, дасылае каманду на ўсе каналы, куды вы зайшлі" + +#: src/common/outbound.c:3516 +msgid "ALLCHANL , sends a command to all channels you're in" +msgstr "ALLCHANL <каманда>, дасылае каманду на ўсе каналы, куды вы зайшлі" + +#: src/common/outbound.c:3518 +msgid "ALLSERV , sends a command to all servers you're in" +msgstr "ALLSERV <каманда>, дасылае каманду на ўсе серверы, з якімі вы злучаны" + +#: src/common/outbound.c:3519 +msgid "AWAY [], sets you away" +msgstr "AWAY [<прычына>], усталяваць статус \"адыйшоў\"" + +#: src/common/outbound.c:3520 +msgid "BACK, sets you back (not away)" +msgstr "BACK, пазначае вас вярнуўшымся (не адышэдшым)" + +#: src/common/outbound.c:3522 +msgid "BAN [], 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 <маска> [<тыпзабароны>], забараняе доступ да канала кожнаму, хто адпавядае маске. Калі гэткія карыстальнікі ўжо на канале, яны не будуць выпхнутыя. (Трэба правы аператара)" + +#: src/common/outbound.c:3524 +msgid "" +"Set per channel options\n" +"CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part messages\n" +"CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +"CHANOPT BEEP ON|OFF - Toggle beep on message\n" +"CHANOPT TRAY ON|OFF - Toggle tray blink on message" +msgstr "" +"Наладкі адносна канала\n" +"CHANOPT CONFMODE ON|OFF - Пераключыцца паміж рэжымам канферэнцыі і паказам уваходных і выходзячых паведамленняў\n" +"CHANOPT COLORPASTE ON|OFF - Пераключыць устаўку колераў\n" +"CHANOPT BEEP ON|OFF - Пераключыць пішчанне пры паведамленнях \n" +"CHANOPT TRAY ON|OFF - Пераключыць мірганне ў сподку пры паведамленнях" + +#: src/common/outbound.c:3531 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR, Ачышчае бягучае тэкставае акно або гісторыю каманд" + +#: src/common/outbound.c:3532 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, Закрывае бягучае акно ці ўкладку" + +#: src/common/outbound.c:3535 +msgid "COUNTRY [-s] , finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <код|маска>, шукае код краіны, напрыклад: au = australia" + +#: src/common/outbound.c:3537 +msgid "CTCP , send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <мянушка> <паведамленне>, дасылае мянушцы CTCP-паведамленне, напрыклад, VERSION ці USERINFO" + +#: src/common/outbound.c:3539 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "CYCLE, выйсці з бягучага канала і адразу зайсці зноў" + +#: src/common/outbound.c:3541 +msgid "" +"\n" +"DCC GET - accept an offered file\n" +"DCC SEND [-maxcps=#] [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT - offer DCC CHAT to someone\n" +"DCC PCHAT - offer DCC CHAT using passive mode\n" +"DCC CLOSE example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" +"\n" +"DCC GET <мянушка> - дазволіць прапанаваны файл\n" +"DCC SEND [-maxcps=#] <мянушка> [файл] - даслаць файл камусьці\n" +"DCC PSEND [-maxcps=#] <мянушка> [файл] - даслаць файл у пасіўным рэжыме\n" +"DCC LIST - паказаць спіс DCC\n" +"DCC CHAT <мянушка> - прапанаваць DCC CHAT камусьці\n" +"DCC PCHAT <мянушка> - прапанаваць DCC CHAT у пасіўным рэжыме\n" +"DCC CLOSE <тып> <мянушка> <файл> напрыклад:\n" +" /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3553 +msgid "DEHOP , removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <мянушка>, выдаляе статус паўаператара ў мянушкі на бягучым канале (патрэбен статус аператара)" + +#: src/common/outbound.c:3555 +msgid "DELBUTTON , deletes a button from under the user-list" +msgstr "DELBUTTON <імя>, выдаляе кнопку пад спісам карыстальнікаў" + +#: src/common/outbound.c:3557 +msgid "DEOP , removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <мянушка>, выдаляе статус аператара ў мянушкі на бягучым канале (патрэбен статус аператара)" + +#: src/common/outbound.c:3559 +msgid "DEVOICE , removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <мянушка>, выдаляе права голасу ў мянушкі на бягучым канале (патрэбен статус аператара)" + +#: src/common/outbound.c:3560 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Адлучыцца ад сервера" + +#: src/common/outbound.c:3561 +msgid "DNS , Finds a users IP number" +msgstr "DNS <мянушка|вузел|ip>, Знайсці IP-адрас карыстальніка" + +#: src/common/outbound.c:3562 +msgid "ECHO , Prints text locally" +msgstr "ECHO <тэкст>, Выводзіць тэкст на лакальнай машыне" + +#: src/common/outbound.c:3565 +msgid "EXEC [-o] , 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] <каманда>, запускае каманду. Калі ўжыты параметр -o, вывад будзе дасланы ў бягучы канал, інакш у бягучае тэкставае акно" + +#: src/common/outbound.c:3567 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, дасылае працэсу сігнал SIGCONT" + +#: src/common/outbound.c:3570 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], забівае выконваючуюся каманду ў бягучай сесіі. Калі адзначаны флаг -9, працэсу дасылается сігнал SIGKILL" + +#: src/common/outbound.c:3572 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, дасылае працэсу сігнал SIGSTOP" + +#: src/common/outbound.c:3573 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, дасылае данні на стандартны ўваход працэса (stdin)" + +#: src/common/outbound.c:3577 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, скінуць чаргу дасылкі на бягучы сервер" + +#: src/common/outbound.c:3579 +msgid "GATE [], proxies through a host, port defaults to 23" +msgstr "GATE <вузел> [<порт>], далучыцца праз вузел, прадвызначаны порт 23" + +#: src/common/outbound.c:3583 +msgid "GHOST , Kills a ghosted nickname" +msgstr "GHOST <мянушка> <пароль>, Выпхнуць з канала карыстальніка-здань" + +#: src/common/outbound.c:3588 +msgid "HOP , gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <мянушка>, даць правы паў-аператара карыстальніку (патрэбна мець правы аператара)" + +#: src/common/outbound.c:3589 +msgid "ID , identifies yourself to nickserv" +msgstr "ID <пароль>, ідэнтыфікаваць сябе nickserv" + +#: src/common/outbound.c:3591 +msgid "" +"IGNORE \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 <маска> <тыпы..> <уласцівасці..>\n" +" маска - маска для ігнаравання, напрыклад: *!*@*.aol.com\n" +" тыпы - тыпы дадзеных для ігнаравання:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" уласцівасці - NOSAVE, QUIET" + +#: src/common/outbound.c:3598 +msgid "INVITE [], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <мянушка> [<канал>], запрасіць кагосьці на канал, калі назва канала не пазначана - на бягучы канал (патрэбен статус аператара)" + +#: src/common/outbound.c:3599 +msgid "JOIN , joins the channel" +msgstr "JOIN <канал>, увайсці на канал" + +#: src/common/outbound.c:3601 +msgid "KICK , kicks the nick from the current channel (needs chanop)" +msgstr "KICK <мянушка>, выпхнуць карыстальніка з бягучага канала (патрэбен статус аператара)" + +#: src/common/outbound.c:3603 +msgid "KICKBAN , bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <мянушка>, забараняе, а потым выпіхвае карыстальніка з бягучага канала (патрэбен статус аператара)" + +#: src/common/outbound.c:3606 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, выканаць праверку сігнала" + +#: src/common/outbound.c:3608 +msgid "LASTLOG , searches for a string in the buffer" +msgstr "LASTLOG <радок>, знайсці радок у буферы" + +#: src/common/outbound.c:3610 +msgid "LOAD [-e] , loads a plugin or script" +msgstr "LOAD [-e] <файл>, загрузіць плагін ці скрыпт" + +#: src/common/outbound.c:3613 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Адабраць паў-аператара ва ўсіх карыстальнікаў бягучага канала (патрэбен статус аператара)" + +#: src/common/outbound.c:3615 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Адабраць аператара ва ўсіх карыстальнікаў бягучага канала (патрабуе статус аператара)" + +#: src/common/outbound.c:3617 +msgid "ME , sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <дзеянне>, дасылае дзеянне на бягучы канал (дзеянні пішуцца ад трэцяй асобы, напрыклад, /me скача)" + +#: src/common/outbound.c:3621 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Выпхнуць усіх карыстальнікаў з бягучага канала, акрамя вас (патрэбен статус аператара)" + +#: src/common/outbound.c:3624 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Надаць усім карыстальнікам бягучага канала статус аператара (патрэбен статус аператара)" + +#: src/common/outbound.c:3625 +msgid "MSG , sends a private message" +msgstr "MSG <мянушка> <паведамленне>, дасылае асабістае паведамленне" + +#: src/common/outbound.c:3628 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, Пералічыць мянушкі карыстальнікаў на бягучым канале" + +#: src/common/outbound.c:3630 +msgid "NCTCP , Sends a CTCP notice" +msgstr "NCTCP <мянушка> <паведамленне>, Дасылае CTCP-абвяшчэнне" + +#: src/common/outbound.c:3631 +msgid "NEWSERVER [-noconnect] []" +msgstr "NEWSERVER [-noconnect] []" + +#: src/common/outbound.c:3632 +msgid "NICK , sets your nick" +msgstr "NICK <мянушка>, змяняе вашую мянушку" + +#: src/common/outbound.c:3635 +msgid "NOTICE , sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <мянушка/канал> <паведамленне>, дасылае абвяшчэнне. Абвяшчэнні гэта тып паведамленняў, на якія трэба аўтаматычна рэагаваць" + +#: src/common/outbound.c:3637 +msgid "NOTIFY [-n network1[,network2,...]] [], displays your notify list or adds someone to it" +msgstr "NOTIFY [-n сеціва1[,сеціва2]] [<мянушка>], пералічвае ваш спіс абвяшчэнняў ці дадае некага ў яго" + +#: src/common/outbound.c:3639 +msgid "OP , gives chanop status to the nick (needs chanop)" +msgstr "OP , дае мянушцы статус аператара канала (патрэбен статус аператара)" + +#: src/common/outbound.c:3641 +msgid "PART [] [], leaves the channel, by default the current one" +msgstr "PART [<канал>] [<прычына>], выйсці з канала, калі канал не вызначаны, то з бягучага" + +#: src/common/outbound.c:3643 +msgid "PING , CTCP pings nick or channel" +msgstr "PING <мянушка | канал>, CTCP пінг мянушкі ці канала" + +#: src/common/outbound.c:3645 +msgid "QUERY [-nofocus] , opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <мянушка>, адкрывае дыялог для асабістай размовы" + +#: src/common/outbound.c:3647 +msgid "QUIT [], disconnects from the current server" +msgstr "QUIT [<прычына>], адлучыцца ад бягучага сервера" + +#: src/common/outbound.c:3649 +msgid "QUOTE , sends the text in raw form to the server" +msgstr "QUOTE <тэкст>, даслаць тэкст у неапрацованай форме да сервера" + +#: src/common/outbound.c:3652 +msgid "RECONNECT [-ssl] [] [] [], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<вузел>] [<порт>] [<пароль>], Можа быць выклікана як /RECONNECT для перадалучэння да бягучага сервера ці /RECONNECT ALL для перадалучэння да ўсіх адкрытых сервераў" + +#: src/common/outbound.c:3655 +msgid "RECONNECT [] [] [], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<вузел>] [<порт>] [<пароль>], Можа быць выклікана як /RECONNECT для перадалучэння да бягучага сервера ці /RECONNECT ALL для перадалучэння да ўсіх адкрытых сервераў" + +#: src/common/outbound.c:3657 +msgid "RECV , send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <>, дасылае неапрацованыя дадзеныя xchat, як яны былі атрыманы з IRC-сервера" + +#: src/common/outbound.c:3660 +msgid "SAY , sends the text to the object in the current window" +msgstr "SAY <тэкст>, дасылае тэкст аб'екту ў бягучым акне" + +#: src/common/outbound.c:3661 +msgid "SEND []" +msgstr "SEND []" + +#: src/common/outbound.c:3664 +msgid "SERVCHAN [-ssl] , connects and joins a channel" +msgstr "SERVCHAN [-ssl] <вузел> <порт> <канал>, злучыцца і ўвайсці на канал" + +#: src/common/outbound.c:3667 +msgid "SERVCHAN , connects and joins a channel" +msgstr "SERVCHAN <вузел> <порт> <канал>, злучыцца і ўвайсці на канал" + +#: src/common/outbound.c:3671 +msgid "SERVER [-ssl] [] [], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <вузел> [<порт>] [<пароль>], злучыцца з серверам, прадвызначаны порт 6667, для звычайнай сувязі і 9999 для ssl-злучэнняў" + +#: src/common/outbound.c:3674 +msgid "SERVER [] [], connects to a server, the default port is 6667" +msgstr "SERVER <вузел> [<порт>] [<пароль>], злучыцца з серверам, прадвызначаны порт 6667" + +#: src/common/outbound.c:3676 +msgid "SET [-e] [-quiet] []" +msgstr "SET [-e] [-quiet] <пераменная> [<значэнне>]" + +#: src/common/outbound.c:3677 +msgid "SETCURSOR [-|+]" +msgstr "SETCURSOR [-|+]<пазіцыя>" + +#: src/common/outbound.c:3682 +msgid "TOPIC [], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<тэма>], усталяваць тэму, калі яна вызначана, інакш вывесці бягучую тэму" + +#: src/common/outbound.c:3684 +msgid "" +"\n" +"TRAY -f [] Blink tray between two icons.\n" +"TRAY -f Set tray to a fixed icon.\n" +"TRAY -i Blink tray with an internal icon.\n" +"TRAY -t Set the tray tooltip.\n" +"TRAY -b <text> Set the tray balloon." +msgstr "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Мірганне ў сподку між двума значкамі.\n" +"TRAY -f <filename> Замацаваць значку ў сподкавым элеменце.\n" +"TRAY -i <number> Мірганне ў сподку ўнутранай значкай.\n" +"TRAY -t <text> Усталяваць тэкст сподкавага элемента.\n" +"TRAY -b <title> <text> Усталяваць выплыўны тэкст сподкавага элемента." + +#: src/common/outbound.c:3691 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <маска> [<маска>...], зняць забарону з вызначаных масак." + +#: src/common/outbound.c:3692 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:3693 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <імя>, выгрузіць плагін ці скрыпт" + +#: src/common/outbound.c:3694 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, адкрыць URL у вашым браўзеры" + +#: src/common/outbound.c:3696 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <мянушка1> <мянушка2> і г.д., падсвечваць вызначаную(ыя) мянушку(і) ў спісе карыстальнікаў" + +#: src/common/outbound.c:3699 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <мянушка>, даць голас камусьці (патрэбен статус аператара канала)" + +#: src/common/outbound.c:3701 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <паведамленне>, напісаць паведамленне ва ўсіх каналах" + +#: src/common/outbound.c:3703 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <паведамленне>, даслаць паведамленне ўсім аператарам бягучага канала" + +#: src/common/outbound.c:3736 +#, c-format +msgid "Usage: %s\n" +msgstr "Карыстанне: %s\n" + +#: src/common/outbound.c:3741 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Ніякай даведкі не існуе для гэтай каманды.\n" + +#: src/common/outbound.c:3747 +msgid "No such command.\n" +msgstr "Няма гэткай каманды.\n" + +#: src/common/outbound.c:4077 +msgid "Bad arguments for user command.\n" +msgstr "Дрэнныя аргументы карыстальніцкай каманды.\n" + +#: src/common/outbound.c:4233 +msgid "Too many recursive usercommands, aborting." +msgstr "Зашмат рэкурсіўных падкаманд, перарываюся." + +#: src/common/outbound.c:4310 +msgid "Unknown Command. Try /help\n" +msgstr "Невядомая каманда. Паспрабуйце /help\n" + +#: src/common/plugin.c:356 src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Няма сімвала xchat_plugin_init; ці гэта сапраўды плагін Xchat?" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Ці вы ўпэўнены, што гэта сумяшчальны з SSL сервер і порт?\n" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Немагчыма знайсці імя %s\n" +"Праверце вашыя наладкі IP!\n" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "Не атрымліваецца злучыцца з проксі.\n" + +#: src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Спрабую іншы сервер %s...\n" + +#: src/common/servlist.c:1074 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Увага: \"%s\" знаказбор невядомы. Ніякага пераўтварэння знакаў для сеціва %s не будзе." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 дададзены ў спіс абвяшчэнняў." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Спіс забароненых:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tНемагчыма ўвайсці на%C26 %B$1 %O(Вы пад забаронаю)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 вядомы як $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 выставіў забарону на $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tКанал $1 створаны на $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O адабраў статус паў-аператара канала ў%C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O адабраў статус аператара канала ў%C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O адабраў голас у%C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 усталяваў выключэнне на $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O даў статус паў-аператара канала%C26 $2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 усталяваў запрашэнне на $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UКанал Карыст. Тэма" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 усталяваў рэжым $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Рэжымы канала $1: $2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O даў статус аператара канала %C26 $2" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 выдаліў выключэнне на $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 выдаліў запрашэнне на $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 выдаліў ключавое слова канала" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 выдаліў абмежаванне карыстальніка" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 усталяваў ключавое слова канала: $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 усталяваў абмежаванне канала ў $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 выдаліў забарону на $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O даў голас%C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Злучана. Уваход..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Злучэнне з $1 ($2), порт $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "Злучэнне не атрымалася. Памылка: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tАтрымана CTCP $1 ад $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tАтрымана CTCP $1 ад $2 (да $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tАтрыманы CTCP-гук $1 ад $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tАтрыманы CTCP-гук $1 ад $2 (да $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC CHAT з %C26$1%O перарвана." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC CHAT злучэнне ўсталявана з %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tDCC CHAT з %C26$1%O страчана ($4)." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tАтрымана прапанова DCC CHAT ад $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tПрапануецца DCC CHAT $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tУжо прапануецца CHAT to $1" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 спроба злучэння з%C26 $2%O не ўдалася (err=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tАтрымана '$1%O' ад $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Тып Да/Ад Статус Памер Паз Файл " + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$tАтрыманы няправільны DCC запыт ад %C26$1%O.%010%C22*%O$tЗмест пакета: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tПрапанова%C26 $1%O да%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tНяма гэткай прапановы DCC." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV%C26 $2%O да%C26 $1%O перарвана." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tDCC RECV%C26 $1%O ад%C26 $3%O завершана %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC RECV злучэнне ўсталявана з%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O з%C26 $3%O не атрымалася ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: Немагчыма адкрыць $1 для запісу ($2)." + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tФайл%C26 $1%C ужо існуе, захоўваю як %C26 $2%O." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Oзапытаў працяг%C26 $2 %Cз%C26 $3%C." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND%C26 $2%O да%C26 $1%O перарвана." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC SEND%C26 $1%O з%C26 $2%O завершана %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC SEND злучэнне ўсталявана з %C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O да%C26 $2%O не атрымалася. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Oпрапанаваў%C26 $2 %O(%C26$3 %Oбайтаў)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oда%C26 $3 %C перарвана: страчана хуткасць." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oда%C26 $3 %O перарвана: выйшаў час." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 выдалены са спіса абвяшчэнняў" + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tЗлучэнне страчана ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tЗнойдзены ваш IP: [$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O дададзены ў спіс ігнараванняў." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Ігнараванне %C26$1%O зменена." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Маска вузла PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O выдалены са спісу ігнараванняў." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " Спіс ігнараванняў пусты." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tНемагчыма ўвайсці на%C26 %B$1 %O(Уваход толькі па запрашэннях)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tВы былі запрошаны на%C26 $1%O by%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) увайшоў на $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tНемагчыма увайсці на%C26 %B$1 %O(Патрэбна ключавое слова)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 выпхнуў $2 з $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$t $1 выпхнуў вас ($2%O%C22)" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22\"Паведамленне дня\" прапушчана." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 ужо выкарыстоўваецца. Спрабую $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tМянушка ўжо кімсьці выкарыстоўваецца. Паспрабуйце каманду /NICK для выбару іншай." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tНяма гэткага DCC." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tЗараз няма працуючых працэсаў" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tСпіс абвяшчэнняў пусты." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Спіс абвяшчэнняў " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 карыстальнікаў у спісе абвяшчэнняў." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tАбвяшчэнне: $1 адключыўся ($3)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tАбвяшчэнне: $1 падключыўся ($3)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) выйшаў з $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) выйшаў з $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tАдказ на пінг ад $1: $2 сек" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tНе атрымана адказаў на пінг на працягу $1 сек, разлучаемся." + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tПрацэс ужо запушчаны" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 зыйшоў (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 усталяваў рэжым%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tШукаецца нумар IP %C26 $1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Злучана." + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Шукаецца $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tСпынена папярэдняя спроба злучэння (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Тэма для $1%C %C29: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 змяніў тэму на: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Тэма для $1%C %C29усталявана $2%C %C29у $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tНевядомы хост. Магчыма, вы памыліліся?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tНемагчыма ўвасці на %C26 %B$1 %O(Дасягнута карыстальніцкае абмежаванне)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Карыстальнікі на $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cадыйшоў %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OКанец спіса WHOIS." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O без дзеянняў%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O бяздзейны%C26 $2%O, увайшоў:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Oсапраўдны user@host%C27 $2%O, сапраўдны IP%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Размаўляем на $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$t$3 выпхнуў вас з $2 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tВы выйшлі з канала $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tВы выйшлі з канала $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tВы запрошаны %C26 $1%O на %C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tЦяпер вы вядомы як $2" + +#: src/common/text.c:61 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** КАНЕЦ УВАХОДУ НА %s\n" + +#: src/common/text.c:270 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ПАЧАТАК УВАХОДУ НА %s\n" + +#: src/common/text.c:289 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Немагчыма адкрыць лог-файл(ы) для запісу. Праверце\n" +" правы на %s/xchatlogs" + +#: src/common/text.c:625 +msgid "Left message" +msgstr "Левае паведамленне" + +#: src/common/text.c:626 +msgid "Right message" +msgstr "Правае паведамленне" + +#: src/common/text.c:630 +msgid "The nick of the joining person" +msgstr "Мянушка ўваходзячай асобы" + +#: src/common/text.c:631 +msgid "The channel being joined" +msgstr "Канал для ўваходу" + +#: src/common/text.c:632 src/common/text.c:679 src/common/text.c:730 +msgid "The host of the person" +msgstr "Хост гэтай асобы" + +#: src/common/text.c:636 src/common/text.c:642 src/common/text.c:649 +#: src/common/text.c:837 src/common/text.c:844 src/common/text.c:849 +#: src/common/text.c:854 src/common/text.c:859 src/common/text.c:865 +#: src/common/text.c:870 src/common/text.c:874 src/common/text.c:880 +#: src/common/text.c:886 src/common/text.c:932 src/common/text.c:943 +#: src/common/text.c:948 src/common/text.c:953 src/common/text.c:962 +#: src/common/text.c:973 src/common/text.c:980 src/common/text.c:986 +#: src/common/text.c:991 src/common/text.c:996 src/common/text.c:1003 +#: src/common/text.c:1009 src/common/text.c:1015 src/common/text.c:1020 +#: src/common/text.c:1025 src/common/text.c:1029 src/common/text.c:1035 +#: src/common/text.c:1043 src/common/text.c:1077 src/common/text.c:1082 +msgid "Nickname" +msgstr "Мянушка" + +#: src/common/text.c:637 +msgid "The action" +msgstr "Дзеянне" + +#: src/common/text.c:638 src/common/text.c:644 +msgid "Mode char" +msgstr "Знак рэжыму" + +#: src/common/text.c:643 +msgid "The text" +msgstr "Тэкст" + +#: src/common/text.c:645 src/common/text.c:651 +msgid "Identified text" +msgstr "Вылучаны тэкст" + +#: src/common/text.c:650 src/common/text.c:707 src/common/text.c:713 +msgid "The message" +msgstr "Паведамленне" + +#: src/common/text.c:655 src/common/text.c:717 +msgid "Old nickname" +msgstr "Старая мянушка" + +#: src/common/text.c:656 src/common/text.c:718 +msgid "New nickname" +msgstr "Новая мянушка" + +#: src/common/text.c:660 +msgid "Nick of person who changed the topic" +msgstr "Мянушка асобы, якая змяніла тэму" + +#: src/common/text.c:661 src/common/text.c:667 src/fe-gtk/chanlist.c:718 +#: src/fe-gtk/chanlist.c:821 +msgid "Topic" +msgstr "Тэма" + +#: src/common/text.c:662 src/common/text.c:666 src/common/text.c:1097 +#: src/fe-gtk/chanlist.c:716 src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Канал" + +#: src/common/text.c:671 src/common/text.c:724 +msgid "The nickname of the kicker" +msgstr "Мянушка асобы, якая выпхнула вас" + +#: src/common/text.c:672 src/common/text.c:722 +msgid "The person being kicked" +msgstr "Асоба, якую выпхнулі" + +#: src/common/text.c:673 src/common/text.c:680 src/common/text.c:684 +#: src/common/text.c:689 src/common/text.c:723 src/common/text.c:731 +#: src/common/text.c:738 +msgid "The channel" +msgstr "Канал" + +#: src/common/text.c:674 src/common/text.c:725 src/common/text.c:732 +msgid "The reason" +msgstr "Прычына" + +#: src/common/text.c:678 src/common/text.c:729 +msgid "The nick of the person leaving" +msgstr "Мянушка асобы, што выходзіць" + +#: src/common/text.c:685 src/common/text.c:691 +msgid "The time" +msgstr "Час" + +#: src/common/text.c:690 +msgid "The creator" +msgstr "Стваральнік" + +#: src/common/text.c:695 src/fe-gtk/dccgui.c:763 src/fe-gtk/dccgui.c:994 +msgid "Nick" +msgstr "Мянушка" + +#: src/common/text.c:696 src/common/text.c:949 +msgid "Reason" +msgstr "Прычына" + +#: src/common/text.c:697 src/common/text.c:839 src/common/text.c:922 +msgid "Host" +msgstr "Хост" + +#: src/common/text.c:701 src/common/text.c:706 src/common/text.c:711 +msgid "Who it's from" +msgstr "Адкуль" + +#: src/common/text.c:702 +msgid "The time in x.x format (see below)" +msgstr "Час у фармаце x.x (глядзі ніжэй)" + +#: src/common/text.c:712 src/common/text.c:749 +msgid "The Channel it's going to" +msgstr "Спіс каналаў" + +#: src/common/text.c:736 +msgid "The sound" +msgstr "Гук" + +#: src/common/text.c:737 src/common/text.c:743 src/common/text.c:748 +msgid "The nick of the person" +msgstr "Мянушка гэтай асобы" + +#: src/common/text.c:742 src/common/text.c:747 +msgid "The CTCP event" +msgstr "CTCP падзея" + +#: src/common/text.c:753 +msgid "The nick of the person who set the key" +msgstr "Мянушка асобы, якая ўсталявала ключ" + +#: src/common/text.c:754 +msgid "The key" +msgstr "Ключ" + +#: src/common/text.c:758 +msgid "The nick of the person who set the limit" +msgstr "Мянушка асобы, якая ўсталявала абмежаванне" + +#: src/common/text.c:759 +msgid "The limit" +msgstr "Абмежаванне" + +#: src/common/text.c:763 +msgid "The nick of the person who did the op'ing" +msgstr "Мянушка асобы, якая дала статус аператара" + +#: src/common/text.c:764 +msgid "The nick of the person who has been op'ed" +msgstr "Мянушка асобы, якая атрымала статус аператара" + +#: src/common/text.c:768 +msgid "The nick of the person who has been halfop'ed" +msgstr "Мянушка асобы, якая атрымала статус паў-аператара" + +#: src/common/text.c:769 +msgid "The nick of the person who did the halfop'ing" +msgstr "Мянушка асобы, якая дала статус паў-аператара" + +#: src/common/text.c:773 +msgid "The nick of the person who did the voice'ing" +msgstr "Мянушка асобы, якая дала голас" + +#: src/common/text.c:774 +msgid "The nick of the person who has been voice'ed" +msgstr "Мянушка асобы, якая атрымала голас" + +#: src/common/text.c:778 +msgid "The nick of the person who did the banning" +msgstr "Мянушка асобы, якая ўсталявала забарону" + +#: src/common/text.c:779 src/common/text.c:806 +msgid "The ban mask" +msgstr "Маска забароны" + +#: src/common/text.c:783 +msgid "The nick who removed the key" +msgstr "Мянушка, якая выдаліла ключ" + +#: src/common/text.c:787 +msgid "The nick who removed the limit" +msgstr "Мянушка, якая выдаліла абмежаванне" + +#: src/common/text.c:791 +msgid "The nick of the person of did the deop'ing" +msgstr "Мянушка асобы, якая адабрала статус аператара" + +#: src/common/text.c:792 +msgid "The nick of the person who has been deop'ed" +msgstr "Мянушка асобы, у якой быў адабраны статус аператара" + +#: src/common/text.c:795 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Мянушка асобы, якая адабрала статус паў-аператара" + +#: src/common/text.c:796 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Мянушка асобы, у якой быў адабраны статус паў-аператара" + +#: src/common/text.c:800 +msgid "The nick of the person of did the devoice'ing" +msgstr "Мянушка асобы, якая адабрала голас" + +#: src/common/text.c:801 +msgid "The nick of the person who has been devoice'ed" +msgstr "Мянушка асобы, у якой быў адабраны голас" + +#: src/common/text.c:805 +msgid "The nick of the person of did the unban'ing" +msgstr "Мянушка асобы, якая зняла забарону" + +#: src/common/text.c:810 +msgid "The nick of the person who did the exempt" +msgstr "Мянушка асобы, якая ўсталявала выключэнне" + +#: src/common/text.c:811 src/common/text.c:816 +msgid "The exempt mask" +msgstr "Маска выключэння" + +#: src/common/text.c:815 +msgid "The nick of the person removed the exempt" +msgstr "Мянушка асобы, якая выдаліла выключэнне" + +#: src/common/text.c:820 +msgid "The nick of the person who did the invite" +msgstr "Мянушка асобы, якая зрабіла запрашэнне" + +#: src/common/text.c:821 src/common/text.c:826 +msgid "The invite mask" +msgstr "Маска запрашэння" + +#: src/common/text.c:825 +msgid "The nick of the person removed the invite" +msgstr "Мянушка асобы, якая выдаліла запрашэнне" + +#: src/common/text.c:830 +msgid "The nick of the person setting the mode" +msgstr "Мянушка асобы, якая ўсталявала рэжым" + +#: src/common/text.c:831 +msgid "The mode's sign (+/-)" +msgstr "Знак рэжыму (+/-)" + +#: src/common/text.c:832 +msgid "The mode letter" +msgstr "Сімвал рэжыму" + +#: src/common/text.c:833 +msgid "The channel it's being set on" +msgstr "Канал для ўжыцця" + +#: src/common/text.c:838 +msgid "Username" +msgstr "Імя карыстальніка" + +#: src/common/text.c:840 +msgid "Full name" +msgstr "Поўнае імя" + +#: src/common/text.c:845 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Член канала /\"аператар IRC\"" + +#: src/common/text.c:850 +msgid "Server Information" +msgstr "Інфармацыя аб серверы" + +#: src/common/text.c:855 src/common/text.c:860 +msgid "Idle time" +msgstr "Час бяздзеяння" + +#: src/common/text.c:861 +msgid "Signon time" +msgstr "Час з уваходу" + +#: src/common/text.c:866 +msgid "Away reason" +msgstr "Прычына адыходу" + +#: src/common/text.c:875 src/common/text.c:881 src/common/text.c:889 +#: src/common/text.c:1069 +msgid "Message" +msgstr "Паведамленне" + +#: src/common/text.c:882 +msgid "Account" +msgstr "Рахунак" + +#: src/common/text.c:887 +msgid "Real user@host" +msgstr "Сапраўдны user@host" + +#: src/common/text.c:888 +msgid "Real IP" +msgstr "Сапраўдны IP" + +#: src/common/text.c:893 src/common/text.c:902 src/common/text.c:908 +#: src/common/text.c:938 src/common/text.c:1092 +msgid "Channel Name" +msgstr "Назва канала" + +#: src/common/text.c:897 src/common/text.c:1055 src/fe-gtk/menu.c:1206 +#: src/fe-gtk/menu.c:1385 src/fe-gtk/textgui.c:387 +msgid "Text" +msgstr "Тэкст" + +#: src/common/text.c:898 src/common/text.c:904 src/common/text.c:933 +#: src/common/text.c:1051 src/common/text.c:1093 +msgid "Server Name" +msgstr "Назва сервера" + +#: src/common/text.c:903 +msgid "Nick of person who invited you" +msgstr "Мянушка асобы, якая запрасіла вас" + +#: src/common/text.c:909 src/fe-gtk/chanlist.c:717 +msgid "Users" +msgstr "Карыстальнікі" + +#: src/common/text.c:913 +msgid "Nickname in use" +msgstr "Мянушка выкарыстоўваецца" + +#: src/common/text.c:914 +msgid "Nick being tried" +msgstr "Спрабуемая мянушка" + +#: src/common/text.c:923 src/common/text.c:1059 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:924 src/common/text.c:955 +msgid "Port" +msgstr "Порт" + +#: src/common/text.c:934 src/fe-gtk/notifygui.c:139 src/fe-gtk/setup.c:1647 +msgid "Network" +msgstr "Сеціва" + +#: src/common/text.c:939 src/common/text.c:944 +msgid "Modes string" +msgstr "Радок рэжымаў" + +#: src/common/text.c:954 src/common/text.c:992 src/common/text.c:997 +#: src/common/text.c:1038 +msgid "IP address" +msgstr "IP адрас" + +#: src/common/text.c:960 src/common/text.c:985 +msgid "DCC Type" +msgstr "Тып DCC" + +#: src/common/text.c:961 src/common/text.c:966 src/common/text.c:971 +#: src/common/text.c:978 src/common/text.c:998 src/common/text.c:1002 +#: src/common/text.c:1008 src/common/text.c:1014 src/common/text.c:1021 +#: src/common/text.c:1030 src/common/text.c:1036 +msgid "Filename" +msgstr "Імя файла" + +#: src/common/text.c:972 src/common/text.c:979 +msgid "Destination filename" +msgstr "Назва файла ў атрымальніка" + +#: src/common/text.c:981 src/common/text.c:1010 +msgid "CPS" +msgstr "CPS(знакаў у секунду)" + +#: src/common/text.c:1016 +msgid "Pathname" +msgstr "Шлях" + +#: src/common/text.c:1031 src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "Пазіцыя" + +#: src/common/text.c:1037 src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "Памер" + +#: src/common/text.c:1042 +msgid "DCC String" +msgstr "Радок DCC" + +#: src/common/text.c:1047 +msgid "Number of notify items" +msgstr "Колькасць абвяшчэнняў" + +#: src/common/text.c:1063 +msgid "Old Filename" +msgstr "Старое імя файла" + +#: src/common/text.c:1064 +msgid "New Filename" +msgstr "Новае імя файла" + +#: src/common/text.c:1068 +msgid "Receiver" +msgstr "Атрымальнік" + +#: src/common/text.c:1073 +msgid "Hostmask" +msgstr "Маска камп'ютэра" + +#: src/common/text.c:1078 +msgid "Hostname" +msgstr "Назва камп'ютэра" + +#: src/common/text.c:1083 +msgid "The Packet" +msgstr "Пакет" + +#: src/common/text.c:1087 +msgid "Seconds" +msgstr "Секунды" + +#: src/common/text.c:1091 +msgid "Nick of person who have been invited" +msgstr "Мянушка запрошанай асобы" + +#: src/common/text.c:1098 +msgid "Banmask" +msgstr "Маска забароны" + +#: src/common/text.c:1099 +msgid "Who set the ban" +msgstr "Хто ўсталяваў забарону" + +#: src/common/text.c:1100 +msgid "Ban time" +msgstr "Час забароны" + +#: src/common/text.c:1140 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Памылка апрацоўкі падзеі %s.\n" +"Ужываем стандартныя паводзіны." + +#: src/common/text.c:1833 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Немагчыма прачытаць гукавы файл:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "Аддалены вузел закрыў сокет" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "У злучэнні адмоўлена" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "Няма шляху да вузла" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Час злучэння выйшаў" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Немагчыма ўжыць гэта адрас" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Злучэнне пераўсталяваны тым бокам" + +#: src/common/util.c:839 +msgid "Ascension Island" +msgstr "Узнясення астравы" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "Андора" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "Злучаныя Арабскія Эміраты" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "Аўганістан" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "Антыгуа і Барбуда" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "Ангілья" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "Албанія" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "Арменія" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "Нідэрландскія Антылы" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "Ангола" + +#: src/common/util.c:849 +msgid "Antarctica" +msgstr "Антарктыка" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "Аргентына" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "Адваротны DNS" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "Амерыканскае Самоа" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "Аўстрыя" + +#: src/common/util.c:854 +msgid "Nato Fiel" +msgstr "НАТО Фэйл" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "Аўстралія" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "Аруба" + +#: src/common/util.c:857 +msgid "Aland Islands" +msgstr "Аланавы астравы" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "Азербайджан" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "Боснія і Герцагавіна" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "Барбадос" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "Бангладэш" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "Бельгія" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "Буркіна Фасо" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "Баўгарыя" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "Бахрэйн" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "Бурундзі" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "Бізнесовыя" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "Бенін" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "Бэрмуды" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "Брунэй" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "Балівія" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "Бразілія" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "Багамы" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "Бутан" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "Востраў Бувет" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "Батсвана" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "Беларусь" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "Белізе" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "Канада" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "Какос астравы" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "Дэмакратычная Рэспубліка Конга" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "Цэнтральна-Афрыканская Рэспубліка" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "Конга" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "Швейцарыя" + +#: src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "Кот д'Івуар" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "Астравы Кука" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "Чылі" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "Камерун" + +#: src/common/util.c:889 +msgid "China" +msgstr "Кітай" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "Калумбія" + +#: src/common/util.c:891 +msgid "Internic Commercial" +msgstr "Камерцыйныя Адрасы" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "Коста Рыка" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "Сербія і Чарнагорыя" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "Куба" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "Кабо Вердэ" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "Востраў Каляд" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "Кіпр" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "Чэхія" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "Нямеччына" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "Джыбуці" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "Данія" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "Дамініка" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "Дамініканская Рэспубліка" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "Алжыр" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "Эквадор" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "Адукацыйныя" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "Эстонія" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "Егіпет" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "Заходняя Сахара" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "Эрытрэя" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "Гішпанія" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "Эфіёпія" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "Еўразвяз" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "Фінляндыя" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "Фіджы" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "Фалклендскія астравы (Мальвіны)" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "Федэрацыя Мiкранэзіі" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "Астравы Фароэ" + +#: src/common/util.c:919 +msgid "France" +msgstr "Францыя" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "Габон" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "Вялікая Брытанія" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "Грэнада" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "Грузія" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "Французская Грэнада" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "Брытанскія астравы Канала" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "Гана" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "Гібралтар" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "Грынланд" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "Гамбія" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "Гвінея" + +#: src/common/util.c:931 +msgid "Government" +msgstr "Урад" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "Гвадэлупа" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "Экватарыяльная Гвінэя" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "Грэцыя" + +#: src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Св.Георгія і Св.Сэндвіча астравы" + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "Гватэмала" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "Гуам" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "Гвінея-Бісаў" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "Гвіяна" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "Гонг-Конг" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "Астравы Гэарда і МакДональда " + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "Гандурас" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "Харватыя" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "Гаіці" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "Вугоршчына" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "Інданэзія" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "Ірландыя" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "Ізраіль" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "Востраў Мэн" + +#: src/common/util.c:950 +msgid "India" +msgstr "Індыя" + +#: src/common/util.c:951 +msgid "Informational" +msgstr "Інфармацыйныя" + +#: src/common/util.c:952 +msgid "International" +msgstr "Міжнародныя" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "Брытанская тэрыторыя Індыйскага акіяна" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "Ірак" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "Іран" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "Ісландыя" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "Італія" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "Джэрсі" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "Ямайка" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "Ярданія" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "Японія" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "Кенія" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "Кыргызстан" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "Камбоджа" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "Кiрыбацi" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "Каморы" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "Сэнт-Кітс і Нэвіс" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "Паўночная Карэя" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "Паўднёвая Карэя" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "Кувэйт" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "Кайманавы астравы" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "Казахстан" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "Лаос" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "Ліван" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "Сэнт-Люсія" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "Ліхтэнштэйн" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "Шры-Ланка" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "Лібэрыя" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "Лесота" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "Літва" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "Люксэмбург" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "Латвія" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "Лівія" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "Марока" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "Манака" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "Малдова" + +#: src/common/util.c:987 +msgid "United States Medical" +msgstr "Злучаныя Штаты, медыцына" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "Мадагаскар" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "Маршалавы астравы" + +#: src/common/util.c:990 +msgid "Military" +msgstr "Вайсковыя" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "Македонія" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "Малі" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "М'янма" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "Манголія" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "Макау" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "Паўночныя Марыянскія астравы" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "Мартыніка" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "Маўрытанія" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "Мантсэрат" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "Мальта" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "Маўрыцы" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "Мальдывы" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "Малаві" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "Мэксыка" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "Малайзыя" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "Мазамбік" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "Намібія" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "Новая Каледонія" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "Нігер" + +#: src/common/util.c:1010 +msgid "Internic Network" +msgstr "Унутраныя сецівы" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "Норфалк" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "Нігерыя" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "Нікарагуа" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "Галяндыя" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "Нарвэгія" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "Нэпал" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "Науру" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "Ніўэ" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "Новая Зеландыя" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "Аман" + +#: src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "Унутраныя некамерцыйныя арганізацыі" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "Панама" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "Пэру" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "Французская Палінэзія" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "Папуа Новая Гвінея" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "Філіпіны" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "Пакістан" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "Польшча" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "Сэн-П'ер і Мікелон" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "Піткэрн" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "Пуэрта Рыка" + +#: src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "Палестынская тэрыторыя" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "Партугалія" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "Палаў" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "Парагвай" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "Катар" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "Рэюньён" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "Румынія" + +#: src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "Старое сеціва ARPAnet" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "Расія" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "Руанда" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "Саўдаўская Арабія" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "Саламонавы астравы" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "Сэйшэлы" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "Судан" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "Швецыя" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "Сінгапур" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "Востраў Сьвятой Алены" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "Славенія" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Астравы Свальбард і Яна Майхема" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "Славакія" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "Сьера-Леонэ" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "Сан-Марына" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "Сенегал" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "Самалі" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "Сурынам" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "Сан-Тамэ і Прынсіпі" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "Былы СССР" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "Сальвадор" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "Сырыя" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "Свазылэнд" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "Астравы Тэркс і Кайкас" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "Чад" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "Французскія паўднёвыя тэрыторыі" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "Тога" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "Тайланд" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "Таджыкістан" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "Такелаў" + +#: src/common/util.c:1069 src/common/util.c:1073 +msgid "East Timor" +msgstr "Усходні Тымор" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "Туркменістан" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "Туніс" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "Тонга" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "Турцыя" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "Трынідад і Табага" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "Тувалу" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "Тайвань" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "Злучаная Рэспубліка Танзанія" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "Украіна" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "Уганда" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "Аб'яднанае Каралеўства" + +#: src/common/util.c:1082 +msgid "United States of America" +msgstr "Злучаныя Штаты Амерыкі" + +#: src/common/util.c:1083 +msgid "Uruguay" +msgstr "Уругвай" + +#: src/common/util.c:1084 +msgid "Uzbekistan" +msgstr "Узбекістан" + +#: src/common/util.c:1085 +msgid "Vatican City State" +msgstr "Ватыкан" + +#: src/common/util.c:1086 +msgid "St. Vincent and the Grenadines" +msgstr "Св.Вінсент і Грэнадзіны" + +#: src/common/util.c:1087 +msgid "Venezuela" +msgstr "Венесуэла" + +#: src/common/util.c:1088 +msgid "British Virgin Islands" +msgstr "Брытанскія астравы Вірджын" + +#: src/common/util.c:1089 +msgid "US Virgin Islands" +msgstr "ЗША астравы Вірджын" + +#: src/common/util.c:1090 +msgid "Vietnam" +msgstr "В'етнам" + +#: src/common/util.c:1091 +msgid "Vanuatu" +msgstr "Вануату" + +#: src/common/util.c:1092 +msgid "Wallis and Futuna Islands" +msgstr "Воліс і Футуна астравы" + +#: src/common/util.c:1093 +msgid "Samoa" +msgstr "Самоа" + +#: src/common/util.c:1094 +msgid "Yemen" +msgstr "Йемен" + +#: src/common/util.c:1095 +msgid "Mayotte" +msgstr "Маёт" + +#: src/common/util.c:1096 +msgid "Yugoslavia" +msgstr "Югаславія" + +#: src/common/util.c:1097 +msgid "South Africa" +msgstr "Паўдневая Афрыка" + +#: src/common/util.c:1098 +msgid "Zambia" +msgstr "Забмія" + +#: src/common/util.c:1099 +msgid "Zimbabwe" +msgstr "Зімбабвэ" + +#: src/common/util.c:1109 src/common/util.c:1119 src/fe-gtk/menu.c:550 +#: src/fe-gtk/menu.c:555 src/fe-gtk/menu.c:559 src/fe-gtk/menu.c:563 +#: src/fe-gtk/menu.c:571 src/fe-gtk/menu.c:589 +msgid "Unknown" +msgstr "Невядома" + +#: src/common/xchat.c:769 src/common/xchat.c:895 +msgid "Open Dialog Window" +msgstr "Пачаць дыялог" + +#: src/common/xchat.c:770 +msgid "Send a File" +msgstr "Даслаць файл" + +#: src/common/xchat.c:771 +msgid "User Info (WHOIS)" +msgstr "Звесткі (WHOIS)" + +#: src/common/xchat.c:772 +msgid "Operator Actions" +msgstr "Дзеянні аператара" + +#: src/common/xchat.c:774 src/common/xchat.c:865 +msgid "Give Ops" +msgstr "Даць аператара" + +#: src/common/xchat.c:775 src/common/xchat.c:866 +msgid "Take Ops" +msgstr "Забраць аператара" + +#: src/common/xchat.c:776 src/common/xchat.c:869 +msgid "Give Voice" +msgstr "Даць голас" + +#: src/common/xchat.c:777 src/common/xchat.c:870 +msgid "Take Voice" +msgstr "Забраць голас" + +#: src/common/xchat.c:779 src/common/xchat.c:874 +msgid "Kick/Ban" +msgstr "Выпхнуць/забараніць" + +#: src/common/xchat.c:780 src/common/xchat.c:875 src/common/xchat.c:924 +msgid "Kick" +msgstr "Выпхнуць" + +#: src/common/xchat.c:781 src/common/xchat.c:782 src/common/xchat.c:783 +#: src/common/xchat.c:784 src/common/xchat.c:785 src/common/xchat.c:876 +#: src/common/xchat.c:877 src/common/xchat.c:878 src/common/xchat.c:879 +#: src/common/xchat.c:880 src/common/xchat.c:923 +msgid "Ban" +msgstr "Забараніць" + +#: src/common/xchat.c:786 src/common/xchat.c:787 src/common/xchat.c:788 +#: src/common/xchat.c:789 src/common/xchat.c:881 src/common/xchat.c:882 +#: src/common/xchat.c:883 src/common/xchat.c:884 +msgid "KickBan" +msgstr "Выпхнуць і забараніць" + +#: src/common/xchat.c:852 +msgid "Direct client-to-client" +msgstr "Прамое дачыненне (DCC)" + +#: src/common/xchat.c:853 +msgid "Send File" +msgstr "Даслаць файл" + +#: src/common/xchat.c:854 +msgid "Offer Chat" +msgstr "Прапанаваць размову" + +#: src/common/xchat.c:855 +msgid "Abort Chat" +msgstr "Перарваць размову" + +#: src/common/xchat.c:856 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Версія" + +#: src/common/xchat.c:857 +msgid "Userinfo" +msgstr "Звесткі аб карыстальніку" + +#: src/common/xchat.c:858 +msgid "Clientinfo" +msgstr "Звесткі аб кліенце" + +#: src/common/xchat.c:859 src/common/xchat.c:893 src/common/xchat.c:941 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:860 +msgid "Time" +msgstr "Час" + +#: src/common/xchat.c:861 +msgid "Finger" +msgstr "Водціск" + +#: src/common/xchat.c:862 +msgid "Oper" +msgstr "Аперацыя" + +#: src/common/xchat.c:863 +msgid "Kill this user" +msgstr "Выпхнуць карыстальніка" + +#: src/common/xchat.c:864 +msgid "Mode" +msgstr "Рэжым" + +#: src/common/xchat.c:867 +msgid "Give Half-Ops" +msgstr "Даць паў-аператара" + +#: src/common/xchat.c:868 +msgid "Take Half-Ops" +msgstr "Забраць паў-аператара" + +#: src/common/xchat.c:871 +msgid "Ignore" +msgstr "Ігнараванне" + +#: src/common/xchat.c:872 +msgid "Ignore User" +msgstr "Ігнараваць карыстальніка" + +#: src/common/xchat.c:873 +msgid "UnIgnore User" +msgstr "Не ігнараваць карыстальніка" + +#: src/common/xchat.c:885 +msgid "Info" +msgstr "Інфа" + +#: src/common/xchat.c:886 +msgid "Who" +msgstr "Хто" + +#: src/common/xchat.c:887 src/common/xchat.c:937 +msgid "WhoIs" +msgstr "Хто ёсць" + +#: src/common/xchat.c:888 +msgid "DNS Lookup" +msgstr "Прагляд DNS" + +#: src/common/xchat.c:889 +msgid "Trace" +msgstr "Trace" + +#: src/common/xchat.c:890 +msgid "UserHost" +msgstr "Камп'ютэр карыстальніка" + +#: src/common/xchat.c:891 +msgid "External" +msgstr "Вонкавы" + +#: src/common/xchat.c:892 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:894 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:906 +msgid "Leave Channel" +msgstr "Выйсці з канала" + +#: src/common/xchat.c:907 src/fe-gtk/menu.c:1392 +msgid "Join Channel..." +msgstr "Увайсці на канал..." + +#: src/common/xchat.c:908 src/fe-gtk/menu.c:1083 +msgid "Enter Channel to Join:" +msgstr "Вызначце канал для ўваходу:" + +#: src/common/xchat.c:909 +msgid "Server Links" +msgstr "Спасылкі сервера" + +#: src/common/xchat.c:910 +msgid "Ping Server" +msgstr "Пінгаваць сервер" + +#: src/common/xchat.c:911 +msgid "Hide Version" +msgstr "Схаваць версію" + +#: src/common/xchat.c:921 +msgid "Op" +msgstr "Аператар" + +#: src/common/xchat.c:922 +msgid "DeOp" +msgstr "Адабраць аператара" + +#: src/common/xchat.c:925 +msgid "bye" +msgstr "пакуль" + +#: src/common/xchat.c:926 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Увядзіце прычыну выпіхвання %s:" + +#: src/common/xchat.c:927 +msgid "Sendfile" +msgstr "Даслаць файл" + +#: src/common/xchat.c:928 +msgid "Dialog" +msgstr "Дыялог" + +#: src/common/xchat.c:938 +msgid "Send" +msgstr "Даслаць" + +#: src/common/xchat.c:939 +msgid "Chat" +msgstr "Размова" + +#: src/common/xchat.c:940 src/fe-gtk/banlist.c:341 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Ачысціць" + +#: src/common/dbus/dbus-client.c:71 +msgid "Couldn't connect to session bus" +msgstr "Немагчыма злучыцца з шынай сесій (session bus)" + +#: src/common/dbus/dbus-client.c:85 +msgid "Failed to complete NameHasOwner" +msgstr "Немагчыма скончыць NameHasOwner" + +#: src/common/dbus/dbus-client.c:106 +msgid "Failed to complete Command" +msgstr "Немагчыма скончыць Command" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "аддалены доступ" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "Плагін для аддаленага доступу (выкарыстоўвае DBUS)" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Немагчыма злучыцца з шынай сесій : %s\n" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Немагчыма дасягнуць %s : %s\n" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "Аб праграме" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "Шматплатформенны кліент IRC" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Палітра літар" + +#: src/fe-gtk/banlist.c:113 src/fe-gtk/chanlist.c:299 +#: src/fe-gtk/plugin-tray.c:209 +msgid "Not connected." +msgstr "Не злучана." + +#: src/fe-gtk/banlist.c:154 src/fe-gtk/banlist.c:257 +msgid "You must select some bans." +msgstr "Трэба выбраць некалькі забаронаў." + +#: src/fe-gtk/banlist.c:206 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "Ці вы ўпэўнены, што хочаце выдаліць усе забароны у %s?" + +#: src/fe-gtk/banlist.c:272 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Маска" + +#: src/fe-gtk/banlist.c:273 +msgid "From" +msgstr "Адкуль" + +#: src/fe-gtk/banlist.c:274 +msgid "Date" +msgstr "Дата" + +#: src/fe-gtk/banlist.c:317 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Вы можаце адкрыць акно са спісам забаронаў толькі пры адкрытай укладцы канала." + +#: src/fe-gtk/banlist.c:321 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: спіс забаронаў (%s)" + +#: src/fe-gtk/banlist.c:337 +msgid "Unban" +msgstr "Дазволіць" + +#: src/fe-gtk/banlist.c:339 +msgid "Crop" +msgstr "Сціснуць" + +#: src/fe-gtk/banlist.c:343 +msgid "Refresh" +msgstr "Аднавіць" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Паказ %d/%d карыстальнікаў на %d/%d каналах." + +#: src/fe-gtk/chanlist.c:516 src/fe-gtk/menu.c:1019 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Абярыце імя файла для вываду" + +#: src/fe-gtk/chanlist.c:595 src/fe-gtk/chanlist.c:751 +msgid "_Join Channel" +msgstr "У_вайсці на канал" + +#: src/fe-gtk/chanlist.c:597 +msgid "_Copy Channel Name" +msgstr "_Капіяваць назву канала" + +#: src/fe-gtk/chanlist.c:599 +msgid "Copy _Topic Text" +msgstr "Капіяваць тэкст _тэмы" + +#: src/fe-gtk/chanlist.c:677 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: Спіс каналаў (%s)" + +#: src/fe-gtk/chanlist.c:733 +msgid "_Search" +msgstr "_Пошук" + +#: src/fe-gtk/chanlist.c:739 +msgid "_Download List" +msgstr "Спіс спа_мповак" + +#: src/fe-gtk/chanlist.c:745 +msgid "Save _List..." +msgstr "Захаваць _спіс як..." + +#: src/fe-gtk/chanlist.c:758 +msgid "Show only:" +msgstr "Паказаць толькі:" + +#: src/fe-gtk/chanlist.c:770 +msgid "channels with" +msgstr "каналы з ад" + +#: src/fe-gtk/chanlist.c:783 +msgid "to" +msgstr "да" + +#: src/fe-gtk/chanlist.c:795 +msgid "users." +msgstr "карыстальнікамі" + +#: src/fe-gtk/chanlist.c:801 +msgid "Look in:" +msgstr "Глядзець у" + +#: src/fe-gtk/chanlist.c:813 +msgid "Channel name" +msgstr "Назва канала" + +#: src/fe-gtk/chanlist.c:834 +msgid "Search type:" +msgstr "Тып пошуку:" + +#: src/fe-gtk/chanlist.c:841 +msgid "Simple Search" +msgstr "Просты пошук" + +#: src/fe-gtk/chanlist.c:842 +msgid "Pattern Match (Wildcards)" +msgstr "Узор адпавядае (Wildcards)" + +#: src/fe-gtk/chanlist.c:844 +msgid "Regular Expression" +msgstr "Рэгулярны выраз" + +#: src/fe-gtk/chanlist.c:855 src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Знайсці:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "Даслаць файл %s" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "Працяг гэтага файла немагчымы." + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Немагчыма атрымаць доступ да файла: %s\n" +"%s.\n" +"Працяг немагчымы." + +#: src/fe-gtk/dccgui.c:507 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "Файл у тэчцы спампоўванняў большы за прапанаваны файл. Працяг немагчымы." + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "Немагчыма працягнуць той жа самы файл з двух чалавек." + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: запампоўкі і спампоўкі" + +#: src/fe-gtk/dccgui.c:756 src/fe-gtk/dccgui.c:993 src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "Статус" + +#: src/fe-gtk/dccgui.c:757 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Файл" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "Прайшло часу" + +#: src/fe-gtk/dccgui.c:784 src/fe-gtk/menu.c:1386 +msgid "Both" +msgstr "Абодва" + +#: src/fe-gtk/dccgui.c:790 +msgid "Uploads" +msgstr "Запампоўкі" + +#: src/fe-gtk/dccgui.c:796 +msgid "Downloads" +msgstr "Спампоўкі" + +#: src/fe-gtk/dccgui.c:801 +msgid "Details" +msgstr "Падрабязнасці" + +#: src/fe-gtk/dccgui.c:812 +msgid "File:" +msgstr "Файл:" + +#: src/fe-gtk/dccgui.c:813 +msgid "Address:" +msgstr "Адрас:" + +#: src/fe-gtk/dccgui.c:819 src/fe-gtk/dccgui.c:1014 +msgid "Abort" +msgstr "Перарваць" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1015 +msgid "Accept" +msgstr "Прыняць" + +#: src/fe-gtk/dccgui.c:821 +msgid "Resume" +msgstr "Працягнуць" + +#: src/fe-gtk/dccgui.c:822 +msgid "Open Folder..." +msgstr "Адкрыць тэчку..." + +#: src/fe-gtk/dccgui.c:982 +msgid "XChat: DCC Chat List" +msgstr "XChat: Спіс DCC Chat" + +#: src/fe-gtk/dccgui.c:995 +msgid "Recv" +msgstr "Прын" + +#: src/fe-gtk/dccgui.c:996 +msgid "Sent" +msgstr "Дасл" + +#: src/fe-gtk/dccgui.c:997 +msgid "Start Time" +msgstr "Час пачатку" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*НОВЫ" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "ЗМЯНІ МЯНЕ" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Імя" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Каманда" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Вышэй" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Ніжэй" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Адмяніць" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Захаваць" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Дадаць" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Выдаліць" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Сартаваць" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Дапамога" + +#: src/fe-gtk/fe-gtk.c:122 +msgid "Don't auto connect to servers" +msgstr "Не злучацца з серверамі аўтаматычна" + +#: src/fe-gtk/fe-gtk.c:123 +msgid "Use a different config directory" +msgstr "Выкарыстоўваць іншую тэчку наладак" + +#: src/fe-gtk/fe-gtk.c:124 +msgid "Don't auto load any plugins" +msgstr "Не загружаць плагіны аўтаматычна" + +#: src/fe-gtk/fe-gtk.c:125 +msgid "Show plugin auto-load directory" +msgstr "Паказаць тэчку аўтазагрузкі плагінаў" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Show user config directory" +msgstr "Паказаць тэчку карыстальніцкіх наладак" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Open an irc://server:port/channel URL" +msgstr "Адкрыць URL, irc://server:port/channel" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Open URL in an existing XChat" +msgstr "Адкрыць URL у існуючым XChat" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show version information" +msgstr "Паказаць звесткі аб версіі" + +#: src/fe-gtk/fe-gtk.c:249 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Памылка адкрыцця шрыфту:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:621 +msgid "Search buffer is empty.\n" +msgstr "Буфер пошуку пусты.\n" + +#: src/fe-gtk/fe-gtk.c:717 +#, c-format +msgid "%d bytes" +msgstr "%d байтаў" + +#: src/fe-gtk/fe-gtk.c:718 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Сеціўная чарга дасылкі: %d байтаў" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "Дзеянне Выканаць Каманду выконвае Данні 1 як каманду, быццам яна была ўведзена ў полі ўводу, у якім была націснута паслядоўнасць клавішаў. Можа змяшчаць тэкст (які будзе дасланы да канала ці асобы), каманды або каманды карыстальніка. Падчас выканання ўсе знакі \\n у Данніх 1 будуць скарыставаны для пазначэння падзелаў паміж камандамі, такім чынам, магчыма выканаць больш за адну каманду. Калі вы жадаеце ўжыць \\ у тэксце каманды, пішыце замест гэтага \\\\" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "Каманда Змяніць Старонку пераключае старонкі ў нататніку. Усталюйце Данні 1 на старонку, куды трэба пераключыцца. Калі Данні 2 ўсталяваны, то будзе лічыцца адносна бягучай пазіцыі." + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "Каманда Ўставіць у буфер уставіць змест Данніх 1 у поле, дзе была націснута камбінацыя клавішаў, у бягучую пазіцыю курсора" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "Каманда Пракрутка Старонкі пракручвае тэкставае аздабленне ўніз ці ўверх на адну старонку ці на адзін радок. Усталюйце Данні 1 як Up, Down, +1 ці -1." + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "Каманда Усталяваць Буфер усталёўвае значэнне поля поля, дзе была націснута камбінацыя клавішаў, у значэнне Данніх 1" + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "Каманда Апошняя Каманда вяртае ў поле апошнюю каманду, гэтаксама ж, як у каманднай абалонцы націсканне кнопкі Ўверх" + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "Каманда Наступная Каманда вяртае ў поле наступную каманду, гэтаксама ж, як у каманднай абалонцы націсканне кнопкі Ўніз" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "Гэта каманда змяняе тэкст у полі для дапаўнення нескончанай мянушкі ці каманы. Калі Данні 1 усталяваныя, двайны націск табуляцыі выбярэ не наступную, а апошнюю мянушку" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "Гэта каманда пракручвае ўніз і ўверх спіс карыстальнікаў. Калі Данні 1 усталяваны, будзе пракрутка ўверх, інакш - уніз" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "Гэта каманда правярае апошняе ўведзенае слова ў спіс заменаў і замяняе ў выпадку знаходжання адпаведнасці" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "Гэта каманда перамяшчае пярэднюю ўкладку на адну пазіцыю ўлева" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "Гэта каманда перамяшчае пярэднюю ўкладку на адну пазіцыю ўправа" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "Гэта каманда перамяшчае бягучую групу ўкладак на адну пазіцыю ўлева" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "Гэта каманда перамяшчае бягучую групу ўкладак на адну пазіцыю ўправа" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "Запісаць радок у журнал, але не дасылаць да сервера" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "Памылка загрузкі наладак камбінацыяў клавішаў" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1375 src/fe-gtk/maingui.c:1478 +#: src/fe-gtk/maingui.c:2938 +msgid "<none>" +msgstr "<ніякі>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "Мад" + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Клавіша" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Дзеянне" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: Камбінацыі клавішаў" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "Данні 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "Данні 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "Памылка адкрыцця файла наладак клавішаў\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Невядомая назва клавішы %s у файле наладак клавішаў\n" +"Загрузка перарвана, выпраўце %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Невядомае дзеянне %s у файле наладак клавішаў\n" +"Загрузка перарвана, выпраўце %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Чакаўся радок данніх (пачатак Dx{:|!}) , але атрымана:\n" +"%s\n" +"\n" +"Загрузка перарвана, выпраўце %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Файл наладак клавішаў пашкоджаны, загрузка перарвана\n" +"Выпраўце %s/keybindings\n" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "Немагчыма запісаць у гэты файл" + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "Немагчыма прачытаць гэты файл" + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "Гэта маска ўжо існуе" + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:1949 +msgid "Private" +msgstr "Асабісты" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Абвяшчэнне" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Запрашэнне" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Не ігнараваць" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Увядзіце маску для ігнаравання:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "XChat: Спіс ігнараванняў" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Статыстыка ігнараванняў:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Канал:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Асабісты:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Абвяшчэнне:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Запрашэнне:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:420 +msgid "Add..." +msgstr "Дадаць..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "Імя канала занадта кароткае, паспрабуйце зноў." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: Злучэнне выканана" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "Злучэнне з %s выканана." + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "У акне спіса сервераў ніводнага канала (пакоя размовы) не было ўведзена для аўтаматычнага ўваходу для гэтага сеціва." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Што вы маеце рабіць наступным?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_Нічога, Я ўвайду на канал пазней." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "_Увайсці на канал:" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Калі вы ведаеце імя канала для ўваходу, увядзіце яго тут." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "_Адкрыць акно спісу каналаў." + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "Атрыманне спісу каналаў патрабуе хвіліну ці дзве." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "_Заўсёды паказваць гэты дыялог пасля злучэння." + +#: src/fe-gtk/maingui.c:483 +msgid "Dialog with" +msgstr "Дыялог з" + +#: src/fe-gtk/maingui.c:768 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Тэма для %s : %s" + +#: src/fe-gtk/maingui.c:773 +msgid "No topic is set" +msgstr "Ніякай тэмы не ўсталявана" + +#: src/fe-gtk/maingui.c:1072 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "Гэты сервер мае %d адкрытых каналаў ці дыялогаў. Ці закрыць іх усе?" + +#: src/fe-gtk/maingui.c:1151 +msgid "No other tabs open, quit xchat?" +msgstr "Усе ўкладкі закрытыя, выйсці з xchat?" + +#: src/fe-gtk/maingui.c:1326 +msgid "Insert Attribute or Color Code" +msgstr "Пакіньце ўласцівасць ці код колеру" + +#: src/fe-gtk/maingui.c:1328 +msgid "<b>Bold</b>" +msgstr "<b>Тлусты</b>" + +#: src/fe-gtk/maingui.c:1329 +msgid "<u>Underline</u>" +msgstr "<u>Падкрэслены</u>" + +#: src/fe-gtk/maingui.c:1331 +msgid "Normal" +msgstr "Звычайны" + +#: src/fe-gtk/maingui.c:1333 +msgid "Colors 0-7" +msgstr "Колеры 0-7" + +#: src/fe-gtk/maingui.c:1343 +msgid "Colors 8-15" +msgstr "Колеры 8-15" + +#: src/fe-gtk/maingui.c:1388 +msgid "Beep on message" +msgstr "Гукавы сігнал пры паведамлення" + +#: src/fe-gtk/maingui.c:1391 +msgid "Blink tray on message" +msgstr "Мірганне ў сподку пры паведамленні" + +#: src/fe-gtk/maingui.c:1394 +msgid "Show join/part messages" +msgstr "Паказваць паведамленні аб уваходзе/выхадзе" + +#: src/fe-gtk/maingui.c:1396 +msgid "Color paste" +msgstr "Колер" + +#: src/fe-gtk/maingui.c:1406 src/fe-gtk/menu.c:1906 +msgid "_Close Tab" +msgstr "Закрыць укладку" + +#: src/fe-gtk/maingui.c:1408 src/fe-gtk/menu.c:1905 +msgid "_Detach Tab" +msgstr "Адлучыць укладку" + +#: src/fe-gtk/maingui.c:1649 +msgid "Some file transfers still active, quit xchat?" +msgstr "Некаторыя перадачы файлаў актыўныя, выйсці з xchat?" + +#: src/fe-gtk/maingui.c:1817 src/fe-gtk/maingui.c:1923 +msgid "User limit must be a number!\n" +msgstr "Абмежаванне карыстальніка павінна быць лічбай!\n" + +#: src/fe-gtk/maingui.c:1945 +msgid "Topic Protection" +msgstr "Ахова тэмы" + +#: src/fe-gtk/maingui.c:1946 +msgid "No outside messages" +msgstr "Няма вонкавых паведамленняў" + +#: src/fe-gtk/maingui.c:1947 +msgid "Secret" +msgstr "Сакрэт" + +#: src/fe-gtk/maingui.c:1948 +msgid "Invite Only" +msgstr "Толькі па запрашэннях" + +#: src/fe-gtk/maingui.c:1950 +msgid "Moderated" +msgstr "Мадэраваны" + +#: src/fe-gtk/maingui.c:1951 +msgid "Ban List" +msgstr "Спіс забарон" + +#: src/fe-gtk/maingui.c:1953 +msgid "Keyword" +msgstr "Ключавое слова" + +#: src/fe-gtk/maingui.c:1965 +msgid "User Limit" +msgstr "Абмежаванне карыстальніка" + +#: src/fe-gtk/maingui.c:2076 +msgid "Show/Hide userlist" +msgstr "Паказаць/Схаваць спіс карыстальнікаў" + +#: src/fe-gtk/maingui.c:2201 +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 "" +"Немагчыма ўсталяваць празрысты фон!\n" +"\n" +"Пэўна, выкарыстоўваецца несумяшчальны мэнэджэр акон\n" + +#: src/fe-gtk/maingui.c:2433 +msgid "Enter new nickname:" +msgstr "Увядзіце новую мянушку:" + +#: src/fe-gtk/menu.c:124 +msgid "Host unknown" +msgstr "Вузел невядомы" + +#: src/fe-gtk/menu.c:541 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:546 src/fe-gtk/menu.c:550 +msgid "Real Name:" +msgstr "Сапраўднае імя:" + +#: src/fe-gtk/menu.c:554 +msgid "User:" +msgstr "Карыстальнік:" + +#: src/fe-gtk/menu.c:558 +msgid "Country:" +msgstr "Краіна:" + +#: src/fe-gtk/menu.c:562 +msgid "Server:" +msgstr "Сервер:" + +#: src/fe-gtk/menu.c:574 +msgid "Away Msg:" +msgstr "Паведамленне адыходу:" + +#: src/fe-gtk/menu.c:584 +#, c-format +msgid "%u minutes ago" +msgstr "%u хвілін таму" + +#: src/fe-gtk/menu.c:586 src/fe-gtk/menu.c:589 +msgid "Last Msg:" +msgstr "Апошняе паведамленне:" + +#: src/fe-gtk/menu.c:690 +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 "Меню зараз схована. Яно вернецца, калі націснеце F9 ці шчоўкнеце правай кнопкай мышы на свабоднай прасторы тэкставага акна." + +#: src/fe-gtk/menu.c:777 +msgid "Open Link in Browser" +msgstr "Адкрыць спасылку ў браўзеры" + +#: src/fe-gtk/menu.c:778 +msgid "Copy Selected Link" +msgstr "Капіяваць пазначаную спасылку" + +#: src/fe-gtk/menu.c:835 src/fe-gtk/menu.c:1066 +msgid "Join Channel" +msgstr "Увайсці на канал" + +#: src/fe-gtk/menu.c:839 +msgid "Part Channel" +msgstr "Выйсці з канала" + +#: src/fe-gtk/menu.c:841 +msgid "Cycle Channel" +msgstr "Каналы па кругу" + +#: src/fe-gtk/menu.c:864 +msgid "XChat: User menu" +msgstr "XChat: Меню карыстальніка" + +#: src/fe-gtk/menu.c:873 +msgid "Edit This Menu..." +msgstr "Рэдагаваць гэтае меню..." + +#: src/fe-gtk/menu.c:1068 +msgid "Retrieve channel list..." +msgstr "Атрымаць спіс каналаў..." + +#: src/fe-gtk/menu.c:1136 +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 = xchat 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 "" +"Каманды карыстальніка - Спецыянальныя кады:\n" +"\n" +"%c = бягучы канал\n" +"%m = інфармацыя пра машыну\n" +"%n = ваша мянушка\n" +"%t = час/дата\n" +"%v = версія xchat\n" +"%2 = слова 2\n" +"%3 = слова 3\n" +"&2 = слова 2 ад канцу радка\n" +"&3 = слова 3 ад канцу радка\n" +"\n" +"напрыклад:\n" +"/cmd john hello\n" +"\n" +"%2 будзе \"john\"\n" +"&2 будзе \"john hello\"." + +#: src/fe-gtk/menu.c:1152 +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 "" +"Кнопкі спісу карыстальнікаў- Спецыяльныя кады:\n" +"\n" +"%a = усе пазначаныя мянушкі\n" +"%c = бягучы канал\n" +"%h = назва вузла пазначанай мянушкі\n" +"%e = назва бягучага сеціва\n" +"%m = інфармацыя пра машыну\n" +"%n = ваша мянушка\n" +"%s = пазначаная мянушка\n" +"%t = час/дата\n" + +#: src/fe-gtk/menu.c:1162 +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 "" +"Кнопкі дыялогу - Спецыяльныя кады:\n" +"\n" +"%a = усе пазначаныя мянушкі\n" +"%c = бягучы канал\n" +"%e = назва бягучага сеціва\n" +"%h = назва вузла пазначанай мянушкі\n" +"%m = інфармацыя пра машыну\n" +"%n = ваша мянушка\n" +"%s = пазначаная мянушка\n" +"%t = час/дата\n" + +#: src/fe-gtk/menu.c:1172 +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 "" +"Адказы CTCP - Спецыянальныя кады::\n" +"\n" +"%d = данні (ctcp цалкам)\n" +"%e = назва бягучага сеціва\n" +"%m = інфармацыя пра машыну\n" +"%s = мянушка таго, хто даслаў ctcp\n" +"%t = час/дата\n" +"%2 = слова 2\n" +"%3 = слова 3\n" +"&2 = слова 2 ад канцу радка\n" +"&3 = слова 3 ад канцу радка\n" +"\n" + +#: src/fe-gtk/menu.c:1183 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"Апрацоўшчыкі URL - Спецыяльныя кады:\n" +"\n" +"%s = радок URL\n" +"\n" +"Змяшчэнне ! (клічніка) наперадзе каманды\n" +"азначае, што яе будзе апрацоўваць камандная\n" +"абалонка, а не XChat" + +#: src/fe-gtk/menu.c:1192 +msgid "XChat: User Defined Commands" +msgstr "XChat: Вызначаныя карыстальнікам каманды" + +#: src/fe-gtk/menu.c:1199 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: Кантэкстнае меню спісу карыстальнікаў" + +#: src/fe-gtk/menu.c:1206 +msgid "Replace with" +msgstr "Замяніць" + +#: src/fe-gtk/menu.c:1206 +msgid "XChat: Replace" +msgstr "XChat: Замена" + +#: src/fe-gtk/menu.c:1213 +msgid "XChat: URL Handlers" +msgstr "XChat: Апрацоўчыкі URL" + +#: src/fe-gtk/menu.c:1232 +msgid "XChat: Userlist buttons" +msgstr "XChat: Кнопкі спісу карыстальнікаў" + +#: src/fe-gtk/menu.c:1239 +msgid "XChat: Dialog buttons" +msgstr "XChat: Кнопкі дыялогу" + +#: src/fe-gtk/menu.c:1246 +msgid "XChat: CTCP Replies" +msgstr "XChat: Адказы CTCP" + +#: src/fe-gtk/menu.c:1344 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1345 +msgid "Network Li_st..." +msgstr "Спіс _сеціў..." + +#: src/fe-gtk/menu.c:1348 +msgid "_New" +msgstr "_Новы" + +#: src/fe-gtk/menu.c:1349 +msgid "Server Tab..." +msgstr "Укладка сервера..." + +#: src/fe-gtk/menu.c:1350 +msgid "Channel Tab..." +msgstr "Укладка канала..." + +#: src/fe-gtk/menu.c:1351 +msgid "Server Window..." +msgstr "Акно сервера..." + +#: src/fe-gtk/menu.c:1352 +msgid "Channel Window..." +msgstr "Акно канала..." + +#: src/fe-gtk/menu.c:1357 src/fe-gtk/menu.c:1359 +msgid "_Load Plugin or Script..." +msgstr "Загрузіць плагін ці скрыпт..." + +#: src/fe-gtk/menu.c:1367 +msgid "_Quit" +msgstr "_Выйсці" + +#: src/fe-gtk/menu.c:1369 +msgid "_View" +msgstr "Пра_гляд" + +#: src/fe-gtk/menu.c:1371 +msgid "_Menubar" +msgstr "Меню" + +#: src/fe-gtk/menu.c:1372 +msgid "_Topicbar" +msgstr "Тэма" + +#: src/fe-gtk/menu.c:1373 +msgid "_Userlist Buttons" +msgstr "Кнопкі спісу карыстальнікаў" + +#: src/fe-gtk/menu.c:1374 +msgid "M_ode Buttons" +msgstr "Кнопкі рэжыму" + +#: src/fe-gtk/menu.c:1376 +msgid "_Layout" +msgstr "Асяроддзе" + +#: src/fe-gtk/menu.c:1378 +msgid "_Tabs" +msgstr "Укладкі" + +#: src/fe-gtk/menu.c:1379 +msgid "T_ree" +msgstr "Дрэва" + +#: src/fe-gtk/menu.c:1381 +msgid "_Network Meters" +msgstr "Вымярэнне сеціва" + +#: src/fe-gtk/menu.c:1383 +msgid "Off" +msgstr "Выкл" + +#: src/fe-gtk/menu.c:1384 +msgid "Graph" +msgstr "Графік" + +#: src/fe-gtk/menu.c:1389 +msgid "_Server" +msgstr "_Сервер" + +#: src/fe-gtk/menu.c:1390 +msgid "_Disconnect" +msgstr "_Разлучыцца" + +#: src/fe-gtk/menu.c:1391 +msgid "_Reconnect" +msgstr "_Перадалучыцца" + +#: src/fe-gtk/menu.c:1395 +msgid "Marked Away" +msgstr "Пазначыць як \"Адыйшоў\"" + +#: src/fe-gtk/menu.c:1397 +msgid "_Usermenu" +msgstr "_Меню карыстальніка" + +#: src/fe-gtk/menu.c:1399 +msgid "S_ettings" +msgstr "Наладкі" + +#: src/fe-gtk/menu.c:1400 +msgid "_Preferences" +msgstr "_Асаблівасці" + +#: src/fe-gtk/menu.c:1402 +msgid "Advanced" +msgstr "Адмысловыя" + +#: src/fe-gtk/menu.c:1403 +msgid "Auto Replace..." +msgstr "Аўтазамена..." + +#: src/fe-gtk/menu.c:1404 +msgid "CTCP Replies..." +msgstr "Адказы CTCP..." + +#: src/fe-gtk/menu.c:1405 +msgid "Dialog Buttons..." +msgstr "Кнопкі дыялогаў..." + +#: src/fe-gtk/menu.c:1406 +msgid "Keyboard Shortcuts..." +msgstr "Камбінацыі клавішаў..." + +#: src/fe-gtk/menu.c:1407 +msgid "Text Events..." +msgstr "Тэксты падзеяў..." + +#: src/fe-gtk/menu.c:1408 +msgid "URL Handlers..." +msgstr "Апрацоўшчыкі URL..." + +#: src/fe-gtk/menu.c:1409 +msgid "User Commands..." +msgstr "Каманды карыстальніка..." + +#: src/fe-gtk/menu.c:1410 +msgid "Userlist Buttons..." +msgstr "Кнопкі спісу карыстальнікаў..." + +#: src/fe-gtk/menu.c:1411 +msgid "Userlist Popup..." +msgstr "Меню спісу карыстальнікаў..." + +#: src/fe-gtk/menu.c:1414 +msgid "_Window" +msgstr "Акно" + +#: src/fe-gtk/menu.c:1415 +msgid "Ban List..." +msgstr "Спіс забароненых..." + +#: src/fe-gtk/menu.c:1416 +msgid "Channel List..." +msgstr "Спіс каналаў..." + +#: src/fe-gtk/menu.c:1417 +msgid "Character Chart..." +msgstr "Палітра літараў..." + +#: src/fe-gtk/menu.c:1418 +msgid "Direct Chat..." +msgstr "Прамыя размовы..." + +#: src/fe-gtk/menu.c:1419 +msgid "File Transfers..." +msgstr "Абмен файламі..." + +#: src/fe-gtk/menu.c:1420 +msgid "Ignore List..." +msgstr "Спіс ігнараванняў.." + +#: src/fe-gtk/menu.c:1421 +msgid "Notify List..." +msgstr "Спіс абвяшчэнняў..." + +#: src/fe-gtk/menu.c:1422 +msgid "Plugins and Scripts..." +msgstr "Плагіны і скрыпты..." + +#: src/fe-gtk/menu.c:1423 +msgid "Raw Log..." +msgstr "Журнал падзеяў..." + +#: src/fe-gtk/menu.c:1424 +msgid "URL Grabber..." +msgstr "Зборшчык URL..." + +#: src/fe-gtk/menu.c:1426 +msgid "Reset Marker Line" +msgstr "Скінуць маркер" + +#: src/fe-gtk/menu.c:1427 +msgid "C_lear Text" +msgstr "А_чысціць тэкст" + +#: src/fe-gtk/menu.c:1428 +msgid "Search Text..." +msgstr "Шукаць тэкст..." + +#: src/fe-gtk/menu.c:1429 +msgid "Save Text..." +msgstr "Захаваць тэкст" + +#: src/fe-gtk/menu.c:1431 src/fe-gtk/menu.c:1897 +msgid "_Help" +msgstr "_Дапамога" + +#: src/fe-gtk/menu.c:1432 +msgid "_Contents" +msgstr "_Змест" + +#: src/fe-gtk/menu.c:1433 +msgid "_About" +msgstr "Аб праграме" + +#: src/fe-gtk/menu.c:1910 +msgid "_Attach Window" +msgstr "_Далучыць акно" + +#: src/fe-gtk/menu.c:1911 +msgid "_Close Window" +msgstr "_Закрыць акно" + +#: src/fe-gtk/notifygui.c:137 +msgid "User" +msgstr "Карыстальнік" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "Апошні прагляд" + +#: src/fe-gtk/notifygui.c:181 +msgid "Offline" +msgstr "Разлучаны" + +#: src/fe-gtk/notifygui.c:201 src/fe-gtk/setup.c:216 +msgid "Never" +msgstr "Ніколі" + +#: src/fe-gtk/notifygui.c:204 src/fe-gtk/notifygui.c:229 +#, c-format +msgid "%d minutes ago" +msgstr "%d хвілін таму" + +#: src/fe-gtk/notifygui.c:219 +msgid "Online" +msgstr "Злучаны" + +#: src/fe-gtk/notifygui.c:348 +msgid "Enter nickname to add:" +msgstr "Увядзіце мянушку:" + +#: src/fe-gtk/notifygui.c:376 +msgid "Notify on these networks:" +msgstr "Абвяшчаць у гэтых сецівах:" + +#: src/fe-gtk/notifygui.c:387 +msgid "Comma separated list of networks is accepted." +msgstr "Прымаецца спіс сеціваў, падзеленых коскамі." + +#: src/fe-gtk/notifygui.c:407 +msgid "XChat: Notify List" +msgstr "XChat: спіс абвяшчэнняў" + +#: src/fe-gtk/notifygui.c:424 +msgid "Remove" +msgstr "Выдаліць" + +#: src/fe-gtk/notifygui.c:428 +msgid "Open Dialog" +msgstr "Пачаць дыялог" + +#: src/fe-gtk/plugin-tray.c:155 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" +"Адсутнічае 'notify-send' для адкрыцця балёнікавых выплыўных паведамленняў.\n" +"Калі ласка, устанавіце libnotify." + +#: src/fe-gtk/plugin-tray.c:206 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat: злучана з %u сецівамі і %u каналамі" + +#: src/fe-gtk/plugin-tray.c:400 +#, c-format +msgid "" +"You are connected to <b>%u</b> IRC networks.\n" +"Are you sure you want to quit?" +msgstr "" +"Вы злучаны з <b>%u</b> сецівамі IRC.\n" +"Ці ўпэўнены, што хочаце выйсці?" + +#: src/fe-gtk/plugin-tray.c:454 +msgid "_Restore" +msgstr "_Вярнуць" + +#: src/fe-gtk/plugin-tray.c:456 +msgid "_Hide" +msgstr "С_хаваць" + +#: src/fe-gtk/plugin-tray.c:459 +msgid "_Blink on" +msgstr "_Міргаць пры" + +#: src/fe-gtk/plugin-tray.c:460 src/fe-gtk/setup.c:445 +msgid "Channel Message" +msgstr "Канальным паведамленні" + +#: src/fe-gtk/plugin-tray.c:461 src/fe-gtk/setup.c:446 +msgid "Private Message" +msgstr "Асабістым паведамленні" + +#: src/fe-gtk/plugin-tray.c:462 src/fe-gtk/setup.c:447 +msgid "Highlighted Message" +msgstr "Падсвечаным паведамленні" + +#: src/fe-gtk/plugin-tray.c:466 +msgid "Quit..." +msgstr "Выхад..." + +#: src/fe-gtk/plugin-tray.c:510 src/fe-gtk/plugin-tray.c:518 +#, c-format +msgid "XChat: Highlighed message from: %s (%s)" +msgstr "XChat: Падсвечанае паведамленне ад: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:513 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat: %u падсвечаных паведамленняў, апошняе ад: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:536 src/fe-gtk/plugin-tray.c:543 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat: Новае агульнае паведамленне ад: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:539 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat: %u новых агульных паведамленняў." + +#: src/fe-gtk/plugin-tray.c:562 src/fe-gtk/plugin-tray.c:569 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat: Асабістае паведамленне ад: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:565 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat: %u асабістых паведамленняў, апошняе ад: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:615 src/fe-gtk/plugin-tray.c:623 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: прапанова файла ад: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:618 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "XChat: %u прапаноў файлаў, апошняя ад: %s (%s)" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:421 +msgid "Description" +msgstr "Апісанне" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Выберыце плагін ці скрыпт для загрузкі" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: плагіны і скрыпты" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Загрузіць" + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "_Выгрузіць" + +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "_Закрыць" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:435 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Захаваць як..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: Журнал (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Ачысціць журнал" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Адкрытае вамі акно пошуку болей не існуе." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "Пошук дасягнуў канца, не знойдзена." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Пошук" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "_Улічваць рэгістр" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "Пошук _назад" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "_Знайсці" + +#: src/fe-gtk/servlistgui.c:170 src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "Новае сеціва" + +#: src/fe-gtk/servlistgui.c:554 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Сапраўды выдаліць сеціва \"%s\" і ўсе яго серверы?" + +#: src/fe-gtk/servlistgui.c:678 +msgid "User name and Real name cannot be left blank." +msgstr "Імя карыстальніка і сапраўднае імя не могуць быць пустымі." + +#: src/fe-gtk/servlistgui.c:978 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: Рэдагаваць %s" + +#: src/fe-gtk/servlistgui.c:997 +#, c-format +msgid "Servers for %s" +msgstr "Сервера для %s" + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Connect to selected server only" +msgstr "Злучацца толькі з абранымі серверамі" + +#: src/fe-gtk/servlistgui.c:1009 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Не зацыклівацца на серверах, калі злучэнні абрываюцца" + +#: src/fe-gtk/servlistgui.c:1011 +msgid "Your Details" +msgstr "Падрабязнасці" + +#: src/fe-gtk/servlistgui.c:1017 +msgid "Use global user information" +msgstr "Выкарыстоўваць глабальная звесткі" + +#: src/fe-gtk/servlistgui.c:1020 src/fe-gtk/servlistgui.c:1252 +msgid "_Nick name:" +msgstr "_Мянушка" + +#: src/fe-gtk/servlistgui.c:1024 src/fe-gtk/servlistgui.c:1259 +msgid "Second choice:" +msgstr "Другі выбар" + +#: src/fe-gtk/servlistgui.c:1028 src/fe-gtk/servlistgui.c:1273 +msgid "_User name:" +msgstr "_Імя карыстальніка" + +#: src/fe-gtk/servlistgui.c:1032 src/fe-gtk/servlistgui.c:1280 +msgid "Rea_l name:" +msgstr "Сапраўднае _імя" + +#: src/fe-gtk/servlistgui.c:1035 +msgid "Connecting" +msgstr "Злучэнне" + +#: src/fe-gtk/servlistgui.c:1041 +msgid "Auto connect to this network at startup" +msgstr "Аўтаматычна злучацца з гэтым серверам пры старце" + +#: src/fe-gtk/servlistgui.c:1043 +msgid "Use a proxy server" +msgstr "Выкарыстоўваць проксі" + +#: src/fe-gtk/servlistgui.c:1045 +msgid "Use SSL for all the servers on this network" +msgstr "Ужываць SSL для ўсіх сервераў у гэтым сеціве" + +#: src/fe-gtk/servlistgui.c:1050 +msgid "Accept invalid SSL certificate" +msgstr "Прымаць несапраўдны SSL-сертыфікат" + +#: src/fe-gtk/servlistgui.c:1056 +msgid "C_hannels to join:" +msgstr "Каналы для ўваходу:" + +#: src/fe-gtk/servlistgui.c:1058 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Каналы для ўваходу, падзеленыя коскамі, але не прагаламі!" + +#: src/fe-gtk/servlistgui.c:1061 +msgid "Connect command:" +msgstr "Каманда злучэння" + +#: src/fe-gtk/servlistgui.c:1063 +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 "Дадатковыя каманды для выканання пасля злучэння. Калі патрэбна больш за адну, прапішыце LOAD -e <файл>, дзе <файл> гэта тэкставы файл з камандамі." + +#: src/fe-gtk/servlistgui.c:1066 +msgid "Nickserv password:" +msgstr "Пароль для Nickserv:" + +#: src/fe-gtk/servlistgui.c:1068 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "Калі ваша мянушка патрабуе пароль, вы можаце ўвесці яго тут. Не ўсе сецівы IRC падтрымліваюць гэта" + +#: src/fe-gtk/servlistgui.c:1072 +msgid "Server password:" +msgstr "Пароль сервера:" + +#: src/fe-gtk/servlistgui.c:1074 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Пароль для сервера, калі сумняваецеся, пакіньце пустым." + +#: src/fe-gtk/servlistgui.c:1077 +msgid "Character set:" +msgstr "Знаказбор:" + +#: src/fe-gtk/servlistgui.c:1147 +msgid "_Edit" +msgstr "_Рэдагаваць" + +#: src/fe-gtk/servlistgui.c:1230 +msgid "XChat: Network List" +msgstr "XChat: спіс абвяшчэнняў" + +#: src/fe-gtk/servlistgui.c:1242 +msgid "User Information" +msgstr "Звесткі аб карыстальніку" + +#: src/fe-gtk/servlistgui.c:1266 +msgid "Third choice:" +msgstr "Трэці выбар" + +#: src/fe-gtk/servlistgui.c:1326 +msgid "Networks" +msgstr "Сецівы" + +#: src/fe-gtk/servlistgui.c:1367 +msgid "Skip network list on startup" +msgstr "Не паказваць спіс сервераў пры старце" + +#: src/fe-gtk/servlistgui.c:1399 +msgid "_Edit..." +msgstr "_Змяніць..." + +#: src/fe-gtk/servlistgui.c:1406 +msgid "_Sort" +msgstr "_Упарадкаваць" + +#: src/fe-gtk/servlistgui.c:1407 +msgid "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN keys to move a row." +msgstr "Упарадкоўвае спіс сеціў паводле алфавіту. Выкарыстоўвайце камбінацыі SHIFT-UP ды SHIFT-DOWN, каб зрушваць слупок." + +#: src/fe-gtk/servlistgui.c:1432 +msgid "C_onnect" +msgstr "_Злучыцца" + +#: src/fe-gtk/setup.c:102 +msgid "Text Box Appearance" +msgstr "Выгляд тэкставага акна" + +#: src/fe-gtk/setup.c:103 +msgid "Font:" +msgstr "Шрыфт:" + +#: src/fe-gtk/setup.c:104 +msgid "Background image:" +msgstr "Фонавая выява:" + +#: src/fe-gtk/setup.c:105 +msgid "Scrollback lines:" +msgstr "Лініі пракруткі:" + +#: src/fe-gtk/setup.c:106 +msgid "Colored nick names" +msgstr "Каляровыя мянушкі" + +#: src/fe-gtk/setup.c:107 +msgid "Give each person on IRC a different color" +msgstr "Пазначыць кожнай персоне розны колер" + +#: src/fe-gtk/setup.c:108 +msgid "Indent nick names" +msgstr "Рабіць водступ перад мянушкамі" + +#: src/fe-gtk/setup.c:109 +msgid "Make nick names right-justified" +msgstr "Выраўняць мянушкі па правым краі" + +#: src/fe-gtk/setup.c:110 +msgid "Transparent background" +msgstr "Празрысты фон" + +#: src/fe-gtk/setup.c:111 +msgid "Show marker line" +msgstr "Паказваць маркер" + +#: src/fe-gtk/setup.c:112 +msgid "Insert a red line after the last read text." +msgstr "Устаўляць чырвоную лінію пасля апошняга прагледжанага тэксту" + +#: src/fe-gtk/setup.c:113 +msgid "Transparency Settings" +msgstr "Параметры празрыстасці" + +#: src/fe-gtk/setup.c:114 +msgid "Red:" +msgstr "Чырвоны" + +#: src/fe-gtk/setup.c:115 +msgid "Green:" +msgstr "Зялёны" + +#: src/fe-gtk/setup.c:116 +msgid "Blue:" +msgstr "Блакітны" + +#: src/fe-gtk/setup.c:118 src/fe-gtk/setup.c:361 +msgid "Time Stamps" +msgstr "Адзнакі часу" + +#: src/fe-gtk/setup.c:119 +msgid "Enable time stamps" +msgstr "Ужываць адзнакі часу" + +#: src/fe-gtk/setup.c:120 +msgid "Time stamp format:" +msgstr "Фармат адзнакаў часу" + +#: src/fe-gtk/setup.c:121 src/fe-gtk/setup.c:364 +msgid "See strftime manpage for details." +msgstr "Глядзіце man strftime" + +#: src/fe-gtk/setup.c:128 src/fe-gtk/setup.c:168 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:129 +msgid "Last-spoke order" +msgstr "Апошнесказаны парадак " + +#: src/fe-gtk/setup.c:135 src/fe-gtk/setup.c:1635 +msgid "Input box" +msgstr "Акно ўводу" + +#: src/fe-gtk/setup.c:136 src/fe-gtk/setup.c:179 +msgid "Use the Text box font and colors" +msgstr "Шрыфт і колер як у тэкставым акне" + +#: src/fe-gtk/setup.c:138 +msgid "Spell checking" +msgstr "Праверка правапісу" + +#: src/fe-gtk/setup.c:141 +msgid "Nick Completion" +msgstr "Дапаўненне мянушак" + +#: src/fe-gtk/setup.c:142 +msgid "Automatic nick completion (without TAB key)" +msgstr "Аўтаматычнае дапаўненне мянушак (без клавішы TAB)" + +#: src/fe-gtk/setup.c:144 +msgid "Nick completion suffix:" +msgstr "Суфікс дапаўнення мянушак" + +#: src/fe-gtk/setup.c:145 +msgid "Nick completion sorted:" +msgstr "Дапаўненне сартавана" + +#: src/fe-gtk/setup.c:148 +msgid "Input Box Codes" +msgstr "Коды ў полі ўводу" + +#: src/fe-gtk/setup.c:149 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Разумець %nnn як ASCII код" + +#: src/fe-gtk/setup.c:150 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Разумець %C, %B як Колер, Тлусты і г.д." + +#: src/fe-gtk/setup.c:167 +msgid "A-Z, Ops first" +msgstr "A-Z, Аператары першыя" + +#: src/fe-gtk/setup.c:169 +msgid "Z-A, Ops last" +msgstr "A-Z, Аператары апошнія" + +#: src/fe-gtk/setup.c:170 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:171 +msgid "Unsorted" +msgstr "Не сартаваць" + +#: src/fe-gtk/setup.c:177 +msgid "User List" +msgstr "Спіс карыстальнікаў" + +#: src/fe-gtk/setup.c:178 +msgid "Show hostnames in user list" +msgstr "Паказваць імёны хастоў у спісе карыстальнікаў" + +#: src/fe-gtk/setup.c:180 +msgid "Resizable user list" +msgstr "Змяняемая шырыня спіса карыстальнікаў" + +#: src/fe-gtk/setup.c:181 +msgid "User list sorted by:" +msgstr "Сартаваць спіс карыстальнікаў па:" + +#: src/fe-gtk/setup.c:183 +msgid "Away tracking" +msgstr "Сачыць за адышэдшымі" + +#: src/fe-gtk/setup.c:184 +msgid "Track the Away status of users and mark them in a different color" +msgstr "Сачыць за адышэдшымі і маляваць іх іншым колерам" + +#: src/fe-gtk/setup.c:185 +msgid "On channels smaller than:" +msgstr "На каналах менш за" + +#: src/fe-gtk/setup.c:187 +msgid "Action Upon Double Click" +msgstr "Рэакцыя на падвоены націск мышы" + +#: src/fe-gtk/setup.c:188 +msgid "Execute command:" +msgstr "Выканаць каманду:" + +#: src/fe-gtk/setup.c:199 +msgid "Windows" +msgstr "Вокны" + +#: src/fe-gtk/setup.c:200 src/fe-gtk/setup.c:224 src/fe-gtk/setup.c:1637 +msgid "Tabs" +msgstr "Укладкі" + +#: src/fe-gtk/setup.c:206 +msgid "Bottom" +msgstr "Ніз" + +#: src/fe-gtk/setup.c:207 +msgid "Top" +msgstr "Верх" + +#: src/fe-gtk/setup.c:208 +msgid "Left" +msgstr "Лева" + +#: src/fe-gtk/setup.c:209 +msgid "Right" +msgstr "Права" + +#: src/fe-gtk/setup.c:210 +msgid "Hidden" +msgstr "Схаваць" + +#: src/fe-gtk/setup.c:217 +msgid "Always" +msgstr "Заўсёды" + +#: src/fe-gtk/setup.c:218 +msgid "Only requested tabs" +msgstr "Толькі запрошаныя ўкладкі" + +#: src/fe-gtk/setup.c:225 +msgid "Open an extra tab for server messages" +msgstr "Адкрываць дадатковыя ўкладкі для паведамленняў сервера (message)" + +#: src/fe-gtk/setup.c:226 +msgid "Open an extra tab for server notices" +msgstr "Адкрываць дадатковыя ўкладкі для заўваг сервера (notice)" + +#: src/fe-gtk/setup.c:227 +msgid "Open a new tab when you receive a private message" +msgstr "Адкрываць новую ўкладку для атрымання асабістага паведамлення" + +#: src/fe-gtk/setup.c:228 +msgid "Sort tabs in alphabetical order" +msgstr "Сартаваць укладкі ў алфавітным парадку" + +#: src/fe-gtk/setup.c:229 +msgid "Small tabs" +msgstr "Маленькія ўкладкі" + +#: src/fe-gtk/setup.c:230 +msgid "Focus new tabs:" +msgstr "Фокус на новыя ўкладкі:" + +#: src/fe-gtk/setup.c:231 +msgid "Show tabs at:" +msgstr "Паказваць укладкі:" + +#: src/fe-gtk/setup.c:232 +msgid "Shorten tab labels to:" +msgstr "Скарачаць укладкі да:" + +#: src/fe-gtk/setup.c:232 +msgid "letters." +msgstr "знакаў" + +#: src/fe-gtk/setup.c:234 +msgid "Tabs or Windows" +msgstr "Укладкі ці вокны:" + +#: src/fe-gtk/setup.c:235 +msgid "Open channels in:" +msgstr "Адкрываць каналы ў:" + +#: src/fe-gtk/setup.c:236 +msgid "Open dialogs in:" +msgstr "Адкрываць дыялогі ў:" + +#: src/fe-gtk/setup.c:237 +msgid "Open utilities in:" +msgstr "Адкрываць сродкі ў:" + +#: src/fe-gtk/setup.c:237 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Адкрываць DCC, Ігнараванне, Абвяшчэнні і г.д. ва ўкладках ці вокнах?" + +#: src/fe-gtk/setup.c:244 +msgid "No" +msgstr "Не" + +#: src/fe-gtk/setup.c:245 +msgid "Yes" +msgstr "Так" + +#: src/fe-gtk/setup.c:246 +msgid "Browse for save folder every time" +msgstr "Выбіраць тэчку для захоўвання кожны раз" + +#: src/fe-gtk/setup.c:252 +msgid "Files and Directories" +msgstr "Файлы і тэчкі" + +#: src/fe-gtk/setup.c:253 +msgid "Auto accept file offers:" +msgstr "Аўтаматычна згаджацца з прапановамі файлаў" + +#: src/fe-gtk/setup.c:254 +msgid "Download files to:" +msgstr "Спампоўваць файлы ў:" + +#: src/fe-gtk/setup.c:255 +msgid "Move completed files to:" +msgstr "Перамяшчаць завершаныя файлы ў:" + +#: src/fe-gtk/setup.c:256 +msgid "Save nick name in filenames" +msgstr "Захоўваць мянушкі ў імёнах файлаў" + +#: src/fe-gtk/setup.c:258 +msgid "Network Settings" +msgstr "Сеціўныя наладкі" + +#: src/fe-gtk/setup.c:259 +msgid "Get my address from the IRC server" +msgstr "Атрымаць мой адрас ад IRC-сервера" + +#: src/fe-gtk/setup.c:260 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "Запытаць IRC-сервер аб вашым сапраўдным адрасе. Выкарыстоувайце, калі вы маеце адрас кшталту 192.168.*.*!" + +#: src/fe-gtk/setup.c:261 +msgid "DCC IP address:" +msgstr "DCC IP адрас:" + +#: src/fe-gtk/setup.c:262 +msgid "Claim you are at this address when offering files." +msgstr "Абвяшчаць аб гэтым адрасе пры прапанове файлаў." + +#: src/fe-gtk/setup.c:263 +msgid "First DCC send port:" +msgstr "Першы порт для дасылкі DCC:" + +#: src/fe-gtk/setup.c:264 +msgid "Last DCC send port:" +msgstr "Апошні порт для дасылкі DCC:" + +#: src/fe-gtk/setup.c:265 +msgid "!Leave ports at zero for full range." +msgstr "!Пакіньце парты нулявымі для поўнага дыяпазону." + +#: src/fe-gtk/setup.c:267 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Найвялікшая хуткасць перадачы файлаў (байтаў у секунду)" + +#: src/fe-gtk/setup.c:268 +msgid "One upload:" +msgstr "Адно запампоўванне:" + +#: src/fe-gtk/setup.c:269 src/fe-gtk/setup.c:271 +msgid "Maximum speed for one transfer" +msgstr "Найвялікшая хуткасць для адной перадачы" + +#: src/fe-gtk/setup.c:270 +msgid "One download:" +msgstr "Адно спампоўванне:" + +#: src/fe-gtk/setup.c:272 +msgid "All uploads combined:" +msgstr "Усе запампоўванні:" + +#: src/fe-gtk/setup.c:273 src/fe-gtk/setup.c:275 +msgid "Maximum speed for all files" +msgstr "Найвялікшая хуткасць" + +#: src/fe-gtk/setup.c:274 +msgid "All downloads combined:" +msgstr "Усе спампоўванні:" + +#: src/fe-gtk/setup.c:302 src/fe-gtk/setup.c:1641 +msgid "Alerts" +msgstr "Тэрміновыя паведамленні" + +#: src/fe-gtk/setup.c:305 +msgid "Show tray balloons on:" +msgstr "Паказваць балёнікі ў сподку пры:" + +#: src/fe-gtk/setup.c:306 +msgid "Blink tray icon on:" +msgstr "Міргаць сподкавай значкай пры:" + +#: src/fe-gtk/setup.c:307 +msgid "Blink task bar on:" +msgstr "Міргаць сподкам пры:" + +#: src/fe-gtk/setup.c:308 +msgid "Make a beep sound on:" +msgstr "Паведаміць піскам пры:" + +#: src/fe-gtk/setup.c:310 +msgid "Enable system tray icon" +msgstr "Задзейнічаць значку ў сістэмным сподку" + +#: src/fe-gtk/setup.c:312 +msgid "Highlighted Messages" +msgstr "Падсвечаныя паведамленні" + +#: src/fe-gtk/setup.c:313 +msgid "Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Падсвечваць паведамленні, дзе згадана ваша мянушка і:" + +#: src/fe-gtk/setup.c:315 +msgid "Extra words to highlight:" +msgstr "Дадатковыя словы для падсветкі:" + +#: src/fe-gtk/setup.c:316 +msgid "Nick names not to highlight:" +msgstr "Мянушкі, тэкст ад якіх не падсвечваць" + +#: src/fe-gtk/setup.c:317 +msgid "Nick names to always highlight:" +msgstr "Мянушкі, тэкст ад якіх заўжды падсвечваць" + +#: src/fe-gtk/setup.c:318 +msgid "Separate multiple words with commas." +msgstr "Некалькі словаў, падзеленых коскамі." + +#: src/fe-gtk/setup.c:324 +msgid "Default Messages" +msgstr "Прадвызначаныя паведамленні" + +#: src/fe-gtk/setup.c:325 +msgid "Quit:" +msgstr "Выхад:" + +#: src/fe-gtk/setup.c:326 +msgid "Leave channel:" +msgstr "Выйсці з канала: " + +#: src/fe-gtk/setup.c:327 +msgid "Away:" +msgstr "Адыйсці:" + +#: src/fe-gtk/setup.c:329 +msgid "Away" +msgstr "Адыход" + +#: src/fe-gtk/setup.c:330 +msgid "Announce away messages" +msgstr "Паведамляць аб адыходзе" + +#: src/fe-gtk/setup.c:331 +msgid "Announce your away messages to all channels" +msgstr "Паведамляць аб вашым адыходзе на ўсіх каналах" + +#: src/fe-gtk/setup.c:332 +msgid "Show away once" +msgstr "Паказваць \"Адышэдшы\" толькі адзін раз" + +#: src/fe-gtk/setup.c:332 +msgid "Show identical away messages only once" +msgstr "Паказваць аднолькавыя паведамленні аб адыходзе толькі адзін раз" + +#: src/fe-gtk/setup.c:333 +msgid "Automatically unmark away" +msgstr "Аўтаматычна здымаць статус \"Адышэдшы\"" + +#: src/fe-gtk/setup.c:333 +msgid "Unmark yourself as away before sending messages" +msgstr "Здымаць статус \"Адышэдшы\" перад дасылкай паведамленняў" + +#: src/fe-gtk/setup.c:340 +msgid "Advanced Settings" +msgstr "Дадатковыя наладкі" + +#: src/fe-gtk/setup.c:341 +msgid "Auto reconnect delay:" +msgstr "Затрымка паміж спробамі злучыцца" + +#: src/fe-gtk/setup.c:342 +msgid "Display MODEs in raw form" +msgstr "Паказваць рэжымы ў чыстым выглядзе " + +#: src/fe-gtk/setup.c:343 +msgid "Whois on notify" +msgstr "Whois пры абвяшчэнні" + +#: src/fe-gtk/setup.c:343 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Дасылать /WHOIS, калі карыстальнік са спісу абвяшчэнняў злучаецца" + +#: src/fe-gtk/setup.c:344 +msgid "Hide join and part messages" +msgstr "Схаваць паведамленні аб уваходзе і адыходзе" + +#: src/fe-gtk/setup.c:344 +msgid "Hide channel join/part messages by default" +msgstr "Схаваць паведамленні аб уваходзе/адыходзе" + +#: src/fe-gtk/setup.c:345 +msgid "Auto Open DCC Windows" +msgstr "Аўтаматычна адкрываць вокны DCC" + +#: src/fe-gtk/setup.c:346 +msgid "Send window" +msgstr "Акно дасылкі" + +#: src/fe-gtk/setup.c:347 +msgid "Receive window" +msgstr "Акно атрымання" + +#: src/fe-gtk/setup.c:348 +msgid "Chat window" +msgstr "Акно размовы" + +#: src/fe-gtk/setup.c:356 src/fe-gtk/setup.c:1643 +msgid "Logging" +msgstr "Журнал" + +#: src/fe-gtk/setup.c:357 +msgid "Enable logging of conversations" +msgstr "Дазволіць журналяванне дыялогаў" + +#: src/fe-gtk/setup.c:358 +msgid "Log filename:" +msgstr "Імя файла журналу:" + +#: src/fe-gtk/setup.c:359 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "(%s=Сервер %c=Канал %n=Сеціва)." + +#: src/fe-gtk/setup.c:362 +msgid "Insert timestamps in logs" +msgstr "Устаўляць адзнакі часу ў журнал" + +#: src/fe-gtk/setup.c:363 +msgid "Log timestamp format:" +msgstr "Фармат адзнакаў часу:" + +#: src/fe-gtk/setup.c:371 +msgid "(Disabled)" +msgstr "(Адключана)" + +#: src/fe-gtk/setup.c:372 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:373 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:374 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:375 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:377 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: src/fe-gtk/setup.c:384 +msgid "All Connections" +msgstr "Усе злучэнні" + +#: src/fe-gtk/setup.c:385 +msgid "IRC Server Only" +msgstr "Толькі IRC-сервер" + +#: src/fe-gtk/setup.c:386 +msgid "DCC Get Only" +msgstr "Толькі атрыманне DCC" + +#: src/fe-gtk/setup.c:392 +msgid "Your Address" +msgstr "Ваш адрас" + +#: src/fe-gtk/setup.c:393 +msgid "Bind to:" +msgstr "Ужываць адрас:" + +#: src/fe-gtk/setup.c:394 +msgid "Only useful for computers with multiple addresses." +msgstr "Карысна толькі для кампутараў з некалькімі адрасамі." + +#: src/fe-gtk/setup.c:396 +msgid "Proxy Server" +msgstr "Проксі-сервер" + +#: src/fe-gtk/setup.c:397 +msgid "Hostname:" +msgstr "Хост:" + +#: src/fe-gtk/setup.c:398 +msgid "Port:" +msgstr "Порт:" + +#: src/fe-gtk/setup.c:399 +msgid "Type:" +msgstr "Тып:" + +#: src/fe-gtk/setup.c:400 +msgid "Use proxy for:" +msgstr "Выкарыстоўваць проксі для:" + +#: src/fe-gtk/setup.c:402 +msgid "Proxy Authentication" +msgstr "Спраўжванне на проксі" + +#: src/fe-gtk/setup.c:404 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Спраўжванне на проксі-серверы (толькі MS Proxy, HTTP ці Socks5)" + +#: src/fe-gtk/setup.c:406 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Праверка на проксі-серверы (толькі HTTP ці Socks5)" + +#: src/fe-gtk/setup.c:408 +msgid "Username:" +msgstr "Імя карыстальніка:" + +#: src/fe-gtk/setup.c:409 +msgid "Password:" +msgstr "Пароль:" + +#: src/fe-gtk/setup.c:816 +msgid "Select an Image File" +msgstr "Абярыце файл выявы" + +#: src/fe-gtk/setup.c:840 +msgid "Select Download Folder" +msgstr "Абярыце тэчку для спамповак" + +#: src/fe-gtk/setup.c:849 +msgid "Select font" +msgstr "Абярыце шрыфт" + +#: src/fe-gtk/setup.c:946 +msgid "Browse..." +msgstr "Агляд.." + +#: src/fe-gtk/setup.c:1086 +msgid "Mark identified users with:" +msgstr "Пазначаць ідэнтыфікаваных карыстальнікаў:" + +#: src/fe-gtk/setup.c:1088 +msgid "Mark not-identified users with:" +msgstr "Пазначаць неідэнтыфікаваных карыстальнікаў:" + +#: src/fe-gtk/setup.c:1095 +msgid "Open Data Folder" +msgstr "Адкрыць тэчку данніх" + +#: src/fe-gtk/setup.c:1149 +msgid "Select color" +msgstr "Вылучце колер" + +#: src/fe-gtk/setup.c:1229 +msgid "Text Colors" +msgstr "Колеры тэксту" + +#: src/fe-gtk/setup.c:1231 +msgid "mIRC colors:" +msgstr "Колеры mIRC:" + +#: src/fe-gtk/setup.c:1239 +msgid "Local colors:" +msgstr "Лакальныя колеры:" + +#: src/fe-gtk/setup.c:1247 src/fe-gtk/setup.c:1252 +msgid "Foreground:" +msgstr "Колер літар:" + +#: src/fe-gtk/setup.c:1248 src/fe-gtk/setup.c:1253 +msgid "Background:" +msgstr "Фон:" + +#: src/fe-gtk/setup.c:1250 +msgid "Marking Text" +msgstr "Адзначэнне тэксту" + +#: src/fe-gtk/setup.c:1255 +msgid "Interface Colors" +msgstr "Колеры інтэрфейсу" + +#: src/fe-gtk/setup.c:1257 +msgid "New data:" +msgstr "Новыя дадзеныя:" + +#: src/fe-gtk/setup.c:1258 +msgid "Marker line:" +msgstr "Лінія-адзнака:" + +#: src/fe-gtk/setup.c:1259 +msgid "New message:" +msgstr "Новае паведамленне:" + +#: src/fe-gtk/setup.c:1260 +msgid "Away user:" +msgstr "Адышэдшы карыстальнік:" + +#: src/fe-gtk/setup.c:1261 +msgid "Highlight:" +msgstr "Падсветка:" + +#: src/fe-gtk/setup.c:1357 src/fe-gtk/textgui.c:386 +msgid "Event" +msgstr "Падзея" + +#: src/fe-gtk/setup.c:1363 +msgid "Sound file" +msgstr "Гукавы файл" + +#: src/fe-gtk/setup.c:1398 +msgid "Select a sound file" +msgstr "Абярыце гукавы файл" + +#: src/fe-gtk/setup.c:1470 +msgid "Sound playing method:" +msgstr "Спосаб граць гук:" + +#: src/fe-gtk/setup.c:1478 +msgid "External sound playing _program:" +msgstr "Вонкавая праграма для _прайгравання гуку:" + +#: src/fe-gtk/setup.c:1496 +msgid "_External program" +msgstr "_Вонкавая праграма" + +#: src/fe-gtk/setup.c:1506 +msgid "_Automatic" +msgstr "_Аўтаматычна" + +#: src/fe-gtk/setup.c:1519 +msgid "Sound files _directory:" +msgstr "Каталог з гукавымі файламі:" + +#: src/fe-gtk/setup.c:1558 +msgid "Sound file:" +msgstr "Гукавы файл:" + +#: src/fe-gtk/setup.c:1573 +msgid "_Browse..." +msgstr "_Знайсці..." + +#: src/fe-gtk/setup.c:1584 +msgid "_Play" +msgstr "_Граць" + +#: src/fe-gtk/setup.c:1633 +msgid "Interface" +msgstr "Інтэрфейс" + +#: src/fe-gtk/setup.c:1634 +msgid "Text box" +msgstr "Тэкставае акно" + +#: src/fe-gtk/setup.c:1636 +msgid "User list" +msgstr "Спіс карыстальнікаў" + +#: src/fe-gtk/setup.c:1638 +msgid "Colors" +msgstr "Колеры" + +#: src/fe-gtk/setup.c:1640 +msgid "Chatting" +msgstr "Размовы" + +#: src/fe-gtk/setup.c:1642 +msgid "General" +msgstr "Агульнае" + +#: src/fe-gtk/setup.c:1644 +msgid "Sound" +msgstr "Гук" + +#: src/fe-gtk/setup.c:1648 +msgid "Network setup" +msgstr "Сеціўныя наладкі" + +#: src/fe-gtk/setup.c:1649 +msgid "File transfers" +msgstr "Абмен файламі" + +#: src/fe-gtk/setup.c:1757 +msgid "Categories" +msgstr "Катэгорыі" + +#: src/fe-gtk/setup.c:1938 +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 "" +"Вы не можаце размясціць дрэва ўверсе ці ўнізе!\n" +"Спачатку змяніце Асяроддзе на <b>Ўкладкі</b> ў меню <b>Прагляд</b>." + +#: src/fe-gtk/setup.c:1948 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Некаторыя наладкі будуць зменены толькі пасля рэстарту." + +#: src/fe-gtk/setup.c:1956 +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 "" +"*УВАГА*\n" +"Аўтапрыманне DCC у вашу хатнюю тэчку ёсць\n" +"небяспечным і можа быць выкарыставана, напрыклад,\n" +"нехта можа даслаць вам .bash_profile" + +#: src/fe-gtk/setup.c:1989 +msgid "XChat: Preferences" +msgstr "XChat: Асаблівасці" + +#: src/fe-gtk/textgui.c:177 +msgid "There was an error parsing the string" +msgstr "Узнікла памылка пры апрацоўцы радка" + +#: src/fe-gtk/textgui.c:185 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Гэты сігнал прымае толькі %d аргументаў, $%d няправільны" + +#: src/fe-gtk/textgui.c:301 src/fe-gtk/textgui.c:324 +msgid "Print Texts File" +msgstr "Друкаваць тэкставы файл" + +#: src/fe-gtk/textgui.c:369 +msgid "Edit Events" +msgstr "Рэдагаваць падзеі" + +#: src/fe-gtk/textgui.c:420 +msgid "$ Number" +msgstr "$ Лічба" + +#: src/fe-gtk/textgui.c:437 +msgid "Load From..." +msgstr "Загрузіць з..." + +#: src/fe-gtk/textgui.c:438 +msgid "Test All" +msgstr "Праверыць усё" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: Зборшчык URL" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Ачысціць спіс" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Капіяваць выбраны URL" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Капіяваць" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Захаваць спіс у файл" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d апер, %d усяго" diff --git a/po/bg.po b/po/bg.po new file mode 100644 index 00000000..bf3b7baa --- /dev/null +++ b/po/bg.po @@ -0,0 +1,5078 @@ +# Bulgarian translation of xchat2. +# This file is put in the public domain. +# Rostislav Raykov <zbrox@i-space.org>, 2005. +# Rostislav Raykov <zbrox@i-space.org>, 2005. +# Even though this file is set to correspond to 2.4.2 +# version it is synced with xchat HEAD. We still have to +# work around the TP robot. +# +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.4.2\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2005-03-07 18:50+1100\n" +"PO-Revision-Date: 2005-05-20 17:51+0300\n" +"Last-Translator: Rostislav Raykov <zbrox@i-space.org>\n" +"Language-Team: Bulgarian <dict@fsa-bg.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: src/common/cfgfiles.c:350 +msgid "Cannot create ~/.xchat2" +msgstr "Не може да се създаде ~/.xchat2" + +#: src/common/cfgfiles.c:672 +msgid "I'm busy" +msgstr "Зает съм" + +#: src/common/cfgfiles.c:673 +msgid "Leaving" +msgstr "Напускам" + +#: src/common/cfgfiles.c:719 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Да влизате в IRC като root е ГЛУПАВО! Направете си\n" +" потребител и използвайте него.\n" + +#: src/common/dcc.c:61 +msgid "Waiting" +msgstr "Чакам" + +#: src/common/dcc.c:62 +msgid "Active" +msgstr "Активна" + +#: src/common/dcc.c:63 +msgid "Failed" +msgstr "Пропадна" + +#: src/common/dcc.c:64 +msgid "Done" +msgstr "Готово" + +#: src/common/dcc.c:65 +msgid "Connect" +msgstr "Свързване" + +#: src/common/dcc.c:66 +msgid "Aborted" +msgstr "Прекъснато" + +#: src/common/dcc.c:1299 +#, c-format +msgid "Cannot access %s\n" +msgstr "Няма достъп до %s\n" + +#: src/common/dcc.c:1919 +msgid "No active DCCs\n" +msgstr "Няма активни DCC-та\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "ДА" + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "НЕ" + +#: src/common/ignore.c:373 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Вие сте CTCP flood-нати от %s, игнорира се %s\n" + +#: src/common/ignore.c:398 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "Вие сте заляти(flood) със съобщения от %s, настройва се автоматичния диалог на изключен.\n" + +#: src/common/notify.c:400 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s онлайн\n" + +#: src/common/notify.c:402 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s офлайн\n" + +#: src/common/outbound.c:70 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Не сте влезли в стая. Опитайте с /join #<стая>\n" + +#: src/common/outbound.c:76 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Не сте свързани. Опитайте с /server <хост> [<порт>]\n" + +#: src/common/outbound.c:1375 +msgid "I need /bin/sh to run!\n" +msgstr "Нужен е /bin/sh, за да се изпълни!\n" + +#: src/common/outbound.c:1618 +msgid "" +"\n" +"Commands Available:\n" +"\n" +" " +msgstr "" +"\n" +"Налични команди:\n" +"\n" +" " + +#: src/common/outbound.c:1653 +msgid "" +"\n" +"\n" +"Type /HELP <command> for more information, or /HELP -l\n" +"\n" +msgstr "" +"\n" +"\n" +"Напишете /HELP <команда> за повече информация, или /HELP -l\n" +"\n" + +#: src/common/outbound.c:1654 +msgid "" +"User defined commands:\n" +"\n" +" " +msgstr "" +"Потребителски команди:\n" +"\n" +" " + +#: src/common/outbound.c:1746 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Непознатия аргумент '%s' се игнорира." + +#: src/common/outbound.c:2524 +msgid "No such plugin found.\n" +msgstr "Няма намерен такъв плъгин.\n" + +#: src/common/outbound.c:2529 src/fe-gtk/plugingui.c:185 +msgid "That plugin is refusing to unload.\n" +msgstr "Този плъгин не иска да се отзарежда.\n" + +#: src/common/outbound.c:2686 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <име> <действие>, добавя бутон под списъка с потребители" + +#: src/common/outbound.c:2688 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <команда>, изпраща команда към всички присъединени стаи" + +#: src/common/outbound.c:2690 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <команда>, изпраща команда към всички сървъри, към които сте свързан" + +#: src/common/outbound.c:2691 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<причина>], включва режим \"Отсъствам\"" + +#: src/common/outbound.c:2693 +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 "" + +#: src/common/outbound.c:2695 +msgid "CLEAR, Clears the current text window" +msgstr "CLEAR, изчиства текущия текстов прозорец" + +#: src/common/outbound.c:2696 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, затваря текущия прозорец/таб" + +#: src/common/outbound.c:2699 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY <код>, намира код на страна, пример: au = Австралия" + +#: src/common/outbound.c:2701 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:2703 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "CYCLE, излиза се от текущата стая и после веднага пак се влиза в нея" + +#: src/common/outbound.c:2705 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:2715 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2717 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <име>, изтрива бутон от тези, които са под списъка с потребителите" + +#: src/common/outbound.c:2719 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2721 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2722 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, прекъсва връзката към сървъра" + +#: src/common/outbound.c:2723 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "" + +#: src/common/outbound.c:2724 +msgid "ECHO <text>, Prints text locally" +msgstr "" + +#: src/common/outbound.c:2727 +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 "" + +#: src/common/outbound.c:2729 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:2732 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:2734 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:2735 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:2739 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:2741 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:2747 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2749 +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 "" + +#: src/common/outbound.c:2756 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2757 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <стая>, влизане в дадена стая" + +#: src/common/outbound.c:2759 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <прякор>, изхвърля упоменатия човек от текущата стая (изисква операторски статус)" + +#: src/common/outbound.c:2761 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2764 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, пуска нова проверка на забавянето на репликите" + +#: src/common/outbound.c:2766 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <низ>, търси за низ в буфера" + +#: src/common/outbound.c:2768 +msgid "LOAD <file>, loads a plugin or script" +msgstr "LOAD <файл>, зарежда плъгин или скрипт" + +#: src/common/outbound.c:2771 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2773 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2775 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <действие>, изпраща действието към текущата стая (действията трябва да са в трето лице. пример: /me скача)" + +#: src/common/outbound.c:2777 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2780 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, масово дава операторски статус на всички потребители в дадената стая (изисква същия статус)" + +#: src/common/outbound.c:2781 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <прякор> <съобщение>, праща лично съобщение" + +#: src/common/outbound.c:2784 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, изписва прякорите в текущата стая" + +#: src/common/outbound.c:2786 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "" + +#: src/common/outbound.c:2787 +msgid "NEWSERVER <hostname> [<port>]" +msgstr "NEWSERVER <име на хост> [<порт>]" + +#: src/common/outbound.c:2788 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <прякор>, настройва прякора ви" + +#: src/common/outbound.c:2791 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <прякор/стая> <съобщение>, изпраща уведомение. Това са вид въобщения,към които трябва да се реагира автоматично" + +#: src/common/outbound.c:2793 +msgid "NOTIFY [<nick>], lists your notify list or adds someone to it" +msgstr "NOTIFY [<прякор>], изписва списъка с приятелчетата ти или добавя някой" + +#: src/common/outbound.c:2795 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <прякор>, дава операторски статус на прякора (изисква същия статус)" + +#: src/common/outbound.c:2797 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<стая>] [<причина>], напуска стаята, по подразбиране текущата" + +#: src/common/outbound.c:2799 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <прякор | стая>, CTCP пинг към прякор или стая" + +#: src/common/outbound.c:2801 +msgid "QUERY <nick>, opens up a new privmsg window to someone" +msgstr "QUERY <прякор>, отваря нов диалогов прозорец с някой" + +#: src/common/outbound.c:2803 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<причина>], разкача се от текущия сървър" + +#: src/common/outbound.c:2805 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <текст>, праща текста в чиста форма към сървъра" + +#: src/common/outbound.c:2808 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:2811 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:2813 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <текст>, праща чиста информация към X-Chat, както ако е била получена от IRC сървър" + +#: src/common/outbound.c:2816 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <текст>, праща текста към обекта в текущия прозорец" + +#: src/common/outbound.c:2819 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <хост> <порт> <стая>, свързва се и влиза в стая" + +#: src/common/outbound.c:2822 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <хост> <порт> <стая>, свързва се и влиза в стая" + +#: src/common/outbound.c:2826 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <хост> [<порт>] [<парола>], свързва се със сървър, стандартния порт е 6667 за нормални връзки и 9999 за SSL връзки" + +#: src/common/outbound.c:2829 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <хост> [<порт>] [<парола>], свързва се със сървър, стандартния порт е 6667" + +#: src/common/outbound.c:2831 +msgid "SET [-quiet] <variable> [<value>]" +msgstr "SET [-quiet] <променлива> [<стойност>]" + +#: src/common/outbound.c:2832 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<позиция>, определя позицията на курсора" + +#: src/common/outbound.c:2836 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<тема>], настройва темата ако е дадената такава, ако не-показва текущата" + +#: src/common/outbound.c:2838 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <маска> [<маска>...], маха забраната от избраните маски" + +#: src/common/outbound.c:2839 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "" + +#: src/common/outbound.c:2840 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <име>, отзарежда плъгин или скрипт" + +#: src/common/outbound.c:2841 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, отваря URL-то в браузъра ви" + +#: src/common/outbound.c:2844 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <прякор>, дава статуса \"voice\" на някой (изисква операторски статус в стаята)" + +#: src/common/outbound.c:2846 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <съобщение>, изпраща съобщението до всички канали" + +#: src/common/outbound.c:2848 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <съобщение>, изпраща съобщение до всички оператори в текущата стая" + +#: src/common/outbound.c:2881 +#, c-format +msgid "Usage: %s\n" +msgstr "Употреба: %s\n" + +#: src/common/outbound.c:2886 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Няма налична помощ за тази команда.\n" + +#: src/common/outbound.c:2892 +msgid "No such command.\n" +msgstr "Няма такава команда.\n" + +#: src/common/outbound.c:3216 +msgid "Bad arguments for user command.\n" +msgstr "Грешни аргументи за потребителската команда.\n" + +#: src/common/outbound.c:3380 +msgid "Too many recursive usercommands, aborting." +msgstr "Прекалено много рекурсивни потребителски команди, прекъсва се..." + +#: src/common/outbound.c:3453 +msgid "Unknown Command. Try /help\n" +msgstr "Непозната команда. Опитайте /help\n" + +#: src/common/plugin.c:359 src/common/plugin.c:400 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Няма xchat_plugin_init символ; това наистина ли е X-Chat плъгин?" + +#: src/common/server.c:586 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Сигурни ли сте, че това е SSL сървър и правилния порт?\n" + +#: src/common/server.c:937 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Не може да се разбере името на хоста %s\n" +"Проверете вашите IP настройки!\n" + +#: src/common/server.c:942 +msgid "Proxy traversal failed.\n" +msgstr "Пренасянето към проксито пропадна.\n" + +#: src/common/servlist.c:644 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Минава се към следващия сървър в %s...\n" + +#: src/common/servlist.c:1056 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Внимание: Кодовата таблица \"%s\" е непозната. Няма да има преобразуване за мрежата %s." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "-%C10-%C11-%O$t$1 е добавен/а към списъка с приятели." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Списък със забраните:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tНе можете да влезнете в%C26 %B$1 %O(Забранен ви е достъпа)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 прякора му/й сега е $2" + +#: src/common/textevents.h:21 +msgid "%C18*$t$1%O $2" +msgstr "%C18*$t$1%O $2" + +#: src/common/textevents.h:24 +msgid "%C21*%O$t%C21%B$1%O%C21 $2" +msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 поставя забрана на $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tСтаята $1 е създадена на $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O·маха·полу-операторския·статус·на%C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O·маха·операторския·статус·от·%C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O премахва поканите от%C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 слага покани за $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O дава полу-операторски статус на %C26 $2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 слага покани за $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UСтая Потребители Тема" + +#: src/common/textevents.h:54 +msgid "%C18%B%B$4$1%O%C18%O$t$2" +msgstr "%C18%B%B$4$1%O%C18%O$t$2" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 поставя режим $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Стая $1 режими: $2" + +#: src/common/textevents.h:63 +msgid "$4%C21%B$1%O$t%C21$2" +msgstr "$4%C21%B$1%O$t%C21$2" + +#: src/common/textevents.h:66 +msgid "%C28-%C29$1/$2%C28-%O$t$3" +msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O дава статус на оператор за стаята на%C26 $" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 маха exempt от $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 премахва поканите от $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 маха ключовата дума на стаята" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 маха потребителския лимит" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 настройва ключовата дума на стаята на $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 настройва лимита на стаята на $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 маха забраната за $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O дава статус \"Voice\" на%C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Връзката е осъществена. Сега се влиза..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Свързване с $1 ($2) порт $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Връзката пропадна. Грешка: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tПолучен CTCP $1 от $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tПолучен CTCP $1 от $2 (до $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tПолучен CTCP звук $1 от $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC разговор с %C26$1%O прекъснат." + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC разговор осъществи връзка с %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tDCC разговор с %C26$1%O е изгубен ($4)." + +#: src/common/textevents.h:126 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tПолучено предложение за DCC разговор от $1" + +#: src/common/textevents.h:129 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tПредлагане на DCC разговор на $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tВече се предлага разговор на $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 опит за връзка към %C26·$2%O·пропадна (err=$3)." + +#: src/common/textevents.h:138 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tПолучено '$1%O' от $2" + +#: src/common/textevents.h:141 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Вид До/От Статус Размер Позиция Файл " + +#: src/common/textevents.h:144 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$tПолучи грешно DCC искане от %C26$1%O.%010%C22*%O$tСъдържание на пакета: $2" + +#: src/common/textevents.h:147 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tПредлага се%C26 $1%O на%C26 $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tНяма такова DCC предложение." + +#: src/common/textevents.h:153 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC Получаване %C26·$2%O до %C26·$1%O е прекъснато." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tDCC получаване %C26·$1%O от %C26·$3%O завърши %C30[%C26$4%O·cps%C30]%O." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC получаване осъществи връзка с %C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC получаване %C26·$1%O от %C26·$3%O пропадна. ($4)." + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC Получаване: Не може да отвори $1 за запис ($2)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tФайлът %C26·$1%C вече съществува, вместо това се записва като %C26·$2%O." + +#: src/common/textevents.h:171 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Oпоиска да продължи %C26·$2·%Cот %C26 $3%C." + +#: src/common/textevents.h:174 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC изпращане %C26·$2%O·до %C26·$1%O е прекъснато." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC изпращане %C26·$1%O до %C26 $2%O завърши %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC изпращане осъществи връзка с %C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC изпращане %C26·$1%O до %C26·$2%O пропадна. $3" + +#: src/common/textevents.h:186 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1·%Oе предложил %C26·$2·%O(%C26$3·%Oбайта)" + +#: src/common/textevents.h:189 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26·$2·%Oдо %C26·$3·%Cе спряло - прекъсва." + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26·$2·%Oдо %C26·$3·%Oе спряло - прекъсва." + +#: src/common/textevents.h:195 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 е изтрит/а от списъка с приятелчетата." + +#: src/common/textevents.h:198 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$t$1Връзката е прекъсната ($1)." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tВашето IP е намерено: [$1]" + +#: src/common/textevents.h:204 +msgid "$1$t$2" +msgstr "$1$t$2" + +#: src/common/textevents.h:207 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O е добавен/а в списъка с игнорираните" + +#: src/common/textevents.h:210 +msgid "Ignore on %C26$1%O changed." +msgstr "Игнорирането на %C26$1%O беше променено." + +#: src/common/textevents.h:213 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "" + +#: src/common/textevents.h:219 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O е махнат/а от списъка с игнорираните." + +#: src/common/textevents.h:222 +msgid " Ignore list is empty." +msgstr " Списъка с игнорираните е празен." + +#: src/common/textevents.h:225 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tНе може да се влезне в%C26·%B$1·%O(Стаята е само с покани)." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tБяхте поканени в %C26·$1%O от %C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:231 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) влезна в $2" + +#: src/common/textevents.h:234 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tНе може да се влезне в%C26 %B$1 %O(Нужна е ключова дума)." + +#: src/common/textevents.h:237 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 изхвърли $2 от $3 ($4%O%C21)" + +#: src/common/textevents.h:240 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tБяхте убит/а от $1 ($2%O%C22)" + +#: src/common/textevents.h:243 +msgid "%C19>%O$1%C19<%O$t$2%O" +msgstr "%C19>%O$1%C19<%O$t$2%O" + +#: src/common/textevents.h:246 +msgid "%C16*%O$t$1%O" +msgstr "%C16*%O$t$1%O" + +#: src/common/textevents.h:249 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22Съобщението за деня е пропуснато." + +#: src/common/textevents.h:252 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 вече е зает. Опитва се отново с $2..." + +#: src/common/textevents.h:255 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tПрякора е вече зает. Използвайте /NICK ,за да опитате с друг." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tНяма такова DCC" + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tНяма текущ вървящ процес" + +#: src/common/textevents.h:264 +msgid "%C28-%C29$1%C28-%O$t$2" +msgstr "%C28-%C29$1%C28-%O$t$2" + +#: src/common/textevents.h:267 +msgid "%C19>%O$1%C19<%O$t$2" +msgstr "%C19>%O$1%C19<%O$t$2" + +#: src/common/textevents.h:270 +msgid "$tNotify list is empty." +msgstr "$tСписъка с приятелчета е празен." + +#: src/common/textevents.h:273 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Списък с приятелчета " + +#: src/common/textevents.h:276 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 потребителя в списъка с приятелчета." + +#: src/common/textevents.h:279 +msgid "%C22*%O$tNotify: $1 is offline ($2)." +msgstr "%C22*%O$tУведомяване: $1 вече не е на линия ($2)." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is online ($2)." +msgstr "%C22*%O$tУведомяване: $1 е на линия ($2)." + +#: src/common/textevents.h:288 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) излезна от $3" + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23$4)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) излезна от $3 (%O%C23$4)" + +#: src/common/textevents.h:294 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tПинг отговор от $1 : $2 секунда/и" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tНямаше отговор от пинга за $1 секунди, прекъсване на връзката" + +#: src/common/textevents.h:300 +msgid "%C28*%C29$3$1%C28*$t%O$2" +msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#: src/common/textevents.h:303 +msgid "%C18%B%B$3$1%O$t$2" +msgstr "%C18%B%B$3$1%O$t$2" + +#: src/common/textevents.h:306 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tA - процеса вече върви" + +#: src/common/textevents.h:309 +msgid "%C23*%O$t%C23$1 has quit (%O%C23$2)" +msgstr "%C23*%O$t%C23$1 излезна от IRC (%O%C23$2)" + +#: src/common/textevents.h:312 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 поставя режими%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:315 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallop съобщения%C28-%O$t$2" + +#: src/common/textevents.h:318 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tТърсене на IP номера заr%C26 $1%O..." + +#: src/common/textevents.h:321 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Връзката е осъществена." + +#: src/common/textevents.h:324 src/common/textevents.h:330 +#: src/common/textevents.h:333 +msgid "%C22*%O$t$1" +msgstr "%C22*%O$t$1" + +#: src/common/textevents.h:327 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Търсене... $1" + +#: src/common/textevents.h:336 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tПредишния опит за връзка спрян (pid=$1)" + +#: src/common/textevents.h:339 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Темата на $1%C %C29е: $2" + +#: src/common/textevents.h:342 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 смени темата на: $2" + +#: src/common/textevents.h:345 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Темата на $1%C %C29е настроена от $2%C %C29на $3" + +#: src/common/textevents.h:348 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tНепознат хост. Може би сте направили грешка при изписването?" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tНе може да се влезне в%C26 %B$1 %O(Достигнат е потребителският лимит)." + +#: src/common/textevents.h:354 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Потребителя в $1:%C $2" + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cотсъства %C30(%O$2%O%C30)" + +#: src/common/textevents.h:363 src/common/textevents.h:369 +#: src/common/textevents.h:384 src/common/textevents.h:387 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:366 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OКрай на \"Кой е...?\" информацията." + +#: src/common/textevents.h:372 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O неактивност%C26 $2" + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O неактивност%C26 $2%O, включил/а се на:%C26 $3" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Oистински потребител@хост%C27 $2%O, реално IP%C27 $3" + +#: src/common/textevents.h:390 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Сега говорите в $2" + +#: src/common/textevents.h:393 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tБяхте изхвърлени от стаята $2 от $3 ($4%O%C23)" + +#: src/common/textevents.h:396 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tНапуснахте стаята $3" + +#: src/common/textevents.h:399 +msgid "%C23*$tYou have left channel $3 (%O%C23$4%O%C23)" +msgstr "%C23*$tНапуснахте стаята $3 (%O%C23$4%O%C23)" + +#: src/common/textevents.h:402 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tПоканихте%C26 $1%O в%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:405 +msgid "%C31%B%B$4$1%O$t%C30$2" +msgstr "%C31%B%B$4$1%O$t%C30$2" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou are now known as $2" +msgstr "-%C10-%C11-%O$tНовият ви прякор е $2" + +#: src/common/text.c:207 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** КРАЙ НА ЗАПИСВАНЕ НА РАЗГОВОРА В %s\n" + +#: src/common/text.c:325 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** НАЧАЛО НА ЗАПИСВАНЕ НА РАЗГОВОРА В %s\n" + +#: src/common/text.c:344 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Не може да се пише във файла за записване на разговорите.\n" +" Проверете правата за %s/xchatlogs" + +#: src/common/text.c:559 +msgid "Left message" +msgstr "Ляво съобщение" + +#: src/common/text.c:560 +msgid "Right message" +msgstr "Дясно съобщение" + +#: src/common/text.c:564 +msgid "The nick of the joining person" +msgstr "Прякора на човека, който влиза" + +#: src/common/text.c:565 +msgid "The channel being joined" +msgstr "Стаята, в която се влиза" + +#: src/common/text.c:566 src/common/text.c:611 src/common/text.c:668 +msgid "The host of the person" +msgstr "Хоста на човека" + +#: src/common/text.c:570 src/common/text.c:575 src/common/text.c:582 +#: src/common/text.c:649 src/common/text.c:774 src/common/text.c:781 +#: src/common/text.c:786 src/common/text.c:791 src/common/text.c:796 +#: src/common/text.c:802 src/common/text.c:807 src/common/text.c:811 +#: src/common/text.c:817 src/common/text.c:823 src/common/text.c:869 +#: src/common/text.c:878 src/common/text.c:883 src/common/text.c:888 +#: src/common/text.c:897 src/common/text.c:908 src/common/text.c:915 +#: src/common/text.c:921 src/common/text.c:926 src/common/text.c:931 +#: src/common/text.c:938 src/common/text.c:944 src/common/text.c:950 +#: src/common/text.c:955 src/common/text.c:960 src/common/text.c:964 +#: src/common/text.c:970 src/common/text.c:978 src/common/text.c:1012 +#: src/common/text.c:1017 +msgid "Nickname" +msgstr "Прякор" + +#: src/common/text.c:571 +msgid "The action" +msgstr "Действието" + +#: src/common/text.c:576 +msgid "The text" +msgstr "Текстът" + +#: src/common/text.c:577 +msgid "Mode char" +msgstr "" + +#: src/common/text.c:578 src/common/text.c:651 +msgid "Identified text" +msgstr "" + +#: src/common/text.c:583 src/common/text.c:639 src/common/text.c:645 +#: src/common/text.c:650 +msgid "The message" +msgstr "Съобщението" + +#: src/common/text.c:587 src/common/text.c:655 +msgid "Old nickname" +msgstr "Стар прякор" + +#: src/common/text.c:588 src/common/text.c:656 +msgid "New nickname" +msgstr "Нов прякор" + +#: src/common/text.c:592 +msgid "Nick of person who changed the topic" +msgstr "Прякорът на човека, който смени темата" + +#: src/common/text.c:593 src/common/text.c:599 src/fe-gtk/chanlist.c:599 +#: src/fe-gtk/chanlist.c:700 +msgid "Topic" +msgstr "Тема" + +#: src/common/text.c:594 src/common/text.c:598 src/common/text.c:1032 +#: src/fe-gtk/chanlist.c:597 src/fe-gtk/chanlist.c:691 +#: src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Стая" + +#: src/common/text.c:603 src/common/text.c:662 +msgid "The nickname of the kicker" +msgstr "Прякора на човека, който е изхвърлил някой" + +#: src/common/text.c:604 src/common/text.c:660 +msgid "The person being kicked" +msgstr "Човека, който е бил изхвърлен от стаята" + +#: src/common/text.c:605 src/common/text.c:612 src/common/text.c:616 +#: src/common/text.c:621 src/common/text.c:661 src/common/text.c:669 +msgid "The channel" +msgstr "Стаята" + +#: src/common/text.c:606 src/common/text.c:663 src/common/text.c:670 +msgid "The reason" +msgstr "Причината" + +#: src/common/text.c:610 src/common/text.c:667 +msgid "The nick of the person leaving" +msgstr "Прякорът на човека, който излиза" + +#: src/common/text.c:617 src/common/text.c:623 +msgid "The time" +msgstr "Времето" + +#: src/common/text.c:622 +msgid "The creator" +msgstr "Създателят" + +#: src/common/text.c:627 +msgid "Nick" +msgstr "Прякор" + +#: src/common/text.c:628 src/common/text.c:884 +msgid "Reason" +msgstr "Причина" + +#: src/common/text.c:629 src/common/text.c:776 src/common/text.c:859 +msgid "Host" +msgstr "Хост" + +#: src/common/text.c:633 src/common/text.c:638 src/common/text.c:643 +msgid "Who it's from" +msgstr "От кой е" + +#: src/common/text.c:634 +msgid "The time in x.x format (see below)" +msgstr "Времето във х.х формат (вижте долу)" + +#: src/common/text.c:644 src/common/text.c:686 +msgid "The Channel it's going to" +msgstr "Стаята, към която отива" + +#: src/common/text.c:674 +msgid "The sound" +msgstr "Звукът" + +#: src/common/text.c:675 src/common/text.c:680 src/common/text.c:685 +msgid "The nick of the person" +msgstr "Прякорът на човека" + +#: src/common/text.c:679 src/common/text.c:684 +msgid "The CTCP event" +msgstr "CTCP събитието" + +#: src/common/text.c:690 +msgid "The nick of the person who set the key" +msgstr "Прякорът на човека, който е поставил ключа" + +#: src/common/text.c:691 +msgid "The key" +msgstr "Ключът" + +#: src/common/text.c:695 +msgid "The nick of the person who set the limit" +msgstr "Прякора на този, който е настроил лимита" + +#: src/common/text.c:696 +msgid "The limit" +msgstr "Лимитът" + +#: src/common/text.c:700 +msgid "The nick of the person who did the op'ing" +msgstr "Прякорът на човека, който е дал операторския статус" + +#: src/common/text.c:701 +msgid "The nick of the person who has been op'ed" +msgstr "Прякорът на човека, който е получил операторски статус" + +#: src/common/text.c:705 +msgid "The nick of the person who has been halfop'ed" +msgstr "Прякорът на човека, който е получил полу-операторски статус" + +#: src/common/text.c:706 +msgid "The nick of the person who did the halfop'ing" +msgstr "Прякора на човека, който е дал полу-операторския статус" + +#: src/common/text.c:710 +msgid "The nick of the person who did the voice'ing" +msgstr "Прякора на човека, който е дал статус \"Voice\"" + +#: src/common/text.c:711 +msgid "The nick of the person who has been voice'ed" +msgstr "Прякора на човека, който е получил статус \"Voice\"" + +#: src/common/text.c:715 +msgid "The nick of the person who did the banning" +msgstr "Прякора на този, който е сложил забраната" + +#: src/common/text.c:716 src/common/text.c:743 +msgid "The ban mask" +msgstr "Маската на забраната" + +#: src/common/text.c:720 +msgid "The nick who removed the key" +msgstr "Прякорът, който е премахнал ключа" + +#: src/common/text.c:724 +msgid "The nick who removed the limit" +msgstr "Прякорът, който премахва лимита" + +#: src/common/text.c:728 +msgid "The nick of the person of did the deop'ing" +msgstr "Прякорът на човека, който е махнал операторския статус" + +#: src/common/text.c:729 +msgid "The nick of the person who has been deop'ed" +msgstr "Прякорът на човека, на който му е бил взет операторския статус" + +#: src/common/text.c:732 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Прякорът на човека, който е махнал операторския статус" + +#: src/common/text.c:733 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Прякорът на човека, на който му е бил взет полу-операторския статус" + +#: src/common/text.c:737 +msgid "The nick of the person of did the devoice'ing" +msgstr "Прякорът на човека, който е махнал статуса \"Voice\"" + +#: src/common/text.c:738 +msgid "The nick of the person who has been devoice'ed" +msgstr "Прякорът на човека, на който е бил взет статус \"Voice\"" + +#: src/common/text.c:742 +msgid "The nick of the person of did the unban'ing" +msgstr "Прякорът на човека, който е махнал забраната" + +#: src/common/text.c:747 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:748 src/common/text.c:753 +msgid "The exempt mask" +msgstr "Маската на exempt статуса" + +#: src/common/text.c:752 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:757 +msgid "The nick of the person who did the invite" +msgstr "Прякорът на човека, който е отправил поканата" + +#: src/common/text.c:758 src/common/text.c:763 +msgid "The invite mask" +msgstr "Маската за поканата" + +#: src/common/text.c:762 +msgid "The nick of the person removed the invite" +msgstr "Прякорът на човека, който е махнал поканата" + +#: src/common/text.c:767 +msgid "The nick of the person setting the mode" +msgstr "Прякорът на човека, който е настроил режима" + +#: src/common/text.c:768 +msgid "The mode's sign (+/-)" +msgstr "Знакът на режима (+/-)" + +#: src/common/text.c:769 +msgid "The mode letter" +msgstr "Буквата на режима" + +#: src/common/text.c:770 +msgid "The channel it's being set on" +msgstr "Стаята, за която се настройва" + +#: src/common/text.c:775 +msgid "Username" +msgstr "Потребителско име" + +#: src/common/text.c:777 +msgid "Full name" +msgstr "Пълно име" + +#: src/common/text.c:782 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:787 +msgid "Server Information" +msgstr "Информация за сървъра" + +#: src/common/text.c:792 src/common/text.c:797 +msgid "Idle time" +msgstr "Време без активност" + +#: src/common/text.c:798 +msgid "Signon time" +msgstr "Време на влизане" + +#: src/common/text.c:803 +msgid "Away reason" +msgstr "Причина за отсъствието" + +#: src/common/text.c:812 src/common/text.c:818 src/common/text.c:826 +#: src/common/text.c:1004 +msgid "Message" +msgstr "Съобщение" + +#: src/common/text.c:819 +msgid "Account" +msgstr "Абонамент" + +#: src/common/text.c:824 +msgid "Real user@host" +msgstr "истински потребител@хост" + +#: src/common/text.c:825 +msgid "Real IP" +msgstr "Истинско IP" + +#: src/common/text.c:830 src/common/text.c:839 src/common/text.c:845 +#: src/common/text.c:1027 +msgid "Channel Name" +msgstr "Име на стаята" + +#: src/common/text.c:834 src/common/text.c:990 src/fe-gtk/textgui.c:338 +msgid "Text" +msgstr "Текст" + +#: src/common/text.c:835 src/common/text.c:841 src/common/text.c:1028 +msgid "Server Name" +msgstr "Име на сървъра" + +#: src/common/text.c:840 +msgid "Nick of person who invited you" +msgstr "Прякора на този, който ви е поканил" + +#: src/common/text.c:846 src/fe-gtk/chanlist.c:598 +msgid "Users" +msgstr "Потребители" + +#: src/common/text.c:850 +msgid "Nickname in use" +msgstr "Прякора е зает" + +#: src/common/text.c:851 +msgid "Nick being tried" +msgstr "Опитва се с този прякор" + +#: src/common/text.c:855 src/common/text.c:891 src/common/text.c:902 +#: src/common/text.c:909 src/common/text.c:922 src/common/text.c:939 +#: src/common/text.c:1039 src/common/util.c:352 +msgid "Error" +msgstr "Грешка" + +#: src/common/text.c:860 src/common/text.c:994 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:861 src/common/text.c:890 +msgid "Port" +msgstr "Порт" + +#: src/common/text.c:865 +msgid "PID" +msgstr "PID" + +#: src/common/text.c:873 +msgid "Channel name" +msgstr "Име на стаята" + +#: src/common/text.c:874 src/common/text.c:879 +msgid "Modes string" +msgstr "" + +#: src/common/text.c:889 src/common/text.c:927 src/common/text.c:932 +#: src/common/text.c:973 +msgid "IP address" +msgstr "IP адрес" + +#: src/common/text.c:895 src/common/text.c:920 +msgid "DCC Type" +msgstr "DCC Вид" + +#: src/common/text.c:896 src/common/text.c:901 src/common/text.c:906 +#: src/common/text.c:913 src/common/text.c:933 src/common/text.c:937 +#: src/common/text.c:943 src/common/text.c:949 src/common/text.c:956 +#: src/common/text.c:965 src/common/text.c:971 +msgid "Filename" +msgstr "Име на файла" + +#: src/common/text.c:907 src/common/text.c:914 +msgid "Destination filename" +msgstr "Име, под което да се запази файла" + +#: src/common/text.c:916 src/common/text.c:945 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:951 +msgid "Pathname" +msgstr "" + +#: src/common/text.c:966 src/fe-gtk/dccgui.c:518 src/fe-gtk/dccgui.c:676 +msgid "Position" +msgstr "Позиция" + +#: src/common/text.c:972 src/fe-gtk/dccgui.c:517 src/fe-gtk/dccgui.c:675 +msgid "Size" +msgstr "Размер" + +#: src/common/text.c:977 +msgid "DCC String" +msgstr "DCC низ" + +#: src/common/text.c:982 +msgid "Number of notify items" +msgstr "Брой на обектите за уведомяване" + +#: src/common/text.c:986 +msgid "Servername" +msgstr "Име на сървъра" + +#: src/common/text.c:998 +msgid "Old Filename" +msgstr "Старо име на файла" + +#: src/common/text.c:999 +msgid "New Filename" +msgstr "Ново име на файла" + +#: src/common/text.c:1003 +msgid "Receiver" +msgstr "Получател" + +#: src/common/text.c:1008 +msgid "Hostmask" +msgstr "Хостмаска" + +#: src/common/text.c:1013 +msgid "Hostname" +msgstr "Име на хоста" + +#: src/common/text.c:1018 +msgid "The Packet" +msgstr "Пакетът" + +#: src/common/text.c:1022 +msgid "Seconds" +msgstr "Секунди" + +#: src/common/text.c:1026 +msgid "Nick of person who have been invited" +msgstr "Прякор на човека, който е поканен" + +#: src/common/text.c:1033 +msgid "Banmask" +msgstr "Маска на забраната" + +#: src/common/text.c:1034 +msgid "Who set the ban" +msgstr "Кой е настроил бана" + +#: src/common/text.c:1035 +msgid "Ban time" +msgstr "Време на забраната" + +#: src/common/text.c:1075 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" + +#: src/common/text.c:1713 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Звуковият файл не може да бъде прочетен:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Връзката отказана" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "Няма път то хоста" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Връзката се разпадна (Connection timed out)" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Не може да се назначи този адрес" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "" + +#: src/common/util.c:821 +msgid "Andorra" +msgstr "Андора" + +#: src/common/util.c:822 +msgid "United Arab Emirates" +msgstr "ОАЕ" + +#: src/common/util.c:823 +msgid "Afghanistan" +msgstr "Афганистан" + +#: src/common/util.c:824 +msgid "Antigua and Barbuda" +msgstr "Атигуа и Барбуда" + +#: src/common/util.c:825 +msgid "Anguilla" +msgstr "Ангила" + +#: src/common/util.c:826 +msgid "Albania" +msgstr "Албания" + +#: src/common/util.c:827 +msgid "Armenia" +msgstr "Армения" + +#: src/common/util.c:828 +msgid "Netherlands Antilles" +msgstr "Холандски антили" + +#: src/common/util.c:829 +msgid "Angola" +msgstr "Ангола" + +#: src/common/util.c:830 +msgid "Antarctica" +msgstr "Антарктика" + +#: src/common/util.c:831 +msgid "Argentina" +msgstr "Аржентина" + +#: src/common/util.c:832 +msgid "Reverse DNS" +msgstr "" + +#: src/common/util.c:833 +msgid "American Samoa" +msgstr "Американска Самоа" + +#: src/common/util.c:834 +msgid "Austria" +msgstr "Австрия" + +#: src/common/util.c:835 +msgid "Nato Fiel" +msgstr "НАТО" + +#: src/common/util.c:836 +msgid "Australia" +msgstr "Австралия" + +#: src/common/util.c:837 +msgid "Aruba" +msgstr "Аруба" + +#: src/common/util.c:838 +msgid "Azerbaijan" +msgstr "Азербайджан" + +#: src/common/util.c:839 +msgid "Bosnia and Herzegovina" +msgstr "Босна и Херцеговина" + +#: src/common/util.c:840 +msgid "Barbados" +msgstr "Барбадос" + +#: src/common/util.c:841 +msgid "Bangladesh" +msgstr "Бангладеш" + +#: src/common/util.c:842 +msgid "Belgium" +msgstr "Белгия" + +#: src/common/util.c:843 +msgid "Burkina Faso" +msgstr "Буркина Фасо" + +#: src/common/util.c:844 +msgid "Bulgaria" +msgstr "България" + +#: src/common/util.c:845 +msgid "Bahrain" +msgstr "Бахрейн" + +#: src/common/util.c:846 +msgid "Burundi" +msgstr "Бурунди" + +#: src/common/util.c:847 +msgid "Businesses" +msgstr "Бизнеси" + +#: src/common/util.c:848 +msgid "Benin" +msgstr "Бенин" + +#: src/common/util.c:849 +msgid "Bermuda" +msgstr "Бермуда" + +#: src/common/util.c:850 +msgid "Brunei Darussalam" +msgstr "Бруней Дарусалам" + +#: src/common/util.c:851 +msgid "Bolivia" +msgstr "Боливия" + +#: src/common/util.c:852 +msgid "Brazil" +msgstr "Бразилия" + +#: src/common/util.c:853 +msgid "Bahamas" +msgstr "Бахамите" + +#: src/common/util.c:854 +msgid "Bhutan" +msgstr "Бутан" + +#: src/common/util.c:855 +msgid "Bouvet Island" +msgstr "Острови Буве" + +#: src/common/util.c:856 +msgid "Botswana" +msgstr "Ботсвана" + +#: src/common/util.c:857 +msgid "Belarus" +msgstr "Беларус" + +#: src/common/util.c:858 +msgid "Belize" +msgstr "Белиз" + +#: src/common/util.c:859 +msgid "Canada" +msgstr "Канада" + +#: src/common/util.c:860 +msgid "Cocos Islands" +msgstr "Кокосови острови" + +#: src/common/util.c:861 +msgid "Democratic Republic of Congo" +msgstr "Демократична република Конго" + +#: src/common/util.c:862 +msgid "Central African Republic" +msgstr "Централна Африканска Република" + +#: src/common/util.c:863 +msgid "Congo" +msgstr "Конго" + +#: src/common/util.c:864 +msgid "Switzerland" +msgstr "Швейцария" + +#: src/common/util.c:865 +msgid "Cote d'Ivoire" +msgstr "Кот Д'Ивоар" + +#: src/common/util.c:866 +msgid "Cook Islands" +msgstr "Островите Кук" + +#: src/common/util.c:867 +msgid "Chile" +msgstr "Чили" + +#: src/common/util.c:868 +msgid "Cameroon" +msgstr "Камерун" + +#: src/common/util.c:869 +msgid "China" +msgstr "Китай" + +#: src/common/util.c:870 +msgid "Colombia" +msgstr "Колумбия" + +#: src/common/util.c:871 +msgid "Internic Commercial" +msgstr "Интерник Комерсиален" + +#: src/common/util.c:872 +msgid "Costa Rica" +msgstr "Коста Рика" + +#: src/common/util.c:873 +msgid "Serbia and Montenegro" +msgstr "Сърбия и Черна гора" + +#: src/common/util.c:874 +msgid "Cuba" +msgstr "Куба" + +#: src/common/util.c:875 +msgid "Cape Verde" +msgstr "Капе Верде" + +#: src/common/util.c:876 +msgid "Christmas Island" +msgstr "Коледния остров" + +#: src/common/util.c:877 +msgid "Cyprus" +msgstr "Кипър" + +#: src/common/util.c:878 +msgid "Czech Republic" +msgstr "Чехия" + +#: src/common/util.c:879 +msgid "Germany" +msgstr "Германия" + +#: src/common/util.c:880 +msgid "Djibouti" +msgstr "Джибути" + +#: src/common/util.c:881 +msgid "Denmark" +msgstr "Дания" + +#: src/common/util.c:882 +msgid "Dominica" +msgstr "Доминика" + +#: src/common/util.c:883 +msgid "Dominican Republic" +msgstr "Доминиканската република" + +#: src/common/util.c:884 +msgid "Algeria" +msgstr "Алжир" + +#: src/common/util.c:885 +msgid "Ecuador" +msgstr "Еквадор" + +#: src/common/util.c:886 +msgid "Educational Institution" +msgstr "Образователна институция" + +#: src/common/util.c:887 +msgid "Estonia" +msgstr "Естония" + +#: src/common/util.c:888 +msgid "Egypt" +msgstr "Египет" + +#: src/common/util.c:889 +msgid "Western Sahara" +msgstr "Задана сахара" + +#: src/common/util.c:890 +msgid "Eritrea" +msgstr "Еритрея" + +#: src/common/util.c:891 +msgid "Spain" +msgstr "Испания" + +#: src/common/util.c:892 +msgid "Ethiopia" +msgstr "Етиопия" + +#: src/common/util.c:893 +msgid "Finland" +msgstr "Финландия" + +#: src/common/util.c:894 +msgid "Fiji" +msgstr "Фиджи" + +#: src/common/util.c:895 +msgid "Falkland Islands" +msgstr "Фолкландските острови" + +#: src/common/util.c:896 +msgid "Micronesia" +msgstr "Микронезия" + +#: src/common/util.c:897 +msgid "Faroe Islands" +msgstr "Фарьорските острови" + +#: src/common/util.c:898 +msgid "France" +msgstr "Франция" + +#: src/common/util.c:899 +msgid "France, Metropolitan" +msgstr "Франция, метрополитан" + +#: src/common/util.c:900 +msgid "Gabon" +msgstr "Габон" + +#: src/common/util.c:901 +msgid "Great Britain" +msgstr "Великобритания" + +#: src/common/util.c:902 +msgid "Grenada" +msgstr "Гренада" + +#: src/common/util.c:903 +msgid "Georgia" +msgstr "Грузия" + +#: src/common/util.c:904 +msgid "French Guiana" +msgstr "Френска Гвиана" + +#: src/common/util.c:905 +msgid "British Channel Isles" +msgstr "О-ви при Британския канал" + +#: src/common/util.c:906 +msgid "Ghana" +msgstr "Гана" + +#: src/common/util.c:907 +msgid "Gibraltar" +msgstr "Гибралтар" + +#: src/common/util.c:908 +msgid "Greenland" +msgstr "Гренландия" + +#: src/common/util.c:909 +msgid "Gambia" +msgstr "Гамбия" + +#: src/common/util.c:910 +msgid "Guinea" +msgstr "Гвинея" + +#: src/common/util.c:911 +msgid "Government" +msgstr "Правителствен" + +#: src/common/util.c:912 +msgid "Guadeloupe" +msgstr "Гваделупа" + +#: src/common/util.c:913 +msgid "Equatorial Guinea" +msgstr "Екваториалня Гвинея" + +#: src/common/util.c:914 +msgid "Greece" +msgstr "Гърция" + +#: src/common/util.c:915 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Св. Джорджия и Св. Сандичеви о-ви" + +#: src/common/util.c:916 +msgid "Guatemala" +msgstr "Гватемала" + +#: src/common/util.c:917 +msgid "Guam" +msgstr "Гуам" + +#: src/common/util.c:918 +msgid "Guinea-Bissau" +msgstr "Гвинея-Бисау" + +#: src/common/util.c:919 +msgid "Guyana" +msgstr "Гияна" + +#: src/common/util.c:920 +msgid "Hong Kong" +msgstr "Хонг Конг" + +#: src/common/util.c:921 +msgid "Heard and McDonald Islands" +msgstr "Хърд и Макдоналдови о-ви" + +#: src/common/util.c:922 +msgid "Honduras" +msgstr "Хондурас" + +#: src/common/util.c:923 +msgid "Croatia" +msgstr "Хърватска" + +#: src/common/util.c:924 +msgid "Haiti" +msgstr "Хаити" + +#: src/common/util.c:925 +msgid "Hungary" +msgstr "Унгария" + +#: src/common/util.c:926 +msgid "Indonesia" +msgstr "Индонезия" + +#: src/common/util.c:927 +msgid "Ireland" +msgstr "Ирландия" + +#: src/common/util.c:928 +msgid "Israel" +msgstr "Израел" + +#: src/common/util.c:929 +msgid "India" +msgstr "Индия" + +#: src/common/util.c:930 +msgid "Informational" +msgstr "Информационен" + +#: src/common/util.c:931 +msgid "International" +msgstr "Международен" + +#: src/common/util.c:932 +msgid "British Indian Ocean Territory" +msgstr "Британска територия в Индийския океан" + +#: src/common/util.c:933 +msgid "Iraq" +msgstr "Ирак" + +#: src/common/util.c:934 +msgid "Iran" +msgstr "Иран" + +#: src/common/util.c:935 +msgid "Iceland" +msgstr "Исландия" + +#: src/common/util.c:936 +msgid "Italy" +msgstr "Италия" + +#: src/common/util.c:937 +msgid "Jamaica" +msgstr "Ямайка" + +#: src/common/util.c:938 +msgid "Jordan" +msgstr "Йордания" + +#: src/common/util.c:939 +msgid "Japan" +msgstr "Япония" + +#: src/common/util.c:940 +msgid "Kenya" +msgstr "Кения" + +#: src/common/util.c:941 +msgid "Kyrgyzstan" +msgstr "Киргистан" + +#: src/common/util.c:942 +msgid "Cambodia" +msgstr "Камбоджа" + +#: src/common/util.c:943 +msgid "Kiribati" +msgstr "Кирибати" + +#: src/common/util.c:944 +msgid "Comoros" +msgstr "Коморос" + +#: src/common/util.c:945 +msgid "St. Kitts and Nevis" +msgstr "Св. Китс и Невис" + +#: src/common/util.c:946 +msgid "North Korea" +msgstr "Северна Корея" + +#: src/common/util.c:947 +msgid "South Korea" +msgstr "Южна Корея" + +#: src/common/util.c:948 +msgid "Kuwait" +msgstr "Кувейт" + +#: src/common/util.c:949 +msgid "Cayman Islands" +msgstr "Каймановите острови" + +#: src/common/util.c:950 +msgid "Kazakhstan" +msgstr "Казакстан" + +#: src/common/util.c:951 +msgid "Laos" +msgstr "Лаос" + +#: src/common/util.c:952 +msgid "Lebanon" +msgstr "Ливан" + +#: src/common/util.c:953 +msgid "Saint Lucia" +msgstr "Св. Лучия" + +#: src/common/util.c:954 +msgid "Liechtenstein" +msgstr "Лихтенщайн" + +#: src/common/util.c:955 +msgid "Sri Lanka" +msgstr "Шри Ланка" + +#: src/common/util.c:956 +msgid "Liberia" +msgstr "Либерия" + +#: src/common/util.c:957 +msgid "Lesotho" +msgstr "Лесото" + +#: src/common/util.c:958 +msgid "Lithuania" +msgstr "Литва" + +#: src/common/util.c:959 +msgid "Luxembourg" +msgstr "Люксембург" + +#: src/common/util.c:960 +msgid "Latvia" +msgstr "Латвия" + +#: src/common/util.c:961 +msgid "Libya" +msgstr "Либия" + +#: src/common/util.c:962 +msgid "Morocco" +msgstr "Мароко" + +#: src/common/util.c:963 +msgid "Monaco" +msgstr "Монако" + +#: src/common/util.c:964 +msgid "Moldova" +msgstr "Молдова" + +#: src/common/util.c:965 +msgid "United States Medical" +msgstr "Медицински САЩ" + +#: src/common/util.c:966 +msgid "Madagascar" +msgstr "Мадагаскар" + +#: src/common/util.c:967 +msgid "Marshall Islands" +msgstr "Маршаловите острови" + +#: src/common/util.c:968 +msgid "Military" +msgstr "Военен" + +#: src/common/util.c:969 +msgid "Macedonia" +msgstr "Македония" + +#: src/common/util.c:970 +msgid "Mali" +msgstr "Мали" + +#: src/common/util.c:971 +msgid "Myanmar" +msgstr "Мианмар" + +#: src/common/util.c:972 +msgid "Mongolia" +msgstr "Монголия" + +#: src/common/util.c:973 +msgid "Macau" +msgstr "Макао" + +#: src/common/util.c:974 +msgid "Northern Mariana Islands" +msgstr "Северни Мариански острови" + +#: src/common/util.c:975 +msgid "Martinique" +msgstr "Мартиника" + +#: src/common/util.c:976 +msgid "Mauritania" +msgstr "Мавритания" + +#: src/common/util.c:977 +msgid "Montserrat" +msgstr "Монсера" + +#: src/common/util.c:978 +msgid "Malta" +msgstr "Малта" + +#: src/common/util.c:979 +msgid "Mauritius" +msgstr "Маврициус" + +#: src/common/util.c:980 +msgid "Maldives" +msgstr "Малдивите" + +#: src/common/util.c:981 +msgid "Malawi" +msgstr "Малави" + +#: src/common/util.c:982 +msgid "Mexico" +msgstr "Мексико" + +#: src/common/util.c:983 +msgid "Malaysia" +msgstr "Малайзия" + +#: src/common/util.c:984 +msgid "Mozambique" +msgstr "Мозамбик" + +#: src/common/util.c:985 +msgid "Namibia" +msgstr "Намибия" + +#: src/common/util.c:986 +msgid "New Caledonia" +msgstr "Нова Каледония" + +#: src/common/util.c:987 +msgid "Niger" +msgstr "Нигер" + +#: src/common/util.c:988 +msgid "Internic Network" +msgstr "Мрежата на InterNIC" + +#: src/common/util.c:989 +msgid "Norfolk Island" +msgstr "Норфолксите острови" + +#: src/common/util.c:990 +msgid "Nigeria" +msgstr "Нигерия" + +#: src/common/util.c:991 +msgid "Nicaragua" +msgstr "Никарагуа" + +#: src/common/util.c:992 +msgid "Netherlands" +msgstr "Холандия" + +#: src/common/util.c:993 +msgid "Norway" +msgstr "Норвегия" + +#: src/common/util.c:994 +msgid "Nepal" +msgstr "Непал" + +#: src/common/util.c:995 +msgid "Nauru" +msgstr "Науру" + +#: src/common/util.c:996 +msgid "Neutral Zone" +msgstr "Неутрална зона" + +#: src/common/util.c:997 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:998 +msgid "New Zealand" +msgstr "Нова Зеландия" + +#: src/common/util.c:999 +msgid "Oman" +msgstr "Оман" + +#: src/common/util.c:1000 +msgid "Internic Non-Profit Organization" +msgstr "InterNIC огранизация с идеална цел" + +#: src/common/util.c:1001 +msgid "Panama" +msgstr "Панама" + +#: src/common/util.c:1002 +msgid "Peru" +msgstr "Перу" + +#: src/common/util.c:1003 +msgid "French Polynesia" +msgstr "Френска полинезия" + +#: src/common/util.c:1004 +msgid "Papua New Guinea" +msgstr "Папуа Нова Гвинея" + +#: src/common/util.c:1005 +msgid "Philippines" +msgstr "Филипините" + +#: src/common/util.c:1006 +msgid "Pakistan" +msgstr "Пакистан" + +#: src/common/util.c:1007 +msgid "Poland" +msgstr "Полша" + +#: src/common/util.c:1008 +msgid "St. Pierre and Miquelon" +msgstr "Св. Пиер и Микелон" + +#: src/common/util.c:1009 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:1010 +msgid "Puerto Rico" +msgstr "Пуерто Рико" + +#: src/common/util.c:1011 +msgid "Palestinian Territory" +msgstr "Палестински територии" + +#: src/common/util.c:1012 +msgid "Portugal" +msgstr "Португалия" + +#: src/common/util.c:1013 +msgid "Palau" +msgstr "Палау" + +#: src/common/util.c:1014 +msgid "Paraguay" +msgstr "Парагвай" + +#: src/common/util.c:1015 +msgid "Qatar" +msgstr "Катар" + +#: src/common/util.c:1016 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:1017 +msgid "Romania" +msgstr "Румъния" + +#: src/common/util.c:1018 +msgid "Old School ARPAnet" +msgstr "Old School ARPAnet" + +#: src/common/util.c:1019 +msgid "Russian Federation" +msgstr "Руската федерация" + +#: src/common/util.c:1020 +msgid "Rwanda" +msgstr "Руанда" + +#: src/common/util.c:1021 +msgid "Saudi Arabia" +msgstr "Саудитска Арабия" + +#: src/common/util.c:1022 +msgid "Solomon Islands" +msgstr "Соломоновите острови" + +#: src/common/util.c:1023 +msgid "Seychelles" +msgstr "Сейшелските острови" + +#: src/common/util.c:1024 +msgid "Sudan" +msgstr "Судан" + +#: src/common/util.c:1025 +msgid "Sweden" +msgstr "Швеция" + +#: src/common/util.c:1026 +msgid "Singapore" +msgstr "Сингапур" + +#: src/common/util.c:1027 +msgid "St. Helena" +msgstr "Св. Елена" + +#: src/common/util.c:1028 +msgid "Slovenia" +msgstr "Словения" + +#: src/common/util.c:1029 +msgid "Svalbard and Jan Mayen Islands" +msgstr "О-ви Свалбард и Ян Майен" + +#: src/common/util.c:1030 +msgid "Slovak Republic" +msgstr "Словакия" + +#: src/common/util.c:1031 +msgid "Sierra Leone" +msgstr "Сиера Леоне" + +#: src/common/util.c:1032 +msgid "San Marino" +msgstr "Сан Марино" + +#: src/common/util.c:1033 +msgid "Senegal" +msgstr "Сенегал" + +#: src/common/util.c:1034 +msgid "Somalia" +msgstr "Сомалия" + +#: src/common/util.c:1035 +msgid "Suriname" +msgstr "Суринам" + +#: src/common/util.c:1036 +msgid "Sao Tome and Principe" +msgstr "Сао Томе и Принцип" + +#: src/common/util.c:1037 +msgid "Former USSR" +msgstr "Бившият СССР" + +#: src/common/util.c:1038 +msgid "El Salvador" +msgstr "Ел Салвадор" + +#: src/common/util.c:1039 +msgid "Syria" +msgstr "Сирия" + +#: src/common/util.c:1040 +msgid "Swaziland" +msgstr "Свазиленд" + +#: src/common/util.c:1041 +msgid "Turks and Caicos Islands" +msgstr "Турски и Кайко о-ви" + +#: src/common/util.c:1042 +msgid "Chad" +msgstr "Чад" + +#: src/common/util.c:1043 +msgid "French Southern Territories" +msgstr "Френски южни територии" + +#: src/common/util.c:1044 +msgid "Togo" +msgstr "Того" + +#: src/common/util.c:1045 +msgid "Thailand" +msgstr "Тайланд" + +#: src/common/util.c:1046 +msgid "Tajikistan" +msgstr "Таджикистан" + +#: src/common/util.c:1047 +msgid "Tokelau" +msgstr "Токелау" + +#: src/common/util.c:1048 +msgid "Turkmenistan" +msgstr "Туркменистан" + +#: src/common/util.c:1049 +msgid "Tunisia" +msgstr "Тунис" + +#: src/common/util.c:1050 +msgid "Tonga" +msgstr "Тонга" + +#: src/common/util.c:1051 +msgid "East Timor" +msgstr "Източен Тимор" + +#: src/common/util.c:1052 +msgid "Turkey" +msgstr "Турция" + +#: src/common/util.c:1053 +msgid "Trinidad and Tobago" +msgstr "Тринидад и Тобаго" + +#: src/common/util.c:1054 +msgid "Tuvalu" +msgstr "Тувалу" + +#: src/common/util.c:1055 +msgid "Taiwan" +msgstr "Тайван" + +#: src/common/util.c:1056 +msgid "Tanzania" +msgstr "Танзания" + +#: src/common/util.c:1057 +msgid "Ukraine" +msgstr "Украйна" + +#: src/common/util.c:1058 +msgid "Uganda" +msgstr "Уганда" + +#: src/common/util.c:1059 +msgid "United Kingdom" +msgstr "Обединеното Кралство" + +#: src/common/util.c:1060 +msgid "US Minor Outlying Islands" +msgstr "О-ви под американско управление" + +#: src/common/util.c:1061 +msgid "United States of America" +msgstr "САЩ" + +#: src/common/util.c:1062 +msgid "Uruguay" +msgstr "Уругвай" + +#: src/common/util.c:1063 +msgid "Uzbekistan" +msgstr "Узбекистан" + +#: src/common/util.c:1064 +msgid "Vatican City State" +msgstr "Ватикана" + +#: src/common/util.c:1065 +msgid "St. Vincent and the Grenadines" +msgstr "Св. Винсент и гренадините" + +#: src/common/util.c:1066 +msgid "Venezuela" +msgstr "Венецуела" + +#: src/common/util.c:1067 +msgid "British Virgin Islands" +msgstr "Британските Вирджински острови" + +#: src/common/util.c:1068 +msgid "US Virgin Islands" +msgstr "Американските Вирджински острови" + +#: src/common/util.c:1069 +msgid "Vietnam" +msgstr "Виетнам" + +#: src/common/util.c:1070 +msgid "Vanuatu" +msgstr "Вануату" + +#: src/common/util.c:1071 +msgid "Wallis and Futuna Islands" +msgstr "Wallis and Futuna Islands" + +#: src/common/util.c:1072 +msgid "Samoa" +msgstr "Самоа" + +#: src/common/util.c:1073 +msgid "Yemen" +msgstr "Йемен" + +#: src/common/util.c:1074 +msgid "Mayotte" +msgstr "Майот" + +#: src/common/util.c:1075 +msgid "Yugoslavia" +msgstr "Югославия" + +#: src/common/util.c:1076 +msgid "South Africa" +msgstr "Южна Африка" + +#: src/common/util.c:1077 +msgid "Zambia" +msgstr "Замбия" + +#: src/common/util.c:1078 +msgid "Zimbabwe" +msgstr "Зимбабве" + +#: src/common/util.c:1088 src/common/util.c:1098 src/fe-gtk/menu.c:478 +#: src/fe-gtk/menu.c:482 src/fe-gtk/menu.c:486 src/fe-gtk/menu.c:490 +#: src/fe-gtk/menu.c:494 +msgid "Unknown" +msgstr "Непознат" + +#: src/common/xchat.c:929 +msgid "Direct client-to-client" +msgstr "Директна връзка клиент-клиент" + +#: src/common/xchat.c:930 +msgid "Send File" +msgstr "Изпращане файл" + +#: src/common/xchat.c:931 +msgid "Offer Chat" +msgstr "Предлагане на чат" + +#: src/common/xchat.c:932 +msgid "Abort Chat" +msgstr "Отказване на разговор" + +#: src/common/xchat.c:933 src/fe-gtk/plugingui.c:73 +msgid "Version" +msgstr "Версия" + +#: src/common/xchat.c:934 +msgid "Userinfo" +msgstr "Информация за потребител" + +#: src/common/xchat.c:935 +msgid "Clientinfo" +msgstr "Информация за програма" + +#: src/common/xchat.c:936 src/common/xchat.c:970 src/common/xchat.c:1021 +msgid "Ping" +msgstr "Пинг" + +#: src/common/xchat.c:937 +msgid "Time" +msgstr "Време" + +#: src/common/xchat.c:938 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:939 +msgid "Oper" +msgstr "Оператор" + +#: src/common/xchat.c:940 +msgid "Kill this user" +msgstr "Убиване на този потребител" + +#: src/common/xchat.c:941 +msgid "Mode" +msgstr "Режим" + +#: src/common/xchat.c:942 +msgid "Give Ops" +msgstr "Даване на операторски статус" + +#: src/common/xchat.c:943 +msgid "Take Ops" +msgstr "Взимане на операторски статус" + +#: src/common/xchat.c:944 +msgid "Give Half-Ops" +msgstr "" +"Даване на полу-\n" +"операторски статус" + +#: src/common/xchat.c:945 +msgid "Take Half-Ops" +msgstr "" +"Взимане на полу-\n" +"операторски статус" + +#: src/common/xchat.c:946 +msgid "Give Voice" +msgstr "Даване на Voice статус" + +#: src/common/xchat.c:947 +msgid "Take Voice" +msgstr "Взимане на Voice статус" + +#: src/common/xchat.c:948 +msgid "Ignore" +msgstr "Игнориране" + +#: src/common/xchat.c:949 +msgid "Ignore User" +msgstr "Игнориране на потребител" + +#: src/common/xchat.c:950 +msgid "UnIgnore User" +msgstr "Премахване на игнорирането" + +#: src/common/xchat.c:951 +msgid "Kick/Ban" +msgstr "Изхвърляне/Забрана" + +#: src/common/xchat.c:952 src/common/xchat.c:1004 +msgid "Kick" +msgstr "Изхвърляне" + +#: src/common/xchat.c:953 src/common/xchat.c:954 src/common/xchat.c:955 +#: src/common/xchat.c:956 src/common/xchat.c:957 src/common/xchat.c:1003 +msgid "Ban" +msgstr "Забрана" + +#: src/common/xchat.c:958 src/common/xchat.c:959 src/common/xchat.c:960 +#: src/common/xchat.c:961 +msgid "KickBan" +msgstr "Изхвърляне и Забрана" + +#: src/common/xchat.c:962 src/fe-gtk/dccgui.c:564 src/fe-gtk/dccgui.c:712 +msgid "Info" +msgstr "Информация" + +#: src/common/xchat.c:963 +msgid "Who" +msgstr "Who" + +#: src/common/xchat.c:964 src/common/xchat.c:1017 +msgid "WhoIs" +msgstr "Кой е ...?" + +#: src/common/xchat.c:965 +msgid "DNS Lookup" +msgstr "" + +#: src/common/xchat.c:966 +msgid "Trace" +msgstr "Trace" + +#: src/common/xchat.c:967 +msgid "UserHost" +msgstr "Хост на потребителя" + +#: src/common/xchat.c:968 +msgid "External" +msgstr "Външни" + +#: src/common/xchat.c:969 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:971 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:972 +msgid "Open Dialog Window" +msgstr "Започване на разговор" + +#: src/common/xchat.c:984 +msgid "Disconnect" +msgstr "Прекъсване на връзката" + +#: src/common/xchat.c:985 +msgid "Reconnect" +msgstr "Свързване наново" + +#: src/common/xchat.c:986 +msgid "Leave Channel" +msgstr "Напускане на стаята" + +#: src/common/xchat.c:987 +msgid "Join Channel..." +msgstr "Влизане в стая ..." + +#: src/common/xchat.c:988 +msgid "Enter Channel to Join:" +msgstr "Въведете име на стая:" + +#: src/common/xchat.c:989 +msgid "Server Links" +msgstr "Сървърни връзки" + +#: src/common/xchat.c:990 +msgid "Ping Server" +msgstr "Пингване на сървър" + +#: src/common/xchat.c:991 +msgid "Hide Version" +msgstr "Скриване на версията" + +#: src/common/xchat.c:1001 +msgid "Op" +msgstr "Даване на оп. статус" + +#: src/common/xchat.c:1002 +msgid "DeOp" +msgstr "Взимане на оп. статус" + +#: src/common/xchat.c:1005 +msgid "bye" +msgstr "чао" + +#: src/common/xchat.c:1006 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Причина за изхвърлянето на %s:" + +#: src/common/xchat.c:1007 +msgid "Sendfile" +msgstr "Изпращане на файл" + +#: src/common/xchat.c:1008 +msgid "Dialog" +msgstr "Разговор" + +#: src/common/xchat.c:1018 +msgid "Send" +msgstr "Изпращане" + +#: src/common/xchat.c:1019 +msgid "Chat" +msgstr "Разговор" + +#: src/common/xchat.c:1020 src/fe-gtk/banlist.c:319 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/search.c:117 src/fe-gtk/urlgrab.c:200 +msgid "Clear" +msgstr "Изчистване" + +#: src/fe-gtk/about.c:102 +msgid "About X-Chat" +msgstr "Относно X-Chat" + +#: src/fe-gtk/about.c:124 +msgid "A multiplatform IRC Client" +msgstr "Мултиплатформен IRC клиент" + +#: src/fe-gtk/ascii.c:131 +msgid "Character Chart" +msgstr "Таблица със символи" + +#: src/fe-gtk/banlist.c:153 src/fe-gtk/banlist.c:237 +msgid "You must select some bans." +msgstr "Трябва да изберете някои забрани." + +#: src/fe-gtk/banlist.c:253 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Маска" + +#: src/fe-gtk/banlist.c:254 src/fe-gtk/dccgui.c:520 +msgid "From" +msgstr "От" + +#: src/fe-gtk/banlist.c:255 +msgid "Date" +msgstr "Дата" + +#: src/fe-gtk/banlist.c:299 +#, c-format +msgid "X-Chat: Ban List (%s)" +msgstr "X-Chat:·Списък със забранени адреси·(%s)" + +#: src/fe-gtk/banlist.c:315 +msgid "Unban" +msgstr "Махане на забрана" + +#: src/fe-gtk/banlist.c:317 +msgid "Crop" +msgstr "Изрязване" + +#: src/fe-gtk/banlist.c:321 +msgid "Refresh" +msgstr "Опресняване" + +#: src/fe-gtk/chanlist.c:120 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "Статистика за потребители и стаи: %d/%d Потребителя в %d/%d стаи" + +#: src/fe-gtk/chanlist.c:536 +msgid "I can't save an empty list!" +msgstr "Не може списъка да е празен!" + +#: src/fe-gtk/chanlist.c:539 src/fe-gtk/menu.c:924 +msgid "Select an output filename" +msgstr "Изберете изходно файлово име" + +#: src/fe-gtk/chanlist.c:607 +#, c-format +msgid "X-Chat: Channel List (%s)" +msgstr "X-Chat: Списък с стаите (%s)" + +#: src/fe-gtk/chanlist.c:622 +msgid "List display options:" +msgstr "" + +#: src/fe-gtk/chanlist.c:634 +msgid "Minimum Users:" +msgstr "Минимум потребители:" + +#: src/fe-gtk/chanlist.c:649 +msgid "Maximum Users:" +msgstr "Максимум потребители:" + +#: src/fe-gtk/chanlist.c:664 +msgid "Regex Match:" +msgstr "" + +#: src/fe-gtk/chanlist.c:685 +msgid "Apply Match to:" +msgstr "Прилагане на съвпаденията към:" + +#: src/fe-gtk/chanlist.c:709 +msgid "Apply" +msgstr "Прилагане" + +#: src/fe-gtk/chanlist.c:751 +msgid "Refresh the list" +msgstr "Опресняване на списъка" + +#: src/fe-gtk/chanlist.c:753 +msgid "Save the list" +msgstr "Записване на списъка" + +#: src/fe-gtk/chanlist.c:755 src/fe-gtk/menu.c:721 +msgid "Join Channel" +msgstr "Влизане в стая" + +#: src/fe-gtk/dccgui.c:126 +#, c-format +msgid "Send file to %s" +msgstr "Изпращане на файл на %s" + +#: src/fe-gtk/dccgui.c:346 +#, c-format +msgid "" +" File: %s\n" +" To/From: %s\n" +" Size: %u\n" +" Port: %d\n" +" IP Number: %s\n" +"Start Time: %s Max CPS: %d\n" +msgstr "" +" Файл: %s\n" +" До/От: %s\n" +" Размер: %u\n" +" Порт: %d\n" +" IP Номер: %s\n" +"Време на начало: %s Max CPS: %d\n" + +#: src/fe-gtk/dccgui.c:379 +msgid "That file is not resumable." +msgstr "Приемането на файла не може да бъде продължено." + +#: src/fe-gtk/dccgui.c:383 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Няма достъп до файл: %s\n" +"%s.\n" +"Продължаването не възможно." + +#: src/fe-gtk/dccgui.c:390 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "Файлът в папката за сваляне и по-голям от предлагания файл. Продължаването не е възможно." + +#: src/fe-gtk/dccgui.c:394 +msgid "Cannot resume the same file from two people." +msgstr "Не може да се продължава същия файл от различни хора." + +#: src/fe-gtk/dccgui.c:509 +msgid "MIME Type" +msgstr "MIME Вид" + +#: src/fe-gtk/dccgui.c:515 src/fe-gtk/dccgui.c:673 src/fe-gtk/dccgui.c:796 +#: src/fe-gtk/notifygui.c:110 +msgid "Status" +msgstr "Статус" + +#: src/fe-gtk/dccgui.c:516 src/fe-gtk/dccgui.c:674 src/fe-gtk/plugingui.c:74 +msgid "File" +msgstr "Файл" + +#: src/fe-gtk/dccgui.c:519 src/fe-gtk/dccgui.c:678 +msgid "ETA" +msgstr "" + +#: src/fe-gtk/dccgui.c:529 +msgid "X-Chat: File Receive List" +msgstr "X-Chat: Списък с приеманите файлове" + +#: src/fe-gtk/dccgui.c:558 src/fe-gtk/dccgui.c:711 src/fe-gtk/dccgui.c:826 +msgid "Abort" +msgstr "Прекъсване" + +#: src/fe-gtk/dccgui.c:560 src/fe-gtk/dccgui.c:827 +msgid "Accept" +msgstr "Приемане" + +#: src/fe-gtk/dccgui.c:562 +msgid "Resume" +msgstr "Продължаване" + +#: src/fe-gtk/dccgui.c:566 +msgid "Open" +msgstr "Отваряне" + +#: src/fe-gtk/dccgui.c:677 +msgid "Ack" +msgstr "" + +#: src/fe-gtk/dccgui.c:679 +msgid "To" +msgstr "До" + +#: src/fe-gtk/dccgui.c:689 +msgid "X-Chat: File Send List" +msgstr "X-Chat: Списък с изпращаните файлове" + +#: src/fe-gtk/dccgui.c:797 +msgid "To/From" +msgstr "До/От" + +#: src/fe-gtk/dccgui.c:798 +msgid "Recv" +msgstr "" + +#: src/fe-gtk/dccgui.c:799 +msgid "Sent" +msgstr "Изпратено" + +#: src/fe-gtk/dccgui.c:800 +msgid "StartTime" +msgstr "Време на начало" + +#: src/fe-gtk/dccgui.c:810 +msgid "X-Chat: DCC Chat List" +msgstr "X-Chat: Списък с разговорите клиент-клиент" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*НОВО*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "РЕДАКТИРАЙ МЕ" + +#: src/fe-gtk/editlist.c:305 src/fe-gtk/plugingui.c:72 +msgid "Name" +msgstr "Име" + +#: src/fe-gtk/editlist.c:306 +msgid "Command" +msgstr "Команда" + +#: src/fe-gtk/editlist.c:333 +msgid "Move Up" +msgstr "Преместване нагоре" + +#: src/fe-gtk/editlist.c:337 +msgid "Move Dn" +msgstr "Преместване надолу" + +#: src/fe-gtk/editlist.c:345 +msgid "Cancel" +msgstr "Отмяна" + +#: src/fe-gtk/editlist.c:349 src/fe-gtk/textgui.c:413 src/fe-gtk/urlgrab.c:204 +msgid "Save" +msgstr "Запазване" + +#: src/fe-gtk/editlist.c:357 +msgid "Add New" +msgstr "Добавяне на ново" + +#: src/fe-gtk/editlist.c:361 src/fe-gtk/fkeys.c:751 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Изтриване" + +#: src/fe-gtk/editlist.c:369 +msgid "Sort" +msgstr "Подреждане" + +#: src/fe-gtk/editlist.c:373 +msgid "Help" +msgstr "Помощ" + +#: src/fe-gtk/fe-gtk.c:170 +msgid "Options" +msgstr "Опции" + +#: src/fe-gtk/fe-gtk.c:171 +msgid "don't auto connect" +msgstr "без автоматично свързване" + +#: src/fe-gtk/fe-gtk.c:172 +msgid "DIRECTORY" +msgstr "ПАПКА" + +#: src/fe-gtk/fe-gtk.c:173 +msgid "use a different config dir" +msgstr "използване на различна папка за настройки" + +#: src/fe-gtk/fe-gtk.c:174 +msgid "don't auto load any plugins" +msgstr "без автоматично зареждане на плъгини" + +#: src/fe-gtk/fe-gtk.c:175 +msgid "show plugin auto-load dir" +msgstr "показване на папката с автоматично зареждащи се плъгини" + +#: src/fe-gtk/fe-gtk.c:176 +msgid "show user config dir" +msgstr "показване на папката за настройките" + +#: src/fe-gtk/fe-gtk.c:177 +msgid "show version information" +msgstr "показване на информация за версията" + +#: src/fe-gtk/fe-gtk.c:262 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Неуспех при отваряне на шрифта:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:622 +msgid "Search buffer is empty.\n" +msgstr "Буфера за търсенето е празен.\n" + +#: src/fe-gtk/fe-gtk.c:699 +#, c-format +msgid "%d bytes" +msgstr "%d байта" + +#: src/fe-gtk/fkeys.c:155 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:171 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command moves the front tab left by one" +msgstr "Тази команда премества избрания таб с една позиция на ляво" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command moves the front tab right by one" +msgstr "Тази команда премества избрания таб с една позиция на дясно" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the current tab family to the left" +msgstr "Тази команда премества избраната група табове на ляво" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the current tab family to the right" +msgstr "Тази команда премества избраната група табове надясно" + +#: src/fe-gtk/fkeys.c:183 +msgid "Push input line into history but doesn't send to server" +msgstr "Внасяне на реда написан в полето за писане в историята, но без да се изпраща на сървъра" + +#: src/fe-gtk/fkeys.c:195 +msgid "There was an error loading key bindings configuration" +msgstr "" + +#: src/fe-gtk/fkeys.c:439 src/fe-gtk/fkeys.c:440 src/fe-gtk/fkeys.c:441 +#: src/fe-gtk/fkeys.c:442 src/fe-gtk/fkeys.c:724 src/fe-gtk/fkeys.c:730 +#: src/fe-gtk/fkeys.c:735 src/fe-gtk/maingui.c:905 src/fe-gtk/maingui.c:921 +#: src/fe-gtk/maingui.c:1064 src/fe-gtk/maingui.c:1117 +#: src/fe-gtk/maingui.c:2494 +msgid "<none>" +msgstr "<няма>" + +#: src/fe-gtk/fkeys.c:688 +msgid "Mod" +msgstr "Режим" + +#: src/fe-gtk/fkeys.c:689 src/fe-gtk/fkeys.c:784 +msgid "Key" +msgstr "Ключ" + +#: src/fe-gtk/fkeys.c:690 +msgid "Action" +msgstr "Действие" + +#: src/fe-gtk/fkeys.c:699 +msgid "X-Chat: Keyboard Shortcuts" +msgstr "X-Chat: Бързи клавиши" + +#: src/fe-gtk/fkeys.c:746 +msgid "Add new" +msgstr "Добавяне на ново" + +#: src/fe-gtk/fkeys.c:777 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:779 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:781 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:788 +msgid "Data 1" +msgstr "Данни 1" + +#: src/fe-gtk/fkeys.c:791 +msgid "Data 2" +msgstr "Данни 2" + +#: src/fe-gtk/fkeys.c:834 +msgid "Error opening keys config file\n" +msgstr "Грешка при отваряне на конфигурационния файл на клавишите\n" + +#: src/fe-gtk/fkeys.c:1005 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1043 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1064 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1133 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" + +#: src/fe-gtk/gtkutil.c:154 +msgid "Cannot write to that file." +msgstr "Не може да се пише в този файл." + +#: src/fe-gtk/gtkutil.c:156 +msgid "Cannot read that file." +msgstr "Не може да се чете от този файл." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "Тази маска вече съществува." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:1573 +msgid "Private" +msgstr "Частен" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Уведомяване" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Покана" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Махане на игнорирането" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Въведете маската, която да се игнорира:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "X-Chat: Ignore list" +msgstr "X-Chat: Списък с игнорираните" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Статистика за игнорирането:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Стая:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Частен:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Уведомяване:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Покана:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:306 +msgid "Add" +msgstr "Добавяне" + +#: src/fe-gtk/maingui.c:318 +msgid "Dialog with" +msgstr "Разговор с" + +#: src/fe-gtk/maingui.c:574 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Темата на %s е: %s" + +#: src/fe-gtk/maingui.c:578 +msgid "No topic is set" +msgstr "Няма настроена тема" + +#: src/fe-gtk/maingui.c:974 +msgid "No other tabs open, quit xchat?" +msgstr "" +"Няма отворени други табове,\n" +"желаете ли да затворите X-Chat?" + +#: src/fe-gtk/maingui.c:1020 +msgid "Insert color code" +msgstr "Вмъкване на код за цвят" + +#: src/fe-gtk/maingui.c:1069 +msgid "Beep on message" +msgstr "Бибиткане при съобщение" + +#: src/fe-gtk/maingui.c:1072 +msgid "Show join/part messages" +msgstr "Показване на кой влиза и излиза" + +#: src/fe-gtk/maingui.c:1074 +msgid "Color paste" +msgstr "Поставяне на цвят" + +#: src/fe-gtk/maingui.c:1084 +msgid "Go to" +msgstr "Отиване на" + +#: src/fe-gtk/maingui.c:1097 src/fe-gtk/menu.c:1251 +msgid "Close Tab" +msgstr "Затваряне на таб" + +#: src/fe-gtk/maingui.c:1100 src/fe-gtk/menu.c:1404 +msgid "Detach Tab" +msgstr "Откачане на таб" + +#: src/fe-gtk/maingui.c:1291 +msgid "Some file transfers still active, quit xchat?" +msgstr "" +"Някои файлови трансфери са още активни,\n" +"желаете ли да затворите X-Chat?" + +#: src/fe-gtk/maingui.c:1441 src/fe-gtk/maingui.c:1547 +msgid "User limit must be a number!\n" +msgstr "Лимита на потребители трябва да е номер!\n" + +#: src/fe-gtk/maingui.c:1569 +msgid "Topic Protection" +msgstr "Защита на темата" + +#: src/fe-gtk/maingui.c:1570 +msgid "No outside messages" +msgstr "Без външни съобщения" + +#: src/fe-gtk/maingui.c:1571 +msgid "Secret" +msgstr "Таен" + +#: src/fe-gtk/maingui.c:1572 +msgid "Invite Only" +msgstr "Само с покана" + +#: src/fe-gtk/maingui.c:1574 +msgid "Moderated" +msgstr "Модериран" + +#: src/fe-gtk/maingui.c:1575 +msgid "Ban List" +msgstr "Списък със забранени потребители/адреси" + +#: src/fe-gtk/maingui.c:1577 +msgid "Keyword" +msgstr "Ключова дума" + +#: src/fe-gtk/maingui.c:1589 +msgid "User Limit" +msgstr "Потребителски лимит" + +#: src/fe-gtk/maingui.c:1605 +msgid "Close this tab/window" +msgstr "Затваряне на този таб/прозорец" + +#: src/fe-gtk/maingui.c:1702 +msgid "Show/Hide userlist" +msgstr "Показва/скрива списъка с потребители" + +#: src/fe-gtk/maingui.c:1815 +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 "" +"Не може да се използва прозрачен фон!\n" +"\n" +"Може би използвате несъвместим дисплей\n" +"мениджър, който не се поддържа.\n" + +#: src/fe-gtk/maingui.c:2008 +msgid "Enter new nickname:" +msgstr "Въведете нов прякор:" + +#: src/fe-gtk/menu.c:116 +msgid "Host unknown" +msgstr "Непознат хост" + +#: src/fe-gtk/menu.c:477 +#, c-format +msgid "User: %s" +msgstr "Потребител: %s" + +#: src/fe-gtk/menu.c:481 +#, c-format +msgid "Country: %s" +msgstr "Страна: %s" + +#: src/fe-gtk/menu.c:485 +#, c-format +msgid "Realname: %s" +msgstr "Истинско име: %s" + +#: src/fe-gtk/menu.c:489 +#, c-format +msgid "Server: %s" +msgstr "Сървър: %s" + +#: src/fe-gtk/menu.c:493 +#, c-format +msgid "Last Msg: %s" +msgstr "Последно съобщение: %s" + +#: src/fe-gtk/menu.c:578 +msgid "Menu Bar" +msgstr "Лента с менютата" + +#: src/fe-gtk/menu.c:579 +msgid "Topic Bar" +msgstr "Лента с темата" + +#: src/fe-gtk/menu.c:583 src/fe-gtk/setup.c:159 +msgid "User List" +msgstr "Списък с потребители" + +#: src/fe-gtk/menu.c:586 +msgid "Mode Buttons" +msgstr "Бутони за режимите" + +#: src/fe-gtk/menu.c:592 +msgid "User List Buttons" +msgstr "Бутони за потребителския списък" + +#: src/fe-gtk/menu.c:662 src/fe-gtk/urlgrab.c:202 +msgid "Copy selected URL" +msgstr "Копиране на избрания URL" + +#: src/fe-gtk/menu.c:725 +msgid "Part Channel" +msgstr "Напускане на стаята" + +#: src/fe-gtk/menu.c:727 +msgid "Cycle Channel" +msgstr "Излизане и влизане в стаята" + +#: src/fe-gtk/menu.c:750 +msgid "X-Chat: User menu" +msgstr "X-Chat: Потребителско меню" + +#: src/fe-gtk/menu.c:759 +msgid "Edit This Menu..." +msgstr "Редактиране на това меню..." + +#: src/fe-gtk/menu.c:866 +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 "" +"*ВНИМАНИЕ*\n" +"Автоматично приемане на DCC във вашата домашна папка\n" +"може да бъде опасно и използваемо от други. Пример:\n" +"Някой може да ви прати .bash_profile" + +#: src/fe-gtk/menu.c:994 +msgid "Settings saved." +msgstr "Настройките са запазени." + +#: src/fe-gtk/menu.c:1031 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" + +#: src/fe-gtk/menu.c:1046 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" + +#: src/fe-gtk/menu.c:1055 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" + +#: src/fe-gtk/menu.c:1064 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" +"CTCP Отговори - Специални кодове:\n" +"\n" +"%d = данни (целия ctcp)\n" +"%m = информация за машината\n" +"%s = прякора на този, който изпратил ctcp\n" +"%t = време/дата\n" +"%2 = дума 2\n" +"%3 = дума 3\n" +"&2 = дума 2 до края на реда\n" +"&3 = duma 3 до края на реда\n" +"\n" + +#: src/fe-gtk/menu.c:1074 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of X-Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1083 +msgid "X-Chat: User Defined Commands" +msgstr "X-Chat: Потребителски команди" + +#: src/fe-gtk/menu.c:1090 +msgid "X-Chat: Userlist Popup menu" +msgstr "X-Chat: Меню за потребителския списък" + +#: src/fe-gtk/menu.c:1097 +msgid "X-Chat: Replace" +msgstr "X-Chat: Замяна" + +#: src/fe-gtk/menu.c:1104 +msgid "X-Chat: URL Handlers" +msgstr "X-Chat: Управление на URL" + +#: src/fe-gtk/menu.c:1123 +msgid "X-Chat: Userlist buttons" +msgstr "X-Chat: Бутони за списъка с потребители" + +#: src/fe-gtk/menu.c:1130 +msgid "X-Chat: Dialog buttons" +msgstr "X-Chat: Диалогови бутони" + +#: src/fe-gtk/menu.c:1137 +msgid "X-Chat: CTCP Replies" +msgstr "X-Chat: CTCP отговори" + +#: src/fe-gtk/menu.c:1225 +msgid "_X-Chat" +msgstr "_X-Chat" + +#: src/fe-gtk/menu.c:1226 +msgid "Server List..." +msgstr "Списък със сървърите" + +#: src/fe-gtk/menu.c:1229 +msgid "New" +msgstr "Ново" + +#: src/fe-gtk/menu.c:1230 +msgid "Server Tab..." +msgstr "Таб за сървъра" + +#: src/fe-gtk/menu.c:1231 +msgid "Channel Tab..." +msgstr "Таб за стая..." + +#: src/fe-gtk/menu.c:1232 +msgid "Server Window..." +msgstr "Прозорец за сървър" + +#: src/fe-gtk/menu.c:1233 +msgid "Channel Window..." +msgstr "Прозорец за стая..." + +#: src/fe-gtk/menu.c:1238 src/fe-gtk/menu.c:1240 +msgid "Load Plugin or Script..." +msgstr "Зарежане на нов плъгин или скрипт..." + +#: src/fe-gtk/menu.c:1244 +msgid "New Shell Tab..." +msgstr "" + +#: src/fe-gtk/menu.c:1253 +msgid "Quit" +msgstr "Изход" + +#: src/fe-gtk/menu.c:1255 +msgid "_IRC" +msgstr "_IRC" + +#: src/fe-gtk/menu.c:1256 +msgid "Invisible" +msgstr "Невидим" + +#: src/fe-gtk/menu.c:1257 +msgid "Receive Wallops" +msgstr "Получаване на wallop съобщения" + +#: src/fe-gtk/menu.c:1258 +msgid "Receive Server Notices" +msgstr "Получване на сървърни уведомявания" + +#: src/fe-gtk/menu.c:1260 +msgid "Marked Away" +msgstr "\"Няма ме\"" + +#: src/fe-gtk/menu.c:1262 +msgid "Auto Rejoin when Kicked" +msgstr "Автоматично влизане наново при изхвърляне" + +#: src/fe-gtk/menu.c:1263 +msgid "Auto Reconnect to Server" +msgstr "Автоматично свързване наново" + +#: src/fe-gtk/menu.c:1264 +msgid "Never-give-up ReConnect" +msgstr "Постоянни опити за ново свързване" + +#: src/fe-gtk/menu.c:1266 +msgid "Auto Open Dialog Windows" +msgstr "Автоматично отваряне на диалогови прозорци" + +#: src/fe-gtk/menu.c:1267 +msgid "Auto Accept Direct Chat" +msgstr "Автоматично приемане на директен разговор" + +#: src/fe-gtk/menu.c:1268 +msgid "Auto Accept Files" +msgstr "Автоматично приемане на файлове" + +#: src/fe-gtk/menu.c:1270 +msgid "_Server" +msgstr "Сървър" + +#: src/fe-gtk/menu.c:1272 +msgid "S_ettings" +msgstr "Настройки" + +#: src/fe-gtk/menu.c:1273 +msgid "Preferences..." +msgstr "Настройки" + +#: src/fe-gtk/menu.c:1275 +msgid "Advanced" +msgstr "Допълнителни" + +#: src/fe-gtk/menu.c:1276 +msgid "Auto Replace..." +msgstr "Автоматично заменяне" + +#: src/fe-gtk/menu.c:1277 +msgid "CTCP Replies..." +msgstr "CTCP отговори..." + +#: src/fe-gtk/menu.c:1278 +msgid "Dialog Buttons..." +msgstr "Диалогови бутони..." + +#: src/fe-gtk/menu.c:1279 +msgid "Keyboard Shortcuts..." +msgstr "Бързи клавиши..." + +#: src/fe-gtk/menu.c:1280 +msgid "Text Events..." +msgstr "Текстови събития..." + +#: src/fe-gtk/menu.c:1281 +msgid "URL Handlers..." +msgstr "Управление на URL-тата..." + +#: src/fe-gtk/menu.c:1282 +msgid "User Commands..." +msgstr "Потребителски команди..." + +#: src/fe-gtk/menu.c:1283 +msgid "Userlist Buttons..." +msgstr "Бутони при потребителския списък..." + +#: src/fe-gtk/menu.c:1284 +msgid "Userlist Popup..." +msgstr "Меню на списъка с потребители" + +#: src/fe-gtk/menu.c:1289 +msgid "Reload Settings" +msgstr "Презареждане на настройките" + +#: src/fe-gtk/menu.c:1291 +msgid "Save Settings now" +msgstr "Запазване на настройките сега" + +#: src/fe-gtk/menu.c:1292 +msgid "Save Settings on exit" +msgstr "Запазване на настройките при изход" + +#: src/fe-gtk/menu.c:1295 +msgid "_Window" +msgstr "Прозорец" + +#: src/fe-gtk/menu.c:1296 +msgid "Ban List..." +msgstr "Списък със забранение адреси..." + +#: src/fe-gtk/menu.c:1297 +msgid "Channel List..." +msgstr "Списък с стаите..." + +#: src/fe-gtk/menu.c:1298 +msgid "Character Chart..." +msgstr "Таблица с символи..." + +#: src/fe-gtk/menu.c:1299 +msgid "Direct Chat..." +msgstr "Директен чат..." + +#: src/fe-gtk/menu.c:1300 +msgid "File Receive..." +msgstr "Получаване на файлове..." + +#: src/fe-gtk/menu.c:1301 +msgid "File Send..." +msgstr "Изпращане на файлове..." + +#: src/fe-gtk/menu.c:1302 +msgid "Ignore List..." +msgstr "Списък с игнорираните" + +#: src/fe-gtk/menu.c:1303 +msgid "Notify List..." +msgstr "Списък с приятели..." + +#: src/fe-gtk/menu.c:1304 +msgid "Plugins and Scripts..." +msgstr "Плъгини и скриптове..." + +#: src/fe-gtk/menu.c:1305 +msgid "Raw Log..." +msgstr "Необработен журнал..." + +#: src/fe-gtk/menu.c:1306 +msgid "URL Grabber..." +msgstr "Улавяне на URL-та..." + +#: src/fe-gtk/menu.c:1308 +msgid "Reset Marker Line" +msgstr "Зануляване на отбелязващата линия" + +#: src/fe-gtk/menu.c:1309 +msgid "C_lear Text" +msgstr "Изчистване на текста" + +#: src/fe-gtk/menu.c:1310 +msgid "Search Text..." +msgstr "Търсене из текста..." + +#: src/fe-gtk/menu.c:1311 +msgid "Save Text..." +msgstr "Записване на текста..." + +#: src/fe-gtk/menu.c:1313 +msgid "_Help" +msgstr "Помощ" + +#: src/fe-gtk/menu.c:1314 +msgid "_Contents" +msgstr "_Потребителско ръководство" + +#: src/fe-gtk/menu.c:1316 src/fe-gtk/menu.c:1318 +msgid "_About" +msgstr "_Относно" + +#: src/fe-gtk/menu.c:1406 +msgid "Attach Tab" +msgstr "Закачане на таб" + +#: src/fe-gtk/notifygui.c:109 +msgid "User" +msgstr "Потребител" + +#: src/fe-gtk/notifygui.c:111 +msgid "Server" +msgstr "Сървър" + +#: src/fe-gtk/notifygui.c:112 +msgid "Last Seen" +msgstr "Последно видян" + +#: src/fe-gtk/notifygui.c:149 +msgid "Offline" +msgstr "Не е на линия" + +#: src/fe-gtk/notifygui.c:169 src/fe-gtk/setup.c:199 +msgid "Never" +msgstr "Никога" + +#: src/fe-gtk/notifygui.c:187 +msgid "Online" +msgstr "На линия" + +#: src/fe-gtk/notifygui.c:277 +msgid "Enter nickname to add:" +msgstr "Въведете прякор за добавяне:" + +#: src/fe-gtk/notifygui.c:293 +msgid "X-Chat: Notify List" +msgstr "X-Chat: Списък с приятелчета" + +#: src/fe-gtk/notifygui.c:308 +msgid "Remove" +msgstr "Премахване" + +#: src/fe-gtk/plugingui.c:75 src/fe-gtk/textgui.c:341 +msgid "Description" +msgstr "Описание" + +#: src/fe-gtk/plugingui.c:150 +msgid "Select a Plugin or Script to load" +msgstr "Избор на плъгин или скрипт за зареждане" + +#: src/fe-gtk/plugingui.c:222 +msgid "X-Chat: Plugins and Scripts" +msgstr "X-Chat: Плъгини и скриптове" + +#: src/fe-gtk/plugingui.c:228 +msgid "_Load..." +msgstr "Зареждане..." + +#: src/fe-gtk/plugingui.c:231 +msgid "_UnLoad" +msgstr "_Отзареждане" + +#: src/fe-gtk/plugingui.c:235 +msgid "_Close" +msgstr "Затваряне" + +#: src/fe-gtk/rawlog.c:78 +msgid "Save rawlog" +msgstr "Запазване на необработен журнал" + +#: src/fe-gtk/rawlog.c:94 +#, c-format +msgid "X-Chat: Rawlog (%s)" +msgstr "" + +#: src/fe-gtk/rawlog.c:123 +msgid "Clear rawlog" +msgstr "" + +#: src/fe-gtk/rawlog.c:126 +msgid "Save rawlog..." +msgstr "" + +#: src/fe-gtk/search.c:47 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Прозореца, за който отворихте това търсене вече не съществува." + +#: src/fe-gtk/search.c:91 +msgid "X-Chat: Search" +msgstr "X-Chat: Търсене" + +#: src/fe-gtk/search.c:100 +msgid "Find:" +msgstr "Търсене:" + +#: src/fe-gtk/search.c:114 +msgid "Find" +msgstr "Търсене" + +#: src/fe-gtk/search.c:119 +msgid "Close" +msgstr "Затваряне" + +#: src/fe-gtk/servlistgui.c:161 src/fe-gtk/servlistgui.c:260 +msgid "New Network" +msgstr "Нова мрежа" + +#: src/fe-gtk/servlistgui.c:493 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Наистина ли да се изтрие мрежата \"%s\" и всичките и сървъри?" + +#: src/fe-gtk/servlistgui.c:614 src/fe-gtk/servlistgui.c:630 +msgid "User name and Real name cannot be left blank." +msgstr "Потребителското име и истинското име на може да бъдат оставени празни." + +#: src/fe-gtk/servlistgui.c:981 +#, c-format +msgid "X-Chat: Edit %s" +msgstr "X-Chat:·Редактиране на %s" + +#: src/fe-gtk/servlistgui.c:1000 +#, c-format +msgid "Servers for %s" +msgstr "Сървъри за %s" + +#: src/fe-gtk/servlistgui.c:1011 +msgid "Connect to selected server only" +msgstr "Свързване САМО към избрания сървър" + +#: src/fe-gtk/servlistgui.c:1012 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Да не се пробват един по един сървърите, ако връзката пропада." + +#: src/fe-gtk/servlistgui.c:1014 +msgid "Your Details" +msgstr "Вашите данни" + +#: src/fe-gtk/servlistgui.c:1020 +msgid "Use global user information" +msgstr "Използване на глобална потребителска информация" + +#: src/fe-gtk/servlistgui.c:1023 src/fe-gtk/servlistgui.c:1255 +msgid "_Nick name:" +msgstr "Прякор:" + +#: src/fe-gtk/servlistgui.c:1027 src/fe-gtk/servlistgui.c:1276 +msgid "_User name:" +msgstr "Потребител:" + +#: src/fe-gtk/servlistgui.c:1031 +msgid "Real na_me:" +msgstr "Истинско име:" + +#: src/fe-gtk/servlistgui.c:1034 +msgid "Connecting" +msgstr "Свързва се" + +#: src/fe-gtk/servlistgui.c:1040 +msgid "Auto connect to this network at startup" +msgstr "" +"Автоматично свързване към тази мрежа\n" +"при стартирането на X-Chat" + +#: src/fe-gtk/servlistgui.c:1042 +msgid "Use a proxy server" +msgstr "Използване на прокси сървър" + +#: src/fe-gtk/servlistgui.c:1044 +msgid "Use SSL for all the servers on this network" +msgstr "Използване на SSL за всички сървъри от тази мрежа" + +#: src/fe-gtk/servlistgui.c:1049 +msgid "Accept invalid SSL certificate" +msgstr "Приемане на невалидния SSL сертификат" + +#: src/fe-gtk/servlistgui.c:1055 +msgid "C_hannels to join:" +msgstr "Стаи, в които да се влиза:" + +#: src/fe-gtk/servlistgui.c:1057 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Стаи, в които да се влиза, разделени със запетаи, не с празни места!!!" + +#: src/fe-gtk/servlistgui.c:1060 +msgid "Connect command:" +msgstr "Команда при свързване:" + +#: src/fe-gtk/servlistgui.c:1062 +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 "" + +#: src/fe-gtk/servlistgui.c:1065 +msgid "Nickserv password:" +msgstr "Парола за NickServ:" + +#: src/fe-gtk/servlistgui.c:1070 +msgid "Server password:" +msgstr "Парола за сървъра:" + +#: src/fe-gtk/servlistgui.c:1072 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Парола за сървъра. Ако не сте сигурни, оставете полето празно." + +#: src/fe-gtk/servlistgui.c:1075 +msgid "Character set:" +msgstr "Кодиране:" + +#: src/fe-gtk/servlistgui.c:1148 +msgid "_Edit" +msgstr "_Редактиране" + +#: src/fe-gtk/servlistgui.c:1229 +msgid "X-Chat: Server List" +msgstr "X-Chat: Списък на сървърите" + +#: src/fe-gtk/servlistgui.c:1245 +msgid "User Information" +msgstr "Потребителска информация" + +#: src/fe-gtk/servlistgui.c:1262 +msgid "Second choice:" +msgstr "Втори избор:" + +#: src/fe-gtk/servlistgui.c:1269 +msgid "Third choice:" +msgstr "Трети избор:" + +#: src/fe-gtk/servlistgui.c:1283 +msgid "Rea_l name:" +msgstr "Истинско име:" + +#: src/fe-gtk/servlistgui.c:1329 +msgid "Networks" +msgstr "Мрежи" + +#: src/fe-gtk/servlistgui.c:1370 +msgid "Skip server list on startup" +msgstr "Да не се показва списъка със сървърите при стартиране" + +#: src/fe-gtk/servlistgui.c:1401 +msgid "_Edit..." +msgstr "_Редактиране..." + +#: src/fe-gtk/servlistgui.c:1408 +msgid "_Sort" +msgstr "_Подреждане" + +#: src/fe-gtk/servlistgui.c:1424 +msgid "C_onnect" +msgstr "Свързване" + +#: src/fe-gtk/servlistgui.c:1433 +msgid "Connect in new tab" +msgstr "Свързване в нов таб" + +#: src/fe-gtk/setup.c:95 +msgid "Text Box Appearance" +msgstr "Външен вид на полето за текста" + +#: src/fe-gtk/setup.c:96 +msgid "Font:" +msgstr "Шрифт:" + +#: src/fe-gtk/setup.c:97 +msgid "Background image:" +msgstr "Изображение за фон:" + +#: src/fe-gtk/setup.c:98 +msgid "Scrollback lines:" +msgstr "Запазени редове назад:" + +#: src/fe-gtk/setup.c:99 +msgid "Transparent background" +msgstr "Прозрачен фон" + +#: src/fe-gtk/setup.c:100 +msgid "Indent nick names" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Make nick names right-justified" +msgstr "Прякорите да са подравнени в дясно" + +#: src/fe-gtk/setup.c:102 +msgid "Tint (shade) transparency" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Colored nick names" +msgstr "Цветни прякори" + +#: src/fe-gtk/setup.c:104 +msgid "Give each person on IRC a different color" +msgstr "Всеки прякор да има назначен различен цвят" + +#: src/fe-gtk/setup.c:105 +msgid "Strip mIRC colors" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Show marker line" +msgstr "Показва маркиращата линия" + +#: src/fe-gtk/setup.c:107 +msgid "Insert a red line after the last read text." +msgstr "Вмъкване на червена линия след последно прочетения текст" + +#: src/fe-gtk/setup.c:108 +msgid "Tint Settings" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Red:" +msgstr "Червено:" + +#: src/fe-gtk/setup.c:110 +msgid "Green:" +msgstr "Зелено:" + +#: src/fe-gtk/setup.c:111 +msgid "Blue:" +msgstr "Синьо:" + +#: src/fe-gtk/setup.c:113 src/fe-gtk/setup.c:312 +msgid "Time Stamps" +msgstr "Време срещу всяка реплика" + +#: src/fe-gtk/setup.c:114 +msgid "Time stamp format:" +msgstr "Формат на отбелязване на времето:" + +#: src/fe-gtk/setup.c:115 +msgid "See strftime manpage for details." +msgstr "Вижте man страницата за strftime за повече информация" + +#: src/fe-gtk/setup.c:116 +msgid "Enable time stamps" +msgstr "Вмъква времето на репликите" + +#: src/fe-gtk/setup.c:123 +msgid "Nick Completion" +msgstr "Довършване на прякорите" + +#: src/fe-gtk/setup.c:124 +msgid "Automatic nick completion" +msgstr "Автоматично довършване на прякорите" + +#: src/fe-gtk/setup.c:125 +msgid "Completes nick names without using the TAB key" +msgstr "Довършване на прякорите без да се използва клавиша TAB" + +#: src/fe-gtk/setup.c:126 +msgid "Nick completion suffix:" +msgstr "Допълнение след довършените прякори:" + +#: src/fe-gtk/setup.c:128 +msgid "Input Box Codes" +msgstr "Кодове за полето за писане" + +#: src/fe-gtk/setup.c:129 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Интерпретиране на %nnn като ASCII стойност" + +#: src/fe-gtk/setup.c:130 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Интерпретиране на %C, %B като Цвят, Удебелено и т.н." + +#: src/fe-gtk/setup.c:132 +msgid "Input Box Appearance" +msgstr "Външен вид на полето за писане" + +#: src/fe-gtk/setup.c:133 src/fe-gtk/setup.c:163 +msgid "Use the Text box font and colors" +msgstr "Използване на шрифта и цветовете на полето за текста" + +#: src/fe-gtk/setup.c:140 +msgid "Off" +msgstr "Изкл." + +#: src/fe-gtk/setup.c:141 +msgid "Graph" +msgstr "Графа" + +#: src/fe-gtk/setup.c:142 +msgid "Info text" +msgstr "Информация" + +#: src/fe-gtk/setup.c:143 +msgid "Both" +msgstr "И двете" + +#: src/fe-gtk/setup.c:149 +msgid "A-Z, Ops first" +msgstr "A-Z, Операторите първо" + +#: src/fe-gtk/setup.c:150 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:151 +msgid "Z-A, Ops last" +msgstr "Z-A, Операторите последно" + +#: src/fe-gtk/setup.c:152 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:153 +msgid "Unsorted" +msgstr "Неподреден" + +#: src/fe-gtk/setup.c:160 +msgid "User list sorted by:" +msgstr "Списък с потребителите сортиран по:" + +#: src/fe-gtk/setup.c:161 +msgid "Show hostnames in user list" +msgstr "Показва хостовете в списъка с потребители" + +#: src/fe-gtk/setup.c:162 +msgid "User list buttons enabled" +msgstr "Бутони за потребителския списък - включени" + +#: src/fe-gtk/setup.c:164 +msgid "Resizable user list" +msgstr "Оразмерим списък с потребителите" + +#: src/fe-gtk/setup.c:166 +msgid "Away tracking" +msgstr "Следене на статуса \"Няма ме\"" + +#: src/fe-gtk/setup.c:167 +msgid "Enable away tracking" +msgstr "" +"Включване на следенето\n" +"на статуса \"Няма ме\"" + +#: src/fe-gtk/setup.c:168 +msgid "On channels smaller than:" +msgstr "В стаи по-малки от:" + +#: src/fe-gtk/setup.c:170 +msgid "Action Upon Double Click" +msgstr "Действие при двойно натискане" + +#: src/fe-gtk/setup.c:171 +msgid "Execute command:" +msgstr "Изпълнение на команда:" + +#: src/fe-gtk/setup.c:173 +msgid "Extra Gadgets" +msgstr "Допълнителни играчки" + +#: src/fe-gtk/setup.c:174 +msgid "Lag meter:" +msgstr "Измервател на забавянето:" + +#: src/fe-gtk/setup.c:175 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:182 +msgid "Windows" +msgstr "Прозорци" + +#: src/fe-gtk/setup.c:183 src/fe-gtk/setup.c:207 src/fe-gtk/setup.c:1446 +msgid "Tabs" +msgstr "Табове" + +#: src/fe-gtk/setup.c:189 +msgid "Bottom" +msgstr "Долу" + +#: src/fe-gtk/setup.c:190 +msgid "Top" +msgstr "Горе" + +#: src/fe-gtk/setup.c:191 +msgid "Left" +msgstr "Ляво" + +#: src/fe-gtk/setup.c:192 +msgid "Right" +msgstr "Дясно" + +#: src/fe-gtk/setup.c:193 +msgid "Hidden" +msgstr "Скрит" + +#: src/fe-gtk/setup.c:200 +msgid "Always" +msgstr "Винаги" + +#: src/fe-gtk/setup.c:201 +msgid "Only requested tabs" +msgstr "Само изискани табове" + +#: src/fe-gtk/setup.c:208 +msgid "Open an extra tab for server messages" +msgstr "Отваряне на допълнителен таб за сървърни съобщения" + +#: src/fe-gtk/setup.c:209 +msgid "Open an extra tab for server notices" +msgstr "Отваряне на нов таб за сървърните уведомявания" + +#: src/fe-gtk/setup.c:210 +msgid "Small tabs" +msgstr "Малки табове" + +#: src/fe-gtk/setup.c:211 +msgid "Sort tabs in alphabetical order" +msgstr "Подрежда табовете по азбучен ред" + +#: src/fe-gtk/setup.c:212 +msgid "Focus new tabs:" +msgstr "Фокусиране на новите табове:" + +#: src/fe-gtk/setup.c:213 +msgid "Shorten tab labels to:" +msgstr "Скъсява табовете до:" + +#: src/fe-gtk/setup.c:213 +msgid "letters." +msgstr "букви." + +#: src/fe-gtk/setup.c:215 +msgid "Tabs Location" +msgstr "Положение на табовете" + +#: src/fe-gtk/setup.c:216 +msgid "Show tabs at:" +msgstr "Показване на табовете в:" + +#: src/fe-gtk/setup.c:218 +msgid "Tabs or Windows" +msgstr "Табове или Прозорци" + +#: src/fe-gtk/setup.c:219 +msgid "Open channels in:" +msgstr "Отваряне на стаи в:" + +#: src/fe-gtk/setup.c:220 +msgid "Open dialogs in:" +msgstr "Отваряне на разговори в:" + +#: src/fe-gtk/setup.c:221 +msgid "Open utilities in:" +msgstr "Отваряне на инструментите в:" + +#: src/fe-gtk/setup.c:221 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Отваряне на DCC, Игнориране, Списък с приятелчета и т.н. в отделни табове или прозорци?" + +#: src/fe-gtk/setup.c:228 +msgid "Files and Directories" +msgstr "Файлове и папки" + +#: src/fe-gtk/setup.c:229 +msgid "Download files to:" +msgstr "Сваляне на файловете в:" + +#: src/fe-gtk/setup.c:230 +msgid "Move completed files to:" +msgstr "Преместване на завършените файлове в:" + +#: src/fe-gtk/setup.c:231 +msgid "Save nick name in filenames" +msgstr "Запазване на прякора в името на файла" + +#: src/fe-gtk/setup.c:232 +msgid "Convert spaces to underscore before sending" +msgstr "Преобразуване на празните места в долни черти преди да се изпрати" + +#: src/fe-gtk/setup.c:234 +msgid "Network Settings" +msgstr "Настройки на мрежата" + +#: src/fe-gtk/setup.c:235 +msgid "DCC IP address:" +msgstr "DCC IP адрес:" + +#: src/fe-gtk/setup.c:236 +msgid "Claim you are at this address when offering files." +msgstr "Заявяване, че сте на този адрес при изпращането на файлове" + +#: src/fe-gtk/setup.c:237 +msgid "First DCC send port:" +msgstr "Първи DCC порт за пращане:" + +#: src/fe-gtk/setup.c:238 +msgid "Last DCC send port:" +msgstr "Последен DCC порт за пращане:" + +#: src/fe-gtk/setup.c:239 +msgid "(Leave ports at zero for full range)." +msgstr "(Оставете портовете на нула за пълния обсег)" + +#: src/fe-gtk/setup.c:240 +msgid "Get my address from the IRC server" +msgstr "Взимане на собствения адрес от IRC сървъра" + +#: src/fe-gtk/setup.c:241 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "Пита IRC сървъра за истинския ви адрес. Използвайте това ако имате адрес от вида 192.168.*.*!" + +#: src/fe-gtk/setup.c:243 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Максимална скорост за файловите трансфери (байтове в секунда)" + +#: src/fe-gtk/setup.c:244 +msgid "One upload:" +msgstr "Едно качване:" + +#: src/fe-gtk/setup.c:245 src/fe-gtk/setup.c:247 +msgid "Maximum speed for one transfer" +msgstr "Максимална скорост за един трансфер" + +#: src/fe-gtk/setup.c:246 +msgid "One download:" +msgstr "Едно сваляне:" + +#: src/fe-gtk/setup.c:248 +msgid "All uploads combined:" +msgstr "Всички качвания комбинирано:" + +#: src/fe-gtk/setup.c:249 src/fe-gtk/setup.c:251 +msgid "Maximum speed for all files" +msgstr "Маскимална скорост за всички файлове" + +#: src/fe-gtk/setup.c:250 +msgid "All downloads combined:" +msgstr "Всички сваляния комбинирано:" + +#: src/fe-gtk/setup.c:258 +msgid "Default Messages" +msgstr "Стандартни съобщения" + +#: src/fe-gtk/setup.c:259 +msgid "Quit:" +msgstr "Изход:" + +#: src/fe-gtk/setup.c:260 +msgid "Leave channel:" +msgstr "Напускане на стая" + +#: src/fe-gtk/setup.c:261 +msgid "Away:" +msgstr "Няма ме:" + +#: src/fe-gtk/setup.c:263 +msgid "Away" +msgstr "\"Няма ме\"" + +#: src/fe-gtk/setup.c:264 +msgid "Announce away messages" +msgstr "Обявяване на съобщенията за статуса \"Няма ме\"" + +#: src/fe-gtk/setup.c:265 +msgid "Announce your away messages to all channels" +msgstr "Обявяване на статуса \"Няма ме\" във всички стаи" + +#: src/fe-gtk/setup.c:266 +msgid "Show away once" +msgstr "Показване на съобщението за липса само веднъж" + +#: src/fe-gtk/setup.c:266 +msgid "Show identical away messages only once" +msgstr "Показване на еднаквите съобщения за липса само веднъж" + +#: src/fe-gtk/setup.c:267 +msgid "Automatically unmark away" +msgstr "Автоматично махане на статуса \"Няма ме\"" + +#: src/fe-gtk/setup.c:267 +msgid "Unmark yourself as away before sending messages" +msgstr "Отбелязване, че вече не сте в режим \"Няма ме\" преди да избращате съобщения" + +#: src/fe-gtk/setup.c:270 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "(може да е текстов файл с адрес относителен към ~/.xchat2/)" + +#: src/fe-gtk/setup.c:272 +msgid "(Can be a text file relative to config dir)." +msgstr "(може да е текстов файл с адрес относителен към папка с настройките)" + +#: src/fe-gtk/setup.c:276 +msgid "Alerts" +msgstr "Звукови уведомявания" + +#: src/fe-gtk/setup.c:278 +msgid "Flash taskbar on highlighted messages" +msgstr "" + +#: src/fe-gtk/setup.c:280 +msgid "Beep on highlighted messages" +msgstr "Бибиткане при осветени съобщения" + +#: src/fe-gtk/setup.c:281 +msgid "Extra words to highlight on:" +msgstr "Допълнителни думи, които да се осветяват:" + +#: src/fe-gtk/setup.c:282 +msgid "(Separate multiple words with commas)." +msgstr "(Ако са повече от една дума - разделете със запетаи)" + +#: src/fe-gtk/setup.c:283 +msgid "Beep on private messages" +msgstr "Бибиткане при лични съобщения" + +#: src/fe-gtk/setup.c:284 +msgid "Beep on channel messages" +msgstr "Бибиткане при съобщения в стая" + +#: src/fe-gtk/setup.c:291 +msgid "Advanced Settings" +msgstr "Подробни настройки" + +#: src/fe-gtk/setup.c:292 +msgid "Auto reconnect delay:" +msgstr "Изчакване преди автоматично свързване:" + +#: src/fe-gtk/setup.c:293 +msgid "Display MODEs in raw form" +msgstr "Показване на режимите в чиста форма" + +#: src/fe-gtk/setup.c:294 +msgid "Whois on notify" +msgstr "Пускане на \"Кой е ...?\" при появяване" + +#: src/fe-gtk/setup.c:294 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Изпращане на /WHOIS , когато потребител от списъка с приятелчета стане на линия" + +#: src/fe-gtk/setup.c:295 +msgid "Hide join and part messages" +msgstr "Скриване на кой влиза и излиза" + +#: src/fe-gtk/setup.c:295 +msgid "Hide channel join/part messages by default" +msgstr "По подразбиране да се скриват съобщенията за влизане и излизане от стаите" + +#: src/fe-gtk/setup.c:296 +msgid "Auto Open DCC Windows" +msgstr "Автоматично отваряне на DCC прозорци" + +#: src/fe-gtk/setup.c:297 +msgid "Send window" +msgstr "Прозореца за изпращане на файлове" + +#: src/fe-gtk/setup.c:298 +msgid "Receive window" +msgstr "Прозореца за получване на файлове" + +#: src/fe-gtk/setup.c:299 +msgid "Chat window" +msgstr "Прозореца за разговори" + +#: src/fe-gtk/setup.c:307 src/fe-gtk/setup.c:1451 +msgid "Logging" +msgstr "Записване на разговори" + +#: src/fe-gtk/setup.c:308 +msgid "Enable logging of conversations" +msgstr "Включване на записването на разговори" + +#: src/fe-gtk/setup.c:309 +msgid "Log filename mask:" +msgstr "" +"Маска на файловото име на\n" +"записа на разговор:" + +#: src/fe-gtk/setup.c:310 +#, c-format +msgid "(%s=Server %c=Channel %n=Network)." +msgstr "(%s=Сървър %c=Стая/Прякор %n=Мрежа)." + +#: src/fe-gtk/setup.c:313 +msgid "Insert timestamps in logs" +msgstr "" +"Вмъква времето на репликите\n" +"в записаните разговори(логовете)" + +#: src/fe-gtk/setup.c:314 +msgid "Log timestamp format:" +msgstr "Формат на отбелязване на времето:" + +#: src/fe-gtk/setup.c:315 +msgid "(See strftime manpage for details)." +msgstr "(вижте man страницата за strftime за повече информация)." + +#: src/fe-gtk/setup.c:322 +msgid "(Disabled)" +msgstr "(изключено)" + +#: src/fe-gtk/setup.c:323 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:324 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:325 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:326 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:332 +msgid "Your Address" +msgstr "Вашият адрес" + +#: src/fe-gtk/setup.c:333 +msgid "Bind to:" +msgstr "Вързване към:" + +#: src/fe-gtk/setup.c:334 +msgid "(Only useful for computers with multiple addresses)." +msgstr "(Полезно само за компютри с множество адреси)" + +#: src/fe-gtk/setup.c:336 +msgid "Proxy Server" +msgstr "Прокси сървър" + +#: src/fe-gtk/setup.c:337 +msgid "Hostname:" +msgstr "Хост:" + +#: src/fe-gtk/setup.c:338 +msgid "Username:" +msgstr "Потребител:" + +#: src/fe-gtk/setup.c:339 +msgid "Password:" +msgstr "Парола:" + +#: src/fe-gtk/setup.c:340 +msgid "Port:" +msgstr "Порт:" + +#: src/fe-gtk/setup.c:341 +msgid "Type:" +msgstr "Вид:" + +#: src/fe-gtk/setup.c:343 +msgid "Authenticate to the proxy server (HTTP and Socks5)" +msgstr "Идентифициране пред прокси сървъра (HTTP и Socks5)" + +#: src/fe-gtk/setup.c:566 +msgid "(disabled)" +msgstr "(изключено)" + +#: src/fe-gtk/setup.c:567 +msgid "A star (*)" +msgstr "Звезда (*)" + +#: src/fe-gtk/setup.c:568 +msgid "A red star (*)" +msgstr "Червена звезда (*)" + +#: src/fe-gtk/setup.c:569 +msgid "Underlined" +msgstr "Подчертано" + +#: src/fe-gtk/setup.c:666 +msgid "Select an Image File" +msgstr "Избор на файл с Изображение" + +#: src/fe-gtk/setup.c:702 +msgid "Select font" +msgstr "Избор на шрифт" + +#: src/fe-gtk/setup.c:776 +msgid "Browse..." +msgstr "Разглеждане..." + +#: src/fe-gtk/setup.c:893 +msgid "Mark identified users with:" +msgstr "Маркиране на регистрираните потребители с:" + +#: src/fe-gtk/setup.c:895 +msgid "Mark not-identified users with:" +msgstr "Маркиране на нерегистрираните потребители с:" + +#: src/fe-gtk/setup.c:958 +msgid "Select color" +msgstr "Избор на цвят" + +#: src/fe-gtk/setup.c:1038 +msgid "Text Colors" +msgstr "Цветове за текста" + +#: src/fe-gtk/setup.c:1040 +msgid "mIRC colors:" +msgstr "Цветове на mIRC:" + +#: src/fe-gtk/setup.c:1048 +msgid "Extra colors:" +msgstr "Допълнителни цветове:" + +#: src/fe-gtk/setup.c:1056 src/fe-gtk/setup.c:1061 +msgid "Foreground:" +msgstr "Цвят:" + +#: src/fe-gtk/setup.c:1057 src/fe-gtk/setup.c:1062 +msgid "Background:" +msgstr "Фон:" + +#: src/fe-gtk/setup.c:1059 +msgid "Marking Text" +msgstr "" + +#: src/fe-gtk/setup.c:1064 +msgid "Interface Colors" +msgstr "Цветовете на интерфейса" + +#: src/fe-gtk/setup.c:1066 +msgid "New data:" +msgstr "Нови данни:" + +#: src/fe-gtk/setup.c:1067 +msgid "Marker line:" +msgstr "Отбелязваща линия:" + +#: src/fe-gtk/setup.c:1068 +msgid "New message:" +msgstr "Ново съобщение:" + +#: src/fe-gtk/setup.c:1069 +msgid "Away user:" +msgstr "Липсващ потребител:" + +#: src/fe-gtk/setup.c:1070 +msgid "Highlight:" +msgstr "Осветявания:" + +#: src/fe-gtk/setup.c:1166 src/fe-gtk/textgui.c:337 +msgid "Event" +msgstr "Събитие" + +#: src/fe-gtk/setup.c:1172 +msgid "Sound file" +msgstr "Звуков файл" + +#: src/fe-gtk/setup.c:1207 +msgid "Select a sound file" +msgstr "Избор на звуков файл" + +#: src/fe-gtk/setup.c:1279 +msgid "Sound playing method:" +msgstr "Метод за пускане на звуци:" + +#: src/fe-gtk/setup.c:1287 +msgid "External sound playing _program:" +msgstr "Външна програма за пускане на звуци:" + +#: src/fe-gtk/setup.c:1305 +msgid "_External program" +msgstr "_Външни програми" + +#: src/fe-gtk/setup.c:1315 +msgid "_Automatic" +msgstr "_Автоматично" + +#: src/fe-gtk/setup.c:1328 +msgid "Sound files _directory:" +msgstr "Папка със звуковите файлове:" + +#: src/fe-gtk/setup.c:1367 +msgid "Sound file:" +msgstr "Звуков файл:" + +#: src/fe-gtk/setup.c:1382 +msgid "_Browse..." +msgstr "_Разглеждане..." + +#: src/fe-gtk/setup.c:1393 +msgid "_Play" +msgstr "_Изпълнение" + +#: src/fe-gtk/setup.c:1442 +msgid "Interface" +msgstr "Интерфейс" + +#: src/fe-gtk/setup.c:1443 +msgid "Text box" +msgstr "Поле за текста" + +#: src/fe-gtk/setup.c:1444 +msgid "Input box" +msgstr "Поле за писане" + +#: src/fe-gtk/setup.c:1445 +msgid "User list" +msgstr "Списък с потребителите" + +#: src/fe-gtk/setup.c:1447 +msgid "Colors" +msgstr "Цветове" + +#: src/fe-gtk/setup.c:1449 +msgid "Chatting" +msgstr "Разговаряне" + +#: src/fe-gtk/setup.c:1450 +msgid "General" +msgstr "Общи" + +#: src/fe-gtk/setup.c:1452 +msgid "Sound" +msgstr "Звук" + +#: src/fe-gtk/setup.c:1455 +msgid "Network" +msgstr "Мрежа" + +#: src/fe-gtk/setup.c:1456 +msgid "Network setup" +msgstr "Настройки на мрежата" + +#: src/fe-gtk/setup.c:1457 +msgid "File transfers" +msgstr "Файлови трансфери" + +#: src/fe-gtk/setup.c:1564 +msgid "Categories" +msgstr "Категории" + +#: src/fe-gtk/setup.c:1694 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Някои от променените настройки изискват рестартиране на програмата преди да влезнат в действие." + +#: src/fe-gtk/setup.c:1722 +msgid "X-Chat: Preferences" +msgstr "Настройки на X-Chat" + +#: src/fe-gtk/textgui.c:160 +msgid "There was an error parsing the string" +msgstr "Имаше грешка при обработването на низа" + +#: src/fe-gtk/textgui.c:168 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "На този сигнал се подават само %d аргумента, $%d е невалиден" + +#: src/fe-gtk/textgui.c:276 src/fe-gtk/textgui.c:299 +msgid "Print Texts File" +msgstr "Разпечатване на текстов файл" + +#: src/fe-gtk/textgui.c:340 +msgid "$ Number" +msgstr "$ Номер" + +#: src/fe-gtk/textgui.c:350 +msgid "Edit Events" +msgstr "Редактиране на събития" + +#: src/fe-gtk/textgui.c:418 +msgid "Save As" +msgstr "Записване като..." + +#: src/fe-gtk/textgui.c:423 +msgid "Load From" +msgstr "Зареждане от" + +#: src/fe-gtk/textgui.c:428 +msgid "Test All" +msgstr "Тестване на всички" + +#: src/fe-gtk/urlgrab.c:97 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:147 +msgid "Select a file to save to" +msgstr "" +"Изберете файлово име, под\n" +"което да се запази" + +#: src/fe-gtk/urlgrab.c:187 +msgid "X-Chat: URL Grabber" +msgstr "X-Chat: Улавяне на URL-та" + +#: src/fe-gtk/urlgrab.c:200 +msgid "Clear list" +msgstr "Изчистване на списъка" + +#: src/fe-gtk/urlgrab.c:202 +msgid "Copy" +msgstr "Копиране" + +#: src/fe-gtk/urlgrab.c:204 +msgid "Save list to a file" +msgstr "Запазване на списък във файл" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d оператора, %d общо" + +#~ msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +#~ msgstr "ALLCHAN <команда>, изпраща команда към всички присъединени стаи" + +#~ msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +#~ msgstr "%C22*%O$tПолучен звук CTCP $1 от $2 (до $3)" + +#~ msgid "Away Msg: %s" +#~ msgstr "Съобщение \"Няма ме\": %s" + +#~ msgid "Nicks not to highlight on:" +#~ msgstr "Прякори, които да не се осветяват:" + +#, fuzzy +#~ msgid "%C22*%O$t%C28[%O$1%C28] %O$2" +#~ msgstr "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2" + +#~ msgid "Former Czechoslovakia" +#~ msgstr "Бившата Чехословакия" + +#~ msgid "Zaire" +#~ msgstr "Заир" + +#~ msgid "Delete All" +#~ msgstr "Изтрива всички" + +#, fuzzy +#~ msgid "%C18*%O%C18$t$1 $2%O" +#~ msgstr "%C13*%O$t$1%O $2%O" + +#, fuzzy +#~ msgid "%C24,18 %B-- Notify List --------------- %O" +#~ msgstr "%C08,02 %B-- Списък с приятелчета --------------- %O" + +#, fuzzy +#~ msgid "-%C26-%C27-%O$t%C28[%O$1%C28] %O$2%C27 $3%O" +#~ msgstr "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2 %C11$3%O" + +#, fuzzy +#~ msgid "%C23[%O$1%O%C23]%O$t$2%O" +#~ msgstr "%C2<%O$1%C2>%O$t$2%O" + +#~ msgid "Settings for %s" +#~ msgstr "Настройки за %s" + +#~ msgid "_Remove \"%s\"" +#~ msgstr "Премахва \"%s\"" + +#~ msgid "_Add new server" +#~ msgstr "Добавя нов сървър" + +#~ msgid "Move \"%s\" _down" +#~ msgstr "Премести·\"%s\"·надолу" + +#~ msgid "Move \"%s\" _up" +#~ msgstr "Премести \"%s\" нагоре" + +#~ msgid "_Add new network" +#~ msgstr "Добавя нова мрежа" + +#~ msgid "Nick Names:" +#~ msgstr "Прякори:" + +#~ msgid "User Name:" +#~ msgstr "Потребителско име:" + +#~ msgid "Servers" +#~ msgstr "Сървъри" + +#~ msgid "Join Channels:" +#~ msgstr "Влиза в канали:" + +#~ msgid "Command to execute after connecting. Can be used to authenticate to NickServ" +#~ msgstr "Команда за изпълнение след свързване. Може да бъде използвано да се идентифицирате пред NickServ" + +#~ msgid "Cycle until connected" +#~ msgstr "Пробва се следващия сървър докато се свърже" + +#~ msgid "Use secure SSL" +#~ msgstr "Използва сигурен SSL" + +#~ msgid "Settings for Selected Network" +#~ msgstr "Настройки за избраната мрежа" + +#~ msgid "Edit mode" +#~ msgstr "Режим \"Редакция\"" + +#~ msgid "-%C10-%C11-%O$t$1%O" +#~ msgstr "-%C10-%C11-%O$t$1%O" + +#~ msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%C $2" +#~ msgstr "-%C10-%C11-%O$t%C12[%O$1%C12]%C $2" + +#~ msgid "Lists" +#~ msgstr "Списъци" + +#~ msgid "Pop new tabs to front" +#~ msgstr "Изкарва новите табове най-отпред" diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 00000000..8a935357 --- /dev/null +++ b/po/ca.po @@ -0,0 +1,6395 @@ +# Catalan messages for X-Chat +# Copyright (C) 2001-2007 +# Softcatalà <info@softcatala.org>, 2001. +# Yannick Garcia <ygp@tinet.fut.es>, 2001. +# Antoni Bella Perez <bella5@teleline.es>, 2002, 2003. +# Ernest Adrogué Calveras <eadrogue@gmx.net>, 2004, 2007. +# David Planella Molas <david.planella@gmail.com>, 2007. +# This file is distributed under the same license as the xchat package. +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.8.0\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2005-07-05 16:21+1000\n" +"PO-Revision-Date: 2007-01-26 13:24+0100\n" +"Last-Translator: Ernest Adrogué <eadrogue@gmx.net>\n" +"Language-Team: Catalan <ca@dodds.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1\n" + +#: src/common/cfgfiles.c:350 +msgid "Cannot create ~/.xchat2" +msgstr "No s'ha pogut crear el directori ~/.xchat2" + +#: src/common/cfgfiles.c:676 +msgid "I'm busy" +msgstr "Ara estic ocupat" + +#: src/common/cfgfiles.c:677 +msgid "Leaving" +msgstr "Me'n vaig" + +#: src/common/cfgfiles.c:723 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Connectar-se a l'IRC com a root és estúpid! Hauríeu\n" +" de crear un compte d'usuari i fer-ho des d'allí.\n" + +#: src/common/dcc.c:61 +msgid "Waiting" +msgstr "Esperant" + +#: src/common/dcc.c:62 +msgid "Active" +msgstr "Actiu" + +#: src/common/dcc.c:63 +msgid "Failed" +msgstr "Ha fallat" + +#: src/common/dcc.c:64 +msgid "Done" +msgstr "Fet" + +#: src/common/dcc.c:65 +msgid "Connect" +msgstr "Connecta" + +#: src/common/dcc.c:66 +msgid "Aborted" +msgstr "Avortat" + +#: src/common/dcc.c:1299 +#, c-format +msgid "Cannot access %s\n" +msgstr "No es pot accedir a %s\n" + +#: src/common/dcc.c:1919 +msgid "No active DCCs\n" +msgstr "No hi ha connexions DCC actives\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "SÍ " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "NO " + +#: src/common/ignore.c:373 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Esteu sent bombardejat amb peticions CTCP des de %s, s'ignorarà %s\n" + +#: src/common/ignore.c:398 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "Esteu sent atacat amb peticions MSG des de %s, s'ha desactivat l'opció gui_auto_open_dialog.\n" + +#: src/common/notify.c:400 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s connectat\n" + +#: src/common/notify.c:402 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s no connectat\n" + +#: src/common/outbound.c:70 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "No esteu a cap canal. Proveu amb /join #<canal>\n" + +#: src/common/outbound.c:76 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "No connectat. Proveu amb /server <màquina> [<port>]\n" + +#: src/common/outbound.c:1404 +msgid "I need /bin/sh to run!\n" +msgstr "Es necessita /bin/sh per a executar-lo!\n" + +#: src/common/outbound.c:1716 +msgid "Commands Available:" +msgstr "Ordres disponibles:" + +#: src/common/outbound.c:1730 +msgid "User defined commands:" +msgstr "Ordres definides per l'usuari:" + +#: src/common/outbound.c:1746 +msgid "Plugin defined commands:" +msgstr "Ordres definides pels connectors:" + +#: src/common/outbound.c:1757 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Per a més informació feu /HELP <ordre>, o /HELP -l" + +#: src/common/outbound.c:1832 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "S'ignorarà l'argument desconegut «%s»." + +#: src/common/outbound.c:2610 +msgid "No such plugin found.\n" +msgstr "No s'ha trobat tal connector.\n" + +#: src/common/outbound.c:2615 src/fe-gtk/plugingui.c:185 +msgid "That plugin is refusing to unload.\n" +msgstr "Aquest connector refusa ser descarregat.\n" + +#: src/common/outbound.c:2772 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nom> <acció>, afegeix un botó sota la llista d'usuaris" + +#: src/common/outbound.c:2774 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, envia una ordre a tots els canals on estigueu" + +#: src/common/outbound.c:2776 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, envia una ordre a tots els canals on estigueu" + +#: src/common/outbound.c:2778 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, envia una ordre a tots els servidors on estigueu" + +#: src/common/outbound.c:2779 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<motiu>], marca el vostre sobrenom com a absent" + +#: src/common/outbound.c:2781 +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 <màscara> [<tipus>], bandeja tots els usuaris que coincideixin amb la " +"màscara. Si ja es troben el canal amb això no els fareu fora (necessiteu ser " +"operador del canal)" + +#: src/common/outbound.c:2783 +msgid "CLEAR, Clears the current text window" +msgstr "CLEAR, Esborra el text de la finestra actual" + +#: src/common/outbound.c:2784 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, Tanca la finestra o pestanya actual" + +#: src/common/outbound.c:2787 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY <codi>, cerca un codi de país, p.ex: au = Austràlia" + +#: src/common/outbound.c:2789 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" +"CTCP <sobrenom> <missatge>, envia el missatge CTCP a l'usuari indicat, els " +"missatges més comuns són VERSION i USERINFO" + +#: src/common/outbound.c:2791 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "CYCLE, surt i retorna immediatament al canal actual" + +#: src/common/outbound.c:2793 +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 CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" +"\n" +"DCC GET <sobrenom> - accepta un fitxer ofert\n" +"DCC SEND [-maxcps=#] <sobrenom> [fitxer] - envia un fitxer\n" +"DCC PSEND [-maxcps=#] <sobrenom> [fitxer] - envia un fitxer en mode passiu\n" +"DCC LIST - mostra la llista de connexions DCC\n" +"DCC CHAT <sobrenom> - proposa un XAT DCC a algú\n" +"DCC CLOSE <tipus> <sobrenom> <fitxer> exemple:\n" +" /dcc close send albanoguer fitxer.tar.gz" + +#: src/common/outbound.c:2804 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" +"DEHOP <sobrenom>, treu l'estatus de semi-operador del canal al sobrenom " +"indicat (necessiteu ser operador del canal)" + +#: src/common/outbound.c:2806 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nom>, elimina un botó de sota la llista d'usuaris" + +#: src/common/outbound.c:2808 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEOP <sobrenom>, treu l'estatus d'operador del canal al sobrenom indicat " +"(necessiteu ser operador del canal)" + +#: src/common/outbound.c:2810 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEVOICE <sobrenom>, treu l'estatus de veu al sobrenom indicat (necessiteu " +"ser operador del canal)" + +#: src/common/outbound.c:2811 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Finalitza la connexió amb el servidor" + +#: src/common/outbound.c:2812 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <sobrenom|màquina|ip>, Cerca l'adreça IP d'un usuari" + +#: src/common/outbound.c:2813 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, Escriu el text localment" + +#: src/common/outbound.c:2816 +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] <ordre>, executa l'ordre. Si useu l'argument -o s'enviarà la " +"sortida cap al canal actual, si no es mostrarà a la finestra de text actual" + +#: src/common/outbound.c:2818 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, envia un senyal SIGCONT al procés" + +#: src/common/outbound.c:2821 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" +"EXECKILL [-9], mata un procés que s'estigui executant en la sessió actual. " +"Si s'empreu -9 el senyal serà SIGKILL" + +#: src/common/outbound.c:2823 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, envia un senyal SIGSTOP al procés" + +#: src/common/outbound.c:2824 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, envia dades als processos en stdin (entrada estàndard)" + +#: src/common/outbound.c:2828 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, neteja la cua d'enviaments al servidor actual" + +#: src/common/outbound.c:2830 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" +"GATE <màquina> [<port>], usa el servidor intermedi indicat, el port per " +"omissió és el 23" + +#: src/common/outbound.c:2836 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" +"HOP <sobrenom>, dóna l'estatus d'operador de canal a l'usuari indicat " +"(necessiteu ser operador del canal)" + +#: src/common/outbound.c:2837 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <contrasenya>, us identificarà al servidor de sobrenoms nickserv" + +#: src/common/outbound.c:2839 +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 <màscara> <tipus..> <opcions..>\n" +" màscara - màscara de la màquina a ignorar, p.ex: *!*@*.pooles.rima-tde." +"net\n" +" tipus - tipus de les dades a ignorar, una de les següents o totes " +"(«ALL»):\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI\n" +" opcions - NOSAVE, QUIET" + +#: src/common/outbound.c:2846 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" +"INVITE <sobrenom> [<canal>], convida l'usuari indicat a un canal, per " +"omissió al canal actual (necessiteu ser operador del canal)" + +#: src/common/outbound.c:2847 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <canal>, entra al canal" + +#: src/common/outbound.c:2849 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "" +"KICK <sobrenom>, fa fora l'usuari indicat del canal actual (necessiteu ser " +"operador del canal)" + +#: src/common/outbound.c:2851 +msgid "" +"KICKBAN <nick>, bans then kicks the nick from the current channel (needs " +"chanop)" +msgstr "" +"KICKBAN <sobrenom>, bandeja l'usuari indicat després de fer-lo fora del " +"canal (necessiteu ser operador del canal)" + +#: src/common/outbound.c:2854 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, força una nova comprovació del retard" + +#: src/common/outbound.c:2856 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <cadena>, cerca una cadena de text en el buffer" + +#: src/common/outbound.c:2858 +msgid "LOAD <file>, loads a plugin or script" +msgstr "LOAD <fitxer>, carrega un connector o script" + +#: src/common/outbound.c:2861 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" +"MDEHOP, Treu l'estatus a tots els semi-operadors del canal en el canal " +"actual (necessiteu ser operador del canal)" + +#: src/common/outbound.c:2863 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" +"MDEOP, Treu l'estatus a tots els operadors del canal en el canal actual " +"(necessiteu ser operador del canal)" + +#: src/common/outbound.c:2865 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in " +"the 3rd person, like /me jumps)" +msgstr "" +"ME <acció>, anuncia una acció al canal actual (les accions s'escriuen en " +"tercera persona, com ara /me salta d'alegria)" + +#: src/common/outbound.c:2867 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" +"MKICK, Fa fora tots els usuaris del canal actual (necessiteu ser operador " +"del canal)" + +#: src/common/outbound.c:2870 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" +"MOP, Dóna l'estatus d'operador a tots els usuaris en el canal actual " +"(necessiteu ser operador del canal)" + +#: src/common/outbound.c:2871 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <sobrenom> <missatge>, envia un missatge privat" + +#: src/common/outbound.c:2874 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, Llista els usuaris que hi ha al canal actual" + +#: src/common/outbound.c:2876 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <sobrenom> <missatge>, Envia un avís per CTCP" + +#: src/common/outbound.c:2877 +msgid "NEWSERVER <hostname> [<port>]" +msgstr "NEWSERVER <nom_màquina> [<port>]" + +#: src/common/outbound.c:2878 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <sobrenom>, canvia el vostre sobrenom" + +#: src/common/outbound.c:2881 +msgid "" +"NOTICE <nick/channel> <message>, sends a notice. Notices are a type of " +"message that should be auto reacted to" +msgstr "" +"NOTICE <sobrenom/canal> <missatge>, envia una avís. Els avisos són uns tipus " +"de missatge que no haurien de generar respostes automàtiques" + +#: src/common/outbound.c:2883 +msgid "NOTIFY [<nick>], lists your notify list or adds someone to it" +msgstr "NOTIFY [<sobrenom>], mostra la llista de notificacions o hi afegeix algú" + +#: src/common/outbound.c:2885 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" +"OP <sobrenom>, dóna l'estatus d'operador del canal a l'usuari (necessiteu " +"ser operador del canal)" + +#: src/common/outbound.c:2887 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<canal>] [<motiu>], deixa el canal, per omissió l'actual" + +#: src/common/outbound.c:2889 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <sobrenom | canal>, envia un ping CTCP a l'usuari o canal indicat" + +#: src/common/outbound.c:2891 +msgid "QUERY <nick>, opens up a new privmsg window to someone" +msgstr "" +"QUERY <sobrenom>, obre una finestra nova de missatges privats per a algú" + +#: src/common/outbound.c:2893 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<motiu>], finalitza la connexió amb el servidor actual" + +#: src/common/outbound.c:2895 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <text>, envia el text «en cru» cap al servidor" + +#: src/common/outbound.c:2898 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /" +"RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" +"RECONENCT [-ssl] [<sistema>] [<port>] [<contrasenya>], Pot invocar-se sols " +"amb /RECONNECT per així reconnectar-se al servidor actual o amb /RECONNECT " +"ALL per a reconnectar-se a tots els servidors oberts" + +#: src/common/outbound.c:2901 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" +"RECONENCT [<sistema>] [<port>] [<contrasenya>], Pot invocar-se sols amb /" +"RECONNECT per així reconnectar-se al servidor actual o amb /RECONNECT ALL " +"per a reconnectar-se a tots els servidors oberts" + +#: src/common/outbound.c:2903 +msgid "" +"RECV <text>, send raw data to xchat, as if it was received from the irc " +"server" +msgstr "" +"RECV <text>, envia dades «en brut» a l'X-Chat, com si foren rebudes des del " +"servidor IRC" + +#: src/common/outbound.c:2906 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>, envia el text a l'objecte a la finestra actual" + +#: src/common/outbound.c:2909 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <màquina> <port> <canal>, connecta i entra en un canal" + +#: src/common/outbound.c:2912 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <màquina> <port> <canal>, connecta i entra en un canal" + +#: src/common/outbound.c:2916 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" +"SERVER [-ssl] <màquina> [<port>] [<contrasenya>], connecta amb un servidor, " +"el port per omissió per a connexions normals és el 6667, i el 9999 per a " +"connexions ssl" + +#: src/common/outbound.c:2919 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" +"SERVER <màquina> [<port>] [<contrasenya>], connecta amb un servidor, el port " +"per omissió és el 6667" + +#: src/common/outbound.c:2921 +msgid "SET [-quiet] <variable> [<value>]" +msgstr "SET [-quiet] <variable> [<valor>]" + +#: src/common/outbound.c:2922 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<posició>" + +#: src/common/outbound.c:2926 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<tema>], estableix o mostra el tema del canal actual" + +#: src/common/outbound.c:2928 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <màscara> [<màscara>...], readmet els usuaris indicats al canal." + +#: src/common/outbound.c:2929 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <màscara> [QUIET]" + +#: src/common/outbound.c:2930 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <fitxer>, desactiva un connector o script" + +#: src/common/outbound.c:2931 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, obre una URL en el navegador" + +#: src/common/outbound.c:2934 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" +"VOICE <sobrenom>, dóna l'estatus de veu a algú (necessiteu ser operador del " +"canal)" + +#: src/common/outbound.c:2936 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <missatge>, escriu un missatge a tots els canals" + +#: src/common/outbound.c:2938 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" +"WALLCHOP <missatge>, envia un missatge a tots els operadors del canal actual" + +#: src/common/outbound.c:2971 +#, c-format +msgid "Usage: %s\n" +msgstr "Sintaxi: %s\n" + +#: src/common/outbound.c:2976 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"No hi ha ajuda disponible per a aquesta ordre.\n" + +#: src/common/outbound.c:2982 +msgid "No such command.\n" +msgstr "No existeix tal ordre.\n" + +#: src/common/outbound.c:3306 +msgid "Bad arguments for user command.\n" +msgstr "Els arguments per a l'ordre d'usuari no són vàlids.\n" + +#: src/common/outbound.c:3470 +msgid "Too many recursive usercommands, aborting." +msgstr "Massa ordres d'usuari recursives, s'avorta." + +#: src/common/outbound.c:3547 +msgid "Unknown Command. Try /help\n" +msgstr "Ordre desconeguda. Proveu /help\n" + +#: src/common/plugin.c:371 src/common/plugin.c:412 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "" +"No hi ha cap símbol xchat_plugin_init; esteu segur que aquest és un " +"connector per a l'xchat?" + +#: src/common/server.c:596 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "" +"Esteu segur que aquest servidor permet l'ús d'SSL i el port és correcte?\n" + +#: src/common/server.c:947 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"No s'ha pogut resoldre el nom de la màquina %s\n" +"Comproveu la vostra configuració IP\n" + +#: src/common/server.c:952 +msgid "Proxy traversal failed.\n" +msgstr "Ha fallat la connexió amb el servidor intermediari.\n" + +#: src/common/servlist.c:639 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Passant al següent servidor de %s...\n" + +#: src/common/servlist.c:1052 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" +"Atenció: El joc de caràcters «%s» és desconegut. No es farà cap conversió " +"per la xarxa %s." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 ha estat afegit a la llista de notificació." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Llista de bandejats: %C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tNo podeu entrar a%C26 %B$1 %O(heu estat bandejat)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 ara és conegut com a $2" + +#: src/common/textevents.h:21 +msgid "%C18*$t$1%O $2" +msgstr "%C18*$t$1%O $2" + +#: src/common/textevents.h:24 +msgid "%C21*%O$t%C21%B$1%O%C21 $2" +msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 ha bandejat $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tCanal $1 creat el $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O treu l'estatus de semi-operador del canal a%C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O treu l'estatus d'operador del canal a%C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O treu l'estatus de veu a%C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 dóna l'estatus d'exempt a $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O dóna l'estatus de semi-operador del canal a%C26 $2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 dóna l'estatus de convidat a $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UCanal Usuaris Tema" + +#: src/common/textevents.h:54 +msgid "%C18%B%B$4$1%O%C18%O$t$2" +msgstr "%C18%B%B$4$1%O%C18%O$t$2" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 assigna el mode $2$3 a $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Canal $1 modes: $2" + +#: src/common/textevents.h:63 +msgid "$4%C21%B$1%O$t%C21$2" +msgstr "$4%C21%B$1%O$t%C21$2" + +#: src/common/textevents.h:66 +msgid "%C28-%C29$1/$2%C28-%O$t$3" +msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O dóna l'estatus d'operador del canal%C26 a $2" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 treu l'estatus d'exempt a $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 treu l'estatus de convidat a $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 elimina la contrasenya del canal" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 elimina el límit d'usuaris" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 defineix la contrasenya del canal com a $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 estableix el límit d'usuaris del canal en $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 treu l'estatus de bandejat a $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O dóna l'estatus de veu a%C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Connectat. S'està iniciant la sessió..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "" +"%C22*%O$t%C22Connectant amb $1 ($2) al port $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Ha fallat la connexió. Error: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tS'ha rebut un CTCP $1 de $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tS'ha rebut una connexió CTCP $1 de $2 (per a $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tS'ha rebut un so CTCP $1 de $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tS'ha rebut un so CTCP $1 de $2 (per a $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "" +"%C22*%O$tXat DCC amb %C26$1%O avortat." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "" +"%C22*%O$tS'ha establert una connexió de xat DCC amb %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "" +"%C22*%O$tS'ha interromput el xat directe (DCC Chat) amb %C26$1%O. ($4)" + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tS'ha rebut una oferta de xat directe (DCC CHAT) de $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tS'ha ofert un xat directe (DCC CHAT) a $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tJa s'ha ofert un xat directe (DCC CHAT) a $1" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "" +"%C22*%O$tL'intent de connexió DCC $1 amb%C26 $2%O ha fallat (error=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tS'ha rebut un «$1%O» de $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Tipus Per a/De Estat Mida Pos Fitxer " + +#: src/common/textevents.h:147 +msgid "" +"%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O" +"$tContents of packet: $2" +msgstr "" +"%C22*%O$tS'ha rebut una petició DCC mal formada de %C26$1%O.%010%C22*%O" +"$tContingut del paquet: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tS'està oferint%C26 $1%O a%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tNo existeix tal oferta DCC." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "" +"%C22*%O$tS'ha avortat la recepció del fitxer %C26 $2%O a %C26 $1%O." + +#: src/common/textevents.h:159 +msgid "" +"%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "" +"%C22*%O$tS'ha completat la recepció del fitxer%C26 $1%O de%C26 $3%O %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "" +"%C22*%O$tConnexió DCC RECV establerta amb%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tLa recepció del fitxer%C26 $1%O de%C26 $3%O ha fallat ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "" +"%C22*%O$tRecepció DCC: No s'ha pogut obrir $1 amb permís d'escriptura " +"($2)." + +#: src/common/textevents.h:171 +msgid "" +"%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "" +"%C22*%O$tEl fitxer%C26 $1%C ja existeix, es desarà com a%C26 $2%O." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "" +"%C22*%O$t%C26$1 %Oha demanat reprendre la recepció de%C26 $2 %Cdes de %" +"C26 $3%C." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tL'enviament DCC%C26 $2%O a%C26 $1%O ha estat avortat." + +#: src/common/textevents.h:180 +msgid "" +"%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "" +"%C22*%O$tL'enviament DCC%C26 $1%O a%C26 $2%O s'ha completat %C30[%" +"C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "" +"%C22*%O$tS'ha establert una connexió DCC SEND amb%C26 $1 %C30[%O$2%" +"C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tL'enviament DCC%C26 $1%O a%C26 $2%O ha fallat. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "" +"%C22*%O$t%C26$1 %Ous ha ofert el fitxer%C26 $2 %O(%C26$3 %Coctets)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cencallat - avortant." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "" +"%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Oha excedit el temps d'espera - " +"avortant." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 ha estat eliminat de la llista de notificació." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tDesconnectat ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tS'ha trobat la vostra IP: [$1]" + +#: src/common/textevents.h:207 +msgid "$1$t$2" +msgstr "$1$t$2" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O s'ha afegit a la llista d'usuaris ignorats." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "L'estatus d'usuari ignorat de %C26$1%O ha canviat." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Màquina PRIV NOTI CAN CTCP DCC CONV NOIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O ha estat eliminat de la llista d'usuaris ignorats." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " La llista d'usuaris ignorats és buida." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "" +"%C22*%O$tNo podeu entrar a%C26 %B$1 %O(És un canal només per a " +"convidats)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tHeu estat convidat a%C26 $1%O per %C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) ha entrat a $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "" +"%C22*%O$tNo podeu entrar a%C26 %B$1 %O(Necessiteu una contrasenya)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 ha fet fora a $2 de $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tUs ha matat $1 ($2%O%C22)" + +#: src/common/textevents.h:246 +msgid "%C19>%O$1%C19<%O$t$2%O" +msgstr "%C19>%O$1%C19<%O$t$2%O" + +#: src/common/textevents.h:249 +msgid "%C16*%O$t$1%O" +msgstr "%C16*%O$t$1%O" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22S'ha omès el missatge del dia." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 ja està agafat. S'està reintentant amb $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "" +"%C22*%O$tEl sobrenom ja està agafat. Useu l'ordre /NICK per a provar-" +"ho amb un altre." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tNo existeix tal connexió DCC." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tNo hi ha cap procés executant-se en aquests moments" + +#: src/common/textevents.h:267 +msgid "%C28-%C29$1%C28-%O$t$2" +msgstr "%C28-%C29$1%C28-%O$t$2" + +#: src/common/textevents.h:270 +msgid "%C19>%O$1%C19<%O$t$2" +msgstr "%C19>%O$1%C19<%O$t$2" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tLa llista de notificació està buida." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Llista de notificació " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 usuari(s) a la llista de notificació." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($2)." +msgstr "%C22*%O$tNotificació: $1 no està connectat ($2)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($2)." +msgstr "%C22*%O$tNotificació: $1 està en línia ($2)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) ha deixat $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23$4)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) ha deixat $3 (%O%C23$4)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tResposta al ping des de $1: $2 segon(s)" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "" +"%C22*%O$tPing sense resposta després de $1 seconds, desconnectant." + +#: src/common/textevents.h:303 +msgid "%C28*%C29$3$1%C28*$t%O$2" +msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#: src/common/textevents.h:306 +msgid "%C18%B%B$3$1%O$t$2" +msgstr "%C18%B%B$3$1%O$t$2" + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tJa hi ha un procés en execució" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23$2)" +msgstr "%C23*%O$t%C23$1 s'ha desconectat (%O%C23$2)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 estableix els modes%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Missatge als operadors%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tS'està cercant l'adreça IP de%C26 $1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Connectat." + +#: src/common/textevents.h:327 src/common/textevents.h:333 +#: src/common/textevents.h:336 +msgid "%C22*%O$t$1" +msgstr "%C22*%O$t$1" + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22S'està resolent $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tS'ha aturat l'anterior intent de connexió (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29El tema de $1%C %C29és: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 ha canviat el tema a: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "" +"%C29*%O$t%C29El tema de $1%C %C29ha estat establert per $2%C %C29el $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tMàquina desconeguda. Potser l'heu escrita malament?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "" +"%C22*%O$tNo podeu entrar a%C26 %B$1 %O(S'ha assolit el límit " +"d'usuaris)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Usuaris a $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Ces troba absent %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OFinal de la llista WHOIS." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O inactiu%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, entrada:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "" +"%C22*%O$t%C28[%O$1%C28] %Ousuari@màquina real%C27 $2%O, IP real IP%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Ara esteu parlant a $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tHeu estat expulsat de $2 per $3 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tHeu deixat el canal $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23$4%O%C23)" +msgstr "%C23*$tHeu deixat el canal $3 (%O%C23$4%O%C23)" + +#: src/common/textevents.h:405 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tHeu convidat%C26 $1%O a%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:408 +msgid "%C31%B%B$4$1%O%C30$t$2" +msgstr "%C31%B%B$4$1%O%C30$t$2" + +#: src/common/textevents.h:411 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tAra sou conegut com a $2" + +#: src/common/text.c:61 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** FINAL DEL REGISTRE A %s\n" + +#: src/common/text.c:179 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** INICI EL REGISTRE A %s\n" + +#ESTIC AQUÍ +#: src/common/text.c:198 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* No s'ha(n) pogut obrir el(s) fitxer(s) de registre amb permís\n" +" d'escriptura. Reviseu els permisos de %s/xchatlogs" + +#: src/common/text.c:413 +msgid "Left message" +msgstr "Missatge de l'esquerra" + +#: src/common/text.c:414 +msgid "Right message" +msgstr "Missatge de la dreta" + +#: src/common/text.c:418 +msgid "The nick of the joining person" +msgstr "Sobrenom de la persona que entra" + +#: src/common/text.c:419 +msgid "The channel being joined" +msgstr "Canal al qual s'entra" + +#: src/common/text.c:420 src/common/text.c:465 src/common/text.c:522 +msgid "The host of the person" +msgstr "Màquina de la persona" + +#: src/common/text.c:424 src/common/text.c:429 src/common/text.c:436 +#: src/common/text.c:503 src/common/text.c:629 src/common/text.c:636 +#: src/common/text.c:641 src/common/text.c:646 src/common/text.c:651 +#: src/common/text.c:657 src/common/text.c:662 src/common/text.c:666 +#: src/common/text.c:672 src/common/text.c:678 src/common/text.c:724 +#: src/common/text.c:733 src/common/text.c:738 src/common/text.c:743 +#: src/common/text.c:752 src/common/text.c:763 src/common/text.c:770 +#: src/common/text.c:776 src/common/text.c:781 src/common/text.c:786 +#: src/common/text.c:793 src/common/text.c:799 src/common/text.c:805 +#: src/common/text.c:810 src/common/text.c:815 src/common/text.c:819 +#: src/common/text.c:825 src/common/text.c:833 src/common/text.c:867 +#: src/common/text.c:872 +msgid "Nickname" +msgstr "Sobrenom" + +#: src/common/text.c:425 +msgid "The action" +msgstr "Acció" + +#: src/common/text.c:430 +msgid "The text" +msgstr "Text" + +#: src/common/text.c:431 +msgid "Mode char" +msgstr "Caràcter de mode" + +#: src/common/text.c:432 src/common/text.c:505 +msgid "Identified text" +msgstr "Text identificat" + +#: src/common/text.c:437 src/common/text.c:493 src/common/text.c:499 +#: src/common/text.c:504 +msgid "The message" +msgstr "Missatge" + +#: src/common/text.c:441 src/common/text.c:509 +msgid "Old nickname" +msgstr "Sobrenom antic" + +#: src/common/text.c:442 src/common/text.c:510 +msgid "New nickname" +msgstr "Sobrenom nou" + +#: src/common/text.c:446 +msgid "Nick of person who changed the topic" +msgstr "Sobrenom de la persona que ha canviat el tema" + +#: src/common/text.c:447 src/common/text.c:453 src/fe-gtk/chanlist.c:599 +#: src/fe-gtk/chanlist.c:700 +msgid "Topic" +msgstr "Tema" + +#: src/common/text.c:448 src/common/text.c:452 src/common/text.c:887 +#: src/fe-gtk/chanlist.c:597 src/fe-gtk/chanlist.c:691 +#: src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Canal" + +#: src/common/text.c:457 src/common/text.c:516 +msgid "The nickname of the kicker" +msgstr "Sobrenom de qui l'ha fet fora" + +#: src/common/text.c:458 src/common/text.c:514 +msgid "The person being kicked" +msgstr "Persona expulsada" + +#: src/common/text.c:459 src/common/text.c:466 src/common/text.c:470 +#: src/common/text.c:475 src/common/text.c:515 src/common/text.c:523 +#: src/common/text.c:530 +msgid "The channel" +msgstr "Canal" + +#: src/common/text.c:460 src/common/text.c:517 src/common/text.c:524 +msgid "The reason" +msgstr "Motiu" + +#: src/common/text.c:464 src/common/text.c:521 +msgid "The nick of the person leaving" +msgstr "Sobrenom de la persona que surt" + +#: src/common/text.c:471 src/common/text.c:477 +msgid "The time" +msgstr "Hora" + +#: src/common/text.c:476 +msgid "The creator" +msgstr "Creador" + +#: src/common/text.c:481 +msgid "Nick" +msgstr "Sobrenom" + +#: src/common/text.c:482 src/common/text.c:739 +msgid "Reason" +msgstr "Motiu" + +#: src/common/text.c:483 src/common/text.c:631 src/common/text.c:714 +msgid "Host" +msgstr "Màquina" + +#: src/common/text.c:487 src/common/text.c:492 src/common/text.c:497 +msgid "Who it's from" +msgstr "De qui prové" + +#: src/common/text.c:488 +msgid "The time in x.x format (see below)" +msgstr "Hora en format x.x (vegeu més avall)" + +#: src/common/text.c:498 src/common/text.c:541 +msgid "The Channel it's going to" +msgstr "Canal de destinació" + +#: src/common/text.c:528 +msgid "The sound" +msgstr "So" + +#: src/common/text.c:529 src/common/text.c:535 src/common/text.c:540 +msgid "The nick of the person" +msgstr "Sobrenom de la persona" + +#: src/common/text.c:534 src/common/text.c:539 +msgid "The CTCP event" +msgstr "Esdeveniment CTCP" + +#: src/common/text.c:545 +msgid "The nick of the person who set the key" +msgstr "Sobrenom de la persona que estableix la contrasenya" + +#: src/common/text.c:546 +msgid "The key" +msgstr "La contrasenya" + +#: src/common/text.c:550 +msgid "The nick of the person who set the limit" +msgstr "El sobrenom de la persona que estableix el límit" + +#: src/common/text.c:551 +msgid "The limit" +msgstr "Límit" + +#: src/common/text.c:555 +msgid "The nick of the person who did the op'ing" +msgstr "Sobrenom de la persona que dóna l'estatus d'operador" + +#: src/common/text.c:556 +msgid "The nick of the person who has been op'ed" +msgstr "Sobrenom de la persona a qui s'ha fet operador" + +#: src/common/text.c:560 +msgid "The nick of the person who has been halfop'ed" +msgstr "Sobrenom de la persona a qui s'ha fet semi-operador" + +#: src/common/text.c:561 +msgid "The nick of the person who did the halfop'ing" +msgstr "Sobrenom de la persona que dóna l'estatus de semi-operador" + +#: src/common/text.c:565 +msgid "The nick of the person who did the voice'ing" +msgstr "Sobrenom de la persona que dóna l'estatus de veu" + +#: src/common/text.c:566 +msgid "The nick of the person who has been voice'ed" +msgstr "Sobrenom de la persona a qui s'ha donat veu" + +#: src/common/text.c:570 +msgid "The nick of the person who did the banning" +msgstr "Sobrenom de la persona que dóna l'estatus de bandejat" + +#: src/common/text.c:571 src/common/text.c:598 +msgid "The ban mask" +msgstr "Màscara d'usuaris bandejats" + +#: src/common/text.c:575 +msgid "The nick who removed the key" +msgstr "Sobrenom de qui ha eliminat la contrasenya" + +#: src/common/text.c:579 +msgid "The nick who removed the limit" +msgstr "Sobrenom de qui ha eliminat el límit" + +#: src/common/text.c:583 +msgid "The nick of the person of did the deop'ing" +msgstr "Sobrenom de la persona que ha tret l'estatus d'operador" + +#: src/common/text.c:584 +msgid "The nick of the person who has been deop'ed" +msgstr "Sobrenom de la persona a qui s'ha tret l'estatus d'operador" + +#: src/common/text.c:587 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Sobrenom de la persona que ha tret l'estatus de semi-operador" + +#: src/common/text.c:588 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Sobrenom de la persona a qui s'ha tret l'estatus de semi-operador" + +#: src/common/text.c:592 +msgid "The nick of the person of did the devoice'ing" +msgstr "Sobrenom de la persona que ha tret l'estatus de veu" + +#: src/common/text.c:593 +msgid "The nick of the person who has been devoice'ed" +msgstr "Sobrenom de la persona a qui s'ha tret l'estatus de veu" + +#: src/common/text.c:597 +msgid "The nick of the person of did the unban'ing" +msgstr "Sobrenom de la persona que ha tret l'estatus de bandejat" + +#: src/common/text.c:602 +msgid "The nick of the person who did the exempt" +msgstr "Sobrenom de la persona que dóna l'estatus d'exempt" + +#: src/common/text.c:603 src/common/text.c:608 +msgid "The exempt mask" +msgstr "Màscara d'usuaris als quals es dóna l'estatus d'exempt" + +#: src/common/text.c:607 +msgid "The nick of the person removed the exempt" +msgstr "Sobrenom de la persona a qui s'ha eliminat la exempció" + +#: src/common/text.c:612 +msgid "The nick of the person who did the invite" +msgstr "Sobrenom de la persona que dóna l'estatus de convidat" + +#: src/common/text.c:613 src/common/text.c:618 +msgid "The invite mask" +msgstr "Màscara de convidats" + +#: src/common/text.c:617 +msgid "The nick of the person removed the invite" +msgstr "Sobrenom de la persona que ha tret l'estatus de convidat" + +#: src/common/text.c:622 +msgid "The nick of the person setting the mode" +msgstr "Sobrenom de la persona que estableix el mode" + +#: src/common/text.c:623 +msgid "The mode's sign (+/-)" +msgstr "Senyal del mode (+/-)" + +#: src/common/text.c:624 +msgid "The mode letter" +msgstr "Lletra del mode" + +#: src/common/text.c:625 +msgid "The channel it's being set on" +msgstr "Canal al qual s'estableix" + +#: src/common/text.c:630 +msgid "Username" +msgstr "Nom d'usuari" + +#: src/common/text.c:632 +msgid "Full name" +msgstr "Nom complet" + +#: src/common/text.c:637 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Membre del canal/\"és un operador IRC\"" + +#: src/common/text.c:642 +msgid "Server Information" +msgstr "Informació del servidor" + +#: src/common/text.c:647 src/common/text.c:652 +msgid "Idle time" +msgstr "Temps inactiu" + +#: src/common/text.c:653 +msgid "Signon time" +msgstr "Temps d'accés" + +#: src/common/text.c:658 +msgid "Away reason" +msgstr "Motiu de l'absència" + +#: src/common/text.c:667 src/common/text.c:673 src/common/text.c:681 +#: src/common/text.c:859 +msgid "Message" +msgstr "Missatge" + +#: src/common/text.c:674 +msgid "Account" +msgstr "Compte" + +#: src/common/text.c:679 +msgid "Real user@host" +msgstr "usuari@màquina real" + +#: src/common/text.c:680 +msgid "Real IP" +msgstr "IP real" + +#: src/common/text.c:685 src/common/text.c:694 src/common/text.c:700 +#: src/common/text.c:882 +msgid "Channel Name" +msgstr "Nom del canal" + +#: src/common/text.c:689 src/common/text.c:845 src/fe-gtk/textgui.c:338 +msgid "Text" +msgstr "Text" + +#: src/common/text.c:690 src/common/text.c:696 src/common/text.c:883 +msgid "Server Name" +msgstr "Nom del servidor" + +#: src/common/text.c:695 +msgid "Nick of person who invited you" +msgstr "Sobrenom de la persona que us ha convidat" + +#: src/common/text.c:701 src/fe-gtk/chanlist.c:598 +msgid "Users" +msgstr "Usuaris" + +#: src/common/text.c:705 +msgid "Nickname in use" +msgstr "Sobrenom en ús" + +#: src/common/text.c:706 +msgid "Nick being tried" +msgstr "Provant el sobrenom escollit" + +#: src/common/text.c:710 src/common/text.c:746 src/common/text.c:757 +#: src/common/text.c:764 src/common/text.c:777 src/common/text.c:794 +#: src/common/text.c:894 src/common/util.c:352 +msgid "Error" +msgstr "Error" + +#: src/common/text.c:715 src/common/text.c:849 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:716 src/common/text.c:745 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:720 +msgid "PID" +msgstr "PID" + +#: src/common/text.c:728 +msgid "Channel name" +msgstr "Nom del canal" + +#: src/common/text.c:729 src/common/text.c:734 +msgid "Modes string" +msgstr "Cadena de modes" + +#: src/common/text.c:744 src/common/text.c:782 src/common/text.c:787 +#: src/common/text.c:828 +msgid "IP address" +msgstr "Adreça IP" + +#: src/common/text.c:750 src/common/text.c:775 +msgid "DCC Type" +msgstr "Tipus de DCC" + +#: src/common/text.c:751 src/common/text.c:756 src/common/text.c:761 +#: src/common/text.c:768 src/common/text.c:788 src/common/text.c:792 +#: src/common/text.c:798 src/common/text.c:804 src/common/text.c:811 +#: src/common/text.c:820 src/common/text.c:826 +msgid "Filename" +msgstr "Nom del fitxer" + +#: src/common/text.c:762 src/common/text.c:769 +msgid "Destination filename" +msgstr "Nom del fitxer de destí" + +#: src/common/text.c:771 src/common/text.c:800 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:806 +msgid "Pathname" +msgstr "Ubicació" + +#: src/common/text.c:821 src/fe-gtk/dccgui.c:550 src/fe-gtk/dccgui.c:720 +msgid "Position" +msgstr "Posició" + +#: src/common/text.c:827 src/fe-gtk/dccgui.c:549 src/fe-gtk/dccgui.c:719 +msgid "Size" +msgstr "Mida" + +#: src/common/text.c:832 +msgid "DCC String" +msgstr "Cadena DCC" + +#: src/common/text.c:837 +msgid "Number of notify items" +msgstr "Nombre d'elements notificats" + +#: src/common/text.c:841 +msgid "Servername" +msgstr "Nom del servidor" + +#: src/common/text.c:853 +msgid "Old Filename" +msgstr "Nom del fitxer antic" + +#: src/common/text.c:854 +msgid "New Filename" +msgstr "Nom del fitxer nou" + +#: src/common/text.c:858 +msgid "Receiver" +msgstr "Receptor" + +#: src/common/text.c:863 +msgid "Hostmask" +msgstr "Màscara de la màquina" + +#: src/common/text.c:868 +msgid "Hostname" +msgstr "Nom de la màquina" + +#: src/common/text.c:873 +msgid "The Packet" +msgstr "Paquet" + +#: src/common/text.c:877 +msgid "Seconds" +msgstr "Segons" + +#: src/common/text.c:881 +msgid "Nick of person who have been invited" +msgstr "Sobrenom de la persona que ha estat convidada" + +#: src/common/text.c:888 +msgid "Banmask" +msgstr "Màscara d'usuaris bandejats" + +#: src/common/text.c:889 +msgid "Who set the ban" +msgstr "Qui ha establert el bandejament" + +#: src/common/text.c:890 +msgid "Ban time" +msgstr "Duració del bandejament" + +#: src/common/text.c:930 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Error en analitzar l'esdeveniment %s.\n" +"Es carrega el predeterminat." + +#: src/common/text.c:1583 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"No s'ha pogut llegir el fitxer de so:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "La màquina remota ha tancat la connexió" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Connexió refusada" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "No hi ha cap ruta cap a la màquina" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "S'ha excedit el temps d'espera" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "No s'ha pogut assignar aquesta adreça" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Connexió reiniciada des de l'altre costat" + +#: src/common/util.c:821 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:822 +msgid "United Arab Emirates" +msgstr "Emirats Àrabs Units" + +#: src/common/util.c:823 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:824 +msgid "Antigua and Barbuda" +msgstr "Antigua i Barbuda" + +#: src/common/util.c:825 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:826 +msgid "Albania" +msgstr "Albània" + +#: src/common/util.c:827 +msgid "Armenia" +msgstr "Armènia" + +#: src/common/util.c:828 +msgid "Netherlands Antilles" +msgstr "Antilles Holandeses" + +#: src/common/util.c:829 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:830 +msgid "Antarctica" +msgstr "Antàrtida" + +#: src/common/util.c:831 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:832 +msgid "Reverse DNS" +msgstr "DNS invers" + +#: src/common/util.c:833 +msgid "American Samoa" +msgstr "Samoa Americana" + +#: src/common/util.c:834 +msgid "Austria" +msgstr "Àustria" + +#: src/common/util.c:835 +msgid "Nato Fiel" +msgstr "Camp de l'OTAN" + +#: src/common/util.c:836 +msgid "Australia" +msgstr "Austràlia" + +#: src/common/util.c:837 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:838 +msgid "Azerbaijan" +msgstr "Azerbaitjan" + +#: src/common/util.c:839 +msgid "Bosnia and Herzegovina" +msgstr "Bòsnia i Hercegovina" + +#: src/common/util.c:840 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:841 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:842 +msgid "Belgium" +msgstr "Bèlgica" + +#: src/common/util.c:843 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:844 +msgid "Bulgaria" +msgstr "Bulgària" + +#: src/common/util.c:845 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:846 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:847 +msgid "Businesses" +msgstr "Negocis" + +#: src/common/util.c:848 +msgid "Benin" +msgstr "Benín" + +#: src/common/util.c:849 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:850 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:851 +msgid "Bolivia" +msgstr "Bolívia" + +#: src/common/util.c:852 +msgid "Brazil" +msgstr "Brasil" + +#: src/common/util.c:853 +msgid "Bahamas" +msgstr "Bahames" + +#: src/common/util.c:854 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:855 +msgid "Bouvet Island" +msgstr "Illa Bouvet" + +#: src/common/util.c:856 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:857 +msgid "Belarus" +msgstr "Bielorússia" + +#: src/common/util.c:858 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:859 +msgid "Canada" +msgstr "Canadà" + +#: src/common/util.c:860 +msgid "Cocos Islands" +msgstr "Illes Cocos" + +#: src/common/util.c:861 +msgid "Democratic Republic of Congo" +msgstr "República Democràtica del Congo" + +#: src/common/util.c:862 +msgid "Central African Republic" +msgstr "República Centreafricana" + +#: src/common/util.c:863 +msgid "Congo" +msgstr "Congo" + +#: src/common/util.c:864 +msgid "Switzerland" +msgstr "Suïssa" + +#: src/common/util.c:865 +msgid "Cote d'Ivoire" +msgstr "Costa d'Ivori" + +#: src/common/util.c:866 +msgid "Cook Islands" +msgstr "Illes Cook" + +#: src/common/util.c:867 +msgid "Chile" +msgstr "Xile" + +#: src/common/util.c:868 +msgid "Cameroon" +msgstr "Camerun" + +#: src/common/util.c:869 +msgid "China" +msgstr "Xina" + +#: src/common/util.c:870 +msgid "Colombia" +msgstr "Colòmbia" + +#: src/common/util.c:871 +msgid "Internic Commercial" +msgstr "Internic Comercial" + +#: src/common/util.c:872 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:873 +msgid "Serbia and Montenegro" +msgstr "Sèrbia i Montenegro" + +#: src/common/util.c:874 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:875 +msgid "Cape Verde" +msgstr "Cap Verd" + +#: src/common/util.c:876 +msgid "Christmas Island" +msgstr "Illa Christmas" + +#: src/common/util.c:877 +msgid "Cyprus" +msgstr "Xipre" + +#: src/common/util.c:878 +msgid "Czech Republic" +msgstr "República Txeca" + +#: src/common/util.c:879 +msgid "Germany" +msgstr "Alemanya" + +#: src/common/util.c:880 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:881 +msgid "Denmark" +msgstr "Dinamarca" + +#: src/common/util.c:882 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:883 +msgid "Dominican Republic" +msgstr "República Dominicana" + +#: src/common/util.c:884 +msgid "Algeria" +msgstr "Algèria" + +#: src/common/util.c:885 +msgid "Ecuador" +msgstr "Equador" + +#: src/common/util.c:886 +msgid "Educational Institution" +msgstr "Institució educativa" + +#: src/common/util.c:887 +msgid "Estonia" +msgstr "Estònia" + +#: src/common/util.c:888 +msgid "Egypt" +msgstr "Egipte" + +#: src/common/util.c:889 +msgid "Western Sahara" +msgstr "Sàhara Occidental" + +#: src/common/util.c:890 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:891 +msgid "Spain" +msgstr "Espanya" + +#: src/common/util.c:892 +msgid "Ethiopia" +msgstr "Etiòpia" + +#: src/common/util.c:893 +msgid "Finland" +msgstr "Finlàndia" + +#: src/common/util.c:894 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:895 +msgid "Falkland Islands" +msgstr "Illes Malvines" + +#: src/common/util.c:896 +msgid "Micronesia" +msgstr "Micronèsia" + +#: src/common/util.c:897 +msgid "Faroe Islands" +msgstr "Illes Faroe" + +#: src/common/util.c:898 +msgid "France" +msgstr "França" + +#: src/common/util.c:899 +msgid "France, Metropolitan" +msgstr "França, Metropolitana" + +#: src/common/util.c:900 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:901 +msgid "Great Britain" +msgstr "Gran Bretanya" + +#: src/common/util.c:902 +msgid "Grenada" +msgstr "Granada" + +#: src/common/util.c:903 +msgid "Georgia" +msgstr "Geòrgia" + +#: src/common/util.c:904 +msgid "French Guiana" +msgstr "Guaiana Francesa" + +#: src/common/util.c:905 +msgid "British Channel Isles" +msgstr "Illes del Canal Britànic" + +#: src/common/util.c:906 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:907 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:908 +msgid "Greenland" +msgstr "Groenlàndia" + +#: src/common/util.c:909 +msgid "Gambia" +msgstr "Gàmbia" + +#: src/common/util.c:910 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:911 +msgid "Government" +msgstr "Institució governamental" + +#: src/common/util.c:912 +msgid "Guadeloupe" +msgstr "Guadalupe" + +#: src/common/util.c:913 +msgid "Equatorial Guinea" +msgstr "Guinea Equatorial" + +#: src/common/util.c:914 +msgid "Greece" +msgstr "Grècia" + +#: src/common/util.c:915 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Illes Geòrgia del Sud i Sandwich del Sud" + +#: src/common/util.c:916 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:917 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:918 +msgid "Guinea-Bissau" +msgstr "Guinea Bissau" + +#: src/common/util.c:919 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:920 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:921 +msgid "Heard and McDonald Islands" +msgstr "Illes Heard i McDonald" + +#: src/common/util.c:922 +msgid "Honduras" +msgstr "Hondures" + +#: src/common/util.c:923 +msgid "Croatia" +msgstr "Croàcia" + +#: src/common/util.c:924 +msgid "Haiti" +msgstr "Haití" + +#: src/common/util.c:925 +msgid "Hungary" +msgstr "Hongria" + +#: src/common/util.c:926 +msgid "Indonesia" +msgstr "Indonèsia" + +#: src/common/util.c:927 +msgid "Ireland" +msgstr "Irlanda" + +#: src/common/util.c:928 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:929 +msgid "India" +msgstr "Índia" + +#: src/common/util.c:930 +msgid "Informational" +msgstr "Informatiu" + +#: src/common/util.c:931 +msgid "International" +msgstr "Internacional" + +#: src/common/util.c:932 +msgid "British Indian Ocean Territory" +msgstr "Territori Britànic de l'Oceà Índic" + +#: src/common/util.c:933 +msgid "Iraq" +msgstr "Iraq" + +#: src/common/util.c:934 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:935 +msgid "Iceland" +msgstr "Islàndia" + +#: src/common/util.c:936 +msgid "Italy" +msgstr "Itàlia" + +#: src/common/util.c:937 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:938 +msgid "Jordan" +msgstr "Jordània" + +#: src/common/util.c:939 +msgid "Japan" +msgstr "Japó" + +#: src/common/util.c:940 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:941 +msgid "Kyrgyzstan" +msgstr "Kyrgyzstan" + +#: src/common/util.c:942 +msgid "Cambodia" +msgstr "Cambodja" + +#: src/common/util.c:943 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:944 +msgid "Comoros" +msgstr "Comoros" + +#: src/common/util.c:945 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts i Nevis" + +#: src/common/util.c:946 +msgid "North Korea" +msgstr "Corea del Nord" + +#: src/common/util.c:947 +msgid "South Korea" +msgstr "Corea del Sud" + +#: src/common/util.c:948 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:949 +msgid "Cayman Islands" +msgstr "Illes Caiman" + +#: src/common/util.c:950 +msgid "Kazakhstan" +msgstr "Kazakhstan" + +#: src/common/util.c:951 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:952 +msgid "Lebanon" +msgstr "Líban" + +#: src/common/util.c:953 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:954 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:955 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:956 +msgid "Liberia" +msgstr "Libèria" + +#: src/common/util.c:957 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:958 +msgid "Lithuania" +msgstr "Lituània" + +#: src/common/util.c:959 +msgid "Luxembourg" +msgstr "Luxemburg" + +#: src/common/util.c:960 +msgid "Latvia" +msgstr "Letònia" + +#: src/common/util.c:961 +msgid "Libya" +msgstr "Líbia" + +#: src/common/util.c:962 +msgid "Morocco" +msgstr "Marroc" + +#: src/common/util.c:963 +msgid "Monaco" +msgstr "Mónaco" + +#: src/common/util.c:964 +msgid "Moldova" +msgstr "Moldàvia" + +#: src/common/util.c:965 +msgid "United States Medical" +msgstr "Servei mèdic dels Estats Units" + +#: src/common/util.c:966 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:967 +msgid "Marshall Islands" +msgstr "Illes Marshall" + +#: src/common/util.c:968 +msgid "Military" +msgstr "Institució militar" + +#: src/common/util.c:969 +msgid "Macedonia" +msgstr "Macedònia" + +#: src/common/util.c:970 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:971 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:972 +msgid "Mongolia" +msgstr "Mongòlia" + +#: src/common/util.c:973 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:974 +msgid "Northern Mariana Islands" +msgstr "Illes Marianes del Nord" + +#: src/common/util.c:975 +msgid "Martinique" +msgstr "Martinica" + +#: src/common/util.c:976 +msgid "Mauritania" +msgstr "Mauritània" + +#: src/common/util.c:977 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:978 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:979 +msgid "Mauritius" +msgstr "Maurici" + +#: src/common/util.c:980 +msgid "Maldives" +msgstr "Maldives" + +#: src/common/util.c:981 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:982 +msgid "Mexico" +msgstr "Mèxic" + +#: src/common/util.c:983 +msgid "Malaysia" +msgstr "Malàisia" + +#: src/common/util.c:984 +msgid "Mozambique" +msgstr "Moçambic" + +#: src/common/util.c:985 +msgid "Namibia" +msgstr "Namíbia" + +#: src/common/util.c:986 +msgid "New Caledonia" +msgstr "Nova Caledònia" + +#: src/common/util.c:987 +msgid "Niger" +msgstr "Níger" + +#: src/common/util.c:988 +msgid "Internic Network" +msgstr "Xarxa Internic" + +#: src/common/util.c:989 +msgid "Norfolk Island" +msgstr "Illes Norfolk" + +#: src/common/util.c:990 +msgid "Nigeria" +msgstr "Nigèria" + +#: src/common/util.c:991 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:992 +msgid "Netherlands" +msgstr "Països Baixos" + +#: src/common/util.c:993 +msgid "Norway" +msgstr "Noruega" + +#: src/common/util.c:994 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:995 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:996 +msgid "Neutral Zone" +msgstr "Zona neutral" + +#: src/common/util.c:997 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:998 +msgid "New Zealand" +msgstr "Nova Zelanda" + +#: src/common/util.c:999 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:1000 +msgid "Internic Non-Profit Organization" +msgstr "Organització Internic sense ànim de lucre" + +#: src/common/util.c:1001 +msgid "Panama" +msgstr "Panamà" + +#: src/common/util.c:1002 +msgid "Peru" +msgstr "Perú" + +#: src/common/util.c:1003 +msgid "French Polynesia" +msgstr "Polinèsia Francesa" + +#: src/common/util.c:1004 +msgid "Papua New Guinea" +msgstr "Papua Nova Guinea" + +#: src/common/util.c:1005 +msgid "Philippines" +msgstr "Filipines" + +#: src/common/util.c:1006 +msgid "Pakistan" +msgstr "Paquistan" + +#: src/common/util.c:1007 +msgid "Poland" +msgstr "Polònia" + +#: src/common/util.c:1008 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre i Miquelon" + +#: src/common/util.c:1009 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:1010 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:1011 +msgid "Palestinian Territory" +msgstr "Palestina" + +#: src/common/util.c:1012 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:1013 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:1014 +msgid "Paraguay" +msgstr "Paraguai" + +#: src/common/util.c:1015 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:1016 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:1017 +msgid "Romania" +msgstr "Romania" + +#: src/common/util.c:1018 +msgid "Old School ARPAnet" +msgstr "ARPAnet de l'antiga escola" + +#: src/common/util.c:1019 +msgid "Russian Federation" +msgstr "Rússia" + +#: src/common/util.c:1020 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:1021 +msgid "Saudi Arabia" +msgstr "Aràbia Saudita" + +#: src/common/util.c:1022 +msgid "Solomon Islands" +msgstr "Illes Salomó" + +#: src/common/util.c:1023 +msgid "Seychelles" +msgstr "Seychelles" + +#: src/common/util.c:1024 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:1025 +msgid "Sweden" +msgstr "Suècia" + +#: src/common/util.c:1026 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:1027 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:1028 +msgid "Slovenia" +msgstr "Eslovènia" + +#: src/common/util.c:1029 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Illes Svalbard i Jan Mayen" + +#: src/common/util.c:1030 +msgid "Slovak Republic" +msgstr "República Eslovaca" + +#: src/common/util.c:1031 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:1032 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:1033 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:1034 +msgid "Somalia" +msgstr "Somàlia" + +#: src/common/util.c:1035 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:1036 +msgid "Sao Tome and Principe" +msgstr "Sao Tomé i Príncipe" + +#: src/common/util.c:1037 +msgid "Former USSR" +msgstr "Antiga URSS" + +#: src/common/util.c:1038 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:1039 +msgid "Syria" +msgstr "Síria" + +#: src/common/util.c:1040 +msgid "Swaziland" +msgstr "Swazilàndia" + +#: src/common/util.c:1041 +msgid "Turks and Caicos Islands" +msgstr "Illes Turks i Caicos" + +#: src/common/util.c:1042 +msgid "Chad" +msgstr "Txad" + +#: src/common/util.c:1043 +msgid "French Southern Territories" +msgstr "Territoris Francesos del Sud" + +#: src/common/util.c:1044 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:1045 +msgid "Thailand" +msgstr "Tailàndia" + +#: src/common/util.c:1046 +msgid "Tajikistan" +msgstr "Tadjikistan" + +#: src/common/util.c:1047 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1048 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:1049 +msgid "Tunisia" +msgstr "Tunísia" + +#: src/common/util.c:1050 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:1051 +msgid "East Timor" +msgstr "Timor Oriental" + +#: src/common/util.c:1052 +msgid "Turkey" +msgstr "Turquia" + +#: src/common/util.c:1053 +msgid "Trinidad and Tobago" +msgstr "Trinitat i Tobago" + +#: src/common/util.c:1054 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1055 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:1056 +msgid "Tanzania" +msgstr "Tanzània" + +#: src/common/util.c:1057 +msgid "Ukraine" +msgstr "Ucraïna" + +#: src/common/util.c:1058 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:1059 +msgid "United Kingdom" +msgstr "Regne Unit" + +#: src/common/util.c:1060 +msgid "US Minor Outlying Islands" +msgstr "Illes Perifèriques Menors dels EUA" + +#: src/common/util.c:1061 +msgid "United States of America" +msgstr "Estats Units d'Amèrica" + +#: src/common/util.c:1062 +msgid "Uruguay" +msgstr "Uruguai" + +#: src/common/util.c:1063 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:1064 +msgid "Vatican City State" +msgstr "Ciutat Estat del Vaticà" + +#: src/common/util.c:1065 +msgid "St. Vincent and the Grenadines" +msgstr "St. Vincent i les Granadines" + +#: src/common/util.c:1066 +msgid "Venezuela" +msgstr "Veneçuela" + +#: src/common/util.c:1067 +msgid "British Virgin Islands" +msgstr "Illes Verge Britàniques" + +#: src/common/util.c:1068 +msgid "US Virgin Islands" +msgstr "Illes Verge Americanes" + +#: src/common/util.c:1069 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:1070 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1071 +msgid "Wallis and Futuna Islands" +msgstr "Illes Wallis i Futuna" + +#: src/common/util.c:1072 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1073 +msgid "Yemen" +msgstr "Iemen" + +#: src/common/util.c:1074 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:1075 +msgid "Yugoslavia" +msgstr "Iugoslàvia" + +#: src/common/util.c:1076 +msgid "South Africa" +msgstr "Sud-àfrica" + +#: src/common/util.c:1077 +msgid "Zambia" +msgstr "Zàmbia" + +#: src/common/util.c:1078 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/util.c:1088 src/common/util.c:1098 src/fe-gtk/menu.c:490 +#: src/fe-gtk/menu.c:494 src/fe-gtk/menu.c:498 src/fe-gtk/menu.c:502 +#: src/fe-gtk/menu.c:511 src/fe-gtk/menu.c:517 +msgid "Unknown" +msgstr "Desconegut" + +#: src/common/xchat.c:860 +msgid "Direct client-to-client" +msgstr "Directe Client-a-Client" + +#: src/common/xchat.c:861 +msgid "Send File" +msgstr "Envia un fitxer" + +#: src/common/xchat.c:862 +msgid "Offer Chat" +msgstr "Ofereix un xat" + +#: src/common/xchat.c:863 +msgid "Abort Chat" +msgstr "Avorta el xat" + +#: src/common/xchat.c:864 src/fe-gtk/plugingui.c:73 +msgid "Version" +msgstr "Versió" + +#: src/common/xchat.c:865 +msgid "Userinfo" +msgstr "Informació de l'usuari" + +#: src/common/xchat.c:866 +msgid "Clientinfo" +msgstr "Informació del client" + +#: src/common/xchat.c:867 src/common/xchat.c:901 src/common/xchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:868 +msgid "Time" +msgstr "Hora" + +#: src/common/xchat.c:869 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:870 +msgid "Oper" +msgstr "Operador" + +#: src/common/xchat.c:871 +msgid "Kill this user" +msgstr "Mata aquest usuari" + +#: src/common/xchat.c:872 +msgid "Mode" +msgstr "Mode" + +#: src/common/xchat.c:873 +msgid "Give Ops" +msgstr "Dóna l'estatus d'operador" + +#: src/common/xchat.c:874 +msgid "Take Ops" +msgstr "Treu l'estatus d'operador" + +#: src/common/xchat.c:875 +msgid "Give Half-Ops" +msgstr "Dóna l'estatus de semi-operador" + +#: src/common/xchat.c:876 +msgid "Take Half-Ops" +msgstr "Treu l'estatus de semi-operador" + +#: src/common/xchat.c:877 +msgid "Give Voice" +msgstr "Dóna l'estatus de veu" + +#: src/common/xchat.c:878 +msgid "Take Voice" +msgstr "Treu l'estatus de veu" + +#: src/common/xchat.c:879 +msgid "Ignore" +msgstr "Ignora" + +#: src/common/xchat.c:880 +msgid "Ignore User" +msgstr "Ignora l'usuari" + +#: src/common/xchat.c:881 +msgid "UnIgnore User" +msgstr "Deixa d'ignorar l'usuari" + +#: src/common/xchat.c:882 +msgid "Kick/Ban" +msgstr "Fes fora/Bandeja" + +#: src/common/xchat.c:883 src/common/xchat.c:935 +msgid "Kick" +msgstr "Fes fora" + +#: src/common/xchat.c:884 src/common/xchat.c:885 src/common/xchat.c:886 +#: src/common/xchat.c:887 src/common/xchat.c:888 src/common/xchat.c:934 +msgid "Ban" +msgstr "Bandeja" + +#: src/common/xchat.c:889 src/common/xchat.c:890 src/common/xchat.c:891 +#: src/common/xchat.c:892 +msgid "KickBan" +msgstr "Fes fora i bandeja" + +#: src/common/xchat.c:893 src/fe-gtk/dccgui.c:597 src/fe-gtk/dccgui.c:755 +msgid "Info" +msgstr "Informació" + +#: src/common/xchat.c:894 +msgid "Who" +msgstr "Qui" + +#: src/common/xchat.c:895 src/common/xchat.c:948 +msgid "WhoIs" +msgstr "WhoIs (Qui és?)" + +#: src/common/xchat.c:896 +msgid "DNS Lookup" +msgstr "Consulta DNS" + +#: src/common/xchat.c:897 +msgid "Trace" +msgstr "Traça" + +#: src/common/xchat.c:898 +msgid "UserHost" +msgstr "UsuariMàquina" + +#: src/common/xchat.c:899 +msgid "External" +msgstr "Extern" + +#: src/common/xchat.c:900 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:902 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:903 +msgid "Open Dialog Window" +msgstr "Obre una finestra de diàleg" + +#: src/common/xchat.c:915 +msgid "Disconnect" +msgstr "Desconnecta" + +#: src/common/xchat.c:916 +msgid "Reconnect" +msgstr "Torna a connectar" + +#: src/common/xchat.c:917 +msgid "Leave Channel" +msgstr "Deixa el canal" + +#: src/common/xchat.c:918 +msgid "Join Channel..." +msgstr "Entra al canal..." + +#: src/common/xchat.c:919 +msgid "Enter Channel to Join:" +msgstr "Introduïu el canal on entrar:" + +#: src/common/xchat.c:920 +msgid "Server Links" +msgstr "Enllaços del servidor" + +#: src/common/xchat.c:921 +msgid "Ping Server" +msgstr "Ping al servidor" + +#: src/common/xchat.c:922 +msgid "Hide Version" +msgstr "Oculta la versió" + +#: src/common/xchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/xchat.c:936 +msgid "bye" +msgstr "adéu" + +#: src/common/xchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Introduïu el motiu per a fer fora a %s:" + +#: src/common/xchat.c:938 +msgid "Sendfile" +msgstr "Envia fitxer" + +#: src/common/xchat.c:939 +msgid "Dialog" +msgstr "Diàleg" + +#: src/common/xchat.c:949 +msgid "Send" +msgstr "Envia" + +#: src/common/xchat.c:950 +msgid "Chat" +msgstr "Xat" + +#: src/common/xchat.c:951 src/fe-gtk/banlist.c:319 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/search.c:117 src/fe-gtk/urlgrab.c:200 +msgid "Clear" +msgstr "Neteja" + +#: src/fe-gtk/about.c:102 +msgid "About X-Chat" +msgstr "Quant a l'X-Chat" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "Un client d'IRC multiplataforma" + +#: src/fe-gtk/ascii.c:131 +msgid "Character Chart" +msgstr "Taula de caràcters" + +#: src/fe-gtk/banlist.c:153 src/fe-gtk/banlist.c:237 +msgid "You must select some bans." +msgstr "Heu de seleccionar algun usuari bandejat." + +#: src/fe-gtk/banlist.c:253 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Màscara" + +#: src/fe-gtk/banlist.c:254 src/fe-gtk/dccgui.c:552 +msgid "From" +msgstr "Per" + +#: src/fe-gtk/banlist.c:255 +msgid "Date" +msgstr "Data" + +#: src/fe-gtk/banlist.c:299 +#, c-format +msgid "X-Chat: Ban List (%s)" +msgstr "X-Chat: Llista d'usuaris bandejats (%s)" + +#: src/fe-gtk/banlist.c:315 +msgid "Unban" +msgstr "Readmet" + +#: src/fe-gtk/banlist.c:317 +msgid "Crop" +msgstr "Escurça" + +#: src/fe-gtk/banlist.c:321 +msgid "Refresh" +msgstr "Refresca" + +#: src/fe-gtk/chanlist.c:120 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "Estadístiques d'usuaris i canals: %d/%d usuaris en %d/%d canals" + +#: src/fe-gtk/chanlist.c:536 +msgid "I can't save an empty list!" +msgstr "No podeu desar una llista buida!" + +#: src/fe-gtk/chanlist.c:539 src/fe-gtk/menu.c:925 +msgid "Select an output filename" +msgstr "Seleccioneu un nom de fitxer" + +#: src/fe-gtk/chanlist.c:607 +#, c-format +msgid "X-Chat: Channel List (%s)" +msgstr "X-Chat: Llista de canals (%s)" + +#: src/fe-gtk/chanlist.c:622 +msgid "List display options:" +msgstr "Opcions de visualització:" + +#: src/fe-gtk/chanlist.c:634 +msgid "Minimum Users:" +msgstr "Mínim d'usuaris:" + +#: src/fe-gtk/chanlist.c:649 +msgid "Maximum Users:" +msgstr "Màxim d'usuaris:" + +#: src/fe-gtk/chanlist.c:664 +msgid "Regex Match:" +msgstr "Filtra amb l'expressió regular:" + +#: src/fe-gtk/chanlist.c:685 +msgid "Apply Match to:" +msgstr "Aplica la coincidència a:" + +#: src/fe-gtk/chanlist.c:709 +msgid "Apply" +msgstr "Aplica" + +#: src/fe-gtk/chanlist.c:751 +msgid "Refresh the list" +msgstr "Refresca la llista" + +#: src/fe-gtk/chanlist.c:753 +msgid "Save the list" +msgstr "Desa la llista" + +#: src/fe-gtk/chanlist.c:755 src/fe-gtk/menu.c:722 +msgid "Join Channel" +msgstr "Entra al canal" + +#: src/fe-gtk/dccgui.c:127 +#, c-format +msgid "Send file to %s" +msgstr "Envia un fitxer a %s" + +#: src/fe-gtk/dccgui.c:353 +msgid "None" +msgstr "Cap" + +#: src/fe-gtk/dccgui.c:364 +msgid "File:" +msgstr "Fitxer:" + +#: src/fe-gtk/dccgui.c:365 +msgid "From:" +msgstr "De:" + +#: src/fe-gtk/dccgui.c:365 +msgid "To:" +msgstr "A:" + +#: src/fe-gtk/dccgui.c:366 +msgid "Size:" +msgstr "Mida:" + +#: src/fe-gtk/dccgui.c:367 +msgid "Address:" +msgstr "Adreça:" + +#: src/fe-gtk/dccgui.c:368 +msgid "Started:" +msgstr "Inici:" + +#: src/fe-gtk/dccgui.c:369 +msgid "Speed limit:" +msgstr "Limitació de velocitat:" + +#: src/fe-gtk/dccgui.c:394 +msgid "That file is not resumable." +msgstr "La transferència d'aquest fitxer no es pot reprendre." + +#: src/fe-gtk/dccgui.c:398 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"No s'ha pogut accedir al fitxer: %s\n" +"%s.\n" +"No es pot continuar." + +#: src/fe-gtk/dccgui.c:405 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" +"El fitxer del directori de recepcions és més gran que el fitxer ofert. No es " +"pot continuar." + +#: src/fe-gtk/dccgui.c:409 +msgid "Cannot resume the same file from two people." +msgstr "" +"No es pot reprendre la recepció del mateix fitxer des de dues persones " +"diferents." + +#: src/fe-gtk/dccgui.c:541 +msgid "MIME Type" +msgstr "Tipus MIME" + +#: src/fe-gtk/dccgui.c:547 src/fe-gtk/dccgui.c:717 src/fe-gtk/dccgui.c:860 +#: src/fe-gtk/notifygui.c:110 +msgid "Status" +msgstr "Estat" + +#: src/fe-gtk/dccgui.c:548 src/fe-gtk/dccgui.c:718 src/fe-gtk/plugingui.c:74 +msgid "File" +msgstr "Fitxer" + +#: src/fe-gtk/dccgui.c:551 src/fe-gtk/dccgui.c:722 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:561 +msgid "X-Chat: File Receive List" +msgstr "X-Chat: Llista de fitxers rebuts" + +#: src/fe-gtk/dccgui.c:591 src/fe-gtk/dccgui.c:754 src/fe-gtk/dccgui.c:892 +msgid "Abort" +msgstr "Avorta" + +#: src/fe-gtk/dccgui.c:593 src/fe-gtk/dccgui.c:893 +msgid "Accept" +msgstr "Accepta" + +#: src/fe-gtk/dccgui.c:595 +msgid "Resume" +msgstr "Reprèn" + +#: src/fe-gtk/dccgui.c:599 +msgid "Open" +msgstr "Obre" + +#: src/fe-gtk/dccgui.c:721 +msgid "Ack" +msgstr "Rebut" + +#: src/fe-gtk/dccgui.c:723 +msgid "To" +msgstr "A" + +#: src/fe-gtk/dccgui.c:733 +msgid "X-Chat: File Send List" +msgstr "X-Chat: Llista de fitxers enviats" + +#: src/fe-gtk/dccgui.c:861 +msgid "To/From" +msgstr "A/De" + +#: src/fe-gtk/dccgui.c:862 +msgid "Recv" +msgstr "Rebut" + +#: src/fe-gtk/dccgui.c:863 +msgid "Sent" +msgstr "Enviat" + +#: src/fe-gtk/dccgui.c:864 +msgid "StartTime" +msgstr "Hora d'inici" + +#: src/fe-gtk/dccgui.c:874 +msgid "X-Chat: DCC Chat List" +msgstr "X-Chat: Llista de xats DCC" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*NOU*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "EDITA'M" + +#: src/fe-gtk/editlist.c:305 src/fe-gtk/plugingui.c:72 +msgid "Name" +msgstr "Nom" + +#: src/fe-gtk/editlist.c:306 +msgid "Command" +msgstr "Ordre" + +#: src/fe-gtk/editlist.c:333 +msgid "Move Up" +msgstr "Mou amunt" + +#: src/fe-gtk/editlist.c:337 +msgid "Move Dn" +msgstr "Mou avall" + +#: src/fe-gtk/editlist.c:345 +msgid "Cancel" +msgstr "Cancel·la" + +#: src/fe-gtk/editlist.c:349 src/fe-gtk/textgui.c:413 src/fe-gtk/urlgrab.c:204 +msgid "Save" +msgstr "Desa" + +#: src/fe-gtk/editlist.c:357 +msgid "Add New" +msgstr "Afegeix" + +#: src/fe-gtk/editlist.c:361 src/fe-gtk/fkeys.c:752 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Esborra" + +#: src/fe-gtk/editlist.c:369 +msgid "Sort" +msgstr "Ordena" + +#: src/fe-gtk/editlist.c:373 +msgid "Help" +msgstr "Ajuda" + +#: src/fe-gtk/fe-gtk.c:170 +msgid "Options" +msgstr "Opcions" + +#: src/fe-gtk/fe-gtk.c:171 +msgid "don't auto connect" +msgstr "no et connectis automàticament als servidors" + +#: src/fe-gtk/fe-gtk.c:172 +msgid "DIRECTORY" +msgstr "DIRECTORI" + +#: src/fe-gtk/fe-gtk.c:173 +msgid "use a different config dir" +msgstr "useu un directori de configuració diferent" + +#: src/fe-gtk/fe-gtk.c:174 +msgid "don't auto load any plugins" +msgstr "no carreguis automàticament els connectors" + +#: src/fe-gtk/fe-gtk.c:175 +msgid "show plugin auto-load dir" +msgstr "mostra el directori de càrrega automàtica de connectors" + +#: src/fe-gtk/fe-gtk.c:176 +msgid "show user config dir" +msgstr "mostra el directori de configuració de l'usuari" + +#: src/fe-gtk/fe-gtk.c:177 +msgid "show version information" +msgstr "mostra informació de la versió" + +#: src/fe-gtk/fe-gtk.c:262 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"No s'ha pogut obrir el tipus de lletra:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:622 +msgid "Search buffer is empty.\n" +msgstr "El buffer de cerca està buit.\n" + +#: src/fe-gtk/fe-gtk.c:699 +#, c-format +msgid "%d bytes" +msgstr "%d octets" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into " +"the entry box where you pressed the key sequence. Thus it can contain text " +"(which will be sent to the channel/person), commands or user commands. When " +"run all \\n characters in Data 1 are used to deliminate seperate commands so " +"it is possible to run more than one command. If you want a \\ in the actual " +"text run then enter \\\\" +msgstr "" +"L'acció ^BRun Command^B executa les dades de Dades 1 com si les haguessiu " +"escrit a la línia d'entrada on heu escrit la seqüència de tecles. Pot " +"contenir text (que s'enviarà al canal/persona), ordres, o ordres d'usuari. " +"Durant l'execució tots els caràcters ^B\\n^B de Dades 1 s'utilitzen per " +"delimitar diferents ordres, de manera que se'n pot executar més d'una. Si " +"voleu escriure un signe ^B\\^B en el text heu d'escriure ^B\\\\^B" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1 " +"to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position" +msgstr "" +"L'ordre ^BChange Page^B passa una pàgina a la llibreta. Poseu a Dades 1 la " +"pàgina a la qual voleu anar. Si Dades 2 no està en blanc el canvi de pàgina " +"serà relatiu a la posició actual" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" +"L'ordre ^BInsert in Buffer^B insereix el contingut de Dades 1 en el lloc on " +"hagueu escrit la seqüència de tecles a la posició del cursor" + +#: src/fe-gtk/fkeys.c:161 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one " +"line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "" +"L'ordre ^BScroll Page^B desplaça l'objecte de text una pàgina (o una línia) " +"amunt o avall. Definiu Dades 1 com a «Up» (amunt), «Down» (avall), +1 o -1." + +#: src/fe-gtk/fkeys.c:163 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered to " +"the contents of Data 1" +msgstr "" +"L'ordre ^BSet Buffer^B col·loca el contingut de Dades 1 a l'objecte on heu " +"premut la seqüència de tecles" + +#: src/fe-gtk/fkeys.c:165 +msgid "" +"The Last Command command sets the entry to contain the last command entered " +"- the same as pressing up in a shell" +msgstr "" +"L'ordre ^BLast Command^B col·loca l'última ordre executada a la línia - " +"igual que prémer la fletxa amunt a la shell" + +#: src/fe-gtk/fkeys.c:167 +msgid "" +"The Next Command command sets the entry to contain the next command entered " +"- the same as pressing down in a shell" +msgstr "" +"L'ordre ^BNext Command^B col·loca la següent ordre a la línia - igual que " +"prémer la fletxa avall a la shell" + +#: src/fe-gtk/fkeys.c:169 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the " +"last nick, not the next" +msgstr "" +"Aquesta ordre canvia el text de la línia per a completar un sobrenom o ordre " +"incompleta. Si Dades 1 no està en blanc una doble tabulació seleccionarà " +"l'anterior sobrenom i no el següent" + +#: src/fe-gtk/fkeys.c:171 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set " +"to anything it will scroll up, else it scrolls down" +msgstr "" +"Aquesta ordre desplaça amunt o avall la llista de sobrenoms. Si Dades 1 està " +"en blanc es desplaçarà avall, i en cas contrari, amunt" + +#: src/fe-gtk/fkeys.c:173 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" +"Aquesta ordre cerca l'última paraula escrita a la llista de substitucions i " +"la substitueix en cas de trobar-la" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command moves the front tab left by one" +msgstr "Aquesta ordre mou la pestanya davantera una posició cap a l'esquerra" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command moves the front tab right by one" +msgstr "Aquesta ordre mou la pestanya davantera una posició cap a la dreta" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the current tab family to the left" +msgstr "Aquesta ordre mou el conjunt de pestanyes actual cap a l'esquerra" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the current tab family to the right" +msgstr "Aquesta ordre mou el conjunt de pestanyes actual cap a la dreta" + +#: src/fe-gtk/fkeys.c:183 +msgid "Push input line into history but doesn't send to server" +msgstr "Introdueix la línia a l'historial però no l'envia al servidor" + +#: src/fe-gtk/fkeys.c:195 +msgid "There was an error loading key bindings configuration" +msgstr "Hi ha hagut un error en carregar la configuració dels vincles de tecla" + +#: src/fe-gtk/fkeys.c:440 src/fe-gtk/fkeys.c:441 src/fe-gtk/fkeys.c:442 +#: src/fe-gtk/fkeys.c:443 src/fe-gtk/fkeys.c:725 src/fe-gtk/fkeys.c:731 +#: src/fe-gtk/fkeys.c:736 src/fe-gtk/maingui.c:943 src/fe-gtk/maingui.c:959 +#: src/fe-gtk/maingui.c:1102 src/fe-gtk/maingui.c:1197 +#: src/fe-gtk/maingui.c:2618 +msgid "<none>" +msgstr "<cap>" + +#: src/fe-gtk/fkeys.c:689 +msgid "Mod" +msgstr "Modificador" + +# Contrasenya per als canals protegits per contrasenya (dpm) +# Aquí està parlant de tecles (eac) +#: src/fe-gtk/fkeys.c:690 src/fe-gtk/fkeys.c:785 +msgid "Key" +msgstr "Tecla" + +#: src/fe-gtk/fkeys.c:691 +msgid "Action" +msgstr "Acció" + +#: src/fe-gtk/fkeys.c:700 +msgid "X-Chat: Keyboard Shortcuts" +msgstr "X-Chat: Vincles de tecla" + +#: src/fe-gtk/fkeys.c:747 +msgid "Add new" +msgstr "Afegeix" + +# la paraula 'shift' va impresa a la tecla +#: src/fe-gtk/fkeys.c:778 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:780 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:782 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:789 +msgid "Data 1" +msgstr "Dades 1" + +#: src/fe-gtk/fkeys.c:792 +msgid "Data 2" +msgstr "Dades 2" + +#: src/fe-gtk/fkeys.c:835 +msgid "Error opening keys config file\n" +msgstr "" +"Error en obrir el fitxer de configuració del teclat\n" +"\n" + +#: src/fe-gtk/fkeys.c:1006 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Nom de tecla «%s» desconegut en el fitxer de configuració\n" +"de vincles de tecla. S'avorta la càrrega, si us plau\n" +"reviseu %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1044 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Acció «%s» desconeguda en el fitxer de configuració\n" +"de vincles de tecla. S'avorta la càrrega, si us plau\n" +"reviseu %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1065 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"S'esperava una línia de Dades (començada per Dx{:|!}) però s'ha obtingut:\n" +"%s\n" +"\n" +"S'avorta la càrrega, si us plau, reviseu %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1134 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"El fitxer de configuració de vincles de tecla està malmès.\n" +"Si us plau, reviseu %s/keybindings.conf\n" +"\n" + +#: src/fe-gtk/gtkutil.c:154 +msgid "Cannot write to that file." +msgstr "No es pot escriure a aquest fitxer." + +#: src/fe-gtk/gtkutil.c:156 +msgid "Cannot read that file." +msgstr "Aquest fitxer no es pot llegir." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "Aquesta màscara ja existeix." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:1667 +msgid "Private" +msgstr "Privats" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Avisos" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Invitacions" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Deixa d'ignorar" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Introduïu una màscara a ignorar:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "X-Chat: Ignore list" +msgstr "X-Chat: Llista d'usuaris ignorats" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Estatus d'ignorat:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Canal:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Privats:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Avisos:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Invitacions:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:306 +msgid "Add" +msgstr "Afegeix" + +#: src/fe-gtk/maingui.c:350 +msgid "Dialog with" +msgstr "Diàleg amb" + +#: src/fe-gtk/maingui.c:606 +#, c-format +msgid "Topic for %s is: %s" +msgstr "El tema per a %s és: %s" + +#: src/fe-gtk/maingui.c:610 +msgid "No topic is set" +msgstr "No hi ha cap tema establert" + +#: src/fe-gtk/maingui.c:1012 +msgid "No other tabs open, quit xchat?" +msgstr "No hi ha més pestanyes obertes, voleu sortir de l'X-Chat?" + +#: src/fe-gtk/maingui.c:1058 +msgid "Insert color code" +msgstr "Inseriu el codi de color" + +#: src/fe-gtk/maingui.c:1107 +msgid "Beep on message" +msgstr "Avís sonor a cada missatge" + +#: src/fe-gtk/maingui.c:1110 +msgid "Show join/part messages" +msgstr "Mostra missatges d'entrada/sortida" + +#: src/fe-gtk/maingui.c:1112 +msgid "Color paste" +msgstr "Enganxa amb color" + +#: src/fe-gtk/maingui.c:1119 +msgid "Go to" +msgstr "Vés a" + +#: src/fe-gtk/maingui.c:1132 src/fe-gtk/menu.c:1252 +msgid "Close Tab" +msgstr "Tanca la pestanya" + +#: src/fe-gtk/maingui.c:1135 src/fe-gtk/menu.c:1405 +msgid "Detach Tab" +msgstr "Separa la pestanya" + +#: src/fe-gtk/maingui.c:1385 +msgid "Some file transfers still active, quit xchat?" +msgstr "" +"Encara hi ha transferències de fitxers actives, voleu sortir de l'X-Chat?" + +#: src/fe-gtk/maingui.c:1535 src/fe-gtk/maingui.c:1641 +msgid "User limit must be a number!\n" +msgstr "El límit d'usuaris ha de ser un número!\n" + +#: src/fe-gtk/maingui.c:1663 +msgid "Topic Protection" +msgstr "Protecció del tema" + +#: src/fe-gtk/maingui.c:1664 +msgid "No outside messages" +msgstr "Cap missatge de fora" + +#: src/fe-gtk/maingui.c:1665 +msgid "Secret" +msgstr "Secret" + +#: src/fe-gtk/maingui.c:1666 +msgid "Invite Only" +msgstr "Només convidats" + +#: src/fe-gtk/maingui.c:1668 +msgid "Moderated" +msgstr "Moderat" + +#: src/fe-gtk/maingui.c:1669 +msgid "Ban List" +msgstr "Llista de bandejats" + +# Contrasenya per als canals protegits per contrasenya (dpm) +#: src/fe-gtk/maingui.c:1671 +msgid "Keyword" +msgstr "Contrasenya" + +#: src/fe-gtk/maingui.c:1683 +msgid "User Limit" +msgstr "Límit d'usuaris" + +#: src/fe-gtk/maingui.c:1699 +msgid "Close this tab/window" +msgstr "Tanca aquesta pestanya/finestra" + +#: src/fe-gtk/maingui.c:1796 +msgid "Show/Hide userlist" +msgstr "Mostra/Oculta la llista d'usuaris" + +#: src/fe-gtk/maingui.c:1921 +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 "" +"No s'ha pogut fer transparent el fons!\n" +"\n" +"Potser esteu utilitzant un gestor de finestres\n" +"no compatible que no està soportat.\n" + +#: src/fe-gtk/maingui.c:2114 +msgid "Enter new nickname:" +msgstr "Introduïu el nou sobrenom:" + +#: src/fe-gtk/menu.c:116 +msgid "Host unknown" +msgstr "Màquina desconeguda" + +#: src/fe-gtk/menu.c:487 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:489 +msgid "User:" +msgstr "Usuari:" + +#: src/fe-gtk/menu.c:493 +msgid "Country:" +msgstr "País:" + +#: src/fe-gtk/menu.c:497 +msgid "Real Name:" +msgstr "Nom real:" + +#: src/fe-gtk/menu.c:501 +msgid "Server:" +msgstr "Servidor:" + +#: src/fe-gtk/menu.c:510 +msgid "Away Msg:" +msgstr "Missatge d'absència:" + +#: src/fe-gtk/menu.c:516 +msgid "Last Msg:" +msgstr "Últim missatge:" + +#: src/fe-gtk/menu.c:603 +msgid "Menu Bar" +msgstr "Barra de menú" + +#: src/fe-gtk/menu.c:604 +msgid "Topic Bar" +msgstr "Barra del tema" + +#: src/fe-gtk/menu.c:608 src/fe-gtk/setup.c:159 +msgid "User List" +msgstr "Llista d'usuaris" + +#: src/fe-gtk/menu.c:611 +msgid "Mode Buttons" +msgstr "Botons de mode" + +#: src/fe-gtk/menu.c:617 +msgid "User List Buttons" +msgstr "Botons de la llista d'usuaris" + +#: src/fe-gtk/menu.c:663 src/fe-gtk/urlgrab.c:202 +msgid "Copy selected URL" +msgstr "Copia l'URL seleccionat" + +#: src/fe-gtk/menu.c:726 +msgid "Part Channel" +msgstr "Deixa el canal" + +#: src/fe-gtk/menu.c:728 +msgid "Cycle Channel" +msgstr "Canvia de canal" + +#: src/fe-gtk/menu.c:751 +msgid "X-Chat: User menu" +msgstr "X-Chat: Menú d'usuari" + +#: src/fe-gtk/menu.c:760 +msgid "Edit This Menu..." +msgstr "Edita aquest menú..." + +#: src/fe-gtk/menu.c:867 +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 "" +"*ATENCIÓ*\n" +"Acceptar automàticament DCCs al vostre\n" +"directori personal pot ser perillós. P.ex:\n" +"Algú podria enviar-vos un .bash_profile" + +#: src/fe-gtk/menu.c:995 +msgid "Settings saved." +msgstr "S'ha desat la configuració." + +#: src/fe-gtk/menu.c:1032 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" +"Ordres d'usuari - Codis especials:\n" +"\n" +"%c = canal actual\n" +"%m = informació de la màquina\n" +"%n = el vostre sobrenom\n" +"%t = hora i data\n" +"%v = versió de l'xchat\n" +"%2 = paraula 2\n" +"%3 = paraula 3\n" +"&2 = paraula 2 fins a final de línia\n" +"&3 = paraula 3 fins a final de línia\n" +"\n" +"p.ex:\n" +"/cmd john hello\n" +"\n" +"%2 seria \"john\"\n" +"&2 seria \"john hello\"." + +#: src/fe-gtk/menu.c:1047 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Botons de la llista d'usuaris - Codis especials:\n" +"\n" +"%a = tots els sobrenoms seleccionats\n" +"%c = canal actual\n" +"%h = màquina del sobrenom seleccionat\n" +"%m = informació de la màquina\n" +"%n = el vostre sobrenom\n" +"%s = sobrenom seleccionat\n" +"%t = hora i data\n" + +#: src/fe-gtk/menu.c:1056 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Botons de diàleg - Codis especials:\n" +"\n" +"%a = tots els sobrenoms seleccionats\n" +"%c = canal actual\n" +"%h = màquina del sobrenom seleccionat\n" +"%m = informació de la màquina\n" +"%n = el vostre sobrenom\n" +"%s = sobrenom seleccionat\n" +"%t = hora i data\n" + +#: src/fe-gtk/menu.c:1065 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" +"Respostes CTCP - Codis especials:\n" +"\n" +"%d = dades (el CTCP sencer)\n" +"%m = informació de la màquina\n" +"%s = sobrenom de qui envia el ctcp\n" +"%t = hora i data\n" +"%2 = paraula 2\n" +"%3 = paraula 3\n" +"&2 = paraula 2 fins a final de línia\n" +"&3 = paraula 3 fins a final de línia\n" +"\n" + +#: src/fe-gtk/menu.c:1075 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of X-Chat" +msgstr "" +"Gestió d'URLs - Codis especials:\n" +"\n" +"%s = la cadena d'URL\n" +"\n" +"Poseu un ! al davant de l'ordre per\n" +"indicar que l'ha executar la shell" + +#: src/fe-gtk/menu.c:1084 +msgid "X-Chat: User Defined Commands" +msgstr "X-Chat: Ordres definides per l'usuari" + +#: src/fe-gtk/menu.c:1091 +msgid "X-Chat: Userlist Popup menu" +msgstr "X-Chat: Menú emergent de la llista d'usuaris" + +#: src/fe-gtk/menu.c:1098 +msgid "X-Chat: Replace" +msgstr "X-Chat: Substitueix" + +#: src/fe-gtk/menu.c:1105 +msgid "X-Chat: URL Handlers" +msgstr "X-Chat: Gestió d'URLs" + +#: src/fe-gtk/menu.c:1124 +msgid "X-Chat: Userlist buttons" +msgstr "X-Chat: Botons de la llista d'usuaris" + +#: src/fe-gtk/menu.c:1131 +msgid "X-Chat: Dialog buttons" +msgstr "X-Chat: Botons de diàleg" + +#: src/fe-gtk/menu.c:1138 +msgid "X-Chat: CTCP Replies" +msgstr "X-Chat: Respostes CTCP" + +#: src/fe-gtk/menu.c:1226 +msgid "_X-Chat" +msgstr "_X-Chat" + +#: src/fe-gtk/menu.c:1227 +msgid "Server List..." +msgstr "Llista de servidors..." + +#: src/fe-gtk/menu.c:1230 +msgid "New" +msgstr "Nou" + +#: src/fe-gtk/menu.c:1231 +msgid "Server Tab..." +msgstr "Pestanya de servidor..." + +#: src/fe-gtk/menu.c:1232 +msgid "Channel Tab..." +msgstr "Pestanya de canal..." + +#: src/fe-gtk/menu.c:1233 +msgid "Server Window..." +msgstr "Finestra de servidor..." + +#: src/fe-gtk/menu.c:1234 +msgid "Channel Window..." +msgstr "Finestra de canals..." + +#: src/fe-gtk/menu.c:1239 src/fe-gtk/menu.c:1241 +msgid "Load Plugin or Script..." +msgstr "Carrega un connector o script..." + +#: src/fe-gtk/menu.c:1245 +msgid "New Shell Tab..." +msgstr "Pestanya de shell nova..." + +#: src/fe-gtk/menu.c:1254 +msgid "Quit" +msgstr "Surt" + +#: src/fe-gtk/menu.c:1256 +msgid "_IRC" +msgstr "_IRC" + +#: src/fe-gtk/menu.c:1257 +msgid "Invisible" +msgstr "Invisible" + +#: src/fe-gtk/menu.c:1258 +msgid "Receive Wallops" +msgstr "Rep wallops" + +#: src/fe-gtk/menu.c:1259 +msgid "Receive Server Notices" +msgstr "Rep els avisos del servidor" + +#: src/fe-gtk/menu.c:1261 +msgid "Marked Away" +msgstr "Marca'm _absent" + +#: src/fe-gtk/menu.c:1263 +msgid "Auto Rejoin when Kicked" +msgstr "Reentra automàticament en cas d'expulsió" + +#: src/fe-gtk/menu.c:1264 +msgid "Auto Reconnect to Server" +msgstr "Reconnexió automàtica al servidor" + +#: src/fe-gtk/menu.c:1265 +msgid "Never-give-up ReConnect" +msgstr "Intents de reconnexió ad infinitum" + +#: src/fe-gtk/menu.c:1267 +msgid "Auto Open Dialog Windows" +msgstr "Obre finestres de diàleg automàticament" + +#: src/fe-gtk/menu.c:1268 +msgid "Auto Accept Direct Chat" +msgstr "Accepta automàticament xats DCC" + +#: src/fe-gtk/menu.c:1269 +msgid "Auto Accept Files" +msgstr "Accepta automàticament fitxers" + +#: src/fe-gtk/menu.c:1271 +msgid "_Server" +msgstr "_Servidor" + +#: src/fe-gtk/menu.c:1273 +msgid "S_ettings" +msgstr "Conf_iguració" + +#: src/fe-gtk/menu.c:1274 +msgid "Preferences..." +msgstr "Preferències..." + +#: src/fe-gtk/menu.c:1276 +msgid "Advanced" +msgstr "Avançat" + +#: src/fe-gtk/menu.c:1277 +msgid "Auto Replace..." +msgstr "Substitució automàtica..." + +#: src/fe-gtk/menu.c:1278 +msgid "CTCP Replies..." +msgstr "Respostes CTCP..." + +#: src/fe-gtk/menu.c:1279 +msgid "Dialog Buttons..." +msgstr "Botons de diàleg..." + +#: src/fe-gtk/menu.c:1280 +msgid "Keyboard Shortcuts..." +msgstr "Vincles de tecla..." + +#: src/fe-gtk/menu.c:1281 +msgid "Text Events..." +msgstr "Esdeveniments..." + +#: src/fe-gtk/menu.c:1282 +msgid "URL Handlers..." +msgstr "Gestió d'URLs..." + +#: src/fe-gtk/menu.c:1283 +msgid "User Commands..." +msgstr "Ordres de l'usuari..." + +#: src/fe-gtk/menu.c:1284 +msgid "Userlist Buttons..." +msgstr "Botons de la llista d'usuaris..." + +#: src/fe-gtk/menu.c:1285 +msgid "Userlist Popup..." +msgstr "Menú emergent de la llista d'usuaris..." + +#: src/fe-gtk/menu.c:1290 +msgid "Reload Settings" +msgstr "Rellegeix la configuració" + +#: src/fe-gtk/menu.c:1292 +msgid "Save Settings now" +msgstr "Desa la configuració ara" + +#: src/fe-gtk/menu.c:1293 +msgid "Save Settings on exit" +msgstr "Desa la configuració en sortir" + +#: src/fe-gtk/menu.c:1296 +msgid "_Window" +msgstr "_Finestra" + +#: src/fe-gtk/menu.c:1297 +msgid "Ban List..." +msgstr "Llista d'usuaris bandejats..." + +#: src/fe-gtk/menu.c:1298 +msgid "Channel List..." +msgstr "Llista de canals..." + +#: src/fe-gtk/menu.c:1299 +msgid "Character Chart..." +msgstr "Taula de caràcters..." + +#: src/fe-gtk/menu.c:1300 +msgid "Direct Chat..." +msgstr "Xat directe..." + +#: src/fe-gtk/menu.c:1301 +msgid "File Receive..." +msgstr "Fitxers rebuts..." + +#: src/fe-gtk/menu.c:1302 +msgid "File Send..." +msgstr "Fitxer enviats..." + +#: src/fe-gtk/menu.c:1303 +msgid "Ignore List..." +msgstr "Llista d'usuaris ignorats..." + +#: src/fe-gtk/menu.c:1304 +msgid "Notify List..." +msgstr "Llista de notificació..." + +#: src/fe-gtk/menu.c:1305 +msgid "Plugins and Scripts..." +msgstr "Connectors i scripts..." + +#: src/fe-gtk/menu.c:1306 +msgid "Raw Log..." +msgstr "Registre en brut..." + +#: src/fe-gtk/menu.c:1307 +msgid "URL Grabber..." +msgstr "Capturador d'URLs..." + +#: src/fe-gtk/menu.c:1309 +msgid "Reset Marker Line" +msgstr "Resitua la línia de separació" + +#: src/fe-gtk/menu.c:1310 +msgid "C_lear Text" +msgstr "_Neteja el text" + +#: src/fe-gtk/menu.c:1311 +msgid "Search Text..." +msgstr "Cerca el text..." + +#: src/fe-gtk/menu.c:1312 +msgid "Save Text..." +msgstr "Desa el text..." + +#: src/fe-gtk/menu.c:1314 +msgid "_Help" +msgstr "_Ajuda" + +#: src/fe-gtk/menu.c:1315 +msgid "_Contents" +msgstr "_Contingut" + +#: src/fe-gtk/menu.c:1317 src/fe-gtk/menu.c:1319 +msgid "_About" +msgstr "_Quant a" + +#: src/fe-gtk/menu.c:1407 +msgid "Attach Tab" +msgstr "Adjunta una pestanya" + +#: src/fe-gtk/notifygui.c:109 +msgid "User" +msgstr "Usuari" + +#: src/fe-gtk/notifygui.c:111 +msgid "Server" +msgstr "Servidor" + +#: src/fe-gtk/notifygui.c:112 +msgid "Last Seen" +msgstr "Vist per últim cop" + +#: src/fe-gtk/notifygui.c:149 +msgid "Offline" +msgstr "Desconnectat" + +#: src/fe-gtk/notifygui.c:169 src/fe-gtk/setup.c:199 +msgid "Never" +msgstr "Mai" + +#: src/fe-gtk/notifygui.c:187 +msgid "Online" +msgstr "Connectat" + +#: src/fe-gtk/notifygui.c:277 +msgid "Enter nickname to add:" +msgstr "Introduïu el sobrenom a afegir:" + +#: src/fe-gtk/notifygui.c:293 +msgid "X-Chat: Notify List" +msgstr "X-Chat: Llista de notificació" + +#: src/fe-gtk/notifygui.c:308 +msgid "Remove" +msgstr "Elimina" + +#: src/fe-gtk/plugingui.c:75 src/fe-gtk/textgui.c:341 +msgid "Description" +msgstr "Descripció" + +#: src/fe-gtk/plugingui.c:150 +msgid "Select a Plugin or Script to load" +msgstr "Seleccioneu el connector o script a carregar" + +#: src/fe-gtk/plugingui.c:222 +msgid "X-Chat: Plugins and Scripts" +msgstr "X-Chat: Connectors i scripts" + +#: src/fe-gtk/plugingui.c:228 +msgid "_Load..." +msgstr "_Carrega..." + +#: src/fe-gtk/plugingui.c:231 +msgid "_UnLoad" +msgstr "_Descarrega" + +#: src/fe-gtk/plugingui.c:235 +msgid "_Close" +msgstr "_Tanca" + +#: src/fe-gtk/rawlog.c:78 +msgid "Save rawlog" +msgstr "Desa un registre brut" + +#: src/fe-gtk/rawlog.c:94 +#, c-format +msgid "X-Chat: Rawlog (%s)" +msgstr "X-Chat: Registre brut (%s)" + +#: src/fe-gtk/rawlog.c:123 +msgid "Clear rawlog" +msgstr "Neteja" + +#: src/fe-gtk/rawlog.c:126 +msgid "Save rawlog..." +msgstr "Desa el registra brut..." + +#: src/fe-gtk/search.c:47 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "La finestra que vàreu obrir per aquesta cerca ja no existeix." + +#: src/fe-gtk/search.c:91 +msgid "X-Chat: Search" +msgstr "X-Chat: Cerca" + +#: src/fe-gtk/search.c:100 +msgid "Find:" +msgstr "Cerca:" + +#: src/fe-gtk/search.c:114 +msgid "Find" +msgstr "Cerca" + +#: src/fe-gtk/search.c:119 +msgid "Close" +msgstr "Tanca" + +#: src/fe-gtk/servlistgui.c:162 src/fe-gtk/servlistgui.c:261 +msgid "New Network" +msgstr "Xarxa nova" + +#: src/fe-gtk/servlistgui.c:494 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Voleu eliminar la xarxa \"%s\" i tots els seus servidors?" + +#: src/fe-gtk/servlistgui.c:618 src/fe-gtk/servlistgui.c:637 +msgid "User name and Real name cannot be left blank." +msgstr "El nom d'usuari i el nom real no es poden deixar en blanc." + +#: src/fe-gtk/servlistgui.c:988 +#, c-format +msgid "X-Chat: Edit %s" +msgstr "X-Chat: Detalls de %s" + +#: src/fe-gtk/servlistgui.c:1007 +#, c-format +msgid "Servers for %s" +msgstr "Servidors per a %s" + +#: src/fe-gtk/servlistgui.c:1018 +msgid "Connect to selected server only" +msgstr "Connectar-se només al servedor seleccionat" + +#: src/fe-gtk/servlistgui.c:1019 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Quan falla la connexió, no ho reintenta amb cada un dels servidors." + +#: src/fe-gtk/servlistgui.c:1021 +msgid "Your Details" +msgstr "Les vostres dades" + +#: src/fe-gtk/servlistgui.c:1027 +msgid "Use global user information" +msgstr "Utilitza la informació global d'usuari" + +#: src/fe-gtk/servlistgui.c:1030 src/fe-gtk/servlistgui.c:1262 +msgid "_Nick name:" +msgstr "Sobrenom:" + +#: src/fe-gtk/servlistgui.c:1034 src/fe-gtk/servlistgui.c:1283 +msgid "_User name:" +msgstr "Nom d'usuari" + +#: src/fe-gtk/servlistgui.c:1038 +msgid "Real na_me:" +msgstr "Nom real:" + +#: src/fe-gtk/servlistgui.c:1041 +msgid "Connecting" +msgstr "Connexió" + +#: src/fe-gtk/servlistgui.c:1047 +msgid "Auto connect to this network at startup" +msgstr "Connecta-t'hi automàticament a l'inici" + +#: src/fe-gtk/servlistgui.c:1049 +msgid "Use a proxy server" +msgstr "Utilitza un servidor intermedi" + +#: src/fe-gtk/servlistgui.c:1051 +msgid "Use SSL for all the servers on this network" +msgstr "Utilitza SSL amb tots els servidors d'aquesta xarxa" + +#: src/fe-gtk/servlistgui.c:1056 +msgid "Accept invalid SSL certificate" +msgstr "Accepta certificats SSL invàlids" + +#: src/fe-gtk/servlistgui.c:1062 +msgid "C_hannels to join:" +msgstr "Canals on entrar:" + +#: src/fe-gtk/servlistgui.c:1064 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Canals on entrar, separats per comes, però sense espais!" + +#: src/fe-gtk/servlistgui.c:1067 +msgid "Connect command:" +msgstr "Ordre de connexió:" + +#: src/fe-gtk/servlistgui.c:1069 +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 "" +"Executa aquesta ordre un cop establerta la connexió. Si en necessiteu més " +"d'una poseu LOAD -e <fitxer> on <fitxer> és un fitxer de text amb les ordres " +"a executar." + +#: src/fe-gtk/servlistgui.c:1072 +msgid "Nickserv password:" +msgstr "Contrasenya per al servidor de sobrenoms:" + +#: src/fe-gtk/servlistgui.c:1077 +msgid "Server password:" +msgstr "Contrasenya per al servidor:" + +#: src/fe-gtk/servlistgui.c:1079 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Contrasenya per al servidor. En cas de dubte, deixeu-ho en blanc." + +#: src/fe-gtk/servlistgui.c:1082 +msgid "Character set:" +msgstr "Joc de caràcters:" + +#: src/fe-gtk/servlistgui.c:1155 +msgid "_Edit" +msgstr "Edita" + +#: src/fe-gtk/servlistgui.c:1236 +msgid "X-Chat: Server List" +msgstr "X-Chat: Llista de servidors" + +#: src/fe-gtk/servlistgui.c:1252 +msgid "User Information" +msgstr "Informació de l'usuari" + +#: src/fe-gtk/servlistgui.c:1269 +msgid "Second choice:" +msgstr "Segona opció:" + +#: src/fe-gtk/servlistgui.c:1276 +msgid "Third choice:" +msgstr "Tercera opció:" + +#: src/fe-gtk/servlistgui.c:1290 +msgid "Rea_l name:" +msgstr "Nom real:" + +#: src/fe-gtk/servlistgui.c:1336 +msgid "Networks" +msgstr "Xarxes" + +#: src/fe-gtk/servlistgui.c:1377 +msgid "Skip server list on startup" +msgstr "Omet mostrar la llista de servidors a l'inici" + +#: src/fe-gtk/servlistgui.c:1408 +msgid "_Edit..." +msgstr "Edita..." + +#: src/fe-gtk/servlistgui.c:1415 +msgid "_Sort" +msgstr "Ordena" + +#: src/fe-gtk/servlistgui.c:1438 +msgid "C_onnect" +msgstr "Connecta" + +#: src/fe-gtk/servlistgui.c:1447 +msgid "Connect in new tab" +msgstr "Connecta en una pestanya nova" + +#: src/fe-gtk/setup.c:95 +msgid "Text Box Appearance" +msgstr "Aparença de la finestra de text" + +#: src/fe-gtk/setup.c:96 +msgid "Font:" +msgstr "Tipus de lletra:" + +#: src/fe-gtk/setup.c:97 +msgid "Background image:" +msgstr "Imatge de fons:" + +#: src/fe-gtk/setup.c:98 +msgid "Scrollback lines:" +msgstr "Línies fora la finestra:" + +#: src/fe-gtk/setup.c:99 +msgid "Transparent background" +msgstr "Fons transparent" + +#: src/fe-gtk/setup.c:100 +msgid "Indent nick names" +msgstr "Sagna els sobrenoms" + +#: src/fe-gtk/setup.c:101 +msgid "Make nick names right-justified" +msgstr "Alinea els sobrenoms a la dreta" + +#: src/fe-gtk/setup.c:102 +msgid "Tint (shade) transparency" +msgstr "Transparència tintada" + +#: src/fe-gtk/setup.c:103 +msgid "Colored nick names" +msgstr "Acoloreix els sobrenoms" + +#: src/fe-gtk/setup.c:104 +msgid "Give each person on IRC a different color" +msgstr "Assigna un color diferent a cada persona" + +# què fa?. eac +#: src/fe-gtk/setup.c:105 +msgid "Strip mIRC colors" +msgstr "Treu els colors del mIRC" + +#: src/fe-gtk/setup.c:106 +msgid "Show marker line" +msgstr "Mostra una línia de separació" + +#: src/fe-gtk/setup.c:107 +msgid "Insert a red line after the last read text." +msgstr "Insereix una línia vermella després de l'últim text llegit" + +#: src/fe-gtk/setup.c:108 +msgid "Tint Settings" +msgstr "Valors del tint" + +#: src/fe-gtk/setup.c:109 +msgid "Red:" +msgstr "Roig:" + +#: src/fe-gtk/setup.c:110 +msgid "Green:" +msgstr "Verd:" + +#: src/fe-gtk/setup.c:111 +msgid "Blue:" +msgstr "Blau:" + +#: src/fe-gtk/setup.c:113 src/fe-gtk/setup.c:313 +msgid "Time Stamps" +msgstr "Data i hora" + +#: src/fe-gtk/setup.c:114 +msgid "Time stamp format:" +msgstr "Format de la data i l'hora" + +#: src/fe-gtk/setup.c:115 +msgid "See strftime manpage for details." +msgstr "Per a més detalls consulteu la pàgina del manual strftime (3)." + +#: src/fe-gtk/setup.c:116 +msgid "Enable time stamps" +msgstr "Mostra marques horàries" + +#: src/fe-gtk/setup.c:123 +msgid "Nick Completion" +msgstr "Compleció de sobrenoms" + +#: src/fe-gtk/setup.c:124 +msgid "Automatic nick completion" +msgstr "Compleció automàtica de sobrenoms" + +#: src/fe-gtk/setup.c:125 +msgid "Completes nick names without using the TAB key" +msgstr "Completa els sobrenoms sense haver d'usar la tecla TAB" + +#: src/fe-gtk/setup.c:126 +msgid "Nick completion suffix:" +msgstr "Sufix de compleció de sobrenoms:" + +#: src/fe-gtk/setup.c:128 +msgid "Input Box Codes" +msgstr "Codis de la caixa d'entrada" + +#: src/fe-gtk/setup.c:129 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Interpreta %nnn com a un valor ASCII" + +#: src/fe-gtk/setup.c:130 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Interpreta %C, %B com a color, negreta, etc" + +#: src/fe-gtk/setup.c:132 +msgid "Input Box Appearance" +msgstr "Aparença de la línia d'entrada" + +#: src/fe-gtk/setup.c:133 src/fe-gtk/setup.c:163 +msgid "Use the Text box font and colors" +msgstr "Usa el tipus de lletra i colors de la finestra de text" + +#: src/fe-gtk/setup.c:140 +msgid "Off" +msgstr "Desactivat" + +#: src/fe-gtk/setup.c:141 +msgid "Graph" +msgstr "Gràfic" + +#: src/fe-gtk/setup.c:142 +msgid "Info text" +msgstr "Text informatiu" + +#: src/fe-gtk/setup.c:143 +msgid "Both" +msgstr "Tots dos" + +#: src/fe-gtk/setup.c:149 +msgid "A-Z, Ops first" +msgstr "A-Z, primer els operadors" + +#: src/fe-gtk/setup.c:150 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:151 +msgid "Z-A, Ops last" +msgstr "Z-A, operadors al final" + +#: src/fe-gtk/setup.c:152 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:153 +msgid "Unsorted" +msgstr "Desordenat" + +#: src/fe-gtk/setup.c:160 +msgid "User list sorted by:" +msgstr "Ordena la llista d'usuaris amb:" + +#: src/fe-gtk/setup.c:161 +msgid "Show hostnames in user list" +msgstr "Mostra els noms de les màquines a la llista d'usuaris" + +#: src/fe-gtk/setup.c:162 +msgid "User list buttons enabled" +msgstr "Habilita els botons de la llista d'usuaris" + +#: src/fe-gtk/setup.c:164 +msgid "Resizable user list" +msgstr "Llista d'usuaris redimensionable" + +#: src/fe-gtk/setup.c:166 +msgid "Away tracking" +msgstr "Seguiment d'absències" + +#: src/fe-gtk/setup.c:167 +msgid "Enable away tracking" +msgstr "Activa el seguiment d'absències" + +#: src/fe-gtk/setup.c:168 +msgid "On channels smaller than:" +msgstr "En canals més petits de:" + +#: src/fe-gtk/setup.c:170 +msgid "Action Upon Double Click" +msgstr "Acció per al doble-clic" + +#: src/fe-gtk/setup.c:171 +msgid "Execute command:" +msgstr "Executa l'ordre:" + +#: src/fe-gtk/setup.c:173 +msgid "Extra Gadgets" +msgstr "Altres andròmines" + +#: src/fe-gtk/setup.c:174 +msgid "Lag meter:" +msgstr "Mesurador de retard:" + +#: src/fe-gtk/setup.c:175 +msgid "Throttle meter:" +msgstr "Mesurador de velocitat:" + +#: src/fe-gtk/setup.c:182 +msgid "Windows" +msgstr "Finestres" + +#: src/fe-gtk/setup.c:183 src/fe-gtk/setup.c:207 src/fe-gtk/setup.c:1447 +msgid "Tabs" +msgstr "Pestanyes" + +#: src/fe-gtk/setup.c:189 +msgid "Bottom" +msgstr "Baix" + +#: src/fe-gtk/setup.c:190 +msgid "Top" +msgstr "Dalt" + +#: src/fe-gtk/setup.c:191 +msgid "Left" +msgstr "A l'esquerra" + +#: src/fe-gtk/setup.c:192 +msgid "Right" +msgstr "A la dreta" + +#: src/fe-gtk/setup.c:193 +msgid "Hidden" +msgstr "Oculta" + +#: src/fe-gtk/setup.c:200 +msgid "Always" +msgstr "Sempre" + +#: src/fe-gtk/setup.c:201 +msgid "Only requested tabs" +msgstr "Només les pestanyes demanades" + +#: src/fe-gtk/setup.c:208 +msgid "Open an extra tab for server messages" +msgstr "Obre una pestanya adicional per als missatges del servidor" + +#: src/fe-gtk/setup.c:209 +msgid "Open an extra tab for server notices" +msgstr "Obre una pestanya adicional per als avisos del servidor" + +#: src/fe-gtk/setup.c:210 +msgid "Small tabs" +msgstr "Pestanyes petites" + +#: src/fe-gtk/setup.c:211 +msgid "Sort tabs in alphabetical order" +msgstr "Ordena les pestanyes per ordre alfabètic" + +#: src/fe-gtk/setup.c:212 +msgid "Focus new tabs:" +msgstr "Dóna el focus a les pestanyes noves:" + +#: src/fe-gtk/setup.c:213 +msgid "Shorten tab labels to:" +msgstr "Abreuja el títol a:" + +#: src/fe-gtk/setup.c:213 +msgid "letters." +msgstr "lletres com a màxim." + +#: src/fe-gtk/setup.c:215 +msgid "Tabs Location" +msgstr "Posició de les pestanyes" + +#: src/fe-gtk/setup.c:216 +msgid "Show tabs at:" +msgstr "Mostra les pestanyes a:" + +#: src/fe-gtk/setup.c:218 +msgid "Tabs or Windows" +msgstr "Pestanyes o finestres" + +#: src/fe-gtk/setup.c:219 +msgid "Open channels in:" +msgstr "Obre els canals en:" + +#: src/fe-gtk/setup.c:220 +msgid "Open dialogs in:" +msgstr "Obre els diàlegs en:" + +#: src/fe-gtk/setup.c:221 +msgid "Open utilities in:" +msgstr "Obre les utilitats en:" + +#: src/fe-gtk/setup.c:221 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Voleu obrir DCCs, notificacions, etc. en pestanyes o finestres?" + +#: src/fe-gtk/setup.c:228 +msgid "Files and Directories" +msgstr "Fitxers i directoris" + +#: src/fe-gtk/setup.c:229 +msgid "Download files to:" +msgstr "Desa els fitxers baixats a:" + +#: src/fe-gtk/setup.c:230 +msgid "Move completed files to:" +msgstr "Mou els fitxers completats a:" + +#: src/fe-gtk/setup.c:231 +msgid "Save nick name in filenames" +msgstr "Afegeix el sobrenom en els noms dels fitxers" + +#: src/fe-gtk/setup.c:232 +msgid "Convert spaces to underscore before sending" +msgstr "Converteix els espais en guions baixos abans d'enviar" + +#: src/fe-gtk/setup.c:234 +msgid "Network Settings" +msgstr "Configuració de la xarxa" + +#: src/fe-gtk/setup.c:235 +msgid "DCC IP address:" +msgstr "Adreça IP" + +#: src/fe-gtk/setup.c:236 +msgid "Claim you are at this address when offering files." +msgstr "Anuncia aquesta adreça com a pròpia quan s'ofereixin fitxers." + +#: src/fe-gtk/setup.c:237 +msgid "First DCC send port:" +msgstr "Primer port d'enviament DCC:" + +#: src/fe-gtk/setup.c:238 +msgid "Last DCC send port:" +msgstr "Últim port d'enviament DCC:" + +#: src/fe-gtk/setup.c:239 +msgid "(Leave ports at zero for full range)." +msgstr "(Deixeu els ports a zero per usar tot l'interval)." + +#: src/fe-gtk/setup.c:240 +msgid "Get my address from the IRC server" +msgstr "Obtingues la meva adreça IP des del servidor" + +#: src/fe-gtk/setup.c:241 +msgid "" +"Asks the IRC server for your real address. Use this if you have a 192.168.*." +"* address!" +msgstr "" +"Pregunta al servidor per la vostra adreça real. Useu això si teniu una " +"adreça 192.168.*.*" + +#: src/fe-gtk/setup.c:243 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Velocitat màxima de transferència de fitxers (octets per segon)" + +#: src/fe-gtk/setup.c:244 +msgid "One upload:" +msgstr "Un únic enviament:" + +#: src/fe-gtk/setup.c:245 src/fe-gtk/setup.c:247 +msgid "Maximum speed for one transfer" +msgstr "Velocitat màxima per a una transferència" + +#: src/fe-gtk/setup.c:246 +msgid "One download:" +msgstr "Una única recepció:" + +#: src/fe-gtk/setup.c:248 +msgid "All uploads combined:" +msgstr "Tots els enviaments combinats:" + +#: src/fe-gtk/setup.c:249 src/fe-gtk/setup.c:251 +msgid "Maximum speed for all files" +msgstr "Velocitat màxima per a tot el tràfic" + +#: src/fe-gtk/setup.c:250 +msgid "All downloads combined:" +msgstr "Totes les recepcions combinades:" + +#: src/fe-gtk/setup.c:258 +msgid "Default Messages" +msgstr "Missatges per defecte" + +#: src/fe-gtk/setup.c:259 +msgid "Quit:" +msgstr "En sortir:" + +#: src/fe-gtk/setup.c:260 +msgid "Leave channel:" +msgstr "En deixar el canal:" + +#: src/fe-gtk/setup.c:261 +msgid "Away:" +msgstr "Missatge d'absència:" + +#: src/fe-gtk/setup.c:263 +msgid "Away" +msgstr "Absència" + +#: src/fe-gtk/setup.c:264 +msgid "Announce away messages" +msgstr "Anuncia missatge d'absència" + +#: src/fe-gtk/setup.c:265 +msgid "Announce your away messages to all channels" +msgstr "Anuncia l'absència a tots els canals" + +#: src/fe-gtk/setup.c:266 +msgid "Show away once" +msgstr "Anúncia l'absència una sola vegada" + +#: src/fe-gtk/setup.c:266 +msgid "Show identical away messages only once" +msgstr "Mostra els anuncis idèntics d'absència una sola vegada" + +#: src/fe-gtk/setup.c:267 +msgid "Automatically unmark away" +msgstr "Treu l'estatus d'absent automàticament" + +#: src/fe-gtk/setup.c:267 +msgid "Unmark yourself as away before sending messages" +msgstr "Desmarca'm automàticament com a absent abans d'enviar missatges" + +#: src/fe-gtk/setup.c:270 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "(Pot ser un fitxer de text relatiu a ~/.xchat2/)." + +#: src/fe-gtk/setup.c:272 +msgid "(Can be a text file relative to config dir)." +msgstr "(Pot ser un fitxer de text relatiu al directori de configuració)." + +#: src/fe-gtk/setup.c:276 +msgid "Alerts" +msgstr "Alertes" + +#: src/fe-gtk/setup.c:278 +msgid "Flash taskbar on highlighted messages" +msgstr "Il·lumina la barra de tasques quan hi hagi missatges realçats" + +#: src/fe-gtk/setup.c:280 +msgid "Beep on highlighted messages" +msgstr "Avís sonor quan hi hagi missatges realçats" + +#: src/fe-gtk/setup.c:281 +msgid "Extra words to highlight on:" +msgstr "Altres paraules a realçar:" + +#: src/fe-gtk/setup.c:282 +msgid "Nicks not to highlight on:" +msgstr "Sobrenoms que no s'han de realçar:" + +#: src/fe-gtk/setup.c:283 +msgid "(Separate multiple words with commas)." +msgstr "(Llista de paraules separades per comes)." + +#: src/fe-gtk/setup.c:284 +msgid "Beep on private messages" +msgstr "Avís sonor de missatges privats" + +#: src/fe-gtk/setup.c:285 +msgid "Beep on channel messages" +msgstr "Avís sonor de missatges al canal" + +#: src/fe-gtk/setup.c:292 +msgid "Advanced Settings" +msgstr "Configuració avançada" + +#: src/fe-gtk/setup.c:293 +msgid "Auto reconnect delay:" +msgstr "Retard de reconnexió automàtica:" + +#: src/fe-gtk/setup.c:294 +msgid "Display MODEs in raw form" +msgstr "Mostra els MODEs en brut" + +#: src/fe-gtk/setup.c:295 +msgid "Whois on notify" +msgstr "Whois a cada notificació" + +#: src/fe-gtk/setup.c:295 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "" +"Envia un /WHOIS a cada usuari de la llista de notificació quan es connecti" + +#: src/fe-gtk/setup.c:296 +msgid "Hide join and part messages" +msgstr "Amaga els missatges d'entrades i sortides" + +#: src/fe-gtk/setup.c:296 +msgid "Hide channel join/part messages by default" +msgstr "Oculta els missatges d'entrada i sortida del canal" + +#: src/fe-gtk/setup.c:297 +msgid "Auto Open DCC Windows" +msgstr "Obre finestres DCC automàticament" + +#: src/fe-gtk/setup.c:298 +msgid "Send window" +msgstr "Finestra d'enviament" + +#: src/fe-gtk/setup.c:299 +msgid "Receive window" +msgstr "Finestra de rebudes" + +#: src/fe-gtk/setup.c:300 +msgid "Chat window" +msgstr "Finestra de xat" + +#: src/fe-gtk/setup.c:308 src/fe-gtk/setup.c:1452 +msgid "Logging" +msgstr "Enregistrament" + +#: src/fe-gtk/setup.c:309 +msgid "Enable logging of conversations" +msgstr "Enregistra les converses" + +#: src/fe-gtk/setup.c:310 +msgid "Log filename mask:" +msgstr "Màscara del fitxer:" + +#: src/fe-gtk/setup.c:311 +#, c-format +msgid "(%s=Server %c=Channel %n=Network)." +msgstr "(%s=Servidor %c=Canal %n=Xarxa)." + +#: src/fe-gtk/setup.c:314 +msgid "Insert timestamps in logs" +msgstr "Afegeix la data i l'hora en el registre" + +#: src/fe-gtk/setup.c:315 +msgid "Log timestamp format:" +msgstr "Format de l'informació horària:" + +#: src/fe-gtk/setup.c:316 +msgid "(See strftime manpage for details)." +msgstr "(Per a més detalls consulteu la pàgina del manual strftime (3))." + +#: src/fe-gtk/setup.c:323 +msgid "(Disabled)" +msgstr "(Inhabilitat)" + +#: src/fe-gtk/setup.c:324 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:325 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:326 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:327 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:333 +msgid "Your Address" +msgstr "La vostra adreça" + +#: src/fe-gtk/setup.c:334 +msgid "Bind to:" +msgstr "Vincula a:" + +#: src/fe-gtk/setup.c:335 +msgid "(Only useful for computers with multiple addresses)." +msgstr "(Només és útil en ordinadors amb múltiples adreces)." + +#: src/fe-gtk/setup.c:337 +msgid "Proxy Server" +msgstr "Servidor intermediari" + +#: src/fe-gtk/setup.c:338 +msgid "Hostname:" +msgstr "Nom de la màquina:" + +#: src/fe-gtk/setup.c:339 +msgid "Username:" +msgstr "Nom d'usuari:" + +#: src/fe-gtk/setup.c:340 +msgid "Password:" +msgstr "Contrasenya:" + +#: src/fe-gtk/setup.c:341 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:342 +msgid "Type:" +msgstr "Tipus:" + +#: src/fe-gtk/setup.c:344 +msgid "Authenticate to the proxy server (HTTP and Socks5)" +msgstr "Usa un sistema d'autenticació pel servidor intermedi (HTTP i Socks5)" + +#: src/fe-gtk/setup.c:567 +msgid "(disabled)" +msgstr "(inhabilitat)" + +#: src/fe-gtk/setup.c:568 +msgid "A star (*)" +msgstr "Un asterisc (*)" + +#: src/fe-gtk/setup.c:569 +msgid "A red star (*)" +msgstr "Un asterisc roig (*)" + +#: src/fe-gtk/setup.c:570 +msgid "Underlined" +msgstr "Subratllat" + +#: src/fe-gtk/setup.c:667 +msgid "Select an Image File" +msgstr "Seleccioneu un fitxer d'imatge" + +# títol d'un diàleg. eac +#: src/fe-gtk/setup.c:703 +msgid "Select font" +msgstr "Seleccioneu un tipus de lletra" + +#: src/fe-gtk/setup.c:777 +msgid "Browse..." +msgstr "Vés a..." + +#: src/fe-gtk/setup.c:894 +msgid "Mark identified users with:" +msgstr "Marca els usuaris identificats amb:" + +#: src/fe-gtk/setup.c:896 +msgid "Mark not-identified users with:" +msgstr "Marca els usuaris no identificats amb:" + +#: src/fe-gtk/setup.c:959 +msgid "Select color" +msgstr "Seleccioneu un color" + +#: src/fe-gtk/setup.c:1039 +msgid "Text Colors" +msgstr "Colors del text" + +#: src/fe-gtk/setup.c:1041 +msgid "mIRC colors:" +msgstr "Colors del mIRC:" + +#: src/fe-gtk/setup.c:1049 +msgid "Extra colors:" +msgstr "Colors adicionals:" + +#: src/fe-gtk/setup.c:1057 src/fe-gtk/setup.c:1062 +msgid "Foreground:" +msgstr "Primer pla:" + +#: src/fe-gtk/setup.c:1058 src/fe-gtk/setup.c:1063 +msgid "Background:" +msgstr "Fons:" + +#: src/fe-gtk/setup.c:1060 +msgid "Marking Text" +msgstr "Text seleccionat" + +#: src/fe-gtk/setup.c:1065 +msgid "Interface Colors" +msgstr "Colors de l'interfície" + +#: src/fe-gtk/setup.c:1067 +msgid "New data:" +msgstr "Dades noves:" + +#: src/fe-gtk/setup.c:1068 +msgid "Marker line:" +msgstr "Línia de separació:" + +#: src/fe-gtk/setup.c:1069 +msgid "New message:" +msgstr "Missatge nou:" + +#: src/fe-gtk/setup.c:1070 +msgid "Away user:" +msgstr "Usuari absent::" + +#: src/fe-gtk/setup.c:1071 +msgid "Highlight:" +msgstr "Text realçat:" + +#: src/fe-gtk/setup.c:1167 src/fe-gtk/textgui.c:337 +msgid "Event" +msgstr "Esdeveniment" + +#: src/fe-gtk/setup.c:1173 +msgid "Sound file" +msgstr "Fitxer d'àudio" + +#: src/fe-gtk/setup.c:1208 +msgid "Select a sound file" +msgstr "Seleccioneu un fitxer d'àudio" + +#: src/fe-gtk/setup.c:1280 +msgid "Sound playing method:" +msgstr "Mètode de reproducció:" + +#: src/fe-gtk/setup.c:1288 +msgid "External sound playing _program:" +msgstr "Programa extern de reproducció:" + +#: src/fe-gtk/setup.c:1306 +msgid "_External program" +msgstr "Programa _extern" + +#: src/fe-gtk/setup.c:1316 +msgid "_Automatic" +msgstr "_Automàtic" + +#: src/fe-gtk/setup.c:1329 +msgid "Sound files _directory:" +msgstr "Directori de fitxers d'àudio:" + +#: src/fe-gtk/setup.c:1368 +msgid "Sound file:" +msgstr "Fitxer d'àudio:" + +#: src/fe-gtk/setup.c:1383 +msgid "_Browse..." +msgstr "_Vés a..." + +#: src/fe-gtk/setup.c:1394 +msgid "_Play" +msgstr "Re_produeix" + +#: src/fe-gtk/setup.c:1443 +msgid "Interface" +msgstr "Interfície" + +#: src/fe-gtk/setup.c:1444 +msgid "Text box" +msgstr "Caixa de text" + +#: src/fe-gtk/setup.c:1445 +msgid "Input box" +msgstr "Línia d'entrada" + +#: src/fe-gtk/setup.c:1446 +msgid "User list" +msgstr "Llista d'usuaris" + +#: src/fe-gtk/setup.c:1448 +msgid "Colors" +msgstr "Colors" + +#: src/fe-gtk/setup.c:1450 +msgid "Chatting" +msgstr "Conversacions" + +#: src/fe-gtk/setup.c:1451 +msgid "General" +msgstr "General" + +#: src/fe-gtk/setup.c:1453 +msgid "Sound" +msgstr "Àudio" + +#: src/fe-gtk/setup.c:1456 +msgid "Network" +msgstr "Xarxa" + +#: src/fe-gtk/setup.c:1457 +msgid "Network setup" +msgstr "Configuració de la xarxa" + +#: src/fe-gtk/setup.c:1458 +msgid "File transfers" +msgstr "Transferències de fitxers" + +#: src/fe-gtk/setup.c:1565 +msgid "Categories" +msgstr "Categories" + +#: src/fe-gtk/setup.c:1695 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" +"Algunes de les opcions que han canviat requereixen reiniciar l'X-Chat per a " +"tenir efecte." + +#: src/fe-gtk/setup.c:1723 +msgid "X-Chat: Preferences" +msgstr "X-Chat: Preferències" + +#: src/fe-gtk/textgui.c:160 +msgid "There was an error parsing the string" +msgstr "S'ha produït un error en analitzar la cadena" + +#: src/fe-gtk/textgui.c:168 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Aquest senyal sols ha passat %d arguments, $%d no és vàlid" + +#: src/fe-gtk/textgui.c:276 src/fe-gtk/textgui.c:299 +msgid "Print Texts File" +msgstr "Imprimeix un fitxer de text" + +#: src/fe-gtk/textgui.c:340 +msgid "$ Number" +msgstr "$ Número" + +#: src/fe-gtk/textgui.c:350 +msgid "Edit Events" +msgstr "Edició d'esdeveniments" + +#: src/fe-gtk/textgui.c:418 +msgid "Save As" +msgstr "Desa com a" + +#: src/fe-gtk/textgui.c:423 +msgid "Load From" +msgstr "Carrega des de" + +#: src/fe-gtk/textgui.c:428 +msgid "Test All" +msgstr "Comprova-ho tot" + +#: src/fe-gtk/urlgrab.c:97 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:147 +msgid "Select a file to save to" +msgstr "Seleccioneu un fitxer on desar-ho" + +#: src/fe-gtk/urlgrab.c:187 +msgid "X-Chat: URL Grabber" +msgstr "X-Chat: capturador d'URLs" + +#: src/fe-gtk/urlgrab.c:200 +msgid "Clear list" +msgstr "Neteja la llista" + +#: src/fe-gtk/urlgrab.c:202 +msgid "Copy" +msgstr "Copia" + +#: src/fe-gtk/urlgrab.c:204 +msgid "Save list to a file" +msgstr "Desa la llista a un fitxer" + +#: src/fe-gtk/userlistgui.c:107 +#, c-format +msgid "%d ops, %d total" +msgstr "%d operadors, %d en total" + +msgid "" +" File: %s\n" +" To/From: %s\n" +" Size: %u\n" +" Port: %d\n" +" IP Number: %s\n" +"Start Time: %s Max CPS: %d\n" +msgstr "" +" Fitxer: %s\n" +" A/De: %s\n" +" Mida: %u\n" +" Port: %d\n" +" Adreça IP: %s\n" +" Inici: %s CPS màxim: %d\n" + +msgid "User: %s" +msgstr "Usuari: %s" + +msgid "Realname: %s" +msgstr "Nom real: %s" + +msgid "Server: %s" +msgstr "Servidor: %s" + +msgid "%C22*%O$t%C28[%O$1%C28] %O$2" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2" + +msgid "Former Czechoslovakia" +msgstr "Antiga Txecoslovàquia" + +msgid "Zaire" +msgstr "Zaire" + +#~ msgid "<span weight=\"bold\">List Filtering</span>" +#~ msgstr "<span weight=\"bold\">Filtres de la llista</span>" + +#~ msgid "Channel _Name" +#~ msgstr "_Nom del canal" + +#~ msgid "Channel _Topic" +#~ msgstr "_Tema del canal" + +#~ msgid "in:" +#~ msgstr "a:" + +#~ msgid "to" +#~ msgstr "a" + +#~ msgid "users" +#~ msgstr "usuaris" + +#~ msgid "<span weight=\"bold\">Automatically Join Channels</span>" +#~ msgstr "<span weight=\"bold\">Entra automàticament als canals</span>" + +#~ msgid "<span weight=\"bold\">User Info</span>" +#~ msgstr "<span weight=\"bold\">Informació de l'usuari</span>" + +#~ msgid "Cycle _until connected" +#~ msgstr "S_urt i entra al canal fins a connectar-te" + +#~ msgid "Use _these user settings:" +#~ msgstr "U_tilitza aquesta informació d'usuari:" + +#~ msgid "User and Channels" +#~ msgstr "Usuaris i canals" + +#~ msgid "_Automatically connect to network" +#~ msgstr "Connecta a aquesta xarxa _automàticament a l'inici" + +#~ msgid "_Name:" +#~ msgstr "_Nom:" + +#~ msgid "_Real Name:" +#~ msgstr "Nom _real:" + +#~ msgid "_Use secure connection (SSL)" +#~ msgstr "_Utilitza una connexió segura (SSL)" + +#~ msgid "<span size=\"small\" style=\"italic\">Opaque</span>" +#~ msgstr "<span size=\"small\" style=\"italic\">Opac</span>" + +#~ msgid "<span size=\"small\" style=\"italic\">Transparent</span>" +#~ msgstr "<span size=\"small\" style=\"italic\">Transparent</span>" + +#~ msgid "<span weight=\"bold\">Background</span>" +#~ msgstr "<span weight=\"bold\">Fons</span>" + +#~ msgid "<span weight=\"bold\">DCC Settings</span>" +#~ msgstr "<span weight=\"bold\">Paràmetres DCC</span>" + +#~ msgid "<span weight=\"bold\">Extra Colors</span>" +#~ msgstr "<span weight=\"bold\">Colors addicionals</span>" + +#~ msgid "<span weight=\"bold\">File Transfers</span>" +#~ msgstr "<span weight=\"bold\">Transferència de fitxers</span>" + +#~ msgid "<span weight=\"bold\">General</span>" +#~ msgstr "<span weight=\"bold\">General</span>" + +#~ msgid "<span weight=\"bold\">Highlighting</span>" +#~ msgstr "<span weight=\"bold\">Realçament</span>" + +#~ msgid "<span weight=\"bold\">Text Colors</span>" +#~ msgstr "<span weight=\"bold\">Colors del text</span>" + +#~ msgid "<span weight=\"bold\">Throttling</span>" +#~ msgstr "<span weight=\"bold\">Restricció d'entrada</span>" + +#~ msgid "<span weight=\"bold\">User Interface</span>" +#~ msgstr "<span weight=\"bold\">Interfície d'usuari</span>" + +#~ msgid "<span weight=\"bold\">mIRC Colors</span>" +#~ msgstr "<span weight=\"bold\">Colors del mIRC</span>" + +#~ msgid "Auto-accept DCC file tr_ansfers" +#~ msgstr "Accepta _automàticament fitxers per DCC" + +#~ msgid "Buil_t-in schemes:" +#~ msgstr "Esquemes in_tegrats:" + +#~ msgid "Glo_bal receive KB/s: " +#~ msgstr "KB/s de baixada glo_bals:" + +#~ msgid "I_mage file:" +#~ msgstr "Fitxer d'i_matge:" + +#~ msgid "In_dividual send KB/s: " +#~ msgstr "KB/s de pujada in_dividuals:" + +#~ msgid "Indi_vidual receive KB/s: " +#~ msgstr "KB/s de baixada indi_viduals:" + +#~ msgid "Select Completed Files Directory" +#~ msgstr "Seleccioneu el directori per als fitxers completats:" + +#~ msgid "" +#~ "To edit a shortcut key, click on the corresponding row and type a new " +#~ "accelerator, or press backspace to clear." +#~ msgstr "" +#~ "Per a editar una tecla de drecera cliqueu a la fila corresponent i " +#~ "teclegeu una nova drecera, o bé premeu la tecla de retrocés per a " +#~ "esborrar la drecera." + +#~ msgid "Use _system terminal font" +#~ msgstr "Utilitza el tipus de lletra de terminal del _sistema" + +#~ msgid "Use t_his IP address:" +#~ msgstr "Utilitza aquesta adreça I_P:" + +#~ msgid "Use this f_ont:" +#~ msgstr "Utilitza aquest _tipus de lletra" + +#~ msgid "_Background color:" +#~ msgstr "Color de _fons:" + +#~ msgid "_Foreground color:" +#~ msgstr "Color de _primer pla:" + +#~ msgid "_Global send KB/s: " +#~ msgstr "KB/s de pujada _globals:" + +#~ msgid "_Nickname:" +#~ msgstr "Sobre_nom:" + +#~ msgid "_None (use solid color)" +#~ msgstr "_Cap (utilitza color sòlid)" + +#~ msgid "_Part message:" +#~ msgstr "Missatge de _sortida:" + +#~ msgid "_Quit message:" +#~ msgstr "Missatge de _desconnexió:" + +#~ msgid "_Show colors" +#~ msgstr "Mostra el_s colors" + +#~ msgid "spell checking" +#~ msgstr "comprovació ortogràfica" + +#~ msgid "" +#~ "Welcome to XChat-GNOME! Since this is your first time using this " +#~ "application, there are a couple things you'll need to configure before " +#~ "you can get started.\n" +#~ "\n" +#~ "These are the names by which you'll be recognized on IRC. Your nick name " +#~ "is the name by which you'll be known, whereas the real name is useful for " +#~ "things such as registering with services. You do not have to use your " +#~ "real name if you do not want to." +#~ msgstr "" +#~ "Benvingut a l'XChat-GNOME. Atès que és la primera vegada que feu servir " +#~ "aquesta aplicació, haureu de configurar uns quants paràmetres abans de " +#~ "començar.\n" +#~ "\n" +#~ "Aquests són els noms pels quals sereu reconegut en els xats IRC. En un " +#~ "xat sereu reconegut pel sobrenom, mentre que el nom real s'utilitzarà per " +#~ "a altres finalitats, com per exemple, per al registre a determinats " +#~ "serveis. No cal que utilitzeu el vostre nom real si és que no ho desitgeu." + +#~ msgid "XChat-GNOME Setup" +#~ msgstr "Configuració de l'XChat-GNOME" + +#~ msgid "_Real name:" +#~ msgstr "Nom _real:" + +#~ msgid "Chat with people using IRC" +#~ msgstr "Xerreu amb altres persones a través de l'IRC" + +#~ msgid "IRC Chat" +#~ msgstr "Xat IRC" + +#~ msgid "XChat-GNOME IRC Chat" +#~ msgstr "Xat IRC de l'XChat-GNOME" + +#~ msgid "Apply on all _servers" +#~ msgstr "Aplica-ho per a tots els _servidors" + +#~ msgid "nickname" +#~ msgstr "sobrenom" + +#~ msgid "Screensaver activated, going away." +#~ msgstr "" +#~ "S'ha activat l'estalvi de pantalla, es commutarà a l'estat d'absència" + +#~ msgid "Screensaver is off, welcome back" +#~ msgstr "S'ha desactivat l'estalvi de pantalla, benvingut de nou" + +#~ msgid "Network Monitor" +#~ msgstr "Monitor de la xarxa" + +#~ msgid "NetworkManager connection monitor" +#~ msgstr "Monitor de la connexió del NetworkManager" + +#~ msgid "%s loaded successfully\n" +#~ msgstr "«%s» s'ha carregat satisfactòriament\n" + +#~ msgid "Notification" +#~ msgstr "Notificació" + +#~ msgid "A notification area plugin." +#~ msgstr "Un connector per a l'àrea de notificació." + +#~ msgid "Notification plugin loaded.\n" +#~ msgstr "S'ha carregat el connector de notificació.\n" + +#~ msgid "Notification plugin unloaded.\n" +#~ msgstr "S'ha descarregat el connector de notificació.\n" + +#~ msgid "Level of the messages that require a notification" +#~ msgstr "Nivell dels missatges pels quals es requereix una notificació" + +#~ msgid "" +#~ "Messages are classified according to their importance. Select level of " +#~ "messages above which the notification icon will be displayed. Valid " +#~ "values are: \"0\" (always displayed), \"1\" (all messages including " +#~ "information), \"2\" (all channel messages), \"3\" (only private or " +#~ "highlighted messages)." +#~ msgstr "" +#~ "Els missatges es classifiquen segons la seva importància. Seleccioneu el " +#~ "nivell d'importància dels missatges per sobre del qual es mostrarà la " +#~ "icona de notificació. Els valors següents són assignables: «0» (sempre " +#~ "visible), «1» (tots els missatges, incloent-hi els d'informació), " +#~ "«2» (tots els missatges dels canals), «3» (només els missatges privats o " +#~ "realçats)." + +#~ msgid "<span weight=\"bold\">Notification level</span>" +#~ msgstr "<span weight=\"bold\">Nivell de la notificació</span>" + +#~ msgid "Notify each _event" +#~ msgstr "Notifica tots els _esdeveniments" + +#~ msgid "_Always display notification icon" +#~ msgstr "Mostr_a sempre la icona de notificació" + +#~ msgid "On-screen display" +#~ msgstr "Monitor a la pantalla (OSD)" + +# FIXME (dpm) és correcte «no tenir el focus»? +#~ msgid "" +#~ "Pops up notification of important messages when XChat-GNOME doesn't have " +#~ "the focus" +#~ msgstr "" +#~ "Mostra la notificació de missatges importants quan l'XChat-GNOME no té el " +#~ "focus" + +#~ msgid "Error closing notification: %s\n" +#~ msgstr "S'ha produït un error en tancar la notificació: %s\n" + +#~ msgid "Message in %s" +#~ msgstr "Missatge a %s" + +#~ msgid "Message from %s" +#~ msgstr "Missatge de %s" + +#~ msgid "Private Message from %s" +#~ msgstr "Missatge privat de %s" + +#~ msgid "OSD loaded\n" +#~ msgstr "S'ha carregat l'OSD\n" + +#~ msgid "OSD initialization failed\n" +#~ msgstr "No s'ha pogut inicialitzar l'OSD\n" + +#~ msgid "Grabs URLs and puts them in a separate window for easy viewing." +#~ msgstr "" +#~ "Captura URLs i les posa en una altra finestra per a una visualització més " +#~ "còmoda." + +#~ msgid "URL Scraper failed to load: couldn't compile URL regex.\n" +#~ msgstr "" +#~ "No s'ha pogut carregar el capturador d'URLs: no s'ha pogut compilar " +#~ "l'expressió regular per a l'URL.\n" + +#~ msgid "URL Scraper failed to load: couldn't compile e-mail regex.\n" +#~ msgstr "" +#~ "No s'ha pogut carregar el capturador d'URLs: no s'ha pogut compilar " +#~ "l'expressió regular per a l'adreça de correu electrònic.\n" + +#~ msgid "URL Scraper loaded.\n" +#~ msgstr "S'ha carregat el capturador d'URLs.\n" + +#~ msgid "URL Scraper unloaded.\n" +#~ msgstr "S'ha descarregat el capturador d'URLs.\n" + +#~ msgid "URL Scraper history length" +#~ msgstr "Mida de l'historial del capturador d'URLs" + +#~ msgid "URL Scraper show timestamps" +#~ msgstr "Mostra la data i hora de cada missatge" + +#~ msgid "Sound Notification" +#~ msgstr "Notificació per àudio" + +#~ msgid "" +#~ "Play a sound when you receive a private message or your nick is " +#~ "highlighted." +#~ msgstr "" +#~ "Reprodueix un so en rebre un missatge privat o bé en ésser realçat el " +#~ "vostre sobrenom." + +#~ msgid "Sound-notification plugin loaded.\n" +#~ msgstr "S'ha carregat el connector de notificació per àudio.\n" + +#~ msgid "Sound-notification plugin unloaded.\n" +#~ msgstr "S'ha descarregat el connector de notificació per àudio.\n" + +#~ msgid "%s is offering \"%s\". Do you want to accept?" +#~ msgstr "%s us està oferint «%s». Voleu acceptar-lo?" + +#~ msgid "" +#~ "Set per channel options\n" +#~ "CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part " +#~ "messages\n" +#~ "CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +#~ "CHANOPT BEEP ON|OFF - Toggle beep on message" +#~ msgstr "" +#~ "Estableix les opcions per a cada canal individual\n" +#~ "CHANOPT CONFMODE ON|OFF - Mostra o oculta els missatges d'entrada i de " +#~ "sortida\n" +#~ "CHANOPT COLORPASTE ON|OFF - Commuta poder enganxar amb colors\n" +#~ "CHANOPT BEEP ON|OFF - Commuta la reproducció del to del sistema en rebre " +#~ "un missatge" + +#~ msgid "" +#~ "CLEAR [ALL|HISTORY], Clears the current text window or command history" +#~ msgstr "" +#~ "CLEAR [ALL|HISTORY], Esborra la finestra de text actual o l'historial " +#~ "d'ordres" + +#~ msgid "GHOST <nick> <password>, Kills a ghosted nickname" +#~ msgstr "" +#~ "GHOST <sobrenom> <contrasenya>, termina una sessió fantasma per a aquest " +#~ "sobrenom" + +#~ msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +#~ msgstr "" +#~ "QUERY [-nofocus] <sobrenom>, obre una finestra de xat privat amb " +#~ "<sobrenom>" + +#~ msgid "SEND <nick> [<file>]" +#~ msgstr "SEND <sobrenom> [<fitxer>]" + +#~ msgid "" +#~ "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +#~ "userlist" +#~ msgstr "" +#~ "USELECT [-a] [-s] <sobrenom1> <sobrenom2> etc, realça el(s) sobrenom(s) a " +#~ "la llista d'usuaris del canal" + +#~ msgid "-%C10-%C11-%O$tReceived a CTCP $1 from $2 (to $3)" +#~ msgstr "-%C10-%C11-%O$tS'ha rebut un CTCP $1 de $2 (per a $3)" + +#~ msgid "-%C10-%C11-%O$tReceived a CTCP Sound $1 from $2" +#~ msgstr "-%C10-%C11-%O$tS'ha rebut un CTCP Sound $1 de $2" + +#~ msgid "" +#~ "-%C10-%C11-%O$tDCC CHAT failed. Connection to $1 %C14[%O$2:$3%C14]%O lost." +#~ msgstr "" +#~ "-%C10-%C11-%O$tNo s'ha pogut establir la DCC. S'ha perdut la connexió amb " +#~ "$1 %C14[%O$2:$3%C14]%O." + +#~ msgid "-%C10-%C11-%O$tDCC RECV $1 ($2) failed. Connection to $3 lost." +#~ msgstr "" +#~ "-%C10-%C11-%O$tNo s'ha pogut rebre el fitxer $1 ($2). S'ha perdut la " +#~ "connexió amb $3." + +#~ msgid "" +#~ "-%C10-%C11-%O$tDCC SEND %C11$1%O failed. Connection to %C11$2%O lost." +#~ msgstr "" +#~ "-%C10-%C11-%O$tLa conexió DCC SEND no s'ha pogut establir. S'ha perdut la " +#~ "connexió amb %C11$2%O." + +#~ msgid "-%C10-%C11-%O$t$1%O" +#~ msgstr "-%C10-%C11-%O$t$1%O" + +#~ msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%C $2" +#~ msgstr "-%C10-%C11-%O$t%C12[%O$1%C12]%C $2" + +#~ msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %C$2" +#~ msgstr "-%C10-%C11-%O$t%C12[%O$1%C12] %C$2" + +#~ msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O idle %C11$2%O" +#~ msgstr "-%C10-%C11-%O$t%C12[%O$1%C12]%O inactiu %C11$2%O" + +#~ msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %C14(%O$2@$3%C14) %O: $4%O" +#~ msgstr "-%C10-%C11-%O$t%C12[%O$1%C12] %C14(%O$2@$3%C14) %O: $4%O" + +#~ msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O $2" +#~ msgstr "-%C10-%C11-%O$t%C12[%O$1%C12]%O $2" + +#~ msgid "%C6<%O$1%C6>%O$t$2%O" +#~ msgstr "%C6<%O$1%C6>%O$t$2%O" + +#~ msgid "Ascension Island" +#~ msgstr "Illa Ascensió" + +#~ msgid "Aland Islands" +#~ msgstr "Illes Aland" + +#~ msgid "European Union" +#~ msgstr "Unió Europea" + +#~ msgid "Isle of Man" +#~ msgstr "Illa de Man" + +#~ msgid "Jersey" +#~ msgstr "Jersey" + +#~ msgid "remote access" +#~ msgstr "accés remot" + +#~ msgid "plugin for remote access using DBUS" +#~ msgstr "connector per a l'accés remot a través del DBUS" + +#~ msgid "Couldn't connect to session bus: %s\n" +#~ msgstr "No s'ha pogut establir connexió amb el bus de la sessió: %s\n" + +#~ msgid "Failed to acquire %s: %s\n" +#~ msgstr "No s'ha pogut adquirir %s: %s\n" + +#~ msgid "%s loaded successfully!\n" +#~ msgstr "S'ha carregat %s amb èxit\n" + +#~ msgid "Run XChat-GNOME in a terminal?" +#~ msgstr "Voleu executar XChat-GNOME en un terminal?" + +#~ msgid "Set it at TRUE if you want it activated" +#~ msgstr "Establiu-ho com a TRUE si ho voleu habilitar" + +#~ msgid "The handler for \"irc://\" URLs" +#~ msgstr "El gestor per a URLs del tipus «irc://»" + +#~ msgid "" +#~ "X-Chat GNOME is free software; you can redistribute it and/or modify it " +#~ "under the terms of the GNU General Public License as published by the " +#~ "Free Software Foundation; either version 2 of the License, or (at your " +#~ "option) any later version." +#~ msgstr "" +#~ "L'X-Chat GNOME és programari lliure; podeu redistribuir-lo i/o modificar-" +#~ "lo sota els termes de la Llicència Pública General GNU tal i com ha estat " +#~ "publicada per la Free Software Foundation; la sigui la versió 2 de la " +#~ "llicència o (si ho preferiu) qualsevol versió posterior. " + +#~ msgid "" +#~ "X-Chat GNOME is distributed in the hope that it will be useful, but " +#~ "WITHOUT ANY WARRANTY; without even the implied warranty of " +#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General " +#~ "Public License for more details." +#~ msgstr "" +#~ "L'X-Chat GNOME es distribueix amb l'expectativa que serà útil, però SENSE " +#~ "CAP GARANTIA; fins i tot sense la garantia implícita de COMERCIABILITAT o " +#~ "ADEQUACIÓ PER A UN PROPÒSIT PARTICULAR. Vegeu la Llicència Pública " +#~ "General GNU per a obtenir-ne més detalls." + +#~ msgid "" +#~ "You should have received a copy of the GNU General Public License along " +#~ "with X-Chat GNOME; if not, write to the Free Software Foundation, Inc., " +#~ "59 Temple Place, Suite 330, Boston, MA 02111-1307 USA" +#~ msgstr "" +#~ "Hauríeu d'haver rebut una còpia de la Llicència Pública General GNU " +#~ "juntament amb l'X-Chat GNOME; en cas contrari, escriviu a la Free " +#~ "Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA " +#~ "02111, USA." + +#~ msgid "Copyright © 2004-2006" +#~ msgstr "Copyright © 2004-2006" + +# broma dolenta (eac) +#~ msgid "" +#~ "It has been well observed that a trombone is not a suitable instrument " +#~ "for a gentleman" +#~ msgstr "L'home descendeix del mono i el mono descendeix de l'arbre" + +#~ msgid "XChat-GNOME Web Site" +#~ msgstr "Lloc web de l'XChat-GNOME" + +#~ msgid "translator-credits" +#~ msgstr "" +#~ "Softcatalà <info@softcatala.org>\n" +#~ "Yannick Garcia <ygp@tinet.fut.es>\n" +#~ "Antoni Bella Perez <bella5@teleline.es>\n" +#~ "Ernest Adrogué Calveras <eadrogue@gmx.net>\n" +#~ "David Planella Molas <david.planella@gmail.com>" + +#~ msgid "Automatically display the channel list dialog" +#~ msgstr "Mostra el diàleg amb la llista de canals de manera automàtica" + +#~ msgid "Background image filename" +#~ msgstr "Imatge de fons:" + +#~ msgid "Default nickname used by servers without special options set" +#~ msgstr "" +#~ "Sobrenom per defecte utilitzat pels servidors sense cap opció especial " +#~ "habilitada" + +#~ msgid "Default real name used by servers without special options set" +#~ msgstr "" +#~ "Nom real per defecte utilitzat pels servidors sense cap opció especial " +#~ "habilitada" + +# FIXME (dpm) Com es podria traduir «nickstamp»? +#~ msgid "Display redundant nickstamps" +#~ msgstr "Mostra els nickstamps redundants" + +#~ msgid "Font for the main window" +#~ msgstr "Tipus de lletra de la finestra principal" + +#~ msgid "Height of the channel list" +#~ msgstr "Alçada de la llista de canals" + +#~ msgid "Height of the main window" +#~ msgstr "Alçada de la finestra principal" + +#~ msgid "" +#~ "If set to true, when you join a server without automatically joining a " +#~ "channel, the channel list dialog will be displayed" +#~ msgstr "" +#~ "Si s'estableix a «true», en entrar a un servidor sense entrar " +#~ "automàticament a cap canal, es mostrarà el diàleg amb la llista de canals" + +#~ msgid "Languages to use for spellchecking" +#~ msgstr "Idiomes per als quals s'utilitzarà la comprovació ortogràfica" + +#~ msgid "List of enabled plugins" +#~ msgstr "Llista dels connectors habilitats" + +#~ msgid "Message sent on away" +#~ msgstr "Missatge que s'envia en commutar a absent" + +#~ msgid "Message sent on channel part" +#~ msgstr "Missatge que s'envia en sortir d'un canal" + +#~ msgid "Message sent on quit" +#~ msgstr "Missatge que s'envia en desconnectar-se" + +#~ msgid "Position of the horizontal pane in the main window" +#~ msgstr "Posició de la subfinestra horitzontal dins de la finestra principal" + +#~ msgid "Selected background type" +#~ msgstr "Tipus de fons seleccionat" + +#~ msgid "Show colors in the main window" +#~ msgstr "Mostra colors a la pantalla principal" + +#~ msgid "Show timestamps in the main window" +#~ msgstr "Mostra la marca horària a la finestra principal" + +#~ msgid "Width of the channel list" +#~ msgstr "Amplada de la llista de canals" + +#~ msgid "Width of the main window" +#~ msgstr "Amplada de la finestra principal" + +#~ msgid "X position of the main window on the screen" +#~ msgstr "Posició X de la finestra principal a la pantalla" + +#~ msgid "Y position of the main window on the screen" +#~ msgstr "Posició Y de la finestra principal a la pantalla" + +#~ msgid "xchat configuration version" +#~ msgstr "versió de la configuració de l'xchat" + +#~ msgid "_Open Link in Browser" +#~ msgstr "_Obre l'enllaç en el navegador" + +#~ msgid "_Copy Link Location" +#~ msgstr "_Copia l'adreça de l'enllaç" + +#~ msgid "Se_nd Message To..." +#~ msgstr "E_nvia el missatge a..." + +#~ msgid "_Send File" +#~ msgstr "_Envia un fitxer" + +#~ msgid "Paste File _Contents" +#~ msgstr "Enganxa el _contingut del fitxer" + +#~ msgid "Paste File_name" +#~ msgstr "Enganxa el _nom del fitxer" + +#~ msgid "" +#~ "URI list dropped on XChat-GNOME had wrong format (%d) or length (%d)\n" +#~ msgstr "" +#~ "La llista d'URIs deixada anar a l'XChat-GNOME té un format (%d) o " +#~ "llargada (%d) incorrectes\n" + +#~ msgid "Error reading file \"%s\": %s\n" +#~ msgstr "S'ha produït un error en llegir el fitxer «%s»: %s\n" + +#~ msgid "Error converting URI \"%s\" into filename: %s\n" +#~ msgstr "" +#~ "S'ha produït un error en convertir l'URI «%s» en un nom de fitxer: %s\n" + +#~ msgid "Error retrieving file information for \"%s\": %s\n" +#~ msgstr "" +#~ "S'ha produït un error en obtenir la informació del fitxer «%s»: %s\n" + +#~ msgid "Save Transcript" +#~ msgstr "Desa la transcripció" + +#~ msgid "Error saving %s" +#~ msgstr "S'ha produït un error en desar %s" + +#~ msgid "%" +#~ msgstr "%" + +#~ msgid "Remaining" +#~ msgstr "Restant" + +#~ msgid "Incoming File Transfer" +#~ msgstr "Transferència de fitxer d'entrada" + +#~ msgid "" +#~ "%s is attempting to send you a file named \"%s\". Do you wish to accept " +#~ "the transfer?" +#~ msgstr "%s vol enviar-vos el fitxer «%s». Voleu acceptar la transferència?" + +#~ msgid "" +#~ "<b>%s</b>\n" +#~ "<small>from %s</small>\n" +#~ "%s of %s" +#~ msgstr "" +#~ "<b>%s</b>\n" +#~ "<small>de %s</small>\n" +#~ "%s de %s" + +#~ msgid "starting" +#~ msgstr "s'està iniciant" + +#~ msgid "" +#~ "<b>%s</b>\n" +#~ "<small>from %s</small>\n" +#~ "%s of %s at %s/s" +#~ msgstr "" +#~ "<b>%s</b>\n" +#~ "<small>de %s</small>\n" +#~ "%s de %s a %s/s" + +#~ msgid "queued" +#~ msgstr "s'ha posat a la cua" + +#~ msgid "Transfer of %s to %s failed" +#~ msgstr "No s'ha pogut transferir %s a %s" + +#~ msgid "Transfer of %s from %s failed" +#~ msgstr "No s'ha pogut transferir %s a %s" + +#~ msgid "Transfer failed" +#~ msgstr "No s'ha pogut completar la transferència" + +#~ msgid "stalled" +#~ msgstr "s'ha encallat" + +#~ msgid "%.2d:%.2d:%.2d" +#~ msgstr "%.2d:%.2d:%.2d" + +#~ msgid "%.2d:%.2d" +#~ msgstr "%.2d:%.2d" + +#~ msgid "Send File..." +#~ msgstr "Envia un fitxer..." + +#~ msgid "Use directory instead of the default config dir" +#~ msgstr "Utilitza aquest directori en comptes del directori per defecte" + +#~ msgid "Open an irc:// url" +#~ msgstr "Obre una url de tipus irc://" + +#~ msgid "Open URL in an existing XChat-GNOME instance" +#~ msgstr "Obre l'URL en una instància existent de l'XChat-GNOME" + +#~ msgid "" +#~ "xchat-gnome: %s\n" +#~ "Try `xchat-gnome --help' for more information\n" +#~ msgstr "" +#~ "xchat-gnome: %s\n" +#~ "Proveu `xchat-gnome --help' per a més informació\n" + +#~ msgid "Incoming DCC Chat" +#~ msgstr "Xat DCC d'entrada" + +#~ msgid "" +#~ "%s is attempting to create a direct chat. Do you wish to accept the " +#~ "connection?" +#~ msgstr "%s vol crear un xat directe. Voleu acceptar la connexió?" + +#~ msgid "Unable to show '%s'" +#~ msgstr "No s'ha pogut mostrar «%s»" + +#~ msgid "_Previous" +#~ msgstr "_Anterior" + +#~ msgid "_Next" +#~ msgstr "_Següent" + +#~ msgid "" +#~ "<span foreground=\"dark grey\">Reached end, continuing from top</span>" +#~ msgstr "" +#~ "<span foreground=\"dark grey\">S'ha arribat al capdavall, es continuarà " +#~ "des del capdamunt</span>" + +#~ msgid "" +#~ "<span foreground=\"dark grey\">Reached beginning, continuing from bottom</" +#~ "span>" +#~ msgstr "" +#~ "<span foreground=\"dark grey\">S'ha arribat al capdamunt, es continuarà " +#~ "des del capdavall</span>" + +#~ msgid "<span foreground=\"red\">Search string not found</span>" +#~ msgstr "<span foreground=\"red\">No s'ha trobat la cadena de cerca</span>" + +#~ msgid "%s Network Properties" +#~ msgstr "Propietats de la xarxa %s" + +#~ msgid "Invalid input" +#~ msgstr "Entrada incorrecta" + +#~ msgid "You must enter a network name" +#~ msgstr "Heu d'introduir un nom de xarxa" + +#~ msgid "You must enter a nick name" +#~ msgstr "Heu d'introduir un sobrenom" + +#~ msgid "You must enter a real name" +#~ msgstr "Heu d'introduir un nom real" + +#~ msgid "UTF-8 (Unicode)" +#~ msgstr "UTF-8 (Unicode)" + +#~ msgid "ISO-8859-15 (Western Europe)" +#~ msgstr "ISO-8859-15 (Europa occidental)" + +#~ msgid "ISO-8859-2 (Central Europe)" +#~ msgstr "ISO-8859-2 (Europa central)" + +#~ msgid "ISO-8859-7 (Greek)" +#~ msgstr "ISO-8859-7 (grec)" + +#~ msgid "ISO-8859-8 (Hebrew)" +#~ msgstr "ISO-8859-8 (hebreu)" + +#~ msgid "ISO-8859-9 (Turkish)" +#~ msgstr "ISO-8859-9 (turc)" + +#~ msgid "ISO-2022-JP (Japanese)" +#~ msgstr "ISO-2022-JP (japonès)" + +#~ msgid "SJIS (Japanese)" +#~ msgstr "SJIS (japonès)" + +#~ msgid "CP949 (Korean)" +#~ msgstr "CP949 (coreà)" + +#~ msgid "KOI8-R (Cyrillic)" +#~ msgstr "KOI8-R (ciríl·lic)" + +#~ msgid "CP1251 (Cyrillic)" +#~ msgstr "CP1251 (ciríl·lic)" + +#~ msgid "CP1256 (Arabic)" +#~ msgstr "CP1256 (àrab)" + +#~ msgid "CP1257 (Baltic)" +#~ msgstr "CP1257 (bàltic)" + +#~ msgid "GB18030 (Chinese)" +#~ msgstr "GB18030 (xinès)" + +#~ msgid "TIS-620 (Thai)" +#~ msgstr "TIS-620 (tailandès)" + +#~ msgid "In_sert" +#~ msgstr "In_sereix" + +#~ msgid "_Network" +#~ msgstr "Xarxa" + +#~ msgid "_Discussion" +#~ msgstr "_Conversa" + +#~ msgid "_Go" +#~ msgstr "_Vés a" + +#~ msgid "_Connect..." +#~ msgstr "_Connecta..." + +#~ msgid "_File Transfers" +#~ msgstr "Transferències de _fitxers" + +#~ msgid "Cu_t" +#~ msgstr "Re_talla" + +#~ msgid "Prefere_nces" +#~ msgstr "Preferè_ncies..." + +#~ msgid "_Save Transcript" +#~ msgstr "_Desa la transcripció" + +#~ msgid "_Leave" +#~ msgstr "_Surt" + +#~ msgid "Cl_ose" +#~ msgstr "_Tanca" + +#~ msgid "_Find" +#~ msgstr "_Cerca" + +#~ msgid "Change _Topic" +#~ msgstr "Canvia el _tema" + +#~ msgid "_Users" +#~ msgstr "_Usuaris" + +#~ msgid "Ex-Chat" +#~ msgstr "Xat" + +#~ msgid "Error showing help" +#~ msgstr "S'ha produït un error en mostrar l'ajuda" + +#~ msgid "" +#~ "The way the D-Bus plugin works has changed.\n" +#~ "To avoid problems, you should remove the old plugin file.\n" +#~ "\n" +#~ "<b>Please delete %s</b>" +#~ msgstr "" +#~ "El funcionament del connector del D-Bus ha canviat.\n" +#~ "És recomanable que suprimiu el fitxer del connector antic.\n" +#~ "\n" +#~ "<b>Si us plau, suprimiu %s</b>" + +#~ msgid "D-Bus plugin is still installed" +#~ msgstr "El connector del D-Bus encara està instal·lat" + +#~ msgid "Pre_vious Network" +#~ msgstr "Xarxa _anterior" + +#~ msgid "Nex_t Network" +#~ msgstr "Xarxa _següent" + +#~ msgid "_Previous Discussion" +#~ msgstr "Conversa a_nterior" + +#~ msgid "_Next Discussion" +#~ msgstr "Conversa s_egüent" + +#~ msgid "_Join" +#~ msgstr "_Entra-hi" + +#~ msgid "_Auto-join on connect" +#~ msgstr "_Entra-hi en connectar" + +#~ msgid "Black on White" +#~ msgstr "Negre sobre blanc" + +#~ msgid "White on Black" +#~ msgstr "Blanc sobre negre" + +#~ msgid "Custom" +#~ msgstr "Personalitzat" + +#~ msgid "System Theme Colors" +#~ msgstr "Colors del sistema" + +#~ msgid "File Transfers & DCC" +#~ msgstr "Transferències de fitxers" + +#~ msgid "Effects" +#~ msgstr "Efectes" + +#~ msgid "An error occurred unloading %s" +#~ msgstr "S'ha produït un error en descarregar %s" + +#~ msgid "Plugin Unload Failed" +#~ msgstr "S'ha produït un error en descarregar el connector" + +#~ msgid "Plugin Load Failed" +#~ msgstr "S'ha produït un error en carregar el connector" + +#~ msgid "Open Plugin" +#~ msgstr "Obre un connector" + +#~ msgid "Scripts and Plugins" +#~ msgstr "Scripts i connectors" + +#~ msgid "Enable" +#~ msgstr "Habilita" + +#~ msgid "Plugin" +#~ msgstr "Connector" + +#~ msgid "Error in language %s activation: %s\n" +#~ msgstr "S'ha produït un error en activar l'idioma %s: %s\n" + +#~ msgid "Error in spell checking configuration: %s\n" +#~ msgstr "" +#~ "S'ha produït un error en la configuració de la comprovació ortogràfica: %" +#~ "s\n" + +#~ msgid "Spell checking" +#~ msgstr "Comprovació de l'ortografia" + +#~ msgid "" +#~ "In order to get spell-checking, you need to have libenchant installed " +#~ "with at least one dictionary." +#~ msgstr "" +#~ "Per a poder utilitzar la comprovació de l'ortografia heu de tenir la " +#~ "llibrerialibenchant instal·lada amb un diccionari com a mínim." + +#~ msgid "_Check spelling" +#~ msgstr "_Comprova l'ortografia" + +#~ msgid "Choose languages to use for spellcheck:" +#~ msgstr "Seleccioneu els idiomes per als quals es comprovarà l'ortografia:" + +#~ msgid "Language" +#~ msgstr "Idioma" + +#~ msgid "%s%.1fs lag" +#~ msgstr "%s%.1fs de retard" + +#~ msgid "Error in spellchecking configuration: %s\n" +#~ msgstr "" +#~ "S'ha produït un error a la configuració de la comprovació ortogràfica: %" +#~ "s\n" + +#~ msgid "Black" +#~ msgstr "Negre" + +#~ msgid "Dark Blue" +#~ msgstr "Blau fosc" + +#~ msgid "Dark Green" +#~ msgstr "Verd fosc" + +#~ msgid "Brown" +#~ msgstr "Marró" + +#~ msgid "Purple" +#~ msgstr "Porpra" + +#~ msgid "Orange" +#~ msgstr "Taronja" + +#~ msgid "Yellow" +#~ msgstr "Groc" + +#~ msgid "Aqua" +#~ msgstr "Aigua marina" + +#~ msgid "Light Blue" +#~ msgstr "Blau clar" + +#~ msgid "Violet" +#~ msgstr "Violeta" + +#~ msgid "Grey" +#~ msgstr "Gris" + +#~ msgid "Light Grey" +#~ msgstr "Gris clar" + +#~ msgid "Changing topic for %s" +#~ msgstr "S'ha canviat el tema de %s" + +#~ msgid "_Send File..." +#~ msgstr "Envia un fitxer" + +#~ msgid "_Kick" +#~ msgstr "_Fes fora" + +#~ msgid "_Ban" +#~ msgstr "_Bandeja" + +# FIXME (dpm) Què fa op exactament? (menú contextual de la llista d'usuaris) +# Crec que habilita el mode d'operador per a l'usuari seleccionat. +#~ msgid "_Op" +#~ msgstr "Fes-lo _operador" + +#~ msgid "" +#~ "%s\n" +#~ "<span weight=\"bold\">Name:</span> %s" +#~ msgstr "" +#~ "%s\n" +#~ "<span weight=\"bold\">Nom:</span> %s" + +#~ msgid "" +#~ "%s\n" +#~ "<span weight=\"bold\">Country:</span> %s" +#~ msgstr "" +#~ "%s\n" +#~ "<span weight=\"bold\">País:</span> %s" + +#~ msgid "" +#~ "%s\n" +#~ "<span weight=\"bold\">Last message:</span> %d minute ago" +#~ msgid_plural "" +#~ "%s\n" +#~ "<span weight=\"bold\">Last message:</span> %d minutes ago" +#~ msgstr[0] "" +#~ "%s\n" +#~ "<span weight=\"bold\">Últim missatge:</span> fa %d minut" +#~ msgstr[1] "" +#~ "%s\n" +#~ "<span weight=\"bold\">Últim missatge:</span> fa %d minuts" + +#~ msgid "" +#~ "%s\n" +#~ "<span weight=\"bold\">Away message:</span> %s" +#~ msgstr "" +#~ "%s\n" +#~ "<span weight=\"bold\">Missatge d'absència:</span> %s" + +#~ msgid "%d User" +#~ msgid_plural "%d Users" +#~ msgstr[0] "%d usuari" +#~ msgstr[1] "%d usuaris" + +#~ msgid "_Information" +#~ msgstr "Informatiu" + +#~ msgid "Send a File" +#~ msgstr "Envia un fitxer" + +#~ msgid "_Connect" +#~ msgstr "Connecta" + +#~ msgid "Nick Name:" +#~ msgstr "Sobrenom:" + +#~ msgid "Orientation" +#~ msgstr "Argentina" + +#~ msgid "The orientation of the tray." +#~ msgstr "Sobrenom de la persona" + +#~ msgid "channel" +#~ msgstr "Canal" + +#~ msgid "server" +#~ msgstr "Servidor" + +#~ msgid "id" +#~ msgstr "Cerca" + +#~ msgid "name" +#~ msgstr "Nom" + +#~ msgid "Failed to complete command" +#~ msgstr "" +#~ "Error en obrir el tipus de lletra:\n" +#~ "\n" +#~ "%s" + +#~ msgid "Failed to complete SetContext" +#~ msgstr "" +#~ "Error en obrir el tipus de lletra:\n" +#~ "\n" +#~ "%s" + +#~ msgid "Failed to complete print" +#~ msgstr "" +#~ "Error en obrir el tipus de lletra:\n" +#~ "\n" +#~ "%s" + +#~ msgid "Failed to complete GetInfo" +#~ msgstr "" +#~ "Error en obrir el tipus de lletra:\n" +#~ "\n" +#~ "%s" + +#~ msgid "Failed to complete GetPrefs" +#~ msgstr "" +#~ "Error en obrir el tipus de lletra:\n" +#~ "\n" +#~ "%s" + +#~ msgid "Disconnected" +#~ msgstr "Desconnecta" + +#~ msgid "_Auto-join" +#~ msgstr "_Automàtic" diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 00000000..210a31cd --- /dev/null +++ b/po/cs.po @@ -0,0 +1,5721 @@ +# Translation of `xchat' messages to Czech. +# Copyright (C) 1999 Free Software Foundation, Inc. +# Jakub Moc <Jakub.Moc@volny.cz>, 1999. +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.8.4\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2007-06-24 13:05+1000\n" +"PO-Revision-Date: 2007-06-26 11:42+0200\n" +"Last-Translator: Martin Šín <martin.sin@zshk.cz>\n" +"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "Nemohu vytvořit ~/.xchat2" + +#: src/common/cfgfiles.c:712 +msgid "I'm busy" +msgstr "Pracuji" + +#: src/common/cfgfiles.c:713 +msgid "Leaving" +msgstr "Odcházím" + +#: src/common/cfgfiles.c:760 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Spuštění IRC pod uživatelem root je hloupé! Měli byste si\n" +" vytvořit uživatelský účet a ten používat pro přihlášení.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Čekám" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Aktivní" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Selhalo" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Hotovo" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:797 +msgid "Connect" +msgstr "Připojit" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Zrušeno" + +#: src/common/dcc.c:1886 src/common/outbound.c:2452 +#, c-format +msgid "Cannot access %s\n" +msgstr "Nemohu přistoupit k %s\n" + +#: src/common/dcc.c:1887 src/common/text.c:1164 src/common/text.c:1202 +#: src/common/text.c:1213 src/common/text.c:1220 src/common/text.c:1233 +#: src/common/text.c:1250 src/common/text.c:1350 src/common/util.c:352 +msgid "Error" +msgstr "Chyba" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s nabízí \"%s\". Souhlasíte?" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "Žádné aktivní DCC\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "ANO " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "NE " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Jste zavalen CTCP od %s, ignoruji %s\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "Jste zavalen MSG od %s, nastavuji gui_auto_open_dialog na VYPNUTO.\n" + +#: src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s online\n" + +#: src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s offline\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Nejste připojeni k žádnému kanálu. Zkuste /join #<channel>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Nepřipojeno. Zkuste /server <host> [<port>]\n" + +#: src/common/outbound.c:339 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Označen jako pryč: %s\n" + +#: src/common/outbound.c:409 +msgid "Already marked back.\n" +msgstr "Označen jako zpět.\n" + +#: src/common/outbound.c:1814 +msgid "I need /bin/sh to run!\n" +msgstr "Pro spuštění potřebuji /bin/sh !\n" + +#: src/common/outbound.c:2185 +msgid "Commands Available:" +msgstr "Dostupné příkazy:" + +#: src/common/outbound.c:2199 +msgid "User defined commands:" +msgstr "Uživatelské příkazy:" + +#: src/common/outbound.c:2215 +msgid "Plugin defined commands:" +msgstr "Příkazy obsažené v pluginu:" + +#: src/common/outbound.c:2226 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Pro více informací zadejte /HELP <command>, nebo /HELP -l" + +#: src/common/outbound.c:2301 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Ignorován neznámý argument '%s'." + +#: src/common/outbound.c:3235 +msgid "No such plugin found.\n" +msgstr "Nebyl nalezen žádný plugin.\n" + +#: src/common/outbound.c:3240 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Tento plugin se odmítá uvolnit z paměti.\n" + +#: src/common/outbound.c:3509 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <name> <action>, přidá tlačítko pod uživatelským seznamem." + +#: src/common/outbound.c:3511 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, pošle příkaz na všechny kanály, na kterých jste" + +#: src/common/outbound.c:3513 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <cmd>, pošle příkaz na všechny kanály, na kterých jste" + +#: src/common/outbound.c:3515 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, pošle příkaz na všechny servery, na kterých jste" + +#: src/common/outbound.c:3516 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<reason>], nastaví že jste pryč" + +#: src/common/outbound.c:3517 +msgid "BACK, sets you back (not away)" +msgstr "BACK, vás nastaví zpět (přítomen)" + +#: src/common/outbound.c:3519 +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> [<bantype>], zakáže každého, kdo odpovídá masce na aktuálním " +"kanálu. Pokud se již nacházíte na kanálu, nedojde k jeho vyhození (na to je " +"potřeba chanop)" + +#: src/common/outbound.c:3521 +msgid "" +"Set per channel options\n" +"CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part " +"messages\n" +"CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +"CHANOPT BEEP ON|OFF - Toggle beep on message\n" +"CHANOPT TRAY ON|OFF - Toggle tray blink on message" +msgstr "" +"Množina voleb kanálu\n" +"CHANOPT CONFMODE ON|OFF - Zapne mód zobrazující připojení a částečné zprávy " +"kanálu\n" +"CHANOPT COLORPASTE ON|OFF - Zapne barvu\n" +"CHANOPT BEEP ON|OFF - Zapne zvuk při zprávě\n" +"CHANOPT TRAY ON|OFF - Zapne blikání při zprávě" + +#: src/common/outbound.c:3528 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR [ALL|HISTORY], smaže aktuální textové okno nebo historii příkazů" + +#: src/common/outbound.c:3529 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, zavře aktuální okno/kartu" + +#: src/common/outbound.c:3532 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|wildcard>, nalezne kód země, např: cs = CR" + +#: src/common/outbound.c:3534 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" +"CTCP <nick> <zpráva>, pošle zprávu CTCP dané přezdívce, běžné zprávy jsou " +"VERSION a USERINFO" + +#: src/common/outbound.c:3536 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "" +"CYCLE [<channel>], odejde z aktuálního nebo zadaného kanálu a ihned se zas " +"připojí" + +#: src/common/outbound.c:3538 +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 "" +"\n" +"DCC GET <nick> - přijme nabízený soubor\n" +"DCC SEND [-maxcps=#] <nick> [file] - pošle někomu soubor\n" +"DCC PSEND [-maxcps=#] <nick> [file] - pošle soubor pomocí pasivního módu\n" +"DCC LIST - zobrazí seznam DCC\n" +"DCC CHAT <nick> - nabídne někomu DCC CHAT\n" +"DCC PCHAT <nick> - nabídne DCC CHAT v pasivní režimu\n" +"DCC CLOSE <type> <nick> <file> příklad:\n" +" /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3550 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" +"DEHOP <nick>, odstraní právo chanhalf-op z přezdívky na aktuálním kanálu " +"(vyžaduje chanop)" + +#: src/common/outbound.c:3552 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <name>, smaže tlačítko pod uživatelským seznamem" + +#: src/common/outbound.c:3554 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEOP <nick>, odstraní právo chanop z přezdívky na aktuálním kanálu (vyžaduje " +"chanop)" + +#: src/common/outbound.c:3556 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEVOICE <nick>, odstraní právo voice z přezdívky na aktuálním kanálu " +"(vyžaduje chanop)" + +#: src/common/outbound.c:3557 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, odpojí se od serveru" + +#: src/common/outbound.c:3558 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <nick|host|ip>, nalezne uživatelovu IP adresu" + +#: src/common/outbound.c:3559 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, napíše text lokálně" + +#: src/common/outbound.c:3562 +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] <command>, spustí příkaz. Je-li nastavena značka -o, bude výstup " +"zobrazen na aktuálním kanálu, jinak se vytiskne do aktuálního textového pole" + +#: src/common/outbound.c:3564 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, pošle procesu SIGCONT" + +#: src/common/outbound.c:3567 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" +"EXECKILL [-9], zabije spuštěný příkaz v současném sezení. Pokud předáte " +"procesu -9, bude proces SIGKILLed" + +#: src/common/outbound.c:3569 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, pošle procesu signál SIGSTOP" + +#: src/common/outbound.c:3570 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, pošle data z procesu na stdin" + +#: src/common/outbound.c:3574 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, vymaže aktuální frontu zpráv serveru" + +#: src/common/outbound.c:3576 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>], použije proxy hostitele, výchozí port je 23" + +#: src/common/outbound.c:3580 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <nick> <password>, zabije ducha přezdívky" + +#: src/common/outbound.c:3585 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nick>, předá právo chanhalf-op přezdívce (vyžaduje chanop)" + +#: src/common/outbound.c:3586 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <password>, identifikuje vás pro nickserv" + +#: src/common/outbound.c:3588 +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 <mask> <types..> <options..>\n" +" mask - maska hostitele, kterého chcete ignorovat, např: *!*@*.aol.com\n" +" types - typ igrnorování, jeden nebo všechny z:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" + +#: src/common/outbound.c:3595 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" +"INVITE <nick> [<channel>], pozve někoho na kanál, výchozí je aktuální " +"aktuální kanál (vyžaduje chanop)" + +#: src/common/outbound.c:3596 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <channel>, připojí se ke kanálu" + +#: src/common/outbound.c:3598 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <nick>, vyhodí nick z aktuálního kanálu (vyžaduje chanop)" + +#: src/common/outbound.c:3600 +msgid "" +"KICKBAN <nick>, bans then kicks the nick from the current channel (needs " +"chanop)" +msgstr "" +"KICKBAN <nick>, vypoví a pak vyhodí nick z aktuálního kanálu (vyžaduje " +"chanop)" + +#: src/common/outbound.c:3603 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, vynutí novou kontrolu lagu" + +#: src/common/outbound.c:3605 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <string>, hledá řetězec v bufferu" + +#: src/common/outbound.c:3607 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <file>, nahraje plugin nebo skript" + +#: src/common/outbound.c:3610 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" +"MDEHOP, hromadný deop všech chanhalf-op v aktuálním kanálu (vyžaduje chanop)" + +#: src/common/outbound.c:3612 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" +"MDEHOP, hromadný deop všech chanop v aktuálním kanálu (vyžaduje chanop)" + +#: src/common/outbound.c:3614 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in " +"the 3rd person, like /me jumps)" +msgstr "" +"ME <action>, pošle na aktuální kanál nějakou akci (akce jsou psány v třetí " +"osobě, např. /me jumps)" + +#: src/common/outbound.c:3618 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" +"MKICK, hromadný vyhozov všech kromě vás aktuálním kanálu (vyžaduje chanop)" + +#: src/common/outbound.c:3621 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, hromadný op všech uživatelů na aktuálním kanálu (vyžaduje chanop)" + +#: src/common/outbound.c:3622 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <nick> <message>, pošle soukromou zprávu" + +#: src/common/outbound.c:3625 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, zobrazí seznam přezdívek v aktuálním kanálu" + +#: src/common/outbound.c:3627 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <message>, pošle poznámku CTCP" + +#: src/common/outbound.c:3628 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostname> [<port>]" + +#: src/common/outbound.c:3629 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nickname>, nastaví váš nick" + +#: src/common/outbound.c:3632 +msgid "" +"NOTICE <nick/channel> <message>, sends a notice. Notices are a type of " +"message that should be auto reacted to" +msgstr "" +"NOTICE <nick/channel> <message>, pošle poznámku. Poznámka je typ zprávy, na " +"kterou může být zpětně reagováno" + +#: src/common/outbound.c:3634 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" +"NOTIFY [-n network1[,network2,...]] [<nick>], zobrazí váš seznam upozornění " +"nebo tam někoho přidá" + +#: src/common/outbound.c:3636 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>, dá právo chanop určené přezdívce (vyžaduje chanop)" + +#: src/common/outbound.c:3638 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "" +"PART [<channel>] [<reason>], opustí kanál, ve výchozím nastavení ten aktuální" + +#: src/common/outbound.c:3640 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | channel>, CTCP ping přezdívky nebo kanálu" + +#: src/common/outbound.c:3642 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <nick>, otevře nové okno pro privmsg přezdívky" + +#: src/common/outbound.c:3644 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reason>], odpojí se od aktuálního serveru" + +#: src/common/outbound.c:3646 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <text>, pošle text serveru" + +#: src/common/outbound.c:3649 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /" +"RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Může být volán stejně jako /" +"RECONNECT pro nové připojení k aktuálnímu serveru nebo pomocí /RECONNECT ALL " +"pro připojení ke všem otevřeným serverům" + +#: src/common/outbound.c:3652 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" +"RECONNECT [<host>] [<port>] [<password>], Může být volán stejně jako /" +"RECONNECT pro nové připojení k aktuálnímu serveru nebo pomocí /RECONNECT ALL " +"pro připojení ke všem otevřeným serverům" + +#: src/common/outbound.c:3654 +msgid "" +"RECV <text>, send raw data to xchat, as if it was received from the irc " +"server" +msgstr "" +"RECV <text>, pošle text xchatu, stejně jako by byl přijmut od serveru irc" + +#: src/common/outbound.c:3657 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>, pošle text do aktuálního okna" + +#: src/common/outbound.c:3658 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<file>]" + +#: src/common/outbound.c:3661 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" +"SERVCHAN [-ssl] <host> <port> <channel>, připojí se a vstoupí do kanálu" + +#: src/common/outbound.c:3664 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <channel>, připojí se a vstoupí do kanálu" + +#: src/common/outbound.c:3668 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" +"SERVER [-ssl] <host> [<port>] [<password>], připojí se k serveru na výchozím " +"portu 6667 pro běžná připojení a portu 9999 pro připojení ssl" + +#: src/common/outbound.c:3671 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" +"SERVER <host> [<port>] [<password>], připojí se k serveru na výchozím portu " +"6667" + +#: src/common/outbound.c:3673 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-or] [-quiet] <variable> [<value>]" + +#: src/common/outbound.c:3674 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<position>" + +#: src/common/outbound.c:3679 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<topic>], nastaví téma kanálu, jinak ukáže aktuální téma" + +#: src/common/outbound.c:3681 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Změní ikonu podle jmen souborů.\n" +"TRAY -f <filename> Nastaví ikonu na pevnou.\n" +"TRAY -i <number> Zabliká ikonou v daném intervalu.\n" +"TRAY -t <text> Nastaví tip ikony.\n" +"TRAY -b <title> <text> Nastaví kontextovou nápovědu ikony.." + +#: src/common/outbound.c:3688 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], povolí danou masku." + +#: src/common/outbound.c:3689 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:3690 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <name>, uvolní z paměti plugin nebo skript" + +#: src/common/outbound.c:3691 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, otevře URL ve vašem prohlížeči" + +#: src/common/outbound.c:3693 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "" +"USELECT [-a] [-s] <nick1> <nick2> atd, zvýrazní nick v uživatelském seznamu " +"kanálu" + +#: src/common/outbound.c:3696 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>, přidá právo hlasování někomu (vyžaduje chanop)" + +#: src/common/outbound.c:3698 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <message>, napíše zpráva všem na kanálu" + +#: src/common/outbound.c:3700 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <message>, pošle zprávu všem chanop na aktuálním kanálu" + +#: src/common/outbound.c:3733 +#, c-format +msgid "Usage: %s\n" +msgstr "Použití: %s\n" + +#: src/common/outbound.c:3738 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"K přikazu není k dispozici žádná nápověda.\n" + +#: src/common/outbound.c:3744 +msgid "No such command.\n" +msgstr "Takový příkaz neexistuje.\n" + +#: src/common/outbound.c:4074 +msgid "Bad arguments for user command.\n" +msgstr "Špatné argumenty přikazu.\n" + +#: src/common/outbound.c:4230 +msgid "Too many recursive usercommands, aborting." +msgstr "Příliš mnoho rekurzivních příkazů, ruším." + +#: src/common/outbound.c:4307 +msgid "Unknown Command. Try /help\n" +msgstr "Neznámý příkaz. Zkuste /help\n" + +#: src/common/plugin.c:356 src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Žádný symbol xchat_plugin_init; jedná se určitě o plugin xchatu?" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Jste si jistí, že server podporuje SSL a tento port?\n" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Nemohu přeložit hostitele %s\n" +"Zkontrolujte vaše nastavení IP!\n" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "Překlad proxy selhal.\n" + +#: src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Zkouším další server v %s...\n" + +#: src/common/servlist.c:1074 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" +"Čekám: symbol \"%s\" je neznámý. Pro síť %s nebude použita žádná konverze." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 přidán do seznamu oznámení" + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tNemohu připojit%C26 %B$1 %O(Byl jste vypovězen)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 je nyní znám jako $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 nastavil ban na $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tKanál $1 vytvořen na $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O odstranil práva half-operator z%C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O odstranil práva operator z%C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O odstranil hlas z%C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 osvobodil $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O dal právo half-operator%C26 $2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 vás pozval na $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UKanál Uživatelé Téma" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 nastavil mód $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Kanál $1 módy: $2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O dal právo operator%C26 $2" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 zrušil osvobození na $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 zrušil pozvání na $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 zrušil klíčové slovo kanálu" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 zrušil limit uživatele" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 nastavil klíčové slovo kanálu na $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 nastavil limit kanálu na $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 zrušil ban na $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O dal hlas%C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Připojen. Přihlašuji se..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Přihlašuji se k $1 ($2) port $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Přihlášení selhalo. Chyba: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tObdržen CTCP $1 od $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tObdržen CTCP $1 od $2 (na $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tObdržel sondu CTCP $1 od $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tObdržel sondu CTCP $1 od $2 (na $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC CHAT s %C26$1%O zrušen." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tPřipojení DCC CHAT navázáno s %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tDCC CHAT s %C26$1%O ztraceno ($4)." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tPřijata nabídka DCC CHAT od $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tNabízí DCC CHAT $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tJiž nabízí CHAT $1" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tPožadavek $1 na DCC připojení k%C26 $2%O selhal (err=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tPřišel '$1%O' od $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Typ Do/Od Stav Velikost Poz Soubor " + +#: src/common/textevents.h:147 +msgid "" +"%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O" +"$tContents of packet: $2" +msgstr "%C22*%O$tPřišel zkomolený požadavek DCC od %C26$1%O.%010%C22*%O" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tNabízí%C26 $1%O k%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tTakový požadavek DCC neexistuje." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV%C26 $2%O k%C26 $1%O zrušen." + +#: src/common/textevents.h:159 +msgid "" +"%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "" +"%C22*%O$tDCC RECV%C26 $1%O od%C26 $3%O hotovo %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tPřipojení DCC RECV vytvořeno s%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O od%C26 $3%O selhalo ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: Nemohu otevřít $1 pro zápis ($2)." + +#: src/common/textevents.h:171 +msgid "" +"%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tThe file%C26 $1%C již existuje, ukládám jako%C26 $2%O." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Opožádal o zopakování%C26 $2 %Cz%C26 $3%C." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND%C26 $2%O s%C26 $1%O zrušen." + +#: src/common/textevents.h:180 +msgid "" +"%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC SEND%C26 $1%O s%C26 $2%O hotovo %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tPřipojení DCC SEND vytvořeno s%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O s%C26 $2%O selhalo. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Onabídl%C26 $2 %O(%C26$3 %Obytů)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Os%C26 $3 %Czastaveno - ruším." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Os%C26 $3 %Ovypršelo - ruším." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 smazán ze seznamu upozornění." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tOdpojen ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tNalezena vaše IP: [$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O přidán do seznamu ignorovaných." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Ignorování %C26$1%O změněno." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Maska PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O odstraněn ze seznamu ignorovaných." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " Seznam ignorovaných je prázdný." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tNemohu se připojit%C26 %B$1 %O(Kanál je pouze pro zvané)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tByl jste pozván do%C26 $1%O od%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) přišel do $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tNemohu se připojit%C26 %B$1 %O(Vyžaduje klíčové slovo)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 vykopl $2 z $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tByl jste zabit $1 ($2%O%C22)" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD přeskočena." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 se již používá. Zkouším s $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tPřezdívka se již používá. Použijte /NICK a zkuste jinou." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tTakový DCC neexistuje." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tŽádný proces v současné době neběží" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tSeznam upozornění je prázdný." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Seznam upozornění " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 uživatelů v seznamu upozornění." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tUpozornění: $1 je offline ($3)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tUpozornění: $1 je online ($3)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) opustil $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) opustil $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tOdpověď ping od $1: $2 sekund" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tŽádná odpověď na ping po $1 sekund, odpojuji." + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tA proces již běží" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 odešel (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 nastavil módy%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tHledám IP adresu pro%C26 $1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Připojen." + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Hledá $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tUkončen předchozí pokus o připojení (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Téma pro $1%C %C29je: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 změnil téma na: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Téma pro $1%C %C29nastavil $2%C %C29v $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tNeznámý počítač. Možná špatně napsán?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "" +"%C22*%O$tNemohu se připojit k%C26 %B$1 %O(Uživatelský limit překročen)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Uživatelů na $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cje pryč %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OKonec seznamu WHOIS." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O nečinnost%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O nečinnost%C26 $2%O, přihlášen:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Ouživatel@počítač%C27 $2%O, IP adresa%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Nyní hovoříte na $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tByl jste vykopnut z $2 od $3 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tOpustil jste kanál $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tOpustil jste kanál $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tByl jste pozván%C26 $1%O na%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tJste znám jako $2" + +#: src/common/text.c:287 +msgid "Loaded log from" +msgstr "Načtený log z" + +#: src/common/text.c:305 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** KONČÍM ZÁZNAM V %s\n" + +#: src/common/text.c:514 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ZAČÍNÁM ZÁZNAM V %s\n" + +#: src/common/text.c:533 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Nemohu otevřít soubor(y) se záznamem pro zápis.\n" +" Zkontrolujte oprávnění k %s/xchatlogs" + +#: src/common/text.c:871 +msgid "Left message" +msgstr "Zpráva při ukončení" + +#: src/common/text.c:872 +msgid "Right message" +msgstr "Zpráva při ukončení" + +#: src/common/text.c:876 +msgid "The nick of the joining person" +msgstr "Přezdívka připojujícího se člověka" + +#: src/common/text.c:877 +msgid "The channel being joined" +msgstr "Připojil jste se ke kanálu" + +#: src/common/text.c:878 src/common/text.c:925 src/common/text.c:976 +msgid "The host of the person" +msgstr "Osobní počítač" + +#: src/common/text.c:882 src/common/text.c:888 src/common/text.c:895 +#: src/common/text.c:1083 src/common/text.c:1090 src/common/text.c:1095 +#: src/common/text.c:1100 src/common/text.c:1105 src/common/text.c:1111 +#: src/common/text.c:1116 src/common/text.c:1120 src/common/text.c:1126 +#: src/common/text.c:1132 src/common/text.c:1178 src/common/text.c:1189 +#: src/common/text.c:1194 src/common/text.c:1199 src/common/text.c:1208 +#: src/common/text.c:1219 src/common/text.c:1226 src/common/text.c:1232 +#: src/common/text.c:1237 src/common/text.c:1242 src/common/text.c:1249 +#: src/common/text.c:1255 src/common/text.c:1261 src/common/text.c:1266 +#: src/common/text.c:1271 src/common/text.c:1275 src/common/text.c:1281 +#: src/common/text.c:1289 src/common/text.c:1323 src/common/text.c:1328 +msgid "Nickname" +msgstr "Přezdívka" + +#: src/common/text.c:883 +msgid "The action" +msgstr "Akce" + +#: src/common/text.c:884 src/common/text.c:890 +msgid "Mode char" +msgstr "Znak módu" + +#: src/common/text.c:889 +msgid "The text" +msgstr "Text" + +#: src/common/text.c:891 src/common/text.c:897 +msgid "Identified text" +msgstr "Textová identifikace" + +#: src/common/text.c:896 src/common/text.c:953 src/common/text.c:959 +msgid "The message" +msgstr "Zpráva" + +#: src/common/text.c:901 src/common/text.c:963 +msgid "Old nickname" +msgstr "Stará přezdívka" + +#: src/common/text.c:902 src/common/text.c:964 +msgid "New nickname" +msgstr "Nová přezdívka" + +#: src/common/text.c:906 +msgid "Nick of person who changed the topic" +msgstr "Přezdívka osoby, která změnila téma" + +#: src/common/text.c:907 src/common/text.c:913 src/fe-gtk/chanlist.c:756 +#: src/fe-gtk/chanlist.c:859 +msgid "Topic" +msgstr "Téma:" + +#: src/common/text.c:908 src/common/text.c:912 src/common/text.c:1343 +#: src/fe-gtk/chanlist.c:754 src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Kanál" + +#: src/common/text.c:917 src/common/text.c:970 +msgid "The nickname of the kicker" +msgstr "Přezdívka vyhazovače" + +#: src/common/text.c:918 src/common/text.c:968 +msgid "The person being kicked" +msgstr "Osoba bude vyhozena" + +#: src/common/text.c:919 src/common/text.c:926 src/common/text.c:930 +#: src/common/text.c:935 src/common/text.c:969 src/common/text.c:977 +#: src/common/text.c:984 +msgid "The channel" +msgstr "Kanál" + +#: src/common/text.c:920 src/common/text.c:971 src/common/text.c:978 +msgid "The reason" +msgstr "Důvod" + +#: src/common/text.c:924 src/common/text.c:975 +msgid "The nick of the person leaving" +msgstr "Přezdívka odcházející osoby" + +#: src/common/text.c:931 src/common/text.c:937 +msgid "The time" +msgstr "Čas" + +#: src/common/text.c:936 +msgid "The creator" +msgstr "Autor" + +#: src/common/text.c:941 src/fe-gtk/dccgui.c:763 src/fe-gtk/dccgui.c:994 +msgid "Nick" +msgstr "Nick" + +#: src/common/text.c:942 src/common/text.c:1195 +msgid "Reason" +msgstr "Důvod" + +#: src/common/text.c:943 src/common/text.c:1085 src/common/text.c:1168 +msgid "Host" +msgstr "Hostitel" + +#: src/common/text.c:947 src/common/text.c:952 src/common/text.c:957 +msgid "Who it's from" +msgstr "Odkud je" + +#: src/common/text.c:948 +msgid "The time in x.x format (see below)" +msgstr "Čas ve formátu x.x (podívejte se dále)" + +#: src/common/text.c:958 src/common/text.c:995 +msgid "The Channel it's going to" +msgstr "Kanál k" + +#: src/common/text.c:982 +msgid "The sound" +msgstr "Zvuk" + +#: src/common/text.c:983 src/common/text.c:989 src/common/text.c:994 +msgid "The nick of the person" +msgstr "Přezdívka osoby" + +#: src/common/text.c:988 src/common/text.c:993 +msgid "The CTCP event" +msgstr "Událost CTCP" + +#: src/common/text.c:999 +msgid "The nick of the person who set the key" +msgstr "Přezdívka osoby, která nastavila klíč" + +#: src/common/text.c:1000 +msgid "The key" +msgstr "Klíč" + +#: src/common/text.c:1004 +msgid "The nick of the person who set the limit" +msgstr "Přezdívka osoby, která nastavila limit" + +#: src/common/text.c:1005 +msgid "The limit" +msgstr "Limit" + +#: src/common/text.c:1009 +msgid "The nick of the person who did the op'ing" +msgstr "Přezdívka osoby, která může op-ovat" + +#: src/common/text.c:1010 +msgid "The nick of the person who has been op'ed" +msgstr "Přezdívka osoby, která byla op-ována" + +#: src/common/text.c:1014 +msgid "The nick of the person who has been halfop'ed" +msgstr "Přezdívka osoby, která byla halfop-ována" + +#: src/common/text.c:1015 +msgid "The nick of the person who did the halfop'ing" +msgstr "Přezdívka osoby, která může halfop-ovat" + +#: src/common/text.c:1019 +msgid "The nick of the person who did the voice'ing" +msgstr "Přezdívka osoby, o které bylo hlasováno" + +#: src/common/text.c:1020 +msgid "The nick of the person who has been voice'ed" +msgstr "Přezdívka osoby, která byla hlasována" + +#: src/common/text.c:1024 +msgid "The nick of the person who did the banning" +msgstr "Přezdívka osoby, která byla vykázána" + +#: src/common/text.c:1025 src/common/text.c:1052 +msgid "The ban mask" +msgstr "Maska banu" + +#: src/common/text.c:1029 +msgid "The nick who removed the key" +msgstr "Přezdívka toho, kdo odstranil klíč" + +#: src/common/text.c:1033 +msgid "The nick who removed the limit" +msgstr "Přezdívka toho, kdo odstranil limit" + +#: src/common/text.c:1037 +msgid "The nick of the person of did the deop'ing" +msgstr "Přezdívka toho, kdo dělá deop-ování" + +#: src/common/text.c:1038 +msgid "The nick of the person who has been deop'ed" +msgstr "Přezdívka toho, kdo byl deop-ován" + +#: src/common/text.c:1041 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Přezdívka toho, kdo byl deop-ován" + +#: src/common/text.c:1042 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Přezdívka toho, kdo byl dehalfop-ován" + +#: src/common/text.c:1046 +msgid "The nick of the person of did the devoice'ing" +msgstr "Přezdívka toho, kdo dělá hlasování" + +#: src/common/text.c:1047 +msgid "The nick of the person who has been devoice'ed" +msgstr "Přezdívka toho, kdo byl zbaven hlasování" + +#: src/common/text.c:1051 +msgid "The nick of the person of did the unban'ing" +msgstr "Přezdívka toho, kdo může odbanovat" + +#: src/common/text.c:1056 +msgid "The nick of the person who did the exempt" +msgstr "Přezdívka toho, kdo může osvobodit" + +#: src/common/text.c:1057 src/common/text.c:1062 +msgid "The exempt mask" +msgstr "Vyňatá maska" + +#: src/common/text.c:1061 +msgid "The nick of the person removed the exempt" +msgstr "Přezdívka osoby, která odstranila výjimku" + +#: src/common/text.c:1066 +msgid "The nick of the person who did the invite" +msgstr "Přezdívka osoby, která provedla pozvání" + +#: src/common/text.c:1067 src/common/text.c:1072 +msgid "The invite mask" +msgstr "Maska pro pozvání" + +#: src/common/text.c:1071 +msgid "The nick of the person removed the invite" +msgstr "Přezdívka osoby, která odstranila pozvání" + +#: src/common/text.c:1076 +msgid "The nick of the person setting the mode" +msgstr "Přezdívka osoby, která nastavuje mód" + +#: src/common/text.c:1077 +msgid "The mode's sign (+/-)" +msgstr "Znaménka módu (+/-)" + +#: src/common/text.c:1078 +msgid "The mode letter" +msgstr "Znaky módu" + +#: src/common/text.c:1079 +msgid "The channel it's being set on" +msgstr "Kanál na kterém to bude nastaveno" + +#: src/common/text.c:1084 +msgid "Username" +msgstr "Uživatelské jméno" + +#: src/common/text.c:1086 +msgid "Full name" +msgstr "Celé jméno" + +#: src/common/text.c:1091 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Příslušenství ke kanálu/\"je operátor IRC\"" + +#: src/common/text.c:1096 +msgid "Server Information" +msgstr "Informace o serveru" + +#: src/common/text.c:1101 src/common/text.c:1106 +msgid "Idle time" +msgstr "Doba nečinnosti" + +#: src/common/text.c:1107 +msgid "Signon time" +msgstr "Čas přihlášení" + +#: src/common/text.c:1112 +msgid "Away reason" +msgstr "Důvod nepřítomnosti" + +#: src/common/text.c:1121 src/common/text.c:1127 src/common/text.c:1135 +#: src/common/text.c:1315 +msgid "Message" +msgstr "Zpráva" + +#: src/common/text.c:1128 +msgid "Account" +msgstr "Účet" + +#: src/common/text.c:1133 +msgid "Real user@host" +msgstr "Skutený uživatel@počítač" + +#: src/common/text.c:1134 +msgid "Real IP" +msgstr "Skutečná IP" + +#: src/common/text.c:1139 src/common/text.c:1148 src/common/text.c:1154 +#: src/common/text.c:1184 src/common/text.c:1338 +msgid "Channel Name" +msgstr "Jméno kanálu" + +#: src/common/text.c:1143 src/common/text.c:1301 src/fe-gtk/menu.c:1240 +#: src/fe-gtk/menu.c:1420 src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "Text" + +#: src/common/text.c:1144 src/common/text.c:1150 src/common/text.c:1179 +#: src/common/text.c:1297 src/common/text.c:1339 +msgid "Server Name" +msgstr "Jméno serveru" + +#: src/common/text.c:1149 +msgid "Nick of person who invited you" +msgstr "Přezdívka uživatele, který vás pozval" + +#: src/common/text.c:1155 src/fe-gtk/chanlist.c:755 +msgid "Users" +msgstr "Uživatelé" + +#: src/common/text.c:1159 +msgid "Nickname in use" +msgstr "Přezdívka se používá" + +#: src/common/text.c:1160 +msgid "Nick being tried" +msgstr "Přezdívka bude vyzkoušena" + +#: src/common/text.c:1169 src/common/text.c:1305 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1170 src/common/text.c:1201 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1180 src/fe-gtk/notifygui.c:139 src/fe-gtk/setup.c:1669 +msgid "Network" +msgstr "Síť" + +#: src/common/text.c:1185 src/common/text.c:1190 +msgid "Modes string" +msgstr "Módy" + +#: src/common/text.c:1200 src/common/text.c:1238 src/common/text.c:1243 +#: src/common/text.c:1284 +msgid "IP address" +msgstr "IP adresa" + +#: src/common/text.c:1206 src/common/text.c:1231 +msgid "DCC Type" +msgstr "Typ DCC" + +#: src/common/text.c:1207 src/common/text.c:1212 src/common/text.c:1217 +#: src/common/text.c:1224 src/common/text.c:1244 src/common/text.c:1248 +#: src/common/text.c:1254 src/common/text.c:1260 src/common/text.c:1267 +#: src/common/text.c:1276 src/common/text.c:1282 +msgid "Filename" +msgstr "Jméno souboru" + +#: src/common/text.c:1218 src/common/text.c:1225 +msgid "Destination filename" +msgstr "Požadované jméno souboru" + +#: src/common/text.c:1227 src/common/text.c:1256 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1262 +msgid "Pathname" +msgstr "Cesta" + +#: src/common/text.c:1277 src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "Pozice" + +#: src/common/text.c:1283 src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "Velikost" + +#: src/common/text.c:1288 +msgid "DCC String" +msgstr "Řetězec DCC" + +#: src/common/text.c:1293 +msgid "Number of notify items" +msgstr "Počet položek k oznámení" + +#: src/common/text.c:1309 +msgid "Old Filename" +msgstr "Původní název souboru" + +#: src/common/text.c:1310 +msgid "New Filename" +msgstr "Nový název souboru" + +#: src/common/text.c:1314 +msgid "Receiver" +msgstr "Přijímač" + +#: src/common/text.c:1319 +msgid "Hostmask" +msgstr "Maska hostitele" + +#: src/common/text.c:1324 +msgid "Hostname" +msgstr "Hostitelský název" + +#: src/common/text.c:1329 +msgid "The Packet" +msgstr "Balíček" + +#: src/common/text.c:1333 +msgid "Seconds" +msgstr "Sekund" + +#: src/common/text.c:1337 +msgid "Nick of person who have been invited" +msgstr "Přezdívka pozvaného uživatele" + +#: src/common/text.c:1344 +msgid "Banmask" +msgstr "Maska pro ban" + +#: src/common/text.c:1345 +msgid "Who set the ban" +msgstr "Kdo nastavil ban" + +#: src/common/text.c:1346 +msgid "Ban time" +msgstr "Trvání banu" + +#: src/common/text.c:1386 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Chyba při analýze události %s.\n" +"Načítám výchozí nastavení." + +#: src/common/text.c:2079 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Nemůžu přečíst zvkukový soubor:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "Vzdálený počítač zavřel soket" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Připojení odmítnuto" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "Není cesta k počítači" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Připojení vypršelo" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Nemohu přiřadit tuto adresu" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Připojení resetováno hostitelem" + +#: src/common/util.c:839 +msgid "Ascension Island" +msgstr "Ostrov Nanebevstoupení" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "Andora" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "Spojené arabské emiráty" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "Afgánistán" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "Antigua a Barbuda" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "Albánie" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "Arménie" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "Nizozemské Antily" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:849 +msgid "Antarctica" +msgstr "Antarktida" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "Reverzní DNS" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "Americká Samoa" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "Rakousko" + +#: src/common/util.c:854 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "Austrálie" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:857 +msgid "Aland Islands" +msgstr "Alandské ostrovy" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "Ázerbájdžán" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "Bosna a Hercegovina" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "Bangladéš" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "Belgie" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "Bulharsko" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "Businesses" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "Bermudy" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "Bolívie" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "Brazílie" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "Bahamy" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "Bouvet Island" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "Bělorusko" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "Kokosové ostrovy" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "Demokratická republika Kongo" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "Středoafrická republika" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "Švýcarsko" + +#: src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "Cote d'Ivoire" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "Cook Islands" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:889 +msgid "China" +msgstr "Čína" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "Kolombie" + +#: src/common/util.c:891 +msgid "Internic Commercial" +msgstr "Internic Commercial" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "Srbsko a Černá hora" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "Cape Verde" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "Vánoční ostrov" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "Kypr" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "Česká republika" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "Německo" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "Dánsko" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "Dominkánská republika" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "Algeria" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "Ekvádor" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "Vzdělávací instituce" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "Estonsko" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "Egypt" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "Západní Sahara" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "Španělsko" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "Etiopie" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "Evropská unie" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "Finsko" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "Fidži" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "Falklandské ostrovy" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "Mikronésie" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "Faroe Islands" + +#: src/common/util.c:919 +msgid "France" +msgstr "Francie" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "Velká Británie" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "Gruzie" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "Francouzská Guayana" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "Britské satelitní ostrovy" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "Grónsko" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:931 +msgid "Government" +msgstr "Vláda" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "Rovníková Guinea" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "Řecko" + +#: src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "S. Georgia a S. Sandwich Isles" + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "Heard a McDonald Islands" + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "Chorvatsko" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "Maďarsko" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "Indonésie" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "Irsko" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "Isle of Man" + +#: src/common/util.c:950 +msgid "India" +msgstr "Indie" + +#: src/common/util.c:951 +msgid "Informational" +msgstr "Infromační" + +#: src/common/util.c:952 +msgid "International" +msgstr "Mezinárodní" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "Britské teritorium Indického oceánu" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "Irák" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "Irán" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "Island" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "Itálie" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "Jamajka" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "Jordánsko" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "Japonsko" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "Keňa" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "Kyrgyzstán" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "Kambodža" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "Comoros" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts and Nevis" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "Severní Korea" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "Jižní Korea" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "Kuvajt" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "Cayman Islands" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "Kazachstán" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "Lichtenštejnsko" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "Srí Lanka" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "Libérie" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "Litva" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "Lucembursko" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "Lotyšsko" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "Libya" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "Maroko" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "Moldávie" + +#: src/common/util.c:987 +msgid "United States Medical" +msgstr "United States Medical" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "Marshall Islands" + +#: src/common/util.c:990 +msgid "Military" +msgstr "Vojenské" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "Makedonie" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "Mongolsko" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "Northern Mariana Islands" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "Mauretánie" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "Maldivy" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "Mexiko" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "Malajsie" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "Mozambik" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "Namibie" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "Nová Kaledonie" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:1010 +msgid "Internic Network" +msgstr "Internic Network" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "Norfolk Island" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "Nigérie" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "Holandsko" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "Norsko" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "Nepál" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "Nový Zéland" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "Omán" + +#: src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "Internic Non-Profit Organization" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "Francouzská Polynésie" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "Papua-Nová Guinea" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "Filipíny" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "Pákistán" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "Polsko" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre and Miquelon" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "Palestinské teritorium" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "Portugalsko" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "Sjednocení" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "Rumunsko" + +#: src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "Starý školní ARPAnet" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "Ruská federace" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "Saudská arábie" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "Šalamounovy ostrovy" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "Seychelles" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "Súdán" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "Švédsko" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "Slovinsko" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard and Jan Mayen Islands" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "Slovenská republika" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "Somálsko" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "Sao Tome and Principe" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "Bývalé USSR" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "El Salvádor" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "Sýrie" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "Turks and Caicos Islands" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "Čad" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "Francouzská jižní teritoria" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "Thajsko" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "Tajikistan" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1069 src/common/util.c:1073 +msgid "East Timor" +msgstr "Východní Timor" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "Turkménistán" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "Tunis" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "Turecko" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "Trinidad a Tobago" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "Tanzánie" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "Ukrajina" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "Spojené Království" + +#: src/common/util.c:1082 +msgid "United States of America" +msgstr "USA" + +#: src/common/util.c:1083 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:1084 +msgid "Uzbekistan" +msgstr "Uzbekistán" + +#: src/common/util.c:1085 +msgid "Vatican City State" +msgstr "Městský stát Vatikán" + +#: src/common/util.c:1086 +msgid "St. Vincent and the Grenadines" +msgstr "St. Vincent and the Grenadines" + +#: src/common/util.c:1087 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:1088 +msgid "British Virgin Islands" +msgstr "British Virgin Islands" + +#: src/common/util.c:1089 +msgid "US Virgin Islands" +msgstr "US Virgin Islands" + +#: src/common/util.c:1090 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:1091 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1092 +msgid "Wallis and Futuna Islands" +msgstr "Wallis and Futuna Islands" + +#: src/common/util.c:1093 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1094 +msgid "Yemen" +msgstr "Yemen" + +#: src/common/util.c:1095 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:1096 +msgid "Yugoslavia" +msgstr "Jugoslávie" + +#: src/common/util.c:1097 +msgid "South Africa" +msgstr "Jižní Afrika" + +#: src/common/util.c:1098 +msgid "Zambia" +msgstr "Zambie" + +#: src/common/util.c:1099 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/util.c:1109 src/common/util.c:1119 src/fe-gtk/menu.c:553 +#: src/fe-gtk/menu.c:558 src/fe-gtk/menu.c:562 src/fe-gtk/menu.c:566 +#: src/fe-gtk/menu.c:574 src/fe-gtk/menu.c:592 +msgid "Unknown" +msgstr "Neznámé" + +#: src/common/xchat.c:767 src/common/xchat.c:893 +msgid "Open Dialog Window" +msgstr "Otevřít dialogové okno" + +#: src/common/xchat.c:768 +msgid "Send a File" +msgstr "Poslat soubor" + +#: src/common/xchat.c:769 +msgid "User Info (WHOIS)" +msgstr "Informace o uživateli (WHOIS)" + +#: src/common/xchat.c:770 +msgid "Operator Actions" +msgstr "Akce operátora" + +#: src/common/xchat.c:772 src/common/xchat.c:863 +msgid "Give Ops" +msgstr "Dát práva Op" + +#: src/common/xchat.c:773 src/common/xchat.c:864 +msgid "Take Ops" +msgstr "Vzít práva Op" + +#: src/common/xchat.c:774 src/common/xchat.c:867 +msgid "Give Voice" +msgstr "Dát hlas" + +#: src/common/xchat.c:775 src/common/xchat.c:868 +msgid "Take Voice" +msgstr "Vzít hlas" + +#: src/common/xchat.c:777 src/common/xchat.c:872 +msgid "Kick/Ban" +msgstr "Kick/Ban" + +#: src/common/xchat.c:778 src/common/xchat.c:873 src/common/xchat.c:922 +msgid "Kick" +msgstr "Kick" + +#: src/common/xchat.c:779 src/common/xchat.c:780 src/common/xchat.c:781 +#: src/common/xchat.c:782 src/common/xchat.c:783 src/common/xchat.c:874 +#: src/common/xchat.c:875 src/common/xchat.c:876 src/common/xchat.c:877 +#: src/common/xchat.c:878 src/common/xchat.c:921 +msgid "Ban" +msgstr "Ban" + +#: src/common/xchat.c:784 src/common/xchat.c:785 src/common/xchat.c:786 +#: src/common/xchat.c:787 src/common/xchat.c:879 src/common/xchat.c:880 +#: src/common/xchat.c:881 src/common/xchat.c:882 +msgid "KickBan" +msgstr "KickBan" + +#: src/common/xchat.c:850 +msgid "Direct client-to-client" +msgstr "Přímo klient-klient" + +#: src/common/xchat.c:851 +msgid "Send File" +msgstr "Poslat soubor" + +#: src/common/xchat.c:852 +msgid "Offer Chat" +msgstr "Nabídnout hovor" + +#: src/common/xchat.c:853 +msgid "Abort Chat" +msgstr "Zrušit hovor" + +#: src/common/xchat.c:854 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Verze" + +#: src/common/xchat.c:855 +msgid "Userinfo" +msgstr "Uživatelinfo" + +#: src/common/xchat.c:856 +msgid "Clientinfo" +msgstr "Klientinfo" + +#: src/common/xchat.c:857 src/common/xchat.c:891 src/common/xchat.c:939 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:858 +msgid "Time" +msgstr "Čas" + +#: src/common/xchat.c:859 +msgid "Finger" +msgstr "Prst" + +#: src/common/xchat.c:860 +msgid "Oper" +msgstr "Oper" + +#: src/common/xchat.c:861 +msgid "Kill this user" +msgstr "Zabít tohoto uživatele" + +#: src/common/xchat.c:862 +msgid "Mode" +msgstr "Mód" + +#: src/common/xchat.c:865 +msgid "Give Half-Ops" +msgstr "Dát práva Half-Op" + +#: src/common/xchat.c:866 +msgid "Take Half-Ops" +msgstr "Vzít Half-Op" + +#: src/common/xchat.c:869 +msgid "Ignore" +msgstr "Ignorovat" + +#: src/common/xchat.c:870 +msgid "Ignore User" +msgstr "Ignorovat uživatele" + +#: src/common/xchat.c:871 +msgid "UnIgnore User" +msgstr "Zrušit ignoraci uživatele" + +#: src/common/xchat.c:883 +msgid "Info" +msgstr "Informace" + +#: src/common/xchat.c:884 +msgid "Who" +msgstr "Kdo" + +#: src/common/xchat.c:885 src/common/xchat.c:935 +msgid "WhoIs" +msgstr "KdoJe" + +#: src/common/xchat.c:886 +msgid "DNS Lookup" +msgstr "DNS Lookup" + +#: src/common/xchat.c:887 +msgid "Trace" +msgstr "Trasa" + +#: src/common/xchat.c:888 +msgid "UserHost" +msgstr "UserHost" + +#: src/common/xchat.c:889 +msgid "External" +msgstr "Externí" + +#: src/common/xchat.c:890 +msgid "Traceroute" +msgstr "Trasovat cestu" + +#: src/common/xchat.c:892 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:904 +msgid "Leave Channel" +msgstr "Opustit kanál" + +#: src/common/xchat.c:905 src/fe-gtk/menu.c:1427 +msgid "Join Channel..." +msgstr "Vstoupit do kanálu..." + +#: src/common/xchat.c:906 src/fe-gtk/menu.c:1117 +msgid "Enter Channel to Join:" +msgstr "Zadat kanál pro připojení:" + +#: src/common/xchat.c:907 +msgid "Server Links" +msgstr "Odkazy serveru" + +#: src/common/xchat.c:908 +msgid "Ping Server" +msgstr "Ping serveru" + +#: src/common/xchat.c:909 +msgid "Hide Version" +msgstr "Ukrýt verzi" + +#: src/common/xchat.c:919 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:920 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/xchat.c:923 +msgid "bye" +msgstr "hoj" + +#: src/common/xchat.c:924 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Zadat důvod vyhození %s:" + +#: src/common/xchat.c:925 +msgid "Sendfile" +msgstr "Poslat soubor" + +#: src/common/xchat.c:926 +msgid "Dialog" +msgstr "Dialog" + +#: src/common/xchat.c:936 +msgid "Send" +msgstr "Poslat" + +#: src/common/xchat.c:937 +msgid "Chat" +msgstr "Chat" + +#: src/common/xchat.c:938 src/fe-gtk/banlist.c:341 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Smazat" + +#: src/common/dbus/dbus-client.c:71 +msgid "Couldn't connect to session bus" +msgstr "Nemohu se připojit k sezení" + +#: src/common/dbus/dbus-client.c:85 +msgid "Failed to complete NameHasOwner" +msgstr "Chyba při vykonávání NameHasOwner" + +#: src/common/dbus/dbus-client.c:106 +msgid "Failed to complete Command" +msgstr "Chyba při vykonávání Command" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "vzdálený přístup" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "plugin pro vzdálený přístup používá DBUS" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Nemohu se připojit k sezení: %s\n" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Chyba při získání %s: %s\n" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "O XChatu" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "Multiplatformní klient IRC" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Mapa znaků" + +#: src/fe-gtk/banlist.c:113 src/fe-gtk/chanlist.c:305 +#: src/fe-gtk/plugin-tray.c:217 +msgid "Not connected." +msgstr "Nepřipojen" + +#: src/fe-gtk/banlist.c:154 src/fe-gtk/banlist.c:257 +msgid "You must select some bans." +msgstr "Musíte vybrat nějký ban." + +#: src/fe-gtk/banlist.c:206 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "Určitě chcete odstranit všechny bany na %s?" + +#: src/fe-gtk/banlist.c:272 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Maska" + +#: src/fe-gtk/banlist.c:273 +msgid "From" +msgstr "Z" + +#: src/fe-gtk/banlist.c:274 +msgid "Date" +msgstr "Datum" + +#: src/fe-gtk/banlist.c:317 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Okno se seznamem banů otevřet pouze pokud se nacházíte na kanálu." + +#: src/fe-gtk/banlist.c:321 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: Seznam Banů (%s)" + +#: src/fe-gtk/banlist.c:337 +msgid "Unban" +msgstr "Odbanovat" + +#: src/fe-gtk/banlist.c:339 +msgid "Crop" +msgstr "Sbalit" + +#: src/fe-gtk/banlist.c:343 +msgid "Refresh" +msgstr "Aktualizovat" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "%d/%d uživatelů na %d/%d kanálech." + +#: src/fe-gtk/chanlist.c:522 src/fe-gtk/menu.c:1053 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Vyberte požadovaný název souboru" + +#: src/fe-gtk/chanlist.c:626 src/fe-gtk/chanlist.c:789 +msgid "_Join Channel" +msgstr "_Připojit se ke kanálu" + +#: src/fe-gtk/chanlist.c:628 +msgid "_Copy Channel Name" +msgstr "_Zkopírovat jméno kanálu" + +#: src/fe-gtk/chanlist.c:630 +msgid "Copy _Topic Text" +msgstr "Zkopíruje _téma kanálu" + +#: src/fe-gtk/chanlist.c:714 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: Seznam kanálu (%s)" + +#: src/fe-gtk/chanlist.c:771 +msgid "_Search" +msgstr "_Vyhledávání" + +#: src/fe-gtk/chanlist.c:777 +msgid "_Download List" +msgstr "Seznam _stahování" + +#: src/fe-gtk/chanlist.c:783 +msgid "Save _List..." +msgstr "_Uložit seznam..." + +#: src/fe-gtk/chanlist.c:796 +msgid "Show only:" +msgstr "Pouze zobrazit:" + +#: src/fe-gtk/chanlist.c:808 +msgid "channels with" +msgstr "s kanály" + +#: src/fe-gtk/chanlist.c:821 +msgid "to" +msgstr "do" + +#: src/fe-gtk/chanlist.c:833 +msgid "users." +msgstr "uživatelů." + +#: src/fe-gtk/chanlist.c:839 +msgid "Look in:" +msgstr "Podívat se:" + +#: src/fe-gtk/chanlist.c:851 +msgid "Channel name" +msgstr "Jméno kanálu" + +#: src/fe-gtk/chanlist.c:872 +msgid "Search type:" +msgstr "Typ hledání:" + +#: src/fe-gtk/chanlist.c:879 +msgid "Simple Search" +msgstr "Jednoduché vyhledávání" + +#: src/fe-gtk/chanlist.c:880 +msgid "Pattern Match (Wildcards)" +msgstr "Maska odpovídá (Wildcards)" + +#: src/fe-gtk/chanlist.c:882 +msgid "Regular Expression" +msgstr "Regulární výraz" + +#: src/fe-gtk/chanlist.c:893 src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Najít:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "Poslat soubor %s" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "Nové odeslání souboru není možné." + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Nemohu přistoupit k souboru: %s\n" +"%s.\n" +"Nové poslání není možné." + +#: src/fe-gtk/dccgui.c:507 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" +"Stahovaný soubor je větší než se vejde na disk. Pokračování ve stahování " +"není možné." + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "Nemohu pokračovat ve stahování souboru od dvou lidí." + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: Upload a Download" + +#: src/fe-gtk/dccgui.c:756 src/fe-gtk/dccgui.c:993 src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "Stav" + +#: src/fe-gtk/dccgui.c:757 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Soubor" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:784 src/fe-gtk/menu.c:1421 +msgid "Both" +msgstr "Obě" + +#: src/fe-gtk/dccgui.c:790 +msgid "Uploads" +msgstr "Upload" + +#: src/fe-gtk/dccgui.c:796 +msgid "Downloads" +msgstr "Download" + +#: src/fe-gtk/dccgui.c:801 +msgid "Details" +msgstr "Detaily" + +#: src/fe-gtk/dccgui.c:812 +msgid "File:" +msgstr "Soubor:" + +#: src/fe-gtk/dccgui.c:813 +msgid "Address:" +msgstr "Adresa:" + +#: src/fe-gtk/dccgui.c:819 src/fe-gtk/dccgui.c:1014 +msgid "Abort" +msgstr "Zrušit" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1015 +msgid "Accept" +msgstr "Přijmout" + +#: src/fe-gtk/dccgui.c:821 +msgid "Resume" +msgstr "Pokračovat" + +#: src/fe-gtk/dccgui.c:822 +msgid "Open Folder..." +msgstr "Otevřít adresář" + +#: src/fe-gtk/dccgui.c:982 +msgid "XChat: DCC Chat List" +msgstr "XChat: Seznam DCC Chat" + +#: src/fe-gtk/dccgui.c:995 +msgid "Recv" +msgstr "Přijmuto" + +#: src/fe-gtk/dccgui.c:996 +msgid "Sent" +msgstr "Odesláno" + +#: src/fe-gtk/dccgui.c:997 +msgid "Start Time" +msgstr "Čas" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*NOVÉ*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "UPRAV MĚ" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "JMÉNO" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Příkaz" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Posun nahoru" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Posun dolů" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Zrušit" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Uložit" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Přidat nové" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Smazat" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Setřídit" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Nápověda" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "Nepřipojovat se automaticky k serverům" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "Použít jiný konfigurační adresář" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "Nenačítat automaticky žádné pluginy" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "Zobrazit adresář s automaticky načtenými pluginy" + +#: src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "Zobrazit uživatelský konfigurační adresář" + +#: src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "Otevřít URL irc://server:port/channel" + +#: src/fe-gtk/fe-gtk.c:133 +msgid "Open URL in an existing XChat" +msgstr "Otevře URL ve stávajícím XChatu" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Spustit minimalizované. Úroveň 0=Normální 1=Ikona 2=Oznamovací oblast" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "level" +msgstr "úroveň" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "Show version information" +msgstr "Zobrazit informace o verzi" + +#: src/fe-gtk/fe-gtk.c:256 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Chyba při otvírání písma:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:635 +msgid "Search buffer is empty.\n" +msgstr "Zjistit zda je buffer prázdný.\n" + +#: src/fe-gtk/fe-gtk.c:731 +#, c-format +msgid "%d bytes" +msgstr "%d bytů" + +#: src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Po síti posláno: %d bytů" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into " +"the entry box where you pressed the key sequence. Thus it can contain text " +"(which will be sent to the channel/person), commands or user commands. When " +"run all \\n characters in Data 1 are used to deliminate seperate commands so " +"it is possible to run more than one command. If you want a \\ in the actual " +"text run then enter \\\\" +msgstr "" +"Příkaz Spusit spustí data v Data 1 tak, jako by byla zadána do vstupního " +"pole, tam kde jste stiskli klíčovou sekvenci. Z tohoto důvodu může obsahovat " +"text (který bude poslán na kanál nebo člověku), příkazy a uživatelské " +"příkazy. Jakmile to spustíte, všechny znaky \\n v Data 1 jsou použity pro " +"oddělení příkazů, takže je možné spustit více jak jeden příkaz. Pokud chcete " +"\\ v aktuálním textu, pak zadejte \\\\" + +#: src/fe-gtk/fkeys.c:161 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1 " +"to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position" +msgstr "" +"Změna Stránky - příkazy pro přepínání mezi stránkami v záložkách. Nastavte " +"Data 1 na stránku na kterou se chcete přepnout. Pokud je Data 2 nastavena na " +"nějakou hodnotu, přepnutí bude relativní a bude se vztahovat k aktuální " +"pozici" + +#: src/fe-gtk/fkeys.c:163 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" +"Příkaz pro vkládání do bufferu - vloží obsah Data 1 do položky, kde byla " +"stisknuta klíčová sekvence. Vloží to na místo aktuální pozice kurzoru" + +#: src/fe-gtk/fkeys.c:165 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one " +"line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "" +"Příkaz pro posun stránky - pohybuje textovým polem nahoru a dolů nebo po " +"řádku. Nastavte Data 1 buď na nahoru, dolů, +1 nebo -1." + +#: src/fe-gtk/fkeys.c:167 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered to " +"the contents of Data 1" +msgstr "" +"Příkaz nastavení bufferu - nastaví položku, kde byla zadána řídící sekvence " +"na obsah Data 1" + +#: src/fe-gtk/fkeys.c:169 +msgid "" +"The Last Command command sets the entry to contain the last command entered " +"- the same as pressing up in a shell" +msgstr "" +"Příkaz pro poslední příkaz nastaví položku na obsah posledního příkazu, " +"který jsme zadali. Toho docílíme stiskem klávesy nahoru v shellu." + +#: src/fe-gtk/fkeys.c:171 +msgid "" +"The Next Command command sets the entry to contain the next command entered " +"- the same as pressing down in a shell" +msgstr "" +"Příkaz další nastaví položku na obsah dalšího příkazu, který jsme zadali. " +"Toho docílíme stiskem klávesy dolů v shellu" + +#: src/fe-gtk/fkeys.c:173 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the " +"last nick, not the next" +msgstr "" +"Tento příkaz změní text a provede jeho kompletaci z původně neúplné " +"přezdívky nebo příkazu. Pokud jsou Data 1 nastavena, můžeme stisknout " +"Tabulátor a vybrat nick." + +#: src/fe-gtk/fkeys.c:175 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set " +"to anything it will scroll up, else it scrolls down" +msgstr "" +"Tento příkaz umožní pohyb nahoru a dolů v seznamu přezdívek. Pokud jsou Data " +"1na něco nastavena, bude se pohybovat nahoru, jinak to bude dolů" + +#: src/fe-gtk/fkeys.c:177 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" +"Tento příkaz zkontroluje poslední zadané slovo ve vstupním poli proti " +"seznamu náhrad a nahradí ho, pokud najde odpovídající náhradu" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "Tento příkaz přesune otevřenou záložku o jednu doleva" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "Tento příkaz přesune otevřenou záložku o jednu doprava" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "Tento příkaz přesune aktuální rodinu záložek doleva" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "Tento příkaz přesune aktuální rodinu záložek doprava" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "Přesune vstupní řádek do historie, ale nepošle ho na server" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "Při načítání konfigurace klávesových zkratek došlo k chybě" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1616 src/fe-gtk/maingui.c:1719 +#: src/fe-gtk/maingui.c:3201 +msgid "<none>" +msgstr "<žádný>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "Mód" + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Klíč" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Akce" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: Klávesové zkratky" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "Data 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "Data 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "Chyba při načítání konfigurace kláves\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Chybný název klávesy %s v konfiguračním souboru\n" +"Načítání zrušeno, opravte prosím %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Neznámá akce %s kláves v konfiguračním souboru\n" +"Načítání zrušeno, opravte prosím %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Očekávám datový řádek (beginning Dx{:|!}) ale našel jsem:\n" +"%s\n" +"\n" +"Načítání zrušeno, opravte prosím %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Konfigurační soubor s přiřazením kláves je poškozen, načítání zrušeno\n" +"Opravte prosím %s/keybindings\n" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "Nemohu do tohoto souboru zapisovat." + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "Nemohu z tohoto souboru číst." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "Maska již existuje." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:2100 +msgid "Private" +msgstr "Důvěrné" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Poznámka" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Pozvat" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Zrušit ignoraci" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Zadejte masku pro ignorování:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "XChat: Seznam ignorovaných" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Stav ignorování:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Kanál:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Důvěrné:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Poznámka:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Pozvat:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:420 +msgid "Add..." +msgstr "Přidat..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "Název kanálu je příliš krátký, zkuste to znovu." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: Dokončení připojení" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "Připojení k %s je hotovo." + +#: src/fe-gtk/joind.c:159 +msgid "" +"In the Server-List window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" +"V okně se seznamem serverů, ne kanálů (místnost chat) bylo zadáno " +"automatické připojení k této síti." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Přejete si provést další?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_Ne, ke kanálu se připojím později." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "_Připojit se k tomuto kanálu:" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" +"Pokud víte jméno kanálu, kte kterému se chcete připojit, pak ho zde zadejte." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "O_tevřít seznam kanálů." + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "Získávám seznam kanálů, to může chvíli trvat." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "_Vždy zobrait tento dialog po požipojení." + +#: src/fe-gtk/maingui.c:500 +msgid "Dialog with" +msgstr "Dialog k" + +#: src/fe-gtk/maingui.c:787 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Téma pro %s je: %s" + +#: src/fe-gtk/maingui.c:792 +msgid "No topic is set" +msgstr "Žádné téma není nastaveno" + +#: src/fe-gtk/maingui.c:1177 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" +"Tento server má s tím asociováno %d kanálů nebo dialogů. Zavřít všechny?" + +#: src/fe-gtk/maingui.c:1304 +msgid "Quit XChat?" +msgstr "Ukončit XChat?" + +#: src/fe-gtk/maingui.c:1325 +msgid "Don't ask next time." +msgstr "Příště se neptat." + +#: src/fe-gtk/maingui.c:1331 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Jste připojen k %i sítím IRC." + +#: src/fe-gtk/maingui.c:1333 +msgid "Are you sure you want to quit?" +msgstr "Určitě chcete skončit?" + +#: src/fe-gtk/maingui.c:1335 +msgid "Some file transfers are still active." +msgstr "Některé přenosy souborů jsou stále aktivní." + +#: src/fe-gtk/maingui.c:1353 +msgid "_Minimize to Tray" +msgstr "_Schovat do ikony" + +#: src/fe-gtk/maingui.c:1567 +msgid "Insert Attribute or Color Code" +msgstr "Vložit atributy nebo barvy" + +#: src/fe-gtk/maingui.c:1569 +msgid "<b>Bold</b>" +msgstr "<b>Tučně</b>" + +#: src/fe-gtk/maingui.c:1570 +msgid "<u>Underline</u>" +msgstr "<u>Podtrženo</u>" + +#: src/fe-gtk/maingui.c:1572 +msgid "Normal" +msgstr "Normální" + +#: src/fe-gtk/maingui.c:1574 +msgid "Colors 0-7" +msgstr "Barvy 0-7" + +#: src/fe-gtk/maingui.c:1584 +msgid "Colors 8-15" +msgstr "Barvy 8-15" + +#: src/fe-gtk/maingui.c:1629 +msgid "Beep on message" +msgstr "Zazvonit při zprávě" + +#: src/fe-gtk/maingui.c:1632 +msgid "Blink tray on message" +msgstr "Zablikat při zprávě" + +#: src/fe-gtk/maingui.c:1635 +msgid "Show join/part messages" +msgstr "Zobrazit zprávu o příhlášní/odchodu" + +#: src/fe-gtk/maingui.c:1637 +msgid "Color paste" +msgstr "Vkládání barev" + +#: src/fe-gtk/maingui.c:1647 src/fe-gtk/menu.c:1950 +msgid "_Close Tab" +msgstr "_Zavřít záložku" + +#: src/fe-gtk/maingui.c:1649 src/fe-gtk/menu.c:1949 +msgid "_Detach Tab" +msgstr "_Odpojit Záložku" + +#: src/fe-gtk/maingui.c:1968 src/fe-gtk/maingui.c:2074 +msgid "User limit must be a number!\n" +msgstr "Uživatelský limit musí být číslo!\n" + +#: src/fe-gtk/maingui.c:2096 +msgid "Topic Protection" +msgstr "Ochrana tématu" + +#: src/fe-gtk/maingui.c:2097 +msgid "No outside messages" +msgstr "Žádné zprávy zvenku" + +#: src/fe-gtk/maingui.c:2098 +msgid "Secret" +msgstr "Tajné" + +#: src/fe-gtk/maingui.c:2099 +msgid "Invite Only" +msgstr "Pouze pozvat" + +#: src/fe-gtk/maingui.c:2101 +msgid "Moderated" +msgstr "Moderováno" + +#: src/fe-gtk/maingui.c:2102 +msgid "Ban List" +msgstr "Seznam vypovězených" + +#: src/fe-gtk/maingui.c:2104 +msgid "Keyword" +msgstr "Klíčové slovo" + +#: src/fe-gtk/maingui.c:2116 +msgid "User Limit" +msgstr "Uživatelský limit" + +#: src/fe-gtk/maingui.c:2225 +msgid "Show/Hide userlist" +msgstr "Zobrazit/skrýt seznam uživatelů" + +#: src/fe-gtk/maingui.c:2350 +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 "" +"Nemohu nastavit transparentní pozadí!\n" +"\n" +"Možná používáte nějaký netypický okenní\n" +"mazažer, který není v současné době podporován.\n" + +#: src/fe-gtk/maingui.c:2621 +msgid "Enter new nickname:" +msgstr "Zadejte novou přezdívku:" + +#: src/fe-gtk/menu.c:124 +msgid "Host unknown" +msgstr "Počítač není znám" + +#: src/fe-gtk/menu.c:544 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:549 src/fe-gtk/menu.c:553 +msgid "Real Name:" +msgstr "Skutečné jméno:" + +#: src/fe-gtk/menu.c:557 +msgid "User:" +msgstr "Uživatel:" + +#: src/fe-gtk/menu.c:561 +msgid "Country:" +msgstr "Země:" + +#: src/fe-gtk/menu.c:565 +msgid "Server:" +msgstr "Server:" + +#: src/fe-gtk/menu.c:577 +msgid "Away Msg:" +msgstr "Zpráva pryč:" + +#: src/fe-gtk/menu.c:587 +#, c-format +msgid "%u minutes ago" +msgstr "před %u minutami" + +#: src/fe-gtk/menu.c:589 src/fe-gtk/menu.c:592 +msgid "Last Msg:" +msgstr "Poslední zpráva:" + +#: src/fe-gtk/menu.c:704 +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 "" +"Panel s menu je nyní skrytý. Můžete ho opět zobrazit pomocí stisku klávesy " +"F9 nebo kliknutím pravého tlačítka myši na prázdnou plochu hlavního " +"textového pole." + +#: src/fe-gtk/menu.c:799 +msgid "Open Link in Browser" +msgstr "Otevřít odkaz v prohlížeči" + +#: src/fe-gtk/menu.c:800 +msgid "Copy Selected Link" +msgstr "Kopírovat vybraný odkaz" + +#: src/fe-gtk/menu.c:862 src/fe-gtk/menu.c:1100 +msgid "Join Channel" +msgstr "Připojit se ke kanálu" + +#: src/fe-gtk/menu.c:866 +msgid "Part Channel" +msgstr "Opustit kanál" + +#: src/fe-gtk/menu.c:868 +msgid "Cycle Channel" +msgstr "Otočit kanál" + +#: src/fe-gtk/menu.c:892 +msgid "XChat: User menu" +msgstr "X-Chat: Uživatelské menu" + +#: src/fe-gtk/menu.c:901 +msgid "Edit This Menu..." +msgstr "Upravit toto menu..." + +#: src/fe-gtk/menu.c:1102 +msgid "Retrieve channel list..." +msgstr "Získat seznam kanálů..." + +#: src/fe-gtk/menu.c:1170 +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 = xchat 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 "" +"Uživatelské příkazy - Speciální kódy:\n" +"\n" +"%c = aktuální kanál\n" +"%e = jméno aktuální sítě\n" +"%m = informace o počítači\n" +"%n = váš nick\n" +"%t = čas/datum\n" +"%v = verze xchatu\n" +"%2 = slovo 2\n" +"%3 = slovo 3\n" +"&2 = slovo 2 do konce řádku\n" +"&3 = slovo 3 do konce řádku\n" +"\n" +"např:\n" +"/cmd honza ahoj\n" +"\n" +"%2 bude \"honza\"\n" +"&2 bude \"honza ahoj\"." + +#: src/fe-gtk/menu.c:1186 +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 "" +"Uživatelská tlačítka - Speciální kódy:\n" +"\n" +"%a = všechny vybrané přezdívky\n" +"%c = aktuální kanál\n" +"%e = jméno aktuální sítě\n" +"%h = vybrat hostitelský název přezdívky\n" +"%m = informace o počítači\n" +"%n = váš nick\n" +"%s = vybraný nick\n" +"%t = čas/datum\n" + +#: src/fe-gtk/menu.c:1196 +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 "" +"Dialogová tlačítka - Speciální kódy:\n" +"\n" +"%a = všechny zvolené přezdívky\n" +"%c = aktuální kanál\n" +"%e = jméno aktuální sítě\n" +"%h = zvloený hostitelský název nicku\n" +"%m = informace o počítači\n" +"%n = váš nick\n" +"%s = zvolený nick\n" +"%t = čas/datum\n" + +#: src/fe-gtk/menu.c:1206 +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 "" +"Odpovědi CTCP - Speciální kódy:\n" +"\n" +"%d = data (kompletní ctcp)\n" +"%e = jméno aktuální sítě\n" +"%m = informace o počítači\n" +"%s = nick, který poslal ctcp\n" +"%t = čas/datum\n" +"%2 = slovo 2\n" +"%3 = slovo 3\n" +"&2 = slovo 2 do konce řádku\n" +"&3 = slovo 3 do konce řádku\n" +"\n" + +#: src/fe-gtk/menu.c:1217 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"Obsluhy URL - Speciální kódy:\n" +"\n" +"%s = řetězec URL\n" +"\n" +"Přidání ! na začátek příkazu symbolizuje,\n" +"že to chcete poslat shellu namísto\n" +"XChatu" + +#: src/fe-gtk/menu.c:1226 +msgid "XChat: User Defined Commands" +msgstr "X-Chat: Uživatelem definované příkazy" + +#: src/fe-gtk/menu.c:1233 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: Menu se seznamem uživatelů" + +#: src/fe-gtk/menu.c:1240 +msgid "Replace with" +msgstr "Nahradit s" + +#: src/fe-gtk/menu.c:1240 +msgid "XChat: Replace" +msgstr "X-Chat: Nahrazení" + +#: src/fe-gtk/menu.c:1247 +msgid "XChat: URL Handlers" +msgstr "XChat: Obsluhy URL" + +#: src/fe-gtk/menu.c:1266 +msgid "XChat: Userlist buttons" +msgstr "XChat: Tlačítka uživatelského seznamu" + +#: src/fe-gtk/menu.c:1273 +msgid "XChat: Dialog buttons" +msgstr "XChat: Dialogová tlačítka" + +#: src/fe-gtk/menu.c:1280 +msgid "XChat: CTCP Replies" +msgstr "XChat: Odpovědi CTCP" + +#: src/fe-gtk/menu.c:1378 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1379 +msgid "Network Li_st..." +msgstr "Se_znam sítí..." + +#: src/fe-gtk/menu.c:1382 +msgid "_New" +msgstr "_Nový" + +#: src/fe-gtk/menu.c:1383 +msgid "Server Tab..." +msgstr "Záložka serveru..." + +#: src/fe-gtk/menu.c:1384 +msgid "Channel Tab..." +msgstr "Záložka kanálu" + +#: src/fe-gtk/menu.c:1385 +msgid "Server Window..." +msgstr "Okno serveru..." + +#: src/fe-gtk/menu.c:1386 +msgid "Channel Window..." +msgstr "Okno kanálu..." + +#: src/fe-gtk/menu.c:1391 src/fe-gtk/menu.c:1393 +msgid "_Load Plugin or Script..." +msgstr "_Nahrát plugin nebo skript..." + +#: src/fe-gtk/menu.c:1401 src/fe-gtk/plugin-tray.c:463 +msgid "_Quit" +msgstr "_Konec" + +#: src/fe-gtk/menu.c:1403 +msgid "_View" +msgstr "Z_obrazit" + +#: src/fe-gtk/menu.c:1405 +msgid "_Menu Bar" +msgstr "Panel _menu" + +#: src/fe-gtk/menu.c:1406 +msgid "_Topic Bar" +msgstr "Panel _téma" + +#: src/fe-gtk/menu.c:1407 +msgid "_User List" +msgstr "Seznam _uživatelů" + +#: src/fe-gtk/menu.c:1408 +msgid "U_serlist Buttons" +msgstr "_Tlačítka seznamu uživatelů" + +#: src/fe-gtk/menu.c:1409 +msgid "M_ode Buttons" +msgstr "T_lačítka módů" + +#: src/fe-gtk/menu.c:1411 +msgid "_Channel Switcher" +msgstr "_Přepínač kanálu" + +#: src/fe-gtk/menu.c:1413 +msgid "_Tabs" +msgstr "_Záložky" + +#: src/fe-gtk/menu.c:1414 +msgid "T_ree" +msgstr "Stro_m" + +#: src/fe-gtk/menu.c:1416 +msgid "_Network Meters" +msgstr "_Měření sítě" + +#: src/fe-gtk/menu.c:1418 +msgid "Off" +msgstr "Vypnuto" + +#: src/fe-gtk/menu.c:1419 +msgid "Graph" +msgstr "Graf" + +#: src/fe-gtk/menu.c:1424 +msgid "_Server" +msgstr "_Server" + +#: src/fe-gtk/menu.c:1425 +msgid "_Disconnect" +msgstr "_Odpojit" + +#: src/fe-gtk/menu.c:1426 +msgid "_Reconnect" +msgstr "_Znovu připojit" + +#: src/fe-gtk/menu.c:1430 +msgid "Marked Away" +msgstr "Jsem pryč (AWAY)" + +#: src/fe-gtk/menu.c:1432 +msgid "_Usermenu" +msgstr "_Uživatelské menu" + +#: src/fe-gtk/menu.c:1434 +msgid "S_ettings" +msgstr "Nas_tavení" + +#: src/fe-gtk/menu.c:1435 +msgid "_Preferences" +msgstr "_Předvolby" + +#: src/fe-gtk/menu.c:1437 +msgid "Advanced" +msgstr "Pokročilá nastavení" + +#: src/fe-gtk/menu.c:1438 +msgid "Auto Replace..." +msgstr "Automaticky nahradit..." + +#: src/fe-gtk/menu.c:1439 +msgid "CTCP Replies..." +msgstr "CTCP odpovědi..." + +#: src/fe-gtk/menu.c:1440 +msgid "Dialog Buttons..." +msgstr "Dialogová tlačítka..." + +#: src/fe-gtk/menu.c:1441 +msgid "Keyboard Shortcuts..." +msgstr "Klávesové zkratky..." + +#: src/fe-gtk/menu.c:1442 +msgid "Text Events..." +msgstr "Textové události..." + +#: src/fe-gtk/menu.c:1443 +msgid "URL Handlers..." +msgstr "Obsluhy URL adres..." + +#: src/fe-gtk/menu.c:1444 +msgid "User Commands..." +msgstr "Uživatelské příkazy..." + +#: src/fe-gtk/menu.c:1445 +msgid "Userlist Buttons..." +msgstr "Tlačítka seznamu uživatelů..." + +#: src/fe-gtk/menu.c:1446 +msgid "Userlist Popup..." +msgstr "Okna seznamu uživatelů..." + +#: src/fe-gtk/menu.c:1449 +msgid "_Window" +msgstr "_Okno" + +#: src/fe-gtk/menu.c:1450 +msgid "Ban List..." +msgstr "Seznam banů..." + +#: src/fe-gtk/menu.c:1451 +msgid "Channel List..." +msgstr "Seznam kanálů..." + +#: src/fe-gtk/menu.c:1452 +msgid "Character Chart..." +msgstr "Graf..." + +#: src/fe-gtk/menu.c:1453 +msgid "Direct Chat..." +msgstr "Přímý rozhovor..." + +#: src/fe-gtk/menu.c:1454 +msgid "File Transfers..." +msgstr "Přenosy souboru..." + +#: src/fe-gtk/menu.c:1455 +msgid "Ignore List..." +msgstr "Seznam ignorovaných..." + +#: src/fe-gtk/menu.c:1456 +msgid "Notify List..." +msgstr "Seznam oznámení..." + +#: src/fe-gtk/menu.c:1457 +msgid "Plugins and Scripts..." +msgstr "Pluginy a skripty..." + +#: src/fe-gtk/menu.c:1458 +msgid "Raw Log..." +msgstr "Surový záznam..." + +#: src/fe-gtk/menu.c:1459 +msgid "URL Grabber..." +msgstr "Lapač URL..." + +#: src/fe-gtk/menu.c:1461 +msgid "Reset Marker Line" +msgstr "Resetovat označený řádek" + +#: src/fe-gtk/menu.c:1462 +msgid "C_lear Text" +msgstr "_Smazat text" + +#: src/fe-gtk/menu.c:1464 +msgid "Search Text..." +msgstr "Hledat text..." + +#: src/fe-gtk/menu.c:1465 +msgid "Save Text..." +msgstr "Uložit text..." + +#: src/fe-gtk/menu.c:1467 src/fe-gtk/menu.c:1941 +msgid "_Help" +msgstr "_Nápověda" + +#: src/fe-gtk/menu.c:1468 +msgid "_Contents" +msgstr "_Obsah" + +#: src/fe-gtk/menu.c:1469 +msgid "_About" +msgstr "_O programu" + +#: src/fe-gtk/menu.c:1954 +msgid "_Attach Window" +msgstr "_Připojit okno" + +#: src/fe-gtk/menu.c:1955 +msgid "_Close Window" +msgstr "_Zavřít okno" + +#: src/fe-gtk/notifygui.c:137 +msgid "User" +msgstr "Uživatel" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "Naposledy viděn" + +#: src/fe-gtk/notifygui.c:181 +msgid "Offline" +msgstr "Offline" + +#: src/fe-gtk/notifygui.c:201 src/fe-gtk/setup.c:229 +msgid "Never" +msgstr "Nikdy" + +#: src/fe-gtk/notifygui.c:204 src/fe-gtk/notifygui.c:229 +#, c-format +msgid "%d minutes ago" +msgstr "před %d minutami" + +#: src/fe-gtk/notifygui.c:219 +msgid "Online" +msgstr "Online" + +#: src/fe-gtk/notifygui.c:348 +msgid "Enter nickname to add:" +msgstr "Zadejte přezdívku pro přidání:" + +#: src/fe-gtk/notifygui.c:376 +msgid "Notify on these networks:" +msgstr "Oznámit na těchto sítích:" + +#: src/fe-gtk/notifygui.c:387 +msgid "Comma separated list of networks is accepted." +msgstr "Čárkou oddělený seznam zvolených sítí." + +#: src/fe-gtk/notifygui.c:407 +msgid "XChat: Notify List" +msgstr "XChat: Seznam upozornění" + +#: src/fe-gtk/notifygui.c:424 +msgid "Remove" +msgstr "Odstranit" + +#: src/fe-gtk/notifygui.c:428 +msgid "Open Dialog" +msgstr "Otevřít dialog" + +#: src/fe-gtk/plugin-tray.c:163 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" +"Nemohu nalézt 'notify-send' pro zobrazení upozornění.\n" +"Nainstalujte prosím libnotify." + +#: src/fe-gtk/plugin-tray.c:214 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat: Připojen k %u sítím a %u kanálům" + +#: src/fe-gtk/plugin-tray.c:451 +msgid "_Restore" +msgstr "_Obnovit" + +#: src/fe-gtk/plugin-tray.c:453 +msgid "_Hide" +msgstr "_Skrýt" + +#: src/fe-gtk/plugin-tray.c:456 +msgid "_Blink on" +msgstr "_Zablikat při" + +#: src/fe-gtk/plugin-tray.c:457 src/fe-gtk/setup.c:467 +msgid "Channel Message" +msgstr "Zpráva kanálu" + +#: src/fe-gtk/plugin-tray.c:458 src/fe-gtk/setup.c:468 +msgid "Private Message" +msgstr "Soukromá zpráva" + +#: src/fe-gtk/plugin-tray.c:459 src/fe-gtk/setup.c:469 +msgid "Highlighted Message" +msgstr "Zvýrazněná zpráva" + +#: src/fe-gtk/plugin-tray.c:507 src/fe-gtk/plugin-tray.c:515 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "XChat: Zvýrazněná zpráva od: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:510 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat: %u zvýrazněných zpráv, poslední od: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:533 src/fe-gtk/plugin-tray.c:540 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat: Nová veřejná zpráva od: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:536 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat: %u nových veřejných zpráv." + +#: src/fe-gtk/plugin-tray.c:562 src/fe-gtk/plugin-tray.c:569 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat: Soukromá zpráva od: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:565 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat: %u soukromých zpráv, poslední od: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:615 src/fe-gtk/plugin-tray.c:623 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: Nabídka souboru od: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:618 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "XChat: %u nabídnutých souborů, poslední od: %s (%s)" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Popis" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Zvolit plugin nebo skript pro načtení" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: Pluginy a skripty" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Načíst..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "_Uvolnit" + +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "_Zavřít" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:438 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Uložit jako..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: Rawlog (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Smazat rawlog" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Okno, které jste otevřeli více neexistuje." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "Nebylo nic nalezeno." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Vyhledávání" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "_Velikost písma" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "Hledat _zpětně" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "_Najít" + +#: src/fe-gtk/servlistgui.c:170 src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "Nová síť" + +#: src/fe-gtk/servlistgui.c:554 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "" +"Skutečně chcete odstranit síť \"%s\" a všechny servery, které obsahuje?" + +#: src/fe-gtk/servlistgui.c:678 +msgid "User name and Real name cannot be left blank." +msgstr "Uživatelské jméno a skutečné jméno nemohou být prázdná políčka." + +#: src/fe-gtk/servlistgui.c:978 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: Upravit %s" + +#: src/fe-gtk/servlistgui.c:997 +#, c-format +msgid "Servers for %s" +msgstr "Servery pro %s" + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Connect to selected server only" +msgstr "Připojit pouze k vybraným serverům" + +#: src/fe-gtk/servlistgui.c:1009 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Neopakovat znovu všechny servery, pokud selže připojení." + +#: src/fe-gtk/servlistgui.c:1011 +msgid "Your Details" +msgstr "Vaše detaily" + +#: src/fe-gtk/servlistgui.c:1017 +msgid "Use global user information" +msgstr "Použít globální informace o uživateli" + +#: src/fe-gtk/servlistgui.c:1020 src/fe-gtk/servlistgui.c:1252 +msgid "_Nick name:" +msgstr "_Přezdívka:" + +#: src/fe-gtk/servlistgui.c:1024 src/fe-gtk/servlistgui.c:1259 +msgid "Second choice:" +msgstr "Druhá volba:" + +#: src/fe-gtk/servlistgui.c:1028 src/fe-gtk/servlistgui.c:1273 +msgid "_User name:" +msgstr "_Uživatelské jméno:" + +#: src/fe-gtk/servlistgui.c:1032 src/fe-gtk/servlistgui.c:1280 +msgid "Rea_l name:" +msgstr "_Skutečné jméno:" + +#: src/fe-gtk/servlistgui.c:1035 +msgid "Connecting" +msgstr "Připojuji" + +#: src/fe-gtk/servlistgui.c:1041 +msgid "Auto connect to this network at startup" +msgstr "Automaticky připojit ke zvolené síti při startu" + +#: src/fe-gtk/servlistgui.c:1043 +msgid "Use a proxy server" +msgstr "Použít server proxy" + +#: src/fe-gtk/servlistgui.c:1045 +msgid "Use SSL for all the servers on this network" +msgstr "Použít SSL pro všechny servery v této síti" + +#: src/fe-gtk/servlistgui.c:1050 +msgid "Accept invalid SSL certificate" +msgstr "Přijmout neplatné certifikáty SSL" + +#: src/fe-gtk/servlistgui.c:1056 +msgid "C_hannels to join:" +msgstr "_Připojit se ke kanálům:" + +#: src/fe-gtk/servlistgui.c:1058 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Kanály, ke kterým se připojit, jsou odděleny čárkami, ne mezerami!" + +#: src/fe-gtk/servlistgui.c:1061 +msgid "Connect command:" +msgstr "Příkaz po připojení:" + +#: src/fe-gtk/servlistgui.c:1063 +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 "" +"Extra příkaz, který se provede po připojení. Pokud chcete zadat více jak " +"jeden příkaz, nastavte ho na LOAD -e <jmenosouboru>, kde <jmenosouboru> je " +"textový soubor s příkazy, které je potřeba vykonat." + +#: src/fe-gtk/servlistgui.c:1066 +msgid "Nickserv password:" +msgstr "Heslo pro nickserv:" + +#: src/fe-gtk/servlistgui.c:1068 +msgid "" +"If your nickname requires a password, enter it here. Not all IRC networks " +"support this." +msgstr "" +"Pokud váš nick vyžaduje heslo, zadejte ho zde. Tato možnost není podporována " +"všemi sítěmi IRC." + +#: src/fe-gtk/servlistgui.c:1072 +msgid "Server password:" +msgstr "Heslo:" + +#: src/fe-gtk/servlistgui.c:1074 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Heslo pro server, pokud si nejste jistí, nechte prázdné." + +#: src/fe-gtk/servlistgui.c:1077 +msgid "Character set:" +msgstr "Znaková sada:" + +#: src/fe-gtk/servlistgui.c:1147 +msgid "_Edit" +msgstr "_Editovat" + +#: src/fe-gtk/servlistgui.c:1230 +msgid "XChat: Network List" +msgstr "XChat: Seznam sítí" + +#: src/fe-gtk/servlistgui.c:1242 +msgid "User Information" +msgstr "Uživatelské informace" + +#: src/fe-gtk/servlistgui.c:1266 +msgid "Third choice:" +msgstr "Třetí volba:" + +#: src/fe-gtk/servlistgui.c:1326 +msgid "Networks" +msgstr "Sítě" + +#: src/fe-gtk/servlistgui.c:1367 +msgid "Skip network list on startup" +msgstr "Přeskočit seznam serverů při startu" + +#: src/fe-gtk/servlistgui.c:1399 +msgid "_Edit..." +msgstr "_Editovat..." + +#: src/fe-gtk/servlistgui.c:1406 +msgid "_Sort" +msgstr "_Setřídit" + +#: src/fe-gtk/servlistgui.c:1407 +msgid "" +"Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN " +"keys to move a row." +msgstr "" +"Seřadí seznam sítí podle abecedy. Pro posun použijte klávesy SHIFT-NAHORU a " +"SHIFT-DOLŮ." + +#: src/fe-gtk/servlistgui.c:1432 +msgid "C_onnect" +msgstr "_Připojení" + +#: src/fe-gtk/setup.c:102 +msgid "Text Box Appearance" +msgstr "Vzhled textového pole" + +#: src/fe-gtk/setup.c:103 +msgid "Font:" +msgstr "Písmo:" + +#: src/fe-gtk/setup.c:104 +msgid "Background image:" +msgstr "Obrázek na pozadí:" + +#: src/fe-gtk/setup.c:105 +msgid "Scrollback lines:" +msgstr "Posuvníky:" + +#: src/fe-gtk/setup.c:106 +msgid "Colored nick names" +msgstr "Barevné přezdívky" + +#: src/fe-gtk/setup.c:107 +msgid "Give each person on IRC a different color" +msgstr "Přiřadí každému člověku na IRC jinou barvu" + +#: src/fe-gtk/setup.c:108 +msgid "Indent nick names" +msgstr "Odsazovat přezdívky" + +#: src/fe-gtk/setup.c:109 +msgid "Make nick names right-justified" +msgstr "Zarovnávat přezdívky vpravo" + +#: src/fe-gtk/setup.c:110 +msgid "Transparent background" +msgstr "Transparentní pozadí" + +#: src/fe-gtk/setup.c:111 +msgid "Show marker line" +msgstr "Zobrazit dělící čáru" + +#: src/fe-gtk/setup.c:112 +msgid "Insert a red line after the last read text." +msgstr "Vloží červenou čáru za poslední řádek textu." + +#: src/fe-gtk/setup.c:113 +msgid "Transparency Settings" +msgstr "Nastavení průhlednosti" + +#: src/fe-gtk/setup.c:114 +msgid "Red:" +msgstr "Červená:" + +#: src/fe-gtk/setup.c:115 +msgid "Green:" +msgstr "Zelená:" + +#: src/fe-gtk/setup.c:116 +msgid "Blue:" +msgstr "Modrá:" + +#: src/fe-gtk/setup.c:118 src/fe-gtk/setup.c:379 +msgid "Time Stamps" +msgstr "Časové značky" + +#: src/fe-gtk/setup.c:119 +msgid "Enable time stamps" +msgstr "Povolit časové značky" + +#: src/fe-gtk/setup.c:120 +msgid "Time stamp format:" +msgstr "Formát časových značek:" + +#: src/fe-gtk/setup.c:121 src/fe-gtk/setup.c:382 +msgid "See strftime manpage for details." +msgstr "Pro další detaily se podívejte na manuálovou stránku strftime." + +#: src/fe-gtk/setup.c:128 src/fe-gtk/setup.c:168 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:129 +msgid "Last-spoke order" +msgstr "Poslední řečené pořadí" + +#: src/fe-gtk/setup.c:135 src/fe-gtk/setup.c:1657 +msgid "Input box" +msgstr "Vstupní pole" + +#: src/fe-gtk/setup.c:136 src/fe-gtk/setup.c:200 +msgid "Use the Text box font and colors" +msgstr "Použít v textu písmo a barvy" + +#: src/fe-gtk/setup.c:138 +msgid "Spell checking" +msgstr "Kontrola pravopisu" + +#: src/fe-gtk/setup.c:141 +msgid "Nick Completion" +msgstr "Dokončování přezdívky" + +#: src/fe-gtk/setup.c:142 +msgid "Automatic nick completion (without TAB key)" +msgstr "Automatické dokončování přezdívky (bez klávesy TAB)" + +#: src/fe-gtk/setup.c:144 +msgid "Nick completion suffix:" +msgstr "Přípona dokončení přezdívky:" + +#: src/fe-gtk/setup.c:145 +msgid "Nick completion sorted:" +msgstr "Dokončování přezdívky setříděno:" + +#: src/fe-gtk/setup.c:148 +msgid "Input Box Codes" +msgstr "Vstupní box s kódy" + +#: src/fe-gtk/setup.c:149 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Interpretuje %nnn jako hodnoty ASCII" + +#: src/fe-gtk/setup.c:150 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Interpretuje %C, %B jako barvu, tučně atd" + +#: src/fe-gtk/setup.c:167 +msgid "A-Z, Ops first" +msgstr "A-Z, Op je první" + +#: src/fe-gtk/setup.c:169 +msgid "Z-A, Ops last" +msgstr "Z-a, Op je poslední" + +#: src/fe-gtk/setup.c:170 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:171 +msgid "Unsorted" +msgstr "Netřídit" + +#: src/fe-gtk/setup.c:177 src/fe-gtk/setup.c:189 +msgid "Left (Upper)" +msgstr "Levý (Horní)" + +#: src/fe-gtk/setup.c:178 src/fe-gtk/setup.c:190 +msgid "Left (Lower)" +msgstr "Levý (Dolní)" + +#: src/fe-gtk/setup.c:179 src/fe-gtk/setup.c:191 +msgid "Right (Upper)" +msgstr "Pravý (horní)" + +#: src/fe-gtk/setup.c:180 src/fe-gtk/setup.c:192 +msgid "Right (Lower)" +msgstr "Pravý (Dolní)" + +#: src/fe-gtk/setup.c:181 +msgid "Top" +msgstr "Nahoře" + +#: src/fe-gtk/setup.c:182 +msgid "Bottom" +msgstr "Dole" + +#: src/fe-gtk/setup.c:183 +msgid "Hidden" +msgstr "Skryté" + +#: src/fe-gtk/setup.c:198 +msgid "User List" +msgstr "Seznam uživatelů" + +#: src/fe-gtk/setup.c:199 +msgid "Show hostnames in user list" +msgstr "Zobrazit hostitelské názvy v seznamu uživatelů" + +#: src/fe-gtk/setup.c:202 +msgid "User list sorted by:" +msgstr "Seznam uživatelů setříděný podle:" + +#: src/fe-gtk/setup.c:203 +msgid "Show user list at:" +msgstr "Zobrazit seznam uživatelů:" + +#: src/fe-gtk/setup.c:205 +msgid "Away tracking" +msgstr "Sledování away" + +#: src/fe-gtk/setup.c:206 +msgid "Track the Away status of users and mark them in a different color" +msgstr "Sleduje stav away (pryč) uživatelů a označuje je jinou barvou" + +#: src/fe-gtk/setup.c:207 +msgid "On channels smaller than:" +msgstr "Na kanálech menších jak:" + +#: src/fe-gtk/setup.c:209 +msgid "Action Upon Double Click" +msgstr "Akce při dvojkliku" + +#: src/fe-gtk/setup.c:210 +msgid "Execute command:" +msgstr "Vykonat příkaz" + +#: src/fe-gtk/setup.c:221 +msgid "Windows" +msgstr "Okna" + +#: src/fe-gtk/setup.c:222 +msgid "Tabs" +msgstr "Záložky" + +#: src/fe-gtk/setup.c:230 +msgid "Always" +msgstr "Vždy" + +#: src/fe-gtk/setup.c:231 +msgid "Only requested tabs" +msgstr "Pouze požadované záložky" + +#: src/fe-gtk/setup.c:238 +msgid "Channel Switcher" +msgstr "Přepínač kanálu" + +#: src/fe-gtk/setup.c:239 +msgid "Open an extra tab for server messages" +msgstr "Otevřít speciální záložku pro zprávy serveru" + +#: src/fe-gtk/setup.c:240 +msgid "Open an extra tab for server notices" +msgstr "Otevřít speciální záložku pro oznámení serveru" + +#: src/fe-gtk/setup.c:241 +msgid "Open a new tab when you receive a private message" +msgstr "Otevřít novou záložku jakmile přijde soukromá zpráva" + +#: src/fe-gtk/setup.c:242 +msgid "Sort tabs in alphabetical order" +msgstr "Třídit záložky v abecedním pořadí" + +#: src/fe-gtk/setup.c:243 +msgid "Small tabs" +msgstr "Malé záložky" + +#: src/fe-gtk/setup.c:245 +msgid "Focus new tabs:" +msgstr "Zaměřit se na nové záložky:" + +#: src/fe-gtk/setup.c:247 +msgid "Show channel switcher at:" +msgstr "Zobrazit přepínač kanálu:" + +#: src/fe-gtk/setup.c:248 +msgid "Shorten tab labels to:" +msgstr "Zkrácené popisky záložek na:" + +#: src/fe-gtk/setup.c:248 +msgid "letters." +msgstr "znaky." + +#: src/fe-gtk/setup.c:250 +msgid "Tabs or Windows" +msgstr "Záložky nebo okna" + +#: src/fe-gtk/setup.c:251 +msgid "Open channels in:" +msgstr "Otevřít kanály v:" + +#: src/fe-gtk/setup.c:252 +msgid "Open dialogs in:" +msgstr "Otevřít dialogy v:" + +#: src/fe-gtk/setup.c:253 +msgid "Open utilities in:" +msgstr "Otevřít utility v:" + +#: src/fe-gtk/setup.c:253 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Otevřít DCC, ignorace, oznámení, atd. v záložkách nebo oknech?" + +#: src/fe-gtk/setup.c:260 +msgid "No" +msgstr "Ne" + +#: src/fe-gtk/setup.c:261 +msgid "Yes" +msgstr "Yes" + +#: src/fe-gtk/setup.c:262 +msgid "Browse for save folder every time" +msgstr "Projít vždy dialogem uložení" + +#: src/fe-gtk/setup.c:268 +msgid "Files and Directories" +msgstr "Soubory a adresáře" + +#: src/fe-gtk/setup.c:269 +msgid "Auto accept file offers:" +msgstr "Automaticky přijmout nabídku souboru:" + +#: src/fe-gtk/setup.c:270 +msgid "Download files to:" +msgstr "Stáhnout soubory do:" + +#: src/fe-gtk/setup.c:271 +msgid "Move completed files to:" +msgstr "Přesunout kompletní soubory do:" + +#: src/fe-gtk/setup.c:272 +msgid "Save nick name in filenames" +msgstr "Uložit přezdívku ve jméně souborů" + +#: src/fe-gtk/setup.c:274 +msgid "Network Settings" +msgstr "Nastavení sítě" + +#: src/fe-gtk/setup.c:275 +msgid "Get my address from the IRC server" +msgstr "Vzít moji adresu ze serveru IRC" + +#: src/fe-gtk/setup.c:276 +msgid "" +"Asks the IRC server for your real address. Use this if you have a 192.168.*." +"* address!" +msgstr "" +"Zeptat se IRC serveru na skutečnou adresu. Použít tuto pokud máte nějakou " +"192.168.*.*!" + +#: src/fe-gtk/setup.c:277 +msgid "DCC IP address:" +msgstr "DCC IP adresa:" + +#: src/fe-gtk/setup.c:278 +msgid "Claim you are at this address when offering files." +msgstr "V okamžiku nabízení souboru tvrdit, že máte tuto adresu." + +#: src/fe-gtk/setup.c:279 +msgid "First DCC send port:" +msgstr "První port pro odesílání DCC:" + +#: src/fe-gtk/setup.c:280 +msgid "Last DCC send port:" +msgstr "Poslední port pro odesílání DCC:" + +#: src/fe-gtk/setup.c:281 +msgid "!Leave ports at zero for full range." +msgstr "!Nechat porty na nule pro nulové rozmezí." + +#: src/fe-gtk/setup.c:283 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Maximální rychlost přenosu souboru (bytů za sekundu)" + +#: src/fe-gtk/setup.c:284 +msgid "One upload:" +msgstr "Jeden upload:" + +#: src/fe-gtk/setup.c:285 src/fe-gtk/setup.c:287 +msgid "Maximum speed for one transfer" +msgstr "Maximální rychlost jednoho přenosu" + +#: src/fe-gtk/setup.c:286 +msgid "One download:" +msgstr "Jeden download:" + +#: src/fe-gtk/setup.c:288 +msgid "All uploads combined:" +msgstr "Kombinace všech uploadů:" + +#: src/fe-gtk/setup.c:289 src/fe-gtk/setup.c:291 +msgid "Maximum speed for all files" +msgstr "Maximální rychlost pro všechny soubory" + +#: src/fe-gtk/setup.c:290 +msgid "All downloads combined:" +msgstr "Kombinace všech downloadů:" + +#: src/fe-gtk/setup.c:318 src/fe-gtk/setup.c:1663 +msgid "Alerts" +msgstr "Upozornění" + +#: src/fe-gtk/setup.c:322 +msgid "Show tray balloons on:" +msgstr "Zobrazit upozornění oznamovací ikony při:" + +#: src/fe-gtk/setup.c:324 +msgid "Blink tray icon on:" +msgstr "Zablikat oznamovací ikonou při:" + +#: src/fe-gtk/setup.c:325 +msgid "Blink task bar on:" +msgstr "Zablikat pruhem úlohy při:" + +#: src/fe-gtk/setup.c:326 +msgid "Make a beep sound on:" +msgstr "Vydat zvuk při:" + +#: src/fe-gtk/setup.c:328 +msgid "Enable system tray icon" +msgstr "Povolit ikonu panelu nástrojů" + +#: src/fe-gtk/setup.c:330 +msgid "Highlighted Messages" +msgstr "Zvýrazněné zprávy" + +#: src/fe-gtk/setup.c:331 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Zvýrazněné zprávy jsou ty, kde je zmíněna vaše přezdívka a také:" + +#: src/fe-gtk/setup.c:333 +msgid "Extra words to highlight:" +msgstr "Další slova pro zvýraznění:" + +#: src/fe-gtk/setup.c:334 +msgid "Nick names not to highlight:" +msgstr "Přezdívky, které se nebudou zvýrazňovat:" + +#: src/fe-gtk/setup.c:335 +msgid "Nick names to always highlight:" +msgstr "Přezdívky, které se budou zvýrazňovat:" + +#: src/fe-gtk/setup.c:336 +msgid "Separate multiple words with commas." +msgstr "Více slov oddělte pomocí čárek." + +#: src/fe-gtk/setup.c:342 +msgid "Default Messages" +msgstr "Výchozí zpráva" + +#: src/fe-gtk/setup.c:343 +msgid "Quit:" +msgstr "Konec:" + +#: src/fe-gtk/setup.c:344 +msgid "Leave channel:" +msgstr "Opuštění kanálu:" + +#: src/fe-gtk/setup.c:345 +msgid "Away:" +msgstr "Pryč" + +#: src/fe-gtk/setup.c:347 +msgid "Away" +msgstr "Away" + +#: src/fe-gtk/setup.c:348 +msgid "Announce away messages" +msgstr "Zasílat away (pryč) zprávy" + +#: src/fe-gtk/setup.c:349 +msgid "Announce your away messages to all channels" +msgstr "Zaslat away zprávu na kanál(y) k nimž jste připojeni" + +#: src/fe-gtk/setup.c:350 +msgid "Show away once" +msgstr "Zobrazovat away jednou" + +#: src/fe-gtk/setup.c:350 +msgid "Show identical away messages only once" +msgstr "Zobrazit identické zprávy away pouze jednou" + +#: src/fe-gtk/setup.c:351 +msgid "Automatically unmark away" +msgstr "Automaticky zrušit stav away" + +#: src/fe-gtk/setup.c:351 +msgid "Unmark yourself as away before sending messages" +msgstr "Zrušit stav away před odesláním zprávy" + +#: src/fe-gtk/setup.c:358 +msgid "Advanced Settings" +msgstr "Rozšířená nastavení" + +#: src/fe-gtk/setup.c:359 +msgid "Auto reconnect delay:" +msgstr "Zpoždění při opakovaném automatickém připojení:" + +#: src/fe-gtk/setup.c:360 +msgid "Display MODEs in raw form" +msgstr "Zobrazit módy v jejich podobě" + +#: src/fe-gtk/setup.c:361 +msgid "Whois on notify" +msgstr "Whois při oznámení" + +#: src/fe-gtk/setup.c:361 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "" +"Pošle /WHOIS jakmile přijde uživatel, který je na vašem seznamu upozornění" + +#: src/fe-gtk/setup.c:362 +msgid "Hide join and part messages" +msgstr "Skrývat zprávy o připojení a odchodu" + +#: src/fe-gtk/setup.c:362 +msgid "Hide channel join/part messages by default" +msgstr "Skryje zprávy kanálu o připojení/odchodu" + +#: src/fe-gtk/setup.c:363 +msgid "Auto Open DCC Windows" +msgstr "Automaticky otevřít okna DCC" + +#: src/fe-gtk/setup.c:364 +msgid "Send window" +msgstr "Poslat okno" + +#: src/fe-gtk/setup.c:365 +msgid "Receive window" +msgstr "Obdržet okno" + +#: src/fe-gtk/setup.c:366 +msgid "Chat window" +msgstr "Okno hovoru" + +#: src/fe-gtk/setup.c:374 src/fe-gtk/setup.c:1665 +msgid "Logging" +msgstr "Přihlašování" + +#: src/fe-gtk/setup.c:375 +msgid "Enable logging of conversations" +msgstr "Povolí ukládání hovoru" + +#: src/fe-gtk/setup.c:376 +msgid "Log filename:" +msgstr "Jméno logu:" + +#: src/fe-gtk/setup.c:377 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Server %c=Kanál %n=Síť." + +#: src/fe-gtk/setup.c:380 +msgid "Insert timestamps in logs" +msgstr "Přidat do logů časové značky" + +#: src/fe-gtk/setup.c:381 +msgid "Log timestamp format:" +msgstr "Formát časových značek v logu:" + +#: src/fe-gtk/setup.c:389 +msgid "(Disabled)" +msgstr "(Vypnuto)" + +#: src/fe-gtk/setup.c:390 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:391 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:392 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:393 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:395 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: src/fe-gtk/setup.c:402 +msgid "All Connections" +msgstr "Všechna připojení" + +#: src/fe-gtk/setup.c:403 +msgid "IRC Server Only" +msgstr "Pouze servery IRC" + +#: src/fe-gtk/setup.c:404 +msgid "DCC Get Only" +msgstr "Pouze Příjem DCC" + +#: src/fe-gtk/setup.c:410 +msgid "Your Address" +msgstr "Vaše adresa" + +#: src/fe-gtk/setup.c:411 +msgid "Bind to:" +msgstr "Přiřadit k:" + +#: src/fe-gtk/setup.c:412 +msgid "Only useful for computers with multiple addresses." +msgstr "Užitečné pouze v případě počítačů s více adresami." + +#: src/fe-gtk/setup.c:414 +msgid "Proxy Server" +msgstr "Proxy server" + +#: src/fe-gtk/setup.c:415 +msgid "Hostname:" +msgstr "Jméno počítače:" + +#: src/fe-gtk/setup.c:416 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:417 +msgid "Type:" +msgstr "Typ:" + +#: src/fe-gtk/setup.c:418 +msgid "Use proxy for:" +msgstr "Použít proxy" + +#: src/fe-gtk/setup.c:420 +msgid "Proxy Authentication" +msgstr "Autentikace Proxy" + +#: src/fe-gtk/setup.c:422 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Použít autentikaci (MS proxy, HTTP nebo Socks5 pouze)" + +#: src/fe-gtk/setup.c:424 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Použít autentikaci (HTTP nebo Socks5 pouze)" + +#: src/fe-gtk/setup.c:426 +msgid "Username:" +msgstr "Uživatelské jméno:" + +#: src/fe-gtk/setup.c:427 +msgid "Password:" +msgstr "Heslo:" + +#: src/fe-gtk/setup.c:838 +msgid "Select an Image File" +msgstr "Zvolit soubor s obrázkem" + +#: src/fe-gtk/setup.c:862 +msgid "Select Download Folder" +msgstr "Zvolit adresář pro stažení" + +#: src/fe-gtk/setup.c:871 +msgid "Select font" +msgstr "Výběr písma" + +#: src/fe-gtk/setup.c:968 +msgid "Browse..." +msgstr "Procházet..." + +#: src/fe-gtk/setup.c:1108 +msgid "Mark identified users with:" +msgstr "Označit idetifikované uživatele s:" + +#: src/fe-gtk/setup.c:1110 +msgid "Mark not-identified users with:" +msgstr "Označit neidentifikované uživatele s:" + +#: src/fe-gtk/setup.c:1117 +msgid "Open Data Folder" +msgstr "Otevřít adresář s daty" + +#: src/fe-gtk/setup.c:1171 +msgid "Select color" +msgstr "Výběr barvy" + +#: src/fe-gtk/setup.c:1251 +msgid "Text Colors" +msgstr "Barvy textu" + +#: src/fe-gtk/setup.c:1253 +msgid "mIRC colors:" +msgstr "barvy mIRC" + +#: src/fe-gtk/setup.c:1261 +msgid "Local colors:" +msgstr "Místní barvy:" + +#: src/fe-gtk/setup.c:1269 src/fe-gtk/setup.c:1274 +msgid "Foreground:" +msgstr "Popředí:" + +#: src/fe-gtk/setup.c:1270 src/fe-gtk/setup.c:1275 +msgid "Background:" +msgstr "Pozadí:" + +#: src/fe-gtk/setup.c:1272 +msgid "Marking Text" +msgstr "Text pro označení" + +#: src/fe-gtk/setup.c:1277 +msgid "Interface Colors" +msgstr "Barvy rozhraní" + +#: src/fe-gtk/setup.c:1279 +msgid "New data:" +msgstr "Nová data:" + +#: src/fe-gtk/setup.c:1280 +msgid "Marker line:" +msgstr "Značící čára" + +#: src/fe-gtk/setup.c:1281 +msgid "New message:" +msgstr "Nová zpráva:" + +#: src/fe-gtk/setup.c:1282 +msgid "Away user:" +msgstr "Uživatel je pryč:" + +#: src/fe-gtk/setup.c:1283 +msgid "Highlight:" +msgstr "Zvýraznění:" + +#: src/fe-gtk/setup.c:1379 src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "Událost" + +#: src/fe-gtk/setup.c:1385 +msgid "Sound file" +msgstr "Soubor se zvukem" + +#: src/fe-gtk/setup.c:1420 +msgid "Select a sound file" +msgstr "Zvolit soubor se zvukem" + +#: src/fe-gtk/setup.c:1492 +msgid "Sound playing method:" +msgstr "Metoda přehrávání zvuku:" + +#: src/fe-gtk/setup.c:1500 +msgid "External sound playing _program:" +msgstr "Externí _program pro přehrávání zvuku:" + +#: src/fe-gtk/setup.c:1518 +msgid "_External program" +msgstr "_Externí program" + +#: src/fe-gtk/setup.c:1528 +msgid "_Automatic" +msgstr "_Automaticky" + +#: src/fe-gtk/setup.c:1541 +msgid "Sound files _directory:" +msgstr "Adresář pro zvuky:" + +#: src/fe-gtk/setup.c:1580 +msgid "Sound file:" +msgstr "Zvukový soubor:" + +#: src/fe-gtk/setup.c:1595 +msgid "_Browse..." +msgstr "_Procházet..." + +#: src/fe-gtk/setup.c:1606 +msgid "_Play" +msgstr "Př_ehrát" + +#: src/fe-gtk/setup.c:1655 +msgid "Interface" +msgstr "Uživatelské rozhraní" + +#: src/fe-gtk/setup.c:1656 +msgid "Text box" +msgstr "Textové pole" + +#: src/fe-gtk/setup.c:1658 +msgid "User list" +msgstr "Seznam uživatelů" + +#: src/fe-gtk/setup.c:1659 +msgid "Channel switcher" +msgstr "Přepínač kanálu" + +#: src/fe-gtk/setup.c:1660 +msgid "Colors" +msgstr "Barvy" + +#: src/fe-gtk/setup.c:1662 +msgid "Chatting" +msgstr "Chatování" + +#: src/fe-gtk/setup.c:1664 +msgid "General" +msgstr "Obecné" + +#: src/fe-gtk/setup.c:1666 +msgid "Sound" +msgstr "Zvuky" + +#: src/fe-gtk/setup.c:1670 +msgid "Network setup" +msgstr "Nastavení sítě" + +#: src/fe-gtk/setup.c:1671 +msgid "File transfers" +msgstr "Přenosy souboru" + +#: src/fe-gtk/setup.c:1779 +msgid "Categories" +msgstr "Kategorie" + +#: src/fe-gtk/setup.c:1960 +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 "" +"Strom není možné umístit nahoru nebo dospod!\n" +"Změňte prosím nejprve rozložení <b>Záložek</b> v nabídce <b>Zobrazit</b>." + +#: src/fe-gtk/setup.c:1970 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Některá z nastavení, která byla změněna, vyžadují restart aplikace." + +#: src/fe-gtk/setup.c:1978 +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 "" +"*UPOZORNĚNÍ*\n" +"Automatické přijmutí DCC do vašeho domovského adresáře\n" +"může být nebezpečné a zneužitelné. Např.:\n" +"Někdo vám může poslat soubor .bash_profile" + +#: src/fe-gtk/setup.c:2011 +msgid "XChat: Preferences" +msgstr "XChat: Nastavení" + +#: src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "Při zpracování textu došlo k chybě" + +#: src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Tento signál obsahoval pouze %d argumenty, $%d je neplatné" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "Tiskne textové soubory" + +#: src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "Editovat události" + +#: src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$ Počet" + +#: src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "Nahrát z..." + +#: src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "Vyzkoušet všechny" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: Grabování URL" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Smazat seznam" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Kopírovat vybranou adresu URL" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Kopírovat" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Uložit seznam do souboru" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d op, %d celkem" + +#~ msgid "No other tabs open, quit xchat?" +#~ msgstr "Žádné další záložky nejsou otevřené, ukončit xchat." + +#~ msgid "_Layout" +#~ msgstr "_Rozložení" + +#~ msgid "Quit..." +#~ msgstr "Konec..." + +#~ msgid "Resizable user list" +#~ msgstr "Uživatelský seznam se změnou velikosti" + +#~ msgid "Left" +#~ msgstr "Vlevo" + +#~ msgid "Right" +#~ msgstr "Vpravo" + +#~ msgid "Show tabs at:" +#~ msgstr "Zobrazit záložky v:" + +#~ msgid "US Minor Outlying Islands" +#~ msgstr "US Minor Outlying Islands" + +#~ msgid "File Offer" +#~ msgstr "Nabídka souboru" + +#~ msgid "Flash taskbar on highlighted messages" +#~ msgstr "Zaměřit se na zvýrazněnou zprávu" + +#~ msgid "Flash taskbar on private messages" +#~ msgstr "Při soukromé zprávě zablikat v panelu úloh" + +#~ msgid "Beep on highlighted messages" +#~ msgstr "Zvuk při zvýrazněných zprávách" + +#~ msgid "Beep on private messages" +#~ msgstr "Zvuk při soukromé zprávě" + +#~ msgid "Beep on channel messages" +#~ msgstr "Zvuk při zprávě kanálu" + +#~ msgid "%s loaded successfully!\n" +#~ msgstr "%s úspěšně načten!\n" + +#~ msgid "I can't save an empty list!" +#~ msgstr "Nemohu uložit prázdný seznam!" + +#~ msgid "List display options:" +#~ msgstr "Možnosti zobrazení:" + +#~ msgid "Minimum Users:" +#~ msgstr "Minimum uživatelů:" + +#~ msgid "Maximum Users:" +#~ msgstr "Maximum uživatelů:" + +#~ msgid "Regex Match:" +#~ msgstr "Regex odpovídá:" + +#~ msgid "Apply Match to:" +#~ msgstr "Použít porovnání na:" + +#~ msgid "Apply" +#~ msgstr "Použít" + +#~ msgid "Refresh the list" +#~ msgstr "Aktualizovat seznam" + +#~ msgid "Save the list" +#~ msgstr "Uložit seznam" + +#~ msgid "None" +#~ msgstr "Žádný" + +#~ msgid "To" +#~ msgstr "Na" + +#~ msgid "Started" +#~ msgstr "Začal" + +#~ msgid "Speed limit" +#~ msgstr "Omezení rychlosti" + +#~ msgid "XChat: File Receive List" +#~ msgstr "XChat: Seznam přijmutých souborů" + +#~ msgid "Open" +#~ msgstr "Otevřít" + +#~ msgid "Ack" +#~ msgstr "Ack" + +#~ msgid "XChat: File Send List" +#~ msgstr "XChat: Seznam poslaných souborů" + +#~ msgid "To/From" +#~ msgstr "Do/Z" + +#~ msgid "Go to" +#~ msgstr "Jít na" + +#~ msgid "(Can be a text file relative to ~/.xchat2/)." +#~ msgstr "(Může být textový soubor, relativně vzhledem k ~/.xchat2/)" + +#~ msgid "(Can be a text file relative to config dir)." +#~ msgstr "(Může být textový soubor, relativně ke konfiguračnímu adresáři)" + +#~ msgid "%C18*$t$1%O $2" +#~ msgstr "%C18*$t$1%O $2" + +#~ msgid "%C21*%O$t%C21%B$1%O%C21 $2" +#~ msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#~ msgid "%C18%H<%H$4$1%H>%H%O$t$2" +#~ msgstr "%C18%H<%H$4$1%H>%H%O$t$2" + +#~ msgid "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" +#~ msgstr "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" + +#~ msgid "%C28-%C29$1/$2%C28-%O$t$3" +#~ msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#~ msgid "$1$t$2" +#~ msgstr "$1$t$2" + +#~ msgid "%C19>%O$1%C19<%O$t$2" +#~ msgstr "%C19>%O$1%C19<%O$t$2" + +#~ msgid "%C16*%O$t$1%O" +#~ msgstr "%C16*%O$t$1%O" + +#~ msgid "%C28-%C29$1%C28-%O$t$2" +#~ msgstr "%C28-%C29$1%C28-%O$t$2" + +#~ msgid "%C28*%C29$3$1%C28*$t%O$2" +#~ msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#~ msgid "%C18%H<%H$3$1%H>%H%O$t$2" +#~ msgstr "%C18%H<%H$3$1%H>%H%O$t$2" + +#~ msgid "%C22*%O$t$1" +#~ msgstr "%C22*%O$t$1" + +#~ msgid "%C31%H<%H$4$1%H>%H%O%C30$t$2" +#~ msgstr "%C31%H<%H$4$1%H>%H%O%C30$t$2" + +#~ msgid "PID" +#~ msgstr "PID" + +#~ msgid "Server" +#~ msgstr "Server" + +#~ msgid "Open an irc:// url" +#~ msgstr "Otevřít url irc://" + +#~ msgid "irc://server:port/channel" +#~ msgstr "irc://server:port/kanál" + +#~ msgid "Execute a xchat command" +#~ msgstr "Vykonat příkaz xchatu" + +#~ msgid "\"Command to execute\"" +#~ msgstr "\"Příkaz pro vykonání\"" + +#~ msgid "Prints some text to the current tab/window" +#~ msgstr "Vytiskne nějaký text na aktuální záložku/okno" + +#~ msgid "\"Text to print\"" +#~ msgstr "\"Text pro vytištění\"" + +#~ msgid "Change the context to the channel" +#~ msgstr "Změnit kontext podle kanálu" + +#~ msgid "Change the context to the server" +#~ msgstr "Změnit kontext podle serveru" + +#~ msgid "server" +#~ msgstr "server" + +#~ msgid "Get some informations from xchat" +#~ msgstr "Získat nějaké informace z xchatu" + +#~ msgid "id" +#~ msgstr "id" + +#~ msgid "Get settings from xchat" +#~ msgstr "Získat nastavení z xchatu" + +#~ msgid "name" +#~ msgstr "jméno" + +#~ msgid "" +#~ "xchat-remote: %s\n" +#~ "Try `xchat-remote --help' for more information\n" +#~ msgstr "" +#~ "xchat-remote: %s\n" +#~ "Pro více informací zkuste 'xchat-remote --help'\n" + +#~ msgid "Failed to complete SetContext" +#~ msgstr "Chyba při nastavení SetContext" + +#~ msgid "Failed to complete print" +#~ msgstr "Chyba při tisku" + +#~ msgid "Failed to complete GetInfo" +#~ msgstr "Chyba při vykonání GetInfo" + +#~ msgid "Failed to complete GetPrefs" +#~ msgstr "Chyba při vykonání GetPrefs" + +#~ msgid "%s doesn't exist\n" +#~ msgstr "%s neexistuje\n" diff --git a/po/de.po b/po/de.po new file mode 100644 index 00000000..48647864 --- /dev/null +++ b/po/de.po @@ -0,0 +1,5543 @@ +# X-Chat german translation file +# Copyright (C) 2000, 2003 Free Software Foundation, Inc. +# Hauke Hagenhoff <Hauke.Hagenhoff@gmx.de>, 2003,2004. +# Karl Eichwalder <ke@gnu.franken.de>, 2003. +# Benedikt Roth <Benedikt.Roth@gmx.net>, 2000. +# Christian Meyer <linux@chrisim.de>, 2000. +# Matthias Warkus <mawa@iname.com>, 1999. +# Tamer Fahmy <e9526976@stud2.tuwien.ac.at>, 1999. +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.8.4\n" +"POT-Creation-Date: 2007-06-24 13:05+1000\n" +"PO-Revision-Date: 2007-06-24 18:36+0100\n" +"Last-Translator: Hauke Hagenhoff <Hauke.Hagenhoff@gmx.de>\n" +"Language-Team: German <translation-team-de@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "Kann ~/.xchat2 nicht erzeugen" + +#: src/common/cfgfiles.c:712 +msgid "I'm busy" +msgstr "Ich bin beschäftigt" + +#: src/common/cfgfiles.c:713 +msgid "Leaving" +msgstr "Verlassend" + +#: src/common/cfgfiles.c:760 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* IRC als Root laufen zu lassen ist dumm! Du solltest\n" +" ein Benutzerkonto anlegen und dieses zum Einloggen verwenden.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Wartend" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Aktiv" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Gescheitert" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Erledigt" + +#: src/common/dcc.c:71 +#: src/fe-gtk/menu.c:797 +msgid "Connect" +msgstr "Verbindung" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Abgebrochen" + +#: src/common/dcc.c:1886 +#: src/common/outbound.c:2452 +#, c-format +msgid "Cannot access %s\n" +msgstr "Kann nicht auf %s zugreifen\n" + +#: src/common/dcc.c:1887 +#: src/common/text.c:1164 +#: src/common/text.c:1202 +#: src/common/text.c:1213 +#: src/common/text.c:1220 +#: src/common/text.c:1233 +#: src/common/text.c:1250 +#: src/common/text.c:1350 +#: src/common/util.c:352 +msgid "Error" +msgstr "Fehler" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s bietet \"%s\" an. Willst Du annehmen?" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "Keine aktiven DCCs\n" + +#: src/common/ignore.c:120 +#: src/common/ignore.c:124 +#: 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 +msgid "YES " +msgstr "JA " + +#: src/common/ignore.c:122 +#: 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 +msgid "NO " +msgstr "NEIN " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "CTCP-Flut von %s, ignoriere %s\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "MSG-Flut von %s, deaktiviere automatische Dialoge.\n" + +#: src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s online\n" + +#: src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s offline\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Kein Channel betreten. Versuche /join #<channel>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Nicht verbunden. Versuche /server <Host> [<Port>]\n" + +#: src/common/outbound.c:339 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Bereits als abwesend markiert: %s\n" + +#: src/common/outbound.c:409 +msgid "Already marked back.\n" +msgstr "Bereits als anwesend markiert.\n" + +#: src/common/outbound.c:1814 +msgid "I need /bin/sh to run!\n" +msgstr "/bin/sh wird benötigt!\n" + +#: src/common/outbound.c:2185 +msgid "Commands Available:" +msgstr "Verfügbare Kommandos: " + +#: src/common/outbound.c:2199 +msgid "User defined commands:" +msgstr "Benutzerdefinierte Kommandos:" + +#: src/common/outbound.c:2215 +msgid "Plugin defined commands:" +msgstr "Durch Plugins definierte Kommandos:" + +#: src/common/outbound.c:2226 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Gib /HELP <Kommando> für mehr Informationen ein, oder /HELP -l" + +#: src/common/outbound.c:2301 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Unbekanntes Argument '%s' ignoriert." + +#: src/common/outbound.c:3235 +msgid "No such plugin found.\n" +msgstr "Kein solches Plugin gefunden.\n" + +#: src/common/outbound.c:3240 +#: src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Dieses Plugin kann nicht entladen werden.\n" + +#: src/common/outbound.c:3509 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <Name> <Aktion>, fügt einen Knopf unter der Benutzerliste hinzu" + +#: src/common/outbound.c:3511 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <Kommando>, sendet ein Kommando an alle Channels in denen Du bist" + +#: src/common/outbound.c:3513 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <Kommando>, sendet ein Kommando an alle Channels in denen Du bist" + +#: src/common/outbound.c:3515 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <Kommando>, sendet ein Kommando an alle Server auf denen Du bist" + +#: src/common/outbound.c:3516 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<Grund>], setzt Dich auf abwesend" + +#: src/common/outbound.c:3517 +msgid "BACK, sets you back (not away)" +msgstr "BACK, setzt Dich auf anwesend (nicht \"abwesend\")" + +#: src/common/outbound.c:3519 +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 <Maske> [<Banntyp>], bannt jeden mit der entsprechenden Maske aus dem aktuellen Channel. Wenn diese bereits im Channel sind, werden sie nicht gekickt (Erfordert Op-Status)" + +#: src/common/outbound.c:3521 +msgid "" +"Set per channel options\n" +"CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part messages\n" +"CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +"CHANOPT BEEP ON|OFF - Toggle beep on message\n" +"CHANOPT TRAY ON|OFF - Toggle tray blink on message" +msgstr "" +"Optionen je Channel einstellen\n" +"CHANOPT CONFMODE ON|OFF - Konferenzmodus/Anzeige von Join/Part-Nachrichten umschalten\n" +"CHANOPT COLORPASTE ON|OFF - Farbiges Einfügen umschalten\n" +"CHANOPT BEEP ON|OFF - Piepton bei Nachricht umschalten\n" +"CHANOPT TRAY ON|OFF - Blinken im Benachrichtigungsbereich umschalten" + +#: src/common/outbound.c:3528 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR [ALL|HISTORY], Löscht das aktuelle Textfenster oder die Kommandohistorie" + +#: src/common/outbound.c:3529 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, Schließt das aktuelle Textfenster/Reiter" + +#: src/common/outbound.c:3532 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <Kode|Wildcard>, findet einen Länderkode, z.B.: de = Bundesrepublik Deutschland" + +#: src/common/outbound.c:3534 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <Nick> <Nachricht>, sendet die CTCP-Nachricht an den Nick, übliche Nachrichten sind VERSION und USERINFO" + +#: src/common/outbound.c:3536 +msgid "CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "CYCLE [<Channel>], verläßt den aktuellen oder angegebenen Channel und betritt ihn direkt wieder" + +#: src/common/outbound.c:3538 +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 "" +"\n" +"DCC GET <Nick> - akzeptiere eine angebotene Datei\n" +"DCC SEND [-maxcps=#] <Nick> [Datei] - Sendet eine Datei an jemanden\n" +"DCC PSEND [-maxcps=#] <Nick> [Datei] - Sendet eine Datei im passiven Modus an jemanden\n" +"DCC LIST - zeigt die DCC-Liste\n" +"DCC CHAT <Nick> - bietet jemandem einen DCC-CHAT an\n" +"DCC PCHAT <Nick> - bietet jemandem einen DCC-CHAT im passiven Modus an\n" +"DCC CLOSE <Typ> <Nick> <Datei> - Schließt einen DCC-Transfer\n" +" Beispiel: /dcc close send markus datei.zip" + +#: src/common/outbound.c:3550 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <Nick>, entfernt den HalbOp-Status bei Nick im aktuellen Channel (Erfordert Op-Status)" + +#: src/common/outbound.c:3552 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <Name>, entfernt einen Knopf unter der Benutzerliste" + +#: src/common/outbound.c:3554 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <Nick>, entfernt den Op-Status bei Nick im aktuellen Channel (Erfordert Op-Status)" + +#: src/common/outbound.c:3556 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <Nick>, entfernt den Voice-Status bei Nick im aktuellen Channel (Erfordert Op-Status)" + +#: src/common/outbound.c:3557 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Trennt die Server-Verbindung" + +#: src/common/outbound.c:3558 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <Nick|Host|IP>, Findet die IP-Adresse eines Nutzers" + +#: src/common/outbound.c:3559 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <Text>, Zeigt Text lokal an" + +#: src/common/outbound.c:3562 +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] <Kommando>, führt das Kommando aus. Wenn -o angegeben wurde, wird die Ausgabe in das aktuelle Fenster gesendet, ansonsten wird sie lokal gezeigt" + +#: src/common/outbound.c:3564 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, sendet das Signal SIGCONT" + +#: src/common/outbound.c:3567 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], killt einen laufenden exec in der aktuellen Sitzung. Wenn -9 angegeben wurde, wird der Prozess SIGKILLed" + +#: src/common/outbound.c:3569 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, sendet dem Prozess das Signal SIGSTOP" + +#: src/common/outbound.c:3570 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, sendet Daten an den stdin des Prozesses" + +#: src/common/outbound.c:3574 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, löscht die Sendewarteschlange des aktuellen Servers" + +#: src/common/outbound.c:3576 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <Host> [<Port>], verbindet durch einen Proxy, Standardport ist 23" + +#: src/common/outbound.c:3580 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <Nick> <Passwort>, Trennt einen verwaisten Nick" + +#: src/common/outbound.c:3585 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <Nick>, gibt Nick HalbOp-Status (Erfordert Op-Status)" + +#: src/common/outbound.c:3586 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <Passwort>, identifiziert Dich beim NickServ" + +#: src/common/outbound.c:3588 +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 <Maske> <Typen> <Optionen>\n" +" Maske - Hostmaske, die zu ignorieren ist, z.B.: *!*@*.aol.com\n" +" Typen - Datentypen, die zu ignorieren sind, einer oder alle von:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" Optionen - NOSAVE, QUIET" + +#: src/common/outbound.c:3595 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <Nick> [<Channel>], lädt jemanden in einen Channel ein, standardmäßig den aktuellen (Erfordert Op-Status)" + +#: src/common/outbound.c:3596 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <Channel>, betritt einen Channel" + +#: src/common/outbound.c:3598 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <Nick>, kickt den Nick aus dem aktuellen Channel (Erfordert Op-Status)" + +#: src/common/outbound.c:3600 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <Nick>, bannt den Nick und kickt dann den Nick aus dem aktuellen Channel (Erfordert Op-Status)" + +#: src/common/outbound.c:3603 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, erzwingt eine neue Lag-Prüfung" + +#: src/common/outbound.c:3605 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <Zeichenkette>, sucht im Puffer nach einer Zeichenkette" + +#: src/common/outbound.c:3607 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <Datei>, lädt ein Plugin oder ein Skript" + +#: src/common/outbound.c:3610 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Nimmt allen HalbOps im aktuellen Channel den HalbOp-Status (Erfordert Op-Status)" + +#: src/common/outbound.c:3612 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Nimmt allen Ops im aktuellen Channel den Op-Status (Erfordert Op-Status)" + +#: src/common/outbound.c:3614 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <Aktion>, sendet die Aktion in den aktuellen Channel (Aktionen werden in der 3. Person geschrieben, wie /me springt)" + +#: src/common/outbound.c:3618 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Kickt alle außer Dich im aktuellen Channel (Erfordert Op-Status)" + +#: src/common/outbound.c:3621 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, gibt allen Benutzern im aktuellen Channel Op (Erfordert Op-Status)" + +#: src/common/outbound.c:3622 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <Nick> <Nachricht>, sendet eine private Nachricht" + +#: src/common/outbound.c:3625 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, Listet die Nicks im aktuellen Channel auf" + +#: src/common/outbound.c:3627 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <Nick> <Nachricht>, Sendet eine CTCP-Notiz" + +#: src/common/outbound.c:3628 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <Hostname> [<Port>], verbindet mit einem Server in einem neuen Reiter" + +#: src/common/outbound.c:3629 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <Nickname>, setzt Deinen Nick" + +#: src/common/outbound.c:3632 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <Nick/Channel> <Nachricht>, sendet eine Notiz. Notizen sind Nachrichten, auf die automatisch reagiert werden sollte" + +#: src/common/outbound.c:3634 +msgid "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" +msgstr "NOTIFY [-n network1[,network2,...]] [<nick>], zeigt Deine Benachrichtigungsliste oder fügt jemanden hinzu" + +#: src/common/outbound.c:3636 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <Nick>, gibt Nick Op-Status (Erfordert Op-Status)" + +#: src/common/outbound.c:3638 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<Channel>] [<Grund>], verläßt den Channel, standardmäßig den aktuellen" + +#: src/common/outbound.c:3640 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <Nick | Channel>, pingt den Nick oder Channel per CTCP an" + +#: src/common/outbound.c:3642 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <nick>, öffnet ein neues Dialogfenster mit jemandem" + +#: src/common/outbound.c:3644 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<Grund>], trennt XChat vom aktuellen Server" + +#: src/common/outbound.c:3646 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <Text>, sendet den Text im Rohformat an den Server" + +#: src/common/outbound.c:3649 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<Host>] [<Port>] [<Passwort>], Kann einfach als /RECONNECT aufgerufen werden um sich mit dem aktuellen Server wiederzuverbinden, oder als /RECONNECT ALL um sich mit allen aktiven Servern wiederzuverbinden" + +#: src/common/outbound.c:3652 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<Host>] [<Port>] [<Passwort>], Kann einfach als /RECONNECT aufgerufen werden um sich mit dem aktuellen Server wiederzuverbinden, oder als /RECONNECT ALL um sich mit allen aktiven Servern wiederzuverbinden" + +#: src/common/outbound.c:3654 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <Text>, sendet Rohdaten an XChat, als ob sie vom IRC-Server empfangen wurden" + +#: src/common/outbound.c:3657 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <Text>, sendet den Text ans Ziel im aktuellen Fenster" + +#: src/common/outbound.c:3658 +msgid "SEND <nick> [<file>]" +msgstr "SEND <Nick> [<Datei>]" + +#: src/common/outbound.c:3661 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <Host> <Port> <Channel>, verbindet und betritt einen Channel" + +#: src/common/outbound.c:3664 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <Host> <Port> <Channel>, verbindet und betritt einen Channel" + +#: src/common/outbound.c:3668 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <Host> [<Port>] [<Passwort>], verbindet mit einem Server, der Standard-Port ist 6667 für normale Verbindungen und 9999 für SSL-Verbindungen" + +#: src/common/outbound.c:3671 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <Host> [<Port>] [<Passwort>], verbindet mit einem Server, der Standard-Port ist 6667" + +#: src/common/outbound.c:3673 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-or] [-quiet] <Variable> [<Wert>], setzt eine Variable oder zeigt ihren Wert" + +#: src/common/outbound.c:3674 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<Position>" + +#: src/common/outbound.c:3679 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<Thema>], setzt das Thema, wenn eins angegeben wurde, oder zeigt das aktuelle" + +#: src/common/outbound.c:3681 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" +"\n" +"TRAY -f <Zeitüberschreitung> <Datei1> [<Datei2>] Wechselt im Benachrichtigungsbereich zwischen zwei Symbolen.\n" +"TRAY -f <Dateiname> Setzt Benachrichtigungssysmbol auf ein festes Symbol.\n" +"TRAY -i <Nummer> Blnkt im Benachrichtigungsbereich mit einem internen Symbol.\n" +"TRAY -t <Text> Setzt den Tooltip für den Benachrichtigungsbereich.\n" +"TRAY -b <Titel> <Text> Setzt den Ballontext für den Benachrichtigungsbereich." + +#: src/common/outbound.c:3688 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <Maske> [<Maske>...], entfernt den Bann für eine spezielle Hostmaske" + +#: src/common/outbound.c:3689 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <Maske> [QUIET], hört auf, die angegebene Hostmaske zu ignorieren" + +#: src/common/outbound.c:3690 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <Name>, entfernt ein Plugin oder Skript" + +#: src/common/outbound.c:3691 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, öffnet einen URL in Deinem Browser" + +#: src/common/outbound.c:3693 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <Nick1> <Nick2> ... <Nickn>, markiert Nick(s) in der Channel-Benutzerliste" + +#: src/common/outbound.c:3696 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <Nick>, gibt jemandem Voice-Status (Erfordert Op-Status)" + +#: src/common/outbound.c:3698 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <Nachricht>, schreibt eine Nachricht in alle Channels" + +#: src/common/outbound.c:3700 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <Nachricht>, sendet eine Nachricht an alle Ops im aktuellen Channel" + +#: src/common/outbound.c:3733 +#, c-format +msgid "Usage: %s\n" +msgstr "Benutzung: %s\n" + +#: src/common/outbound.c:3738 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Keine Hilfe für dieses Kommando verfügbar.\n" + +#: src/common/outbound.c:3744 +msgid "No such command.\n" +msgstr "Kein solches Kommando.\n" + +#: src/common/outbound.c:4074 +msgid "Bad arguments for user command.\n" +msgstr "Ungültige Argumente für das Benutzerkommando.\n" + +#: src/common/outbound.c:4230 +msgid "Too many recursive usercommands, aborting." +msgstr "Zu viele rekursive Benutzerkommandos - Abbruch." + +#: src/common/outbound.c:4307 +msgid "Unknown Command. Try /help\n" +msgstr "Unbekanntes Kommando. Versuche /help\n" + +#: src/common/plugin.c:356 +#: src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Kein xchat_plugin_init Symbol; ist dies wirklich ein XChat-Plugin?" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Bist Du sicher, daß dies ein SSL-fähiger Server und Port ist?\n" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Kann Hostname %s nicht auflösen\n" +"Prüfe Deine IP-Einstellungen!\n" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "Durchlaufen der Proxies gescheitert.\n" + +#: src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Springe zum nächsten Server in %s...\n" + +#: src/common/servlist.c:1074 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Warnung: Zeichensatz \"%s\" ist unbekannt. Es wird keine Konvertierung für Netzwerk %s vorgenommen." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 zur Benachrichtigungsliste hinzugefügt." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Bannliste:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tKann%C26 %B$1%O$t nicht betreten %O(Du bist gebannt)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 ist jetzt bekannt als $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 setzt einen Bann auf $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tChannel $1 erzeugt am $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O entfernt Halb-Op-Status bei%C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O entfernt Op-Status bei%C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O entfernt Voice-Status bei%C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 setzt Ausnahme auf $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O gibt Halb-Op-Status an%C26 $2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 setzt Einladung für $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UChannel Nutzer Thema%O" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 setzt Modus $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Channel $1 Modi: $2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O gibt Op-Status an%C26 $2" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 entfernt Ausnahme von $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 entfernt Einladung für $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 entfernt das Channel-Schlüsselwort" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 entfernt die Benutzerobergrenze" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 setzt das Channel-Schlüsselwort auf $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 setzt die Benutzerobergrenze auf $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 entfernt den Bann auf $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O gibt Voice-Status an%C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Verbunden. Anmeldevorgang läuft..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Verbinde mit $1 ($2) Port $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Verbindung gescheitert. Fehler: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tCTCP $1 von $2 empfangen" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tCTCP $1 von $2 empfangen (An $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tCTCP-Sound $1 von $2 empfangen" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tCTCP Sound $1 empfangen von $2 (an $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC CHAT mit %C26$1%O abgebrochen." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC-CHAT-Verbindung mit %C26$1 %C30[%O$2%C30]%O aufgebaut%O" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tDCC CHAT mit %C26$1%O verloren. ($4)." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tDCC-CHAT-Angebot von $1 empfangen" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tDCC-CHAT an $1 angeboten" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tBiete $1 bereits einen DCC-CHAT an" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 Verbindung mit%C26 $2%O gescheitert (Fehler=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$t '$1%O' von $2 empfangen" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Typ Zu/Von Status Größe Pos Datei" + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$tFehlformatierte DCC Anforderung von %C26$1%O.%010%C22*%O$tInhalt des Pakets: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tBiete%C26 $2%O %C26 $1 %O$tan" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tKein solches DCC-Angebot." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV%C26 $2%O von%C26 $1%O abgebrochen." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tDCC RECV%C26 $1%O von%C26 $3%O vollständig %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC RECV Verbindung aufgebaut mit%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O von%C26 $3%O gescheitert. ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: Kann $1 nicht schreiben ($2)." + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tDie Datei%C26 $1%C existiert bereits, speichere stattdessen als%C26 $2%O." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Ohat angefordert,%C26 $2 %Cvon%C26 $3%C an fortzusetzen." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND%C26 $2%O an%C26 $1%O abgebrochen." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC SEND%C26 $1%O an%C26 $2%O vollständig %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC SEND Verbindung aufgebaut mit%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O an%C26 $2%O gescheitert. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Ohat uns%C26 $2 %Oangeboten (%C26$3 %Obytes)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oan%C26 $3 %Chängt - Abbruch." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oan%C26 $3%O: Zeitüberschreitung - Abbruch." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 von der Benachrichtigungsliste gelöscht." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tGetrennt ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tHabe Deine IP gefunden: [$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O wird jetzt ignoriert." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Ignorierung von %C26$1%O geändert." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Hostmaske DIAL NOTI CHAN CTCP DCC EINL UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O wird nicht mehr ignoriert." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " Niemand wird ignoriert." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tKann%C26 %B$1 %O$tnicht betreten %O(Channel ist nur auf Einladung zu betreten)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tDu wurdest von%C26 $2%C nach %C26 $1%O eingeladen (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) hat $2 betreten" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tKann%C26 %B$1 %Onicht betreten (Erfordert ein Schlüsselwort)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 hat $2 aus $3 gekickt ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tDu bist von $1 gekillt worden ($2%O%C22)" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD übersprungen." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 bereits in Benutzung. Erneuter Versuch mit $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tNickname bereits in Benutzung, benutze /NICK um einen anderen zu probieren." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tKein solcher DCC." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tKein solcher Prozess läuft derzeit" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tDie Benachrichtigungsliste ist leer." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Benachrichtigungsliste " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 Nutzer in der Benachrichtigungsliste." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tBenachrichtigung: $1 ist offline ($3)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tBenachrichtigung: $1 ist online ($3)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) hat $3 verlassen" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) hat $3 verlassen (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tPing-Antwort von $1: $2 Sekunde(n)" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tKeine Ping-Antwort seit $1 Sekunden, trenne." + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tEin Prozess läuft bereits" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 hat die Verbindung getrennt (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 setzt die Modi%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tSuche nach IP-Nummer für%C26 $1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Verbunden." + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Suche nach $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tVorhergehender Verbindungsversuch (PID=$1) abgebrochen" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Das Thema für $1%C %C29ist: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 hat das Thema geändert zu: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Das Thema für $1%C %C29wurde gesetzt durch $2%C %C29um $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tUnbekannter Host. Vielleicht hast Du ihn falsch geschrieben?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tKann%C26 %B$1 %Onicht betreten (Benutzerobergrenze erreicht)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Benutzer in $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cist abwesend %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 +#: src/common/textevents.h:372 +#: src/common/textevents.h:387 +#: src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OEnde der WHOIS-Liste." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O untätig%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O untätig%C26 $2%O, Online seit:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Owahrer Nutzer@Host%C27 $2%O, wahre IP%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Du sprichst jetzt in $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tDu wurdest durch $3 aus $2 gekickt ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tDu hast Channel $3 verlassen" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tDu hast Channel $3 verlassen (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tDu hast %C26 $1%O nach%C26 $2%O$t eingeladen %O(%C26$3%O)" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tDu bist jetzt bekannt als $2" + +#: src/common/text.c:287 +msgid "Loaded log from" +msgstr "Logbuch geladen von" + +#: src/common/text.c:305 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** BEENDE LOGBUCH UM %s\n" + +#: src/common/text.c:514 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** BEGINNE LOGBUCH UM %s\n" + +#: src/common/text.c:533 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Kann Logbuchdatei(en) nicht zum Schreiben öffnen. Prüfe\n" +" die Berechtigungen von %s/xchatlogs" + +#: src/common/text.c:871 +msgid "Left message" +msgstr "Linke Nachricht" + +#: src/common/text.c:872 +msgid "Right message" +msgstr "Rechte Nachricht" + +#: src/common/text.c:876 +msgid "The nick of the joining person" +msgstr "Der Nick der Person, die den Channel betritt" + +#: src/common/text.c:877 +msgid "The channel being joined" +msgstr "Der Channel, der betreten wird" + +#: src/common/text.c:878 +#: src/common/text.c:925 +#: src/common/text.c:976 +msgid "The host of the person" +msgstr "Die Hostmask der Person" + +#: src/common/text.c:882 +#: src/common/text.c:888 +#: src/common/text.c:895 +#: src/common/text.c:1083 +#: src/common/text.c:1090 +#: src/common/text.c:1095 +#: src/common/text.c:1100 +#: src/common/text.c:1105 +#: src/common/text.c:1111 +#: src/common/text.c:1116 +#: src/common/text.c:1120 +#: src/common/text.c:1126 +#: src/common/text.c:1132 +#: src/common/text.c:1178 +#: src/common/text.c:1189 +#: src/common/text.c:1194 +#: src/common/text.c:1199 +#: src/common/text.c:1208 +#: src/common/text.c:1219 +#: src/common/text.c:1226 +#: src/common/text.c:1232 +#: src/common/text.c:1237 +#: src/common/text.c:1242 +#: src/common/text.c:1249 +#: src/common/text.c:1255 +#: src/common/text.c:1261 +#: src/common/text.c:1266 +#: src/common/text.c:1271 +#: src/common/text.c:1275 +#: src/common/text.c:1281 +#: src/common/text.c:1289 +#: src/common/text.c:1323 +#: src/common/text.c:1328 +msgid "Nickname" +msgstr "Nickname" + +#: src/common/text.c:883 +msgid "The action" +msgstr "Die Aktion" + +#: src/common/text.c:884 +#: src/common/text.c:890 +msgid "Mode char" +msgstr "Moduszeichen" + +#: src/common/text.c:889 +msgid "The text" +msgstr "Der Text" + +#: src/common/text.c:891 +#: src/common/text.c:897 +msgid "Identified text" +msgstr "Identifierter Text" + +#: src/common/text.c:896 +#: src/common/text.c:953 +#: src/common/text.c:959 +msgid "The message" +msgstr "Die Nachricht" + +#: src/common/text.c:901 +#: src/common/text.c:963 +msgid "Old nickname" +msgstr "Alter Nickname" + +#: src/common/text.c:902 +#: src/common/text.c:964 +msgid "New nickname" +msgstr "Neuer Nickname" + +#: src/common/text.c:906 +msgid "Nick of person who changed the topic" +msgstr "Nick der Person, die das Thema geändert hat" + +#: src/common/text.c:907 +#: src/common/text.c:913 +#: src/fe-gtk/chanlist.c:756 +#: src/fe-gtk/chanlist.c:859 +msgid "Topic" +msgstr "Thema" + +#: src/common/text.c:908 +#: src/common/text.c:912 +#: src/common/text.c:1343 +#: src/fe-gtk/chanlist.c:754 +#: src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Channel" + +#: src/common/text.c:917 +#: src/common/text.c:970 +msgid "The nickname of the kicker" +msgstr "Der Nickname des Kickenden" + +#: src/common/text.c:918 +#: src/common/text.c:968 +msgid "The person being kicked" +msgstr "Die Person, die gekickt wird" + +#: src/common/text.c:919 +#: src/common/text.c:926 +#: src/common/text.c:930 +#: src/common/text.c:935 +#: src/common/text.c:969 +#: src/common/text.c:977 +#: src/common/text.c:984 +msgid "The channel" +msgstr "Der Channel" + +#: src/common/text.c:920 +#: src/common/text.c:971 +#: src/common/text.c:978 +msgid "The reason" +msgstr "Der Grund" + +#: src/common/text.c:924 +#: src/common/text.c:975 +msgid "The nick of the person leaving" +msgstr "Der Nick der Person, die den Channel verläßt" + +#: src/common/text.c:931 +#: src/common/text.c:937 +msgid "The time" +msgstr "Die Zeit" + +#: src/common/text.c:936 +msgid "The creator" +msgstr "Der Erzeuger" + +#: src/common/text.c:941 +#: src/fe-gtk/dccgui.c:763 +#: src/fe-gtk/dccgui.c:994 +msgid "Nick" +msgstr "Nick" + +#: src/common/text.c:942 +#: src/common/text.c:1195 +msgid "Reason" +msgstr "Grund" + +#: src/common/text.c:943 +#: src/common/text.c:1085 +#: src/common/text.c:1168 +msgid "Host" +msgstr "Host" + +#: src/common/text.c:947 +#: src/common/text.c:952 +#: src/common/text.c:957 +msgid "Who it's from" +msgstr "Von wem es ist" + +#: src/common/text.c:948 +msgid "The time in x.x format (see below)" +msgstr "Die Zeit im x.x-Format (siehe unten)" + +#: src/common/text.c:958 +#: src/common/text.c:995 +msgid "The Channel it's going to" +msgstr "Der Channel an den es geht" + +#: src/common/text.c:982 +msgid "The sound" +msgstr "Der Klang" + +#: src/common/text.c:983 +#: src/common/text.c:989 +#: src/common/text.c:994 +msgid "The nick of the person" +msgstr "Der Nick der Person" + +#: src/common/text.c:988 +#: src/common/text.c:993 +msgid "The CTCP event" +msgstr "Das CTCP-Ereignis" + +#: src/common/text.c:999 +msgid "The nick of the person who set the key" +msgstr "Der Nick der Person, die den Schlüssel gesetzt hat" + +#: src/common/text.c:1000 +msgid "The key" +msgstr "Der Schlüssel" + +#: src/common/text.c:1004 +msgid "The nick of the person who set the limit" +msgstr "Der Nick der Person, die das Limit gesetzt hat" + +#: src/common/text.c:1005 +msgid "The limit" +msgstr "Das Limit" + +#: src/common/text.c:1009 +msgid "The nick of the person who did the op'ing" +msgstr "Der Nick der Person, die Op-Status erteilte" + +#: src/common/text.c:1010 +msgid "The nick of the person who has been op'ed" +msgstr "Der Nick der Person, die Op-Status erhielt" + +#: src/common/text.c:1014 +msgid "The nick of the person who has been halfop'ed" +msgstr "Der Nick der Person, die HalfOp-Status erhielt" + +#: src/common/text.c:1015 +msgid "The nick of the person who did the halfop'ing" +msgstr "Der Nick der Person, die HalfOp-Status erteilte" + +#: src/common/text.c:1019 +msgid "The nick of the person who did the voice'ing" +msgstr "Der Nick der Person, die Voice erteilte" + +#: src/common/text.c:1020 +msgid "The nick of the person who has been voice'ed" +msgstr "Der Nick der Person, die Voice erhielt" + +#: src/common/text.c:1024 +msgid "The nick of the person who did the banning" +msgstr "Der Nick der Person, die bannte" + +#: src/common/text.c:1025 +#: src/common/text.c:1052 +msgid "The ban mask" +msgstr "Die Bannmaske" + +#: src/common/text.c:1029 +msgid "The nick who removed the key" +msgstr "Der Nick, der den Schlüssel entfernte" + +#: src/common/text.c:1033 +msgid "The nick who removed the limit" +msgstr "Der Nick, der das Limit entfernte" + +#: src/common/text.c:1037 +msgid "The nick of the person of did the deop'ing" +msgstr "Der Nick der Person, die Op nahm" + +#: src/common/text.c:1038 +msgid "The nick of the person who has been deop'ed" +msgstr "Der Nick der Person, die Op abgenommen bekam" + +#: src/common/text.c:1041 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Der Nick der Person, die HalfOp nahm" + +#: src/common/text.c:1042 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Der Nick der Person, die HalfOp abgenommen bekam" + +#: src/common/text.c:1046 +msgid "The nick of the person of did the devoice'ing" +msgstr "Der Nick der Person, die Voice nahm" + +#: src/common/text.c:1047 +msgid "The nick of the person who has been devoice'ed" +msgstr "Der Nick der Person, die Voice abgenommen bekam" + +#: src/common/text.c:1051 +msgid "The nick of the person of did the unban'ing" +msgstr "Der Nick der Person, die den Bann entfernte" + +#: src/common/text.c:1056 +msgid "The nick of the person who did the exempt" +msgstr "Der Nick der Person, die die Ausnahme setzte" + +#: src/common/text.c:1057 +#: src/common/text.c:1062 +msgid "The exempt mask" +msgstr "Die Ausnahme-Maske" + +#: src/common/text.c:1061 +msgid "The nick of the person removed the exempt" +msgstr "Der Nick der Person, die die Ausnahme entfernte" + +#: src/common/text.c:1066 +msgid "The nick of the person who did the invite" +msgstr "Der Nick der Person, die die Einladung aussprach" + +#: src/common/text.c:1067 +#: src/common/text.c:1072 +msgid "The invite mask" +msgstr "Die Einladungs-Maske" + +#: src/common/text.c:1071 +msgid "The nick of the person removed the invite" +msgstr "Der Nick der Person, die die Einladung zurücknahm" + +#: src/common/text.c:1076 +msgid "The nick of the person setting the mode" +msgstr "Der Nick der Person, die den Modus setzte" + +#: src/common/text.c:1077 +msgid "The mode's sign (+/-)" +msgstr "Die Moduszeichen (+/-)" + +#: src/common/text.c:1078 +msgid "The mode letter" +msgstr "Der Modusbuchstabe" + +#: src/common/text.c:1079 +msgid "The channel it's being set on" +msgstr "Der Channel, der eingestellt wird" + +#: src/common/text.c:1084 +msgid "Username" +msgstr "Benutzername" + +#: src/common/text.c:1086 +msgid "Full name" +msgstr "Voller Name" + +#: src/common/text.c:1091 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Channelinformation/\"ist ein IRC-Operator\"" + +#: src/common/text.c:1096 +msgid "Server Information" +msgstr "Server-Information" + +#: src/common/text.c:1101 +#: src/common/text.c:1106 +msgid "Idle time" +msgstr "Untätig" + +#: src/common/text.c:1107 +msgid "Signon time" +msgstr "Zeitpunkt der Einwahl" + +#: src/common/text.c:1112 +msgid "Away reason" +msgstr "Abwesenheitsgrund" + +#: src/common/text.c:1121 +#: src/common/text.c:1127 +#: src/common/text.c:1135 +#: src/common/text.c:1315 +msgid "Message" +msgstr "Nachricht" + +#: src/common/text.c:1128 +msgid "Account" +msgstr "Konto" + +#: src/common/text.c:1133 +msgid "Real user@host" +msgstr "Echter Benutzer@Host" + +#: src/common/text.c:1134 +msgid "Real IP" +msgstr "Echte IP" + +#: src/common/text.c:1139 +#: src/common/text.c:1148 +#: src/common/text.c:1154 +#: src/common/text.c:1184 +#: src/common/text.c:1338 +msgid "Channel Name" +msgstr "Channel-Name" + +#: src/common/text.c:1143 +#: src/common/text.c:1301 +#: src/fe-gtk/menu.c:1240 +#: src/fe-gtk/menu.c:1420 +#: src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "Text" + +#: src/common/text.c:1144 +#: src/common/text.c:1150 +#: src/common/text.c:1179 +#: src/common/text.c:1297 +#: src/common/text.c:1339 +msgid "Server Name" +msgstr "Server-Name" + +#: src/common/text.c:1149 +msgid "Nick of person who invited you" +msgstr "Nick der Person, die Dich einlud" + +#: src/common/text.c:1155 +#: src/fe-gtk/chanlist.c:755 +msgid "Users" +msgstr "Benutzer" + +#: src/common/text.c:1159 +msgid "Nickname in use" +msgstr "Nickname in Benutzung" + +#: src/common/text.c:1160 +msgid "Nick being tried" +msgstr "Nick wird versucht" + +#: src/common/text.c:1169 +#: src/common/text.c:1305 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1170 +#: src/common/text.c:1201 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1180 +#: src/fe-gtk/notifygui.c:139 +#: src/fe-gtk/setup.c:1669 +msgid "Network" +msgstr "Netzwerk" + +#: src/common/text.c:1185 +#: src/common/text.c:1190 +msgid "Modes string" +msgstr "Modusfolge" + +#: src/common/text.c:1200 +#: src/common/text.c:1238 +#: src/common/text.c:1243 +#: src/common/text.c:1284 +msgid "IP address" +msgstr "IP-Adresse" + +#: src/common/text.c:1206 +#: src/common/text.c:1231 +msgid "DCC Type" +msgstr "DCC-Typ" + +#: src/common/text.c:1207 +#: src/common/text.c:1212 +#: src/common/text.c:1217 +#: src/common/text.c:1224 +#: src/common/text.c:1244 +#: src/common/text.c:1248 +#: src/common/text.c:1254 +#: src/common/text.c:1260 +#: src/common/text.c:1267 +#: src/common/text.c:1276 +#: src/common/text.c:1282 +msgid "Filename" +msgstr "Dateiname" + +#: src/common/text.c:1218 +#: src/common/text.c:1225 +msgid "Destination filename" +msgstr "Zieldateiname" + +#: src/common/text.c:1227 +#: src/common/text.c:1256 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1262 +msgid "Pathname" +msgstr "Pfadname" + +#: src/common/text.c:1277 +#: src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "Position" + +#: src/common/text.c:1283 +#: src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "Größe" + +#: src/common/text.c:1288 +msgid "DCC String" +msgstr "DCC Zeichenfolge" + +#: src/common/text.c:1293 +msgid "Number of notify items" +msgstr "Anzahl der Notify-Einträge" + +#: src/common/text.c:1309 +msgid "Old Filename" +msgstr "Alter Dateiname" + +#: src/common/text.c:1310 +msgid "New Filename" +msgstr "Neuer Dateiname" + +#: src/common/text.c:1314 +msgid "Receiver" +msgstr "Empfänger" + +#: src/common/text.c:1319 +msgid "Hostmask" +msgstr "Hostmaske" + +#: src/common/text.c:1324 +msgid "Hostname" +msgstr "Hostname" + +#: src/common/text.c:1329 +msgid "The Packet" +msgstr "Das Paket" + +#: src/common/text.c:1333 +msgid "Seconds" +msgstr "Sekunden" + +#: src/common/text.c:1337 +msgid "Nick of person who have been invited" +msgstr "Nick der Person, die eingeladen wurde" + +#: src/common/text.c:1344 +msgid "Banmask" +msgstr "Bann-Maske" + +#: src/common/text.c:1345 +msgid "Who set the ban" +msgstr "Wer setzte den Bann" + +#: src/common/text.c:1346 +msgid "Ban time" +msgstr "Bannzeit" + +#: src/common/text.c:1386 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Fehler beim Abarbeiten von Ereignis %s.\n" +"Lade Standard" + +#: src/common/text.c:2079 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Kann diese Sounddatei nicht lesen:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "Gegenseite hat den Socket geschlossen" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Verbindung verweigert" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "Keine Route zum Host" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Verbindung wegen Zeitüberschreitung geschlossen" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Kann diese Adresse nicht zuteilen" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Verbindung von der Gegenseite zurückgesetzt" + +#: src/common/util.c:839 +msgid "Ascension Island" +msgstr "Himmelfahrtsinsel" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "Vereinigte Arabische Emirate" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "Afghanistan" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "Antigua und Barbuda" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "Albanien" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "Armenien" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "Niederländische Antillen" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:849 +msgid "Antarctica" +msgstr "Antarktis" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "Argentinien" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "Reverse DNS" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "Amerikanisch Samoa" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "Österreich" + +#: src/common/util.c:854 +msgid "Nato Fiel" +msgstr "NATO" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "Australien" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:857 +msgid "Aland Islands" +msgstr "Åland-Inseln" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "Aserbaidschan" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "Bosnien und Herzegowina" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "Bangladesch" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "Belgien" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "Bulgarien" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "Geschäftsdomain" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "Bolivien" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "Brasilien" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "Bouvet-Insel" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "Botsuana" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "Belarus (Weißrussland)" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "Kokos-Inseln" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "Demokratische Republik Kongo" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "Zentralafrikanische Republik" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "Schweiz" + +#: src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "Côte d'Ivoire" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "Cook-Inseln" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:889 +msgid "China" +msgstr "China" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "Kolumbien" + +#: src/common/util.c:891 +msgid "Internic Commercial" +msgstr "Internic geschäftlich" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "Serbien und Montenegro" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "Kap Verde" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "Weihnachtsinsel" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "Zypern" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "Tschechische Republik" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "Bundesrepublik Deutschland" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "Dschibuti" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "Dänemark" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "Dominikanische Republik" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "Algerien" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "Bildungseinrichtung" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "Estland" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "Arabische Republik Ägypten" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "Westliche Sahara" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "Spanien" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "Äthiopien" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "Europäische Union" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "Finnland" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "Fidschi" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "Falkland-Inseln" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "Mikronesien" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "Färör-Inseln" + +#: src/common/util.c:919 +msgid "France" +msgstr "Frankreich" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "Gabun" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "Großbritannien" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "Georgien" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "Französisch Guyana" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "Britische Kanalinseln" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "Grönland" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:931 +msgid "Government" +msgstr "Amerikanische Regierung" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "Äquatorial-Guinea" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "Griechenland" + +#: src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "S. Georgia- und S. Sandwich-Inseln" + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "Heard- und McDonald-Inseln" + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "Kroatien" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "Ungarn" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "Indonesien" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "Irland" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "Isle of Man" + +#: src/common/util.c:950 +msgid "India" +msgstr "Indien" + +#: src/common/util.c:951 +msgid "Informational" +msgstr "Informative Domain" + +#: src/common/util.c:952 +msgid "International" +msgstr "International" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "Britische Gebiete im indischen Ozean" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "Island" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "Italien" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "Jamaika" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "Jordanien" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "Japan" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "Kenia" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "Kirgisistan" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "Kambodscha" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "Komoren" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts und Nevis" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "Nordkorea" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "Südkorea" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "Cayman-Inseln" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "Kasachstan" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "Litauen" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "Luxemburg" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "Lettland" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "Libyen" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "Marokko" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "Moldawien" + +#: src/common/util.c:987 +msgid "United States Medical" +msgstr "Vereinigte Staaten medizinisch" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "Marshallinseln" + +#: src/common/util.c:990 +msgid "Military" +msgstr "Militärisch" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "Mazedonien" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "Mongolei" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "Nördliche Mariana-Inseln" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "Mauretanien" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "Malediven" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "Mexiko" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "Malaysia" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "Mosambik" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "Neu Kaledonien" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:1010 +msgid "Internic Network" +msgstr "Internic Netzwerk" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "Norfolk-Insel" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "Niederlande" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "Norwegen" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "Neuseeland" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "Internic Non-Profit-Organisation" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "Französisch Polynesien" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "Papua-Neuguinea" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "Philippinen" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "Polen" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre und Miquelon" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "Palästinensergebiete" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "Rumänien" + +#: src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "Old School ARPAnet" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "Russische Föderation" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "Saudi-Arabien" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "Solomon-Inseln" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "Seychellen" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "Schweden" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "Slowenien" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard- und Jan Mayen-Inseln" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "Slowakische Republik" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "São Tomé und Príncipe" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "Frühere UdSSR" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "Syrien" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "Swasiland" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "Turks und Caicoc Inseln" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "Tschad" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "Südliche französische Gebiete" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "Thailand" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "Tadschikistan" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1069 +#: src/common/util.c:1073 +msgid "East Timor" +msgstr "Ost-Timor" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "Tunesien" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "Türkei" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "Trinidad und Tobago" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "Tansania" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "Ukraine" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "Vereinigtes Königreich" + +#: src/common/util.c:1082 +msgid "United States of America" +msgstr "Vereinigte Staaten von Amerika" + +#: src/common/util.c:1083 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:1084 +msgid "Uzbekistan" +msgstr "Usbekistan" + +#: src/common/util.c:1085 +msgid "Vatican City State" +msgstr "Vatikanstadt" + +#: src/common/util.c:1086 +msgid "St. Vincent and the Grenadines" +msgstr "St. Vincent und die Grenadinen" + +#: src/common/util.c:1087 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:1088 +msgid "British Virgin Islands" +msgstr "Britische Jungferninseln" + +#: src/common/util.c:1089 +msgid "US Virgin Islands" +msgstr "Amerikanische Jungferninseln" + +#: src/common/util.c:1090 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:1091 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1092 +msgid "Wallis and Futuna Islands" +msgstr "Wallis- und Futuna-Inseln" + +#: src/common/util.c:1093 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1094 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:1095 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:1096 +msgid "Yugoslavia" +msgstr "Jugoslawien" + +#: src/common/util.c:1097 +msgid "South Africa" +msgstr "Südafrika" + +#: src/common/util.c:1098 +msgid "Zambia" +msgstr "Sambia" + +#: src/common/util.c:1099 +msgid "Zimbabwe" +msgstr "Simbabwe" + +#: src/common/util.c:1109 +#: src/common/util.c:1119 +#: src/fe-gtk/menu.c:553 +#: src/fe-gtk/menu.c:558 +#: src/fe-gtk/menu.c:562 +#: src/fe-gtk/menu.c:566 +#: src/fe-gtk/menu.c:574 +#: src/fe-gtk/menu.c:592 +msgid "Unknown" +msgstr "Unbekannt" + +#: src/common/xchat.c:767 +#: src/common/xchat.c:893 +msgid "Open Dialog Window" +msgstr "Dialogfenster öffnen" + +#: src/common/xchat.c:768 +msgid "Send a File" +msgstr "Sende eine Datei" + +#: src/common/xchat.c:769 +msgid "User Info (WHOIS)" +msgstr "Benutzerinformationen (WHOIS)" + +#: src/common/xchat.c:770 +msgid "Operator Actions" +msgstr "Bedieneraktionen" + +#: src/common/xchat.c:772 +#: src/common/xchat.c:863 +msgid "Give Ops" +msgstr "Op geben" + +#: src/common/xchat.c:773 +#: src/common/xchat.c:864 +msgid "Take Ops" +msgstr "Op nehmen" + +#: src/common/xchat.c:774 +#: src/common/xchat.c:867 +msgid "Give Voice" +msgstr "Voice geben" + +#: src/common/xchat.c:775 +#: src/common/xchat.c:868 +msgid "Take Voice" +msgstr "Voice nehmen" + +#: src/common/xchat.c:777 +#: src/common/xchat.c:872 +msgid "Kick/Ban" +msgstr "Kicken/Bannen" + +#: src/common/xchat.c:778 +#: src/common/xchat.c:873 +#: src/common/xchat.c:922 +msgid "Kick" +msgstr "Kicken" + +#: src/common/xchat.c:779 +#: src/common/xchat.c:780 +#: src/common/xchat.c:781 +#: src/common/xchat.c:782 +#: src/common/xchat.c:783 +#: src/common/xchat.c:874 +#: src/common/xchat.c:875 +#: src/common/xchat.c:876 +#: src/common/xchat.c:877 +#: src/common/xchat.c:878 +#: src/common/xchat.c:921 +msgid "Ban" +msgstr "Bannen" + +#: src/common/xchat.c:784 +#: src/common/xchat.c:785 +#: src/common/xchat.c:786 +#: src/common/xchat.c:787 +#: src/common/xchat.c:879 +#: src/common/xchat.c:880 +#: src/common/xchat.c:881 +#: src/common/xchat.c:882 +msgid "KickBan" +msgstr "KickBannen" + +#: src/common/xchat.c:850 +msgid "Direct client-to-client" +msgstr "Direkt Client2Client" + +#: src/common/xchat.c:851 +msgid "Send File" +msgstr "Sende Datei" + +#: src/common/xchat.c:852 +msgid "Offer Chat" +msgstr "Biete Chat an" + +#: src/common/xchat.c:853 +msgid "Abort Chat" +msgstr "Chat abbrechen" + +#: src/common/xchat.c:854 +#: src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Version" + +#: src/common/xchat.c:855 +msgid "Userinfo" +msgstr "Benutzerinformation" + +#: src/common/xchat.c:856 +msgid "Clientinfo" +msgstr "Clientinformation" + +#: src/common/xchat.c:857 +#: src/common/xchat.c:891 +#: src/common/xchat.c:939 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:858 +msgid "Time" +msgstr "Zeit" + +#: src/common/xchat.c:859 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:860 +msgid "Oper" +msgstr "Oper" + +#: src/common/xchat.c:861 +msgid "Kill this user" +msgstr "Benutzer killen" + +#: src/common/xchat.c:862 +msgid "Mode" +msgstr "Modus" + +#: src/common/xchat.c:865 +msgid "Give Half-Ops" +msgstr "Half-Op geben" + +#: src/common/xchat.c:866 +msgid "Take Half-Ops" +msgstr "Half-Op nehmen" + +#: src/common/xchat.c:869 +msgid "Ignore" +msgstr "Ignorieren" + +#: src/common/xchat.c:870 +msgid "Ignore User" +msgstr "Ignoriere Benutzer" + +#: src/common/xchat.c:871 +msgid "UnIgnore User" +msgstr "Benutzer nicht mehr ignorieren" + +#: src/common/xchat.c:883 +msgid "Info" +msgstr "Info" + +#: src/common/xchat.c:884 +msgid "Who" +msgstr "Who" + +#: src/common/xchat.c:885 +#: src/common/xchat.c:935 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/xchat.c:886 +msgid "DNS Lookup" +msgstr "DNS-Suche" + +#: src/common/xchat.c:887 +msgid "Trace" +msgstr "Verfolgung" + +#: src/common/xchat.c:888 +msgid "UserHost" +msgstr "BenutzerHost" + +#: src/common/xchat.c:889 +msgid "External" +msgstr "Extern" + +#: src/common/xchat.c:890 +msgid "Traceroute" +msgstr "Traceroute (Verfolgung)" + +#: src/common/xchat.c:892 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:904 +msgid "Leave Channel" +msgstr "Channel verlassen" + +#: src/common/xchat.c:905 +#: src/fe-gtk/menu.c:1427 +msgid "Join Channel..." +msgstr "Betrete Channel..." + +#: src/common/xchat.c:906 +#: src/fe-gtk/menu.c:1117 +msgid "Enter Channel to Join:" +msgstr "Zu betretender Channel:" + +#: src/common/xchat.c:907 +msgid "Server Links" +msgstr "Serververbindungen" + +#: src/common/xchat.c:908 +msgid "Ping Server" +msgstr "Server anpingen" + +#: src/common/xchat.c:909 +msgid "Hide Version" +msgstr "Version verstecken" + +#: src/common/xchat.c:919 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:920 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/xchat.c:923 +msgid "bye" +msgstr "bye" + +#: src/common/xchat.c:924 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Kickgrund für %s eingeben:" + +#: src/common/xchat.c:925 +msgid "Sendfile" +msgstr "Dateiversand" + +#: src/common/xchat.c:926 +msgid "Dialog" +msgstr "Dialog" + +#: src/common/xchat.c:936 +msgid "Send" +msgstr "Sende" + +#: src/common/xchat.c:937 +msgid "Chat" +msgstr "Chat" + +#: src/common/xchat.c:938 +#: src/fe-gtk/banlist.c:341 +#: src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Lösche" + +#: src/common/dbus/dbus-client.c:71 +msgid "Couldn't connect to session bus" +msgstr "Konnte nicht zur Sitzungs-Busschnittstelle verbinden" + +#: src/common/dbus/dbus-client.c:85 +msgid "Failed to complete NameHasOwner" +msgstr "Konnte NamehatBesitzer nicht abschließen" + +#: src/common/dbus/dbus-client.c:106 +msgid "Failed to complete Command" +msgstr "Konnte Kommando nicht abschließen" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "Fernzugriff" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "Plugin für den Fernzugriff mittels DBUS" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Konnte nicht zur Sitzungs-Busschnittstelle verbinden: %s\n" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Ermittlung von %s scheiterte: %s\n" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "Über XChat" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "Ein portabler IRC-Client" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Zeichentabelle" + +#: src/fe-gtk/banlist.c:113 +#: src/fe-gtk/chanlist.c:305 +#: src/fe-gtk/plugin-tray.c:217 +msgid "Not connected." +msgstr "Nicht verbunden." + +#: src/fe-gtk/banlist.c:154 +#: src/fe-gtk/banlist.c:257 +msgid "You must select some bans." +msgstr "Du mußt Bans auswählen" + +#: src/fe-gtk/banlist.c:206 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "Bist Du sicher, daß Du alle Bans in %s entfernen willst?" + +#: src/fe-gtk/banlist.c:272 +#: src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Maske" + +#: src/fe-gtk/banlist.c:273 +msgid "From" +msgstr "Von" + +#: src/fe-gtk/banlist.c:274 +msgid "Date" +msgstr "Datum" + +#: src/fe-gtk/banlist.c:317 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Du kannst die Bannliste nur öffnen, während Du in einem Channel-Reiter bist." + +#: src/fe-gtk/banlist.c:321 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: Bannliste (%s)" + +#: src/fe-gtk/banlist.c:337 +msgid "Unban" +msgstr "Bann entfernen" + +#: src/fe-gtk/banlist.c:339 +msgid "Crop" +msgstr "Abschneiden" + +#: src/fe-gtk/banlist.c:343 +msgid "Refresh" +msgstr "Aktualisieren" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Zeige %d/%d Benutzer in %d/%d Channels." + +#: src/fe-gtk/chanlist.c:522 +#: src/fe-gtk/menu.c:1053 +#: src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Gib einen Dateinamen für die Ausgabe an" + +#: src/fe-gtk/chanlist.c:626 +#: src/fe-gtk/chanlist.c:789 +msgid "_Join Channel" +msgstr "Channel betreten (_Join)" + +#: src/fe-gtk/chanlist.c:628 +msgid "_Copy Channel Name" +msgstr "_Channel-Name kopieren" + +#: src/fe-gtk/chanlist.c:630 +msgid "Copy _Topic Text" +msgstr "_Thementext kopieren" + +#: src/fe-gtk/chanlist.c:714 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: Channel-Liste (%s)" + +#: src/fe-gtk/chanlist.c:771 +msgid "_Search" +msgstr "_Suche" + +#: src/fe-gtk/chanlist.c:777 +msgid "_Download List" +msgstr "Liste herunterla_den" + +#: src/fe-gtk/chanlist.c:783 +msgid "Save _List..." +msgstr "_Liste speichern..." + +#: src/fe-gtk/chanlist.c:796 +msgid "Show only:" +msgstr "Zeige nur:" + +#: src/fe-gtk/chanlist.c:808 +msgid "channels with" +msgstr "Channels mit" + +#: src/fe-gtk/chanlist.c:821 +msgid "to" +msgstr "bis" + +#: src/fe-gtk/chanlist.c:833 +msgid "users." +msgstr "Benutzern." + +#: src/fe-gtk/chanlist.c:839 +msgid "Look in:" +msgstr "Suche in:" + +#: src/fe-gtk/chanlist.c:851 +msgid "Channel name" +msgstr "Channel-Name" + +#: src/fe-gtk/chanlist.c:872 +msgid "Search type:" +msgstr "Suchart:" + +#: src/fe-gtk/chanlist.c:879 +msgid "Simple Search" +msgstr "Einfache Suche" + +#: src/fe-gtk/chanlist.c:880 +msgid "Pattern Match (Wildcards)" +msgstr "Suchmasken-Entsprechung" + +#: src/fe-gtk/chanlist.c:882 +msgid "Regular Expression" +msgstr "Regulärer Ausdruck" + +#: src/fe-gtk/chanlist.c:893 +#: src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Finde:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "Sende Datei an %s" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "Diese Datei ist nicht fortsetzbar." + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Kann nicht auf die Datei %s zugreifen\n" +"%s.\n" +"Fortsetzen nicht möglich." + +#: src/fe-gtk/dccgui.c:507 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "Datei im Downloadverzeichnis ist größer als die angebotene Datei. Fortsetzen nicht möglich." + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "Kann dieselbe Datei nicht von zwei Leuten fortsetzen." + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: Uploads und Downloads" + +#: src/fe-gtk/dccgui.c:756 +#: src/fe-gtk/dccgui.c:993 +#: src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "Status" + +#: src/fe-gtk/dccgui.c:757 +#: src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Datei" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:784 +#: src/fe-gtk/menu.c:1421 +msgid "Both" +msgstr "Beides" + +#: src/fe-gtk/dccgui.c:790 +msgid "Uploads" +msgstr "Uploads" + +#: src/fe-gtk/dccgui.c:796 +msgid "Downloads" +msgstr "Downloads" + +#: src/fe-gtk/dccgui.c:801 +msgid "Details" +msgstr "Details" + +#: src/fe-gtk/dccgui.c:812 +msgid "File:" +msgstr "Datei:" + +#: src/fe-gtk/dccgui.c:813 +msgid "Address:" +msgstr "Adresse:" + +#: src/fe-gtk/dccgui.c:819 +#: src/fe-gtk/dccgui.c:1014 +msgid "Abort" +msgstr "Abbrechen" + +#: src/fe-gtk/dccgui.c:820 +#: src/fe-gtk/dccgui.c:1015 +msgid "Accept" +msgstr "Annehmen" + +#: src/fe-gtk/dccgui.c:821 +msgid "Resume" +msgstr "Fortsetzen" + +#: src/fe-gtk/dccgui.c:822 +msgid "Open Folder..." +msgstr "Verzeichnis öffnen..." + +#: src/fe-gtk/dccgui.c:982 +msgid "XChat: DCC Chat List" +msgstr "XChat: DCC-Chatliste" + +#: src/fe-gtk/dccgui.c:995 +msgid "Recv" +msgstr "Rein " + +#: src/fe-gtk/dccgui.c:996 +msgid "Sent" +msgstr "Raus" + +#: src/fe-gtk/dccgui.c:997 +msgid "Start Time" +msgstr "Startzeit" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*NEU*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "ÄNDERE MICH" + +#: src/fe-gtk/editlist.c:310 +#: src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Name" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Kommando" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Nach oben" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Nach unten" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Abbruch" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Speichern" + +#: src/fe-gtk/editlist.c:363 +#: src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Hinzufügen" + +#: src/fe-gtk/editlist.c:367 +#: src/fe-gtk/fkeys.c:770 +#: src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Löschen" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Sortiere" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Hilfe" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "Nicht automatisch mit Servern verbinden" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "Benutze ein anderes Konfigurationsverzeichnis" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "Plugins nicht automatisch laden" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "Plugin-Autostart-Verzeichnis anzeigen" + +#: src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "Benutzerkonfigurationsverzeichnis anzeigen" + +#: src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "Öffne eine irc:://Server:Port/Channel-URL" + +#: src/fe-gtk/fe-gtk.c:133 +msgid "Open URL in an existing XChat" +msgstr "Öffne URL in einem bestehenden XChat" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Minimiert starten. Level 0=Normal 1=Minimiert 2=Im Benachrichtigungsbereich" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "level" +msgstr "Stufe" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "Show version information" +msgstr "Versionsinformationen anzeigen" + +#: src/fe-gtk/fe-gtk.c:256 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Kann Schriftartdatei nicht öffnen:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:635 +msgid "Search buffer is empty.\n" +msgstr "Suchpuffer ist leer.\n" + +#: src/fe-gtk/fe-gtk.c:731 +#, c-format +msgid "%d bytes" +msgstr "%d Bytes" + +#: src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Netzwerk-Sendewarteschlange: %d Bytes" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n" +" characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "" +"Die Run Command Aktion führt die Daten in \"Daten 1\" aus, als ob sie in die Eingabezeile eingegeben worden wären, in der die Tastenfolge gedrückt wurde. Daher kann \"Daten 1\" Text, der in den Channel/Dialog gesendet wird, Kommandos oder benutzerdefinierte Kommandos enthalten. \\n" +" trennt Kommandos, so daß es möglich ist, mehrere Kommandos auszuführen. Wenn Du ein \\ im Text benötigst, gib \\\\ ein." + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "Die Change Page Aktion schaltet zwischen Reitern um. Tragen Sie in \"Daten 1\" den Reiter ein, zu dem Du wechseln willst. Wenn in \"Daten 2\" irgendetwas steht, dann ist die Umschaltung relativ zur aktuellen Position" + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "Die Insert in Buffer Aktion fügt den Inhalt von \"Daten 1\" in die Zeile der Historie in dem die Tastenfolge gedrückt wurde an der gegenwärtigen Cursor-Position ein." + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "Die Scroll Page Aktion rollt den Text eine Seite auf oder ab. Mögliche Werte für \"Daten 1\": Up, Down, +1 oder -1." + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "Die Set Buffer Aktion setzt die Zeile der Historie in der die Tastenkombination gedrückt wurde auf den Wert von \"Daten 1\"." + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "Die Last Command Aktion blättert eine Zeile in der Historie hoch." + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "Die Next Command Aktion blättert eine Zeile in der Historie abwärts." + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "Diese Aktion vervollständigt einen unvöllständigen Nick oder Befehl. Wenn \"Daten 1\" gesetzt ist, springt 2x [Tab] auf die letzte, nicht die nächste Möglichkeit." + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "Diese Aktion blättert durch die Liste der Nicknamen. Wenn \"Daten 1\" gesetzt ist, wird hochgeblättert, sonst runter. " + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "Diese Aktion vergleicht das zuletzt Eingegebene mit der Textersetzungsliste und ersetzt es, wenn sie eine Entsprechung findet." + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "Diese Aktion bewegt den aktiven Reiter eine Position nach links." + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "Diese Aktion bewegt den aktiven Reiter eine Position nach rechts." + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "Diese Aktion bewegt die aktuelle Reitergruppe nach links." + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "Diese Aktion bewegt die aktuelle Reitergruppe nach rechts." + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "Eingabezeile in der Historie speichern, aber nicht absenden." + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "Fehler beim Laden der Tastaturkürzel-Konfiguration" + +#: src/fe-gtk/fkeys.c:450 +#: src/fe-gtk/fkeys.c:451 +#: src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 +#: src/fe-gtk/fkeys.c:743 +#: src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 +#: src/fe-gtk/maingui.c:1616 +#: src/fe-gtk/maingui.c:1719 +#: src/fe-gtk/maingui.c:3201 +msgid "<none>" +msgstr "<leer>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "Mod" + +#: src/fe-gtk/fkeys.c:708 +#: src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Taste" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Aktion" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: Tastenkürzel" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Umschalt" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Strg" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "Daten 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "Daten 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "Fehler beim Öffnen der Konfigurationsdatei fr die Tastatur\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Unbekannter Tastenname %s in der Tastenbindungs-\n" +"Konfigurationsdatei. Ladevorgang abgebrochen,\n" +"bitte korrigiere %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Unbekannte Aktion %s in der Tastenbindungs-\n" +"Konfigurationsdatei. Ladevorgang abgebrochen,\n" +"bitte korrigiere %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Erwarte Datenzeile (beginnend mit Dx{:|!}), aber bekam:\n" +"%s\n" +"\n" +"Ladevorgang abgebrochen, bitte korrigiere %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Tastenbindungs-Konfigurationsdatei ist defekt,\n" +"Ladevorgang abgebrochen, bitte korrigiere %s/keybindings\n" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "Kann in diese Datei nicht schreiben." + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "Kann diese Datei nicht lesen." + +#: src/fe-gtk/ignoregui.c:117 +#: src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "Diese Maske gibt es bereits." + +#: src/fe-gtk/ignoregui.c:177 +#: src/fe-gtk/maingui.c:2100 +msgid "Private" +msgstr "Privat" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Notiz" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Einlad." + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Unignore" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Maske zum Ignorieren eingeben:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "XChat: Ignorierliste" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Ignore-Status" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Channel:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Privat:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Notiz:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Einladungen" + +#: src/fe-gtk/ignoregui.c:384 +#: src/fe-gtk/notifygui.c:420 +msgid "Add..." +msgstr "Hinzufügen..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "Channelname zu kurz, bitte erneut versuchen." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: Verbindung hergestellt" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "Verbindung zu %s fertiggestellt." + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "Im Serverlistenfenster wurde kein Channel (Chatraum) eingegeben, der in diesem Netzwerk automatisch betreten werden soll." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Was möchtest Du als Nächstes tun?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_Nichts, ich werde später einen Channel betreten." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "Diesen Channel _betreten" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Wenn Du den Namen des Channels weißt, den Du betreten willst, gib ihn hier ein." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "Channel-Liste ö_ffnen:" + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "Der Empfang der Channelliste kann ein bis zwei Minuten dauern." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "_Diesen Dialogs nach jeder Verbindund anzeigen." + +#: src/fe-gtk/maingui.c:500 +msgid "Dialog with" +msgstr "Dialog mit" + +#: src/fe-gtk/maingui.c:787 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Thema für %s ist: %s" + +#: src/fe-gtk/maingui.c:792 +msgid "No topic is set" +msgstr "Kein Thema gesetzt" + +#: src/fe-gtk/maingui.c:1177 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "Diesem Server sind noch %d Channels oder Dialoge zugeordnet. Alle schließen?" + +#: src/fe-gtk/maingui.c:1304 +msgid "Quit XChat?" +msgstr "XChat beenden?" + +#: src/fe-gtk/maingui.c:1325 +msgid "Don't ask next time." +msgstr "Beim nächsten Mal nicht nachfragen." + +#: src/fe-gtk/maingui.c:1331 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Du bist mit %i IRC-Netzwerken verbunden." + +#: src/fe-gtk/maingui.c:1333 +msgid "Are you sure you want to quit?" +msgstr "Bist Du sicher, daß Du beenden willst?" + +#: src/fe-gtk/maingui.c:1335 +msgid "Some file transfers are still active." +msgstr "Einige Dateitransfers sind noch aktiv." + +#: src/fe-gtk/maingui.c:1353 +msgid "_Minimize to Tray" +msgstr "In den Benachrichtigungsbereich _minimieren" + +#: src/fe-gtk/maingui.c:1567 +msgid "Insert Attribute or Color Code" +msgstr "Attribut oder Farbkode einsetzen" + +#: src/fe-gtk/maingui.c:1569 +msgid "<b>Bold</b>" +msgstr "<b>Fett</b>" + +#: src/fe-gtk/maingui.c:1570 +msgid "<u>Underline</u>" +msgstr "<u>Unterstrichen</u>" + +#: src/fe-gtk/maingui.c:1572 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1574 +msgid "Colors 0-7" +msgstr "Farben 0-7" + +#: src/fe-gtk/maingui.c:1584 +msgid "Colors 8-15" +msgstr "Farben 8-15" + +#: src/fe-gtk/maingui.c:1629 +msgid "Beep on message" +msgstr "Bei Nachricht piepsen" + +#: src/fe-gtk/maingui.c:1632 +msgid "Blink tray on message" +msgstr "Bei Nachricht im Benachrichtigungsbereich blinken" + +#: src/fe-gtk/maingui.c:1635 +msgid "Show join/part messages" +msgstr "Join/Part-Nachrichten anzeigen" + +#: src/fe-gtk/maingui.c:1637 +msgid "Color paste" +msgstr "Farbiges Einfügen" + +#: src/fe-gtk/maingui.c:1647 +#: src/fe-gtk/menu.c:1950 +msgid "_Close Tab" +msgstr "Reiter s_chließen" + +#: src/fe-gtk/maingui.c:1649 +#: src/fe-gtk/menu.c:1949 +msgid "_Detach Tab" +msgstr "Reiter _lösen" + +#: src/fe-gtk/maingui.c:1968 +#: src/fe-gtk/maingui.c:2074 +msgid "User limit must be a number!\n" +msgstr "Benutzerlimit muß eine Zahl sein!\n" + +#: src/fe-gtk/maingui.c:2096 +msgid "Topic Protection" +msgstr "Themenschutz" + +#: src/fe-gtk/maingui.c:2097 +msgid "No outside messages" +msgstr "Keine Nachrichten von Außen" + +#: src/fe-gtk/maingui.c:2098 +msgid "Secret" +msgstr "Geheim" + +#: src/fe-gtk/maingui.c:2099 +msgid "Invite Only" +msgstr "Nur auf Einladung" + +#: src/fe-gtk/maingui.c:2101 +msgid "Moderated" +msgstr "Moderiert" + +#: src/fe-gtk/maingui.c:2102 +msgid "Ban List" +msgstr "Bannliste" + +#: src/fe-gtk/maingui.c:2104 +msgid "Keyword" +msgstr "Schlüsselwort" + +#: src/fe-gtk/maingui.c:2116 +msgid "User Limit" +msgstr "Benutzerlimit" + +#: src/fe-gtk/maingui.c:2225 +msgid "Show/Hide userlist" +msgstr "Benutzerliste zeigen/verstecken" + +#: src/fe-gtk/maingui.c:2350 +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 "" +"Transparenter Hintergrund nicht aktivierbar!\n" +"\n" +"Eventuell benutzt Du einen nicht\n" +"unterstützten Windowmanager.\n" + +#: src/fe-gtk/maingui.c:2621 +msgid "Enter new nickname:" +msgstr "Neuen Nicknamen eingeben:" + +#: src/fe-gtk/menu.c:124 +msgid "Host unknown" +msgstr "Host unbekannt" + +#: src/fe-gtk/menu.c:544 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:549 +#: src/fe-gtk/menu.c:553 +msgid "Real Name:" +msgstr "Wahrer Name:" + +#: src/fe-gtk/menu.c:557 +msgid "User:" +msgstr "Benutzer:" + +#: src/fe-gtk/menu.c:561 +msgid "Country:" +msgstr "Land:" + +#: src/fe-gtk/menu.c:565 +msgid "Server:" +msgstr "Server:" + +#: src/fe-gtk/menu.c:577 +msgid "Away Msg:" +msgstr "Abwesenheitsnachricht:" + +#: src/fe-gtk/menu.c:587 +#, c-format +msgid "%u minutes ago" +msgstr "vor %u Minuten" + +#: src/fe-gtk/menu.c:589 +#: src/fe-gtk/menu.c:592 +msgid "Last Msg:" +msgstr "Letzte Nachricht:" + +#: src/fe-gtk/menu.c:704 +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 "Die Menüzeile ist jetzt versteckt. Du kannst sie durch Druck auf F9 oder Rechtsklick in einem freien Bereich des Textfeldes wieder sichtbar machen." + +#: src/fe-gtk/menu.c:799 +msgid "Open Link in Browser" +msgstr "Link im Browser öffnen" + +#: src/fe-gtk/menu.c:800 +msgid "Copy Selected Link" +msgstr "Ausgewählte URL kopieren" + +#: src/fe-gtk/menu.c:862 +#: src/fe-gtk/menu.c:1100 +msgid "Join Channel" +msgstr "Channel betreten" + +#: src/fe-gtk/menu.c:866 +msgid "Part Channel" +msgstr "Channel verlassen" + +#: src/fe-gtk/menu.c:868 +msgid "Cycle Channel" +msgstr "Channel rotieren" + +#: src/fe-gtk/menu.c:892 +msgid "XChat: User menu" +msgstr "XChat: Benutzermenü" + +#: src/fe-gtk/menu.c:901 +msgid "Edit This Menu..." +msgstr "Dieses Menü ändern..." + +#: src/fe-gtk/menu.c:1102 +msgid "Retrieve channel list..." +msgstr "Empfange Channelliste..." + +#: src/fe-gtk/menu.c:1170 +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 = xchat 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 "" +"Benutzerkommandos - Spezielle Kodes:\n" +"\n" +"%c = aktueller Channel\n" +"%e = aktuelles Netzwerk\n" +"%m = Computerinfo\n" +"%n = Dein Nick\n" +"%t = Zeit/Datum\n" +"%v = XChat Version\n" +"%2 = Wort 2\n" +"%3 = Wort 3\n" +"&2 = Wort 2 bis zum Ende der Zeile\n" +"&3 = Wort 3 bis zum Ende der Zeile\n" +"\n" +"z.B.:\n" +"/cmd john hallo\n" +"\n" +"%2 wäre \"john\"\n" +"&2 wäre \"john hallo\"." + +#: src/fe-gtk/menu.c:1186 +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 "" +"Benutzerlisten-Knöpfe - Spezielle Kodes:\n" +"\n" +"%a = alle ausgewählten Nicks\n" +"%c = aktueller Channel\n" +"%e = aktuelles Netzwerk\n" +"%h = die Hostmaske des ausgewählten Nicks\n" +"%m = Computerinfo\n" +"%n = Dein Nick\n" +"%s = ausgewählter Nick\n" +"%t = Zeit/Datum\n" + +#: src/fe-gtk/menu.c:1196 +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 "" +"Dialog-Knöpfe - Spezielle Kodes:\n" +"\n" +"%a = alle ausgewählten Nicks\n" +"%c = aktueller Channel\n" +"%e = aktuelles Netzwerk\n" +"%h = die Hostmaske des ausgewählten Nicks\n" +"%m = Computerinfo\n" +"%n = Dein Nick\n" +"%s = ausgewählter Nick\n" +"%t = Zeit/Datum\n" + +#: src/fe-gtk/menu.c:1206 +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 "" +"CTCP-Antworten - Spezielle Kodes:\n" +"\n" +"%d = Daten (Der gesamte CTCP)\n" +"%e = aktuelles Netzwerk\n" +"%m = Computerinfo\n" +"%s = Der Nick des Absenders\n" +"%t = Zeit/Datum\n" +"%2 = Wort 2\n" +"%3 = Wort 3\n" +"&2 = Wort 2 bis zum Ende der Zeile\n" +"&3 = Wort 3 bis zum Ende der Zeile\n" +"\n" + +#: src/fe-gtk/menu.c:1217 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"URL-Handling - Spezielle Kodes:\n" +"\n" +"%s = die URL\n" +"\n" +"Ein ! am Anfang des Kommandos sagt,\n" +"daß das Kommando auf der Shell statt\n" +"in XChat gestartet wird" + +#: src/fe-gtk/menu.c:1226 +msgid "XChat: User Defined Commands" +msgstr "XChat: Benutzerdefinierte Kommandos" + +#: src/fe-gtk/menu.c:1233 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: Benutzerlistenmenü" + +#: src/fe-gtk/menu.c:1240 +msgid "Replace with" +msgstr "Ersetzen durch" + +#: src/fe-gtk/menu.c:1240 +msgid "XChat: Replace" +msgstr "XChat: Ersetzen" + +#: src/fe-gtk/menu.c:1247 +msgid "XChat: URL Handlers" +msgstr "XChat: URL-Handling" + +#: src/fe-gtk/menu.c:1266 +msgid "XChat: Userlist buttons" +msgstr "XChat: Benutzerlistenknöpfe" + +#: src/fe-gtk/menu.c:1273 +msgid "XChat: Dialog buttons" +msgstr "XChat: Dialogknöpfe" + +#: src/fe-gtk/menu.c:1280 +msgid "XChat: CTCP Replies" +msgstr "XChat: CTCP-Antworten" + +#: src/fe-gtk/menu.c:1378 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1379 +msgid "Network Li_st..." +msgstr "Netzwerk-Li_ste..." + +#: src/fe-gtk/menu.c:1382 +msgid "_New" +msgstr "_Neu" + +#: src/fe-gtk/menu.c:1383 +msgid "Server Tab..." +msgstr "Serverreiter..." + +#: src/fe-gtk/menu.c:1384 +msgid "Channel Tab..." +msgstr "Channelreiter..." + +#: src/fe-gtk/menu.c:1385 +msgid "Server Window..." +msgstr "Serverfenster..." + +#: src/fe-gtk/menu.c:1386 +msgid "Channel Window..." +msgstr "Channelfenster..." + +#: src/fe-gtk/menu.c:1391 +#: src/fe-gtk/menu.c:1393 +msgid "_Load Plugin or Script..." +msgstr "L_ade Plugins oder Skripte..." + +#: src/fe-gtk/menu.c:1401 +#: src/fe-gtk/plugin-tray.c:463 +msgid "_Quit" +msgstr "_Beenden" + +#: src/fe-gtk/menu.c:1403 +msgid "_View" +msgstr "A_nsicht" + +#: src/fe-gtk/menu.c:1405 +msgid "_Menu Bar" +msgstr "_Menüzeile" + +#: src/fe-gtk/menu.c:1406 +msgid "_Topic Bar" +msgstr "_Themenzeile" + +#: src/fe-gtk/menu.c:1407 +msgid "_User List" +msgstr "Ben_utzerliste" + +#: src/fe-gtk/menu.c:1408 +msgid "U_serlist Buttons" +msgstr "Benutzerli_sten-Knöpfe" + +#: src/fe-gtk/menu.c:1409 +msgid "M_ode Buttons" +msgstr "M_odusknöpfe" + +#: src/fe-gtk/menu.c:1411 +msgid "_Channel Switcher" +msgstr "_Channel-Umschalter" + +#: src/fe-gtk/menu.c:1413 +msgid "_Tabs" +msgstr "_Reiter" + +#: src/fe-gtk/menu.c:1414 +msgid "T_ree" +msgstr "_Baum" + +#: src/fe-gtk/menu.c:1416 +msgid "_Network Meters" +msgstr "_Netzwerkmeter" + +#: src/fe-gtk/menu.c:1418 +msgid "Off" +msgstr "Aus" + +#: src/fe-gtk/menu.c:1419 +msgid "Graph" +msgstr "Grafisch" + +#: src/fe-gtk/menu.c:1424 +msgid "_Server" +msgstr "_Server" + +#: src/fe-gtk/menu.c:1425 +msgid "_Disconnect" +msgstr "_Trennen" + +#: src/fe-gtk/menu.c:1426 +msgid "_Reconnect" +msgstr "_Wiederverbinden" + +#: src/fe-gtk/menu.c:1430 +msgid "Marked Away" +msgstr "Als abwesend markiert" + +#: src/fe-gtk/menu.c:1432 +msgid "_Usermenu" +msgstr "_Benutzermenü" + +#: src/fe-gtk/menu.c:1434 +msgid "S_ettings" +msgstr "_Einstellungen" + +#: src/fe-gtk/menu.c:1435 +msgid "_Preferences" +msgstr "_Optionen" + +#: src/fe-gtk/menu.c:1437 +msgid "Advanced" +msgstr "Fortgeschritten" + +#: src/fe-gtk/menu.c:1438 +msgid "Auto Replace..." +msgstr "Automatisches Ersetzen..." + +#: src/fe-gtk/menu.c:1439 +msgid "CTCP Replies..." +msgstr "CTCP-Antworten..." + +#: src/fe-gtk/menu.c:1440 +msgid "Dialog Buttons..." +msgstr "Dialog-Knöpfe..." + +#: src/fe-gtk/menu.c:1441 +msgid "Keyboard Shortcuts..." +msgstr "Tastenkürzel..." + +#: src/fe-gtk/menu.c:1442 +msgid "Text Events..." +msgstr "Textereignisse" + +#: src/fe-gtk/menu.c:1443 +msgid "URL Handlers..." +msgstr "URL-Handling..." + +#: src/fe-gtk/menu.c:1444 +msgid "User Commands..." +msgstr "Benutzerkommandos..." + +#: src/fe-gtk/menu.c:1445 +msgid "Userlist Buttons..." +msgstr "Benutzerlisten-Knöpfe..." + +#: src/fe-gtk/menu.c:1446 +msgid "Userlist Popup..." +msgstr "Benutzerlisten-Menü..." + +#: src/fe-gtk/menu.c:1449 +msgid "_Window" +msgstr "_Fenster" + +#: src/fe-gtk/menu.c:1450 +msgid "Ban List..." +msgstr "Bannliste..." + +#: src/fe-gtk/menu.c:1451 +msgid "Channel List..." +msgstr "Channelliste..." + +#: src/fe-gtk/menu.c:1452 +msgid "Character Chart..." +msgstr "Zeichentabelle..." + +#: src/fe-gtk/menu.c:1453 +msgid "Direct Chat..." +msgstr "DCC Chat..." + +#: src/fe-gtk/menu.c:1454 +msgid "File Transfers..." +msgstr "Dateitransfers..." + +#: src/fe-gtk/menu.c:1455 +msgid "Ignore List..." +msgstr "Ignorierliste..." + +#: src/fe-gtk/menu.c:1456 +msgid "Notify List..." +msgstr "Benachrichtigungs-Liste..." + +#: src/fe-gtk/menu.c:1457 +msgid "Plugins and Scripts..." +msgstr "Plugins und Skripte..." + +#: src/fe-gtk/menu.c:1458 +msgid "Raw Log..." +msgstr "Rohdaten-Logbuch..." + +#: src/fe-gtk/menu.c:1459 +msgid "URL Grabber..." +msgstr "URL-Grabber..." + +#: src/fe-gtk/menu.c:1461 +msgid "Reset Marker Line" +msgstr "Markierungslinie zurücksetzen" + +#: src/fe-gtk/menu.c:1462 +msgid "C_lear Text" +msgstr "_Lösche Text" + +#: src/fe-gtk/menu.c:1464 +msgid "Search Text..." +msgstr "Suche Text..." + +#: src/fe-gtk/menu.c:1465 +msgid "Save Text..." +msgstr "Speichere Text..." + +#: src/fe-gtk/menu.c:1467 +#: src/fe-gtk/menu.c:1941 +msgid "_Help" +msgstr "_Hilfe" + +#: src/fe-gtk/menu.c:1468 +msgid "_Contents" +msgstr "_Inhalt" + +#: src/fe-gtk/menu.c:1469 +msgid "_About" +msgstr "Ü_ber" + +#: src/fe-gtk/menu.c:1954 +msgid "_Attach Window" +msgstr "Fenster _anhängen" + +#: src/fe-gtk/menu.c:1955 +msgid "_Close Window" +msgstr "Fenster s_chließen" + +#: src/fe-gtk/notifygui.c:137 +msgid "User" +msgstr "Benutzer" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "Zuletzt gesehen" + +#: src/fe-gtk/notifygui.c:181 +msgid "Offline" +msgstr "Offline" + +#: src/fe-gtk/notifygui.c:201 +#: src/fe-gtk/setup.c:229 +msgid "Never" +msgstr "Niemals" + +#: src/fe-gtk/notifygui.c:204 +#: src/fe-gtk/notifygui.c:229 +#, c-format +msgid "%d minutes ago" +msgstr "vor %d Minuten" + +#: src/fe-gtk/notifygui.c:219 +msgid "Online" +msgstr "Online" + +#: src/fe-gtk/notifygui.c:348 +msgid "Enter nickname to add:" +msgstr "Hinzuzufügenden Nickname eingeben:" + +#: src/fe-gtk/notifygui.c:376 +msgid "Notify on these networks:" +msgstr "Benachrichtige in diesen Netzen:" + +#: src/fe-gtk/notifygui.c:387 +msgid "Comma separated list of networks is accepted." +msgstr "Eine kommagetrennte Liste von Netzen wird akzeptiert" + +#: src/fe-gtk/notifygui.c:407 +msgid "XChat: Notify List" +msgstr "XChat: Benachrichtigungs-Liste" + +#: src/fe-gtk/notifygui.c:424 +msgid "Remove" +msgstr "Entfernen" + +#: src/fe-gtk/notifygui.c:428 +msgid "Open Dialog" +msgstr "Dialogfenster öffnen" + +#: src/fe-gtk/plugin-tray.c:163 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" +"Kann 'notify-send' nicht finden, um Ballon-Hinweise zu senden.\n" +"Bitte installiere libnotify." + +#: src/fe-gtk/plugin-tray.c:214 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat: Verbunden mit %u Netzwerken und %u Channels" + +#: src/fe-gtk/plugin-tray.c:451 +msgid "_Restore" +msgstr "_Wiederherstellen" + +#: src/fe-gtk/plugin-tray.c:453 +msgid "_Hide" +msgstr "_Verstecken" + +#: src/fe-gtk/plugin-tray.c:456 +msgid "_Blink on" +msgstr "_Blinke bei" + +#: src/fe-gtk/plugin-tray.c:457 +#: src/fe-gtk/setup.c:467 +msgid "Channel Message" +msgstr "Channel-Nachricht" + +#: src/fe-gtk/plugin-tray.c:458 +#: src/fe-gtk/setup.c:468 +msgid "Private Message" +msgstr "Privaten Nachricht" + +#: src/fe-gtk/plugin-tray.c:459 +#: src/fe-gtk/setup.c:469 +msgid "Highlighted Message" +msgstr "Hervorgehobene Nachricht" + +#: src/fe-gtk/plugin-tray.c:507 +#: src/fe-gtk/plugin-tray.c:515 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "XChat: Hervorgehobene Nachricht von: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:510 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat: %u hervorgehobene Nachrichten, letzte von: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:533 +#: src/fe-gtk/plugin-tray.c:540 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat: Neue öffentliche Nachricht von: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:536 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat: %u neue öffentliche Nachrichten." + +#: src/fe-gtk/plugin-tray.c:562 +#: src/fe-gtk/plugin-tray.c:569 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat: Private Nachricht von: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:565 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat: %u private Nachrichten, letzte von: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:615 +#: src/fe-gtk/plugin-tray.c:623 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: Dateiangebot von: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:618 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "XChat: %u Dateiangebote, letztes von: %s (%s)" + +#: src/fe-gtk/plugingui.c:76 +#: src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Beschreibung" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Wähle ein Plugin oder Skript zum Laden" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: Plugins und Skripte" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Laden..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "_Entladen" + +#: src/fe-gtk/plugingui.c:236 +#: src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "S_chließen" + +#: src/fe-gtk/rawlog.c:81 +#: src/fe-gtk/rawlog.c:130 +#: src/fe-gtk/textgui.c:438 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Speichern als..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: Rohdatenlog (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Rohdatenlog löschen" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Das Fenster für das diese Suche geöffnet wurde existiert nicht mehr." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "Suche beendet, kein Treffer." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Suche" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "Groß-/Kleinschreibung _beachten" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "_Rückwärts suchen" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "_Finde" + +#: src/fe-gtk/servlistgui.c:170 +#: src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "Neues Netzwerk" + +#: src/fe-gtk/servlistgui.c:554 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Wirklich das Netzwerk \"%s\" und alle seine Server löschen?" + +#: src/fe-gtk/servlistgui.c:678 +msgid "User name and Real name cannot be left blank." +msgstr "Benutzername und wahrer Name dürfen nicht leer sein." + +#: src/fe-gtk/servlistgui.c:978 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: Editiere %s" + +#: src/fe-gtk/servlistgui.c:997 +#, c-format +msgid "Servers for %s" +msgstr "Server für %s" + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Connect to selected server only" +msgstr "Nur mit dem angegebenen Server verbinden" + +#: src/fe-gtk/servlistgui.c:1009 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Nicht alle Server durchlaufen wenn die Verbindung scheitert." + +#: src/fe-gtk/servlistgui.c:1011 +msgid "Your Details" +msgstr "Deine Details" + +#: src/fe-gtk/servlistgui.c:1017 +msgid "Use global user information" +msgstr "Globale Benutzerinformationen benutzen" + +#: src/fe-gtk/servlistgui.c:1020 +#: src/fe-gtk/servlistgui.c:1252 +msgid "_Nick name:" +msgstr "_Nickname:" + +#: src/fe-gtk/servlistgui.c:1024 +#: src/fe-gtk/servlistgui.c:1259 +msgid "Second choice:" +msgstr "Zweite Wahl:" + +#: src/fe-gtk/servlistgui.c:1028 +#: src/fe-gtk/servlistgui.c:1273 +msgid "_User name:" +msgstr "Ben_utzer:" + +#: src/fe-gtk/servlistgui.c:1032 +#: src/fe-gtk/servlistgui.c:1280 +msgid "Rea_l name:" +msgstr "Wahrer Name:" + +#: src/fe-gtk/servlistgui.c:1035 +msgid "Connecting" +msgstr "Verbinde" + +#: src/fe-gtk/servlistgui.c:1041 +msgid "Auto connect to this network at startup" +msgstr "Automatisches Verbinden mit diesem Netzwerk beim Start" + +#: src/fe-gtk/servlistgui.c:1043 +msgid "Use a proxy server" +msgstr "Proxy-Server benutzen" + +#: src/fe-gtk/servlistgui.c:1045 +msgid "Use SSL for all the servers on this network" +msgstr "SSL für alle Server dieses Netzes benutzen" + +#: src/fe-gtk/servlistgui.c:1050 +msgid "Accept invalid SSL certificate" +msgstr "Ungültiges SSL-Zertifikat akzeptieren" + +#: src/fe-gtk/servlistgui.c:1056 +msgid "C_hannels to join:" +msgstr "Zu betretende C_hannels:" + +#: src/fe-gtk/servlistgui.c:1058 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Zu betretende Channels getrennt durch Kommata, nicht durch Leerzeichen!" + +#: src/fe-gtk/servlistgui.c:1061 +msgid "Connect command:" +msgstr "Verbindungskommando:" + +#: src/fe-gtk/servlistgui.c:1063 +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 "Kommando, das nach der Verbindung ausgeführt werden soll. Für mehrere Kommandos benutze LOAD -e <Dateiname>, wobei <Dateiname> eine Textdatei mit den auszuführenden Kommandos ist." + +#: src/fe-gtk/servlistgui.c:1066 +msgid "Nickserv password:" +msgstr "NickServ-Passwort:" + +#: src/fe-gtk/servlistgui.c:1068 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "Wenn Dein Nickname ein Passwort erfordert, gib es hier ein. Nicht alle IRC-Netzwerke unterstützen dies." + +#: src/fe-gtk/servlistgui.c:1072 +msgid "Server password:" +msgstr "Server-Passwort:" + +#: src/fe-gtk/servlistgui.c:1074 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Serverpasswort. Im Zweifel freilassen." + +#: src/fe-gtk/servlistgui.c:1077 +msgid "Character set:" +msgstr "Zeichensatz:" + +#: src/fe-gtk/servlistgui.c:1147 +msgid "_Edit" +msgstr "_Editieren" + +#: src/fe-gtk/servlistgui.c:1230 +msgid "XChat: Network List" +msgstr "XChat: Netzwerkliste" + +#: src/fe-gtk/servlistgui.c:1242 +msgid "User Information" +msgstr "Benutzer-Information" + +#: src/fe-gtk/servlistgui.c:1266 +msgid "Third choice:" +msgstr "Dritte Wahl:" + +#: src/fe-gtk/servlistgui.c:1326 +msgid "Networks" +msgstr "Netzwerke" + +#: src/fe-gtk/servlistgui.c:1367 +msgid "Skip network list on startup" +msgstr "Keine Netzwerkliste beim Start" + +#: src/fe-gtk/servlistgui.c:1399 +msgid "_Edit..." +msgstr "_Editiere..." + +#: src/fe-gtk/servlistgui.c:1406 +msgid "_Sort" +msgstr "Sortiere" + +#: src/fe-gtk/servlistgui.c:1407 +msgid "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN keys to move a row." +msgstr "Sortiert die Netzwerkliste alphabetisch. Benutze Umschalt+Auf und Umschalt+Ab um eine Zeile zu bewegen." + +#: src/fe-gtk/servlistgui.c:1432 +msgid "C_onnect" +msgstr "_Verbinde" + +#: src/fe-gtk/setup.c:102 +msgid "Text Box Appearance" +msgstr "Textfeld-Aussehen" + +#: src/fe-gtk/setup.c:103 +msgid "Font:" +msgstr "Schriftart:" + +#: src/fe-gtk/setup.c:104 +msgid "Background image:" +msgstr "Hintergrundbild:" + +#: src/fe-gtk/setup.c:105 +msgid "Scrollback lines:" +msgstr "Textpufferzeilen:" + +#: src/fe-gtk/setup.c:106 +msgid "Colored nick names" +msgstr "Farbige Nicks" + +#: src/fe-gtk/setup.c:107 +msgid "Give each person on IRC a different color" +msgstr "Jeder Person im IRC eine Farbe zuordnen" + +#: src/fe-gtk/setup.c:108 +msgid "Indent nick names" +msgstr "Nicks einrücken" + +#: src/fe-gtk/setup.c:109 +msgid "Make nick names right-justified" +msgstr "Nicknamen rechts ausrichten" + +#: src/fe-gtk/setup.c:110 +msgid "Transparent background" +msgstr "Transparenter Hintergrund" + +#: src/fe-gtk/setup.c:111 +msgid "Show marker line" +msgstr "Markierungslinie zeigen" + +#: src/fe-gtk/setup.c:112 +msgid "Insert a red line after the last read text." +msgstr "Eine rote Linie nach dem zuletzt gelesenen Text einfügen" + +#: src/fe-gtk/setup.c:113 +msgid "Transparency Settings" +msgstr "Transparenzseinstellungen" + +#: src/fe-gtk/setup.c:114 +msgid "Red:" +msgstr "Rot:" + +#: src/fe-gtk/setup.c:115 +msgid "Green:" +msgstr "Grün:" + +#: src/fe-gtk/setup.c:116 +msgid "Blue:" +msgstr "Blau:" + +#: src/fe-gtk/setup.c:118 +#: src/fe-gtk/setup.c:379 +msgid "Time Stamps" +msgstr "Zeitstempel" + +#: src/fe-gtk/setup.c:119 +msgid "Enable time stamps" +msgstr "Datumsstempel aktivieren" + +#: src/fe-gtk/setup.c:120 +msgid "Time stamp format:" +msgstr "Zeitstempelformat:" + +#: src/fe-gtk/setup.c:121 +#: src/fe-gtk/setup.c:382 +msgid "See strftime manpage for details." +msgstr "strftime man-Seite für Details" + +#: src/fe-gtk/setup.c:128 +#: src/fe-gtk/setup.c:168 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:129 +msgid "Last-spoke order" +msgstr "Reihenfolge wie letzte Wortmeldungen" + +#: src/fe-gtk/setup.c:135 +#: src/fe-gtk/setup.c:1657 +msgid "Input box" +msgstr "Eingabezeile" + +#: src/fe-gtk/setup.c:136 +#: src/fe-gtk/setup.c:200 +msgid "Use the Text box font and colors" +msgstr "Textfenster-Schrift und -Farben nutzen" + +#: src/fe-gtk/setup.c:138 +msgid "Spell checking" +msgstr "Rechtschreibprüfung" + +#: src/fe-gtk/setup.c:141 +msgid "Nick Completion" +msgstr "Nickvervollständigung" + +#: src/fe-gtk/setup.c:142 +msgid "Automatic nick completion (without TAB key)" +msgstr "Automatische Nickvervollständigung (ohne Tabulator-Taste)" + +#: src/fe-gtk/setup.c:144 +msgid "Nick completion suffix:" +msgstr "Anhang für Nickvervollständigung:" + +#: src/fe-gtk/setup.c:145 +msgid "Nick completion sorted:" +msgstr "Nickvervollständigung sortiert nach:" + +#: src/fe-gtk/setup.c:148 +msgid "Input Box Codes" +msgstr "Kodes für Eingabezeile" + +#: src/fe-gtk/setup.c:149 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "%nnn als ASCII-Werte auswerten" + +#: src/fe-gtk/setup.c:150 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "%C, %B als Farbe, Fettschrift usw. auswerten" + +#: src/fe-gtk/setup.c:167 +msgid "A-Z, Ops first" +msgstr "A-Z, Ops zuerst" + +#: src/fe-gtk/setup.c:169 +msgid "Z-A, Ops last" +msgstr "Z-A, Ops zuletzt" + +#: src/fe-gtk/setup.c:170 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:171 +msgid "Unsorted" +msgstr "Unsortiert" + +#: src/fe-gtk/setup.c:177 +#: src/fe-gtk/setup.c:189 +msgid "Left (Upper)" +msgstr "Links (Oben)" + +#: src/fe-gtk/setup.c:178 +#: src/fe-gtk/setup.c:190 +msgid "Left (Lower)" +msgstr "Links (Unten)" + +#: src/fe-gtk/setup.c:179 +#: src/fe-gtk/setup.c:191 +msgid "Right (Upper)" +msgstr "Rechts (Oben)" + +#: src/fe-gtk/setup.c:180 +#: src/fe-gtk/setup.c:192 +msgid "Right (Lower)" +msgstr "Rechts (Unten)" + +#: src/fe-gtk/setup.c:181 +msgid "Top" +msgstr "Oben" + +#: src/fe-gtk/setup.c:182 +msgid "Bottom" +msgstr "Unten" + +#: src/fe-gtk/setup.c:183 +msgid "Hidden" +msgstr "Versteckt" + +#: src/fe-gtk/setup.c:198 +msgid "User List" +msgstr "Benutzerliste" + +#: src/fe-gtk/setup.c:199 +msgid "Show hostnames in user list" +msgstr "Hostnamen in Benutzerliste zeigen" + +#: src/fe-gtk/setup.c:202 +msgid "User list sorted by:" +msgstr "Benutzerliste sortiert nach:" + +#: src/fe-gtk/setup.c:203 +msgid "Show user list at:" +msgstr "Benutzerliste zeigen:" + +#: src/fe-gtk/setup.c:205 +msgid "Away tracking" +msgstr "Abwesenheitsverfolgung" + +#: src/fe-gtk/setup.c:206 +msgid "Track the Away status of users and mark them in a different color" +msgstr "Verfolge den Abwesenheitsstatus der Benutzer und zeige sie in einer anderen Farbe" + +#: src/fe-gtk/setup.c:207 +msgid "On channels smaller than:" +msgstr "In Channels mit weniger Nutzern als:" + +#: src/fe-gtk/setup.c:209 +msgid "Action Upon Double Click" +msgstr "Aktion bei Doppelklick" + +#: src/fe-gtk/setup.c:210 +msgid "Execute command:" +msgstr "Kommando ausführen:" + +#: src/fe-gtk/setup.c:221 +msgid "Windows" +msgstr "Fenster" + +#: src/fe-gtk/setup.c:222 +msgid "Tabs" +msgstr "Reiter" + +#: src/fe-gtk/setup.c:230 +msgid "Always" +msgstr "Immer" + +#: src/fe-gtk/setup.c:231 +msgid "Only requested tabs" +msgstr "Nur angeforderte Reiter" + +#: src/fe-gtk/setup.c:238 +msgid "Channel Switcher" +msgstr "Channels-Umschalter" + +#: src/fe-gtk/setup.c:239 +msgid "Open an extra tab for server messages" +msgstr "Öffne Reiter für Servermeldungen" + +#: src/fe-gtk/setup.c:240 +msgid "Open an extra tab for server notices" +msgstr "Öffne Reiter für Servernotizen" + +#: src/fe-gtk/setup.c:241 +msgid "Open a new tab when you receive a private message" +msgstr "Öffne einen neuen Reiter für empfangene private Nachrichten" + +#: src/fe-gtk/setup.c:242 +msgid "Sort tabs in alphabetical order" +msgstr "Reiter alphabetisch sortieren" + +#: src/fe-gtk/setup.c:243 +msgid "Small tabs" +msgstr "Kleine Reiter" + +#: src/fe-gtk/setup.c:245 +msgid "Focus new tabs:" +msgstr "Neue Reiter im Vordergrund:" + +#: src/fe-gtk/setup.c:247 +msgid "Show channel switcher at:" +msgstr "Channel-Umschalter anzeigen:" + +#: src/fe-gtk/setup.c:248 +msgid "Shorten tab labels to:" +msgstr "Reiternamen kürzen auf:" + +#: src/fe-gtk/setup.c:248 +msgid "letters." +msgstr "Zeichen." + +#: src/fe-gtk/setup.c:250 +msgid "Tabs or Windows" +msgstr "Reiter oder Fenster" + +#: src/fe-gtk/setup.c:251 +msgid "Open channels in:" +msgstr "Öffne Channels in:" + +#: src/fe-gtk/setup.c:252 +msgid "Open dialogs in:" +msgstr "Öffne Dialoge in:" + +#: src/fe-gtk/setup.c:253 +msgid "Open utilities in:" +msgstr "Öffne Hilfsmittel in:" + +#: src/fe-gtk/setup.c:253 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Öffne DCC, Ignore, Notify usw. in Reitern oder Fenstern?" + +#: src/fe-gtk/setup.c:260 +msgid "No" +msgstr "Nein" + +#: src/fe-gtk/setup.c:261 +msgid "Yes" +msgstr "Ja" + +#: src/fe-gtk/setup.c:262 +msgid "Browse for save folder every time" +msgstr "Bei jedem Mal einen Ordner zum Speichern suchen" + +#: src/fe-gtk/setup.c:268 +msgid "Files and Directories" +msgstr "Dateien und Verzeichnisse" + +#: src/fe-gtk/setup.c:269 +msgid "Auto accept file offers:" +msgstr "Dateiangebote automatisch annehmen:" + +#: src/fe-gtk/setup.c:270 +msgid "Download files to:" +msgstr "Dateien ziehen nach:" + +#: src/fe-gtk/setup.c:271 +msgid "Move completed files to:" +msgstr "Fertige Downloads verschieben nach:" + +#: src/fe-gtk/setup.c:272 +msgid "Save nick name in filenames" +msgstr "Speichere Nick in Dateinamen" + +#: src/fe-gtk/setup.c:274 +msgid "Network Settings" +msgstr "Netzwerkeinstellungen" + +#: src/fe-gtk/setup.c:275 +msgid "Get my address from the IRC server" +msgstr "Hole meine IP vom IRC-Server" + +#: src/fe-gtk/setup.c:276 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "Fragt den IRC-Server nach Deiner wahren IP-Adresse. Benutze dies, wenn Du eine 192.168.*.*-Adresse hast!" + +#: src/fe-gtk/setup.c:277 +msgid "DCC IP address:" +msgstr "DCC IP-Adresse:" + +#: src/fe-gtk/setup.c:278 +msgid "Claim you are at this address when offering files." +msgstr "Behaupten, Du seist an dieser Adresse, wenn Du Dateien anbietest." + +#: src/fe-gtk/setup.c:279 +msgid "First DCC send port:" +msgstr "Erster DCC-Versand-Port:" + +#: src/fe-gtk/setup.c:280 +msgid "Last DCC send port:" +msgstr "Letzter DCC-Versand-Port:" + +#: src/fe-gtk/setup.c:281 +msgid "!Leave ports at zero for full range." +msgstr "(Belasse die Ports bei 0 für die gesamte Breite." + +#: src/fe-gtk/setup.c:283 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Maximale Dateitransfergeschwindigkeiten (Bytes/s)" + +#: src/fe-gtk/setup.c:284 +msgid "One upload:" +msgstr "Ein Upload:" + +#: src/fe-gtk/setup.c:285 +#: src/fe-gtk/setup.c:287 +msgid "Maximum speed for one transfer" +msgstr "Max. Geschw. für einen Transfer" + +#: src/fe-gtk/setup.c:286 +msgid "One download:" +msgstr "Ein Download:" + +#: src/fe-gtk/setup.c:288 +msgid "All uploads combined:" +msgstr "Alle Uploads zusammen:" + +#: src/fe-gtk/setup.c:289 +#: src/fe-gtk/setup.c:291 +msgid "Maximum speed for all files" +msgstr "Max. Geschw. für alle Transfers" + +#: src/fe-gtk/setup.c:290 +msgid "All downloads combined:" +msgstr "Alle Downloads zusammen:" + +#: src/fe-gtk/setup.c:318 +#: src/fe-gtk/setup.c:1663 +msgid "Alerts" +msgstr "Warnungen" + +#: src/fe-gtk/setup.c:322 +msgid "Show tray balloons on:" +msgstr "Benachrichtigungsbereich-Ballons zeigen:" + +#: src/fe-gtk/setup.c:324 +msgid "Blink tray icon on:" +msgstr "Symbol im Benachrichtigungsbereich blinken lassen bei:" + +#: src/fe-gtk/setup.c:325 +msgid "Blink task bar on:" +msgstr "Taskleiste blinken lassen bei:" + +#: src/fe-gtk/setup.c:326 +msgid "Make a beep sound on:" +msgstr "Piepsen bei:" + +#: src/fe-gtk/setup.c:328 +msgid "Enable system tray icon" +msgstr "Symbol im Benachrichtigungsbereich aktivieren." + +#: src/fe-gtk/setup.c:330 +msgid "Highlighted Messages" +msgstr "Hervorgehobene Nachrichten" + +#: src/fe-gtk/setup.c:331 +msgid "Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Hervorgehobene Nachrichten sind solche, in denen der eigene Nick fällt, aber auch:" + +#: src/fe-gtk/setup.c:333 +msgid "Extra words to highlight:" +msgstr "Extra Wörter zum Hervorheben:" + +#: src/fe-gtk/setup.c:334 +msgid "Nick names not to highlight:" +msgstr "Nicht hervorzuhebende Nicks:" + +#: src/fe-gtk/setup.c:335 +msgid "Nick names to always highlight:" +msgstr "Immer hervorzuhebende Nicks:" + +#: src/fe-gtk/setup.c:336 +msgid "Separate multiple words with commas." +msgstr "Mehrere Wörter durch Kommata trennen." + +#: src/fe-gtk/setup.c:342 +msgid "Default Messages" +msgstr "Standardnachrichten" + +#: src/fe-gtk/setup.c:343 +msgid "Quit:" +msgstr "Beenden:" + +#: src/fe-gtk/setup.c:344 +msgid "Leave channel:" +msgstr "Channel verlassen:" + +#: src/fe-gtk/setup.c:345 +msgid "Away:" +msgstr "Abwesend:" + +#: src/fe-gtk/setup.c:347 +msgid "Away" +msgstr "Abwesend" + +#: src/fe-gtk/setup.c:348 +msgid "Announce away messages" +msgstr "Abwesenheitsnachrichten öffentlich" + +#: src/fe-gtk/setup.c:349 +msgid "Announce your away messages to all channels" +msgstr "Abwesenheitsnachrichten in allen Channels öffentlich" + +#: src/fe-gtk/setup.c:350 +msgid "Show away once" +msgstr "Abwesenheit einmal zeigen" + +#: src/fe-gtk/setup.c:350 +msgid "Show identical away messages only once" +msgstr "Zeige identische Abwesenheitsnachrichten nur einmal" + +#: src/fe-gtk/setup.c:351 +msgid "Automatically unmark away" +msgstr "Automatisch Abwesenheit beenden" + +#: src/fe-gtk/setup.c:351 +msgid "Unmark yourself as away before sending messages" +msgstr "Automatisch Abwesenheit beenden vor dem Versand von Nachrichten" + +#: src/fe-gtk/setup.c:358 +msgid "Advanced Settings" +msgstr "Erweiterte Einstellungen" + +#: src/fe-gtk/setup.c:359 +msgid "Auto reconnect delay:" +msgstr "Wiederverbindungsverzögerung:" + +#: src/fe-gtk/setup.c:360 +msgid "Display MODEs in raw form" +msgstr "Modi in Rohform anzeigen" + +#: src/fe-gtk/setup.c:361 +msgid "Whois on notify" +msgstr "WHOIS bei Notify" + +#: src/fe-gtk/setup.c:361 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Sendet ein /WHOIS wenn ein Nutzer aus der Notify-Liste kommt" + +#: src/fe-gtk/setup.c:362 +msgid "Hide join and part messages" +msgstr "Join/Part-Nachrichten verstecken" + +#: src/fe-gtk/setup.c:362 +msgid "Hide channel join/part messages by default" +msgstr "Join/Part-Nachrichten standardmäßig verstecken" + +#: src/fe-gtk/setup.c:363 +msgid "Auto Open DCC Windows" +msgstr "DCC-Fenster automatisch öffnen" + +#: src/fe-gtk/setup.c:364 +msgid "Send window" +msgstr "Versandfenster" + +#: src/fe-gtk/setup.c:365 +msgid "Receive window" +msgstr "Empfangsfenster" + +#: src/fe-gtk/setup.c:366 +msgid "Chat window" +msgstr "Chatfenster" + +#: src/fe-gtk/setup.c:374 +#: src/fe-gtk/setup.c:1665 +msgid "Logging" +msgstr "Logbücher" + +#: src/fe-gtk/setup.c:375 +msgid "Enable logging of conversations" +msgstr "Konversationen loggen" + +#: src/fe-gtk/setup.c:376 +msgid "Log filename:" +msgstr "Logbuchname:" + +#: src/fe-gtk/setup.c:377 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Server %c=Channel %n=Netzwerk." + +#: src/fe-gtk/setup.c:380 +msgid "Insert timestamps in logs" +msgstr "Datumsstempel in Logs einfügen" + +#: src/fe-gtk/setup.c:381 +msgid "Log timestamp format:" +msgstr "Datumsstempelformat:" + +#: src/fe-gtk/setup.c:389 +msgid "(Disabled)" +msgstr "(Deaktiviert)" + +#: src/fe-gtk/setup.c:390 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:391 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:392 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:393 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:395 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: src/fe-gtk/setup.c:402 +msgid "All Connections" +msgstr "Alle Verbindungen" + +#: src/fe-gtk/setup.c:403 +msgid "IRC Server Only" +msgstr "Nur IRC-Server" + +#: src/fe-gtk/setup.c:404 +msgid "DCC Get Only" +msgstr "Nur DCC Get" + +#: src/fe-gtk/setup.c:410 +msgid "Your Address" +msgstr "Deine Adresse" + +#: src/fe-gtk/setup.c:411 +msgid "Bind to:" +msgstr "Binden an:" + +#: src/fe-gtk/setup.c:412 +msgid "Only useful for computers with multiple addresses." +msgstr "Nur für Computer mit mehreren Adressen." + +#: src/fe-gtk/setup.c:414 +msgid "Proxy Server" +msgstr "Proxy-Server:" + +#: src/fe-gtk/setup.c:415 +msgid "Hostname:" +msgstr "Hostname:" + +#: src/fe-gtk/setup.c:416 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:417 +msgid "Type:" +msgstr "Typ:" + +#: src/fe-gtk/setup.c:418 +msgid "Use proxy for:" +msgstr "Proxy benutzen für:" + +#: src/fe-gtk/setup.c:420 +msgid "Proxy Authentication" +msgstr "Proxy-Authentifizierung" + +#: src/fe-gtk/setup.c:422 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Authentifikation mit dem Proxy-Server (Nur MS Proxy, HTTP oder Socks v5)" + +#: src/fe-gtk/setup.c:424 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Authentifizierung benutzen (Nur HTTP oder Socks5)" + +#: src/fe-gtk/setup.c:426 +msgid "Username:" +msgstr "Benutzer:" + +#: src/fe-gtk/setup.c:427 +msgid "Password:" +msgstr "Passwort:" + +#: src/fe-gtk/setup.c:838 +msgid "Select an Image File" +msgstr "Bilddatei auswählen" + +#: src/fe-gtk/setup.c:862 +msgid "Select Download Folder" +msgstr "Ordner für heruntergeladene Dateien wählen" + +#: src/fe-gtk/setup.c:871 +msgid "Select font" +msgstr "Schriftart auswählen" + +#: src/fe-gtk/setup.c:968 +msgid "Browse..." +msgstr "Suche..." + +#: src/fe-gtk/setup.c:1108 +msgid "Mark identified users with:" +msgstr "Identifzierte Benutzer markieren durch:" + +#: src/fe-gtk/setup.c:1110 +msgid "Mark not-identified users with:" +msgstr "Nicht identifizierte Benutzer markieren durch:" + +#: src/fe-gtk/setup.c:1117 +msgid "Open Data Folder" +msgstr "Datenverzeichnis öffnen" + +#: src/fe-gtk/setup.c:1171 +msgid "Select color" +msgstr "Farbe wählen" + +#: src/fe-gtk/setup.c:1251 +msgid "Text Colors" +msgstr "Textfarben" + +#: src/fe-gtk/setup.c:1253 +msgid "mIRC colors:" +msgstr "mIRC-Farben:" + +#: src/fe-gtk/setup.c:1261 +msgid "Local colors:" +msgstr "Lokale Farben:" + +#: src/fe-gtk/setup.c:1269 +#: src/fe-gtk/setup.c:1274 +msgid "Foreground:" +msgstr "Vordergrund:" + +#: src/fe-gtk/setup.c:1270 +#: src/fe-gtk/setup.c:1275 +msgid "Background:" +msgstr "Hintergrund:" + +#: src/fe-gtk/setup.c:1272 +msgid "Marking Text" +msgstr "Markierungstext" + +#: src/fe-gtk/setup.c:1277 +msgid "Interface Colors" +msgstr "Schnittstellenfarben" + +#: src/fe-gtk/setup.c:1279 +msgid "New data:" +msgstr "Neue Daten:" + +#: src/fe-gtk/setup.c:1280 +msgid "Marker line:" +msgstr "Markierungslinie:" + +#: src/fe-gtk/setup.c:1281 +msgid "New message:" +msgstr "Neue Nachricht:" + +#: src/fe-gtk/setup.c:1282 +msgid "Away user:" +msgstr "Abwesender Benutzer:" + +#: src/fe-gtk/setup.c:1283 +msgid "Highlight:" +msgstr "Hervorhebung:" + +#: src/fe-gtk/setup.c:1379 +#: src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "Ereignis" + +#: src/fe-gtk/setup.c:1385 +msgid "Sound file" +msgstr "Klangdatei:" + +#: src/fe-gtk/setup.c:1420 +msgid "Select a sound file" +msgstr "Wähle eine Klangdatei aus" + +#: src/fe-gtk/setup.c:1492 +msgid "Sound playing method:" +msgstr "Klangabspielmethode:" + +#: src/fe-gtk/setup.c:1500 +msgid "External sound playing _program:" +msgstr "Externer Klangspieler:" + +#: src/fe-gtk/setup.c:1518 +msgid "_External program" +msgstr "_Externes Programm" + +#: src/fe-gtk/setup.c:1528 +msgid "_Automatic" +msgstr "_Automatisch" + +#: src/fe-gtk/setup.c:1541 +msgid "Sound files _directory:" +msgstr "Verzeichnis für Klang_dateien:" + +#: src/fe-gtk/setup.c:1580 +msgid "Sound file:" +msgstr "Klangdatei:" + +#: src/fe-gtk/setup.c:1595 +msgid "_Browse..." +msgstr "_Durchsuche" + +#: src/fe-gtk/setup.c:1606 +msgid "_Play" +msgstr "Abs_pielen" + +#: src/fe-gtk/setup.c:1655 +msgid "Interface" +msgstr "Schnittstelle" + +#: src/fe-gtk/setup.c:1656 +msgid "Text box" +msgstr "Textfenster" + +#: src/fe-gtk/setup.c:1658 +msgid "User list" +msgstr "Benutzerliste" + +#: src/fe-gtk/setup.c:1659 +msgid "Channel switcher" +msgstr "Channel-Umschalter" + +#: src/fe-gtk/setup.c:1660 +msgid "Colors" +msgstr "Farben" + +#: src/fe-gtk/setup.c:1662 +msgid "Chatting" +msgstr "Chatten" + +#: src/fe-gtk/setup.c:1664 +msgid "General" +msgstr "Allgemein" + +#: src/fe-gtk/setup.c:1666 +msgid "Sound" +msgstr "Klang" + +#: src/fe-gtk/setup.c:1670 +msgid "Network setup" +msgstr "Netzwerk-Setup" + +#: src/fe-gtk/setup.c:1671 +msgid "File transfers" +msgstr "Dateitransfers" + +#: src/fe-gtk/setup.c:1779 +msgid "Categories" +msgstr "Kategorien" + +#: src/fe-gtk/setup.c:1960 +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 "" +"Du kannst die Baumansicht nicht oben oder unten anzeigen!\n" +"Wechsle erst im <b>Ansicht</b>-Menü zur <b>Reiter</b>-Ansicht." + +#: src/fe-gtk/setup.c:1970 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Einige Einstellungen wurden geändert, die einen Neustart erfordern." + +#: src/fe-gtk/setup.c:1978 +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 "" +"*WARNUNG*\n" +"Automatisches Annehmen von DCCs in Dein home-\n" +"Verzeichnis kann gefährlich sein und ist\n" +"ausnutzbar. Zum Beispiel könnte Dir jemand\n" +"ein .bash_profile schicken" + +#: src/fe-gtk/setup.c:2011 +msgid "XChat: Preferences" +msgstr "XChat: Einstellungen" + +#: src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "Fehler beim Auswerten des Strings" + +#: src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Diesem Signal werden nur %d Argumente übergeben, $%d ist ungültig" + +#: src/fe-gtk/textgui.c:304 +#: src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "Textdatei drucken" + +#: src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "Ereignis ändern" + +#: src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$ Nummer" + +#: src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "Lade von..." + +#: src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "Alle testen" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: URL-Sammler" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Liste löschen" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Ausgewählte URL kopieren" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Kopiere" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Liste in Datei speichern" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d Ops, %d Gesamt" + diff --git a/po/el.po b/po/el.po new file mode 100644 index 00000000..1b15a18a --- /dev/null +++ b/po/el.po @@ -0,0 +1,5486 @@ +# Greek translations for X-Chat package. +# Copyright (C) Dokianakis Fanis<madf@hellug.gr>, 2000 - 2003. +# Sarantis Paskalis <paskalis@di.uoa.gr> +# Stavros Giannouris <stavrosg2002@freemail.gr>, 2005 - 2007. +# Stathis Kamperis <ekamperi@auth.gr>, 2006 +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.8.0\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2007-01-03 23:06+1100\n" +"PO-Revision-Date: 2007-02-18 02:22+0200\n" +"Last-Translator: Stavros Giannouris <stavrosg2002@freemail.gr>\n" +"Language-Team: Greek <nls@tux.hellug.gr>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: KBabel 1.10.1\n" +"X-Poedit-Language: Greek\n" +"X-Poedit-Country: GREECE\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "Δεν ήταν δυνατή η δημιουργία του ~/.xchat2" + +#: src/common/cfgfiles.c:695 +msgid "I'm busy" +msgstr "Είμαι απασχολημένος/η" + +#: src/common/cfgfiles.c:696 +msgid "Leaving" +msgstr "Αποχώρησε" + +#: src/common/cfgfiles.c:742 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Το να χρησιμοποιείτε το IRC σαν root είναι ηλίθιο!\n" +" Πρέπει να δημιουργήσετε ένα λογαριασμό απλού χρήστη\n" +" και να χρησιμοποιείτε αυτόν.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Αναμονή" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Ενεργό" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Απέτυχε" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Έγινε" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:775 +msgid "Connect" +msgstr "Σύνδεση" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Ματαιώθηκε" + +#: src/common/dcc.c:1910 src/common/outbound.c:2450 +#, c-format +msgid "Cannot access %s\n" +msgstr "Αδυναμία πρόσβασης στο %s\n" + +#: src/common/dcc.c:1911 src/common/text.c:918 src/common/text.c:956 +#: src/common/text.c:967 src/common/text.c:974 src/common/text.c:987 +#: src/common/text.c:1004 src/common/text.c:1104 src/common/util.c:352 +msgid "Error" +msgstr "Σφάλμα" + +#: src/common/dcc.c:2399 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "Ο/Η %s σας προσφέρει το \"%s\". Θέλετε να το δεχτείτε;" + +#: src/common/dcc.c:2610 +msgid "No active DCCs\n" +msgstr "Δεν υπάρχουν ενεργά DCC\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "ΝΑΙ " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "ΟΧΙ " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Πλημμυρίζεστε με μηνύματα CTCP από τον %s. Αγνοώ τον %s\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "" + +#: src/common/notify.c:449 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s συνδέθηκε\n" + +#: src/common/notify.c:451 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s αποσυνδέθηκε\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Δεν έχετε συνδεθεί σε κανάλι. Δοκιμάστε /join #<channel>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Δεν έχετε συνδεθεί. Δοκιμάστε /server <διακομιστής> [<θύρα>]\n" + +#: src/common/outbound.c:339 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Είστε ήδη απομακρυσμένος/η: %s\n" + +#: src/common/outbound.c:409 +msgid "Already marked back.\n" +msgstr "Έχετε επιστρέψει ήδη.\n" + +#: src/common/outbound.c:1812 +msgid "I need /bin/sh to run!\n" +msgstr "Το /bin/sh χρειάζεται για την εκτέλεση!\n" + +#: src/common/outbound.c:2183 +msgid "Commands Available:" +msgstr "Διαθέσιμες εντολές:" + +#: src/common/outbound.c:2197 +msgid "User defined commands:" +msgstr "Εντολές ορισμένες από το χρήστη:" + +#: src/common/outbound.c:2213 +msgid "Plugin defined commands:" +msgstr "Εντολές ορισμένες από πρόσθετο:" + +#: src/common/outbound.c:2224 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Πληκτρολογείστε /HELP <εντολή> για περισσότερες πληροφορίες, ή /HELP -l" + +#: src/common/outbound.c:2299 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Η άγνωστη επιλογή '%s' αγνοήθηκε." + +#: src/common/outbound.c:3238 +msgid "No such plugin found.\n" +msgstr "Δε βρέθηκε τέτοιο πρόσθετο.\n" + +#: src/common/outbound.c:3243 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Αυτό το πρόσθετο αρνείται να αποφορτωθεί.\n" + +#: src/common/outbound.c:3512 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <όνομα> <δράση>, προσθέτει ένα κουμπί στη λίστα χρηστών" + +#: src/common/outbound.c:3514 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <εντολή>, στέλνει μια εντολή σε όλα τα κανάλια που βρίσκεστε" + +#: src/common/outbound.c:3516 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <εντολή>, στέλνει μια εντολή σε όλα τα κανάλια που βρίσκεστε" + +#: src/common/outbound.c:3518 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <εντολή>, στέλνει μια εντολή στους διακομιστές που βρίσκεστε" + +#: src/common/outbound.c:3519 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<αιτία>], σας ορίζει ως απών" + +#: src/common/outbound.c:3520 +msgid "BACK, sets you back (not away)" +msgstr "BACK, ορίζει ότι έχετε επιστρέψει (όχι απομακρυσμένος/η)" + +#: src/common/outbound.c:3522 +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 <μάσκα> [<τύπος ban>], κάνει ban σε όποιο ταιριάζει στη μάσκα από το τρέχον κανάλι. Εάν είναι ήδη στο κανάλι δεν τους κάνει kick (χρειάζεται chanop)" + +#: src/common/outbound.c:3524 +msgid "" +"Set per channel options\n" +"CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part messages\n" +"CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +"CHANOPT BEEP ON|OFF - Toggle beep on message\n" +"CHANOPT TRAY ON|OFF - Toggle tray blink on message" +msgstr "" +"Επιλογές ανά κανάλι\n" +"CHANOPT CONFMODE ON|OFF - Εναλλαγή προβολής μηνυμάτων σύνδεσης/αποσύνδεσης\n" +"CHANOPT COLORPASTE ON|OFF - Εναλλαγή επικόλλησης χρωμάτων\n" +"CHANOPT BEEP ON|OFF - Εναλλαγή ηχητικής ειδοποίησης για μηνύματα\n" +"CHANOPT TRAY ON|OFF - Εναλλαγή οπτικής ειδοποίησης για μηνύματα" + +#: src/common/outbound.c:3531 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR [ALL|HISTORY], Καθαρίζει το τρέχον παράθυρο κειμένου" + +#: src/common/outbound.c:3532 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, Κλείνει το τρέχον παράθυρο/καρτέλα" + +#: src/common/outbound.c:3535 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY <κωδικός>, βρίσκει τον κωδικό μιας χώρας, πχ: gr = greece" + +#: src/common/outbound.c:3537 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <nick> <μήνυμα>, στέλνει ένα μήνυμα CTCP στο nick, συνηθέστερα μηνύματα είναι τα VERSION και USERINFO" + +#: src/common/outbound.c:3539 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "CYCLE, αποσυνδέεται από το τρέχον κανάλι και επανασυνδέεται άμεσα" + +#: src/common/outbound.c:3541 +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 "" +"\n" +"DCC GET <nick> - λήψη ενός προσφερθέντος αρχείου\n" +"DCC SEND [-maxcps=#] <nick> [αρχείο] - αποστολή ενός αρχείου σε κάποιον\n" +"DCC PSEND [-maxcps=#] <nick> [αρχείο] - αποστολή ενός αρχείου σε παθητική κατάσταση λειτουργίας\n" +"DCC LIST - εμφάνιση της λίστας DCC\n" +"DCC CHAT <nick> - προσφορά συνομιλίας DCC σε κάποιον\n" +"DCC PCHAT <nick> - προσφορά συνομιλίας DCC σε παθητική κατάσταση λειτουργίας\n" +"DCC CLOSE <τύπος> <nick> <αρχείο> παράδειγμα:\n" +" /dcc close send mixalhs file.tar.gz" + +#: src/common/outbound.c:3553 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <nick>, αφαίρεση της κατάστασης chanhalf-op από το nick στο τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:3555 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <όνομα>, διαγραφή ενός κουμπιού κάτω από τη λίστα χρηστών" + +#: src/common/outbound.c:3557 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <nick>, αφαίρεση της κατάστασης chanop από το nick στο τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:3559 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <nick>, αφαίρεση της κατάστασης voice από το nick στο τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:3560 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Αποσύνδεση από το διακομιστή" + +#: src/common/outbound.c:3561 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <nick|διακομιστής|ip>, Ανίχνευση του αριθμού IP ενός χρήστη" + +#: src/common/outbound.c:3562 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <κείμενο>, Τοπική εκτύπωση κειμένου" + +#: src/common/outbound.c:3565 +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] <εντολή>, εκτελεί την εντολή. Εάν δοθεί το -o τότε η έξοδος θα σταλθεί στο τρέχον κανάλι, αλλιώς στέλνεται στο τρέχον κουτί κειμένου" + +#: src/common/outbound.c:3567 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, στέλνει στη διεργασία ένα SIGCONT σήμα" + +#: src/common/outbound.c:3570 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], σκοτώνει ένα εκτελούμενο exec στη τρέχουσα συνεδρία. Εάν δοθεί το -9 τότε στέλνει στη διεργασία ένα SIGKILL σήμα" + +#: src/common/outbound.c:3572 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, στέλνει στη διεργασία ένα SIGSTOP σήμα" + +#: src/common/outbound.c:3573 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, στέλνει δεδομένα στο ρεύμα stdin της διεργασίας" + +#: src/common/outbound.c:3577 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, καθαρίζει σειρά αποστολής του τρέχοντος διακομιστή" + +#: src/common/outbound.c:3579 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <διακομιστής> [<port>], θέτει proxy ένα διακομιστή, εξ'ορισμού θύρα 23" + +#: src/common/outbound.c:3583 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <ψευδώνυμο> <συνθηματικό>, Αποσυνδέει ένα ψευδώνυμο-φάντασμα" + +#: src/common/outbound.c:3588 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nick>, δίνει κατάσταση chanhalf-op στο nick (χρειάζεται chanop)" + +#: src/common/outbound.c:3589 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <κωδικός>, " + +#: src/common/outbound.c:3591 +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 <μάσκα> <τύποι..> <επιλογές..>\n" +" μάσκα - μάσκα διακομιστή για ignore πχ: *!*@*.otenet.gr\n" +" τύποι - τύποι δεδομένων για ignore, ένα από:\n" +" PRIV, CHAN, NOTI, CTCP, INVI, ALL\n" +" επιλογές - NOSAVE, QUIET" + +#: src/common/outbound.c:3598 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "/INVITE <nick> [<κανάλι>], καλεί κάποιον σε ένα κανάλι, εξ'ορισμού το τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:3599 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <κανάλι>, συνδέεται στο κανάλι" + +#: src/common/outbound.c:3601 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <nick>, διώχνει το nick από τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:3603 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <nick>, κάνει ban και διώχνει το nick από τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:3606 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, απαίτηση νέου ελέγχου για lag" + +#: src/common/outbound.c:3608 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <string>, αναζήτηση ενός string στη προσωρινή μνήμη." + +#: src/common/outbound.c:3610 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <αρχείο>, φορτώνει ένα πρόσθετο ή ένα script" + +#: src/common/outbound.c:3613 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Μαζικό deop όλων των chanhalf-ops στο τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:3615 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Μαζικό deop όλων των chanops στο τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:3617 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <δράση>, στέλνει τη δράση στο τρέχον κανάλι (οι δράσεις γράφονται στο τρίτο πρόσωπο, πχ. /me kanei mia toumpa)" + +#: src/common/outbound.c:3621 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Μαζικό kick όλων εκτός από εσένα στο τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:3624 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Δίνει μαζικά op σε όλους τους χρήστες στο τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:3625 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <nick> <μήνυμα>, στέλνει ένα προσωπικό μήνυμα" + +#: src/common/outbound.c:3628 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, Δείχνει μια λίστα με όλα τα ονόματα στο τρέχον κανάλι" + +#: src/common/outbound.c:3630 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <μήνυμα>, Στέλνει μία CTCP αναγγελία" + +#: src/common/outbound.c:3631 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <διακομιστής> [<θύρα>]" + +#: src/common/outbound.c:3632 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <ψευδώνυμο>, θέτει το ψευδώνυμο σας" + +#: src/common/outbound.c:3635 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <nick/κανάλι> <μήνυμα>, στέλνει μια αναγγελία. Οι αναγγελίες είναι τύποι μηνυμάτων που θα πρέπει να αντιδρά αυτόματα(auto reacted to)" + +#: src/common/outbound.c:3637 +msgid "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" +msgstr "NOTIFY [-n δίκτυο1[,δίκτυο2,...]][ <ψευδώνυμο>], δείχνει τη λίστα ειδοποίησης ή προσθέτει κάποιον σε αυτήν" + +#: src/common/outbound.c:3639 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>, δίνει κατάσταση chanop στο nick, (χρειάζεται chanop)" + +#: src/common/outbound.c:3641 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<κανάλι>] [<αιτία>], φεύγει από το κανάλι, εξ'ορισμού το τρέχον" + +#: src/common/outbound.c:3643 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | κανάλι>, κάνει ένα CTCP ping στο nick ή το κανάλι" + +#: src/common/outbound.c:3645 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <nick>, ανοίγει ένα παράθυρο για προσωπική συζήτηση" + +#: src/common/outbound.c:3647 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<αιτία>], αποσύνδεση από τον τρέχοντα διακομιστή" + +#: src/common/outbound.c:3649 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <κείμενο>, στέλνει ένα κείμενο σε ωμή μορφή στο διακομιστή" + +#: src/common/outbound.c:3652 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONΝECT [-ssl] [<διακομιστής>] [<port>] [<password>] , Μπορεί να κληθεί απλά σαν /reconnect για επανασύνδεση στον τρέχοντα διακομιστή ή με /reconnect all για όλους τους ανοικτούς διακομιστές" + +#: src/common/outbound.c:3655 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONΝECT [<διακομιστής>] [<port>] [<password>], Μπορεί να κληθεί απλά σαν /reconnect για επανασύνδεση στον τρέχοντα διακομιστή ή με /reconnect all για όλους τους ανοικτούς διακομιστές" + +#: src/common/outbound.c:3657 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <κείμενο>, στέλνει ωμά δεδομένα στο xchat, όπως λαμβάνονται από τον irc server" + +#: src/common/outbound.c:3660 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <κείμενο>, στέλνει το κείμενο στο αντικείμενο στο παράθυρο" + +#: src/common/outbound.c:3661 +msgid "SEND <nick> [<file>]" +msgstr "SEND <ψευδώνυμο> [<αρχείο>]" + +#: src/common/outbound.c:3664 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <διακομιστής> <port> <κανάλι>, σύνδεση σε διακομιστή και κανάλι" + +#: src/common/outbound.c:3667 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <διακομιστής> <port> <κανάλι>, σύνδεση σε διακομιστή και κανάλι" + +#: src/common/outbound.c:3671 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <διακομιστής> [<port>] [<password>], σύνδεση σε ένα διακομιστή,εξ'ορισμού port το 6667" + +#: src/common/outbound.c:3674 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <διακομιστής> [<port>] [<password>], σύνδεση σε ένα διακομιστή, εξ'ορισμού port το 6667" + +#: src/common/outbound.c:3676 +msgid "SET [-e] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-quiet] <μεταβλητή> [<τιμή>]" + +#: src/common/outbound.c:3677 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<θέση>" + +#: src/common/outbound.c:3682 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<θέμα>], θέτει το θέμα αν δοθεί κάποιο, αλλιώς δείχνει το τρέχον" + +#: src/common/outbound.c:3684 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" +"\n" +"TRAY -f <χρονικό όριο> <αρχείο1> [<αρχείο2>] Αναβόσβημα με τα 2 εικονίδια.\n" +"TRAY -f <όνομα αρχείου> Ορισμός εικονιδίου συστήματος.\n" +"TRAY -i <αριθμός> Αναβόσβημα με το προεπιλεγμένο\n" +" εικονίδιο.\n" +"TRAY -t <κείμενο> Ορισμός αναδυόμενου κειμένου.\n" +"TRAY -b <τίτλος> <κείμενο> Ορισμός του μπαλονιού." + +#: src/common/outbound.c:3691 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], κάνει unban με τις ορισμένες επιλογές" + +#: src/common/outbound.c:3692 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <μάσκα> [QUIET]" + +#: src/common/outbound.c:3693 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <αρχείο>, αποφορτώνει ένα Perl script" + +#: src/common/outbound.c:3694 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, ανοίγει ένα URL στον περιηγητή σας" + +#: src/common/outbound.c:3696 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <χρήστης1> <χρήστης2> κλπ, επισημαίνει τον(ους) χρήστη(ες) στη λίστα χρηστών" + +#: src/common/outbound.c:3699 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>, δίνει κατάσταση voice σε κάποιον (θέλει chanop)" + +#: src/common/outbound.c:3701 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <μήνυμα>, αποστολή του μηνύματος σε όλα τα κανάλια" + +#: src/common/outbound.c:3703 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <μήνυμα>, αποστολή του μηνύματος σε όλους τους chanops στο τρέχον κανάλι" + +#: src/common/outbound.c:3736 +#, c-format +msgid "Usage: %s\n" +msgstr "Χρήση: %s\n" + +#: src/common/outbound.c:3741 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Δεν υπάρχει διαθέσιμη βοήθεια για αυτή την εντολή.\n" + +#: src/common/outbound.c:3747 +msgid "No such command.\n" +msgstr "Δεν υπάρχει τέτοια εντολή.\n" + +#: src/common/outbound.c:4077 +msgid "Bad arguments for user command.\n" +msgstr "Κακές επιλογές για την εντολή χρήστη.\n" + +#: src/common/outbound.c:4233 +msgid "Too many recursive usercommands, aborting." +msgstr "Εγκατάλειψη, πάρα πολλές επαναλαμβανόμενες εντολές χρήστη." + +#: src/common/outbound.c:4310 +msgid "Unknown Command. Try /help\n" +msgstr "Άγνωστη εντολή. Δοκιμάστε /help\n" + +#: src/common/plugin.c:356 src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Δεν υπάρχει το σύμβολο xchat_plugin_init· σίγουρα είναι πρόσθετο xchat;" + +#: src/common/server.c:627 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Είστε σίγουρος/η ότι αυτός ο διακομιστής και η θύρα είναι ικανά για SSL;\n" + +#: src/common/server.c:1018 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Δεν ήταν δυνατή η εύρεση του ονόματος διακομιστή %s\n" +"Ελέγξτε τις ρυθμίσεις IP σας!\n" + +#: src/common/server.c:1023 +msgid "Proxy traversal failed.\n" +msgstr "Απέτυχε η διάβαση από το proxy\n" + +#: src/common/servlist.c:642 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Μετάβαση στον επόμενο διακομιστή σε %s...\n" + +#: src/common/servlist.c:1073 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Προειδοποίηση: Το σύνολο χαρακτήρων \"%s\" είναι άγνωστο. Δεν θα γίνει καμία μετατροπή για το δίκτυο %s." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 προστέθηκε στη λίστα ειδοποίησης." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Λίστα Ban:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tΔεν ήταν δυνατή η σύνδεση στο%C26 %B$1 %O(Έχετε ban)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 λέγεται τώρα $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 βάζει ban στον/στην $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tΤο κανάλι $1 δημιουργήθηκε την $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O αφαιρεί το voice από%C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 θέτει εξαίρεση στο $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 προσκαλεί τον/την $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UΚανάλι Χρήστες Θέμα" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 ορίζει κατάσταση $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Καταστάσεις καναλιού $1: $2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 αφαιρεί την εξαίρεση στο $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 αφαιρεί την πρόσκληση από $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 αφαιρεί το συνθηματικό του καναλιού" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 αφαιρεί το όριο χρηστών" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 ορίζει το $2 σαν συνθηματικό καναλιού" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 ορίζει το όριο χρηστών στο κανάλι σε $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 αφαιρεί το ban από $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O δίνει voice στον/στην%C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Αποκαταστάθηκε επαφή. Γίνεται σύνδεση..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Γίνεται σύνδεση στο $1 ($2) θύρα $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Η Σύνδεση απέτυχε. Σφάλμα: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tΕλήφθη ένα CTCP $1 από $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tΕλήφθη ένα CTCP $1 από $2 (προς $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tΕλήφθη ένα CTCP Ήχος $1 από $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tΕλήφθη ένα CTCP Ήχος $1 από $2 (προς $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tΗ συνομιλία DCC με τον/την %C26$1%O ακυρώθηκε." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tαποκαταστάθηκε συνομιλία DCC με%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tΑκυρώθηκε η συνομιλία DCC με %C26$1%O." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tΕλήφθη αίτημα DCC CHAT από $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tΠροσφέρεται DCC CHAT προς $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tΠροσφέρεται ήδη CHAT προς $1" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tΗ προσπάθεια σύνδεσης DCC $1 στο%C26 $2%O απέτυχε (σφάλμα=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tΠαρελήφθη '$1%O' από τον/την$2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Τύπος Προς/Από Κατάσταση Μέγεθος Θεσ Αρχείο " + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$tΛήφθηκε μια εσφαλμένη αίτηση DCC από %C26$1%O.%010%C22*%O$tΠεριεχόμενα πακέτου: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tΠροσφέρεται%C26 $1%O στον/στην%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tΔεν υπάρχει τέτοια προσφορά DCC." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV%C26 $2%O προς%C26 $1%O ακυρώθηκε." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "" + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tαποκαταστάθηκε σύνδεση DCC RECV με%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O από%C26 $3%O απέτυχε ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tΛήψη DCC: Δεν ήταν δυνατό το άνοιγμα του $1 για εγγραφή ($2)." + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tΤο αρχείο%C26 $1%C υπάρχει ήδη, γίνεται αποθήκευση σαν%C26 $2%O." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Oζήτησε να συνεχίσει%C26 $2 %Cαπό%C26 $3%C." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tΑκυρώθηκε το DCC SEND%C26 $2%O με %C26 $1%O." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "" + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tαποκαταστάθηκε σύνδεση DCC SEND με%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Oπροσέφερε%C26 $2 %O(%C26$3 %Obytes)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "" + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tΤο χρονικό όριο για τη DCC $1%C26 $2 %Oπρος%C26 $3 %Oέληξε - ακύρωση." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 διαγράφτηκε από τη λίστα επισήμανσης." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tΑποσυνδεθήκατε ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tΒρέθηκε η διεύθυνση IP σας: [$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O προστέθηκε στην λίστα αγνόησης." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Αγνόηση στο %C26$1%O άλλαξε." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "" + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O αφαιρέθηκε από τη λίστα αγνοημένων." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " Η λίστα αγνοημένων είναι άδεια." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tΔεν ήταν δυνατή η σύνδεση στο%C26 %B$1 %O(Μόνο με πρόσκληση)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tΠροσκληθήκατε στο%C26 $1%O από τον/την%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) συνδέθηκε στο $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tΔεν ήταν δυνατή η σύνδεση στο%C26 %B$1 %O(Απαιτεί συνθηματικό)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 πέταξε έξω τον/την $2 από το $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tΣας έκανε kill ο/η $1 ($2%O%C22)" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22Το μήνυμα της ημέρας παραλείφθηκε." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 χρησιμοποιείται ήδη. Προσπάθεια με $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tΤο ψευδώνυμο χρησιμοποιείται ήδη. Χρησιμοποιήστε την εντολή /NICK για να δοκιμάσετε ένα άλλο." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tΔεν υπάρχει τέτοιο DCC." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tΔεν τρέχει καμία διεργασία" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tΗ λίστα ειδοποίησης είναι άδεια." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Λίστα ειδοποίησης" + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 χρήστες στη λίστα ειδοποίησης." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tΕπισήμανση: ο/η $1 αποσυνδέθηκε ($3)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tΕπισήμανση: ο/η $1 είναι συνδεδεμένος ($3)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) αποχώρησε από $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) αποχώρησε από $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tΑπάντηση ping από $1: $2 δευτερόλεπτο(α)" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tΔεν υπάρχει απάντηση ping για $1 δευτερόλεπτα, αποσύνδεση." + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tΕκτελείται ήδη μια διεργασία" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 αποχώρησε (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tΕύρεση διεύθυνσης IP για %C26 $1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Έγινε σύνδεση." + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Αναζήτηση $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tΣταμάτησε η προηγούμενη προσπάθεια σύνδεσης (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Το θέμα για το $1%C %C29είναι: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 άλλαξε το θέμα σε: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Το θέμα για το $1%C %C29ορίστηκε από $2%C %C29στις $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tΆγνωστος διακομιστής. Μήπως το γράψατε λάθος;" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tΑδυναμία σύνδεσης στο%C26 %B$1 %O(Έχει εξαντληθεί το όριο χρηστών)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Χρήστες στο $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cαπουσιάζει %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OΤέλος λίστας WHOIS." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O αδρανής%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O αδρανής%C26 $2%O, συνδέθηκε:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Oπραγματικός χρήστης@διακομιστή%C27 $2%O, πραγματική IP%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Μιλάτε στο $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tΑποβληθήκατε από το $2 από τον/την $3 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tΕγκαταλείψατε το κανάλι $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tΕγκαταλείψατε το κανάλι $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tΠροσκαλέσατε τον/την %C26 $1%O στο%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tΑπο τώρα ονομάζεστε $2" + +#: src/common/text.c:61 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** ΛΗΞΗ ΤΗΣ ΚΑΤΑΓΡΑΦΗΣ ΣΤΙΣ %s\n" + +#: src/common/text.c:270 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ΕΝΑΡΞΗ ΤΗΣ ΚΑΤΑΓΡΑΦΗΣ ΣΤΙΣ %s\n" + +#: src/common/text.c:289 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Αδυναμία ανοίγματος αρχείου(ων) καταγραφής για εγγραφή.\n" +" Ελέγξτε τα δικαιώματα στο %s/xchatlogs" + +#: src/common/text.c:625 +msgid "Left message" +msgstr "Αριστερό μήνυμα" + +#: src/common/text.c:626 +msgid "Right message" +msgstr "Δεξί μήνυμα" + +#: src/common/text.c:630 +msgid "The nick of the joining person" +msgstr "Το ψευδώνυμο του συνδεόμενου ατόμου" + +#: src/common/text.c:631 +msgid "The channel being joined" +msgstr "Το συνδεόμενο κανάλι" + +#: src/common/text.c:632 src/common/text.c:679 src/common/text.c:730 +msgid "The host of the person" +msgstr "Ο διακομιστής του ατόμου" + +#: src/common/text.c:636 src/common/text.c:642 src/common/text.c:649 +#: src/common/text.c:837 src/common/text.c:844 src/common/text.c:849 +#: src/common/text.c:854 src/common/text.c:859 src/common/text.c:865 +#: src/common/text.c:870 src/common/text.c:874 src/common/text.c:880 +#: src/common/text.c:886 src/common/text.c:932 src/common/text.c:943 +#: src/common/text.c:948 src/common/text.c:953 src/common/text.c:962 +#: src/common/text.c:973 src/common/text.c:980 src/common/text.c:986 +#: src/common/text.c:991 src/common/text.c:996 src/common/text.c:1003 +#: src/common/text.c:1009 src/common/text.c:1015 src/common/text.c:1020 +#: src/common/text.c:1025 src/common/text.c:1029 src/common/text.c:1035 +#: src/common/text.c:1043 src/common/text.c:1077 src/common/text.c:1082 +msgid "Nickname" +msgstr "Ψευδώνυμο" + +#: src/common/text.c:637 +msgid "The action" +msgstr "Η δράση" + +#: src/common/text.c:638 src/common/text.c:644 +msgid "Mode char" +msgstr "Χαρακτήρας κατάστασης" + +#: src/common/text.c:643 +msgid "The text" +msgstr "Το κείμενο" + +#: src/common/text.c:645 src/common/text.c:651 +msgid "Identified text" +msgstr "Στοιχισμένο κείμενο" + +#: src/common/text.c:650 src/common/text.c:707 src/common/text.c:713 +msgid "The message" +msgstr "Το μήνυμα" + +#: src/common/text.c:655 src/common/text.c:717 +msgid "Old nickname" +msgstr "Παλιό ψευδώνυμο" + +#: src/common/text.c:656 src/common/text.c:718 +msgid "New nickname" +msgstr "Νέο ψευδώνυμο" + +#: src/common/text.c:660 +msgid "Nick of person who changed the topic" +msgstr "Το ψευδώνυμο του ατόμου που άλλαξε το θέμα" + +#: src/common/text.c:661 src/common/text.c:667 src/fe-gtk/chanlist.c:716 +#: src/fe-gtk/chanlist.c:819 +msgid "Topic" +msgstr "Θέμα" + +#: src/common/text.c:662 src/common/text.c:666 src/common/text.c:1097 +#: src/fe-gtk/chanlist.c:714 src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Κανάλι" + +#: src/common/text.c:671 src/common/text.c:724 +msgid "The nickname of the kicker" +msgstr "Το ψευδώνυμο του ατόμου που έκανε kick" + +#: src/common/text.c:672 src/common/text.c:722 +msgid "The person being kicked" +msgstr "Το άτομο που έγινε kick" + +#: src/common/text.c:673 src/common/text.c:680 src/common/text.c:684 +#: src/common/text.c:689 src/common/text.c:723 src/common/text.c:731 +#: src/common/text.c:738 +msgid "The channel" +msgstr "Το κανάλι" + +#: src/common/text.c:674 src/common/text.c:725 src/common/text.c:732 +msgid "The reason" +msgstr "Η αιτία" + +#: src/common/text.c:678 src/common/text.c:729 +msgid "The nick of the person leaving" +msgstr "Το ψευδώνυμο του ατόμου που φεύγει" + +#: src/common/text.c:685 src/common/text.c:691 +msgid "The time" +msgstr "Η ώρα" + +#: src/common/text.c:690 +msgid "The creator" +msgstr "Ο δημιουργός" + +#: src/common/text.c:695 src/fe-gtk/dccgui.c:763 src/fe-gtk/dccgui.c:994 +msgid "Nick" +msgstr "Ψευδώνυμο" + +#: src/common/text.c:696 src/common/text.c:949 +msgid "Reason" +msgstr "Αιτία" + +#: src/common/text.c:697 src/common/text.c:839 src/common/text.c:922 +msgid "Host" +msgstr "Διακομιστής" + +#: src/common/text.c:701 src/common/text.c:706 src/common/text.c:711 +msgid "Who it's from" +msgstr "Από ποιον είναι" + +#: src/common/text.c:702 +msgid "The time in x.x format (see below)" +msgstr "Η ώρα σε x.x μορφή (δείτε παρακάτω)" + +#: src/common/text.c:712 src/common/text.c:749 +msgid "The Channel it's going to" +msgstr "Το κανάλι πρόκειται να" + +#: src/common/text.c:736 +msgid "The sound" +msgstr "Ο ήχος" + +#: src/common/text.c:737 src/common/text.c:743 src/common/text.c:748 +msgid "The nick of the person" +msgstr "Το ψευδώνυμο του ατόμου" + +#: src/common/text.c:742 src/common/text.c:747 +msgid "The CTCP event" +msgstr "Το γεγονός CTCP" + +#: src/common/text.c:753 +msgid "The nick of the person who set the key" +msgstr "Το ψευδώνυμο του ατόμου που έθεσε το κλειδί" + +#: src/common/text.c:754 +msgid "The key" +msgstr "Το κλειδί" + +#: src/common/text.c:758 +msgid "The nick of the person who set the limit" +msgstr "Το ψευδώνυμο του ατόμου που έθεσε το όριο" + +#: src/common/text.c:759 +msgid "The limit" +msgstr "Το όριο" + +#: src/common/text.c:763 +msgid "The nick of the person who did the op'ing" +msgstr "Το ψευδώνυμο του ατόμου που έδωσε το op" + +#: src/common/text.c:764 +msgid "The nick of the person who has been op'ed" +msgstr "Το ψευδώνυμο του ατόμου που του δόθηκε op" + +#: src/common/text.c:768 +msgid "The nick of the person who has been halfop'ed" +msgstr "Το ψευδώνυμο του ατόμου που του δόθηκε halfop" + +#: src/common/text.c:769 +msgid "The nick of the person who did the halfop'ing" +msgstr "Το ψευδώνυμο του ατόμου που έδωσε το halfop" + +#: src/common/text.c:773 +msgid "The nick of the person who did the voice'ing" +msgstr "Το ψευδώνυμο του ατόμου που έδωσε το voice" + +#: src/common/text.c:774 +msgid "The nick of the person who has been voice'ed" +msgstr "Το ψευδώνυμο του ατόμου που του δόθηκε voice" + +#: src/common/text.c:778 +msgid "The nick of the person who did the banning" +msgstr "Το ψευδώνυμο του ατόμου που έκανε το ban" + +#: src/common/text.c:779 src/common/text.c:806 +msgid "The ban mask" +msgstr "Η μάσκα του ban" + +#: src/common/text.c:783 +msgid "The nick who removed the key" +msgstr "Το ψευδώνυμο που αφαίρεσε το κλειδί" + +#: src/common/text.c:787 +msgid "The nick who removed the limit" +msgstr "Το ψευδώνυμο που αφαίρεσε το όριο" + +#: src/common/text.c:791 +msgid "The nick of the person of did the deop'ing" +msgstr "Το ψευδώνυμο του ατόμου που έκανε το deop" + +#: src/common/text.c:792 +msgid "The nick of the person who has been deop'ed" +msgstr "Το ψευδώνυμο του ατόμου που του έγινε deop" + +#: src/common/text.c:795 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Το ψευδώνυμο του ατόμου που έκανε το dehalfop" + +#: src/common/text.c:796 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Το ψευδώνυμο του ατόμου που του έγινε dehalfop" + +#: src/common/text.c:800 +msgid "The nick of the person of did the devoice'ing" +msgstr "Το ψευδώνυμο του ατόμου που έκανε το devoice" + +#: src/common/text.c:801 +msgid "The nick of the person who has been devoice'ed" +msgstr "Το ψευδώνυμο του ατόμου που του έγινε devoice" + +#: src/common/text.c:805 +msgid "The nick of the person of did the unban'ing" +msgstr "Το ψευδώνυμο του ατόμου που έκανε το unban" + +#: src/common/text.c:810 +msgid "The nick of the person who did the exempt" +msgstr "Το ψευδώνυμο του ατόμου που έκανε την εξαίρεση" + +#: src/common/text.c:811 src/common/text.c:816 +msgid "The exempt mask" +msgstr "Η μάσκα της εξαίρεσης" + +#: src/common/text.c:815 +msgid "The nick of the person removed the exempt" +msgstr "Το ψευδώνυμο του ατόμου που αφαίρεσε την εξαίρεση" + +#: src/common/text.c:820 +msgid "The nick of the person who did the invite" +msgstr "Το ψευδώνυμο του ατόμου που έκανε το invite" + +#: src/common/text.c:821 src/common/text.c:826 +msgid "The invite mask" +msgstr "Η μάσκα invite" + +#: src/common/text.c:825 +msgid "The nick of the person removed the invite" +msgstr "Το ψευδώνυμο του ατόμου που αφαίρεσε το invite" + +#: src/common/text.c:830 +msgid "The nick of the person setting the mode" +msgstr "Το ψευδώνυμο του ατόμου που θέτει τη κατάσταση" + +#: src/common/text.c:831 +msgid "The mode's sign (+/-)" +msgstr "Το πρόσημο της κατάστασης (+/-)" + +#: src/common/text.c:832 +msgid "The mode letter" +msgstr "Το γράμμα της κατάστασης" + +#: src/common/text.c:833 +msgid "The channel it's being set on" +msgstr "Το κανάλι στο οποίο ρυθμίστηκε" + +#: src/common/text.c:838 +msgid "Username" +msgstr "Όνομα χρήστη" + +#: src/common/text.c:840 +msgid "Full name" +msgstr "Πλήρες όνομα" + +#: src/common/text.c:845 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Μέλη καναλιού/\"είναι ένας IRC operator\"" + +#: src/common/text.c:850 +msgid "Server Information" +msgstr "Πληροφορίες διακομιστή" + +#: src/common/text.c:855 src/common/text.c:860 +msgid "Idle time" +msgstr "Χρόνος αδράνειας" + +#: src/common/text.c:861 +msgid "Signon time" +msgstr "Ώρα σύνδεσης" + +#: src/common/text.c:866 +msgid "Away reason" +msgstr "Αιτία απουσίας" + +#: src/common/text.c:875 src/common/text.c:881 src/common/text.c:889 +#: src/common/text.c:1069 +msgid "Message" +msgstr "Μήνυμα" + +#: src/common/text.c:882 +msgid "Account" +msgstr "Λογαριασμός" + +#: src/common/text.c:887 +msgid "Real user@host" +msgstr "Πραγματικά χρήστης@διακομιστής" + +#: src/common/text.c:888 +msgid "Real IP" +msgstr "Πραγματική διεύθυνση IP" + +#: src/common/text.c:893 src/common/text.c:902 src/common/text.c:908 +#: src/common/text.c:938 src/common/text.c:1092 +msgid "Channel Name" +msgstr "Όνομα καναλιού" + +#: src/common/text.c:897 src/common/text.c:1055 src/fe-gtk/menu.c:1206 +#: src/fe-gtk/menu.c:1385 src/fe-gtk/textgui.c:387 +msgid "Text" +msgstr "Κείμενο" + +#: src/common/text.c:898 src/common/text.c:904 src/common/text.c:933 +#: src/common/text.c:1051 src/common/text.c:1093 +msgid "Server Name" +msgstr "Όνομα διακομιστή" + +#: src/common/text.c:903 +msgid "Nick of person who invited you" +msgstr "Το ψευδώνυμο του ατόμου που σας προσκάλεσε" + +#: src/common/text.c:909 src/fe-gtk/chanlist.c:715 +msgid "Users" +msgstr "Χρήστες" + +#: src/common/text.c:913 +msgid "Nickname in use" +msgstr "Το ψευδώνυμο είναι σε χρήση" + +#: src/common/text.c:914 +msgid "Nick being tried" +msgstr "Το ψευδώνυμο δοκιμάζεται" + +#: src/common/text.c:923 src/common/text.c:1059 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:924 src/common/text.c:955 +msgid "Port" +msgstr "Θύρα" + +#: src/common/text.c:934 src/fe-gtk/notifygui.c:139 src/fe-gtk/setup.c:1525 +msgid "Network" +msgstr "Δίκτυο" + +#: src/common/text.c:939 src/common/text.c:944 +msgid "Modes string" +msgstr "String καταστάσεων" + +#: src/common/text.c:954 src/common/text.c:992 src/common/text.c:997 +#: src/common/text.c:1038 +msgid "IP address" +msgstr "Διεύθυνση IP" + +#: src/common/text.c:960 src/common/text.c:985 +msgid "DCC Type" +msgstr "Τύπος DCC" + +#: src/common/text.c:961 src/common/text.c:966 src/common/text.c:971 +#: src/common/text.c:978 src/common/text.c:998 src/common/text.c:1002 +#: src/common/text.c:1008 src/common/text.c:1014 src/common/text.c:1021 +#: src/common/text.c:1030 src/common/text.c:1036 +msgid "Filename" +msgstr "Όνομα αρχείου" + +#: src/common/text.c:972 src/common/text.c:979 +msgid "Destination filename" +msgstr "Όνομα αρχείου προορισμού" + +#: src/common/text.c:981 src/common/text.c:1010 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1016 +msgid "Pathname" +msgstr "Όνομα διαδρομής" + +#: src/common/text.c:1031 src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "Θέση" + +#: src/common/text.c:1037 src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "Μέγεθος" + +#: src/common/text.c:1042 +msgid "DCC String" +msgstr "Αναγνωριστικό DCC" + +#: src/common/text.c:1047 +msgid "Number of notify items" +msgstr "Αριθμός ειδοποιούμενων αντικειμένων" + +#: src/common/text.c:1063 +msgid "Old Filename" +msgstr "Παλιό όνομα αρχείου" + +#: src/common/text.c:1064 +msgid "New Filename" +msgstr "Νέο όνομα αρχείου" + +#: src/common/text.c:1068 +msgid "Receiver" +msgstr "Παραλήπτης" + +#: src/common/text.c:1073 +msgid "Hostmask" +msgstr "Μάσκα διακομιστή" + +#: src/common/text.c:1078 +msgid "Hostname" +msgstr "Όνομα διακομιστή" + +#: src/common/text.c:1083 +msgid "The Packet" +msgstr "Το πακέτο" + +#: src/common/text.c:1087 +msgid "Seconds" +msgstr "Δευτερόλεπτα" + +#: src/common/text.c:1091 +msgid "Nick of person who have been invited" +msgstr "Το ψευδώνυμο του ατόμου που έχει προσκληθεί" + +#: src/common/text.c:1098 +msgid "Banmask" +msgstr "Μάσκα ban" + +#: src/common/text.c:1099 +msgid "Who set the ban" +msgstr "Ποιος έθεσε το ban" + +#: src/common/text.c:1100 +msgid "Ban time" +msgstr "Ώρα ban" + +#: src/common/text.c:1140 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Σφάλμα κατά την ανάλυση του γεγονότος %s.\n" +"Φόρτωμα προκαθορισμένου." + +#: src/common/text.c:1833 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Αδυναμία ανάγνωσης του αρχείου ήχου:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "Ο απομακρυσμένος διακομιστής έκλεισε το socket" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Άρνηση σύνδεσης" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "Δεν υπάρχει διαδρομή προς το διακομιστή" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Λήξη χρόνου σύνδεσης" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Αδυναμία παραχώρησης αυτής της διεύθυνσης" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Κλείσιμο της σύνδεσης από το ταίρι" + +#: src/common/util.c:839 +msgid "Ascension Island" +msgstr "Ascension Island" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "Ανδόρα" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "Ηνωμένα Αραβικά Εμιράτα" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "Αφγανιστάν" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "Αντίγκουα και Μπαρμπούντα" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "Αγκίλα" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "Αλβανία" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "Αρμενία" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "Ολλανδικές Αντίλλες" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "Αγκόλα" + +#: src/common/util.c:849 +msgid "Antarctica" +msgstr "Ανταρκτική" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "Αργεντινή" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "Αντίστροφο DNS" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "Αμερικάνικη Σαμόα" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "Αυστρία" + +#: src/common/util.c:854 +msgid "Nato Fiel" +msgstr "Πεδίο ΝΑΤΟ" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "Αυστραλία" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "Αρούμπα" + +#: src/common/util.c:857 +msgid "Aland Islands" +msgstr "Νησιά Αλαντ" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "Αζερμπαιζάν" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "Βοσνία και Ερζεγοβίνη" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "Νησιά Μπαρμπάντος" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "Μπαγκλαντές" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "Βέλγιο" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "Μπουρκίνα Φάσο" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "Βουλγαρία" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "Μπαχραίν" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "Μπουρουντί" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "Επιχειρήσεις" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "Μπενίν" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "Νησιά Βερμούδων" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "Μπρούνει Νταρουσαλλέμ" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "Βολιβία" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "Βραζιλία" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "Νησιά Μπαχάμες" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "Μουτάν" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "Νησί Μουβέτ" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "Μποτσουάνα" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "Λευκορωσία" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "Μπελίζ" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "Καναδάς" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "Νησιά Κοκος" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "Λαϊκή Δημοκρατία του Κονγκό" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "Δημοκρατία της Κεντρικής Αφρικής" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "Κονγκο" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "Ελβετία" + +#: src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "Ακτή Ελεφαντοστού" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "Νησιά Κουκ" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "Χιλή" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "Καμερούν" + +#: src/common/util.c:889 +msgid "China" +msgstr "Λαϊκή Δημοκρατία της Κίνας" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "Κολομβία" + +#: src/common/util.c:891 +msgid "Internic Commercial" +msgstr "Εμπορικό Internic" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "Κόστα Ρίκα" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "Σερβία και Μαυροβούνιο" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "Κούβα" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "Ακρωτήριο Verde" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "Νησί των Χριστουγέννων" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "Κύπρος" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "Τσέχικη Δημοκρατία" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "Γερμανία" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "Τζιμπουτί" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "Δανία" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "Δομινικη" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "Δομινικανή Δημοκρατία" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "Αλγερία" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "Ισημερινός" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "Εκπαιδευτικό Ίδρυμα (ΗΠΑ)" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "Εσθονία" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "Αίγυπτος" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "Δυτική Σαχάρα" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "Ερυθρέα" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "Ισπανία" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "Αιθιοπία" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "Ευρωπαϊκή Ένωση" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "Φινλανδία" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "Νησιά Φίτζι" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "Νησιά Φώκλαντ" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "Μικρονησία" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "Νησιά Φαρόε" + +#: src/common/util.c:919 +msgid "France" +msgstr "Γαλλία" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "Γκαμπόν" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "Μεγάλη Βρετανία" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "Γρανάδα" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "Γεωργία" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "Γαλλική Γουινέα" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "Βρετανικοί Νήσοι Καναλιού" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "Γκάνα" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "Γιβλαρτάρ" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "Γροιλανδία" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "Γκάμπια" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "Γουινέα" + +#: src/common/util.c:931 +msgid "Government" +msgstr "Κυβέρνηση (ΗΠΑ)" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "Γουαδελούπη" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "Ισημερινή Γουινέα" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "Ελλάδα" + +#: src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "S. Georgia and S. Sandwich Isles." + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "Γουατεμάλα" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "Γκουάμ" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "Γουινέα" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "Γουιάνα" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "Χονγκ Κονγκ" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "Νησιά Χερντ και ΜακΝτόναλντ" + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "Ονδούρας" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "Κροατία" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "Αϊτή" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "Ουγγαρία" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "Ινδονησία" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "Ιρλανδία" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "Ισραήλ" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "Isle of Man" + +#: src/common/util.c:950 +msgid "India" +msgstr "Ινδία" + +#: src/common/util.c:951 +msgid "Informational" +msgstr "Πληροφοριακό" + +#: src/common/util.c:952 +msgid "International" +msgstr "Διεθνές" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "Βρετανική Περιοχή Δυτικού Ωκεανού" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "Ιράκ" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "Ιράν" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "Ισλανδία" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "Ιταλία" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "Τζέρσεϋ" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "Τζαμάικα" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "Ιορδανία" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "Ιαπωνία" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "Κένυα" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "Κουρτζεκισταν" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "Καμπότζη" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "Κιριμπάτι" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "Κομόρες" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts and Nevis" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "Βόρεια Κορέα" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "Νότια Κορέα" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "Κουβέιτ" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "Νησιά Κέυμαν" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "Καζακστάν" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "Λάος" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "Λίβανο" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "Άγιος Λουκάς" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "Λιχτενστάιν" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "Σρι Λάνκα" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "Λιβερία" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "Λεσότο" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "Λιθουανία" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "Λουξεμβούργο" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "Λεττονία" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "Λιβύη" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "Μαρόκο" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "Μονακό" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "Μολδαβία" + +#: src/common/util.c:987 +msgid "United States Medical" +msgstr "Ιατρικό (ΗΠΑ)" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "Μαδαγασκάρη" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "Νησιά Μάρσαλ" + +#: src/common/util.c:990 +msgid "Military" +msgstr "Στρατιωτικό (ΗΠΑ)" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "ΠΓΔΜ" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "Μαλί" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "Μιαμάρ" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "Μογγολία" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "Μακάο" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "Νήσοι Βόρειας Μαριάνας" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "Μαρτινίκα" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "Μαυριτανία" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "Μονσεράτ" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "Μάλτα" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "Μαυριτία" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "Μαλβίδες" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "Μαλάουι" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "Μεξικό" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "Μαλαισία" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "Μοζαμβίκη" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "Ναμίμπια" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "Νέα Καληδονία" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "Νίγηρας" + +#: src/common/util.c:1010 +msgid "Internic Network" +msgstr "Δίκτυο Internic" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "Νήσοι Νόρφολκ" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "Νιγηρία" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "Νικαράγουα" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "Ολλανδία" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "Νορβηγία" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "Νεπάλ" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "Ναούρου" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "Νιούε" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "Νέα Ζηλανδία" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "Ομάν" + +#: src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "Μη Κερδοσκοπικός Οργανισμός Internic" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "Παναμάς" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "Περού" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "Γαλλική Πολυνησία" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "Παπούα Νέα Γουινέα" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "Φιλιππίνες" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "Πακιστάν" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "Πολωνία" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "Αγ. Πιερ και Μικελλόν" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "Πιτκάιρν" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "Πουέρτο Ρίκο" + +#: src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "Παλαιστινιακά Εδάφη" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "Πορτογαλία" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "Παλάο" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "Παραγουάη" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "Κατάρ" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "Επανένωση" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "Ρουμανία" + +#: src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "ARPAnet παλιάς σχολής" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "Ρωσική Ομοσπονδία" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "Ρουάντα" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "Σαουδική Αραβία" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "Νησιά Σολομώντα" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "Σευχέλλες" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "Σουδάν" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "Σουηδία" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "Σιγκαπούρη" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "Αγία Ελένη" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "Σλοβενία" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Νήσοι Svalbard και Jan Mayen" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "Δημοκρατία της Σλοβακίας" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "Σιέρα Λεόνε" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "Σαν Μαρίνο" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "Σενεγάλη" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "Σομαλία" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "Σουρινάμ" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "Sao Tome και Principe" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "Πρώην ΕΣΣΔ" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "Ελ Σαλβαδόρ" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "Συρία" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "Σουαζιλάνδη" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "Νήσοι Turks και Caicos" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "Τσαντ" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "Γαλλικές Νότιες Περιοχές" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "Τόγκο" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "Ταΐλάνδη" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "Τατζικιστάν" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "Τοκελάου" + +#: src/common/util.c:1069 src/common/util.c:1073 +msgid "East Timor" +msgstr "Ανατολικό Τιμούρ" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "Τουρκμενιστάν" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "Τυνησία" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "Τόνγκα" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "Τουρκία" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "Τρινιδάδ και Τομπάγκο" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "Τουβάλου" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "Ταϊβάν" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "Τανζανία" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "Ουκρανία" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "Ουγκάντα" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "Ηνωμένο Βασίλειο" + +#: src/common/util.c:1082 +msgid "US Minor Outlying Islands" +msgstr "Μικροί Απόμερο Νήσοι των ΗΠΑ" + +#: src/common/util.c:1083 +msgid "United States of America" +msgstr "Ηνωμένες Πολιτείες της Αμερικής" + +#: src/common/util.c:1084 +msgid "Uruguay" +msgstr "Ουρουγουάη" + +#: src/common/util.c:1085 +msgid "Uzbekistan" +msgstr "Ουζμπεκιστάν" + +#: src/common/util.c:1086 +msgid "Vatican City State" +msgstr "Πόλη του Βατικανού" + +#: src/common/util.c:1087 +msgid "St. Vincent and the Grenadines" +msgstr "Άγιος Βικέντιος και Γρεναδίνη" + +#: src/common/util.c:1088 +msgid "Venezuela" +msgstr "Βενεζουέλα" + +#: src/common/util.c:1089 +msgid "British Virgin Islands" +msgstr "Βρετανικοί Παρθένοι Νήσοι" + +#: src/common/util.c:1090 +msgid "US Virgin Islands" +msgstr "Αμερικάνικοι Παρθένοι Νήσοι" + +#: src/common/util.c:1091 +msgid "Vietnam" +msgstr "Βιετνάμ" + +#: src/common/util.c:1092 +msgid "Vanuatu" +msgstr "Βανουάτου" + +#: src/common/util.c:1093 +msgid "Wallis and Futuna Islands" +msgstr "Νήσοι Wallis και Futuna" + +#: src/common/util.c:1094 +msgid "Samoa" +msgstr "Σαμόα" + +#: src/common/util.c:1095 +msgid "Yemen" +msgstr "Υεμένη" + +#: src/common/util.c:1096 +msgid "Mayotte" +msgstr "Μα-γιοτ" + +#: src/common/util.c:1097 +msgid "Yugoslavia" +msgstr "Γιουγκοσλαβία" + +#: src/common/util.c:1098 +msgid "South Africa" +msgstr "Νότιος Αφρική" + +#: src/common/util.c:1099 +msgid "Zambia" +msgstr "Ζάμπια" + +#: src/common/util.c:1100 +msgid "Zimbabwe" +msgstr "Ζιμπάμπουε" + +#: src/common/util.c:1110 src/common/util.c:1120 src/fe-gtk/menu.c:550 +#: src/fe-gtk/menu.c:555 src/fe-gtk/menu.c:559 src/fe-gtk/menu.c:563 +#: src/fe-gtk/menu.c:571 src/fe-gtk/menu.c:589 +msgid "Unknown" +msgstr "Άγνωστο" + +#: src/common/xchat.c:765 src/common/xchat.c:891 +msgid "Open Dialog Window" +msgstr "Άνοιγμα παραθύρου διαλόγου" + +#: src/common/xchat.c:766 +msgid "Send a File" +msgstr "Αποστολή αρχείου" + +#: src/common/xchat.c:767 +msgid "User Info (WHOIS)" +msgstr "Πληροφορίες χρήστη (WHOIS)" + +#: src/common/xchat.c:768 +msgid "Operator Actions" +msgstr "Ενέργειες Operator" + +#: src/common/xchat.c:770 src/common/xchat.c:861 +msgid "Give Ops" +msgstr "Απόδοση Chanops" + +#: src/common/xchat.c:771 src/common/xchat.c:862 +msgid "Take Ops" +msgstr "Αφαίρεση Chanops" + +#: src/common/xchat.c:772 src/common/xchat.c:865 +msgid "Give Voice" +msgstr "Απόδοση Voice" + +#: src/common/xchat.c:773 src/common/xchat.c:866 +msgid "Take Voice" +msgstr "Αφαίρεση Voice" + +#: src/common/xchat.c:775 src/common/xchat.c:870 +msgid "Kick/Ban" +msgstr "Kick/Ban" + +#: src/common/xchat.c:776 src/common/xchat.c:871 src/common/xchat.c:920 +msgid "Kick" +msgstr "Kick" + +#: src/common/xchat.c:777 src/common/xchat.c:778 src/common/xchat.c:779 +#: src/common/xchat.c:780 src/common/xchat.c:781 src/common/xchat.c:872 +#: src/common/xchat.c:873 src/common/xchat.c:874 src/common/xchat.c:875 +#: src/common/xchat.c:876 src/common/xchat.c:919 +msgid "Ban" +msgstr "Ban" + +#: src/common/xchat.c:782 src/common/xchat.c:783 src/common/xchat.c:784 +#: src/common/xchat.c:785 src/common/xchat.c:877 src/common/xchat.c:878 +#: src/common/xchat.c:879 src/common/xchat.c:880 +msgid "KickBan" +msgstr "KickBan" + +#: src/common/xchat.c:848 +msgid "Direct client-to-client" +msgstr "Σε απευθείας σύνδεση (DCC)" + +#: src/common/xchat.c:849 +msgid "Send File" +msgstr "Αποστολή αρχείου" + +#: src/common/xchat.c:850 +msgid "Offer Chat" +msgstr "Συνομιλία" + +#: src/common/xchat.c:851 +msgid "Abort Chat" +msgstr "Ακύρωση συνομιλίας" + +#: src/common/xchat.c:852 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Έκδοση" + +#: src/common/xchat.c:853 +msgid "Userinfo" +msgstr "Πληροφορίες χρήστη" + +#: src/common/xchat.c:854 +msgid "Clientinfo" +msgstr "Πληροφορίες πελάτη" + +#: src/common/xchat.c:855 src/common/xchat.c:889 src/common/xchat.c:937 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:856 +msgid "Time" +msgstr "Ώρα" + +#: src/common/xchat.c:857 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:858 +msgid "Oper" +msgstr "Oper" + +#: src/common/xchat.c:859 +msgid "Kill this user" +msgstr "Kill this user" + +#: src/common/xchat.c:860 +msgid "Mode" +msgstr "Κατάσταση" + +#: src/common/xchat.c:863 +msgid "Give Half-Ops" +msgstr "Απόδοση Half-Ops" + +#: src/common/xchat.c:864 +msgid "Take Half-Ops" +msgstr "Αφαίρεση Half-Ops" + +#: src/common/xchat.c:867 +msgid "Ignore" +msgstr "Αγνόησε" + +#: src/common/xchat.c:868 +msgid "Ignore User" +msgstr "Αγνόησε χρήστη" + +#: src/common/xchat.c:869 +msgid "UnIgnore User" +msgstr "ΑποΑγνόηση χρήστη" + +#: src/common/xchat.c:881 +msgid "Info" +msgstr "Πληροφορίες" + +#: src/common/xchat.c:882 +msgid "Who" +msgstr "Ποιος" + +#: src/common/xchat.c:883 src/common/xchat.c:933 +msgid "WhoIs" +msgstr "ΠοιοςΕίναι" + +#: src/common/xchat.c:884 +msgid "DNS Lookup" +msgstr "DNS Lookup" + +#: src/common/xchat.c:885 +msgid "Trace" +msgstr "Εντοπισμός" + +#: src/common/xchat.c:886 +msgid "UserHost" +msgstr "" + +#: src/common/xchat.c:887 +msgid "External" +msgstr "Εξωτερικό" + +#: src/common/xchat.c:888 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:890 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:902 +msgid "Leave Channel" +msgstr "Εγκατάλειψη καναλιού" + +#: src/common/xchat.c:903 src/fe-gtk/menu.c:1392 +msgid "Join Channel..." +msgstr "Σύνδεση στο κανάλι...." + +#: src/common/xchat.c:904 src/fe-gtk/menu.c:1083 +msgid "Enter Channel to Join:" +msgstr "Εισάγετε το κανάλι προς σύνδεση:" + +#: src/common/xchat.c:905 +msgid "Server Links" +msgstr "Συνδέσεις διακομιστών" + +#: src/common/xchat.c:906 +msgid "Ping Server" +msgstr "Ping στο διακομιστή" + +#: src/common/xchat.c:907 +msgid "Hide Version" +msgstr "Απόκρυψη έκδοσης" + +#: src/common/xchat.c:917 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:918 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/xchat.c:921 +msgid "bye" +msgstr "αντίο" + +#: src/common/xchat.c:922 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Εισάγετε αιτία για το kick του %s:" + +#: src/common/xchat.c:923 +msgid "Sendfile" +msgstr "Αποστολή" + +#: src/common/xchat.c:924 +msgid "Dialog" +msgstr "Διάλογος" + +#: src/common/xchat.c:934 +msgid "Send" +msgstr "Αποστολή" + +#: src/common/xchat.c:935 +msgid "Chat" +msgstr "Διάλογος" + +#: src/common/xchat.c:936 src/fe-gtk/banlist.c:341 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Καθαρισμός" + +#: src/common/dbus/dbus-client.c:71 +msgid "Couldn't connect to session bus" +msgstr "Δεν ήταν δυνατή η σύνδεση στο δίαυλο μηνυμάτων" + +#: src/common/dbus/dbus-client.c:85 +msgid "Failed to complete NameHasOwner" +msgstr "Η ολοκλήρωση της εντολής NameHasOwner απέτυχε" + +#: src/common/dbus/dbus-client.c:106 +msgid "Failed to complete Command" +msgstr "Η εκτέλεση της εντολής απέτυχε" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "απομακρυσμένη πρόσβαση" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "πρόσθετο για απομακρυσμένη πρόσβαση μέσω DBUS" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Δεν ήταν δυνατή η σύνδεση στο δίαυλο μηνυμάτων: %s\n" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Η λήψη του %s απέτυχε: %s\n" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "Περί XChat" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "Πελάτης IRC πολλαπλών πλατφόρμων" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Χάρτης χαρακτήρων" + +#: src/fe-gtk/banlist.c:113 src/fe-gtk/chanlist.c:299 +#: src/fe-gtk/plugin-tray.c:138 +msgid "Not connected." +msgstr "Δεν υπάρχει σύνδεση." + +#: src/fe-gtk/banlist.c:154 src/fe-gtk/banlist.c:257 +msgid "You must select some bans." +msgstr "Πρέπει να επιλέξετε μερικά ban." + +#: src/fe-gtk/banlist.c:206 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "Θέλετε σίγουρα να αφαιρέσετε όλα τα bans στο %s;" + +#: src/fe-gtk/banlist.c:272 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Μάσκα" + +#: src/fe-gtk/banlist.c:273 +msgid "From" +msgstr "Από" + +#: src/fe-gtk/banlist.c:274 +msgid "Date" +msgstr "Ημερομηνία" + +#: src/fe-gtk/banlist.c:317 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Μπορείτε να ανοίξετε τη λίστα ban μόνο μέσα από μια καρτέλα καναλιού." + +#: src/fe-gtk/banlist.c:321 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: Λίστα Ban (%s)" + +#: src/fe-gtk/banlist.c:337 +msgid "Unban" +msgstr "Αφαίρεση Ban" + +#: src/fe-gtk/banlist.c:339 +msgid "Crop" +msgstr "Απομάκρυνση υπολοίπων" + +#: src/fe-gtk/banlist.c:343 +msgid "Refresh" +msgstr "Ανανέωση" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "%d/%d χρήστες σε %d/%d κανάλια." + +#: src/fe-gtk/chanlist.c:514 src/fe-gtk/menu.c:1019 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Επιλέξτε όνομα αρχείου" + +#: src/fe-gtk/chanlist.c:593 src/fe-gtk/chanlist.c:749 +msgid "_Join Channel" +msgstr "_Σύνδεση σε κανάλι" + +#: src/fe-gtk/chanlist.c:595 +msgid "_Copy Channel Name" +msgstr "_Αντιγραφή ονόματος καναλιού" + +#: src/fe-gtk/chanlist.c:597 +msgid "Copy _Topic Text" +msgstr "Αν_τιγραφή κειμένου θέματος" + +#: src/fe-gtk/chanlist.c:675 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: Λίστα καναλιών (%s)" + +#: src/fe-gtk/chanlist.c:731 +msgid "_Search" +msgstr "_Αναζήτηση" + +#: src/fe-gtk/chanlist.c:737 +msgid "_Download List" +msgstr "_Λήψεις αρχείων" + +#: src/fe-gtk/chanlist.c:743 +msgid "Save _List..." +msgstr "Αποθήκευση _λίστας..." + +#: src/fe-gtk/chanlist.c:756 +msgid "Show only:" +msgstr "Να εμφανιστεί μόνο:" + +#: src/fe-gtk/chanlist.c:768 +msgid "channels with" +msgstr "κανάλια με" + +#: src/fe-gtk/chanlist.c:781 +msgid "to" +msgstr "σε" + +#: src/fe-gtk/chanlist.c:793 +msgid "users." +msgstr "χρήστες:" + +#: src/fe-gtk/chanlist.c:799 +msgid "Look in:" +msgstr "Αναζήτηση σε:" + +#: src/fe-gtk/chanlist.c:811 +msgid "Channel name" +msgstr "Όνομα καναλιού" + +#: src/fe-gtk/chanlist.c:832 +msgid "Search type:" +msgstr "Τύπος αναζήτησης:" + +#: src/fe-gtk/chanlist.c:839 +msgid "Simple Search" +msgstr "Απλή αναζήτηση" + +#: src/fe-gtk/chanlist.c:840 +msgid "Pattern Match (Wildcards)" +msgstr "Ταίριασμα μοτίβου (χαρακτήρες μπαλαντέρ)" + +#: src/fe-gtk/chanlist.c:842 +msgid "Regular Expression" +msgstr "Κανονική έκφραση" + +#: src/fe-gtk/chanlist.c:853 src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Εύρεση:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "Αποστολή αρχείου στο %s" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "Αυτό το αρχείο δεν μπορεί να συνεχιστεί." + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Αδύνατη η πρόσβαση στο αρχείο: %s\n" +"%s.\n" +"Η συνέχιση είναι αδύνατη." + +#: src/fe-gtk/dccgui.c:507 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "Το αρχείο στον κατάλογο ληφθέντων αρχείων είναι μεγαλύτερο από αυτό που προσφέρεται. Η συνέχιση είναι αδύνατη." + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "Η συνέχιση λήψης του ίδιου αρχείου από δυο ανθρώπους είναι αδύνατη." + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: Λήψεις και αποστολές αρχείων" + +#: src/fe-gtk/dccgui.c:756 src/fe-gtk/dccgui.c:993 src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "Κατάσταση" + +#: src/fe-gtk/dccgui.c:757 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Αρχείο" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "Απομένει" + +#: src/fe-gtk/dccgui.c:784 src/fe-gtk/menu.c:1386 +msgid "Both" +msgstr "Και τα δύο" + +#: src/fe-gtk/dccgui.c:790 +msgid "Uploads" +msgstr "Αποστολές" + +#: src/fe-gtk/dccgui.c:796 +msgid "Downloads" +msgstr "Λήψεις αρχείων" + +#: src/fe-gtk/dccgui.c:801 +msgid "Details" +msgstr "Λεπτομέρειες" + +#: src/fe-gtk/dccgui.c:812 +msgid "File:" +msgstr "Αρχείο:" + +#: src/fe-gtk/dccgui.c:813 +msgid "Address:" +msgstr "Διεύθυνση:" + +#: src/fe-gtk/dccgui.c:819 src/fe-gtk/dccgui.c:1014 +msgid "Abort" +msgstr "Ακύρωση" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1015 +msgid "Accept" +msgstr "Αποδοχή" + +#: src/fe-gtk/dccgui.c:821 +msgid "Resume" +msgstr "Συνέχιση" + +#: src/fe-gtk/dccgui.c:822 +msgid "Open Folder..." +msgstr "Άνοιγμα Φακέλου..." + +#: src/fe-gtk/dccgui.c:982 +msgid "XChat: DCC Chat List" +msgstr "XChat: Λίστα συνομιλίας DCC" + +#: src/fe-gtk/dccgui.c:995 +msgid "Recv" +msgstr "Έλαβ" + +#: src/fe-gtk/dccgui.c:996 +msgid "Sent" +msgstr "Στάλθ" + +#: src/fe-gtk/dccgui.c:997 +msgid "Start Time" +msgstr "Ώρα έναρξης" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*ΝΕΟ*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "ΔΙΟΡΘΩΣΕ ΜΕ" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Όνομα" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Εντολή" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Προς πάνω" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Προς κάτω" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Άκυρο" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Αποθήκευση" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Προσθήκη νέου" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Διαγραφή" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Ταξινόμηση" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Βοήθεια" + +#: src/fe-gtk/fe-gtk.c:122 +msgid "Don't auto connect to servers" +msgstr "Όχι αυτόματη σύνδεση στους διακομιστές" + +#: src/fe-gtk/fe-gtk.c:123 +msgid "Use a different config directory" +msgstr "Χρήση διαφορετικού καταλόγου ρυθμίσεων" + +#: src/fe-gtk/fe-gtk.c:124 +msgid "Don't auto load any plugins" +msgstr "Όχι αυτόματο φόρτωμα προσθέτων" + +#: src/fe-gtk/fe-gtk.c:125 +msgid "Show plugin auto-load directory" +msgstr "Προβολή καταλόγου αρθρωμάτων αυτόματου φορτώματος" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Show user config directory" +msgstr "Εμφάνιση καταλόγου ρυθμίσεων χρήστη" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Open an irc://server:port/channel URL" +msgstr "Άνοιγμα ενός URL τύπου irc://server:port/channel" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Open URL in an existing XChat" +msgstr "Άνοιγμα του URL σε ένα υπάρχον XChat" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show version information" +msgstr "Προβολή πληροφοριών έκδοσης" + +#: src/fe-gtk/fe-gtk.c:249 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Αδυναμία ανοίγματος γραμματοσειράς:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:621 +msgid "Search buffer is empty.\n" +msgstr "Η μνήμη εύρεσης είναι άδεια.\n" + +#: src/fe-gtk/fe-gtk.c:717 +#, c-format +msgid "%d bytes" +msgstr "%d bytes" + +#: src/fe-gtk/fe-gtk.c:718 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Ουρά αποστολής: %d bytes" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "Η πράξη Εκτέλεση Εντολής εκτελεί τα δεδομένα στο Data 1 σαν να είχαν δοθεί στο κουτί εισαγωγής όπου πατήθηκε η ακολουθία των πλήκτρων. Έτσι μπορεί να περιέχει κείμενο (που θα σταλθεί στο κανάλι/άτομο), εντολές ή εντολές χρήστη. Κατά την εκτέλεση όλοι οι \\n χαρακτήρες στο Data 1 οριοθετούν ξεχωριστές εντολές, ώστε να είναι δυνατή η εκτέλεση πάνω από μίας εντολής. Εάν θέλετε το \\ στο κείμενο, εκτελέστε και μετά πατήστε \\\\" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "Η εντολή Αλλαγή Καρτέλας εναλλάσσει μεταξύ καρτελών στο πρόχειρο. Θέστε Data 1 στη καρτέλα που θέλετε να μεταβείτε. Εάν Data 2 είναι καθορισμένο σε κάτι τότε η αλλαγή θα είναι σχετική με τη τρέχουσα Θέση" + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "Η εντολή Εισαγωγή στη Προσωρινή Μνήμη θα εισάγει τα περιεχόμενα του Data 1 στην εγγραφή όπου η ακολουθία πλήκτρων πατήθηκε στη τρέχουσα θέση του κέρσορα" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "Η εντολή Μετακίνηση Καρτέλας μετακινεί το παράθυρο κειμένου πάνω ή κάτω. κατά μία καρτέλα ή μια γραμμή. Ορίστε το Data 1 σε Up, Down, +1 ή -1." + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "Η εντολή Καθορισμός Προσωρινής Μνήμης θέτει την εγγραφή όπου η ακολουθία πλήκτρων πατήθηκε στα περιεχόμενα του Data 1" + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "Η εντολή Περασμένη Εντολή θέτει την εγγραφή να περιέχει την τελευταία εντολή που εισήχθηκε - όμοιο σαν το πάνω βέλος στο κέλυφος" + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "Η εντολή Επόμενη Εντολή θέτει την εγγραφή να περιέχει την επόμενη εντολή που εισήχθηκε - όμοιο σαν το κάτω βέλος στο κέλυφος" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "Αυτή η εντολή αλλάζει το κείμενο της εγγραφής να συμπληρώνει ένα μη πλήρες ψευδώνυμο ή εντολή. Αν το Data 1 είναι καθορισμένο τότε το διπλό-tab σε ένα κορδόνι (string) θα επιλέξει το τελευταίο nick και όχι το επόμενο" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "Αυτή η εντολή μετακινεί πάνω και κάτω μέσα στη λίστα των ψευδωνύμων. Αν το Data 1 είναι καθορισμένο τότε μετακινεί πάνω αλλιώς κάτω" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "Αυτή η εντολή ελέγχει εάν υπάρχει η τελευταία λέξη που γράφτηκε στη λίστα αντικαταστάσεων και την αντικαθιστά εάν βρει ταίρι" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "Αυτή η εντολή μετακινεί την επιλεγμένη καρτέλα μια θέση αριστερά" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "Αυτή η εντολή μετακινεί την επιλεγμένη καρτέλα μια θέση δεξιά" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "Αυτή η εντολή μετακινεί την τρέχουσα ομάδα καρτελών στα αριστερά" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "Αυτή η εντολή μετακινεί την τρέχουσα ομάδα καρτελών στα δεξιά" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "Προώθηση της γραμμής εισαγωγής στο ιστορικό αλλά όχι αποστολή στο διακομιστή" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "Σφάλμα κατά το φόρτωμα των ρυθμίσεων των πλήκτρων συντόμευσης" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1375 src/fe-gtk/maingui.c:1478 +#: src/fe-gtk/maingui.c:2938 +msgid "<none>" +msgstr "<κανένα>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "Mod" + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Πλήκτρο" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Δράση" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: Συντομεύσεις πληκτρολογίου" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "Δεδομένα 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "Δεδομένα 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "Σφάλμα κατά το άνοιγμα του αρχείου ρυθμίσεων των πλήκτρων\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Άγνωστο όνομα πλήκτρου %s στο αρχείο ρυθμίσεων των συντομεύσεων πληκτρολογίου\n" +"Ακυρώθηκε το φόρτωμα, παρακαλώ διορθώστε το %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Άγνωστη δράση %s στο αρχείο ρυθμίσεων των συντομεύσεων πληκτρολογίου\n" +"Ακυρώθηκε το φόρτωμα, παρακαλώ διορθώστε το %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Αναμενόταν γραμμή Data (αρχίζει με Dx{:|!}) αλλά βρέθηκε:\n" +"%s\n" +"\n" +"Το φόρτωμα ακυρώθηκε. Παρακαλώ διορθώστε το %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Το αρχείο συντομεύσεων πληκτρολογίου είναι κατεστραμμένο, και δεν φορτώθηκε\n" +"Παρακαλώ διορθώστε το %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "Δεν ήταν δυνατή η εγγραφή σε αυτό το αρχείο." + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "Δεν ήταν δυνατή η ανάγνωση αυτού του αρχείου." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "Αυτή η μάσκα υπάρχει ήδη" + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:1949 +msgid "Private" +msgstr "Προσωπικό" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Ειδοποίηση" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Πρόσκληση" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Αποαγνόηση" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Εισάγετε μάσκα προς αγνόηση:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "XChat: Λίστα αγνοημένων" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Στατιστικά αγνοημένων:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Κανάλι:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Προσωπικό:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Ειδοποίηση:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Πρόσκληση:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:420 +msgid "Add..." +msgstr "Προσθήκη..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "Το όνομα του καναλιού είναι πολύ μικρό, προσπαθήσετε ξανά." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: Η σύνδεση ολοκληρώθηκε" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "Η σύνδεση στο %s ολοκληρώθηκε" + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "Δεν έχει οριστεί κανένα κανάλι για αυτόματη σύνδεση σε αυτό το δίκτυο." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Τι θέλετε να κάνετε τώρα;" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_Τίποτα, θα συνδεθώ σε ένα κανάλι αργότερα." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "_Σύνδεση στο κανάλι:" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Εάν γνωρίζετε το όνομα του καναλιού που θέλετε να συνδεθείτε, εισάγετε το εδώ." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "Ά_νοιγμα λίστας καναλιών." + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "Η λήψη της λίστας καναλιών μπορεί να πάρει ένα δυο λεπτά." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "_Να εμφανίζεται πάντα αυτό το πλαίσιο διαλόγου μετά τη σύνδεση." + +#: src/fe-gtk/maingui.c:483 +msgid "Dialog with" +msgstr "Διάλογος με" + +#: src/fe-gtk/maingui.c:768 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Το θέμα για το %s είναι: %s" + +#: src/fe-gtk/maingui.c:773 +msgid "No topic is set" +msgstr "Δεν έχει οριστεί θέμα" + +#: src/fe-gtk/maingui.c:1072 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "Αυτός ο διακομιστής έχει ακόμα %d κανάλια ή συνομιλίες ανοιχτά. Να κλείσουν όλα;" + +#: src/fe-gtk/maingui.c:1151 +msgid "No other tabs open, quit xchat?" +msgstr "Δεν υπάρχουν άλλες ανοικτές καρτέλες, έξοδος από το xchat;" + +#: src/fe-gtk/maingui.c:1326 +msgid "Insert Attribute or Color Code" +msgstr "Εισαγωγή ιδιότητας ή χρωματικού κώδικα" + +#: src/fe-gtk/maingui.c:1328 +msgid "<b>Bold</b>" +msgstr "<b>Έντονα</b>" + +#: src/fe-gtk/maingui.c:1329 +msgid "<u>Underline</u>" +msgstr "<u>Υπογραμμισμένο</u>" + +#: src/fe-gtk/maingui.c:1331 +msgid "Normal" +msgstr "Κανονικό" + +#: src/fe-gtk/maingui.c:1333 +msgid "Colors 0-7" +msgstr "Χρώματα 0-7" + +#: src/fe-gtk/maingui.c:1343 +msgid "Colors 8-15" +msgstr "Χρώματα 8-15" + +#: src/fe-gtk/maingui.c:1388 +msgid "Beep on message" +msgstr "Μπιπ σε μήνυμα" + +#: src/fe-gtk/maingui.c:1391 +msgid "Blink tray on message" +msgstr "Εναλλαγή εικονιδίου σε μήνυμα" + +#: src/fe-gtk/maingui.c:1394 +msgid "Show join/part messages" +msgstr "Εμφάνιση μηνυμάτων εισόδου/εξόδου" + +#: src/fe-gtk/maingui.c:1396 +msgid "Color paste" +msgstr "Επικόλληση χρωμάτων" + +#: src/fe-gtk/maingui.c:1406 src/fe-gtk/menu.c:1908 +msgid "_Close Tab" +msgstr "_Κλείσιμο καρτέλας" + +#: src/fe-gtk/maingui.c:1408 src/fe-gtk/menu.c:1907 +msgid "_Detach Tab" +msgstr "_Απόσπαση καρτέλας" + +#: src/fe-gtk/maingui.c:1649 +msgid "Some file transfers still active, quit xchat?" +msgstr "Υπάρχουν ενεργές μεταφορές αρχείων, επιβεβαίωση εγκατάλειψης;" + +#: src/fe-gtk/maingui.c:1817 src/fe-gtk/maingui.c:1923 +msgid "User limit must be a number!\n" +msgstr "Το όριο χρηστών πρέπει να είναι αριθμός!\n" + +#: src/fe-gtk/maingui.c:1945 +msgid "Topic Protection" +msgstr "Προστασία θέματος" + +#: src/fe-gtk/maingui.c:1946 +msgid "No outside messages" +msgstr "Όχι εξωτερικά μηνύματα" + +#: src/fe-gtk/maingui.c:1947 +msgid "Secret" +msgstr "Μυστικό" + +#: src/fe-gtk/maingui.c:1948 +msgid "Invite Only" +msgstr "Μόνο επί πρόσκληση" + +#: src/fe-gtk/maingui.c:1950 +msgid "Moderated" +msgstr "Ελεγχόμενο" + +#: src/fe-gtk/maingui.c:1951 +msgid "Ban List" +msgstr "Λίστα Ban" + +#: src/fe-gtk/maingui.c:1953 +msgid "Keyword" +msgstr "Λέξη κλειδί" + +#: src/fe-gtk/maingui.c:1965 +msgid "User Limit" +msgstr "Όριο χρηστών" + +#: src/fe-gtk/maingui.c:2076 +msgid "Show/Hide userlist" +msgstr "Εμφάνιση/Απόκρυψη λίστας χρηστών" + +#: src/fe-gtk/maingui.c:2201 +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 "" +"Αδύνατη η χρήση διαφανούς παρασκηνίου!\n" +"\n" +"Πιθανόν να χρησιμοποιείτε έναν μη-σύμμορφο διαχειριστή\n" +"παραθύρων που δεν υποστηρίζεται προς το παρόν.\n" + +#: src/fe-gtk/maingui.c:2433 +msgid "Enter new nickname:" +msgstr "Εισάγετε νέο ψευδώνυμο:" + +#: src/fe-gtk/menu.c:124 +msgid "Host unknown" +msgstr "Άγνωστος διακομιστής" + +#: src/fe-gtk/menu.c:541 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:546 src/fe-gtk/menu.c:550 +msgid "Real Name:" +msgstr "Αληθινό όνομα:" + +#: src/fe-gtk/menu.c:554 +msgid "User:" +msgstr "Χρήστης:" + +#: src/fe-gtk/menu.c:558 +msgid "Country:" +msgstr "Χώρα:" + +#: src/fe-gtk/menu.c:562 +msgid "Server:" +msgstr "Διακομιστής:" + +#: src/fe-gtk/menu.c:574 +msgid "Away Msg:" +msgstr "Μήνυμα απουσίας:" + +#: src/fe-gtk/menu.c:584 +#, c-format +msgid "%u minutes ago" +msgstr "πριν από %u λεπτά" + +#: src/fe-gtk/menu.c:586 src/fe-gtk/menu.c:589 +msgid "Last Msg:" +msgstr "Τελευταίο μήνυμα:" + +#: src/fe-gtk/menu.c:690 +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 "Τα μενού είναι κρυμμένα. Μπορείτε να τα εμφανίσετε ξανά πατώντας το F9 ή με δεξί κλικ σε ένα άδειο σημείο στο κυρίως παράθυρο." + +#: src/fe-gtk/menu.c:777 +msgid "Open Link in Browser" +msgstr "Άνοιγμα συνδέσμου στον περιηγητή" + +#: src/fe-gtk/menu.c:778 +msgid "Copy Selected Link" +msgstr "Αντιγραφή επιλεγμένου συνδέσμου" + +#: src/fe-gtk/menu.c:835 src/fe-gtk/menu.c:1066 +msgid "Join Channel" +msgstr "Σύνδεση στο κανάλι" + +#: src/fe-gtk/menu.c:839 +msgid "Part Channel" +msgstr "Εγκατάλειψη καναλιού" + +#: src/fe-gtk/menu.c:841 +msgid "Cycle Channel" +msgstr "Επανασύνδεση στο κανάλι" + +#: src/fe-gtk/menu.c:864 +msgid "XChat: User menu" +msgstr "XChat: Μενού χρήστη" + +#: src/fe-gtk/menu.c:873 +msgid "Edit This Menu..." +msgstr "Επεξεργασία αυτού του μενού..." + +#: src/fe-gtk/menu.c:1068 +msgid "Retrieve channel list..." +msgstr "Λίστα καναλιών..." + +#: src/fe-gtk/menu.c:1136 +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 = xchat 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 "" +"Εντολές χρήστη - Ειδικοί κώδικες:\n" +"\n" +"%c = τρέχον κανάλι\n" +"%e = όνομα τρέχοντος δικτύου\n" +"%m = πληροφορίες συστήματος\n" +"%n = το ψευδώνυμο σας\n" +"%t = ώρα/ημερομηνία\n" +"%v = έκδοση xchat\n" +"%2 = λέξη 2\n" +"%3 = λέξη 3\n" +"&2 = λέξη 2 μέχρι το τέλος της γραμμής\n" +"&3 = λέξη 3 μέχρι το τέλος της γραμμής\n" +"\n" +"πχ:\n" +"/cmd john γειά\n" +"\n" +"%2 θα είναι \"john\"\n" +"&2 θα είναι \"john γειά\"." + +#: src/fe-gtk/menu.c:1152 +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 "" +"Κουμπιά λίστας χρηστών - Ειδικοί κώδικες:\n" +"\n" +"%a = όλα τα επιλεγμένα ψευδώνυμα\n" +"%c = τρέχον κανάλι\n" +"%e = όνομα τρέχοντος δικτύου\n" +"%h = διακομιστής επιλεγμένου ψευδώνυμου\n" +"%m = πληροφορίες συστήματος\n" +"%n = το ψευδώνυμο σας\n" +"%s = επιλεγμένο ψευδώνυμο\n" +"%t = ώρα/ημερομηνία\n" + +#: src/fe-gtk/menu.c:1162 +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 "" +"Κουμπιά διαλόγου - Ειδικοί κώδικες:\n" +"\n" +"%a = όλα τα επιλεγμένα ψευδώνυμα\n" +"%c = τρέχον κανάλι\n" +"%e = όνομα τρέχοντος δικτύου\n" +"%h = διακομιστής επιλεγμένου ψευδώνυμου\n" +"%m = πληροφορίες συστήματος\n" +"%n = το ψευδώνυμο σας\n" +"%s = επιλεγμένο ψευδώνυμο\n" +"%t = ώρα/ημερομηνία\n" + +#: src/fe-gtk/menu.c:1172 +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 "" +"Απαντήσεις CTCP - Ειδικοί κώδικες:\n" +"\n" +"%d = δεδομένα (ολόκληρο το ctcp)\n" +"%e = όνομα τρέχοντος δικτύου\n" +"%m = πληροφορίες συστήματος\n" +"%s = ψευδώνυμο αυτού που έστειλε το ctcp\n" +"%t = ώρα/ημερομηνία\n" +"%2 = λέξη 2\n" +"%3 = λέξη 3\n" +"&2 = λέξη 2 μέχρι το τέλος της γραμμής\n" +"&3 = λέξη 3 μέχρι το τέλος της γραμμής\n" +"\n" + +#: src/fe-gtk/menu.c:1183 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"Χειριστές διευθύνσεων - Ειδικοί κώδικες:\n" +"\n" +"%s = το URL\n" +"\n" +"Ένα ! μπροστά από την εντολή δείχνει\n" +"δείχνει ότι πρέπει να σταλθεί στο\n" +"κέλυφος αντί στο XChat" + +#: src/fe-gtk/menu.c:1192 +msgid "XChat: User Defined Commands" +msgstr "XChat: Εντολές καθορισμένες από το χρήστη" + +#: src/fe-gtk/menu.c:1199 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: Αναδυόμενο μενού λίστας χρηστών" + +#: src/fe-gtk/menu.c:1206 +msgid "Replace with" +msgstr "Αντικατάσταση με" + +#: src/fe-gtk/menu.c:1206 +msgid "XChat: Replace" +msgstr "XChat: Αντικατάσταση" + +#: src/fe-gtk/menu.c:1213 +msgid "XChat: URL Handlers" +msgstr "XChat: Χειριστές διευθύνσεων" + +#: src/fe-gtk/menu.c:1232 +msgid "XChat: Userlist buttons" +msgstr "XChat: Κουμπιά λίστας χρηστών" + +#: src/fe-gtk/menu.c:1239 +msgid "XChat: Dialog buttons" +msgstr "XChat: Κουμπιά διαλόγου" + +#: src/fe-gtk/menu.c:1246 +msgid "XChat: CTCP Replies" +msgstr "XChat: Απαντήσεις CTCP" + +#: src/fe-gtk/menu.c:1344 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1345 +msgid "Network Li_st..." +msgstr "Λί_στα δικτύων" + +#: src/fe-gtk/menu.c:1348 +msgid "_New" +msgstr "_Νέο" + +#: src/fe-gtk/menu.c:1349 +msgid "Server Tab..." +msgstr "Καρτέλα διακομιστή..." + +#: src/fe-gtk/menu.c:1350 +msgid "Channel Tab..." +msgstr "Καρτέλα καναλιού..." + +#: src/fe-gtk/menu.c:1351 +msgid "Server Window..." +msgstr "Παράθυρο διακομιστή..." + +#: src/fe-gtk/menu.c:1352 +msgid "Channel Window..." +msgstr "Παράθυρο καναλιού..." + +#: src/fe-gtk/menu.c:1357 src/fe-gtk/menu.c:1359 +msgid "_Load Plugin or Script..." +msgstr "_Φόρτωση πρόσθετου ή δέσμης ενεργειών..." + +#: src/fe-gtk/menu.c:1367 +msgid "_Quit" +msgstr "_Έξοδος" + +#: src/fe-gtk/menu.c:1369 +msgid "_View" +msgstr "_Προβολή" + +#: src/fe-gtk/menu.c:1371 +msgid "_Menubar" +msgstr "_Μπάρα μενού" + +#: src/fe-gtk/menu.c:1372 +msgid "_Topicbar" +msgstr "Μπάρα _θέματος" + +#: src/fe-gtk/menu.c:1373 +msgid "_Userlist Buttons" +msgstr "Κουμπιά λίστας _χρηστών..." + +#: src/fe-gtk/menu.c:1374 +msgid "M_ode Buttons" +msgstr "Κουμπιά _λειτουργιών " + +#: src/fe-gtk/menu.c:1376 +msgid "_Layout" +msgstr "_Διάταξη" + +#: src/fe-gtk/menu.c:1378 +msgid "_Tabs" +msgstr "_Καρτέλες" + +#: src/fe-gtk/menu.c:1379 +msgid "T_ree" +msgstr "Δεντ_ροδιάταξη" + +#: src/fe-gtk/menu.c:1381 +msgid "_Network Meters" +msgstr "Μ_ετρητές δικτύου" + +#: src/fe-gtk/menu.c:1383 +msgid "Off" +msgstr "Κλειστό" + +#: src/fe-gtk/menu.c:1384 +msgid "Graph" +msgstr "Γράφημα" + +#: src/fe-gtk/menu.c:1389 +msgid "_Server" +msgstr "Διακομι_στής" + +#: src/fe-gtk/menu.c:1390 +msgid "_Disconnect" +msgstr "_Αποσύνδεση" + +#: src/fe-gtk/menu.c:1391 +msgid "_Reconnect" +msgstr "_Επανασύνδεση" + +#: src/fe-gtk/menu.c:1395 +msgid "Marked Away" +msgstr "Σημείωση απουσίας" + +#: src/fe-gtk/menu.c:1397 +msgid "_Usermenu" +msgstr "Μενού _χρήστη" + +#: src/fe-gtk/menu.c:1399 +msgid "S_ettings" +msgstr "Ρυθμίσ_εις" + +#: src/fe-gtk/menu.c:1400 +msgid "_Preferences" +msgstr "Προτιμήσεις" + +#: src/fe-gtk/menu.c:1402 +msgid "Advanced" +msgstr "Για προχωρημένους" + +#: src/fe-gtk/menu.c:1403 +msgid "Auto Replace..." +msgstr "Αυτόματη αντικατάσταση..." + +#: src/fe-gtk/menu.c:1404 +msgid "CTCP Replies..." +msgstr "Απαντήσεις CTCP..." + +#: src/fe-gtk/menu.c:1405 +msgid "Dialog Buttons..." +msgstr "Κουμπιά διαλόγου..." + +#: src/fe-gtk/menu.c:1406 +msgid "Keyboard Shortcuts..." +msgstr "Συντομεύσεις πληκτρολογίου..." + +#: src/fe-gtk/menu.c:1407 +msgid "Text Events..." +msgstr "Γεγονότα κειμένου..." + +#: src/fe-gtk/menu.c:1408 +msgid "URL Handlers..." +msgstr "Χειριστές διευθύνσεων..." + +#: src/fe-gtk/menu.c:1409 +msgid "User Commands..." +msgstr "Εντολές χρήστη..." + +#: src/fe-gtk/menu.c:1410 +msgid "Userlist Buttons..." +msgstr "Κουμπιά λίστας χρηστών..." + +#: src/fe-gtk/menu.c:1411 +msgid "Userlist Popup..." +msgstr "Μενού λίστας χρηστών..." + +#: src/fe-gtk/menu.c:1414 +msgid "_Window" +msgstr "_Παράθυρα" + +#: src/fe-gtk/menu.c:1415 +msgid "Ban List..." +msgstr "Λίστα Ban..." + +#: src/fe-gtk/menu.c:1416 +msgid "Channel List..." +msgstr "Λίστα καναλιών..." + +#: src/fe-gtk/menu.c:1417 +msgid "Character Chart..." +msgstr "Χάρτης χαρακτήρων..." + +#: src/fe-gtk/menu.c:1418 +msgid "Direct Chat..." +msgstr "Άμεση συνομιλία..." + +#: src/fe-gtk/menu.c:1419 +msgid "File Transfers..." +msgstr "Μεταφορές αρχείων..." + +#: src/fe-gtk/menu.c:1420 +msgid "Ignore List..." +msgstr "Λίστα αγνοημένων..." + +#: src/fe-gtk/menu.c:1421 +msgid "Notify List..." +msgstr "Λίστα ειδοποίησης..." + +#: src/fe-gtk/menu.c:1422 +msgid "Plugins and Scripts..." +msgstr "Πρόσθετα και δέσμες ενεργειών..." + +#: src/fe-gtk/menu.c:1423 +msgid "Raw Log..." +msgstr "Ωμή καταγραφή..." + +#: src/fe-gtk/menu.c:1424 +msgid "URL Grabber..." +msgstr "Καταγραφέας URL..." + +#: src/fe-gtk/menu.c:1426 +msgid "Reset Marker Line" +msgstr "Επαναφορά διαχωριστικής γραμμής" + +#: src/fe-gtk/menu.c:1427 +msgid "C_lear Text" +msgstr "Καθα_ρισμός κειμένου" + +#: src/fe-gtk/menu.c:1428 +msgid "Search Text..." +msgstr "Εύρεση κειμένου..." + +#: src/fe-gtk/menu.c:1429 +msgid "Save Text..." +msgstr "Αποθήκευση κειμένου..." + +#: src/fe-gtk/menu.c:1431 src/fe-gtk/menu.c:1899 +msgid "_Help" +msgstr "_Βοήθεια" + +#: src/fe-gtk/menu.c:1432 +msgid "_Contents" +msgstr "Περι_εχόμενα" + +#: src/fe-gtk/menu.c:1433 +msgid "_About" +msgstr "_Περί" + +#: src/fe-gtk/menu.c:1912 +msgid "_Attach Window" +msgstr "_Σύνδεση παραθύρου" + +#: src/fe-gtk/menu.c:1913 +msgid "_Close Window" +msgstr "_Κλείσιμο παραθύρου" + +#: src/fe-gtk/notifygui.c:137 +msgid "User" +msgstr "Χρήστης" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "Τελευταία εμφάνιση" + +#: src/fe-gtk/notifygui.c:181 +msgid "Offline" +msgstr "Αποσυνδεδεμένος" + +#: src/fe-gtk/notifygui.c:201 src/fe-gtk/setup.c:214 +msgid "Never" +msgstr "Ποτέ" + +#: src/fe-gtk/notifygui.c:204 src/fe-gtk/notifygui.c:229 +#, c-format +msgid "%d minutes ago" +msgstr "πριν από %d λεπτά" + +#: src/fe-gtk/notifygui.c:219 +msgid "Online" +msgstr "Συνδεδεμένος" + +#: src/fe-gtk/notifygui.c:348 +msgid "Enter nickname to add:" +msgstr "Εισάγετε ψευδώνυμο για προσθήκη:" + +#: src/fe-gtk/notifygui.c:376 +msgid "Notify on these networks:" +msgstr "Ειδοποίηση σε αυτά τα δίκτυα:" + +#: src/fe-gtk/notifygui.c:387 +msgid "Comma separated list of networks is accepted." +msgstr "Είναι αποδεκτή μια λίστα δικτύων χωρισμένη με κόμματα." + +#: src/fe-gtk/notifygui.c:407 +msgid "XChat: Notify List" +msgstr "XChat: Λίστα ειδοποίησης" + +#: src/fe-gtk/notifygui.c:424 +msgid "Remove" +msgstr "Αφαίρεση" + +#: src/fe-gtk/notifygui.c:428 +msgid "Open Dialog" +msgstr "Άνοιγμα διαλόγου" + +#: src/fe-gtk/plugin-tray.c:135 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat: Συνδεδεμένο σε %u δίκτυα και %u κανάλια" + +#: src/fe-gtk/plugin-tray.c:330 +#, c-format +msgid "" +"You are connected to <b>%u</b> IRC networks.\n" +"Are you sure you want to quit?" +msgstr "" +"Είστε συνδεδεμένοι σε <b>%u</b> δίκτυα IRC.\n" +"Θέλετε σίγουρα να κλείσετε το xchat;" + +#: src/fe-gtk/plugin-tray.c:388 +msgid "_Restore" +msgstr "_Επαναφορά" + +#: src/fe-gtk/plugin-tray.c:390 +msgid "_Hide" +msgstr "Απόκρυψ_η" + +#: src/fe-gtk/plugin-tray.c:393 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:394 +msgid "Channel Message" +msgstr "Μήνυμα σε κανάλι" + +#: src/fe-gtk/plugin-tray.c:395 +msgid "Highlighted Message" +msgstr "Επισημασμένο μήνυμα" + +#: src/fe-gtk/plugin-tray.c:396 +msgid "Private Message" +msgstr "Προσωπικό μήνυμα" + +#: src/fe-gtk/plugin-tray.c:397 +msgid "File Offer" +msgstr "Προσφορά αρχείου" + +#: src/fe-gtk/plugin-tray.c:400 +msgid "Quit..." +msgstr "Έξοδος..." + +#: src/fe-gtk/plugin-tray.c:444 +#, c-format +msgid "XChat: Highlighed message from: %s (%s)" +msgstr "XChat: Επισημασμένο μήνυμα από: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:447 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat: %u επισημασμένα μηνύματα, τελευταίο από: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:466 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat: Νέο δημόσιο μήνυμα από: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:469 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat: %u νέα δημόσια μηνύματα." + +#: src/fe-gtk/plugin-tray.c:488 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat: Προσωπικό μήνυμα από: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:491 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat: %u προσωπικά μηνύματα, το τελευταίο από: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:537 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: Προσφορά αρχείου από: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:540 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "XChat:%u προσφορές αρχείων, τελευταία από: %s (%s)" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:421 +msgid "Description" +msgstr "Περιγραφή" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Επιλογή ενός πρόσθετου ή δέσμης ενεργειών για φόρτωμα" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: Πρόσθετα και δέσμες ενεργειών" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Άνοιγμα..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "Α_ποφόρτωση" + +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "_Κλείσιμο" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:435 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Αποθήκευση ως..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: Ωμή καταγραφή (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Καθαρισμός ωμής καταγραφής" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Το παράθυρο για το οποίο ανοίξατε αυτή την Αναζήτηση δεν υπάρχει πια." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "Η αναζήτηση έφτασε στο τέλος." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Αναζήτηση" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "_Διάκριση πεζών από κεφαλαία" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "Αναζήτηση πρός τα _πίσω" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "_Εύρεση" + +#: src/fe-gtk/servlistgui.c:170 src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "Νέο δίκτυο" + +#: src/fe-gtk/servlistgui.c:554 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Επιβεβαίωση διαγραφής του δικτύου \"%s\" και των διακομιστών του;" + +#: src/fe-gtk/servlistgui.c:678 +msgid "User name and Real name cannot be left blank." +msgstr "Το όνομα χρήστη και το πραγματικό όνομα δεν πρέπει να είναι κενά." + +#: src/fe-gtk/servlistgui.c:978 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: Επεξεργασία %s" + +#: src/fe-gtk/servlistgui.c:997 +#, c-format +msgid "Servers for %s" +msgstr "Διακομιστές για %s" + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Connect to selected server only" +msgstr "Σύνδεση μόνο στον επιλεγμένο διακομιστή" + +#: src/fe-gtk/servlistgui.c:1009 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Όχι προσπάθεια σε όλους τους διακομιστές όταν αποτύχει η σύνδεση." + +#: src/fe-gtk/servlistgui.c:1011 +msgid "Your Details" +msgstr "Οι λεπτομέρειες σας" + +#: src/fe-gtk/servlistgui.c:1017 +msgid "Use global user information" +msgstr "Χρήση γενικών πληροφοριών χρήστη" + +#: src/fe-gtk/servlistgui.c:1020 src/fe-gtk/servlistgui.c:1252 +msgid "_Nick name:" +msgstr "Ψευδώ_νυμο:" + +#: src/fe-gtk/servlistgui.c:1024 src/fe-gtk/servlistgui.c:1259 +msgid "Second choice:" +msgstr "Δεύτερη επιλογή:" + +#: src/fe-gtk/servlistgui.c:1028 src/fe-gtk/servlistgui.c:1273 +msgid "_User name:" +msgstr "Όν_ομα χρήστη:" + +#: src/fe-gtk/servlistgui.c:1032 src/fe-gtk/servlistgui.c:1280 +msgid "Rea_l name:" +msgstr "Πρ_αγματικό όνομα:" + +#: src/fe-gtk/servlistgui.c:1035 +msgid "Connecting" +msgstr "Γίνεται σύνδεση" + +#: src/fe-gtk/servlistgui.c:1041 +msgid "Auto connect to this network at startup" +msgstr "Αυτόματη σύνδεση κατά την εκκίνηση" + +#: src/fe-gtk/servlistgui.c:1043 +msgid "Use a proxy server" +msgstr "Χρήση διακομιστή proxy" + +#: src/fe-gtk/servlistgui.c:1045 +msgid "Use SSL for all the servers on this network" +msgstr "Χρήση SSL για όλους τους διακομιστές σε αυτό το δίκτυο" + +#: src/fe-gtk/servlistgui.c:1050 +msgid "Accept invalid SSL certificate" +msgstr "Αποδοχή μη έγκυρων πιστοποιητικών SSL" + +#: src/fe-gtk/servlistgui.c:1056 +msgid "C_hannels to join:" +msgstr "Σύνδεσ_η στα κανάλια:" + +#: src/fe-gtk/servlistgui.c:1058 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Κανάλια για σύνδεση, χωρισμένα με κόμμα και όχι κενό!" + +#: src/fe-gtk/servlistgui.c:1061 +msgid "Connect command:" +msgstr "Εντολή σύνδεσης:" + +#: src/fe-gtk/servlistgui.c:1063 +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 "Επί πλέον εντολή που θα εκτελεστεί μετά τη σύνδεση. Εάν χρειάζεστε περισσότερες από μια, ορίστε το σε LOAD -e <αρχείο>, όπου <αρχείο> ένα αρχείο κειμένου που θα περιέχει τις εντολές που πρέπει να εκτελεστούν." + +#: src/fe-gtk/servlistgui.c:1066 +msgid "Nickserv password:" +msgstr "Συνθηματικό Nickserv:" + +#: src/fe-gtk/servlistgui.c:1068 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "Εάν το ψευδώνυμο σας απαιτεί συνθηματικό, εισάγετε το εδώ. Δεν υποστηρίζεται από όλα τα δίκτυα IRC." + +#: src/fe-gtk/servlistgui.c:1072 +msgid "Server password:" +msgstr "Συνθηματικό διακομιστή:" + +#: src/fe-gtk/servlistgui.c:1074 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Συνθηματικό διακομιστή, αφήστε κενό αν δεν είστε σίγουροι." + +#: src/fe-gtk/servlistgui.c:1077 +msgid "Character set:" +msgstr "Σετ χαρακτήρων:" + +#: src/fe-gtk/servlistgui.c:1147 +msgid "_Edit" +msgstr "_Επεξεργασία" + +#: src/fe-gtk/servlistgui.c:1230 +msgid "XChat: Network List" +msgstr "XChat: Λίστα δικτύων" + +#: src/fe-gtk/servlistgui.c:1242 +msgid "User Information" +msgstr "Πληροφορίες χρήστη" + +#: src/fe-gtk/servlistgui.c:1266 +msgid "Third choice:" +msgstr "Τρίτη επιλογή:" + +#: src/fe-gtk/servlistgui.c:1326 +msgid "Networks" +msgstr "Δίκτυα" + +#: src/fe-gtk/servlistgui.c:1367 +msgid "Skip network list on startup" +msgstr "Να μην εμφανίζεται η λίστα δικτύων στην εκκίνηση" + +#: src/fe-gtk/servlistgui.c:1399 +msgid "_Edit..." +msgstr "_Επεξεργασία..." + +#: src/fe-gtk/servlistgui.c:1406 +msgid "_Sort" +msgstr "Ταξινόμη_ση" + +#: src/fe-gtk/servlistgui.c:1407 +msgid "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN keys to move a row." +msgstr "Ταξινομεί τη λίστα δικτύων κατά αλφαβητική σειρά. Χρησιμοποιήστε τα SHIFT-ΠΑΝΩ και SHIFT-ΚΑΤΩ για να μετακινηθείτε στις γραμμές." + +#: src/fe-gtk/servlistgui.c:1432 +msgid "C_onnect" +msgstr "Σύν_δεση" + +#: src/fe-gtk/setup.c:100 +msgid "Text Box Appearance" +msgstr "Εμφάνιση πλαισίου κειμένου" + +#: src/fe-gtk/setup.c:101 +msgid "Font:" +msgstr "Γραμματοσειρά:" + +#: src/fe-gtk/setup.c:102 +msgid "Background image:" +msgstr "Εικόνα παρασκηνίου:" + +#: src/fe-gtk/setup.c:103 +msgid "Scrollback lines:" +msgstr "Συγκράτηση γραμμών:" + +#: src/fe-gtk/setup.c:104 +msgid "Colored nick names" +msgstr "Χρωματισμένα ψευδώνυμα" + +#: src/fe-gtk/setup.c:105 +msgid "Give each person on IRC a different color" +msgstr "Δίνει στο ψευδώνυμο του καθένα διαφορετικό χρώμα" + +#: src/fe-gtk/setup.c:106 +msgid "Indent nick names" +msgstr "Στοίχιση ψευδωνύμων" + +#: src/fe-gtk/setup.c:107 +msgid "Make nick names right-justified" +msgstr "Στοιχίζει δεξιά τα ψευδώνυμα" + +#: src/fe-gtk/setup.c:108 +msgid "Transparent background" +msgstr "Διαφανές παρασκήνιο" + +#: src/fe-gtk/setup.c:109 +msgid "Show marker line" +msgstr "Χρήση διαχωριστικής γραμμής" + +#: src/fe-gtk/setup.c:110 +msgid "Insert a red line after the last read text." +msgstr "Εισάγει μια κόκκινη γραμμή μετά το κείμενο που έχει διαβαστεί." + +#: src/fe-gtk/setup.c:111 +msgid "Transparency Settings" +msgstr "Ρυθμίσεις διαφάνειας" + +#: src/fe-gtk/setup.c:112 +msgid "Red:" +msgstr "Κόκκινο:" + +#: src/fe-gtk/setup.c:113 +msgid "Green:" +msgstr "Πράσινο:" + +#: src/fe-gtk/setup.c:114 +msgid "Blue:" +msgstr "Μπλε:" + +#: src/fe-gtk/setup.c:116 src/fe-gtk/setup.c:334 +msgid "Time Stamps" +msgstr "Επισήμανση ώρας" + +#: src/fe-gtk/setup.c:117 +msgid "Enable time stamps" +msgstr "Ενεργοποίηση καταγραφής ώρας" + +#: src/fe-gtk/setup.c:118 +msgid "Time stamp format:" +msgstr "Μορφή ώρας καταγραφής:" + +#: src/fe-gtk/setup.c:119 src/fe-gtk/setup.c:337 +msgid "See strftime manpage for details." +msgstr "Δείτε την σελίδα man του strftime για λεπτομέρειες." + +#: src/fe-gtk/setup.c:126 src/fe-gtk/setup.c:166 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:127 +msgid "Last-spoke order" +msgstr "Αυτός που μίλησε τελευταίος" + +#: src/fe-gtk/setup.c:133 src/fe-gtk/setup.c:1513 +msgid "Input box" +msgstr "Πλαίσιο εισόδου" + +#: src/fe-gtk/setup.c:134 src/fe-gtk/setup.c:177 +msgid "Use the Text box font and colors" +msgstr "Χρήση γραμματοσειράς και χρωμάτων του πλαισίου κειμένου" + +#: src/fe-gtk/setup.c:136 +msgid "Spell checking" +msgstr "Έλεγχος ορθογραφίας" + +#: src/fe-gtk/setup.c:139 +msgid "Nick Completion" +msgstr "Συμπλήρωση ψευδωνύμων" + +#: src/fe-gtk/setup.c:140 +msgid "Automatic nick completion (without TAB key)" +msgstr "Αυτόματη συμπλήρωση ψευδωνύμων (χωρίς το TAB)" + +#: src/fe-gtk/setup.c:142 +msgid "Nick completion suffix:" +msgstr "Επίθεμα συμπλήρωσης ψευδωνύμων:" + +#: src/fe-gtk/setup.c:143 +msgid "Nick completion sorted:" +msgstr "Η αυτόματη συμπλήρωση ταξινομείται κατά:" + +#: src/fe-gtk/setup.c:146 +msgid "Input Box Codes" +msgstr "Κώδικες πλαισίου εισαγωγής" + +#: src/fe-gtk/setup.c:147 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Μετάφραση του %nnn σαν ASCII τιμή" + +#: src/fe-gtk/setup.c:148 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Μετάφραση %C, %B σαν Χρώμα, Έντονο κείμενο κλπ" + +#: src/fe-gtk/setup.c:165 +msgid "A-Z, Ops first" +msgstr "A-Z, Ops πρώτα" + +#: src/fe-gtk/setup.c:167 +msgid "Z-A, Ops last" +msgstr "Z-A, Ops τελευταίοι" + +#: src/fe-gtk/setup.c:168 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:169 +msgid "Unsorted" +msgstr "Αταξινόμητο" + +#: src/fe-gtk/setup.c:175 +msgid "User List" +msgstr "Λίστα χρηστών" + +#: src/fe-gtk/setup.c:176 +msgid "Show hostnames in user list" +msgstr "Προβολή ονομάτων διακομιστών στη λίστα χρηστών" + +#: src/fe-gtk/setup.c:178 +msgid "Resizable user list" +msgstr "Μεταβλητή λίστα χρηστών" + +#: src/fe-gtk/setup.c:179 +msgid "User list sorted by:" +msgstr "Ταξινόμηση λίστας χρηστών κατά:" + +#: src/fe-gtk/setup.c:181 +msgid "Away tracking" +msgstr "Παρακολούθηση απουσιών" + +#: src/fe-gtk/setup.c:182 +msgid "Track the Away status of users and mark them in a different color" +msgstr "Παρακολούθηση των απουσιών και επισήμανση των απόντων χρηστών με διαφορετικό χρώμα" + +#: src/fe-gtk/setup.c:183 +msgid "On channels smaller than:" +msgstr "Σε κανάλια μικρότερα από:" + +#: src/fe-gtk/setup.c:185 +msgid "Action Upon Double Click" +msgstr "Ενέργεια κατά το διπλό κλικ" + +#: src/fe-gtk/setup.c:186 +msgid "Execute command:" +msgstr "Εκτέλεση εντολής:" + +#: src/fe-gtk/setup.c:197 +msgid "Windows" +msgstr "Παράθυρα" + +#: src/fe-gtk/setup.c:198 src/fe-gtk/setup.c:222 src/fe-gtk/setup.c:1515 +msgid "Tabs" +msgstr "Καρτέλες" + +#: src/fe-gtk/setup.c:204 +msgid "Bottom" +msgstr "Βάση" + +#: src/fe-gtk/setup.c:205 +msgid "Top" +msgstr "Κορυφή" + +#: src/fe-gtk/setup.c:206 +msgid "Left" +msgstr "Αριστερά" + +#: src/fe-gtk/setup.c:207 +msgid "Right" +msgstr "Δεξιά" + +#: src/fe-gtk/setup.c:208 +msgid "Hidden" +msgstr "Κρυφό" + +#: src/fe-gtk/setup.c:215 +msgid "Always" +msgstr "Πάντα" + +#: src/fe-gtk/setup.c:216 +msgid "Only requested tabs" +msgstr "Μόνο οι καρτέλες που ζητήθηκαν" + +#: src/fe-gtk/setup.c:223 +msgid "Open an extra tab for server messages" +msgstr "Άνοιγμα καρτέλας για τα μηνύματα διακομιστή" + +#: src/fe-gtk/setup.c:224 +msgid "Open an extra tab for server notices" +msgstr "Άνοιγμα καρτέλας για τις ειδοποιήσεις διακομιστή" + +#: src/fe-gtk/setup.c:225 +msgid "Open a new tab when you receive a private message" +msgstr "Άνοιγμα καρτέλας για τα νέα προσωπικά μηνύματα" + +#: src/fe-gtk/setup.c:226 +msgid "Sort tabs in alphabetical order" +msgstr "Ταξινόμηση καρτελών με αλφαβητική σειρά" + +#: src/fe-gtk/setup.c:227 +msgid "Small tabs" +msgstr "Μικρές καρτέλες" + +#: src/fe-gtk/setup.c:228 +msgid "Focus new tabs:" +msgstr "Εστίαση νέων καρτελών:" + +#: src/fe-gtk/setup.c:229 +msgid "Show tabs at:" +msgstr "Εμφάνιση καρτελών στο:" + +#: src/fe-gtk/setup.c:230 +msgid "Shorten tab labels to:" +msgstr "Συντόμευση καρτελών σε:" + +#: src/fe-gtk/setup.c:230 +msgid "letters." +msgstr "χαρακτήρες." + +#: src/fe-gtk/setup.c:232 +msgid "Tabs or Windows" +msgstr "Καρτέλες ή παράθυρα" + +#: src/fe-gtk/setup.c:233 +msgid "Open channels in:" +msgstr "Άνοιγμα καναλιών σε:" + +#: src/fe-gtk/setup.c:234 +msgid "Open dialogs in:" +msgstr "Άνοιγμα διαλόγων σε:" + +#: src/fe-gtk/setup.c:235 +msgid "Open utilities in:" +msgstr "Άνοιγμα εργαλείων σε:" + +#: src/fe-gtk/setup.c:235 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Καρτέλες ή παράθυρα για τα DCC, Ignore, Notify κλπ.;" + +#: src/fe-gtk/setup.c:242 +msgid "No" +msgstr "Όχι" + +#: src/fe-gtk/setup.c:243 +msgid "Yes" +msgstr "Ναι" + +#: src/fe-gtk/setup.c:244 +msgid "Browse for save folder every time" +msgstr "Επιλογή φακέλου αποθήκευσης κάθε φορά" + +#: src/fe-gtk/setup.c:250 +msgid "Files and Directories" +msgstr "Αρχεία και Κατάλογοι" + +#: src/fe-gtk/setup.c:251 +msgid "Auto accept file offers:" +msgstr "Αυτόματη αποδοχή αρχείων:" + +#: src/fe-gtk/setup.c:252 +msgid "Download files to:" +msgstr "Αποθήκευση αρχείων στο:" + +#: src/fe-gtk/setup.c:253 +msgid "Move completed files to:" +msgstr "Μετακίνηση ολοκληρωμένων αρχείων στο:" + +#: src/fe-gtk/setup.c:254 +msgid "Save nick name in filenames" +msgstr "Αποθήκευση ψευδωνύμων στα ονόματα αρχείων" + +#: src/fe-gtk/setup.c:256 +msgid "Network Settings" +msgstr "Ρυθμίσεις δικτύου" + +#: src/fe-gtk/setup.c:257 +msgid "Get my address from the IRC server" +msgstr "Λήψη της διεύθυνσης IP από τον διακομιστή IRC" + +#: src/fe-gtk/setup.c:258 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "Ερώτηση στον διακομιστή IRC για την πραγματική σας διεύθυνση. Χρησιμοποιείστε το όταν έχετε διεύθυνση IP της μορφής 192.168.*.* ή 10.*.*.* !" + +#: src/fe-gtk/setup.c:259 +msgid "DCC IP address:" +msgstr "DCC διεύθυνση IP:" + +#: src/fe-gtk/setup.c:260 +msgid "Claim you are at this address when offering files." +msgstr "Απαίτηση τής χρήσης αυτής της διευθύνσης κατα την προσφορά αρχείων." + +#: src/fe-gtk/setup.c:261 +msgid "First DCC send port:" +msgstr "Αρχική θύρα DCC αποστολής:" + +#: src/fe-gtk/setup.c:262 +msgid "Last DCC send port:" +msgstr "Τελική θύρα DCC αποστολής:" + +#: src/fe-gtk/setup.c:263 +msgid "!Leave ports at zero for full range." +msgstr "!Αφήστε τις θύρες στο 0 για πλήρες εύρος." + +#: src/fe-gtk/setup.c:265 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Μέγιστες ταχύτητες μεταφοράς αρχείων (bytes ανά δευτερόλεπτο)" + +#: src/fe-gtk/setup.c:266 +msgid "One upload:" +msgstr "Αποστολή ενός αρχείου:" + +#: src/fe-gtk/setup.c:267 src/fe-gtk/setup.c:269 +msgid "Maximum speed for one transfer" +msgstr "Μέγιστη ταχύτητα για μια μεταφορά" + +#: src/fe-gtk/setup.c:268 +msgid "One download:" +msgstr "Λήψη ενός αρχείου:" + +#: src/fe-gtk/setup.c:270 +msgid "All uploads combined:" +msgstr "Όλες οι αποστολές αρχείων μαζί:" + +#: src/fe-gtk/setup.c:271 src/fe-gtk/setup.c:273 +msgid "Maximum speed for all files" +msgstr "Μέγιστη ταχύτητα για όλα τα αρχεία" + +#: src/fe-gtk/setup.c:272 +msgid "All downloads combined:" +msgstr "Όλες οι λήψεις αρχείων συνδυασμένες:" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:1519 +msgid "Alerts" +msgstr "Συναγερμοί" + +#: src/fe-gtk/setup.c:281 +msgid "Enable system tray icon" +msgstr "Ενεργοποίηση εικονιδίου συστήματος" + +#: src/fe-gtk/setup.c:283 +msgid "Flash taskbar on highlighted messages" +msgstr "Ειδοποίηση στην γραμμή εργασιών για τα επισημασμένα μηνύματα" + +#: src/fe-gtk/setup.c:284 +msgid "Flash taskbar on private messages" +msgstr "Ειδοποίηση στην γραμμή εργασιών για τα προσωπικά μηνύματα" + +#: src/fe-gtk/setup.c:286 +msgid "Beep on highlighted messages" +msgstr "Μπιπ για επεσημασμένα μηνύματα" + +#: src/fe-gtk/setup.c:287 +msgid "Beep on private messages" +msgstr "Μπιπ για προσωπικά μηνύματα" + +#: src/fe-gtk/setup.c:288 +msgid "Beep on channel messages" +msgstr "Μπιπ για μηνύματα στο κανάλι" + +#: src/fe-gtk/setup.c:289 +msgid "Extra words to highlight on:" +msgstr "Επιπλέον λέξεις για επισήμανση:" + +#: src/fe-gtk/setup.c:290 +msgid "Nicks not to highlight on:" +msgstr "Ψευδώνυμα στα οποία δε θα γίνεται επισήμανση:" + +#: src/fe-gtk/setup.c:291 +msgid "Separate multiple words with commas." +msgstr "Διαχωρίστε πολλές λέξεις με κόμματα." + +#: src/fe-gtk/setup.c:297 +msgid "Default Messages" +msgstr "Προκαθορισμένα μηνύματα" + +#: src/fe-gtk/setup.c:298 +msgid "Quit:" +msgstr "Έξοδος:" + +#: src/fe-gtk/setup.c:299 +msgid "Leave channel:" +msgstr "Εγκατάλειψη καναλιού:" + +#: src/fe-gtk/setup.c:300 +msgid "Away:" +msgstr "Απουσία:" + +#: src/fe-gtk/setup.c:302 +msgid "Away" +msgstr "Απουσία" + +#: src/fe-gtk/setup.c:303 +msgid "Announce away messages" +msgstr "Ανακοίνωση μηνυμάτων απουσίας" + +#: src/fe-gtk/setup.c:304 +msgid "Announce your away messages to all channels" +msgstr "Ανακοίνωση της απουσίας σας σε όλα τα κανάλια" + +#: src/fe-gtk/setup.c:305 +msgid "Show away once" +msgstr "Εμφάνιση του μηνύματος απουσίας μια φορά" + +#: src/fe-gtk/setup.c:305 +msgid "Show identical away messages only once" +msgstr "Εμφάνιση των όμοιων μηνυμάτων ειδοποίησης μόνο μια φορά" + +#: src/fe-gtk/setup.c:306 +msgid "Automatically unmark away" +msgstr "Αυτόματη απενεργοποίηση της απουσίας" + +#: src/fe-gtk/setup.c:306 +msgid "Unmark yourself as away before sending messages" +msgstr "Απενεργοποίηση της σημείωσης της απουσίας πριν την αποστολή μηνυμάτων" + +#: src/fe-gtk/setup.c:313 +msgid "Advanced Settings" +msgstr "Προχωρημένες ρυθμίσεις" + +#: src/fe-gtk/setup.c:314 +msgid "Auto reconnect delay:" +msgstr "Καθυστέρηση στην αυτόματη επανασύνδεση:" + +#: src/fe-gtk/setup.c:315 +msgid "Display MODEs in raw form" +msgstr "Εμφάνιση των καταστάσεων (MODE) σε ωμή μορφή" + +#: src/fe-gtk/setup.c:316 +msgid "Whois on notify" +msgstr "Whois κατά την ειδοποίηση" + +#: src/fe-gtk/setup.c:316 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Κάνει ένα /WHOIS όταν συνδεθεί ένας χρήστης που βρίσκεται στη λίστα ειδοποίησής σας." + +#: src/fe-gtk/setup.c:317 +msgid "Hide join and part messages" +msgstr "Απόκρυψη μηνυμάτων εισόδου/εξόδου" + +#: src/fe-gtk/setup.c:317 +msgid "Hide channel join/part messages by default" +msgstr "Προκαθορισμένη απόκρυψη μηνυμάτων εισόδου/εξόδου" + +#: src/fe-gtk/setup.c:318 +msgid "Auto Open DCC Windows" +msgstr "Αυτόματο άνοιγμα παραθύρων DCC" + +#: src/fe-gtk/setup.c:319 +msgid "Send window" +msgstr "Παράθυρο αποστολής" + +#: src/fe-gtk/setup.c:320 +msgid "Receive window" +msgstr "Παράθυρο λήψης" + +#: src/fe-gtk/setup.c:321 +msgid "Chat window" +msgstr "Παράθυρο συζήτησης" + +#: src/fe-gtk/setup.c:329 src/fe-gtk/setup.c:1521 +msgid "Logging" +msgstr "Καταγραφή" + +#: src/fe-gtk/setup.c:330 +msgid "Enable logging of conversations" +msgstr "Ενεργοποίηση της καταγραφής των συζητήσεων" + +#: src/fe-gtk/setup.c:331 +msgid "Log filename:" +msgstr "Όνομα αρχείων καταγραφής:" + +#: src/fe-gtk/setup.c:332 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Διακομιστής %c=Κανάλι %n=Δίκτυο." + +#: src/fe-gtk/setup.c:335 +msgid "Insert timestamps in logs" +msgstr "Χρονοσήμανση των αρχείων καταγραφής" + +#: src/fe-gtk/setup.c:336 +msgid "Log timestamp format:" +msgstr "Μορφή καταγραφόμενης ώρας:" + +#: src/fe-gtk/setup.c:344 +msgid "(Disabled)" +msgstr "(Απενεργοποιημένο)" + +#: src/fe-gtk/setup.c:345 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:346 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:347 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:348 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:350 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: src/fe-gtk/setup.c:357 +msgid "All Connections" +msgstr "Όλες οι συνδέσεις" + +#: src/fe-gtk/setup.c:358 +msgid "IRC Server Only" +msgstr "Μόνο διακομιστές IRC" + +#: src/fe-gtk/setup.c:359 +msgid "DCC Get Only" +msgstr "Μόνο λήψη DCC" + +#: src/fe-gtk/setup.c:365 +msgid "Your Address" +msgstr "Η διεύθυνσή σας" + +#: src/fe-gtk/setup.c:366 +msgid "Bind to:" +msgstr "Διεύθυνση για τη σύνδεση:" + +#: src/fe-gtk/setup.c:367 +msgid "Only useful for computers with multiple addresses." +msgstr "Χρήσιμο μόνο για υπολογιστές με πολλαπλές διευθύνσεις." + +#: src/fe-gtk/setup.c:369 +msgid "Proxy Server" +msgstr "Διακομιστής Proxy" + +#: src/fe-gtk/setup.c:370 +msgid "Hostname:" +msgstr "Όνομα διακομιστή:" + +#: src/fe-gtk/setup.c:371 +msgid "Port:" +msgstr "Θύρα:" + +#: src/fe-gtk/setup.c:372 +msgid "Type:" +msgstr "Τύπος:" + +#: src/fe-gtk/setup.c:373 +msgid "Use proxy for:" +msgstr "Χρήση διακομιστή proxy για:" + +#: src/fe-gtk/setup.c:375 +msgid "Proxy Authentication" +msgstr "Πιστοποίηση proxy" + +#: src/fe-gtk/setup.c:377 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Χρήση πιστοποίησης (μόνο MS Proxy, HTTP και Socks5)" + +#: src/fe-gtk/setup.c:379 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Χρήση πιστοποίησης (μόνο HTTP και Socks5)" + +#: src/fe-gtk/setup.c:381 +msgid "Username:" +msgstr "Όνομα χρήστη:" + +#: src/fe-gtk/setup.c:382 +msgid "Password:" +msgstr "Συνθηματικό διακομιστή:" + +#: src/fe-gtk/setup.c:725 +msgid "Select an Image File" +msgstr "Επιλογή ενός αρχείου εικόνας" + +#: src/fe-gtk/setup.c:749 +msgid "Select Download Folder" +msgstr "Επιλογή φακέλου αρχείων" + +#: src/fe-gtk/setup.c:758 +msgid "Select font" +msgstr "Επιλογή γραμματοσειράς" + +#: src/fe-gtk/setup.c:829 +msgid "Browse..." +msgstr "Περιήγηση..." + +#: src/fe-gtk/setup.c:964 +msgid "Mark identified users with:" +msgstr "Επισήμανση των καταχωρημένων χρηστών με:" + +#: src/fe-gtk/setup.c:966 +msgid "Mark not-identified users with:" +msgstr "Επισήμανση των μη-καταχωρημένων χρηστών με:" + +#: src/fe-gtk/setup.c:973 +msgid "Open Data Folder" +msgstr "Άνοιγμα φακέλου δεδομένων" + +#: src/fe-gtk/setup.c:1027 +msgid "Select color" +msgstr "Επιλογή χρώματος" + +#: src/fe-gtk/setup.c:1107 +msgid "Text Colors" +msgstr "Χρώματα κειμένου" + +#: src/fe-gtk/setup.c:1109 +msgid "mIRC colors:" +msgstr "χρώματα mIRC:" + +#: src/fe-gtk/setup.c:1117 +msgid "Local colors:" +msgstr "Τοπικά χρώματα:" + +#: src/fe-gtk/setup.c:1125 src/fe-gtk/setup.c:1130 +msgid "Foreground:" +msgstr "Πλάνο:" + +#: src/fe-gtk/setup.c:1126 src/fe-gtk/setup.c:1131 +msgid "Background:" +msgstr "Φόντο:" + +#: src/fe-gtk/setup.c:1128 +msgid "Marking Text" +msgstr "Χρώμα επισήμανσης:" + +#: src/fe-gtk/setup.c:1133 +msgid "Interface Colors" +msgstr "Χρώματα διεπαφής" + +#: src/fe-gtk/setup.c:1135 +msgid "New data:" +msgstr "Νέα δεδομένα:" + +#: src/fe-gtk/setup.c:1136 +msgid "Marker line:" +msgstr "Γραμμή επισήμανσης:" + +#: src/fe-gtk/setup.c:1137 +msgid "New message:" +msgstr "Νέο μήνυμα:" + +#: src/fe-gtk/setup.c:1138 +msgid "Away user:" +msgstr "Χρήστης απουσίας:" + +#: src/fe-gtk/setup.c:1139 +msgid "Highlight:" +msgstr "Επισήμανση:" + +#: src/fe-gtk/setup.c:1235 src/fe-gtk/textgui.c:386 +msgid "Event" +msgstr "Γεγονός" + +#: src/fe-gtk/setup.c:1241 +msgid "Sound file" +msgstr "Αρχείο ήχου" + +#: src/fe-gtk/setup.c:1276 +msgid "Select a sound file" +msgstr "Επιλογή αρχείου ήχου" + +#: src/fe-gtk/setup.c:1348 +msgid "Sound playing method:" +msgstr "Μέθοδος αναπαραγωγής ήχων:" + +#: src/fe-gtk/setup.c:1356 +msgid "External sound playing _program:" +msgstr "Εξωτερικό _πρόγραμμα αναπαραγωγής ήχων:" + +#: src/fe-gtk/setup.c:1374 +msgid "_External program" +msgstr "_Εξωτερικό πρόγραμμα" + +#: src/fe-gtk/setup.c:1384 +msgid "_Automatic" +msgstr "_Αυτόματο" + +#: src/fe-gtk/setup.c:1397 +msgid "Sound files _directory:" +msgstr "Κατάλογος αρχείων ή_χου:" + +#: src/fe-gtk/setup.c:1436 +msgid "Sound file:" +msgstr "Αρχείο ήχου:" + +#: src/fe-gtk/setup.c:1451 +msgid "_Browse..." +msgstr "_Περιήγηση..." + +#: src/fe-gtk/setup.c:1462 +msgid "_Play" +msgstr "_Αναπαραγωγή" + +#: src/fe-gtk/setup.c:1511 +msgid "Interface" +msgstr "Διεπαφή" + +#: src/fe-gtk/setup.c:1512 +msgid "Text box" +msgstr "Πλαίσιο κείμενου" + +#: src/fe-gtk/setup.c:1514 +msgid "User list" +msgstr "Λίστα χρηστών" + +#: src/fe-gtk/setup.c:1516 +msgid "Colors" +msgstr "Χρώματα" + +#: src/fe-gtk/setup.c:1518 +msgid "Chatting" +msgstr "Συνομιλία" + +#: src/fe-gtk/setup.c:1520 +msgid "General" +msgstr "Γενικές" + +#: src/fe-gtk/setup.c:1522 +msgid "Sound" +msgstr "Ήχος" + +#: src/fe-gtk/setup.c:1526 +msgid "Network setup" +msgstr "Ρυθμίσεις δικτύου" + +#: src/fe-gtk/setup.c:1527 +msgid "File transfers" +msgstr "Μεταφορές αρχείων" + +#: src/fe-gtk/setup.c:1635 +msgid "Categories" +msgstr "Κατηγορίες" + +#: src/fe-gtk/setup.c:1816 +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 "" +"Δε μπορείτε να τοποθετήσετε το δέντρο πάνω ή κάτω!\n" +"Παρακαλώ αλλάξτε πρώτα σε διάταξη <b>καρτέλες</b> στο μενού <b>προβολή</b>." + +#: src/fe-gtk/setup.c:1826 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Άλλαξαν ορισμένες ρυθμίσεις που απαιτούν επανεκκίνηση για να ενεργοποιηθούν." + +#: src/fe-gtk/setup.c:1834 +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 "" +"*ΠΡΟΕΙΔΟΠΟΙΗΣΗ*\n" +"Η αυτόματη αποδοχή DCC στο αρχικό κατάλογό σας\n" +"είναι επικίνδυνη και εκμεταλλεύσιμη. Πχ:\n" +"Κάποιος μπορεί να σας στείλει ένα .bash_profile" + +#: src/fe-gtk/setup.c:1867 +msgid "XChat: Preferences" +msgstr "XChat: Προτιμήσεις" + +#: src/fe-gtk/textgui.c:177 +msgid "There was an error parsing the string" +msgstr "Σφάλμα κατά την ανάλυση του αλφαριθμητικού" + +#: src/fe-gtk/textgui.c:185 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Αυτό το σήμα παίρνει μόνο %d επιλογές, $%d δεν είναι έγκυρο" + +#: src/fe-gtk/textgui.c:301 src/fe-gtk/textgui.c:324 +msgid "Print Texts File" +msgstr "Τυπώνει αρχεία κειμένου" + +#: src/fe-gtk/textgui.c:369 +msgid "Edit Events" +msgstr "Επεξεργασία γεγονότων" + +#: src/fe-gtk/textgui.c:420 +msgid "$ Number" +msgstr "$ Αριθμός" + +#: src/fe-gtk/textgui.c:437 +msgid "Load From..." +msgstr "Άνοιγμα από..." + +#: src/fe-gtk/textgui.c:438 +msgid "Test All" +msgstr "Δοκιμή όλων" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "Σύνδεσμος" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: Καταγραφέας διευθύνσεων" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Καθαρισμός λίστας" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Αντιγραφή επιλεγμένου συνδέσμου" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Αντιγραφή" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Αποθήκευση λίστας σε αρχείο" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d σύνολο" + +#~ msgid "%s loaded successfully!\n" +#~ msgstr "Το %s φορτώθηκε με επιτυχία!\n" + +#~ msgid "I can't save an empty list!" +#~ msgstr "Δεν είναι δυνατή η αποθήκευση μιας άδειας λίστας!" + +#~ msgid "List display options:" +#~ msgstr "Απεικόνιση επιλογών εμφάνισης:" + +#~ msgid "Minimum Users:" +#~ msgstr "Ελάχιστοι χρήστες:" + +#~ msgid "Maximum Users:" +#~ msgstr "Μέγιστοι χρήστες:" + +#~ msgid "Regex Match:" +#~ msgstr "Ταίριασμα κανονικής έκφρασης:" + +#~ msgid "Apply Match to:" +#~ msgstr "Εφαρμογή ταιριάσματος στο:" + +#~ msgid "Apply" +#~ msgstr "Εφαρμογή" + +#~ msgid "Refresh the list" +#~ msgstr "Ανανέωση λίστας" + +#~ msgid "Save the list" +#~ msgstr "Αποθήκευση λίστας" + +#~ msgid "None" +#~ msgstr "Κανένα" + +#~ msgid "To" +#~ msgstr "Προς" + +#~ msgid "Started" +#~ msgstr "Ξεκίνησε" + +#~ msgid "Speed limit" +#~ msgstr "Όριο ταχύτητας" + +#~ msgid "XChat: File Receive List" +#~ msgstr "XChat: Λίστα λήψης αρχείων" + +#~ msgid "Open" +#~ msgstr "Άνοιγμα" + +#~ msgid "Ack" +#~ msgstr "Ack" + +#~ msgid "XChat: File Send List" +#~ msgstr "XChat: Λίστα αποστολής αρχείων" + +#~ msgid "To/From" +#~ msgstr "Προς/Από" + +#~ msgid "Go to" +#~ msgstr "Μετάβαση σε" + +#~ msgid "(Can be a text file relative to ~/.xchat2/)." +#~ msgstr "(Μπορεί να είναι αρχείο κειμένου σχετικό με ~/.xchat2/)." + +#~ msgid "(Can be a text file relative to config dir)." +#~ msgstr "(Μπορεί να είναι αρχείο κειμένου σχετικό με τον κατάλογο ρυθμίσεων)." + +#~ msgid "%C18*$t$1%O $2" +#~ msgstr "%C18*$t$1%O $2" + +#~ msgid "%C21*%O$t%C21%B$1%O%C21 $2" +#~ msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#~ msgid "%C18%H<%H$4$1%H>%H%O$t$2" +#~ msgstr "%C18%H<%H$4$1%H>%H%O$t$2" + +#~ msgid "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" +#~ msgstr "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" + +#~ msgid "%C28-%C29$1/$2%C28-%O$t$3" +#~ msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#~ msgid "$1$t$2" +#~ msgstr "$1$t$2" + +#~ msgid "%C19>%O$1%C19<%O$t$2" +#~ msgstr "%C19>%O$1%C19<%O$t$2" + +#~ msgid "%C16*%O$t$1%O" +#~ msgstr "%C16*%O$t$1%O" + +#~ msgid "%C28-%C29$1%C28-%O$t$2" +#~ msgstr "%C28-%C29$1%C28-%O$t$2" + +#~ msgid "%C28*%C29$3$1%C28*$t%O$2" +#~ msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#~ msgid "%C18%H<%H$3$1%H>%H%O$t$2" +#~ msgstr "%C18%H<%H$3$1%H>%H%O$t$2" + +#~ msgid "%C22*%O$t$1" +#~ msgstr "%C22*%O$t$1" + +#~ msgid "%C31%H<%H$4$1%H>%H%O%C30$t$2" +#~ msgstr "%C31%H<%H$4$1%H>%H%O%C30$t$2" + +#~ msgid "PID" +#~ msgstr "PID" + +#~ msgid "Server" +#~ msgstr "Διακομιστής" + +#~ msgid "Tabs Location" +#~ msgstr "Τοποθέτηση καρτελών" + +#~ msgid "Open an irc:// url" +#~ msgstr "Άνοιγμα συνδέσμου τύπου irc://" + +#~ msgid "irc://server:port/channel" +#~ msgstr "irc://διακομιστής:θύρα/κανάλι" + +#~ msgid "Execute a xchat command" +#~ msgstr "Εκτέλεση μιας εντολής του xchat" + +#~ msgid "\"Command to execute\"" +#~ msgstr "\"Εντολή προς εκτέλεση\"" + +#~ msgid "Prints some text to the current tab/window" +#~ msgstr "Εμφανίζει κείμενο στην τρέχουσα καρτέλα/παράθυρο" + +#~ msgid "\"Text to print\"" +#~ msgstr "\"Κείμενο προς εμφάνιση\"" + +#~ msgid "server" +#~ msgstr "διακομιστής" + +#~ msgid "Get some informations from xchat" +#~ msgstr "Λήψη πληροφοριών από το xchat" + +#~ msgid "Get settings from xchat" +#~ msgstr "Λήψη ρυθμίσεων από το xchat" + +#~ msgid "name" +#~ msgstr "όνομα" + +#~ msgid "" +#~ "xchat-remote: %s\n" +#~ "Try `xchat-remote --help' for more information\n" +#~ msgstr "" +#~ "xchat-remote: %s\n" +#~ "Δοκιμάστε `xchat-remote --help' για περισσότερες πληροφορίες\n" + +#~ msgid "Failed to complete SetContext" +#~ msgstr "Η εκτέλεση της εντολής SetContext απέτυχε" + +#~ msgid "Failed to complete print" +#~ msgstr "Η εκτύπωση απέτυχε" + +#~ msgid "Failed to complete GetInfo" +#~ msgstr "Η εκτέλεση της εντολής GetInfo απέτυχε" + +#~ msgid "Failed to complete GetPrefs" +#~ msgstr "Η εκτέλεση της εντολής GetPrefs απέτυχε" + +#~ msgid "%s doesn't exist\n" +#~ msgstr "Το %s δεν υπάρχει\n" + +#~ msgid "France, Metropolitan" +#~ msgstr "Γαλλία, Μητροπολιτική" + +#~ msgid "Neutral Zone" +#~ msgstr "Ουδέτερη Ζώνη" + +#~ msgid "From:" +#~ msgstr "Από:" + +#~ msgid "To:" +#~ msgstr "Προς:" + +#~ msgid "Size:" +#~ msgstr "Μέγεθος:" + +#~ msgid "MIME Type" +#~ msgstr "Τύπος MIME" + +#~ msgid "Settings saved." +#~ msgstr "Αποθήκευση ρυθμίσεων" + +#~ msgid "Save rawlog" +#~ msgstr "Αποθήκευση ωμής καταγραφής" + +#~ msgid "Save rawlog..." +#~ msgstr "Αποθήκευση ωμής καταγραφής..." + +#~ msgid "XChat: Server List" +#~ msgstr "XChat: Λίστα διακομιστών" + +#~ msgid "Completes nick names without using the TAB key" +#~ msgstr "Συμπληρώνει τα ψευδώνυμα χωρίς τη χρήση του πλήκτρου TAB" + +#~ msgid "Input Box Appearance" +#~ msgstr "Εμφάνιση πλαισίου εισαγωγής" + +#~ msgid "Convert spaces to underscore before sending" +#~ msgstr "Μετάφραση των κενών σε κάτω παύλες πριν την αποστολή" + +#~ msgid "(See strftime manpage for details)." +#~ msgstr "(Δείτε τη καρτέλα man του strftime για λεπτομέρειες)." diff --git a/po/en_GB.po b/po/en_GB.po new file mode 100644 index 00000000..13b129c9 --- /dev/null +++ b/po/en_GB.po @@ -0,0 +1,4775 @@ +# English (British) translation for xchat +# Copyright (C) 2004 Free Software Foundation, Inc. +# Gareth Owen <gowen72@yahoo.com>, 2004 +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.0.8pre1\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2004-03-14 16:11+1100\n" +"PO-Revision-Date: 2004-04-20 12:14-0400\n" +"Last-Translator: Gareth Owen <gowen72@yahoo.com>\n" +"Language-Team: English (British) <en_gb@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/common/cfgfiles.c:342 +msgid "Cannot create ~/.xchat2" +msgstr "Cannot create ~/.xchat2" + +#: src/common/cfgfiles.c:639 +msgid "I'm busy" +msgstr "I'm busy" + +#: src/common/cfgfiles.c:640 +msgid "Leaving" +msgstr "Leaving" + +#: src/common/cfgfiles.c:684 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" + +#: src/common/dcc.c:60 +msgid "Waiting" +msgstr "Waiting" + +#: src/common/dcc.c:61 +msgid "Active" +msgstr "Active" + +#: src/common/dcc.c:62 +msgid "Failed" +msgstr "Failed" + +#: src/common/dcc.c:63 +msgid "Done" +msgstr "Done" + +#: src/common/dcc.c:64 +msgid "Connect" +msgstr "Connect" + +#: src/common/dcc.c:65 +msgid "Aborted" +msgstr "Aborted" + +#: src/common/dcc.c:1254 +#, c-format +msgid "Cannot access %s\n" +msgstr "Cannot access %s\n" + +#: src/common/dcc.c:1849 +msgid "No active DCCs\n" +msgstr "No active DCCs\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "YES " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "NO " + +#: src/common/ignore.c:373 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "You are being CTCP flooded from %s, ignoring %s\n" + +#: src/common/ignore.c:398 +#, c-format +msgid "You are being MSG flooded from %s, setting autodialog OFF.\n" +msgstr "You are being MSG flooded from %s, setting autodialogue OFF.\n" + +#: src/common/notify.c:400 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s online\n" + +#: src/common/notify.c:402 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s offline\n" + +#: src/common/outbound.c:70 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "No channel joined. Try /join #<channel>\n" + +#: src/common/outbound.c:76 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Not connected. Try /server <host> [<port>]\n" + +#: src/common/outbound.c:1356 +msgid "I need /bin/sh to run!\n" +msgstr "I need /bin/sh to run!\n" + +#: src/common/outbound.c:1597 +msgid "" +"\n" +"Commands Available:\n" +"\n" +" " +msgstr "" +"\n" +"Commands Available:\n" +"\n" +" " + +#: src/common/outbound.c:1632 +msgid "" +"\n" +"\n" +"Type /HELP <command> for more information, or /HELP -l\n" +"\n" +msgstr "" +"\n" +"\n" +"Type /HELP <command> for more information, or /HELP -l\n" +"\n" + +#: src/common/outbound.c:1633 +msgid "" +"User defined commands:\n" +"\n" +" " +msgstr "" +"User defined commands:\n" +"\n" +" " + +#: src/common/outbound.c:1725 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Unknown arg '%s' ignored." + +#: src/common/outbound.c:2435 +msgid "No such plugin found.\n" +msgstr "No such plugin found.\n" + +#: src/common/outbound.c:2440 src/fe-gtk/plugingui.c:182 +msgid "That plugin is refusing to unload.\n" +msgstr "That plugin is refusing to unload.\n" + +#: src/common/outbound.c:2585 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <name> <action>, adds a button under the user-list" + +#: src/common/outbound.c:2587 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, sends a command to all channels you're in" + +#: src/common/outbound.c:2589 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, sends a command to all servers you're in" + +#: src/common/outbound.c:2590 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<reason>], sets you away" + +#: src/common/outbound.c:2592 +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> [<bantype>], bans everyone matching the mask from the current channel. If they are already on the channel this doesn't kick them (needs chanop)" + +#: src/common/outbound.c:2594 +msgid "CLEAR, Clears the current text window" +msgstr "CLEAR, Clears the current text window" + +#: src/common/outbound.c:2595 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, Closes the current window/tab" + +#: src/common/outbound.c:2598 +msgid "COUNTRY <code>, finds a country code, eg: au = australia" +msgstr "COUNTRY <code>, finds a country code, eg: au = australia" + +#: src/common/outbound.c:2600 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" + +#: src/common/outbound.c:2602 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "CYCLE, parts current channel and immediately rejoins" + +#: src/common/outbound.c:2604 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:2614 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" + +#: src/common/outbound.c:2616 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <name>, deletes a button from under the user-list" + +#: src/common/outbound.c:2618 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" + +#: src/common/outbound.c:2620 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" + +#: src/common/outbound.c:2621 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Disconnects from server" + +#: src/common/outbound.c:2622 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <nick|host|ip>, Finds a users IP number" + +#: src/common/outbound.c:2623 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, Prints text locally" + +#: src/common/outbound.c:2626 +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] <command>, runs the command. If -o flag is used then output is sent to current channel, else is printed to current text box" + +#: src/common/outbound.c:2628 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, sends the process SIGCONT" + +#: src/common/outbound.c:2631 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" + +#: src/common/outbound.c:2633 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, sends the process SIGSTOP" + +#: src/common/outbound.c:2634 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, sends data to the processes stdin" + +#: src/common/outbound.c:2638 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, flushes the current server's send queue" + +#: src/common/outbound.c:2640 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>], proxies through a host, port defaults to 23" + +#: src/common/outbound.c:2646 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" + +#: src/common/outbound.c:2648 +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 <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" + +#: src/common/outbound.c:2655 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" + +#: src/common/outbound.c:2656 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <channel>, joins the channel" + +#: src/common/outbound.c:2658 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <nick>, kicks the nick from the current channel (needs chanop)" + +#: src/common/outbound.c:2660 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" + +#: src/common/outbound.c:2663 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, forces a new lag check" + +#: src/common/outbound.c:2665 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <string>, searches for a string in the buffer" + +#: src/common/outbound.c:2667 +msgid "LOAD <file>, loads a plugin or script" +msgstr "LOAD <file>, loads a plugin or script" + +#: src/common/outbound.c:2670 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" + +#: src/common/outbound.c:2672 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" + +#: src/common/outbound.c:2674 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" + +#: src/common/outbound.c:2676 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" + +#: src/common/outbound.c:2678 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Mass op's all users in the current channel (needs chanop)" + +#: src/common/outbound.c:2679 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <nick> <message>, sends a private message" + +#: src/common/outbound.c:2682 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, Lists the nicks on the current channel" + +#: src/common/outbound.c:2684 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <message>, Sends a CTCP notice" + +#: src/common/outbound.c:2685 +msgid "NEWSERVER <hostname> [<port>]" +msgstr "NEWSERVER <hostname> [<port>]" + +#: src/common/outbound.c:2686 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nickname>, sets your nick" + +#: src/common/outbound.c:2689 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" + +#: src/common/outbound.c:2691 +msgid "NOTIFY [<nick>], lists your notify list or adds someone to it" +msgstr "NOTIFY [<nick>], lists your notify list or adds someone to it" + +#: src/common/outbound.c:2693 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>, gives chanop status to the nick (needs chanop)" + +#: src/common/outbound.c:2695 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<channel>] [<reason>], leaves the channel, by default the current one" + +#: src/common/outbound.c:2697 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | channel>, CTCP pings nick or channel" + +#: src/common/outbound.c:2699 +msgid "QUERY <nick>, opens up a new privmsg window to someone" +msgstr "QUERY <nick>, opens up a new privmsg window to someone" + +#: src/common/outbound.c:2701 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reason>], disconnects from the current server" + +#: src/common/outbound.c:2703 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <text>, sends the text in raw form to the server" + +#: src/common/outbound.c:2706 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" + +#: src/common/outbound.c:2709 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" + +#: src/common/outbound.c:2711 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <text>, send raw data to xchat, as if it was received from the irc server" + +#: src/common/outbound.c:2714 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>, sends the text to the object in the current window" + +#: src/common/outbound.c:2717 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" + +#: src/common/outbound.c:2720 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <channel>, connects and joins a channel" + +#: src/common/outbound.c:2724 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" + +#: src/common/outbound.c:2727 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" + +#: src/common/outbound.c:2729 +msgid "SET <variable> [<value>]" +msgstr "SET <variable> [<value>]" + +#: src/common/outbound.c:2732 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" + +#: src/common/outbound.c:2734 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], unbans the specified masks." + +#: src/common/outbound.c:2735 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:2736 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <name>, unloads a plugin or script" + +#: src/common/outbound.c:2739 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>, gives voice status to someone (needs chanop)" + +#: src/common/outbound.c:2741 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <message>, writes the message to all channels" + +#: src/common/outbound.c:2743 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <message>, sends the message to all chanops on the current channel" + +#: src/common/outbound.c:2776 +#, c-format +msgid "Usage: %s\n" +msgstr "Usage: %s\n" + +#: src/common/outbound.c:2781 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"No help available on that command.\n" + +#: src/common/outbound.c:2787 +msgid "No such command.\n" +msgstr "No such command.\n" + +#: src/common/outbound.c:3111 +msgid "Bad arguments for user command.\n" +msgstr "Bad arguments for user command.\n" + +#: src/common/outbound.c:3275 +msgid "Too many recursive usercommands, aborting." +msgstr "Too many recursive user commands, aborting." + +#: src/common/outbound.c:3348 +msgid "Unknown Command. Try /help\n" +msgstr "Unknown Command. Try /help\n" + +#: src/common/plugin.c:353 src/common/plugin.c:383 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "No xchat_plugin_init symbol; is this really an xchat plugin?" + +#: src/common/server.c:888 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" + +#: src/common/server.c:893 +msgid "Proxy traversal failed.\n" +msgstr "Proxy traversal failed.\n" + +#: src/common/servlist.c:633 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Cycling to next server in %s...\n" + +#: src/common/servlist.c:973 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." + +#: src/common/textevents.h:6 +msgid "-%C10-%C11-%O$t$1 added to notify list." +msgstr "-%C10-%C11-%O$t$1 added to notify list." + +#: src/common/textevents.h:9 +msgid "-%C10-%C11-%O$t$1 Banlist: %C3$4 %C4$2 %C5$3%O" +msgstr "-%C10-%C11-%O$t$1 Banlist: %C3$4 %C4$2 %C5$3%O" + +#: src/common/textevents.h:12 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(You are banned)." +msgstr "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(You are banned)." + +#: src/common/textevents.h:15 +msgid "-%C10-%C11-%O$t$1 is now known as $2" +msgstr "-%C10-%C11-%O$t$1 is now known as $2" + +#: src/common/textevents.h:18 +msgid "%C13*%O$t$1%O $2%O" +msgstr "%C13*%O$t$1%O $2%O" + +#: src/common/textevents.h:21 +msgid "%C13*%O$t%C8%B$1%B%O $2%O" +msgstr "%C13*%O$t%C8%B$1%B%O $2%O" + +#: src/common/textevents.h:24 +msgid "-%C10-%C11-%O$t$1 sets ban on $2" +msgstr "-%C10-%C11-%O$t$1 sets ban on $2" + +#: src/common/textevents.h:27 +msgid "-%C10-%C11-%O$tChannel $1 created on $2" +msgstr "-%C10-%C11-%O$tChannel $1 created on $2" + +#: src/common/textevents.h:30 +msgid "-%C10-%C11-%O$t%C11$1%O removes channel half-operator status from %C11$2" +msgstr "-%C10-%C11-%O$t%C11$1%O removes channel half-operator status from %C11$2" + +#: src/common/textevents.h:33 +msgid "-%C10-%C11-%O$t%C11$1%O removes channel operator status from %C11$2" +msgstr "-%C10-%C11-%O$t%C11$1%O removes channel operator status from %C11$2" + +#: src/common/textevents.h:36 +msgid "-%C10-%C11-%O$t%C11$1%O removes voice from %C11$2" +msgstr "-%C10-%C11-%O$t%C11$1%O removes voice from %C11$2" + +#: src/common/textevents.h:39 +msgid "-%C10-%C11-%O$t$1 sets exempt on $2" +msgstr "-%C10-%C11-%O$t$1 sets exempt on $2" + +#: src/common/textevents.h:42 +msgid "-%C10-%C11-%O$t%C11$1%O gives channel half-operator status to %C11$2" +msgstr "-%C10-%C11-%O$t%C11$1%O gives channel half-operator status to %C11$2" + +#: src/common/textevents.h:45 +msgid "-%C10-%C11-%O$t$1 sets invite on $2" +msgstr "-%C10-%C11-%O$t$1 sets invite on $2" + +#: src/common/textevents.h:48 +msgid "%UChannel Users Topic%O" +msgstr "%UChannel Users Topic%O" + +#: src/common/textevents.h:51 src/common/textevents.h:297 +msgid "%C2<%O$1%C2>%O$t$2%O" +msgstr "%C2<%O$1%C2>%O$t$2%O" + +#: src/common/textevents.h:54 +msgid "-%C10-%C11-%O$t$1 sets mode $2$3 $4" +msgstr "-%C10-%C11-%O$t$1 sets mode $2$3 $4" + +#: src/common/textevents.h:57 +msgid "-%C10-%C11-%O$tChannel $1 modes: $2" +msgstr "-%C10-%C11-%O$tChannel $1 modes: $2" + +#: src/common/textevents.h:60 +msgid "%C2<%C8%B$1%B%C2>%O$t$2%O" +msgstr "%C2<%C8%B$1%B%C2>%O$t$2%O" + +#: src/common/textevents.h:63 +msgid "%C12-%C13$1/$2%C12-%O$t$3%O" +msgstr "%C12-%C13$1/$2%C12-%O$t$3%O" + +#: src/common/textevents.h:66 +msgid "-%C10-%C11-%O$t%C11$1%O gives channel operator status to %C11$2" +msgstr "-%C10-%C11-%O$t%C11$1%O gives channel operator status to %C11$2" + +#: src/common/textevents.h:69 +msgid "-%C10-%C11-%O$t$1 removes exempt on $2" +msgstr "-%C10-%C11-%O$t$1 removes exempt on $2" + +#: src/common/textevents.h:72 +msgid "-%C10-%C11-%O$t$1 removes invite on $2" +msgstr "-%C10-%C11-%O$t$1 removes invite on $2" + +#: src/common/textevents.h:75 +msgid "-%C10-%C11-%O$t$1 removes channel keyword" +msgstr "-%C10-%C11-%O$t$1 removes channel keyword" + +#: src/common/textevents.h:78 +msgid "-%C10-%C11-%O$t$1 removes user limit" +msgstr "-%C10-%C11-%O$t$1 removes user limit" + +#: src/common/textevents.h:81 +msgid "-%C10-%C11-%O$t$1 sets channel keyword to $2" +msgstr "-%C10-%C11-%O$t$1 sets channel keyword to $2" + +#: src/common/textevents.h:84 +msgid "-%C10-%C11-%O$t$1 sets channel limit to $2" +msgstr "-%C10-%C11-%O$t$1 sets channel limit to $2" + +#: src/common/textevents.h:87 +msgid "-%C10-%C11-%O$t$1 removes ban on $2" +msgstr "-%C10-%C11-%O$t$1 removes ban on $2" + +#: src/common/textevents.h:90 +msgid "-%C10-%C11-%O$t%C11$1%O gives voice to %C11$2" +msgstr "-%C10-%C11-%O$t%C11$1%O gives voice to %C11$2" + +#: src/common/textevents.h:93 +msgid "-%C10-%C11-%O$tConnected. Now logging in.." +msgstr "-%C10-%C11-%O$tConnected. Now logging in.." + +#: src/common/textevents.h:96 +msgid "-%C10-%C11-%O$tConnecting to %C11$1 %C14(%C11$2%C14)%C port %C11$3%C.." +msgstr "-%C10-%C11-%O$tConnecting to %C11$1 %C14(%C11$2%C14)%C port %C11$3%C.." + +#: src/common/textevents.h:99 +msgid "-%C10-%C11-%O$tConnection failed. Error: $1" +msgstr "-%C10-%C11-%O$tConnection failed. Error: $1" + +#: src/common/textevents.h:102 +msgid "-%C10-%C11-%O$tReceived a CTCP $1 from $2" +msgstr "-%C10-%C11-%O$tReceived a CTCP $1 from $2" + +#: src/common/textevents.h:105 +msgid "-%C10-%C11-%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "-%C10-%C11-%O$tReceived a CTCP $1 from $2 (to $3)" + +#: src/common/textevents.h:108 +msgid "%C3>%O$1%C3<%O$tCTCP $2%O" +msgstr "%C3>%O$1%C3<%O$tCTCP $2%O" + +#: src/common/textevents.h:111 +msgid "-%C10-%C11-%O$tReceived a CTCP Sound $1 from $2" +msgstr "-%C10-%C11-%O$tReceived a CTCP Sound $1 from $2" + +#: src/common/textevents.h:114 +msgid "-%C10-%C11-%O$tDCC CHAT to %C11$1%O aborted." +msgstr "-%C10-%C11-%O$tDCC CHAT to %C11$1%O aborted." + +#: src/common/textevents.h:117 +msgid "-%C10-%C11-%O$tDCC CHAT connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "-%C10-%C11-%O$tDCC CHAT connection established to %C11$1 %C14[%O$2%C14]%O" + +#: src/common/textevents.h:120 +msgid "-%C10-%C11-%O$tDCC CHAT to %C11$1%O lost. $4." +msgstr "-%C10-%C11-%O$tDCC CHAT to %C11$1%O lost. $4." + +#: src/common/textevents.h:123 +msgid "-%C10-%C11-%O$tReceived a DCC CHAT offer from $1" +msgstr "-%C10-%C11-%O$tReceived a DCC CHAT offer from $1" + +#: src/common/textevents.h:126 +msgid "-%C10-%C11-%O$tOffering DCC CHAT to $1" +msgstr "-%C10-%C11-%O$tOffering DCC CHAT to $1" + +#: src/common/textevents.h:129 +msgid "-%C10-%C11-%O$tAlready offering CHAT to $1" +msgstr "-%C10-%C11-%O$tAlready offering CHAT to $1" + +#: src/common/textevents.h:132 +msgid "-%C10-%C11-%O$tDCC $1 connect attempt to %C11$2%O failed (err=$3)." +msgstr "-%C10-%C11-%O$tDCC $1 connect attempt to %C11$2%O failed (err=$3)." + +#: src/common/textevents.h:135 +msgid "-%C10-%C11-%O$tReceived '$1%O' from $2" +msgstr "-%C10-%C11-%O$tReceived '$1%O' from $2" + +#: src/common/textevents.h:138 +msgid "%C8,2 Type To/From Status Size Pos File %O%010%B%C9----------------------------------------------------%O" +msgstr "%C8,2 Type To/From Status Size Pos File %O%010%B%C9----------------------------------------------------%O" + +#: src/common/textevents.h:141 +msgid "-%C10-%C11-%O$tReceived a malformed DCC request from %C11$1%O.%010-%C10-%C11-%O$tContents of packet: $2" +msgstr "-%C10-%C11-%O$tReceived a malformed DCC request from %C11$1%O.%010-%C10-%C11-%O$tContents of packet: $2" + +#: src/common/textevents.h:144 +msgid "-%C10-%C11-%O$tOffering %C11$1 %Cto %C11$2%O" +msgstr "-%C10-%C11-%O$tOffering %C11$1 %Cto %C11$2%O" + +#: src/common/textevents.h:147 +msgid "-%C10-%C11-%O$tNo such DCC offer." +msgstr "-%C10-%C11-%O$tNo such DCC offer." + +#: src/common/textevents.h:150 +msgid "-%C10-%C11-%O$tDCC RECV %C11$2%O to %C11$1%O aborted." +msgstr "-%C10-%C11-%O$tDCC RECV %C11$2%O to %C11$1%O aborted." + +#: src/common/textevents.h:153 +msgid "-%C10-%C11-%O$tDCC RECV %C11$1%O from %C11$3%O complete %C14[%C11$4%O cps%C14]%O." +msgstr "-%C10-%C11-%O$tDCC RECV %C11$1%O from %C11$3%O complete %C14[%C11$4%O cps%C14]%O." + +#: src/common/textevents.h:156 +msgid "-%C10-%C11-%O$tDCC RECV connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "-%C10-%C11-%O$tDCC RECV connection established to %C11$1 %C14[%O$2%C14]%O" + +#: src/common/textevents.h:159 +msgid "-%C10-%C11-%O$tDCC RECV %C11$1%O from %C11$3%O failed. $4." +msgstr "-%C10-%C11-%O$tDCC RECV %C11$1%O from %C11$3%O failed. $4." + +#: src/common/textevents.h:162 +msgid "-%C10-%C11-%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "-%C10-%C11-%O$tDCC RECV: Cannot open $1 for writing ($2)." + +#: src/common/textevents.h:165 +msgid "-%C10-%C11-%O$tThe file %C11$1%C already exists, saving it as %C11$2%O instead." +msgstr "-%C10-%C11-%O$tThe file %C11$1%C already exists, saving it as %C11$2%O instead." + +#: src/common/textevents.h:168 +msgid "-%C10-%C11-%O$t%C11$1 %Chas requested to resume %C11$2 %Cfrom %C11$3%C." +msgstr "-%C10-%C11-%O$t%C11$1 %Chas requested to resume %C11$2 %Cfrom %C11$3%C." + +#: src/common/textevents.h:171 +msgid "-%C10-%C11-%O$tDCC SEND %C11$2%O to %C11$1%O aborted." +msgstr "-%C10-%C11-%O$tDCC SEND %C11$2%O to %C11$1%O aborted." + +#: src/common/textevents.h:174 +msgid "-%C10-%C11-%O$tDCC SEND %C11$1%O to %C11$2%O complete %C14[%C11$3%O cps%C14]%O." +msgstr "-%C10-%C11-%O$tDCC SEND %C11$1%O to %C11$2%O complete %C14[%C11$3%O cps%C14]%O." + +#: src/common/textevents.h:177 +msgid "-%C10-%C11-%O$tDCC SEND connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "-%C10-%C11-%O$tDCC SEND connection established to %C11$1 %C14[%O$2%C14]%O" + +#: src/common/textevents.h:180 +msgid "-%C10-%C11-%O$tDCC SEND %C11$1%O to %C11$2%O failed. $3" +msgstr "-%C10-%C11-%O$tDCC SEND %C11$1%O to %C11$2%O failed. $3" + +#: src/common/textevents.h:183 +msgid "-%C10-%C11-%O$t%C11$1 %Chas offered %C11$2 %C(%C11$3 %Cbytes)" +msgstr "-%C10-%C11-%O$t%C11$1 %Chas offered %C11$2 %C(%C11$3 %Cbytes)" + +#: src/common/textevents.h:186 +msgid "-%C10-%C11-%O$tDCC $1 %C11$2 %Cto %C11$3 %Cstalled - aborting." +msgstr "-%C10-%C11-%O$tDCC $1 %C11$2 %Cto %C11$3 %Cstalled - aborting." + +#: src/common/textevents.h:189 +msgid "-%C10-%C11-%O$tDCC $1 %C11$2 %Cto %C11$3 %Ctimed out - aborting." +msgstr "-%C10-%C11-%O$tDCC $1 %C11$2 %Cto %C11$3 %Ctimed out - aborting." + +#: src/common/textevents.h:192 +msgid "-%C10-%C11-%O$t$1 deleted from notify list." +msgstr "-%C10-%C11-%O$t$1 deleted from notify list." + +#: src/common/textevents.h:195 +msgid "-%C10-%C11-%O$tDisconnected ($1)." +msgstr "-%C10-%C11-%O$tDisconnected ($1)." + +#: src/common/textevents.h:198 +msgid "-%C10-%C11-%O$tFound your IP: [$1]" +msgstr "-%C10-%C11-%O$tFound your IP: [$1]" + +#: src/common/textevents.h:201 +msgid "$1$t$2" +msgstr "$1$t$2" + +#: src/common/textevents.h:204 +msgid "%O%C11$1%O added to ignore list." +msgstr "%O%C11$1%O added to ignore list." + +#: src/common/textevents.h:207 +msgid "Ignore on %C11$1%O changed." +msgstr "Ignore on %C11$1%O changed." + +#: src/common/textevents.h:210 +msgid "%C08,02 %O" +msgstr "%C08,02 %O" + +#: src/common/textevents.h:213 +msgid "%C08,02 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG %O" +msgstr "%C08,02 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG %O" + +#: src/common/textevents.h:216 +msgid "%O%C11$1%O removed from ignore list." +msgstr "%O%C11$1%O removed from ignore list." + +#: src/common/textevents.h:219 +msgid " Ignore list is empty." +msgstr " Ignore list is empty." + +#: src/common/textevents.h:222 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(Channel is invite only)." +msgstr "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(Channel is invite only)." + +#: src/common/textevents.h:225 +msgid "-%C10-%C11-%O$tYou have been invited to %C11$1%C by %C11$2%C (%C11$3%C)" +msgstr "-%C10-%C11-%O$tYou have been invited to %C11$1%C by %C11$2%C (%C11$3%C)" + +#: src/common/textevents.h:228 +msgid "-%C10-%C11>%O$t%B$1%B %C14(%C10$3%C14)%C has joined $2" +msgstr "-%C10-%C11>%O$t%B$1%B %C14(%C10$3%C14)%C has joined $2" + +#: src/common/textevents.h:231 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(Requires keyword)." +msgstr "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(Requires keyword)." + +#: src/common/textevents.h:234 +msgid "<%C10-%C11-%O$t$1 has kicked $2 from $3 ($4%O)" +msgstr "<%C10-%C11-%O$t$1 has kicked $2 from $3 ($4%O)" + +#: src/common/textevents.h:237 +msgid "-%C10-%C11-%O$tYou have been killed by $1 ($2%O)" +msgstr "-%C10-%C11-%O$tYou have been killed by $1 ($2%O)" + +#: src/common/textevents.h:240 src/common/textevents.h:264 +msgid "%C3>%O$1%C3<%O$t$2%O" +msgstr "%C3>%O$1%C3<%O$t$2%O" + +#: src/common/textevents.h:243 src/common/textevents.h:318 +#: src/common/textevents.h:324 src/common/textevents.h:327 +msgid "-%C10-%C11-%O$t$1%O" +msgstr "-%C10-%C11-%O$t$1%O" + +#: src/common/textevents.h:246 +msgid "-%C10-%C11-%O$tMOTD Skipped." +msgstr "-%C10-%C11-%O$tMOTD Skipped." + +#: src/common/textevents.h:249 +msgid "-%C10-%C11-%O$t$1 already in use. Retrying with $2.." +msgstr "-%C10-%C11-%O$t$1 already in use. Retrying with $2.." + +#: src/common/textevents.h:252 +msgid "-%C10-%C11-%O$tNickname already in use. Use /NICK to try another." +msgstr "-%C10-%C11-%O$tNickname already in use. Use /NICK to try another." + +#: src/common/textevents.h:255 +msgid "-%C10-%C11-%O$tNo such DCC." +msgstr "-%C10-%C11-%O$tNo such DCC." + +#: src/common/textevents.h:258 +msgid "-%C10-%C11-%O$tNo process is currently running" +msgstr "-%C10-%C11-%O$tNo process is currently running" + +#: src/common/textevents.h:261 +msgid "%C12-%C13$1%C12-%O$t$2%O" +msgstr "%C12-%C13$1%C12-%O$t$2%O" + +#: src/common/textevents.h:267 +msgid "-%C10-%C11-%O$tNotify list is empty." +msgstr "-%C10-%C11-%O$tNotify list is empty." + +#: src/common/textevents.h:270 +msgid "%C08,02 %B-- Notify List --------------- %O" +msgstr "%C08,02 %B-- Notify List --------------- %O" + +#: src/common/textevents.h:273 +msgid "-%C10-%C11-%O$t$1 users in notify list." +msgstr "-%C10-%C11-%O$t$1 users in notify list." + +#: src/common/textevents.h:276 +msgid "-%C10-%C11-%O$tNotify: $1 is offline ($2)." +msgstr "-%C10-%C11-%O$tNotify: $1 is offline ($2)." + +#: src/common/textevents.h:279 +msgid "-%C10-%C11-%O$tNotify: $1 is online ($2)." +msgstr "-%C10-%C11-%O$tNotify: $1 is online ($2)." + +#: src/common/textevents.h:282 +msgid "<%C10-%C11-%O$t$1 %C14(%O$2%C14)%C has left $3" +msgstr "<%C10-%C11-%O$t$1 %C14(%O$2%C14)%C has left $3" + +#: src/common/textevents.h:285 +msgid "<%C10-%C11-%O$t$1 %C14(%O$2%C14)%C has left $3 %C14(%O$4%C14)%O" +msgstr "<%C10-%C11-%O$t$1 %C14(%O$2%C14)%C has left $3 %C14(%O$4%C14)%O" + +#: src/common/textevents.h:288 +msgid "-%C10-%C11-%O$tPing reply from $1 : $2 second(s)" +msgstr "-%C10-%C11-%O$tPing reply from $1 : $2 second(s)" + +#: src/common/textevents.h:291 +msgid "-%C10-%C11-%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "-%C10-%C11-%O$tNo ping reply for $1 seconds, disconnecting." + +#: src/common/textevents.h:294 +msgid "%C12*%C13$1%C12*$t%O$2%O" +msgstr "%C12*%C13$1%C12*$t%O$2%O" + +#: src/common/textevents.h:300 +msgid "-%C10-%C11-%O$tA process is already running" +msgstr "-%C10-%C11-%O$tA process is already running" + +#: src/common/textevents.h:303 +msgid "<%C10-%C11-%O$t$1 has quit %C14(%O$2%O%C14)%O" +msgstr "<%C10-%C11-%O$t$1 has quit %C14(%O$2%O%C14)%O" + +#: src/common/textevents.h:306 +msgid "-%C10-%C11-%O$t$1 sets modes%B %C14[%O$2%B%C14]%O" +msgstr "-%C10-%C11-%O$t$1 sets modes%B %C14[%O$2%B%C14]%O" + +#: src/common/textevents.h:309 +msgid "%C12-%C13$1/Wallops%C12-%O$t$2%O" +msgstr "%C12-%C13$1/Wallops%C12-%O$t$2%O" + +#: src/common/textevents.h:312 +msgid "-%C10-%C11-%O$tLooking up IP number for%C11 $1%O.." +msgstr "-%C10-%C11-%O$tLooking up IP number for%C11 $1%O.." + +#: src/common/textevents.h:315 +msgid "-%C10-%C11-%O$tConnected." +msgstr "-%C10-%C11-%O$tConnected." + +#: src/common/textevents.h:321 +msgid "-%C10-%C11-%O$tLooking up %C11$1%C.." +msgstr "-%C10-%C11-%O$tLooking up %C11$1%C.." + +#: src/common/textevents.h:330 +msgid "-%C10-%C11-%O$tStopped previous connection attempt (pid=$1)" +msgstr "-%C10-%C11-%O$tStopped previous connection attempt (pid=$1)" + +#: src/common/textevents.h:333 +msgid "-%C10-%C11-%O$tTopic for %C11$1%C is %C11$2%O" +msgstr "-%C10-%C11-%O$tTopic for %C11$1%C is %C11$2%O" + +#: src/common/textevents.h:336 +msgid "-%C10-%C11-%O$tTopic for %C11$1%C set by %C11$2%C at %C11$3%O" +msgstr "-%C10-%C11-%O$tTopic for %C11$1%C set by %C11$2%C at %C11$3%O" + +#: src/common/textevents.h:339 +msgid "-%C10-%C11-%O$t$1 has changed the topic to: $2%O" +msgstr "-%C10-%C11-%O$t$1 has changed the topic to: $2%O" + +#: src/common/textevents.h:342 +msgid "-%C10-%C11-%O$tUnknown host. Maybe you misspelled it?" +msgstr "-%C10-%C11-%O$tUnknown host. Maybe you misspelled it?" + +#: src/common/textevents.h:345 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(User limit reached)." +msgstr "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(User limit reached)." + +#: src/common/textevents.h:348 +msgid "-%C10-%C11-%O$t%C11Users on $1:%C $2" +msgstr "-%C10-%C11-%O$t%C11Users on $1:%C $2" + +#: src/common/textevents.h:351 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %Cis away %C14(%O$2%O%C14)" +msgstr "-%C10-%C11-%O$t%C12[%O$1%C12] %Cis away %C14(%O$2%O%C14)" + +#: src/common/textevents.h:354 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%C $2" +msgstr "-%C10-%C11-%O$t%C12[%O$1%C12]%C $2" + +#: src/common/textevents.h:357 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %CEnd of WHOIS list." +msgstr "-%C10-%C11-%O$t%C12[%O$1%C12] %CEnd of WHOIS list." + +#: src/common/textevents.h:360 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2" +msgstr "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2" + +#: src/common/textevents.h:363 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2 %C11$3%O" +msgstr "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2 %C11$3%O" + +#: src/common/textevents.h:366 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %Oreal user@host %C11$2%O, real IP %C11$3%O" +msgstr "-%C10-%C11-%O$t%C12[%O$1%C12] %Oreal user@host %C11$2%O, real IP %C11$3%O" + +#: src/common/textevents.h:369 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O idle %C11$2%O" +msgstr "-%C10-%C11-%O$t%C12[%O$1%C12]%O idle %C11$2%O" + +#: src/common/textevents.h:372 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O idle %C11$2%O, signon: %C11$3%O" +msgstr "-%C10-%C11-%O$t%C12[%O$1%C12]%O idle %C11$2%O, signon: %C11$3%O" + +#: src/common/textevents.h:375 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %C14(%O$2@$3%C14) %O: $4%O" +msgstr "-%C10-%C11-%O$t%C12[%O$1%C12] %C14(%O$2@$3%C14) %O: $4%O" + +#: src/common/textevents.h:378 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O $2" +msgstr "-%C10-%C11-%O$t%C12[%O$1%C12]%O $2" + +#: src/common/textevents.h:381 +msgid "-%C10-%C11>%O$t%BYou%B are now talking on %C11$2%O" +msgstr "-%C10-%C11>%O$t%BYou%B are now talking on %C11$2%O" + +#: src/common/textevents.h:384 +msgid "-%C10-%C11-%O$tYou have left channel $3" +msgstr "-%C10-%C11-%O$tYou have left channel $3" + +#: src/common/textevents.h:387 +msgid "-%C10-%C11-%O$tYou have left channel $3 %C14(%O$4%C14)%O" +msgstr "-%C10-%C11-%O$tYou have left channel $3 %C14(%O$4%C14)%O" + +#: src/common/textevents.h:390 +msgid "-%C10-%C11-%O$tYou have been kicked from $2 by $3 ($4%O)" +msgstr "-%C10-%C11-%O$tYou have been kicked from $2 by $3 ($4%O)" + +#: src/common/textevents.h:393 +msgid "-%C10-%C11-%O$tYou're inviting %C11$1%C to %C11$2%C (%C11$3%C)" +msgstr "-%C10-%C11-%O$tYou're inviting %C11$1%C to %C11$2%C (%C11$3%C)" + +#: src/common/textevents.h:396 +msgid "%C6<%O$1%C6>%O$t$2%O" +msgstr "%C6<%O$1%C6>%O$t$2%O" + +#: src/common/textevents.h:399 +msgid "-%C10-%C11-%O$tYou are now known as $2" +msgstr "-%C10-%C11-%O$tYou are now known as $2" + +#: src/common/text.c:304 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** ENDING LOGGING AT %s\n" + +#: src/common/text.c:421 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** BEGIN LOGGING AT %s\n" + +#: src/common/text.c:440 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" + +#: src/common/text.c:651 +msgid "Left message" +msgstr "Left message" + +#: src/common/text.c:652 +msgid "Right message" +msgstr "Right message" + +#: src/common/text.c:656 +msgid "The nick of the joining person" +msgstr "The nick of the joining person" + +#: src/common/text.c:657 +msgid "The channel being joined" +msgstr "The channel being joined" + +#: src/common/text.c:658 src/common/text.c:702 src/common/text.c:758 +msgid "The host of the person" +msgstr "The host of the person" + +#: src/common/text.c:662 src/common/text.c:667 src/common/text.c:673 +#: src/common/text.c:740 src/common/text.c:864 src/common/text.c:871 +#: src/common/text.c:876 src/common/text.c:881 src/common/text.c:886 +#: src/common/text.c:892 src/common/text.c:897 src/common/text.c:901 +#: src/common/text.c:906 src/common/text.c:912 src/common/text.c:958 +#: src/common/text.c:967 src/common/text.c:972 src/common/text.c:977 +#: src/common/text.c:986 src/common/text.c:997 src/common/text.c:1004 +#: src/common/text.c:1010 src/common/text.c:1015 src/common/text.c:1020 +#: src/common/text.c:1027 src/common/text.c:1033 src/common/text.c:1039 +#: src/common/text.c:1044 src/common/text.c:1049 src/common/text.c:1053 +#: src/common/text.c:1059 src/common/text.c:1067 src/common/text.c:1101 +#: src/common/text.c:1106 +msgid "Nickname" +msgstr "Nickname" + +#: src/common/text.c:663 +msgid "The action" +msgstr "The action" + +#: src/common/text.c:668 +msgid "The text" +msgstr "The text" + +#: src/common/text.c:669 +msgid "Mode char" +msgstr "Mode char" + +#: src/common/text.c:674 src/common/text.c:730 src/common/text.c:736 +#: src/common/text.c:741 +msgid "The message" +msgstr "The message" + +#: src/common/text.c:678 src/common/text.c:745 +msgid "Old nickname" +msgstr "Old nickname" + +#: src/common/text.c:679 src/common/text.c:746 +msgid "New nickname" +msgstr "New nickname" + +#: src/common/text.c:683 +msgid "Nick of person who changed the topic" +msgstr "Nick of person who changed the topic" + +#: src/common/text.c:684 src/common/text.c:690 src/fe-gtk/chanlist.c:599 +#: src/fe-gtk/chanlist.c:700 +msgid "Topic" +msgstr "Topic" + +#: src/common/text.c:685 src/common/text.c:689 src/common/text.c:1121 +#: src/fe-gtk/chanlist.c:597 src/fe-gtk/chanlist.c:691 +#: src/fe-gtk/ignoregui.c:175 +msgid "Channel" +msgstr "Channel" + +#: src/common/text.c:694 src/common/text.c:752 +msgid "The nickname of the kicker" +msgstr "The nickname of the kicker" + +#: src/common/text.c:695 src/common/text.c:750 +msgid "The person being kicked" +msgstr "The person being kicked" + +#: src/common/text.c:696 src/common/text.c:703 src/common/text.c:707 +#: src/common/text.c:712 src/common/text.c:751 src/common/text.c:759 +msgid "The channel" +msgstr "The channel" + +#: src/common/text.c:697 src/common/text.c:753 src/common/text.c:760 +msgid "The reason" +msgstr "The reason" + +#: src/common/text.c:701 src/common/text.c:757 +msgid "The nick of the person leaving" +msgstr "The nick of the person leaving" + +#: src/common/text.c:708 src/common/text.c:714 +msgid "The time" +msgstr "The time" + +#: src/common/text.c:713 +msgid "The creator" +msgstr "The creator" + +#: src/common/text.c:718 +msgid "Nick" +msgstr "Nick" + +#: src/common/text.c:719 src/common/text.c:973 +msgid "Reason" +msgstr "Reason" + +#: src/common/text.c:720 src/common/text.c:866 src/common/text.c:948 +msgid "Host" +msgstr "Host" + +#: src/common/text.c:724 src/common/text.c:729 src/common/text.c:734 +msgid "Who it's from" +msgstr "Who it's from" + +#: src/common/text.c:725 +msgid "The time in x.x format (see below)" +msgstr "The time in x.x format (see below)" + +#: src/common/text.c:735 src/common/text.c:776 +msgid "The Channel it's going to" +msgstr "The Channel it's going to" + +#: src/common/text.c:764 +msgid "The sound" +msgstr "The sound" + +#: src/common/text.c:765 src/common/text.c:770 src/common/text.c:775 +msgid "The nick of the person" +msgstr "The nick of the person" + +#: src/common/text.c:769 src/common/text.c:774 +msgid "The CTCP event" +msgstr "The CTCP event" + +#: src/common/text.c:780 +msgid "The nick of the person who set the key" +msgstr "The nick of the person who set the key" + +#: src/common/text.c:781 +msgid "The key" +msgstr "The key" + +#: src/common/text.c:785 +msgid "The nick of the person who set the limit" +msgstr "The nick of the person who set the limit" + +#: src/common/text.c:786 +msgid "The limit" +msgstr "The limit" + +#: src/common/text.c:790 +msgid "The nick of the person who did the op'ing" +msgstr "The nick of the person who did the op'ing" + +#: src/common/text.c:791 +msgid "The nick of the person who has been op'ed" +msgstr "The nick of the person who has been op'ed" + +#: src/common/text.c:795 +msgid "The nick of the person who has been halfop'ed" +msgstr "The nick of the person who has been halfop'ed" + +#: src/common/text.c:796 +msgid "The nick of the person who did the halfop'ing" +msgstr "The nick of the person who did the halfop'ing" + +#: src/common/text.c:800 +msgid "The nick of the person who did the voice'ing" +msgstr "The nick of the person who did the voice'ing" + +#: src/common/text.c:801 +msgid "The nick of the person who has been voice'ed" +msgstr "The nick of the person who has been voice'ed" + +#: src/common/text.c:805 +msgid "The nick of the person who did the banning" +msgstr "The nick of the person who did the banning" + +#: src/common/text.c:806 src/common/text.c:833 +msgid "The ban mask" +msgstr "The ban mask" + +#: src/common/text.c:810 +msgid "The nick who removed the key" +msgstr "The nick who removed the key" + +#: src/common/text.c:814 +msgid "The nick who removed the limit" +msgstr "The nick who removed the limit" + +#: src/common/text.c:818 +msgid "The nick of the person of did the deop'ing" +msgstr "The nick of the person of did the deop'ing" + +#: src/common/text.c:819 +msgid "The nick of the person who has been deop'ed" +msgstr "The nick of the person who has been deop'ed" + +#: src/common/text.c:822 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "The nick of the person of did the dehalfop'ing" + +#: src/common/text.c:823 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "The nick of the person who has been dehalfop'ed" + +#: src/common/text.c:827 +msgid "The nick of the person of did the devoice'ing" +msgstr "The nick of the person of did the devoice'ing" + +#: src/common/text.c:828 +msgid "The nick of the person who has been devoice'ed" +msgstr "The nick of the person who has been devoice'ed" + +#: src/common/text.c:832 +msgid "The nick of the person of did the unban'ing" +msgstr "The nick of the person of did the unban'ing" + +#: src/common/text.c:837 +msgid "The nick of the person who did the exempt" +msgstr "The nick of the person who did the exempt" + +#: src/common/text.c:838 src/common/text.c:843 +msgid "The exempt mask" +msgstr "The exempt mask" + +#: src/common/text.c:842 +msgid "The nick of the person removed the exempt" +msgstr "The nick of the person removed the exempt" + +#: src/common/text.c:847 +msgid "The nick of the person who did the invite" +msgstr "The nick of the person who did the invite" + +#: src/common/text.c:848 src/common/text.c:853 +msgid "The invite mask" +msgstr "The invite mask" + +#: src/common/text.c:852 +msgid "The nick of the person removed the invite" +msgstr "The nick of the person removed the invite" + +#: src/common/text.c:857 +msgid "The nick of the person setting the mode" +msgstr "The nick of the person setting the mode" + +#: src/common/text.c:858 +msgid "The mode's sign (+/-)" +msgstr "The mode's sign (+/-)" + +#: src/common/text.c:859 +msgid "The mode letter" +msgstr "The mode letter" + +#: src/common/text.c:860 +msgid "The channel it's being set on" +msgstr "The channel it's being set on" + +#: src/common/text.c:865 +msgid "Username" +msgstr "Username" + +#: src/common/text.c:867 +msgid "Full name" +msgstr "Full name" + +#: src/common/text.c:872 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Channel Membership/\"is an IRC operator\"" + +#: src/common/text.c:877 +msgid "Server Information" +msgstr "Server Information" + +#: src/common/text.c:882 src/common/text.c:887 +msgid "Idle time" +msgstr "Idle time" + +#: src/common/text.c:888 +msgid "Signon time" +msgstr "Signon time" + +#: src/common/text.c:893 +msgid "Away reason" +msgstr "Away reason" + +#: src/common/text.c:902 src/common/text.c:907 src/common/text.c:915 +#: src/common/text.c:1093 +msgid "Message" +msgstr "Message" + +#: src/common/text.c:908 +msgid "Account" +msgstr "Account" + +#: src/common/text.c:913 +msgid "Real user@host" +msgstr "Real user@host" + +#: src/common/text.c:914 +msgid "Real IP" +msgstr "Real IP" + +#: src/common/text.c:919 src/common/text.c:928 src/common/text.c:934 +#: src/common/text.c:1116 +msgid "Channel Name" +msgstr "Channel Name" + +#: src/common/text.c:923 src/common/text.c:1079 src/fe-gtk/textgui.c:383 +msgid "Text" +msgstr "Text" + +#: src/common/text.c:924 src/common/text.c:930 src/common/text.c:1117 +msgid "Server Name" +msgstr "Server Name" + +#: src/common/text.c:929 +msgid "Nick of person who invited you" +msgstr "Nick of person who invited you" + +#: src/common/text.c:935 src/fe-gtk/chanlist.c:598 +msgid "Users" +msgstr "Users" + +#: src/common/text.c:939 +msgid "Nickname in use" +msgstr "Nickname in use" + +#: src/common/text.c:940 +msgid "Nick being tried" +msgstr "Nick being tried" + +#: src/common/text.c:944 src/common/text.c:980 src/common/text.c:991 +#: src/common/text.c:998 src/common/text.c:1011 src/common/text.c:1028 +#: src/common/text.c:1128 src/common/util.c:348 +msgid "Error" +msgstr "Error" + +#: src/common/text.c:949 src/common/text.c:1083 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:950 src/common/text.c:979 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:954 +msgid "PID" +msgstr "PID" + +#: src/common/text.c:962 +msgid "Channel name" +msgstr "Channel name" + +#: src/common/text.c:963 src/common/text.c:968 +msgid "Modes string" +msgstr "Modes string" + +#: src/common/text.c:978 src/common/text.c:1016 src/common/text.c:1021 +#: src/common/text.c:1062 +msgid "IP address" +msgstr "IP address" + +#: src/common/text.c:984 src/common/text.c:1009 +msgid "DCC Type" +msgstr "DCC Type" + +#: src/common/text.c:985 src/common/text.c:990 src/common/text.c:995 +#: src/common/text.c:1002 src/common/text.c:1022 src/common/text.c:1026 +#: src/common/text.c:1032 src/common/text.c:1038 src/common/text.c:1045 +#: src/common/text.c:1054 src/common/text.c:1060 +msgid "Filename" +msgstr "Filename" + +#: src/common/text.c:996 src/common/text.c:1003 +msgid "Destination filename" +msgstr "Destination filename" + +#: src/common/text.c:1005 src/common/text.c:1034 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1040 +msgid "Pathname" +msgstr "Pathname" + +#: src/common/text.c:1055 src/fe-gtk/dccgui.c:483 src/fe-gtk/dccgui.c:633 +msgid "Position" +msgstr "Position" + +#: src/common/text.c:1061 src/fe-gtk/dccgui.c:482 src/fe-gtk/dccgui.c:632 +msgid "Size" +msgstr "Size" + +#: src/common/text.c:1066 +msgid "DCC String" +msgstr "DCC String" + +#: src/common/text.c:1071 +msgid "Number of notify items" +msgstr "Number of notify items" + +#: src/common/text.c:1075 +msgid "Servername" +msgstr "Servername" + +#: src/common/text.c:1087 +msgid "Old Filename" +msgstr "Old Filename" + +#: src/common/text.c:1088 +msgid "New Filename" +msgstr "New Filename" + +#: src/common/text.c:1092 +msgid "Receiver" +msgstr "Receiver" + +#: src/common/text.c:1097 +msgid "Hostmask" +msgstr "Hostmask" + +#: src/common/text.c:1102 +msgid "Hostname" +msgstr "Hostname" + +#: src/common/text.c:1107 +msgid "The Packet" +msgstr "The Packet" + +#: src/common/text.c:1111 +msgid "Seconds" +msgstr "Seconds" + +#: src/common/text.c:1115 +msgid "Nick of person who have been invited" +msgstr "Nick of person who have been invited" + +#: src/common/text.c:1122 +msgid "Banmask" +msgstr "Banmask" + +#: src/common/text.c:1123 +msgid "Who set the ban" +msgstr "Who set the ban" + +#: src/common/text.c:1124 +msgid "Ban time" +msgstr "Ban time" + +#: src/common/text.c:1162 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default" +msgstr "" +"Error parsing event %s.\n" +"Loading default" + +#: src/common/text.c:1672 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Cannot read sound file:\n" +"%s" + +#: src/common/util.c:292 +msgid "Remote host closed socket" +msgstr "Remote host closed socket" + +#: src/common/util.c:297 +msgid "Connection refused" +msgstr "Connection refused" + +#: src/common/util.c:300 +msgid "No route to host" +msgstr "No route to host" + +#: src/common/util.c:302 +msgid "Connection timed out" +msgstr "Connection timed out" + +#: src/common/util.c:304 +msgid "Cannot assign that address" +msgstr "Cannot assign that address" + +#: src/common/util.c:306 +msgid "Connection reset by peer" +msgstr "Connection reset by peer" + +#: src/common/util.c:771 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:772 +msgid "United Arab Emirates" +msgstr "United Arab Emirates" + +#: src/common/util.c:773 +msgid "Afghanistan" +msgstr "Afghanistan" + +#: src/common/util.c:774 +msgid "Antigua and Barbuda" +msgstr "Antigua and Barbuda" + +#: src/common/util.c:775 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:776 +msgid "Albania" +msgstr "Albania" + +#: src/common/util.c:777 +msgid "Armenia" +msgstr "Armenia" + +#: src/common/util.c:778 +msgid "Netherlands Antilles" +msgstr "Netherlands Antilles" + +#: src/common/util.c:779 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:780 +msgid "Antarctica" +msgstr "Antarctica" + +#: src/common/util.c:781 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:782 +msgid "Reverse DNS" +msgstr "Reverse DNS" + +#: src/common/util.c:783 +msgid "American Samoa" +msgstr "American Samoa" + +#: src/common/util.c:784 +msgid "Austria" +msgstr "Austria" + +#: src/common/util.c:785 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:786 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:787 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:788 +msgid "Azerbaijan" +msgstr "Azerbaijan" + +#: src/common/util.c:789 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia and Herzegovina" + +#: src/common/util.c:790 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:791 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:792 +msgid "Belgium" +msgstr "Belgium" + +#: src/common/util.c:793 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:794 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: src/common/util.c:795 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:796 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:797 +msgid "Businesses" +msgstr "Businesses" + +#: src/common/util.c:798 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:799 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:800 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:801 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:802 +msgid "Brazil" +msgstr "Brazil" + +#: src/common/util.c:803 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:804 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:805 +msgid "Bouvet Island" +msgstr "Bouvet Island" + +#: src/common/util.c:806 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:807 +msgid "Belarus" +msgstr "Belarus" + +#: src/common/util.c:808 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:809 +msgid "Canada" +msgstr "Canada" + +#: src/common/util.c:810 +msgid "Cocos Islands" +msgstr "Cocos Islands" + +#: src/common/util.c:811 +msgid "Central African Republic" +msgstr "Central African Republic" + +#: src/common/util.c:812 +msgid "Congo" +msgstr "Congo" + +#: src/common/util.c:813 +msgid "Switzerland" +msgstr "Switzerland" + +#: src/common/util.c:814 +msgid "Cote D'ivoire" +msgstr "Cote D'ivoire" + +#: src/common/util.c:815 +msgid "Cook Islands" +msgstr "Cook Islands" + +#: src/common/util.c:816 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:817 +msgid "Cameroon" +msgstr "Cameroon" + +#: src/common/util.c:818 +msgid "China" +msgstr "China" + +#: src/common/util.c:819 +msgid "Colombia" +msgstr "Colombia" + +#: src/common/util.c:820 +msgid "Internic Commercial" +msgstr "Internic Commercial" + +#: src/common/util.c:821 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:822 +msgid "Former Czechoslovakia" +msgstr "Former Czechoslovakia" + +#: src/common/util.c:823 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:824 +msgid "Cape Verde" +msgstr "Cape Verde" + +#: src/common/util.c:825 +msgid "Christmas Island" +msgstr "Christmas Island" + +#: src/common/util.c:826 +msgid "Cyprus" +msgstr "Cyprus" + +#: src/common/util.c:827 +msgid "Czech Republic" +msgstr "Czech Republic" + +#: src/common/util.c:828 +msgid "Germany" +msgstr "Germany" + +#: src/common/util.c:829 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:830 +msgid "Denmark" +msgstr "Denmark" + +#: src/common/util.c:831 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:832 +msgid "Dominican Republic" +msgstr "Dominican Republic" + +#: src/common/util.c:833 +msgid "Algeria" +msgstr "Algeria" + +#: src/common/util.c:834 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:835 +msgid "Educational Institution" +msgstr "Educational Institution" + +#: src/common/util.c:836 +msgid "Estonia" +msgstr "Estonia" + +#: src/common/util.c:837 +msgid "Egypt" +msgstr "Egypt" + +#: src/common/util.c:838 +msgid "Western Sahara" +msgstr "Western Sahara" + +#: src/common/util.c:839 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:840 +msgid "Spain" +msgstr "Spain" + +#: src/common/util.c:841 +msgid "Ethiopia" +msgstr "Ethiopia" + +#: src/common/util.c:842 +msgid "Finland" +msgstr "Finland" + +#: src/common/util.c:843 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:844 +msgid "Falkland Islands" +msgstr "Falkland Islands" + +#: src/common/util.c:845 +msgid "Micronesia" +msgstr "Micronesia" + +#: src/common/util.c:846 +msgid "Faroe Islands" +msgstr "Faroe Islands" + +#: src/common/util.c:847 +msgid "France" +msgstr "France" + +#: src/common/util.c:848 +msgid "France, Metropolitan" +msgstr "France, Metropolitan" + +#: src/common/util.c:849 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:850 +msgid "Great Britain" +msgstr "Great Britain" + +#: src/common/util.c:851 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:852 +msgid "Georgia" +msgstr "Georgia" + +#: src/common/util.c:853 +msgid "French Guiana" +msgstr "French Guiana" + +#: src/common/util.c:854 +msgid "British Channel Isles" +msgstr "British Channel Isles" + +#: src/common/util.c:855 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:856 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:857 +msgid "Greenland" +msgstr "Greenland" + +#: src/common/util.c:858 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:859 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:860 +msgid "Government" +msgstr "Government" + +#: src/common/util.c:861 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:862 +msgid "Equatorial Guinea" +msgstr "Equatorial Guinea" + +#: src/common/util.c:863 +msgid "Greece" +msgstr "Greece" + +#: src/common/util.c:864 +msgid "S. Georgia and S. Sandwich Isles." +msgstr "S. Georgia and S. Sandwich Isles." + +#: src/common/util.c:865 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:866 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:867 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:868 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:869 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:870 +msgid "Heard and McDonald Islands" +msgstr "Heard and McDonald Islands" + +#: src/common/util.c:871 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:872 +msgid "Croatia" +msgstr "Croatia" + +#: src/common/util.c:873 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:874 +msgid "Hungary" +msgstr "Hungary" + +#: src/common/util.c:875 +msgid "Indonesia" +msgstr "Indonesia" + +#: src/common/util.c:876 +msgid "Ireland" +msgstr "Ireland" + +#: src/common/util.c:877 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:878 +msgid "India" +msgstr "India" + +#: src/common/util.c:879 +msgid "Informational" +msgstr "Informational" + +#: src/common/util.c:880 +msgid "International" +msgstr "International" + +#: src/common/util.c:881 +msgid "British Indian Ocean Territory" +msgstr "British Indian Ocean Territory" + +#: src/common/util.c:882 +msgid "Iraq" +msgstr "Iraq" + +#: src/common/util.c:883 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:884 +msgid "Iceland" +msgstr "Iceland" + +#: src/common/util.c:885 +msgid "Italy" +msgstr "Italy" + +#: src/common/util.c:886 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:887 +msgid "Jordan" +msgstr "Jordan" + +#: src/common/util.c:888 +msgid "Japan" +msgstr "Japan" + +#: src/common/util.c:889 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:890 +msgid "Kyrgyzstan" +msgstr "Kyrgyzstan" + +#: src/common/util.c:891 +msgid "Cambodia" +msgstr "Cambodia" + +#: src/common/util.c:892 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:893 +msgid "Comoros" +msgstr "Comoros" + +#: src/common/util.c:894 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts and Nevis" + +#: src/common/util.c:895 +msgid "North Korea" +msgstr "North Korea" + +#: src/common/util.c:896 +msgid "South Korea" +msgstr "South Korea" + +#: src/common/util.c:897 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:898 +msgid "Cayman Islands" +msgstr "Cayman Islands" + +#: src/common/util.c:899 +msgid "Kazakhstan" +msgstr "Kazakhstan" + +#: src/common/util.c:900 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:901 +msgid "Lebanon" +msgstr "Lebanon" + +#: src/common/util.c:902 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:903 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:904 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:905 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:906 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:907 +msgid "Lithuania" +msgstr "Lithuania" + +#: src/common/util.c:908 +msgid "Luxembourg" +msgstr "Luxembourg" + +#: src/common/util.c:909 +msgid "Latvia" +msgstr "Latvia" + +#: src/common/util.c:910 +msgid "Libya" +msgstr "Libya" + +#: src/common/util.c:911 +msgid "Morocco" +msgstr "Morocco" + +#: src/common/util.c:912 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:913 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:914 +msgid "United States Medical" +msgstr "United States Medical" + +#: src/common/util.c:915 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:916 +msgid "Marshall Islands" +msgstr "Marshall Islands" + +#: src/common/util.c:917 +msgid "Military" +msgstr "Military" + +#: src/common/util.c:918 +msgid "Macedonia" +msgstr "Macedonia" + +#: src/common/util.c:919 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:920 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:921 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:922 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:923 +msgid "Northern Mariana Islands" +msgstr "Northern Mariana Islands" + +#: src/common/util.c:924 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:925 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:926 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:927 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:928 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:929 +msgid "Maldives" +msgstr "Maldives" + +#: src/common/util.c:930 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:931 +msgid "Mexico" +msgstr "Mexico" + +#: src/common/util.c:932 +msgid "Malaysia" +msgstr "Malaysia" + +#: src/common/util.c:933 +msgid "Mozambique" +msgstr "Mozambique" + +#: src/common/util.c:934 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:935 +msgid "New Caledonia" +msgstr "New Caledonia" + +#: src/common/util.c:936 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:937 +msgid "Internic Network" +msgstr "Internic Network" + +#: src/common/util.c:938 +msgid "Norfolk Island" +msgstr "Norfolk Island" + +#: src/common/util.c:939 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:940 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:941 +msgid "Netherlands" +msgstr "Netherlands" + +#: src/common/util.c:942 +msgid "Norway" +msgstr "Norway" + +#: src/common/util.c:943 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:944 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:945 +msgid "Neutral Zone" +msgstr "Neutral Zone" + +#: src/common/util.c:946 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:947 +msgid "New Zealand" +msgstr "New Zealand" + +#: src/common/util.c:948 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:949 +msgid "Internic Non-Profit Organization" +msgstr "Internic Non-Profit Organisation" + +#: src/common/util.c:950 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:951 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:952 +msgid "French Polynesia" +msgstr "French Polynesia" + +#: src/common/util.c:953 +msgid "Papua New Guinea" +msgstr "Papua New Guinea" + +#: src/common/util.c:954 +msgid "Philippines" +msgstr "Philippines" + +#: src/common/util.c:955 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:956 +msgid "Poland" +msgstr "Poland" + +#: src/common/util.c:957 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre and Miquelon" + +#: src/common/util.c:958 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:959 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:960 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:961 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:962 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:963 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:964 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:965 +msgid "Romania" +msgstr "Romania" + +#: src/common/util.c:966 +msgid "Old School ARPAnet" +msgstr "Old School ARPAnet" + +#: src/common/util.c:967 +msgid "Russian Federation" +msgstr "Russian Federation" + +#: src/common/util.c:968 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:969 +msgid "Saudi Arabia" +msgstr "Saudi Arabia" + +#: src/common/util.c:970 +msgid "Solomon Islands" +msgstr "Solomon Islands" + +#: src/common/util.c:971 +msgid "Seychelles" +msgstr "Seychelles" + +#: src/common/util.c:972 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:973 +msgid "Sweden" +msgstr "Sweden" + +#: src/common/util.c:974 +msgid "Singapore" +msgstr "Singapore" + +#: src/common/util.c:975 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:976 +msgid "Slovenia" +msgstr "Slovenia" + +#: src/common/util.c:977 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard and Jan Mayen Islands" + +#: src/common/util.c:978 +msgid "Slovak Republic" +msgstr "Slovak Republic" + +#: src/common/util.c:979 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:980 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:981 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:982 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:983 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:984 +msgid "Sao Tome and Principe" +msgstr "Sao Tome and Principe" + +#: src/common/util.c:985 +msgid "Former USSR" +msgstr "Former USSR" + +#: src/common/util.c:986 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:987 +msgid "Syria" +msgstr "Syria" + +#: src/common/util.c:988 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:989 +msgid "Turks and Caicos Islands" +msgstr "Turks and Caicos Islands" + +#: src/common/util.c:990 +msgid "Chad" +msgstr "Chad" + +#: src/common/util.c:991 +msgid "French Southern Territories" +msgstr "French Southern Territories" + +#: src/common/util.c:992 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:993 +msgid "Thailand" +msgstr "Thailand" + +#: src/common/util.c:994 +msgid "Tajikistan" +msgstr "Tajikistan" + +#: src/common/util.c:995 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:996 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:997 +msgid "Tunisia" +msgstr "Tunisia" + +#: src/common/util.c:998 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:999 +msgid "East Timor" +msgstr "East Timor" + +#: src/common/util.c:1000 +msgid "Turkey" +msgstr "Turkey" + +#: src/common/util.c:1001 +msgid "Trinidad and Tobago" +msgstr "Trinidad and Tobago" + +#: src/common/util.c:1002 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1003 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:1004 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:1005 +msgid "Ukraine" +msgstr "Ukraine" + +#: src/common/util.c:1006 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:1007 +msgid "United Kingdom" +msgstr "United Kingdom" + +#: src/common/util.c:1008 +msgid "US Minor Outlying Islands" +msgstr "US Minor Outlying Islands" + +#: src/common/util.c:1009 +msgid "United States of America" +msgstr "United States of America" + +#: src/common/util.c:1010 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:1011 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:1012 +msgid "Vatican City State" +msgstr "Vatican City State" + +#: src/common/util.c:1013 +msgid "St. Vincent and the grenadines" +msgstr "St. Vincent and the grenadines" + +#: src/common/util.c:1014 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:1015 +msgid "British Virgin Islands" +msgstr "British Virgin Islands" + +#: src/common/util.c:1016 +msgid "US Virgin Islands" +msgstr "US Virgin Islands" + +#: src/common/util.c:1017 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:1018 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1019 +msgid "Wallis and Futuna Islands" +msgstr "Wallis and Futuna Islands" + +#: src/common/util.c:1020 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1021 +msgid "Yemen" +msgstr "Yemen" + +#: src/common/util.c:1022 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:1023 +msgid "Yugoslavia" +msgstr "Yugoslavia" + +#: src/common/util.c:1024 +msgid "South Africa" +msgstr "South Africa" + +#: src/common/util.c:1025 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:1026 +msgid "Zaire" +msgstr "Zaire" + +#: src/common/util.c:1027 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/util.c:1033 src/common/util.c:1043 src/fe-gtk/menu.c:513 +#: src/fe-gtk/menu.c:517 src/fe-gtk/menu.c:521 src/fe-gtk/menu.c:525 +#: src/fe-gtk/menu.c:529 +msgid "Unknown" +msgstr "Unknown" + +#: src/common/xchat.c:917 +msgid "Direct client-to-client" +msgstr "Direct client-to-client" + +#: src/common/xchat.c:918 +msgid "Send File" +msgstr "Send File" + +#: src/common/xchat.c:919 +msgid "Offer Chat" +msgstr "Offer Chat" + +#: src/common/xchat.c:920 +msgid "Abort Chat" +msgstr "Abort Chat" + +#: src/common/xchat.c:921 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Version" + +#: src/common/xchat.c:922 +msgid "Userinfo" +msgstr "Userinfo" + +#: src/common/xchat.c:923 +msgid "Clientinfo" +msgstr "Clientinfo" + +#: src/common/xchat.c:924 src/common/xchat.c:956 src/common/xchat.c:1006 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:925 +msgid "Time" +msgstr "Time" + +#: src/common/xchat.c:926 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:927 +msgid "Oper" +msgstr "Oper" + +#: src/common/xchat.c:928 +msgid "Kill this user" +msgstr "Kill this user" + +#: src/common/xchat.c:929 +msgid "Mode" +msgstr "Mode" + +#: src/common/xchat.c:930 +msgid "Give Voice" +msgstr "Give Voice" + +#: src/common/xchat.c:931 +msgid "Take Voice" +msgstr "Take Voice" + +#: src/common/xchat.c:932 +msgid "Give Ops" +msgstr "Give Ops" + +#: src/common/xchat.c:933 +msgid "Take Ops" +msgstr "Take Ops" + +#: src/common/xchat.c:934 +msgid "Ignore" +msgstr "Ignore" + +#: src/common/xchat.c:935 +msgid "Ignore User" +msgstr "Ignore User" + +#: src/common/xchat.c:936 +msgid "UnIgnore User" +msgstr "UnIgnore User" + +#: src/common/xchat.c:937 +msgid "Kick/Ban" +msgstr "Kick/Ban" + +#: src/common/xchat.c:938 src/common/xchat.c:990 +msgid "Kick" +msgstr "Kick" + +#: src/common/xchat.c:939 src/common/xchat.c:940 src/common/xchat.c:941 +#: src/common/xchat.c:942 src/common/xchat.c:943 src/common/xchat.c:989 +msgid "Ban" +msgstr "Ban" + +#: src/common/xchat.c:944 src/common/xchat.c:945 src/common/xchat.c:946 +#: src/common/xchat.c:947 +msgid "KickBan" +msgstr "KickBan" + +#: src/common/xchat.c:948 src/fe-gtk/dccgui.c:528 src/fe-gtk/dccgui.c:669 +msgid "Info" +msgstr "Info" + +#: src/common/xchat.c:949 +msgid "Who" +msgstr "Who" + +#: src/common/xchat.c:950 src/common/xchat.c:1003 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/xchat.c:951 +msgid "DNS Lookup" +msgstr "DNS Lookup" + +#: src/common/xchat.c:952 +msgid "Trace" +msgstr "Trace" + +#: src/common/xchat.c:953 +msgid "UserHost" +msgstr "UserHost" + +#: src/common/xchat.c:954 +msgid "External" +msgstr "External" + +#: src/common/xchat.c:955 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:957 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:958 +msgid "Open Dialog Window" +msgstr "Open Dialogue Window" + +#: src/common/xchat.c:970 +msgid "Disconnect" +msgstr "Disconnect" + +#: src/common/xchat.c:971 +msgid "Reconnect" +msgstr "Reconnect" + +#: src/common/xchat.c:972 +msgid "Leave Channel" +msgstr "Leave Channel" + +#: src/common/xchat.c:973 +msgid "Join Channel..." +msgstr "Join Channel..." + +#: src/common/xchat.c:974 +msgid "Enter Channel to Join:" +msgstr "Enter Channel to Join:" + +#: src/common/xchat.c:975 +msgid "Server Links" +msgstr "Server Links" + +#: src/common/xchat.c:976 +msgid "Ping Server" +msgstr "Ping Server" + +#: src/common/xchat.c:977 +msgid "Hide Version" +msgstr "Hide Version" + +#: src/common/xchat.c:987 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:988 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/xchat.c:991 +msgid "bye" +msgstr "bye" + +#: src/common/xchat.c:992 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Enter reason to kick %s:" + +#: src/common/xchat.c:993 +msgid "Sendfile" +msgstr "Sendfile" + +#: src/common/xchat.c:994 +msgid "Dialog" +msgstr "Dialogue" + +#: src/common/xchat.c:1004 +msgid "Send" +msgstr "Send" + +#: src/common/xchat.c:1005 +msgid "Chat" +msgstr "Chat" + +#: src/common/xchat.c:1007 src/fe-gtk/banlist.c:314 src/fe-gtk/search.c:117 +#: src/fe-gtk/urlgrab.c:200 +msgid "Clear" +msgstr "Clear" + +#: src/fe-gtk/about.c:102 +msgid "About X-Chat" +msgstr "About X-Chat" + +#: src/fe-gtk/about.c:124 +msgid "A multiplatform IRC Client" +msgstr "A multiplatform IRC Client" + +#: src/fe-gtk/ascii.c:131 +msgid "Character Chart" +msgstr "Character Chart" + +#: src/fe-gtk/banlist.c:148 src/fe-gtk/banlist.c:232 +msgid "You must select some bans." +msgstr "You must select some bans." + +#: src/fe-gtk/banlist.c:248 src/fe-gtk/ignoregui.c:174 +msgid "Mask" +msgstr "Mask" + +#: src/fe-gtk/banlist.c:249 src/fe-gtk/dccgui.c:485 +msgid "From" +msgstr "From" + +#: src/fe-gtk/banlist.c:250 +msgid "Date" +msgstr "Date" + +#: src/fe-gtk/banlist.c:294 +#, c-format +msgid "X-Chat: Ban List (%s)" +msgstr "X-Chat: Ban List (%s)" + +#: src/fe-gtk/banlist.c:310 +msgid "Unban" +msgstr "Unban" + +#: src/fe-gtk/banlist.c:312 +msgid "Crop" +msgstr "Crop" + +#: src/fe-gtk/banlist.c:316 +msgid "Refresh" +msgstr "Refresh" + +#: src/fe-gtk/chanlist.c:120 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "User and Channel Statistics: %d/%d Users on %d/%d Channels" + +#: src/fe-gtk/chanlist.c:536 +msgid "I can't save an empty list!" +msgstr "I can't save an empty list!" + +#: src/fe-gtk/chanlist.c:539 src/fe-gtk/menu.c:941 +msgid "Select an output filename" +msgstr "Select an output filename" + +#: src/fe-gtk/chanlist.c:607 +#, c-format +msgid "X-Chat: Channel List (%s)" +msgstr "X-Chat: Channel List (%s)" + +#: src/fe-gtk/chanlist.c:622 +msgid "List display options:" +msgstr "List display options:" + +#: src/fe-gtk/chanlist.c:634 +msgid "Minimum Users:" +msgstr "Minimum Users:" + +#: src/fe-gtk/chanlist.c:649 +msgid "Maximum Users:" +msgstr "Maximum Users:" + +#: src/fe-gtk/chanlist.c:664 +msgid "Regex Match:" +msgstr "Regex Match:" + +#: src/fe-gtk/chanlist.c:685 +msgid "Apply Match to:" +msgstr "Apply Match to:" + +#: src/fe-gtk/chanlist.c:709 +msgid "Apply" +msgstr "Apply" + +#: src/fe-gtk/chanlist.c:751 +msgid "Refresh the list" +msgstr "Refresh the list" + +#: src/fe-gtk/chanlist.c:753 +msgid "Save the list" +msgstr "Save the list" + +#: src/fe-gtk/chanlist.c:755 src/fe-gtk/menu.c:749 +msgid "Join Channel" +msgstr "Join Channel" + +#: src/fe-gtk/dccgui.c:126 +#, c-format +msgid "Send file to %s" +msgstr "Send file to %s" + +#: src/fe-gtk/dccgui.c:339 +#, c-format +msgid "" +" File: %s\n" +" To/From: %s\n" +" Size: %u\n" +" Port: %d\n" +" IP Number: %s\n" +"Start Time: %s Max CPS: %d\n" +msgstr "" +" File: %s\n" +" To/From: %s\n" +" Size: %u\n" +" Port: %d\n" +" IP Number: %s\n" +"Start Time: %s Max CPS: %d\n" + +#: src/fe-gtk/dccgui.c:372 +msgid "That file is not resumable." +msgstr "That file is not resumable." + +#: src/fe-gtk/dccgui.c:376 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." + +#: src/fe-gtk/dccgui.c:383 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "File in download directory is larger than file offered. Resuming not possible." + +#: src/fe-gtk/dccgui.c:387 +msgid "Cannot resume the same file from two people." +msgstr "Cannot resume the same file from two people." + +#: src/fe-gtk/dccgui.c:474 +msgid "MIME Type" +msgstr "MIME Type" + +#: src/fe-gtk/dccgui.c:480 src/fe-gtk/dccgui.c:630 src/fe-gtk/dccgui.c:753 +#: src/fe-gtk/notifygui.c:110 +msgid "Status" +msgstr "Status" + +#: src/fe-gtk/dccgui.c:481 src/fe-gtk/dccgui.c:631 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "File" + +#: src/fe-gtk/dccgui.c:484 src/fe-gtk/dccgui.c:635 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:494 +msgid "X-Chat: File Receive List" +msgstr "X-Chat: File Receive List" + +#: src/fe-gtk/dccgui.c:522 src/fe-gtk/dccgui.c:668 src/fe-gtk/dccgui.c:783 +msgid "Abort" +msgstr "Abort" + +#: src/fe-gtk/dccgui.c:524 src/fe-gtk/dccgui.c:784 +msgid "Accept" +msgstr "Accept" + +#: src/fe-gtk/dccgui.c:526 +msgid "Resume" +msgstr "Resume" + +#: src/fe-gtk/dccgui.c:530 +msgid "Open" +msgstr "Open" + +#: src/fe-gtk/dccgui.c:634 +msgid "Ack" +msgstr "Ack" + +#: src/fe-gtk/dccgui.c:636 +msgid "To" +msgstr "To" + +#: src/fe-gtk/dccgui.c:646 +msgid "X-Chat: File Send List" +msgstr "X-Chat: File Send List" + +#: src/fe-gtk/dccgui.c:754 +msgid "To/From" +msgstr "To/From" + +#: src/fe-gtk/dccgui.c:755 +msgid "Recv" +msgstr "Recv" + +#: src/fe-gtk/dccgui.c:756 +msgid "Sent" +msgstr "Sent" + +#: src/fe-gtk/dccgui.c:757 +msgid "StartTime" +msgstr "StartTime" + +#: src/fe-gtk/dccgui.c:767 +msgid "X-Chat: DCC Chat List" +msgstr "X-Chat: DCC Chat List" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*NEW*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "EDIT ME" + +#: src/fe-gtk/editlist.c:305 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Name" + +#: src/fe-gtk/editlist.c:306 +msgid "Command" +msgstr "Command" + +#: src/fe-gtk/editlist.c:333 +msgid "Move Up" +msgstr "Move Up" + +#: src/fe-gtk/editlist.c:337 +msgid "Move Dn" +msgstr "Move Dn" + +#: src/fe-gtk/editlist.c:345 +msgid "Cancel" +msgstr "Cancel" + +#: src/fe-gtk/editlist.c:349 src/fe-gtk/textgui.c:464 src/fe-gtk/urlgrab.c:204 +msgid "Save" +msgstr "Save" + +#: src/fe-gtk/editlist.c:357 +msgid "Add New" +msgstr "Add New" + +#: src/fe-gtk/editlist.c:361 src/fe-gtk/fkeys.c:746 src/fe-gtk/ignoregui.c:378 +msgid "Delete" +msgstr "Delete" + +#: src/fe-gtk/editlist.c:369 +msgid "Sort" +msgstr "Sort" + +#: src/fe-gtk/editlist.c:373 +msgid "Help" +msgstr "Help" + +#: src/fe-gtk/fe-gtk.c:143 +msgid "Options" +msgstr "Options" + +#: src/fe-gtk/fe-gtk.c:144 +msgid "DIRECTORY" +msgstr "DIRECTORY" + +#: src/fe-gtk/fe-gtk.c:145 +msgid "use a different config dir" +msgstr "use a different config dir" + +#: src/fe-gtk/fe-gtk.c:146 +msgid "don't auto connect" +msgstr "don't auto connect" + +#: src/fe-gtk/fe-gtk.c:147 +msgid "don't auto load any plugins" +msgstr "don't auto load any plugins" + +#: src/fe-gtk/fe-gtk.c:148 +msgid "show version information" +msgstr "show version information" + +#: src/fe-gtk/fe-gtk.c:233 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Failed to open font:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:592 +msgid "Search buffer is empty.\n" +msgstr "Search buffer is empty.\n" + +#: src/fe-gtk/fe-gtk.c:669 +#, c-format +msgid "%d bytes" +msgstr "%d bytes" + +#: src/fe-gtk/fkeys.c:153 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate separate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" + +#: src/fe-gtk/fkeys.c:155 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" + +#: src/fe-gtk/fkeys.c:157 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Scroll Page command scrolls the text widget up or down one page. If Data 1 is set to anything the page scrolls up, else it scrolls down" +msgstr "The Scroll Page command scrolls the text widget up or down one page. If Data 1 is set to anything the page scrolls up, else it scrolls down" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" + +#: src/fe-gtk/fkeys.c:163 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" + +#: src/fe-gtk/fkeys.c:169 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" + +#: src/fe-gtk/fkeys.c:171 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command moves the front tab left by one" +msgstr "This command moves the front tab left by one" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command moves the front tab right by one" +msgstr "This command moves the front tab right by one" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command moves the current tab family to the left" +msgstr "This command moves the current tab family to the left" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the current tab family to the right" +msgstr "This command moves the current tab family to the right" + +#: src/fe-gtk/fkeys.c:181 +msgid "Push input line into history but doesn't send to server" +msgstr "Push input line into history but doesn't send to server" + +#: src/fe-gtk/fkeys.c:193 +msgid "There was an error loading key bindings configuration" +msgstr "There was an error loading key bindings configuration" + +#: src/fe-gtk/fkeys.c:434 src/fe-gtk/fkeys.c:435 src/fe-gtk/fkeys.c:436 +#: src/fe-gtk/fkeys.c:437 src/fe-gtk/fkeys.c:719 src/fe-gtk/fkeys.c:725 +#: src/fe-gtk/fkeys.c:730 src/fe-gtk/maingui.c:884 src/fe-gtk/maingui.c:905 +#: src/fe-gtk/maingui.c:1059 src/fe-gtk/maingui.c:1101 +#: src/fe-gtk/maingui.c:2443 +msgid "<none>" +msgstr "<none>" + +#: src/fe-gtk/fkeys.c:683 +msgid "Mod" +msgstr "Mod" + +#: src/fe-gtk/fkeys.c:684 src/fe-gtk/fkeys.c:779 +msgid "Key" +msgstr "Key" + +#: src/fe-gtk/fkeys.c:685 +msgid "Action" +msgstr "Action" + +#: src/fe-gtk/fkeys.c:694 +msgid "X-Chat: Edit Key Bindings" +msgstr "X-Chat: Edit Key Bindings" + +#: src/fe-gtk/fkeys.c:741 +msgid "Add new" +msgstr "Add new" + +#: src/fe-gtk/fkeys.c:772 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:774 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:776 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:783 +msgid "Data 1" +msgstr "Data 1" + +#: src/fe-gtk/fkeys.c:786 +msgid "Data 2" +msgstr "Data 2" + +#: src/fe-gtk/fkeys.c:829 +msgid "Error opening keys config file\n" +msgstr "Error opening keys config file\n" + +#: src/fe-gtk/fkeys.c:1000 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1038 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1059 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1128 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:146 +msgid "Cannot write to that file." +msgstr "Cannot write to that file." + +#: src/fe-gtk/gtkutil.c:148 +msgid "Cannot read that file." +msgstr "Cannot read that file." + +#: src/fe-gtk/ignoregui.c:116 src/fe-gtk/ignoregui.c:279 +msgid "That mask already exists." +msgstr "That mask already exists." + +#: src/fe-gtk/ignoregui.c:176 src/fe-gtk/maingui.c:1556 +msgid "Private" +msgstr "Private" + +#: src/fe-gtk/ignoregui.c:177 +msgid "Notice" +msgstr "Notice" + +#: src/fe-gtk/ignoregui.c:178 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:179 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:180 +msgid "Invite" +msgstr "Invite" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Unignore" +msgstr "Unignore" + +#: src/fe-gtk/ignoregui.c:299 +msgid "Enter mask to ignore:" +msgstr "Enter mask to ignore:" + +#: src/fe-gtk/ignoregui.c:346 +msgid "X-Chat: Ignore list" +msgstr "X-Chat: Ignore list" + +#: src/fe-gtk/ignoregui.c:353 +msgid "Ignore Stats:" +msgstr "Ignore Stats:" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Channel:" +msgstr "Channel:" + +#: src/fe-gtk/ignoregui.c:362 +msgid "Private:" +msgstr "Private:" + +#: src/fe-gtk/ignoregui.c:363 +msgid "Notice:" +msgstr "Notice:" + +#: src/fe-gtk/ignoregui.c:364 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:365 +msgid "Invite:" +msgstr "Invite:" + +#: src/fe-gtk/ignoregui.c:376 src/fe-gtk/menu.c:1246 +msgid "New" +msgstr "New" + +#: src/fe-gtk/ignoregui.c:380 +msgid "Delete All" +msgstr "Delete All" + +#: src/fe-gtk/maingui.c:557 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Topic for %s is: %s" + +#: src/fe-gtk/maingui.c:561 +msgid "No topic is set" +msgstr "No topic is set" + +#: src/fe-gtk/maingui.c:958 +msgid "No other tabs open, quit xchat?" +msgstr "No other tabs open, quit xchat?" + +#: src/fe-gtk/maingui.c:1004 +msgid "Insert color code" +msgstr "Insert colour code" + +#: src/fe-gtk/maingui.c:1046 src/fe-gtk/menu.c:1268 +msgid "Close Tab" +msgstr "Close Tab" + +#: src/fe-gtk/maingui.c:1049 src/fe-gtk/menu.c:1398 +msgid "Detach Tab" +msgstr "Detach Tab" + +#: src/fe-gtk/maingui.c:1064 +msgid "Beep on message" +msgstr "Beep on message" + +#: src/fe-gtk/maingui.c:1067 +msgid "Show join/part messages" +msgstr "Show join/part messages" + +#: src/fe-gtk/maingui.c:1069 +msgid "Color paste" +msgstr "Colour paste" + +#: src/fe-gtk/maingui.c:1079 +msgid "Go to" +msgstr "Go to" + +#: src/fe-gtk/maingui.c:1274 +msgid "Some file transfers still active, quit xchat?" +msgstr "Some file transfers still active, quit xchat?" + +#: src/fe-gtk/maingui.c:1424 src/fe-gtk/maingui.c:1530 +msgid "User limit must be a number!\n" +msgstr "User limit must be a number!\n" + +#: src/fe-gtk/maingui.c:1552 +msgid "Topic Protection" +msgstr "Topic Protection" + +#: src/fe-gtk/maingui.c:1553 +msgid "No outside messages" +msgstr "No outside messages" + +#: src/fe-gtk/maingui.c:1554 +msgid "Secret" +msgstr "Secret" + +#: src/fe-gtk/maingui.c:1555 +msgid "Invite Only" +msgstr "Invite Only" + +#: src/fe-gtk/maingui.c:1557 +msgid "Moderated" +msgstr "Moderated" + +#: src/fe-gtk/maingui.c:1558 +msgid "Ban List" +msgstr "Ban List" + +#: src/fe-gtk/maingui.c:1560 +msgid "Keyword" +msgstr "Keyword" + +#: src/fe-gtk/maingui.c:1572 +msgid "User Limit" +msgstr "User Limit" + +#: src/fe-gtk/maingui.c:1588 +msgid "Close this tab/window" +msgstr "Close this tab/window" + +#: src/fe-gtk/maingui.c:1685 +msgid "Show/Hide userlist" +msgstr "Show/Hide userlist" + +#: src/fe-gtk/maingui.c:1795 +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 "" +"Unable to set transparent background!\n" +"\n" +"You may be using a non-compliant window\n" +"manager that is not currently supported.\n" + +#: src/fe-gtk/maingui.c:1988 +msgid "Enter new nickname:" +msgstr "Enter new nickname:" + +#: src/fe-gtk/menu.c:151 +msgid "Host unknown" +msgstr "Host unknown" + +#: src/fe-gtk/menu.c:512 +#, c-format +msgid "User: %s" +msgstr "User: %s" + +#: src/fe-gtk/menu.c:516 +#, c-format +msgid "Country: %s" +msgstr "Country: %s" + +#: src/fe-gtk/menu.c:520 +#, c-format +msgid "Realname: %s" +msgstr "Realname: %s" + +#: src/fe-gtk/menu.c:524 +#, c-format +msgid "Server: %s" +msgstr "Server: %s" + +#: src/fe-gtk/menu.c:528 +#, c-format +msgid "Last Msg: %s" +msgstr "Last Msg: %s" + +#: src/fe-gtk/menu.c:613 +msgid "Menu Bar" +msgstr "Menu Bar" + +#: src/fe-gtk/menu.c:614 +msgid "Topic Bar" +msgstr "Topic Bar" + +#: src/fe-gtk/menu.c:618 +msgid "User List" +msgstr "User List" + +#: src/fe-gtk/menu.c:621 +msgid "Mode Buttons" +msgstr "Mode Buttons" + +#: src/fe-gtk/menu.c:627 +msgid "User List Buttons" +msgstr "User List Buttons" + +#: src/fe-gtk/menu.c:753 +msgid "Part Channel" +msgstr "Part Channel" + +#: src/fe-gtk/menu.c:755 +msgid "Cycle Channel" +msgstr "Cycle Channel" + +#: src/fe-gtk/menu.c:778 +msgid "X-Chat: User menu" +msgstr "X-Chat: User menu" + +#: src/fe-gtk/menu.c:787 +msgid "Edit This Menu..." +msgstr "Edit This Menu..." + +#: src/fe-gtk/menu.c:889 +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 "" +"*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" + +#: src/fe-gtk/menu.c:1011 +msgid "Settings saved." +msgstr "Settings saved." + +#: src/fe-gtk/menu.c:1048 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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\"." + +#: src/fe-gtk/menu.c:1063 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" + +#: src/fe-gtk/menu.c:1072 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" + +#: src/fe-gtk/menu.c:1081 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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" + +#: src/fe-gtk/menu.c:1091 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of X-Chat" +msgstr "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of X-Chat" + +#: src/fe-gtk/menu.c:1100 +msgid "X-Chat: User Defined Commands" +msgstr "X-Chat: User Defined Commands" + +#: src/fe-gtk/menu.c:1107 +msgid "X-Chat: Userlist Popup menu" +msgstr "X-Chat: Userlist Popup menu" + +#: src/fe-gtk/menu.c:1114 +msgid "X-Chat: Replace" +msgstr "X-Chat: Replace" + +#: src/fe-gtk/menu.c:1121 +msgid "X-Chat: URL Handlers" +msgstr "X-Chat: URL Handlers" + +#: src/fe-gtk/menu.c:1140 +msgid "X-Chat: Userlist buttons" +msgstr "X-Chat: Userlist buttons" + +#: src/fe-gtk/menu.c:1147 +msgid "X-Chat: Dialog buttons" +msgstr "X-Chat: Dialogue buttons" + +#: src/fe-gtk/menu.c:1154 +msgid "X-Chat: CTCP Replies" +msgstr "X-Chat: CTCP Replies" + +#: src/fe-gtk/menu.c:1242 +msgid "_X-Chat" +msgstr "_X-Chat" + +#: src/fe-gtk/menu.c:1243 +msgid "Server List..." +msgstr "Server List..." + +#: src/fe-gtk/menu.c:1247 +msgid "Server Tab..." +msgstr "Server Tab..." + +#: src/fe-gtk/menu.c:1248 +msgid "Channel Tab..." +msgstr "Channel Tab..." + +#: src/fe-gtk/menu.c:1249 +msgid "Server Window..." +msgstr "Server Window..." + +#: src/fe-gtk/menu.c:1250 +msgid "Channel Window..." +msgstr "Channel Window..." + +#: src/fe-gtk/menu.c:1255 src/fe-gtk/menu.c:1257 +msgid "Load Plugin or Script..." +msgstr "Load Plugin or Script..." + +#: src/fe-gtk/menu.c:1261 +msgid "New Shell Tab..." +msgstr "New Shell Tab..." + +#: src/fe-gtk/menu.c:1270 +msgid "Quit" +msgstr "Quit" + +#: src/fe-gtk/menu.c:1272 +msgid "_IRC" +msgstr "_IRC" + +#: src/fe-gtk/menu.c:1273 +msgid "Invisible" +msgstr "Invisible" + +#: src/fe-gtk/menu.c:1274 +msgid "Receive Wallops" +msgstr "Receive Wallops" + +#: src/fe-gtk/menu.c:1275 +msgid "Receive Server Notices" +msgstr "Receive Server Notices" + +#: src/fe-gtk/menu.c:1277 +msgid "Marked Away" +msgstr "Marked Away" + +#: src/fe-gtk/menu.c:1279 +msgid "Auto Rejoin when Kicked" +msgstr "Auto Rejoin when Kicked" + +#: src/fe-gtk/menu.c:1280 +msgid "Auto Reconnect to Server" +msgstr "Auto Reconnect to Server" + +#: src/fe-gtk/menu.c:1281 +msgid "Never-give-up ReConnect" +msgstr "Never-give-up ReConnect" + +#: src/fe-gtk/menu.c:1283 +msgid "Auto Open Dialog Windows" +msgstr "Auto Open Dialogue Windows" + +#: src/fe-gtk/menu.c:1284 +msgid "Auto Accept Direct Chat" +msgstr "Auto Accept Direct Chat" + +#: src/fe-gtk/menu.c:1285 +msgid "Auto Accept Files" +msgstr "Auto Accept Files" + +#: src/fe-gtk/menu.c:1287 +msgid "_Server" +msgstr "_Server" + +#: src/fe-gtk/menu.c:1289 +msgid "S_ettings" +msgstr "S_ettings" + +#: src/fe-gtk/menu.c:1290 +msgid "Preferences..." +msgstr "Preferences..." + +#: src/fe-gtk/menu.c:1292 +msgid "Lists" +msgstr "Lists" + +#: src/fe-gtk/menu.c:1293 +msgid "Auto Replace..." +msgstr "Auto Replace..." + +#: src/fe-gtk/menu.c:1294 +msgid "CTCP Replies..." +msgstr "CTCP Replies..." + +#: src/fe-gtk/menu.c:1295 +msgid "Dialog Buttons..." +msgstr "Dialogue Buttons..." + +#: src/fe-gtk/menu.c:1296 +msgid "Key Bindings..." +msgstr "Key Bindings..." + +#: src/fe-gtk/menu.c:1297 +msgid "Text Events..." +msgstr "Text Events..." + +#: src/fe-gtk/menu.c:1298 +msgid "URL Handlers..." +msgstr "URL Handlers..." + +#: src/fe-gtk/menu.c:1299 +msgid "User Commands..." +msgstr "User Commands..." + +#: src/fe-gtk/menu.c:1300 +msgid "Userlist Buttons..." +msgstr "Userlist Buttons..." + +#: src/fe-gtk/menu.c:1301 +msgid "Userlist Popup..." +msgstr "Userlist Popup..." + +#: src/fe-gtk/menu.c:1306 +msgid "Reload Settings" +msgstr "Reload Settings" + +#: src/fe-gtk/menu.c:1308 +msgid "Save Settings now" +msgstr "Save Settings now" + +#: src/fe-gtk/menu.c:1309 +msgid "Save Settings on exit" +msgstr "Save Settings on exit" + +#: src/fe-gtk/menu.c:1312 +msgid "_Window" +msgstr "_Window" + +#: src/fe-gtk/menu.c:1313 +msgid "Ban List..." +msgstr "Ban List..." + +#: src/fe-gtk/menu.c:1314 +msgid "Channel List..." +msgstr "Channel List..." + +#: src/fe-gtk/menu.c:1315 +msgid "Character Chart..." +msgstr "Character Chart..." + +#: src/fe-gtk/menu.c:1316 +msgid "Direct Chat..." +msgstr "Direct Chat..." + +#: src/fe-gtk/menu.c:1317 +msgid "File Receive..." +msgstr "File Receive..." + +#: src/fe-gtk/menu.c:1318 +msgid "File Send..." +msgstr "File Send..." + +#: src/fe-gtk/menu.c:1319 +msgid "Ignore List..." +msgstr "Ignore List..." + +#: src/fe-gtk/menu.c:1320 +msgid "Notify List..." +msgstr "Notify List..." + +#: src/fe-gtk/menu.c:1321 +msgid "Plugins and Scripts..." +msgstr "Plugins and Scripts..." + +#: src/fe-gtk/menu.c:1322 +msgid "Raw Log..." +msgstr "Raw Log..." + +#: src/fe-gtk/menu.c:1323 +msgid "URL Grabber..." +msgstr "URL Grabber..." + +#: src/fe-gtk/menu.c:1325 +msgid "C_lear Text" +msgstr "C_lear Text" + +#: src/fe-gtk/menu.c:1326 +msgid "Search Text..." +msgstr "Search Text..." + +#: src/fe-gtk/menu.c:1327 +msgid "Save Text..." +msgstr "Save Text..." + +#: src/fe-gtk/menu.c:1329 +msgid "_Help" +msgstr "_Help" + +#: src/fe-gtk/menu.c:1330 +msgid "_Contents" +msgstr "_Contents" + +#: src/fe-gtk/menu.c:1331 +msgid "_About" +msgstr "_About" + +#: src/fe-gtk/menu.c:1400 +msgid "Attach Tab" +msgstr "Attach Tab" + +#: src/fe-gtk/notifygui.c:109 +msgid "User" +msgstr "User" + +#: src/fe-gtk/notifygui.c:111 +msgid "Server" +msgstr "Server" + +#: src/fe-gtk/notifygui.c:112 +msgid "Last Seen" +msgstr "Last Seen" + +#: src/fe-gtk/notifygui.c:149 +msgid "Offline" +msgstr "Offline" + +#: src/fe-gtk/notifygui.c:169 +msgid "Never" +msgstr "Never" + +#: src/fe-gtk/notifygui.c:187 +msgid "Online" +msgstr "Online" + +#: src/fe-gtk/notifygui.c:277 +msgid "Enter nickname to add:" +msgstr "Enter nickname to add:" + +#: src/fe-gtk/notifygui.c:293 +msgid "X-Chat: Notify List" +msgstr "X-Chat: Notify List" + +#: src/fe-gtk/notifygui.c:306 src/fe-gtk/servlistgui.c:717 +msgid "Add" +msgstr "Add" + +#: src/fe-gtk/notifygui.c:308 +msgid "Remove" +msgstr "Remove" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:387 +msgid "Description" +msgstr "Description" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Select a Plugin or Script to load" + +#: src/fe-gtk/plugingui.c:219 +msgid "X-Chat: Plugins and Scripts" +msgstr "X-Chat: Plugins and Scripts" + +#: src/fe-gtk/plugingui.c:225 +msgid "_Load..." +msgstr "_Load..." + +#: src/fe-gtk/plugingui.c:228 +msgid "_UnLoad" +msgstr "_UnLoad" + +#: src/fe-gtk/plugingui.c:232 +msgid "_Close" +msgstr "_Close" + +#: src/fe-gtk/rawlog.c:78 +msgid "Save rawlog" +msgstr "Save rawlog" + +#: src/fe-gtk/rawlog.c:94 +#, c-format +msgid "X-Chat: Rawlog (%s)" +msgstr "X-Chat: Rawlog (%s)" + +#: src/fe-gtk/rawlog.c:123 +msgid "Clear rawlog" +msgstr "Clear rawlog" + +#: src/fe-gtk/rawlog.c:126 +msgid "Save rawlog..." +msgstr "Save rawlog..." + +#: src/fe-gtk/search.c:47 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "The window you opened this Search for doesn't exist anymore." + +#: src/fe-gtk/search.c:91 +msgid "X-Chat: Search" +msgstr "X-Chat: Search" + +#: src/fe-gtk/search.c:100 +msgid "Find:" +msgstr "Find:" + +#: src/fe-gtk/search.c:114 +msgid "Find" +msgstr "Find" + +#: src/fe-gtk/search.c:119 +msgid "Close" +msgstr "Close" + +#: src/fe-gtk/servlistgui.c:161 +#, c-format +msgid "Settings for %s" +msgstr "Settings for %s" + +#: src/fe-gtk/servlistgui.c:202 src/fe-gtk/servlistgui.c:275 +msgid "New Network" +msgstr "New Network" + +#: src/fe-gtk/servlistgui.c:370 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Really remove network \"%s\" and all its servers?" + +#: src/fe-gtk/servlistgui.c:407 src/fe-gtk/servlistgui.c:437 +#, c-format +msgid "_Remove \"%s\"" +msgstr "_Remove \"%s\"" + +#: src/fe-gtk/servlistgui.c:414 +msgid "_Add new server" +msgstr "_Add new server" + +#: src/fe-gtk/servlistgui.c:444 +#, c-format +msgid "Move \"%s\" _down" +msgstr "Move \"%s\" _down" + +#: src/fe-gtk/servlistgui.c:451 +#, c-format +msgid "Move \"%s\" _up" +msgstr "Move \"%s\" _up" + +#: src/fe-gtk/servlistgui.c:462 +msgid "_Add new network" +msgstr "_Add new network" + +#: src/fe-gtk/servlistgui.c:831 +msgid "Global User Info" +msgstr "Global User Info" + +#: src/fe-gtk/servlistgui.c:839 +msgid "Nick Names:" +msgstr "Nick Names:" + +#: src/fe-gtk/servlistgui.c:858 src/fe-gtk/servlistgui.c:1061 +msgid "User Name:" +msgstr "User Name:" + +#: src/fe-gtk/servlistgui.c:871 src/fe-gtk/servlistgui.c:1063 +msgid "Real Name:" +msgstr "Real Name:" + +#: src/fe-gtk/servlistgui.c:913 +msgid "C_onnect" +msgstr "C_onnect" + +#: src/fe-gtk/servlistgui.c:921 +msgid "Connect in a _new tab" +msgstr "Connect in a _new tab" + +#: src/fe-gtk/servlistgui.c:981 +msgid "Servers" +msgstr "Servers" + +#: src/fe-gtk/servlistgui.c:1019 +msgid "Character Set:" +msgstr "Character Set:" + +#: src/fe-gtk/servlistgui.c:1059 +msgid "Nick Name:" +msgstr "Nick Name:" + +#: src/fe-gtk/servlistgui.c:1064 +msgid "Server Password:" +msgstr "Server Password:" + +#: src/fe-gtk/servlistgui.c:1066 +msgid "Join Channels:" +msgstr "Join Channels:" + +#: src/fe-gtk/servlistgui.c:1068 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Channels to join, separated by commas, but not spaces!" + +#: src/fe-gtk/servlistgui.c:1069 +msgid "Connect Command:" +msgstr "Connect Command:" + +#: src/fe-gtk/servlistgui.c:1071 +msgid "Command to execute after connecting. Can be used to authenticate to NickServ" +msgstr "Command to execute after connecting. Can be used to authenticate to NickServ" + +#: src/fe-gtk/servlistgui.c:1079 +msgid "Cycle until connected" +msgstr "Cycle until connected" + +#: src/fe-gtk/servlistgui.c:1080 +msgid "Use global user info" +msgstr "Use global user info" + +#: src/fe-gtk/servlistgui.c:1081 +msgid "Use secure SSL" +msgstr "Use secure SSL" + +#: src/fe-gtk/servlistgui.c:1082 +msgid "Auto connect at startup" +msgstr "Auto connect at startup" + +#: src/fe-gtk/servlistgui.c:1083 +msgid "Use a proxy server" +msgstr "Use a proxy server" + +#: src/fe-gtk/servlistgui.c:1084 +msgid "Accept invalid cert." +msgstr "Accept invalid cert." + +#: src/fe-gtk/servlistgui.c:1093 +msgid "Settings for Selected Network" +msgstr "Settings for Selected Network" + +#: src/fe-gtk/servlistgui.c:1133 +msgid "Edit mode" +msgstr "Edit mode" + +#: src/fe-gtk/servlistgui.c:1140 +msgid "Networks" +msgstr "Networks" + +#: src/fe-gtk/servlistgui.c:1185 +msgid "No server list on startup" +msgstr "No server list on startup" + +#: src/fe-gtk/servlistgui.c:1212 +msgid "X-Chat: Server List" +msgstr "X-Chat: Server List" + +#: src/fe-gtk/setup.c:84 +msgid "Font:" +msgstr "Font:" + +#: src/fe-gtk/setup.c:85 +msgid "Background image:" +msgstr "Background image:" + +#: src/fe-gtk/setup.c:86 +msgid "Time stamp format:" +msgstr "Time stamp format:" + +#: src/fe-gtk/setup.c:87 +msgid "See strftime manpage for details." +msgstr "See strftime manpage for details." + +#: src/fe-gtk/setup.c:88 +msgid "Time stamp text" +msgstr "Time stamp text" + +#: src/fe-gtk/setup.c:89 +msgid "Transparent background" +msgstr "Transparent background" + +#: src/fe-gtk/setup.c:90 +msgid "Indent nicks" +msgstr "Indent nicks" + +#: src/fe-gtk/setup.c:91 +msgid "Tint transparency" +msgstr "Tint transparency" + +#: src/fe-gtk/setup.c:92 +msgid "Colored nicks" +msgstr "Coloured nicks" + +#: src/fe-gtk/setup.c:93 +msgid "Strip mIRC color" +msgstr "Strip mIRC colour" + +#: src/fe-gtk/setup.c:94 +msgid "Scrollback lines:" +msgstr "Scrollback lines:" + +#: src/fe-gtk/setup.c:95 +msgid "Tint red:" +msgstr "Tint red:" + +#: src/fe-gtk/setup.c:96 +msgid "Tint green:" +msgstr "Tint green:" + +#: src/fe-gtk/setup.c:97 +msgid "Tint blue:" +msgstr "Tint blue:" + +#: src/fe-gtk/setup.c:103 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Interpret %nnn as an ASCII value" + +#: src/fe-gtk/setup.c:104 +msgid "Automatic nick completion" +msgstr "Automatic nick completion" + +#: src/fe-gtk/setup.c:105 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Interpret %C, %B as Colour, Bold etc" + +#: src/fe-gtk/setup.c:106 src/fe-gtk/setup.c:138 +msgid "Use the Text box font and colors" +msgstr "Use the Text box font and colours" + +#: src/fe-gtk/setup.c:107 +msgid "Nick completion suffix:" +msgstr "Nick completion suffix:" + +#: src/fe-gtk/setup.c:113 +msgid "Off" +msgstr "Off" + +#: src/fe-gtk/setup.c:114 +msgid "Graph" +msgstr "Graph" + +#: src/fe-gtk/setup.c:115 +msgid "Info text" +msgstr "Info text" + +#: src/fe-gtk/setup.c:116 +msgid "Both" +msgstr "Both" + +#: src/fe-gtk/setup.c:122 +msgid "A-Z, Ops first" +msgstr "A-Z, Ops first" + +#: src/fe-gtk/setup.c:123 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:124 +msgid "Z-A, Ops last" +msgstr "Z-A, Ops last" + +#: src/fe-gtk/setup.c:125 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:126 +msgid "Unsorted" +msgstr "Unsorted" + +#: src/fe-gtk/setup.c:132 +msgid "Lag meter:" +msgstr "Lag meter:" + +#: src/fe-gtk/setup.c:133 +msgid "Throttle meter:" +msgstr "Throttle meter:" + +#: src/fe-gtk/setup.c:134 +msgid "Userlist sorted by:" +msgstr "Userlist sorted by:" + +#: src/fe-gtk/setup.c:135 +msgid "Double-click command:" +msgstr "Double-click command:" + +#: src/fe-gtk/setup.c:136 +msgid "Show hostnames in userlist" +msgstr "Show hostnames in userlist" + +#: src/fe-gtk/setup.c:137 +msgid "Userlist buttons enabled" +msgstr "Userlist buttons enabled" + +#: src/fe-gtk/setup.c:139 +msgid "Resizable userlist" +msgstr "Resizable userlist" + +#: src/fe-gtk/setup.c:140 +msgid "Track away-status on channels smaller than:" +msgstr "Track away-status on channels smaller than:" + +#: src/fe-gtk/setup.c:146 +msgid "Windows" +msgstr "Windows" + +#: src/fe-gtk/setup.c:147 src/fe-gtk/setup.c:906 +msgid "Tabs" +msgstr "Tabs" + +#: src/fe-gtk/setup.c:153 +msgid "Bottom" +msgstr "Bottom" + +#: src/fe-gtk/setup.c:154 +msgid "Top" +msgstr "Top" + +#: src/fe-gtk/setup.c:155 +msgid "Left" +msgstr "Left" + +#: src/fe-gtk/setup.c:156 +msgid "Right" +msgstr "Right" + +#: src/fe-gtk/setup.c:157 +msgid "Hidden" +msgstr "Hidden" + +#: src/fe-gtk/setup.c:163 +msgid "Show tabs at:" +msgstr "Show tabs at:" + +#: src/fe-gtk/setup.c:164 +msgid "Open channels in:" +msgstr "Open channels in:" + +#: src/fe-gtk/setup.c:165 +msgid "Open dialogs in:" +msgstr "Open dialogues in:" + +#: src/fe-gtk/setup.c:166 +msgid "Open utilities in:" +msgstr "Open utilities in:" + +#: src/fe-gtk/setup.c:166 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Open DCC, Ignore, Notify etc, in tabs or windows?" + +#: src/fe-gtk/setup.c:167 +msgid "Open tab for server messages" +msgstr "Open tab for server messages" + +#: src/fe-gtk/setup.c:168 +msgid "Open tab for server notices" +msgstr "Open tab for server notices" + +#: src/fe-gtk/setup.c:169 +msgid "Pop new tabs to front" +msgstr "Pop new tabs to front" + +#: src/fe-gtk/setup.c:170 +msgid "Shorten tabs to:" +msgstr "Shorten tabs to:" + +#: src/fe-gtk/setup.c:170 +msgid "letters." +msgstr "letters." + +#: src/fe-gtk/setup.c:176 +msgid "Download files to:" +msgstr "Download files to:" + +#: src/fe-gtk/setup.c:177 +msgid "Move completed files to:" +msgstr "Move completed files to:" + +#: src/fe-gtk/setup.c:178 +msgid "DCC IP address:" +msgstr "DCC IP address:" + +#: src/fe-gtk/setup.c:179 +msgid "Claim you are at this address when offering files." +msgstr "Claim you are at this address when offering files." + +#: src/fe-gtk/setup.c:180 +msgid "First DCC send port:" +msgstr "First DCC send port:" + +#: src/fe-gtk/setup.c:181 +msgid "Last DCC send port:" +msgstr "Last DCC send port:" + +#: src/fe-gtk/setup.c:182 +msgid "(Leave ports at zero for full range)." +msgstr "(Leave ports at zero for full range)." + +#: src/fe-gtk/setup.c:183 +msgid "Auto open DCC send list" +msgstr "Auto open DCC send list" + +#: src/fe-gtk/setup.c:184 +msgid "Convert spaces to underscore" +msgstr "Convert spaces to underscore" + +#: src/fe-gtk/setup.c:185 +msgid "In filenames, before sending" +msgstr "In filenames, before sending" + +#: src/fe-gtk/setup.c:186 +msgid "Auto open DCC chat list" +msgstr "Auto open DCC chat list" + +#: src/fe-gtk/setup.c:187 +msgid "Save nickname in filenames" +msgstr "Save nickname in filenames" + +#: src/fe-gtk/setup.c:188 +msgid "Auto open DCC receive list" +msgstr "Auto open DCC receive list" + +#: src/fe-gtk/setup.c:189 +msgid "Get my IP from IRC server" +msgstr "Get my IP from IRC server" + +#: src/fe-gtk/setup.c:190 +msgid "/WHOIS yourself to find your real address. Use this if you have a 192.168.*.* address!" +msgstr "/WHOIS yourself to find your real address. Use this if you have a 192.168.*.* address!" + +#: src/fe-gtk/setup.c:191 +msgid "Max. send CPS:" +msgstr "Max. send CPS:" + +#: src/fe-gtk/setup.c:192 src/fe-gtk/setup.c:194 +msgid "Max. speed for one transfer" +msgstr "Max. speed for one transfer" + +#: src/fe-gtk/setup.c:193 +msgid "Max. receive CPS:" +msgstr "Max. receive CPS:" + +#: src/fe-gtk/setup.c:195 +msgid "Max. global send CPS:" +msgstr "Max. global send CPS:" + +#: src/fe-gtk/setup.c:196 src/fe-gtk/setup.c:198 +msgid "Max. speed for all traffic" +msgstr "Max. speed for all traffic" + +#: src/fe-gtk/setup.c:197 +msgid "Max. global receive CPS:" +msgstr "Max. global receive CPS:" + +#: src/fe-gtk/setup.c:199 +msgid "(Leave at zero for full speed file transfers)." +msgstr "(Leave at zero for full speed file transfers)." + +#: src/fe-gtk/setup.c:205 +msgid "Default quit message:" +msgstr "Default quit message:" + +#: src/fe-gtk/setup.c:206 +msgid "Default part message:" +msgstr "Default part message:" + +#: src/fe-gtk/setup.c:207 +msgid "Default away message:" +msgstr "Default away message:" + +#: src/fe-gtk/setup.c:209 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "(Can be a text file relative to ~/.xchat2/)." + +#: src/fe-gtk/setup.c:211 +msgid "(Can be a text file relative to config dir)." +msgstr "(Can be a text file relative to config dir)." + +#: src/fe-gtk/setup.c:213 +msgid "Extra words to highlight on:" +msgstr "Extra words to highlight on:" + +#: src/fe-gtk/setup.c:214 +msgid "(Separate multiple words with commas)." +msgstr "(Separate multiple words with commas)." + +#: src/fe-gtk/setup.c:215 +msgid "Show away once" +msgstr "Show away once" + +#: src/fe-gtk/setup.c:215 +msgid "Show identical away messages only once" +msgstr "Show identical away messages only once" + +#: src/fe-gtk/setup.c:216 +msgid "Beep on private messages" +msgstr "Beep on private messages" + +#: src/fe-gtk/setup.c:217 +msgid "Automatically unmark away" +msgstr "Automatically unmark away" + +#: src/fe-gtk/setup.c:217 +msgid "Unmark yourself as away before sending messages" +msgstr "Unmark yourself as away before sending messages" + +#: src/fe-gtk/setup.c:218 +msgid "Beep on channel messages" +msgstr "Beep on channel messages" + +#: src/fe-gtk/setup.c:219 +msgid "Announce away messages" +msgstr "Announce away messages" + +#: src/fe-gtk/setup.c:219 +msgid "Announce your away messages to all channels" +msgstr "Announce your away messages to all channels" + +#: src/fe-gtk/setup.c:220 +msgid "Beep on highlighted messages" +msgstr "Beep on highlighted messages" + +#: src/fe-gtk/setup.c:221 +msgid "Display MODEs in raw form" +msgstr "Display MODEs in raw form" + +#: src/fe-gtk/setup.c:222 +msgid "Whois on notify" +msgstr "Whois on notify" + +#: src/fe-gtk/setup.c:222 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Sends a /WHOIS when a user comes online in your notify list" + +#: src/fe-gtk/setup.c:223 +msgid "Hide join/part messages" +msgstr "Hide join/part messages" + +#: src/fe-gtk/setup.c:223 +msgid "Hide channel join/part messages by default" +msgstr "Hide channel join/part messages by default" + +#: src/fe-gtk/setup.c:224 +msgid "Auto reconnect delay:" +msgstr "Auto reconnect delay:" + +#: src/fe-gtk/setup.c:230 +msgid "Log filename mask:" +msgstr "Log filename mask:" + +#: src/fe-gtk/setup.c:231 +#, c-format +msgid "(%s=Server %c=Channel %n=Network)." +msgstr "(%s=Server %c=Channel %n=Network)." + +#: src/fe-gtk/setup.c:232 +msgid "Log timestamp format:" +msgstr "Log timestamp format:" + +#: src/fe-gtk/setup.c:233 +msgid "(See strftime manpage for details)." +msgstr "(See strftime manpage for details)." + +#: src/fe-gtk/setup.c:234 +msgid "Enable logging of conversations" +msgstr "Enable logging of conversations" + +#: src/fe-gtk/setup.c:235 +msgid "Insert timestamps in logs" +msgstr "Insert timestamps in logs" + +#: src/fe-gtk/setup.c:241 +msgid "(Disabled)" +msgstr "(Disabled)" + +#: src/fe-gtk/setup.c:242 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:243 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:244 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:245 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:251 +msgid "Address to bind to:" +msgstr "Address to bind to:" + +#: src/fe-gtk/setup.c:252 +msgid "(Only useful for computers with multiple addresses)." +msgstr "(Only useful for computers with multiple addresses)." + +#: src/fe-gtk/setup.c:253 +msgid "Proxy server" +msgstr "Proxy server" + +#: src/fe-gtk/setup.c:254 +msgid "Hostname:" +msgstr "Hostname:" + +#: src/fe-gtk/setup.c:255 +msgid "Username:" +msgstr "Username:" + +#: src/fe-gtk/setup.c:256 +msgid "Password:" +msgstr "Password:" + +#: src/fe-gtk/setup.c:257 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:258 +msgid "Type:" +msgstr "Type:" + +#: src/fe-gtk/setup.c:260 +msgid "Authenticate to the proxy server (only HTTP)" +msgstr "Authenticate to the proxy server (only HTTP)" + +#: src/fe-gtk/setup.c:483 +msgid "Select an Image File" +msgstr "Select an Image File" + +#: src/fe-gtk/setup.c:530 +msgid "Select font" +msgstr "Select font" + +#: src/fe-gtk/setup.c:604 +msgid "Browse..." +msgstr "Browse..." + +#: src/fe-gtk/setup.c:768 +msgid "Select color" +msgstr "Select colour" + +#: src/fe-gtk/setup.c:834 +msgid "mIRC colors:" +msgstr "mIRC colours:" + +#: src/fe-gtk/setup.c:843 +msgid "Foreground:" +msgstr "Foreground:" + +#: src/fe-gtk/setup.c:844 +msgid "Background:" +msgstr "Background:" + +#: src/fe-gtk/setup.c:846 +msgid "Mark fore:" +msgstr "Mark fore:" + +#: src/fe-gtk/setup.c:847 +msgid "Mark back:" +msgstr "Mark back:" + +#: src/fe-gtk/setup.c:849 +msgid "Away User:" +msgstr "Away User:" + +#: src/fe-gtk/setup.c:851 +msgid "Tab colors" +msgstr "Tab colours" + +#: src/fe-gtk/setup.c:862 +msgid "New Data:" +msgstr "New Data:" + +#: src/fe-gtk/setup.c:863 +msgid "New Message:" +msgstr "New Message:" + +#: src/fe-gtk/setup.c:864 +msgid "Highlight:" +msgstr "Highlight:" + +#: src/fe-gtk/setup.c:902 +msgid "Interface" +msgstr "Interface" + +#: src/fe-gtk/setup.c:903 +msgid "Text box" +msgstr "Text box" + +#: src/fe-gtk/setup.c:904 +msgid "Input box" +msgstr "Input box" + +#: src/fe-gtk/setup.c:905 +msgid "User list" +msgstr "User list" + +#: src/fe-gtk/setup.c:907 +msgid "Colors" +msgstr "Colours" + +#: src/fe-gtk/setup.c:909 +msgid "Chatting" +msgstr "Chatting" + +#: src/fe-gtk/setup.c:910 +msgid "General" +msgstr "General" + +#: src/fe-gtk/setup.c:911 +msgid "Logging" +msgstr "Logging" + +#: src/fe-gtk/setup.c:913 +msgid "Network" +msgstr "Network" + +#: src/fe-gtk/setup.c:914 +msgid "Network setup" +msgstr "Network setup" + +#: src/fe-gtk/setup.c:915 +msgid "File transfers" +msgstr "File transfers" + +#: src/fe-gtk/setup.c:1020 +msgid "Categories" +msgstr "Categories" + +#: src/fe-gtk/setup.c:1146 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Some settings were changed that require a restart to take full effect." + +#: src/fe-gtk/setup.c:1173 +msgid "X-Chat: Preferences" +msgstr "X-Chat: Preferences" + +#: src/fe-gtk/textgui.c:184 +msgid "There was an error parsing the string" +msgstr "There was an error parsing the string" + +#: src/fe-gtk/textgui.c:192 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "This signal is only passed %d args, $%d is invalid" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:326 +msgid "Print Texts File" +msgstr "Print Texts File" + +#: src/fe-gtk/textgui.c:382 +msgid "Event" +msgstr "Event" + +#: src/fe-gtk/textgui.c:384 +msgid "Sound" +msgstr "Sound" + +#: src/fe-gtk/textgui.c:386 +msgid "$ Number" +msgstr "$ Number" + +#: src/fe-gtk/textgui.c:396 +msgid "Edit Events" +msgstr "Edit Events" + +#: src/fe-gtk/textgui.c:434 +msgid "Sound file: " +msgstr "Sound file: " + +#: src/fe-gtk/textgui.c:469 +msgid "Save As" +msgstr "Save As" + +#: src/fe-gtk/textgui.c:474 +msgid "Load From" +msgstr "Load From" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Test All" + +#: src/fe-gtk/urlgrab.c:97 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:147 +msgid "Select a file to save to" +msgstr "Select a file to save to" + +#: src/fe-gtk/urlgrab.c:187 +msgid "X-Chat: URL Grabber" +msgstr "X-Chat: URL Grabber" + +#: src/fe-gtk/urlgrab.c:200 +msgid "Clear list" +msgstr "Clear list" + +#: src/fe-gtk/urlgrab.c:202 +msgid "Copy selected URL" +msgstr "Copy selected URL" + +#: src/fe-gtk/urlgrab.c:202 +msgid "Copy" +msgstr "Copy" + +#: src/fe-gtk/urlgrab.c:204 +msgid "Save list to a file" +msgstr "Save list to a file" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d total" diff --git a/po/es.po b/po/es.po new file mode 100644 index 00000000..3a7262f0 --- /dev/null +++ b/po/es.po @@ -0,0 +1,5569 @@ +# Mensajes en español para X-Chat +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the X-Chat package. +# Juan Pablo Puerta <jppuerta@iname.com>, 1999 +# Antonio de la Torre <adltorre@terra.es>, 2001 +# Pablo Gonzalo del Campo <pablodc@bigfoot.com>,2002 +# Ramón Rey Vicente <ramon.rey@hispalinux.es>, 2003,2004 +# Rafael Bermúdez <rafaelbermudez@gmail.com>, 2006 +# Rubén C. Díaz Alonso <outime@gmail.com>, 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.6.7\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2006-06-15 00:12+1000\n" +"PO-Revision-Date: 2006-08-30 13:56-0700\n" +"Last-Translator: Rubén C. Díaz Alonso <outime@gmail.com>\n" +"Language-Team: Spanish <es@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/common/cfgfiles.c:350 +msgid "Cannot create ~/.xchat2" +msgstr "No se puede crear ~/.xchat2" + +#: src/common/cfgfiles.c:683 +msgid "I'm busy" +msgstr "Estoy ocupado" + +#: src/common/cfgfiles.c:684 +msgid "Leaving" +msgstr "Saliendo" + +#: src/common/cfgfiles.c:730 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* ¡Ejecutar IRC como root es peligroso!. Debería crear una\n" +" cuenta de usuario normal y usarla para conectarse.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Esperando" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Activo" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Ha fallado" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Terminado" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:740 +msgid "Connect" +msgstr "Conectar" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Abortado" + +#: src/common/dcc.c:1875 src/common/outbound.c:2246 +#, c-format +msgid "Cannot access %s\n" +msgstr "No se puede acceder a %s\n" + +#: src/common/dcc.c:2362 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s está ofreciendo \"%s\". ¿Deseas aceptar?" + +#: src/common/dcc.c:2573 +msgid "No active DCCs\n" +msgstr "No hay DCCs activos\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "SÍ " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "NO " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Está recibiendo demasiados CTCP de %s, ignorando a %s\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "Está recibiendo demasiados MSG de %s, desactivando autodiálogo.\n" + +#: src/common/notify.c:396 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s conectados\n" + +#: src/common/notify.c:398 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s desconectados\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "No ha entrado en ningún canal. Intente /join #<canal>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "No está conectado. Intente /server <equipo> [<puerto>]\n" + +#: src/common/outbound.c:1650 +msgid "I need /bin/sh to run!\n" +msgstr "¡Se necesita /bin/sh para poder ejecutarse!\n" + +#: src/common/outbound.c:1983 +msgid "Commands Available:" +msgstr "Órdenes disponibles:" + +#: src/common/outbound.c:1997 +msgid "User defined commands:" +msgstr "Órdenes definidas por el usuario:" + +#: src/common/outbound.c:2013 +msgid "Plugin defined commands:" +msgstr "Órdenes definidas por el complemento:" + +#: src/common/outbound.c:2024 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Escriba /HELP <orden> para obtener más información, ó /HELP -l" + +#: src/common/outbound.c:2099 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Argumento desconocido '%s' ignorado." + +#: src/common/outbound.c:2960 +msgid "No such plugin found.\n" +msgstr "No se encontró la extensión.\n" + +#: src/common/outbound.c:2965 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Esta extensión se niega a ser desactivada.\n" + +#: src/common/outbound.c:3200 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "" +"ADDBUTTON <nombre> <acción>, añade un botón debajo de la lista de usuarios" + +#: src/common/outbound.c:3202 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "" +"ALLCHAN <cmd>, envía una orden a todos los canales a los que se ha unido" + +#: src/common/outbound.c:3204 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "" +"ALLCHAN <cmd>, envía una orden a todos los canales a los que se ha unido" + +#: src/common/outbound.c:3206 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "" +"ALLSERV <cmd>, envía una orden a todos los servidores a los que se ha " +"conectado" + +#: src/common/outbound.c:3207 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<razón>], establece su ausencia" + +#: src/common/outbound.c:3209 +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 <máscara> [<tipo de veto>], banea a todos aquellos que concuerden con la " +"máscara del canal actual. Si ya están en el canal esto no les expulsa (es " +"necesario ser operador del canal)" + +#: src/common/outbound.c:3211 +msgid "CLEAR, Clears the current text window" +msgstr "CLEAR, Limpia la ventana de texto actual" + +#: src/common/outbound.c:3212 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, Cierra la ventana o solapa actual" + +#: src/common/outbound.c:3215 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "" +"COUNTRY [-s] <código|comodín>, busca un código de país, ej: au = Australia" + +#: src/common/outbound.c:3217 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" +"CTCP <apodo> <mensaje>, envía el mensaje CTCP al apodo, los mensajes comunes " +"son VERSION y USERINFO" + +#: src/common/outbound.c:3219 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "CYCLE, se marcha del canal actual y vuelve a entrar inmediatamente" + +#: src/common/outbound.c:3221 +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 "" +"\n" +"DCC GET <apodo> - recibe un archivo ofrecido\n" +"DCC SEND [-maxcps=#] <apodo> [archivo] - envía un archivo a una persona\n" +"DCC PSEND [-maxcps=#] <apodo> [archivo] - envía un archivo usando modo " +"pasivo\n" +"DCC LIST - muestra la lista DCC\n" +"DCC CHAT <apodo> - ofrece el DCC CHAT a alguien\n" +"DCC PCHAT <apodo> - ofrece el DCC CHAT usando modo " +"pasivo\n" +"DCC CLOSE <tipo> <apodo> <archivo> - ejemplo:\n" +" /dcc close send juanperez archivo.tar.gz" + +#: src/common/outbound.c:3233 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" +"DEHOP <apodo>, quita el estado de semi-operador del canal al apodo en el " +"canal actual (necesita ser operador del canal)" + +#: src/common/outbound.c:3235 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nombre>, borra un botón de debajo de la lista de usuarios" + +#: src/common/outbound.c:3237 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEOP <apodo>, quita el estado de operador al apodo en el canal actual " +"(necesita ser operador del canal)" + +#: src/common/outbound.c:3239 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEVOICE <apodo>, quita el estado de voz del apodo en el canal actual " +"(necesita ser operador del canal)" + +#: src/common/outbound.c:3240 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Se desconecta del servidor" + +#: src/common/outbound.c:3241 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <apodo|equipo|ip>, Busca la dirección IP de un usuario" + +#: src/common/outbound.c:3242 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <texto>, Imprime texto localmente" + +#: src/common/outbound.c:3245 +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] <orden>, ejecuta la orden. Si se usa la bandera -o entonces la " +"salida es enviada al canal actual, si no, se imprime en la caja de texto " +"actual" + +#: src/common/outbound.c:3247 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, envía al proceso la señal de continuar" + +#: src/common/outbound.c:3250 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" +"EXECKILL [-9], mata un ejecutable corriendo en la sesión actual. Si de " +"indica -9 el proceso es matado por la fuerza" + +#: src/common/outbound.c:3252 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, envía al proceso la señal de detenerse" + +#: src/common/outbound.c:3253 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, envía los datos a la entrada estándar del proceso" + +#: src/common/outbound.c:3257 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, borra la cola de envío actual del servidor" + +#: src/common/outbound.c:3259 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" +"GATE <equipo> [<puerto>], utiliza un proxy a través de un equipo, el puerto " +"predeterminado es el 23" + +# fuzzy +#: src/common/outbound.c:3262 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <apodo> <contraseña> " + +#: src/common/outbound.c:3267 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" +"HOP <apodo>, otorga estado de semi-operador al apodo (necesita ser operador " +"del canal)" + +# fuzzy +#: src/common/outbound.c:3268 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <contraseña> " + +#: src/common/outbound.c:3270 +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 <máscara> <tipos..> <opciones..>\n" +" máscara - máscara de equipos a ignorar, ej: *!*@*.aol.com\n" +" tipos - tipos de datos a ignorar, uno o todos de:\n" +" PRIV, CHAN, NOTI, CTCP, INVI, ALL\n" +" opciones - NOSAVE, QUIET" + +#: src/common/outbound.c:3277 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" +"INVITE <apodo> [<canal>], invita a alguien a un canal, por omisión el canal " +"actual (necesita ser operador del canal)" + +#: src/common/outbound.c:3278 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <canal>, entra al canal" + +#: src/common/outbound.c:3280 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "" +"KICK <apodo>, expulsa al apodo del canal actual (necesita ser operador del " +"canal)" + +#: src/common/outbound.c:3282 +msgid "" +"KICKBAN <nick>, bans then kicks the nick from the current channel (needs " +"chanop)" +msgstr "" +"KICKBAN <apodo>, banea y luego expulsa al apodo del canal actual (necesita " +"ser operador del canal)" + +#: src/common/outbound.c:3285 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, fuerza una nueva prueba de retardo" + +#: src/common/outbound.c:3287 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <texto>, busca el texto en el buffer" + +#: src/common/outbound.c:3289 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <archivo>, carga un complemento (plugin) o un guión (script)" + +#: src/common/outbound.c:3292 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" +"MDEHOP, Quita masivamente el estado de semi-operador en el canal actual " +"(necesita ser operador del canal)" + +#: src/common/outbound.c:3294 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" +"MDEOP, Quita masivamente el estado de operador en el canal actual (necesita " +"ser operador del canal)" + +#: src/common/outbound.c:3296 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in " +"the 3rd person, like /me jumps)" +msgstr "" +"ME <acción>, envía la acción al canal actual (las acciones están escritas en " +"tercera persona del inglés, como /me jumps)" + +#: src/common/outbound.c:3299 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" +"MKICK, Expulsa masivamente a todos excepto a usted en el canal actual " +"(necesita ser operador del canal)" + +#: src/common/outbound.c:3302 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" +"MOP, Otorga masivamente el estado de operador del canal actual (necesita ser " +"operador del canal)" + +#: src/common/outbound.c:3303 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <apodo> <mensaje>, envía un mensaje privado" + +#: src/common/outbound.c:3306 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, Lista los apodos del canal actual" + +#: src/common/outbound.c:3308 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <apodo> <mensaje>, Envía una noticia CTCP" + +#: src/common/outbound.c:3309 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <nombre del equipo> [<puerto>]" + +#: src/common/outbound.c:3310 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <apodo>, establece su apodo" + +#: src/common/outbound.c:3313 +msgid "" +"NOTICE <nick/channel> <message>, sends a notice. Notices are a type of " +"message that should be auto reacted to" +msgstr "" +"NOTICE <apodo/canal> <mensaje>, envía una noticia. Las noticias son una " +"especie de mensaje que debería ser auto publicado" + +#: src/common/outbound.c:3315 +msgid "NOTIFY [<nick>], lists your notify list or adds someone to it" +msgstr "" +"NOTIFY [<apodo>], lista su lista de notificaciones o agrega a alguien a ella" + +#: src/common/outbound.c:3317 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" +"OP <apodo>, otorga el estado de operador del canal al apodo (necesita ser " +"operador del canal)" + +#: src/common/outbound.c:3319 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "" +"PART [<canal>] [<razón>], abandona el canal, por omisión el canal actual" + +#: src/common/outbound.c:3321 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <apodo | canal>, Envía pings CTCP al apodo o canal" + +#: src/common/outbound.c:3323 +msgid "QUERY <nick>, opens up a new privmsg window to someone" +msgstr "" +"QUERY <apodo>, abre una nueva ventana privada de mensajes hacia alguien" + +#: src/common/outbound.c:3325 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<razón>], se desconecta del servidor actual" + +#: src/common/outbound.c:3327 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <texto>, envía el texto en formato plano hacia el servidor" + +#: src/common/outbound.c:3330 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /" +"RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" +"RECONNECT [-ssl] [<equipo>] [<puerto>] [<contraseña>], Puede ser llamado " +"sólo como /RECONNECT para reconectarse al servidor actual o con /" +"RECONNECT_ALL para reconectarse a todos los servidores abiertos" + +#: src/common/outbound.c:3333 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" +"RECONNECT [<equipo>] [<puerto>] [<contraseña>], Puede ser llamado sólo como /" +"RECONNECT para reconectarse al servidor actual o con /RECONNECT ALL para " +"reconectarse a todos los servidores abiertos" + +#: src/common/outbound.c:3335 +msgid "" +"RECV <text>, send raw data to xchat, as if it was received from the irc " +"server" +msgstr "" +"RECV <texto>, envía datos crudos hacia xchat como si estos fuesen recibidos " +"desde el servidor IRC" + +#: src/common/outbound.c:3338 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <texto>, envía el texto hacia un objeto de la ventana actual" + +#: src/common/outbound.c:3339 +msgid "SEND <nick> [<file>]" +msgstr "SEND <apodo> [<archivo>]" + +#: src/common/outbound.c:3342 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" +"SERVCHAN [-ssl] <equipo> <puerto> <canal>, Lo conecta y entra en un canal" + +#: src/common/outbound.c:3345 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <channel>, Le conecta y entra en un canal" + +#: src/common/outbound.c:3349 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" +"SERVER [-ssl] <equipo> [<puerto>] [<contraseña>], lo conecta al servidor, el " +"puerto predeterminado es 6667 para conexiones normales y 9999 para " +"conexiones ssl" + +#: src/common/outbound.c:3352 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" +"SERVER <equipo> [<puerto>] [<contraseña>], lo conecta a un servidor, el " +"puerto predeterminado es 6667" + +#: src/common/outbound.c:3354 +msgid "SET [-quiet] <variable> [<value>]" +msgstr "SET [-quite] <variable> [<valor>]" + +#: src/common/outbound.c:3355 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<posición>" + +#: src/common/outbound.c:3359 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "" +"TOPIC [<asunto>], Establece el asunto si se provee uno, si no, muestra el " +"topic actual" + +#: src/common/outbound.c:3361 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "" +"UNBAN <máscara> [<máscara>...], reincorpora las máscaras especificadas." + +#: src/common/outbound.c:3362 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <máscara> [QUIET]" + +#: src/common/outbound.c:3363 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nombre>, desactiva una extensión (plugin) o un guión (script)" + +#: src/common/outbound.c:3364 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, abre una URL en su navegador" + +#: src/common/outbound.c:3366 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "" +"USELECT [-a] [-s] <apodo1> <apodo2> etc, resalta el (los) apodo(s) en la " +"lista de usuarios del canal" + +#: src/common/outbound.c:3369 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" +"VOICE <apodo>, le otorga el estado de voz a alguien (necesita ser operador " +"del canal)" + +#: src/common/outbound.c:3371 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <mensaje>, escribe el mensaje a todos los canales" + +#: src/common/outbound.c:3373 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" +"WALLCHOP <mensaje>, envía el mensaje a todos los operadores del canal en el " +"canal actual" + +#: src/common/outbound.c:3406 +#, c-format +msgid "Usage: %s\n" +msgstr "Uso: %s\n" + +#: src/common/outbound.c:3411 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"No hay ayuda disponible para esa orden.\n" + +#: src/common/outbound.c:3417 +msgid "No such command.\n" +msgstr "No existe esa orden.\n" + +#: src/common/outbound.c:3744 +msgid "Bad arguments for user command.\n" +msgstr "Argumentos erróneos para la orden de usuario.\n" + +#: src/common/outbound.c:3900 +msgid "Too many recursive usercommands, aborting." +msgstr "Demasiados comandos recursivos de usuario, abortando." + +#: src/common/outbound.c:3977 +msgid "Unknown Command. Try /help\n" +msgstr "Orden desconocida. Pruebe /help\n" + +#: src/common/plugin.c:371 src/common/plugin.c:412 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "" +"No tiene el símbolo xchat_plugin_init. ¿Es de verdad una extensiçon de xchat?" + +#: src/common/server.c:621 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "¿Está seguro de que es un servidor y un puerto con SSL?\n" + +#: src/common/server.c:1005 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"No se pudo resolver el nombre de equipo %s\n" +"¡Verifique su configuración de IP!\n" + +#: src/common/server.c:1010 +msgid "Proxy traversal failed.\n" +msgstr "Ha fallado el proxy traversal.\n" + +#: src/common/servlist.c:641 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Ciclando al siguiente servidor en %s...\n" + +#: src/common/servlist.c:1065 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" +"Atención: el conjunto de caracteres \"%s\" es desconocido. No se\n" +"aplicará conversión para la red %s." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 añadido a la lista de notificaciones." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Lista de bans:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tNo puede entrar%C26 %B$1 %O(Estás baneado)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 es ahora conocido como $2" + +#: src/common/textevents.h:21 +msgid "%C18*$t$1%O $2" +msgstr "%C18*$t$1%O $2" + +#: src/common/textevents.h:24 +msgid "%C21*%O$t%C21%B$1%O%C21 $2" +msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 banea a $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tCanal $1 creado en $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O quita semi-OP a%C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O quita OP de a%C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O quita voz a%C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 establece a $2 como exento" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O da estado de semi-OP a%C26 $2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 invita a $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UTema de los usuarios del canal" + +#: src/common/textevents.h:54 +msgid "%C18%H<%H$4$1%H>%H%O$t$2" +msgstr "%C18%H<%H$4$1%H>%H%O$t$2" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 establece modo $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Canal $1 modos: $2" + +#: src/common/textevents.h:63 +msgid "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" +msgstr "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" + +#: src/common/textevents.h:66 +msgid "%C28-%C29$1/$2%C28-%O$t$3" +msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O da OP a%C26 $2" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 quita la exención a $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 quita invitación a $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 quita contraseña del canal" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 quita límite de usuarios" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 establece contraseña del canal del canal como $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 establece límite del canal a $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 quita veto a $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O da voz a%C26 $2" + +#: src/common/textevents.h:96 +#, fuzzy +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Conectado. Ahora registrándose.." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Conectando a $1 ($2) puerto $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Fallo en la conexión. Error: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tSe ha recibido un CTCP $1 de $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tSe ha recibido un CTCP $1 de $2 (a $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tSe ha recibido un sonido CTCP $1 de $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tSe ha recibido un CTCP $1 de $2 (a $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tCharla DCC para %C26$1%O abortada." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "" +"%C22*%O$tConexión para charla DCC establecida con %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tCharla DCC con %C26$1%O perdida. $4." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tSe ha recibido una oferta de charla DCC de $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tOfreciendo charla DCC a $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tYa se está ofreciendo una charla a $1" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tEl intento de conexión DCC $1 con%C26 $2%O falló (err=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tSe ha recibido '$1%O' de $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Tipo De/Para Estado Tamaño Pos Archivo " + +#: src/common/textevents.h:147 +msgid "" +"%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O" +"$tContents of packet: $2" +msgstr "" +"%C22*%O$tSe ha recibido una petición DCC errónea de %C26$1%O.%010%C22*%O" +"$tContenidos del paquete: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tOfrece%C26 $1%O a%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tNo existe tal oferta DCC." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "-%C10-%C11-%O$tRecepción DCC %C11$2%O para %C11$1%O abortado." + +#: src/common/textevents.h:159 +msgid "" +"%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "" +"%C22*%O$tRecepción DCC %C26 $1%O de%C26 $3%O completada %C30[%C26$4%O cps%" +"C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "" +"%C22*%O$tConexión para recepción DCC establecida con%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tRecepción DCC %C26 $1%O de%C26 $3%O falló ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tRecepción DCC: No se pudo abrir $1 para escritura ($2)." + +#: src/common/textevents.h:171 +msgid "" +"%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "" +"%C22*%O$tEl archivo%C26 $1%C ya existe, guardándolo como%C26 $2%O en su " +"lugar." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Oha pedido retomar %C26 $2 %Cde%C26 $3%C." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tEnvío DCC%C26 $2%O para%C26 $1%O abortado." + +#: src/common/textevents.h:180 +msgid "" +"%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "" +"%C22*%O$tEnvío DCC%C26 $1%O para%C26 $2%O completado %C30[%C26$3%O cps%C30]%" +"O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tConexión para envío DCC establecida con%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tEl envío DCC%C26 $1%O para%C26 $2%O falló. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Oha ofrecido%C26 $2 %O(%C26$3 %Obytes)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Opara%C26 $3 %Cse paró - abortando." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "" +"%C22*%O$tDCC $1%C26 $2 %Opara%C26 $3 %Oagotó el tiempo de espera - abortando." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 borrado de la lista de notificaciones." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tDesconectado ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tEncontró su IP: [$1]" + +#: src/common/textevents.h:207 +msgid "$1$t$2" +msgstr "$1$t$2" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O añadido a la lista de ignorados." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Ignorar a %C26$1%O cambió" + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Máscara PRIV NOTI CAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O se quitó de la lista de ignorados." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " La lista de ignorados está vacía." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "" +"%C22*%O$tNo pudo entrar a%C26 %B$1 %O(El canal es sólo para invitados)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tHa sido invitado a%C26 $1%O por%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) ha entrado en $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tNo pudo entrar%C26 %B$1 %O(Requiere palabra clave)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 ha echado a $2 de $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tHa sido eliminado por $1 ($2%O%C22)" + +#: src/common/textevents.h:246 src/common/textevents.h:270 +msgid "%C19>%O$1%C19<%O$t$2" +msgstr "%C19>%O$1%C19<%O$t$2" + +#: src/common/textevents.h:249 +msgid "%C16*%O$t$1%O" +msgstr "%C16*%O$t$1%O" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22Se saltó el mensaje del día (MOTD)." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 ya está en uso. Reintentando con $2.." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "" +"%C22*%O$tEl apodo ya está siendo usado. Use /NICK para intentar con otro." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tNo existe ese DCC." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tNo se está ejecutando ningún proceso actualmente" + +#: src/common/textevents.h:267 +msgid "%C28-%C29$1%C28-%O$t$2" +msgstr "%C28-%C29$1%C28-%O$t$2" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tLa lista de notificaciones está vacía." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Lista de notificación " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 usuarios en la lista de notificaciones." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($2)." +msgstr "-%C10-%C11-%O$tNotificación: $1 se ha desconectado ($2)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($2)." +msgstr "%C22*%O$tNotificación: $1 se ha conectado ($2)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) ha abandonado $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) ha abandonado $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tRespuesta al Ping de $1 : $2 segundo(s)" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tNo hubo respuesta al ping en $1 segundos, desconectando." + +#: src/common/textevents.h:303 +msgid "%C28*%C29$3$1%C28*$t%O$2" +msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#: src/common/textevents.h:306 +msgid "%C18%H<%H$3$1%H>%H%O$t$2" +msgstr "%C18%H<%H$3$1%H>%H%O$t$2" + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tYa se está ejecutando un proceso" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 se ha marchado (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 establece modos%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Mensajes de los operadores%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tBuscando número de IP para%C26 $1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Conectado." + +#: src/common/textevents.h:327 src/common/textevents.h:333 +#: src/common/textevents.h:336 +msgid "%C22*%O$t$1" +msgstr "%C22*%O$t$1" + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Buscando $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tSe paró el anterior intento de conexión (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29El topic para $1%C %C29es $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 ha cambiado el topic a: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Topic para $1%C %C29definido por $2%C %C29en $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tEquipo desconocido. ¿Quizá se ha equivocado?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "" +"%C22*%O$tNo puede entrar a%C26 %B$1 %O(Se llegó al límite de usuarios)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Usuarios en $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cestá ausente %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OFinal de la lista WHOIS." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O inactivo%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O inactivo%C26 $2%O, entró:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "" +"%C22*%O$t%C28[%O$1%C28] %Overdadero usuario@equipo%C27 $2%O, verdadera IP%" +"C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Has entrado en $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tSe le ha echado de $2 por $3 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tHa abandonado el canal $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tHa abandonado el canal $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:405 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tEstá invitando%C26 $1%O a%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:408 +msgid "%C31%H<%H$4$1%H>%H%O%C30$t$2" +msgstr "%C31%H<%H$4$1%H>%H%O%C30$t$2" + +#: src/common/textevents.h:411 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tUsted es ahora conocido como $2" + +#: src/common/text.c:61 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** FINALIZANDO CONEXIÓN EN %s\n" + +#: src/common/text.c:263 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** INICIANDO CONEXIÓN EN %s\n" + +#: src/common/text.c:282 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* No se pudo abrir el archivo de registro para escritura. Compruebe los\n" +" persisos de %s/xchatlogs" + +#: src/common/text.c:516 +msgid "Left message" +msgstr "Mensaje de ausencia" + +#: src/common/text.c:517 +msgid "Right message" +msgstr "El mensaje" + +#: src/common/text.c:521 +msgid "The nick of the joining person" +msgstr "El apodo de la persona que entra" + +#: src/common/text.c:522 +msgid "The channel being joined" +msgstr "El canal al que está entrando" + +#: src/common/text.c:523 src/common/text.c:569 src/common/text.c:626 +msgid "The host of the person" +msgstr "El equipo de la persona" + +#: src/common/text.c:527 src/common/text.c:533 src/common/text.c:540 +#: src/common/text.c:607 src/common/text.c:733 src/common/text.c:740 +#: src/common/text.c:745 src/common/text.c:750 src/common/text.c:755 +#: src/common/text.c:761 src/common/text.c:766 src/common/text.c:770 +#: src/common/text.c:776 src/common/text.c:782 src/common/text.c:828 +#: src/common/text.c:838 src/common/text.c:843 src/common/text.c:848 +#: src/common/text.c:857 src/common/text.c:868 src/common/text.c:875 +#: src/common/text.c:881 src/common/text.c:886 src/common/text.c:891 +#: src/common/text.c:898 src/common/text.c:904 src/common/text.c:910 +#: src/common/text.c:915 src/common/text.c:920 src/common/text.c:924 +#: src/common/text.c:930 src/common/text.c:938 src/common/text.c:972 +#: src/common/text.c:977 +msgid "Nickname" +msgstr "Apodo" + +#: src/common/text.c:528 +msgid "The action" +msgstr "La acción" + +#: src/common/text.c:529 src/common/text.c:535 +msgid "Mode char" +msgstr "Modo carácter" + +#: src/common/text.c:534 +msgid "The text" +msgstr "El texto" + +#: src/common/text.c:536 src/common/text.c:609 +msgid "Identified text" +msgstr "Texto de info" + +#: src/common/text.c:541 src/common/text.c:597 src/common/text.c:603 +#: src/common/text.c:608 +msgid "The message" +msgstr "El mensaje" + +#: src/common/text.c:545 src/common/text.c:613 +msgid "Old nickname" +msgstr "Apodo anterior" + +#: src/common/text.c:546 src/common/text.c:614 +msgid "New nickname" +msgstr "Nuevo apodo" + +#: src/common/text.c:550 +msgid "Nick of person who changed the topic" +msgstr "Apodo de la persona que ha cambiado el topic" + +#: src/common/text.c:551 src/common/text.c:557 src/fe-gtk/chanlist.c:607 +#: src/fe-gtk/chanlist.c:712 +msgid "Topic" +msgstr "Topic" + +#: src/common/text.c:552 src/common/text.c:556 src/common/text.c:992 +#: src/fe-gtk/chanlist.c:605 src/fe-gtk/chanlist.c:703 +#: src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Canal" + +#: src/common/text.c:561 src/common/text.c:620 +msgid "The nickname of the kicker" +msgstr "El apodo del que expulsa" + +#: src/common/text.c:562 src/common/text.c:618 +msgid "The person being kicked" +msgstr "La persona que esta siendo expulsada" + +#: src/common/text.c:563 src/common/text.c:570 src/common/text.c:574 +#: src/common/text.c:579 src/common/text.c:619 src/common/text.c:627 +#: src/common/text.c:634 +msgid "The channel" +msgstr "El canal" + +#: src/common/text.c:564 src/common/text.c:621 src/common/text.c:628 +msgid "The reason" +msgstr "La razón" + +#: src/common/text.c:568 src/common/text.c:625 +msgid "The nick of the person leaving" +msgstr "El apodo de la persona que abandona" + +#: src/common/text.c:575 src/common/text.c:581 +msgid "The time" +msgstr "El tiempo" + +#: src/common/text.c:580 +msgid "The creator" +msgstr "El creador" + +#: src/common/text.c:585 +msgid "Nick" +msgstr "Apodo" + +#: src/common/text.c:586 src/common/text.c:844 +msgid "Reason" +msgstr "Razón" + +#: src/common/text.c:587 src/common/text.c:735 src/common/text.c:818 +msgid "Host" +msgstr "Equipo" + +#: src/common/text.c:591 src/common/text.c:596 src/common/text.c:601 +msgid "Who it's from" +msgstr "De quién viene" + +#: src/common/text.c:592 +msgid "The time in x.x format (see below)" +msgstr "El tiempo en el formato x.x (vea debajo)" + +#: src/common/text.c:602 src/common/text.c:645 +msgid "The Channel it's going to" +msgstr "El canal se va a" + +#: src/common/text.c:632 +msgid "The sound" +msgstr "El sonido" + +#: src/common/text.c:633 src/common/text.c:639 src/common/text.c:644 +msgid "The nick of the person" +msgstr "El apodo de la persona" + +#: src/common/text.c:638 src/common/text.c:643 +msgid "The CTCP event" +msgstr "El evento CTCP" + +#: src/common/text.c:649 +msgid "The nick of the person who set the key" +msgstr "El apodo de la persona que establece la clave" + +#: src/common/text.c:650 +msgid "The key" +msgstr "La clave" + +#: src/common/text.c:654 +msgid "The nick of the person who set the limit" +msgstr "El apodo de la persona que establece el límite" + +#: src/common/text.c:655 +msgid "The limit" +msgstr "El limite" + +#: src/common/text.c:659 +msgid "The nick of the person who did the op'ing" +msgstr "El apodo de la persona que otorgó los permisos de operador" + +#: src/common/text.c:660 +msgid "The nick of the person who has been op'ed" +msgstr "El apodo de la persona que ha sido convertida en operador" + +#: src/common/text.c:664 +msgid "The nick of the person who has been halfop'ed" +msgstr "El apodo de la persona que ha sido convertida en semi-operador" + +#: src/common/text.c:665 +msgid "The nick of the person who did the halfop'ing" +msgstr "El apodo de la persona que otorgó los permisos de semi-operador" + +#: src/common/text.c:669 +msgid "The nick of the person who did the voice'ing" +msgstr "El apodo de la persona que otorgó los permisos de voz" + +#: src/common/text.c:670 +msgid "The nick of the person who has been voice'ed" +msgstr "El apodo de la persona que ha sido convertida en voz" + +#: src/common/text.c:674 +msgid "The nick of the person who did the banning" +msgstr "El apodo de la persona que realizó el veto (banning)" + +#: src/common/text.c:675 src/common/text.c:702 +msgid "The ban mask" +msgstr "La máscara de vetos" + +#: src/common/text.c:679 +msgid "The nick who removed the key" +msgstr "El apodo de quien ha eliminado la clave" + +#: src/common/text.c:683 +msgid "The nick who removed the limit" +msgstr "El apodo de quien ha eliminado el límite" + +#: src/common/text.c:687 +msgid "The nick of the person of did the deop'ing" +msgstr "El apodo de la persona que ha revocado los permisos de operador" + +#: src/common/text.c:688 +msgid "The nick of the person who has been deop'ed" +msgstr "El apodo de la persona a la que se la quitado el permiso de operador" + +#: src/common/text.c:691 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "El apodo de la persona que ha removido los permisos de semi-operador" + +#: src/common/text.c:692 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "" +"El apodo de la persona a la que se la quitado los permisos de semi-operador" + +#: src/common/text.c:696 +msgid "The nick of the person of did the devoice'ing" +msgstr "El apodo de la persona que ha revocado lo permisos de voz" + +#: src/common/text.c:697 +msgid "The nick of the person who has been devoice'ed" +msgstr "El apodo de la persona a la que se la quitado los permisos de voz" + +#: src/common/text.c:701 +msgid "The nick of the person of did the unban'ing" +msgstr "El apodo de la persona que ha revocado el veto" + +#: src/common/text.c:706 +msgid "The nick of the person who did the exempt" +msgstr "El apodo de la persona que otorgó la excepción" + +#: src/common/text.c:707 src/common/text.c:712 +msgid "The exempt mask" +msgstr "La máscara de excención" + +#: src/common/text.c:711 +msgid "The nick of the person removed the exempt" +msgstr "El apodo de la persona que ha quitado la exención" + +#: src/common/text.c:716 +msgid "The nick of the person who did the invite" +msgstr "El apodo de la persona que ha realizado la invitación" + +#: src/common/text.c:717 src/common/text.c:722 +msgid "The invite mask" +msgstr "La máscara de invitación" + +#: src/common/text.c:721 +msgid "The nick of the person removed the invite" +msgstr "El apodo de la persona que ha removido la invitación" + +#: src/common/text.c:726 +msgid "The nick of the person setting the mode" +msgstr "El apodo de la persona que ha establecido el modo" + +#: src/common/text.c:727 +msgid "The mode's sign (+/-)" +msgstr "El signo del modo (+/-)" + +#: src/common/text.c:728 +msgid "The mode letter" +msgstr "La letra del modo" + +#: src/common/text.c:729 +msgid "The channel it's being set on" +msgstr "El canal esta siendo configurado" + +#: src/common/text.c:734 +msgid "Username" +msgstr "Nombre de usuario" + +#: src/common/text.c:736 +msgid "Full name" +msgstr "Nombre completo" + +#: src/common/text.c:741 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Membresía de canal/es un operador de IRC" + +#: src/common/text.c:746 +msgid "Server Information" +msgstr "Información del servidor" + +#: src/common/text.c:751 src/common/text.c:756 +msgid "Idle time" +msgstr "Tiempo inactivo" + +#: src/common/text.c:757 +msgid "Signon time" +msgstr "Tiempo de conexión" + +#: src/common/text.c:762 +msgid "Away reason" +msgstr "Razón de ausencia" + +#: src/common/text.c:771 src/common/text.c:777 src/common/text.c:785 +#: src/common/text.c:964 +msgid "Message" +msgstr "Mensaje" + +#: src/common/text.c:778 +msgid "Account" +msgstr "Cuenta" + +#: src/common/text.c:783 +msgid "Real user@host" +msgstr "Verdadero usuario@equipo" + +#: src/common/text.c:784 +msgid "Real IP" +msgstr "Verdadera IP" + +#: src/common/text.c:789 src/common/text.c:798 src/common/text.c:804 +#: src/common/text.c:833 src/common/text.c:987 +msgid "Channel Name" +msgstr "Nombre del canal" + +#: src/common/text.c:793 src/common/text.c:950 src/fe-gtk/menu.c:1166 +#: src/fe-gtk/menu.c:1345 src/fe-gtk/textgui.c:387 +msgid "Text" +msgstr "Texto" + +#: src/common/text.c:794 src/common/text.c:800 src/common/text.c:829 +#: src/common/text.c:946 src/common/text.c:988 +msgid "Server Name" +msgstr "Nombre del servidor" + +#: src/common/text.c:799 +msgid "Nick of person who invited you" +msgstr "Apodo de la persona que le ha invitado" + +#: src/common/text.c:805 src/fe-gtk/chanlist.c:606 +msgid "Users" +msgstr "Usuarios" + +#: src/common/text.c:809 +msgid "Nickname in use" +msgstr "Apodo en uso" + +#: src/common/text.c:810 +msgid "Nick being tried" +msgstr "Intentando usar el apodo" + +#: src/common/text.c:814 src/common/text.c:851 src/common/text.c:862 +#: src/common/text.c:869 src/common/text.c:882 src/common/text.c:899 +#: src/common/text.c:999 src/common/util.c:352 +msgid "Error" +msgstr "Error" + +#: src/common/text.c:819 src/common/text.c:954 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:820 src/common/text.c:850 +msgid "Port" +msgstr "Puerto" + +#: src/common/text.c:824 +msgid "PID" +msgstr "PID" + +#: src/common/text.c:834 src/common/text.c:839 +msgid "Modes string" +msgstr "Cadena de modos" + +#: src/common/text.c:849 src/common/text.c:887 src/common/text.c:892 +#: src/common/text.c:933 +msgid "IP address" +msgstr "Dirección IP" + +#: src/common/text.c:855 src/common/text.c:880 +msgid "DCC Type" +msgstr "Tipo DCC" + +#: src/common/text.c:856 src/common/text.c:861 src/common/text.c:866 +#: src/common/text.c:873 src/common/text.c:893 src/common/text.c:897 +#: src/common/text.c:903 src/common/text.c:909 src/common/text.c:916 +#: src/common/text.c:925 src/common/text.c:931 +msgid "Filename" +msgstr "Nombre de archivo" + +#: src/common/text.c:867 src/common/text.c:874 +msgid "Destination filename" +msgstr "Nombre de archivo de destino" + +#: src/common/text.c:876 src/common/text.c:905 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:911 +msgid "Pathname" +msgstr "Ruta" + +#: src/common/text.c:926 src/fe-gtk/dccgui.c:537 src/fe-gtk/dccgui.c:709 +msgid "Position" +msgstr "Posición" + +#: src/common/text.c:932 src/fe-gtk/dccgui.c:353 src/fe-gtk/dccgui.c:536 +#: src/fe-gtk/dccgui.c:708 +msgid "Size" +msgstr "Tamaño" + +#: src/common/text.c:937 +msgid "DCC String" +msgstr "Cadena DCC" + +#: src/common/text.c:942 +msgid "Number of notify items" +msgstr "Número de elementos de notificación" + +#: src/common/text.c:958 +msgid "Old Filename" +msgstr "Nombre anterior del archivo" + +#: src/common/text.c:959 +msgid "New Filename" +msgstr "Nombre nuevo del archivo" + +#: src/common/text.c:963 +msgid "Receiver" +msgstr "Receptor" + +#: src/common/text.c:968 +msgid "Hostmask" +msgstr "Máscara de equipo" + +#: src/common/text.c:973 +msgid "Hostname" +msgstr "Nombre de equipo" + +#: src/common/text.c:978 +msgid "The Packet" +msgstr "El paquete" + +#: src/common/text.c:982 +msgid "Seconds" +msgstr "Segundos" + +#: src/common/text.c:986 +msgid "Nick of person who have been invited" +msgstr "Apodo de la persona que ha sido invitada" + +#: src/common/text.c:993 +msgid "Banmask" +msgstr "Máscara de veto" + +#: src/common/text.c:994 +msgid "Who set the ban" +msgstr "Quien ha establecido el veto" + +#: src/common/text.c:995 +msgid "Ban time" +msgstr "Tiempo de veto" + +#: src/common/text.c:1035 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Error al analizar el evento %s.\n" +"Cargando el predeterminado" + +#: src/common/text.c:1712 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"No se puede leer el archivo de sonido:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "Puerto cerrado en el equipo remoto" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Conexión rechazada" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "No hay ruta hacia el equipo" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Tiempo de espera de la conexión agotado" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "No se puede asignar esa dirección" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Conexión reiniciada por el par" + +#: src/common/util.c:839 +#, fuzzy +msgid "Ascension Island" +msgstr "Islas Cocos" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "Emiratos Arabes Unidos" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "Afganistán" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "Antigua y Barbuda" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "Albania" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "Armenia" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "Antillas Holandesas" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:849 +msgid "Antarctica" +msgstr "Antártida" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "DNS inverso" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "Samoa Americano" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "Austria" + +#: src/common/util.c:854 +msgid "Nato Fiel" +msgstr "Fiel a la OTAN" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:857 +#, fuzzy +msgid "Aland Islands" +msgstr "Islas Malvinas" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "Azerbaiyán" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia y Herzegovina" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "Bélgica" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "Negocios" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "Brunei" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "Brasil" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "Bután" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "Isla Bouvet" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "Bielorrusia" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "Belice" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "Canadá" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "Islas Cocos" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "República Centro Africana" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "Congo" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "Suiza" + +#: src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "Costa de Marfil" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "Islas Cook" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "Camerún" + +#: src/common/util.c:889 +msgid "China" +msgstr "China" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "Colombia" + +#: src/common/util.c:891 +msgid "Internic Commercial" +msgstr "Anuncio de Internic" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "Serbia y Montenegro" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "Cabo Verde" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "Isla Natividad" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "Chipre" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "República Checa" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "Alemania" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "Dibuti" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "Dinamarca" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "República Dominicana" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "Argelia" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "Institución educativa" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "Estonia" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "Egipto" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "Sahara Occidental" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "España" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "Etiopía" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "Finlandia" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "Islas Malvinas" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "Micronesia" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "Islas Feroe" + +#: src/common/util.c:919 +msgid "France" +msgstr "Francia" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "Gabón" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "Gran Bretaña" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "Granada" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "Georgia" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "Guayana Francesa" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "Islas del Canal de la Mancha" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "Groenlandia" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:931 +msgid "Government" +msgstr "Gobierno" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "Guadalupe" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "Guinea Ecuatorial" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "Grecia" + +#: src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Islas Georgia y Sandwich del Sur" + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "Guayana" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "Islas Heard y McDonald" + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "Croacia" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "Haití" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "Hungría" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "Indonesia" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "Irlanda" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:950 +msgid "India" +msgstr "India" + +#: src/common/util.c:951 +msgid "Informational" +msgstr "Informativo" + +#: src/common/util.c:952 +msgid "International" +msgstr "Internacional" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "Territorio Oceánico Indio Británico" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "Iraq" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "Irán" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "Islandia" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "Italia" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "Jordania" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "Japón" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "Kenia" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "Kyrgyzstan" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "Camboya" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "Comores" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "San Kitts y Nevis" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "Corea del Norte" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "Corea del Sur" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "Islas Caimán" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "Kazajistán" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "Líbano" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "Santa Lucía" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "Lesoto" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "Lituania" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "Luxemburgo" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "Letonia" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "Libia" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "Marruecos" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "Mónaco" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "Moldavia" + +#: src/common/util.c:987 +msgid "United States Medical" +msgstr "Servicio médico de Estados Unidos" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "Islas Marshall" + +#: src/common/util.c:990 +msgid "Military" +msgstr "Militar" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "Macedonia" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "Macao" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "Islas Marianas del Norte" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "Martinica" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "Mauricio" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "Maldivas" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "México" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "Malasia" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "Mozambique" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "Nueva Caledonia" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "Níger" + +#: src/common/util.c:1010 +msgid "Internic Network" +msgstr "Red de Internic" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "Isla Norfolk" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "Holanda" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "Noruega" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "Nueva Zelanda" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "Omán" + +#: src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "Organización sin ánimo de lucro Internic" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "Panamá" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "Perú" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "Polinesia Francesa" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "Papau Nueva Guinea" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "Filipinas" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "Pakistán" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "Polonia" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "San Pierre y Miquelon" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "Territorio Palestino" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "Reunión" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "Rumania" + +#: src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "Vieja escuela de ARPAnet" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "Federación Rusa" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "Arabia Saudí" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "Islas Salomón" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "Seychelles" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "Sudán" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "Suecia" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "Santa Helena" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "Eslovenia" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Islas Svalbard y Jan Mayen" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "República de Eslovaquia" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "Sierra Leona" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "Santo Tomé y Principe" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "Antigua URSS" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "Siria" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "Swazilandia" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "Islas Turks y Caicos" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "Chad" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "Territorios Franceses del Sur" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "Tailandia" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "Tayikistán" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1069 src/common/util.c:1073 +msgid "East Timor" +msgstr "Timor Oriental" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "Túnez" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "Turquía" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "Trinidad y Tobago" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "Ucrania" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "Reino Unido" + +#: src/common/util.c:1082 +msgid "US Minor Outlying Islands" +msgstr "Islas Americanas Menores del Exterior" + +#: src/common/util.c:1083 +msgid "United States of America" +msgstr "Estados Unidos" + +#: src/common/util.c:1084 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:1085 +msgid "Uzbekistan" +msgstr "Uzbekistán" + +#: src/common/util.c:1086 +msgid "Vatican City State" +msgstr "Ciudad Estado del Vaticano" + +#: src/common/util.c:1087 +msgid "St. Vincent and the Grenadines" +msgstr "San Vicente y las Granadinas" + +#: src/common/util.c:1088 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:1089 +msgid "British Virgin Islands" +msgstr "Islas Virgenes Británicas" + +#: src/common/util.c:1090 +msgid "US Virgin Islands" +msgstr "Islas Virgenes Norteamericanas" + +#: src/common/util.c:1091 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:1092 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1093 +msgid "Wallis and Futuna Islands" +msgstr "Islas Wallis y Futuna" + +#: src/common/util.c:1094 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1095 +msgid "Yemen" +msgstr "Yemen" + +#: src/common/util.c:1096 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:1097 +msgid "Yugoslavia" +msgstr "Yugoslavia" + +#: src/common/util.c:1098 +msgid "South Africa" +msgstr "Sudáfrica" + +#: src/common/util.c:1099 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:1100 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/util.c:1110 src/common/util.c:1120 src/fe-gtk/menu.c:516 +#: src/fe-gtk/menu.c:521 src/fe-gtk/menu.c:525 src/fe-gtk/menu.c:529 +#: src/fe-gtk/menu.c:537 src/fe-gtk/menu.c:555 +msgid "Unknown" +msgstr "Desconocido" + +#: src/common/xchat.c:753 src/common/xchat.c:879 +msgid "Open Dialog Window" +msgstr "Abrir la ventana de diálogo" + +#: src/common/xchat.c:754 +msgid "Send a File" +msgstr "Enviar un archivo" + +#: src/common/xchat.c:755 +msgid "User Info (WHOIS)" +msgstr "Información de usuario (WHOIS)" + +#: src/common/xchat.c:756 +msgid "Operator Actions" +msgstr "Opciones" + +#: src/common/xchat.c:758 src/common/xchat.c:849 +msgid "Give Ops" +msgstr "Dar Op" + +#: src/common/xchat.c:759 src/common/xchat.c:850 +msgid "Take Ops" +msgstr "Tomar Op" + +#: src/common/xchat.c:760 src/common/xchat.c:853 +msgid "Give Voice" +msgstr "Dar voz" + +#: src/common/xchat.c:761 src/common/xchat.c:854 +msgid "Take Voice" +msgstr "Tomar voz" + +#: src/common/xchat.c:763 src/common/xchat.c:858 +msgid "Kick/Ban" +msgstr "Echar/Banear" + +#: src/common/xchat.c:764 src/common/xchat.c:859 src/common/xchat.c:908 +msgid "Kick" +msgstr "Echar" + +#: src/common/xchat.c:765 src/common/xchat.c:766 src/common/xchat.c:767 +#: src/common/xchat.c:768 src/common/xchat.c:769 src/common/xchat.c:860 +#: src/common/xchat.c:861 src/common/xchat.c:862 src/common/xchat.c:863 +#: src/common/xchat.c:864 src/common/xchat.c:907 +msgid "Ban" +msgstr "Banear" + +#: src/common/xchat.c:770 src/common/xchat.c:771 src/common/xchat.c:772 +#: src/common/xchat.c:773 src/common/xchat.c:865 src/common/xchat.c:866 +#: src/common/xchat.c:867 src/common/xchat.c:868 +msgid "KickBan" +msgstr "Echar y banear" + +#: src/common/xchat.c:836 +msgid "Direct client-to-client" +msgstr "Cliente a cliente directamente" + +#: src/common/xchat.c:837 +msgid "Send File" +msgstr "Enviar archivo" + +#: src/common/xchat.c:838 +msgid "Offer Chat" +msgstr "Ofrecer charla" + +#: src/common/xchat.c:839 +msgid "Abort Chat" +msgstr "Abortar la charla" + +#: src/common/xchat.c:840 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Versión" + +#: src/common/xchat.c:841 +msgid "Userinfo" +msgstr "Información del usuario" + +#: src/common/xchat.c:842 +msgid "Clientinfo" +msgstr "Información del cliente" + +#: src/common/xchat.c:843 src/common/xchat.c:877 src/common/xchat.c:925 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:844 +msgid "Time" +msgstr "Tiempo" + +#: src/common/xchat.c:845 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:846 +msgid "Oper" +msgstr "Operador" + +#: src/common/xchat.c:847 +msgid "Kill this user" +msgstr "Eliminar a este usuario" + +#: src/common/xchat.c:848 +msgid "Mode" +msgstr "Modo" + +#: src/common/xchat.c:851 +msgid "Give Half-Ops" +msgstr "Dar Op" + +#: src/common/xchat.c:852 +msgid "Take Half-Ops" +msgstr "Tomar Op" + +#: src/common/xchat.c:855 +msgid "Ignore" +msgstr "Ignorar" + +#: src/common/xchat.c:856 +msgid "Ignore User" +msgstr "Ignorar usuario" + +#: src/common/xchat.c:857 +msgid "UnIgnore User" +msgstr "No ignorar usario" + +#: src/common/xchat.c:869 src/fe-gtk/dccgui.c:586 src/fe-gtk/dccgui.c:752 +msgid "Info" +msgstr "Info" + +#: src/common/xchat.c:870 +msgid "Who" +msgstr "Who" + +#: src/common/xchat.c:871 src/common/xchat.c:921 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/xchat.c:872 +msgid "DNS Lookup" +msgstr "Búsqueda DNS" + +#: src/common/xchat.c:873 +msgid "Trace" +msgstr "Rastrear" + +#: src/common/xchat.c:874 +msgid "UserHost" +msgstr "Máquina del usuario" + +#: src/common/xchat.c:875 +msgid "External" +msgstr "Programas externos" + +#: src/common/xchat.c:876 +msgid "Traceroute" +msgstr "Rastrear ruta" + +#: src/common/xchat.c:878 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:890 +msgid "Leave Channel" +msgstr "Abandonar canal" + +#: src/common/xchat.c:891 src/fe-gtk/menu.c:1352 +msgid "Join Channel..." +msgstr "Entrar al canal..." + +#: src/common/xchat.c:892 src/fe-gtk/menu.c:1047 +msgid "Enter Channel to Join:" +msgstr "Introduzca el canal al que quiere entrar:" + +#: src/common/xchat.c:893 +msgid "Server Links" +msgstr "Enlaces del servidor" + +#: src/common/xchat.c:894 +msgid "Ping Server" +msgstr "Ping al servidor" + +#: src/common/xchat.c:895 +msgid "Hide Version" +msgstr "Ocultar la versión" + +#: src/common/xchat.c:905 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:906 +msgid "DeOp" +msgstr "Quitar Op" + +#: src/common/xchat.c:909 +msgid "bye" +msgstr "adiós" + +#: src/common/xchat.c:910 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Introduzca razón para expulsar a %s:" + +#: src/common/xchat.c:911 +msgid "Sendfile" +msgstr "Enviar archivo" + +#: src/common/xchat.c:912 +msgid "Dialog" +msgstr "Diálogo" + +#: src/common/xchat.c:922 +msgid "Send" +msgstr "Enviar" + +#: src/common/xchat.c:923 +msgid "Chat" +msgstr "Charla" + +#: src/common/xchat.c:924 src/fe-gtk/banlist.c:321 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Limpiar" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "Acerca de XChat" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "Un cliente de IRC multiplataforma." + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Lista de caracteres" + +#: src/fe-gtk/banlist.c:112 src/fe-gtk/chanlist.c:301 +msgid "Not connected." +msgstr "No conectado." + +#: src/fe-gtk/banlist.c:153 src/fe-gtk/banlist.c:237 +msgid "You must select some bans." +msgstr "Debe seleccionar algún baneado" + +#: src/fe-gtk/banlist.c:252 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Máscara" + +#: src/fe-gtk/banlist.c:253 src/fe-gtk/dccgui.c:352 src/fe-gtk/dccgui.c:539 +msgid "From" +msgstr "De" + +#: src/fe-gtk/banlist.c:254 +msgid "Date" +msgstr "Fecha" + +#: src/fe-gtk/banlist.c:297 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Sólo puedes abrir la lista de bans mientras hay pestaña de canal." + +#: src/fe-gtk/banlist.c:301 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: Lista de bans (%s)" + +#: src/fe-gtk/banlist.c:317 +msgid "Unban" +msgstr "Eliminar veto" + +#: src/fe-gtk/banlist.c:319 +msgid "Crop" +msgstr "Achicar" + +#: src/fe-gtk/banlist.c:323 +msgid "Refresh" +msgstr "Refrescar" + +#: src/fe-gtk/chanlist.c:122 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "Estadísticas de usuarios y canales: %d/%d Usuarios en %d/%d Canales" + +#: src/fe-gtk/chanlist.c:544 +msgid "I can't save an empty list!" +msgstr "¡No se puede guardar una lista vacia!" + +#: src/fe-gtk/chanlist.c:547 src/fe-gtk/menu.c:983 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Seleccione un archivo de salida" + +#: src/fe-gtk/chanlist.c:615 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: Lista de canales (%s)" + +#: src/fe-gtk/chanlist.c:630 +msgid "List display options:" +msgstr "Opciones para mostrar la lista:" + +#: src/fe-gtk/chanlist.c:642 +msgid "Minimum Users:" +msgstr "Usuarios mínimos:" + +#: src/fe-gtk/chanlist.c:657 +msgid "Maximum Users:" +msgstr "Usuarios máximos:" + +#: src/fe-gtk/chanlist.c:673 +#, fuzzy +msgid "Pattern Match:" +msgstr "Coincidir con exp. regular:" + +#: src/fe-gtk/chanlist.c:675 +msgid "Regex Match:" +msgstr "Coincidir con exp. regular:" + +#: src/fe-gtk/chanlist.c:697 +msgid "Apply Match to:" +msgstr "Aplicar coincidencia a:" + +#: src/fe-gtk/chanlist.c:721 +msgid "Apply" +msgstr "Aplicar" + +#: src/fe-gtk/chanlist.c:763 +msgid "Refresh the list" +msgstr "Refrescar la lista" + +#: src/fe-gtk/chanlist.c:765 +msgid "Save the list" +msgstr "Guardar la lista" + +#: src/fe-gtk/chanlist.c:767 src/fe-gtk/menu.c:799 src/fe-gtk/menu.c:1030 +msgid "Join Channel" +msgstr "Entrar al canal" + +#: src/fe-gtk/dccgui.c:117 +#, c-format +msgid "Send file to %s" +msgstr "Enviar archivo a %s" + +#: src/fe-gtk/dccgui.c:340 +msgid "None" +msgstr "Ninguno" + +#: src/fe-gtk/dccgui.c:351 src/fe-gtk/dccgui.c:535 src/fe-gtk/dccgui.c:707 +#: src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Archivo" + +#: src/fe-gtk/dccgui.c:352 src/fe-gtk/dccgui.c:712 +msgid "To" +msgstr "Para" + +#: src/fe-gtk/dccgui.c:354 +#, fuzzy +msgid "Address" +msgstr "Dirección" + +#: src/fe-gtk/dccgui.c:355 +#, fuzzy +msgid "Started" +msgstr "Iniciado" + +#: src/fe-gtk/dccgui.c:356 +#, fuzzy +msgid "Speed limit" +msgstr "Limite de velocidad" + +#: src/fe-gtk/dccgui.c:381 +msgid "That file is not resumable." +msgstr "Ese archivo no se puede retomar" + +#: src/fe-gtk/dccgui.c:385 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"No se pudo acceder al archivo: %s\n" +"%s.\n" +"No es posible retomar." + +#: src/fe-gtk/dccgui.c:392 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" +"El archivo en el directorio de descarga es más grande que el archivo " +"afrecido. No es posible retomar." + +#: src/fe-gtk/dccgui.c:396 +msgid "Cannot resume the same file from two people." +msgstr "No se puede retomar el mismo archivo de dos personas." + +#: src/fe-gtk/dccgui.c:534 src/fe-gtk/dccgui.c:706 src/fe-gtk/dccgui.c:857 +#: src/fe-gtk/notifygui.c:133 +msgid "Status" +msgstr "Estado" + +#: src/fe-gtk/dccgui.c:538 src/fe-gtk/dccgui.c:711 +msgid "ETA" +msgstr "Tiempo" + +#: src/fe-gtk/dccgui.c:548 +msgid "XChat: File Receive List" +msgstr "XChat: Lista de recepción de archivos" + +#: src/fe-gtk/dccgui.c:580 src/fe-gtk/dccgui.c:751 src/fe-gtk/dccgui.c:889 +msgid "Abort" +msgstr "Abortar" + +#: src/fe-gtk/dccgui.c:582 src/fe-gtk/dccgui.c:890 +msgid "Accept" +msgstr "Aceptar" + +#: src/fe-gtk/dccgui.c:584 +msgid "Resume" +msgstr "Continuar" + +#: src/fe-gtk/dccgui.c:588 +msgid "Open" +msgstr "Abrir" + +#: src/fe-gtk/dccgui.c:710 +msgid "Ack" +msgstr "Aceptado" + +#: src/fe-gtk/dccgui.c:722 +#, fuzzy +msgid "XChat: Uploads und Downloads" +msgstr "XChat: Órdenes definidas por el usuario" + +#: src/fe-gtk/dccgui.c:723 +#, fuzzy +msgid "Downloads" +msgstr "Descargar archivos en:" + +#: src/fe-gtk/dccgui.c:724 +msgid "Uploads" +msgstr "Subidos" + +#: src/fe-gtk/dccgui.c:725 +#, fuzzy +msgid "Details" +msgstr "Sus datos" + +#: src/fe-gtk/dccgui.c:726 +msgid "Open Folder..." +msgstr "Abrir carpeta..." + +#: src/fe-gtk/dccgui.c:730 +msgid "XChat: File Send List" +msgstr "XChat: Lista de archivos a enviar" + +#: src/fe-gtk/dccgui.c:858 +msgid "To/From" +msgstr "Para/De" + +#: src/fe-gtk/dccgui.c:859 +msgid "Recv" +msgstr "Recibido" + +#: src/fe-gtk/dccgui.c:860 +msgid "Sent" +msgstr "Enviado" + +#: src/fe-gtk/dccgui.c:861 +#, fuzzy +msgid "Start Time" +msgstr "Tiempo de inicio" + +#: src/fe-gtk/dccgui.c:871 +msgid "XChat: DCC Chat List" +msgstr "XChat: Lista de conversación DCC" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*NUEVO*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "EDÍTAME" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Nombre" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Comando" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Subir" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Bajar" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Cancelar" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Guardar" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Agregar nuevo" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Borrar" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Ordenar" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Ayuda" + +#: src/fe-gtk/fe-gtk.c:122 +msgid "Don't auto connect to servers" +msgstr "No reconectarse al servidor automáticamente" + +#: src/fe-gtk/fe-gtk.c:123 +msgid "Use a different config directory" +msgstr "usar un directorio de configuración diferente" + +#: src/fe-gtk/fe-gtk.c:124 +msgid "Don't auto load any plugins" +msgstr "No activar automáticamente ningún complemento" + +#: src/fe-gtk/fe-gtk.c:125 +msgid "Show plugin auto-load directory" +msgstr "Mostrar complemento autocargar directorio" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Show user config directory" +msgstr "Mostrar directorio de configuración de usuario" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Open an irc://server:port/channel URL" +msgstr "Abrir una URL irc://server:port/channel" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Show version information" +msgstr "Mostrar información de la versión" + +#: src/fe-gtk/fe-gtk.c:244 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"ha fallado la apertura de la tipografía:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:588 +msgid "Search buffer is empty.\n" +msgstr "El buffer de búsqueda esta vacio.\n" + +#: src/fe-gtk/fe-gtk.c:671 +#, c-format +msgid "%d bytes" +msgstr "%d bytes" + +#: src/fe-gtk/fe-gtk.c:672 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into " +"the entry box where you pressed the key sequence. Thus it can contain text " +"(which will be sent to the channel/person), commands or user commands. When " +"run all \\n characters in Data 1 are used to deliminate seperate commands so " +"it is possible to run more than one command. If you want a \\ in the actual " +"text run then enter \\\\" +msgstr "" +"La acción ^BRun Command^B ejecuta los datos en Data 1 como si hubiesen sido " +"escritos en la caja de texto donde presionó la secuencia de teclas. No " +"obstante puede contener comandos de texto (los cuales serán enviados al " +"canal o persona), o comandos de usuario. Cuando se ejecuten todos los " +"caracteres en Data 1 son usados para delimitar comandos separados de ese " +"modo es posible ejecutar más de un comando. Si quiere un \\ en el texto de " +"ejecución actual ejecutelo y luego presione Intro \\\\" + +#: src/fe-gtk/fkeys.c:161 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1 " +"to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position" +msgstr "" +"El comando ^BChange Page^B cambia entre las paginas del bloc de notas. " +"Inicialice Data 1 con la página a la que desea cambiar. Si Data 2 está " +"configurado para cualquiera entonces el cambio será relativo a la posición " +"actual." + +#: src/fe-gtk/fkeys.c:163 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" +"El comando ^BInsert in Buffer^B insertará el contenido de Data 1 en la " +"entrada donde la secuencia de teclas fué presionada en la posición actual " +"del cursor" + +#: src/fe-gtk/fkeys.c:165 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one " +"line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "" +"El comando ^BScroll Page^B desplaza el control de texto hacia arriba o abajo " +"un página. Si Data 1 esta configurado como cualquiera la página se " +"desplazará hacia arriba, sino se desplazará hacia abajo." + +#: src/fe-gtk/fkeys.c:167 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered to " +"the contents of Data 1" +msgstr "" +"El comando ^BSet Buffer^B establece la entrada donde la secuencia de teclas " +"fué introducida a los contenidos de Data 1" + +#: src/fe-gtk/fkeys.c:169 +msgid "" +"The Last Command command sets the entry to contain the last command entered " +"- the same as pressing up in a shell" +msgstr "" +"El comando ^BLast Command^B establece la entrada para contener el último " +"comando ingresado al igual que presionar la tecla arriba en la línea de " +"comandos" + +#: src/fe-gtk/fkeys.c:171 +msgid "" +"The Next Command command sets the entry to contain the next command entered " +"- the same as pressing down in a shell" +msgstr "" +"El comando ^BNext Command^B establece la entrada para que contenga el " +"siguiente comando ingresado al igual que al presionar la tecla abajo en la " +"línea de comandos" + +#: src/fe-gtk/fkeys.c:173 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the " +"last nick, not the next" +msgstr "" +"Este comando cambia el texto en la entrada para completar un apodo " +"incompleto o un comando. Si Data 1 esta establecido entonces al presionar " +"dos veces la tecla TAB sobre una cadena seleccionará el último apodo, no el " +"siguiente." + +#: src/fe-gtk/fkeys.c:175 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set " +"to anything it will scroll up, else it scrolls down" +msgstr "" +"Este comando desplaza hacia arriba y abajo la lista de apodos. Si Data 1 " +"esta establecido a cualquiera entonces se desplazará hacia arriba, sino se " +"desplazará hacia abajo" + +#: src/fe-gtk/fkeys.c:177 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" +"Este comando comprueba la última palabra introducida en la entrada contra la " +"lista de reemplazos y la reemplaza si encuentra una coincidencia" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "Este comando mueve una vez la solapa superior hacia la izquierda" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "Este comando mueve una posición la solapa superior hacia la derecha" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "Este comando mueve la familia actual de solapas hacia la izquierda" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "Este comando mueve la familia actual de solapas hacia la izquierda" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "" +"Colocar la linea de entrada en el historial pero sin enviarla al servidor" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "" +"Ha ocurrido un error cargando la configuración de las combinaciones de teclas" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1092 src/fe-gtk/maingui.c:1108 +#: src/fe-gtk/maingui.c:1385 src/fe-gtk/maingui.c:1486 +#: src/fe-gtk/maingui.c:2935 +msgid "<none>" +msgstr "<ninguno>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "Mod" + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Tecla" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Acción" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: atajos de teclado" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "Data 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "Data 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "Error al abrir el archivo de configuración de teclas\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Nombre de tecla desconocido %s en el archivo de configuración de " +"combinaciones de teclas\n" +"Carga abortada, por favor corrija %s/.xchat/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Acción desconocida %s en el archivo de configuración de combinaciones de " +"teclas\n" +"Carga abortada, por favor corrija %s/.xchat/keybindings\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Se esperaba una linea de datos (comenzando con Dx{:|!}) pero se obtuvo:\n" +"%s\n" +"\n" +"Carga abortada, por favor corrija %s/.xchat/keybindings\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"El archivo de configuración de las combinaciones de teclas está corrupto, " +"carga abortada\n" +"Por favor, corrija %s/.xchat/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "No se puede escribir hacia ese archivo." + +#: src/fe-gtk/gtkutil.c:132 +msgid "Cannot read that file." +msgstr "No se puede leer ese archivo." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "Esa máscara ya existe." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:1957 +msgid "Private" +msgstr "Privado" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Noticia" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Invitar" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "No ignorar" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Introduzca la máscara que quiere ignorar:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "XChat: Lista de ignorados" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Estadísticas de ignorados:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Canal:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Privado:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Noticia:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Invitar:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:347 +#, fuzzy +msgid "Add..." +msgstr "Agregar" + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "Nombre de canal muy corto, intente de nuevo." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: Conexión completa" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "Conexión a %s completa." + +#: src/fe-gtk/joind.c:159 +msgid "" +"In the Server-List window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" +"En la ventana de lista de servidores, no se ha ingresado un canal (chat " +"room) para unirse a él en esta red." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "¿Qué desea hacer después?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_Nada, me uniré a un canal después." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "Entrar a este canal:" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Si conoce el nombre del canal al que se desea unir, escribalo aquí." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "Abrir la ventana de lista de canales." + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "Recuperando la lista de canales, puede tomar un minuto o dos." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "Siempre mostrar este diálogo después de la conexión." + +#: src/fe-gtk/maingui.c:456 +msgid "Dialog with" +msgstr "Diálogo con" + +#: src/fe-gtk/maingui.c:734 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Topic para %s es: %s" + +#: src/fe-gtk/maingui.c:739 +msgid "No topic is set" +msgstr "No está definido ningun topic" + +#: src/fe-gtk/maingui.c:1032 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" +"Este servidor aún tiene %d canales o diálogos asociados con él. ¿Desea " +"cerrarlos todos?" + +#: src/fe-gtk/maingui.c:1162 +msgid "No other tabs open, quit xchat?" +msgstr "No hay mas solapas abiertas, ¿salir de xchat?" + +#: src/fe-gtk/maingui.c:1337 +msgid "Insert Attribute or Color Code" +msgstr "Insertar atributo o código de color" + +#: src/fe-gtk/maingui.c:1339 +msgid "<b>Bold</b>" +msgstr "<b>Negrita</b>" + +#: src/fe-gtk/maingui.c:1340 +msgid "<u>Underline</u>" +msgstr "<u>Subrayado</u>" + +#: src/fe-gtk/maingui.c:1342 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1344 +msgid "Colors 0-7" +msgstr "Colores 0-7" + +#: src/fe-gtk/maingui.c:1354 +msgid "Colors 8-15" +msgstr "Colores 8-15" + +#: src/fe-gtk/maingui.c:1390 +msgid "Beep on message" +msgstr "Pitar al llegar mensaje" + +#: src/fe-gtk/maingui.c:1393 +msgid "Show join/part messages" +msgstr "Mostrar mensajes de entrada/salida del canal" + +#: src/fe-gtk/maingui.c:1395 +msgid "Color paste" +msgstr "Pegar color" + +#: src/fe-gtk/maingui.c:1402 +msgid "Go to" +msgstr "Ir a" + +#: src/fe-gtk/maingui.c:1415 src/fe-gtk/menu.c:1759 +msgid "_Close Tab" +msgstr "_Cerrar solapa" + +#: src/fe-gtk/maingui.c:1418 src/fe-gtk/menu.c:1758 +msgid "_Detach Tab" +msgstr "Separar solapa" + +#: src/fe-gtk/maingui.c:1657 +msgid "Some file transfers still active, quit xchat?" +msgstr "" +"Algunas transferencias de archivos siguen activas, ¿desea salir de xchat?" + +#: src/fe-gtk/maingui.c:1825 src/fe-gtk/maingui.c:1931 +msgid "User limit must be a number!\n" +msgstr "¡El límite de usuarios debe ser un número!\n" + +#: src/fe-gtk/maingui.c:1953 +msgid "Topic Protection" +msgstr "Protección del topic" + +#: src/fe-gtk/maingui.c:1954 +msgid "No outside messages" +msgstr "No hay mensajes externos" + +#: src/fe-gtk/maingui.c:1955 +msgid "Secret" +msgstr "Secreto" + +#: src/fe-gtk/maingui.c:1956 +msgid "Invite Only" +msgstr "Sólo para invitados" + +#: src/fe-gtk/maingui.c:1958 +msgid "Moderated" +msgstr "Moderado" + +#: src/fe-gtk/maingui.c:1959 +msgid "Ban List" +msgstr "Lista de prohibidos" + +#: src/fe-gtk/maingui.c:1961 +msgid "Keyword" +msgstr "Palabra clave" + +#: src/fe-gtk/maingui.c:1973 +msgid "User Limit" +msgstr "Límite de usuarios" + +#: src/fe-gtk/maingui.c:2082 +msgid "Show/Hide userlist" +msgstr "Mostrar/Ocultar la lista de usuarios" + +#: src/fe-gtk/maingui.c:2207 +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 "" +"¡Imposible establecer el fondo transparente!\n" +"\n" +"Puede estar usando un gestor de ventanas \n" +"que no está soportado actualmente.\n" + +#: src/fe-gtk/maingui.c:2439 +msgid "Enter new nickname:" +msgstr "Ingrese el apodo nuevo:" + +#: src/fe-gtk/menu.c:120 +msgid "Host unknown" +msgstr "Equipo desconocido" + +#: src/fe-gtk/menu.c:507 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:512 src/fe-gtk/menu.c:516 +msgid "Real Name:" +msgstr "Nombre real:" + +#: src/fe-gtk/menu.c:520 +msgid "User:" +msgstr "Usuario:" + +#: src/fe-gtk/menu.c:524 +msgid "Country:" +msgstr "País:" + +#: src/fe-gtk/menu.c:528 +msgid "Server:" +msgstr "Servidor:" + +#: src/fe-gtk/menu.c:540 +msgid "Away Msg:" +msgstr "Mensaje de ausencia:" + +#: src/fe-gtk/menu.c:550 +#, c-format +msgid "%u minutes ago" +msgstr "hace %u minutos" + +#: src/fe-gtk/menu.c:552 src/fe-gtk/menu.c:555 +msgid "Last Msg:" +msgstr "Último mensaje:" + +#: src/fe-gtk/menu.c:655 +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 de menú ahora está oculta. Puede mostrarla otra vez presionando F9 " +"o pulsando el botón derecho en una parte en blanco de área de texto " +"principal." + +#: src/fe-gtk/menu.c:742 +msgid "Open Link in Browser" +msgstr "Abrir enlace en el navegador" + +#: src/fe-gtk/menu.c:743 +msgid "Copy Selected Link" +msgstr "Copiar URL seleccionada" + +#: src/fe-gtk/menu.c:803 +msgid "Part Channel" +msgstr "Invitar Canal" + +#: src/fe-gtk/menu.c:805 +msgid "Cycle Channel" +msgstr "Ciclar canal" + +#: src/fe-gtk/menu.c:828 +msgid "XChat: User menu" +msgstr "XChat: Menú de usuario" + +#: src/fe-gtk/menu.c:837 +msgid "Edit This Menu..." +msgstr "Editar este menú..." + +#: src/fe-gtk/menu.c:1032 +msgid "Retrieve channel list..." +msgstr "Recuperar lista de canales..." + +#: src/fe-gtk/menu.c:1100 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" +"Órdenes de usuario - Códigos especiales:\n" +"\n" +"%c = canal actual\n" +"%m = información de la máquina\n" +"%n = su apodo\n" +"%t = hora/fecha\n" +"%v = versión de xchat\n" +"%2 = palabra 2\n" +"%3 = palabra 3\n" +"&2 = palabra 2 hasta el fin de línea\n" +"&3 = palabra 3 hasta el fin de línea\n" +"\n" +"ejemplo:\n" +"/cmd john hello\n" +"\n" +"%2 podría ser \"john\"\n" +"&2 podría ser \"john hello\"." + +#: src/fe-gtk/menu.c:1115 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Botones de la lista de usuarios - Códigos especiales:\n" +"\n" +"%a = todos los apodos seleccionados\n" +"%c = canal actual\n" +"%h = nombre del equipo del apodo seleccionado\n" +"%m = información de la maquina\n" +"%n = su apodo\n" +"%s = apodo seleccionado\n" +"%t = hora/fecha\n" + +#: src/fe-gtk/menu.c:1124 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Botones del dialogo - Códigos especiales:\n" +"\n" +"%a = todos los apodos seleccionados\n" +"%c = canal actual\n" +"%h = nombre del equipo del apodo seleccionado\n" +"%m = información de la maquina\n" +"%n = su apodo\n" +"%s = apodo seleccionado\n" +"%t = hora/fecha\n" + +#: src/fe-gtk/menu.c:1133 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" +"Respuestas CTCP -Códigos especiales:\n" +"\n" +"%d = datos (el ctcp completo)\n" +"%m = información de la máquina\n" +"%s = apodo de quien envió el ctcp\n" +"%t = hora/fecha\n" +"%2 = palabra 2\n" +"%3 = palabra 3\n" +"&2 = palabra 2 hasta el fin de linea\n" +"&3 = palabra 3 hasta el fin de linea\n" +"\n" + +#: src/fe-gtk/menu.c:1143 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"Manejadores de URL - Códigos especiales:\n" +"\n" +"%s = La cadena de la URL\n" +"\n" +"Poner un ! enfrente del comando indica \n" +"que debería ser enviado hacia un shell \n" +"en vez de hacia XChat" + +#: src/fe-gtk/menu.c:1152 +msgid "XChat: User Defined Commands" +msgstr "XChat: Órdenes definidas por el usuario" + +#: src/fe-gtk/menu.c:1159 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: Menú emergente de la lista de usuarios" + +#: src/fe-gtk/menu.c:1166 +msgid "Replace with" +msgstr "Reemplazar con" + +#: src/fe-gtk/menu.c:1166 +msgid "XChat: Replace" +msgstr "XChat: Reemplazar" + +#: src/fe-gtk/menu.c:1173 +msgid "XChat: URL Handlers" +msgstr "XChat: Manejadores de URL" + +#: src/fe-gtk/menu.c:1192 +msgid "XChat: Userlist buttons" +msgstr "XChat: Botones de la lista de usuarios" + +#: src/fe-gtk/menu.c:1199 +msgid "XChat: Dialog buttons" +msgstr "XChat: Botones de diálogo" + +#: src/fe-gtk/menu.c:1206 +msgid "XChat: CTCP Replies" +msgstr "XChat: Respuestas CTCP" + +#: src/fe-gtk/menu.c:1304 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1305 +#, fuzzy +msgid "Network Li_st..." +msgstr "Configuración de red" + +#: src/fe-gtk/menu.c:1308 +msgid "_New" +msgstr "_Nuevo" + +#: src/fe-gtk/menu.c:1309 +msgid "Server Tab..." +msgstr "Solapa de servidor..." + +#: src/fe-gtk/menu.c:1310 +msgid "Channel Tab..." +msgstr "Solapa de canal..." + +#: src/fe-gtk/menu.c:1311 +msgid "Server Window..." +msgstr "Ventana de servidor..." + +#: src/fe-gtk/menu.c:1312 +msgid "Channel Window..." +msgstr "Ventana de canal..." + +#: src/fe-gtk/menu.c:1317 src/fe-gtk/menu.c:1319 +msgid "_Load Plugin or Script..." +msgstr "Cargar guión o complemento..." + +#: src/fe-gtk/menu.c:1327 +msgid "_Quit" +msgstr "_Salir" + +#: src/fe-gtk/menu.c:1329 +msgid "_View" +msgstr "_Ver" + +#: src/fe-gtk/menu.c:1331 +msgid "_Menubar" +msgstr "Barra del menú" + +#: src/fe-gtk/menu.c:1332 +msgid "_Topicbar" +msgstr "Barra del topic" + +#: src/fe-gtk/menu.c:1333 +msgid "_Userlist Buttons" +msgstr "Botones de lista de usuarios" + +#: src/fe-gtk/menu.c:1334 +msgid "M_ode Buttons" +msgstr "Botones del modo del canal" + +#: src/fe-gtk/menu.c:1336 +msgid "_Layout" +msgstr "_Disposición" + +#: src/fe-gtk/menu.c:1338 +msgid "_Tabs" +msgstr "Solapas" + +#: src/fe-gtk/menu.c:1339 +msgid "T_ree" +msgstr "Árbol" + +#: src/fe-gtk/menu.c:1341 +#, fuzzy +msgid "_Network Meters" +msgstr "Configuración de red" + +#: src/fe-gtk/menu.c:1343 +msgid "Off" +msgstr "Apagar" + +#: src/fe-gtk/menu.c:1344 +msgid "Graph" +msgstr "Gráfico" + +#: src/fe-gtk/menu.c:1346 +msgid "Both" +msgstr "Ambos" + +#: src/fe-gtk/menu.c:1349 +msgid "_Server" +msgstr "_Servidor" + +#: src/fe-gtk/menu.c:1350 +msgid "_Disconnect" +msgstr "_Desconectar" + +#: src/fe-gtk/menu.c:1351 +msgid "_Reconnect" +msgstr "_Reconectar" + +#: src/fe-gtk/menu.c:1355 +msgid "Marked Away" +msgstr "Ausencia marcada" + +#: src/fe-gtk/menu.c:1357 +msgid "_Usermenu" +msgstr "Menú de usuario" + +#: src/fe-gtk/menu.c:1359 +msgid "S_ettings" +msgstr "C_onfiguración" + +#: src/fe-gtk/menu.c:1360 +msgid "_Preferences" +msgstr "_Preferencias" + +#: src/fe-gtk/menu.c:1362 +msgid "Advanced" +msgstr "Avanzado" + +#: src/fe-gtk/menu.c:1363 +msgid "Auto Replace..." +msgstr "Reemplazar automáticamente.." + +#: src/fe-gtk/menu.c:1364 +msgid "CTCP Replies..." +msgstr "Respuestas CTCP..." + +#: src/fe-gtk/menu.c:1365 +msgid "Dialog Buttons..." +msgstr "Botones de diálogo..." + +#: src/fe-gtk/menu.c:1366 +msgid "Keyboard Shortcuts..." +msgstr "Atajos de teclado..." + +#: src/fe-gtk/menu.c:1367 +msgid "Text Events..." +msgstr "Textos de eventos..." + +#: src/fe-gtk/menu.c:1368 +msgid "URL Handlers..." +msgstr "Manejadores de URL..." + +#: src/fe-gtk/menu.c:1369 +msgid "User Commands..." +msgstr "Órdenes de usuario..." + +#: src/fe-gtk/menu.c:1370 +msgid "Userlist Buttons..." +msgstr "Botones de lista de usuarios..." + +#: src/fe-gtk/menu.c:1371 +msgid "Userlist Popup..." +msgstr "Ventana de lista de usuarios..." + +#: src/fe-gtk/menu.c:1374 +msgid "_Window" +msgstr "_Ventana" + +#: src/fe-gtk/menu.c:1375 +msgid "Ban List..." +msgstr "Lista de bans..." + +#: src/fe-gtk/menu.c:1376 +msgid "Channel List..." +msgstr "Lista de canales..." + +#: src/fe-gtk/menu.c:1377 +msgid "Character Chart..." +msgstr "Lista de caracteres..." + +#: src/fe-gtk/menu.c:1378 +msgid "Direct Chat..." +msgstr "Charla directa..." + +#: src/fe-gtk/menu.c:1379 +msgid "File Transfers..." +msgstr "Transferencias de archivos..." + +#: src/fe-gtk/menu.c:1380 +msgid "Ignore List..." +msgstr "Lista de ignorados..." + +#: src/fe-gtk/menu.c:1381 +msgid "Notify List..." +msgstr "Lista de notificaciones..." + +#: src/fe-gtk/menu.c:1382 +msgid "Plugins and Scripts..." +msgstr "Complementos y guiones..." + +#: src/fe-gtk/menu.c:1383 +msgid "Raw Log..." +msgstr "Registro plano..." + +#: src/fe-gtk/menu.c:1384 +msgid "URL Grabber..." +msgstr "Capturador de URL..." + +#: src/fe-gtk/menu.c:1386 +msgid "Reset Marker Line" +msgstr "Reiniciar la línea de marcado" + +#: src/fe-gtk/menu.c:1387 +msgid "C_lear Text" +msgstr "_Limpiar texto" + +#: src/fe-gtk/menu.c:1388 +msgid "Search Text..." +msgstr "Buscar texto..." + +#: src/fe-gtk/menu.c:1389 +msgid "Save Text..." +msgstr "Guardar texto..." + +#: src/fe-gtk/menu.c:1391 src/fe-gtk/menu.c:1750 +msgid "_Help" +msgstr "A_yuda" + +#: src/fe-gtk/menu.c:1392 +msgid "_Contents" +msgstr "_Contenidos" + +#: src/fe-gtk/menu.c:1393 +msgid "_About" +msgstr "_Acerca de" + +#: src/fe-gtk/menu.c:1763 +msgid "_Attach Window" +msgstr "_Ventana adjunta" + +#: src/fe-gtk/menu.c:1764 +msgid "_Close Window" +msgstr "_Cerrar ventana" + +#: src/fe-gtk/notifygui.c:132 +msgid "User" +msgstr "Usuario" + +#: src/fe-gtk/notifygui.c:134 +msgid "Server" +msgstr "Servidor" + +#: src/fe-gtk/notifygui.c:135 +msgid "Last Seen" +msgstr "Visto por última vez" + +#: src/fe-gtk/notifygui.c:175 +msgid "Offline" +msgstr "Desconectado" + +#: src/fe-gtk/notifygui.c:195 src/fe-gtk/setup.c:203 +msgid "Never" +msgstr "Nunca" + +#: src/fe-gtk/notifygui.c:213 +msgid "Online" +msgstr "Conectado" + +#: src/fe-gtk/notifygui.c:318 +msgid "Enter nickname to add:" +msgstr "Introduzica el apodo a añadir:" + +#: src/fe-gtk/notifygui.c:334 +msgid "XChat: Notify List" +msgstr "XChat: Lista de notificacines" + +#: src/fe-gtk/notifygui.c:351 +msgid "Remove" +msgstr "Quitar" + +#: src/fe-gtk/notifygui.c:355 +#, fuzzy +msgid "Open Dialog" +msgstr "Abrir la ventana de diálogo" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:421 +msgid "Description" +msgstr "Descripción" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Seleccione una extensión o guión a cargar" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: complementos y guiones" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Cargar..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "_Desactivar" + +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "_Cerrar" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:435 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Guardar como..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: Registro plano (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Limpiar registro plano" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "La ventana que ha abierto esta búsqueda no existe mas." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "Terminó la búsqueda, no se encontró." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Buscar" + +#: src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Buscar:" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "Buscar" + +#: src/fe-gtk/servlistgui.c:169 src/fe-gtk/servlistgui.c:268 +msgid "New Network" +msgstr "Nueva red" + +#: src/fe-gtk/servlistgui.c:553 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "¿Realmente desea eliminar la red \"%s\" y todos sus servidores?" + +#: src/fe-gtk/servlistgui.c:677 +msgid "User name and Real name cannot be left blank." +msgstr "EL nombre y el nombre real no pueden estar en blanco." + +#: src/fe-gtk/servlistgui.c:977 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: Editar %s" + +#: src/fe-gtk/servlistgui.c:996 +#, c-format +msgid "Servers for %s" +msgstr "Servidores para %s" + +#: src/fe-gtk/servlistgui.c:1007 +msgid "Connect to selected server only" +msgstr "Conectar únicamente al servidor seleccionado" + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "No recorrer todos los servidores cuando la conexión falle." + +#: src/fe-gtk/servlistgui.c:1010 +msgid "Your Details" +msgstr "Sus datos" + +#: src/fe-gtk/servlistgui.c:1016 +msgid "Use global user information" +msgstr "Usar información global de usuario" + +#: src/fe-gtk/servlistgui.c:1019 src/fe-gtk/servlistgui.c:1251 +msgid "_Nick name:" +msgstr "Apodo:" + +#: src/fe-gtk/servlistgui.c:1023 src/fe-gtk/servlistgui.c:1258 +msgid "Second choice:" +msgstr "Segunda opción:" + +#: src/fe-gtk/servlistgui.c:1027 src/fe-gtk/servlistgui.c:1272 +msgid "_User name:" +msgstr "Nombre de _usuario:" + +#: src/fe-gtk/servlistgui.c:1031 src/fe-gtk/servlistgui.c:1279 +msgid "Rea_l name:" +msgstr "Nombre rea_l:" + +#: src/fe-gtk/servlistgui.c:1034 +msgid "Connecting" +msgstr "Conectando" + +#: src/fe-gtk/servlistgui.c:1040 +msgid "Auto connect to this network at startup" +msgstr "Conectarse automáticamente al inicio" + +#: src/fe-gtk/servlistgui.c:1042 +msgid "Use a proxy server" +msgstr "Usar un servidor proxy" + +#: src/fe-gtk/servlistgui.c:1044 +msgid "Use SSL for all the servers on this network" +msgstr "Usar SSL con todos los servidores de esta red" + +#: src/fe-gtk/servlistgui.c:1049 +msgid "Accept invalid SSL certificate" +msgstr "Aceptar certificado inválido" + +#: src/fe-gtk/servlistgui.c:1055 +msgid "C_hannels to join:" +msgstr "Canales a los que unirse:" + +#: src/fe-gtk/servlistgui.c:1057 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Canales a los que entrar, separados por comas, ¡no por espacios!" + +#: src/fe-gtk/servlistgui.c:1060 +msgid "Connect command:" +msgstr "Orden de conexión:" + +#: src/fe-gtk/servlistgui.c:1062 +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 "" +"Orden extra para ejecutar después de conectarse. Si necesita más de una, " +"póngala como «LOAD -e <nombrearchivo>», donde <nombrearchivo> es un archivo " +"de texto con ordenes a ejecutar." + +#: src/fe-gtk/servlistgui.c:1065 +msgid "Nickserv password:" +msgstr "Contraseña del «nickserv»:" + +#: src/fe-gtk/servlistgui.c:1067 +msgid "" +"If your nickname requires a password, enter it here. Not all IRC networks " +"support this." +msgstr "" +"Si su apodo requiere contraseña, ingrésela aquí. No todas las redes IRC " +"soportan esta característica." + +#: src/fe-gtk/servlistgui.c:1071 +msgid "Server password:" +msgstr "Contraseña del servidor:" + +#: src/fe-gtk/servlistgui.c:1073 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Contraseña para el servidor. En caso de duda, dejar en blanco." + +#: src/fe-gtk/servlistgui.c:1076 +msgid "Character set:" +msgstr "Juego de caracteres:" + +#: src/fe-gtk/servlistgui.c:1146 +msgid "_Edit" +msgstr "_Editar" + +#: src/fe-gtk/servlistgui.c:1229 +#, fuzzy +msgid "XChat: Network List" +msgstr "XChat: Lista de notificacines" + +#: src/fe-gtk/servlistgui.c:1241 +msgid "User Information" +msgstr "Información sobre usuario" + +#: src/fe-gtk/servlistgui.c:1265 +msgid "Third choice:" +msgstr "Tercera opción:" + +#: src/fe-gtk/servlistgui.c:1325 +msgid "Networks" +msgstr "Redes" + +#: src/fe-gtk/servlistgui.c:1366 +#, fuzzy +msgid "Skip network list on startup" +msgstr "No mostrar lista de servidores al inicio" + +#: src/fe-gtk/servlistgui.c:1398 +msgid "_Edit..." +msgstr "_Editar..." + +#: src/fe-gtk/servlistgui.c:1405 +msgid "_Sort" +msgstr "Ordenar" + +#: src/fe-gtk/servlistgui.c:1429 +msgid "C_onnect" +msgstr "C_onectar" + +#: src/fe-gtk/setup.c:97 +msgid "Text Box Appearance" +msgstr "Apariencia" + +#: src/fe-gtk/setup.c:98 +msgid "Font:" +msgstr "Tipografía:" + +#: src/fe-gtk/setup.c:99 +msgid "Background image:" +msgstr "Imagen de fondo:" + +#: src/fe-gtk/setup.c:100 +msgid "Scrollback lines:" +msgstr "Líneas de desplazamiento:" + +#: src/fe-gtk/setup.c:101 +msgid "Colored nick names" +msgstr "Apodos coloreados" + +#: src/fe-gtk/setup.c:102 +msgid "Give each person on IRC a different color" +msgstr "Dar a cada persona en el IRC un color diferente" + +#: src/fe-gtk/setup.c:103 +msgid "Indent nick names" +msgstr "Indentar apodos" + +#: src/fe-gtk/setup.c:104 +msgid "Make nick names right-justified" +msgstr "Justificar los apodos a la derecha." + +#: src/fe-gtk/setup.c:105 +msgid "Transparent background" +msgstr "Fondo transparente" + +#: src/fe-gtk/setup.c:106 +msgid "Show marker line" +msgstr "Mostrar señalador" + +#: src/fe-gtk/setup.c:107 +msgid "Insert a red line after the last read text." +msgstr "Insertar una línea roja después del último texto leído" + +#: src/fe-gtk/setup.c:108 +msgid "Transparency Settings" +msgstr "Configuración de trasparencia" + +#: src/fe-gtk/setup.c:109 +msgid "Red:" +msgstr "Rojo:" + +#: src/fe-gtk/setup.c:110 +msgid "Green:" +msgstr "Verde:" + +#: src/fe-gtk/setup.c:111 +msgid "Blue:" +msgstr "Azul:" + +#: src/fe-gtk/setup.c:113 src/fe-gtk/setup.c:325 +msgid "Time Stamps" +msgstr "Marcas de fecha/hora" + +#: src/fe-gtk/setup.c:114 +msgid "Enable time stamps" +msgstr "Habilitar marcas de hora" + +#: src/fe-gtk/setup.c:115 +msgid "Time stamp format:" +msgstr "Formato de inserción de hora:" + +#: src/fe-gtk/setup.c:116 src/fe-gtk/setup.c:328 +msgid "See strftime manpage for details." +msgstr "Vea la página del manual de strftime para obtener más detalles." + +#: src/fe-gtk/setup.c:123 src/fe-gtk/setup.c:1504 +msgid "Input box" +msgstr "Caja de entrada" + +#: src/fe-gtk/setup.c:124 src/fe-gtk/setup.c:166 +msgid "Use the Text box font and colors" +msgstr "Usar la tipografía y colores de la caja de texto" + +#: src/fe-gtk/setup.c:126 +msgid "Spell checking" +msgstr "Corrección ortográfica" + +#: src/fe-gtk/setup.c:129 +msgid "Nick Completion" +msgstr "Completar apodo" + +#: src/fe-gtk/setup.c:130 +msgid "Automatic nick completion (without TAB key)" +msgstr "Completar apodo automáticamente (sin TAB)" + +#: src/fe-gtk/setup.c:132 +msgid "Nick completion suffix:" +msgstr "Sufijo al completar el apodo:" + +#: src/fe-gtk/setup.c:135 +msgid "Input Box Codes" +msgstr "Caja de entrada" + +#: src/fe-gtk/setup.c:136 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Interpretar %nnn como un valor ASCII" + +#: src/fe-gtk/setup.c:137 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Interpretar %C, %B como Color, Negrita etc" + +#: src/fe-gtk/setup.c:154 +msgid "A-Z, Ops first" +msgstr "A-Z, Operadores primero" + +#: src/fe-gtk/setup.c:155 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:156 +msgid "Z-A, Ops last" +msgstr "Z-A, Operadores últimos" + +#: src/fe-gtk/setup.c:157 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:158 +msgid "Unsorted" +msgstr "Desordenada" + +#: src/fe-gtk/setup.c:164 +msgid "User List" +msgstr "Lista de usuarios" + +#: src/fe-gtk/setup.c:165 +msgid "Show hostnames in user list" +msgstr "Mostrar equipos en la lista de usuarios" + +#: src/fe-gtk/setup.c:167 +msgid "Resizable user list" +msgstr "Lista de usuarios redimensionable" + +#: src/fe-gtk/setup.c:168 +msgid "User list sorted by:" +msgstr "Lista de usuarios ordenada por:" + +#: src/fe-gtk/setup.c:170 +msgid "Away tracking" +msgstr "Razón de ausencia" + +#: src/fe-gtk/setup.c:171 +msgid "Track the Away status of users and mark them in a different color" +msgstr "Seguir el estado de ausencia de usuarios y marcarlos en un color diferente" + +#: src/fe-gtk/setup.c:172 +msgid "On channels smaller than:" +msgstr "En canales más pequeños que:" + +#: src/fe-gtk/setup.c:174 +msgid "Action Upon Double Click" +msgstr "Comportamiento del doble clic" + +#: src/fe-gtk/setup.c:175 +msgid "Execute command:" +msgstr "Ejecutar orden:" + +#: src/fe-gtk/setup.c:186 +msgid "Windows" +msgstr "Ventanas" + +#: src/fe-gtk/setup.c:187 src/fe-gtk/setup.c:211 src/fe-gtk/setup.c:1506 +msgid "Tabs" +msgstr "Solapas" + +#: src/fe-gtk/setup.c:193 +msgid "Bottom" +msgstr "Abajo" + +#: src/fe-gtk/setup.c:194 +msgid "Top" +msgstr "Arriba" + +#: src/fe-gtk/setup.c:195 +msgid "Left" +msgstr "Izquierda" + +#: src/fe-gtk/setup.c:196 +msgid "Right" +msgstr "Derecha" + +#: src/fe-gtk/setup.c:197 +msgid "Hidden" +msgstr "Oculto" + +#: src/fe-gtk/setup.c:204 +msgid "Always" +msgstr "Siempre" + +#: src/fe-gtk/setup.c:205 +msgid "Only requested tabs" +msgstr "Solo solapas solicitadas" + +#: src/fe-gtk/setup.c:212 +msgid "Open an extra tab for server messages" +msgstr "Abrir solapa extra para los mensajes del servidor" + +#: src/fe-gtk/setup.c:213 +msgid "Open an extra tab for server notices" +msgstr "Abrir solapa extra para las noticias del servidor" + +#: src/fe-gtk/setup.c:214 +msgid "Sort tabs in alphabetical order" +msgstr "Ordenar solapas alfabéticamente" + +#: src/fe-gtk/setup.c:215 +msgid "Small tabs" +msgstr "Solapas pequeñas" + +#: src/fe-gtk/setup.c:216 +msgid "Focus new tabs:" +msgstr "Centrarse en nuevas solapas:" + +#: src/fe-gtk/setup.c:217 +msgid "Shorten tab labels to:" +msgstr "Reducir solapas a:" + +#: src/fe-gtk/setup.c:217 +msgid "letters." +msgstr "letras." + +#: src/fe-gtk/setup.c:219 +msgid "Tabs Location" +msgstr "Solapas colocadas en:" + +#: src/fe-gtk/setup.c:220 +msgid "Show tabs at:" +msgstr "Mostrar solapas:" + +#: src/fe-gtk/setup.c:222 +msgid "Tabs or Windows" +msgstr "Ventana del último registro" + +#: src/fe-gtk/setup.c:223 +msgid "Open channels in:" +msgstr "Abrir canales en:" + +#: src/fe-gtk/setup.c:224 +msgid "Open dialogs in:" +msgstr "Abrir diálogos en:" + +#: src/fe-gtk/setup.c:225 +msgid "Open utilities in:" +msgstr "Abrir utilidades en:" + +#: src/fe-gtk/setup.c:225 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "¿Abrir DCC, Ignorar, Notificar etc en solapas o en ventanas?" + +#: src/fe-gtk/setup.c:232 +#, fuzzy +msgid "No" +msgstr "Ninguno" + +#: src/fe-gtk/setup.c:233 +msgid "Yes" +msgstr "Sí" + +#: src/fe-gtk/setup.c:234 +msgid "Browse for save folder every time" +msgstr "Elegir carpeta destino cada vez" + +#: src/fe-gtk/setup.c:240 +msgid "Files and Directories" +msgstr "Archivos y directorios" + +#: src/fe-gtk/setup.c:241 +msgid "Auto accept file offers:" +msgstr "Aceptar archivos automáticamente:" + +#: src/fe-gtk/setup.c:242 +msgid "Download files to:" +msgstr "Descargar archivos en:" + +#: src/fe-gtk/setup.c:243 +msgid "Move completed files to:" +msgstr "Mover archivos completados a:" + +#: src/fe-gtk/setup.c:244 +msgid "Save nick name in filenames" +msgstr "Guardar el apodo en los nombres de archivos" + +#: src/fe-gtk/setup.c:246 +msgid "Network Settings" +msgstr "Configuración de red" + +#: src/fe-gtk/setup.c:247 +msgid "Get my address from the IRC server" +msgstr "Obtener mi IP del servidor IRC" + +#: src/fe-gtk/setup.c:248 +msgid "" +"Asks the IRC server for your real address. Use this if you have a 192.168.*." +"* address!" +msgstr "" +"Pregunta su dirección real al servidor IRC. ¡Úselo si tiene una dirección " +"del tipo 192.168.*.*!" + +#: src/fe-gtk/setup.c:249 +msgid "DCC IP address:" +msgstr "Dirección IP DCC:" + +#: src/fe-gtk/setup.c:250 +msgid "Claim you are at this address when offering files." +msgstr "Pretender estar en esta dirección cuando esta ofreciendo archivos." + +#: src/fe-gtk/setup.c:251 +msgid "First DCC send port:" +msgstr "Primer puerto de envío DCC:" + +#: src/fe-gtk/setup.c:252 +msgid "Last DCC send port:" +msgstr "Último puerto de envío DCC:" + +#: src/fe-gtk/setup.c:253 +msgid "!Leave ports at zero for full range." +msgstr "!Dejar los puertos en cero para el rango completo." + +#: src/fe-gtk/setup.c:255 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Velocidad máxima de transferencia de archivos (B/s)" + +#: src/fe-gtk/setup.c:256 +msgid "One upload:" +msgstr "Una subida:" + +#: src/fe-gtk/setup.c:257 src/fe-gtk/setup.c:259 +msgid "Maximum speed for one transfer" +msgstr "Velocidad máx. para una transferencia" + +#: src/fe-gtk/setup.c:258 +msgid "One download:" +msgstr "Una descarga" + +#: src/fe-gtk/setup.c:260 +msgid "All uploads combined:" +msgstr "Todas las subidas combinadas:" + +#: src/fe-gtk/setup.c:261 src/fe-gtk/setup.c:263 +msgid "Maximum speed for all files" +msgstr "Velocidad máx. para todo el tráfico" + +#: src/fe-gtk/setup.c:262 +msgid "All downloads combined:" +msgstr "Todas las descargas combinadas:" + +#: src/fe-gtk/setup.c:270 +msgid "Default Messages" +msgstr "Mensajes predeterminados:" + +#: src/fe-gtk/setup.c:271 +msgid "Quit:" +msgstr "Salir:" + +#: src/fe-gtk/setup.c:272 +msgid "Leave channel:" +msgstr "Abandonar canal:" + +#: src/fe-gtk/setup.c:273 +msgid "Away:" +msgstr "Ausente:" + +#: src/fe-gtk/setup.c:275 +msgid "Away" +msgstr "Ausente" + +#: src/fe-gtk/setup.c:276 +msgid "Announce away messages" +msgstr "Anunciar mensajes de ausencia" + +#: src/fe-gtk/setup.c:277 +msgid "Announce your away messages to all channels" +msgstr "Anunciar sus mensajes ausencia a todos los canales" + +#: src/fe-gtk/setup.c:278 +msgid "Show away once" +msgstr "Mostrar fuera de linea (away) sólo una vez" + +#: src/fe-gtk/setup.c:278 +msgid "Show identical away messages only once" +msgstr "Mostrar mensajes idénticos de ausencia sólo una vez" + +#: src/fe-gtk/setup.c:279 +msgid "Automatically unmark away" +msgstr "Desmarcar ausencia automáticamente" + +#: src/fe-gtk/setup.c:279 +msgid "Unmark yourself as away before sending messages" +msgstr "Desmarcarse como ausente antes de enviar mensajes" + +#: src/fe-gtk/setup.c:282 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "(Puede ser un archivo de texto relativo a ~/.xchat2/)." + +#: src/fe-gtk/setup.c:284 +msgid "(Can be a text file relative to config dir)." +msgstr "" +"(Puede ser un archivo de texto relativo al directorio de configuración)." + +#: src/fe-gtk/setup.c:288 +msgid "Alerts" +msgstr "Alertas" + +#: src/fe-gtk/setup.c:290 +msgid "Flash taskbar on highlighted messages" +msgstr "Iluminar barra de tareas en mensajes resaltados" + +#: src/fe-gtk/setup.c:292 +msgid "Beep on highlighted messages" +msgstr "Pitar en mensajes resaltados" + +#: src/fe-gtk/setup.c:293 +msgid "Beep on private messages" +msgstr "Pitar en mensajes privados" + +#: src/fe-gtk/setup.c:294 +msgid "Beep on channel messages" +msgstr "Pitar en mensajes de canal" + +#: src/fe-gtk/setup.c:295 +msgid "Extra words to highlight on:" +msgstr "Palabras adicionales para resaltar:" + +#: src/fe-gtk/setup.c:296 +msgid "Nicks not to highlight on:" +msgstr "Apodos que no resaltará:" + +#: src/fe-gtk/setup.c:297 +msgid "Separate multiple words with commas." +msgstr "separar palabras múltiples con comas." + +#: src/fe-gtk/setup.c:304 +msgid "Advanced Settings" +msgstr "Configuración avanzada" + +#: src/fe-gtk/setup.c:305 +msgid "Auto reconnect delay:" +msgstr "Retraso de reconexión automática:" + +#: src/fe-gtk/setup.c:306 +msgid "Display MODEs in raw form" +msgstr "Mostrar los MODOs en forma plana" + +#: src/fe-gtk/setup.c:307 +msgid "Whois on notify" +msgstr "Ejecutar Whois en las notificaciones" + +#: src/fe-gtk/setup.c:307 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "" +"Envía un /WHOIS cuando un usuario de la lista de notificaciones se conecta" + +#: src/fe-gtk/setup.c:308 +msgid "Hide join and part messages" +msgstr "Ocultar mensajes de entrar/marchar" + +#: src/fe-gtk/setup.c:308 +msgid "Hide channel join/part messages by default" +msgstr "Ocultar mensajes de entrar/marcharse del canal por defecto" + +#: src/fe-gtk/setup.c:309 +msgid "Auto Open DCC Windows" +msgstr "Abrir las ventanas de diálogo automáticamente" + +#: src/fe-gtk/setup.c:310 +msgid "Send window" +msgstr "Ventana de envío" + +#: src/fe-gtk/setup.c:311 +msgid "Receive window" +msgstr "Ventana de recepción" + +#: src/fe-gtk/setup.c:312 +msgid "Chat window" +msgstr "Ventana de canal" + +#: src/fe-gtk/setup.c:320 src/fe-gtk/setup.c:1511 +msgid "Logging" +msgstr "Registros" + +#: src/fe-gtk/setup.c:321 +msgid "Enable logging of conversations" +msgstr "Habilitar el registro de conversaciones" + +#: src/fe-gtk/setup.c:322 +msgid "Log filename:" +msgstr "Nombre de archivo de registro:" + +#: src/fe-gtk/setup.c:323 +msgid "%s=Server %c=Channel %n=Network." +msgstr "(%s=Servidor %c=Canal %n=Red)." + +#: src/fe-gtk/setup.c:326 +msgid "Insert timestamps in logs" +msgstr "Insertar marcas de fecha/hora en los registros" + +#: src/fe-gtk/setup.c:327 +msgid "Log timestamp format:" +msgstr "Formato de fecha/hora para el registro:" + +#: src/fe-gtk/setup.c:335 +msgid "(Disabled)" +msgstr "(Deshabilitado)" + +#: src/fe-gtk/setup.c:336 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:337 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:338 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:339 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:341 +msgid "MS Proxy (ISA)" +msgstr "" + +#: src/fe-gtk/setup.c:348 +msgid "All Connections" +msgstr "Todas las conexiones" + +#: src/fe-gtk/setup.c:349 +#, fuzzy +msgid "IRC Server Only" +msgstr "Sólo para el servidor de IRC" + +#: src/fe-gtk/setup.c:350 +msgid "DCC Get Only" +msgstr "Sólo para recepción por DCC" + +#: src/fe-gtk/setup.c:356 +msgid "Your Address" +msgstr "Su dirección" + +#: src/fe-gtk/setup.c:357 +msgid "Bind to:" +msgstr "Asociar a:" + +#: src/fe-gtk/setup.c:358 +msgid "Only useful for computers with multiple addresses." +msgstr "Sólo es útil para computadoras con direcciones múltiples." + +#: src/fe-gtk/setup.c:360 +msgid "Proxy Server" +msgstr "Servidor proxy" + +#: src/fe-gtk/setup.c:361 +msgid "Hostname:" +msgstr "Nombre de equipo:" + +#: src/fe-gtk/setup.c:362 +msgid "Port:" +msgstr "Puerto:" + +#: src/fe-gtk/setup.c:363 +msgid "Type:" +msgstr "Tipo:" + +#: src/fe-gtk/setup.c:364 +msgid "Use proxy for:" +msgstr "Usar un servidor proxy para:" + +#: src/fe-gtk/setup.c:366 +msgid "Proxy Authentication" +msgstr "Autenticación en el servidor proxy" + +#: src/fe-gtk/setup.c:368 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Usar autenticación (sólo HTTP, MS Proxy o Socks5)" + +#: src/fe-gtk/setup.c:370 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Usar autenticación (solo HTTP o Socks5)" + +#: src/fe-gtk/setup.c:372 +msgid "Username:" +msgstr "Nombre de usuario:" + +#: src/fe-gtk/setup.c:373 +msgid "Password:" +msgstr "Contraseña:" + +#: src/fe-gtk/setup.c:716 +msgid "Select an Image File" +msgstr "Seleccione un archivo de imagen" + +#: src/fe-gtk/setup.c:740 +msgid "Select Download Folder" +msgstr "Seleccionar carpeta de descargas" + +#: src/fe-gtk/setup.c:749 +msgid "Select font" +msgstr "Seleccionar tipografía" + +#: src/fe-gtk/setup.c:820 +msgid "Browse..." +msgstr "Buscar..." + +#: src/fe-gtk/setup.c:955 +msgid "Mark identified users with:" +msgstr "Marcar usuarios identificados con:" + +#: src/fe-gtk/setup.c:957 +msgid "Mark not-identified users with:" +msgstr "Marcar usuarios no identificados con:" + +#: src/fe-gtk/setup.c:1018 +msgid "Select color" +msgstr "Seleccionar color" + +#: src/fe-gtk/setup.c:1098 +msgid "Text Colors" +msgstr "Colores de texto" + +#: src/fe-gtk/setup.c:1100 +msgid "mIRC colors:" +msgstr "Colores de mIRC:" + +#: src/fe-gtk/setup.c:1108 +msgid "Local colors:" +msgstr "Colores locales:" + +#: src/fe-gtk/setup.c:1116 src/fe-gtk/setup.c:1121 +msgid "Foreground:" +msgstr "Primer plano:" + +#: src/fe-gtk/setup.c:1117 src/fe-gtk/setup.c:1122 +msgid "Background:" +msgstr "Fondo:" + +#: src/fe-gtk/setup.c:1119 +msgid "Marking Text" +msgstr "Texto marcado" + +#: src/fe-gtk/setup.c:1124 +msgid "Interface Colors" +msgstr "Colores de la interfaz" + +#: src/fe-gtk/setup.c:1126 +msgid "New data:" +msgstr "Dato nuevo:" + +#: src/fe-gtk/setup.c:1127 +msgid "Marker line:" +msgstr "Línea de señalador:" + +#: src/fe-gtk/setup.c:1128 +msgid "New message:" +msgstr "Mensaje nuevo:" + +#: src/fe-gtk/setup.c:1129 +msgid "Away user:" +msgstr "Usuario ausente:" + +#: src/fe-gtk/setup.c:1130 +msgid "Highlight:" +msgstr "Resaltar:" + +#: src/fe-gtk/setup.c:1226 src/fe-gtk/textgui.c:386 +msgid "Event" +msgstr "Evento" + +#: src/fe-gtk/setup.c:1232 +msgid "Sound file" +msgstr "Archivo de sonido:" + +#: src/fe-gtk/setup.c:1267 +msgid "Select a sound file" +msgstr "Seleccione un archivo de sonido" + +#: src/fe-gtk/setup.c:1339 +msgid "Sound playing method:" +msgstr "Método de reproducción de sonido:" + +#: src/fe-gtk/setup.c:1347 +msgid "External sound playing _program:" +msgstr "Programa externo de _reproducción de sonido:" + +#: src/fe-gtk/setup.c:1365 +msgid "_External program" +msgstr "_Programa externo" + +#: src/fe-gtk/setup.c:1375 +msgid "_Automatic" +msgstr "_Automática" + +#: src/fe-gtk/setup.c:1388 +msgid "Sound files _directory:" +msgstr "_Carpeta de archivos de sonido:" + +#: src/fe-gtk/setup.c:1427 +msgid "Sound file:" +msgstr "Archivo de sonido:" + +#: src/fe-gtk/setup.c:1442 +msgid "_Browse..." +msgstr "_Explorar..." + +#: src/fe-gtk/setup.c:1453 +msgid "_Play" +msgstr "_Reproducir" + +#: src/fe-gtk/setup.c:1502 +msgid "Interface" +msgstr "Interfaz" + +#: src/fe-gtk/setup.c:1503 +msgid "Text box" +msgstr "Caja de texto" + +#: src/fe-gtk/setup.c:1505 +msgid "User list" +msgstr "Lista de usuarios" + +#: src/fe-gtk/setup.c:1507 +msgid "Colors" +msgstr "Colores" + +#: src/fe-gtk/setup.c:1509 +msgid "Chatting" +msgstr "Conversación" + +#: src/fe-gtk/setup.c:1510 +msgid "General" +msgstr "General" + +#: src/fe-gtk/setup.c:1512 +msgid "Sound" +msgstr "Sonido" + +#: src/fe-gtk/setup.c:1515 +msgid "Network" +msgstr "Red" + +#: src/fe-gtk/setup.c:1516 +msgid "Network setup" +msgstr "Configuración de red" + +#: src/fe-gtk/setup.c:1517 +msgid "File transfers" +msgstr "Transferencias de archivos" + +#: src/fe-gtk/setup.c:1625 +msgid "Categories" +msgstr "Categorías" + +#: src/fe-gtk/setup.c:1797 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" +"Algunas opciones que han cambiado requieren un reinicio para tener efecto." + +#: src/fe-gtk/setup.c:1805 +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 "" +"*ADVERTENCIA*\n" +"Aceptar automáticamente DCC hacia su directorio de inicio\n" +"puede ser peligroso y es explotable. Por ejemplo: Alguien \n" +"puede enviarle un archivo .bash_profile" + +#: src/fe-gtk/setup.c:1838 +msgid "XChat: Preferences" +msgstr "XChat: Preferencias" + +#: src/fe-gtk/textgui.c:177 +msgid "There was an error parsing the string" +msgstr "Ha ocurrido un error analizando la cadena" + +#: src/fe-gtk/textgui.c:185 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Esta señal sólo ha pasado %d argumentos, $%d es inválido" + +#: src/fe-gtk/textgui.c:301 src/fe-gtk/textgui.c:324 +msgid "Print Texts File" +msgstr "Imprimir archivos de textos" + +#: src/fe-gtk/textgui.c:369 +msgid "Edit Events" +msgstr "Editar eventos" + +#: src/fe-gtk/textgui.c:420 +msgid "$ Number" +msgstr "$ Número" + +#: src/fe-gtk/textgui.c:437 +msgid "Load From..." +msgstr "Cargar desde..." + +#: src/fe-gtk/textgui.c:438 +msgid "Test All" +msgstr "Probar todo" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: Capturador de URL" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Limpiar la lista" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Copiar URL seleccionada" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Copiar" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Guardar lista en un archivo." + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d total" + +#: plugins/dbus/xchat-remote.c:41 +msgid "Open an irc:// url" +msgstr "Abrir una url irc://" + +#: plugins/dbus/xchat-remote.c:41 +msgid "irc://server:port/channel" +msgstr "irc://servidor:puerto/canal" + +#: plugins/dbus/xchat-remote.c:42 +msgid "Execute a xchat command" +msgstr "Ejecutar una orden de xchat" + +#: plugins/dbus/xchat-remote.c:42 +msgid "\"Command to execute\"" +msgstr "\"Orden a ejecutar\"" + +#: plugins/dbus/xchat-remote.c:43 +msgid "Prints some text to the current tab/window" +msgstr "Imprime textos en la ventana/solapa actual" + +#: plugins/dbus/xchat-remote.c:43 +msgid "\"Text to print\"" +msgstr "\"Texto a imprimir\"" + +#: plugins/dbus/xchat-remote.c:44 +msgid "Change the context to the channel" +msgstr "Cambiar el contexto al canal" + +#: plugins/dbus/xchat-remote.c:44 +msgid "channel" +msgstr "canal" + +#: plugins/dbus/xchat-remote.c:45 +msgid "Change the context to the server" +msgstr "Cambiar el contexto al servidor" + +#: plugins/dbus/xchat-remote.c:45 +msgid "server" +msgstr "servidor" + +#: plugins/dbus/xchat-remote.c:46 +msgid "Get some informations from xchat" +msgstr "Obtener información desde xchat" + +#: plugins/dbus/xchat-remote.c:46 +msgid "id" +msgstr "id" + +#: plugins/dbus/xchat-remote.c:47 +msgid "Get settings from xchat" +msgstr "Obtener configuraciones de xchat" + +#: plugins/dbus/xchat-remote.c:47 +msgid "name" +msgstr "nombre" + +#: plugins/dbus/xchat-remote.c:79 +#, c-format +msgid "" +"xchat-remote: %s\n" +"Try `xchat-remote --help' for more information\n" +msgstr "" +"xchat-remote: %s\n" +"Intente `xchat-remote --help' para más información\n" + +#: plugins/dbus/xchat-remote.c:90 +msgid "Couldn't connect to session bus" +msgstr "No se ha podido conectar al bus de la sesión" + +#: plugins/dbus/xchat-remote.c:116 plugins/dbus/xchat-remote.c:130 +msgid "Failed to complete command" +msgstr "Imposible completar comando" + +#: plugins/dbus/xchat-remote.c:125 +msgid "Failed to complete SetContext" +msgstr "Imposible completar SetContext" + +#: plugins/dbus/xchat-remote.c:135 +msgid "Failed to complete print" +msgstr "Imposible completar la impresión" + +#: plugins/dbus/xchat-remote.c:142 +msgid "Failed to complete GetInfo" +msgstr "Imposible completar GetInfo" + +#: plugins/dbus/xchat-remote.c:155 +msgid "Failed to complete GetPrefs" +msgstr "Imposible completar GetPrefs" + +#: plugins/dbus/xchat-remote.c:159 +#, c-format +msgid "%s doesn't exist\n" +msgstr "no existe %s\n" + +#: plugins/dbus/dbus-plugin.c:27 +msgid "xchat remote access" +msgstr "acceso remoto xchat" + +#: plugins/dbus/dbus-plugin.c:28 +msgid "plugin for remote access using DBUS" +msgstr "complemento para acceso remoto usando DBUS" + +#: plugins/dbus/dbus-plugin.c:333 +#, c-format +msgid "Couldn't connect to session bus : %s\n" +msgstr "No se ha podido conectar al bus de la sesión : %s\n" + +#: plugins/dbus/dbus-plugin.c:353 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Imposible adquirir %s: %s\n" + +#: plugins/dbus/dbus-plugin.c:401 +#, c-format +msgid "%s loaded successfully!\n" +msgstr "%s se cargó exitosamente\n" + +#~ msgid "_Server List..." +#~ msgstr "Lista de servidores..." + +#~ msgid "Add" +#~ msgstr "Agregar" + +#~ msgid "Convert spaces to underscore before sending" +#~ msgstr "Convertir espacios a guiones bajos" + +#~ msgid "France, Metropolitan" +#~ msgstr "Francia Metropolitana" + +#~ msgid "Neutral Zone" +#~ msgstr "Zona Neutral" + +#~ msgid "File:" +#~ msgstr "Archivo:" + +#~ msgid "From:" +#~ msgstr "De:" + +#~ msgid "To:" +#~ msgstr "Para:" + +#~ msgid "Size:" +#~ msgstr "Tamaño:" + +#~ msgid "MIME Type" +#~ msgstr "Tipo MIME" + +#~ msgid "Settings saved." +#~ msgstr "Configuraciones guardadas." + +#~ msgid "Save rawlog" +#~ msgstr "Guardar registro plano" + +#~ msgid "Save rawlog..." +#~ msgstr "Guardar registro plano..." + +#~ msgid "XChat: Server List" +#~ msgstr "XChat: Lista de servidores" + +#~ msgid "Completes nick names without using the TAB key" +#~ msgstr "Completar apodos sin usar el tabulador" + +#~ msgid "Input Box Appearance" +#~ msgstr "Apariencia" + +#~ msgid "(See strftime manpage for details)." +#~ msgstr "(Vea la página del manual de strftime para obtener mas detalles)." diff --git a/po/et.po b/po/et.po new file mode 100644 index 00000000..6e9ec3cd --- /dev/null +++ b/po/et.po @@ -0,0 +1,5317 @@ +# XChati eestikeelne tõlge. +# Estonian translation of XChat. +# Copyright (C) 2001, 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the xchat package. +# +# Ekke Vasli <ekke@chamber.ee>, 2001. +# Ilmar Kerm <ikerm@hot.ee>, 2002. +# Urmet Saar <urmet.saar@gmail.com>, 2005-2008. +msgid "" +msgstr "" +"Project-Id-Version: xchat-2.8.4\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2007-06-24 13:05+1000\n" +"PO-Revision-Date: 2008-02-14 13:57+0200\n" +"Last-Translator: Urmet Saar <urmet.saar@gmail.com>\n" +"Language-Team: Estonian <linux-ee@lists.eenet.ee>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Estonian\n" +"X-Poedit-Country: ESTONIA\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "Ei saa luua kataloogi ~/.xchat2" + +#: src/common/cfgfiles.c:712 +msgid "I'm busy" +msgstr "On tegemist" + +#: src/common/cfgfiles.c:713 +msgid "Leaving" +msgstr "Lahkun" + +#: src/common/cfgfiles.c:760 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* root-kasutajana IRCus istumine on lollus! Sa peaksid\n" +" looma tavakasutaja konto ja sellega sisse logima.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Ootamine" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Aktiivne" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Ei õnnestunud" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Valmis" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:797 +msgid "Connect" +msgstr "Ühenda" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Katkestatud" + +#: src/common/dcc.c:1886 src/common/outbound.c:2452 +#, c-format +msgid "Cannot access %s\n" +msgstr "Puudub ligipääs failile %s\n" + +#: src/common/dcc.c:1887 src/common/text.c:1164 src/common/text.c:1202 +#: src/common/text.c:1213 src/common/text.c:1220 src/common/text.c:1233 +#: src/common/text.c:1250 src/common/text.c:1350 src/common/util.c:352 +msgid "Error" +msgstr "Viga" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s pakub sulle faili \"%s\". Kas soovid selle vastu võtta?" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "Ei ole ühtegi aktiivset DCCd\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "JAH " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "EI " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "%s ujutab sind CTCP päringutega üle, ignoreerin kasutajat %s\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "%s ujutab sind MSG'dega üle, lülitan \"gui_auto_open_dialog\" välja.\n" + +#: src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s onlain\n" + +#: src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s offlain\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Pole ühinetud ühegi kanaliga. Proovi /join #<kanal>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Pole ühendatud. Proovi /server <host> [<port>]\n" + +#: src/common/outbound.c:339 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Sa oled juba eemal: %s\n" + +#: src/common/outbound.c:409 +msgid "Already marked back.\n" +msgstr "Sa oled juba tagasi.\n" + +#: src/common/outbound.c:1814 +msgid "I need /bin/sh to run!\n" +msgstr "Vajan käivitamiseks programmi /bin/sh!\n" + +#: src/common/outbound.c:2185 +msgid "Commands Available:" +msgstr "Võimalikud käsud: " + +#: src/common/outbound.c:2199 +msgid "User defined commands:" +msgstr "Kasutaja tekitatud käsud: " + +#: src/common/outbound.c:2215 +msgid "Plugin defined commands:" +msgstr "Pluginate poolt tekitatud käsud: " + +#: src/common/outbound.c:2226 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Rohkem infot saad käsuga /HELP <käsk>, või proovi /HELP -l" + +#: src/common/outbound.c:2301 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Tundmatut parameetrit '%s' ignoreeriti." + +#: src/common/outbound.c:3235 +msgid "No such plugin found.\n" +msgstr "Sellist pluginat ei leitud.\n" + +#: src/common/outbound.c:3240 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "See plugin ei taha end eemaldada.\n" + +#: src/common/outbound.c:3509 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nimi> <tegevus>, lisab kasutajate nimekirja alla uue nupu" + +#: src/common/outbound.c:3511 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <käsk>, saadab käsu kõikidele kanalitele, kus oled" + +#: src/common/outbound.c:3513 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <käsk>, saadab käsu kõikidele kanalitele, kus oled" + +#: src/common/outbound.c:3515 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <käsk>, saadab käsu kõikidele serverite, kus oled" + +#: src/common/outbound.c:3516 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<põhjus>], märgib sinu eemal olevaks" + +#: src/common/outbound.c:3517 +msgid "BACK, sets you back (not away)" +msgstr "BACK, oled tagasi (mitte eemal)" + +#: src/common/outbound.c:3519 +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> [<keelu tüüp>], keelab hosti maskiga sobivatel kasutajatel kanaliga liitumise. Kui mõni selline kasutaja on kanalis, siis see käsk ei viska neid automaatselt välja (selleks vajad chanop-õigusi)" + +#: src/common/outbound.c:3521 +msgid "" +"Set per channel options\n" +"CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part messages\n" +"CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +"CHANOPT BEEP ON|OFF - Toggle beep on message\n" +"CHANOPT TRAY ON|OFF - Toggle tray blink on message" +msgstr "" +"Seadista kanalipõhiseid seadeid\n" +"CHANOPT CONFMODE ON|OFF - Vali ühinemis- ja lahkumisteadete näitamine \n" +"CHANOPT COLORPASTE ON|OFF - Koos värvikoodidega teksti asetamine\n" +"CHANOPT BEEP ON|OFF - Piiksu tegemine sõnumi saamisel\n" +"CHANOPT TRAY ON|OFF - Süsteemisalve vilgutamine sõnumi saamisel" + +#: src/common/outbound.c:3528 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR [ALL|HISTORY], Puhastab aktiivse tekstiakna või sisestuskasti mälu" + +#: src/common/outbound.c:3529 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, Sulgeb aktiivse tekstiakna" + +#: src/common/outbound.c:3532 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <kood>, leiab koodi järgi riigi nime, näiteks ee = eesti" + +#: src/common/outbound.c:3534 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <kasutaja> <teade>, saadab kasutajale CTCP teate. Levinud teateid on näiteks VERSION ja USERINFO" + +#: src/common/outbound.c:3536 +msgid "CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "CYCLE [<kanal>], Lahkub aktiivsest või antud kanalist ja naaseb kohe" + +#: src/common/outbound.c:3538 +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 "" +"\n" +"DCC GET <kasutaja> - võta kasutajalt pakutav fail vastu\n" +"DCC SEND [-maxcps=#] <kasutaja> <fail> - saada kasutajale fail\n" +"DCC PSEND [-maxcps=#] <kasuatja> <fail> - saada fail passiivses režiimis\n" +"DCC LIST - näita DCC'de nimekirja\n" +"DCC CHAT <kasutaja> - paku kasutajale DCC vestlust\n" +"DCC PCHAT <kasutaja> - paku kasutajale passivses režiimis\n" +" DCC vestlust\n" +"DCC CLOSE <tüüp> <kasutaja> <fail> näide:\n" +" /dcc close send toomas fail.tar.gz" + +#: src/common/outbound.c:3550 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <kasutaja>, eemaldab aktiivse kanali kasutajalt chanhalf-op õiguse (vajab chanop õigust)" + +#: src/common/outbound.c:3552 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nimi>, kustutab kasutajate nimekirja aluse nupu" + +#: src/common/outbound.c:3554 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <kasutaja>, eemaldab aktiivse kanali kasutajalt chanop õiguse (vajab chanop õigust)" + +#: src/common/outbound.c:3556 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <hüüdnimi>, võtab kasutajalt hääleõiguse" + +#: src/common/outbound.c:3557 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, katkestab ühenduse serveriga" + +#: src/common/outbound.c:3558 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <kasutaja|host|ip>, leiab kasutaja ip aadressi" + +#: src/common/outbound.c:3559 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <tekst>, väljastab teksti samas masinas" + +#: src/common/outbound.c:3562 +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] <programm>, käivitab programmi. Kui -o lipp on kasutusel, siis saadetakse programmi väljund kanalisse, muul juhul näidatakse ainult sulle endale." + +#: src/common/outbound.c:3564 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, saadab protsessile SIGCONT signaali" + +#: src/common/outbound.c:3567 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], tapab EXEC käsuga käivitatud protsessi. Kui -9 võti on antud, saadetakse protsessile SIGKILL." + +#: src/common/outbound.c:3569 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, saadab protsessile SIGSTOP signaali" + +#: src/common/outbound.c:3570 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, saadab andmeid protsessi sisendisse" + +#: src/common/outbound.c:3574 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, tühjendab serveri saatejärjekorra" + +#: src/common/outbound.c:3576 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>], loob proksiühenduse hosti kaudu, vaikeport on 23" + +#: src/common/outbound.c:3580 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <hüüdnimi> <parool>, tapab kummituse" + +#: src/common/outbound.c:3585 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <kasutaja>, annab kasutajale chanhalf-op õiguse (vajab chanop õigust)" + +#: src/common/outbound.c:3586 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <parool>, identifitseerib sind nickservile." + +#: src/common/outbound.c:3588 +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 <mask> <tüübid..> <..>\n" +" mask - hostmask mida ignoreerida - näiteks: *!*@*.starman.ee\n" +" tüübid - andmete tüübid, mida eirata. võib valida ühe või rohkem:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" + +#: src/common/outbound.c:3595 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <kasutaja> [<kanal>], kutsub kasutaja kanalisse, vaikimisi aktiivsesse kanalisse (vajab chanop õigust)" + +#: src/common/outbound.c:3596 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanal>, ühineb kanaliga" + +#: src/common/outbound.c:3598 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <kasutaja>, viskab selle kasutaja kanalist välja (vajab chanop õigust)" + +#: src/common/outbound.c:3600 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <hüüdmini>, keelab kasutajal kanalisse sisenemise ja seejärel viskab ta kanalist välja (vajab kanali operaatori õigusi)" + +#: src/common/outbound.c:3603 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, teeb sundkorras võrgu viite kontrolli" + +#: src/common/outbound.c:3605 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <string>, otsib puhvrist stringi" + +#: src/common/outbound.c:3607 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <fail>, laeb plugina või skripti" + +#: src/common/outbound.c:3610 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, võtab kõigilt kanalis viibijatelt pool-operaatori õigused (vajab kanali operaatori õigusi)" + +#: src/common/outbound.c:3612 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, võtab kõigilt kanalist viibijatelt operaatori õigused (vajab kanali operaatori õigusi)" + +#: src/common/outbound.c:3614 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <tegevus>, saadab tegevuse aktiivsesse kanalisse (tegevused kirjutatakse kolmandas isikus, näiteks /me hüppab)" + +#: src/common/outbound.c:3618 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, viskab kanalist välja kõik peale sinu (vajab chanop õigust)" + +#: src/common/outbound.c:3621 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, annab kõigile aktiivses kanalis olijatele chanop õigused (vajab chanop õigust)" + +#: src/common/outbound.c:3622 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <kasutaja> <sõnum>, saadab kasutajale privaatsõnumi" + +#: src/common/outbound.c:3625 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, näitab aktiivse kanali kasutajate nimekirja" + +#: src/common/outbound.c:3627 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <kasutaja> <sõnum>, saadab CTCP teate" + +#: src/common/outbound.c:3628 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostinimi> [<port>]" + +#: src/common/outbound.c:3629 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <hüüdnimi>, muudab su hüüdnime" + +#: src/common/outbound.c:3632 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <hüüdnimi/kanal> <sõnum>, saadab teate. Teated on sõnumid, mis tahavad kohest tähelepanu" + +#: src/common/outbound.c:3634 +msgid "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" +msgstr "NOTIFY [-n võrk1[,võrk2,...]] [<hüüdnimi>], kuvab või täiendab märguandenimekirja" + +#: src/common/outbound.c:3636 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <kasutaja>, annab kasutajale chanop üigused (vajab chanop'i)" + +#: src/common/outbound.c:3638 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanal>] [<põhjus>], lahkub kanalist. Vaikimisi hetkel avatud kanalist" + +#: src/common/outbound.c:3640 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <hüüdnimi|kanal>, saadab CTCP pingi kasutajale või kanalisse" + +#: src/common/outbound.c:3642 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <hüüdnimi>, avab uue vestlusakna" + +#: src/common/outbound.c:3644 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<põhjus>], katkestab ühenduse serveriga" + +#: src/common/outbound.c:3646 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <tekst>, saadab teksti toorel kujul serverisse" + +#: src/common/outbound.c:3649 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<port>] [<salasõna>], võib kasutada ka lihtsalt kujul /RECONNECT, et uuesti samasse serverisse ühenduda, või /RECONNECT ALL, et luua kõigisse serveritesse uuesti ühendus." + +#: src/common/outbound.c:3652 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<salasõna>], võib kasutada ka lihtsalt kujul /RECONNECT, et uuesti samasse serverisse ühenduda, või /RECONNECT ALL, et luua kõigisse serveritesse uuesti ühendus." + +#: src/common/outbound.c:3654 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <tekst>, saadab xchatile tooreid andmeid, nagu need oleksid tulnud serverist." + +#: src/common/outbound.c:3657 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <tekst>, saadab teksti aktiivsesse aknasse" + +#: src/common/outbound.c:3658 +msgid "SEND <nick> [<file>]" +msgstr "SEND <hüüdnimi> [<failinimi>]" + +#: src/common/outbound.c:3661 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <kanal>, ühendub serverisse ja liitub kanaliga." + +#: src/common/outbound.c:3664 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <kanal>, ühendab serverisse ja liitub kanaliga" + +#: src/common/outbound.c:3668 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <host> [<port>] [<salasõna>], loob serveriga ühenduse, vaikimisi port tavaliste ühenduste jaoks on 6667 ja 9999 ssl ühenduste jaoks" + +#: src/common/outbound.c:3671 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <host> [<port>] [<salasõna>], loob serveriga ühenduse, vaikimisi port on 6667" + +#: src/common/outbound.c:3673 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-or] [-quiet] <muutuja> [<väärtus>]" + +#: src/common/outbound.c:3674 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<positsioon>" + +#: src/common/outbound.c:3679 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<teema>]. määrab uue teema või näitab praegust" + +#: src/common/outbound.c:3681 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" +"\n" +"TRAY -f <taimaut> <fail1> [<fail2>] Vaheta kahe salveikooni vahel.\n" +"TRAY -f <filename> Määra üks kindel ikoon.\n" +"TRAY -i <number> Vaheta salveikooni seesmise ikooniga.\n" +"TRAY -t <text> Määra salveikooni abitekst.\n" +"TRAY -b <peakliri> <tekst> Määra salve mullike." + +#: src/common/outbound.c:3688 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], võtab määratud maskidelt keelu maha." + +#: src/common/outbound.c:3689 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:3690 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nimi>, eemaldab plugina või skripti" + +#: src/common/outbound.c:3691 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, avab url'i brauseris" + +#: src/common/outbound.c:3693 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <hüüdnimi1> <hüüdnimi2> jne, märgistab kasutajate nimekirjas hüüdnime(d)" + +#: src/common/outbound.c:3696 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <kasutaja>, annab kasutajale voice staatuse (vajab chanop õigust)" + +#: src/common/outbound.c:3698 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <sõnum>, saadab sõnumi kõikidele kanalitele, kus oled" + +#: src/common/outbound.c:3700 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <sõnum>, saadab sõnumi kõigile aktiivse kanali chanop-idele" + +#: src/common/outbound.c:3733 +#, c-format +msgid "Usage: %s\n" +msgstr "Kasutus: %s\n" + +#: src/common/outbound.c:3738 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Selle käsu kohta pole abimaterjale.\n" + +#: src/common/outbound.c:3744 +msgid "No such command.\n" +msgstr "Sellist käsku pole olemas\n" + +#: src/common/outbound.c:4074 +msgid "Bad arguments for user command.\n" +msgstr "Halvad argumendid kasutaja määratud käsule.\n" + +#: src/common/outbound.c:4230 +msgid "Too many recursive usercommands, aborting." +msgstr "Liiga rekursiivne käsk, katkestan." + +#: src/common/outbound.c:4307 +msgid "Unknown Command. Try /help\n" +msgstr "Tundmatu käsk. Proovi /help\n" + +#: src/common/plugin.c:356 src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Ei leitud xchat_plugin_init sümbolit; oled sa ikka kindel, et see on xchati plugin?" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Oled sa kindel et selle serveri selles pordis töötab SSL?\n" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Ei saa lahendada hostinime %s\n" +"Palun kontrolli oma IP sätteid!\n" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "Proksi kaudu ühendumine ebaõnnestus.\n" + +#: src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Lähen võrgu %s järgmise serveri juurde...\n" + +#: src/common/servlist.c:1074 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Hoiatus: Tundmatu kooditabel \"%s\". Võrgu %s sõnumeid ei kodeerita ümber." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 lisatud märguande nimekirja." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 kanalis bännitute nimekiri:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tEi saa liituda kanaliga%C26 %B$1 %O(keelatud)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 kannab nüüd nime $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 pani keelu maskile $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tKanal $1 loodi $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O võttis kanali pool-operaatori võimu kasutajalt%C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O võttis kanali operaatori võimu kasutajalt%C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O võttis hääle kasutajalt%C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 tegi erandi kasutajale $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O andis kasutajale%C26 $2%O kanali pool-operaatori võimu" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 määras kutsumise $2 peale" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UKanal Liikmeid Teema" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 seadis kanalile $4 võtme $2$3" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Kanali $1 seaded: $2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O andis operaatori staatuse kasutajale%C26 $2 " + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 eemaldab erandi kasutajalt $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 eemaldas kutsumise $2 pealt" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 eemaldas kanalilt märksõna" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 eemaldas kasutajalimiidi" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 seadis kanali märksõnaks $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 seadis kanali piiranguks $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 eemaldas keelu maskilt $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O andis hääle kasutajale%C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Ühendatud. Login sisse.." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Ühendan serveri $1 ($2) porti $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Ühendamine ebaõnnestus. Viga: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tVõtsin vastu CTCP $1 kasutajalt $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tVõtsin vastu CTCP $1 kasutajalt $2 ($3-le)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tVõtsin vastu CTCP heli $1 kasutajalt $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tVõtsin vastu CTCP $1 kasutajalt $2 ($3-le)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC vestlus kasutajaga %C26$1%O katkestatud." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC vestlusühendus loodud kasutajaga %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tDCC vestlus kasutajaga %C26$1%O katkes ($4)." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tVõtsin vastu DCC CHAT pakkumise kasutajalt $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tPakun DCC vestlust kasutajale to $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tJuba pakun DCC vestlust kasutajale $1" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 ühenduse loomine kasutajaga%C26 $2%O nurjus (err=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tVõtsin vastu '$1%O' kasutajalt $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Tüüp Kust/Kuhu Staatus Suurus Posits. Fail " + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$tVõtsin vastu vigase DCC päringu kasutajalt: %C26$1%O.%010%C22*%O$tPaketi sisu: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tPakun kasutajale%C26 $2%O faili%C26 $1" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tTundmatu DCC." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV%C26 $2%O kasutajale%C26 $1%O katkestatud." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tDCC RECV%C26 $1%O kasutajalt%C26 $3%O lõpetatud %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC RECV ühendus loodud kasutajaga%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O kasutajalt%C26 $3%O nurjus ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: Ei suuda avada faili $1 kirjutamiseks ($2) - katkestan." + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tFail%C26 $1%C on juba olemas. Salvestan nimega%C26 $2%O." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Osoovib jätkata faili%C26 $2 %Ctõmbamist kohalt%C26 $3%C." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND%C26 $2%O kasutajale%C26 $1%O katkestatud." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC SEND%C26 $1%O kasutajale%C26 $2%O lõpetatud %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC SEND ühendus loodud kasutajaga%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O kasutajale%C26 $2%O nurjus. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Opakkus%C26 $2 %O(%C26$3 %Obaiti)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Okasutajale%C26 $3 %Cviibis - katkestan." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Okasutajale%C26 $3 %Caegus - katkestan." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 kustutatud märguande nimekirjast." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tÜhendus katkestatud ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tLeidsin su IP: [$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O lisatud ignoreeritavate nimekirja." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Ignoreerimine muudetud: %C26$1%O" + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O eemaldatud ignoreeritavate nimekirjast." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " Ignonreeritavate nimekiri on tühi." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tEi saa liituda kanaliga%C26 %B$1 %O(liitumine ainult kutsetega)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$t%C11$2%C kutsus sind kanalisse %C11$1%C (%C11$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) liitus kanaliga $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tEi saa liituda kanaliga%C26 %B$1 %O(kanal nõuab salasõna)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 viskas kasutaja $2 välja kanalist $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$t$1 ($2%O%C22) tappis su." + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD vahele jäetud." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 on juba kasutuses. Proovin nime $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tSinu hüüdnimi on juba kasutuses. Proovi teist nime käsuga /NICK." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tTundmatu DCC." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tPraegul ei tööta ükski protsess" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tMärguandenimekiri on tühi." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Märguandenimekiri " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 kasutajat märguandenimekirjas." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tMärguanne: $1 ei ole enam online ($3)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tMärguanne: $1 on online ($3)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) lahkus kanalist $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) lahkus kanalist $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tPingi vastus kasutajalt $1: $2 sekund(it)" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tPingile pole $1 sekundi jooksul vastatud, katkestan ühenduse." + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 lahkus (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 määrab %B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "" + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Ühendatud." + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Lahendan hosti $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tKatkestasin eelmise ühendamiskatse (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Kanali $1%C %C29teema on: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 seadis kanalile uue teema: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Kanali $1%C %C29teema määras $3 kasutaja $2" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tTundmatu server. Kontrolli kas kirjutasid serveri nime õigesti." + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tEi saa liituda kanaliga%C26 %B$1 %O(Kasutajalimiit saavutatud)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Kasutajad kanalis $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Con eemal %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OWHOIS nimekirja lõpp." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O jõude%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O jõude%C26 $2%O, liitus:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Vestled nüüd kanalis $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$t$3 viskas sind välja kanalist $2 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tSa lahkusid kanalist $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tSa lahkusid kanalist $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tSa kutsusid%C26 $1%O kanalisse%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tSa kannad nüüd nime $2" + +#: src/common/text.c:287 +msgid "Loaded log from" +msgstr "Logi laetud failist" + +#: src/common/text.c:305 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** LÕPETAN LOGIMISE %s\n" + +#: src/common/text.c:514 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ALUSTAN LOGIMIST %s\n" + +#: src/common/text.c:533 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Ei saa avada logifaile kirjutamiseks. Kontrolli\n" +" %s/xchatlogs kausta õigusi" + +#: src/common/text.c:871 +msgid "Left message" +msgstr "Vasakpoolne sõnum" + +#: src/common/text.c:872 +msgid "Right message" +msgstr "Parempoolne sõnum" + +#: src/common/text.c:876 +msgid "The nick of the joining person" +msgstr "Liituja kasutajanimi" + +#: src/common/text.c:877 +msgid "The channel being joined" +msgstr "Liitutav kanal" + +#: src/common/text.c:878 src/common/text.c:925 src/common/text.c:976 +msgid "The host of the person" +msgstr "Kasutaja host" + +#: src/common/text.c:882 src/common/text.c:888 src/common/text.c:895 +#: src/common/text.c:1083 src/common/text.c:1090 src/common/text.c:1095 +#: src/common/text.c:1100 src/common/text.c:1105 src/common/text.c:1111 +#: src/common/text.c:1116 src/common/text.c:1120 src/common/text.c:1126 +#: src/common/text.c:1132 src/common/text.c:1178 src/common/text.c:1189 +#: src/common/text.c:1194 src/common/text.c:1199 src/common/text.c:1208 +#: src/common/text.c:1219 src/common/text.c:1226 src/common/text.c:1232 +#: src/common/text.c:1237 src/common/text.c:1242 src/common/text.c:1249 +#: src/common/text.c:1255 src/common/text.c:1261 src/common/text.c:1266 +#: src/common/text.c:1271 src/common/text.c:1275 src/common/text.c:1281 +#: src/common/text.c:1289 src/common/text.c:1323 src/common/text.c:1328 +msgid "Nickname" +msgstr "Kasutajanimi" + +#: src/common/text.c:883 +msgid "The action" +msgstr "Tegevus" + +#: src/common/text.c:884 src/common/text.c:890 +msgid "Mode char" +msgstr "Moodi sümbol" + +#: src/common/text.c:889 +msgid "The text" +msgstr "Tekst" + +#: src/common/text.c:891 src/common/text.c:897 +msgid "Identified text" +msgstr "Tuvastatud tekst" + +#: src/common/text.c:896 src/common/text.c:953 src/common/text.c:959 +msgid "The message" +msgstr "Teade" + +#: src/common/text.c:901 src/common/text.c:963 +msgid "Old nickname" +msgstr "Endine nimi" + +#: src/common/text.c:902 src/common/text.c:964 +msgid "New nickname" +msgstr "Uus nimi" + +#: src/common/text.c:906 +msgid "Nick of person who changed the topic" +msgstr "Kasutaja, kes muutis teemat" + +#: src/common/text.c:907 src/common/text.c:913 src/fe-gtk/chanlist.c:756 +#: src/fe-gtk/chanlist.c:859 +msgid "Topic" +msgstr "Teema" + +#: src/common/text.c:908 src/common/text.c:912 src/common/text.c:1343 +#: src/fe-gtk/chanlist.c:754 src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Kanal" + +#: src/common/text.c:917 src/common/text.c:970 +msgid "The nickname of the kicker" +msgstr "Väljaviskaja nimi" + +#: src/common/text.c:918 src/common/text.c:968 +msgid "The person being kicked" +msgstr "Kasutaja, kes välja visati" + +#: src/common/text.c:919 src/common/text.c:926 src/common/text.c:930 +#: src/common/text.c:935 src/common/text.c:969 src/common/text.c:977 +#: src/common/text.c:984 +msgid "The channel" +msgstr "Kanal" + +#: src/common/text.c:920 src/common/text.c:971 src/common/text.c:978 +msgid "The reason" +msgstr "Põhjus" + +#: src/common/text.c:924 src/common/text.c:975 +msgid "The nick of the person leaving" +msgstr "Lahkuja nimi" + +#: src/common/text.c:931 src/common/text.c:937 +msgid "The time" +msgstr "Aeg" + +#: src/common/text.c:936 +msgid "The creator" +msgstr "Looja" + +#: src/common/text.c:941 src/fe-gtk/dccgui.c:763 src/fe-gtk/dccgui.c:994 +msgid "Nick" +msgstr "Nimi" + +#: src/common/text.c:942 src/common/text.c:1195 +msgid "Reason" +msgstr "Põhjus" + +#: src/common/text.c:943 src/common/text.c:1085 src/common/text.c:1168 +msgid "Host" +msgstr "Host" + +#: src/common/text.c:947 src/common/text.c:952 src/common/text.c:957 +msgid "Who it's from" +msgstr "Kellelt see tuleb" + +#: src/common/text.c:948 +msgid "The time in x.x format (see below)" +msgstr "Aeg x.x formaadis (vaata allapoole)" + +#: src/common/text.c:958 src/common/text.c:995 +msgid "The Channel it's going to" +msgstr "Sihtkanal" + +#: src/common/text.c:982 +msgid "The sound" +msgstr "Heli" + +#: src/common/text.c:983 src/common/text.c:989 src/common/text.c:994 +msgid "The nick of the person" +msgstr "Inimese nimi" + +#: src/common/text.c:988 src/common/text.c:993 +msgid "The CTCP event" +msgstr "CTCP sündmus" + +#: src/common/text.c:999 +msgid "The nick of the person who set the key" +msgstr "Võtme seadnud kasutaja nimi" + +#: src/common/text.c:1000 +msgid "The key" +msgstr "Võti" + +#: src/common/text.c:1004 +msgid "The nick of the person who set the limit" +msgstr "Piirangu seadnud kasutaja nimi" + +#: src/common/text.c:1005 +msgid "The limit" +msgstr "Piirang" + +#: src/common/text.c:1009 +msgid "The nick of the person who did the op'ing" +msgstr "Oppija nimi" + +#: src/common/text.c:1010 +msgid "The nick of the person who has been op'ed" +msgstr "Opitud kasutaja nimi" + +#: src/common/text.c:1014 +msgid "The nick of the person who has been halfop'ed" +msgstr "Poolopitud kasutaja nimi" + +#: src/common/text.c:1015 +msgid "The nick of the person who did the halfop'ing" +msgstr "Poolop'i teinud kasutaja" + +#: src/common/text.c:1019 +msgid "The nick of the person who did the voice'ing" +msgstr "Voice'i teinud kasutaja" + +#: src/common/text.c:1020 +msgid "The nick of the person who has been voice'ed" +msgstr "Voice saanud kasutaja nimi" + +#: src/common/text.c:1024 +msgid "The nick of the person who did the banning" +msgstr "Bännija hüüdnimi" + +#: src/common/text.c:1025 src/common/text.c:1052 +msgid "The ban mask" +msgstr "Keelu mask" + +#: src/common/text.c:1029 +msgid "The nick who removed the key" +msgstr "Võtme eemaldanud kasutaja" + +#: src/common/text.c:1033 +msgid "The nick who removed the limit" +msgstr "Piirangu eemaldanud kasutaja" + +#: src/common/text.c:1037 +msgid "The nick of the person of did the deop'ing" +msgstr "Deop'i teinud kasutaja" + +#: src/common/text.c:1038 +msgid "The nick of the person who has been deop'ed" +msgstr "Deop'itud kasutaja" + +#: src/common/text.c:1041 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Dehalfop'i teinud kasutaja" + +#: src/common/text.c:1042 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Dehalfop'itud kasutaja" + +#: src/common/text.c:1046 +msgid "The nick of the person of did the devoice'ing" +msgstr "Devoice'i teinud kasutaja" + +#: src/common/text.c:1047 +msgid "The nick of the person who has been devoice'ed" +msgstr "Devoice'tud kasutaja" + +#: src/common/text.c:1051 +msgid "The nick of the person of did the unban'ing" +msgstr "Unban'i teinud kasutaja" + +#: src/common/text.c:1056 +msgid "The nick of the person who did the exempt" +msgstr "Erandi tegija hüüdnimi" + +#: src/common/text.c:1057 src/common/text.c:1062 +msgid "The exempt mask" +msgstr "Erandi mask" + +#: src/common/text.c:1061 +msgid "The nick of the person removed the exempt" +msgstr "Erandi kustutaja hüüdnimi" + +#: src/common/text.c:1066 +msgid "The nick of the person who did the invite" +msgstr "Kutsuja hüüdnimi" + +#: src/common/text.c:1067 src/common/text.c:1072 +msgid "The invite mask" +msgstr "Kutsete mask" + +#: src/common/text.c:1071 +msgid "The nick of the person removed the invite" +msgstr "Kutse eemaldanud kasutaja" + +#: src/common/text.c:1076 +msgid "The nick of the person setting the mode" +msgstr "Moodi määraja hüüdnimi" + +#: src/common/text.c:1077 +msgid "The mode's sign (+/-)" +msgstr "Moodi märk (+/-)" + +#: src/common/text.c:1078 +msgid "The mode letter" +msgstr "Moodi sümbol" + +#: src/common/text.c:1079 +msgid "The channel it's being set on" +msgstr "Muudetava kanali nimi" + +#: src/common/text.c:1084 +msgid "Username" +msgstr "Kasutajanimi" + +#: src/common/text.c:1086 +msgid "Full name" +msgstr "Täisnimi" + +#: src/common/text.c:1091 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:1096 +msgid "Server Information" +msgstr "Serveri info" + +#: src/common/text.c:1101 src/common/text.c:1106 +msgid "Idle time" +msgstr "Jõude oldud" + +#: src/common/text.c:1107 +msgid "Signon time" +msgstr "Ühendumise aeg" + +#: src/common/text.c:1112 +msgid "Away reason" +msgstr "Eemaloleku põhjus" + +#: src/common/text.c:1121 src/common/text.c:1127 src/common/text.c:1135 +#: src/common/text.c:1315 +msgid "Message" +msgstr "Sõnum" + +#: src/common/text.c:1128 +msgid "Account" +msgstr "Konto" + +#: src/common/text.c:1133 +msgid "Real user@host" +msgstr "Päris kasutaja@host" + +#: src/common/text.c:1134 +msgid "Real IP" +msgstr "Päris IP" + +#: src/common/text.c:1139 src/common/text.c:1148 src/common/text.c:1154 +#: src/common/text.c:1184 src/common/text.c:1338 +msgid "Channel Name" +msgstr "Kanali nimi" + +#: src/common/text.c:1143 src/common/text.c:1301 src/fe-gtk/menu.c:1240 +#: src/fe-gtk/menu.c:1420 src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "Tekst" + +#: src/common/text.c:1144 src/common/text.c:1150 src/common/text.c:1179 +#: src/common/text.c:1297 src/common/text.c:1339 +msgid "Server Name" +msgstr "Serveri nimi" + +#: src/common/text.c:1149 +msgid "Nick of person who invited you" +msgstr "Sind kutsunud kasutaja" + +#: src/common/text.c:1155 src/fe-gtk/chanlist.c:755 +msgid "Users" +msgstr "Kasutajad" + +#: src/common/text.c:1159 +msgid "Nickname in use" +msgstr "Kasutajanimi on juba kasutusel" + +#: src/common/text.c:1160 +msgid "Nick being tried" +msgstr "Proovitav hüüdnimi" + +#: src/common/text.c:1169 src/common/text.c:1305 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1170 src/common/text.c:1201 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1180 src/fe-gtk/notifygui.c:139 src/fe-gtk/setup.c:1669 +msgid "Network" +msgstr "Võrk" + +#: src/common/text.c:1185 src/common/text.c:1190 +msgid "Modes string" +msgstr "" + +#: src/common/text.c:1200 src/common/text.c:1238 src/common/text.c:1243 +#: src/common/text.c:1284 +msgid "IP address" +msgstr "IP aadress" + +#: src/common/text.c:1206 src/common/text.c:1231 +msgid "DCC Type" +msgstr "DCC tüüp" + +#: src/common/text.c:1207 src/common/text.c:1212 src/common/text.c:1217 +#: src/common/text.c:1224 src/common/text.c:1244 src/common/text.c:1248 +#: src/common/text.c:1254 src/common/text.c:1260 src/common/text.c:1267 +#: src/common/text.c:1276 src/common/text.c:1282 +msgid "Filename" +msgstr "Faili nimi" + +#: src/common/text.c:1218 src/common/text.c:1225 +msgid "Destination filename" +msgstr "Sihtfaili nimi" + +#: src/common/text.c:1227 src/common/text.c:1256 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1262 +msgid "Pathname" +msgstr "" + +#: src/common/text.c:1277 src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "Positsioon" + +#: src/common/text.c:1283 src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "Suurus" + +#: src/common/text.c:1288 +msgid "DCC String" +msgstr "DCC string" + +#: src/common/text.c:1293 +msgid "Number of notify items" +msgstr "" + +#: src/common/text.c:1309 +msgid "Old Filename" +msgstr "Vana failinimi" + +#: src/common/text.c:1310 +msgid "New Filename" +msgstr "Uus failinimi" + +#: src/common/text.c:1314 +msgid "Receiver" +msgstr "Vastuvõtja" + +#: src/common/text.c:1319 +msgid "Hostmask" +msgstr "Hosti mask" + +#: src/common/text.c:1324 +msgid "Hostname" +msgstr "Hosti nimi" + +#: src/common/text.c:1329 +msgid "The Packet" +msgstr "Pakett" + +#: src/common/text.c:1333 +msgid "Seconds" +msgstr "Sekundit" + +#: src/common/text.c:1337 +msgid "Nick of person who have been invited" +msgstr "Kutsutud nimede hulk" + +#: src/common/text.c:1344 +msgid "Banmask" +msgstr "Bänni mask" + +#: src/common/text.c:1345 +msgid "Who set the ban" +msgstr "Kes bännis" + +#: src/common/text.c:1346 +msgid "Ban time" +msgstr "Bänni aeg" + +#: src/common/text.c:1386 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Viga sündmuse %s töötlemisel.\n" +"Vaikeväärtuste laadimine." + +#: src/common/text.c:2079 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Helifaili lugemine nurjus:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "Kaugmasin katkestas ühenduse" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Ühendusest keelduti" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "Ei leia teed hostini" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Ühendus aegus" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Ei saa määrata seda aadressi" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Peer katkestas ühenduse" + +#: src/common/util.c:839 +#, fuzzy +msgid "Ascension Island" +msgstr "Kookossaared" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "Araabia Ühendemiraadid" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "Afganistaan" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "Antigua ja Barbuda" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "Albaania" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "Armeenia" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "Hollandi antillid" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:849 +msgid "Antarctica" +msgstr "Antarktika" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "Ameerika samoa" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "Austria" + +#: src/common/util.c:854 +msgid "Nato Fiel" +msgstr "" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "Austraalia" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:857 +msgid "Aland Islands" +msgstr "Ahvenamaa" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "Aserbaidžaan" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia ja Hertsegoviina" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "Belgia" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "Bulgaaria" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "Bahrein" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "Äriline" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "Boliivia" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "Brasiilia" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "Bahama" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "Bouvet' saar" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "Valgevene" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "Kookossaared" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "Kongo demokraatlik vabariik" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "Kesk-Aafrika vabariik" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "Šveits" + +#: src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "Elevandriluurannik" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "Cooki saared" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "Tšiili" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:889 +msgid "China" +msgstr "Hiina" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "Kolumbia" + +#: src/common/util.c:891 +msgid "Internic Commercial" +msgstr "" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "Serbia ja Montenegro" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "Kuuba" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "Cabo verde" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "Jõulusaar" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "Küpros" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "Tšehhi" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "Saksamaa" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "Taani" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "Dominikaani vabariik" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "Alžeeria" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "Haridusasutus" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "Eesti" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "Egiptus" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "Lääne-Sahara" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "Hispaania" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "Etioopia" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "Euroopa Liit" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "Soome" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "Fidži" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "Falklandi saared" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "Mikroneesia" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "Fääri saared" + +#: src/common/util.c:919 +msgid "France" +msgstr "Prantsusmaa" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "Suurbritannia" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "Gruusia" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "Prantsuse Guajaana" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "Briti Kanali Saared" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "Gröönimaa" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:931 +msgid "Government" +msgstr "Valitsus" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "Ekvatoriaal-Guinea" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "Kreeka" + +#: src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "" + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "Hong-Kong" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "Heard ja McDonald" + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "Horvaatia" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "Ungari" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "Indoneesia" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "Iirimaa" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "Iisrael" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "Man'i saar" + +#: src/common/util.c:950 +msgid "India" +msgstr "India" + +#: src/common/util.c:951 +msgid "Informational" +msgstr "Informatiivne" + +#: src/common/util.c:952 +msgid "International" +msgstr "Ülemaailmne" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "Briti India ookeani ala" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "Iraak" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "Iraan" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "Island" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "Itaalia" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "Jordaania" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "Jaapan" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "Kõrgõzstan" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "Kambodža" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "Komoorid" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "Saint Kitts ja Nevis" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "Põhja-Korea" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "Lõunda-Korea" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "Kuveit" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "Kaimanisaared" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "Kasahstan" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "Liibanon" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "Libeeria" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "Leedu" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "Luksemburg" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "Läti" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "Liibüa" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "Morocco" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:987 +msgid "United States Medical" +msgstr "" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "Marshalli saared" + +#: src/common/util.c:990 +msgid "Military" +msgstr "Sõjaväeline" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "Makedoonia" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "Mongoolia" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "Põhja-Mariaanid" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "Marutaania" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "Maldiivid" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "Mehhiko" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "Malaisia" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "Mosambiik" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "Namiibia" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "Uus-Kaledoonia" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:1010 +msgid "Internic Network" +msgstr "" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "Norfolk" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "Nigeeria" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "Holland" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "Norra" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "Uus-Meremaa" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "Omaan" + +#: src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "Peruu" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "Prantsuse Polüneesia" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "Paapua Uus-Guinea" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "Filipiinid" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "Poola" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "saint-Pierre ja Miquelon" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "Palestiina alad" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "Rumeenia" + +#: src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "Vanakooli ARPAnet" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "Venemaa" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "Saudi Araabia" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "Saalomoni Saared" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "Seišellid" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "Sudaan" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "Rootsi" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "Saint Helena" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "Sloveenia" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Teravmäed" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "Slovakkia Vabariik" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "Somaalia" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "São Tomé ja Príncipe" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "Endine SSSR" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "Süüria" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "Svaasimaa" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "Turks ja Caicos" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "Tšaad" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "Prantsuse Lõunaalad" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "Tai" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "Tadžikistan" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1069 src/common/util.c:1073 +msgid "East Timor" +msgstr "Ida-Timor" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "Türkmenistan" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "Tuneesia" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "Türgi" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "Trinidad ja Tobago" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "Tansaania" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "Ukraina" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "Ühendkuningriik" + +#: src/common/util.c:1082 +msgid "United States of America" +msgstr "Ameerika Ühendriigid" + +#: src/common/util.c:1083 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:1084 +msgid "Uzbekistan" +msgstr "Usbekistan" + +#: src/common/util.c:1085 +msgid "Vatican City State" +msgstr "Vatikani linnriik" + +#: src/common/util.c:1086 +msgid "St. Vincent and the Grenadines" +msgstr "Saint Vincent ja Grenadiinid" + +#: src/common/util.c:1087 +msgid "Venezuela" +msgstr "Venetsueela" + +#: src/common/util.c:1088 +msgid "British Virgin Islands" +msgstr "Briti Neitsisaared" + +#: src/common/util.c:1089 +msgid "US Virgin Islands" +msgstr "Neitsisaared, USA" + +#: src/common/util.c:1090 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:1091 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1092 +msgid "Wallis and Futuna Islands" +msgstr "Wallis ja Futuna" + +#: src/common/util.c:1093 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1094 +msgid "Yemen" +msgstr "Jeemen" + +#: src/common/util.c:1095 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:1096 +msgid "Yugoslavia" +msgstr "Jugoslaavia" + +#: src/common/util.c:1097 +msgid "South Africa" +msgstr "Lõuna-Aafrika Vabariik" + +#: src/common/util.c:1098 +msgid "Zambia" +msgstr "Sambia" + +#: src/common/util.c:1099 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/util.c:1109 src/common/util.c:1119 src/fe-gtk/menu.c:553 +#: src/fe-gtk/menu.c:558 src/fe-gtk/menu.c:562 src/fe-gtk/menu.c:566 +#: src/fe-gtk/menu.c:574 src/fe-gtk/menu.c:592 +msgid "Unknown" +msgstr "Tundmatu" + +#: src/common/xchat.c:767 src/common/xchat.c:893 +msgid "Open Dialog Window" +msgstr "Ava dialoogiaken" + +#: src/common/xchat.c:768 +msgid "Send a File" +msgstr "Saada fail " + +#: src/common/xchat.c:769 +msgid "User Info (WHOIS)" +msgstr "Kasutaja info (WHOIS)" + +#: src/common/xchat.c:770 +msgid "Operator Actions" +msgstr "Operaatori tegevused" + +#: src/common/xchat.c:772 src/common/xchat.c:863 +msgid "Give Ops" +msgstr "Tee operaatoriks" + +#: src/common/xchat.c:773 src/common/xchat.c:864 +msgid "Take Ops" +msgstr "Tee mitteoperaatoriks" + +#: src/common/xchat.c:774 src/common/xchat.c:867 +msgid "Give Voice" +msgstr "Anna hääleõigus" + +#: src/common/xchat.c:775 src/common/xchat.c:868 +msgid "Take Voice" +msgstr "Võta hääleõigus" + +#: src/common/xchat.c:777 src/common/xchat.c:872 +msgid "Kick/Ban" +msgstr "Viska välja/bänni" + +#: src/common/xchat.c:778 src/common/xchat.c:873 src/common/xchat.c:922 +msgid "Kick" +msgstr "Viska välja" + +#: src/common/xchat.c:779 src/common/xchat.c:780 src/common/xchat.c:781 +#: src/common/xchat.c:782 src/common/xchat.c:783 src/common/xchat.c:874 +#: src/common/xchat.c:875 src/common/xchat.c:876 src/common/xchat.c:877 +#: src/common/xchat.c:878 src/common/xchat.c:921 +msgid "Ban" +msgstr "Bänni" + +#: src/common/xchat.c:784 src/common/xchat.c:785 src/common/xchat.c:786 +#: src/common/xchat.c:787 src/common/xchat.c:879 src/common/xchat.c:880 +#: src/common/xchat.c:881 src/common/xchat.c:882 +msgid "KickBan" +msgstr "KikkBänni" + +#: src/common/xchat.c:850 +msgid "Direct client-to-client" +msgstr "" + +#: src/common/xchat.c:851 +msgid "Send File" +msgstr "Saada fail" + +#: src/common/xchat.c:852 +msgid "Offer Chat" +msgstr "Paku vestlust" + +#: src/common/xchat.c:853 +msgid "Abort Chat" +msgstr "Katkesta vestlus" + +#: src/common/xchat.c:854 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Versioon" + +#: src/common/xchat.c:855 +msgid "Userinfo" +msgstr "Kasutaja info" + +#: src/common/xchat.c:856 +msgid "Clientinfo" +msgstr "Kliendi info" + +#: src/common/xchat.c:857 src/common/xchat.c:891 src/common/xchat.c:939 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:858 +msgid "Time" +msgstr "Aeg" + +#: src/common/xchat.c:859 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:860 +msgid "Oper" +msgstr "Operaator" + +#: src/common/xchat.c:861 +msgid "Kill this user" +msgstr "Tapa see kasutaja" + +#: src/common/xchat.c:862 +msgid "Mode" +msgstr "Mood" + +#: src/common/xchat.c:865 +msgid "Give Half-Ops" +msgstr "Anna pool-op" + +#: src/common/xchat.c:866 +msgid "Take Half-Ops" +msgstr "Võta pool-op" + +#: src/common/xchat.c:869 +msgid "Ignore" +msgstr "Ignoreeri" + +#: src/common/xchat.c:870 +msgid "Ignore User" +msgstr "Ignoreeri kasutajat" + +#: src/common/xchat.c:871 +msgid "UnIgnore User" +msgstr "Ära ignoreeri kasutajat" + +#: src/common/xchat.c:883 +msgid "Info" +msgstr "Info" + +#: src/common/xchat.c:884 +msgid "Who" +msgstr "Who" + +#: src/common/xchat.c:885 src/common/xchat.c:935 +msgid "WhoIs" +msgstr "KesOn" + +#: src/common/xchat.c:886 +msgid "DNS Lookup" +msgstr "" + +#: src/common/xchat.c:887 +msgid "Trace" +msgstr "Jälitus" + +#: src/common/xchat.c:888 +msgid "UserHost" +msgstr "Kasutaja host" + +#: src/common/xchat.c:889 +msgid "External" +msgstr "Väline" + +#: src/common/xchat.c:890 +msgid "Traceroute" +msgstr "" + +#: src/common/xchat.c:892 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:904 +msgid "Leave Channel" +msgstr "Lahku kanalist" + +#: src/common/xchat.c:905 src/fe-gtk/menu.c:1427 +msgid "Join Channel..." +msgstr "Liitu kanaliga..." + +#: src/common/xchat.c:906 src/fe-gtk/menu.c:1117 +msgid "Enter Channel to Join:" +msgstr "Kanal, millega liituda:" + +#: src/common/xchat.c:907 +msgid "Server Links" +msgstr "Serverite lingid" + +#: src/common/xchat.c:908 +msgid "Ping Server" +msgstr "Pingi serverit" + +#: src/common/xchat.c:909 +msgid "Hide Version" +msgstr "Peida versioon" + +#: src/common/xchat.c:919 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:920 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/xchat.c:923 +msgid "bye" +msgstr "tsau" + +#: src/common/xchat.c:924 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Põhjus %s väljaviskamiseks:" + +#: src/common/xchat.c:925 +msgid "Sendfile" +msgstr "" + +#: src/common/xchat.c:926 +msgid "Dialog" +msgstr "Dialoog" + +#: src/common/xchat.c:936 +msgid "Send" +msgstr "Saada" + +#: src/common/xchat.c:937 +msgid "Chat" +msgstr "Vestlus" + +#: src/common/xchat.c:938 src/fe-gtk/banlist.c:341 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Puhasta" + +#: src/common/dbus/dbus-client.c:71 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:85 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:106 +msgid "Failed to complete Command" +msgstr "Käsu täitmine ebaõnnestus" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "kaugligipääs" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:914 +#, fuzzy, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" +"Ei suuda avada fonti:\n" +"\n" +"%s" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "XChati info" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "Multiplatvormne IRC klient" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Märgitabel" + +#: src/fe-gtk/banlist.c:113 src/fe-gtk/chanlist.c:305 +#: src/fe-gtk/plugin-tray.c:217 +msgid "Not connected." +msgstr "Lahti ühendatud." + +#: src/fe-gtk/banlist.c:154 src/fe-gtk/banlist.c:257 +msgid "You must select some bans." +msgstr "Sa pead mõned bännid valima." + +#: src/fe-gtk/banlist.c:206 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "Kas sa kindlasti tahad kõiki %s kanali bänne kustutada?" + +#: src/fe-gtk/banlist.c:272 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Mask" + +#: src/fe-gtk/banlist.c:273 +msgid "From" +msgstr "Kasutajalt" + +#: src/fe-gtk/banlist.c:274 +msgid "Date" +msgstr "Kuupäev" + +#: src/fe-gtk/banlist.c:317 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Bännitute nimekirja saab vaadata ainult siis, kui mõni kanal aktiivne on." + +#: src/fe-gtk/banlist.c:321 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: bännitute nimekiri (%s)" + +#: src/fe-gtk/banlist.c:337 +msgid "Unban" +msgstr "Eemalda bänn" + +#: src/fe-gtk/banlist.c:339 +msgid "Crop" +msgstr "" + +#: src/fe-gtk/banlist.c:343 +msgid "Refresh" +msgstr "Värskenda" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Kuvan %d/%d kasutajat %d/%d kanalis." + +#: src/fe-gtk/chanlist.c:522 src/fe-gtk/menu.c:1053 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Vali väljundfaili nimi" + +#: src/fe-gtk/chanlist.c:626 src/fe-gtk/chanlist.c:789 +msgid "_Join Channel" +msgstr "_Liitu kanaliga" + +#: src/fe-gtk/chanlist.c:628 +msgid "_Copy Channel Name" +msgstr "_Kopeeri kanali nimi" + +#: src/fe-gtk/chanlist.c:630 +msgid "Copy _Topic Text" +msgstr "Kopeeri _teemaväli" + +#: src/fe-gtk/chanlist.c:714 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: kanalid (%s)" + +#: src/fe-gtk/chanlist.c:771 +msgid "_Search" +msgstr "_Otsi" + +#: src/fe-gtk/chanlist.c:777 +msgid "_Download List" +msgstr "Allalaadimised" + +#: src/fe-gtk/chanlist.c:783 +msgid "Save _List..." +msgstr "Salvesta _nimekiri..." + +#: src/fe-gtk/chanlist.c:796 +msgid "Show only:" +msgstr "Näita ainult:" + +#: src/fe-gtk/chanlist.c:808 +msgid "channels with" +msgstr "kanalid, kus on" + +#: src/fe-gtk/chanlist.c:821 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:833 +msgid "users." +msgstr "kasutajat." + +#: src/fe-gtk/chanlist.c:839 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:851 +msgid "Channel name" +msgstr "Kanali nimi" + +#: src/fe-gtk/chanlist.c:872 +msgid "Search type:" +msgstr "Otsingu tüüp:" + +#: src/fe-gtk/chanlist.c:879 +msgid "Simple Search" +msgstr "Lihtne otsing" + +#: src/fe-gtk/chanlist.c:880 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:882 +msgid "Regular Expression" +msgstr "Regulaaravaldis" + +#: src/fe-gtk/chanlist.c:893 src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Otsi:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "Saada fail kasutajale %s" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "Seda faili ei saa jätkata" + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Ei pääse failile ligi: %s\n" +"%s.\n" +"Jätkamine on võimatu." + +#: src/fe-gtk/dccgui.c:507 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "Fail allalaadimiste kataloogis on suurem, kui pakutav fail. Jätkamine pole võimalik." + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "Ei saa jätkata sama faili tõmbamist kahelt inimeselt." + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: Üles- ja allalaadimised" + +#: src/fe-gtk/dccgui.c:756 src/fe-gtk/dccgui.c:993 src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "Olek" + +#: src/fe-gtk/dccgui.c:757 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Fail" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "Saabub" + +#: src/fe-gtk/dccgui.c:784 src/fe-gtk/menu.c:1421 +msgid "Both" +msgstr "Mõlemad" + +#: src/fe-gtk/dccgui.c:790 +msgid "Uploads" +msgstr "Üleslaadimised" + +#: src/fe-gtk/dccgui.c:796 +msgid "Downloads" +msgstr "Allalaadimised" + +#: src/fe-gtk/dccgui.c:801 +msgid "Details" +msgstr "Detailid" + +#: src/fe-gtk/dccgui.c:812 +msgid "File:" +msgstr "Fail:" + +#: src/fe-gtk/dccgui.c:813 +msgid "Address:" +msgstr "Aadress:" + +#: src/fe-gtk/dccgui.c:819 src/fe-gtk/dccgui.c:1014 +msgid "Abort" +msgstr "Katkesta" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1015 +msgid "Accept" +msgstr "Võta vastu" + +#: src/fe-gtk/dccgui.c:821 +msgid "Resume" +msgstr "Jätka" + +#: src/fe-gtk/dccgui.c:822 +msgid "Open Folder..." +msgstr "Ava kataloog..." + +#: src/fe-gtk/dccgui.c:982 +msgid "XChat: DCC Chat List" +msgstr "XChat: DCC vestluste nimekiri" + +#: src/fe-gtk/dccgui.c:995 +msgid "Recv" +msgstr "Siia" + +#: src/fe-gtk/dccgui.c:996 +msgid "Sent" +msgstr "Sinna" + +#: src/fe-gtk/dccgui.c:997 +msgid "Start Time" +msgstr "Algusaeg" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*UUS*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "MUUDA MIND" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Nimi" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Käsklus" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Liiguta üles" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Liiguta alla" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Loobu" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Salvesta" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Lisa uus" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Kustuta" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Sorteeri" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Abi" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "Ära taasühenda serveriga automaatselt" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "Kasuta teist seadistuste kausta" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "Ära lae pluginaid automaatselt" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "Näita automaatselt laetavate pluginate kausta" + +#: src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "Näita kasutaja seadistuste kausta" + +#: src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "Ava irc://server:port/kanal URL" + +#: src/fe-gtk/fe-gtk.c:133 +msgid "Open URL in an existing XChat" +msgstr "Ava URL juba töötavas XChatis" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Käivitu peidetult. Tase 0=tavaline 1=tegumiribal 2=süsteemisalves" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "level" +msgstr "tase" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "Show version information" +msgstr "Näita versiooniinfot" + +#: src/fe-gtk/fe-gtk.c:256 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Ei suuda avada fonti:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:635 +msgid "Search buffer is empty.\n" +msgstr "Otsingu puhver on tühi.\n" + +#: src/fe-gtk/fe-gtk.c:731 +#, c-format +msgid "%d bytes" +msgstr "%d baiti" + +#: src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Võrgu saatmisjärjekord: %d baiti" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "See korraldus liigutab aktiivset sakki koha võrra vasakule." + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "See korraldus liigutab aktiivset sakki koha võrra paremale." + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "See käsk liigutab aktiivse sakigrupi vasakule" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "See käsk liigutab aktiivse sakigrupi paremale" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "Salvesta sisestatud rida ajalukku seda serverisse saatmata" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "Klahviseoste faili laadimisel tekkis probleem" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1616 src/fe-gtk/maingui.c:1719 +#: src/fe-gtk/maingui.c:3201 +msgid "<none>" +msgstr "<tühi>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "" + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Nupp" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Tegevus" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: klaviatuuriotseteed" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "Andmed 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "Andmed 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "Ei suudetud avada klahvide seadete faili\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Tundmatu klahv %s klahviseoste failis\n" +"Laadimine katkestati, palun paranda fail %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Tundmatu tegevus %s klahvi seoste failis\n" +"Laadimine katkestati, palun paranda fail %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Eeldasin andmete rida (algus Dx{:|!}), kuid oli:\n" +"%s\n" +"\n" +"Laadimine katkestati, palun paranda fail %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Klahviseoste fail on vigane, laadimine katkestati\n" +"Palun paranda fail %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "Sellese faili ei saa kirjutada." + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "Sellest failist ei saa lugeda." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "See mask on juba kasutusel." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:2100 +msgid "Private" +msgstr "Privaatne" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Teated" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Kutsumised" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Ära ignoreeri" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Ignoreeritav hostimask:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "XChat: ignoreeritavate nimekiri" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Ignoreerimise statistika:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Kanalile:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Privaatne:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Teateid:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Kutsumisi:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:420 +msgid "Add..." +msgstr "Lisa..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "Kanali nimi on liiga lühike, proovi uuesti." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: Ühendatud" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "" + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "Serverite nimekirja aknas pole määratud ühtegi kanalit millega automaatselt ühineda peale sellesse võrku ühendumist." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Mida sa sooviksid järgmiseks teha?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_Mitte midagi, ma ühinen kanaliga hiljem." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "_Liitu kanaliga:" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Kui sa tead kanali nime millega ühineda, siis kirjuta see siia." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "Ava kanalite nimekirja aken." + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "Kanalite nimekirja " + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "_Alati näita seda akent peale ühendumist." + +#: src/fe-gtk/maingui.c:500 +msgid "Dialog with" +msgstr "Vestlus kasutajaga" + +#: src/fe-gtk/maingui.c:787 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Kanali %s teema on: %s" + +#: src/fe-gtk/maingui.c:792 +msgid "No topic is set" +msgstr "Teemat ei ole määratud" + +#: src/fe-gtk/maingui.c:1177 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "Selle serveriga on veel seotud %d kanalit või dialoogiakent. Sulgen kõik?" + +#: src/fe-gtk/maingui.c:1304 +msgid "Quit XChat?" +msgstr "Sulge XChat?" + +#: src/fe-gtk/maingui.c:1325 +msgid "Don't ask next time." +msgstr "Ära järgmine kord küsi." + +#: src/fe-gtk/maingui.c:1331 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Sa oled ühendatud %i IRC-võrguga." + +#: src/fe-gtk/maingui.c:1333 +msgid "Are you sure you want to quit?" +msgstr "Kas sa tahad kindlasti väljuda?" + +#: src/fe-gtk/maingui.c:1335 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1353 +msgid "_Minimize to Tray" +msgstr "_Peida süsteemisalve" + +#: src/fe-gtk/maingui.c:1567 +msgid "Insert Attribute or Color Code" +msgstr "Lisa atribuut või värvikood" + +#: src/fe-gtk/maingui.c:1569 +msgid "<b>Bold</b>" +msgstr "<b>Paks</b>" + +#: src/fe-gtk/maingui.c:1570 +msgid "<u>Underline</u>" +msgstr "<u>Jooni alla</u>" + +#: src/fe-gtk/maingui.c:1572 +msgid "Normal" +msgstr "Tavaline" + +#: src/fe-gtk/maingui.c:1574 +msgid "Colors 0-7" +msgstr "Värvid 0-7" + +#: src/fe-gtk/maingui.c:1584 +msgid "Colors 8-15" +msgstr "Värvid 8-15" + +#: src/fe-gtk/maingui.c:1629 +msgid "Beep on message" +msgstr "Tee piiks sõnumi saabumisel" + +#: src/fe-gtk/maingui.c:1632 +msgid "Blink tray on message" +msgstr "Vilguta sõnumi saabumisel" + +#: src/fe-gtk/maingui.c:1635 +msgid "Show join/part messages" +msgstr "Näita liitujaid/lahkujaid" + +#: src/fe-gtk/maingui.c:1637 +msgid "Color paste" +msgstr "Värviline asetamine" + +#: src/fe-gtk/maingui.c:1647 src/fe-gtk/menu.c:1950 +msgid "_Close Tab" +msgstr "Sulge _sakk" + +#: src/fe-gtk/maingui.c:1649 src/fe-gtk/menu.c:1949 +msgid "_Detach Tab" +msgstr "_Eralda sakk" + +#: src/fe-gtk/maingui.c:1968 src/fe-gtk/maingui.c:2074 +msgid "User limit must be a number!\n" +msgstr "Kasutajapiirang peab olema number!\n" + +#: src/fe-gtk/maingui.c:2096 +msgid "Topic Protection" +msgstr "Teema kaitse" + +#: src/fe-gtk/maingui.c:2097 +msgid "No outside messages" +msgstr "Ära luba väljast teateid" + +#: src/fe-gtk/maingui.c:2098 +msgid "Secret" +msgstr "Salajane" + +#: src/fe-gtk/maingui.c:2099 +msgid "Invite Only" +msgstr "Ainult kutsetega" + +#: src/fe-gtk/maingui.c:2101 +msgid "Moderated" +msgstr "Modereeritav" + +#: src/fe-gtk/maingui.c:2102 +msgid "Ban List" +msgstr "Keelatute nimekiri" + +#: src/fe-gtk/maingui.c:2104 +msgid "Keyword" +msgstr "Märgusõna" + +#: src/fe-gtk/maingui.c:2116 +msgid "User Limit" +msgstr "Kasutajate piirang" + +#: src/fe-gtk/maingui.c:2225 +msgid "Show/Hide userlist" +msgstr "Näita/peida kasutajate nimekiri" + +#: src/fe-gtk/maingui.c:2350 +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 "" +"Ei saa teha tausta läbipaistvaks!\n" +"\n" +"Võibolla on kasutuses mitteühilduv aknahaldur,\n" +"mis ei ole hetkel veel toetatud.\n" + +#: src/fe-gtk/maingui.c:2621 +msgid "Enter new nickname:" +msgstr "Sisesta uus hüüdnimi:" + +#: src/fe-gtk/menu.c:124 +msgid "Host unknown" +msgstr "Tundmatu host" + +#: src/fe-gtk/menu.c:544 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:549 src/fe-gtk/menu.c:553 +msgid "Real Name:" +msgstr "Pärisnimi:" + +#: src/fe-gtk/menu.c:557 +msgid "User:" +msgstr "Kasutaja:" + +#: src/fe-gtk/menu.c:561 +msgid "Country:" +msgstr "Riik:" + +#: src/fe-gtk/menu.c:565 +msgid "Server:" +msgstr "Server:" + +#: src/fe-gtk/menu.c:577 +msgid "Away Msg:" +msgstr "Eemal:" + +#: src/fe-gtk/menu.c:587 +#, c-format +msgid "%u minutes ago" +msgstr "%u minutit tagasi" + +#: src/fe-gtk/menu.c:589 src/fe-gtk/menu.c:592 +msgid "Last Msg:" +msgstr "Viimane sõnum:" + +#: src/fe-gtk/menu.c:704 +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 "Menüüriba on nüüd peidus. Selle saab uuesti nähtavaks teha F9 klahviga või tehes paremklõpsu tühjal alal ja hüpikmenüüst sisse lülitades." + +#: src/fe-gtk/menu.c:799 +msgid "Open Link in Browser" +msgstr "Ava link brauseris" + +#: src/fe-gtk/menu.c:800 +msgid "Copy Selected Link" +msgstr "Kopeeri valitud link" + +#: src/fe-gtk/menu.c:862 src/fe-gtk/menu.c:1100 +msgid "Join Channel" +msgstr "Liitu kanaliga" + +#: src/fe-gtk/menu.c:866 +msgid "Part Channel" +msgstr "Lahku kanalist" + +#: src/fe-gtk/menu.c:868 +msgid "Cycle Channel" +msgstr "" + +#: src/fe-gtk/menu.c:892 +msgid "XChat: User menu" +msgstr "XChat: Kasutja menüü" + +#: src/fe-gtk/menu.c:901 +msgid "Edit This Menu..." +msgstr "Muuda seda menüüd..." + +#: src/fe-gtk/menu.c:1102 +msgid "Retrieve channel list..." +msgstr "Tõmba kanalite nimekiri..." + +#: src/fe-gtk/menu.c:1170 +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 = xchat 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 "" +"Kasutaja käsud - spetsiaalkoodid:\n" +"\n" +"%c = aktiivne kanal\n" +"%e = aktiivne võrk\n" +"%m = masina info\n" +"%n = sinu hüüdnimi\n" +"%t = kell/kuupäev\n" +"%v = xchati versioon\n" +"%2 = sõna 2\n" +"%3 = sõna 3\n" +"&2 = alates 2. sõnast kuni rea lõpuni\n" +"&3 = alates 3. sõnast kuni rea lõpuni\n" +"\n" +"näiteks:\n" +"/cmd tere peeter\n" +"\n" +"%2 oleks \"tere\"\n" +"&2 oleks \"tere peeter\"." + +#: src/fe-gtk/menu.c:1186 +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 "" +"Kasutajate nimekirja nupud - spetsiaalkoodid:\n" +"\n" +"%a = kõik valitud kasutajad\n" +"%c = aktiivne kanal\n" +"%e = aktiivse võrgu nimi\n" +"%h = valitud kasutaja hostinimi\n" +"%m = masina info\n" +"%n = sinu hüüdnimi\n" +"%s = valitud kasutaja\n" +"%t = kell/kuupäev\n" + +#: src/fe-gtk/menu.c:1196 +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 "" +"Dialooginupud - spetsiaalkoodid:\n" +"\n" +"%a = kõik valitud kasutajad\n" +"%c = aktiivne kanal\n" +"%e = aktiivse võrgu nimi\n" +"%h = valitud kasutaja hostinimi\n" +"%m = masina info\n" +"%n = sinu hüüdnimi\n" +"%s = valitud kasutaja\n" +"%t = kell/kuupäev\n" + +#: src/fe-gtk/menu.c:1206 +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 "" +"CTCP vastused - spetsiaalkoodid:\n" +"\n" +"%d = andmed (kogu CTCP)\n" +"%e = aktiivse võrgu nimi\n" +"%m = masina info\n" +"%s = CTCP saatja hüüdnimi\n" +"%t = kell/kuupäev\n" +"%2 = sõna 2\n" +"%3 = sõna 3\n" +"&2 = alates 2. sõnast kuni rea lõpuni\n" +"&3 = alates 3. sõnast kuni rea lõpuni\n" +"\n" + +#: src/fe-gtk/menu.c:1217 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" + +#: src/fe-gtk/menu.c:1226 +msgid "XChat: User Defined Commands" +msgstr "XChat: kasutaja määratud käsud" + +#: src/fe-gtk/menu.c:1233 +msgid "XChat: Userlist Popup menu" +msgstr "X-Chat: kasutajate nimekirja popup" + +#: src/fe-gtk/menu.c:1240 +msgid "Replace with" +msgstr "" + +#: src/fe-gtk/menu.c:1240 +msgid "XChat: Replace" +msgstr "XChat: asenda" + +#: src/fe-gtk/menu.c:1247 +msgid "XChat: URL Handlers" +msgstr "XChat: URLi käsitlejad" + +#: src/fe-gtk/menu.c:1266 +msgid "XChat: Userlist buttons" +msgstr "XChat: kasutajate nimekirja nupud" + +#: src/fe-gtk/menu.c:1273 +msgid "XChat: Dialog buttons" +msgstr "XChat: dialooginupud" + +#: src/fe-gtk/menu.c:1280 +msgid "XChat: CTCP Replies" +msgstr "XChat: CTCP vastused" + +#: src/fe-gtk/menu.c:1378 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1379 +msgid "Network Li_st..." +msgstr "Võrkude nimekiri..." + +#: src/fe-gtk/menu.c:1382 +msgid "_New" +msgstr "Lisa _uus" + +#: src/fe-gtk/menu.c:1383 +msgid "Server Tab..." +msgstr "Serveri sakk..." + +#: src/fe-gtk/menu.c:1384 +msgid "Channel Tab..." +msgstr "Kanali sakk..." + +#: src/fe-gtk/menu.c:1385 +msgid "Server Window..." +msgstr "Serveri aken..." + +#: src/fe-gtk/menu.c:1386 +msgid "Channel Window..." +msgstr "Kanali aken..." + +#: src/fe-gtk/menu.c:1391 src/fe-gtk/menu.c:1393 +msgid "_Load Plugin or Script..." +msgstr "Lae plugin või skript..." + +#: src/fe-gtk/menu.c:1401 src/fe-gtk/plugin-tray.c:463 +msgid "_Quit" +msgstr "_Välju" + +#: src/fe-gtk/menu.c:1403 +msgid "_View" +msgstr "Vaa_de" + +#: src/fe-gtk/menu.c:1405 +msgid "_Menu Bar" +msgstr "Menüüriba" + +#: src/fe-gtk/menu.c:1406 +msgid "_Topic Bar" +msgstr "Teemariba" + +#: src/fe-gtk/menu.c:1407 +msgid "_User List" +msgstr "Kasutajate nimekiri" + +#: src/fe-gtk/menu.c:1408 +msgid "U_serlist Buttons" +msgstr "Kasutajate nimekirja nupud" + +#: src/fe-gtk/menu.c:1409 +msgid "M_ode Buttons" +msgstr "R_ežiiminupud" + +#: src/fe-gtk/menu.c:1411 +msgid "_Channel Switcher" +msgstr "Kanalite _nimekiri" + +#: src/fe-gtk/menu.c:1413 +msgid "_Tabs" +msgstr "Sakid" + +#: src/fe-gtk/menu.c:1414 +msgid "T_ree" +msgstr "_Puu" + +#: src/fe-gtk/menu.c:1416 +msgid "_Network Meters" +msgstr "Võrgumõõdikud" + +#: src/fe-gtk/menu.c:1418 +msgid "Off" +msgstr "Väljas" + +#: src/fe-gtk/menu.c:1419 +msgid "Graph" +msgstr "Graafik" + +#: src/fe-gtk/menu.c:1424 +msgid "_Server" +msgstr "Server" + +#: src/fe-gtk/menu.c:1425 +msgid "_Disconnect" +msgstr "Ühenda lahti" + +#: src/fe-gtk/menu.c:1426 +msgid "_Reconnect" +msgstr "Taasühenda" + +#: src/fe-gtk/menu.c:1430 +msgid "Marked Away" +msgstr "Eemal" + +#: src/fe-gtk/menu.c:1432 +msgid "_Usermenu" +msgstr "Kasutaja menüü" + +#: src/fe-gtk/menu.c:1434 +msgid "S_ettings" +msgstr "S_ätted" + +#: src/fe-gtk/menu.c:1435 +msgid "_Preferences" +msgstr "Seadistus" + +#: src/fe-gtk/menu.c:1437 +msgid "Advanced" +msgstr "Täpsemad" + +#: src/fe-gtk/menu.c:1438 +msgid "Auto Replace..." +msgstr "Automaatasendus..." + +#: src/fe-gtk/menu.c:1439 +msgid "CTCP Replies..." +msgstr "CTCP vastused..." + +#: src/fe-gtk/menu.c:1440 +msgid "Dialog Buttons..." +msgstr "Dialooginupud..." + +#: src/fe-gtk/menu.c:1441 +msgid "Keyboard Shortcuts..." +msgstr "Klaviatuuriotseteed..." + +#: src/fe-gtk/menu.c:1442 +msgid "Text Events..." +msgstr "Tekstisündmused..." + +#: src/fe-gtk/menu.c:1443 +msgid "URL Handlers..." +msgstr "URLi käsitlejad..." + +#: src/fe-gtk/menu.c:1444 +msgid "User Commands..." +msgstr "Kasutaja käsud...." + +#: src/fe-gtk/menu.c:1445 +msgid "Userlist Buttons..." +msgstr "Kasutajate nimekirja nupud..." + +#: src/fe-gtk/menu.c:1446 +msgid "Userlist Popup..." +msgstr "Kasutajate nimekirja popup..." + +#: src/fe-gtk/menu.c:1449 +msgid "_Window" +msgstr "_Aken" + +#: src/fe-gtk/menu.c:1450 +msgid "Ban List..." +msgstr "Bännitute nimekiri..." + +#: src/fe-gtk/menu.c:1451 +msgid "Channel List..." +msgstr "Kanalite nimekiri..." + +#: src/fe-gtk/menu.c:1452 +msgid "Character Chart..." +msgstr "Märgitabel..." + +#: src/fe-gtk/menu.c:1453 +msgid "Direct Chat..." +msgstr "DCC vestlus..." + +#: src/fe-gtk/menu.c:1454 +msgid "File Transfers..." +msgstr "Failide edastus..." + +#: src/fe-gtk/menu.c:1455 +msgid "Ignore List..." +msgstr "Ignoreeritavate nimekiri..." + +#: src/fe-gtk/menu.c:1456 +msgid "Notify List..." +msgstr "Märguandenimekiri..." + +#: src/fe-gtk/menu.c:1457 +msgid "Plugins and Scripts..." +msgstr "Pluginad ja skriptid..." + +#: src/fe-gtk/menu.c:1458 +msgid "Raw Log..." +msgstr "Toorlogi..." + +#: src/fe-gtk/menu.c:1459 +msgid "URL Grabber..." +msgstr "URLipüüdja..." + +#: src/fe-gtk/menu.c:1461 +msgid "Reset Marker Line" +msgstr "Lähtesta järjehoidja" + +#: src/fe-gtk/menu.c:1462 +msgid "C_lear Text" +msgstr "_Tühjenda aken" + +#: src/fe-gtk/menu.c:1464 +msgid "Search Text..." +msgstr "_Otsi puhvrist..." + +#: src/fe-gtk/menu.c:1465 +msgid "Save Text..." +msgstr "Salvesta puhver..." + +#: src/fe-gtk/menu.c:1467 src/fe-gtk/menu.c:1941 +msgid "_Help" +msgstr "A_bi" + +#: src/fe-gtk/menu.c:1468 +msgid "_Contents" +msgstr "_Sisu" + +#: src/fe-gtk/menu.c:1469 +msgid "_About" +msgstr "_Programmist" + +#: src/fe-gtk/menu.c:1954 +msgid "_Attach Window" +msgstr "_Liida aknad" + +#: src/fe-gtk/menu.c:1955 +msgid "_Close Window" +msgstr "Sulge _aken" + +#: src/fe-gtk/notifygui.c:137 +msgid "User" +msgstr "Kasutaja" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "Viimati nähtud" + +#: src/fe-gtk/notifygui.c:181 +msgid "Offline" +msgstr "Offlain" + +#: src/fe-gtk/notifygui.c:201 src/fe-gtk/setup.c:229 +msgid "Never" +msgstr "Ei iialgi" + +#: src/fe-gtk/notifygui.c:204 src/fe-gtk/notifygui.c:229 +#, c-format +msgid "%d minutes ago" +msgstr "%d minutit tagasi" + +#: src/fe-gtk/notifygui.c:219 +msgid "Online" +msgstr "Onlain" + +#: src/fe-gtk/notifygui.c:348 +msgid "Enter nickname to add:" +msgstr "Sisesta lisatav hüüdnimi:" + +#: src/fe-gtk/notifygui.c:376 +msgid "Notify on these networks:" +msgstr "Jälgi neis võrkudes:" + +#: src/fe-gtk/notifygui.c:387 +msgid "Comma separated list of networks is accepted." +msgstr "Mitu võrgunime eralda komadega." + +#: src/fe-gtk/notifygui.c:407 +msgid "XChat: Notify List" +msgstr "XChat: märguandenimekiri" + +#: src/fe-gtk/notifygui.c:424 +msgid "Remove" +msgstr "Eemalda" + +#: src/fe-gtk/notifygui.c:428 +msgid "Open Dialog" +msgstr "Ava dialoog" + +#: src/fe-gtk/plugin-tray.c:163 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" + +#: src/fe-gtk/plugin-tray.c:214 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat: Ühendatud %u võrgu ja %u kanaliga" + +#: src/fe-gtk/plugin-tray.c:451 +msgid "_Restore" +msgstr "_Taasta" + +#: src/fe-gtk/plugin-tray.c:453 +msgid "_Hide" +msgstr "_Peida" + +#: src/fe-gtk/plugin-tray.c:456 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:457 src/fe-gtk/setup.c:467 +msgid "Channel Message" +msgstr "Sõnum kanalis" + +#: src/fe-gtk/plugin-tray.c:458 src/fe-gtk/setup.c:468 +msgid "Private Message" +msgstr "Privaatne sõnum" + +#: src/fe-gtk/plugin-tray.c:459 src/fe-gtk/setup.c:469 +msgid "Highlighted Message" +msgstr "Esiletõstetud sõnum" + +#: src/fe-gtk/plugin-tray.c:507 src/fe-gtk/plugin-tray.c:515 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "XChat: Esiletõstetud sõnum: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:510 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat: %u esiletõstetud sõnumit, viimane: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:533 src/fe-gtk/plugin-tray.c:540 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:536 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat: %u uut avalikku sõnumit" + +#: src/fe-gtk/plugin-tray.c:562 src/fe-gtk/plugin-tray.c:569 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat: Privaatsõnum: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:565 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat: %u privaatsõnumit. Viimane kasutajalt: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:615 src/fe-gtk/plugin-tray.c:623 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: Faili pakkumine kasutajalt: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:618 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "XChat: %u faili pakkumist. Viimane kasutajalt: %s (%s)" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Kirjeldus" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Vali laetav plugin või skript" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: pluginad ja skriptid" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Lae..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "_Eemalda" + +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "_Sulge" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:438 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Salvesta kui..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: toorlogi (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Puhasta toorlogi" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Akent, mille jaoks see otsing avati, pole enam olemas." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "Otsing jõudis lõppu, vastet ei leitud." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Otsi" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "_Tõstutundlik" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "Otsi _tagasisuunas" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "_Otsi" + +#: src/fe-gtk/servlistgui.c:170 src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "Uus võrk" + +#: src/fe-gtk/servlistgui.c:554 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "kas tõesti soovid eemaldada võrgu \"%s\" ja kõik selle serverid?" + +#: src/fe-gtk/servlistgui.c:678 +msgid "User name and Real name cannot be left blank." +msgstr "Kasutajanime ja päris nime väljad peavad olema täidetud." + +#: src/fe-gtk/servlistgui.c:978 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: Muuda %s" + +#: src/fe-gtk/servlistgui.c:997 +#, c-format +msgid "Servers for %s" +msgstr "Serverid võrgus %s" + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Connect to selected server only" +msgstr "Ühendu ainult valitud serverisse" + +#: src/fe-gtk/servlistgui.c:1009 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Ära proovi kõiki servereid, kui ühendumine nurjub." + +#: src/fe-gtk/servlistgui.c:1011 +msgid "Your Details" +msgstr "Sinu andmed" + +#: src/fe-gtk/servlistgui.c:1017 +msgid "Use global user information" +msgstr "Kasuta üldist kasutaja infot" + +#: src/fe-gtk/servlistgui.c:1020 src/fe-gtk/servlistgui.c:1252 +msgid "_Nick name:" +msgstr "Hüüdnimi:" + +#: src/fe-gtk/servlistgui.c:1024 src/fe-gtk/servlistgui.c:1259 +msgid "Second choice:" +msgstr "Teine valik: " + +#: src/fe-gtk/servlistgui.c:1028 src/fe-gtk/servlistgui.c:1273 +msgid "_User name:" +msgstr "Kasutajanimi:" + +#: src/fe-gtk/servlistgui.c:1032 src/fe-gtk/servlistgui.c:1280 +msgid "Rea_l name:" +msgstr "Pärisnimi:" + +#: src/fe-gtk/servlistgui.c:1035 +msgid "Connecting" +msgstr "Ühendan" + +#: src/fe-gtk/servlistgui.c:1041 +msgid "Auto connect to this network at startup" +msgstr "Ühenda automaatselt programmi käivitamisel" + +#: src/fe-gtk/servlistgui.c:1043 +msgid "Use a proxy server" +msgstr "Kasuta proxy serverit" + +#: src/fe-gtk/servlistgui.c:1045 +msgid "Use SSL for all the servers on this network" +msgstr "Kasuta SSL ühendust kõigi selle võrgu serverite jaoks" + +#: src/fe-gtk/servlistgui.c:1050 +msgid "Accept invalid SSL certificate" +msgstr "Luba vigaseid SSL sertifikaate" + +#: src/fe-gtk/servlistgui.c:1056 +msgid "C_hannels to join:" +msgstr "Kanalid, millega _liituda:" + +#: src/fe-gtk/servlistgui.c:1058 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Kanalite nimekiri, millega soovid ühineda. Kanaleid eralda komaga, aga mitte tühikuga!" + +#: src/fe-gtk/servlistgui.c:1061 +msgid "Connect command:" +msgstr "Ühendamise käsk:" + +#: src/fe-gtk/servlistgui.c:1063 +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 "Lisakäsk, mis peale ühendumist käivitada. Kui on vaja rohkem kui ühte, siis kirjuta siia \"LOAD -e <failinimi>\", kus failinimi on vajalikke käske sisaldav fail." + +#: src/fe-gtk/servlistgui.c:1066 +msgid "Nickserv password:" +msgstr "Nickservi parool:" + +#: src/fe-gtk/servlistgui.c:1068 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "Kui su hüüdnime kasutamiseks on vaja salasõna, kirjuta see siia. Kõik IRC võrgud ei toeta seda võimalust." + +#: src/fe-gtk/servlistgui.c:1072 +msgid "Server password:" +msgstr "Serveri parool:" + +#: src/fe-gtk/servlistgui.c:1074 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Parool serveri jaoks. Kui ei tea mis on, jäta tühjaks." + +#: src/fe-gtk/servlistgui.c:1077 +msgid "Character set:" +msgstr "Märgistik:" + +#: src/fe-gtk/servlistgui.c:1147 +msgid "_Edit" +msgstr "_Muuda" + +#: src/fe-gtk/servlistgui.c:1230 +msgid "XChat: Network List" +msgstr "XChat: serverite nimekiri" + +#: src/fe-gtk/servlistgui.c:1242 +msgid "User Information" +msgstr "Kasutaja info" + +#: src/fe-gtk/servlistgui.c:1266 +msgid "Third choice:" +msgstr "Kolmas valik:" + +#: src/fe-gtk/servlistgui.c:1326 +msgid "Networks" +msgstr "Võrgud" + +#: src/fe-gtk/servlistgui.c:1367 +msgid "Skip network list on startup" +msgstr "Ära näita serverite nimekirja käivitumisel" + +#: src/fe-gtk/servlistgui.c:1399 +msgid "_Edit..." +msgstr "_Muuda..." + +#: src/fe-gtk/servlistgui.c:1406 +msgid "_Sort" +msgstr "_Sorteeri" + +#: src/fe-gtk/servlistgui.c:1407 +msgid "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN keys to move a row." +msgstr "Sorteerib võrkude nimekirja tähestiku järgi. Kasuta SHIFT-ÜLES ja SHIFT-ALLA klahve järjekorra muutmiseks." + +#: src/fe-gtk/servlistgui.c:1432 +msgid "C_onnect" +msgstr "Ü_henda" + +#: src/fe-gtk/setup.c:102 +msgid "Text Box Appearance" +msgstr "Tekstikasti välimus" + +#: src/fe-gtk/setup.c:103 +msgid "Font:" +msgstr "Kirjatüüp:" + +#: src/fe-gtk/setup.c:104 +msgid "Background image:" +msgstr "Taustapilt:" + +#: src/fe-gtk/setup.c:105 +msgid "Scrollback lines:" +msgstr "Tagasikeritavate ridade arv:" + +#: src/fe-gtk/setup.c:106 +msgid "Colored nick names" +msgstr "Värvilised nimed" + +#: src/fe-gtk/setup.c:107 +msgid "Give each person on IRC a different color" +msgstr "Värvi iga hüüdnimi eri värvi" + +#: src/fe-gtk/setup.c:108 +msgid "Indent nick names" +msgstr "Joonda nimed" + +#: src/fe-gtk/setup.c:109 +msgid "Make nick names right-justified" +msgstr "Joondab nimed paremale" + +#: src/fe-gtk/setup.c:110 +msgid "Transparent background" +msgstr "Läbipaistev taust" + +#: src/fe-gtk/setup.c:111 +msgid "Show marker line" +msgstr "Näita järjehoidjat" + +#: src/fe-gtk/setup.c:112 +msgid "Insert a red line after the last read text." +msgstr "Tõmba punane joon viimase loetud rea alla." + +#: src/fe-gtk/setup.c:113 +msgid "Transparency Settings" +msgstr "Läbipaistvuse seaded" + +#: src/fe-gtk/setup.c:114 +msgid "Red:" +msgstr "Punane:" + +#: src/fe-gtk/setup.c:115 +msgid "Green:" +msgstr "Roheline:" + +#: src/fe-gtk/setup.c:116 +msgid "Blue:" +msgstr "Sinine:" + +#: src/fe-gtk/setup.c:118 src/fe-gtk/setup.c:379 +msgid "Time Stamps" +msgstr "Ajamärgid" + +#: src/fe-gtk/setup.c:119 +msgid "Enable time stamps" +msgstr "Lülita ajamärgid sisse" + +#: src/fe-gtk/setup.c:120 +msgid "Time stamp format:" +msgstr "Kellaaja formaat:" + +#: src/fe-gtk/setup.c:121 src/fe-gtk/setup.c:382 +msgid "See strftime manpage for details." +msgstr "Lisainfo on strftime man-leheküljel." + +#: src/fe-gtk/setup.c:128 src/fe-gtk/setup.c:168 +msgid "A-Z" +msgstr "A-Ü" + +#: src/fe-gtk/setup.c:129 +msgid "Last-spoke order" +msgstr "Viimati rääkinud ees" + +#: src/fe-gtk/setup.c:135 src/fe-gtk/setup.c:1657 +msgid "Input box" +msgstr "Sisestuskast" + +#: src/fe-gtk/setup.c:136 src/fe-gtk/setup.c:200 +msgid "Use the Text box font and colors" +msgstr "Kasuta tekstikasti kirjatüüpi" + +#: src/fe-gtk/setup.c:138 +msgid "Spell checking" +msgstr "Õigekirjakontroll" + +#: src/fe-gtk/setup.c:141 +msgid "Nick Completion" +msgstr "Hüüdnime lõpetamine" + +#: src/fe-gtk/setup.c:142 +msgid "Automatic nick completion (without TAB key)" +msgstr "Automaatne hüüdnime lõpetamine (ilma TAB nuputa)" + +#: src/fe-gtk/setup.c:144 +msgid "Nick completion suffix:" +msgstr "Hüüdnime lõpetamise suffiks:" + +#: src/fe-gtk/setup.c:145 +msgid "Nick completion sorted:" +msgstr "Hüüdnimede järjekord:" + +#: src/fe-gtk/setup.c:148 +msgid "Input Box Codes" +msgstr "Sisestuskasti koodid" + +#: src/fe-gtk/setup.c:149 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Tõlgenda %nnn kui ASCII koodi" + +#: src/fe-gtk/setup.c:150 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Tõlgenda %C, %B jne. kui värviline, paks tekst jne.." + +#: src/fe-gtk/setup.c:167 +msgid "A-Z, Ops first" +msgstr "A-Ü, opid ees" + +#: src/fe-gtk/setup.c:169 +msgid "Z-A, Ops last" +msgstr "Ü-A, opid taga" + +#: src/fe-gtk/setup.c:170 +msgid "Z-A" +msgstr "Ü-A" + +#: src/fe-gtk/setup.c:171 +msgid "Unsorted" +msgstr "Sorteerimata" + +#: src/fe-gtk/setup.c:177 src/fe-gtk/setup.c:189 +msgid "Left (Upper)" +msgstr "Vasakul (ülal)" + +#: src/fe-gtk/setup.c:178 src/fe-gtk/setup.c:190 +msgid "Left (Lower)" +msgstr "Vasakul (all)" + +#: src/fe-gtk/setup.c:179 src/fe-gtk/setup.c:191 +msgid "Right (Upper)" +msgstr "Paremal (ülal)" + +#: src/fe-gtk/setup.c:180 src/fe-gtk/setup.c:192 +msgid "Right (Lower)" +msgstr "Paremal (all)" + +#: src/fe-gtk/setup.c:181 +msgid "Top" +msgstr "Üleval" + +#: src/fe-gtk/setup.c:182 +msgid "Bottom" +msgstr "All" + +#: src/fe-gtk/setup.c:183 +msgid "Hidden" +msgstr "Peidus" + +#: src/fe-gtk/setup.c:198 +msgid "User List" +msgstr "Kasutajate nimekiri" + +#: src/fe-gtk/setup.c:199 +msgid "Show hostnames in user list" +msgstr "Näita kanali kasutajate nimekirjas liikmete hosti" + +#: src/fe-gtk/setup.c:202 +msgid "User list sorted by:" +msgstr "Kasutajate sorteerimise alus:" + +#: src/fe-gtk/setup.c:203 +msgid "Show user list at:" +msgstr "Näita kasutajate nimekirja:" + +#: src/fe-gtk/setup.c:205 +msgid "Away tracking" +msgstr "Eemalolijate jälgimine" + +#: src/fe-gtk/setup.c:206 +msgid "Track the Away status of users and mark them in a different color" +msgstr "Jälgi kasutajate kohalolekut ja märgista eemalolijad" + +#: src/fe-gtk/setup.c:207 +msgid "On channels smaller than:" +msgstr "Kanalites, kus on vähem liikmeid kui:" + +#: src/fe-gtk/setup.c:209 +msgid "Action Upon Double Click" +msgstr "Topeltkliki tegevus" + +#: src/fe-gtk/setup.c:210 +msgid "Execute command:" +msgstr "Käivita käsk:" + +#: src/fe-gtk/setup.c:221 +msgid "Windows" +msgstr "Aknad" + +#: src/fe-gtk/setup.c:222 +msgid "Tabs" +msgstr "Sakid" + +#: src/fe-gtk/setup.c:230 +msgid "Always" +msgstr "Alati" + +#: src/fe-gtk/setup.c:231 +msgid "Only requested tabs" +msgstr "Ainult ise loodud sakid" + +#: src/fe-gtk/setup.c:238 +msgid "Channel Switcher" +msgstr "Kanalite _nimekiri" + +#: src/fe-gtk/setup.c:239 +msgid "Open an extra tab for server messages" +msgstr "Ava sakk serveri sõnumite jaoks" + +#: src/fe-gtk/setup.c:240 +msgid "Open an extra tab for server notices" +msgstr "Ava sakk serveri teadete jaoks" + +#: src/fe-gtk/setup.c:241 +msgid "Open a new tab when you receive a private message" +msgstr "Ava uus sakk privaatsõnumi saabumisel" + +#: src/fe-gtk/setup.c:242 +msgid "Sort tabs in alphabetical order" +msgstr "Sorteeri sakid tähestiku järgi" + +#: src/fe-gtk/setup.c:243 +msgid "Small tabs" +msgstr "Väikesed sakid" + +#: src/fe-gtk/setup.c:245 +msgid "Focus new tabs:" +msgstr "Fookus uuele sakile:" + +#: src/fe-gtk/setup.c:247 +msgid "Show channel switcher at:" +msgstr "Näita kanalite valikut:" + +#: src/fe-gtk/setup.c:248 +msgid "Shorten tab labels to:" +msgstr "Lühenda sakkide nimed:" + +#: src/fe-gtk/setup.c:248 +msgid "letters." +msgstr "täheni." + +#: src/fe-gtk/setup.c:250 +msgid "Tabs or Windows" +msgstr "Sakid või aknad" + +#: src/fe-gtk/setup.c:251 +msgid "Open channels in:" +msgstr "Ava kanalid:" + +#: src/fe-gtk/setup.c:252 +msgid "Open dialogs in:" +msgstr "Ava dialoogid:" + +#: src/fe-gtk/setup.c:253 +msgid "Open utilities in:" +msgstr "Ava utiliidid:" + +#: src/fe-gtk/setup.c:253 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Ava DCC, ignoreerimised, märguanded jne. sakkides või akendes?" + +#: src/fe-gtk/setup.c:260 +msgid "No" +msgstr "Ei" + +#: src/fe-gtk/setup.c:261 +msgid "Yes" +msgstr "Jah" + +#: src/fe-gtk/setup.c:262 +msgid "Browse for save folder every time" +msgstr "Sirvi iga kord eraldi salvestamise asukohta" + +#: src/fe-gtk/setup.c:268 +msgid "Files and Directories" +msgstr "Failid ja kataloogid" + +#: src/fe-gtk/setup.c:269 +msgid "Auto accept file offers:" +msgstr "Võta küsimata vastu DCC failisaatmised" + +#: src/fe-gtk/setup.c:270 +msgid "Download files to:" +msgstr "Allalaadimisel failid salvesta:" + +#: src/fe-gtk/setup.c:271 +msgid "Move completed files to:" +msgstr "Alla laetud failid tõsta ümber:" + +#: src/fe-gtk/setup.c:272 +msgid "Save nick name in filenames" +msgstr "Salvesta hüüdnimi failinimedesse" + +#: src/fe-gtk/setup.c:274 +msgid "Network Settings" +msgstr "Võrguseaded" + +#: src/fe-gtk/setup.c:275 +msgid "Get my address from the IRC server" +msgstr "Võta mu IP aadress IRC serverilt" + +#: src/fe-gtk/setup.c:276 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "Küsi serverilt oma tõeline aadressi. Kasuta seda juhul, kui sul on 192.168.*.* aadress!" + +#: src/fe-gtk/setup.c:277 +msgid "DCC IP address:" +msgstr "DCC IP aadress:" + +#: src/fe-gtk/setup.c:278 +msgid "Claim you are at this address when offering files." +msgstr "Väida, failide pakkumisel, et sul on see aadress." + +#: src/fe-gtk/setup.c:279 +msgid "First DCC send port:" +msgstr "Esimene port DCC saatmisteks:" + +#: src/fe-gtk/setup.c:280 +msgid "Last DCC send port:" +msgstr "Viimane port DCC saatmisteks:" + +#: src/fe-gtk/setup.c:281 +msgid "!Leave ports at zero for full range." +msgstr "!0, et kasutada kõiki porte." + +#: src/fe-gtk/setup.c:283 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Maksimaalne failivahetuskiirus (baite sekundis)" + +#: src/fe-gtk/setup.c:284 +msgid "One upload:" +msgstr "Üks üleslaadimine:" + +#: src/fe-gtk/setup.c:285 src/fe-gtk/setup.c:287 +msgid "Maximum speed for one transfer" +msgstr "Ühe edastamise maksimaalne kiirus" + +#: src/fe-gtk/setup.c:286 +msgid "One download:" +msgstr "Üks allalaadimine:" + +#: src/fe-gtk/setup.c:288 +msgid "All uploads combined:" +msgstr "Kõik üleslaadimised kokku:" + +#: src/fe-gtk/setup.c:289 src/fe-gtk/setup.c:291 +msgid "Maximum speed for all files" +msgstr "Maksimaalne kiirus kogu liikluse jaoks" + +#: src/fe-gtk/setup.c:290 +msgid "All downloads combined:" +msgstr "Kõik allalaadimised kokku:" + +#: src/fe-gtk/setup.c:318 src/fe-gtk/setup.c:1663 +msgid "Alerts" +msgstr "Hoiatused" + +#: src/fe-gtk/setup.c:322 +msgid "Show tray balloons on:" +msgstr "Näita süsteemisalve mullikesi:" + +#: src/fe-gtk/setup.c:324 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:325 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:326 +msgid "Make a beep sound on:" +msgstr "Tee piiks:" + +#: src/fe-gtk/setup.c:328 +msgid "Enable system tray icon" +msgstr "Süsteemisalve ikoon" + +#: src/fe-gtk/setup.c:330 +msgid "Highlighted Messages" +msgstr "Esiletõstetud sõnumid:" + +#: src/fe-gtk/setup.c:331 +msgid "Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Peale enda hüüdnime mainimiste tõsta esile veel:" + +#: src/fe-gtk/setup.c:333 +msgid "Extra words to highlight:" +msgstr "Esiletõstetavad sõnad:" + +#: src/fe-gtk/setup.c:334 +msgid "Nick names not to highlight:" +msgstr "Hüüdnimed, mida mitte esile tõsta:" + +#: src/fe-gtk/setup.c:335 +msgid "Nick names to always highlight:" +msgstr "Hüüdnimed mida alati esile tõsta:" + +#: src/fe-gtk/setup.c:336 +msgid "Separate multiple words with commas." +msgstr "Eralda erinevad sõnad komaga." + +#: src/fe-gtk/setup.c:342 +msgid "Default Messages" +msgstr "Vaikimisi põhjendused:" + +#: src/fe-gtk/setup.c:343 +msgid "Quit:" +msgstr "Väljumine:" + +#: src/fe-gtk/setup.c:344 +msgid "Leave channel:" +msgstr "Kanalist lahkumine:" + +#: src/fe-gtk/setup.c:345 +msgid "Away:" +msgstr "Eemale minek:" + +#: src/fe-gtk/setup.c:347 +msgid "Away" +msgstr "Eemal" + +#: src/fe-gtk/setup.c:348 +msgid "Announce away messages" +msgstr "Teata eemalolekust" + +#: src/fe-gtk/setup.c:349 +msgid "Announce your away messages to all channels" +msgstr "Teata enda eemalolekust kõigil kanalitel" + +#: src/fe-gtk/setup.c:350 +msgid "Show away once" +msgstr "Näita ainult ühe korra" + +#: src/fe-gtk/setup.c:350 +msgid "Show identical away messages only once" +msgstr "Näita sama eemal-teadet ainult ühe korra" + +#: src/fe-gtk/setup.c:351 +msgid "Automatically unmark away" +msgstr "Võta eemalolek automaatselt maha" + +#: src/fe-gtk/setup.c:351 +msgid "Unmark yourself as away before sending messages" +msgstr "Enne sõnumi saatmist võta endalt eemalolek maha" + +#: src/fe-gtk/setup.c:358 +msgid "Advanced Settings" +msgstr "Põhjalikumad seadistused" + +#: src/fe-gtk/setup.c:359 +msgid "Auto reconnect delay:" +msgstr "Ooteaeg enne autoühendust:" + +#: src/fe-gtk/setup.c:360 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:361 +msgid "Whois on notify" +msgstr "" + +#: src/fe-gtk/setup.c:361 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Saada /WHOIS, kui meeldetuletusnimekirjas olev kasutaja serveriga ühineb" + +#: src/fe-gtk/setup.c:362 +msgid "Hide join and part messages" +msgstr "Peida tulijad ja lahkujad" + +#: src/fe-gtk/setup.c:362 +msgid "Hide channel join/part messages by default" +msgstr "Peida vaikimisi liitumis- ja lahkumisteated" + +#: src/fe-gtk/setup.c:363 +msgid "Auto Open DCC Windows" +msgstr "Ava DCC aknad automaatselt" + +#: src/fe-gtk/setup.c:364 +msgid "Send window" +msgstr "Saatmisaken" + +#: src/fe-gtk/setup.c:365 +msgid "Receive window" +msgstr "Vastuvõtmiste aken" + +#: src/fe-gtk/setup.c:366 +msgid "Chat window" +msgstr "Vestlusaken" + +#: src/fe-gtk/setup.c:374 src/fe-gtk/setup.c:1665 +msgid "Logging" +msgstr "Logimine" + +#: src/fe-gtk/setup.c:375 +msgid "Enable logging of conversations" +msgstr "Luba vestluste logimine" + +#: src/fe-gtk/setup.c:376 +msgid "Log filename:" +msgstr "Logi failinimi:" + +#: src/fe-gtk/setup.c:377 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=server %c=kanal %n=võrk." + +#: src/fe-gtk/setup.c:380 +msgid "Insert timestamps in logs" +msgstr "Lisa logidesse kellaaeg" + +#: src/fe-gtk/setup.c:381 +msgid "Log timestamp format:" +msgstr "Logi kellaaja formaat:" + +#: src/fe-gtk/setup.c:389 +msgid "(Disabled)" +msgstr "(Keelatud)" + +#: src/fe-gtk/setup.c:390 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:391 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:392 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:393 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:395 +msgid "MS Proxy (ISA)" +msgstr "" + +#: src/fe-gtk/setup.c:402 +msgid "All Connections" +msgstr "Kõik ühendused" + +#: src/fe-gtk/setup.c:403 +msgid "IRC Server Only" +msgstr "Ainult IRC serveriga" + +#: src/fe-gtk/setup.c:404 +msgid "DCC Get Only" +msgstr "Ainult DCC vastuvõtt" + +#: src/fe-gtk/setup.c:410 +msgid "Your Address" +msgstr "Sinu IP aadress" + +#: src/fe-gtk/setup.c:411 +msgid "Bind to:" +msgstr "Seo aadressiga:" + +#: src/fe-gtk/setup.c:412 +msgid "Only useful for computers with multiple addresses." +msgstr "Kasulik ainult arvutitele, millel on mitu aadressi." + +#: src/fe-gtk/setup.c:414 +msgid "Proxy Server" +msgstr "Proksi server:" + +#: src/fe-gtk/setup.c:415 +msgid "Hostname:" +msgstr "Hostinimi:" + +#: src/fe-gtk/setup.c:416 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:417 +msgid "Type:" +msgstr "Tüüp:" + +#: src/fe-gtk/setup.c:418 +msgid "Use proxy for:" +msgstr "Kasuta vaheserverit:" + +#: src/fe-gtk/setup.c:420 +msgid "Proxy Authentication" +msgstr "Proksiga autentimine" + +#: src/fe-gtk/setup.c:422 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Kasuta autentimist (MS proksi, HTTP või Socks5)" + +#: src/fe-gtk/setup.c:424 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Kasuta autentimist (ainult HTTP või Socks5)" + +#: src/fe-gtk/setup.c:426 +msgid "Username:" +msgstr "Kasutajanimi:" + +#: src/fe-gtk/setup.c:427 +msgid "Password:" +msgstr "Parool:" + +#: src/fe-gtk/setup.c:838 +msgid "Select an Image File" +msgstr "Vali pilti" + +#: src/fe-gtk/setup.c:862 +msgid "Select Download Folder" +msgstr "Vali tõmmatud failide kaust" + +#: src/fe-gtk/setup.c:871 +msgid "Select font" +msgstr "Vali kirjatüüp" + +#: src/fe-gtk/setup.c:968 +msgid "Browse..." +msgstr "Vali..." + +#: src/fe-gtk/setup.c:1108 +msgid "Mark identified users with:" +msgstr "Märgista identifitseeritud kasutajad:" + +#: src/fe-gtk/setup.c:1110 +msgid "Mark not-identified users with:" +msgstr "Märgista identifitseerimata kasutajad:" + +#: src/fe-gtk/setup.c:1117 +msgid "Open Data Folder" +msgstr "Ava andmete kataloog" + +#: src/fe-gtk/setup.c:1171 +msgid "Select color" +msgstr "Vali värv" + +#: src/fe-gtk/setup.c:1251 +msgid "Text Colors" +msgstr "Teksti värvid" + +#: src/fe-gtk/setup.c:1253 +msgid "mIRC colors:" +msgstr "mIRC värvid:" + +#: src/fe-gtk/setup.c:1261 +msgid "Local colors:" +msgstr "Kohalikud värvid:" + +#: src/fe-gtk/setup.c:1269 src/fe-gtk/setup.c:1274 +msgid "Foreground:" +msgstr "Tekst:" + +#: src/fe-gtk/setup.c:1270 src/fe-gtk/setup.c:1275 +msgid "Background:" +msgstr "Taust:" + +#: src/fe-gtk/setup.c:1272 +msgid "Marking Text" +msgstr "Teksti märkimine" + +#: src/fe-gtk/setup.c:1277 +msgid "Interface Colors" +msgstr "Kasutajaliidese värvid" + +#: src/fe-gtk/setup.c:1279 +msgid "New data:" +msgstr "Uued andmed:" + +#: src/fe-gtk/setup.c:1280 +msgid "Marker line:" +msgstr "Järjehoidja joon:" + +#: src/fe-gtk/setup.c:1281 +msgid "New message:" +msgstr "Uus sõnum:" + +#: src/fe-gtk/setup.c:1282 +msgid "Away user:" +msgstr "Eemal olev kasutaja:" + +#: src/fe-gtk/setup.c:1283 +msgid "Highlight:" +msgstr "Esiletõstetud:" + +#: src/fe-gtk/setup.c:1379 src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "Sündmus" + +#: src/fe-gtk/setup.c:1385 +msgid "Sound file" +msgstr "Helifail:" + +#: src/fe-gtk/setup.c:1420 +msgid "Select a sound file" +msgstr "Vali helifail" + +#: src/fe-gtk/setup.c:1492 +msgid "Sound playing method:" +msgstr "Heli mängimise meetod:" + +#: src/fe-gtk/setup.c:1500 +msgid "External sound playing _program:" +msgstr "Väline _helipleier:" + +#: src/fe-gtk/setup.c:1518 +msgid "_External program" +msgstr "_Väline programm" + +#: src/fe-gtk/setup.c:1528 +msgid "_Automatic" +msgstr "_Automaatne" + +#: src/fe-gtk/setup.c:1541 +msgid "Sound files _directory:" +msgstr "Helifailide kataloog:" + +#: src/fe-gtk/setup.c:1580 +msgid "Sound file:" +msgstr "Helifail: " + +#: src/fe-gtk/setup.c:1595 +msgid "_Browse..." +msgstr "_Vali..." + +#: src/fe-gtk/setup.c:1606 +msgid "_Play" +msgstr "_Mängi" + +#: src/fe-gtk/setup.c:1655 +msgid "Interface" +msgstr "Kasutajaliides" + +#: src/fe-gtk/setup.c:1656 +msgid "Text box" +msgstr "Tekstikast" + +#: src/fe-gtk/setup.c:1658 +msgid "User list" +msgstr "Kasutajate nimekiri" + +#: src/fe-gtk/setup.c:1659 +msgid "Channel switcher" +msgstr "Kanalite vahetaja" + +#: src/fe-gtk/setup.c:1660 +msgid "Colors" +msgstr "Värvid" + +#: src/fe-gtk/setup.c:1662 +msgid "Chatting" +msgstr "Vestlemine" + +#: src/fe-gtk/setup.c:1664 +msgid "General" +msgstr "Üldine" + +#: src/fe-gtk/setup.c:1666 +msgid "Sound" +msgstr "Heli" + +#: src/fe-gtk/setup.c:1670 +msgid "Network setup" +msgstr "Võrgu häälestus" + +#: src/fe-gtk/setup.c:1671 +msgid "File transfers" +msgstr "Failide edastus" + +#: src/fe-gtk/setup.c:1779 +msgid "Categories" +msgstr "Kategooriad" + +#: src/fe-gtk/setup.c:1960 +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 "" +"Puud ei saa paigutada akna ülemisse või alumisse äärde!\n" +"Palun vali <b>Vaade</b> menüüst <b>Sakid</b>, kui seda teha soovid." + +#: src/fe-gtk/setup.c:1970 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Muudeti mõnesid seadeid, mis vajavad programmi taaskäivitust mõjumiseks." + +#: src/fe-gtk/setup.c:1978 +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 "" +"*HOIATUS*\n" +"DCC failide automaatne kodukataloogi salvestamine\n" +"on ohtlik ja ära kasutatav. Näiteks võin keegi\n" +"saata sulle faili .bash_profile" + +#: src/fe-gtk/setup.c:2011 +msgid "XChat: Preferences" +msgstr "X-Chat: häälestus" + +#: src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "Viga stringi töötlemisel" + +#: src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "" + +#: src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "Muuda sündmuseid" + +#: src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$ number" + +#: src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "Lae..." + +#: src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "Testi kõike" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "X-Chat: URLipüüdja" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Puhasta nimekiri" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Kopeeri valitud URL" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Kopeeri" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Salvesta nimekiri faili" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d op'i, %d kokku" diff --git a/po/eu.po b/po/eu.po new file mode 100644 index 00000000..e329229a --- /dev/null +++ b/po/eu.po @@ -0,0 +1,5049 @@ +# Basque translation of xchat. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is put in the public domain. +# Mikel Olasagasti <hey_neken@euskal.org>, 2004. +# , fuzzy +# +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.4.0pre2\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2004-08-05 16:05+1000\n" +"PO-Revision-Date: 2004-08-16 17:49+0200\n" +"Last-Translator: Mikel Olasagasti <hey_neken@mundurat.net>\n" +"Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/common/cfgfiles.c:350 +msgid "Cannot create ~/.xchat2" +msgstr "Ezin da ~/.xchat2 sortu\t" + +#: src/common/cfgfiles.c:667 +msgid "I'm busy" +msgstr "Lanpetuta nabil" + +#: src/common/cfgfiles.c:668 +msgid "Leaving" +msgstr "Irteten" + +#: src/common/cfgfiles.c:714 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* root bezala IRCa erabiltzia ez da ona! Erabiltzaile kontu\n" +" berri bat sortu beharko zenuke eta honekin sartu.\n" + +#: src/common/dcc.c:61 +msgid "Waiting" +msgstr "Itxaroten" + +#: src/common/dcc.c:62 +msgid "Active" +msgstr "Aktibo" + +#: src/common/dcc.c:63 +msgid "Failed" +msgstr "Huts egin da" + +#: src/common/dcc.c:64 +msgid "Done" +msgstr "Eginda" + +#: src/common/dcc.c:65 +msgid "Connect" +msgstr "Konektatu" + +#: src/common/dcc.c:66 +msgid "Aborted" +msgstr "Abortatua" + +#: src/common/dcc.c:1279 +#, c-format +msgid "Cannot access %s\n" +msgstr "Ezin da %s-ra sartu\n" + +#: src/common/dcc.c:1874 +msgid "No active DCCs\n" +msgstr "Ez dago DCC aktiborik\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "BAI " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "EZ" + +#: src/common/ignore.c:373 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "CTCP ugariegi jasotzen hari zara %s(r)engandik, %s ignoratu egingo da.\n" + +#: src/common/ignore.c:398 +#, c-format +msgid "You are being MSG flooded from %s, setting autodialog OFF.\n" +msgstr "MSG ugariegi jasotzen hari zara %s(r)engandik, auto-elkarrizeketa OFFen ezarri da.\n" + +#: src/common/notify.c:400 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s online\n" + +#: src/common/notify.c:402 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s offline\n" + +#: src/common/outbound.c:70 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Kanaletara sartu gabe. Saiatu /join #<kanala>-rekin\n" + +#: src/common/outbound.c:76 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Konektatu gabe. Saiatu /server <ostalaria> [<ataka>]-rekin\n" + +#: src/common/outbound.c:1355 +msgid "I need /bin/sh to run!\n" +msgstr "/bin/sh behar dut abiatzeko!\n" + +#: src/common/outbound.c:1596 +msgid "" +"\n" +"Commands Available:\n" +"\n" +" " +msgstr "" +"\n" +"Erabilgarri dauden komandoak:\n" +"\n" +" " + +#: src/common/outbound.c:1631 +msgid "" +"\n" +"\n" +"Type /HELP <command> for more information, or /HELP -l\n" +"\n" +msgstr "" +"\n" +"\n" +"Idatzi /HELP <komandoa> informazio gehiagorako, edo /HELP -l\n" + +#: src/common/outbound.c:1632 +msgid "" +"User defined commands:\n" +"\n" +" " +msgstr "" +"Erabiltzaileak definitutako komandoak:\n" +"\n" +" " + +#: src/common/outbound.c:1724 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Argumentu ezezaguna '%s', ezikusia." + +#: src/common/outbound.c:2474 +msgid "No such plugin found.\n" +msgstr "Ez da alako plugin-ik aurkitu.\n" + +#: src/common/outbound.c:2479 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Plugin hori kargatzeari uko egiten ari da.\n" + +#: src/common/outbound.c:2624 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <izena> <ekintza>, botoi bat gehitzen du erabiltzaile zerrendaren azpian" + +#: src/common/outbound.c:2626 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <komandoa>, zauden kanal guztietara komando bat bidaltzen du" + +#: src/common/outbound.c:2628 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, zauden zerbitzari guztietara komando bat bidaltzen du" + +#: src/common/outbound.c:2629 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<arrazoia>], aldendua jartzen zaitu" + +#: src/common/outbound.c:2631 +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 "" + +#: src/common/outbound.c:2633 +msgid "CLEAR, Clears the current text window" +msgstr "CLEAR, uneko testu leihoa garbitzen du" + +#: src/common/outbound.c:2634 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, uneko leiho/fitxa itxitzen du" + +#: src/common/outbound.c:2637 +msgid "COUNTRY <code>, finds a country code, eg: au = australia" +msgstr "COUNTRY <kodea>, herrialde kode bat aurkitzen du, adib.: au = australia" + +#: src/common/outbound.c:2639 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:2641 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "" + +#: src/common/outbound.c:2643 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:2653 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2655 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <izena>, erabiltzaile zerrendaren azpitik botoi bat ezabatzen du" + +#: src/common/outbound.c:2657 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <ezizena>, uneko kanalean chanop egoera kentzen dio aukeratutako ezizenari (chanop egoera behar da)" + +#: src/common/outbound.c:2659 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <ezizena>, uneko kanalean voice egoera kentzen dio aukeratutako ezizenari <chanop egoera behar da>" + +#: src/common/outbound.c:2660 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, zerbitzaritik deskonektatzen da" + +#: src/common/outbound.c:2661 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <ezizena|ostalaria|ip-a>, erabiltzaile baten IPa aurkitzen du" + +#: src/common/outbound.c:2662 +msgid "ECHO <text>, Prints text locally" +msgstr "" + +#: src/common/outbound.c:2665 +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 "" + +#: src/common/outbound.c:2667 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:2670 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:2672 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:2673 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:2677 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:2679 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:2685 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2687 +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 "" + +#: src/common/outbound.c:2694 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2695 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanala>, kanalera sartzen da" + +#: src/common/outbound.c:2697 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <ezizena>, uneko kanaletik aukeratutako ezizena kanporatzen du (kanalop-a behar da)" + +#: src/common/outbound.c:2699 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2702 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:2704 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "" + +#: src/common/outbound.c:2706 +msgid "LOAD <file>, loads a plugin or script" +msgstr "LOAD <fitxategia>, plugin edo skript bat kargatzen du" + +#: src/common/outbound.c:2709 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2711 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2713 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "" + +#: src/common/outbound.c:2715 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2718 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2719 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <nick> <mezua>, mezu pribatu bat bidaltzen du" + +#: src/common/outbound.c:2722 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "" + +#: src/common/outbound.c:2724 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <ezizena> <mezua>, CTCP mezua bidaltzen dio ezizenari" + +#: src/common/outbound.c:2725 +msgid "NEWSERVER <hostname> [<port>]" +msgstr "NEWSERVER <ostalaria> [<ataka>]" + +#: src/common/outbound.c:2726 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <ezizena>, zure ezizena ezartzen du" + +#: src/common/outbound.c:2729 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "" + +#: src/common/outbound.c:2731 +msgid "NOTIFY [<nick>], lists your notify list or adds someone to it" +msgstr "" + +#: src/common/outbound.c:2733 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <ezizena>, chanop egoera ematen dio erabiltzaileari (chanop behar da)" + +#: src/common/outbound.c:2735 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanala>] [<arrazoia>], kanaletik irteten da, unekotik lehenetsita" + +#: src/common/outbound.c:2737 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <ezizena | kanala>, CTCP ping egin ezizen edo kanalari" + +#: src/common/outbound.c:2739 +msgid "QUERY <nick>, opens up a new privmsg window to someone" +msgstr "" + +#: src/common/outbound.c:2741 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<arrazoia>], deskonektatu egiten da uneko zerbitzaritik" + +#: src/common/outbound.c:2743 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <mezua>, mezua era lauean bidaltzen dio zerbitzariari" + +#: src/common/outbound.c:2746 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:2749 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:2751 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "" + +#: src/common/outbound.c:2754 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <testua>, uneko leihoko objektuari testua bidaltzen dio" + +#: src/common/outbound.c:2757 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:2760 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:2764 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" + +#: src/common/outbound.c:2767 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <ostalaria> [<ataka>] [<pasahitza>], zerbitzari batera konektatzen da, lehenetsitako ataka 6667 da" + +#: src/common/outbound.c:2769 +msgid "SET [-quiet] <variable> [<value>]" +msgstr "SET [-quiet] <bariablea> [<balorea>]" + +#: src/common/outbound.c:2772 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<gaia>], zerbait ematen bada gaia hori ezartzen du, bestela uneko gaia erakusten du" + +#: src/common/outbound.c:2774 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <maskara> [<maskara>...], espezifikatutako maskarei debekua kentzen die" + +#: src/common/outbound.c:2775 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <maskara> [IXILIK]" + +#: src/common/outbound.c:2776 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <izena>, plugin edo skript-a deskargatzen du" + +#: src/common/outbound.c:2779 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <ezizena>, ahots egoera ematen dio norbaiti (chanop-a behar da)" + +#: src/common/outbound.c:2781 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <mezua>, mezua kanal guztietan idazten du" + +#: src/common/outbound.c:2783 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <mezua>, uneko kanaleko chanop guztiei mezua bidaltzen die" + +#: src/common/outbound.c:2816 +#, c-format +msgid "Usage: %s\n" +msgstr "Erabilera: %s\n" + +#: src/common/outbound.c:2821 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Ez dago laguntzarik eskuragarri komando horrentzat.\n" + +#: src/common/outbound.c:2827 +msgid "No such command.\n" +msgstr "Ez dago honelako komandorik.\n" + +#: src/common/outbound.c:3151 +msgid "Bad arguments for user command.\n" +msgstr "Argumentu akastunak erabiltzaile komandoentzat.\n" + +#: src/common/outbound.c:3315 +msgid "Too many recursive usercommands, aborting." +msgstr "" + +#: src/common/outbound.c:3388 +msgid "Unknown Command. Try /help\n" +msgstr "Komando ezezaguna. Saiatu /help ekin\n" + +#: src/common/plugin.c:359 src/common/plugin.c:400 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "" + +#: src/common/server.c:586 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Ziur zaude SSL erabiltzeko gai den zerbitzari eta ataka dela?\n" + +#: src/common/server.c:933 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Ezin da ebatzi %s ostalari-izena\n" +"Egiaztatu zure IP ezarpenak!\n" + +#: src/common/server.c:938 +msgid "Proxy traversal failed.\n" +msgstr "Proxy trasbersalak huts egin du.\n" + +#: src/common/servlist.c:642 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Hurrengo zerbitzarira %s-n ziklatzen...\n" + +#: src/common/servlist.c:1050 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Oharra: \"%s\" karaktere-jokoa ezezaguna da. Ez da konbertsiorik aplikatu %s sarearentzat." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%O%C11$1%O notifikazio zerrendara gehitua." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Debekatu zerrenda:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "" + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 orain $2 bezala ezaguna" + +#: src/common/textevents.h:21 +msgid "%C18*$t$1%O $2" +msgstr "%C18*$t$1%O $2" + +#: src/common/textevents.h:24 +msgid "%C21*%O$t%C21%B$1%O%C21 $2" +msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UKanala Erabiltzaileak Gaia" + +#: src/common/textevents.h:54 +msgid "%C18%B%B$4$1%O%C18%O$t$2" +msgstr "%C18%B%B$4$1%O%C18%O$t$2" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "" + +#: src/common/textevents.h:63 +msgid "$4%C21%B$1%O$t%C21$2" +msgstr "%C2<%O$1%C2>%O$t$2%O" + +#: src/common/textevents.h:66 +msgid "%C28-%C29$1/$2%C28-%O$t$3" +msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1-k gonbidapena kentzen dio $2(r)i" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1-k debekua kentzen dio honi $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Konektatua. Orain saioa hasten..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Hona konektatzen $1 ($2) ataka $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Konexioak huts egin du. Errorea: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "" + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "" + +#: src/common/textevents.h:129 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "" + +#: src/common/textevents.h:141 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "" + +#: src/common/textevents.h:144 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "" + +#: src/common/textevents.h:147 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "" + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "" + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "" + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O honengandik%C26 $3%O huts egin du ($4)." + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "" + +#: src/common/textevents.h:168 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "" + +#: src/common/textevents.h:171 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "" + +#: src/common/textevents.h:174 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "" + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "" + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "" + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "" + +#: src/common/textevents.h:186 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "" + +#: src/common/textevents.h:189 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "" + +#: src/common/textevents.h:195 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%O%C11$1%O notifikazio zerrendatik kendua." + +#: src/common/textevents.h:198 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tDeskonektatua ($1)." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tZure IPa aurkitu da: [$1]" + +#: src/common/textevents.h:204 +msgid "$1$t$2" +msgstr "$1$t$2" + +#: src/common/textevents.h:207 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O ezikusien zerrendara gehitua." + +#: src/common/textevents.h:210 +msgid "Ignore on %C26$1%O changed." +msgstr " %C26$1%O -ri ignoraketa egoera aldatu da." + +#: src/common/textevents.h:213 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 ostalariaren maskara PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:219 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C11$1%O notifikazio zerrendatik kendua." + +#: src/common/textevents.h:222 +msgid " Ignore list is empty." +msgstr " Ezikuzien zerrenda hutsik dago." + +#: src/common/textevents.h:225 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "" + +#: src/common/textevents.h:228 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "" + +#: src/common/textevents.h:231 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) gehitu da $2" + +#: src/common/textevents.h:234 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "" + +#: src/common/textevents.h:237 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 -(e)k $2 kaleratu du hemendik $3 ($4%O%C21)" + +#: src/common/textevents.h:240 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tHonek hil zaitu $1 ($2%O%C22)" + +#: src/common/textevents.h:243 +msgid "%C19>%O$1%C19<%O$t$2%O" +msgstr "%C19>%O$1%C19<%O$t$2%O" + +#: src/common/textevents.h:246 +msgid "%C16*%O$t$1%O" +msgstr "%C16*%O$t$1%O" + +#: src/common/textevents.h:249 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD saltatua." + +#: src/common/textevents.h:252 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 une hontan erabilia. $2-(r)ekin saiatzen..." + +#: src/common/textevents.h:255 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:264 +msgid "%C28-%C29$1%C28-%O$t$2" +msgstr "%C28-%C29$1%C28-%O$t$2" + +#: src/common/textevents.h:267 +msgid "%C19>%O$1%C19<%O$t$2" +msgstr "%C19>%O$1%C19<%O$t$2" + +#: src/common/textevents.h:270 +msgid "$tNotify list is empty." +msgstr "$tNotifikazio zerrenda hutsik dago." + +#: src/common/textevents.h:273 +msgid "%C24,18 %B Notify List " +msgstr "" + +#: src/common/textevents.h:276 +msgid "%C22*%O$t$1 users in notify list." +msgstr "" + +#: src/common/textevents.h:279 +msgid "%C22*%O$tNotify: $1 is offline ($2)." +msgstr "" + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is online ($2)." +msgstr "" + +#: src/common/textevents.h:288 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "" + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23$4)" +msgstr "" + +#: src/common/textevents.h:294 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:300 +msgid "%C28*%C29$3$1%C28*$t%O$2" +msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#: src/common/textevents.h:303 +msgid "%C18%B%B$3$1%O$t$2" +msgstr "%C18%B%B$3$1%O$t$2" + +#: src/common/textevents.h:306 +msgid "%C22*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:309 +msgid "%C23*%O$t%C23$1 has quit (%O%C23$2)" +msgstr "" + +#: src/common/textevents.h:312 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "" + +#: src/common/textevents.h:315 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:318 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "" + +#: src/common/textevents.h:321 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Konektatua." + +#: src/common/textevents.h:324 src/common/textevents.h:330 +#: src/common/textevents.h:333 +msgid "%C22*%O$t$1" +msgstr "%C22*%O$t$1" + +#: src/common/textevents.h:327 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "" + +#: src/common/textevents.h:336 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "" + +#: src/common/textevents.h:339 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1-k gaia honakora aldatu du: $2" + +#: src/common/textevents.h:348 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "" + +#: src/common/textevents.h:354 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "" + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "" + +#: src/common/textevents.h:360 src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:366 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:372 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "" + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:387 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Orain hemen hitz egiten $2" + +#: src/common/textevents.h:390 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "" + +#: src/common/textevents.h:393 +msgid "%C23*$tYou have left channel $3 (%O%C23$4%O%C23)" +msgstr "" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "" + +#: src/common/textevents.h:399 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tHau gonbidatu duzu%C26 $1%O hona%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:402 +msgid "%C31%B%B$4$1%O$t%C30$2" +msgstr "" + +#: src/common/textevents.h:405 +msgid "%C22*%O$tYou are now known as $2" +msgstr "" + +#: src/common/text.c:207 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:324 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** %s-n SAIOA HASTEN\n" + +#: src/common/text.c:343 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Ezin ireki log fitxategia(k) idazteko. Egiaztatu\n" +" baimenak %s/xchatlogs-en" + +#: src/common/text.c:558 +msgid "Left message" +msgstr "Ezkerreko mezua" + +#: src/common/text.c:559 +msgid "Right message" +msgstr "Eskuineko mezua" + +#: src/common/text.c:563 +msgid "The nick of the joining person" +msgstr "Sartu den pertsonaren ezizena" + +#: src/common/text.c:564 +msgid "The channel being joined" +msgstr "Sartzen hari den kanala" + +#: src/common/text.c:565 src/common/text.c:610 src/common/text.c:667 +msgid "The host of the person" +msgstr "Pertsonaren ostalaria" + +#: src/common/text.c:569 src/common/text.c:574 src/common/text.c:581 +#: src/common/text.c:648 src/common/text.c:773 src/common/text.c:780 +#: src/common/text.c:785 src/common/text.c:790 src/common/text.c:795 +#: src/common/text.c:801 src/common/text.c:806 src/common/text.c:810 +#: src/common/text.c:815 src/common/text.c:821 src/common/text.c:867 +#: src/common/text.c:876 src/common/text.c:881 src/common/text.c:886 +#: src/common/text.c:895 src/common/text.c:906 src/common/text.c:913 +#: src/common/text.c:919 src/common/text.c:924 src/common/text.c:929 +#: src/common/text.c:936 src/common/text.c:942 src/common/text.c:948 +#: src/common/text.c:953 src/common/text.c:958 src/common/text.c:962 +#: src/common/text.c:968 src/common/text.c:976 src/common/text.c:1010 +#: src/common/text.c:1015 +msgid "Nickname" +msgstr "Ezizena" + +#: src/common/text.c:570 +msgid "The action" +msgstr "akzioa" + +#: src/common/text.c:575 +msgid "The text" +msgstr "Testua" + +#: src/common/text.c:576 +msgid "Mode char" +msgstr "" + +#: src/common/text.c:577 src/common/text.c:650 +msgid "Identified text" +msgstr "Identifikatutako testua" + +#: src/common/text.c:582 src/common/text.c:638 src/common/text.c:644 +#: src/common/text.c:649 +msgid "The message" +msgstr "Mezua" + +#: src/common/text.c:586 src/common/text.c:654 +msgid "Old nickname" +msgstr "Ezizen zaharra" + +#: src/common/text.c:587 src/common/text.c:655 +msgid "New nickname" +msgstr "Ezizen berria" + +#: src/common/text.c:591 +msgid "Nick of person who changed the topic" +msgstr "Gaia aldatu duenaren ezizena" + +#: src/common/text.c:592 src/common/text.c:598 src/fe-gtk/chanlist.c:599 +#: src/fe-gtk/chanlist.c:700 +msgid "Topic" +msgstr "Gaia" + +#: src/common/text.c:593 src/common/text.c:597 src/common/text.c:1030 +#: src/fe-gtk/chanlist.c:597 src/fe-gtk/chanlist.c:691 +#: src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Kanala" + +#: src/common/text.c:602 src/common/text.c:661 +msgid "The nickname of the kicker" +msgstr "Bidaltzailearen ezizena" + +#: src/common/text.c:603 src/common/text.c:659 +msgid "The person being kicked" +msgstr "Kaleratuko den pertsona" + +#: src/common/text.c:604 src/common/text.c:611 src/common/text.c:615 +#: src/common/text.c:620 src/common/text.c:660 src/common/text.c:668 +msgid "The channel" +msgstr "Kanala" + +#: src/common/text.c:605 src/common/text.c:662 src/common/text.c:669 +msgid "The reason" +msgstr "Arrazoia" + +#: src/common/text.c:609 src/common/text.c:666 +msgid "The nick of the person leaving" +msgstr "Irten den pertsonaren ezizena" + +#: src/common/text.c:616 src/common/text.c:622 +msgid "The time" +msgstr "Ordua" + +#: src/common/text.c:621 +msgid "The creator" +msgstr "Sortzailea" + +#: src/common/text.c:626 +msgid "Nick" +msgstr "Ezizena" + +#: src/common/text.c:627 src/common/text.c:882 +msgid "Reason" +msgstr "Arrazoia" + +#: src/common/text.c:628 src/common/text.c:775 src/common/text.c:857 +msgid "Host" +msgstr "Ostalaria" + +#: src/common/text.c:632 src/common/text.c:637 src/common/text.c:642 +msgid "Who it's from" +msgstr "Norengandik den" + +#: src/common/text.c:633 +msgid "The time in x.x format (see below)" +msgstr "Ordua x.x formatuan (ikusi azpian)" + +#: src/common/text.c:643 src/common/text.c:685 +msgid "The Channel it's going to" +msgstr "Kanalean hau gertatuko da" + +#: src/common/text.c:673 +msgid "The sound" +msgstr "Soinua" + +#: src/common/text.c:674 src/common/text.c:679 src/common/text.c:684 +msgid "The nick of the person" +msgstr "Pertsonaren ezizena" + +#: src/common/text.c:678 src/common/text.c:683 +msgid "The CTCP event" +msgstr "CTCP gertaera" + +#: src/common/text.c:689 +msgid "The nick of the person who set the key" +msgstr "Pasahitza jarri duenaren ezizena" + +#: src/common/text.c:690 +msgid "The key" +msgstr "Giltza" + +#: src/common/text.c:694 +msgid "The nick of the person who set the limit" +msgstr "Muga jarri duenaren ezizena" + +#: src/common/text.c:695 +msgid "The limit" +msgstr "Muga" + +#: src/common/text.c:699 +msgid "The nick of the person who did the op'ing" +msgstr "Op egoera eman duen pertsonaren ezizena" + +#: src/common/text.c:700 +msgid "The nick of the person who has been op'ed" +msgstr "Op egoera eman zaion pertsonaren ezizena" + +#: src/common/text.c:704 +msgid "The nick of the person who has been halfop'ed" +msgstr "Erdi-Op egoera eman zaion pertsonaren ezizena" + +#: src/common/text.c:705 +msgid "The nick of the person who did the halfop'ing" +msgstr "Erdi-Op egoera eman duen pertsonaren ezizena" + +#: src/common/text.c:709 +msgid "The nick of the person who did the voice'ing" +msgstr "Ahotsa eman duen pertsonaren ezizena" + +#: src/common/text.c:710 +msgid "The nick of the person who has been voice'ed" +msgstr "Ahotsa eman zaion pertsonaren ezizena" + +#: src/common/text.c:714 +msgid "The nick of the person who did the banning" +msgstr "" + +#: src/common/text.c:715 src/common/text.c:742 +msgid "The ban mask" +msgstr "Debekuaren maskara" + +#: src/common/text.c:719 +msgid "The nick who removed the key" +msgstr "Pasahitza kendu duenaren ezizena" + +#: src/common/text.c:723 +msgid "The nick who removed the limit" +msgstr "Muga ezabatu duenaren ezizena" + +#: src/common/text.c:727 +msgid "The nick of the person of did the deop'ing" +msgstr "" + +#: src/common/text.c:728 +msgid "The nick of the person who has been deop'ed" +msgstr "Op egoera kendu zaion pertsonaren ezizena" + +#: src/common/text.c:731 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:732 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Erdi-Op egoera kendu zaion pertsonaren ezizena" + +#: src/common/text.c:736 +msgid "The nick of the person of did the devoice'ing" +msgstr "" + +#: src/common/text.c:737 +msgid "The nick of the person who has been devoice'ed" +msgstr "Ahotsa kendu zaion pertsonaren ezizena" + +#: src/common/text.c:741 +msgid "The nick of the person of did the unban'ing" +msgstr "" + +#: src/common/text.c:746 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:747 src/common/text.c:752 +msgid "The exempt mask" +msgstr "" + +#: src/common/text.c:751 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:756 +msgid "The nick of the person who did the invite" +msgstr "Gonbidapena luzatu duen pertsonaren ezizena" + +#: src/common/text.c:757 src/common/text.c:762 +msgid "The invite mask" +msgstr "Gonbidapenaren maskara" + +#: src/common/text.c:761 +msgid "The nick of the person removed the invite" +msgstr "" + +#: src/common/text.c:766 +msgid "The nick of the person setting the mode" +msgstr "" + +#: src/common/text.c:767 +msgid "The mode's sign (+/-)" +msgstr "Egoeraren seinua (+/-)" + +#: src/common/text.c:768 +msgid "The mode letter" +msgstr "Egoeraren letra" + +#: src/common/text.c:769 +msgid "The channel it's being set on" +msgstr "Kanala honela ezarriko da" + +#: src/common/text.c:774 +msgid "Username" +msgstr "Erabiltzaile izena" + +#: src/common/text.c:776 +msgid "Full name" +msgstr "Izen osoa" + +#: src/common/text.c:781 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Kanaleko kidea /\"IRC operatzaile bat da\"" + +#: src/common/text.c:786 +msgid "Server Information" +msgstr "Zerbitzariaren informazioa" + +#: src/common/text.c:791 src/common/text.c:796 +msgid "Idle time" +msgstr "Inaktibitate denbora" + +#: src/common/text.c:797 +msgid "Signon time" +msgstr "Konektatutako ordua" + +#: src/common/text.c:802 +msgid "Away reason" +msgstr "Aldentzearen arrazoia" + +#: src/common/text.c:811 src/common/text.c:816 src/common/text.c:824 +#: src/common/text.c:1002 +msgid "Message" +msgstr "Mezua" + +#: src/common/text.c:817 +msgid "Account" +msgstr "Kontua" + +#: src/common/text.c:822 +msgid "Real user@host" +msgstr "Benetazko erabiltzaile@ostalaria" + +#: src/common/text.c:823 +msgid "Real IP" +msgstr "Benetazko IPa" + +#: src/common/text.c:828 src/common/text.c:837 src/common/text.c:843 +#: src/common/text.c:1025 +msgid "Channel Name" +msgstr "Kanalaren izena" + +#: src/common/text.c:832 src/common/text.c:988 src/fe-gtk/textgui.c:338 +msgid "Text" +msgstr "Testua" + +#: src/common/text.c:833 src/common/text.c:839 src/common/text.c:1026 +msgid "Server Name" +msgstr "Zerbitzariaren izena" + +#: src/common/text.c:838 +msgid "Nick of person who invited you" +msgstr "Gonbidatu zaituenaren ezizena" + +#: src/common/text.c:844 src/fe-gtk/chanlist.c:598 +msgid "Users" +msgstr "Erabiltzaileak" + +#: src/common/text.c:848 +msgid "Nickname in use" +msgstr "Ezizena erabilita" + +#: src/common/text.c:849 +msgid "Nick being tried" +msgstr "Saiatzen hari den ezizena" + +#: src/common/text.c:853 src/common/text.c:889 src/common/text.c:900 +#: src/common/text.c:907 src/common/text.c:920 src/common/text.c:937 +#: src/common/text.c:1037 src/common/util.c:351 +msgid "Error" +msgstr "Errorea" + +#: src/common/text.c:858 src/common/text.c:992 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:859 src/common/text.c:888 +msgid "Port" +msgstr "Ataka" + +#: src/common/text.c:863 +msgid "PID" +msgstr "PID" + +#: src/common/text.c:871 +msgid "Channel name" +msgstr "Kanalaren izena" + +#: src/common/text.c:872 src/common/text.c:877 +msgid "Modes string" +msgstr "" + +#: src/common/text.c:887 src/common/text.c:925 src/common/text.c:930 +#: src/common/text.c:971 +msgid "IP address" +msgstr "IP helbidea" + +#: src/common/text.c:893 src/common/text.c:918 +msgid "DCC Type" +msgstr "DCC mota" + +#: src/common/text.c:894 src/common/text.c:899 src/common/text.c:904 +#: src/common/text.c:911 src/common/text.c:931 src/common/text.c:935 +#: src/common/text.c:941 src/common/text.c:947 src/common/text.c:954 +#: src/common/text.c:963 src/common/text.c:969 +msgid "Filename" +msgstr "Fitxategi-izena" + +#: src/common/text.c:905 src/common/text.c:912 +msgid "Destination filename" +msgstr "Helmuga fitxategia" + +#: src/common/text.c:914 src/common/text.c:943 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:949 +msgid "Pathname" +msgstr "Bide-izena" + +#: src/common/text.c:964 src/fe-gtk/dccgui.c:490 src/fe-gtk/dccgui.c:647 +msgid "Position" +msgstr "Posizioa" + +#: src/common/text.c:970 src/fe-gtk/dccgui.c:489 src/fe-gtk/dccgui.c:646 +msgid "Size" +msgstr "Tamainua" + +#: src/common/text.c:975 +msgid "DCC String" +msgstr "DCC katea" + +#: src/common/text.c:980 +msgid "Number of notify items" +msgstr "Notifikazio kopurua" + +#: src/common/text.c:984 +msgid "Servername" +msgstr "Zerbitzeriaren izena" + +#: src/common/text.c:996 +msgid "Old Filename" +msgstr "Fitxategi zaharra" + +#: src/common/text.c:997 +msgid "New Filename" +msgstr "Fitxategi berria" + +#: src/common/text.c:1001 +msgid "Receiver" +msgstr "Jasotzailea" + +#: src/common/text.c:1006 +msgid "Hostmask" +msgstr "Ostalariaren maskara" + +#: src/common/text.c:1011 +msgid "Hostname" +msgstr "Ostalariaren izena" + +#: src/common/text.c:1016 +msgid "The Packet" +msgstr "Paketea" + +#: src/common/text.c:1020 +msgid "Seconds" +msgstr "Segunduak" + +#: src/common/text.c:1024 +msgid "Nick of person who have been invited" +msgstr "Gonbidatua izan denaren ezizena" + +#: src/common/text.c:1031 +msgid "Banmask" +msgstr "Debeku maskara" + +#: src/common/text.c:1032 +msgid "Who set the ban" +msgstr "Nork ezarri duen debekua" + +#: src/common/text.c:1033 +msgid "Ban time" +msgstr "Debekuaren denbora" + +#: src/common/text.c:1073 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" + +#: src/common/text.c:1708 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Ezin da soinu fitxategia irakurri:\n" +"%s" + +#: src/common/util.c:295 +msgid "Remote host closed socket" +msgstr "Ostalari urrunak socket-a itxi du" + +#: src/common/util.c:300 +msgid "Connection refused" +msgstr "Konexio ukatua" + +#: src/common/util.c:303 +msgid "No route to host" +msgstr "Ez dago biderik ostalariraino" + +#: src/common/util.c:305 +msgid "Connection timed out" +msgstr "Konexioa denboraz kanpo" + +#: src/common/util.c:307 +msgid "Cannot assign that address" +msgstr "Ezin da helbide hori eman" + +#: src/common/util.c:309 +msgid "Connection reset by peer" +msgstr "Konexioa bikoteak berrezarria" + +#: src/common/util.c:800 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:801 +msgid "United Arab Emirates" +msgstr "Arabiar Emirerri Batuak" + +#: src/common/util.c:802 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:803 +msgid "Antigua and Barbuda" +msgstr "Antigua eta Barbuda" + +#: src/common/util.c:804 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:805 +msgid "Albania" +msgstr "Albania" + +#: src/common/util.c:806 +msgid "Armenia" +msgstr "Armenia" + +#: src/common/util.c:807 +msgid "Netherlands Antilles" +msgstr "Antilla Nederlandarrak" + +#: src/common/util.c:808 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:809 +msgid "Antarctica" +msgstr "Antarktika" + +#: src/common/util.c:810 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:811 +msgid "Reverse DNS" +msgstr "Alderantzizko DNSa" + +#: src/common/util.c:812 +msgid "American Samoa" +msgstr "Samoa Estatubatuarra" + +#: src/common/util.c:813 +msgid "Austria" +msgstr "Austria" + +#: src/common/util.c:814 +msgid "Nato Fiel" +msgstr "" + +#: src/common/util.c:815 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:816 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:817 +msgid "Azerbaijan" +msgstr "Azerbaijan" + +#: src/common/util.c:818 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia-Herzegovina" + +#: src/common/util.c:819 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:820 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:821 +msgid "Belgium" +msgstr "Belgika" + +#: src/common/util.c:822 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:823 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: src/common/util.c:824 +msgid "Bahrain" +msgstr "Bahrein" + +#: src/common/util.c:825 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:826 +msgid "Businesses" +msgstr "Negozioak" + +#: src/common/util.c:827 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:828 +msgid "Bermuda" +msgstr "Bermudak" + +#: src/common/util.c:829 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:830 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:831 +msgid "Brazil" +msgstr "Brasil" + +#: src/common/util.c:832 +msgid "Bahamas" +msgstr "Bahamak" + +#: src/common/util.c:833 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:834 +msgid "Bouvet Island" +msgstr "Bouvet Uhartea" + +#: src/common/util.c:835 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:836 +msgid "Belarus" +msgstr "Bielorrusia" + +#: src/common/util.c:837 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:838 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:839 +msgid "Cocos Islands" +msgstr "Cocos Uharteak" + +#: src/common/util.c:840 +msgid "Central African Republic" +msgstr "Ertafrikar Errepublika" + +#: src/common/util.c:841 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:842 +msgid "Switzerland" +msgstr "Suitza" + +#: src/common/util.c:843 +#, fuzzy +msgid "Cote d'Ivoire" +msgstr "Bolikosta" + +#: src/common/util.c:844 +msgid "Cook Islands" +msgstr "Cook Uharteak" + +#: src/common/util.c:845 +msgid "Chile" +msgstr "Txile" + +#: src/common/util.c:846 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:847 +msgid "China" +msgstr "Txina" + +#: src/common/util.c:848 +msgid "Colombia" +msgstr "Kolombia" + +#: src/common/util.c:849 +msgid "Internic Commercial" +msgstr "Internic Komertziala" + +#: src/common/util.c:850 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:851 +msgid "Former Czechoslovakia" +msgstr "Txekiar Errepublika" + +#: src/common/util.c:852 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:853 +msgid "Cape Verde" +msgstr "Cabo Verde" + +#: src/common/util.c:854 +msgid "Christmas Island" +msgstr "Christmas Uhartea" + +#: src/common/util.c:855 +msgid "Cyprus" +msgstr "Txipre" + +#: src/common/util.c:856 +msgid "Czech Republic" +msgstr "Txekiar Errepublika" + +#: src/common/util.c:857 +msgid "Germany" +msgstr "Alemania" + +#: src/common/util.c:858 +msgid "Djibouti" +msgstr "Djituti" + +#: src/common/util.c:859 +msgid "Denmark" +msgstr "Danimarka" + +#: src/common/util.c:860 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:861 +msgid "Dominican Republic" +msgstr "Dominikar Errepublika" + +#: src/common/util.c:862 +msgid "Algeria" +msgstr "Algeria" + +#: src/common/util.c:863 +msgid "Ecuador" +msgstr "Ekuador" + +#: src/common/util.c:864 +msgid "Educational Institution" +msgstr "Instituzio Edukatiboa" + +#: src/common/util.c:865 +msgid "Estonia" +msgstr "Estonia" + +#: src/common/util.c:866 +msgid "Egypt" +msgstr "Egipto" + +#: src/common/util.c:867 +msgid "Western Sahara" +msgstr "Mendebaldeko Sahara" + +#: src/common/util.c:868 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:869 +msgid "Spain" +msgstr "Espainia" + +#: src/common/util.c:870 +msgid "Ethiopia" +msgstr "Etiopia" + +#: src/common/util.c:871 +msgid "Finland" +msgstr "Finlandia" + +#: src/common/util.c:872 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:873 +msgid "Falkland Islands" +msgstr "Malvina Uharteak (Falkland)" + +#: src/common/util.c:874 +msgid "Micronesia" +msgstr "Maine" + +#: src/common/util.c:875 +msgid "Faroe Islands" +msgstr "Faroe Uharteak" + +#: src/common/util.c:876 +msgid "France" +msgstr "Frantzia" + +#: src/common/util.c:877 +msgid "France, Metropolitan" +msgstr "Frantzia, Metropolitanoa" + +#: src/common/util.c:878 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:879 +msgid "Great Britain" +msgstr "Britania Handia" + +#: src/common/util.c:880 +msgid "Grenada" +msgstr "Granada" + +#: src/common/util.c:881 +msgid "Georgia" +msgstr "Georgia" + +#: src/common/util.c:882 +msgid "French Guiana" +msgstr "Guyana Frantsesa" + +#: src/common/util.c:883 +msgid "British Channel Isles" +msgstr "Channel Uharte Britaniarrak" + +#: src/common/util.c:884 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:885 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:886 +msgid "Greenland" +msgstr "Groenlandia" + +#: src/common/util.c:887 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:888 +msgid "Guinea" +msgstr "Ginea" + +#: src/common/util.c:889 +msgid "Government" +msgstr "Gobernua" + +#: src/common/util.c:890 +msgid "Guadeloupe" +msgstr "Guadelupe" + +#: src/common/util.c:891 +msgid "Equatorial Guinea" +msgstr "Ekuatore-Ginea" + +#: src/common/util.c:892 +msgid "Greece" +msgstr "Grezia" + +#: src/common/util.c:893 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Hegoaldeko Georgia eta Hegoaldeko Sandwich Uharteak" + +#: src/common/util.c:894 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:895 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:896 +msgid "Guinea-Bissau" +msgstr "Ginea Bissau" + +#: src/common/util.c:897 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:898 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:899 +msgid "Heard and McDonald Islands" +msgstr "Heard Uhartea eta McDonald Uharteak" + +#: src/common/util.c:900 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:901 +msgid "Croatia" +msgstr "Kroazia" + +#: src/common/util.c:902 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:903 +msgid "Hungary" +msgstr "Hungaria" + +#: src/common/util.c:904 +msgid "Indonesia" +msgstr "Indonesia" + +#: src/common/util.c:905 +msgid "Ireland" +msgstr "Irlanda" + +#: src/common/util.c:906 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:907 +msgid "India" +msgstr "India" + +#: src/common/util.c:908 +msgid "Informational" +msgstr "Informatiboa" + +#: src/common/util.c:909 +msgid "International" +msgstr "Internazionala" + +#: src/common/util.c:910 +msgid "British Indian Ocean Territory" +msgstr "Indiar Ozeanoko Lurralde Britainiarra" + +#: src/common/util.c:911 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:912 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:913 +msgid "Iceland" +msgstr "Islandia" + +#: src/common/util.c:914 +msgid "Italy" +msgstr "Italia" + +#: src/common/util.c:915 +msgid "Jamaica" +msgstr "Jamaika" + +#: src/common/util.c:916 +msgid "Jordan" +msgstr "Jordania" + +#: src/common/util.c:917 +msgid "Japan" +msgstr "Japonia" + +#: src/common/util.c:918 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:919 +msgid "Kyrgyzstan" +msgstr "Kirgizstan" + +#: src/common/util.c:920 +msgid "Cambodia" +msgstr "Kanbodia" + +#: src/common/util.c:921 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:922 +msgid "Comoros" +msgstr "Komoreak" + +#: src/common/util.c:923 +msgid "St. Kitts and Nevis" +msgstr "Saint Kitts eta Nevis" + +#: src/common/util.c:924 +msgid "North Korea" +msgstr "Korea, Herri-Errepublika Demokratikoa (Ipar Korea)" + +#: src/common/util.c:925 +msgid "South Korea" +msgstr "Korea Errepublika (Hego Korea)" + +#: src/common/util.c:926 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:927 +msgid "Cayman Islands" +msgstr "Cayman Uharteak" + +#: src/common/util.c:928 +msgid "Kazakhstan" +msgstr "Kazakhstan" + +#: src/common/util.c:929 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:930 +msgid "Lebanon" +msgstr "Libano" + +#: src/common/util.c:931 +msgid "Saint Lucia" +msgstr "Santa Luzia" + +#: src/common/util.c:932 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:933 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:934 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:935 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:936 +msgid "Lithuania" +msgstr "Lituania" + +#: src/common/util.c:937 +msgid "Luxembourg" +msgstr "Luxemburgo" + +#: src/common/util.c:938 +msgid "Latvia" +msgstr "Letonia" + +#: src/common/util.c:939 +msgid "Libya" +msgstr "Liberia" + +#: src/common/util.c:940 +msgid "Morocco" +msgstr "Maroko" + +#: src/common/util.c:941 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:942 +msgid "Moldova" +msgstr "Moldavia" + +#: src/common/util.c:943 +msgid "United States Medical" +msgstr "Estatu Batuak Medizinala" + +#: src/common/util.c:944 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:945 +msgid "Marshall Islands" +msgstr "Marshall Uharteak" + +#: src/common/util.c:946 +msgid "Military" +msgstr "Militarra" + +#: src/common/util.c:947 +msgid "Macedonia" +msgstr "Macedonia" + +#: src/common/util.c:948 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:949 +msgid "Myanmar" +msgstr "Birmania" + +#: src/common/util.c:950 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:951 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:952 +msgid "Northern Mariana Islands" +msgstr "Iparraldeko Mariana Uharteak" + +#: src/common/util.c:953 +msgid "Martinique" +msgstr "Martinika" + +#: src/common/util.c:954 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:955 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:956 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:957 +msgid "Mauritius" +msgstr "Maurizio" + +#: src/common/util.c:958 +msgid "Maldives" +msgstr "Mali" + +#: src/common/util.c:959 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:960 +msgid "Mexico" +msgstr "Mexiko" + +#: src/common/util.c:961 +msgid "Malaysia" +msgstr "Malaysia" + +#: src/common/util.c:962 +msgid "Mozambique" +msgstr "Mozambike" + +#: src/common/util.c:963 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:964 +msgid "New Caledonia" +msgstr "Kaledonia Berria" + +#: src/common/util.c:965 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:966 +msgid "Internic Network" +msgstr "Internic Sarea" + +#: src/common/util.c:967 +msgid "Norfolk Island" +msgstr "Norfolk Uhartea" + +#: src/common/util.c:968 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:969 +msgid "Nicaragua" +msgstr "Nikaragua" + +#: src/common/util.c:970 +msgid "Netherlands" +msgstr "Herbereak" + +#: src/common/util.c:971 +msgid "Norway" +msgstr "Norvegia" + +#: src/common/util.c:972 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:973 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:974 +msgid "Neutral Zone" +msgstr "Eremu neutrala" + +#: src/common/util.c:975 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:976 +msgid "New Zealand" +msgstr "Zeelanda Berria" + +#: src/common/util.c:977 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:978 +msgid "Internic Non-Profit Organization" +msgstr "Papua Ginea Berria" + +#: src/common/util.c:979 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:980 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:981 +msgid "French Polynesia" +msgstr "Polinesia Frantsesa" + +#: src/common/util.c:982 +msgid "Papua New Guinea" +msgstr "Papua Ginea Berria" + +#: src/common/util.c:983 +msgid "Philippines" +msgstr "Filipinak" + +#: src/common/util.c:984 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:985 +msgid "Poland" +msgstr "Polonia" + +#: src/common/util.c:986 +msgid "St. Pierre and Miquelon" +msgstr "Saint Pierre eta Miquelon" + +#: src/common/util.c:987 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:988 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:989 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:990 +msgid "Palau" +msgstr "Belau (lehen Palaos)" + +#: src/common/util.c:991 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:992 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:993 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:994 +msgid "Romania" +msgstr "Errumania" + +#: src/common/util.c:995 +msgid "Old School ARPAnet" +msgstr "ARPAnet zaharra" + +#: src/common/util.c:996 +msgid "Russian Federation" +msgstr "Errusiako Federazioa" + +#: src/common/util.c:997 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:998 +msgid "Saudi Arabia" +msgstr "Saudi Arabia" + +#: src/common/util.c:999 +msgid "Solomon Islands" +msgstr "Salomon Uharteak" + +#: src/common/util.c:1000 +msgid "Seychelles" +msgstr "Seychelleak" + +#: src/common/util.c:1001 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:1002 +msgid "Sweden" +msgstr "Suedia" + +#: src/common/util.c:1003 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:1004 +msgid "St. Helena" +msgstr "Santa Elena" + +#: src/common/util.c:1005 +msgid "Slovenia" +msgstr "Eslovenia" + +#: src/common/util.c:1006 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard eta Jan Mayen Uharteak" + +#: src/common/util.c:1007 +msgid "Slovak Republic" +msgstr "Eslovakia" + +#: src/common/util.c:1008 +msgid "Sierra Leone" +msgstr "Sierra Leona" + +#: src/common/util.c:1009 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:1010 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:1011 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:1012 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:1013 +msgid "Sao Tome and Principe" +msgstr "Sao Tome eta Printze" + +#: src/common/util.c:1014 +msgid "Former USSR" +msgstr "Lehenago USSR" + +#: src/common/util.c:1015 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:1016 +msgid "Syria" +msgstr "Siria" + +#: src/common/util.c:1017 +msgid "Swaziland" +msgstr "Swazilandia" + +#: src/common/util.c:1018 +msgid "Turks and Caicos Islands" +msgstr "Turk eta Caicoak Uharteak" + +#: src/common/util.c:1019 +msgid "Chad" +msgstr "Txad" + +#: src/common/util.c:1020 +msgid "French Southern Territories" +msgstr "Hegoaldeko Lurralde Frantsesak" + +#: src/common/util.c:1021 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:1022 +msgid "Thailand" +msgstr "Tailandia" + +#: src/common/util.c:1023 +msgid "Tajikistan" +msgstr "Tadjikistan" + +#: src/common/util.c:1024 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1025 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:1026 +msgid "Tunisia" +msgstr "Tunisia" + +#: src/common/util.c:1027 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:1028 +msgid "East Timor" +msgstr "Ekialdeko Timor" + +#: src/common/util.c:1029 +msgid "Turkey" +msgstr "Turkia" + +#: src/common/util.c:1030 +msgid "Trinidad and Tobago" +msgstr "Trinidad eta Tobago" + +#: src/common/util.c:1031 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1032 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:1033 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:1034 +msgid "Ukraine" +msgstr "Ukraina" + +#: src/common/util.c:1035 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:1036 +msgid "United Kingdom" +msgstr "Erresuma Batua" + +#: src/common/util.c:1037 +msgid "US Minor Outlying Islands" +msgstr "United States Minor Outlying Islands" + +#: src/common/util.c:1038 +msgid "United States of America" +msgstr "Amerikako Estatu Batuak" + +#: src/common/util.c:1039 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:1040 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:1041 +msgid "Vatican City State" +msgstr "Vatikanoko Hiria" + +#: src/common/util.c:1042 +msgid "St. Vincent and the Grenadines" +msgstr "San Bizente eta Grenadinak" + +#: src/common/util.c:1043 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:1044 +msgid "British Virgin Islands" +msgstr "Birjina Uharteak (Err. Ba.)" + +#: src/common/util.c:1045 +msgid "US Virgin Islands" +msgstr "Birjina Uharteak (EEBB)" + +#: src/common/util.c:1046 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:1047 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1048 +msgid "Wallis and Futuna Islands" +msgstr "Wallis and Futuna Uharteak" + +#: src/common/util.c:1049 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1050 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:1051 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:1052 +msgid "Yugoslavia" +msgstr "Jugoslavia" + +#: src/common/util.c:1053 +msgid "South Africa" +msgstr "Hegoafrikar Errepublika" + +#: src/common/util.c:1054 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:1055 +msgid "Zaire" +msgstr "Zaire" + +#: src/common/util.c:1056 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/util.c:1062 src/common/util.c:1072 src/fe-gtk/menu.c:513 +#: src/fe-gtk/menu.c:517 src/fe-gtk/menu.c:521 src/fe-gtk/menu.c:525 +#: src/fe-gtk/menu.c:529 +msgid "Unknown" +msgstr "Ezezaguna" + +#: src/common/xchat.c:923 +msgid "Direct client-to-client" +msgstr "Bezerotik-bezerora zuzenean" + +#: src/common/xchat.c:924 +msgid "Send File" +msgstr "Bidali fitxategia" + +#: src/common/xchat.c:925 +msgid "Offer Chat" +msgstr "Eskeini berriketa" + +#: src/common/xchat.c:926 +msgid "Abort Chat" +msgstr "Abortatu berriketa" + +#: src/common/xchat.c:927 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Bertsioa" + +#: src/common/xchat.c:928 +msgid "Userinfo" +msgstr "Erabiltzailearen Informazioa" + +#: src/common/xchat.c:929 +msgid "Clientinfo" +msgstr "Bezeroaren informazioa" + +#: src/common/xchat.c:930 src/common/xchat.c:964 src/common/xchat.c:1015 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:931 +msgid "Time" +msgstr "Ordua" + +#: src/common/xchat.c:932 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:933 +msgid "Oper" +msgstr "Operatzailea" + +#: src/common/xchat.c:934 +msgid "Kill this user" +msgstr "Hil erabiltzaile hau" + +#: src/common/xchat.c:935 +msgid "Mode" +msgstr "Modua" + +#: src/common/xchat.c:936 +msgid "Give Ops" +msgstr "Eman Opak" + +#: src/common/xchat.c:937 +msgid "Take Ops" +msgstr "Hartu Op" + +#: src/common/xchat.c:938 +msgid "Give Half-Ops" +msgstr "Eman erdi-Op-ak" + +#: src/common/xchat.c:939 +msgid "Take Half-Ops" +msgstr "Hartu erdi-Op-ak" + +#: src/common/xchat.c:940 +msgid "Give Voice" +msgstr "Eman ahotsa" + +#: src/common/xchat.c:941 +msgid "Take Voice" +msgstr "Hartu ahotsa" + +#: src/common/xchat.c:942 +msgid "Ignore" +msgstr "Ezikusi" + +#: src/common/xchat.c:943 +msgid "Ignore User" +msgstr "Ezikusi erabiltzailea" + +#: src/common/xchat.c:944 +msgid "UnIgnore User" +msgstr "Ez-ignoratu erabiltzailea" + +#: src/common/xchat.c:945 +msgid "Kick/Ban" +msgstr "Kanporatu/debekatu" + +#: src/common/xchat.c:946 src/common/xchat.c:998 +msgid "Kick" +msgstr "Kanporatu" + +#: src/common/xchat.c:947 src/common/xchat.c:948 src/common/xchat.c:949 +#: src/common/xchat.c:950 src/common/xchat.c:951 src/common/xchat.c:997 +msgid "Ban" +msgstr "Debekatu" + +#: src/common/xchat.c:952 src/common/xchat.c:953 src/common/xchat.c:954 +#: src/common/xchat.c:955 +msgid "KickBan" +msgstr "Kanporatu-debekatu" + +#: src/common/xchat.c:956 src/fe-gtk/dccgui.c:535 src/fe-gtk/dccgui.c:683 +msgid "Info" +msgstr "Informazioa" + +#: src/common/xchat.c:957 +msgid "Who" +msgstr "Who" + +#: src/common/xchat.c:958 src/common/xchat.c:1011 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/xchat.c:959 +msgid "DNS Lookup" +msgstr "DNS bilaketa" + +#: src/common/xchat.c:960 +msgid "Trace" +msgstr "Trace" + +#: src/common/xchat.c:961 +msgid "UserHost" +msgstr "Erabiltzaile-ostalaria" + +#: src/common/xchat.c:962 +msgid "External" +msgstr "Kanpoko" + +#: src/common/xchat.c:963 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:965 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:966 +msgid "Open Dialog Window" +msgstr "Ireki elkarrizketa leihoa" + +#: src/common/xchat.c:978 +msgid "Disconnect" +msgstr "Deskonektatu" + +#: src/common/xchat.c:979 +msgid "Reconnect" +msgstr "Berriz konektatu" + +#: src/common/xchat.c:980 +msgid "Leave Channel" +msgstr "Irten kanaletik" + +#: src/common/xchat.c:981 +msgid "Join Channel..." +msgstr "Sartu kanalera..." + +#: src/common/xchat.c:982 +msgid "Enter Channel to Join:" +msgstr "Sartu elkartu nahi duzun kanalaren izena:" + +#: src/common/xchat.c:983 +msgid "Server Links" +msgstr "Zerbitzari estekak" + +#: src/common/xchat.c:984 +msgid "Ping Server" +msgstr "Ping egin zerbitzariari" + +#: src/common/xchat.c:985 +msgid "Hide Version" +msgstr "Ezkutatu bertsioa" + +#: src/common/xchat.c:995 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:996 +msgid "DeOp" +msgstr "OP kendu" + +#: src/common/xchat.c:999 +msgid "bye" +msgstr "agur" + +#: src/common/xchat.c:1000 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Sartu %s botatzeko arrazoia:" + +#: src/common/xchat.c:1001 +msgid "Sendfile" +msgstr "Bidali fitxategia" + +#: src/common/xchat.c:1002 +msgid "Dialog" +msgstr "Elkarrizketa" + +#: src/common/xchat.c:1012 +msgid "Send" +msgstr "Bidali" + +#: src/common/xchat.c:1013 +msgid "Chat" +msgstr "Berriketa" + +#: src/common/xchat.c:1014 src/fe-gtk/banlist.c:314 src/fe-gtk/search.c:117 +#: src/fe-gtk/urlgrab.c:200 +msgid "Clear" +msgstr "Garbitu" + +#: src/fe-gtk/about.c:102 +msgid "About X-Chat" +msgstr "X-Chat-i buruz" + +#: src/fe-gtk/about.c:124 +msgid "A multiplatform IRC Client" +msgstr "Plataforma anitzentzat IRC bezeroa" + +#: src/fe-gtk/ascii.c:131 +msgid "Character Chart" +msgstr "Karaktere taula" + +#: src/fe-gtk/banlist.c:148 src/fe-gtk/banlist.c:232 +msgid "You must select some bans." +msgstr "Debeku batzuk aukeratu behar dituzu." + +#: src/fe-gtk/banlist.c:248 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Maskara" + +#: src/fe-gtk/banlist.c:249 src/fe-gtk/dccgui.c:492 +msgid "From" +msgstr "Nork" + +#: src/fe-gtk/banlist.c:250 +msgid "Date" +msgstr "Data" + +#: src/fe-gtk/banlist.c:294 +#, c-format +msgid "X-Chat: Ban List (%s)" +msgstr "X-Chat: Debeku zerrenda (%s)" + +#: src/fe-gtk/banlist.c:310 +msgid "Unban" +msgstr "Debekua kendu" + +#: src/fe-gtk/banlist.c:312 +msgid "Crop" +msgstr "Moztu" + +#: src/fe-gtk/banlist.c:316 +msgid "Refresh" +msgstr "Freskatu" + +#: src/fe-gtk/chanlist.c:120 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "Erabiltzaile eta kanal estatistikak: %d/%d erabiltzaile %d/%d kanaletan" + +#: src/fe-gtk/chanlist.c:536 +msgid "I can't save an empty list!" +msgstr "Ezin duzu zerrenda huts bat gorde!" + +#: src/fe-gtk/chanlist.c:539 src/fe-gtk/menu.c:954 +msgid "Select an output filename" +msgstr "Aukeratu irteera fitxategi bat" + +#: src/fe-gtk/chanlist.c:607 +#, c-format +msgid "X-Chat: Channel List (%s)" +msgstr "X-Chat: Kanal zerrenda (%s)" + +#: src/fe-gtk/chanlist.c:622 +msgid "List display options:" +msgstr "Zerrendatu bistaratzaile aukerak" + +#: src/fe-gtk/chanlist.c:634 +msgid "Minimum Users:" +msgstr "Gutxienezko erabiltzaileak:" + +#: src/fe-gtk/chanlist.c:649 +msgid "Maximum Users:" +msgstr "Gehienezko erabiltzaileak:" + +#: src/fe-gtk/chanlist.c:664 +msgid "Regex Match:" +msgstr "" + +#: src/fe-gtk/chanlist.c:685 +msgid "Apply Match to:" +msgstr "Aplikatu parekotasuna honi:" + +#: src/fe-gtk/chanlist.c:709 +msgid "Apply" +msgstr "Aplikatu" + +#: src/fe-gtk/chanlist.c:751 +msgid "Refresh the list" +msgstr "Freskatu zerrenda" + +#: src/fe-gtk/chanlist.c:753 +msgid "Save the list" +msgstr "Gorde zerrenda" + +#: src/fe-gtk/chanlist.c:755 src/fe-gtk/menu.c:756 +msgid "Join Channel" +msgstr "Sartu kanalera" + +#: src/fe-gtk/dccgui.c:126 +#, c-format +msgid "Send file to %s" +msgstr "Bidali fitxategia %s-ri" + +#: src/fe-gtk/dccgui.c:346 +#, c-format +msgid "" +" File: %s\n" +" To/From: %s\n" +" Size: %u\n" +" Port: %d\n" +" IP Number: %s\n" +"Start Time: %s Max CPS: %d\n" +msgstr "" +" Fitxategia: %s\n" +" Norentzat/Norengandik: %s\n" +" Tamainua: %u\n" +" Ataka: %d\n" +" IP zenbakia: %s\n" +"Hasi den ordua: %s Max CPS: %d\n" + +#: src/fe-gtk/dccgui.c:379 +msgid "That file is not resumable." +msgstr "Fitxategi hau ez da jarraigaitza" + +#: src/fe-gtk/dccgui.c:383 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Ezin da fitxategira iritsi: %s\n" +"%s.\n" +"Berrekitea ezinezkoa." + +#: src/fe-gtk/dccgui.c:390 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:394 +msgid "Cannot resume the same file from two people." +msgstr "Ezin da bi pertsonen fitxategi berdinarekin jarraitu" + +#: src/fe-gtk/dccgui.c:481 +msgid "MIME Type" +msgstr "MIME Mota" + +#: src/fe-gtk/dccgui.c:487 src/fe-gtk/dccgui.c:644 src/fe-gtk/dccgui.c:767 +#: src/fe-gtk/notifygui.c:110 +msgid "Status" +msgstr "Egoera" + +#: src/fe-gtk/dccgui.c:488 src/fe-gtk/dccgui.c:645 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Fitxategia" + +#: src/fe-gtk/dccgui.c:491 src/fe-gtk/dccgui.c:649 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:501 +msgid "X-Chat: File Receive List" +msgstr "X-Chat: Jasotako fitxategien zerrenda" + +#: src/fe-gtk/dccgui.c:529 src/fe-gtk/dccgui.c:682 src/fe-gtk/dccgui.c:797 +msgid "Abort" +msgstr "Abortatu" + +#: src/fe-gtk/dccgui.c:531 src/fe-gtk/dccgui.c:798 +msgid "Accept" +msgstr "Onartu" + +#: src/fe-gtk/dccgui.c:533 +msgid "Resume" +msgstr "Berrekin" + +#: src/fe-gtk/dccgui.c:537 +msgid "Open" +msgstr "Ireki" + +#: src/fe-gtk/dccgui.c:648 +msgid "Ack" +msgstr "Ack" + +#: src/fe-gtk/dccgui.c:650 +msgid "To" +msgstr "Nori" + +#: src/fe-gtk/dccgui.c:660 +msgid "X-Chat: File Send List" +msgstr "X-Chat: Bidalitako fitxategien zerrenda" + +#: src/fe-gtk/dccgui.c:768 +msgid "To/From" +msgstr "Nori/Nork" + +#: src/fe-gtk/dccgui.c:769 +msgid "Recv" +msgstr "Jasotakoak" + +#: src/fe-gtk/dccgui.c:770 +msgid "Sent" +msgstr "Bidaliak" + +#: src/fe-gtk/dccgui.c:771 +msgid "StartTime" +msgstr "Hasiera ordua" + +#: src/fe-gtk/dccgui.c:781 +msgid "X-Chat: DCC Chat List" +msgstr "X-Chat: DCC elkarrizketa zerrenda" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*BERRIA*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "EDITATU" + +#: src/fe-gtk/editlist.c:305 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Izena" + +#: src/fe-gtk/editlist.c:306 +msgid "Command" +msgstr "Komandoa" + +#: src/fe-gtk/editlist.c:333 +msgid "Move Up" +msgstr "Mugitu gora" + +#: src/fe-gtk/editlist.c:337 +msgid "Move Dn" +msgstr "Mugitu behera" + +#: src/fe-gtk/editlist.c:345 +msgid "Cancel" +msgstr "Utzi" + +#: src/fe-gtk/editlist.c:349 src/fe-gtk/textgui.c:413 src/fe-gtk/urlgrab.c:204 +msgid "Save" +msgstr "Gorde" + +#: src/fe-gtk/editlist.c:357 +msgid "Add New" +msgstr "Gehitu berria" + +#: src/fe-gtk/editlist.c:361 src/fe-gtk/fkeys.c:744 src/fe-gtk/ignoregui.c:379 +msgid "Delete" +msgstr "Ezabatu" + +#: src/fe-gtk/editlist.c:369 +msgid "Sort" +msgstr "Sailkatu" + +#: src/fe-gtk/editlist.c:373 +msgid "Help" +msgstr "Laguntza" + +#: src/fe-gtk/fe-gtk.c:144 +msgid "Options" +msgstr "Aukerak" + +#: src/fe-gtk/fe-gtk.c:145 +msgid "DIRECTORY" +msgstr "DIREKTORIOA" + +#: src/fe-gtk/fe-gtk.c:146 +msgid "use a different config dir" +msgstr "erabili konfiguraziorako beste direktorio bat" + +#: src/fe-gtk/fe-gtk.c:147 +msgid "don't auto connect" +msgstr "ez konektatu automatikoki" + +#: src/fe-gtk/fe-gtk.c:148 +msgid "don't auto load any plugins" +msgstr "ez kargatu automatikoki plugin-ak" + +#: src/fe-gtk/fe-gtk.c:149 +msgid "show version information" +msgstr "erakutsi bertsioari buruzko informazioa" + +#: src/fe-gtk/fe-gtk.c:234 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Huts egin da letra tipoa irekitzen:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:594 +msgid "Search buffer is empty.\n" +msgstr "Bilaketa bufferra hutsik dago.\n" + +#: src/fe-gtk/fe-gtk.c:671 +#, c-format +msgid "%d bytes" +msgstr "%d byte" + +#: src/fe-gtk/fkeys.c:155 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:171 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command moves the front tab left by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command moves the front tab right by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the current tab family to the left" +msgstr "" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the current tab family to the right" +msgstr "" + +#: src/fe-gtk/fkeys.c:183 +msgid "Push input line into history but doesn't send to server" +msgstr "" + +#: src/fe-gtk/fkeys.c:195 +msgid "There was an error loading key bindings configuration" +msgstr "Errore bat egon da tekla-mapa konfigurazioa kargatzerakoan" + +#: src/fe-gtk/fkeys.c:432 src/fe-gtk/fkeys.c:433 src/fe-gtk/fkeys.c:434 +#: src/fe-gtk/fkeys.c:435 src/fe-gtk/fkeys.c:717 src/fe-gtk/fkeys.c:723 +#: src/fe-gtk/fkeys.c:728 src/fe-gtk/maingui.c:905 src/fe-gtk/maingui.c:921 +#: src/fe-gtk/maingui.c:1064 src/fe-gtk/maingui.c:1117 +#: src/fe-gtk/maingui.c:2494 +msgid "<none>" +msgstr "<bat ere ez>" + +#: src/fe-gtk/fkeys.c:681 +msgid "Mod" +msgstr "Mod" + +#: src/fe-gtk/fkeys.c:682 src/fe-gtk/fkeys.c:777 +msgid "Key" +msgstr "Tekla" + +#: src/fe-gtk/fkeys.c:683 +msgid "Action" +msgstr "Ekintza" + +#: src/fe-gtk/fkeys.c:692 +msgid "X-Chat: Keyboard Shortcuts" +msgstr "X-Chat: Laster-teklak" + +#: src/fe-gtk/fkeys.c:739 +msgid "Add new" +msgstr "Gehitu berria" + +#: src/fe-gtk/fkeys.c:770 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:772 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:774 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:781 +msgid "Data 1" +msgstr "1 Datua" + +#: src/fe-gtk/fkeys.c:784 +msgid "Data 2" +msgstr "2 Datua" + +#: src/fe-gtk/fkeys.c:827 +msgid "Error opening keys config file\n" +msgstr "Errorea teklen konfigurazio fitxategia irekitzean\n" + +#: src/fe-gtk/fkeys.c:998 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1036 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1126 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" + +#: src/fe-gtk/gtkutil.c:148 +msgid "Cannot write to that file." +msgstr "Ezin idatzi fitxategi hortan." + +#: src/fe-gtk/gtkutil.c:150 +msgid "Cannot read that file." +msgstr "Ezin irakurri fitxategi hori." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:280 +msgid "That mask already exists." +msgstr "Maskara hau dagoeneko exisititzen da." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:1573 +msgid "Private" +msgstr "Pribatua" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Oharra" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Gonbidatu" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Ezikusia kendu" + +#: src/fe-gtk/ignoregui.c:300 +msgid "Enter mask to ignore:" +msgstr "Sartu ignoratu nahi duzun maskara:" + +#: src/fe-gtk/ignoregui.c:347 +msgid "X-Chat: Ignore list" +msgstr "X-Chat: Ignoratuen zerrenda" + +#: src/fe-gtk/ignoregui.c:354 +msgid "Ignore Stats:" +msgstr "Ignoratuen estatistikak" + +#: src/fe-gtk/ignoregui.c:362 +msgid "Channel:" +msgstr "Kanala:" + +#: src/fe-gtk/ignoregui.c:363 +msgid "Private:" +msgstr "Pribatua:" + +#: src/fe-gtk/ignoregui.c:364 +msgid "Notice:" +msgstr "Oharra:" + +#: src/fe-gtk/ignoregui.c:365 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:366 +msgid "Invite:" +msgstr "Gonbidatu:" + +#: src/fe-gtk/ignoregui.c:377 src/fe-gtk/menu.c:1259 +msgid "New" +msgstr "Berria" + +#: src/fe-gtk/ignoregui.c:381 +msgid "Delete All" +msgstr "Ezabatu guztiak" + +#: src/fe-gtk/maingui.c:318 +msgid "Dialog with" +msgstr "Elkarrizketatu honekin" + +#: src/fe-gtk/maingui.c:574 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s-ren gaia honakoa da: %s" + +#: src/fe-gtk/maingui.c:578 +msgid "No topic is set" +msgstr "Ez dago gairik" + +#: src/fe-gtk/maingui.c:974 +msgid "No other tabs open, quit xchat?" +msgstr "Ez dago beste fitxarik irekita, irten xchat-etik?" + +#: src/fe-gtk/maingui.c:1020 +msgid "Insert color code" +msgstr "Txertatu kolore kodea" + +#: src/fe-gtk/maingui.c:1069 +msgid "Beep on message" +msgstr "Bip egin mezuetan" + +#: src/fe-gtk/maingui.c:1072 +msgid "Show join/part messages" +msgstr "Erakutsi sartze/irtete mezuak" + +#: src/fe-gtk/maingui.c:1074 +msgid "Color paste" +msgstr "Koloreak itsatsi" + +#: src/fe-gtk/maingui.c:1084 +msgid "Go to" +msgstr "Joan hona" + +#: src/fe-gtk/maingui.c:1097 src/fe-gtk/menu.c:1281 +msgid "Close Tab" +msgstr "Itxi fitxa" + +#: src/fe-gtk/maingui.c:1100 src/fe-gtk/menu.c:1430 +msgid "Detach Tab" +msgstr "Kendu fitxa" + +#: src/fe-gtk/maingui.c:1291 +msgid "Some file transfers still active, quit xchat?" +msgstr "Fitxategi transferentzia batzuk aktibo daude oraindek, xchat-etik irten nahi duzu?" + +#: src/fe-gtk/maingui.c:1441 src/fe-gtk/maingui.c:1547 +msgid "User limit must be a number!\n" +msgstr "Erabiltzaile mugak zenbakia izan behar du!\n" + +#: src/fe-gtk/maingui.c:1569 +msgid "Topic Protection" +msgstr "Gaia babestua" + +#: src/fe-gtk/maingui.c:1570 +msgid "No outside messages" +msgstr "Ez dago kanpoko mezurik" + +#: src/fe-gtk/maingui.c:1571 +msgid "Secret" +msgstr "Sekretu" + +#: src/fe-gtk/maingui.c:1572 +msgid "Invite Only" +msgstr "Gonbidapenarekin bakarrik" + +#: src/fe-gtk/maingui.c:1574 +msgid "Moderated" +msgstr "Moderatua" + +#: src/fe-gtk/maingui.c:1575 +msgid "Ban List" +msgstr "Debekatuen zerrenda" + +#: src/fe-gtk/maingui.c:1577 +msgid "Keyword" +msgstr "Gako-hitza" + +#: src/fe-gtk/maingui.c:1589 +msgid "User Limit" +msgstr "Erabiltzaile limitea" + +#: src/fe-gtk/maingui.c:1605 +msgid "Close this tab/window" +msgstr "Fitxa/leiho hau itxitzen du" + +#: src/fe-gtk/maingui.c:1702 +msgid "Show/Hide userlist" +msgstr "Erakutsi/ezkutatu erabiltzaile zerrenda" + +#: src/fe-gtk/maingui.c:1815 +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 "" + +#: src/fe-gtk/maingui.c:2008 +msgid "Enter new nickname:" +msgstr "Sartu ezizen berria:" + +#: src/fe-gtk/menu.c:151 +msgid "Host unknown" +msgstr "Ostalari ezezaguna" + +#: src/fe-gtk/menu.c:512 +#, c-format +msgid "User: %s" +msgstr "Erabiltzailea: %s" + +#: src/fe-gtk/menu.c:516 +#, c-format +msgid "Country: %s" +msgstr "Herrialdea %s" + +#: src/fe-gtk/menu.c:520 +#, c-format +msgid "Realname: %s" +msgstr "Benetazko izena: %s" + +#: src/fe-gtk/menu.c:524 +#, c-format +msgid "Server: %s" +msgstr "Zerbitzaria: %s" + +#: src/fe-gtk/menu.c:528 +#, c-format +msgid "Last Msg: %s" +msgstr "Azken mezua: %s" + +#: src/fe-gtk/menu.c:613 +msgid "Menu Bar" +msgstr "Menu barra" + +#: src/fe-gtk/menu.c:614 +msgid "Topic Bar" +msgstr "Gai barra" + +#: src/fe-gtk/menu.c:618 src/fe-gtk/setup.c:158 +msgid "User List" +msgstr "Erabiltzaile zerrenda" + +#: src/fe-gtk/menu.c:621 +msgid "Mode Buttons" +msgstr "Modu botoiak" + +#: src/fe-gtk/menu.c:627 +msgid "User List Buttons" +msgstr "Erabiltzaile zerrenda botoiak" + +#: src/fe-gtk/menu.c:697 src/fe-gtk/urlgrab.c:202 +msgid "Copy selected URL" +msgstr "Kopiatu aukeratutako URLa" + +#: src/fe-gtk/menu.c:760 +msgid "Part Channel" +msgstr "Irten kanaletik" + +#: src/fe-gtk/menu.c:762 +msgid "Cycle Channel" +msgstr "Kanal zikloa" + +#: src/fe-gtk/menu.c:785 +msgid "X-Chat: User menu" +msgstr "X-Chat: erabiltzaile menua" + +#: src/fe-gtk/menu.c:794 +msgid "Edit This Menu..." +msgstr "Editatu menu hau..." + +#: src/fe-gtk/menu.c:896 +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 "" +"*OHARRA*\n" +"DCCak automatikoki onartzea zure etxe karpetara\n" +"kaltegarria izan daiteke. Adibidez norbaitek\n" +".bash_profile fitxategia bidali dezake" + +#: src/fe-gtk/menu.c:1024 +msgid "Settings saved." +msgstr "Hobespenak gordeta." + +#: src/fe-gtk/menu.c:1061 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" +"Erabiltzaile komandoak - Kode bereziak:\n" +"\n" +"%c = uneko kanala\n" +"%m = makinaren informazioa\n" +"%n = zure ezizena\n" +"%t = ordua/data\n" +"%v = xchat bertsioa\n" +"%2 = 2 hitza\n" +"%3 = 3 hitza\n" +"&2 = 2 hitza lerroaren amaieran\n" +"&3 = 3 hitza lerroaren amaieran\n" +"\n" +"adibidez:\n" +"/cmd Mikel Kaixo\n" +"\n" +"%2 hau izango zen \"Mikel\"\n" +"&2 hau izango zen \"Mikel Kaixo\"." + +#: src/fe-gtk/menu.c:1076 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Erabiltzaile botoiak - Kode bereziak:\n" +"\n" +"%a = aukeratutako ezizen guztiak\n" +"%c = uneko kanala\n" +"%h = aukeratutako ezizenaren ostalaria\n" +"%m = makinaren informazioa\n" +"%n = zure ezizena\n" +"%s = aukeratutako ezizena\n" +"%t = ordua/data\n" + +#: src/fe-gtk/menu.c:1085 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" + +#: src/fe-gtk/menu.c:1094 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" + +#: src/fe-gtk/menu.c:1104 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of X-Chat" +msgstr "" +"URL kudeatzailea - Kode bereziak:\n" +"\n" +"%s = URLaren karaktere-katea\n" +"\n" +"Komandoaren aurrean ! jarrita\n" +"shell batera bidalia izan behar dela\n" +"adierazten da, X-Chatera ordez" + +#: src/fe-gtk/menu.c:1113 +msgid "X-Chat: User Defined Commands" +msgstr "X-Chat: Erabiltzaileak definitutako komandoak" + +#: src/fe-gtk/menu.c:1120 +msgid "X-Chat: Userlist Popup menu" +msgstr "X-Chat: Erabiltzaile zerrenda agertarazlearen menua" + +#: src/fe-gtk/menu.c:1127 +msgid "X-Chat: Replace" +msgstr "X-Chat: Ordezkatu" + +#: src/fe-gtk/menu.c:1134 +msgid "X-Chat: URL Handlers" +msgstr "X-Chat: URL maneiatzaileak" + +#: src/fe-gtk/menu.c:1153 +msgid "X-Chat: Userlist buttons" +msgstr "X-Chat: Erabiltzaile-zerrenda botoiak" + +#: src/fe-gtk/menu.c:1160 +msgid "X-Chat: Dialog buttons" +msgstr "X-Chat: Elkarrizketa botoiak" + +#: src/fe-gtk/menu.c:1167 +msgid "X-Chat: CTCP Replies" +msgstr "X-Chat: CTCP erantzunak" + +#: src/fe-gtk/menu.c:1255 +msgid "_X-Chat" +msgstr "_X-Chat" + +#: src/fe-gtk/menu.c:1256 +msgid "Server List..." +msgstr "Zerbitzari zerrenda..." + +#: src/fe-gtk/menu.c:1260 +msgid "Server Tab..." +msgstr "Zerbitzari fitxa..." + +#: src/fe-gtk/menu.c:1261 +msgid "Channel Tab..." +msgstr "Kanal fitxa..." + +#: src/fe-gtk/menu.c:1262 +msgid "Server Window..." +msgstr "Zerbitzari leihoa..." + +#: src/fe-gtk/menu.c:1263 +msgid "Channel Window..." +msgstr "Kanalaren leihoa..." + +#: src/fe-gtk/menu.c:1268 src/fe-gtk/menu.c:1270 +msgid "Load Plugin or Script..." +msgstr "Kargatu Plugin edo Skript-a..." + +#: src/fe-gtk/menu.c:1274 +msgid "New Shell Tab..." +msgstr "Shell fitxa berria" + +#: src/fe-gtk/menu.c:1283 +msgid "Quit" +msgstr "Irten" + +#: src/fe-gtk/menu.c:1285 +msgid "_IRC" +msgstr "_IRC" + +#: src/fe-gtk/menu.c:1286 +msgid "Invisible" +msgstr "Ikustezina" + +#: src/fe-gtk/menu.c:1287 +msgid "Receive Wallops" +msgstr "Jaso Wallop-ak" + +#: src/fe-gtk/menu.c:1288 +msgid "Receive Server Notices" +msgstr "Jaso zerbitzariaren berriak" + +#: src/fe-gtk/menu.c:1290 +msgid "Marked Away" +msgstr "" + +#: src/fe-gtk/menu.c:1292 +msgid "Auto Rejoin when Kicked" +msgstr "Automatikoki birsartu kanporatzean" + +#: src/fe-gtk/menu.c:1293 +msgid "Auto Reconnect to Server" +msgstr "Automatikoki birkonektatu zerbitzarira" + +#: src/fe-gtk/menu.c:1294 +msgid "Never-give-up ReConnect" +msgstr "Inoiz ez eman amore konektatzerakoan" + +#: src/fe-gtk/menu.c:1296 +msgid "Auto Open Dialog Windows" +msgstr "Automatikoki ireki elkarrizketa leihoak" + +#: src/fe-gtk/menu.c:1297 +msgid "Auto Accept Direct Chat" +msgstr "Automatikoki onartu elkarrizketa zuzenak" + +#: src/fe-gtk/menu.c:1298 +msgid "Auto Accept Files" +msgstr "Automatikoki onartu fitxategiak" + +#: src/fe-gtk/menu.c:1300 +msgid "_Server" +msgstr "_Zerbitzaria" + +#: src/fe-gtk/menu.c:1302 +msgid "S_ettings" +msgstr "_Ezarpenak" + +#: src/fe-gtk/menu.c:1303 +msgid "Preferences..." +msgstr "Hobespenak..." + +#: src/fe-gtk/menu.c:1305 +msgid "Advanced" +msgstr "Aurreratua" + +#: src/fe-gtk/menu.c:1306 +msgid "Auto Replace..." +msgstr "Automatikoki ordezkatu" + +#: src/fe-gtk/menu.c:1307 +msgid "CTCP Replies..." +msgstr "CTCP erantzunak..." + +#: src/fe-gtk/menu.c:1308 +msgid "Dialog Buttons..." +msgstr "Elkarrizketa botoiak..." + +#: src/fe-gtk/menu.c:1309 +msgid "Keyboard Shortcuts..." +msgstr "" + +#: src/fe-gtk/menu.c:1310 +msgid "Text Events..." +msgstr "Testu gertaera" + +#: src/fe-gtk/menu.c:1311 +msgid "URL Handlers..." +msgstr "URL maneiatzaileak..." + +#: src/fe-gtk/menu.c:1312 +msgid "User Commands..." +msgstr "Erabiltzaile komandoak..." + +#: src/fe-gtk/menu.c:1313 +msgid "Userlist Buttons..." +msgstr "Erabiltzaile-zerrenda botoiak..." + +#: src/fe-gtk/menu.c:1314 +msgid "Userlist Popup..." +msgstr "Erabiltzaile zerrenda agerrarazi..." + +#: src/fe-gtk/menu.c:1319 +msgid "Reload Settings" +msgstr "Birkargatu ezarpenak" + +#: src/fe-gtk/menu.c:1321 +msgid "Save Settings now" +msgstr "Gorde ezarpenak orain" + +#: src/fe-gtk/menu.c:1322 +msgid "Save Settings on exit" +msgstr "Gorde ezarpenak irteterakoan" + +#: src/fe-gtk/menu.c:1325 +msgid "_Window" +msgstr "_Leihoa" + +#: src/fe-gtk/menu.c:1326 +msgid "Ban List..." +msgstr "Debekatuen zerrenda..." + +#: src/fe-gtk/menu.c:1327 +msgid "Channel List..." +msgstr "Kanal zerrenda..." + +#: src/fe-gtk/menu.c:1328 +msgid "Character Chart..." +msgstr "Karaktere taula.." + +#: src/fe-gtk/menu.c:1329 +msgid "Direct Chat..." +msgstr "Elkarrizketa zuzena..." + +#: src/fe-gtk/menu.c:1330 +msgid "File Receive..." +msgstr "Jaso fitxategia..." + +#: src/fe-gtk/menu.c:1331 +msgid "File Send..." +msgstr "Bidali fitxategiak..." + +#: src/fe-gtk/menu.c:1332 +msgid "Ignore List..." +msgstr "Ignoratuen zerrenda" + +#: src/fe-gtk/menu.c:1333 +msgid "Notify List..." +msgstr "Notifikazio zerrenda..." + +#: src/fe-gtk/menu.c:1334 +msgid "Plugins and Scripts..." +msgstr "Plugin eta script-ak..." + +#: src/fe-gtk/menu.c:1335 +msgid "Raw Log..." +msgstr "Log laua..." + +#: src/fe-gtk/menu.c:1336 +msgid "URL Grabber..." +msgstr "URL hartzailea..." + +#: src/fe-gtk/menu.c:1338 +msgid "Reset Marker Line" +msgstr "Reseteatu marka-lerroa" + +#: src/fe-gtk/menu.c:1339 +msgid "C_lear Text" +msgstr "G_arbitu testua" + +#: src/fe-gtk/menu.c:1340 +msgid "Search Text..." +msgstr "Bilatu testua..." + +#: src/fe-gtk/menu.c:1341 +msgid "Save Text..." +msgstr "Gorde testua..." + +#: src/fe-gtk/menu.c:1343 +msgid "_Help" +msgstr "_Laguntza" + +#: src/fe-gtk/menu.c:1344 +msgid "_Contents" +msgstr "_Edukia" + +#: src/fe-gtk/menu.c:1345 +msgid "_About" +msgstr "_Honi buruz" + +#: src/fe-gtk/menu.c:1432 +msgid "Attach Tab" +msgstr "Fitxa erantsi" + +#: src/fe-gtk/notifygui.c:109 +msgid "User" +msgstr "Erabiltzailea" + +#: src/fe-gtk/notifygui.c:111 +msgid "Server" +msgstr "Zerbitzaria" + +#: src/fe-gtk/notifygui.c:112 +msgid "Last Seen" +msgstr "Azkenekoz ikusia" + +#: src/fe-gtk/notifygui.c:149 +msgid "Offline" +msgstr "Lineaz kanpo" + +#: src/fe-gtk/notifygui.c:169 src/fe-gtk/setup.c:198 +msgid "Never" +msgstr "Inoiz" + +#: src/fe-gtk/notifygui.c:187 +msgid "Online" +msgstr "Linean" + +#: src/fe-gtk/notifygui.c:277 +msgid "Enter nickname to add:" +msgstr "Sartu gehitu nahi den ezizena:" + +#: src/fe-gtk/notifygui.c:293 +msgid "X-Chat: Notify List" +msgstr "X-Chat: Jakinarazketa zerrenda" + +#: src/fe-gtk/notifygui.c:306 +msgid "Add" +msgstr "Gehitu" + +#: src/fe-gtk/notifygui.c:308 +msgid "Remove" +msgstr "Kendu" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:341 +msgid "Description" +msgstr "Azalpena" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Aukeratu kargatzeko plugin edo skript bat" + +#: src/fe-gtk/plugingui.c:223 +msgid "X-Chat: Plugins and Scripts" +msgstr "X-Chat: Plugin eta skript-ak" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Kargatu..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "_Deskargatu" + +#: src/fe-gtk/plugingui.c:236 +msgid "_Close" +msgstr "_Itxi" + +#: src/fe-gtk/rawlog.c:78 +msgid "Save rawlog" +msgstr "Gorde log-laua" + +#: src/fe-gtk/rawlog.c:94 +#, c-format +msgid "X-Chat: Rawlog (%s)" +msgstr "X-Chat: Log laua (%s)" + +#: src/fe-gtk/rawlog.c:123 +msgid "Clear rawlog" +msgstr "Garbitu log laua" + +#: src/fe-gtk/rawlog.c:126 +msgid "Save rawlog..." +msgstr "Gorde log-laua..." + +#: src/fe-gtk/search.c:47 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "" + +#: src/fe-gtk/search.c:91 +msgid "X-Chat: Search" +msgstr "X-Chat: Bilatu" + +#: src/fe-gtk/search.c:100 +msgid "Find:" +msgstr "Bilatu:" + +#: src/fe-gtk/search.c:114 +msgid "Find" +msgstr "Bilatu" + +#: src/fe-gtk/search.c:119 +msgid "Close" +msgstr "Itxi" + +#: src/fe-gtk/servlistgui.c:159 src/fe-gtk/servlistgui.c:257 +msgid "New Network" +msgstr "Sare berria" + +#: src/fe-gtk/servlistgui.c:428 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Benetan ezabatu nahi duzu \"%s\" eta honen zerbitzari guztiak?" + +#: src/fe-gtk/servlistgui.c:889 +#, c-format +msgid "X-Chat: Edit %s" +msgstr "X-Chat: Editatu %s" + +#: src/fe-gtk/servlistgui.c:908 +#, c-format +msgid "Servers for %s" +msgstr "%s-rentzat zerbitzariak" + +#: src/fe-gtk/servlistgui.c:918 +msgid "Your Details" +msgstr "Zure xehetasunak" + +#: src/fe-gtk/servlistgui.c:924 +msgid "Use global user information" +msgstr "Erabili erabiltzailearen informazio globala" + +#: src/fe-gtk/servlistgui.c:927 src/fe-gtk/servlistgui.c:1159 +msgid "_Nick name:" +msgstr "_Ezizena:" + +#: src/fe-gtk/servlistgui.c:931 src/fe-gtk/servlistgui.c:1180 +msgid "_User name:" +msgstr "_Erabiltzaile izena:" + +#: src/fe-gtk/servlistgui.c:935 +msgid "Real na_me:" +msgstr "Be_netazko izena:" + +#: src/fe-gtk/servlistgui.c:938 +msgid "Connecting" +msgstr "Konektatzen" + +#: src/fe-gtk/servlistgui.c:944 +msgid "Auto connect to this network at startup" +msgstr "Automatikoki konektatu sare hontara abiaratzean" + +#: src/fe-gtk/servlistgui.c:946 +msgid "Use a proxy server" +msgstr "Erabili proxy zerbitzari bat" + +#: src/fe-gtk/servlistgui.c:948 +msgid "Use SSL for all the servers on this network" +msgstr "Erabili SSL sare hontako zerbitzari guztietan" + +#: src/fe-gtk/servlistgui.c:953 +msgid "Accept invalid SSL certificate" +msgstr "Onartu baliogabeko SSL zertifikatuak" + +#: src/fe-gtk/servlistgui.c:959 +msgid "C_hannels to join:" +msgstr "S_artu nahi diren kanalen izenak:" + +#: src/fe-gtk/servlistgui.c:961 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Sartuko den kanalak, komaz banandua, baina hutsunerik gabe!" + +#: src/fe-gtk/servlistgui.c:964 +msgid "Connect command:" +msgstr "Konektatzeko komandoa:" + +#: src/fe-gtk/servlistgui.c:966 +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 "" + +#: src/fe-gtk/servlistgui.c:969 +msgid "Nickserv password:" +msgstr "Nickserv-erako pasahitza:" + +#: src/fe-gtk/servlistgui.c:974 +msgid "Server password:" +msgstr "Zerbitzariko pasahitza:" + +#: src/fe-gtk/servlistgui.c:976 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Zerbitzariarentzat pasahitza, zalantzarik baduzu utzi hutsik." + +#: src/fe-gtk/servlistgui.c:979 +msgid "Character set:" +msgstr "Karaktere-jokoa:" + +#: src/fe-gtk/servlistgui.c:1052 +msgid "_Edit" +msgstr "_Editatu" + +#: src/fe-gtk/servlistgui.c:1133 +msgid "X-Chat: Server List" +msgstr "X-Chat: Zerbitzari zerrenda" + +#: src/fe-gtk/servlistgui.c:1166 +msgid "Second choice:" +msgstr "Bigarren aukera:" + +#: src/fe-gtk/servlistgui.c:1173 +msgid "Third choice:" +msgstr "Hirugarren aukera" + +#: src/fe-gtk/servlistgui.c:1187 +msgid "Rea_l name:" +msgstr "Benetazko _izena:" + +#: src/fe-gtk/servlistgui.c:1274 +msgid "Skip server list on startup" +msgstr "Ez erakutsi zerbitzari zerrenda abiaraztean" + +#: src/fe-gtk/servlistgui.c:1305 +msgid "_Edit..." +msgstr "_Editatu..." + +#: src/fe-gtk/servlistgui.c:1312 +msgid "_Sort" +msgstr "_Sailkatu" + +#: src/fe-gtk/servlistgui.c:1328 +msgid "C_onnect" +msgstr "K_onektatu" + +#: src/fe-gtk/servlistgui.c:1337 +msgid "Connect in new tab" +msgstr "Konektatu fitxa berrian" + +#: src/fe-gtk/setup.c:94 +msgid "Text Box Appearance" +msgstr "Testu kaxaren itxura" + +#: src/fe-gtk/setup.c:95 +msgid "Font:" +msgstr "Letra-tipoa" + +#: src/fe-gtk/setup.c:96 +msgid "Background image:" +msgstr "Atzeko planoko irudia:" + +#: src/fe-gtk/setup.c:97 +msgid "Scrollback lines:" +msgstr "Atzera korritze lerro kopurua:" + +#: src/fe-gtk/setup.c:98 +msgid "Transparent background" +msgstr "Atzeko plano transparentea" + +#: src/fe-gtk/setup.c:99 +msgid "Indent nick names" +msgstr "Koskatu ezizenak" + +#: src/fe-gtk/setup.c:100 +msgid "Make nick names right-justified" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Tint (shade) transparency" +msgstr "Tindatu transparentzia (itzala)" + +#: src/fe-gtk/setup.c:102 +msgid "Colored nick names" +msgstr "Koloreztatutako ezizenak" + +#: src/fe-gtk/setup.c:103 +msgid "Give each person on IRC a different color" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "Strip mIRC colors" +msgstr "Erantzi mIRC-en koloreak" + +#: src/fe-gtk/setup.c:105 +msgid "Show marker line" +msgstr "Erakutsi lerro-marka" + +#: src/fe-gtk/setup.c:106 +msgid "Insert a red line after the last read text." +msgstr "" + +#: src/fe-gtk/setup.c:107 +msgid "Tint Settings" +msgstr "Tindatzearen ezarpenak" + +#: src/fe-gtk/setup.c:108 +msgid "Red:" +msgstr "Gorria:" + +#: src/fe-gtk/setup.c:109 +msgid "Green:" +msgstr "Berdea:" + +#: src/fe-gtk/setup.c:110 +msgid "Blue:" +msgstr "Urdina:" + +#: src/fe-gtk/setup.c:112 src/fe-gtk/setup.c:311 +msgid "Time Stamps" +msgstr "Ordu arrastoak" + +#: src/fe-gtk/setup.c:113 +msgid "Time stamp format:" +msgstr "Ordu arrastoaren formatua:" + +#: src/fe-gtk/setup.c:114 +msgid "See strftime manpage for details." +msgstr "Ikusi strftime-ren man orria xehetasunetarako." + +#: src/fe-gtk/setup.c:115 +msgid "Enable time stamps" +msgstr "Ordu arrastoak gaitu" + +#: src/fe-gtk/setup.c:122 +msgid "Nick Completion" +msgstr "Izen betetzea" + +#: src/fe-gtk/setup.c:123 +msgid "Automatic nick completion" +msgstr "Ezizen beteketa automatikoa" + +#: src/fe-gtk/setup.c:124 +msgid "Completes nick names without using the TAB key" +msgstr "" + +#: src/fe-gtk/setup.c:125 +msgid "Nick completion suffix:" +msgstr "Ezizen betetzearen atzizkia:" + +#: src/fe-gtk/setup.c:127 +msgid "Input Box Codes" +msgstr "Sarrera kaxaren kodeak" + +#: src/fe-gtk/setup.c:128 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Input Box Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:132 src/fe-gtk/setup.c:162 +msgid "Use the Text box font and colors" +msgstr "Erabili textu kaxaren letra-tipo eta koloreak" + +#: src/fe-gtk/setup.c:139 +msgid "Off" +msgstr "Off" + +#: src/fe-gtk/setup.c:140 +msgid "Graph" +msgstr "Grafikoa" + +#: src/fe-gtk/setup.c:141 +msgid "Info text" +msgstr "Informazio testua" + +#: src/fe-gtk/setup.c:142 +msgid "Both" +msgstr "Biak" + +#: src/fe-gtk/setup.c:148 +msgid "A-Z, Ops first" +msgstr "A-Z, Op-ak aurrena" + +#: src/fe-gtk/setup.c:149 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:150 +msgid "Z-A, Ops last" +msgstr "Z-A, Op-ak azkenak" + +#: src/fe-gtk/setup.c:151 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:152 +msgid "Unsorted" +msgstr "Sailkatu gabe" + +#: src/fe-gtk/setup.c:159 +msgid "User list sorted by:" +msgstr "Erabiltzaile-zerrenda honela sailkatua:" + +#: src/fe-gtk/setup.c:160 +msgid "Show hostnames in user list" +msgstr "Erakutsi ostalari izenak erabiltzaile zerrendan" + +#: src/fe-gtk/setup.c:161 +msgid "User list buttons enabled" +msgstr "Erabiltzaile zerrenda botoiak gaituta" + +#: src/fe-gtk/setup.c:163 +msgid "Resizable user list" +msgstr "Tamainu aldakorreko erabiltzaile zerrenda" + +#: src/fe-gtk/setup.c:165 +msgid "Away tracking" +msgstr "Aldentzearen jarraipena" + +#: src/fe-gtk/setup.c:166 +msgid "Enable away tracking" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "On channels smaller than:" +msgstr "Hau baino txikiagoak diren kanaletan:" + +#: src/fe-gtk/setup.c:169 +msgid "Action Upon Double Click" +msgstr "Klik bikoitza egin ondorengo ekintza" + +#: src/fe-gtk/setup.c:170 +msgid "Execute command:" +msgstr "Exekutatu komandoa:" + +#: src/fe-gtk/setup.c:172 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:173 +msgid "Lag meter:" +msgstr "Atzerapen neurtzailea:" + +#: src/fe-gtk/setup.c:174 +msgid "Throttle meter:" +msgstr "Azelarazio neurtzailea:" + +#: src/fe-gtk/setup.c:181 +msgid "Windows" +msgstr "Windows" + +#: src/fe-gtk/setup.c:182 src/fe-gtk/setup.c:206 src/fe-gtk/setup.c:1456 +msgid "Tabs" +msgstr "Fitxak" + +#: src/fe-gtk/setup.c:188 +msgid "Bottom" +msgstr "Behean" + +#: src/fe-gtk/setup.c:189 +msgid "Top" +msgstr "Goian" + +#: src/fe-gtk/setup.c:190 +msgid "Left" +msgstr "Ezkerrean" + +#: src/fe-gtk/setup.c:191 +msgid "Right" +msgstr "Eskuinean" + +#: src/fe-gtk/setup.c:192 +msgid "Hidden" +msgstr "Ezkutatu" + +#: src/fe-gtk/setup.c:199 +msgid "Always" +msgstr "Beti" + +#: src/fe-gtk/setup.c:200 +msgid "Only requested tabs" +msgstr "Eskaria egiten den fitxetan soilik" + +#: src/fe-gtk/setup.c:207 +msgid "Open an extra tab for server messages" +msgstr "Ireki fitxa extra bat zerbitzariaren mezuentzat" + +#: src/fe-gtk/setup.c:208 +msgid "Open an extra tab for server notices" +msgstr "Ireki fitxa extra bat zerbitzariaren berrientzat" + +#: src/fe-gtk/setup.c:209 +msgid "Small tabs" +msgstr "Fitxa txikiak" + +#: src/fe-gtk/setup.c:210 +msgid "Sort tabs in alphabetical order" +msgstr "Sailkatu fitxak orden alfabetikoan" + +#: src/fe-gtk/setup.c:211 +msgid "Focus new tabs:" +msgstr "" + +#: src/fe-gtk/setup.c:212 +msgid "Shorten tab labels to:" +msgstr "Fitxen luzera murriztu:" + +#: src/fe-gtk/setup.c:212 +msgid "letters." +msgstr "letra." + +#: src/fe-gtk/setup.c:214 +msgid "Tabs Location" +msgstr "Fitxen kokapena" + +#: src/fe-gtk/setup.c:215 +msgid "Show tabs at:" +msgstr "Erakutxi fitxak hemen:" + +#: src/fe-gtk/setup.c:217 +msgid "Tabs or Windows" +msgstr "Fitxak ala leihoak" + +#: src/fe-gtk/setup.c:218 +msgid "Open channels in:" +msgstr "Ireki kanalak hemen:" + +#: src/fe-gtk/setup.c:219 +msgid "Open dialogs in:" +msgstr "Ireki elkarrizketak hemen:" + +#: src/fe-gtk/setup.c:220 +msgid "Open utilities in:" +msgstr "Iriki utilitateak hemen:" + +#: src/fe-gtk/setup.c:220 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Ireki DCC, ezikusi, notifikazio etab. fitxetan ala leihoetan?" + +#: src/fe-gtk/setup.c:227 +msgid "Files and Directories" +msgstr "" + +#: src/fe-gtk/setup.c:228 +msgid "Download files to:" +msgstr "Hona jaitsi fitxategiak:" + +#: src/fe-gtk/setup.c:229 +msgid "Move completed files to:" +msgstr "Mugitu amaitutako fitxategiak hona:" + +#: src/fe-gtk/setup.c:230 +msgid "Save nick name in filenames" +msgstr "Gorde ezizenak fitxategietan" + +#: src/fe-gtk/setup.c:231 +msgid "Convert spaces to underscore before sending" +msgstr "Hutsuneak behe-marratxora bihurtu bidali aurretik" + +#: src/fe-gtk/setup.c:233 +msgid "Network Settings" +msgstr "Sareko ezarpenak" + +#: src/fe-gtk/setup.c:234 +msgid "DCC IP address:" +msgstr "DCCaren IP helbidea:" + +#: src/fe-gtk/setup.c:235 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:236 +msgid "First DCC send port:" +msgstr "DCCa bidaltzeko lehen ataka:" + +#: src/fe-gtk/setup.c:237 +msgid "Last DCC send port:" +msgstr "DCCa bidaltzeok azken ataka:" + +#: src/fe-gtk/setup.c:238 +msgid "(Leave ports at zero for full range)." +msgstr "(Utzi atakak zeron denak hartzeko)" + +#: src/fe-gtk/setup.c:239 +msgid "Get my address from the IRC server" +msgstr "Hartu nire IPa IRC zerbitzaritik" + +#: src/fe-gtk/setup.c:240 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "Galdetu IRC zerbitzariari zure benetako helbidea. Erabili hau 192.168.*.* moduko helbidea baduzu." + +#: src/fe-gtk/setup.c:242 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "" + +#: src/fe-gtk/setup.c:243 +msgid "One upload:" +msgstr "Igoera bat:" + +#: src/fe-gtk/setup.c:244 src/fe-gtk/setup.c:246 +msgid "Maximum speed for one transfer" +msgstr "" + +#: src/fe-gtk/setup.c:245 +msgid "One download:" +msgstr "Jaitsiera bat:" + +#: src/fe-gtk/setup.c:247 +msgid "All uploads combined:" +msgstr "Igoera guztiak konbinatuta:" + +#: src/fe-gtk/setup.c:248 src/fe-gtk/setup.c:250 +msgid "Maximum speed for all files" +msgstr "" + +#: src/fe-gtk/setup.c:249 +msgid "All downloads combined:" +msgstr "Jaitsiera guztiak konbinatuta:" + +#: src/fe-gtk/setup.c:257 +msgid "Default Messages" +msgstr "Lehenetsitako mezuak" + +#: src/fe-gtk/setup.c:258 +msgid "Quit:" +msgstr "Irten:" + +#: src/fe-gtk/setup.c:259 +msgid "Leave channel:" +msgstr "Irten kanaletik:" + +#: src/fe-gtk/setup.c:260 +msgid "Away:" +msgstr "Aldenduta:" + +#: src/fe-gtk/setup.c:262 +msgid "Away" +msgstr "Aldenduta" + +#: src/fe-gtk/setup.c:263 +msgid "Announce away messages" +msgstr "Iragarri aldentze mezuak" + +#: src/fe-gtk/setup.c:264 +msgid "Announce your away messages to all channels" +msgstr "Iragarri zure aldentze mezuak kanal guztietan" + +#: src/fe-gtk/setup.c:265 +msgid "Show away once" +msgstr "Erakutsi aldendu mezua behin" + +#: src/fe-gtk/setup.c:265 +msgid "Show identical away messages only once" +msgstr "" + +#: src/fe-gtk/setup.c:266 +msgid "Automatically unmark away" +msgstr "Automatikoki desmarkatu aldendu egoera" + +#: src/fe-gtk/setup.c:266 +msgid "Unmark yourself as away before sending messages" +msgstr "Desmarkatu aldendu egoeratik mezuak bidali aurretik" + +#: src/fe-gtk/setup.c:269 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "(~/.xchat2/ -ri erlatiboa den textu fitxategi bat izan daiteke)" + +#: src/fe-gtk/setup.c:271 +msgid "(Can be a text file relative to config dir)." +msgstr "(konfigurazio direktorioari erlatiboa den textu fitxategia izan daiteke)" + +#: src/fe-gtk/setup.c:275 +msgid "Alerts" +msgstr "Alertak" + +#: src/fe-gtk/setup.c:277 +msgid "Flash taskbar on highlighted messages" +msgstr "Flash egin ataza-barran mezu nabarmenduetan" + +#: src/fe-gtk/setup.c:279 +msgid "Beep on highlighted messages" +msgstr "Bip egin mezu nabarmenduetan" + +#: src/fe-gtk/setup.c:280 +msgid "Extra words to highlight on:" +msgstr "" + +#: src/fe-gtk/setup.c:281 +msgid "(Separate multiple words with commas)." +msgstr "(Banandu komaz hitzak)" + +#: src/fe-gtk/setup.c:282 +msgid "Beep on private messages" +msgstr "Bip egin mezu pribatuetan" + +#: src/fe-gtk/setup.c:283 +msgid "Beep on channel messages" +msgstr "Bip egin kanaletako mezuetan" + +#: src/fe-gtk/setup.c:290 +msgid "Advanced Settings" +msgstr "Ezarpen aurreratuak" + +#: src/fe-gtk/setup.c:291 +msgid "Auto reconnect delay:" +msgstr "Automatikoki berriz konektatzeko atzerapena:" + +#: src/fe-gtk/setup.c:292 +msgid "Display MODEs in raw form" +msgstr "Erakutsi MODEak era lauean" + +#: src/fe-gtk/setup.c:293 +msgid "Whois on notify" +msgstr "Egin whois jakinaraztean" + +#: src/fe-gtk/setup.c:293 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "/WHOIS komandoa egiten du jakinarezte zerrendako norbait konektatzean" + +#: src/fe-gtk/setup.c:294 +msgid "Hide join and part messages" +msgstr "Ezkutatu sartze/irtete mezuak" + +#: src/fe-gtk/setup.c:294 +msgid "Hide channel join/part messages by default" +msgstr "Lehenetsi kanalera sartze/ateratze mezuak eskutatzea" + +#: src/fe-gtk/setup.c:295 +msgid "Auto Open DCC Windows" +msgstr "Automatikoki ireki DCC leihoak" + +#: src/fe-gtk/setup.c:296 +msgid "Send window" +msgstr "Bidalketa leihoa" + +#: src/fe-gtk/setup.c:297 +msgid "Receive window" +msgstr "Jaso leihoa" + +#: src/fe-gtk/setup.c:298 +msgid "Chat window" +msgstr "Elkarrizketa leihoa" + +#: src/fe-gtk/setup.c:306 src/fe-gtk/setup.c:1461 +msgid "Logging" +msgstr "Logeatzen" + +#: src/fe-gtk/setup.c:307 +msgid "Enable logging of conversations" +msgstr "Gaitu elkarrizketen log-eaketa" + +#: src/fe-gtk/setup.c:308 +msgid "Log filename mask:" +msgstr "" + +#: src/fe-gtk/setup.c:309 +#, c-format +msgid "(%s=Server %c=Channel %n=Network)." +msgstr "(%s=Zerbitzaria %c=Kanala %n=Sarea)." + +#: src/fe-gtk/setup.c:312 +msgid "Insert timestamps in logs" +msgstr "Txertatu ordu arrastoak log-etan" + +#: src/fe-gtk/setup.c:313 +msgid "Log timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:314 +msgid "(See strftime manpage for details)." +msgstr "(Ikusi strftime-ren man orria xehetasunetarako)." + +#: src/fe-gtk/setup.c:321 +msgid "(Disabled)" +msgstr "(Desgaitua)" + +#: src/fe-gtk/setup.c:322 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:323 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:324 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:325 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:331 +msgid "Your Address" +msgstr "Zure helbidea" + +#: src/fe-gtk/setup.c:332 +msgid "Bind to:" +msgstr "Lotu honi:" + +#: src/fe-gtk/setup.c:333 +msgid "(Only useful for computers with multiple addresses)." +msgstr "(Helbide anitzak dituzten ordenagailuentzat bakarrik erabilgarria)" + +#: src/fe-gtk/setup.c:335 +msgid "Proxy Server" +msgstr "Proxy zerbitzaria" + +#: src/fe-gtk/setup.c:336 +msgid "Hostname:" +msgstr "Ostalari-izena" + +#: src/fe-gtk/setup.c:337 +msgid "Username:" +msgstr "Erabiltzaile izena:" + +#: src/fe-gtk/setup.c:338 +msgid "Password:" +msgstr "Pasahitza:" + +#: src/fe-gtk/setup.c:339 +msgid "Port:" +msgstr "Ataka:" + +#: src/fe-gtk/setup.c:340 +msgid "Type:" +msgstr "Mota:" + +#: src/fe-gtk/setup.c:342 +msgid "Authenticate to the proxy server (HTTP and Socks5)" +msgstr "Autentifikatu proxy zerbitzarian (HTTP eta Socks5)" + +#: src/fe-gtk/setup.c:565 +msgid "(disabled)" +msgstr "(desgaitua)" + +#: src/fe-gtk/setup.c:566 +msgid "A star (*)" +msgstr "Izar bat (*)" + +#: src/fe-gtk/setup.c:567 +msgid "A red star (*)" +msgstr "Izar gorri bat (*)" + +#: src/fe-gtk/setup.c:568 +msgid "Underlined" +msgstr "Azpimarratua" + +#: src/fe-gtk/setup.c:665 +msgid "Select an Image File" +msgstr "Aukeratu irudi fitxategi bat" + +#: src/fe-gtk/setup.c:712 +msgid "Select font" +msgstr "Aukeratu letra-tipoa" + +#: src/fe-gtk/setup.c:786 +msgid "Browse..." +msgstr "Arakatu..." + +#: src/fe-gtk/setup.c:903 +msgid "Mark identified users with:" +msgstr "" + +#: src/fe-gtk/setup.c:905 +msgid "Mark not-identified users with:" +msgstr "" + +#: src/fe-gtk/setup.c:968 +msgid "Select color" +msgstr "Aukeratu kolorea" + +#: src/fe-gtk/setup.c:1048 +msgid "Text Colors" +msgstr "Testu koloreak" + +#: src/fe-gtk/setup.c:1050 +msgid "mIRC colors:" +msgstr "mIRC koloreak:" + +#: src/fe-gtk/setup.c:1058 +msgid "Extra colors:" +msgstr "Kolore extrak:" + +#: src/fe-gtk/setup.c:1066 src/fe-gtk/setup.c:1071 +msgid "Foreground:" +msgstr "Aurreko planoa:" + +#: src/fe-gtk/setup.c:1067 src/fe-gtk/setup.c:1072 +msgid "Background:" +msgstr "Atzeko planoa:" + +#: src/fe-gtk/setup.c:1069 +msgid "Marking Text" +msgstr "Testua markatzen" + +#: src/fe-gtk/setup.c:1074 +msgid "Interface Colors" +msgstr "Interfazearen koloreak" + +#: src/fe-gtk/setup.c:1076 +msgid "New data:" +msgstr "Datu berria:" + +#: src/fe-gtk/setup.c:1077 +msgid "Marker line:" +msgstr "" + +#: src/fe-gtk/setup.c:1078 +msgid "New message:" +msgstr "Mezu berria:" + +#: src/fe-gtk/setup.c:1079 +msgid "Away user:" +msgstr "Aldendutako erabiltzailea:" + +#: src/fe-gtk/setup.c:1080 +msgid "Highlight:" +msgstr "Nabarmendu:" + +#: src/fe-gtk/setup.c:1176 src/fe-gtk/textgui.c:337 +msgid "Event" +msgstr "Gertaera" + +#: src/fe-gtk/setup.c:1182 +msgid "Sound file" +msgstr "Soinu fitxategia" + +#: src/fe-gtk/setup.c:1217 +msgid "Select a sound file" +msgstr "Aukeratu soinu fitxategi bat" + +#: src/fe-gtk/setup.c:1289 +msgid "Sound playing method:" +msgstr "Soinuak jotzeko metodoa:" + +#: src/fe-gtk/setup.c:1297 +msgid "External sound playing _program:" +msgstr "" + +#: src/fe-gtk/setup.c:1315 +msgid "_External program" +msgstr "_Programa externoa" + +#: src/fe-gtk/setup.c:1325 +msgid "_Automatic" +msgstr "_Automatikoa" + +#: src/fe-gtk/setup.c:1338 +msgid "Sound files _directory:" +msgstr "Soinu fitxategien _direktorioa:" + +#: src/fe-gtk/setup.c:1377 +msgid "Sound file:" +msgstr "Soinu fitxategia:" + +#: src/fe-gtk/setup.c:1392 +msgid "_Browse..." +msgstr "_Arakatu..." + +#: src/fe-gtk/setup.c:1403 +msgid "_Play" +msgstr "_Jo" + +#: src/fe-gtk/setup.c:1452 +msgid "Interface" +msgstr "Interfazea" + +#: src/fe-gtk/setup.c:1453 +msgid "Text box" +msgstr "Testu kaxa" + +#: src/fe-gtk/setup.c:1454 +msgid "Input box" +msgstr "Sarrera kaxa" + +#: src/fe-gtk/setup.c:1455 +msgid "User list" +msgstr "Erabiltzaile zerrenda" + +#: src/fe-gtk/setup.c:1457 +msgid "Colors" +msgstr "Koloreak" + +#: src/fe-gtk/setup.c:1459 +msgid "Chatting" +msgstr "Elkarrizketan" + +#: src/fe-gtk/setup.c:1460 +msgid "General" +msgstr "Orokorra" + +#: src/fe-gtk/setup.c:1462 +msgid "Sound" +msgstr "Soinua" + +#: src/fe-gtk/setup.c:1465 +msgid "Network" +msgstr "Sarea" + +#: src/fe-gtk/setup.c:1466 +msgid "Network setup" +msgstr "Sare konfigurazioa" + +#: src/fe-gtk/setup.c:1467 +msgid "File transfers" +msgstr "Fitxategi transferentziak" + +#: src/fe-gtk/setup.c:1574 +msgid "Categories" +msgstr "Kategoriak" + +#: src/fe-gtk/setup.c:1704 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Egindako ezarpen aldaketa batzuk berrabiaraztea behar dute guztizko efektua egin dezaten." + +#: src/fe-gtk/setup.c:1732 +msgid "X-Chat: Preferences" +msgstr "X-Chat: Hobespenak" + +#: src/fe-gtk/textgui.c:160 +msgid "There was an error parsing the string" +msgstr "Errore bat gertatu da karaktere-katea parseatzean" + +#: src/fe-gtk/textgui.c:168 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Seinale honek %d argumentu pasa ditu, $%d baliogabekoa da" + +#: src/fe-gtk/textgui.c:276 src/fe-gtk/textgui.c:299 +msgid "Print Texts File" +msgstr "Inprimatu testuen fitxategia" + +#: src/fe-gtk/textgui.c:340 +msgid "$ Number" +msgstr "$ Zenbakia" + +#: src/fe-gtk/textgui.c:350 +msgid "Edit Events" +msgstr "Editatu gertaerak" + +#: src/fe-gtk/textgui.c:418 +msgid "Save As" +msgstr "Gorde honela" + +#: src/fe-gtk/textgui.c:423 +msgid "Load From" +msgstr "Kargatu hemendik" + +#: src/fe-gtk/textgui.c:428 +msgid "Test All" +msgstr "Egiaztatu denak" + +#: src/fe-gtk/urlgrab.c:97 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:147 +msgid "Select a file to save to" +msgstr "Aukeratu hau gorde nahi den fitxategia" + +#: src/fe-gtk/urlgrab.c:187 +msgid "X-Chat: URL Grabber" +msgstr "X-Chat: URL hartzailea" + +#: src/fe-gtk/urlgrab.c:200 +msgid "Clear list" +msgstr "Garbitu zerrenda" + +#: src/fe-gtk/urlgrab.c:202 +msgid "Copy" +msgstr "Kopiatu" + +#: src/fe-gtk/urlgrab.c:204 +msgid "Save list to a file" +msgstr "Gorde zerrenda fitxategi batean" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d op, %d guztira" + +#~ msgid "X-Chat: Edit Key Bindings" +#~ msgstr "X-Chat: Editatu tekla-mapa" + +#~ msgid "Key Bindings..." +#~ msgstr "Tekla loturak..." + +#~ msgid "%C8,2 Type To/From Status Size Pos File %O%010%B%C9----------------------------------------------------%O" +#~ msgstr "%C8,2 Mota Nori/Nork Egoera Tamainua Pos Fitxategia %O%010%B%C9----------------------------------------------------%O" + +#~ msgid "-%C10-%C11-%O$t$1%O" +#~ msgstr "-%C10-%C11-%O$t$1%O" + +#~ msgid "%C08,02 %B-- Notify List --------------- %O" +#~ msgstr "%C08,02 %B-- Jakinaraztekoen zerrenda--- %O" + +#~ msgid "%C6<%O$1%C6>%O$t$2%O" +#~ msgstr "%C6<%O$1%C6>%O$t$2%O" + +#~ msgid "Lists" +#~ msgstr "Zerrendak" + +#~ msgid "Settings for %s" +#~ msgstr "%s-rentzat ezarpenak" + +#~ msgid "_Remove \"%s\"" +#~ msgstr "_Kendu \"%s\"" + +#~ msgid "_Add new server" +#~ msgstr "_Gehitu zerbitzari berri bat" + +#~ msgid "Move \"%s\" _down" +#~ msgstr "Mugitu \"%s\" _behera" + +#~ msgid "Move \"%s\" _up" +#~ msgstr "Mugitu \"%s\" g_ora" + +#~ msgid "_Add new network" +#~ msgstr "_Gehitu sare berri bat" + +#~ msgid "Global User Info" +#~ msgstr "Erabiltzaileen informazio globala" + +#~ msgid "Nick Names:" +#~ msgstr "Ezizenak:" + +#~ msgid "User Name:" +#~ msgstr "Erabiltzailearen izena:" + +#~ msgid "Servers" +#~ msgstr "Zerbitzariak" + +#~ msgid "Join Channels:" +#~ msgstr "Sartu kanaletara:" + +#~ msgid "Command to execute after connecting. Can be used to authenticate to NickServ" +#~ msgstr "Konektatu ostean ejekutatuko den komandoa. NickServ-en autentifikatzeko erabili daiteke" + +#~ msgid "Cycle until connected" +#~ msgstr "Ziklatu konektatu arte" + +#~ msgid "Use secure SSL" +#~ msgstr "Erabili SSL seguritatea" + +#~ msgid "Settings for Selected Network" +#~ msgstr "Aukeratutako sarearentzat ezarpenak" + +#~ msgid "Edit mode" +#~ msgstr "Edizio modua" + +#~ msgid "Networks" +#~ msgstr "Sareak" + +#~ msgid "Tint red:" +#~ msgstr "Tintatu gorriz:" + +#~ msgid "Tint green:" +#~ msgstr "Tintatu berdez:" + +#~ msgid "Tint blue:" +#~ msgstr "Tintatu urdinez:" + +#~ msgid "Double-click command:" +#~ msgstr "Klik bikoitzaren komandoa:" + +#~ msgid "Auto open DCC send list" +#~ msgstr "Automatikoki ireki DCC bidaltze zerrenda" + +#~ msgid "In filenames, before sending" +#~ msgstr "Fitxategietan, bidali aurretik" + +#~ msgid "Auto open DCC chat list" +#~ msgstr "Automatikoki ireki DCC elkarrizketa zerrenda" + +#~ msgid "Auto open DCC receive list" +#~ msgstr "Automatikoki ireki DCC jasotze zerrenda" + +#~ msgid "Default part message:" +#~ msgstr "Lehenetsitako kanal-irtete mezua:" + +#~ msgid "Default away message:" +#~ msgstr "Lehenetsitako mezua aldentzerakoan:" + +#~ msgid "Address to bind to:" +#~ msgstr "Lotuko den helbidea:" diff --git a/po/fi.po b/po/fi.po new file mode 100644 index 00000000..65f2a5ea --- /dev/null +++ b/po/fi.po @@ -0,0 +1,5341 @@ +# translation of xchat-2.8.4.po to finnish +# X-Chat Finnish translation. +# Copyright © 2001-2007 Gnome Finnish Translation Team. +# This file is distributed under the same license as the X-Chat package. +# +# Mika Laari <laari@iki.fi>, 2005-2007. +# Lauri Nurmi <lanurmi@iki.fi>, 2003-2004. +# Jarkko Ranta <jjranta@cc.joensuu.fi>, 2001-2002. +msgid "" +msgstr "" +"Project-Id-Version: xchat-2.8.4\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2007-06-24 13:05+1000\n" +"PO-Revision-Date: 2007-06-27 20:53+0300\n" +"Last-Translator: Mika Laari <laari@iki.fi>\n" +"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "Hakemiston ~/.xchat2 luominen epäonnistui" + +#: src/common/cfgfiles.c:712 +msgid "I'm busy" +msgstr "Olen kiireinen" + +#: src/common/cfgfiles.c:713 +msgid "Leaving" +msgstr "Lähdössä" + +#: src/common/cfgfiles.c:760 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* IRCin ajaminen pääkäyttäjänä on typerää!\n" +" Luo tavallinen käyttäjätunnus ja kirjaudu sillä.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Odottaa" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Aktiivinen" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Epäonnistui" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Valmis" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:797 +msgid "Connect" +msgstr "Yhdistetty" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Keskeytetty" + +#: src/common/dcc.c:1886 src/common/outbound.c:2452 +#, c-format +msgid "Cannot access %s\n" +msgstr "Tiedostoa %s ei voi käyttää\n" + +#: src/common/dcc.c:1887 src/common/text.c:1164 src/common/text.c:1202 +#: src/common/text.c:1213 src/common/text.c:1220 src/common/text.c:1233 +#: src/common/text.c:1250 src/common/text.c:1350 src/common/util.c:352 +msgid "Error" +msgstr "Virhe" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s tarjoaa tiedostoa \"%s\". Hyväksytäänkö?" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "Ei aktiivisia DCC-yhteyksiä\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "JAA " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "EI " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "CTCP-tulva käyttäjältä %s, ei huomioida osoitetta %s\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "Viestitulva käyttäjältä %s, poistetaan automaattinen keskustelunavaus käytöstä.\n" + +#: src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-14s tavoitettavissa\n" + +#: src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-14s tavoittamattomissa\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Millekään kanavalle ei ole liitytty. Kokeile /join #<kanava>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Mihinkään palvelimeen ei ole yhteyttä. Kokeile /server <isäntä> [<portti>]\n" + +#: src/common/outbound.c:339 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Merkitty jo poissaolevaksi: %s\n" + +#: src/common/outbound.c:409 +msgid "Already marked back.\n" +msgstr "Merkitty jo läsnäolevaksi.\n" + +#: src/common/outbound.c:1814 +msgid "I need /bin/sh to run!\n" +msgstr "Ajamiseen vaaditaan /bin/sh!\n" + +#: src/common/outbound.c:2185 +msgid "Commands Available:" +msgstr "Käytettävissä olevat komennot:" + +#: src/common/outbound.c:2199 +msgid "User defined commands:" +msgstr "Käyttäjän määrittelemät komennot:" + +#: src/common/outbound.c:2215 +msgid "Plugin defined commands:" +msgstr "Liitännäisten komennot:" + +#: src/common/outbound.c:2226 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Lisätietoja saat kirjoittamalla /HELP <komento> tai /HELP -l." + +#: src/common/outbound.c:2301 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Tuntematonta argumenttia \"%s\" ei huomioida." + +#: src/common/outbound.c:3235 +msgid "No such plugin found.\n" +msgstr "Liitännäistä ei löydy.\n" + +#: src/common/outbound.c:3240 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Liitännäinen ei suostu poistumaan käytöstä.\n" + +#: src/common/outbound.c:3509 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nimi> <toiminto>, lisää painikkeen käyttäjäluettelon alapuolelle" + +#: src/common/outbound.c:3511 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <komento>, lähettää komennon kaikille kanaville, joilla ollaan" + +#: src/common/outbound.c:3513 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <komento>, lähettää komennon kaikille kanaville, joilla olet." + +#: src/common/outbound.c:3515 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <komento>, lähettää komennon kaikille palvelimille, joilla ollaan" + +#: src/common/outbound.c:3516 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<syy>], merkitsee poissaolevaksi" + +#: src/common/outbound.c:3517 +msgid "BACK, sets you back (not away)" +msgstr "BACK, merkitsee läsnäolevaksi" + +#: src/common/outbound.c:3519 +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 <peite> [<bannityyppi>], bannaa jokaisen peitteeseen täsmäävän käyttäjän nykyiseltä kanavalta. Jos käyttäjät ovat jo kanavalla, tämä komento ei potkaise heitä (vaatii opit)" + +#: src/common/outbound.c:3521 +msgid "" +"Set per channel options\n" +"CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part messages\n" +"CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +"CHANOPT BEEP ON|OFF - Toggle beep on message\n" +"CHANOPT TRAY ON|OFF - Toggle tray blink on message" +msgstr "" +"Kanavakohtaiset asetukset\n" +"CHANOPT CONFMODE ON|OFF - Liittymis- ja poistumisviestit päälle tai pois\n" +"CHANOPT COLORPASTE ON|OFF - Värien kanssa liittäminen päälle tai pois\n" +"CHANOPT BEEP ON|OFF - Piippaus viestien saapuessa päälle tai pois\n" +"CHANOPT TRAY ON|OFF - Ilmoitusalueella välkytys päälle tai pois" + +#: src/common/outbound.c:3528 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR [ALL|HISTORY], tyhjentää nykyisen teksti-ikkunan tai komentohistorian" + +#: src/common/outbound.c:3529 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, sulkee nykyisen ikkunan/välilehden" + +#: src/common/outbound.c:3532 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <koodi|jokeri>, etsii maakoodin, esim. au = Australia." + +#: src/common/outbound.c:3534 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <käyttäjä> <viesti>, lähettää CTCP-viestin käyttäjälle, yleiset viestit ovat VERSION ja USERINFO" + +#: src/common/outbound.c:3536 +msgid "CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "CYCLE, poistuu nykyiseltä kanavalta ja palaa heti takaisin" + +#: src/common/outbound.c:3538 +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 "" +"\n" +"DCC GET <kutsumanimi> - hyväksy tarjottu tiedosto\n" +"DCC SEND [-maxcps=#] <knimi> [tiedosto] - lähetä tiedosto jollekulle\n" +"DCC PSEND [-maxcps=#] <knimi> [tiedosto] - lähetä tiedosto passiivitilaisena\n" +"DCC LIST - näytä DCC-luettelo\n" +"DCC CHAT <kutsumanimi> - ehdota DCC-keskustelua jollekulle\n" +"DCC PCHAT <kutsumanimi> - ehdota DCC-keskustelua passiivitilaisena\n" +"DCC CLOSE <tyyppi> <knimi> <tiedosto> - keskeytä DCC-siirto, esimerkiksi:\n" +" /dcc close send jarkkoranta tiedosto.tar.gz" + +#: src/common/outbound.c:3550 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <käyttäjä>, poistaa puoliopit käyttäjältä nykyisellä kanavalla (vaatii opit)" + +#: src/common/outbound.c:3552 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nimi>, poistaa painikkeen käyttäjäluettelon alta" + +#: src/common/outbound.c:3554 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <käyttäjä>, poistaa opit käyttäjältä nykyisellä kanavalla (vaatii opit)" + +#: src/common/outbound.c:3556 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <käyttäjä>, poistaa puheoikeuden käyttäjältä nykyisellä kanavalla (vaatii opit)" + +#: src/common/outbound.c:3557 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Katkaisee yhteyden palvelimelle" + +#: src/common/outbound.c:3558 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <käyttäjä|isäntä|ip>, etsii käyttäjän IP-osoitteen" + +#: src/common/outbound.c:3559 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <teksti>, tulostaa tekstiä paikallisesti" + +#: src/common/outbound.c:3562 +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] <komento>, ajaa komennon. Käytettäessä valitsinta -o tuloste lähetetään nykyiselle kanavalle, muutoin nykyiseen ikkunaan" + +#: src/common/outbound.c:3564 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, lähettää prosessille signaalin SIGCONT" + +#: src/common/outbound.c:3567 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], tappaa nykyisestä istunnosta käynnistetyn ohjelman. Käytettäessä valitsinta -9, prosessille lähetetään signaali SIGKILL" + +#: src/common/outbound.c:3569 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, lähettää prosessille signaalin SIGSTOP" + +#: src/common/outbound.c:3570 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, lähettää dataa prosessin vakiosyötteeseen" + +#: src/common/outbound.c:3574 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, tyhjentää nykyisen palvelimen lähetysjonon" + +#: src/common/outbound.c:3576 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <isäntä> [<portti>], käyttää isäntää välipalvelimena, oletusportti 23" + +#: src/common/outbound.c:3580 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <kutsumanimi> <salasana>, poistaa kummittelemaan jääneen kutsumanimen" + +#: src/common/outbound.c:3585 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <käyttäjä>, antaa puoliopit käyttäjälle (vaatii opit)" + +#: src/common/outbound.c:3586 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <salasana>, tunnistautuu NickServ-palvelulle." + +#: src/common/outbound.c:3588 +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 <peite> <tyypit..> <valitsimet..>\n" +" peite - peite, jonka mukaan jätetään huomiotta, esim: *!*@*.aol.com\n" +" tyypit - viestityypit, jotka jätetään huomiotta, yksi tai useampi:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" valitsimet - NOSAVE, QUIET" + +#: src/common/outbound.c:3595 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <käyttäjä> [<kanava>], kutsuu käyttäjän kanavalle, oletuksena nykyiselle (vaatii opit)" + +#: src/common/outbound.c:3596 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanava>, liittyy kanavalle" + +#: src/common/outbound.c:3598 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <käyttäjä>, potkaisee käyttäjän nykyiseltä kanavalta (vaatii opit)" + +#: src/common/outbound.c:3600 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <käyttäjä>, bannaa ja potkaisee käyttäjän nykyiseltä kanavalta (vaatii opit)" + +#: src/common/outbound.c:3603 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, pakottaa uuden viivetarkistuksen" + +#: src/common/outbound.c:3605 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <merkkijono>, etsii merkkijonoa puskurista" + +#: src/common/outbound.c:3607 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <tiedosto>, lataa liitännäisen tai komentotiedoston." + +#: src/common/outbound.c:3610 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, poistaa opit kaikilta nykyisen kanavan puoliopeilta (vaatii opit)" + +#: src/common/outbound.c:3612 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, poistaa opit kaikilta nykyisen kanavan opeilta (vaatii opit)" + +#: src/common/outbound.c:3614 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <toiminta>, lähettää toiminnan nykyiselle kanavalle (toiminnat kirjoitetaan kolmannessa persoonassa, kuten /me hyppää)" + +#: src/common/outbound.c:3618 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, potkaisee kaikki muut kanavalta (vaatii opit)" + +#: src/common/outbound.c:3621 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, antaa kanavaoperaattorin oikeudet kanavan kaikille käyttäjille (vaatii opit)" + +#: src/common/outbound.c:3622 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <käyttäjä> <viesti>, lähettää yksityisviestin" + +#: src/common/outbound.c:3625 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, luettelee nykyisellä kanavalla olevat käyttäjät" + +#: src/common/outbound.c:3627 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <käyttäjä> <viesti>, lähettää CTCP-tiedotteen" + +#: src/common/outbound.c:3628 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <isäntä> [<portti>]" + +#: src/common/outbound.c:3629 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <kutsumanimi>, asettaa oman kutsumanimesi" + +#: src/common/outbound.c:3632 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <käyttäjä/kanava> <viesti>, lähettää tiedotteen. Tiedotteet ovat viestejä, joihin tulee reagoida automaattisesti" + +#: src/common/outbound.c:3634 +msgid "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" +msgstr "NOTIFY [-n verkko1[,verkko2]] [<kutsumanimi>], näyttää ilmoitusluettelon tai lisää siihen jonkun" + +#: src/common/outbound.c:3636 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <käyttäjä>, antaa kanavaoperaattorin oikeudet käyttäjälle (vaatii opit)" + +#: src/common/outbound.c:3638 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanava>] [<syy>], poistuu kanavalta, oletuksena nykyiseltä" + +#: src/common/outbound.c:3640 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <käyttäjä | kanava>, CTCP-pingaa käyttäjää tai kanavaa" + +#: src/common/outbound.c:3642 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <käyttäjä>, avaa uuden ikkunan kahdenkeskistä keskustelua varten" + +#: src/common/outbound.c:3644 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<syy>], katkaisee yhteyden nykyiseen palvelimeen" + +#: src/common/outbound.c:3646 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <teksti>, lähettää tekstin raa'assa muodossa palvelimelle" + +#: src/common/outbound.c:3649 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<isäntä>] [<portti>] [<salasana>], voidaan kutsua /RECONNECT nykyiseen palvelimeen uudelleen yhdistämiseksi, tai /RECONNECT ALL kaikkiin avoimiin palvelimiin uudelleen yhdistämiseksi" + +#: src/common/outbound.c:3652 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<isäntä>] [<portti>] [<salasana>], voidaan kutsua /RECONNECT nykyiseen palvelimeen uudelleen yhdistämiseksi, tai /RECONNECT ALL kaikkiin avoimiin palvelimiin uudelleen yhdistämiseksi" + +#: src/common/outbound.c:3654 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <teksti>, lähetä raakaa dataa xchatille, aivan kuin se olisi vastaanotettu irc-palvelimelta" + +#: src/common/outbound.c:3657 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <teksti>, lähettää tekstin nykyisen ikkunan kanavalle/henkilölle" + +#: src/common/outbound.c:3658 +msgid "SEND <nick> [<file>]" +msgstr "SEND <käyttäjä> [<tiedosto>], lähettää käyttäjälle tiedoston" + +#: src/common/outbound.c:3661 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <isäntä> <portti> <kanava>, yhdistää ja liittyy kanavalle" + +#: src/common/outbound.c:3664 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <isäntä> <portti> <kanava>, yhdistää ja liittyy kanavalle" + +#: src/common/outbound.c:3668 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <isäntä> [<portti>] [<salasana>], yhdistää palvelimelle, oletusportti on 6667 tavanomaisille yhteyksille, 9999 ssl-yhteyksille" + +#: src/common/outbound.c:3671 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <isäntä> [<portti>] [<salasana>], yhdistää palvelimelle, oletusportti on 6667" + +#: src/common/outbound.c:3673 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-or] [-quiet] <muuttuja> [<arvo>], asettaa muuttujan arvon." + +#: src/common/outbound.c:3674 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<paikka>, asettaa kursorin haluttuun paikkaan." + +#: src/common/outbound.c:3679 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<aihe>], asettaa aiheen, jos se annetaan, muutoin näyttää nykyisen aiheen" + +#: src/common/outbound.c:3681 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" +"\n" +"TRAY -f <aika> <tied1> [<tied2>] Vuorottelee kahta kuvaketta ilmoitusalueella (välkyttää).\n" +"TRAY -f <tiedostonimi> Muuttumaton kuvake ilmoitusalueelle.\n" +"TRAY -i <numero> Välkyttää sisäänrakennettua kuvaketta.\n" +"TRAY -t <teksti> Asettaa ilmoitusalueen vihjetekstin.\n" +"TRAY -b <otsikko> <teksti> Asettaa ilmoitusalueen puhekuplan tekstin." + +#: src/common/outbound.c:3688 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <peite> [<peite>...], poistaa annettujen peitteiden bannin." + +#: src/common/outbound.c:3689 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <peite> [QUIET]" + +#: src/common/outbound.c:3690 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nimi>, poistaa käytöstä liitännäisen tai skriptin" + +#: src/common/outbound.c:3691 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, avaa URLin selaimeen" + +#: src/common/outbound.c:3693 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <nimi1> <nimi2> jne., valitsee nimet kanavan käyttäjäluettelosta" + +#: src/common/outbound.c:3696 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <käyttäjä>, antaa puheoikeuden käyttäjälle (vaatii opit)" + +#: src/common/outbound.c:3698 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <viesti>, kirjoittaa viestin kaikille kanaville" + +#: src/common/outbound.c:3700 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <viesti>, lähettää viestin kaikille nykyisen kanavan opeille" + +#: src/common/outbound.c:3733 +#, c-format +msgid "Usage: %s\n" +msgstr "Käyttö: %s\n" + +#: src/common/outbound.c:3738 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Komennolle ei ole saatavissa ohjetta.\n" + +#: src/common/outbound.c:3744 +msgid "No such command.\n" +msgstr "Komentoa ei ole.\n" + +#: src/common/outbound.c:4074 +msgid "Bad arguments for user command.\n" +msgstr "Virheelliset argumentit käyttäjäkomennolle.\n" + +#: src/common/outbound.c:4230 +msgid "Too many recursive usercommands, aborting." +msgstr "Liian monta rekursiivista käyttäjäkomentoa, keskeytetään." + +#: src/common/outbound.c:4307 +msgid "Unknown Command. Try /help\n" +msgstr "Tuntematon komento. Kokeile komentoa /help\n" + +#: src/common/plugin.c:356 src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Symbolia xchat_plugin_init ei ole; onko tämä todella xchat-liitännäinen?" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Onko tämä varmasti SSL:ää tukeva palvelin ja portti?\n" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Isäntänimen %s selvitys ei onnistu\n" +"Tarkista IP-asetukset!\n" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "Välipalvelimen kauttakulku epäonnistui.\n" + +#: src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Siirrytään seuraavalle %s-verkon palvelimelle...\n" + +#: src/common/servlist.c:1074 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Varoitus: merkistö \"%s\" on tuntematon. Verkossa %s ei käytetä mitään muunnosta." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 lisättiin ilmoitusluetteloon." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Banniluettelo: %C19$4 %C20$2 %C21$3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tEi voi liittyä kanavalle %C26%B$1%O (sinut on bannattu)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t%C26$1%O tunnetaan nyt nimellä %C26$2%O." + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 asettaa bannin $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tKanava $1 luotu $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O poistaa puolioperaattorin oikeudet käyttäjältä %C26$2%O." + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O poistaa kanavaoperaattorin oikeudet käyttäjältä %C26$2%O." + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O poistaa puheoikeuden käyttäjältä %C26$2%O." + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 asettaa erivapauden $2." + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O antaa puolioperaattorin oikeudet käyttäjälle %C26$2%O." + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t%C26$1%O asettaa kutsun käyttäjälle %C26$2%O." + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UKanava Käyttäjät Aihe%O" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t%C26$1%O asettaa tilan $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Kanavan $1 tilat: $2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O antaa kanavaoperaattorin oikeudet käyttäjälle %C26$2%O." + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t%C26$1%O poistaa erivapauden $2." + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t%C26$1%O poistaa kutsun $2." + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t%C26$1%O poistaa kanavan tunnussanan." + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t%C26$1%O poistaa käyttäjärajan." + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t%C26$1%O asettaa kanavan tunnussanaksi %C26$2%O." + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t%C26$1%O asettaa kanavan käyttäjärajaksi $2." + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t%C26$1%O poistaa bannin $2." + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O antaa puheoikeuden käyttäjälle %C26$2%O." + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Yhdistetty. Kirjaudutaan sisään..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Yhdistetään palvelimelle $1 ($2) porttiin $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Yhdistäminen epäonnistui. Virhe: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tVastaanotettiin CTCP $1 käyttäjältä $2." + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tVastaanotettiin CTCP $1 käyttäjältä $2 (kanavalle $3)." + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tVastaanotettiin CTCP-ääni $1 käyttäjältä $2." + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tVastaanotettiin CTCP-ääni $1 käyttäjältä $2 (kanavalle $3)." + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC-keskustelu käyttäjän %C26$1%O kanssa keskeytetty." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC-keskustelu avattu käyttäjän %C26$1%O kanssa. %C14[%O$2%C14]%O" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tDCC-keskustelu käyttäjän %C26$1%O kanssa katkesi. ($4.)" + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tKäyttäjä %C26$1%O ehdottaa DCC-keskustelua." + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tEhdotetaan DCC-keskustelua käyttäjälle %C26$1%O." + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tDCC-keskustelua on jo ehdotettu käyttäjälle %C26$1%O." + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 -yhteyttä ei saatu käyttäjään %C26$2%O (virhe=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tVastaanotettiin \"$1%O\" käyttäjältä %C26$2%O." + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18Tyyppi Vastapää Tila Koko Paikka Tiedosto " + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$tKäyttäjä %C26$1%O lähetti epäkelvon DCC-pyynnön.%010%C22*%O$tPaketin sisältö: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tTarjotaan tiedostoa %C26$1%O käyttäjälle %C26$2%O." + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tTuollaista DCC-lähetystä ei ole tarjottu." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV %C26$2%O käyttäjältä %C26$1%O keskeytetty." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tDCC RECV %C26$1%O käyttäjältä %C26$3%O valmis %C30[%C26$4%O t/s%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC RECV -yhteys muodostettu käyttäjään %C26$1 %C30[%O$2%C30]%O." + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV %C26$1%O käyttäjältä %C26$3%O epäonnistui. ($4.)" + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: Tiedostoon %C26$1%O ei voi kirjoittaa ($2)." + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tTiedosto %C26$1%O on jo olemassa, joten tallenetaan nimellä %C26$2%O." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1%O pyytää jatkamaan tiedoston %C26$2%O siirtoa kohdasta %C26$3%O." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND %C26$2%O käyttäjälle %C26$1%O keskeytetty." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC SEND %C26$1%O käyttäjälle %C26$2%O valmis %C30[%C26$3%O t/s%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC SEND -yhteys muodostettu käyttäjään %C26$1 %C30[%O$2%C30]%O." + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND %C26$1%O käyttäjälle %C26$2%O epäonnistui. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1%O tarjoaa tiedostoa %C26$2%O (%C26$3%O tavua)." + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1 %C26$2%O käyttäjälle %C26$3%O pysähtynyt - keskeytetään." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1 %C26$2%O käyttäjälle %C26$3%O aikakatkaistu - keskeytetään." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 poistettu ilmoitusluettelosta." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tYhteys katkaistu ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tOma IP löytyi: [$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O lisätty huomioimattomuusluetteloon." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Huomioimattomuutta %C26$1%O muutettu." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,28 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Isännän peite PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O poistettu huomioimattomuusluettelosta." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " Huomioimattomuusluettelo on tyhjä." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tKanavalle %C26%B$1%O ei voi liittyä (vain kutsutuille)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$t%C26$2%O kutsuu sinut kanavalle %C26$1%O (%C26$3%O)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1%B ($3) liittyi kanavalle $2." + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tKanavalle %C26%B$1%O ei voi liittyä (vaatii tunnussanan)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 potkaisi käyttäjän $2 kanavalta $3 ($4%O%C21)." + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$t$1 ($2%O) tappoi sinut." + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD ohitettu." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 on jo käytössä. Kokeillaan kutsumanimeä $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tKutsumanimi on jo käytössä. Kokeile jotain muuta komennolla /NICK." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tTuollaista DCC:tä ei ole." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tProsesseja ei ole käynnissä." + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tIlmoitusluettelo on tyhjä." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Ilmoitusluettelo " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$tIlmoitusluettelossa on $1 käyttäjä(ä)." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tIlmoitus: $1 on tavoittamattomissa ($3)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tIlmoitus: $1 on tavoitettavissa ($3)." + +# Miksi koodit %O%C23 ovat peräkkäin? +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 ($2) poistui kanavalta $3." + +# %O%C23 kaiketi peruuttaa muuttujista tulleet (väri)koodit, mutta miksi %B%B? +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1%O%C23 ($2) poistui kanavalta $3%O%C23 (%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tPing-vastaus käyttäjältä $1: $2 sekunti(a)." + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tPingiin ei ole vastattu $1 sekuntiin, katkaistaan yhteys." + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tProsessi on jo käynnissä." + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 lopetti ($2%O%C23)." + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 asettaa tilat %B%C30[%O$2%B%C30]." + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tEtsitään IP-osoitetta nimelle %C26$1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$tYhdistetty." + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$tEtsitään osoitetta %C26$1%C..." + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tPysäytettiin edellinen yhteysyritys (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Kanavan $1%C %C29aihe on: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 vaihtoi aiheeksi: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Aiheen kanavalle $1%C %C29on asettanut $2%C %C29$3." + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tTuntematon isäntä. Onkohan se kirjoitettu väärin?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tKanavalle %C26%B$1%O ei voi liittyä (Käyttäjäraja saavutettu)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Käyttäjät kanavalla $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2 %C27$3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28]%C on poissa %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28]%O WHOIS-luettelon loppu." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O jouten %C26$2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O jouten %C26$2%O, kirjautunut: %C26$3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O todellinen käyttäjä@isäntä %C27$2%O, todellinen IP %C27$3." + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Puhut nyt kanavalla $2." + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$t$3 potkaisi sinut kanavalta $2 ($4%O%C23)." + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tPoistuit kanavalta $3." + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tPoistuit kanavalta $3%O%C23 ($4%O%C23)." + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tKutsut käyttäjää %C26$1%O kanavalle %C26$2%O (%C26$3%O)." + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tKutsumanimesi on nyt $2." + +#: src/common/text.c:287 +msgid "Loaded log from" +msgstr "Loki luettiin tiedostosta" + +#: src/common/text.c:305 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** LOKIKIRJOITUS LOPPUU %s\n" + +#: src/common/text.c:514 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** LOKIKIRJOITUS ALKAA %s\n" + +#: src/common/text.c:533 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Lokitiedosto(j)a ei voi avata kirjoitusta varten.\n" +" Tarkista oikeudet hakemistossa %s/xchatlogs" + +#: src/common/text.c:871 +msgid "Left message" +msgstr "Vasen viesti" + +#: src/common/text.c:872 +msgid "Right message" +msgstr "Oikea viesti" + +#: src/common/text.c:876 +msgid "The nick of the joining person" +msgstr "Liittyvän henkilön kutsumanimi" + +#: src/common/text.c:877 +msgid "The channel being joined" +msgstr "Kanava, jolle liitytään" + +#: src/common/text.c:878 src/common/text.c:925 src/common/text.c:976 +msgid "The host of the person" +msgstr "Henkilön isäntänimi" + +#: src/common/text.c:882 src/common/text.c:888 src/common/text.c:895 +#: src/common/text.c:1083 src/common/text.c:1090 src/common/text.c:1095 +#: src/common/text.c:1100 src/common/text.c:1105 src/common/text.c:1111 +#: src/common/text.c:1116 src/common/text.c:1120 src/common/text.c:1126 +#: src/common/text.c:1132 src/common/text.c:1178 src/common/text.c:1189 +#: src/common/text.c:1194 src/common/text.c:1199 src/common/text.c:1208 +#: src/common/text.c:1219 src/common/text.c:1226 src/common/text.c:1232 +#: src/common/text.c:1237 src/common/text.c:1242 src/common/text.c:1249 +#: src/common/text.c:1255 src/common/text.c:1261 src/common/text.c:1266 +#: src/common/text.c:1271 src/common/text.c:1275 src/common/text.c:1281 +#: src/common/text.c:1289 src/common/text.c:1323 src/common/text.c:1328 +msgid "Nickname" +msgstr "Kutsumanimi" + +#: src/common/text.c:883 +msgid "The action" +msgstr "Toiminto" + +#: src/common/text.c:884 src/common/text.c:890 +msgid "Mode char" +msgstr "Tilamerkki" + +#: src/common/text.c:889 +msgid "The text" +msgstr "Teksti" + +#: src/common/text.c:891 src/common/text.c:897 +msgid "Identified text" +msgstr "Korostettava teksti" + +#: src/common/text.c:896 src/common/text.c:953 src/common/text.c:959 +msgid "The message" +msgstr "Viesti" + +#: src/common/text.c:901 src/common/text.c:963 +msgid "Old nickname" +msgstr "Vanha kutsumanimi" + +#: src/common/text.c:902 src/common/text.c:964 +msgid "New nickname" +msgstr "Uusi kutsumanimi" + +#: src/common/text.c:906 +msgid "Nick of person who changed the topic" +msgstr "Aihetta muuttaneen henkilön kutsumanimi" + +#: src/common/text.c:907 src/common/text.c:913 src/fe-gtk/chanlist.c:756 +#: src/fe-gtk/chanlist.c:859 +msgid "Topic" +msgstr "Aihe" + +#: src/common/text.c:908 src/common/text.c:912 src/common/text.c:1343 +#: src/fe-gtk/chanlist.c:754 src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Kanava" + +#: src/common/text.c:917 src/common/text.c:970 +msgid "The nickname of the kicker" +msgstr "Potkaisijan kutsumanimi" + +#: src/common/text.c:918 src/common/text.c:968 +msgid "The person being kicked" +msgstr "Potkaistava henkilö" + +#: src/common/text.c:919 src/common/text.c:926 src/common/text.c:930 +#: src/common/text.c:935 src/common/text.c:969 src/common/text.c:977 +#: src/common/text.c:984 +msgid "The channel" +msgstr "Kanava" + +#: src/common/text.c:920 src/common/text.c:971 src/common/text.c:978 +msgid "The reason" +msgstr "Syy" + +#: src/common/text.c:924 src/common/text.c:975 +msgid "The nick of the person leaving" +msgstr "Poistuvan henkilön kutsumanimi" + +#: src/common/text.c:931 src/common/text.c:937 +msgid "The time" +msgstr "Aika" + +#: src/common/text.c:936 +msgid "The creator" +msgstr "Luoja" + +#: src/common/text.c:941 src/fe-gtk/dccgui.c:763 src/fe-gtk/dccgui.c:994 +msgid "Nick" +msgstr "Kutsumanimi" + +#: src/common/text.c:942 src/common/text.c:1195 +msgid "Reason" +msgstr "Syy" + +#: src/common/text.c:943 src/common/text.c:1085 src/common/text.c:1168 +msgid "Host" +msgstr "Isäntä" + +#: src/common/text.c:947 src/common/text.c:952 src/common/text.c:957 +msgid "Who it's from" +msgstr "Keneltä se on" + +#: src/common/text.c:948 +msgid "The time in x.x format (see below)" +msgstr "Aika x.x-muodossa (katso alta)" + +#: src/common/text.c:958 src/common/text.c:995 +msgid "The Channel it's going to" +msgstr "Kanava, jolle se on menossa" + +#: src/common/text.c:982 +msgid "The sound" +msgstr "Ääni" + +#: src/common/text.c:983 src/common/text.c:989 src/common/text.c:994 +msgid "The nick of the person" +msgstr "Henkilön kutsumanimi" + +#: src/common/text.c:988 src/common/text.c:993 +msgid "The CTCP event" +msgstr "CTCP-tapahtuma" + +#: src/common/text.c:999 +msgid "The nick of the person who set the key" +msgstr "Tunnussanan asettaneen henkilön kutsumanimi" + +#: src/common/text.c:1000 +msgid "The key" +msgstr "Tunnussana" + +#: src/common/text.c:1004 +msgid "The nick of the person who set the limit" +msgstr "Rajan asettaneen henkilön kutsumanimi" + +#: src/common/text.c:1005 +msgid "The limit" +msgstr "Raja" + +#: src/common/text.c:1009 +msgid "The nick of the person who did the op'ing" +msgstr "Opit antaneen henkilön kutsumanimi" + +#: src/common/text.c:1010 +msgid "The nick of the person who has been op'ed" +msgstr "Opit saaneen henkilön kutsumanimi" + +#: src/common/text.c:1014 +msgid "The nick of the person who has been halfop'ed" +msgstr "Puoliopit saaneen henkilön kutsumanimi" + +#: src/common/text.c:1015 +msgid "The nick of the person who did the halfop'ing" +msgstr "Puoliopit antaneen henkilön kutsumanimi" + +#: src/common/text.c:1019 +msgid "The nick of the person who did the voice'ing" +msgstr "Puheoikeuden antaneen henkilön kutsumanimi" + +#: src/common/text.c:1020 +msgid "The nick of the person who has been voice'ed" +msgstr "Puheoikeuden saaneen henkilön kutsumanimi" + +#: src/common/text.c:1024 +msgid "The nick of the person who did the banning" +msgstr "Bannin asettajan kutsumanimi" + +#: src/common/text.c:1025 src/common/text.c:1052 +msgid "The ban mask" +msgstr "Bannipeite" + +#: src/common/text.c:1029 +msgid "The nick who removed the key" +msgstr "Tunnussanan poistajan kutsumanimi" + +#: src/common/text.c:1033 +msgid "The nick who removed the limit" +msgstr "Rajan poistajan kutsumanimi" + +#: src/common/text.c:1037 +msgid "The nick of the person of did the deop'ing" +msgstr "Opit poistaneen henkilön kutsumanimi" + +#: src/common/text.c:1038 +msgid "The nick of the person who has been deop'ed" +msgstr "Opit menettäneen henkilön kutsumanimi" + +#: src/common/text.c:1041 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Puoliopit menettäneen henkilön kutsumanimi" + +#: src/common/text.c:1042 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Puoliopit poistaneen henkilön kutsumanimi" + +#: src/common/text.c:1046 +msgid "The nick of the person of did the devoice'ing" +msgstr "Puheoikeuden poistaneen henkilön kutsumanimi" + +#: src/common/text.c:1047 +msgid "The nick of the person who has been devoice'ed" +msgstr "Puheoikeuden menettäneen henkilön kutsumanimi" + +#: src/common/text.c:1051 +msgid "The nick of the person of did the unban'ing" +msgstr "Bannin poistaneen henkilön kutsumanimi" + +#: src/common/text.c:1056 +msgid "The nick of the person who did the exempt" +msgstr "Erivapauden asettaneen henkilön kutsumanimi" + +#: src/common/text.c:1057 src/common/text.c:1062 +msgid "The exempt mask" +msgstr "Erivapauspeite" + +#: src/common/text.c:1061 +msgid "The nick of the person removed the exempt" +msgstr "Erivapauden poistaneen henkilön kutsumanimi" + +#: src/common/text.c:1066 +msgid "The nick of the person who did the invite" +msgstr "Kutsun esittäneen henkilön kutsumanimi" + +#: src/common/text.c:1067 src/common/text.c:1072 +msgid "The invite mask" +msgstr "Kutsupeite" + +#: src/common/text.c:1071 +msgid "The nick of the person removed the invite" +msgstr "Kutsun poistaneen henkilön kutsumanimi" + +#: src/common/text.c:1076 +msgid "The nick of the person setting the mode" +msgstr "Tilan asettaneen henkilön kutsumanimi" + +#: src/common/text.c:1077 +msgid "The mode's sign (+/-)" +msgstr "Tilan etumerkki (+/-)" + +#: src/common/text.c:1078 +msgid "The mode letter" +msgstr "Tilakirjain" + +#: src/common/text.c:1079 +msgid "The channel it's being set on" +msgstr "Kanava, jolle se asetetaan" + +#: src/common/text.c:1084 +msgid "Username" +msgstr "Käyttäjänimi" + +#: src/common/text.c:1086 +msgid "Full name" +msgstr "Koko nimi" + +#: src/common/text.c:1091 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Kanavan jäsenyys/\"on IRC-operaattori\"" + +#: src/common/text.c:1096 +msgid "Server Information" +msgstr "Palvelintiedot" + +#: src/common/text.c:1101 src/common/text.c:1106 +msgid "Idle time" +msgstr "Joutenoloaika" + +#: src/common/text.c:1107 +msgid "Signon time" +msgstr "Kirjautumisaika" + +#: src/common/text.c:1112 +msgid "Away reason" +msgstr "Poissaolon syy" + +#: src/common/text.c:1121 src/common/text.c:1127 src/common/text.c:1135 +#: src/common/text.c:1315 +msgid "Message" +msgstr "Viesti" + +#: src/common/text.c:1128 +msgid "Account" +msgstr "Tunnus" + +#: src/common/text.c:1133 +msgid "Real user@host" +msgstr "Todellinen käyttäjä@isäntä" + +#: src/common/text.c:1134 +msgid "Real IP" +msgstr "Todellinen IP" + +#: src/common/text.c:1139 src/common/text.c:1148 src/common/text.c:1154 +#: src/common/text.c:1184 src/common/text.c:1338 +msgid "Channel Name" +msgstr "Kanavanimi" + +#: src/common/text.c:1143 src/common/text.c:1301 src/fe-gtk/menu.c:1240 +#: src/fe-gtk/menu.c:1420 src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "Teksti" + +#: src/common/text.c:1144 src/common/text.c:1150 src/common/text.c:1179 +#: src/common/text.c:1297 src/common/text.c:1339 +msgid "Server Name" +msgstr "Palvelinnimi" + +#: src/common/text.c:1149 +msgid "Nick of person who invited you" +msgstr "Sinut kutsuneen henkilön nimi" + +#: src/common/text.c:1155 src/fe-gtk/chanlist.c:755 +msgid "Users" +msgstr "Käyttäjiä" + +#: src/common/text.c:1159 +msgid "Nickname in use" +msgstr "Kutsumanimi on käytössä" + +#: src/common/text.c:1160 +msgid "Nick being tried" +msgstr "Kokeiltava kutsumanimi" + +#: src/common/text.c:1169 src/common/text.c:1305 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1170 src/common/text.c:1201 +msgid "Port" +msgstr "Portti" + +#: src/common/text.c:1180 src/fe-gtk/notifygui.c:139 src/fe-gtk/setup.c:1669 +msgid "Network" +msgstr "Verkko" + +#: src/common/text.c:1185 src/common/text.c:1190 +msgid "Modes string" +msgstr "Tilamerkkijono" + +#: src/common/text.c:1200 src/common/text.c:1238 src/common/text.c:1243 +#: src/common/text.c:1284 +msgid "IP address" +msgstr "IP-osoite" + +#: src/common/text.c:1206 src/common/text.c:1231 +msgid "DCC Type" +msgstr "DCC-tyyppi" + +#: src/common/text.c:1207 src/common/text.c:1212 src/common/text.c:1217 +#: src/common/text.c:1224 src/common/text.c:1244 src/common/text.c:1248 +#: src/common/text.c:1254 src/common/text.c:1260 src/common/text.c:1267 +#: src/common/text.c:1276 src/common/text.c:1282 +msgid "Filename" +msgstr "Tiedostonimi" + +#: src/common/text.c:1218 src/common/text.c:1225 +msgid "Destination filename" +msgstr "Kohdetiedostonimi" + +#: src/common/text.c:1227 src/common/text.c:1256 +msgid "CPS" +msgstr "t/s" + +#: src/common/text.c:1262 +msgid "Pathname" +msgstr "Polku" + +#: src/common/text.c:1277 src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "Sijainti" + +#: src/common/text.c:1283 src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "Koko" + +#: src/common/text.c:1288 +msgid "DCC String" +msgstr "DCC-merkkijono" + +#: src/common/text.c:1293 +msgid "Number of notify items" +msgstr "Ilmoitusmerkintöjen määrä" + +#: src/common/text.c:1309 +msgid "Old Filename" +msgstr "Vanha tiedostonimi" + +#: src/common/text.c:1310 +msgid "New Filename" +msgstr "Uusi tiedostonimi" + +#: src/common/text.c:1314 +msgid "Receiver" +msgstr "Vastaanottaja" + +#: src/common/text.c:1319 +msgid "Hostmask" +msgstr "Isännän peite" + +#: src/common/text.c:1324 +msgid "Hostname" +msgstr "Isäntänimi" + +#: src/common/text.c:1329 +msgid "The Packet" +msgstr "Paketti" + +#: src/common/text.c:1333 +msgid "Seconds" +msgstr "Sekuntia" + +#: src/common/text.c:1337 +msgid "Nick of person who have been invited" +msgstr "Kutsutun henkilön kutsumanimi" + +#: src/common/text.c:1344 +msgid "Banmask" +msgstr "Bannipeite" + +#: src/common/text.c:1345 +msgid "Who set the ban" +msgstr "Kuka asetti bannin" + +#: src/common/text.c:1346 +msgid "Ban time" +msgstr "Bannausaika" + +#: src/common/text.c:1386 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Virhe tapahtuman %s jäsentämisessä.\n" +"Ladataan oletus" + +#: src/common/text.c:2079 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Äänitiedostoa ei voi lukea:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "Vastapää sulki pistokkeen" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Yhteys torjuttu" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "Ei reititystä isäntään" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Yhteys aikakatkaistu" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Osoitetta ei voi asettaa" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Vastapää katkaisi yhteyden" + +#: src/common/util.c:839 +msgid "Ascension Island" +msgstr "Ascension Island" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "Yhdistyneet Arabiemiraatit" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "Antigua ja Barbuda" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "Albania" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "Armenia" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "Alankomaiden Antillit" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:849 +msgid "Antarctica" +msgstr "Etelämanner" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "Argentiina" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "Käänteisnimipalvelu" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "Amerikan Samoa" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "Itävalta" + +#: src/common/util.c:854 +msgid "Nato Fiel" +msgstr "NATO" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:857 +msgid "Aland Islands" +msgstr "Ahvenanmaa" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "Azerbaidzan" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia ja Herzegovina" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "Belgia" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "Liike-elämä" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "Brunei" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "Brasilia" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "Bahamasaaret" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "Bouvet'n saari" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "Valko-Venäjä" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "Kookossaaret" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "Kongon demokraattinen tasavalta" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "Keski-Afrikan tasavalta" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "Sveitsi" + +#: src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "Norsunluurannikko" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "Cooksaaret" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:889 +msgid "China" +msgstr "Kiina" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "Kolumbia" + +#: src/common/util.c:891 +msgid "Internic Commercial" +msgstr "Kaupallinen" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "Serbia ja Montenegro" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "Kuuba" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "Kap Verde" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "Joulusaari" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "Kypros" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "Tšekinmaa" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "Saksa" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "Tanska" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "Dominikaaninen tasavalta" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "Algeria" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "Koulutuksellinen laitos (Yhdysvallat)" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "Viro" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "Egypti" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "Länsi-Sahara" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "Espanja" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "Etiopia" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "Euroopan unioni" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "Suomi" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "Fidzi" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "Falklandsaaret" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "Mikronesia" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "Färsaaret" + +#: src/common/util.c:919 +msgid "France" +msgstr "Ranska" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "Iso-Britannia" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "Georgia" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "Ranskan Guyana" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "Englannin kanaalin saaret" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "Grönlanti" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:931 +msgid "Government" +msgstr "Valtio (Yhdysvallat)" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "Päiväntasaajan Guinea" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "Kreikka" + +#: src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Etelä-Georgia ja Eteläiset Sandwichsaaret" + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "Hongkong" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "Heard ja McDonaldinsaaret" + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "Kroatia" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "Unkari" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "Indonesia" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "Irlanti" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "Mansaari" + +#: src/common/util.c:950 +msgid "India" +msgstr "Intia" + +#: src/common/util.c:951 +msgid "Informational" +msgstr "Tiedotuksellinen" + +#: src/common/util.c:952 +msgid "International" +msgstr "Kansainvälinen" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "Brittiläinen Intian valtameren alue" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "Islanti" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "Italia" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "Jamaika" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "Jordania" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "Japani" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "Kenia" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "Kirgisia" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "Kambodža" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "Komorit" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "Saint Kitts ja Nevis" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "Pohjois-Korea" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "Etelä-Korea" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "Caymansaaret" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "Kazakstan" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "Liettua" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "Luxemburg" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "Latvia" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "Libya" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "Marokko" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:987 +msgid "United States Medical" +msgstr "Lääketieteellinen (Yhdysvallat)" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "Marshallsaaret" + +#: src/common/util.c:990 +msgid "Military" +msgstr "Sotilaallinen (Yhdysvallat)" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "Makedonia" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "Macao" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "Pohjois-Mariaanit" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "Malediivit" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "Meksiko" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "Malesia" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "Mosambik" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "Uusi-Kaledonia" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:1010 +msgid "Internic Network" +msgstr "Verkko" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "Norfolkin saari" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "Alankomaat" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "Norja" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "Uusi-Seelanti" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "Aatteellinen järjestö" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "Ranskan Polynesia" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "Papua-Uusi-Guinea" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "Filippiinit" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "Puola" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "Saint-Pierre ja Miquelon" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "Brittiläinen Intian valtameren alue" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "Portugali" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "Réunion" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "Romania" + +#: src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "Vanha ARPAnet" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "Venäjän Federaatio" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "Saudi-Arabia" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "Salomosaaret" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "Seychellit" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "Ruotsi" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "Singapore" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "Saint Helena" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "Slovenia" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard- ja Jan Mayen -saaret" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "Slovakia" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "Sao Tome ja Principe" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "Entinen Neuvostoliitto" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "Syyria" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "Swasimaa" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "Turks- ja Cairossaaret" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "Tšad" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "Ranskan eteläiset maa-alueet" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "Thaimaa" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "Tadzikistan" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1069 src/common/util.c:1073 +msgid "East Timor" +msgstr "Itä-Timor" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "Tunisia" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "Turkki" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "Trinidad ja Tobago" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "Tansania" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "Ukraina" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "Iso-Britannia" + +#: src/common/util.c:1082 +msgid "United States of America" +msgstr "Yhdysvallat" + +#: src/common/util.c:1083 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:1084 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:1085 +msgid "Vatican City State" +msgstr "Vatikaanivaltio" + +#: src/common/util.c:1086 +msgid "St. Vincent and the Grenadines" +msgstr "Saint Vincent ja Grenadiinit" + +#: src/common/util.c:1087 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:1088 +msgid "British Virgin Islands" +msgstr "Brittiläiset Neitsytsaaret" + +#: src/common/util.c:1089 +msgid "US Virgin Islands" +msgstr "Neitsytsaaret" + +#: src/common/util.c:1090 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:1091 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1092 +msgid "Wallis and Futuna Islands" +msgstr "Wallis ja Futuna" + +#: src/common/util.c:1093 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1094 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:1095 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:1096 +msgid "Yugoslavia" +msgstr "Jugoslavia" + +#: src/common/util.c:1097 +msgid "South Africa" +msgstr "Etelä-Afrikka" + +#: src/common/util.c:1098 +msgid "Zambia" +msgstr "Sambia" + +#: src/common/util.c:1099 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/util.c:1109 src/common/util.c:1119 src/fe-gtk/menu.c:553 +#: src/fe-gtk/menu.c:558 src/fe-gtk/menu.c:562 src/fe-gtk/menu.c:566 +#: src/fe-gtk/menu.c:574 src/fe-gtk/menu.c:592 +msgid "Unknown" +msgstr "Tuntematon" + +#: src/common/xchat.c:767 src/common/xchat.c:893 +msgid "Open Dialog Window" +msgstr "Avaa keskusteluikkuna" + +#: src/common/xchat.c:768 +msgid "Send a File" +msgstr "Lähetä tiedosto" + +#: src/common/xchat.c:769 +msgid "User Info (WHOIS)" +msgstr "Käyttäjätiedot (WHOIS)" + +#: src/common/xchat.c:770 +msgid "Operator Actions" +msgstr "Opin toiminnot" + +#: src/common/xchat.c:772 src/common/xchat.c:863 +msgid "Give Ops" +msgstr "Anna opit" + +#: src/common/xchat.c:773 src/common/xchat.c:864 +msgid "Take Ops" +msgstr "Poista opit" + +#: src/common/xchat.c:774 src/common/xchat.c:867 +msgid "Give Voice" +msgstr "Anna puheoikeus" + +#: src/common/xchat.c:775 src/common/xchat.c:868 +msgid "Take Voice" +msgstr "Poista puheoikeus" + +#: src/common/xchat.c:777 src/common/xchat.c:872 +msgid "Kick/Ban" +msgstr "Potkaise/Bannaa" + +#: src/common/xchat.c:778 src/common/xchat.c:873 src/common/xchat.c:922 +msgid "Kick" +msgstr "Potkaise" + +#: src/common/xchat.c:779 src/common/xchat.c:780 src/common/xchat.c:781 +#: src/common/xchat.c:782 src/common/xchat.c:783 src/common/xchat.c:874 +#: src/common/xchat.c:875 src/common/xchat.c:876 src/common/xchat.c:877 +#: src/common/xchat.c:878 src/common/xchat.c:921 +msgid "Ban" +msgstr "Bannaa" + +#: src/common/xchat.c:784 src/common/xchat.c:785 src/common/xchat.c:786 +#: src/common/xchat.c:787 src/common/xchat.c:879 src/common/xchat.c:880 +#: src/common/xchat.c:881 src/common/xchat.c:882 +msgid "KickBan" +msgstr "Potkaise ja bannaa" + +#: src/common/xchat.c:850 +msgid "Direct client-to-client" +msgstr "Suora vertaisyhteys" + +#: src/common/xchat.c:851 +msgid "Send File" +msgstr "Lähetä tiedosto" + +#: src/common/xchat.c:852 +msgid "Offer Chat" +msgstr "Ehdota keskustelua" + +#: src/common/xchat.c:853 +msgid "Abort Chat" +msgstr "Keskeytä keskustelu" + +#: src/common/xchat.c:854 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Versio" + +#: src/common/xchat.c:855 +msgid "Userinfo" +msgstr "Käyttäjätiedot" + +#: src/common/xchat.c:856 +msgid "Clientinfo" +msgstr "Asiakasohjelmatiedot" + +#: src/common/xchat.c:857 src/common/xchat.c:891 src/common/xchat.c:939 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:858 +msgid "Time" +msgstr "Aika" + +#: src/common/xchat.c:859 +msgid "Finger" +msgstr "Tunnustelu" + +#: src/common/xchat.c:860 +msgid "Oper" +msgstr "Operaattori" + +#: src/common/xchat.c:861 +msgid "Kill this user" +msgstr "Tapa tämä käyttäjä" + +#: src/common/xchat.c:862 +msgid "Mode" +msgstr "Tila" + +#: src/common/xchat.c:865 +msgid "Give Half-Ops" +msgstr "Anna puoliopit" + +#: src/common/xchat.c:866 +msgid "Take Half-Ops" +msgstr "Poista puoliopit" + +#: src/common/xchat.c:869 +msgid "Ignore" +msgstr "Jätä huomiotta" + +#: src/common/xchat.c:870 +msgid "Ignore User" +msgstr "Jätä käyttäjä huomiotta" + +#: src/common/xchat.c:871 +msgid "UnIgnore User" +msgstr "Huomioi käyttäjä jälleen" + +#: src/common/xchat.c:883 +msgid "Info" +msgstr "Tiedot" + +#: src/common/xchat.c:884 +msgid "Who" +msgstr "Kuka" + +#: src/common/xchat.c:885 src/common/xchat.c:935 +msgid "WhoIs" +msgstr "KukaOn" + +#: src/common/xchat.c:886 +msgid "DNS Lookup" +msgstr "DNS-haku" + +#: src/common/xchat.c:887 +msgid "Trace" +msgstr "Jäljitä" + +#: src/common/xchat.c:888 +msgid "UserHost" +msgstr "KäyttäjäIsäntä" + +#: src/common/xchat.c:889 +msgid "External" +msgstr "Ulkoiset" + +#: src/common/xchat.c:890 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:892 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:904 +msgid "Leave Channel" +msgstr "Poistu kanavalta" + +#: src/common/xchat.c:905 src/fe-gtk/menu.c:1427 +msgid "Join Channel..." +msgstr "Liity kanavalle..." + +#: src/common/xchat.c:906 src/fe-gtk/menu.c:1117 +msgid "Enter Channel to Join:" +msgstr "Anna liityttävän kanavan nimi:" + +#: src/common/xchat.c:907 +msgid "Server Links" +msgstr "Palvelinlinkit" + +#: src/common/xchat.c:908 +msgid "Ping Server" +msgstr "Pingaa palvelinta" + +#: src/common/xchat.c:909 +msgid "Hide Version" +msgstr "Piilota versionumero" + +#: src/common/xchat.c:919 +msgid "Op" +msgstr "Oppaa" + +#: src/common/xchat.c:920 +msgid "DeOp" +msgstr "Opit pois" + +#: src/common/xchat.c:923 +msgid "bye" +msgstr "heihei" + +#: src/common/xchat.c:924 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Anna syy miksi %s potkaistaan:" + +#: src/common/xchat.c:925 +msgid "Sendfile" +msgstr "Lähetä" + +#: src/common/xchat.c:926 +msgid "Dialog" +msgstr "Keskustele" + +#: src/common/xchat.c:936 +msgid "Send" +msgstr "Lähetä" + +#: src/common/xchat.c:937 +msgid "Chat" +msgstr "Keskustelu" + +#: src/common/xchat.c:938 src/fe-gtk/banlist.c:341 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Tyhjennä" + +#: src/common/dbus/dbus-client.c:71 +msgid "Couldn't connect to session bus" +msgstr "Istuntoväylään ei saatu yhteyttä" + +#: src/common/dbus/dbus-client.c:85 +msgid "Failed to complete NameHasOwner" +msgstr "NameHasOwner-komennon suoritus epäonnistui" + +#: src/common/dbus/dbus-client.c:106 +msgid "Failed to complete Command" +msgstr "Komennon suoritus epäonnistui" + +# PNAME-makron sisältö (liitännäisen nimi) +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "etäkäyttö" + +# PDESC-makron sisältö (liitännäisen kuvaus) +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "Liitännäinen, joka mahdollistaa etäkäytön DBUS-yhteyden yli." + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Istuntoväylään ei saatu yhteyttä: %s\n" + +# Parametrit ovat dbus-palvelu (DBUS_SERVICE) +# ja virheilmoitus. +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Virhe palvelussa %s: %s\n" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "Tietoja XChatista" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "Usealla alustalla toimiva IRC-asiakasohjelma" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Merkistökartta" + +#: src/fe-gtk/banlist.c:113 src/fe-gtk/chanlist.c:305 +#: src/fe-gtk/plugin-tray.c:217 +msgid "Not connected." +msgstr "Palvelimeen ei ole yhteyttä." + +#: src/fe-gtk/banlist.c:154 src/fe-gtk/banlist.c:257 +msgid "You must select some bans." +msgstr "Valitse vähintään yksi banni." + +#: src/fe-gtk/banlist.c:206 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "Poistetaanko kaikki kanavan %s bannit?" + +#: src/fe-gtk/banlist.c:272 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Peite" + +#: src/fe-gtk/banlist.c:273 +msgid "From" +msgstr "Keneltä" + +#: src/fe-gtk/banlist.c:274 +msgid "Date" +msgstr "Päiväys" + +#: src/fe-gtk/banlist.c:317 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Banniluettelon voi avata vain, kun jokin kanavaikkuna on valittuna." + +#: src/fe-gtk/banlist.c:321 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: Banniluettelo (%s)" + +#: src/fe-gtk/banlist.c:337 +msgid "Unban" +msgstr "Poista banni" + +#: src/fe-gtk/banlist.c:339 +msgid "Crop" +msgstr "Poista muut" + +#: src/fe-gtk/banlist.c:343 +msgid "Refresh" +msgstr "Päivitä" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Näkyvillä on %d/%d käyttäjää %d/%d kanavalla." + +#: src/fe-gtk/chanlist.c:522 src/fe-gtk/menu.c:1053 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Valitse tulostiedoston nimi" + +#: src/fe-gtk/chanlist.c:626 src/fe-gtk/chanlist.c:789 +msgid "_Join Channel" +msgstr "Liity kanavalle" + +#: src/fe-gtk/chanlist.c:628 +msgid "_Copy Channel Name" +msgstr "Kopioi kanavanimi" + +#: src/fe-gtk/chanlist.c:630 +msgid "Copy _Topic Text" +msgstr "Kopioi kanavan aihepiiriteksti" + +#: src/fe-gtk/chanlist.c:714 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: Kanavaluettelo (%s)" + +#: src/fe-gtk/chanlist.c:771 +msgid "_Search" +msgstr "Hae" + +# Radionappula +#: src/fe-gtk/chanlist.c:777 +msgid "_Download List" +msgstr "Lataa luettelo" + +#: src/fe-gtk/chanlist.c:783 +msgid "Save _List..." +msgstr "Tallenna luettelo..." + +#: src/fe-gtk/chanlist.c:796 +msgid "Show only:" +msgstr "Näytä vain:" + +#: src/fe-gtk/chanlist.c:808 +msgid "channels with" +msgstr "kanavat, joilla on" + +#: src/fe-gtk/chanlist.c:821 +msgid "to" +msgstr "—" + +#: src/fe-gtk/chanlist.c:833 +msgid "users." +msgstr "käyttäjää." + +#: src/fe-gtk/chanlist.c:839 +msgid "Look in:" +msgstr "Käy läpi:" + +#: src/fe-gtk/chanlist.c:851 +msgid "Channel name" +msgstr "Kanavanimi" + +#: src/fe-gtk/chanlist.c:872 +msgid "Search type:" +msgstr "Hakutapa:" + +#: src/fe-gtk/chanlist.c:879 +msgid "Simple Search" +msgstr "Yksinkertainen haku" + +# MSWin-versioon +#: src/fe-gtk/chanlist.c:880 +msgid "Pattern Match (Wildcards)" +msgstr "Hakulauseke (jokerimerkit)" + +#: src/fe-gtk/chanlist.c:882 +msgid "Regular Expression" +msgstr "Säännöllinen lauseke" + +#: src/fe-gtk/chanlist.c:893 src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Etsi:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "Lähetä tiedosto käyttäjälle %s" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "Tämän tiedoston siirtoa ei voi jatkaa." + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Tiedostoa ei voi käsitellä: %s\n" +"%s.\n" +"Jatkaminen ei ole mahdollista." + +#: src/fe-gtk/dccgui.c:507 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "Tiedosto latauskansiossa on suurempi kuin tarjottu tiedosto. Jatkaminen ei ole mahdollista." + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "Saman tiedoston siirtoa ei voi jatkaa kahdelta käyttäjältä." + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: Tiedostonsiirrot" + +#: src/fe-gtk/dccgui.c:756 src/fe-gtk/dccgui.c:993 src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "Tila" + +#: src/fe-gtk/dccgui.c:757 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Tiedosto" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "Arvioitu aika" + +# Näkymää rajaava radionappula +#: src/fe-gtk/dccgui.c:784 src/fe-gtk/menu.c:1421 +msgid "Both" +msgstr "Molemmat" + +# Radionappula +#: src/fe-gtk/dccgui.c:790 +msgid "Uploads" +msgstr "Lähetykset" + +# Radionappula +#: src/fe-gtk/dccgui.c:796 +msgid "Downloads" +msgstr "Lataukset" + +# Näyttää tiedoston koko polun omalla koneella +# ja siirtoon käytettävän IP-osoitteen ja portin. +#: src/fe-gtk/dccgui.c:801 +msgid "Details" +msgstr "Lisätiedot" + +#: src/fe-gtk/dccgui.c:812 +msgid "File:" +msgstr "Tiedosto:" + +#: src/fe-gtk/dccgui.c:813 +msgid "Address:" +msgstr "Osoite:" + +#: src/fe-gtk/dccgui.c:819 src/fe-gtk/dccgui.c:1014 +msgid "Abort" +msgstr "Keskeytä" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1015 +msgid "Accept" +msgstr "Hyväksy" + +#: src/fe-gtk/dccgui.c:821 +msgid "Resume" +msgstr "Jatka" + +#: src/fe-gtk/dccgui.c:822 +msgid "Open Folder..." +msgstr "Avaa kansio..." + +#: src/fe-gtk/dccgui.c:982 +msgid "XChat: DCC Chat List" +msgstr "XChat: DCC-keskusteluluettelo" + +#: src/fe-gtk/dccgui.c:995 +msgid "Recv" +msgstr "Saapunut" + +#: src/fe-gtk/dccgui.c:996 +msgid "Sent" +msgstr "Lähetetty" + +#: src/fe-gtk/dccgui.c:997 +msgid "Start Time" +msgstr "Aloitusaika" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*UUSI*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "MUOKKAA TÄTÄ" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Nimi" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Komento" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Siirrä ylemmäs" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Siirrä alemmas" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Peru" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Tallenna" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Lisää uusi" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Poista" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Lajittele" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Ohje" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "ei ota yhteyttä palvelimiin" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "käyttää erityistä asetushakemistoa" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "ei lataa liitännäisiä" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "näyttää vakioliitännäisten hakemiston" + +#: src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "näyttää käyttäjän asetushakemiston" + +#: src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "avaa URLin (irc://palvelin:portti/kanava)" + +#: src/fe-gtk/fe-gtk.c:133 +msgid "Open URL in an existing XChat" +msgstr "Avaa URL käynnissä olevaan XChattiin" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Aloita pienennettynä. Taso: 0=tavallinen, 1=kuvakkeena, 2=ilmoitusalueella" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "level" +msgstr "taso" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "Show version information" +msgstr "näyttää versiotiedot" + +#: src/fe-gtk/fe-gtk.c:256 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Kirjasimen avaaminen ei onnistunut:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:635 +msgid "Search buffer is empty.\n" +msgstr "Hakupuskuri on tyhjä.\n" + +#: src/fe-gtk/fe-gtk.c:731 +#, c-format +msgid "%d bytes" +msgstr "%d tavua" + +#: src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Verkon lähetysjonossa on %d tavua." + +#: src/fe-gtk/fkeys.c:159 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "Run Command -komento ajaa Data 1:n sisällön, kuin se olisi kirjoitettu syötekenttään, jossa näppäinyhdistelmää painettiin. Se voi siis sisältää tekstiä (joka lähetetään kanavalle/henkilölle), komentoja tai käyttäjäkomentoja. Ajettaessa kaikki Data 1:n sisältämät \\n-merkit tulkitaan komentojen erottimiksi; siten on mahdollista ajaa useampi komento. Jos haluat \\-merkin varsinaiseen tekstiin, käytä merkintää \\\\" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "Change Page -komento siirtyy välilehdeltä toiselle. Aseta Data 1:n arvoksi lehti, jolle halutaan siirtyä. Jos Data 2 on asetettu, siirtyminen on suhteessa nykyiseen sijaintiin" + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "Insert in Buffer -komento lisää Data 1:n sisällön syöteriville kohdistimen kohdalle" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "Scroll Page -komento vierittää tekstikenttää (Data 1:n arvosta riippuen) ylös tai alas yhden sivun (Up, Down) tai rivin (+1, -1) verran." + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "Set Buffer -komento asettaa syöteriviksi Data 1:n sisällön" + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "Last Command -komento asettaa syöteriviksi edellisen annetun komennon - vastaa ylänuolen painamista kuoressa" + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "Next Command -komento asettaa syöteriviksi seuraavan annetun komennon - vastaa alanuolen painamista kuoressa" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "Tämä komento täydentää syöterivillä osoittimen edellä olevan epätäydellisen kutsumanimen tai komennon. Jos Data 1 on asetettu, kaksi kertaa painaminen valitsee edellisen kutsumanimen, ei seuraavaa" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "Tämä komento vierittää käyttäjäluetteloa ylös ja alas. Jos Data 1 on asetettu, luetteloa vieritetään ylös, muutoin alas" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "Tämä komento vertaa viimeistä annettua sanaa korvauslistaan ja muuttaa sen,jos löytyy täsmäävyys." + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "Tämä komento siirtää päällimmäistä välilehteä yhden vasemmalle" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "Tämä komento siirtää päällimmäistä välilehteä yhden oikealle" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "Tämä komento siirtää nykyistä välilehtiötä vasemmalle" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "Tämä komento siirtää nykyistä välilehtiötä oikealle" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "Lisää syöterivin historiaan, mutta ei lähetä palvelimelle" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "Virhe ladattaessa näppäinsidonta-asetuksia" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1616 src/fe-gtk/maingui.c:1719 +#: src/fe-gtk/maingui.c:3201 +msgid "<none>" +msgstr "<ei mitään>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "Määre" + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Näppäin" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Toiminto" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: Pikanäppäimet" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Vaihto" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "Data 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "Data 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "Virhe avattaessa näppäinasetustiedostoa\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Tuntematon näppäinnimi %s näppäinsidontojen asetustiedostossa\n" +"Lataus keskeytetty, korjaa tiedosto %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Tuntematon toiminto %s näppäinsidontojen asetustiedostossa\n" +"Lataus keskeytetty, korjaa tiedosto %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Odotettiin Datariviä (alku Dx{:|!}), mutta saatiin:\n" +"%s\n" +"\n" +"Lataus keskeytetty, korjaa tiedosto %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Näppäinsidontojen asetustiedosto on turmeltunut, lataus keskeytetty\n" +"Korjaa tiedosto %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "Antamaasi tiedostoon ei voi kirjoittaa." + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "Antamaasi tiedostoa ei voi lukea." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "Kyseinen peite on jo olemassa." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:2100 +msgid "Private" +msgstr "Yksityiset" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Tiedotteet" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Kutsut" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Huomioi toistaiseksi" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Anna peite huomiotta jätettäville:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "XChat: Huomioimattomuusluettelo" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Huomioimattomuustilastot:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Kavavia:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Yksityisiä:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Ilmoituksia:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Kutsuja:" + +# Tarkistettava +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:420 +msgid "Add..." +msgstr "Lisää uusi..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "Kanavan nimi on liian lyhyt. Yritä uudestaan." + +# Sen ikkunan otsikko, joka ilmoittaa, että +# palvelimeen on saatu yhteys. +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: Yhteys muodostettu" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "Yhteys palvelimeen %s on valmis." + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "Palvelinluetteloon ei ole tälle IRC-verkolle syötetty yhtään kanavaa, joille tulisi liittyä automaattisesti." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Mitä haluat tehdä?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_En mitään, liityn kanaville itse." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "_Liittyä kanavalle:" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Jos tiedät mille kanavalle haluat liittyä, kirjoita sen nimi tähän." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "Avata kanava_luettelon:" + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "Kanavaluettelon kerääminen saattaa kestää parikin minuuttia." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "Näytä tämä valintaikkuna _aina, kun yhteys on muodostettu." + +# Keskusteluikkunan otsikko. Perään tulee +# keskustelukumppanin nimi ja palvelin. +#: src/fe-gtk/maingui.c:500 +msgid "Dialog with" +msgstr "Keskustelijana" + +#: src/fe-gtk/maingui.c:787 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Kanavan %s aihe on: %s" + +#: src/fe-gtk/maingui.c:792 +msgid "No topic is set" +msgstr "Kanavalla ei ole aihetta." + +#: src/fe-gtk/maingui.c:1177 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "Palvelimelta on edelleen auki %d kanavaa tai keskustelua. Suljetaanko kaikki?" + +#: src/fe-gtk/maingui.c:1304 +msgid "Quit XChat?" +msgstr "Lopetetaanko XChat?" + +#: src/fe-gtk/maingui.c:1325 +msgid "Don't ask next time." +msgstr "Älä kysy jatkossa." + +#: src/fe-gtk/maingui.c:1331 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Ollaan yhteydessä %i IRC-verkkoon." + +#: src/fe-gtk/maingui.c:1333 +msgid "Are you sure you want to quit?" +msgstr "Lopetetaanko varmasti?" + +#: src/fe-gtk/maingui.c:1335 +msgid "Some file transfers are still active." +msgstr "Tiedostonsiirtoja on vielä käynnissä." + +#: src/fe-gtk/maingui.c:1353 +msgid "_Minimize to Tray" +msgstr "Pienennä ilmoitusalueelle" + +# syöttökentän tilannevalikko +#: src/fe-gtk/maingui.c:1567 +msgid "Insert Attribute or Color Code" +msgstr "Lisää määre tai värikoodi" + +#: src/fe-gtk/maingui.c:1569 +msgid "<b>Bold</b>" +msgstr "<b>Lihavoitu</b>" + +#: src/fe-gtk/maingui.c:1570 +msgid "<u>Underline</u>" +msgstr "<u>Alleviivattu</u>" + +#: src/fe-gtk/maingui.c:1572 +msgid "Normal" +msgstr "Tavallinen" + +#: src/fe-gtk/maingui.c:1574 +msgid "Colors 0-7" +msgstr "Värit 0–7" + +#: src/fe-gtk/maingui.c:1584 +msgid "Colors 8-15" +msgstr "Värit 8–15" + +#: src/fe-gtk/maingui.c:1629 +msgid "Beep on message" +msgstr "Anna äänimerkki viestin saapuessa" + +#: src/fe-gtk/maingui.c:1632 +msgid "Blink tray on message" +msgstr "Välkytä ilmoitusalueella viestin saapuessa" + +#: src/fe-gtk/maingui.c:1635 +msgid "Show join/part messages" +msgstr "Näytä liittymis/poistumisviestit" + +#: src/fe-gtk/maingui.c:1637 +msgid "Color paste" +msgstr "Liitä väritysten kanssa" + +#: src/fe-gtk/maingui.c:1647 src/fe-gtk/menu.c:1950 +msgid "_Close Tab" +msgstr "_Sulje välilehti" + +#: src/fe-gtk/maingui.c:1649 src/fe-gtk/menu.c:1949 +msgid "_Detach Tab" +msgstr "_Irrota välilehti" + +#: src/fe-gtk/maingui.c:1968 src/fe-gtk/maingui.c:2074 +msgid "User limit must be a number!\n" +msgstr "Käyttäjärajan tulee olla numero!\n" + +#: src/fe-gtk/maingui.c:2096 +msgid "Topic Protection" +msgstr "Aiheensuojaus" + +#: src/fe-gtk/maingui.c:2097 +msgid "No outside messages" +msgstr "Ei ulkopuolisia viestejä" + +#: src/fe-gtk/maingui.c:2098 +msgid "Secret" +msgstr "Salainen" + +#: src/fe-gtk/maingui.c:2099 +msgid "Invite Only" +msgstr "Vain kutsutuille" + +#: src/fe-gtk/maingui.c:2101 +msgid "Moderated" +msgstr "Moderoitu" + +#: src/fe-gtk/maingui.c:2102 +msgid "Ban List" +msgstr "Banniluettelo" + +#: src/fe-gtk/maingui.c:2104 +msgid "Keyword" +msgstr "Tunnussana" + +#: src/fe-gtk/maingui.c:2116 +msgid "User Limit" +msgstr "Käyttäjäraja" + +#: src/fe-gtk/maingui.c:2225 +msgid "Show/Hide userlist" +msgstr "Näytä/piilota käyttäjäluettelo" + +#: src/fe-gtk/maingui.c:2350 +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 "" +"Taustaa ei voi asettaa läpikuultavaksi!\n" +"\n" +"Ikkunointiohjelma on ehkä epäyhteensopiva,\n" +"eikä sitä tällä hetkellä tueta.\n" + +#: src/fe-gtk/maingui.c:2621 +msgid "Enter new nickname:" +msgstr "Anna uusi kutsumanimi:" + +#: src/fe-gtk/menu.c:124 +msgid "Host unknown" +msgstr "Tuntematon isäntä" + +#: src/fe-gtk/menu.c:544 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:549 src/fe-gtk/menu.c:553 +msgid "Real Name:" +msgstr "Oikea nimi:" + +#: src/fe-gtk/menu.c:557 +msgid "User:" +msgstr "Käyttäjä:" + +#: src/fe-gtk/menu.c:561 +msgid "Country:" +msgstr "Maa:" + +#: src/fe-gtk/menu.c:565 +msgid "Server:" +msgstr "Palvelin:" + +#: src/fe-gtk/menu.c:577 +msgid "Away Msg:" +msgstr "Poissaoloviesti:" + +#: src/fe-gtk/menu.c:587 +#, c-format +msgid "%u minutes ago" +msgstr "%u minuuttia sitten" + +#: src/fe-gtk/menu.c:589 src/fe-gtk/menu.c:592 +msgid "Last Msg:" +msgstr "Puhunut kanavalla:" + +#: src/fe-gtk/menu.c:704 +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 "Valikkopalkki on nyt piilossa. Sen saa taas esiin painamalla Ctrl-F9:ää tai hiiren oikeaa painiketta tekstialueen tyhjässä kohdassa." + +#: src/fe-gtk/menu.c:799 +msgid "Open Link in Browser" +msgstr "Avaa linkki selaimeen" + +#: src/fe-gtk/menu.c:800 +msgid "Copy Selected Link" +msgstr "Kopioi valittu linkki" + +#: src/fe-gtk/menu.c:862 src/fe-gtk/menu.c:1100 +msgid "Join Channel" +msgstr "Liity kanavalle" + +#: src/fe-gtk/menu.c:866 +msgid "Part Channel" +msgstr "Poistu kanavalta" + +#: src/fe-gtk/menu.c:868 +msgid "Cycle Channel" +msgstr "Liity kanavalle uudelleen" + +#: src/fe-gtk/menu.c:892 +msgid "XChat: User menu" +msgstr "XChat: Käyttäjän valikko" + +#: src/fe-gtk/menu.c:901 +msgid "Edit This Menu..." +msgstr "Muokkaa tätä valikkoa..." + +#: src/fe-gtk/menu.c:1102 +msgid "Retrieve channel list..." +msgstr "Valitse kanavaluettelosta..." + +#: src/fe-gtk/menu.c:1170 +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 = xchat 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 "" +"Käyttäjän komennot - Erikoiskoodit:\n" +"\n" +"%c = nykyinen kanava\n" +"%e = nykyinen verkko\n" +"%m = koneen tiedot\n" +"%n = oma kutsumanimi\n" +"%t = aika/päiväys\n" +"%v = xchat-versio\n" +"%2 = 2. sana\n" +"%3 = 3. sana\n" +"&2 = 2. sanasta rivin loppuun\n" +"&3 = 3. sanasta rivin loppuun\n" +"\n" +"esim:\n" +"/cmd jarkko terve\n" +"\n" +"%2 olisi \"jarkko\"\n" +"&2 olisi \"jarkko terve\"." + +#: src/fe-gtk/menu.c:1186 +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 "" +"Käyttäjälistapainikkeet - Erikoiskoodit:\n" +"\n" +"%a = kaikki valitut kutsumanimet\n" +"%e = nykyinen verkko\n" +"%c = nykyinen kanava\n" +"%h = valitun käyttäjän isäntänimi\n" +"%m = koneen tiedot\n" +"%n = oma kutsumanimi\n" +"%s = valittu kutsumanimi\n" +"%t = aika/päiväys\n" + +#: src/fe-gtk/menu.c:1196 +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 "" +"Keskustelupainikkeet - Erikoiskoodit:\n" +"\n" +"%a = kaikki valitut kutsumanimet\n" +"%c = nykyinen kanava\n" +"%e = nykyinen verkko\n" +"%h = valitun käyttäjän isäntänimi\n" +"%m = koneen tiedot\n" +"%n = oma kutsumanimi\n" +"%s = valittu kutsumanimi\n" +"%t = aika/päiväys\n" + +#: src/fe-gtk/menu.c:1206 +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 "" +"CTCP-vastaukset - Erikoiskoodit:\n" +"\n" +"%d = data (koko ctcp)\n" +"%e = nykyinen verkko\n" +"%m = koneen tiedot\n" +"%s = ctcp:n lähettäjän kutsumanimi\n" +"%t = aika/päiväys\n" +"%2 = 2. sana\n" +"%3 = 3. sana\n" +"&2 = 2. sanasta rivin loppuun\n" +"&3 = 3. sanasta rivin loppuun\n" +"\n" + +#: src/fe-gtk/menu.c:1217 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"URL-käsittelimet - Erikoiskoodit:\n" +"\n" +"%s = URL-merkkijono\n" +"\n" +"Huutomerkki (!) komennon edessä ilmaisee,\n" +"että komento lähetetään XChatin sijaan\n" +"kuorelle." + +#: src/fe-gtk/menu.c:1226 +msgid "XChat: User Defined Commands" +msgstr "XChat: Käyttäjän määrittelemät komennot" + +#: src/fe-gtk/menu.c:1233 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: Käyttäjäluettelon ponnahdusvalikko" + +#: src/fe-gtk/menu.c:1240 +msgid "Replace with" +msgstr "Korvaava teksti" + +#: src/fe-gtk/menu.c:1240 +msgid "XChat: Replace" +msgstr "XChat: Korvaaminen" + +#: src/fe-gtk/menu.c:1247 +msgid "XChat: URL Handlers" +msgstr "XChat: URL-käsittelimet" + +#: src/fe-gtk/menu.c:1266 +msgid "XChat: Userlist buttons" +msgstr "XChat: Käyttäjäluettelon painikkeet" + +#: src/fe-gtk/menu.c:1273 +msgid "XChat: Dialog buttons" +msgstr "XChat: Keskusteluikkunan painikkeet" + +#: src/fe-gtk/menu.c:1280 +msgid "XChat: CTCP Replies" +msgstr "XChat: CTCP-vastaukset" + +#: src/fe-gtk/menu.c:1378 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1379 +msgid "Network Li_st..." +msgstr "Verkkoluettelo..." + +#: src/fe-gtk/menu.c:1382 +msgid "_New" +msgstr "Uusi" + +#: src/fe-gtk/menu.c:1383 +msgid "Server Tab..." +msgstr "Palvelinvälilehti..." + +#: src/fe-gtk/menu.c:1384 +msgid "Channel Tab..." +msgstr "Kanavavälilehti..." + +#: src/fe-gtk/menu.c:1385 +msgid "Server Window..." +msgstr "Palvelinikkuna..." + +#: src/fe-gtk/menu.c:1386 +msgid "Channel Window..." +msgstr "Kanavaikkuna..." + +#: src/fe-gtk/menu.c:1391 src/fe-gtk/menu.c:1393 +msgid "_Load Plugin or Script..." +msgstr "Lataa skripti tai liitännäinen..." + +#: src/fe-gtk/menu.c:1401 src/fe-gtk/plugin-tray.c:463 +msgid "_Quit" +msgstr "Lopeta" + +#: src/fe-gtk/menu.c:1403 +msgid "_View" +msgstr "Näytä" + +#: src/fe-gtk/menu.c:1405 +msgid "_Menu Bar" +msgstr "Valikkopalkki" + +#: src/fe-gtk/menu.c:1406 +msgid "_Topic Bar" +msgstr "Aihepalkki" + +#: src/fe-gtk/menu.c:1407 +msgid "_User List" +msgstr "Käyttäjäluettelo" + +#: src/fe-gtk/menu.c:1408 +msgid "U_serlist Buttons" +msgstr "Käyttäjäluettelon painikkeet" + +#: src/fe-gtk/menu.c:1409 +msgid "M_ode Buttons" +msgstr "Tilapainikkeet" + +#: src/fe-gtk/menu.c:1411 +msgid "_Channel Switcher" +msgstr "Kanavavalitsin" + +#: src/fe-gtk/menu.c:1413 +msgid "_Tabs" +msgstr "Välilehtinä" + +#: src/fe-gtk/menu.c:1414 +msgid "T_ree" +msgstr "Puuna" + +#: src/fe-gtk/menu.c:1416 +msgid "_Network Meters" +msgstr "Verkkomittarit" + +#: src/fe-gtk/menu.c:1418 +msgid "Off" +msgstr "Poissa" + +#: src/fe-gtk/menu.c:1419 +msgid "Graph" +msgstr "Graafinen" + +#: src/fe-gtk/menu.c:1424 +msgid "_Server" +msgstr "_Palvelin" + +#: src/fe-gtk/menu.c:1425 +msgid "_Disconnect" +msgstr "Katkaise yhteys" + +#: src/fe-gtk/menu.c:1426 +msgid "_Reconnect" +msgstr "Yhdistä uudelleen" + +#: src/fe-gtk/menu.c:1430 +msgid "Marked Away" +msgstr "Merkitty poissaolevaksi" + +# Missäköhän tämä näkyy? +#: src/fe-gtk/menu.c:1432 +msgid "_Usermenu" +msgstr "Käyttäjävalikko" + +#: src/fe-gtk/menu.c:1434 +msgid "S_ettings" +msgstr "A_setukset" + +#: src/fe-gtk/menu.c:1435 +msgid "_Preferences" +msgstr "Ominaisuudet" + +#: src/fe-gtk/menu.c:1437 +msgid "Advanced" +msgstr "Lisäasetukset" + +#: src/fe-gtk/menu.c:1438 +msgid "Auto Replace..." +msgstr "Automaattikorvaukset..." + +#: src/fe-gtk/menu.c:1439 +msgid "CTCP Replies..." +msgstr "CTCP-vastaukset..." + +#: src/fe-gtk/menu.c:1440 +msgid "Dialog Buttons..." +msgstr "Keskusteluikkunan painikkeet..." + +#: src/fe-gtk/menu.c:1441 +msgid "Keyboard Shortcuts..." +msgstr "Pikanäppäimet..." + +#: src/fe-gtk/menu.c:1442 +msgid "Text Events..." +msgstr "Tapahtumatekstit..." + +#: src/fe-gtk/menu.c:1443 +msgid "URL Handlers..." +msgstr "URL-käsittelimet..." + +#: src/fe-gtk/menu.c:1444 +msgid "User Commands..." +msgstr "Käyttäjän komennot..." + +#: src/fe-gtk/menu.c:1445 +msgid "Userlist Buttons..." +msgstr "Käyttäjäluettelon painikkeet..." + +#: src/fe-gtk/menu.c:1446 +msgid "Userlist Popup..." +msgstr "Käyttäjäluettelon pikavalikko..." + +#: src/fe-gtk/menu.c:1449 +msgid "_Window" +msgstr "_Ikkuna" + +#: src/fe-gtk/menu.c:1450 +msgid "Ban List..." +msgstr "Banniluettelo..." + +#: src/fe-gtk/menu.c:1451 +msgid "Channel List..." +msgstr "Kanavaluettelo..." + +#: src/fe-gtk/menu.c:1452 +msgid "Character Chart..." +msgstr "Merkistökartta..." + +#: src/fe-gtk/menu.c:1453 +msgid "Direct Chat..." +msgstr "DCC-keskustelu..." + +#: src/fe-gtk/menu.c:1454 +msgid "File Transfers..." +msgstr "Tiedostonsiirrot..." + +#: src/fe-gtk/menu.c:1455 +msgid "Ignore List..." +msgstr "Huomioimattomuusluettelo..." + +#: src/fe-gtk/menu.c:1456 +msgid "Notify List..." +msgstr "Ilmoitusluettelo..." + +#: src/fe-gtk/menu.c:1457 +msgid "Plugins and Scripts..." +msgstr "Skriptit ja liitännäiset..." + +#: src/fe-gtk/menu.c:1458 +msgid "Raw Log..." +msgstr "Raakaloki..." + +#: src/fe-gtk/menu.c:1459 +msgid "URL Grabber..." +msgstr "URL-kaappaaja..." + +#: src/fe-gtk/menu.c:1461 +msgid "Reset Marker Line" +msgstr "Siirrä lukumerkki loppuun" + +#: src/fe-gtk/menu.c:1462 +msgid "C_lear Text" +msgstr "P_yyhi teksti" + +#: src/fe-gtk/menu.c:1464 +msgid "Search Text..." +msgstr "Hae tekstistä..." + +#: src/fe-gtk/menu.c:1465 +msgid "Save Text..." +msgstr "Tallenna teksti..." + +#: src/fe-gtk/menu.c:1467 src/fe-gtk/menu.c:1941 +msgid "_Help" +msgstr "_Ohje" + +#: src/fe-gtk/menu.c:1468 +msgid "_Contents" +msgstr "_Sisältö" + +#: src/fe-gtk/menu.c:1469 +msgid "_About" +msgstr "_Tietoja" + +#: src/fe-gtk/menu.c:1954 +msgid "_Attach Window" +msgstr "Kiinnitä ikkuna" + +#: src/fe-gtk/menu.c:1955 +msgid "_Close Window" +msgstr "Sulje ikkuna" + +#: src/fe-gtk/notifygui.c:137 +msgid "User" +msgstr "Käyttäjä" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "Nähty viimeksi" + +#: src/fe-gtk/notifygui.c:181 +msgid "Offline" +msgstr "Tavoittamattomissa" + +#: src/fe-gtk/notifygui.c:201 src/fe-gtk/setup.c:229 +msgid "Never" +msgstr "Ei koskaan" + +#: src/fe-gtk/notifygui.c:204 src/fe-gtk/notifygui.c:229 +#, c-format +msgid "%d minutes ago" +msgstr "%d minuuttia sitten" + +#: src/fe-gtk/notifygui.c:219 +msgid "Online" +msgstr "Tavoitettavissa" + +#: src/fe-gtk/notifygui.c:348 +msgid "Enter nickname to add:" +msgstr "Anna lisättävä kutsumanimi:" + +#: src/fe-gtk/notifygui.c:376 +msgid "Notify on these networks:" +msgstr "Ilmoita seuraavissa verkoissa:" + +#: src/fe-gtk/notifygui.c:387 +msgid "Comma separated list of networks is accepted." +msgstr "Pilkuilla eroteltu luettelo IRC-verkkoja." + +#: src/fe-gtk/notifygui.c:407 +msgid "XChat: Notify List" +msgstr "XChat: Ilmoitusluettelo" + +#: src/fe-gtk/notifygui.c:424 +msgid "Remove" +msgstr "Poista" + +#: src/fe-gtk/notifygui.c:428 +msgid "Open Dialog" +msgstr "Aloita keskustelu" + +#: src/fe-gtk/plugin-tray.c:163 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" +"Komentoa 'notify-send' ei löydy, joten puhekuplia ei voida näyttää.\n" +"Tilanteen korjaamiseksi pitää asentaa libnotify." + +#: src/fe-gtk/plugin-tray.c:214 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat: Yhteydessä %u verkkoon ja %u kanavaan" + +#: src/fe-gtk/plugin-tray.c:451 +msgid "_Restore" +msgstr "Palauta" + +#: src/fe-gtk/plugin-tray.c:453 +msgid "_Hide" +msgstr "Piilota" + +#: src/fe-gtk/plugin-tray.c:456 +msgid "_Blink on" +msgstr "Välkytä kun tulee" + +#: src/fe-gtk/plugin-tray.c:457 src/fe-gtk/setup.c:467 +msgid "Channel Message" +msgstr "Kanavaviesti" + +#: src/fe-gtk/plugin-tray.c:458 src/fe-gtk/setup.c:468 +msgid "Private Message" +msgstr "Yksityisviesti" + +#: src/fe-gtk/plugin-tray.c:459 src/fe-gtk/setup.c:469 +msgid "Highlighted Message" +msgstr "Korostettu viesti" + +#: src/fe-gtk/plugin-tray.c:507 src/fe-gtk/plugin-tray.c:515 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "XChat: Korostettu viesti käyttäjältä %s (%s)" + +#: src/fe-gtk/plugin-tray.c:510 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat: %u korostettua viestiä, viimeksi käyttäjältä %s (%s)" + +#: src/fe-gtk/plugin-tray.c:533 src/fe-gtk/plugin-tray.c:540 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat: Uusi julkinen viesti käyttäjältä: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:536 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat: %u uutta julkista viestiä." + +#: src/fe-gtk/plugin-tray.c:562 src/fe-gtk/plugin-tray.c:569 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat: Yksityisviesti käyttäjältä %s (%s)" + +#: src/fe-gtk/plugin-tray.c:565 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat: %u yksityisviestiä, viimeksi käyttäjältä %s (%s)" + +#: src/fe-gtk/plugin-tray.c:615 src/fe-gtk/plugin-tray.c:623 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: Käyttäjä %s tarjoaa tiedostoa (%s)" + +#: src/fe-gtk/plugin-tray.c:618 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "XChat: %u tiedostoa tarjottu, vimeksi käyttäjältä %s (%s)" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Kuvaus" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Valitse ladattava skripti tai liitännäinen" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: Skriptit ja liitännäiset" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Lataa..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "_Poista käytöstä" + +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "_Sulje" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:438 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Tallenna..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: Raakaloki (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Tyhjennä raakaloki" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Tätä hakua varten avaamaasi ikkunaa ei enää ole." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "Hakutekstiä ei löytynyt" + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Haku" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "Huomioi kirjainten koko" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "Etsi taaksepäin" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "Etsi" + +#: src/fe-gtk/servlistgui.c:170 src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "Uusi verkko" + +#: src/fe-gtk/servlistgui.c:554 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Haluatko todella poistaa verkon \"%s\" ja kaikki sen palvelimet?" + +#: src/fe-gtk/servlistgui.c:678 +msgid "User name and Real name cannot be left blank." +msgstr "Käyttäjätunnusta ja oikeaa nimeä ei voi jättää tyhjiksi." + +#: src/fe-gtk/servlistgui.c:978 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: Muokkaa %s-verkkoa" + +#: src/fe-gtk/servlistgui.c:997 +#, c-format +msgid "Servers for %s" +msgstr "%s-verkon palvelimet" + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Connect to selected server only" +msgstr "Yhdistä vain valittuun palvelimeen" + +#: src/fe-gtk/servlistgui.c:1009 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Älä yritä yhdistää muihin palvelimiin, jos valittuun palvelimeen ei saada yhteyttä." + +#: src/fe-gtk/servlistgui.c:1011 +msgid "Your Details" +msgstr "Käyttäjätiedot" + +#: src/fe-gtk/servlistgui.c:1017 +msgid "Use global user information" +msgstr "Käytä yleisiä käyttäjätietoja" + +#: src/fe-gtk/servlistgui.c:1020 src/fe-gtk/servlistgui.c:1252 +msgid "_Nick name:" +msgstr "Kutsumanimi:" + +#: src/fe-gtk/servlistgui.c:1024 src/fe-gtk/servlistgui.c:1259 +msgid "Second choice:" +msgstr "2. vaihtoehto:" + +#: src/fe-gtk/servlistgui.c:1028 src/fe-gtk/servlistgui.c:1273 +msgid "_User name:" +msgstr "Käyttäjätunnus:" + +#: src/fe-gtk/servlistgui.c:1032 src/fe-gtk/servlistgui.c:1280 +msgid "Rea_l name:" +msgstr "Oikea nimi:" + +#: src/fe-gtk/servlistgui.c:1035 +msgid "Connecting" +msgstr "Yhteyden muodostus" + +#: src/fe-gtk/servlistgui.c:1041 +msgid "Auto connect to this network at startup" +msgstr "Yhdistä valmiiksi, kun X-Chat käynnistyy" + +#: src/fe-gtk/servlistgui.c:1043 +msgid "Use a proxy server" +msgstr "Käytä välipalvelinta" + +#: src/fe-gtk/servlistgui.c:1045 +msgid "Use SSL for all the servers on this network" +msgstr "Käytä SSL-yhteyttä tässä verkossa" + +#: src/fe-gtk/servlistgui.c:1050 +msgid "Accept invalid SSL certificate" +msgstr "Hyväksy epäkelpo varmenne" + +#: src/fe-gtk/servlistgui.c:1056 +msgid "C_hannels to join:" +msgstr "Avattavat kanavat:" + +#: src/fe-gtk/servlistgui.c:1058 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Näille kanaville liitytään automaattisesti. Erota kanavat toisistaan pilkuin (mutta ei välilyönnein!)." + +#: src/fe-gtk/servlistgui.c:1061 +msgid "Connect command:" +msgstr "Yhdistämiskomento:" + +#: src/fe-gtk/servlistgui.c:1063 +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 "Lisäkomento, joka suoritetaan yhteyden muodostuttua. Useita komentoja voi suorittaa laittamalla ne tiedostoon, ja kirjoittamalla tähän \"LOAD -e <tiedostonimi>\"." + +#: src/fe-gtk/servlistgui.c:1066 +msgid "Nickserv password:" +msgstr "Kutsumanimen salasana:" + +#: src/fe-gtk/servlistgui.c:1068 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "Jos kutsumanimesi on suojattu NickServ-palvelun salasanalla, kirjoita se tähän. Huomaa että kaikki IRC-verkot eivät tue salasanasuojausta." + +#: src/fe-gtk/servlistgui.c:1072 +msgid "Server password:" +msgstr "Palvelimen salasana:" + +#: src/fe-gtk/servlistgui.c:1074 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Palvelimelle tarvittava salasana. Jätä tyhjäksi, jos olet epävarma." + +#: src/fe-gtk/servlistgui.c:1077 +msgid "Character set:" +msgstr "Merkistö:" + +#: src/fe-gtk/servlistgui.c:1147 +msgid "_Edit" +msgstr "_Muokkaa" + +#: src/fe-gtk/servlistgui.c:1230 +msgid "XChat: Network List" +msgstr "XChat: Verkkoluettelo" + +#: src/fe-gtk/servlistgui.c:1242 +msgid "User Information" +msgstr "Käyttäjätiedot" + +#: src/fe-gtk/servlistgui.c:1266 +msgid "Third choice:" +msgstr "3. vaihtoehto:" + +#: src/fe-gtk/servlistgui.c:1326 +msgid "Networks" +msgstr "IRC-verkot" + +#: src/fe-gtk/servlistgui.c:1367 +msgid "Skip network list on startup" +msgstr "Aloita ilman verkkoluetteloa" + +#: src/fe-gtk/servlistgui.c:1399 +msgid "_Edit..." +msgstr "_Muokkaa..." + +#: src/fe-gtk/servlistgui.c:1406 +msgid "_Sort" +msgstr "Lajittele" + +#: src/fe-gtk/servlistgui.c:1407 +msgid "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN keys to move a row." +msgstr "Lajittelee verkkoluettelon aakkosjärjestykseen. Riviä voi siirtää näppäilemällä SHIFT-YLÖS ja SHIFT-ALAS." + +#: src/fe-gtk/servlistgui.c:1432 +msgid "C_onnect" +msgstr "_Yhdistä" + +#: src/fe-gtk/setup.c:102 +msgid "Text Box Appearance" +msgstr "Tekstilaatikon ulkonäkö" + +#: src/fe-gtk/setup.c:103 +msgid "Font:" +msgstr "Kirjasin:" + +#: src/fe-gtk/setup.c:104 +msgid "Background image:" +msgstr "Taustakuva:" + +#: src/fe-gtk/setup.c:105 +msgid "Scrollback lines:" +msgstr "Vieritettäviä rivejä:" + +#: src/fe-gtk/setup.c:106 +msgid "Colored nick names" +msgstr "Väritä kutsumanimet" + +#: src/fe-gtk/setup.c:107 +msgid "Give each person on IRC a different color" +msgstr "Anna kullekin käyttäjälle oma väri." + +#: src/fe-gtk/setup.c:108 +msgid "Indent nick names" +msgstr "Sisennä kutsumanimet" + +#: src/fe-gtk/setup.c:109 +msgid "Make nick names right-justified" +msgstr "Tasaa kutsumanimet oikealle." + +#: src/fe-gtk/setup.c:110 +msgid "Transparent background" +msgstr "Läpikuultava tausta" + +#: src/fe-gtk/setup.c:111 +msgid "Show marker line" +msgstr "Näytä lukumerkki" + +#: src/fe-gtk/setup.c:112 +msgid "Insert a red line after the last read text." +msgstr "Erottaa luetun ja lukemattoman tekstin punaisella viivalla." + +#: src/fe-gtk/setup.c:113 +msgid "Transparency Settings" +msgstr "Läpikuultavuuden säätö" + +#: src/fe-gtk/setup.c:114 +msgid "Red:" +msgstr "Punainen:" + +#: src/fe-gtk/setup.c:115 +msgid "Green:" +msgstr "Vihreä:" + +#: src/fe-gtk/setup.c:116 +msgid "Blue:" +msgstr "Sininen:" + +#: src/fe-gtk/setup.c:118 src/fe-gtk/setup.c:379 +msgid "Time Stamps" +msgstr "Aikaleimat" + +#: src/fe-gtk/setup.c:119 +msgid "Enable time stamps" +msgstr "Näytä aikaleimat" + +#: src/fe-gtk/setup.c:120 +msgid "Time stamp format:" +msgstr "Aikaleiman muoto:" + +#: src/fe-gtk/setup.c:121 src/fe-gtk/setup.c:382 +msgid "See strftime manpage for details." +msgstr "Katso yksityiskohtaiset ohjeet manuaalisivulta strftime(3)." + +#: src/fe-gtk/setup.c:128 src/fe-gtk/setup.c:168 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:129 +msgid "Last-spoke order" +msgstr "Puhumisajankohdan mukaan" + +#: src/fe-gtk/setup.c:135 src/fe-gtk/setup.c:1657 +msgid "Input box" +msgstr "Syötekenttä" + +#: src/fe-gtk/setup.c:136 src/fe-gtk/setup.c:200 +msgid "Use the Text box font and colors" +msgstr "Käytä tekstilaatikon kirjasinta ja värejä" + +#: src/fe-gtk/setup.c:138 +msgid "Spell checking" +msgstr "Oikoluku" + +#: src/fe-gtk/setup.c:141 +msgid "Nick Completion" +msgstr "Kutsumanimien täydennys" + +#: src/fe-gtk/setup.c:142 +msgid "Automatic nick completion (without TAB key)" +msgstr "Automaattinen kutsumanimien täydennys (ilman tabulaattoria)" + +#: src/fe-gtk/setup.c:144 +msgid "Nick completion suffix:" +msgstr "Täydennyksen jälkiliite:" + +#: src/fe-gtk/setup.c:145 +msgid "Nick completion sorted:" +msgstr "Kutsumanimitäydennys aakkosjärjestyksessä:" + +#: src/fe-gtk/setup.c:148 +msgid "Input Box Codes" +msgstr "Syötekentän koodit" + +#: src/fe-gtk/setup.c:149 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Tulkitse %nnn ASCII-arvoksi" + +#: src/fe-gtk/setup.c:150 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Tulkitse %C väriksi, %B lihavoinniksi, jne" + +#: src/fe-gtk/setup.c:167 +msgid "A-Z, Ops first" +msgstr "A-Z, opit ensimmäisinä" + +#: src/fe-gtk/setup.c:169 +msgid "Z-A, Ops last" +msgstr "Z-A, opit viimeisinä" + +#: src/fe-gtk/setup.c:170 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:171 +msgid "Unsorted" +msgstr "Lajittelematon" + +#: src/fe-gtk/setup.c:177 src/fe-gtk/setup.c:189 +msgid "Left (Upper)" +msgstr "Vasemmalla (ylhäällä)" + +#: src/fe-gtk/setup.c:178 src/fe-gtk/setup.c:190 +msgid "Left (Lower)" +msgstr "Vasemmalla (alhaalla)" + +#: src/fe-gtk/setup.c:179 src/fe-gtk/setup.c:191 +msgid "Right (Upper)" +msgstr "Oikealla (ylhäällä)" + +#: src/fe-gtk/setup.c:180 src/fe-gtk/setup.c:192 +msgid "Right (Lower)" +msgstr "Oikealla (alhaalla)" + +#: src/fe-gtk/setup.c:181 +msgid "Top" +msgstr "Ylhäällä" + +#: src/fe-gtk/setup.c:182 +msgid "Bottom" +msgstr "Alhaalla" + +#: src/fe-gtk/setup.c:183 +msgid "Hidden" +msgstr "Piilotettu" + +#: src/fe-gtk/setup.c:198 +msgid "User List" +msgstr "Käyttäjäluettelo" + +#: src/fe-gtk/setup.c:199 +msgid "Show hostnames in user list" +msgstr "Näytä isäntänimet käyttäjäluettelossa" + +#: src/fe-gtk/setup.c:202 +msgid "User list sorted by:" +msgstr "Lajittelutapa:" + +#: src/fe-gtk/setup.c:203 +msgid "Show user list at:" +msgstr "Näytä käyttäjäluettelo:" + +#: src/fe-gtk/setup.c:205 +msgid "Away tracking" +msgstr "Poissaolojen seuranta" + +#: src/fe-gtk/setup.c:206 +msgid "Track the Away status of users and mark them in a different color" +msgstr "Seuraa poissaoloja ja näytä poissaolevat käyttäjät eri värillä," + +#: src/fe-gtk/setup.c:207 +msgid "On channels smaller than:" +msgstr "kun kanavalla on käyttäjiä alle:" + +#: src/fe-gtk/setup.c:209 +msgid "Action Upon Double Click" +msgstr "Kaksoisnapsautuksen toiminto" + +#: src/fe-gtk/setup.c:210 +msgid "Execute command:" +msgstr "Suorita komento:" + +#: src/fe-gtk/setup.c:221 +msgid "Windows" +msgstr "Ikkunat" + +#: src/fe-gtk/setup.c:222 +msgid "Tabs" +msgstr "Välilehdet" + +#: src/fe-gtk/setup.c:230 +msgid "Always" +msgstr "Aina" + +#: src/fe-gtk/setup.c:231 +msgid "Only requested tabs" +msgstr "Vain itse avatut" + +#: src/fe-gtk/setup.c:238 +msgid "Channel Switcher" +msgstr "Kanavavalitsin" + +#: src/fe-gtk/setup.c:239 +msgid "Open an extra tab for server messages" +msgstr "Palvelinviestit omaan välilehteensä" + +#: src/fe-gtk/setup.c:240 +msgid "Open an extra tab for server notices" +msgstr "Palvelintiedotteet omaan välilehteensä" + +#: src/fe-gtk/setup.c:241 +msgid "Open a new tab when you receive a private message" +msgstr "Avaa uusi välilehti yksityisviestin saapuessa" + +#: src/fe-gtk/setup.c:242 +msgid "Sort tabs in alphabetical order" +msgstr "Välilehdet aakkosjärjestykseen" + +#: src/fe-gtk/setup.c:243 +msgid "Small tabs" +msgstr "Pienet korvakkeet" + +#: src/fe-gtk/setup.c:245 +msgid "Focus new tabs:" +msgstr "Uudet välilehdet etualalle:" + +#: src/fe-gtk/setup.c:247 +msgid "Show channel switcher at:" +msgstr "Näytä kanavavalitsin:" + +#: src/fe-gtk/setup.c:248 +msgid "Shorten tab labels to:" +msgstr "Typistä välilehtien nimet:" + +#: src/fe-gtk/setup.c:248 +msgid "letters." +msgstr "merkin pituisiksi." + +#: src/fe-gtk/setup.c:250 +msgid "Tabs or Windows" +msgstr "Välilehti vai ikkuna" + +#: src/fe-gtk/setup.c:251 +msgid "Open channels in:" +msgstr "Kanavien avaamispaikka:" + +#: src/fe-gtk/setup.c:252 +msgid "Open dialogs in:" +msgstr "Keskusteluiden avaamispaikka:" + +#: src/fe-gtk/setup.c:253 +msgid "Open utilities in:" +msgstr "Apuvälineiden avaamispaikka:" + +#: src/fe-gtk/setup.c:253 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "DCC:t, huomioimattomuudet, ilmoitukset jne." + +#: src/fe-gtk/setup.c:260 +msgid "No" +msgstr "Ei" + +#: src/fe-gtk/setup.c:261 +msgid "Yes" +msgstr "Kyllä" + +#: src/fe-gtk/setup.c:262 +msgid "Browse for save folder every time" +msgstr "Valitse tallennushakemisto joka kerta" + +#: src/fe-gtk/setup.c:268 +msgid "Files and Directories" +msgstr "Tiedostot ja hakemistot" + +#: src/fe-gtk/setup.c:269 +msgid "Auto accept file offers:" +msgstr "Hyväksy tarjotut tiedostot automaattisesti:" + +#: src/fe-gtk/setup.c:270 +msgid "Download files to:" +msgstr "Lataa hakemistoon:" + +#: src/fe-gtk/setup.c:271 +msgid "Move completed files to:" +msgstr "Siirrä valmiit tiedostot hakemistoon:" + +#: src/fe-gtk/setup.c:272 +msgid "Save nick name in filenames" +msgstr "Liitä lähettäjän kutsumanimi tiedostonimiin" + +#: src/fe-gtk/setup.c:274 +msgid "Network Settings" +msgstr "Verkkoasetukset" + +#: src/fe-gtk/setup.c:275 +msgid "Get my address from the IRC server" +msgstr "Hae IP-osoite IRC-palvelimelta" + +#: src/fe-gtk/setup.c:276 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "Tiedustelee osoittettasi IRC-palvelimelta. Rastita, mikäli osoitteesi on esimerkiksi muotoa 192.168.*.*!" + +#: src/fe-gtk/setup.c:277 +msgid "DCC IP address:" +msgstr "DCC:n IP-osoite:" + +#: src/fe-gtk/setup.c:278 +msgid "Claim you are at this address when offering files." +msgstr "Tiedostoja väitetään lähetettävän tästä osoitteesta." + +#: src/fe-gtk/setup.c:279 +msgid "First DCC send port:" +msgstr "Ensimmäinen DCC-lähetysportti" + +#: src/fe-gtk/setup.c:280 +msgid "Last DCC send port:" +msgstr "Viimeinen DCC-lähetysportti" + +#: src/fe-gtk/setup.c:281 +msgid "!Leave ports at zero for full range." +msgstr "Jätä nolliksi, jos haluat käyttöön kaikki portit." + +#: src/fe-gtk/setup.c:283 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Siirtonopeuksien ylärajat (tavua sekunnissa)" + +#: src/fe-gtk/setup.c:284 +msgid "One upload:" +msgstr "Yksittäinen lähetys:" + +#: src/fe-gtk/setup.c:285 src/fe-gtk/setup.c:287 +msgid "Maximum speed for one transfer" +msgstr "Yksittäisen siirron suurin sallittu nopeus." + +#: src/fe-gtk/setup.c:286 +msgid "One download:" +msgstr "Yksittäinen lataus:" + +#: src/fe-gtk/setup.c:288 +msgid "All uploads combined:" +msgstr "Kaikki lähetykset yhteensä:" + +#: src/fe-gtk/setup.c:289 src/fe-gtk/setup.c:291 +msgid "Maximum speed for all files" +msgstr "Yhteenlaskettujen siirtojen suurin sallittu nopeus." + +#: src/fe-gtk/setup.c:290 +msgid "All downloads combined:" +msgstr "Kaikki lataukset yhteensä:" + +#: src/fe-gtk/setup.c:318 src/fe-gtk/setup.c:1663 +msgid "Alerts" +msgstr "Hälytykset" + +#: src/fe-gtk/setup.c:322 +msgid "Show tray balloons on:" +msgstr "Näytä puhekupla, kun tulee:" + +#: src/fe-gtk/setup.c:324 +msgid "Blink tray icon on:" +msgstr "Välkytä ilmoitusalueella, kun tulee:" + +#: src/fe-gtk/setup.c:325 +msgid "Blink task bar on:" +msgstr "Välkytä tehtäväpalkkia, kun tulee:" + +#: src/fe-gtk/setup.c:326 +msgid "Make a beep sound on:" +msgstr "Piipauta, kun tulee:" + +# Pilkku lopussa, koska lause jatkuu seuraavaan asetuskohtaan. +#: src/fe-gtk/setup.c:328 +msgid "Enable system tray icon" +msgstr "Ota ilmoitusalueen kuvake käyttöön" + +#: src/fe-gtk/setup.c:330 +msgid "Highlighted Messages" +msgstr "Korostettu viesti" + +#: src/fe-gtk/setup.c:331 +msgid "Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Viesti korostetaan, kun siinä mainitaan kutsumanimesi tai:" + +#: src/fe-gtk/setup.c:333 +msgid "Extra words to highlight:" +msgstr "Muut korostettavat sanat:" + +#: src/fe-gtk/setup.c:334 +msgid "Nick names not to highlight:" +msgstr "Älä korosta viestejä käyttäjiltä:" + +#: src/fe-gtk/setup.c:335 +msgid "Nick names to always highlight:" +msgstr "Korosta aina viestit käyttäjiltä:" + +#: src/fe-gtk/setup.c:336 +msgid "Separate multiple words with commas." +msgstr "Erota sanat toisistaan pilkuilla." + +#: src/fe-gtk/setup.c:342 +msgid "Default Messages" +msgstr "Oletusilmoitukset" + +#: src/fe-gtk/setup.c:343 +msgid "Quit:" +msgstr "Lopetus:" + +#: src/fe-gtk/setup.c:344 +msgid "Leave channel:" +msgstr "Kanavalta poistuminen:" + +#: src/fe-gtk/setup.c:345 +msgid "Away:" +msgstr "Poissaolo:" + +#: src/fe-gtk/setup.c:347 +msgid "Away" +msgstr "Poissaolo" + +#: src/fe-gtk/setup.c:348 +msgid "Announce away messages" +msgstr "Kuuluta poissaoloviestit" + +#: src/fe-gtk/setup.c:349 +msgid "Announce your away messages to all channels" +msgstr "Lähettää poissaoloviestit kaikille kanaville." + +#: src/fe-gtk/setup.c:350 +msgid "Show away once" +msgstr "Näytä poissaoloviestit kerran" + +#: src/fe-gtk/setup.c:350 +msgid "Show identical away messages only once" +msgstr "Näyttää identtiset poissaoloviestit vain kerran." + +#: src/fe-gtk/setup.c:351 +msgid "Automatically unmark away" +msgstr "Lopeta oma poissaolo automaattisesti" + +#: src/fe-gtk/setup.c:351 +msgid "Unmark yourself as away before sending messages" +msgstr "Merkitsee sinut läsnäolevaksi ennen viestien lähettämistä." + +#: src/fe-gtk/setup.c:358 +msgid "Advanced Settings" +msgstr "Lisäasetukset" + +#: src/fe-gtk/setup.c:359 +msgid "Auto reconnect delay:" +msgstr "Automaattisen yhdistämisen viive:" + +#: src/fe-gtk/setup.c:360 +msgid "Display MODEs in raw form" +msgstr "Näytä tilat raakamuodossa" + +#: src/fe-gtk/setup.c:361 +msgid "Whois on notify" +msgstr "Suorita whois ilmoituksen yhteydessä" + +#: src/fe-gtk/setup.c:361 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Lähettää /WHOIS-komennon, kun ilmoitusluettelossa oleva käyttäjä on tavoitettavissa" + +#: src/fe-gtk/setup.c:362 +msgid "Hide join and part messages" +msgstr "Piilota liittymis- ja poistumisviestit" + +#: src/fe-gtk/setup.c:362 +msgid "Hide channel join/part messages by default" +msgstr "Piilota liittymis- ja poistumisviestit oletuksena" + +#: src/fe-gtk/setup.c:363 +msgid "Auto Open DCC Windows" +msgstr "Avaa DCC-ikkunat automaattisesti" + +#: src/fe-gtk/setup.c:364 +msgid "Send window" +msgstr "Lähetysikkuna" + +#: src/fe-gtk/setup.c:365 +msgid "Receive window" +msgstr "Vastaanottoikkuna" + +#: src/fe-gtk/setup.c:366 +msgid "Chat window" +msgstr "Kanavaikkuna" + +#: src/fe-gtk/setup.c:374 src/fe-gtk/setup.c:1665 +msgid "Logging" +msgstr "Lokiasetukset" + +#: src/fe-gtk/setup.c:375 +msgid "Enable logging of conversations" +msgstr "Pidä keskusteluista lokia" + +#: src/fe-gtk/setup.c:376 +msgid "Log filename:" +msgstr "Lokitiedoston nimi:" + +#: src/fe-gtk/setup.c:377 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=palvelin %c=kanava %n=verkko." + +#: src/fe-gtk/setup.c:380 +msgid "Insert timestamps in logs" +msgstr "Lisää lokeihin aikaleimat" + +#: src/fe-gtk/setup.c:381 +msgid "Log timestamp format:" +msgstr "Lokitiedoston aikaleiman muoto:" + +#: src/fe-gtk/setup.c:389 +msgid "(Disabled)" +msgstr "(Pois käytöstä)" + +#: src/fe-gtk/setup.c:390 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:391 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:392 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:393 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:395 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: src/fe-gtk/setup.c:402 +msgid "All Connections" +msgstr "Kaikille yhteyksille" + +#: src/fe-gtk/setup.c:403 +msgid "IRC Server Only" +msgstr "Vain IRC-palvelimille" + +#: src/fe-gtk/setup.c:404 +msgid "DCC Get Only" +msgstr "Vain DCC-siirroille" + +#: src/fe-gtk/setup.c:410 +msgid "Your Address" +msgstr "Oma IP-osoite" + +#: src/fe-gtk/setup.c:411 +msgid "Bind to:" +msgstr "Sido osoitteeseen:" + +#: src/fe-gtk/setup.c:412 +msgid "Only useful for computers with multiple addresses." +msgstr "Käyttökelpoinen vain, kun tietokoneessa on monta osoitetta." + +#: src/fe-gtk/setup.c:414 +msgid "Proxy Server" +msgstr "Välipalvelin" + +#: src/fe-gtk/setup.c:415 +msgid "Hostname:" +msgstr "Isäntänimi:" + +#: src/fe-gtk/setup.c:416 +msgid "Port:" +msgstr "Portti:" + +#: src/fe-gtk/setup.c:417 +msgid "Type:" +msgstr "Tyyppi:" + +#: src/fe-gtk/setup.c:418 +msgid "Use proxy for:" +msgstr "Käytä välipalvelinta:" + +#: src/fe-gtk/setup.c:420 +msgid "Proxy Authentication" +msgstr "Välipalvelimelle tunnistautuminen" + +#: src/fe-gtk/setup.c:422 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Tunnistaudu välipalvelimelle (vain MS Proxy, HTTP ja Socks5)" + +#: src/fe-gtk/setup.c:424 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Tunnistaudu välipalvelimelle (vain HTTP ja Socks5)" + +#: src/fe-gtk/setup.c:426 +msgid "Username:" +msgstr "Käyttäjänimi:" + +#: src/fe-gtk/setup.c:427 +msgid "Password:" +msgstr "Salasana:" + +#: src/fe-gtk/setup.c:838 +msgid "Select an Image File" +msgstr "Valitse kuvatiedosto" + +#: src/fe-gtk/setup.c:862 +msgid "Select Download Folder" +msgstr "Valitse latauskansio" + +#: src/fe-gtk/setup.c:871 +msgid "Select font" +msgstr "Valitse kirjasin" + +#: src/fe-gtk/setup.c:968 +msgid "Browse..." +msgstr "Selaa..." + +#: src/fe-gtk/setup.c:1108 +msgid "Mark identified users with:" +msgstr "Merkitse tunnistetut käyttäjät seuraavasti:" + +#: src/fe-gtk/setup.c:1110 +msgid "Mark not-identified users with:" +msgstr "Merkitse tuntemattomat käyttäjät seuraavasti:" + +#: src/fe-gtk/setup.c:1117 +msgid "Open Data Folder" +msgstr "Avaa datakansio" + +#: src/fe-gtk/setup.c:1171 +msgid "Select color" +msgstr "Valitse väri" + +#: src/fe-gtk/setup.c:1251 +msgid "Text Colors" +msgstr "Tekstin värit" + +#: src/fe-gtk/setup.c:1253 +msgid "mIRC colors:" +msgstr "mIRC-värit:" + +#: src/fe-gtk/setup.c:1261 +msgid "Local colors:" +msgstr "Omat värit" + +#: src/fe-gtk/setup.c:1269 src/fe-gtk/setup.c:1274 +msgid "Foreground:" +msgstr "Edustaväri:" + +#: src/fe-gtk/setup.c:1270 src/fe-gtk/setup.c:1275 +msgid "Background:" +msgstr "Taustaväri:" + +#: src/fe-gtk/setup.c:1272 +msgid "Marking Text" +msgstr "Tekstin maalaus" + +#: src/fe-gtk/setup.c:1277 +msgid "Interface Colors" +msgstr "Käyttöliittymän värit" + +#: src/fe-gtk/setup.c:1279 +msgid "New data:" +msgstr "Uusi data:" + +#: src/fe-gtk/setup.c:1280 +msgid "Marker line:" +msgstr "Lukumerkkiviiva:" + +#: src/fe-gtk/setup.c:1281 +msgid "New message:" +msgstr "Uusi viesti:" + +#: src/fe-gtk/setup.c:1282 +msgid "Away user:" +msgstr "Poissaolijat:" + +#: src/fe-gtk/setup.c:1283 +msgid "Highlight:" +msgstr "Korostus:" + +#: src/fe-gtk/setup.c:1379 src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "Tapahtuma" + +#: src/fe-gtk/setup.c:1385 +msgid "Sound file" +msgstr "Äänitiedosto" + +#: src/fe-gtk/setup.c:1420 +msgid "Select a sound file" +msgstr "Valitse äänitiedosto" + +#: src/fe-gtk/setup.c:1492 +msgid "Sound playing method:" +msgstr "Äänensoittotapa:" + +#: src/fe-gtk/setup.c:1500 +msgid "External sound playing _program:" +msgstr "Ulkoinen soitto-ohjelma:" + +#: src/fe-gtk/setup.c:1518 +msgid "_External program" +msgstr "Ulkoisella ohjelmalla" + +#: src/fe-gtk/setup.c:1528 +msgid "_Automatic" +msgstr "Automaattinen" + +#: src/fe-gtk/setup.c:1541 +msgid "Sound files _directory:" +msgstr "Äänitiedostojen hakemisto:" + +#: src/fe-gtk/setup.c:1580 +msgid "Sound file:" +msgstr "Äänitiedosto: " + +#: src/fe-gtk/setup.c:1595 +msgid "_Browse..." +msgstr "Selaa..." + +#: src/fe-gtk/setup.c:1606 +msgid "_Play" +msgstr "Soita" + +#: src/fe-gtk/setup.c:1655 +msgid "Interface" +msgstr "Käyttöliittymä" + +#: src/fe-gtk/setup.c:1656 +msgid "Text box" +msgstr "Tekstilaatikko" + +#: src/fe-gtk/setup.c:1658 +msgid "User list" +msgstr "Käyttäjäluettelo" + +#: src/fe-gtk/setup.c:1659 +msgid "Channel switcher" +msgstr "Kanavavalitsin" + +#: src/fe-gtk/setup.c:1660 +msgid "Colors" +msgstr "Värit" + +#: src/fe-gtk/setup.c:1662 +msgid "Chatting" +msgstr "Keskustelu" + +#: src/fe-gtk/setup.c:1664 +msgid "General" +msgstr "Yleiset" + +#: src/fe-gtk/setup.c:1666 +msgid "Sound" +msgstr "Ääni" + +#: src/fe-gtk/setup.c:1670 +msgid "Network setup" +msgstr "Verkkoasetukset" + +#: src/fe-gtk/setup.c:1671 +msgid "File transfers" +msgstr "Tiedostonsiirrot" + +#: src/fe-gtk/setup.c:1779 +msgid "Categories" +msgstr "Asetusryhmät" + +#: src/fe-gtk/setup.c:1960 +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 "" +"Puuta ei voi laittaa ylös eikä alas!\n" +"Muuta ensin välilehtiasettelua <b>Näytä</b>-valikosta." + +#: src/fe-gtk/setup.c:1970 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Osa muutoksista tulee voimaan vasta kun ohjelma käynnistetään uudestaan." + +#: src/fe-gtk/setup.c:1978 +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 "" +"*VAROITUS*\n" +"DCC-siirtojen automaattinen hyväksyminen\n" +"kotihakemistoon voi olla vaarallista. Esim:\n" +"Joku voi lähettää tiedoston .bash_profile." + +#: src/fe-gtk/setup.c:2011 +msgid "XChat: Preferences" +msgstr "XChat: Ominaisuudet" + +#: src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "Virhe jäsennettäessä merkkijonoa" + +#: src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Tälle signaalille annetaan vain %d argumenttia, $%d on virheellinen" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "Tallenna tekstitiedosto" + +#: src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "Muokkaa tapahtumatekstejä" + +#: src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$ Numero" + +#: src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "Lataa..." + +#: src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "Kokeile kaikki" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: URL-kaappaaja" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Tyhjennä luettelo" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Kopioi valittu URL" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Kopioi" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Tallenna luettelo tiedostoon" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d oppia, %d yhteensä" diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 00000000..5b1a5816 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,6208 @@ +# French translation of XChat. +# This file is put in the public domain. +# Benjamin Sonntag <benjamin@alternc.org>, 2007 +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.8.4\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2006-05-19 00:25+1000\n" +"PO-Revision-Date: 2006-09-08 12:26:43+0200\n" +"Last-Translator: Benjamin Sonntag <benjamin@alternc.org>\n" +"Language-Team: French <traduc@traduc.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/common/cfgfiles.c:350 src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "Impossible de créer ~/.xchat2" + +#: src/common/cfgfiles.c:683 src/common/cfgfiles.c:712 +msgid "I'm busy" +msgstr "Occupé" + +#: src/common/cfgfiles.c:684 src/common/cfgfiles.c:713 +msgid "Leaving" +msgstr "Quitte" + +#: src/common/cfgfiles.c:730 src/common/cfgfiles.c:760 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Utiliser IRC sous un compte root est stupide !\n" +" Vous devriez créer un compte utilisateur et\n" +" l'utiliser pour vous connecter.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Attente" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Actif" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Échec" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Terminé" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:740 src/fe-gtk/menu.c:797 +msgid "Connect" +msgstr "Connecter" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Interrompu" + +#: src/common/dcc.c:1875 src/common/outbound.c:2246 src/common/dcc.c:1886 +#: src/common/outbound.c:2452 +#, c-format +msgid "Cannot access %s\n" +msgstr "Impossible d'accéder à %s\n" + +#: src/common/dcc.c:2358 src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s vous propose « %s ». Voulez-vous l'accepter ?" + +#: src/common/dcc.c:2569 src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "Aucun DCC actif\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "OUI " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "NON " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Vous êtes bombardé de requêtes CTCP par %s, %s va être ignoré\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "" +"Vous êtes bombardé de MSG par %s, désactivation de l'option " +"gui_auto_open_dialog.\n" + +#: src/common/notify.c:396 src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s connecté\n" + +#: src/common/notify.c:398 src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s déconnecté\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Vous n'avez encore rejoint aucun canal. Essayez /join #<canal>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Vous n'êtes pas encore connecté. Essayez /server <hôte> [<port>]\n" + +#: src/common/outbound.c:1650 src/common/outbound.c:1814 +msgid "I need /bin/sh to run!\n" +msgstr "/bin/sh est nécessaire au fonctionnement\n" + +#: src/common/outbound.c:1983 src/common/outbound.c:2185 +msgid "Commands Available:" +msgstr "Commandes disponibles :" + +#: src/common/outbound.c:1997 src/common/outbound.c:2199 +msgid "User defined commands:" +msgstr "Commandes définies par l'utilisateur :" + +#: src/common/outbound.c:2013 src/common/outbound.c:2215 +msgid "Plugin defined commands:" +msgstr "Commandes définies par un greffon :" + +#: src/common/outbound.c:2024 src/common/outbound.c:2226 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Taper /HELP <commande> pour plus d'informations, ou /HELP -l" + +#: src/common/outbound.c:2099 src/common/outbound.c:2301 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Paramètre inconnu « %s », ignoré." + +#: src/common/outbound.c:2960 src/common/outbound.c:3235 +msgid "No such plugin found.\n" +msgstr "Aucun greffon de ce type n'a été trouvé.\n" + +#: src/common/outbound.c:2965 src/fe-gtk/plugingui.c:186 +#: src/common/outbound.c:3240 +msgid "That plugin is refusing to unload.\n" +msgstr "Impossible de décharger ce greffon.\n" + +#: src/common/outbound.c:3200 src/common/outbound.c:3509 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "" +"ADDBUTTON <nom> <action>, ajouter un bouton au-dessous de la liste des " +"utilisateurs" + +#: src/common/outbound.c:3202 src/common/outbound.c:3511 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "" +"ALLCHAN <cmd>, envoyer une commande à tous les canaux sur lesquels vous êtes " +"présent" + +#: src/common/outbound.c:3204 src/common/outbound.c:3513 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "" +"ALLCHANL <cmd>, envoyer une commande à tous les canaux sur lesquels vous " +"êtes présent" + +#: src/common/outbound.c:3206 src/common/outbound.c:3515 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "" +"ALLSERV <cmd>, envoyer une commande à tous les serveurs auxquels vous êtes " +"connecté" + +#: src/common/outbound.c:3207 src/common/outbound.c:3516 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<raison>], indiquer que vous êtes absent" + +#: src/common/outbound.c:3209 src/common/outbound.c:3519 +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 <masque> [<typeban>], bannir du canal en cours tous ceux qui " +"correspondent au masque. S'ils sont déjà sur ce canal, ils ne seront pas " +"expulsés (nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:3211 +msgid "CLEAR, Clears the current text window" +msgstr "CLEAR, effacer la fenêtre de texte actuelle" + +#: src/common/outbound.c:3212 src/common/outbound.c:3529 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, fermer l'onglet ou la fenêtre en cours" + +#: src/common/outbound.c:3215 src/common/outbound.c:3532 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "" +"COUNTRY [-s] <code|joker>, rechercher un code de pays, par exemple : au = " +"Australie" + +#: src/common/outbound.c:3217 src/common/outbound.c:3534 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" +"CTCP <pseudo> <message>, envoyer au pseudo un message CTCP, « VERSION » et " +"« USERINFO » sont des messages usuels." + +#: src/common/outbound.c:3219 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "CYCLE, quitter le canal actuel et y revenir immédiatement" + +#: src/common/outbound.c:3221 src/common/outbound.c:3538 +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 "" +"\n" +"DCC GET <pseudo> - accepter le fichier proposé\n" +"DCC SEND [maxcps=#] <pseudo> <fichier> - envoyer un fichier à quelqu'un\n" +"DCC LIST - afficher les connexions DCC\n" +"DCC CHAT <pseudo> - proposer une discussion DCC\n" +"DCC PCHAT <pseudo> - proposer une discussion DCC\n" +" en mode passif\n" +"DCC CLOSE <type> <pseudo> <fichier> - exemple :\n" +" /dcc close send paul fichier.tar.gz" + +#: src/common/outbound.c:3233 src/common/outbound.c:3550 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" +"DEHOP <pseudo>, supprimer l'état demi-opérateur « chanhalf-op » d'un pseudo " +"sur le canal actuel (nécessite être opérateur [chanop])" + +#: src/common/outbound.c:3235 src/common/outbound.c:3552 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "" +"DELBUTTON <nom>, supprimer un des boutons situés au-dessous de la liste des " +"utilisateurs" + +#: src/common/outbound.c:3237 src/common/outbound.c:3554 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEOP <pseudo>, supprimer l'état opérateur (« chanop ») d'un pseudo sur le " +"canal actuel (nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:3239 src/common/outbound.c:3556 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEVOICE <pseudo>, supprimer la parole donnée à un pseudo sur le canal actuel " +"(nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:3240 src/common/outbound.c:3557 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, se déconnecter du serveur" + +#: src/common/outbound.c:3241 src/common/outbound.c:3558 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <pseudo|hôte|IP>, rechercher l'adresse IP d'un utilisateur" + +#: src/common/outbound.c:3242 src/common/outbound.c:3559 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <texte>, afficher un texte en local" + +#: src/common/outbound.c:3245 src/common/outbound.c:3562 +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] <commande>, exécuter une commande. Si l'option -o est utilisée, la " +"sortie est envoyée sur le canal actuel, sinon elle est affichée dans la zone " +"de texte actuelle" + +#: src/common/outbound.c:3247 src/common/outbound.c:3564 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, envoyer un signal « SIGCONT » au processus" + +#: src/common/outbound.c:3250 src/common/outbound.c:3567 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" +"EXECKILL [-9], tuer une exécution en cours dans la session actuelle. Si -9 " +"est fourni, le processus est tué par le signal « SIGKILL »" + +#: src/common/outbound.c:3252 src/common/outbound.c:3569 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, envoyer un signal « SIGSTOP » au processus" + +#: src/common/outbound.c:3253 src/common/outbound.c:3570 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, envoyer des données à l'entrée standard des processus" + +#: src/common/outbound.c:3257 src/common/outbound.c:3574 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, vider la file d'envoi du serveur actuel" + +#: src/common/outbound.c:3259 src/common/outbound.c:3576 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" +"GATE <hôte> [<port>], utiliser un hôte comme serveur mandataire (proxy), le " +"port 23 est utilisé par défaut" + +#: src/common/outbound.c:3262 src/common/outbound.c:3580 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <pseudo> <mot-de-passe>, tuer un pseudonyme fantôme" + +#: src/common/outbound.c:3267 src/common/outbound.c:3585 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" +"HOP <pseudo>, donner l'état de demi-opérateur de canal « chanhalf-op » au " +"pseudo (nécessite d'être opérateur [chanop)]" + +# ChtiTux +#: src/common/outbound.c:3268 src/common/outbound.c:3586 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <mot de passe>, vous identifie auprès de nickserv" + +#: src/common/outbound.c:3270 src/common/outbound.c:3588 +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 <masque> <types...> <options...>\n" +" masque - masque d'hôtes à exclure, par ex. : *!*@*.aol.com\n" +" types - types de données à exclure, un seul ou tous :\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" + +#: src/common/outbound.c:3277 src/common/outbound.c:3595 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" +"INVITE <pseudo> [<canal>], inviter quelqu'un sur un canal, par défaut le " +"canal actuel (nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:3278 src/common/outbound.c:3596 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <canal>, rejoindre le canal" + +#: src/common/outbound.c:3280 src/common/outbound.c:3598 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "" +"KICK <pseudo>, expulser le pseudo (kick) hors du canal actuel (nécessite " +"d'être opérateur [chanop])" + +#: src/common/outbound.c:3282 src/common/outbound.c:3600 +msgid "" +"KICKBAN <nick>, bans then kicks the nick from the current channel (needs " +"chanop)" +msgstr "" +"KICKBAN <pseudo>, bannir puis expulser (kick) le pseudo du canal actuel " +"(nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:3285 src/common/outbound.c:3603 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, forcer une nouvelle vérification de latence (lag)" + +#: src/common/outbound.c:3287 src/common/outbound.c:3605 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <chaîne>, rechercher une chaîne mémorisée dans la fenêtre" + +#: src/common/outbound.c:3289 src/common/outbound.c:3607 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <fichier>, charger un greffon ou un script" + +#: src/common/outbound.c:3292 src/common/outbound.c:3610 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" +"MDEHOP, retirer globalement les droits d'opérateur à tous les demi-" +"opérateurs (halfops) du canal actuel (nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:3294 src/common/outbound.c:3612 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" +"MDEOP, retirer globalement tous les droits d'opérateur à tous les opérateurs " +"du canal actuel (nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:3296 src/common/outbound.c:3614 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in " +"the 3rd person, like /me jumps)" +msgstr "" +"ME <action>, envoyer l'action sur le canal actuel (les actions sont écrites " +"à la 3ème personne, comme /me est content)" + +#: src/common/outbound.c:3299 src/common/outbound.c:3618 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" +"MKICK, jeter (kick) massivement tout le monde sauf vous hors du canal actuel " +"(nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:3302 src/common/outbound.c:3621 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" +"MOP, donner globalement les droits d'opérateur à tous les utilisateurs du " +"canal actuel (nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:3303 src/common/outbound.c:3622 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <pseudo> <message>, envoyer un message privé" + +#: src/common/outbound.c:3306 src/common/outbound.c:3625 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, afficher les pseudonymes sur le canal actuel" + +#: src/common/outbound.c:3308 src/common/outbound.c:3627 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <pseudo> <message>, envoyer une notification CTCP" + +#: src/common/outbound.c:3309 src/common/outbound.c:3628 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noreconnect] <nom_hôte> [<port>]" + +#: src/common/outbound.c:3310 src/common/outbound.c:3629 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <pseudo>, définir votre pseudonyme" + +#: src/common/outbound.c:3313 src/common/outbound.c:3632 +msgid "" +"NOTICE <nick/channel> <message>, sends a notice. Notices are a type of " +"message that should be auto reacted to" +msgstr "" +"NOTICE <pseudo/canal> <message>, envoyer une notification. Les notifications " +"sont un type de message auquel on devrait réagir automatiquement" + +#: src/common/outbound.c:3315 +msgid "NOTIFY [<nick>], lists your notify list or adds someone to it" +msgstr "" +"NOTIFY [<pseudo>], afficher votre liste de notifications ou y ajouter " +"quelqu'un" + +#: src/common/outbound.c:3317 src/common/outbound.c:3636 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" +"OP <pseudo>, donner l'état d'opérateur « chanop » au pseudo (nécessite " +"d'être opérateur [chanop])" + +#: src/common/outbound.c:3319 src/common/outbound.c:3638 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "" +"PART [<canal>] [<raison>], quitter le canal, par défaut le canal actuel" + +#: src/common/outbound.c:3321 src/common/outbound.c:3640 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <pseudo | canal>, envoyer un ping CTCP au pseudo ou au canal" + +#: src/common/outbound.c:3323 +msgid "QUERY <nick>, opens up a new privmsg window to someone" +msgstr "" +"QUERY <pseudo>, ouvrir une nouvelle fenêtre de message privé avec quelqu'un" + +#: src/common/outbound.c:3325 src/common/outbound.c:3644 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<raison>], se déconnecter du serveur actuel" + +#: src/common/outbound.c:3327 src/common/outbound.c:3646 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <texte>, transmettre le texte au serveur sous forme brute" + +#: src/common/outbound.c:3330 src/common/outbound.c:3649 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /" +"RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" +"RECONNECT [-ssl] [<hôte>] [<port>] [<mot_de_passe>], peut être appelée " +"exactement comme /RECONNECT pour se reconnecter au serveur actuel ou avec /" +"RECONNECT ALL pour se reconnecter à tous les serveurs ouverts" + +#: src/common/outbound.c:3333 src/common/outbound.c:3652 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" +"RECONNECT [<hôte>] [<port>] [<mot_de_passe>], peut être appelée exactement " +"comme /RECONNECT pour se reconnecter au serveur actuel ou avec /RECONNECT " +"ALL pour se reconnecter à tous les serveurs ouverts" + +#: src/common/outbound.c:3335 src/common/outbound.c:3654 +msgid "" +"RECV <text>, send raw data to xchat, as if it was received from the irc " +"server" +msgstr "" +"RECV <texte>, transmettre vers xchat le texte sous forme brute, comme s'il " +"avait été reçu depuis le serveur IRC" + +#: src/common/outbound.c:3338 src/common/outbound.c:3657 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <texte>, envoyer un texte à l'objet de la fenêtre actuelle" + +#: src/common/outbound.c:3339 src/common/outbound.c:3658 +msgid "SEND <nick> [<file>]" +msgstr "SEND <pseudo> [<fichier>]" + +#: src/common/outbound.c:3342 src/common/outbound.c:3661 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" +"SERVCHAN [-ssl] <hôte> <port> <canal>, se connecter et rejoindre un canal" + +#: src/common/outbound.c:3345 src/common/outbound.c:3664 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <hôte> <port> <canal>, se connecter et rejoindre un canal" + +#: src/common/outbound.c:3349 src/common/outbound.c:3668 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" +"SERVER [-ssl] <hôte> [<port>] [<mot_de_passe>], se connecter à un serveur, " +"le port par défaut est 6667 pour les connexions normales, et 9999 pour les " +"connexions ssl" + +#: src/common/outbound.c:3352 src/common/outbound.c:3671 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" +"SERVER <hôte> [<port>] [<mot_de_passe>], se connecter à un serveur, le port " +"par défaut est 6667" + +#: src/common/outbound.c:3354 +msgid "SET [-quiet] <variable> [<value>]" +msgstr "SET [-quiet] <variable> [<valeur>] (-quiet = silencieusement)" + +#: src/common/outbound.c:3355 src/common/outbound.c:3674 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<position>" + +#: src/common/outbound.c:3359 src/common/outbound.c:3679 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "" +"TOPIC [<sujet>], définir le sujet si on en fournit un, sinon afficher le " +"sujet actuel" + +#: src/common/outbound.c:3361 src/common/outbound.c:3688 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "" +"UNBAN <masque> [<masque>...], supprimer le bannissement pour les masques " +"fournis." + +#: src/common/outbound.c:3362 src/common/outbound.c:3689 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <masque> [QUIET]" + +#: src/common/outbound.c:3363 src/common/outbound.c:3690 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nom>, décharger un greffon ou un script" + +#: src/common/outbound.c:3364 src/common/outbound.c:3691 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, ouvrir une URL dans votre navigateur" + +#: src/common/outbound.c:3366 src/common/outbound.c:3693 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "" +"USELECT [-a] [-s] <pseudo1> <npseudo2> etc., mettre en surbrillance le(s) " +"pseudonyme(s) dans la liste des utilisateurs du canal" + +#: src/common/outbound.c:3369 src/common/outbound.c:3696 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" +"VOICE <pseudo>, donner la parole à quelqu'un (nécessite d'être opérateur " +"[chanop])" + +#: src/common/outbound.c:3371 src/common/outbound.c:3698 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <message>, écrire le message sur tous les canaux" + +#: src/common/outbound.c:3373 src/common/outbound.c:3700 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" +"WALLCHOP <message>, envoyer le message à tous les opérateurs du canal actuel " +"(chanops)" + +#: src/common/outbound.c:3406 src/common/outbound.c:3733 +#, c-format +msgid "Usage: %s\n" +msgstr "Utilisation : %s\n" + +#: src/common/outbound.c:3411 src/common/outbound.c:3738 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Aucune aide n'est disponible pour cette commande.\n" + +#: src/common/outbound.c:3417 src/common/outbound.c:3744 +msgid "No such command.\n" +msgstr "Cette commande n'existe pas.\n" + +#: src/common/outbound.c:3744 src/common/outbound.c:4074 +msgid "Bad arguments for user command.\n" +msgstr "Paramètres de la commande utilisateur erronés.\n" + +#: src/common/outbound.c:3900 src/common/outbound.c:4230 +msgid "Too many recursive usercommands, aborting." +msgstr "Trop de commandes utilisateur récursives, abandon." + +#: src/common/outbound.c:3977 src/common/outbound.c:4307 +msgid "Unknown Command. Try /help\n" +msgstr "Commande inconnue. Essayez /help\n" + +#: src/common/plugin.c:371 src/common/plugin.c:412 src/common/plugin.c:356 +#: src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "" +"Le symbole xchat_plugin_init n'existe pas ; est-ce vraiment un greffon " +"xchat ?" + +#: src/common/server.c:621 src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Êtes-vous sûr que ce serveur et ce port gèrent SSL ?\n" + +#: src/common/server.c:1005 src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Résolution du nom d'hôte %s impossible.\n" +"Veuillez vérifier vos réglages IP.\n" + +#: src/common/server.c:1010 src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "La traversée du serveur mandataire (proxy) a échoué.\n" + +#: src/common/servlist.c:641 src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Passage au serveur suivant dans %s...\n" + +#: src/common/servlist.c:1065 src/common/servlist.c:1074 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" +"Attention : le jeu de caractères « %s » est inconnu. Aucune conversion ne " +"sera effectuée pour le réseau %s." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 a été ajouté à la liste de notification." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Liste de bannissement : %C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tImpossible de rejoindre%C26 %B$1 %O(Vous êtes banni)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 s'appelle maintenant $2" + +#: src/common/textevents.h:21 +msgid "%C18*$t$1%O $2" +msgstr "%C18*$t$1%O $2" + +#: src/common/textevents.h:24 +msgid "%C21*%O$t%C21%B$1%O%C21 $2" +msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 met un ban sur $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tCanal $1 créé le $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "" +"%C22*%O$t%C26$1%Oi enlève son état de demi-opérateur « half-operator » de " +"canal à%C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O enlève son état d'opérateur de canal à%C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O enlève la parole à%C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$t définit « l'exempt » sur $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O donne l'état de demi-opérateur à%C26 $2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 définit l'invite sur $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UCanal Utilisateurs Sujet" + +#: src/common/textevents.h:54 +msgid "%C18%H<%H$4$1%H>%H%O$t$2" +msgstr "%C18%H<%H$4$1%H>%H%O$t$2" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 active le mode $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Modes du canal $1 : $2" + +#: src/common/textevents.h:63 +msgid "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" +msgstr "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" + +#: src/common/textevents.h:66 +msgid "%C28-%C29$1/$2%C28-%O$t$3" +msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O donne l'état d'opérateur de canal à%C26 $2" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 supprime l'exempt sur $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 supprime l'invite sur $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 enlève le mot-clé du canal" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 enlève la limite d'utilisateurs" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 définit le mot-clé du canal à $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 définit la limite du canal à $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 supprime l'état de bannissement de $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O donne la parole à%C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Connecté. Identification en cours..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Connexion à $1 ($2) port $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21La connexion a échoué. Erreur : $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tUn CTCP $1 de $2 a été reçu" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tUn CTCP $1 de $2 (pour $3) a été reçu" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tUn son CTCP $1 a été reçu de $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tUn son CTCP $1 de $2 (pour $3) a été reçu" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC CHAT à %C26$1%O interrompu." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tConnexion DCC CHAT établie à %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tPerte du DCC CHAT avec %C26$1%O ($4)." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tRéception d'une offre de DCC CHAT de $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tProposition de DCC CHAT à $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tUn CHAT est déjà proposé à $1" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 tentative de connexion à%C26 $2%O échouée (err=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$t« $1%O » reçu de $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Type À/De État Taille Pos Fichier " + +#: src/common/textevents.h:147 +msgid "" +"%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O" +"$tContents of packet: $2" +msgstr "" +"%C22*%O$tReçu une requête DCC mal formée de %C26$1%O.%010%C22*%O$tContenu du " +"paquet : $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tProposition de%C26 $1%O à%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tPas d'offre DCC correspondante." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV%C26 $2%O vers%C26 $1%O interrompu." + +#: src/common/textevents.h:159 +msgid "" +"%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "" +"%C22*%O$tDCC RECV%C26 $1%O de%C26 $3%O terminé %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC RECV connexion établie avec%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O de%C26 $3%O échoué ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV : ouverture de $1 en écriture impossible ($2)." + +#: src/common/textevents.h:171 +msgid "" +"%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tLe fichier%C26 $1%C existe déjà, enregistré sous%C26 $2%O." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Oa demandé à reprendre%C26 $2 %Cdepuis%C26 $3%C." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND%C26 $2%O vers%C26 $1%O interrompu." + +#: src/common/textevents.h:180 +msgid "" +"%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "" +"%C22*%O$tDCC SEND%C26 $1%O à%C26 $2%O terminé %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC SEND connexion établie vers%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O vers%C26 $2%O échoué. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Oa proposé%C26 $2 %O(%C26$3 %Ooctets)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oà%C26 $3 %Cfigé - abandon." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oà%C26 $3 %Odélai dépassé - abandon." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 supprimé de la liste de notification." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tDéconnecté ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tVotre IP a été trouvée : [$1]" + +#: src/common/textevents.h:207 +msgid "$1$t$2" +msgstr "$1$t$2" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O ajouté à la liste d'exclusion." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Exclusion sur %C26$1%O modifiée." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Masque d'hôte PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O enlevé de la liste d'exclusion." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " La liste d'ignorance est vide." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tNe peut rejoindre%C26 %B$1 %O(Canal en invite seulement)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tVous êtes invité sur%C26 $1%O par%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) a rejoint $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tNe peut rejoindre%C26 %B$1 %O(Requiert le mot-clé)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 a expulsé $2 de $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tVous avez été tué par $1 ($2%O%C22)" + +#: src/common/textevents.h:246 src/common/textevents.h:270 +msgid "%C19>%O$1%C19<%O$t$2" +msgstr "%C19>%O$1%C19<%O$t$2" + +#: src/common/textevents.h:249 +msgid "%C16*%O$t$1%O" +msgstr "%C16*%O$t$1%O" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD sauté." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 est déjà utilisé. Réessai avec $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "" +"%C22*%O$tPseudonyme déjà utilisé. Utilisez /NICK pour en essayer un autre." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tAucun DCC correspondant." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tAucun processus ne tourne actuellement" + +#: src/common/textevents.h:267 +msgid "%C28-%C29$1%C28-%O$t$2" +msgstr "%C28-%C29$1%C28-%O$t$2" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tLa liste de notification est vide." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Liste de notification " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 utilisateurs dans la liste de notification." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($2)." +msgstr "%C22*%O$tNotification : $1 est déconnecté ($2)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($2)." +msgstr "%C22*%O$tNotification : $1 est connecté ($2)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) a quitté $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) a quitté $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tRéponse de $1 à la requête ping : $2 seconde(s)" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "" +"%C22*%O$tAucune réponse à la requête ping depuis $1 secondes, déconnexion." + +#: src/common/textevents.h:303 +msgid "%C28*%C29$3$1%C28*$t%O$2" +msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#: src/common/textevents.h:306 +msgid "%C18%H<%H$3$1%H>%H%O$t$2" +msgstr "%C18%H<%H$3$1%H>%H%O$t$2" + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tUn processus tourne déjà" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 est parti (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 définit les modes%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tRecherche de l'adresse IP de%C26 $1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Connecté." + +#: src/common/textevents.h:327 src/common/textevents.h:333 +#: src/common/textevents.h:336 +msgid "%C22*%O$t$1" +msgstr "%C22*%O$t$1" + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Recherche de $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tArrêt de la tentative de connexion précédente (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Le sujet de $1%C %C29est : $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 a changé le sujet en : $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Sujet de $1%C %C29défini par $2%C %C29le $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tHôte inconnu. Peut-être avez vous fait une faute de frappe ?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "" +"%C22*%O$tImpossible de rejoindre%C26 %B$1 %O(limite d'utilisateurs atteinte)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Utilisateurs sur $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cest absent %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OFin de la liste WHOIS." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O inactif %C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "" +"%C22*%O$t%C28[%O$1%C28]%O inactif %C26 $2%O, ouverture de session :%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "" +"%C22*%O$t%C28[%O$1%C28] %Outilisateur réel@hôte%C27 $2%O, IP réelle%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Vous parlez maintenant sur $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tVous avez été expulsé de $2 par $3 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tVous avez quitté le canal $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tVous avez quitté le canal $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:405 src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tVous avez invité%C26 $1%O à%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:408 +msgid "%C31%H<%H$4$1%H>%H%O%C30$t$2" +msgstr "%C31%H<%H$4$1%H>%H%O%C30$t$2" + +#: src/common/textevents.h:411 src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tVous-vous appelez maintenant $2" + +#: src/common/text.c:61 src/common/text.c:310 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** FIN DU JOURNAL À %s\n" + +#: src/common/text.c:263 src/common/text.c:519 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** DÉBUT DU JOURNAL À %s\n" + +#: src/common/text.c:282 src/common/text.c:538 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Impossible d'ouvrir le(s) fichier(s) journaux en écriture.\n" +" Veuillez vérifier les permissions de %s/xchatlogs" + +#: src/common/text.c:516 src/common/text.c:876 +msgid "Left message" +msgstr "Message de gauche" + +#: src/common/text.c:517 src/common/text.c:877 +msgid "Right message" +msgstr "Message de droite" + +#: src/common/text.c:521 src/common/text.c:881 +msgid "The nick of the joining person" +msgstr "Pseudo de la personne qui arrive" + +#: src/common/text.c:522 src/common/text.c:882 +msgid "The channel being joined" +msgstr "Canal à rejoindre" + +#: src/common/text.c:523 src/common/text.c:569 src/common/text.c:626 +#: src/common/text.c:883 src/common/text.c:930 src/common/text.c:981 +msgid "The host of the person" +msgstr "Hôte de la personne" + +#: src/common/text.c:527 src/common/text.c:533 src/common/text.c:540 +#: src/common/text.c:607 src/common/text.c:733 src/common/text.c:740 +#: src/common/text.c:745 src/common/text.c:750 src/common/text.c:755 +#: src/common/text.c:761 src/common/text.c:766 src/common/text.c:770 +#: src/common/text.c:776 src/common/text.c:782 src/common/text.c:828 +#: src/common/text.c:838 src/common/text.c:843 src/common/text.c:848 +#: src/common/text.c:857 src/common/text.c:868 src/common/text.c:875 +#: src/common/text.c:881 src/common/text.c:886 src/common/text.c:891 +#: src/common/text.c:898 src/common/text.c:904 src/common/text.c:910 +#: src/common/text.c:915 src/common/text.c:920 src/common/text.c:924 +#: src/common/text.c:930 src/common/text.c:938 src/common/text.c:972 +#: src/common/text.c:977 src/common/text.c:887 src/common/text.c:893 +#: src/common/text.c:900 src/common/text.c:1088 src/common/text.c:1095 +#: src/common/text.c:1100 src/common/text.c:1105 src/common/text.c:1110 +#: src/common/text.c:1116 src/common/text.c:1121 src/common/text.c:1125 +#: src/common/text.c:1131 src/common/text.c:1137 src/common/text.c:1183 +#: src/common/text.c:1194 src/common/text.c:1199 src/common/text.c:1204 +#: src/common/text.c:1213 src/common/text.c:1224 src/common/text.c:1231 +#: src/common/text.c:1237 src/common/text.c:1242 src/common/text.c:1247 +#: src/common/text.c:1254 src/common/text.c:1260 src/common/text.c:1266 +#: src/common/text.c:1271 src/common/text.c:1276 src/common/text.c:1280 +#: src/common/text.c:1286 src/common/text.c:1294 src/common/text.c:1328 +#: src/common/text.c:1333 +msgid "Nickname" +msgstr "Pseudonyme" + +#: src/common/text.c:528 src/common/text.c:888 +msgid "The action" +msgstr "Action" + +#: src/common/text.c:529 src/common/text.c:535 src/common/text.c:889 +#: src/common/text.c:895 +msgid "Mode char" +msgstr "Caractère de mode" + +#: src/common/text.c:534 src/common/text.c:894 +msgid "The text" +msgstr "Texte" + +#: src/common/text.c:536 src/common/text.c:609 src/common/text.c:896 +#: src/common/text.c:902 +msgid "Identified text" +msgstr "Texte identifié" + +#: src/common/text.c:541 src/common/text.c:597 src/common/text.c:603 +#: src/common/text.c:608 src/common/text.c:901 src/common/text.c:958 +#: src/common/text.c:964 +msgid "The message" +msgstr "Message" + +#: src/common/text.c:545 src/common/text.c:613 src/common/text.c:906 +#: src/common/text.c:968 +msgid "Old nickname" +msgstr "Ancien pseudonyme" + +#: src/common/text.c:546 src/common/text.c:614 src/common/text.c:907 +#: src/common/text.c:969 +msgid "New nickname" +msgstr "Nouveau pseudonyme" + +#: src/common/text.c:550 src/common/text.c:911 +msgid "Nick of person who changed the topic" +msgstr "Pseudonyme de la personne qui a changé le sujet" + +#: src/common/text.c:551 src/common/text.c:557 src/fe-gtk/chanlist.c:607 +#: src/fe-gtk/chanlist.c:712 src/common/text.c:912 src/common/text.c:918 +#: src/fe-gtk/chanlist.c:756 src/fe-gtk/chanlist.c:859 +msgid "Topic" +msgstr "Sujet" + +#: src/common/text.c:552 src/common/text.c:556 src/common/text.c:992 +#: src/fe-gtk/chanlist.c:605 src/fe-gtk/chanlist.c:703 +#: src/fe-gtk/ignoregui.c:176 src/common/text.c:913 src/common/text.c:917 +#: src/common/text.c:1348 src/fe-gtk/chanlist.c:754 +msgid "Channel" +msgstr "Canal" + +#: src/common/text.c:561 src/common/text.c:620 src/common/text.c:922 +#: src/common/text.c:975 +msgid "The nickname of the kicker" +msgstr "Pseudonyme de celui qui a expulsé" + +#: src/common/text.c:562 src/common/text.c:618 src/common/text.c:923 +#: src/common/text.c:973 +msgid "The person being kicked" +msgstr "Personne qui se fait expulser" + +#: src/common/text.c:563 src/common/text.c:570 src/common/text.c:574 +#: src/common/text.c:579 src/common/text.c:619 src/common/text.c:627 +#: src/common/text.c:634 src/common/text.c:924 src/common/text.c:931 +#: src/common/text.c:935 src/common/text.c:940 src/common/text.c:974 +#: src/common/text.c:982 src/common/text.c:989 +msgid "The channel" +msgstr "Canal" + +#: src/common/text.c:564 src/common/text.c:621 src/common/text.c:628 +#: src/common/text.c:925 src/common/text.c:976 src/common/text.c:983 +msgid "The reason" +msgstr "Raison" + +#: src/common/text.c:568 src/common/text.c:625 src/common/text.c:929 +#: src/common/text.c:980 +msgid "The nick of the person leaving" +msgstr "Pseudonyme de la personne qui part" + +#: src/common/text.c:575 src/common/text.c:581 src/common/text.c:936 +#: src/common/text.c:942 +msgid "The time" +msgstr "Heure" + +#: src/common/text.c:580 src/common/text.c:941 +msgid "The creator" +msgstr "Créateur" + +#: src/common/text.c:585 src/common/text.c:946 src/fe-gtk/dccgui.c:763 +#: src/fe-gtk/dccgui.c:994 +msgid "Nick" +msgstr "Pseudonyme" + +#: src/common/text.c:586 src/common/text.c:844 src/common/text.c:947 +#: src/common/text.c:1200 +msgid "Reason" +msgstr "Raison" + +#: src/common/text.c:587 src/common/text.c:735 src/common/text.c:818 +#: src/common/text.c:948 src/common/text.c:1090 src/common/text.c:1173 +msgid "Host" +msgstr "Hôte" + +#: src/common/text.c:591 src/common/text.c:596 src/common/text.c:601 +#: src/common/text.c:952 src/common/text.c:957 src/common/text.c:962 +msgid "Who it's from" +msgstr "Émetteur" + +#: src/common/text.c:592 src/common/text.c:953 +msgid "The time in x.x format (see below)" +msgstr "Heure au format x.x (voir ci-dessous)" + +#: src/common/text.c:602 src/common/text.c:645 src/common/text.c:963 +#: src/common/text.c:1000 +msgid "The Channel it's going to" +msgstr "Canal de destination" + +#: src/common/text.c:632 src/common/text.c:987 +msgid "The sound" +msgstr "Son" + +#: src/common/text.c:633 src/common/text.c:639 src/common/text.c:644 +#: src/common/text.c:988 src/common/text.c:994 src/common/text.c:999 +msgid "The nick of the person" +msgstr "Pseudonyme de la personne" + +#: src/common/text.c:638 src/common/text.c:643 src/common/text.c:993 +#: src/common/text.c:998 +msgid "The CTCP event" +msgstr "Événement CTCP" + +#: src/common/text.c:649 src/common/text.c:1004 +msgid "The nick of the person who set the key" +msgstr "Pseudonyme de la personne qui a défini la clé" + +#: src/common/text.c:650 src/common/text.c:1005 +msgid "The key" +msgstr "Clé" + +#: src/common/text.c:654 src/common/text.c:1009 +msgid "The nick of the person who set the limit" +msgstr "Pseudonyme de la personne qui a défini la limite" + +#: src/common/text.c:655 src/common/text.c:1010 +msgid "The limit" +msgstr "Limite" + +#: src/common/text.c:659 src/common/text.c:1014 +msgid "The nick of the person who did the op'ing" +msgstr "Pseudonyme de la personne qui a donné l'état d'opérateur" + +#: src/common/text.c:660 src/common/text.c:1015 +msgid "The nick of the person who has been op'ed" +msgstr "Pseudonyme de la personne qui a reçu l'état d'opérateur" + +#: src/common/text.c:664 src/common/text.c:1019 +msgid "The nick of the person who has been halfop'ed" +msgstr "Pseudonyme de la personne qui a reçu l'état de demi-opérateur" + +#: src/common/text.c:665 src/common/text.c:1020 +msgid "The nick of the person who did the halfop'ing" +msgstr "Pseudonyme de la personne qui a donné l'état de demi-opérateur" + +#: src/common/text.c:669 src/common/text.c:1024 +msgid "The nick of the person who did the voice'ing" +msgstr "Pseudonyme de la personne qui a donné la parole" + +#: src/common/text.c:670 src/common/text.c:1025 +msgid "The nick of the person who has been voice'ed" +msgstr "Pseudonyme de la personne à qui a été donnée la parole" + +#: src/common/text.c:674 src/common/text.c:1029 +msgid "The nick of the person who did the banning" +msgstr "Pseudonyme de la personne qui a fait le bannissement" + +#: src/common/text.c:675 src/common/text.c:702 src/common/text.c:1030 +#: src/common/text.c:1057 +msgid "The ban mask" +msgstr "Masque de bannissement" + +#: src/common/text.c:679 src/common/text.c:1034 +msgid "The nick who removed the key" +msgstr "Pseudonyme de la personne qui a supprimé la clé" + +#: src/common/text.c:683 src/common/text.c:1038 +msgid "The nick who removed the limit" +msgstr "Pseudonyme de la personne qui a supprimé la limite" + +#: src/common/text.c:687 src/common/text.c:1042 +msgid "The nick of the person of did the deop'ing" +msgstr "Pseudonyme de la personne qui a supprimé l'état d'opérateur" + +#: src/common/text.c:688 src/common/text.c:1043 +msgid "The nick of the person who has been deop'ed" +msgstr "Pseudonyme de la personne à qui on a supprimé l'état d'opérateur" + +#: src/common/text.c:691 src/common/text.c:1046 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Pseudonyme de la personne qui a supprimé l'état de demi-opérateur" + +#: src/common/text.c:692 src/common/text.c:1047 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Pseudonyme de la personne à qui on a supprimé l'état de demi-opérateur" + +#: src/common/text.c:696 src/common/text.c:1051 +msgid "The nick of the person of did the devoice'ing" +msgstr "Pseudonyme de la personne qui a supprimé la parole" + +#: src/common/text.c:697 src/common/text.c:1052 +msgid "The nick of the person who has been devoice'ed" +msgstr "Pseudonyme de la personne à qui on a supprimé la parole" + +#: src/common/text.c:701 src/common/text.c:1056 +msgid "The nick of the person of did the unban'ing" +msgstr "Pseudonyme de la personne qui a supprimé l'état de bannissement" + +#: src/common/text.c:706 src/common/text.c:1061 +msgid "The nick of the person who did the exempt" +msgstr "Pseudonyme de la personne qui a fait l' « exempt »" + +#: src/common/text.c:707 src/common/text.c:712 src/common/text.c:1062 +#: src/common/text.c:1067 +msgid "The exempt mask" +msgstr "Masque d'exempt" + +#: src/common/text.c:711 src/common/text.c:1066 +msgid "The nick of the person removed the exempt" +msgstr "Pseudonyme de la personne qui a supprimé l'exempt" + +#: src/common/text.c:716 src/common/text.c:1071 +msgid "The nick of the person who did the invite" +msgstr "Pseudonyme de la personne qui a fait l'invite" + +#: src/common/text.c:717 src/common/text.c:722 src/common/text.c:1072 +#: src/common/text.c:1077 +msgid "The invite mask" +msgstr "Masque d'invite" + +#: src/common/text.c:721 src/common/text.c:1076 +msgid "The nick of the person removed the invite" +msgstr "Pseudonyme de la personne qui a enlevé l'invite" + +#: src/common/text.c:726 src/common/text.c:1081 +msgid "The nick of the person setting the mode" +msgstr "Pseudonyme de la personne qui a défini le mode" + +#: src/common/text.c:727 src/common/text.c:1082 +msgid "The mode's sign (+/-)" +msgstr "Signe du mode (+/-)" + +#: src/common/text.c:728 src/common/text.c:1083 +msgid "The mode letter" +msgstr "Lettre de mode" + +#: src/common/text.c:729 src/common/text.c:1084 +msgid "The channel it's being set on" +msgstr "Canal de destination" + +#: src/common/text.c:734 src/common/text.c:1089 +msgid "Username" +msgstr "Nom d'utilisateur" + +#: src/common/text.c:736 src/common/text.c:1091 +msgid "Full name" +msgstr "Nom complet" + +#: src/common/text.c:741 src/common/text.c:1096 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Membre des canaux (opérateur IRC)" + +#: src/common/text.c:746 src/common/text.c:1101 +msgid "Server Information" +msgstr "Informations serveur" + +#: src/common/text.c:751 src/common/text.c:756 src/common/text.c:1106 +#: src/common/text.c:1111 +msgid "Idle time" +msgstr "Durée d'inactivité" + +#: src/common/text.c:757 src/common/text.c:1112 +msgid "Signon time" +msgstr "Heure de connexion" + +#: src/common/text.c:762 src/common/text.c:1117 +msgid "Away reason" +msgstr "Raison de l'absence" + +#: src/common/text.c:771 src/common/text.c:777 src/common/text.c:785 +#: src/common/text.c:964 src/common/text.c:1126 src/common/text.c:1132 +#: src/common/text.c:1140 src/common/text.c:1320 +msgid "Message" +msgstr "Message" + +#: src/common/text.c:778 src/common/text.c:1133 +msgid "Account" +msgstr "Compte" + +#: src/common/text.c:783 src/common/text.c:1138 +msgid "Real user@host" +msgstr "utilisateur réel@hôte" + +#: src/common/text.c:784 src/common/text.c:1139 +msgid "Real IP" +msgstr "IP réelle" + +#: src/common/text.c:789 src/common/text.c:798 src/common/text.c:804 +#: src/common/text.c:833 src/common/text.c:987 src/common/text.c:1144 +#: src/common/text.c:1153 src/common/text.c:1159 src/common/text.c:1189 +#: src/common/text.c:1343 +msgid "Channel Name" +msgstr "Nom du canal" + +#: src/common/text.c:793 src/common/text.c:950 src/fe-gtk/menu.c:1166 +#: src/fe-gtk/menu.c:1345 src/fe-gtk/textgui.c:387 src/common/text.c:1148 +#: src/common/text.c:1306 src/fe-gtk/menu.c:1240 src/fe-gtk/menu.c:1428 +#: src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "Texte" + +#: src/common/text.c:794 src/common/text.c:800 src/common/text.c:829 +#: src/common/text.c:946 src/common/text.c:988 src/common/text.c:1149 +#: src/common/text.c:1155 src/common/text.c:1184 src/common/text.c:1302 +#: src/common/text.c:1344 +msgid "Server Name" +msgstr "Nom du serveur" + +#: src/common/text.c:799 src/common/text.c:1154 +msgid "Nick of person who invited you" +msgstr "Pseudonyme de la personne qui vous a invité" + +#: src/common/text.c:805 src/fe-gtk/chanlist.c:606 src/common/text.c:1160 +#: src/fe-gtk/chanlist.c:755 +msgid "Users" +msgstr "Utilisateurs" + +#: src/common/text.c:809 src/common/text.c:1164 +msgid "Nickname in use" +msgstr "Pseudonyme déjà utilisé" + +#: src/common/text.c:810 src/common/text.c:1165 +msgid "Nick being tried" +msgstr "Pseudonyme en essai" + +#: src/common/text.c:814 src/common/text.c:851 src/common/text.c:862 +#: src/common/text.c:869 src/common/text.c:882 src/common/text.c:899 +#: src/common/text.c:999 src/common/util.c:352 src/common/dcc.c:1887 +#: src/common/text.c:1169 src/common/text.c:1207 src/common/text.c:1218 +#: src/common/text.c:1225 src/common/text.c:1238 src/common/text.c:1255 +#: src/common/text.c:1355 +msgid "Error" +msgstr "Erreur" + +#: src/common/text.c:819 src/common/text.c:954 src/common/text.c:1174 +#: src/common/text.c:1310 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:820 src/common/text.c:850 src/common/text.c:1175 +#: src/common/text.c:1206 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:824 +msgid "PID" +msgstr "PID" + +#: src/common/text.c:834 src/common/text.c:839 src/common/text.c:1190 +#: src/common/text.c:1195 +msgid "Modes string" +msgstr "Chaîne de modes" + +#: src/common/text.c:849 src/common/text.c:887 src/common/text.c:892 +#: src/common/text.c:933 src/common/text.c:1205 src/common/text.c:1243 +#: src/common/text.c:1248 src/common/text.c:1289 +msgid "IP address" +msgstr "Adresse IP" + +#: src/common/text.c:855 src/common/text.c:880 src/common/text.c:1211 +#: src/common/text.c:1236 +msgid "DCC Type" +msgstr "Type de DCC" + +#: src/common/text.c:856 src/common/text.c:861 src/common/text.c:866 +#: src/common/text.c:873 src/common/text.c:893 src/common/text.c:897 +#: src/common/text.c:903 src/common/text.c:909 src/common/text.c:916 +#: src/common/text.c:925 src/common/text.c:931 src/common/text.c:1212 +#: src/common/text.c:1217 src/common/text.c:1222 src/common/text.c:1229 +#: src/common/text.c:1249 src/common/text.c:1253 src/common/text.c:1259 +#: src/common/text.c:1265 src/common/text.c:1272 src/common/text.c:1281 +#: src/common/text.c:1287 +msgid "Filename" +msgstr "Nom de fichier" + +#: src/common/text.c:867 src/common/text.c:874 src/common/text.c:1223 +#: src/common/text.c:1230 +msgid "Destination filename" +msgstr "Nom du fichier de destination" + +#: src/common/text.c:876 src/common/text.c:905 src/common/text.c:1232 +#: src/common/text.c:1261 +msgid "CPS" +msgstr "cps" + +#: src/common/text.c:911 src/common/text.c:1267 +msgid "Pathname" +msgstr "Chemin" + +#: src/common/text.c:926 src/fe-gtk/dccgui.c:537 src/fe-gtk/dccgui.c:709 +#: src/common/text.c:1282 src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "Position" + +#: src/common/text.c:932 src/fe-gtk/dccgui.c:353 src/fe-gtk/dccgui.c:536 +#: src/fe-gtk/dccgui.c:708 src/common/text.c:1288 src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "Taille" + +#: src/common/text.c:937 src/common/text.c:1293 +msgid "DCC String" +msgstr "Chaîne DCC" + +#: src/common/text.c:942 src/common/text.c:1298 +msgid "Number of notify items" +msgstr "Nombre de notifications" + +#: src/common/text.c:958 src/common/text.c:1314 +msgid "Old Filename" +msgstr "Ancien nom de fichier" + +#: src/common/text.c:959 src/common/text.c:1315 +msgid "New Filename" +msgstr "Nouveau nom de fichier" + +#: src/common/text.c:963 src/common/text.c:1319 +msgid "Receiver" +msgstr "Destinataire" + +#: src/common/text.c:968 src/common/text.c:1324 +msgid "Hostmask" +msgstr "Masque d'hôte" + +#: src/common/text.c:973 src/common/text.c:1329 +msgid "Hostname" +msgstr "Nom d'hôte" + +#: src/common/text.c:978 src/common/text.c:1334 +msgid "The Packet" +msgstr "Paquet" + +#: src/common/text.c:982 src/common/text.c:1338 +msgid "Seconds" +msgstr "Secondes" + +#: src/common/text.c:986 src/common/text.c:1342 +msgid "Nick of person who have been invited" +msgstr "Pseudonyme de la personne qui a été invitée" + +#: src/common/text.c:993 src/common/text.c:1349 +msgid "Banmask" +msgstr "Masque de bannissement" + +#: src/common/text.c:994 src/common/text.c:1350 +msgid "Who set the ban" +msgstr "qui a défini le bannissement" + +#: src/common/text.c:995 src/common/text.c:1351 +msgid "Ban time" +msgstr "Heure du bannissement" + +#: src/common/text.c:1035 src/common/text.c:1391 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Erreur d'analyse de l'événement %s.\n" +"Chargement des valeurs par défaut." + +#: src/common/text.c:1712 src/common/text.c:2084 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Impossible de lire le fichier audio :\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "L'hôte distant a fermé la socket" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Connexion refusée" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "Pas de route vers l'hôte" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Expiration du délai de connexion" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Ne peut assigner cette adresse" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Connexion réinitialisée à l'autre extrémité" + +#: src/common/util.c:839 +msgid "Ascension Island" +msgstr "Île Ascension" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "Andorre" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "Émirats Arabes Unis" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "Afghanistan" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "Antigua-et-barbuda" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "Albanie" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "Arménie" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "Antilles néerlandaises" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:849 +msgid "Antarctica" +msgstr "Antarctique" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "Argentine" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "DNS inverse" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "Samoa américaines" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "Autriche" + +#: src/common/util.c:854 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "Australie" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:857 +msgid "Aland Islands" +msgstr "Aland, îles" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "Azerbaïdjan" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "Bosnie-herzégovine" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "Barbade" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "Belgique" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "Burkina faso" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "Bulgarie" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "Bahreïn" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "Businesses" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "Bénin" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "Bermudes" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "Brunéi darussalam" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "Bolivie" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "Brésil" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "Bhoutan" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "Bouvet, île" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "Bélarus" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "Canada" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "Cocos (keeling), îles" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "République Démocratique du Congo" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "Centrafricaine, république" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "Congo" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "Suisse" + +#: src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "Côte d'Ivoire" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "Cook, îles" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "Chili" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "Cameroun" + +#: src/common/util.c:889 +msgid "China" +msgstr "Chine" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "Colombie" + +#: src/common/util.c:891 +msgid "Internic Commercial" +msgstr "Internic commercial" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "Costa rica" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "Serbie Montenegro" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "Cap-vert" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "Christmas, île" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "Chypre" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "Tchèque, république" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "Allemagne" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "Danemark" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "Dominique" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "Dominicaine, république" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "Algérie" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "Équateur" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "Institution éducative" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "Estonie" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "Égypte" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "Sahara occidental" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "Érythrée" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "Espagne" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "Éthiopie" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "Union Européenne" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "Finlande" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "Fidji" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "Falkland, îles (malvinas)" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "Micronésie, états fédérés de" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "Féroé, îles" + +#: src/common/util.c:919 +msgid "France" +msgstr "France" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "Grande Bretagne" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "Grenade" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "Géorgie" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "Guyane française" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "Îles anglo-normandes" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "Groenland" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "Gambie" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "Guinée" + +#: src/common/util.c:931 +msgid "Government" +msgstr "Gouvernement" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "Guinée équatoriale" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "Grèce" + +#: src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Géorgie du sud et les îles Sandwich du sud" + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "Guinée-bissau" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "Hong-kong" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "Heard, île et mcdonald, îles" + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "Croatie" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "Haïti" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "Hongrie" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "Indonésie" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "Irlande" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "Israël" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "Île de Man" + +#: src/common/util.c:950 +msgid "India" +msgstr "Inde" + +#: src/common/util.c:951 +msgid "Informational" +msgstr "Informatif" + +#: src/common/util.c:952 +msgid "International" +msgstr "International" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "Océan indien, territoire britannique de l'" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "Iraq" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "Iran, république islamique d'" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "Islande" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "Italie" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "Jamaïque" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "Jordanie" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "Japon" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "Kirghizistan" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "Cambodge" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "Comores" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "Saint-kitts-et-nevis" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "Corée, république populaire démocratique de" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "Corée, république de" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "Koweït" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "Caïmanes, îles" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "Kazakhstan" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "Lao, République Démocratique Populaire" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "Liban" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "Sainte-lucie" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "Sri lanka" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "Libéria" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "Lituanie" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "Luxembourg" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "Lettonie" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "Libyenne, jamahiriya arabe" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "Maroc" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "Moldova, république de" + +#: src/common/util.c:987 +msgid "United States Medical" +msgstr "Médical États-Unis" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "Marshall, îles" + +#: src/common/util.c:990 +msgid "Military" +msgstr "Militaire" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "Macédoine, l'ex-République Yougoslave de" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "Mongolie" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "Macao" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "Mariannes du nord, îles" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "Mauritanie" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "Malte" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "Maurice" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "Maldives" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "Mexique" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "Malaisie" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "Mozambique" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "Namibie" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "Nouvelle-Calédonie" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:1010 +msgid "Internic Network" +msgstr "Réseau Internic" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "Norfolk, île" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "Nigéria" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "Pays-Bas" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "Norvège" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "Népal" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "Niué" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "Nouvelle-Zélande" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "Internic Organisation non-lucrative" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "Pérou" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "Polynésie française" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "Papouasie-nouvelle-Guinée" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "Philippines" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "Pologne" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "Saint-Pierre-et-Miquelon" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "Porto Rico" + +#: src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "Territoires Palestiniens" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "Palaos" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "Réunion" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "Roumanie" + +#: src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "Ancien ARPAnet" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "Russie, fédération de" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "Arabie saoudite" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "Salomon, îles" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "Seychelles" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "Soudan" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "Suède" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "Singapour" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "Sainte-Hélène" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "Slovénie" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard et île jan mayen" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "Slovaquie" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "Sierra Léone" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "Saint-Marin" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "Sénégal" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "Somalie" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "Sao Tomé-et-Principe" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "Ex URSS" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "Syrienne, république arabe" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "Turks et caïques, îles" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "Tchad" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "Terres australes françaises" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "Thaïlande" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "Tadjikistan" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1069 src/common/util.c:1073 +msgid "East Timor" +msgstr "Timor-Leste" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "Turkménistan" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "Tunisie" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "Turquie" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "Trinité-et-Tobago" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "Taïwan, province de chine" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "Tanzanie, République-Unie de" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "Ukraine" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "Ouganda" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "Royaume-Uni" + +#: src/common/util.c:1082 +msgid "US Minor Outlying Islands" +msgstr "Îles mineures éloignées des États-Unis" + +#: src/common/util.c:1083 src/common/util.c:1082 +msgid "United States of America" +msgstr "États-Unis" + +#: src/common/util.c:1084 src/common/util.c:1083 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:1085 src/common/util.c:1084 +msgid "Uzbekistan" +msgstr "Ouzbékistan" + +#: src/common/util.c:1086 src/common/util.c:1085 +msgid "Vatican City State" +msgstr "Saint-Siège (État de la Cité du Vatican)" + +#: src/common/util.c:1087 src/common/util.c:1086 +msgid "St. Vincent and the Grenadines" +msgstr "Saint-Vincent et les Grenadines" + +#: src/common/util.c:1088 src/common/util.c:1087 +msgid "Venezuela" +msgstr "Vénézuela" + +#: src/common/util.c:1089 src/common/util.c:1088 +msgid "British Virgin Islands" +msgstr "Îles Vierges Britanniques" + +#: src/common/util.c:1090 src/common/util.c:1089 +msgid "US Virgin Islands" +msgstr "Îles Vierges des États-Unis" + +#: src/common/util.c:1091 src/common/util.c:1090 +msgid "Vietnam" +msgstr "Viet Nam" + +#: src/common/util.c:1092 src/common/util.c:1091 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1093 src/common/util.c:1092 +msgid "Wallis and Futuna Islands" +msgstr "Wallis et Futuna" + +#: src/common/util.c:1094 src/common/util.c:1093 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1095 src/common/util.c:1094 +msgid "Yemen" +msgstr "Yémen" + +#: src/common/util.c:1096 src/common/util.c:1095 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:1097 src/common/util.c:1096 +msgid "Yugoslavia" +msgstr "Yougoslavie" + +#: src/common/util.c:1098 src/common/util.c:1097 +msgid "South Africa" +msgstr "Afrique du Sud" + +#: src/common/util.c:1099 src/common/util.c:1098 +msgid "Zambia" +msgstr "Zambie" + +#: src/common/util.c:1100 src/common/util.c:1099 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/util.c:1110 src/common/util.c:1120 src/fe-gtk/menu.c:516 +#: src/fe-gtk/menu.c:521 src/fe-gtk/menu.c:525 src/fe-gtk/menu.c:529 +#: src/fe-gtk/menu.c:537 src/fe-gtk/menu.c:555 src/common/util.c:1109 +#: src/common/util.c:1119 src/fe-gtk/menu.c:553 src/fe-gtk/menu.c:558 +#: src/fe-gtk/menu.c:562 src/fe-gtk/menu.c:566 src/fe-gtk/menu.c:574 +#: src/fe-gtk/menu.c:592 +msgid "Unknown" +msgstr "Inconnu" + +#: src/common/xchat.c:753 src/common/xchat.c:879 src/common/xchat.c:767 +#: src/common/xchat.c:893 +msgid "Open Dialog Window" +msgstr "Ouvrir la fenêtre de dialogue" + +#: src/common/xchat.c:754 src/common/xchat.c:768 +msgid "Send a File" +msgstr "Envoyer un fichier" + +#: src/common/xchat.c:755 src/common/xchat.c:769 +msgid "User Info (WHOIS)" +msgstr "Informations de l'utilisateur (WHOIS)" + +#: src/common/xchat.c:756 src/common/xchat.c:770 +msgid "Operator Actions" +msgstr "Actions de l'opérateur" + +#: src/common/xchat.c:758 src/common/xchat.c:849 src/common/xchat.c:772 +#: src/common/xchat.c:863 +msgid "Give Ops" +msgstr "Donner l'état d'opérateur" + +#: src/common/xchat.c:759 src/common/xchat.c:850 src/common/xchat.c:773 +#: src/common/xchat.c:864 +msgid "Take Ops" +msgstr "Prendre l'état d'opérateur" + +#: src/common/xchat.c:760 src/common/xchat.c:853 src/common/xchat.c:774 +#: src/common/xchat.c:867 +msgid "Give Voice" +msgstr "Donner la parole" + +#: src/common/xchat.c:761 src/common/xchat.c:854 src/common/xchat.c:775 +#: src/common/xchat.c:868 +msgid "Take Voice" +msgstr "Prendre la parole" + +#: src/common/xchat.c:763 src/common/xchat.c:858 src/common/xchat.c:777 +#: src/common/xchat.c:872 +msgid "Kick/Ban" +msgstr "Expulser/Bannir" + +#: src/common/xchat.c:764 src/common/xchat.c:859 src/common/xchat.c:908 +#: src/common/xchat.c:778 src/common/xchat.c:873 src/common/xchat.c:922 +msgid "Kick" +msgstr "Expulser" + +#: src/common/xchat.c:765 src/common/xchat.c:766 src/common/xchat.c:767 +#: src/common/xchat.c:768 src/common/xchat.c:769 src/common/xchat.c:860 +#: src/common/xchat.c:861 src/common/xchat.c:862 src/common/xchat.c:863 +#: src/common/xchat.c:864 src/common/xchat.c:907 src/common/xchat.c:779 +#: src/common/xchat.c:780 src/common/xchat.c:781 src/common/xchat.c:782 +#: src/common/xchat.c:783 src/common/xchat.c:874 src/common/xchat.c:875 +#: src/common/xchat.c:876 src/common/xchat.c:877 src/common/xchat.c:878 +#: src/common/xchat.c:921 +msgid "Ban" +msgstr "Bannir" + +#: src/common/xchat.c:770 src/common/xchat.c:771 src/common/xchat.c:772 +#: src/common/xchat.c:773 src/common/xchat.c:865 src/common/xchat.c:866 +#: src/common/xchat.c:867 src/common/xchat.c:868 src/common/xchat.c:784 +#: src/common/xchat.c:785 src/common/xchat.c:786 src/common/xchat.c:787 +#: src/common/xchat.c:879 src/common/xchat.c:880 src/common/xchat.c:881 +#: src/common/xchat.c:882 +msgid "KickBan" +msgstr "ExpulserBannir" + +#: src/common/xchat.c:836 src/common/xchat.c:850 +msgid "Direct client-to-client" +msgstr "Client-vers-client direct" + +#: src/common/xchat.c:837 src/common/xchat.c:851 +msgid "Send File" +msgstr "Envoyer un fichier" + +#: src/common/xchat.c:838 src/common/xchat.c:852 +msgid "Offer Chat" +msgstr "Proposer une discussion" + +#: src/common/xchat.c:839 src/common/xchat.c:853 +msgid "Abort Chat" +msgstr "Abandonner la discussion" + +#: src/common/xchat.c:840 src/fe-gtk/plugingui.c:74 src/common/xchat.c:854 +msgid "Version" +msgstr "Version" + +#: src/common/xchat.c:841 src/common/xchat.c:855 +msgid "Userinfo" +msgstr "Informations sur l'utilisateur" + +#: src/common/xchat.c:842 src/common/xchat.c:856 +msgid "Clientinfo" +msgstr "Informations sur le client" + +# Non traduit pour garder signification /DCC send +#: src/common/xchat.c:843 src/common/xchat.c:877 src/common/xchat.c:925 +#: src/common/xchat.c:857 src/common/xchat.c:891 src/common/xchat.c:939 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:844 src/common/xchat.c:858 +msgid "Time" +msgstr "Délai" + +#: src/common/xchat.c:845 src/common/xchat.c:859 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:846 src/common/xchat.c:860 +msgid "Oper" +msgstr "Opér" + +#: src/common/xchat.c:847 src/common/xchat.c:861 +msgid "Kill this user" +msgstr "Tuer cet utilisateur" + +#: src/common/xchat.c:848 src/common/xchat.c:862 +msgid "Mode" +msgstr "Mode" + +#: src/common/xchat.c:851 src/common/xchat.c:865 +msgid "Give Half-Ops" +msgstr "Donner l'état de demi-opérateur" + +#: src/common/xchat.c:852 src/common/xchat.c:866 +msgid "Take Half-Ops" +msgstr "Prendre l'état de demi-opérateur" + +#: src/common/xchat.c:855 src/common/xchat.c:869 +msgid "Ignore" +msgstr "Ignorer" + +#: src/common/xchat.c:856 src/common/xchat.c:870 +msgid "Ignore User" +msgstr "Ignorer l'utilisateur" + +#: src/common/xchat.c:857 src/common/xchat.c:871 +msgid "UnIgnore User" +msgstr "Ne pas exclure l'utilisateur" + +#: src/common/xchat.c:869 src/fe-gtk/dccgui.c:586 src/fe-gtk/dccgui.c:752 +#: src/common/xchat.c:883 +msgid "Info" +msgstr "Info" + +# Non traduit pour garder signification /DCC send +#: src/common/xchat.c:870 src/common/xchat.c:884 +msgid "Who" +msgstr "who" + +# Non traduit pour garder signification /DCC send +#: src/common/xchat.c:871 src/common/xchat.c:921 src/common/xchat.c:885 +#: src/common/xchat.c:935 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/xchat.c:872 src/common/xchat.c:886 +msgid "DNS Lookup" +msgstr "Résolution DNS" + +#: src/common/xchat.c:873 src/common/xchat.c:887 +msgid "Trace" +msgstr "Trace" + +#: src/common/xchat.c:874 src/common/xchat.c:888 +msgid "UserHost" +msgstr "Hôte de l'utilisateur" + +#: src/common/xchat.c:875 src/common/xchat.c:889 +msgid "External" +msgstr "Externe" + +#: src/common/xchat.c:876 src/common/xchat.c:890 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:878 src/common/xchat.c:892 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:890 src/common/xchat.c:904 +msgid "Leave Channel" +msgstr "Quitter le canal" + +#: src/common/xchat.c:891 src/fe-gtk/menu.c:1352 src/common/xchat.c:905 +#: src/fe-gtk/menu.c:1435 +msgid "Join Channel..." +msgstr "Rejoindre un canal..." + +#: src/common/xchat.c:892 src/fe-gtk/menu.c:1047 src/common/xchat.c:906 +#: src/fe-gtk/menu.c:1117 +msgid "Enter Channel to Join:" +msgstr "Entrer le canal à rejoindre :" + +#: src/common/xchat.c:893 src/common/xchat.c:907 +msgid "Server Links" +msgstr "Liens du serveur" + +#: src/common/xchat.c:894 src/common/xchat.c:908 +msgid "Ping Server" +msgstr "Envoyer une requête ping au serveur" + +#: src/common/xchat.c:895 src/common/xchat.c:909 +msgid "Hide Version" +msgstr "Cacher la version" + +#: src/common/xchat.c:905 src/common/xchat.c:919 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:906 src/common/xchat.c:920 +msgid "DeOp" +msgstr "Suppr. Op." + +#: src/common/xchat.c:909 src/common/xchat.c:923 +msgid "bye" +msgstr "au revoir" + +#: src/common/xchat.c:910 src/common/xchat.c:924 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Entrer la raison pour expulser %s :" + +#: src/common/xchat.c:911 src/common/xchat.c:925 +msgid "Sendfile" +msgstr "Envoyer un fichier" + +#: src/common/xchat.c:912 src/common/xchat.c:926 +msgid "Dialog" +msgstr "Dialogue" + +# Non traduit pour garder signification /DCC send +#: src/common/xchat.c:922 src/common/xchat.c:936 +msgid "Send" +msgstr "Send" + +#: src/common/xchat.c:923 src/common/xchat.c:937 +msgid "Chat" +msgstr "Chat" + +# Attention problème : devrait être traduit parfois +# Non traduit pour garder signification /DCC send +#: src/common/xchat.c:924 src/fe-gtk/banlist.c:321 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 src/common/xchat.c:938 src/fe-gtk/banlist.c:413 +msgid "Clear" +msgstr "Clear" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "À propos de XChat" + +#: src/fe-gtk/about.c:129 src/fe-gtk/about.c:133 +msgid "A multiplatform IRC Client" +msgstr "Client IRC multiplateformes" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Table de caractères" + +#: src/fe-gtk/banlist.c:112 src/fe-gtk/chanlist.c:301 src/fe-gtk/banlist.c:151 +#: src/fe-gtk/chanlist.c:305 src/fe-gtk/plugin-tray.c:217 +msgid "Not connected." +msgstr "Non connecté." + +#: src/fe-gtk/banlist.c:153 src/fe-gtk/banlist.c:237 src/fe-gtk/banlist.c:249 +#: src/fe-gtk/banlist.c:329 +msgid "You must select some bans." +msgstr "Vous devez sélectionner des bannissements." + +#: src/fe-gtk/banlist.c:252 src/fe-gtk/ignoregui.c:175 +#: src/fe-gtk/banlist.c:344 +msgid "Mask" +msgstr "Masque" + +#: src/fe-gtk/banlist.c:253 src/fe-gtk/dccgui.c:352 src/fe-gtk/dccgui.c:539 +#: src/fe-gtk/banlist.c:345 +msgid "From" +msgstr "De" + +#: src/fe-gtk/banlist.c:254 src/fe-gtk/banlist.c:346 +msgid "Date" +msgstr "Date" + +#: src/fe-gtk/banlist.c:297 src/fe-gtk/banlist.c:389 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" +"Vous ne pouvez ouvrir la fenêtre de liste de banissement lorsque vous vous " +"trouvez dans un onglet de canal." + +#: src/fe-gtk/banlist.c:301 src/fe-gtk/banlist.c:393 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat : liste de bannissement (%s)" + +#: src/fe-gtk/banlist.c:317 +msgid "Unban" +msgstr "Suppr. ban." + +#: src/fe-gtk/banlist.c:319 src/fe-gtk/banlist.c:411 +msgid "Crop" +msgstr "Scinder" + +#: src/fe-gtk/banlist.c:323 src/fe-gtk/banlist.c:415 +msgid "Refresh" +msgstr "Rafraîchir" + +#: src/fe-gtk/chanlist.c:122 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "" +"Statistiques des utilisateurs et canaux : %d/%d utilisateurs sur %d/%d canaux" + +#: src/fe-gtk/chanlist.c:544 +msgid "I can't save an empty list!" +msgstr "Impossible d'enregistrer une liste vide." + +#: src/fe-gtk/chanlist.c:547 src/fe-gtk/menu.c:983 src/fe-gtk/urlgrab.c:148 +#: src/fe-gtk/chanlist.c:522 src/fe-gtk/menu.c:1053 +msgid "Select an output filename" +msgstr "Choisir un nom de fichier de sortie" + +#: src/fe-gtk/chanlist.c:615 src/fe-gtk/chanlist.c:714 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat : liste des canaux (%s)" + +#: src/fe-gtk/chanlist.c:630 +msgid "List display options:" +msgstr "Options d'affichage de la liste :" + +#: src/fe-gtk/chanlist.c:642 +msgid "Minimum Users:" +msgstr "Nombre minimum d'utilisateurs :" + +#: src/fe-gtk/chanlist.c:657 +msgid "Maximum Users:" +msgstr "Nombre maximum d'utilisateurs :" + +#: src/fe-gtk/chanlist.c:673 +msgid "Pattern Match:" +msgstr "Correspondance avec le motif :" + +#: src/fe-gtk/chanlist.c:675 +msgid "Regex Match:" +msgstr "Correspondance avec l'expression rationnelle :" + +#: src/fe-gtk/chanlist.c:697 +msgid "Apply Match to:" +msgstr "Appliquer la correspondance à :" + +#: src/fe-gtk/chanlist.c:721 +msgid "Apply" +msgstr "Appliquer" + +#: src/fe-gtk/chanlist.c:763 +msgid "Refresh the list" +msgstr "Rafraîchir la liste" + +#: src/fe-gtk/chanlist.c:765 +msgid "Save the list" +msgstr "Enregistrer la liste" + +#: src/fe-gtk/chanlist.c:767 src/fe-gtk/menu.c:799 src/fe-gtk/menu.c:1030 +#: src/fe-gtk/menu.c:862 src/fe-gtk/menu.c:1100 +msgid "Join Channel" +msgstr "Rejoindre le canal" + +#: src/fe-gtk/dccgui.c:117 src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "Envoyer le fichier à %s" + +#: src/fe-gtk/dccgui.c:340 +msgid "None" +msgstr "Aucun" + +#: src/fe-gtk/dccgui.c:351 src/fe-gtk/dccgui.c:535 src/fe-gtk/dccgui.c:707 +#: src/fe-gtk/plugingui.c:75 src/fe-gtk/dccgui.c:757 +msgid "File" +msgstr "Fichier" + +#: src/fe-gtk/dccgui.c:352 src/fe-gtk/dccgui.c:712 +msgid "To" +msgstr "À" + +#: src/fe-gtk/dccgui.c:354 +msgid "Address" +msgstr "Adresse" + +#: src/fe-gtk/dccgui.c:355 +msgid "Started" +msgstr "Démarré" + +#: src/fe-gtk/dccgui.c:356 +msgid "Speed limit" +msgstr "Limite de vitesse" + +#: src/fe-gtk/dccgui.c:381 src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "Ce fichier ne peut être repris." + +#: src/fe-gtk/dccgui.c:385 src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Impossible d'accéder au fichier : %s\n" +"%s.\n" +"Reprise impossible." + +#: src/fe-gtk/dccgui.c:392 src/fe-gtk/dccgui.c:507 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" +"Le fichier dans le répertoire des téléchargements est plus gros que le " +"fichier proposé. La reprise est impossible." + +#: src/fe-gtk/dccgui.c:396 src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "" +"Impossible de reprendre le même fichier en provenance de deux personnes " +"différentes." + +#: src/fe-gtk/dccgui.c:534 src/fe-gtk/dccgui.c:706 src/fe-gtk/dccgui.c:857 +#: src/fe-gtk/notifygui.c:133 src/fe-gtk/dccgui.c:756 src/fe-gtk/dccgui.c:993 +#: src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "État" + +#: src/fe-gtk/dccgui.c:538 src/fe-gtk/dccgui.c:711 src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "Heure de fin estimée" + +#: src/fe-gtk/dccgui.c:548 +msgid "XChat: File Receive List" +msgstr "XChat : liste des fichiers reçus" + +#: src/fe-gtk/dccgui.c:580 src/fe-gtk/dccgui.c:751 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/dccgui.c:819 src/fe-gtk/dccgui.c:1014 +msgid "Abort" +msgstr "Interrompre" + +#: src/fe-gtk/dccgui.c:582 src/fe-gtk/dccgui.c:890 src/fe-gtk/dccgui.c:820 +#: src/fe-gtk/dccgui.c:1015 +msgid "Accept" +msgstr "Accepter" + +#: src/fe-gtk/dccgui.c:584 src/fe-gtk/dccgui.c:821 +msgid "Resume" +msgstr "Reprendre" + +#: src/fe-gtk/dccgui.c:588 +msgid "Open" +msgstr "Ouvrir" + +#: src/fe-gtk/dccgui.c:710 +msgid "Ack" +msgstr "Acquittement" + +#: src/fe-gtk/dccgui.c:722 +msgid "XChat: Uploads und Downloads" +msgstr "XChat : envois et récupération de fichiers" + +#: src/fe-gtk/dccgui.c:723 src/fe-gtk/dccgui.c:796 +msgid "Downloads" +msgstr "Récupération" + +#: src/fe-gtk/dccgui.c:724 src/fe-gtk/dccgui.c:790 +msgid "Uploads" +msgstr "Envois" + +#: src/fe-gtk/dccgui.c:725 src/fe-gtk/dccgui.c:801 +msgid "Details" +msgstr "Détails" + +#: src/fe-gtk/dccgui.c:726 src/fe-gtk/dccgui.c:822 +msgid "Open Folder..." +msgstr "Ouvrir le dossier..." + +#: src/fe-gtk/dccgui.c:730 +msgid "XChat: File Send List" +msgstr "XChat : liste des fichiers envoyés" + +#: src/fe-gtk/dccgui.c:858 +msgid "To/From" +msgstr "À/De" + +#: src/fe-gtk/dccgui.c:859 src/fe-gtk/dccgui.c:995 +msgid "Recv" +msgstr "Recv" + +#: src/fe-gtk/dccgui.c:860 src/fe-gtk/dccgui.c:996 +msgid "Sent" +msgstr "Envoyé" + +#: src/fe-gtk/dccgui.c:861 src/fe-gtk/dccgui.c:997 +msgid "Start Time" +msgstr "Heure de début" + +#: src/fe-gtk/dccgui.c:871 src/fe-gtk/dccgui.c:982 +msgid "XChat: DCC Chat List" +msgstr "XChat : liste de Chat DCC" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*NOUVEAU*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "ÉDITEZ MOI" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Nom" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Commande" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Vers le haut" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Vers le bas" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Annuler" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Enregistrer" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:757 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Nouveau" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:762 src/fe-gtk/ignoregui.c:386 +#: src/fe-gtk/fkeys.c:770 +msgid "Delete" +msgstr "Supprimer" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Trier" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Aide" + +#: src/fe-gtk/fe-gtk.c:122 src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "Ne pas se connecter automatiquement aux serveurs" + +#: src/fe-gtk/fe-gtk.c:123 src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "Utiliser un répertoire de configuration différent" + +#: src/fe-gtk/fe-gtk.c:124 src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "Ne charger aucun greffon automatiquement" + +#: src/fe-gtk/fe-gtk.c:125 src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "Afficher le répertoire de chargement automatique des greffons" + +#: src/fe-gtk/fe-gtk.c:126 src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "Afficher le répertoire de configuration de l'utilisateur" + +#: src/fe-gtk/fe-gtk.c:127 src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "Ouvrir une URL irc://serveur:port/canal" + +#: src/fe-gtk/fe-gtk.c:128 src/fe-gtk/fe-gtk.c:136 +msgid "Show version information" +msgstr "Afficher la version" + +#: src/fe-gtk/fe-gtk.c:244 src/fe-gtk/fe-gtk.c:256 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"L'ouverture de la police a échoué :\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:588 src/fe-gtk/fe-gtk.c:635 +msgid "Search buffer is empty.\n" +msgstr "Le tampon de recherche est vide.\n" + +#: src/fe-gtk/fe-gtk.c:671 src/fe-gtk/fe-gtk.c:731 +#, c-format +msgid "%d bytes" +msgstr "%d octets" + +#: src/fe-gtk/fe-gtk.c:672 src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "File d'envoi du serveur : %d octets" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into " +"the entry box where you pressed the key sequence. Thus it can contain text " +"(which will be sent to the channel/person), commands or user commands. When " +"run all \\n characters in Data 1 are used to deliminate seperate commands so " +"it is possible to run more than one command. If you want a \\ in the actual " +"text run then enter \\\\" +msgstr "" +"L'action Run Command exécute les données dans Données 1 comme si elles " +"avaient été tapées dans la zone de saisie où vous avez pressé la séquence de " +"touches. Ainsi, elle peut contenir du texte (qui sera envoyé au canal/" +"personne), des commandes ou des commandes utilisateur. Quand elle s'exécute " +"tous les caractères \\n dans Données 1 sont utilisés pour délimiter des " +"commandes séparées ce qui permet de lancer plus d'une commande. Si vous " +"voulez un \\ dans le texte effectivement exécuté, entrez \\\\" + +#: src/fe-gtk/fkeys.c:161 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1 " +"to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position" +msgstr "" +"La commande Change Page échange les pages présentes dans le bloc-notes. " +"Définissez Données 1 à la page vers laquelle vous voulez sauter. Si Données " +"2 est défini alors l'échange sera relatif à la position actuelle" + +#: src/fe-gtk/fkeys.c:163 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" +"La commande Insert in Buffer insérera le contenu de Données 1 dans la zone " +"où la séquence de touches a été pressée à la position actuelle du curseur" + +#: src/fe-gtk/fkeys.c:165 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one " +"line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "" +"La commande Scroll Page fait défiler l'élément graphique textuel vers le " +"haut ou vers le bas d'une page ou d'une ligne. Définir Data 1 soit à Up, " +"Down, +1 ou -1." + +#: src/fe-gtk/fkeys.c:167 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered to " +"the contents of Data 1" +msgstr "" +"La commande Set Buffer met le contenu de Données 1 dans la zone où la " +"séquence de touches a été pressée" + +#: src/fe-gtk/fkeys.c:169 +msgid "" +"The Last Command command sets the entry to contain the last command entered " +"- the same as pressing up in a shell" +msgstr "" +"La commande Last Command met dans la zone la dernière commande entrée - même " +"comportement que la flèche vers le haut du pavé numérique dans un " +"interpréteur de commandes" + +#: src/fe-gtk/fkeys.c:171 +msgid "" +"The Next Command command sets the entry to contain the next command entered " +"- the same as pressing down in a shell" +msgstr "" +"La commande Next Command met dans la zone la prochaine commande entrée - " +"même comportement que la flèche vers le bas du pavé numérique dans un " +"interpréteur de commandes" + +#: src/fe-gtk/fkeys.c:173 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the " +"last nick, not the next" +msgstr "" +"Cette commande change le texte de la zone de saisie pour compléter un pseudo " +"ou une commande incomplet. Si Données 1 est défini, alors un double appui " +"dans une chaîne sélectionnera le dernier pseudo, pas le suivant" + +#: src/fe-gtk/fkeys.c:175 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set " +"to anything it will scroll up, else it scrolls down" +msgstr "" +"Cette commande parcourt vers le haut ou le bas la liste des pseudonymes. Si " +"Données 1 est défini elle parcourt vers le haut, sinon elle parcourt vers le " +"bas" + +#: src/fe-gtk/fkeys.c:177 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" +"Cette commande vérifie si le dernier mot saisi dans la zone est présent dans " +"la liste de remplacements et le remplace si elle trouve une correspondance" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "Cette commande déplace l'onglet de devant d'un cran vers la gauche" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "Cette commande déplace l'onglet de devant d'un cran vers la droite" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "Cette commande déplace l'ensemble des onglets vers la gauche" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "Cette commande déplace l'ensemble des onglets vers la droite" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "" +"Placer la ligne de saisie dans l'historique mais ne pas l'afficher sur le " +"serveur" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "" +"Il y a eu une erreur au chargement de la configuration des raccourcis clavier" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:735 src/fe-gtk/fkeys.c:741 +#: src/fe-gtk/fkeys.c:746 src/fe-gtk/maingui.c:1092 src/fe-gtk/maingui.c:1108 +#: src/fe-gtk/maingui.c:1385 src/fe-gtk/maingui.c:1486 +#: src/fe-gtk/maingui.c:2935 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1616 src/fe-gtk/maingui.c:1719 +#: src/fe-gtk/maingui.c:3201 +msgid "<none>" +msgstr "<aucun>" + +#: src/fe-gtk/fkeys.c:699 src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "Mod" + +#: src/fe-gtk/fkeys.c:700 src/fe-gtk/fkeys.c:795 src/fe-gtk/fkeys.c:708 +#: src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Touche" + +#: src/fe-gtk/fkeys.c:701 src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Action" + +#: src/fe-gtk/fkeys.c:710 src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat : raccourcis clavier" + +#: src/fe-gtk/fkeys.c:788 src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Majuscule" + +#: src/fe-gtk/fkeys.c:790 src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:792 src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:799 src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "Données 1" + +#: src/fe-gtk/fkeys.c:802 src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "Données 2" + +#: src/fe-gtk/fkeys.c:844 src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "Erreur d'ouverture du fichier des raccourcis clavier\n" + +#: src/fe-gtk/fkeys.c:1011 src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Nom de touche %s inconnu dans le fichier de configuration des raccourcis " +"clavier\n" +"Chargement interrompu, veuillez corriger %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1049 src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Action %s inconnue dans le fichier de configuration des raccourcis clavier\n" +"Chargement interrompu, veuillez corriger %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1070 src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Attente d'une ligne de données (commençant par Dx{:|!}) mais reçu :\n" +"%s\n" +"\n" +"Chargement interrompu, veuillez corriger %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1139 src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Le fichier de configuration des raccourcis clavier est corrompu\n" +"Chargement interrompu, veuillez corriger %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:130 src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "Impossible d'écrire dans ce fichier." + +#: src/fe-gtk/gtkutil.c:132 src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "Impossible de lire ce fichier." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "Ce masque existe déjà." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:1957 +#: src/fe-gtk/maingui.c:2100 +msgid "Private" +msgstr "Privé" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Notice" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Inviter" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Ne plus exclure" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Entrer le masque d'exclusion :" + +#: src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "XChat : liste d'ignorance" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Statistiques d'ignorance :" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Canal :" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Privé :" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Notice :" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP :" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Invite :" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:347 +#: src/fe-gtk/notifygui.c:420 +msgid "Add..." +msgstr "Ajouter..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "Le nom de canal est trop court, veuillez réessayer." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat : fin de la procédure de connexion" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "Connecté à %s." + +#: src/fe-gtk/joind.c:159 +msgid "" +"In the Server-List window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" +"Dans la fenêtre de liste des serveurs, aucun canal (salon de discussion) de " +"ce réseau n'a été défini comme devant être rejoint automatiquement." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Que désirez-vous faire maintenant ?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_Rien, je rejoindrai un canal plus tard." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "Re_joindre le canal :" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" +"Si vous connaissez le nom du canal que vous désirez rejoindre, entrez-le ici." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "Ou_vrir la fenêtre de liste des canaux." + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "" +"La récupération de la liste des canaux peut prendre une ou deux minutes." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "_Toujours afficher ce dialogue après la connexion." + +#: src/fe-gtk/maingui.c:456 src/fe-gtk/maingui.c:500 +msgid "Dialog with" +msgstr "Dialoguer avec" + +#: src/fe-gtk/maingui.c:734 src/fe-gtk/maingui.c:787 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Le sujet de %s est : %s" + +#: src/fe-gtk/maingui.c:739 src/fe-gtk/maingui.c:792 +msgid "No topic is set" +msgstr "Aucun sujet n'est défini" + +#: src/fe-gtk/maingui.c:1032 src/fe-gtk/maingui.c:1177 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" +"Ce serveur comporte déjà %d canaux ou dialogues qui lui sont associés. Faut-" +"il tous les fermer ?" + +#: src/fe-gtk/maingui.c:1162 +msgid "No other tabs open, quit xchat?" +msgstr "Aucun autre onglet ouvert, voulez-vous quitter xchat ?" + +#: src/fe-gtk/maingui.c:1337 src/fe-gtk/maingui.c:1567 +msgid "Insert Attribute or Color Code" +msgstr "Insérer un attribut ou un code de couleur" + +#: src/fe-gtk/maingui.c:1339 src/fe-gtk/maingui.c:1569 +msgid "<b>Bold</b>" +msgstr "<b>Gras</b>" + +#: src/fe-gtk/maingui.c:1340 src/fe-gtk/maingui.c:1570 +msgid "<u>Underline</u>" +msgstr "<u>Souligné</u>" + +#: src/fe-gtk/maingui.c:1342 src/fe-gtk/maingui.c:1572 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1344 src/fe-gtk/maingui.c:1574 +msgid "Colors 0-7" +msgstr "Couleurs 0-7" + +#: src/fe-gtk/maingui.c:1354 src/fe-gtk/maingui.c:1584 +msgid "Colors 8-15" +msgstr "Couleurs 8-15" + +#: src/fe-gtk/maingui.c:1390 src/fe-gtk/maingui.c:1629 +msgid "Beep on message" +msgstr "Biper sur les messages" + +#: src/fe-gtk/maingui.c:1393 src/fe-gtk/maingui.c:1635 +msgid "Show join/part messages" +msgstr "Afficher les messages join/part" + +#: src/fe-gtk/maingui.c:1395 src/fe-gtk/maingui.c:1637 +msgid "Color paste" +msgstr "Coller la couleur" + +#: src/fe-gtk/maingui.c:1402 +msgid "Go to" +msgstr "Aller à" + +#: src/fe-gtk/maingui.c:1415 src/fe-gtk/menu.c:1759 src/fe-gtk/maingui.c:1647 +#: src/fe-gtk/menu.c:1958 +msgid "_Close Tab" +msgstr "_Fermer l'onglet" + +#: src/fe-gtk/maingui.c:1418 src/fe-gtk/menu.c:1758 src/fe-gtk/maingui.c:1649 +#: src/fe-gtk/menu.c:1957 +msgid "_Detach Tab" +msgstr "_Détacher l'onglet" + +#: src/fe-gtk/maingui.c:1657 +msgid "Some file transfers still active, quit xchat?" +msgstr "" +"Des transferts de fichiers sont toujours actifs, voulez-vous quitter xchat ?" + +#: src/fe-gtk/maingui.c:1825 src/fe-gtk/maingui.c:1931 +#: src/fe-gtk/maingui.c:1968 src/fe-gtk/maingui.c:2074 +msgid "User limit must be a number!\n" +msgstr "La limite d'utilisateurs doit être un nombre !\n" + +#: src/fe-gtk/maingui.c:1953 src/fe-gtk/maingui.c:2096 +msgid "Topic Protection" +msgstr "Protection du sujet (Topic)" + +#: src/fe-gtk/maingui.c:1954 src/fe-gtk/maingui.c:2097 +msgid "No outside messages" +msgstr "Aucun message de l'extérieur" + +#: src/fe-gtk/maingui.c:1955 src/fe-gtk/maingui.c:2098 +msgid "Secret" +msgstr "Secret" + +#: src/fe-gtk/maingui.c:1956 src/fe-gtk/maingui.c:2099 +msgid "Invite Only" +msgstr "Invite seulement" + +#: src/fe-gtk/maingui.c:1958 src/fe-gtk/maingui.c:2101 +msgid "Moderated" +msgstr "Modéré" + +#: src/fe-gtk/maingui.c:1959 src/fe-gtk/maingui.c:2102 +msgid "Ban List" +msgstr "Liste de bannissement" + +#: src/fe-gtk/maingui.c:1961 src/fe-gtk/maingui.c:2104 +msgid "Keyword" +msgstr "Mot-clé" + +#: src/fe-gtk/maingui.c:1973 src/fe-gtk/maingui.c:2116 +msgid "User Limit" +msgstr "Limite d'utilisateurs" + +#: src/fe-gtk/maingui.c:2082 src/fe-gtk/maingui.c:2225 +msgid "Show/Hide userlist" +msgstr "Afficher/Cacher la liste des utilisateurs" + +#: src/fe-gtk/maingui.c:2207 src/fe-gtk/maingui.c:2350 +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 "" +"Impossible de définir un arrière-plan transparent.\n" +"\n" +"Il est possible que vous utilisiez un gestionnaire\n" +"de fenêtres qui n'est pas géré pour le moment.\n" + +#: src/fe-gtk/maingui.c:2439 src/fe-gtk/maingui.c:2621 +msgid "Enter new nickname:" +msgstr "Entrer le nouveau pseudonyme :" + +#: src/fe-gtk/menu.c:120 src/fe-gtk/menu.c:124 +msgid "Host unknown" +msgstr "Hôte inconnu" + +#: src/fe-gtk/menu.c:507 src/fe-gtk/menu.c:544 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:512 src/fe-gtk/menu.c:516 src/fe-gtk/menu.c:549 +#: src/fe-gtk/menu.c:553 +msgid "Real Name:" +msgstr "Nom réel :" + +#: src/fe-gtk/menu.c:520 src/fe-gtk/menu.c:557 +msgid "User:" +msgstr "Utilisateur :" + +#: src/fe-gtk/menu.c:524 src/fe-gtk/menu.c:561 +msgid "Country:" +msgstr "Pays :" + +#: src/fe-gtk/menu.c:528 src/fe-gtk/menu.c:565 +msgid "Server:" +msgstr "Serveur :" + +#: src/fe-gtk/menu.c:540 src/fe-gtk/menu.c:577 +msgid "Away Msg:" +msgstr "Message d'absence :" + +#: src/fe-gtk/menu.c:550 src/fe-gtk/menu.c:587 +#, c-format +msgid "%u minutes ago" +msgstr "il y a %u minutes" + +#: src/fe-gtk/menu.c:552 src/fe-gtk/menu.c:555 src/fe-gtk/menu.c:589 +#: src/fe-gtk/menu.c:592 +msgid "Last Msg:" +msgstr "Dernier message :" + +#: src/fe-gtk/menu.c:655 src/fe-gtk/menu.c:704 +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 barre de menu est maintenant cachée. Vous pouvez l'afficher de nouveau en " +"pressant F9 ou en cliquant avec le bouton droit de la souris dans une partie " +"vierge de la zone de texte principale." + +#: src/fe-gtk/menu.c:742 src/fe-gtk/menu.c:799 +msgid "Open Link in Browser" +msgstr "Ouvrir le lien dans un navigateur" + +#: src/fe-gtk/menu.c:743 src/fe-gtk/menu.c:800 +msgid "Copy Selected Link" +msgstr "Copier le lien sélectionné" + +#: src/fe-gtk/menu.c:803 src/fe-gtk/menu.c:866 +msgid "Part Channel" +msgstr "Partir du canal" + +#: src/fe-gtk/menu.c:805 src/fe-gtk/menu.c:868 +msgid "Cycle Channel" +msgstr "Cycler canal" + +#: src/fe-gtk/menu.c:828 src/fe-gtk/menu.c:892 +msgid "XChat: User menu" +msgstr "XChat : menu utilisateur" + +#: src/fe-gtk/menu.c:837 src/fe-gtk/menu.c:901 +msgid "Edit This Menu..." +msgstr "Éditer ce menu..." + +#: src/fe-gtk/menu.c:1032 src/fe-gtk/menu.c:1102 +msgid "Retrieve channel list..." +msgstr "Récupérer la liste des canaux..." + +#: src/fe-gtk/menu.c:1100 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" +"Commandes utilisateur - Codes spéciaux :\n" +"\n" +"%c = canal actuel\n" +"%m = informations concernant la machine\n" +"%n = votre pseudonyme\n" +"%t = heure/date\n" +"%v = version de xchat\n" +"%2 = mot 2\n" +"%3 = mot 3\n" +"&2 = du mot 2 jusqu'à la fin de la ligne\n" +"&3 = du mot 3 jusqu'à la fin de la ligne\n" +"\n" +"ex :\n" +"/cmd salut john\n" +"\n" +"%2 donnerait « salut »\n" +"&2 donnerait « salut john »." + +#: src/fe-gtk/menu.c:1115 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Boutons Liste Utilisateurs - Codes spéciaux :\n" +"\n" +"%a = tous les pseudonymes sélectionnés\n" +"%c = canal actuel\n" +"%h = nom d'hôte du pseudonyme sélectionné\n" +"%m = informations concernant la machine\n" +"%n = votre pseudonyme\n" +"%s = pseudonyme sélectionné\n" +"%t = heure/date\n" + +#: src/fe-gtk/menu.c:1124 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Boutons de dialogue - Codes spéciaux :\n" +"\n" +"%a = tous les pseudonymes sélectionnés\n" +"%c = canal actuel\n" +"%h = nom d'hôte du pseudonyme sélectionné\n" +"%m = informations concernant la machine\n" +"%n = votre pseudonyme\n" +"%s = pseudonyme sélectionné\n" +"%t = heure/date\n" + +#: src/fe-gtk/menu.c:1133 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" +"Réponses CTCP - Codes Spéciaux :\n" +"\n" +"%d = données (l'ensemble du CTCP)\n" +"%m = informations concernant la machine\n" +"%s = pseudonyme qui a envoyé le CTCP\n" +"%t = heure/date\n" +"%2 = mot 2\n" +"%3 = mot 3\n" +"&2 = du mot 2 jusqu'à la fin de la ligne\n" +"&3 = du mot 3 jusqu'à la fin de la ligne\n" +"\n" + +#: src/fe-gtk/menu.c:1143 src/fe-gtk/menu.c:1217 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"Gestionnaires d'URL - Codes spéciaux :\n" +"\n" +"%s = la chaîne d'URL\n" +"\n" +"Placer un ! devant la commande\n" +"indique qu'elle devrait être\n" +"envoyée à un interpréteur de commandes\n" +"au lieu de XChat" + +#: src/fe-gtk/menu.c:1152 src/fe-gtk/menu.c:1226 +msgid "XChat: User Defined Commands" +msgstr "XChat : commandes définies par l'utilisateur" + +#: src/fe-gtk/menu.c:1159 src/fe-gtk/menu.c:1233 +msgid "XChat: Userlist Popup menu" +msgstr "XChat : menu de la liste des utilisateurs" + +#: src/fe-gtk/menu.c:1166 src/fe-gtk/menu.c:1240 +msgid "Replace with" +msgstr "Remplacer par" + +#: src/fe-gtk/menu.c:1166 src/fe-gtk/menu.c:1240 +msgid "XChat: Replace" +msgstr "XChat : remplacer" + +#: src/fe-gtk/menu.c:1173 src/fe-gtk/menu.c:1247 +msgid "XChat: URL Handlers" +msgstr "XChat : gestionnaires d'URL" + +#: src/fe-gtk/menu.c:1192 src/fe-gtk/menu.c:1266 +msgid "XChat: Userlist buttons" +msgstr "XChat : boutons de la liste des utilisateurs" + +#: src/fe-gtk/menu.c:1199 src/fe-gtk/menu.c:1273 +msgid "XChat: Dialog buttons" +msgstr "XChat : boutons de dialogue" + +#: src/fe-gtk/menu.c:1206 src/fe-gtk/menu.c:1280 +msgid "XChat: CTCP Replies" +msgstr "XChat : réponses CTCP" + +#: src/fe-gtk/menu.c:1304 src/fe-gtk/menu.c:1386 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1305 src/fe-gtk/menu.c:1387 +msgid "Network Li_st..." +msgstr "Li_ste des réseaux..." + +#: src/fe-gtk/menu.c:1308 src/fe-gtk/menu.c:1390 +msgid "_New" +msgstr "_Nouveau" + +#: src/fe-gtk/menu.c:1309 src/fe-gtk/menu.c:1391 +msgid "Server Tab..." +msgstr "Onglet de serveur..." + +#: src/fe-gtk/menu.c:1310 src/fe-gtk/menu.c:1392 +msgid "Channel Tab..." +msgstr "Onglet de canal..." + +#: src/fe-gtk/menu.c:1311 src/fe-gtk/menu.c:1393 +msgid "Server Window..." +msgstr "Fenêtre de serveur..." + +#: src/fe-gtk/menu.c:1312 src/fe-gtk/menu.c:1394 +msgid "Channel Window..." +msgstr "Fenêtre de canal..." + +#: src/fe-gtk/menu.c:1317 src/fe-gtk/menu.c:1319 src/fe-gtk/menu.c:1399 +#: src/fe-gtk/menu.c:1401 +msgid "_Load Plugin or Script..." +msgstr "_Charger un greffon ou un script..." + +#: src/fe-gtk/menu.c:1327 src/fe-gtk/menu.c:1409 src/fe-gtk/plugin-tray.c:463 +msgid "_Quit" +msgstr "_Quitter" + +#: src/fe-gtk/menu.c:1329 src/fe-gtk/menu.c:1411 +msgid "_View" +msgstr "_Vue" + +#: src/fe-gtk/menu.c:1331 +msgid "_Menubar" +msgstr "Barre de _menu" + +#: src/fe-gtk/menu.c:1332 +msgid "_Topicbar" +msgstr "Barre de _sujet" + +#: src/fe-gtk/menu.c:1333 +msgid "_Userlist Buttons" +msgstr "Boutons de la liste des _utilisateurs..." + +#: src/fe-gtk/menu.c:1334 src/fe-gtk/menu.c:1417 +msgid "M_ode Buttons" +msgstr "Boutons de m_ode" + +#: src/fe-gtk/menu.c:1336 +msgid "_Layout" +msgstr "_Disposition" + +#: src/fe-gtk/menu.c:1338 src/fe-gtk/menu.c:1421 +msgid "_Tabs" +msgstr "_Onglets" + +#: src/fe-gtk/menu.c:1339 src/fe-gtk/menu.c:1422 +msgid "T_ree" +msgstr "_Arbre" + +#: src/fe-gtk/menu.c:1341 src/fe-gtk/menu.c:1424 +msgid "_Network Meters" +msgstr "_Indicateurs du réseau" + +#: src/fe-gtk/menu.c:1343 src/fe-gtk/menu.c:1426 +msgid "Off" +msgstr "Aucun" + +#: src/fe-gtk/menu.c:1344 src/fe-gtk/menu.c:1427 +msgid "Graph" +msgstr "Graphique" + +#: src/fe-gtk/menu.c:1346 src/fe-gtk/dccgui.c:784 src/fe-gtk/menu.c:1429 +msgid "Both" +msgstr "Les deux" + +#: src/fe-gtk/menu.c:1349 src/fe-gtk/menu.c:1432 +msgid "_Server" +msgstr "_Serveur" + +#: src/fe-gtk/menu.c:1350 src/fe-gtk/menu.c:1433 +msgid "_Disconnect" +msgstr "Se _déconnecter" + +#: src/fe-gtk/menu.c:1351 src/fe-gtk/menu.c:1434 +msgid "_Reconnect" +msgstr "Se _reconnecter" + +#: src/fe-gtk/menu.c:1355 src/fe-gtk/menu.c:1438 +msgid "Marked Away" +msgstr "Marquer absent (Away)" + +#: src/fe-gtk/menu.c:1357 src/fe-gtk/menu.c:1440 +msgid "_Usermenu" +msgstr "Menu de l_utilisateur" + +#: src/fe-gtk/menu.c:1359 src/fe-gtk/menu.c:1442 +msgid "S_ettings" +msgstr "_Paramètres" + +#: src/fe-gtk/menu.c:1360 src/fe-gtk/menu.c:1443 +msgid "_Preferences" +msgstr "_Préférences" + +#: src/fe-gtk/menu.c:1362 src/fe-gtk/menu.c:1445 +msgid "Advanced" +msgstr "_Avancés" + +#: src/fe-gtk/menu.c:1363 src/fe-gtk/menu.c:1446 +msgid "Auto Replace..." +msgstr "Remplacement automatique..." + +#: src/fe-gtk/menu.c:1364 src/fe-gtk/menu.c:1447 +msgid "CTCP Replies..." +msgstr "Réponses CTCP..." + +#: src/fe-gtk/menu.c:1365 src/fe-gtk/menu.c:1448 +msgid "Dialog Buttons..." +msgstr "Boutons de dialogue..." + +#: src/fe-gtk/menu.c:1366 src/fe-gtk/menu.c:1449 +msgid "Keyboard Shortcuts..." +msgstr "Raccourcis clavier..." + +#: src/fe-gtk/menu.c:1367 src/fe-gtk/menu.c:1450 +msgid "Text Events..." +msgstr "Événements textuels..." + +#: src/fe-gtk/menu.c:1368 src/fe-gtk/menu.c:1451 +msgid "URL Handlers..." +msgstr "Gestionnaires d'URL..." + +#: src/fe-gtk/menu.c:1369 src/fe-gtk/menu.c:1452 +msgid "User Commands..." +msgstr "Commandes utilisateur..." + +#: src/fe-gtk/menu.c:1370 src/fe-gtk/menu.c:1453 +msgid "Userlist Buttons..." +msgstr "Boutons de la liste des utilisateurs..." + +#: src/fe-gtk/menu.c:1371 src/fe-gtk/menu.c:1454 +msgid "Userlist Popup..." +msgstr "Menu contextuel de la liste des utilisateurs..." + +#: src/fe-gtk/menu.c:1374 src/fe-gtk/menu.c:1457 +msgid "_Window" +msgstr "_Fenêtre" + +#: src/fe-gtk/menu.c:1375 src/fe-gtk/menu.c:1458 +msgid "Ban List..." +msgstr "Liste de bannissement..." + +#: src/fe-gtk/menu.c:1376 src/fe-gtk/menu.c:1459 +msgid "Channel List..." +msgstr "Liste des canaux..." + +#: src/fe-gtk/menu.c:1377 src/fe-gtk/menu.c:1460 +msgid "Character Chart..." +msgstr "Table de caractères..." + +#: src/fe-gtk/menu.c:1378 src/fe-gtk/menu.c:1461 +msgid "Direct Chat..." +msgstr "Chat direct..." + +#: src/fe-gtk/menu.c:1379 src/fe-gtk/menu.c:1462 +msgid "File Transfers..." +msgstr "Transferts de fichiers..." + +#: src/fe-gtk/menu.c:1380 src/fe-gtk/menu.c:1463 +msgid "Ignore List..." +msgstr "Liste d'ignorance..." + +#: src/fe-gtk/menu.c:1381 src/fe-gtk/menu.c:1464 +msgid "Notify List..." +msgstr "Liste de notification..." + +#: src/fe-gtk/menu.c:1382 src/fe-gtk/menu.c:1465 +msgid "Plugins and Scripts..." +msgstr "Greffons et scripts..." + +#: src/fe-gtk/menu.c:1383 src/fe-gtk/menu.c:1466 +msgid "Raw Log..." +msgstr "Journal brut..." + +#: src/fe-gtk/menu.c:1384 src/fe-gtk/menu.c:1467 +msgid "URL Grabber..." +msgstr "Capture d'URL..." + +#: src/fe-gtk/menu.c:1386 src/fe-gtk/menu.c:1469 +msgid "Reset Marker Line" +msgstr "Repositionner la ligne de repérage" + +#: src/fe-gtk/menu.c:1387 src/fe-gtk/menu.c:1470 +msgid "C_lear Text" +msgstr "_Effacer le texte" + +#: src/fe-gtk/menu.c:1388 src/fe-gtk/menu.c:1472 +msgid "Search Text..." +msgstr "Rechercher du texte..." + +#: src/fe-gtk/menu.c:1389 src/fe-gtk/menu.c:1473 +msgid "Save Text..." +msgstr "Enregistrer le texte..." + +#: src/fe-gtk/menu.c:1391 src/fe-gtk/menu.c:1750 src/fe-gtk/menu.c:1475 +#: src/fe-gtk/menu.c:1949 +msgid "_Help" +msgstr "_Aide" + +#: src/fe-gtk/menu.c:1392 src/fe-gtk/menu.c:1476 +msgid "_Contents" +msgstr "_Contenu" + +#: src/fe-gtk/menu.c:1393 src/fe-gtk/menu.c:1477 +msgid "_About" +msgstr "À _propos" + +#: src/fe-gtk/menu.c:1763 src/fe-gtk/menu.c:1962 +msgid "_Attach Window" +msgstr "_Attacher la fenêtre" + +#: src/fe-gtk/menu.c:1764 src/fe-gtk/menu.c:1963 +msgid "_Close Window" +msgstr "_Fermer la fenêtre" + +#: src/fe-gtk/notifygui.c:132 src/fe-gtk/notifygui.c:137 +msgid "User" +msgstr "Utilisateur" + +#: src/fe-gtk/notifygui.c:134 +msgid "Server" +msgstr "Serveur" + +#: src/fe-gtk/notifygui.c:135 src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "Dernière apparition" + +#: src/fe-gtk/notifygui.c:175 src/fe-gtk/notifygui.c:181 +msgid "Offline" +msgstr "Déconnecté" + +#: src/fe-gtk/notifygui.c:195 src/fe-gtk/setup.c:203 +#: src/fe-gtk/notifygui.c:201 src/fe-gtk/setup.c:230 +msgid "Never" +msgstr "Jamais" + +#: src/fe-gtk/notifygui.c:213 src/fe-gtk/notifygui.c:219 +msgid "Online" +msgstr "Connecté" + +#: src/fe-gtk/notifygui.c:318 src/fe-gtk/notifygui.c:348 +msgid "Enter nickname to add:" +msgstr "Entrer le pseudonyme à ajouter :" + +#: src/fe-gtk/notifygui.c:334 src/fe-gtk/notifygui.c:407 +msgid "XChat: Notify List" +msgstr "XChat : liste de notification" + +#: src/fe-gtk/notifygui.c:351 src/fe-gtk/banlist.c:409 +#: src/fe-gtk/notifygui.c:424 +msgid "Remove" +msgstr "Enlever" + +#: src/fe-gtk/notifygui.c:355 src/fe-gtk/notifygui.c:428 +msgid "Open Dialog" +msgstr "Ouvrir la fenêtre de dialogue" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:421 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Description" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Sélectionner un greffon ou un script à charger" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat : greffons et scripts" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Charger..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "_Décharger" + +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "_Fermer" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:435 +#: src/fe-gtk/urlgrab.c:205 src/fe-gtk/textgui.c:438 +msgid "Save As..." +msgstr "Enregistrer sous..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat : journal brut (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Effacer les journaux bruts" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "" +"La fenêtre pour laquelle vous avez ouvert cette recherche n'existe plus." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "Fin atteinte lors de la recherche, non trouvé." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat : chercher" + +#: src/fe-gtk/search.c:118 src/fe-gtk/chanlist.c:893 +msgid "Find:" +msgstr "Rechercher :" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "_Sensible à la casse" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "Rechercher vers l'a_rrière" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "_Rechercher" + +#: src/fe-gtk/servlistgui.c:169 src/fe-gtk/servlistgui.c:268 +#: src/fe-gtk/servlistgui.c:170 src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "Nouveau réseau" + +#: src/fe-gtk/servlistgui.c:553 src/fe-gtk/servlistgui.c:554 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Voulez-vous vraiment supprimer le réseau « %s » et tous ses serveurs ?" + +#: src/fe-gtk/servlistgui.c:677 src/fe-gtk/servlistgui.c:678 +msgid "User name and Real name cannot be left blank." +msgstr "Le nom d'utilisateur et le nom réel ne peuvent être laissés blancs." + +#: src/fe-gtk/servlistgui.c:977 src/fe-gtk/servlistgui.c:978 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat : éditer %s" + +#: src/fe-gtk/servlistgui.c:996 src/fe-gtk/servlistgui.c:997 +#, c-format +msgid "Servers for %s" +msgstr "Serveur pour %s" + +#: src/fe-gtk/servlistgui.c:1007 src/fe-gtk/servlistgui.c:1008 +msgid "Connect to selected server only" +msgstr "Ne se connecter qu'aux serveurs sélectionnés" + +#: src/fe-gtk/servlistgui.c:1008 src/fe-gtk/servlistgui.c:1009 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Ne pas passer au serveur suivant lorsque la connexion échoue." + +#: src/fe-gtk/servlistgui.c:1010 src/fe-gtk/servlistgui.c:1011 +msgid "Your Details" +msgstr "Vos paramètres" + +#: src/fe-gtk/servlistgui.c:1016 src/fe-gtk/servlistgui.c:1017 +msgid "Use global user information" +msgstr "Utiliser les informations utilisateur globales" + +#: src/fe-gtk/servlistgui.c:1019 src/fe-gtk/servlistgui.c:1251 +#: src/fe-gtk/servlistgui.c:1020 src/fe-gtk/servlistgui.c:1252 +msgid "_Nick name:" +msgstr "_Pseudonyme :" + +#: src/fe-gtk/servlistgui.c:1023 src/fe-gtk/servlistgui.c:1258 +#: src/fe-gtk/servlistgui.c:1024 src/fe-gtk/servlistgui.c:1259 +msgid "Second choice:" +msgstr "Second choix :" + +#: src/fe-gtk/servlistgui.c:1027 src/fe-gtk/servlistgui.c:1272 +#: src/fe-gtk/servlistgui.c:1028 src/fe-gtk/servlistgui.c:1273 +msgid "_User name:" +msgstr "Nom d'_utilisateur :" + +#: src/fe-gtk/servlistgui.c:1031 src/fe-gtk/servlistgui.c:1279 +#: src/fe-gtk/servlistgui.c:1032 src/fe-gtk/servlistgui.c:1280 +msgid "Rea_l name:" +msgstr "Nom _réel :" + +#: src/fe-gtk/servlistgui.c:1034 src/fe-gtk/servlistgui.c:1035 +msgid "Connecting" +msgstr "Connexion en cours" + +#: src/fe-gtk/servlistgui.c:1040 src/fe-gtk/servlistgui.c:1041 +msgid "Auto connect to this network at startup" +msgstr "Connexion automatique à ce réseau au démarrage" + +#: src/fe-gtk/servlistgui.c:1042 src/fe-gtk/servlistgui.c:1043 +msgid "Use a proxy server" +msgstr "Utiliser un serveur mandataire (proxy)" + +#: src/fe-gtk/servlistgui.c:1044 src/fe-gtk/servlistgui.c:1045 +msgid "Use SSL for all the servers on this network" +msgstr "Utiliser SSL pour tous les serveurs de ce réseau" + +#: src/fe-gtk/servlistgui.c:1049 src/fe-gtk/servlistgui.c:1050 +msgid "Accept invalid SSL certificate" +msgstr "Accepter un certificat SSL non valable" + +#: src/fe-gtk/servlistgui.c:1055 src/fe-gtk/servlistgui.c:1056 +msgid "C_hannels to join:" +msgstr "Canaux à rejoindre :" + +#: src/fe-gtk/servlistgui.c:1057 src/fe-gtk/servlistgui.c:1058 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Canaux à rejoindre, séparé par des virgules, mais sans espace !" + +#: src/fe-gtk/servlistgui.c:1060 src/fe-gtk/servlistgui.c:1061 +msgid "Connect command:" +msgstr "Commande de connexion :" + +#: src/fe-gtk/servlistgui.c:1062 src/fe-gtk/servlistgui.c:1063 +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 "" +"Commande supplémentaire à exécuter après la connexion. Si vous avez besoin " +"de plus d'une seule commande, positionnez ceci à « LOAD -e " +"<nom_de_fichier> », où <nom_de_fichier> est un fichier texte contenant les " +"commandes à exécuter." + +#: src/fe-gtk/servlistgui.c:1065 src/fe-gtk/servlistgui.c:1066 +msgid "Nickserv password:" +msgstr "Mot de passe pour « nickserv » :" + +#: src/fe-gtk/servlistgui.c:1067 src/fe-gtk/servlistgui.c:1068 +msgid "" +"If your nickname requires a password, enter it here. Not all IRC networks " +"support this." +msgstr "" +"Si votre pseudonyme a besoin d'un mot de passe, veuillez l'entrer ici. Ce " +"n'est pas géré par tous les réseaux IRC." + +#: src/fe-gtk/servlistgui.c:1071 src/fe-gtk/servlistgui.c:1072 +msgid "Server password:" +msgstr "Mot de passe du serveur :" + +#: src/fe-gtk/servlistgui.c:1073 src/fe-gtk/servlistgui.c:1074 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Mot de passe du serveur en cas de doute, le laisser blanc." + +#: src/fe-gtk/servlistgui.c:1076 src/fe-gtk/servlistgui.c:1077 +msgid "Character set:" +msgstr "Jeu de caractères :" + +#: src/fe-gtk/servlistgui.c:1146 src/fe-gtk/servlistgui.c:1147 +msgid "_Edit" +msgstr "_Éditer" + +#: src/fe-gtk/servlistgui.c:1229 src/fe-gtk/servlistgui.c:1230 +msgid "XChat: Network List" +msgstr "XChat : liste des réseaux" + +#: src/fe-gtk/servlistgui.c:1241 src/fe-gtk/servlistgui.c:1242 +msgid "User Information" +msgstr "Information utilisateur" + +#: src/fe-gtk/servlistgui.c:1265 src/fe-gtk/servlistgui.c:1266 +msgid "Third choice:" +msgstr "Troisième choix :" + +#: src/fe-gtk/servlistgui.c:1325 src/fe-gtk/servlistgui.c:1326 +msgid "Networks" +msgstr "Réseaux" + +#: src/fe-gtk/servlistgui.c:1366 src/fe-gtk/servlistgui.c:1367 +msgid "Skip network list on startup" +msgstr "Sauter la liste des réseaux au démarrage" + +#: src/fe-gtk/servlistgui.c:1398 src/fe-gtk/servlistgui.c:1399 +msgid "_Edit..." +msgstr "_Éditer..." + +#: src/fe-gtk/servlistgui.c:1405 src/fe-gtk/servlistgui.c:1406 +msgid "_Sort" +msgstr "_Trier" + +#: src/fe-gtk/servlistgui.c:1429 src/fe-gtk/servlistgui.c:1432 +msgid "C_onnect" +msgstr "C_onnecter" + +#: src/fe-gtk/setup.c:97 src/fe-gtk/setup.c:103 +msgid "Text Box Appearance" +msgstr "Apparence de la boîte de texte" + +#: src/fe-gtk/setup.c:98 src/fe-gtk/setup.c:104 +msgid "Font:" +msgstr "Police :" + +#: src/fe-gtk/setup.c:99 src/fe-gtk/setup.c:105 +msgid "Background image:" +msgstr "Image d'arrière-plan :" + +#: src/fe-gtk/setup.c:100 src/fe-gtk/setup.c:106 +msgid "Scrollback lines:" +msgstr "Lignes de défilement :" + +#: src/fe-gtk/setup.c:101 src/fe-gtk/setup.c:107 +msgid "Colored nick names" +msgstr "Colorer les pseudonymes" + +#: src/fe-gtk/setup.c:102 src/fe-gtk/setup.c:108 +msgid "Give each person on IRC a different color" +msgstr "Attribuer une couleur différente à chaque personne sur l'IRC" + +#: src/fe-gtk/setup.c:103 src/fe-gtk/setup.c:109 +msgid "Indent nick names" +msgstr "Indenter les pseudonymes" + +#: src/fe-gtk/setup.c:104 src/fe-gtk/setup.c:110 +msgid "Make nick names right-justified" +msgstr "Afficher les pseudonymes en les justifiant à droite" + +#: src/fe-gtk/setup.c:105 src/fe-gtk/setup.c:111 +msgid "Transparent background" +msgstr "Arrière-plan transparent" + +#: src/fe-gtk/setup.c:106 src/fe-gtk/setup.c:112 +msgid "Show marker line" +msgstr "Afficher la ligne de repérage" + +#: src/fe-gtk/setup.c:107 src/fe-gtk/setup.c:113 +msgid "Insert a red line after the last read text." +msgstr "Insérer une ligne rouge après le dernier texte lu." + +#: src/fe-gtk/setup.c:108 src/fe-gtk/setup.c:114 +msgid "Transparency Settings" +msgstr "Paramètres de transparence" + +#: src/fe-gtk/setup.c:109 src/fe-gtk/setup.c:115 +msgid "Red:" +msgstr "Rouge :" + +#: src/fe-gtk/setup.c:110 src/fe-gtk/setup.c:116 +msgid "Green:" +msgstr "Vert :" + +#: src/fe-gtk/setup.c:111 src/fe-gtk/setup.c:117 +msgid "Blue:" +msgstr "Bleu :" + +#: src/fe-gtk/setup.c:113 src/fe-gtk/setup.c:325 src/fe-gtk/setup.c:119 +#: src/fe-gtk/setup.c:389 +msgid "Time Stamps" +msgstr "Horodatage" + +#: src/fe-gtk/setup.c:114 src/fe-gtk/setup.c:120 +msgid "Enable time stamps" +msgstr "Activer l'horodatage" + +#: src/fe-gtk/setup.c:115 src/fe-gtk/setup.c:121 +msgid "Time stamp format:" +msgstr "Format de l'horodatage :" + +#: src/fe-gtk/setup.c:116 src/fe-gtk/setup.c:328 src/fe-gtk/setup.c:122 +#: src/fe-gtk/setup.c:392 +msgid "See strftime manpage for details." +msgstr "Voir la page de manuel de strftime pour plus de détails." + +#: src/fe-gtk/setup.c:123 src/fe-gtk/setup.c:1504 src/fe-gtk/setup.c:136 +#: src/fe-gtk/setup.c:1684 +msgid "Input box" +msgstr "Boîte de saisie" + +#: src/fe-gtk/setup.c:124 src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:137 +#: src/fe-gtk/setup.c:201 +msgid "Use the Text box font and colors" +msgstr "Utiliser la police et les couleurs de la boîte de texte" + +#: src/fe-gtk/setup.c:126 src/fe-gtk/setup.c:139 +msgid "Spell checking" +msgstr "Vérification orthographique" + +#: src/fe-gtk/setup.c:129 src/fe-gtk/setup.c:142 +msgid "Nick Completion" +msgstr "Complétion des pseudonymes" + +#: src/fe-gtk/setup.c:130 src/fe-gtk/setup.c:143 +msgid "Automatic nick completion (without TAB key)" +msgstr "" +"Complétion automatique des pseudonymes (sans utilisation de la tocuhe de " +"tabulation)" + +#: src/fe-gtk/setup.c:132 src/fe-gtk/setup.c:145 +msgid "Nick completion suffix:" +msgstr "Suffixe pour la complétion des pseudonymes :" + +#: src/fe-gtk/setup.c:135 src/fe-gtk/setup.c:149 +msgid "Input Box Codes" +msgstr "Codes de la boîte de saisie" + +#: src/fe-gtk/setup.c:136 src/fe-gtk/setup.c:150 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Interpréter %nnn comme une valeur ASCII" + +#: src/fe-gtk/setup.c:137 src/fe-gtk/setup.c:151 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Interpréter %C, %B comme Color, Bold, etc." + +#: src/fe-gtk/setup.c:154 src/fe-gtk/setup.c:168 +msgid "A-Z, Ops first" +msgstr "A-Z, les opérateurs en premier" + +#: src/fe-gtk/setup.c:155 src/fe-gtk/setup.c:129 src/fe-gtk/setup.c:169 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:156 src/fe-gtk/setup.c:170 +msgid "Z-A, Ops last" +msgstr "A-Z, les opérateurs en dernier" + +#: src/fe-gtk/setup.c:157 src/fe-gtk/setup.c:171 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:158 src/fe-gtk/setup.c:172 +msgid "Unsorted" +msgstr "Non classé" + +#: src/fe-gtk/setup.c:164 src/fe-gtk/setup.c:199 +msgid "User List" +msgstr "Liste Utilisateur" + +#: src/fe-gtk/setup.c:165 src/fe-gtk/setup.c:200 +msgid "Show hostnames in user list" +msgstr "Afficher les noms d'hôtes dans la liste des utilisateurs" + +#: src/fe-gtk/setup.c:167 +msgid "Resizable user list" +msgstr "Liste des utilisateurs redimensionnable" + +#: src/fe-gtk/setup.c:168 src/fe-gtk/setup.c:203 +msgid "User list sorted by:" +msgstr "Liste des utilisateurs classée par :" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:206 +msgid "Away tracking" +msgstr "Suivi de l'absence" + +#: src/fe-gtk/setup.c:171 src/fe-gtk/setup.c:207 +msgid "Track the Away status of users and mark them in a different color" +msgstr "" +"Suivre l'état d'absence des utilisateurs et les afficher dans une couleur " +"différente" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:208 +msgid "On channels smaller than:" +msgstr "Sur les canaux plus petits que :" + +#: src/fe-gtk/setup.c:174 src/fe-gtk/setup.c:210 +msgid "Action Upon Double Click" +msgstr "Action sur un double clic" + +#: src/fe-gtk/setup.c:175 src/fe-gtk/setup.c:211 +msgid "Execute command:" +msgstr "Exécuter la commande :" + +#: src/fe-gtk/setup.c:186 src/fe-gtk/setup.c:222 +msgid "Windows" +msgstr "Fenêtres" + +#: src/fe-gtk/setup.c:187 src/fe-gtk/setup.c:211 src/fe-gtk/setup.c:1506 +#: src/fe-gtk/setup.c:223 src/fe-gtk/setup.c:239 +msgid "Tabs" +msgstr "Onglets" + +#: src/fe-gtk/setup.c:193 src/fe-gtk/setup.c:183 +msgid "Bottom" +msgstr "Bas" + +#: src/fe-gtk/setup.c:194 src/fe-gtk/setup.c:182 +msgid "Top" +msgstr "Haut" + +#: src/fe-gtk/setup.c:195 +msgid "Left" +msgstr "Gauche" + +#: src/fe-gtk/setup.c:196 +msgid "Right" +msgstr "Droite" + +#: src/fe-gtk/setup.c:197 src/fe-gtk/setup.c:184 +msgid "Hidden" +msgstr "Cachés" + +#: src/fe-gtk/setup.c:204 src/fe-gtk/setup.c:231 +msgid "Always" +msgstr "Toujours" + +#: src/fe-gtk/setup.c:205 src/fe-gtk/setup.c:232 +msgid "Only requested tabs" +msgstr "Uniquement les onglets nécessaires" + +#: src/fe-gtk/setup.c:212 src/fe-gtk/setup.c:249 +msgid "Open an extra tab for server messages" +msgstr "Ouvrir un onglet supplémentaire pour les messages du serveur" + +#: src/fe-gtk/setup.c:213 src/fe-gtk/setup.c:250 +msgid "Open an extra tab for server notices" +msgstr "Ouvrir un onglet supplémentaire pour les notifications du serveur" + +#: src/fe-gtk/setup.c:214 src/fe-gtk/setup.c:252 +msgid "Sort tabs in alphabetical order" +msgstr "Trier les onglets par ordre alphabétique" + +#: src/fe-gtk/setup.c:215 src/fe-gtk/setup.c:253 +msgid "Small tabs" +msgstr "Petits onglets" + +#: src/fe-gtk/setup.c:216 src/fe-gtk/setup.c:255 +msgid "Focus new tabs:" +msgstr "Focus sur les nouveaux onglets :" + +#: src/fe-gtk/setup.c:217 src/fe-gtk/setup.c:258 +msgid "Shorten tab labels to:" +msgstr "Réduire les étiquettes des onglets à :" + +#: src/fe-gtk/setup.c:217 src/fe-gtk/setup.c:258 +msgid "letters." +msgstr "lettres." + +#: src/fe-gtk/setup.c:219 +msgid "Tabs Location" +msgstr "Emplacement des onglets" + +#: src/fe-gtk/setup.c:220 +msgid "Show tabs at:" +msgstr "Afficher les onglets en :" + +#: src/fe-gtk/setup.c:222 src/fe-gtk/setup.c:260 +msgid "Tabs or Windows" +msgstr "Onglets ou fenêtres" + +#: src/fe-gtk/setup.c:223 src/fe-gtk/setup.c:261 +msgid "Open channels in:" +msgstr "Ouvrir les canaux dans :" + +#: src/fe-gtk/setup.c:224 src/fe-gtk/setup.c:262 +msgid "Open dialogs in:" +msgstr "Ouvrir les boîtes de dialogue dans :" + +#: src/fe-gtk/setup.c:225 src/fe-gtk/setup.c:263 +msgid "Open utilities in:" +msgstr "Ouvrir les utilitaires dans :" + +#: src/fe-gtk/setup.c:225 src/fe-gtk/setup.c:263 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Faut-il DCC, Ignore, Notify, etc., dans des onglets ou des fenêtres ?" + +#: src/fe-gtk/setup.c:232 src/fe-gtk/setup.c:270 +msgid "No" +msgstr "Non" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:271 +msgid "Yes" +msgstr "Oui" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:272 +msgid "Browse for save folder every time" +msgstr "Parcourir pour le dossier d'enregistrement à chaque fois" + +#: src/fe-gtk/setup.c:240 src/fe-gtk/setup.c:278 +msgid "Files and Directories" +msgstr "Fichiers et répertoires" + +#: src/fe-gtk/setup.c:241 src/fe-gtk/setup.c:279 +msgid "Auto accept file offers:" +msgstr "Accepter automatiquement les propositions de fichiers :" + +#: src/fe-gtk/setup.c:242 src/fe-gtk/setup.c:280 +msgid "Download files to:" +msgstr "Télécharger les fichiers vers :" + +#: src/fe-gtk/setup.c:243 src/fe-gtk/setup.c:281 +msgid "Move completed files to:" +msgstr "Déplacer les fichiers terminés vers :" + +#: src/fe-gtk/setup.c:244 src/fe-gtk/setup.c:282 +msgid "Save nick name in filenames" +msgstr "Enregistrer le pseudonyme dans des noms de fichiers" + +#: src/fe-gtk/setup.c:246 src/fe-gtk/setup.c:284 +msgid "Network Settings" +msgstr "Paramètres du réseau" + +#: src/fe-gtk/setup.c:247 src/fe-gtk/setup.c:285 +msgid "Get my address from the IRC server" +msgstr "Obtenir mon adresse depuis le serveur IRC" + +#: src/fe-gtk/setup.c:248 src/fe-gtk/setup.c:286 +msgid "" +"Asks the IRC server for your real address. Use this if you have a 192.168.*." +"* address!" +msgstr "" +"Demander au serveur IRC votre adresse réelle. À utiliser si vous avez une " +"adresse du style 192.168.*.* !" + +#: src/fe-gtk/setup.c:249 src/fe-gtk/setup.c:287 +msgid "DCC IP address:" +msgstr "Adresse IP DCC :" + +#: src/fe-gtk/setup.c:250 src/fe-gtk/setup.c:288 +msgid "Claim you are at this address when offering files." +msgstr "" +"Prétendre que vous êtes à cette adresse quand vous proposez des fichiers." + +#: src/fe-gtk/setup.c:251 src/fe-gtk/setup.c:289 +msgid "First DCC send port:" +msgstr "Premier port DCC Send :" + +#: src/fe-gtk/setup.c:252 src/fe-gtk/setup.c:290 +msgid "Last DCC send port:" +msgstr "Dernier port DCC Send :" + +#: src/fe-gtk/setup.c:253 src/fe-gtk/setup.c:291 +msgid "!Leave ports at zero for full range." +msgstr "Laisser les ports à zéro pour la plage complète." + +#: src/fe-gtk/setup.c:255 src/fe-gtk/setup.c:293 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Vitesse maximale des transferts de fichiers (octets par seconde)" + +#: src/fe-gtk/setup.c:256 src/fe-gtk/setup.c:294 +msgid "One upload:" +msgstr "Par envoi :" + +#: src/fe-gtk/setup.c:257 src/fe-gtk/setup.c:259 src/fe-gtk/setup.c:295 +#: src/fe-gtk/setup.c:297 +msgid "Maximum speed for one transfer" +msgstr "Vitesse maximale pour un transfert" + +#: src/fe-gtk/setup.c:258 src/fe-gtk/setup.c:296 +msgid "One download:" +msgstr "Par téléchargement :" + +#: src/fe-gtk/setup.c:260 src/fe-gtk/setup.c:298 +msgid "All uploads combined:" +msgstr "Tous les transferts combinés :" + +#: src/fe-gtk/setup.c:261 src/fe-gtk/setup.c:263 src/fe-gtk/setup.c:299 +#: src/fe-gtk/setup.c:301 +msgid "Maximum speed for all files" +msgstr "Vitesse maximale pour tous les fichiers" + +#: src/fe-gtk/setup.c:262 src/fe-gtk/setup.c:300 +msgid "All downloads combined:" +msgstr "Tous les téléchargements combinés :" + +#: src/fe-gtk/setup.c:270 src/fe-gtk/setup.c:352 +msgid "Default Messages" +msgstr "Messages par défaut" + +#: src/fe-gtk/setup.c:271 src/fe-gtk/setup.c:353 +msgid "Quit:" +msgstr "Quitter :" + +#: src/fe-gtk/setup.c:272 src/fe-gtk/setup.c:354 +msgid "Leave channel:" +msgstr "Quitter le canal :" + +#: src/fe-gtk/setup.c:273 src/fe-gtk/setup.c:355 +msgid "Away:" +msgstr "Absent :" + +#: src/fe-gtk/setup.c:275 src/fe-gtk/setup.c:357 +msgid "Away" +msgstr "Absent" + +#: src/fe-gtk/setup.c:276 src/fe-gtk/setup.c:358 +msgid "Announce away messages" +msgstr "Annoncer les messages d'absence" + +#: src/fe-gtk/setup.c:277 src/fe-gtk/setup.c:359 +msgid "Announce your away messages to all channels" +msgstr "Annoncer vos messages d'absence sur tous les canaux" + +#: src/fe-gtk/setup.c:278 src/fe-gtk/setup.c:360 +msgid "Show away once" +msgstr "N'afficher qu'une seule fois le message d'absence" + +#: src/fe-gtk/setup.c:278 src/fe-gtk/setup.c:360 +msgid "Show identical away messages only once" +msgstr "N'afficher qu'une seule fois les messages de départ identiques" + +#: src/fe-gtk/setup.c:279 src/fe-gtk/setup.c:361 +msgid "Automatically unmark away" +msgstr "Enlever la marque d'absence automatiquement" + +#: src/fe-gtk/setup.c:279 src/fe-gtk/setup.c:361 +msgid "Unmark yourself as away before sending messages" +msgstr "" +"Enlever automatiquement la marque d'absence vous concernant avant d'envoyer " +"des messages" + +#: src/fe-gtk/setup.c:282 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "(Peut être un fichier texte relatif à ~/.xchat2/)." + +#: src/fe-gtk/setup.c:284 +msgid "(Can be a text file relative to config dir)." +msgstr "(Peut être un fichier texte relatif au répertoire de configuration)." + +#: src/fe-gtk/setup.c:288 src/fe-gtk/setup.c:328 src/fe-gtk/setup.c:1690 +msgid "Alerts" +msgstr "Alertes" + +#: src/fe-gtk/setup.c:290 +msgid "Flash taskbar on highlighted messages" +msgstr "Faire clignoter la barre de tâches pour les messages en surbrillance" + +#: src/fe-gtk/setup.c:292 +msgid "Beep on highlighted messages" +msgstr "Biper sur les messages en surbrillance" + +#: src/fe-gtk/setup.c:293 +msgid "Beep on private messages" +msgstr "Biper sur les messages privés" + +#: src/fe-gtk/setup.c:294 +msgid "Beep on channel messages" +msgstr "Biper sur les messages du canal" + +#: src/fe-gtk/setup.c:295 +msgid "Extra words to highlight on:" +msgstr "Mots à mettre en surbrillance :" + +#: src/fe-gtk/setup.c:296 +msgid "Nicks not to highlight on:" +msgstr "Pseudos à ne pas mettre en surbrillance :" + +#: src/fe-gtk/setup.c:297 src/fe-gtk/setup.c:346 +msgid "Separate multiple words with commas." +msgstr "Séparer les mots avec des virgules." + +#: src/fe-gtk/setup.c:304 src/fe-gtk/setup.c:368 +msgid "Advanced Settings" +msgstr "Paramètres avancés" + +#: src/fe-gtk/setup.c:305 src/fe-gtk/setup.c:369 +msgid "Auto reconnect delay:" +msgstr "Délai de reconnexion automatique :" + +#: src/fe-gtk/setup.c:306 src/fe-gtk/setup.c:370 +msgid "Display MODEs in raw form" +msgstr "Afficher les MODEs sous forme brute" + +#: src/fe-gtk/setup.c:307 src/fe-gtk/setup.c:371 +msgid "Whois on notify" +msgstr "Whois sur les notifications" + +#: src/fe-gtk/setup.c:307 src/fe-gtk/setup.c:371 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "" +"Envoyer un /WHOIS quand un utilisateur arrive en ligne dans votre liste de " +"notification" + +#: src/fe-gtk/setup.c:308 src/fe-gtk/setup.c:372 +msgid "Hide join and part messages" +msgstr "Cacher les messages join/part" + +#: src/fe-gtk/setup.c:308 src/fe-gtk/setup.c:372 +msgid "Hide channel join/part messages by default" +msgstr "Cacher par défaut les messages join/part du canal" + +#: src/fe-gtk/setup.c:309 src/fe-gtk/setup.c:373 +msgid "Auto Open DCC Windows" +msgstr "Ouvrir automatiquement les fenêtres DCC" + +#: src/fe-gtk/setup.c:310 src/fe-gtk/setup.c:374 +msgid "Send window" +msgstr "Fenêtre d'envoi" + +#: src/fe-gtk/setup.c:311 src/fe-gtk/setup.c:375 +msgid "Receive window" +msgstr "Fenêtre de réception" + +#: src/fe-gtk/setup.c:312 src/fe-gtk/setup.c:376 +msgid "Chat window" +msgstr "Fenêtre de bavardage" + +#: src/fe-gtk/setup.c:320 src/fe-gtk/setup.c:1511 src/fe-gtk/setup.c:384 +#: src/fe-gtk/setup.c:1692 +msgid "Logging" +msgstr "Journalisation" + +#: src/fe-gtk/setup.c:321 src/fe-gtk/setup.c:385 +msgid "Enable logging of conversations" +msgstr "Activer l'enregistrement des conversations" + +#: src/fe-gtk/setup.c:322 src/fe-gtk/setup.c:386 +msgid "Log filename:" +msgstr "Nom du fichier journal :" + +#: src/fe-gtk/setup.c:323 src/fe-gtk/setup.c:387 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Serveur %c=Canal %n=Réseau." + +#: src/fe-gtk/setup.c:326 src/fe-gtk/setup.c:390 +msgid "Insert timestamps in logs" +msgstr "Insérer l'horodatage dans les journaux" + +#: src/fe-gtk/setup.c:327 src/fe-gtk/setup.c:391 +msgid "Log timestamp format:" +msgstr "Format de l'horodatage du journal :" + +#: src/fe-gtk/setup.c:335 src/fe-gtk/setup.c:399 +msgid "(Disabled)" +msgstr "(Désactivé)" + +#: src/fe-gtk/setup.c:336 src/fe-gtk/setup.c:400 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:337 src/fe-gtk/setup.c:401 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:338 src/fe-gtk/setup.c:402 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:339 src/fe-gtk/setup.c:403 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:341 src/fe-gtk/setup.c:405 +msgid "MS Proxy (ISA)" +msgstr "Proxy MS (ISA)" + +#: src/fe-gtk/setup.c:348 src/fe-gtk/setup.c:412 +msgid "All Connections" +msgstr "Toutes les connexions" + +#: src/fe-gtk/setup.c:349 src/fe-gtk/setup.c:413 +msgid "IRC Server Only" +msgstr "Serveur IRC uniquement" + +#: src/fe-gtk/setup.c:350 src/fe-gtk/setup.c:414 +msgid "DCC Get Only" +msgstr "« DCC Get » uniquement" + +#: src/fe-gtk/setup.c:356 src/fe-gtk/setup.c:420 +msgid "Your Address" +msgstr "Votre adresse" + +#: src/fe-gtk/setup.c:357 src/fe-gtk/setup.c:421 +msgid "Bind to:" +msgstr "Lier à :" + +#: src/fe-gtk/setup.c:358 src/fe-gtk/setup.c:422 +msgid "Only useful for computers with multiple addresses." +msgstr "N'est utile que pour les ordinateurs ayant plusieurs adresses." + +#: src/fe-gtk/setup.c:360 src/fe-gtk/setup.c:424 +msgid "Proxy Server" +msgstr "Serveur mandataire (proxy)" + +#: src/fe-gtk/setup.c:361 src/fe-gtk/setup.c:425 +msgid "Hostname:" +msgstr "Nom d'hôte :" + +#: src/fe-gtk/setup.c:362 src/fe-gtk/setup.c:426 +msgid "Port:" +msgstr "Port :" + +#: src/fe-gtk/setup.c:363 src/fe-gtk/setup.c:427 +msgid "Type:" +msgstr "Type :" + +#: src/fe-gtk/setup.c:364 src/fe-gtk/setup.c:428 +msgid "Use proxy for:" +msgstr "Utiliser le serveur mandataire (proxy) pour :" + +#: src/fe-gtk/setup.c:366 src/fe-gtk/setup.c:430 +msgid "Proxy Authentication" +msgstr "Authentification par le proxy" + +#: src/fe-gtk/setup.c:368 src/fe-gtk/setup.c:432 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Utiliser l'authentification (Proxy MS, HTTP ou Socks5 uniquement)" + +#: src/fe-gtk/setup.c:370 src/fe-gtk/setup.c:434 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Utiliser l'authentification (HTTP ou Socks5 uniquement)" + +#: src/fe-gtk/setup.c:372 src/fe-gtk/setup.c:436 +msgid "Username:" +msgstr "Nom d'utilisateur :" + +#: src/fe-gtk/setup.c:373 src/fe-gtk/setup.c:437 +msgid "Password:" +msgstr "Mot de passe :" + +#: src/fe-gtk/setup.c:716 src/fe-gtk/setup.c:867 +msgid "Select an Image File" +msgstr "Sélectionner une image" + +#: src/fe-gtk/setup.c:740 src/fe-gtk/setup.c:891 +msgid "Select Download Folder" +msgstr "Choisir le dossier pour le réception de fichiers" + +#: src/fe-gtk/setup.c:749 src/fe-gtk/setup.c:900 +msgid "Select font" +msgstr "Choisir une police" + +#: src/fe-gtk/setup.c:820 src/fe-gtk/setup.c:997 +msgid "Browse..." +msgstr "Parcourir..." + +#: src/fe-gtk/setup.c:955 src/fe-gtk/setup.c:1135 +msgid "Mark identified users with:" +msgstr "Marquer les utilisateurs identifiés par :" + +#: src/fe-gtk/setup.c:957 src/fe-gtk/setup.c:1137 +msgid "Mark not-identified users with:" +msgstr "Marquer les utilisateurs non identifiés par :" + +#: src/fe-gtk/setup.c:1018 src/fe-gtk/setup.c:1198 +msgid "Select color" +msgstr "Choisir la couleur" + +#: src/fe-gtk/setup.c:1098 src/fe-gtk/setup.c:1278 +msgid "Text Colors" +msgstr "Couleurs du texte" + +#: src/fe-gtk/setup.c:1100 src/fe-gtk/setup.c:1280 +msgid "mIRC colors:" +msgstr "Couleurs mIRC :" + +#: src/fe-gtk/setup.c:1108 src/fe-gtk/setup.c:1288 +msgid "Local colors:" +msgstr "Couleurs locales :" + +#: src/fe-gtk/setup.c:1116 src/fe-gtk/setup.c:1121 src/fe-gtk/setup.c:1296 +#: src/fe-gtk/setup.c:1301 +msgid "Foreground:" +msgstr "Premier plan :" + +#: src/fe-gtk/setup.c:1117 src/fe-gtk/setup.c:1122 src/fe-gtk/setup.c:1297 +#: src/fe-gtk/setup.c:1302 +msgid "Background:" +msgstr "Arrière-plan :" + +#: src/fe-gtk/setup.c:1119 src/fe-gtk/setup.c:1299 +msgid "Marking Text" +msgstr "Texte d'inscription" + +#: src/fe-gtk/setup.c:1124 src/fe-gtk/setup.c:1304 +msgid "Interface Colors" +msgstr "Couleurs de l'interface" + +#: src/fe-gtk/setup.c:1126 src/fe-gtk/setup.c:1306 +msgid "New data:" +msgstr "Nouvelles données :" + +#: src/fe-gtk/setup.c:1127 src/fe-gtk/setup.c:1307 +msgid "Marker line:" +msgstr "Ligne de repérage :" + +#: src/fe-gtk/setup.c:1128 src/fe-gtk/setup.c:1308 +msgid "New message:" +msgstr "Nouveau message :" + +#: src/fe-gtk/setup.c:1129 src/fe-gtk/setup.c:1309 +msgid "Away user:" +msgstr "Utilisateur absent :" + +#: src/fe-gtk/setup.c:1130 src/fe-gtk/setup.c:1310 +msgid "Highlight:" +msgstr "Surbrillance :" + +#: src/fe-gtk/setup.c:1226 src/fe-gtk/textgui.c:386 src/fe-gtk/setup.c:1406 +#: src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "Événement" + +#: src/fe-gtk/setup.c:1232 src/fe-gtk/setup.c:1412 +msgid "Sound file" +msgstr "Fichier son" + +#: src/fe-gtk/setup.c:1267 src/fe-gtk/setup.c:1447 +msgid "Select a sound file" +msgstr "Sélectionner un fichier son" + +#: src/fe-gtk/setup.c:1339 src/fe-gtk/setup.c:1519 +msgid "Sound playing method:" +msgstr "Méthode pour reproduire les sons :" + +#: src/fe-gtk/setup.c:1347 src/fe-gtk/setup.c:1527 +msgid "External sound playing _program:" +msgstr "Programme de reproduction externe :" + +#: src/fe-gtk/setup.c:1365 src/fe-gtk/setup.c:1545 +msgid "_External program" +msgstr "Programme _externe" + +#: src/fe-gtk/setup.c:1375 src/fe-gtk/setup.c:1555 +msgid "_Automatic" +msgstr "_Automatique" + +#: src/fe-gtk/setup.c:1388 src/fe-gtk/setup.c:1568 +msgid "Sound files _directory:" +msgstr "_Répertoire des fichiers son :" + +#: src/fe-gtk/setup.c:1427 src/fe-gtk/setup.c:1607 +msgid "Sound file:" +msgstr "Fichier son :" + +#: src/fe-gtk/setup.c:1442 src/fe-gtk/setup.c:1622 +msgid "_Browse..." +msgstr "_Parcourir..." + +#: src/fe-gtk/setup.c:1453 src/fe-gtk/setup.c:1633 +msgid "_Play" +msgstr "_Jouer" + +#: src/fe-gtk/setup.c:1502 src/fe-gtk/setup.c:1682 +msgid "Interface" +msgstr "Interface" + +#: src/fe-gtk/setup.c:1503 src/fe-gtk/setup.c:1683 +msgid "Text box" +msgstr "Boîte de texte" + +#: src/fe-gtk/setup.c:1505 src/fe-gtk/setup.c:1685 +msgid "User list" +msgstr "Liste des utilisateurs" + +#: src/fe-gtk/setup.c:1507 src/fe-gtk/setup.c:1687 +msgid "Colors" +msgstr "Couleurs" + +# Non traduit pour garder signification /DCC send +#: src/fe-gtk/setup.c:1509 src/fe-gtk/setup.c:1689 +msgid "Chatting" +msgstr "Bavardage" + +#: src/fe-gtk/setup.c:1510 src/fe-gtk/setup.c:1691 +msgid "General" +msgstr "Général" + +#: src/fe-gtk/setup.c:1512 src/fe-gtk/setup.c:1693 +msgid "Sound" +msgstr "Son" + +#: src/fe-gtk/setup.c:1515 src/common/text.c:1185 src/fe-gtk/notifygui.c:139 +#: src/fe-gtk/setup.c:1696 +msgid "Network" +msgstr "Réseau" + +#: src/fe-gtk/setup.c:1516 src/fe-gtk/setup.c:1697 +msgid "Network setup" +msgstr "Réglages relatifs au réseau" + +#: src/fe-gtk/setup.c:1517 src/fe-gtk/setup.c:1698 +msgid "File transfers" +msgstr "Transferts de fichiers" + +#: src/fe-gtk/setup.c:1625 src/fe-gtk/setup.c:1806 +msgid "Categories" +msgstr "Catégories" + +#: src/fe-gtk/setup.c:1797 src/fe-gtk/setup.c:2003 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" +"Certains réglages qui ont été modifiés nécessitent un redémarrage afin " +"d'être effectifs." + +#: src/fe-gtk/setup.c:1805 src/fe-gtk/setup.c:2011 +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 "" +"*ATTENTION*\n" +"Accepter automatiquement les DCC dans votre répertoire personnel\n" +"peut être dangereux et peut être exploité. Par exemple :\n" +"quelqu'un pourrait vous envoyer un .bash_profile" + +#: src/fe-gtk/setup.c:1838 src/fe-gtk/setup.c:2044 +msgid "XChat: Preferences" +msgstr "XChat : préférences" + +#: src/fe-gtk/textgui.c:177 src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "Il y a eu une erreur d'analyse de la chaîne" + +#: src/fe-gtk/textgui.c:185 src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Ce signal n'a reçu que %d paramètres, $%d n'est pas valable" + +#: src/fe-gtk/textgui.c:301 src/fe-gtk/textgui.c:324 src/fe-gtk/textgui.c:304 +#: src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "Afficher le fichier de texte" + +#: src/fe-gtk/textgui.c:369 src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "Éditer les événements" + +#: src/fe-gtk/textgui.c:420 src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$ Numéro" + +#: src/fe-gtk/textgui.c:437 src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "Charger depuis..." + +#: src/fe-gtk/textgui.c:438 src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "Tout tester" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat : récupération d'URL" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Effacer la liste" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Copier l'URL sélectionnée" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Copier" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Enregistrer la liste dans un fichier" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d total" + +#: plugins/dbus/xchat-remote.c:41 +msgid "Open an irc:// url" +msgstr "Ouvrir une URL irc://" + +#: plugins/dbus/xchat-remote.c:41 +msgid "irc://server:port/channel" +msgstr "irc://serveur:port/canal" + +#: plugins/dbus/xchat-remote.c:42 +msgid "Execute a xchat command" +msgstr "Exécuter une commande de xchat" + +#: plugins/dbus/xchat-remote.c:42 +msgid "\"Command to execute\"" +msgstr "« Commande à exécuter »" + +#: plugins/dbus/xchat-remote.c:43 +msgid "Prints some text to the current tab/window" +msgstr "Envoyer un texte vers la fenêtre ou l'onglet actuel" + +#: plugins/dbus/xchat-remote.c:43 +msgid "\"Text to print\"" +msgstr "« Texte à envoyer »" + +#: plugins/dbus/xchat-remote.c:44 +msgid "Change the context to the channel" +msgstr "Modifier le contexte du canal" + +#: plugins/dbus/xchat-remote.c:44 +msgid "channel" +msgstr "canal" + +#: plugins/dbus/xchat-remote.c:45 +msgid "Change the context to the server" +msgstr "Modifier le contexte du serveur" + +#: plugins/dbus/xchat-remote.c:45 +msgid "server" +msgstr "serveur" + +#: plugins/dbus/xchat-remote.c:46 +msgid "Get some informations from xchat" +msgstr "Obtenir des informations de xchat" + +#: plugins/dbus/xchat-remote.c:46 +msgid "id" +msgstr "id" + +#: plugins/dbus/xchat-remote.c:47 +msgid "Get settings from xchat" +msgstr "Obtenir la configuration de xchat" + +#: plugins/dbus/xchat-remote.c:47 +msgid "name" +msgstr "nom" + +#: plugins/dbus/xchat-remote.c:79 +#, c-format +msgid "" +"xchat-remote: %s\n" +"Try `xchat-remote --help' for more information\n" +msgstr "" +"xchat-remote : %s\n" +"Essayez « xchat-remote --help » pour davantage d'informations\n" + +#: plugins/dbus/xchat-remote.c:90 src/common/dbus/dbus-client.c:71 +msgid "Couldn't connect to session bus" +msgstr "Impossible de se connecter au bus de session" + +#: plugins/dbus/xchat-remote.c:116 plugins/dbus/xchat-remote.c:130 +msgid "Failed to complete command" +msgstr "Échec de la commande" + +#: plugins/dbus/xchat-remote.c:125 +msgid "Failed to complete SetContext" +msgstr "Échec de SetContext" + +#: plugins/dbus/xchat-remote.c:135 +msgid "Failed to complete print" +msgstr "Échec de l'impression" + +#: plugins/dbus/xchat-remote.c:142 +msgid "Failed to complete GetInfo" +msgstr "Échec de GetInfo" + +#: plugins/dbus/xchat-remote.c:155 +msgid "Failed to complete GetPrefs" +msgstr "Échec de GetPrefs" + +#: plugins/dbus/xchat-remote.c:159 +#, c-format +msgid "%s doesn't exist\n" +msgstr "%s n'existe pas\n" + +#: plugins/dbus/dbus-plugin.c:27 +msgid "xchat remote access" +msgstr "accès à distance de xchat" + +#: plugins/dbus/dbus-plugin.c:28 src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "greffon pour l'accès à distance en utilisant DBUS" + +#: plugins/dbus/dbus-plugin.c:333 +#, c-format +msgid "Couldn't connect to session bus : %s\n" +msgstr "Impossible de se connecter au bus de session : %s\n" + +#: plugins/dbus/dbus-plugin.c:353 src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Échec de l'acquisition de %s : %s\n" + +#: plugins/dbus/dbus-plugin.c:401 +#, c-format +msgid "%s loaded successfully!\n" +msgstr "%s a été chargé avec succès.\n" + +#: src/common/outbound.c:339 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Vous êtes déjà considéré comme absent : %s\n" + +#: src/common/outbound.c:409 +msgid "Already marked back.\n" +msgstr "Vous êtes déjà considéré comme présent : %s\n" + +#: src/common/outbound.c:3517 +msgid "BACK, sets you back (not away)" +msgstr "BACK signale que vous êtes de retour (plus absent)" + +#: src/common/outbound.c:3521 +msgid "" +"Set per channel options\n" +"CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part " +"messages\n" +"CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +"CHANOPT BEEP ON|OFF - Toggle beep on message\n" +"CHANOPT TRAY ON|OFF - Toggle tray blink on message" +msgstr "" +"Modifie les options du canal\n" +"CHANOPT CONFMODE ON|OFF - Active ou désactive le mode conférence (qui n'affiche plus les personnes entrant et sortant du canal)\n" +"CHANOPT COLORPASTE ON|OFF - Active ou désactive le collage de la couleur\n" +"CHANOPT BEEP ON|OFF - Active ou désactive le beep lors des messages\n" +"CHANOPT TRAY ON|OFF - Active ou désactive le clignotement de l'icone de barre d'état lors des messages" + +#: src/common/outbound.c:3528 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR [ALL|HISTORY], Efface la fenêtre courant ou l'historique des commandes" + +#: src/common/outbound.c:3536 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "" +"CYCLE [<canal>], quitte et rejoint à nouveau le canal donné" + +#: src/common/outbound.c:3634 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" +"NOTIFY [-n réseau1[,réseau2,...]] [<pseudo>], affiche la liste des notifications " +"ou ajoute un quelqu'un à cette liste." + +#: src/common/outbound.c:3642 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <pseudo>, ouvre une fenêtre de chat privé avec quelqu'un" + +#: src/common/outbound.c:3673 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-or] [-quiet] <variable> [<valeur>]" + +#: src/common/outbound.c:3681 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" +"\n" +"TRAY -f <délai> <fichier1> [<fichier2>] Spécifie les fichiers à utiliser pour faire clignoter l'icone de barre d'état.\n" +"TRAY -f <fichier> Spécifie le fichier à utiliser pour l'icone de barre d'état.\n" +"TRAY -i <numéro> Spécifie un icone interne pour le clignotement de la barre d'état.\n" +"TRAY -t <texte> Spécifie le message d'aide de l'icone de barre d'état.\n" +"TRAY -b <titre> <texte> Spécifie le message flottant de l'icone de barre d'état." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tNotify: $1 est hors-ligne ($3)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tNotify: $1 est en ligne ($3)." + +#: src/common/text.c:292 +msgid "Loaded log from" +msgstr "Historique chargé depuis" + +#: src/common/dbus/dbus-client.c:85 +msgid "Failed to complete NameHasOwner" +msgstr "Impossible de compléter NameHasOwner" + +#: src/common/dbus/dbus-client.c:106 +msgid "Failed to complete Command" +msgstr "Impossible de terminer la commande" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "accès distant" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Impossible de se connecter au bus: %s\n" + +#: src/fe-gtk/banlist.c:278 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "Voulez-vous vraiment enlever les bannissements de %s ?" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Affichage de %d/%d utilisateurs sur %d/%d canaux." + +#: src/fe-gtk/chanlist.c:626 src/fe-gtk/chanlist.c:789 +msgid "_Join Channel" +msgstr "Re_joint le canal" + +#: src/fe-gtk/chanlist.c:628 +msgid "_Copy Channel Name" +msgstr "_Copie le nom du canal" + +#: src/fe-gtk/chanlist.c:630 +msgid "Copy _Topic Text" +msgstr "Copie le suje_t du canal" + +#: src/fe-gtk/chanlist.c:771 +msgid "_Search" +msgstr "_Recherche" + +#: src/fe-gtk/chanlist.c:777 +#. ne pas mettre de texte trop long : cela déborderait du bouton. +msgid "_Download List" +msgstr "_Télécharger" + +#: src/fe-gtk/chanlist.c:783 +msgid "Save _List..." +msgstr "Sauver la _Liste" + +#: src/fe-gtk/chanlist.c:796 +msgid "Show only:" +msgstr "Seuls les canaux " + +#: src/fe-gtk/chanlist.c:808 +msgid "channels with" +msgstr "ayant entre" + +#: src/fe-gtk/chanlist.c:821 +msgid "to" +msgstr "et" + +#: src/fe-gtk/chanlist.c:833 +msgid "users." +msgstr "utilisateurs." + +#: src/fe-gtk/chanlist.c:839 +msgid "Look in:" +msgstr "Chercher dans :" + +#: src/fe-gtk/chanlist.c:851 +msgid "Channel name" +msgstr "Nom du canal" + +#: src/fe-gtk/chanlist.c:872 +msgid "Search type:" +msgstr "Type de recherche :" + +#: src/fe-gtk/chanlist.c:879 +msgid "Simple Search" +msgstr "Recherche simple" + +#: src/fe-gtk/chanlist.c:880 +msgid "Pattern Match (Wildcards)" +msgstr "Recherche par motif (*)" + +#: src/fe-gtk/chanlist.c:882 +msgid "Regular Expression" +msgstr "Expression rationnelle" + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: Envois et réceptions" + +#: src/fe-gtk/dccgui.c:812 +msgid "File:" +msgstr "Fichier : " + +#: src/fe-gtk/dccgui.c:813 +msgid "Address:" +msgstr "Adresse : " + +#: src/fe-gtk/fe-gtk.c:133 +msgid "Open URL in an existing XChat" +msgstr "Ouvrir l'URL dans un XChat existant" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Démarré minimisé. 0=Normal 1=Minimisé 2=Dans l'icone d'état" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "level" +msgstr "niveau" + +#: src/fe-gtk/maingui.c:1304 +msgid "Quit XChat?" +msgstr "Quitter XChat ?" + +#: src/fe-gtk/maingui.c:1325 +msgid "Don't ask next time." +msgstr "Ne plus me demander." + +#: src/fe-gtk/maingui.c:1331 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Vous êtes connecté à %i réseaux IRC." + +#: src/fe-gtk/maingui.c:1333 +msgid "Are you sure you want to quit?" +msgstr "Voulez-vous vraiment quitter ?" + +#: src/fe-gtk/maingui.c:1335 +msgid "Some file transfers are still active." +msgstr "Des transferts de fichiers sont en cours." + +#: src/fe-gtk/maingui.c:1353 +msgid "_Minimize to Tray" +msgstr "_Minimiser dans la barre d'état" + +#: src/fe-gtk/maingui.c:1632 +msgid "Blink tray on message" +msgstr "Faire clignoter l'icone en cas de message" + +#: src/fe-gtk/menu.c:1170 +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 = xchat 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 "" +"Commandes utilisateur - codes d'échappement :\n" +"\n" +"%c = canal actuel\n" +"%e = réseau actuel\n" +"%m = informations sur la machine\n" +"%n = votre pseudo\n" +"%t = date/heure\n" +"%v = version de xchat\n" +"%2 = 2e mot\n" +"%3 = 3e mot\n" +"&2 = du 2e mot à la fin de la ligne\n" +"&3 = du 3e mot à la fin de la ligne\n" +"\n" +"exemple :\n" +"/cmd sylvain bonjour\n" +"\n" +"%2 sera \"sylvain\"\n" +"&2 sera \"sylvain bonjour\"." + +#: src/fe-gtk/menu.c:1186 +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 "" +"Boutons de la liste des utilisateurs - code d'échappement : \n" +"\n" +"%a = tous les pseudos sélectionnés\n" +"%c = canal actuel\n" +"%e = réseau actuel\n" +"%h = nom d'hôte du pseudo sélectionné\n" +"%m = informations sur la machine\n" +"%n = votre pseudo\n" +"%s = le pseudo sélectionné\n" +"%t = date/heure\n" + +#: src/fe-gtk/menu.c:1196 +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 "" +"Boutons de la boite de dialogue - Codes d'échappement : \n" +"\n" +"%a = tous les pseudos sélectionnés\n" +"%c = canal actuel\n" +"%e = réseau actuel\n" +"%h = nom d'hôte du pseudo sélectionné\n" +"%m = informations sur la machine\n" +"%n = votre pseudo\n" +"%s = le pseudo sélectionné\n" +"%t = date/heure\n" + +#: src/fe-gtk/menu.c:1206 +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 "" +"Réponses CTCP - Codes d'échappement :\n" +"\n" +"%d = données (toute la réponse CTCP)\n" +"%e = réseau actuel\n" +"%m = informations sur la machine\n" +"%s = pseudo ayant envoyé le CTCP\n" +"%t = date/heure\n" +"%2 = 2e mot\n" +"%3 = 3e mot\n" +"&2 = du 2e mot à la fin de la ligne\n" +"&3 = du 3e mot à la fin de la ligne\n" +"\n" + +#: src/fe-gtk/menu.c:1413 +msgid "_Menu Bar" +msgstr "Barre de _menu" + +#: src/fe-gtk/menu.c:1414 +msgid "_Topic Bar" +msgstr "Barre de suje_t" + +#: src/fe-gtk/menu.c:1415 +msgid "_User List" +msgstr "Liste d'_utilisateurs" + +#: src/fe-gtk/menu.c:1416 +msgid "U_serlist Buttons" +msgstr "Bouton_s de la liste des utilisateurs" + +#: src/fe-gtk/menu.c:1419 +msgid "_Channel Switcher" +msgstr "Sélecteur de _canaux" + +#: src/fe-gtk/notifygui.c:204 src/fe-gtk/notifygui.c:229 +#, c-format +msgid "%d minutes ago" +msgstr "il y a %d minutes" + +#: src/fe-gtk/notifygui.c:376 +msgid "Notify on these networks:" +msgstr "Notifier depuis les réseaux suivants :" + +#: src/fe-gtk/notifygui.c:387 +msgid "Comma separated list of networks is accepted." +msgstr "Entrez les réseaux séparés par une virgule." + +#: src/fe-gtk/plugin-tray.c:163 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" +"Je ne trouve pas 'notify-send' pour ouvrir les fenêtres d'alertes.\n" +"Merci d'installer libnotify." + +#: src/fe-gtk/plugin-tray.c:214 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat : Vous êtes connecté à %u réseaux et %u canaux" + +#: src/fe-gtk/plugin-tray.c:451 +msgid "_Restore" +msgstr "Affiche_r" + +#: src/fe-gtk/plugin-tray.c:453 +msgid "_Hide" +msgstr "Cac_her" + +#: src/fe-gtk/plugin-tray.c:456 +msgid "_Blink on" +msgstr "_Clignoter lors des" + +#: src/fe-gtk/plugin-tray.c:457 src/fe-gtk/setup.c:477 +msgid "Channel Message" +msgstr "Messages de canaux" + +#: src/fe-gtk/plugin-tray.c:458 src/fe-gtk/setup.c:478 +msgid "Private Message" +msgstr "Messages privés" + +#: src/fe-gtk/plugin-tray.c:459 src/fe-gtk/setup.c:479 +msgid "Highlighted Message" +msgstr "Messages en surbrillance" + +#: src/fe-gtk/plugin-tray.c:507 src/fe-gtk/plugin-tray.c:515 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "XChat : Message en surbrillance de %s (%s)" + +#: src/fe-gtk/plugin-tray.c:510 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat : %u messages en surbrillance. Le dernier est de %s (%s)" + +#: src/fe-gtk/plugin-tray.c:533 src/fe-gtk/plugin-tray.c:540 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat : Nouveau message public de %s (%s)" + +#: src/fe-gtk/plugin-tray.c:536 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat : %u nouveaux messages publics." + +#: src/fe-gtk/plugin-tray.c:562 src/fe-gtk/plugin-tray.c:569 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat : Message privé de %s (%s)" + +#: src/fe-gtk/plugin-tray.c:565 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat : %u messages privés. Le dernier est de %s (%s)" + +#: src/fe-gtk/plugin-tray.c:615 src/fe-gtk/plugin-tray.c:623 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat : Demande de transfert de fichier de %s (%s)" + +#: src/fe-gtk/plugin-tray.c:618 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "XChat : %u demandes de transferts de fichier. Le dernier est de %s (%s)" + +#: src/fe-gtk/servlistgui.c:1407 +msgid "" +"Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN " +"keys to move a row." +msgstr "" +"Trie les réseaux dans l'ordre alphabétique. Utilisez Shift-Haut et Shift-Bas " +"pour déplacer une ligne." + +#: src/fe-gtk/setup.c:130 +msgid "Last-spoke order" +msgstr "Le dernier ayant parlé d'abord" + +#: src/fe-gtk/setup.c:146 +msgid "Nick completion sorted:" +msgstr "Tri de la complétion des pseudo :" + +#: src/fe-gtk/setup.c:178 src/fe-gtk/setup.c:190 +msgid "Left (Upper)" +msgstr "Gauche (Haut)" + +#: src/fe-gtk/setup.c:179 src/fe-gtk/setup.c:191 +msgid "Left (Lower)" +msgstr "Gauche (Bas)" + +#: src/fe-gtk/setup.c:180 src/fe-gtk/setup.c:192 +msgid "Right (Upper)" +msgstr "Droite (Haut)" + +#: src/fe-gtk/setup.c:181 src/fe-gtk/setup.c:193 +msgid "Right (Lower)" +msgstr "Droite (Bas)" + +#: src/fe-gtk/setup.c:204 +msgid "Show user list at:" +msgstr "Position de la liste des utilisateurs :" + +#: src/fe-gtk/setup.c:241 +msgid "Tree" +msgstr "Arbre" + +#: src/fe-gtk/setup.c:248 +msgid "Switcher type:" +msgstr "Type de liste des canaux :" + +#: src/fe-gtk/setup.c:251 +msgid "Open a new tab when you receive a private message" +msgstr "Ouvrir un nouvel onglet lors de la réception de message privé" + +#: src/fe-gtk/setup.c:257 +msgid "Show channel switcher at:" +msgstr "Position de la liste des canaux :" + +#: src/fe-gtk/setup.c:332 +msgid "Show tray balloons on:" +msgstr "Quand montrer une fenêtre de notification :" + +#: src/fe-gtk/setup.c:334 +msgid "Blink tray icon on:" +msgstr "Clignoter l'icone de barre d'état" + +#: src/fe-gtk/setup.c:335 +msgid "Blink task bar on:" +msgstr "Quand faire clignoter la barre d'état :" + +#: src/fe-gtk/setup.c:336 +msgid "Make a beep sound on:" +msgstr "Quand émettre un bip : " + +#: src/fe-gtk/setup.c:338 +msgid "Enable system tray icon" +msgstr "Activer l'icone de barre d'état" + +#: src/fe-gtk/setup.c:340 +msgid "Highlighted Messages" +msgstr "Messages en surbrillance" + +#: src/fe-gtk/setup.c:341 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" +"Les messages en surbrillance sont ceux où apparait votre pseudo, mais aussi :" + +#: src/fe-gtk/setup.c:343 +msgid "Extra words to highlight:" +msgstr "Mots déclenchant une surbrillance :" + +#: src/fe-gtk/setup.c:344 +msgid "Nick names not to highlight:" +msgstr "Pseudo à ne pas mettre en surbrillance :" + +#: src/fe-gtk/setup.c:345 +msgid "Nick names to always highlight:" +msgstr "Pseudos à toujours mettre en surbrillance :" + +#: src/fe-gtk/setup.c:1144 +msgid "Open Data Folder" +msgstr "Ouvrir le dossier des données" + +#: src/fe-gtk/setup.c:1686 +msgid "Channel switcher" +msgstr "Liste des canaux" + +#: src/fe-gtk/setup.c:1993 +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 "" +"Vous ne pouvez pas placer l'arbre en haut ou en bas !\n" +"Merci de passer en mode <b>Onglets</b> dans le menu <b>Vue</b> d'abord." diff --git a/po/gl.po b/po/gl.po new file mode 100644 index 00000000..cdf7bc95 --- /dev/null +++ b/po/gl.po @@ -0,0 +1,5651 @@ +# translation of gl.po to Galego +# This file is put in the public domain. +# +# Ignacio Casal Quinteiro <nacho.resa@gmail.com>, 2005, 2006. +msgid "" +msgstr "" +"Project-Id-Version: gl\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2008-01-27 12:23+0100\n" +"PO-Revision-Date: 2006-11-03 20:27+0100\n" +"Last-Translator: Ignacio Casal Quinteiro <nacho.resa@gmail.com>\n" +"Language-Team: Galego <trasno@ceu.fi.udc.es>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: ../src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "Non se pode crear ~/.xchat2" + +#: ../src/common/cfgfiles.c:712 +msgid "I'm busy" +msgstr "Estou ocupado" + +#: ../src/common/cfgfiles.c:713 +msgid "Leaving" +msgstr "Abandonando" + +#: ../src/common/cfgfiles.c:760 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Executar o IRC como root é estúpido! Debería\n" +" crear unha conta de usuario e usala para conectarse.\n" + +#: ../src/common/dcc.c:67 +msgid "Waiting" +msgstr "Agardando" + +#. black +#: ../src/common/dcc.c:68 +msgid "Active" +msgstr "Activo" + +#. cyan +#: ../src/common/dcc.c:69 +msgid "Failed" +msgstr "Fallou" + +#. red +#: ../src/common/dcc.c:70 +msgid "Done" +msgstr "Rematado" + +#. green +#: ../src/common/dcc.c:71 ../src/fe-gtk/menu.c:797 +msgid "Connect" +msgstr "Conectar" + +#. black +#: ../src/common/dcc.c:72 +msgid "Aborted" +msgstr "Abortado" + +#: ../src/common/dcc.c:1886 ../src/common/outbound.c:2452 +#, c-format +msgid "Cannot access %s\n" +msgstr "Non se pode acceder a %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: ../src/common/dcc.c:1887 ../src/common/text.c:1164 +#: ../src/common/text.c:1202 ../src/common/text.c:1213 +#: ../src/common/text.c:1220 ../src/common/text.c:1233 +#: ../src/common/text.c:1250 ../src/common/text.c:1350 +#: ../src/common/util.c:352 +msgid "Error" +msgstr "Erro" + +#: ../src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s ofreceche \"%s\". Quere aceptar?" + +#: ../src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "Non hai DCCs activos\n" + +#: ../src/common/ignore.c:120 ../src/common/ignore.c:124 +#: ../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 +msgid "YES " +msgstr "Si " + +#: ../src/common/ignore.c:122 ../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 +msgid "NO " +msgstr "Non.." + +#: ../src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Está recibindo demasiados CTCP de %s, ignorando %s\n" + +#: ../src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "" +"Está recibindo demasiados MSG de %s, desactivando gui_auto_open_dialog.\n" + +#: ../src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s conectados\n" + +#: ../src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s desconectados\n" + +#: ../src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Non entrou en ningún canal. Tente /join #<canal>\n" + +#: ../src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Non conectado. Tente /server <equipo> [<porto>]\n" + +#: ../src/common/outbound.c:339 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Xa está marcado como ausente: %s\n" + +#: ../src/common/outbound.c:409 +msgid "Already marked back.\n" +msgstr "" + +#: ../src/common/outbound.c:1814 +msgid "I need /bin/sh to run!\n" +msgstr "Necesítase /bin/sh para executarse!\n" + +#: ../src/common/outbound.c:2185 +msgid "Commands Available:" +msgstr "Comandos dispoñibles:" + +#: ../src/common/outbound.c:2199 +msgid "User defined commands:" +msgstr "Comandos definidos polo usuario:" + +#: ../src/common/outbound.c:2215 +msgid "Plugin defined commands:" +msgstr "Compoñentes definidos polo usuario:" + +#: ../src/common/outbound.c:2226 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Escriba /HELP <comando> para máis información, ou /HELP -l" + +#: ../src/common/outbound.c:2301 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Argumento descoñecido '%s' ignorado." + +#: ../src/common/outbound.c:3235 +msgid "No such plugin found.\n" +msgstr "Non se atopou ningún complemento.\n" + +#: ../src/common/outbound.c:3240 ../src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Ese complemento négase a ser desactivado.\n" + +#: ../src/common/outbound.c:3509 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "" +"ADDBUTTON <nome> <acción>, engade un botón debaixo da lista de usuarios" + +#: ../src/common/outbound.c:3511 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, envía unha orde a todos as canles aos que se uniu" + +#: ../src/common/outbound.c:3513 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "" +"ALLCHANL <cmd>, envía un comando a todos as canles aos que está conectado" + +#: ../src/common/outbound.c:3515 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "" +"ALLSERV <cmd>, envía un comando a todos os servidores aos que está conectado" + +#: ../src/common/outbound.c:3516 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<razón>], establece súa ausencia" + +#: ../src/common/outbound.c:3517 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: ../src/common/outbound.c:3519 +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 <máscara> [<tipo de veto>], veta a todos aqueles que concorden coa " +"máscara da canle actual. Se xa están na canle isto non os expulsa (é " +"necesario ser operador da canle)" + +#: ../src/common/outbound.c:3521 +msgid "" +"Set per channel options\n" +"CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part " +"messages\n" +"CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +"CHANOPT BEEP ON|OFF - Toggle beep on message\n" +"CHANOPT TRAY ON|OFF - Toggle tray blink on message" +msgstr "" + +#: ../src/common/outbound.c:3528 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR [ALL|HISTORY], Limpa o texto da ventá actual" + +#: ../src/common/outbound.c:3529 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, Pecha a ventá/solapa actual" + +#: ../src/common/outbound.c:3532 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "" +"COUNTRY [-s] <code|wildcard>, busca o código de país, ex: au = australia" + +#: ../src/common/outbound.c:3534 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" +"CTCP <alcume> <mensaxe>, envía a mensaxe CTCP ao alcume, as mensaxes comúns " +"son VERSION e USERINFO" + +#: ../src/common/outbound.c:3536 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "" +"CYCLE [<canle>], márchase da canle actual e inmediatamente volve a entrar" + +#: ../src/common/outbound.c:3538 +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 "" +"\n" +"DCC GET <alcume> - acepta un ficheiro ofrecido\n" +"DCC SEND [-maxcps=#] <alcume> [ficheiro] - envía un ficheiro a alguén\n" +"DCC PSEND [-maxcps=#] <alcume> [ficheiro] - envía un ficheiro a alguén " +"usando o modo pasivo\n" +"DCC LIST - amosa a lista DCC\n" +"DCC CHAT <alcume> - ofrece o DCC CHAT a alguén\n" +"DCC PCHAT <alcume> - ofrece o DCC CHAT usando modo " +"pasivo\n" +"DCC CLOSE <tipo> <alcume> <ficheiro> exemplo:\n" +" /dcc close send xoándapena ficheiro.tar.gz" + +#: ../src/common/outbound.c:3550 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" +"DEHOP <alcume>, elimina o estado de semi-operador da canle ao alcume na " +"canle actual (necesita ser operador da canle)" + +#: ../src/common/outbound.c:3552 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nome>, borra un botón de debaixo da lista de usuarios" + +#: ../src/common/outbound.c:3554 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEOP <alcume>, quita o estado de operador da canle ao alcume na canle actual " +"(necesita ser operador da canle)" + +#: ../src/common/outbound.c:3556 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEVOICE <alcume>, quita o estado de voz do alcume na canle actual (necesita " +"ser operador da canle)" + +#: ../src/common/outbound.c:3557 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Desconéctase do servidor" + +#: ../src/common/outbound.c:3558 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <alcume|equipo|ip>, Busca o enderezo IP dun usuario" + +#: ../src/common/outbound.c:3559 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <texto>, Imprime texto localmente" + +#: ../src/common/outbound.c:3562 +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>, executa o comando. Se se usa a bandeira -o entón a " +"saída envíase á canle actual, se non, imprímese na caixa de texto actual" + +#: ../src/common/outbound.c:3564 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, envía o proceso SIGCONT" + +#: ../src/common/outbound.c:3567 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" +"EXECKILL [-9], mata un executable correndo na sesión actual. Se se indica -9 " +"o proceso é matado pola forza" + +#: ../src/common/outbound.c:3569 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, envía ao proceso o sinal de deterse" + +#: ../src/common/outbound.c:3570 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, envía os datos á entrada estándar do proceso" + +#: ../src/common/outbound.c:3574 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, borra a cola de envío actual do servidor" + +#: ../src/common/outbound.c:3576 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" +"GATE <equipo> [<porto>], utiliza un proxy a través dun equipo, o porto por " +"defecto é o 23" + +#: ../src/common/outbound.c:3580 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <alcume> <contrasinal>, Mata un alcume pantasma" + +#: ../src/common/outbound.c:3585 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" +"HOP <alcume>, da o estado de semi-operador ao alcume (necesita ser operador " +"da canle)" + +#: ../src/common/outbound.c:3586 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <contrasinal>, identifícate no servidor" + +#: ../src/common/outbound.c:3588 +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 <máscara> <tipos..> <opcións..>\n" +" máscara - máscara de equipos a ignorar, ex: *!*@*.aol.com\n" +" tipos - tipos de datos a ignorar, un ou todos:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" opcións - NOSAVE, QUIET" + +#: ../src/common/outbound.c:3595 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" +"INVITE <alcume> [<canle>], invita a alguén a unha canle, por omisión a canle " +"actual (necesita ser operador da canle)" + +#: ../src/common/outbound.c:3596 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <canle>, entra á canle" + +#: ../src/common/outbound.c:3598 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "" +"KICK <alcume>, expulsa ao alcume da canle actual (necesita ser operador da " +"canle)" + +#: ../src/common/outbound.c:3600 +msgid "" +"KICKBAN <nick>, bans then kicks the nick from the current channel (needs " +"chanop)" +msgstr "" +"KICKBAN <alcume>, veta e logo expulsa ao alcume da canle actual (necesita " +"ser operador da canle)" + +#: ../src/common/outbound.c:3603 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, forza unha nova comprobación de retardo" + +#: ../src/common/outbound.c:3605 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <cadea>, busca o texto no búfer" + +#: ../src/common/outbound.c:3607 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <ficheiro>, carga un complemento ou script" + +#: ../src/common/outbound.c:3610 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" +"MDEHOP, Quita masivamente o estado de semi-operador na canle actual " +"(necesita ser operador da canle)" + +#: ../src/common/outbound.c:3612 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" +"MDEOP, Quita masivamente o estado de operador na canle actual (necesita ser " +"operador da canle)" + +#: ../src/common/outbound.c:3614 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in " +"the 3rd person, like /me jumps)" +msgstr "" +"ME <acción>, envía a acción á canle actual (as accións están escritas en " +"terceira persoa, como /me jumps)" + +#: ../src/common/outbound.c:3618 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" +"MKICK, Expulsa masivamente a todos excepto a vostede na canle actual " +"(necesita ser operador da canle)" + +#: ../src/common/outbound.c:3621 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" +"MOP, Otorga masivamente o estado de operador da canle actual (necesita ser " +"operador da canle)" + +#: ../src/common/outbound.c:3622 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <alcume> <mensaxe>, envía unha mensaxe privado" + +#: ../src/common/outbound.c:3625 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, Lista os alcumes da canle actual" + +#: ../src/common/outbound.c:3627 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <alcume> <mensaxe>, Envía unha noticia CTCP" + +#: ../src/common/outbound.c:3628 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <nome do equipo> [<porto>]" + +#: ../src/common/outbound.c:3629 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <alcume>, establece seu alcume" + +#: ../src/common/outbound.c:3632 +msgid "" +"NOTICE <nick/channel> <message>, sends a notice. Notices are a type of " +"message that should be auto reacted to" +msgstr "" +"NOTICE <alcume/canle> <mensaxe>, envía unha noticia. As noticias son un tipo " +"de mensaxe que debería ser auto publicado" + +#: ../src/common/outbound.c:3634 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" +"NOTIFY [-n network1[,network2,...]] [<alcume>], lista súa lista de " +"notificacións ou agrega a alguén a ela" + +#: ../src/common/outbound.c:3636 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" +"OP <alcume>, otorga o estado de operador da canle ao alcume (necesita ser " +"operador da canle)" + +#: ../src/common/outbound.c:3638 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<canle>] [<razón>], abandona a canle, por defecto a canle actual" + +#: ../src/common/outbound.c:3640 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <alcume | canle>, Envía pings CTCP ao alcume ou canle" + +#: ../src/common/outbound.c:3642 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "" +"QUERY [-nofocus] <alcume>, abre unha nova ventá privada de mensaxes hacia " +"alguén" + +#: ../src/common/outbound.c:3644 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<razón>], desconéctase do servidor actual" + +#: ../src/common/outbound.c:3646 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <texto>, envía o texto en formato chan hacia o servidor" + +#: ../src/common/outbound.c:3649 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /" +"RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" +"RECONNECT [-ssl] [<equipo>] [<porto>] [<contrasinal>], Pode ser chamado só " +"como /RECONNECT para reconectarse ao servidor actual ou con /RECONNECT ALL " +"para reconectarse a todos os servidores abertos" + +#: ../src/common/outbound.c:3652 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" +"RECONNECT [<equipo>] [<porto>] [<contrasinal>], Pode ser chamado só como /" +"RECONNECT para reconectarse ao servidor actual ou con /RECONNECT ALL para " +"reconectarse a todos os servidores abertos" + +#: ../src/common/outbound.c:3654 +msgid "" +"RECV <text>, send raw data to xchat, as if it was received from the irc " +"server" +msgstr "" +"RECV <text>, envía datos en bruto hacia xchat como se estos fosen recibidos " +"desde o servidor IRC" + +#: ../src/common/outbound.c:3657 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <texto>, envía texto hacia un obxecto da ventá actual" + +#: ../src/common/outbound.c:3658 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<ficheiro>]" + +#: ../src/common/outbound.c:3661 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <equipo> <porto> <canle>, Conéctao e entra nunha canle" + +#: ../src/common/outbound.c:3664 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <equipo> <porto> <canle>, Conéctao e entra nunha canle" + +#: ../src/common/outbound.c:3668 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" +"SERVER [-ssl] <equipo> [<porto>] [<contrasinal>], conéctao ao servidor, o " +"porto por defecto é 6667 para conexións normais e 9999 para conexións ssl" + +#: ../src/common/outbound.c:3671 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" +"SERVER <equipo> [<porto>] [<contrasinal>], conéctao ao servidor, por defecto " +"o porto é 6667" + +#: ../src/common/outbound.c:3673 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-or] [-quiet] <variable> [<valor>]" + +#: ../src/common/outbound.c:3674 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<posición>" + +#: ../src/common/outbound.c:3679 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "" +"TOPIC [<tópico>], estable o tópico se se provee un, se non mostra o tópico " +"actual " + +#: ../src/common/outbound.c:3681 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: ../src/common/outbound.c:3688 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <máscara> [<máscara>...], reincorpora as máscaras especificadas." + +#: ../src/common/outbound.c:3689 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <máscara> [QUIET]" + +#: ../src/common/outbound.c:3690 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nome>, desactiva un complemento ou script" + +#: ../src/common/outbound.c:3691 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, abre unha URL no seu navegador" + +#: ../src/common/outbound.c:3693 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "" +"USELECT [-a] [-s] <alcume1> <alcume2> etc, resalta o(s) alcume(s) na lista " +"de usuarios da canle" + +#: ../src/common/outbound.c:3696 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" +"VOICE <alcume>, otorga o estado de voz a alguén (necesita ser operador da " +"canle)" + +#: ../src/common/outbound.c:3698 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <mensaxe>, escribe a mensaxe a todos as canles" + +#: ../src/common/outbound.c:3700 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" +"WALLCHOP <mensaxe>, envía a mensaxe a todos os operadores da canle na canle " +"actual" + +#: ../src/common/outbound.c:3733 +#, c-format +msgid "Usage: %s\n" +msgstr "Uso: %s\n" + +#: ../src/common/outbound.c:3738 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Non hai axuda dispoñible para ese comando.\n" + +#: ../src/common/outbound.c:3744 +msgid "No such command.\n" +msgstr "Non existe ese comando.\n" + +#: ../src/common/outbound.c:4074 +msgid "Bad arguments for user command.\n" +msgstr "Argumentos erróneos para o comando de usuario.\n" + +#: ../src/common/outbound.c:4230 +msgid "Too many recursive usercommands, aborting." +msgstr "Demasiados comandos recursivos de usuario, abortando." + +#: ../src/common/outbound.c:4307 +msgid "Unknown Command. Try /help\n" +msgstr "Comando descoñecido. Tente con /help\n" + +#: ../src/common/plugin.c:356 ../src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "" +"Non hai o símbolo xchat_plugin_init; é realmente un complemento de xchat?" + +#: ../src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Está seguro de que é un servidor e porto SSL?\n" + +#: ../src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Non se pode resolver o nome do equipo %s\n" +"Comprobe súa configuración de IP!\n" + +#: ../src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "Fallou o proxy traversal.\n" + +#: ../src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Ciclando ao seguinte servidor en %s...\n" + +#: ../src/common/servlist.c:1074 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" +"Aviso: O conxunto de caracteres \"%s\" é descoñecido. Non se aplicará " +"conversión para a rede %s." + +#: ../src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 engadido á lista de notificacións." + +#: ../src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Lista de vetados:%C19 $4%C20 $2%C21 $3" + +#: ../src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tNon se pode entrar%C26 %B$1 %O(Está vetado)." + +#: ../src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 é agora coñecido como $2" + +#: ../src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 veta a $2" + +#: ../src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tCanle $1 creada en $2" + +#: ../src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O quita o estado de semi-operador da canle a %C26 $2" + +#: ../src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O quita o estado de operador da canle a%C26 $2" + +#: ../src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O quita voz a%C26 $2" + +#: ../src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 establece a $2 como exento" + +#: ../src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O da estado de semi-operador da canle a%C26 $2" + +#: ../src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 invita a $2" + +#: ../src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UCanle Usuarios Tópico" + +#: ../src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 establece modo $2$3 $4" + +#: ../src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Canle $1 modos: $2" + +#: ../src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O da estado de operador de canle a%C26 $2" + +#: ../src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 quita a exención a $2" + +#: ../src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 quieta a invitación a $2" + +#: ../src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 quita a palabra clave da canle" + +#: ../src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 quita o límite de usuarios" + +#: ../src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 establece palabra clave da canle como $2" + +#: ../src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 establece límite da canle a $2" + +#: ../src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 quita o veto a $2" + +#: ../src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O dalle voz a%C26 $2" + +#: ../src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Conectado. Agora rexistrándose..." + +#: ../src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Conectando a $1 ($2) porto $3%O..." + +#: ../src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Conexión fallida. Erro: $1" + +#: ../src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tRecibiuse un CTCP $1 de $2" + +#: ../src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tRecibiuse un CTCP $1 de $2 (a $3)" + +#: ../src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: ../src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tRecibiuse un son CTCP $1 de $2" + +#: ../src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tRecibiuse un son CTCP $1 de $2 (a $3)" + +#: ../src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC CHAT a %C26$1%O abortada." + +#: ../src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tConexión para CHAT DCC establecida con %C26$1 %C30[%O$2%C30]" + +#: ../src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tCHAT DCC a %C26$1%O lost ($4)." + +#: ../src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tRecibiuse unha oferta de CHAT DCC de $1" + +#: ../src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tOfrecendo CHAT DCC a $1" + +#: ../src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tXa está ofrecendo un CHAT a $1" + +#: ../src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tO intento de conexión DCC $1 con%C26 $2%O fallou (erro=$3)." + +#: ../src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tRecibiu '$1%O' de $2" + +#: ../src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Tipo A/De Estado Tamaño Pos Ficheiro " + +#: ../src/common/textevents.h:147 +msgid "" +"%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O" +"$tContents of packet: $2" +msgstr "" +"%C22*%O$tRecibiu unha petición DCC errónea de %C26$1%O.%010%C22*%O$tContidos " +"do paquete: $2" + +#: ../src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tOfrece%C26 $1%O a%C26 $2" + +#: ../src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tNon existe tal ofrecemento DCC." + +#: ../src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tRecepción DCC%C26 $2%O para%C26 $1%O abortado." + +#: ../src/common/textevents.h:159 +msgid "" +"%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "" +"%C22*%O$tRecepción DCC%C26 $1%O de%C26 $3%O completada %C30[%C26$4%O cps%" +"C30]%O." + +#: ../src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "" +"%C22*%O$tConexión para recepción DCC establecida con%C26 $1 %C30[%O$2%C30]" + +#: ../src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tRecepción DCC%C26 $1%O de%C26 $3%O fallou ($4)." + +#: ../src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tRecepción DCC: Non se pode abrir $1 para escritura ($2)." + +#: ../src/common/textevents.h:171 +msgid "" +"%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "" +"%C22*%O$tO ficheiro%C26 $1%C xa existe, gardándoo como%C26 $2%O no seu lugar." + +#: ../src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Opuido retomar%C26 $2 %Cde%C26 $3%C." + +#: ../src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tEnvío DCC%C26 $2%O a%C26 $1%O abortado." + +#: ../src/common/textevents.h:180 +msgid "" +"%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "" +"%C22*%O$tEnvío DCC%C26 $1%O a%C26 $2%O completado %C30[%C26$3%O cps%C30]%O." + +#: ../src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tConexión para envío DCC establecida con%C26 $1 %C30[%O$2%C30]" + +#: ../src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tO envío DCC%C26 $1%O a%C26 $2%O fallou. $3" + +#: ../src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Oofreceu%C26 $2 %O(%C26$3 %Obytes)" + +#: ../src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oa%C26 $3 %Cparouse - abortando." + +#: ../src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "" +"%C22*%O$tDCC $1%C26 $2 %Opara%C26 $3 %Oagotou o tempo de espera - abortando." + +#: ../src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 borrado da lista de notificacións." + +#: ../src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tDesconectado ($1)." + +#: ../src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tAtopouse súa IP: [$1]" + +#: ../src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O engadido á lista de ignorados." + +#: ../src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Ignorar a %C26$1%O cambiou." + +#: ../src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: ../src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Máscara PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: ../src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O quitouse da lista de ignorados." + +#: ../src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " A lista de ignorados está baleira." + +#: ../src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tNon pode entrar%C26 %B$1 %O(Canle só para invitados)." + +#: ../src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tFoi invitado a%C26 $1%O por%C26 $2%C (%C26$3%C)" + +#: ../src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) entrou en $2" + +#: ../src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tNon pode entrar%C26 %B$1 %O(Requírese contrasinal)." + +#: ../src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 botou fora a $2 de $3 ($4%O%C21)" + +#: ../src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tFoi eliminado por $1 ($2%O%C22)" + +#: ../src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22Saltou a mensaxe do día (MOTD)." + +#: ../src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 xa está en uso. Reintentando con $2..." + +#: ../src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tO alcume xa está en uso. Use /NICK para tentalo con outro." + +#: ../src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tNon existe ese DCC." + +#: ../src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tNon hai ningún proceso en execución actualmente" + +#: ../src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tA lista de notificacións está baleira." + +#: ../src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Lista de notificacións " + +#: ../src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 usuarios na lista de notificacións." + +#: ../src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tNotificación: $1 está desconectado ($3)." + +#: ../src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tNotificación: $1 está conectado ($3)." + +#: ../src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) abandonou $3" + +#: ../src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) abandonou $3 (%O%C23%B%B$4%O%C23)" + +#: ../src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tResposta ao ping de $1: $2 segundo(s)" + +#: ../src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tNon houbo resposta ao ping en $1 seconds, desconectando." + +#: ../src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tXa hai un proceso en execución" + +#: ../src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 marchouse (%O%C23%B%B$2%O%C23)" + +#: ../src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 establece modos%B %C30[%O$2%B%C30]" + +#: ../src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Mensaxes dos operadores%C28-%O$t$2" + +#: ../src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tBuscando número de IP para%C26 $1%O..." + +#: ../src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Conectado." + +#: ../src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Buscando $1" + +#: ../src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tDeteuse o anterior intento de conexión (pid=$1)" + +#: ../src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29O tópico para $1%C %C29é: $2" + +#: ../src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 cambiou o tópico a: $2" + +#: ../src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Tópico para $1%C %C29establecido por $2%C %C29en $3" + +#: ../src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tEquipo descoñecido. Equivocouse?" + +#: ../src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tNon pode entrar%C26 %B$1 %O(Chegouse ao límite de usuarios)." + +#: ../src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Usuarios en $1:%C $2" + +#: ../src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: ../src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cestá ausente %C30(%O$2%O%C30)" + +#: ../src/common/textevents.h:366 ../src/common/textevents.h:372 +#: ../src/common/textevents.h:387 ../src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: ../src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OFin da lista WHOIS." + +#: ../src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O inactivo%C26 $2" + +#: ../src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O inactivo%C26 $2%O, entrou:%C26 $3" + +#: ../src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: ../src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "" +"%C22*%O$t%C28[%O$1%C28] %Overdadeiro usuario@equipo%C27 $2%O, verdadeira IP%" +"C27 $3" + +#: ../src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Falando agora a $2" + +#: ../src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tBotouselle de $2 por $3 ($4%O%C23)" + +#: ../src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tAbandonou a canle $3" + +#: ../src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tAbandonaste a canle $3 (%O%C23%B%B$4%O%C23)" + +#: ../src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tEstá invitado%C26 $1%O a%C26 $2%O (%C26$3%O)" + +#: ../src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tEres coñecido agora como $2" + +#. get rid of the \n +#: ../src/common/text.c:287 +msgid "Loaded log from" +msgstr "Rexistro cargado desde" + +#: ../src/common/text.c:305 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** FINALIZANDO CONEXIÓN EN %s\n" + +#: ../src/common/text.c:514 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** INICIANDO CONEXIÓN EN %s\n" + +#: ../src/common/text.c:533 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Non se pode abrir o ficheiro(s) de rexistro para escritura. Comprobe os\n" +" permisos de %s/xchatlogs" + +#: ../src/common/text.c:871 +msgid "Left message" +msgstr "Mensaxe de ausencia" + +#: ../src/common/text.c:872 +msgid "Right message" +msgstr "A mensaxe" + +#: ../src/common/text.c:876 +msgid "The nick of the joining person" +msgstr "O alcume da persoa que entra" + +#: ../src/common/text.c:877 +msgid "The channel being joined" +msgstr "A canle á que está entrando" + +#: ../src/common/text.c:878 ../src/common/text.c:925 ../src/common/text.c:976 +msgid "The host of the person" +msgstr "O equipo da persoa" + +#: ../src/common/text.c:882 ../src/common/text.c:888 ../src/common/text.c:895 +#: ../src/common/text.c:1083 ../src/common/text.c:1090 +#: ../src/common/text.c:1095 ../src/common/text.c:1100 +#: ../src/common/text.c:1105 ../src/common/text.c:1111 +#: ../src/common/text.c:1116 ../src/common/text.c:1120 +#: ../src/common/text.c:1126 ../src/common/text.c:1132 +#: ../src/common/text.c:1178 ../src/common/text.c:1189 +#: ../src/common/text.c:1194 ../src/common/text.c:1199 +#: ../src/common/text.c:1208 ../src/common/text.c:1219 +#: ../src/common/text.c:1226 ../src/common/text.c:1232 +#: ../src/common/text.c:1237 ../src/common/text.c:1242 +#: ../src/common/text.c:1249 ../src/common/text.c:1255 +#: ../src/common/text.c:1261 ../src/common/text.c:1266 +#: ../src/common/text.c:1271 ../src/common/text.c:1275 +#: ../src/common/text.c:1281 ../src/common/text.c:1289 +#: ../src/common/text.c:1323 ../src/common/text.c:1328 +msgid "Nickname" +msgstr "Alcume" + +#: ../src/common/text.c:883 +msgid "The action" +msgstr "A acción" + +#: ../src/common/text.c:884 ../src/common/text.c:890 +msgid "Mode char" +msgstr "Modo carácter" + +#: ../src/common/text.c:889 +msgid "The text" +msgstr "O texto" + +#: ../src/common/text.c:891 ../src/common/text.c:897 +msgid "Identified text" +msgstr "Texto de identificación" + +#: ../src/common/text.c:896 ../src/common/text.c:953 ../src/common/text.c:959 +msgid "The message" +msgstr "A mensaxe" + +#: ../src/common/text.c:901 ../src/common/text.c:963 +msgid "Old nickname" +msgstr "Alcume antigo" + +#: ../src/common/text.c:902 ../src/common/text.c:964 +msgid "New nickname" +msgstr "Novo alcume" + +#: ../src/common/text.c:906 +msgid "Nick of person who changed the topic" +msgstr "Alcume da persoa que cambiou o tópico" + +#: ../src/common/text.c:907 ../src/common/text.c:913 +#: ../src/fe-gtk/chanlist.c:756 ../src/fe-gtk/chanlist.c:859 +msgid "Topic" +msgstr "Tópico" + +#: ../src/common/text.c:908 ../src/common/text.c:912 ../src/common/text.c:1343 +#: ../src/fe-gtk/chanlist.c:754 ../src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Canle" + +#: ../src/common/text.c:917 ../src/common/text.c:970 +msgid "The nickname of the kicker" +msgstr "O alcume do que expulsa" + +#: ../src/common/text.c:918 ../src/common/text.c:968 +msgid "The person being kicked" +msgstr "A persoa que está sendo expulsada" + +#: ../src/common/text.c:919 ../src/common/text.c:926 ../src/common/text.c:930 +#: ../src/common/text.c:935 ../src/common/text.c:969 ../src/common/text.c:977 +#: ../src/common/text.c:984 +msgid "The channel" +msgstr "A canle" + +#: ../src/common/text.c:920 ../src/common/text.c:971 ../src/common/text.c:978 +msgid "The reason" +msgstr "A razón" + +#: ../src/common/text.c:924 ../src/common/text.c:975 +msgid "The nick of the person leaving" +msgstr "O alcume da persoa que abandona" + +#: ../src/common/text.c:931 ../src/common/text.c:937 +msgid "The time" +msgstr "O tempo" + +#: ../src/common/text.c:936 +msgid "The creator" +msgstr "O creador" + +#: ../src/common/text.c:941 ../src/fe-gtk/dccgui.c:763 +#: ../src/fe-gtk/dccgui.c:994 +msgid "Nick" +msgstr "Alcume" + +#: ../src/common/text.c:942 ../src/common/text.c:1195 +msgid "Reason" +msgstr "Razón" + +#: ../src/common/text.c:943 ../src/common/text.c:1085 +#: ../src/common/text.c:1168 +msgid "Host" +msgstr "Equipo" + +#: ../src/common/text.c:947 ../src/common/text.c:952 ../src/common/text.c:957 +msgid "Who it's from" +msgstr "De quén ven" + +#: ../src/common/text.c:948 +msgid "The time in x.x format (see below)" +msgstr "O tempo no formato x.x (vexa debaixo)" + +#: ../src/common/text.c:958 ../src/common/text.c:995 +msgid "The Channel it's going to" +msgstr "A canle vaise a" + +#: ../src/common/text.c:982 +msgid "The sound" +msgstr "O son" + +#: ../src/common/text.c:983 ../src/common/text.c:989 ../src/common/text.c:994 +msgid "The nick of the person" +msgstr "O alcume da persoa" + +#: ../src/common/text.c:988 ../src/common/text.c:993 +msgid "The CTCP event" +msgstr "O evento CTCP" + +#: ../src/common/text.c:999 +msgid "The nick of the person who set the key" +msgstr "O alcume da persoa que establece a clave" + +#: ../src/common/text.c:1000 +msgid "The key" +msgstr "A clave" + +#: ../src/common/text.c:1004 +msgid "The nick of the person who set the limit" +msgstr "O alcume da persoa que establece o límite" + +#: ../src/common/text.c:1005 +msgid "The limit" +msgstr "O límite" + +#: ../src/common/text.c:1009 +msgid "The nick of the person who did the op'ing" +msgstr "O alcume da persoa que otorgou os permisos de operador" + +#: ../src/common/text.c:1010 +msgid "The nick of the person who has been op'ed" +msgstr "O alcume da persoa que foi convertida en operador" + +#: ../src/common/text.c:1014 +msgid "The nick of the person who has been halfop'ed" +msgstr "O alcume da persoa que foi convertida en semi-operador" + +#: ../src/common/text.c:1015 +msgid "The nick of the person who did the halfop'ing" +msgstr "O alcume da persoa que otorgou os permisos de semi-operador" + +#: ../src/common/text.c:1019 +msgid "The nick of the person who did the voice'ing" +msgstr "O alcume da persoa que otorgou os permisos de voz" + +#: ../src/common/text.c:1020 +msgid "The nick of the person who has been voice'ed" +msgstr "O alcume da persoa que foi convertida en voz" + +#: ../src/common/text.c:1024 +msgid "The nick of the person who did the banning" +msgstr "O alcume da persoa que realizou o veto (banning)" + +#: ../src/common/text.c:1025 ../src/common/text.c:1052 +msgid "The ban mask" +msgstr "A máscara de vetos" + +#: ../src/common/text.c:1029 +msgid "The nick who removed the key" +msgstr "O alcume de quen eliminou a clave" + +#: ../src/common/text.c:1033 +msgid "The nick who removed the limit" +msgstr "O alcume de quen eliminou o límite" + +#: ../src/common/text.c:1037 +msgid "The nick of the person of did the deop'ing" +msgstr "O alcume da persoa que revocou os permisos de operador" + +#: ../src/common/text.c:1038 +msgid "The nick of the person who has been deop'ed" +msgstr "O alcume da persoa á que se lle quitou o permiso de operador" + +#: ../src/common/text.c:1041 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "O alcume da persoa que quitou os permisos de semi-operador" + +#: ../src/common/text.c:1042 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "O alcume da persoa á que se lle quitou os permisos de semi-operador" + +#: ../src/common/text.c:1046 +msgid "The nick of the person of did the devoice'ing" +msgstr "O alcume da persoa que revocou os permisos de voz" + +#: ../src/common/text.c:1047 +msgid "The nick of the person who has been devoice'ed" +msgstr "O alcume da persoa á que se lle quitaron os permisos de voz" + +#: ../src/common/text.c:1051 +msgid "The nick of the person of did the unban'ing" +msgstr "O alcume da persoa que revocou o veto" + +#: ../src/common/text.c:1056 +msgid "The nick of the person who did the exempt" +msgstr "O alcume da persoa que otorgou a execpción" + +#: ../src/common/text.c:1057 ../src/common/text.c:1062 +msgid "The exempt mask" +msgstr "A máscara de exención" + +#: ../src/common/text.c:1061 +msgid "The nick of the person removed the exempt" +msgstr "O alcume da persoa que quitou a exención" + +#: ../src/common/text.c:1066 +msgid "The nick of the person who did the invite" +msgstr "O alcume da persoa que realizou a invitación" + +#: ../src/common/text.c:1067 ../src/common/text.c:1072 +msgid "The invite mask" +msgstr "A máscara de invitación" + +#: ../src/common/text.c:1071 +msgid "The nick of the person removed the invite" +msgstr "O alcume da persoa que eliminou a invitación" + +#: ../src/common/text.c:1076 +msgid "The nick of the person setting the mode" +msgstr "O alcume da persoa que estableceu o modo" + +#: ../src/common/text.c:1077 +msgid "The mode's sign (+/-)" +msgstr "O signo do modo (+/-)" + +#: ../src/common/text.c:1078 +msgid "The mode letter" +msgstr "A letra do modo" + +#: ../src/common/text.c:1079 +msgid "The channel it's being set on" +msgstr "A canle está sendo configurada" + +#: ../src/common/text.c:1084 +msgid "Username" +msgstr "Nome de usuario" + +#: ../src/common/text.c:1086 +msgid "Full name" +msgstr "Nome completo" + +#: ../src/common/text.c:1091 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Membro especial da canle/\"é un operador de IRC\"" + +#: ../src/common/text.c:1096 +msgid "Server Information" +msgstr "Información do servidor" + +#: ../src/common/text.c:1101 ../src/common/text.c:1106 +msgid "Idle time" +msgstr "Tempo inactivo" + +#: ../src/common/text.c:1107 +msgid "Signon time" +msgstr "Tempo de conexión" + +#: ../src/common/text.c:1112 +msgid "Away reason" +msgstr "Razón de ausencia" + +#: ../src/common/text.c:1121 ../src/common/text.c:1127 +#: ../src/common/text.c:1135 ../src/common/text.c:1315 +msgid "Message" +msgstr "Mensaxe" + +#: ../src/common/text.c:1128 +msgid "Account" +msgstr "Conta" + +#: ../src/common/text.c:1133 +msgid "Real user@host" +msgstr "Verdadeiro usuario@equipo" + +#: ../src/common/text.c:1134 +msgid "Real IP" +msgstr "Verdadeira IP" + +#: ../src/common/text.c:1139 ../src/common/text.c:1148 +#: ../src/common/text.c:1154 ../src/common/text.c:1184 +#: ../src/common/text.c:1338 +msgid "Channel Name" +msgstr "Nome da canle" + +#: ../src/common/text.c:1143 ../src/common/text.c:1301 +#: ../src/fe-gtk/menu.c:1240 ../src/fe-gtk/menu.c:1428 +#: ../src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "Texto" + +#: ../src/common/text.c:1144 ../src/common/text.c:1150 +#: ../src/common/text.c:1179 ../src/common/text.c:1297 +#: ../src/common/text.c:1339 +msgid "Server Name" +msgstr "Nome do servidor" + +#: ../src/common/text.c:1149 +msgid "Nick of person who invited you" +msgstr "Alcume da persoa que lle invitou" + +#: ../src/common/text.c:1155 ../src/fe-gtk/chanlist.c:755 +msgid "Users" +msgstr "Usuarios" + +#: ../src/common/text.c:1159 +msgid "Nickname in use" +msgstr "Alcume en uso" + +#: ../src/common/text.c:1160 +msgid "Nick being tried" +msgstr "Tentando usar o alcume" + +#: ../src/common/text.c:1169 ../src/common/text.c:1305 +msgid "IP" +msgstr "IP" + +#: ../src/common/text.c:1170 ../src/common/text.c:1201 +msgid "Port" +msgstr "Porto" + +#: ../src/common/text.c:1180 ../src/fe-gtk/notifygui.c:139 +#: ../src/fe-gtk/setup.c:1696 +msgid "Network" +msgstr "Rede" + +#: ../src/common/text.c:1185 ../src/common/text.c:1190 +msgid "Modes string" +msgstr "Cadea de modos" + +#: ../src/common/text.c:1200 ../src/common/text.c:1238 +#: ../src/common/text.c:1243 ../src/common/text.c:1284 +msgid "IP address" +msgstr "Enderezo IP" + +#: ../src/common/text.c:1206 ../src/common/text.c:1231 +msgid "DCC Type" +msgstr "Tipo DCC" + +#: ../src/common/text.c:1207 ../src/common/text.c:1212 +#: ../src/common/text.c:1217 ../src/common/text.c:1224 +#: ../src/common/text.c:1244 ../src/common/text.c:1248 +#: ../src/common/text.c:1254 ../src/common/text.c:1260 +#: ../src/common/text.c:1267 ../src/common/text.c:1276 +#: ../src/common/text.c:1282 +msgid "Filename" +msgstr "Nome de ficheiro" + +#: ../src/common/text.c:1218 ../src/common/text.c:1225 +msgid "Destination filename" +msgstr "Nome do ficheiro de destino" + +#: ../src/common/text.c:1227 ../src/common/text.c:1256 +msgid "CPS" +msgstr "CPS" + +#: ../src/common/text.c:1262 +msgid "Pathname" +msgstr "Nome da ruta" + +#: ../src/common/text.c:1277 ../src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "Posición" + +#: ../src/common/text.c:1283 ../src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "Tamaño" + +#: ../src/common/text.c:1288 +msgid "DCC String" +msgstr "Cadea DCC" + +#: ../src/common/text.c:1293 +msgid "Number of notify items" +msgstr "Número de elementos de notificación" + +#: ../src/common/text.c:1309 +msgid "Old Filename" +msgstr "Nome anterior do ficheiro" + +#: ../src/common/text.c:1310 +msgid "New Filename" +msgstr "Nome novo do ficheiro" + +#: ../src/common/text.c:1314 +msgid "Receiver" +msgstr "Receptor" + +#: ../src/common/text.c:1319 +msgid "Hostmask" +msgstr "Máscara de equipo" + +#: ../src/common/text.c:1324 +msgid "Hostname" +msgstr "Nome de equipo" + +#: ../src/common/text.c:1329 +msgid "The Packet" +msgstr "O paquete" + +#: ../src/common/text.c:1333 +msgid "Seconds" +msgstr "Segundos" + +#: ../src/common/text.c:1337 +msgid "Nick of person who have been invited" +msgstr "Alcume da persoa que foi invitada" + +#: ../src/common/text.c:1344 +msgid "Banmask" +msgstr "Máscara de veto" + +#: ../src/common/text.c:1345 +msgid "Who set the ban" +msgstr "Quen estableceu o veto" + +#: ../src/common/text.c:1346 +msgid "Ban time" +msgstr "Tempo de veto" + +#: ../src/common/text.c:1386 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Erro ao analizar o evento %s.\n" +"Cargando o predeterminado." + +#: ../src/common/text.c:2079 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Non se pode ler o ficheiro de son:\n" +"%s" + +#: ../src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "Porto pechado no equipo remoto" + +#: ../src/common/util.c:301 +msgid "Connection refused" +msgstr "Conexión rechazada" + +#: ../src/common/util.c:304 +msgid "No route to host" +msgstr "Non hai ruta hacia o equipo" + +#: ../src/common/util.c:306 +msgid "Connection timed out" +msgstr "Tempo de espera da conexión agotado" + +#: ../src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Non se pode asignar ese enderezo" + +#: ../src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Conexión reiniciada polo par" + +#: ../src/common/util.c:839 +msgid "Ascension Island" +msgstr "Isla Ascensión" + +#: ../src/common/util.c:840 +msgid "Andorra" +msgstr "Andorra" + +#: ../src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "Emiratos Árabes Unidos" + +#: ../src/common/util.c:842 +msgid "Afghanistan" +msgstr "Afganistán" + +#: ../src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "Antiga e Barbuda" + +#: ../src/common/util.c:844 +msgid "Anguilla" +msgstr "Anguila" + +#: ../src/common/util.c:845 +msgid "Albania" +msgstr "Albania" + +#: ../src/common/util.c:846 +msgid "Armenia" +msgstr "Armenia" + +#: ../src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "Antilas holandesas" + +#: ../src/common/util.c:848 +msgid "Angola" +msgstr "Angola" + +#: ../src/common/util.c:849 +msgid "Antarctica" +msgstr "Antártida" + +#: ../src/common/util.c:850 +msgid "Argentina" +msgstr "Arxentina" + +#: ../src/common/util.c:851 +msgid "Reverse DNS" +msgstr "DNS inverso" + +#: ../src/common/util.c:852 +msgid "American Samoa" +msgstr "Samoa Americana" + +#: ../src/common/util.c:853 +msgid "Austria" +msgstr "Austria" + +#: ../src/common/util.c:854 +msgid "Nato Fiel" +msgstr "Fiel á OTAN" + +#: ../src/common/util.c:855 +msgid "Australia" +msgstr "Australia" + +#: ../src/common/util.c:856 +msgid "Aruba" +msgstr "Aruba" + +#: ../src/common/util.c:857 +msgid "Aland Islands" +msgstr "Islas Aland" + +#: ../src/common/util.c:858 +msgid "Azerbaijan" +msgstr "Azerbaián" + +#: ../src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia e Herzegovina" + +#: ../src/common/util.c:860 +msgid "Barbados" +msgstr "Barbados" + +#: ../src/common/util.c:861 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: ../src/common/util.c:862 +msgid "Belgium" +msgstr "Bélxica" + +#: ../src/common/util.c:863 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: ../src/common/util.c:864 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: ../src/common/util.c:865 +msgid "Bahrain" +msgstr "Bahrain" + +#: ../src/common/util.c:866 +msgid "Burundi" +msgstr "Burundi" + +#: ../src/common/util.c:867 +msgid "Businesses" +msgstr "Negocios" + +#: ../src/common/util.c:868 +msgid "Benin" +msgstr "Benin" + +#: ../src/common/util.c:869 +msgid "Bermuda" +msgstr "Bermuda" + +#: ../src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: ../src/common/util.c:871 +msgid "Bolivia" +msgstr "Bolivia" + +#: ../src/common/util.c:872 +msgid "Brazil" +msgstr "Brasil" + +#: ../src/common/util.c:873 +msgid "Bahamas" +msgstr "Bahamas" + +#: ../src/common/util.c:874 +msgid "Bhutan" +msgstr "Bután" + +#: ../src/common/util.c:875 +msgid "Bouvet Island" +msgstr "Isla Bouvet" + +#: ../src/common/util.c:876 +msgid "Botswana" +msgstr "Botswana" + +#: ../src/common/util.c:877 +msgid "Belarus" +msgstr "Bielorusia" + +#: ../src/common/util.c:878 +msgid "Belize" +msgstr "Belice" + +#: ../src/common/util.c:879 +msgid "Canada" +msgstr "Canadá" + +#: ../src/common/util.c:880 +msgid "Cocos Islands" +msgstr "Islas Cocos" + +#: ../src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "República Democrática do Congo" + +#: ../src/common/util.c:882 +msgid "Central African Republic" +msgstr "República Centro Africana" + +#: ../src/common/util.c:883 +msgid "Congo" +msgstr "Congo" + +#: ../src/common/util.c:884 +msgid "Switzerland" +msgstr "Suiza" + +#: ../src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "Costa d'Ivoire" + +#: ../src/common/util.c:886 +msgid "Cook Islands" +msgstr "Islas Cook" + +#: ../src/common/util.c:887 +msgid "Chile" +msgstr "Chile" + +#: ../src/common/util.c:888 +msgid "Cameroon" +msgstr "Camerón" + +#: ../src/common/util.c:889 +msgid "China" +msgstr "China" + +#: ../src/common/util.c:890 +msgid "Colombia" +msgstr "Colombia" + +#: ../src/common/util.c:891 +msgid "Internic Commercial" +msgstr "Internic Commercial" + +#: ../src/common/util.c:892 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: ../src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "Serbia e Montenegro" + +#: ../src/common/util.c:894 +msgid "Cuba" +msgstr "Cuba" + +#: ../src/common/util.c:895 +msgid "Cape Verde" +msgstr "Cabo Verde" + +#: ../src/common/util.c:896 +msgid "Christmas Island" +msgstr "Isla Navidade" + +#: ../src/common/util.c:897 +msgid "Cyprus" +msgstr "Chipre" + +#: ../src/common/util.c:898 +msgid "Czech Republic" +msgstr "República Checa" + +#: ../src/common/util.c:899 +msgid "Germany" +msgstr "Alemania" + +#: ../src/common/util.c:900 +msgid "Djibouti" +msgstr "Dibuti" + +#: ../src/common/util.c:901 +msgid "Denmark" +msgstr "Dinamarca" + +#: ../src/common/util.c:902 +msgid "Dominica" +msgstr "Dominica" + +#: ../src/common/util.c:903 +msgid "Dominican Republic" +msgstr "República Dominicana" + +#: ../src/common/util.c:904 +msgid "Algeria" +msgstr "Arxelia" + +#: ../src/common/util.c:905 +msgid "Ecuador" +msgstr "Ecuador" + +#: ../src/common/util.c:906 +msgid "Educational Institution" +msgstr "Institución Educativa" + +#: ../src/common/util.c:907 +msgid "Estonia" +msgstr "Estonia" + +#: ../src/common/util.c:908 +msgid "Egypt" +msgstr "Exipto" + +#: ../src/common/util.c:909 +msgid "Western Sahara" +msgstr "Sahara Occidental" + +#: ../src/common/util.c:910 +msgid "Eritrea" +msgstr "Eritrea" + +#: ../src/common/util.c:911 +msgid "Spain" +msgstr "España" + +#: ../src/common/util.c:912 +msgid "Ethiopia" +msgstr "Etiopía" + +#: ../src/common/util.c:913 +msgid "European Union" +msgstr "Unión Europea" + +#: ../src/common/util.c:914 +msgid "Finland" +msgstr "Finlandia" + +#: ../src/common/util.c:915 +msgid "Fiji" +msgstr "Fixi" + +#: ../src/common/util.c:916 +msgid "Falkland Islands" +msgstr "Islas Malvinas" + +#: ../src/common/util.c:917 +msgid "Micronesia" +msgstr "Micronesia" + +#: ../src/common/util.c:918 +msgid "Faroe Islands" +msgstr "Islas Feroe" + +#: ../src/common/util.c:919 +msgid "France" +msgstr "Francia" + +#: ../src/common/util.c:920 +msgid "Gabon" +msgstr "Gabón" + +#: ../src/common/util.c:921 +msgid "Great Britain" +msgstr "Gran Bretaña" + +#: ../src/common/util.c:922 +msgid "Grenada" +msgstr "Granada" + +#: ../src/common/util.c:923 +msgid "Georgia" +msgstr "Xeorxia" + +#: ../src/common/util.c:924 +msgid "French Guiana" +msgstr "Guaiana Francesa" + +#: ../src/common/util.c:925 +msgid "British Channel Isles" +msgstr "Islas da Canle da Mancha" + +#: ../src/common/util.c:926 +msgid "Ghana" +msgstr "Gana" + +#: ../src/common/util.c:927 +msgid "Gibraltar" +msgstr "Xibraltar" + +#: ../src/common/util.c:928 +msgid "Greenland" +msgstr "Groenlandia" + +#: ../src/common/util.c:929 +msgid "Gambia" +msgstr "Gambia" + +#: ../src/common/util.c:930 +msgid "Guinea" +msgstr "Guinea" + +#: ../src/common/util.c:931 +msgid "Government" +msgstr "Governo" + +#: ../src/common/util.c:932 +msgid "Guadeloupe" +msgstr "Guadalupe" + +#: ../src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "Guinea Ecuatorial" + +#: ../src/common/util.c:934 +msgid "Greece" +msgstr "Grecia" + +#: ../src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "S. Xeorxia e S. Islas Sandwich" + +#: ../src/common/util.c:936 +msgid "Guatemala" +msgstr "Guatemala" + +#: ../src/common/util.c:937 +msgid "Guam" +msgstr "Guam" + +#: ../src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: ../src/common/util.c:939 +msgid "Guyana" +msgstr "Guaiana" + +#: ../src/common/util.c:940 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: ../src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "Islas Heard e McDonald" + +#: ../src/common/util.c:942 +msgid "Honduras" +msgstr "Honduras" + +#: ../src/common/util.c:943 +msgid "Croatia" +msgstr "Croacia" + +#: ../src/common/util.c:944 +msgid "Haiti" +msgstr "Haití" + +#: ../src/common/util.c:945 +msgid "Hungary" +msgstr "Hungría" + +#: ../src/common/util.c:946 +msgid "Indonesia" +msgstr "Indonesia" + +#: ../src/common/util.c:947 +msgid "Ireland" +msgstr "Irlanda" + +#: ../src/common/util.c:948 +msgid "Israel" +msgstr "Israel" + +#: ../src/common/util.c:949 +msgid "Isle of Man" +msgstr "Isla de Man" + +#: ../src/common/util.c:950 +msgid "India" +msgstr "India" + +#: ../src/common/util.c:951 +msgid "Informational" +msgstr "Informativo" + +#: ../src/common/util.c:952 +msgid "International" +msgstr "Internacional" + +#: ../src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "Territorio Oceánico Indio Británico" + +#: ../src/common/util.c:954 +msgid "Iraq" +msgstr "Iraq" + +#: ../src/common/util.c:955 +msgid "Iran" +msgstr "Irán" + +#: ../src/common/util.c:956 +msgid "Iceland" +msgstr "Islandia" + +#: ../src/common/util.c:957 +msgid "Italy" +msgstr "Italia" + +#: ../src/common/util.c:958 +msgid "Jersey" +msgstr "Xersei" + +#: ../src/common/util.c:959 +msgid "Jamaica" +msgstr "Xamaica" + +#: ../src/common/util.c:960 +msgid "Jordan" +msgstr "Xordania" + +#: ../src/common/util.c:961 +msgid "Japan" +msgstr "Xapón" + +#: ../src/common/util.c:962 +msgid "Kenya" +msgstr "Kenia" + +#: ../src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "Kyrgyzstan" + +#: ../src/common/util.c:964 +msgid "Cambodia" +msgstr "Camboia" + +#: ../src/common/util.c:965 +msgid "Kiribati" +msgstr "Kiribati" + +#: ../src/common/util.c:966 +msgid "Comoros" +msgstr "Comoros" + +#: ../src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "San Kitts e Nevis" + +#: ../src/common/util.c:968 +msgid "North Korea" +msgstr "Corea do Norte" + +#: ../src/common/util.c:969 +msgid "South Korea" +msgstr "Corea do Sur" + +#: ../src/common/util.c:970 +msgid "Kuwait" +msgstr "Kuwait" + +#: ../src/common/util.c:971 +msgid "Cayman Islands" +msgstr "Islas Caimán" + +#: ../src/common/util.c:972 +msgid "Kazakhstan" +msgstr "Kazakhstan" + +#: ../src/common/util.c:973 +msgid "Laos" +msgstr "Laos" + +#: ../src/common/util.c:974 +msgid "Lebanon" +msgstr "Líbano" + +#: ../src/common/util.c:975 +msgid "Saint Lucia" +msgstr "Santa Lucía" + +#: ../src/common/util.c:976 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: ../src/common/util.c:977 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: ../src/common/util.c:978 +msgid "Liberia" +msgstr "Liberia" + +#: ../src/common/util.c:979 +msgid "Lesotho" +msgstr "Lesoto" + +#: ../src/common/util.c:980 +msgid "Lithuania" +msgstr "Lituania" + +#: ../src/common/util.c:981 +msgid "Luxembourg" +msgstr "Luxemburgo" + +#: ../src/common/util.c:982 +msgid "Latvia" +msgstr "Letonia" + +#: ../src/common/util.c:983 +msgid "Libya" +msgstr "Libia" + +#: ../src/common/util.c:984 +msgid "Morocco" +msgstr "Marrocos" + +#: ../src/common/util.c:985 +msgid "Monaco" +msgstr "Mónaco" + +#: ../src/common/util.c:986 +msgid "Moldova" +msgstr "Moldavia" + +#: ../src/common/util.c:987 +msgid "United States Medical" +msgstr "Servizo Médico de Estados Unidos" + +#: ../src/common/util.c:988 +msgid "Madagascar" +msgstr "Madagascar" + +#: ../src/common/util.c:989 +msgid "Marshall Islands" +msgstr "Islas Marshall" + +#: ../src/common/util.c:990 +msgid "Military" +msgstr "Militar" + +#: ../src/common/util.c:991 +msgid "Macedonia" +msgstr "Macedonia" + +#: ../src/common/util.c:992 +msgid "Mali" +msgstr "Mali" + +#: ../src/common/util.c:993 +msgid "Myanmar" +msgstr "Myanmar" + +#: ../src/common/util.c:994 +msgid "Mongolia" +msgstr "Mongolia" + +#: ../src/common/util.c:995 +msgid "Macau" +msgstr "Macao" + +#: ../src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "Islas Marianas do Norte" + +#: ../src/common/util.c:997 +msgid "Martinique" +msgstr "Martinica" + +#: ../src/common/util.c:998 +msgid "Mauritania" +msgstr "Mauritania" + +#: ../src/common/util.c:999 +msgid "Montserrat" +msgstr "Montserrat" + +#: ../src/common/util.c:1000 +msgid "Malta" +msgstr "Malta" + +#: ../src/common/util.c:1001 +msgid "Mauritius" +msgstr "Mauricio" + +#: ../src/common/util.c:1002 +msgid "Maldives" +msgstr "Maldivas" + +#: ../src/common/util.c:1003 +msgid "Malawi" +msgstr "Malawi" + +#: ../src/common/util.c:1004 +msgid "Mexico" +msgstr "México" + +#: ../src/common/util.c:1005 +msgid "Malaysia" +msgstr "Malasia" + +#: ../src/common/util.c:1006 +msgid "Mozambique" +msgstr "Mozambique" + +#: ../src/common/util.c:1007 +msgid "Namibia" +msgstr "Namibia" + +#: ../src/common/util.c:1008 +msgid "New Caledonia" +msgstr "Nova Caledonia" + +#: ../src/common/util.c:1009 +msgid "Niger" +msgstr "Níger" + +#: ../src/common/util.c:1010 +msgid "Internic Network" +msgstr "Rede de Internic" + +#: ../src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "Isla Norfolk" + +#: ../src/common/util.c:1012 +msgid "Nigeria" +msgstr "Nigeria" + +#: ../src/common/util.c:1013 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: ../src/common/util.c:1014 +msgid "Netherlands" +msgstr "Holanda" + +#: ../src/common/util.c:1015 +msgid "Norway" +msgstr "Noruega" + +#: ../src/common/util.c:1016 +msgid "Nepal" +msgstr "Nepal" + +#: ../src/common/util.c:1017 +msgid "Nauru" +msgstr "Nauru" + +#: ../src/common/util.c:1018 +msgid "Niue" +msgstr "Niue" + +#: ../src/common/util.c:1019 +msgid "New Zealand" +msgstr "Nova Zelanda" + +#: ../src/common/util.c:1020 +msgid "Oman" +msgstr "Omán" + +#: ../src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "Organización sen ánimo de lucro Internic" + +#: ../src/common/util.c:1022 +msgid "Panama" +msgstr "Panamá" + +#: ../src/common/util.c:1023 +msgid "Peru" +msgstr "Perú" + +#: ../src/common/util.c:1024 +msgid "French Polynesia" +msgstr "Polinesia Francesa" + +#: ../src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "Papua Nova Guinea" + +#: ../src/common/util.c:1026 +msgid "Philippines" +msgstr "Filipinas" + +#: ../src/common/util.c:1027 +msgid "Pakistan" +msgstr "Pakistán" + +#: ../src/common/util.c:1028 +msgid "Poland" +msgstr "Polonia" + +#: ../src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "San Pierre e Miquelón" + +#: ../src/common/util.c:1030 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: ../src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "Porto Rico" + +#: ../src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "Territorio Palestino" + +#: ../src/common/util.c:1033 +msgid "Portugal" +msgstr "Portugal" + +#: ../src/common/util.c:1034 +msgid "Palau" +msgstr "Palau" + +#: ../src/common/util.c:1035 +msgid "Paraguay" +msgstr "Paraguai" + +#: ../src/common/util.c:1036 +msgid "Qatar" +msgstr "Qatar" + +#: ../src/common/util.c:1037 +msgid "Reunion" +msgstr "Reunión" + +#: ../src/common/util.c:1038 +msgid "Romania" +msgstr "Rumanía" + +#: ../src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "Antiga escola de ARPAnet" + +#: ../src/common/util.c:1040 +msgid "Russian Federation" +msgstr "Federación Rusa" + +#: ../src/common/util.c:1041 +msgid "Rwanda" +msgstr "Ruanda" + +#: ../src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "Arabia Saudí" + +#: ../src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "Islas Salomón" + +#: ../src/common/util.c:1044 +msgid "Seychelles" +msgstr "Seychelles" + +#: ../src/common/util.c:1045 +msgid "Sudan" +msgstr "Sudán" + +#: ../src/common/util.c:1046 +msgid "Sweden" +msgstr "Suecia" + +#: ../src/common/util.c:1047 +msgid "Singapore" +msgstr "Singapur" + +#: ../src/common/util.c:1048 +msgid "St. Helena" +msgstr "Santa Helena" + +#: ../src/common/util.c:1049 +msgid "Slovenia" +msgstr "Eslovenia" + +#: ../src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Islas Svalbard e Jan Mayen" + +#: ../src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "República de Eslovaquia" + +#: ../src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "Serra Leona" + +#: ../src/common/util.c:1053 +msgid "San Marino" +msgstr "San Mariño" + +#: ../src/common/util.c:1054 +msgid "Senegal" +msgstr "Senegal" + +#: ../src/common/util.c:1055 +msgid "Somalia" +msgstr "Somalia" + +#: ../src/common/util.c:1056 +msgid "Suriname" +msgstr "Suriname" + +#: ../src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "Santo Tomé e Principe" + +#: ../src/common/util.c:1058 +msgid "Former USSR" +msgstr "Antiga URSS" + +#: ../src/common/util.c:1059 +msgid "El Salvador" +msgstr "O Salvador" + +#: ../src/common/util.c:1060 +msgid "Syria" +msgstr "Siria" + +#: ../src/common/util.c:1061 +msgid "Swaziland" +msgstr "Swaziland" + +#: ../src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "Islas Turks e Caicos" + +#: ../src/common/util.c:1063 +msgid "Chad" +msgstr "Chad" + +#: ../src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "Territorios Franceses do Sur" + +#: ../src/common/util.c:1065 +msgid "Togo" +msgstr "Togo" + +#: ../src/common/util.c:1066 +msgid "Thailand" +msgstr "Tailandia" + +#: ../src/common/util.c:1067 +msgid "Tajikistan" +msgstr "Tajikistan" + +#: ../src/common/util.c:1068 +msgid "Tokelau" +msgstr "Tokelau" + +#: ../src/common/util.c:1069 ../src/common/util.c:1073 +msgid "East Timor" +msgstr "Timor Oriental" + +#: ../src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: ../src/common/util.c:1071 +msgid "Tunisia" +msgstr "Túnez" + +#: ../src/common/util.c:1072 +msgid "Tonga" +msgstr "Tonga" + +#: ../src/common/util.c:1074 +msgid "Turkey" +msgstr "Turquía" + +#: ../src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "Trinidade e Tobago" + +#: ../src/common/util.c:1076 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: ../src/common/util.c:1077 +msgid "Taiwan" +msgstr "Taiwan" + +#: ../src/common/util.c:1078 +msgid "Tanzania" +msgstr "Tanzania" + +#: ../src/common/util.c:1079 +msgid "Ukraine" +msgstr "Ucrania" + +#: ../src/common/util.c:1080 +msgid "Uganda" +msgstr "Uganda" + +#: ../src/common/util.c:1081 +msgid "United Kingdom" +msgstr "Reino Unido" + +#: ../src/common/util.c:1082 +msgid "United States of America" +msgstr "Estados Unidos de América" + +#: ../src/common/util.c:1083 +msgid "Uruguay" +msgstr "Uruguai" + +#: ../src/common/util.c:1084 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: ../src/common/util.c:1085 +msgid "Vatican City State" +msgstr "Cidade Estado do Vaticano" + +#: ../src/common/util.c:1086 +msgid "St. Vincent and the Grenadines" +msgstr "San Vicente e as Granadinas" + +#: ../src/common/util.c:1087 +msgid "Venezuela" +msgstr "Venezuela" + +#: ../src/common/util.c:1088 +msgid "British Virgin Islands" +msgstr "Islas Vírxenes Británicas" + +#: ../src/common/util.c:1089 +msgid "US Virgin Islands" +msgstr "Islas Vírxenes Norteamericanas" + +#: ../src/common/util.c:1090 +msgid "Vietnam" +msgstr "Vietnam" + +#: ../src/common/util.c:1091 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: ../src/common/util.c:1092 +msgid "Wallis and Futuna Islands" +msgstr "Islas Wallis e Futuna" + +#: ../src/common/util.c:1093 +msgid "Samoa" +msgstr "Samoa" + +#: ../src/common/util.c:1094 +msgid "Yemen" +msgstr "Iemen" + +#: ../src/common/util.c:1095 +msgid "Mayotte" +msgstr "Maiote" + +#: ../src/common/util.c:1096 +msgid "Yugoslavia" +msgstr "Iugoslavia" + +#: ../src/common/util.c:1097 +msgid "South Africa" +msgstr "Sudáfrica" + +#: ../src/common/util.c:1098 +msgid "Zambia" +msgstr "Zambia" + +#: ../src/common/util.c:1099 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: ../src/common/util.c:1109 ../src/common/util.c:1119 +#: ../src/fe-gtk/menu.c:553 ../src/fe-gtk/menu.c:558 ../src/fe-gtk/menu.c:562 +#: ../src/fe-gtk/menu.c:566 ../src/fe-gtk/menu.c:574 ../src/fe-gtk/menu.c:592 +msgid "Unknown" +msgstr "Descoñecido" + +#: ../src/common/xchat.c:767 ../src/common/xchat.c:893 +msgid "Open Dialog Window" +msgstr "Abrir a ventá de diálogo" + +#: ../src/common/xchat.c:768 +msgid "Send a File" +msgstr "Enviar un ficheiro" + +#: ../src/common/xchat.c:769 +msgid "User Info (WHOIS)" +msgstr "Información de usuario (WHOIS)" + +#: ../src/common/xchat.c:770 +msgid "Operator Actions" +msgstr "Opcións de operador" + +#: ../src/common/xchat.c:772 ../src/common/xchat.c:863 +msgid "Give Ops" +msgstr "Dar Op" + +#: ../src/common/xchat.c:773 ../src/common/xchat.c:864 +msgid "Take Ops" +msgstr "Tomar Op" + +#: ../src/common/xchat.c:774 ../src/common/xchat.c:867 +msgid "Give Voice" +msgstr "Dar Voz" + +#: ../src/common/xchat.c:775 ../src/common/xchat.c:868 +msgid "Take Voice" +msgstr "Tomar Voz" + +#: ../src/common/xchat.c:777 ../src/common/xchat.c:872 +msgid "Kick/Ban" +msgstr "Botar/Vetar" + +#: ../src/common/xchat.c:778 ../src/common/xchat.c:873 +#: ../src/common/xchat.c:922 +msgid "Kick" +msgstr "Botar" + +#: ../src/common/xchat.c:779 ../src/common/xchat.c:780 +#: ../src/common/xchat.c:781 ../src/common/xchat.c:782 +#: ../src/common/xchat.c:783 ../src/common/xchat.c:874 +#: ../src/common/xchat.c:875 ../src/common/xchat.c:876 +#: ../src/common/xchat.c:877 ../src/common/xchat.c:878 +#: ../src/common/xchat.c:921 +msgid "Ban" +msgstr "Vetar" + +#: ../src/common/xchat.c:784 ../src/common/xchat.c:785 +#: ../src/common/xchat.c:786 ../src/common/xchat.c:787 +#: ../src/common/xchat.c:879 ../src/common/xchat.c:880 +#: ../src/common/xchat.c:881 ../src/common/xchat.c:882 +msgid "KickBan" +msgstr "Botar e vetar" + +#: ../src/common/xchat.c:850 +msgid "Direct client-to-client" +msgstr "Cliente a cliente directamente" + +#: ../src/common/xchat.c:851 +msgid "Send File" +msgstr "Enviar ficheiro" + +#: ../src/common/xchat.c:852 +msgid "Offer Chat" +msgstr "Ofrecer Chat" + +#: ../src/common/xchat.c:853 +msgid "Abort Chat" +msgstr "Abortar Chat" + +#: ../src/common/xchat.c:854 ../src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Versión" + +#: ../src/common/xchat.c:855 +msgid "Userinfo" +msgstr "Información do usuario" + +#: ../src/common/xchat.c:856 +msgid "Clientinfo" +msgstr "Información do cliente" + +#: ../src/common/xchat.c:857 ../src/common/xchat.c:891 +#: ../src/common/xchat.c:939 +msgid "Ping" +msgstr "Ping" + +#: ../src/common/xchat.c:858 +msgid "Time" +msgstr "Tempo" + +#: ../src/common/xchat.c:859 +msgid "Finger" +msgstr "Finger" + +#: ../src/common/xchat.c:860 +msgid "Oper" +msgstr "Operador" + +#: ../src/common/xchat.c:861 +msgid "Kill this user" +msgstr "Matar este usuario" + +#: ../src/common/xchat.c:862 +msgid "Mode" +msgstr "Modo" + +#: ../src/common/xchat.c:865 +msgid "Give Half-Ops" +msgstr "Dar Semi-Op" + +#: ../src/common/xchat.c:866 +msgid "Take Half-Ops" +msgstr "Tomar Semi-Op" + +#: ../src/common/xchat.c:869 +msgid "Ignore" +msgstr "Ignorar" + +#: ../src/common/xchat.c:870 +msgid "Ignore User" +msgstr "Ignorar Usuario" + +#: ../src/common/xchat.c:871 +msgid "UnIgnore User" +msgstr "Non ignorar usuario" + +#: ../src/common/xchat.c:883 +msgid "Info" +msgstr "Info" + +#: ../src/common/xchat.c:884 +msgid "Who" +msgstr "Who" + +#: ../src/common/xchat.c:885 ../src/common/xchat.c:935 +msgid "WhoIs" +msgstr "WhoIs" + +#: ../src/common/xchat.c:886 +msgid "DNS Lookup" +msgstr "Busca DNS" + +#: ../src/common/xchat.c:887 +msgid "Trace" +msgstr "Rastrear" + +#: ../src/common/xchat.c:888 +msgid "UserHost" +msgstr "Máquina do usuario" + +#: ../src/common/xchat.c:889 +msgid "External" +msgstr "Programas externos" + +#: ../src/common/xchat.c:890 +msgid "Traceroute" +msgstr "Rastrear ruta" + +#: ../src/common/xchat.c:892 +msgid "Telnet" +msgstr "Telnet" + +#: ../src/common/xchat.c:904 +msgid "Leave Channel" +msgstr "Abandoar a canle" + +#: ../src/common/xchat.c:905 ../src/fe-gtk/menu.c:1435 +msgid "Join Channel..." +msgstr "Entrar á canle..." + +#: ../src/common/xchat.c:906 ../src/fe-gtk/menu.c:1117 +msgid "Enter Channel to Join:" +msgstr "Introduza a canle á que quere entrar:" + +#: ../src/common/xchat.c:907 +msgid "Server Links" +msgstr "Ligazóns do servidor" + +#: ../src/common/xchat.c:908 +msgid "Ping Server" +msgstr "Ping ao servidor" + +#: ../src/common/xchat.c:909 +msgid "Hide Version" +msgstr "Agochar versión" + +#: ../src/common/xchat.c:919 +msgid "Op" +msgstr "Op" + +#: ../src/common/xchat.c:920 +msgid "DeOp" +msgstr "Quitar Op" + +#: ../src/common/xchat.c:923 +msgid "bye" +msgstr "adeus" + +#: ../src/common/xchat.c:924 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Introduza razón para expulsar a %s:" + +#: ../src/common/xchat.c:925 +msgid "Sendfile" +msgstr "Enviar ficheiro" + +#: ../src/common/xchat.c:926 +msgid "Dialog" +msgstr "Diálogo" + +#: ../src/common/xchat.c:936 +msgid "Send" +msgstr "Enviar" + +#: ../src/common/xchat.c:937 +msgid "Chat" +msgstr "Chat" + +#: ../src/common/xchat.c:938 ../src/fe-gtk/banlist.c:413 +#: ../src/fe-gtk/ignoregui.c:388 ../src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Limpar" + +#: ../src/common/dbus/dbus-client.c:71 +msgid "Couldn't connect to session bus" +msgstr "Non se puido conectar ao bus de sesión" + +#: ../src/common/dbus/dbus-client.c:85 +msgid "Failed to complete NameHasOwner" +msgstr "Fallou ao completar NameHasOwner" + +#: ../src/common/dbus/dbus-client.c:106 +msgid "Failed to complete Command" +msgstr "Fallou ao completar o Comando" + +#: ../src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "acceso remoto" + +#: ../src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "complemento para acceso remoto usando DBUS" + +#: ../src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Non se puido conectar ao bus de sesión: %s\n" + +#: ../src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Fallou ao adquirir %s: %s\n" + +#: ../src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "Acerca de XChat" + +#: ../src/fe-gtk/about.c:133 +msgid "A multiplatform IRC Client" +msgstr "Un cliente de IRC multiplataforma" + +#: ../src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Mapa de caracteres" + +#: ../src/fe-gtk/banlist.c:151 ../src/fe-gtk/chanlist.c:305 +#: ../src/fe-gtk/plugin-tray.c:217 +msgid "Not connected." +msgstr "Non conectado." + +#: ../src/fe-gtk/banlist.c:249 ../src/fe-gtk/banlist.c:329 +msgid "You must select some bans." +msgstr "Debe seleccionar algún vetado." + +#: ../src/fe-gtk/banlist.c:278 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "Está seguro de que quere eliminar tódolos vetos en %s?" + +#: ../src/fe-gtk/banlist.c:344 ../src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Máscara" + +#: ../src/fe-gtk/banlist.c:345 +msgid "From" +msgstr "De" + +#: ../src/fe-gtk/banlist.c:346 +msgid "Date" +msgstr "Data" + +#: ../src/fe-gtk/banlist.c:389 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Só podes abrir a ventá da lista de vetados nunha solapa da canle." + +#: ../src/fe-gtk/banlist.c:393 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: Lista de vetados (%s)" + +#: ../src/fe-gtk/banlist.c:409 ../src/fe-gtk/notifygui.c:424 +msgid "Remove" +msgstr "Eliminar" + +#: ../src/fe-gtk/banlist.c:411 +msgid "Crop" +msgstr "Achicar" + +#: ../src/fe-gtk/banlist.c:415 +msgid "Refresh" +msgstr "Refrescar" + +#: ../src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Amosando %d/%d usuarios en %d/%d canles." + +#: ../src/fe-gtk/chanlist.c:522 ../src/fe-gtk/menu.c:1053 +#: ../src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Seleccione un nome de ficheiro de saída" + +#: ../src/fe-gtk/chanlist.c:626 ../src/fe-gtk/chanlist.c:789 +msgid "_Join Channel" +msgstr "_Entrar á canle" + +#: ../src/fe-gtk/chanlist.c:628 +msgid "_Copy Channel Name" +msgstr "_Copiar o nome da canle" + +#: ../src/fe-gtk/chanlist.c:630 +msgid "Copy _Topic Text" +msgstr "Copiar texto do _tema" + +#: ../src/fe-gtk/chanlist.c:714 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: Lista de Canles (%s)" + +#: ../src/fe-gtk/chanlist.c:771 +msgid "_Search" +msgstr "_Procurar" + +#: ../src/fe-gtk/chanlist.c:777 +msgid "_Download List" +msgstr "_Descargar lista" + +#: ../src/fe-gtk/chanlist.c:783 +msgid "Save _List..." +msgstr "Gardar _lista..." + +#. ============================================================= +#: ../src/fe-gtk/chanlist.c:796 +msgid "Show only:" +msgstr "Amosar só:" + +#: ../src/fe-gtk/chanlist.c:808 +msgid "channels with" +msgstr "canles con" + +#: ../src/fe-gtk/chanlist.c:821 +msgid "to" +msgstr "a" + +#: ../src/fe-gtk/chanlist.c:833 +msgid "users." +msgstr "usuarios." + +#. ============================================================= +#: ../src/fe-gtk/chanlist.c:839 +msgid "Look in:" +msgstr "Procurar en:" + +#: ../src/fe-gtk/chanlist.c:851 +msgid "Channel name" +msgstr "Nome da canle" + +#. ============================================================= +#: ../src/fe-gtk/chanlist.c:872 +msgid "Search type:" +msgstr "Buscar tipo..." + +#: ../src/fe-gtk/chanlist.c:879 +msgid "Simple Search" +msgstr "Busca simple" + +#: ../src/fe-gtk/chanlist.c:880 +msgid "Pattern Match (Wildcards)" +msgstr "Patrón de coincidencia (Comodíns)" + +#: ../src/fe-gtk/chanlist.c:882 +msgid "Regular Expression" +msgstr "Expresión regular" + +#. ============================================================= +#: ../src/fe-gtk/chanlist.c:893 ../src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Buscar:" + +#: ../src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "Enviar ficheiro a %s" + +#. unknown error +#: ../src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "Ese ficheiro non se pode continuar." + +#: ../src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Non se pode acceder ao ficheiro: %s\n" +"%s.\n" +"Non é posible continuar." + +#: ../src/fe-gtk/dccgui.c:507 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" +"O ficheiro no directorio de descarga é máis grande que o ficheiro ofrecido. " +"Non é posible continuar." + +#: ../src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "Non se pode reanudar o mesmo ficheiro de dúas persoas." + +#: ../src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: Cargas e descargas" + +#: ../src/fe-gtk/dccgui.c:756 ../src/fe-gtk/dccgui.c:993 +#: ../src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "Estado" + +#: ../src/fe-gtk/dccgui.c:757 ../src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Ficheiro" + +#: ../src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "Tempo" + +#: ../src/fe-gtk/dccgui.c:784 ../src/fe-gtk/menu.c:1429 +msgid "Both" +msgstr "Ambos" + +#: ../src/fe-gtk/dccgui.c:790 +msgid "Uploads" +msgstr "Subidas" + +#: ../src/fe-gtk/dccgui.c:796 +msgid "Downloads" +msgstr "Descargas" + +#: ../src/fe-gtk/dccgui.c:801 +msgid "Details" +msgstr "Detalles" + +#: ../src/fe-gtk/dccgui.c:812 +msgid "File:" +msgstr "Ficheiro:" + +#: ../src/fe-gtk/dccgui.c:813 +msgid "Address:" +msgstr "Enderezo:" + +#: ../src/fe-gtk/dccgui.c:819 ../src/fe-gtk/dccgui.c:1014 +msgid "Abort" +msgstr "Abortar" + +#: ../src/fe-gtk/dccgui.c:820 ../src/fe-gtk/dccgui.c:1015 +msgid "Accept" +msgstr "Aceptar" + +#: ../src/fe-gtk/dccgui.c:821 +msgid "Resume" +msgstr "Continuar" + +#: ../src/fe-gtk/dccgui.c:822 +msgid "Open Folder..." +msgstr "Abrir cartafol..." + +#: ../src/fe-gtk/dccgui.c:982 +msgid "XChat: DCC Chat List" +msgstr "XChat: Lista de Chat DCC" + +#: ../src/fe-gtk/dccgui.c:995 +msgid "Recv" +msgstr "Recibido" + +#: ../src/fe-gtk/dccgui.c:996 +msgid "Sent" +msgstr "Enviado" + +#: ../src/fe-gtk/dccgui.c:997 +msgid "Start Time" +msgstr "Tempo de comezo" + +#: ../src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*NOVO*" + +#: ../src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "EDÍTAME" + +#: ../src/fe-gtk/editlist.c:310 ../src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Nome" + +#: ../src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Comando" + +#: ../src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Mover arriba" + +#: ../src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Mover abaixo" + +#: ../src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Cancelar" + +#: ../src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Gardar" + +#: ../src/fe-gtk/editlist.c:363 ../src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Engadir novo" + +#: ../src/fe-gtk/editlist.c:367 ../src/fe-gtk/fkeys.c:770 +#: ../src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Borrar" + +#: ../src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Ordenar" + +#: ../src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Axuda" + +#: ../src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "Non reconectarse ao servidor automaticamente" + +#: ../src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "Usar un directorio de configuración diferente" + +#: ../src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "Non cargar automaticamente ningún complemento" + +#: ../src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "Amosar o directorio de complementos activados automaticamente" + +#: ../src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "Amosar o directorio de configuración de usuario" + +#: ../src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "Abrir unha URL irc://servidor:porto/canle" + +#: ../src/fe-gtk/fe-gtk.c:133 +msgid "Open URL in an existing XChat" +msgstr "Abrir URL nun XChat existente" + +#: ../src/fe-gtk/fe-gtk.c:135 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Iniciar minimizado. Nivel 0=Normal 1=Iconificado 2=Bandexa" + +#: ../src/fe-gtk/fe-gtk.c:135 +msgid "level" +msgstr "nivel" + +#: ../src/fe-gtk/fe-gtk.c:136 +msgid "Show version information" +msgstr "Amosar a información da versión" + +#: ../src/fe-gtk/fe-gtk.c:256 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Fallou ao abrir a fonte:\n" +"\n" +"%s" + +#: ../src/fe-gtk/fe-gtk.c:635 +msgid "Search buffer is empty.\n" +msgstr "O búfer de busca está baleiro.\n" + +#: ../src/fe-gtk/fe-gtk.c:731 +#, c-format +msgid "%d bytes" +msgstr "%d bytes" + +#: ../src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Cola de envío de rede: %d bytes" + +#: ../src/fe-gtk/fkeys.c:159 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into " +"the entry box where you pressed the key sequence. Thus it can contain text " +"(which will be sent to the channel/person), commands or user commands. When " +"run all \\n characters in Data 1 are used to deliminate seperate commands so " +"it is possible to run more than one command. If you want a \\ in the actual " +"text run then enter \\\\" +msgstr "" +"A acción Executar Comando executa os datos en Data 1 coma se foran escritos " +"na caixa de texto onde premeu a secuencia de teclas. Non obstante pode " +"conter comandos de texto (os cales enviaranse á canle ou persoa), ou " +"comandos de usuario. Cando se executen todos os caracteres en Data 1 son " +"usados para delimitar comandos separados de ese modo é posible executar máis " +"dun comando. Se quere un \\ no texto de execución actual execúteo e logo " +"prema Intro \\\\" + +#: ../src/fe-gtk/fkeys.c:161 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1 " +"to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position" +msgstr "" +"O comando Cambiar Páxina cambia entre as páxinas do caderno. Inicialice Data " +"1 coa páxina á que desexa cambiar. Se Data 2 está configurado para calquera " +"entón o cambio será relativo á posición actual." + +#: ../src/fe-gtk/fkeys.c:163 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" +"O comando Inserir no Búfer insertará o contido de Data 1 na entrada onde a " +"secuencia de teclas foi pulsada na posicón actual do cursor" + +#: ../src/fe-gtk/fkeys.c:165 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one " +"line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "" +"O comando Desprazar Páxina despraza o control de texto enriba ou abaixo nun " +"páxina ou nunha liña. Establece Data 1 desprazarase hacia arriba, abaixo +1 " +"ou -1." + +#: ../src/fe-gtk/fkeys.c:167 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered to " +"the contents of Data 1" +msgstr "" +"O comando Establecer búfer establece a entrada onde a secuencia de teclas " +"foi introducida aos contidos de Data 1" + +#: ../src/fe-gtk/fkeys.c:169 +msgid "" +"The Last Command command sets the entry to contain the last command entered " +"- the same as pressing up in a shell" +msgstr "" +"O comando Último Comando establece a entrada para conter o último comando " +"introducido á igual que premer a tecla enriba na liña de comandos" + +#: ../src/fe-gtk/fkeys.c:171 +msgid "" +"The Next Command command sets the entry to contain the next command entered " +"- the same as pressing down in a shell" +msgstr "" +"O comando Seguinte Comando establece a entrada que conteña o seguinte " +"comando ingresado á igual que ao premer a tecla abaixo na liña de comandos" + +#: ../src/fe-gtk/fkeys.c:173 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the " +"last nick, not the next" +msgstr "" +"Este comando cambia o texto na entrada para completar un alcume incompleto " +"ou un comando. Se Data 1 está establecido entón ao premer dúas veces a tecla " +"TAB sobre unha cadea seleccionará o último alcume, non o seguinte." + +#: ../src/fe-gtk/fkeys.c:175 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set " +"to anything it will scroll up, else it scrolls down" +msgstr "" +"Este comando despraza hacia arriba e abaixo a lista de alcumes. Se Data 1 " +"está establecido a calquera entón desprazarase hacia arriba, se non " +"desprazarase hacia abaixo" + +#: ../src/fe-gtk/fkeys.c:177 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" +"Este comando comproba a última palabra introducida na entrada contra a lista " +"de remprazos e a rempraza se atopa unha coincidencia" + +#: ../src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "Este comando move unha vez solapa superior á esquerda" + +#: ../src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "Este comando move unha vez solapa superior á dereita" + +#: ../src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "Este comando move a familia actual de solapas á esquerda" + +#: ../src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "Este comando move a familia actual de solapas á dereita" + +#: ../src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "Colocar a liña de entrada no historial pero sen enviala ao servidor" + +#: ../src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "Houbo un erro cargando a configuración das combinacións de teclas" + +#: ../src/fe-gtk/fkeys.c:450 ../src/fe-gtk/fkeys.c:451 +#: ../src/fe-gtk/fkeys.c:452 ../src/fe-gtk/fkeys.c:453 +#: ../src/fe-gtk/fkeys.c:743 ../src/fe-gtk/fkeys.c:749 +#: ../src/fe-gtk/fkeys.c:754 ../src/fe-gtk/maingui.c:1616 +#: ../src/fe-gtk/maingui.c:1719 ../src/fe-gtk/maingui.c:3201 +msgid "<none>" +msgstr "<ningún>" + +#: ../src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "Mod" + +#: ../src/fe-gtk/fkeys.c:708 ../src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Tecla" + +#: ../src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Acción" + +#: ../src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: Atallos de teclado" + +#: ../src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Maiús" + +#: ../src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: ../src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: ../src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "Data 1" + +#: ../src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "Data 2" + +#: ../src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "Erro ao abrir o ficheiro de configuración de teclas\n" + +#: ../src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Nome de tecla %s descoñecido no ficheiro de configuración de combinacións de " +"teclas\n" +"Carga abortada, por favor corrixa %s/keybindings.conf\n" + +#: ../src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Acción descoñecida %s no ficheiro de configuración de combinacións de " +"teclas\n" +"Carga abortada, Por favor corrixa %s/keybindings\n" + +#: ../src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Esperábase unha liña de datos (comezando con Dx{:|!}) pero obtúbose:\n" +"%s\n" +"\n" +"Carga abortada, Por favor corrixa %s/keybindings\n" + +#: ../src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"O ficheiro de configuración da combinacións de teclas está corrupto\n" +"Por favor corrixa %s/keybindings.conf\n" + +#: ../src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "Non se pode escribir nese ficheiro." + +#: ../src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "Non se pode ler ese ficheiro." + +#. duplicate, ignore +#: ../src/fe-gtk/ignoregui.c:117 ../src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "Esa máscara xa existe." + +#: ../src/fe-gtk/ignoregui.c:177 ../src/fe-gtk/maingui.c:2100 +msgid "Private" +msgstr "Privado" + +#: ../src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Noticia" + +#: ../src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: ../src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: ../src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Invitar" + +#: ../src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Non ignorar" + +#: ../src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Introduza a máscara que quere ignorar:" + +#: ../src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "XChat: Lista de ignorados" + +#: ../src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Estatísticas de ignorados:" + +#: ../src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Canle:" + +#: ../src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Privado:" + +#: ../src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Noticia:" + +#: ../src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: ../src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Invitar:" + +#: ../src/fe-gtk/ignoregui.c:384 ../src/fe-gtk/notifygui.c:420 +msgid "Add..." +msgstr "Engadir..." + +#: ../src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "O nome da canle é demasiado corto, ténteo de novo." + +#: ../src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: Conexión completada" + +#: ../src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "Conexión a %s completada." + +#: ../src/fe-gtk/joind.c:159 +msgid "" +"In the Server-List window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" +"Na ventá da lista de servidores, non se introduciu ningunha canle (sala de " +"chat) para entrar automaticamente nesta rede." + +#: ../src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Que quere facer despois?" + +#: ../src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_Nada, unireime a unha canle máis tarde." + +#: ../src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "_Entrar nesta canle:" + +#: ../src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Se coñece o nome da canle na que quere entrar, introdúcea aquí." + +#: ../src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "A_brir a ventá de lista canles." + +#: ../src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "Obter a lista de canles pode levar un ou dous minutos." + +#: ../src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "Amosar este diálogo _sempre despois de conectar." + +#: ../src/fe-gtk/maingui.c:500 +msgid "Dialog with" +msgstr "Diálogo con" + +#: ../src/fe-gtk/maingui.c:787 +#, c-format +msgid "Topic for %s is: %s" +msgstr "O tópico para %s é: %s" + +#: ../src/fe-gtk/maingui.c:792 +msgid "No topic is set" +msgstr "Non está establecido ningún tópico" + +#: ../src/fe-gtk/maingui.c:1177 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" +"Este servidor ten todavía %d canles ou diálogos asociados. Pechalos todos?" + +#: ../src/fe-gtk/maingui.c:1304 +msgid "Quit XChat?" +msgstr "Quere saír de XChat?" + +#: ../src/fe-gtk/maingui.c:1325 +msgid "Don't ask next time." +msgstr "Non preguntar a seguinte vez." + +#: ../src/fe-gtk/maingui.c:1331 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Está conectado a %i redes IRC." + +#: ../src/fe-gtk/maingui.c:1333 +msgid "Are you sure you want to quit?" +msgstr "Está seguro de que quere saír?" + +#: ../src/fe-gtk/maingui.c:1335 +msgid "Some file transfers are still active." +msgstr "Algunhas transferencias de ficheiros seguen activas." + +#: ../src/fe-gtk/maingui.c:1353 +msgid "_Minimize to Tray" +msgstr "_Minimizar á bandexa" + +#: ../src/fe-gtk/maingui.c:1567 +msgid "Insert Attribute or Color Code" +msgstr "Inserir atributo ou código de cor" + +#: ../src/fe-gtk/maingui.c:1569 +msgid "<b>Bold</b>" +msgstr "<b>Grosa</b>" + +#: ../src/fe-gtk/maingui.c:1570 +msgid "<u>Underline</u>" +msgstr "<u>Subraiado</u>" + +#. mg_markup_item (submenu, _("<i>Italic</i>"), 102); +#: ../src/fe-gtk/maingui.c:1572 +msgid "Normal" +msgstr "Normal" + +#: ../src/fe-gtk/maingui.c:1574 +msgid "Colors 0-7" +msgstr "Cores 0-7" + +#: ../src/fe-gtk/maingui.c:1584 +msgid "Colors 8-15" +msgstr "Cores 8-15" + +#: ../src/fe-gtk/maingui.c:1629 +msgid "Beep on message" +msgstr "Bip ao recibir unha mensaxe" + +#: ../src/fe-gtk/maingui.c:1632 +msgid "Blink tray on message" +msgstr "Intermitencia da bandexa en mensaxe" + +#: ../src/fe-gtk/maingui.c:1635 +msgid "Show join/part messages" +msgstr "Mostrar mensaxe de entrada/saída da canle" + +#: ../src/fe-gtk/maingui.c:1637 +msgid "Color paste" +msgstr "Pegar cor" + +#: ../src/fe-gtk/maingui.c:1647 ../src/fe-gtk/menu.c:1958 +msgid "_Close Tab" +msgstr "_Pechar solapa" + +#: ../src/fe-gtk/maingui.c:1649 ../src/fe-gtk/menu.c:1957 +msgid "_Detach Tab" +msgstr "_Separar solapa" + +#: ../src/fe-gtk/maingui.c:1968 ../src/fe-gtk/maingui.c:2074 +msgid "User limit must be a number!\n" +msgstr "O límite de usuarios debe ser un número!\n" + +#: ../src/fe-gtk/maingui.c:2096 +msgid "Topic Protection" +msgstr "Protección do tópico" + +#: ../src/fe-gtk/maingui.c:2097 +msgid "No outside messages" +msgstr "Non hai mensaxes externas" + +#: ../src/fe-gtk/maingui.c:2098 +msgid "Secret" +msgstr "Secreto" + +#: ../src/fe-gtk/maingui.c:2099 +msgid "Invite Only" +msgstr "Só para invitados" + +#: ../src/fe-gtk/maingui.c:2101 +msgid "Moderated" +msgstr "Moderado" + +#: ../src/fe-gtk/maingui.c:2102 +msgid "Ban List" +msgstr "Lista de vetados" + +#: ../src/fe-gtk/maingui.c:2104 +msgid "Keyword" +msgstr "Palabra clave" + +#: ../src/fe-gtk/maingui.c:2116 +msgid "User Limit" +msgstr "Límite de usuarios" + +#: ../src/fe-gtk/maingui.c:2225 +msgid "Show/Hide userlist" +msgstr "Mostrar/Ocultar lista de usuarios" + +#: ../src/fe-gtk/maingui.c:2350 +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 "" +"Imposible establecer o fondo transparente!\n" +"\n" +"Pode estar usando un xestor de ventás\n" +"que non está soportado actualmente.\n" + +#: ../src/fe-gtk/maingui.c:2621 +msgid "Enter new nickname:" +msgstr "Introduza o novo alcume:" + +#: ../src/fe-gtk/menu.c:124 +msgid "Host unknown" +msgstr "Equipo descoñecido" + +#. let the translators tweak this if need be +#: ../src/fe-gtk/menu.c:544 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: ../src/fe-gtk/menu.c:549 ../src/fe-gtk/menu.c:553 +msgid "Real Name:" +msgstr "Nome real:" + +#: ../src/fe-gtk/menu.c:557 +msgid "User:" +msgstr "Usuario:" + +#: ../src/fe-gtk/menu.c:561 +msgid "Country:" +msgstr "País: " + +#: ../src/fe-gtk/menu.c:565 +msgid "Server:" +msgstr "Servidor:" + +#: ../src/fe-gtk/menu.c:577 +msgid "Away Msg:" +msgstr "Mensaxe de ausencia: " + +#: ../src/fe-gtk/menu.c:587 +#, c-format +msgid "%u minutes ago" +msgstr "Quedan %u minutos" + +#: ../src/fe-gtk/menu.c:589 ../src/fe-gtk/menu.c:592 +msgid "Last Msg:" +msgstr "Última mensaxe: " + +#: ../src/fe-gtk/menu.c:704 +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 "" +"A barra de menú está agochada. Pode amosala outra vez premendo F9 ou " +"premendo co botón dereito do rato na parte branca da área de texto principal." + +#: ../src/fe-gtk/menu.c:799 +msgid "Open Link in Browser" +msgstr "Abrir ligazón no navegador" + +#: ../src/fe-gtk/menu.c:800 +msgid "Copy Selected Link" +msgstr "Copiar a ligazón seleccionada" + +#: ../src/fe-gtk/menu.c:862 ../src/fe-gtk/menu.c:1100 +msgid "Join Channel" +msgstr "Entrar á canle" + +#: ../src/fe-gtk/menu.c:866 +msgid "Part Channel" +msgstr "Invitar canle" + +#: ../src/fe-gtk/menu.c:868 +msgid "Cycle Channel" +msgstr "Ciclar canle" + +#: ../src/fe-gtk/menu.c:892 +msgid "XChat: User menu" +msgstr "XChat: Menú de usuario" + +#. sep +#: ../src/fe-gtk/menu.c:901 +msgid "Edit This Menu..." +msgstr "Editar este menú..." + +#: ../src/fe-gtk/menu.c:1102 +msgid "Retrieve channel list..." +msgstr "Obter lista de canles..." + +#: ../src/fe-gtk/menu.c:1170 +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 = xchat 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 "" +"Comandos de usuario - Códigos especiais:\n" +"\n" +"%c = canle actual\n" +"%m = info da máquina\n" +"%n = seu alcume\n" +"%t = hora/data\n" +"%v = versión de xchat\n" +"%2 = palabra 2\n" +"%3 = palabra 3\n" +"&2 = palabra 2 ata o fin de liña\n" +"&3 = palabra 3 ata o fin de liña\n" +"\n" +"ex:\n" +"/cmd john hello\n" +"\n" +"%2 podería ser \"john\"\n" +"&2 podería ser \"john hello\"." + +#: ../src/fe-gtk/menu.c:1186 +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 "" +"Botóns da lista de usuarios - Códigos especiais:\n" +"\n" +"%a = todos os alcumes seleccionados\n" +"%c = canle actual\n" +"%e = nome da rede actual\n" +"%h = nome do equipo do alcume seleccionado\n" +"%m = información da máquina\n" +"%n = seu alcume\n" +"%s = alcume seleccionado\n" +"%t = hora/data\n" + +#: ../src/fe-gtk/menu.c:1196 +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 "" +"Botóns de diálogo - Códigos especiais:\n" +"\n" +"%a = todos os alcumes seleccionados\n" +"%c = canle actual\n" +"%e = nome da rede actual\n" +"%h = nome do equipo do alcume seleccionado\n" +"%m = información da máquina\n" +"%n = seu alcume\n" +"%s = alcume seleccionado\n" +"%t = hora/data\n" + +#: ../src/fe-gtk/menu.c:1206 +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 "" +"Respostas CTCP - Códigos especiais:\n" +"\n" +"%d = datos (o ctcp completo)\n" +"%e = nome da rede actual\n" +"%m = información da máquina\n" +"%s = alcume de quen enviou o ctcp\n" +"%t = hora/data\n" +"%2 = palabra 2\n" +"%3 = palabra 3\n" +"&2 = palabra 2 do fin de liña\n" +"&3 = palabra 3 do fin de liña\n" +"\n" + +#: ../src/fe-gtk/menu.c:1217 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"Manexadores de URL -Códigos especiais:\n" +"\n" +"%s = a cadea URL\n" +"\n" +"Poñer un ! enfrente do comando indica\n" +"que debería enviarse hacia un shell\n" +"en vez de hacia XChat" + +#: ../src/fe-gtk/menu.c:1226 +msgid "XChat: User Defined Commands" +msgstr "XChat: Comandos definidos polo usuario" + +#: ../src/fe-gtk/menu.c:1233 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: Menú emerxente da lista de usuarios" + +#: ../src/fe-gtk/menu.c:1240 +msgid "Replace with" +msgstr "Reemprazar con" + +#: ../src/fe-gtk/menu.c:1240 +msgid "XChat: Replace" +msgstr "XChat: Reemprazar" + +#: ../src/fe-gtk/menu.c:1247 +msgid "XChat: URL Handlers" +msgstr "XChat: Manexadores de URL" + +#: ../src/fe-gtk/menu.c:1266 +msgid "XChat: Userlist buttons" +msgstr "XChat: Botóns da lista de usuarios" + +#: ../src/fe-gtk/menu.c:1273 +msgid "XChat: Dialog buttons" +msgstr "XChat: Botóns de diálogo" + +#: ../src/fe-gtk/menu.c:1280 +msgid "XChat: CTCP Replies" +msgstr "XChat: Respostas CTCP" + +#: ../src/fe-gtk/menu.c:1386 +msgid "_XChat" +msgstr "_XChat" + +#: ../src/fe-gtk/menu.c:1387 +msgid "Network Li_st..." +msgstr "Li_sta de redes..." + +#: ../src/fe-gtk/menu.c:1390 +msgid "_New" +msgstr "_Novo" + +#: ../src/fe-gtk/menu.c:1391 +msgid "Server Tab..." +msgstr "Solapa de servidor..." + +#: ../src/fe-gtk/menu.c:1392 +msgid "Channel Tab..." +msgstr "Solapa de canle..." + +#: ../src/fe-gtk/menu.c:1393 +msgid "Server Window..." +msgstr "Ventá de servidor..." + +#: ../src/fe-gtk/menu.c:1394 +msgid "Channel Window..." +msgstr "Ventá de canle..." + +#: ../src/fe-gtk/menu.c:1399 ../src/fe-gtk/menu.c:1401 +msgid "_Load Plugin or Script..." +msgstr "_Cargar script ou complemento..." + +#: ../src/fe-gtk/menu.c:1409 ../src/fe-gtk/plugin-tray.c:463 +msgid "_Quit" +msgstr "_Saír" + +#. 15 +#: ../src/fe-gtk/menu.c:1411 +msgid "_View" +msgstr "_Ver" + +#: ../src/fe-gtk/menu.c:1413 +msgid "_Menu Bar" +msgstr "Barra de _menú" + +#: ../src/fe-gtk/menu.c:1414 +msgid "_Topic Bar" +msgstr "Barra de _tópico" + +#: ../src/fe-gtk/menu.c:1415 +msgid "_User List" +msgstr "Lista de _usuarios" + +#: ../src/fe-gtk/menu.c:1416 +msgid "U_serlist Buttons" +msgstr "Botóns de lista de u_suarios" + +#: ../src/fe-gtk/menu.c:1417 +msgid "M_ode Buttons" +msgstr "Botóns de m_odo" + +#: ../src/fe-gtk/menu.c:1419 +msgid "_Channel Switcher" +msgstr "Cambiar _canles" + +#: ../src/fe-gtk/menu.c:1421 +msgid "_Tabs" +msgstr "_Solapas" + +#: ../src/fe-gtk/menu.c:1422 +msgid "T_ree" +msgstr "Á_rbore" + +#: ../src/fe-gtk/menu.c:1424 +msgid "_Network Meters" +msgstr "Configuración de _rede" + +#: ../src/fe-gtk/menu.c:1426 +msgid "Off" +msgstr "Apagar" + +#: ../src/fe-gtk/menu.c:1427 +msgid "Graph" +msgstr "Gráfico" + +#. 32 +#: ../src/fe-gtk/menu.c:1432 +msgid "_Server" +msgstr "_Servidor" + +#: ../src/fe-gtk/menu.c:1433 +msgid "_Disconnect" +msgstr "_Desconectar" + +#: ../src/fe-gtk/menu.c:1434 +msgid "_Reconnect" +msgstr "_Reconectar" + +#: ../src/fe-gtk/menu.c:1438 +msgid "Marked Away" +msgstr "Ausencia marcada" + +#: ../src/fe-gtk/menu.c:1440 +msgid "_Usermenu" +msgstr "Menú de _usuario" + +#. 39 +#: ../src/fe-gtk/menu.c:1442 +msgid "S_ettings" +msgstr "C_onfiguración" + +#: ../src/fe-gtk/menu.c:1443 +msgid "_Preferences" +msgstr "Preferencias" + +#: ../src/fe-gtk/menu.c:1445 +msgid "Advanced" +msgstr "Avanzado" + +#: ../src/fe-gtk/menu.c:1446 +msgid "Auto Replace..." +msgstr "Remprazar automaticamente..." + +#: ../src/fe-gtk/menu.c:1447 +msgid "CTCP Replies..." +msgstr "Respostas CTCP..." + +#: ../src/fe-gtk/menu.c:1448 +msgid "Dialog Buttons..." +msgstr "Botóns de diálogo..." + +#: ../src/fe-gtk/menu.c:1449 +msgid "Keyboard Shortcuts..." +msgstr "Atallos de teclado..." + +#: ../src/fe-gtk/menu.c:1450 +msgid "Text Events..." +msgstr "Textos de eventos..." + +#: ../src/fe-gtk/menu.c:1451 +msgid "URL Handlers..." +msgstr "Manexadores de URL..." + +#: ../src/fe-gtk/menu.c:1452 +msgid "User Commands..." +msgstr "Comandos de usuario..." + +#: ../src/fe-gtk/menu.c:1453 +msgid "Userlist Buttons..." +msgstr "Botóns de lista de usuarios..." + +#: ../src/fe-gtk/menu.c:1454 +msgid "Userlist Popup..." +msgstr "Lista de usuarios emerxente..." + +#. 52 +#: ../src/fe-gtk/menu.c:1457 +msgid "_Window" +msgstr "_Ventá" + +#: ../src/fe-gtk/menu.c:1458 +msgid "Ban List..." +msgstr "Lista de vetados..." + +#: ../src/fe-gtk/menu.c:1459 +msgid "Channel List..." +msgstr "Lista de canles..." + +#: ../src/fe-gtk/menu.c:1460 +msgid "Character Chart..." +msgstr "Mapa de caracteres..." + +#: ../src/fe-gtk/menu.c:1461 +msgid "Direct Chat..." +msgstr "Chat directo..." + +#: ../src/fe-gtk/menu.c:1462 +msgid "File Transfers..." +msgstr "Transferencias de ficheiros..." + +#: ../src/fe-gtk/menu.c:1463 +msgid "Ignore List..." +msgstr "Lista de ignorados..." + +#: ../src/fe-gtk/menu.c:1464 +msgid "Notify List..." +msgstr "Lista de notificacións..." + +#: ../src/fe-gtk/menu.c:1465 +msgid "Plugins and Scripts..." +msgstr "Complementos e Scripts..." + +#: ../src/fe-gtk/menu.c:1466 +msgid "Raw Log..." +msgstr "Rexistro crú..." + +#. 62 +#: ../src/fe-gtk/menu.c:1467 +msgid "URL Grabber..." +msgstr "Capturador de URL..." + +#: ../src/fe-gtk/menu.c:1469 +msgid "Reset Marker Line" +msgstr "Reiniciar marcador de liña" + +#: ../src/fe-gtk/menu.c:1470 +msgid "C_lear Text" +msgstr "_Limpar texto" + +#: ../src/fe-gtk/menu.c:1472 +msgid "Search Text..." +msgstr "Buscar texto..." + +#: ../src/fe-gtk/menu.c:1473 +msgid "Save Text..." +msgstr "Gardar texto..." + +#: ../src/fe-gtk/menu.c:1475 ../src/fe-gtk/menu.c:1949 +msgid "_Help" +msgstr "A_xuda" + +#. 69 +#: ../src/fe-gtk/menu.c:1476 +msgid "_Contents" +msgstr "_Contidos" + +#: ../src/fe-gtk/menu.c:1477 +msgid "_About" +msgstr "_Acerca de" + +#: ../src/fe-gtk/menu.c:1962 +msgid "_Attach Window" +msgstr "_Ventá de adxunto" + +#: ../src/fe-gtk/menu.c:1963 +msgid "_Close Window" +msgstr "_Pechar Ventá" + +#: ../src/fe-gtk/notifygui.c:137 +msgid "User" +msgstr "Usuario" + +#: ../src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "Visto por última vez" + +#: ../src/fe-gtk/notifygui.c:181 +msgid "Offline" +msgstr "Desconectado" + +#: ../src/fe-gtk/notifygui.c:201 ../src/fe-gtk/setup.c:230 +msgid "Never" +msgstr "Nunca" + +#: ../src/fe-gtk/notifygui.c:204 ../src/fe-gtk/notifygui.c:229 +#, c-format +msgid "%d minutes ago" +msgstr "fai %d minutos" + +#: ../src/fe-gtk/notifygui.c:219 +msgid "Online" +msgstr "Conectado" + +#: ../src/fe-gtk/notifygui.c:348 +msgid "Enter nickname to add:" +msgstr "Introduza o alcume a engadir:" + +#: ../src/fe-gtk/notifygui.c:376 +msgid "Notify on these networks:" +msgstr "Notificar nestas redes:" + +#: ../src/fe-gtk/notifygui.c:387 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: ../src/fe-gtk/notifygui.c:407 +msgid "XChat: Notify List" +msgstr "XChat: Lista de notificacións" + +#: ../src/fe-gtk/notifygui.c:428 +msgid "Open Dialog" +msgstr "Abrir diálogo" + +#: ../src/fe-gtk/plugin-tray.c:163 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" + +#: ../src/fe-gtk/plugin-tray.c:214 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat: Conectado a %u redes e %u canles" + +#: ../src/fe-gtk/plugin-tray.c:451 +msgid "_Restore" +msgstr "_Restaurar" + +#: ../src/fe-gtk/plugin-tray.c:453 +msgid "_Hide" +msgstr "_Ocultar" + +#: ../src/fe-gtk/plugin-tray.c:456 +msgid "_Blink on" +msgstr "_Intermitencia en" + +#: ../src/fe-gtk/plugin-tray.c:457 ../src/fe-gtk/setup.c:477 +msgid "Channel Message" +msgstr "Mensaxe de canle" + +#: ../src/fe-gtk/plugin-tray.c:458 ../src/fe-gtk/setup.c:478 +msgid "Private Message" +msgstr "Mensaxe privada" + +#: ../src/fe-gtk/plugin-tray.c:459 ../src/fe-gtk/setup.c:479 +msgid "Highlighted Message" +msgstr "Resaltar mensaxe" + +#: ../src/fe-gtk/plugin-tray.c:507 ../src/fe-gtk/plugin-tray.c:515 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "XChat: Resaltar mensaxe de %s (%s)" + +#: ../src/fe-gtk/plugin-tray.c:510 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat: %u mensaxes resaltadas, a última de: %s (%s)" + +#: ../src/fe-gtk/plugin-tray.c:533 ../src/fe-gtk/plugin-tray.c:540 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat: Nova mensaxe pública de %s (%s)" + +#: ../src/fe-gtk/plugin-tray.c:536 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat: %u novas mensaxes públicas" + +#: ../src/fe-gtk/plugin-tray.c:562 ../src/fe-gtk/plugin-tray.c:569 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat: Mensaxe privada desde %s (%s)" + +#: ../src/fe-gtk/plugin-tray.c:565 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat: %u mensaxes privadas, a última de: %s (%s)" + +#: ../src/fe-gtk/plugin-tray.c:615 ../src/fe-gtk/plugin-tray.c:623 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: Ofrécese ficheiro desde: %s (%s)" + +#: ../src/fe-gtk/plugin-tray.c:618 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "XChat: %u ficheiro ofrecidos, o último de: %s (%s)" + +#: ../src/fe-gtk/plugingui.c:76 ../src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Descrición" + +#: ../src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Seleccione un Complemento ou Script a cargar" + +#: ../src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: Complementos e Scripts" + +#: ../src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Cargar..." + +#: ../src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "_Desactivar" + +#: ../src/fe-gtk/plugingui.c:236 ../src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "_Pechar" + +#: ../src/fe-gtk/rawlog.c:81 ../src/fe-gtk/rawlog.c:130 +#: ../src/fe-gtk/textgui.c:438 ../src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Gardar como..." + +#: ../src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: Rexistro crú (%s)" + +#: ../src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Limpar rexistro crú" + +#: ../src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "A ventá que abreu esta busca non existe máis." + +#: ../src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "" + +#: ../src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Buscar" + +#: ../src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "_Coincidir maiúsculas" + +#: ../src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "Buscar para _atrás" + +#: ../src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "_Procurar" + +#: ../src/fe-gtk/servlistgui.c:170 ../src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "Nova rede" + +#: ../src/fe-gtk/servlistgui.c:554 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Realmente desexa eliminar a rede \"%s\" e todos os seus servidores?" + +#: ../src/fe-gtk/servlistgui.c:678 +msgid "User name and Real name cannot be left blank." +msgstr "O nome de usuario e nome verdadeiro non poden estár en branco." + +#: ../src/fe-gtk/servlistgui.c:978 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: Editar %s" + +#: ../src/fe-gtk/servlistgui.c:997 +#, c-format +msgid "Servers for %s" +msgstr "Servidor para %s" + +#: ../src/fe-gtk/servlistgui.c:1008 +msgid "Connect to selected server only" +msgstr "Conectar só ao servidor seleccionado" + +#: ../src/fe-gtk/servlistgui.c:1009 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "" +"Non ciclar a non ser que todos os servidores aos que está conectando fallen." + +#: ../src/fe-gtk/servlistgui.c:1011 +msgid "Your Details" +msgstr "Seus detalles" + +#: ../src/fe-gtk/servlistgui.c:1017 +msgid "Use global user information" +msgstr "Usar información global de usuario" + +#: ../src/fe-gtk/servlistgui.c:1020 ../src/fe-gtk/servlistgui.c:1252 +msgid "_Nick name:" +msgstr "_Alcume:" + +#: ../src/fe-gtk/servlistgui.c:1024 ../src/fe-gtk/servlistgui.c:1259 +msgid "Second choice:" +msgstr "Segunda elección:" + +#: ../src/fe-gtk/servlistgui.c:1028 ../src/fe-gtk/servlistgui.c:1273 +msgid "_User name:" +msgstr "Nome de _usuario:" + +#: ../src/fe-gtk/servlistgui.c:1032 ../src/fe-gtk/servlistgui.c:1280 +msgid "Rea_l name:" +msgstr "Nome _verdadeiro:" + +#: ../src/fe-gtk/servlistgui.c:1035 +msgid "Connecting" +msgstr "Conectando" + +#: ../src/fe-gtk/servlistgui.c:1041 +msgid "Auto connect to this network at startup" +msgstr "Conectarse automaticamente a esta rede ao inicio" + +#: ../src/fe-gtk/servlistgui.c:1043 +msgid "Use a proxy server" +msgstr "Usar un servidor proxy" + +#: ../src/fe-gtk/servlistgui.c:1045 +msgid "Use SSL for all the servers on this network" +msgstr "Usar SSL para todos os servidores desta rede" + +#: ../src/fe-gtk/servlistgui.c:1050 +msgid "Accept invalid SSL certificate" +msgstr "Aceptar certificado SSL inválido" + +#: ../src/fe-gtk/servlistgui.c:1056 +msgid "C_hannels to join:" +msgstr "C_anles para entrar:" + +#: ../src/fe-gtk/servlistgui.c:1058 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Canles ás que entrar, separados por comas, non por espacios!" + +#: ../src/fe-gtk/servlistgui.c:1061 +msgid "Connect command:" +msgstr "Comando de conexión:" + +#: ../src/fe-gtk/servlistgui.c:1063 +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 extra para executar despois de conectar. Se necesita máis que un, " +"establece isto a LOAD -e <nome de ficheiro>, onde <nome de ficheiro> é un " +"ficheiro de texto de comandos a executar." + +#: ../src/fe-gtk/servlistgui.c:1066 +msgid "Nickserv password:" +msgstr "Contrasinal do servidor de alcumes:" + +#: ../src/fe-gtk/servlistgui.c:1068 +msgid "" +"If your nickname requires a password, enter it here. Not all IRC networks " +"support this." +msgstr "" +"Se o teu alcume require dun contrasinal, introdúceo aquí. Non todas as redes " +"IRC soportan isto." + +#: ../src/fe-gtk/servlistgui.c:1072 +msgid "Server password:" +msgstr "Contrasinal do servidor:" + +#: ../src/fe-gtk/servlistgui.c:1074 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Contrasinal para o servidor, se duda, déixeo en branco." + +#: ../src/fe-gtk/servlistgui.c:1077 +msgid "Character set:" +msgstr "Conxunto de caracteres:" + +#: ../src/fe-gtk/servlistgui.c:1147 +msgid "_Edit" +msgstr "E_ditar" + +#: ../src/fe-gtk/servlistgui.c:1230 +msgid "XChat: Network List" +msgstr "XChat: Lista de redes" + +#: ../src/fe-gtk/servlistgui.c:1242 +msgid "User Information" +msgstr "Información de usuario" + +#: ../src/fe-gtk/servlistgui.c:1266 +msgid "Third choice:" +msgstr "Terceira elección:" + +#: ../src/fe-gtk/servlistgui.c:1326 +msgid "Networks" +msgstr "Redes" + +#: ../src/fe-gtk/servlistgui.c:1367 +msgid "Skip network list on startup" +msgstr "Saltar a lista de servidores ao inicio" + +#: ../src/fe-gtk/servlistgui.c:1399 +msgid "_Edit..." +msgstr "_Editar..." + +#: ../src/fe-gtk/servlistgui.c:1406 +msgid "_Sort" +msgstr "_Ordenar" + +#: ../src/fe-gtk/servlistgui.c:1407 +msgid "" +"Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN " +"keys to move a row." +msgstr "" + +#: ../src/fe-gtk/servlistgui.c:1432 +msgid "C_onnect" +msgstr "C_onectar" + +#: ../src/fe-gtk/setup.c:103 +msgid "Text Box Appearance" +msgstr "Apariencia da caixa de texto" + +#: ../src/fe-gtk/setup.c:104 +msgid "Font:" +msgstr "Fonte:" + +#: ../src/fe-gtk/setup.c:105 +msgid "Background image:" +msgstr "Imaxe de fondo:" + +#: ../src/fe-gtk/setup.c:106 +msgid "Scrollback lines:" +msgstr "Liñas de desprazamento:" + +#: ../src/fe-gtk/setup.c:107 +msgid "Colored nick names" +msgstr "Alcumes con cores" + +#: ../src/fe-gtk/setup.c:108 +msgid "Give each person on IRC a different color" +msgstr "Dar a cada persoa unha cor diferente no IRC" + +#: ../src/fe-gtk/setup.c:109 +msgid "Indent nick names" +msgstr "Indentar alcumes" + +#: ../src/fe-gtk/setup.c:110 +msgid "Make nick names right-justified" +msgstr "Xustificar alcumes á dereita." + +#: ../src/fe-gtk/setup.c:111 +msgid "Transparent background" +msgstr "Fondo transparente" + +#: ../src/fe-gtk/setup.c:112 +msgid "Show marker line" +msgstr "Mostrar liña de marcado" + +#: ../src/fe-gtk/setup.c:113 +msgid "Insert a red line after the last read text." +msgstr "Inserir unha liña vermella despois do último texto lido." + +#: ../src/fe-gtk/setup.c:114 +msgid "Transparency Settings" +msgstr "Configuración de transparencia" + +#: ../src/fe-gtk/setup.c:115 +msgid "Red:" +msgstr "Vermello:" + +#: ../src/fe-gtk/setup.c:116 +msgid "Green:" +msgstr "Verde:" + +#: ../src/fe-gtk/setup.c:117 +msgid "Blue:" +msgstr "Azul:" + +#: ../src/fe-gtk/setup.c:119 ../src/fe-gtk/setup.c:389 +msgid "Time Stamps" +msgstr "Inserción de hora:" + +#: ../src/fe-gtk/setup.c:120 +msgid "Enable time stamps" +msgstr "Activar inserción de hora" + +#: ../src/fe-gtk/setup.c:121 +msgid "Time stamp format:" +msgstr "Formato de inserción de hora:" + +#: ../src/fe-gtk/setup.c:122 ../src/fe-gtk/setup.c:392 +msgid "See strftime manpage for details." +msgstr "Vexa a páxina do manual de strftime para máis detalles" + +#: ../src/fe-gtk/setup.c:129 ../src/fe-gtk/setup.c:169 +msgid "A-Z" +msgstr "A-Z" + +#: ../src/fe-gtk/setup.c:130 +msgid "Last-spoke order" +msgstr "" + +#: ../src/fe-gtk/setup.c:136 ../src/fe-gtk/setup.c:1684 +msgid "Input box" +msgstr "Caixa de entrada" + +#: ../src/fe-gtk/setup.c:137 ../src/fe-gtk/setup.c:201 +msgid "Use the Text box font and colors" +msgstr "Usar a fonte e cores da caixa de texto" + +#: ../src/fe-gtk/setup.c:139 +msgid "Spell checking" +msgstr "Comprobar ortografía" + +#: ../src/fe-gtk/setup.c:142 +msgid "Nick Completion" +msgstr "Completado de alcume" + +#: ../src/fe-gtk/setup.c:143 +msgid "Automatic nick completion (without TAB key)" +msgstr "Completar alcume automaticamente (sen a tecla TAB)" + +#: ../src/fe-gtk/setup.c:145 +msgid "Nick completion suffix:" +msgstr "Sufixo de completado para o alcume:" + +#: ../src/fe-gtk/setup.c:146 +msgid "Nick completion sorted:" +msgstr "Completado de alcume ordenado:" + +#: ../src/fe-gtk/setup.c:149 +msgid "Input Box Codes" +msgstr "Códigos de caixa de entrada" + +#: ../src/fe-gtk/setup.c:150 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Interpretar %nnn como un valor ASCII" + +#: ../src/fe-gtk/setup.c:151 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Interpretar %C, %B como Cor, Grosa etc" + +#: ../src/fe-gtk/setup.c:168 +msgid "A-Z, Ops first" +msgstr "A-Z, Operadores primeiro" + +#: ../src/fe-gtk/setup.c:170 +msgid "Z-A, Ops last" +msgstr "Z-A, Operadores abaixo" + +#: ../src/fe-gtk/setup.c:171 +msgid "Z-A" +msgstr "Z-A" + +#: ../src/fe-gtk/setup.c:172 +msgid "Unsorted" +msgstr "Desordenada" + +#: ../src/fe-gtk/setup.c:178 ../src/fe-gtk/setup.c:190 +msgid "Left (Upper)" +msgstr "" + +#: ../src/fe-gtk/setup.c:179 ../src/fe-gtk/setup.c:191 +msgid "Left (Lower)" +msgstr "" + +#: ../src/fe-gtk/setup.c:180 ../src/fe-gtk/setup.c:192 +msgid "Right (Upper)" +msgstr "" + +#: ../src/fe-gtk/setup.c:181 ../src/fe-gtk/setup.c:193 +msgid "Right (Lower)" +msgstr "" + +#: ../src/fe-gtk/setup.c:182 +msgid "Top" +msgstr "Enriba" + +#: ../src/fe-gtk/setup.c:183 +msgid "Bottom" +msgstr "Abaixo" + +#: ../src/fe-gtk/setup.c:184 +msgid "Hidden" +msgstr "Oculto" + +#: ../src/fe-gtk/setup.c:199 +msgid "User List" +msgstr "Lista de usuarios" + +#: ../src/fe-gtk/setup.c:200 +msgid "Show hostnames in user list" +msgstr "Mostrar os nomes dos equipos na lista de usuarios" + +#. {ST_TOGGLE, N_("Resizable user list"), P_OFFINTNL(paned_userlist),0,0,0}, +#: ../src/fe-gtk/setup.c:203 +msgid "User list sorted by:" +msgstr "Lista de usuarios ordenada por:" + +#: ../src/fe-gtk/setup.c:204 +msgid "Show user list at:" +msgstr "Mostrar lista de usuarios a:" + +#: ../src/fe-gtk/setup.c:206 +msgid "Away tracking" +msgstr "Rastreo de ausencia" + +#: ../src/fe-gtk/setup.c:207 +msgid "Track the Away status of users and mark them in a different color" +msgstr "" +"Impresión do estado de ausencia de usuarios e marcalo cunha cor diferente" + +#: ../src/fe-gtk/setup.c:208 +msgid "On channels smaller than:" +msgstr "Nas canles máis pequenas que:" + +#: ../src/fe-gtk/setup.c:210 +msgid "Action Upon Double Click" +msgstr "Acción facendo dobre pulsación" + +#: ../src/fe-gtk/setup.c:211 +msgid "Execute command:" +msgstr "Executar comando:" + +#: ../src/fe-gtk/setup.c:222 +msgid "Windows" +msgstr "Ventás" + +#: ../src/fe-gtk/setup.c:223 ../src/fe-gtk/setup.c:239 +msgid "Tabs" +msgstr "Solapas" + +#: ../src/fe-gtk/setup.c:231 +msgid "Always" +msgstr "Sempre" + +#: ../src/fe-gtk/setup.c:232 +msgid "Only requested tabs" +msgstr "Só retomar solapas" + +#. 0 tabs +#. 1 reserved +#: ../src/fe-gtk/setup.c:241 +msgid "Tree" +msgstr "Árbore" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: ../src/fe-gtk/setup.c:248 +msgid "Switcher type:" +msgstr "Cambiar tipo:" + +#: ../src/fe-gtk/setup.c:249 +msgid "Open an extra tab for server messages" +msgstr "Abrir unha solapa extra para as mensaxes do servidor" + +#: ../src/fe-gtk/setup.c:250 +msgid "Open an extra tab for server notices" +msgstr "Abrir unha mensaxe extra para as noticias do servidor" + +#: ../src/fe-gtk/setup.c:251 +msgid "Open a new tab when you receive a private message" +msgstr "Abrir unha solapa nova cando reciba unha mensaxe privada" + +#: ../src/fe-gtk/setup.c:252 +msgid "Sort tabs in alphabetical order" +msgstr "Ordenar solapas en orde alfabético" + +#: ../src/fe-gtk/setup.c:253 +msgid "Small tabs" +msgstr "Solapas pequenas" + +#: ../src/fe-gtk/setup.c:255 +msgid "Focus new tabs:" +msgstr "Enfocar as novas solapas:" + +#: ../src/fe-gtk/setup.c:257 +msgid "Show channel switcher at:" +msgstr "" + +#: ../src/fe-gtk/setup.c:258 +msgid "Shorten tab labels to:" +msgstr "Reducir etiquetas das solapas a:" + +#: ../src/fe-gtk/setup.c:258 +msgid "letters." +msgstr "letras." + +#: ../src/fe-gtk/setup.c:260 +msgid "Tabs or Windows" +msgstr "Solapas ou Ventás" + +#: ../src/fe-gtk/setup.c:261 +msgid "Open channels in:" +msgstr "Abrir canles en:" + +#: ../src/fe-gtk/setup.c:262 +msgid "Open dialogs in:" +msgstr "Abrir diálogos en:" + +#: ../src/fe-gtk/setup.c:263 +msgid "Open utilities in:" +msgstr "Abrir utilidades en:" + +#: ../src/fe-gtk/setup.c:263 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Abrir DCC, Ignorar, Notificar etc, en solapas ou ventás?" + +#: ../src/fe-gtk/setup.c:270 +msgid "No" +msgstr "Non" + +#: ../src/fe-gtk/setup.c:271 +msgid "Yes" +msgstr "Si" + +#: ../src/fe-gtk/setup.c:272 +msgid "Browse for save folder every time" +msgstr "" + +#: ../src/fe-gtk/setup.c:278 +msgid "Files and Directories" +msgstr "Ficheiros e Directorios" + +#: ../src/fe-gtk/setup.c:279 +msgid "Auto accept file offers:" +msgstr "Aceptar ofrecementos de ficheiros:" + +#: ../src/fe-gtk/setup.c:280 +msgid "Download files to:" +msgstr "Descargar ficheiros en:" + +#: ../src/fe-gtk/setup.c:281 +msgid "Move completed files to:" +msgstr "Mover ficheiros completados a:" + +#: ../src/fe-gtk/setup.c:282 +msgid "Save nick name in filenames" +msgstr "Gardar o alcume nos nomes de ficheiros" + +#: ../src/fe-gtk/setup.c:284 +msgid "Network Settings" +msgstr "Configuracións de rede" + +#: ../src/fe-gtk/setup.c:285 +msgid "Get my address from the IRC server" +msgstr "Obter o meu enderezo do servidor IRC" + +#: ../src/fe-gtk/setup.c:286 +msgid "" +"Asks the IRC server for your real address. Use this if you have a 192.168.*." +"* address!" +msgstr "" +"Preguntarlle ao servidor IRC o teu enderezo verdadeiro. Usa isto se tes un " +"enderezo 192.168.*.*!" + +#: ../src/fe-gtk/setup.c:287 +msgid "DCC IP address:" +msgstr "Enderezo IP DCC:" + +#: ../src/fe-gtk/setup.c:288 +msgid "Claim you are at this address when offering files." +msgstr "Pretender estar neste enderezo cando está ofrecendo ficheiros." + +#: ../src/fe-gtk/setup.c:289 +msgid "First DCC send port:" +msgstr "Primer porto de envío DCC:" + +#: ../src/fe-gtk/setup.c:290 +msgid "Last DCC send port:" +msgstr "Último porto de envío DCC:" + +#: ../src/fe-gtk/setup.c:291 +msgid "!Leave ports at zero for full range." +msgstr "Deixar os portos en cero para o rango completo." + +#: ../src/fe-gtk/setup.c:293 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Velocidade máxima de transferencia de ficheiros (bytes por segundo)" + +#: ../src/fe-gtk/setup.c:294 +msgid "One upload:" +msgstr "Unha subida:" + +#: ../src/fe-gtk/setup.c:295 ../src/fe-gtk/setup.c:297 +msgid "Maximum speed for one transfer" +msgstr "Velocidade máxima para unha transferencia" + +#: ../src/fe-gtk/setup.c:296 +msgid "One download:" +msgstr "Unha descarga:" + +#: ../src/fe-gtk/setup.c:298 +msgid "All uploads combined:" +msgstr "Todas as subidas mesturadas:" + +#: ../src/fe-gtk/setup.c:299 ../src/fe-gtk/setup.c:301 +msgid "Maximum speed for all files" +msgstr "Velocidade máxima para todos os ficheiros" + +#: ../src/fe-gtk/setup.c:300 +msgid "All downloads combined:" +msgstr "Todas as descargas mesturadas:" + +#: ../src/fe-gtk/setup.c:328 ../src/fe-gtk/setup.c:1690 +msgid "Alerts" +msgstr "Alertas" + +#: ../src/fe-gtk/setup.c:332 +#, fuzzy +msgid "Show tray balloons on:" +msgstr "Amosar solapas:" + +#: ../src/fe-gtk/setup.c:334 +msgid "Blink tray icon on:" +msgstr "Intermitencia da icona da bandexa en:" + +#: ../src/fe-gtk/setup.c:335 +msgid "Blink task bar on:" +msgstr "Intermitencia da barra de tarefas en:" + +#: ../src/fe-gtk/setup.c:336 +msgid "Make a beep sound on:" +msgstr "Emitir un son en:" + +#: ../src/fe-gtk/setup.c:338 +msgid "Enable system tray icon" +msgstr "Activar icona da bandexa do sistema" + +#: ../src/fe-gtk/setup.c:340 +msgid "Highlighted Messages" +msgstr "Mensaxes resaltadas" + +#: ../src/fe-gtk/setup.c:341 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" +"As mensaxes resaltadas son nas que se menciona o seu alcume, pero tamén:" + +#: ../src/fe-gtk/setup.c:343 +msgid "Extra words to highlight:" +msgstr "Palabras adicionais para resaltar:" + +#: ../src/fe-gtk/setup.c:344 +msgid "Nick names not to highlight:" +msgstr "Os alcumes a non resaltar:" + +#: ../src/fe-gtk/setup.c:345 +msgid "Nick names to always highlight:" +msgstr "Os alcumes para resaltar sempre:" + +#: ../src/fe-gtk/setup.c:346 +msgid "Separate multiple words with commas." +msgstr "Separar palabras múltiples con comas." + +#: ../src/fe-gtk/setup.c:352 +msgid "Default Messages" +msgstr "Mensaxes predeterminadas" + +#: ../src/fe-gtk/setup.c:353 +msgid "Quit:" +msgstr "Saír:" + +#: ../src/fe-gtk/setup.c:354 +msgid "Leave channel:" +msgstr "Abandonar a canle:" + +#: ../src/fe-gtk/setup.c:355 +msgid "Away:" +msgstr "Ausente:" + +#: ../src/fe-gtk/setup.c:357 +msgid "Away" +msgstr "Ausente" + +#: ../src/fe-gtk/setup.c:358 +msgid "Announce away messages" +msgstr "Anunciar mensaxes de ausencia" + +#: ../src/fe-gtk/setup.c:359 +msgid "Announce your away messages to all channels" +msgstr "Anunciar súas mensaxes de ausencia a todas as canles" + +#: ../src/fe-gtk/setup.c:360 +msgid "Show away once" +msgstr "Mostrar ausencia unha soa vez" + +#: ../src/fe-gtk/setup.c:360 +msgid "Show identical away messages only once" +msgstr "Mostrar mensaxes idénticas de ausencia unha soa vez" + +#: ../src/fe-gtk/setup.c:361 +msgid "Automatically unmark away" +msgstr "Desmarcar ausencia automaticamente" + +#: ../src/fe-gtk/setup.c:361 +msgid "Unmark yourself as away before sending messages" +msgstr "Desmarcarse como ausente antes de enviar mensaxes" + +#: ../src/fe-gtk/setup.c:368 +msgid "Advanced Settings" +msgstr "Configuración avanzada" + +#: ../src/fe-gtk/setup.c:369 +msgid "Auto reconnect delay:" +msgstr "Retraso de reconexión automática:" + +#: ../src/fe-gtk/setup.c:370 +msgid "Display MODEs in raw form" +msgstr "Mostrar os MODOs en forma crú" + +#: ../src/fe-gtk/setup.c:371 +msgid "Whois on notify" +msgstr "Executar Whois nas notificacións" + +#: ../src/fe-gtk/setup.c:371 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Envía un /WHOIS cando se conecta un usuario da lista de notificacións" + +#: ../src/fe-gtk/setup.c:372 +msgid "Hide join and part messages" +msgstr "Ocultar mensaxes de entrada e saída" + +#: ../src/fe-gtk/setup.c:372 +msgid "Hide channel join/part messages by default" +msgstr "Ocultar mensaxes de entrada/saída da canle por defecto" + +#: ../src/fe-gtk/setup.c:373 +msgid "Auto Open DCC Windows" +msgstr "Abrir automaticamente ventás DCC" + +#: ../src/fe-gtk/setup.c:374 +msgid "Send window" +msgstr "Ventá de envío" + +#: ../src/fe-gtk/setup.c:375 +msgid "Receive window" +msgstr "Ventá de recepción" + +#: ../src/fe-gtk/setup.c:376 +msgid "Chat window" +msgstr "Ventá de Chat" + +#: ../src/fe-gtk/setup.c:384 ../src/fe-gtk/setup.c:1692 +msgid "Logging" +msgstr "Rexistros" + +#: ../src/fe-gtk/setup.c:385 +msgid "Enable logging of conversations" +msgstr "Habilitar o rexistro de conversacións" + +#: ../src/fe-gtk/setup.c:386 +msgid "Log filename:" +msgstr "Nome do ficheiro de rexistro:" + +#: ../src/fe-gtk/setup.c:387 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Servidor %c=Canle %n=Rede." + +#: ../src/fe-gtk/setup.c:390 +msgid "Insert timestamps in logs" +msgstr "Inserir marcas de data/hora nos rexistros" + +#: ../src/fe-gtk/setup.c:391 +msgid "Log timestamp format:" +msgstr "Formato de data/hora para o rexistro:" + +#: ../src/fe-gtk/setup.c:399 +msgid "(Disabled)" +msgstr "(Desactivado)" + +#: ../src/fe-gtk/setup.c:400 +msgid "Wingate" +msgstr "Wingate" + +#: ../src/fe-gtk/setup.c:401 +msgid "Socks4" +msgstr "Socks4" + +#: ../src/fe-gtk/setup.c:402 +msgid "Socks5" +msgstr "Socks5" + +#: ../src/fe-gtk/setup.c:403 +msgid "HTTP" +msgstr "HTTP" + +#: ../src/fe-gtk/setup.c:405 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: ../src/fe-gtk/setup.c:412 +msgid "All Connections" +msgstr "Tódalas conexións" + +#: ../src/fe-gtk/setup.c:413 +msgid "IRC Server Only" +msgstr "Só servidor IRC" + +#: ../src/fe-gtk/setup.c:414 +msgid "DCC Get Only" +msgstr "" + +#: ../src/fe-gtk/setup.c:420 +msgid "Your Address" +msgstr "Seu enderezo" + +#: ../src/fe-gtk/setup.c:421 +msgid "Bind to:" +msgstr "Ligar a:" + +#: ../src/fe-gtk/setup.c:422 +msgid "Only useful for computers with multiple addresses." +msgstr "Só é útil para computadoras con enderezos múltiples." + +#: ../src/fe-gtk/setup.c:424 +msgid "Proxy Server" +msgstr "Servidor proxy" + +#: ../src/fe-gtk/setup.c:425 +msgid "Hostname:" +msgstr "Nome do equipo:" + +#: ../src/fe-gtk/setup.c:426 +msgid "Port:" +msgstr "Porto:" + +#: ../src/fe-gtk/setup.c:427 +msgid "Type:" +msgstr "Tipo:" + +#: ../src/fe-gtk/setup.c:428 +msgid "Use proxy for:" +msgstr "Usar proxy para:" + +#: ../src/fe-gtk/setup.c:430 +msgid "Proxy Authentication" +msgstr "Autenticación de Proxy" + +#: ../src/fe-gtk/setup.c:432 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Usar autenticación (só MS Proxy, HTTP ou Socks5)" + +#: ../src/fe-gtk/setup.c:434 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Usar autenticación (só HTTP ou Socks5)" + +#: ../src/fe-gtk/setup.c:436 +msgid "Username:" +msgstr "Nome de usuario:" + +#: ../src/fe-gtk/setup.c:437 +msgid "Password:" +msgstr "Contrasinal:" + +#: ../src/fe-gtk/setup.c:867 +msgid "Select an Image File" +msgstr "Seleccionar un ficheiro de imaxe" + +#: ../src/fe-gtk/setup.c:891 +msgid "Select Download Folder" +msgstr "Seleccionar cartafol de descarga" + +#: ../src/fe-gtk/setup.c:900 +msgid "Select font" +msgstr "Seleccionar fonte" + +#: ../src/fe-gtk/setup.c:997 +msgid "Browse..." +msgstr "Examinar..." + +#: ../src/fe-gtk/setup.c:1135 +msgid "Mark identified users with:" +msgstr "Marcar usuario identificados con:" + +#: ../src/fe-gtk/setup.c:1137 +msgid "Mark not-identified users with:" +msgstr "Marcar usuario non identificados con:" + +#: ../src/fe-gtk/setup.c:1144 +msgid "Open Data Folder" +msgstr "Abrir cartafol de datos" + +#: ../src/fe-gtk/setup.c:1198 +msgid "Select color" +msgstr "Seleccionar cor" + +#: ../src/fe-gtk/setup.c:1278 +msgid "Text Colors" +msgstr "Cores do texto" + +#: ../src/fe-gtk/setup.c:1280 +msgid "mIRC colors:" +msgstr "Cores de mIRC:" + +#: ../src/fe-gtk/setup.c:1288 +msgid "Local colors:" +msgstr "Cores locais:" + +#: ../src/fe-gtk/setup.c:1296 ../src/fe-gtk/setup.c:1301 +msgid "Foreground:" +msgstr "Primeiro plano:" + +#: ../src/fe-gtk/setup.c:1297 ../src/fe-gtk/setup.c:1302 +msgid "Background:" +msgstr "Fondo:" + +#: ../src/fe-gtk/setup.c:1299 +msgid "Marking Text" +msgstr "Texto marcado" + +#: ../src/fe-gtk/setup.c:1304 +msgid "Interface Colors" +msgstr "Cores da interface" + +#: ../src/fe-gtk/setup.c:1306 +msgid "New data:" +msgstr "Dato novo:" + +#: ../src/fe-gtk/setup.c:1307 +msgid "Marker line:" +msgstr "Liña marcada:" + +#: ../src/fe-gtk/setup.c:1308 +msgid "New message:" +msgstr "Nova mensaxe:" + +#: ../src/fe-gtk/setup.c:1309 +msgid "Away user:" +msgstr "Usuario ausente:" + +#: ../src/fe-gtk/setup.c:1310 +msgid "Highlight:" +msgstr "Resaltado:" + +#: ../src/fe-gtk/setup.c:1406 ../src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "Evento" + +#: ../src/fe-gtk/setup.c:1412 +msgid "Sound file" +msgstr "Ficheiro de son" + +#: ../src/fe-gtk/setup.c:1447 +msgid "Select a sound file" +msgstr "Seleccionar un ficheiro de son" + +#: ../src/fe-gtk/setup.c:1519 +msgid "Sound playing method:" +msgstr "Método de reproducción de son:" + +#: ../src/fe-gtk/setup.c:1527 +msgid "External sound playing _program:" +msgstr "_Programa de reproducción externo de son:" + +#: ../src/fe-gtk/setup.c:1545 +msgid "_External program" +msgstr "Programa _externo" + +#: ../src/fe-gtk/setup.c:1555 +msgid "_Automatic" +msgstr "_Automático" + +#: ../src/fe-gtk/setup.c:1568 +msgid "Sound files _directory:" +msgstr "_Directorio de ficheiros de son:" + +#: ../src/fe-gtk/setup.c:1607 +msgid "Sound file:" +msgstr "Ficheiro de son:" + +#: ../src/fe-gtk/setup.c:1622 +msgid "_Browse..." +msgstr "_Examinar..." + +#: ../src/fe-gtk/setup.c:1633 +msgid "_Play" +msgstr "_Reproducir" + +#: ../src/fe-gtk/setup.c:1682 +msgid "Interface" +msgstr "Interface" + +#: ../src/fe-gtk/setup.c:1683 +msgid "Text box" +msgstr "Caixa de texto" + +#: ../src/fe-gtk/setup.c:1685 +msgid "User list" +msgstr "Lista de usuarios" + +#: ../src/fe-gtk/setup.c:1686 +#, fuzzy +msgid "Channel switcher" +msgstr "canles con" + +#: ../src/fe-gtk/setup.c:1687 +msgid "Colors" +msgstr "Cores" + +#: ../src/fe-gtk/setup.c:1689 +msgid "Chatting" +msgstr "Chateo" + +#: ../src/fe-gtk/setup.c:1691 +msgid "General" +msgstr "Xeral" + +#: ../src/fe-gtk/setup.c:1693 +msgid "Sound" +msgstr "Son" + +#: ../src/fe-gtk/setup.c:1697 +msgid "Network setup" +msgstr "Configuración de rede" + +#: ../src/fe-gtk/setup.c:1698 +msgid "File transfers" +msgstr "Transferencias de ficheiros" + +#: ../src/fe-gtk/setup.c:1806 +msgid "Categories" +msgstr "Categorías" + +#: ../src/fe-gtk/setup.c:1993 +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 "" + +#: ../src/fe-gtk/setup.c:2003 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" +"Algunhas opcións que cambiou requiren un reinicio para ter efecto " +"completamente." + +#: ../src/fe-gtk/setup.c:2011 +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 "" +"*AVISO*\n" +"Aceptar automaticamente DCC ao seu directorio de inicio\n" +"pode ser peligroso e é explotable. Por exemplo:\n" +"Alguén pode enviarlle un ficheiro .bash_profile" + +#: ../src/fe-gtk/setup.c:2044 +msgid "XChat: Preferences" +msgstr "XChat: Preferencias" + +#: ../src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "Houbo un erro analizando a cadea" + +#: ../src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Esta sinal só analizou %d argumentos, $%d é inválido" + +#: ../src/fe-gtk/textgui.c:304 ../src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "Imprimir ficheiros de texto" + +#: ../src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "Editar eventos" + +#: ../src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$ Número" + +#: ../src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "Cargar de..." + +#: ../src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "Probar todo" + +#: ../src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: ../src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: Capturador de URL" + +#: ../src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Limpar lista" + +#: ../src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Copiar a URL seleccionada" + +#: ../src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Copiar" + +#: ../src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Gardar lista nun ficheiro" + +#: ../src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d total" + +#~ msgid "Unban" +#~ msgstr "Quitar veto" + +#, fuzzy +#~ msgid "Channel Switcher" +#~ msgstr "canles con" + +#~ msgid "No other tabs open, quit xchat?" +#~ msgstr "Non hai solapas abertas, saír de xchat?" + +#~ msgid "_Layout" +#~ msgstr "_Distribución" + +#, fuzzy +#~ msgid "Quit..." +#~ msgstr "Saír:" + +#~ msgid "Resizable user list" +#~ msgstr "Lista de usuarios redimensionable" + +#~ msgid "Left" +#~ msgstr "Esquerda" + +#~ msgid "Right" +#~ msgstr "Dereita" + +#, fuzzy +#~ msgid "Above user list" +#~ msgstr "Lista de usuarios redimensionable" + +#~ msgid "US Minor Outlying Islands" +#~ msgstr "Islas Americanas Menores do Exterior" + +#, fuzzy +#~ msgid "File Offer" +#~ msgstr "Transferencias de ficheiros" + +#~ msgid "Flash taskbar on highlighted messages" +#~ msgstr "Destello da barra de tarefas nas mensaxes resaltadas" + +#, fuzzy +#~ msgid "Flash taskbar on private messages" +#~ msgstr "Destello da barra de tarefas nas mensaxes resaltadas" + +#~ msgid "Beep on highlighted messages" +#~ msgstr "Bip en mensaxes resaltadas" + +#~ msgid "Beep on private messages" +#~ msgstr "Bip en mensaxes privadas" + +#~ msgid "Beep on channel messages" +#~ msgstr "Bip en mensaxes de canle" + +#~ msgid "%s loaded successfully!\n" +#~ msgstr "%s cargado correctamente!\n" + +#~ msgid "Go to" +#~ msgstr "Ir a" + +#~ msgid "(Can be a text file relative to ~/.xchat2/)." +#~ msgstr "(Pode ser un ficheiro de texto relativo a ~/.xchat2/)." + +#~ msgid "(Can be a text file relative to config dir)." +#~ msgstr "" +#~ "(Pode ser un ficheiro de texto relativo ao directorio de configuración)." diff --git a/po/hi.po b/po/hi.po new file mode 100644 index 00000000..1872fb3c --- /dev/null +++ b/po/hi.po @@ -0,0 +1,5023 @@ +# translation of xchat-2.4.2.po to Hindi +# This file is put in the public domain. +# Rajesh Ranjan <rranjan@redhat.com>, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: xchat-2.4.2\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2005-03-07 18:50+1100\n" +"PO-Revision-Date: 2005-05-04 12:50+0530\n" +"Last-Translator: Rajesh Ranjan <rranjan@redhat.com>\n" +"Language-Team: Hindi <fedora-trans-hi@redhat.com>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.9.1\n" + +#: src/common/cfgfiles.c:350 +msgid "Cannot create ~/.xchat2" +msgstr "~/.xchat2 बना नहीं सकता है" + +#: src/common/cfgfiles.c:672 +msgid "I'm busy" +msgstr "मैं व्यस्त हूँ" + +#: src/common/cfgfiles.c:673 +msgid "Leaving" +msgstr "छोड़ रहा है" + +#: src/common/cfgfiles.c:719 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* बतौर रूट IRC चलाना वेबकूफी है! आपको एक उपयोक्ता \n" +" खाता बनाना चाहिये और उसे लॉगिन के लिये प्रयोग करना चाहिये.\n" + +#: src/common/dcc.c:61 +msgid "Waiting" +msgstr "प्रतीक्षारत" + +#: src/common/dcc.c:62 +msgid "Active" +msgstr "सक्रिय" + +#: src/common/dcc.c:63 +msgid "Failed" +msgstr "असफल" + +#: src/common/dcc.c:64 +msgid "Done" +msgstr "सम्पन्न" + +#: src/common/dcc.c:65 +msgid "Connect" +msgstr "जोड़ें" + +#: src/common/dcc.c:66 +msgid "Aborted" +msgstr "छोड़ा गया" + +#: src/common/dcc.c:1299 +#, c-format +msgid "Cannot access %s\n" +msgstr "%s का अभिगम नहीं कर सकता\n" + +#: src/common/dcc.c:1919 +msgid "No active DCCs\n" +msgstr "कोई सक्रिय DCC नहीं\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "हां " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "नहीं " + +#: src/common/ignore.c:373 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "%s से आप CTCP फ्लडेड हो रहे हैं, %s को नजरअंदाज कर रहा है\n" + +#: src/common/ignore.c:398 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "%s से आप MSG फ्लडेड हो रहे हैं, gui_auto_open_dialog को बंद कर रहा है.\n" + +#: src/common/notify.c:400 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s ऑनलाइन\n" + +#: src/common/notify.c:402 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s ऑफलाइन\n" + +#: src/common/outbound.c:70 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "कोई चैनल से जुड़ा नहीं है. /join #<channel> की कोशिश करें\n" + +#: src/common/outbound.c:76 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "संबंधित नहीं. /server <host> [<port>] की कोशिश करें\n" + +#: src/common/outbound.c:1375 +msgid "I need /bin/sh to run!\n" +msgstr "मुझे /bin/sh चलाने की जरूरत है!\n" + +#: src/common/outbound.c:1618 +msgid "" +"\n" +"Commands Available:\n" +"\n" +" " +msgstr "" +"\n" +"समादेश उपलब्ध:\n" +"\n" +" " + +#: src/common/outbound.c:1653 +msgid "" +"\n" +"\n" +"Type /HELP <command> for more information, or /HELP -l\n" +"\n" +msgstr "" +"\n" +"\n" +"ज्यादा जानकारी के लिये /HELP <command>, या /HELP -l टंकित करें\n" +"\n" + +#: src/common/outbound.c:1654 +msgid "" +"User defined commands:\n" +"\n" +" " +msgstr "" +"उपयोक्ता परिभाषित समादेश:\n" +"\n" +" " + +#: src/common/outbound.c:1746 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "अज्ञात arg '%s' अनदेखा किया गया." + +#: src/common/outbound.c:2524 +msgid "No such plugin found.\n" +msgstr "ऐसा कोई प्लगिन नहीं मिला.\n" + +#: src/common/outbound.c:2529 src/fe-gtk/plugingui.c:185 +msgid "That plugin is refusing to unload.\n" +msgstr "प्लगिन अनलोड होने से मना कर रहा है.\n" + +#: src/common/outbound.c:2686 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <name> <action>, उपयोक्ता सूची में बटन जोड़ें" + +#: src/common/outbound.c:2688 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, आपके द्वारा शामिल सभी चैनल में समादेश भेजें" + +#: src/common/outbound.c:2690 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, आपके द्वारा शामिल सभी सर्वर में समादेश भेजें" + +#: src/common/outbound.c:2691 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<reason>], आपको दूर सेट करता है" + +#: src/common/outbound.c:2693 +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> [<bantype>], मौजूदा चैनल से मास्क से मिलान करने वाले हर को प्रतिबंधित करता है. अगर वे पहले से चैनल पर हैं तो यह उनको किक नहीं करता है (chanop होना आवश्यक)" + +#: src/common/outbound.c:2695 +msgid "CLEAR, Clears the current text window" +msgstr "CLEAR, मौजूदा पाठ विंडो को साफ करता है" + +#: src/common/outbound.c:2696 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, मौजूदा विंडो/टैब को बंद करता है" + +#: src/common/outbound.c:2699 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|wildcard>, देश कोड प्राप्त करता है, उदाहरण के लिये: au = australia" + +#: src/common/outbound.c:2701 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <nick> <message>, CTCP संदेश निक को भेजें, सामान्य संदेश VERSION और USERINFO हैं" + +#: src/common/outbound.c:2703 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "CYCLE, मौजूदा चैनल से तुरत अलग होकर उससे जुड़ता है" + +#: src/common/outbound.c:2705 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" +"\n" +"DCC GET <nick> - दिये जा रहा फाइल स्वीकार करता है\n" +"DCC SEND [-maxcps=#] <nick> [file] - किसी को फाइल भेजता है\n" +"DCC LIST - DCC सूची दिखायें\n" +"DCC CHAT <nick> - किसी को DCC CHAT का प्रस्ताव देता है\n" +"DCC CLOSE <type> <nick> <file> उदाहरण:\n" +" /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:2715 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <nick>, मौजूदा चैनल पर उपनाम से चैनल आधा ऑपरेटर स्थिति हटाता है (chanop होना जरूरी)" + +#: src/common/outbound.c:2717 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <name>, उपयोक्ता सूची के अंदर एक बटन मिटाता है" + +#: src/common/outbound.c:2719 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <nick>, मौजूदा चैनल पर उपनाम से चैनल ऑपरेटर स्थिति हटाता है (chanop होना जरूरी)" + +#: src/common/outbound.c:2721 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <nick>, मौजूदा चैनल पर उपनाम से ध्वनि स्थिति हटाता है (chanop होना जरूरी)" + +#: src/common/outbound.c:2722 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, सर्वर से विसंबंधित करता है" + +#: src/common/outbound.c:2723 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <nick|host|ip>, एक उपयोक्ता IP संख्या पाता है" + +#: src/common/outbound.c:2724 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, स्थानीय रूप से पाठ मुद्रित करता है" + +#: src/common/outbound.c:2727 +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] <command>, समादेश चलाता है. अगर -o फ्लैग का प्रयोग होता है तो आउटपुट मौजूदा चैनल को जाता है, नहीं तो मौजूदा पाठ बॉक्स में मुद्रित हो जाता है" + +#: src/common/outbound.c:2729 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, SIGCONT प्रक्रिया भेजता है" + +#: src/common/outbound.c:2732 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], मौजूदा सत्र में एक चलायमान निष्पादन को मारता है. अगर -9 दिया जाता है तो प्रक्रिया SIGKILL हो जाता है" + +#: src/common/outbound.c:2734 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, SIGSTOP प्रक्रिया भेजता है" + +#: src/common/outbound.c:2735 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, stdin प्रक्रिया को आंकड़ा भेजता है" + +#: src/common/outbound.c:2739 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, मौजूदा सर्वर के प्रेषण कतार को फ्लश करता है" + +#: src/common/outbound.c:2741 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>], मेजबान के द्वारा प्रॉक्सी करता है, 23 में मूलभूत पोर्ट करता है" + +#: src/common/outbound.c:2747 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nick>, chanhalf-op स्थिति उपनाम को देता है (chanop होना जरूरत है)" + +#: src/common/outbound.c:2749 +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 <mask> <types..> <options..>\n" +" मास्क - अनदेखा करने के लिये मेजबान मास्क करें, उदा: *!*@*.aol.com\n" +" प्रकार - अनदेखा करने के लिये आंकड़ा प्रकार, एक या सभी का:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" विकल्प - NOSAVE, QUIET" + +#: src/common/outbound.c:2756 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <nick> [<channel>], किसी को चैनल में आमंत्रित करता है, मूलभूत रूप से मौजूदा चैनल में (chanop आवश्यक)" + +#: src/common/outbound.c:2757 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <channel>, चैनल से जोड़ता है" + +#: src/common/outbound.c:2759 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <nick>, उपनाम को वर्तमान चैनल से किक करता है (chanop की जरूरत है)" + +#: src/common/outbound.c:2761 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <nick>, मौजूदा चैनल से उपनाम को बैन व किक करता है (chanop आवश्यक)" + +#: src/common/outbound.c:2764 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, एक नये lag जांच के लिये दबाव डालता है" + +#: src/common/outbound.c:2766 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <string>, बफर में स्ट्रिंग खोजता है" + +#: src/common/outbound.c:2768 +msgid "LOAD <file>, loads a plugin or script" +msgstr "LOAD <file>, एक प्लगिन या स्क्रिप्ट लोड करता है" + +#: src/common/outbound.c:2771 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, मौजूदा चैनल में सभी चैनलहाफ ऑपरेटर की ऑपरेटर स्थिति लेना (chanop होना जरूरी है)" + +#: src/common/outbound.c:2773 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, मौजूदा चैनल में सभी चैनल ऑपरेटर की ऑपरेटर स्थिति लेना (chanop होना जरूरी है)" + +#: src/common/outbound.c:2775 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <action>, मौजूदा चैनल में एक्शन भेजता है (एक्शन तृतीय पुरूष के रूप में लिखा जाता है, जैसे /me jumps)" + +#: src/common/outbound.c:2777 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, आपको छोड़ सभी को किक करता है चैनल में (chanop आवश्यक)" + +#: src/common/outbound.c:2780 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, मौजूदा चैनल में सभी उपयोक्ता को मास ऑपरेटर (chanop आवश्यक)" + +#: src/common/outbound.c:2781 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <nick> <message>, एक निजी संदेश भेजता है" + +#: src/common/outbound.c:2784 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, मौजूदा चैनल पर उपनाम सूचीबद्ध करता है" + +#: src/common/outbound.c:2786 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <message>, एक CTCP सूचना भेजता है" + +#: src/common/outbound.c:2787 +msgid "NEWSERVER <hostname> [<port>]" +msgstr "NEWSERVER <hostname> [<port>]" + +#: src/common/outbound.c:2788 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nickname>, आपका उपनाम सेट करता है" + +#: src/common/outbound.c:2791 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <nick/channel> <message>, सूचना भेजता है. सूचना एक प्रकार का संदेश है जो इससे स्वतः अनुक्रिया करना चाहिये" + +#: src/common/outbound.c:2793 +msgid "NOTIFY [<nick>], lists your notify list or adds someone to it" +msgstr "NOTIFY [<nick>], आपके नोटिफाई सूची को सूचीबद्ध करता है और इसमें कुछ को जोड़ता है" + +#: src/common/outbound.c:2795 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>, उपनाम को चैनल ऑपरेटर स्थिति देता है (chanop की आवश्यकता है)" + +#: src/common/outbound.c:2797 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<channel>] [<reason>], चैनल छोड़ता है, मूलभूत रूप से मौजूदा चैनल को" + +#: src/common/outbound.c:2799 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | channel>, CTCP उपनाम या चैनल पिंग करता है" + +#: src/common/outbound.c:2801 +msgid "QUERY <nick>, opens up a new privmsg window to someone" +msgstr "QUERY <nick>, किसी के लिये निजी संदेश विंडो खोलता है" + +#: src/common/outbound.c:2803 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reason>], मौजूदा सर्वर से विसंबंधित करता है" + +#: src/common/outbound.c:2805 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <text>, सर्वर में पाठ कच्चे रूप में भेजता है" + +#: src/common/outbound.c:2808 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<port>] [<password>], मौजूदा सर्वर में पुनः जुड़ने के लिये /RECONNECT के रूप में लाया सकता है या /RECONNECT ALL से सभी खुले सर्वर से फिर से जोड़कर" + +#: src/common/outbound.c:2811 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<password>], मौजूदा सर्वर में पुनः जुड़ने के लिये /RECONNECT के रूप में लाया सकता है या /RECONNECT ALL से सभी खुले सर्वर से फिर से जोड़कर" + +#: src/common/outbound.c:2813 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <text>, xchat में कच्चा आंकड़ा भेजता है, मानो यह irc सर्वर से प्राप्त किया गया" + +#: src/common/outbound.c:2816 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>, मौजूदा विंडो में वस्तु को पाठ भेजता है" + +#: src/common/outbound.c:2819 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <channel>, एक चैनल से संबंधित होता है औऱ शामिल होता है" + +#: src/common/outbound.c:2822 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <channel>, एक चैनल से संबंधित होता है औऱ शामिल होता है" + +#: src/common/outbound.c:2826 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <host> [<port>] [<password>], सर्वर से जुड़ता है, सामान्य संबंधन के लिये मूलभूत पोर्ट 6667 है, और ssl संबंधन के लिये 9999 है" + +#: src/common/outbound.c:2829 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <host> [<port>] [<password>], एक सर्वर से जोड़ता है, मूलभूत पोर्ट 6667 है" + +#: src/common/outbound.c:2831 +msgid "SET [-quiet] <variable> [<value>]" +msgstr "SET [-quiet] <variable> [<value>]" + +#: src/common/outbound.c:2832 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<position>" + +#: src/common/outbound.c:2836 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<topic>], अगर एक दिया हुआ है तो टॉपिक सेट करता है, अन्यथा मौजूदा टॉपिक दिखाता है" + +#: src/common/outbound.c:2838 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], निर्दिष्ट मास्क पर से प्रतिबंध हटाता है." + +#: src/common/outbound.c:2839 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:2840 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <name>, एक प्लगिन या स्क्रिप्ट अनलोड करता है" + +#: src/common/outbound.c:2841 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, URL में ब्रॉउजर खोलता है" + +#: src/common/outbound.c:2844 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>, किसी को ध्वनि स्थिति देता है (chanop की आवश्यकता है)" + +#: src/common/outbound.c:2846 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <message>, सभी चैनल में संदेश लिखता है" + +#: src/common/outbound.c:2848 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <message>, सभी चैनल ऑपरेटर को मौजूदा चैनल पर संदेश भेजता है" + +#: src/common/outbound.c:2881 +#, c-format +msgid "Usage: %s\n" +msgstr "उपयोग: %s\n" + +#: src/common/outbound.c:2886 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"उस समादेश पर कोई सहायता उपलब्ध है.\n" + +#: src/common/outbound.c:2892 +msgid "No such command.\n" +msgstr "ऐसा कोई समादेश नहीं.\n" + +#: src/common/outbound.c:3216 +msgid "Bad arguments for user command.\n" +msgstr "उपयोक्ता समादेश के लिये गलत तर्क.\n" + +#: src/common/outbound.c:3380 +msgid "Too many recursive usercommands, aborting." +msgstr "कई recursive उपयोक्ता समादेश, विफल कर रहा है." + +#: src/common/outbound.c:3453 +msgid "Unknown Command. Try /help\n" +msgstr "अनजान समादेश. /help की कोशिश करें\n" + +#: src/common/plugin.c:359 src/common/plugin.c:400 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "कोई xchat_plugin_init संकेतक; क्या यह वास्तव में एक xchat प्लगिन है?" + +#: src/common/server.c:586 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "क्या आप निश्चित हैं कि यह एक SSL सक्षम सर्वर व पोर्ट है?\n" + +#: src/common/server.c:937 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"%s मेजबाननाम हल नहीं कर सकता है\n" +"अपना IP सेटिंग जांचें!\n" + +#: src/common/server.c:942 +msgid "Proxy traversal failed.\n" +msgstr "प्रॉक्सी लेनदेन विफल.\n" + +#: src/common/servlist.c:644 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "%s में अगला सर्वर में चक्रीय कर रहा है...\n" + +#: src/common/servlist.c:1056 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "चेतावनी: \"%s\" संप्रतीक सेट अज्ञात है. %s संजाल के लिये कोई वार्तालाप लागू नहीं होगी." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 सूची को सूचित करने के लिये जोड़ा गया" + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 प्रतिबंध सूची:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$t %C26 %B$1 %O से जुड़ नहीं सकता है (आप पर प्रतिबंध हैं)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 अब $2 के रूप में जाना जाता है" + +#: src/common/textevents.h:21 +msgid "%C18*$t$1%O $2" +msgstr "%C18*$t$1%O $2" + +#: src/common/textevents.h:24 +msgid "%C21*%O$t%C21%B$1%O%C21 $2" +msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 $2 पर प्रतिबंध सेट करता है" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tचैनल $1 $2 पर बनाया गया" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O आधा चैनल ऑपरेटर स्थिति %C26 $2 से हटाता है" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O चैनल ऑपरेटर स्थिति %C26 $2 से हटाता है" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O ध्वनि%C26 $2 से हटाता है" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 sets exempt on $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O आधा चैनल ऑपरेटर स्थिति%C26 $2 को देता है" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 $2 पर आमंत्रण सेट करता है" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UChannel उपयोक्ता विषय" + +#: src/common/textevents.h:54 +msgid "%C18%B%B$4$1%O%C18%O$t$2" +msgstr "%C18%B%B$4$1%O%C18%O$t$2" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 $2$3 $4 मोड सेट करता है" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22चैनल $1 मोड: $2" + +#: src/common/textevents.h:63 +msgid "$4%C21%B$1%O$t%C21$2" +msgstr "$4%C21%B$1%O$t%C21$2" + +#: src/common/textevents.h:66 +msgid "%C28-%C29$1/$2%C28-%O$t$3" +msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O चैनल ऑपरेटर स्थिति %C26 $2 को देता है" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 removes exempt on $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 $2 पर आमंत्रण हटाता है" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 चैनल कुंजी पटल हटाता है" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 उपयोक्ता सीमा हटाता है" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 $2 में चैनल कुंजीवर्ड सेट करता है" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 $2 में चैनल सीमा सेट करता है" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 $2 पर से प्रतिबंध हटाता है" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O %C26 $2 में ध्वनि देता है" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22संबंधित. अब लॉगिन कर रहा है..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22 $1 ($2) पोर्ट $3%O में संबंधन पा रहा है..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21संबंधन विफल. त्रुटि: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tएक CTCP $1 $2 से प्राप्त करता है" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tएक CTCP $1 $2 (to $3) से प्राप्त करता है" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tएक CTCP ध्वनि $1 $2 से पाता है" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC %C26$1%O में बातचीत विफल रही." + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC %C26$1 %C30[%O$2%C30] में चैट संबंधन स्थापित किया" + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." + +#: src/common/textevents.h:126 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tएक DCC CHAT प्रस्ताव $1 से प्राप्त करता है" + +#: src/common/textevents.h:129 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tOffering DCC CHAT to $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$t $1 को चैट का प्रस्ताव पहले ही भेज चुका है" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." + +#: src/common/textevents.h:138 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tReceived '$1%O' from $2" + +#: src/common/textevents.h:141 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Type To/From Status Size Pos File " + +#: src/common/textevents.h:144 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$t %C26$1%O से अपरूप DCC आग्रह प्राप्त करता है.%010%C22*%O$tपैकेट की सामग्री: $2" + +#: src/common/textevents.h:147 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tOffering%C26 $1%O to%C26 $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tऐसा कोई DCC प्रस्ताव नहीं." + +#: src/common/textevents.h:153 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O विफल रहा." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC RECV %C26 $1 %C30[%O$2%C30] में संबंधन स्थापित किया" + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: $1 को ($2) के लिखने के लिये नहीं खोल सकता." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tफाइल%C26 $1%C पहले से मौजूद है, इसे%C26 $2%O रूप में सहेज रहा है." + +#: src/common/textevents.h:171 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." + +#: src/common/textevents.h:174 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O विफल." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC SEND संबंधन%C26 $1 %C30[%O$2%C30] से स्थापित" + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" + +#: src/common/textevents.h:186 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" + +#: src/common/textevents.h:189 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - विफल कर रहा है." + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - विफल कर रहा है." + +#: src/common/textevents.h:195 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 को सूचना सूची से विलोपित किया गया." + +#: src/common/textevents.h:198 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tविसंबंधित ($1)." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tआपका IP पाया: [$1]" + +#: src/common/textevents.h:204 +msgid "$1$t$2" +msgstr "$1$t$2" + +#: src/common/textevents.h:207 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O अनदेखे सूची में जोड़ा." + +#: src/common/textevents.h:210 +msgid "Ignore on %C26$1%O changed." +msgstr "%C26$1%O पर अनदेखा बदला गया." + +#: src/common/textevents.h:213 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:219 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O को हटाया गया अनदेखे सूची से." + +#: src/common/textevents.h:222 +msgid " Ignore list is empty." +msgstr " अनदेखा सूची खाली है." + +#: src/common/textevents.h:225 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tCannot join%C26 %B$1 %O(चैनल सिर्फ आमंत्रण के लिये है)." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tआप इसमें आमंत्रण किये गये हैं%C26 $1%O by%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:231 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) $2 में शामिल हुआ/हुई है" + +#: src/common/textevents.h:234 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tCannot join%C26 %B$1 %O(कीबोर्ड आवश्यक)." + +#: src/common/textevents.h:237 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 ने $2 को $3 से किक कर दिया है($4%O%C21)" + +#: src/common/textevents.h:240 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tआप इसके द्वारा किल किये गये हैं $1 ($2%O%C22)" + +#: src/common/textevents.h:243 +msgid "%C19>%O$1%C19<%O$t$2%O" +msgstr "%C19>%O$1%C19<%O$t$2%O" + +#: src/common/textevents.h:246 +msgid "%C16*%O$t$1%O" +msgstr "%C16*%O$t$1%O" + +#: src/common/textevents.h:249 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD छोड़ आगे बढा." + +#: src/common/textevents.h:252 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 पहले से उपयोग में है. $2 के साथ फिर कोशिस कर रहा है..." + +#: src/common/textevents.h:255 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tउपनाम पहले से प्रयोग में है. /NICK का प्रयोग दूसरे के लिये कोशिश हेतु करें." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tऐसा कोई DCC नहीं." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tकोई प्रक्रिया अभी चल नहीं रही है" + +#: src/common/textevents.h:264 +msgid "%C28-%C29$1%C28-%O$t$2" +msgstr "%C28-%C29$1%C28-%O$t$2" + +#: src/common/textevents.h:267 +msgid "%C19>%O$1%C19<%O$t$2" +msgstr "%C19>%O$1%C19<%O$t$2" + +#: src/common/textevents.h:270 +msgid "$tNotify list is empty." +msgstr "$tसूचना सूची खाली है." + +#: src/common/textevents.h:273 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B सूचना सूची " + +#: src/common/textevents.h:276 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 सूचना सूची में उपयोक्ता." + +#: src/common/textevents.h:279 +msgid "%C22*%O$tNotify: $1 is offline ($2)." +msgstr "%C22*%O$tNotify: $1 ऑफलाइन है ($2)." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is online ($2)." +msgstr "%C22*%O$tNotify: $1 ऑनलाइन है ($2)." + +#: src/common/textevents.h:288 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) ने $3 को छोड़ दिया" + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23$4)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) ने $3 (%O%C23$4) को छोड़ा है" + +#: src/common/textevents.h:294 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$t $1 से पिंग जवाब: $2 सेकेंड" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tकोई पिंग जबाव $1 सेकेंड के लिये नहीं, विसंबंधित हो रहा है." + +#: src/common/textevents.h:300 +msgid "%C28*%C29$3$1%C28*$t%O$2" +msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#: src/common/textevents.h:303 +msgid "%C18%B%B$3$1%O$t$2" +msgstr "%C18%B%B$3$1%O$t$2" + +#: src/common/textevents.h:306 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tA प्रक्रिया पहले से चल रहा है" + +#: src/common/textevents.h:309 +msgid "%C23*%O$t%C23$1 has quit (%O%C23$2)" +msgstr "%C23*%O$t%C23$1 ने छोड़ दिया (%O%C23$2)" + +#: src/common/textevents.h:312 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 मोड %B %C30[%O$2%B%C30] सेट करता है" + +#: src/common/textevents.h:315 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:318 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tIP संख्या इसके लिये देख रहा है %C26 $1%O..." + +#: src/common/textevents.h:321 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Connected." + +#: src/common/textevents.h:324 src/common/textevents.h:330 +#: src/common/textevents.h:333 +msgid "%C22*%O$t$1" +msgstr "%C22*%O$t$1" + +#: src/common/textevents.h:327 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22 $1 को देख रहा है" + +#: src/common/textevents.h:336 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tपहले के संबंधन प्रयास को रोका (pid=$1)" + +#: src/common/textevents.h:339 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29इसके लिये $1%C %C29टापिक है: $2" + +#: src/common/textevents.h:342 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 ने टॉपिक बदल दिया है: $2" + +#: src/common/textevents.h:345 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29 $1%C %C29 के लिये टॉपिक $2%C %C29 के द्वारा $3 को सेट" + +#: src/common/textevents.h:348 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tअनजान मेजबान. शायद आपने इसे वर्तनी अशुद्ध लिख दिया है?" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tCannot join%C26 %B$1 %O(उपयोक्ता सीमा समाप्त)." + +#: src/common/textevents.h:354 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Users on $1:%C $2" + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" + +#: src/common/textevents.h:363 src/common/textevents.h:369 +#: src/common/textevents.h:384 src/common/textevents.h:387 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:366 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." + +#: src/common/textevents.h:372 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" + +#: src/common/textevents.h:390 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19अब $2 पर बात कर रहे हैं" + +#: src/common/textevents.h:393 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tआपको $2 से $3 ($4%O%C23) के द्वारा किक किया गया" + +#: src/common/textevents.h:396 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tआपने चैनल छोड़ा है $3" + +#: src/common/textevents.h:399 +msgid "%C23*$tYou have left channel $3 (%O%C23$4%O%C23)" +msgstr "%C23*$tआपने चैनल छोड़ा है $3 (%O%C23$4%O%C23)" + +#: src/common/textevents.h:402 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tआपने आमंत्रित किया है%C26 $1%O to%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:405 +msgid "%C31%B%B$4$1%O$t%C30$2" +msgstr "%C31%B%B$4$1%O$t%C30$2" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tआप अब $2 के रूप में जाने जायेंगे" + +#: src/common/text.c:207 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** इसपर लॉगिंग समाप्त कर रहा है %s\n" + +#: src/common/text.c:325 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** इसपर लॉगिंग शुरू करें %s\n" + +#: src/common/text.c:344 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* लिखने के लिये लॉग फाइल नहीं खोल सकता. अनुमति को\n" +" %s/xchatlogs पर जांचें" + +#: src/common/text.c:559 +msgid "Left message" +msgstr "बांया संदेश" + +#: src/common/text.c:560 +msgid "Right message" +msgstr "दाहिना संदेश" + +#: src/common/text.c:564 +msgid "The nick of the joining person" +msgstr "शामिल व्यक्ति का नाम" + +#: src/common/text.c:565 +msgid "The channel being joined" +msgstr "शामिल हुआ चैनल" + +#: src/common/text.c:566 src/common/text.c:611 src/common/text.c:668 +msgid "The host of the person" +msgstr "व्यक्ति का मेजबान" + +#: src/common/text.c:570 src/common/text.c:575 src/common/text.c:582 +#: src/common/text.c:649 src/common/text.c:774 src/common/text.c:781 +#: src/common/text.c:786 src/common/text.c:791 src/common/text.c:796 +#: src/common/text.c:802 src/common/text.c:807 src/common/text.c:811 +#: src/common/text.c:817 src/common/text.c:823 src/common/text.c:869 +#: src/common/text.c:878 src/common/text.c:883 src/common/text.c:888 +#: src/common/text.c:897 src/common/text.c:908 src/common/text.c:915 +#: src/common/text.c:921 src/common/text.c:926 src/common/text.c:931 +#: src/common/text.c:938 src/common/text.c:944 src/common/text.c:950 +#: src/common/text.c:955 src/common/text.c:960 src/common/text.c:964 +#: src/common/text.c:970 src/common/text.c:978 src/common/text.c:1012 +#: src/common/text.c:1017 +msgid "Nickname" +msgstr "उपनाम" + +#: src/common/text.c:571 +msgid "The action" +msgstr "क्रिया" + +#: src/common/text.c:576 +msgid "The text" +msgstr "पाठ" + +#: src/common/text.c:577 +msgid "Mode char" +msgstr "मोड चार" + +#: src/common/text.c:578 src/common/text.c:651 +msgid "Identified text" +msgstr "पहचाना गया पाठ" + +#: src/common/text.c:583 src/common/text.c:639 src/common/text.c:645 +#: src/common/text.c:650 +msgid "The message" +msgstr "संदेश" + +#: src/common/text.c:587 src/common/text.c:655 +msgid "Old nickname" +msgstr "पुराना उपनाम" + +#: src/common/text.c:588 src/common/text.c:656 +msgid "New nickname" +msgstr "नया उपनाम" + +#: src/common/text.c:592 +msgid "Nick of person who changed the topic" +msgstr "विषय बदलने वाले का उपनाम" + +#: src/common/text.c:593 src/common/text.c:599 src/fe-gtk/chanlist.c:599 +#: src/fe-gtk/chanlist.c:700 +msgid "Topic" +msgstr "विषय" + +#: src/common/text.c:594 src/common/text.c:598 src/common/text.c:1032 +#: src/fe-gtk/chanlist.c:597 src/fe-gtk/chanlist.c:691 +#: src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "चैनेल" + +#: src/common/text.c:603 src/common/text.c:662 +msgid "The nickname of the kicker" +msgstr "किक किया गये का उपनाम" + +#: src/common/text.c:604 src/common/text.c:660 +msgid "The person being kicked" +msgstr "किक किया गया व्यक्ति" + +#: src/common/text.c:605 src/common/text.c:612 src/common/text.c:616 +#: src/common/text.c:621 src/common/text.c:661 src/common/text.c:669 +msgid "The channel" +msgstr "चैनल" + +#: src/common/text.c:606 src/common/text.c:663 src/common/text.c:670 +msgid "The reason" +msgstr "तर्क" + +#: src/common/text.c:610 src/common/text.c:667 +msgid "The nick of the person leaving" +msgstr "छोड़ रहे व्यक्ति का उपनाम" + +#: src/common/text.c:617 src/common/text.c:623 +msgid "The time" +msgstr "समय" + +#: src/common/text.c:622 +msgid "The creator" +msgstr "निर्माता" + +#: src/common/text.c:627 +msgid "Nick" +msgstr "उपनाम" + +#: src/common/text.c:628 src/common/text.c:884 +msgid "Reason" +msgstr "कारण" + +#: src/common/text.c:629 src/common/text.c:776 src/common/text.c:859 +msgid "Host" +msgstr "होस्ट" + +#: src/common/text.c:633 src/common/text.c:638 src/common/text.c:643 +msgid "Who it's from" +msgstr "यह कहां से है" + +#: src/common/text.c:634 +msgid "The time in x.x format (see below)" +msgstr "x.x प्रारूप में समय (नीचे देखें)" + +#: src/common/text.c:644 src/common/text.c:686 +msgid "The Channel it's going to" +msgstr "चैनल जिसमें यह जा रहा है" + +#: src/common/text.c:674 +msgid "The sound" +msgstr "ध्वनि" + +#: src/common/text.c:675 src/common/text.c:680 src/common/text.c:685 +msgid "The nick of the person" +msgstr "व्यक्ति का नाम" + +#: src/common/text.c:679 src/common/text.c:684 +msgid "The CTCP event" +msgstr "CTCP घटना" + +#: src/common/text.c:690 +msgid "The nick of the person who set the key" +msgstr "कुंजी सेट करने वाले का उपनाम" + +#: src/common/text.c:691 +msgid "The key" +msgstr "कुंजी" + +#: src/common/text.c:695 +msgid "The nick of the person who set the limit" +msgstr "सीमा सेट करने वाले का उपनाम" + +#: src/common/text.c:696 +msgid "The limit" +msgstr "सीमा" + +#: src/common/text.c:700 +msgid "The nick of the person who did the op'ing" +msgstr "ऑपरेटिंग करने वाले का उपनाम" + +#: src/common/text.c:701 +msgid "The nick of the person who has been op'ed" +msgstr "उसका उपनाम जिसन ऑपरेट किया है" + +#: src/common/text.c:705 +msgid "The nick of the person who has been halfop'ed" +msgstr "उसका उपनाम जिसन आधा ऑपरेट किया है" + +#: src/common/text.c:706 +msgid "The nick of the person who did the halfop'ing" +msgstr "उसका उपनाम जिसने आधा ऑपरेट किया है" + +#: src/common/text.c:710 +msgid "The nick of the person who did the voice'ing" +msgstr "उसका उपनाम जिसने घ्वनि किया है" + +#: src/common/text.c:711 +msgid "The nick of the person who has been voice'ed" +msgstr "उसका उपनाम जिसने व्यायस्ड किया है" + +#: src/common/text.c:715 +msgid "The nick of the person who did the banning" +msgstr "प्रतिबंध लगाने वाले का उपनाम" + +#: src/common/text.c:716 src/common/text.c:743 +msgid "The ban mask" +msgstr "प्रतिबंध मास्क" + +#: src/common/text.c:720 +msgid "The nick who removed the key" +msgstr "कुंजी हटाने वाले का उपनाम" + +#: src/common/text.c:724 +msgid "The nick who removed the limit" +msgstr "सीमा हटाने वाले का उपनाम" + +#: src/common/text.c:728 +msgid "The nick of the person of did the deop'ing" +msgstr "उसका उपनाम जिसने डिऑपरेटिंग किया है" + +#: src/common/text.c:729 +msgid "The nick of the person who has been deop'ed" +msgstr "उसका उपनाम जिसने डिऑपरेटिंग किया है" + +#: src/common/text.c:732 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "उसका उपनाम जिसने डिहाफऑपरेटिंग किया है" + +#: src/common/text.c:733 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "उसका उपनाम जिसने डिहाफऑपरेटिंग किया है" + +#: src/common/text.c:737 +msgid "The nick of the person of did the devoice'ing" +msgstr "उसका उपनाम जिसने डिव्यायसिंग किया है" + +#: src/common/text.c:738 +msgid "The nick of the person who has been devoice'ed" +msgstr "उसका उपनाम जिसने डिव्यायसिंग किया गया है" + +#: src/common/text.c:742 +msgid "The nick of the person of did the unban'ing" +msgstr "प्रतिबंध हटाने वाले का उपनाम" + +#: src/common/text.c:747 +msgid "The nick of the person who did the exempt" +msgstr "उसका उपनाम जिसने exempt किया है" + +#: src/common/text.c:748 src/common/text.c:753 +msgid "The exempt mask" +msgstr "exempt मास्क" + +#: src/common/text.c:752 +msgid "The nick of the person removed the exempt" +msgstr "exempt हटाने वाले का उपनाम" + +#: src/common/text.c:757 +msgid "The nick of the person who did the invite" +msgstr "आमंत्रण देने वाले का उपनाम" + +#: src/common/text.c:758 src/common/text.c:763 +msgid "The invite mask" +msgstr "आमंत्रण मास्क" + +#: src/common/text.c:762 +msgid "The nick of the person removed the invite" +msgstr "आमंत्रण हटाने वाले का उपनाम" + +#: src/common/text.c:767 +msgid "The nick of the person setting the mode" +msgstr "मोड सेट करने वाले का उपनाम" + +#: src/common/text.c:768 +msgid "The mode's sign (+/-)" +msgstr "मोड हस्ताक्षर (+/-)" + +#: src/common/text.c:769 +msgid "The mode letter" +msgstr "मोड पत्र" + +#: src/common/text.c:770 +msgid "The channel it's being set on" +msgstr "चैनल जिसपर सेट है" + +#: src/common/text.c:775 +msgid "Username" +msgstr "उपयोक्तानाम" + +#: src/common/text.c:777 +msgid "Full name" +msgstr "पूरा नाम" + +#: src/common/text.c:782 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "चैनल सदस्यता/\"एक IRC ऑपरेटर है\"" + +#: src/common/text.c:787 +msgid "Server Information" +msgstr "सर्वर जानकारी" + +#: src/common/text.c:792 src/common/text.c:797 +msgid "Idle time" +msgstr "सुस्त समय" + +#: src/common/text.c:798 +msgid "Signon time" +msgstr "साइनऑन समय" + +#: src/common/text.c:803 +msgid "Away reason" +msgstr "दूर का कारण" + +#: src/common/text.c:812 src/common/text.c:818 src/common/text.c:826 +#: src/common/text.c:1004 +msgid "Message" +msgstr "संदेश" + +#: src/common/text.c:819 +msgid "Account" +msgstr "खाता" + +#: src/common/text.c:824 +msgid "Real user@host" +msgstr "वास्तविक user@host" + +#: src/common/text.c:825 +msgid "Real IP" +msgstr "वास्तविक IP" + +#: src/common/text.c:830 src/common/text.c:839 src/common/text.c:845 +#: src/common/text.c:1027 +msgid "Channel Name" +msgstr "चैनल नाम" + +#: src/common/text.c:834 src/common/text.c:990 src/fe-gtk/textgui.c:338 +msgid "Text" +msgstr "पाठ" + +#: src/common/text.c:835 src/common/text.c:841 src/common/text.c:1028 +msgid "Server Name" +msgstr "सर्वर नाम" + +#: src/common/text.c:840 +msgid "Nick of person who invited you" +msgstr "आपको आमंत्रित करने वाले का उपनाम" + +#: src/common/text.c:846 src/fe-gtk/chanlist.c:598 +msgid "Users" +msgstr "उपयोक्ता" + +#: src/common/text.c:850 +msgid "Nickname in use" +msgstr "उपयोग में उपनाम" + +#: src/common/text.c:851 +msgid "Nick being tried" +msgstr "उपनाम के लिये कोशिश की गई" + +#: src/common/text.c:855 src/common/text.c:891 src/common/text.c:902 +#: src/common/text.c:909 src/common/text.c:922 src/common/text.c:939 +#: src/common/text.c:1039 src/common/util.c:352 +msgid "Error" +msgstr "त्रुटि" + +#: src/common/text.c:860 src/common/text.c:994 +msgid "IP" +msgstr "आईपी" + +#: src/common/text.c:861 src/common/text.c:890 +msgid "Port" +msgstr "पोर्ट" + +#: src/common/text.c:865 +msgid "PID" +msgstr "पीआईडी" + +#: src/common/text.c:873 +msgid "Channel name" +msgstr "चैनल नाम" + +#: src/common/text.c:874 src/common/text.c:879 +msgid "Modes string" +msgstr "मोड स्ट्रिंग" + +#: src/common/text.c:889 src/common/text.c:927 src/common/text.c:932 +#: src/common/text.c:973 +msgid "IP address" +msgstr "IP पता" + +#: src/common/text.c:895 src/common/text.c:920 +msgid "DCC Type" +msgstr "डीसीसी क़िस्म" + +#: src/common/text.c:896 src/common/text.c:901 src/common/text.c:906 +#: src/common/text.c:913 src/common/text.c:933 src/common/text.c:937 +#: src/common/text.c:943 src/common/text.c:949 src/common/text.c:956 +#: src/common/text.c:965 src/common/text.c:971 +msgid "Filename" +msgstr "फ़ाइलनाम" + +#: src/common/text.c:907 src/common/text.c:914 +msgid "Destination filename" +msgstr "गंतव्य फाइलनाम" + +#: src/common/text.c:916 src/common/text.c:945 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:951 +msgid "Pathname" +msgstr "पाथनेम" + +#: src/common/text.c:966 src/fe-gtk/dccgui.c:518 src/fe-gtk/dccgui.c:676 +msgid "Position" +msgstr "स्थिति" + +#: src/common/text.c:972 src/fe-gtk/dccgui.c:517 src/fe-gtk/dccgui.c:675 +msgid "Size" +msgstr "आकार" + +#: src/common/text.c:977 +msgid "DCC String" +msgstr "DCC स्ट्रिंग" + +#: src/common/text.c:982 +msgid "Number of notify items" +msgstr "सूचना मद की संख्या" + +#: src/common/text.c:986 +msgid "Servername" +msgstr "सर्वरनाम" + +#: src/common/text.c:998 +msgid "Old Filename" +msgstr "पुराना फाइलनाम" + +#: src/common/text.c:999 +msgid "New Filename" +msgstr "नया फाइलनाम" + +#: src/common/text.c:1003 +msgid "Receiver" +msgstr "पाने वाला" + +#: src/common/text.c:1008 +msgid "Hostmask" +msgstr "होस्टमास्क" + +#: src/common/text.c:1013 +msgid "Hostname" +msgstr "मेजबाननाम" + +#: src/common/text.c:1018 +msgid "The Packet" +msgstr "पैकेट" + +#: src/common/text.c:1022 +msgid "Seconds" +msgstr "सेकेंड" + +#: src/common/text.c:1026 +msgid "Nick of person who have been invited" +msgstr "उपनाम जिसने आमंत्रण दिया है" + +#: src/common/text.c:1033 +msgid "Banmask" +msgstr "बैनमास्क" + +#: src/common/text.c:1034 +msgid "Who set the ban" +msgstr "किसने प्रतिबंध सेट किया है" + +#: src/common/text.c:1035 +msgid "Ban time" +msgstr "प्रतिबंध समय" + +#: src/common/text.c:1075 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"%s की व्याख्या में त्रुटि.\n" +"मूलभूत लोड कर रहा है." + +#: src/common/text.c:1713 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"ध्वनि फाइल नहीं पढ़ सकता है:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "दूरस्थ मेजबान बंद सॉकेट" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "कनेक्शन अस्वीकृत" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "मेजबान में कोई रूट नहीं" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "कनेक्शन टाइम आउट हो गया" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "वह पता नियत नहीं कर सकता है" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "संबंधी द्वारा संबंधन फिर सेट" + +#: src/common/util.c:821 +msgid "Andorra" +msgstr "अंडोरा" + +#: src/common/util.c:822 +msgid "United Arab Emirates" +msgstr "संयुक्त अरब अमीरात" + +#: src/common/util.c:823 +msgid "Afghanistan" +msgstr "अफगानिस्तान" + +#: src/common/util.c:824 +msgid "Antigua and Barbuda" +msgstr "एंटिगुआ और बर्बुडा" + +#: src/common/util.c:825 +msgid "Anguilla" +msgstr "एंग्विला" + +#: src/common/util.c:826 +msgid "Albania" +msgstr "अलबानिया" + +#: src/common/util.c:827 +msgid "Armenia" +msgstr "आर्मेनिया" + +#: src/common/util.c:828 +msgid "Netherlands Antilles" +msgstr "नीदरलैंड्स एंटीलेस" + +#: src/common/util.c:829 +msgid "Angola" +msgstr "अंगोला" + +#: src/common/util.c:830 +msgid "Antarctica" +msgstr "अंटार्कटिका" + +#: src/common/util.c:831 +msgid "Argentina" +msgstr "अर्जेन्टिना" + +#: src/common/util.c:832 +msgid "Reverse DNS" +msgstr "विलोम DNS" + +#: src/common/util.c:833 +msgid "American Samoa" +msgstr "अमेरिकन समोआ" + +#: src/common/util.c:834 +msgid "Austria" +msgstr "आस्ट्रिया" + +#: src/common/util.c:835 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:836 +msgid "Australia" +msgstr "आस्ट्रेलिया" + +#: src/common/util.c:837 +msgid "Aruba" +msgstr "अरूबा" + +#: src/common/util.c:838 +msgid "Azerbaijan" +msgstr "अजरबैजान" + +#: src/common/util.c:839 +msgid "Bosnia and Herzegovina" +msgstr "बोस्निया और हर्जेगोविना" + +#: src/common/util.c:840 +msgid "Barbados" +msgstr "बारबोडस" + +#: src/common/util.c:841 +msgid "Bangladesh" +msgstr "बांग्लादेश" + +#: src/common/util.c:842 +msgid "Belgium" +msgstr "बेल्जियम" + +#: src/common/util.c:843 +msgid "Burkina Faso" +msgstr "बुर्किना फासो" + +#: src/common/util.c:844 +msgid "Bulgaria" +msgstr "बल्गारिया" + +#: src/common/util.c:845 +msgid "Bahrain" +msgstr "बहरीन" + +#: src/common/util.c:846 +msgid "Burundi" +msgstr "बुरूंडी" + +#: src/common/util.c:847 +msgid "Businesses" +msgstr "व्यापार" + +#: src/common/util.c:848 +msgid "Benin" +msgstr "बेनिन" + +#: src/common/util.c:849 +msgid "Bermuda" +msgstr "बरमुडा" + +#: src/common/util.c:850 +msgid "Brunei Darussalam" +msgstr "ब्रुनेई दारूसलाम" + +#: src/common/util.c:851 +msgid "Bolivia" +msgstr "बोलिविया" + +#: src/common/util.c:852 +msgid "Brazil" +msgstr "ब्राजील" + +#: src/common/util.c:853 +msgid "Bahamas" +msgstr "बहामा" + +#: src/common/util.c:854 +msgid "Bhutan" +msgstr "भूटान" + +#: src/common/util.c:855 +msgid "Bouvet Island" +msgstr "बौभेट द्वीप" + +#: src/common/util.c:856 +msgid "Botswana" +msgstr "बोत्सवाना" + +#: src/common/util.c:857 +msgid "Belarus" +msgstr "बेलारूस" + +#: src/common/util.c:858 +msgid "Belize" +msgstr "बेलाइज" + +#: src/common/util.c:859 +msgid "Canada" +msgstr "कनाडा" + +#: src/common/util.c:860 +msgid "Cocos Islands" +msgstr "कोकोस द्वीप" + +#: src/common/util.c:861 +msgid "Democratic Republic of Congo" +msgstr "कांगो लोकतांत्रिक गणतंत्र" + +#: src/common/util.c:862 +msgid "Central African Republic" +msgstr "केंद्रीय अफ्रीकी गणतंत्र" + +#: src/common/util.c:863 +msgid "Congo" +msgstr "कांगो" + +#: src/common/util.c:864 +msgid "Switzerland" +msgstr "स्विट्जरलैंड" + +#: src/common/util.c:865 +msgid "Cote d'Ivoire" +msgstr "कोटे डि इवायर" + +#: src/common/util.c:866 +msgid "Cook Islands" +msgstr "कुक द्वीप" + +#: src/common/util.c:867 +msgid "Chile" +msgstr "चिली" + +#: src/common/util.c:868 +msgid "Cameroon" +msgstr "कैमरून" + +#: src/common/util.c:869 +msgid "China" +msgstr "चीन" + +#: src/common/util.c:870 +msgid "Colombia" +msgstr "कोलंबिया" + +#: src/common/util.c:871 +msgid "Internic Commercial" +msgstr "इंटरनिक वाणिज्यिक" + +#: src/common/util.c:872 +msgid "Costa Rica" +msgstr "कोस्टा रिका" + +#: src/common/util.c:873 +msgid "Serbia and Montenegro" +msgstr "सर्बीया अने मोन्टेनेग्रो" + +#: src/common/util.c:874 +msgid "Cuba" +msgstr "क्यूबा" + +#: src/common/util.c:875 +msgid "Cape Verde" +msgstr "केप वर्डे" + +#: src/common/util.c:876 +msgid "Christmas Island" +msgstr "क्रिसमस द्वीप" + +#: src/common/util.c:877 +msgid "Cyprus" +msgstr "साइप्रस" + +#: src/common/util.c:878 +msgid "Czech Republic" +msgstr "चेक गणतंत्र" + +#: src/common/util.c:879 +msgid "Germany" +msgstr "जर्मनी" + +#: src/common/util.c:880 +msgid "Djibouti" +msgstr "दिबॉती" + +#: src/common/util.c:881 +msgid "Denmark" +msgstr "डेनमार्क" + +#: src/common/util.c:882 +msgid "Dominica" +msgstr "डोमिनिका" + +#: src/common/util.c:883 +msgid "Dominican Republic" +msgstr "डोमिनिकन गणतंत्र" + +#: src/common/util.c:884 +msgid "Algeria" +msgstr "अल्जीरिया" + +#: src/common/util.c:885 +msgid "Ecuador" +msgstr "इक्वेडर" + +#: src/common/util.c:886 +msgid "Educational Institution" +msgstr "शैक्षणिक संस्थायें" + +#: src/common/util.c:887 +msgid "Estonia" +msgstr "इस्टोनिया" + +#: src/common/util.c:888 +msgid "Egypt" +msgstr "मिश्र" + +#: src/common/util.c:889 +msgid "Western Sahara" +msgstr "पश्चिम सहारा" + +#: src/common/util.c:890 +msgid "Eritrea" +msgstr "इरीट्रिया" + +#: src/common/util.c:891 +msgid "Spain" +msgstr "स्पेन" + +#: src/common/util.c:892 +msgid "Ethiopia" +msgstr "इथोपिया" + +#: src/common/util.c:893 +msgid "Finland" +msgstr "फिनलैंड" + +#: src/common/util.c:894 +msgid "Fiji" +msgstr "फिजी" + +#: src/common/util.c:895 +msgid "Falkland Islands" +msgstr "फाकलैंड द्वीप" + +#: src/common/util.c:896 +msgid "Micronesia" +msgstr "माइक्रोनेशिया" + +#: src/common/util.c:897 +msgid "Faroe Islands" +msgstr "फैरो द्वीप" + +#: src/common/util.c:898 +msgid "France" +msgstr "फ्रांस" + +#: src/common/util.c:899 +msgid "France, Metropolitan" +msgstr "फ्रांस, महानगर" + +#: src/common/util.c:900 +msgid "Gabon" +msgstr "गैबन" + +#: src/common/util.c:901 +msgid "Great Britain" +msgstr "ग्रेट ब्रिटेन" + +#: src/common/util.c:902 +msgid "Grenada" +msgstr "ग्रेनाडा" + +#: src/common/util.c:903 +msgid "Georgia" +msgstr "जार्जिया" + +#: src/common/util.c:904 +msgid "French Guiana" +msgstr "फ्रेंच गायना" + +#: src/common/util.c:905 +msgid "British Channel Isles" +msgstr "ब्रिटिश चैनल द्वीप" + +#: src/common/util.c:906 +msgid "Ghana" +msgstr "घाना" + +#: src/common/util.c:907 +msgid "Gibraltar" +msgstr "जिब्राल्टर" + +#: src/common/util.c:908 +msgid "Greenland" +msgstr "ग्रीनलैंड" + +#: src/common/util.c:909 +msgid "Gambia" +msgstr "गैंबिया" + +#: src/common/util.c:910 +msgid "Guinea" +msgstr "गायना" + +#: src/common/util.c:911 +msgid "Government" +msgstr "सरकार" + +#: src/common/util.c:912 +msgid "Guadeloupe" +msgstr "गुआडेलोप" + +#: src/common/util.c:913 +msgid "Equatorial Guinea" +msgstr "भूमध्यरेखीय गायना" + +#: src/common/util.c:914 +msgid "Greece" +msgstr "ग्रीस" + +#: src/common/util.c:915 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "दक्षिणी ज्यार्जिया व दक्षिणी सैंडविच द्वीप" + +#: src/common/util.c:916 +msgid "Guatemala" +msgstr "गुआटेमाला" + +#: src/common/util.c:917 +msgid "Guam" +msgstr "गुआम" + +#: src/common/util.c:918 +msgid "Guinea-Bissau" +msgstr "गाइना बिसाउ" + +#: src/common/util.c:919 +msgid "Guyana" +msgstr "गुयाना" + +#: src/common/util.c:920 +msgid "Hong Kong" +msgstr "हांग कांग" + +#: src/common/util.c:921 +msgid "Heard and McDonald Islands" +msgstr "हर्ड व मैकडोनाल्ड द्वीप" + +#: src/common/util.c:922 +msgid "Honduras" +msgstr "होंडुरास" + +#: src/common/util.c:923 +msgid "Croatia" +msgstr "क्रोशिया" + +#: src/common/util.c:924 +msgid "Haiti" +msgstr "हैती" + +#: src/common/util.c:925 +msgid "Hungary" +msgstr "हंगरी" + +#: src/common/util.c:926 +msgid "Indonesia" +msgstr "इंडोनेशिया" + +#: src/common/util.c:927 +msgid "Ireland" +msgstr "आयरलैंड" + +#: src/common/util.c:928 +msgid "Israel" +msgstr "इज़राइल" + +#: src/common/util.c:929 +msgid "India" +msgstr "भारत" + +#: src/common/util.c:930 +msgid "Informational" +msgstr "जानकारीपरक" + +#: src/common/util.c:931 +msgid "International" +msgstr "अंतर्राष्ट्रीय" + +#: src/common/util.c:932 +msgid "British Indian Ocean Territory" +msgstr "ब्रिटिश इंडियन समुद्री क्षेत्र" + +#: src/common/util.c:933 +msgid "Iraq" +msgstr "इराक" + +#: src/common/util.c:934 +msgid "Iran" +msgstr "इरान" + +#: src/common/util.c:935 +msgid "Iceland" +msgstr "आइसलैंड" + +#: src/common/util.c:936 +msgid "Italy" +msgstr "इटली" + +#: src/common/util.c:937 +msgid "Jamaica" +msgstr "जमैका" + +#: src/common/util.c:938 +msgid "Jordan" +msgstr "जोर्डन" + +#: src/common/util.c:939 +msgid "Japan" +msgstr "जापान" + +#: src/common/util.c:940 +msgid "Kenya" +msgstr "कीनिया" + +#: src/common/util.c:941 +msgid "Kyrgyzstan" +msgstr "किर्गीस्तान" + +#: src/common/util.c:942 +msgid "Cambodia" +msgstr "कंबोडिया" + +#: src/common/util.c:943 +msgid "Kiribati" +msgstr "किरीबाती" + +#: src/common/util.c:944 +msgid "Comoros" +msgstr "कोमोरोस" + +#: src/common/util.c:945 +msgid "St. Kitts and Nevis" +msgstr "सेंट किट्स तथा नेविस" + +#: src/common/util.c:946 +msgid "North Korea" +msgstr "उत्तर कोरिया" + +#: src/common/util.c:947 +msgid "South Korea" +msgstr "दक्षिण कोरिया" + +#: src/common/util.c:948 +msgid "Kuwait" +msgstr "कुवैत" + +#: src/common/util.c:949 +msgid "Cayman Islands" +msgstr "कैमन द्वीप" + +#: src/common/util.c:950 +msgid "Kazakhstan" +msgstr "कजाखस्तान" + +#: src/common/util.c:951 +msgid "Laos" +msgstr "लाओस" + +#: src/common/util.c:952 +msgid "Lebanon" +msgstr "लेबनान" + +#: src/common/util.c:953 +msgid "Saint Lucia" +msgstr "सेंट लुसिया" + +#: src/common/util.c:954 +msgid "Liechtenstein" +msgstr "लिचेंस्टाइन" + +#: src/common/util.c:955 +msgid "Sri Lanka" +msgstr "श्रीलंका" + +#: src/common/util.c:956 +msgid "Liberia" +msgstr "लाइबेरिया" + +#: src/common/util.c:957 +msgid "Lesotho" +msgstr "लेसोथो" + +#: src/common/util.c:958 +msgid "Lithuania" +msgstr "लिथुआनिया" + +#: src/common/util.c:959 +msgid "Luxembourg" +msgstr "लक्समबर्ग" + +#: src/common/util.c:960 +msgid "Latvia" +msgstr "लाटविया" + +#: src/common/util.c:961 +msgid "Libya" +msgstr "लीबिया" + +#: src/common/util.c:962 +msgid "Morocco" +msgstr "मोरोक्को" + +#: src/common/util.c:963 +msgid "Monaco" +msgstr "मोनाको" + +#: src/common/util.c:964 +msgid "Moldova" +msgstr "माल्डोवा" + +#: src/common/util.c:965 +msgid "United States Medical" +msgstr "संयुक्त राज्य मेडिकल" + +#: src/common/util.c:966 +msgid "Madagascar" +msgstr "मेडागास्कर" + +#: src/common/util.c:967 +msgid "Marshall Islands" +msgstr "मार्शल द्वीप" + +#: src/common/util.c:968 +msgid "Military" +msgstr "सैना" + +#: src/common/util.c:969 +msgid "Macedonia" +msgstr "मेसीडोनिया" + +#: src/common/util.c:970 +msgid "Mali" +msgstr "माली" + +#: src/common/util.c:971 +msgid "Myanmar" +msgstr "म्यनमार" + +#: src/common/util.c:972 +msgid "Mongolia" +msgstr "मंगोलिया" + +#: src/common/util.c:973 +msgid "Macau" +msgstr "मकाउ" + +#: src/common/util.c:974 +msgid "Northern Mariana Islands" +msgstr "उत्तरी मरियाना द्वीप" + +#: src/common/util.c:975 +msgid "Martinique" +msgstr "मार्टीनीक" + +#: src/common/util.c:976 +msgid "Mauritania" +msgstr "मारीटेनिया" + +#: src/common/util.c:977 +msgid "Montserrat" +msgstr "मोंट्सेराट" + +#: src/common/util.c:978 +msgid "Malta" +msgstr "माल्टा" + +#: src/common/util.c:979 +msgid "Mauritius" +msgstr "मॉरीशस" + +#: src/common/util.c:980 +msgid "Maldives" +msgstr "मालदीव" + +#: src/common/util.c:981 +msgid "Malawi" +msgstr "मलावी" + +#: src/common/util.c:982 +msgid "Mexico" +msgstr "मेक्सिको" + +#: src/common/util.c:983 +msgid "Malaysia" +msgstr "मलेशिया" + +#: src/common/util.c:984 +msgid "Mozambique" +msgstr "मोजांबिक" + +#: src/common/util.c:985 +msgid "Namibia" +msgstr "नामीबिया" + +#: src/common/util.c:986 +msgid "New Caledonia" +msgstr "न्यू कैलिडोनिया" + +#: src/common/util.c:987 +msgid "Niger" +msgstr "नाइजर" + +#: src/common/util.c:988 +msgid "Internic Network" +msgstr "इंटरनिक संजाल" + +#: src/common/util.c:989 +msgid "Norfolk Island" +msgstr "नॉरफॉक द्वीप" + +#: src/common/util.c:990 +msgid "Nigeria" +msgstr "नाइजीरिया" + +#: src/common/util.c:991 +msgid "Nicaragua" +msgstr "निकारागुआ" + +#: src/common/util.c:992 +msgid "Netherlands" +msgstr "नीदरलैंड्स" + +#: src/common/util.c:993 +msgid "Norway" +msgstr "नार्वे" + +#: src/common/util.c:994 +msgid "Nepal" +msgstr "नेपाल" + +#: src/common/util.c:995 +msgid "Nauru" +msgstr "नौरू" + +#: src/common/util.c:996 +msgid "Neutral Zone" +msgstr "मध्यस्थ क्षेत्र" + +#: src/common/util.c:997 +msgid "Niue" +msgstr "निवे" + +#: src/common/util.c:998 +msgid "New Zealand" +msgstr "न्यू जीलैंड" + +#: src/common/util.c:999 +msgid "Oman" +msgstr "ओमान" + +#: src/common/util.c:1000 +msgid "Internic Non-Profit Organization" +msgstr "इंटरनिक गैर लाभकारी संगठन" + +#: src/common/util.c:1001 +msgid "Panama" +msgstr "पनामा" + +#: src/common/util.c:1002 +msgid "Peru" +msgstr "पेरू" + +#: src/common/util.c:1003 +msgid "French Polynesia" +msgstr "फ्रेंच पोलीनेशिया" + +#: src/common/util.c:1004 +msgid "Papua New Guinea" +msgstr "पापुआ न्यू गिनी" + +#: src/common/util.c:1005 +msgid "Philippines" +msgstr "फिलीपीन" + +#: src/common/util.c:1006 +msgid "Pakistan" +msgstr "पाकिस्तान" + +#: src/common/util.c:1007 +msgid "Poland" +msgstr "पोलेंड" + +#: src/common/util.c:1008 +msgid "St. Pierre and Miquelon" +msgstr "सेंट पियरे व मिकेलन" + +#: src/common/util.c:1009 +msgid "Pitcairn" +msgstr "पिटकैर्न" + +#: src/common/util.c:1010 +msgid "Puerto Rico" +msgstr "प्यूरिटो रिको" + +#: src/common/util.c:1011 +msgid "Palestinian Territory" +msgstr "फिलीस्तीनी क्षेत्र" + +#: src/common/util.c:1012 +msgid "Portugal" +msgstr "पुर्तगाल" + +#: src/common/util.c:1013 +msgid "Palau" +msgstr "पलाऊ" + +#: src/common/util.c:1014 +msgid "Paraguay" +msgstr "पराग्वे" + +#: src/common/util.c:1015 +msgid "Qatar" +msgstr "कातार" + +#: src/common/util.c:1016 +msgid "Reunion" +msgstr "रीयूनियन" + +#: src/common/util.c:1017 +msgid "Romania" +msgstr "रोमानिया" + +#: src/common/util.c:1018 +msgid "Old School ARPAnet" +msgstr "ओल्ड स्कूल ARPAnet" + +#: src/common/util.c:1019 +msgid "Russian Federation" +msgstr "रूस परिसंघ" + +#: src/common/util.c:1020 +msgid "Rwanda" +msgstr "रवांडा" + +#: src/common/util.c:1021 +msgid "Saudi Arabia" +msgstr "सऊदी अरब" + +#: src/common/util.c:1022 +msgid "Solomon Islands" +msgstr "सोलोमन द्वीप" + +#: src/common/util.c:1023 +msgid "Seychelles" +msgstr "सिचेलीस" + +#: src/common/util.c:1024 +msgid "Sudan" +msgstr "सूडान" + +#: src/common/util.c:1025 +msgid "Sweden" +msgstr "स्वीडन" + +#: src/common/util.c:1026 +msgid "Singapore" +msgstr "सिंगापुर" + +#: src/common/util.c:1027 +msgid "St. Helena" +msgstr "सेंट हेलेना" + +#: src/common/util.c:1028 +msgid "Slovenia" +msgstr "स्लोवेनिया" + +#: src/common/util.c:1029 +msgid "Svalbard and Jan Mayen Islands" +msgstr "स्वालबर्ड और जेन मयेन द्वीप" + +#: src/common/util.c:1030 +msgid "Slovak Republic" +msgstr "स्लोवाक गणतंत्र" + +#: src/common/util.c:1031 +msgid "Sierra Leone" +msgstr "सियरा लियोन" + +#: src/common/util.c:1032 +msgid "San Marino" +msgstr "सैन मेरिनो" + +#: src/common/util.c:1033 +msgid "Senegal" +msgstr "सेनेगल" + +#: src/common/util.c:1034 +msgid "Somalia" +msgstr "सोमालिया" + +#: src/common/util.c:1035 +msgid "Suriname" +msgstr "सुरीनाम" + +#: src/common/util.c:1036 +msgid "Sao Tome and Principe" +msgstr "साओ टोम अने प्रिन्साईप" + +#: src/common/util.c:1037 +msgid "Former USSR" +msgstr "भूतपूर्व USSR" + +#: src/common/util.c:1038 +msgid "El Salvador" +msgstr "अल सल्वाडोर" + +#: src/common/util.c:1039 +msgid "Syria" +msgstr "सीरिया" + +#: src/common/util.c:1040 +msgid "Swaziland" +msgstr "स्वाजीलैंड" + +#: src/common/util.c:1041 +msgid "Turks and Caicos Islands" +msgstr "तुर्क्स अने केईकोस द्वीपओ" + +#: src/common/util.c:1042 +msgid "Chad" +msgstr "चाड" + +#: src/common/util.c:1043 +msgid "French Southern Territories" +msgstr "फ्रेंच दक्षिण परिक्षेत्र" + +#: src/common/util.c:1044 +msgid "Togo" +msgstr "टोगो" + +#: src/common/util.c:1045 +msgid "Thailand" +msgstr "थाइलैंड" + +#: src/common/util.c:1046 +msgid "Tajikistan" +msgstr "ताजीकिस्तान" + +#: src/common/util.c:1047 +msgid "Tokelau" +msgstr "टोकेलाऊ" + +#: src/common/util.c:1048 +msgid "Turkmenistan" +msgstr "तुर्कमेनिस्तान" + +#: src/common/util.c:1049 +msgid "Tunisia" +msgstr "ट्यूनीशिया" + +#: src/common/util.c:1050 +msgid "Tonga" +msgstr "टोन्गा" + +#: src/common/util.c:1051 +msgid "East Timor" +msgstr "पूर्वीय टाईमोर" + +#: src/common/util.c:1052 +msgid "Turkey" +msgstr "तुर्की" + +#: src/common/util.c:1053 +msgid "Trinidad and Tobago" +msgstr "ट्रिनीदाद अने टोबेगो" + +#: src/common/util.c:1054 +msgid "Tuvalu" +msgstr "तुवालू" + +#: src/common/util.c:1055 +msgid "Taiwan" +msgstr "ताइवान" + +#: src/common/util.c:1056 +msgid "Tanzania" +msgstr "तान्झानीया" + +#: src/common/util.c:1057 +msgid "Ukraine" +msgstr "उक्रेन" + +#: src/common/util.c:1058 +msgid "Uganda" +msgstr "यूगांडा" + +#: src/common/util.c:1059 +msgid "United Kingdom" +msgstr "यूनाइटेड किंगडम" + +#: src/common/util.c:1060 +msgid "US Minor Outlying Islands" +msgstr "US माइनर बाहरी द्वीप" + +#: src/common/util.c:1061 +msgid "United States of America" +msgstr "युनाइटेड स्टेट आफ अमेरिका" + +#: src/common/util.c:1062 +msgid "Uruguay" +msgstr "उरुगवे" + +#: src/common/util.c:1063 +msgid "Uzbekistan" +msgstr "उजबेकिस्तान" + +#: src/common/util.c:1064 +msgid "Vatican City State" +msgstr "वेटिकन सिटी स्टेट" + +#: src/common/util.c:1065 +msgid "St. Vincent and the Grenadines" +msgstr "सेंट विंसेंट तथा ग्रेनेडाइन्स" + +#: src/common/util.c:1066 +msgid "Venezuela" +msgstr "वेनेजुएला" + +#: src/common/util.c:1067 +msgid "British Virgin Islands" +msgstr "ब्रिटिश बर्जिन द्वीप" + +#: src/common/util.c:1068 +msgid "US Virgin Islands" +msgstr "US वर्जिन द्वीप" + +#: src/common/util.c:1069 +msgid "Vietnam" +msgstr "विएतनाम" + +#: src/common/util.c:1070 +msgid "Vanuatu" +msgstr "वैनुआटु" + +#: src/common/util.c:1071 +msgid "Wallis and Futuna Islands" +msgstr "वेलिश और फुटूना द्वीप" + +#: src/common/util.c:1072 +msgid "Samoa" +msgstr "समोआ" + +#: src/common/util.c:1073 +msgid "Yemen" +msgstr "यमन" + +#: src/common/util.c:1074 +msgid "Mayotte" +msgstr "मयोटे" + +#: src/common/util.c:1075 +msgid "Yugoslavia" +msgstr "युगोस्लाविया" + +#: src/common/util.c:1076 +msgid "South Africa" +msgstr "दक्षिण अफ्रीका" + +#: src/common/util.c:1077 +msgid "Zambia" +msgstr "जांबिया" + +#: src/common/util.c:1078 +msgid "Zimbabwe" +msgstr "जिंबाबवे" + +#: src/common/util.c:1088 src/common/util.c:1098 src/fe-gtk/menu.c:478 +#: src/fe-gtk/menu.c:482 src/fe-gtk/menu.c:486 src/fe-gtk/menu.c:490 +#: src/fe-gtk/menu.c:494 +msgid "Unknown" +msgstr "अज्ञात" + +#: src/common/xchat.c:929 +msgid "Direct client-to-client" +msgstr "Direct client-to-client" + +#: src/common/xchat.c:930 +msgid "Send File" +msgstr "फाइल भेजें" + +#: src/common/xchat.c:931 +msgid "Offer Chat" +msgstr "बातचीत का प्रस्ताव दें" + +#: src/common/xchat.c:932 +msgid "Abort Chat" +msgstr "बातचीत विफल करें" + +#: src/common/xchat.c:933 src/fe-gtk/plugingui.c:73 +msgid "Version" +msgstr "संस्करण" + +#: src/common/xchat.c:934 +msgid "Userinfo" +msgstr "Userinfo" + +#: src/common/xchat.c:935 +msgid "Clientinfo" +msgstr "Clientinfo" + +#: src/common/xchat.c:936 src/common/xchat.c:970 src/common/xchat.c:1021 +msgid "Ping" +msgstr "पिंग" + +#: src/common/xchat.c:937 +msgid "Time" +msgstr "समय" + +#: src/common/xchat.c:938 +msgid "Finger" +msgstr "फिंगर" + +#: src/common/xchat.c:939 +msgid "Oper" +msgstr "आपरेटर" + +#: src/common/xchat.c:940 +msgid "Kill this user" +msgstr "उपयोक्ता खत्म करें" + +#: src/common/xchat.c:941 +msgid "Mode" +msgstr "मोड" + +#: src/common/xchat.c:942 +msgid "Give Ops" +msgstr "ऑपरेटर दर्जा दें" + +#: src/common/xchat.c:943 +msgid "Take Ops" +msgstr "ऑपरेटर दर्जा लें" + +#: src/common/xchat.c:944 +msgid "Give Half-Ops" +msgstr "आधा ऑपरेटर दर्जा दें" + +#: src/common/xchat.c:945 +msgid "Take Half-Ops" +msgstr "आधा ऑपरेटर दर्जा लें" + +#: src/common/xchat.c:946 +msgid "Give Voice" +msgstr "आवाज दें" + +#: src/common/xchat.c:947 +msgid "Take Voice" +msgstr "आवाज लें" + +#: src/common/xchat.c:948 +msgid "Ignore" +msgstr "नज़रअंदाज़ करें" + +#: src/common/xchat.c:949 +msgid "Ignore User" +msgstr "उपयोक्ता नजरअंदाज करें" + +#: src/common/xchat.c:950 +msgid "UnIgnore User" +msgstr "उपयोक्ता अनदेखा न करें" + +#: src/common/xchat.c:951 +msgid "Kick/Ban" +msgstr "किक/प्रतिबंध" + +#: src/common/xchat.c:952 src/common/xchat.c:1004 +msgid "Kick" +msgstr "किक" + +#: src/common/xchat.c:953 src/common/xchat.c:954 src/common/xchat.c:955 +#: src/common/xchat.c:956 src/common/xchat.c:957 src/common/xchat.c:1003 +msgid "Ban" +msgstr "प्रतिबंध" + +#: src/common/xchat.c:958 src/common/xchat.c:959 src/common/xchat.c:960 +#: src/common/xchat.c:961 +msgid "KickBan" +msgstr "KickBan" + +#: src/common/xchat.c:962 src/fe-gtk/dccgui.c:564 src/fe-gtk/dccgui.c:712 +msgid "Info" +msgstr "जानकारी" + +#: src/common/xchat.c:963 +msgid "Who" +msgstr "कौन" + +#: src/common/xchat.c:964 src/common/xchat.c:1017 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/xchat.c:965 +msgid "DNS Lookup" +msgstr "DNS Lookup" + +#: src/common/xchat.c:966 +msgid "Trace" +msgstr "ट्रेस" + +#: src/common/xchat.c:967 +msgid "UserHost" +msgstr "UserHost" + +#: src/common/xchat.c:968 +msgid "External" +msgstr "बाहरी" + +#: src/common/xchat.c:969 +msgid "Traceroute" +msgstr "ट्रेसरूट" + +#: src/common/xchat.c:971 +msgid "Telnet" +msgstr "टेलनेट" + +#: src/common/xchat.c:972 +msgid "Open Dialog Window" +msgstr "संवाद विंडो खोलें" + +#: src/common/xchat.c:984 +msgid "Disconnect" +msgstr "विसंबंधित" + +#: src/common/xchat.c:985 +msgid "Reconnect" +msgstr "फिर से जुड़ें" + +#: src/common/xchat.c:986 +msgid "Leave Channel" +msgstr "चैनल छोड़ें" + +#: src/common/xchat.c:987 +msgid "Join Channel..." +msgstr "चैनल से जुड़ें..." + +#: src/common/xchat.c:988 +msgid "Enter Channel to Join:" +msgstr "शामिल होने के लिये चैनल में दाखिल हों:" + +#: src/common/xchat.c:989 +msgid "Server Links" +msgstr "सर्वर लिंक" + +#: src/common/xchat.c:990 +msgid "Ping Server" +msgstr "सर्वर पिंग करें" + +#: src/common/xchat.c:991 +msgid "Hide Version" +msgstr "संस्करण छुपायें" + +#: src/common/xchat.c:1001 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:1002 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/xchat.c:1005 +msgid "bye" +msgstr "bye" + +#: src/common/xchat.c:1006 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "किक करने का कारण दें %s:" + +#: src/common/xchat.c:1007 +msgid "Sendfile" +msgstr "Sendfile" + +#: src/common/xchat.c:1008 +msgid "Dialog" +msgstr "संवाद" + +#: src/common/xchat.c:1018 +msgid "Send" +msgstr "भेजें" + +#: src/common/xchat.c:1019 +msgid "Chat" +msgstr "गपशप" + +#: src/common/xchat.c:1020 src/fe-gtk/banlist.c:319 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/search.c:117 src/fe-gtk/urlgrab.c:200 +msgid "Clear" +msgstr "खाली" + +#: src/fe-gtk/about.c:102 +msgid "About X-Chat" +msgstr "X-Chat के बारे में" + +#: src/fe-gtk/about.c:124 +msgid "A multiplatform IRC Client" +msgstr "मल्टीप्लेटफॉर्म IRC क्लाइंट" + +#: src/fe-gtk/ascii.c:131 +msgid "Character Chart" +msgstr "संप्रतीक चार्ट" + +#: src/fe-gtk/banlist.c:153 src/fe-gtk/banlist.c:237 +msgid "You must select some bans." +msgstr "आपको अवश्य कुछ प्रतिबंध चुनना चाहिये" + +#: src/fe-gtk/banlist.c:253 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "मास्क" + +#: src/fe-gtk/banlist.c:254 src/fe-gtk/dccgui.c:520 +msgid "From" +msgstr "से" + +#: src/fe-gtk/banlist.c:255 +msgid "Date" +msgstr "तारीख़" + +#: src/fe-gtk/banlist.c:299 +#, c-format +msgid "X-Chat: Ban List (%s)" +msgstr "X-Chat: सूची प्रतिबंधित करें (%s)" + +#: src/fe-gtk/banlist.c:315 +msgid "Unban" +msgstr "प्रतिबंध हटायें" + +#: src/fe-gtk/banlist.c:317 +msgid "Crop" +msgstr "क्रॉप" + +#: src/fe-gtk/banlist.c:321 +msgid "Refresh" +msgstr "ताज़ा करें" + +#: src/fe-gtk/chanlist.c:120 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "उपयोक्ता व चैनल सांख्यिकी: %d/%d %d/%d पर चैनल" + +#: src/fe-gtk/chanlist.c:536 +msgid "I can't save an empty list!" +msgstr "मैं एक खाली सूची सहेज नहीं सकता!" + +#: src/fe-gtk/chanlist.c:539 src/fe-gtk/menu.c:924 +msgid "Select an output filename" +msgstr "एक आउटपुट फाइल नाम चुनें" + +#: src/fe-gtk/chanlist.c:607 +#, c-format +msgid "X-Chat: Channel List (%s)" +msgstr "X-Chat: चैनल सूची (%s)" + +#: src/fe-gtk/chanlist.c:622 +msgid "List display options:" +msgstr "प्रदर्शन विकल्प सूचीबद्ध करें:" + +#: src/fe-gtk/chanlist.c:634 +msgid "Minimum Users:" +msgstr "न्यूनतम उपयोक्ता:" + +#: src/fe-gtk/chanlist.c:649 +msgid "Maximum Users:" +msgstr "अधिकतम उपयोक्ता:" + +#: src/fe-gtk/chanlist.c:664 +msgid "Regex Match:" +msgstr "Regex मिलान:" + +#: src/fe-gtk/chanlist.c:685 +msgid "Apply Match to:" +msgstr "इसमें मैच लगायें:" + +#: src/fe-gtk/chanlist.c:709 +msgid "Apply" +msgstr "लागू करो" + +#: src/fe-gtk/chanlist.c:751 +msgid "Refresh the list" +msgstr "सूची ताजा करें" + +#: src/fe-gtk/chanlist.c:753 +msgid "Save the list" +msgstr "सूची सहेजें" + +#: src/fe-gtk/chanlist.c:755 src/fe-gtk/menu.c:721 +msgid "Join Channel" +msgstr "चैनल में शामिल हों" + +#: src/fe-gtk/dccgui.c:126 +#, c-format +msgid "Send file to %s" +msgstr "%s में फाइल भेजें" + +#: src/fe-gtk/dccgui.c:346 +#, c-format +msgid "" +" File: %s\n" +" To/From: %s\n" +" Size: %u\n" +" Port: %d\n" +" IP Number: %s\n" +"Start Time: %s Max CPS: %d\n" +msgstr "" +" फाइल: %s\n" +" प्रति/प्रेषक: %s\n" +" आकार: %u\n" +" पोर्ट: %d\n" +" IP संख्या: %s\n" +"आरंभ करने का समय: %s Max CPS: %d\n" + +#: src/fe-gtk/dccgui.c:379 +msgid "That file is not resumable." +msgstr "वह फाइल नहीं संभव है." + +#: src/fe-gtk/dccgui.c:383 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"फाइल अभिगम नहीं कर सकता: %s\n" +"%s.\n" +"पुनर्बहाली संभव नहीं." + +#: src/fe-gtk/dccgui.c:390 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "डाउनलोड निर्देशिका का फाइल दिये गये फाइल से बड़ा है. पुनर्बहाली संभव नहीं." + +#: src/fe-gtk/dccgui.c:394 +msgid "Cannot resume the same file from two people." +msgstr "दो व्यक्ति से समान फाइल नहीं ले सकता." + +#: src/fe-gtk/dccgui.c:509 +msgid "MIME Type" +msgstr "माइम प्रकार" + +#: src/fe-gtk/dccgui.c:515 src/fe-gtk/dccgui.c:673 src/fe-gtk/dccgui.c:796 +#: src/fe-gtk/notifygui.c:110 +msgid "Status" +msgstr "स्थिति" + +#: src/fe-gtk/dccgui.c:516 src/fe-gtk/dccgui.c:674 src/fe-gtk/plugingui.c:74 +msgid "File" +msgstr "फाइल" + +#: src/fe-gtk/dccgui.c:519 src/fe-gtk/dccgui.c:678 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:529 +msgid "X-Chat: File Receive List" +msgstr "X-Chat: फाइल प्राप्त सूची" + +#: src/fe-gtk/dccgui.c:558 src/fe-gtk/dccgui.c:711 src/fe-gtk/dccgui.c:826 +msgid "Abort" +msgstr "छोड़ें" + +#: src/fe-gtk/dccgui.c:560 src/fe-gtk/dccgui.c:827 +msgid "Accept" +msgstr "स्वीकारें" + +#: src/fe-gtk/dccgui.c:562 +msgid "Resume" +msgstr "पुनरारंभ" + +#: src/fe-gtk/dccgui.c:566 +msgid "Open" +msgstr "खोलें" + +#: src/fe-gtk/dccgui.c:677 +msgid "Ack" +msgstr "Ack" + +#: src/fe-gtk/dccgui.c:679 +msgid "To" +msgstr "को" + +#: src/fe-gtk/dccgui.c:689 +msgid "X-Chat: File Send List" +msgstr "X-Chat: फाइल प्रेषण सूची" + +#: src/fe-gtk/dccgui.c:797 +msgid "To/From" +msgstr "प्रति/प्रेषक" + +#: src/fe-gtk/dccgui.c:798 +msgid "Recv" +msgstr "Recv" + +#: src/fe-gtk/dccgui.c:799 +msgid "Sent" +msgstr "भेजी-डाक" + +#: src/fe-gtk/dccgui.c:800 +msgid "StartTime" +msgstr "StartTime" + +#: src/fe-gtk/dccgui.c:810 +msgid "X-Chat: DCC Chat List" +msgstr "X-Chat: DCC चैट सूची" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*NEW*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "EDIT ME" + +#: src/fe-gtk/editlist.c:305 src/fe-gtk/plugingui.c:72 +msgid "Name" +msgstr "नाम" + +#: src/fe-gtk/editlist.c:306 +msgid "Command" +msgstr "कमांड" + +#: src/fe-gtk/editlist.c:333 +msgid "Move Up" +msgstr "ऊपर जाएँ" + +#: src/fe-gtk/editlist.c:337 +msgid "Move Dn" +msgstr "नीचे जाएँ" + +#: src/fe-gtk/editlist.c:345 +msgid "Cancel" +msgstr "रद्द" + +#: src/fe-gtk/editlist.c:349 src/fe-gtk/textgui.c:413 src/fe-gtk/urlgrab.c:204 +msgid "Save" +msgstr "सहेजें" + +#: src/fe-gtk/editlist.c:357 +msgid "Add New" +msgstr "नया जोड़ें" + +#: src/fe-gtk/editlist.c:361 src/fe-gtk/fkeys.c:751 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "मिटाओ" + +#: src/fe-gtk/editlist.c:369 +msgid "Sort" +msgstr "सोर्ट" + +#: src/fe-gtk/editlist.c:373 +msgid "Help" +msgstr "मदद" + +#: src/fe-gtk/fe-gtk.c:170 +msgid "Options" +msgstr "विकल्प" + +#: src/fe-gtk/fe-gtk.c:171 +msgid "don't auto connect" +msgstr "स्वतः न जोड़ें" + +#: src/fe-gtk/fe-gtk.c:172 +msgid "DIRECTORY" +msgstr "DIRECTORY" + +#: src/fe-gtk/fe-gtk.c:173 +msgid "use a different config dir" +msgstr "अलग कॉन्फिग निर्देशिका प्रयोग करें" + +#: src/fe-gtk/fe-gtk.c:174 +msgid "don't auto load any plugins" +msgstr "किसी प्लगिन को स्वतः लोड न करें" + +#: src/fe-gtk/fe-gtk.c:175 +msgid "show plugin auto-load dir" +msgstr "प्लगिन ऑटोलोड निर्देशिका" + +#: src/fe-gtk/fe-gtk.c:176 +msgid "show user config dir" +msgstr "उपयोक्ता कॉन्फिग निर्देशिका दिखायें" + +#: src/fe-gtk/fe-gtk.c:177 +msgid "show version information" +msgstr "संस्कऱम सूचना दिखायें" + +#: src/fe-gtk/fe-gtk.c:262 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"पोर्ट खोलने में विफल:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:622 +msgid "Search buffer is empty.\n" +msgstr "ढूंढें बफर खाली है.\n" + +#: src/fe-gtk/fe-gtk.c:699 +#, c-format +msgid "%d bytes" +msgstr "%d बाइट्" + +#: src/fe-gtk/fkeys.c:155 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" + +#: src/fe-gtk/fkeys.c:157 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." + +#: src/fe-gtk/fkeys.c:163 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" + +#: src/fe-gtk/fkeys.c:167 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" + +#: src/fe-gtk/fkeys.c:169 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" + +#: src/fe-gtk/fkeys.c:171 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command moves the front tab left by one" +msgstr "This command moves the front tab left by one" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command moves the front tab right by one" +msgstr "This command moves the front tab right by one" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the current tab family to the left" +msgstr "मौजूदा टैब परिवार को यह समादेश बांयी ओर बढ़ाता है" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the current tab family to the right" +msgstr "मौजूदा टैब परिवार को यह समादेश दाहिनी ओर बढ़ाता है" + +#: src/fe-gtk/fkeys.c:183 +msgid "Push input line into history but doesn't send to server" +msgstr "इतिहास में इनपुट लाइन डालें लेकिन सर्वर में मत भेजें" + +#: src/fe-gtk/fkeys.c:195 +msgid "There was an error loading key bindings configuration" +msgstr "कुंजी बाइंडिंग विन्यास के भारण में त्रुटि थी." + +#: src/fe-gtk/fkeys.c:439 src/fe-gtk/fkeys.c:440 src/fe-gtk/fkeys.c:441 +#: src/fe-gtk/fkeys.c:442 src/fe-gtk/fkeys.c:724 src/fe-gtk/fkeys.c:730 +#: src/fe-gtk/fkeys.c:735 src/fe-gtk/maingui.c:905 src/fe-gtk/maingui.c:921 +#: src/fe-gtk/maingui.c:1064 src/fe-gtk/maingui.c:1117 +#: src/fe-gtk/maingui.c:2494 +msgid "<none>" +msgstr "<कोई नहीं>" + +#: src/fe-gtk/fkeys.c:688 +msgid "Mod" +msgstr "Mod" + +#: src/fe-gtk/fkeys.c:689 src/fe-gtk/fkeys.c:784 +msgid "Key" +msgstr "कुंजी" + +#: src/fe-gtk/fkeys.c:690 +msgid "Action" +msgstr "क्रिया" + +#: src/fe-gtk/fkeys.c:699 +msgid "X-Chat: Keyboard Shortcuts" +msgstr "X-Chat: कीबोर्ड शॉर्टकट" + +#: src/fe-gtk/fkeys.c:746 +msgid "Add new" +msgstr "नया जोड़ें" + +#: src/fe-gtk/fkeys.c:777 +msgid "Shift" +msgstr "शिफ्ट" + +#: src/fe-gtk/fkeys.c:779 +msgid "Alt" +msgstr "आल्ट" + +#: src/fe-gtk/fkeys.c:781 +msgid "Ctrl" +msgstr "कंट्रोल" + +#: src/fe-gtk/fkeys.c:788 +msgid "Data 1" +msgstr "Data 1" + +#: src/fe-gtk/fkeys.c:791 +msgid "Data 2" +msgstr "Data 2" + +#: src/fe-gtk/fkeys.c:834 +msgid "Error opening keys config file\n" +msgstr "मुख्य कॉनिफग फाइल खोलने में त्रुटि\n" + +#: src/fe-gtk/fkeys.c:1005 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1043 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1064 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1133 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:154 +msgid "Cannot write to that file." +msgstr "उस फाइल में नहीं लिख सकता है" + +#: src/fe-gtk/gtkutil.c:156 +msgid "Cannot read that file." +msgstr "उस फाइल को पढ़ नहीं सकता है" + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "वह मास्क पहले से मौजूद है" + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:1573 +msgid "Private" +msgstr "निजी" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "सूचना" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "सीटीसीपी" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "डीसीसी" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "निमंत्रित करें" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "अनदेखा न करें" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "अनदेखा करने के लिये मास्क दें: " + +#: src/fe-gtk/ignoregui.c:354 +msgid "X-Chat: Ignore list" +msgstr "X-Chat: अनदेखा सूची" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "अनदेखा स्थिति:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "चैनलः" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "निजी:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "सूचना:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "आमंत्रण करें:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:306 +msgid "Add" +msgstr "जोड़ें" + +#: src/fe-gtk/maingui.c:318 +msgid "Dialog with" +msgstr "इसके साथ संवाद" + +#: src/fe-gtk/maingui.c:574 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s के लिये टॉपिक है: %s" + +#: src/fe-gtk/maingui.c:578 +msgid "No topic is set" +msgstr "कोई टापिक सेच नहीं है" + +#: src/fe-gtk/maingui.c:974 +msgid "No other tabs open, quit xchat?" +msgstr "कोई अलग टैब खुला नहीं है,xchat छोड़ें?" + +#: src/fe-gtk/maingui.c:1020 +msgid "Insert color code" +msgstr "रंग कोड डालें" + +#: src/fe-gtk/maingui.c:1069 +msgid "Beep on message" +msgstr "संदेश पर बीप करें" + +#: src/fe-gtk/maingui.c:1072 +msgid "Show join/part messages" +msgstr "join/part संदेश दिखायें" + +#: src/fe-gtk/maingui.c:1074 +msgid "Color paste" +msgstr "रंग पेस्ट" + +#: src/fe-gtk/maingui.c:1084 +msgid "Go to" +msgstr "यहाँ जाएँ" + +#: src/fe-gtk/maingui.c:1097 src/fe-gtk/menu.c:1251 +msgid "Close Tab" +msgstr "टैब बंद करें" + +#: src/fe-gtk/maingui.c:1100 src/fe-gtk/menu.c:1404 +msgid "Detach Tab" +msgstr "टैब निकालें" + +#: src/fe-gtk/maingui.c:1291 +msgid "Some file transfers still active, quit xchat?" +msgstr "कुछ फाइल स्थानांतरण अभी भी सक्रिय है, xchat छोड़ें?" + +#: src/fe-gtk/maingui.c:1441 src/fe-gtk/maingui.c:1547 +msgid "User limit must be a number!\n" +msgstr "उपयोक्ता सीमा अवश्य एक संख्या होनी चाहिये!\n" + +#: src/fe-gtk/maingui.c:1569 +msgid "Topic Protection" +msgstr "टॉपिक सुरक्षा" + +#: src/fe-gtk/maingui.c:1570 +msgid "No outside messages" +msgstr "कोई बाहरी संदेश नहीं" + +#: src/fe-gtk/maingui.c:1571 +msgid "Secret" +msgstr "गुप्त" + +#: src/fe-gtk/maingui.c:1572 +msgid "Invite Only" +msgstr "सिर्फ आमंत्रण" + +#: src/fe-gtk/maingui.c:1574 +msgid "Moderated" +msgstr "Moderated" + +#: src/fe-gtk/maingui.c:1575 +msgid "Ban List" +msgstr "प्रतिबंध सूची" + +#: src/fe-gtk/maingui.c:1577 +msgid "Keyword" +msgstr "कीवर्ड" + +#: src/fe-gtk/maingui.c:1589 +msgid "User Limit" +msgstr "उपयोक्ता सीमा" + +#: src/fe-gtk/maingui.c:1605 +msgid "Close this tab/window" +msgstr "इस tab/window बंद करें" + +#: src/fe-gtk/maingui.c:1702 +msgid "Show/Hide userlist" +msgstr "userlist दिखायें/छुपायें" + +#: src/fe-gtk/maingui.c:1815 +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 "" +"Unable to set transparent background!\n" +"\n" +"You may be using a non-compliant window\n" +"manager that is not currently supported.\n" + +#: src/fe-gtk/maingui.c:2008 +msgid "Enter new nickname:" +msgstr "नया उपनाम दें:" + +#: src/fe-gtk/menu.c:116 +msgid "Host unknown" +msgstr "मेजबान नाम" + +#: src/fe-gtk/menu.c:477 +#, c-format +msgid "User: %s" +msgstr "उपयोक्ता: %s" + +#: src/fe-gtk/menu.c:481 +#, c-format +msgid "Country: %s" +msgstr "देश: %s" + +#: src/fe-gtk/menu.c:485 +#, c-format +msgid "Realname: %s" +msgstr "वास्तविक नाम: %s" + +#: src/fe-gtk/menu.c:489 +#, c-format +msgid "Server: %s" +msgstr "सर्वर :%s" + +#: src/fe-gtk/menu.c:493 +#, c-format +msgid "Last Msg: %s" +msgstr "अंतिम संदेश: %s" + +#: src/fe-gtk/menu.c:578 +msgid "Menu Bar" +msgstr "सूची पट्टी" + +#: src/fe-gtk/menu.c:579 +msgid "Topic Bar" +msgstr "टॉपिक पट्टी" + +#: src/fe-gtk/menu.c:583 src/fe-gtk/setup.c:159 +msgid "User List" +msgstr "उपयोक्ता सूची" + +#: src/fe-gtk/menu.c:586 +msgid "Mode Buttons" +msgstr "मोड बटन" + +#: src/fe-gtk/menu.c:592 +msgid "User List Buttons" +msgstr "उपयोक्ता सूची बटन" + +#: src/fe-gtk/menu.c:662 src/fe-gtk/urlgrab.c:202 +msgid "Copy selected URL" +msgstr "चुनें गये URL को कॉपी करें" + +#: src/fe-gtk/menu.c:725 +msgid "Part Channel" +msgstr "चैनल छोड़ें" + +#: src/fe-gtk/menu.c:727 +msgid "Cycle Channel" +msgstr "चक्रीय चैनल" + +#: src/fe-gtk/menu.c:750 +msgid "X-Chat: User menu" +msgstr "X-Chat: उपयोक्ता मेनू" + +#: src/fe-gtk/menu.c:759 +msgid "Edit This Menu..." +msgstr "यह मीनू संपादित करें..." + +#: src/fe-gtk/menu.c:866 +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 "" +"*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" + +#: src/fe-gtk/menu.c:994 +msgid "Settings saved." +msgstr "जमावट सहेजा गया." + +#: src/fe-gtk/menu.c:1031 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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\"." + +#: src/fe-gtk/menu.c:1046 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" + +#: src/fe-gtk/menu.c:1055 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" + +#: src/fe-gtk/menu.c:1064 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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" + +#: src/fe-gtk/menu.c:1074 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of X-Chat" +msgstr "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of X-Chat" + +#: src/fe-gtk/menu.c:1083 +msgid "X-Chat: User Defined Commands" +msgstr "X-Chat: उपयोक्ता परिभाषित समादेश" + +#: src/fe-gtk/menu.c:1090 +msgid "X-Chat: Userlist Popup menu" +msgstr "X-Chat: उपयोक्ता सूची मेनू" + +#: src/fe-gtk/menu.c:1097 +msgid "X-Chat: Replace" +msgstr "X-Chat: बदलें" + +#: src/fe-gtk/menu.c:1104 +msgid "X-Chat: URL Handlers" +msgstr "X-Chat: URL नियंत्रक" + +#: src/fe-gtk/menu.c:1123 +msgid "X-Chat: Userlist buttons" +msgstr "X-Chat: उपयोक्ता सूची बटन" + +#: src/fe-gtk/menu.c:1130 +msgid "X-Chat: Dialog buttons" +msgstr "X-Chat: संवाद बटन" + +#: src/fe-gtk/menu.c:1137 +msgid "X-Chat: CTCP Replies" +msgstr "X-Chat: CTCP उत्तर" + +#: src/fe-gtk/menu.c:1225 +msgid "_X-Chat" +msgstr "_X-Chat" + +#: src/fe-gtk/menu.c:1226 +msgid "Server List..." +msgstr "सर्वर सूची..." + +#: src/fe-gtk/menu.c:1229 +msgid "New" +msgstr "नया" + +#: src/fe-gtk/menu.c:1230 +msgid "Server Tab..." +msgstr "सर्वर टैब..." + +#: src/fe-gtk/menu.c:1231 +msgid "Channel Tab..." +msgstr "चैनल टैब..." + +#: src/fe-gtk/menu.c:1232 +msgid "Server Window..." +msgstr "सर्वर विंडो..." + +#: src/fe-gtk/menu.c:1233 +msgid "Channel Window..." +msgstr "चैनल विंडो..." + +#: src/fe-gtk/menu.c:1238 src/fe-gtk/menu.c:1240 +msgid "Load Plugin or Script..." +msgstr "प्लगिन या स्क्रिप्ट भारित करें..." + +#: src/fe-gtk/menu.c:1244 +msgid "New Shell Tab..." +msgstr "नया शेल टैब..." + +#: src/fe-gtk/menu.c:1253 +msgid "Quit" +msgstr "बाहर" + +#: src/fe-gtk/menu.c:1255 +msgid "_IRC" +msgstr "_IRC" + +#: src/fe-gtk/menu.c:1256 +msgid "Invisible" +msgstr "अदृश्य" + +#: src/fe-gtk/menu.c:1257 +msgid "Receive Wallops" +msgstr "वैलॉप पायें" + +#: src/fe-gtk/menu.c:1258 +msgid "Receive Server Notices" +msgstr "सर्वर सूचना पायें" + +#: src/fe-gtk/menu.c:1260 +msgid "Marked Away" +msgstr "दूर रूप में चिह्नित" + +#: src/fe-gtk/menu.c:1262 +msgid "Auto Rejoin when Kicked" +msgstr "किक किये जाने पर स्वतः जुड़ें" + +#: src/fe-gtk/menu.c:1263 +msgid "Auto Reconnect to Server" +msgstr "सर्वर से स्वतः जुड़ें" + +#: src/fe-gtk/menu.c:1264 +msgid "Never-give-up ReConnect" +msgstr "पुनः जुड़ें को कभी न छोड़ें" + +#: src/fe-gtk/menu.c:1266 +msgid "Auto Open Dialog Windows" +msgstr "स्वतः संवाद विंडो खोलें" + +#: src/fe-gtk/menu.c:1267 +msgid "Auto Accept Direct Chat" +msgstr "सीधी बात के लिये स्वतः स्वीकृति दें" + +#: src/fe-gtk/menu.c:1268 +msgid "Auto Accept Files" +msgstr "फाइल स्वतः स्वीकारें" + +#: src/fe-gtk/menu.c:1270 +msgid "_Server" +msgstr "सर्वर (_S)" + +#: src/fe-gtk/menu.c:1272 +msgid "S_ettings" +msgstr "जमावट (_e)" + +#: src/fe-gtk/menu.c:1273 +msgid "Preferences..." +msgstr "प्राथमिकताएं..." + +#: src/fe-gtk/menu.c:1275 +msgid "Advanced" +msgstr "विस्तृत" + +#: src/fe-gtk/menu.c:1276 +msgid "Auto Replace..." +msgstr "स्वतः बदलें..." + +#: src/fe-gtk/menu.c:1277 +msgid "CTCP Replies..." +msgstr "CTCP उत्तर..." + +#: src/fe-gtk/menu.c:1278 +msgid "Dialog Buttons..." +msgstr "संवाद बटन..." + +#: src/fe-gtk/menu.c:1279 +msgid "Keyboard Shortcuts..." +msgstr "कीबोर्ड शॉर्टकट..." + +#: src/fe-gtk/menu.c:1280 +msgid "Text Events..." +msgstr "पाठ घटना..." + +#: src/fe-gtk/menu.c:1281 +msgid "URL Handlers..." +msgstr "URL नियंत्रक..." + +#: src/fe-gtk/menu.c:1282 +msgid "User Commands..." +msgstr "उपयोक्ता समादेश..." + +#: src/fe-gtk/menu.c:1283 +msgid "Userlist Buttons..." +msgstr "उपयोक्ता सूची बटन..." + +#: src/fe-gtk/menu.c:1284 +msgid "Userlist Popup..." +msgstr "उपयोक्ता सूची पॉपअप..." + +#: src/fe-gtk/menu.c:1289 +msgid "Reload Settings" +msgstr "जमावट फिर भारित करें" + +#: src/fe-gtk/menu.c:1291 +msgid "Save Settings now" +msgstr "अब जमावट सहेजें" + +#: src/fe-gtk/menu.c:1292 +msgid "Save Settings on exit" +msgstr "बाहर निकलने पर जमावट सहेजें" + +#: src/fe-gtk/menu.c:1295 +msgid "_Window" +msgstr "विंडो (_W)" + +#: src/fe-gtk/menu.c:1296 +msgid "Ban List..." +msgstr "प्रतिबंध सूची..." + +#: src/fe-gtk/menu.c:1297 +msgid "Channel List..." +msgstr "चैनल सूची" + +#: src/fe-gtk/menu.c:1298 +msgid "Character Chart..." +msgstr "संप्रतीक चार्ट..." + +#: src/fe-gtk/menu.c:1299 +msgid "Direct Chat..." +msgstr "सीधी बात..." + +#: src/fe-gtk/menu.c:1300 +msgid "File Receive..." +msgstr "फाइल पायें..." + +#: src/fe-gtk/menu.c:1301 +msgid "File Send..." +msgstr "फाइल भेजें..." + +#: src/fe-gtk/menu.c:1302 +msgid "Ignore List..." +msgstr "सूची अनदेखा करें..." + +#: src/fe-gtk/menu.c:1303 +msgid "Notify List..." +msgstr "सूची को बतायें..." + +#: src/fe-gtk/menu.c:1304 +msgid "Plugins and Scripts..." +msgstr "प्लगिन और स्क्रिप्ट..." + +#: src/fe-gtk/menu.c:1305 +msgid "Raw Log..." +msgstr "कच्चा लॉग..." + +#: src/fe-gtk/menu.c:1306 +msgid "URL Grabber..." +msgstr "URL प्राप्तकर्ता..." + +#: src/fe-gtk/menu.c:1308 +msgid "Reset Marker Line" +msgstr "मार्कर पंक्ति फिर सेट करें" + +#: src/fe-gtk/menu.c:1309 +msgid "C_lear Text" +msgstr "पाठ साफ करें" + +#: src/fe-gtk/menu.c:1310 +msgid "Search Text..." +msgstr "पाठ खोजें..." + +#: src/fe-gtk/menu.c:1311 +msgid "Save Text..." +msgstr "पाठ सहेजें..." + +#: src/fe-gtk/menu.c:1313 +msgid "_Help" +msgstr "मदद (_H)" + +#: src/fe-gtk/menu.c:1314 +msgid "_Contents" +msgstr "विषय सूची (_C)" + +#: src/fe-gtk/menu.c:1316 src/fe-gtk/menu.c:1318 +msgid "_About" +msgstr "के बारे में (_A)" + +#: src/fe-gtk/menu.c:1406 +msgid "Attach Tab" +msgstr "टैब जोड़ें" + +#: src/fe-gtk/notifygui.c:109 +msgid "User" +msgstr "उपयोक्ता" + +#: src/fe-gtk/notifygui.c:111 +msgid "Server" +msgstr "सर्वर" + +#: src/fe-gtk/notifygui.c:112 +msgid "Last Seen" +msgstr "पिछली बार देखा गया" + +#: src/fe-gtk/notifygui.c:149 +msgid "Offline" +msgstr "ऑफ़लाइन" + +#: src/fe-gtk/notifygui.c:169 src/fe-gtk/setup.c:199 +msgid "Never" +msgstr "कभी नहीं" + +#: src/fe-gtk/notifygui.c:187 +msgid "Online" +msgstr "ऑनलाइन" + +#: src/fe-gtk/notifygui.c:277 +msgid "Enter nickname to add:" +msgstr "पता में उपनाम जोड़ें:" + +#: src/fe-gtk/notifygui.c:293 +msgid "X-Chat: Notify List" +msgstr "X-Chat: सूची को बतायें" + +#: src/fe-gtk/notifygui.c:308 +msgid "Remove" +msgstr "हटाएं" + +#: src/fe-gtk/plugingui.c:75 src/fe-gtk/textgui.c:341 +msgid "Description" +msgstr "वर्णन" + +#: src/fe-gtk/plugingui.c:150 +msgid "Select a Plugin or Script to load" +msgstr "भारित करने के लिये प्लगिन या स्क्रिप्ट चुनें" + +#: src/fe-gtk/plugingui.c:222 +msgid "X-Chat: Plugins and Scripts" +msgstr "X-Chat: प्लगिन और स्क्रिप्ट" + +#: src/fe-gtk/plugingui.c:228 +msgid "_Load..." +msgstr "लोड (_L)..." + +#: src/fe-gtk/plugingui.c:231 +msgid "_UnLoad" +msgstr "अनलोड करें (_U)" + +#: src/fe-gtk/plugingui.c:235 +msgid "_Close" +msgstr "बंद करें (_C)" + +#: src/fe-gtk/rawlog.c:78 +msgid "Save rawlog" +msgstr "rawlog सहेजें" + +#: src/fe-gtk/rawlog.c:94 +#, c-format +msgid "X-Chat: Rawlog (%s)" +msgstr "X-Chat: Rawlog (%s)" + +#: src/fe-gtk/rawlog.c:123 +msgid "Clear rawlog" +msgstr "rawlog साफ करें" + +#: src/fe-gtk/rawlog.c:126 +msgid "Save rawlog..." +msgstr "कच्चा लॉग सहेजें..." + +#: src/fe-gtk/search.c:47 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "The window you opened this Search for doesn't exist anymore." + +#: src/fe-gtk/search.c:91 +msgid "X-Chat: Search" +msgstr "X-Chat: खोजें" + +#: src/fe-gtk/search.c:100 +msgid "Find:" +msgstr "ढूंढें:" + +#: src/fe-gtk/search.c:114 +msgid "Find" +msgstr "ढूंढें" + +#: src/fe-gtk/search.c:119 +msgid "Close" +msgstr "बन्द करो" + +#: src/fe-gtk/servlistgui.c:161 src/fe-gtk/servlistgui.c:260 +msgid "New Network" +msgstr "नया संजाल" + +#: src/fe-gtk/servlistgui.c:493 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "वास्तव में संजाल \"%s\" और इसके सारे सर्वर को हटाता है?" + +#: src/fe-gtk/servlistgui.c:614 src/fe-gtk/servlistgui.c:630 +msgid "User name and Real name cannot be left blank." +msgstr "उपयोक्ता नाम व वास्तविक नाम को खाली नहीं छोड़ा जा सकता." + +#: src/fe-gtk/servlistgui.c:981 +#, c-format +msgid "X-Chat: Edit %s" +msgstr "X-Chat: संपादन %s" + +#: src/fe-gtk/servlistgui.c:1000 +#, c-format +msgid "Servers for %s" +msgstr "%s के लिये सर्वर" + +#: src/fe-gtk/servlistgui.c:1011 +msgid "Connect to selected server only" +msgstr "चुने गये सर्वर से सिर्फ जुड़ें" + +#: src/fe-gtk/servlistgui.c:1012 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "संबंधन विफल होने पर सभी सर्वर से चक्रीय न होयें." + +#: src/fe-gtk/servlistgui.c:1014 +msgid "Your Details" +msgstr "आपका विवरण" + +#: src/fe-gtk/servlistgui.c:1020 +msgid "Use global user information" +msgstr "वैश्विक उपयोक्ता सूचना का प्रयोग करें" + +#: src/fe-gtk/servlistgui.c:1023 src/fe-gtk/servlistgui.c:1255 +msgid "_Nick name:" +msgstr "उपनाम (_N):" + +#: src/fe-gtk/servlistgui.c:1027 src/fe-gtk/servlistgui.c:1276 +msgid "_User name:" +msgstr "उपयोक्ता नाम (_U):" + +#: src/fe-gtk/servlistgui.c:1031 +msgid "Real na_me:" +msgstr "वास्तविक नाम (_m):" + +#: src/fe-gtk/servlistgui.c:1034 +msgid "Connecting" +msgstr "जोड़ हो रहा है" + +#: src/fe-gtk/servlistgui.c:1040 +msgid "Auto connect to this network at startup" +msgstr "आरंभ में संजाल से स्वतः जुड़ें" + +#: src/fe-gtk/servlistgui.c:1042 +msgid "Use a proxy server" +msgstr "प्रॉक्सी सर्वर का प्रयोग करें" + +#: src/fe-gtk/servlistgui.c:1044 +msgid "Use SSL for all the servers on this network" +msgstr "इस संजाल पर सभी सर्वर के लिये SSL का प्रयोग करें" + +#: src/fe-gtk/servlistgui.c:1049 +msgid "Accept invalid SSL certificate" +msgstr "अमान्य SSL प्रमाणपत्र स्वीकारें" + +#: src/fe-gtk/servlistgui.c:1055 +msgid "C_hannels to join:" +msgstr "जुड़ने के लिये चैनल (_h):" + +#: src/fe-gtk/servlistgui.c:1057 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "शामिल होने के लिये चैनल, कौमा से पृथक, लेकिन स्थान नहीं!" + +#: src/fe-gtk/servlistgui.c:1060 +msgid "Connect command:" +msgstr "जोड़ें समादेश:" + +#: src/fe-gtk/servlistgui.c:1062 +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 "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." + +#: src/fe-gtk/servlistgui.c:1065 +msgid "Nickserv password:" +msgstr "निकसर्व शब्दकूट:" + +#: src/fe-gtk/servlistgui.c:1070 +msgid "Server password:" +msgstr "सर्वर पासवर्ड:" + +#: src/fe-gtk/servlistgui.c:1072 +msgid "Password for the server, if in doubt, leave blank." +msgstr "सर्वर के लिये शब्दकूट, अगर संदेह है तो खाली छोड़ें." + +#: src/fe-gtk/servlistgui.c:1075 +msgid "Character set:" +msgstr "संप्रतीक सेट:" + +#: src/fe-gtk/servlistgui.c:1148 +msgid "_Edit" +msgstr "संपादन (_E)" + +#: src/fe-gtk/servlistgui.c:1229 +msgid "X-Chat: Server List" +msgstr "X-Chat: सर्वर सूची" + +#: src/fe-gtk/servlistgui.c:1245 +msgid "User Information" +msgstr "उपयोक्ता जानकारी" + +#: src/fe-gtk/servlistgui.c:1262 +msgid "Second choice:" +msgstr "दूसरा विकल्प:" + +#: src/fe-gtk/servlistgui.c:1269 +msgid "Third choice:" +msgstr "तीसरा विकल्प:" + +#: src/fe-gtk/servlistgui.c:1283 +msgid "Rea_l name:" +msgstr "वास्तविक नाम (_l):" + +#: src/fe-gtk/servlistgui.c:1329 +msgid "Networks" +msgstr "संजाल" + +#: src/fe-gtk/servlistgui.c:1370 +msgid "Skip server list on startup" +msgstr "आरंभ में सर्वर सूची छोड़कर बढ़ें" + +#: src/fe-gtk/servlistgui.c:1401 +msgid "_Edit..." +msgstr "संपादित करें (_E)..." + +#: src/fe-gtk/servlistgui.c:1408 +msgid "_Sort" +msgstr "क्रमबद्ध करें (_S)" + +#: src/fe-gtk/servlistgui.c:1424 +msgid "C_onnect" +msgstr "जोड़ें (_o)" + +#: src/fe-gtk/servlistgui.c:1433 +msgid "Connect in new tab" +msgstr "नये टैब मे जोड़ें" + +#: src/fe-gtk/setup.c:95 +msgid "Text Box Appearance" +msgstr "पाठ बॉक्स प्रकटन" + +#: src/fe-gtk/setup.c:96 +msgid "Font:" +msgstr "फ़ॉन्टः" + +#: src/fe-gtk/setup.c:97 +msgid "Background image:" +msgstr "पृष्ठभूमि चित्र:" + +#: src/fe-gtk/setup.c:98 +msgid "Scrollback lines:" +msgstr "स्क्रॉलबैक पंक्ति:" + +#: src/fe-gtk/setup.c:99 +msgid "Transparent background" +msgstr "पारदर्शी पृष्ठभूमि" + +#: src/fe-gtk/setup.c:100 +msgid "Indent nick names" +msgstr "प्रमाणित उपनाम" + +#: src/fe-gtk/setup.c:101 +msgid "Make nick names right-justified" +msgstr "उपनाम को राइट जस्टीफाइड बनायें" + +#: src/fe-gtk/setup.c:102 +msgid "Tint (shade) transparency" +msgstr "टिंट (shade) पारदर्शी" + +#: src/fe-gtk/setup.c:103 +msgid "Colored nick names" +msgstr "रंग किया गया उपनाम" + +#: src/fe-gtk/setup.c:104 +msgid "Give each person on IRC a different color" +msgstr "IRC पर हर आदमी को अलग रंग दें" + +#: src/fe-gtk/setup.c:105 +msgid "Strip mIRC colors" +msgstr "स्ट्रिप mIRC रंग" + +#: src/fe-gtk/setup.c:106 +msgid "Show marker line" +msgstr "मार्कर पंक्ति दिखायें" + +#: src/fe-gtk/setup.c:107 +msgid "Insert a red line after the last read text." +msgstr "अंतिम पढ़े गये पाठ के बाद लाल रेखा दें" + +#: src/fe-gtk/setup.c:108 +msgid "Tint Settings" +msgstr "टिंट जमावट" + +#: src/fe-gtk/setup.c:109 +msgid "Red:" +msgstr "लाल:" + +#: src/fe-gtk/setup.c:110 +msgid "Green:" +msgstr "हराः" + +#: src/fe-gtk/setup.c:111 +msgid "Blue:" +msgstr "नीलाः" + +#: src/fe-gtk/setup.c:113 src/fe-gtk/setup.c:312 +msgid "Time Stamps" +msgstr "समय चिह्न" + +#: src/fe-gtk/setup.c:114 +msgid "Time stamp format:" +msgstr "काल पदचाप प्रारूप:" + +#: src/fe-gtk/setup.c:115 +msgid "See strftime manpage for details." +msgstr "विवरण के लिये strftime मैनपेज देखें." + +#: src/fe-gtk/setup.c:116 +msgid "Enable time stamps" +msgstr "काल पदचाप सक्रिय करें" + +#: src/fe-gtk/setup.c:123 +msgid "Nick Completion" +msgstr "उपनाम समाप्ति" + +#: src/fe-gtk/setup.c:124 +msgid "Automatic nick completion" +msgstr "स्वतः उपनाम समाप्ति" + +#: src/fe-gtk/setup.c:125 +msgid "Completes nick names without using the TAB key" +msgstr "बिना टैब कुंजी के प्रयोग के उपनाम पूरी करें" + +#: src/fe-gtk/setup.c:126 +msgid "Nick completion suffix:" +msgstr "उपनाम समाप्ति प्रत्यय:" + +#: src/fe-gtk/setup.c:128 +msgid "Input Box Codes" +msgstr "इनपुट बॉक्स कोड" + +#: src/fe-gtk/setup.c:129 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "%nnn की एक ASCII मान के रूप में व्याख्या करें" + +#: src/fe-gtk/setup.c:130 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "%C, %B को रंग, गहरा आदि के रूप में देखें" + +#: src/fe-gtk/setup.c:132 +msgid "Input Box Appearance" +msgstr "इनपुट बॉक्स प्रकटन" + +#: src/fe-gtk/setup.c:133 src/fe-gtk/setup.c:163 +msgid "Use the Text box font and colors" +msgstr "पाठ बॉक्स फंट व रंग का प्रयोग करें" + +#: src/fe-gtk/setup.c:140 +msgid "Off" +msgstr "बंद" + +#: src/fe-gtk/setup.c:141 +msgid "Graph" +msgstr "ग्राफ" + +#: src/fe-gtk/setup.c:142 +msgid "Info text" +msgstr "सूचना पाठ" + +#: src/fe-gtk/setup.c:143 +msgid "Both" +msgstr "दोनों" + +#: src/fe-gtk/setup.c:149 +msgid "A-Z, Ops first" +msgstr "A-Z, ऑपरेटर पहले" + +#: src/fe-gtk/setup.c:150 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:151 +msgid "Z-A, Ops last" +msgstr "Z-A, ऑपरेटर अंतिम" + +#: src/fe-gtk/setup.c:152 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:153 +msgid "Unsorted" +msgstr "बिना छांटा" + +#: src/fe-gtk/setup.c:160 +msgid "User list sorted by:" +msgstr "इस रूप में उपयोक्ता सूची छांटी गई:" + +#: src/fe-gtk/setup.c:161 +msgid "Show hostnames in user list" +msgstr "उपयोक्ता सूची में मेजबाननाम दिखायें" + +#: src/fe-gtk/setup.c:162 +msgid "User list buttons enabled" +msgstr "उपयोक्ता सूची बटन सक्रिय" + +#: src/fe-gtk/setup.c:164 +msgid "Resizable user list" +msgstr "आकार बदलने योग्य उपयोक्ता सूची" + +#: src/fe-gtk/setup.c:166 +msgid "Away tracking" +msgstr "दूर ट्रैकिंग" + +#: src/fe-gtk/setup.c:167 +msgid "Enable away tracking" +msgstr "दूर ट्रैकिंग सक्रिय करें" + +#: src/fe-gtk/setup.c:168 +msgid "On channels smaller than:" +msgstr "इससे छोटे चैनल पर:" + +#: src/fe-gtk/setup.c:170 +msgid "Action Upon Double Click" +msgstr "दोहरे क्लिक पर क्रिया" + +#: src/fe-gtk/setup.c:171 +msgid "Execute command:" +msgstr "समादेस चलायें:" + +#: src/fe-gtk/setup.c:173 +msgid "Extra Gadgets" +msgstr "अतिरिक्त गैजट" + +#: src/fe-gtk/setup.c:174 +msgid "Lag meter:" +msgstr "लैग मीटर:" + +#: src/fe-gtk/setup.c:175 +msgid "Throttle meter:" +msgstr "थ्रोट्ल मीटर:" + +#: src/fe-gtk/setup.c:182 +msgid "Windows" +msgstr "विंडोज़" + +#: src/fe-gtk/setup.c:183 src/fe-gtk/setup.c:207 src/fe-gtk/setup.c:1446 +msgid "Tabs" +msgstr "टॉब्स" + +#: src/fe-gtk/setup.c:189 +msgid "Bottom" +msgstr "नीचे" + +#: src/fe-gtk/setup.c:190 +msgid "Top" +msgstr "ऊपर" + +#: src/fe-gtk/setup.c:191 +msgid "Left" +msgstr "बायाँ" + +#: src/fe-gtk/setup.c:192 +msgid "Right" +msgstr "दाहिना" + +#: src/fe-gtk/setup.c:193 +msgid "Hidden" +msgstr "छुपा हुआ" + +#: src/fe-gtk/setup.c:200 +msgid "Always" +msgstr "हमेशा" + +#: src/fe-gtk/setup.c:201 +msgid "Only requested tabs" +msgstr "सिर्प आग्रहित टैब" + +#: src/fe-gtk/setup.c:208 +msgid "Open an extra tab for server messages" +msgstr "सर्वर संदेश के लिये एक अलग टैब खोलें" + +#: src/fe-gtk/setup.c:209 +msgid "Open an extra tab for server notices" +msgstr "सर्वर सूचना के लिये एक अलग टैब खोलें" + +#: src/fe-gtk/setup.c:210 +msgid "Small tabs" +msgstr "छोटा टैब" + +#: src/fe-gtk/setup.c:211 +msgid "Sort tabs in alphabetical order" +msgstr "अकारादि क्रम में सजायें" + +#: src/fe-gtk/setup.c:212 +msgid "Focus new tabs:" +msgstr "नया टैब पर फोकस करें:" + +#: src/fe-gtk/setup.c:213 +msgid "Shorten tab labels to:" +msgstr "इसमें टैब लेबल का छोटा करें:" + +#: src/fe-gtk/setup.c:213 +msgid "letters." +msgstr "अक्षर" + +#: src/fe-gtk/setup.c:215 +msgid "Tabs Location" +msgstr "टैब अवस्थिति" + +#: src/fe-gtk/setup.c:216 +msgid "Show tabs at:" +msgstr "यहां टैब दिखायें:" + +#: src/fe-gtk/setup.c:218 +msgid "Tabs or Windows" +msgstr "टैब या विंडो" + +#: src/fe-gtk/setup.c:219 +msgid "Open channels in:" +msgstr "इसमें चैनल खोलें:" + +#: src/fe-gtk/setup.c:220 +msgid "Open dialogs in:" +msgstr "इसमें संवाद खोलें:" + +#: src/fe-gtk/setup.c:221 +msgid "Open utilities in:" +msgstr "इसमें उपयोगिता खोलें:" + +#: src/fe-gtk/setup.c:221 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Open DCC, Ignore, Notify etc, in tabs or windows?" + +#: src/fe-gtk/setup.c:228 +msgid "Files and Directories" +msgstr "फाइल और निर्देशिका" + +#: src/fe-gtk/setup.c:229 +msgid "Download files to:" +msgstr "यहां फाइल डाउनलोड करें:" + +#: src/fe-gtk/setup.c:230 +msgid "Move completed files to:" +msgstr "यहां पूरी की गई फाइल भेजें:" + +#: src/fe-gtk/setup.c:231 +msgid "Save nick name in filenames" +msgstr "फाइलनाम में उपनाम सहेजें" + +#: src/fe-gtk/setup.c:232 +msgid "Convert spaces to underscore before sending" +msgstr "भेजने से पहले स्थान को अंडरस्कोर में बदलें" + +#: src/fe-gtk/setup.c:234 +msgid "Network Settings" +msgstr "नेटवर्क विन्यास " + +#: src/fe-gtk/setup.c:235 +msgid "DCC IP address:" +msgstr "DCC IP पता:" + +#: src/fe-gtk/setup.c:236 +msgid "Claim you are at this address when offering files." +msgstr "दावा करें कि आप इस सूची पर हैं जब आप फाइल का प्रस्ताव भेज रहे हैं." + +#: src/fe-gtk/setup.c:237 +msgid "First DCC send port:" +msgstr "पहला DCC प्रेषण पोर्ट:" + +#: src/fe-gtk/setup.c:238 +msgid "Last DCC send port:" +msgstr "अंतिम DCC प्रेषण पोर्ट:" + +#: src/fe-gtk/setup.c:239 +msgid "(Leave ports at zero for full range)." +msgstr "(पूरे रेंज के लिये पोर्ट शून्य पर छोड़ें)." + +#: src/fe-gtk/setup.c:240 +msgid "Get my address from the IRC server" +msgstr "IRC सर्वर से मेरा पता लीजिये" + +#: src/fe-gtk/setup.c:241 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "आपके वास्तविक पता के लिये IRC सर्वर से पूछता है. इसका उपयोग करें अगर आपके पास 192.168.*.* पता है!" + +#: src/fe-gtk/setup.c:243 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "अधिकतम फाइल स्थानांतरण गति (बाइट्स प्रति सेकेंड)" + +#: src/fe-gtk/setup.c:244 +msgid "One upload:" +msgstr "एक अपलोड:" + +#: src/fe-gtk/setup.c:245 src/fe-gtk/setup.c:247 +msgid "Maximum speed for one transfer" +msgstr "एक स्थानांतरण के लिये अधिकतम गति" + +#: src/fe-gtk/setup.c:246 +msgid "One download:" +msgstr "एक डाउनलोड:" + +#: src/fe-gtk/setup.c:248 +msgid "All uploads combined:" +msgstr "संयुक्त रूप से सभी अपलोड:" + +#: src/fe-gtk/setup.c:249 src/fe-gtk/setup.c:251 +msgid "Maximum speed for all files" +msgstr "सभी फाइल के लिये सर्वाधिक गति" + +#: src/fe-gtk/setup.c:250 +msgid "All downloads combined:" +msgstr "सभी डाउनलोड संयुक्त रूप से:" + +#: src/fe-gtk/setup.c:258 +msgid "Default Messages" +msgstr "मूलभूत संदेश" + +#: src/fe-gtk/setup.c:259 +msgid "Quit:" +msgstr "छोड़ें:" + +#: src/fe-gtk/setup.c:260 +msgid "Leave channel:" +msgstr "चैनल छोड़े:" + +#: src/fe-gtk/setup.c:261 +msgid "Away:" +msgstr "दूर:" + +#: src/fe-gtk/setup.c:263 +msgid "Away" +msgstr "दूर" + +#: src/fe-gtk/setup.c:264 +msgid "Announce away messages" +msgstr "दूर संदेश की घोषणा करें" + +#: src/fe-gtk/setup.c:265 +msgid "Announce your away messages to all channels" +msgstr "अपने दूर होने के संदेश की सभी चैनल पर घोषणा करें" + +#: src/fe-gtk/setup.c:266 +msgid "Show away once" +msgstr "एकबार दूर दिखायें" + +#: src/fe-gtk/setup.c:266 +msgid "Show identical away messages only once" +msgstr "सिर्फ एकबार समरूप दूर संदेश दिखायें" + +#: src/fe-gtk/setup.c:267 +msgid "Automatically unmark away" +msgstr "बतौर दूर स्वतः अचिह्नित करें" + +#: src/fe-gtk/setup.c:267 +msgid "Unmark yourself as away before sending messages" +msgstr "संदेश भेजने के पहले स्वयं को दूर के रूप में अचिह्नित करें" + +#: src/fe-gtk/setup.c:270 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "(~/.xchat2/ के संदर्भ में एक पाठ फाइल हो सकता है)." + +#: src/fe-gtk/setup.c:272 +msgid "(Can be a text file relative to config dir)." +msgstr "(कॉन्फिग dir के संदर्भ में एक पाठ फाइल हो सकता है)." + +#: src/fe-gtk/setup.c:276 +msgid "Alerts" +msgstr "चेतावनी" + +#: src/fe-gtk/setup.c:278 +msgid "Flash taskbar on highlighted messages" +msgstr "हाइलाइट किये संदेश पर कार्यपट्टी फ्लैश करें" + +#: src/fe-gtk/setup.c:280 +msgid "Beep on highlighted messages" +msgstr "हाइलाइट किये संदेश पर बीप करें" + +#: src/fe-gtk/setup.c:281 +msgid "Extra words to highlight on:" +msgstr "हाइलाइट करने के लिये अतिरिक्त शब्द:" + +#: src/fe-gtk/setup.c:282 +msgid "(Separate multiple words with commas)." +msgstr "(कौमा के साथ पृथक बहु शब्द)." + +#: src/fe-gtk/setup.c:283 +msgid "Beep on private messages" +msgstr "निजी संदेश पर बीप" + +#: src/fe-gtk/setup.c:284 +msgid "Beep on channel messages" +msgstr "चैनल संदेश पर बीप" + +#: src/fe-gtk/setup.c:291 +msgid "Advanced Settings" +msgstr "विस्तृत विन्यास" + +#: src/fe-gtk/setup.c:292 +msgid "Auto reconnect delay:" +msgstr "स्वतः रूप से फिर जुड़ने में विलंब:" + +#: src/fe-gtk/setup.c:293 +msgid "Display MODEs in raw form" +msgstr "MODEs कच्चे प्रारूप में दिखायें" + +#: src/fe-gtk/setup.c:294 +msgid "Whois on notify" +msgstr "Whois on notify" + +#: src/fe-gtk/setup.c:294 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "एक /WHOIS भेजें जब एक उपयोक्ता आपके नोटिफाई सूची में ऑनलाइन होता है" + +#: src/fe-gtk/setup.c:295 +msgid "Hide join and part messages" +msgstr "शामिल व अलग संदेश छुपायें" + +#: src/fe-gtk/setup.c:295 +msgid "Hide channel join/part messages by default" +msgstr "मूलभूत रूप से चैनल शामिल/अलग होने के संदेश को छुपायें" + +#: src/fe-gtk/setup.c:296 +msgid "Auto Open DCC Windows" +msgstr "स्वतः खोलें DCC विंडो" + +#: src/fe-gtk/setup.c:297 +msgid "Send window" +msgstr "भेजें विंडो" + +#: src/fe-gtk/setup.c:298 +msgid "Receive window" +msgstr "विंडो पायें" + +#: src/fe-gtk/setup.c:299 +msgid "Chat window" +msgstr "बातचीत विंडो" + +#: src/fe-gtk/setup.c:307 src/fe-gtk/setup.c:1451 +msgid "Logging" +msgstr "लॉगिंग" + +#: src/fe-gtk/setup.c:308 +msgid "Enable logging of conversations" +msgstr "बातचीत के लॉगिंग को समर्थ करें" + +#: src/fe-gtk/setup.c:309 +msgid "Log filename mask:" +msgstr "फाइलनाम मास्क लॉग करें:" + +#: src/fe-gtk/setup.c:310 +#, c-format +msgid "(%s=Server %c=Channel %n=Network)." +msgstr "(%s=सर्वर %c=चैनल %n=संजाल)." + +#: src/fe-gtk/setup.c:313 +msgid "Insert timestamps in logs" +msgstr "लॉग में टाइमस्टैंप दाखिल करें" + +#: src/fe-gtk/setup.c:314 +msgid "Log timestamp format:" +msgstr "टाइमस्टैंप प्रारूप को लॉग करें:" + +#: src/fe-gtk/setup.c:315 +msgid "(See strftime manpage for details)." +msgstr "(विवरण के लिये strftime मैनपेज देखें)." + +#: src/fe-gtk/setup.c:322 +msgid "(Disabled)" +msgstr "(निष्क्रिय)" + +#: src/fe-gtk/setup.c:323 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:324 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:325 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:326 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:332 +msgid "Your Address" +msgstr "आपका पता" + +#: src/fe-gtk/setup.c:333 +msgid "Bind to:" +msgstr "इससे जोड़ें:" + +#: src/fe-gtk/setup.c:334 +msgid "(Only useful for computers with multiple addresses)." +msgstr "(बहु पता के साथ के कंप्यूटर के लिये सिर्फ उपयोगी)." + +#: src/fe-gtk/setup.c:336 +msgid "Proxy Server" +msgstr "प्रॉक्सी सर्वर" + +#: src/fe-gtk/setup.c:337 +msgid "Hostname:" +msgstr "मेजबाननाम:" + +#: src/fe-gtk/setup.c:338 +msgid "Username:" +msgstr "उपयोक्ता नाम:" + +#: src/fe-gtk/setup.c:339 +msgid "Password:" +msgstr "शब्दकूट:" + +#: src/fe-gtk/setup.c:340 +msgid "Port:" +msgstr "पोर्टः" + +#: src/fe-gtk/setup.c:341 +msgid "Type:" +msgstr "प्रकार:" + +#: src/fe-gtk/setup.c:343 +msgid "Authenticate to the proxy server (HTTP and Socks5)" +msgstr "प्रॉक्सी सर्वर से सत्यापित करें (HTTP और Socks5)" + +#: src/fe-gtk/setup.c:566 +msgid "(disabled)" +msgstr "(निष्क्रिय)" + +#: src/fe-gtk/setup.c:567 +msgid "A star (*)" +msgstr "तारा (*)" + +#: src/fe-gtk/setup.c:568 +msgid "A red star (*)" +msgstr "लाल तारा (*)" + +#: src/fe-gtk/setup.c:569 +msgid "Underlined" +msgstr "रेखांकित" + +#: src/fe-gtk/setup.c:666 +msgid "Select an Image File" +msgstr "चित्र फाइल चुनें" + +#: src/fe-gtk/setup.c:702 +msgid "Select font" +msgstr "फंट चुनें" + +#: src/fe-gtk/setup.c:776 +msgid "Browse..." +msgstr "ब्राउज़..." + +#: src/fe-gtk/setup.c:893 +msgid "Mark identified users with:" +msgstr "इसके साथ पहचाने गये उपयोक्ता को चिह्नित करें:" + +#: src/fe-gtk/setup.c:895 +msgid "Mark not-identified users with:" +msgstr "इसके साथ नहीं पहचाने गये उपयोक्ता को चिह्नित करें:" + +#: src/fe-gtk/setup.c:958 +msgid "Select color" +msgstr "रंग चुनें" + +#: src/fe-gtk/setup.c:1038 +msgid "Text Colors" +msgstr "पाठ रंग" + +#: src/fe-gtk/setup.c:1040 +msgid "mIRC colors:" +msgstr "mIRC रंग:" + +#: src/fe-gtk/setup.c:1048 +msgid "Extra colors:" +msgstr "अतिरिक्त रंग:" + +#: src/fe-gtk/setup.c:1056 src/fe-gtk/setup.c:1061 +msgid "Foreground:" +msgstr "अग्रभूमि:" + +#: src/fe-gtk/setup.c:1057 src/fe-gtk/setup.c:1062 +msgid "Background:" +msgstr "पृष्ठभूमि:" + +#: src/fe-gtk/setup.c:1059 +msgid "Marking Text" +msgstr "मार्किंग पाठ" + +#: src/fe-gtk/setup.c:1064 +msgid "Interface Colors" +msgstr "अंतरफलक रंग" + +#: src/fe-gtk/setup.c:1066 +msgid "New data:" +msgstr "नया आंकड़ा:" + +#: src/fe-gtk/setup.c:1067 +msgid "Marker line:" +msgstr "मार्कर पंक्ति:" + +#: src/fe-gtk/setup.c:1068 +msgid "New message:" +msgstr "नया संदेश:" + +#: src/fe-gtk/setup.c:1069 +msgid "Away user:" +msgstr "दूर उपयोक्ता:" + +#: src/fe-gtk/setup.c:1070 +msgid "Highlight:" +msgstr "उभारें:" + +#: src/fe-gtk/setup.c:1166 src/fe-gtk/textgui.c:337 +msgid "Event" +msgstr "घटना" + +#: src/fe-gtk/setup.c:1172 +msgid "Sound file" +msgstr "ध्वनि फाइल" + +#: src/fe-gtk/setup.c:1207 +msgid "Select a sound file" +msgstr "ध्वनि फाइल चुनें" + +#: src/fe-gtk/setup.c:1279 +msgid "Sound playing method:" +msgstr "ध्वनि चालक विधि:" + +#: src/fe-gtk/setup.c:1287 +msgid "External sound playing _program:" +msgstr "बाह्य ध्वनि चालक प्रोग्राम (_p):" + +#: src/fe-gtk/setup.c:1305 +msgid "_External program" +msgstr "बाह्य प्रोग्राम (_E)" + +#: src/fe-gtk/setup.c:1315 +msgid "_Automatic" +msgstr "स्वचालित (_A)" + +#: src/fe-gtk/setup.c:1328 +msgid "Sound files _directory:" +msgstr "ध्वनि फाइल निर्देशिका (_d):" + +#: src/fe-gtk/setup.c:1367 +msgid "Sound file:" +msgstr "ध्वनि फाइल:" + +#: src/fe-gtk/setup.c:1382 +msgid "_Browse..." +msgstr "ब्राउज...(_B)" + +#: src/fe-gtk/setup.c:1393 +msgid "_Play" +msgstr "बजाएँ (_P)" + +#: src/fe-gtk/setup.c:1442 +msgid "Interface" +msgstr "अंतरफलक" + +#: src/fe-gtk/setup.c:1443 +msgid "Text box" +msgstr "पाठ बॉक्स" + +#: src/fe-gtk/setup.c:1444 +msgid "Input box" +msgstr "इनपुट बॉक्स" + +#: src/fe-gtk/setup.c:1445 +msgid "User list" +msgstr "उपयोक्ता सूची" + +#: src/fe-gtk/setup.c:1447 +msgid "Colors" +msgstr "रंग" + +#: src/fe-gtk/setup.c:1449 +msgid "Chatting" +msgstr "बातचीत" + +#: src/fe-gtk/setup.c:1450 +msgid "General" +msgstr "सामान्य" + +#: src/fe-gtk/setup.c:1452 +msgid "Sound" +msgstr "ध्वनि" + +#: src/fe-gtk/setup.c:1455 +msgid "Network" +msgstr "संजाल" + +#: src/fe-gtk/setup.c:1456 +msgid "Network setup" +msgstr "संजाल सेटअप" + +#: src/fe-gtk/setup.c:1457 +msgid "File transfers" +msgstr "फाइल स्थानांतरण" + +#: src/fe-gtk/setup.c:1564 +msgid "Categories" +msgstr "श्रेणियां" + +#: src/fe-gtk/setup.c:1694 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Some settings were changed that require a restart to take full effect." + +#: src/fe-gtk/setup.c:1722 +msgid "X-Chat: Preferences" +msgstr "X-Chat: प्राथमिकतायें" + +#: src/fe-gtk/textgui.c:160 +msgid "There was an error parsing the string" +msgstr "स्ट्रिंग की व्याख्या में त्रुटि थी" + +#: src/fe-gtk/textgui.c:168 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "यह संकेत सिर्फ भेजा गया %d args है, $%d अमान्य है" + +#: src/fe-gtk/textgui.c:276 src/fe-gtk/textgui.c:299 +msgid "Print Texts File" +msgstr "पाठ फाइल मुद्रित करें" + +#: src/fe-gtk/textgui.c:340 +msgid "$ Number" +msgstr "$ संख्या" + +#: src/fe-gtk/textgui.c:350 +msgid "Edit Events" +msgstr "घटना संपादित करें" + +#: src/fe-gtk/textgui.c:418 +msgid "Save As" +msgstr "इस रूप में सहेजें" + +#: src/fe-gtk/textgui.c:423 +msgid "Load From" +msgstr "इससे लोड करें" + +#: src/fe-gtk/textgui.c:428 +msgid "Test All" +msgstr "सबको जांचें" + +#: src/fe-gtk/urlgrab.c:97 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:147 +msgid "Select a file to save to" +msgstr "इसमें सहेजेने के लिये फाइल चुनें" + +#: src/fe-gtk/urlgrab.c:187 +msgid "X-Chat: URL Grabber" +msgstr "X-Chat: URL Grabber" + +#: src/fe-gtk/urlgrab.c:200 +msgid "Clear list" +msgstr "सूची साफ करें" + +#: src/fe-gtk/urlgrab.c:202 +msgid "Copy" +msgstr "कॉपी" + +#: src/fe-gtk/urlgrab.c:204 +msgid "Save list to a file" +msgstr "फाइल में सूची सहेजें" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ऑपरेटर, %d कुल" diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 00000000..36e45757 --- /dev/null +++ b/po/hu.po @@ -0,0 +1,5646 @@ +# Hungarian translation of X-Chat +# Copyright (C) 1999-2000, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# +# Horvath Szabolcs <horvathsz@penguinpowered.com>, 1999-2000, 2005. +# Kata Konkoly <kata@linuxforum.hu>, 2005. +# Gabor Kelemen <kelemeng@gnome.hu>, 2005, 2006, 2007, 2008. +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.8.6\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2009-08-25 09:31+0200\n" +"PO-Revision-Date: 2009-08-25 12:11+0100\n" +"Last-Translator: rezso <rezso@rezso.net>\n" +"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "Nem lehet létrehozni a ~/.xchat2 könyvtárat" + +#: ../src/common/cfgfiles.c:711 +msgid "I'm busy" +msgstr "Elfoglalt vagyok" + +#: ../src/common/cfgfiles.c:712 +msgid "Leaving" +msgstr "Távozom" + +#: ../src/common/cfgfiles.c:759 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Rootként IRC-zni nem okos dolog! Hozzon létre\n" +" egy felhasználót és úgy lépjen be.\n" + +#: ../src/common/dcc.c:67 +msgid "Waiting" +msgstr "Várakozás" + +#. black +#: ../src/common/dcc.c:68 +msgid "Active" +msgstr "Aktív" + +#. cyan +#: ../src/common/dcc.c:69 +msgid "Failed" +msgstr "Sikertelen" + +#. red +#: ../src/common/dcc.c:70 +msgid "Done" +msgstr "Kész" + +#. green +#: ../src/common/dcc.c:71 +#: ../src/fe-gtk/menu.c:928 +msgid "Connect" +msgstr "Kapcsolódás" + +#. black +#: ../src/common/dcc.c:72 +msgid "Aborted" +msgstr "Megszakítva" + +#: ../src/common/dcc.c:1886 +#: ../src/common/outbound.c:2451 +#, c-format +msgid "Cannot access %s\n" +msgstr "%s nem érhető el\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: ../src/common/dcc.c:1887 +#: ../src/common/text.c:1224 +#: ../src/common/text.c:1262 +#: ../src/common/text.c:1273 +#: ../src/common/text.c:1280 +#: ../src/common/text.c:1293 +#: ../src/common/text.c:1310 +#: ../src/common/text.c:1410 +#: ../src/common/util.c:353 +msgid "Error" +msgstr "Hiba" + +#: ../src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s felajánlja a következőt: \"%s\". El kívánja fogadni?" + +#: ../src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "Nincs aktív DCC\n" + +#: ../src/common/ignore.c:120 +#: ../src/common/ignore.c:124 +#: ../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 +msgid "YES " +msgstr "IGEN" + +#: ../src/common/ignore.c:122 +#: ../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 +msgid "NO " +msgstr "NEM" + +#: ../src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "%s CTCP floodol, %s figyelmen kívül lesz hagyva\n" + +#: ../src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "%s MSG floodol, automatikus ablakmegnyitás kikapcsolva.\n" + +#: ../src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s online\n" + +#: ../src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s offline\n" + +#: ../src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Nincs benn egy csatornán sem. Próbálja meg a /join #<csatorna> parancsot.\n" + +#: ../src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Nincs kapcsolat. Próbálja ezt: /server <host> [<port>]\n" + +#: ../src/common/outbound.c:338 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Már megjelölve távollévőként: %s\n" + +#: ../src/common/outbound.c:411 +msgid "Already marked back.\n" +msgstr "Már megjelölve visszatértként.\n" + +#: ../src/common/outbound.c:1777 +msgid "I need /bin/sh to run!\n" +msgstr "A /bin/sh-ra szükség van a futáshoz!\n" + +#: ../src/common/outbound.c:2148 +msgid "Commands Available:" +msgstr "Elérhető parancsok:" + +#: ../src/common/outbound.c:2162 +msgid "User defined commands:" +msgstr "Felhasználó által megadott parancsok:" + +#: ../src/common/outbound.c:2178 +msgid "Plugin defined commands:" +msgstr "Bővítmény által megadott parancsok:" + +#: ../src/common/outbound.c:2189 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "További információkért adja ki a /HELP <parancs> vagy /HELP -l parancsot" + +#: ../src/common/outbound.c:2274 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "\"%s\" ismeretlen argumentum, mellőzve." + +#: ../src/common/outbound.c:3223 +msgid "No such plugin found.\n" +msgstr "Nem található ilyen bővítmény.\n" + +#: ../src/common/outbound.c:3228 +#: ../src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Ezt a bővítményt nem lehet kikapcsolni.\n" + +#: ../src/common/outbound.c:3497 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <név> <akció>, a felhasználólista alá helyez el egy gombot" + +#: ../src/common/outbound.c:3499 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <parancs>, parancs küldése minden csatornára, ahol benn van" + +#: ../src/common/outbound.c:3501 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <parancs>, parancs küldése minden csatornára, ahol benn van" + +#: ../src/common/outbound.c:3503 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <parancs>, parancs küldése minden kiszolgálóra, ahol benn van" + +#: ../src/common/outbound.c:3504 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<indoklás>], távollét beállítása" + +#: ../src/common/outbound.c:3505 +msgid "BACK, sets you back (not away)" +msgstr "BACK, visszatértnek (nem távollévőnek) jelöli" + +#: ../src/common/outbound.c:3507 +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 <maszk> [<kitiltástípus>], kitilt mindenkit, akire illik a maszk az adott csatornán. Ha már benn vannak a csatornán, nem rúgja ki őket (ehhez chanop-jog kell)" + +#: ../src/common/outbound.c:3508 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <változó> [<érték>]" + +#: ../src/common/outbound.c:3510 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR, [ALL|HISTORY] törli az aktuális szövegablakot vagy a parancstörténetet" + +#: ../src/common/outbound.c:3511 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, bezárja az aktuális ablakot/fület" + +#: ../src/common/outbound.c:3514 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <kód|helyettesítőkarakter>, országkód keresése, például au = Ausztrália" + +#: ../src/common/outbound.c:3516 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <becenév> <üzenet>, CTCP üzenet küldése a becenévnek, gyakori üzenetek: VERSION és USERINFO" + +#: ../src/common/outbound.c:3518 +msgid "CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "CYCLE [<csatorna>], kilép és azonnal visszalép az aktuális vagy a megadott csatornára" + +#: ../src/common/outbound.c:3520 +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 "" +"\n" +"DCC GET <becenév> - küldött fájl elfogadása\n" +"DCC SEND [-maxcps=#] <becenév> [fájl] - fájlküldés\n" +"DCC PSEND [-maxcps=#] <becenév> [fájl] - fájlküldés passzív módban\n" +"DCC LIST - DCC lista mutatása\n" +"DCC CHAT <becenév> - DCC CHAT meghívás\n" +"DCC PCHAT <becenév> - DCC CHAT meghívás passzív módban\n" +"DCC CLOSE <típus> <becenév> <fájl> DCC átvitel bezárása; példa:\n" +" /dcc close send johnsmith file.tar.gz" + +#: ../src/common/outbound.c:3532 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <becenév>, elveszi a fél-op státuszt az adott csatornán a becenévtől (op-jog szükséges)" + +#: ../src/common/outbound.c:3534 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <név>, gomb törlése a felhasználólista alól" + +#: ../src/common/outbound.c:3536 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <becenév>, op-jog megvonása a becenévtől az adott csatornán (op-jog szükséges)" + +#: ../src/common/outbound.c:3538 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <becenév>, megvonja a voice státuszt a becenévtől az adott csatornán (op-jog szükséges)" + +#: ../src/common/outbound.c:3539 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, bontja a kapcsolatot a kiszolgálóval" + +#: ../src/common/outbound.c:3540 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <becenév|gép|ip>, a felhasználó IP számának keresése" + +#: ../src/common/outbound.c:3541 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <szöveg>, szöveg helyi megjelenítése" + +#: ../src/common/outbound.c:3544 +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] <parancs>, parancs futtatása. Ha -o -val használja, a kimenet az aktuális csatornára megy, egyébként az aktuális szövegdobozba" + +#: ../src/common/outbound.c:3546 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, SIGCONT küldése a folyamatnak" + +#: ../src/common/outbound.c:3549 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], futó exec kilövése az aktuális munkafolyamatban. Ha a -9 kapcsolóval használja, a folyamat SIGKILL szignált kap" + +#: ../src/common/outbound.c:3551 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, SIGSTOP küldése a folyamatnak" + +#: ../src/common/outbound.c:3552 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, adatok küldése a folyamat szabványos bemenetére" + +#: ../src/common/outbound.c:3556 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, törli az aktuális kiszolgáló küldési várakozási sorát" + +#: ../src/common/outbound.c:3558 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <kiszolgáló> [<port>], a kiszolgáló beállítása proxyként, az alapértelmezett portszám a 23" + +# FIXME +#: ../src/common/outbound.c:3562 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <becenév> <jelszó>: Egy ghost-olt becenév kilövése" + +#: ../src/common/outbound.c:3567 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <becenév>, fél-op státuszt ad a becenévnek (op-jog szükséges)" + +#: ../src/common/outbound.c:3568 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <jelszó>, azonosítja a becenév-kiszolgáló felé" + +#: ../src/common/outbound.c:3570 +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 <maszk> <típusok..> <opciók..>\n" +" maszk - a mellőzendő gépek maszkja, például *!*@*.aol.com\n" +" típusok - a mellőzendő adatok típusa, a következők legalább egyike:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" opciók - NOSAVE, QUIET" + +#: ../src/common/outbound.c:3577 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <becenév> [<csatorna>], meghívja a becenevet egy csatornára, alapértelmezésben az aktuálisra (op-jog szükséges)" + +#: ../src/common/outbound.c:3578 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <csatorna>, belépés a csatornára" + +#: ../src/common/outbound.c:3580 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <becenév>, kirúgja a becenevet az adott csatornáról (op-jog szükséges)" + +#: ../src/common/outbound.c:3582 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <becenév>, kitiltja, majd kirúgja a becenevet az aktuális csatornáról (op-jog szükséges)" + +#: ../src/common/outbound.c:3585 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, új lag ellenőrzés kikényszerítése" + +#: ../src/common/outbound.c:3587 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <karakterlánc>, karakterlánc keresése a pufferben" + +#: ../src/common/outbound.c:3589 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <fájl>, bővítmény vagy parancsfájl betöltése" + +#: ../src/common/outbound.c:3592 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, minden fél-op-tól elveszi a fél-op jogot az adott csatornán (op-jog szükséges)" + +#: ../src/common/outbound.c:3594 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, minden op-tól elveszi az op-jogot az adott csatornán (op-jog szükséges)" + +#: ../src/common/outbound.c:3596 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <akció>, az adott tevékenységet az aktuális csatornára küldi (az igék 3. személyben írandók, például: /me ugrál)" + +#: ../src/common/outbound.c:3600 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, tömegesen kirúg mindenkit az adott csatornáról, kivéve Önt (op-jog szükséges)" + +#: ../src/common/outbound.c:3603 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, tömeges op-jog adása mindenkinek az adott csatornán (op-jog szükséges)" + +#: ../src/common/outbound.c:3604 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <becenév> <üzenet>, privát üzenet küldése" + +#: ../src/common/outbound.c:3607 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, felsorolja az aktuális csatornán lévő beceneveket" + +#: ../src/common/outbound.c:3609 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <becenév> <üzenet>, CTCP figyelmeztetés küldése" + +#: ../src/common/outbound.c:3610 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <kiszolgálónév> [<port>]" + +#: ../src/common/outbound.c:3611 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <becenév>, beállítja a becenevét" + +#: ../src/common/outbound.c:3614 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <becenév/csatorna> <üzenet>, figyelmeztetés küldése . A figyelmeztetés olyan üzenet, amire automatikusan reagálni kell" + +#: ../src/common/outbound.c:3616 +msgid "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" +msgstr "NOTIFY [-n hálózat1[,hálózat2,...]] [<becenév>], megjeleníti az értesítési listát vagy hozzáad valakit" + +#: ../src/common/outbound.c:3618 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <becenév>, op-jogot ad a becenévnek (op-jog szükséges)" + +#: ../src/common/outbound.c:3620 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<csatorna>] [<indoklás>], kilép a csatornáról, alapértelmezésben az aktuálisról" + +#: ../src/common/outbound.c:3622 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <becenév | csatorna>, CTCP-pingeli a becenevet vagy a csatornát" + +#: ../src/common/outbound.c:3624 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <becenév>, új privát üzenetablak megnyitása az adott becenévhez" + +#: ../src/common/outbound.c:3626 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<indoklás>], bontja a kapcsolatot az aktuális kiszolgálóval" + +#: ../src/common/outbound.c:3628 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <szöveg>, nyers formában küldi a szöveget a kiszolgálóra" + +#: ../src/common/outbound.c:3631 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<kiszolgáló>] [<port>] [<jelszó>], Ugyanúgy használható, mint a /RECONNECT (újracsatlakozás az aktuális kiszolgálóhoz) vagy /RECONNECT ALL (minden nyitott kiszolgálóhoz csatlakozik)" + +#: ../src/common/outbound.c:3634 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<jelszó>], Ugyanúgy használható, mint a /RECONNECT (újracsatlakozás az aktuális kiszolgálóhoz) vagy /RECONNECT ALL (minden nyitott kiszolgálóhoz csatlakozik)" + +#: ../src/common/outbound.c:3636 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <szöveg>, nyers adatok küldése az XChatnek, mintha az irc kiszolgálótól érkezett volna" + +#: ../src/common/outbound.c:3639 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <szöveg>, szöveget küld az aktuális ablakban lévő objektumba" + +#: ../src/common/outbound.c:3640 +msgid "SEND <nick> [<file>]" +msgstr "SEND <becenév> [<fájl>]" + +#: ../src/common/outbound.c:3643 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <csatorna>, csatlakozik és belép egy adott csatornára" + +#: ../src/common/outbound.c:3646 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <csatorna>, csatlakozik és belép az adott csatornára" + +#: ../src/common/outbound.c:3650 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <host> [<port>] [<jelszó>], csatlakozik a kiszolgálóhoz, az alapértelmezett port 6667 normál kapcsolathoz, és 9999 SSL kapcsolathoz" + +#: ../src/common/outbound.c:3653 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <host> [<port>] [<jelszó>], csatlakozik az adott kiszolgálóhoz, az alapértelmezett port a 6667" + +#: ../src/common/outbound.c:3655 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-or] [-quiet] <változó> [<érték>]" + +#: ../src/common/outbound.c:3656 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<pozíció>" + +#: ../src/common/outbound.c:3661 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<téma>], beállítja a témát, ha megadja, vagy megmutatja az aktuális témát" + +#: ../src/common/outbound.c:3663 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" +"\n" +"TRAY -f <időkorlát> <fájl1> [<fájl2>] Villogjon a tálcán a két ikon között.\n" +"TRAY -f <fájlnév> A tálca beállítása rögzített ikonra.\n" +"TRAY -i <szám> Tálca villogtatása belső ikonnal.\n" +"TRAY -t <szöveg> A tálca gyorstippjének beállítása.\n" +"TRAY -b <cím> <szöveg> A tálca feliratának beállítása." + +#: ../src/common/outbound.c:3670 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <maszk> [<maszk>...], kitiltás feloldása az adott maszkokra." + +#: ../src/common/outbound.c:3671 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <maszk> [QUIET] az adott maszk mellőzésének megszüntetése" + +#: ../src/common/outbound.c:3672 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <név>, kikapcsol egy bővítményt vagy parancsfájlt" + +#: ../src/common/outbound.c:3673 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, megnyitja az adott URL-t a böngészőben" + +#: ../src/common/outbound.c:3675 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <nick1> <nick2> stb, kiemeli a beceneve(ke)t a csatorna felhasználólistájában" + +#: ../src/common/outbound.c:3678 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <becenév>, voice státuszt ad valakinek (op-jog szükséges)" + +#: ../src/common/outbound.c:3680 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <üzenet>, kiírja az üzenetet az összes csatornára" + +#: ../src/common/outbound.c:3682 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <üzenet>, elküldi az üzenetet az aktuális csatorna összes opjának" + +#: ../src/common/outbound.c:3715 +#, c-format +msgid "Usage: %s\n" +msgstr "Használat: %s\n" + +#: ../src/common/outbound.c:3720 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Ehhez a parancshoz nincs súgó.\n" + +#: ../src/common/outbound.c:3726 +msgid "No such command.\n" +msgstr "Nincs ilyen parancs.\n" + +#: ../src/common/outbound.c:4057 +msgid "Bad arguments for user command.\n" +msgstr "Hibás argumentum a felhasználói parancs mellett.\n" + +#: ../src/common/outbound.c:4217 +msgid "Too many recursive usercommands, aborting." +msgstr "Túl sok rekurzív felhasználói parancs, kilépek." + +#: ../src/common/outbound.c:4300 +msgid "Unknown Command. Try /help\n" +msgstr "Ismeretlen parancs. Próbálja a /help parancsot\n" + +#: ../src/common/plugin.c:356 +#: ../src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Nincs xchat_plugin_init szimbólum; biztos, hogy ez egy XChat bővítmény?" + +#: ../src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Biztos, hogy ez SSL-re képes kiszolgáló és port?\n" + +#: ../src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Nem lehet feloldani a(z) %s gépnevet\n" +"Ellenőrizze az IP-beállításait!\n" + +#: ../src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "Nem sikerült átjutni a proxyn.\n" + +#: ../src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Ugrás a következő kiszolgálóra %s múlva...\n" + +#: ../src/common/servlist.c:1094 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Figyelem: a \"%s\" karakterkészlet ismeretlen. Nem lesz konverzió a(z) %s hálózaton." + +#: ../src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 hozzáadva az értesítési listához." + +#: ../src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Tiltólista:%C19 $4%C20 $2%C21 $3" + +#: ../src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tNem lehet csatlakozni ehhez:%C26 %B$1 %O(Ki van tiltva)." + +#: ../src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 mostantól $2-ként ismert" + +#: ../src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 kitiltja $2-t" + +#: ../src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tA(z) $1 csatorna létrehozva ekkor: $2" + +#: ../src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O elvette a fél-operátori státuszt ettől:%C26 $2" + +#: ../src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O elvette az operátori státuszt ettől:%C26 $2" + +#: ../src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O elvette a voice jogot ettől:%C26 $2" + +#: ../src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 kivételt állít be erre: $2" + +#: ../src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O fél-operátor jogot ad ennek:%C26 $2" + +#: ../src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 meghívja $2-t" + +#: ../src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UCsatorna Felhasználók Téma" + +#: ../src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 beállítja a(z) $2$3 $4 módot" + +#: ../src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22 $1 csatorna módjai: $2" + +#: ../src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O operátorjogot ad ennek:%C26 $2" + +#: ../src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 elveszi a kivételezést erről: $2" + +#: ../src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 visszavonja a meghívást ettől: $2" + +#: ../src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 eltávolítja a csatorna kulcsszót" + +#: ../src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 eltávolítja a felhasználói limitet" + +#: ../src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 a csatorna kulcsszót beállítja erre: $2" + +#: ../src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 a csatorna limitet beállítja erre: $2" + +#: ../src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 eltávolítja a kitiltást erről: $2" + +#: ../src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O voice jogot ad ennek:%C26 $2" + +#: ../src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Kapcsolódás megtörtént. Belépés folyamatban..." + +#: ../src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Kapcsolódás ehhez: $1 ($2) port $3%O..." + +#: ../src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Kapcsolódás sikertelen. A hiba: $1" + +#: ../src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tCTCP $1 érkezett ettől: $2" + +#: ../src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tCTCP $1 érkezett ettől: $2 ($3 számára)" + +#: ../src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: ../src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tCTCP Sound $1 érkezett ettől: $2" + +#: ../src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tCTCP $1 érkezett ettől: $2 ($3 számára)" + +#: ../src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC CHAT megszakadt ezzel:%C26$1%O." + +#: ../src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC CHAT kapcsolat létrejött ezzel: %C26$1 %C30[%O$2%C30]" + +#: ../src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tDCC CHAT %C26$1%O felé megszakadt ($4)." + +#: ../src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tDCC CHAT ajánlat érkezett ettől: $1" + +#: ../src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$t $1 DCC CHAT meghívása" + +#: ../src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tMár zajlik $1 CHAT meghívása" + +#: ../src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 kapcsolódási kísérlet %C26 $2%O felé sikertelen (Hiba=$3)." + +#: ../src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$t\"$1%O\" érkezett ettől: $2" + +#: ../src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Típus Kinek/Kitől Állapot Méret Pos Fájl " + +#: ../src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$tHibás formátumú DCC kérés érkezett ettől: %C26$1%O.%010%C22*%O$tA csomag tartalma: $2" + +#: ../src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tFelkínálva ez: %C26 $1%O ennek: %C26 $2" + +#: ../src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tNincs ilyen DCC ajánlat." + +#: ../src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV%C26 $2%O megszakítva ehhez: %C26 $1%O." + +#: ../src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tDCC RECV%C26 $1%O ettől: %C26 $3%O befejeződött %C30[%C26$4%O cps%C30]%O." + +#: ../src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC RECV kapcsolat létrejött ezzel:%C26 $1 %C30[%O$2%C30]" + +#: ../src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O ettől:%C26 $3%O sikertelen ($4)." + +#: ../src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: Nem lehet megnyitni $1-t írásra ($2)." + +#: ../src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tA %C26 $1%C fájl már létezik, helyette %C26 $2%O-ként mentem." + +#: ../src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Okéri %C26 $2 %C folytatását innen:%C26 $3%C." + +#: ../src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND%C26 $2%O ennek:%C26 $1%O megszakítva." + +#: ../src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC SEND%C26 $1%O ennek:%C26 $2%O befejeződött %C30[%C26$3%O cps%C30]%O." + +#: ../src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC SEND kapcsolat létrejött ezzel:%C26 $1 %C30[%O$2%C30]" + +#: ../src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O %C26 $2%O felé sikertelen. $3" + +#: ../src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Ofelkínálta ezt:%C26 $2 %O(%C26$3 %Obájt)" + +#: ../src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oehhez:%C26 $3 %Celakadt - megszakítom." + +#: ../src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oehhez:%C26 $3 %O túllépte az időkorlátot - megszakítom." + +#: ../src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 törölve az értesítési listáról." + +#: ../src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tKapcsolat bontva ($1)." + +#: ../src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tAz IP címe: [$1]" + +#: ../src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O hozzáadva a mellőzési listához." + +#: ../src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "%C26$1%O mellőzése megváltoztatva." + +#: ../src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: ../src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Kiszolgálómaszk PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: ../src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O eltávolítva a mellőzési listából." + +#: ../src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr "A figyelmen kívül hagyási lista üres." + +#: ../src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tNem lehet csatlakozni ehhez: %C26 %B$1 %O(A csatornára csak meghívással lehet belépni)." + +#: ../src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tMeghívást kapott ide:%C26 $1%O ettől:%C26 $2%C (%C26$3%C)" + +#: ../src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) csatlakozott ide: $2" + +#: ../src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tNem lehet csatlakozni ehhez:%C26 %B$1 %O(Kulcsszó szükséges)." + +#: ../src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 kirúgta $2-t innen: $3 ($4%O%C21)" + +#: ../src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$t$1 kill-t küldött Önre ($2%O%C22)" + +#: ../src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD átugorva." + +#: ../src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1-t már használja valaki. Újra próbálom ezzel: $2..." + +#: ../src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tEz a becenév már használatban van. A /NICK segítségével próbálhat ki másikat." + +#: ../src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tNincs ilyen DCC." + +#: ../src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tJelenleg nem fut semmilyen folyamat" + +#: ../src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tAz értesítési lista üres." + +#: ../src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Értesítési lista " + +#: ../src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 felhasználó van az értesítési listán." + +#: ../src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tÉrtesítés: $1 offline ($3)." + +#: ../src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tÉrtesítés: $1 online ($3)." + +#: ../src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) kilépett innen: $3" + +#: ../src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) kilépett innen: $3 (%O%C23$4)" + +#: ../src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tPing válasz innen: $1: $2 másodperc" + +#: ../src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tNincs ping válasz $1 másodperc óta, kapcsolat bontva." + +#: ../src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tMár fut egy folyamat" + +#: ../src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 kilépett (%O%C23%B%B$2%O%C23)" + +#: ../src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 beállítja a módokat %B %C30[%O$2%B%C30]" + +#: ../src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallop-ok%C28-%O$t$2" + +#: ../src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tKeresem a következő IP címét:%C26 $1%O..." + +#: ../src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Kapcsolódva." + +#: ../src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Keresem ezt: $1" + +#: ../src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tAz előző kapcsolódási kísérlet leállítva(pid=$1)" + +#: ../src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29A(z) $1%C %C29 témája ez: $2" + +#: ../src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 megváltoztatta a témát erre: $2" + +#: ../src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29$1%C %C29 témáját $2%C %C29 beállította ekkor: $3" + +#: ../src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tIsmeretlen gépnév. Talán elgépelte?" + +#: ../src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tNem lehet csatlakozni ehhez:%C26 %B$1 %O(Felhasználói limit elérve)." + +#: ../src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Felhasználók ezen: $1:%C $2" + +#: ../src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: ../src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Ctávol van %C30(%O$2%O%C30)" + +#: ../src/common/textevents.h:366 +#: ../src/common/textevents.h:372 +#: ../src/common/textevents.h:387 +#: ../src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: ../src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OWHOIS lista vége." + +#: ../src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O tétlen%C26 $2" + +#: ../src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O tétlen%C26 $2%O, bejelentkezett:%C26 $3" + +#: ../src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: ../src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Ovalós user@host%C27 $2%O, valós IP%C27 $3" + +#: ../src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Most itt beszélget: $2" + +#: ../src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tKi lett rúgva innen: $2, $3 által($4%O%C23)" + +#: ../src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tKilépett a(z) $3 csatornáról" + +#: ../src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tKilépett a(z) $3 csatornáról (%O%C23%B%B$4%O%C23)" + +#: ../src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tMeghívta %C26 $1%O-t erre: %C26 $2%O (%C26$3%O)" + +#: ../src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tMostantól ezen a néven ismert: $2" + +#. get rid of the \n +#: ../src/common/text.c:318 +msgid "Loaded log from" +msgstr "Napló betöltve" + +#: ../src/common/text.c:336 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** NAPLÓZÁS BEFEJEZÉSE EKKOR: %s\n" + +#: ../src/common/text.c:545 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** NAPLÓZÁS KEZDETE EKKOR: %s\n" + +#: ../src/common/text.c:564 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Nem lehet írni a naplófájl(oka)t. Ellenőrizze a\n" +" jogosultságokat a(z) %s/xchatlogs fájlon" + +#: ../src/common/text.c:931 +msgid "Left message" +msgstr "Bal oldali üzenet" + +#: ../src/common/text.c:932 +msgid "Right message" +msgstr "Jobb oldali üzenet" + +#: ../src/common/text.c:936 +msgid "The nick of the joining person" +msgstr "A csatlakozó személy beceneve" + +#: ../src/common/text.c:937 +msgid "The channel being joined" +msgstr "A csatorna, amelyre belép" + +#: ../src/common/text.c:938 +#: ../src/common/text.c:985 +#: ../src/common/text.c:1036 +msgid "The host of the person" +msgstr "A személy gépe" + +#: ../src/common/text.c:942 +#: ../src/common/text.c:948 +#: ../src/common/text.c:955 +#: ../src/common/text.c:1143 +#: ../src/common/text.c:1150 +#: ../src/common/text.c:1155 +#: ../src/common/text.c:1160 +#: ../src/common/text.c:1165 +#: ../src/common/text.c:1171 +#: ../src/common/text.c:1176 +#: ../src/common/text.c:1180 +#: ../src/common/text.c:1186 +#: ../src/common/text.c:1192 +#: ../src/common/text.c:1238 +#: ../src/common/text.c:1249 +#: ../src/common/text.c:1254 +#: ../src/common/text.c:1259 +#: ../src/common/text.c:1268 +#: ../src/common/text.c:1279 +#: ../src/common/text.c:1286 +#: ../src/common/text.c:1292 +#: ../src/common/text.c:1297 +#: ../src/common/text.c:1302 +#: ../src/common/text.c:1309 +#: ../src/common/text.c:1315 +#: ../src/common/text.c:1321 +#: ../src/common/text.c:1326 +#: ../src/common/text.c:1331 +#: ../src/common/text.c:1335 +#: ../src/common/text.c:1341 +#: ../src/common/text.c:1349 +#: ../src/common/text.c:1383 +#: ../src/common/text.c:1388 +msgid "Nickname" +msgstr "Becenév" + +#: ../src/common/text.c:943 +msgid "The action" +msgstr "A művelet" + +#: ../src/common/text.c:944 +#: ../src/common/text.c:950 +msgid "Mode char" +msgstr "Mód karakter" + +#: ../src/common/text.c:949 +msgid "The text" +msgstr "A szöveg" + +#: ../src/common/text.c:951 +#: ../src/common/text.c:957 +msgid "Identified text" +msgstr "Azonosított szöveg" + +#: ../src/common/text.c:956 +#: ../src/common/text.c:1013 +#: ../src/common/text.c:1019 +msgid "The message" +msgstr "Az üzenet" + +#: ../src/common/text.c:961 +#: ../src/common/text.c:1023 +msgid "Old nickname" +msgstr "Régi becenév" + +#: ../src/common/text.c:962 +#: ../src/common/text.c:1024 +msgid "New nickname" +msgstr "Új becenév" + +#: ../src/common/text.c:966 +msgid "Nick of person who changed the topic" +msgstr "A témát megváltoztató személy beceneve" + +#: ../src/common/text.c:967 +#: ../src/common/text.c:973 +#: ../src/fe-gtk/chanlist.c:766 +#: ../src/fe-gtk/chanlist.c:869 +msgid "Topic" +msgstr "Téma" + +#: ../src/common/text.c:968 +#: ../src/common/text.c:972 +#: ../src/common/text.c:1403 +#: ../src/fe-gtk/chanlist.c:764 +#: ../src/fe-gtk/ignoregui.c:176 +#: ../src/fe-gtk/servlistgui.c:892 +msgid "Channel" +msgstr "Csatorna" + +#: ../src/common/text.c:977 +#: ../src/common/text.c:1030 +msgid "The nickname of the kicker" +msgstr "A kirúgó beceneve" + +#: ../src/common/text.c:978 +#: ../src/common/text.c:1028 +msgid "The person being kicked" +msgstr "A kirúgott személy" + +#: ../src/common/text.c:979 +#: ../src/common/text.c:986 +#: ../src/common/text.c:990 +#: ../src/common/text.c:995 +#: ../src/common/text.c:1029 +#: ../src/common/text.c:1037 +#: ../src/common/text.c:1044 +msgid "The channel" +msgstr "A csatorna" + +#: ../src/common/text.c:980 +#: ../src/common/text.c:1031 +#: ../src/common/text.c:1038 +msgid "The reason" +msgstr "Az indoklás" + +#: ../src/common/text.c:984 +#: ../src/common/text.c:1035 +msgid "The nick of the person leaving" +msgstr "A kilépő személy beceneve" + +#: ../src/common/text.c:991 +#: ../src/common/text.c:997 +msgid "The time" +msgstr "Az idő" + +#: ../src/common/text.c:996 +msgid "The creator" +msgstr "A létrehozó" + +#: ../src/common/text.c:1001 +#: ../src/fe-gtk/dccgui.c:763 +#: ../src/fe-gtk/dccgui.c:996 +msgid "Nick" +msgstr "Becenév" + +#: ../src/common/text.c:1002 +#: ../src/common/text.c:1255 +msgid "Reason" +msgstr "Indoklás" + +#: ../src/common/text.c:1003 +#: ../src/common/text.c:1145 +#: ../src/common/text.c:1228 +msgid "Host" +msgstr "Kiszolgáló" + +#: ../src/common/text.c:1007 +#: ../src/common/text.c:1012 +#: ../src/common/text.c:1017 +msgid "Who it's from" +msgstr "Kitől jött" + +#: ../src/common/text.c:1008 +msgid "The time in x.x format (see below)" +msgstr "Az idő x.x formátumban (lásd lejjebb)" + +#: ../src/common/text.c:1018 +#: ../src/common/text.c:1055 +msgid "The Channel it's going to" +msgstr "A csatorna, amelyre megy" + +#: ../src/common/text.c:1042 +msgid "The sound" +msgstr "A hang" + +#: ../src/common/text.c:1043 +#: ../src/common/text.c:1049 +#: ../src/common/text.c:1054 +msgid "The nick of the person" +msgstr "A személy beceneve" + +#: ../src/common/text.c:1048 +#: ../src/common/text.c:1053 +msgid "The CTCP event" +msgstr "A CTCP esemény" + +#: ../src/common/text.c:1059 +msgid "The nick of the person who set the key" +msgstr "A személy beceneve, aki a kulcsot beállította" + +#: ../src/common/text.c:1060 +msgid "The key" +msgstr "A kulcs" + +#: ../src/common/text.c:1064 +msgid "The nick of the person who set the limit" +msgstr "A személy beceneve, aki beállította a limitet" + +#: ../src/common/text.c:1065 +msgid "The limit" +msgstr "A limit" + +#: ../src/common/text.c:1069 +msgid "The nick of the person who did the op'ing" +msgstr "Annak a beceneve, aki az op-jogot adta" + +#: ../src/common/text.c:1070 +msgid "The nick of the person who has been op'ed" +msgstr "Annak a beceneve, aki op-jogot kapott" + +#: ../src/common/text.c:1074 +msgid "The nick of the person who has been halfop'ed" +msgstr "Annak a beceneve, aki fél-op jogot kapott" + +#: ../src/common/text.c:1075 +msgid "The nick of the person who did the halfop'ing" +msgstr "Annak a beceneve, aki a fél-op jogot adta" + +#: ../src/common/text.c:1079 +msgid "The nick of the person who did the voice'ing" +msgstr "Annak a beceneve, aki voice jogot adott" + +#: ../src/common/text.c:1080 +msgid "The nick of the person who has been voice'ed" +msgstr "Annak a beceneve, aki voice jogot kapott" + +#: ../src/common/text.c:1084 +msgid "The nick of the person who did the banning" +msgstr "Annak a beceneve, aki a kitiltást végezte" + +#: ../src/common/text.c:1085 +#: ../src/common/text.c:1112 +msgid "The ban mask" +msgstr "A kitiltásmaszk" + +#: ../src/common/text.c:1089 +msgid "The nick who removed the key" +msgstr "Annak a beceneve, aki eltávolította a kulcsot" + +#: ../src/common/text.c:1093 +msgid "The nick who removed the limit" +msgstr "Annak a beceneve, aki eltávolította a limitet" + +#: ../src/common/text.c:1097 +msgid "The nick of the person of did the deop'ing" +msgstr "Annak a beceneve, aki elvette az op-jogot" + +#: ../src/common/text.c:1098 +msgid "The nick of the person who has been deop'ed" +msgstr "Annak a beceneve, akitől elvették az op-jogot" + +#: ../src/common/text.c:1101 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Annak a beceneve, aki elvette a fél-op jogot" + +#: ../src/common/text.c:1102 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Annak a beceneve, akitől elvették a fél-op jogot" + +#: ../src/common/text.c:1106 +msgid "The nick of the person of did the devoice'ing" +msgstr "Annak a beceneve, aki megvonta a voice jogot" + +#: ../src/common/text.c:1107 +msgid "The nick of the person who has been devoice'ed" +msgstr "Annak a beceneve, akitől megvonták a voice jogot" + +#: ../src/common/text.c:1111 +msgid "The nick of the person of did the unban'ing" +msgstr "Annak a beceneve, aki a kitiltást visszavonta" + +#: ../src/common/text.c:1116 +msgid "The nick of the person who did the exempt" +msgstr "Annak a beceneve, aki a kivételezést beállította" + +#: ../src/common/text.c:1117 +#: ../src/common/text.c:1122 +msgid "The exempt mask" +msgstr "A kivételezés maszkja" + +#: ../src/common/text.c:1121 +msgid "The nick of the person removed the exempt" +msgstr "Annak a beceneve, aki a kivételezést eltávolította" + +#: ../src/common/text.c:1126 +msgid "The nick of the person who did the invite" +msgstr "Annak a beceneve, aki a meghívást küldte" + +#: ../src/common/text.c:1127 +#: ../src/common/text.c:1132 +msgid "The invite mask" +msgstr "A meghívás maszkja" + +#: ../src/common/text.c:1131 +msgid "The nick of the person removed the invite" +msgstr "Annak a beceneve, aki a meghívást visszavonta" + +#: ../src/common/text.c:1136 +msgid "The nick of the person setting the mode" +msgstr "Annak a beceneve, aki a módot beállította" + +#: ../src/common/text.c:1137 +msgid "The mode's sign (+/-)" +msgstr "A mód előjele (+/-)" + +#: ../src/common/text.c:1138 +msgid "The mode letter" +msgstr "A mód betűjele" + +#: ../src/common/text.c:1139 +msgid "The channel it's being set on" +msgstr "A csatorna, amelyre beállítják" + +#: ../src/common/text.c:1144 +msgid "Username" +msgstr "Felhasználónév" + +#: ../src/common/text.c:1146 +msgid "Full name" +msgstr "Teljes név" + +#: ../src/common/text.c:1151 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Csatornatagság/\"IRC operátor\"" + +#: ../src/common/text.c:1156 +msgid "Server Information" +msgstr "Kiszolgálóinformáció" + +#: ../src/common/text.c:1161 +#: ../src/common/text.c:1166 +msgid "Idle time" +msgstr "Tétlenség ideje" + +#: ../src/common/text.c:1167 +msgid "Signon time" +msgstr "Bejelentkezés ideje" + +#: ../src/common/text.c:1172 +msgid "Away reason" +msgstr "Távollét oka" + +#: ../src/common/text.c:1181 +#: ../src/common/text.c:1187 +#: ../src/common/text.c:1195 +#: ../src/common/text.c:1375 +msgid "Message" +msgstr "Üzenet" + +#: ../src/common/text.c:1188 +msgid "Account" +msgstr "Fiók" + +#: ../src/common/text.c:1193 +msgid "Real user@host" +msgstr "Valós user@host" + +#: ../src/common/text.c:1194 +msgid "Real IP" +msgstr "Valós IP" + +#: ../src/common/text.c:1199 +#: ../src/common/text.c:1208 +#: ../src/common/text.c:1214 +#: ../src/common/text.c:1244 +#: ../src/common/text.c:1398 +msgid "Channel Name" +msgstr "Csatorna neve" + +#: ../src/common/text.c:1203 +#: ../src/common/text.c:1361 +#: ../src/fe-gtk/menu.c:1404 +#: ../src/fe-gtk/menu.c:1592 +#: ../src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "Szöveg" + +#: ../src/common/text.c:1204 +#: ../src/common/text.c:1210 +#: ../src/common/text.c:1239 +#: ../src/common/text.c:1357 +#: ../src/common/text.c:1399 +msgid "Server Name" +msgstr "Kiszolgáló neve" + +#: ../src/common/text.c:1209 +msgid "Nick of person who invited you" +msgstr "Annak a beceneve, aki meghívta" + +#: ../src/common/text.c:1215 +#: ../src/fe-gtk/chanlist.c:765 +msgid "Users" +msgstr "Felhasználók" + +#: ../src/common/text.c:1219 +msgid "Nickname in use" +msgstr "A becenév használatban van" + +#: ../src/common/text.c:1220 +msgid "Nick being tried" +msgstr "Próbált becenév" + +#: ../src/common/text.c:1229 +#: ../src/common/text.c:1365 +msgid "IP" +msgstr "IP" + +#: ../src/common/text.c:1230 +#: ../src/common/text.c:1261 +msgid "Port" +msgstr "Port" + +#: ../src/common/text.c:1240 +#: ../src/fe-gtk/notifygui.c:139 +#: ../src/fe-gtk/setup.c:1713 +msgid "Network" +msgstr "Hálózat" + +#: ../src/common/text.c:1245 +#: ../src/common/text.c:1250 +msgid "Modes string" +msgstr "Módok karakterlánca" + +#: ../src/common/text.c:1260 +#: ../src/common/text.c:1298 +#: ../src/common/text.c:1303 +#: ../src/common/text.c:1344 +msgid "IP address" +msgstr "IP cím" + +#: ../src/common/text.c:1266 +#: ../src/common/text.c:1291 +msgid "DCC Type" +msgstr "DCC típus" + +#: ../src/common/text.c:1267 +#: ../src/common/text.c:1272 +#: ../src/common/text.c:1277 +#: ../src/common/text.c:1284 +#: ../src/common/text.c:1304 +#: ../src/common/text.c:1308 +#: ../src/common/text.c:1314 +#: ../src/common/text.c:1320 +#: ../src/common/text.c:1327 +#: ../src/common/text.c:1336 +#: ../src/common/text.c:1342 +msgid "Filename" +msgstr "Fájlnév" + +#: ../src/common/text.c:1278 +#: ../src/common/text.c:1285 +msgid "Destination filename" +msgstr "Cél fájlnév" + +#: ../src/common/text.c:1287 +#: ../src/common/text.c:1316 +msgid "CPS" +msgstr "CPS" + +#: ../src/common/text.c:1322 +msgid "Pathname" +msgstr "Elérési út" + +#: ../src/common/text.c:1337 +#: ../src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "Pozíció" + +#: ../src/common/text.c:1343 +#: ../src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "Méret" + +#: ../src/common/text.c:1348 +msgid "DCC String" +msgstr "DCC karakterlánc" + +#: ../src/common/text.c:1353 +msgid "Number of notify items" +msgstr "Az értesítési bejegyzések száma" + +#: ../src/common/text.c:1369 +msgid "Old Filename" +msgstr "Régi fájlnév" + +#: ../src/common/text.c:1370 +msgid "New Filename" +msgstr "Új fájlnév" + +#: ../src/common/text.c:1374 +msgid "Receiver" +msgstr "Címzett" + +#: ../src/common/text.c:1379 +msgid "Hostmask" +msgstr "Kiszolgálómaszk" + +#: ../src/common/text.c:1384 +msgid "Hostname" +msgstr "Kiszolgálónév" + +#: ../src/common/text.c:1389 +msgid "The Packet" +msgstr "A csomag" + +#: ../src/common/text.c:1393 +msgid "Seconds" +msgstr "másodperc" + +#: ../src/common/text.c:1397 +msgid "Nick of person who have been invited" +msgstr "Annak a beceneve, akit meghívtak" + +#: ../src/common/text.c:1404 +msgid "Banmask" +msgstr "Kitiltásmaszk" + +#: ../src/common/text.c:1405 +msgid "Who set the ban" +msgstr "Ki állította be a kitiltást" + +#: ../src/common/text.c:1406 +msgid "Ban time" +msgstr "Kitiltás ideje" + +#: ../src/common/text.c:1446 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Hiba a(z) %s esemény feldolgozásakor.\n" +"Az alapértelmezés kerül betöltésre." + +#: ../src/common/text.c:2189 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Nem lehet olvasni ezt a hangfájlt:\n" +"%s" + +#: ../src/common/util.c:297 +msgid "Remote host closed socket" +msgstr "A távoli gép lezárta a foglalatot" + +#: ../src/common/util.c:302 +msgid "Connection refused" +msgstr "Kapcsolódás elutasítva" + +#: ../src/common/util.c:305 +msgid "No route to host" +msgstr "Nincs útvonal a kiszolgálóhoz" + +#: ../src/common/util.c:307 +msgid "Connection timed out" +msgstr "Időtúllépés miatt a kapcsolat megszakadt" + +#: ../src/common/util.c:309 +msgid "Cannot assign that address" +msgstr "Ezt a címet nem lehet kiosztani" + +#: ../src/common/util.c:311 +msgid "Connection reset by peer" +msgstr "A kapcsolatot a túloldali gép visszaállította" + +#: ../src/common/util.c:848 +msgid "Ascension Island" +msgstr "Ascension-sziget" + +#: ../src/common/util.c:849 +msgid "Andorra" +msgstr "Andorra" + +#: ../src/common/util.c:850 +msgid "United Arab Emirates" +msgstr "Egyesült Arab Emirátusok" + +#: ../src/common/util.c:851 +msgid "Afghanistan" +msgstr "Afganisztán" + +#: ../src/common/util.c:852 +msgid "Antigua and Barbuda" +msgstr "Antigua és Barbuda" + +#: ../src/common/util.c:853 +msgid "Anguilla" +msgstr "Anguilla" + +#: ../src/common/util.c:854 +msgid "Albania" +msgstr "Albánia" + +#: ../src/common/util.c:855 +msgid "Armenia" +msgstr "Örményország" + +#: ../src/common/util.c:856 +msgid "Netherlands Antilles" +msgstr "Holland Antillák" + +#: ../src/common/util.c:857 +msgid "Angola" +msgstr "Angola" + +#: ../src/common/util.c:858 +msgid "Antarctica" +msgstr "Antarktisz" + +#: ../src/common/util.c:859 +msgid "Argentina" +msgstr "Argentína" + +#: ../src/common/util.c:860 +msgid "Reverse DNS" +msgstr "Fordított DNS" + +#: ../src/common/util.c:861 +msgid "American Samoa" +msgstr "Amerikai Szamoa" + +#: ../src/common/util.c:862 +msgid "Austria" +msgstr "Ausztria" + +#: ../src/common/util.c:863 +msgid "Nato Fiel" +msgstr "NATO" + +#: ../src/common/util.c:864 +msgid "Australia" +msgstr "Ausztrália" + +#: ../src/common/util.c:865 +msgid "Aruba" +msgstr "Aruba" + +#: ../src/common/util.c:866 +msgid "Aland Islands" +msgstr "Aland-szigetek" + +#: ../src/common/util.c:867 +msgid "Azerbaijan" +msgstr "Azerbajdzsán" + +#: ../src/common/util.c:868 +msgid "Bosnia and Herzegovina" +msgstr "Bosznia-Hercegovina" + +#: ../src/common/util.c:869 +msgid "Barbados" +msgstr "Barbados" + +#: ../src/common/util.c:870 +msgid "Bangladesh" +msgstr "Banglades" + +#: ../src/common/util.c:871 +msgid "Belgium" +msgstr "Belgium" + +#: ../src/common/util.c:872 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: ../src/common/util.c:873 +msgid "Bulgaria" +msgstr "Bulgária" + +#: ../src/common/util.c:874 +msgid "Bahrain" +msgstr "Bahrein" + +#: ../src/common/util.c:875 +msgid "Burundi" +msgstr "Burundi" + +#: ../src/common/util.c:876 +msgid "Businesses" +msgstr "Üzleti" + +#: ../src/common/util.c:877 +msgid "Benin" +msgstr "Benin" + +#: ../src/common/util.c:878 +msgid "Bermuda" +msgstr "Bermuda" + +#: ../src/common/util.c:879 +msgid "Brunei Darussalam" +msgstr "Brunei Szultánátus" + +#: ../src/common/util.c:880 +msgid "Bolivia" +msgstr "Bolívia" + +#: ../src/common/util.c:881 +msgid "Brazil" +msgstr "Brazília" + +#: ../src/common/util.c:882 +msgid "Bahamas" +msgstr "Bahama-szigetek" + +#: ../src/common/util.c:883 +msgid "Bhutan" +msgstr "Bhután" + +#: ../src/common/util.c:884 +msgid "Bouvet Island" +msgstr "Bouvet-sziget" + +#: ../src/common/util.c:885 +msgid "Botswana" +msgstr "Botswana" + +#: ../src/common/util.c:886 +msgid "Belarus" +msgstr "Fehéroroszország" + +#: ../src/common/util.c:887 +msgid "Belize" +msgstr "Belizé" + +#: ../src/common/util.c:888 +msgid "Canada" +msgstr "Kanada" + +#: ../src/common/util.c:889 +msgid "Cocos Islands" +msgstr "Kókusz-szigetek" + +#: ../src/common/util.c:890 +msgid "Democratic Republic of Congo" +msgstr "Kongói Demokratikus Köztársaság" + +#: ../src/common/util.c:891 +msgid "Central African Republic" +msgstr "Közép-Afrikai Köztársaság" + +#: ../src/common/util.c:892 +msgid "Congo" +msgstr "Kongó" + +#: ../src/common/util.c:893 +msgid "Switzerland" +msgstr "Svájc" + +#: ../src/common/util.c:894 +msgid "Cote d'Ivoire" +msgstr "Elefántcsont-part" + +#: ../src/common/util.c:895 +msgid "Cook Islands" +msgstr "Cook-szigetek" + +#: ../src/common/util.c:896 +msgid "Chile" +msgstr "Chile" + +#: ../src/common/util.c:897 +msgid "Cameroon" +msgstr "Kamerun" + +#: ../src/common/util.c:898 +msgid "China" +msgstr "Kína" + +#: ../src/common/util.c:899 +msgid "Colombia" +msgstr "Kolumbia" + +#: ../src/common/util.c:900 +msgid "Internic Commercial" +msgstr "Internic kereskedelmi" + +#: ../src/common/util.c:901 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: ../src/common/util.c:902 +msgid "Serbia and Montenegro" +msgstr "Szerbia és Montenegro" + +#: ../src/common/util.c:903 +msgid "Cuba" +msgstr "Kuba" + +#: ../src/common/util.c:904 +msgid "Cape Verde" +msgstr "Cape Verde" + +#: ../src/common/util.c:905 +msgid "Christmas Island" +msgstr "Karácsony-szigetek" + +#: ../src/common/util.c:906 +msgid "Cyprus" +msgstr "Ciprus" + +#: ../src/common/util.c:907 +msgid "Czech Republic" +msgstr "Cseh Köztársaság" + +#: ../src/common/util.c:908 +msgid "Germany" +msgstr "Németország" + +#: ../src/common/util.c:909 +msgid "Djibouti" +msgstr "Dzsibuti" + +#: ../src/common/util.c:910 +msgid "Denmark" +msgstr "Dánia" + +#: ../src/common/util.c:911 +msgid "Dominica" +msgstr "Dominika" + +#: ../src/common/util.c:912 +msgid "Dominican Republic" +msgstr "Dominikai Köztársaság" + +#: ../src/common/util.c:913 +msgid "Algeria" +msgstr "Algéria" + +#: ../src/common/util.c:914 +msgid "Ecuador" +msgstr "Ecuador" + +#: ../src/common/util.c:915 +msgid "Educational Institution" +msgstr "Oktatási intézmény" + +#: ../src/common/util.c:916 +msgid "Estonia" +msgstr "Észtország" + +#: ../src/common/util.c:917 +msgid "Egypt" +msgstr "Egyiptom" + +#: ../src/common/util.c:918 +msgid "Western Sahara" +msgstr "Nyugat-Szahara" + +#: ../src/common/util.c:919 +msgid "Eritrea" +msgstr "Eritrea" + +#: ../src/common/util.c:920 +msgid "Spain" +msgstr "Spanyolország" + +#: ../src/common/util.c:921 +msgid "Ethiopia" +msgstr "Etiópia" + +#: ../src/common/util.c:922 +msgid "European Union" +msgstr "Európai Unió" + +#: ../src/common/util.c:923 +msgid "Finland" +msgstr "Finnország" + +#: ../src/common/util.c:924 +msgid "Fiji" +msgstr "Fidzsi" + +#: ../src/common/util.c:925 +msgid "Falkland Islands" +msgstr "Falkland-szigetek" + +#: ../src/common/util.c:926 +msgid "Micronesia" +msgstr "Micronesia" + +#: ../src/common/util.c:927 +msgid "Faroe Islands" +msgstr "Faroe-szigetek" + +#: ../src/common/util.c:928 +msgid "France" +msgstr "Franciaország" + +#: ../src/common/util.c:929 +msgid "Gabon" +msgstr "Gabon" + +#: ../src/common/util.c:930 +msgid "Great Britain" +msgstr "Nagy-Britannia" + +#: ../src/common/util.c:931 +msgid "Grenada" +msgstr "Grenada" + +#: ../src/common/util.c:932 +msgid "Georgia" +msgstr "Grúzia" + +#: ../src/common/util.c:933 +msgid "French Guiana" +msgstr "Francia Guyana" + +#: ../src/common/util.c:934 +msgid "British Channel Isles" +msgstr "Brit Csatorna-szigetek" + +#: ../src/common/util.c:935 +msgid "Ghana" +msgstr "Ghána" + +#: ../src/common/util.c:936 +msgid "Gibraltar" +msgstr "Gibraltár" + +#: ../src/common/util.c:937 +msgid "Greenland" +msgstr "Grönland" + +#: ../src/common/util.c:938 +msgid "Gambia" +msgstr "Gambia" + +#: ../src/common/util.c:939 +msgid "Guinea" +msgstr "Guinea" + +#: ../src/common/util.c:940 +msgid "Government" +msgstr "Kormányzat" + +#: ../src/common/util.c:941 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: ../src/common/util.c:942 +msgid "Equatorial Guinea" +msgstr "Egyenlítői Guinea" + +#: ../src/common/util.c:943 +msgid "Greece" +msgstr "Görögország" + +#: ../src/common/util.c:944 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Szt. György- és S. Sandwich-szigetek" + +#: ../src/common/util.c:945 +msgid "Guatemala" +msgstr "Guatemala" + +#: ../src/common/util.c:946 +msgid "Guam" +msgstr "Guam" + +#: ../src/common/util.c:947 +msgid "Guinea-Bissau" +msgstr "Bissau-Guinea" + +#: ../src/common/util.c:948 +msgid "Guyana" +msgstr "Guyana" + +#: ../src/common/util.c:949 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: ../src/common/util.c:950 +msgid "Heard and McDonald Islands" +msgstr "Heard- és McDonald-szigetek" + +#: ../src/common/util.c:951 +msgid "Honduras" +msgstr "Honduras" + +#: ../src/common/util.c:952 +msgid "Croatia" +msgstr "Horvátország" + +#: ../src/common/util.c:953 +msgid "Haiti" +msgstr "Haiti" + +#: ../src/common/util.c:954 +msgid "Hungary" +msgstr "Magyarország" + +#: ../src/common/util.c:955 +msgid "Indonesia" +msgstr "Indonézia" + +#: ../src/common/util.c:956 +msgid "Ireland" +msgstr "Írország" + +#: ../src/common/util.c:957 +msgid "Israel" +msgstr "Izrael" + +#: ../src/common/util.c:958 +msgid "Isle of Man" +msgstr "Man szigete" + +#: ../src/common/util.c:959 +msgid "India" +msgstr "India" + +#: ../src/common/util.c:960 +msgid "Informational" +msgstr "Információs tartomány" + +#: ../src/common/util.c:961 +msgid "International" +msgstr "Nemzetközi" + +#: ../src/common/util.c:962 +msgid "British Indian Ocean Territory" +msgstr "Brit Indiai-óceáni terület" + +#: ../src/common/util.c:963 +msgid "Iraq" +msgstr "Irak" + +#: ../src/common/util.c:964 +msgid "Iran" +msgstr "Irán" + +#: ../src/common/util.c:965 +msgid "Iceland" +msgstr "Izland" + +#: ../src/common/util.c:966 +msgid "Italy" +msgstr "Olaszország" + +#: ../src/common/util.c:967 +msgid "Jersey" +msgstr "Jersey" + +#: ../src/common/util.c:968 +msgid "Jamaica" +msgstr "Jamaica" + +#: ../src/common/util.c:969 +msgid "Jordan" +msgstr "Jordánia" + +#: ../src/common/util.c:970 +msgid "Japan" +msgstr "Japán" + +#: ../src/common/util.c:971 +msgid "Kenya" +msgstr "Kenya" + +#: ../src/common/util.c:972 +msgid "Kyrgyzstan" +msgstr "Kirgizisztán" + +#: ../src/common/util.c:973 +msgid "Cambodia" +msgstr "Kambodzsa" + +#: ../src/common/util.c:974 +msgid "Kiribati" +msgstr "Kiribati" + +#: ../src/common/util.c:975 +msgid "Comoros" +msgstr "Comore-szigetek" + +#: ../src/common/util.c:976 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts és Nevis" + +#: ../src/common/util.c:977 +msgid "North Korea" +msgstr "Észak-Korea" + +#: ../src/common/util.c:978 +msgid "South Korea" +msgstr "Dél-Korea" + +#: ../src/common/util.c:979 +msgid "Kuwait" +msgstr "Kuvait" + +#: ../src/common/util.c:980 +msgid "Cayman Islands" +msgstr "Kajmán-szigetek" + +#: ../src/common/util.c:981 +msgid "Kazakhstan" +msgstr "Kazahsztán" + +#: ../src/common/util.c:982 +msgid "Laos" +msgstr "Laosz" + +#: ../src/common/util.c:983 +msgid "Lebanon" +msgstr "Libanon" + +#: ../src/common/util.c:984 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: ../src/common/util.c:985 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: ../src/common/util.c:986 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: ../src/common/util.c:987 +msgid "Liberia" +msgstr "Libéria" + +#: ../src/common/util.c:988 +msgid "Lesotho" +msgstr "Lesotho" + +#: ../src/common/util.c:989 +msgid "Lithuania" +msgstr "Litvánia" + +#: ../src/common/util.c:990 +msgid "Luxembourg" +msgstr "Luxemburg" + +#: ../src/common/util.c:991 +msgid "Latvia" +msgstr "Lettország" + +#: ../src/common/util.c:992 +msgid "Libya" +msgstr "Líbia" + +#: ../src/common/util.c:993 +msgid "Morocco" +msgstr "Marokkó" + +#: ../src/common/util.c:994 +msgid "Monaco" +msgstr "Monaco" + +#: ../src/common/util.c:995 +msgid "Moldova" +msgstr "Moldova" + +#: ../src/common/util.c:996 +msgid "United States Medical" +msgstr "Egyesült Államok (egészségügy)" + +#: ../src/common/util.c:997 +msgid "Madagascar" +msgstr "Madagaszkár" + +#: ../src/common/util.c:998 +msgid "Marshall Islands" +msgstr "Marshall-szigetek" + +#: ../src/common/util.c:999 +msgid "Military" +msgstr "Katonai" + +#: ../src/common/util.c:1000 +msgid "Macedonia" +msgstr "Macedónia" + +#: ../src/common/util.c:1001 +msgid "Mali" +msgstr "Mali" + +#: ../src/common/util.c:1002 +msgid "Myanmar" +msgstr "Mianmar" + +#: ../src/common/util.c:1003 +msgid "Mongolia" +msgstr "Mongólia" + +#: ../src/common/util.c:1004 +msgid "Macau" +msgstr "Makaó" + +#: ../src/common/util.c:1005 +msgid "Northern Mariana Islands" +msgstr "Északi Mariana-szigetek" + +#: ../src/common/util.c:1006 +msgid "Martinique" +msgstr "Martinique" + +#: ../src/common/util.c:1007 +msgid "Mauritania" +msgstr "Mauritánia" + +#: ../src/common/util.c:1008 +msgid "Montserrat" +msgstr "Montserrat" + +#: ../src/common/util.c:1009 +msgid "Malta" +msgstr "Málta" + +#: ../src/common/util.c:1010 +msgid "Mauritius" +msgstr "Mauritius" + +#: ../src/common/util.c:1011 +msgid "Maldives" +msgstr "Maldív-szigetek" + +#: ../src/common/util.c:1012 +msgid "Malawi" +msgstr "Malawi" + +#: ../src/common/util.c:1013 +msgid "Mexico" +msgstr "Mexikó" + +#: ../src/common/util.c:1014 +msgid "Malaysia" +msgstr "Malajzia" + +#: ../src/common/util.c:1015 +msgid "Mozambique" +msgstr "Mozambik" + +#: ../src/common/util.c:1016 +msgid "Namibia" +msgstr "Namíbia" + +#: ../src/common/util.c:1017 +msgid "New Caledonia" +msgstr "Új-Kaledónia" + +#: ../src/common/util.c:1018 +msgid "Niger" +msgstr "Niger" + +#: ../src/common/util.c:1019 +msgid "Internic Network" +msgstr "Internic hálózat" + +#: ../src/common/util.c:1020 +msgid "Norfolk Island" +msgstr "Norfolk-szigetek" + +#: ../src/common/util.c:1021 +msgid "Nigeria" +msgstr "Nigéria" + +#: ../src/common/util.c:1022 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: ../src/common/util.c:1023 +msgid "Netherlands" +msgstr "Hollandia" + +#: ../src/common/util.c:1024 +msgid "Norway" +msgstr "Norvégia" + +#: ../src/common/util.c:1025 +msgid "Nepal" +msgstr "Nepál" + +#: ../src/common/util.c:1026 +msgid "Nauru" +msgstr "Nauru" + +#: ../src/common/util.c:1027 +msgid "Niue" +msgstr "Niue" + +#: ../src/common/util.c:1028 +msgid "New Zealand" +msgstr "Új-Zéland" + +#: ../src/common/util.c:1029 +msgid "Oman" +msgstr "Oman" + +#: ../src/common/util.c:1030 +msgid "Internic Non-Profit Organization" +msgstr "Internic non-profit szervezet" + +#: ../src/common/util.c:1031 +msgid "Panama" +msgstr "Panama" + +#: ../src/common/util.c:1032 +msgid "Peru" +msgstr "Peru" + +#: ../src/common/util.c:1033 +msgid "French Polynesia" +msgstr "Francia Polinézia" + +#: ../src/common/util.c:1034 +msgid "Papua New Guinea" +msgstr "Pápua Új-Guinea" + +#: ../src/common/util.c:1035 +msgid "Philippines" +msgstr "Fülöp-szigetek" + +#: ../src/common/util.c:1036 +msgid "Pakistan" +msgstr "Pakisztán" + +#: ../src/common/util.c:1037 +msgid "Poland" +msgstr "Lengyelország" + +#: ../src/common/util.c:1038 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre és Miquelon" + +#: ../src/common/util.c:1039 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: ../src/common/util.c:1040 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: ../src/common/util.c:1041 +msgid "Palestinian Territory" +msgstr "Palesztin terület" + +#: ../src/common/util.c:1042 +msgid "Portugal" +msgstr "Portugália" + +#: ../src/common/util.c:1043 +msgid "Palau" +msgstr "Palau" + +#: ../src/common/util.c:1044 +msgid "Paraguay" +msgstr "Paraguay" + +#: ../src/common/util.c:1045 +msgid "Qatar" +msgstr "Katar" + +#: ../src/common/util.c:1046 +msgid "Reunion" +msgstr "Réunion" + +#: ../src/common/util.c:1047 +msgid "Romania" +msgstr "Románia" + +#: ../src/common/util.c:1048 +msgid "Old School ARPAnet" +msgstr "Régimódi ARPAnet" + +#: ../src/common/util.c:1049 +msgid "Russian Federation" +msgstr "Orosz Föderáció" + +#: ../src/common/util.c:1050 +msgid "Rwanda" +msgstr "Ruanda" + +#: ../src/common/util.c:1051 +msgid "Saudi Arabia" +msgstr "Szaúd-Arábia" + +#: ../src/common/util.c:1052 +msgid "Solomon Islands" +msgstr "Salamon-szigetek" + +#: ../src/common/util.c:1053 +msgid "Seychelles" +msgstr "Seychelle-szigetek" + +#: ../src/common/util.c:1054 +msgid "Sudan" +msgstr "Szudán" + +#: ../src/common/util.c:1055 +msgid "Sweden" +msgstr "Svédország" + +#: ../src/common/util.c:1056 +msgid "Singapore" +msgstr "Szingapúr" + +#: ../src/common/util.c:1057 +msgid "St. Helena" +msgstr "Szt. Ilona" + +#: ../src/common/util.c:1058 +msgid "Slovenia" +msgstr "Szlovénia" + +#: ../src/common/util.c:1059 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard és Jan Mayen szigetek" + +#: ../src/common/util.c:1060 +msgid "Slovak Republic" +msgstr "Szlovák Köztársaság" + +#: ../src/common/util.c:1061 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: ../src/common/util.c:1062 +msgid "San Marino" +msgstr "San Marino" + +#: ../src/common/util.c:1063 +msgid "Senegal" +msgstr "Szenegál" + +#: ../src/common/util.c:1064 +msgid "Somalia" +msgstr "Szomália" + +#: ../src/common/util.c:1065 +msgid "Suriname" +msgstr "Suriname" + +#: ../src/common/util.c:1066 +msgid "Sao Tome and Principe" +msgstr "Sao Tome és Principe" + +#: ../src/common/util.c:1067 +msgid "Former USSR" +msgstr "Korábbi Szovjetunió" + +#: ../src/common/util.c:1068 +msgid "El Salvador" +msgstr "El Salvador" + +#: ../src/common/util.c:1069 +msgid "Syria" +msgstr "Szíria" + +#: ../src/common/util.c:1070 +msgid "Swaziland" +msgstr "Szváziföld" + +#: ../src/common/util.c:1071 +msgid "Turks and Caicos Islands" +msgstr "Turks és Caicos szigetek" + +#: ../src/common/util.c:1072 +msgid "Chad" +msgstr "Csád" + +#: ../src/common/util.c:1073 +msgid "French Southern Territories" +msgstr "Déli Francia Területek" + +#: ../src/common/util.c:1074 +msgid "Togo" +msgstr "Togó" + +#: ../src/common/util.c:1075 +msgid "Thailand" +msgstr "Thaiföld" + +#: ../src/common/util.c:1076 +msgid "Tajikistan" +msgstr "Tadzsikisztán" + +#: ../src/common/util.c:1077 +msgid "Tokelau" +msgstr "Tokelau" + +#: ../src/common/util.c:1078 +#: ../src/common/util.c:1082 +msgid "East Timor" +msgstr "Kelet-Timor" + +#: ../src/common/util.c:1079 +msgid "Turkmenistan" +msgstr "Türkmenisztán" + +#: ../src/common/util.c:1080 +msgid "Tunisia" +msgstr "Tunézia" + +#: ../src/common/util.c:1081 +msgid "Tonga" +msgstr "Tonga" + +#: ../src/common/util.c:1083 +msgid "Turkey" +msgstr "Törökország" + +#: ../src/common/util.c:1084 +msgid "Trinidad and Tobago" +msgstr "Trinidad és Tobago" + +#: ../src/common/util.c:1085 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: ../src/common/util.c:1086 +msgid "Taiwan" +msgstr "Tajvan" + +#: ../src/common/util.c:1087 +msgid "Tanzania" +msgstr "Tanzánia" + +#: ../src/common/util.c:1088 +msgid "Ukraine" +msgstr "Ukrajna" + +#: ../src/common/util.c:1089 +msgid "Uganda" +msgstr "Uganda" + +#: ../src/common/util.c:1090 +msgid "United Kingdom" +msgstr "Egyesült Királyság" + +#: ../src/common/util.c:1091 +msgid "United States of America" +msgstr "Amerikai Egyesült Államok" + +#: ../src/common/util.c:1092 +msgid "Uruguay" +msgstr "Uruguay" + +#: ../src/common/util.c:1093 +msgid "Uzbekistan" +msgstr "Üzbegisztán" + +#: ../src/common/util.c:1094 +msgid "Vatican City State" +msgstr "Vatikán Állam" + +#: ../src/common/util.c:1095 +msgid "St. Vincent and the Grenadines" +msgstr "St. Vincent és a Grenadines" + +#: ../src/common/util.c:1096 +msgid "Venezuela" +msgstr "Venezuela" + +#: ../src/common/util.c:1097 +msgid "British Virgin Islands" +msgstr "Brit Virgin-szigetek" + +#: ../src/common/util.c:1098 +msgid "US Virgin Islands" +msgstr "USA Virgin-szigetek" + +#: ../src/common/util.c:1099 +msgid "Vietnam" +msgstr "Vietnam" + +#: ../src/common/util.c:1100 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: ../src/common/util.c:1101 +msgid "Wallis and Futuna Islands" +msgstr "Wallis és Futuna szigetek" + +#: ../src/common/util.c:1102 +msgid "Samoa" +msgstr "Szamoa" + +#: ../src/common/util.c:1103 +msgid "Yemen" +msgstr "Jemen" + +#: ../src/common/util.c:1104 +msgid "Mayotte" +msgstr "Mayotte" + +#: ../src/common/util.c:1105 +msgid "Yugoslavia" +msgstr "Jugoszlávia" + +#: ../src/common/util.c:1106 +msgid "South Africa" +msgstr "Dél-Afrika" + +#: ../src/common/util.c:1107 +msgid "Zambia" +msgstr "Zambia" + +#: ../src/common/util.c:1108 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: ../src/common/util.c:1118 +#: ../src/common/util.c:1128 +#: ../src/fe-gtk/menu.c:611 +msgid "Unknown" +msgstr "Ismeretlen" + +#: ../src/common/xchat.c:726 +msgid "_Open Dialog Window" +msgstr "Párbeszédablak _nyitása" + +#: ../src/common/xchat.c:727 +msgid "_Send a File" +msgstr "_Fájl küldése" + +#: ../src/common/xchat.c:728 +msgid "_User Info (WhoIs)" +msgstr "Felhasz_nálóinformációk (WHOIS)" + +#: ../src/common/xchat.c:729 +msgid "_Add to Friends List" +msgstr "Hozzá_adás a barátok listájához" + +#: ../src/common/xchat.c:730 +msgid "O_perator Actions" +msgstr "O_perátori műveletek" + +#: ../src/common/xchat.c:732 +msgid "Give Ops" +msgstr "Op-jog adása" + +#: ../src/common/xchat.c:733 +msgid "Take Ops" +msgstr "Op-jog elvétele" + +#: ../src/common/xchat.c:734 +msgid "Give Voice" +msgstr "Voice jog adása" + +#: ../src/common/xchat.c:735 +msgid "Take Voice" +msgstr "Voice jog elvétele" + +#: ../src/common/xchat.c:737 +msgid "Kick/Ban" +msgstr "Kirúgás/kitiltás" + +#: ../src/common/xchat.c:738 +#: ../src/common/xchat.c:775 +msgid "Kick" +msgstr "Kirúgás" + +#: ../src/common/xchat.c:739 +#: ../src/common/xchat.c:740 +#: ../src/common/xchat.c:741 +#: ../src/common/xchat.c:742 +#: ../src/common/xchat.c:743 +#: ../src/common/xchat.c:774 +msgid "Ban" +msgstr "Kitiltás" + +#: ../src/common/xchat.c:744 +#: ../src/common/xchat.c:745 +#: ../src/common/xchat.c:746 +#: ../src/common/xchat.c:747 +msgid "KickBan" +msgstr "Kirúgás és kitiltás" + +#: ../src/common/xchat.c:757 +msgid "Leave Channel" +msgstr "Csatorna elhagyása" + +#: ../src/common/xchat.c:758 +msgid "Join Channel..." +msgstr "Csatlakozás csatornához..." + +#: ../src/common/xchat.c:759 +#: ../src/fe-gtk/menu.c:1281 +msgid "Enter Channel to Join:" +msgstr "Írja be a csatorna nevét, amelyhez csatlakozni akar:" + +#: ../src/common/xchat.c:760 +msgid "Server Links" +msgstr "Kiszolgáló hivatkozások" + +#: ../src/common/xchat.c:761 +msgid "Ping Server" +msgstr "Kiszolgáló pingelése" + +#: ../src/common/xchat.c:762 +msgid "Hide Version" +msgstr "Verzió elrejtése" + +#: ../src/common/xchat.c:772 +msgid "Op" +msgstr "Op" + +#: ../src/common/xchat.c:773 +msgid "DeOp" +msgstr "DeOp" + +#: ../src/common/xchat.c:776 +msgid "bye" +msgstr "viszlát" + +#: ../src/common/xchat.c:777 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Adja meg %s kirúgásának okát:" + +#: ../src/common/xchat.c:778 +msgid "Sendfile" +msgstr "Fájlküldés" + +#: ../src/common/xchat.c:779 +msgid "Dialog" +msgstr "Párbeszéd" + +#: ../src/common/xchat.c:788 +msgid "WhoIs" +msgstr "WhoIs" + +#: ../src/common/xchat.c:789 +msgid "Send" +msgstr "Küldés" + +#: ../src/common/xchat.c:790 +msgid "Chat" +msgstr "Csevegés" + +#: ../src/common/xchat.c:791 +#: ../src/fe-gtk/banlist.c:413 +#: ../src/fe-gtk/ignoregui.c:389 +#: ../src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Összes törlése" + +#: ../src/common/xchat.c:792 +msgid "Ping" +msgstr "Ping" + +#: ../src/common/dbus/dbus-client.c:72 +msgid "Couldn't connect to session bus" +msgstr "Nem lehet csatlakozni a munkamenet buszhoz" + +#: ../src/common/dbus/dbus-client.c:86 +msgid "Failed to complete NameHasOwner" +msgstr "Nem sikerült a NameHasOwner befejezése" + +#: ../src/common/dbus/dbus-client.c:112 +msgid "Failed to complete Command" +msgstr "Nem sikerült a parancs végrehajtása" + +#: ../src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "távoli elérés" + +#: ../src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "DBUS-t használó bővítmény távoli eléréshez" + +#: ../src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Nem lehet csatlakozni a munkamenetbuszhoz: %s\n" + +#: ../src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "A(z) %s lekérése nem sikerült: %s\n" + +#: ../src/fe-gtk/about.c:102 +msgid "About " +msgstr "Névjegy" + +#: ../src/fe-gtk/about.c:133 +msgid "A multiplatform IRC Client" +msgstr "Többplatformos IRC-kliens" + +#: ../src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Karaktertábla" + +#: ../src/fe-gtk/banlist.c:151 +#: ../src/fe-gtk/chanlist.c:305 +#: ../src/fe-gtk/plugin-tray.c:302 +msgid "Not connected." +msgstr "Nincs kapcsolat." + +#: ../src/fe-gtk/banlist.c:249 +#: ../src/fe-gtk/banlist.c:329 +msgid "You must select some bans." +msgstr "Ki kell választania néhány kitiltást." + +# ?#: ../src/fe-gtk/banlist.c:206 +#: ../src/fe-gtk/banlist.c:278 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "Valóban el kívánja távolítani az összes kitiltást a következőn: %s?" + +#: ../src/fe-gtk/banlist.c:344 +#: ../src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Maszk" + +#: ../src/fe-gtk/banlist.c:345 +msgid "From" +msgstr "Kitől" + +#: ../src/fe-gtk/banlist.c:346 +msgid "Date" +msgstr "Dátum" + +#: ../src/fe-gtk/banlist.c:389 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Csak a csatornafülön nyithatja meg a kitiltáslistát." + +#: ../src/fe-gtk/banlist.c:393 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: Kitiltáslista (%s)" + +#: ../src/fe-gtk/banlist.c:409 +#: ../src/fe-gtk/notifygui.c:432 +msgid "Remove" +msgstr "Eltávolítás" + +#: ../src/fe-gtk/banlist.c:411 +msgid "Crop" +msgstr "Levágás" + +#: ../src/fe-gtk/banlist.c:415 +msgid "Refresh" +msgstr "Frissítés" + +#: ../src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "%d/%d felhasználó megjelenítése %d/%d csatornán." + +#: ../src/fe-gtk/chanlist.c:526 +#: ../src/fe-gtk/menu.c:1217 +#: ../src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Válasszon egy kimeneti fájlnevet" + +#: ../src/fe-gtk/chanlist.c:631 +#: ../src/fe-gtk/chanlist.c:799 +msgid "_Join Channel" +msgstr "Belépés _csatornára" + +#: ../src/fe-gtk/chanlist.c:633 +msgid "_Copy Channel Name" +msgstr "Csatornané_v másolása" + +#: ../src/fe-gtk/chanlist.c:635 +msgid "Copy _Topic Text" +msgstr "Té_ma szövegének másolása" + +#: ../src/fe-gtk/chanlist.c:724 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: Csatornalista (%s)" + +#: ../src/fe-gtk/chanlist.c:781 +msgid "_Search" +msgstr "_Keresés" + +#: ../src/fe-gtk/chanlist.c:787 +msgid "_Download List" +msgstr "_Lista letöltése" + +#: ../src/fe-gtk/chanlist.c:793 +msgid "Save _List..." +msgstr "List_a mentése..." + +#. ============================================================= +#: ../src/fe-gtk/chanlist.c:806 +msgid "Show only:" +msgstr "Megjelenítés:" + +#: ../src/fe-gtk/chanlist.c:818 +msgid "channels with" +msgstr "csak a(z)" + +#: ../src/fe-gtk/chanlist.c:831 +msgid "to" +msgstr "és" + +#: ../src/fe-gtk/chanlist.c:843 +msgid "users." +msgstr "közötti felhasználószámú csatornák." + +#. ============================================================= +#: ../src/fe-gtk/chanlist.c:849 +msgid "Look in:" +msgstr "Keresés:" + +#: ../src/fe-gtk/chanlist.c:861 +msgid "Channel name" +msgstr "Csatorna neve" + +#. ============================================================= +#: ../src/fe-gtk/chanlist.c:882 +msgid "Search type:" +msgstr "Keresés típusa:" + +#: ../src/fe-gtk/chanlist.c:889 +msgid "Simple Search" +msgstr "Egyszerű keresés" + +#: ../src/fe-gtk/chanlist.c:890 +msgid "Pattern Match (Wildcards)" +msgstr "Mintaillesztés (helyettesítő karakterek)" + +#: ../src/fe-gtk/chanlist.c:892 +msgid "Regular Expression" +msgstr "Reguláris kifejezés" + +#. ============================================================= +#: ../src/fe-gtk/chanlist.c:903 +#: ../src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Keresés:" + +#: ../src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "Fájl küldése %s számára" + +#. unknown error +#: ../src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "Ezt a fájlt nem lehet folytatni." + +#: ../src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Nem lehet hozzáférni a következő fájlhoz: %s\n" +"%s.\n" +"A folytatás nem lehetséges." + +#: ../src/fe-gtk/dccgui.c:507 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "A letöltési könyvtárban lévő fájl nagyobb, mint a felkínált. A folytatás nem lehetséges." + +#: ../src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "Nem lehet ugyanazt a fájlt két embertől folytatni." + +#: ../src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: Feltöltések és letöltések" + +#: ../src/fe-gtk/dccgui.c:756 +#: ../src/fe-gtk/dccgui.c:995 +#: ../src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "Állapot" + +#: ../src/fe-gtk/dccgui.c:757 +#: ../src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Fájl" + +#: ../src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "ETA" + +#: ../src/fe-gtk/dccgui.c:787 +#: ../src/fe-gtk/menu.c:1593 +msgid "Both" +msgstr "Mindkettő" + +#: ../src/fe-gtk/dccgui.c:793 +msgid "Uploads" +msgstr "Feltöltések" + +#: ../src/fe-gtk/dccgui.c:799 +msgid "Downloads" +msgstr "Letöltések" + +#: ../src/fe-gtk/dccgui.c:804 +msgid "Details" +msgstr "Részletek" + +#: ../src/fe-gtk/dccgui.c:815 +msgid "File:" +msgstr "Fájl:" + +#: ../src/fe-gtk/dccgui.c:816 +msgid "Address:" +msgstr "Cím:" + +#: ../src/fe-gtk/dccgui.c:822 +#: ../src/fe-gtk/dccgui.c:1019 +msgid "Abort" +msgstr "Megszakítás" + +#: ../src/fe-gtk/dccgui.c:823 +#: ../src/fe-gtk/dccgui.c:1020 +msgid "Accept" +msgstr "Elfogadás" + +#: ../src/fe-gtk/dccgui.c:824 +msgid "Resume" +msgstr "Folytatás" + +#: ../src/fe-gtk/dccgui.c:825 +msgid "Open Folder..." +msgstr "Mappa megnyitása..." + +#: ../src/fe-gtk/dccgui.c:985 +msgid "XChat: DCC Chat List" +msgstr "XChat: DCC csevegés lista" + +#: ../src/fe-gtk/dccgui.c:997 +msgid "Recv" +msgstr "Bejövő" + +#: ../src/fe-gtk/dccgui.c:998 +msgid "Sent" +msgstr "Elküldött" + +#: ../src/fe-gtk/dccgui.c:999 +msgid "Start Time" +msgstr "Kezdés időpontja" + +#: ../src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*ÚJ*" + +#: ../src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "SZERKESZT" + +#: ../src/fe-gtk/editlist.c:310 +#: ../src/fe-gtk/notifygui.c:137 +#: ../src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Név" + +#: ../src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Parancs" + +#: ../src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Mozgatás fel" + +#: ../src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Mozgatás le" + +#: ../src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Mégsem" + +#: ../src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Mentés" + +#: ../src/fe-gtk/editlist.c:363 +#: ../src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Új hozzáadása" + +#: ../src/fe-gtk/editlist.c:367 +#: ../src/fe-gtk/fkeys.c:770 +#: ../src/fe-gtk/ignoregui.c:387 +msgid "Delete" +msgstr "Törlés" + +#: ../src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Rendezés" + +#: ../src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Súgó" + +#: ../src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "Ne csatlakozzon újra automatikusan a kiszolgálókra" + +#: ../src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "Másik konfigurációs könyvtár használata" + +#: ../src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "Ne töltsön be automatikusan egy bővítményt sem" + +#: ../src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "Mutassa az automatikusan betöltődő bővítménykönyvtárat" + +#: ../src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "Mutassa a felhasználói konfigurációs könyvtárat" + +#: ../src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "Egy irc://kiszolgáló:port/csatorna URL megnyitása" + +#: ../src/fe-gtk/fe-gtk.c:133 +#: ../src/fe-gtk/setup.c:212 +msgid "Execute command:" +msgstr "Parancs végrehajtása:" + +#: ../src/fe-gtk/fe-gtk.c:134 +msgid "Open URL or execute command in an existing XChat" +msgstr "URL megnyitása vagy parancs végrehajtása meglévő XChatben" + +#: ../src/fe-gtk/fe-gtk.c:136 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Indítás minimalizálva. Lehetséges értékek: 0=normál, 0=ikonméret 2=tálca" + +#: ../src/fe-gtk/fe-gtk.c:136 +msgid "level" +msgstr "szint" + +#: ../src/fe-gtk/fe-gtk.c:137 +msgid "Show version information" +msgstr "Mutassa a verzióinformációt" + +#: ../src/fe-gtk/fe-gtk.c:257 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Nem sikerült a következő betűkészlet megnyitása:\n" +"\n" +"%s" + +#: ../src/fe-gtk/fe-gtk.c:636 +msgid "Search buffer is empty.\n" +msgstr "A keresési puffer üres.\n" + +#: ../src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "%d bytes" +msgstr "%d bájt" + +#: ../src/fe-gtk/fe-gtk.c:733 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Hálózati küldési sor: %d bájt" + +#: ../src/fe-gtk/fkeys.c:159 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n" +" characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "" +"A \"Parancs futtatása\" művelet úgy futtatja az Adat1-ben lévő adatokat, mintha abba a beviteli mezőbe írta volna be, ahol lenyomta a billentyűsorozatot. Ezért tartalmazhat szöveget (ami majd a csatornára/személynek megy), parancsokat vagy felhasználói parancsokat. Futtatáskor az összes \\n" +" karakter, ami az Adat1-ben van, a parancsok elválasztására szolgál, tehát több parancsot is lehet egymás után futtatni. Ha \\-t akar elhelyezni a szövegben, használja így: \\\\" + +#: ../src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "Az \"Oldal váltása\" parancs a noteszlapok közt vált. Állítsa be az Adat1-et arra az oldalra, amelyre váltani akar. Ha az Adat2 bármire be van állítva, akkor a váltás a jelenlegi pozícióhoz képest megy végbe" + +#: ../src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "A \"Beszúrás a pufferbe\" parancs az Adat1 tartalmát szúrja be az aktuális kurzorpozícióba, ahol a billentyűkombinációt lenyomta" + +#: ../src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "Az \"Oldal görgetése\" parancs a szöveget egy sorral vagy oldallal felfelé vagy lefelé görgeti. Az Adat1-ben állítsa be, hogy Fel, Le, +1 vagy -1." + +#: ../src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "A \"Puffer beállítása\" parancs a billentyűlenyomáskor bevitt adatokat adja hozzá az Adat1 tartalmához" + +#: ../src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "Az \"Utolsó parancs\" az utoljára bevitt parancsot állítja be - ugyanaz, mint amikor egy parancsértelmezőben megnyomja a felfelé nyilat" + +#: ../src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "A \"Következő parancs\" a következő bevitt parancsot jeleníti meg - ugyanaz, mint amikor egy parancsértelmezőben megnyomja a lefelé nyilat" + +#: ../src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "Ez a parancs kiegészíti a megkezdett becenevet vagy parancsot. Ha az Adat1 be van állítva, akkor a TAB kétszeri lenyomása az utolsó becenevet választja ki, nem a következőt" + +#: ../src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "Ez a parancs fel- vagy lefelé görgeti a becenevek listáját. Ha az Adat1 bármire be van állítva, akkor felfelé görget, egyéb esetben lefelé" + +#: ../src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "Ez a parancs összehasonlítja az utolsó bevitt szót a cserelista tartalmával és lecseréli, ha egyezést talál" + +#: ../src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "Ez a parancs eggyel balra mozgatja az első fület" + +#: ../src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "Ez a parancs eggyel jobbra mozgatja az első fület" + +#: ../src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "Ez a parancs az aktuális fülek csoportját balra mozgatja" + +#: ../src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "Ez a parancs az aktuális fülek csoportját jobbra mozgatja" + +#: ../src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "A beviteli mező tartalmát hozzáadja az előzményekhez, de nem küldi el a kiszolgálónak" + +#: ../src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "Hiba történt a billentyűkombinációk betöltésekor" + +#: ../src/fe-gtk/fkeys.c:450 +#: ../src/fe-gtk/fkeys.c:451 +#: ../src/fe-gtk/fkeys.c:452 +#: ../src/fe-gtk/fkeys.c:453 +#: ../src/fe-gtk/fkeys.c:743 +#: ../src/fe-gtk/fkeys.c:749 +#: ../src/fe-gtk/fkeys.c:754 +#: ../src/fe-gtk/maingui.c:1635 +#: ../src/fe-gtk/maingui.c:1751 +#: ../src/fe-gtk/maingui.c:3252 +msgid "<none>" +msgstr "<nincs>" + +#: ../src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "Mod" + +#: ../src/fe-gtk/fkeys.c:708 +#: ../src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Billentyű" + +#: ../src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Művelet" + +#: ../src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: Gyorsbillentyűk" + +#: ../src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Shift" + +#: ../src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: ../src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: ../src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "Adat1" + +#: ../src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "Adat2" + +#: ../src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "Hiba a billentyű-konfigurációs fájl megnyitásakor \n" + +#: ../src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Ismeretlen billentyűnév a billentyű-konfigurációs fájlban: \"%s\"\n" +"Betöltés megszakítva, kérem javítsa a(z) %s/keybindings.conf fájlt\n" + +#: ../src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Ismeretlen művelet a billentyű-konfigurációs fájlban: \"%s\"\n" +"Betöltés megszakítva, kérem javítsa a(z) %s/keybindings fájlt\n" + +#: ../src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"A rendszer adatsort várt, (kezdet Dx{:|!}) de ezt kapta:\n" +"%s\n" +"\n" +"Betöltés megszakítva, kérem javítsa ki a(z) %s/keybindings fájlt\n" + +#: ../src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"A gyorsbillentyű-fájl megsérült, betöltés megszakítva\n" +"Kérem javítsa a(z) %s /keybindings.conf fájlt\n" + +#: ../src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "Nem lehet írni ezt a fájlt." + +#: ../src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "Nem lehet olvasni ezt a fájlt." + +#. duplicate, ignore +#: ../src/fe-gtk/ignoregui.c:117 +#: ../src/fe-gtk/ignoregui.c:264 +msgid "That mask already exists." +msgstr "Ez a maszk már létezik." + +#: ../src/fe-gtk/ignoregui.c:177 +#: ../src/fe-gtk/maingui.c:2132 +msgid "Private" +msgstr "Privát üzenet" + +#: ../src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Figyelmeztetés" + +#: ../src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: ../src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: ../src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Meghívás" + +#: ../src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Mellőzés megszüntetése" + +#: ../src/fe-gtk/ignoregui.c:308 +msgid "Enter mask to ignore:" +msgstr "Írja be a mellőzendő maszkot:" + +#: ../src/fe-gtk/ignoregui.c:355 +msgid "XChat: Ignore list" +msgstr "XChat: Mellőzési lista" + +#: ../src/fe-gtk/ignoregui.c:362 +msgid "Ignore Stats:" +msgstr "Mellőzési statisztika:" + +#: ../src/fe-gtk/ignoregui.c:370 +msgid "Channel:" +msgstr "Csatorna:" + +#: ../src/fe-gtk/ignoregui.c:371 +msgid "Private:" +msgstr "Privát:" + +#: ../src/fe-gtk/ignoregui.c:372 +msgid "Notice:" +msgstr "Figyelmeztetés:" + +#: ../src/fe-gtk/ignoregui.c:373 +msgid "CTCP:" +msgstr "CTCP:" + +#: ../src/fe-gtk/ignoregui.c:374 +msgid "Invite:" +msgstr "Meghívás:" + +#: ../src/fe-gtk/ignoregui.c:385 +#: ../src/fe-gtk/notifygui.c:428 +msgid "Add..." +msgstr "Hozzáadás..." + +#: ../src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "A csatornanév túl rövid, próbálja újra." + +#: ../src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: A kapcsolat kész" + +#: ../src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "A kapcsolódás kész a következőhöz: %s." + +#: ../src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "A Kiszolgálólista ablakban nincs megadva olyan csatorna (csevegőszoba), amelyhez ezen a hálózaton automatikusan csatlakozni kellene." + +#: ../src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Mit szeretne tenni ezután?" + +#: ../src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_Semmit, később lépek be egy csatornára." + +#: ../src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "_Belépés erre a csatornára:" + +#: ../src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Ha tudja a csatorna nevét, amelyre be kíván lépni, adja meg itt." + +#: ../src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "_Csatornalista ablak megnyitása." + +#: ../src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "A csatornalista lekérése eltarthat pár percig." + +#: ../src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "_Mindig jelenjen meg ez a párbeszédablak csatlakozás után." + +#: ../src/fe-gtk/maingui.c:506 +msgid "Dialog with" +msgstr "Párbeszéd" + +#: ../src/fe-gtk/maingui.c:793 +#, c-format +msgid "Topic for %s is: %s" +msgstr "A(z) %s témája: %s" + +#: ../src/fe-gtk/maingui.c:798 +msgid "No topic is set" +msgstr "Nincs beállítva téma" + +#: ../src/fe-gtk/maingui.c:1182 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "Ehhez a kiszolgálóhoz még %d csatorna vagy párbeszéd van társítva. Az összeset bezárja?" + +#: ../src/fe-gtk/maingui.c:1276 +msgid "Quit XChat?" +msgstr "Kilép az XChatből?" + +#: ../src/fe-gtk/maingui.c:1297 +msgid "Don't ask next time." +msgstr "Ne kérdezze újra." + +#: ../src/fe-gtk/maingui.c:1303 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "%i IRC hálózathoz van kapcsolódva." + +# ?#: ../src/fe-gtk/banlist.c:206 +#: ../src/fe-gtk/maingui.c:1305 +msgid "Are you sure you want to quit?" +msgstr "Biztos, hogy ki szeretne lépni?" + +#: ../src/fe-gtk/maingui.c:1307 +msgid "Some file transfers are still active." +msgstr "Még vannak aktív fájlátvitelek." + +#: ../src/fe-gtk/maingui.c:1325 +msgid "_Minimize to Tray" +msgstr "_Minimalizálás a tálcára" + +#: ../src/fe-gtk/maingui.c:1545 +msgid "Insert Attribute or Color Code" +msgstr "Attribútum vagy színkód beszúrása" + +#: ../src/fe-gtk/maingui.c:1547 +msgid "<b>Bold</b>" +msgstr "<b>Félkövér</b>" + +#: ../src/fe-gtk/maingui.c:1548 +msgid "<u>Underline</u>" +msgstr "<u>Aláhúzott</u>" + +#. mg_markup_item (submenu, _("<i>Italic</i>"), 102); +#: ../src/fe-gtk/maingui.c:1550 +msgid "Normal" +msgstr "Normál" + +#: ../src/fe-gtk/maingui.c:1552 +msgid "Colors 0-7" +msgstr "Színek 0-7" + +#: ../src/fe-gtk/maingui.c:1562 +msgid "Colors 8-15" +msgstr "Színek 8-15" + +#: ../src/fe-gtk/maingui.c:1605 +msgid "_Settings" +msgstr "_Beállítások" + +#: ../src/fe-gtk/maingui.c:1607 +msgid "_Log to Disk" +msgstr "_Naplózás" + +#: ../src/fe-gtk/maingui.c:1608 +msgid "_Reload Scrollback" +msgstr "Visszatekintés új_ratöltése" + +#: ../src/fe-gtk/maingui.c:1610 +msgid "_Hide Join/Part Messages" +msgstr "A csatlakozási/távozási üzenetek elre_jtése" + +#: ../src/fe-gtk/maingui.c:1618 +msgid "_Extra Alerts" +msgstr "_Extra figyelmeztetések" + +#: ../src/fe-gtk/maingui.c:1620 +msgid "Beep on _Message" +msgstr "Üzenetkor _csipog" + +#: ../src/fe-gtk/maingui.c:1621 +msgid "Blink Tray _Icon" +msgstr "_Tálcaikon villogtatása" + +#: ../src/fe-gtk/maingui.c:1622 +msgid "Blink Task _Bar" +msgstr "_Feladatsáv villogtatása" + +#: ../src/fe-gtk/maingui.c:1660 +#: ../src/fe-gtk/menu.c:2124 +msgid "_Detach" +msgstr "_Leválasztás" + +#: ../src/fe-gtk/maingui.c:1662 +#: ../src/fe-gtk/menu.c:2125 +#: ../src/fe-gtk/menu.c:2130 +#: ../src/fe-gtk/plugingui.c:236 +#: ../src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "Be_zárás" + +#: ../src/fe-gtk/maingui.c:2000 +#: ../src/fe-gtk/maingui.c:2106 +msgid "User limit must be a number!\n" +msgstr "A felhasználó-limit egy szám legyen!\n" + +#: ../src/fe-gtk/maingui.c:2128 +msgid "Topic Protection" +msgstr "Témavédelem" + +#: ../src/fe-gtk/maingui.c:2129 +msgid "No outside messages" +msgstr "Nincs külső üzenet" + +#: ../src/fe-gtk/maingui.c:2130 +msgid "Secret" +msgstr "Titkos" + +#: ../src/fe-gtk/maingui.c:2131 +msgid "Invite Only" +msgstr "Csak meghívásra" + +#: ../src/fe-gtk/maingui.c:2133 +msgid "Moderated" +msgstr "Moderált" + +#: ../src/fe-gtk/maingui.c:2134 +msgid "Ban List" +msgstr "Kitiltási lista" + +#: ../src/fe-gtk/maingui.c:2136 +msgid "Keyword" +msgstr "Kulcsszó" + +#: ../src/fe-gtk/maingui.c:2148 +msgid "User Limit" +msgstr "Felhasználó-limit" + +#: ../src/fe-gtk/maingui.c:2257 +msgid "Show/Hide userlist" +msgstr "Felhasználólista mutatása/elrejtése" + +#: ../src/fe-gtk/maingui.c:2382 +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 "" +"Nem lehet átlátszó hátteret beállítani!\n" +"\n" +"Lehet, hogy olyan ablakkezelőt használ, amely\n" +"ezt jelenleg még nem támogatja.\n" + +#: ../src/fe-gtk/maingui.c:2653 +msgid "Enter new nickname:" +msgstr "Írja be az új becenevet:" + +#: ../src/fe-gtk/menu.c:126 +msgid "Host unknown" +msgstr "Ismeretlen gépnév" + +#. let the translators tweak this if need be +#: ../src/fe-gtk/menu.c:610 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: ../src/fe-gtk/menu.c:616 +#: ../src/fe-gtk/menu.c:620 +msgid "Real Name:" +msgstr "Valódi név:" + +#: ../src/fe-gtk/menu.c:624 +msgid "User:" +msgstr "Felhasználó:" + +#: ../src/fe-gtk/menu.c:628 +msgid "Country:" +msgstr "Ország:" + +#: ../src/fe-gtk/menu.c:632 +msgid "Server:" +msgstr "Kiszolgáló:" + +#: ../src/fe-gtk/menu.c:640 +#, c-format +msgid "%u minutes ago" +msgstr "%u perccel ezelőtt" + +#: ../src/fe-gtk/menu.c:642 +#: ../src/fe-gtk/menu.c:645 +msgid "Last Msg:" +msgstr "Utolsó üzenet:" + +#: ../src/fe-gtk/menu.c:655 +msgid "Away Msg:" +msgstr "Távol üzenet:" + +#: ../src/fe-gtk/menu.c:710 +#, c-format +msgid "%d nicks selected." +msgstr "%d becenév kiválasztva." + +#: ../src/fe-gtk/menu.c:835 +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 "A menüsáv most rejtett. Újra megjelenítheti az F9 megnyomásával vagy a fő szövegterület egy üres részén való jobbkattintással." + +#: ../src/fe-gtk/menu.c:930 +msgid "Open Link in Browser" +msgstr "Hivatkozás megnyitása böngészőben" + +#: ../src/fe-gtk/menu.c:931 +msgid "Copy Selected Link" +msgstr "Kijelölt hivatkozás másolása" + +#: ../src/fe-gtk/menu.c:993 +#: ../src/fe-gtk/menu.c:1264 +msgid "Join Channel" +msgstr "Belépés csatornára" + +#: ../src/fe-gtk/menu.c:997 +msgid "Part Channel" +msgstr "Kilépés a csatornáról" + +#: ../src/fe-gtk/menu.c:999 +msgid "Cycle Channel" +msgstr "Ki- és belépés a csatornára" + +#: ../src/fe-gtk/menu.c:1035 +msgid "_Remove from Favorites" +msgstr "_Eltávolítás a Kedvencek közül" + +#: ../src/fe-gtk/menu.c:1037 +msgid "_Add to Favorites" +msgstr "Hozzá_adás a Kedvencekhez" + +#: ../src/fe-gtk/menu.c:1056 +msgid "XChat: User menu" +msgstr "XChat: Felhasználói menü" + +#. sep +#: ../src/fe-gtk/menu.c:1065 +msgid "Edit This Menu..." +msgstr "Ezen menü szerkesztése..." + +#: ../src/fe-gtk/menu.c:1266 +msgid "Retrieve channel list..." +msgstr "Csatornalista lekérése..." + +#: ../src/fe-gtk/menu.c:1334 +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 = xchat 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 "" +"Felhasználói parancsok - Különleges kódok:\n" +"\n" +"%c = jelenlegi csatorna\n" +"%e = jelenlegi hálózat neve\n" +"%m = gép infó\n" +"%n = az Ön beceneve\n" +"%t = idő/dátum\n" +"%v = xchat verzió\n" +"%2 = 2. szó\n" +"%3 = 3. szó\n" +"&2 = 2. szótól a sor végéig\n" +"&3 = 3. szótól a sor végéig\n" +"\n" +"például:\n" +"/cmd john hello\n" +"\n" +"%2 ez lesz: \"john\"\n" +"&2 ez lesz: \"john hello\"." + +#: ../src/fe-gtk/menu.c:1350 +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 "" +"Felhasználólista gombok - Különleges kódok:\n" +"\n" +"%a = az összes kijelölt becenév\n" +"%c = a jelenlegi csatorna\n" +"%e = jelenlegi hálózat neve\n" +"%h = a kijelölt becenév gépének neve\n" +"%m = gép infó\n" +"%n = az Ön beceneve\n" +"%s = kijelölt becenév\n" +"%t = idő/dátum\n" + +#: ../src/fe-gtk/menu.c:1360 +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 "" +"Párbeszédgombok - Különleges kódok:\n" +"\n" +"%a = az összes kijelölt becenév\n" +"%c = a jelenlegi csatorna\n" +"%e = jelenlegi hálózat neve\n" +"%h = a kijelölt becenév gépének neve\n" +"%m = gép infó\n" +"%n = az Ön beceneve\n" +"%s = kijelölt becenév\n" +"%t = idő/dátum\n" + +#: ../src/fe-gtk/menu.c:1370 +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 "" +"CTCP válaszok - Különleges kódok:\n" +"\n" +"%d = adatok (a teljes ctcp)\n" +"%e = jelenlegi hálózat neve\n" +"%m = gép infó\n" +"%s = a ctcp-t küldő becenév\n" +"%t = idő/dátum\n" +"%2 = 2. szó\n" +"%3 = 3. szó\n" +"&2 = 2. szótól a sor végéig\n" +"&3 = 3. szótól a sor végéig\n" +"\n" + +#: ../src/fe-gtk/menu.c:1381 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"URL kezelés - Speciális kódok:\n" +"\n" +"%s = az URL karakterlánc\n" +"\n" +"Egy ! -t tegyen a parancs elejére,\n" +"ha egy shellbe kell küldeni,\n" +"és nem az XChatnek" + +#: ../src/fe-gtk/menu.c:1390 +msgid "XChat: User Defined Commands" +msgstr "XChat: Felhasználó által megadott parancsok" + +#: ../src/fe-gtk/menu.c:1397 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: Felhasználólista helyi menü" + +#: ../src/fe-gtk/menu.c:1404 +msgid "Replace with" +msgstr "Csere" + +#: ../src/fe-gtk/menu.c:1404 +msgid "XChat: Replace" +msgstr "XChat: Csere" + +#: ../src/fe-gtk/menu.c:1411 +msgid "XChat: URL Handlers" +msgstr "XChat: URL-ek kezelése" + +#: ../src/fe-gtk/menu.c:1430 +msgid "XChat: Userlist buttons" +msgstr "XChat: Felhasználólista gombok" + +#: ../src/fe-gtk/menu.c:1437 +msgid "XChat: Dialog buttons" +msgstr "XChat: Párbeszédgombok" + +#: ../src/fe-gtk/menu.c:1444 +msgid "XChat: CTCP Replies" +msgstr "XChat: CTCP  válaszok" + +#: ../src/fe-gtk/menu.c:1550 +msgid "_XChat" +msgstr "_XChat" + +#: ../src/fe-gtk/menu.c:1551 +msgid "Network Li_st..." +msgstr "_Hálózatlista..." + +#: ../src/fe-gtk/menu.c:1554 +msgid "_New" +msgstr "Ú_j" + +#: ../src/fe-gtk/menu.c:1555 +msgid "Server Tab..." +msgstr "Kiszolgáló fül..." + +#: ../src/fe-gtk/menu.c:1556 +msgid "Channel Tab..." +msgstr "Csatorna fül..." + +#: ../src/fe-gtk/menu.c:1557 +msgid "Server Window..." +msgstr "Kiszolgáló ablak..." + +#: ../src/fe-gtk/menu.c:1558 +msgid "Channel Window..." +msgstr "Csatorna ablak..." + +#: ../src/fe-gtk/menu.c:1563 +#: ../src/fe-gtk/menu.c:1565 +msgid "_Load Plugin or Script..." +msgstr "_Bővítmény vagy parancsfájl betöltése..." + +#: ../src/fe-gtk/menu.c:1573 +#: ../src/fe-gtk/plugin-tray.c:604 +msgid "_Quit" +msgstr "_Kilépés" + +#. 15 +#: ../src/fe-gtk/menu.c:1575 +msgid "_View" +msgstr "_Nézet" + +#: ../src/fe-gtk/menu.c:1577 +msgid "_Menu Bar" +msgstr "_Menüsáv" + +#: ../src/fe-gtk/menu.c:1578 +msgid "_Topic Bar" +msgstr "_Témasáv" + +#: ../src/fe-gtk/menu.c:1579 +msgid "_User List" +msgstr "_Felhasználólista" + +#: ../src/fe-gtk/menu.c:1580 +msgid "U_serlist Buttons" +msgstr "Felhasználólista_gombok" + +#: ../src/fe-gtk/menu.c:1581 +msgid "M_ode Buttons" +msgstr "_Mód gombok" + +#: ../src/fe-gtk/menu.c:1583 +msgid "_Channel Switcher" +msgstr "_Csatornaváltó" + +#: ../src/fe-gtk/menu.c:1585 +msgid "_Tabs" +msgstr "_Fülek" + +#: ../src/fe-gtk/menu.c:1586 +msgid "T_ree" +msgstr "F_a" + +#: ../src/fe-gtk/menu.c:1588 +msgid "_Network Meters" +msgstr "_Hálózatfigyelők" + +#: ../src/fe-gtk/menu.c:1590 +msgid "Off" +msgstr "Ki" + +#: ../src/fe-gtk/menu.c:1591 +msgid "Graph" +msgstr "Grafikon" + +#. 32 +#: ../src/fe-gtk/menu.c:1596 +msgid "_Server" +msgstr "_Kiszolgáló" + +#: ../src/fe-gtk/menu.c:1597 +msgid "_Disconnect" +msgstr "_Szétkapcsolás" + +#: ../src/fe-gtk/menu.c:1598 +msgid "_Reconnect" +msgstr "Ú_jrakapcsolódás" + +#: ../src/fe-gtk/menu.c:1599 +msgid "Join a Channel..." +msgstr "Belépés csatornára..." + +#: ../src/fe-gtk/menu.c:1600 +msgid "List of Channels..." +msgstr "Csatornák listája..." + +#: ../src/fe-gtk/menu.c:1603 +msgid "Marked Away" +msgstr "Nem vagyok itt" + +#: ../src/fe-gtk/menu.c:1605 +msgid "_Usermenu" +msgstr "_Felhasználói menü" + +#. 40 +#: ../src/fe-gtk/menu.c:1607 +msgid "S_ettings" +msgstr "B_eállítások" + +#: ../src/fe-gtk/menu.c:1608 +msgid "_Preferences" +msgstr "_Beállítások" + +#: ../src/fe-gtk/menu.c:1610 +msgid "Advanced" +msgstr "Haladó" + +#: ../src/fe-gtk/menu.c:1611 +msgid "Auto Replace..." +msgstr "Automatikus csere..." + +#: ../src/fe-gtk/menu.c:1612 +msgid "CTCP Replies..." +msgstr "CTCP  válaszok..." + +#: ../src/fe-gtk/menu.c:1613 +msgid "Dialog Buttons..." +msgstr "Párbeszédgombok..." + +#: ../src/fe-gtk/menu.c:1614 +msgid "Keyboard Shortcuts..." +msgstr "Gyorsbillentyűk..." + +#: ../src/fe-gtk/menu.c:1615 +msgid "Text Events..." +msgstr "Szövegesemények..." + +#: ../src/fe-gtk/menu.c:1616 +msgid "URL Handlers..." +msgstr "URL-ek kezelése..." + +#: ../src/fe-gtk/menu.c:1617 +msgid "User Commands..." +msgstr "Saját parancsok..." + +#: ../src/fe-gtk/menu.c:1618 +msgid "Userlist Buttons..." +msgstr "Gombok..." + +#: ../src/fe-gtk/menu.c:1619 +msgid "Userlist Popup..." +msgstr "Felhasználólista helyi menü..." + +#. 53 +#: ../src/fe-gtk/menu.c:1622 +msgid "_Window" +msgstr "_Ablak" + +#: ../src/fe-gtk/menu.c:1623 +msgid "Ban List..." +msgstr "Kitiltáslista..." + +#: ../src/fe-gtk/menu.c:1624 +msgid "Character Chart..." +msgstr "Karaktertábla..." + +#: ../src/fe-gtk/menu.c:1625 +msgid "Direct Chat..." +msgstr "Közvetlen csevegés..." + +#: ../src/fe-gtk/menu.c:1626 +msgid "File Transfers..." +msgstr "Fájlátvitelek..." + +#: ../src/fe-gtk/menu.c:1627 +msgid "Friends List..." +msgstr "Barátok listája..." + +#: ../src/fe-gtk/menu.c:1628 +msgid "Ignore List..." +msgstr "Mellőzési lista..." + +#: ../src/fe-gtk/menu.c:1629 +msgid "Plugins and Scripts..." +msgstr "Bővítmények és parancsfájlok..." + +#: ../src/fe-gtk/menu.c:1630 +msgid "Raw Log..." +msgstr "Nyers napló..." + +#. 62 +#: ../src/fe-gtk/menu.c:1631 +msgid "URL Grabber..." +msgstr "URL elfogó..." + +#: ../src/fe-gtk/menu.c:1633 +msgid "Reset Marker Line" +msgstr "Jelzővonal visszaállítása" + +#: ../src/fe-gtk/menu.c:1634 +msgid "C_lear Text" +msgstr "Szöveg _törlése" + +#: ../src/fe-gtk/menu.c:1636 +msgid "Search Text..." +msgstr "Szöveg keresése..." + +#: ../src/fe-gtk/menu.c:1637 +msgid "Save Text..." +msgstr "Szöveg mentése..." + +#: ../src/fe-gtk/menu.c:1639 +#: ../src/fe-gtk/menu.c:2116 +msgid "_Help" +msgstr "_Súgó" + +#. 69 +#: ../src/fe-gtk/menu.c:1640 +msgid "_Contents" +msgstr "_Tartalom" + +#: ../src/fe-gtk/menu.c:1642 +msgid "Check for updates" +msgstr "Frissítések keresése" + +#: ../src/fe-gtk/menu.c:1644 +msgid "_About" +msgstr "_Névjegy" + +#: ../src/fe-gtk/menu.c:2129 +msgid "_Attach" +msgstr "_Csatolás" + +#: ../src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "Utolsó jelenléte" + +#: ../src/fe-gtk/notifygui.c:182 +msgid "Offline" +msgstr "Offline" + +#: ../src/fe-gtk/notifygui.c:202 +#: ../src/fe-gtk/setup.c:231 +msgid "Never" +msgstr "Soha" + +#: ../src/fe-gtk/notifygui.c:205 +#: ../src/fe-gtk/notifygui.c:230 +#, c-format +msgid "%d minutes ago" +msgstr "%d perccel ezelőtt" + +#: ../src/fe-gtk/notifygui.c:220 +msgid "Online" +msgstr "Online dokumentáció" + +#: ../src/fe-gtk/notifygui.c:349 +msgid "Enter nickname to add:" +msgstr "Írja be a hozzáadandó becenevet:" + +#: ../src/fe-gtk/notifygui.c:378 +msgid "Notify on these networks:" +msgstr "Értesítés ezeken a hálózatokon:" + +#: ../src/fe-gtk/notifygui.c:389 +msgid "Comma separated list of networks is accepted." +msgstr "Hálózatok vesszőkkel elválasztott listája adható meg." + +#: ../src/fe-gtk/notifygui.c:415 +msgid "XChat: Friends List" +msgstr "XChat: Barátok listája" + +#: ../src/fe-gtk/notifygui.c:436 +msgid "Open Dialog" +msgstr "Megnyitás párbeszédablak" + +#: ../src/fe-gtk/plugin-tray.c:248 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" +"A 'notify-send' nem található a figyelmeztető buborékok megjelenítéséhez.\n" +"Telepítse a libnotify csomagot." + +#: ../src/fe-gtk/plugin-tray.c:299 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat: Kapcsolódva %u hálózathoz és %u csatornához" + +#: ../src/fe-gtk/plugin-tray.c:583 +msgid "_Restore" +msgstr "_Helyreállítás" + +#: ../src/fe-gtk/plugin-tray.c:585 +msgid "_Hide" +msgstr "_Elrejtés" + +#: ../src/fe-gtk/plugin-tray.c:588 +msgid "_Blink on" +msgstr "_Villogjon" + +#: ../src/fe-gtk/plugin-tray.c:589 +#: ../src/fe-gtk/setup.c:479 +msgid "Channel Message" +msgstr "Csatornaüzenet esetén" + +#: ../src/fe-gtk/plugin-tray.c:590 +#: ../src/fe-gtk/setup.c:480 +msgid "Private Message" +msgstr "Privát üzenet esetén" + +#: ../src/fe-gtk/plugin-tray.c:591 +#: ../src/fe-gtk/setup.c:481 +msgid "Highlighted Message" +msgstr "Kiemelt üzenet esetén" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: ../src/fe-gtk/plugin-tray.c:594 +msgid "_Change status" +msgstr "Álla_pot módosítása" + +#: ../src/fe-gtk/plugin-tray.c:596 +msgid "_Away" +msgstr "_Távol" + +#: ../src/fe-gtk/plugin-tray.c:599 +msgid "_Back" +msgstr "_Vissza" + +#: ../src/fe-gtk/plugin-tray.c:648 +#: ../src/fe-gtk/plugin-tray.c:656 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "XChat: Kiemelt üzenet a következőtől: %s (%s)" + +#: ../src/fe-gtk/plugin-tray.c:651 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat: %u kiemelt üzenet, a legutolsó a következőtől: %s (%s)" + +#: ../src/fe-gtk/plugin-tray.c:674 +#: ../src/fe-gtk/plugin-tray.c:681 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat: Új nyilvános üzenet a következőtől: %s (%s)" + +#: ../src/fe-gtk/plugin-tray.c:677 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat: %u új nyilvános üzenet." + +#: ../src/fe-gtk/plugin-tray.c:703 +#: ../src/fe-gtk/plugin-tray.c:710 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat: Privát üzenet a következőtől: %s (%s)" + +#: ../src/fe-gtk/plugin-tray.c:706 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat: %u privát üzenet, a legutolsó a következőtől: %s (%s)" + +#: ../src/fe-gtk/plugin-tray.c:756 +#: ../src/fe-gtk/plugin-tray.c:764 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: Fájlajánlat a következőtől: %s (%s)" + +#: ../src/fe-gtk/plugin-tray.c:759 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "XChat: %u fájlajánlat, a legutolsó a következőtől: %s (%s)" + +#: ../src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Verzió" + +#: ../src/fe-gtk/plugingui.c:76 +#: ../src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Leírás" + +#: ../src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Válassza ki a betöltendő bővítményt vagy parancsfájlt" + +#: ../src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: Bővítmények és parancsfájlok" + +#: ../src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Betöltés..." + +#: ../src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "_Eltávolítás" + +#: ../src/fe-gtk/rawlog.c:81 +#: ../src/fe-gtk/rawlog.c:130 +#: ../src/fe-gtk/textgui.c:438 +#: ../src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Mentés másként..." + +#: ../src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: Nyers napló (%s)" + +#: ../src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Nyers napló törlése" + +#: ../src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Az ablak, amelyre ezt a Keresést megnyitotta, már nem létezik." + +#: ../src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "A keresés véget ért, nem található." + +#: ../src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Keresés" + +#: ../src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "Kis- és _nagybetű" + +#: ../src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "Keresés _visszafelé" + +#: ../src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "_Keresés" + +#: ../src/fe-gtk/servlistgui.c:171 +#: ../src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "Új hálózat" + +#: ../src/fe-gtk/servlistgui.c:558 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Valóban törli a(z) \"%s\" hálózatot és összes kiszolgálóját?" + +#: ../src/fe-gtk/servlistgui.c:740 +msgid "#channel" +msgstr "#csatorna" + +#: ../src/fe-gtk/servlistgui.c:847 +msgid "XChat: Favorite Channels (Auto-Join List)" +msgstr "XChat: Kedvenc csatornák (Automatikus csatlakozási lista)" + +#: ../src/fe-gtk/servlistgui.c:859 +#, c-format +msgid "These channels will be joined whenever you connect to %s." +msgstr "E csatornákra fog belépni, amikor csatlakozik ide: %s." + +#: ../src/fe-gtk/servlistgui.c:902 +msgid "Key (Password)" +msgstr "Kulcs (Jelszó)" + +#: ../src/fe-gtk/servlistgui.c:933 +#: ../src/fe-gtk/servlistgui.c:1535 +msgid "_Edit" +msgstr "_Szerkesztés" + +#: ../src/fe-gtk/servlistgui.c:969 +#, c-format +msgid "%s has been removed." +msgstr "%s eltávolítva." + +#: ../src/fe-gtk/servlistgui.c:989 +#, c-format +msgid "%s has been added." +msgstr "%s hozzáadva." + +#: ../src/fe-gtk/servlistgui.c:1013 +msgid "User name and Real name cannot be left blank." +msgstr "A Felhasználónév és a Valódi név mezőket nem hagyhatja üresen." + +#: ../src/fe-gtk/servlistgui.c:1366 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: %s szerkesztése" + +#: ../src/fe-gtk/servlistgui.c:1385 +#, c-format +msgid "Servers for %s" +msgstr "Kiszolgálók ehhez: %s" + +#: ../src/fe-gtk/servlistgui.c:1396 +msgid "Connect to selected server only" +msgstr "Csak a kiválasztott kiszolgálókhoz kapcsolódjon" + +#: ../src/fe-gtk/servlistgui.c:1397 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Ne járja körbe a kiszolgálókat, ha nem sikerül a kapcsolódás." + +#: ../src/fe-gtk/servlistgui.c:1399 +msgid "Your Details" +msgstr "Részletes információk" + +#: ../src/fe-gtk/servlistgui.c:1405 +msgid "Use global user information" +msgstr "Használja a globális felhasználói információkat" + +#: ../src/fe-gtk/servlistgui.c:1408 +#: ../src/fe-gtk/servlistgui.c:1640 +msgid "_Nick name:" +msgstr "Be_cenév:" + +#: ../src/fe-gtk/servlistgui.c:1412 +#: ../src/fe-gtk/servlistgui.c:1647 +msgid "Second choice:" +msgstr "Második lehetőség:" + +#: ../src/fe-gtk/servlistgui.c:1416 +#: ../src/fe-gtk/servlistgui.c:1661 +msgid "_User name:" +msgstr "_Felhasználónév:" + +#: ../src/fe-gtk/servlistgui.c:1420 +#: ../src/fe-gtk/servlistgui.c:1668 +msgid "Rea_l name:" +msgstr "Való_di név:" + +#: ../src/fe-gtk/servlistgui.c:1423 +msgid "Connecting" +msgstr "Kapcsolódás" + +#: ../src/fe-gtk/servlistgui.c:1429 +msgid "Auto connect to this network at startup" +msgstr "Induláskor automatikusan kapcsolódjon ehhez a kiszolgálóhoz" + +#: ../src/fe-gtk/servlistgui.c:1431 +msgid "Bypass proxy server" +msgstr "Proxy kiszolgáló használata" + +#: ../src/fe-gtk/servlistgui.c:1433 +msgid "Use SSL for all the servers on this network" +msgstr "SSL használata a hálózat összes kiszolgálójához" + +#: ../src/fe-gtk/servlistgui.c:1438 +msgid "Accept invalid SSL certificate" +msgstr "Érvénytelen SSL tanúsítvány elfogadása" + +#: ../src/fe-gtk/servlistgui.c:1444 +msgid "_Favorite channels:" +msgstr "_Kedvenc csatornák:" + +#: ../src/fe-gtk/servlistgui.c:1446 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Kapcsolódás e csatornákhoz, a felsorolást vesszővel válassza el egymástól, ne szóközzel!" + +#: ../src/fe-gtk/servlistgui.c:1449 +msgid "Connect command:" +msgstr "Kapcsolódási parancs:" + +#: ../src/fe-gtk/servlistgui.c:1451 +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 "Extra parancsok a kapcsolódás után. Ha többre van szüksége, állítsa be így: LOAD -e <fájlnév>, ahol a <fájlnév> egy szöveges fájl, amely a végrehajtandó parancsokat tartalmazza." + +#: ../src/fe-gtk/servlistgui.c:1454 +msgid "Nickserv password:" +msgstr "Nickserv jelszó:" + +#: ../src/fe-gtk/servlistgui.c:1456 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "Ha a beceneve jelszót igényel, adja meg itt. Nem minden IRC hálózat támogatja ezt." + +#: ../src/fe-gtk/servlistgui.c:1460 +msgid "Server password:" +msgstr "Kiszolgáló jelszó:" + +#: ../src/fe-gtk/servlistgui.c:1462 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Jelszó a kiszolgálóhoz, ha nem biztos benne, hagyja üresen." + +#: ../src/fe-gtk/servlistgui.c:1465 +msgid "Character set:" +msgstr "Karakterkészlet:" + +#: ../src/fe-gtk/servlistgui.c:1618 +msgid "XChat: Network List" +msgstr "XChat: Hálózatlista" + +#: ../src/fe-gtk/servlistgui.c:1630 +msgid "User Information" +msgstr "Felhasználói információk" + +#: ../src/fe-gtk/servlistgui.c:1654 +msgid "Third choice:" +msgstr "Harmadik lehetőség:" + +#: ../src/fe-gtk/servlistgui.c:1714 +msgid "Networks" +msgstr "Hálózatok" + +#: ../src/fe-gtk/servlistgui.c:1755 +msgid "Skip network list on startup" +msgstr "Ne jelenjen meg a hálózatlista indításkor" + +#: ../src/fe-gtk/servlistgui.c:1787 +msgid "_Edit..." +msgstr "_Szerkesztés..." + +#: ../src/fe-gtk/servlistgui.c:1794 +msgid "_Sort" +msgstr "_Rendezés" + +#: ../src/fe-gtk/servlistgui.c:1795 +msgid "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN keys to move a row." +msgstr "A hálózatlistát ábécérendbe rendezi. Sor mozgatásához használja a Shift+fel és Shift+le billentyűket." + +#: ../src/fe-gtk/servlistgui.c:1820 +msgid "C_onnect" +msgstr "K_apcsolódás" + +#: ../src/fe-gtk/setup.c:104 +msgid "Text Box Appearance" +msgstr "Szövegdoboz megjelenése" + +#: ../src/fe-gtk/setup.c:105 +msgid "Font:" +msgstr "Betűtípus:" + +#: ../src/fe-gtk/setup.c:106 +msgid "Background image:" +msgstr "Háttérkép:" + +#: ../src/fe-gtk/setup.c:107 +msgid "Scrollback lines:" +msgstr "Visszagörgethető sorok:" + +#: ../src/fe-gtk/setup.c:108 +msgid "Colored nick names" +msgstr "Színes becenevek" + +#: ../src/fe-gtk/setup.c:109 +msgid "Give each person on IRC a different color" +msgstr "Mindenkinek külön szín" + +#: ../src/fe-gtk/setup.c:110 +msgid "Indent nick names" +msgstr "Becenevek behúzása" + +#: ../src/fe-gtk/setup.c:111 +msgid "Make nick names right-justified" +msgstr "A beceneveket jobbra igazítja" + +#: ../src/fe-gtk/setup.c:112 +msgid "Transparent background" +msgstr "Átlátszó háttér" + +#: ../src/fe-gtk/setup.c:113 +msgid "Show marker line" +msgstr "Jelzővonal mutatása" + +#: ../src/fe-gtk/setup.c:114 +msgid "Insert a red line after the last read text." +msgstr "Vörös vonalat szúr be az utolsó olvasott szöveg után." + +#: ../src/fe-gtk/setup.c:115 +msgid "Transparency Settings" +msgstr "Áttetszőség beállításai" + +#: ../src/fe-gtk/setup.c:116 +msgid "Red:" +msgstr "Vörös:" + +#: ../src/fe-gtk/setup.c:117 +msgid "Green:" +msgstr "Zöld:" + +#: ../src/fe-gtk/setup.c:118 +msgid "Blue:" +msgstr "Kék:" + +#: ../src/fe-gtk/setup.c:120 +#: ../src/fe-gtk/setup.c:391 +msgid "Time Stamps" +msgstr "Időbélyegek" + +#: ../src/fe-gtk/setup.c:121 +msgid "Enable time stamps" +msgstr "Időbélyegek engedélyezése" + +#: ../src/fe-gtk/setup.c:122 +msgid "Time stamp format:" +msgstr "Időbélyeg formátuma:" + +#: ../src/fe-gtk/setup.c:123 +#: ../src/fe-gtk/setup.c:394 +msgid "See strftime manpage for details." +msgstr "Lásd az strftime kézikönyvoldalát." + +#: ../src/fe-gtk/setup.c:130 +#: ../src/fe-gtk/setup.c:170 +msgid "A-Z" +msgstr "A-Z" + +#: ../src/fe-gtk/setup.c:131 +msgid "Last-spoke order" +msgstr "Utolsó hozzászólás sorrendjében" + +#: ../src/fe-gtk/setup.c:137 +#: ../src/fe-gtk/setup.c:1701 +msgid "Input box" +msgstr "Beviteli doboz" + +#: ../src/fe-gtk/setup.c:138 +#: ../src/fe-gtk/setup.c:202 +msgid "Use the Text box font and colors" +msgstr "Használja a Szövegdoboz betűkészletét és színeit" + +#: ../src/fe-gtk/setup.c:140 +msgid "Spell checking" +msgstr "Helyesírás-ellenőrzés" + +#: ../src/fe-gtk/setup.c:143 +msgid "Nick Completion" +msgstr "Becenév-kiegészítés" + +#: ../src/fe-gtk/setup.c:144 +msgid "Automatic nick completion (without TAB key)" +msgstr "Automatikus becenév-kiegészítés (a TAB billentyű nélkül)" + +#: ../src/fe-gtk/setup.c:146 +msgid "Nick completion suffix:" +msgstr "Becenév-kiegészítés utótagja:" + +#: ../src/fe-gtk/setup.c:147 +msgid "Nick completion sorted:" +msgstr "Becenév-kiegészítés rendezése:" + +#: ../src/fe-gtk/setup.c:150 +msgid "Input Box Codes" +msgstr "Bemeneti doboz kódok" + +#: ../src/fe-gtk/setup.c:151 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Értelmezze a %nnn-t ASCII értékként" + +#: ../src/fe-gtk/setup.c:152 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Értelmezze a %C-t, %B-t mint Szín, Félkövér stb" + +#: ../src/fe-gtk/setup.c:169 +msgid "A-Z, Ops first" +msgstr "A-Z, op-ok elöl" + +#: ../src/fe-gtk/setup.c:171 +msgid "Z-A, Ops last" +msgstr "Z-A, op-ok hátul" + +#: ../src/fe-gtk/setup.c:172 +msgid "Z-A" +msgstr "Z-A" + +#: ../src/fe-gtk/setup.c:173 +msgid "Unsorted" +msgstr "Rendezetlen" + +#: ../src/fe-gtk/setup.c:179 +#: ../src/fe-gtk/setup.c:191 +msgid "Left (Upper)" +msgstr "Balra (fent)" + +#: ../src/fe-gtk/setup.c:180 +#: ../src/fe-gtk/setup.c:192 +msgid "Left (Lower)" +msgstr "Balra (lent)" + +#: ../src/fe-gtk/setup.c:181 +#: ../src/fe-gtk/setup.c:193 +msgid "Right (Upper)" +msgstr "Jobbra (fent)" + +#: ../src/fe-gtk/setup.c:182 +#: ../src/fe-gtk/setup.c:194 +msgid "Right (Lower)" +msgstr "Jobbra (lent)" + +#: ../src/fe-gtk/setup.c:183 +msgid "Top" +msgstr "Felül" + +#: ../src/fe-gtk/setup.c:184 +msgid "Bottom" +msgstr "Alul" + +#: ../src/fe-gtk/setup.c:185 +msgid "Hidden" +msgstr "Rejtett" + +#: ../src/fe-gtk/setup.c:200 +msgid "User List" +msgstr "Felhasználólista" + +#: ../src/fe-gtk/setup.c:201 +msgid "Show hostnames in user list" +msgstr "A kiszolgálónevek megjelenítése a felhasználólistában" + +#. {ST_TOGGLE, N_("Resizable user list"), P_OFFINTNL(paned_userlist),0,0,0}, +#: ../src/fe-gtk/setup.c:204 +msgid "User list sorted by:" +msgstr "Felhasználólista rendezése:" + +#: ../src/fe-gtk/setup.c:205 +msgid "Show user list at:" +msgstr "Felhasználólista megjelenítése:" + +#: ../src/fe-gtk/setup.c:207 +msgid "Away tracking" +msgstr "Távollét követés" + +#: ../src/fe-gtk/setup.c:208 +msgid "Track the Away status of users and mark them in a different color" +msgstr "A felhasználók Távol állapotának követése és megjelölésük különböző színekkel" + +#: ../src/fe-gtk/setup.c:209 +msgid "On channels smaller than:" +msgstr "Olyan csatornákon, amelyek kisebbek, mint:" + +#: ../src/fe-gtk/setup.c:211 +msgid "Action Upon Double Click" +msgstr "Művelet kettős kattintáskor" + +#: ../src/fe-gtk/setup.c:223 +msgid "Windows" +msgstr "Ablakok" + +#: ../src/fe-gtk/setup.c:224 +#: ../src/fe-gtk/setup.c:240 +msgid "Tabs" +msgstr "Fülek" + +#: ../src/fe-gtk/setup.c:232 +msgid "Always" +msgstr "Mindig" + +#: ../src/fe-gtk/setup.c:233 +msgid "Only requested tabs" +msgstr "Csak a kívánt fülek" + +#. 0 tabs +#. 1 reserved +#: ../src/fe-gtk/setup.c:242 +msgid "Tree" +msgstr "Fastruktúra" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: ../src/fe-gtk/setup.c:249 +msgid "Switcher type:" +msgstr "Csatornaváltó típusa:" + +#: ../src/fe-gtk/setup.c:250 +msgid "Open an extra tab for server messages" +msgstr "Nyisson új fület a kiszolgáló üzeneteihez" + +#: ../src/fe-gtk/setup.c:251 +msgid "Open an extra tab for server notices" +msgstr "Nyisson új fület a kiszolgáló figyelmeztetéseihez" + +#: ../src/fe-gtk/setup.c:252 +msgid "Open a new tab when you receive a private message" +msgstr "Nyisson új fület privát üzenetek fogadásakor" + +#: ../src/fe-gtk/setup.c:253 +msgid "Sort tabs in alphabetical order" +msgstr "Fülek rendezése betűrendbe" + +#: ../src/fe-gtk/setup.c:254 +msgid "Smaller text" +msgstr "Kisebb szöveg" + +#: ../src/fe-gtk/setup.c:256 +msgid "Focus new tabs:" +msgstr "Új fül fókuszt kap:" + +#: ../src/fe-gtk/setup.c:258 +msgid "Show channel switcher at:" +msgstr "A csatornaváltó megjelenítése:" + +#: ../src/fe-gtk/setup.c:259 +msgid "Shorten tab labels to:" +msgstr "Fülek címkéjének rövidítése:" + +#: ../src/fe-gtk/setup.c:259 +msgid "letters." +msgstr "betűre." + +#: ../src/fe-gtk/setup.c:261 +msgid "Tabs or Windows" +msgstr "Fülek vagy ablakok" + +#: ../src/fe-gtk/setup.c:262 +msgid "Open channels in:" +msgstr "Csatornák megnyitása:" + +#: ../src/fe-gtk/setup.c:263 +msgid "Open dialogs in:" +msgstr "Párbeszédablakok megnyitása:" + +#: ../src/fe-gtk/setup.c:264 +msgid "Open utilities in:" +msgstr "Segédalkalmazások megnyitása:" + +#: ../src/fe-gtk/setup.c:264 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "A DCC, mellőzési, értesítési stb. ablakokat füleken vagy ablakokban nyissa meg?" + +#: ../src/fe-gtk/setup.c:271 +msgid "No" +msgstr "Nem" + +#: ../src/fe-gtk/setup.c:272 +msgid "Yes" +msgstr "Igen" + +#: ../src/fe-gtk/setup.c:273 +msgid "Browse for save folder every time" +msgstr "Mentési mappa megkeresése minden alkalommal" + +#: ../src/fe-gtk/setup.c:279 +msgid "Files and Directories" +msgstr "Fájlok és könyvtárak" + +#: ../src/fe-gtk/setup.c:280 +msgid "Auto accept file offers:" +msgstr "Fájlajánlatok automatikus elfogadása:" + +#: ../src/fe-gtk/setup.c:281 +msgid "Download files to:" +msgstr "Fájlok letöltése ide:" + +#: ../src/fe-gtk/setup.c:282 +msgid "Move completed files to:" +msgstr "Kész fájlok átmozgatása ide:" + +#: ../src/fe-gtk/setup.c:283 +msgid "Save nick name in filenames" +msgstr "A bejövő fájlokhoz fűzze hozzá a küldő becenevét" + +#: ../src/fe-gtk/setup.c:285 +msgid "Network Settings" +msgstr "Hálózati beállítások" + +#: ../src/fe-gtk/setup.c:286 +msgid "Get my address from the IRC server" +msgstr "Saját IP lekérdezése az IRC kiszolgálótól" + +#: ../src/fe-gtk/setup.c:287 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "Lekéri az IRC kiszolgálótól a valós IP címét. Akkor használja, ha 192.168.*.* alakú címe van!" + +#: ../src/fe-gtk/setup.c:288 +msgid "DCC IP address:" +msgstr "DCC IP  cím:" + +#: ../src/fe-gtk/setup.c:289 +msgid "Claim you are at this address when offering files." +msgstr "Ha fájlt küld, ezt mutatja a címeként." + +#: ../src/fe-gtk/setup.c:290 +msgid "First DCC send port:" +msgstr "Első DCC küldés port:" + +#: ../src/fe-gtk/setup.c:291 +msgid "Last DCC send port:" +msgstr "Utolsó DCC küldés port:" + +#: ../src/fe-gtk/setup.c:292 +msgid "!Leave ports at zero for full range." +msgstr "!hagyja nullán a portokat a teljes tartomány használatához." + +#: ../src/fe-gtk/setup.c:294 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Maximális fájlátviteli sebesség (bájt per másodperc, bps)" + +#: ../src/fe-gtk/setup.c:295 +msgid "One upload:" +msgstr "Egy feltöltés:" + +#: ../src/fe-gtk/setup.c:296 +#: ../src/fe-gtk/setup.c:298 +msgid "Maximum speed for one transfer" +msgstr "Maximális sebesség egy átvitelhez" + +#: ../src/fe-gtk/setup.c:297 +msgid "One download:" +msgstr "Egy letöltés:" + +#: ../src/fe-gtk/setup.c:299 +msgid "All uploads combined:" +msgstr "Összes feltöltés együtt:" + +#: ../src/fe-gtk/setup.c:300 +#: ../src/fe-gtk/setup.c:302 +msgid "Maximum speed for all files" +msgstr "Maximális sebesség az összes fájlhoz" + +#: ../src/fe-gtk/setup.c:301 +msgid "All downloads combined:" +msgstr "Az összes letöltés együtt:" + +#: ../src/fe-gtk/setup.c:329 +#: ../src/fe-gtk/setup.c:1707 +msgid "Alerts" +msgstr "Figyelmeztetések" + +#: ../src/fe-gtk/setup.c:333 +msgid "Show tray balloons on:" +msgstr "Tálcabuborékok megjelenítése:" + +#: ../src/fe-gtk/setup.c:335 +msgid "Blink tray icon on:" +msgstr "Tálcaikon villogtatása:" + +#: ../src/fe-gtk/setup.c:336 +msgid "Blink task bar on:" +msgstr "Feladatsáv villogtatása:" + +#: ../src/fe-gtk/setup.c:337 +msgid "Make a beep sound on:" +msgstr "Hangjelzés:" + +#: ../src/fe-gtk/setup.c:339 +msgid "Enable system tray icon" +msgstr "Rendszertálcaikon engedélyezése" + +#: ../src/fe-gtk/setup.c:341 +msgid "Highlighted Messages" +msgstr "Kiemelt üzenetek" + +#: ../src/fe-gtk/setup.c:342 +msgid "Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Kiemelt üzenetek azokon kívül, amelyekben említik a becenevét:" + +#: ../src/fe-gtk/setup.c:344 +msgid "Extra words to highlight:" +msgstr "További kiemelendő szavak:" + +#: ../src/fe-gtk/setup.c:345 +msgid "Nick names not to highlight:" +msgstr "Nem kiemelendő becenevek:" + +#: ../src/fe-gtk/setup.c:346 +msgid "Nick names to always highlight:" +msgstr "Mindig kiemelendő becenevek:" + +#: ../src/fe-gtk/setup.c:347 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" +"Több szót vesszőkkel választhat el egymástól.\n" +"Helyettesítő karakterek használhatók." + +#: ../src/fe-gtk/setup.c:353 +msgid "Default Messages" +msgstr "Alapértelmezett üzenetek" + +#: ../src/fe-gtk/setup.c:354 +msgid "Quit:" +msgstr "Kilépés:" + +#: ../src/fe-gtk/setup.c:355 +msgid "Leave channel:" +msgstr "Kilépés csatornáról:" + +#: ../src/fe-gtk/setup.c:356 +msgid "Away:" +msgstr "Távol:" + +#: ../src/fe-gtk/setup.c:358 +msgid "Away" +msgstr "Távol" + +#: ../src/fe-gtk/setup.c:359 +msgid "Announce away messages" +msgstr "Távol üzenetek bejelentése" + +#: ../src/fe-gtk/setup.c:360 +msgid "Announce your away messages to all channels" +msgstr "Bejelenti a távollétét az összes csatornán" + +#: ../src/fe-gtk/setup.c:361 +msgid "Show away once" +msgstr "Távol mutatása egyszer" + +#: ../src/fe-gtk/setup.c:361 +msgid "Show identical away messages only once" +msgstr "Azonos távol-üzeneteket csak egyszer mutasson" + +#: ../src/fe-gtk/setup.c:362 +msgid "Automatically unmark away" +msgstr "Automatikusan vonja vissza a távol állapotot" + +#: ../src/fe-gtk/setup.c:362 +msgid "Unmark yourself as away before sending messages" +msgstr "Távol jelzés visszavonása, mielőtt üzenetet küldene" + +#: ../src/fe-gtk/setup.c:369 +msgid "Advanced Settings" +msgstr "Haladó beállítások" + +#: ../src/fe-gtk/setup.c:370 +msgid "Auto reconnect delay:" +msgstr "A kiszolgálóhoz újracsatlakozás késleltetése:" + +#: ../src/fe-gtk/setup.c:371 +msgid "Display MODEs in raw form" +msgstr "A MODE-okat nyers formában mutatja" + +#: ../src/fe-gtk/setup.c:372 +msgid "Whois on notify" +msgstr "Értesítéskor Whois" + +#: ../src/fe-gtk/setup.c:372 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Küld egy /WHOIS-t, ha az értesítési listán szereplő valamelyik felhasználó online lesz" + +#: ../src/fe-gtk/setup.c:373 +msgid "Hide join and part messages" +msgstr "Elrejti a belépés és kilépés üzeneteket" + +#: ../src/fe-gtk/setup.c:373 +msgid "Hide channel join/part messages by default" +msgstr "Alapértelmezésben elrejti a csatorna belépés/kilépés üzeneteket" + +#: ../src/fe-gtk/setup.c:374 +msgid "Auto Open DCC Windows" +msgstr "Közvetlen csevegésablakok automatikus megnyitása" + +#: ../src/fe-gtk/setup.c:375 +msgid "Send window" +msgstr "Küldés ablak" + +#: ../src/fe-gtk/setup.c:376 +msgid "Receive window" +msgstr "Fogadás ablak" + +#: ../src/fe-gtk/setup.c:377 +msgid "Chat window" +msgstr "Csevegésablak" + +#: ../src/fe-gtk/setup.c:385 +#: ../src/fe-gtk/setup.c:1709 +msgid "Logging" +msgstr "Naplózás" + +#: ../src/fe-gtk/setup.c:386 +msgid "Display scrollback from previous session" +msgstr "Visszatekintés megjelenítése az előző folyamatból" + +#: ../src/fe-gtk/setup.c:387 +msgid "Enable logging of conversations to disk" +msgstr "Csevegések naplózásának engedélyezése" + +#: ../src/fe-gtk/setup.c:388 +msgid "Log filename:" +msgstr "Naplófájl neve:" + +#: ../src/fe-gtk/setup.c:389 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=kiszolgáló %c=csatorna %n=hálózat." + +#: ../src/fe-gtk/setup.c:392 +msgid "Insert timestamps in logs" +msgstr "Időbélyeg beillesztése a naplófájlokba" + +#: ../src/fe-gtk/setup.c:393 +msgid "Log timestamp format:" +msgstr "Napló időbélyegének formátuma:" + +#: ../src/fe-gtk/setup.c:401 +msgid "(Disabled)" +msgstr "(Letiltva)" + +#: ../src/fe-gtk/setup.c:402 +msgid "Wingate" +msgstr "Wingate" + +#: ../src/fe-gtk/setup.c:403 +msgid "Socks4" +msgstr "Socks4" + +#: ../src/fe-gtk/setup.c:404 +msgid "Socks5" +msgstr "Socks5" + +#: ../src/fe-gtk/setup.c:405 +msgid "HTTP" +msgstr "HTTP" + +#: ../src/fe-gtk/setup.c:407 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: ../src/fe-gtk/setup.c:414 +msgid "All Connections" +msgstr "Az összes kapcsolat" + +#: ../src/fe-gtk/setup.c:415 +msgid "IRC Server Only" +msgstr "Csak IRC kiszolgáló" + +#: ../src/fe-gtk/setup.c:416 +msgid "DCC Get Only" +msgstr "Csak DCC letöltés" + +#: ../src/fe-gtk/setup.c:422 +msgid "Your Address" +msgstr "Saját cím" + +#: ../src/fe-gtk/setup.c:423 +msgid "Bind to:" +msgstr "Kötés:" + +#: ../src/fe-gtk/setup.c:424 +msgid "Only useful for computers with multiple addresses." +msgstr "Csak több címmel rendelkező gépek esetén hasznos." + +#: ../src/fe-gtk/setup.c:426 +msgid "Proxy Server" +msgstr "Proxy kiszolgáló" + +#: ../src/fe-gtk/setup.c:427 +msgid "Hostname:" +msgstr "Gép neve:" + +#: ../src/fe-gtk/setup.c:428 +msgid "Port:" +msgstr "Port:" + +#: ../src/fe-gtk/setup.c:429 +msgid "Type:" +msgstr "Típus:" + +#: ../src/fe-gtk/setup.c:430 +msgid "Use proxy for:" +msgstr "Proxy használata ehhez:" + +#: ../src/fe-gtk/setup.c:432 +msgid "Proxy Authentication" +msgstr "Proxyhitelesítés" + +#: ../src/fe-gtk/setup.c:434 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Hitelesítés használata (csak MS proxy, HTTP vagy Socks5)" + +#: ../src/fe-gtk/setup.c:436 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Hitelesítés használata (csak HTTP vagy Socks5)" + +#: ../src/fe-gtk/setup.c:438 +msgid "Username:" +msgstr "Felhasználónév:" + +#: ../src/fe-gtk/setup.c:439 +msgid "Password:" +msgstr "Jelszó:" + +#: ../src/fe-gtk/setup.c:870 +msgid "Select an Image File" +msgstr "Válasszon egy képfájlt" + +#: ../src/fe-gtk/setup.c:905 +msgid "Select Download Folder" +msgstr "Válasszon letöltési mappát" + +#: ../src/fe-gtk/setup.c:914 +msgid "Select font" +msgstr "Válasszon egy betűtípust" + +#: ../src/fe-gtk/setup.c:1014 +msgid "Browse..." +msgstr "Tallózás..." + +#: ../src/fe-gtk/setup.c:1152 +msgid "Mark identified users with:" +msgstr "Azonosított felhasználók jelölése ezzel:" + +#: ../src/fe-gtk/setup.c:1154 +msgid "Mark not-identified users with:" +msgstr "Azonosítatlan felhasználók jelölése ezzel:" + +#: ../src/fe-gtk/setup.c:1161 +msgid "Open Data Folder" +msgstr "Adatmappa megnyitása" + +#: ../src/fe-gtk/setup.c:1215 +msgid "Select color" +msgstr "Válasszon színt" + +#: ../src/fe-gtk/setup.c:1295 +msgid "Text Colors" +msgstr "Szövegszín" + +#: ../src/fe-gtk/setup.c:1297 +msgid "mIRC colors:" +msgstr "mIRC színek:" + +#: ../src/fe-gtk/setup.c:1305 +msgid "Local colors:" +msgstr "Helyi színek:" + +#: ../src/fe-gtk/setup.c:1313 +#: ../src/fe-gtk/setup.c:1318 +msgid "Foreground:" +msgstr "Előtér:" + +#: ../src/fe-gtk/setup.c:1314 +#: ../src/fe-gtk/setup.c:1319 +msgid "Background:" +msgstr "Háttér:" + +#: ../src/fe-gtk/setup.c:1316 +msgid "Marking Text" +msgstr "Szöveg kiemelése" + +#: ../src/fe-gtk/setup.c:1321 +msgid "Interface Colors" +msgstr "Megjelenés színe" + +#: ../src/fe-gtk/setup.c:1323 +msgid "New data:" +msgstr "Új adatok:" + +#: ../src/fe-gtk/setup.c:1324 +msgid "Marker line:" +msgstr "Jelölő vonal:" + +#: ../src/fe-gtk/setup.c:1325 +msgid "New message:" +msgstr "Új üzenet:" + +#: ../src/fe-gtk/setup.c:1326 +msgid "Away user:" +msgstr "Távollévő felhasználó:" + +#: ../src/fe-gtk/setup.c:1327 +msgid "Highlight:" +msgstr "Kiemelés:" + +#: ../src/fe-gtk/setup.c:1423 +#: ../src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "Esemény" + +#: ../src/fe-gtk/setup.c:1429 +msgid "Sound file" +msgstr "Hangfájl" + +#: ../src/fe-gtk/setup.c:1464 +msgid "Select a sound file" +msgstr "Válasszon hangfájlt" + +#: ../src/fe-gtk/setup.c:1536 +msgid "Sound playing method:" +msgstr "Hanglejátszás módszere:" + +#: ../src/fe-gtk/setup.c:1544 +msgid "External sound playing _program:" +msgstr "Külső hanglejátszó_program:" + +#: ../src/fe-gtk/setup.c:1562 +msgid "_External program" +msgstr "_Külső program" + +#: ../src/fe-gtk/setup.c:1572 +msgid "_Automatic" +msgstr "_Automatikus" + +#: ../src/fe-gtk/setup.c:1585 +msgid "Sound files _directory:" +msgstr "Hangfájlok _könyvtára:" + +#: ../src/fe-gtk/setup.c:1624 +msgid "Sound file:" +msgstr "Hangfájl:" + +#: ../src/fe-gtk/setup.c:1639 +msgid "_Browse..." +msgstr "_Tallózás..." + +#: ../src/fe-gtk/setup.c:1650 +msgid "_Play" +msgstr "_Lejátszás" + +#: ../src/fe-gtk/setup.c:1699 +msgid "Interface" +msgstr "Felület" + +#: ../src/fe-gtk/setup.c:1700 +msgid "Text box" +msgstr "Szövegdoboz" + +#: ../src/fe-gtk/setup.c:1702 +msgid "User list" +msgstr "Felhasználólista" + +#: ../src/fe-gtk/setup.c:1703 +msgid "Channel switcher" +msgstr "Csatornaváltó" + +#: ../src/fe-gtk/setup.c:1704 +msgid "Colors" +msgstr "Színek" + +#: ../src/fe-gtk/setup.c:1706 +msgid "Chatting" +msgstr "Csevegés" + +#: ../src/fe-gtk/setup.c:1708 +msgid "General" +msgstr "Általános" + +#: ../src/fe-gtk/setup.c:1710 +msgid "Sound" +msgstr "Hang" + +#: ../src/fe-gtk/setup.c:1714 +msgid "Network setup" +msgstr "Hálózat beállítása" + +#: ../src/fe-gtk/setup.c:1715 +msgid "File transfers" +msgstr "Fájlátvitel" + +#: ../src/fe-gtk/setup.c:1823 +msgid "Categories" +msgstr "Kategóriák" + +#: ../src/fe-gtk/setup.c:2007 +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 "" +"Nem helyezheti alulra vagy felülre a fát!\n" +"Először váltson a <b>Nézet</b> menü <b>Fülek</b> elrendezésére." + +#: ../src/fe-gtk/setup.c:2017 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Néhány beállítás érvényesítéséhez újraindítás szükséges." + +#: ../src/fe-gtk/setup.c:2025 +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 "" +"*FIGYELMEZTETÉS*\n" +"DCC automatikus elfogadása a home könyvtárába\n" +"veszélyes és kihasználható lehet. Például:\n" +"Valaki küldhet Önnek egy .bash_profile-t" + +#: ../src/fe-gtk/setup.c:2058 +msgid "XChat: Preferences" +msgstr "XChat: Beállítások" + +#: ../src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "Hiba történt a karakterlánc feldolgozása közben" + +#: ../src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Ez a szignál csak %d argumentumot kapott, $%d érvénytelen" + +#: ../src/fe-gtk/textgui.c:304 +#: ../src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "Szöveges fájl nyomtatása" + +#: ../src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "Események szerkesztése" + +#: ../src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$ szám" + +#: ../src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "Betöltés innen..." + +#: ../src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "Mindet tesztelje" + +#: ../src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: ../src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: URL elfogó" + +#: ../src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Lista törlése" + +#: ../src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Kijelölt URL másolása" + +#: ../src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Másolás" + +#: ../src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Lista mentése fájlba" + +#: ../src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d op, %d összesen" + +#~ msgid "About XChat" +#~ msgstr "Az XChat névjegye" +#~ msgid "" +#~ "Set per channel options\n" +#~ "CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part " +#~ "messages\n" +#~ "CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +#~ "CHANOPT BEEP ON|OFF - Toggle beep on message\n" +#~ "CHANOPT TRAY ON|OFF - Toggle tray blink on message" +#~ msgstr "" +#~ "Csatornánkénti kapcsolók beállítása\n" +#~ "CHANOPT CONFMODE ON|OFF - Konferenciamód / csatlakozási és kilépési " +#~ "üzenetek megjelenítésének átváltása\n" +#~ "CHANOPT COLORPASTE ON|OFF - Színek beillesztésének átváltása\n" +#~ "CHANOPT BEEP ON|OFF - Üzenetkor csipogás átváltása\n" +#~ "CHANOPT TRAY ON|OFF - Üzenetkor villogjon a tálcán" +#~ msgid "Direct client-to-client" +#~ msgstr "Közvetlen kliens-kliens kapcsolat (DCC)" +#~ msgid "Send File" +#~ msgstr "Fájl küldése" +#~ msgid "Offer Chat" +#~ msgstr "Csevegési ajánlat" +#~ msgid "Abort Chat" +#~ msgstr "Csevegés megszakítása" +#~ msgid "Userinfo" +#~ msgstr "Felhasználói infó" +#~ msgid "Clientinfo" +#~ msgstr "Kliens infó" +#~ msgid "Time" +#~ msgstr "Idő" +#~ msgid "Finger" +#~ msgstr "Finger" +#~ msgid "Oper" +#~ msgstr "Oper" +#~ msgid "Kill this user" +#~ msgstr "Ezen felhasználó kilövése" +#~ msgid "Mode" +#~ msgstr "Mód" +#~ msgid "Give Half-Ops" +#~ msgstr "Fél-op jog adása" +#~ msgid "Take Half-Ops" +#~ msgstr "Fél-op jog elvétele" +#~ msgid "Ignore" +#~ msgstr "Mellőzés" +#~ msgid "Ignore User" +#~ msgstr "Felhasználó mellőzése" +#~ msgid "UnIgnore User" +#~ msgstr "Felhasználó mellőzésének megszüntetése" +#~ msgid "Info" +#~ msgstr "Információk" +#~ msgid "Who" +#~ msgstr "Ki" +#~ msgid "DNS Lookup" +#~ msgstr "DNS kikeresés" +#~ msgid "Trace" +#~ msgstr "Nyomkövetés" +#~ msgid "UserHost" +#~ msgstr "Felhasználókiszolgáló" +#~ msgid "External" +#~ msgstr "Külső programok" +#~ msgid "Traceroute" +#~ msgstr "Útvonal-nyomkövetés" +#~ msgid "Telnet" +#~ msgstr "Telnet" +#~ msgid "Unban" +#~ msgstr "Kitiltás visszavonása" +#~ msgid "Blink tray on message" +#~ msgstr "Tálca villogtatása üzenetkor" +#~ msgid "Show join/part messages" +#~ msgstr "Mutassa a csatlakozás/kilépés üzeneteket" +#~ msgid "Color paste" +#~ msgstr "Szín beillesztése" +#~ msgid "_Close Tab" +#~ msgstr "Fül _bezárása" +#~ msgid "Channel List..." +#~ msgstr "Csatornalista..." +#~ msgid "Notify List..." +#~ msgstr "Értesítési lista..." +#~ msgid "_Close Window" +#~ msgstr "Ablak _bezárása" +#~ msgid "User" +#~ msgstr "Felhasználó" +#~ msgid "XChat: Notify List" +#~ msgstr "XChat: Értesítési lista" +#~ msgid "C_hannels to join:" +#~ msgstr "Ka_pcsolódás a következő csatornákhoz:" +#~ msgid "Channel Switcher" +#~ msgstr "Csatornaváltó" +#~ msgid "UTF-8 (Unicode)" +#~ msgstr "UTF-8 (Unicode)" +#~ msgid "IRC (Latin-1/UTF-8 Hybrid)" +#~ msgstr "IRC (Latin-1/UTF-8 hibrid)" +#~ msgid "ISO-8859-15 (Western Europe)" +#~ msgstr "ISO-8859-15 (nyugat-európai)" +#~ msgid "ISO-8859-2 (Central Europe)" +#~ msgstr "ISO-8859-2 (közép-európai)" +#~ msgid "ISO-8859-7 (Greek)" +#~ msgstr "ISO-8859-7 (görög)" +#~ msgid "ISO-8859-8 (Hebrew)" +#~ msgstr "ISO-8859-8 (héber)" +#~ msgid "ISO-8859-9 (Turkish)" +#~ msgstr "ISO-8859-9 (török)" +#~ msgid "ISO-2022-JP (Japanese)" +#~ msgstr "ISO-2022-JP (japán)" +#~ msgid "SJIS (Japanese)" +#~ msgstr "SJIS (japán)" +#~ msgid "CP949 (Korean)" +#~ msgstr "CP949 (koreai)" +#~ msgid "KOI8-R (Cyrillic)" +#~ msgstr "KOI8-R (cirill)" +#~ msgid "CP1251 (Cyrillic)" +#~ msgstr "CP1251 (cirill)" +#~ msgid "CP1256 (Arabic)" +#~ msgstr "CP1256 (arab)" +#~ msgid "CP1257 (Baltic)" +#~ msgstr "CP1257 (balti)" +#~ msgid "GB18030 (Chinese)" +#~ msgstr "GB18030 (kínai)" +#~ msgid "TIS-620 (Thai)" +#~ msgstr "TIS-620 (thai)" +#~ msgid "System default" +#~ msgstr "Rendszer alapértelmezése" + diff --git a/po/it.po b/po/it.po new file mode 100644 index 00000000..cc2d3775 --- /dev/null +++ b/po/it.po @@ -0,0 +1,5501 @@ +# Italian translation of XChat. +# +# Eros Palberti - Fabio Viola : How-Tux Team <admin@how-tux.com>, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: xchat-2.6.7\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2006-10-04 13:56+1000\n" +"PO-Revision-Date: 2006-10-11 01:00+0200\n" +"Last-Translator: Eros Palberti-Fabio Viola : How-Tux Team <admin@how-tux." +"com>\n" +"Language-Team: Italian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/common/cfgfiles.c:350 +msgid "Cannot create ~/.xchat2" +msgstr "Impossibile creare ~/.xchat2" + +#: src/common/cfgfiles.c:686 +msgid "I'm busy" +msgstr "Sono occupato" + +#: src/common/cfgfiles.c:687 +msgid "Leaving" +msgstr "Sto andando via" + +#: src/common/cfgfiles.c:733 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Eseguire IRC come root non è saggio.\n" +" Sarebbe preferibile creare un account utente\n" +" e utilizzare tale utente per effettuare il login.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "In attesa" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Attivo" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Fallito" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Completato" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:753 +msgid "Connect" +msgstr "Connessione" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Interrotto" + +#: src/common/dcc.c:1887 src/common/outbound.c:2363 +#, c-format +msgid "Cannot access %s\n" +msgstr "Impossibile accedere a %s\n" + +#: src/common/dcc.c:1888 src/common/text.c:916 src/common/text.c:954 +#: src/common/text.c:965 src/common/text.c:972 src/common/text.c:985 +#: src/common/text.c:1002 src/common/text.c:1102 src/common/util.c:352 +msgid "Error" +msgstr "Errore" + +#: src/common/dcc.c:2376 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s sta offrendo \"%s\". Vuoi accettare?" + +#: src/common/dcc.c:2587 +msgid "No active DCCs\n" +msgstr "Nessun DCC attivo\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "SI " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "NO " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Hai ricevuto un flood CTCP da parte di %s. %s ignorato\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "" +"Hai ricevuto un flood MSG da parte di %s. gui_auto_open_dialog impostato a " +"OFF.\n" + +#: src/common/notify.c:449 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s connesso\n" + +#: src/common/notify.c:451 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s non connesso\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Non sei in nessun canale. Prova prima /join #<canale>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Non connesso. Prova prima /server <host> [<porta>]\n" + +#: src/common/outbound.c:1730 +msgid "I need /bin/sh to run!\n" +msgstr "È necessario /bin/sh per l'esecuzione!\n" + +#: src/common/outbound.c:2100 +msgid "Commands Available:" +msgstr "Comandi disponibili:" + +#: src/common/outbound.c:2114 +msgid "User defined commands:" +msgstr "Comandi definiti dall'utente:" + +#: src/common/outbound.c:2130 +msgid "Plugin defined commands:" +msgstr "Plugin definiti dall'utente:" + +#: src/common/outbound.c:2141 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Digita /HELP <comando> per ulteriori informazioni, oppure /HELP -l" + +#: src/common/outbound.c:2216 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Argomento sconosciuto '%s' ignorato." + +#: src/common/outbound.c:3110 +msgid "No such plugin found.\n" +msgstr "Plugin non trovato.\n" + +#: src/common/outbound.c:3115 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Questo plugin si rifiuta di terminare.\n" + +#: src/common/outbound.c:3384 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nome> <azione>, aggiunge un pulsante sotto la lista utenti" + +#: src/common/outbound.c:3386 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, invia un comando a tutti i canali in cui sei presente" + +#: src/common/outbound.c:3388 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <cmd>, invia un comando a tutti i canali in cui sei presente" + +#: src/common/outbound.c:3390 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "" +"ALLSERV <cmd>, invia un comando a tutti i server ai quali sei collegato" + +#: src/common/outbound.c:3391 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<motivo>], cambia il tuo stato in assente" + +#: src/common/outbound.c:3393 +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 corrente tutti coloro che " +"corrispondono alla maschera di rete specificata. Se essi sono già connessi " +"al canale, questo non li espelle (kick). Bisogna essere operatore." + +#: src/common/outbound.c:3395 +msgid "" +"Set per channel options\n" +"CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part " +"messages\n" +"CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +"CHANOPT BEEP ON|OFF - Toggle beep on message" +msgstr "" +"Opzioni del canale\n" +"CHANOPT CONFMODE ON|OFF - Imposta la modalità visiva dei messaggi di entrata " +"e uscita dai canali\n" +"CHANOPT COLORPASTE ON|OFF - Imposta il colore dei messaggi incollati\n" +"CHANOPT BEEP ON|OFF - Imposta il beep sui messaggi ricevuti" + +#: src/common/outbound.c:3401 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "" +"CLEAR [ALL|HISTORY], Pulisce la finestra di testo corrente o i comandi " +"recenti" + +#: src/common/outbound.c:3402 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, chiude la finestra/scheda corrente" + +#: src/common/outbound.c:3405 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "" +"COUNTRY [-s] <codice|wildcard>, cerca un codice paese, per es.: au = " +"Australia" + +#: src/common/outbound.c:3407 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" +"CTCP <nick> <messaggio>, invia il messaggio CTCP al nick indicato, messaggi " +"comuni sono VERSION e USERINFO" + +#: src/common/outbound.c:3409 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "CYCLE, abbandona il canale corrente e vi rientra immediatamente" + +#: src/common/outbound.c:3411 +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 "" +"\n" +"DCC GET <nick> - accetta un file offerto\n" +"DCC SEND [-maxcps=#] <nick> [file] - invia un file a qualcuno\n" +"DCC PSEND [-maxcps=#] <nick> [file] - invia un file utilizzando la modalità " +"passiva\n" +"DCC LIST - visualizza la lista dei collegamenti " +"DCC\n" +"DCC CHAT <nick> - propone una DCC CHAT a qualcuno\n" +"DCC PCHAT <nick> - propone una DCC CHAT utilizzando la " +"modalità passiva\n" +"DCC CLOSE <tipo> <nick> <file> esempio:\n" +" /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3423 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" +"DEHOP <nick>, rimuove lo stato di semi-operatore sul canale corrente per il " +"nick indicato (bisogna essere operatore)" + +#: src/common/outbound.c:3425 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nome>, cancella un pulsante sotto la lista utenti" + +#: src/common/outbound.c:3427 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEOP <nick>, rimuove lo stato di operatore sul canale corrente per il nick " +"indicato (bisogna essere operatore)" + +#: src/common/outbound.c:3429 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEVOICE <nick>, toglie la parola al nick indicato sul canale corrente " +"(bisogna essere operatore)" + +#: src/common/outbound.c:3430 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, disconnette dal server" + +#: src/common/outbound.c:3431 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <nick|host|ip>, cerca l'indirizzo IP di un utente" + +#: src/common/outbound.c:3432 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <testo>, stampa un testo in locale" + +#: src/common/outbound.c:3435 +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 corrente, altrimenti è stampato nella corrente " +"text box" + +#: src/common/outbound.c:3437 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, invia un SIGCONT al processo" + +#: src/common/outbound.c:3440 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" +"EXECKILL [-9], uccide un'istanza exec nella sessione corrente. Se è " +"specificato -9, il processo è ucciso con SIGKILL" + +#: src/common/outbound.c:3442 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, invia un SIGSTOP al processo" + +#: src/common/outbound.c:3443 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, invia dati allo stdin del processo" + +#: src/common/outbound.c:3447 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, svuota la coda di invio del server corrente" + +#: src/common/outbound.c:3449 +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:3453 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <nick> <password>, Uccide il nickname fantasma" + +#: src/common/outbound.c:3458 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" +"HOP <nick>, dà lo stato di semi-operatore al nick (bisogna essere operatore)" + +#: src/common/outbound.c:3459 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <password>, ti identifica presso il nickserv" + +#: src/common/outbound.c:3461 +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 dato da ignorare, uno o più tra:\n" +" PRIV, CHAN, NOTI, CTCP,DCC, INVI, ALL\n" +" opzioni - NOSAVE, QUIET" + +#: src/common/outbound.c:3468 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" +"INVITE <nick> [<canale>], invita qualcuno in un canale, la regola predefinta " +"è per il canale corrente (bisogna essere operatore del canale)" + +#: src/common/outbound.c:3469 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <canale>, entra nel canale" + +#: src/common/outbound.c:3471 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "" +"KICK <nick>, espelle il nick dal canale corrente (bisogna essere operatore " +"del canale)" + +#: src/common/outbound.c:3473 +msgid "" +"KICKBAN <nick>, bans then kicks the nick from the current channel (needs " +"chanop)" +msgstr "" +"KICKBAN <nick>, allontana (ban) e poi espelle (kick) il nick dal canale " +"corrente (bisogna essere operatore del canale)" + +#: src/common/outbound.c:3476 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, forza un nuovo controllo del ritardo (lag)" + +#: src/common/outbound.c:3478 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <stringa>, cerca una stringa nel buffer" + +#: src/common/outbound.c:3480 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <file>, carica un plugin o uno script" + +#: src/common/outbound.c:3483 +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 corrente " +"(bisogna essere operatore del canale)" + +#: src/common/outbound.c:3485 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" +"MDEOP, toglie lo stato a tutti gli operatori del canale corrente (bisogna " +"essere operatore del canale)" + +#: src/common/outbound.c:3487 +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 corrente (le azioni sono scritte in " +"terza persona, es. /me jumps)" + +#: src/common/outbound.c:3490 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" +"MKICK, espelle dal canale corrente tutti gli utenti tranne te (bisogna " +"essere operatore del canale)" + +#: src/common/outbound.c:3493 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" +"MOP, rende operatori tutti gli utenti nel canale corrente (bisogna essere " +"operatore del canale)" + +#: src/common/outbound.c:3494 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <nick> <messaggio>, invia un messaggio privato" + +#: src/common/outbound.c:3497 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, elenca i nick presenti sul canale corrente" + +#: src/common/outbound.c:3499 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <messaggio>, invia una notifica CTCP" + +#: src/common/outbound.c:3500 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER <nome host> [<porta>]" + +#: src/common/outbound.c:3501 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nickname>, imposta il tuo nick" + +#: src/common/outbound.c:3504 +msgid "" +"NOTICE <nick/channel> <message>, sends a notice. Notices are a type of " +"message that should be auto reacted to" +msgstr "" +"NOTICE <nick/canale> <messaggio>, invia una notifica. Le notifiche sono un " +"tipo di messaggio che dovrebbe ottenere una reazione automatica" + +#: src/common/outbound.c:3506 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" +"NOTIFY [-n network1[,network2,...]] [<nick>], mostra la tua lista di notifica o aggiunge qualcuno ad essa" + +#: src/common/outbound.c:3508 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" +"OP <nick>, dà lo stato di operatore al nick indicato (bisogna essere " +"operatore del canale)" + +#: src/common/outbound.c:3510 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "" +"PART [<canale>] [<motivo>], abbandona il canale. Se non specificato, quello " +"corrente" + +#: src/common/outbound.c:3512 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | canale>, invia un ping CTCP al nick o al canale" + +#: src/common/outbound.c:3514 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <nick>, apre una chat privata con il nick indicato" + +#: src/common/outbound.c:3516 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<motivo>], disconnette dal server corrente" + +#: src/common/outbound.c:3518 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <testo>, invia il testo in forma grezza al server" + +#: src/common/outbound.c:3521 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /" +"RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" +"RECONNECT [-ssl] [<host>] [<porta>] [<password>], può essere richiamato " +"semplicemente come /RECONNECT per riconnettersi al server corrente o con /" +"RECONNECT ALL per riconnettersi a tutti i server aperti" + +#: src/common/outbound.c:3524 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" +"RECONNECT [<host>] [<porta>] [<password>], può essere richiamato " +"semplicemente come /RECONNECT per riconnettersi al server corrente o con /" +"RECONNECT ALL per riconnettersi a tutti i server aperti" + +#: src/common/outbound.c:3526 +msgid "" +"RECV <text>, send raw data to xchat, as if it was received from the irc " +"server" +msgstr "" +"RECV <testo>, invia il testo sotto forma di dati grezzi a xchat, come se " +"fosse stato ricevuto dal server irc" + +#: src/common/outbound.c:3529 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "" +"SAY <testo>, invia il testo all'oggetto a cui corrisponde la finestra " +"corrente" + +#: src/common/outbound.c:3530 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<file>]" + +#: src/common/outbound.c:3533 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" +"SERVCHAN [-ssl] <host> <porta> <canale>, si connette ed entra nel canale" + +#: src/common/outbound.c:3536 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <porta> <canale>, si connette ed entra nel canale" + +#: src/common/outbound.c:3540 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" +"SERVER [-ssl] <host> [<porta>] [<password>], si connette al server, la porta " +"predefinita è la 6667 per le connessioni normali e la 9999 per le " +"connessioni ssl" + +#: src/common/outbound.c:3543 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" +"SERVER <host> [<porta>] [<password>], si connette al server, la porta " +"predefinita è la 6667" + +#: src/common/outbound.c:3545 +msgid "SET [-e] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-quiet] <variabile> [<valore>]" + +#: src/common/outbound.c:3546 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<posizione>" + +#: src/common/outbound.c:3551 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "" +"TOPIC [<argomento>], imposta l'argomento, se specificato, altrimenti mostra " +"quello attuale" + +#: src/common/outbound.c:3553 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "" +"UNBAN <maschera> [<maschera>...], rimuove il ban per la maschera specificata" + +#: src/common/outbound.c:3554 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <maschera> [QUIET]" + +#: src/common/outbound.c:3555 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nome>, termina un plugin o uno script" + +#: src/common/outbound.c:3556 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, apre uno URL nel tuo browser" + +#: src/common/outbound.c:3558 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "" +"USELECT [-a] [-s] <nick1> <nick2> ecc., evidenzia i(l) nick nella lista " +"utenti del canale" + +#: src/common/outbound.c:3561 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" +"VOICE <nick>, dà la parola a qualcuno (bisogna essere operatore del canale)" + +#: src/common/outbound.c:3563 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <messaggio>, scrive il messaggio su tutti i canali" + +#: src/common/outbound.c:3565 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" +"WALLCHOP <messaggio>, invia il messaggio a tutti gli operatori del canale " +"corrente" + +#: src/common/outbound.c:3598 +#, c-format +msgid "Usage: %s\n" +msgstr "Uso: %s\n" + +#: src/common/outbound.c:3603 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Nessun aiuto disponibile per questo comando.\n" + +#: src/common/outbound.c:3609 +msgid "No such command.\n" +msgstr "Comando inesistente.\n" + +#: src/common/outbound.c:3939 +msgid "Bad arguments for user command.\n" +msgstr "Argomenti del comando non corretti.\n" + +#: src/common/outbound.c:4095 +msgid "Too many recursive usercommands, aborting." +msgstr "Troppi comandi ricorsivi. Annullati." + +#: src/common/outbound.c:4172 +msgid "Unknown Command. Try /help\n" +msgstr "Comando sconosciuto. Prova con /help\n" + +#: src/common/plugin.c:356 src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Nessun simbolo xchat_plugin_init; è veramente un plugin di xchat?" + +#: src/common/server.c:621 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Sei sicuro che il server e la porta supportano SSL?\n" + +#: src/common/server.c:1012 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Impossibile risolvere l'hostname %s\n" +"Verifica le tue impostazioni IP!\n" + +#: src/common/server.c:1017 +msgid "Proxy traversal failed.\n" +msgstr "Attraversamento del proxy fallito.\n" + +#: src/common/servlist.c:641 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Nuovo tentativo con il server successivo di %s in corso...\n" + +#: src/common/servlist.c:1065 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" +"Attenzione: il set di caratteri \"%s\" è sconosciuto. Non verrà effettuata " +"alcuna conversione per il network %s." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 aggiunto alla lista di notifica." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Lista ban:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tImpossibile entrare in%C26 %B$1 %O(Sei bannato)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 è ora conosciuto come $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 ha impostato un ban su $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tCanale $1 creato su $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "" +"%C22*%O$t%C26$1%O ha tolto lo stato di semi-operatore del canale a%C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O ha tolto lo stato di operatore del canale da%C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O ha tolto la parola a%C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 ha impostato l'exempt su $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "" +"%C22*%O$t%C26$1%O ha dato lo stato di semi-operatore del canale a%C26 $2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 ha impostato l'invito su $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UCanale Utenti Argomento" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 ha impostato la modalità $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Canale $1 modalità: $2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O ha dato lo stato di operatore del canale a%C26 $2" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 ha rimosso l'exempt su $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 ha rimosso l'invito su $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 ha rimosso la parola chiave del canale" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 ha rimosso il limite di utenti" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 ha impostato come parola chiave del canale $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 ha impostato il limite utenti del canale a $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 ha rimosso il ban da $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O ha dato la parola a%C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Connesso. Login in corso.." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Connessione a $1 ($2) porta $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Connessione fallita. Errore: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tRicevuto un CTCP $1 da $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tRicevuto un CTCP $1 da $2 (per $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tRicevuto un suono CTCP $1 da $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tRicevuto un suono CTCP $1 da $2 (per $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC CHAT con %C26$1%O interrotta." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tConnessione DCC CHAT stabilita con %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tDCC CHAT con %C26$1%O perduta ($4)." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tRicevuta una richiesta di CHAT DCC da $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tInvito a una CHAT DCC per $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tInvito alla CHAT per $1 già effettuato" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "" +"%C22*%O$tDCC Tentativo di connessione DCC $1 a %C26 $2%O fallito (err=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tRicevuto '$1%O' da $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Tipo Per/Da Stato Dimensione Pos File " + +#: src/common/textevents.h:147 +msgid "" +"%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O" +"$tContents of packet: $2" +msgstr "" +"%C22*%O$tRicevuta una richiesta DCC mal formata da %C26$1%O.%010%C22*%O" +"$tContenuto del pacchetto: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tOfferta di %C26 $1%O per%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tOfferta DCC inesistente." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV di%C26 $2%O da%C26 $1%O interrotto." + +#: src/common/textevents.h:159 +msgid "" +"%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "" +"%C22*%O$tDCC RECV di%C26 $1%O da%C26 $3%O completato %C30[%C26$4%O cps%C30]%" +"O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tConnessione DCC RECV stabilita con%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV di%C26 $1%O da%C26 $3%O fallito ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: Impossibile aprire $1 in scrittura ($2)." + +#: src/common/textevents.h:171 +msgid "" +"%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tIl file%C26 $1%C esiste già, verrà salvato come %C26 $2%O." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Oha richiesto di continuare%C26 $2 %Cda%C26 $3%C." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND%C26 $2%O per%C26 $1%O interrotto." + +#: src/common/textevents.h:180 +msgid "" +"%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "" +"%C22*%O$tDCC SEND%C26 $1%O per%C26 $2%O completato %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC SEND connessione stabilita con%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O con%C26 $2%O fallito. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Oha offerto%C26 $2 %O(%C26$3 %Obyte)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "" +"%C22*%O$tDCC $1%C26 $2 %Oper%C26 $3 %Cbloccato - interruzione in corso." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oper%C26 $3 %Oscaduto - interruzione in corso." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 rimosso dalla lista di notifica." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tDisconnesso ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tTrovato il tuo IP: [$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O aggiunto alla lista utenti ignorati." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Lo stato degli utenti ignorati su %C26$1%O è cambiato." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O rimosso dalla lista utenti ignorati." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " La lista utenti ignorati è vuota." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "" +"%C22*%O$tImpossibile entrare in%C26 %B$1 %O(L'accesso al canale è solamente " +"su invito)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tSei stato invitato su%C26 $1%O da%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) è entrato in $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tImpossibile entrare in%C26 %B$1 %O(Richiesta parola chiave)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 ha espulso $2 da $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tSei stato ucciso (kill) da $1 ($2%O%C22)" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD Saltato." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 è gia in uso. Ritento con $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tNickname già in uso. Utilizza /NICK per sceglierne un altro." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tDCC non esistente." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tNessun processo attualmente in esecuzione" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tLa lista di notifica è vuota." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Lista di notifica " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 utenti nella lista di notifica." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tNotifica: $1 non è connesso ($3)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tNotifica: $1 è connesso ($3)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) ha abbandonato $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) ha abbandonato $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tRisposta al ping da $1: $2 secondi" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "" +"%C22*%O$tNessuna risposta al ping per $1 secondi, disconnessione in corso." + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tUn processo è già in esecuzione" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 è uscito (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 ha impostato le modalità%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tRicerca dell'indirizzo IP per%C26 $1%O in corso..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Connesso." + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Ricerca di $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "" +"%C22*%O$tIl tentativo di connessione precedente è stato interrotto (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29L'argomento di $1%C %C29è: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 ha scelto come argomento: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Argomento per $1%C %C29impostato da $2%C %C29a $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tHost sconosciuto. Forse è scritto male?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "" +"%C22*%O$tImpossibile entrare in%C26 %B$1 %O(Raggiunto il limite di utenti)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Utenti in $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cè assente %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OFine della lista WHOIS." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O inattivo%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O inattivo%C26 $2%O, connesso:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Oreale user@host%C27 $2%O, reale IP%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Ora parla su $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tSei stato espulso (kick) da $2 da $3 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tSei uscito dal canale $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tSei uscito dal canale $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:405 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tHai invitato%C26 $1%O in%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:411 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tSei ora conosciuto come $2" + +#: src/common/text.c:61 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** FINE DEL LOG %s\n" + +#: src/common/text.c:263 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** INIZIO DEL LOG %s\n" + +#: src/common/text.c:282 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Impossibile aprire i file di log in scrittura.\n" +" Verifica i permessi su %s/xchatlogs" + +#: src/common/text.c:618 +msgid "Left message" +msgstr "Messaggio a sinistra" + +#: src/common/text.c:619 +msgid "Right message" +msgstr "Messaggio a destra" + +#: src/common/text.c:623 +msgid "The nick of the joining person" +msgstr "Il nick della persona che è entrata" + +#: src/common/text.c:624 +msgid "The channel being joined" +msgstr "Il canale nel quale sta entrando" + +#: src/common/text.c:625 src/common/text.c:671 src/common/text.c:728 +msgid "The host of the person" +msgstr "L'host della persona" + +#: src/common/text.c:629 src/common/text.c:635 src/common/text.c:642 +#: src/common/text.c:709 src/common/text.c:835 src/common/text.c:842 +#: src/common/text.c:847 src/common/text.c:852 src/common/text.c:857 +#: src/common/text.c:863 src/common/text.c:868 src/common/text.c:872 +#: src/common/text.c:878 src/common/text.c:884 src/common/text.c:930 +#: src/common/text.c:941 src/common/text.c:946 src/common/text.c:951 +#: src/common/text.c:960 src/common/text.c:971 src/common/text.c:978 +#: src/common/text.c:984 src/common/text.c:989 src/common/text.c:994 +#: src/common/text.c:1001 src/common/text.c:1007 src/common/text.c:1013 +#: src/common/text.c:1018 src/common/text.c:1023 src/common/text.c:1027 +#: src/common/text.c:1033 src/common/text.c:1041 src/common/text.c:1075 +#: src/common/text.c:1080 +msgid "Nickname" +msgstr "Nickname" + +#: src/common/text.c:630 +msgid "The action" +msgstr "L'azione" + +#: src/common/text.c:631 src/common/text.c:637 +msgid "Mode char" +msgstr "Il carattere della modalità" + +#: src/common/text.c:636 +msgid "The text" +msgstr "Il testo" + +#: src/common/text.c:638 src/common/text.c:711 +msgid "Identified text" +msgstr "Testo identificato" + +#: src/common/text.c:643 src/common/text.c:699 src/common/text.c:705 +#: src/common/text.c:710 +msgid "The message" +msgstr "Il messaggio" + +#: src/common/text.c:647 src/common/text.c:715 +msgid "Old nickname" +msgstr "Vecchio nickname" + +#: src/common/text.c:648 src/common/text.c:716 +msgid "New nickname" +msgstr "Nuovo nickname" + +#: src/common/text.c:652 +msgid "Nick of person who changed the topic" +msgstr "Nick dell'utente che ha cambiato l'argomento" + +#: src/common/text.c:653 src/common/text.c:659 src/fe-gtk/chanlist.c:607 +#: src/fe-gtk/chanlist.c:712 +msgid "Topic" +msgstr "Argomento" + +#: src/common/text.c:654 src/common/text.c:658 src/common/text.c:1095 +#: src/fe-gtk/chanlist.c:605 src/fe-gtk/chanlist.c:703 +#: src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Canale" + +#: src/common/text.c:663 src/common/text.c:722 +msgid "The nickname of the kicker" +msgstr "Il nickname di chi ha effettuato il kick" + +#: src/common/text.c:664 src/common/text.c:720 +msgid "The person being kicked" +msgstr "La persona che ha ricevuto il kick" + +#: src/common/text.c:665 src/common/text.c:672 src/common/text.c:676 +#: src/common/text.c:681 src/common/text.c:721 src/common/text.c:729 +#: src/common/text.c:736 +msgid "The channel" +msgstr "Il canale" + +#: src/common/text.c:666 src/common/text.c:723 src/common/text.c:730 +msgid "The reason" +msgstr "Il motivo" + +#: src/common/text.c:670 src/common/text.c:727 +msgid "The nick of the person leaving" +msgstr "Il nick della persona che è andata via" + +#: src/common/text.c:677 src/common/text.c:683 +msgid "The time" +msgstr "L'ora" + +#: src/common/text.c:682 +msgid "The creator" +msgstr "Il creatore" + +#: src/common/text.c:687 +msgid "Nick" +msgstr "Nick" + +#: src/common/text.c:688 src/common/text.c:947 +msgid "Reason" +msgstr "Motivo" + +#: src/common/text.c:689 src/common/text.c:837 src/common/text.c:920 +msgid "Host" +msgstr "Host" + +#: src/common/text.c:693 src/common/text.c:698 src/common/text.c:703 +msgid "Who it's from" +msgstr "Da chi è stato fatto" + +#: src/common/text.c:694 +msgid "The time in x.x format (see below)" +msgstr "L'ora nel formato x.x (vedi più giù)" + +#: src/common/text.c:704 src/common/text.c:747 +msgid "The Channel it's going to" +msgstr "Il canale al quale è destinato" + +#: src/common/text.c:734 +msgid "The sound" +msgstr "Il suono" + +#: src/common/text.c:735 src/common/text.c:741 src/common/text.c:746 +msgid "The nick of the person" +msgstr "Il nick della persona" + +#: src/common/text.c:740 src/common/text.c:745 +msgid "The CTCP event" +msgstr "L'evento CTCP" + +#: src/common/text.c:751 +msgid "The nick of the person who set the key" +msgstr "Il nick della persona che ha impostato la chiave" + +#: src/common/text.c:752 +msgid "The key" +msgstr "La chiave" + +#: src/common/text.c:756 +msgid "The nick of the person who set the limit" +msgstr "Il nick della persona che ha impostato il limite" + +#: src/common/text.c:757 +msgid "The limit" +msgstr "Il limite" + +#: src/common/text.c:761 +msgid "The nick of the person who did the op'ing" +msgstr "Il nick della persona che ha impostato l'op" + +#: src/common/text.c:762 +msgid "The nick of the person who has been op'ed" +msgstr "Il nick della persona che è stata resa op" + +#: src/common/text.c:766 +msgid "The nick of the person who has been halfop'ed" +msgstr "Il nick della persona che è stata resa halfop" + +#: src/common/text.c:767 +msgid "The nick of the person who did the halfop'ing" +msgstr "Il nick della persona che ha impostato l'halfop" + +#: src/common/text.c:771 +msgid "The nick of the person who did the voice'ing" +msgstr "Il nick della persona che ha dato la parola" + +#: src/common/text.c:772 +msgid "The nick of the person who has been voice'ed" +msgstr "Il nick della persona che ha ricevuto la parola" + +#: src/common/text.c:776 +msgid "The nick of the person who did the banning" +msgstr "Il nick della persona che ha impostato il ban" + +#: src/common/text.c:777 src/common/text.c:804 +msgid "The ban mask" +msgstr "La maschera del ban" + +#: src/common/text.c:781 +msgid "The nick who removed the key" +msgstr "Il nick della persona che ha rimosso la chiave" + +#: src/common/text.c:785 +msgid "The nick who removed the limit" +msgstr "Il nick della persona che ha rimosso il limite" + +#: src/common/text.c:789 +msgid "The nick of the person of did the deop'ing" +msgstr "Il nick della persona che ha rimosso l'op" + +#: src/common/text.c:790 +msgid "The nick of the person who has been deop'ed" +msgstr "Il nick della persona che è stata rimossa da op" + +#: src/common/text.c:793 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Il nick della persona che ha rimosso lo stato di semi-operatore" + +#: src/common/text.c:794 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Il nick della persona che è stata rimossa da halfop" + +#: src/common/text.c:798 +msgid "The nick of the person of did the devoice'ing" +msgstr "Il nick della persona che ha tolto la parola" + +#: src/common/text.c:799 +msgid "The nick of the person who has been devoice'ed" +msgstr "Il nick della persona a cui è stata tolta la parola" + +#: src/common/text.c:803 +msgid "The nick of the person of did the unban'ing" +msgstr "Il nick della persona che ha rimosso il ban" + +#: src/common/text.c:808 +msgid "The nick of the person who did the exempt" +msgstr "Il nick della persona che ha impostato l'exempt" + +#: src/common/text.c:809 src/common/text.c:814 +msgid "The exempt mask" +msgstr "La maschera di exempt" + +#: src/common/text.c:813 +msgid "The nick of the person removed the exempt" +msgstr "Il nick della persona che ha rimosso l'exempt" + +#: src/common/text.c:818 +msgid "The nick of the person who did the invite" +msgstr "Il nick della persona che ha impostato l'invito" + +#: src/common/text.c:819 src/common/text.c:824 +msgid "The invite mask" +msgstr "La maschera di invito" + +#: src/common/text.c:823 +msgid "The nick of the person removed the invite" +msgstr "Il nick della persona che ha rimosso l'invito" + +#: src/common/text.c:828 +msgid "The nick of the person setting the mode" +msgstr "Il nick della persona che ha impostato la modalità" + +#: src/common/text.c:829 +msgid "The mode's sign (+/-)" +msgstr "Il segno della modalità (+/-)" + +#: src/common/text.c:830 +msgid "The mode letter" +msgstr "La lettera della modalità" + +#: src/common/text.c:831 +msgid "The channel it's being set on" +msgstr "Il canale su cui ha effetto l'impostazione" + +#: src/common/text.c:836 +msgid "Username" +msgstr "Nome utente" + +#: src/common/text.c:838 +msgid "Full name" +msgstr "Nome completo" + +#: src/common/text.c:843 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Appartenenza al canale / \"è un operatore IRC\"" + +#: src/common/text.c:848 +msgid "Server Information" +msgstr "Informazioni sul server" + +#: src/common/text.c:853 src/common/text.c:858 +msgid "Idle time" +msgstr "Tempo di inattività" + +#: src/common/text.c:859 +msgid "Signon time" +msgstr "Orario di connessione" + +#: src/common/text.c:864 +msgid "Away reason" +msgstr "Motivo dell'assenza" + +#: src/common/text.c:873 src/common/text.c:879 src/common/text.c:887 +#: src/common/text.c:1067 +msgid "Message" +msgstr "Messaggio" + +#: src/common/text.c:880 +msgid "Account" +msgstr "Account" + +#: src/common/text.c:885 +msgid "Real user@host" +msgstr "utente@host effettivo" + +#: src/common/text.c:886 +msgid "Real IP" +msgstr "IP effettivo" + +#: src/common/text.c:891 src/common/text.c:900 src/common/text.c:906 +#: src/common/text.c:936 src/common/text.c:1090 +msgid "Channel Name" +msgstr "Nome del canale" + +#: src/common/text.c:895 src/common/text.c:1053 src/fe-gtk/menu.c:1183 +#: src/fe-gtk/menu.c:1362 src/fe-gtk/textgui.c:387 +msgid "Text" +msgstr "Testo" + +#: src/common/text.c:896 src/common/text.c:902 src/common/text.c:931 +#: src/common/text.c:1049 src/common/text.c:1091 +msgid "Server Name" +msgstr "Nome del server" + +#: src/common/text.c:901 +msgid "Nick of person who invited you" +msgstr "Nick della persona che ti ha invitato" + +#: src/common/text.c:907 src/fe-gtk/chanlist.c:606 +msgid "Users" +msgstr "Utenti" + +#: src/common/text.c:911 +msgid "Nickname in use" +msgstr "Nickname già in uso" + +#: src/common/text.c:912 +msgid "Nick being tried" +msgstr "Nick in via di prova" + +#: src/common/text.c:921 src/common/text.c:1057 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:922 src/common/text.c:953 +msgid "Port" +msgstr "Porta" + +#: src/common/text.c:932 src/fe-gtk/notifygui.c:139 src/fe-gtk/setup.c:1526 +msgid "Network" +msgstr "Rete" + +#: src/common/text.c:937 src/common/text.c:942 +msgid "Modes string" +msgstr "Stringhe modalità" + +#: src/common/text.c:952 src/common/text.c:990 src/common/text.c:995 +#: src/common/text.c:1036 +msgid "IP address" +msgstr "Indirizzo IP" + +#: src/common/text.c:958 src/common/text.c:983 +msgid "DCC Type" +msgstr "Tipo DCC" + +#: src/common/text.c:959 src/common/text.c:964 src/common/text.c:969 +#: src/common/text.c:976 src/common/text.c:996 src/common/text.c:1000 +#: src/common/text.c:1006 src/common/text.c:1012 src/common/text.c:1019 +#: src/common/text.c:1028 src/common/text.c:1034 +msgid "Filename" +msgstr "Nome del file" + +#: src/common/text.c:970 src/common/text.c:977 +msgid "Destination filename" +msgstr "Nome del file di destinazione" + +#: src/common/text.c:979 src/common/text.c:1008 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1014 +msgid "Pathname" +msgstr "Percorso" + +#: src/common/text.c:1029 src/fe-gtk/dccgui.c:537 src/fe-gtk/dccgui.c:709 +msgid "Position" +msgstr "Posizione" + +#: src/common/text.c:1035 src/fe-gtk/dccgui.c:353 src/fe-gtk/dccgui.c:536 +#: src/fe-gtk/dccgui.c:708 +msgid "Size" +msgstr "Dimensione" + +#: src/common/text.c:1040 +msgid "DCC String" +msgstr "Stringa DCC" + +#: src/common/text.c:1045 +msgid "Number of notify items" +msgstr "Numero degli utenti nella lista di notifica" + +#: src/common/text.c:1061 +msgid "Old Filename" +msgstr "Vecchio nome del file" + +#: src/common/text.c:1062 +msgid "New Filename" +msgstr "Nuovo nome del file" + +#: src/common/text.c:1066 +msgid "Receiver" +msgstr "Destinatario" + +#: src/common/text.c:1071 +msgid "Hostmask" +msgstr "Maschera dell'host" + +#: src/common/text.c:1076 +msgid "Hostname" +msgstr "Nome dell'host" + +#: src/common/text.c:1081 +msgid "The Packet" +msgstr "Il pacchetto" + +#: src/common/text.c:1085 +msgid "Seconds" +msgstr "Secondi" + +#: src/common/text.c:1089 +msgid "Nick of person who have been invited" +msgstr "Nick della persona che è stata invitata" + +#: src/common/text.c:1096 +msgid "Banmask" +msgstr "Maschera dei ban" + +#: src/common/text.c:1097 +msgid "Who set the ban" +msgstr "Chi ha impostato il ban" + +#: src/common/text.c:1098 +msgid "Ban time" +msgstr "Ora del ban" + +#: src/common/text.c:1138 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Errore nell'analisi dell'evento %s.\n" +"Verranno caricati i valori predefiniti." + +#: src/common/text.c:1819 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Impossibile leggere il file audio:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "L'host remoto ha chiuso il socket" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Connessione rifiutata" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "Nessun instradamento per l'host" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Connessione scaduta" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Impossibile assegnare l'indirizzo" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Connessione interrotta dall'host remoto" + +#: src/common/util.c:839 +msgid "Ascension Island" +msgstr "Isole Cocos" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "Emirati Arabi Uniti" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "Afghanistan" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "Antigua e Barbuda" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "Albania" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "Armenia" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "Antille Olandesi" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:849 +msgid "Antarctica" +msgstr "Antartide" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "DNS inverso" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "Samoa Americane" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "Austria" + +#: src/common/util.c:854 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:857 +msgid "Aland Islands" +msgstr "Isole Falkland" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "Azerbaijan" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia-Herzegovina" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "Belgio" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "Businesses" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "Brasile" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "Isola Bouvet" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "Bielorussia" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "Canada" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "Isole Cocos" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "Repubblica Democratica del Congo" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "Repubblica Centrafricana" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "Congo" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "Svizzera" + +#: src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "Costa d'Avorio" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "Isole Cook" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "Cile" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "Camerun" + +#: src/common/util.c:889 +msgid "China" +msgstr "Cina" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "Colombia" + +#: src/common/util.c:891 +msgid "Internic Commercial" +msgstr "Internic, commerciale" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "Serbia e Montenegro" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "Capo Verde" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "Isola Christmas" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "Cipro" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "Repubblica Ceca" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "Germania" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "Gibuti" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "Danimarca" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "Repubblica Dominicana" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "Algeria" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "Istituzione educativa" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "Estonia" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "Egitto" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "Sahara Occidentale" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "Spagna" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "Etiopia" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "Unione Europea" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "Finlandia" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "Isole Falkland" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "Micronesia" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "Isole Faroe" + +#: src/common/util.c:919 +msgid "France" +msgstr "Francia" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "Gran Bretagna" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "Georgia" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "Guyana Francese" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "Isole del Canale Britannico" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "Gibilterra" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "Groenlandia" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:931 +msgid "Government" +msgstr "Governativo" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "Guadalupa" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "Guinea Equatoriale" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "Grecia" + +#: src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Isole S.Georgia e S.Sandwich" + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "Isole Heard and McDonald" + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "Croazia" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "Ungheria" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "Indonesia" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "Irlanda" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "Israele" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "Isle of Man" + +#: src/common/util.c:950 +msgid "India" +msgstr "India" + +#: src/common/util.c:951 +msgid "Informational" +msgstr "Informativo" + +#: src/common/util.c:952 +msgid "International" +msgstr "Internazionale" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "Territori Britannici dell'Oceano Indiano" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "Iraq" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "Islanda" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "Italia" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "Giamaica" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "Giordania" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "Giappone" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "Kirghizistan" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "Cambogia" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "Comore" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "S. Kitts e Nevis" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "Corea del Nord" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "Corea del Sud" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "Isole Cayman" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "Kazakistan" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "Libano" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "Santa Lucia" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "Lituania" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "Lussemburgo" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "Lettonia" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "Libia" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "Marocco" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "Moldavia" + +#: src/common/util.c:987 +msgid "United States Medical" +msgstr "Stati Uniti, sanità" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "Isole Marshall" + +#: src/common/util.c:990 +msgid "Military" +msgstr "Militare" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "Macedonia" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "Macao" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "Isole Marianne del Nord" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "Martinica" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "Muritius" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "Maldive" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "Messico" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "Malesia" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "Mozambico" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "Nuova Caledonia" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:1010 +msgid "Internic Network" +msgstr "Network Internic" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "Isola Norfolk" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "Paesi Bassi" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "Norvegia" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "Nuova Zelanda" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "Internic, associazione no-profit" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "Perù" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "Polinesia Francese" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "Papua - Nuova Guinea" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "Filippine" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "Polonia" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre e Miquelon" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "Porto Rico" + +#: src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "Territori palestinesi" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "Portogallo" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "Romania" + +#: src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "ARPAnet vecchio tipo" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "Federazione Russa" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "Arabia Saudita" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "Isole Salomone" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "Seychelles" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "Svezia" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "Singapore" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "S. Helena" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "Slovenia" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Isole Svalbard e Jan Mayen" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "Repubblica Slovacca" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "Sao Tome e Principe" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "Ex URSS" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "Siria" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "Isole Turks e Caicos" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "Chad" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "Terre Australi Francesi" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "Thailandia" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "Tajikistan" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1069 src/common/util.c:1073 +msgid "East Timor" +msgstr "Timor Est" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "Tunisia" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "Turchia" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "Trinidad e Tobago" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "Ucraina" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "Regno Unito" + +#: src/common/util.c:1082 +msgid "US Minor Outlying Islands" +msgstr "Isole esterne minori americane" + +#: src/common/util.c:1083 +msgid "United States of America" +msgstr "Stati Uniti d'America" + +#: src/common/util.c:1084 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:1085 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:1086 +msgid "Vatican City State" +msgstr "Città del Vaticano" + +#: src/common/util.c:1087 +msgid "St. Vincent and the Grenadines" +msgstr "St. Vincent e le Grenadine" + +#: src/common/util.c:1088 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:1089 +msgid "British Virgin Islands" +msgstr "Isole Vergini Britanniche" + +#: src/common/util.c:1090 +msgid "US Virgin Islands" +msgstr "Isole Vergini Americane" + +#: src/common/util.c:1091 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:1092 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1093 +msgid "Wallis and Futuna Islands" +msgstr "Isole Wallis e Futuna" + +#: src/common/util.c:1094 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1095 +msgid "Yemen" +msgstr "Yemen" + +#: src/common/util.c:1096 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:1097 +msgid "Yugoslavia" +msgstr "Iugoslavia" + +#: src/common/util.c:1098 +msgid "South Africa" +msgstr "Sud Africa" + +#: src/common/util.c:1099 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:1100 +msgid "Zimbabwe" +msgstr "Zimbawe" + +#: src/common/util.c:1110 src/common/util.c:1120 src/fe-gtk/menu.c:529 +#: src/fe-gtk/menu.c:534 src/fe-gtk/menu.c:538 src/fe-gtk/menu.c:542 +#: src/fe-gtk/menu.c:550 src/fe-gtk/menu.c:568 +msgid "Unknown" +msgstr "Sconosciuto" + +#: src/common/xchat.c:765 src/common/xchat.c:891 +msgid "Open Dialog Window" +msgstr "Apri la finestra di dialogo" + +#: src/common/xchat.c:766 +msgid "Send a File" +msgstr "Invia un File" + +#: src/common/xchat.c:767 +msgid "User Info (WHOIS)" +msgstr "Informazione Utente (WHOIS)" + +#: src/common/xchat.c:768 +msgid "Operator Actions" +msgstr "Opzioni" + +#: src/common/xchat.c:770 src/common/xchat.c:861 +msgid "Give Ops" +msgstr "Assegna lo stato di Op" + +#: src/common/xchat.c:771 src/common/xchat.c:862 +msgid "Take Ops" +msgstr "Rimuovi lo stato di Op" + +#: src/common/xchat.c:772 src/common/xchat.c:865 +msgid "Give Voice" +msgstr "Dai la parola (voice)" + +#: src/common/xchat.c:773 src/common/xchat.c:866 +msgid "Take Voice" +msgstr "Prendi la parola (voice)" + +#: src/common/xchat.c:775 src/common/xchat.c:870 +msgid "Kick/Ban" +msgstr "Kick/Ban" + +#: src/common/xchat.c:776 src/common/xchat.c:871 src/common/xchat.c:920 +msgid "Kick" +msgstr "Kick" + +#: src/common/xchat.c:777 src/common/xchat.c:778 src/common/xchat.c:779 +#: src/common/xchat.c:780 src/common/xchat.c:781 src/common/xchat.c:872 +#: src/common/xchat.c:873 src/common/xchat.c:874 src/common/xchat.c:875 +#: src/common/xchat.c:876 src/common/xchat.c:919 +msgid "Ban" +msgstr "Ban" + +#: src/common/xchat.c:782 src/common/xchat.c:783 src/common/xchat.c:784 +#: src/common/xchat.c:785 src/common/xchat.c:877 src/common/xchat.c:878 +#: src/common/xchat.c:879 src/common/xchat.c:880 +msgid "KickBan" +msgstr "KickBan" + +#: src/common/xchat.c:848 +msgid "Direct client-to-client" +msgstr "Client-to-client diretto" + +#: src/common/xchat.c:849 +msgid "Send File" +msgstr "Invia un File" + +#: src/common/xchat.c:850 +msgid "Offer Chat" +msgstr "Invita ad una discussione" + +#: src/common/xchat.c:851 +msgid "Abort Chat" +msgstr "Abbandona la discussione" + +#: src/common/xchat.c:852 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Versione" + +#: src/common/xchat.c:853 +msgid "Userinfo" +msgstr "Informazioni utente" + +#: src/common/xchat.c:854 +msgid "Clientinfo" +msgstr "Informazioni sul client" + +#: src/common/xchat.c:855 src/common/xchat.c:889 src/common/xchat.c:937 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:856 +msgid "Time" +msgstr "Tempo" + +#: src/common/xchat.c:857 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:858 +msgid "Oper" +msgstr "Operatore" + +#: src/common/xchat.c:859 +msgid "Kill this user" +msgstr "Uccidi (kill) questo utente" + +#: src/common/xchat.c:860 +msgid "Mode" +msgstr "Modalità" + +#: src/common/xchat.c:863 +msgid "Give Half-Ops" +msgstr "Assegna lo stato di Half-Op" + +#: src/common/xchat.c:864 +msgid "Take Half-Ops" +msgstr "Rimuovi lo stato di Half-Op" + +#: src/common/xchat.c:867 +msgid "Ignore" +msgstr "Ignora" + +#: src/common/xchat.c:868 +msgid "Ignore User" +msgstr "Ignora utente" + +#: src/common/xchat.c:869 +msgid "UnIgnore User" +msgstr "Annulla ignora utente" + +#: src/common/xchat.c:881 src/fe-gtk/dccgui.c:586 src/fe-gtk/dccgui.c:752 +msgid "Info" +msgstr "Info" + +#: src/common/xchat.c:882 +msgid "Who" +msgstr "Who" + +#: src/common/xchat.c:883 src/common/xchat.c:933 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/xchat.c:884 +msgid "DNS Lookup" +msgstr "Risoluzione DNS" + +#: src/common/xchat.c:885 +msgid "Trace" +msgstr "Trace" + +#: src/common/xchat.c:886 +msgid "UserHost" +msgstr "Host dell'utente" + +#: src/common/xchat.c:887 +msgid "External" +msgstr "Esterni" + +#: src/common/xchat.c:888 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:890 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:902 +msgid "Leave Channel" +msgstr "Esci dal canale" + +#: src/common/xchat.c:903 src/fe-gtk/menu.c:1369 +msgid "Join Channel..." +msgstr "Entra nel canale..." + +#: src/common/xchat.c:904 src/fe-gtk/menu.c:1060 +msgid "Enter Channel to Join:" +msgstr "Nome del canale nel quale entrare:" + +#: src/common/xchat.c:905 +msgid "Server Links" +msgstr "Link dei server" + +#: src/common/xchat.c:906 +msgid "Ping Server" +msgstr "Fai ping sul server" + +#: src/common/xchat.c:907 +msgid "Hide Version" +msgstr "Nascondi versione" + +#: src/common/xchat.c:917 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:918 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/xchat.c:921 +msgid "bye" +msgstr "arrivederci" + +#: src/common/xchat.c:922 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Immetti il motivo per il kick a %s :" + +#: src/common/xchat.c:923 +msgid "Sendfile" +msgstr "Invia un file" + +#: src/common/xchat.c:924 +msgid "Dialog" +msgstr "Dialogo" + +#: src/common/xchat.c:934 +msgid "Send" +msgstr "Invia" + +#: src/common/xchat.c:935 +msgid "Chat" +msgstr "Chat" + +#: src/common/xchat.c:936 src/fe-gtk/banlist.c:341 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Pulisci" + +#: src/common/dbus/dbus-client.c:71 +msgid "Couldn't connect to session bus" +msgstr "Impossibile collegarsi al bus di sessione" + +#: src/common/dbus/dbus-client.c:85 +msgid "Failed to complete NameHasOwner" +msgstr "Completamento di NameHasOwner fallito" + +#: src/common/dbus/dbus-client.c:106 +msgid "Failed to complete Command" +msgstr "Completamento del comando fallito" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "accesso remoto" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "plugin per l'accesso remoto usando DBUS" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Impossibile collegarsi al bus di sessione: %s\n" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Fallita acquisizione %s: %s\n" + +#: src/common/dbus/dbus-plugin.c:1064 +#, c-format +msgid "%s loaded successfully!\n" +msgstr "%s caricamento riuscito!\n" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "Informazioni su XChat" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "Client IRC multipiattaforma" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Tabella caratteri" + +#: src/fe-gtk/banlist.c:113 src/fe-gtk/chanlist.c:301 +msgid "Not connected." +msgstr "Non connesso" + +#: src/fe-gtk/banlist.c:154 src/fe-gtk/banlist.c:257 +msgid "You must select some bans." +msgstr "Devi selezionare alcuni ban." + +#: src/fe-gtk/banlist.c:206 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "Sei sicuro di voler rimuovere tutti i ban in %s?" + +#: src/fe-gtk/banlist.c:272 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Maschera" + +#: src/fe-gtk/banlist.c:273 src/fe-gtk/dccgui.c:352 src/fe-gtk/dccgui.c:539 +msgid "From" +msgstr "Da" + +#: src/fe-gtk/banlist.c:274 +msgid "Date" +msgstr "Data" + +#: src/fe-gtk/banlist.c:317 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" +"Puoi aprire la finestra Lista dei Ban solamente mentre sei nella scheda di " +"un canale" + +#: src/fe-gtk/banlist.c:321 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: Lista dei Ban (%s)" + +#: src/fe-gtk/banlist.c:337 +msgid "Unban" +msgstr "Rimuovi Ban" + +#: src/fe-gtk/banlist.c:339 +msgid "Crop" +msgstr "Rimuovi i Ban esclusa selezione" + +#: src/fe-gtk/banlist.c:343 +msgid "Refresh" +msgstr "Aggiorna" + +#: src/fe-gtk/chanlist.c:122 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "Statistiche Utente e Canale: %d/%d Utenti su %d/%d Canali" + +#: src/fe-gtk/chanlist.c:544 +msgid "I can't save an empty list!" +msgstr "Non posso salvare una lista vuota!" + +#: src/fe-gtk/chanlist.c:547 src/fe-gtk/menu.c:996 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Scegli il nome di un file di output" + +#: src/fe-gtk/chanlist.c:615 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: Lista Canali (%s)" + +#: src/fe-gtk/chanlist.c:630 +msgid "List display options:" +msgstr "Lista opzioni display:" + +#: src/fe-gtk/chanlist.c:642 +msgid "Minimum Users:" +msgstr "Utenti Minimi" + +#: src/fe-gtk/chanlist.c:657 +msgid "Maximum Users:" +msgstr "Utenti Massimi" + +#: src/fe-gtk/chanlist.c:673 +msgid "Pattern Match:" +msgstr "Riscontro Pattern:" + +#: src/fe-gtk/chanlist.c:675 +msgid "Regex Match:" +msgstr "Frase da cercare:" + +#: src/fe-gtk/chanlist.c:697 +msgid "Apply Match to:" +msgstr "Applica Riscontro a:" + +#: src/fe-gtk/chanlist.c:721 +msgid "Apply" +msgstr "Applica" + +#: src/fe-gtk/chanlist.c:763 +msgid "Refresh the list" +msgstr "Aggiorna la lista" + +#: src/fe-gtk/chanlist.c:765 +msgid "Save the list" +msgstr "Salva la lista" + +#: src/fe-gtk/chanlist.c:767 src/fe-gtk/menu.c:812 src/fe-gtk/menu.c:1043 +msgid "Join Channel" +msgstr "Entra nel canale" + +#: src/fe-gtk/dccgui.c:117 +#, c-format +msgid "Send file to %s" +msgstr "Invia un file a %s" + +#: src/fe-gtk/dccgui.c:340 +msgid "None" +msgstr "Niente" + +#: src/fe-gtk/dccgui.c:351 src/fe-gtk/dccgui.c:535 src/fe-gtk/dccgui.c:707 +#: src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "File" + +#: src/fe-gtk/dccgui.c:352 src/fe-gtk/dccgui.c:712 +msgid "To" +msgstr "A" + +#: src/fe-gtk/dccgui.c:354 +msgid "Address" +msgstr "Indirizzo" + +#: src/fe-gtk/dccgui.c:355 +msgid "Started" +msgstr "Avviato" + +#: src/fe-gtk/dccgui.c:356 +msgid "Speed limit" +msgstr "Limite di Velocità" + +#: src/fe-gtk/dccgui.c:381 +msgid "That file is not resumable." +msgstr "Questo file non è ripristinabile." + +#: src/fe-gtk/dccgui.c:385 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Impossibile accedere al file: %s\n" +"%s.\n" +"Ripristino non possibile." + +#: src/fe-gtk/dccgui.c:392 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" +"Il file nella cartella di download è più grande di quello offerto. " +"Ripristino non possibile." + +#: src/fe-gtk/dccgui.c:396 +msgid "Cannot resume the same file from two people." +msgstr "Impossibile ripristinare lo stesso file da due persone" + +#: src/fe-gtk/dccgui.c:534 src/fe-gtk/dccgui.c:706 src/fe-gtk/dccgui.c:857 +#: src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "Stato" + +#: src/fe-gtk/dccgui.c:538 src/fe-gtk/dccgui.c:711 +msgid "ETA" +msgstr "Tempo Mancante" + +#: src/fe-gtk/dccgui.c:548 +msgid "XChat: File Receive List" +msgstr "XChat: Lista File Ricevuti" + +#: src/fe-gtk/dccgui.c:580 src/fe-gtk/dccgui.c:751 src/fe-gtk/dccgui.c:889 +msgid "Abort" +msgstr "Interrompi" + +#: src/fe-gtk/dccgui.c:582 src/fe-gtk/dccgui.c:890 +msgid "Accept" +msgstr "Accetta" + +#: src/fe-gtk/dccgui.c:584 +msgid "Resume" +msgstr "Ripristina" + +#: src/fe-gtk/dccgui.c:588 +msgid "Open" +msgstr "Apri" + +#: src/fe-gtk/dccgui.c:710 +msgid "Ack" +msgstr "Trasferito" + +#: src/fe-gtk/dccgui.c:722 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: Upload e Download" + +#: src/fe-gtk/dccgui.c:723 +msgid "Downloads" +msgstr "Download" + +#: src/fe-gtk/dccgui.c:724 +msgid "Uploads" +msgstr "Upload" + +#: src/fe-gtk/dccgui.c:725 +msgid "Details" +msgstr "Dettagli" + +#: src/fe-gtk/dccgui.c:726 +msgid "Open Folder..." +msgstr "Apri Cartella..." + +#: src/fe-gtk/dccgui.c:730 +msgid "XChat: File Send List" +msgstr "XChat: Lista File Inviata" + +#: src/fe-gtk/dccgui.c:858 +msgid "To/From" +msgstr "A/Da" + +#: src/fe-gtk/dccgui.c:859 +msgid "Recv" +msgstr "Ricevuto" + +#: src/fe-gtk/dccgui.c:860 +msgid "Sent" +msgstr "Inviato" + +#: src/fe-gtk/dccgui.c:861 +msgid "Start Time" +msgstr "Inizio Tempo" + +#: src/fe-gtk/dccgui.c:871 +msgid "XChat: DCC Chat List" +msgstr "XChat: Lista Chat DCC" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "NUOVO*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "MODIFICAMI" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Nome" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Comando" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Muovi Su" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Muovi Giu" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Cancella" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Salva" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Aggiungi Nuovo" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Cancella" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Ordina" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Aiuto" + +#: src/fe-gtk/fe-gtk.c:122 +msgid "Don't auto connect to servers" +msgstr "Non connettere automaticamente ai server" + +#: src/fe-gtk/fe-gtk.c:123 +msgid "Use a different config directory" +msgstr "Usa una cartella di configurazione diversa" + +#: src/fe-gtk/fe-gtk.c:124 +msgid "Don't auto load any plugins" +msgstr "Impossibile caricare automaticamente alcun plugin" + +#: src/fe-gtk/fe-gtk.c:125 +msgid "Show plugin auto-load directory" +msgstr "Mostra la cartella di auto-caricamento dei plugin" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Show user config directory" +msgstr "Mostra la cartella di configurazione utente" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Open an irc://server:port/channel URL" +msgstr "Apri un URL irc://server:port/channel" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Open URL in an existing XChat" +msgstr "Apri URL in XChat esistente" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show version information" +msgstr "Mostra informazioni sulla versione" + +#: src/fe-gtk/fe-gtk.c:249 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Impossibile aprire il carattere:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:596 +msgid "Search buffer is empty.\n" +msgstr "Il buffer di ricerca è vuoto.\n" + +#: src/fe-gtk/fe-gtk.c:679 +#, c-format +msgid "%d bytes" +msgstr "%d byte" + +#: src/fe-gtk/fe-gtk.c:680 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Coda di invio: %d byte" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into " +"the entry box where you pressed the key sequence. Thus it can contain text " +"(which will be sent to the channel/person), commands or user commands. When " +"run all \\n characters in Data 1 are used to deliminate seperate commands so " +"it is possible to run more than one command. If you want a \\ in the actual " +"text run then enter \\\\" +msgstr "" +"Il comando Run Command esegue il contenuto di Data 1 come se fosse stato " +"digitato dentro la casella dove hai digitato la sequenza chiave. Quindi può " +"contenere testo (che verrà inviato al canale/persona), comandi o comandi " +"utente. Quando esegue tutti \\n caratteri in Data 1 sono usati per " +"delimitare comandi separati in modo da eseguire più di un comando. Se vuoi " +"\\ nel testo attuale allora premi invio \\\\" + +#: src/fe-gtk/fkeys.c:161 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1 " +"to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position" +msgstr "" +"Il comando Change Page cambia pagine. Imposta Data 1 alla pagina a cui vuoi " +"cambiare. Se Data 2 è impostata a qualcosa allora il cambio sarà relativo " +"alla posizione corrente" + +#: src/fe-gtk/fkeys.c:163 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" +"Il comando Insert in Buffer inserirà il contenuto di Data 1 nella casella " +"dove la sequenza chiave è stata premuta nella posizione corrente del cursore" + +#: src/fe-gtk/fkeys.c:165 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one " +"line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "" +"Il comando Scroll Page scorre l'oggetto testo su o giu di una pagina o una " +"linea. Imposta Data 1 a su, giu, +1 o -1." + +#: src/fe-gtk/fkeys.c:167 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered to " +"the contents of Data 1" +msgstr "" +"Il comando Set Buffer imposta la casella dove è stata digitata la sequenza " +"chiave nel contenuto di Data 1" + +#: src/fe-gtk/fkeys.c:169 +msgid "" +"The Last Command command sets the entry to contain the last command entered " +"- the same as pressing up in a shell" +msgstr "" +"Il Last Command comando imposta la casella per contenere l'ultimo comando " +"digitato - corrispondente a premere il tasto su nella shell" + +#: src/fe-gtk/fkeys.c:171 +msgid "" +"The Next Command command sets the entry to contain the next command entered " +"- the same as pressing down in a shell" +msgstr "" +"Il Next Command comando imposta la casella per contenere il successivo " +"comando digitato- corrispondente a premere il tasto giu nella shell" + +#: src/fe-gtk/fkeys.c:173 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the " +"last nick, not the next" +msgstr "" +"Qeusto comando cambia il testo nella casella per finire un nick o un comando " +"incompleto. Se Data 1 è impostato allora la doppia pressione sul tasto TAB " +"in una stringa selezionerà l'ultimo nick, non il prossimo" + +#: src/fe-gtk/fkeys.c:175 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set " +"to anything it will scroll up, else it scrolls down" +msgstr "" +"Questo comando scorre su e giù attraverso la lista dei nick. Se Data 1 è " +"impostato a qualcosa scorrerà verso l'altro, altrimenti verso il basso" + +#: src/fe-gtk/fkeys.c:177 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" +"Questo comando confronta l'ultima parola inserita con la lista dei sostituti " +"e rimpiazza se trova parole coincidenti" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "Questo comando muove la scheda davanti a sinistra di uno" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "Questo comando muove la scheda davanti a destra di uno" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "Questo comando muove i tab correnti a sinistra" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "Questo comando muove i tab correnti a destra" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "Inserisci la linea di input nella cronologia ma non inviarla al server" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "" +"E' avvenuto un errore durante il caricamento della mappatura della tastiera" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1108 src/fe-gtk/maingui.c:1124 +#: src/fe-gtk/maingui.c:1401 src/fe-gtk/maingui.c:1502 +#: src/fe-gtk/maingui.c:2959 +msgid "<none>" +msgstr "<none>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "Mod" + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Tasto" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Azione" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: Scorciatoie di Tastiera" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "Dati 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "Dati 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "Errore nell'apertura del file di configurazione dei tasti\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Nome del tasto %s sconosciuto nel file di configurazione\n" +"Caricamento interrotto, per favore controlla %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Azione %s sconosciuta nel file di configurazione\n" +"Caricamento interrotto, per favore controlla %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Aspetto linea dati (inizio Dx{:|!}) ma ottenuto:\n" +"%s\n" +"\n" +"Caricamento interrotto, per favore controlla %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Il file di configurazione dei tasti è corrotto, caricamento interrotto\n" +"Per favore controlla %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:131 +msgid "Cannot write to that file." +msgstr "Impossibile scrivere su quel file" + +#: src/fe-gtk/gtkutil.c:133 +msgid "Cannot read that file." +msgstr "Impossibile leggere quel file" + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "Quella maschera esiste già." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:1973 +msgid "Private" +msgstr "Privato" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Notizia" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Invita" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Annulla ignora" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Inserisci maschera da ignorare:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "XChat: Lista utenti ignorati" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Stato utenti ignorati:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Canale:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Privato:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Notizia:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Invita:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:420 +msgid "Add..." +msgstr "Aggiungi..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "Nome del canale troppo corto, prova di nuovo." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: Connessione completata" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "Connessione a %s completata." + +#: src/fe-gtk/joind.c:159 +msgid "" +"In the Server-List window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" +"Nella finestra Lista-Server, nessun canale (chat room) è stato inserito nel " +"quale entrare automaticamente per questa rete." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Cosa vuoi fare dopo?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_Niente, Entrerò nel canale dopo." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "_Entra in questo canale:" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Se conosci il nome del canale nel quale vuoi entrare, scrivilo qui." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "A_pri la finestra Lista-Canali." + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "Richiamare la Lista-Canali potrebbe richiedere un minuto o due." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "_Mostra sempre questa finestra dopo la connessione." + +#: src/fe-gtk/maingui.c:466 +msgid "Dialog with" +msgstr "Dialoga con" + +#: src/fe-gtk/maingui.c:744 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Argomento per %s è: %s" + +#: src/fe-gtk/maingui.c:749 +msgid "No topic is set" +msgstr "Nessun argomento è impostato" + +#: src/fe-gtk/maingui.c:1048 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" +"Questo server ha ancora %d canali o dialoghi associati ad esso. Chiudere " +"tutto?" + +#: src/fe-gtk/maingui.c:1178 +msgid "No other tabs open, quit xchat?" +msgstr "Nessuna altra scheda aperta, chiudere xchat?" + +#: src/fe-gtk/maingui.c:1353 +msgid "Insert Attribute or Color Code" +msgstr "Inserisci Attributo o Codice colore" + +#: src/fe-gtk/maingui.c:1355 +msgid "<b>Bold</b>" +msgstr "<b>Grassetto</b>" + +#: src/fe-gtk/maingui.c:1356 +msgid "<u>Underline</u>" +msgstr "<u>Sottolineato</u>" + +#: src/fe-gtk/maingui.c:1358 +msgid "Normal" +msgstr "Normale" + +#: src/fe-gtk/maingui.c:1360 +msgid "Colors 0-7" +msgstr "Colori 0-7" + +#: src/fe-gtk/maingui.c:1370 +msgid "Colors 8-15" +msgstr "Colori 8-15" + +#: src/fe-gtk/maingui.c:1406 +msgid "Beep on message" +msgstr "Beep sul messaggio" + +#: src/fe-gtk/maingui.c:1409 +msgid "Show join/part messages" +msgstr "Mostra messaggi di entrata/uscita" + +#: src/fe-gtk/maingui.c:1411 +msgid "Color paste" +msgstr "Incolla colore" + +#: src/fe-gtk/maingui.c:1418 +msgid "Go to" +msgstr "Vai a" + +#: src/fe-gtk/maingui.c:1431 src/fe-gtk/menu.c:1787 +msgid "_Close Tab" +msgstr "_Chiudi Scheda" + +#: src/fe-gtk/maingui.c:1434 src/fe-gtk/menu.c:1786 +msgid "_Detach Tab" +msgstr "_Stacca Scheda" + +#: src/fe-gtk/maingui.c:1673 +msgid "Some file transfers still active, quit xchat?" +msgstr "Alcuni file sono ancora in trasferimento, chiudere xchat?" + +#: src/fe-gtk/maingui.c:1841 src/fe-gtk/maingui.c:1947 +msgid "User limit must be a number!\n" +msgstr "Il limite utenti deve essere un numero!\n" + +#: src/fe-gtk/maingui.c:1969 +msgid "Topic Protection" +msgstr "Protezione Argomento" + +#: src/fe-gtk/maingui.c:1970 +msgid "No outside messages" +msgstr "Nessun fuori messaggio" + +#: src/fe-gtk/maingui.c:1971 +msgid "Secret" +msgstr "Segreto" + +#: src/fe-gtk/maingui.c:1972 +msgid "Invite Only" +msgstr "Solo Invito" + +#: src/fe-gtk/maingui.c:1974 +msgid "Moderated" +msgstr "Moderato" + +#: src/fe-gtk/maingui.c:1975 +msgid "Ban List" +msgstr "Lista Ban" + +#: src/fe-gtk/maingui.c:1977 +msgid "Keyword" +msgstr "Parola Chiave" + +#: src/fe-gtk/maingui.c:1989 +msgid "User Limit" +msgstr "Limite Utenti" + +#: src/fe-gtk/maingui.c:2100 +msgid "Show/Hide userlist" +msgstr "Mostra/Nascondi lista utenti" + +#: src/fe-gtk/maingui.c:2225 +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 la trasparenza dello sfondo!\n" +"\n" +"Potresti usare un window manager\n" +"correntemente non supportato.\n" + +#: src/fe-gtk/maingui.c:2457 +msgid "Enter new nickname:" +msgstr "Inserisci il nuovo nickname:" + +#: src/fe-gtk/menu.c:124 +msgid "Host unknown" +msgstr "Host sconosciuto" + +#: src/fe-gtk/menu.c:520 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:525 src/fe-gtk/menu.c:529 +msgid "Real Name:" +msgstr "Nome Reale:" + +#: src/fe-gtk/menu.c:533 +msgid "User:" +msgstr "Utente:" + +#: src/fe-gtk/menu.c:537 +msgid "Country:" +msgstr "Nazione:" + +#: src/fe-gtk/menu.c:541 +msgid "Server:" +msgstr "Server:" + +#: src/fe-gtk/menu.c:553 +msgid "Away Msg:" +msgstr "Messaggio di assenza" + +#: src/fe-gtk/menu.c:563 +#, c-format +msgid "%u minutes ago" +msgstr "%u minuti fa" + +#: src/fe-gtk/menu.c:565 src/fe-gtk/menu.c:568 +msgid "Last Msg:" +msgstr "Ultimo Messaggio:" + +#: src/fe-gtk/menu.c:668 +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ù è nascosta. Puoi mostrarla nuovamente premendo F9 o " +"cliccandocon il tasto destro in uno spazio bianco dell'area testo." + +#: src/fe-gtk/menu.c:755 +msgid "Open Link in Browser" +msgstr "Apri collegamento nel Browser" + +#: src/fe-gtk/menu.c:756 +msgid "Copy Selected Link" +msgstr "Copia collegamento selezionato" + +#: src/fe-gtk/menu.c:816 +msgid "Part Channel" +msgstr "Abbandona Canale" + +#: src/fe-gtk/menu.c:818 +msgid "Cycle Channel" +msgstr "Cicla Canale" + +#: src/fe-gtk/menu.c:841 +msgid "XChat: User menu" +msgstr "XChat: Menù utente" + +#: src/fe-gtk/menu.c:850 +msgid "Edit This Menu..." +msgstr "Modifica questo menù..." + +#: src/fe-gtk/menu.c:1045 +msgid "Retrieve channel list..." +msgstr "Richiama lista canali..." + +#: src/fe-gtk/menu.c:1113 +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 = xchat 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 corrente\n" +"%e = nome della rete corrente\n" +"%m = informazioni sul computer\n" +"%n = tuo nick\n" +"%t = ora/data\n" +"%v = versione xchat\n" +"%2 = parola 2\n" +"%3 = parola 3\n" +"&2 = parola 2 alla fine della linea\n" +"&3 = parola 3 alla fine della linea\n" +"\n" +"esempio:\n" +"/cmd john hello\n" +"\n" +"%2 è \"john\"\n" +"&2 è \"john hello\"." + +#: src/fe-gtk/menu.c:1129 +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 lista utenti - Codici speciali:\n" +"\n" +"%a = tutti i nick selezionati\n" +"%c = canale corrente\n" +"%e = nome della rete corrente\n" +"%h = hostname del nick selezionato\n" +"%m = informazioni sul computer\n" +"%n = tuo nick\n" +"%s = nick selezionato\n" +"%t = ora/data\n" + +#: src/fe-gtk/menu.c:1139 +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 dialoghi - Codici speciali:\n" +"\n" +"%a = tutti i nick selezionati\n" +"%c = canale corrente\n" +"%e = nome della rete corrente\n" +"%h = hostname del nick selezionato\n" +"%m = informazioni sul computer\n" +"%n = tuo nick\n" +"%s = nick selezionato\n" +"%t = ora/data\n" + +#: src/fe-gtk/menu.c:1149 +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 "" +"Repliche CTCP - Codici speciali:\n" +"\n" +"%d = dati (ctcp intero)\n" +"%e = nome della rete corrente\n" +"%m = informazioni sul computer\n" +"%s = nick che ha inviato il ctcp\n" +"%t = ora/data\n" +"%2 = parola 2\n" +"%3 = parola 3\n" +"&2 = parola 2 alla fine della linea\n" +"&3 = parola 3 allafine della linea\n" +"\n" + +#: src/fe-gtk/menu.c:1160 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"Gestore URL - Codici speciali:\n" +"\n" +"%s = stringa dell'URL\n" +"\n" +"Inserire ! davanti al comando\n" +"indica che dovrebbe essere inviato\n" +"ad una shell invece che ad XChat" + +#: src/fe-gtk/menu.c:1169 +msgid "XChat: User Defined Commands" +msgstr "XChat: Comandi definiti dall'utente" + +#: src/fe-gtk/menu.c:1176 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: Menà popup lista utente" + +#: src/fe-gtk/menu.c:1183 +msgid "Replace with" +msgstr "Sostituisci con" + +#: src/fe-gtk/menu.c:1183 +msgid "XChat: Replace" +msgstr "XChat: Sostituisci" + +#: src/fe-gtk/menu.c:1190 +msgid "XChat: URL Handlers" +msgstr "XChat: Gestore URL" + +#: src/fe-gtk/menu.c:1209 +msgid "XChat: Userlist buttons" +msgstr "XChat: Pulsanti lista utente" + +#: src/fe-gtk/menu.c:1216 +msgid "XChat: Dialog buttons" +msgstr "XChat: Pulsanti dialogo" + +#: src/fe-gtk/menu.c:1223 +msgid "XChat: CTCP Replies" +msgstr "XChat: Repliche CTCP" + +#: src/fe-gtk/menu.c:1321 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1322 +msgid "Network Li_st..." +msgstr "Li_sta Reti..." + +#: src/fe-gtk/menu.c:1325 +msgid "_New" +msgstr "_Nuovo" + +#: src/fe-gtk/menu.c:1326 +msgid "Server Tab..." +msgstr "Scheda Server..." + +#: src/fe-gtk/menu.c:1327 +msgid "Channel Tab..." +msgstr "Scheda Canale..." + +#: src/fe-gtk/menu.c:1328 +msgid "Server Window..." +msgstr "Finestra Server..." + +#: src/fe-gtk/menu.c:1329 +msgid "Channel Window..." +msgstr "Finestra Canale..." + +#: src/fe-gtk/menu.c:1334 src/fe-gtk/menu.c:1336 +msgid "_Load Plugin or Script..." +msgstr "C_arica Plugin o Script" + +#: src/fe-gtk/menu.c:1344 +msgid "_Quit" +msgstr "_Esci" + +#: src/fe-gtk/menu.c:1346 +msgid "_View" +msgstr "_Visualizza" + +#: src/fe-gtk/menu.c:1348 +msgid "_Menubar" +msgstr "Barra del _Menù" + +#: src/fe-gtk/menu.c:1349 +msgid "_Topicbar" +msgstr "Barra Argomen_to" + +#: src/fe-gtk/menu.c:1350 +msgid "_Userlist Buttons" +msgstr "Pulsanti Lista _Utenti" + +#: src/fe-gtk/menu.c:1351 +msgid "M_ode Buttons" +msgstr "Pulsanti M_oredatori" + +#: src/fe-gtk/menu.c:1353 +msgid "_Layout" +msgstr "_Disposizione" + +#: src/fe-gtk/menu.c:1355 +msgid "_Tabs" +msgstr "_Schede" + +#: src/fe-gtk/menu.c:1356 +msgid "T_ree" +msgstr "_Albero" + +#: src/fe-gtk/menu.c:1358 +msgid "_Network Meters" +msgstr "Test _Rete" + +#: src/fe-gtk/menu.c:1360 +msgid "Off" +msgstr "Disattivato" + +#: src/fe-gtk/menu.c:1361 +msgid "Graph" +msgstr "Grafico" + +#: src/fe-gtk/menu.c:1363 +msgid "Both" +msgstr "Entrambi" + +#: src/fe-gtk/menu.c:1366 +msgid "_Server" +msgstr "_Server" + +#: src/fe-gtk/menu.c:1367 +msgid "_Disconnect" +msgstr "_Disconnetti" + +#: src/fe-gtk/menu.c:1368 +msgid "_Reconnect" +msgstr "_Riconnetti" + +#: src/fe-gtk/menu.c:1372 +msgid "Marked Away" +msgstr "Segna Assenza" + +#: src/fe-gtk/menu.c:1374 +msgid "_Usermenu" +msgstr "Menù _Utente" + +#: src/fe-gtk/menu.c:1376 +msgid "S_ettings" +msgstr "_Impostazioni" + +#: src/fe-gtk/menu.c:1377 +msgid "_Preferences" +msgstr "_Preferenze" + +#: src/fe-gtk/menu.c:1379 +msgid "Advanced" +msgstr "Avanzate" + +#: src/fe-gtk/menu.c:1380 +msgid "Auto Replace..." +msgstr "Risposta Automatica..." + +#: src/fe-gtk/menu.c:1381 +msgid "CTCP Replies..." +msgstr "Repliche CTCP..." + +#: src/fe-gtk/menu.c:1382 +msgid "Dialog Buttons..." +msgstr "Pulsanti Dialogo..." + +#: src/fe-gtk/menu.c:1383 +msgid "Keyboard Shortcuts..." +msgstr "Scorciatoie di Tastiera..." + +#: src/fe-gtk/menu.c:1384 +msgid "Text Events..." +msgstr "Eventi Testuali..." + +#: src/fe-gtk/menu.c:1385 +msgid "URL Handlers..." +msgstr "Gestore URL..." + +#: src/fe-gtk/menu.c:1386 +msgid "User Commands..." +msgstr "Comandi Utente..." + +#: src/fe-gtk/menu.c:1387 +msgid "Userlist Buttons..." +msgstr "Pulsanti Lista Utenti..." + +#: src/fe-gtk/menu.c:1388 +msgid "Userlist Popup..." +msgstr "Popup Lista Utenti..." + +#: src/fe-gtk/menu.c:1391 +msgid "_Window" +msgstr "_Finestra" + +#: src/fe-gtk/menu.c:1392 +msgid "Ban List..." +msgstr "Lista dei Ban..." + +#: src/fe-gtk/menu.c:1393 +msgid "Channel List..." +msgstr "Lista Canali..." + +#: src/fe-gtk/menu.c:1394 +msgid "Character Chart..." +msgstr "Tabella Caratteri..." + +#: src/fe-gtk/menu.c:1395 +msgid "Direct Chat..." +msgstr "Chat Diretta..." + +#: src/fe-gtk/menu.c:1396 +msgid "File Transfers..." +msgstr "Trasferimento File..." + +#: src/fe-gtk/menu.c:1397 +msgid "Ignore List..." +msgstr "Lista utenti ignorati..." + +#: src/fe-gtk/menu.c:1398 +msgid "Notify List..." +msgstr "Lista Notifiche..." + +#: src/fe-gtk/menu.c:1399 +msgid "Plugins and Scripts..." +msgstr "Plugin e Script..." + +#: src/fe-gtk/menu.c:1400 +msgid "Raw Log..." +msgstr "Raw Log..." + +#: src/fe-gtk/menu.c:1401 +msgid "URL Grabber..." +msgstr "URL Raccolti..." + +#: src/fe-gtk/menu.c:1403 +msgid "Reset Marker Line" +msgstr "Reset linea di demarcazione" + +#: src/fe-gtk/menu.c:1404 +msgid "C_lear Text" +msgstr "Cance_lla Testo" + +#: src/fe-gtk/menu.c:1405 +msgid "Search Text..." +msgstr "Cerca Testo..." + +#: src/fe-gtk/menu.c:1406 +msgid "Save Text..." +msgstr "Salva Testo..." + +#: src/fe-gtk/menu.c:1408 src/fe-gtk/menu.c:1778 +msgid "_Help" +msgstr "_Aiuto" + +#: src/fe-gtk/menu.c:1409 +msgid "_Contents" +msgstr "_Contenuti" + +#: src/fe-gtk/menu.c:1410 +msgid "_About" +msgstr "_Informazioni" + +#: src/fe-gtk/menu.c:1791 +msgid "_Attach Window" +msgstr "_Attacca Finestra" + +#: src/fe-gtk/menu.c:1792 +msgid "_Close Window" +msgstr "_Chiudi Finestra" + +#: src/fe-gtk/notifygui.c:137 +msgid "User" +msgstr "Utente" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "Ultima volta visto" + +#: src/fe-gtk/notifygui.c:181 +msgid "Offline" +msgstr "Non collegato" + +#: src/fe-gtk/notifygui.c:201 src/fe-gtk/setup.c:214 +msgid "Never" +msgstr "Mai" + +#: src/fe-gtk/notifygui.c:219 +msgid "Online" +msgstr "Collegato" + +#: src/fe-gtk/notifygui.c:348 +msgid "Enter nickname to add:" +msgstr "Inserisci nickname da aggiungere:" + +#: src/fe-gtk/notifygui.c:376 +msgid "Notify on these networks:" +msgstr "Notifica su queste reti:" + +#: src/fe-gtk/notifygui.c:387 +msgid "Comma separated list of networks is accepted." +msgstr "E' accettata la virgola per separare la lista delle reti." + +#: src/fe-gtk/notifygui.c:407 +msgid "XChat: Notify List" +msgstr "XChat: Lista Notifiche" + +#: src/fe-gtk/notifygui.c:424 +msgid "Remove" +msgstr "Rimuovi" + +#: src/fe-gtk/notifygui.c:428 +msgid "Open Dialog" +msgstr "Apri Dialogo" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:421 +msgid "Description" +msgstr "Descrizione" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Seleziona il Plugin o lo Script da caricare" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: Plugin e Script" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Carica..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "_Scarica" + +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "_Chiudi" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:435 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Salva Come..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: Rawlog (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Cancella rawlog" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "La finestra che hai aperto per questa ricerca non esiste più." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "Ricerca finita, non trovato." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Cerca" + +#: src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Trova:" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "_Riscontro caso" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "Cerca _dietro" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "_Trova" + +#: src/fe-gtk/servlistgui.c:169 src/fe-gtk/servlistgui.c:268 +msgid "New Network" +msgstr "Nuova Rete" + +#: src/fe-gtk/servlistgui.c:553 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Vuoi veramente rimuovere la rete \"%s\" e tutti i suoi server?" + +#: src/fe-gtk/servlistgui.c:677 +msgid "User name and Real name cannot be left blank." +msgstr "Nome utente e nome reale non possono essere vuoti." + +#: src/fe-gtk/servlistgui.c:977 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: Modifica %s" + +#: src/fe-gtk/servlistgui.c:996 +#, c-format +msgid "Servers for %s" +msgstr "Server per %s" + +#: src/fe-gtk/servlistgui.c:1007 +msgid "Connect to selected server only" +msgstr "Connetti solo al server selezionato" + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Non ricollegarsi attraverso i server quando la connessione fallisce." + +#: src/fe-gtk/servlistgui.c:1010 +msgid "Your Details" +msgstr "Tuoi Dettagli" + +#: src/fe-gtk/servlistgui.c:1016 +msgid "Use global user information" +msgstr "Usa informazioni utente globali" + +#: src/fe-gtk/servlistgui.c:1019 src/fe-gtk/servlistgui.c:1251 +msgid "_Nick name:" +msgstr "_Nick name:" + +#: src/fe-gtk/servlistgui.c:1023 src/fe-gtk/servlistgui.c:1258 +msgid "Second choice:" +msgstr "Seconda scelta:" + +#: src/fe-gtk/servlistgui.c:1027 src/fe-gtk/servlistgui.c:1272 +msgid "_User name:" +msgstr "Nome _Utente:" + +#: src/fe-gtk/servlistgui.c:1031 src/fe-gtk/servlistgui.c:1279 +msgid "Rea_l name:" +msgstr "Nome Rea_le:" + +#: src/fe-gtk/servlistgui.c:1034 +msgid "Connecting" +msgstr "Connessione" + +#: src/fe-gtk/servlistgui.c:1040 +msgid "Auto connect to this network at startup" +msgstr "Connetti automaticamente a questa rete all'avvio" + +#: src/fe-gtk/servlistgui.c:1042 +msgid "Use a proxy server" +msgstr "Usa un server proxy" + +#: src/fe-gtk/servlistgui.c:1044 +msgid "Use SSL for all the servers on this network" +msgstr "Usa SSL per tutti i server di questa rete" + +#: src/fe-gtk/servlistgui.c:1049 +msgid "Accept invalid SSL certificate" +msgstr "Accetta certificati SSL invalidi" + +#: src/fe-gtk/servlistgui.c:1055 +msgid "C_hannels to join:" +msgstr "C_anale nel quale entrare:" + +#: src/fe-gtk/servlistgui.c:1057 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Canali nei quali entrare, separati da virgola, ma senza spazi!" + +#: src/fe-gtk/servlistgui.c:1060 +msgid "Connect command:" +msgstr "Comando dopo connessione:" + +#: src/fe-gtk/servlistgui.c:1062 +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 extra da eseguire dopo la connessione. Se necessiti di più comandi, " +"imposta questo per caricare -e <filename>, dove <filename> è un file di " +"testo con tutti i comandi da eseguire." + +#: src/fe-gtk/servlistgui.c:1065 +msgid "Nickserv password:" +msgstr "Password del Nickserv:" + +#: src/fe-gtk/servlistgui.c:1067 +msgid "" +"If your nickname requires a password, enter it here. Not all IRC networks " +"support this." +msgstr "" +"Se il tuo nickname richiede una password, inseriscila qui. Non tutte le reti " +"IRC lo supportano." + +#: src/fe-gtk/servlistgui.c:1071 +msgid "Server password:" +msgstr "Password del Server:" + +#: src/fe-gtk/servlistgui.c:1073 +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:1076 +msgid "Character set:" +msgstr "Imposta Carattere:" + +#: src/fe-gtk/servlistgui.c:1146 +msgid "_Edit" +msgstr "_Modifica" + +#: src/fe-gtk/servlistgui.c:1229 +msgid "XChat: Network List" +msgstr "XChat: Lista Reti" + +#: src/fe-gtk/servlistgui.c:1241 +msgid "User Information" +msgstr "Informazioni Utente" + +#: src/fe-gtk/servlistgui.c:1265 +msgid "Third choice:" +msgstr "Terza scelta:" + +#: src/fe-gtk/servlistgui.c:1325 +msgid "Networks" +msgstr "Reti" + +#: src/fe-gtk/servlistgui.c:1366 +msgid "Skip network list on startup" +msgstr "Salta lista reti all'avvio" + +#: src/fe-gtk/servlistgui.c:1398 +msgid "_Edit..." +msgstr "_Modifica..." + +#: src/fe-gtk/servlistgui.c:1405 +msgid "_Sort" +msgstr "_Ordina" + +#: src/fe-gtk/servlistgui.c:1429 +msgid "C_onnect" +msgstr "_Connetti" + +#: src/fe-gtk/setup.c:100 +msgid "Text Box Appearance" +msgstr "Aspetto Area Testo" + +#: src/fe-gtk/setup.c:101 +msgid "Font:" +msgstr "Carattere:" + +#: src/fe-gtk/setup.c:102 +msgid "Background image:" +msgstr "Immagine di sfondo:" + +#: src/fe-gtk/setup.c:103 +msgid "Scrollback lines:" +msgstr "Linee visibili:" + +#: src/fe-gtk/setup.c:104 +msgid "Colored nick names" +msgstr "Nickname colorati" + +#: src/fe-gtk/setup.c:105 +msgid "Give each person on IRC a different color" +msgstr "Assegna a ciascuna persona su IRC un colore differente" + +#: src/fe-gtk/setup.c:106 +msgid "Indent nick names" +msgstr "Rientra nickname" + +#: src/fe-gtk/setup.c:107 +msgid "Make nick names right-justified" +msgstr "Nickname giustificati a destra" + +#: src/fe-gtk/setup.c:108 +msgid "Transparent background" +msgstr "Trasparenza di sfondo" + +#: src/fe-gtk/setup.c:109 +msgid "Show marker line" +msgstr "Mostra linea di demarcazione" + +#: src/fe-gtk/setup.c:110 +msgid "Insert a red line after the last read text." +msgstr "Inserisci una linea rossa dopo l'ultimo messaggio letto." + +#: src/fe-gtk/setup.c:111 +msgid "Transparency Settings" +msgstr "Impostazioni Trasparenza" + +#: src/fe-gtk/setup.c:112 +msgid "Red:" +msgstr "Rosso:" + +#: src/fe-gtk/setup.c:113 +msgid "Green:" +msgstr "Verde:" + +#: src/fe-gtk/setup.c:114 +msgid "Blue:" +msgstr "Blu:" + +#: src/fe-gtk/setup.c:116 src/fe-gtk/setup.c:336 +msgid "Time Stamps" +msgstr "Stampa Ora" + +#: src/fe-gtk/setup.c:117 +msgid "Enable time stamps" +msgstr "Attiva stampa ora" + +#: src/fe-gtk/setup.c:118 +msgid "Time stamp format:" +msgstr "Formato stampa ora:" + +#: src/fe-gtk/setup.c:119 src/fe-gtk/setup.c:339 +msgid "See strftime manpage for details." +msgstr "Vedi la guida di strftime per dettagli." + +#: src/fe-gtk/setup.c:126 src/fe-gtk/setup.c:166 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:127 +msgid "Last-spoke order" +msgstr "Ordina per ultimo che ha parlato" + +#: src/fe-gtk/setup.c:133 src/fe-gtk/setup.c:1515 +msgid "Input box" +msgstr "Area Input" + +#: src/fe-gtk/setup.c:134 src/fe-gtk/setup.c:177 +msgid "Use the Text box font and colors" +msgstr "Usa carattere e colori dell'area testo" + +#: src/fe-gtk/setup.c:136 +msgid "Spell checking" +msgstr "Controllo del periodo" + +#: src/fe-gtk/setup.c:139 +msgid "Nick Completion" +msgstr "Completa Nick" + +#: src/fe-gtk/setup.c:140 +msgid "Automatic nick completion (without TAB key)" +msgstr "Completa automaticamente il nick (senza tasto TAB)" + +#: src/fe-gtk/setup.c:142 +msgid "Nick completion suffix:" +msgstr "Suffisso al completamento nick:" + +#: src/fe-gtk/setup.c:143 +msgid "Nick completion sorted:" +msgstr "Completamento nick ordinati:" + +#: src/fe-gtk/setup.c:146 +msgid "Input Box Codes" +msgstr "Codici Area Input" + +#: src/fe-gtk/setup.c:147 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Interpreta %nnn come un valore ASCII" + +#: src/fe-gtk/setup.c:148 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Interpreta %C, %B come Colore, Grassetto ecc." + +#: src/fe-gtk/setup.c:165 +msgid "A-Z, Ops first" +msgstr "A-Z, Prima gli Op" + +#: src/fe-gtk/setup.c:167 +msgid "Z-A, Ops last" +msgstr "Z-A, Dopo gli Op" + +#: src/fe-gtk/setup.c:168 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:169 +msgid "Unsorted" +msgstr "Non ordinare" + +#: src/fe-gtk/setup.c:175 +msgid "User List" +msgstr "Lista utenti" + +#: src/fe-gtk/setup.c:176 +msgid "Show hostnames in user list" +msgstr "Mostra hostname nella lista utenti" + +#: src/fe-gtk/setup.c:178 +msgid "Resizable user list" +msgstr "Lista utenti adattabile" + +#: src/fe-gtk/setup.c:179 +msgid "User list sorted by:" +msgstr "Lista utenti ordinata per:" + +#: src/fe-gtk/setup.c:181 +msgid "Away tracking" +msgstr "Traccia delle assenze" + +#: src/fe-gtk/setup.c:182 +msgid "Track the Away status of users and mark them in a different color" +msgstr "Trova lo stato di assenza degli utenti e segnali con colore differente" + +#: src/fe-gtk/setup.c:183 +msgid "On channels smaller than:" +msgstr "Sui canali più piccoli di:" + +#: src/fe-gtk/setup.c:185 +msgid "Action Upon Double Click" +msgstr "Azione per doppio click" + +#: src/fe-gtk/setup.c:186 +msgid "Execute command:" +msgstr "Esegui comando:" + +#: src/fe-gtk/setup.c:197 +msgid "Windows" +msgstr "Finestre" + +#: src/fe-gtk/setup.c:198 src/fe-gtk/setup.c:222 src/fe-gtk/setup.c:1517 +msgid "Tabs" +msgstr "Schede" + +#: src/fe-gtk/setup.c:204 +msgid "Bottom" +msgstr "Parte inferiore" + +#: src/fe-gtk/setup.c:205 +msgid "Top" +msgstr "Alta" + +#: src/fe-gtk/setup.c:206 +msgid "Left" +msgstr "Sinistra" + +#: src/fe-gtk/setup.c:207 +msgid "Right" +msgstr "Destra" + +#: src/fe-gtk/setup.c:208 +msgid "Hidden" +msgstr "Nascondi" + +#: src/fe-gtk/setup.c:215 +msgid "Always" +msgstr "Sempre" + +#: src/fe-gtk/setup.c:216 +msgid "Only requested tabs" +msgstr "Solo schede richieste" + +#: src/fe-gtk/setup.c:223 +msgid "Open an extra tab for server messages" +msgstr "Apri una scheda extra per i messaggi del server" + +#: src/fe-gtk/setup.c:224 +msgid "Open an extra tab for server notices" +msgstr "Apri una scheda extra per le notizie del server" + +#: src/fe-gtk/setup.c:225 +msgid "Open a new tab when you receive a private message" +msgstr "Apri una nuova scheda quando ricevi un messaggio privato" + +#: src/fe-gtk/setup.c:226 +msgid "Sort tabs in alphabetical order" +msgstr "Ordina schede in modo alfabetico" + +#: src/fe-gtk/setup.c:227 +msgid "Small tabs" +msgstr "Schede piccole" + +#: src/fe-gtk/setup.c:228 +msgid "Focus new tabs:" +msgstr "Apri la nuova scheda:" + +#: src/fe-gtk/setup.c:229 +msgid "Show tabs at:" +msgstr "Mostra schede a:" + +#: src/fe-gtk/setup.c:230 +msgid "Shorten tab labels to:" +msgstr "Caratteri nomi schede:" + +#: src/fe-gtk/setup.c:230 +msgid "letters." +msgstr "lettere." + +#: src/fe-gtk/setup.c:232 +msgid "Tabs or Windows" +msgstr "Schede o Finestre" + +#: src/fe-gtk/setup.c:233 +msgid "Open channels in:" +msgstr "Apri canali in:" + +#: src/fe-gtk/setup.c:234 +msgid "Open dialogs in:" +msgstr "Apri dialoghi in:" + +#: src/fe-gtk/setup.c:235 +msgid "Open utilities in:" +msgstr "Apri utilità in:" + +#: src/fe-gtk/setup.c:235 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Apri DCC, lista ignorati, notifiche ecc, in schede o finestre?" + +#: src/fe-gtk/setup.c:242 +msgid "No" +msgstr "No" + +#: src/fe-gtk/setup.c:243 +msgid "Yes" +msgstr "Si" + +#: src/fe-gtk/setup.c:244 +msgid "Browse for save folder every time" +msgstr "Sfoglia per cartelle da salvare ogni momento" + +#: src/fe-gtk/setup.c:250 +msgid "Files and Directories" +msgstr "File e Cartelle" + +#: src/fe-gtk/setup.c:251 +msgid "Auto accept file offers:" +msgstr "Accetta automaticamente i file offerti:" + +#: src/fe-gtk/setup.c:252 +msgid "Download files to:" +msgstr "Download file in:" + +#: src/fe-gtk/setup.c:253 +msgid "Move completed files to:" +msgstr "Muovi file completi in:" + +#: src/fe-gtk/setup.c:254 +msgid "Save nick name in filenames" +msgstr "Salva nickname nei nomi dei file " + +#: src/fe-gtk/setup.c:256 +msgid "Network Settings" +msgstr "Impostazioni Rete" + +#: src/fe-gtk/setup.c:257 +msgid "Get my address from the IRC server" +msgstr "Prendi il mio indirizzo dal server IRC" + +#: src/fe-gtk/setup.c:258 +msgid "" +"Asks the IRC server for your real address. Use this if you have a 192.168.*." +"* address!" +msgstr "" +"Chiedi al server IRC il tuo indirizzo reale. Usa questo se hai un indirizzo " +"192.168.*.*!" + +#: src/fe-gtk/setup.c:259 +msgid "DCC IP address:" +msgstr "DCC indirizzo IP:" + +#: src/fe-gtk/setup.c:260 +msgid "Claim you are at this address when offering files." +msgstr "Segnala questo indirizzo quando offri file." + +#: src/fe-gtk/setup.c:261 +msgid "First DCC send port:" +msgstr "Prima porta invio DCC:" + +#: src/fe-gtk/setup.c:262 +msgid "Last DCC send port:" +msgstr "Ultima porta invio DCC:" + +#: src/fe-gtk/setup.c:263 +msgid "!Leave ports at zero for full range." +msgstr "!Lascia porte a zero per range pieno." + +#: src/fe-gtk/setup.c:265 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Velocità di trasferimento file massima (byte per secondo)" + +#: src/fe-gtk/setup.c:266 +msgid "One upload:" +msgstr "Un Upload:" + +#: src/fe-gtk/setup.c:267 src/fe-gtk/setup.c:269 +msgid "Maximum speed for one transfer" +msgstr "Velocità massima per un trasferimento" + +#: src/fe-gtk/setup.c:268 +msgid "One download:" +msgstr "Un download:" + +#: src/fe-gtk/setup.c:270 +msgid "All uploads combined:" +msgstr "Tutti gli upload combinati:" + +#: src/fe-gtk/setup.c:271 src/fe-gtk/setup.c:273 +msgid "Maximum speed for all files" +msgstr "Velocità massima per tutti i file" + +#: src/fe-gtk/setup.c:272 +msgid "All downloads combined:" +msgstr "Tutti i download combinati:" + +#: src/fe-gtk/setup.c:280 +msgid "Default Messages" +msgstr "Messaggi di default" + +#: src/fe-gtk/setup.c:281 +msgid "Quit:" +msgstr "Esci:" + +#: src/fe-gtk/setup.c:282 +msgid "Leave channel:" +msgstr "Lascia canale:" + +#: src/fe-gtk/setup.c:283 +msgid "Away:" +msgstr "Assente:" + +#: src/fe-gtk/setup.c:285 +msgid "Away" +msgstr "Assente" + +#: src/fe-gtk/setup.c:286 +msgid "Announce away messages" +msgstr "Annuncia messaggi di assenza" + +#: src/fe-gtk/setup.c:287 +msgid "Announce your away messages to all channels" +msgstr "Annuncia i tuoi messaggi di assenza a tutti i canali" + +#: src/fe-gtk/setup.c:288 +msgid "Show away once" +msgstr "Mostra una volta il messaggio di assenza" + +#: src/fe-gtk/setup.c:288 +msgid "Show identical away messages only once" +msgstr "Mostra i messaggi di assenza identici una volta" + +#: src/fe-gtk/setup.c:289 +msgid "Automatically unmark away" +msgstr "Togli automaticamente lo stato di assenza" + +#: src/fe-gtk/setup.c:289 +msgid "Unmark yourself as away before sending messages" +msgstr "Togli l'assenza prima di mandare messaggi" + +#: src/fe-gtk/setup.c:292 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "(Può essere un file di testo relativo a ~/.xchat2/)." + +#: src/fe-gtk/setup.c:294 +msgid "(Can be a text file relative to config dir)." +msgstr "" +"(Può essere un file di testo relativo alla cartella di configurazione)." + +#: src/fe-gtk/setup.c:298 +msgid "Alerts" +msgstr "Avvisi" + +#: src/fe-gtk/setup.c:300 +msgid "Flash taskbar on highlighted messages" +msgstr "Taskbar lampeggiante ai messaggi evidenziati" + +#: src/fe-gtk/setup.c:301 +msgid "Flash taskbar on any private messages" +msgstr "Taskbar lampeggiante ai messaggi evidenziati" + +#: src/fe-gtk/setup.c:303 +msgid "Beep on highlighted messages" +msgstr "Emetti un beep per messaggio evidenziato" + +#: src/fe-gtk/setup.c:304 +msgid "Beep on private messages" +msgstr "Emetti un beep per messaggio privato ricevuto" + +#: src/fe-gtk/setup.c:305 +msgid "Beep on channel messages" +msgstr "Emetti un beep per messaggio ricevuto in canale" + +#: src/fe-gtk/setup.c:306 +msgid "Extra words to highlight on:" +msgstr "Parole extra da evidenziare su:" + +#: src/fe-gtk/setup.c:307 +msgid "Nicks not to highlight on:" +msgstr "Nick da non evidenziare su:" + +#: src/fe-gtk/setup.c:308 +msgid "Separate multiple words with commas." +msgstr "Separa più parole con virgole" + +#: src/fe-gtk/setup.c:315 +msgid "Advanced Settings" +msgstr "Impostazioni Avanzate" + +#: src/fe-gtk/setup.c:316 +msgid "Auto reconnect delay:" +msgstr "Connettiti automaticamente dopo:" + +#: src/fe-gtk/setup.c:317 +msgid "Display MODEs in raw form" +msgstr "Mostra modalità in forma raw" + +#: src/fe-gtk/setup.c:318 +msgid "Whois on notify" +msgstr "Esegui Whois su notifica" + +#: src/fe-gtk/setup.c:318 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "" +"Invia un /WHOIS quando un utente della tua lista di notifica si collega" + +#: src/fe-gtk/setup.c:319 +msgid "Hide join and part messages" +msgstr "Nascondi messaggi di entrata e uscita" + +#: src/fe-gtk/setup.c:319 +msgid "Hide channel join/part messages by default" +msgstr "Nascondi i messaggi di entrata/uscita nei canali" + +#: src/fe-gtk/setup.c:320 +msgid "Auto Open DCC Windows" +msgstr "Apri automaticamente finestre DCC" + +#: src/fe-gtk/setup.c:321 +msgid "Send window" +msgstr "Finestra d'invio" + +#: src/fe-gtk/setup.c:322 +msgid "Receive window" +msgstr "Finestra di ricezione" + +#: src/fe-gtk/setup.c:323 +msgid "Chat window" +msgstr "Finestra Chat" + +#: src/fe-gtk/setup.c:331 src/fe-gtk/setup.c:1522 +msgid "Logging" +msgstr "Logging" + +#: src/fe-gtk/setup.c:332 +msgid "Enable logging of conversations" +msgstr "Attiva log delle conversazioni" + +#: src/fe-gtk/setup.c:333 +msgid "Log filename:" +msgstr "File di Log:" + +#: src/fe-gtk/setup.c:334 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Server %c=Canale %n=Rete." + +#: src/fe-gtk/setup.c:337 +msgid "Insert timestamps in logs" +msgstr "Inserisci orario nei log" + +#: src/fe-gtk/setup.c:338 +msgid "Log timestamp format:" +msgstr "Formato stampa ora dei Log:" + +#: src/fe-gtk/setup.c:346 +msgid "(Disabled)" +msgstr "(Disabilitato)" + +#: src/fe-gtk/setup.c:347 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:348 +msgid "Socks4" +msgstr "Sock4" + +#: src/fe-gtk/setup.c:349 +msgid "Socks5" +msgstr "Sock5" + +#: src/fe-gtk/setup.c:350 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:352 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: src/fe-gtk/setup.c:359 +msgid "All Connections" +msgstr "Tutte le connessioni" + +#: src/fe-gtk/setup.c:360 +msgid "IRC Server Only" +msgstr "Solo Server IRC" + +#: src/fe-gtk/setup.c:361 +msgid "DCC Get Only" +msgstr "Ricevi solo DCC" + +#: src/fe-gtk/setup.c:367 +msgid "Your Address" +msgstr "Tuo Indirizzo" + +#: src/fe-gtk/setup.c:368 +msgid "Bind to:" +msgstr "Abbina a:" + +#: src/fe-gtk/setup.c:369 +msgid "Only useful for computers with multiple addresses." +msgstr "Utile solo per computer con indirizzi multipli" + +#: src/fe-gtk/setup.c:371 +msgid "Proxy Server" +msgstr "Proxy Server" + +#: src/fe-gtk/setup.c:372 +msgid "Hostname:" +msgstr "Hostname:" + +#: src/fe-gtk/setup.c:373 +msgid "Port:" +msgstr "Porta:" + +#: src/fe-gtk/setup.c:374 +msgid "Type:" +msgstr "Tipo:" + +#: src/fe-gtk/setup.c:375 +msgid "Use proxy for:" +msgstr "Usa proxy per:" + +#: src/fe-gtk/setup.c:377 +msgid "Proxy Authentication" +msgstr "Autenticazione Proxy" + +#: src/fe-gtk/setup.c:379 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Usa autenticazione (MS Proxy, HTTP o solo Socks5)" + +#: src/fe-gtk/setup.c:381 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Usa autenticazione (HTTP o solo Socks5)" + +#: src/fe-gtk/setup.c:383 +msgid "Username:" +msgstr "Username:" + +#: src/fe-gtk/setup.c:384 +msgid "Password:" +msgstr "Password:" + +#: src/fe-gtk/setup.c:727 +msgid "Select an Image File" +msgstr "Seleziona un File Immagine" + +#: src/fe-gtk/setup.c:751 +msgid "Select Download Folder" +msgstr "Seleziona Cartella di Download" + +#: src/fe-gtk/setup.c:760 +msgid "Select font" +msgstr "Seleziona carattere" + +#: src/fe-gtk/setup.c:831 +msgid "Browse..." +msgstr "Sfoglia..." + +#: src/fe-gtk/setup.c:966 +msgid "Mark identified users with:" +msgstr "Segna utenti identificati con:" + +#: src/fe-gtk/setup.c:968 +msgid "Mark not-identified users with:" +msgstr "Segna utenti non identificati con:" + +#: src/fe-gtk/setup.c:1029 +msgid "Select color" +msgstr "Seleziona un colore" + +#: src/fe-gtk/setup.c:1109 +msgid "Text Colors" +msgstr "Colore del testo" + +#: src/fe-gtk/setup.c:1111 +msgid "mIRC colors:" +msgstr "Colori di mIRC:" + +#: src/fe-gtk/setup.c:1119 +msgid "Local colors:" +msgstr "Colori locali" + +#: src/fe-gtk/setup.c:1127 src/fe-gtk/setup.c:1132 +msgid "Foreground:" +msgstr "Primo piano" + +#: src/fe-gtk/setup.c:1128 src/fe-gtk/setup.c:1133 +msgid "Background:" +msgstr "Sfondo" + +#: src/fe-gtk/setup.c:1130 +msgid "Marking Text" +msgstr "Seleziona testo" + +#: src/fe-gtk/setup.c:1135 +msgid "Interface Colors" +msgstr "Interfaccia Colori" + +#: src/fe-gtk/setup.c:1137 +msgid "New data:" +msgstr "Nuova data:" + +#: src/fe-gtk/setup.c:1138 +msgid "Marker line:" +msgstr "Seleziona linea:" + +#: src/fe-gtk/setup.c:1139 +msgid "New message:" +msgstr "Nuovo messaggio:" + +#: src/fe-gtk/setup.c:1140 +msgid "Away user:" +msgstr "Utente assente:" + +#: src/fe-gtk/setup.c:1141 +msgid "Highlight:" +msgstr "Evidenziazione:" + +#: src/fe-gtk/setup.c:1237 src/fe-gtk/textgui.c:386 +msgid "Event" +msgstr "Evento" + +#: src/fe-gtk/setup.c:1243 +msgid "Sound file" +msgstr "Suona file" + +#: src/fe-gtk/setup.c:1278 +msgid "Select a sound file" +msgstr "Seleziona un file musicale" + +#: src/fe-gtk/setup.c:1350 +msgid "Sound playing method:" +msgstr "Metodo esecuzione suono:" + +#: src/fe-gtk/setup.c:1358 +msgid "External sound playing _program:" +msgstr "_Programma di suono esterno" + +#: src/fe-gtk/setup.c:1376 +msgid "_External program" +msgstr "Programma _esterno" + +#: src/fe-gtk/setup.c:1386 +msgid "_Automatic" +msgstr "_Automatico" + +#: src/fe-gtk/setup.c:1399 +msgid "Sound files _directory:" +msgstr "Suona file _cartella:" + +#: src/fe-gtk/setup.c:1438 +msgid "Sound file:" +msgstr "Suona file:" + +#: src/fe-gtk/setup.c:1453 +msgid "_Browse..." +msgstr "_Sfoglia..." + +#: src/fe-gtk/setup.c:1464 +msgid "_Play" +msgstr "_Play" + +#: src/fe-gtk/setup.c:1513 +msgid "Interface" +msgstr "Interfaccia" + +#: src/fe-gtk/setup.c:1514 +msgid "Text box" +msgstr "Area testo" + +#: src/fe-gtk/setup.c:1516 +msgid "User list" +msgstr "Lista utenti" + +#: src/fe-gtk/setup.c:1518 +msgid "Colors" +msgstr "Colori" + +#: src/fe-gtk/setup.c:1520 +msgid "Chatting" +msgstr "Chatting" + +#: src/fe-gtk/setup.c:1521 +msgid "General" +msgstr "Generale" + +#: src/fe-gtk/setup.c:1523 +msgid "Sound" +msgstr "Suono" + +#: src/fe-gtk/setup.c:1527 +msgid "Network setup" +msgstr "Setup Rete" + +#: src/fe-gtk/setup.c:1528 +msgid "File transfers" +msgstr "File trasferiti" + +#: src/fe-gtk/setup.c:1636 +msgid "Categories" +msgstr "Categorie" + +#: src/fe-gtk/setup.c:1812 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" +"Alcune impostazioni sono state cambiate e richiedono il riavvio per essere " +"attuate." + +#: src/fe-gtk/setup.c:1820 +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*\n" +"L'auto accettazione DCC nella tua cartella home\n" +"può essere pericoloso e soggetto a exploit. Esempio:\n" +"Qualcuno può mandarti un .bash_profile" + +#: src/fe-gtk/setup.c:1853 +msgid "XChat: Preferences" +msgstr "XChat: Preferenze" + +#: src/fe-gtk/textgui.c:177 +msgid "There was an error parsing the string" +msgstr "C'è stato un errore analizzando la stringa" + +#: src/fe-gtk/textgui.c:185 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Questo segnale ha passato solo %d argomenti, $%d non è valido" + +#: src/fe-gtk/textgui.c:301 src/fe-gtk/textgui.c:324 +msgid "Print Texts File" +msgstr "Stampa testo su un file" + +#: src/fe-gtk/textgui.c:369 +msgid "Edit Events" +msgstr "Modifica Eventi" + +#: src/fe-gtk/textgui.c:420 +msgid "$ Number" +msgstr "$ Numero" + +#: src/fe-gtk/textgui.c:437 +msgid "Load From..." +msgstr "Carica Da..." + +#: src/fe-gtk/textgui.c:438 +msgid "Test All" +msgstr "Testa Tutto" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: URL Raccolto" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Cancella lista" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Copia URL selezionato" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Copia" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Salva lista su un file" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d op, %d totali" + +#~ msgid "PID" +#~ msgstr "PID" + +#~ msgid "Server" +#~ msgstr "Server" + +#~ msgid "%C18*$t$1%O $2" +#~ msgstr "%C18*$t$1%O $2" + +#~ msgid "%C21*%O$t%C21%B$1%O%C21 $2" +#~ msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#~ msgid "%C18%H<%H$4$1%H>%H%O$t$2" +#~ msgstr "%C18%H<%H$4$1%H>%H%O$t$2" + +#~ msgid "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" +#~ msgstr "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" + +#~ msgid "%C28-%C29$1/$2%C28-%O$t$3" +#~ msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#~ msgid "$1$t$2" +#~ msgstr "$1$t$2" + +#~ msgid "%C19>%O$1%C19<%O$t$2" +#~ msgstr "%C19>%O$1%C19<%O$t$2" + +#~ msgid "%C16*%O$t$1%O" +#~ msgstr "%C16*%O$t$1%O" + +#~ msgid "%C28-%C29$1%C28-%O$t$2" +#~ msgstr "%C28-%C29$1%C28-%O$t$2" + +#~ msgid "%C28*%C29$3$1%C28*$t%O$2" +#~ msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#~ msgid "%C18%H<%H$3$1%H>%H%O$t$2" +#~ msgstr "%C18%H<%H$3$1%H>%H%O$t$2" + +#~ msgid "%C22*%O$t$1" +#~ msgstr "%C22*%O$t$1" + +#~ msgid "%C31%H<%H$4$1%H>%H%O%C30$t$2" +#~ msgstr "%C31%H<%H$4$1%H>%H%O%C30$t$2" + +#~ msgid "Open an irc:// url" +#~ msgstr "Apri un irc:// url" + +#~ msgid "irc://server:port/channel" +#~ msgstr "irc://server:porta/canale" + +#~ msgid "Execute a xchat command" +#~ msgstr "Esegui un comando di xchat" + +#~ msgid "\"Command to execute\"" +#~ msgstr "\"Comando da eseguire\"" + +#~ msgid "Prints some text to the current tab/window" +#~ msgstr "Stampa testo dalla scheda/finestra corrente" + +#~ msgid "\"Text to print\"" +#~ msgstr "\"Testo da stampare\"" + +#~ msgid "Change the context to the channel" +#~ msgstr "Cambia il contesto al canale" + +#~ msgid "channel" +#~ msgstr "canale" + +#~ msgid "Change the context to the server" +#~ msgstr "Cambia il contesto al server" + +#~ msgid "server" +#~ msgstr "server" + +#~ msgid "Get some informations from xchat" +#~ msgstr "Ottieni alcune informazioni da xchat" + +#~ msgid "id" +#~ msgstr "id" + +#~ msgid "Get settings from xchat" +#~ msgstr "Ottieni impostazioni da xchat" + +#~ msgid "name" +#~ msgstr "nome" + +#~ msgid "" +#~ "xchat-remote: %s\n" +#~ "Try `xchat-remote --help' for more information\n" +#~ msgstr "" +#~ "xchat-remote: %s\n" +#~ "Prova `xchat-remote --help' per maggiori informazioni\n" + +#~ msgid "Failed to complete SetContext" +#~ msgstr "Completamento di SetContext fallito" + +#~ msgid "Failed to complete print" +#~ msgstr "Completamento di stampa fallito" + +#~ msgid "Failed to complete GetInfo" +#~ msgstr "Completamento di GetInfo fallito" + +#~ msgid "Failed to complete GetPrefs" +#~ msgstr "Completamento di GetPrefs fallito" + +#~ msgid "%s doesn't exist\n" +#~ msgstr "%s non esiste\n" + diff --git a/po/ja.po b/po/ja.po new file mode 100644 index 00000000..80de53fb --- /dev/null +++ b/po/ja.po @@ -0,0 +1,6535 @@ +# xchat for Japanese +# Copyright (C) 1999-2002 Free Software Foundation, Inc. +# +# Yuusuke Tahara <tahara@gehenna.u-aizu.ac.jp>, 1999 +# Takuo KITAME <kitame@debian.org>, 2000 +# Yukihiro Nakai <nakai@gnome.gr.jp>, 2002 +# Tadashi Jokagi <elf2000@users.sourceforge.net>, 2005-2006. +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.6.3\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2006-05-19 00:25+1000\n" +"PO-Revision-Date: 2006-08-07 19:04+0900\n" +"Last-Translator: Tadashi Jokagi <elf2000@users.sourceforge.net>\n" +"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/common/cfgfiles.c:350 +msgid "Cannot create ~/.xchat2" +msgstr "~/.xchat2 を作成できません。" + +#: src/common/cfgfiles.c:683 +msgid "I'm busy" +msgstr "多忙" + +#: src/common/cfgfiles.c:684 +msgid "Leaving" +msgstr "さようなら" + +#: src/common/cfgfiles.c:730 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* IRC を root 権限で立ち上げるなんて愚かにも程があります!\n" +" きちんとユーザーアカウント作成してから そのユーザーで\n" +" ログインしなおしてください。\n" +"\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "待機中" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "アクティブ" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "失敗" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "終了" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:740 +msgid "Connect" +msgstr "接続" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "中断" + +#: src/common/dcc.c:1875 src/common/outbound.c:2246 +#, c-format +msgid "Cannot access %s\n" +msgstr "%s へアクセスできません。\n" + +#: src/common/dcc.c:2358 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s が「%s」を提案しています。受け付けますか?" + +#: src/common/dcc.c:2569 +msgid "No active DCCs\n" +msgstr "アクティブな DCC はありません\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "はい " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "いいえ " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "%s から大量の CTCP が来ました。%s を無視します。\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "%s から大量の MSG が来ました。設定 gui_auto_open_dialog をオフにします。\n" + +#: src/common/notify.c:396 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s オンライン\n" + +#: src/common/notify.c:398 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s オフライン\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "チャンネルに参加していません。「/join #<チャンネル>」を実行してください。\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "サーバーと接続していません。「/server <ホスト> [<ポート>]」を実行してください。\n" + +#: src/common/outbound.c:1650 +msgid "I need /bin/sh to run!\n" +msgstr "実行には /bin/sh が必要です!\n" + +#: src/common/outbound.c:1983 +msgid "Commands Available:" +msgstr "以下のコマンドが利用できます:" + +#: src/common/outbound.c:1997 +msgid "User defined commands:" +msgstr "ユーザー定義コマンド:" + +#: src/common/outbound.c:2013 +msgid "Plugin defined commands:" +msgstr "プラグイン定義コマンド:" + +#: src/common/outbound.c:2024 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "詳細は「/HELP <コマンド>」もしくは「/HELP -l」と入力してください。" + +#: src/common/outbound.c:2099 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "不明な引数 '%s' を無視します。" + +#: src/common/outbound.c:2960 +msgid "No such plugin found.\n" +msgstr "そのようなプラグインはありません。\n" + +#: src/common/outbound.c:2965 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "そのプラグインの読み込み解除を拒絶しています。\n" + +#: src/common/outbound.c:3200 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <名前> <動作>, ユーザーリストの下にボタンを加える" + +#: src/common/outbound.c:3202 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <コマンド>, 参加している全チャンネルへコマンドを送信する" + +#: src/common/outbound.c:3204 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <コマンド>, 参加している全チャンネルへコマンドを送信する" + +#: src/common/outbound.c:3206 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <コマンド>, 入っている全サーバーにコマンドを送信する" + +#: src/common/outbound.c:3207 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<理由>], 離席状態にする" + +#: src/common/outbound.c:3209 +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 <マスク> [<禁止タイプ>], 現在のチャンネルから, マスクに一致するニックをバンする. 既にチャンネルに参加しているニックに関しては効果がない (なるとが必要)" + +#: src/common/outbound.c:3211 +msgid "CLEAR, Clears the current text window" +msgstr "CLEAR, 現在のテキストウィンドウの内容を消去する" + +#: src/common/outbound.c:3212 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, 現在のウィンドウ/タブを閉じる" + +#: src/common/outbound.c:3215 +#, fuzzy +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY <コード>, 国コードを検出, 例: au = オーストラリア" + +#: src/common/outbound.c:3217 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <ニック> <メッセージ>, CTCP メッセージを指定のニックへ送信する。メッセージは普通, VERSION や USERINFO を使う" + +#: src/common/outbound.c:3219 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "CYCLE, 現在のチャンネルを離れ, 直後に再参加する" + +#: src/common/outbound.c:3221 +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 "" +"\n" +"DCC GET <ニック> - 差し出されたファイルを受け取る\n" +"DCC SEND [-maxcps=#] <ニック> <ファイル> - ファイルを送信する\n" +"DCC PSEND [-maxcps=#] <nick> [file] - パッシブモードでファイルを送信する\n" +"DCC LIST - DCC 一覧を表示する\n" +"DCC CHAT <ニック> - DCC CHAT を申し込む\n" +"DCC PCHAT <ニック> - パッシブモードで DCC CHAT を申し込む\n" +"DCC CLOSE <種類> <ニック> <ファイル> 例:\n" +" /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3233 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <ニック>, 現在のチャンネルの指定ニックからハーフなるとを剥奪する (なるとが必要)" + +#: src/common/outbound.c:3235 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <ボタン名>, ユーザーリストの下のボタンを削除する" + +#: src/common/outbound.c:3237 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <ニック>, 現在のチャンネルの指定ニックからなるとを剥奪する (なるとが必要)" + +#: src/common/outbound.c:3239 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <ニック>, 現在のチャンネルの指定ニックから, 発言権を削除する (なるとが必要)" + +#: src/common/outbound.c:3240 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, サーバーからの接続を切断する" + +#: src/common/outbound.c:3241 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <ニック名|ホスト|IP>, ユーザーの IP アドレスを検索する" + +#: src/common/outbound.c:3242 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO テキスト, テキストをローカル上に表示する" + +#: src/common/outbound.c:3245 +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] <コマンド>, コマンドを実行する. -o フラグを利用すると出力は現在のチャンネルへ送信する。それ以外は現在のテキスト・ボックスに表示する" + +#: src/common/outbound.c:3247 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, プロセスに対して SIGCONT を発行する" + +#: src/common/outbound.c:3250 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], 現在のプロセスに対してシグナルを発行する。-9 を指定した場合、プロセスは SIGKILL される" + +#: src/common/outbound.c:3252 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, プロセスに対して SIGSTOP を発行する" + +#: src/common/outbound.c:3253 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, プロセスの標準入力へデータを送信する" + +#: src/common/outbound.c:3257 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, 現在サーバーの送信キューをフラッシュする" + +#: src/common/outbound.c:3259 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <ホスト> [<ポート>], 指定ホストを通したプロキシ。標準ポートは 23" + +#: src/common/outbound.c:3262 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <nick> <password>, ゴーストになってしまったニック名を削除する" + +#: src/common/outbound.c:3267 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <ニック>, 指定のニックにハーフなるとを与える (なるとが必要)" + +#: src/common/outbound.c:3268 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <パスワード>, nickserv に自分を確認します" + +#: src/common/outbound.c:3270 +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 <マスク> <種類...> <オプション...>\n" +" マスク - 無視するホスト名のマスク, 例: *!*@*.ne.jp\n" +" 種類 - 無視するデータの種類, 以下の一つもしくは全部:\n" +" PRIV, CHAN, NOTI, CTCP, INVI, ALL\n" +" オプション - NOSAVE, QUIET" + +#: src/common/outbound.c:3277 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <ニック> [<チャンネル>], 指定のチャンネルへ招待する。標準では現在のチャンネル名 (なるとが必要)" + +#: src/common/outbound.c:3278 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <チャンネル>, チャンネルに参加する" + +#: src/common/outbound.c:3280 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <ニック>, 現在のチャンネルから指定のニックをキックする (なるとが必要)" + +#: src/common/outbound.c:3282 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <ニック>, 現在のチャンネルから指定のニックをキックし、さらにバンする (なるとが必要)" + +#: src/common/outbound.c:3285 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, 新規ラグチェックを強制する" + +#: src/common/outbound.c:3287 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <文字列>, バッファ中から文字列を検索する" + +#: src/common/outbound.c:3289 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <ファイル>, スクリプトかプラグインを読み込む" + +#: src/common/outbound.c:3292 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, 現在のチャンネルの全員のハーフなるとを剥奪する (なるとが必要)" + +#: src/common/outbound.c:3294 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, 現在のチャンネルの全員のなるとを剥奪する (なるとが必要)" + +#: src/common/outbound.c:3296 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <行動>, 現在のチャンネルに対して, 指定の ACTION を送信する (行動は 『/me jumps』のように第3者側で書かれる)" + +#: src/common/outbound.c:3299 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, 現在のチャンネルの自分以外の全員をキックする (なるとが必要)" + +#: src/common/outbound.c:3302 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, 現在のチャンネルの全員のなるとを剥奪する (なるとが必要)" + +#: src/common/outbound.c:3303 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <ニック> <メッセージ>, プリブを送信する" + +#: src/common/outbound.c:3306 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, 現在のチャンネルのニックリストを表示する" + +#: src/common/outbound.c:3308 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <ニック> <メッセージ>, CTCP NOTICE を送信する" + +#: src/common/outbound.c:3309 +#, fuzzy +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER <ホスト名> [<ポート>]" + +#: src/common/outbound.c:3310 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <ニック>, 自分のニックを設定する" + +#: src/common/outbound.c:3313 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <ニック/チャンネル> <メッセージ>, NOTICE を送信する。NOTICE は自動的に応答されるメッセージである" + +#: src/common/outbound.c:3315 +msgid "NOTIFY [<nick>], lists your notify list or adds someone to it" +msgstr "NOTIFY [<ニック>], 自分の通知リストを表示する、または誰かをそれに追加する" + +#: src/common/outbound.c:3317 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <ニック>, 指定のニックになるとを与える (なるとが必要)" + +#: src/common/outbound.c:3319 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<チャンネル>] [<理由>], チャンネルを去る。デフォルトでは現在のチャンネル" + +#: src/common/outbound.c:3321 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <ニック | チャンネル>, ニックかチャンネルへ CTCP PING をかける" + +#: src/common/outbound.c:3323 +msgid "QUERY <nick>, opens up a new privmsg window to someone" +msgstr "QUERY <ニック>, 指定ニックとの新規ぷりぶウィンドウを開く" + +#: src/common/outbound.c:3325 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<理由>], 現在のサーバーから接続を切断する" + +#: src/common/outbound.c:3327 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <テキスト>, サーバーへ生形式のテキストを送信する" + +#: src/common/outbound.c:3330 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<ホスト>] [<ポート>] [<パスワード>], /RECONNECTだけで現在のサーバーに接続しなおすこともできるし、/RECONNECT ALLで開いているサーバーすべてに接続しなおすこともできる" + +#: src/common/outbound.c:3333 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<ホスト>] [<ポート>] [<パスワード>], /RECONNECTだけで現在のサーバーに接続しなおすこともできるし、/RECONNECT ALLで開いているサーバーすべてに接続しなおすこともできる" + +#: src/common/outbound.c:3335 +#, fuzzy +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "/QUOTE <テキスト>, サーバーへ生形式のテキストを送信する\n" + +#: src/common/outbound.c:3338 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <テキスト>, カレントウィンドウのオブジェクトへテキストを送信する" + +#: src/common/outbound.c:3339 +msgid "SEND <nick> [<file>]" +msgstr "SEND <ニック> [<ファイル>]" + +#: src/common/outbound.c:3342 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <ホスト> <ポート> <チャンネル>, 接続およびチャンネルへ参加する" + +#: src/common/outbound.c:3345 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <ホスト> <ポート> <チャンネル>, 接続およびチャンネルへ参加する" + +#: src/common/outbound.c:3349 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <ホスト> [<ポート>] [<パスワード>], サーバーへ接続する。通常の接続では標準ポート番号は6667、ssl接続では994" + +#: src/common/outbound.c:3352 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <ホスト> [<ポート>] [<パスワード>], サーバーへ接続する。標準ポート番号は6667" + +#: src/common/outbound.c:3354 +msgid "SET [-quiet] <variable> [<value>]" +msgstr "SET [-quiet] <変数> [<値>]" + +#: src/common/outbound.c:3355 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<位置>" + +#: src/common/outbound.c:3359 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<トピック>], トピックを設定する。引数がなければ現在のトピックを表示する" + +#: src/common/outbound.c:3361 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <マスク> [<マスク>...], 指定したマスクのBanを解除する" + +#: src/common/outbound.c:3362 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <マスク> [QUIET]" + +#: src/common/outbound.c:3363 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <名前> プラグインかスクリプトの読み込みをやめる" + +#: src/common/outbound.c:3364 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, ブラウザーで URL を開く" + +#: src/common/outbound.c:3366 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <ニック1> <ニック2> など、チャンネルのユーザー一覧のニックをハイライトにします" + +#: src/common/outbound.c:3369 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <ニック>, 発言権を指定のニックへ与える (なるとが必要)" + +#: src/common/outbound.c:3371 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <メッセージ>, 全チャンネルへメッセージを送信する" + +#: src/common/outbound.c:3373 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <メッセージ>, 現在のチャンネルのなると保持者全員へメッセージを送信する" + +#: src/common/outbound.c:3406 +#, c-format +msgid "Usage: %s\n" +msgstr "使い方: %s\n" + +#: src/common/outbound.c:3411 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"このコマンドのヘルプは利用できません.\n" + +#: src/common/outbound.c:3417 +msgid "No such command.\n" +msgstr "そのようなコマンドはありません.\n" + +#: src/common/outbound.c:3744 +msgid "Bad arguments for user command.\n" +msgstr "ユーザーコマンドに対して不正な引数を与えています.\n" + +#: src/common/outbound.c:3900 +msgid "Too many recursive usercommands, aborting." +msgstr "ユーザーコマンドの再帰が多すぎます。アボートします。" + +#: src/common/outbound.c:3977 +msgid "Unknown Command. Try /help\n" +msgstr "不明なコマンドです. 『/help』を実行してください。\n" + +#: src/common/plugin.c:371 src/common/plugin.c:412 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "シンボル「xchat_plugin_init」がありません。これは本当に xchat のプラグインですか?" + +#: src/common/server.c:621 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "" + +#: src/common/server.c:1005 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"ホスト名「%s」を解決できません。\n" +"IP 設定を確認してください!\n" + +#: src/common/server.c:1010 +msgid "Proxy traversal failed.\n" +msgstr "" + +#: src/common/servlist.c:641 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "" + +#: src/common/servlist.c:1065 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "" + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 を通知リストへ追加しました。" + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 バン一覧:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +#, fuzzy +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "-%C10-%C11-%O$t Ban されているため %C11%B$1%O 参加できません。" + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 は $2 にニックを変更しました。" + +#: src/common/textevents.h:21 +msgid "%C18*$t$1%O $2" +msgstr "%C18*$t$1%O $2" + +#: src/common/textevents.h:24 +msgid "%C21*%O$t%C21%B$1%O%C21 $2" +msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 は $2 をバンしました。" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "-%C10-%C11-%O$t$2 にチャンネル $1 が作成されました。" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O は %C26$2 からハーフなるとを剥奪しました。" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O は $2 からなるとを剥奪しました。" + +#: src/common/textevents.h:39 +#, fuzzy +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "-%C10-%C11-%O$t$1 は $2 から発言権を剥奪しました。" + +#: src/common/textevents.h:42 +#, fuzzy +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "-%C10-%C11-%O$t$1 はチャンネル $2 への免除設定しました。" + +#: src/common/textevents.h:45 +#, fuzzy +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "-%C10-%C11-%O$t$1 は $2 にハーフなるとを与えました。" + +#: src/common/textevents.h:48 +#, fuzzy +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "-%C10-%C11-%O$t$1 は INVITE マスクを設定しました.: $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%Uチャンネル ユーザー トピック" + +#: src/common/textevents.h:54 +#, fuzzy +msgid "%C18%H<%H$4$1%H>%H%O$t$2" +msgstr "%C18%B%B$4$1%O%C18%O$t$2" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "-%C10-%C11-%O$t$1 はモードを $2$3 $4 に設定しました。" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22$t チャンネル $1 モード: $2" + +#: src/common/textevents.h:63 +#, fuzzy +msgid "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" +msgstr "$4%C21%B$1%O%C21$t$2" + +#: src/common/textevents.h:66 +msgid "%C28-%C29$1/$2%C28-%O$t$3" +msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#: src/common/textevents.h:69 +#, fuzzy +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "-%C10-%C11-%O$t$1 は $2 になるとを与えました。" + +#: src/common/textevents.h:72 +#, fuzzy +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "-%C10-%C11-%O$t$1 は $2 への免除を削除しました。" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 は INVITE マスクを削除しました: $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 はチャンネルキーワードを削除しました。" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 はユーザー数制限を削除しました。" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 はチャンネルにキーワード $2 を設定しました。" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 はチャンネルを $2 に制限しました。" + +#: src/common/textevents.h:90 +#, fuzzy +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "-%C10-%C11-%O$t$1 は $2 に対するバンを取り外しました。" + +#: src/common/textevents.h:93 +#, fuzzy +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "-%C10-%C11-%O$t$1 は $2 に発言権を与えました。" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22接続しました。直ちにログインします..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22サーバー $1($2) の、ポート$3 へ接続中%O..." + +#: src/common/textevents.h:102 +#, fuzzy +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "-%C10-%C11-%O$t 接続に失敗しました. エラー: $1" + +#: src/common/textevents.h:105 +#, fuzzy +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "-%C10-%C11-%O$tCTCP 一般 $1 を $2 から受け取りました。" + +#: src/common/textevents.h:108 +#, fuzzy +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "-%C10-%C11-%O$t$2 から($3へ), CTCP $1 を受け取りました。" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tCTCP サウンド $1 を $2 から受け取りました。" + +#: src/common/textevents.h:117 +#, fuzzy +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "-%C10-%C11-%O$t$2 から($3へ), CTCP $1 を受け取りました。" + +#: src/common/textevents.h:120 +#, fuzzy +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "-%C10-%C11-%O$tDCC $1 %C11$2 %Cto %C11$3 %C は中断しました。" + +#: src/common/textevents.h:123 +#, fuzzy +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "-%C10-%C11-%O$tDCC $1 の $4 %C11$2 %C14[%O$3%C14]%O への接続を確立しました。" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$t %C26$1%O との DCC CHAT を失いました ($4)" + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$t$1 から DCC チャット提案を受け取りました。" + +#: src/common/textevents.h:132 +#, fuzzy +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "-%C10-%C11-%O$t$1 への DCC チャットを提案しています。" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$t既に $1 へのチャットは提案しています。" + +#: src/common/textevents.h:138 +#, fuzzy +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "-%C10-%C11-%O$t%C11$2%O への DCC $1 の接続に失敗しました (エラー=$3)。" + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$t$2 から 「$1%O」を受け取りました。" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 種類 To/From 状態 容量 Pos ファイル " + +#: src/common/textevents.h:147 +#, fuzzy +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "-%C10-%C11-%O$t%C11$1%O から異常な DCC チャット要求を受け取りました。" + +#: src/common/textevents.h:150 +#, fuzzy +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "-%C10-%C11-%O$t%C11$1 %C を %C11$2%Oへ提案しています...%O" + +#: src/common/textevents.h:153 +#, fuzzy +msgid "%C22*%O$tNo such DCC offer." +msgstr "-%C10-%C11-%O$t そのような DCC 提案はありません。" + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "" + +#: src/common/textevents.h:159 +#, fuzzy +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "-%C10-%C11-%O$t%C11$1%Oの %C11$2%O への DCC 送信は %C14[%C11$3%O cps%C14]%O を完了。" + +#: src/common/textevents.h:162 +#, fuzzy +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "-%C10-%C11-%O$tDCC $1 の $4 %C11$2 %C14[%O$3%C14]%O への接続を確立しました。" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "" + +#: src/common/textevents.h:168 +#, fuzzy +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "-%C10-%C11-%O$tDCC RECV: 出力ファイル $1 を開けません - 中断します。" + +#: src/common/textevents.h:171 +#, fuzzy +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "-%C10-%C11-%O$t ファイル %C11$1%C は既に存在します. かわりに, このファイルを %C11$2%O へ保存します。" + +#: src/common/textevents.h:174 +#, fuzzy +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "-%C10-%C11-%O$t%C11$1 %C は %C11$3%C から %C11$2 %C の再開を要求しました。" + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$t $2%O から $1%O への DCC を中断しました。" + +#: src/common/textevents.h:180 +#, fuzzy +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "-%C10-%C11-%O$t%C11$1%O の %C11$2%O への DCC送信は %C14[%C11$3%O cps%C14]%O を完了。" + +#: src/common/textevents.h:183 +#, fuzzy +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "-%C10-%C11-%O$tDCC $1 の $4 %C11$2 %C14[%O$3%C14]%O への接続を確立しました。" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O から %C26 $2%O への送信に失敗しました。 $3" + +#: src/common/textevents.h:189 +#, fuzzy +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "-%C10-%C11-%O$t%C11$1 %C は %C11$2 %C(%C11$3 %Cバイト)を提案しました。" + +#: src/common/textevents.h:192 +#, fuzzy +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "-%C10-%C11-%O$t%C11$3%C への %C11$2%C のDCC $1 は停滞しています - 中断します。" + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %O から %C26 $3 %Oタイムアウト - 中断します。" + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 通知一覧から削除しました。" + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$t 接続を切断しました ($1)。" + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$t 自分のIPを見付けました: [$1]" + +#: src/common/textevents.h:207 +msgid "$1$t$2" +msgstr "$1$t$2" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O 無視リストへ追加しました。" + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "%C26$1%O の無視設定を変更しました。" + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 ホストマスク PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O 無視リストから削除しました。" + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " 無視リストの内容が空です。" + +#: src/common/textevents.h:228 +#, fuzzy +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "-%C10-%C11-%O$t%C11%B$1 %O は招待のみのチャンネルなため参加できません。" + +#: src/common/textevents.h:231 +#, fuzzy +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "-%C10-%C11-%O$t %C11$2%C から チャンネル %C11$1%C へ招待されました.(%C11$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) は $2 へ参加しました。" + +#: src/common/textevents.h:237 +#, fuzzy +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "-%C10-%C11-%O$t%C11%B$1%O へ参加できません(キーワードが必要です)。" + +#: src/common/textevents.h:240 +#, fuzzy +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "<%C10-%C11-%O$t$1 は $3 から $2 をキックしました. ($4%O)" + +#: src/common/textevents.h:243 +#, fuzzy +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "-%C10-%C11-%O$t $1 によって殺されました. ($2%O)" + +#: src/common/textevents.h:246 src/common/textevents.h:270 +msgid "%C19>%O$1%C19<%O$t$2" +msgstr "%C19>%O$1%C19<%O$t$2" + +#: src/common/textevents.h:249 +msgid "%C16*%O$t$1%O" +msgstr "%C16*%O$t$1%O" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22 MOTD を飛ばしました。" + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 は既に使用されています。$2 で再試行します..." + +#: src/common/textevents.h:258 +#, fuzzy +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tニックはすでに使用されています。他を「/NICK」で指定してください。" + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$t そのような DCC はありません。" + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$t現在は実行プロセスがありません。" + +#: src/common/textevents.h:267 +msgid "%C28-%C29$1%C28-%O$t$2" +msgstr "%C28-%C29$1%C28-%O$t$2" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$t通知リストの内容が空です。" + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B 通知一覧 " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 ユーザーが通知リストにいます。" + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($2)." +msgstr "%C22*%O$t 通知: $1 はオフラインです ($2)" + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($2)." +msgstr "C22*%O$t通知: $1 はオンラインです ($2)。" + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) は $3 から離れました。" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) はチャンネル $3 から離れました(%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$t$1 からの Ping 応答 : $2 秒" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tPing 応答が $1 秒間ありません, 切断。" + +#: src/common/textevents.h:303 +msgid "%C28*%C29$3$1%C28*$t%O$2" +msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#: src/common/textevents.h:306 +msgid "%C18%H<%H$3$1%H>%H%O$t$2" +msgstr "%C18%H<%H$3$1%H>%H%O$t$2" + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tプロセスは既に実行しています。" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 は IRC から離れました (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 はモードを %B %C30[%O$2%B%C30] へ設定しました" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +#, fuzzy +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "-%C10-%C11-%O$t%C11$1%O のIPアドレスを探しています.." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22接続しました。" + +#: src/common/textevents.h:327 src/common/textevents.h:333 +#: src/common/textevents.h:336 +msgid "%C22*%O$t$1" +msgstr "%C22*%O$t$1" + +#: src/common/textevents.h:330 +#, fuzzy +msgid "%C22*%O$t%C22Looking up $1" +msgstr "-%C10-%C11-%O$t%C11$1%C を探しています.." + +#: src/common/textevents.h:339 +#, fuzzy +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "-%C10-%C11-%O$t 以前の接続試行が中止されました. (PID=$1)" + +#: src/common/textevents.h:342 +#, fuzzy +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "-%C10-%C11-%O$t %C11$1%C のトピックは %C11$2%O です。" + +#: src/common/textevents.h:345 +#, fuzzy +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "-%C10-%C11-%O$t$1はトピックを変更しました: $2%O" + +#: src/common/textevents.h:348 +#, fuzzy +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "-%C10-%C11-%O$t%C11$3%O に, %C11$1%C のトピックが %C11$2%C によって設定されました。" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$t不明なホストです。スペルミスしていませんか?" + +#: src/common/textevents.h:354 +#, fuzzy +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "-%C10-%C11-%O$t%C11%B$1%O へ参加できません(ユーザー数が上限を越えました)。" + +#: src/common/textevents.h:357 +#, fuzzy +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "-%C10-%C11-%O$t%C11$1 のユーザー:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %C は離席中です %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %O以上が WhoIs 情報です。" + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O アイドル%C26 $2" + +#: src/common/textevents.h:378 +#, fuzzy +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "-%C10-%C11-%O$t%C12[%O$1%C12] %C アイドル %C11$2%C, signon: %C11$3%O" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19今 $2 で会話中です。" + +#: src/common/textevents.h:396 +#, fuzzy +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "-%C10-%C11-%O$t $3 により チャンネル $2 からキックされました ($4%O)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$t チャンネル $3 から離れました。" + +#: src/common/textevents.h:402 +#, fuzzy +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "-%C10-%C11-%O$t あなたはチャンネル $3 %C14(%O$4%C14)%O から離れました。" + +#: src/common/textevents.h:405 +#, fuzzy +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "-%C10-%C11-%O$t%C11$2%C に %C11$1%C を招待しています (%C11$3%C)" + +#: src/common/textevents.h:408 +msgid "%C31%H<%H$4$1%H>%H%O%C30$t$2" +msgstr "%C31%H<%H$4$1%H>%H%O%C30$t$2" + +#: src/common/textevents.h:411 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$t あなたは $2 にニックを変更しました。" + +#: src/common/text.c:61 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** %s でログ記録終了\n" + +#: src/common/text.c:263 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** %s からログ記録開始\n" + +#: src/common/text.c:282 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* ログファイルを書き込み用に開けません。 \n" +"%s/xchatlogs のパーミッションを確認してください。" + +#: src/common/text.c:516 +msgid "Left message" +msgstr "左メッセージ" + +#: src/common/text.c:517 +msgid "Right message" +msgstr "右メッセージ" + +#: src/common/text.c:521 +msgid "The nick of the joining person" +msgstr "参加したニック" + +#: src/common/text.c:522 +msgid "The channel being joined" +msgstr "参加したチャンネル" + +#: src/common/text.c:523 src/common/text.c:569 src/common/text.c:626 +msgid "The host of the person" +msgstr "ニックのホスト" + +#: src/common/text.c:527 src/common/text.c:533 src/common/text.c:540 +#: src/common/text.c:607 src/common/text.c:733 src/common/text.c:740 +#: src/common/text.c:745 src/common/text.c:750 src/common/text.c:755 +#: src/common/text.c:761 src/common/text.c:766 src/common/text.c:770 +#: src/common/text.c:776 src/common/text.c:782 src/common/text.c:828 +#: src/common/text.c:838 src/common/text.c:843 src/common/text.c:848 +#: src/common/text.c:857 src/common/text.c:868 src/common/text.c:875 +#: src/common/text.c:881 src/common/text.c:886 src/common/text.c:891 +#: src/common/text.c:898 src/common/text.c:904 src/common/text.c:910 +#: src/common/text.c:915 src/common/text.c:920 src/common/text.c:924 +#: src/common/text.c:930 src/common/text.c:938 src/common/text.c:972 +#: src/common/text.c:977 +msgid "Nickname" +msgstr "ニックネーム" + +#: src/common/text.c:528 +msgid "The action" +msgstr "アクション" + +#: src/common/text.c:529 src/common/text.c:535 +msgid "Mode char" +msgstr "モード文字" + +#: src/common/text.c:534 +msgid "The text" +msgstr "テキスト" + +#: src/common/text.c:536 src/common/text.c:609 +msgid "Identified text" +msgstr "識別テキスト" + +#: src/common/text.c:541 src/common/text.c:597 src/common/text.c:603 +#: src/common/text.c:608 +msgid "The message" +msgstr "メッセージ" + +#: src/common/text.c:545 src/common/text.c:613 +msgid "Old nickname" +msgstr "旧ニックネーム" + +#: src/common/text.c:546 src/common/text.c:614 +msgid "New nickname" +msgstr "新ニックネーム" + +#: src/common/text.c:550 +msgid "Nick of person who changed the topic" +msgstr "トピックを変更したニック" + +#: src/common/text.c:551 src/common/text.c:557 src/fe-gtk/chanlist.c:607 +#: src/fe-gtk/chanlist.c:712 +msgid "Topic" +msgstr "トピック" + +#: src/common/text.c:552 src/common/text.c:556 src/common/text.c:992 +#: src/fe-gtk/chanlist.c:605 src/fe-gtk/chanlist.c:703 +#: src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "チャンネル" + +#: src/common/text.c:561 src/common/text.c:620 +msgid "The nickname of the kicker" +msgstr "キックしたニック" + +#: src/common/text.c:562 src/common/text.c:618 +msgid "The person being kicked" +msgstr "キックされたニック" + +#: src/common/text.c:563 src/common/text.c:570 src/common/text.c:574 +#: src/common/text.c:579 src/common/text.c:619 src/common/text.c:627 +#: src/common/text.c:634 +msgid "The channel" +msgstr "チャンネル" + +#: src/common/text.c:564 src/common/text.c:621 src/common/text.c:628 +msgid "The reason" +msgstr "理由" + +#: src/common/text.c:568 src/common/text.c:625 +msgid "The nick of the person leaving" +msgstr "離脱したニック" + +#: src/common/text.c:575 src/common/text.c:581 +msgid "The time" +msgstr "時間" + +#: src/common/text.c:580 +msgid "The creator" +msgstr "作成者" + +#: src/common/text.c:585 +msgid "Nick" +msgstr "ニック" + +#: src/common/text.c:586 src/common/text.c:844 +msgid "Reason" +msgstr "理由" + +#: src/common/text.c:587 src/common/text.c:735 src/common/text.c:818 +msgid "Host" +msgstr "ホスト" + +#: src/common/text.c:591 src/common/text.c:596 src/common/text.c:601 +msgid "Who it's from" +msgstr "誰から" + +#: src/common/text.c:592 +msgid "The time in x.x format (see below)" +msgstr "x.x 形式による時刻 (下参照)" + +#: src/common/text.c:602 src/common/text.c:645 +msgid "The Channel it's going to" +msgstr "発行されたチャンネル" + +#: src/common/text.c:632 +msgid "The sound" +msgstr "サウンド" + +#: src/common/text.c:633 src/common/text.c:639 src/common/text.c:644 +msgid "The nick of the person" +msgstr "ニック" + +#: src/common/text.c:638 src/common/text.c:643 +msgid "The CTCP event" +msgstr "CTCP イベント" + +#: src/common/text.c:649 +msgid "The nick of the person who set the key" +msgstr "キーワードを設定したニック" + +#: src/common/text.c:650 +msgid "The key" +msgstr "キーワード" + +#: src/common/text.c:654 +msgid "The nick of the person who set the limit" +msgstr "制限を設定したニック" + +#: src/common/text.c:655 +msgid "The limit" +msgstr "制限" + +#: src/common/text.c:659 +#, fuzzy +msgid "The nick of the person who did the op'ing" +msgstr "なるとをくれたニック" + +#: src/common/text.c:660 +msgid "The nick of the person who has been op'ed" +msgstr "なるとをもらったニック" + +#: src/common/text.c:664 +msgid "The nick of the person who has been halfop'ed" +msgstr "ハーフなるとをもらったニック" + +#: src/common/text.c:665 +#, fuzzy +msgid "The nick of the person who did the halfop'ing" +msgstr "ハーフなるとをくれたニック" + +#: src/common/text.c:669 +#, fuzzy +msgid "The nick of the person who did the voice'ing" +msgstr "発言権をくれたニック" + +#: src/common/text.c:670 +msgid "The nick of the person who has been voice'ed" +msgstr "発言権をもらったニック" + +#: src/common/text.c:674 +msgid "The nick of the person who did the banning" +msgstr "バンされたニック" + +#: src/common/text.c:675 src/common/text.c:702 +msgid "The ban mask" +msgstr "バンマスク" + +#: src/common/text.c:679 +msgid "The nick who removed the key" +msgstr "キーワードを削除したニック" + +#: src/common/text.c:683 +msgid "The nick who removed the limit" +msgstr "制限を削除したニック" + +#: src/common/text.c:687 +msgid "The nick of the person of did the deop'ing" +msgstr "なるとを取り上げたニック" + +#: src/common/text.c:688 +msgid "The nick of the person who has been deop'ed" +msgstr "なるとを取られたニック" + +#: src/common/text.c:691 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "ハーフなるとを取り上げたニック" + +#: src/common/text.c:692 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "ハーフなるとを取られたニック" + +#: src/common/text.c:696 +msgid "The nick of the person of did the devoice'ing" +msgstr "発言権を取り上げたニック" + +#: src/common/text.c:697 +msgid "The nick of the person who has been devoice'ed" +msgstr "発言権を取り上げられたニック" + +#: src/common/text.c:701 +msgid "The nick of the person of did the unban'ing" +msgstr "バンを解除したニック" + +#: src/common/text.c:706 +msgid "The nick of the person who did the exempt" +msgstr "免除を行ったニック" + +#: src/common/text.c:707 src/common/text.c:712 +msgid "The exempt mask" +msgstr "免除マスク" + +#: src/common/text.c:711 +msgid "The nick of the person removed the exempt" +msgstr "免除を削除したニック" + +#: src/common/text.c:716 +msgid "The nick of the person who did the invite" +msgstr "招待したニック" + +#: src/common/text.c:717 src/common/text.c:722 +msgid "The invite mask" +msgstr "招待マスク" + +#: src/common/text.c:721 +msgid "The nick of the person removed the invite" +msgstr "招待マスクを削除したニック" + +#: src/common/text.c:726 +msgid "The nick of the person setting the mode" +msgstr "モードを設定したニック" + +#: src/common/text.c:727 +msgid "The mode's sign (+/-)" +msgstr "モードの符号 (+/-)" + +#: src/common/text.c:728 +msgid "The mode letter" +msgstr "モード文字" + +#: src/common/text.c:729 +msgid "The channel it's being set on" +msgstr "チャンネルのモードは" + +#: src/common/text.c:734 +msgid "Username" +msgstr "ユーザー名" + +#: src/common/text.c:736 +msgid "Full name" +msgstr "フルネーム" + +#: src/common/text.c:741 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "チャンネル メンバシップ /\"はIRC 管理者\"" + +#: src/common/text.c:746 +msgid "Server Information" +msgstr "サーバー情報" + +#: src/common/text.c:751 src/common/text.c:756 +msgid "Idle time" +msgstr "アイドル時間" + +#: src/common/text.c:757 +msgid "Signon time" +msgstr "Signon 時間" + +#: src/common/text.c:762 +msgid "Away reason" +msgstr "離席理由" + +#: src/common/text.c:771 src/common/text.c:777 src/common/text.c:785 +#: src/common/text.c:964 +msgid "Message" +msgstr "メッセージ" + +#: src/common/text.c:778 +msgid "Account" +msgstr "アカウント" + +#: src/common/text.c:783 +msgid "Real user@host" +msgstr "リアル user@host" + +#: src/common/text.c:784 +msgid "Real IP" +msgstr "リアル IP" + +#: src/common/text.c:789 src/common/text.c:798 src/common/text.c:804 +#: src/common/text.c:833 src/common/text.c:987 +msgid "Channel Name" +msgstr "チャンネル名" + +#: src/common/text.c:793 src/common/text.c:950 src/fe-gtk/menu.c:1166 +#: src/fe-gtk/menu.c:1345 src/fe-gtk/textgui.c:387 +msgid "Text" +msgstr "テキスト" + +#: src/common/text.c:794 src/common/text.c:800 src/common/text.c:829 +#: src/common/text.c:946 src/common/text.c:988 +msgid "Server Name" +msgstr "サーバー名" + +#: src/common/text.c:799 +msgid "Nick of person who invited you" +msgstr "自分を招待したニック" + +#: src/common/text.c:805 src/fe-gtk/chanlist.c:606 +msgid "Users" +msgstr "ユーザー" + +#: src/common/text.c:809 +msgid "Nickname in use" +msgstr "使用するニック" + +#: src/common/text.c:810 +msgid "Nick being tried" +msgstr "次に試行するニック" + +#: src/common/text.c:814 src/common/text.c:851 src/common/text.c:862 +#: src/common/text.c:869 src/common/text.c:882 src/common/text.c:899 +#: src/common/text.c:999 src/common/util.c:352 +msgid "Error" +msgstr "エラー" + +#: src/common/text.c:819 src/common/text.c:954 +msgid "IP" +msgstr "IPアドレス" + +#: src/common/text.c:820 src/common/text.c:850 +msgid "Port" +msgstr "ポート" + +#: src/common/text.c:824 +msgid "PID" +msgstr "PID" + +#: src/common/text.c:834 src/common/text.c:839 +msgid "Modes string" +msgstr "モード文字列" + +#: src/common/text.c:849 src/common/text.c:887 src/common/text.c:892 +#: src/common/text.c:933 +msgid "IP address" +msgstr "IP アドレス" + +#: src/common/text.c:855 src/common/text.c:880 +msgid "DCC Type" +msgstr "DCC タイプ" + +#: src/common/text.c:856 src/common/text.c:861 src/common/text.c:866 +#: src/common/text.c:873 src/common/text.c:893 src/common/text.c:897 +#: src/common/text.c:903 src/common/text.c:909 src/common/text.c:916 +#: src/common/text.c:925 src/common/text.c:931 +msgid "Filename" +msgstr "ファイル名" + +#: src/common/text.c:867 src/common/text.c:874 +msgid "Destination filename" +msgstr "目的先ファイル名" + +#: src/common/text.c:876 src/common/text.c:905 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:911 +msgid "Pathname" +msgstr "パス名" + +#: src/common/text.c:926 src/fe-gtk/dccgui.c:537 src/fe-gtk/dccgui.c:709 +msgid "Position" +msgstr "場所" + +#: src/common/text.c:932 src/fe-gtk/dccgui.c:353 src/fe-gtk/dccgui.c:536 +#: src/fe-gtk/dccgui.c:708 +msgid "Size" +msgstr "サイズ" + +#: src/common/text.c:937 +msgid "DCC String" +msgstr "DCC 文字列" + +#: src/common/text.c:942 +msgid "Number of notify items" +msgstr "通知アイテム数" + +#: src/common/text.c:958 +msgid "Old Filename" +msgstr "旧ファイル名" + +#: src/common/text.c:959 +msgid "New Filename" +msgstr "新ファイル名" + +#: src/common/text.c:963 +msgid "Receiver" +msgstr "受取人" + +#: src/common/text.c:968 +msgid "Hostmask" +msgstr "ホストマスク" + +#: src/common/text.c:973 +msgid "Hostname" +msgstr "ホスト名" + +#: src/common/text.c:978 +msgid "The Packet" +msgstr "パケット" + +#: src/common/text.c:982 +msgid "Seconds" +msgstr "秒" + +#: src/common/text.c:986 +msgid "Nick of person who have been invited" +msgstr "自分を招待したニック" + +#: src/common/text.c:993 +msgid "Banmask" +msgstr "バンマスク" + +#: src/common/text.c:994 +msgid "Who set the ban" +msgstr "バンを設定した人" + +#: src/common/text.c:995 +msgid "Ban time" +msgstr "バン時間" + +#: src/common/text.c:1035 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"イベント %s の解析エラーです。\n" +"デフォルトを読み込み中です。" + +#: src/common/text.c:1712 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"サウンドファイルの読み込みができません:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "リモートホストがソケットを閉じました。" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "接続が拒否されました。" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "ホストへの経路がありません。" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "接続時間アウト" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "そのアドレスは予約できません。" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "peerによって接続がリセットされました。" + +#: src/common/util.c:839 +#, fuzzy +msgid "Ascension Island" +msgstr "ココス諸島" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "アンドラ" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "アラブ首長国連邦" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "アフガニスタン" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "アンティグアバーブーダ" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "アンギラ" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "アルバニア" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "アルメニア" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "蘭領アンティル諸島" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "アンゴラ" + +#: src/common/util.c:849 +msgid "Antarctica" +msgstr "南極大陸" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "アルゼンチン" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "逆引きDNS" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "米領サモア" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "オーストリア" + +#: src/common/util.c:854 +msgid "Nato Fiel" +msgstr "NATO領地" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "オーストラリア" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "アルーバ" + +#: src/common/util.c:857 +#, fuzzy +msgid "Aland Islands" +msgstr "フォークランド諸島" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "アゼルバイジャン" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "ボスニア・ヘルツェゴビナ" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "バルバドス" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "バングラディシュ" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "ベルギー" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "ブルキナファソ" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "ブルガリア" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "バーレーン" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "ブルンジ" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "ビジネス" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "ベニン" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "バミューダ" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "ブルネイ・ダルサラーム国" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "ボリビア" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "ブラジル" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "バハマ" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "ブータン" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "ブーベ島" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "ボツワナ" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "ベラルーシ" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "ベリーズ" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "カナダ" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "ココス諸島" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "コンゴの民主主義共和国" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "中央アフリカ共和国" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "コンゴ" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "スイス" + +#: src/common/util.c:885 +#, fuzzy +msgid "Cote d'Ivoire" +msgstr "コートジボアール" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "クック諸島" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "チリ" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "カメルーン" + +#: src/common/util.c:889 +msgid "China" +msgstr "中国" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "コロンビア" + +#: src/common/util.c:891 +msgid "Internic Commercial" +msgstr "企業" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "コスタリカ" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "セルビアとモンテネグロ" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "キューバ" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "ケープベルデ" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "クリスマス諸島" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "キプロス" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "チェコ共和国" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "ドイツ" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "ジブチ" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "デンマーク" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "ドミニカ" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "ドミニカ共和国" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "アルジェリア" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "エクアドル" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "学術機関" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "ストニア" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "エジプト" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "西サハラ" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "エリトリア" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "スペイン" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "エチオピア" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "欧州連合" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "フィンランド" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "フィジー" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "フォークランド諸島" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "ミクロネシア" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "フェロー諸島" + +#: src/common/util.c:919 +msgid "France" +msgstr "フランス" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "ガボン" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "イギリス" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "グレナダ" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "ジョージア" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "仏領ギアナ" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "英領チャネル諸島" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "ガーナ" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "ジブラルタル" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "グリーンランド" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "ガンビア" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "ギニア" + +#: src/common/util.c:931 +msgid "Government" +msgstr "政治" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "グアドループ" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "赤道ギニア" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "ギリシャ" + +#: src/common/util.c:935 +#, fuzzy +msgid "S. Georgia and S. Sandwich Isles" +msgstr "南ジョージア・南サンドイッチ諸島" + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "グァテマラ" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "グアム" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "ギニアビサウ" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "ギアナ" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "香港" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "ハードマクドナルド諸島" + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "ホンジュラス" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "クロアチア" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "ハイチ" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "ハンガリー" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "インドネシア" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "アイルランド" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "イスラエル" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "マン島" + +#: src/common/util.c:950 +msgid "India" +msgstr "インド" + +#: src/common/util.c:951 +#, fuzzy +msgid "Informational" +msgstr "国際" + +#: src/common/util.c:952 +msgid "International" +msgstr "国際" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "英領インド洋領域" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "イラク" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "イラン" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "アイスランド" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "イタリア" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "ジャージー" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "ジャマイカ" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "ヨルダン" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "日本" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "ケニア" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "キルギスタン" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "カンボジア" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "キリバス" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "コモロ" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "セントキッツネビス" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "北朝鮮" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "韓国" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "クエート" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "ケイマン諸島" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "カザフスタン" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "ラオス" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "レバノン" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "セントルシア" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "リヒテンシュタイン" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "スリランカ" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "リベリア" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "レソト" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "リトアニア" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "ルクセンブルク" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "ラトビア" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "リビア" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "モロッコ" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "モナコ" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "モルドバ" + +#: src/common/util.c:987 +msgid "United States Medical" +msgstr "合衆国医療機関" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "マダガスカル" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "マーシャル諸島" + +#: src/common/util.c:990 +msgid "Military" +msgstr "軍事" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "マケドニア" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "マリ" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "ミャンマー" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "モンゴル" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "マカオ" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "北マリアナ諸島" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "マルティニク" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "モーリタニア" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "モントセラト" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "マルタ" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "モーリシャス" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "モルジブ" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "マラウィ" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "メキシコ" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "マレーシア" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "モザンビーク" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "ナミビア" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "ニューカレドニア" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "ニジェール" + +#: src/common/util.c:1010 +msgid "Internic Network" +msgstr "ネットワーク" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "ノーフォーク諸島" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "ナイジェリア" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "ニカラグア" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "オランダ" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "ノルウェー" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "ネパール" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "ナウル" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "ニウエ" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "ニュージーランド" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "オマーン" + +#: src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "非営利組織" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "パナマ" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "ペルー" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "ポリネシア フランス領" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "パプアニューギニア" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "フィリピン" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "パキスタン" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "ポーランド" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "セントピエールおよびミクロン" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "ピトケイン" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "プエルトリコ" + +#: src/common/util.c:1032 +#, fuzzy +msgid "Palestinian Territory" +msgstr "英領インド洋領域" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "ポルトガル" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "パラオ" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "パラグアイ" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "カタール" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "レユニオン" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "ルーマニア" + +#: src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "昔ながらの ARPAnet" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "ロシア連邦" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "ルワンダ" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "サウジアラビア" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "ソロモン諸島" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "セーシェル" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "スーダン" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "スウェーデン" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "シンガポール" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "セントヘレナ" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "スロベニア" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "スヴァールバルヤンマイエン諸島" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "スロバキア共和国" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "シェラレオネ" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "サンマリノ" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "セネガル" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "ソマリア" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "スリナム" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "サオトーメプリンシペ" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "旧ソビエト連邦" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "エルサルバドル" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "シリア" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "スワジランド" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "タークスカイコス諸島" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "チャド" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "仏領サザンテリトリー" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "トーゴ" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "タイ" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "タジキスタン" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "トケラウ" + +#: src/common/util.c:1069 src/common/util.c:1073 +msgid "East Timor" +msgstr "東チモール" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "トルクメニスタン" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "チュニジア" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "トンガ" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "トルコ" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "トリニダードトバゴ" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "ツバル" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "台湾" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "タンザニア" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "ウクライナ" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "ウガンダ" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "イギリス" + +#: src/common/util.c:1082 +msgid "US Minor Outlying Islands" +msgstr "米領マイナーアウトライイング諸島" + +#: src/common/util.c:1083 +msgid "United States of America" +msgstr "アメリカ合衆国" + +#: src/common/util.c:1084 +msgid "Uruguay" +msgstr "ウルグアイ" + +#: src/common/util.c:1085 +msgid "Uzbekistan" +msgstr "ウズベキスタン" + +#: src/common/util.c:1086 +msgid "Vatican City State" +msgstr "バチカン市国" + +#: src/common/util.c:1087 +msgid "St. Vincent and the Grenadines" +msgstr "セントビンセントおよびグレナディーン諸島" + +#: src/common/util.c:1088 +msgid "Venezuela" +msgstr "ベネズエラ" + +#: src/common/util.c:1089 +msgid "British Virgin Islands" +msgstr "英領バージン諸島" + +#: src/common/util.c:1090 +msgid "US Virgin Islands" +msgstr "米バージン諸島" + +#: src/common/util.c:1091 +msgid "Vietnam" +msgstr "ベトナム" + +#: src/common/util.c:1092 +msgid "Vanuatu" +msgstr "ヴァヌアトゥ" + +#: src/common/util.c:1093 +msgid "Wallis and Futuna Islands" +msgstr "ヴァリスフトゥーナ諸島" + +#: src/common/util.c:1094 +msgid "Samoa" +msgstr "サモア" + +#: src/common/util.c:1095 +msgid "Yemen" +msgstr "イエメン" + +#: src/common/util.c:1096 +msgid "Mayotte" +msgstr "マヨット" + +#: src/common/util.c:1097 +msgid "Yugoslavia" +msgstr "旧ユーゴスラビア" + +#: src/common/util.c:1098 +msgid "South Africa" +msgstr "南アフリカ" + +#: src/common/util.c:1099 +msgid "Zambia" +msgstr "ザンビア" + +#: src/common/util.c:1100 +msgid "Zimbabwe" +msgstr "ジンバブエ" + +#: src/common/util.c:1110 src/common/util.c:1120 src/fe-gtk/menu.c:516 +#: src/fe-gtk/menu.c:521 src/fe-gtk/menu.c:525 src/fe-gtk/menu.c:529 +#: src/fe-gtk/menu.c:537 src/fe-gtk/menu.c:555 +msgid "Unknown" +msgstr "不明" + +#: src/common/xchat.c:753 src/common/xchat.c:879 +msgid "Open Dialog Window" +msgstr "ダイアログウィンドウを開く" + +#: src/common/xchat.c:754 +msgid "Send a File" +msgstr "ファイル送信" + +#: src/common/xchat.c:755 +msgid "User Info (WHOIS)" +msgstr "ユーザー情報 (WHOIS)" + +#: src/common/xchat.c:756 +msgid "Operator Actions" +msgstr "オペレーター操作" + +#: src/common/xchat.c:758 src/common/xchat.c:849 +msgid "Give Ops" +msgstr "なるとを与える" + +#: src/common/xchat.c:759 src/common/xchat.c:850 +msgid "Take Ops" +msgstr "なるとを奪う" + +#: src/common/xchat.c:760 src/common/xchat.c:853 +msgid "Give Voice" +msgstr "Voice を与える" + +#: src/common/xchat.c:761 src/common/xchat.c:854 +msgid "Take Voice" +msgstr "Voice を奪う" + +#: src/common/xchat.c:763 src/common/xchat.c:858 +msgid "Kick/Ban" +msgstr "キック/バン" + +#: src/common/xchat.c:764 src/common/xchat.c:859 src/common/xchat.c:908 +msgid "Kick" +msgstr "キック" + +#: src/common/xchat.c:765 src/common/xchat.c:766 src/common/xchat.c:767 +#: src/common/xchat.c:768 src/common/xchat.c:769 src/common/xchat.c:860 +#: src/common/xchat.c:861 src/common/xchat.c:862 src/common/xchat.c:863 +#: src/common/xchat.c:864 src/common/xchat.c:907 +msgid "Ban" +msgstr "バン" + +#: src/common/xchat.c:770 src/common/xchat.c:771 src/common/xchat.c:772 +#: src/common/xchat.c:773 src/common/xchat.c:865 src/common/xchat.c:866 +#: src/common/xchat.c:867 src/common/xchat.c:868 +msgid "KickBan" +msgstr "キックバン" + +#: src/common/xchat.c:836 +msgid "Direct client-to-client" +msgstr "ダイレクトにクライアントからクライアント" + +#: src/common/xchat.c:837 +msgid "Send File" +msgstr "ファイル送信" + +#: src/common/xchat.c:838 +msgid "Offer Chat" +msgstr "チャットの依頼" + +#: src/common/xchat.c:839 +msgid "Abort Chat" +msgstr "Chat について" + +#: src/common/xchat.c:840 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "バージョン" + +#: src/common/xchat.c:841 +msgid "Userinfo" +msgstr "ユーザー情報" + +#: src/common/xchat.c:842 +msgid "Clientinfo" +msgstr "クライアント情報" + +#: src/common/xchat.c:843 src/common/xchat.c:877 src/common/xchat.c:925 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:844 +msgid "Time" +msgstr "時間" + +#: src/common/xchat.c:845 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:846 +msgid "Oper" +msgstr "Oper" + +#: src/common/xchat.c:847 +msgid "Kill this user" +msgstr "このユーザーをkill" + +#: src/common/xchat.c:848 +msgid "Mode" +msgstr "モード" + +#: src/common/xchat.c:851 +msgid "Give Half-Ops" +msgstr "ハーフなるとを与える" + +#: src/common/xchat.c:852 +msgid "Take Half-Ops" +msgstr "ハーフなるとを奪う" + +#: src/common/xchat.c:855 +msgid "Ignore" +msgstr "無視" + +#: src/common/xchat.c:856 +msgid "Ignore User" +msgstr "無視するユーザー" + +#: src/common/xchat.c:857 +msgid "UnIgnore User" +msgstr "無視解除するユーザー" + +#: src/common/xchat.c:869 src/fe-gtk/dccgui.c:586 src/fe-gtk/dccgui.c:752 +msgid "Info" +msgstr "情報" + +#: src/common/xchat.c:870 +msgid "Who" +msgstr "Who" + +#: src/common/xchat.c:871 src/common/xchat.c:921 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/xchat.c:872 +msgid "DNS Lookup" +msgstr "DNS 検索" + +#: src/common/xchat.c:873 +msgid "Trace" +msgstr "トレース" + +#: src/common/xchat.c:874 +msgid "UserHost" +msgstr "ユーザーホスト" + +#: src/common/xchat.c:875 +msgid "External" +msgstr "外部" + +#: src/common/xchat.c:876 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:878 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:890 +msgid "Leave Channel" +msgstr "チャンネルを離れる" + +#: src/common/xchat.c:891 src/fe-gtk/menu.c:1352 +msgid "Join Channel..." +msgstr "チャンネルへ参加..." + +#: src/common/xchat.c:892 src/fe-gtk/menu.c:1047 +msgid "Enter Channel to Join:" +msgstr "参加するチャンネルを入力:" + +#: src/common/xchat.c:893 +msgid "Server Links" +msgstr "サーバーリンク" + +#: src/common/xchat.c:894 +msgid "Ping Server" +msgstr "ピングサーバー" + +#: src/common/xchat.c:895 +msgid "Hide Version" +msgstr "バージョンを隠す" + +#: src/common/xchat.c:905 +msgid "Op" +msgstr "なると" + +#: src/common/xchat.c:906 +msgid "DeOp" +msgstr "なると奪略" + +#: src/common/xchat.c:909 +msgid "bye" +msgstr "さようなら" + +#: src/common/xchat.c:910 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "%s をキックする理由を入力:" + +#: src/common/xchat.c:911 +msgid "Sendfile" +msgstr "ファイル送信" + +#: src/common/xchat.c:912 +msgid "Dialog" +msgstr "ダイアログ" + +#: src/common/xchat.c:922 +msgid "Send" +msgstr "送信" + +#: src/common/xchat.c:923 +msgid "Chat" +msgstr "Chat" + +#: src/common/xchat.c:924 src/fe-gtk/banlist.c:321 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "消去" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "XChat について" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "マルチプラットフォーム IRC クライアント" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "文字集合" + +#: src/fe-gtk/banlist.c:112 src/fe-gtk/chanlist.c:301 +msgid "Not connected." +msgstr "接続していません。" + +#: src/fe-gtk/banlist.c:153 src/fe-gtk/banlist.c:237 +msgid "You must select some bans." +msgstr "いくつかのバンを選ばなければなりません。" + +#: src/fe-gtk/banlist.c:252 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "マスク" + +#: src/fe-gtk/banlist.c:253 src/fe-gtk/dccgui.c:352 src/fe-gtk/dccgui.c:539 +msgid "From" +msgstr "送り元" + +#: src/fe-gtk/banlist.c:254 +msgid "Date" +msgstr "日付" + +#: src/fe-gtk/banlist.c:297 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "チャンネルタブの間だけバン一覧ウィンドウを開くことができます。" + +#: src/fe-gtk/banlist.c:301 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: バン一覧 (%s)" + +#: src/fe-gtk/banlist.c:317 +msgid "Unban" +msgstr "バン解除" + +#: src/fe-gtk/banlist.c:319 +msgid "Crop" +msgstr "" + +#: src/fe-gtk/banlist.c:323 +msgid "Refresh" +msgstr "再描画" + +#: src/fe-gtk/chanlist.c:122 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "ユーザーとチャンネルの統計: %d/%d ユーザーが %d/%d チャンネルにいます。" + +#: src/fe-gtk/chanlist.c:544 +msgid "I can't save an empty list!" +msgstr "内容が空のリストは保存できません!" + +#: src/fe-gtk/chanlist.c:547 src/fe-gtk/menu.c:983 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "出力ファイル名の選択" + +#: src/fe-gtk/chanlist.c:615 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: チャンネル一覧 (%s)" + +#: src/fe-gtk/chanlist.c:630 +msgid "List display options:" +msgstr "ディスプレイオプションを表示:" + +#: src/fe-gtk/chanlist.c:642 +msgid "Minimum Users:" +msgstr "最小ユーザー数:" + +#: src/fe-gtk/chanlist.c:657 +msgid "Maximum Users:" +msgstr "最大ユーザー数:" + +#: src/fe-gtk/chanlist.c:673 +msgid "Pattern Match:" +msgstr "パターンマッチ:" + +#: src/fe-gtk/chanlist.c:675 +msgid "Regex Match:" +msgstr "正規表現マッチ:" + +#: src/fe-gtk/chanlist.c:697 +msgid "Apply Match to:" +msgstr "" + +#: src/fe-gtk/chanlist.c:721 +msgid "Apply" +msgstr "適用" + +#: src/fe-gtk/chanlist.c:763 +msgid "Refresh the list" +msgstr "最新情報に更新" + +#: src/fe-gtk/chanlist.c:765 +msgid "Save the list" +msgstr "リストを保存" + +#: src/fe-gtk/chanlist.c:767 src/fe-gtk/menu.c:799 src/fe-gtk/menu.c:1030 +msgid "Join Channel" +msgstr "チャンネルへ参加" + +#: src/fe-gtk/dccgui.c:117 +#, c-format +msgid "Send file to %s" +msgstr "%s へ送信するファイル名の選択" + +#: src/fe-gtk/dccgui.c:340 +msgid "None" +msgstr "なし" + +#: src/fe-gtk/dccgui.c:351 src/fe-gtk/dccgui.c:535 src/fe-gtk/dccgui.c:707 +#: src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "ファイル" + +#: src/fe-gtk/dccgui.c:352 src/fe-gtk/dccgui.c:712 +msgid "To" +msgstr "宛先" + +#: src/fe-gtk/dccgui.c:354 +msgid "Address" +msgstr "アドレス" + +#: src/fe-gtk/dccgui.c:355 +msgid "Started" +msgstr "開始時間" + +#: src/fe-gtk/dccgui.c:356 +msgid "Speed limit" +msgstr "速度制限" + +#: src/fe-gtk/dccgui.c:381 +msgid "That file is not resumable." +msgstr "ファイルはリジュームできません。" + +#: src/fe-gtk/dccgui.c:385 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"ファイルにアクセスできません: %s\n" +"%s.\n" +"おそらく継続できません。" + +#: src/fe-gtk/dccgui.c:392 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:396 +msgid "Cannot resume the same file from two people." +msgstr "2 人から同じファイルを再開できません。" + +#: src/fe-gtk/dccgui.c:534 src/fe-gtk/dccgui.c:706 src/fe-gtk/dccgui.c:857 +#: src/fe-gtk/notifygui.c:133 +msgid "Status" +msgstr "状態" + +#: src/fe-gtk/dccgui.c:538 src/fe-gtk/dccgui.c:711 +msgid "ETA" +msgstr "残り" + +#: src/fe-gtk/dccgui.c:548 +msgid "XChat: File Receive List" +msgstr "XChat: ファイル受信一覧" + +#: src/fe-gtk/dccgui.c:580 src/fe-gtk/dccgui.c:751 src/fe-gtk/dccgui.c:889 +msgid "Abort" +msgstr "中断" + +#: src/fe-gtk/dccgui.c:582 src/fe-gtk/dccgui.c:890 +msgid "Accept" +msgstr "許可" + +#: src/fe-gtk/dccgui.c:584 +msgid "Resume" +msgstr "再開" + +#: src/fe-gtk/dccgui.c:588 +msgid "Open" +msgstr "開く" + +#: src/fe-gtk/dccgui.c:710 +msgid "Ack" +msgstr "確認" + +#: src/fe-gtk/dccgui.c:722 +#, fuzzy +msgid "XChat: Uploads und Downloads" +msgstr "XChat: アップロードとダウンロード" + +#: src/fe-gtk/dccgui.c:723 +msgid "Downloads" +msgstr "ダウンロード" + +#: src/fe-gtk/dccgui.c:724 +msgid "Uploads" +msgstr "アップロード" + +#: src/fe-gtk/dccgui.c:725 +msgid "Details" +msgstr "詳細" + +#: src/fe-gtk/dccgui.c:726 +msgid "Open Folder..." +msgstr "フォルダーを開く..." + +#: src/fe-gtk/dccgui.c:730 +msgid "XChat: File Send List" +msgstr "XChat: ファイル送信一覧" + +#: src/fe-gtk/dccgui.c:858 +msgid "To/From" +msgstr "宛先/送信元" + +#: src/fe-gtk/dccgui.c:859 +msgid "Recv" +msgstr "受取" + +#: src/fe-gtk/dccgui.c:860 +msgid "Sent" +msgstr "送信" + +#: src/fe-gtk/dccgui.c:861 +msgid "Start Time" +msgstr "開始時間" + +#: src/fe-gtk/dccgui.c:871 +msgid "XChat: DCC Chat List" +msgstr "XChat: DCC チャット一覧" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*新規*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "*データ*" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "名前" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "コマンド" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "上へ移動" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "下へ移動" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "キャンセル" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "保存" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:757 +msgid "Add New" +msgstr "新規追加" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:762 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "削除" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "ソート" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "ヘルプ" + +#: src/fe-gtk/fe-gtk.c:122 +msgid "Don't auto connect to servers" +msgstr "自動的にサーバーに再接続しない" + +#: src/fe-gtk/fe-gtk.c:123 +msgid "Use a different config directory" +msgstr "異なる設定ディレクトリを使う" + +#: src/fe-gtk/fe-gtk.c:124 +msgid "Don't auto load any plugins" +msgstr "いくつかのプラグインは自動読み込まないa" + +#: src/fe-gtk/fe-gtk.c:125 +msgid "Show plugin auto-load directory" +msgstr "プラグイン自動読み込みディレクトリを表示する" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Show user config directory" +msgstr "ユーザー設定ディレクトリを表示する" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Open an irc://server:port/channel URL" +msgstr "URL irc://server:port/channel を開く" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Show version information" +msgstr "バージョン情報を表示する" + +#: src/fe-gtk/fe-gtk.c:244 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"フォントを開けません:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:588 +msgid "Search buffer is empty.\n" +msgstr "検索バッファが空です。\n" + +#: src/fe-gtk/fe-gtk.c:671 +#, c-format +msgid "%d bytes" +msgstr "%d バイト" + +#: src/fe-gtk/fe-gtk.c:672 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "ネットワーク送信キュー: %d バイト" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "コマンド実行 は, データ1の内容を入力行へ, キーを入力したエントリボックスに実際にタイプしたように 処理を実行します。(チャンネル/ニックへ送信する)コマンド, もしくはユーザーコマンドを, この中に含めることも可能です。データ1中に, 『\\n』文字が使われた場合, この文字は, コマンドの区切りとして解釈されるので, 複数のコマンドを実行することも可能です。 実際に『\\』を打たせたいときは, 『\\\\』と入力して下さい" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "ページ変更コマンドは, ノートブックのページ間を切り替えます。切り替えたいページ先を, データ1にセットします。また, データ2に 何かセットされていると, 切り替えが現在位置からの相対位置になります" + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "バッファへ挿入 コマンドはデータ1の内容を, 入力行中のカーソルの場所へ挿入します。" + +#: src/fe-gtk/fkeys.c:165 +#, fuzzy +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "ページ・スクロール コマンドは, テキスト・モニタ画面を一ページ分, 上下へスクロールさせます. データ1に何か設定されていれば上へスクロールし, そうでなければ下へスクロールします。" + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "バッファ設定コマンドは, テキスト入力行の内容を, データ1の内容として置き換えます。" + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "最後のコマンドはテキスト入力行に, 最後に入力されたコマンド内容を含ませます. シェル上で, コマンドを直接実行するのと同じです。" + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "次のコマンドはテキスト入力行に, 次に入力されたコマンド内容を含ませます. シェル上で, コマンドを直接実行するのと同じです。" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "このコマンドは, 入力行中の不完全なニックやコマンドを補完します. データ1が設定されていると, タブキーを2回押した場合に, 次の補完候補でなく, 最後に入力されたニックが補完されます。" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "このコマンドは, ニックリストを上下へスクロールさせます. データ1に何か設定されていれば上へスクロールし, そうでなければ下へスクロールします。" + +#: src/fe-gtk/fkeys.c:177 +#, fuzzy +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "このコマンドは, 最後に入力された動作内容を置換リストの内容と照らし合わせ, 一致した場合, それを置換します" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "このコマンドはフロントタブを一つずつ左に移動します" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "このコマンドはフロントタブを一つずつ右に移動します" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "このコマンドは現在のタブファミリーを左に移動します" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "このコマンドは現在のタブファミリーを右に移動します" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "入力ラインを履歴に記録するが、サーバーには送信しません" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "キーバインド設定にエラーがあります" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:735 src/fe-gtk/fkeys.c:741 +#: src/fe-gtk/fkeys.c:746 src/fe-gtk/maingui.c:1092 src/fe-gtk/maingui.c:1108 +#: src/fe-gtk/maingui.c:1385 src/fe-gtk/maingui.c:1486 +#: src/fe-gtk/maingui.c:2935 +msgid "<none>" +msgstr "<なし>" + +#: src/fe-gtk/fkeys.c:699 +msgid "Mod" +msgstr "モード" + +#: src/fe-gtk/fkeys.c:700 src/fe-gtk/fkeys.c:795 +msgid "Key" +msgstr "キー" + +#: src/fe-gtk/fkeys.c:701 +msgid "Action" +msgstr "アクション" + +#: src/fe-gtk/fkeys.c:710 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: キーボードショートカット" + +#: src/fe-gtk/fkeys.c:788 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:790 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:792 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:799 +msgid "Data 1" +msgstr "データ1" + +#: src/fe-gtk/fkeys.c:802 +msgid "Data 2" +msgstr "データ2" + +#: src/fe-gtk/fkeys.c:844 +msgid "Error opening keys config file\n" +msgstr "キー設定ファイルのオープンにエラーが発生しました.\n" + +#: src/fe-gtk/fkeys.c:1011 +#, fuzzy, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"キーバインド設定ファイルに不明なキー名 %s があります。\n" +"読み込みを中断します, ~/.xchat/keybindings.conf を直してください。\n" + +#: src/fe-gtk/fkeys.c:1049 +#, fuzzy, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"キーバインド設定ファイルに不明なアクション %s があります。\n" +"読み込みを中断します, ~/.xchat/keybindings.conf を直してください。\n" + +#: src/fe-gtk/fkeys.c:1070 +#, fuzzy, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"期待すべきデータ行 (Dx{:|!} で開始) しかし読み込み行:\n" +"%s\n" +"\n" +"\n" +"読み込みを中断します, ~/.xchat/keybindings を直してください。\n" + +#: src/fe-gtk/fkeys.c:1139 +#, fuzzy, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"キーバインド設定ファイルに不明なキー名 %s があります。\n" +"読み込みを中断します, ~/.xchat/keybindings.conf を直してください。\n" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "そのファイルには書き込めません。" + +#: src/fe-gtk/gtkutil.c:132 +msgid "Cannot read that file." +msgstr "そのファイルには読み込めません。" + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "そのマスクは既に存在します。" + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:1957 +msgid "Private" +msgstr "プライベート" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "通知" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "招待" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "無視解除" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "無視するマスクを入力:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "XChat: 無視一覧" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "無視状態:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "チャンネル:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "プライベート:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "通知:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "招待:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:347 +msgid "Add..." +msgstr "追加..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "チャンネル名が短すぎます。もう一度試してください。" + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: 接続完了" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "%s へ接続完了です。" + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "あなたは何を次に行いたいですか?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "何もしません。後でチャンネルに参加します。(_N)" + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "チャンネルへ参加:" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "参加したいチャンネルの名前を分かっている場合は、ここで入力してください。" + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "チャンネル一覧ウィンドウを開きます。(_P)" + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "常にこのダイアログを接続後に表示します。(_A)" + +#: src/fe-gtk/maingui.c:456 +#, fuzzy +msgid "Dialog with" +msgstr "ダイアログ・ウィンドウ" + +#: src/fe-gtk/maingui.c:734 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s のトピックは: %s" + +#: src/fe-gtk/maingui.c:739 +msgid "No topic is set" +msgstr "トピックを設定していません" + +#: src/fe-gtk/maingui.c:1032 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1162 +msgid "No other tabs open, quit xchat?" +msgstr "その他のタブを開きません。xchat を終了しますか?" + +#: src/fe-gtk/maingui.c:1337 +msgid "Insert Attribute or Color Code" +msgstr "色コードか属性を挿入する" + +#: src/fe-gtk/maingui.c:1339 +msgid "<b>Bold</b>" +msgstr "<b>強調</b>" + +#: src/fe-gtk/maingui.c:1340 +msgid "<u>Underline</u>" +msgstr "<u>下線</u>" + +#: src/fe-gtk/maingui.c:1342 +msgid "Normal" +msgstr "通常" + +#: src/fe-gtk/maingui.c:1344 +msgid "Colors 0-7" +msgstr "色 0 から 7" + +#: src/fe-gtk/maingui.c:1354 +msgid "Colors 8-15" +msgstr "色 8 から 15" + +#: src/fe-gtk/maingui.c:1390 +msgid "Beep on message" +msgstr "メッセージでビープ音を鳴らす" + +#: src/fe-gtk/maingui.c:1393 +msgid "Show join/part messages" +msgstr "参加/退出メッセージを表示" + +#: src/fe-gtk/maingui.c:1395 +msgid "Color paste" +msgstr "色貼り付け" + +#: src/fe-gtk/maingui.c:1402 +msgid "Go to" +msgstr "" + +#: src/fe-gtk/maingui.c:1415 src/fe-gtk/menu.c:1759 +msgid "_Close Tab" +msgstr "タブを閉じる(_C)" + +#: src/fe-gtk/maingui.c:1418 src/fe-gtk/menu.c:1758 +msgid "_Detach Tab" +msgstr "タブを外す(_D)" + +#: src/fe-gtk/maingui.c:1657 +msgid "Some file transfers still active, quit xchat?" +msgstr "いくつかのファイル転送はまだ活動中です。xchat を終了しますか?" + +#: src/fe-gtk/maingui.c:1825 src/fe-gtk/maingui.c:1931 +msgid "User limit must be a number!\n" +msgstr "ユーザー制限は数字でなければなりません!\n" + +#: src/fe-gtk/maingui.c:1953 +msgid "Topic Protection" +msgstr "トピック保護" + +#: src/fe-gtk/maingui.c:1954 +msgid "No outside messages" +msgstr "チャンネル外からのメッセージ禁止" + +#: src/fe-gtk/maingui.c:1955 +msgid "Secret" +msgstr "秘密" + +#: src/fe-gtk/maingui.c:1956 +msgid "Invite Only" +msgstr "招待のみ" + +#: src/fe-gtk/maingui.c:1958 +msgid "Moderated" +msgstr "モデレート" + +#: src/fe-gtk/maingui.c:1959 +msgid "Ban List" +msgstr "バン一覧" + +#: src/fe-gtk/maingui.c:1961 +msgid "Keyword" +msgstr "キーワード" + +#: src/fe-gtk/maingui.c:1973 +msgid "User Limit" +msgstr "ユーザー数制限" + +#: src/fe-gtk/maingui.c:2082 +msgid "Show/Hide userlist" +msgstr "ユーザーリストを表示/隠す" + +#: src/fe-gtk/maingui.c:2207 +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 "" + +#: src/fe-gtk/maingui.c:2439 +msgid "Enter new nickname:" +msgstr "新ニックネームを入力:" + +#: src/fe-gtk/menu.c:120 +msgid "Host unknown" +msgstr "不明なホスト" + +#: src/fe-gtk/menu.c:507 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:512 src/fe-gtk/menu.c:516 +msgid "Real Name:" +msgstr "本名:" + +#: src/fe-gtk/menu.c:520 +msgid "User:" +msgstr "ユーザー:" + +#: src/fe-gtk/menu.c:524 +msgid "Country:" +msgstr "国:" + +#: src/fe-gtk/menu.c:528 +msgid "Server:" +msgstr "サーバー:" + +#: src/fe-gtk/menu.c:540 +msgid "Away Msg:" +msgstr "離席メッセージ:" + +#: src/fe-gtk/menu.c:550 +#, c-format +msgid "%u minutes ago" +msgstr "%u 分前" + +#: src/fe-gtk/menu.c:552 src/fe-gtk/menu.c:555 +msgid "Last Msg:" +msgstr "最後のメッセージ: %s" + +#: src/fe-gtk/menu.c:655 +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 "" + +#: src/fe-gtk/menu.c:742 +msgid "Open Link in Browser" +msgstr "ブラウザーでリンクを開く" + +#: src/fe-gtk/menu.c:743 +msgid "Copy Selected Link" +msgstr "選択したリンクをコピーする" + +#: src/fe-gtk/menu.c:803 +msgid "Part Channel" +msgstr "チャンネルを離れる" + +#: src/fe-gtk/menu.c:805 +msgid "Cycle Channel" +msgstr "チャンネルをサイクルする" + +#: src/fe-gtk/menu.c:828 +msgid "XChat: User menu" +msgstr "XChat: ユーザーメニュー" + +#: src/fe-gtk/menu.c:837 +msgid "Edit This Menu..." +msgstr "このメニューを編集..." + +#: src/fe-gtk/menu.c:1032 +msgid "Retrieve channel list..." +msgstr "チャンネルリストの取得..." + +#: src/fe-gtk/menu.c:1100 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" +"ユーザーコマンド - 特殊コード: \n" +"\n" +"%c = 現在のチャンネル\n" +"%m = マシン情報\n" +"%n = あなたのニック\n" +"%t = 時間/日付\n" +"%v = xchat のバージョン\n" +"%2 = 単語 2\n" +"%3 = 単語 3\n" +"&2 = 単語 2 からファイルの最後まで\n" +"&3 = 単語 3 からファイルの最後まで\n" +"\n" +"例:\n" +"/cmd john hello\n" +"\n" +"%2 は「john」になるでしょう\n" +"&2 は「こんにちは john」です。" + +#: src/fe-gtk/menu.c:1115 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"ユーザー一覧ボタン - 特殊コード:\n" +"\n" +"%a = すべての選択済みニック\n" +"%c = 現在のチャンネル\n" +"%h = 選択済ニックのホスト名\n" +"%m = マシン情報\n" +"%n = あなたのニック\n" +"%s = 選択済ニック\n" +"%t = 日付/時間\n" +"\n" + +#: src/fe-gtk/menu.c:1124 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"ダイアログボタン - 特殊コード:\n" +"\n" +"%a = すべての選択済ニック\n" +"%c = 現在のチャンネル\n" +"%h = 選択済ニックのホスト名\n" +"%m = マシン情報\n" +"%n = あなたのニック\n" +"%s = 選択済ニック\n" +"%t = 時間/日付\n" + +#: src/fe-gtk/menu.c:1133 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" +"CTCP 返信 - 特殊コード:\n" +"\n" +"%d = データ (the whole ctcp)\n" +"%m = マシン情報\n" +"%s = ctcp を送ったニック\n" +"%t = 時間/日付\n" +"%2 = 単語 2\n" +"%3 = 単語 3\n" +"&2 = 単語 2 から行末\n" +"&3 = 単語 3 から行末\n" +"\n" + +#: src/fe-gtk/menu.c:1143 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" + +#: src/fe-gtk/menu.c:1152 +msgid "XChat: User Defined Commands" +msgstr "XChat: ユーザー定義コマンドの" + +#: src/fe-gtk/menu.c:1159 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: ユーザー一覧のポップアップメニュー" + +#: src/fe-gtk/menu.c:1166 +msgid "Replace with" +msgstr "" + +#: src/fe-gtk/menu.c:1166 +msgid "XChat: Replace" +msgstr "XChat: 置換" + +#: src/fe-gtk/menu.c:1173 +msgid "XChat: URL Handlers" +msgstr "XChat: URL ハンドラー" + +#: src/fe-gtk/menu.c:1192 +msgid "XChat: Userlist buttons" +msgstr "XChat: ユーザーリストのボタン" + +#: src/fe-gtk/menu.c:1199 +msgid "XChat: Dialog buttons" +msgstr "XChat: ダイアログボタン" + +#: src/fe-gtk/menu.c:1206 +msgid "XChat: CTCP Replies" +msgstr "XChat: CTCP 応答" + +#: src/fe-gtk/menu.c:1304 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1305 +msgid "Network Li_st..." +msgstr "ネットワーク一覧(_S)..." + +#: src/fe-gtk/menu.c:1308 +msgid "_New" +msgstr "新規(_N)" + +#: src/fe-gtk/menu.c:1309 +msgid "Server Tab..." +msgstr "サーバータブ..." + +#: src/fe-gtk/menu.c:1310 +msgid "Channel Tab..." +msgstr "チャンネルタブ..." + +#: src/fe-gtk/menu.c:1311 +msgid "Server Window..." +msgstr "サーバーウィンドウ..." + +#: src/fe-gtk/menu.c:1312 +msgid "Channel Window..." +msgstr "チャンネルウィンドウ..." + +#: src/fe-gtk/menu.c:1317 src/fe-gtk/menu.c:1319 +msgid "_Load Plugin or Script..." +msgstr "プラグインかスクリプトをロードする(L)..." + +#: src/fe-gtk/menu.c:1327 +msgid "_Quit" +msgstr "終了(_Q)" + +#: src/fe-gtk/menu.c:1329 +msgid "_View" +msgstr "閲覧(_V)" + +#: src/fe-gtk/menu.c:1331 +msgid "_Menubar" +msgstr "メニューバー(_M)" + +#: src/fe-gtk/menu.c:1332 +msgid "_Topicbar" +msgstr "トピックバー(_T)" + +#: src/fe-gtk/menu.c:1333 +msgid "_Userlist Buttons" +msgstr "ユーザー一覧のボタン" + +#: src/fe-gtk/menu.c:1334 +msgid "M_ode Buttons" +msgstr "モードボタン(_O)" + +#: src/fe-gtk/menu.c:1336 +msgid "_Layout" +msgstr "レイアウト(_L)" + +#: src/fe-gtk/menu.c:1338 +msgid "_Tabs" +msgstr "タブ(_T)" + +#: src/fe-gtk/menu.c:1339 +msgid "T_ree" +msgstr "ツリー(_R)" + +#: src/fe-gtk/menu.c:1341 +msgid "_Network Meters" +msgstr "ネットワークメーター(_N)" + +#: src/fe-gtk/menu.c:1343 +msgid "Off" +msgstr "オフ" + +#: src/fe-gtk/menu.c:1344 +msgid "Graph" +msgstr "グラフ" + +#: src/fe-gtk/menu.c:1346 +msgid "Both" +msgstr "両方" + +#: src/fe-gtk/menu.c:1349 +msgid "_Server" +msgstr "サーバー(_S)" + +#: src/fe-gtk/menu.c:1350 +msgid "_Disconnect" +msgstr "切断する(_D)" + +#: src/fe-gtk/menu.c:1351 +msgid "_Reconnect" +msgstr "再接続する(_R)" + +#: src/fe-gtk/menu.c:1355 +msgid "Marked Away" +msgstr "席を離れる" + +#: src/fe-gtk/menu.c:1357 +msgid "_Usermenu" +msgstr "ユーザーメニュー(_U)" + +#: src/fe-gtk/menu.c:1359 +msgid "S_ettings" +msgstr "設定(_E)" + +#: src/fe-gtk/menu.c:1360 +msgid "_Preferences" +msgstr "設定(_P)..." + +#: src/fe-gtk/menu.c:1362 +msgid "Advanced" +msgstr "高度な設定" + +#: src/fe-gtk/menu.c:1363 +msgid "Auto Replace..." +msgstr "自動置換..." + +#: src/fe-gtk/menu.c:1364 +msgid "CTCP Replies..." +msgstr "CTCP 応答..." + +#: src/fe-gtk/menu.c:1365 +msgid "Dialog Buttons..." +msgstr "ダイアログボタン..." + +#: src/fe-gtk/menu.c:1366 +msgid "Keyboard Shortcuts..." +msgstr "キーボードショートカット..." + +#: src/fe-gtk/menu.c:1367 +msgid "Text Events..." +msgstr "テキストイベント..." + +#: src/fe-gtk/menu.c:1368 +msgid "URL Handlers..." +msgstr "URL ハンドラ..." + +#: src/fe-gtk/menu.c:1369 +msgid "User Commands..." +msgstr "ユーザー定義コマンド..." + +#: src/fe-gtk/menu.c:1370 +msgid "Userlist Buttons..." +msgstr "ユーザーリストのボタン..." + +#: src/fe-gtk/menu.c:1371 +msgid "Userlist Popup..." +msgstr "ユーザーリストのポップアップ..." + +#: src/fe-gtk/menu.c:1374 +msgid "_Window" +msgstr "ウィンドウ(_W)" + +#: src/fe-gtk/menu.c:1375 +msgid "Ban List..." +msgstr "バンリスト..." + +#: src/fe-gtk/menu.c:1376 +msgid "Channel List..." +msgstr "チャンネルリスト..." + +#: src/fe-gtk/menu.c:1377 +msgid "Character Chart..." +msgstr "文字集合..." + +#: src/fe-gtk/menu.c:1378 +msgid "Direct Chat..." +msgstr "ダイレクトチャット..." + +#: src/fe-gtk/menu.c:1379 +msgid "File Transfers..." +msgstr "ファイル転送..." + +#: src/fe-gtk/menu.c:1380 +msgid "Ignore List..." +msgstr "無視一覧..." + +#: src/fe-gtk/menu.c:1381 +msgid "Notify List..." +msgstr "通知一覧..." + +#: src/fe-gtk/menu.c:1382 +msgid "Plugins and Scripts..." +msgstr "プラグインとスクリプト..." + +#: src/fe-gtk/menu.c:1383 +msgid "Raw Log..." +msgstr "生ログ..." + +#: src/fe-gtk/menu.c:1384 +msgid "URL Grabber..." +msgstr "URL 取り込み..." + +#: src/fe-gtk/menu.c:1386 +msgid "Reset Marker Line" +msgstr "マーカー行をリセット" + +#: src/fe-gtk/menu.c:1387 +msgid "C_lear Text" +msgstr "通常テキスト(_L)" + +#: src/fe-gtk/menu.c:1388 +msgid "Search Text..." +msgstr "テキスト検索..." + +#: src/fe-gtk/menu.c:1389 +msgid "Save Text..." +msgstr "テキスト保存..." + +#: src/fe-gtk/menu.c:1391 src/fe-gtk/menu.c:1750 +msgid "_Help" +msgstr "ヘルプ(_H)" + +#: src/fe-gtk/menu.c:1392 +msgid "_Contents" +msgstr "コンテンツ(_C)" + +#: src/fe-gtk/menu.c:1393 +msgid "_About" +msgstr "XChat について(_A)" + +#: src/fe-gtk/menu.c:1763 +#, fuzzy +msgid "_Attach Window" +msgstr "ウィンドウ(_W)" + +#: src/fe-gtk/menu.c:1764 +msgid "_Close Window" +msgstr "ウィンドウを閉じる(_C)" + +#: src/fe-gtk/notifygui.c:132 +msgid "User" +msgstr "ユーザー" + +#: src/fe-gtk/notifygui.c:134 +msgid "Server" +msgstr "サーバー" + +#: src/fe-gtk/notifygui.c:135 +msgid "Last Seen" +msgstr "最近の出会い" + +#: src/fe-gtk/notifygui.c:175 +msgid "Offline" +msgstr "オフライン" + +#: src/fe-gtk/notifygui.c:195 src/fe-gtk/setup.c:203 +msgid "Never" +msgstr "一度もなし" + +#: src/fe-gtk/notifygui.c:213 +msgid "Online" +msgstr "オンライン" + +#: src/fe-gtk/notifygui.c:318 +msgid "Enter nickname to add:" +msgstr "新ニックネームを入力:" + +#: src/fe-gtk/notifygui.c:334 +msgid "XChat: Notify List" +msgstr "XChat: 通知一覧" + +#: src/fe-gtk/notifygui.c:351 +msgid "Remove" +msgstr "削除" + +#: src/fe-gtk/notifygui.c:355 +msgid "Open Dialog" +msgstr "ダイアログウィンドウを開く" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:421 +msgid "Description" +msgstr "詳細" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "読み込むプラグインかスクリプトを選択する" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat プラグインとスクリプト" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "ロード...(_L)" + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "アンロード(_U)" + +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "閉じる(_C)" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:435 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "別名で保存..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: 生ログ (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "生ログの消去" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "あなたがこの検索のために開いたウィンドウはもう存在しません。" + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "最後まで検索しました。見つかりません" + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: 検索" + +#: src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "検索語:" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "前を検索(_B)" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "検索(_F)" + +#: src/fe-gtk/servlistgui.c:169 src/fe-gtk/servlistgui.c:268 +msgid "New Network" +msgstr "新規ネットワーク" + +#: src/fe-gtk/servlistgui.c:553 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "本当にネットワーク \"%s\" とそのすべてのサーバーを削除しますか?" + +#: src/fe-gtk/servlistgui.c:677 +msgid "User name and Real name cannot be left blank." +msgstr "ユーザー名と本名は空にできません。" + +#: src/fe-gtk/servlistgui.c:977 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: %s 編集" + +#: src/fe-gtk/servlistgui.c:996 +#, c-format +msgid "Servers for %s" +msgstr "%s のサーバー" + +#: src/fe-gtk/servlistgui.c:1007 +msgid "Connect to selected server only" +msgstr "選択したサーバーのみに接続する" + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1010 +msgid "Your Details" +msgstr "個人の詳細" + +#: src/fe-gtk/servlistgui.c:1016 +msgid "Use global user information" +msgstr "全体ユーザー情報を使う" + +#: src/fe-gtk/servlistgui.c:1019 src/fe-gtk/servlistgui.c:1251 +msgid "_Nick name:" +msgstr "ニックネーム(_N):" + +#: src/fe-gtk/servlistgui.c:1023 src/fe-gtk/servlistgui.c:1258 +msgid "Second choice:" +msgstr "2 つ目を選択:" + +#: src/fe-gtk/servlistgui.c:1027 src/fe-gtk/servlistgui.c:1272 +msgid "_User name:" +msgstr "ユーザー名(_U):" + +#: src/fe-gtk/servlistgui.c:1031 src/fe-gtk/servlistgui.c:1279 +msgid "Rea_l name:" +msgstr "本名(_L):" + +#: src/fe-gtk/servlistgui.c:1034 +msgid "Connecting" +msgstr "接続中" + +#: src/fe-gtk/servlistgui.c:1040 +msgid "Auto connect to this network at startup" +msgstr "起動したらこのネットワークに自動接続" + +#: src/fe-gtk/servlistgui.c:1042 +msgid "Use a proxy server" +msgstr "プロキシサーバーを使う" + +#: src/fe-gtk/servlistgui.c:1044 +msgid "Use SSL for all the servers on this network" +msgstr "このネットワークのすべてのサーバーへは SSL を使う" + +#: src/fe-gtk/servlistgui.c:1049 +msgid "Accept invalid SSL certificate" +msgstr "不正な証明を受け入れる" + +#: src/fe-gtk/servlistgui.c:1055 +msgid "C_hannels to join:" +msgstr "チャンネルに参加(_H):" + +#: src/fe-gtk/servlistgui.c:1057 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "参加するチャンネルをカンマ(半角空白じゃない!)で区切って入力する" + +#: src/fe-gtk/servlistgui.c:1060 +msgid "Connect command:" +msgstr "接続コマンド:" + +#: src/fe-gtk/servlistgui.c:1062 +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 "" + +#: src/fe-gtk/servlistgui.c:1065 +msgid "Nickserv password:" +msgstr "Nickserv パスワード:" + +#: src/fe-gtk/servlistgui.c:1067 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "ニックネームがパスワードを要求する場合、ここに入力します。すべての IRC ネットワークがこれをサポートしているとは限りません。" + +#: src/fe-gtk/servlistgui.c:1071 +msgid "Server password:" +msgstr "サーバーパスワード:" + +#: src/fe-gtk/servlistgui.c:1073 +msgid "Password for the server, if in doubt, leave blank." +msgstr "サーバーのパスワードで、疑問がある場合、空のままにします。" + +#: src/fe-gtk/servlistgui.c:1076 +msgid "Character set:" +msgstr "文字集合:" + +#: src/fe-gtk/servlistgui.c:1146 +msgid "_Edit" +msgstr "編集(_E)" + +#: src/fe-gtk/servlistgui.c:1229 +msgid "XChat: Network List" +msgstr "XChat: ネットワーク一覧" + +#: src/fe-gtk/servlistgui.c:1241 +msgid "User Information" +msgstr "ユーザー情報" + +#: src/fe-gtk/servlistgui.c:1265 +msgid "Third choice:" +msgstr "3 つめを選択:" + +#: src/fe-gtk/servlistgui.c:1325 +msgid "Networks" +msgstr "ネットワーク" + +#: src/fe-gtk/servlistgui.c:1366 +msgid "Skip network list on startup" +msgstr "起動時にネットワーク一覧を飛ばす" + +#: src/fe-gtk/servlistgui.c:1398 +msgid "_Edit..." +msgstr "編集...(_E)" + +#: src/fe-gtk/servlistgui.c:1405 +msgid "_Sort" +msgstr "ソート(_S)" + +#: src/fe-gtk/servlistgui.c:1429 +msgid "C_onnect" +msgstr "接続(_O)" + +#: src/fe-gtk/setup.c:97 +msgid "Text Box Appearance" +msgstr "テキストボックス外観" + +#: src/fe-gtk/setup.c:98 +msgid "Font:" +msgstr "フォント:" + +#: src/fe-gtk/setup.c:99 +msgid "Background image:" +msgstr "背景の絵:" + +#: src/fe-gtk/setup.c:100 +msgid "Scrollback lines:" +msgstr "スクロール保存行:" + +#: src/fe-gtk/setup.c:101 +msgid "Colored nick names" +msgstr "ニックに色を付ける" + +#: src/fe-gtk/setup.c:102 +msgid "Give each person on IRC a different color" +msgstr "IRC の各個人に異なる色を与える" + +#: src/fe-gtk/setup.c:103 +msgid "Indent nick names" +msgstr "ニックをインデントして揃える" + +#: src/fe-gtk/setup.c:104 +msgid "Make nick names right-justified" +msgstr "ニックを右揃えする." + +#: src/fe-gtk/setup.c:105 +msgid "Transparent background" +msgstr "透明な背景" + +#: src/fe-gtk/setup.c:106 +msgid "Show marker line" +msgstr "マーカーラインを表示" + +#: src/fe-gtk/setup.c:107 +msgid "Insert a red line after the last read text." +msgstr "最後に読んだテキストの後に赤い線を挿入します。" + +#: src/fe-gtk/setup.c:108 +msgid "Transparency Settings" +msgstr "ファイル転送設定" + +#: src/fe-gtk/setup.c:109 +msgid "Red:" +msgstr "赤:" + +#: src/fe-gtk/setup.c:110 +msgid "Green:" +msgstr "緑:" + +#: src/fe-gtk/setup.c:111 +msgid "Blue:" +msgstr "青:" + +#: src/fe-gtk/setup.c:113 src/fe-gtk/setup.c:325 +msgid "Time Stamps" +msgstr "タイムスタンプ" + +#: src/fe-gtk/setup.c:114 +msgid "Enable time stamps" +msgstr "タイムスタンプを有効" + +#: src/fe-gtk/setup.c:115 +msgid "Time stamp format:" +msgstr "タイムスタンプのフォーマット:" + +#: src/fe-gtk/setup.c:116 src/fe-gtk/setup.c:328 +msgid "See strftime manpage for details." +msgstr "詳細は strftime の man ページを参照してください。" + +#: src/fe-gtk/setup.c:123 src/fe-gtk/setup.c:1504 +msgid "Input box" +msgstr "入力ボックス" + +#: src/fe-gtk/setup.c:124 src/fe-gtk/setup.c:166 +msgid "Use the Text box font and colors" +msgstr "テキストボックスに使用するフォントと色" + +#: src/fe-gtk/setup.c:126 +msgid "Spell checking" +msgstr "スペルの確認中" + +#: src/fe-gtk/setup.c:129 +msgid "Nick Completion" +msgstr "ニックを補完する" + +#: src/fe-gtk/setup.c:130 +msgid "Automatic nick completion (without TAB key)" +msgstr "自動ニック補完 (TAB キーを使いません)" + +#: src/fe-gtk/setup.c:132 +msgid "Nick completion suffix:" +msgstr "ニックの補完接頭語:" + +#: src/fe-gtk/setup.c:135 +msgid "Input Box Codes" +msgstr "入力ボックスコード" + +#: src/fe-gtk/setup.c:136 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "%nnn を ASCII 値と解釈する" + +#: src/fe-gtk/setup.c:137 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "%C と %b を色とボールドなどと解釈する" + +#: src/fe-gtk/setup.c:154 +msgid "A-Z, Ops first" +msgstr "昇順, 最初になると" + +#: src/fe-gtk/setup.c:155 +msgid "A-Z" +msgstr "昇順" + +#: src/fe-gtk/setup.c:156 +msgid "Z-A, Ops last" +msgstr "降順, 最後になると" + +#: src/fe-gtk/setup.c:157 +msgid "Z-A" +msgstr "降順" + +#: src/fe-gtk/setup.c:158 +msgid "Unsorted" +msgstr "ソートしない" + +#: src/fe-gtk/setup.c:164 +msgid "User List" +msgstr "ユーザーリスト" + +#: src/fe-gtk/setup.c:165 +msgid "Show hostnames in user list" +msgstr "ユーザーリストのホスト名を表示する" + +#: src/fe-gtk/setup.c:167 +msgid "Resizable user list" +msgstr "ユーザーリストの幅を調節可能にする" + +#: src/fe-gtk/setup.c:168 +msgid "User list sorted by:" +msgstr "ユーザーリストのソート基準:" + +#: src/fe-gtk/setup.c:170 +msgid "Away tracking" +msgstr "離席追跡" + +#: src/fe-gtk/setup.c:171 +msgid "Track the Away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:172 +#, fuzzy +msgid "On channels smaller than:" +msgstr "チャンネルトピック" + +#: src/fe-gtk/setup.c:174 +msgid "Action Upon Double Click" +msgstr "ダブルクリックでの動作" + +#: src/fe-gtk/setup.c:175 +msgid "Execute command:" +msgstr "コマンド実行:" + +#: src/fe-gtk/setup.c:186 +msgid "Windows" +msgstr "ウィンドウ" + +#: src/fe-gtk/setup.c:187 src/fe-gtk/setup.c:211 src/fe-gtk/setup.c:1506 +msgid "Tabs" +msgstr "タブ" + +#: src/fe-gtk/setup.c:193 +msgid "Bottom" +msgstr "ボタン" + +#: src/fe-gtk/setup.c:194 +msgid "Top" +msgstr "上部" + +#: src/fe-gtk/setup.c:195 +msgid "Left" +msgstr "左端" + +#: src/fe-gtk/setup.c:196 +msgid "Right" +msgstr "右端" + +#: src/fe-gtk/setup.c:197 +msgid "Hidden" +msgstr "隠す" + +#: src/fe-gtk/setup.c:204 +msgid "Always" +msgstr "常に" + +#: src/fe-gtk/setup.c:205 +msgid "Only requested tabs" +msgstr "要求があったタブのみ" + +#: src/fe-gtk/setup.c:212 +msgid "Open an extra tab for server messages" +msgstr "サーバーからのメッセージは別のタブを開く" + +#: src/fe-gtk/setup.c:213 +msgid "Open an extra tab for server notices" +msgstr "サーバーからの通知は別のタブを開く" + +#: src/fe-gtk/setup.c:214 +msgid "Sort tabs in alphabetical order" +msgstr "アルファベットオーダーでタブをソート" + +#: src/fe-gtk/setup.c:215 +msgid "Small tabs" +msgstr "小さなタブ" + +#: src/fe-gtk/setup.c:216 +msgid "Focus new tabs:" +msgstr "新規タブにフォーカス:" + +#: src/fe-gtk/setup.c:217 +msgid "Shorten tab labels to:" +msgstr "指定文字数でタブラベルを縮める:" + +#: src/fe-gtk/setup.c:217 +msgid "letters." +msgstr "文字" + +#: src/fe-gtk/setup.c:219 +msgid "Tabs Location" +msgstr "タブの位置" + +#: src/fe-gtk/setup.c:220 +msgid "Show tabs at:" +msgstr "タブの表示方法:" + +#: src/fe-gtk/setup.c:222 +msgid "Tabs or Windows" +msgstr "タブかウィンドウ" + +#: src/fe-gtk/setup.c:223 +msgid "Open channels in:" +msgstr "チャンネルの開き方:" + +#: src/fe-gtk/setup.c:224 +msgid "Open dialogs in:" +msgstr "ダイアログの開き方:" + +#: src/fe-gtk/setup.c:225 +msgid "Open utilities in:" +msgstr "ユーティリティの開き方:" + +#: src/fe-gtk/setup.c:225 +#, fuzzy +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "DCC, 無視, 通知やその他ウィンドウに対してタブを用いる" + +#: src/fe-gtk/setup.c:232 +msgid "No" +msgstr "いいえ" + +#: src/fe-gtk/setup.c:233 +msgid "Yes" +msgstr "はい" + +#: src/fe-gtk/setup.c:234 +msgid "Browse for save folder every time" +msgstr "" + +#: src/fe-gtk/setup.c:240 +msgid "Files and Directories" +msgstr "ファイルかディレクトリ" + +#: src/fe-gtk/setup.c:241 +msgid "Auto accept file offers:" +msgstr "定時のファイルを自動的に受理する:" + +#: src/fe-gtk/setup.c:242 +msgid "Download files to:" +msgstr "ダウンロードしたファイルの保存先:" + +#: src/fe-gtk/setup.c:243 +msgid "Move completed files to:" +msgstr "移動を完了したファイルの保存先:" + +#: src/fe-gtk/setup.c:244 +msgid "Save nick name in filenames" +msgstr "ファイル名にニックを保存" + +#: src/fe-gtk/setup.c:246 +msgid "Network Settings" +msgstr "ネットワーク設定" + +#: src/fe-gtk/setup.c:247 +msgid "Get my address from the IRC server" +msgstr "IRC サーバーから自分の IP アドレスを取得する" + +#: src/fe-gtk/setup.c:248 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "" + +#: src/fe-gtk/setup.c:249 +msgid "DCC IP address:" +msgstr "DCC IP アドレス:" + +#: src/fe-gtk/setup.c:250 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:251 +msgid "First DCC send port:" +msgstr "高速 DCC 送信ポート:" + +#: src/fe-gtk/setup.c:252 +msgid "Last DCC send port:" +msgstr "最後の DCC 送信ポート:" + +#: src/fe-gtk/setup.c:253 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:255 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "最大ファイル転送速度 (バイト毎秒)" + +#: src/fe-gtk/setup.c:256 +msgid "One upload:" +msgstr "ひとつのアップロード" + +#: src/fe-gtk/setup.c:257 src/fe-gtk/setup.c:259 +msgid "Maximum speed for one transfer" +msgstr "ひとつ転送するときの最大速度" + +#: src/fe-gtk/setup.c:258 +msgid "One download:" +msgstr "ひとつダウンロード:" + +#: src/fe-gtk/setup.c:260 +msgid "All uploads combined:" +msgstr "すべてのアップロードの合計:" + +#: src/fe-gtk/setup.c:261 src/fe-gtk/setup.c:263 +msgid "Maximum speed for all files" +msgstr "すべてのファイルの最大速度" + +#: src/fe-gtk/setup.c:262 +msgid "All downloads combined:" +msgstr "すべてのダウンロードの合計:" + +#: src/fe-gtk/setup.c:270 +msgid "Default Messages" +msgstr "デフォルトメッセージ:" + +#: src/fe-gtk/setup.c:271 +msgid "Quit:" +msgstr "終了:" + +#: src/fe-gtk/setup.c:272 +msgid "Leave channel:" +msgstr "チャンネルを離れる:" + +#: src/fe-gtk/setup.c:273 +msgid "Away:" +msgstr "離席:" + +#: src/fe-gtk/setup.c:275 +msgid "Away" +msgstr "離席" + +#: src/fe-gtk/setup.c:276 +msgid "Announce away messages" +msgstr "離席メッセージをアナウンスする" + +#: src/fe-gtk/setup.c:277 +msgid "Announce your away messages to all channels" +msgstr "離席メッセージを参加しているすべてのチャネルに流す" + +#: src/fe-gtk/setup.c:278 +msgid "Show away once" +msgstr "一度だけ離席を表示" + +#: src/fe-gtk/setup.c:278 +msgid "Show identical away messages only once" +msgstr "同一の離席メッセージをひとつ表示する" + +#: src/fe-gtk/setup.c:279 +msgid "Automatically unmark away" +msgstr "自動離席解除" + +#: src/fe-gtk/setup.c:279 +msgid "Unmark yourself as away before sending messages" +msgstr "" + +#: src/fe-gtk/setup.c:282 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "" + +#: src/fe-gtk/setup.c:284 +msgid "(Can be a text file relative to config dir)." +msgstr "" + +#: src/fe-gtk/setup.c:288 +msgid "Alerts" +msgstr "警告" + +#: src/fe-gtk/setup.c:290 +msgid "Flash taskbar on highlighted messages" +msgstr "メッセージのハイライト時にタスクバーをフラッシュする" + +#: src/fe-gtk/setup.c:292 +msgid "Beep on highlighted messages" +msgstr "メッセージのハイライト時にビープを鳴らす" + +#: src/fe-gtk/setup.c:293 +msgid "Beep on private messages" +msgstr "プライベートメッセージでビープを鳴らす" + +#: src/fe-gtk/setup.c:294 +msgid "Beep on channel messages" +msgstr "チャンネルメッセージでビープ音を鳴らす" + +#: src/fe-gtk/setup.c:295 +msgid "Extra words to highlight on:" +msgstr "ハイライトする特殊単語:" + +#: src/fe-gtk/setup.c:296 +msgid "Nicks not to highlight on:" +msgstr "次のニックをハイライトしない:" + +#: src/fe-gtk/setup.c:297 +msgid "Separate multiple words with commas." +msgstr "コンマで複数単語を区切ります。" + +#: src/fe-gtk/setup.c:304 +msgid "Advanced Settings" +msgstr "高度な設定" + +#: src/fe-gtk/setup.c:305 +msgid "Auto reconnect delay:" +msgstr "自動再接続の遅延時間:" + +#: src/fe-gtk/setup.c:306 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:307 +msgid "Whois on notify" +msgstr "" + +#: src/fe-gtk/setup.c:307 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "" + +#: src/fe-gtk/setup.c:308 +msgid "Hide join and part messages" +msgstr "参加と退出メッセージを隠す" + +#: src/fe-gtk/setup.c:308 +msgid "Hide channel join/part messages by default" +msgstr "デフォルトで参加/退出チャンネルを隠す" + +#: src/fe-gtk/setup.c:309 +msgid "Auto Open DCC Windows" +msgstr "自動で DCC ウィンドウを開く" + +#: src/fe-gtk/setup.c:310 +msgid "Send window" +msgstr "送信ウィンドウ" + +#: src/fe-gtk/setup.c:311 +msgid "Receive window" +msgstr "受信ウィンドウ" + +#: src/fe-gtk/setup.c:312 +msgid "Chat window" +msgstr "チャットウィンドウ" + +#: src/fe-gtk/setup.c:320 src/fe-gtk/setup.c:1511 +msgid "Logging" +msgstr "ログを残す" + +#: src/fe-gtk/setup.c:321 +msgid "Enable logging of conversations" +msgstr "会話のログ記録を有効にする" + +#: src/fe-gtk/setup.c:322 +msgid "Log filename:" +msgstr "ログファイル:" + +#: src/fe-gtk/setup.c:323 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=サーバー %c=チャンネル %n=ネットワークです。" + +#: src/fe-gtk/setup.c:326 +msgid "Insert timestamps in logs" +msgstr "常にタイムスタンプを挿入" + +#: src/fe-gtk/setup.c:327 +msgid "Log timestamp format:" +msgstr "ログタイムスタンプのフォーマット:" + +#: src/fe-gtk/setup.c:335 +msgid "(Disabled)" +msgstr "(無効)" + +#: src/fe-gtk/setup.c:336 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:337 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:338 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:339 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:341 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: src/fe-gtk/setup.c:348 +msgid "All Connections" +msgstr "自動接続" + +#: src/fe-gtk/setup.c:349 +msgid "IRC Server Only" +msgstr "IRC サーバーのみ" + +#: src/fe-gtk/setup.c:350 +msgid "DCC Get Only" +msgstr "DCC 取得のみ" + +#: src/fe-gtk/setup.c:356 +msgid "Your Address" +msgstr "あなたのアドレス" + +#: src/fe-gtk/setup.c:357 +#, fuzzy +msgid "Bind to:" +msgstr "検索語:" + +#: src/fe-gtk/setup.c:358 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:360 +msgid "Proxy Server" +msgstr "プロキシサーバー" + +#: src/fe-gtk/setup.c:361 +msgid "Hostname:" +msgstr "ホスト名:" + +#: src/fe-gtk/setup.c:362 +msgid "Port:" +msgstr "ポート:" + +#: src/fe-gtk/setup.c:363 +msgid "Type:" +msgstr "種類:" + +#: src/fe-gtk/setup.c:364 +msgid "Use proxy for:" +msgstr "プロキシの使用:" + +#: src/fe-gtk/setup.c:366 +msgid "Proxy Authentication" +msgstr "プロキシ認証" + +#: src/fe-gtk/setup.c:368 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "プロキシサーバーを使う (MS プロキシ、HTTP か Sock5 のみ)" + +#: src/fe-gtk/setup.c:370 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "認証を使う (HTTP か Sock5 のみ)" + +#: src/fe-gtk/setup.c:372 +msgid "Username:" +msgstr "ユーザー名:" + +#: src/fe-gtk/setup.c:373 +msgid "Password:" +msgstr "パスワード:" + +#: src/fe-gtk/setup.c:716 +msgid "Select an Image File" +msgstr "画像ファイル名の選択" + +#: src/fe-gtk/setup.c:740 +msgid "Select Download Folder" +msgstr "ダウンロードフォルダーを選択する" + +#: src/fe-gtk/setup.c:749 +msgid "Select font" +msgstr "フォント選択" + +#: src/fe-gtk/setup.c:820 +msgid "Browse..." +msgstr "参照..." + +#: src/fe-gtk/setup.c:955 +msgid "Mark identified users with:" +msgstr "次の識別済ユーザーをマークする:" + +#: src/fe-gtk/setup.c:957 +msgid "Mark not-identified users with:" +msgstr "次の未識別ユーザーをマークする:" + +#: src/fe-gtk/setup.c:1018 +msgid "Select color" +msgstr "色選択" + +#: src/fe-gtk/setup.c:1098 +msgid "Text Colors" +msgstr "テキスト色" + +#: src/fe-gtk/setup.c:1100 +msgid "mIRC colors:" +msgstr "mIRC 色:" + +#: src/fe-gtk/setup.c:1108 +msgid "Local colors:" +msgstr "ローカルの色:" + +#: src/fe-gtk/setup.c:1116 src/fe-gtk/setup.c:1121 +msgid "Foreground:" +msgstr "前景色:" + +#: src/fe-gtk/setup.c:1117 src/fe-gtk/setup.c:1122 +msgid "Background:" +msgstr "背景色:" + +#: src/fe-gtk/setup.c:1119 +msgid "Marking Text" +msgstr "マーキングテキスト" + +#: src/fe-gtk/setup.c:1124 +msgid "Interface Colors" +msgstr "インタフェース色" + +#: src/fe-gtk/setup.c:1126 +msgid "New data:" +msgstr "新規データ:" + +#: src/fe-gtk/setup.c:1127 +msgid "Marker line:" +msgstr "マーカー行:" + +#: src/fe-gtk/setup.c:1128 +msgid "New message:" +msgstr "新規メッセージ:" + +#: src/fe-gtk/setup.c:1129 +msgid "Away user:" +msgstr "離席ユーザー:" + +#: src/fe-gtk/setup.c:1130 +msgid "Highlight:" +msgstr "ハイライト:" + +#: src/fe-gtk/setup.c:1226 src/fe-gtk/textgui.c:386 +msgid "Event" +msgstr "イベント" + +#: src/fe-gtk/setup.c:1232 +msgid "Sound file" +msgstr "サウンドファイル" + +#: src/fe-gtk/setup.c:1267 +msgid "Select a sound file" +msgstr "出力ファイルの選択" + +#: src/fe-gtk/setup.c:1339 +msgid "Sound playing method:" +msgstr "サウンドの再生方法:" + +#: src/fe-gtk/setup.c:1347 +msgid "External sound playing _program:" +msgstr "外部サウンド再生プログラム(_P):" + +#: src/fe-gtk/setup.c:1365 +msgid "_External program" +msgstr "外部プログラム(_E)" + +#: src/fe-gtk/setup.c:1375 +msgid "_Automatic" +msgstr "自動(_A)" + +#: src/fe-gtk/setup.c:1388 +msgid "Sound files _directory:" +msgstr "サウンドファイルディレクトリ(_D):" + +#: src/fe-gtk/setup.c:1427 +msgid "Sound file:" +msgstr "サウンドファイル:" + +#: src/fe-gtk/setup.c:1442 +msgid "_Browse..." +msgstr "参照...(_B)" + +#: src/fe-gtk/setup.c:1453 +msgid "_Play" +msgstr "再生(_P)" + +#: src/fe-gtk/setup.c:1502 +msgid "Interface" +msgstr "インタフェース" + +#: src/fe-gtk/setup.c:1503 +msgid "Text box" +msgstr "テキスト" + +#: src/fe-gtk/setup.c:1505 +msgid "User list" +msgstr "ユーザーリスト" + +#: src/fe-gtk/setup.c:1507 +msgid "Colors" +msgstr "色" + +#: src/fe-gtk/setup.c:1509 +msgid "Chatting" +msgstr "チャット" + +#: src/fe-gtk/setup.c:1510 +msgid "General" +msgstr "一般" + +#: src/fe-gtk/setup.c:1512 +msgid "Sound" +msgstr "サウンド" + +#: src/fe-gtk/setup.c:1515 +msgid "Network" +msgstr "ネットワーク" + +#: src/fe-gtk/setup.c:1516 +msgid "Network setup" +msgstr "ネットワークセットアップ" + +#: src/fe-gtk/setup.c:1517 +msgid "File transfers" +msgstr "ファイル転送" + +#: src/fe-gtk/setup.c:1625 +msgid "Categories" +msgstr "カテゴリ" + +#: src/fe-gtk/setup.c:1797 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" + +#: src/fe-gtk/setup.c:1805 +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 "" +"*警告*\n" +"ホーム・ディレクトリへ自動DCC受け取りを有効にする\n" +"ことは悪戯される危険があり, 勧められません. 例えば,\n" +"誰からがあなたへ『.bash_profile』ファイルを転送す\n" +"ると, 勝手にシェルの設定が上書きされてしまいます。" + +#: src/fe-gtk/setup.c:1838 +msgid "XChat: Preferences" +msgstr "XChat: 設定" + +#: src/fe-gtk/textgui.c:177 +msgid "There was an error parsing the string" +msgstr "文字列解析にエラーがありました." + +#: src/fe-gtk/textgui.c:185 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "このシグナルは %d 個の引数を通します, $%d 個は不適当です。" + +#: src/fe-gtk/textgui.c:301 src/fe-gtk/textgui.c:324 +msgid "Print Texts File" +msgstr "テキストファイルの表示" + +#: src/fe-gtk/textgui.c:369 +msgid "Edit Events" +msgstr "イベント編集" + +#: src/fe-gtk/textgui.c:420 +msgid "$ Number" +msgstr "$ 番号" + +#: src/fe-gtk/textgui.c:437 +msgid "Load From..." +msgstr "読み込み元..." + +#: src/fe-gtk/textgui.c:438 +msgid "Test All" +msgstr "全てを試行" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: URL 取り込み" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "リスト消去" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "選択した URL をコピー" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "コピー" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "ファイルにリストを保存" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d 個のなると、合計 %d 個" + +#: plugins/dbus/xchat-remote.c:41 +msgid "Open an irc:// url" +msgstr "irc:// URL を開く" + +#: plugins/dbus/xchat-remote.c:41 +msgid "irc://server:port/channel" +msgstr "irc://server:port/channel" + +#: plugins/dbus/xchat-remote.c:42 +msgid "Execute a xchat command" +msgstr "コマンド実行:" + +#: plugins/dbus/xchat-remote.c:42 +msgid "\"Command to execute\"" +msgstr "\"実行するコマンド\"" + +#: plugins/dbus/xchat-remote.c:43 +msgid "Prints some text to the current tab/window" +msgstr "いくつかのテキストを現在のタブ/ウィンドウに表示する" + +#: plugins/dbus/xchat-remote.c:43 +msgid "\"Text to print\"" +msgstr "\"テキストを表示する\"" + +#: plugins/dbus/xchat-remote.c:44 +msgid "Change the context to the channel" +msgstr "コンテキストをチャンネルに変更" + +#: plugins/dbus/xchat-remote.c:44 +msgid "channel" +msgstr "チャンネル" + +#: plugins/dbus/xchat-remote.c:45 +msgid "Change the context to the server" +msgstr "サーバーにコンテキストを変更する" + +#: plugins/dbus/xchat-remote.c:45 +msgid "server" +msgstr "サーバー" + +#: plugins/dbus/xchat-remote.c:46 +msgid "Get some informations from xchat" +msgstr "いくつかの情報を xchat から取得する" + +#: plugins/dbus/xchat-remote.c:46 +msgid "id" +msgstr "ID" + +#: plugins/dbus/xchat-remote.c:47 +msgid "Get settings from xchat" +msgstr "xchat から設定を取得する" + +#: plugins/dbus/xchat-remote.c:47 +msgid "name" +msgstr "名前" + +#: plugins/dbus/xchat-remote.c:79 +#, c-format +msgid "" +"xchat-remote: %s\n" +"Try `xchat-remote --help' for more information\n" +msgstr "" +"xchat-remote: %s\n" +"より多くの情報は「xchat-remote --help」を試してください\n" + +#: plugins/dbus/xchat-remote.c:90 +msgid "Couldn't connect to session bus" +msgstr "セッションバスに接続できません" + +#: plugins/dbus/xchat-remote.c:116 plugins/dbus/xchat-remote.c:130 +msgid "Failed to complete command" +msgstr "コマンドを完了していません" + +#: plugins/dbus/xchat-remote.c:125 +msgid "Failed to complete SetContext" +msgstr "SetContext を完了していません" + +#: plugins/dbus/xchat-remote.c:135 +msgid "Failed to complete print" +msgstr "印刷を完了していません" + +#: plugins/dbus/xchat-remote.c:142 +msgid "Failed to complete GetInfo" +msgstr "GetInfo を完了していません" + +#: plugins/dbus/xchat-remote.c:155 +msgid "Failed to complete GetPrefs" +msgstr "GetPrefs を完了していません" + +#: plugins/dbus/xchat-remote.c:159 +#, c-format +msgid "%s doesn't exist\n" +msgstr "%s は存在しません\n" + +#: plugins/dbus/dbus-plugin.c:27 +msgid "xchat remote access" +msgstr "xchat リモートアクセス" + +#: plugins/dbus/dbus-plugin.c:28 +msgid "plugin for remote access using DBUS" +msgstr "DBUS を用いてリモートアクセスのプラグイン" + +#: plugins/dbus/dbus-plugin.c:333 +#, c-format +msgid "Couldn't connect to session bus : %s\n" +msgstr "セッションバスに接続できません : %s\n" + +#: plugins/dbus/dbus-plugin.c:353 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "%s の取得に失敗しました: %s\n" + +#: plugins/dbus/dbus-plugin.c:401 +#, c-format +msgid "%s loaded successfully!\n" +msgstr "%s の読み込みに成功しました!\n" + +#~ msgid "France, Metropolitan" +#~ msgstr "フランス本国" + +#~ msgid "Neutral Zone" +#~ msgstr "中立地帯" + +#~ msgid "File:" +#~ msgstr "ファイル:" + +#~ msgid "Settings saved." +#~ msgstr "設定を保存しました。" + +#~ msgid "_Server List..." +#~ msgstr "サーバー一覧(_S)..." + +#~ msgid "Save rawlog" +#~ msgstr "生ログの保存" + +#~ msgid "Save rawlog..." +#~ msgstr "生ログの保存..." + +#~ msgid "XChat: Server List" +#~ msgstr "XChat: サーバー一覧" + +#~ msgid "Completes nick names without using the TAB key" +#~ msgstr "タブキーを使わずにニックを補完" + +#~ msgid "Input Box Appearance" +#~ msgstr "入力ボックス外観" + +#~ msgid "Convert spaces to underscore before sending" +#~ msgstr "送信前にスペースをアンダースコアに変換する" + +#~ msgid "(See strftime manpage for details)." +#~ msgstr "(詳細は strftime の manpage を参照)" + +#~ msgid "From:" +#~ msgstr "送り元:" + +#~ msgid "To:" +#~ msgstr "宛先:" + +#~ msgid "Size:" +#~ msgstr "サイズ:" + +#~ msgid "MIME Type" +#~ msgstr "MIME タイプ" + +#~ msgid "Close" +#~ msgstr "閉じる" + +#~ msgid " : %s\n" +#~ msgstr " : %s\n" + +#~ msgid "Error String" +#~ msgstr "エラー文字列" + +#~ msgid "Channel name" +#~ msgstr "チャンネル名" + +#~ msgid "Error name" +#~ msgstr "エラー名" + +#~ msgid "Error string" +#~ msgstr "エラー文字列" + +#~ msgid "Servername" +#~ msgstr "サーバー名" + +#~ msgid "Former Czechoslovakia" +#~ msgstr "旧チェコスロバキア" + +#~ msgid "Zaire" +#~ msgstr "ザイール" + +#~ msgid "" +#~ " File: %s\n" +#~ " To/From: %s\n" +#~ " Size: %u\n" +#~ " Port: %d\n" +#~ " IP Number: %s\n" +#~ "Start Time: %s Max CPS: %d\n" +#~ msgstr "" +#~ " ファイル: %s\n" +#~ "宛先/送り元: %s\n" +#~ " 容量: %d\n" +#~ " ポート: %d\n" +#~ " IPアドレス: %s\n" +#~ " 開始時刻: %s 最大 CPS: %d\n" + +#, fuzzy +#~ msgid "" +#~ "Options:\n" +#~ " -d, --cfgdir DIRECTORY use a different config dir\n" +#~ " -a, --no-auto don't auto connect\n" +#~ " -v, --version show version information\n" +#~ "\n" +#~ "URL:\n" +#~ " irc://server:port/channel\n" +#~ "\n" +#~ msgstr "" +#~ "%s %s オプション:\n" +#~ "\n" +#~ " --cfgdir <dir> -d\t : 指定の設定ディレクトリを利用する\n" +#~ " --noauto -a\t : 自動接続しない\n" +#~ " --version -v\t : バージョン情報の表示\n" + +#~ msgid "X-Chat: Edit Key Bindings" +#~ msgstr "X-Chat: キー・バインドの編集" + +#~ msgid "Add new" +#~ msgstr "新規追加" + +#~ msgid "new!new@new.com" +#~ msgstr "new!new@new.co.jp" + +#~ msgid "Chan" +#~ msgstr "チャンネル" + +#~ msgid "OK" +#~ msgstr "了解" + +#, fuzzy +#~ msgid "(%s) Channel settings" +#~ msgstr "パネル設定" + +#, fuzzy +#~ msgid "Channel Options" +#~ msgstr "チャンネルをタブへ" + +#~ msgid "User: %s" +#~ msgstr "ユーザー: %s" + +#~ msgid "Realname: %s" +#~ msgstr "本名: %s" + +#~ msgid "New Shell Tab..." +#~ msgstr "新規シェルタブ..." + +#~ msgid "_IRC" +#~ msgstr "_IRC" + +#~ msgid "Invisible" +#~ msgstr "見せない" + +#~ msgid "Receive Wallops" +#~ msgstr "ウォール操作を受け取る" + +#~ msgid "Receive Server Notices" +#~ msgstr "サーバーの通知を受け取る" + +#~ msgid "Auto Rejoin when Kicked" +#~ msgstr "キックされたらに自動的に復帰する" + +#~ msgid "Never-give-up ReConnect" +#~ msgstr "サーバー再接続をあきらめない" + +#~ msgid "Auto Accept Direct Chat" +#~ msgstr "ダイレクトチャットを自動受理する" + +#, fuzzy +#~ msgid "Lists" +#~ msgstr "Banリスト" + +#, fuzzy +#~ msgid "Key Bindings..." +#~ msgstr "キー・バインドの編集..." + +#~ msgid "Reload Settings" +#~ msgstr "設定を読み直す" + +#~ msgid "Save Settings now" +#~ msgstr "現在の設定を保存する" + +#~ msgid "File Receive..." +#~ msgstr "ファイル受信..." + +#~ msgid "File Send..." +#~ msgstr "ファイル送信..." + +#, fuzzy +#~ msgid "Settings for %s" +#~ msgstr "設定" + +#, fuzzy +#~ msgid "_Remove \"%s\"" +#~ msgstr "削除" + +#, fuzzy +#~ msgid "_Add new server" +#~ msgstr "新規サーバー" + +#, fuzzy +#~ msgid "Move \"%s\" _up" +#~ msgstr "削除" + +#, fuzzy +#~ msgid "_Add new network" +#~ msgstr "新規追加" + +#, fuzzy +#~ msgid "Global User Info" +#~ msgstr "ユーザ情報:" + +#, fuzzy +#~ msgid "Nick Names:" +#~ msgstr "ニック:" + +#, fuzzy +#~ msgid "Connect in a _new tab" +#~ msgstr "新規タブで接続" + +#, fuzzy +#~ msgid "Servers" +#~ msgstr "サーバ" + +#, fuzzy +#~ msgid "Nick Name:" +#~ msgstr "ニック:" + +#, fuzzy +#~ msgid "Command to execute after connecting. Can be used to authenticate to NickServ" +#~ msgstr "接続が完了したあとに実行するコマンド" + +#, fuzzy +#~ msgid "Use secure SSL" +#~ msgstr "SSL を使う" + +#, fuzzy +#~ msgid "Edit mode" +#~ msgstr "編集" + +#, fuzzy +#~ msgid "Tint transparency" +#~ msgstr "色合い(シェード)透明度" + +#, fuzzy +#~ msgid "Strip mIRC color" +#~ msgstr "MIRC カラーを無効にする" + +#, fuzzy +#~ msgid "Tint green:" +#~ msgstr "濃淡の詳細設定" + +#~ msgid "Lag meter:" +#~ msgstr "ラグメータ:" + +#~ msgid "Throttle meter:" +#~ msgstr "スロットルメータ:" + +#, fuzzy +#~ msgid "Double-click command:" +#~ msgstr "ダブルクリック・コマンド:" + +#, fuzzy +#~ msgid "Userlist buttons enabled" +#~ msgstr "ユーザーリストボタンを有効にする" + +#, fuzzy +#~ msgid "Only highlight tabs on channel messages" +#~ msgstr "メッセージとアクションのときだけ チャンネルタブをハイライトする" + +#, fuzzy +#~ msgid "Pop new tabs to front" +#~ msgstr "新規タブを前面へ" + +#, fuzzy +#~ msgid "Auto open DCC send list" +#~ msgstr "自動的に DCC 送信ウィンドウを開く" + +#, fuzzy +#~ msgid "Auto open DCC chat list" +#~ msgstr "自動的に DCC チャット・ウィンドウを開く" + +#, fuzzy +#~ msgid "Auto open DCC receive list" +#~ msgstr "自動的に DDC 受信ウィンドウを開く" + +#, fuzzy +#~ msgid "Default part message:" +#~ msgstr "退出メッセージ:" + +#, fuzzy +#~ msgid "Default away message:" +#~ msgstr "離席メッセージをアナウンスする" + +#, fuzzy +#~ msgid "Proxy port:" +#~ msgstr "プロキシタイプ:" + +#, fuzzy +#~ msgid "Proxy type:" +#~ msgstr "プロキシタイプ:" + +#, fuzzy +#~ msgid "Mark back:" +#~ msgstr "マーク背景色" + +#~ msgid "Select a file to save to" +#~ msgstr "保存するファイル名の選択" + +#~ msgid "port" +#~ msgstr "ポート" + +#, fuzzy +#~ msgid "Load Plugin..." +#~ msgstr "プラグイン(*.so)をロード..." + +#, fuzzy +#~ msgid "Replace Popup..." +#~ msgstr "置換ポップアップ・メニュー..." + +#, fuzzy +#~ msgid "Load plugin..." +#~ msgstr "プラグイン(*.so)をロード..." + +#, fuzzy +#~ msgid "X-Chat Homepage..." +#~ msgstr "X-Chat ホームページ..." + +#, fuzzy +#~ msgid "Online Docs..." +#~ msgstr "オンライン・ヘルプ..." + +#, fuzzy +#~ msgid "About X-Chat..." +#~ msgstr "X-Chatについて..." + +#~ msgid "Choose File" +#~ msgstr "ファイル選択" + +#~ msgid "Skip MOTD" +#~ msgstr "ログインメッセージを無視" + +#~ msgid "Don't display the message-of-the-day when logging in" +#~ msgstr "ログインしたときに今日のメッセージを表示しない" + +#, fuzzy +#~ msgid "No Server List on Startup" +#~ msgstr "起動時にサーバーリストを表示しない" + +#~ msgid "Auto ReJoin on Kick" +#~ msgstr "キックされたら自動復帰する" + +#~ msgid "Ascii Chart" +#~ msgstr "ASCII 表" + +#, fuzzy +#~ msgid "Server settings" +#~ msgstr "設定" + +#, fuzzy +#~ msgid "Ban List Window..." +#~ msgstr "Banリストウィンドウ..." + +#, fuzzy +#~ msgid "ASCII Window..." +#~ msgstr "無視リストウィンドウ" + +#, fuzzy +#~ msgid "F_lush Buffer" +#~ msgstr "バッファをフラッシュ" + +#, fuzzy +#~ msgid "Save Buffer..." +#~ msgstr "バッファ保存..." + +#~ msgid "User Modes" +#~ msgstr "状態" + +#, fuzzy +#~ msgid "Plugins" +#~ msgstr "プラグイン..." + +#~ msgid "Edit User Menu" +#~ msgstr "ユーザメニューの編集" + +#, fuzzy +#~ msgid "NewServer" +#~ msgstr "サーバ" + +#, fuzzy +#~ msgid "Open extra tab for each server" +#~ msgstr "通知やサーバからの通知を別のウィンドウ内に表示" + +#, fuzzy +#~ msgid "Server List 2..." +#~ msgstr "サーバリスト.." + +#, fuzzy +#~ msgid "Network Name:" +#~ msgstr "ネットワーク" + +#~ msgid "Open ASCII Chart" +#~ msgstr "ASCII コード表を開く" + +#, fuzzy +#~ msgid "RMDLL <dll name>, unloads a plugin" +#~ msgstr "/RMDLL <DLL名>, プラグインをアンロードする\n" + +#~ msgid "Error compiling script\n" +#~ msgstr "スクリプトのコンパイルにエラーが発生しました.\n" + +#~ msgid "Error Loading file\n" +#~ msgstr "ファイルの読み込みにエラーが発生しました.\n" + +#~ msgid "Perl scripting not available in this compilation.\n" +#~ msgstr "この編集では Perl スクリプトは利用できません.\n" + +#, fuzzy +#~ msgid "LOADDLL <file>, loads a plugin" +#~ msgstr "/LOADDLL <ファイル>, プラグインをロード.\n" + +#, fuzzy +#~ msgid "UNLOADALL, Unloads all perl scripts" +#~ msgstr "/UNLOADALL, 読み込まれている全 Perl スクリプトをアンロードする\n" + +#~ msgid "Scripts & Plugins" +#~ msgstr "スクリプト&プラグイン" + +#, fuzzy +#~ msgid "PKILL <name>, kills the script of the given name" +#~ msgstr "/PKILL <名前>, 指定名のスクリプトを kill する\n" + +#, fuzzy +#~ msgid "PLIST, lists the current python scripts" +#~ msgstr "/PLIST, 現在の Python スクリプトリストを表示する\n" + +#, fuzzy +#~ msgid "PLOAD loads a python script" +#~ msgstr "/PLOAD Python スクリプトをロードする\n" + +#~ msgid "Select a Perl script to load" +#~ msgstr "組み込む Perl スクリプトの選択" + +#~ msgid "Select a Python script to load" +#~ msgstr "組み込む Python スクリプトの選択" + +#~ msgid "Unload All Scripts" +#~ msgstr "すべてのスクリプトをアンロード" + +#~ msgid "Perl List" +#~ msgstr "Perl リスト" + +#, fuzzy +#~ msgid "Load Python Script..." +#~ msgstr "Perl スクリプトをロード..." + +#~ msgid "Python List" +#~ msgstr "Python リスト" + +#~ msgid "gdk_font_load failed" +#~ msgstr "gdk_font_load に失敗しました。" + +#~ msgid "" +#~ "The default download directory is your\n" +#~ "home dir, you should change this at some stage." +#~ msgstr "" +#~ "標準のダウンロードディレクトリがホームディレクトリ\n" +#~ "となっています. そのうちいつか変更するべきです。" + +#~ msgid "Setup.." +#~ msgstr "設定..." + +#~ msgid "Palette.." +#~ msgstr "パレット..." + +#~ msgid "X-Chat: Palette" +#~ msgstr "X-Chat: パレット" + +#~ msgid "Foreground" +#~ msgstr "前景色" + +#~ msgid "Background" +#~ msgstr "背景色" + +#~ msgid "Mark Background" +#~ msgstr "マーク背景色" + +#~ msgid "Mark Foreground" +#~ msgstr "マーク前景色" + +#~ msgid "Color %d" +#~ msgstr "カラー %d" + +#~ msgid "About..." +#~ msgstr "X-Chat について..." + +#~ msgid "No Channel" +#~ msgstr "チャンネルなし" + +#~ msgid "No Server" +#~ msgstr "サーバー無し" + +#~ msgid "Is Tab" +#~ msgstr "タブ状態" + +#~ msgid "Is Not Tab" +#~ msgstr "非タブ状態" + +#~ msgid "Show" +#~ msgstr "表示" + +#~ msgid "Move Here" +#~ msgstr "ここへ移動" + +#, fuzzy +#~ msgid "X-Chat: Setup" +#~ msgstr "X-Chat: 検索" + +#~ msgid "Edit entry:" +#~ msgstr "入力事項の編集:" + +#~ msgid "Name:" +#~ msgstr "題名:" + +#~ msgid "Channels:" +#~ msgstr "チャンネル:" + +#~ msgid "Use proxy server if one is set in Setup->Proxy Server" +#~ msgstr "[設定]-[プロキシサーバ]に何かセットされていたらプロキシサーバを使う" + +#~ msgid "New Group" +#~ msgstr "新規グループ" + +#~ msgid "" +#~ "Cannot use \"root\" as a nickname,\n" +#~ "please change that first." +#~ msgstr "" +#~ "\"root\"というニックは利用できません,\n" +#~ "変更してください." + +#~ msgid "Connect New" +#~ msgstr "新規接続" + +#~ msgid "Show channels" +#~ msgstr "チャンネルを表示" + +#~ msgid "Failed to load translation table." +#~ msgstr "変換テーブルの読み込みに失敗しました。" + +#~ msgid "" +#~ "The following prefs do not take effect\n" +#~ "immediately, you will have to close the\n" +#~ "window and re-open it:\n" +#~ "\n" +#~ " - Channel Tabs\n" +#~ " - Channel Mode Buttons\n" +#~ " - Userlist Buttons\n" +#~ " - Disable Paned Userlist\n" +#~ " - Notify User color\n" +#~ " - Layout for a vertical panel\n" +#~ " - Auto Indent" +#~ msgstr "" +#~ "以下の設定の変更は直後には反映されません.\n" +#~ "ウィンドウを一旦閉じて、開き直す必要が\n" +#~ "あります:\n" +#~ "\n" +#~ " - チャンネル・タブ\n" +#~ " - チャンネル・モードのボタン表示\n" +#~ " - ユーザーリストボタン\n" +#~ " - ユーザリストのパネル化の無効\n" +#~ " - 通知ユーザ定義色\n" +#~ " - 垂直パネルでのレイアウト\n" +#~ " - 自動インデント" + +#~ msgid "Auto Indent" +#~ msgstr "自動インデント" + +#~ msgid "Auto adjust the separator bar position as needed." +#~ msgstr "必要ならセパレータの位置を自動的に調整する." + +#~ msgid "Draw Separator Bar" +#~ msgstr "セパレートタを描写" + +#~ msgid "Make the separator an actual visible line." +#~ msgstr "セパレータを実際に見えるようにする." + +#~ msgid "Word Wrap" +#~ msgstr "単語を折り返す" + +#~ msgid "Don't split words from one line to the next" +#~ msgstr "単語を1行から次の行へ分けない" + +#~ msgid "Tint the see-through text box to make it darker" +#~ msgstr "テキストボックスを文字が見やすいように半透明にします" + +#~ msgid "Use a font set" +#~ msgstr "フォントセットを使用する" + +#~ msgid "Change in realtime" +#~ msgstr "リアルタイムに変更" + +#~ msgid "Startup and Shutdown" +#~ msgstr "起動と終了" + +#~ msgid "Don't display the server list on X-Chat startup" +#~ msgstr "X-Chat 起動時にサーバーリストを表示しない" + +#~ msgid "Auto Save URL list" +#~ msgstr "URL リストを自動的に保存" + +#~ msgid "Auto save your URL list when exiting from X-Chat" +#~ msgstr "X-Chat を終了するとき, 自動的に URL リストを保存します" + +#~ msgid "Give the User List style" +#~ msgstr "ユーザリストスタイルを与える" + +#~ msgid "Use paned user list instead of a fixed width one" +#~ msgstr "固定幅のユーザリストの代わりに, 幅が調節可能なユーザリストを使います." + +#~ msgid "Complete nicknames when a partial one is entered" +#~ msgstr "不完全なニックの入力があれば、それを補完する" + +#~ msgid "Old-style Nickname Completion" +#~ msgstr "旧スタイルのニック補完" + +#~ msgid "Nickname completion is old-style (instead of GNU-style)" +#~ msgstr "ニックネームの補完は旧スタイル(GNU スタイルの代わり)です。" + +#~ msgid "Give the Input Box style" +#~ msgstr "入力ボックススタイルを与える" + +#~ msgid "Input box gets same style as main text area" +#~ msgstr "入力ボックスをメインのテキストエリアと同じスタイルにする" + +#~ msgid "Nickname Completion Character:" +#~ msgstr "ニックを補完するときにつける文字" + +#~ msgid "Character to append to completed nicknames" +#~ msgstr "ニックネームの補完のときに付加する文字" + +#~ msgid "Output Box" +#~ msgstr "出力ボックス" + +#~ msgid "Strip MIRC color codes from text before displaying" +#~ msgstr "テキストを表示する前に, MIRC の色情報を削除します." + +#~ msgid "Output nicknames in different colors" +#~ msgstr "ニックネームにそれぞれ違った色を付けます." + +#~ msgid "Filter out BEEPs" +#~ msgstr "ビープを抑制する" + +#~ msgid "Remove ^G BEEP codes from text before displaying" +#~ msgstr "テキストを表示する前にビープコード(^G)を取り除きます" + +#~ msgid "Buffer Settings" +#~ msgstr "バッファ設定" + +#~ msgid "Text Buffer Size:" +#~ msgstr "バッファサイズ:" + +#~ msgid "lines (0=Unlimited)." +#~ msgstr "行数 (0=無制限)." + +#~ msgid "Kanji locale <=> JIS translation" +#~ msgstr "漢字の ロケール <=> JIS 変換" + +#~ msgid "Progress bar" +#~ msgstr "プログレスバ−" + +#~ msgid "Buttons" +#~ msgstr "ボタン" + +#~ msgid "Show the TNSIPMLK buttons" +#~ msgstr "チャネルのモードを表す TNSIPMLK ボタンを表示します." + +#~ msgid "User List Buttons" +#~ msgstr "ユーザーリストのボタン" + +#~ msgid "Show the buttons below the user list" +#~ msgstr "ユーザーリストの下にボタンを表示します" + +#~ msgid "Channel Tabs" +#~ msgstr "チャンネルをタブへ" + +#~ msgid "Use tabs for channels instead of separate windows" +#~ msgstr "チャネルを開くときに, 新規ウィンドウの代わりにウィンドウ内で開きます." + +#~ msgid "Limited Tab Highlighting" +#~ msgstr "限定したタブのハイライト" + +#~ msgid "Bring new query/channel tabs to front" +#~ msgstr "新規の ぷりぶ/チャンネル・タブを手間へ持ってくる" + +#~ msgid "Private Message Tabs" +#~ msgstr "ぷりぶ をタブへ" + +#~ msgid "Use tabs for /query instead of separate windows" +#~ msgstr "ぷりぶ してる時に, 新規ウィンドウの代わりにウィンドウ内で開きます." + +#~ msgid "Window Position" +#~ msgstr "ウィンドウ位置" + +#~ msgid "" +#~ "If Left and Top are set to zero, X-Chat will use\n" +#~ "your window manager defaults." +#~ msgstr "左と上からの値が 0 の場合は, X-Chat の位置はウィンドウマネージャーにまかせます." + +#~ msgid "Left:" +#~ msgstr "左端:" + +#~ msgid "Window Size" +#~ msgstr "大きさ" + +#~ msgid "Width:" +#~ msgstr "横幅:" + +#~ msgid "Height:" +#~ msgstr "高さ:" + +#~ msgid "Show Session Tree View" +#~ msgstr "セッション・ツリー・ビューを表示" + +#~ msgid "Hide Session on Panelize" +#~ msgstr "パネル化時にウィンドウを隠す" + +#~ msgid "Hide X-Chat when window moved to the panel" +#~ msgstr "パネルアプレット化の際に, X-Chat ウィンドウを隠します." + +#~ msgid "Panel Applet" +#~ msgstr "パネル・アプレット" + +#~ msgid "Layout For a Vertical Panel" +#~ msgstr "縦のパネルに適したレイアウト" + +#~ msgid "Layout the X-Chat panel applet for a vertical panel" +#~ msgstr "パネルアプレット化の際に, 縦のパネルに適した表示を行います." + +#~ msgid "Raw Mode Display" +#~ msgstr "生表示モード" + +#~ msgid "Display raw mode changes instead of interpretations" +#~ msgstr "注釈したものではなく, モード変更を生データを表示します" + +#~ msgid "Beep when a private message for you is received" +#~ msgstr "ぷりぶ メッセージを受け取ったときに, ビープを鳴らせて知らせます" + +#~ msgid "Beep when a channel message is received" +#~ msgstr "チャンネルメッセージを受け取ったときに, ビープを鳴らせて知らせます" + +#~ msgid "Send /who #chan on join." +#~ msgstr "チャンネル参加時に \"/who #チャンネル\" を送信する。" + +#~ msgid "Find user information when joining a channel." +#~ msgstr "チャンネル参加時にユーザ情報を調べる." + +#~ msgid "" +#~ "These can be a filename relative to ~/.xchat/ to be\n" +#~ "used as a list of random quit or part reasons." +#~ msgstr "" +#~ "終了または退出理由のランダムリストとして使われるファイル名を\n" +#~ "~/.xchat/ からの相対パスで指定できます." + +#~ msgid "seconds." +#~ msgstr "(秒)" + +#~ msgid "Hostname / IP Number:" +#~ msgstr "ホスト名 / IP アドレス:" + +#~ msgid "" +#~ "Most people should leave this blank, it's only\n" +#~ "usefull for machines with multiple addresses." +#~ msgstr "" +#~ "ほとんどの人は, これを空でかまわないはずです, これは\n" +#~ "複数のアドレスをもつマシンに対してのみ役に立ちます。" + +#~ msgid "Public IP Address" +#~ msgstr "パブリックIP アドレス" + +#~ msgid "" +#~ "You may need to set the DCC IP Address if\n" +#~ "you're behind a NAT router or proxy firewall." +#~ msgstr "" +#~ "NATルータやプロクシファイアウォールを使っている場合、\n" +#~ "DCC IPアドレスの設定が必要になります。" + +#~ msgid "Get my IP from Server (for use in DCC Send only)" +#~ msgstr "サーバから自分の IP アドレスを取得 (DCC 送信にのみ)" + +#~ msgid "For people using a 10.* or 192.168.* IP number." +#~ msgstr "10.* もしくは 192.168.* の IP 番号を利用する人のためのもの." + +#~ msgid "Proxy Server Hostname:" +#~ msgstr "プロキシサーバ名:" + +#~ msgid "Proxy Server Port:" +#~ msgstr "プロキシサーバポート:" + +#~ msgid "Only show away messages the first time they're seen" +#~ msgstr "最初の離席メッセージのみを表示する" + +#~ msgid "When typing is started, the away flag is unset" +#~ msgstr "キー入力が開始されたら、離席フラグを解除する" + +#~ msgid "Your away settings" +#~ msgstr "離席の設定" + +#, fuzzy +#~ msgid "Apply a timestamp to disk logs" +#~ msgstr "常にタイムスタンプをディスクログに適用" + +#~ msgid "Generic" +#~ msgstr " 一般" + +#~ msgid "User List Notify Highlighting" +#~ msgstr "ユーザリスト通知のハイライト" + +#~ msgid "Highlight Notifies" +#~ msgstr "通知をハイライトする" + +#~ msgid "Highlight notified users in the user list" +#~ msgstr "ユーザリスト中の通知ユーザをハイライトする" + +#~ msgid "Notified User Color:" +#~ msgstr "通知ユーザの色:" + +#~ msgid "Notification Timeouts" +#~ msgstr "通知タイムアウト" + +#~ msgid "Notify Check Interval:" +#~ msgstr "通知チェック間隔:" + +#~ msgid "seconds (0=Disable)." +#~ msgstr "秒 (0=無効)" + +#~ msgid "Enable Character Translation" +#~ msgstr "文字の置き換えを有効にする" + +#~ msgid "Translation File:" +#~ msgstr "変換ファイル:" + +#~ msgid "Use a ircII style translation file." +#~ msgstr "ircII 形式の変換ファイルを指定してください." + +#~ msgid "Automatically open DCC Send Window" +#~ msgstr "自動的に DCC 送信ウィンドウを開く" + +#~ msgid "Automatically open DCC Recv Window" +#~ msgstr "自動的に DDC 受信ウィンドウを開く" + +#~ msgid "Automatically open DCC Chat Window" +#~ msgstr "自動的に DCC チャット・ウィンドウを開く" + +#~ msgid "Resume on Auto Accept" +#~ msgstr "自動受付を再開する" + +#~ msgid "When Auto-Accepting DCC, try to resume." +#~ msgstr "DCC の自動受付のとき再開を試みます." + +#~ msgid "DCC Offers Timeout:" +#~ msgstr "DCC 提案タイムアウト:" + +#~ msgid "DCC Stall Timeout:" +#~ msgstr "DCC 停滞タイムアウト:" + +#~ msgid "File Permissions:" +#~ msgstr "ファイル・アクセス権:" + +#~ msgid "(octal)" +#~ msgstr "(8進数)" + +#~ msgid "Directory to save to:" +#~ msgstr "保存するディレクトリ先:" + +#~ msgid "Save file with Nickname" +#~ msgstr "ニックネームでファイルを保存する" + +#~ msgid "Put the sender's nickname in incoming filenames" +#~ msgstr "送信者のニックを incoming ファイル名に置く" + +#~ msgid "DCC Send Options" +#~ msgstr "DCC 送信オプション" + +#~ msgid "Fast DCC Send" +#~ msgstr "高速 DCC 送信" + +#~ msgid "Don't wait for ACKs to send more data" +#~ msgstr "大量のデータを送信するため, いちいち確認を待たない" + +#~ msgid "Fill Spaces" +#~ msgstr "スペースの埋め方" + +#~ msgid "File names with spaces will be filled with underscore" +#~ msgstr "ファイル名のスペースをアンダースコアで埋める" + +#~ msgid "(0=Disabled)" +#~ msgstr "(0=無効)" + +#~ msgid "Send Block Size:" +#~ msgstr "送信ブロックサイズ:" + +#~ msgid "(1024=Normal)" +#~ msgstr "(1024=通常)" + +#~ msgid "Built-in Replies" +#~ msgstr "内部応答" + +#~ msgid "Do not reply to CTCP version" +#~ msgstr "CTCP バージョンには応答しない" + +#~ msgid "Sound Dir:" +#~ msgstr "サウンドディレクトリ:" + +#~ msgid "Play Command:" +#~ msgstr "再生コマンド:" + +#~ msgid "Interface Settings" +#~ msgstr "インタフェース設定" + +#~ msgid "IRC Input/Output Settings" +#~ msgstr "IRC 入出力設定" + +#~ msgid "IRC Input/Output" +#~ msgstr "IRC 入出力" + +#~ msgid "Window Layout Settings" +#~ msgstr "ウィンドウ・レイアウト設定" + +#~ msgid "Window Layout" +#~ msgstr "ウィンドウ・レイアウト" + +#~ msgid "Main Window Settings" +#~ msgstr "メインウィンドウ設定" + +#~ msgid "Channel Window Settings" +#~ msgstr "チャンネル・ウィンドウ設定" + +#~ msgid "Dialog Window Settings" +#~ msgstr "ダイアログ・ウィンドウ設定" + +#~ msgid "Panel" +#~ msgstr "パネル" + +#~ msgid "IRC Settings" +#~ msgstr "IRC 設定" + +#~ msgid "IP Address Settings" +#~ msgstr "IP アドレス設定" + +#, fuzzy +#~ msgid "IP Address" +#~ msgstr "IP アドレス" + +#~ msgid "Highlighting Settings" +#~ msgstr "ハイライト設定" + +#~ msgid "Logging Settings" +#~ msgstr "ログイン設定" + +#~ msgid "Notification Settings" +#~ msgstr "通知設定" + +#~ msgid "Notification" +#~ msgstr "通知" + +#~ msgid "Character Set (Translation Tables)" +#~ msgstr "文字集合(変換テーブル)" + +#, fuzzy +#~ msgid "CTCP Settings" +#~ msgstr "DCC 設定" + +#~ msgid "DCC Settings" +#~ msgstr "DCC 設定" + +#~ msgid "Input Box always in focus" +#~ msgstr "入力ボックスをいつもフォーカスする" + +#~ msgid "/TIMER <seconds> <command>\n" +#~ msgstr "/TIMER <秒> <コマンド>\n" + +#~ msgid "Userlist icons" +#~ msgstr "ユーザリストアイコン" + +#~ msgid "Show nickname" +#~ msgstr "ニックを表示" + +#~ msgid "Show nickname and op/voice icon before the input box" +#~ msgstr "入力ボックスの前に自分のニックとop/voiceアイコンを表示" + +#~ msgid "/MKICKB, Sets a ban of *@* and mass kicks everyone except you in the current channel (needs chanop)\n" +#~ msgstr "/MKICKB, 現在のチャンネルで, 自分以外の全員を キックして, さらにバンする (なるとが必要).\n" + +#~ msgid "" +#~ "An IRC Client for UNIX.\n" +#~ "\n" +#~ "This binary was compiled on " +#~ msgstr "" +#~ "UNIXのIRCクライアント。\n" +#~ "\n" +#~ "このバイナリがコンパイルされたのは" + +#~ msgid "" +#~ "(C) 1998-2001 Peter Zelezny <zed@linux.com>\n" +#~ "\n" +#~ "An IRC Client for UNIX.\n" +#~ "\n" +#~ "This binary was compiled on " +#~ msgstr "" +#~ "(C) 1998-2001 Peter Zelezny <zed@linux.com>\n" +#~ "\n" +#~ "UNIXのIRCクライアント。\n" +#~ "\n" +#~ "このバイナリがコンパイルされたのは" + +#~ msgid " Apply " +#~ msgstr "適用" + +#~ msgid "Config dir" +#~ msgstr "設定ディレクトリ" + +#~ msgid "Don't use GNOME Panel" +#~ msgstr "GNOME パネルを利用しない" + +#~ msgid "Open Toolbox" +#~ msgstr "ツールボックスを開く" + +#~ msgid "Beep" +#~ msgstr "ビープ音" + +#~ msgid "Conf" +#~ msgstr "会議" + +#~ msgid "Conference mode (no join/part msgs)" +#~ msgstr "会議モード (参加/分断 メッセージなし)" + +#~ msgid "CP" +#~ msgstr "色貼" + +#~ msgid "Ascii" +#~ msgstr "アスキー" + +#~ msgid "Bold" +#~ msgstr "太字" + +#~ msgid "Hide/Show Userlist" +#~ msgstr "ユーザリストを隠す/表示" + +#~ msgid "K" +#~ msgstr "鍵" + +#~ msgid "Perl Script.." +#~ msgstr "Perl スクリプト..." + +#~ msgid "Python Script.." +#~ msgstr "Python スクリプト..." + +#~ msgid "All Perl Scripts" +#~ msgstr "すべての Perl スクリプト" + +#~ msgid "All Python Scripts" +#~ msgstr "すべての Python スクリプト" + +#~ msgid "All Plugins" +#~ msgstr "すべてのプラグイン" + +#~ msgid "Kill" +#~ msgstr "殺す" + +#~ msgid "User _Modes" +#~ msgstr "状態(_M)" + +#~ msgid "_Settings" +#~ msgstr "設定(_S)" + +#~ msgid "S_cripts & Plugins" +#~ msgstr "拡張(_C)" + +#~ msgid "Use_r Menu" +#~ msgstr "メニュー(_R)" + +#~ msgid "Use the /NOTIFY command to add people to your notify list." +#~ msgstr "『/NOTIFY』コマンドで通知リストへニックを追加してください." + +#~ msgid "Show invites in active window" +#~ msgstr "アクティブウィンドウに INVITE を表示" + +#~ msgid "Show notifies in active window" +#~ msgstr "通知をアクティヴウィンドウに表示" + +#~ msgid "Priv Yes/No" +#~ msgstr "ぷりぶ はい/いいえ" + +#~ msgid "Noti Yes/No" +#~ msgstr "通知 はい/いいえ" + +#~ msgid "Chan Yes/No" +#~ msgstr "チャンネル はい/いいえ" + +#~ msgid "Ctcp Yes/No" +#~ msgstr "CTCP はい/いいえ" + +#~ msgid "Invi Yes/No" +#~ msgstr "招待 はい/いいえ" + +#~ msgid "Unig Yes/No" +#~ msgstr "無視解除 はい/いいえ" + +#~ msgid "Number of messages" +#~ msgstr "メッセージ数" + +#~ msgid "Bytes in mailbox" +#~ msgstr "メールボックス中のバイト数" + +#, fuzzy +#~ msgid "%C2<%O$1%C2>%O$t$2%O" +#~ msgstr "%C6<%O$1%C6>%O$t$2%O" + +#~ msgid "%C6<%O$1%C6>%O$t$2%O" +#~ msgstr "%C6<%O$1%C6>%O$t$2%O" + +#~ msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%C $2" +#~ msgstr "-%C10-%C11-%O$t%C12[%O$1%C12]%O $2" + +#~ msgid "-%C10-%C11-%O$t$1%O" +#~ msgstr "-%C10-%C11-%O$t$1%O" + +#~ msgid "-%C10-%C11-%O$tDCC CHAT failed. Connection to $1 %C14[%O$2:$3%C14]%O lost." +#~ msgstr "-%C10-%C11-%O$tDCC チャットに失敗しました. $1 %C14[%O$2:$3%C14]%O への接続を失いました。" + +#~ msgid "-%C10-%C11-%O$tDCC RECV $1 ($2) failed. Connection to $3 lost." +#~ msgstr "-%C10-%C11-%O$t$1 ($2)の DCC 受取リに失敗しました. $3 への接続を失いました。" + +#~ msgid "-%C10-%C11-%O$tDCC SEND %C11$1%O failed. Connection to %C11$2%O lost." +#~ msgstr "-%C10-%C11-%O$t%C11$1%O の DCC 送信に失敗しました. %C11$2%O への接続を失いました。" + +#~ msgid " $1 $2 $3 $4 $5 $6 $7" +#~ msgstr " $1 $2 $3 $4 $5 $6 $7" + +#~ msgid "-%C10-%C11-%O$tContents of packet: \"$1%O\"." +#~ msgstr "-%C10-%C11-%O$tパケット内容: \"$1%O\"。" + +#~ msgid "<%C10-%C11-%O$t$1 %C14(%O$2%C14)%C has left $3 %C14(%O$4%C14)%O" +#~ msgstr "<%C10-%C11-%O$t$1 %C14(%O$2%C14)%C はチャンネル $3 から離れました. %C14(%O$4%C14)%O" + +#~ msgid "-%C3-%C9-%O$tYou have new mail ($1 messages, $2 bytes total)." +#~ msgstr "-%C3-%C9-%O$t新しいメールがあります ($1 メッセージ, 全 $2 バイト)。" + +#~ msgid "%C08,02 %B-- Notify List --------------- %O" +#~ msgstr "%C08,02 %B-- 通知リスト --------------- %O" + +#~ msgid "%C8,2 Type To/From Status Size Pos File %O%010%B%C9--------------------------------------------------%O" +#~ msgstr "%C8,2 タイプ To/From ステータス サイズ 位置 ファイル %O%010%B%C9--------------------------------------------------%O" + +#~ msgid "Perform a periodic mail check." +#~ msgstr "定期的にメールチェックを行う." + +#~ msgid "/SCPINFO, Lists some information about current Perl bindings\n" +#~ msgstr "/SCPINFO, 現在の Perl バインドについての情報リストを表示する\n" + +#~ msgid "Registered Scripts:\n" +#~ msgstr "登録されているスクリプト:\n" + +#~ msgid "Inbound Handlers:\n" +#~ msgstr "Inbound ハンドラ:\n" + +#~ msgid "Command Handlers:\n" +#~ msgstr "コマンド・ハンドラ:\n" + +#~ msgid "Print Handlers:\n" +#~ msgstr "ハンドラの表示:\n" + +#~ msgid "/LISTDLL, Lists all currenly loaded plugins\n" +#~ msgstr "/LISTDLL, 現在読み込まれているプラグインリストを表示する.\n" + +#~ msgid "{to|from}" +#~ msgstr "{宛先|送り元}" + +#~ msgid "Ok" +#~ msgstr "了解" + +#~ msgid "Unload All Plugins" +#~ msgstr "すべてのプラグインをアンロード" + +#~ msgid "Background XPM:" +#~ msgstr "背景の絵(XPM):" + +#~ msgid "DIRECTORY" +#~ msgstr "ディレクトリ" + +#~ msgid "Close this tab/window" +#~ msgstr "このタブ/ウィンドウを閉じる" + +#~ msgid "Auto Open Dialog Windows" +#~ msgstr "ダイアログ・ウィンドウを自動的に開く" + +#~ msgid "Attach Tab" +#~ msgstr "タブをつける" + +#~ msgid "Tint Settings" +#~ msgstr "色合い設定" + +#~ msgid "Info text" +#~ msgstr "情報テキスト" + +#~ msgid "Enable away tracking" +#~ msgstr "離席追跡を有効にする" + +#~ msgid "(disabled)" +#~ msgstr "(無効)" + +#~ msgid "%C19>%O$1%C19<%O$t$2%O" +#~ msgstr "%C19>%O$1%C19<%O$t$2%O" + +#~ msgid "%C22*%O$t%C28[%O$1%C28] %O$2" +#~ msgstr "%C22*%O$t%C28[%O$1%C28] %O$2" + +#~ msgid "Delete All" +#~ msgstr "すべて削除" + +#~ msgid "Server: %s" +#~ msgstr "サーバー: %s" + +#~ msgid "Real na_me:" +#~ msgstr "本名(_M):" diff --git a/po/kn.po b/po/kn.po new file mode 100644 index 00000000..b006d291 --- /dev/null +++ b/po/kn.po @@ -0,0 +1,5286 @@ +# This file is put in the public domain. +# Translation of xchat-2.8.6 in to Kannada. +# Copyright(C) 2010 THE xchat.po'S +# This file is distributed under the same license as the xchat package. +# Shankar Prasad <svenkate@redhat.com>, 2010. +msgid "" +msgstr "" +"Project-Id-Version: xchat-2.8.6 \n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2008-06-12 18:39+1000\n" +"PO-Revision-Date: 2010-03-14 00:03+0530\n" +"Last-Translator: Shankar Prasad <svenkate@redhat.com>\n" +"Language-Team: Kannada <debian-l10n-kannada@lists.debian.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "~/.xchat2 ಅನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ" + +#: src/common/cfgfiles.c:711 +msgid "I'm busy" +msgstr "ನಾನು ಕಾರ್ಯನಿರತವಾಗಿದ್ದೇನೆ" + +#: src/common/cfgfiles.c:712 +msgid "Leaving" +msgstr "ಹೊರಹೋಗಲಾಗುತ್ತಿದೆ" + +#: src/common/cfgfiles.c:759 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* IRC ಅನ್ನು ನಿರ್ವಾಹಕರಾಗಿ ಚಲಾಯಿಸುವುದು ಮೂರ್ಖತನ! \n" +" ನೀವು ಒಂದು ಬಳಕೆದಾರ ಖಾತೆಯನ್ನು ರಚಿಸಿ ನಂತರ ಒಳಕ್ಕೆ ಪ್ರವೇಶಿಸಬೇಕು.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "ಕಾಯಲಾಗುತ್ತಿದೆ" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "ಸಕ್ರಿಯ" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "ವಿಫಲವಾಗಿದೆ" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "ಆಯಿತು" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:928 +msgid "Connect" +msgstr "ಸಂಪರ್ಕಿತಗೊಂಡಿದೆ" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "ನಿಲ್ಲಿಸಿದೆ" + +#: src/common/dcc.c:1886 src/common/outbound.c:2451 +#, c-format +msgid "Cannot access %s\n" +msgstr "%s ಅನ್ನು ನಿಲುಕಿಸಕೊಳ್ಳಲು ಸಾಧ್ಯವಿಲ್ಲ\n" + +#: src/common/dcc.c:1887 src/common/text.c:1224 src/common/text.c:1262 +#: src/common/text.c:1273 src/common/text.c:1280 src/common/text.c:1293 +#: src/common/text.c:1310 src/common/text.c:1410 src/common/util.c:353 +msgid "Error" +msgstr "ದೋಷ" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s ರವರು \"%s\" ಅನ್ನು ನೀಡುತ್ತಿದ್ದಾರೆ. ನೀವು ಸ್ವೀಕರಿಸಲು ಬಯಸುತ್ತೀರೆ?" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "ಯಾವುದೆ ಸಕ್ರಿಯ DCCಗಳಿಲ್ಲ\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "ಹೌದು " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "ಇಲ್ಲ " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "ನಿಮ್ಮತ್ತ %s ಇಂದ CTCP ಹರಿಸುತ್ತಿದ್ದಾರೆ, %s ಅನ್ನು ಆಲಕ್ಷಿಸಲಾಗುತ್ತಿದೆ\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "ನಿಮ್ಮತ್ತ %s ಇಂದ MSG ಮಹಾಪೂರ ಹರಿದುಬರುತ್ತಿದೆ, gui_auto_open_dialog ಅನ್ನು OFF ಗೆ ಬದಲಾಯಿಸಲಾಗುತ್ತಿದೆ.\n" + +#: src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s ಆನ್‌ಲೈನ್\n" + +#: src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s ಆಫ್‍ಲೈನ್\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "ಯಾವುದೆ ಚಾನಲ್‌ಗೆ ಸೇರ್ಪಡೆಗೊಂಡಿಲ್ಲ. /join #<channel> ಅನ್ನು ಪ್ರಯತ್ನಿಸಿ ನೋಡಿ\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "ಸಂಪರ್ಕಿತಗೊಂಡಿಲ್ಲ. /server <host> [<port>] ಅನ್ನು ಪ್ರಯತ್ನಿಸಿ ನೋಡಿ\n" + +#: src/common/outbound.c:338 +#, c-format +msgid "Already marked away: %s\n" +msgstr "ಈಗಾಗಲೆ ಆಚೆ ಹೋಗಿದ್ದಾರೆ ಎಂದು ಗುರುತು ಹಾಕಲಾಗಿದೆ: %s\n" + +#: src/common/outbound.c:411 +msgid "Already marked back.\n" +msgstr "ಮರಳಿಬಂದಿದ್ದಾರೆ ಎಂದು ಈಗಾಗಲೆ ಗುರುತುಹಾಕಲಾಗಿದೆ.\n" + +#: src/common/outbound.c:1777 +msgid "I need /bin/sh to run!\n" +msgstr "ಚಲಾಯಿಸಲು ನನಗೆ /bin/sh ನ ಅಗತ್ಯವಿದೆ!\n" + +#: src/common/outbound.c:2148 +msgid "Commands Available:" +msgstr "ಲಭ್ಯವಿರುವ ಆಜ್ಞೆಗಳು:" + +#: src/common/outbound.c:2162 +msgid "User defined commands:" +msgstr "ಬಳಕೆದಾರರಿಂದ ಸೂಚಿಸಲಾದ ಆಜ್ಞೆಗಳು:" + +#: src/common/outbound.c:2178 +msgid "Plugin defined commands:" +msgstr "ಪ್ಲಗ್‌ಇನ್‌ನಿಂದ ಸೂಚಿಸಲಾದ ಆಜ್ಞೆಗಳು:" + +#: src/common/outbound.c:2189 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ /HELP <command> ಅನ್ನು, ಅಥವ /HELP -l ಅನ್ನು ಪ್ರಯತ್ನಿಸಿ" + +#: src/common/outbound.c:2274 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "'%s' ಎಂಬ ಆಜ್ಞಾತ ಆಜ್ಞೆಯನ್ನು ಆಲಕ್ಷಿಸಲಾಗಿದೆ." + +#: src/common/outbound.c:3223 +msgid "No such plugin found.\n" +msgstr "ಅಂತಹ ಯಾವುದೆ ಪ್ಲಗ್‌ಇನ್ ಕಂಡುಬಂದಿಲ್ಲ.\n" + +#: src/common/outbound.c:3228 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "ಆ ಪ್ಲಗ್‌ಇನ್ ಲೋಡ್ ಆಗಲು ನಿರಾಕರಿಸಿದೆ.\n" + +#: src/common/outbound.c:3497 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <name> <action>, ಇದು ಬಳಕೆದಾರ ಪಟ್ಟಿಯಲ್ಲಿ ಒಂದು ಗುಂಡಿಯನ್ನು ಸೇರಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3499 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, ನೀವು ಇರುವ ಎಲ್ಲಾ ಚಾನಲ್‌ಗೂ ಒಂದು ಆಜ್ಞೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3501 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <cmd>, ನೀವು ಇರುವ ಎಲ್ಲಾ ಚಾನಲ್‌ಗೂ ಒಂದು ಆಜ್ಞೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3503 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, ನೀವು ಇರುವ ಎಲ್ಲಾ ಪರಿಚಾರಕಕ್ಕೂ ಒಂದು ಆಜ್ಞೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3504 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<reason>], ಆಚೆ ಹೋಗಿದ್ದಾರೆ ಎಂದು ಸೂಚಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3505 +msgid "BACK, sets you back (not away)" +msgstr "BACK, ಮರಳಿದ್ದಾರೆ ಎಂದು ಗುರುತುಹಾಕುತ್ತದೆ (ಆಚೆ ಎಂದಲ್ಲ)" + +#: src/common/outbound.c:3507 +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> [<bantype>], ಮುಸುಕಿಗೆ(ಮಾಸ್ಕ್) ತಾಳೆಯಾಗುವ ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿನ ಎಲ್ಲರನ್ನೂ ನಿರ್ಬಂಧಿಸಲಾಗುತ್ತದೆ. ಅವರು ಈಗಾಗಲೆ ಚಾನಲ್‌ನಲ್ಲಿದ್ದಲ್ಲಿ ಇದು ಅವರನ್ನು ಹೊರಹಾಕುವುದಿಲ್ಲ (chanop ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:3508 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variable> [<value>]" + +#: src/common/outbound.c:3510 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR [ALL|HISTORY], ಪ್ರಸಕ್ತ ಪಠ್ಯ ವಿಂಡೊವನ್ನು ಅಥವ ಆಜ್ಞೆಯ ಇತಿಹಾಸವನ್ನು ಅಳಿಸಿಹಾಕುತ್ತದೆ" + +#: src/common/outbound.c:3511 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, ಪ್ರಸಕ್ತ ವಿಂಡೊ/ಹಾಳೆಯನ್ನು ಮುಚ್ಚುತ್ತದೆ" + +#: src/common/outbound.c:3514 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|wildcard>, ಒಂದು ದೇಶದ ಸಂಕೇತವನ್ನು ಹುಡುಕುತ್ತದೆ, ಉದಾ: au = australia" + +#: src/common/outbound.c:3516 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <nick> <message>, ನಿಗದಿತ ಅಡ್ಡಹೆಸರಿಗೆ CTCP ಸಂದೇಶವನ್ನು ಕಳುಹಿಸುತ್ತದೆ, ಸಾಮಾನ್ಯ ಸಂದೇಶಗಳೆಂದರೆ VERSION ಹಾಗು USERINFO ಆಗಿರುತ್ತದೆ" + +#: src/common/outbound.c:3518 +msgid "CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "CYCLE [<channel>], ಪ್ರಸಕ್ತ ಅಥವ ಸೂಚಿಸಲಾದ ಚಾನಲ್‌ನಿಂದ ನಿರ್ಗಮಿಸಿ ನಂತರ ತಕ್ಷಣ ಮರಳಿ ಸೇರಿಕೊಳ್ಳಲಾಗುತ್ತದೆ" + +#: src/common/outbound.c:3520 +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 "" +"\n" +"DCC GET <nick> - ಕಳುಹಿಸಲಾದ ಕಡತವನ್ನು ಸ್ವೀಕರಿಸಿ\n" +"DCC SEND [-maxcps=#] <nick> [ಕಡತ] - ನಿಗದಿತ ವ್ಯಕ್ತಿಗೆ ಕಡತವನ್ನು ಕಳುಹಿಸಿ\n" +"DCC PSEND [-maxcps=#] <nick> [ಕಡತ] - ನಿಷ್ಕ್ರಿಯ ಕ್ರಮದಲ್ಲಿ ಒಂದು ಕಡತವನ್ನು ಕಳುಹಿಸಿ\n" +"DCC LIST - DCC ಪಟ್ಟಿಯನ್ನು ತೋರಿಸಿ\n" +"DCC CHAT <nick> - ನಿಗದಿತ ವ್ಯಕ್ತಿಯೊಂದಿಗೆ DCC CHAT ನಡೆಸಿ\n" +"DCC PCHAT <nick> - ನಿಗದಿತ ವ್ಯಕ್ತಿಯೊಂದಿಗೆ ನಿಷ್ಕ್ರಿಯ ಕ್ರಮದಲ್ಲಿ DCC CHAT ನಡೆಸಿ\n" +"DCC CLOSE <type> <nick> <file> ಉದಾಹರಣೆ:\n" +" /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3532 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <nick>, ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿ ಅಡ್ಡಹೆಸರಿನಿಂದ chanhalf-op ಸ್ಥಿತಿಯನ್ನು ತೆಗೆದು ಹಾಕುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:3534 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <name>, ಇದು ಬಳಕೆದಾರ ಪಟ್ಟಿಯಲ್ಲಿನ ಒಂದು ಗುಂಡಿಯನ್ನು ಅಳಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3536 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <nick>, ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿ ಅಡ್ಡಹೆಸರಿನಿಂದ chanop ಸ್ಥಿತಿಯನ್ನು ತೆಗೆದು ಹಾಕುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:3538 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <nick>, ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿ ಅಡ್ಡಹೆಸರಿನಿಂದ ಧ್ವನಿ ಸ್ಥಿತಿಯನ್ನು ತೆಗೆದು ಹಾಕುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:3539 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, ಪರಿಚಾರಕದಿಂದ ಸಂಪರ್ಕವನ್ನು ಕಡಿದು ಹಾಕುತ್ತದೆ" + +#: src/common/outbound.c:3540 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <nick|host|ip>, ಒಬ್ಬ ಬಳಕೆದಾರರ IP ಸಂಖ್ಯೆಯನ್ನು ತಿಳಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3541 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, ಪಠ್ಯವನ್ನು ನಿಮಗೆ ಮಾತ್ರ ಕಾಣಿಸುವಂತೆ ಗೋಚರಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3544 +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] <command>, ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸುತ್ತದೆ. -o ಫ್ಲಾಗ್‌ ಅನ್ನು ಬಳಸಲಾಗಿದ್ದರೆ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಪ್ರಸಕ್ತ ಚಾನಲ್‌ಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ, ಇಲ್ಲದೆ ಹೋದಲ್ಲಿ ಪ್ರಸಕ್ತ ಪಠ್ಯ ಚೌಕಕ್ಕೆ ಮುದ್ರಿಸಲಾಗುತ್ತದೆ" + +#: src/common/outbound.c:3546 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, ಪ್ರಕ್ರಿಯೆ SIGCONT ಅನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3549 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], ಚಾಲನೆಯಲ್ಲಿರುವ exec ಅನ್ನು ಅಂತ್ಯಗೊಳಿಸುತ್ತದೆ. -9 ಅನ್ನು ನೀಡಲಾಗಿದ್ದರೆ SIGKILL ಆಗುತ್ತದೆ" + +#: src/common/outbound.c:3551 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECCONT, ಪ್ರಕ್ರಿಯೆ SIGSTOP ಅನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3552 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, ಪ್ರಕ್ರಿಯೆಗಳ stdin ಗೆ ದತ್ತಾಂಶವನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3556 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, ಇದು ಪ್ರಸಕ್ತ ಪರಿಚಾರಕದ ಕಳುಹಿಸುವ ಸರತಿಯನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3558 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>], ಒಂದು ಆತಿಥೇಯದ ಮೂಲಕ ಪ್ರಾಕ್ಸಿಗಳು, ಪೂರ್ವನಿಯೋಜಿತ ಸಂಪರ್ಕಸ್ಥಾನವು 23 ಆಗಿರುತ್ತದೆ" + +#: src/common/outbound.c:3562 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <nick> <password>, ghost ಮಾಡಲಾದ ಅಡ್ಡಹೆಸರನ್ನು ಕೊಲ್ಲುತ್ತದೆ" + +#: src/common/outbound.c:3567 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nick>, ಅಡ್ಡಹೆಸರಿಗೆ chanhalf-op ಸ್ಥಿತಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:3568 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <password>, nickserv ನಿಮ್ಮನ್ನು ಗುರುತಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3570 +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 <mask> <types..> <options..>\n" +" mask - ಕಡೆಗಣಿಸಬೇಕಿರುವ ಆತಿಥೇಯ ಮುಸುಕು, ಉದಾ: *!*@*.aol.com\n" +" types - ಕಡೆಗಣಿಸಬೇಕಿರುವ ದತ್ತಾಂಶದ ಬಗೆಗಳು, ಇವುಗಳಲ್ಲಿ ಒಂದು ಅಥವ ಎಲ್ಲವೂ:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" + +#: src/common/outbound.c:3577 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <nick> [<channel>], ನಿಗದಿತ ವ್ಯಕ್ತಿಯನ್ನು ಚಾನಲ್‌ಗೆ ಆಮಂತ್ರಿಸುತ್ತದೆ, ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಪ್ರಸಕ್ತ ಚಾನಲ್‌ ಆಗಿರುತ್ತದೆ (chanop ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:3578 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <channel>, ಚಾನಲ್‌ಗೆ ಸೇರ್ಪಡೆಗೊಳ್ಳುತ್ತದೆ" + +#: src/common/outbound.c:3580 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <nick>, ನಿಗದಿತ ವ್ಯಕ್ತಿಯನ್ನು ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಿಂದ ಹೊರಹಾಕುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:3582 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <nick>, ನಿಗದಿತ ವ್ಯಕ್ತಿಯನ್ನು ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿ ಮೊದಲು ನಿಷೇಧಿಸಿ ನಂತರ ಹೊರಹಾಕುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:3585 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, ಹೊಸ ಲ್ಯಾಗ್ ಪರಿಶೀಲನೆಯನ್ನು ಒತ್ತಾಯಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3587 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <string>, ಬಫರಿನಲ್ಲಿನ ಒಂದು ವಾಕ್ಯಕ್ಕಾಗಿ ಹುಡುಕುತ್ತದೆ" + +#: src/common/outbound.c:3589 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <file>, ಪ್ಲಗ್‌ಇನ್ ಅಥವ ಸ್ಕ್ರಿಪ್ಟನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ" + +#: src/common/outbound.c:3592 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿನ ಎಲ್ಲಾ chanhalf-op ಗಳನ್ನು ಒಟ್ಟಿಗೆ deop ಮಾಡುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:3594 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿನ ಎಲ್ಲಾ chanop ಗಳನ್ನು ಒಟ್ಟಿಗೆ deop ಮಾಡುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:3596 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <action>, ಕ್ರಿಯೆಯನ್ನು ಪ್ರಸಕ್ತ ಚಾನಲ್‌ಗೆ ಕಳುಹಿಸುತ್ತದೆ (ಕ್ರಿಯೆಗಳನ್ನು ಮೂರನೆ ವ್ಯಕ್ತಿ ಹೇಳುವಂತೆ ಬರೆಯಲಾಗುತ್ತದೆ, ಉದಾ., /me jumps)" + +#: src/common/outbound.c:3600 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, ನಿಮ್ಮನ್ನು ಹೊರತು ಪಡಿಸಿ ಎಲ್ಲರನ್ನೂ ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಿಂದ ಹೊರಹಾಕುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:3603 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, ಚಾನಲ್‌ನಲ್ಲಿನ ಎಲ್ಲಾ ಬಳಕೆದಾರರಿಗೂ ಒಟ್ಟಿಗೆ op ಮಾಡಲಾಗುತ್ತದೆ (chanop ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:3604 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <nick> <message>, ಒಂದು ಖಾಸಗಿ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3607 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿನ ಅಡ್ಡಹೆಸರುಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ" + +#: src/common/outbound.c:3609 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <message>, ಒಂದು CTCP ಸೂಚನೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3610 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostname> [<port>]" + +#: src/common/outbound.c:3611 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nickname>, ನಿಮ್ಮ ಅಡ್ಡಹೆಸರನ್ನು ಹೊಂದಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3614 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <nick/channel> <message>, ಒಂದು ಸೂಚನೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ. ಸೂಚನೆಗಳೆಂದರೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರತಿಕ್ರಿಯಿಸಬೇಕಿರುವ ಸಂದೇಶಗಳಾಗಿರುತ್ತವೆ" + +#: src/common/outbound.c:3616 +msgid "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" +msgstr "NOTIFY [-n network1[,network2,...]] [<nick>], ನಿಮ್ಮ ಸೂಚನಾ ಪಟ್ಟಿಯನ್ನು ತೋರಿಸುತ್ತದೆ ಅಥವ ಅದಕ್ಕೆ ನಿಶ್ಚಿತ ವ್ಯಕ್ತಿಯನ್ನು ಸೇರಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3618 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>, ಅಡ್ಡಹೆಸರಿಗೆ chanop ಸ್ಥಿತಿಯನ್ನು ನೀಡುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:3620 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<channel>] [<reason>], ಚಾನಲ್‌ನಿಂದ ಹೊರಹೋಗಲಾಗುತ್ತದೆ, ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಪ್ರಸಕ್ತ ಚಾನಲ್ ಆಗಿರುತ್ತದೆ" + +#: src/common/outbound.c:3622 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | channel>, ಅಡ್ಡಹೆಸರಿಗೆ ಅಥವ ಚಾನಲ್‌ಗೆ CTCP ಪಿಂಗ್‌ಗಳನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3624 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <nick>, ನಿಶ್ಚಿತ ವ್ಯಕ್ತಿಯೊಂದಿಗೆ privmsg ವಿಂಡೊವನ್ನು ತೆರೆಯುತ್ತದೆ" + +#: src/common/outbound.c:3626 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reason>], ಪರಿಚಾರಕದಿಂದ ಸಂಪರ್ಕವನ್ನು ಕಡಿದು ಹಾಕುತ್ತದೆ" + +#: src/common/outbound.c:3628 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <text>, ಇದು ಪಠ್ಯವನ್ನು ಕಚ್ಛಾ ರೂಪದಲ್ಲಿ ಪರಿಚಾರಕಕ್ಕೆ ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3631 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<port>] [<password>], ಪ್ರಸಕ್ತ ಪರಿಚಾರಕದೊಂದಿಗೆ ಮರಳಿ ಸಂಪರ್ಕ ಹೊಂದಲು /RECONNECT ಬಳಸಬಹುದು ಅಥವ ಲಭ್ಯವಿರುವ ಎಲ್ಲಾ ಮುಕ್ತ ಪರಿಚಾರಕಗಳೊಂದಿಗೆ ಸಂಪರ್ಕಸಾಧಿಸಲು /RECONNECT ALL ಅನ್ನು ಬಳಸಬಹುದು" + +#: src/common/outbound.c:3634 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<password>], ಪ್ರಸಕ್ತ ಪರಿಚಾರಕದೊಂದಿಗೆ ಮರಳಿ ಸಂಪರ್ಕ ಹೊಂದಲು /RECONNECT ಬಳಸಬಹುದು ಅಥವ ಲಭ್ಯವಿರುವ ಎಲ್ಲಾ ಮುಕ್ತ ಪರಿಚಾರಕಗಳೊಂದಿಗೆ ಸಂಪರ್ಕಸಾಧಿಸಲು /RECONNECT ALL ಅನ್ನು ಬಳಸಬಹುದು" + +#: src/common/outbound.c:3636 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <text>, irc ಪರಿಚಾರಕದಂತೆ ಪಡೆದುಕೊಂಡಿದೆಯೊ ಎಂಬಂತೆ ಕಚ್ಛಾದತ್ತಾಂಶವನ್ನು xchat ಗೆ ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3639 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>, ಪ್ರಸಕ್ತ ವಿಂಡೊದಲ್ಲಿ ಪಠ್ಯವನ್ನು ವಸ್ತುವಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3640 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<file>]" + +#: src/common/outbound.c:3643 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <channel>, ಒಂದು ಚಾನಲ್‌ಗೆ ಸಂಪರ್ಕಿತಗಗೊಂಡು ನಂತರ ಸೇರ್ಪಡೆಗೊಳ್ಳುತ್ತದೆ" + +#: src/common/outbound.c:3646 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <channel>, ಒಂದು ಚಾನಲ್‌ಗೆ ಸಂಪರ್ಕಿತಗಗೊಂಡು ನಂತರ ಸೇರ್ಪಡೆಗೊಳ್ಳುತ್ತದೆ" + +#: src/common/outbound.c:3650 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <host> [<port>] [<password>], ಪರಿಚಾರಕಕ್ಕೆ ಸಂಪರ್ಕಿತಗೊಳ್ಳುತ್ತದೆ, ಸಾಮಾನ್ಯ ಸಂಪರ್ಕಗಳಿಗಾಗಿ 6667 ಆಗಿರುತ್ತದೆ ಹಾಗು ssl ಸಂಪರ್ಕಗಳಿಗಾಗಿ 9999 ಆಗಿರುತ್ತದೆ" + +#: src/common/outbound.c:3653 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <host> [<port>] [<password>], ಒಂದು ಪರಿಚಾರಕಕ್ಕೆ ಸಂಪರ್ಕಿತಗೊಳ್ಳುತ್ತದೆ, ಪೂರ್ವನಿಯೋಜಿತ ಸಂಪರ್ಕಸ್ಥಾನವು 6667 ಆಗಿರುತ್ತದೆ" + +#: src/common/outbound.c:3655 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-or] [-quiet] <variable> [<value>]" + +#: src/common/outbound.c:3656 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<position>" + +#: src/common/outbound.c:3661 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<topic>], ಸೂಚಿಸಿದ ವಿಷಯವನ್ನು ಹೊಂದಿಸುತ್ತದೆ, ಅಥವ ಪ್ರಸಕ್ತ ವಿಷಯವನ್ನು ತೋರಿಸುತ್ತದೆ " + +#: src/common/outbound.c:3663 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] ಎರಡು ಚಿಹ್ನೆಗಳ ನಡುವೆ ಟ್ರೇಯನ್ನು ಮಿನುಗಿಸುತ್ತದೆ.\n" +"TRAY -f <filename> ಟ್ರೇ ಅನ್ನು ಒಂದು ನಿಶ್ಚಿತ ಚಿಹ್ನೆಗೆ ಹೊಂದಿಸುತ್ತದೆ.\n" +"TRAY -i <number> ಒಂದು ಆಂತರಿಕ ಚಿಹ್ನೆಯೊಂದಿಗೆ ಟ್ರೇಯನ್ನು ಮಿನುಗಿಸುತ್ತದೆ.\n" +"TRAY -t <text> ಟ್ರೇಯ ಸಲಹೆಉಪಕರಣವನ್ನು ಹೊಂದಿಸುತ್ತದೆ.\n" +"TRAY -b <title> <text> ಟ್ರೇ ಬಲೂನ್ ಅನ್ನು ಹೊಂದಿಸುತ್ತದೆ." + +#: src/common/outbound.c:3670 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], ಸೂಚಿತ ಮುಸುಕುಗಳ(ಮಾಸ್ಕ್) ನಿಶೇಧವನ್ನು ರದ್ದುಗೊಳಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3671 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:3672 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <name>, ಪ್ಲಗ್‌ಇನ್ ಅಥವ ಸ್ಕ್ರಿಪ್ಟನ್ನು ಅನ್‌ಲೋಡ್ ಮಾಡುತ್ತದೆ" + +#: src/common/outbound.c:3673 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, ಒಂದು URL ಅನ್ನು ನಿಮ್ಮ ಜಾಲವೀಕ್ಷಕದಲ್ಲಿ ತೆರೆಯುತ್ತದೆ" + +#: src/common/outbound.c:3675 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <nick1> <nick2> ಇತರೆ, ಚಾನಲ್‌ನ ಬಳಕೆದಾರಪಟ್ಟಿಯಲ್ಲಿ ಅಡ್ಡಹೆಸರನ್ನು೯(ಗಳನ್ನು) ಹೈಲೈಟ್ ಮಾಡುತ್ತದೆ" + +#: src/common/outbound.c:3678 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>, ಬೇರೆಯೊಬ್ಬರಿಗೆ ಧ್ವನಿ ಸ್ಥಿತಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:3680 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <message>, ಎಲ್ಲಾ ಚಾನಲ್‌ಗಳಲ್ಲಿಯೂ ಸಂದೇಶವನ್ನು ಬರೆಯುತ್ತದೆ" + +#: src/common/outbound.c:3682 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <message>, ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿನ ಎಲ್ಲಾ chanops ಸಂದೇಶವನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3715 +#, c-format +msgid "Usage: %s\n" +msgstr "ಬಳಕೆ: %s\n" + +#: src/common/outbound.c:3720 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"ಆ ಆಜ್ಞೆಗೆ ಯಾವುದೆ ನೆರವು ಲಭ್ಯವಿಲ್ಲ.\n" + +#: src/common/outbound.c:3726 +msgid "No such command.\n" +msgstr "ಅಂತಹ ಯಾವುದೇ ಆಜ್ಞೆ ಇಲ್ಲ.\n" + +#: src/common/outbound.c:4057 +msgid "Bad arguments for user command.\n" +msgstr "ಬಳಕೆದಾರ ಆಜ್ಞೆಯಲ್ಲಿ ಸರಿಯಲ್ಲದ ಆರ್ಗುಮೆಂಟ್‌ಗಳು.\n" + +#: src/common/outbound.c:4217 +msgid "Too many recursive usercommands, aborting." +msgstr "ಬಹಳಷ್ಟು ಪುನರಾವರ್ತಿತ ಬಳಕೆದಾರ ಆಜ್ಞೆಗಳು, ನಿಲ್ಲಿಸಲಾಗುತ್ತಿದೆ." + +#: src/common/outbound.c:4300 +msgid "Unknown Command. Try /help\n" +msgstr "ಗೊತ್ತಿಲ್ಲದ ಆಜ್ಞೆ. /help ಅನ್ನು ಪ್ರಯತ್ನಿಸಿ\n" + +#: src/common/plugin.c:356 src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "xchat_plugin_init ಸಂಕೇತವಾಗಿಲ್ಲ; ಇದು ನಿಜವಾಗಿಯೂ ಒಂದು xchat ಪ್ಲಗ್‌ಇನ್ ಆಗಿದೆಯೆ?" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "ಇದು ಒಂದು SSL ಸಮರ್ಥವಾದ ಪರಿಚಾರಕ ಹಾಗು ಸಂಪರ್ಕಸ್ಥಾನ ಎಂದು ನೀವು ಖಚಿತವೆ?\n" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"%s ಎಂಬ ಆತಿಥೇಯ ಹೆಸರನ್ನು ಪರಿಹರಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ\n" +"ನಿಮ್ಮ IP ಸಿದ್ಧತೆಗಳನ್ನು ಪರಿಶೀಲಿಸಿ!\n" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "ಪ್ರಾಕ್ಸಿ ಚಲನೆಯು ವಿಫಲಗೊಂಡಿದೆ.\n" + +#: src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "%s ನಲ್ಲಿ ಮುಂದಿನ ಪರಿಚಾರಕಕ್ಕೆ ಪ್ರಯತ್ನಿಸಲಾಗುತ್ತದೆ...\n" + +#: src/common/servlist.c:1094 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "ಎಚ್ಚರಿಕೆ: \"%s\" ಅಕ್ಷರದ ಸೆಟ್‌ ತಿಳಿದಿಲ್ಲ. %s ಎಂಬ ಜಾಲಬಂಧಕ್ಕೆ ಯಾವುದೆ ಮಾತುಕತೆಯನ್ನು ಅನ್ವಯಿಸಲಾಗಿಲ್ಲ." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 ಅನ್ನು ಸೂಚನೆಯ ಪಟ್ಟಿಗೆ ಸೇರಿಸಲಾಗಿದೆ." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 ನಿಷೇಧ ಪಟ್ಟಿ:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$t%C26 %B$1 %O ಅನ್ನು ಸೇರಲು ಸಾಧ್ಯವಿಲ್ಲ(ನಿಮ್ಮನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 ರವರು $2 ಎಂದು ಕರೆಯಲ್ಪಡುತ್ತಾರೆ" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 ರವರು $2 ನಲ್ಲಿ ನಿಶೇಧಿಸಿದ್ದಾರೆ" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tಚಾನಲ್ $1 ಅನ್ನು $2 ನಲ್ಲಿ ನಿರ್ಮಿಸಲಾಗಿದೆ" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O ರವರು ಚಾನಲ್ ಅರೆ-ಕಾರ್ಯನಿರ್ವಾಹಕ(half-operator) ಸ್ಥಿತಿಯನ್ನು %C26 $2 ಇಂದ ತೆಗೆದು ಹಾಕಿದ್ದಾರೆ" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O ರವರು ಚಾನಲ್ ಕಾರ್ಯನಿರ್ವಾಹಕ(half-operator) ಸ್ಥಿತಿಯನ್ನು %C26 $2 ಇಂದ ತೆಗೆದು ಹಾಕಿದ್ದಾರೆ" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O ರವರು %C26 $2 ಇಂದ ಧ್ವನಿಯನ್ನು ತೆಗೆದು ಹಾಕಿದ್ದಾರೆ" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 ರವರು $2 ನಲ್ಲಿ ವಿನಾಯಿತಿಯನ್ನು ಹೊಂದಿಸಿದ್ದಾರೆ" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O ರವರು %C26 $2 ಗೆ ಅರೆ-ಕಾರ್ಯನಿರ್ವಾಹಕ(half-operator) ಸ್ಥಿತಿಯನ್ನು ನೀಡಿದ್ದಾರೆ" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 ರವರು $2 ನಲ್ಲಿ ಆಮಂತ್ರಿಸಿದ್ದಾರೆ" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%Uಚಾನಲ್ ಬಳಕೆದಾರರ ವಿಷಯ" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 ರವರು $2$3 $4 ಗೆ ಕ್ರಮವನ್ನು ಹೊಂದಿಸುತ್ತಾರೆ" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22 $1 ವಾಹಿನಿಯ ಕ್ರಮಗಳು: $2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O ರವರು %C26 $2 ಗೆ ಕಾರ್ಯನಿರ್ವಾಹಕ(half-operator) ಸ್ಥಿತಿಯನ್ನು ನೀಡಿದ್ದಾರೆ" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1ರವರು $2 ನ ಮೇಲೆ ವಿನಾಯಿತಿಯನ್ನು ತೆಗೆದು ಹಾಕಿದ್ದಾರೆ" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 ರವರು $2 ನಲ್ಲಿ ಆಮಂತ್ರಣವನ್ನು ತೆಗೆದುಹಾಕಿದ್ದಾರೆ" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 ರವರು ಚಾನಲ್ ಕೀಲಿಪದವನ್ನು ತೆಗೆದುಹಾಕಿದ್ದಾರೆ" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 ರವರು ಬಳಕೆದಾರ ಮಿತಿಯನ್ನು ತೆಗೆದುಹಾಕಿದ್ದಾರೆ" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 ರವರು ಚಾನಲ್ ಕೀಲಿಪದವನ್ನು $2 ಗೆ ಹೊಂದಿಸಿದ್ದಾರೆ" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 ರವರು ಬಳಕೆದಾರ ಮಿತಿಯನ್ನು $2 ಗೆ ಹೊಂದಿಸಿದ್ದಾರೆ" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 ರವರು $2 ನಲ್ಲಿ ನಿಶೇಧವನ್ನು ತೆಗೆದುಹಾಕಿದ್ದಾರೆ" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O ರವರು %C26 $2 ಗೆ ಧ್ವನಿಯನ್ನು ನೀಡಿದ್ದಾರೆ" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22ಸಂಪರ್ಕಿತಗೊಂಡಿದೆ. ಈಗ ಪ್ರವೇಶಿಸಲಾಗುತ್ತಿದೆ..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22ರವರು $1 ($2) ಸಂಪರ್ಕಸಾಧನ $3%O ದೊಂದಿಗೆ ಸಂಪರ್ಕಸಾಧಿಸಿದ್ದಾರೆ..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21ಸಂಪರ್ಕವು ವಿಫಲಗೊಂಡಿದೆ. ದೋಷ: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tರವರು $2 ಇಂದ CTCP $1 ಅನ್ನು ಪಡೆದಿದ್ದಾರೆ" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tರವರು $2 ಇಂದ CTCP $1 ಅನ್ನು ಪಡೆದಿದ್ದಾರೆ ($3 ಕ್ಕೆ)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tರವರು $2 ಇಂದ CTCP $ ಶಬ್ಧವನ್ನು ಪಡೆದಿದ್ದಾರೆ" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tರವರು $2 ಇಂದ CTCP $ ಶಬ್ಧವನ್ನು ಪಡೆದಿದ್ದಾರೆ ($3ಕ್ಕೆ)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$t %C26$1%O ನೊಂದಿಗಿನ DCC CHAT ಅನ್ನು ಸ್ಥಗಿತಗೊಳಿಸಲಾಗಿದೆ." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC CHAT ಸಂಪರ್ಕವು %C26$1 %C30ದೊಂದಿಗೆ ಸಾಧಿಸಲಾಗಿದೆ[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tDCC %C26$1%O ಗಾಗಿನ CHAT ಇಲ್ಲವಾಗಿದೆ ($4)." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$t ರವರಿಗೆ $1 ಇಂದ ಒಂದು DCC CHAT ಬಂದಿದೆ" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tರವರು $1 ಗೆ DCC CHAT ಅನ್ನು ನೀಡಲು ಬಯಸಿದ್ದಾರೆ" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tಈಗಾಗಲೆ $1 ಗೆ CHAT ಗಾಗಿ ಬಯಸಿದ್ದಾರೆ" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$t%C26 $2%O ಯೊಂದಿಗೆ DCC $1 ಸಂಪರ್ಕದ ಪ್ರಯತ್ನವು ವಿಫಲಗೊಂಡಿದೆ (err=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tರವರು $2 ಇಂದ '$1%O' ಅನ್ನು ಸ್ವೀಕರಿಸಿದ್ದಾರೆ" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 ಪ್ರಕಾರ ಗೆ/ಇಂದ ಸ್ಥಿತಿ ಗಾತ್ರ ಸ್ಥಳ ಕಡತ " + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$t %C26$1%O ಇಂದ ಒಂದು ಸರಿಯಲ್ಲದ DCC ಮನವಿಯನ್ನು ಪಡೆದುಕೊಂಡಿದೆ.%010%C22*%O$tಪ್ಯಾಕೆಟ್‌ನಲ್ಲಿನ ಅಂಶಗಳು: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$t%C26 $1%O ಅನ್ನು %C26 $2 ಗೆ ನೀಡಲಾಗುತ್ತಿದೆ" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tಅಂತಹ ಯಾವುದೆ DCC ನೀಡಿಕೆ ಇಲ್ಲ." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV%C26 $2%O ಗೆ%C26 $1%O ಸ್ಥಗಿತಗೊಳಿಸಲಾಗಿದೆ." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tDCC RECV%C26 $1%O %C26 $3%O ಇಮದ ಪೂರ್ಣಗೊಂಡಿದೆ %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC RECV ಸಂಪರ್ಕವು %C26 ಗೆ ಸಾಧಿಸಲಾಗಿದೆ $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O %C26 $3%O ಇಂದ ವಿಫಲಗೊಂಡಿದೆ ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: $1 ಅನ್ನು ಬರೆಯುವ ಸಲುವಾಗಿ ತೆರೆಯಲಾಗಿಲ್ಲ ($2)." + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$t%C26 $1%C ಎಂಬ ಕಡತವು ಈಗಾಗಲೆ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ, ಬದಲಿಗೆ ಅದನ್ನು%C26 $2%O ಉಳಿಸಲಾಗುತ್ತಿದೆ." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Oರವರು%C26 $2 ಅನ್ನು %Cಇಂದ%C26 $3%C ಮರಳಿ ಆರಂಭಿಸುವಂತೆ ಮನವಿ ಸಲ್ಲಿಸಿದ್ದಾರೆ." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND%C26 $2%O ಗೆ%C26 $1%O ಸ್ಥಗಿತಗೊಳಿಸಲಾಗಿದೆ." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O ಪೂರ್ಣಗೊಂಡಿದೆ %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$t%C26 $1 %C30[%O$2%C30] ನೊಂದಿಗೆ DCC SEND ಸಂಪರ್ಕವನ್ನು ಸಾಧಿಸಲಾಗಿದೆ" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O ವಿಫಲಗೊಂಡಿದೆ. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Oರವರು%C26 $2 %O(%C26$3 %Obytes) ಅನ್ನು ನೀಡಬಯಸಿದ್ದಾರೆ" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %O%C26 $3 %Cಗೆ ನಿಲ್ಲಿಸಲಾಗಿದೆ - ಸ್ಥಗಿತಗೊಳಿಸಲಾಗುತ್ತಿದೆ." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %O%C26 $3 %Oಗೆ ಕಾಲಾವಧಿ ತೀರಿದೆ - ಸ್ಥಗಿತಗೊಳಿಸಲಾಗುತ್ತಿದೆ." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 ಅನ್ನು ಸೂಚನಾ ಪಟ್ಟಿಯಿಂದ ಅಳಿಸಿಹಾಕಲಾಗುತ್ತಿದೆ." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tಸಂಪರ್ಕ ಕಡಿದುಹೋಗಿದೆ ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tನಿಮ್ಮ IP ಅನ್ನು ತಿಳಿದುಕೊಂಡಿದ್ದಾರೆ: [$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O ನಿಮ್ಮನ್ನು ಕಡೆಗಣಿಸುವ ಪಟ್ಟಿಗೆ ಸೇರಿಸಿದ್ದಾರೆ." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "%C26$1%O ನಲ್ಲಿ ಆಲಕ್ಷಿಸುವುದು ವಿಫಲಗೊಂಡಿದೆ." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O ಕಡೆಗಣಿಸಬೇಕಿರುವ ಪಟ್ಟಿಯಿಂದ ತೆಗೆದು ಹಾಕಿದ್ದಾರೆ." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " ಕಡೆಗಣಿಸುವ ಪಟ್ಟಿಯು ಖಾಲಿ ಇದೆ." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$t%C26 %B$1 %O ಅನ್ನು ಸೇರಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ(ಈ ಚಾನಲ್‌ಗೆ ಕೇವಲ ಆಮಂತ್ರಣದ ಮೇರೆಗೆ ಸೇರಬಹುದು)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tನಿಮ್ಮನ್ನು%C26 $1%O by%C26 $2%C ಗೆ ಆಮಂತ್ರಿಸಲಾಗಿದೆ (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) ರವರು $2 ಗೆ ಸೇರಿದ್ದಾರೆ" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$t%C26 %B$1 %O ಅನ್ನು ಸೇರಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ(ಕೀಲಿಪದದ ಅಗತ್ಯವಿದೆ)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 ರವರು $2 ಅನ್ನು $3 ಇಂದ ಹೊರಹಾಕಿದ್ದಾರೆ ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$t $1 ರವರು ನಿಮ್ಮನ್ನು ಅಂತ್ಯಗೊಳಿಸಿದ್ದಾರೆ ($2%O%C22)" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD ಅನ್ನು ಉಪೇಕ್ಷಿಸಲಾಗಿದೆ." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 ಈಗಾಗಲೆ ಬಳಕೆಯಲ್ಲಿದೆ. $2 ದೊಂದಿಗೆ ಪ್ರಯತ್ನಿಸಲಾಗುತ್ತಿದೆ..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tಎಂಬ ಅಡ್ಡಹೆಸರು ಈಗಾಗಲೆ ಬಳಕೆಯಲ್ಲಿದೆ. ಬೇರೊಂದು ಅಡ್ಡಹೆಸರಿಗಾಗಿ /NICK ಅನ್ನು ಪ್ರಯತ್ನಿಸಿ." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tಅಂತಹ ಯಾವುದೆ DCC ಇಲ್ಲ." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tಯಾವುದೆ ಪ್ರಕ್ರಿಯೆ ಚಾಲನೆಯಲ್ಲಿಲ್ಲ" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tಸೂಚನಾ ಪಟ್ಟಿ ಖಾಲಿ ಇದೆ." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B ಸೂಚನಾ ಪಟ್ಟಿ " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 ಬಳಕೆದಾರರ ಸೂಚನಾ ಪಟ್ಟಿ." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tಸೂಚನೆ: $1 ರವರು ಆಫ್‌ಲೈನಿನಲ್ಲಿದ್ದಾರೆ ($3)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tಸೂಚನೆ: $1 ರವರು ಆನ್‌ಲೈನಿನಲ್ಲಿದ್ದಾರೆ ($3)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) ರವರು $3 ಅನ್ನು ಬಿಟ್ಟು ಹೋಗಿದ್ದಾರೆ" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) ರವರು $3 ಅನ್ನು ಬಿಟ್ಟು ಹೋಗಿದ್ದಾರೆ (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$t$1 ಇಂದ ಪಿಂಗ್ ಪ್ರತ್ಯುತ್ತರ: $2 ಸೆಕೆಂಡು(ಗಳು)" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$t$1 ಸೆಕೆಂಡುಗಳಿಗೆ ಯಾವುದೆ ಪಿಂಗ್ ಪ್ರತ್ಯುತ್ತರವಿಲ್ಲ, ಸಂಪರ್ಕ ಕಡಿದುಹಾಕಲಾಗುತ್ತಿದೆ." + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tA ಪ್ರಕ್ರಿಯೆಯು ಈಗಾಗಲೆ ಚಾಲನೆಯಲ್ಲಿದೆ" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 ರವರು ನಿರ್ಗಮಿಸಿದ್ದಾರೆ (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 %B %C30ಕ್ರಮಗಳನ್ನು ಹೊಂದಿಸುತ್ತದೆ[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/ಭಾರಿ ಹೊಡೆತಗಳು%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$%C26 $1%O ನ IP ಸಂಖ್ಯೆಗಾಗಿ ಹುಡುಕಲಾಗುತ್ತಿದೆ..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22ಸಂಪರ್ಕಿತಗೊಂಡಿದ್ದಾರೆ." + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22 $1 ಗಾಗಿ ಹುಡುಕಲಾಗುತ್ತಿದೆ" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tಹಿಂದಿನ ಸಂಪರ್ಕದ ಪ್ರಯತ್ನವನ್ನು ನಿಲ್ಲಿಸಲಾಗಿದೆ (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29$1%C %C29ಗಾಗಿನ ವಿಷಯವು ಹೀಗಿದೆ: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 ರವರು ವಿಷಯವನ್ನು ಇದಕ್ಕೆ ಬದಲಾಯಿಸಿದ್ದಾರೆ: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29 $1%C %C29 ಗಾಗಿನ ವಿಷಯವನ್ನು $2%C %C29 ಎಂಬುದಕ್ಕೆ $3 ಇಂದ ಹೊಂದಿಸಲಾಗಿದೆ" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tಗೊತ್ತಿರದ ಆತಿಥೇಯ. ಸರಿಯಾಗಿ ನಮೂದಿಸಿದ್ದೀರೆ?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$t%C26 %B$1 %O ಅನ್ನು ಸೇರಲು ಸಾಧ್ಯವಿಲ್ಲ(ಬಳಕೆದಾರ ಮಿತಿಯನ್ನು ತಲುಪಿದೆ)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26$1:%C $2 ನಲ್ಲಿನ ಬಳಕೆದಾರರು" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cರವರು ಆಚೆಹೋಗಿದ್ದಾರೆ %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %O WHOIS ಪಟ್ಟಿಯ ಕೊನೆ." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O %C26 ನಿಶ್ಚಲ $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O %C26 ನಿಶ್ಚಲ $2%O, ಪ್ರವೇಶಿಸಿದ್ದು:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Oನಿಜವಾದ ಬಳಕೆದಾರ@ಆತಿಥೇಯ%C27 $2%O, ನಿಜವಾದ IP%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19ಈಗ $2 ನಲ್ಲಿ ಮಾತನಾಡುತ್ತಿದ್ದಾರೆ" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tನಿಮ್ಮನ್ನು $2 ಇಂದ $3 ರವರು ಹೊರಗಟ್ಟಿದ್ದಾರೆ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tನೀವು $3 ಎಂಬ ಚಾನಲ್‌ನಿಂದ ನಿರ್ಗಮಿಸಿದ್ದೀರಿ" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tನೀವು $3 ಎಂಬ ಚಾನಲ್‌ನಿಂದ ನಿರ್ಗಮಿಸಿದ್ದೀರಿ (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tನೀವು%C26 $1%O ಅನ್ನು %C26 $2%O ಗೆ ಆಹ್ವಾನಿಸಿದ್ದೀರಿ (%C26$3%O)" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tನಿಮ್ಮನ್ನು $2 ಎಂದು ಗುರುತಿಸಲಾಗುತ್ತಿದೆ" + +#: src/common/text.c:318 +msgid "Loaded log from" +msgstr "ಇಲ್ಲಿಂದ ದಾಖಲೆಯನ್ನು ಲೋಡ್ ಮಾಡಲಾಗಿದೆ" + +#: src/common/text.c:336 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** ದಾಖಲೆಯನ್ನು %s ಎಂಬಲ್ಲಿ ಕೊನೆಗೊಳಿಸಲಾಗಿದೆ\n" + +#: src/common/text.c:545 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** %s ಯಲ್ಲಿ ದಾಖಲೆಯನ್ನು ಆರಂಭಿಸಲಾಗಿದೆ\n" + +#: src/common/text.c:564 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* ದಾಖಲೆ ಕಡತಗಳನ್ನು ಬರೆಯುವ ಸಲುವಾಗಿ ತೆರೆಯಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ. \n" +" %s/xchatlogs ನಲ್ಲಿ ಅನುಮತಿಗಳನ್ನು ಪರಿಶೀಲಿಸಿ" + +#: src/common/text.c:931 +msgid "Left message" +msgstr "ಎಡ ಸಂದೇಶ" + +#: src/common/text.c:932 +msgid "Right message" +msgstr "ಬಲ ಸಂದೇಶ" + +#: src/common/text.c:936 +msgid "The nick of the joining person" +msgstr "ಸೇರ್ಪಡೆಗೊಂಡ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:937 +msgid "The channel being joined" +msgstr "ಸೇರಲಾಗುತ್ತಿರುವ ಚಾನಲ್" + +#: src/common/text.c:938 src/common/text.c:985 src/common/text.c:1036 +msgid "The host of the person" +msgstr "ವ್ಯಕ್ತಿಯ ಆತಿಥೇಯ ಗಣಕ" + +#: src/common/text.c:942 src/common/text.c:948 src/common/text.c:955 +#: src/common/text.c:1143 src/common/text.c:1150 src/common/text.c:1155 +#: src/common/text.c:1160 src/common/text.c:1165 src/common/text.c:1171 +#: src/common/text.c:1176 src/common/text.c:1180 src/common/text.c:1186 +#: src/common/text.c:1192 src/common/text.c:1238 src/common/text.c:1249 +#: src/common/text.c:1254 src/common/text.c:1259 src/common/text.c:1268 +#: src/common/text.c:1279 src/common/text.c:1286 src/common/text.c:1292 +#: src/common/text.c:1297 src/common/text.c:1302 src/common/text.c:1309 +#: src/common/text.c:1315 src/common/text.c:1321 src/common/text.c:1326 +#: src/common/text.c:1331 src/common/text.c:1335 src/common/text.c:1341 +#: src/common/text.c:1349 src/common/text.c:1383 src/common/text.c:1388 +msgid "Nickname" +msgstr "ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:943 +msgid "The action" +msgstr "ಕ್ರಿಯೆ" + +#: src/common/text.c:944 src/common/text.c:950 +msgid "Mode char" +msgstr "ಕ್ರಮ char" + +#: src/common/text.c:949 +msgid "The text" +msgstr "ಪಠ್ಯ" + +#: src/common/text.c:951 src/common/text.c:957 +msgid "Identified text" +msgstr "ಗುರುತಿಸಲಾದ ಪಠ್ಯ" + +#: src/common/text.c:956 src/common/text.c:1013 src/common/text.c:1019 +msgid "The message" +msgstr "ಸಂದೇಶ" + +#: src/common/text.c:961 src/common/text.c:1023 +msgid "Old nickname" +msgstr "ಹಳೆಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:962 src/common/text.c:1024 +msgid "New nickname" +msgstr "ಹೊಸ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:966 +msgid "Nick of person who changed the topic" +msgstr "ವಿಷಯವನ್ನು ಬದಲಾಯಿಸಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:967 src/common/text.c:973 src/fe-gtk/chanlist.c:766 +#: src/fe-gtk/chanlist.c:869 +msgid "Topic" +msgstr "ವಿಷಯ" + +#: src/common/text.c:968 src/common/text.c:972 src/common/text.c:1403 +#: src/fe-gtk/chanlist.c:764 src/fe-gtk/ignoregui.c:176 +#: src/fe-gtk/servlistgui.c:892 +msgid "Channel" +msgstr "ಚಾನಲ್" + +#: src/common/text.c:977 src/common/text.c:1030 +msgid "The nickname of the kicker" +msgstr "ಹೊರಗಟ್ಟಿದವರ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:978 src/common/text.c:1028 +msgid "The person being kicked" +msgstr "ಹೊರಹಾಕಲಾಗುತ್ತಿರುವ ವ್ಯಕ್ತಿ" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:990 +#: src/common/text.c:995 src/common/text.c:1029 src/common/text.c:1037 +#: src/common/text.c:1044 +msgid "The channel" +msgstr "ಚಾನಲ್" + +#: src/common/text.c:980 src/common/text.c:1031 src/common/text.c:1038 +msgid "The reason" +msgstr "ಕಾರಣ" + +#: src/common/text.c:984 src/common/text.c:1035 +msgid "The nick of the person leaving" +msgstr "ಹೊರಹೋದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:991 src/common/text.c:997 +msgid "The time" +msgstr "ಸಮಯ" + +#: src/common/text.c:996 +msgid "The creator" +msgstr "ರಚಿಸಿದವರು" + +#: src/common/text.c:1001 src/fe-gtk/dccgui.c:763 src/fe-gtk/dccgui.c:996 +msgid "Nick" +msgstr "ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1002 src/common/text.c:1255 +msgid "Reason" +msgstr "ಕಾರಣ" + +#: src/common/text.c:1003 src/common/text.c:1145 src/common/text.c:1228 +msgid "Host" +msgstr "ಅತಿಥೇಯ" + +#: src/common/text.c:1007 src/common/text.c:1012 src/common/text.c:1017 +msgid "Who it's from" +msgstr "ಇದು ಯಾರಿಂದ ಬಂದಿದೆ" + +#: src/common/text.c:1008 +msgid "The time in x.x format (see below)" +msgstr "x.x ವಿನ್ಯಾಸದಲ್ಲಿ ಸಮಯ (ಕೆಳಗೆ ನೋಡಿ)" + +#: src/common/text.c:1018 src/common/text.c:1055 +msgid "The Channel it's going to" +msgstr "ಇದು ಹೋಗಲಿರುವ ಚಾನಲ್" + +#: src/common/text.c:1042 +msgid "The sound" +msgstr "ಧ್ವನಿ" + +#: src/common/text.c:1043 src/common/text.c:1049 src/common/text.c:1054 +msgid "The nick of the person" +msgstr "ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1048 src/common/text.c:1053 +msgid "The CTCP event" +msgstr "CTCP ಘಟನೆ" + +#: src/common/text.c:1059 +msgid "The nick of the person who set the key" +msgstr "ಕೀಲಿಯನ್ನು ಹೊಂದಿಸಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1060 +msgid "The key" +msgstr "ಕೀಲಿ" + +#: src/common/text.c:1064 +msgid "The nick of the person who set the limit" +msgstr "ಮಿತಿಯನ್ನು ಹೊಂದಿಸಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1065 +msgid "The limit" +msgstr "ಮಿತಿ" + +#: src/common/text.c:1069 +msgid "The nick of the person who did the op'ing" +msgstr "op ಅನ್ನು ಮಾಡಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1070 +msgid "The nick of the person who has been op'ed" +msgstr "ಯಾರಿಗೆ op ಮಾಡಲಾಯಿತೊ ಆ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1074 +msgid "The nick of the person who has been halfop'ed" +msgstr "ಯಾರಿಗೆ halfop ಮಾಡಲಾಯಿತೊ ಅವರ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1075 +msgid "The nick of the person who did the halfop'ing" +msgstr "halfop ಅನ್ನು ಮಾಡಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1079 +msgid "The nick of the person who did the voice'ing" +msgstr "ಯಾರು voice ಮಾಡಿದರೊ ಆ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1080 +msgid "The nick of the person who has been voice'ed" +msgstr "ಯಾವ ವ್ಯಕ್ತಿಗೆ ಧ್ವನಿ ನೀಡಲಾದೆಯೋ ಆ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1084 +msgid "The nick of the person who did the banning" +msgstr "ನಿಶೇಧಿಸಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1085 src/common/text.c:1112 +msgid "The ban mask" +msgstr "ನಿಶೇಧ ಮುಸುಕು(ಮಾಸ್ಕ್)" + +#: src/common/text.c:1089 +msgid "The nick who removed the key" +msgstr "ಕೀಲಿಯನ್ನು ತೆಗೆದು ಹಾಕಲಾಗದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1093 +msgid "The nick who removed the limit" +msgstr "ಮಿತಿಯನ್ನು ತೆಗೆದು ಹಾಕಿದೆ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1097 +msgid "The nick of the person of did the deop'ing" +msgstr "deop ಅನ್ನು ಯಾರು ಮಾಡಿದರೊ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1098 +msgid "The nick of the person who has been deop'ed" +msgstr "ಯಾರಿಗೆ deop ಮಾಡಲಾಯಿತೊ ಆ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1101 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "dehalfop ಅನ್ನು ಮಾಡಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1102 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "ಯಾರಿಗೆ dehalfop ಮಾಡಲಾಯಿತೊ ಆ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1106 +msgid "The nick of the person of did the devoice'ing" +msgstr "ಯಾವ ವ್ಯಕ್ತಿಗೆ devoice ಮಾಡಲಾಗಿದೆಯೊ ಆ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1107 +msgid "The nick of the person who has been devoice'ed" +msgstr "devoice ಮಾಡಲ್ಪಟ್ಟ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1111 +msgid "The nick of the person of did the unban'ing" +msgstr "ಯಾವ ವ್ಯಕ್ತಿಗೆ unban ಮಾಡಲಾಗಿದೆಯೊ ಆ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1116 +msgid "The nick of the person who did the exempt" +msgstr "ವಿನಾಯಿತಿಯನ್ನು ಹೊಂದಿಸಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1117 src/common/text.c:1122 +msgid "The exempt mask" +msgstr "ವಿನಾಯಿತಿ ಮುಸುಕು" + +#: src/common/text.c:1121 +msgid "The nick of the person removed the exempt" +msgstr "ವಿನಾಯಿತಿಯನ್ನು ತೆಗೆದು ಹಾಕಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the invite" +msgstr "ಆಮಂತ್ರಣವನ್ನು ನೀಡಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1127 src/common/text.c:1132 +msgid "The invite mask" +msgstr "ಆಮಂತ್ರಣ ಮುಸುಕು" + +#: src/common/text.c:1131 +msgid "The nick of the person removed the invite" +msgstr "ಆಮಂತ್ರಣವನ್ನು ತೆಗೆದು ಹಾಕಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1136 +msgid "The nick of the person setting the mode" +msgstr "ಕ್ರಮವನ್ನು ಹೊಂದಿಸಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1137 +msgid "The mode's sign (+/-)" +msgstr "ಕ್ರಮದ ಚಿಹ್ನೆಗಳು (+/-)" + +#: src/common/text.c:1138 +msgid "The mode letter" +msgstr "ಕ್ರಮದ ಅಕ್ಷರ" + +#: src/common/text.c:1139 +msgid "The channel it's being set on" +msgstr "ಇದನ್ನು ಹೊಂದಿಸಲಾದ ಚಾನಲ್‌" + +#: src/common/text.c:1144 +msgid "Username" +msgstr "ಬಳಕೆದಾರರ ಹೆಸರು " + +#: src/common/text.c:1146 +msgid "Full name" +msgstr "ಪೂರ್ಣ ಹೆಸರು" + +#: src/common/text.c:1151 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "ಚಾನಲ್ ಸದಸ್ಯತ್ವ/\"IRC ಕಾರ್ಯನಿರ್ವಾಹಕರಾಗಿದ್ದಾರೆ\"" + +#: src/common/text.c:1156 +msgid "Server Information" +msgstr "ಪರಿಚಾರಕ(ಸರ್ವರ್‍) ಮಾಹಿತಿ" + +#: src/common/text.c:1161 src/common/text.c:1166 +msgid "Idle time" +msgstr "ನಿಶ್ಚಲ ಸಮಯ" + +#: src/common/text.c:1167 +msgid "Signon time" +msgstr "ಪ್ರವೇಶದ ಸಮಯ" + +#: src/common/text.c:1172 +msgid "Away reason" +msgstr "ಆಚೆ ಹೋಗಲು ಕಾರಣ" + +#: src/common/text.c:1181 src/common/text.c:1187 src/common/text.c:1195 +#: src/common/text.c:1375 +msgid "Message" +msgstr "ಸಂದೇಶ" + +#: src/common/text.c:1188 +msgid "Account" +msgstr "ಖಾತೆ" + +#: src/common/text.c:1193 +msgid "Real user@host" +msgstr "ನಿಜವಾದ ಬಳಕೆದಾರ@ಆತಿಥೇಯ" + +#: src/common/text.c:1194 +msgid "Real IP" +msgstr "ನಿಜವಾದ IP" + +#: src/common/text.c:1199 src/common/text.c:1208 src/common/text.c:1214 +#: src/common/text.c:1244 src/common/text.c:1398 +msgid "Channel Name" +msgstr "ಚಾನಲ್ ಹೆಸರು" + +#: src/common/text.c:1203 src/common/text.c:1361 src/fe-gtk/menu.c:1404 +#: src/fe-gtk/menu.c:1592 src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "ಪಠ್ಯ" + +#: src/common/text.c:1204 src/common/text.c:1210 src/common/text.c:1239 +#: src/common/text.c:1357 src/common/text.c:1399 +msgid "Server Name" +msgstr "ಪರಿಚಾರಕದ ಹೆಸರು" + +#: src/common/text.c:1209 +msgid "Nick of person who invited you" +msgstr "ನಿಮ್ಮನ್ನು ಆಮಂತ್ರಿಸಲಾದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1215 src/fe-gtk/chanlist.c:765 +msgid "Users" +msgstr "ಬಳಕೆದಾರರು" + +#: src/common/text.c:1219 +msgid "Nickname in use" +msgstr "ಬಳಕೆಯಲ್ಲಿರುವ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1220 +msgid "Nick being tried" +msgstr "ಪ್ರಯತ್ನಿಸಲಾಗುತ್ತಿರುವ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1229 src/common/text.c:1365 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1230 src/common/text.c:1261 +msgid "Port" +msgstr "ಸಂಪರ್ಕಸ್ಥಾನ" + +#: src/common/text.c:1240 src/fe-gtk/notifygui.c:139 src/fe-gtk/setup.c:1713 +msgid "Network" +msgstr "ಜಾಲಬಂಧ" + +#: src/common/text.c:1245 src/common/text.c:1250 +msgid "Modes string" +msgstr "ಕ್ರಮಗಳ ವಾಕ್ಯ" + +#: src/common/text.c:1260 src/common/text.c:1298 src/common/text.c:1303 +#: src/common/text.c:1344 +msgid "IP address" +msgstr "IP ವಿಳಾಸ" + +#: src/common/text.c:1266 src/common/text.c:1291 +msgid "DCC Type" +msgstr "DCC ಬಗೆ" + +#: src/common/text.c:1267 src/common/text.c:1272 src/common/text.c:1277 +#: src/common/text.c:1284 src/common/text.c:1304 src/common/text.c:1308 +#: src/common/text.c:1314 src/common/text.c:1320 src/common/text.c:1327 +#: src/common/text.c:1336 src/common/text.c:1342 +msgid "Filename" +msgstr "ಕಡತದ ಹೆಸರು" + +#: src/common/text.c:1278 src/common/text.c:1285 +msgid "Destination filename" +msgstr "ನಿರ್ದೇಶಿತ ಕಡತದ ಹೆಸರು" + +#: src/common/text.c:1287 src/common/text.c:1316 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1322 +msgid "Pathname" +msgstr "ಮಾರ್ಗದ ಹೆಸರು" + +#: src/common/text.c:1337 src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "ಸ್ಥಾನ" + +#: src/common/text.c:1343 src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "ಗಾತ್ರ" + +#: src/common/text.c:1348 +msgid "DCC String" +msgstr "DCC ವಾಕ್ಯ" + +#: src/common/text.c:1353 +msgid "Number of notify items" +msgstr "ಸೂಚನಾ ಅಂಶಗಳ ಸಂಖ್ಯೆ" + +#: src/common/text.c:1369 +msgid "Old Filename" +msgstr "ಹಳೆಯ ಕಡತದ ಹೆಸರು" + +#: src/common/text.c:1370 +msgid "New Filename" +msgstr "ಹೊಸ ಕಡತದ ಹೆಸರು" + +#: src/common/text.c:1374 +msgid "Receiver" +msgstr "ಸ್ವೀಕರಿಸುವವರು" + +#: src/common/text.c:1379 +msgid "Hostmask" +msgstr "ಅತಿಥೇಯಮುಸುಕು" + +#: src/common/text.c:1384 +msgid "Hostname" +msgstr "ಆತಿಥೇಯಗಣಕ" + +#: src/common/text.c:1389 +msgid "The Packet" +msgstr "ಪ್ಯಾಕೆಟ್" + +#: src/common/text.c:1393 +msgid "Seconds" +msgstr "ಸೆಕೆಂಡುಗಳು" + +#: src/common/text.c:1397 +msgid "Nick of person who have been invited" +msgstr "ಆಮಂತ್ರಿತಗೊಂಡ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1404 +msgid "Banmask" +msgstr "ನಿಶೇಧಮುಸುಕು" + +#: src/common/text.c:1405 +msgid "Who set the ban" +msgstr "ನಿಶೇಧವನ್ನು ವಿಧಿಸಿದವರು" + +#: src/common/text.c:1406 +msgid "Ban time" +msgstr "ನಿಶೇಧದ ಸಮಯ" + +#: src/common/text.c:1446 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"ಘಟನೆ %s ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡುವಲ್ಲಿ ದೋಷ ಉಂಟಾಗಿದೆ.\n" +"ಪೂರ್ವನಿಯೋಜಿತವನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ." + +#: src/common/text.c:2189 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"ಧ್ವನಿ ಕಡತವನ್ನು ಓದಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ:\n" +"%s" + +#: src/common/util.c:297 +msgid "Remote host closed socket" +msgstr "ದೂರಸ್ಥ ಅತಿಥೇಯವು ಸಾಕೆಟ್ ಅನ್ನು ಮುಚ್ಚಿದೆ" + +#: src/common/util.c:302 +msgid "Connection refused" +msgstr "ಸಂಪರ್ಕವನ್ನು ನಿರಾಕರಿಸಲಾಗಿದೆ" + +#: src/common/util.c:305 +msgid "No route to host" +msgstr "ಅತಿಥೇಯಕ್ಕೆ ಯಾವುದೆ ಮಾರ್ಗವಿಲ್ಲ" + +#: src/common/util.c:307 +msgid "Connection timed out" +msgstr "ಸಂಪರ್ಕದ ಸಮಯ ಮೀರಿದೆ" + +#: src/common/util.c:309 +msgid "Cannot assign that address" +msgstr "ಆ ವಿಳಾಸವನ್ನು ನಿಯೋಜಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ" + +#: src/common/util.c:311 +msgid "Connection reset by peer" +msgstr "ಪೀರ್ ಇಂದ ಸಂಪರ್ಕವನ್ನು ಮರಳಿ ಹೊಂದಿಸಲಾಗಿದೆ" + +#: src/common/util.c:848 +msgid "Ascension Island" +msgstr "ಅಸೆನ್ಶನ್ ದ್ವೀಪ" + +#: src/common/util.c:849 +msgid "Andorra" +msgstr "ಅಂಡೋರ" + +#: src/common/util.c:850 +msgid "United Arab Emirates" +msgstr "ಯುನೈಟೆಡ್ ಅರಬ್ ಎಮಿರೈಟ್ಸ್‍" + +#: src/common/util.c:851 +msgid "Afghanistan" +msgstr "ಅಫ್ಘಾನಿಸ್ಥಾನ್" + +#: src/common/util.c:852 +msgid "Antigua and Barbuda" +msgstr "ಆಂಟಿಗುವಾ ಹಾಗು ಬಾರ್ಬುಡ" + +#: src/common/util.c:853 +msgid "Anguilla" +msgstr "ಆಂಗ್ವಿಲ್ಲಾ" + +#: src/common/util.c:854 +msgid "Albania" +msgstr "ಅಲ್ಬೇನಿಯಾ" + +#: src/common/util.c:855 +msgid "Armenia" +msgstr "ಅರ್ಮೇನಿಯಾ" + +#: src/common/util.c:856 +msgid "Netherlands Antilles" +msgstr "ನೆದರ್ಲ್ಯಾಂಡ್ಸ್‍ ಆಂಟಿಲ್ಲಿಸ್" + +#: src/common/util.c:857 +msgid "Angola" +msgstr "ಅಂಗೋಲಾ" + +#: src/common/util.c:858 +msgid "Antarctica" +msgstr "ಅಂಟಾರ್ಟಿಕಾ" + +#: src/common/util.c:859 +msgid "Argentina" +msgstr "ಅರ್ಜೆಂಟಿನಾ" + +#: src/common/util.c:860 +msgid "Reverse DNS" +msgstr "ರಿವರ್ಸ್ DNS" + +#: src/common/util.c:861 +msgid "American Samoa" +msgstr "ಅಮೇರಿಕನ್ ಸಮೋವಾ" + +#: src/common/util.c:862 +msgid "Austria" +msgstr "ಆಸ್ಟ್ರಿಯಾ" + +#: src/common/util.c:863 +msgid "Nato Fiel" +msgstr "ನ್ಯಾಟೊ ಫಿಯೆಲ್" + +#: src/common/util.c:864 +msgid "Australia" +msgstr "ಆಸ್ಟ್ರೇಲಿಯಾ" + +#: src/common/util.c:865 +msgid "Aruba" +msgstr "ಅರುಬಾ" + +#: src/common/util.c:866 +msgid "Aland Islands" +msgstr "ಅಲಂದ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:867 +msgid "Azerbaijan" +msgstr "ಅಝರ್ಬೈಜಾನ್" + +#: src/common/util.c:868 +msgid "Bosnia and Herzegovina" +msgstr "ಬೋಸ್ನಿಯಾ ಹಾಗು ಹರ್ಝೆಗೋವಿನಾ" + +#: src/common/util.c:869 +msgid "Barbados" +msgstr "ಬಾರ್ಬಡೋಸ್" + +#: src/common/util.c:870 +msgid "Bangladesh" +msgstr "ಬಾಂಗ್ಲಾದೇಶ" + +#: src/common/util.c:871 +msgid "Belgium" +msgstr "ಬೆಲ್ಜಿಯಮ್" + +#: src/common/util.c:872 +msgid "Burkina Faso" +msgstr "ಬರ್ಕಿನಾ ಫಾಸೋ" + +#: src/common/util.c:873 +msgid "Bulgaria" +msgstr "ಬಲ್ಜೇರಿಯಾ" + +#: src/common/util.c:874 +msgid "Bahrain" +msgstr "ಬಹರೈನ್" + +#: src/common/util.c:875 +msgid "Burundi" +msgstr "ಬುರುಂಡಿ" + +#: src/common/util.c:876 +msgid "Businesses" +msgstr "ಬಿಸ್‌ನೆಸಸ್" + +#: src/common/util.c:877 +msgid "Benin" +msgstr "ಬೆನಿನ್" + +#: src/common/util.c:878 +msgid "Bermuda" +msgstr "ಬರ್ಮುಡಾ" + +#: src/common/util.c:879 +msgid "Brunei Darussalam" +msgstr "ಬ್ರೂನೈ ದರುಸೆಲಂ" + +#: src/common/util.c:880 +msgid "Bolivia" +msgstr "ಬೊಲಿವಿಯಾ" + +#: src/common/util.c:881 +msgid "Brazil" +msgstr "ಬ್ರಝಿಲ್" + +#: src/common/util.c:882 +msgid "Bahamas" +msgstr "ಬಹಮಾಸ್" + +#: src/common/util.c:883 +msgid "Bhutan" +msgstr "ಭೂತಾನ್" + +#: src/common/util.c:884 +msgid "Bouvet Island" +msgstr "ಬೋವೆಟ್ ಐಲ್ಯಾಂಡ್" + +#: src/common/util.c:885 +msgid "Botswana" +msgstr "ಬೋಟ್ಸ್‍ವಾನಾ" + +#: src/common/util.c:886 +msgid "Belarus" +msgstr "ಬೆಲಾರಸ್" + +#: src/common/util.c:887 +msgid "Belize" +msgstr "ಬೆಲೀಸ್" + +#: src/common/util.c:888 +msgid "Canada" +msgstr "ಕೆನಡ" + +#: src/common/util.c:889 +msgid "Cocos Islands" +msgstr "ಕೊಕೊಸ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:890 +msgid "Democratic Republic of Congo" +msgstr "ಡೆಮೊಕ್ರಟಿಕ್ ರಿಪಬ್ಲಿಕ್ ಆಫ್ ಕಾಂಗೊ" + +#: src/common/util.c:891 +msgid "Central African Republic" +msgstr "ಮಧ್ಯ ಆಫ್ರಿಕನ್ ರಿಪಬ್ಲಿಕ್" + +#: src/common/util.c:892 +msgid "Congo" +msgstr "ಕಾಂಗೊ" + +#: src/common/util.c:893 +msgid "Switzerland" +msgstr "ಸ್ವಿಡ್ಜರ್ಲ್ಯಾಂಡ್" + +#: src/common/util.c:894 +msgid "Cote d'Ivoire" +msgstr "ಕೋಟ್ ಡೆವಾಯರ್" + +#: src/common/util.c:895 +msgid "Cook Islands" +msgstr "ಕುಕ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:896 +msgid "Chile" +msgstr "ಚಿಲಿ" + +#: src/common/util.c:897 +msgid "Cameroon" +msgstr "ಕ್ಯಾಮೆರೂನ್‌" + +#: src/common/util.c:898 +msgid "China" +msgstr "ಚೈನ" + +#: src/common/util.c:899 +msgid "Colombia" +msgstr "ಕೊಲಂಬಿಯ" + +#: src/common/util.c:900 +msgid "Internic Commercial" +msgstr "ಇಂಟರ್ನಿಕ್ ಕಮರ್ಶಿಯಲ್" + +#: src/common/util.c:901 +msgid "Costa Rica" +msgstr "ಕೋಸ್ಟಾ ರಿಕಾ" + +#: src/common/util.c:902 +msgid "Serbia and Montenegro" +msgstr "ಸರ್ಬಿಯ ಹಾಗು ಮಾಂಟೆನಿಗ್ರೊ" + +#: src/common/util.c:903 +msgid "Cuba" +msgstr "ಕ್ಯೂಬ" + +#: src/common/util.c:904 +msgid "Cape Verde" +msgstr "ಕೇಪ್ ವರ್ಡ್" + +#: src/common/util.c:905 +msgid "Christmas Island" +msgstr "ಕ್ರಿಸ್‌ಮಸ್ ದ್ವೀಪ" + +#: src/common/util.c:906 +msgid "Cyprus" +msgstr "ಸೈಪ್ರಸ್" + +#: src/common/util.c:907 +msgid "Czech Republic" +msgstr "ಜೆಕ್ ರಿಪಬ್ಲಿಕ್‌" + +#: src/common/util.c:908 +msgid "Germany" +msgstr "ಜರ್ಮನಿ" + +#: src/common/util.c:909 +msgid "Djibouti" +msgstr "ಜಿಬೋಟಿ" + +#: src/common/util.c:910 +msgid "Denmark" +msgstr "ಡೆನ್ಮಾರ್ಕ್" + +#: src/common/util.c:911 +msgid "Dominica" +msgstr "ಡೊಮನಿಕಾ" + +#: src/common/util.c:912 +msgid "Dominican Republic" +msgstr "ಡೊಮನಿಕನ್ ರಿಪಬ್ಲಿಕ್‌" + +#: src/common/util.c:913 +msgid "Algeria" +msgstr "ಅಲ್ಜೀರಿಯ" + +#: src/common/util.c:914 +msgid "Ecuador" +msgstr "ಈಕ್ವೆಡಾರ್" + +#: src/common/util.c:915 +msgid "Educational Institution" +msgstr "ಶೈಕ್ಷಣಿಕ ಸಂಸ್ಥೆ" + +#: src/common/util.c:916 +msgid "Estonia" +msgstr "ಎಸ್ಟೊನಿಯ" + +#: src/common/util.c:917 +msgid "Egypt" +msgstr "ಈಜಿಪ್ಟ್" + +#: src/common/util.c:918 +msgid "Western Sahara" +msgstr "ಪಶ್ಚಿಮ ಸಹಾರ" + +#: src/common/util.c:919 +msgid "Eritrea" +msgstr "ಎರಿಟ್ರಿಯಾ" + +#: src/common/util.c:920 +msgid "Spain" +msgstr "ಸ್ಪೇನ್" + +#: src/common/util.c:921 +msgid "Ethiopia" +msgstr "ಇತಿಯೋಪಿಯ" + +#: src/common/util.c:922 +msgid "European Union" +msgstr "ಯುರೋಪಿಯನ್ ಒಕ್ಕೂಟ" + +#: src/common/util.c:923 +msgid "Finland" +msgstr "ಫಿನ್‌ಲ್ಯಾಂಡ್" + +#: src/common/util.c:924 +msgid "Fiji" +msgstr "ಫಿಜಿ" + +#: src/common/util.c:925 +msgid "Falkland Islands" +msgstr "ಫಾಕ್‌ಲ್ಯಾಂಡ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:926 +msgid "Micronesia" +msgstr "ಮೈಕ್ರೋನೇಸಿಯ" + +#: src/common/util.c:927 +msgid "Faroe Islands" +msgstr "ಫರೊ ದ್ವೀಪಗಳು" + +#: src/common/util.c:928 +msgid "France" +msgstr "ಫ್ರಾನ್ಸ್" + +#: src/common/util.c:929 +msgid "Gabon" +msgstr "ಗೆಬೋನ್" + +#: src/common/util.c:930 +msgid "Great Britain" +msgstr "ಗ್ರೇಟ್ ಬ್ರಿಟನ್" + +#: src/common/util.c:931 +msgid "Grenada" +msgstr "ಗ್ರೆನೆಡ" + +#: src/common/util.c:932 +msgid "Georgia" +msgstr "ಜಾರ್ಜಿಯ" + +#: src/common/util.c:933 +msgid "French Guiana" +msgstr "ಫ್ರೆಂಚ್ ಗಿನಿ" + +#: src/common/util.c:934 +msgid "British Channel Isles" +msgstr "ಬ್ರಿಟಿಷ್‌ ಚಾನಲ್ ಐಲ್‌ಗಳು" + +#: src/common/util.c:935 +msgid "Ghana" +msgstr "ಘಾನ" + +#: src/common/util.c:936 +msgid "Gibraltar" +msgstr "ಜಿಬ್ರಾಲ್ಟರ್" + +#: src/common/util.c:937 +msgid "Greenland" +msgstr "ಗ್ರೀನ್‌ಲ್ಯಾಂಡ್‌" + +#: src/common/util.c:938 +msgid "Gambia" +msgstr "ಗೇಂಬಿಯ" + +#: src/common/util.c:939 +msgid "Guinea" +msgstr "ಗಿನಿ" + +#: src/common/util.c:940 +msgid "Government" +msgstr "ಸರಕಾರಿ" + +#: src/common/util.c:941 +msgid "Guadeloupe" +msgstr "ಗ್ವಾಡೆಲೋಪ್" + +#: src/common/util.c:942 +msgid "Equatorial Guinea" +msgstr "ಈಕ್ವೆಟೋರಿಯಲ್ ಗಿನಿ" + +#: src/common/util.c:943 +msgid "Greece" +msgstr "ಗ್ರೀಸ್" + +#: src/common/util.c:944 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "ಸೈ. ಜಾರ್ಜಿಯ ಹಾಗು ಸೈ. ಸ್ಯಂಡ್‌ವಿಚ್ ಐಲ್‌ಗಳು" + +#: src/common/util.c:945 +msgid "Guatemala" +msgstr "ಗ್ವಾಟೆಮಾಲ" + +#: src/common/util.c:946 +msgid "Guam" +msgstr "ಗುವಾಮ್" + +#: src/common/util.c:947 +msgid "Guinea-Bissau" +msgstr "ಗಿನಿ-ಬಿಸಾವು" + +#: src/common/util.c:948 +msgid "Guyana" +msgstr "ಗಯಾನ" + +#: src/common/util.c:949 +msgid "Hong Kong" +msgstr "ಹಾಂಕ್‌ಕಾಂಗ್" + +#: src/common/util.c:950 +msgid "Heard and McDonald Islands" +msgstr "ಹರ್ಡ್ ಹಾಗು ಮ್ಯಾಕ್‌ಡೊನಾಲ್ಡ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:951 +msgid "Honduras" +msgstr "ಹೋಂಡುರಾಸ್" + +#: src/common/util.c:952 +msgid "Croatia" +msgstr "ಕ್ರೊಯೇಶಿಯ" + +#: src/common/util.c:953 +msgid "Haiti" +msgstr "ಹೈತಿ" + +#: src/common/util.c:954 +msgid "Hungary" +msgstr "ಹಂಗೆರಿ" + +#: src/common/util.c:955 +msgid "Indonesia" +msgstr "ಇಂಡೋನೇಶಿಯ" + +#: src/common/util.c:956 +msgid "Ireland" +msgstr "ಐರ್ಲ್ಯಾಂಡ್" + +#: src/common/util.c:957 +msgid "Israel" +msgstr "ಇಸ್ರೇಲ್" + +#: src/common/util.c:958 +msgid "Isle of Man" +msgstr "ಐಲ್ ಆಫ್ ಮ್ಯಾನ್" + +#: src/common/util.c:959 +msgid "India" +msgstr "ಭಾರತ" + +#: src/common/util.c:960 +msgid "Informational" +msgstr "ಇನ್‌ಫಾರ್ಮೇಶನಲ್" + +#: src/common/util.c:961 +msgid "International" +msgstr "ಅಂತರಾಷ್ಟ್ರೀಯ" + +#: src/common/util.c:962 +msgid "British Indian Ocean Territory" +msgstr "ಬ್ರಿಟಿಷ್ ಇಂಡಿಯನ್ ಓಶಿಯನ್ ಟೆರಿಟರಿ" + +#: src/common/util.c:963 +msgid "Iraq" +msgstr "ಇರಾಕ್" + +#: src/common/util.c:964 +msgid "Iran" +msgstr "ಇರಾನ್" + +#: src/common/util.c:965 +msgid "Iceland" +msgstr "ಐಸ್‌ಲ್ಯಾಂಡ್" + +#: src/common/util.c:966 +msgid "Italy" +msgstr "ಇಟಲಿ" + +#: src/common/util.c:967 +msgid "Jersey" +msgstr "ಜರ್ಸಿ" + +#: src/common/util.c:968 +msgid "Jamaica" +msgstr "ಜಮೈಕಾ" + +#: src/common/util.c:969 +msgid "Jordan" +msgstr "ಜೋರ್ಡಾನ್" + +#: src/common/util.c:970 +msgid "Japan" +msgstr "ಜಪಾನ್" + +#: src/common/util.c:971 +msgid "Kenya" +msgstr "ಕೀನ್ಯಾ" + +#: src/common/util.c:972 +msgid "Kyrgyzstan" +msgstr "ಕಿರ್ಗಿಸ್ತಾನ್" + +#: src/common/util.c:973 +msgid "Cambodia" +msgstr "ಕಾಂಬೊಡಿಯ" + +#: src/common/util.c:974 +msgid "Kiribati" +msgstr "ಕಿರಿಬಾಟಿ" + +#: src/common/util.c:975 +msgid "Comoros" +msgstr "ಕೊಮೊರೊಸ್" + +#: src/common/util.c:976 +msgid "St. Kitts and Nevis" +msgstr "ಸೈಂಟ್ ಕಿಟ್ಸ್ ಹಾಗು ನೆವಿಸ್" + +#: src/common/util.c:977 +msgid "North Korea" +msgstr "ಉತ್ತರ ಕೊರಿಯ" + +#: src/common/util.c:978 +msgid "South Korea" +msgstr "ದಕ್ಷಿಣ ಕೊರಿಯ" + +#: src/common/util.c:979 +msgid "Kuwait" +msgstr "ಕುವೈತ್" + +#: src/common/util.c:980 +msgid "Cayman Islands" +msgstr "ಕೇಮ್ಯಾನ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:981 +msgid "Kazakhstan" +msgstr "ಕಝಕಿಸ್ತಾನ್" + +#: src/common/util.c:982 +msgid "Laos" +msgstr "ಲಾವೊಸ್" + +#: src/common/util.c:983 +msgid "Lebanon" +msgstr "ಲೆಬೆನಾನ್" + +#: src/common/util.c:984 +msgid "Saint Lucia" +msgstr "ಸೈಂಟ್ ಲೂಸಿಯ" + +#: src/common/util.c:985 +msgid "Liechtenstein" +msgstr "ಲೈಕ್ಟಿಸ್ಟೆನ್" + +#: src/common/util.c:986 +msgid "Sri Lanka" +msgstr "ಶ್ರೀಲಂಕ" + +#: src/common/util.c:987 +msgid "Liberia" +msgstr "ಲಿಬಿರಿಯ" + +#: src/common/util.c:988 +msgid "Lesotho" +msgstr "ಲೆಸೊತೊ" + +#: src/common/util.c:989 +msgid "Lithuania" +msgstr "ಲಿತುವಾನಿಯ" + +#: src/common/util.c:990 +msgid "Luxembourg" +msgstr "ಲಕ್ಸೆಂಬರ್ಗ್" + +#: src/common/util.c:991 +msgid "Latvia" +msgstr "ಲಾಟ್ವಿಯ" + +#: src/common/util.c:992 +msgid "Libya" +msgstr "ಲಿಬಿಯ" + +#: src/common/util.c:993 +msgid "Morocco" +msgstr "ಮೊರೊಕ್ಕೊ" + +#: src/common/util.c:994 +msgid "Monaco" +msgstr "ಮೊನ್ಯಾಕೊ" + +#: src/common/util.c:995 +msgid "Moldova" +msgstr "ಮಾಲ್ಡೋವ" + +#: src/common/util.c:996 +msgid "United States Medical" +msgstr "ಯನೈಟೆಡ್ ಸ್ಟೇಟ್ಸ್ ಆಫ್ ಮೆಡಿಕಲ್" + +#: src/common/util.c:997 +msgid "Madagascar" +msgstr "ಮಡಗಾಸ್ಕರ್" + +#: src/common/util.c:998 +msgid "Marshall Islands" +msgstr "ಮಾರ್ಶಲ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:999 +msgid "Military" +msgstr "ಮಿಲಿಟರಿ" + +#: src/common/util.c:1000 +msgid "Macedonia" +msgstr "ಮೆಸೆಡೋನಿಯ" + +#: src/common/util.c:1001 +msgid "Mali" +msgstr "ಮಾಲಿ" + +#: src/common/util.c:1002 +msgid "Myanmar" +msgstr "ಮಿಯನ್ಮಾರ್" + +#: src/common/util.c:1003 +msgid "Mongolia" +msgstr "ಮಂಗೊಲಿಯ" + +#: src/common/util.c:1004 +msgid "Macau" +msgstr "ಮಕಾವು" + +#: src/common/util.c:1005 +msgid "Northern Mariana Islands" +msgstr "ನಾರ್ತರ್ನ್ ಮರಿಯಾನ ದ್ವೀಪಗಳು" + +#: src/common/util.c:1006 +msgid "Martinique" +msgstr "ಮಾರ್ಟಿನೀಕ್" + +#: src/common/util.c:1007 +msgid "Mauritania" +msgstr "ಮಾರ್ಟೀನಿಯಾ" + +#: src/common/util.c:1008 +msgid "Montserrat" +msgstr "ಮೊಂಟ್ಸೆರಾಟ್" + +#: src/common/util.c:1009 +msgid "Malta" +msgstr "ಮಾಲ್ಟಾ" + +#: src/common/util.c:1010 +msgid "Mauritius" +msgstr "ಮಾರಿಶಸ್" + +#: src/common/util.c:1011 +msgid "Maldives" +msgstr "ಮಾಲ್ಡೀವ್ಸ್" + +#: src/common/util.c:1012 +msgid "Malawi" +msgstr "ಮಲಾವಿ" + +#: src/common/util.c:1013 +msgid "Mexico" +msgstr "ಮೆಕ್ಸಿಕೊ" + +#: src/common/util.c:1014 +msgid "Malaysia" +msgstr "ಮಲೇಶಿಯ" + +#: src/common/util.c:1015 +msgid "Mozambique" +msgstr "ಮೊಝಾಂಬಿಕ್" + +#: src/common/util.c:1016 +msgid "Namibia" +msgstr "ನಮಿಬಿಯ" + +#: src/common/util.c:1017 +msgid "New Caledonia" +msgstr "ನ್ಯೂ ಕೆಲಡೋನಿಯ" + +#: src/common/util.c:1018 +msgid "Niger" +msgstr "ನೈಜರ್" + +#: src/common/util.c:1019 +msgid "Internic Network" +msgstr "ಇಂಟರ್ನಿಕ್ ನೆಟ್‌ವರ್ಕ್" + +#: src/common/util.c:1020 +msgid "Norfolk Island" +msgstr "ನಾರ್ಫೋಕ್ ದ್ವೀಪ" + +#: src/common/util.c:1021 +msgid "Nigeria" +msgstr "ನೈಜೀರಿಯ" + +#: src/common/util.c:1022 +msgid "Nicaragua" +msgstr "ನಿಕರಾಗುವ" + +#: src/common/util.c:1023 +msgid "Netherlands" +msgstr "ನೆದರ್ಲ್ಯಾಂಡ್ಸ್" + +#: src/common/util.c:1024 +msgid "Norway" +msgstr "ನಾರ್ವೆ" + +#: src/common/util.c:1025 +msgid "Nepal" +msgstr "ನೇಪಾಲ್" + +#: src/common/util.c:1026 +msgid "Nauru" +msgstr "ನೌರು" + +#: src/common/util.c:1027 +msgid "Niue" +msgstr "ನಿಯು" + +#: src/common/util.c:1028 +msgid "New Zealand" +msgstr "ನ್ಯೂಜಿಲ್ಯಾಂಡ್" + +#: src/common/util.c:1029 +msgid "Oman" +msgstr "ಒಮನ್" + +#: src/common/util.c:1030 +msgid "Internic Non-Profit Organization" +msgstr "ಇಂಟರ್ನಿಕ್ ನಾನ್-ಪ್ರಾಫಿಟ್ ಆರ್ಗನೈಸೇಶನ್" + +#: src/common/util.c:1031 +msgid "Panama" +msgstr "ಪನಾಮ" + +#: src/common/util.c:1032 +msgid "Peru" +msgstr "ಪೆರು" + +#: src/common/util.c:1033 +msgid "French Polynesia" +msgstr "ಫ್ರೆಂಚ್ ಪಾಲಿನೆಸಿಯಾ" + +#: src/common/util.c:1034 +msgid "Papua New Guinea" +msgstr "ಪಪುವಾ ನ್ಯೂ ಗಿನಿ" + +#: src/common/util.c:1035 +msgid "Philippines" +msgstr "ಫಿಲಿಪೀನ್ಸ್" + +#: src/common/util.c:1036 +msgid "Pakistan" +msgstr "ಪಾಕಿಸ್ತಾನ್" + +#: src/common/util.c:1037 +msgid "Poland" +msgstr "ಪೋಲ್ಯಾಂಡ್" + +#: src/common/util.c:1038 +msgid "St. Pierre and Miquelon" +msgstr "ಸೈಂಟ್ ಪಿಯರೆ ಹಾಗು ಮಿಕ್ಯೂಲಾನ್" + +#: src/common/util.c:1039 +msgid "Pitcairn" +msgstr "ಪಿಟ್‍ಕೈರ್ನ್" + +#: src/common/util.c:1040 +msgid "Puerto Rico" +msgstr "ಪೂರ್ಟೊ ರಿಕೊ" + +#: src/common/util.c:1041 +msgid "Palestinian Territory" +msgstr "ಪ್ಯಾಲೆಸ್ತೀನಿಯನ್ ಟೆರಿಟರಿ" + +#: src/common/util.c:1042 +msgid "Portugal" +msgstr "ಪೋರ್ಚುಗಲ್" + +#: src/common/util.c:1043 +msgid "Palau" +msgstr "ಪಲಾವು" + +#: src/common/util.c:1044 +msgid "Paraguay" +msgstr "ಪರುಗ್ವೆ" + +#: src/common/util.c:1045 +msgid "Qatar" +msgstr "ಕತಾರ್" + +#: src/common/util.c:1046 +msgid "Reunion" +msgstr "ರಿಯೂನಿಯನ್" + +#: src/common/util.c:1047 +msgid "Romania" +msgstr "ರೋಮೇನಿಯ" + +#: src/common/util.c:1048 +msgid "Old School ARPAnet" +msgstr "ಓಲ್ಡ್ ಸ್ಕೂಲ್ ARPAnet" + +#: src/common/util.c:1049 +msgid "Russian Federation" +msgstr "ರಶೀಯನ್ ಫೆಡರೇಶನ್" + +#: src/common/util.c:1050 +msgid "Rwanda" +msgstr "ರುವಾಂಡ" + +#: src/common/util.c:1051 +msgid "Saudi Arabia" +msgstr "ಸೌದಿ ಅರೇಬಿಯಾ" + +#: src/common/util.c:1052 +msgid "Solomon Islands" +msgstr "ಸೊಲೊಮನ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:1053 +msgid "Seychelles" +msgstr "ಸಿಶೇಲ್ಸ್" + +#: src/common/util.c:1054 +msgid "Sudan" +msgstr "ಸುಡಾನ್" + +#: src/common/util.c:1055 +msgid "Sweden" +msgstr "ಸ್ವೀಡನ್" + +#: src/common/util.c:1056 +msgid "Singapore" +msgstr "ಸಿಂಗಪೂರ್" + +#: src/common/util.c:1057 +msgid "St. Helena" +msgstr "ಸೈಂಟ್ ಹೆಲೆನಾ" + +#: src/common/util.c:1058 +msgid "Slovenia" +msgstr "ಸ್ಲೋವೆನಿಯಾ" + +#: src/common/util.c:1059 +msgid "Svalbard and Jan Mayen Islands" +msgstr "ಸ್ವಾಲ್ಬಾರ್ಡ್ ಹಾಗು ಜಾನ್ ಮೇಯನ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:1060 +msgid "Slovak Republic" +msgstr "ಸ್ಲೋವಾಕ್ ರಿಪಬ್ಲಿಕ್‌" + +#: src/common/util.c:1061 +msgid "Sierra Leone" +msgstr "ಸಿಯರಾ ಲಿಯೋನ್" + +#: src/common/util.c:1062 +msgid "San Marino" +msgstr "ಸ್ಯಾನ್ ಮಾರಿನೊ" + +#: src/common/util.c:1063 +msgid "Senegal" +msgstr "ಸೆನೆಗಲ್" + +#: src/common/util.c:1064 +msgid "Somalia" +msgstr "ಸೋಮಾಲಿಯ" + +#: src/common/util.c:1065 +msgid "Suriname" +msgstr "ಸುರಿನೇಮ್" + +#: src/common/util.c:1066 +msgid "Sao Tome and Principe" +msgstr "ಸಾವೋ ಟೋಮ್ ಹಾಗು ಪ್ರಿನ್ಸಿಪಿ" + +#: src/common/util.c:1067 +msgid "Former USSR" +msgstr "ಫಾರ್ಮರ್ USSR" + +#: src/common/util.c:1068 +msgid "El Salvador" +msgstr "ಎಲ್‌ ಸಾಲ್ವಾಡಾರ್" + +#: src/common/util.c:1069 +msgid "Syria" +msgstr "ಸಿರಿಯ" + +#: src/common/util.c:1070 +msgid "Swaziland" +msgstr "ಸ್ವಾಝಿಲ್ಯಾಂಡ್" + +#: src/common/util.c:1071 +msgid "Turks and Caicos Islands" +msgstr "ಟರ್ಕ್ಸ್‍ ಹಾಗು ಕೈಕೋಸ್ ಐಲ್ಯಾಂಡ್ಸ್‍" + +#: src/common/util.c:1072 +msgid "Chad" +msgstr "ಚಾಡ್" + +#: src/common/util.c:1073 +msgid "French Southern Territories" +msgstr "ಫ್ರೆಂಚ್ ಸದರ್ನ್ ಪ್ರದೇಶಗಳು" + +#: src/common/util.c:1074 +msgid "Togo" +msgstr "ಟೊಗೊ" + +#: src/common/util.c:1075 +msgid "Thailand" +msgstr "ತೈಲ್ಯಾಂಡ್" + +#: src/common/util.c:1076 +msgid "Tajikistan" +msgstr "ತಜಿಕ್‌ಸ್ತಾನ್" + +#: src/common/util.c:1077 +msgid "Tokelau" +msgstr "ಟೊಕೆಲಾವ್" + +#: src/common/util.c:1078 src/common/util.c:1082 +msgid "East Timor" +msgstr "ಪೂರ್ವ ತಿಮೋರ್" + +#: src/common/util.c:1079 +msgid "Turkmenistan" +msgstr "ಟರ್ಕಮೆನಿಸ್ತಾನ್" + +#: src/common/util.c:1080 +msgid "Tunisia" +msgstr "ಟುನೀಸಿಯಾ" + +#: src/common/util.c:1081 +msgid "Tonga" +msgstr "ಟೋಂಗಾ" + +#: src/common/util.c:1083 +msgid "Turkey" +msgstr "ಟರ್ಕಿ" + +#: src/common/util.c:1084 +msgid "Trinidad and Tobago" +msgstr "ಟ್ರಿನಿಡಾಡ್ ಹಾಗು ಟೊಬ್ಯಾಗೊ" + +#: src/common/util.c:1085 +msgid "Tuvalu" +msgstr "ಟುವಾಲು" + +#: src/common/util.c:1086 +msgid "Taiwan" +msgstr "ತೈವಾನ್" + +#: src/common/util.c:1087 +msgid "Tanzania" +msgstr "ಟಾಂಝಾನಿಯಾ" + +#: src/common/util.c:1088 +msgid "Ukraine" +msgstr "ಉಕ್ರೇನ್" + +#: src/common/util.c:1089 +msgid "Uganda" +msgstr "ಉಗಾಂಡ" + +#: src/common/util.c:1090 +msgid "United Kingdom" +msgstr "ಯುನೈಟೆಡ್ ಕಿಂಗ್‌ಡಮ್" + +#: src/common/util.c:1091 +msgid "United States of America" +msgstr "ಯನೈಟೆಡ್ ಸ್ಟೇಟ್ಸ್ ಆಫ್ ಅಮೇರಿಕಾ" + +#: src/common/util.c:1092 +msgid "Uruguay" +msgstr "ಉರುಗ್ವೆ" + +#: src/common/util.c:1093 +msgid "Uzbekistan" +msgstr "ಉಜ್ಬೇಕಿಸ್ತಾನ್" + +#: src/common/util.c:1094 +msgid "Vatican City State" +msgstr "ವ್ಯಾಟಿಕನ್ ಸಿಟಿ ಸ್ಟೇಟ್" + +#: src/common/util.c:1095 +msgid "St. Vincent and the Grenadines" +msgstr "ಸೈಂಟ್ ವಿನ್ಸೆಂಟ್ ಹಾಗು ಗ್ರೆನಾಡೈನ್ಸ್" + +#: src/common/util.c:1096 +msgid "Venezuela" +msgstr "ವೆನಿಝುವಲಾ" + +#: src/common/util.c:1097 +msgid "British Virgin Islands" +msgstr "ಬ್ರಿಟಿಷ್ ವರ್ಜಿನ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:1098 +msgid "US Virgin Islands" +msgstr "ಯುಎಸ್ ವರ್ಜಿನ್ ಐಲ್ಯಾಂಡ್‌ಗಳು" + +#: src/common/util.c:1099 +msgid "Vietnam" +msgstr "ವಿಯೆಟ್ನಾನ್" + +#: src/common/util.c:1100 +msgid "Vanuatu" +msgstr "ವನುವಾತು" + +#: src/common/util.c:1101 +msgid "Wallis and Futuna Islands" +msgstr "ವಾಲಿಸ್ ಹಾಗು ಫುಟುನಾ ದ್ವೀಪಗಳು" + +#: src/common/util.c:1102 +msgid "Samoa" +msgstr "ಸಮೊವಾ" + +#: src/common/util.c:1103 +msgid "Yemen" +msgstr "ಯೆಮೆನ್" + +#: src/common/util.c:1104 +msgid "Mayotte" +msgstr "ಮೆಯೋಟ್" + +#: src/common/util.c:1105 +msgid "Yugoslavia" +msgstr "ಯಗೋಸ್ಲಾವಿಯ" + +#: src/common/util.c:1106 +msgid "South Africa" +msgstr "ಸೌತ್ ಆಫ್ರಿಕಾ" + +#: src/common/util.c:1107 +msgid "Zambia" +msgstr "ಜಾಂಬಿಯಾ" + +#: src/common/util.c:1108 +msgid "Zimbabwe" +msgstr "ಜಿಂಬಾಬ್ವೆ" + +#: src/common/util.c:1118 src/common/util.c:1128 src/fe-gtk/menu.c:611 +msgid "Unknown" +msgstr "ಗೊತ್ತಿಲ್ಲದ" + +#: src/common/xchat.c:726 +msgid "_Open Dialog Window" +msgstr "ಸಂವಾದ ವಿಂಡೊವನ್ನು ತೆರೆ(_O)" + +#: src/common/xchat.c:727 +msgid "_Send a File" +msgstr "ಕಡತವನ್ನು ಕಳುಹಿಸು(_S)" + +#: src/common/xchat.c:728 +msgid "_User Info (WhoIs)" +msgstr "ಬಳಕೆದಾರ ಮಾಹಿತಿ (WhoIs)(_U)" + +#: src/common/xchat.c:729 +msgid "_Add to Friends List" +msgstr "ಗೆಳೆಯರ ಪಟ್ಟಿಗೆ ಸೇರಿಸು(_A)" + +#: src/common/xchat.c:730 +msgid "O_perator Actions" +msgstr "ನಿರ್ವಾಹಕರ ಕ್ರಿಯೆಗಳು(_p)" + +#: src/common/xchat.c:732 +msgid "Give Ops" +msgstr "Ops ಅನ್ನು ನೀಡಿ" + +#: src/common/xchat.c:733 +msgid "Take Ops" +msgstr "Ops ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ" + +#: src/common/xchat.c:734 +msgid "Give Voice" +msgstr "ಧ್ವನಿಯನ್ನು ನೀಡಿ" + +#: src/common/xchat.c:735 +msgid "Take Voice" +msgstr "ಧ್ವನಿಯನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ" + +#: src/common/xchat.c:737 +msgid "Kick/Ban" +msgstr "ಹೊರಗಟ್ಟು/ನಿಶೇಧಿಸು" + +#: src/common/xchat.c:738 src/common/xchat.c:775 +msgid "Kick" +msgstr "ಹೊರಗಟ್ಟು" + +#: src/common/xchat.c:739 src/common/xchat.c:740 src/common/xchat.c:741 +#: src/common/xchat.c:742 src/common/xchat.c:743 src/common/xchat.c:774 +msgid "Ban" +msgstr "ನಿಶೇಧಿಸು" + +#: src/common/xchat.c:744 src/common/xchat.c:745 src/common/xchat.c:746 +#: src/common/xchat.c:747 +msgid "KickBan" +msgstr "ಹೊರಗಟ್ಟಿ ನಿಶೇಧಿಸು" + +#: src/common/xchat.c:757 +msgid "Leave Channel" +msgstr "ಚಾನಲ್‌ನಿಂದ ಹೊರನಡೆಯಿರಿ" + +#: src/common/xchat.c:758 +msgid "Join Channel..." +msgstr "ಒಂದು ಚಾನಲ್ ಅನ್ನು ಸೇರು..." + +#: src/common/xchat.c:759 src/fe-gtk/menu.c:1281 +msgid "Enter Channel to Join:" +msgstr "ಸೇರಬೇಕಿರುವ ಚಾನಲ್‌ ಅನ್ನು ನಮೂದಿಸಿ:" + +#: src/common/xchat.c:760 +msgid "Server Links" +msgstr "ಪರಿಚಾರಕದ ಕೊಂಡಿಗಳು" + +#: src/common/xchat.c:761 +msgid "Ping Server" +msgstr "ಪರಿಚಾರಕವನ್ನು ಪಿಂಗ್‌ ಮಾಡು" + +#: src/common/xchat.c:762 +msgid "Hide Version" +msgstr "ಆವೃತ್ತಿಯನ್ನು ಅಡಗಿಸು" + +#: src/common/xchat.c:772 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:773 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/xchat.c:776 +msgid "bye" +msgstr "ಶುಭವಾಗಲಿ" + +#: src/common/xchat.c:777 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "%s ಅನ್ನು ಹೊರಗಟ್ಟಲು ಕಾರಣ ಕೊಡಿ:" + +#: src/common/xchat.c:778 +msgid "Sendfile" +msgstr "Sendfile" + +#: src/common/xchat.c:779 +msgid "Dialog" +msgstr "ಸಂವಾದ" + +#: src/common/xchat.c:788 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/xchat.c:789 +msgid "Send" +msgstr "ಕಳುಹಿಸು" + +#: src/common/xchat.c:790 +msgid "Chat" +msgstr "ಮಾತುಕತೆ" + +#: src/common/xchat.c:791 src/fe-gtk/banlist.c:413 src/fe-gtk/ignoregui.c:389 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "ಖಾಲಿಮಾಡಿ" + +#: src/common/xchat.c:792 +msgid "Ping" +msgstr "ಪಿಂಗ್" + +#: src/common/dbus/dbus-client.c:72 +msgid "Couldn't connect to session bus" +msgstr "ಅಧಿವೇಶನದ ಬಸ್‌ನೊಂದಿಗೆ ಸಂಪರ್ಕ ಸಾಧಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ" + +#: src/common/dbus/dbus-client.c:86 +msgid "Failed to complete NameHasOwner" +msgstr "NameHasOwner ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ" + +#: src/common/dbus/dbus-client.c:112 +msgid "Failed to complete Command" +msgstr "ಆಜ್ಞೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "ದೂರಸ್ಥ ನಿಲುಕಣೆ" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "DBUS ಅನ್ನು ಬಳಸಿಕೊಂಡು ದೂರದಿಂದ ಬಳಸುವ ಸಲುವಾಗಿನ ಪ್ಲಗ್‌ಇನ್" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "ಅಧಿವೇಶನದ ಬಸ್‌ನೊಂದಿಗೆ ಸಂಪರ್ಕ ಸಾಧಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ: %s\n" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "%s ಅನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ: %s\n" + +#: src/fe-gtk/about.c:102 +msgid "About " +msgstr "ಇದರ ಕುರಿತು " + +#: src/fe-gtk/about.c:133 +msgid "A multiplatform IRC Client" +msgstr "ಮಲ್ಟಿಪ್ಲಾಟ್‌ಫಾರ್ಮ್ IRC ಕ್ಲೈಂಟ್" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "ಚಿಹ್ನೆಯ ನಕ್ಷೆ" + +#: src/fe-gtk/banlist.c:151 src/fe-gtk/chanlist.c:305 +#: src/fe-gtk/plugin-tray.c:302 +msgid "Not connected." +msgstr "ಸಂಪರ್ಕಿತಗೊಂಡಿಲ್ಲ." + +#: src/fe-gtk/banlist.c:249 src/fe-gtk/banlist.c:329 +msgid "You must select some bans." +msgstr "ಕೆಲವು ನಿಶೇಧಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಲೆ ಬೇಕು." + +#: src/fe-gtk/banlist.c:278 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "%s ನಲ್ಲಿನ ಎಲ್ಲಾ ನಿಶೇಧಗಳನ್ನು ತೆಗೆದು ಹಾಕಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುತ್ತೀರೆ?" + +#: src/fe-gtk/banlist.c:344 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "ಮುಸುಕು" + +#: src/fe-gtk/banlist.c:345 +msgid "From" +msgstr "ಇವರಿಂದ" + +#: src/fe-gtk/banlist.c:346 +msgid "Date" +msgstr "ದಿನಾಂಕ" + +#: src/fe-gtk/banlist.c:389 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "ಒಂದು ಚಾನಲ್‌ ಹಾಳೆಯಲ್ಲಿದ್ದಾಗ ಮಾತ್ರ ನೀವು ನಿಶೇಧ ಪಟ್ಟಿಯ ವಿಂಡೊವನ್ನು ತೆರೆಯಬಹುದು." + +#: src/fe-gtk/banlist.c:393 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: ನಿಶೇಧ ಪಟ್ಟಿ (%s)" + +#: src/fe-gtk/banlist.c:409 src/fe-gtk/notifygui.c:432 +msgid "Remove" +msgstr "ತೆಗೆದು ಹಾಕಿ" + +#: src/fe-gtk/banlist.c:411 +msgid "Crop" +msgstr "ಕತ್ತರಿಸು" + +#: src/fe-gtk/banlist.c:415 +msgid "Refresh" +msgstr "ಪುನಶ್ಚೇತನಗೊಳಿಸು" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "%d/%d ಬಳಕೆದಾರರನ್ನು ತೋರಿಸಲಾಗುತ್ತಿದೆ(%d/%d ಚಾನಲ್‌ಗಳಲ್ಲಿ)." + +#: src/fe-gtk/chanlist.c:526 src/fe-gtk/menu.c:1217 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "ಔಟ್‌ಪುಟ್‌ ಕಡತದ ಹೆಸರನ್ನು ಆಯ್ಕೆ ಮಾಡಿ" + +#: src/fe-gtk/chanlist.c:631 src/fe-gtk/chanlist.c:799 +msgid "_Join Channel" +msgstr "ಚಾನಲ್ ಅನ್ನು ಸೇರು(_J)" + +#: src/fe-gtk/chanlist.c:633 +msgid "_Copy Channel Name" +msgstr "ಚಾನಲ್‌ನ ಹೆಸರನ್ನು ಕಾಪಿ ಮಾಡು(_C)" + +#: src/fe-gtk/chanlist.c:635 +msgid "Copy _Topic Text" +msgstr "ವಿಷಯದ ಪಠ್ಯವನ್ನು ಕಾಪಿ ಮಾಡು(_T)" + +#: src/fe-gtk/chanlist.c:724 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: ಚಾನಲ್‌ ಪಟ್ಟಿ (%s)" + +#: src/fe-gtk/chanlist.c:781 +msgid "_Search" +msgstr "ಹುಡುಕು(_S)" + +#: src/fe-gtk/chanlist.c:787 +msgid "_Download List" +msgstr "ಡೌನ್‌ಲೋಡ್‌ ಪಟ್ಟಿ(_D)" + +#: src/fe-gtk/chanlist.c:793 +msgid "Save _List..." +msgstr "ಪಟ್ಟಿಯನ್ನು ಉಳಿಸು(_L)..." + +#: src/fe-gtk/chanlist.c:806 +msgid "Show only:" +msgstr "ಇದನ್ನು ಮಾತ್ರ ತೋರಿಸು:" + +#: src/fe-gtk/chanlist.c:818 +msgid "channels with" +msgstr "ಇದರೊಂದಿಗಿನ ಚಾನಲ್" + +#: src/fe-gtk/chanlist.c:831 +msgid "to" +msgstr "ಗೆ" + +#: src/fe-gtk/chanlist.c:843 +msgid "users." +msgstr "ಬಳಕೆದಾರರು." + +#: src/fe-gtk/chanlist.c:849 +msgid "Look in:" +msgstr "ಇದರಲ್ಲಿ ನೋಡು:" + +#: src/fe-gtk/chanlist.c:861 +msgid "Channel name" +msgstr "ಚಾನಲ್ ಹೆಸರು" + +#: src/fe-gtk/chanlist.c:882 +msgid "Search type:" +msgstr "ಹುಡುಕುವ ಬಗೆ:" + +#: src/fe-gtk/chanlist.c:889 +msgid "Simple Search" +msgstr "ಸರಳ ಹುಡುಕಾಟ" + +#: src/fe-gtk/chanlist.c:890 +msgid "Pattern Match (Wildcards)" +msgstr "ನಮೂನೆಯು ತಾಳೆಯಾಗುವಿಕೆ (ವೈಲ್ಡ್ ಕಾರ್ಡುಗಳು)" + +#: src/fe-gtk/chanlist.c:892 +msgid "Regular Expression" +msgstr "ರೆಗ್ಯುಲರ್ ಎಕ್ಸ್‍ಪ್ರೆಶನ್" + +#: src/fe-gtk/chanlist.c:903 src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "ಹುಡುಕು:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "%s ಗೆ ಕಡತವನ್ನು ಕಳುಹಿಸು" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "ಆ ಕಡತವನ್ನು ಮರಳಿ ಆರಂಭಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ." + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"ಕಡತವನ್ನು ನಿಲುಕಿಸಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಿಲ್ಲ: %s\n" +"%s.\n" +"ಮರಳಿ ಆರಂಭಿಸುವುದು ಸಾಧ್ಯವಿಲ್ಲ." + +#: src/fe-gtk/dccgui.c:507 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "ಡೌನ್‌ಲೋಡ್ ಕೋಶದಲ್ಲಿನ ಕಡತದ ಗಾತ್ರವು ನೀಡಲು ಬಯಸಿರುವ ಕಡತಕ್ಕಿಂತ ದೊಡ್ಡದಾಗಿದೆ. ಮರಳಿ ಆರಂಭಿಸುವುದು ಸಾಧ್ಯವಿಲ್ಲ." + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "ಒಂದೇ ಕಡತವನ್ನು ಎರಡು ವ್ಯಕ್ತಿಗಳಿಗಾಗಿ ಮರಳಿ ಆರಂಭಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ." + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: ಅಪ್‌ಲೋಡ್‌ಗಳು ಹಾಗು ಡೌನ್‌ಲೋಡ್‌ಗಳು" + +#: src/fe-gtk/dccgui.c:756 src/fe-gtk/dccgui.c:995 src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "ಸ್ಥಿತಿ" + +#: src/fe-gtk/dccgui.c:757 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "ಕಡತ" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:787 src/fe-gtk/menu.c:1593 +msgid "Both" +msgstr "ಎರಡೂ" + +#: src/fe-gtk/dccgui.c:793 +msgid "Uploads" +msgstr "ಅಪ್‌ಲೋಡ್‌ಗಳು" + +#: src/fe-gtk/dccgui.c:799 +msgid "Downloads" +msgstr "ಡೌನ್‌ಲೋಡ್‌ಗಳು" + +#: src/fe-gtk/dccgui.c:804 +msgid "Details" +msgstr "ವಿವರಗಳು" + +#: src/fe-gtk/dccgui.c:815 +msgid "File:" +msgstr "ಕಡತ:" + +#: src/fe-gtk/dccgui.c:816 +msgid "Address:" +msgstr "ವಿಳಾಸ:" + +#: src/fe-gtk/dccgui.c:822 src/fe-gtk/dccgui.c:1019 +msgid "Abort" +msgstr "ಸ್ಥಗಿತಗೊಳಿಸು" + +#: src/fe-gtk/dccgui.c:823 src/fe-gtk/dccgui.c:1020 +msgid "Accept" +msgstr "ಅಂಗೀಕರಿಸು" + +#: src/fe-gtk/dccgui.c:824 +msgid "Resume" +msgstr "ಮರಳಿ ಆರಂಭಿಸು" + +#: src/fe-gtk/dccgui.c:825 +msgid "Open Folder..." +msgstr "ಕಡತಕೋಶವನ್ನು ತೆರೆ..." + +#: src/fe-gtk/dccgui.c:985 +msgid "XChat: DCC Chat List" +msgstr "XChat: DCC ಮಾತುಕತೆಯ ಪಟ್ಟಿ" + +#: src/fe-gtk/dccgui.c:997 +msgid "Recv" +msgstr "Recv" + +#: src/fe-gtk/dccgui.c:998 +msgid "Sent" +msgstr "ಕಳುಹಿಸಲಾದ" + +#: src/fe-gtk/dccgui.c:999 +msgid "Start Time" +msgstr "ಆರಂಭಿಸಿದ ಸಮಯ" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*ಹೊಸ*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "EDIT ME" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/notifygui.c:137 +#: src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "ಹೆಸರು" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "ಆಜ್ಞೆ" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "ಮೇಲಕ್ಕೆ ಸ್ಥಳಾಂತರಿಸು" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "ಕೆಳಕ್ಕೆ ಸ್ಥಳಾಂತರಿಸು" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "ರದ್ದುಗೊಳಿಸಿ" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "ಉಳಿಸಿ" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "ಹೊಸತನ್ನು ತೋರಿಸು" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:387 +msgid "Delete" +msgstr "ಅಳಿಸಿಹಾಕಿ" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "ವಿಂಗಡಿಸು" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "ನೆರವು" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "ಪರಿಚಾರಕಗಳೊಂದಿಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸಂಪರ್ಕ ಸಾಧಿಸಬೇಡ" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "ಒಂದು ಪ್ರತ್ಯೇಕವಾದ ಸಂರಚನಾ ಕೋಶವನ್ನು ಬಳಸು" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "ಯಾವುದೆ ಪ್ಲಗ್‌ಇನ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲೋಡ್ ಮಾಡಬೇಡ" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "ಪ್ಲಗ್‌ಇನ್‌ನ ಸ್ವಯಂ ಲೋಡ್ ಆಗುವ ಕೋಶವನ್ನು ತೋರಿಸು" + +#: src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "ಬಳಕೆದಾರ ಸಂರಚನಾ ಕೋಶವನ್ನು ತೋರಿಸು" + +#: src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "ಒಂದು irc://server:port/channel URL ಅನ್ನು ತೆರೆ" + +#: src/fe-gtk/fe-gtk.c:133 src/fe-gtk/setup.c:212 +msgid "Execute command:" +msgstr "ಈ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸು:" + +#: src/fe-gtk/fe-gtk.c:134 +msgid "Open URL or execute command in an existing XChat" +msgstr "URL ಅನ್ನು ತೆರೆ ಅಥವ ಈಗಿರುವ XChat ನಲ್ಲಿ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸು" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "ಕಿರಿದಾಗಿಸಲಾದುದರಿಂದ ಆರಂಭಿಸು. ಹಂತ 0=ಸಾಮಾನ್ಯ 1=ಚಿಹ್ನೆ ಮಾಡಲಾದ 2=ಟ್ರೇ" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "level" +msgstr "ಮಟ್ಟ" + +#: src/fe-gtk/fe-gtk.c:137 +msgid "Show version information" +msgstr "ಆವೃತ್ತಿಯ ಮಾಹಿತಿಯನ್ನು ತೋರಿಸು" + +#: src/fe-gtk/fe-gtk.c:257 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"ಅಕ್ಷರಶೈಲಿಯನ್ನು ತೆರೆಯಲು ವಿಫಲಗೊಂಡಿದೆ:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:636 +msgid "Search buffer is empty.\n" +msgstr "ಹುಡುಕು ಬಫರ್ ಖಾಲಿ ಇದೆ.\n" + +#: src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "%d bytes" +msgstr "%d ಬೈಟ್‌ಗಳು" + +#: src/fe-gtk/fe-gtk.c:733 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "ಜಾಲಬಂಧ ಕಳುಹಿಸುವ ಸರತಿ: %d ಬೈಟ್‌ಗಳು" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸು  ಕ್ರಿಯೆಯು ನೀವು ಕೀಲಿ ಅನುಕ್ರಮವನ್ನು ಒತ್ತಿದ ಜಾಗದಲ್ಲಿನ ನಮೂದು ಚೌಕದಲ್ಲಿ ಅದನ್ನು ನಮೂದಿಸಿದಂತೆ ದತ್ತಾಂಶವನ್ನು ದತ್ತಾಂಶ 1 ರಲ್ಲಿ ಚಲಾಯಿಸುತ್ತದೆ. ಹಾಗಾಗಿ ಅದು ಪಠ್ಯವನ್ನು (ಇದನ್ನು ಚಾನಲ್/ವ್ಯಕ್ತಿಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ), ಆಜ್ಞೆಗಳು ಅಥವ ಬಳಕೆದಾರ ಆಜ್ಞೆಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ. ದತ್ತಾಂಶ 1 ರಲ್ಲಿನ ಎಲ್ಲಾ \\n ಅಕ್ಷರಗಳನ್ನು ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಆಜ್ಞೆಗಳನ್ನು ಚಲಾಯಿಸುವಂತೆ ಪ್ರತ್ಯೇಕ ಆಜ್ಞೆಯನ್ನು deliminate ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ. ನಿಜವಾದ ಪಠ್ಯವನ್ನು ಚಲಾಯಿಸುವಲ್ಲಿ \\ ಬೇಕಿದ್ದಲ್ಲಿ \\\\ ಅನ್ನು ನಮೂದಿಸಿ" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "Change Page ಆಜ್ಞೆಯು ನೋಟ್‌ಬುಕ್‌ನಲ್ಲಿ ಪುಟಗಳ ನಡುವೆ ಬದಲಾಯಿಸುತ್ತದೆ. ನೀವು ಯಾವ ಪುಟಕ್ಕೆ ಬದಲಾಯಿಸಲು ಬಯಸುತ್ತೀರೊ ಅದಕ್ಕೆ ದತ್ತಾಂಶ 1 ಅನ್ನು ಹೊಂದಿಸಿ. ದತ್ತಾಂಶ 2 ಅನ್ನು ಯಾವುದಕ್ಕಾದರೂ ಹೊಂದಿಸಿದಲ್ಲಿ ಬದಲಾವಣೆಯು ಪ್ರಸಕ್ತ ಸ್ಥಾನಕ್ಕೆ ಅನುಗುಣವಾಗಿ ಆಗುತ್ತದೆ." + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "Insert in Buffer ಆಜ್ಞೆಯು ದತ್ತಾಂಶ 1 ರಲ್ಲಿರುವುದನ್ನು ಪ್ರಸಕ್ತ ತೆರೆಸೂಚಕದ ಸ್ಥಳದಲ್ಲಿ ಒತ್ತಲಾದ ಕೀಲಿ ಅನುಕ್ರಮದ ನಮೂದಿಗೆ ಸೇರಿಸುತ್ತದೆ." + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "Scroll Page ಆಜ್ಞೆಯು ಪಠ್ಯ ವಿಡ್ಗೆಟ್ ಅನ್ನು ಒಂದು ಪುಟದ ಅಥವ ಒಂದು ಸಾಲಿನಕ ಮೇಲಕ್ಕೆ ಅಥವ ಕೆಳಕ್ಕೆ ಚಲಿಸುವಂತೆ ಮಾಡುತ್ತದೆ. ದತ್ತಾಂಶ 1 ಅನ್ನು ಮೇಲಕ್ಕೆ, ಕೆಳಕ್ಕೆ +1 ಅಥವ -1 ಗೆ ಹೊಂದಿಸಿ." + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "Set Buffer ಆಜ್ಞೆಯು ದತ್ತಾಂಶ 1 ಕ್ಕೆ ನಮೂದಿಸಲಾದ ವಿಷಯಕ್ಕೆ ನಮೂದಿಸಲಾದ ಕೀಲಿ ಅನುಕ್ರಮಕ್ಕೆ ನಮೂದನ್ನು ಹೊಂದಿಸುತ್ತದೆ" + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "ಕೊನೆಯ ಆಜ್ಞೆ ಆಜ್ಞೆಯು ಕೊನೆಯ ಬಾರಿಗೆ ನಮೂದಿಸಲಾದ ಆಜ್ಞೆಯನ್ನು ನಮೂದಿನಲ್ಲಿ ಇರುವಂತೆ ಹೊಂದಿಸುತ್ತದೆ - ಶೆಲ್‌ನಲ್ಲಿ ಮಾಡುವ ರೀತಿಯಲ್ಲಿಯೆ" + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "ಕೊನೆಯ ಆಜ್ಞೆ ಆಜ್ಞೆಯು ಮುಂದಿನ ಆಜ್ಞೆಯನ್ನು ನಮೂದಿನಲ್ಲಿ ಇರುವಂತೆ ಹೊಂದಿಸುತ್ತದೆ - ಶೆಲ್‌ನಲ್ಲಿ ಮಾಡುವ ರೀತಿಯಲ್ಲಿಯೆ" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "ಈ ಆಜ್ಞೆಯು ಅಪೂರ್ಣಗೊಂಡ ಅಡ್ಡಹೆಸರು ಅಥವ ಆಜ್ಞೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸುವ ನಮೂದಿನ ಪಠ್ಯವನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ. ದತ್ತಾಂಶ 1 ಅನ್ನು ಹೊಂದಿಸಲಾಗಿದ್ದಲ್ಲಿ, ಎರಡು ಬಾರಿ ಟ್ಯಾಬ್ ಅನ್ನು ಒತ್ತುವುದರಿಂದ ಕೊನೆಯ ಬಾರಿಯ ಅಡ್ಡಹೆಸರನ್ನು ಆರಿಸುತ್ತದೆಯೆ ಹೊರತು ಮುಂದಿನದ್ದಲ್ಲ" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "ಈ ಆಜ್ಞೆಯು ಅಡ್ಡಹೆಸರುಗಳ ಪಟ್ಟಿಯಲ್ಲಿ ಮೇಲಕ್ಕೆ ಹಾಗು ಕೆಳಕ್ಕೆ ಚಲಿಸುತ್ತದೆ. ದತ್ತಾಂಶ 1 ನ್ನು ಯಾವುದಕ್ಕಾದರೂ ಹೊಂದಿಸಿದಲ್ಲಿ ಇದು ಮೇಲಕ್ಕೆ ಚಲಿಸುತ್ತದೆ ಇಲ್ಲದೆ ಹೋದಲ್ಲಿ ಕೆಳಕ್ಕೆ ಚಲಿಸುತ್ತದೆ" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "ಈ ಆಜ್ಞೆಯು ಬದಲಾಯಿಸುವ ಪಟ್ಟಿಯಲ್ಲಿನ ನಮೂದಿನಲ್ಲಿ ಕಡೆಯದಾಗಿ ನಮೂದಿಸಲಾದ ಹುಡುಕುತ್ತದೆ ಹಾಗು ತಾಳೆಯಾಗುವುದು ಕಂಡು ಬಂದಲ್ಲಿ ಬದಲಾಯಿಸುತ್ತದೆ" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "ಈ ಆಜ್ಞೆಯು ಎದುರಿನ ಹಾಳೆಯನ್ನು ಎಡಕ್ಕೆ ಒಂದು ಹಂತ ಸ್ಥಳಾಂತರಿಸುತ್ತದೆ" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "ಈ ಆಜ್ಞೆಯು ಎದುರಿನ ಹಾಳೆಯನ್ನು ಬಲಕ್ಕೆ ಒಂದು ಹಂತ ಸ್ಥಳಾಂತರಿಸುತ್ತದೆ" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "ಈ ಆಜ್ಞೆಯು ಪ್ರಸಕ್ತ ಹಾಳೆಯ ಸಂಕುಲವನ್ನು ಎಡಕ್ಕೆ ಒಂದು ಹಂತ ಸ್ಥಳಾಂತರಿಸುತ್ತದೆ" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "ಈ ಆಜ್ಞೆಯು ಪ್ರಸಕ್ತ ಹಾಳೆಯ ಸಂಕುಲವನ್ನು ಬಲಕ್ಕೆ ಒಂದು ಹಂತ ಸ್ಥಳಾಂತರಿಸುತ್ತದೆ" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "ಇನ್‌ಪುಟ್ ಸಾಲನ್ನು ಇತಿಹಾಸಕ್ಕೆ ತಳ್ಳುತ್ತದೆ ಆದರೆ ಪರಿಚಾರಕಕ್ಕೆ ಕಳುಹಿಸುವುದಿಲ್ಲ" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "ಕೀಲಿ ಬೈಂಡಿಂಗ್‌ಗಳ ಸಂರಚನೆಯನ್ನು ಲೋಡ್ ಮಾಡುವಲ್ಲಿ ಒಂದು ದೋಷ ಉಂಟಾಗಿದೆ" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1635 src/fe-gtk/maingui.c:1751 +#: src/fe-gtk/maingui.c:3252 +msgid "<none>" +msgstr "<ಏನೂ ಇಲ್ಲ>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "Mod" + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "ಕೀಲಿ" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "ಕ್ರಿಯೆ" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: ಕೀಲಿಮಣೆ ಶಾರ್ಟ್-ಕಟ್‌ಗಳು" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "ದತ್ತ 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "ದತ್ತ 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "ಕೀಲಿಗಳ ಸಂರಚನಾ ಕಡತವನ್ನು ತೆರೆಯುವಾಗ ದೋಷವುಂಟಾಯಿತು\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"ಕೀಲಿ ಬೈಂಡಿಂಗ್ ಸಂರಚನೆಯ ಕಡತದಲ್ಲಿ ಗೊತ್ತಿರದ %s ಎಂಬ ಕೀಲಿಯ ಹೆಸರು\n" +"ಲೋಡ್ ಮಾಡುವಿಕೆಯನ್ನು ಸ್ಥಗಿತಗೊಳಿಸಲಾಗಿದೆ, ದಯವಿಟ್ಟು %s/keybindingsconf ಅನ್ನು ಸರಿಪಡಿಸಿ\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"ಕೀಲಿ ಬೈಂಡಿಂಗ್ ಸಂರಚನೆಯ ಕಡತದಲ್ಲಿ ಗೊತ್ತಿರದ %s ಎಂಬ ಕ್ರಿಯೆ\n" +"ಲೋಡ್ ಮಾಡುವಿಕೆಯನ್ನು ಸ್ಥಗಿತಗೊಳಿಸಲಾಗಿದೆ, ದಯವಿಟ್ಟು %s/keybindingsconf ಅನ್ನು ಸರಿಪಡಿಸಿ\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"ದತ್ತಾಂಶದ ಸಾಲನ್ನು ನಿರೀಕ್ಷಿಸಲಾಗಿತ್ತು (Dx{:|!} ಇಂದ ಆರಂಭಗೊಳ್ಳುವ) ಆದರೆ ದೊರಕಿದ್ದು ಇದು:\n" +"%s\n" +"\n" +"ದಯವಿಟ್ಟು %s/keybindings.conf ಅನ್ನು ಸರಿಪಡಿಸಿ\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"ಕೀಲಿ ಬೈಂಡಿಂಗ್ ಸಂರಚನೆಯ ಕಡತವು ಹಾಳಾಗಿದೆ, ಲೋಡ್ ಮಾಡುವಿಕೆಯನ್ನು ಸ್ಥಗಿತಗೊಳಿಸಲಾಗಿದೆ\n" +"ದಯವಿಟ್ಟು %s/keybindings.conf ಅನ್ನು ಸರಿಪಡಿಸಿ\n" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "ಆ ಕಡತಕ್ಕೆ ಬರೆಯಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ." + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "ಆ ಕಡತವನ್ನು ಓದಲಾಗಿಲ್ಲ." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:264 +msgid "That mask already exists." +msgstr "ಆ ಮುಸುಕು ಈಗಾಗಲೇ ಇದೆ." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:2132 +msgid "Private" +msgstr "ಖಾಸಗಿ" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "ಸೂಚನೆ" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "ಆಮಂತ್ರಿಸಿ" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "ಕಡೆಗಣಿಸಿದ್ದನ್ನು ರದ್ದುಗೊಳಿಸು" + +#: src/fe-gtk/ignoregui.c:308 +msgid "Enter mask to ignore:" +msgstr "ಕಡೆಗಣಿಸಲು ಮುಸುಕನ್ನು ನಮೂದಿಸಿ:" + +#: src/fe-gtk/ignoregui.c:355 +msgid "XChat: Ignore list" +msgstr "XChat: ಕಡೆಗಣಿಸಬೇಕಿರುವ ಪಟ್ಟಿ" + +#: src/fe-gtk/ignoregui.c:362 +msgid "Ignore Stats:" +msgstr "ಕಡೆಗಣಿಸುವ ಅಂಕಿಅಂಶಗಳು:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Channel:" +msgstr "ಚಾನಲ್:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Private:" +msgstr "ಖಾಸಗಿ:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Notice:" +msgstr "ಸೂಚನೆ:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:374 +msgid "Invite:" +msgstr "ಆಮಂತ್ರಿಸಿ:" + +#: src/fe-gtk/ignoregui.c:385 src/fe-gtk/notifygui.c:428 +msgid "Add..." +msgstr "ಸೇರಿಸು..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "ಚಾನಲ್ ಹೆಸರು ಬಹಳ ಸಣ್ಣದಾಗಿದೆ, ಇನ್ನೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: ಸಂಪರ್ಕವು ಪೂರ್ಣಗೊಂಡಿದೆ" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "%s ಗಾಗಿನ ಸಂಪರ್ಕವು ಪೂರ್ಣಗೊಂಡಿದೆ." + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "ಪರಿಚಾರಕ-ಪಟ್ಟಿ ವಿಂಡೊದಲ್ಲಿ, ಈ ಜಾಲಬಂಧಕ್ಕೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೇರಲು ಯಾವುದೆ ಚಾನಲ್ (ಮಾತುಕತೆಯ ಕೋಣೆಯನ್ನು) ನಮೂದಿಸಲಾಗಿಲ್ಲ." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "ನೀವು ಇದರ ನಂತರ ಏನು ಮಾಡಲು ಬಯಸುವಿರಿ?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "ಏನೂ ಇಲ್ಲ, ನಾನು ಆಮೇಲೆ ಚಾನಲ್‌ನಲ್ಲಿ ಸೇರಿಕೊಳ್ಳುತ್ತೇನೆ(_N)." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "ಚಾನಲ್‌ ಅನ್ನು ಸೇರು(_J):" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "ನೀವು ಸೇರಲು ಬಯಸುವ ಚಾನಲ್‌ನ ಹೆಸರು ತಿಳಿದಿದ್ದಲ್ಲಿ, ಇಲ್ಲಿ ಬರೆಯಿರಿ." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "ಚಾನಲ್-ಪಟ್ಟಿ ವಿಂಡೊವನ್ನು ತೆರೆ(_p)" + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "ಚಾನಲ್-ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು ಒಂದೆರಡು ನಿಮಿಷಗಳು ಹಿಡಿಯಬಹುದು." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "ಯಾವಾಗಲೂ ಸಂಪರ್ಕಿತಗೊಂಡ ನಂತರ ಈ ಸಂವಾದವನ್ನು ತೋರಿಸು(_A)." + +#: src/fe-gtk/maingui.c:506 +msgid "Dialog with" +msgstr "ಇದರೊಂದಿಗಿನ ಸಂವಾದ" + +#: src/fe-gtk/maingui.c:793 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s ಗಾಗಿನ ವಿಷಯ %s" + +#: src/fe-gtk/maingui.c:798 +msgid "No topic is set" +msgstr "ವಿಷಯವನ್ನು ಗೊತ್ತುಪಡಿಸಿಲ್ಲ" + +#: src/fe-gtk/maingui.c:1182 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "ಈ ಪರಿಚಾರಕವು ಇನ್ನೂ ಸಹ %d ಚಾನಲ್‌ಗಳನ್ನು ಅಥವ ಸಂವಾದಗಳನ್ನು ಹೊಂದಿದೆ. ಎಲ್ಲವನ್ನೂ ಮುಚ್ಚಬೇಕೆ?" + +#: src/fe-gtk/maingui.c:1276 +msgid "Quit XChat?" +msgstr "XChat ನಿಂದ ನಿರ್ಗಮಿಸಬೇಕೆ?" + +#: src/fe-gtk/maingui.c:1297 +msgid "Don't ask next time." +msgstr "ಮುಂದಿನ ಬಾರಿ ಕೇಳಬೇಡ." + +#: src/fe-gtk/maingui.c:1303 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "ನೀವು %i IRC ಜಾಲಬಂಧಗಳೊಂದಿಗೆ ಸಂಪರ್ಕಿತಗೊಂಡಿದ್ದೀರಿ." + +#: src/fe-gtk/maingui.c:1305 +msgid "Are you sure you want to quit?" +msgstr "ನೀವು ಖಚಿತಾವಾಗಿಯೂ ನಿರ್ಗಮಿಸಲು ಬಯಸುತ್ತೀರೆ?" + +#: src/fe-gtk/maingui.c:1307 +msgid "Some file transfers are still active." +msgstr "ಕೆಲವು ಕಡತ ವರ್ಗಾವಣೆಗಳು ಇನ್ನೂ ಸಹ ಸಕ್ರಿಯವಾಗಿದೆ." + +#: src/fe-gtk/maingui.c:1325 +msgid "_Minimize to Tray" +msgstr "ಟ್ರೇಗೆ ಕಿರಿದಾಗಿಸು(_M)" + +#: src/fe-gtk/maingui.c:1545 +msgid "Insert Attribute or Color Code" +msgstr "ವೈಶಿಷ್ಟ್ಯವನ್ನು ಅಥವ ಬಣ್ಣದ ಸಂಕೇತವನ್ನು ಸೇರಿಸು" + +#: src/fe-gtk/maingui.c:1547 +msgid "<b>Bold</b>" +msgstr "<b>ಬೋಲ್ಡ್</b>" + +#: src/fe-gtk/maingui.c:1548 +msgid "<u>Underline</u>" +msgstr "<u>ಅಡಿಗೆರೆ ಎಳೆ</u>" + +#: src/fe-gtk/maingui.c:1550 +msgid "Normal" +msgstr "ಸಾಮಾನ್ಯ" + +#: src/fe-gtk/maingui.c:1552 +msgid "Colors 0-7" +msgstr "ಬಣ್ಣಗಳು 0-7" + +#: src/fe-gtk/maingui.c:1562 +msgid "Colors 8-15" +msgstr "ಬಣ್ಣಗಳು 8-15" + +#: src/fe-gtk/maingui.c:1605 +msgid "_Settings" +msgstr "ಸಿದ್ಧತೆಗಳು(_S)" + +#: src/fe-gtk/maingui.c:1607 +msgid "_Log to Disk" +msgstr "ಡಿಸ್ಕಿಗೆ ದಾಖಲಿಸು(_L)" + +#: src/fe-gtk/maingui.c:1608 +msgid "_Reload Scrollback" +msgstr "ಸ್ಕ್ರಾಲ್‌ಬ್ಯಾಕನ್ನು ಮರಳಿ ಲೋಡ್ ಮಾಡು(_R)" + +#: src/fe-gtk/maingui.c:1610 +msgid "_Hide Join/Part Messages" +msgstr "ಸೇರ್ಪಡೆಗೊಂಡ/ಹೊರಕ್ಕೆ ತೆರಳಿದ ಸಂದೇಶಗಳನ್ನು ಅಡಗಿಸು(_H)" + +#: src/fe-gtk/maingui.c:1618 +msgid "_Extra Alerts" +msgstr "ಹೆಚ್ಚುವರಿ ಎಚ್ಚರಿಕೆಗಳು(_E)" + +#: src/fe-gtk/maingui.c:1620 +msgid "Beep on _Message" +msgstr "ಸಂದೇಶ ಬಂದಾಗ ಬೀಪ್ ಮಾಡು(_M)" + +#: src/fe-gtk/maingui.c:1621 +msgid "Blink Tray _Icon" +msgstr "ಟ್ರೇ ಚಿಹ್ನೆಯನ್ನು ಮಿನುಗಿಸು(_I)" + +#: src/fe-gtk/maingui.c:1622 +msgid "Blink Task _Bar" +msgstr "ಕಾರ್ಯ ಪಟ್ಟಿಯನ್ನು ಮಿನುಗಿಸು(_B)" + +#: src/fe-gtk/maingui.c:1660 src/fe-gtk/menu.c:2124 +msgid "_Detach" +msgstr "ಕಳಚು(_D)" + +#: src/fe-gtk/maingui.c:1662 src/fe-gtk/menu.c:2125 src/fe-gtk/menu.c:2130 +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "ಮುಚ್ಚು(_C)" + +#: src/fe-gtk/maingui.c:2000 src/fe-gtk/maingui.c:2106 +msgid "User limit must be a number!\n" +msgstr "ಬಳಕೆದಾರರ ಮಿತಿಯು ಒಂದು ಸಂಖ್ಯೆಯಾಗಿರಬೇಕು!\n" + +#: src/fe-gtk/maingui.c:2128 +msgid "Topic Protection" +msgstr "ವಿಷಯದ ಸಂರಕ್ಷಣೆ" + +#: src/fe-gtk/maingui.c:2129 +msgid "No outside messages" +msgstr "ಯಾವುದೆ ಹೊರಗಿನ ಸಂದೇಶಗಳಿಲ್ಲ" + +#: src/fe-gtk/maingui.c:2130 +msgid "Secret" +msgstr "ರಹಸ್ಯ" + +#: src/fe-gtk/maingui.c:2131 +msgid "Invite Only" +msgstr "ಆಮಂತ್ರಣದ ಮೇರೆಗೆ ಮಾತ್ರ" + +#: src/fe-gtk/maingui.c:2133 +msgid "Moderated" +msgstr "ನಿರ್ಣಯಿಸಲಾದ" + +#: src/fe-gtk/maingui.c:2134 +msgid "Ban List" +msgstr "ನಿಷೇಧಪಟ್ಟಿ" + +#: src/fe-gtk/maingui.c:2136 +msgid "Keyword" +msgstr "ಕೀಲಿಪದ" + +#: src/fe-gtk/maingui.c:2148 +msgid "User Limit" +msgstr "ಬಳಕೆದಾರ ಮಿತಿ" + +#: src/fe-gtk/maingui.c:2257 +msgid "Show/Hide userlist" +msgstr "ಬಳಕೆದಾಪಟ್ಟಿಯನ್ನು ತೋರಿಸು/ಅಡಗಿಸು" + +#: src/fe-gtk/maingui.c:2382 +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 "" +"ಪಾರದರ್ಶಕ ಹಿನ್ನಲೆಯನ್ನು ಹೊಂದಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ!\n" +"\n" +"ನೀವು ಬಹುಷಃ ಪ್ರಸಕ್ತ ಬೆಂಬಲವಿರದ ಹೊಂದಿಕೆಯಾಗದ \n" +"ವಿಂಡೊವನ್ನು ವ್ಯವಸ್ಥಾಪಕವನ್ನು ಬಳಸುತ್ತಿರಬಹುದು.\n" + +#: src/fe-gtk/maingui.c:2653 +msgid "Enter new nickname:" +msgstr "ಹೊಸ ಅಡ್ಡಹೆಸರನ್ನು ಸೇರಿಸಿ:" + +#: src/fe-gtk/menu.c:126 +msgid "Host unknown" +msgstr "ಅಜ್ಞಾತ ಆತಿಥೇಯ" + +#: src/fe-gtk/menu.c:610 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:616 src/fe-gtk/menu.c:620 +msgid "Real Name:" +msgstr "ನಿಜವಾದ ಹೆಸರು:" + +#: src/fe-gtk/menu.c:624 +msgid "User:" +msgstr "ಬಳಕೆದಾರ:" + +#: src/fe-gtk/menu.c:628 +msgid "Country:" +msgstr "ದೇಶ:" + +#: src/fe-gtk/menu.c:632 +msgid "Server:" +msgstr "ಪರಿಚಾರಕ(ಸರ್ವರ್‍):" + +#: src/fe-gtk/menu.c:640 +#, c-format +msgid "%u minutes ago" +msgstr "%u ನಿಮಿಷಗಳ ಹಿಂದೆ" + +#: src/fe-gtk/menu.c:642 src/fe-gtk/menu.c:645 +msgid "Last Msg:" +msgstr "ಕಡೆಯ ಸಂದೇಶ:" + +#: src/fe-gtk/menu.c:655 +msgid "Away Msg:" +msgstr "ಆಚೆ ಹೋಗಲಾದಾಗಿನ ಸಂದೇಶ:" + +#: src/fe-gtk/menu.c:710 +#, c-format +msgid "%d nicks selected." +msgstr "%d ಅಡ್ಡಹೆಸರುಗಳನ್ನು ಆರಿಸಲಾಗಿದೆ." + +#: src/fe-gtk/menu.c:835 +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 "ಮೆನುಪಟ್ಟಿಯನ್ನು ಈಗ ಅಡಗಿಸಲಾಗಿದೆ. F9 ಅನ್ನು ಒತ್ತುವ ಮೂಲಕ ಅಥವ ಮುಖ್ಯ ಪಠ್ಯ ಸ್ಥಳದಲ್ಲಿ ಸೂಚಕವನ್ನು ಇರಿಸಿ ಬಲ ಕ್ಲಿಕ್ ಮಾಡುವ ಮೂಲಕ ಅದನ್ನು ಮತ್ತೆ ಕಾಣಿಸಬಹುದು." + +#: src/fe-gtk/menu.c:930 +msgid "Open Link in Browser" +msgstr "ಕೊಂಡಿಯನ್ನ್ನು ವೀಕ್ಷಕದಲ್ಲಿ ತೆರೆ" + +#: src/fe-gtk/menu.c:931 +msgid "Copy Selected Link" +msgstr "ಆಯ್ಕೆ ಮಾಡಲಾದ ಸಂಪರ್ಕಕೊಂಡಿಯನ್ನು ಕಾಪಿ ಮಾಡಿ" + +#: src/fe-gtk/menu.c:993 src/fe-gtk/menu.c:1264 +msgid "Join Channel" +msgstr "ಒಂದು ಚಾನಲ್ ಅನ್ನು ಸೇರು" + +#: src/fe-gtk/menu.c:997 +msgid "Part Channel" +msgstr "ಚಾನಲ್‌ನಿಂದ ಹೊರಹೋಗು" + +#: src/fe-gtk/menu.c:999 +msgid "Cycle Channel" +msgstr "ಚಾನಲ್‌ನಲ್ಲಿ ಆವರ್ತನಗೊಳಿಸು" + +#: src/fe-gtk/menu.c:1035 +msgid "_Remove from Favorites" +msgstr "ಅಚ್ಚುಮೆಚ್ಚಿನವುಗಳಿಂದ ತೆಗೆದು ಹಾಕು(_R)" + +#: src/fe-gtk/menu.c:1037 +msgid "_Add to Favorites" +msgstr "ಅಚ್ಚುಮೆಚ್ಚಿನವುಗಳಿಗೆ ಸೇರಿಸು(_A)" + +#: src/fe-gtk/menu.c:1056 +msgid "XChat: User menu" +msgstr "XChat: ಬಳಕೆದಾರ ಮೆನು" + +#: src/fe-gtk/menu.c:1065 +msgid "Edit This Menu..." +msgstr "ಈ ಮೆನುವನ್ನು ಸಂಪಾದಿಸಿ..." + +#: src/fe-gtk/menu.c:1266 +msgid "Retrieve channel list..." +msgstr "ಚಾನಲ್ ಪಟ್ಟಿಯನ್ನು ಪಡೆದುಕೊಳ್ಳಿ..." + +#: src/fe-gtk/menu.c:1334 +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 = xchat 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 "" +"ಬಳಕೆದಾರ ಆಜ್ಞೆಗಳು - ವಿಶೇಷ ಸಂಕೇತಗಳು:\n" +"\n" +"%c = ಪ್ರಸಕ್ತ ಚಾನಲ್\n" +"%e = ಪ್ರಸಕ್ತ ಜಾಲಬಂಧದ ಹೆಸರು\n" +"%m = ಗಣಕದ ಮಾಹಿತಿ\n" +"%n = ನಿಮ್ಮ ಅಡ್ಡಹೆಸರು\n" +"%t = ಸಮಯ/ದಿನಾಂಕ\n" +"%v = xchat ನ ಆವೃತ್ತಿ\n" +"%2 = ಪದ 2\n" +"%3 = ಪದ 3\n" +"&2 = ಪದ 2 ರಿಂದ ಸಾಲಿನ ಕೊನೆಯವರೆಗೆ\n" +"&3 = ಪದ 3 ರಿಂದ ಸಾಲಿನ ಕೊನೆಯವರೆಗೆ\n" +"\n" +"ಉದಾ:\n" +"/cmd john hello\n" +"\n" +"%2 ಎನ್ನುವುದು \"john\" ಆಗಿದೆ\n" +"&2 ಎನ್ನುವುದು \"john hello\" ಆಗಿದೆ." + +#: src/fe-gtk/menu.c:1350 +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 "" +"ಬಳಕೆದಾರ ಗುಂಡಿಗಳು - ವಿಶೇಷ ಸಂಕೇತಗಳು:\n" +"\n" +"%a = ಆಯ್ಕೆ ಮಾಡಲಾದ ಎಲ್ಲಾ ಅಡ್ಡಹೆಸರುಗಳು\n" +"%c = ಪ್ರಸಕ್ತ ಚಾನಲ್\n" +"%e = ಪ್ರಸಕ್ತ ಜಾಲಬಂಧದ ಹೆಸರು\n" +"%h = ಆಯ್ಕೆ ಮಾಡಲಾದ ಅಡ್ಡಹೆಸರಿನ ಆತಿಥೇಯ ಹೆಸರು\n" +"%m = ಗಣಕದ ಮಾಹಿತಿ\n" +"%n = ನಿಮ್ಮ ಅಡ್ಡಹೆಸರು\n" +"%s = ಆಯ್ಕೆ ಮಾಡಲಾದ ಅಡ್ಡಹೆಸರು\n" +"%t = ಸಮಯ/ದಿನಾಂಕ\n" + +#: src/fe-gtk/menu.c:1360 +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 "" +"ಸಂವಾದ ಗುಂಡಿಗಳು - ವಿಶೇಷ ಸಂಕೇತಗಳು:\n" +"\n" +"%a = ಆಯ್ಕೆ ಮಾಡಲಾದ ಎಲ್ಲಾ ಅಡ್ಡಹೆಸರುಗಳು\n" +"%c = ಪ್ರಸಕ್ತ ಚಾನಲ್\n" +"%e = ಪ್ರಸಕ್ತ ಜಾಲಬಂಧದ ಹೆಸರು\n" +"%h = ಆಯ್ಕೆ ಮಾಡಲಾದ ಅಡ್ಡಹೆಸರಿನ ಆತಿಥೇಯ ಹೆಸರು\n" +"%m = ಗಣಕದ ಮಾಹಿತಿ\n" +"%n = ನಿಮ್ಮ ಅಡ್ಡಹೆಸರು\n" +"%s = ಆಯ್ಕೆ ಮಾಡಲಾದ ಅಡ್ಡಹೆಸರು\n" +"%t = ಸಮಯ/ದಿನಾಂಕ\n" + +#: src/fe-gtk/menu.c:1370 +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 "" +"CTCP ಪ್ರತ್ಯುತ್ತರಗಳು - ವಿಶೇಷ ಸಂಕೇತಗಳು:\n" +"\n" +"%d = ದತ್ತಾಂಶ (ಸಂಪೂರ್ಣ ctcp)\n" +"%e = ಪ್ರಸಕ್ತ ಜಾಲಬಂಧದ ಹೆಸರು\n" +"%m = ಗಣಕದ ಹೆಸರು\n" +"%s = ctcp ಅನ್ನು ಕಳುಹಿಸಿದವರ ಅಡ್ಡಹೆಸರು\n" +"%t = ಸಮಯ/ದಿನಾಂಕ\n" +"%2 = ಪದ 2\n" +"%3 = ಪದ 3\n" +"&2 = ಪದ 2 ರಿಂದ ಸಾಲಿನ ಕೊನೆಯವರೆಗೆ\n" +"&3 = ಪದ 3 ರಿಂದ ಸಾಲಿನ ಕೊನೆಯವರೆಗೆ\n" +"\n" + +#: src/fe-gtk/menu.c:1381 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"URL ಹ್ಯಾಂಡ್ಲರುಗಳು - ವಿಶೇಷ ಸಂಕೇತಗಳು:\n" +"\n" +"%s = URL ವಾಕ್ಯಾಂಶ\n" +"\n" +"ಒಂದು ಆಜ್ಞೆಯ ಎದುರು ! ಅನ್ನು ಸೇರಿಸುವುದರಿಂದ\n" +"ಅದನ್ನು XChat ಬದಲಿಗೆ ಶೆಲ್‌ಗೆ ಕಳಿಸಬೇಕು\n" +"ಎಂದು ಸೂಚಿಸುತ್ತದೆ" + +#: src/fe-gtk/menu.c:1390 +msgid "XChat: User Defined Commands" +msgstr "XChat: ಬಳಕೆದಾರರಿಂದ ಸೂಚಿತ ಆಜ್ಞೆಗಳು" + +#: src/fe-gtk/menu.c:1397 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: ಬಳಕೆದಾರಪಟ್ಟಿಯ ಪುಟಿಕೆ ಮೆನು" + +#: src/fe-gtk/menu.c:1404 +msgid "Replace with" +msgstr "ಇದರೊಂದಿಗೆ ಬದಲಿಸು" + +#: src/fe-gtk/menu.c:1404 +msgid "XChat: Replace" +msgstr "XChat: ಬದಲಿಸು" + +#: src/fe-gtk/menu.c:1411 +msgid "XChat: URL Handlers" +msgstr "XChat: URL ಹ್ಯಾಂಡ್ಲರುಗಳು" + +#: src/fe-gtk/menu.c:1430 +msgid "XChat: Userlist buttons" +msgstr "XChat: ಬಳಕೆದಾರಪಟ್ಟಿ ಗುಂಡಿಗಳು" + +#: src/fe-gtk/menu.c:1437 +msgid "XChat: Dialog buttons" +msgstr "XChat: ಸಂವಾದ ಗುಂಡಿಗಳು" + +#: src/fe-gtk/menu.c:1444 +msgid "XChat: CTCP Replies" +msgstr "XChat: CTCP ಪ್ರತ್ಯುತ್ತರಗಳು" + +#: src/fe-gtk/menu.c:1550 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1551 +msgid "Network Li_st..." +msgstr "ಜಾಲಬಂಧ ಪಟ್ಟಿ(_s)..." + +#: src/fe-gtk/menu.c:1554 +msgid "_New" +msgstr "ಹೊಸ(_N)" + +#: src/fe-gtk/menu.c:1555 +msgid "Server Tab..." +msgstr "ಪರಿಚಾರಕ ಹಾಳೆ..." + +#: src/fe-gtk/menu.c:1556 +msgid "Channel Tab..." +msgstr "ಚಾನಲ್ ಹಾಳೆ..." + +#: src/fe-gtk/menu.c:1557 +msgid "Server Window..." +msgstr "ಪರಿಚಾರಕ ವಿಂಡೊ..." + +#: src/fe-gtk/menu.c:1558 +msgid "Channel Window..." +msgstr "ಚಾನಲ್ ವಿಂಡೊ..." + +#: src/fe-gtk/menu.c:1563 src/fe-gtk/menu.c:1565 +msgid "_Load Plugin or Script..." +msgstr "ಪ್ಲಗ್‌ಇನ್ ಅಥವ ಸ್ಕ್ರಿಪ್ಟನ್ನು ಲೋಡ್ ಮಾಡು(_L)..." + +#: src/fe-gtk/menu.c:1573 src/fe-gtk/plugin-tray.c:604 +msgid "_Quit" +msgstr "ಹೊರನಡೆ(_Q)" + +#: src/fe-gtk/menu.c:1575 +msgid "_View" +msgstr "ನೋಟ(_V)" + +#: src/fe-gtk/menu.c:1577 +msgid "_Menu Bar" +msgstr "ಮೆನು ಪಟ್ಟಿ(_M)" + +#: src/fe-gtk/menu.c:1578 +msgid "_Topic Bar" +msgstr "ವಿಷಯದ ಪಟ್ಟಿ(_T)" + +#: src/fe-gtk/menu.c:1579 +msgid "_User List" +msgstr "ಬಳಕೆದಾರರ ಪಟ್ಟಿ(_U)" + +#: src/fe-gtk/menu.c:1580 +msgid "U_serlist Buttons" +msgstr "ಬಳಕೆದಾರಪಟ್ಟಿ ಗುಂಡಿಗಳು(_s)" + +#: src/fe-gtk/menu.c:1581 +msgid "M_ode Buttons" +msgstr "ಕ್ರಮದ ಗುಂಡಿಗಳು(_o)" + +#: src/fe-gtk/menu.c:1583 +msgid "_Channel Switcher" +msgstr "ಚಾನಲ್ ಬದಲಾವಣೆಗಾರ(_C)" + +#: src/fe-gtk/menu.c:1585 +msgid "_Tabs" +msgstr "ಹಾಳೆಗಳು(_T)" + +#: src/fe-gtk/menu.c:1586 +msgid "T_ree" +msgstr "ವೃಕ್ಷ(_r)" + +#: src/fe-gtk/menu.c:1588 +msgid "_Network Meters" +msgstr "ಜಾಲಬಂಧ ಮೀಟರುಗಳು(_N)" + +#: src/fe-gtk/menu.c:1590 +msgid "Off" +msgstr "ಆಫ್" + +#: src/fe-gtk/menu.c:1591 +msgid "Graph" +msgstr "ನಕ್ಷೆ(ಗ್ರಾಫ್)" + +#: src/fe-gtk/menu.c:1596 +msgid "_Server" +msgstr "ಪರಿಚಾರಕ(ಸರ್ವರ್‍)(_S) " + +#: src/fe-gtk/menu.c:1597 +msgid "_Disconnect" +msgstr "ಸಂಪರ್ಕ ಕಡಿದುಹಾಕು(_D)" + +#: src/fe-gtk/menu.c:1598 +msgid "_Reconnect" +msgstr "ಮರಳಿ ಸಂಪರ್ಕಸಾಧಿಸು(_R)" + +#: src/fe-gtk/menu.c:1599 +msgid "Join a Channel..." +msgstr "ಒಂದು ಚಾನಲ್ ಅನ್ನು ಸೇರು..." + +#: src/fe-gtk/menu.c:1600 +msgid "List of Channels..." +msgstr "ಚಾನಲ್‌ಗಳ ಪಟ್ಟಿ..." + +#: src/fe-gtk/menu.c:1603 +msgid "Marked Away" +msgstr "ಆಚೆ ಹೋಗಲಾಗಿದೆ ಎಂದು ಸೂಚಿಸಲಾಗಿದೆ" + +#: src/fe-gtk/menu.c:1605 +msgid "_Usermenu" +msgstr "ಬಳಕೆದಾರ ಮೆನು(_U)" + +#: src/fe-gtk/menu.c:1607 +msgid "S_ettings" +msgstr "ಸಿದ್ಧತೆಗಳು(_e)" + +#: src/fe-gtk/menu.c:1608 +msgid "_Preferences" +msgstr "ಆದ್ಯತೆಗಳು(_P)" + +#: src/fe-gtk/menu.c:1610 +msgid "Advanced" +msgstr "ಸುಧಾರಿತ" + +#: src/fe-gtk/menu.c:1611 +msgid "Auto Replace..." +msgstr "ಸ್ವಯಂ ಬದಲಾವಣೆ..." + +#: src/fe-gtk/menu.c:1612 +msgid "CTCP Replies..." +msgstr "CTCP ಪ್ರತ್ಯುತ್ತರಗಳು..." + +#: src/fe-gtk/menu.c:1613 +msgid "Dialog Buttons..." +msgstr "ಸಂವಾದ ಗುಂಡಿಗಳು..." + +#: src/fe-gtk/menu.c:1614 +msgid "Keyboard Shortcuts..." +msgstr "ಕೀಲಿಮಣೆ ಶಾರ್ಟ್-ಕಟ್‌ಗಳು..." + +#: src/fe-gtk/menu.c:1615 +msgid "Text Events..." +msgstr "ಪಠ್ಯ ಘಟನೆಗಳು..." + +#: src/fe-gtk/menu.c:1616 +msgid "URL Handlers..." +msgstr "URL ಹ್ಯಾಂಡ್ಲರುಗಳು..." + +#: src/fe-gtk/menu.c:1617 +msgid "User Commands..." +msgstr "ಬಳಕೆದಾರ ಆಜ್ಞೆಗಳು..." + +#: src/fe-gtk/menu.c:1618 +msgid "Userlist Buttons..." +msgstr "ಬಳಕೆದಾರಪಟ್ಟಿ ಗುಂಡಿಗಳು..." + +#: src/fe-gtk/menu.c:1619 +msgid "Userlist Popup..." +msgstr "ಬಳಕೆದಾರಪಟ್ಟಿ ಪುಟಿಕೆಗಳು..." + +#: src/fe-gtk/menu.c:1622 +msgid "_Window" +msgstr "ವಿಂಡೊ(_W)" + +#: src/fe-gtk/menu.c:1623 +msgid "Ban List..." +msgstr "ನಿಷೇಧ ಪಟ್ಟಿ..." + +#: src/fe-gtk/menu.c:1624 +msgid "Character Chart..." +msgstr "ಚಿಹ್ನೆಯ ನಕ್ಷೆ..." + +#: src/fe-gtk/menu.c:1625 +msgid "Direct Chat..." +msgstr "ನೇರವಾದ ಮಾತುಕತೆ..." + +#: src/fe-gtk/menu.c:1626 +msgid "File Transfers..." +msgstr "ಕಡತ ವರ್ಗಾವಣೆಗಳು..." + +#: src/fe-gtk/menu.c:1627 +msgid "Friends List..." +msgstr "ಗೆಳೆಯರ ಪಟ್ಟಿ..." + +#: src/fe-gtk/menu.c:1628 +msgid "Ignore List..." +msgstr "ಪಟ್ಟಿಯನ್ನು ಆಲಕ್ಷಿಸು..." + +#: src/fe-gtk/menu.c:1629 +msgid "Plugins and Scripts..." +msgstr "ಪ್ಲಗಿನ್‌ಗಳು ಹಾಗು ಸ್ಕ್ರಿಪ್ಟುಗಳು..." + +#: src/fe-gtk/menu.c:1630 +msgid "Raw Log..." +msgstr "ಕಚ್ಚಾ(ರಾ) ದಾಖಲೆ..." + +#: src/fe-gtk/menu.c:1631 +msgid "URL Grabber..." +msgstr "URL ಸೆಳೆದುಕೊಳ್ಳುವವ..." + +#: src/fe-gtk/menu.c:1633 +msgid "Reset Marker Line" +msgstr "ಗುರುತಿನ ಗೆರೆಯನ್ನು ಮರಳಿ ಹೊಂದಿಸು" + +#: src/fe-gtk/menu.c:1634 +msgid "C_lear Text" +msgstr "ಪಠ್ಯವನ್ನು ಅಳಿಸು(_l)" + +#: src/fe-gtk/menu.c:1636 +msgid "Search Text..." +msgstr "ಪಠ್ಯಕ್ಕಾಗಿ ಹುಡುಕು..." + +#: src/fe-gtk/menu.c:1637 +msgid "Save Text..." +msgstr "ಪಠ್ಯವನ್ನು ಉಳಿಸು..." + +#: src/fe-gtk/menu.c:1639 src/fe-gtk/menu.c:2116 +msgid "_Help" +msgstr "ನೆರವು(_H)" + +#: src/fe-gtk/menu.c:1640 +msgid "_Contents" +msgstr "ವಿಷಯಗಳು(_C)" + +#: src/fe-gtk/menu.c:1642 +msgid "Check for updates" +msgstr "ಅಪ್‌ಡೇಟ್‌ಗಳಿಗಾಗಿ ಹುಡುಕು" + +#: src/fe-gtk/menu.c:1644 +msgid "_About" +msgstr "ಇದರ ಬಗ್ಗೆ(_A)" + +#: src/fe-gtk/menu.c:2129 +msgid "_Attach" +msgstr "ಲಗತ್ತಿಸು(_A)" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "ಕೊನೆಯ ಬಾರಿಗೆ ಕಂಡಿದ್ದು" + +#: src/fe-gtk/notifygui.c:182 +msgid "Offline" +msgstr "ಆಫ್‍ಲೈನ್" + +#: src/fe-gtk/notifygui.c:202 src/fe-gtk/setup.c:231 +msgid "Never" +msgstr "ಎಂದಿಗೂ ಇಲ್ಲ" + +#: src/fe-gtk/notifygui.c:205 src/fe-gtk/notifygui.c:230 +#, c-format +msgid "%d minutes ago" +msgstr "%d ನಿಮಿಷಗಳ ಹಿಂದೆ" + +#: src/fe-gtk/notifygui.c:220 +msgid "Online" +msgstr "ಆನ್‍ಲೈನ್" + +#: src/fe-gtk/notifygui.c:349 +msgid "Enter nickname to add:" +msgstr "ಸೇರಿಸಲು ಅಡ್ಡಹೆಸರುಗಳನ್ನು ನಮೂದಿಸಿ:" + +#: src/fe-gtk/notifygui.c:378 +msgid "Notify on these networks:" +msgstr "ಈ ಜಾಲಬಂಧಗಳಲ್ಲಿ ಸೂಚಿಸಿ:" + +#: src/fe-gtk/notifygui.c:389 +msgid "Comma separated list of networks is accepted." +msgstr "ವಿರಾಮಚಿಹ್ನೆಗಳಿಂದ ಬೇರ್ಪಡಿಸಲಾದ ಅಂಗೀಕರಿಸಲಾದ ಜಾಲಬಂಧಗಳ ಪಟ್ಟಿ." + +#: src/fe-gtk/notifygui.c:415 +msgid "XChat: Friends List" +msgstr "XChat: ಗೆಳೆಯರ ಪಟ್ಟಿ" + +#: src/fe-gtk/notifygui.c:436 +msgid "Open Dialog" +msgstr "ಸಂವಾದಚೌಕವನ್ನು ತೆರೆ" + +#: src/fe-gtk/plugin-tray.c:248 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" +"ಬಲೂನ್ ಎಚ್ಚರಿಕೆಗಳನ್ನು ತೆರೆಯಲು 'notify-send' ಕಂಡುಬಂದಿಲ್ಲ.\n" +"ದಯವಿಟ್ಟು libnotify ಅನ್ನು ಅನುಸ್ಥಾಪಿಸಿ." + +#: src/fe-gtk/plugin-tray.c:299 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat: ನೀವು %u ಜಾಲಬಂಧಗಳೊಂದಿಗೆ ಹಾಗು %u ಚಾನಲ್‌ನೊಂದಿಗೆ ಸಂಪರ್ಕಿತಗೊಂಡಿದ್ದೀರಿ" + +#: src/fe-gtk/plugin-tray.c:583 +msgid "_Restore" +msgstr "ಮರಳಿ ಸ್ಥಾಪಿಸು(_R)" + +#: src/fe-gtk/plugin-tray.c:585 +msgid "_Hide" +msgstr "ಅಡಗಿಸು(_H)" + +#: src/fe-gtk/plugin-tray.c:588 +msgid "_Blink on" +msgstr "ಮಿನುಗಿಸು(_B)" + +#: src/fe-gtk/plugin-tray.c:589 src/fe-gtk/setup.c:479 +msgid "Channel Message" +msgstr "ಚಾನಲ್ ಸಂದೇಶ" + +#: src/fe-gtk/plugin-tray.c:590 src/fe-gtk/setup.c:480 +msgid "Private Message" +msgstr "ಖಾಸಗಿ ಸಂದೇಶ" + +#: src/fe-gtk/plugin-tray.c:591 src/fe-gtk/setup.c:481 +msgid "Highlighted Message" +msgstr "ಹೈಲೈಟ್ ಮಾಡಲಾದ ಸಂದೇಶ" + +#: src/fe-gtk/plugin-tray.c:594 +msgid "_Change status" +msgstr "ಸ್ಥಿತಿಯನ್ನು ಬದಲಾಯಿಸು(_C)" + +#: src/fe-gtk/plugin-tray.c:596 +msgid "_Away" +msgstr "ಆಚೆ ಹೋಗಲಾಗಿದೆ(_A)" + +#: src/fe-gtk/plugin-tray.c:599 +msgid "_Back" +msgstr "ಹಿಂದೆ(_B)" + +#: src/fe-gtk/plugin-tray.c:648 src/fe-gtk/plugin-tray.c:656 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "XChat: ಇವರಿಂದ ಹೈಲೈಟ್ ಮಾಡಲಾದ ಸಂದೇಶ : %s (%s)" + +#: src/fe-gtk/plugin-tray.c:651 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat: %u ರವರು ಸಂದೇಶವನ್ನು ಹೈಲೈಟ್ ಮಾಡಿದ್ದಾರೆ, ಇತ್ತೀಚಿನದು: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:674 src/fe-gtk/plugin-tray.c:681 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat: ಇವರಿಂದ ಬಂದ ಹೊಸ ಸಾರ್ವಜನಿಕ ಸಂದೇಶಗಳು: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:677 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat: %u ಹೊಸ ಸಾರ್ವಜನಿಕ ಸಂದೇಶಗಳು." + +#: src/fe-gtk/plugin-tray.c:703 src/fe-gtk/plugin-tray.c:710 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat: ಇವರಿಮದ ಖಾಸಗಿ ಸಂದೇಶ: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:706 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat: %u ರವರಿಂದ ಖಾಸಗಿ ಸಂದೇಶ, ಇತ್ತೀಚಿನದು: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:756 src/fe-gtk/plugin-tray.c:764 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: ಇವರು ಕಡತವನ್ನು ನೀಡಲು ಬಯಸಿದ್ದಾರೆ: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:759 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "XChat: %u ರು ಕಡತ ನೀಡಲು ಬಯಸಿದ್ದಾರೆ, ಇತ್ತೀಚಿನದು: %s (%s)" + +#: src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "ಆವೃತ್ತಿ" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "ವಿವರಣೆ" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "ಅನುಸ್ಥಾಪಿಸಲು ಪ್ಲಗ್‌ಇನ್ ಅಥವ ಸ್ಕ್ರಿಪ್ಟನ್ನು ಆಯ್ಕೆ ಮಾಡಿ" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: ಪ್ಲಗಿನ್‍ಗಳು ಹಾಗು ಸ್ಕ್ರಿಪ್ಟುಗಳು" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "ಲೋಡ್‌ ಮಾಡು(_L)..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "ಅನ್‌ಲೋಡ್‌ ಮಾಡು(_U)" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:438 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "ಹೀಗೆ ಉಳಿಸು..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: Rawlog (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "rawlog ಅನ್ನು ಖಾಲಿಮಾಡಿ" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "ಈ ಹುಡುಕಾಟಕ್ಕಾಗಿ ನೀವು ತೆರೆದ ವಿಂಡೊವು ಈಗ ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇಲ್ಲ." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "ಹುಡುಕುವಿಕೆಯು ಕೊನೆಯನ್ನು ತಲುಪಿದೆ, ಕಂಡುಬಂದಿಲ್ಲ." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: ಹುಡುಕು" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "ಕೇಸ್ ಅನ್ನು ತಾಳೆಮಾಡು(_M)" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "ಹಿಂದಕ್ಕೆ ಹುಡುಕು(_b)" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "ಹುಡುಕು(_F)" + +#: src/fe-gtk/servlistgui.c:171 src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "ಹೊಸ ಜಾಲಬಂಧ" + +#: src/fe-gtk/servlistgui.c:558 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "ಜಾಲಬಂಧ \"%s\" ಹಾಗು ಅದರ ಎಲ್ಲಾ ಪರಿಚಾರಕಗಳನ್ನು ನಿಜವಾಗಿಯೂ ತೆಗೆದುಹಾಕಬೇಕೆ?" + +#: src/fe-gtk/servlistgui.c:740 +msgid "#channel" +msgstr "#channel" + +#: src/fe-gtk/servlistgui.c:847 +msgid "XChat: Favorite Channels (Auto-Join List)" +msgstr "XChat: ಅಚ್ಚುಮೆಚ್ಚಿನ ಚಾನಲ್‌ಗಳು (ಸ್ವಯಂ-ಸೇರ್ಪಡೆ ಪಟ್ಟಿ)" + +#: src/fe-gtk/servlistgui.c:859 +#, c-format +msgid "These channels will be joined whenever you connect to %s." +msgstr "ನೀವು %s ದೊಂದಿಗೆ ಸಂಪರ್ಕ ಸಾಧಿಸಿದಾಗ ಈ ಚಾನಲ್‌ಗಳಿಗೆ ಸೇರಿಸಲಾಗುತ್ತದೆ." + +#: src/fe-gtk/servlistgui.c:902 +msgid "Key (Password)" +msgstr "ಕೀಲಿ(ಗುಪ್ತಪದ)" + +#: src/fe-gtk/servlistgui.c:933 src/fe-gtk/servlistgui.c:1535 +msgid "_Edit" +msgstr "ಸಂಪಾದನೆ(_E)" + +#: src/fe-gtk/servlistgui.c:969 +#, c-format +msgid "%s has been removed." +msgstr "%s ಅನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ." + +#: src/fe-gtk/servlistgui.c:989 +#, c-format +msgid "%s has been added." +msgstr "%s ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ." + +#: src/fe-gtk/servlistgui.c:1013 +msgid "User name and Real name cannot be left blank." +msgstr "ಬಳಕೆದಾರ ಹೆಸರು ಹಾಗು ನಿಜವಾದ ಹೆಸರು ಇವುಗಳನ್ನು ಖಾಲಿ ಬಿಡುವಂತಿಲ್ಲ." + +#: src/fe-gtk/servlistgui.c:1366 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: %s ಅನ್ನು ಸಂಪಾದಿಸು" + +#: src/fe-gtk/servlistgui.c:1385 +#, c-format +msgid "Servers for %s" +msgstr "%s ಗಾಗಿನ ಪರಿಚಾರಕಗಳು" + +#: src/fe-gtk/servlistgui.c:1396 +msgid "Connect to selected server only" +msgstr "ಆಯ್ದ ಪರಿಚಾರಕದೊಂದಿಗೆ(ಸರ್ವರ್‍) ಮಾತ್ರ ಸಂಪರ್ಕ ಜೋಡಿಸು" + +#: src/fe-gtk/servlistgui.c:1397 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "ಸಂಪರ್ಕವು ವಿಫಲಗೊಂಡಲ್ಲಿ ಎಲ್ಲಾ ಪರಿಚಾರಕದಾದ್ಯಂತ ಆವರ್ತನಗೊಳಿಸಬೇಡ. " + +#: src/fe-gtk/servlistgui.c:1399 +msgid "Your Details" +msgstr "ನಿಮ್ಮ ವಿವರಗಳು" + +#: src/fe-gtk/servlistgui.c:1405 +msgid "Use global user information" +msgstr "ಜಾಗತಿಕ ಬಳಕೆದಾರ ಮಾಹಿತಿಯನ್ನು ಬಳಸು" + +#: src/fe-gtk/servlistgui.c:1408 src/fe-gtk/servlistgui.c:1640 +msgid "_Nick name:" +msgstr "ಅಡ್ಡ ಹೆಸರು(_N):" + +#: src/fe-gtk/servlistgui.c:1412 src/fe-gtk/servlistgui.c:1647 +msgid "Second choice:" +msgstr "ಎರಡನೆಯ ಆಯ್ಕೆ:" + +#: src/fe-gtk/servlistgui.c:1416 src/fe-gtk/servlistgui.c:1661 +msgid "_User name:" +msgstr "ಬಳಕೆದಾರ ಹೆಸರು(_U):" + +#: src/fe-gtk/servlistgui.c:1420 src/fe-gtk/servlistgui.c:1668 +msgid "Rea_l name:" +msgstr "ನಿಜವಾದ ಹೆಸರು(_l):" + +#: src/fe-gtk/servlistgui.c:1423 +msgid "Connecting" +msgstr "ಸಂಪರ್ಕಿಸುತ್ತಿದೆ" + +#: src/fe-gtk/servlistgui.c:1429 +msgid "Auto connect to this network at startup" +msgstr "ಆರಂಭಿಸಿದಾಗ ಈ ಜಾಲಬಂಧಕ್ಕೆ ತಾನಾಗಿಯೆ ಸಂಪರ್ಕಿತಗೊಳ್ಳು" + +#: src/fe-gtk/servlistgui.c:1431 +msgid "Bypass proxy server" +msgstr "ಪ್ರಾಕ್ಸಿ ಪರಿಚಾರಕವನ್ನು ಬೈಪಾಸ್ ಮಾಡು" + +#: src/fe-gtk/servlistgui.c:1433 +msgid "Use SSL for all the servers on this network" +msgstr "ಈ ಜಾಲಬಂಧದಲ್ಲಿರುವ ಎಲ್ಲಾ ಪರಿಚಾರಕಗಳಿಗಾಗಿಯೂ SSL ಅನ್ನು ಬಳಸು" + +#: src/fe-gtk/servlistgui.c:1438 +msgid "Accept invalid SSL certificate" +msgstr "ಅಮಾನ್ಯವಾದ SSL ಪ್ರಮಾಣಪತ್ರವನ್ನು ಅಂಗೀಕರಿಸು" + +#: src/fe-gtk/servlistgui.c:1444 +msgid "_Favorite channels:" +msgstr "ಅಚ್ಚುಮೆಚ್ಚಿನ ಚಾನಲ್‌ಗಳು(_F):" + +#: src/fe-gtk/servlistgui.c:1446 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "ಸೇರಬೇಕಿರುವ ಚಾನಲ್‌ಗಳ ನಡುವೆ ವಿರಾಮ ಚಿಹ್ನೆಗಳಿರಬೇಕು, ಆದರೆ ಖಾಲಿ ಜಾಗಗಳಿರುವಂತಿಲ್ಲ!" + +#: src/fe-gtk/servlistgui.c:1449 +msgid "Connect command:" +msgstr "ಸಂಪರ್ಕ ಸಾಧಿಸುವ ಆಜ್ಞೆ:" + +#: src/fe-gtk/servlistgui.c:1451 +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 "ಸಂಪರ್ಕಿತಗೊಂಡ ನಂತರ ಚಲಾಯಿಸಬೇಕಿರುವ ಹೆಚ್ಚುವರಿ ಆಜ್ಞೆ. ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚಿನದರ ಅಗತ್ಯವಿದ್ದಲ್ಲಿ, ಇದನ್ಲು LOAD -e <ಕಡತದಹೆಸರು> ಗೆ ಹೊಂದಿಸಿ, ಇಲ್ಲಿ <ಕಡತದಹೆಸರು> ಎನ್ನುವುದು ಆಜ್ಞೆಗಳಿಂದ ತುಂಬಿರುವ ಪಠ್ಯ ಕಡತವಾಗಿರುತ್ತದೆ." + +#: src/fe-gtk/servlistgui.c:1454 +msgid "Nickserv password:" +msgstr "Nickserv ಗುಪ್ತಪದ:" + +#: src/fe-gtk/servlistgui.c:1456 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "ನಿಮ್ಮ ಅಡ್ಡಹೆಸರಿಗಾಗಿ ಗುಪ್ತಪದದ ಅಗತ್ಯವಿದ್ದಲ್ಲಿ, ಇಲ್ಲಿ ನಮೂದಿಸಿ. ಎಲ್ಲಾ IRC ಜಾಲಬಂಧಗಳು ಇದನ್ನು ಬೆಂಬಲಿಲಿಸುವುದಿಲ್ಲ." + +#: src/fe-gtk/servlistgui.c:1460 +msgid "Server password:" +msgstr "ಪರಿಚಾರಕದ ಗುಪ್ತಪದ:" + +#: src/fe-gtk/servlistgui.c:1462 +msgid "Password for the server, if in doubt, leave blank." +msgstr "ಪರಿಚಾರಕಕ್ಕಾಗಿನ ಗುಪ್ತಪದ, ಅನುಮಾವವಿದ್ದಲ್ಲಿ, ಖಾಲಿ ಬಿಡಿ." + +#: src/fe-gtk/servlistgui.c:1465 +msgid "Character set:" +msgstr "ಚಿಹ್ನೆಯ ನಕ್ಷೆ:" + +#: src/fe-gtk/servlistgui.c:1618 +msgid "XChat: Network List" +msgstr "XChat: ಜಾಲಬಂಧ ಪಟ್ಟಿ" + +#: src/fe-gtk/servlistgui.c:1630 +msgid "User Information" +msgstr "ಬಳಕೆದಾರ ಮಾಹಿತಿ" + +#: src/fe-gtk/servlistgui.c:1654 +msgid "Third choice:" +msgstr "ಮೂರನೆ ಆಯ್ಕೆ:" + +#: src/fe-gtk/servlistgui.c:1714 +msgid "Networks" +msgstr "ಜಾಲಬಂಧಗಳು" + +#: src/fe-gtk/servlistgui.c:1755 +msgid "Skip network list on startup" +msgstr "ಆರಂಭಿಸುವಾಗ ಜಾಲಬಂಧ ಪಟ್ಟಿಯನ್ನು ಬಿಟ್ಟುಬಿಡು" + +#: src/fe-gtk/servlistgui.c:1787 +msgid "_Edit..." +msgstr "ಸಂಪಾದನೆ (_E)..." + +#: src/fe-gtk/servlistgui.c:1794 +msgid "_Sort" +msgstr "ವಿಂಗಡಣೆ(_S)" + +#: src/fe-gtk/servlistgui.c:1795 +msgid "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN keys to move a row." +msgstr "ಜಾಲಬಂಧದ ಪಟ್ಟಿಯನ್ನು ವರ್ಣಮಾಲೆಯ ಆಧಾರದಲ್ಲಿ ವಿಂಗಡಿಸು. ಸಾಲಿನಲ್ಲಿ ಚಲಿಸಲು SHIFT-UP ಹಾಗು SHIFT-DOWN ಅನ್ನು ಬಳಸಿ." + +#: src/fe-gtk/servlistgui.c:1820 +msgid "C_onnect" +msgstr "ಸಂಪರ್ಕ ಕಲ್ಪಿಸು (_o)" + +#: src/fe-gtk/setup.c:104 +msgid "Text Box Appearance" +msgstr "ಪಠ್ಯ ಚೌಕದ ಗೋಚರಿಕೆ" + +#: src/fe-gtk/setup.c:105 +msgid "Font:" +msgstr "ಅಕ್ಷರಶೈಲಿ:" + +#: src/fe-gtk/setup.c:106 +msgid "Background image:" +msgstr "ಹಿನ್ನಲೆ ಚಿತ್ರ:" + +#: src/fe-gtk/setup.c:107 +msgid "Scrollback lines:" +msgstr "ಸ್ಕ್ರಾಲ್‌ಬ್ಯಾಕ್‌ ಸಾಲುಗಳು:" + +#: src/fe-gtk/setup.c:108 +msgid "Colored nick names" +msgstr "ಬಣ್ಣಯುಕ್ತ ಅಡ್ಡಹೆಸರುಗಳು" + +#: src/fe-gtk/setup.c:109 +msgid "Give each person on IRC a different color" +msgstr "IRC ಯಲ್ಲಿನ ಪ್ರತಿಯೊಬ್ಬರಿಗೂ ಪ್ರತ್ಯೇಕ ಬಣ್ಣವನ್ನು ನೀಡು" + +#: src/fe-gtk/setup.c:110 +msgid "Indent nick names" +msgstr "ಅಡ್ಡಹೆಸರುಗಳನ್ನು ಇಂಡೆಂಟ್ ಮಾಡು" + +#: src/fe-gtk/setup.c:111 +msgid "Make nick names right-justified" +msgstr "ಅಡ್ಡಹೆಸರುಗಳನ್ನು ಬಲಕ್ಕೆ ಜೋಡಿಸಿ ಇರಿಸು" + +#: src/fe-gtk/setup.c:112 +msgid "Transparent background" +msgstr "ಪಾರದರ್ಶ ಹಿನ್ನಲೆ" + +#: src/fe-gtk/setup.c:113 +msgid "Show marker line" +msgstr "ಗುರುತಿನ ಗೆರೆಯನ್ನು ತೋರಿಸು" + +#: src/fe-gtk/setup.c:114 +msgid "Insert a red line after the last read text." +msgstr "ಕೊನೆಯ ಬಾರಿಗೆ ಓದಲಾದ ಪಠ್ಯದ ಕೆಳಗೆ ಕೆಂಪು ಗೆರೆಯನ್ನು ಎಳೆ." + +#: src/fe-gtk/setup.c:115 +msgid "Transparency Settings" +msgstr "ಪಾರದರ್ಶಕತೆಯ ಸಿದ್ಧತೆಗಳು" + +#: src/fe-gtk/setup.c:116 +msgid "Red:" +msgstr "ಕೆಂಪು:" + +#: src/fe-gtk/setup.c:117 +msgid "Green:" +msgstr "ಹಸಿರು:" + +#: src/fe-gtk/setup.c:118 +msgid "Blue:" +msgstr "ನೀಲಿ:" + +#: src/fe-gtk/setup.c:120 src/fe-gtk/setup.c:391 +msgid "Time Stamps" +msgstr "ಸಮಯ ಸ್ವರೂಪಗಳು" + +#: src/fe-gtk/setup.c:121 +msgid "Enable time stamps" +msgstr "ಸಮಯ ಸ್ವರೂಪವನ್ನು ಶಕ್ತಗೊಳಿಸು" + +#: src/fe-gtk/setup.c:122 +msgid "Time stamp format:" +msgstr "ಸಮಯಸ್ವರೂಪದ ವಿನ್ಯಾಸ:" + +#: src/fe-gtk/setup.c:123 src/fe-gtk/setup.c:394 +msgid "See strftime manpage for details." +msgstr "ವಿವರಗಳಿಗಾಗಿ strftime ಮ್ಯಾನ್‌ಪೇಜ್‌ ಅನ್ನು ನೋಡಿ." + +#: src/fe-gtk/setup.c:130 src/fe-gtk/setup.c:170 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:131 +msgid "Last-spoke order" +msgstr "ಕೊನೆಯದಾಗಿ ಮಾತನಾಡಿದ ಕ್ರಮ" + +#: src/fe-gtk/setup.c:137 src/fe-gtk/setup.c:1701 +msgid "Input box" +msgstr "ಇನ್‌ಪುಟ್ ಚೌಕ" + +#: src/fe-gtk/setup.c:138 src/fe-gtk/setup.c:202 +msgid "Use the Text box font and colors" +msgstr "ಪಠ್ಯ ಚೌಕದ ಅಕ್ಷರಗಳು ಹಾಗು ಬಣ್ಣಗಳನ್ನು ಬಳಸು" + +#: src/fe-gtk/setup.c:140 +msgid "Spell checking" +msgstr "ಕಾಗುಣಿತ ಪರೀಕ್ಷೆ" + +#: src/fe-gtk/setup.c:143 +msgid "Nick Completion" +msgstr "ಅಡ್ಡಹೆಸರಿನ ಪೂರ್ಣಗೊಳಿಕೆ" + +#: src/fe-gtk/setup.c:144 +msgid "Automatic nick completion (without TAB key)" +msgstr "ತಾನಾಗಿಯೆ ಅಡ್ಡಹೆಸರಿನ ಪೂರ್ಣಗೊಳಿಕೆ (ಟ್ಯಾಬ್ ಕೀಲಿ ಬಳಸದೆ)" + +#: src/fe-gtk/setup.c:146 +msgid "Nick completion suffix:" +msgstr "ಅಡ್ಡಹೆಸರು ಪೂರ್ಣಗೊಳಿಕೆಯ ಸಂಜ್ಞೆ:" + +#: src/fe-gtk/setup.c:147 +msgid "Nick completion sorted:" +msgstr "ಅಡ್ಡಹೆಸರಿನ ಪೂರ್ಣಗೊಳಿಕೆಯ ವಿಂಗಡಣೆ:" + +#: src/fe-gtk/setup.c:150 +msgid "Input Box Codes" +msgstr "ಇನ್‌ಪುಟ್ ಪೆಟ್ಟಿಗೆ ಸಂಕೇತಗಳು" + +#: src/fe-gtk/setup.c:151 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "%nnn ಅನ್ನು ASCII ಮೌಲ್ಯವಾಗಿ ಅರ್ಥೈಸು" + +#: src/fe-gtk/setup.c:152 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "%C, %B ಅನ್ನು ಬಣ್ಣ, ಬೋಲ್ಡ್ ಇತ್ಯಾದಿಯಾಗಿ ಅರ್ಥೈಸು" + +#: src/fe-gtk/setup.c:169 +msgid "A-Z, Ops first" +msgstr "A-Z, Ops ಮೊದಲಿಗೆ" + +#: src/fe-gtk/setup.c:171 +msgid "Z-A, Ops last" +msgstr "Z-A, Ops ಕೊನೆಯಲ್ಲಿ" + +#: src/fe-gtk/setup.c:172 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:173 +msgid "Unsorted" +msgstr "ವಿಂಗಡಿಸದೆ ಇರುವ" + +#: src/fe-gtk/setup.c:179 src/fe-gtk/setup.c:191 +msgid "Left (Upper)" +msgstr "ಎಡ (ಮೇಲಿನ)" + +#: src/fe-gtk/setup.c:180 src/fe-gtk/setup.c:192 +msgid "Left (Lower)" +msgstr "ಎಡ (ಕೆಳಗಿನ)" + +#: src/fe-gtk/setup.c:181 src/fe-gtk/setup.c:193 +msgid "Right (Upper)" +msgstr "ಬಲ (ಮೇಲಿನ)" + +#: src/fe-gtk/setup.c:182 src/fe-gtk/setup.c:194 +msgid "Right (Lower)" +msgstr "ಬಲ (ಕೆಳಗಿನ)" + +#: src/fe-gtk/setup.c:183 +msgid "Top" +msgstr "ಮೇಲೆ" + +#: src/fe-gtk/setup.c:184 +msgid "Bottom" +msgstr "ಕೆಳಗೆ" + +#: src/fe-gtk/setup.c:185 +msgid "Hidden" +msgstr "ಅಡಗಿಸಲಾದ" + +#: src/fe-gtk/setup.c:200 +msgid "User List" +msgstr "ಬಳಕೆದಾರರ ಪಟ್ಟಿ" + +#: src/fe-gtk/setup.c:201 +msgid "Show hostnames in user list" +msgstr "ಬಳಕೆದಾರರ ಪಟ್ಟಿಯಲ್ಲಿ ಆತಿಥೇಯ ಹೆಸರುಗಳನ್ನು ತೋರಿಸು" + +#: src/fe-gtk/setup.c:204 +msgid "User list sorted by:" +msgstr "ಇದರ ಆಧಾರದಲ್ಲಿ ವಿಭಜಿಸಲಾದ ಬಳಕೆದಾರ ಪಟ್ಟಿ:" + +#: src/fe-gtk/setup.c:205 +msgid "Show user list at:" +msgstr "ಇಲ್ಲಿರುವ ಬಳಕೆದಾರರ ಪಟ್ಟಿಯನ್ನು ತೋರಿಸು:" + +#: src/fe-gtk/setup.c:207 +msgid "Away tracking" +msgstr "ಆಚೆ ಹೋಗುವಿಕೆಯ ಜಾಡನ್ನು ಇರಿಸುವಿಕೆ" + +#: src/fe-gtk/setup.c:208 +msgid "Track the Away status of users and mark them in a different color" +msgstr "ಬಳಕೆದಾರರು ಆಚೆ ಹೋಗಿದ್ದರ ಜಾಡನ್ನು ಇರಿಸಿಕೊಳ್ಳಿ ಹಾಗು ಅವನ್ನು ಭಿನ್ನವಾದ ಬಣ್ಣದಲ್ಲಿ ಗುರುತು ಹಾಕಿ" + +#: src/fe-gtk/setup.c:209 +msgid "On channels smaller than:" +msgstr "ಇದಕ್ಕಿಂತ ಚಿಕ್ಕದಾದ ಚಾನಲ್‌ಗಳಲ್ಲಿ:" + +#: src/fe-gtk/setup.c:211 +msgid "Action Upon Double Click" +msgstr "ಎರಡು ಬಾರಿ ಕ್ಲಿಕ್ ಮಾಡಿದಾಗಿನ ಕ್ರಿಯೆ" + +#: src/fe-gtk/setup.c:223 +msgid "Windows" +msgstr "ವಿಂಡೊಗಳು" + +#: src/fe-gtk/setup.c:224 src/fe-gtk/setup.c:240 +msgid "Tabs" +msgstr "ಹಾಳೆಗಳು" + +#: src/fe-gtk/setup.c:232 +msgid "Always" +msgstr "ಯಾವಾಗಲೂ" + +#: src/fe-gtk/setup.c:233 +msgid "Only requested tabs" +msgstr "ಮನವಿ ಸಲ್ಲಿಸಲಾದ ಹಾಳೆಗಳು ಮಾತ್ರ" + +#: src/fe-gtk/setup.c:242 +msgid "Tree" +msgstr "ವೃಕ್ಷ" + +#: src/fe-gtk/setup.c:249 +msgid "Switcher type:" +msgstr "ಸ್ವಿಚರ್ ಬಗೆ:" + +#: src/fe-gtk/setup.c:250 +msgid "Open an extra tab for server messages" +msgstr "ಪರಿಚಾರಕ ಸಂದೇಶಗಳಿಗಾಗಿ ಒಂದು ಹೊಸ ಹಾಳೆಯನ್ನು ತೆರೆ" + +#: src/fe-gtk/setup.c:251 +msgid "Open an extra tab for server notices" +msgstr "ಪರಿಚಾರಕ ಸೂಚನೆಗಳಿಗಾಗಿ ಒಂದು ಹೊಸ ಹಾಳೆಯನ್ನು ತೆರೆ" + +#: src/fe-gtk/setup.c:252 +msgid "Open a new tab when you receive a private message" +msgstr "ಖಾಸಗಿ ಸಂದೇಶವು ಬಂದಾಗ ಒಂದು ಹೊಸ ಹಾಳೆಯನ್ನು ತೆರೆ" + +#: src/fe-gtk/setup.c:253 +msgid "Sort tabs in alphabetical order" +msgstr "ಹಾಳೆಗಳನ್ನು ವರ್ಣಮಾಲೆ ಅಕ್ಷರದ ಆಧಾರದಲ್ಲಿ ವಿಂಗಡಿಸಿ" + +#: src/fe-gtk/setup.c:254 +msgid "Smaller text" +msgstr "ಸಣ್ಣ ಅಕ್ಷರಗಳು" + +#: src/fe-gtk/setup.c:256 +msgid "Focus new tabs:" +msgstr "ಹೊಸ ಹಾಳೆಗಳತ್ತ ಗಮನ ಹರಿಸು:" + +#: src/fe-gtk/setup.c:258 +msgid "Show channel switcher at:" +msgstr "ಇಲ್ಲಿ ಚಾನಲ್ ಬದಲಾವಣೆಗಾರನನ್ನು ತೋರಿಸು:" + +#: src/fe-gtk/setup.c:259 +msgid "Shorten tab labels to:" +msgstr "ಹಾಳೆಯ ಲೇಬಲ್‌ ಅನ್ನು ಇಷ್ಟು ಚಿಕ್ಕದಾಗಿಸಿ" + +#: src/fe-gtk/setup.c:259 +msgid "letters." +msgstr "ಅಕ್ಷರಗಳು." + +#: src/fe-gtk/setup.c:261 +msgid "Tabs or Windows" +msgstr "ಹಾಳೆಗಳು ಹಾಗು ವಿಂಡೊಗಳು" + +#: src/fe-gtk/setup.c:262 +msgid "Open channels in:" +msgstr "ಚಾನಲ್‌ಗಳನ್ನು ಇದರಲ್ಲಿ ತೆರೆ:" + +#: src/fe-gtk/setup.c:263 +msgid "Open dialogs in:" +msgstr "ಸಂವಾದ ಚೌಕಗಳನ್ನು ಇದರಲ್ಲಿ ತೆರೆ:" + +#: src/fe-gtk/setup.c:264 +msgid "Open utilities in:" +msgstr "ಸವಲತ್ತುಗಳನ್ನು ಇದರಲ್ಲಿ ತೆರೆ:" + +#: src/fe-gtk/setup.c:264 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "DCC, ಕಡೆಗಣಿಸು, ಸೂಚಿಸು ಇತ್ಯಾದಿಗಳನ್ನು ಹೊಸ ಹಾಳೆಗಳಲ್ಲಿ ಅಥವ ವಿಂಡೊಗಳಲ್ಲಿ ತೆರೆಯಬೇಕೆ?" + +#: src/fe-gtk/setup.c:271 +msgid "No" +msgstr "ಇಲ್ಲ" + +#: src/fe-gtk/setup.c:272 +msgid "Yes" +msgstr "ಹೌದು" + +#: src/fe-gtk/setup.c:273 +msgid "Browse for save folder every time" +msgstr "ಉಳಿಸುವ ಕಡತಕೋಶಕ್ಕಾಗಿ ಪ್ರತೀಬಾರಿಯೂ ಹುಡುಕು" + +#: src/fe-gtk/setup.c:279 +msgid "Files and Directories" +msgstr "ಕಡತಗಳು ಹಾಗು ಕೋಶಗಳು" + +#: src/fe-gtk/setup.c:280 +msgid "Auto accept file offers:" +msgstr "ಕಡತವನ್ನು ನೀಡಿದಾಗ ತಾನಾಗಿಯೆ ಒಪ್ಪಿಕೊ:" + +#: src/fe-gtk/setup.c:281 +msgid "Download files to:" +msgstr "ಕಡತಗಳನ್ನು ಇಲ್ಲಿಗೆ ಡೌನ್‌ಲೋಡ್ ಮಾಡು:" + +#: src/fe-gtk/setup.c:282 +msgid "Move completed files to:" +msgstr "ಪೂರ್ಣಗೊಂಡ ಕಡತಗಳನ್ನು ಇಲ್ಲಿಗೆ ಸ್ಥಳಾಂತರಿಸು:" + +#: src/fe-gtk/setup.c:283 +msgid "Save nick name in filenames" +msgstr "ಅಡ್ಡಹೆಸರನ್ನು ಕಡತದ ಹೆಸರುಗಳಲ್ಲಿ ಉಳಿಸಿಕೊ" + +#: src/fe-gtk/setup.c:285 +msgid "Network Settings" +msgstr "ಜಾಲಬಂಧ ಸಿದ್ಧತೆಗಳು" + +#: src/fe-gtk/setup.c:286 +msgid "Get my address from the IRC server" +msgstr "IRC ಪರಿಚಾರಕದಿಂದ ನನ್ನ ವಿಳಾಸವನ್ನು ಪಡೆದುಕೊ" + +#: src/fe-gtk/setup.c:287 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "IRC ಪರಿಚಾರಕವನ್ನು ನಿಜವಾದ ವಿಳಾಸಕ್ಕಾಗಿ ಕೇಳುತ್ತದೆ. ನಿಮ್ಮಲ್ಲಿ 192.168.*.* ವಿಳಾಸವಿದ್ದಲ್ಲಿ ಇದನ್ನು ಬಳಸಿ!" + +#: src/fe-gtk/setup.c:288 +msgid "DCC IP address:" +msgstr "DCC IP ವಿಳಾಸ:" + +#: src/fe-gtk/setup.c:289 +msgid "Claim you are at this address when offering files." +msgstr "ಕಡತಗಳನ್ನು ನೀಡುತ್ತಿರುವಾಗ ನೀವು ಈ ವಿಳಾಸದಲ್ಲಿ ಇದ್ದೀರೆಂದು ತಿಳಿಸಿ" + +#: src/fe-gtk/setup.c:290 +msgid "First DCC send port:" +msgstr "ಮೊದಲ DCC ಕಳುಹಿಸುವ ಸಂಪರ್ಕಸ್ಥಾನ:" + +#: src/fe-gtk/setup.c:291 +msgid "Last DCC send port:" +msgstr "ಕೊನೆಯ DCC ಕಳುಹಿಸುವ ಸಂಪರ್ಕಸ್ಥಾನ:" + +#: src/fe-gtk/setup.c:292 +msgid "!Leave ports at zero for full range." +msgstr "!Lಸಂಪೂರ್ಣ ವ್ಯಾಪ್ತಿಗಾಗಿ ಸೊನ್ನೆಯಲ್ಲಿಯೆ ಉಳಿಸಿ." + +#: src/fe-gtk/setup.c:294 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "ಗರಿಷ್ಟ ಕಡತ ವರ್ಗಾವಣೆ ವೇಗ (ಪ್ರತಿ ಸೆಕೆಂಡುಗಳಲ್ಲಿನ ಬೈಟ್‌ಗಳು)" + +#: src/fe-gtk/setup.c:295 +msgid "One upload:" +msgstr "ಒಂದು ಅಪ್‌ಲೋಡ್:" + +#: src/fe-gtk/setup.c:296 src/fe-gtk/setup.c:298 +msgid "Maximum speed for one transfer" +msgstr "ಒಂದು ವರ್ಗಾವಣೆಗಾಗಿನ ಗರಿಷ್ಟ ವೇಗ" + +#: src/fe-gtk/setup.c:297 +msgid "One download:" +msgstr "ಒಂದು ಡೌನ್‌ಲೋಡ್:" + +#: src/fe-gtk/setup.c:299 +msgid "All uploads combined:" +msgstr "ಎಲ್ಲಾ ಅಪ್‌ಲೋಡ್‌ಗಳೂ ಸೇರಿ:" + +#: src/fe-gtk/setup.c:300 src/fe-gtk/setup.c:302 +msgid "Maximum speed for all files" +msgstr "ಎಲ್ಲಾ ಕಡತಗಳುಗಾಗಿನ ಗರಿಷ್ಟ ವೇಗ" + +#: src/fe-gtk/setup.c:301 +msgid "All downloads combined:" +msgstr "ಎಲ್ಲಾ ಡೌನ್‌ಲೋಡ್‌ಗಳನ್ನು ಒಟ್ಟಿಗೆ ಸೇರಿಸಿ:" + +#: src/fe-gtk/setup.c:329 src/fe-gtk/setup.c:1707 +msgid "Alerts" +msgstr "ಎಚ್ಚರಿಕೆಗಳು" + +#: src/fe-gtk/setup.c:333 +msgid "Show tray balloons on:" +msgstr "ಟ್ರೇ ಬಲೂನುಗಳನ್ನು ಇಲ್ಲಿ ತೋರಿಸು:" + +#: src/fe-gtk/setup.c:335 +msgid "Blink tray icon on:" +msgstr "ಈ ಸಮಯದಲ್ಲಿ ಟ್ರೇ ಚಿಹ್ನೆಯನ್ನು ಮಿನುಗಿಸು:" + +#: src/fe-gtk/setup.c:336 +msgid "Blink task bar on:" +msgstr "ಈ ಸಮಯದಲ್ಲಿ ಕಾರ್ಯಪಟ್ಟಿಯನ್ನು ಮಿನುಗಿಸು:" + +#: src/fe-gtk/setup.c:337 +msgid "Make a beep sound on:" +msgstr "ಈ ಸಮಯದಲ್ಲಿ ಬೀಪ್ ಸದ್ದೊಂದನ್ನು ಮಾಡು:" + +#: src/fe-gtk/setup.c:339 +msgid "Enable system tray icon" +msgstr "ವ್ಯವಸ್ಥೆಯ ಟ್ರೇ ಚಿಹ್ನೆಯನ್ನು ಶಕ್ತಗೊಳಿಸು" + +#: src/fe-gtk/setup.c:341 +msgid "Highlighted Messages" +msgstr "ಹೈಲೈಟ್ ಮಾಡಲಾದ ಸಂದೇಶಗಳು" + +#: src/fe-gtk/setup.c:342 +msgid "Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "ಹೈಲೈಟ್ ಮಾಡಲಾದ ಸಂದೇಶಗಳು ನಿಮ್ಮ ಅಡ್ಡಹೆಸರನ್ನು ಉಲ್ಲೇಖಿಸಲಾದವುಗಳಾಗಿರುತ್ತವೆ, ಅದರ ಜೊತೆಗೆ:" + +#: src/fe-gtk/setup.c:344 +msgid "Extra words to highlight:" +msgstr "ಹೈಲೈಟ್ ಮಾಡಲು ಹೆಚ್ಚುವರಿ ಪದಗಳು:" + +#: src/fe-gtk/setup.c:345 +msgid "Nick names not to highlight:" +msgstr "ಹೈಲೈಟ್ ಮಾಡಬೇಕಿರುವ ಅಡ್ಡಹೆಸರುಗಳು:" + +#: src/fe-gtk/setup.c:346 +msgid "Nick names to always highlight:" +msgstr "ಯಾವಾಗಲೂ ಹೈಲೈಟ್ ಮಾಡಬೇಕಿರುವ ಅಡ್ಡಹೆಸರುಗಳು:" + +#: src/fe-gtk/setup.c:347 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" +"ಅನೇಕ ಪದಗಳನ್ನು ವಿರಾಮ ಚಿಹ್ನೆಗಳ ಮೂಲಕ ಪ್ರತ್ಯೇಕಿಸಿ.\n" +"ವೈಲ್ಡ್‌ಕಾರ್ಡುಗಳಿಗೆ ಬೆಂಬಲವಿರುತ್ತದೆ." + +#: src/fe-gtk/setup.c:353 +msgid "Default Messages" +msgstr "ಪೂರ್ವನಿಯೋಜಿತ ಸಂದೇಶಗಳು" + +#: src/fe-gtk/setup.c:354 +msgid "Quit:" +msgstr "ಹೊರನಡೆ:" + +#: src/fe-gtk/setup.c:355 +msgid "Leave channel:" +msgstr "ಚಾನಲ್‌ನಿಂದ ಹೊರನಡೆಯಿರಿ:" + +#: src/fe-gtk/setup.c:356 +msgid "Away:" +msgstr "ಆಚೆ ಹೋಗಲಾಗಿದೆ:" + +#: src/fe-gtk/setup.c:358 +msgid "Away" +msgstr "ಆಚೆ ಹೋಗಲಾಗಿದೆ" + +#: src/fe-gtk/setup.c:359 +msgid "Announce away messages" +msgstr "ಆಚೆ ಹೋಗುವ ಸಂದೇಶವನ್ನು ಪ್ರಕಟಿಸಿ" + +#: src/fe-gtk/setup.c:360 +msgid "Announce your away messages to all channels" +msgstr "ನಿಮ್ಮ ಆಚೆ ಹೋಗುವ ಸಂದೇಶಗಳನ್ನು ಎಲ್ಲಾ ಚಾನಲ್‌ಗಳಿಗೂ ಪ್ರಕಟಿಸಿ" + +#: src/fe-gtk/setup.c:361 +msgid "Show away once" +msgstr "ಒಮ್ಮೆ ಮಾತ್ರ ಆಚೆಹೋದುದನ್ನು ತೋರಿಸು" + +#: src/fe-gtk/setup.c:361 +msgid "Show identical away messages only once" +msgstr "ಒಂದೇ ರೀತಿಯ ಆಚೆ ಹೋಗುವ ಸಂದೇಶವನ್ನು ಒಮ್ಮೆ ಮಾತ್ರ ತೋರಿಸು" + +#: src/fe-gtk/setup.c:362 +msgid "Automatically unmark away" +msgstr "ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆಚೆ ಹೋದುದನ್ನು ತೆಗೆದು ಹಾಕಿ" + +#: src/fe-gtk/setup.c:362 +msgid "Unmark yourself as away before sending messages" +msgstr "ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸುವ ಮೊದಲೆ ಆಚೆ ಹೋಗಲಾಗಿದೆ ಎಂಬ ಗುರುತನ್ನು ನೀವೆ ತೆಗೆದು ಹಾಕಿ" + +#: src/fe-gtk/setup.c:369 +msgid "Advanced Settings" +msgstr "ಪ್ರೌಢ ಸಿದ್ಧತೆಗಳು" + +#: src/fe-gtk/setup.c:370 +msgid "Auto reconnect delay:" +msgstr "ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸಂಪರ್ಕಿತಗೊಳ್ಳುವುದರಲ್ಲಿನ ವಿಳಂಬ:" + +#: src/fe-gtk/setup.c:371 +msgid "Display MODEs in raw form" +msgstr "MODEಗಳನ್ನು ಕಚ್ಛಾ ರೂಪದಲ್ಲಿ ತೋರಿಸು" + +#: src/fe-gtk/setup.c:372 +msgid "Whois on notify" +msgstr "ಸೂಚನೆಯಲ್ಲಿನ Whois" + +#: src/fe-gtk/setup.c:372 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "ನಿಮ್ಮ ಸೂಚನಾ ಪಟ್ಟಿಯಲ್ಲಿನ ಬಳಕೆದಾರರು ಆನ್‌ಲೈನ್ ಬಂದಾಗ /WHOIS ಸಂದೇಶವನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/fe-gtk/setup.c:373 +msgid "Hide join and part messages" +msgstr "ಸೇರ್ಪಡೆಗೊಂಡ/ಹೊರಕ್ಕೆ ತೆರಳುವ ಸಂದೇಶಗಳನ್ನು ಅಡಗಿಸು" + +#: src/fe-gtk/setup.c:373 +msgid "Hide channel join/part messages by default" +msgstr "ಚಾನಲ್‌ಗೆ ಸೇರ್ಪಡೆಗೊಂಡ/ಹೊರಕ್ಕೆ ತೆರಳುವ ಸಂದೇಶಗಳನ್ನು ಅಡಗಿಸು" + +#: src/fe-gtk/setup.c:374 +msgid "Auto Open DCC Windows" +msgstr "DCC ವಿಂಡೊಗಳನ್ನು ತಾನಾಗಿಯೆ ತೆರೆ" + +#: src/fe-gtk/setup.c:375 +msgid "Send window" +msgstr "ಕಳುಹಿಸುವ ವಿಂಡೊ" + +#: src/fe-gtk/setup.c:376 +msgid "Receive window" +msgstr "ಸ್ವೀಕರಿಸುವ ವಿಂಡೊ" + +#: src/fe-gtk/setup.c:377 +msgid "Chat window" +msgstr "ಮಾತುಕತೆಯ ವಿಂಡೊ" + +#: src/fe-gtk/setup.c:385 src/fe-gtk/setup.c:1709 +msgid "Logging" +msgstr "ದಾಖಲಾತಿ" + +#: src/fe-gtk/setup.c:386 +msgid "Display scrollback from previous session" +msgstr "ಹಿಂದಿನ ಅಧಿವೇಶನದಿಂದ ಸ್ಕ್ರಾಲ್‌ಬ್ಯಾಕನ್ನು ತೋರಿಸು" + +#: src/fe-gtk/setup.c:387 +msgid "Enable logging of conversations to disk" +msgstr "ಸಂಭಾಷಣೆಗಳನ್ನು ಡಿಸ್ಕಿಗೆ ಬರೆಯುವುದನ್ನು ಶಕ್ತಗೊಳಿಸು" + +#: src/fe-gtk/setup.c:388 +msgid "Log filename:" +msgstr "ದಾಖಲೆ ಕಡತದ ಹೆಸರು:" + +#: src/fe-gtk/setup.c:389 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=ಪರಿಚಾರಕ %c=ಚಾನಲ್ %n=ಜಾಲಬಂಧ." + +#: src/fe-gtk/setup.c:392 +msgid "Insert timestamps in logs" +msgstr "ಸಮಯಮುದ್ರೆಗಳನ್ನು ದಾಖಲೆಗಳಲ್ಲಿ ಸೇರಿಸು" + +#: src/fe-gtk/setup.c:393 +msgid "Log timestamp format:" +msgstr "ಸಮಯಮುದ್ರೆ ಸ್ವರೂಪವನ್ನು ದಾಖಲಿಸು:" + +#: src/fe-gtk/setup.c:401 +msgid "(Disabled)" +msgstr "(ಅಶಕ್ತಗೊಳಿಸಲಾದ)" + +#: src/fe-gtk/setup.c:402 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:403 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:404 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:405 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:407 +msgid "MS Proxy (ISA)" +msgstr "MS ಪ್ರಾಕ್ಸಿ (ISA)" + +#: src/fe-gtk/setup.c:414 +msgid "All Connections" +msgstr "ಎಲ್ಲಾ ಸಂಪರ್ಕಗಳು" + +#: src/fe-gtk/setup.c:415 +msgid "IRC Server Only" +msgstr "IRC ಪರಿಚಾರಕ(ಸರ್ವರ್‍) ಮಾತ್ರ" + +#: src/fe-gtk/setup.c:416 +msgid "DCC Get Only" +msgstr "DCC ಸ್ವೀಕಾರ ಮಾತ್ರ" + +#: src/fe-gtk/setup.c:422 +msgid "Your Address" +msgstr "ನಿಮ್ಮ ವಿಳಾಸ" + +#: src/fe-gtk/setup.c:423 +msgid "Bind to:" +msgstr "ಇದಕ್ಕೆ ಬೈಂಡ್ ಮಾಡು:" + +#: src/fe-gtk/setup.c:424 +msgid "Only useful for computers with multiple addresses." +msgstr "ಅನೇಕ ವಿಳಾಸವನ್ನು ಹೊಂದಿರುವ ಗಣಕಗಳಲ್ಲಿ ಮಾತ್ರ ಸಹಾಯಕವಾಗುತ್ತದೆ." + +#: src/fe-gtk/setup.c:426 +msgid "Proxy Server" +msgstr "ಪ್ರಾಕ್ಸಿ ಪರಿಚಾರಕ" + +#: src/fe-gtk/setup.c:427 +msgid "Hostname:" +msgstr "ಆತಿಥೇಯಗಣಕ:" + +#: src/fe-gtk/setup.c:428 +msgid "Port:" +msgstr "ಸಂಪರ್ಕಸ್ಥಾನ:" + +#: src/fe-gtk/setup.c:429 +msgid "Type:" +msgstr "ಬಗೆ:" + +#: src/fe-gtk/setup.c:430 +msgid "Use proxy for:" +msgstr "ಇದಕ್ಕಾಗಿ ಪ್ರಾಕ್ಸಿ ಬಳಸಿ:" + +#: src/fe-gtk/setup.c:432 +msgid "Proxy Authentication" +msgstr "ಪ್ರಾಕ್ಸಿ ದೃಢೀಕರಣ" + +#: src/fe-gtk/setup.c:434 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "ದೃಢೀಕರಣವನ್ನು ಬಳಸಿ (MS Proxy, HTTP ಅಥವ Socks5 ಅನ್ನು ಮಾತ್ರ)" + +#: src/fe-gtk/setup.c:436 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "ದೃಢೀಕರಣವನ್ನು ಬಳಸಿ (HTTP ಅಥವ Socks5 ಅನ್ನು ಮಾತ್ರ)" + +#: src/fe-gtk/setup.c:438 +msgid "Username:" +msgstr "ಬಳಕೆದಾರ ಹೆಸರು:" + +#: src/fe-gtk/setup.c:439 +msgid "Password:" +msgstr "ಗುಪ್ತಪದ:" + +#: src/fe-gtk/setup.c:870 +msgid "Select an Image File" +msgstr "ಒಂದು ಚಿತ್ರವನ್ನು ಆಯ್ದುಕೊಳ್ಳಿ" + +#: src/fe-gtk/setup.c:905 +msgid "Select Download Folder" +msgstr "ಡೌನ್‌ಲೋಡ್ ಕಡತಕೋಶವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ" + +#: src/fe-gtk/setup.c:914 +msgid "Select font" +msgstr "ಅಕ್ಷರ ಶೈಲಿಯನ್ನು ಆಯ್ದುಕೊಳ್ಳಿ" + +#: src/fe-gtk/setup.c:1014 +msgid "Browse..." +msgstr "ವೀಕ್ಷಿಸು..." + +#: src/fe-gtk/setup.c:1152 +msgid "Mark identified users with:" +msgstr "ಗುರುತಿಸಲಾದ ಬಳಕೆದಾರರನ್ನು ಇದರೊಂದಿಗೆ ಗುರುತುಹಾಕಿ: " + +#: src/fe-gtk/setup.c:1154 +msgid "Mark not-identified users with:" +msgstr "ಗುರುತಿಸದೆ ಇರುವ ಬಳಕೆದಾರರನ್ನು ಇದರೊಂದಿಗೆ ಗುರುತುಹಾಕಿ: " + +#: src/fe-gtk/setup.c:1161 +msgid "Open Data Folder" +msgstr "ದತ್ತಾಂಶವನ್ನು ಹೊಂದಿರುವ ಕಡತಕೋಶವನ್ನು ತೆರೆ" + +#: src/fe-gtk/setup.c:1215 +msgid "Select color" +msgstr "ಬಣ್ಣವನ್ನು ಆಯ್ಕೆಮಾಡಿ" + +#: src/fe-gtk/setup.c:1295 +msgid "Text Colors" +msgstr "ಪಠ್ಯ ಬಣ್ಣಗಳು" + +#: src/fe-gtk/setup.c:1297 +msgid "mIRC colors:" +msgstr "mIRC ಬಣ್ಣಗಳು:" + +#: src/fe-gtk/setup.c:1305 +msgid "Local colors:" +msgstr "ಸ್ಥಳೀಯ ಬಣ್ಣಗಳು:" + +#: src/fe-gtk/setup.c:1313 src/fe-gtk/setup.c:1318 +msgid "Foreground:" +msgstr "ಮುನ್ನೆಲೆ:" + +#: src/fe-gtk/setup.c:1314 src/fe-gtk/setup.c:1319 +msgid "Background:" +msgstr "ಹಿನ್ನಲೆ:" + +#: src/fe-gtk/setup.c:1316 +msgid "Marking Text" +msgstr "ಪಠ್ಯವನ್ನು ಗುರುತುಹಾಕುವಿಕೆ" + +#: src/fe-gtk/setup.c:1321 +msgid "Interface Colors" +msgstr "ಸಂಪರ್ಕಸಾಧನದ ಬಣ್ಣಗಳು" + +#: src/fe-gtk/setup.c:1323 +msgid "New data:" +msgstr "ಹೊಸ ದತ್ತಾಂಶ:" + +#: src/fe-gtk/setup.c:1324 +msgid "Marker line:" +msgstr "ಗುರುತಿನ ಗೆರೆ:" + +#: src/fe-gtk/setup.c:1325 +msgid "New message:" +msgstr "ಹೊಸ ಸಂದೇಶ" + +#: src/fe-gtk/setup.c:1326 +msgid "Away user:" +msgstr "ಆಚೆ ಹೋದ ಬಳಕೆದಾರ:" + +#: src/fe-gtk/setup.c:1327 +msgid "Highlight:" +msgstr "ಹೈಲೈಟ್:" + +#: src/fe-gtk/setup.c:1423 src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "ಘಟನೆ" + +#: src/fe-gtk/setup.c:1429 +msgid "Sound file" +msgstr "ಧ್ವನಿ ಕಡತ" + +#: src/fe-gtk/setup.c:1464 +msgid "Select a sound file" +msgstr "ಧ್ವನಿ ಕಡತವನ್ನು ಆಯ್ದುಕೊಳ್ಳಿ" + +#: src/fe-gtk/setup.c:1536 +msgid "Sound playing method:" +msgstr "ಸದ್ದು ಮಾಡುವ ವಿಧಾನ:" + +#: src/fe-gtk/setup.c:1544 +msgid "External sound playing _program:" +msgstr "ಸದ್ದು ಮಾಡುವ ಬಾಹ್ಯ ಪ್ರೊಗ್ರಾಮ್(_p):" + +#: src/fe-gtk/setup.c:1562 +msgid "_External program" +msgstr "ಬಾಹ್ಯ ಪ್ರೊಗ್ರಾಮ್(_E)" + +#: src/fe-gtk/setup.c:1572 +msgid "_Automatic" +msgstr "ಸ್ವಯಂಚಾಲಿತ(_A)" + +#: src/fe-gtk/setup.c:1585 +msgid "Sound files _directory:" +msgstr "ಧ್ವನಿ ಕಡತಗಳ ಕೋಶ(_d):" + +#: src/fe-gtk/setup.c:1624 +msgid "Sound file:" +msgstr "ಧ್ವನಿ ಕಡತ:" + +#: src/fe-gtk/setup.c:1639 +msgid "_Browse..." +msgstr "ಜಾಲವೀಕ್ಷಣೆ(_B)..." + +#: src/fe-gtk/setup.c:1650 +msgid "_Play" +msgstr "ಚಲಾಯಿಸು(_P)" + +#: src/fe-gtk/setup.c:1699 +msgid "Interface" +msgstr "ಸಂಪರ್ಕಸಾಧನ" + +#: src/fe-gtk/setup.c:1700 +msgid "Text box" +msgstr "ಪಠ್ಯ ಚೌಕ" + +#: src/fe-gtk/setup.c:1702 +msgid "User list" +msgstr "ಬಳಕೆದಾರರ ಪಟ್ಟಿ" + +#: src/fe-gtk/setup.c:1703 +msgid "Channel switcher" +msgstr "ಚಾನಲ್ ಬದಲಾವಣೆಗಾರ" + +#: src/fe-gtk/setup.c:1704 +msgid "Colors" +msgstr "ಬಣ್ಣಗಳು" + +#: src/fe-gtk/setup.c:1706 +msgid "Chatting" +msgstr "ಮಾತುಕತೆ" + +#: src/fe-gtk/setup.c:1708 +msgid "General" +msgstr "ಸಾಮಾನ್ಯ" + +#: src/fe-gtk/setup.c:1710 +msgid "Sound" +msgstr "ಸದ್ದು" + +#: src/fe-gtk/setup.c:1714 +msgid "Network setup" +msgstr "ಜಾಲಬಂಧ ಸಿದ್ಧತೆ" + +#: src/fe-gtk/setup.c:1715 +msgid "File transfers" +msgstr "ಕಡತ ವರ್ಗಾವಣೆಗಳು" + +#: src/fe-gtk/setup.c:1823 +msgid "Categories" +msgstr "ಪಂಗಡಗಳು" + +#: src/fe-gtk/setup.c:2007 +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 "" +"ವೃಕ್ಷವನ್ನು ನೀವು ಮೇಲೆ ಅಥವ ಕೆಳಗೆ ಇರಿಸುವಂತಿಲ್ಲ!\n" +"ದಯವಿಟ್ಟು ಮೊದಲು <b>ನೋಟ</b>ದ ಮೆನುವಿನಲ್ಲಿ <b>ಹಾಳೆಗಳ</b> ವಿನ್ಯಾಸಕ್ಕೆ ಬದಲಾಯಿಸಿ." + +#: src/fe-gtk/setup.c:2017 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "ಮಾಡಲಾದ ಕೆಲವು ಬದಲಾವಣೆಗಳು ಸಂಪೂರ್ಣವಾಗಿ ಕಾರ್ಯರೂಪಕ್ಕೆ ಬರಲು ಮರಳಿ ಆರಂಭಿಸುವ ಅಗತ್ಯವಿರುತ್ತದೆ." + +#: src/fe-gtk/setup.c:2025 +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 "" +"*ಎಚ್ಚರಿಕೆ*\n" +"DCC ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗು ನಿಮ್ಮ ನೆಲೆ ಕೋಶಕ್ಕೆ ಒಪ್ಪಿಕೊಳ್ಳುವುದು\n" +"ಅಪಾಯಕಾರಿ ಹಾಗು ಮೋಸದ ಬಳಕೆಗೆ ಕಾರಣವಾಗಬಹುದು. ಉದಾ:\n" +"ಯಾರಾದರೂ ನಿಮಗೆ ಒಂದು .bash_profile ಅನ್ನು ಕಳುಹಿಸಬಹುದು" + +#: src/fe-gtk/setup.c:2058 +msgid "XChat: Preferences" +msgstr "XChat: ಆದ್ಯತೆಗಳು" + +#: src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "ವಾಕ್ಯಾಂಶವನ್ನು ಪಾರ್ಸ್ ಮಾಡುವಲ್ಲಿ ದೋಷ ಉಂಟಾಗಿದೆ" + +#: src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "ಈ ಸಂಜ್ಞೆಯು ಕೇವಲ %d args ಅನ್ನು ರವಾನಿಸಿದೆ, $%d ಅಮಾನ್ಯವಾಗಿದೆ" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "ಪಠ್ಯ ಕಡತವನ್ನು ಮುದ್ರಿಸು" + +#: src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "ಘಟನೆಗಳನ್ನು ಸಂಪಾದಿಸು" + +#: src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$ ಸಂಖ್ಯೆ" + +#: src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "ಇದರಿಂದ ಲೋಡ್ ಮಾಡು..." + +#: src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "ಎಲ್ಲವನ್ನೂ ಪರೀಕ್ಷಿಸಿ" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: URL ಸೆಳೆದುಕೊಳ್ಳುವವ" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "ಪಟ್ಟಿಯನ್ನು ಅಳಿಸಿ ಹಾಕಿ" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "ಆಯ್ಕೆ ಮಾಡಲಾದ URL ಅನ್ನು ಕಾಪಿ ಮಾಡಿ" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "ಕಾಪಿ ಮಾಡು" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "ಪಟ್ಟಿಯನ್ನು ಕಡತಕ್ಕೆ ಉಳಿಸಿ" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d ಒಟ್ಟು" diff --git a/po/ko.po b/po/ko.po new file mode 100644 index 00000000..2d310ddf --- /dev/null +++ b/po/ko.po @@ -0,0 +1,5569 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: Jaesung <jaesung@liberotown.com>\n" +"Language-Team: Korean <translation-team-ko@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "~/.xchat2 디렉터리를 생성할 수 없습니다." + +#: src/common/cfgfiles.c:711 +msgid "I'm busy" +msgstr "바빠요~" + +#: src/common/cfgfiles.c:712 +msgid "Leaving" +msgstr "전 이만 갑니다." + +#: src/common/cfgfiles.c:759 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* IRC를 루트 계정으로 실행했습니다!!\n" +" 새로운 사용자 계정를 생성하고 로그인하여 실행하십시오.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "대기 중" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "활성" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "실패" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "확인" + +#: src/common/dcc.c:71 +#: src/fe-gtk/menu.c:928 +msgid "Connect" +msgstr "접속" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "취소됨" + +#: src/common/dcc.c:1886 +#: src/common/outbound.c:2451 +#, c-format +msgid "Cannot access %s\n" +msgstr "%s에 접근할 수 없습니다.\n" + +#: src/common/dcc.c:1887 +#: src/common/text.c:1224 +#: src/common/text.c:1262 +#: src/common/text.c:1273 +#: src/common/text.c:1280 +#: src/common/text.c:1293 +#: src/common/text.c:1310 +#: src/common/text.c:1410 +#: src/common/util.c:353 +msgid "Error" +msgstr "오류" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s님이 \"%s\"(을)를 전송합니다. 수락하시겠습니까?" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "DCC가 활성화되지 않았습니다\n" + +#: src/common/ignore.c:120 +#: src/common/ignore.c:124 +#: 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 +msgid "YES " +msgstr "예 " + +#: src/common/ignore.c:122 +#: 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 +msgid "NO " +msgstr "아니오 " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "%s님으로부터 너무 많은 CTCP 요청을 받고 있으므로 %s님을 무시합니다.\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "%s님으로부터 너무 많은 MSG 요청을 받고 있으므로 setting_gui_auto_open_dialog 값을 OFF로 설정합니다.\n" + +#: src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s 접속됨\n" + +#: src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s 종료함\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "대화에 참여하고 있지 않습니다. \"/join #대화방 제목\"으로 대화에 참여하세요.\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "접속되어 있지 않습니다. \"/server <서버 주소> [<포트>]\"명령으로 접속하세요.\n" + +#: src/common/outbound.c:338 +#, c-format +msgid "Already marked away: %s\n" +msgstr "이미 자리 비움 설정 됨: %s\n" + +#: src/common/outbound.c:411 +msgid "Already marked back.\n" +msgstr "이미 돌아옴으로 표시됨.\n" + +#: src/common/outbound.c:1777 +msgid "I need /bin/sh to run!\n" +msgstr "실행하려면 /bin/sh가 필요합니다!\n" + +#: src/common/outbound.c:2148 +msgid "Commands Available:" +msgstr "사용 가능한 명령:" + +#: src/common/outbound.c:2162 +msgid "User defined commands:" +msgstr "사용자 정의 명령:" + +#: src/common/outbound.c:2178 +msgid "Plugin defined commands:" +msgstr "플러그인 정의 명령:" + +#: src/common/outbound.c:2189 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "/HELP <명령>, 또는 /HELP -l 명령을 치면 더 많은 정보를 볼 수 있습니다." + +#: src/common/outbound.c:2274 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "'%s' 인수는 알 수 없으므로 무시합니다." + +#: src/common/outbound.c:3223 +msgid "No such plugin found.\n" +msgstr "확장 기능을 찾을 수 없습니다.\n" + +#: src/common/outbound.c:3228 +#: src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "해당 확장 기능을 제거했습니다.\n" + +#: src/common/outbound.c:3497 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <단추명> <동작>, 사용자 목록에 단추를 추가합니다. " + +#: src/common/outbound.c:3499 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <명령>, 참여 중인 모든 대화방에 명령을 수행합니다." + +#: src/common/outbound.c:3501 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <명령>, 참여 중인 모든 대화방에 명령을 수행합니다." + +#: src/common/outbound.c:3503 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <명령>. 접속 중인 모든 서버에서 명령을 수행합니다." + +#: src/common/outbound.c:3504 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<이유>], 자리 비움으로 표시합니다." + +#: src/common/outbound.c:3505 +msgid "BACK, sets you back (not away)" +msgstr "BACK, 돌아옴으로 표시 (자리 비우지 않음)" + +#: src/common/outbound.c:3507 +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 <매스크> [<형태>], 현재 대화방에서 해당되는 매스크에 속한 모든 사람을 대화에 참여하지 못하게 합니다. 만약 이미 대화방에 있다면 그들은 강제 퇴장되지 않습니다.(대화방 관리 권한 필요)" + +#: src/common/outbound.c:3508 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <변수> [<값>]" + +#: src/common/outbound.c:3510 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR [ALL|HISTORY], 현재 텍스트 창 및 명령어 기록을 지웁니다" + +#: src/common/outbound.c:3511 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, 현재 창이나 탭을 닫습니다." + +#: src/common/outbound.c:3514 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <코드|wildcard>, 국가 코드를 찾습니다. 예: au = 오스트레일리아" + +#: src/common/outbound.c:3516 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <대화명> <메시지>, CTCP 메시지를 해당 사용자에게 보냅니다. 널리 쓰이는 메시지는 VERSION과 USERINFO입니다." + +#: src/common/outbound.c:3518 +msgid "CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "CYCLE [<대화방], 현재 대화방이나 주어진 대화방을 나갔다가 바로 다시 들어옵니다." + +#: src/common/outbound.c:3520 +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 "" +"\n" +"DCC GET <대화명> - 해당 사용자에게 파일 받기를 시도합니다.\n" +"DCC SEND [-maxcps=#] <대화명> [파일] - 해당 사용자에게 파일을 전송합니다.\n" +"DCC PSEND [-maxcps=#] <대화명> [파일] - 해당 사용자에게 파일을 Passive 모드로 전송합니다.\n" +"DCC LIST - DCC 목록을 표시합니다.\n" +"DCC CHAT <대화명> - 해당 사용자와 1:1 대화를 시도합니다.\n" +"DCC PCHAT <대화명> - 해당 사용자와 1:1 대화를 Passive 모드로 시도합니다.\n" +"DCC CLOSE <명령> <대화명> <파일> 예제:\n" +" /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3532 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <대화명>, 현재 대화방에서 제한된 관리 권한을 박탈합니다.(관리 권한 필요)" + +#: src/common/outbound.c:3534 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <단추명>, 사용자 목록에서 단추를 지웁니다." + +#: src/common/outbound.c:3536 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <대화명>, 현재 대화방에서 관리 권한을 박탈합니다.(관리 권한 필요)" + +#: src/common/outbound.c:3538 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <대화명>, 현재 대화방에서 해당 사용자의 발언권을 박탈합니다.(관리 권한 필요)" + +#: src/common/outbound.c:3539 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, 서버와 연결을 끊습니다" + +#: src/common/outbound.c:3540 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <대화명|호스트|IP>, 해당 사용자의 IP주소를 찾습니다." + +#: src/common/outbound.c:3541 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <글월>, 글월을 대화창에 출력합니다." + +#: src/common/outbound.c:3544 +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] <명령>, 명령을 실행합니다. 만약 -o 인수를 사용하면 현재 대화방에 결과를 출력하고, 그렇지 않다면 자신에게만 보여줍니다." + +#: src/common/outbound.c:3546 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, 프로세스 SIGCONT를 보냅니다." + +#: src/common/outbound.c:3549 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], 현재 실행 중인 세션을 종료시킵니다. 만약 -9가 주어진다면 프로세스는 SIGKILL을 받아 강제 종료됩니다." + +#: src/common/outbound.c:3551 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, 프로세스 SIGSTOP을 보냅니다." + +#: src/common/outbound.c:3552 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, 프로세스의 표준 입력으로 데이터를 보냅니다." + +#: src/common/outbound.c:3556 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, 현재 서버에 보낼 목록을 제거합니다." + +#: src/common/outbound.c:3558 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <호스트> [<포트>], 해당 호스트를 프록시로 사용합니다. 포트의 기본값은 23입니다." + +#: src/common/outbound.c:3562 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <대화명> <암호>, 유령으로 설정된 사용자의 접속을 종료시킵니다." + +#: src/common/outbound.c:3567 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <대화명>, 해당 사용자에게 제한된 관리 권한을 부여합니다.(관리 권한 필요)" + +#: src/common/outbound.c:3568 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <암호>, 자신을 NickServ로부터 인증합니다." + +#: src/common/outbound.c:3570 +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 <매스크> <형태..> <추가 인수..>\n" +" 매스크 - 무시할 호스트 매스크, 예: *!*@*.aol.com\n" +" 형태 - 무시할 형태, 사용가능한 값:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" 추가 인수 - NOSAVE, QUIET" + +#: src/common/outbound.c:3577 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <대화명> [<대화방>], 누군가를 대화방에 초대합니다. 대화방의 기본값은 현재 대화방 입니다.(관리 권한 필요)" + +#: src/common/outbound.c:3578 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <대화방> [<암호>], 대화방에 참여합니다." + +#: src/common/outbound.c:3580 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <대화명>, 해당 사용자를 현재 대화방에서 강제 퇴장시킵니다.(관리 권한 필요)" + +#: src/common/outbound.c:3582 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <대화명>, 해당 사용자를 대화방에서 강제 퇴장시키고 다시 참여하지 못하게 합니다.(관리 권한 필요)" + +#: src/common/outbound.c:3585 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, 새로운 lag 확인" + +#: src/common/outbound.c:3587 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <문자열>, 기억 공간에서 해당 문자열을 검색합니다" + +#: src/common/outbound.c:3589 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <파일>, 추가 기능이나 혼잣말을 읽어들입니다." + +#: src/common/outbound.c:3592 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, 현재 대화방에서 모든 관리자의 권한을 박탈합니다.(관리 권한 필요)" + +#: src/common/outbound.c:3594 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, 현재 대화방에서 모든 관리자의 권한을 박탈합니다.(관리 권한 필요)" + +#: src/common/outbound.c:3596 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <행동>, 현재 대화방에서 행동을 취합니다.(행동은 3자에게 사용합니다. 예: /me 후다다닭==33 )" + +#: src/common/outbound.c:3600 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, 현재 대화방에서 모든 사람을 강제 퇴장시킵니다.(관리 권한 필요)" + +#: src/common/outbound.c:3603 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, 현재 대화방의 모든 사용자에게 관리 권한을 부여합니다.(관리 권한 필요)" + +#: src/common/outbound.c:3604 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <대화명> <메시지>, 귓속말을 보냅니다." + +#: src/common/outbound.c:3607 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, 현재 대화방에 참여하고 있는 모든 대화명을 출력합니다." + +#: src/common/outbound.c:3609 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <대화명> <메시지>, CTCP 알림 메시지를 보냅니다." + +#: src/common/outbound.c:3610 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <호스트이름> [<포트>]" + +#: src/common/outbound.c:3611 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <대화명>, 당신의 대화명을 설정하거나 변경합니다." + +#: src/common/outbound.c:3614 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <대화명/대화방> <메시지>, 공지를 보냅니다. 공지사항은 자동으로 취해지는 메시지의 형태입니다." + +#: src/common/outbound.c:3616 +msgid "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" +msgstr "NOTIFY [-n 네트워크1[,네트워크2,...]] [<대화명>], 알림 목록을 표시하거나 목록에 대화명을 추가합니다." + +#: src/common/outbound.c:3618 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <대화명>, 해당 사용자에게 대화방 관리 권한을 부여합니다.(관리 권한 필요)" + +#: src/common/outbound.c:3620 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<대화방>] [<이유>], 대화방을 나갑니다. 대화방의 기본값은 현재 대화방입니다." + +#: src/common/outbound.c:3622 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <대화명 | 대화방>, 사용자나 대화방에 CTCP 핑을 보냅니다." + +#: src/common/outbound.c:3624 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <대화명>, 누군가에 대한 새 privmsg 창을 엽니다" + +#: src/common/outbound.c:3626 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<이유>], 서버와 접속을 종료합니다." + +#: src/common/outbound.c:3628 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <텍스트>, 서버에 원시 메시지를 보냅니다." + +#: src/common/outbound.c:3631 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<호스트>] [<포트>] [<암호>], 그냥 /RECONNECT는 현재 서버를 재접속하고, /RECONNECT ALL을 사용하면 접속되어 있는 모든 서버에 재접속합니다." + +#: src/common/outbound.c:3634 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<호스트>] [<포트>] [<암호>], 그냥 /RECONNECT는 현재 서버를 재접속하고, /RECONNECT ALL을 사용하면 접속되어 있는 모든 서버에 재접속합니다." + +#: src/common/outbound.c:3636 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <텍스트>, xchat에 원시 자료를 보냈을때, 만약 IRC 서버로부터 받은 자료가 있다면 수신합니다." + +#: src/common/outbound.c:3639 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <텍스트>, 현재 창의 객체에게 텍스트를 보냅니다." + +#: src/common/outbound.c:3640 +msgid "SEND <nick> [<file>]" +msgstr "SEND <대화명> [<파일>]" + +#: src/common/outbound.c:3643 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <호스트> <포트> <대화방>, 접속 후, 대화방에 자동 참여하거나 대화방을 개설합니다." + +#: src/common/outbound.c:3646 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <호스트> <포트> <대화방>, 접속 후, 대화방에 자동 참여하거나 대화방을 개설합니다." + +#: src/common/outbound.c:3650 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <호스트> [<포트>] [<암호>], 서버에 접속합니다. 일반적인 접속의 포트는 6667이며 ssl 접속을 위해 9999를 사용합니다." + +#: src/common/outbound.c:3653 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER [-ssl] <호스트> [<포트>] [<암호>], 서버에 접속합니다. 일반적인 접속의 포트는 6667입니다." + +#: src/common/outbound.c:3655 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-or] [-quiet] <변수> [<값>]" + +#: src/common/outbound.c:3656 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<위치>" + +#: src/common/outbound.c:3661 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<주제>], 주제가 주어지면 주어진 주제를 설정하고, 그렇지 않다면 현재 주제를 보여 줍니다." + +#: src/common/outbound.c:3663 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" +"\n" +"TRAY -f <제한시간> <파일1> [<파일2>] 트레이에서 두 개의 아이콘을 깜빡이게 합니다.\n" +"TRAY -f <파일 이름> 트레이에 해당 아이콘으로 설정합니다.\n" +"TRAY -i <번호> 내장된 아이콘을 깜빡이게 합니다.\n" +"TRAY -t <텍스트> 트레이에 도움말을 표시합니다.\n" +"TRAY -b <제목> <텍스트> 트레이에 제목을 표시합니다." + +#: src/common/outbound.c:3670 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <매스크> [<매스크>...], 정의된 매스크를 입장 금지 목록에서 해제합니다." + +#: src/common/outbound.c:3671 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <매스크> [QUIET]" + +#: src/common/outbound.c:3672 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <이름>, 추가 기능이나 혼잣말의 사용을 중지합니다." + +#: src/common/outbound.c:3673 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, URL을 웹브라우저에서 엽니다." + +#: src/common/outbound.c:3675 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <대화명1> <대화명2> 기타, 대화방의 사용자 목록에서 해당 대화명을 강조하여 표시합니다." + +#: src/common/outbound.c:3678 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <대화명>, 해당 사용자에게 발언권을 부여합니다.(관리 권한 필요)" + +#: src/common/outbound.c:3680 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <메시지>, 모든 대화방에 메시지를 보냅니다." + +#: src/common/outbound.c:3682 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <메시지>, 현재 대화방의 모든 관리자에게 메시지를 보냅니다." + +#: src/common/outbound.c:3715 +#, c-format +msgid "Usage: %s\n" +msgstr "사용법: %s\n" + +#: src/common/outbound.c:3720 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"이 명령은 도움말이 없습니다..\n" + +#: src/common/outbound.c:3726 +msgid "No such command.\n" +msgstr "해당 명령이 존재하지 않습니다.\n" + +#: src/common/outbound.c:4057 +msgid "Bad arguments for user command.\n" +msgstr "사용자 명령에 잘못된 인수.\n" + +#: src/common/outbound.c:4217 +msgid "Too many recursive usercommands, aborting." +msgstr "너무 많은 사용자 명령. 취소됨." + +#: src/common/outbound.c:4300 +msgid "Unknown Command. Try /help\n" +msgstr "알 수 없는 명령. /help를 사용하십시오.\n" + +#: src/common/plugin.c:356 +#: src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "xchat_plugin_init 기호가 없음; 정말 xchat의 추가 기능입니까?" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "정말 SSL이 사용가능한 서버와 포트입니까?\n" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"호스트 이름 %s 를(을) 해석 할 수 없습니다.\n" +"당신의 IP 설정을 확인하십시오!\n" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "Proxy 연결 실패.\n" + +#: src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "%s의 다음 서버로 진행....\n" + +#: src/common/servlist.c:1094 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "경고: \"%s\" 알 수 없는 문자셋입니다. %s 네트워크에서는 문자열 변환이 적용되지 않습니다." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1님을 알림 목록에 추가했습니다." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1의 입장 금지 목록:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$t참여할 수 없음%C26 %B$1 %O(당신은 입장 금지당했습니다)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1님의 대화명은 이제 $2입니다." + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1님이 $2에 입장 금지했습니다." + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$t대화방 $1은(는) $2에 만들어졌습니다." + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O님이 %C26$2%C님에게 대화방 관리 권한을 박탈했습니다." + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O님이 %C26$2%C님에게 대화방 관리 권한을 박탈했습니다." + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O님이 %C26 $2님의 발언권을 박탈했습니다." + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1님이 $2(을)를 제거했습니다." + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O님이 %C26$2%C님에게 대화방 관리 권한을 부여했습니다." + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1의 초대 상태는 $2에 설정되었습니다." + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%U대화방 사용자 제목" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1님이 설정 $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22대화방 $1의 상태: $2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O님이 %C26$2님에게 대화방 관리 권한을 부여했습니다." + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1님이 대화방에서 $2을(를) 해제했습니다." + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1님이 $2 대화방의 초대 가능 상태를 해제했습니다." + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1님이 대화방 암호를 제거했습니다." + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1님이 사용자 제한을 해제했습니다." + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1님이 대화방 암호를 \"$2\"로 설정했습니다." + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1님이 대화방의 참여자 수를 $2명으로 제한했습니다." + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1님이 대화방 $2의 입장 금지 목록을 제거했습니다." + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O님이 %C26 $2님에게 발언권을 부여했습니다." + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22접속되었습니다. 로그인 중입니다...." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22 $1($2)의 포트 $3%O으로 접속 중입니다..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21접속 실패. 오류: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$t$2님으로부터 CTCP $1을(를) 받았습니다" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$t$2님으로부터 CTCP $1을(를) 받았습니다.($3에게)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$t$2님으로부터 CTCP Sound $1을(를) 받았습니다" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$t$2님으로부터 CTCP Sound $1을(를) 받았습니다.($3에게)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$t%C26$1님과 %ODCC CHAT이 취소되었습니다." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$t%C26$1님과 DCC CHAT 접속되었습니다 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$t%C26$1님과%O DCC CHAT의 접속이 끊김($4)." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$t$1님으로부터 DCC CHAT 요청을 받았습니다." + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$t$1님에게 DCC CHAT 요청 중입니다" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$t이미 $1님에게 요청 중입니다." + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 %C26 $2%O에 접속 실패 (err=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$t$2님으로부터 '$1%O'을(를) 받았습니다." + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 형태 송/수신 상태 크기 위치 파일 " + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$tDCC 요청을 %C26$1%O로부터 받았습니다.%010%C22*%O$t패킷의 내용: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$t%C26$2%O님에게 %C26$1%O을(를) 전송합니다." + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tDCC 제공자를 찾을 수 없습니다." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC 받기%C26 $1%O님으로부터 %C26$2%O 받기가 취소되었습니다." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tDCC 받기%C26$3%O님으로부터 %C26$1%O받기 완료 %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC 받기%C26 $1%O님과 접속됨 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC 받기%C26$3%O님에게 %C26$1%O 받기 실패 ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC 받기: $1을 쓸 수 없습니다.($2)." + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$t파일%C26 $1%C은(는) 이미 있습니다. 이름에 %C26$2%O(을)를 추가합니다." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1%O님이 파일 %C26$2%C을(를) %C26$3%C부터 이어 받기를 요청했습니다." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC 보내기%C26$1%O님에게 %C26$2%O 보내기 취소됨." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC 보내기%C26$2%O님에게 파일 %C26$1%O 보내기 완료 %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC 보내기 %C26$1%C님과 접속됨.%C30[%O$2%C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC 보내기%C26 $1%O을(를) %C26$2%O님에게 보내기 실패. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1%O님이 %C26$2%O를 보내셨습니다.(%C26$3 %Obytes)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %C지연됨 - 취소됨." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %O시간제한 - 취소됨." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1님은 알림 목록에서 삭제되었습니다." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$t접속 종료됨($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$t당신의 IP를 찾았습니다: [$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O님을 무시 목록에 추가했습니다." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "무시 목록의 %C26$1%O이(가) 변경됨." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 호스트 매스크 귓말 알림 대화 CTCP 연결 초대 무시안함 " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O님을 무시 목록에서 했습니다." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " 무시 목록이 비어 있습니다." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$t대화방%C26 %B$1에 참여할 수 없습니다. %O(대화방이 초대만 가능한 상태입니다)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$t%C26$2%O님이 당신을 대화방 %C26$1%O로 초대하고 계십니다.(%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3)님이 대화방 $2에 참여했습니다." + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$t대화방%C26 %B$1에 참여할 수 없습니다. %O(암호가 필요합니다)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1님이 $3에서 $2님을 강제 퇴장시켰습니다.(이유:$4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$t당신은 $1님으로부터 킬 당했습니다.(이유:$2%O%C22)" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22공지사항 무시됨." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t대화명 \"$1\"이 이미 사용 중입니다. \"$2\"로 재시도합니다..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$t대화명이 이미 사용 중입니다. /NICK 명령으로 다른 대화명으로 변경하십시오." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$t요청된 DCC가 없습니다." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$t현재 실행 중인 프로세스가 없습니다." + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$t알림 목록은 비어 있습니다." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B 알림 목록" + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1명의 사용자가 알림 목록에 있습니다." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$t알림: $1 오프라인입니다.($3)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$t알림: $1 온라인입니다.($3)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1님(%O%C23$2)께서 대화방 $3에서 퇴장했습니다." + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1님(%O%C23$2)께서 대화방 $3에서 퇴장했습니다.(%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$t$1으로부터 핑 회신: $2초" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$t$1초 동안 핑의 회신이 없으므로, 접속이 종료되었습니다." + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$t프로세스가 이미 실행 중입니다." + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1님 끝내셨습니다.(%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1님이 상태를 설정했습니다.%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tIP 주소 %C26 $1을(를) 찾는 중%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22접속되었습니다." + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22찾는 중 $1.." + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$t이전 접속이 중지됨 (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29 대화방 $1%C %C29의 주제는 $2입니다." + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1님이 주제를 $2(으)로 변경했습니다." + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29대화방 $1%C %C29의 주제는 $2%C %C29님이 설정했습니다.(위치: $3)" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$t알 수 없는 호스트. 입력 내용을 확인하십시오." + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$t대화방 %C26%B$1%C에 참여할 수 없습니다 %O(참여인원수 제한)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26대화방 $1의 사용자:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %C님이 자리를 비우셨습니다 %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 +#: src/common/textevents.h:372 +#: src/common/textevents.h:387 +#: src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OWHOIS 목록의 끝." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O 잠수%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O 잠수%C26 $2%O, 접속:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O실제사용자@호스트%C27 $2%O, 실제 IP%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19당신은 대화방 $2에 참여합니다" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$t당신은 $3님으로부터 $2 대화방에서 강제 퇴장당했습니다.(이유:$4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$t당신은 $3에서 퇴장했습니다" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$t당신은 $3에서 퇴장했습니다 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$t당신은 대화방 %C26$2%O로 %C26$1%O님을 초대했습니다.(%C26$3%O)" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$t당신의 대화명은 $2입니다" + +#: src/common/text.c:318 +msgid "Loaded log from" +msgstr "로그 읽어 들임. 위치:" + +#: src/common/text.c:336 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** 기록 종료 : %s\n" + +#: src/common/text.c:545 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** 기록 시작 : %s\n" + +#: src/common/text.c:564 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* 로그 파일을 열 수 없습니다. 먼저\n" +" %s/xchatlogs 파일의 권한을 확인하십시오." + +#: src/common/text.c:931 +msgid "Left message" +msgstr "왼쪽 메시지" + +#: src/common/text.c:932 +msgid "Right message" +msgstr "오른쪽 메시지" + +#: src/common/text.c:936 +msgid "The nick of the joining person" +msgstr "참여하는 사용자의 대화명" + +#: src/common/text.c:937 +msgid "The channel being joined" +msgstr "참여한 대화방" + +#: src/common/text.c:938 +#: src/common/text.c:985 +#: src/common/text.c:1036 +msgid "The host of the person" +msgstr "사용자의 호스트" + +#: src/common/text.c:942 +#: src/common/text.c:948 +#: src/common/text.c:955 +#: src/common/text.c:1143 +#: src/common/text.c:1150 +#: src/common/text.c:1155 +#: src/common/text.c:1160 +#: src/common/text.c:1165 +#: src/common/text.c:1171 +#: src/common/text.c:1176 +#: src/common/text.c:1180 +#: src/common/text.c:1186 +#: src/common/text.c:1192 +#: src/common/text.c:1238 +#: src/common/text.c:1249 +#: src/common/text.c:1254 +#: src/common/text.c:1259 +#: src/common/text.c:1268 +#: src/common/text.c:1279 +#: src/common/text.c:1286 +#: src/common/text.c:1292 +#: src/common/text.c:1297 +#: src/common/text.c:1302 +#: src/common/text.c:1309 +#: src/common/text.c:1315 +#: src/common/text.c:1321 +#: src/common/text.c:1326 +#: src/common/text.c:1331 +#: src/common/text.c:1335 +#: src/common/text.c:1341 +#: src/common/text.c:1349 +#: src/common/text.c:1383 +#: src/common/text.c:1388 +msgid "Nickname" +msgstr "대화명" + +#: src/common/text.c:943 +msgid "The action" +msgstr "행동" + +#: src/common/text.c:944 +#: src/common/text.c:950 +msgid "Mode char" +msgstr "상태" + +#: src/common/text.c:949 +msgid "The text" +msgstr "글월" + +#: src/common/text.c:951 +#: src/common/text.c:957 +msgid "Identified text" +msgstr "정보 글월" + +#: src/common/text.c:956 +#: src/common/text.c:1013 +#: src/common/text.c:1019 +msgid "The message" +msgstr "메시지" + +#: src/common/text.c:961 +#: src/common/text.c:1023 +msgid "Old nickname" +msgstr "이전 대화명" + +#: src/common/text.c:962 +#: src/common/text.c:1024 +msgid "New nickname" +msgstr "새 대화명" + +#: src/common/text.c:966 +msgid "Nick of person who changed the topic" +msgstr "주제를 변경한 사용자의 대화명" + +#: src/common/text.c:967 +#: src/common/text.c:973 +#: src/fe-gtk/chanlist.c:766 +#: src/fe-gtk/chanlist.c:869 +msgid "Topic" +msgstr "주제" + +#: src/common/text.c:968 +#: src/common/text.c:972 +#: src/common/text.c:1403 +#: src/fe-gtk/chanlist.c:764 +#: src/fe-gtk/ignoregui.c:176 +#: src/fe-gtk/servlistgui.c:892 +msgid "Channel" +msgstr "대화방" + +#: src/common/text.c:977 +#: src/common/text.c:1030 +msgid "The nickname of the kicker" +msgstr "입장 금지한 사람의 대화명" + +#: src/common/text.c:978 +#: src/common/text.c:1028 +msgid "The person being kicked" +msgstr "퇴장시킨 사람" + +#: src/common/text.c:979 +#: src/common/text.c:986 +#: src/common/text.c:990 +#: src/common/text.c:995 +#: src/common/text.c:1029 +#: src/common/text.c:1037 +#: src/common/text.c:1044 +msgid "The channel" +msgstr "대화방" + +#: src/common/text.c:980 +#: src/common/text.c:1031 +#: src/common/text.c:1038 +msgid "The reason" +msgstr "이유" + +#: src/common/text.c:984 +#: src/common/text.c:1035 +msgid "The nick of the person leaving" +msgstr "퇴장하는 사람의 대화명" + +#: src/common/text.c:991 +#: src/common/text.c:997 +msgid "The time" +msgstr "시간" + +#: src/common/text.c:996 +msgid "The creator" +msgstr "만든이" + +#: src/common/text.c:1001 +#: src/fe-gtk/dccgui.c:763 +#: src/fe-gtk/dccgui.c:996 +msgid "Nick" +msgstr "대화명" + +#: src/common/text.c:1002 +#: src/common/text.c:1255 +msgid "Reason" +msgstr "이유" + +#: src/common/text.c:1003 +#: src/common/text.c:1145 +#: src/common/text.c:1228 +msgid "Host" +msgstr "호스트" + +#: src/common/text.c:1007 +#: src/common/text.c:1012 +#: src/common/text.c:1017 +msgid "Who it's from" +msgstr "사용자의 위치" + +#: src/common/text.c:1008 +msgid "The time in x.x format (see below)" +msgstr "x.x 형태의 시간 (아래를 보십시오)" + +#: src/common/text.c:1018 +#: src/common/text.c:1055 +msgid "The Channel it's going to" +msgstr "대화방 이동" + +#: src/common/text.c:1042 +msgid "The sound" +msgstr "소리" + +#: src/common/text.c:1043 +#: src/common/text.c:1049 +#: src/common/text.c:1054 +msgid "The nick of the person" +msgstr "사용자의 대화명" + +#: src/common/text.c:1048 +#: src/common/text.c:1053 +msgid "The CTCP event" +msgstr "CTCP 이벤트" + +#: src/common/text.c:1059 +msgid "The nick of the person who set the key" +msgstr "암호를 설정한 사용자의 대화명" + +#: src/common/text.c:1060 +msgid "The key" +msgstr "암호" + +#: src/common/text.c:1064 +msgid "The nick of the person who set the limit" +msgstr "인원 제한을 설정한 사용자의 대화명" + +#: src/common/text.c:1065 +msgid "The limit" +msgstr "인원 제한" + +#: src/common/text.c:1069 +msgid "The nick of the person who did the op'ing" +msgstr "관리 권한을 주는 사용자의 대화명" + +#: src/common/text.c:1070 +msgid "The nick of the person who has been op'ed" +msgstr "관리 권한을 받는 사용자의 대화명" + +#: src/common/text.c:1074 +msgid "The nick of the person who has been halfop'ed" +msgstr "제한된 관리 권한을 받은 사용자의 대화명" + +#: src/common/text.c:1075 +msgid "The nick of the person who did the halfop'ing" +msgstr "제한된 관리 권한을 주는 사용자의 대화명" + +#: src/common/text.c:1079 +msgid "The nick of the person who did the voice'ing" +msgstr "발언권을 주는 사용자의 대화명" + +#: src/common/text.c:1080 +msgid "The nick of the person who has been voice'ed" +msgstr "발언권을 받는 사용자의 대화명" + +#: src/common/text.c:1084 +msgid "The nick of the person who did the banning" +msgstr "입장 금지 설정을 한 사용자의 대화명" + +#: src/common/text.c:1085 +#: src/common/text.c:1112 +msgid "The ban mask" +msgstr "입장 금지 매스크" + +#: src/common/text.c:1089 +msgid "The nick who removed the key" +msgstr "암호를 해제한 사용자의 대화명" + +#: src/common/text.c:1093 +msgid "The nick who removed the limit" +msgstr "인원 제한을 해제한 사용자의 대화명" + +#: src/common/text.c:1097 +msgid "The nick of the person of did the deop'ing" +msgstr "관리 권한을 박탈한 사용자의 대화명" + +#: src/common/text.c:1098 +msgid "The nick of the person who has been deop'ed" +msgstr "관리 권한을 박탈당한 사용자의 대화명" + +#: src/common/text.c:1101 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "일부 관리 권한을 박탈한 사용자의 대화명" + +#: src/common/text.c:1102 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "일부 관리 권한을 박탈당한 사용자의 대화명" + +#: src/common/text.c:1106 +msgid "The nick of the person of did the devoice'ing" +msgstr "발언권을 박탈한 사용자의 대화명" + +#: src/common/text.c:1107 +msgid "The nick of the person who has been devoice'ed" +msgstr "발언권을 박탈당한 사용자의 대화명" + +#: src/common/text.c:1111 +msgid "The nick of the person of did the unban'ing" +msgstr "입장 금지을 해제한 사용자의 대화명" + +#: src/common/text.c:1116 +msgid "The nick of the person who did the exempt" +msgstr "제외된 사용자의 대화명" + +#: src/common/text.c:1117 +#: src/common/text.c:1122 +msgid "The exempt mask" +msgstr "제외 매스크" + +#: src/common/text.c:1121 +msgid "The nick of the person removed the exempt" +msgstr "제외를 제거한 사용자의 대화명" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the invite" +msgstr "초대한 사용자의 대화명" + +#: src/common/text.c:1127 +#: src/common/text.c:1132 +msgid "The invite mask" +msgstr "초대할 매스크" + +#: src/common/text.c:1131 +msgid "The nick of the person removed the invite" +msgstr "초대전용 설정을 해제한 사용자의 대화명" + +#: src/common/text.c:1136 +msgid "The nick of the person setting the mode" +msgstr "대화방 상태를 설정한 사용자의 대화명" + +#: src/common/text.c:1137 +msgid "The mode's sign (+/-)" +msgstr "상태 설정은 (+/-) 입니다." + +#: src/common/text.c:1138 +msgid "The mode letter" +msgstr "상태 기호" + +#: src/common/text.c:1139 +msgid "The channel it's being set on" +msgstr "대화방 설정 변경" + +#: src/common/text.c:1144 +msgid "Username" +msgstr "사용자 이름" + +#: src/common/text.c:1146 +msgid "Full name" +msgstr "전체 이름" + +#: src/common/text.c:1151 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "대화방 이용자는 /\"IRC 관리자\"" + +#: src/common/text.c:1156 +msgid "Server Information" +msgstr "서버 정보" + +#: src/common/text.c:1161 +#: src/common/text.c:1166 +msgid "Idle time" +msgstr "잠수 시간" + +#: src/common/text.c:1167 +msgid "Signon time" +msgstr "접속 시간" + +#: src/common/text.c:1172 +msgid "Away reason" +msgstr "자리를 비우는 이유" + +#: src/common/text.c:1181 +#: src/common/text.c:1187 +#: src/common/text.c:1195 +#: src/common/text.c:1375 +msgid "Message" +msgstr "메시지" + +#: src/common/text.c:1188 +msgid "Account" +msgstr "계정" + +#: src/common/text.c:1193 +msgid "Real user@host" +msgstr "실제 user@host" + +#: src/common/text.c:1194 +msgid "Real IP" +msgstr "실제 IP" + +#: src/common/text.c:1199 +#: src/common/text.c:1208 +#: src/common/text.c:1214 +#: src/common/text.c:1244 +#: src/common/text.c:1398 +msgid "Channel Name" +msgstr "대화방 제목" + +#: src/common/text.c:1203 +#: src/common/text.c:1361 +#: src/fe-gtk/menu.c:1404 +#: src/fe-gtk/menu.c:1592 +#: src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "글월" + +#: src/common/text.c:1204 +#: src/common/text.c:1210 +#: src/common/text.c:1239 +#: src/common/text.c:1357 +#: src/common/text.c:1399 +msgid "Server Name" +msgstr "서버명" + +#: src/common/text.c:1209 +msgid "Nick of person who invited you" +msgstr "당신을 초대한 사용자의 대화명" + +#: src/common/text.c:1215 +#: src/fe-gtk/chanlist.c:765 +msgid "Users" +msgstr "참여자" + +#: src/common/text.c:1219 +msgid "Nickname in use" +msgstr "사용할 대화명" + +#: src/common/text.c:1220 +msgid "Nick being tried" +msgstr "대화명 다시 시도" + +#: src/common/text.c:1229 +#: src/common/text.c:1365 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1230 +#: src/common/text.c:1261 +msgid "Port" +msgstr "포트" + +#: src/common/text.c:1240 +#: src/fe-gtk/notifygui.c:139 +#: src/fe-gtk/setup.c:1713 +msgid "Network" +msgstr "네트워크" + +#: src/common/text.c:1245 +#: src/common/text.c:1250 +msgid "Modes string" +msgstr "상태 기호" + +#: src/common/text.c:1260 +#: src/common/text.c:1298 +#: src/common/text.c:1303 +#: src/common/text.c:1344 +msgid "IP address" +msgstr "IP 주소" + +#: src/common/text.c:1266 +#: src/common/text.c:1291 +msgid "DCC Type" +msgstr "DCC 형태" + +#: src/common/text.c:1267 +#: src/common/text.c:1272 +#: src/common/text.c:1277 +#: src/common/text.c:1284 +#: src/common/text.c:1304 +#: src/common/text.c:1308 +#: src/common/text.c:1314 +#: src/common/text.c:1320 +#: src/common/text.c:1327 +#: src/common/text.c:1336 +#: src/common/text.c:1342 +msgid "Filename" +msgstr "파일 이름" + +#: src/common/text.c:1278 +#: src/common/text.c:1285 +msgid "Destination filename" +msgstr "받을 위치" + +#: src/common/text.c:1287 +#: src/common/text.c:1316 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1322 +msgid "Pathname" +msgstr "경로" + +#: src/common/text.c:1337 +#: src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "위치" + +#: src/common/text.c:1343 +#: src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "크기" + +#: src/common/text.c:1348 +msgid "DCC String" +msgstr "DCC 문자" + +#: src/common/text.c:1353 +msgid "Number of notify items" +msgstr "알림 항목의 수" + +#: src/common/text.c:1369 +msgid "Old Filename" +msgstr "이전 파일 이름" + +#: src/common/text.c:1370 +msgid "New Filename" +msgstr "새 파일 이름" + +#: src/common/text.c:1374 +msgid "Receiver" +msgstr "받는 이" + +#: src/common/text.c:1379 +msgid "Hostmask" +msgstr "호스트 매스크" + +#: src/common/text.c:1384 +msgid "Hostname" +msgstr "호스트" + +#: src/common/text.c:1389 +msgid "The Packet" +msgstr "패킷" + +#: src/common/text.c:1393 +msgid "Seconds" +msgstr "초" + +#: src/common/text.c:1397 +msgid "Nick of person who have been invited" +msgstr "초대할 사용자의 대화명" + +#: src/common/text.c:1404 +msgid "Banmask" +msgstr "입장 금지 매스크" + +#: src/common/text.c:1405 +msgid "Who set the ban" +msgstr "입장 금지를 설정한 사람" + +#: src/common/text.c:1406 +msgid "Ban time" +msgstr "입장 금지 시간" + +#: src/common/text.c:1446 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"상황 %s 설정 오류.\n" +"기본값을 사용합니다." + +#: src/common/text.c:2189 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"소리 파일을 읽지 못함:\n" +"%s" + +#: src/common/util.c:297 +msgid "Remote host closed socket" +msgstr "원격 호스트에서 소켓이 닫힘" + +#: src/common/util.c:302 +msgid "Connection refused" +msgstr "접속이 거부됨" + +#: src/common/util.c:305 +msgid "No route to host" +msgstr "호스트로 갈 경로가 없음" + +#: src/common/util.c:307 +msgid "Connection timed out" +msgstr "접속 시간 제한" + +#: src/common/util.c:309 +msgid "Cannot assign that address" +msgstr "해당 주소로 접근할 수 없음" + +#: src/common/util.c:311 +msgid "Connection reset by peer" +msgstr "접속이 초기화됨" + +#: src/common/util.c:848 +msgid "Ascension Island" +msgstr "어센션 섬" + +#: src/common/util.c:849 +msgid "Andorra" +msgstr "안도라" + +#: src/common/util.c:850 +msgid "United Arab Emirates" +msgstr "아랍 국가 연합" + +#: src/common/util.c:851 +msgid "Afghanistan" +msgstr "아프카니스탄" + +#: src/common/util.c:852 +msgid "Antigua and Barbuda" +msgstr "안티과와 바부다" + +#: src/common/util.c:853 +msgid "Anguilla" +msgstr "앙귈라" + +#: src/common/util.c:854 +msgid "Albania" +msgstr "알바니아" + +#: src/common/util.c:855 +msgid "Armenia" +msgstr "아르메니아" + +#: src/common/util.c:856 +msgid "Netherlands Antilles" +msgstr "네덜란드" + +#: src/common/util.c:857 +msgid "Angola" +msgstr "앙골라" + +#: src/common/util.c:858 +msgid "Antarctica" +msgstr "안타티카" + +#: src/common/util.c:859 +msgid "Argentina" +msgstr "아르헨티나" + +#: src/common/util.c:860 +msgid "Reverse DNS" +msgstr "DNS 역추적" + +#: src/common/util.c:861 +msgid "American Samoa" +msgstr "아메리칸 사모아" + +#: src/common/util.c:862 +msgid "Austria" +msgstr "오스트리아" + +#: src/common/util.c:863 +msgid "Nato Fiel" +msgstr "북대서양 조약기구" + +#: src/common/util.c:864 +msgid "Australia" +msgstr "오스트레일리아" + +#: src/common/util.c:865 +msgid "Aruba" +msgstr "아루바" + +#: src/common/util.c:866 +msgid "Aland Islands" +msgstr "올란드 제도" + +#: src/common/util.c:867 +msgid "Azerbaijan" +msgstr "아케르바이젠" + +#: src/common/util.c:868 +msgid "Bosnia and Herzegovina" +msgstr "보스니아와 헬제고비나" + +#: src/common/util.c:869 +msgid "Barbados" +msgstr "발바도스" + +#: src/common/util.c:870 +msgid "Bangladesh" +msgstr "방글라데시" + +#: src/common/util.c:871 +msgid "Belgium" +msgstr "벨기에" + +#: src/common/util.c:872 +msgid "Burkina Faso" +msgstr "버키나 패소" + +#: src/common/util.c:873 +msgid "Bulgaria" +msgstr "불가리아" + +#: src/common/util.c:874 +msgid "Bahrain" +msgstr "바레인" + +#: src/common/util.c:875 +msgid "Burundi" +msgstr "버런디" + +#: src/common/util.c:876 +msgid "Businesses" +msgstr "비지니스" + +#: src/common/util.c:877 +msgid "Benin" +msgstr "베닌" + +#: src/common/util.c:878 +msgid "Bermuda" +msgstr "버뮤다" + +#: src/common/util.c:879 +msgid "Brunei Darussalam" +msgstr "브루나이 달루살람" + +#: src/common/util.c:880 +msgid "Bolivia" +msgstr "볼리비아" + +#: src/common/util.c:881 +msgid "Brazil" +msgstr "브라질" + +#: src/common/util.c:882 +msgid "Bahamas" +msgstr "바하마" + +#: src/common/util.c:883 +msgid "Bhutan" +msgstr "부탄" + +#: src/common/util.c:884 +msgid "Bouvet Island" +msgstr "부벳섬" + +#: src/common/util.c:885 +msgid "Botswana" +msgstr "보스와나" + +#: src/common/util.c:886 +msgid "Belarus" +msgstr "베라루스" + +#: src/common/util.c:887 +msgid "Belize" +msgstr "베리제" + +#: src/common/util.c:888 +msgid "Canada" +msgstr "카나다" + +#: src/common/util.c:889 +msgid "Cocos Islands" +msgstr "코코스 섬" + +#: src/common/util.c:890 +msgid "Democratic Republic of Congo" +msgstr "콩고(Democratic Republic fo)" + +#: src/common/util.c:891 +msgid "Central African Republic" +msgstr "중앙 아프리카 공화국" + +#: src/common/util.c:892 +msgid "Congo" +msgstr "콩고" + +#: src/common/util.c:893 +msgid "Switzerland" +msgstr "스위스" + +#: src/common/util.c:894 +msgid "Cote d'Ivoire" +msgstr "코테 드이보르" + +#: src/common/util.c:895 +msgid "Cook Islands" +msgstr "쿡 섬" + +#: src/common/util.c:896 +msgid "Chile" +msgstr "칠레" + +#: src/common/util.c:897 +msgid "Cameroon" +msgstr "카메룬" + +#: src/common/util.c:898 +msgid "China" +msgstr "중국" + +#: src/common/util.c:899 +msgid "Colombia" +msgstr "콜롬비아" + +#: src/common/util.c:900 +msgid "Internic Commercial" +msgstr "상업용 인터닉" + +#: src/common/util.c:901 +msgid "Costa Rica" +msgstr "코스타리카" + +#: src/common/util.c:902 +msgid "Serbia and Montenegro" +msgstr "세르비아와 몬테니그로" + +#: src/common/util.c:903 +msgid "Cuba" +msgstr "쿠바" + +#: src/common/util.c:904 +msgid "Cape Verde" +msgstr "카보베르데" + +#: src/common/util.c:905 +msgid "Christmas Island" +msgstr "크리스마스 섬" + +#: src/common/util.c:906 +msgid "Cyprus" +msgstr "키프로스 공화국" + +#: src/common/util.c:907 +msgid "Czech Republic" +msgstr "체코 공화국" + +#: src/common/util.c:908 +msgid "Germany" +msgstr "독일" + +#: src/common/util.c:909 +msgid "Djibouti" +msgstr "동아프리카 공화국 - 지부티" + +#: src/common/util.c:910 +msgid "Denmark" +msgstr "덴마크" + +#: src/common/util.c:911 +msgid "Dominica" +msgstr "도미니카" + +#: src/common/util.c:912 +msgid "Dominican Republic" +msgstr "도미니카 공확국" + +#: src/common/util.c:913 +msgid "Algeria" +msgstr "알제리아" + +#: src/common/util.c:914 +msgid "Ecuador" +msgstr "에콰도르" + +#: src/common/util.c:915 +msgid "Educational Institution" +msgstr "교육 재단" + +#: src/common/util.c:916 +msgid "Estonia" +msgstr "에스토니아" + +#: src/common/util.c:917 +msgid "Egypt" +msgstr "이집트" + +#: src/common/util.c:918 +msgid "Western Sahara" +msgstr "서사하라" + +#: src/common/util.c:919 +msgid "Eritrea" +msgstr "에리트리아" + +#: src/common/util.c:920 +msgid "Spain" +msgstr "스페인" + +#: src/common/util.c:921 +msgid "Ethiopia" +msgstr "에디오피아" + +#: src/common/util.c:922 +msgid "European Union" +msgstr "유렵국가 연합" + +#: src/common/util.c:923 +msgid "Finland" +msgstr "핀란드" + +#: src/common/util.c:924 +msgid "Fiji" +msgstr "피지" + +#: src/common/util.c:925 +msgid "Falkland Islands" +msgstr "포크랜드섬" + +#: src/common/util.c:926 +msgid "Micronesia" +msgstr "마이크로네시아" + +#: src/common/util.c:927 +msgid "Faroe Islands" +msgstr "파로에섬" + +#: src/common/util.c:928 +msgid "France" +msgstr "프랑스" + +#: src/common/util.c:929 +msgid "Gabon" +msgstr "가봉" + +#: src/common/util.c:930 +msgid "Great Britain" +msgstr "영국" + +#: src/common/util.c:931 +msgid "Grenada" +msgstr "그레나다" + +#: src/common/util.c:932 +msgid "Georgia" +msgstr "죠지아" + +#: src/common/util.c:933 +msgid "French Guiana" +msgstr "프랑스령 귀아나" + +#: src/common/util.c:934 +msgid "British Channel Isles" +msgstr "영국령 섬" + +#: src/common/util.c:935 +msgid "Ghana" +msgstr "가나" + +#: src/common/util.c:936 +msgid "Gibraltar" +msgstr "지브롤터" + +#: src/common/util.c:937 +msgid "Greenland" +msgstr "그린랜드" + +#: src/common/util.c:938 +msgid "Gambia" +msgstr "잠비아" + +#: src/common/util.c:939 +msgid "Guinea" +msgstr "기니" + +#: src/common/util.c:940 +msgid "Government" +msgstr "정부" + +#: src/common/util.c:941 +msgid "Guadeloupe" +msgstr "과들루프" + +#: src/common/util.c:942 +msgid "Equatorial Guinea" +msgstr "적도 기니" + +#: src/common/util.c:943 +msgid "Greece" +msgstr "그리스" + +#: src/common/util.c:944 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "성 죠지아와 성 샌드위치 섬" + +#: src/common/util.c:945 +msgid "Guatemala" +msgstr "과테말라" + +#: src/common/util.c:946 +msgid "Guam" +msgstr "괌" + +#: src/common/util.c:947 +msgid "Guinea-Bissau" +msgstr "기니비사우" + +#: src/common/util.c:948 +msgid "Guyana" +msgstr "가이아나" + +#: src/common/util.c:949 +msgid "Hong Kong" +msgstr "홍콩" + +#: src/common/util.c:950 +msgid "Heard and McDonald Islands" +msgstr "맥도날드 섬과 허드" + +#: src/common/util.c:951 +msgid "Honduras" +msgstr "온두라스" + +#: src/common/util.c:952 +msgid "Croatia" +msgstr "크로아티아" + +#: src/common/util.c:953 +msgid "Haiti" +msgstr "하이티" + +#: src/common/util.c:954 +msgid "Hungary" +msgstr "헝가리" + +#: src/common/util.c:955 +msgid "Indonesia" +msgstr "인도네시아" + +#: src/common/util.c:956 +msgid "Ireland" +msgstr "아일랜드" + +#: src/common/util.c:957 +msgid "Israel" +msgstr "이스라엘" + +#: src/common/util.c:958 +msgid "Isle of Man" +msgstr "맨 섬" + +#: src/common/util.c:959 +msgid "India" +msgstr "인도" + +#: src/common/util.c:960 +msgid "Informational" +msgstr "정보" + +#: src/common/util.c:961 +msgid "International" +msgstr "국제" + +#: src/common/util.c:962 +msgid "British Indian Ocean Territory" +msgstr "인도양" + +#: src/common/util.c:963 +msgid "Iraq" +msgstr "이라크" + +#: src/common/util.c:964 +msgid "Iran" +msgstr "이란" + +#: src/common/util.c:965 +msgid "Iceland" +msgstr "아이스랜드" + +#: src/common/util.c:966 +msgid "Italy" +msgstr "이탈리아" + +#: src/common/util.c:967 +msgid "Jersey" +msgstr "저지 섬" + +#: src/common/util.c:968 +msgid "Jamaica" +msgstr "자메이카" + +#: src/common/util.c:969 +msgid "Jordan" +msgstr "죠단" + +#: src/common/util.c:970 +msgid "Japan" +msgstr "일본" + +#: src/common/util.c:971 +msgid "Kenya" +msgstr "케냐" + +#: src/common/util.c:972 +msgid "Kyrgyzstan" +msgstr "키르기스 공화국" + +#: src/common/util.c:973 +msgid "Cambodia" +msgstr "캄보디아" + +#: src/common/util.c:974 +msgid "Kiribati" +msgstr "키리바티" + +#: src/common/util.c:975 +msgid "Comoros" +msgstr "코모로스" + +#: src/common/util.c:976 +msgid "St. Kitts and Nevis" +msgstr "성 키티와 네비스" + +#: src/common/util.c:977 +msgid "North Korea" +msgstr "조선 민주주의 인민공화국" + +#: src/common/util.c:978 +msgid "South Korea" +msgstr "대한민국" + +#: src/common/util.c:979 +msgid "Kuwait" +msgstr "쿠웨이트" + +#: src/common/util.c:980 +msgid "Cayman Islands" +msgstr "케이멘 군도" + +#: src/common/util.c:981 +msgid "Kazakhstan" +msgstr "카자흐스탄" + +#: src/common/util.c:982 +msgid "Laos" +msgstr "라오스" + +#: src/common/util.c:983 +msgid "Lebanon" +msgstr "레바논" + +#: src/common/util.c:984 +msgid "Saint Lucia" +msgstr "성 루시아" + +#: src/common/util.c:985 +msgid "Liechtenstein" +msgstr "리히텐슈타인" + +#: src/common/util.c:986 +msgid "Sri Lanka" +msgstr "스리랑카" + +#: src/common/util.c:987 +msgid "Liberia" +msgstr "리베리아" + +#: src/common/util.c:988 +msgid "Lesotho" +msgstr "레소토" + +#: src/common/util.c:989 +msgid "Lithuania" +msgstr "리투아니아" + +#: src/common/util.c:990 +msgid "Luxembourg" +msgstr "룩셈부르크" + +#: src/common/util.c:991 +msgid "Latvia" +msgstr "라비타" + +#: src/common/util.c:992 +msgid "Libya" +msgstr "리비아" + +#: src/common/util.c:993 +msgid "Morocco" +msgstr "모로코" + +#: src/common/util.c:994 +msgid "Monaco" +msgstr "모나코" + +#: src/common/util.c:995 +msgid "Moldova" +msgstr "몰도바" + +#: src/common/util.c:996 +msgid "United States Medical" +msgstr "미국 의료" + +#: src/common/util.c:997 +msgid "Madagascar" +msgstr "마다가스카르" + +#: src/common/util.c:998 +msgid "Marshall Islands" +msgstr "마샬 섬" + +#: src/common/util.c:999 +msgid "Military" +msgstr "국방" + +#: src/common/util.c:1000 +msgid "Macedonia" +msgstr "마케도니아" + +#: src/common/util.c:1001 +msgid "Mali" +msgstr "말리" + +#: src/common/util.c:1002 +msgid "Myanmar" +msgstr "미얀마" + +#: src/common/util.c:1003 +msgid "Mongolia" +msgstr "몽고" + +#: src/common/util.c:1004 +msgid "Macau" +msgstr "마카오" + +#: src/common/util.c:1005 +msgid "Northern Mariana Islands" +msgstr "노턴 마리아나 섬" + +#: src/common/util.c:1006 +msgid "Martinique" +msgstr "마르티니크" + +#: src/common/util.c:1007 +msgid "Mauritania" +msgstr "모리타니아" + +#: src/common/util.c:1008 +msgid "Montserrat" +msgstr "몬테세라트" + +#: src/common/util.c:1009 +msgid "Malta" +msgstr "말타" + +#: src/common/util.c:1010 +msgid "Mauritius" +msgstr "모리셔스" + +#: src/common/util.c:1011 +msgid "Maldives" +msgstr "말디브" + +#: src/common/util.c:1012 +msgid "Malawi" +msgstr "말라위" + +#: src/common/util.c:1013 +msgid "Mexico" +msgstr "멕시코" + +#: src/common/util.c:1014 +msgid "Malaysia" +msgstr "말레이지아" + +#: src/common/util.c:1015 +msgid "Mozambique" +msgstr "모잠비크" + +#: src/common/util.c:1016 +msgid "Namibia" +msgstr "나미비아" + +#: src/common/util.c:1017 +msgid "New Caledonia" +msgstr "뉴 칼레도니아" + +#: src/common/util.c:1018 +msgid "Niger" +msgstr "나이제르" + +#: src/common/util.c:1019 +msgid "Internic Network" +msgstr "인터닉 네트워크" + +#: src/common/util.c:1020 +msgid "Norfolk Island" +msgstr "노퍽 섬" + +#: src/common/util.c:1021 +msgid "Nigeria" +msgstr "나이지리아" + +#: src/common/util.c:1022 +msgid "Nicaragua" +msgstr "니카르과" + +#: src/common/util.c:1023 +msgid "Netherlands" +msgstr "네덜란드" + +#: src/common/util.c:1024 +msgid "Norway" +msgstr "노르웨이" + +#: src/common/util.c:1025 +msgid "Nepal" +msgstr "네팔" + +#: src/common/util.c:1026 +msgid "Nauru" +msgstr "나우루" + +#: src/common/util.c:1027 +msgid "Niue" +msgstr "나우에섬" + +#: src/common/util.c:1028 +msgid "New Zealand" +msgstr "뉴질랜드" + +#: src/common/util.c:1029 +msgid "Oman" +msgstr "오만" + +#: src/common/util.c:1030 +msgid "Internic Non-Profit Organization" +msgstr "인터닉 비영리 기관" + +#: src/common/util.c:1031 +msgid "Panama" +msgstr "파나마" + +#: src/common/util.c:1032 +msgid "Peru" +msgstr "페루" + +#: src/common/util.c:1033 +msgid "French Polynesia" +msgstr "프랑스령 폴리네시아" + +#: src/common/util.c:1034 +msgid "Papua New Guinea" +msgstr "파푸아 뉴기니" + +#: src/common/util.c:1035 +msgid "Philippines" +msgstr "필리핀" + +#: src/common/util.c:1036 +msgid "Pakistan" +msgstr "파키스탄" + +#: src/common/util.c:1037 +msgid "Poland" +msgstr "폴란드" + +#: src/common/util.c:1038 +msgid "St. Pierre and Miquelon" +msgstr "성 피에르와 미퀘론" + +#: src/common/util.c:1039 +msgid "Pitcairn" +msgstr "핏케언 제도" + +#: src/common/util.c:1040 +msgid "Puerto Rico" +msgstr "푸에르토 리코" + +#: src/common/util.c:1041 +msgid "Palestinian Territory" +msgstr "팔레스타인 자치구" + +#: src/common/util.c:1042 +msgid "Portugal" +msgstr "포르투칼" + +#: src/common/util.c:1043 +msgid "Palau" +msgstr "팔라우" + +#: src/common/util.c:1044 +msgid "Paraguay" +msgstr "파라과이" + +#: src/common/util.c:1045 +msgid "Qatar" +msgstr "콰타르" + +#: src/common/util.c:1046 +msgid "Reunion" +msgstr "레위니옹" + +#: src/common/util.c:1047 +msgid "Romania" +msgstr "로마니아" + +#: src/common/util.c:1048 +msgid "Old School ARPAnet" +msgstr "옛 ARPAnet" + +#: src/common/util.c:1049 +msgid "Russian Federation" +msgstr "러시아 연합" + +#: src/common/util.c:1050 +msgid "Rwanda" +msgstr "르완다" + +#: src/common/util.c:1051 +msgid "Saudi Arabia" +msgstr "사우디 아라비아" + +#: src/common/util.c:1052 +msgid "Solomon Islands" +msgstr "솔로몬 섬" + +#: src/common/util.c:1053 +msgid "Seychelles" +msgstr "시실리" + +#: src/common/util.c:1054 +msgid "Sudan" +msgstr "수단" + +#: src/common/util.c:1055 +msgid "Sweden" +msgstr "스웨덴" + +#: src/common/util.c:1056 +msgid "Singapore" +msgstr "싱가폴" + +#: src/common/util.c:1057 +msgid "St. Helena" +msgstr "성 헬레네" + +#: src/common/util.c:1058 +msgid "Slovenia" +msgstr "슬로베니아" + +#: src/common/util.c:1059 +msgid "Svalbard and Jan Mayen Islands" +msgstr "스발바르와 잔 마옌 군도" + +#: src/common/util.c:1060 +msgid "Slovak Republic" +msgstr "슬로바키아 공화국" + +#: src/common/util.c:1061 +msgid "Sierra Leone" +msgstr "시에라리온" + +#: src/common/util.c:1062 +msgid "San Marino" +msgstr "산마리노" + +#: src/common/util.c:1063 +msgid "Senegal" +msgstr "세네갈" + +#: src/common/util.c:1064 +msgid "Somalia" +msgstr "소말리아" + +#: src/common/util.c:1065 +msgid "Suriname" +msgstr "수리남" + +#: src/common/util.c:1066 +msgid "Sao Tome and Principe" +msgstr "상토메와 프린시페" + +#: src/common/util.c:1067 +msgid "Former USSR" +msgstr "옛 소비에트 연방" + +#: src/common/util.c:1068 +msgid "El Salvador" +msgstr "엘살바도르" + +#: src/common/util.c:1069 +msgid "Syria" +msgstr "시리아" + +#: src/common/util.c:1070 +msgid "Swaziland" +msgstr "스와질랜드" + +#: src/common/util.c:1071 +msgid "Turks and Caicos Islands" +msgstr "터크스카이코스 제도" + +#: src/common/util.c:1072 +msgid "Chad" +msgstr "차드" + +#: src/common/util.c:1073 +msgid "French Southern Territories" +msgstr "프랑스 남부 지역" + +#: src/common/util.c:1074 +msgid "Togo" +msgstr "토고 공화국" + +#: src/common/util.c:1075 +msgid "Thailand" +msgstr "타이" + +#: src/common/util.c:1076 +msgid "Tajikistan" +msgstr "타지크스탄" + +#: src/common/util.c:1077 +msgid "Tokelau" +msgstr "토켈라우 제도" + +#: src/common/util.c:1078 +#: src/common/util.c:1082 +msgid "East Timor" +msgstr "동 티모르" + +#: src/common/util.c:1079 +msgid "Turkmenistan" +msgstr "투르크메니스탄" + +#: src/common/util.c:1080 +msgid "Tunisia" +msgstr "튀니지" + +#: src/common/util.c:1081 +msgid "Tonga" +msgstr "통가" + +#: src/common/util.c:1083 +msgid "Turkey" +msgstr "터키" + +#: src/common/util.c:1084 +msgid "Trinidad and Tobago" +msgstr "트리니다드 토바고" + +#: src/common/util.c:1085 +msgid "Tuvalu" +msgstr "투발루" + +#: src/common/util.c:1086 +msgid "Taiwan" +msgstr "대만" + +#: src/common/util.c:1087 +msgid "Tanzania" +msgstr "탄자니아" + +#: src/common/util.c:1088 +msgid "Ukraine" +msgstr "우크라이나" + +#: src/common/util.c:1089 +msgid "Uganda" +msgstr "우간다" + +#: src/common/util.c:1090 +msgid "United Kingdom" +msgstr "영국" + +#: src/common/util.c:1091 +msgid "United States of America" +msgstr "미국" + +#: src/common/util.c:1092 +msgid "Uruguay" +msgstr "우르과이" + +#: src/common/util.c:1093 +msgid "Uzbekistan" +msgstr "우즈베키스탄" + +#: src/common/util.c:1094 +msgid "Vatican City State" +msgstr "바티칸 시국" + +#: src/common/util.c:1095 +msgid "St. Vincent and the Grenadines" +msgstr "성 빈센트와 그레너딘즈 제도" + +#: src/common/util.c:1096 +msgid "Venezuela" +msgstr "베네주엘라" + +#: src/common/util.c:1097 +msgid "British Virgin Islands" +msgstr "영국령 버진 섬" + +#: src/common/util.c:1098 +msgid "US Virgin Islands" +msgstr "미국 버진 섬" + +#: src/common/util.c:1099 +msgid "Vietnam" +msgstr "베트남" + +#: src/common/util.c:1100 +msgid "Vanuatu" +msgstr "바누아투" + +#: src/common/util.c:1101 +msgid "Wallis and Futuna Islands" +msgstr "윌리스와 푸투나 군도" + +#: src/common/util.c:1102 +msgid "Samoa" +msgstr "시모아" + +#: src/common/util.c:1103 +msgid "Yemen" +msgstr "예멘" + +#: src/common/util.c:1104 +msgid "Mayotte" +msgstr "마요트" + +#: src/common/util.c:1105 +msgid "Yugoslavia" +msgstr "유고슬라비아" + +#: src/common/util.c:1106 +msgid "South Africa" +msgstr "남아프리카 공화국" + +#: src/common/util.c:1107 +msgid "Zambia" +msgstr "잠비아" + +#: src/common/util.c:1108 +msgid "Zimbabwe" +msgstr "짐바브웨" + +#: src/common/util.c:1118 +#: src/common/util.c:1128 +#: src/fe-gtk/menu.c:611 +msgid "Unknown" +msgstr "알 수 없음" + +#: src/common/xchat.c:726 +msgid "_Open Dialog Window" +msgstr "귓속말 창 열기(_O)" + +#: src/common/xchat.c:727 +msgid "_Send a File" +msgstr "파일 전송(_S)" + +#: src/common/xchat.c:728 +msgid "_User Info (WhoIs)" +msgstr "사용자 정보(_U)(WhoIs)" + +#: src/common/xchat.c:729 +msgid "_Add to Friends List" +msgstr "친구 목록에 추가(_A)" + +#: src/common/xchat.c:730 +msgid "O_perator Actions" +msgstr "관리자 명령(_P)" + +#: src/common/xchat.c:732 +msgid "Give Ops" +msgstr "관리 권한 주기" + +#: src/common/xchat.c:733 +msgid "Take Ops" +msgstr "관리 권한 박탈" + +#: src/common/xchat.c:734 +msgid "Give Voice" +msgstr "발언권 주기" + +#: src/common/xchat.c:735 +msgid "Take Voice" +msgstr "발언권 뺏기" + +#: src/common/xchat.c:737 +msgid "Kick/Ban" +msgstr "퇴장/입장 금지" + +#: src/common/xchat.c:738 +#: src/common/xchat.c:775 +msgid "Kick" +msgstr "퇴장" + +#: src/common/xchat.c:739 +#: src/common/xchat.c:740 +#: src/common/xchat.c:741 +#: src/common/xchat.c:742 +#: src/common/xchat.c:743 +#: src/common/xchat.c:774 +msgid "Ban" +msgstr "입장 금지" + +#: src/common/xchat.c:744 +#: src/common/xchat.c:745 +#: src/common/xchat.c:746 +#: src/common/xchat.c:747 +msgid "KickBan" +msgstr "퇴장 후 입장 금지" + +#: src/common/xchat.c:757 +msgid "Leave Channel" +msgstr "대화방 나가기" + +#: src/common/xchat.c:758 +msgid "Join Channel..." +msgstr "대화 참여..." + +#: src/common/xchat.c:759 +#: src/fe-gtk/menu.c:1281 +msgid "Enter Channel to Join:" +msgstr "참여할 대화방 입력:" + +#: src/common/xchat.c:760 +msgid "Server Links" +msgstr "서버 연결" + +#: src/common/xchat.c:761 +msgid "Ping Server" +msgstr "서버에 핑" + +#: src/common/xchat.c:762 +msgid "Hide Version" +msgstr "버전 숨기기" + +#: src/common/xchat.c:772 +msgid "Op" +msgstr "관리 권한" + +#: src/common/xchat.c:773 +msgid "DeOp" +msgstr "관리권 뺏기" + +#: src/common/xchat.c:776 +msgid "bye" +msgstr "안녕" + +#: src/common/xchat.c:777 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "%s님을 강제로 퇴장시키는 이유:" + +#: src/common/xchat.c:778 +msgid "Sendfile" +msgstr "파일 보내기" + +#: src/common/xchat.c:779 +msgid "Dialog" +msgstr "귓속말" + +#: src/common/xchat.c:788 +msgid "WhoIs" +msgstr "사용자 정보" + +#: src/common/xchat.c:789 +msgid "Send" +msgstr "보내기" + +#: src/common/xchat.c:790 +msgid "Chat" +msgstr "대화" + +#: src/common/xchat.c:791 +#: src/fe-gtk/banlist.c:413 +#: src/fe-gtk/ignoregui.c:389 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "비우기" + +#: src/common/xchat.c:792 +msgid "Ping" +msgstr "핑" + +#: src/common/dbus/dbus-client.c:72 +msgid "Couldn't connect to session bus" +msgstr "세션 버스에 접속하 수 없습니다." + +#: src/common/dbus/dbus-client.c:86 +msgid "Failed to complete NameHasOwner" +msgstr "NameHasOwner를 마치는 데 실패했습니다" + +#: src/common/dbus/dbus-client.c:112 +msgid "Failed to complete Command" +msgstr "Command를 마치는 데 실패했습니다" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "원격 접근" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "DBUS을 이용한 원격 추가 기능 " + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "세션 버스에 접속하 수 없습니다: %s\n" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "%s 얻기 실패: %s\n" + +#: src/fe-gtk/about.c:102 +msgid "About " +msgstr "정보" + +#: src/fe-gtk/about.c:133 +msgid "A multiplatform IRC Client" +msgstr "다중 환경의 IRC 클라이언트" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "문자표" + +#: src/fe-gtk/banlist.c:151 +#: src/fe-gtk/chanlist.c:305 +#: src/fe-gtk/plugin-tray.c:302 +msgid "Not connected." +msgstr "접속되어 있지 않습니다." + +#: src/fe-gtk/banlist.c:249 +#: src/fe-gtk/banlist.c:329 +msgid "You must select some bans." +msgstr "먼저 입장 금지 목록에서 선택 하십시오." + +#: src/fe-gtk/banlist.c:278 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "정말 대화방 %s에서 모든 추방자를 제거 하시겠습니까?" + +#: src/fe-gtk/banlist.c:344 +#: src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "매스크" + +#: src/fe-gtk/banlist.c:345 +msgid "From" +msgstr "보낸 이" + +#: src/fe-gtk/banlist.c:346 +msgid "Date" +msgstr "날짜" + +#: src/fe-gtk/banlist.c:389 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "대화방 탭에서만 입장 금지 목록을 열 수 있습니다." + +#: src/fe-gtk/banlist.c:393 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: 입장 금지 목록 (%s)" + +#: src/fe-gtk/banlist.c:409 +#: src/fe-gtk/notifygui.c:432 +msgid "Remove" +msgstr "제거" + +#: src/fe-gtk/banlist.c:411 +msgid "Crop" +msgstr "잘라내기" + +#: src/fe-gtk/banlist.c:415 +msgid "Refresh" +msgstr "다시" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "%d/%d 사용자 (%d/%d 대화방) 표시." + +#: src/fe-gtk/chanlist.c:526 +#: src/fe-gtk/menu.c:1217 +#: src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "출력할 파일을 선택하십시오." + +#: src/fe-gtk/chanlist.c:631 +#: src/fe-gtk/chanlist.c:799 +msgid "_Join Channel" +msgstr "대화방 참여(_J)" + +#: src/fe-gtk/chanlist.c:633 +msgid "_Copy Channel Name" +msgstr "대화방 제목 복사(_C)" + +#: src/fe-gtk/chanlist.c:635 +msgid "Copy _Topic Text" +msgstr "제목 복사(_T)" + +#: src/fe-gtk/chanlist.c:724 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: 대화방 목록 (%s)" + +#: src/fe-gtk/chanlist.c:781 +msgid "_Search" +msgstr "찾기(_S)" + +#: src/fe-gtk/chanlist.c:787 +msgid "_Download List" +msgstr "받기 목록(_D):" + +#: src/fe-gtk/chanlist.c:793 +msgid "Save _List..." +msgstr "목록 저장(_L)..." + +#: src/fe-gtk/chanlist.c:806 +msgid "Show only:" +msgstr "보기:" + +#: src/fe-gtk/chanlist.c:818 +msgid "channels with" +msgstr "대화방, " + +#: src/fe-gtk/chanlist.c:831 +msgid "to" +msgstr " " + +#: src/fe-gtk/chanlist.c:843 +msgid "users." +msgstr "사용자." + +#: src/fe-gtk/chanlist.c:849 +msgid "Look in:" +msgstr "보기:" + +#: src/fe-gtk/chanlist.c:861 +msgid "Channel name" +msgstr "대화방 제목" + +#: src/fe-gtk/chanlist.c:882 +msgid "Search type:" +msgstr "찾기 종류:" + +#: src/fe-gtk/chanlist.c:889 +msgid "Simple Search" +msgstr "간단히 검색" + +#: src/fe-gtk/chanlist.c:890 +msgid "Pattern Match (Wildcards)" +msgstr "일치할 패턴 (와일드카드)" + +#: src/fe-gtk/chanlist.c:892 +msgid "Regular Expression" +msgstr "정규 표현" + +#: src/fe-gtk/chanlist.c:903 +#: src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "찾기:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "%s님에게 파일 보내기" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "그 파일은 이어 받을 수 없습니다." + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"파일에 접근할 수 없습니다: %s\n" +"%s.\n" +"이어받기가 불가능합니다." + +#: src/fe-gtk/dccgui.c:507 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "받을 디렉터리의 파일이 전송 받을 파일보다 큽니다. 이어 받기는 불가능합니다." + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "두 사람에게서 같은 파일을 받을 경우 이어 받을 수 없습니다." + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: 업로드/다운로드" + +#: src/fe-gtk/dccgui.c:756 +#: src/fe-gtk/dccgui.c:995 +#: src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "상태" + +#: src/fe-gtk/dccgui.c:757 +#: src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "파일" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:787 +#: src/fe-gtk/menu.c:1593 +msgid "Both" +msgstr "모두" + +#: src/fe-gtk/dccgui.c:793 +msgid "Uploads" +msgstr "보내기" + +#: src/fe-gtk/dccgui.c:799 +msgid "Downloads" +msgstr "받기" + +#: src/fe-gtk/dccgui.c:804 +msgid "Details" +msgstr "자세히" + +#: src/fe-gtk/dccgui.c:815 +msgid "File:" +msgstr "파일:" + +#: src/fe-gtk/dccgui.c:816 +msgid "Address:" +msgstr "주소:" + +#: src/fe-gtk/dccgui.c:822 +#: src/fe-gtk/dccgui.c:1019 +msgid "Abort" +msgstr "취소" + +#: src/fe-gtk/dccgui.c:823 +#: src/fe-gtk/dccgui.c:1020 +msgid "Accept" +msgstr "허용" + +#: src/fe-gtk/dccgui.c:824 +msgid "Resume" +msgstr "이어받기" + +#: src/fe-gtk/dccgui.c:825 +msgid "Open Folder..." +msgstr "디렉터리 열기..." + +#: src/fe-gtk/dccgui.c:985 +msgid "XChat: DCC Chat List" +msgstr "XChat: DCC 대화 목록" + +#: src/fe-gtk/dccgui.c:997 +msgid "Recv" +msgstr "받음" + +#: src/fe-gtk/dccgui.c:998 +msgid "Sent" +msgstr "보냄" + +#: src/fe-gtk/dccgui.c:999 +msgid "Start Time" +msgstr "시작 시간" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*새로 만듦*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "수정해 주세요" + +#: src/fe-gtk/editlist.c:310 +#: src/fe-gtk/notifygui.c:137 +#: src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "이름" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "명령" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "위로" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "아래로" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "취소" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "저장" + +#: src/fe-gtk/editlist.c:363 +#: src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "새로 추가" + +#: src/fe-gtk/editlist.c:367 +#: src/fe-gtk/fkeys.c:770 +#: src/fe-gtk/ignoregui.c:387 +msgid "Delete" +msgstr "삭제" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "정렬" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "도움말" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "서버에 자동으로 접속하지 않기" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "다른 설정 디렉터리 사용" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "추가 기능을 사용하지 않음" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "자동으로 실행된 추가 기능보기" + +#: src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "사용자 설정 디렉터리 보기" + +#: src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "irc://서버:포트/대화방 형태의 URL을 엽니다." + +#: src/fe-gtk/fe-gtk.c:133 +#: src/fe-gtk/setup.c:212 +msgid "Execute command:" +msgstr "접속시 명령:" + +#: src/fe-gtk/fe-gtk.c:134 +msgid "Open URL or execute command in an existing XChat" +msgstr "실행 중인 XChat에서 URL 혹은 실행 커맨드 열기" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "최소화 시작. 단계 0=보통 1=아이콘화 2=알림영역" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "level" +msgstr "레벨" + +#: src/fe-gtk/fe-gtk.c:137 +msgid "Show version information" +msgstr "버전 정보 표시" + +#: src/fe-gtk/fe-gtk.c:257 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"글꼴 읽기 실패:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:636 +msgid "Search buffer is empty.\n" +msgstr "검색할 기억 공간이 비어 있습니다.\n" + +#: src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "%d bytes" +msgstr "%d 바이트" + +#: src/fe-gtk/fe-gtk.c:733 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "네트워크 전송 큐: %d Bytes" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n" +" characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "" +"명령어 실행 명령은 데이터 1의 명령을 입력 창에 입력한 것처럼 실행합니다. 즉 데이터 1에는 일반 텍스트가 들어갈 수도 있고 (이 경우 대화방이나 어떤 사람에게 그대로 전달됩니다), 명령어나 사용자 명령이 들어갈 수도 있습니다. 모든 데이터 1의 \\n" +" 문자로 명령어를 구분하면 여러 개 명령어를 실행할 수도 있습니다. 실제 텍스트로 \\로 쓰려면 \\\\라고 쓰면 됩니다." + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "페이지 바꾸기 명령은 노트북의 페이지를 바꿉니다. 데이터 1을 이동하려는 페이지 번호로 설정하십시오. 데이터 2를 아무 값으로든 설정하면 현재 위치의 상대 위치로 이동합니다." + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "버퍼에 입력 명령은 데이터 1의 내용을 마치 현재 커서 위치에 키로 입력한 것처럼 입력 창에 넣습니다." + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "페이지 스크롤 명령은 텍스트 창을 한 페이지나 한 줄 단위로 위 아래로 스크롤합니다. 데이터 1은 위나 아래로 +1 혹은 -1처럼 설정할 수 있습니다." + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "버퍼 설정 명령은 입력창의 내용을 데이터 1의 내용으로 설정합니다." + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "최근 명령 명령은 입력 창의 내용을 최근에 입력한 명령어로 설정합니다. 쉘에서 위 화살표 키를 누른 것과 같습니다." + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "다음 명령 명령은 입력 창의 내용을 다음 명령으로 설정합니다. 쉘에서 아래 화살표 키를 누른 것과 같습니다." + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "이 명령은 입력 창의 텍스트를 대화명이나 명령어로 완성합니다. 데이터 1을 설정하면 문자열에 탭을 두번 누르는 경우에 다음 대화명이 아니라 최근 대화명을 선택합니다." + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "이 명령은 대화명 목록의 스크롤을 올리거나 내립니다. 만약 데이터 1을 어떤 값으로든 설정하면 스크롤을 올리고, 아닐 경우 내립니다." + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "이 명령은 입력 창에서 입력한 마지막 단어를 목록의 단어와 비교해서 일치하면 다른 단어로 바꿉니다." + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "이 명령은 앞의 탭을 왼쪽으로 이동 시킵니다." + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "이 명령은 앞의 탭을 오른쪽으로 이동 시킵니다." + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "이 명령은 현재 탭을 왼쪽으로 이동 시킵니다." + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "이 명령은 현재 탭을 오른쪽으로 이동 시킵니다." + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "입력된 줄은 기록은 했지만 서버로 전송하지 못했습니다." + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "단축키 연결 설정 읽는중 오류가 발생 했습니다." + +#: src/fe-gtk/fkeys.c:450 +#: src/fe-gtk/fkeys.c:451 +#: src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 +#: src/fe-gtk/fkeys.c:743 +#: src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 +#: src/fe-gtk/maingui.c:1635 +#: src/fe-gtk/maingui.c:1751 +#: src/fe-gtk/maingui.c:3252 +msgid "<none>" +msgstr "<없음>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "상태" + +#: src/fe-gtk/fkeys.c:708 +#: src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "단축키" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "동작" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: 단축키" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "데이터 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "데이터 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "단축키 설정파일 열기 실패\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"단축키 설정파일의 %s은(는) 알 수 없는 키입니다.\n" +"읽기가 취소되었습니다. %s/keybindings 파일을 수정 하십시오.\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"단축키 설정파일의 %s은(는) 알 수 없는 행동입니다.\n" +"읽기가 취소되었습니다. %s/keybindings 파일을 수정 하십시오.\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"데이터 는 (Dx{:|!}로 시작되는) 기대한 것과 같지만 :\n" +"%s\n" +"\n" +"읽기가 취소되었습니다. %s/keybindings 파일을 수정 하십시오.\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"단축키 설정파일이 올바르지 않아서, 읽기를 취소 했습니다.\n" +"%s/keybindings.conf 파일을 수정 하십시오.\n" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "해당 파일을 쓸 수 없습니다." + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "해당 파일은 열 수 없습니다." + +#: src/fe-gtk/ignoregui.c:117 +#: src/fe-gtk/ignoregui.c:264 +msgid "That mask already exists." +msgstr "해당 매스크가 이미 존재합니다." + +#: src/fe-gtk/ignoregui.c:177 +#: src/fe-gtk/maingui.c:2132 +msgid "Private" +msgstr "개인:" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "알림" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "초대" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "무시해제" + +#: src/fe-gtk/ignoregui.c:308 +msgid "Enter mask to ignore:" +msgstr "무시할 매스크 입력:" + +#: src/fe-gtk/ignoregui.c:355 +msgid "XChat: Ignore list" +msgstr "XChat: 무시 목록" + +#: src/fe-gtk/ignoregui.c:362 +msgid "Ignore Stats:" +msgstr "무시 상태:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Channel:" +msgstr "대화방:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Private:" +msgstr "개인:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Notice:" +msgstr "알림:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:374 +msgid "Invite:" +msgstr "초대:" + +#: src/fe-gtk/ignoregui.c:385 +#: src/fe-gtk/notifygui.c:428 +msgid "Add..." +msgstr "추가..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "대화방 제목이 너무 짧습니다. 다시 시도하십시오." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: 접속 완료" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "%s에 접속 완료." + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "서버 목록창에서, 자동으로 참여할 대화방(대화방)이 이 네트워크에는 없습니다." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "다음에는 무엇을 하시겠습니까?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "아무것도 안 함. 다음에 대화방에 입장하겠습니다.(_N)." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "이 대화방에 참여(_J):" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "대화방 제목을 알고 있다면, 이곳에 입력하십시오." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "대화방 목록 창 열기(_P)." + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "대화방 목록을 받는 중입니다. 잠시만 기다려 주십시오." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "접속 후 이 창을 항상 표시합니다.(_A)." + +#: src/fe-gtk/maingui.c:506 +msgid "Dialog with" +msgstr "귓속말" + +#: src/fe-gtk/maingui.c:793 +#, c-format +msgid "Topic for %s is: %s" +msgstr "대화방 %s의 주제는 %s입니다." + +#: src/fe-gtk/maingui.c:798 +msgid "No topic is set" +msgstr "주제가 정해져 있지 않습니다." + +#: src/fe-gtk/maingui.c:1182 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "이 서버는 %d개의 대화방이나 사용자와 연결되어 있습니다. 모두 닫으시겠습니까?" + +#: src/fe-gtk/maingui.c:1276 +msgid "Quit XChat?" +msgstr "XChat을 끝내시겠습니까?" + +#: src/fe-gtk/maingui.c:1297 +msgid "Don't ask next time." +msgstr "다음에 물어보지 않기." + +#: src/fe-gtk/maingui.c:1303 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "%i개의 IRC 네트워크에 접속되어 있습니다." + +#: src/fe-gtk/maingui.c:1305 +msgid "Are you sure you want to quit?" +msgstr "정말로 끝내시겠습니까?" + +#: src/fe-gtk/maingui.c:1307 +msgid "Some file transfers are still active." +msgstr "아직 파일 전송이 진행 중입니다." + +#: src/fe-gtk/maingui.c:1325 +msgid "_Minimize to Tray" +msgstr "알림 영역으로 최소화(_M)" + +#: src/fe-gtk/maingui.c:1545 +msgid "Insert Attribute or Color Code" +msgstr "색상 코드나 속성 삽입" + +#: src/fe-gtk/maingui.c:1547 +msgid "<b>Bold</b>" +msgstr "<b>굵게</b>" + +#: src/fe-gtk/maingui.c:1548 +msgid "<u>Underline</u>" +msgstr "<u>밑줄</u>" + +#: src/fe-gtk/maingui.c:1550 +msgid "Normal" +msgstr "보통" + +#: src/fe-gtk/maingui.c:1552 +msgid "Colors 0-7" +msgstr "색상 0-7" + +#: src/fe-gtk/maingui.c:1562 +msgid "Colors 8-15" +msgstr "색상 8-15" + +#: src/fe-gtk/maingui.c:1605 +msgid "_Settings" +msgstr "설정(_E)" + +#: src/fe-gtk/maingui.c:1607 +msgid "_Log to Disk" +msgstr "디스크에 기록(_L)" + +#: src/fe-gtk/maingui.c:1608 +msgid "_Reload Scrollback" +msgstr "이전 대화 내용을 다시 읽음(_R)" + +#: src/fe-gtk/maingui.c:1610 +msgid "_Hide Join/Part Messages" +msgstr "입장/퇴장 메시지 숨김(_H)" + +#: src/fe-gtk/maingui.c:1618 +msgid "_Extra Alerts" +msgstr "알림(_E)" + +#: src/fe-gtk/maingui.c:1620 +msgid "Beep on _Message" +msgstr "메시지 비프음(_M)" + +#: src/fe-gtk/maingui.c:1621 +msgid "Blink Tray _Icon" +msgstr "알림 영역 아이콘 깜빡거림(_I)" + +#: src/fe-gtk/maingui.c:1622 +msgid "Blink Task _Bar" +msgstr "작업 표시줄 깜빡거림" + +#: src/fe-gtk/maingui.c:1660 +#: src/fe-gtk/menu.c:2124 +msgid "_Detach" +msgstr "탭 분리(_D)" + +#: src/fe-gtk/maingui.c:1662 +#: src/fe-gtk/menu.c:2125 +#: src/fe-gtk/menu.c:2130 +#: src/fe-gtk/plugingui.c:236 +#: src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "닫기(_C)" + +#: src/fe-gtk/maingui.c:2000 +#: src/fe-gtk/maingui.c:2106 +msgid "User limit must be a number!\n" +msgstr "사용자 제한은 숫자만 입력할 수 있습니다.\n" + +#: src/fe-gtk/maingui.c:2128 +msgid "Topic Protection" +msgstr "주제 잠금" + +#: src/fe-gtk/maingui.c:2129 +msgid "No outside messages" +msgstr "외부 메시지 받지 않음" + +#: src/fe-gtk/maingui.c:2130 +msgid "Secret" +msgstr "비밀방" + +#: src/fe-gtk/maingui.c:2131 +msgid "Invite Only" +msgstr "초대만 가능" + +#: src/fe-gtk/maingui.c:2133 +msgid "Moderated" +msgstr "중재식 대화" + +#: src/fe-gtk/maingui.c:2134 +msgid "Ban List" +msgstr "입장 금지 목록" + +#: src/fe-gtk/maingui.c:2136 +msgid "Keyword" +msgstr "암호" + +#: src/fe-gtk/maingui.c:2148 +msgid "User Limit" +msgstr "사용자 제한" + +#: src/fe-gtk/maingui.c:2257 +msgid "Show/Hide userlist" +msgstr "사용자 목록을 표시하거나 숨깁니다." + +#: src/fe-gtk/maingui.c:2382 +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 "" +"배경을 투명하게 할 수 없습니다!\n" +"\n" +"현재 사용하는 창 관리자에서는 호환되지 않습니다.\n" +"현재로서는 해당 창 관리자는 지원하지 않습니다.\n" + +#: src/fe-gtk/maingui.c:2653 +msgid "Enter new nickname:" +msgstr "새 대화명 입력:" + +#: src/fe-gtk/menu.c:126 +msgid "Host unknown" +msgstr "알 수 없는 호스트" + +#: src/fe-gtk/menu.c:610 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:616 +#: src/fe-gtk/menu.c:620 +msgid "Real Name:" +msgstr "실제 이름:" + +#: src/fe-gtk/menu.c:624 +msgid "User:" +msgstr "사용자:" + +#: src/fe-gtk/menu.c:628 +msgid "Country:" +msgstr "국가:" + +#: src/fe-gtk/menu.c:632 +msgid "Server:" +msgstr "서버:" + +#: src/fe-gtk/menu.c:640 +#, c-format +msgid "%u minutes ago" +msgstr "%u분 전" + +#: src/fe-gtk/menu.c:642 +#: src/fe-gtk/menu.c:645 +msgid "Last Msg:" +msgstr "마지막 메시지:" + +#: src/fe-gtk/menu.c:655 +msgid "Away Msg:" +msgstr "자리 비움 메시지:" + +#: src/fe-gtk/menu.c:710 +#, c-format +msgid "%d nicks selected." +msgstr "%d개의 대화명이 선택됨." + +#: src/fe-gtk/menu.c:835 +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 "메뉴 막대를 숨깁니다. 다시 보시려면 F9를 누르거나 메인 창에서 마우스 오른쪽 단추를 누르십시오." + +#: src/fe-gtk/menu.c:930 +msgid "Open Link in Browser" +msgstr "브라우저로 열기" + +#: src/fe-gtk/menu.c:931 +msgid "Copy Selected Link" +msgstr "선택한 링크 복사" + +#: src/fe-gtk/menu.c:993 +#: src/fe-gtk/menu.c:1264 +msgid "Join Channel" +msgstr "대화 참여" + +#: src/fe-gtk/menu.c:997 +msgid "Part Channel" +msgstr "대화방 나가기" + +#: src/fe-gtk/menu.c:999 +msgid "Cycle Channel" +msgstr "나갔다 들어오기" + +#: src/fe-gtk/menu.c:1035 +msgid "_Remove from Favorites" +msgstr "즐겨 찾는 대화방에서 제거" + +#: src/fe-gtk/menu.c:1037 +msgid "_Add to Favorites" +msgstr "즐겨 찾기에 추가(_A)" + +#: src/fe-gtk/menu.c:1056 +msgid "XChat: User menu" +msgstr "XChat: 사용자 메뉴" + +#: src/fe-gtk/menu.c:1065 +msgid "Edit This Menu..." +msgstr "이 항목 편집..." + +#: src/fe-gtk/menu.c:1266 +msgid "Retrieve channel list..." +msgstr "대화방 목록 가져오기..." + +#: src/fe-gtk/menu.c:1334 +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 = xchat 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 "" +"사용자 명령 - 특수 코드:\n" +"\n" +"%c = 현재 대화방\n" +"%e = 현재 네트워크 이름\n" +"%m = 컴퓨터 정보\n" +"%n = 대화명\n" +"%t = 날짜/시각\n" +"%v = xchat 버전\n" +"%2 = 단어 2\n" +"%3 = 단어 3\n" +"&2 = 단어 2부터 줄 끝까지\n" +"&3 = 단어 3부터 줄 끝까지\n" +"\n" +"예:\n" +"/cmd john hello\n" +"\n" +"%2는 \"john\"이고\n" +"&2는 \"john hello\"입니다." + +#: src/fe-gtk/menu.c:1350 +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 "" +"사용자 목록 단추 - 특수 코드:\n" +"\n" +"%a = 선택한 대화명 전체\n" +"%c = 현재 대화방\n" +"%e = 현재 네트워크 이름\n" +"%h = 선택한 대화명의 호스트 이름\n" +"%m = 컴퓨터 정보\n" +"%n = 대화명\n" +"%s = 선택한 대화명\n" +"%t = 날짜/시각\n" + +#: src/fe-gtk/menu.c:1360 +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 "" +"대화 상자 단추 - 특수 코드:\n" +"\n" +"%a = 선택한 대화명 전체\n" +"%c = 현재 대화방\n" +"%e = 현재 네트워크 이름\n" +"%h = 선택한 대화명의 호스트 이름\n" +"%m = 컴퓨터 정보\n" +"%n = 대화명\n" +"%s = 선택한 대화명\n" +"%t = 날짜/시간\n" + +#: src/fe-gtk/menu.c:1370 +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 "" +"CTCP 응답 - 특수 코드:\n" +"\n" +"%d = 데이터 (전체 CTCP)\n" +"%e = 현재 네트워크 이름\n" +"%m = 컴퓨터 정보\n" +"%s = CTCP를 보낸 대화명\n" +"%t = 날짜/시각\n" +"%2 = 단어 2\n" +"%3 = 단어 3\n" +"&2 = 단어 2에서 줄 끝까지\n" +"&3 = 단어 3에서 줄 끝까지\n" +"\n" + +#: src/fe-gtk/menu.c:1381 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"URL 관리자 - 기능 코드:\n" +"\n" +"%s = URL 문자열\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" + +#: src/fe-gtk/menu.c:1390 +msgid "XChat: User Defined Commands" +msgstr "XChat: 사용자 정의 명령" + +#: src/fe-gtk/menu.c:1397 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: 사용자 팝업 메뉴" + +#: src/fe-gtk/menu.c:1404 +msgid "Replace with" +msgstr "바꿀글월" + +#: src/fe-gtk/menu.c:1404 +msgid "XChat: Replace" +msgstr "XChat: 바꾸기" + +#: src/fe-gtk/menu.c:1411 +msgid "XChat: URL Handlers" +msgstr "XChat: URL 관리기" + +#: src/fe-gtk/menu.c:1430 +msgid "XChat: Userlist buttons" +msgstr "XChat: 사용자 목록 단추" + +#: src/fe-gtk/menu.c:1437 +msgid "XChat: Dialog buttons" +msgstr "XChat: 단추" + +#: src/fe-gtk/menu.c:1444 +msgid "XChat: CTCP Replies" +msgstr "XChat: CTCP 회신" + +#: src/fe-gtk/menu.c:1550 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1551 +msgid "Network Li_st..." +msgstr "네트워크 목록(_S)..." + +#: src/fe-gtk/menu.c:1554 +msgid "_New" +msgstr "새로 만들기(_N)" + +#: src/fe-gtk/menu.c:1555 +msgid "Server Tab..." +msgstr "서버 탭..." + +#: src/fe-gtk/menu.c:1556 +msgid "Channel Tab..." +msgstr "대화방 탭..." + +#: src/fe-gtk/menu.c:1557 +msgid "Server Window..." +msgstr "서버 창..." + +#: src/fe-gtk/menu.c:1558 +msgid "Channel Window..." +msgstr "대화방 창..." + +#: src/fe-gtk/menu.c:1563 +#: src/fe-gtk/menu.c:1565 +msgid "_Load Plugin or Script..." +msgstr "추가 기능이나 혼잣말 열기(_L)..." + +#: src/fe-gtk/menu.c:1573 +#: src/fe-gtk/plugin-tray.c:604 +msgid "_Quit" +msgstr "종료(_Q)" + +#: src/fe-gtk/menu.c:1575 +msgid "_View" +msgstr "보기(_V)" + +#: src/fe-gtk/menu.c:1577 +msgid "_Menu Bar" +msgstr "메뉴 모음(_M)" + +#: src/fe-gtk/menu.c:1578 +msgid "_Topic Bar" +msgstr "제목 표시줄(_T)" + +#: src/fe-gtk/menu.c:1579 +msgid "_User List" +msgstr "사용자 목록(_U)" + +#: src/fe-gtk/menu.c:1580 +msgid "U_serlist Buttons" +msgstr "사용자 목록 단추(_S)" + +#: src/fe-gtk/menu.c:1581 +msgid "M_ode Buttons" +msgstr "상태 단추(_O)" + +#: src/fe-gtk/menu.c:1583 +msgid "_Channel Switcher" +msgstr "서버/대화방 표시 형태(_C)" + +#: src/fe-gtk/menu.c:1585 +msgid "_Tabs" +msgstr "탭(_T)" + +#: src/fe-gtk/menu.c:1586 +msgid "T_ree" +msgstr "트리(_R)" + +#: src/fe-gtk/menu.c:1588 +msgid "_Network Meters" +msgstr "네트워크 미터 표시(_N)" + +#: src/fe-gtk/menu.c:1590 +msgid "Off" +msgstr "끔" + +#: src/fe-gtk/menu.c:1591 +msgid "Graph" +msgstr "그래프" + +#: src/fe-gtk/menu.c:1596 +msgid "_Server" +msgstr "서버(_S)" + +#: src/fe-gtk/menu.c:1597 +msgid "_Disconnect" +msgstr "접속 해제(_D)" + +#: src/fe-gtk/menu.c:1598 +msgid "_Reconnect" +msgstr "다시 접속(_R)" + +#: src/fe-gtk/menu.c:1599 +msgid "Join a Channel..." +msgstr "대화 참여..." + +#: src/fe-gtk/menu.c:1600 +msgid "List of Channels..." +msgstr "대화방 목록..." + +#: src/fe-gtk/menu.c:1603 +msgid "Marked Away" +msgstr "자리 비움으로 표시" + +#: src/fe-gtk/menu.c:1605 +msgid "_Usermenu" +msgstr "사용자 메뉴(_U)" + +#: src/fe-gtk/menu.c:1607 +msgid "S_ettings" +msgstr "설정(_E)" + +#: src/fe-gtk/menu.c:1608 +msgid "_Preferences" +msgstr "기본 설정(_P)" + +#: src/fe-gtk/menu.c:1610 +msgid "Advanced" +msgstr "고급 기능" + +#: src/fe-gtk/menu.c:1611 +msgid "Auto Replace..." +msgstr "자동 변경..." + +#: src/fe-gtk/menu.c:1612 +msgid "CTCP Replies..." +msgstr "CTCP 회신..." + +#: src/fe-gtk/menu.c:1613 +msgid "Dialog Buttons..." +msgstr "단추..." + +#: src/fe-gtk/menu.c:1614 +msgid "Keyboard Shortcuts..." +msgstr "키보드 바로 가기..." + +#: src/fe-gtk/menu.c:1615 +msgid "Text Events..." +msgstr "글월 이벤트..." + +#: src/fe-gtk/menu.c:1616 +msgid "URL Handlers..." +msgstr "URL 관리기..." + +#: src/fe-gtk/menu.c:1617 +msgid "User Commands..." +msgstr "사용자 명령..." + +#: src/fe-gtk/menu.c:1618 +msgid "Userlist Buttons..." +msgstr "사용자 목록 단추..." + +#: src/fe-gtk/menu.c:1619 +msgid "Userlist Popup..." +msgstr "사용자 메뉴..." + +#: src/fe-gtk/menu.c:1622 +msgid "_Window" +msgstr "창(_W)" + +#: src/fe-gtk/menu.c:1623 +msgid "Ban List..." +msgstr "입장 금지 목록..." + +#: src/fe-gtk/menu.c:1624 +msgid "Character Chart..." +msgstr "문자표..." + +#: src/fe-gtk/menu.c:1625 +msgid "Direct Chat..." +msgstr "대화 직접 연결..." + +#: src/fe-gtk/menu.c:1626 +msgid "File Transfers..." +msgstr "파일 전송..." + +#: src/fe-gtk/menu.c:1627 +msgid "Friends List..." +msgstr "친구 목록..." + +#: src/fe-gtk/menu.c:1628 +msgid "Ignore List..." +msgstr "무시 목록..." + +#: src/fe-gtk/menu.c:1629 +msgid "Plugins and Scripts..." +msgstr "추가 기능과 혼잣말..." + +#: src/fe-gtk/menu.c:1630 +msgid "Raw Log..." +msgstr "로그..." + +#: src/fe-gtk/menu.c:1631 +msgid "URL Grabber..." +msgstr "URL 잡기 도구..." + +#: src/fe-gtk/menu.c:1633 +msgid "Reset Marker Line" +msgstr "표시된 줄 초기화" + +#: src/fe-gtk/menu.c:1634 +msgid "C_lear Text" +msgstr "글월 삭제(_L)" + +#: src/fe-gtk/menu.c:1636 +msgid "Search Text..." +msgstr "글월 찾기..." + +#: src/fe-gtk/menu.c:1637 +msgid "Save Text..." +msgstr "글월 저장..." + +#: src/fe-gtk/menu.c:1639 +#: src/fe-gtk/menu.c:2116 +msgid "_Help" +msgstr "도움말(_H)" + +#: src/fe-gtk/menu.c:1640 +msgid "_Contents" +msgstr "목록(_C)" + +#: src/fe-gtk/menu.c:1642 +msgid "Check for updates" +msgstr "업데이트 확인" + +#: src/fe-gtk/menu.c:1644 +msgid "_About" +msgstr "정보(_A)" + +#: src/fe-gtk/menu.c:2129 +msgid "_Attach" +msgstr "붙이기(_A)" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "최근 접속" + +#: src/fe-gtk/notifygui.c:182 +msgid "Offline" +msgstr "접속 종료" + +#: src/fe-gtk/notifygui.c:202 +#: src/fe-gtk/setup.c:231 +msgid "Never" +msgstr "기록 없음" + +#: src/fe-gtk/notifygui.c:205 +#: src/fe-gtk/notifygui.c:230 +#, c-format +msgid "%d minutes ago" +msgstr "%d분 전" + +#: src/fe-gtk/notifygui.c:220 +msgid "Online" +msgstr "접속" + +#: src/fe-gtk/notifygui.c:349 +msgid "Enter nickname to add:" +msgstr "추가할 대화명:" + +#: src/fe-gtk/notifygui.c:378 +msgid "Notify on these networks:" +msgstr "다음 네트워크 알림:" + +#: src/fe-gtk/notifygui.c:389 +msgid "Comma separated list of networks is accepted." +msgstr "쉼표로 구분한 네트워크 목록 허용함." + +#: src/fe-gtk/notifygui.c:415 +msgid "XChat: Friends List" +msgstr "XChat: 친구 목록" + +#: src/fe-gtk/notifygui.c:436 +msgid "Open Dialog" +msgstr "대화창 열기" + +#: src/fe-gtk/plugin-tray.c:248 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" +"풍선 알림을 열 때 사용하는 'notify-send' 프로그램을 찾을 수 없습니다.\n" +"libnotify를 설치하십시오." + +#: src/fe-gtk/plugin-tray.c:299 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat: %u 네트워크의 %u 대화방에 접속됨" + +#: src/fe-gtk/plugin-tray.c:583 +msgid "_Restore" +msgstr "복원(_R)" + +#: src/fe-gtk/plugin-tray.c:585 +msgid "_Hide" +msgstr "숨기기(_H)" + +#: src/fe-gtk/plugin-tray.c:588 +msgid "_Blink on" +msgstr "깜빡임(_B)" + +#: src/fe-gtk/plugin-tray.c:589 +#: src/fe-gtk/setup.c:479 +msgid "Channel Message" +msgstr "대화방 메시지" + +#: src/fe-gtk/plugin-tray.c:590 +#: src/fe-gtk/setup.c:480 +msgid "Private Message" +msgstr "개인 메시지" + +#: src/fe-gtk/plugin-tray.c:591 +#: src/fe-gtk/setup.c:481 +msgid "Highlighted Message" +msgstr "강조 메시지" + +#: src/fe-gtk/plugin-tray.c:594 +msgid "_Change status" +msgstr "상태 변경" + +#: src/fe-gtk/plugin-tray.c:596 +msgid "_Away" +msgstr "자리 비움" + +#: src/fe-gtk/plugin-tray.c:599 +msgid "_Back" +msgstr "돌아옴(_B)" + +#: src/fe-gtk/plugin-tray.c:648 +#: src/fe-gtk/plugin-tray.c:656 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "XChat: 다음 사용자의 강조 메시지: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:651 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat: %u개의 메시지 알림. 마지막 사용자: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:674 +#: src/fe-gtk/plugin-tray.c:681 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat: 새 공개 메시지: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:677 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat: %u개의 공개 메시지." + +#: src/fe-gtk/plugin-tray.c:703 +#: src/fe-gtk/plugin-tray.c:710 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat: 비공개 메시지: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:706 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat: %u개의 비공개 메시지. 마지막 사용자: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:756 +#: src/fe-gtk/plugin-tray.c:764 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: 다음 사용자로부터 파일 전송: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:759 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "XChat: %u개의 파일 전송. 마지막 사용자: %s (%s)" + +#: src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "버전" + +#: src/fe-gtk/plugingui.c:76 +#: src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "참고" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "읽을 추가 기능이나 혼잣말을 선택하십시오." + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: 추가 기능과 혼잣말" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "열기(_L)..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "사용 안 함(_U)" + +#: src/fe-gtk/rawlog.c:81 +#: src/fe-gtk/rawlog.c:130 +#: src/fe-gtk/textgui.c:438 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "다른 이름으로 저장..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: 로그 (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "로그를 삭제합니다." + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "더 검색할 항목이 없습니다." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "검색 완료. 검색된 자료 없음." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: 검색" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "대/소문자 구분(_M)" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "뒤로 검색(_B)" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "찾기(_F)" + +#: src/fe-gtk/servlistgui.c:171 +#: src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "새 네트워크" + +#: src/fe-gtk/servlistgui.c:558 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "\"%s\" 네트워크를 정말 삭제하시겠습니까?" + +#: src/fe-gtk/servlistgui.c:740 +msgid "#channel" +msgstr "#채널" + +#: src/fe-gtk/servlistgui.c:847 +msgid "XChat: Favorite Channels (Auto-Join List)" +msgstr "XChat: 즐겨 찾는 대화방 목록(자동 입장하는 대화방 목록)" + +#: src/fe-gtk/servlistgui.c:859 +#, c-format +msgid "These channels will be joined whenever you connect to %s." +msgstr "%s에 접속할 때마다 이 채널에 참여합니다." + +#: src/fe-gtk/servlistgui.c:902 +msgid "Key (Password)" +msgstr "키(암호)" + +#: src/fe-gtk/servlistgui.c:933 +#: src/fe-gtk/servlistgui.c:1535 +msgid "_Edit" +msgstr "편집(_E)" + +#: src/fe-gtk/servlistgui.c:969 +#, c-format +msgid "%s has been removed." +msgstr "%s을(를) 제거하였습니다." + +#: src/fe-gtk/servlistgui.c:989 +#, c-format +msgid "%s has been added." +msgstr "%s을(를) 추가하였습니다." + +#: src/fe-gtk/servlistgui.c:1013 +msgid "User name and Real name cannot be left blank." +msgstr "사용자 이름과 실제 이름은 공백으로 시작할 수 없습니다." + +#: src/fe-gtk/servlistgui.c:1366 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: %s 편집" + +#: src/fe-gtk/servlistgui.c:1385 +#, c-format +msgid "Servers for %s" +msgstr "서버: %s" + +#: src/fe-gtk/servlistgui.c:1396 +msgid "Connect to selected server only" +msgstr "선택된 서버만 접속" + +#: src/fe-gtk/servlistgui.c:1397 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "접속이 실패했을 때 모든 서버에 접속시도 하지 않음." + +#: src/fe-gtk/servlistgui.c:1399 +msgid "Your Details" +msgstr "자세한 내용" + +#: src/fe-gtk/servlistgui.c:1405 +msgid "Use global user information" +msgstr "기본 사용자 정보를 사용합니다." + +#: src/fe-gtk/servlistgui.c:1408 +#: src/fe-gtk/servlistgui.c:1640 +msgid "_Nick name:" +msgstr "대화명(_N):" + +#: src/fe-gtk/servlistgui.c:1412 +#: src/fe-gtk/servlistgui.c:1647 +msgid "Second choice:" +msgstr "두번째 선택:" + +#: src/fe-gtk/servlistgui.c:1416 +#: src/fe-gtk/servlistgui.c:1661 +msgid "_User name:" +msgstr "사용자 이름(_U):" + +#: src/fe-gtk/servlistgui.c:1420 +#: src/fe-gtk/servlistgui.c:1668 +msgid "Rea_l name:" +msgstr "실제 이름(_L):" + +#: src/fe-gtk/servlistgui.c:1423 +msgid "Connecting" +msgstr "접속" + +#: src/fe-gtk/servlistgui.c:1429 +msgid "Auto connect to this network at startup" +msgstr "시작시 자동 접속" + +#: src/fe-gtk/servlistgui.c:1431 +msgid "Bypass proxy server" +msgstr "프록시 서버 사용" + +#: src/fe-gtk/servlistgui.c:1433 +msgid "Use SSL for all the servers on this network" +msgstr "이 네트워크의 모든 서버에 SSL 사용" + +#: src/fe-gtk/servlistgui.c:1438 +msgid "Accept invalid SSL certificate" +msgstr "유효하지 않은 인증서 허용" + +#: src/fe-gtk/servlistgui.c:1444 +msgid "_Favorite channels:" +msgstr "즐겨 찾는 대화방(_F):" + +#: src/fe-gtk/servlistgui.c:1446 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "참여할 대화방. 쉼표(,)로 여러개의 대화방을 지정할 수 있으나 공백은 사용할 수 없습니다." + +#: src/fe-gtk/servlistgui.c:1449 +msgid "Connect command:" +msgstr "접속 명령:" + +#: src/fe-gtk/servlistgui.c:1451 +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 "접속 후에 사용될 기타 명령. 만약 한 가지 이상 명령을 사용하시려면, 이것을 LOAD -e <파일 이름>으로 설정하십시오. <파일 이름>은 텍스트 파일로 실행할 모든 명령을 입력해 두시면 됩니다." + +#: src/fe-gtk/servlistgui.c:1454 +msgid "Nickserv password:" +msgstr "Nickserv 암호:" + +#: src/fe-gtk/servlistgui.c:1456 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "만약 당신의 대화명이 암호를 필요로 한다면 여기에 입력하십시오. 모든 IRC 네트워크에서 지원하지는 않습니다." + +#: src/fe-gtk/servlistgui.c:1460 +msgid "Server password:" +msgstr "서버 암호:" + +#: src/fe-gtk/servlistgui.c:1462 +msgid "Password for the server, if in doubt, leave blank." +msgstr "서버에 사용할 암호. 만약 필요하지 않다면 비워두십시오." + +#: src/fe-gtk/servlistgui.c:1465 +msgid "Character set:" +msgstr "문자세트:" + +#: src/fe-gtk/servlistgui.c:1618 +msgid "XChat: Network List" +msgstr "XChat: 네트워크 목록" + +#: src/fe-gtk/servlistgui.c:1630 +msgid "User Information" +msgstr "사용자 정보" + +#: src/fe-gtk/servlistgui.c:1654 +msgid "Third choice:" +msgstr "세번째 선택:" + +#: src/fe-gtk/servlistgui.c:1714 +msgid "Networks" +msgstr "네트워크" + +#: src/fe-gtk/servlistgui.c:1755 +msgid "Skip network list on startup" +msgstr "시작할 때 네트워크 목록 건너 뛰기" + +#: src/fe-gtk/servlistgui.c:1787 +msgid "_Edit..." +msgstr "편집(_E)..." + +#: src/fe-gtk/servlistgui.c:1794 +msgid "_Sort" +msgstr "정렬(_S)" + +#: src/fe-gtk/servlistgui.c:1795 +msgid "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN keys to move a row." +msgstr "가나다 순서로 네트워크 목록을 정렬합니다. SHIFT-UP이나 SHIFT-DOWN 키로 이동할 수 있습니다." + +#: src/fe-gtk/servlistgui.c:1820 +msgid "C_onnect" +msgstr "접속(_O)" + +#: src/fe-gtk/setup.c:104 +msgid "Text Box Appearance" +msgstr "글월 상자 모양" + +#: src/fe-gtk/setup.c:105 +msgid "Font:" +msgstr "글꼴:" + +#: src/fe-gtk/setup.c:106 +msgid "Background image:" +msgstr "배경 이미지:" + +#: src/fe-gtk/setup.c:107 +msgid "Scrollback lines:" +msgstr "스크롤할 줄 개수:" + +#: src/fe-gtk/setup.c:108 +msgid "Colored nick names" +msgstr "대화명에 색상 사용" + +#: src/fe-gtk/setup.c:109 +msgid "Give each person on IRC a different color" +msgstr "IRC의 각 사용자에게 다른 색상 사용" + +#: src/fe-gtk/setup.c:110 +msgid "Indent nick names" +msgstr "대화명 자동 완성" + +#: src/fe-gtk/setup.c:111 +msgid "Make nick names right-justified" +msgstr "대화명을 오른쪽으로 정렬" + +#: src/fe-gtk/setup.c:112 +msgid "Transparent background" +msgstr "투명한 배경 효과" + +#: src/fe-gtk/setup.c:113 +msgid "Show marker line" +msgstr "구분선 표시" + +#: src/fe-gtk/setup.c:114 +msgid "Insert a red line after the last read text." +msgstr "마지막으로 읽은 텍스트 뒤에 빨간색 줄 삽입." + +#: src/fe-gtk/setup.c:115 +msgid "Transparency Settings" +msgstr "투명도 설정" + +#: src/fe-gtk/setup.c:116 +msgid "Red:" +msgstr "적색:" + +#: src/fe-gtk/setup.c:117 +msgid "Green:" +msgstr "녹색:" + +#: src/fe-gtk/setup.c:118 +msgid "Blue:" +msgstr "청색:" + +#: src/fe-gtk/setup.c:120 +#: src/fe-gtk/setup.c:391 +msgid "Time Stamps" +msgstr "시각 표시" + +#: src/fe-gtk/setup.c:121 +msgid "Enable time stamps" +msgstr "시각 표시" + +#: src/fe-gtk/setup.c:122 +msgid "Time stamp format:" +msgstr "표시할 시각 형태:" + +#: src/fe-gtk/setup.c:123 +#: src/fe-gtk/setup.c:394 +msgid "See strftime manpage for details." +msgstr "자세한 내용은 strftime의 도움말을 보십시오." + +#: src/fe-gtk/setup.c:130 +#: src/fe-gtk/setup.c:170 +msgid "A-Z" +msgstr "이름순" + +#: src/fe-gtk/setup.c:131 +msgid "Last-spoke order" +msgstr "마지막으로 말한 사용자" + +#: src/fe-gtk/setup.c:137 +#: src/fe-gtk/setup.c:1701 +msgid "Input box" +msgstr "입력창" + +#: src/fe-gtk/setup.c:138 +#: src/fe-gtk/setup.c:202 +msgid "Use the Text box font and colors" +msgstr "입력 상자에 지정 글꼴과 색상 사용" + +#: src/fe-gtk/setup.c:140 +msgid "Spell checking" +msgstr "맞춤법 확인" + +#: src/fe-gtk/setup.c:143 +msgid "Nick Completion" +msgstr "자동 구성에 추가할 문자:" + +#: src/fe-gtk/setup.c:144 +msgid "Automatic nick completion (without TAB key)" +msgstr "TAB 키를 누르지 않고 자동 대화명 완성" + +#: src/fe-gtk/setup.c:146 +msgid "Nick completion suffix:" +msgstr "자동 구성에 추가할 문자:" + +#: src/fe-gtk/setup.c:147 +msgid "Nick completion sorted:" +msgstr "대화명 자동 완성 정렬:" + +#: src/fe-gtk/setup.c:150 +msgid "Input Box Codes" +msgstr "입력창 코드" + +#: src/fe-gtk/setup.c:151 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "%nnn을 아스키 값으로 해석" + +#: src/fe-gtk/setup.c:152 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "%C, %B는 색상, 진하게로 변환" + +#: src/fe-gtk/setup.c:169 +msgid "A-Z, Ops first" +msgstr "이름순(관리자 먼저)" + +#: src/fe-gtk/setup.c:171 +msgid "Z-A, Ops last" +msgstr "이름역순(관리자 나중)" + +#: src/fe-gtk/setup.c:172 +msgid "Z-A" +msgstr "이름역순" + +#: src/fe-gtk/setup.c:173 +msgid "Unsorted" +msgstr "정렬 안 함" + +#: src/fe-gtk/setup.c:179 +#: src/fe-gtk/setup.c:191 +msgid "Left (Upper)" +msgstr "왼쪽(위)" + +#: src/fe-gtk/setup.c:180 +#: src/fe-gtk/setup.c:192 +msgid "Left (Lower)" +msgstr "왼쪽(아래)" + +#: src/fe-gtk/setup.c:181 +#: src/fe-gtk/setup.c:193 +msgid "Right (Upper)" +msgstr "오른쪽(위)" + +#: src/fe-gtk/setup.c:182 +#: src/fe-gtk/setup.c:194 +msgid "Right (Lower)" +msgstr "오른쪽(아래)" + +#: src/fe-gtk/setup.c:183 +msgid "Top" +msgstr "위" + +#: src/fe-gtk/setup.c:184 +msgid "Bottom" +msgstr "아래" + +#: src/fe-gtk/setup.c:185 +msgid "Hidden" +msgstr "숨김" + +#: src/fe-gtk/setup.c:200 +msgid "User List" +msgstr "사용자 목록" + +#: src/fe-gtk/setup.c:201 +msgid "Show hostnames in user list" +msgstr "사용자 목록에 호스트 이름 표시" + +#: src/fe-gtk/setup.c:204 +msgid "User list sorted by:" +msgstr "사용자 목록 정렬:" + +#: src/fe-gtk/setup.c:205 +msgid "Show user list at:" +msgstr "사용자 목록을 표시할 위치:" + +#: src/fe-gtk/setup.c:207 +msgid "Away tracking" +msgstr "자리 비움 추적" + +#: src/fe-gtk/setup.c:208 +msgid "Track the Away status of users and mark them in a different color" +msgstr "자리 비움 상태인 사용자를 추적하여 다른 색상으로 표시합니다." + +#: src/fe-gtk/setup.c:209 +msgid "On channels smaller than:" +msgstr "대화방의 자리 비움 상태가 다음보다 작을 때:" + +#: src/fe-gtk/setup.c:211 +msgid "Action Upon Double Click" +msgstr "더블 클릭시 동작" + +#: src/fe-gtk/setup.c:223 +msgid "Windows" +msgstr "창" + +#: src/fe-gtk/setup.c:224 +#: src/fe-gtk/setup.c:240 +msgid "Tabs" +msgstr "탭" + +#: src/fe-gtk/setup.c:232 +msgid "Always" +msgstr "자리 비움 사용자:" + +#: src/fe-gtk/setup.c:233 +msgid "Only requested tabs" +msgstr "오직 요청된 탭만" + +#: src/fe-gtk/setup.c:242 +msgid "Tree" +msgstr "트리" + +#: src/fe-gtk/setup.c:249 +msgid "Switcher type:" +msgstr "서버/대화방 표시 형태:" + +#: src/fe-gtk/setup.c:250 +msgid "Open an extra tab for server messages" +msgstr "서버 메시지를 탭으로 표시" + +#: src/fe-gtk/setup.c:251 +msgid "Open an extra tab for server notices" +msgstr "서버 알림을 탭으로 표시" + +#: src/fe-gtk/setup.c:252 +msgid "Open a new tab when you receive a private message" +msgstr "개인 메시지를 받으면 새 탭 열기" + +#: src/fe-gtk/setup.c:253 +msgid "Sort tabs in alphabetical order" +msgstr "탭을 알파벳으로 정렬" + +#: src/fe-gtk/setup.c:254 +msgid "Smaller text" +msgstr "작은 글자 사용" + +#: src/fe-gtk/setup.c:256 +msgid "Focus new tabs:" +msgstr "새 탭에 포커스:" + +#: src/fe-gtk/setup.c:258 +msgid "Show channel switcher at:" +msgstr "서버/대화방을 표시할 위치:" + +#: src/fe-gtk/setup.c:259 +msgid "Shorten tab labels to:" +msgstr "탭 제목 표시 제한:" + +#: src/fe-gtk/setup.c:259 +msgid "letters." +msgstr "글자 이하로 표시" + +#: src/fe-gtk/setup.c:261 +msgid "Tabs or Windows" +msgstr "창이나 탭" + +#: src/fe-gtk/setup.c:262 +msgid "Open channels in:" +msgstr "대화방:" + +#: src/fe-gtk/setup.c:263 +msgid "Open dialogs in:" +msgstr "귓속말:" + +#: src/fe-gtk/setup.c:264 +msgid "Open utilities in:" +msgstr "도구:" + +#: src/fe-gtk/setup.c:264 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "DCC, 목록, 알림 등을 탭으로 열 것인지, 창으로 열 것인지를 선택하십시오." + +#: src/fe-gtk/setup.c:271 +msgid "No" +msgstr "아니오" + +#: src/fe-gtk/setup.c:272 +msgid "Yes" +msgstr "예" + +#: src/fe-gtk/setup.c:279 +msgid "Files and Directories" +msgstr "파일과 디렉터리" + +#: src/fe-gtk/setup.c:280 +msgid "Auto accept file offers:" +msgstr "자동으로 파일 전송을 허용할 사용자:" + +#: src/fe-gtk/setup.c:281 +msgid "Download files to:" +msgstr "다음 위치에 받은 파일 저장:" + +#: src/fe-gtk/setup.c:282 +msgid "Move completed files to:" +msgstr "다음 위치에 받기가 완료된 파일 이동:" + +#: src/fe-gtk/setup.c:283 +msgid "Save nick name in filenames" +msgstr "파일 이름에 대화명을 포함하여 저장" + +#: src/fe-gtk/setup.c:285 +msgid "Network Settings" +msgstr "네트워크 설정" + +#: src/fe-gtk/setup.c:286 +msgid "Get my address from the IRC server" +msgstr "IRC 서버로부터 내 IP를 가져옵니다." + +#: src/fe-gtk/setup.c:287 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "만약 당신이 가상 IP를 사용하고 있다면 \"/WHOIS 당신의대화명\"으로 당신의 실제 주소를 찾게 됩니다. 일부 HanIRC에서 숨김 상태 서비스에서는 사용할 수 없습니다." + +#: src/fe-gtk/setup.c:288 +msgid "DCC IP address:" +msgstr "DCC IP 주소:" + +#: src/fe-gtk/setup.c:289 +msgid "Claim you are at this address when offering files." +msgstr "파일을 전송할 때 이 주소를 사용하게 됩니다." + +#: src/fe-gtk/setup.c:290 +msgid "First DCC send port:" +msgstr "DCC 보내기에 사용할 처음 포트:" + +#: src/fe-gtk/setup.c:291 +msgid "Last DCC send port:" +msgstr "DCC 보내기에 사용할 마지막 포트:" + +#: src/fe-gtk/setup.c:292 +msgid "!Leave ports at zero for full range." +msgstr "!전체 영역을 사용하려면 0으로 설정하십시오." + +#: src/fe-gtk/setup.c:294 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "최대 파일 전송 속도 (초당 Byte 전송 속도)" + +#: src/fe-gtk/setup.c:295 +msgid "One upload:" +msgstr "개별 파일의 보내는 속도:" + +#: src/fe-gtk/setup.c:296 +#: src/fe-gtk/setup.c:298 +msgid "Maximum speed for one transfer" +msgstr "보내기 파일 하나당 최대 속도" + +#: src/fe-gtk/setup.c:297 +msgid "One download:" +msgstr "개별 파일의 받는 속도:" + +#: src/fe-gtk/setup.c:299 +msgid "All uploads combined:" +msgstr "모든 보내기를 합친 속도:" + +#: src/fe-gtk/setup.c:300 +#: src/fe-gtk/setup.c:302 +msgid "Maximum speed for all files" +msgstr "전체 속도" + +#: src/fe-gtk/setup.c:301 +msgid "All downloads combined:" +msgstr "모든 받기를 합친 속도:" + +#: src/fe-gtk/setup.c:329 +#: src/fe-gtk/setup.c:1707 +msgid "Alerts" +msgstr "알림" + +#: src/fe-gtk/setup.c:333 +msgid "Show tray balloons on:" +msgstr "알림 영역 풍선 표시:" + +#: src/fe-gtk/setup.c:335 +msgid "Blink tray icon on:" +msgstr "알림 영역 아이콘 깜빡거림:" + +#: src/fe-gtk/setup.c:336 +msgid "Blink task bar on:" +msgstr "작업 표시줄 깜빡거림:" + +#: src/fe-gtk/setup.c:337 +msgid "Make a beep sound on:" +msgstr "비프음:" + +#: src/fe-gtk/setup.c:339 +msgid "Enable system tray icon" +msgstr "시스템 트레이 아이콘 사용" + +#: src/fe-gtk/setup.c:341 +msgid "Highlighted Messages" +msgstr "강조 메시지" + +#: src/fe-gtk/setup.c:342 +msgid "Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "강조 메시지는 자기 대화명이 언급되는 메시지 및 다음 메시지입니다:" + +#: src/fe-gtk/setup.c:344 +msgid "Extra words to highlight:" +msgstr "추가로 강조할 단어:" + +#: src/fe-gtk/setup.c:345 +msgid "Nick names not to highlight:" +msgstr "강조하지 않을 대화명:" + +#: src/fe-gtk/setup.c:346 +msgid "Nick names to always highlight:" +msgstr "항상 강조할 대화명:" + +#: src/fe-gtk/setup.c:347 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "여러 개 단어는 쉼표로 구분합니다. 와일드카드 사용도 가능합니다." + +#: src/fe-gtk/setup.c:353 +msgid "Default Messages" +msgstr "기본 메시지" + +#: src/fe-gtk/setup.c:354 +msgid "Quit:" +msgstr "종료:" + +#: src/fe-gtk/setup.c:355 +msgid "Leave channel:" +msgstr "대화방 나가기:" + +#: src/fe-gtk/setup.c:356 +msgid "Away:" +msgstr "자리 비움:" + +#: src/fe-gtk/setup.c:358 +msgid "Away" +msgstr "자리 비움" + +#: src/fe-gtk/setup.c:359 +msgid "Announce away messages" +msgstr "자리 비움 메시지 알림" + +#: src/fe-gtk/setup.c:360 +msgid "Announce your away messages to all channels" +msgstr "자리를 비울 때 참여 중인 모든 대화방에 메시지로 알립니다." + +#: src/fe-gtk/setup.c:361 +msgid "Show away once" +msgstr "자리 비움 한 번만 표시" + +#: src/fe-gtk/setup.c:361 +msgid "Show identical away messages only once" +msgstr "자리 비움 메시지를 한 번만 표시합니다." + +#: src/fe-gtk/setup.c:362 +msgid "Automatically unmark away" +msgstr "자동으로 자리 비움 해제" + +#: src/fe-gtk/setup.c:362 +msgid "Unmark yourself as away before sending messages" +msgstr "대화를 시작하면 자동으로 자리 비움 상태를 해제합니다." + +#: src/fe-gtk/setup.c:369 +msgid "Advanced Settings" +msgstr "고급 설정" + +#: src/fe-gtk/setup.c:370 +msgid "Auto reconnect delay:" +msgstr "자동 접속 지연 시간:" + +#: src/fe-gtk/setup.c:371 +msgid "Display MODEs in raw form" +msgstr "raw 폼에서 MODE를 표시함" + +#: src/fe-gtk/setup.c:372 +msgid "Whois on notify" +msgstr "Whois에 알림" + +#: src/fe-gtk/setup.c:372 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "알림 목록에 사용자가 접속하면 /WHOIS 명령을 실행합니다." + +#: src/fe-gtk/setup.c:373 +msgid "Hide join and part messages" +msgstr "입장/퇴장 메시지 숨김" + +#: src/fe-gtk/setup.c:373 +msgid "Hide channel join/part messages by default" +msgstr "기본적으로 대화방에 입장/퇴장 메시지를 숨깁니다." + +#: src/fe-gtk/setup.c:374 +msgid "Auto Open DCC Windows" +msgstr "자동으로 대화창 열기" + +#: src/fe-gtk/setup.c:375 +msgid "Send window" +msgstr "파일 전송창" + +#: src/fe-gtk/setup.c:376 +msgid "Receive window" +msgstr "받기 창" + +#: src/fe-gtk/setup.c:377 +msgid "Chat window" +msgstr "대화방 창" + +#: src/fe-gtk/setup.c:385 +#: src/fe-gtk/setup.c:1709 +msgid "Logging" +msgstr "기록" + +#: src/fe-gtk/setup.c:386 +msgid "Display scrollback from previous session" +msgstr "이전 세션에서 저장된 대화 내용 표시" + +#: src/fe-gtk/setup.c:387 +msgid "Enable logging of conversations to disk" +msgstr "대화 내용을 디스크에 저장" + +#: src/fe-gtk/setup.c:388 +msgid "Log filename:" +msgstr "로그 파일 이름:" + +#: src/fe-gtk/setup.c:389 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=서버 %c=대화방 %n=네트워크." + +#: src/fe-gtk/setup.c:392 +msgid "Insert timestamps in logs" +msgstr "로그에 시각 삽입" + +#: src/fe-gtk/setup.c:393 +msgid "Log timestamp format:" +msgstr "로그에 사용할 시각 형태:" + +#: src/fe-gtk/setup.c:401 +msgid "(Disabled)" +msgstr "(사용 안 함)" + +#: src/fe-gtk/setup.c:402 +msgid "Wingate" +msgstr "윈게이트" + +#: src/fe-gtk/setup.c:403 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:404 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:405 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:407 +msgid "MS Proxy (ISA)" +msgstr "MS 프록시(ISA)" + +#: src/fe-gtk/setup.c:414 +msgid "All Connections" +msgstr "모든 연결" + +#: src/fe-gtk/setup.c:415 +msgid "IRC Server Only" +msgstr "IRC 서버 전용" + +#: src/fe-gtk/setup.c:416 +msgid "DCC Get Only" +msgstr "DCC 받기 전용" + +#: src/fe-gtk/setup.c:422 +msgid "Your Address" +msgstr "IP 주소" + +#: src/fe-gtk/setup.c:423 +msgid "Bind to:" +msgstr "바인딩할 주소:" + +#: src/fe-gtk/setup.c:424 +msgid "Only useful for computers with multiple addresses." +msgstr "여러 개의 주소를 사용하는 컴퓨터에서만 사용합니다." + +#: src/fe-gtk/setup.c:426 +msgid "Proxy Server" +msgstr "프록시 서버" + +#: src/fe-gtk/setup.c:427 +msgid "Hostname:" +msgstr "호스트:" + +#: src/fe-gtk/setup.c:428 +msgid "Port:" +msgstr "포트:" + +#: src/fe-gtk/setup.c:429 +msgid "Type:" +msgstr "형태:" + +#: src/fe-gtk/setup.c:430 +msgid "Use proxy for:" +msgstr "프록시 사용:" + +#: src/fe-gtk/setup.c:432 +msgid "Proxy Authentication" +msgstr "프록시 인증" + +#: src/fe-gtk/setup.c:434 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "인증 사용(MS 프록시, HTTP 혹은 Socks5 전용)" + +#: src/fe-gtk/setup.c:436 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "인증 사용(HTTP 혹은 Socks5 전용)" + +#: src/fe-gtk/setup.c:438 +msgid "Username:" +msgstr "사용자 이름:" + +#: src/fe-gtk/setup.c:439 +msgid "Password:" +msgstr "암호:" + +#: src/fe-gtk/setup.c:870 +msgid "Select an Image File" +msgstr "이미지파일 선택" + +#: src/fe-gtk/setup.c:905 +msgid "Select Download Folder" +msgstr "다운로드 디렉터리 선택" + +#: src/fe-gtk/setup.c:914 +msgid "Select font" +msgstr "글꼴 선택" + +#: src/fe-gtk/setup.c:1014 +msgid "Browse..." +msgstr "찾아보기..." + +#: src/fe-gtk/setup.c:1152 +msgid "Mark identified users with:" +msgstr "인증된 사용자를 다음으로 표시:" + +#: src/fe-gtk/setup.c:1154 +msgid "Mark not-identified users with:" +msgstr "인증되지 않은 사용자를 다음으로 표시:" + +#: src/fe-gtk/setup.c:1161 +msgid "Open Data Folder" +msgstr "데이터 디렉터리 열기" + +#: src/fe-gtk/setup.c:1215 +msgid "Select color" +msgstr "색상 선택" + +#: src/fe-gtk/setup.c:1295 +msgid "Text Colors" +msgstr "글자 색" + +#: src/fe-gtk/setup.c:1297 +msgid "mIRC colors:" +msgstr "mIRC 색:" + +#: src/fe-gtk/setup.c:1305 +msgid "Local colors:" +msgstr "로컬 색:" + +#: src/fe-gtk/setup.c:1313 +#: src/fe-gtk/setup.c:1318 +msgid "Foreground:" +msgstr "글자:" + +#: src/fe-gtk/setup.c:1314 +#: src/fe-gtk/setup.c:1319 +msgid "Background:" +msgstr "배경:" + +#: src/fe-gtk/setup.c:1316 +msgid "Marking Text" +msgstr "선택한 글월" + +#: src/fe-gtk/setup.c:1321 +msgid "Interface Colors" +msgstr "사용자 환경 색상" + +#: src/fe-gtk/setup.c:1323 +msgid "New data:" +msgstr "새 데이터:" + +#: src/fe-gtk/setup.c:1324 +msgid "Marker line:" +msgstr "이후 표시:" + +#: src/fe-gtk/setup.c:1325 +msgid "New message:" +msgstr "새 메시지:" + +#: src/fe-gtk/setup.c:1326 +msgid "Away user:" +msgstr "자리 비움 사용자:" + +#: src/fe-gtk/setup.c:1327 +msgid "Highlight:" +msgstr "강조:" + +#: src/fe-gtk/setup.c:1423 +#: src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "상황" + +#: src/fe-gtk/setup.c:1429 +msgid "Sound file" +msgstr "소리 파일:" + +#: src/fe-gtk/setup.c:1464 +msgid "Select a sound file" +msgstr "출력할 파일을 선택하세요." + +#: src/fe-gtk/setup.c:1536 +msgid "Sound playing method:" +msgstr "소리 재생 방법:" + +#: src/fe-gtk/setup.c:1544 +msgid "External sound playing _program:" +msgstr "외부 소리 재생 프로그램(_P):" + +#: src/fe-gtk/setup.c:1562 +msgid "_External program" +msgstr "외부 도구(_E)" + +#: src/fe-gtk/setup.c:1572 +msgid "_Automatic" +msgstr "자동(_A)" + +#: src/fe-gtk/setup.c:1585 +msgid "Sound files _directory:" +msgstr "소리 파일 위치(_D):" + +#: src/fe-gtk/setup.c:1624 +msgid "Sound file:" +msgstr "소리 파일:" + +#: src/fe-gtk/setup.c:1639 +msgid "_Browse..." +msgstr "찾아보기(_B)..." + +#: src/fe-gtk/setup.c:1650 +msgid "_Play" +msgstr "재생(_P)" + +#: src/fe-gtk/setup.c:1699 +msgid "Interface" +msgstr "사용자 환경" + +#: src/fe-gtk/setup.c:1700 +msgid "Text box" +msgstr "글월창" + +#: src/fe-gtk/setup.c:1702 +msgid "User list" +msgstr "사용자 목록" + +#: src/fe-gtk/setup.c:1703 +msgid "Channel switcher" +msgstr "대화방 바꾸기" + +#: src/fe-gtk/setup.c:1704 +msgid "Colors" +msgstr "색상" + +#: src/fe-gtk/setup.c:1706 +msgid "Chatting" +msgstr "대화" + +#: src/fe-gtk/setup.c:1708 +msgid "General" +msgstr "일반" + +#: src/fe-gtk/setup.c:1710 +msgid "Sound" +msgstr "소리" + +#: src/fe-gtk/setup.c:1714 +msgid "Network setup" +msgstr "네트워크 설정" + +#: src/fe-gtk/setup.c:1715 +msgid "File transfers" +msgstr "파일 전송" + +#: src/fe-gtk/setup.c:1823 +msgid "Categories" +msgstr "항목" + +#: src/fe-gtk/setup.c:2007 +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 "" +"위나 아래에는 트리를 위치 시킬 수 없습니다!\n" +"<b>보기</b>메뉴의 <b>탭</b> 레이아웃을 먼저 변경하십시오." + +#: src/fe-gtk/setup.c:2017 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "어떤 설정은 다시 시작해야 효과를 볼 수 있습니다." + +#: src/fe-gtk/setup.c:2025 +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 "" +"*경고*\n" +"당신의 홈 디렉터리로 자동 받기를 할 경우 상당히 위험합니다.\n" +"예:\n" +"어떤 사용자가 당신에게 .bash_profile을 전송했을 때." + +#: src/fe-gtk/setup.c:2058 +msgid "XChat: Preferences" +msgstr "XChat: 기본 설정" + +#: src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "글월 분석 오류" + +#: src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "이 신호는 오직 %d 인수에서 동작됩니다. $%d은(는) 올바르지 않습니다." + +#: src/fe-gtk/textgui.c:304 +#: src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "문서 파일 출력" + +#: src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "상황 편집" + +#: src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$ 숫자" + +#: src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "읽어들이기, 위치..." + +#: src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "모두 시험" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "주소" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: URL 잡기 도구" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "목록 삭제" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "선택된 URL을 복사" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "복사" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "목록을 파일로 저장합니다" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d명의 관리자, 총 %d명" + +#~ msgid "About XChat" +#~ msgstr "XChat 정보" + +#, fuzzy +#~ msgid "Set _back" +#~ msgstr "뒤로 검색(_B)" +#~ msgid "" +#~ "Set per channel options\n" +#~ "CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part " +#~ "messages\n" +#~ "CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +#~ "CHANOPT BEEP ON|OFF - Toggle beep on message\n" +#~ "CHANOPT TRAY ON|OFF - Toggle tray blink on message" +#~ msgstr "" +#~ "대화방 별 설정\n" +#~ "CHANOPT CONFMODE ON|OFF - 입장과 퇴장 메시지 표시를 설정합니다\n" +#~ "CHANOPT COLORPASTE ON|OFF - 색상 상태를 설정합니다\n" +#~ "CHANOPT BEEP ON|OFF - 삑 소리 알림을 켜거나 끕니다.\n" +#~ "CHANOPT TRAY ON|OFF - 깜빡임 설정을 켜거나 끕니다." +#~ msgid "Direct client-to-client" +#~ msgstr "직접 연결" +#~ msgid "Send File" +#~ msgstr "파일 보내기" +#~ msgid "Offer Chat" +#~ msgstr "대화" +#~ msgid "Abort Chat" +#~ msgstr "대화 취소" +#~ msgid "Userinfo" +#~ msgstr "사용자 정보" +#~ msgid "Clientinfo" +#~ msgstr "클라이언트 정보" +#~ msgid "Time" +#~ msgstr "시간" +#~ msgid "Finger" +#~ msgstr "핑거" +#~ msgid "Oper" +#~ msgstr "서버관리자" +#~ msgid "Kill this user" +#~ msgstr "이 사용자 죽이기" +#~ msgid "Mode" +#~ msgstr "상태" +#~ msgid "Give Half-Ops" +#~ msgstr "제한된 관리 권한 주기" +#~ msgid "Take Half-Ops" +#~ msgstr "제한된 관리 권한 박탈" +#~ msgid "Ignore" +#~ msgstr "무시" +#~ msgid "Ignore User" +#~ msgstr "사용자 무시" +#~ msgid "UnIgnore User" +#~ msgstr "무시 해제" +#~ msgid "Info" +#~ msgstr "정보" +#~ msgid "Who" +#~ msgstr "누구" +#~ msgid "DNS Lookup" +#~ msgstr "DNS 보기" +#~ msgid "Trace" +#~ msgstr "추적" +#~ msgid "UserHost" +#~ msgstr "호스트" +#~ msgid "External" +#~ msgstr "외부 도구" +#~ msgid "Traceroute" +#~ msgstr "경로추적" +#~ msgid "Telnet" +#~ msgstr "텔넷" +#~ msgid "Unban" +#~ msgstr "입장 금지해제" +#~ msgid "Blink tray on message" +#~ msgstr "메시지에 알림 영역에서 깜빡이기" +#~ msgid "Show join/part messages" +#~ msgstr "참여/퇴장 메시지 표시" +#~ msgid "Color paste" +#~ msgstr "색상추출" +#~ msgid "_Close Tab" +#~ msgstr "탭 닫기(_C)" +#~ msgid "Channel List..." +#~ msgstr "대화방 목록..." +#~ msgid "Notify List..." +#~ msgstr "알림 목록..." +#~ msgid "_Close Window" +#~ msgstr "창 닫기(_C)" +#~ msgid "User" +#~ msgstr "사용자" +#~ msgid "XChat: Notify List" +#~ msgstr "XChat: 알림 목록" +#~ msgid "C_hannels to join:" +#~ msgstr "참여할 대화방(_H):" +#~ msgid "Channel Switcher" +#~ msgstr "대화방 바꾸기" + diff --git a/po/lt.po b/po/lt.po new file mode 100644 index 00000000..8dcfdadd --- /dev/null +++ b/po/lt.po @@ -0,0 +1,6313 @@ +# Lithuanian translation of xchat +# Copyright (C) 2000 Free Software Foundation, Inc. +# This file is distributed under the same license as the xchat package. +# Gediminas Paulauskas <menesis@delfi.lt>, 2000. +# Vaidrius Petrauskas <vaidrius@delfi.lt>, 2005. +# Žygimantas Beručka <zygis@gnome.org>, 2006. +# Marius Gedminas <mgedmin@b4net.lt>, 2007. +# Gintautas Miliauskas <gintas@akl.lt>, 2007, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.8.4\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2007-06-24 13:05+1000\n" +"PO-Revision-Date: 2008-05-17 22:00+0300\n" +"Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n" +"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "Nepavyko sukurti ~/.xchat2 katalogo" + +#: src/common/cfgfiles.c:712 +msgid "I'm busy" +msgstr "Užsiėmęs" + +#: src/common/cfgfiles.c:713 +msgid "Leaving" +msgstr "Išeinu" + +#: src/common/cfgfiles.c:760 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Labai neprotinga vykdyti IRC iš root'o! Susikurk\n" +" paprastą varotoją ir naudokis juo, jungdamasis.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Laukiu" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Aktyvus" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Nepavyko" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Baigtas" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:797 +msgid "Connect" +msgstr "Jungiuosi" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Nutrauktas" + +#: src/common/dcc.c:1886 src/common/outbound.c:2452 +#, c-format +msgid "Cannot access %s\n" +msgstr "Negaliu pasiekti %s\n" + +#: src/common/dcc.c:1887 src/common/text.c:1164 src/common/text.c:1202 +#: src/common/text.c:1213 src/common/text.c:1220 src/common/text.c:1233 +#: src/common/text.c:1250 src/common/text.c:1350 src/common/util.c:352 +msgid "Error" +msgstr "Klaida" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s siūlo „%s“. Ar norite priimti?" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "Nėra aktyvių DCC sesijų\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "TAIP " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "NE " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Jums %s siunčia daugybę CTCP pranešimų, %s ignoruojamas\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "Jums %s siunčia daugybę MSG pranešimų, „gui_auto_open_dialog“ išjungiamas.\n" + +#: src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s yra online\n" + +#: src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s yra offline\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Tu nesi jokiame kanale. Parašyk /join #<kanalas>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Tu nesi prisijungęs prie serverio. Parašyk /server <hostas> [<portas>]\n" + +#: src/common/outbound.c:339 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Jau įjungta nebuvimo veiksena: %s\n" + +#: src/common/outbound.c:409 +msgid "Already marked back.\n" +msgstr "Jau pažymėtas grįžimas.\n" + +#: src/common/outbound.c:1814 +msgid "I need /bin/sh to run!\n" +msgstr "Man reikia /bin/sh, kad galėčiau vykdytis!\n" + +#: src/common/outbound.c:2185 +#, fuzzy +msgid "Commands Available:" +msgstr "Prieinamos komandos:" + +#: src/common/outbound.c:2199 +#, fuzzy +msgid "User defined commands:" +msgstr "Naudotojo aprašytos komandos:" + +#: src/common/outbound.c:2215 +#, fuzzy +msgid "Plugin defined commands:" +msgstr "Vartotojo aprašytos komandos:" + +#: src/common/outbound.c:2226 +#, fuzzy +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "" +"\n" +"\n" +"Parašyk /HELP <komanda> kad gautum daugiau informacijos, arba /HELP -l\n" +"\n" + +#: src/common/outbound.c:2301 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Nežinomas argumentas '%s' ignoruojamas." + +#: src/common/outbound.c:3235 +msgid "No such plugin found.\n" +msgstr "Toks įskiepis nerastas.\n" + +#: src/common/outbound.c:3240 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Šis įskiepis atsisako būti iškraunamas.\n" + +#: src/common/outbound.c:3509 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <vardas> <veiksmas> - prideda mygtuka po vartotojų sąrašu" + +#: src/common/outbound.c:3511 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <komanda> - nusiunčia komandą į visus kanalus, kuriuose tu esi" + +#: src/common/outbound.c:3513 +#, fuzzy +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <komanda> - nusiunčia komandą į visus kanalus, kuriuose tu esi" + +#: src/common/outbound.c:3515 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <komanda> - nusiunčia komandą visiems serveriams, prie kurių tu esi prisijungęs" + +#: src/common/outbound.c:3516 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<priežastis>] - įjungia būseną „Manęs nėra“" + +#: src/common/outbound.c:3517 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3519 +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> [<bano tipas>] - išbanina iš esamo kanalo visus, kurių maskas sutampa su nurodytu. Jei jie jau yra kanale, ši komanda neišspiria jų (reikia OP statuso kanale)" + +#: src/common/outbound.c:3521 +msgid "" +"Set per channel options\n" +"CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part messages\n" +"CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +"CHANOPT BEEP ON|OFF - Toggle beep on message\n" +"CHANOPT TRAY ON|OFF - Toggle tray blink on message" +msgstr "" + +#: src/common/outbound.c:3528 +#, fuzzy +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR - išvalo esamą tekstinį langą" + +#: src/common/outbound.c:3529 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE - uždaro esamą langą/kortelę" + +#: src/common/outbound.c:3532 +#, fuzzy +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY <kodas> - randa šalį pagal kodą, pvz.: lt = Lietuva" + +#: src/common/outbound.c:3534 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <vartotojas> <žinutė> - nusiunčia CTCP žinutę vartotojui. Dažniausios žinutės yra VERSION ir USERINFO" + +#: src/common/outbound.c:3536 +#, fuzzy +msgid "CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "CYCLE - išeina iš aktyvaus kanalo ir iškarta į jį grįžtą" + +#: src/common/outbound.c:3538 +#, fuzzy +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 "" +"\n" +"DCC GET <vartotojas> - gauna siūlomą bylą\n" +"DCC SEND <vartotojas> <failas> - siunčia bylą kitam asmeniui\n" +"DCC LIST - parodo DCC sesijų sąrašą\n" +"DCC CHAT <vartotojas> - pasiūlo kitam asmeniui DCC pokalbį\n" +"DCC CLOSE <tipas> <vatrtotojas> <failas> pavyzdys:\n" +" /dcc close send jonas byla.tar.gz" + +#: src/common/outbound.c:3550 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <vartotojas> - panaikina kanalo pusiau-operatoriaus teises vartotojui aktyviame kanale (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:3552 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <vardas> - ištrina mygtuką iš po vartotojo sąrašo" + +#: src/common/outbound.c:3554 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <vartotojas> - panaikina kanalo operatoriaus teises vartotojui aktyviame kanale (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:3556 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <vartotojas> - panaikina balso teisę vartotojui aktyviame kanale (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:3557 +msgid "DISCON, Disconnects from server" +msgstr "DISCON - atjungia nuo serverio" + +#: src/common/outbound.c:3558 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <varototojas|hostas|ip> - randa vartotojo IP adresą" + +#: src/common/outbound.c:3559 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <tekstas> - lokaliai atspausdina tekstą" + +#: src/common/outbound.c:3562 +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] <komanda> - įvykdo komandą. Tuo atveju, jei nurodomas -o parametras, komandos grąžinamas tekstas bus nusiųstas į aktyvų kanalą, kitu atveju jis nusiunčiamas į aktyvų langą." + +#: src/common/outbound.c:3564 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT - nusiunčia procesui SIGCONT signalą" + +#: src/common/outbound.c:3567 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9] - nutraukia aktyvioje sesijoje vykdomą komandą. Jei nurodomas parametras -9, procesui bus nusiųstas SIGKILL signalas" + +#: src/common/outbound.c:3569 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP - nusiunčia procesui SIGSTOP signalą" + +#: src/common/outbound.c:3570 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE - nusiunčia duomenis proceso stdin įrenginiui" + +#: src/common/outbound.c:3574 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHHQ - panaikina aktyvaus serverio siuntimo laukiančių duomenų eilę" + +#: src/common/outbound.c:3576 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <hostas> [<portas>] - jungiasi per proxy serverį. Nutylimas portas - 23" + +#: src/common/outbound.c:3580 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:3585 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <vartotojas> - suteikia vartotojui kanalo pusiau-operatoriaus teises (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:3586 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <slaptažodis> - identifikuoja Jus nickservui" + +#: src/common/outbound.c:3588 +#, fuzzy +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 <mask> <tipai..> <parametrai..>\n" +" mask - maskas, kuris bus ignoruojamas, pvz: *!*@*.takas.lt\n" +" tipai - ignoruotini duomenų tipai, vienas ar keli iš šių:\n" +" PRIV, CHAN, NOTI, CTCP, INVI, ALL\n" +" parametrai - NOSAVE, QUIET" + +#: src/common/outbound.c:3595 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <vartotojas> [<kanalas>] - pakviečia varotoją į kanalą. Nutylimasis - aktyvus kanalas (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:3596 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanalas> - prisijungia prie kanalo" + +#: src/common/outbound.c:3598 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <vartotojas> - išspiria varotoją iš aktyvaus kanalo (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:3600 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <vartotojas> - išbanina ir išspiria vartotoją iš aktyvaus kanalo (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:3603 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK - iššaukia naują užlaikymo patikrinimą" + +#: src/common/outbound.c:3605 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <tekstas> - ieško duotojo teksto buferyje" + +#: src/common/outbound.c:3607 +#, fuzzy +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD <failas> - įkrauna įskiepį ar skriptą..." + +#: src/common/outbound.c:3610 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP - atima kanalo pusiau-operatoriaus teises iš visų aktyviame kanale jas turinčių (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:3612 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP - atima kanalo operatoriaus teises iš visų aktyviame kanale jas turinčių (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:3614 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <veiksmas> - nusiunčia veiksmą į aktyvų kanalą (veiksmai rašomi trečiuoju asmeniu, pvz., /me pašoka)" + +#: src/common/outbound.c:3618 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK - išspiria iš aktyvaus kanalo visus išskyrus tave (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:3621 +#, fuzzy +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MDEOP - atima kanalo operatoriaus teises iš visų aktyviame kanale jas turinčių (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:3622 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <vartotojas> <žinutė> - nusiunčia privačią žinutę" + +#: src/common/outbound.c:3625 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES - išvardina visus vartotojus esamame kanale" + +#: src/common/outbound.c:3627 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <vartotojas> <žinutė> - nuciunčia vartotojui CTCP pastebėjimą" + +#: src/common/outbound.c:3628 +#, fuzzy +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER <serveris> [<portas>]" + +#: src/common/outbound.c:3629 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <vardas> - pakeicčia tavo vartotojo vardą" + +#: src/common/outbound.c:3632 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <vartotojas/kanalas> <žinutė> - nusiunčia pastabą. Pastabos - tai žinutės, į kurias turėtų būti reaguojama automatiškai" + +#: src/common/outbound.c:3634 +#, fuzzy +msgid "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" +msgstr "NOTIFY [<vartotojas>] - išvardina tavo stebimų vartotojų sąrašą arba prideda/išbraukia iš jo vartotoją" + +#: src/common/outbound.c:3636 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <vartotojas> - suteikia vartotojui kanalo operatoriaus teises (reikia jas turėti pačiam)" + +#: src/common/outbound.c:3638 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanalas>] [<priežastis>] - palieka kanalą, pagal nutylėjimą - aktyvųjį" + +#: src/common/outbound.c:3640 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <vartotojas | kanalas> - nusiunčia vartotojui arba kanalui CTCP PING signalą" + +#: src/common/outbound.c:3642 +#, fuzzy +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY <vartotojas> - atidaro privačių žinučių su vartotoju langą" + +#: src/common/outbound.c:3644 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<priežastis>] - atsijungia nuo aktyvaus serverio" + +#: src/common/outbound.c:3646 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <tekstas> - nusiunčia neformatuotą tekstą serveriui" + +#: src/common/outbound.c:3649 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<serveris>] [<portas>] [<slaptažodis>] - gali būti iškviečiamas paprasčiausiai komandos /RECONNECT pagalba, kad iš naujo prisijungti prie aktyvaus serverio arba /RECONNECT ALL, kad iš naujo prisijungti prie visų atvirų serverių" + +#: src/common/outbound.c:3652 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<serveris>] [<portas>] [<slaptažodis>] - gali būti iškviečiamas paprasčiausiai komandos /RECONNECT pagalba, kad iš naujo prisijungti prie aktyvaus serverio arba /RECONNECT ALL, kad iš naujo prisijungti prie visų atvirų serverių" + +#: src/common/outbound.c:3654 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <tekstas> - nusiunčia neformatuotą tekstą xchat programai, lyg ji jį būtų gavusi iš irc serverio" + +#: src/common/outbound.c:3657 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <tekstas> - nusiunčia tekstą objektui aktyviame lange" + +#: src/common/outbound.c:3658 +msgid "SEND <nick> [<file>]" +msgstr "SEND <slapyvardis> [<failas>]" + +#: src/common/outbound.c:3661 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <serveris> <portas> <kanalas> - prisijungia ir įeina į kanalą" + +#: src/common/outbound.c:3664 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <serveris> <portas> <kanalas> - prisijungia ir įeina į kanalą" + +#: src/common/outbound.c:3668 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <serveris> [<portas>] [<slaptažodis>] - prisijungia prie serverio, nutylimasis portas yra 6667 paprastiems prisijungimams ir 9999 - prisijungimams su ssl" + +#: src/common/outbound.c:3671 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <serveris> [<portas>] [<slaptažodis>] - prisijungia prie serverio, nutylimasis portas yra 6667" + +#: src/common/outbound.c:3673 +#, fuzzy +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "SET <kintamasis> [<reikšmė>]" + +#: src/common/outbound.c:3674 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<pozicija>" + +#: src/common/outbound.c:3679 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<tema>] - nustato kanalo temą, jei ji duota, arba parodo esamą temą" + +#: src/common/outbound.c:3681 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:3688 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...] - nuima baną nurodytiems maskams" + +#: src/common/outbound.c:3689 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:3690 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <vardas> - iškrauna įskiepį ar skriptą" + +#: src/common/outbound.c:3691 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <adresas> - atverti adresą naršyklėje" + +#: src/common/outbound.c:3693 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <slapyvardis1> <slapyvardis2> ir t.t. - paryškinti slapyvardį(ius) kanalo naudotojų sąraše" + +#: src/common/outbound.c:3696 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <vartotojas> - suteikia vartotojuio balso teisę (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:3698 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <žinutė> - nusiunčia žinutę visiems kanalams" + +#: src/common/outbound.c:3700 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <žinutė> - nusiunčia žinutę visiems aktyvaus kanalo operatoriams" + +#: src/common/outbound.c:3733 +#, c-format +msgid "Usage: %s\n" +msgstr "Naudojimas: %s\n" + +#: src/common/outbound.c:3738 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Nėra pagalbos įrašo apie šią komandą.\n" + +#: src/common/outbound.c:3744 +msgid "No such command.\n" +msgstr "Nėra tokios komandos.\n" + +#: src/common/outbound.c:4074 +msgid "Bad arguments for user command.\n" +msgstr "Blogi argumentai vartotojo apibrėžtai komandai.\n" + +#: src/common/outbound.c:4230 +msgid "Too many recursive usercommands, aborting." +msgstr "Per daug rekursiškai vykdomų vartotojo komandų, vykdymas nutraukiamas." + +#: src/common/outbound.c:4307 +msgid "Unknown Command. Try /help\n" +msgstr "Nežinoma komanda. Bandyk /help\n" + +#: src/common/plugin.c:356 src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Nerastas xchat_plugin_init simbolis. Ar tai tikrai xchat įskiepis?" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Ar tai tikrai SSL šifravimą palaikantis serveris ir prievadas?\n" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Negaliu iššifruoti serverio vardo: %s\n" +"Patikrink savo IP nustatymus!\n" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "Proxy jungimasis nepavyko.\n" + +#: src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Bandomas kitas tinklo „%s“ serveris...\n" + +#: src/common/servlist.c:1074 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Dėmesio: „%s“ koduotė nežinoma. Konvertavimas tinkle „%s“ nebus vykdomas." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "" + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "" + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "" + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "" + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tGautas CTCP „Sound“ $1 iš $2 (į $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "" + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "" + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "" + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Tipas Į/Iš Būklą— Dydis Pozicija Failas " + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "" + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "" + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "" + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "" + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "" + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "" + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "" + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "" + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "" + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "" + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "" + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "" + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "" + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Formatas PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " Ignoravimo są…rašas tušąias." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "" + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "" + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "" + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "" + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "" + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Stebyklą— " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "" + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "" + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "" + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "" + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "" + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "" + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "" + +#: src/common/text.c:287 +#, fuzzy +msgid "Loaded log from" +msgstr "Įkelti" + +#: src/common/text.c:305 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** ŽURNALO VEDIMAS NUTRAUKTAS %s\n" + +#: src/common/text.c:514 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ŽURNALO VEDIMAS NUTRAUKTAS %s\n" + +#: src/common/text.c:533 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Nepavyko atverti žurnalo failo (-ų) rašymui.\n" +" Patikrinkite „%s/xchatlogs“ leidimus" + +#: src/common/text.c:871 +#, fuzzy +msgid "Left message" +msgstr "Žinutė" + +#: src/common/text.c:872 +#, fuzzy +msgid "Right message" +msgstr "Žinutė" + +#: src/common/text.c:876 +msgid "The nick of the joining person" +msgstr "Prisijungiančio vartotojo vardas" + +#: src/common/text.c:877 +msgid "The channel being joined" +msgstr "Kanalas, prie kurio jungiamasi" + +#: src/common/text.c:878 src/common/text.c:925 src/common/text.c:976 +msgid "The host of the person" +msgstr "Vartotojo kompiuteris" + +#: src/common/text.c:882 src/common/text.c:888 src/common/text.c:895 +#: src/common/text.c:1083 src/common/text.c:1090 src/common/text.c:1095 +#: src/common/text.c:1100 src/common/text.c:1105 src/common/text.c:1111 +#: src/common/text.c:1116 src/common/text.c:1120 src/common/text.c:1126 +#: src/common/text.c:1132 src/common/text.c:1178 src/common/text.c:1189 +#: src/common/text.c:1194 src/common/text.c:1199 src/common/text.c:1208 +#: src/common/text.c:1219 src/common/text.c:1226 src/common/text.c:1232 +#: src/common/text.c:1237 src/common/text.c:1242 src/common/text.c:1249 +#: src/common/text.c:1255 src/common/text.c:1261 src/common/text.c:1266 +#: src/common/text.c:1271 src/common/text.c:1275 src/common/text.c:1281 +#: src/common/text.c:1289 src/common/text.c:1323 src/common/text.c:1328 +msgid "Nickname" +msgstr "Vartotojo vardas" + +#: src/common/text.c:883 +msgid "The action" +msgstr "Veiksmas" + +#: src/common/text.c:884 src/common/text.c:890 +msgid "Mode char" +msgstr "Statuso simbolis" + +#: src/common/text.c:889 +msgid "The text" +msgstr "Tekstas" + +#: src/common/text.c:891 src/common/text.c:897 +#, fuzzy +msgid "Identified text" +msgstr "Info" + +#: src/common/text.c:896 src/common/text.c:953 src/common/text.c:959 +msgid "The message" +msgstr "Žinutė" + +#: src/common/text.c:901 src/common/text.c:963 +msgid "Old nickname" +msgstr "Senas vartotojo vardas" + +#: src/common/text.c:902 src/common/text.c:964 +msgid "New nickname" +msgstr "Naujas vartotojo vardas" + +#: src/common/text.c:906 +msgid "Nick of person who changed the topic" +msgstr "Vartotojo, pakeitusio temą, vardas" + +#: src/common/text.c:907 src/common/text.c:913 src/fe-gtk/chanlist.c:756 +#: src/fe-gtk/chanlist.c:859 +msgid "Topic" +msgstr "Tema" + +#: src/common/text.c:908 src/common/text.c:912 src/common/text.c:1343 +#: src/fe-gtk/chanlist.c:754 src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Kanalas" + +#: src/common/text.c:917 src/common/text.c:970 +msgid "The nickname of the kicker" +msgstr "Išspyręs vartotojas" + +#: src/common/text.c:918 src/common/text.c:968 +msgid "The person being kicked" +msgstr "Išsipirtas vartotojas" + +#: src/common/text.c:919 src/common/text.c:926 src/common/text.c:930 +#: src/common/text.c:935 src/common/text.c:969 src/common/text.c:977 +#: src/common/text.c:984 +msgid "The channel" +msgstr "Kanalas" + +#: src/common/text.c:920 src/common/text.c:971 src/common/text.c:978 +msgid "The reason" +msgstr "Priežastis" + +#: src/common/text.c:924 src/common/text.c:975 +msgid "The nick of the person leaving" +msgstr "Paliekančiojo kanalą vartotojo vardas" + +#: src/common/text.c:931 src/common/text.c:937 +msgid "The time" +msgstr "Laikas" + +#: src/common/text.c:936 +msgid "The creator" +msgstr "Kūrėjas" + +#: src/common/text.c:941 src/fe-gtk/dccgui.c:763 src/fe-gtk/dccgui.c:994 +msgid "Nick" +msgstr "Vartotojo vardas" + +#: src/common/text.c:942 src/common/text.c:1195 +msgid "Reason" +msgstr "Priežastis" + +#: src/common/text.c:943 src/common/text.c:1085 src/common/text.c:1168 +msgid "Host" +msgstr "Adresas" + +#: src/common/text.c:947 src/common/text.c:952 src/common/text.c:957 +msgid "Who it's from" +msgstr "Nuo ko tai" + +#: src/common/text.c:948 +msgid "The time in x.x format (see below)" +msgstr "Laikas x.x formatu (žr. žemiau)" + +#: src/common/text.c:958 src/common/text.c:995 +#, fuzzy +msgid "The Channel it's going to" +msgstr "Kanalų sąrašo langas..." + +#: src/common/text.c:982 +msgid "The sound" +msgstr "Garsas" + +#: src/common/text.c:983 src/common/text.c:989 src/common/text.c:994 +msgid "The nick of the person" +msgstr "Asmens slapyvardis" + +#: src/common/text.c:988 src/common/text.c:993 +msgid "The CTCP event" +msgstr "CTCP įvykis" + +#: src/common/text.c:999 +msgid "The nick of the person who set the key" +msgstr "Nustačiusio raktą slapyvardis" + +#: src/common/text.c:1000 +msgid "The key" +msgstr "Raktas" + +#: src/common/text.c:1004 +msgid "The nick of the person who set the limit" +msgstr "Nustačiusio limitą, slapyvardis" + +#: src/common/text.c:1005 +msgid "The limit" +msgstr "Limitas" + +#: src/common/text.c:1009 +msgid "The nick of the person who did the op'ing" +msgstr "Davusiojo opą slapyvardis" + +#: src/common/text.c:1010 +msgid "The nick of the person who has been op'ed" +msgstr "Gavusiojo opą slapyvardis" + +#: src/common/text.c:1014 +msgid "The nick of the person who has been halfop'ed" +msgstr "Gavusiojo halfopą slapyvardis" + +#: src/common/text.c:1015 +msgid "The nick of the person who did the halfop'ing" +msgstr "Davusiojo halfopą slapyvardis" + +#: src/common/text.c:1019 +msgid "The nick of the person who did the voice'ing" +msgstr "Davusiojo balsą slapyvardis" + +#: src/common/text.c:1020 +msgid "The nick of the person who has been voice'ed" +msgstr "Gavusiojo balsą slapyvardis" + +#: src/common/text.c:1024 +msgid "The nick of the person who did the banning" +msgstr "Uždraudusiojo slapyvardis" + +#: src/common/text.c:1025 src/common/text.c:1052 +msgid "The ban mask" +msgstr "Draudimo formatas" + +#: src/common/text.c:1029 +msgid "The nick who removed the key" +msgstr "Nuėmusiojo raktą slapyvardis" + +#: src/common/text.c:1033 +msgid "The nick who removed the limit" +msgstr "Nuėmusiojo limitą slapyvardis" + +#: src/common/text.c:1037 +msgid "The nick of the person of did the deop'ing" +msgstr "Nuėmusiojo opą slapyvardis" + +#: src/common/text.c:1038 +msgid "The nick of the person who has been deop'ed" +msgstr "Netekusiojo opo slapyvardis" + +#: src/common/text.c:1041 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Nuėmusiojo halfopą slapyvardis" + +#: src/common/text.c:1042 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Netekusiojo halfopo slapyvardis" + +#: src/common/text.c:1046 +msgid "The nick of the person of did the devoice'ing" +msgstr "Nuėmusiojo balsą slapyvardis" + +#: src/common/text.c:1047 +msgid "The nick of the person who has been devoice'ed" +msgstr "Netekusiojo balso slapyvardis" + +#: src/common/text.c:1051 +msgid "The nick of the person of did the unban'ing" +msgstr "Pašalinusiojo draudimą slapyvardis" + +#: src/common/text.c:1056 +msgid "The nick of the person who did the exempt" +msgstr "Padariusiojo išimtį draudimui slapyvardis" + +#: src/common/text.c:1057 src/common/text.c:1062 +msgid "The exempt mask" +msgstr "Išimties draudimui formatas" + +#: src/common/text.c:1061 +msgid "The nick of the person removed the exempt" +msgstr "Pašalinusiojo išimtį draudimui slapyvardis" + +#: src/common/text.c:1066 +msgid "The nick of the person who did the invite" +msgstr "Pakvietusiojo slapyvardis" + +#: src/common/text.c:1067 src/common/text.c:1072 +msgid "The invite mask" +msgstr "Kvietimo formatas" + +#: src/common/text.c:1071 +msgid "The nick of the person removed the invite" +msgstr "Atšaukusiojo kvietimą slapyvardis" + +#: src/common/text.c:1076 +msgid "The nick of the person setting the mode" +msgstr "Nustačiusiojo režimą slapyvardis" + +#: src/common/text.c:1077 +msgid "The mode's sign (+/-)" +msgstr "Režimo ženklas (+/-)" + +#: src/common/text.c:1078 +msgid "The mode letter" +msgstr "Režimo raidė" + +#: src/common/text.c:1079 +msgid "The channel it's being set on" +msgstr "Kanalas, kuriame jis nustatomas" + +#: src/common/text.c:1084 +msgid "Username" +msgstr "Naudotojo vardas" + +#: src/common/text.c:1086 +msgid "Full name" +msgstr "Tikrasis vardas" + +#: src/common/text.c:1091 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Kanalo narys/IRC operatorius" + +#: src/common/text.c:1096 +msgid "Server Information" +msgstr "Serverio informacija" + +#: src/common/text.c:1101 src/common/text.c:1106 +msgid "Idle time" +msgstr "Neveiklumo laikas" + +#: src/common/text.c:1107 +msgid "Signon time" +msgstr "Prisijungimo laikas" + +#: src/common/text.c:1112 +#, fuzzy +msgid "Away reason" +msgstr "Nebūties priežastis:" + +#: src/common/text.c:1121 src/common/text.c:1127 src/common/text.c:1135 +#: src/common/text.c:1315 +#, fuzzy +msgid "Message" +msgstr "Pabaigos žinutė:" + +#: src/common/text.c:1128 +msgid "Account" +msgstr "Paskyra..." + +#: src/common/text.c:1133 +#, fuzzy +msgid "Real user@host" +msgstr "Rodyti vartotojo hostą" + +#: src/common/text.c:1134 +msgid "Real IP" +msgstr "Tikras IP" + +#: src/common/text.c:1139 src/common/text.c:1148 src/common/text.c:1154 +#: src/common/text.c:1184 src/common/text.c:1338 +#, fuzzy +msgid "Channel Name" +msgstr "Kanalų kortelės" + +#: src/common/text.c:1143 src/common/text.c:1301 src/fe-gtk/menu.c:1240 +#: src/fe-gtk/menu.c:1420 src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "Tekstas" + +#: src/common/text.c:1144 src/common/text.c:1150 src/common/text.c:1179 +#: src/common/text.c:1297 src/common/text.c:1339 +#, fuzzy +msgid "Server Name" +msgstr "Proxy serverio hosto vardas:" + +#: src/common/text.c:1149 +msgid "Nick of person who invited you" +msgstr "Pakvietusio Jus slapyvardis" + +#: src/common/text.c:1155 src/fe-gtk/chanlist.c:755 +#, fuzzy +msgid "Users" +msgstr "Vartotojų sąrašas" + +#: src/common/text.c:1159 +msgid "Nickname in use" +msgstr "Slapyvardis užimtas" + +#: src/common/text.c:1160 +msgid "Nick being tried" +msgstr "Bandomas slapyvardis" + +#: src/common/text.c:1169 src/common/text.c:1305 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1170 src/common/text.c:1201 +msgid "Port" +msgstr "Prievadas" + +#: src/common/text.c:1180 src/fe-gtk/notifygui.c:139 src/fe-gtk/setup.c:1669 +msgid "Network" +msgstr "Tinklas" + +#: src/common/text.c:1185 src/common/text.c:1190 +msgid "Modes string" +msgstr "Veiksenų eilutė" + +#: src/common/text.c:1200 src/common/text.c:1238 src/common/text.c:1243 +#: src/common/text.c:1284 +msgid "IP address" +msgstr "IP adresas" + +#: src/common/text.c:1206 src/common/text.c:1231 +msgid "DCC Type" +msgstr "DCC tipas" + +#: src/common/text.c:1207 src/common/text.c:1212 src/common/text.c:1217 +#: src/common/text.c:1224 src/common/text.c:1244 src/common/text.c:1248 +#: src/common/text.c:1254 src/common/text.c:1260 src/common/text.c:1267 +#: src/common/text.c:1276 src/common/text.c:1282 +msgid "Filename" +msgstr "Failo vardas" + +#: src/common/text.c:1218 src/common/text.c:1225 +msgid "Destination filename" +msgstr "Paskirties failo pavad." + +#: src/common/text.c:1227 src/common/text.c:1256 +msgid "CPS" +msgstr "greitis" + +#: src/common/text.c:1262 +msgid "Pathname" +msgstr "Kelias" + +#: src/common/text.c:1277 src/fe-gtk/dccgui.c:759 +#, fuzzy +msgid "Position" +msgstr "Lango vieta" + +#: src/common/text.c:1283 src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "Dydis" + +#: src/common/text.c:1288 +#, fuzzy +msgid "DCC String" +msgstr "DCC Nuostatos" + +#: src/common/text.c:1293 +msgid "Number of notify items" +msgstr "Stebimųjų skaičius" + +#: src/common/text.c:1309 +msgid "Old Filename" +msgstr "Ankstesnysis failo pavad." + +#: src/common/text.c:1310 +msgid "New Filename" +msgstr "Naujasis failo pavad." + +#: src/common/text.c:1314 +#, fuzzy +msgid "Receiver" +msgstr "Gautos bylos" + +#: src/common/text.c:1319 +msgid "Hostmask" +msgstr "Adreso formatas" + +#: src/common/text.c:1324 +msgid "Hostname" +msgstr "Adresas" + +#: src/common/text.c:1329 +msgid "The Packet" +msgstr "Paketas" + +#: src/common/text.c:1333 +msgid "Seconds" +msgstr "sekundžių" + +#: src/common/text.c:1337 +msgid "Nick of person who have been invited" +msgstr "Pakviestojo slapyvardis" + +#: src/common/text.c:1344 +msgid "Banmask" +msgstr "Draudimo formatas" + +#: src/common/text.c:1345 +msgid "Who set the ban" +msgstr "Uždraudusysis" + +#: src/common/text.c:1346 +msgid "Ban time" +msgstr "Draudimo laikas" + +#: src/common/text.c:1386 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Klaida apdorojant įvykį „%s“.\n" +"Įkeliamas numatytasis." + +#: src/common/text.c:2079 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Nepavyko perskaityti garso failo:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "Serveris nutraukė ryšį" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Jungimasis atmestas" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "Maršrutas nerastas" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Nepavyko priskirti šio adreso" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Jungimasis nutrūko" + +#: src/common/util.c:839 +msgid "Ascension Island" +msgstr "Dangun žengimo sala" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "Andora" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "Jungtiniai Arabų Emyratai" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "Afganistanas" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "Antigva ir Barbuda" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "Angilija" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "Albanija" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "Armėnija" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "Olandijos Antilai" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:849 +msgid "Antarctica" +msgstr "Antraktida" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "Atvirkštinis DNS" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "Rytų Samoa" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "Autrija" + +#: src/common/util.c:854 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "Australija" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:857 +msgid "Aland Islands" +msgstr "Alando salos" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "Azerbaidžanas" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "Bosnija ir Hercegovina" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "Barbadosas" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "Bangladešas" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "Belgija" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "Burkina Fasas" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "Bulgarija" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "Bahreinas" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "Burundis" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "Verslo" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "Beninas" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "Bermudos" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "Brunėjus" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "Bolivija" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "Brazilija" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "Bahamos" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "Butanas" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "Buvė sala" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "Botsvana" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "Gudija" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "Belizas" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "Kokosų salos" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "Demokratinė Kongo respublika" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "Centrinės Afrikos respublika" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "Kongas" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "Šveicarija" + +#: src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "Dramblio Kaulo Krantas" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "Kuko salos" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "Čilė" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "Kamerūnas" + +#: src/common/util.c:889 +msgid "China" +msgstr "Kinija" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "Kolumbija" + +#: src/common/util.c:891 +msgid "Internic Commercial" +msgstr "Komercinė įstaiga" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "Kosta Rika" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "Serbija ir Juodkalnija" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "Žaliojo Kyšulio salos" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "Kalėdų sala" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "Kipras" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "Čekija" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "Vokietija" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "Džibutis" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "Danija" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "Dominikana" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "Alžyras" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "Ekvadoras" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "Švietimo įstaiga" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "Estija" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "Egiptas" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "Vakarų Sachara" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "Eritrėja" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "Ispanija" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "Etiopija" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "Europos Sąjunga" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "Suomija" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "Fidžis" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "Folklando salos" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "Mikronezija" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "Farerų salos" + +#: src/common/util.c:919 +msgid "France" +msgstr "Prancūzija" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "Gabonas" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "Didžioji Britanija" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "Gruzija" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "Prancūzijos Gviana" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "Normanų salos" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "Gibraltaras" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "Grenlandija" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "Gambija" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "Gvinėja" + +#: src/common/util.c:931 +msgid "Government" +msgstr "Vyriausybinė institucija" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "Gvadelupė" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "Pusiaujo Gvinėja" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "Graikija" + +#: src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Pietų Georgijos ir Pietų Sandvičo salos" + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "Gvatemala" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "Guamas" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "Bisau Gvinėja" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "Gajana" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "Honkongas" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "Herdo ir Makdonaldo salos" + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "Hondūras" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "Kroatija" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "Haitis" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "Vengrija" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "Indonezija" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "Airija" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "Izraelis" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "Meno sala" + +#: src/common/util.c:950 +msgid "India" +msgstr "Indija" + +#: src/common/util.c:951 +msgid "Informational" +msgstr "Informacinis" + +#: src/common/util.c:952 +msgid "International" +msgstr "Tarptautinis" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "Britų teritorija Indijos vandenyne" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "Irakas" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "Iranas" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "Islandija" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "Italija" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "Džersis" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "Jamaika" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "Jordanija" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "Japonija" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "Kenija" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "Kirgizija" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "Kambodža" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "Kiribatis" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "Kanarų salos" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "Sent Kitsas ir Nevis" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "Šiaurės Korėja" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "Pietų Korėja" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "Kuveitas" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "Kaimanų salos" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "Kazachstanas" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "Laosas" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "Libanas" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "Sent Lusija" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "Lichtenšteinas" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "Šri Lanka" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "Liberija" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "Lesotas" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "Lietuva" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "Liuksemburgas" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "Latvija" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "Libija" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "Morokas" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "Monakas" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "Moldavija" + +#: src/common/util.c:987 +msgid "United States Medical" +msgstr "JAV medicinos įstaiga" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "Madagaskaras" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "Maršalo salos" + +#: src/common/util.c:990 +msgid "Military" +msgstr "Karinė institucija" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "Makedonija" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "Malis" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "Birma" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "Mongolija" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "Makau" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "Šiaurinės Marianų salos" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "Martinika" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "Mauritanija" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "Monseratas" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "Mauricijus" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "Maldyvai" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "Malavis" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "Meksika" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "Malaizija" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "Mozambikas" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "Namibija" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "Naujoji Kaledonija" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "Nigeris" + +#: src/common/util.c:1010 +msgid "Internic Network" +msgstr "Tinklo įstaiga" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "Norfolko sala" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "Nigerija" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "Nikaragva" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "Olandija" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "Norvegija" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "Nepalas" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "Niujė" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "Naujoji Zelandija" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "Omanas" + +#: src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "Ne pelno įstaiga" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "Prancūzijos Polinezija" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "Papua Naujoji Gvinėja" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "Filipinai" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "Pakistanas" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "Lenkija" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "Sent Pjeras ir Mikelonai" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "Pitkerno salos" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "Puerto Rikas" + +#: src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "Palestinos teritorija" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "Portugalija" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "Paragvajus" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "Kataras" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "Rejunjonas" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "Rumunija" + +#: src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "Senasis ARPAnetas" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "Rusijos federacija" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "Saudo Arabija" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "Saliamono salos" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "Seišeliai" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "Sudanas" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "Švedija" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "Singapūras" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "Šv. Elenos kolonija" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "Slovėnija" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbardo ir Jano Majaus salos" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "Slovakija" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "Siera Leonė" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "San Marinas" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "Senegalas" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "Somalis" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "Surinamas" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "San Tomė ir Prinsipė" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "Buvusi SSRS" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "Salvadoras" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "Sirija" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "Svazilandas" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "Turkso ir Kaikoso salos" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "Čadas" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "Indijos vandenyno pietų teritorijos" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "Togas" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "Tailandas" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "Tadžikija" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1069 src/common/util.c:1073 +msgid "East Timor" +msgstr "Rytų Timoras" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "Turkmėnija" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "Tunisas" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "Turkija" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "Trinidadas ir Tobagas" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "Taivanas" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "Tanzanija" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "Ukraina" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "Jungtinė Karalystė" + +#: src/common/util.c:1082 +msgid "United States of America" +msgstr "Jungtinės Amerikos Valstijos" + +#: src/common/util.c:1083 +msgid "Uruguay" +msgstr "Urugvajus" + +#: src/common/util.c:1084 +msgid "Uzbekistan" +msgstr "Uzbekistanas" + +#: src/common/util.c:1085 +msgid "Vatican City State" +msgstr "Vatikanas" + +#: src/common/util.c:1086 +msgid "St. Vincent and the Grenadines" +msgstr "Sent Vinsentas ir Grenadinos" + +#: src/common/util.c:1087 +msgid "Venezuela" +msgstr "Venesuela" + +#: src/common/util.c:1088 +msgid "British Virgin Islands" +msgstr "Mergelės salos (D. Brit.)" + +#: src/common/util.c:1089 +msgid "US Virgin Islands" +msgstr "Mergelės salos (JAV)" + +#: src/common/util.c:1090 +msgid "Vietnam" +msgstr "Vietnamas" + +#: src/common/util.c:1091 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1092 +msgid "Wallis and Futuna Islands" +msgstr "Valiso ir Futunos salos" + +#: src/common/util.c:1093 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1094 +msgid "Yemen" +msgstr "Jemenas" + +#: src/common/util.c:1095 +msgid "Mayotte" +msgstr "Majota" + +#: src/common/util.c:1096 +msgid "Yugoslavia" +msgstr "Jugoslavija" + +#: src/common/util.c:1097 +msgid "South Africa" +msgstr "Pietų Afrika" + +#: src/common/util.c:1098 +msgid "Zambia" +msgstr "Zambija" + +#: src/common/util.c:1099 +msgid "Zimbabwe" +msgstr "Zimbabvė" + +#: src/common/util.c:1109 src/common/util.c:1119 src/fe-gtk/menu.c:553 +#: src/fe-gtk/menu.c:558 src/fe-gtk/menu.c:562 src/fe-gtk/menu.c:566 +#: src/fe-gtk/menu.c:574 src/fe-gtk/menu.c:592 +msgid "Unknown" +msgstr "Nežinoma" + +#: src/common/xchat.c:767 src/common/xchat.c:893 +#, fuzzy +msgid "Open Dialog Window" +msgstr "Savaime atidaryti dialogų langus" + +#: src/common/xchat.c:768 +msgid "Send a File" +msgstr "Siųsti failą" + +#: src/common/xchat.c:769 +msgid "User Info (WHOIS)" +msgstr "Naudotojo informacija (WHOIS)" + +#: src/common/xchat.c:770 +msgid "Operator Actions" +msgstr "Operatoriaus veiksmai" + +#: src/common/xchat.c:772 src/common/xchat.c:863 +msgid "Give Ops" +msgstr "Suteikti operatoriaus statusą" + +#: src/common/xchat.c:773 src/common/xchat.c:864 +msgid "Take Ops" +msgstr "Pašalinti operatoriaus statusą" + +#: src/common/xchat.c:774 src/common/xchat.c:867 +msgid "Give Voice" +msgstr "Suteikti balsą" + +#: src/common/xchat.c:775 src/common/xchat.c:868 +msgid "Take Voice" +msgstr "Pašalinti balsą" + +#: src/common/xchat.c:777 src/common/xchat.c:872 +#, fuzzy +msgid "Kick/Ban" +msgstr "Vartotojo vardas" + +#: src/common/xchat.c:778 src/common/xchat.c:873 src/common/xchat.c:922 +#, fuzzy +msgid "Kick" +msgstr "Vartotojo vardas" + +#: src/common/xchat.c:779 src/common/xchat.c:780 src/common/xchat.c:781 +#: src/common/xchat.c:782 src/common/xchat.c:783 src/common/xchat.c:874 +#: src/common/xchat.c:875 src/common/xchat.c:876 src/common/xchat.c:877 +#: src/common/xchat.c:878 src/common/xchat.c:921 +#, fuzzy +msgid "Ban" +msgstr "Mygtukai" + +#: src/common/xchat.c:784 src/common/xchat.c:785 src/common/xchat.c:786 +#: src/common/xchat.c:787 src/common/xchat.c:879 src/common/xchat.c:880 +#: src/common/xchat.c:881 src/common/xchat.c:882 +#, fuzzy +msgid "KickBan" +msgstr "Vartotojo vardas" + +#: src/common/xchat.c:850 +msgid "Direct client-to-client" +msgstr "Tiesioginis klientas-klientas ryšys" + +#: src/common/xchat.c:851 +#, fuzzy +msgid "Send File" +msgstr "Garsų katalogas:" + +#: src/common/xchat.c:852 +msgid "Offer Chat" +msgstr "Siūlyti pokalbį" + +#: src/common/xchat.c:853 +#, fuzzy +msgid "Abort Chat" +msgstr "Apie X-Chat..." + +#: src/common/xchat.c:854 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Versija" + +#: src/common/xchat.c:855 +#, fuzzy +msgid "Userinfo" +msgstr "Vartotojo meniu" + +#: src/common/xchat.c:856 +#, fuzzy +msgid "Clientinfo" +msgstr "Testuoti nuostatas" + +#: src/common/xchat.c:857 src/common/xchat.c:891 src/common/xchat.c:939 +msgid "Ping" +msgstr "„Ping“" + +#: src/common/xchat.c:858 +#, fuzzy +msgid "Time" +msgstr "Laiko ribos" + +#: src/common/xchat.c:859 +#, fuzzy +msgid "Finger" +msgstr "Wingate" + +#: src/common/xchat.c:860 +msgid "Oper" +msgstr "IRC opams" + +#: src/common/xchat.c:861 +msgid "Kill this user" +msgstr "Atjungti šį naudotoją" + +#: src/common/xchat.c:862 +#, fuzzy +msgid "Mode" +msgstr "Statuso simbolis" + +#: src/common/xchat.c:865 +msgid "Give Half-Ops" +msgstr "Suteikti halfopo statusą" + +#: src/common/xchat.c:866 +msgid "Take Half-Ops" +msgstr "Pašalinti halfopo statusą" + +#: src/common/xchat.c:869 +#, fuzzy +msgid "Ignore" +msgstr "Nerikiuotas" + +#: src/common/xchat.c:870 +#, fuzzy +msgid "Ignore User" +msgstr "Ignoravimo langas..." + +#: src/common/xchat.c:871 +#, fuzzy +msgid "UnIgnore User" +msgstr "Nerikiuotas" + +#: src/common/xchat.c:883 +msgid "Info" +msgstr "Info" + +#: src/common/xchat.c:884 +msgid "Who" +msgstr "„Who“" + +#: src/common/xchat.c:885 src/common/xchat.c:935 +msgid "WhoIs" +msgstr "„WhoIs“" + +#: src/common/xchat.c:886 +#, fuzzy +msgid "DNS Lookup" +msgstr "DNS paieškos programa:" + +#: src/common/xchat.c:887 +#, fuzzy +msgid "Trace" +msgstr "Atšaukti" + +#: src/common/xchat.c:888 +#, fuzzy +msgid "UserHost" +msgstr "Vartotojų sąrašas" + +#: src/common/xchat.c:889 +#, fuzzy +msgid "External" +msgstr "Išorinės programos" + +#: src/common/xchat.c:890 +msgid "Traceroute" +msgstr "„Traceroute“" + +#: src/common/xchat.c:892 +msgid "Telnet" +msgstr "„Telnet“" + +#: src/common/xchat.c:904 +#, fuzzy +msgid "Leave Channel" +msgstr "Kanalas" + +#: src/common/xchat.c:905 src/fe-gtk/menu.c:1427 +#, fuzzy +msgid "Join Channel..." +msgstr "Nauja kanalo kortelė..." + +#: src/common/xchat.c:906 src/fe-gtk/menu.c:1117 +#, fuzzy +msgid "Enter Channel to Join:" +msgstr "Kanalų sąrašo langas..." + +#: src/common/xchat.c:907 +#, fuzzy +msgid "Server Links" +msgstr "Serverių sąrašas..." + +#: src/common/xchat.c:908 +#, fuzzy +msgid "Ping Server" +msgstr "Proxy serveris" + +#: src/common/xchat.c:909 +msgid "Hide Version" +msgstr "Paslėpti versiją" + +#: src/common/xchat.c:919 +msgid "Op" +msgstr "Duoti opą" + +#: src/common/xchat.c:920 +msgid "DeOp" +msgstr "Pašalinti opą" + +#: src/common/xchat.c:923 +msgid "bye" +msgstr "iki" + +#: src/common/xchat.c:924 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Įveskite %s išmetimo priežastį:" + +#: src/common/xchat.c:925 +#, fuzzy +msgid "Sendfile" +msgstr "Garsų katalogas:" + +#: src/common/xchat.c:926 +msgid "Dialog" +msgstr "Dialogas" + +#: src/common/xchat.c:936 +#, fuzzy +msgid "Send" +msgstr "Garsas" + +#: src/common/xchat.c:937 +#, fuzzy +msgid "Chat" +msgstr "X-Chat" + +#: src/common/xchat.c:938 src/fe-gtk/banlist.c:341 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Išvalyti" + +#: src/common/dbus/dbus-client.c:71 +msgid "Couldn't connect to session bus" +msgstr "Nepavyko prisijungti prie sesijos magistralės" + +#: src/common/dbus/dbus-client.c:85 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:106 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:30 +#, fuzzy +msgid "remote access" +msgstr "Negaliu pasiekti %s\n" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "įskiepis nuotoliniam priėjimui per DBUS" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Nepavyko prisijungti prie sesijos magistralės: %s\n" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Nepavyko gauti %s: %s\n" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "Apie XChat" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Simbolių lentelė" + +#: src/fe-gtk/banlist.c:113 src/fe-gtk/chanlist.c:305 +#: src/fe-gtk/plugin-tray.c:217 +#, fuzzy +msgid "Not connected." +msgstr "Atsijungta." + +#: src/fe-gtk/banlist.c:154 src/fe-gtk/banlist.c:257 +msgid "You must select some bans." +msgstr "" + +#: src/fe-gtk/banlist.c:206 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:272 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Šablonas" + +#: src/fe-gtk/banlist.c:273 +msgid "From" +msgstr "Nuo" + +#: src/fe-gtk/banlist.c:274 +msgid "Date" +msgstr "Data" + +#: src/fe-gtk/banlist.c:317 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:321 +#, fuzzy, c-format +msgid "XChat: Ban List (%s)" +msgstr "Vartotojų sąrašo mygtukai..." + +#: src/fe-gtk/banlist.c:337 +msgid "Unban" +msgstr "" + +#: src/fe-gtk/banlist.c:339 +msgid "Crop" +msgstr "" + +#: src/fe-gtk/banlist.c:343 +msgid "Refresh" +msgstr "Atnaujinti" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:522 src/fe-gtk/menu.c:1053 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "" + +#: src/fe-gtk/chanlist.c:626 src/fe-gtk/chanlist.c:789 +#, fuzzy +msgid "_Join Channel" +msgstr "Nauja kanalo kortelė..." + +#: src/fe-gtk/chanlist.c:628 +#, fuzzy +msgid "_Copy Channel Name" +msgstr "Kanalų kortelės" + +#: src/fe-gtk/chanlist.c:630 +msgid "Copy _Topic Text" +msgstr "" + +#: src/fe-gtk/chanlist.c:714 +#, fuzzy, c-format +msgid "XChat: Channel List (%s)" +msgstr "Vartotojų sąrašo mygtukai..." + +#: src/fe-gtk/chanlist.c:771 +msgid "_Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:777 +#, fuzzy +msgid "_Download List" +msgstr "Garsų katalogas:" + +#: src/fe-gtk/chanlist.c:783 +#, fuzzy +msgid "Save _List..." +msgstr "Serverių sąrašas..." + +#: src/fe-gtk/chanlist.c:796 +#, fuzzy +msgid "Show only:" +msgstr "Rodyti niką" + +#: src/fe-gtk/chanlist.c:808 +#, fuzzy +msgid "channels with" +msgstr "Kanalų kortelės" + +#: src/fe-gtk/chanlist.c:821 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:833 +#, fuzzy +msgid "users." +msgstr "Vartotojų sąrašas" + +#: src/fe-gtk/chanlist.c:839 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:851 +#, fuzzy +msgid "Channel name" +msgstr "Kanalų kortelės" + +#: src/fe-gtk/chanlist.c:872 +#, fuzzy +msgid "Search type:" +msgstr "_Paieška buferyje..." + +#: src/fe-gtk/chanlist.c:879 +msgid "Simple Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:880 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:882 +msgid "Regular Expression" +msgstr "" + +#: src/fe-gtk/chanlist.c:893 src/fe-gtk/search.c:118 +#, fuzzy +msgid "Find:" +msgstr "Šriftas:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "" + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:507 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "" + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:756 src/fe-gtk/dccgui.c:993 src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "Būsena" + +#: src/fe-gtk/dccgui.c:757 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Failas" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "" + +#: src/fe-gtk/dccgui.c:784 src/fe-gtk/menu.c:1421 +#, fuzzy +msgid "Both" +msgstr "Apačioje" + +#: src/fe-gtk/dccgui.c:790 +msgid "Uploads" +msgstr "Išsiuntimai" + +#: src/fe-gtk/dccgui.c:796 +msgid "Downloads" +msgstr "Parsiuntimai" + +#: src/fe-gtk/dccgui.c:801 +msgid "Details" +msgstr "Detalės" + +#: src/fe-gtk/dccgui.c:812 +msgid "File:" +msgstr "Failas:" + +#: src/fe-gtk/dccgui.c:813 +msgid "Address:" +msgstr "Adresas:" + +#: src/fe-gtk/dccgui.c:819 src/fe-gtk/dccgui.c:1014 +msgid "Abort" +msgstr "Nutraukti" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1015 +msgid "Accept" +msgstr "Priimti" + +#: src/fe-gtk/dccgui.c:821 +msgid "Resume" +msgstr "Pratęsti" + +#: src/fe-gtk/dccgui.c:822 +msgid "Open Folder..." +msgstr "Atverti aplanką..." + +#: src/fe-gtk/dccgui.c:982 +#, fuzzy +msgid "XChat: DCC Chat List" +msgstr "Vartotojų sąrašo mygtukai..." + +#: src/fe-gtk/dccgui.c:995 +msgid "Recv" +msgstr "" + +#: src/fe-gtk/dccgui.c:996 +msgid "Sent" +msgstr "" + +#: src/fe-gtk/dccgui.c:997 +msgid "Start Time" +msgstr "" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Pavadinimas" + +#: src/fe-gtk/editlist.c:311 +#, fuzzy +msgid "Command" +msgstr "Grojimo komanda:" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Atšaukti" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Pagalba" + +#: src/fe-gtk/fe-gtk.c:126 +#, fuzzy +msgid "Don't auto connect to servers" +msgstr "Savaime vėl prisijungti prie serverio" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:133 +msgid "Open URL in an existing XChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "level" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "Show version information" +msgstr "Rodyti versijos informaciją" + +#: src/fe-gtk/fe-gtk.c:256 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:635 +#, fuzzy +msgid "Search buffer is empty.\n" +msgstr "_Paieška buferyje..." + +#: src/fe-gtk/fe-gtk.c:731 +#, c-format +msgid "%d bytes" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1616 src/fe-gtk/maingui.c:1719 +#: src/fe-gtk/maingui.c:3201 +msgid "<none>" +msgstr "<joks>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "" + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Klavišas" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "" + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "" + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "" + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:2100 +msgid "Private" +msgstr "" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +#, fuzzy +msgid "Invite" +msgstr "Nematomas" + +#: src/fe-gtk/ignoregui.c:182 +#, fuzzy +msgid "Unignore" +msgstr "Nerikiuotas" + +#: src/fe-gtk/ignoregui.c:307 +#, fuzzy +msgid "Enter mask to ignore:" +msgstr "Kanalų sąrašo langas..." + +#: src/fe-gtk/ignoregui.c:354 +#, fuzzy +msgid "XChat: Ignore list" +msgstr "Serverių sąrašas..." + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:369 +#, fuzzy +msgid "Channel:" +msgstr "Atšaukti" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:372 +#, fuzzy +msgid "CTCP:" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:373 +#, fuzzy +msgid "Invite:" +msgstr "Nematomas" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:420 +#, fuzzy +msgid "Add..." +msgstr "Adresas" + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:125 +#, fuzzy +msgid "XChat: Connection Complete" +msgstr "Pranešimas:" + +#: src/fe-gtk/joind.c:150 +#, fuzzy, c-format +msgid "Connection to %s complete." +msgstr "Pranešimas:" + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:179 +#, fuzzy +msgid "_Join this channel:" +msgstr "Nauja kanalo kortelė..." + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:198 +#, fuzzy +msgid "O_pen the Channel-List window." +msgstr "Kanalų kortelės" + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:500 +#, fuzzy +msgid "Dialog with" +msgstr "Dialogų langai" + +#: src/fe-gtk/maingui.c:787 +#, c-format +msgid "Topic for %s is: %s" +msgstr "" + +#: src/fe-gtk/maingui.c:792 +msgid "No topic is set" +msgstr "" + +#: src/fe-gtk/maingui.c:1177 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1304 +msgid "Quit XChat?" +msgstr "Užverti XChat?" + +#: src/fe-gtk/maingui.c:1325 +msgid "Don't ask next time." +msgstr "Kitą kartą neklausti." + +#: src/fe-gtk/maingui.c:1331 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Esate prisijungę prie %i IRC tinklų." + +#: src/fe-gtk/maingui.c:1333 +msgid "Are you sure you want to quit?" +msgstr "Ar tikrai norite išeiti?" + +#: src/fe-gtk/maingui.c:1335 +msgid "Some file transfers are still active." +msgstr "Yra aktyvių failų siuntimų." + +#: src/fe-gtk/maingui.c:1353 +msgid "_Minimize to Tray" +msgstr "_Mažinti į dėklę" + +#: src/fe-gtk/maingui.c:1567 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1569 +msgid "<b>Bold</b>" +msgstr "" + +#: src/fe-gtk/maingui.c:1570 +msgid "<u>Underline</u>" +msgstr "" + +#: src/fe-gtk/maingui.c:1572 +#, fuzzy +msgid "Normal" +msgstr "Nėra" + +#: src/fe-gtk/maingui.c:1574 +#, fuzzy +msgid "Colors 0-7" +msgstr "Uždaryti" + +#: src/fe-gtk/maingui.c:1584 +#, fuzzy +msgid "Colors 8-15" +msgstr "Uždaryti" + +#: src/fe-gtk/maingui.c:1629 +#, fuzzy +msgid "Beep on message" +msgstr "Pyptelėti, gavus asmeninę žinutę" + +#: src/fe-gtk/maingui.c:1632 +#, fuzzy +msgid "Blink tray on message" +msgstr "Pyptelėti, gavus asmeninę žinutę" + +#: src/fe-gtk/maingui.c:1635 +#, fuzzy +msgid "Show join/part messages" +msgstr "Pyptelėti, gavus asmeninę žinutę" + +#: src/fe-gtk/maingui.c:1637 +#, fuzzy +msgid "Color paste" +msgstr "Uždaryti" + +#: src/fe-gtk/maingui.c:1647 src/fe-gtk/menu.c:1950 +#, fuzzy +msgid "_Close Tab" +msgstr "Uždaryti" + +#: src/fe-gtk/maingui.c:1649 src/fe-gtk/menu.c:1949 +msgid "_Detach Tab" +msgstr "" + +#: src/fe-gtk/maingui.c:1968 src/fe-gtk/maingui.c:2074 +msgid "User limit must be a number!\n" +msgstr "" + +#: src/fe-gtk/maingui.c:2096 +msgid "Topic Protection" +msgstr "" + +#: src/fe-gtk/maingui.c:2097 +msgid "No outside messages" +msgstr "" + +#: src/fe-gtk/maingui.c:2098 +msgid "Secret" +msgstr "" + +#: src/fe-gtk/maingui.c:2099 +msgid "Invite Only" +msgstr "" + +#: src/fe-gtk/maingui.c:2101 +msgid "Moderated" +msgstr "" + +#: src/fe-gtk/maingui.c:2102 +#, fuzzy +msgid "Ban List" +msgstr "Kanalų sąrašo langas..." + +#: src/fe-gtk/maingui.c:2104 +msgid "Keyword" +msgstr "" + +#: src/fe-gtk/maingui.c:2116 +#, fuzzy +msgid "User Limit" +msgstr "Vartotojų sąrašas" + +#: src/fe-gtk/maingui.c:2225 +#, fuzzy +msgid "Show/Hide userlist" +msgstr "Rodyti vartotojo hostą" + +#: src/fe-gtk/maingui.c:2350 +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 "" + +#: src/fe-gtk/maingui.c:2621 +#, fuzzy +msgid "Enter new nickname:" +msgstr "Rodyti niką" + +#: src/fe-gtk/menu.c:124 +msgid "Host unknown" +msgstr "" + +#: src/fe-gtk/menu.c:544 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "" + +#: src/fe-gtk/menu.c:549 src/fe-gtk/menu.c:553 +#, fuzzy +msgid "Real Name:" +msgstr "Kanalų kortelės" + +#: src/fe-gtk/menu.c:557 +#, fuzzy +msgid "User:" +msgstr "Vartotojo meniu" + +#: src/fe-gtk/menu.c:561 +#, fuzzy +msgid "Country:" +msgstr "Šriftas:" + +#: src/fe-gtk/menu.c:565 +#, fuzzy +msgid "Server:" +msgstr "Proxy serveris" + +#: src/fe-gtk/menu.c:577 +#, fuzzy +msgid "Away Msg:" +msgstr "Nebūties priežastis:" + +#: src/fe-gtk/menu.c:587 +#, c-format +msgid "%u minutes ago" +msgstr "" + +#: src/fe-gtk/menu.c:589 src/fe-gtk/menu.c:592 +msgid "Last Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:704 +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 "" + +#: src/fe-gtk/menu.c:799 +msgid "Open Link in Browser" +msgstr "" + +#: src/fe-gtk/menu.c:800 +msgid "Copy Selected Link" +msgstr "" + +#: src/fe-gtk/menu.c:862 src/fe-gtk/menu.c:1100 +msgid "Join Channel" +msgstr "" + +#: src/fe-gtk/menu.c:866 +msgid "Part Channel" +msgstr "" + +#: src/fe-gtk/menu.c:868 +#, fuzzy +msgid "Cycle Channel" +msgstr "Nauja kanalo kortelė..." + +#: src/fe-gtk/menu.c:892 +#, fuzzy +msgid "XChat: User menu" +msgstr "X-Chat: Nuostatos" + +#: src/fe-gtk/menu.c:901 +#, fuzzy +msgid "Edit This Menu..." +msgstr "Keisti vartotojo meniu..." + +#: src/fe-gtk/menu.c:1102 +#, fuzzy +msgid "Retrieve channel list..." +msgstr "Kanalų sąrašo langas..." + +#: src/fe-gtk/menu.c:1170 +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 = xchat 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 "" + +#: src/fe-gtk/menu.c:1186 +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 "" + +#: src/fe-gtk/menu.c:1196 +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 "" + +#: src/fe-gtk/menu.c:1206 +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 "" + +#: src/fe-gtk/menu.c:1217 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" + +#: src/fe-gtk/menu.c:1226 +#, fuzzy +msgid "XChat: User Defined Commands" +msgstr "" +"Vartotojo aprašytos komandos:\n" +"\n" +" " + +#: src/fe-gtk/menu.c:1233 +#, fuzzy +msgid "XChat: Userlist Popup menu" +msgstr "X-Chat: Nuostatos" + +#: src/fe-gtk/menu.c:1240 +msgid "Replace with" +msgstr "" + +#: src/fe-gtk/menu.c:1240 +#, fuzzy +msgid "XChat: Replace" +msgstr "X-Chat: Nuostatos" + +#: src/fe-gtk/menu.c:1247 +msgid "XChat: URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1266 +#, fuzzy +msgid "XChat: Userlist buttons" +msgstr "Vartotojų sąrašo mygtukai..." + +#: src/fe-gtk/menu.c:1273 +#, fuzzy +msgid "XChat: Dialog buttons" +msgstr "Vartotojų sąrašo mygtukai..." + +#: src/fe-gtk/menu.c:1280 +#, fuzzy +msgid "XChat: CTCP Replies" +msgstr "CTCP atsakymai..." + +#: src/fe-gtk/menu.c:1378 +#, fuzzy +msgid "_XChat" +msgstr "_X-Chat" + +#: src/fe-gtk/menu.c:1379 +#, fuzzy +msgid "Network Li_st..." +msgstr "Notify sąrašo langas..." + +#: src/fe-gtk/menu.c:1382 +msgid "_New" +msgstr "" + +#: src/fe-gtk/menu.c:1383 +#, fuzzy +msgid "Server Tab..." +msgstr "Nauja serverio kortelė..." + +#: src/fe-gtk/menu.c:1384 +#, fuzzy +msgid "Channel Tab..." +msgstr "Nauja kanalo kortelė..." + +#: src/fe-gtk/menu.c:1385 +#, fuzzy +msgid "Server Window..." +msgstr "Naujas serverio langas..." + +#: src/fe-gtk/menu.c:1386 +#, fuzzy +msgid "Channel Window..." +msgstr "Naujas kanalo langas..." + +#: src/fe-gtk/menu.c:1391 src/fe-gtk/menu.c:1393 +#, fuzzy +msgid "_Load Plugin or Script..." +msgstr "Įkelti Perl skriptą..." + +#: src/fe-gtk/menu.c:1401 src/fe-gtk/plugin-tray.c:463 +#, fuzzy +msgid "_Quit" +msgstr "Išeiti" + +#: src/fe-gtk/menu.c:1403 +msgid "_View" +msgstr "_Rodyti" + +#: src/fe-gtk/menu.c:1405 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1406 +#, fuzzy +msgid "_Topic Bar" +msgstr "Tema" + +#: src/fe-gtk/menu.c:1407 +#, fuzzy +msgid "_User List" +msgstr "Vartotojų sąrašas" + +#: src/fe-gtk/menu.c:1408 +#, fuzzy +msgid "U_serlist Buttons" +msgstr "Vartotojų sąrašo mygtukai..." + +#: src/fe-gtk/menu.c:1409 +#, fuzzy +msgid "M_ode Buttons" +msgstr "Kanalo būdo mygtukai" + +#: src/fe-gtk/menu.c:1411 +#, fuzzy +msgid "_Channel Switcher" +msgstr "Kanalų sąrašo langas..." + +#: src/fe-gtk/menu.c:1413 +#, fuzzy +msgid "_Tabs" +msgstr "Kortelės" + +#: src/fe-gtk/menu.c:1414 +msgid "T_ree" +msgstr "" + +#: src/fe-gtk/menu.c:1416 +msgid "_Network Meters" +msgstr "" + +#: src/fe-gtk/menu.c:1418 +msgid "Off" +msgstr "" + +#: src/fe-gtk/menu.c:1419 +msgid "Graph" +msgstr "" + +#: src/fe-gtk/menu.c:1424 +#, fuzzy +msgid "_Server" +msgstr "Proxy serveris" + +#: src/fe-gtk/menu.c:1425 +#, fuzzy +msgid "_Disconnect" +msgstr "Jungiuosi" + +#: src/fe-gtk/menu.c:1426 +#, fuzzy +msgid "_Reconnect" +msgstr "Jungiuosi" + +#: src/fe-gtk/menu.c:1430 +msgid "Marked Away" +msgstr "Manęs nėra" + +#: src/fe-gtk/menu.c:1432 +#, fuzzy +msgid "_Usermenu" +msgstr "Vartotojo meniu" + +#: src/fe-gtk/menu.c:1434 +#, fuzzy +msgid "S_ettings" +msgstr "Nuostatos" + +#: src/fe-gtk/menu.c:1435 +#, fuzzy +msgid "_Preferences" +msgstr "X-Chat: Nuostatos" + +#: src/fe-gtk/menu.c:1437 +msgid "Advanced" +msgstr "" + +#: src/fe-gtk/menu.c:1438 +#, fuzzy +msgid "Auto Replace..." +msgstr "Pakeisti..." + +#: src/fe-gtk/menu.c:1439 +#, fuzzy +msgid "CTCP Replies..." +msgstr "CTCP atsakymai..." + +#: src/fe-gtk/menu.c:1440 +#, fuzzy +msgid "Dialog Buttons..." +msgstr "Vartotojų sąrašo mygtukai..." + +#: src/fe-gtk/menu.c:1441 +msgid "Keyboard Shortcuts..." +msgstr "" + +#: src/fe-gtk/menu.c:1442 +#, fuzzy +msgid "Text Events..." +msgstr "Keisti įvykių užrašus..." + +#: src/fe-gtk/menu.c:1443 +msgid "URL Handlers..." +msgstr "" + +#: src/fe-gtk/menu.c:1444 +#, fuzzy +msgid "User Commands..." +msgstr "Vartotojo komandos..." + +#: src/fe-gtk/menu.c:1445 +#, fuzzy +msgid "Userlist Buttons..." +msgstr "Vartotojų sąrašo mygtukai..." + +#: src/fe-gtk/menu.c:1446 +#, fuzzy +msgid "Userlist Popup..." +msgstr "Vartotojų sąrašo mygtukai..." + +#: src/fe-gtk/menu.c:1449 +#, fuzzy +msgid "_Window" +msgstr "_Langai" + +#: src/fe-gtk/menu.c:1450 +#, fuzzy +msgid "Ban List..." +msgstr "Kanalų sąrašo langas..." + +#: src/fe-gtk/menu.c:1451 +#, fuzzy +msgid "Channel List..." +msgstr "Kanalų sąrašo langas..." + +#: src/fe-gtk/menu.c:1452 +#, fuzzy +msgid "Character Chart..." +msgstr "Simbolių aibė" + +#: src/fe-gtk/menu.c:1453 +#, fuzzy +msgid "Direct Chat..." +msgstr "DCC pokalbio langas..." + +#: src/fe-gtk/menu.c:1454 +#, fuzzy +msgid "File Transfers..." +msgstr "Bylų siuntimas" + +#: src/fe-gtk/menu.c:1455 +#, fuzzy +msgid "Ignore List..." +msgstr "Ignoravimo langas..." + +#: src/fe-gtk/menu.c:1456 +#, fuzzy +msgid "Notify List..." +msgstr "Notify sąrašo langas..." + +#: src/fe-gtk/menu.c:1457 +#, fuzzy +msgid "Plugins and Scripts..." +msgstr "Priedų sąrašas" + +#: src/fe-gtk/menu.c:1458 +#, fuzzy +msgid "Raw Log..." +msgstr "Ryšio Log langas..." + +#: src/fe-gtk/menu.c:1459 +#, fuzzy +msgid "URL Grabber..." +msgstr "URL griebiklio langas..." + +#: src/fe-gtk/menu.c:1461 +msgid "Reset Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +#, fuzzy +msgid "C_lear Text" +msgstr "Uždaryti" + +#: src/fe-gtk/menu.c:1464 +#, fuzzy +msgid "Search Text..." +msgstr "_Paieška buferyje..." + +#: src/fe-gtk/menu.c:1465 +#, fuzzy +msgid "Save Text..." +msgstr "Keisti įvykių užrašus..." + +#: src/fe-gtk/menu.c:1467 src/fe-gtk/menu.c:1941 +msgid "_Help" +msgstr "_Pagalba" + +#: src/fe-gtk/menu.c:1468 +#, fuzzy +msgid "_Contents" +msgstr "Jungiuosi" + +#: src/fe-gtk/menu.c:1469 +#, fuzzy +msgid "_About" +msgstr "Apie X-Chat..." + +#: src/fe-gtk/menu.c:1954 +#, fuzzy +msgid "_Attach Window" +msgstr "_Langai" + +#: src/fe-gtk/menu.c:1955 +#, fuzzy +msgid "_Close Window" +msgstr "_Langai" + +#: src/fe-gtk/notifygui.c:137 +#, fuzzy +msgid "User" +msgstr "Vartotojo meniu" + +#: src/fe-gtk/notifygui.c:140 +#, fuzzy +msgid "Last Seen" +msgstr "Greitas DCC siuntimas" + +#: src/fe-gtk/notifygui.c:181 +msgid "Offline" +msgstr "" + +#: src/fe-gtk/notifygui.c:201 src/fe-gtk/setup.c:229 +msgid "Never" +msgstr "Niekada" + +#: src/fe-gtk/notifygui.c:204 src/fe-gtk/notifygui.c:229 +#, c-format +msgid "%d minutes ago" +msgstr "prieš %d minučių" + +#: src/fe-gtk/notifygui.c:219 +#, fuzzy +msgid "Online" +msgstr "Dokumentacija..." + +#: src/fe-gtk/notifygui.c:348 +#, fuzzy +msgid "Enter nickname to add:" +msgstr "Rodyti niką" + +#: src/fe-gtk/notifygui.c:376 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:387 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:407 +#, fuzzy +msgid "XChat: Notify List" +msgstr "Notify sąrašo langas..." + +#: src/fe-gtk/notifygui.c:424 +msgid "Remove" +msgstr "" + +#: src/fe-gtk/notifygui.c:428 +#, fuzzy +msgid "Open Dialog" +msgstr "Savaime atidaryti dialogų langus" + +#: src/fe-gtk/plugin-tray.c:163 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" + +#: src/fe-gtk/plugin-tray.c:214 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:451 +msgid "_Restore" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:453 +#, fuzzy +msgid "_Hide" +msgstr "Paslėpta" + +#: src/fe-gtk/plugin-tray.c:456 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:457 src/fe-gtk/setup.c:467 +#, fuzzy +msgid "Channel Message" +msgstr "Kanalų kortelės" + +#: src/fe-gtk/plugin-tray.c:458 src/fe-gtk/setup.c:468 +#, fuzzy +msgid "Private Message" +msgstr "Asmeninių žinučių kortelės" + +#: src/fe-gtk/plugin-tray.c:459 src/fe-gtk/setup.c:469 +#, fuzzy +msgid "Highlighted Message" +msgstr "Paryškinti Notify" + +#: src/fe-gtk/plugin-tray.c:507 src/fe-gtk/plugin-tray.c:515 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:510 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:533 src/fe-gtk/plugin-tray.c:540 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:536 +#, c-format +msgid "XChat: %u new public messages." +msgstr "" + +#: src/fe-gtk/plugin-tray.c:562 src/fe-gtk/plugin-tray.c:569 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:565 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:615 src/fe-gtk/plugin-tray.c:623 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:618 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "" + +#: src/fe-gtk/plugingui.c:223 +#, fuzzy +msgid "XChat: Plugins and Scripts" +msgstr "Visus priedus" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "Į_kelti" + +#: src/fe-gtk/plugingui.c:232 +#, fuzzy +msgid "_UnLoad" +msgstr "Įkelti" + +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "_Užverti" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:438 +#: src/fe-gtk/urlgrab.c:205 +#, fuzzy +msgid "Save As..." +msgstr "Keisti įvykių užrašus..." + +#: src/fe-gtk/rawlog.c:97 +#, fuzzy, c-format +msgid "XChat: Rawlog (%s)" +msgstr "Vartotojų sąrašo mygtukai..." + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "" + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "" + +#: src/fe-gtk/search.c:109 +#, fuzzy +msgid "XChat: Search" +msgstr "X-Chat: Nuostatos" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "" + +#: src/fe-gtk/search.c:146 +#, fuzzy +msgid "_Find" +msgstr "Šriftas:" + +#: src/fe-gtk/servlistgui.c:170 src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "Naujas tinklas" + +#: src/fe-gtk/servlistgui.c:554 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "" + +#: src/fe-gtk/servlistgui.c:678 +msgid "User name and Real name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:978 +#, fuzzy, c-format +msgid "XChat: Edit %s" +msgstr "Vartotojų sąrašo mygtukai..." + +#: src/fe-gtk/servlistgui.c:997 +#, fuzzy, c-format +msgid "Servers for %s" +msgstr "Serverių sąrašas..." + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Connect to selected server only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1009 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1011 +#, fuzzy +msgid "Your Details" +msgstr "Tavo IRC nuostatos" + +#: src/fe-gtk/servlistgui.c:1017 +#, fuzzy +msgid "Use global user information" +msgstr "Vartotojo meniu" + +#: src/fe-gtk/servlistgui.c:1020 src/fe-gtk/servlistgui.c:1252 +#, fuzzy +msgid "_Nick name:" +msgstr "Rodyti niką" + +#: src/fe-gtk/servlistgui.c:1024 src/fe-gtk/servlistgui.c:1259 +#, fuzzy +msgid "Second choice:" +msgstr "Siųsti /whois" + +#: src/fe-gtk/servlistgui.c:1028 src/fe-gtk/servlistgui.c:1273 +#, fuzzy +msgid "_User name:" +msgstr "Proxy serverio hosto vardas:" + +#: src/fe-gtk/servlistgui.c:1032 src/fe-gtk/servlistgui.c:1280 +#, fuzzy +msgid "Rea_l name:" +msgstr "Kanalų kortelės" + +#: src/fe-gtk/servlistgui.c:1035 +#, fuzzy +msgid "Connecting" +msgstr "Jungiuosi" + +#: src/fe-gtk/servlistgui.c:1041 +#, fuzzy +msgid "Auto connect to this network at startup" +msgstr "Savaime perskirti" + +#: src/fe-gtk/servlistgui.c:1043 +#, fuzzy +msgid "Use a proxy server" +msgstr "Proxy serveris" + +#: src/fe-gtk/servlistgui.c:1045 +msgid "Use SSL for all the servers on this network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1050 +msgid "Accept invalid SSL certificate" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1056 +#, fuzzy +msgid "C_hannels to join:" +msgstr "Kanalų sąrašo langas..." + +#: src/fe-gtk/servlistgui.c:1058 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1061 +#, fuzzy +msgid "Connect command:" +msgstr "Pranešimas:" + +#: src/fe-gtk/servlistgui.c:1063 +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 "" + +#: src/fe-gtk/servlistgui.c:1066 +#, fuzzy +msgid "Nickserv password:" +msgstr "Proxy serverio prievadas:" + +#: src/fe-gtk/servlistgui.c:1068 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1072 +#, fuzzy +msgid "Server password:" +msgstr "Proxy serverio prievadas:" + +#: src/fe-gtk/servlistgui.c:1074 +msgid "Password for the server, if in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1077 +#, fuzzy +msgid "Character set:" +msgstr "Simbolių aibė" + +#: src/fe-gtk/servlistgui.c:1147 +msgid "_Edit" +msgstr "_Keisti" + +#: src/fe-gtk/servlistgui.c:1230 +#, fuzzy +msgid "XChat: Network List" +msgstr "Serverių sąrašas..." + +#: src/fe-gtk/servlistgui.c:1242 +msgid "User Information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1266 +msgid "Third choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1326 +msgid "Networks" +msgstr "Tinklai" + +#: src/fe-gtk/servlistgui.c:1367 +#, fuzzy +msgid "Skip network list on startup" +msgstr "Nerodyti serverių sąrašo pradžioje" + +#: src/fe-gtk/servlistgui.c:1399 +#, fuzzy +msgid "_Edit..." +msgstr "Įkelti" + +#: src/fe-gtk/servlistgui.c:1406 +#, fuzzy +msgid "_Sort" +msgstr "Šriftas:" + +#: src/fe-gtk/servlistgui.c:1407 +msgid "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1432 +#, fuzzy +msgid "C_onnect" +msgstr "Pranešimas:" + +#: src/fe-gtk/setup.c:102 +#, fuzzy +msgid "Text Box Appearance" +msgstr "Išvaizda" + +#: src/fe-gtk/setup.c:103 +msgid "Font:" +msgstr "Šriftas:" + +#: src/fe-gtk/setup.c:104 +#, fuzzy +msgid "Background image:" +msgstr "Paveikslėlis fonui:" + +#: src/fe-gtk/setup.c:105 +msgid "Scrollback lines:" +msgstr "" + +#: src/fe-gtk/setup.c:106 +#, fuzzy +msgid "Colored nick names" +msgstr "Spalvoti nikai" + +#: src/fe-gtk/setup.c:107 +msgid "Give each person on IRC a different color" +msgstr "" + +#: src/fe-gtk/setup.c:108 +#, fuzzy +msgid "Indent nick names" +msgstr "Lygiuoti nikus" + +#: src/fe-gtk/setup.c:109 +#, fuzzy +msgid "Make nick names right-justified" +msgstr "Lygiuoti nikus prie dešinės." + +#: src/fe-gtk/setup.c:110 +#, fuzzy +msgid "Transparent background" +msgstr "Skaidrus fonas" + +#: src/fe-gtk/setup.c:111 +#, fuzzy +msgid "Show marker line" +msgstr "Rodyti „nėra“ vieną kartą" + +#: src/fe-gtk/setup.c:112 +msgid "Insert a red line after the last read text." +msgstr "" + +#: src/fe-gtk/setup.c:113 +#, fuzzy +msgid "Transparency Settings" +msgstr "Bylų siuntimo nuostatos" + +#: src/fe-gtk/setup.c:114 +msgid "Red:" +msgstr "Raudona:" + +#: src/fe-gtk/setup.c:115 +msgid "Green:" +msgstr "Žalia:" + +#: src/fe-gtk/setup.c:116 +msgid "Blue:" +msgstr "Mėlyna:" + +#: src/fe-gtk/setup.c:118 src/fe-gtk/setup.c:379 +#, fuzzy +msgid "Time Stamps" +msgstr "Visada įrašyti laiką į logus" + +#: src/fe-gtk/setup.c:119 +#, fuzzy +msgid "Enable time stamps" +msgstr "Visada įrašyti laiką į logus" + +#: src/fe-gtk/setup.c:120 +#, fuzzy +msgid "Time stamp format:" +msgstr "Visada įrašyti laiką į logus" + +#: src/fe-gtk/setup.c:121 src/fe-gtk/setup.c:382 +msgid "See strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:128 src/fe-gtk/setup.c:168 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:129 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:135 src/fe-gtk/setup.c:1657 +#, fuzzy +msgid "Input box" +msgstr "Įvesties laukas" + +#: src/fe-gtk/setup.c:136 src/fe-gtk/setup.c:200 +msgid "Use the Text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Spell checking" +msgstr "Rašybos tikrinimas" + +#: src/fe-gtk/setup.c:141 +#, fuzzy +msgid "Nick Completion" +msgstr "Niko pabaigimas" + +#: src/fe-gtk/setup.c:142 +msgid "Automatic nick completion (without TAB key)" +msgstr "" + +#: src/fe-gtk/setup.c:144 +#, fuzzy +msgid "Nick completion suffix:" +msgstr "Niko pabaigimas" + +#: src/fe-gtk/setup.c:145 +#, fuzzy +msgid "Nick completion sorted:" +msgstr "Niko pabaigimas" + +#: src/fe-gtk/setup.c:148 +#, fuzzy +msgid "Input Box Codes" +msgstr "Įvesties laukas" + +#: src/fe-gtk/setup.c:149 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "" + +#: src/fe-gtk/setup.c:150 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "A-Z, Ops first" +msgstr "A-Z, Op'ai pirmiau" + +#: src/fe-gtk/setup.c:169 +msgid "Z-A, Ops last" +msgstr "Z-A, Op'ai paskiau" + +#: src/fe-gtk/setup.c:170 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:171 +msgid "Unsorted" +msgstr "Nerikiuotas" + +#: src/fe-gtk/setup.c:177 src/fe-gtk/setup.c:189 +msgid "Left (Upper)" +msgstr "" + +#: src/fe-gtk/setup.c:178 src/fe-gtk/setup.c:190 +msgid "Left (Lower)" +msgstr "" + +#: src/fe-gtk/setup.c:179 src/fe-gtk/setup.c:191 +msgid "Right (Upper)" +msgstr "" + +#: src/fe-gtk/setup.c:180 src/fe-gtk/setup.c:192 +msgid "Right (Lower)" +msgstr "" + +#: src/fe-gtk/setup.c:181 +msgid "Top" +msgstr "Aukščiausia" + +#: src/fe-gtk/setup.c:182 +msgid "Bottom" +msgstr "Apačioje" + +#: src/fe-gtk/setup.c:183 +msgid "Hidden" +msgstr "Paslėpta" + +#: src/fe-gtk/setup.c:198 +msgid "User List" +msgstr "Vartotojų sąrašas" + +#: src/fe-gtk/setup.c:199 +#, fuzzy +msgid "Show hostnames in user list" +msgstr "Rodyti vartotojo hostą" + +#: src/fe-gtk/setup.c:202 +#, fuzzy +msgid "User list sorted by:" +msgstr "Vartotojai surikiuoti pagal:" + +#: src/fe-gtk/setup.c:203 +#, fuzzy +msgid "Show user list at:" +msgstr "Rodyti vartotojo hostą" + +#: src/fe-gtk/setup.c:205 +#, fuzzy +msgid "Away tracking" +msgstr "Nėra nuostatos" + +#: src/fe-gtk/setup.c:206 +msgid "Track the Away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:207 +#, fuzzy +msgid "On channels smaller than:" +msgstr "Kanalų kortelės" + +#: src/fe-gtk/setup.c:209 +msgid "Action Upon Double Click" +msgstr "" + +#: src/fe-gtk/setup.c:210 +#, fuzzy +msgid "Execute command:" +msgstr "Pranešimas:" + +#: src/fe-gtk/setup.c:221 +msgid "Windows" +msgstr "Langai" + +#: src/fe-gtk/setup.c:222 +msgid "Tabs" +msgstr "Kortelės" + +#: src/fe-gtk/setup.c:230 +#, fuzzy +msgid "Always" +msgstr "Nėra" + +#: src/fe-gtk/setup.c:231 +msgid "Only requested tabs" +msgstr "" + +#: src/fe-gtk/setup.c:238 +#, fuzzy +msgid "Channel Switcher" +msgstr "Kanalų sąrašo langas..." + +#: src/fe-gtk/setup.c:239 +#, fuzzy +msgid "Open an extra tab for server messages" +msgstr "Naudoti atskirą kortelę/langą serverio žinutėms" + +#: src/fe-gtk/setup.c:240 +#, fuzzy +msgid "Open an extra tab for server notices" +msgstr "Naudoti atskirą kortelę/langą serverio žinutėms" + +#: src/fe-gtk/setup.c:241 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:242 +msgid "Sort tabs in alphabetical order" +msgstr "" + +#: src/fe-gtk/setup.c:243 +msgid "Small tabs" +msgstr "" + +#: src/fe-gtk/setup.c:245 +msgid "Focus new tabs:" +msgstr "" + +#: src/fe-gtk/setup.c:247 +#, fuzzy +msgid "Show channel switcher at:" +msgstr "Rodyti niką" + +#: src/fe-gtk/setup.c:248 +msgid "Shorten tab labels to:" +msgstr "" + +#: src/fe-gtk/setup.c:248 +#, fuzzy +msgid "letters." +msgstr "Paletė..." + +#: src/fe-gtk/setup.c:250 +#, fuzzy +msgid "Tabs or Windows" +msgstr "Dialogų langai" + +#: src/fe-gtk/setup.c:251 +#, fuzzy +msgid "Open channels in:" +msgstr "Kanalų kortelės" + +#: src/fe-gtk/setup.c:252 +#, fuzzy +msgid "Open dialogs in:" +msgstr "Savaime atidaryti dialogų langus" + +#: src/fe-gtk/setup.c:253 +msgid "Open utilities in:" +msgstr "" + +#: src/fe-gtk/setup.c:253 +#, fuzzy +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Naudoti korteles DCC, Ignoravimo, Notify langams." + +#: src/fe-gtk/setup.c:260 +msgid "No" +msgstr "" + +#: src/fe-gtk/setup.c:261 +msgid "Yes" +msgstr "" + +#: src/fe-gtk/setup.c:262 +msgid "Browse for save folder every time" +msgstr "" + +#: src/fe-gtk/setup.c:268 +msgid "Files and Directories" +msgstr "" + +#: src/fe-gtk/setup.c:269 +#, fuzzy +msgid "Auto accept file offers:" +msgstr "Savaime priimti DCC siuntimus" + +#: src/fe-gtk/setup.c:270 +#, fuzzy +msgid "Download files to:" +msgstr "Garsų katalogas:" + +#: src/fe-gtk/setup.c:271 +#, fuzzy +msgid "Move completed files to:" +msgstr "Garsų katalogas:" + +#: src/fe-gtk/setup.c:272 +#, fuzzy +msgid "Save nick name in filenames" +msgstr "Įdėti siuntėjo niką į gauntų bylų vardus" + +#: src/fe-gtk/setup.c:274 +#, fuzzy +msgid "Network Settings" +msgstr "Buferio nuostatos" + +#: src/fe-gtk/setup.c:275 +msgid "Get my address from the IRC server" +msgstr "" + +#: src/fe-gtk/setup.c:276 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "" + +#: src/fe-gtk/setup.c:277 +#, fuzzy +msgid "DCC IP address:" +msgstr "IP adresas" + +#: src/fe-gtk/setup.c:278 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:279 +#, fuzzy +msgid "First DCC send port:" +msgstr "Pirmas DCC siuntimo prievadas:" + +#: src/fe-gtk/setup.c:280 +#, fuzzy +msgid "Last DCC send port:" +msgstr "Paskutinis DCC siuntimo prievadas:" + +#: src/fe-gtk/setup.c:281 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:283 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "" + +#: src/fe-gtk/setup.c:284 +msgid "One upload:" +msgstr "" + +#: src/fe-gtk/setup.c:285 src/fe-gtk/setup.c:287 +msgid "Maximum speed for one transfer" +msgstr "" + +#: src/fe-gtk/setup.c:286 +msgid "One download:" +msgstr "" + +#: src/fe-gtk/setup.c:288 +msgid "All uploads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:289 src/fe-gtk/setup.c:291 +msgid "Maximum speed for all files" +msgstr "" + +#: src/fe-gtk/setup.c:290 +msgid "All downloads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:318 src/fe-gtk/setup.c:1663 +msgid "Alerts" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show tray balloons on:" +msgstr "" + +#: src/fe-gtk/setup.c:324 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:325 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:326 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:328 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:330 +#, fuzzy +msgid "Highlighted Messages" +msgstr "Paryškinimo nuostatos" + +#: src/fe-gtk/setup.c:331 +msgid "Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:333 +#, fuzzy +msgid "Extra words to highlight:" +msgstr "Paryškinami žodžiai:" + +#: src/fe-gtk/setup.c:334 +#, fuzzy +msgid "Nick names not to highlight:" +msgstr "Paryškinami žodžiai:" + +#: src/fe-gtk/setup.c:335 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:336 +#, fuzzy +msgid "Separate multiple words with commas." +msgstr "(atskirk kableliais)" + +#: src/fe-gtk/setup.c:342 +#, fuzzy +msgid "Default Messages" +msgstr "Pabaigos žinutė:" + +#: src/fe-gtk/setup.c:343 +#, fuzzy +msgid "Quit:" +msgstr "Išeiti" + +#: src/fe-gtk/setup.c:344 +#, fuzzy +msgid "Leave channel:" +msgstr "Kanalas" + +#: src/fe-gtk/setup.c:345 +#, fuzzy +msgid "Away:" +msgstr "Nėra" + +#: src/fe-gtk/setup.c:347 +msgid "Away" +msgstr "Nėra" + +#: src/fe-gtk/setup.c:348 +#, fuzzy +msgid "Announce away messages" +msgstr "Skelbti nebūties žinutės" + +#: src/fe-gtk/setup.c:349 +#, fuzzy +msgid "Announce your away messages to all channels" +msgstr "Skelbti, kad tavęs nėra, visuose kanaluose, kuriuose esi." + +#: src/fe-gtk/setup.c:350 +msgid "Show away once" +msgstr "Rodyti „nėra“ vieną kartą" + +#: src/fe-gtk/setup.c:350 +msgid "Show identical away messages only once" +msgstr "" + +#: src/fe-gtk/setup.c:351 +#, fuzzy +msgid "Automatically unmark away" +msgstr "Savaime atidaryti DCC gavimo langą" + +#: src/fe-gtk/setup.c:351 +msgid "Unmark yourself as away before sending messages" +msgstr "" + +#: src/fe-gtk/setup.c:358 +#, fuzzy +msgid "Advanced Settings" +msgstr "Nėra nuostatos" + +#: src/fe-gtk/setup.c:359 +#, fuzzy +msgid "Auto reconnect delay:" +msgstr "Savaiminio prisijungimo delsa:" + +#: src/fe-gtk/setup.c:360 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:361 +msgid "Whois on notify" +msgstr "" + +#: src/fe-gtk/setup.c:361 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "" + +#: src/fe-gtk/setup.c:362 +#, fuzzy +msgid "Hide join and part messages" +msgstr "Pyptelėti, gavus asmeninę žinutę" + +#: src/fe-gtk/setup.c:362 +msgid "Hide channel join/part messages by default" +msgstr "" + +#: src/fe-gtk/setup.c:363 +#, fuzzy +msgid "Auto Open DCC Windows" +msgstr "Savaime atidaryti dialogų langus" + +#: src/fe-gtk/setup.c:364 +#, fuzzy +msgid "Send window" +msgstr "Pagrindinis langas" + +#: src/fe-gtk/setup.c:365 +#, fuzzy +msgid "Receive window" +msgstr "Gautos bylos" + +#: src/fe-gtk/setup.c:366 +#, fuzzy +msgid "Chat window" +msgstr "Kanalų langai" + +#: src/fe-gtk/setup.c:374 src/fe-gtk/setup.c:1665 +msgid "Logging" +msgstr "Loginimas" + +#: src/fe-gtk/setup.c:375 +#, fuzzy +msgid "Enable logging of conversations" +msgstr "Leisti surašyti visus pokalbius į bylas" + +#: src/fe-gtk/setup.c:376 +msgid "Log filename:" +msgstr "" + +#: src/fe-gtk/setup.c:377 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "" + +#: src/fe-gtk/setup.c:380 +#, fuzzy +msgid "Insert timestamps in logs" +msgstr "Visada įrašyti laiką į logus" + +#: src/fe-gtk/setup.c:381 +msgid "Log timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:389 +msgid "(Disabled)" +msgstr "(Uždraustas)" + +#: src/fe-gtk/setup.c:390 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:391 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:392 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:393 +msgid "HTTP" +msgstr "" + +#: src/fe-gtk/setup.c:395 +msgid "MS Proxy (ISA)" +msgstr "" + +#: src/fe-gtk/setup.c:402 +#, fuzzy +msgid "All Connections" +msgstr "Jungiuosi" + +#: src/fe-gtk/setup.c:403 +msgid "IRC Server Only" +msgstr "" + +#: src/fe-gtk/setup.c:404 +msgid "DCC Get Only" +msgstr "" + +#: src/fe-gtk/setup.c:410 +#, fuzzy +msgid "Your Address" +msgstr "Adresas" + +#: src/fe-gtk/setup.c:411 +#, fuzzy +msgid "Bind to:" +msgstr "Šriftas:" + +#: src/fe-gtk/setup.c:412 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:414 +#, fuzzy +msgid "Proxy Server" +msgstr "Proxy serveris" + +#: src/fe-gtk/setup.c:415 +#, fuzzy +msgid "Hostname:" +msgstr "Hosto vardas / IP numeris:" + +#: src/fe-gtk/setup.c:416 +#, fuzzy +msgid "Port:" +msgstr "Šriftas:" + +#: src/fe-gtk/setup.c:417 +#, fuzzy +msgid "Type:" +msgstr "Viršus:" + +#: src/fe-gtk/setup.c:418 +#, fuzzy +msgid "Use proxy for:" +msgstr "Vartotojo meniu" + +#: src/fe-gtk/setup.c:420 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:422 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:426 +#, fuzzy +msgid "Username:" +msgstr "Proxy serverio hosto vardas:" + +#: src/fe-gtk/setup.c:427 +#, fuzzy +msgid "Password:" +msgstr "Proxy serverio prievadas:" + +#: src/fe-gtk/setup.c:838 +msgid "Select an Image File" +msgstr "" + +#: src/fe-gtk/setup.c:862 +#, fuzzy +msgid "Select Download Folder" +msgstr "Pasirink šriftą" + +#: src/fe-gtk/setup.c:871 +#, fuzzy +msgid "Select font" +msgstr "Pasirink šriftą" + +#: src/fe-gtk/setup.c:968 +msgid "Browse..." +msgstr "Naršyti..." + +#: src/fe-gtk/setup.c:1108 +msgid "Mark identified users with:" +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Mark not-identified users with:" +msgstr "" + +#: src/fe-gtk/setup.c:1117 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1171 +#, fuzzy +msgid "Select color" +msgstr "Pasirink šriftą" + +#: src/fe-gtk/setup.c:1251 +#, fuzzy +msgid "Text Colors" +msgstr "Uždaryti" + +#: src/fe-gtk/setup.c:1253 +msgid "mIRC colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1261 +msgid "Local colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1269 src/fe-gtk/setup.c:1274 +msgid "Foreground:" +msgstr "" + +#: src/fe-gtk/setup.c:1270 src/fe-gtk/setup.c:1275 +#, fuzzy +msgid "Background:" +msgstr "XPM fonui:" + +#: src/fe-gtk/setup.c:1272 +#, fuzzy +msgid "Marking Text" +msgstr "Uždaryti" + +#: src/fe-gtk/setup.c:1277 +#, fuzzy +msgid "Interface Colors" +msgstr "Sąsaja" + +#: src/fe-gtk/setup.c:1279 +msgid "New data:" +msgstr "" + +#: src/fe-gtk/setup.c:1280 +msgid "Marker line:" +msgstr "" + +#: src/fe-gtk/setup.c:1281 +#, fuzzy +msgid "New message:" +msgstr "Pabaigos žinutė:" + +#: src/fe-gtk/setup.c:1282 +#, fuzzy +msgid "Away user:" +msgstr "Nebūties priežastis:" + +#: src/fe-gtk/setup.c:1283 +#, fuzzy +msgid "Highlight:" +msgstr "Paryškinimas" + +#: src/fe-gtk/setup.c:1379 src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "" + +#: src/fe-gtk/setup.c:1385 +#, fuzzy +msgid "Sound file" +msgstr "Garsų katalogas:" + +#: src/fe-gtk/setup.c:1420 +#, fuzzy +msgid "Select a sound file" +msgstr "Garsų katalogas:" + +#: src/fe-gtk/setup.c:1492 +msgid "Sound playing method:" +msgstr "" + +#: src/fe-gtk/setup.c:1500 +#, fuzzy +msgid "External sound playing _program:" +msgstr "Išorinės programos" + +#: src/fe-gtk/setup.c:1518 +#, fuzzy +msgid "_External program" +msgstr "Išorinės programos" + +#: src/fe-gtk/setup.c:1528 +msgid "_Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:1541 +#, fuzzy +msgid "Sound files _directory:" +msgstr "Garsų katalogas:" + +#: src/fe-gtk/setup.c:1580 +#, fuzzy +msgid "Sound file:" +msgstr "Garsų katalogas:" + +#: src/fe-gtk/setup.c:1595 +#, fuzzy +msgid "_Browse..." +msgstr "Naršyti..." + +#: src/fe-gtk/setup.c:1606 +#, fuzzy +msgid "_Play" +msgstr "Skydelis" + +#: src/fe-gtk/setup.c:1655 +msgid "Interface" +msgstr "Sąsaja" + +#: src/fe-gtk/setup.c:1656 +msgid "Text box" +msgstr "" + +#: src/fe-gtk/setup.c:1658 +#, fuzzy +msgid "User list" +msgstr "Vartotojų sąrašas" + +#: src/fe-gtk/setup.c:1659 +#, fuzzy +msgid "Channel switcher" +msgstr "Kanalų sąrašo langas..." + +#: src/fe-gtk/setup.c:1660 +#, fuzzy +msgid "Colors" +msgstr "Uždaryti" + +#: src/fe-gtk/setup.c:1662 +#, fuzzy +msgid "Chatting" +msgstr "X-Chat" + +#: src/fe-gtk/setup.c:1664 +msgid "General" +msgstr "Pagrindai" + +#: src/fe-gtk/setup.c:1666 +msgid "Sound" +msgstr "Garsas" + +#: src/fe-gtk/setup.c:1670 +msgid "Network setup" +msgstr "" + +#: src/fe-gtk/setup.c:1671 +#, fuzzy +msgid "File transfers" +msgstr "Bylų siuntimas" + +#: src/fe-gtk/setup.c:1779 +#, fuzzy +msgid "Categories" +msgstr "Kategorijos" + +#: src/fe-gtk/setup.c:1960 +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 "" + +#: src/fe-gtk/setup.c:1970 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" + +#: src/fe-gtk/setup.c:1978 +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 "" + +#: src/fe-gtk/setup.c:2011 +#, fuzzy +msgid "XChat: Preferences" +msgstr "X-Chat: Nuostatos" + +#: src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "" + +#: src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "" + +#: src/fe-gtk/textgui.c:372 +#, fuzzy +msgid "Edit Events" +msgstr "Keisti įvykių užrašus..." + +#: src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "" + +#: src/fe-gtk/textgui.c:440 +#, fuzzy +msgid "Load From..." +msgstr "Įkelti" + +#: src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +#, fuzzy +msgid "XChat: URL Grabber" +msgstr "URL griebiklio langas..." + +#: src/fe-gtk/urlgrab.c:201 +#, fuzzy +msgid "Clear list" +msgstr "Vartotojų sąrašas" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "" + +#, fuzzy +#~ msgid "Servername" +#~ msgstr "Proxy serverio hosto vardas:" + +#~ msgid "Apply" +#~ msgstr "Pritaikyti" + +#, fuzzy +#~ msgid "Save the list" +#~ msgstr "Savaime išsaugoti URL sąrašą" + +#, fuzzy +#~ msgid "X-Chat: File Receive List" +#~ msgstr "Serverių sąrašas..." + +#, fuzzy +#~ msgid "To" +#~ msgstr "Aukščiausia" + +#, fuzzy +#~ msgid "X-Chat: File Send List" +#~ msgstr "Paskutinis DCC siuntimo prievadas:" + +#, fuzzy +#~ msgid "X-Chat: Edit Key Bindings" +#~ msgstr "Keisti klavišų susiejimus..." + +#, fuzzy +#~ msgid "Chan" +#~ msgstr "X-Chat" + +#, fuzzy +#~ msgid "(%s) Channel settings" +#~ msgstr "Skydelio nuostatos" + +#, fuzzy +#~ msgid "Channel Options" +#~ msgstr "Kanalų langai" + +#, fuzzy +#~ msgid "User: %s" +#~ msgstr "Vartotojų sąrašas" + +#, fuzzy +#~ msgid "Settings saved." +#~ msgstr "Nuostatos" + +#, fuzzy +#~ msgid "New Shell Tab..." +#~ msgstr "Nauja shell'o kortelė" + +#, fuzzy +#~ msgid "_IRC" +#~ msgstr "IRC" + +#~ msgid "Invisible" +#~ msgstr "Nematomas" + +#~ msgid "Receive Wallops" +#~ msgstr "Gauti Wallops'us" + +#~ msgid "Receive Server Notices" +#~ msgstr "Gauti serverio pastabas" + +#, fuzzy +#~ msgid "Auto Rejoin when Kicked" +#~ msgstr "Savaime grįžti, kai išspirtas" + +#~ msgid "Never-give-up ReConnect" +#~ msgstr "Niekada nenutraukti bandymo prisijungti" + +#, fuzzy +#~ msgid "Auto Accept Direct Chat" +#~ msgstr "Savaime priimti DCC Chat" + +#, fuzzy +#~ msgid "Lists" +#~ msgstr "Kanalų sąrašo langas..." + +#, fuzzy +#~ msgid "Key Bindings..." +#~ msgstr "Keisti klavišų susiejimus..." + +#~ msgid "Reload Settings" +#~ msgstr "Vėl įkelti nuostatas" + +#~ msgid "Save Settings now" +#~ msgstr "Išsaugoti nuostatas dabar" + +#~ msgid "Save Settings on exit" +#~ msgstr "Išsaugoti nuostatas išeinant" + +#, fuzzy +#~ msgid "File Receive..." +#~ msgstr "DCC gavimo langas..." + +#, fuzzy +#~ msgid "File Send..." +#~ msgstr "DCC siuntimo langas..." + +#, fuzzy +#~ msgid "Server" +#~ msgstr "Proxy serveris" + +#, fuzzy +#~ msgid "Settings for %s" +#~ msgstr "Nuostatos" + +#, fuzzy +#~ msgid "_Remove \"%s\"" +#~ msgstr "Serverių sąrašas..." + +#, fuzzy +#~ msgid "_Add new server" +#~ msgstr "Nauja serverio kortelė..." + +#, fuzzy +#~ msgid "Move \"%s\" _up" +#~ msgstr "Serverių sąrašas..." + +#, fuzzy +#~ msgid "Global User Info" +#~ msgstr "Vartotojo meniu" + +#, fuzzy +#~ msgid "Nick Names:" +#~ msgstr "Rodyti niką" + +#, fuzzy +#~ msgid "Connect in a _new tab" +#~ msgstr "Pranešimas:" + +#, fuzzy +#~ msgid "Servers" +#~ msgstr "Proxy serveris" + +#, fuzzy +#~ msgid "Nick Name:" +#~ msgstr "Rodyti niką" + +#, fuzzy +#~ msgid "Use secure SSL" +#~ msgstr "Vartotojų sąrašas" + +#, fuzzy +#~ msgid "Tint transparency" +#~ msgstr "Skaidrumas" + +#, fuzzy +#~ msgid "Strip mIRC color" +#~ msgstr "Pašalinti MIRC spalvas" + +#, fuzzy +#~ msgid "Tint green:" +#~ msgstr "Testuoti nuostatas" + +#, fuzzy +#~ msgid "Double-click command:" +#~ msgstr "Dvigubo paspaudimo komanda:" + +#, fuzzy +#~ msgid "Userlist buttons enabled" +#~ msgstr "Vartotojų sąrašo mygtukai..." + +#, fuzzy +#~ msgid "Only highlight tabs on channel messages" +#~ msgstr "Paryškinti kanalų korteles tik žinučių ir veiksmų metu" + +#, fuzzy +#~ msgid "Pop new tabs to front" +#~ msgstr "Naujos kortelės į priekį" + +#, fuzzy +#~ msgid "Auto open DCC send list" +#~ msgstr "Savaime atidaryti DCC siuntimo langą" + +#, fuzzy +#~ msgid "Auto open DCC chat list" +#~ msgstr "Savaime atidaryti DCC Chat langą" + +#, fuzzy +#~ msgid "Auto open DCC receive list" +#~ msgstr "Savaime atidaryti DCC gavimo langą" + +#, fuzzy +#~ msgid "Default part message:" +#~ msgstr "Išėjimo žinutė:" + +#, fuzzy +#~ msgid "Default away message:" +#~ msgstr "Skelbti nebūties žinutės" + +#, fuzzy +#~ msgid "Beep on channel messages" +#~ msgstr "Pyptelėti, gavus asmeninę žinutę" + +#, fuzzy +#~ msgid "Proxy port:" +#~ msgstr "Proxy tipas:" + +#, fuzzy +#~ msgid "Proxy type:" +#~ msgstr "Proxy tipas:" + +#, fuzzy +#~ msgid "Mark back:" +#~ msgstr "Skaidrus fonas" + +#, fuzzy +#~ msgid "Select a file to save to" +#~ msgstr "Katalogas, į kurį saugoti:" + +#, fuzzy +#~ msgid "Load Plugin..." +#~ msgstr "Įkelti pluginą (*.so)..." + +#, fuzzy +#~ msgid "Load plugin..." +#~ msgstr "Įkelti pluginą (*.so)..." + +#~ msgid "Auto ReJoin on Kick" +#~ msgstr "Vėl ateiti, jei išspyrė" + +#, fuzzy +#~ msgid "X-Chat Homepage..." +#~ msgstr "X-Chat tinklapis..." + +#, fuzzy +#~ msgid "Online Docs..." +#~ msgstr "Dokumentacija..." + +#, fuzzy +#~ msgid "About X-Chat..." +#~ msgstr "Apie X-Chat..." + +#~ msgid "Choose File" +#~ msgstr "Pasirink bylą" + +#, fuzzy +#~ msgid "Server settings" +#~ msgstr "Nuostatos" + +#, fuzzy +#~ msgid "Ban List Window..." +#~ msgstr "Kanalų sąrašo langas..." + +#, fuzzy +#~ msgid "ASCII Window..." +#~ msgstr "Ignoravimo langas..." + +#, fuzzy +#~ msgid "F_lush Buffer" +#~ msgstr "Išvalyti buferį" + +#, fuzzy +#~ msgid "Save Buffer..." +#~ msgstr "Iš_saugoti buferį..." + +#~ msgid "User Modes" +#~ msgstr "Vartotojo būsenos" + +#, fuzzy +#~ msgid "Plugins" +#~ msgstr "Priedai..." + +#~ msgid "Edit User Menu" +#~ msgstr "Taisyti vartotojo meniu" + +#~ msgid "Left" +#~ msgstr "Kairėje" + +#~ msgid "Right" +#~ msgstr "Dešinėje" + +#, fuzzy +#~ msgid "NewServer" +#~ msgstr "Proxy serveris" + +#, fuzzy +#~ msgid "Open extra tab for each server" +#~ msgstr "Naudoti atskirą kortelę/langą serverio žinutėms" + +#, fuzzy +#~ msgid "Server List 2..." +#~ msgstr "Serverių sąrašas..." + +#, fuzzy +#~ msgid "UNLOADALL, Unloads all perl scripts" +#~ msgstr "Įkelti Python skriptą..." + +#~ msgid "Scripts & Plugins" +#~ msgstr "Skriptai ir pluginai" + +#, fuzzy +#~ msgid "PLOAD loads a python script" +#~ msgstr "Įkelti Python skriptą..." + +#~ msgid "Unload All Scripts" +#~ msgstr "Išmesti visus skriptus" + +#~ msgid "Perl List" +#~ msgstr "Perl sąrašas" + +#, fuzzy +#~ msgid "Load Python Script..." +#~ msgstr "Įkelti Python skriptą..." + +#~ msgid "Python List" +#~ msgstr "Python sąrašas" + +#, fuzzy +#~ msgid "gdk_font_load failed" +#~ msgstr "Naudoti gdk_fontset_load" + +#~ msgid "Setup.." +#~ msgstr "Nuostatos..." + +#, fuzzy +#~ msgid "X-Chat: Palette" +#~ msgstr "X-Chat: Nuostatos" + +#, fuzzy +#~ msgid "Background" +#~ msgstr "XPM fonui:" + +#, fuzzy +#~ msgid "Mark Background" +#~ msgstr "Skaidrus fonas" + +#, fuzzy +#~ msgid "No Server" +#~ msgstr "Proxy serveris" + +#, fuzzy +#~ msgid "Is Tab" +#~ msgstr "Kortelės" + +#, fuzzy +#~ msgid "X-Chat: Setup" +#~ msgstr "X-Chat: Nuostatos" + +#, fuzzy +#~ msgid "Failed to load translation table." +#~ msgstr "Naudoti ircII stiliaus vertimo bylą." + +#~ msgid "Auto Indent" +#~ msgstr "Savaime perskirti" + +#~ msgid "Auto adjust the separator bar position as needed." +#~ msgstr "Savaime pritaikyti skyriklio juostos vietą kai reikia." + +#~ msgid "Draw Separator Bar" +#~ msgstr "Piešti skyriklio juostą" + +#~ msgid "Make the separator an actual visible line." +#~ msgstr "Padaryti skyriklį tikrai matoma linija." + +#~ msgid "Word Wrap" +#~ msgstr "Žodžių laužymas" + +#~ msgid "Don't split words from one line to the next" +#~ msgstr "Nelaužyti žodžių iš vienos eilutės į kitą" + +#~ msgid "Make the text box seem see-through" +#~ msgstr "Padaryti, kad teksto laukas atrodytų permatomas" + +#, fuzzy +#~ msgid "Use a font set" +#~ msgstr "Naudoti gdk_fontset_load" + +#~ msgid "Change in realtime" +#~ msgstr "Keisti realiu laiku" + +#~ msgid "Startup and Shutdown" +#~ msgstr "Pradžia ir Išėjimas" + +#~ msgid "No Server List On Startup" +#~ msgstr "Nerodyti serverių sąrašo pradžioje" + +#~ msgid "Don't display the server list on X-Chat startup" +#~ msgstr "Nerodyti serverių sąrašo, tik paleidus X-Chat" + +#~ msgid "Auto Save URL list" +#~ msgstr "Savaime išsaugoti URL sąrašą" + +#~ msgid "Auto save your URL list when exiting from X-Chat" +#~ msgstr "Savaime išsaugoti URL sąrašą išeinant iš X-Chat" + +#~ msgid "Give the User List style" +#~ msgstr "Suteikti varotojų sarašui stilių" + +#~ msgid "Complete nicknames when a partial one is entered" +#~ msgstr "Pabaigti nikus, jei įvesta niko dalis" + +#~ msgid "Old-style Nickname Completion" +#~ msgstr "Seno stiliaus niko pabaigimas" + +#~ msgid "Nickname completion is old-style (instead of GNU-style)" +#~ msgstr "Seno stiliaus niko pabaigimas (vietoj GNU stiliaus)" + +#~ msgid "Give the Input Box style" +#~ msgstr "Suteikti stilių įvesties laukui" + +#~ msgid "Input box gets same style as main text area" +#~ msgstr "Įvesties laukas įgauna tokį pat stilių kaip pagrindinis testo laukas" + +#~ msgid "Nickname Completion Character:" +#~ msgstr "Niko užbaigimo simbolis:" + +#~ msgid "Character to append to completed nicknames" +#~ msgstr "Simbolis, priduriamas prie pabaigtų nikų" + +#~ msgid "Output Box" +#~ msgstr "Įšvesties laukas" + +#~ msgid "Strip MIRC color codes from text before displaying" +#~ msgstr "Pašalinti MIRC spalvų kodus iš teksto prieš parodant" + +#~ msgid "Output nicknames in different colors" +#~ msgstr "Išvesti nikus skirtingomis spalvomis" + +#~ msgid "Prefix all text with the current time stamp" +#~ msgstr "Prieš bet kokį tekstą įrašyti jo laiką" + +#~ msgid "Filter out BEEPs" +#~ msgstr "Išfiltruoti BEEP (skambučius)" + +#~ msgid "Remove ^G BEEP codes from text before displaying" +#~ msgstr "Pašalinti ^G BEEP kodus iš teksto prieš parodant" + +#~ msgid "Buffer Settings" +#~ msgstr "Buferio nuostatos" + +#~ msgid "Text Buffer Size:" +#~ msgstr "Teksto buferio dydis:" + +#~ msgid "lines (0=Unlimited)." +#~ msgstr "eilučių (0=neribotas)." + +#~ msgid "Buttons" +#~ msgstr "Mygtukai" + +#~ msgid "Show the TNSIPMLK buttons" +#~ msgstr "Rodyti TNSIPMLK mygtukus" + +#~ msgid "User List Buttons" +#~ msgstr "Vartotojų sąrašo mygtukai" + +#~ msgid "Show the buttons below the user list" +#~ msgstr "Rodyti mygtukus po vartotojų sąrašu" + +#~ msgid "Tabs Located at:" +#~ msgstr "Kortelės yra:" + +#~ msgid "Channel Tabs" +#~ msgstr "Kanalų kortelės" + +#~ msgid "Use tabs for channels instead of separate windows" +#~ msgstr "Kanalams naudoti korteles, o ne atskirus langus" + +#~ msgid "Limited Tab Highlighting" +#~ msgstr "Ribotas kortelių paryškinimas" + +#~ msgid "Bring new query/channel tabs to front" +#~ msgstr "Naujai atsiradusius kanalų/dialogų langus rodyti priekyje" + +#~ msgid "Use tabs for /query instead of separate windows" +#~ msgstr "Asmeniniams pokalbiams naudoti korteles, o ne atskirus langus" + +#~ msgid "Window Position" +#~ msgstr "Lango vieta" + +#~ msgid "" +#~ "If Left and Top are set to zero, X-Chat will use\n" +#~ "your window manager defaults." +#~ msgstr "" +#~ "Jei Viršus ir apačia yra nuliai, X-Chat naudos\n" +#~ "langų tvarkyklės nuostatas." + +#~ msgid "Left:" +#~ msgstr "Kairė:" + +#~ msgid "Window Size" +#~ msgstr "Lango dydis" + +#~ msgid "Width:" +#~ msgstr "Plotis:" + +#~ msgid "Height:" +#~ msgstr "Aukštis:" + +#~ msgid "Show Session Tree View" +#~ msgstr "Rodyti sesijos medžio vaizdą" + +#~ msgid "Panel Applet" +#~ msgstr "Skydelio įtaisas" + +#~ msgid "Layout For a Vertical Panel" +#~ msgstr "Išdėstyti stačiam skydeliui" + +#~ msgid "Layout the X-Chat panel applet for a vertical panel" +#~ msgstr "Išdėstyti X-Chat skydelio įtaisą stačiam skydeliui" + +#~ msgid "Raw Mode Display" +#~ msgstr "Grynas mode rodymas" + +#~ msgid "Display raw mode changes instead of interpretations" +#~ msgstr "Rodyti grynus mode pakeitimus vietoj interpretacijų" + +#~ msgid "Beep when a private message for you is received" +#~ msgstr "Pyptelėti, kai ateina tau skirta asmeninė žinutė" + +#, fuzzy +#~ msgid "Beep when a channel message is received" +#~ msgstr "Pyptelėti, kai ateina tau skirta asmeninė žinutė" + +#~ msgid "Send /who #chan on join." +#~ msgstr "Siųsti /who #kanalas ateinant" + +#~ msgid "Find user information when joining a channel." +#~ msgstr "Sužinoti vartotojų informaciją, atėjus į kanalą." + +#~ msgid "" +#~ "These can be a filename relative to ~/.xchat/ to be\n" +#~ "used as a list of random quit or part reasons." +#~ msgstr "" +#~ "Tai gali būti bylų vardai, nurodyti santykinai ~/.xchat/,\n" +#~ "naudojami parinkti atsitiktinėms pabaigos ar išėjimo priežastims." + +#~ msgid "seconds." +#~ msgstr "sekundžių." + +#~ msgid "" +#~ "Most people should leave this blank, it's only\n" +#~ "usefull for machines with multiple addresses." +#~ msgstr "" +#~ "Dauguma žmonių šitai turėtų palikti tuščią,\n" +#~ "tai naudinga tik mašinoms su keletu adresų." + +#, fuzzy +#~ msgid "Public IP Address" +#~ msgstr "IP adresas" + +#~ msgid "Get my IP from Server (for use in DCC Send only)" +#~ msgstr "Gauti mano IP iš serverio (naudojama tik DCC siuntimui)" + +#~ msgid "For people using a 10.* or 192.168.* IP number." +#~ msgstr "Žmonėms, naudojantiems 10.* ar 192.168.* IP numerius." + +#~ msgid "Proxy Server Hostname:" +#~ msgstr "Proxy serverio hosto vardas:" + +#~ msgid "Only show away messages the first time they're seen" +#~ msgstr "Rodyti „nėra“ žinutę tik pirmą kartą." + +#~ msgid "Your away settings" +#~ msgstr "Tavo nebūties nuostatos" + +#, fuzzy +#~ msgid "Apply a timestamp to disk logs" +#~ msgstr "Loguose visada rašyti, kada vyksta veiksmas" + +#~ msgid "Generic" +#~ msgstr "Bendra" + +#~ msgid "User List Notify Highlighting" +#~ msgstr "Vartotojų sąrašo notify paryškinimas" + +#, fuzzy +#~ msgid "Notified User Color:" +#~ msgstr "Naujesnių spalva:" + +#, fuzzy +#~ msgid "Notification Timeouts" +#~ msgstr "Pranešimas:" + +#~ msgid "seconds (0=Disable)." +#~ msgstr "sekundžių (0=uždrausti)." + +#~ msgid "Enable Character Translation" +#~ msgstr "Leisti simbolių vertimus" + +#~ msgid "Translation File:" +#~ msgstr "Vertimo byla:" + +#~ msgid "Use a ircII style translation file." +#~ msgstr "Naudoti ircII stiliaus vertimo bylą." + +#~ msgid "Automatically open DCC Send Window" +#~ msgstr "Savaime atidaryti DCC siuntimo langą" + +#~ msgid "Automatically open DCC Recv Window" +#~ msgstr "Savaime atidaryti DCC gavimo langą" + +#~ msgid "Resume on Auto Accept" +#~ msgstr "Pratęsti automatiškai priimant" + +#~ msgid "When Auto-Accepting DCC, try to resume." +#~ msgstr "Kai savaime priimami DCC gavimai, pratęsti esančias bylas." + +#~ msgid "DCC Offers Timeout:" +#~ msgstr "DCC pasiūlymų laiko riba:" + +#~ msgid "File Permissions:" +#~ msgstr "Bylų permisijos:" + +#~ msgid "(octal)" +#~ msgstr "(aštuonetainiais)" + +#~ msgid "Directory to save to:" +#~ msgstr "Katalogas, į kurį saugoti:" + +#~ msgid "Save file with Nickname" +#~ msgstr "Saugoti bylą su niku" + +#~ msgid "DCC Send Options" +#~ msgstr "DCC siuntimo parinktys" + +#~ msgid "Fast DCC Send" +#~ msgstr "Greitas DCC siuntimas" + +#~ msgid "Don't wait for ACKs to send more data" +#~ msgstr "Nelaukti ACK'ų, kad siųstume naujus duomenis" + +#~ msgid "(0=Disabled)" +#~ msgstr "(0=Uždraustas)" + +#~ msgid "Send Block Size:" +#~ msgstr "Siunčiamų blokų dydis:" + +#~ msgid "(1024=Normal)" +#~ msgstr "(1024=Normalus)" + +#~ msgid "Built-in Replies" +#~ msgstr "Įtaisyti atsakymai" + +#~ msgid "Do not reply to CTCP version" +#~ msgstr "Neatsakinėti į CTCP version" + +#~ msgid "Sound Dir:" +#~ msgstr "Garsų katalogas:" + +#~ msgid "Play Command:" +#~ msgstr "Grojimo komanda:" + +#~ msgid "Interface Settings" +#~ msgstr "Sąsajos nuostatos" + +#~ msgid "IRC Input/Output Settings" +#~ msgstr "IRC įvesties/išvesties nuostatos" + +#~ msgid "IRC Input/Output" +#~ msgstr "IRC įvestis/išvestis" + +#~ msgid "Window Layout Settings" +#~ msgstr "Langų išdėstymo nuostatos" + +#~ msgid "Window Layout" +#~ msgstr "Langų išdėstymas" + +#~ msgid "Main Window Settings" +#~ msgstr "Pagrindinio lango nuostatos" + +#~ msgid "Channel Window Settings" +#~ msgstr "Kanalų langų nuostatos" + +#~ msgid "Dialog Window Settings" +#~ msgstr "Dialogų langų nuostatos" + +#~ msgid "Panel" +#~ msgstr "Skydelis" + +#~ msgid "IRC Settings" +#~ msgstr "IRC nustatos" + +#~ msgid "IP Address Settings" +#~ msgstr "IP adreso parinktis" + +#~ msgid "IP Address" +#~ msgstr "IP adresas" + +#~ msgid "Logging Settings" +#~ msgstr "Loginimo nuostatos" + +#~ msgid "Character Set (Translation Tables)" +#~ msgstr "Simbolių aibė (vertimo lentelės)" + +#~ msgid "CTCP Settings" +#~ msgstr "CTCP nuostatos" + +#~ msgid "DCC Settings" +#~ msgstr "DCC Nuostatos" + +#~ msgid "Input Box always in focus" +#~ msgstr "Įvesties laukas visada fokusuotas" + +#, fuzzy +#~ msgid "Userlist icons" +#~ msgstr "Vartotojų sąrašo mygtukai..." + +#~ msgid "Show nickname" +#~ msgstr "Rodyti niką" + +#, fuzzy +#~ msgid " Apply " +#~ msgstr "Pritaikyti" + +#, fuzzy +#~ msgid "CP" +#~ msgstr "CTCP" + +#, fuzzy +#~ msgid "Hide/Show Userlist" +#~ msgstr "Rodyti vartotojo hostą" + +#~ msgid "Perl Script.." +#~ msgstr "Perl skriptas..." + +#~ msgid "Python Script.." +#~ msgstr "Python skriptas..." + +#~ msgid "All Perl Scripts" +#~ msgstr "Visus Perl skriptus" + +#~ msgid "All Python Scripts" +#~ msgstr "Visus Python skriptus" + +#~ msgid "All Plugins" +#~ msgstr "Visus priedus" + +#~ msgid "Kill" +#~ msgstr "Nužudyti" + +#~ msgid "User _Modes" +#~ msgstr "_Būsenos" + +#~ msgid "_Settings" +#~ msgstr "_Nuostatos" + +#~ msgid "S_cripts & Plugins" +#~ msgstr "S_kriptai ir pluginai" + +#~ msgid "Use_r Menu" +#~ msgstr "Va_rtotojo meniu" + +#~ msgid "Show invites in active window" +#~ msgstr "Rodyti pakvietimus aktyviame lange" + +#~ msgid "Show notifies in active window" +#~ msgstr "Rodyti notify aktyviame lange" + +#~ msgid "Perform a periodic mail check." +#~ msgstr "Periodiškai aptikrinti paštą." + +#~ msgid "Unload All Plugins" +#~ msgstr "Įšmesti visus pluginus" + +#~ msgid "Ok" +#~ msgstr "Gerai" + +#~ msgid "Background XPM:" +#~ msgstr "XPM fonui:" + +#, fuzzy +#~ msgid "Dialog Buttons" +#~ msgstr "Mygtukai" + +#, fuzzy +#~ msgid "Show the buttons above the text area" +#~ msgstr "Rodyti mygtukus po vartotojų sąrašu" + +#, fuzzy +#~ msgid "Server Sock Name\n" +#~ msgstr "Proxy serverio hosto vardas:" + +#~ msgid "Help.." +#~ msgstr "Pagalba..." + +#, fuzzy +#~ msgid "Close Channel" +#~ msgstr "Nauja kanalo kortelė..." + +#, fuzzy +#~ msgid "Panelize" +#~ msgstr "Skydelis" + +#, fuzzy +#~ msgid "InterScan" +#~ msgstr "Sąsaja" + +#~ msgid "Enable double buffer" +#~ msgstr "Leisti dvigubą buferį" diff --git a/po/lv.po b/po/lv.po new file mode 100644 index 00000000..64cb42c3 --- /dev/null +++ b/po/lv.po @@ -0,0 +1,5091 @@ +# xchat for Latvian. +# Copyright (C) YEAR Free Software Foundation, Inc. +# Artis Trops <hornet@navigators>, 2001. +# +msgid "" +msgstr "" +"Project-Id-Version: xchat\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2004-01-01 23:38+1100\n" +"PO-Revision-Date: 2002-12-26 03:36+0200\n" +"Last-Translator: Artis Trops <hornet@navigators.lv>\n" +"Language-Team: Latvian <ll10nt@os.lv>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/common/cfgfiles.c:340 +msgid "Cannot create ~/.xchat2" +msgstr "Nevaru izveidot ~/.xchat2" + +#: src/common/cfgfiles.c:634 +msgid "I'm busy" +msgstr "Esmu aizņemts" + +#: src/common/cfgfiles.c:635 +#, fuzzy +msgid "Leaving" +msgstr "Latvija" + +#: src/common/cfgfiles.c:679 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Lietot IRC kā rootam ir muļķīgi! Jums vajadzētu\n" +" Izveidot Lietotāja Kontu un lietot to, lai pieteiktos.\n" + +#: src/common/dcc.c:56 +msgid "Waiting" +msgstr "Gaidu" + +#: src/common/dcc.c:57 +msgid "Active" +msgstr "Aktīvs" + +#: src/common/dcc.c:58 +msgid "Failed" +msgstr "Neizdevās" + +#: src/common/dcc.c:59 +msgid "Done" +msgstr "Darīts" + +#: src/common/dcc.c:60 +msgid "Connect" +msgstr "Pieslēgties" + +#: src/common/dcc.c:61 +msgid "Aborted" +msgstr "Izbeigts" + +#: src/common/dcc.c:1269 +#, c-format +msgid "Cannot access %s\n" +msgstr "Nevar piekļūt %s\n" + +#: src/common/dcc.c:1801 +msgid "No active DCCs\n" +msgstr "Nav aktīvu DCC\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "JĀ" + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "NĒ " + +#: src/common/ignore.c:373 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "" + +#: src/common/ignore.c:398 +#, c-format +msgid "You are being MSG flooded from %s, setting autodialog OFF.\n" +msgstr "" + +#: src/common/notify.c:400 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s tiešsaistē\n" + +#: src/common/notify.c:402 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s nav bezsaistē\n" + +#: src/common/outbound.c:70 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Neesi pievienojies nevienam kanālam. Pamēģini /join #<kanāls>\n" + +#: src/common/outbound.c:76 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Neesi pieslēdzies. Pamēģini /server <resursdators> [<ports>]\n" + +#: src/common/outbound.c:1356 +msgid "I need /bin/sh to run!\n" +msgstr "Lai darbotos, man vajag /bin/sh!\n" + +#: src/common/outbound.c:1588 +msgid "" +"\n" +"Commands Available:\n" +"\n" +" " +msgstr "" +"\n" +"Pieejamās Kommands:\n" +"\n" +" " + +#: src/common/outbound.c:1623 +msgid "" +"\n" +"\n" +"Type /HELP <command> for more information, or /HELP -l\n" +"\n" +msgstr "" +"\n" +"\n" +"Raksti /HELP <komanda> papildus informācijai, vai /HELP -l\n" +"\n" + +#: src/common/outbound.c:1624 +msgid "" +"User defined commands:\n" +"\n" +" " +msgstr "" +"Lietotāja definētās komandas:\n" +"\n" +" " + +#: src/common/outbound.c:1716 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Nezināmais arguments '%s' ignorēts." + +#: src/common/outbound.c:2426 +msgid "No such plugin found.\n" +msgstr "Tāds iespraudnis nav atrasts.\n" + +#: src/common/outbound.c:2431 src/fe-gtk/plugingui.c:182 +msgid "That plugin is refusing to unload.\n" +msgstr "Šis iespraudnis atsakās izlādēties.\n" + +#: src/common/outbound.c:2576 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nosaukums> <darbība>, pievieno pogu zem lietotājzvēlnes" + +#: src/common/outbound.c:2578 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <komada>, sūta komandu uz visiem kanāliem, kuros esat" + +#: src/common/outbound.c:2580 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <komanda>, sūta komandu uz visiem serveriem, kuros esat" + +#: src/common/outbound.c:2581 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<iemesls>], atzīmē jūs kā promesošu" + +#: src/common/outbound.c:2583 +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 <maska> [<bantype>], izraida visus, kuri atbilst maskai no pašreizējā " +"kanāla. Ja viņi jau ir kanālā, tas viņus neizmet (vajag būt kanālop)" + +#: src/common/outbound.c:2585 +msgid "CLEAR, Clears the current text window" +msgstr "CLEAR, Attīra pašreizējo teksta logu" + +#: src/common/outbound.c:2586 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, Aizver pašreizējo logu/sadaļu" + +#: src/common/outbound.c:2589 +msgid "COUNTRY <code>, finds a country code, eg: au = australia" +msgstr "COUNTRY <kods>, atrod valsts kodu, piem.: lv = Latvija" + +#: src/common/outbound.c:2591 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" +"CTCP <segvārds> <ziņa>, sūta CTCP ziņu segvārdam, izplatītākās ziņas ir " +"VERSION un USERINFO" + +#: src/common/outbound.c:2593 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "CYCLE, iziet no pašreizējā kanāla un nekavējoties atkal pievienojas" + +#: src/common/outbound.c:2595 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" +"\n" +"DCC GET <segvārds> - pieņem piedāvāto failu\n" +"DCC SEND [-maxcps=#] <segvārds> [fails] - sūta failu kādam\n" +"DCC LIST - parāda DCC sarakstu\n" +"DCC CHAT <segvārds> - piedāvā DCC Tērzēšanu kādam\n" +"DCC CLOSE <tips> <segvārds> <fails> piemērs:\n" +" /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:2605 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" +"DEHOP <segvāds>, noņem kanālpus-op statusu segvārdam pašreizējā kanālā " +"(vajag būt kanālop)" + +#: src/common/outbound.c:2607 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nosaukums>, izdzēš pogu no lietotājsaraksta" + +#: src/common/outbound.c:2609 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEOP <segvāds>, noņem kanālop statusu segvārdam pašreizējā kanālā (vajag būt " +"kanālop)" + +#: src/common/outbound.c:2611 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEVOICE <segvārds>, noņem balss statusu segvārdam pašreizējā kanāla (vajag " +"būt kanālop)" + +#: src/common/outbound.c:2612 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Atslēdzas no servera" + +#: src/common/outbound.c:2613 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <segvārds|hostdators|ip>, Atrod lietotāja IP numuru" + +#: src/common/outbound.c:2614 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <teksts>, Izvada tekstu lokāli" + +#: src/common/outbound.c:2617 +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] <komanda>, palaiž komandu. Ja -o karodziņš tiek lietots, tad " +"izvade tiek sūtīta uz pašreizējo kanālu, citādāk tā tiek izvadīta uz " +"pašreizējo teksta lodziņu" + +#: src/common/outbound.c:2619 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, sūta procesam SIGCONT" + +#: src/common/outbound.c:2622 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" +"EXECKILL [-9], nokauj palaisto exec pašreizējā sesijā. Ja tiek dots -9, " +"process tiek SIGKILL'ots" + +#: src/common/outbound.c:2624 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, sūta procesam SIGSTOP" + +#: src/common/outbound.c:2625 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, sūta datus uz procesa stdin" + +#: src/common/outbound.c:2629 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, noflašo pašreizējā servera sūtīšanas rindu" + +#: src/common/outbound.c:2631 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" +"GATE <hostdators> [<ports>], caur resursdatoru kā starpserveri, noklusētais " +"ports ir 23" + +#: src/common/outbound.c:2637 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" +"HOP <segvārds>, piešķir kanālpus-op'a statusu segvārdam (vajag būt kanālop)" + +#: src/common/outbound.c:2639 +#, fuzzy +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 <maska> <tipi..> <opcijas..>\n" +" maska - hostdatora maska, kuru ignorēt, piem.: *!*@*.aol.com\n" +" tipi - datu tipi, kurus ignorēt, viens vai visi:\n" +" PRIV, CHAN, NOTI, CTCP, INVI, ALL\n" +" opcijas - NOSAVE, QUIET" + +#: src/common/outbound.c:2646 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" +"INVITE <segvārds> [<kanāls>], ielūdz kādu kanālā, pēc noklusējuma uz " +"pašreizējo kanālu (vajag kanālop)" + +#: src/common/outbound.c:2647 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanāls>, pievienojas kanālam" + +#: src/common/outbound.c:2649 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "" +"KICK <segvārds>, izmet segvārdu no pašreizējā kanāla (vajag būt kanālop)" + +#: src/common/outbound.c:2651 +msgid "" +"KICKBAN <nick>, bans then kicks the nick from the current channel (needs " +"chanop)" +msgstr "" +"KICKBAN <segvārds>, izraida un tad izmet segvārdu no pašreizējā kanāla " +"(vajag būt kanālop)" + +#: src/common/outbound.c:2654 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, rosina jaunu aiztures pārbaudi" + +#: src/common/outbound.c:2656 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <rindiņa>, buferī meklē rindiņu" + +#: src/common/outbound.c:2658 +msgid "LOAD <file>, loads a plugin or script" +msgstr "LOAD <fails>, ielādē iespraudni vai skriptu" + +#: src/common/outbound.c:2661 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" +"MDEHOP, Masveidā deop'o visus kanālpus-op'us pašreizējā kanālā (vajag būt " +"kanālop)" + +#: src/common/outbound.c:2663 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" +"MDEOP, Masveidā deop'o visus kanālop'us pašreizējā kanālā (vajag būt kanālop)" + +#: src/common/outbound.c:2665 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in " +"the 3rd person, like /me jumps)" +msgstr "" +"ME <darbība>, sūta darbību uz pašreizējo kanālu (darbības tiek rakstītas " +"trešajā personā, kā /me smaida)" + +#: src/common/outbound.c:2667 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" +"MKICK, Masveidā izmet visus, izņemot tevi, pašreizējā kanālā (vajag būt " +"kanālop)" + +#: src/common/outbound.c:2669 +#, fuzzy +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" +"MDEOP, Masveidā deop'o visus kanālop'us pašreizējā kanālā (vajag būt kanālop)" + +#: src/common/outbound.c:2670 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <segvārds> <ziņa>, sūta privātu ziņu" + +#: src/common/outbound.c:2673 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, Parāda pašreizējā kanālā esošos segvārdus" + +#: src/common/outbound.c:2675 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <segvārds> <ziņa>, Sūta CTCP paziņojumu" + +#: src/common/outbound.c:2676 +msgid "NEWSERVER <hostname> [<port>]" +msgstr "NEWSERVER <hostdators> [<ports>]" + +#: src/common/outbound.c:2677 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <segvārds>, uzstāda jums segvārdu" + +#: src/common/outbound.c:2680 +msgid "" +"NOTICE <nick/channel> <message>, sends a notice. Notices are a type of " +"message that should be auto reacted to" +msgstr "" +"NOTICE <segvārds/kanāls> <ziņa>, sūta paziņojumu. Paziņojumi ir tādas ziņas, " +"uz kurām vajadzētu automātiski reaģēt" + +#: src/common/outbound.c:2682 +msgid "NOTIFY [<nick>], lists your notify list or adds someone to it" +msgstr "" +"NOTIFY [<segvārds>], parāda jūsuu paziņojumu sarakstu vai kādu tam pievieno" + +#: src/common/outbound.c:2684 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <segvārds>, piešķir kanālop statusu segvārdam (vajag būt kanālop)" + +#: src/common/outbound.c:2686 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanāls>] [<iemesls>], pamet kanālu, pēc noklusējuma pašreizējo" + +#: src/common/outbound.c:2688 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <segvārds | kanāls>, CTCP pingo segvārdu vai kanālu" + +#: src/common/outbound.c:2690 +msgid "QUERY <nick>, opens up a new privmsg window to someone" +msgstr "QUERY <segvārds>, atver jaunu privāto ziņu logu ar kādu" + +#: src/common/outbound.c:2692 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<iemesls>], atslēdzas no pašreizējā servera" + +#: src/common/outbound.c:2694 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <teksts>, sūta tekstu jēlā formā serverim" + +#: src/common/outbound.c:2697 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /" +"RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" +"RECONNECT [-ssl] [<hostdators>] [<ports>] [<parole>], Var izsaukt arī " +"vienkārši kā /RECONNECT, lai vēlreiz pārslēgtos uz pašreizējo serveri vai " +"ar /RECONNECT ALL uz visiem atvērtajiem serveriem" + +#: src/common/outbound.c:2700 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" +"RECONNECT [<hostdators>] [<ports>] [<parole>], Var izsaukt arī vienkārši kā /" +"RECONNECT, lai vēlreiz pārslēgtos uz pašreizējo serveri vai ar /RECONNECT " +"ALL uz visiem atvērtajiem serveriem" + +#: src/common/outbound.c:2702 +msgid "" +"RECV <text>, send raw data to xchat, as if it was received from the irc " +"server" +msgstr "RECV <teksts>, sūta jēldatus xchat tā, itkā tas nāktu no irc servera" + +#: src/common/outbound.c:2705 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <teksts>, sūta tekstu objektam pašreizējā logā" + +#: src/common/outbound.c:2708 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" +"SERVCHAN [-ssl] <hostdators> <ports> <kanāls>, pieslēdzas un pievienojas " +"kanālam" + +#: src/common/outbound.c:2711 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "" +"SERVCHAN <hostdators> <ports> <kanāls>, pieslēdzas un pievienojas kanālam" + +#: src/common/outbound.c:2715 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" +"SERVER <hostdators> [<ports>] [<parole>], pieslēdzas serverim, noklusētais " +"ports ir 6667 parastiem savienojumiem, 9999 ssl savienojumiem" + +#: src/common/outbound.c:2718 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" +"SERVER <hostdators> [<ports>] [<parole>], pieslēdzas serverim, noklusētais " +"ports ir 6667" + +#: src/common/outbound.c:2720 +msgid "SET <variable> [<value>]" +msgstr "SET <mainīgais> [<vērtība>]" + +#: src/common/outbound.c:2723 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "" +"TOPIC [<temats>], uzstāda tematu, ja tāds ir dots, savādāk parāda pašreizējo " +"tematu" + +#: src/common/outbound.c:2725 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <maska> [<maska>...], noņem izraidījumu norādītajām maskām." + +#: src/common/outbound.c:2726 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <maska> [QUIET]" + +#: src/common/outbound.c:2727 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nosaukums>, izlādē iespraudni vai skriptu" + +#: src/common/outbound.c:2730 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <segvārds>, piešķir kādam balss statusu (vajag būt kanālop)" + +#: src/common/outbound.c:2732 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <ziņa>, raksta ziņu visiem kanāliem" + +#: src/common/outbound.c:2734 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <ziņa>, aizsūta ziņu visiem pašreizējā kanāla kanālopiem" + +#: src/common/outbound.c:2767 +#, c-format +msgid "Usage: %s\n" +msgstr "Lietošana: %s\n" + +#: src/common/outbound.c:2772 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Šādai komandai palīdzība nav pieejama.\n" + +#: src/common/outbound.c:2778 +msgid "No such command.\n" +msgstr "Nav tādas komandas.\n" + +#: src/common/outbound.c:3102 +msgid "Bad arguments for user command.\n" +msgstr "Slikti argumenti lietotāja komandai.\n" + +#: src/common/outbound.c:3266 +msgid "Too many recursive usercommands, aborting." +msgstr "Pārāk daudz rekursīvu pietotājkomandu, pārtraucu" + +#: src/common/outbound.c:3339 +msgid "Unknown Command. Try /help\n" +msgstr "Nezināma Komanda. Pamēģini /help\n" + +#: src/common/plugin.c:349 src/common/plugin.c:379 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Nav xchat_plugin_init simbola; vai tas patiesi ir xchat iespraudnis?" + +#: src/common/server.c:887 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Nevaru atšķetināt hostdatora vārdu %s\n" +"Pārbauiet savus IP Uzstādījumus!\n" + +#: src/common/server.c:892 +msgid "Proxy traversal failed.\n" +msgstr "Starpservera šķērsošana neizdevās.\n" + +#: src/common/servlist.c:633 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "" + +#: src/common/servlist.c:973 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" + +#: src/common/textevents.h:6 +msgid "-%C10-%C11-%O$t$1 added to notify list." +msgstr "" + +#: src/common/textevents.h:9 +msgid "-%C10-%C11-%O$t$1 Banlist: %C3$4 %C4$2 %C5$3%O" +msgstr "" + +#: src/common/textevents.h:12 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(You are banned)." +msgstr "" + +#: src/common/textevents.h:15 +msgid "-%C10-%C11-%O$t$1 is now known as $2" +msgstr "" + +#: src/common/textevents.h:18 +msgid "%C13*%O$t$1%O $2%O" +msgstr "" + +#: src/common/textevents.h:21 +msgid "%C13*%O$t%C8%B$1%B%O $2%O" +msgstr "" + +#: src/common/textevents.h:24 +msgid "-%C10-%C11-%O$t$1 sets ban on $2" +msgstr "" + +#: src/common/textevents.h:27 +msgid "-%C10-%C11-%O$tChannel $1 created on $2" +msgstr "" + +#: src/common/textevents.h:30 +msgid "" +"-%C10-%C11-%O$t%C11$1%O removes channel half-operator status from %C11$2" +msgstr "" + +#: src/common/textevents.h:33 +msgid "-%C10-%C11-%O$t%C11$1%O removes channel operator status from %C11$2" +msgstr "" + +#: src/common/textevents.h:36 +msgid "-%C10-%C11-%O$t%C11$1%O removes voice from %C11$2" +msgstr "" + +#: src/common/textevents.h:39 +msgid "-%C10-%C11-%O$t$1 sets exempt on $2" +msgstr "" + +#: src/common/textevents.h:42 +msgid "-%C10-%C11-%O$t%C11$1%O gives channel half-operator status to %C11$2" +msgstr "" + +#: src/common/textevents.h:45 +msgid "-%C10-%C11-%O$t$1 sets invite on $2" +msgstr "" + +#: src/common/textevents.h:48 +msgid "%UChannel Users Topic%O" +msgstr "" + +#: src/common/textevents.h:51 src/common/textevents.h:297 +msgid "%C2<%O$1%C2>%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:54 +msgid "-%C10-%C11-%O$t$1 sets mode $2$3 $4" +msgstr "" + +#: src/common/textevents.h:57 +msgid "-%C10-%C11-%O$tChannel $1 modes: $2" +msgstr "" + +#: src/common/textevents.h:60 +msgid "%C2<%C8%B$1%B%C2>%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:63 +msgid "%C12-%C13$1/$2%C12-%O$t$3%O" +msgstr "" + +#: src/common/textevents.h:66 +msgid "-%C10-%C11-%O$t%C11$1%O gives channel operator status to %C11$2" +msgstr "" + +#: src/common/textevents.h:69 +msgid "-%C10-%C11-%O$t$1 removes exempt on $2" +msgstr "" + +#: src/common/textevents.h:72 +msgid "-%C10-%C11-%O$t$1 removes invite on $2" +msgstr "" + +#: src/common/textevents.h:75 +msgid "-%C10-%C11-%O$t$1 removes channel keyword" +msgstr "" + +#: src/common/textevents.h:78 +msgid "-%C10-%C11-%O$t$1 removes user limit" +msgstr "" + +#: src/common/textevents.h:81 +msgid "-%C10-%C11-%O$t$1 sets channel keyword to $2" +msgstr "" + +#: src/common/textevents.h:84 +msgid "-%C10-%C11-%O$t$1 sets channel limit to $2" +msgstr "" + +#: src/common/textevents.h:87 +msgid "-%C10-%C11-%O$t$1 removes ban on $2" +msgstr "" + +#: src/common/textevents.h:90 +msgid "-%C10-%C11-%O$t%C11$1%O gives voice to %C11$2" +msgstr "" + +#: src/common/textevents.h:93 +msgid "-%C10-%C11-%O$tConnected. Now logging in.." +msgstr "" + +#: src/common/textevents.h:96 +msgid "-%C10-%C11-%O$tConnecting to %C11$1 %C14(%C11$2%C14)%C port %C11$3%C.." +msgstr "" + +#: src/common/textevents.h:99 +msgid "-%C10-%C11-%O$tConnection failed. Error: $1" +msgstr "" + +#: src/common/textevents.h:102 +msgid "-%C10-%C11-%O$tReceived a CTCP $1 from $2" +msgstr "" + +#: src/common/textevents.h:105 +msgid "-%C10-%C11-%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "" + +#: src/common/textevents.h:108 +msgid "%C3>%O$1%C3<%O$tCTCP $2%O" +msgstr "" + +#: src/common/textevents.h:111 +msgid "-%C10-%C11-%O$tReceived a CTCP Sound $1 from $2" +msgstr "" + +#: src/common/textevents.h:114 +msgid "-%C10-%C11-%O$tDCC CHAT to %C11$1%O aborted." +msgstr "" + +#: src/common/textevents.h:117 +msgid "" +"-%C10-%C11-%O$tDCC CHAT connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "" + +#: src/common/textevents.h:120 +msgid "-%C10-%C11-%O$tDCC CHAT to %C11$1%O lost. $4." +msgstr "" + +#: src/common/textevents.h:123 +msgid "-%C10-%C11-%O$tReceived a DCC CHAT offer from $1" +msgstr "" + +#: src/common/textevents.h:126 +msgid "-%C10-%C11-%O$tOffering DCC CHAT to $1" +msgstr "" + +#: src/common/textevents.h:129 +msgid "-%C10-%C11-%O$tAlready offering CHAT to $1" +msgstr "" + +#: src/common/textevents.h:132 +msgid "-%C10-%C11-%O$tDCC $1 connect attempt to %C11$2%O failed (err=$3)." +msgstr "" + +#: src/common/textevents.h:135 +msgid "-%C10-%C11-%O$tReceived '$1%O' from $2" +msgstr "" + +#: src/common/textevents.h:138 +msgid "" +"%C8,2 Type To/From Status Size Pos File %O%010%B%" +"C9----------------------------------------------------%O" +msgstr "" + +#: src/common/textevents.h:141 +msgid "" +"-%C10-%C11-%O$tReceived a malformed DCC request from %C11$1%O.%010-%C10-%C11-" +"%O$tContents of packet: $2" +msgstr "" + +#: src/common/textevents.h:144 +msgid "-%C10-%C11-%O$tOffering %C11$1 %Cto %C11$2%O" +msgstr "" + +#: src/common/textevents.h:147 +msgid "-%C10-%C11-%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:150 +msgid "-%C10-%C11-%O$tDCC RECV %C11$2%O to %C11$1%O aborted." +msgstr "" + +#: src/common/textevents.h:153 +msgid "" +"-%C10-%C11-%O$tDCC RECV %C11$1%O from %C11$3%O complete %C14[%C11$4%O cps%" +"C14]%O." +msgstr "" + +#: src/common/textevents.h:156 +msgid "" +"-%C10-%C11-%O$tDCC RECV connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "" + +#: src/common/textevents.h:159 +msgid "-%C10-%C11-%O$tDCC RECV %C11$1%O from %C11$3%O failed. $4." +msgstr "" + +#: src/common/textevents.h:162 +msgid "-%C10-%C11-%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "" + +#: src/common/textevents.h:165 +msgid "" +"-%C10-%C11-%O$tThe file %C11$1%C already exists, saving it as %C11$2%O " +"instead." +msgstr "" + +#: src/common/textevents.h:168 +msgid "-%C10-%C11-%O$t%C11$1 %Chas requested to resume %C11$2 %Cfrom %C11$3%C." +msgstr "" + +#: src/common/textevents.h:171 +msgid "-%C10-%C11-%O$tDCC SEND %C11$2%O to %C11$1%O aborted." +msgstr "" + +#: src/common/textevents.h:174 +msgid "" +"-%C10-%C11-%O$tDCC SEND %C11$1%O to %C11$2%O complete %C14[%C11$3%O cps%C14]%" +"O." +msgstr "" + +#: src/common/textevents.h:177 +msgid "" +"-%C10-%C11-%O$tDCC SEND connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "" + +#: src/common/textevents.h:180 +msgid "-%C10-%C11-%O$tDCC SEND %C11$1%O to %C11$2%O failed. $3" +msgstr "" + +#: src/common/textevents.h:183 +msgid "-%C10-%C11-%O$t%C11$1 %Chas offered %C11$2 %C(%C11$3 %Cbytes)" +msgstr "" + +#: src/common/textevents.h:186 +msgid "-%C10-%C11-%O$tDCC $1 %C11$2 %Cto %C11$3 %Cstalled - aborting." +msgstr "" + +#: src/common/textevents.h:189 +msgid "-%C10-%C11-%O$tDCC $1 %C11$2 %Cto %C11$3 %Ctimed out - aborting." +msgstr "" + +#: src/common/textevents.h:192 +msgid "-%C10-%C11-%O$t$1 deleted from notify list." +msgstr "" + +#: src/common/textevents.h:195 +msgid "-%C10-%C11-%O$tDisconnected ($1)." +msgstr "" + +#: src/common/textevents.h:198 +msgid "-%C10-%C11-%O$tFound your IP: [$1]" +msgstr "" + +#: src/common/textevents.h:201 +msgid "$1$t$2" +msgstr "" + +#: src/common/textevents.h:204 +msgid "%O%C11$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:207 +msgid "Ignore on %C11$1%O changed." +msgstr "" + +#: src/common/textevents.h:210 +msgid "%C08,02 %O" +msgstr "" + +#: src/common/textevents.h:213 +msgid "%C08,02 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG %O" +msgstr "" + +#: src/common/textevents.h:216 +msgid "%O%C11$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:219 +msgid " Ignore list is empty." +msgstr "" + +#: src/common/textevents.h:222 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(Channel is invite only)." +msgstr "" + +#: src/common/textevents.h:225 +msgid "-%C10-%C11-%O$tYou have been invited to %C11$1%C by %C11$2%C (%C11$3%C)" +msgstr "" + +#: src/common/textevents.h:228 +msgid "-%C10-%C11>%O$t%B$1%B %C14(%C10$3%C14)%C has joined $2" +msgstr "" + +#: src/common/textevents.h:231 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(Requires keyword)." +msgstr "" + +#: src/common/textevents.h:234 +msgid "<%C10-%C11-%O$t$1 has kicked $2 from $3 ($4%O)" +msgstr "" + +#: src/common/textevents.h:237 +msgid "-%C10-%C11-%O$tYou have been killed by $1 ($2%O)" +msgstr "" + +#: src/common/textevents.h:240 src/common/textevents.h:264 +msgid "%C3>%O$1%C3<%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:243 src/common/textevents.h:318 +#: src/common/textevents.h:324 src/common/textevents.h:327 +msgid "-%C10-%C11-%O$t$1%O" +msgstr "" + +#: src/common/textevents.h:246 +msgid "-%C10-%C11-%O$tMOTD Skipped." +msgstr "" + +#: src/common/textevents.h:249 +msgid "-%C10-%C11-%O$t$1 already in use. Retrying with $2.." +msgstr "" + +#: src/common/textevents.h:252 +msgid "-%C10-%C11-%O$tNickname already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:255 +msgid "-%C10-%C11-%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:258 +msgid "-%C10-%C11-%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:261 +msgid "%C12-%C13$1%C12-%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:267 +msgid "-%C10-%C11-%O$tNotify list is empty." +msgstr "" + +#: src/common/textevents.h:270 +msgid "%C08,02 %B-- Notify List --------------- %O" +msgstr "" + +#: src/common/textevents.h:273 +msgid "-%C10-%C11-%O$t$1 users in notify list." +msgstr "" + +#: src/common/textevents.h:276 +msgid "-%C10-%C11-%O$tNotify: $1 is offline ($2)." +msgstr "" + +#: src/common/textevents.h:279 +msgid "-%C10-%C11-%O$tNotify: $1 is online ($2)." +msgstr "" + +#: src/common/textevents.h:282 +msgid "<%C10-%C11-%O$t$1 %C14(%O$2%C14)%C has left $3" +msgstr "" + +#: src/common/textevents.h:285 +msgid "<%C10-%C11-%O$t$1 %C14(%O$2%C14)%C has left $3 %C14(%O$4%C14)%O" +msgstr "" + +#: src/common/textevents.h:288 +msgid "-%C10-%C11-%O$tPing reply from $1 : $2 second(s)" +msgstr "" + +#: src/common/textevents.h:291 +msgid "-%C10-%C11-%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:294 +msgid "%C12*%C13$1%C12*$t%O$2%O" +msgstr "" + +#: src/common/textevents.h:300 +msgid "-%C10-%C11-%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:303 +msgid "<%C10-%C11-%O$t$1 has quit %C14(%O$2%O%C14)%O" +msgstr "" + +#: src/common/textevents.h:306 +msgid "-%C10-%C11-%O$t$1 sets modes%B %C14[%O$2%B%C14]%O" +msgstr "" + +#: src/common/textevents.h:309 +msgid "%C12-%C13$1/Wallops%C12-%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:312 +msgid "-%C10-%C11-%O$tLooking up IP number for%C11 $1%O.." +msgstr "" + +#: src/common/textevents.h:315 +msgid "-%C10-%C11-%O$tConnected." +msgstr "" + +#: src/common/textevents.h:321 +msgid "-%C10-%C11-%O$tLooking up %C11$1%C.." +msgstr "" + +#: src/common/textevents.h:330 +msgid "-%C10-%C11-%O$tStopped previous connection attempt (pid=$1)" +msgstr "" + +#: src/common/textevents.h:333 +msgid "-%C10-%C11-%O$tTopic for %C11$1%C is %C11$2%O" +msgstr "" + +#: src/common/textevents.h:336 +msgid "-%C10-%C11-%O$tTopic for %C11$1%C set by %C11$2%C at %C11$3%O" +msgstr "" + +#: src/common/textevents.h:339 +msgid "-%C10-%C11-%O$t$1 has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:342 +msgid "-%C10-%C11-%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:345 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(User limit reached)." +msgstr "" + +#: src/common/textevents.h:348 +msgid "-%C10-%C11-%O$t%C11Users on $1:%C $2" +msgstr "" + +#: src/common/textevents.h:351 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %Cis away %C14(%O$2%O%C14)" +msgstr "" + +#: src/common/textevents.h:354 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%C $2" +msgstr "" + +#: src/common/textevents.h:357 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %CEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:360 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2" +msgstr "" + +#: src/common/textevents.h:363 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2 %C11$3%O" +msgstr "" + +#: src/common/textevents.h:366 +msgid "" +"-%C10-%C11-%O$t%C12[%O$1%C12] %Oreal user@host %C11$2%O, real IP %C11$3%O" +msgstr "" + +#: src/common/textevents.h:369 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O idle %C11$2%O" +msgstr "" + +#: src/common/textevents.h:372 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O idle %C11$2%O, signon: %C11$3%O" +msgstr "" + +#: src/common/textevents.h:375 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %C14(%O$2@$3%C14) %O: $4%O" +msgstr "" + +#: src/common/textevents.h:378 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O $2" +msgstr "" + +#: src/common/textevents.h:381 +msgid "-%C10-%C11>%O$t%BYou%B are now talking on %C11$2%O" +msgstr "" + +#: src/common/textevents.h:384 +msgid "-%C10-%C11-%O$tYou have left channel $3" +msgstr "" + +#: src/common/textevents.h:387 +msgid "-%C10-%C11-%O$tYou have left channel $3 %C14(%O$4%C14)%O" +msgstr "" + +#: src/common/textevents.h:390 +msgid "-%C10-%C11-%O$tYou have been kicked from $2 by $3 ($4%O)" +msgstr "" + +#: src/common/textevents.h:393 +msgid "-%C10-%C11-%O$tYou're inviting %C11$1%C to %C11$2%C (%C11$3%C)" +msgstr "" + +#: src/common/textevents.h:396 +msgid "%C6<%O$1%C6>%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:399 +msgid "-%C10-%C11-%O$tYou are now known as $2" +msgstr "" + +#: src/common/text.c:304 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** BEIDZU IEGRĀMATOŠANU IEKŠ %s\n" + +#: src/common/text.c:421 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** SĀKU IEGRĀMATOŠANU IEKŠ %s\n" + +#: src/common/text.c:440 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" + +#: src/common/text.c:651 +#, fuzzy +msgid "Left message" +msgstr "Ziņa" + +#: src/common/text.c:652 +#, fuzzy +msgid "Right message" +msgstr "Ziņa" + +#: src/common/text.c:656 +msgid "The nick of the joining person" +msgstr "Pievienojušās personas segvārds" + +#: src/common/text.c:657 +msgid "The channel being joined" +msgstr "Kanāls, kuram pievienojas" + +#: src/common/text.c:658 src/common/text.c:702 src/common/text.c:758 +msgid "The host of the person" +msgstr "Personas hostdators" + +#: src/common/text.c:662 src/common/text.c:667 src/common/text.c:673 +#: src/common/text.c:740 src/common/text.c:864 src/common/text.c:871 +#: src/common/text.c:876 src/common/text.c:881 src/common/text.c:886 +#: src/common/text.c:892 src/common/text.c:897 src/common/text.c:901 +#: src/common/text.c:906 src/common/text.c:912 src/common/text.c:958 +#: src/common/text.c:967 src/common/text.c:972 src/common/text.c:977 +#: src/common/text.c:986 src/common/text.c:997 src/common/text.c:1004 +#: src/common/text.c:1010 src/common/text.c:1015 src/common/text.c:1020 +#: src/common/text.c:1027 src/common/text.c:1033 src/common/text.c:1039 +#: src/common/text.c:1044 src/common/text.c:1049 src/common/text.c:1053 +#: src/common/text.c:1059 src/common/text.c:1067 src/common/text.c:1101 +#: src/common/text.c:1106 +msgid "Nickname" +msgstr "Segvārds" + +#: src/common/text.c:663 +msgid "The action" +msgstr "Darbība" + +#: src/common/text.c:668 +msgid "The text" +msgstr "Teksts" + +#: src/common/text.c:669 +msgid "Mode char" +msgstr "Režīma burts" + +#: src/common/text.c:674 src/common/text.c:730 src/common/text.c:736 +#: src/common/text.c:741 +msgid "The message" +msgstr "Ziņa" + +#: src/common/text.c:678 src/common/text.c:745 +msgid "Old nickname" +msgstr "Vecais segvārds" + +#: src/common/text.c:679 src/common/text.c:746 +msgid "New nickname" +msgstr "Jauns segvārds" + +#: src/common/text.c:683 +msgid "Nick of person who changed the topic" +msgstr "Personas segvārds, kura izmainīja tematu" + +#: src/common/text.c:684 src/common/text.c:690 src/fe-gtk/chanlist.c:599 +#: src/fe-gtk/chanlist.c:700 +msgid "Topic" +msgstr "Temats" + +#: src/common/text.c:685 src/common/text.c:689 src/common/text.c:1121 +#: src/fe-gtk/chanlist.c:597 src/fe-gtk/chanlist.c:691 +#: src/fe-gtk/ignoregui.c:175 +msgid "Channel" +msgstr "Kanāls" + +#: src/common/text.c:694 src/common/text.c:752 +msgid "The nickname of the kicker" +msgstr "Izmetēja segvārds" + +#: src/common/text.c:695 src/common/text.c:750 +msgid "The person being kicked" +msgstr "Persona, kuru izmeta" + +#: src/common/text.c:696 src/common/text.c:703 src/common/text.c:707 +#: src/common/text.c:712 src/common/text.c:751 src/common/text.c:759 +msgid "The channel" +msgstr "Kanāls" + +#: src/common/text.c:697 src/common/text.c:753 src/common/text.c:760 +msgid "The reason" +msgstr "Iemesls" + +#: src/common/text.c:701 src/common/text.c:757 +msgid "The nick of the person leaving" +msgstr "Personas segvārds, kura atstāj" + +#: src/common/text.c:708 src/common/text.c:714 +msgid "The time" +msgstr "Laiks" + +#: src/common/text.c:713 +msgid "The creator" +msgstr "Veidotājs" + +#: src/common/text.c:718 +msgid "Nick" +msgstr "Segvārds" + +#: src/common/text.c:719 src/common/text.c:973 +msgid "Reason" +msgstr "Iemesls" + +#: src/common/text.c:720 src/common/text.c:866 src/common/text.c:948 +msgid "Host" +msgstr "Hostdators" + +#: src/common/text.c:724 src/common/text.c:729 src/common/text.c:734 +msgid "Who it's from" +msgstr "No kā tas ir" + +#: src/common/text.c:725 +msgid "The time in x.x format (see below)" +msgstr "Laiks x.x formātā (skaties zemāk)" + +#: src/common/text.c:735 src/common/text.c:776 +msgid "The Channel it's going to" +msgstr "Kanāls gatavojas" + +#: src/common/text.c:764 +msgid "The sound" +msgstr "Skaņa" + +#: src/common/text.c:765 src/common/text.c:770 src/common/text.c:775 +msgid "The nick of the person" +msgstr "Personas segvārds" + +#: src/common/text.c:769 src/common/text.c:774 +msgid "The CTCP event" +msgstr "CTCP notikums" + +#: src/common/text.c:780 +msgid "The nick of the person who set the key" +msgstr "Personas segvārds, kura uzstādīja atslēgu" + +#: src/common/text.c:781 +msgid "The key" +msgstr "Atslēga" + +#: src/common/text.c:785 +msgid "The nick of the person who set the limit" +msgstr "Personas segvārds, kura uzstādīja limitu" + +#: src/common/text.c:786 +msgid "The limit" +msgstr "Limits" + +#: src/common/text.c:790 +msgid "The nick of the person who did the op'ing" +msgstr "Personas segvārds, kura op'oja" + +#: src/common/text.c:791 +msgid "The nick of the person who has been op'ed" +msgstr "Personas segvārds, kuru op'oja" + +#: src/common/text.c:795 +msgid "The nick of the person who has been halfop'ed" +msgstr "Personas segvārds, kuru pus-op'oja" + +#: src/common/text.c:796 +msgid "The nick of the person who did the halfop'ing" +msgstr "Personas segvārds, kura pus-op'oja" + +#: src/common/text.c:800 +msgid "The nick of the person who did the voice'ing" +msgstr "Personas segvārds, kura iedeva balsi" + +#: src/common/text.c:801 +msgid "The nick of the person who has been voice'ed" +msgstr "Personas segvārds, kurai iedeva balsi" + +#: src/common/text.c:805 +msgid "The nick of the person who did the banning" +msgstr "Personas segvārds, kura izraidīja" + +#: src/common/text.c:806 src/common/text.c:833 +msgid "The ban mask" +msgstr "Izraidījuma maska" + +#: src/common/text.c:810 +msgid "The nick who removed the key" +msgstr "Segvārds, kurš noņēma atslēgu" + +#: src/common/text.c:814 +msgid "The nick who removed the limit" +msgstr "Segvārds, kurš noņēma limitu" + +#: src/common/text.c:818 +msgid "The nick of the person of did the deop'ing" +msgstr "Personas segvārds, kura deop'oja" + +#: src/common/text.c:819 +msgid "The nick of the person who has been deop'ed" +msgstr "Personas segvārds, kuru deop'oja" + +#: src/common/text.c:822 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Personas segvārds, kura pus-op'oja" + +#: src/common/text.c:823 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Personas segvārds, kuru pus-op'oja" + +#: src/common/text.c:827 +msgid "The nick of the person of did the devoice'ing" +msgstr "Personas segvārds, kura noņēma balsi" + +#: src/common/text.c:828 +msgid "The nick of the person who has been devoice'ed" +msgstr "Personas segvārds, kurai noņēma balsi" + +#: src/common/text.c:832 +msgid "The nick of the person of did the unban'ing" +msgstr "Personas segvārds, kura noņēma izraidījumu" + +#: src/common/text.c:837 +msgid "The nick of the person who did the exempt" +msgstr "Personas segvārds, kura atbrīvoja" + +#: src/common/text.c:838 src/common/text.c:843 +msgid "The exempt mask" +msgstr "Atbrīvošanas maska" + +#: src/common/text.c:842 +msgid "The nick of the person removed the exempt" +msgstr "Personas segvārds, kura noņēma atbrīvojumu" + +#: src/common/text.c:847 +msgid "The nick of the person who did the invite" +msgstr "Personas segvārds, kura ielūdza" + +#: src/common/text.c:848 src/common/text.c:853 +msgid "The invite mask" +msgstr "Ielūguma maska" + +#: src/common/text.c:852 +msgid "The nick of the person removed the invite" +msgstr "Personas segvārds, kura noņēma ielūgumu" + +#: src/common/text.c:857 +msgid "The nick of the person setting the mode" +msgstr "Personas segvārds, kura uzstadīja režīmu" + +#: src/common/text.c:858 +msgid "The mode's sign (+/-)" +msgstr "Režīma zīme (+/-)" + +#: src/common/text.c:859 +msgid "The mode letter" +msgstr "Režīma burts" + +#: src/common/text.c:860 +msgid "The channel it's being set on" +msgstr "Kanāls, kuram tas tika uzstādīts" + +#: src/common/text.c:865 +msgid "Username" +msgstr "Lietotājvārds" + +#: src/common/text.c:867 +msgid "Full name" +msgstr "Pilns vārds" + +#: src/common/text.c:872 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Kanāla Piederība/\"ir IRC operātors\"" + +#: src/common/text.c:877 +msgid "Server Information" +msgstr "Serva Informācija" + +#: src/common/text.c:882 src/common/text.c:887 +msgid "Idle time" +msgstr "Dīkstāves laiks" + +#: src/common/text.c:888 +msgid "Signon time" +msgstr "Ierašanās laiks" + +#: src/common/text.c:893 +msgid "Away reason" +msgstr "Prombūtnes iemesls" + +#: src/common/text.c:902 src/common/text.c:907 src/common/text.c:915 +#: src/common/text.c:1093 +msgid "Message" +msgstr "Ziņojums" + +#: src/common/text.c:908 +#, fuzzy +msgid "Account" +msgstr "Pieņemt" + +#: src/common/text.c:913 +#, fuzzy +msgid "Real user@host" +msgstr "Parādīt/Paslēpt lietotāju sarakstu" + +#: src/common/text.c:914 +msgid "Real IP" +msgstr "" + +#: src/common/text.c:919 src/common/text.c:928 src/common/text.c:934 +#: src/common/text.c:1116 +msgid "Channel Name" +msgstr "Kanāla Nosaukums" + +#: src/common/text.c:923 src/common/text.c:1079 src/fe-gtk/textgui.c:383 +msgid "Text" +msgstr "Teksts" + +#: src/common/text.c:924 src/common/text.c:930 src/common/text.c:1117 +msgid "Server Name" +msgstr "Servera Nosaukums" + +#: src/common/text.c:929 +msgid "Nick of person who invited you" +msgstr "Personas segvārds, kura jūs ielūdza" + +#: src/common/text.c:935 src/fe-gtk/chanlist.c:598 +msgid "Users" +msgstr "Lietotāji" + +#: src/common/text.c:939 +msgid "Nickname in use" +msgstr "Segvārds jau lietošanā" + +#: src/common/text.c:940 +msgid "Nick being tried" +msgstr "Mēģināmais segvārds" + +#: src/common/text.c:944 src/common/text.c:980 src/common/text.c:991 +#: src/common/text.c:998 src/common/text.c:1011 src/common/text.c:1028 +#: src/common/text.c:1128 +msgid "Error" +msgstr "Kļūda" + +#: src/common/text.c:949 src/common/text.c:1083 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:950 src/common/text.c:979 +msgid "Port" +msgstr "Ports" + +#: src/common/text.c:954 +msgid "PID" +msgstr "PID" + +#: src/common/text.c:962 +msgid "Channel name" +msgstr "Kanāla nosaukums" + +#: src/common/text.c:963 src/common/text.c:968 +msgid "Modes string" +msgstr "Režīma rinda" + +#: src/common/text.c:978 src/common/text.c:1016 src/common/text.c:1021 +#: src/common/text.c:1062 +msgid "IP address" +msgstr "IP adrese" + +#: src/common/text.c:984 src/common/text.c:1009 +msgid "DCC Type" +msgstr "DCC Tips" + +#: src/common/text.c:985 src/common/text.c:990 src/common/text.c:995 +#: src/common/text.c:1002 src/common/text.c:1022 src/common/text.c:1026 +#: src/common/text.c:1032 src/common/text.c:1038 src/common/text.c:1045 +#: src/common/text.c:1054 src/common/text.c:1060 +msgid "Filename" +msgstr "Faila nosaukums" + +#: src/common/text.c:996 src/common/text.c:1003 +msgid "Destination filename" +msgstr "Mērķa faila nosaukums" + +#: src/common/text.c:1005 src/common/text.c:1034 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1040 +msgid "Pathname" +msgstr "Ceļa nosaukums" + +#: src/common/text.c:1055 src/fe-gtk/dccgui.c:483 src/fe-gtk/dccgui.c:633 +msgid "Position" +msgstr "Pozīcija" + +#: src/common/text.c:1061 src/fe-gtk/dccgui.c:482 src/fe-gtk/dccgui.c:632 +msgid "Size" +msgstr "Izmērs" + +#: src/common/text.c:1066 +msgid "DCC String" +msgstr "DCC Virkne" + +#: src/common/text.c:1071 +msgid "Number of notify items" +msgstr "Paziņojamo priekšmetu skaits" + +#: src/common/text.c:1075 +msgid "Servername" +msgstr "Servervārds" + +#: src/common/text.c:1087 +msgid "Old Filename" +msgstr "Vecais Faila nosaukums" + +#: src/common/text.c:1088 +msgid "New Filename" +msgstr "Jaunais Faila nosaukums" + +#: src/common/text.c:1092 +msgid "Receiver" +msgstr "Saņēmējs" + +#: src/common/text.c:1097 +msgid "Hostmask" +msgstr "Hostdatora maska" + +#: src/common/text.c:1102 +msgid "Hostname" +msgstr "Hostdatora vārds" + +#: src/common/text.c:1107 +msgid "The Packet" +msgstr "Pakete" + +#: src/common/text.c:1111 +msgid "Seconds" +msgstr "Sekundes" + +#: src/common/text.c:1115 +msgid "Nick of person who have been invited" +msgstr "Personas segvārds, kura tikusi ielūgta" + +#: src/common/text.c:1122 +msgid "Banmask" +msgstr "Izraidījuma maska" + +#: src/common/text.c:1123 +msgid "Who set the ban" +msgstr "Kurš uzstādīja izraidījumu" + +#: src/common/text.c:1124 +msgid "Ban time" +msgstr "Izraidījuma laiks" + +#: src/common/text.c:1162 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default" +msgstr "" +"Kļūda parsējot notikumu %s.\n" +"Lādēju noklusēto" + +#: src/common/text.c:1672 +#, fuzzy, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Nevar nolasīt to failu." + +#: src/common/util.c:292 +msgid "Remote host closed socket" +msgstr "Attālinātais hostdators aizvēra ligzdu" + +#: src/common/util.c:295 +msgid "Connection refused" +msgstr "Savienojums atteikts" + +#: src/common/util.c:298 +msgid "No route to host" +msgstr "Nav maršruta uz resursdatoru" + +#: src/common/util.c:300 +msgid "Connection timed out" +msgstr "Savinojuma taimauts" + +#: src/common/util.c:302 +msgid "Cannot assign that address" +msgstr "Nevaru piešķirt to adresi" + +#: src/common/util.c:304 +msgid "Connection reset by peer" +msgstr "Savienojuma pārtraukums" + +#: src/common/util.c:733 +msgid "Andorra" +msgstr "Andora" + +#: src/common/util.c:734 +msgid "United Arab Emirates" +msgstr "Apvienotie Arābu Emirāti" + +#: src/common/util.c:735 +msgid "Afghanistan" +msgstr "Afganistāna" + +#: src/common/util.c:736 +msgid "Antigua and Barbuda" +msgstr "Antigva un Barbuda" + +#: src/common/util.c:737 +msgid "Anguilla" +msgstr "Angilja" + +#: src/common/util.c:738 +msgid "Albania" +msgstr "Albānija" + +#: src/common/util.c:739 +msgid "Armenia" +msgstr "Armēnija" + +#: src/common/util.c:740 +msgid "Netherlands Antilles" +msgstr "Nīderlandes Antiļas" + +#: src/common/util.c:741 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:742 +msgid "Antarctica" +msgstr "Antarktika" + +#: src/common/util.c:743 +msgid "Argentina" +msgstr "Argentīna" + +#: src/common/util.c:744 +msgid "Reverse DNS" +msgstr "Reverss DNS" + +#: src/common/util.c:745 +msgid "American Samoa" +msgstr "Amērikas Samoa" + +#: src/common/util.c:746 +msgid "Austria" +msgstr "Austrija" + +#: src/common/util.c:747 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:748 +msgid "Australia" +msgstr "Austrālija" + +#: src/common/util.c:749 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:750 +msgid "Azerbaijan" +msgstr "Azerbaidžāna" + +#: src/common/util.c:751 +msgid "Bosnia and Herzegovina" +msgstr "Bosnija un Hercogovina" + +#: src/common/util.c:752 +msgid "Barbados" +msgstr "Barbadosa" + +#: src/common/util.c:753 +msgid "Bangladesh" +msgstr "Bangladeša" + +#: src/common/util.c:754 +msgid "Belgium" +msgstr "Beļģija" + +#: src/common/util.c:755 +msgid "Burkina Faso" +msgstr "Burkinafaso" + +#: src/common/util.c:756 +msgid "Bulgaria" +msgstr "Bulgārija" + +#: src/common/util.c:757 +msgid "Bahrain" +msgstr "Bahreina" + +#: src/common/util.c:758 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:759 +msgid "Businesses" +msgstr "" + +#: src/common/util.c:760 +msgid "Benin" +msgstr "Benina" + +#: src/common/util.c:761 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:762 +msgid "Brunei Darussalam" +msgstr "Bruneja" + +#: src/common/util.c:763 +msgid "Bolivia" +msgstr "Bolīvija" + +#: src/common/util.c:764 +msgid "Brazil" +msgstr "Brazīlija" + +#: src/common/util.c:765 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:766 +msgid "Bhutan" +msgstr "Butāna" + +#: src/common/util.c:767 +msgid "Bouvet Island" +msgstr "Bovetu salas" + +#: src/common/util.c:768 +msgid "Botswana" +msgstr "Botsvāna" + +#: src/common/util.c:769 +msgid "Belarus" +msgstr "Baltkrievija" + +#: src/common/util.c:770 +msgid "Belize" +msgstr "Beliza" + +#: src/common/util.c:771 +msgid "Canada" +msgstr "Kanāda" + +#: src/common/util.c:772 +msgid "Cocos Islands" +msgstr "Kokosu salas" + +#: src/common/util.c:773 +msgid "Central African Republic" +msgstr "Centrālāfrikas Republika" + +#: src/common/util.c:774 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:775 +msgid "Switzerland" +msgstr "Šveice" + +#: src/common/util.c:776 +msgid "Cote D'ivoire" +msgstr "Kotdivuāra" + +#: src/common/util.c:777 +msgid "Cook Islands" +msgstr "Kuka salas" + +#: src/common/util.c:778 +msgid "Chile" +msgstr "Čīle" + +#: src/common/util.c:779 +msgid "Cameroon" +msgstr "Kamerūna" + +#: src/common/util.c:780 +msgid "China" +msgstr "Ķīna" + +#: src/common/util.c:781 +msgid "Colombia" +msgstr "Kolumbija" + +#: src/common/util.c:782 +msgid "Internic Commercial" +msgstr "Starptautiskā Komercsabiedrība" + +#: src/common/util.c:783 +msgid "Costa Rica" +msgstr "Kostarika" + +#: src/common/util.c:784 +msgid "Former Czechoslovakia" +msgstr "Bijusī Čehoslovākija" + +#: src/common/util.c:785 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:786 +msgid "Cape Verde" +msgstr "Kapoverde" + +#: src/common/util.c:787 +msgid "Christmas Island" +msgstr "Ziemassvētku Salas" + +#: src/common/util.c:788 +msgid "Cyprus" +msgstr "Kipra" + +#: src/common/util.c:789 +msgid "Czech Republic" +msgstr "Čehija" + +#: src/common/util.c:790 +msgid "Germany" +msgstr "Vācija" + +#: src/common/util.c:791 +msgid "Djibouti" +msgstr "Džibutija" + +#: src/common/util.c:792 +msgid "Denmark" +msgstr "Dānija" + +#: src/common/util.c:793 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:794 +msgid "Dominican Republic" +msgstr "Domenicānas Republika" + +#: src/common/util.c:795 +msgid "Algeria" +msgstr "Alžīrija" + +#: src/common/util.c:796 +msgid "Ecuador" +msgstr "Ekvadora" + +#: src/common/util.c:797 +msgid "Educational Institution" +msgstr "Mācību Iestāde" + +#: src/common/util.c:798 +msgid "Estonia" +msgstr "Igaunija" + +#: src/common/util.c:799 +msgid "Egypt" +msgstr "Ēģipte" + +#: src/common/util.c:800 +msgid "Western Sahara" +msgstr "Rietumsahāra" + +#: src/common/util.c:801 +msgid "Eritrea" +msgstr "Eritreja" + +#: src/common/util.c:802 +msgid "Spain" +msgstr "Spānija" + +#: src/common/util.c:803 +msgid "Ethiopia" +msgstr "Etiopija" + +#: src/common/util.c:804 +msgid "Finland" +msgstr "Somija" + +#: src/common/util.c:805 +msgid "Fiji" +msgstr "Fidži" + +#: src/common/util.c:806 +msgid "Falkland Islands" +msgstr "Folklenda salas" + +#: src/common/util.c:807 +msgid "Micronesia" +msgstr "Mikronēzija" + +#: src/common/util.c:808 +msgid "Faroe Islands" +msgstr "Farēru salas" + +#: src/common/util.c:809 +msgid "France" +msgstr "Francija" + +#: src/common/util.c:810 +msgid "France, Metropolitan" +msgstr "Francija, Galvaspilsēta" + +#: src/common/util.c:811 +msgid "Gabon" +msgstr "Gabona" + +#: src/common/util.c:812 +msgid "Great Britain" +msgstr "Lielbritānija" + +#: src/common/util.c:813 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:814 +msgid "Georgia" +msgstr "Džordžija" + +#: src/common/util.c:815 +msgid "French Guiana" +msgstr "Franču Gviāna" + +#: src/common/util.c:816 +msgid "British Channel Isles" +msgstr "Britu Kanāla salas" + +#: src/common/util.c:817 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:818 +msgid "Gibraltar" +msgstr "Gibraltārs" + +#: src/common/util.c:819 +msgid "Greenland" +msgstr "Grenlande" + +#: src/common/util.c:820 +msgid "Gambia" +msgstr "Gambija" + +#: src/common/util.c:821 +msgid "Guinea" +msgstr "Gvineja" + +#: src/common/util.c:822 +msgid "Government" +msgstr "Valdība" + +#: src/common/util.c:823 +msgid "Guadeloupe" +msgstr "Gvadelupa" + +#: src/common/util.c:824 +msgid "Equatorial Guinea" +msgstr "Ekvatoriālā Gvineja" + +#: src/common/util.c:825 +msgid "Greece" +msgstr "Grieķija" + +#: src/common/util.c:826 +msgid "S. Georgia and S. Sandwich Isles." +msgstr "Svētā Džordžija un Svētā Sendvidža salas." + +#: src/common/util.c:827 +msgid "Guatemala" +msgstr "Gvatemala" + +#: src/common/util.c:828 +msgid "Guam" +msgstr "Guama" + +#: src/common/util.c:829 +msgid "Guinea-Bissau" +msgstr "Gvineja-Bisava" + +#: src/common/util.c:830 +msgid "Guyana" +msgstr "Gajāna" + +#: src/common/util.c:831 +msgid "Hong Kong" +msgstr "Hongkonga" + +#: src/common/util.c:832 +msgid "Heard and McDonald Islands" +msgstr "Herda un Makdonalda salas" + +#: src/common/util.c:833 +msgid "Honduras" +msgstr "Hondurasa" + +#: src/common/util.c:834 +msgid "Croatia" +msgstr "Horvātija" + +#: src/common/util.c:835 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:836 +msgid "Hungary" +msgstr "Ungārija" + +#: src/common/util.c:837 +msgid "Indonesia" +msgstr "Indonēzija" + +#: src/common/util.c:838 +msgid "Ireland" +msgstr "Īrija" + +#: src/common/util.c:839 +msgid "Israel" +msgstr "Izraēla" + +#: src/common/util.c:840 +msgid "India" +msgstr "Indija" + +#: src/common/util.c:841 +#, fuzzy +msgid "Informational" +msgstr "Starptautisks" + +#: src/common/util.c:842 +msgid "International" +msgstr "Starptautisks" + +#: src/common/util.c:843 +msgid "British Indian Ocean Territory" +msgstr "Britu Indija okeāna teritorija" + +#: src/common/util.c:844 +msgid "Iraq" +msgstr "Irāka" + +#: src/common/util.c:845 +msgid "Iran" +msgstr "Irāna" + +#: src/common/util.c:846 +msgid "Iceland" +msgstr "Islande" + +#: src/common/util.c:847 +msgid "Italy" +msgstr "Itālija" + +#: src/common/util.c:848 +msgid "Jamaica" +msgstr "Jamaika" + +#: src/common/util.c:849 +msgid "Jordan" +msgstr "Jordānija" + +#: src/common/util.c:850 +msgid "Japan" +msgstr "Japāna" + +#: src/common/util.c:851 +msgid "Kenya" +msgstr "Kenija" + +#: src/common/util.c:852 +msgid "Kyrgyzstan" +msgstr "Kirgizstāna" + +#: src/common/util.c:853 +msgid "Cambodia" +msgstr "Kambodža" + +#: src/common/util.c:854 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:855 +msgid "Comoros" +msgstr "Komoros salas" + +#: src/common/util.c:856 +msgid "St. Kitts and Nevis" +msgstr "Svētā Kita un Nevis salas" + +#: src/common/util.c:857 +msgid "North Korea" +msgstr "Ziemeļkoreja" + +#: src/common/util.c:858 +msgid "South Korea" +msgstr "Dienvidkoreja" + +#: src/common/util.c:859 +msgid "Kuwait" +msgstr "Kuveita" + +#: src/common/util.c:860 +msgid "Cayman Islands" +msgstr "Kaimanu salas" + +#: src/common/util.c:861 +msgid "Kazakhstan" +msgstr "Kazahstāna" + +#: src/common/util.c:862 +msgid "Laos" +msgstr "Laosa" + +#: src/common/util.c:863 +msgid "Lebanon" +msgstr "Libāna" + +#: src/common/util.c:864 +msgid "Saint Lucia" +msgstr "Sentlūsija" + +#: src/common/util.c:865 +msgid "Liechtenstein" +msgstr "Lihtenšteina" + +#: src/common/util.c:866 +msgid "Sri Lanka" +msgstr "Šrilanka" + +#: src/common/util.c:867 +msgid "Liberia" +msgstr "Libērija" + +#: src/common/util.c:868 +msgid "Lesotho" +msgstr "Lesoto" + +#: src/common/util.c:869 +msgid "Lithuania" +msgstr "Lietuva" + +#: src/common/util.c:870 +msgid "Luxembourg" +msgstr "Luksemburga" + +#: src/common/util.c:871 +msgid "Latvia" +msgstr "Latvija" + +#: src/common/util.c:872 +msgid "Libya" +msgstr "Libāna" + +#: src/common/util.c:873 +msgid "Morocco" +msgstr "Maroko" + +#: src/common/util.c:874 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:875 +msgid "Moldova" +msgstr "Moldāvija" + +#: src/common/util.c:876 +msgid "United States Medical" +msgstr "Savienoto Valstu Medicīnas" + +#: src/common/util.c:877 +msgid "Madagascar" +msgstr "Madagaskara" + +#: src/common/util.c:878 +msgid "Marshall Islands" +msgstr "Maršalu Salas" + +#: src/common/util.c:879 +msgid "Military" +msgstr "Militārs" + +#: src/common/util.c:880 +msgid "Macedonia" +msgstr "Maķedonija" + +#: src/common/util.c:881 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:882 +msgid "Myanmar" +msgstr "Mjanma" + +#: src/common/util.c:883 +msgid "Mongolia" +msgstr "Mongolija" + +#: src/common/util.c:884 +msgid "Macau" +msgstr "Makao" + +#: src/common/util.c:885 +msgid "Northern Mariana Islands" +msgstr "Ziemeļmarina" + +#: src/common/util.c:886 +msgid "Martinique" +msgstr "Martinika" + +#: src/common/util.c:887 +msgid "Mauritania" +msgstr "Mauritānija" + +#: src/common/util.c:888 +msgid "Montserrat" +msgstr "Montserata" + +#: src/common/util.c:889 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:890 +msgid "Mauritius" +msgstr "Mauritānija" + +#: src/common/util.c:891 +msgid "Maldives" +msgstr "Maldīvija" + +#: src/common/util.c:892 +msgid "Malawi" +msgstr "Malāvija" + +#: src/common/util.c:893 +msgid "Mexico" +msgstr "Mexico" + +#: src/common/util.c:894 +msgid "Malaysia" +msgstr "Malaizija" + +#: src/common/util.c:895 +msgid "Mozambique" +msgstr "Mozambika" + +#: src/common/util.c:896 +msgid "Namibia" +msgstr "Namībija" + +#: src/common/util.c:897 +msgid "New Caledonia" +msgstr "Jaunkaldonija" + +#: src/common/util.c:898 +msgid "Niger" +msgstr "Nigēra" + +#: src/common/util.c:899 +msgid "Internic Network" +msgstr "Starptautiskais Tīkls" + +#: src/common/util.c:900 +msgid "Norfolk Island" +msgstr "Norfolkas salas" + +#: src/common/util.c:901 +msgid "Nigeria" +msgstr "Nigērija" + +#: src/common/util.c:902 +msgid "Nicaragua" +msgstr "Nikaragva" + +#: src/common/util.c:903 +msgid "Netherlands" +msgstr "Nīderlande" + +#: src/common/util.c:904 +msgid "Norway" +msgstr "Norvēģija" + +#: src/common/util.c:905 +msgid "Nepal" +msgstr "Nepāla" + +#: src/common/util.c:906 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:907 +msgid "Neutral Zone" +msgstr "Neitrālā Zona" + +#: src/common/util.c:908 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:909 +msgid "New Zealand" +msgstr "Jaunzēlande" + +#: src/common/util.c:910 +msgid "Oman" +msgstr "Omāna" + +#: src/common/util.c:911 +msgid "Internic Non-Profit Organization" +msgstr "Starptautiska Bezpeļņas Organizācija" + +#: src/common/util.c:912 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:913 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:914 +msgid "French Polynesia" +msgstr "Franču Polinēzija" + +#: src/common/util.c:915 +msgid "Papua New Guinea" +msgstr "Papua Jaungvineja" + +#: src/common/util.c:916 +msgid "Philippines" +msgstr "Filipīnas" + +#: src/common/util.c:917 +msgid "Pakistan" +msgstr "Pakistāna" + +#: src/common/util.c:918 +msgid "Poland" +msgstr "Polija" + +#: src/common/util.c:919 +msgid "St. Pierre and Miquelon" +msgstr "Svētā Pjēra un Mikvelona salas" + +#: src/common/util.c:920 +msgid "Pitcairn" +msgstr "Pitkērna" + +#: src/common/util.c:921 +msgid "Puerto Rico" +msgstr "Puertoriko" + +#: src/common/util.c:922 +msgid "Portugal" +msgstr "Portugāle" + +#: src/common/util.c:923 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:924 +msgid "Paraguay" +msgstr "Paragvaja" + +#: src/common/util.c:925 +msgid "Qatar" +msgstr "Katara" + +#: src/common/util.c:926 +msgid "Reunion" +msgstr "Reinjona" + +#: src/common/util.c:927 +msgid "Romania" +msgstr "Rumānija" + +#: src/common/util.c:928 +msgid "Old School ARPAnet" +msgstr "Vecās Skolas ARPAnet" + +#: src/common/util.c:929 +msgid "Russian Federation" +msgstr "Krievijas Federācija" + +#: src/common/util.c:930 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:931 +msgid "Saudi Arabia" +msgstr "Saudu Arābija" + +#: src/common/util.c:932 +msgid "Solomon Islands" +msgstr "Zālamana salas" + +#: src/common/util.c:933 +msgid "Seychelles" +msgstr "Seišelas" + +#: src/common/util.c:934 +msgid "Sudan" +msgstr "Sudāna" + +#: src/common/util.c:935 +msgid "Sweden" +msgstr "Zviedrija" + +#: src/common/util.c:936 +msgid "Singapore" +msgstr "Singapūra" + +#: src/common/util.c:937 +msgid "St. Helena" +msgstr "Svētās Helēnas sala" + +#: src/common/util.c:938 +msgid "Slovenia" +msgstr "Slovēnija" + +#: src/common/util.c:939 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svelbāna un Žana Maijena salas" + +#: src/common/util.c:940 +msgid "Slovak Republic" +msgstr "Slovākija" + +#: src/common/util.c:941 +msgid "Sierra Leone" +msgstr "Sjerra Leone" + +#: src/common/util.c:942 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:943 +msgid "Senegal" +msgstr "Senegāla" + +#: src/common/util.c:944 +msgid "Somalia" +msgstr "Somālija" + +#: src/common/util.c:945 +msgid "Suriname" +msgstr "Surinama" + +#: src/common/util.c:946 +msgid "Sao Tome and Principe" +msgstr "Santome un Prinsipi" + +#: src/common/util.c:947 +msgid "Former USSR" +msgstr "Bijušā PSRS" + +#: src/common/util.c:948 +msgid "El Salvador" +msgstr "Salvadora" + +#: src/common/util.c:949 +msgid "Syria" +msgstr "Sīrija" + +#: src/common/util.c:950 +msgid "Swaziland" +msgstr "Šveice" + +#: src/common/util.c:951 +msgid "Turks and Caicos Islands" +msgstr "Tērksas un Kaikosas salas" + +#: src/common/util.c:952 +msgid "Chad" +msgstr "Čada" + +#: src/common/util.c:953 +msgid "French Southern Territories" +msgstr "Francijas Dienvidu Teritorijas" + +#: src/common/util.c:954 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:955 +msgid "Thailand" +msgstr "Taizeme" + +#: src/common/util.c:956 +msgid "Tajikistan" +msgstr "Tadžikistāna" + +#: src/common/util.c:957 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:958 +msgid "Turkmenistan" +msgstr "Turkmenistāna" + +#: src/common/util.c:959 +msgid "Tunisia" +msgstr "Tunisija" + +#: src/common/util.c:960 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:961 +msgid "East Timor" +msgstr "Austrumtimora" + +#: src/common/util.c:962 +msgid "Turkey" +msgstr "Turcija" + +#: src/common/util.c:963 +msgid "Trinidad and Tobago" +msgstr "Trinidada un Tobago" + +#: src/common/util.c:964 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:965 +msgid "Taiwan" +msgstr "Taivāna" + +#: src/common/util.c:966 +msgid "Tanzania" +msgstr "Tanzānija" + +#: src/common/util.c:967 +msgid "Ukraine" +msgstr "Ukraina" + +#: src/common/util.c:968 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:969 +msgid "United Kingdom" +msgstr "Apvienotā Karaliste" + +#: src/common/util.c:970 +msgid "US Minor Outlying Islands" +msgstr "ASV Mazās Pieguļošās Salas" + +#: src/common/util.c:971 +msgid "United States of America" +msgstr "Amērikas Savienotās Valstis" + +#: src/common/util.c:972 +msgid "Uruguay" +msgstr "Urugvaja" + +#: src/common/util.c:973 +msgid "Uzbekistan" +msgstr "Uzbekistāna" + +#: src/common/util.c:974 +msgid "Vatican City State" +msgstr "Vatikānas Pilsētvalsts" + +#: src/common/util.c:975 +msgid "St. Vincent and the grenadines" +msgstr "Svētā Vincenta salas" + +#: src/common/util.c:976 +msgid "Venezuela" +msgstr "Venecuēla" + +#: src/common/util.c:977 +msgid "British Virgin Islands" +msgstr "Britu Virdžīnu Salas" + +#: src/common/util.c:978 +msgid "US Virgin Islands" +msgstr "ASV Virdžīnu Salas" + +#: src/common/util.c:979 +msgid "Vietnam" +msgstr "Vjetnama" + +#: src/common/util.c:980 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:981 +msgid "Wallis and Futuna Islands" +msgstr "Volisa un Futuna salas" + +#: src/common/util.c:982 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:983 +msgid "Yemen" +msgstr "Jemena" + +#: src/common/util.c:984 +msgid "Mayotte" +msgstr "Majota" + +#: src/common/util.c:985 +msgid "Yugoslavia" +msgstr "Dienvidslāvija" + +#: src/common/util.c:986 +msgid "South Africa" +msgstr "Dienvidāfrija" + +#: src/common/util.c:987 +msgid "Zambia" +msgstr "Zambija" + +#: src/common/util.c:988 +msgid "Zaire" +msgstr "Zaira" + +#: src/common/util.c:989 +msgid "Zimbabwe" +msgstr "Zimbabve" + +#: src/common/util.c:995 src/common/util.c:1005 src/fe-gtk/menu.c:503 +#: src/fe-gtk/menu.c:507 src/fe-gtk/menu.c:511 src/fe-gtk/menu.c:515 +#: src/fe-gtk/menu.c:519 +msgid "Unknown" +msgstr "Nezināms" + +#: src/common/xchat.c:908 +msgid "Direct client-to-client" +msgstr "" + +#: src/common/xchat.c:909 +#, fuzzy +msgid "Send File" +msgstr "Skaņas fails:" + +#: src/common/xchat.c:910 +msgid "Offer Chat" +msgstr "" + +#: src/common/xchat.c:911 +#, fuzzy +msgid "Abort Chat" +msgstr "Par X-Chat" + +#: src/common/xchat.c:912 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Versija" + +#: src/common/xchat.c:913 +#, fuzzy +msgid "Userinfo" +msgstr "Lietotājs" + +#: src/common/xchat.c:914 +msgid "Clientinfo" +msgstr "" + +#: src/common/xchat.c:915 src/common/xchat.c:947 src/common/xchat.c:997 +msgid "Ping" +msgstr "" + +#: src/common/xchat.c:916 +#, fuzzy +msgid "Time" +msgstr "Laiks" + +#: src/common/xchat.c:917 +#, fuzzy +msgid "Finger" +msgstr "Nigēra" + +#: src/common/xchat.c:918 +#, fuzzy +msgid "Oper" +msgstr "Atvērt" + +#: src/common/xchat.c:919 +msgid "Kill this user" +msgstr "" + +#: src/common/xchat.c:920 +#, fuzzy +msgid "Mode" +msgstr "Mod" + +#: src/common/xchat.c:921 +msgid "Give Voice" +msgstr "" + +#: src/common/xchat.c:922 +msgid "Take Voice" +msgstr "" + +#: src/common/xchat.c:923 +msgid "Give Ops" +msgstr "" + +#: src/common/xchat.c:924 +msgid "Take Ops" +msgstr "" + +#: src/common/xchat.c:925 +#, fuzzy +msgid "Ignore" +msgstr "Neignorēt" + +#: src/common/xchat.c:926 +#, fuzzy +msgid "Ignore User" +msgstr "Ignorēšanas Maska:" + +#: src/common/xchat.c:927 +#, fuzzy +msgid "UnIgnore User" +msgstr "Neignorēt" + +#: src/common/xchat.c:928 +#, fuzzy +msgid "Kick/Ban" +msgstr "Segvārds" + +#: src/common/xchat.c:929 src/common/xchat.c:981 +#, fuzzy +msgid "Kick" +msgstr "Segvārds" + +#: src/common/xchat.c:930 src/common/xchat.c:931 src/common/xchat.c:932 +#: src/common/xchat.c:933 src/common/xchat.c:934 src/common/xchat.c:980 +#, fuzzy +msgid "Ban" +msgstr "Butāna" + +#: src/common/xchat.c:935 src/common/xchat.c:936 src/common/xchat.c:937 +#: src/common/xchat.c:938 +#, fuzzy +msgid "KickBan" +msgstr "Segvārds" + +#: src/common/xchat.c:939 src/fe-gtk/dccgui.c:528 src/fe-gtk/dccgui.c:669 +msgid "Info" +msgstr "Info" + +#: src/common/xchat.c:940 +msgid "Who" +msgstr "" + +#: src/common/xchat.c:941 src/common/xchat.c:994 +msgid "WhoIs" +msgstr "" + +#: src/common/xchat.c:942 +msgid "DNS Lookup" +msgstr "" + +#: src/common/xchat.c:943 +#, fuzzy +msgid "Trace" +msgstr "Francija" + +#: src/common/xchat.c:944 +#, fuzzy +msgid "UserHost" +msgstr "Lietotāji" + +#: src/common/xchat.c:945 +msgid "External" +msgstr "" + +#: src/common/xchat.c:946 +msgid "Traceroute" +msgstr "" + +#: src/common/xchat.c:948 +#, fuzzy +msgid "Telnet" +msgstr "Dzēst" + +#: src/common/xchat.c:949 +#, fuzzy +msgid "Open Dialog Window" +msgstr "Automātiski Atvērt Dialoga Logus" + +#: src/common/xchat.c:961 +#, fuzzy +msgid "Disconnect" +msgstr "Pieslēgties" + +#: src/common/xchat.c:962 +#, fuzzy +msgid "Reconnect" +msgstr "Pieslēgties" + +#: src/common/xchat.c:963 +#, fuzzy +msgid "Leave Channel" +msgstr "Atstāt Kanālu" + +#: src/common/xchat.c:964 +#, fuzzy +msgid "Join Channel..." +msgstr "Pievienoties Kanālam" + +#: src/common/xchat.c:965 +#, fuzzy +msgid "Enter Channel to Join:" +msgstr "Kanāls gatavojas" + +#: src/common/xchat.c:966 +#, fuzzy +msgid "Server Links" +msgstr "Serveru Saraksts..." + +#: src/common/xchat.c:967 +#, fuzzy +msgid "Ping Server" +msgstr "Serveris" + +#: src/common/xchat.c:968 +#, fuzzy +msgid "Hide Version" +msgstr "Versija" + +#: src/common/xchat.c:978 +#, fuzzy +msgid "Op" +msgstr "Atvērt" + +#: src/common/xchat.c:979 +msgid "DeOp" +msgstr "" + +#: src/common/xchat.c:982 +msgid "bye" +msgstr "" + +#: src/common/xchat.c:983 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "" + +#: src/common/xchat.c:984 +#, fuzzy +msgid "Sendfile" +msgstr "Skaņas fails:" + +#: src/common/xchat.c:985 +msgid "Dialog" +msgstr "" + +#: src/common/xchat.c:995 +#, fuzzy +msgid "Send" +msgstr "Aizs" + +#: src/common/xchat.c:996 +#, fuzzy +msgid "Chat" +msgstr "Čada" + +#: src/common/xchat.c:998 src/fe-gtk/banlist.c:314 src/fe-gtk/search.c:117 +#: src/fe-gtk/urlgrab.c:200 +msgid "Clear" +msgstr "Attīrīt" + +#: src/fe-gtk/about.c:102 +msgid "About X-Chat" +msgstr "Par X-Chat" + +#: src/fe-gtk/about.c:124 +msgid "A multiplatform IRC Client" +msgstr "" + +#: src/fe-gtk/ascii.c:131 +msgid "Character Chart" +msgstr "Rakstzīmju Tabula" + +#: src/fe-gtk/banlist.c:148 src/fe-gtk/banlist.c:232 +msgid "You must select some bans." +msgstr "" + +#: src/fe-gtk/banlist.c:248 src/fe-gtk/ignoregui.c:174 +msgid "Mask" +msgstr "Maska" + +#: src/fe-gtk/banlist.c:249 src/fe-gtk/dccgui.c:485 +msgid "From" +msgstr "No" + +#: src/fe-gtk/banlist.c:250 +msgid "Date" +msgstr "Datums" + +#: src/fe-gtk/banlist.c:294 +#, c-format +msgid "X-Chat: Ban List (%s)" +msgstr "X-Chat: Izraidīto Saraksts (%s)" + +#: src/fe-gtk/banlist.c:310 +msgid "Unban" +msgstr "NeIzraidīt" + +#: src/fe-gtk/banlist.c:312 +msgid "Crop" +msgstr "Apcirpt" + +#: src/fe-gtk/banlist.c:316 +msgid "Refresh" +msgstr "Atjaunināt" + +#: src/fe-gtk/chanlist.c:120 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "Lietotāju un Kanālu Statistika: %d/%d Lietotāji %d/%d Kanālos" + +#: src/fe-gtk/chanlist.c:536 +msgid "I can't save an empty list!" +msgstr "Nevaru saglabāt tukšu sarakstu!" + +#: src/fe-gtk/chanlist.c:539 src/fe-gtk/menu.c:931 +msgid "Select an output filename" +msgstr "Izvēlies izvades failavārdu" + +#: src/fe-gtk/chanlist.c:607 +#, c-format +msgid "X-Chat: Channel List (%s)" +msgstr "X-Chat: Kanālu Saraksts (%s)" + +#: src/fe-gtk/chanlist.c:622 +msgid "List display options:" +msgstr "Parādīt displeja opcijas:" + +#: src/fe-gtk/chanlist.c:634 +#, fuzzy +msgid "Minimum Users:" +msgstr "Minimums Lietotāju: " + +#: src/fe-gtk/chanlist.c:649 +#, fuzzy +msgid "Maximum Users:" +msgstr "Maksimums Lietotāju: " + +#: src/fe-gtk/chanlist.c:664 +#, fuzzy +msgid "Regex Match:" +msgstr "Regex Atbilstība: " + +#: src/fe-gtk/chanlist.c:685 +msgid "Apply Match to:" +msgstr "" + +#: src/fe-gtk/chanlist.c:709 +msgid "Apply" +msgstr "Pielietot" + +#: src/fe-gtk/chanlist.c:751 +msgid "Refresh the list" +msgstr "Atjaunināt sarakstu" + +#: src/fe-gtk/chanlist.c:753 +msgid "Save the list" +msgstr "Saglabāt sarakstu" + +#: src/fe-gtk/chanlist.c:755 src/fe-gtk/menu.c:739 +msgid "Join Channel" +msgstr "Pievienoties Kanālam" + +#: src/fe-gtk/dccgui.c:126 +#, c-format +msgid "Send file to %s" +msgstr "Sūtīt failu %s" + +#: src/fe-gtk/dccgui.c:339 +#, c-format +msgid "" +" File: %s\n" +" To/From: %s\n" +" Size: %u\n" +" Port: %d\n" +" IP Number: %s\n" +"Start Time: %s Max CPS: %d\n" +msgstr "" +" Fails: %s\n" +" Uz/No: %s\n" +" Izmērs: %u\n" +" Ports: %d\n" +" IP Numurs: %s\n" +"Sākšanas Laiks: %s Maks.CPS: %d\n" + +#: src/fe-gtk/dccgui.c:372 +msgid "That file is not resumable." +msgstr "" + +#: src/fe-gtk/dccgui.c:376 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:383 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:387 +msgid "Cannot resume the same file from two people." +msgstr "" + +#: src/fe-gtk/dccgui.c:474 +msgid "MIME Type" +msgstr "MIME Tips" + +#: src/fe-gtk/dccgui.c:480 src/fe-gtk/dccgui.c:630 src/fe-gtk/dccgui.c:753 +#: src/fe-gtk/notifygui.c:110 +msgid "Status" +msgstr "Satuss" + +#: src/fe-gtk/dccgui.c:481 src/fe-gtk/dccgui.c:631 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Fails" + +#: src/fe-gtk/dccgui.c:484 src/fe-gtk/dccgui.c:635 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:494 +msgid "X-Chat: File Receive List" +msgstr "X-Chat: Saņemamo Failu Saraksts" + +#: src/fe-gtk/dccgui.c:522 src/fe-gtk/dccgui.c:668 src/fe-gtk/dccgui.c:783 +msgid "Abort" +msgstr "Pārtraukt" + +#: src/fe-gtk/dccgui.c:524 src/fe-gtk/dccgui.c:784 +msgid "Accept" +msgstr "Pieņemt" + +#: src/fe-gtk/dccgui.c:526 +msgid "Resume" +msgstr "Atsākt" + +#: src/fe-gtk/dccgui.c:530 +msgid "Open" +msgstr "Atvērt" + +#: src/fe-gtk/dccgui.c:634 +msgid "Ack" +msgstr "Ack" + +#: src/fe-gtk/dccgui.c:636 +msgid "To" +msgstr "Uz" + +#: src/fe-gtk/dccgui.c:646 +msgid "X-Chat: File Send List" +msgstr "X-Chat: Failu Sūtīšanas Saraksts" + +#: src/fe-gtk/dccgui.c:754 +msgid "To/From" +msgstr "Uz/No" + +#: src/fe-gtk/dccgui.c:755 +msgid "Recv" +msgstr "Saņ" + +#: src/fe-gtk/dccgui.c:756 +msgid "Sent" +msgstr "Aizs" + +#: src/fe-gtk/dccgui.c:757 +msgid "StartTime" +msgstr "SākšanasLaiks" + +#: src/fe-gtk/dccgui.c:767 +msgid "X-Chat: DCC Chat List" +msgstr "X-Chat: DCC Tērzēšanas Saraksts" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*JAUNS*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "REDIĢĒ MANI" + +#: src/fe-gtk/editlist.c:305 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Nosaukums" + +#: src/fe-gtk/editlist.c:306 +msgid "Command" +msgstr "Komanda" + +#: src/fe-gtk/editlist.c:333 +msgid "Move Up" +msgstr "Augšup" + +#: src/fe-gtk/editlist.c:337 +msgid "Move Dn" +msgstr "Lejup" + +#: src/fe-gtk/editlist.c:345 +msgid "Cancel" +msgstr "Atcelt" + +#: src/fe-gtk/editlist.c:349 src/fe-gtk/textgui.c:464 src/fe-gtk/urlgrab.c:204 +msgid "Save" +msgstr "Saglabāt" + +#: src/fe-gtk/editlist.c:357 +msgid "Add New" +msgstr "Pievienot Jaunu" + +#: src/fe-gtk/editlist.c:361 src/fe-gtk/fkeys.c:746 src/fe-gtk/ignoregui.c:378 +msgid "Delete" +msgstr "Dzēst" + +#: src/fe-gtk/editlist.c:369 +msgid "Sort" +msgstr "Kārtot" + +#: src/fe-gtk/editlist.c:373 +msgid "Help" +msgstr "Palīdzība" + +#: src/fe-gtk/fe-gtk.c:143 +#, fuzzy +msgid "Options" +msgstr "Kanāla Opcijas" + +#: src/fe-gtk/fe-gtk.c:144 +msgid "DIRECTORY" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:145 +msgid "use a different config dir" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:146 +msgid "don't auto connect" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:147 +msgid "don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:148 +#, fuzzy +msgid "show version information" +msgstr "Serva Informācija" + +#: src/fe-gtk/fe-gtk.c:214 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:617 +msgid "Search buffer is empty.\n" +msgstr "Meklēšanas buferis ir tukšs.\n" + +#: src/fe-gtk/fe-gtk.c:694 +#, c-format +msgid "%d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into " +"the entry box where you pressed the key sequence. Thus it can contain text " +"(which will be sent to the channel/person), commands or user commands. When " +"run all \\n characters in Data 1 are used to deliminate seperate commands so " +"it is possible to run more than one command. If you want a \\ in the actual " +"text run then enter \\\\" +msgstr "" +"Darbība Palaist Komandu palaiž datus iekš Dati 1 tā, it kā tie būtu " +"ierakstīti ieraksta lauciņā, kur tu nospiedi taustiņu secību. Taču tas var " +"arī saturēt tekstu (Kas tiks sūtīts kanālam/personai), komandas vai " +"lietotāja komandas. Kad palaiž, visas \\n rakstzīmes iekš Dati 1 tiek " +"lietotas, lai atdalītu atsevišķas komandas, tāpēc ir iespējams palaist " +"vairāk kā vienu komandu. Ja tu gribi panākt \\ savā tekstā, tad ievadi \\\\" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1 " +"to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position" +msgstr "" +"Komanda Mainīt Lapu pārslēdzas starp lapām sadaļu režīmā. Iestati Dati 1 uz " +"lapu, uz kuru vēlies pārslēgties. Ja Dati 2 ir iestatīti uz kaut ko, tad " +"pārslēgšanās būs relatīva atkarībā no pašreizējās pozīcijas" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" +"Komanda Ievietot Buferī ievietos Dati 1 saturu ierakstā, kur taustiņi tika " +"nospiesti secībā, konkrētajā kursora pozīcijā" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page. If Data " +"1 is set to anything the page scrolls up, else it scrolls down" +msgstr "" +"Koamanda Ritināt Lapu ritina teksta vidžetu augšup un lejup pa vienu lapu. " +"Ja Dati 1 ir iestatīti uz kaut ko, lapa ritināsies augšup, citādi tā " +"ritināsies lejup" + +#: src/fe-gtk/fkeys.c:161 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered to " +"the contents of Data 1" +msgstr "" +"Komanda Iestatīt Buferi iestata ierakstu, kur taustiņu secība tika ievadīta " +"atbiltoši Dati 1 saturam" + +#: src/fe-gtk/fkeys.c:163 +msgid "" +"The Last Command command sets the entry to contain the last command entered " +"- the same as pressing up in a shell" +msgstr "" +"Komanda Iepriekšējā Komanda iestata rindiņu, lai tā satur iepriekšējo " +"ievadīto komandu - tas pats, kas nospiežot augšup čaulā" + +#: src/fe-gtk/fkeys.c:165 +msgid "" +"The Next Command command sets the entry to contain the next command entered " +"- the same as pressing down in a shell" +msgstr "" +"Komanda Nākamā Komanda iestata rindiņu, lai tā satur nākamo ievadīto komandu " +"- tas pats, kas nospiežot lejup čaulā" + +#: src/fe-gtk/fkeys.c:167 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the " +"last nick, not the next" +msgstr "" +"Šī komanda maina ieraksta tekstu, lai pabeigtu nepilnu segvārdu vai komandu. " +"Ja Dati 1 ir iestatīti, tad dubult-tabulācija rindiņā izvēlēsies pēdējo " +"segvārdu, nevis nākamo" + +#: src/fe-gtk/fkeys.c:169 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set " +"to anything it will scroll up, else it scrolls down" +msgstr "" +"Šī komanda ritina augšup un lejup pa segvārdu sarakstu. Ja Dati 1 ir " +"iestatīti uz kaut ko, tā ritināsies augšup, citādi tā ritināsies lejup" + +#: src/fe-gtk/fkeys.c:171 +#, fuzzy +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" +"Šī komanda pārbauda pēdējos ievadītos datus pret aizvietojumu sarakstu un " +"aizvieto to, ja atrod atbilstību" + +#: src/fe-gtk/fkeys.c:173 +#, fuzzy +msgid "This command moves the front tab left by one" +msgstr "Šī komanda pārvieto priekšpuses sadaļu pa kreisi" + +#: src/fe-gtk/fkeys.c:175 +#, fuzzy +msgid "This command moves the front tab right by one" +msgstr "Šī komanda pārvieto priekšpuses sadaļu pa labi" + +#: src/fe-gtk/fkeys.c:177 +#, fuzzy +msgid "This command moves the current tab family to the left" +msgstr "Šī komanda pārvieto priekšpuses sadaļu pa kreisi" + +#: src/fe-gtk/fkeys.c:179 +#, fuzzy +msgid "This command moves the current tab family to the right" +msgstr "Šī komanda pārvieto priekšpuses sadaļu pa kreisi" + +#: src/fe-gtk/fkeys.c:181 +msgid "Push input line into history but doesn't send to server" +msgstr "Ievietot ievades līniju vēsturē, bet nesūtīt serverim" + +#: src/fe-gtk/fkeys.c:193 +msgid "There was an error loading key bindings configuration" +msgstr "Atgadījās kļūda, lādējot taustiņu atbilstību konfigurāciju" + +#: src/fe-gtk/fkeys.c:434 src/fe-gtk/fkeys.c:435 src/fe-gtk/fkeys.c:436 +#: src/fe-gtk/fkeys.c:437 src/fe-gtk/fkeys.c:719 src/fe-gtk/fkeys.c:725 +#: src/fe-gtk/fkeys.c:730 src/fe-gtk/maingui.c:804 src/fe-gtk/maingui.c:825 +#: src/fe-gtk/maingui.c:979 src/fe-gtk/maingui.c:1018 +#: src/fe-gtk/maingui.c:2360 +msgid "<none>" +msgstr "<nekas>" + +#: src/fe-gtk/fkeys.c:683 +msgid "Mod" +msgstr "Mod" + +#: src/fe-gtk/fkeys.c:684 src/fe-gtk/fkeys.c:779 +msgid "Key" +msgstr "Taustiņš" + +#: src/fe-gtk/fkeys.c:685 +msgid "Action" +msgstr "Darbība" + +#: src/fe-gtk/fkeys.c:694 +msgid "X-Chat: Edit Key Bindings" +msgstr "X-Chat: Rediģēt Taustiņu Atbilstības" + +#: src/fe-gtk/fkeys.c:741 +msgid "Add new" +msgstr "Pievienot jaunu" + +#: src/fe-gtk/fkeys.c:772 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:774 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:776 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:783 +msgid "Data 1" +msgstr "Dati 1" + +#: src/fe-gtk/fkeys.c:786 +msgid "Data 2" +msgstr "Dati 2" + +#: src/fe-gtk/fkeys.c:829 +msgid "Error opening keys config file\n" +msgstr "Kļūda atverot taustiņu config failu\n" + +#: src/fe-gtk/fkeys.c:1000 +#, fuzzy, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Nezināms taustiņvārds %s taustiņu atbilstību konfigurācijas failā\n" +"Ielāde pārtraukta, Lūdzu salabo ~/.xchat/keybindings\n" + +#: src/fe-gtk/fkeys.c:1038 +#, fuzzy, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Nezināma darbība %s taustiņu atbilstību konfigurācijas failā\n" +"Ielāde pārtraukta, Lūdzu salabo ~/.xchat/keybindings\n" + +#: src/fe-gtk/fkeys.c:1059 +#, fuzzy, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Gaidīju Datu līniju (sākums Dx{:|!}), bet saņēmu:\n" +"%s\n" +"\n" +"Ielāde pārtraukta, Lūdzu salabo ~/.xchat/keybindings\n" + +#: src/fe-gtk/fkeys.c:1128 +#, fuzzy, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Nezināms taustiņvārds %s taustiņu atbilstību konfigurācijas failā\n" +"Ielāde pārtraukta, Lūdzu salabo ~/.xchat/keybindings\n" + +#: src/fe-gtk/gtkutil.c:146 +msgid "Cannot write to that file." +msgstr "Nevar ierakstīt tajā failā." + +#: src/fe-gtk/gtkutil.c:148 +msgid "Cannot read that file." +msgstr "Nevar nolasīt to failu." + +#: src/fe-gtk/ignoregui.c:116 src/fe-gtk/ignoregui.c:279 +msgid "That mask already exists." +msgstr "" + +#: src/fe-gtk/ignoregui.c:176 src/fe-gtk/maingui.c:1473 +msgid "Private" +msgstr "Privāts" + +#: src/fe-gtk/ignoregui.c:177 +msgid "Notice" +msgstr "Paziņot" + +#: src/fe-gtk/ignoregui.c:178 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:179 +msgid "DCC" +msgstr "" + +#: src/fe-gtk/ignoregui.c:180 +msgid "Invite" +msgstr "Ielūgt" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Unignore" +msgstr "Neignorēt" + +#: src/fe-gtk/ignoregui.c:299 +#, fuzzy +msgid "Enter mask to ignore:" +msgstr "Kanāls gatavojas" + +#: src/fe-gtk/ignoregui.c:346 +msgid "X-Chat: Ignore list" +msgstr "X-Chat: Ignorēšanas saraksts" + +#: src/fe-gtk/ignoregui.c:353 +msgid "Ignore Stats:" +msgstr "Ignorēšānas Statistika:" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Channel:" +msgstr "Kanāls:" + +#: src/fe-gtk/ignoregui.c:362 +msgid "Private:" +msgstr "Privāts:" + +#: src/fe-gtk/ignoregui.c:363 +msgid "Notice:" +msgstr "Paziņojums:" + +#: src/fe-gtk/ignoregui.c:364 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:365 +msgid "Invite:" +msgstr "Ielūgt:" + +#: src/fe-gtk/ignoregui.c:376 src/fe-gtk/menu.c:1236 +msgid "New" +msgstr "Jauns" + +#: src/fe-gtk/ignoregui.c:380 +#, fuzzy +msgid "Delete All" +msgstr "Dzēst" + +#: src/fe-gtk/maingui.c:477 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Temats %s ir: %s" + +#: src/fe-gtk/maingui.c:481 +msgid "No topic is set" +msgstr "Temats nav uzstādīts" + +#: src/fe-gtk/maingui.c:878 +msgid "No other tabs open, quit xchat?" +msgstr "Nav atvērtas citas sadaļas, iziet no xchat?" + +#: src/fe-gtk/maingui.c:924 +msgid "Insert color code" +msgstr "Ievietot krāsas kodu" + +#: src/fe-gtk/maingui.c:966 src/fe-gtk/menu.c:1258 +msgid "Close Tab" +msgstr "Aizvērt Sadaļu" + +#: src/fe-gtk/maingui.c:969 src/fe-gtk/menu.c:1388 +msgid "Detach Tab" +msgstr "Atdalīt Sadaļu" + +#: src/fe-gtk/maingui.c:984 +msgid "Beep on message" +msgstr "Pīkstiens uz ziņām" + +#: src/fe-gtk/maingui.c:987 +#, fuzzy +msgid "Show join/part messages" +msgstr "Pīkstiens uz privātām ziņām" + +#: src/fe-gtk/maingui.c:989 +msgid "Color paste" +msgstr "Krāsas ievietošana" + +#: src/fe-gtk/maingui.c:999 +msgid "Go to" +msgstr "" + +#: src/fe-gtk/maingui.c:1191 +msgid "Some file transfers still active, quit xchat?" +msgstr "Dažas failu pārsūtes joprojām aktīvas, iziet no xchat?" + +#: src/fe-gtk/maingui.c:1341 src/fe-gtk/maingui.c:1447 +msgid "User limit must be a number!\n" +msgstr "Lietotāju limitam ir jābūt skaitlim!\n" + +#: src/fe-gtk/maingui.c:1469 +msgid "Topic Protection" +msgstr "Temata Aizsardzība" + +#: src/fe-gtk/maingui.c:1470 +msgid "No outside messages" +msgstr "Bez ārējām ziņām" + +#: src/fe-gtk/maingui.c:1471 +msgid "Secret" +msgstr "Slepens" + +#: src/fe-gtk/maingui.c:1472 +msgid "Invite Only" +msgstr "Tikai ar ielūgumu" + +#: src/fe-gtk/maingui.c:1474 +msgid "Moderated" +msgstr "Apvaldīts" + +#: src/fe-gtk/maingui.c:1475 +msgid "Ban List" +msgstr "Izraidīto Saraksts" + +#: src/fe-gtk/maingui.c:1477 +msgid "Keyword" +msgstr "Atslēgvārds" + +#: src/fe-gtk/maingui.c:1489 +msgid "User Limit" +msgstr "Lietotāju Limits" + +#: src/fe-gtk/maingui.c:1505 +msgid "Close this tab/window" +msgstr "Aizvērt šo sadaļu/logu" + +#: src/fe-gtk/maingui.c:1602 +msgid "Show/Hide userlist" +msgstr "Parādīt/Paslēpt lietotāju sarakstu" + +#: src/fe-gtk/maingui.c:1712 +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 "" + +#: src/fe-gtk/maingui.c:1905 +msgid "Enter new nickname:" +msgstr "Ievadiet jaunu segvārdu:" + +#: src/fe-gtk/menu.c:141 +msgid "Host unknown" +msgstr "Nezināms hostdators" + +#: src/fe-gtk/menu.c:502 +#, c-format +msgid "User: %s" +msgstr "Lietotājs: %s" + +#: src/fe-gtk/menu.c:506 +#, c-format +msgid "Country: %s" +msgstr "Valsts: %s" + +#: src/fe-gtk/menu.c:510 +#, c-format +msgid "Realname: %s" +msgstr "Īstais Vārds: %s" + +#: src/fe-gtk/menu.c:514 +#, c-format +msgid "Server: %s" +msgstr "Serveris: %s" + +#: src/fe-gtk/menu.c:518 +#, c-format +msgid "Last Msg: %s" +msgstr "Pēdējā Ziņa: %s" + +#: src/fe-gtk/menu.c:603 +msgid "Menu Bar" +msgstr "Izvēlnes Josla" + +#: src/fe-gtk/menu.c:604 +msgid "Topic Bar" +msgstr "Temata Josla" + +#: src/fe-gtk/menu.c:608 +msgid "User List" +msgstr "Lietotāju Saraksts" + +#: src/fe-gtk/menu.c:611 +#, fuzzy +msgid "Mode Buttons" +msgstr "Dialoga Pogas..." + +#: src/fe-gtk/menu.c:617 +#, fuzzy +msgid "User List Buttons" +msgstr "Lietotājsaraksta Pogas..." + +#: src/fe-gtk/menu.c:743 +msgid "Part Channel" +msgstr "Atstāt Kanālu" + +#: src/fe-gtk/menu.c:745 +msgid "Cycle Channel" +msgstr "Ciklēt Kanālā" + +#: src/fe-gtk/menu.c:768 +msgid "X-Chat: User menu" +msgstr "X-Chat: Lietotāja izvēlne" + +#: src/fe-gtk/menu.c:777 +msgid "Edit This Menu..." +msgstr "Rediģēt Šo Izvēlni..." + +#: src/fe-gtk/menu.c:879 +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 "" +"*BRĪDINĀJUMS*\n" +"Automātiski akceptēt DCC uz savu mājas direktoriju\n" +"var būt bīstami un viegli exploitējams. Piem.:\n" +"Kāds var atsūtīt tev .bash_profile" + +#: src/fe-gtk/menu.c:1001 +msgid "Settings saved." +msgstr "Uzstādījumi saglabāti." + +#: src/fe-gtk/menu.c:1038 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" +"Lietotāja Komandas - Speciālie kodi:\n" +"\n" +"%c = pašreizējais kanāls\n" +"%m = datora info\n" +"%n = jūsu segvārds\n" +"%t = laiks/datums\n" +"%v = xchat versija\n" +"%2 = vārds 2\n" +"%3 = vārds 3\n" +"&2 = vārds 2 līnijas beigās\n" +"&3 = vārds 3 līnijas beigās\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 būtu \"john\"\n" +"&2 būtu \"john hello\"." + +#: src/fe-gtk/menu.c:1053 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Lietotājsaraksta Pogas - Speciālie kodi:\n" +"\n" +"%a = visi izvēlētie segvārdi\n" +"%c = pašreizējai kanāls\n" +"%h = izvēlētā segvārda hostdators\n" +"%m = datora info\n" +"%n = jusu segvārds\n" +"%s = izvēlētais segvārds\n" +"%t = laiks/datums\n" + +#: src/fe-gtk/menu.c:1062 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Dialoga Pogas - Speciālie kodi:\n" +"\n" +"%a = visi izvēlētie segvārdi\n" +"%c = pašreizējai kanāls\n" +"%h = izvēlētā segvārda hostdators\n" +"%m = datora info\n" +"%n = jusu segvārds\n" +"%s = izvēlētais segvārds\n" +"%t = laiks/datums\n" + +#: src/fe-gtk/menu.c:1071 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" +"CTCP Atbildes - Speciālie kodi:\n" +"\n" +"%d = dati (viss ctcp)\n" +"%m = datora info\n" +"%s = ctcp sūtītāja segvārds\n" +"%t = laiks/datums\n" +"%2 = vārds 2\n" +"%3 = vārds 3\n" +"&2 = vārds 2 līnijas beigās\n" +"&3 = vārds 3 līnijas beigās\n" +"\n" + +#: src/fe-gtk/menu.c:1081 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of X-Chat" +msgstr "" +"URL Noteicēji - Speciālie kodi:\n" +"\n" +"%s = URL virkne\n" +"\n" +"Noliekot ! komandas priekšā\n" +"norāda, ka tā sūtāma uz\n" +"čaulu, nevis X-Chat" + +#: src/fe-gtk/menu.c:1090 +msgid "X-Chat: User Defined Commands" +msgstr "X-Chat: Lietotāja Definētās Komandas" + +#: src/fe-gtk/menu.c:1097 +msgid "X-Chat: Userlist Popup menu" +msgstr "X-Chat: Lietotāju Saraksta Ātrizvēlne.." + +#: src/fe-gtk/menu.c:1104 +msgid "X-Chat: Replace" +msgstr "X-Chat: Aizvietot" + +#: src/fe-gtk/menu.c:1111 +msgid "X-Chat: URL Handlers" +msgstr "X-Chat: URL Noteicēji" + +#: src/fe-gtk/menu.c:1130 +msgid "X-Chat: Userlist buttons" +msgstr "X-Chat: Lietotāju Saraksta Pogas" + +#: src/fe-gtk/menu.c:1137 +msgid "X-Chat: Dialog buttons" +msgstr "X-Chat: Dialoga pogas" + +#: src/fe-gtk/menu.c:1144 +msgid "X-Chat: CTCP Replies" +msgstr "X-Chat: CTCP Atbildes" + +#: src/fe-gtk/menu.c:1232 +msgid "_X-Chat" +msgstr "_X-Chat" + +#: src/fe-gtk/menu.c:1233 +msgid "Server List..." +msgstr "Serveru Saraksts..." + +#: src/fe-gtk/menu.c:1237 +msgid "Server Tab..." +msgstr "Servera Sadaļa..." + +#: src/fe-gtk/menu.c:1238 +msgid "Channel Tab..." +msgstr "Kanāla Sadaļa..." + +#: src/fe-gtk/menu.c:1239 +msgid "Server Window..." +msgstr "Servera Logs..." + +#: src/fe-gtk/menu.c:1240 +msgid "Channel Window..." +msgstr "Kanāla Logs..." + +#: src/fe-gtk/menu.c:1245 src/fe-gtk/menu.c:1247 +#, fuzzy +msgid "Load Plugin or Script..." +msgstr "Ielādēt Iespraudni..." + +#: src/fe-gtk/menu.c:1251 +msgid "New Shell Tab..." +msgstr "Jauna Čaulas Sadaļa..." + +#: src/fe-gtk/menu.c:1260 +msgid "Quit" +msgstr "Iziet" + +#: src/fe-gtk/menu.c:1262 +msgid "_IRC" +msgstr "_IRC" + +#: src/fe-gtk/menu.c:1263 +msgid "Invisible" +msgstr "Neredzams" + +#: src/fe-gtk/menu.c:1264 +msgid "Receive Wallops" +msgstr "Saņemt Wallops" + +#: src/fe-gtk/menu.c:1265 +msgid "Receive Server Notices" +msgstr "Saņemt Servera Paziņojumus" + +#: src/fe-gtk/menu.c:1267 +msgid "Marked Away" +msgstr "Atzīmēt kā Promesošs" + +#: src/fe-gtk/menu.c:1269 +msgid "Auto Rejoin when Kicked" +msgstr "Auto Pievienoties pie Izmešanas" + +#: src/fe-gtk/menu.c:1270 +msgid "Auto Reconnect to Server" +msgstr "Auto Pieslēgties Serverim" + +#: src/fe-gtk/menu.c:1271 +msgid "Never-give-up ReConnect" +msgstr "Nekad nepadoties pie Pieslēgšanās" + +#: src/fe-gtk/menu.c:1273 +msgid "Auto Open Dialog Windows" +msgstr "Automātiski Atvērt Dialoga Logus" + +#: src/fe-gtk/menu.c:1274 +msgid "Auto Accept Direct Chat" +msgstr "Auto Pieņemt Tiešo Tērzēšanu" + +#: src/fe-gtk/menu.c:1275 +msgid "Auto Accept Files" +msgstr "Auto Pieņemt Failus" + +#: src/fe-gtk/menu.c:1277 +msgid "_Server" +msgstr "_Serveris" + +#: src/fe-gtk/menu.c:1279 +msgid "S_ettings" +msgstr "U_zstādījumi" + +#: src/fe-gtk/menu.c:1280 +msgid "Preferences..." +msgstr "Preferences..." + +#: src/fe-gtk/menu.c:1282 +msgid "Lists" +msgstr "Saraksti" + +#: src/fe-gtk/menu.c:1283 +#, fuzzy +msgid "Auto Replace..." +msgstr "Aizvietojamo Ātrizvēlne..." + +#: src/fe-gtk/menu.c:1284 +msgid "CTCP Replies..." +msgstr "CTCP Atbildes..." + +#: src/fe-gtk/menu.c:1285 +msgid "Dialog Buttons..." +msgstr "Dialoga Pogas..." + +#: src/fe-gtk/menu.c:1286 +msgid "Key Bindings..." +msgstr "Taustiņu Atbilstības..." + +#: src/fe-gtk/menu.c:1287 +#, fuzzy +msgid "Text Events..." +msgstr "Notikumu Teksti..." + +#: src/fe-gtk/menu.c:1288 +msgid "URL Handlers..." +msgstr "URL Noteicēji..." + +#: src/fe-gtk/menu.c:1289 +msgid "User Commands..." +msgstr "Lietotāja Komandas..." + +#: src/fe-gtk/menu.c:1290 +msgid "Userlist Buttons..." +msgstr "Lietotājsaraksta Pogas..." + +#: src/fe-gtk/menu.c:1291 +msgid "Userlist Popup..." +msgstr "Lietotājsaraksta Ātrizvēlne..." + +#: src/fe-gtk/menu.c:1296 +msgid "Reload Settings" +msgstr "Pārlādēt Uzstādījumus" + +#: src/fe-gtk/menu.c:1298 +msgid "Save Settings now" +msgstr "Saglabāt Uzstādījumus tagad" + +#: src/fe-gtk/menu.c:1299 +msgid "Save Settings on exit" +msgstr "Saglabāt Uzstādījumus pie iziešanas" + +#: src/fe-gtk/menu.c:1302 +msgid "_Window" +msgstr "_Logs" + +#: src/fe-gtk/menu.c:1303 +msgid "Ban List..." +msgstr "Izraidīto Saraksts..." + +#: src/fe-gtk/menu.c:1304 +msgid "Channel List..." +msgstr "Kanālu Saraksts..." + +#: src/fe-gtk/menu.c:1305 +msgid "Character Chart..." +msgstr "Rakstzīmju Tabula..." + +#: src/fe-gtk/menu.c:1306 +msgid "Direct Chat..." +msgstr "Tiešā Tērzēšana..." + +#: src/fe-gtk/menu.c:1307 +msgid "File Receive..." +msgstr "Faila Saņemšana..." + +#: src/fe-gtk/menu.c:1308 +msgid "File Send..." +msgstr "Faila Sūtīšana..." + +#: src/fe-gtk/menu.c:1309 +msgid "Ignore List..." +msgstr "Ignorējamo Saraks..." + +#: src/fe-gtk/menu.c:1310 +msgid "Notify List..." +msgstr "Paziņojumu Saraksts..." + +#: src/fe-gtk/menu.c:1311 +#, fuzzy +msgid "Plugins and Scripts..." +msgstr "Iespraudņu Saraksts..." + +#: src/fe-gtk/menu.c:1312 +msgid "Raw Log..." +msgstr "Jēldatu Žurnāls..." + +#: src/fe-gtk/menu.c:1313 +msgid "URL Grabber..." +msgstr "URL Savācējs..." + +#: src/fe-gtk/menu.c:1315 +msgid "C_lear Text" +msgstr "A_ttīrīt Tekstu" + +#: src/fe-gtk/menu.c:1316 +msgid "Search Text..." +msgstr "Meklēt Tekstu..." + +#: src/fe-gtk/menu.c:1317 +msgid "Save Text..." +msgstr "Saglabāt Tekstu..." + +#: src/fe-gtk/menu.c:1319 +msgid "_Help" +msgstr "_Palīdzība" + +#: src/fe-gtk/menu.c:1320 +#, fuzzy +msgid "_Contents" +msgstr "Pieslēgties" + +#: src/fe-gtk/menu.c:1321 +#, fuzzy +msgid "_About" +msgstr "Pārtraukt" + +#: src/fe-gtk/menu.c:1390 +#, fuzzy +msgid "Attach Tab" +msgstr "Atdalīt Sadaļu" + +#: src/fe-gtk/notifygui.c:109 +msgid "User" +msgstr "Lietotājs" + +#: src/fe-gtk/notifygui.c:111 +msgid "Server" +msgstr "Serveris" + +#: src/fe-gtk/notifygui.c:112 +msgid "Last Seen" +msgstr "Pēdējoreiz redzēts" + +#: src/fe-gtk/notifygui.c:149 +msgid "Offline" +msgstr "Bezsaistē" + +#: src/fe-gtk/notifygui.c:169 +msgid "Never" +msgstr "Nekad" + +#: src/fe-gtk/notifygui.c:187 +msgid "Online" +msgstr "Tiešsaistē" + +#: src/fe-gtk/notifygui.c:277 +msgid "Enter nickname to add:" +msgstr "Ievadiet pievienojamo segvārdu:" + +#: src/fe-gtk/notifygui.c:293 +msgid "X-Chat: Notify List" +msgstr "X-Chat: Paziņojumu Saraksts" + +#: src/fe-gtk/notifygui.c:306 src/fe-gtk/servlistgui.c:712 +msgid "Add" +msgstr "Pievienot" + +#: src/fe-gtk/notifygui.c:308 +msgid "Remove" +msgstr "Izņemt" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:387 +msgid "Description" +msgstr "Apraksts" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Izvēlieties Iespraudni vai Skriptu, ko ielādēt" + +#: src/fe-gtk/plugingui.c:219 +#, fuzzy +msgid "X-Chat: Plugins and Scripts" +msgstr "X-Chat Iespraudņi" + +#: src/fe-gtk/plugingui.c:225 +msgid "_Load..." +msgstr "_Ielādēt..." + +#: src/fe-gtk/plugingui.c:228 +msgid "_UnLoad" +msgstr "I_zlādēt" + +#: src/fe-gtk/plugingui.c:232 +#, fuzzy +msgid "_Close" +msgstr "Aizvērt" + +#: src/fe-gtk/rawlog.c:78 +msgid "Save rawlog" +msgstr "Saglabāt jēlžurnālu" + +#: src/fe-gtk/rawlog.c:94 +#, c-format +msgid "X-Chat: Rawlog (%s)" +msgstr "X-Chat: Jēlžurnāls (%s)" + +#: src/fe-gtk/rawlog.c:123 +msgid "Clear rawlog" +msgstr "Attīrīt jēlžurnālu" + +#: src/fe-gtk/rawlog.c:126 +msgid "Save rawlog..." +msgstr "Saglabāt jēlžurnālu..." + +#: src/fe-gtk/search.c:47 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Logs, kuram tu atvēri šo Meklēšanu, vairs neeksistē" + +#: src/fe-gtk/search.c:91 +msgid "X-Chat: Search" +msgstr "X-Chat: Meklēšana" + +#: src/fe-gtk/search.c:100 +msgid "Find:" +msgstr "Atrast:" + +#: src/fe-gtk/search.c:114 +msgid "Find" +msgstr "Atrast" + +#: src/fe-gtk/search.c:119 +msgid "Close" +msgstr "Aizvērt" + +#: src/fe-gtk/servlistgui.c:161 +#, c-format +msgid "Settings for %s" +msgstr "Uzstādījumi priekš %s" + +#: src/fe-gtk/servlistgui.c:202 src/fe-gtk/servlistgui.c:275 +msgid "New Network" +msgstr "Jauns Tīkls" + +#: src/fe-gtk/servlistgui.c:370 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Patiesi izņemt tīklu \"%s\" un visus tā serverus?" + +#: src/fe-gtk/servlistgui.c:407 src/fe-gtk/servlistgui.c:437 +#, c-format +msgid "_Remove \"%s\"" +msgstr "_Izņemt \"%s\"" + +#: src/fe-gtk/servlistgui.c:414 +msgid "_Add new server" +msgstr "_Pievienot jaunu serveri" + +#: src/fe-gtk/servlistgui.c:444 +#, c-format +msgid "Move \"%s\" _down" +msgstr "Pārvietot \"%s\" _lejup" + +#: src/fe-gtk/servlistgui.c:451 +#, c-format +msgid "Move \"%s\" _up" +msgstr "Pārvietot \"%s\" _augšup" + +#: src/fe-gtk/servlistgui.c:462 +msgid "_Add new network" +msgstr "_Pievienot jaunu tīklu" + +#: src/fe-gtk/servlistgui.c:826 +msgid "Global User Info" +msgstr "Vispārēja Lietotāja Info" + +#: src/fe-gtk/servlistgui.c:834 +msgid "Nick Names:" +msgstr "Segvārdi:" + +#: src/fe-gtk/servlistgui.c:853 src/fe-gtk/servlistgui.c:1056 +msgid "User Name:" +msgstr "Lietotāja Vārds:" + +#: src/fe-gtk/servlistgui.c:866 src/fe-gtk/servlistgui.c:1058 +msgid "Real Name:" +msgstr "Īstais Vārds:" + +#: src/fe-gtk/servlistgui.c:908 +msgid "C_onnect" +msgstr "_Pieslēgties" + +#: src/fe-gtk/servlistgui.c:916 +msgid "Connect in a _new tab" +msgstr "Pieslēgties _jaunā sadaļā" + +#: src/fe-gtk/servlistgui.c:976 +msgid "Servers" +msgstr "Serveri" + +#: src/fe-gtk/servlistgui.c:1014 +msgid "Character Set:" +msgstr "Rakstzīmju Kopa:" + +#: src/fe-gtk/servlistgui.c:1054 +msgid "Nick Name:" +msgstr "Segvārds:" + +#: src/fe-gtk/servlistgui.c:1059 +msgid "Server Password:" +msgstr "Servera Parole:" + +#: src/fe-gtk/servlistgui.c:1061 +msgid "Join Channels:" +msgstr "Pievienoties Kanāliem:" + +#: src/fe-gtk/servlistgui.c:1063 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Kanāli, kuriem pievienoties, atdalīti ar komatiem, nevis atstarpēm!" + +#: src/fe-gtk/servlistgui.c:1064 +msgid "Connect Command:" +msgstr "Pieslēgšanās Komanda:" + +#: src/fe-gtk/servlistgui.c:1066 +msgid "" +"Command to execute after connecting. Can be used to authenticate to NickServ" +msgstr "" +"Komanda, ko izpildīt pēc pieslēgšanās. Var tikt lietots, lai autorizētos ar " +"NickSev" + +#: src/fe-gtk/servlistgui.c:1074 +msgid "Cycle until connected" +msgstr "Ciklēt līdz pieslēdzas" + +#: src/fe-gtk/servlistgui.c:1075 +msgid "Use global user info" +msgstr "Lietot vispārīgo lietotāja info" + +#: src/fe-gtk/servlistgui.c:1076 +msgid "Use secure SSL" +msgstr "Lietot drošo SSL" + +#: src/fe-gtk/servlistgui.c:1077 +msgid "Auto connect at startup" +msgstr "Auto pieslēgšanās pie sāknēšanas" + +#: src/fe-gtk/servlistgui.c:1078 +msgid "Use a proxy server" +msgstr "Lietot starpniekserveri" + +#: src/fe-gtk/servlistgui.c:1079 +msgid "Accept invalid cert." +msgstr "Akceptēt nederīgu sertif." + +#: src/fe-gtk/servlistgui.c:1088 +msgid "Settings for Selected Network" +msgstr "Uzstādījumi Izvēlētajam Tīklam" + +#: src/fe-gtk/servlistgui.c:1128 +msgid "Edit mode" +msgstr "Rediģēšanas režīms" + +#: src/fe-gtk/servlistgui.c:1135 +msgid "Networks" +msgstr "Tīkli" + +#: src/fe-gtk/servlistgui.c:1180 +msgid "No server list on startup" +msgstr "Nav serveru saraksta pie sāknēšanas" + +#: src/fe-gtk/servlistgui.c:1207 +msgid "X-Chat: Server List" +msgstr "X-Chat: Serveru Saraksts" + +#: src/fe-gtk/setup.c:80 +msgid "Font:" +msgstr "Fonts:" + +#: src/fe-gtk/setup.c:81 +msgid "Background image:" +msgstr "Fona attēls:" + +#: src/fe-gtk/setup.c:82 +msgid "Time stamp format:" +msgstr "Laika atzīmes formāts:" + +#: src/fe-gtk/setup.c:83 +msgid "See strftime manpage for details." +msgstr "Apskati strftime manlapu papildus info." + +#: src/fe-gtk/setup.c:84 +msgid "Time stamp text" +msgstr "Laika atzīmes tekstam" + +#: src/fe-gtk/setup.c:85 +msgid "Transparent background" +msgstr "Caurspīdīgs fons" + +#: src/fe-gtk/setup.c:86 +msgid "Indent nicks" +msgstr "Nolīdzināt segvārdus" + +#: src/fe-gtk/setup.c:87 +msgid "Tint transparency" +msgstr "Toņa caurspīdīgums" + +#: src/fe-gtk/setup.c:88 +msgid "Colored nicks" +msgstr "Krāsaini segvārdi" + +#: src/fe-gtk/setup.c:89 +msgid "Strip mIRC color" +msgstr "Izņemt mIRC krāsu" + +#: src/fe-gtk/setup.c:90 +msgid "Scrollback lines:" +msgstr "Atritināmas rindiņas:" + +#: src/fe-gtk/setup.c:91 +msgid "Tint red:" +msgstr "Sarkanais tonis:" + +#: src/fe-gtk/setup.c:92 +msgid "Tint green:" +msgstr "Zaļais tonis:" + +#: src/fe-gtk/setup.c:93 +msgid "Tint blue:" +msgstr "Zilais tonis:" + +#: src/fe-gtk/setup.c:99 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Interpretēt %nnn kā ASCII vērtību" + +#: src/fe-gtk/setup.c:100 +msgid "Automatic nick completion" +msgstr "Automātiska segvārdu pabeigšana" + +#: src/fe-gtk/setup.c:101 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "" + +#: src/fe-gtk/setup.c:102 src/fe-gtk/setup.c:134 +#, fuzzy +msgid "Use the Text box font and colors" +msgstr "Lietot Teksta lodziņa fontu" + +#: src/fe-gtk/setup.c:103 +msgid "Nick completion suffix:" +msgstr "Segvārdu pabeigšanas priedēklis:" + +#: src/fe-gtk/setup.c:109 +msgid "Off" +msgstr "Izslēgt" + +#: src/fe-gtk/setup.c:110 +msgid "Graph" +msgstr "Grafika" + +#: src/fe-gtk/setup.c:111 +msgid "Info text" +msgstr "Info teksts" + +#: src/fe-gtk/setup.c:112 +msgid "Both" +msgstr "Abi" + +#: src/fe-gtk/setup.c:118 +msgid "A-Z, Ops first" +msgstr "A-Z, Opi vispirms" + +#: src/fe-gtk/setup.c:119 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:120 +msgid "Z-A, Ops last" +msgstr "Z-A, Opi pēc tam" + +#: src/fe-gtk/setup.c:121 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:122 +msgid "Unsorted" +msgstr "Nesakārtoti" + +#: src/fe-gtk/setup.c:128 +msgid "Lag meter:" +msgstr "Aiztures mērītājs:" + +#: src/fe-gtk/setup.c:129 +msgid "Throttle meter:" +msgstr "Jaudas mērītājs:" + +#: src/fe-gtk/setup.c:130 +msgid "Userlist sorted by:" +msgstr "Lietotāju saraksts kārtots kā:" + +#: src/fe-gtk/setup.c:131 +msgid "Double-click command:" +msgstr "Dubultklikšķa komanda:" + +#: src/fe-gtk/setup.c:132 +msgid "Show hostnames in userlist" +msgstr "Parādīt hostdatorus lietotājsarakstā" + +#: src/fe-gtk/setup.c:133 +msgid "Userlist buttons enabled" +msgstr "Lietotājsaraksta pogas aktivizētas" + +#: src/fe-gtk/setup.c:135 +#, fuzzy +msgid "Resizable userlist" +msgstr "Parādīt/Paslēpt lietotāju sarakstu" + +#: src/fe-gtk/setup.c:136 +msgid "Track away-status on channels smaller than:" +msgstr "" + +#: src/fe-gtk/setup.c:142 +msgid "Windows" +msgstr "Logi" + +#: src/fe-gtk/setup.c:143 src/fe-gtk/setup.c:845 +msgid "Tabs" +msgstr "Sadaļas" + +#: src/fe-gtk/setup.c:149 +msgid "Bottom" +msgstr "Lejā" + +#: src/fe-gtk/setup.c:150 +msgid "Top" +msgstr "Augšā" + +#: src/fe-gtk/setup.c:151 +msgid "Left" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Right" +msgstr "" + +#: src/fe-gtk/setup.c:153 +msgid "Hidden" +msgstr "Paslēpts" + +#: src/fe-gtk/setup.c:159 +msgid "Show tabs at:" +msgstr "Parādīt sadaļas:" + +#: src/fe-gtk/setup.c:160 +msgid "Open channels in:" +msgstr "Atvērt kanālus iekš:" + +#: src/fe-gtk/setup.c:161 +msgid "Open dialogs in:" +msgstr "Atvērt dialogus iekš:" + +#: src/fe-gtk/setup.c:162 +msgid "Open utilities in:" +msgstr "Atvērt utilītas iekš:" + +#: src/fe-gtk/setup.c:162 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Atvērt DCC, Ignorēšanu, Paziņošanas utt. sadaļās vai logos?" + +#: src/fe-gtk/setup.c:163 +msgid "Open tab for server messages" +msgstr "Atvērt sadaļu servera paziņojumiem" + +#: src/fe-gtk/setup.c:164 +msgid "Open tab for server notices" +msgstr "Atvērt sadaļu servera paziņojumiem" + +#: src/fe-gtk/setup.c:165 +msgid "Pop new tabs to front" +msgstr "Jaunas sadaļas izlec priekšpusē" + +#: src/fe-gtk/setup.c:166 +#, fuzzy +msgid "Shorten tabs to:" +msgstr "Parādīt sadaļas:" + +#: src/fe-gtk/setup.c:166 +msgid "letters." +msgstr "" + +#: src/fe-gtk/setup.c:172 +msgid "Download files to:" +msgstr "Lejuplādēt failus uz:" + +#: src/fe-gtk/setup.c:173 +msgid "Move completed files to:" +msgstr "Pārvietot pabeigtos failus uz:" + +#: src/fe-gtk/setup.c:174 +msgid "DCC IP address:" +msgstr "DCC IP adrese:" + +#: src/fe-gtk/setup.c:175 +msgid "Claim you are at this address when offering files." +msgstr "Apgalvot, ka jūs atrodaties pēc šīs adreses, kad piedāvājat failus." + +#: src/fe-gtk/setup.c:176 +msgid "First DCC send port:" +msgstr "Pirmais DCC sūtīšanas ports:" + +#: src/fe-gtk/setup.c:177 +msgid "Last DCC send port:" +msgstr "Pēdējais DCC sūtīšanas ports:" + +#: src/fe-gtk/setup.c:178 +msgid "(Leave ports at zero for full range)." +msgstr "(Atstāt portus pa nullēm pilnam diapazonam)." + +#: src/fe-gtk/setup.c:179 +msgid "Auto open DCC send list" +msgstr "Auto atvērt DCC sūtīšanas sarakstu" + +#: src/fe-gtk/setup.c:180 +msgid "Convert spaces to underscore" +msgstr "Konvertēt atstarpes par zemsvītrām" + +#: src/fe-gtk/setup.c:181 +msgid "In filenames, before sending" +msgstr "Failu nosaukumos pirms sūtīšanas" + +#: src/fe-gtk/setup.c:182 +msgid "Auto open DCC chat list" +msgstr "Auto atvērt DCC tērzēšanas sarakstu" + +#: src/fe-gtk/setup.c:183 +msgid "Save nickname in filenames" +msgstr "Saglabāt segvārdu faila nosaukumā" + +#: src/fe-gtk/setup.c:184 +msgid "Auto open DCC receive list" +msgstr "Auto atvērt DCC saņemšanas sarakstu" + +#: src/fe-gtk/setup.c:185 +msgid "Get my IP from IRC server" +msgstr "Dabūt manu IP no IRC servera" + +#: src/fe-gtk/setup.c:186 +msgid "" +"/WHOIS yourself to find your real address. Use this if you have a 192.168.*." +"* address!" +msgstr "" +"/WHOIS sevi, lai uzzinātu jūsu īsto adresi. Lietojiet šo, ja jums ir 192.168." +"*.* adrese!" + +#: src/fe-gtk/setup.c:187 +msgid "Max. send CPS:" +msgstr "Maks. sūtīšanas CPS:" + +#: src/fe-gtk/setup.c:188 src/fe-gtk/setup.c:190 +msgid "Max. speed for one transfer" +msgstr "Maks. ātrums viena faila pārsūtei" + +#: src/fe-gtk/setup.c:189 +msgid "Max. receive CPS:" +msgstr "Maks. saņemšanas CPS:" + +#: src/fe-gtk/setup.c:191 +msgid "Max. global send CPS:" +msgstr "Maks. vispārīgās sūtīšanas CPS:" + +#: src/fe-gtk/setup.c:192 src/fe-gtk/setup.c:194 +msgid "Max. speed for all traffic" +msgstr "Maks. ātrums visam rafikam" + +#: src/fe-gtk/setup.c:193 +msgid "Max. global receive CPS:" +msgstr "Maks. vispārīgās saņemšanas CPS:" + +#: src/fe-gtk/setup.c:195 +msgid "(Leave at zero for full speed file transfers)." +msgstr "(Atstāt nulli pilna ātruma failu pārsūtīšanai)." + +#: src/fe-gtk/setup.c:201 +msgid "Default quit message:" +msgstr "Noklusētais iziešanas paziņojums:" + +#: src/fe-gtk/setup.c:202 +msgid "Default part message:" +msgstr "Noklusētais pamešanas paziņojums:" + +#: src/fe-gtk/setup.c:203 +msgid "Default away message:" +msgstr "Noklusētais prombūtnes paziņojums:" + +#: src/fe-gtk/setup.c:205 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "(Var būt teksta fails attiecībā pret ~/.xchat2/)." + +#: src/fe-gtk/setup.c:207 +#, fuzzy +msgid "(Can be a text file relative to config dir)." +msgstr "(Var būt teksta fails attiecībā pret conf\\)." + +#: src/fe-gtk/setup.c:209 +msgid "Extra words to highlight on:" +msgstr "Papildus vārdi, kurus izgaismot:" + +#: src/fe-gtk/setup.c:210 +msgid "(Separate multiple words with commas)." +msgstr "(Atdaliet vairākus vārdus ar komatiem)." + +#: src/fe-gtk/setup.c:211 +msgid "Show away once" +msgstr "Parādīt prombūtni vienreiz" + +#: src/fe-gtk/setup.c:211 +msgid "Show identical away messages only once" +msgstr "Parādīt identiskas prombūtnes ziņas tikai vienreiz" + +#: src/fe-gtk/setup.c:212 +msgid "Beep on private messages" +msgstr "Pīkstiens uz privātām ziņām" + +#: src/fe-gtk/setup.c:213 +msgid "Automatically unmark away" +msgstr "Automāiski atstatīt prombūtni" + +#: src/fe-gtk/setup.c:213 +msgid "Unmark yourself as away before sending messages" +msgstr "Atmarķēt sevi kā promesošu pirms ziņu sūtīšanas" + +#: src/fe-gtk/setup.c:214 +msgid "Beep on channel messages" +msgstr "Pīkstiens uz kanāla ziņām" + +#: src/fe-gtk/setup.c:215 +msgid "Announce away messages" +msgstr "Paziņot prombūtnes ziņojumus" + +#: src/fe-gtk/setup.c:215 +msgid "Announce your away messages to all channels" +msgstr "Paziņot jūsu prombūtnes ziņojumus visos kanālos" + +#: src/fe-gtk/setup.c:216 +#, fuzzy +msgid "Beep on highlighted messages" +msgstr "Pīkstiens uz privātām ziņām" + +#: src/fe-gtk/setup.c:217 +msgid "Display MODEs in raw form" +msgstr "Parādīt MODEs jēlā formā" + +#: src/fe-gtk/setup.c:218 +msgid "Whois on notify" +msgstr "" + +#: src/fe-gtk/setup.c:218 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "" + +#: src/fe-gtk/setup.c:219 +#, fuzzy +msgid "Hide join/part messages" +msgstr "Pīkstiens uz privātām ziņām" + +#: src/fe-gtk/setup.c:219 +#, fuzzy +msgid "Hide channel join/part messages by default" +msgstr "Pīkstiens uz privātām ziņām" + +#: src/fe-gtk/setup.c:220 +msgid "Auto reconnect delay:" +msgstr "Auto pārpieslēgšanās aizture:" + +#: src/fe-gtk/setup.c:226 +msgid "Log filename mask:" +msgstr "Žurnālfaila nosaukuma maska:" + +#: src/fe-gtk/setup.c:227 +#, c-format +msgid "(%s=Server %c=Channel %n=Network)." +msgstr "(%s=Serveris %c=Kanāls %n=Tīkls)." + +#: src/fe-gtk/setup.c:228 +msgid "Log timestamp format:" +msgstr "Žurnāla laikatzīmes formāts:" + +#: src/fe-gtk/setup.c:229 +msgid "(See strftime manpage for details)." +msgstr "(Apskaties strftime manlapas papildus info)." + +#: src/fe-gtk/setup.c:230 +msgid "Enable logging of conversations" +msgstr "Aktivizēt sarunu iegrāmatošanu" + +#: src/fe-gtk/setup.c:231 +msgid "Insert timestamps in logs" +msgstr "Pretējas laikatzīmes žurnālos" + +#: src/fe-gtk/setup.c:237 +msgid "(Disabled)" +msgstr "(Atslēgts)" + +#: src/fe-gtk/setup.c:238 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:239 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:240 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:241 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:247 +msgid "Address to bind to:" +msgstr "Adrese, pie kuras pieaistīties:" + +#: src/fe-gtk/setup.c:248 +msgid "(Only useful for computers with multiple addresses)." +msgstr "(Derīgs tikai datoriem ar vairākām adresēm)." + +#: src/fe-gtk/setup.c:249 +#, fuzzy +msgid "Proxy server" +msgstr "Starpserveris:" + +#: src/fe-gtk/setup.c:250 +#, fuzzy +msgid "Hostname:" +msgstr "Hostdatora vārds" + +#: src/fe-gtk/setup.c:251 +#, fuzzy +msgid "Username:" +msgstr "Lietotājvārds" + +#: src/fe-gtk/setup.c:252 +#, fuzzy +msgid "Password:" +msgstr "Servera Parole:" + +#: src/fe-gtk/setup.c:253 +#, fuzzy +msgid "Port:" +msgstr "Ports" + +#: src/fe-gtk/setup.c:254 +#, fuzzy +msgid "Type:" +msgstr "DCC Tips" + +#: src/fe-gtk/setup.c:256 +msgid "Authenticate to the proxy server (only HTTP)" +msgstr "" + +#: src/fe-gtk/setup.c:479 +#, fuzzy +msgid "Select an Image File" +msgstr "Izvēlies izvades failavārdu" + +#: src/fe-gtk/setup.c:506 +msgid "Select font" +msgstr "Izvēlieties fontu" + +#: src/fe-gtk/setup.c:576 +msgid "Browse..." +msgstr "Lūkoties.." + +#: src/fe-gtk/setup.c:720 +msgid "Select color" +msgstr "Izvēlies krāsu" + +#: src/fe-gtk/setup.c:786 +msgid "mIRC colors:" +msgstr "mIRC krāsas:" + +#: src/fe-gtk/setup.c:794 +msgid "Foreground:" +msgstr "Priekšplāns:" + +#: src/fe-gtk/setup.c:795 +msgid "Background:" +msgstr "Fons:" + +#: src/fe-gtk/setup.c:797 +msgid "Mark fore:" +msgstr "Iezīmēt priekšpl:" + +#: src/fe-gtk/setup.c:798 +msgid "Mark back:" +msgstr "Iezīmēt fona:" + +#: src/fe-gtk/setup.c:800 +msgid "New Data:" +msgstr "Jauni Dati:" + +#: src/fe-gtk/setup.c:801 +msgid "New Message:" +msgstr "Jauna Ziņoja:" + +#: src/fe-gtk/setup.c:802 +msgid "Highlight:" +msgstr "Izgaismot:" + +#: src/fe-gtk/setup.c:803 +msgid "Away User:" +msgstr "" + +#: src/fe-gtk/setup.c:841 +msgid "Interface" +msgstr "Saskarne" + +#: src/fe-gtk/setup.c:842 +msgid "Text box" +msgstr "Teksta lodziņš" + +#: src/fe-gtk/setup.c:843 +msgid "Input box" +msgstr "Ievades lodziņš" + +#: src/fe-gtk/setup.c:844 +msgid "User list" +msgstr "Lietotāja saraksts" + +#: src/fe-gtk/setup.c:846 +msgid "Colors" +msgstr "Krāsas" + +#: src/fe-gtk/setup.c:848 +msgid "Chatting" +msgstr "Tērzēju" + +#: src/fe-gtk/setup.c:849 +msgid "General" +msgstr "Vispārīgi" + +#: src/fe-gtk/setup.c:850 +msgid "Logging" +msgstr "Iegrāmatošana" + +#: src/fe-gtk/setup.c:852 +msgid "Network" +msgstr "Tīkls" + +#: src/fe-gtk/setup.c:853 +msgid "Network setup" +msgstr "Tīkla uzstādīšana" + +#: src/fe-gtk/setup.c:854 +msgid "File transfers" +msgstr "Failu pārsūtīšanas" + +#: src/fe-gtk/setup.c:959 +msgid "Categories" +msgstr "Kategorijas" + +#: src/fe-gtk/setup.c:1085 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" + +#: src/fe-gtk/setup.c:1112 +msgid "X-Chat: Preferences" +msgstr "X-Chat: Uzstādījumi" + +#: src/fe-gtk/textgui.c:184 +msgid "There was an error parsing the string" +msgstr "Atgadījās kļūda parsējot virkni" + +#: src/fe-gtk/textgui.c:192 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Šis signāls izdeva tikai %d argumentus, $%d ir nepareizs" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:326 +msgid "Print Texts File" +msgstr "Drukāt Teksta Failu" + +#: src/fe-gtk/textgui.c:382 +msgid "Event" +msgstr "Notikums" + +#: src/fe-gtk/textgui.c:384 +msgid "Sound" +msgstr "Skaņa" + +#: src/fe-gtk/textgui.c:386 +msgid "$ Number" +msgstr "$ Numurs" + +#: src/fe-gtk/textgui.c:396 +msgid "Edit Events" +msgstr "Rediģēt Notikumus" + +#: src/fe-gtk/textgui.c:434 +msgid "Sound file: " +msgstr "Skaņas fails:" + +#: src/fe-gtk/textgui.c:469 +msgid "Save As" +msgstr "Saglabāt Kā" + +#: src/fe-gtk/textgui.c:474 +msgid "Load From" +msgstr "Ielādēt No" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Testēt Visus" + +#: src/fe-gtk/urlgrab.c:97 +msgid "URL" +msgstr "" + +#: src/fe-gtk/urlgrab.c:147 +msgid "Select a file to save to" +msgstr "Izvēlies fialu, kurā glabāt:" + +#: src/fe-gtk/urlgrab.c:187 +msgid "X-Chat: URL Grabber" +msgstr "X-Chat: URL Savācējs" + +#: src/fe-gtk/urlgrab.c:200 +#, fuzzy +msgid "Clear list" +msgstr "Lietotāja saraksts" + +#: src/fe-gtk/urlgrab.c:202 +msgid "Copy selected URL" +msgstr "" + +#: src/fe-gtk/urlgrab.c:202 +#, fuzzy +msgid "Copy" +msgstr "Apcirpt" + +#: src/fe-gtk/urlgrab.c:204 +#, fuzzy +msgid "Save list to a file" +msgstr "Nevar ierakstīt tajā failā." + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "" + +#~ msgid "Error String" +#~ msgstr "Kļūdas Virkne" + +#, fuzzy +#~ msgid "Error name" +#~ msgstr "Kļūda" + +#~ msgid "Error string" +#~ msgstr "Kļūdas virkne" + +#~ msgid "Proxy port:" +#~ msgstr "Starpservera ports:" + +#~ msgid "Proxy type:" +#~ msgstr "Starpservera tips:" + +#~ msgid "" +#~ "Options:\n" +#~ " -d, --cfgdir DIRECTORY use a different config dir\n" +#~ " -a, --no-auto don't auto connect\n" +#~ " -v, --version show version information\n" +#~ "\n" +#~ "URL:\n" +#~ " irc://server:port/channel\n" +#~ "\n" +#~ msgstr "" +#~ "Opcijas:\n" +#~ "\n" +#~ " -d, --cfgdir DIREKTORIJA lietot citu config dir\n" +#~ " -a, --noauto nepieslēgties automātiski\n" +#~ " -v, --version parādīt versijas informāciju\n" +#~ "\n" +#~ "URL:\n" +#~ " irc://serveris:ports/kanāls\n" +#~ "\n" + +#~ msgid "Wipe" +#~ msgstr "Iztīrīt" + +#~ msgid "Yes" +#~ msgstr "Jā" + +#~ msgid "No" +#~ msgstr "Nē" + +#~ msgid "new!new@new.com" +#~ msgstr "jauns!jauns@jauns.lv" + +#~ msgid "Chan" +#~ msgstr "Kanāls" + +#~ msgid "Ignore Mask:" +#~ msgstr "Ignorēšanas Maska:" + +#~ msgid "OK" +#~ msgstr "Labi" + +#~ msgid "Attach/Detach this tab" +#~ msgstr "Pievienot/Atdalīt šo sadaļu" + +#~ msgid "(%s) Channel settings" +#~ msgstr "(%s) Kanāla uzstādījumi" + +#~ msgid "Hide join/parts" +#~ msgstr "Palsēpt pievienošanos/pamešanu" + +#~ msgid "Only highlight tabs on channel messages" +#~ msgstr "Izgaismot sadaļas tikai pie kanāla ziņām" + +#~ msgid "port" +#~ msgstr "ports" + +#~ msgid "Load plugin..." +#~ msgstr "Ielādēt iespraudni..." + +#~ msgid "X-Chat Homepage..." +#~ msgstr "X-Chat Mājas lapa..." + +#~ msgid "Online Docs..." +#~ msgstr "Tiešsaistes Dokumeni..." + +#~ msgid "About X-Chat..." +#~ msgstr "Par X-Chat..." + +#~ msgid "Choose File" +#~ msgstr "Izvēlies Failu" diff --git a/po/mk.po b/po/mk.po new file mode 100644 index 00000000..e9cc9a9f --- /dev/null +++ b/po/mk.po @@ -0,0 +1,5316 @@ +# translation of xchat-2.8.4.mk.po to Macedonian +# Copyright (C) 2004, 2007 Free Software Foundation, Inc. +# This file is put in the public domain. +# +# Arangel Angov <ufo@linux.net.mk>, 2003, 2004. +# Jovan Naumovski <jovan@lugola.net>, 2007. +msgid "" +msgstr "" +"Project-Id-Version: xchat-2.8.4\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2007-06-24 13:05+1000\n" +"PO-Revision-Date: 2007-06-29 16:40+0200\n" +"Last-Translator: Arangel Angov <ufo@linux.net.mk>\n" +"Language-Team: Macedonian <ufo@linux.net.mk>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "Не можам да создадам ~/.xchat2" + +#: src/common/cfgfiles.c:712 +msgid "I'm busy" +msgstr "Зафатен сум" + +#: src/common/cfgfiles.c:713 +msgid "Leaving" +msgstr "Си одам" + +#: src/common/cfgfiles.c:760 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Користењето на IRC како root е глупаво! Подобро е\n" +" да си создадете корисничка сметка и да ја користите неа.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Чекам" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Активно" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Неуспешно" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Завршив" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:797 +msgid "Connect" +msgstr "Врзи се" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Откажано" + +#: src/common/dcc.c:1886 src/common/outbound.c:2452 +#, c-format +msgid "Cannot access %s\n" +msgstr "Не можам да пристапам на %s\n" + +#: src/common/dcc.c:1887 src/common/text.c:1164 src/common/text.c:1202 +#: src/common/text.c:1213 src/common/text.c:1220 src/common/text.c:1233 +#: src/common/text.c:1250 src/common/text.c:1350 src/common/util.c:352 +msgid "Error" +msgstr "Грешка" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s ви нуди „%s“. Дали сакате да прифатите?" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "Нема активни DCC\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "ДА " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "НЕ " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Вие сте CTCP поплавени од %s, игнорирам %s\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "Вие сте MSG поплавени од %s, го поставувам gui_auto_open_dialog OFF.\n" + +#: src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s присутни\n" + +#: src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s офлајн\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Не сте присутни на некој канал. Пробајте со /join #<channel>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Не сте поврзани. Пробајте со /server <host> [<порта>]\n" + +#: src/common/outbound.c:339 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Веќе сте означени како отсутни: %s\n" + +#: src/common/outbound.c:409 +msgid "Already marked back.\n" +msgstr "Веќе сте означени како присутни.\n" + +#: src/common/outbound.c:1814 +msgid "I need /bin/sh to run!\n" +msgstr "Ми треба /bin/sh за да извршам!\n" + +#: src/common/outbound.c:2185 +msgid "Commands Available:" +msgstr "Достапни команди:" + +#: src/common/outbound.c:2199 +msgid "User defined commands:" +msgstr "Команди дефинирани од корисникот:" + +#: src/common/outbound.c:2215 +msgid "Plugin defined commands:" +msgstr "Команди дефинирани од приклучокот:" + +#: src/common/outbound.c:2226 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Напишете /HELP <команда> за повеќе информации, или /HELP -l" + +#: src/common/outbound.c:2301 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Непознатиот аргумент „%s“ е игнориран." + +#: src/common/outbound.c:3235 +msgid "No such plugin found.\n" +msgstr "Не најдов таков додаток.\n" + +#: src/common/outbound.c:3240 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Тој додаток одбива да се исклучи. \n" + +#: src/common/outbound.c:3509 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <име> <акција>, додава копче под корисничката листа" + +#: src/common/outbound.c:3511 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <командата>, испраќа команда до сите канали на кои што сте" + +#: src/common/outbound.c:3513 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <командата>, испраќа команда до сите канали на кои што сте" + +#: src/common/outbound.c:3515 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <командата>, испраќа команда на сите сервери на кои што сте" + +#: src/common/outbound.c:3516 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<причина>], ве обележува како отсутен" + +#: src/common/outbound.c:3517 +msgid "BACK, sets you back (not away)" +msgstr "BACK, ве обележува како присутен (не отсутен)" + +#: src/common/outbound.c:3519 +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 <маска> [<тип>], ги банира сите кои што одговарат на маската на сегашниот канал. Ако се веќе на каналот ова не ги исфрла (треба оператор)" + +#: src/common/outbound.c:3521 +msgid "" +"Set per channel options\n" +"CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part messages\n" +"CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +"CHANOPT BEEP ON|OFF - Toggle beep on message\n" +"CHANOPT TRAY ON|OFF - Toggle tray blink on message" +msgstr "" +"Постави опции за канал\n" +"CHANOPT CONFMODE ON|OFF - Приклучи конфигурациски режим/прикажување на пораките за приклучување и напуштање\n" +"CHANOPT COLORPASTE ON|OFF - Приклучи вметнување со боја\n" +"CHANOPT BEEP ON|OFF - Приклучи бипкање за порака\n" +"CHANOPT TRAY ON|OFF - Приклучи светкање на иконата во фиоката" + +#: src/common/outbound.c:3528 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR [ALL|HISTORY], Го чисти прозорецот од текст или историја на команди" + +#: src/common/outbound.c:3529 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, Го затвора прозорецот/јазичето" + +#: src/common/outbound.c:3532 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|wildcard>, ја наоѓа кратенката на земјата, пр: au = австралија" + +#: src/common/outbound.c:3534 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <прекар> <порака>, испрати ја CTCP пораката до прекарот, вообичаени пораки се VERSION и USERINFO" + +#: src/common/outbound.c:3536 +msgid "CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "CYCLE [<channel>], го напушта тековниот канал и се приклучува повторно" + +#: src/common/outbound.c:3538 +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 "" +"\n" +"DCC GET <прекар> - прифатете понудена датотека\n" +"DCC SEND [-maxcps=#] <прекар> [датотека] - испратете датотека некому\n" +"DCC PSEND [-maxcps=#] <прекар> [датотека] - испратете датотека во пасивен режим\n" +"DCC LIST - покажи DCC листа\n" +"DCC CHAT <прекар> - понуди DCC CHAT некому\n" +"DCC PCHAT <nick> - понуди DCC CHAT со користење на пасивен режим\n" +"DCC CLOSE <тип> <прекар> <датотека> пример:\n" +" /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3550 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <прекар>, отстранува операторски статус од прекарот на тековниот канал (потребно е да имате операторски статус)" + +#: src/common/outbound.c:3552 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <име>, брише копче под корисничката листа" + +#: src/common/outbound.c:3554 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <прекар>, отстранува операторски статус од прекарот на тековниот канал (потребно е да имате операторски статус)" + +#: src/common/outbound.c:3556 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <прекар>, отстранува глас од прекарот на тековниот канал (потребно е да имате операторски статус)" + +#: src/common/outbound.c:3557 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Ја прекинува врската со серверот" + +#: src/common/outbound.c:3558 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <прекар|host|ip>, Пронаоѓа IP број на корисникот" + +#: src/common/outbound.c:3559 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, Печати текст локално" + +#: src/common/outbound.c:3562 +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] <command>, ја извршува командата. Ако користите -o тогаш испраќате на тековниот канал" + +#: src/common/outbound.c:3564 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, го испраќа процесот SIGCONT" + +#: src/common/outbound.c:3567 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], убива извршена програма во тековната сесија. Ако -9 е даден тогаш процесот е SIGKILL'ed" + +#: src/common/outbound.c:3569 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, го испраќа процесот SIGSTOP" + +#: src/common/outbound.c:3570 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, испраќа податоци до stdin процесите" + +#: src/common/outbound.c:3574 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, го испушта тековното чекање на серверот" + +#: src/common/outbound.c:3576 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>],proxy-јата преку host, стандардна порта 23" + +#: src/common/outbound.c:3580 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <nick> <password>, Уништува зафатен неупотреблив прекар" + +#: src/common/outbound.c:3585 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <прекар> дава chanhalf-op статус на прекарот (потребен е операторски статус)" + +#: src/common/outbound.c:3586 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <password>, ве идентификува кај nickserv" + +#: src/common/outbound.c:3588 +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 <mask> <types..> <options..>\n" +" маска - host маска за игнорирање, пр: *!*@*.mt.net.mk\n" +" типови - типови на податоци за игнорирање, еден или сите од:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" опции - NOSAVE, QUIET" + +#: src/common/outbound.c:3595 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <прекар> [<канал>], кани некого на каналот, стандардно тоа е тековниот канал (потребен е операторски статус)" + +#: src/common/outbound.c:3596 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <channel>, се приклучува на каналот" + +#: src/common/outbound.c:3598 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <прекар>, го исфрла прекарот од тековниот канал (потребен е операторски статус)" + +#: src/common/outbound.c:3600 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <прекар>, го банира па потоа го исфрла прекарот од тековниот канал (потребен е операторски статус)" + +#: src/common/outbound.c:3603 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, форсира проверка за лаг" + +#: src/common/outbound.c:3605 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <стринг>, бара стринг во баферот" + +#: src/common/outbound.c:3607 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <датотека>, вчитува додаток или скрипта" + +#: src/common/outbound.c:3610 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, одзема опер. статус на сите оператори во тековниот канал (потребен е операторски статус)" + +#: src/common/outbound.c:3612 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, одзема опер. статус на сите оператори во тековниот канал (потребен е операторски статус)" + +#: src/common/outbound.c:3614 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <акција>, ја испраќа акцијата на тековниот канал (акциите се испишани во трето лице, на пр. /me скокна)" + +#: src/common/outbound.c:3618 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, ги исфрла сите од каналот (потребен е операторски статус)" + +#: src/common/outbound.c:3621 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, дава опер. статус на сите корисници во тековниот канал (потребен е операторски статус)" + +#: src/common/outbound.c:3622 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <прекар> <порака>, испраќа приватна порака" + +#: src/common/outbound.c:3625 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, ги листа прекарите од тековниот канал" + +#: src/common/outbound.c:3627 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <прекар> <порака>, испраќа CTCP забелешка" + +#: src/common/outbound.c:3628 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostname> [<port>]" + +#: src/common/outbound.c:3629 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <прекар>, го поставува прекарот" + +#: src/common/outbound.c:3632 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <прекар/канал> <порака>, испраќа забелешка. Забелешките се тип на пораки на кои што треба да реагирате" + +#: src/common/outbound.c:3634 +msgid "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" +msgstr "NOTIFY [-n network1[,network2,...]] [<nick>], ја покажува вашата листа за известување или додава некој на неа" + +#: src/common/outbound.c:3636 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <прекар>, дава опер. статус на прекарот (потребен е операторски статус)" + +#: src/common/outbound.c:3638 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<канал>] [<причина>], го напушта тековниот канал" + +#: src/common/outbound.c:3640 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <прекар | канал>, CTCP го пингува прекарот или каналот" + +#: src/common/outbound.c:3642 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <nick>, отвора нов прозорец за приватен разговор со некого" + +#: src/common/outbound.c:3644 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<причина>], се одврзува од тековниот сервер" + +#: src/common/outbound.c:3646 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <текст>, праќа текст до серверот во суров формат" + +#: src/common/outbound.c:3649 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<port>] [<password>], може да се стартува само со /RECONNECT за повторно врзување на истиот сервер или /RECONNECT ALL за врзување на сите отворени сервери" + +#: src/common/outbound.c:3652 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<password>], може да се стартува само со /RECONNECT за повторно врзување на истиот сервер или /RECONNECT ALL за врзување на сите отворени сервери" + +#: src/common/outbound.c:3654 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <текст>, испраќа податоци до xchat, како да се испратени од irc сервер" + +#: src/common/outbound.c:3657 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <текст>, го испраќа текстот до објектот во тековниот прозорец" + +#: src/common/outbound.c:3658 +msgid "SEND <nick> [<file>]" +msgstr "SEND <прекар> [<датотека>]" + +#: src/common/outbound.c:3661 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <channel>, се врзува и се приклучува на канал" + +#: src/common/outbound.c:3664 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <channel>, се врзува и се приклучува на канал" + +#: src/common/outbound.c:3668 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <host> [<port>] [<password>], се врзува на сервер, стандардната порта за нормални врски е 6667, а 9999 е за ssl врски" + +#: src/common/outbound.c:3671 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <host> [<port>] [<password>], се врзува на сервер, стандардната порта е 6667" + +#: src/common/outbound.c:3673 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-or] [-quiet] <променлива> [<вредност>]" + +#: src/common/outbound.c:3674 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<позиција>" + +#: src/common/outbound.c:3679 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<наслов>], поставува наслов на каналот" + +#: src/common/outbound.c:3681 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Во фиоката трепка помеѓу двете икони.\n" +"TRAY -f <filename> Постави ја иконата во фоката на некоја фиксна икона.\n" +"TRAY -i <number> Иконата светка со внатрешна икона.\n" +"TRAY -t <text> Постави го балончето со совет на фиоката.\n" +"TRAY -b <title> <text> Постави го балончето со совет на фиоката." + +#: src/common/outbound.c:3688 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <маска> [<маска>...], одбанира дадена маска." + +#: src/common/outbound.c:3689 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <маска> [QUIET]" + +#: src/common/outbound.c:3690 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <име> исклучува додаток или скрипта" + +#: src/common/outbound.c:3691 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, отвора URL во вашиот прелистувач" + +#: src/common/outbound.c:3693 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <nick1> <nick2> итн, означува прекар(и) во листата на присутни на каналот" + +#: src/common/outbound.c:3696 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <прекар>, дава глас некому (потребен е операторски статус)" + +#: src/common/outbound.c:3698 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <порака>, ја пишува пораката на сите канали" + +#: src/common/outbound.c:3700 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <порака>, ја испраќа пораката на сите оператори на тековниот канал" + +#: src/common/outbound.c:3733 +#, c-format +msgid "Usage: %s\n" +msgstr "Користење: %s\n" + +#: src/common/outbound.c:3738 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Не постои помош за таа команда.\n" + +#: src/common/outbound.c:3744 +msgid "No such command.\n" +msgstr "Не постои таква команда.\n" + +#: src/common/outbound.c:4074 +msgid "Bad arguments for user command.\n" +msgstr "Лош аргумент за корисничката команда.\n" + +#: src/common/outbound.c:4230 +msgid "Too many recursive usercommands, aborting." +msgstr "Премногу рекурзивни кориснички команди, прекинувам." + +#: src/common/outbound.c:4307 +msgid "Unknown Command. Try /help\n" +msgstr "Непозната команда. Пробај /help\n" + +#: src/common/plugin.c:356 src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Нема xchat_plugin_init symbol; сигурно ли е ова xchat додаток?" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Дали сте сигурни дека ова е SSL способена порта и сервер?\n" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Не можам да го резолвирам hostname %s\n" +"Проверете ги вашите IP подесувања!\n" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "Proxy traversal откажа.\n" + +#: src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Ќе пробам на следниот сервер за %s...\n" + +#: src/common/servlist.c:1074 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Предупредување: \"%s\" дадениот карактер е непознат. Нема да биде применет разговор за мрежата %s." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 е додаден/а во вашата листа за известување." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Бан листа:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tНе можете да влезете на%C26 %B$1 %O(Банирани сте)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 е познат како $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 sets ban on $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tChannel $1 создаден на $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O одзема полу-операторски статус на%C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O одзема операторски статус на%C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O отстранува глас од%C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 поставува exempt на $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O дава полу-операторски статус на%C26 $2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 поставува само со покани $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UКанал Корисници Наслов" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 поставува режим $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Канал $1 режими: $2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O дава операторски статус на%C26 $2" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 отстранува exempt од $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 отстранува само со покани $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 го отстранува клучниот збор за каналот" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 го отстранува ограничувањето за корисници" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 го поставува клучниот збор за каналот: $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 поставува ограничување на каналот на $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 го отстранува банот на $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O дава глас на%C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Се врзав. Сега се најавувам..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Се врзувам на $1 ($2) порта $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Врската е неуспешна. Грешка: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tДоби CTCP $1 од $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tДоби CTCP $1 од $2 (до $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tДоби CTCP звук $1 од1 $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tДоби CTCP $1 од $2 (до $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC CHAT до %C26$1%O прекина." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tвоспоставена е DCC CHAT DCC CHAT врска со %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tDCC CHAT со %C26$1%O се загуби ($4)." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tДоби DCC CHAT понуда од $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tНудам DCC CHAT на $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tВеќе нудам CHAT на $1" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 обидот за врзување со%C26 $2%O е неуспешен (err=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tДоби '$1%O' од $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Тип До/Од Статус Големина Позиција Датотека " + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$tдоби погрешно барање за DCC од %C26$1%O.%010%C22*%O$tСодржина на пакетот: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tНудам%C26 $1%O на%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tНе постои таква DCC понуда." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV%C26 $2%O до%C26 $1%O прекина" + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tDCC RECV%C26 $1%O од%C26 $3%O заврши %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC RECV врската е воспоставена со%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O од%C26 $3%O не успеа ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: Не можам да ја отворам $1 за запишување ($2)." + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tThe file%C26 $1%C веќе постои, пробај да ја зачуваш како%C26 $2%O." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Ohas побара продолжување%C26 $2 %Cод%C26 $3%C." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND%C26 $2%O до%C26 $1%O прекина." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC SEND%C26 $1%O до%C26 $2%O заврши %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tвоспоставена е DCC SEND врска до%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O до%C26 $2%O не успеа. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Oпонуди%C26 $2 %O(%C26$3 %Obytes)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oдо%C26 $3 %Cзапре - прекинувам." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oдо%C26 $3 %Oистече - прекинувам." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 е избришан од листата со известувања." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tИсклучен ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tЈа најдов вашата IP: [$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O е додаден на листата за игнорирање." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Игнорирањето за %C26$1%O e променето." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Маска на host-от PRIV NOTI CHAN CTCP DCC INVI UNIG" + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%Oе отстранет од листата за игнорирање." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " Листата за игнорирање е празна." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tНе можам да се приклучам на%C26 %B$1 %O(Каналот е само со покани)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tПоканет/а си на%C26 $1%O од%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) се приклучи на $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tНе можам да се приклучам на%C26 %B$1 %O(бара клучен збор)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 го исфрли $2 од $3 ($4%O)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tТебе те уби $1 ($2%O%C22)" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD прескокнато." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 веќе е искористен. Пробувам пак со $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tПрекарот веќе се користи. Користи /NICK да пробаш друг." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tне постои такво DCC." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tМоментално нема процеси што работат" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$Листата за известување е празна." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Листа за известување " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 корисници во листата за известување." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tИзвестување: $1 е offline ($3)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$ttИзвестување: $1 е присутен ($3)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) го напушти $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) го напушти $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tПинг одговор од $1 : $2 секунди" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tНема пинг одговори веќе $1 секунди, ја прекинувам врската." + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tПроцесот веќе работи" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 се исклучи (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 поставува режими%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tБарам IP број за%C26 $1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Се поврзав." + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Барам $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tСтопиран е претходниот обид за поврзување (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Насловот на $1%C %C29е: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 го промени насловот во: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Насловот за $1%C %C29е поставен од $2%C %C29на $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tНепознат host. Можеби го згрешивте во пишувањето?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tНе можам да се приклучам%C26 %B$1 %O(Ограничувањето за корисници е достигнато)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Корисници на $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cе отсутен %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OКрај на WHOIS листата." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O не реагира%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O %C26 $2%O, најава:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Oвистински корисник@host%C27 $2%O, вистинска IP%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Сега зборувам на $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tТи си исфрлен од $2 од $3 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tГо напушти каналот $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tГо напушти каналот $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tГо поканивте%C26 $1%O to%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tСега си познат како $2" + +#: src/common/text.c:287 +msgid "Loaded log from" +msgstr "Вчитав лог од" + +#: src/common/text.c:305 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** ЗАВРШУВАМ СНИМАЊЕ НА %s\n" + +#: src/common/text.c:514 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ЗАПОЧНУВАМ СНИМАЊЕ НА %s\n" + +#: src/common/text.c:533 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Не можам да ги отворам датотеките со записи за снимање. Провери\n" +" ги дозволите на %s/xchatlogs" + +#: src/common/text.c:871 +msgid "Left message" +msgstr "Лева порака" + +#: src/common/text.c:872 +msgid "Right message" +msgstr "Десна порака" + +#: src/common/text.c:876 +msgid "The nick of the joining person" +msgstr "Прекарот на личноста што се приклучува" + +#: src/common/text.c:877 +msgid "The channel being joined" +msgstr "Каналот на кој што се приклучува" + +#: src/common/text.c:878 src/common/text.c:925 src/common/text.c:976 +msgid "The host of the person" +msgstr "Host на личноста" + +#: src/common/text.c:882 src/common/text.c:888 src/common/text.c:895 +#: src/common/text.c:1083 src/common/text.c:1090 src/common/text.c:1095 +#: src/common/text.c:1100 src/common/text.c:1105 src/common/text.c:1111 +#: src/common/text.c:1116 src/common/text.c:1120 src/common/text.c:1126 +#: src/common/text.c:1132 src/common/text.c:1178 src/common/text.c:1189 +#: src/common/text.c:1194 src/common/text.c:1199 src/common/text.c:1208 +#: src/common/text.c:1219 src/common/text.c:1226 src/common/text.c:1232 +#: src/common/text.c:1237 src/common/text.c:1242 src/common/text.c:1249 +#: src/common/text.c:1255 src/common/text.c:1261 src/common/text.c:1266 +#: src/common/text.c:1271 src/common/text.c:1275 src/common/text.c:1281 +#: src/common/text.c:1289 src/common/text.c:1323 src/common/text.c:1328 +msgid "Nickname" +msgstr "Прекар" + +#: src/common/text.c:883 +msgid "The action" +msgstr "Акцијата" + +#: src/common/text.c:884 src/common/text.c:890 +msgid "Mode char" +msgstr "Режим за знак" + +#: src/common/text.c:889 +msgid "The text" +msgstr "Текстот" + +#: src/common/text.c:891 src/common/text.c:897 +msgid "Identified text" +msgstr "Идентификуван текст" + +#: src/common/text.c:896 src/common/text.c:953 src/common/text.c:959 +msgid "The message" +msgstr "Пораката" + +#: src/common/text.c:901 src/common/text.c:963 +msgid "Old nickname" +msgstr "Стар прекар" + +#: src/common/text.c:902 src/common/text.c:964 +msgid "New nickname" +msgstr "Нов прекар" + +#: src/common/text.c:906 +msgid "Nick of person who changed the topic" +msgstr "Прекар на личноста која го променила насловот" + +#: src/common/text.c:907 src/common/text.c:913 src/fe-gtk/chanlist.c:756 +#: src/fe-gtk/chanlist.c:859 +msgid "Topic" +msgstr "Наслов" + +#: src/common/text.c:908 src/common/text.c:912 src/common/text.c:1343 +#: src/fe-gtk/chanlist.c:754 src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Канал" + +#: src/common/text.c:917 src/common/text.c:970 +msgid "The nickname of the kicker" +msgstr "Прекарот на исфрлувачот" + +#: src/common/text.c:918 src/common/text.c:968 +msgid "The person being kicked" +msgstr "Личноста што е исфрлена" + +#: src/common/text.c:919 src/common/text.c:926 src/common/text.c:930 +#: src/common/text.c:935 src/common/text.c:969 src/common/text.c:977 +#: src/common/text.c:984 +msgid "The channel" +msgstr "Каналот" + +#: src/common/text.c:920 src/common/text.c:971 src/common/text.c:978 +msgid "The reason" +msgstr "Причината" + +#: src/common/text.c:924 src/common/text.c:975 +msgid "The nick of the person leaving" +msgstr "Прекарот на личноста што си оди" + +#: src/common/text.c:931 src/common/text.c:937 +msgid "The time" +msgstr "Времето" + +#: src/common/text.c:936 +msgid "The creator" +msgstr "Создавачот" + +#: src/common/text.c:941 src/fe-gtk/dccgui.c:763 src/fe-gtk/dccgui.c:994 +msgid "Nick" +msgstr "Прекар" + +#: src/common/text.c:942 src/common/text.c:1195 +msgid "Reason" +msgstr "Причината" + +#: src/common/text.c:943 src/common/text.c:1085 src/common/text.c:1168 +msgid "Host" +msgstr "Host" + +#: src/common/text.c:947 src/common/text.c:952 src/common/text.c:957 +msgid "Who it's from" +msgstr "Од кого е" + +#: src/common/text.c:948 +msgid "The time in x.x format (see below)" +msgstr "Времето во x.x формат (види подолу)" + +#: src/common/text.c:958 src/common/text.c:995 +msgid "The Channel it's going to" +msgstr "Каналот до кој што оди" + +#: src/common/text.c:982 +msgid "The sound" +msgstr "Звукот" + +#: src/common/text.c:983 src/common/text.c:989 src/common/text.c:994 +msgid "The nick of the person" +msgstr "Прекарот на личноста" + +#: src/common/text.c:988 src/common/text.c:993 +msgid "The CTCP event" +msgstr "CTCP настанот" + +#: src/common/text.c:999 +msgid "The nick of the person who set the key" +msgstr "Прекарот на личноста кој го поставила клучот" + +#: src/common/text.c:1000 +msgid "The key" +msgstr "Клучот" + +#: src/common/text.c:1004 +msgid "The nick of the person who set the limit" +msgstr "Името на личноста која што го поставила ограничувањето" + +#: src/common/text.c:1005 +msgid "The limit" +msgstr "Ограничувањето" + +#: src/common/text.c:1009 +msgid "The nick of the person who did the op'ing" +msgstr "Името на личноста која дала op" + +#: src/common/text.c:1010 +msgid "The nick of the person who has been op'ed" +msgstr "Прекарот на личноста која што добила op" + +#: src/common/text.c:1014 +msgid "The nick of the person who has been halfop'ed" +msgstr "Прекарот на личноста која добила halfop" + +#: src/common/text.c:1015 +msgid "The nick of the person who did the halfop'ing" +msgstr "Прекарот на личноста која направила halfop" + +#: src/common/text.c:1019 +msgid "The nick of the person who did the voice'ing" +msgstr "Прекарот на личноста која што дала глас" + +#: src/common/text.c:1020 +msgid "The nick of the person who has been voice'ed" +msgstr "Прекарот на личноста која што добила глас" + +#: src/common/text.c:1024 +msgid "The nick of the person who did the banning" +msgstr "Прекарот на личноста која што банирала" + +#: src/common/text.c:1025 src/common/text.c:1052 +msgid "The ban mask" +msgstr "Бан маската" + +#: src/common/text.c:1029 +msgid "The nick who removed the key" +msgstr "Прекарот кој што го отстранил клучот" + +#: src/common/text.c:1033 +msgid "The nick who removed the limit" +msgstr "Прекарот кој што го отстранил ограничувањето" + +#: src/common/text.c:1037 +msgid "The nick of the person of did the deop'ing" +msgstr "Прекарот на личноста што одземала op" + +#: src/common/text.c:1038 +msgid "The nick of the person who has been deop'ed" +msgstr "Прекарот на личноста на која што и е земен op" + +#: src/common/text.c:1041 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Прекарот на личноста која одзела halfop" + +#: src/common/text.c:1042 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Прекарот на личноста на која и е одземен halfop" + +#: src/common/text.c:1046 +msgid "The nick of the person of did the devoice'ing" +msgstr "Прекарот на личноста која направила одземање на глас" + +#: src/common/text.c:1047 +msgid "The nick of the person who has been devoice'ed" +msgstr "Прекарот на личноста на која и е одземен гласот" + +#: src/common/text.c:1051 +msgid "The nick of the person of did the unban'ing" +msgstr "Прекарот на личноста која што одбанувала" + +#: src/common/text.c:1056 +msgid "The nick of the person who did the exempt" +msgstr "Прекарот на личноста која направила exempt" + +#: src/common/text.c:1057 src/common/text.c:1062 +msgid "The exempt mask" +msgstr "Exempt маска" + +#: src/common/text.c:1061 +msgid "The nick of the person removed the exempt" +msgstr "Прекарот на личноста која отстранила exempt" + +#: src/common/text.c:1066 +msgid "The nick of the person who did the invite" +msgstr "Прекарот на личноста која поканила" + +#: src/common/text.c:1067 src/common/text.c:1072 +msgid "The invite mask" +msgstr "Маската за покана" + +#: src/common/text.c:1071 +msgid "The nick of the person removed the invite" +msgstr "Прекарот на личноста која ја отстранила поканата" + +#: src/common/text.c:1076 +msgid "The nick of the person setting the mode" +msgstr "Прекарот на личноста која што го поставува режимот" + +#: src/common/text.c:1077 +msgid "The mode's sign (+/-)" +msgstr "Знаците за режим (+/-)" + +#: src/common/text.c:1078 +msgid "The mode letter" +msgstr "Буквата за режим" + +#: src/common/text.c:1079 +msgid "The channel it's being set on" +msgstr "Каналот се подесува" + +#: src/common/text.c:1084 +msgid "Username" +msgstr "Корисничко име" + +#: src/common/text.c:1086 +msgid "Full name" +msgstr "Целосно име" + +#: src/common/text.c:1091 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Членство на каналот/\"е IRC оператор\"" + +#: src/common/text.c:1096 +msgid "Server Information" +msgstr "Информации за серверот" + +#: src/common/text.c:1101 src/common/text.c:1106 +msgid "Idle time" +msgstr "Неактивност" + +#: src/common/text.c:1107 +msgid "Signon time" +msgstr "Време на вклучување" + +#: src/common/text.c:1112 +msgid "Away reason" +msgstr "Причина за отсуство" + +#: src/common/text.c:1121 src/common/text.c:1127 src/common/text.c:1135 +#: src/common/text.c:1315 +msgid "Message" +msgstr "Порака" + +#: src/common/text.c:1128 +msgid "Account" +msgstr "Сметка" + +#: src/common/text.c:1133 +msgid "Real user@host" +msgstr "Вистински корисник@host" + +#: src/common/text.c:1134 +msgid "Real IP" +msgstr "Вистинска IP" + +#: src/common/text.c:1139 src/common/text.c:1148 src/common/text.c:1154 +#: src/common/text.c:1184 src/common/text.c:1338 +msgid "Channel Name" +msgstr "Име на каналот" + +#: src/common/text.c:1143 src/common/text.c:1301 src/fe-gtk/menu.c:1240 +#: src/fe-gtk/menu.c:1420 src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "Текст" + +#: src/common/text.c:1144 src/common/text.c:1150 src/common/text.c:1179 +#: src/common/text.c:1297 src/common/text.c:1339 +msgid "Server Name" +msgstr "Име на серверот" + +#: src/common/text.c:1149 +msgid "Nick of person who invited you" +msgstr "Прекар на личноста која те поканила" + +#: src/common/text.c:1155 src/fe-gtk/chanlist.c:755 +msgid "Users" +msgstr "Корисници" + +#: src/common/text.c:1159 +msgid "Nickname in use" +msgstr "Прекарот е употребен" + +#: src/common/text.c:1160 +msgid "Nick being tried" +msgstr "Се обидувам со прекарот" + +#: src/common/text.c:1169 src/common/text.c:1305 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1170 src/common/text.c:1201 +msgid "Port" +msgstr "Порта" + +#: src/common/text.c:1180 src/fe-gtk/notifygui.c:139 src/fe-gtk/setup.c:1669 +msgid "Network" +msgstr "Мрежа" + +#: src/common/text.c:1185 src/common/text.c:1190 +msgid "Modes string" +msgstr "Стринг на режими" + +#: src/common/text.c:1200 src/common/text.c:1238 src/common/text.c:1243 +#: src/common/text.c:1284 +msgid "IP address" +msgstr "IP адреса" + +#: src/common/text.c:1206 src/common/text.c:1231 +msgid "DCC Type" +msgstr "DCC тип" + +#: src/common/text.c:1207 src/common/text.c:1212 src/common/text.c:1217 +#: src/common/text.c:1224 src/common/text.c:1244 src/common/text.c:1248 +#: src/common/text.c:1254 src/common/text.c:1260 src/common/text.c:1267 +#: src/common/text.c:1276 src/common/text.c:1282 +msgid "Filename" +msgstr "Име на датотеката" + +#: src/common/text.c:1218 src/common/text.c:1225 +msgid "Destination filename" +msgstr "Дестинација на датотеката" + +#: src/common/text.c:1227 src/common/text.c:1256 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1262 +msgid "Pathname" +msgstr "Име на патеката" + +#: src/common/text.c:1277 src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "Позиција" + +#: src/common/text.c:1283 src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "Големина" + +#: src/common/text.c:1288 +msgid "DCC String" +msgstr "DCC стринг" + +#: src/common/text.c:1293 +msgid "Number of notify items" +msgstr "Број на предмети за известување" + +#: src/common/text.c:1309 +msgid "Old Filename" +msgstr "Старо име на датотеката" + +#: src/common/text.c:1310 +msgid "New Filename" +msgstr "Ново име на датотеката" + +#: src/common/text.c:1314 +msgid "Receiver" +msgstr "Примач" + +#: src/common/text.c:1319 +msgid "Hostmask" +msgstr "Маска на Host-от" + +#: src/common/text.c:1324 +msgid "Hostname" +msgstr "Име на host" + +#: src/common/text.c:1329 +msgid "The Packet" +msgstr "Пакетот" + +#: src/common/text.c:1333 +msgid "Seconds" +msgstr "Секунди" + +#: src/common/text.c:1337 +msgid "Nick of person who have been invited" +msgstr "Прекарот на личноста што е поканета" + +#: src/common/text.c:1344 +msgid "Banmask" +msgstr "Бан маска" + +#: src/common/text.c:1345 +msgid "Who set the ban" +msgstr "Кој го ставил банот" + +#: src/common/text.c:1346 +msgid "Ban time" +msgstr "Време на банот" + +#: src/common/text.c:1386 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Грешка при настанот %s.\n" +"Вчитувам стандардно." + +#: src/common/text.c:2079 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Неможам да ја прочитам звучната датотека:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "Затворен socket на мрежниот host" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Врската е одбиена" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "Нема рута до host-от" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Конекцијата истече" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Не можам да ја назначам таа адреса" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Конекцијата е ресетирана од peer" + +#: src/common/util.c:839 +msgid "Ascension Island" +msgstr "Островот Асенсион" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "Андора" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "Обединети Арапски Емирати" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "Авганистан" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "Антигvа и Барбуда" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "Ангуила" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "Албанија" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "Ерменија" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "Холандски Антили" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "Ангола" + +#: src/common/util.c:849 +msgid "Antarctica" +msgstr "Антартик" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "Аргентина" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "Обратен DNS" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "Американски Самоа" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "Австрија" + +#: src/common/util.c:854 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "Австралија" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "Аруба" + +#: src/common/util.c:857 +msgid "Aland Islands" +msgstr "Фолкландски Острови" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "Азербејџан" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "Босна и Херцеговина" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "Барбадос" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "Бангладеш" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "Белгија" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "Буркина Фасо" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "Бугарија" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "Бахреин" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "Бурунди" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "Бизниси" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "Бенин" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "Бермуда" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "Брунеи Дарусалам" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "Боливија" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "Бразил" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "Бахами" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "Бутан" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "Бувет Острови" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "Боцвана" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "Белорусија" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "Белиз" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "Канада" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "Кокосови Острови" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "Демократска Репубика Конго" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "Централно Африканска Република" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "Конго" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "Швајцарија" + +#: src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "Брегот на Слоновата Коска" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "Кук острови" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "Чиле" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "Камерун" + +#: src/common/util.c:889 +msgid "China" +msgstr "Кина" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "Колумбија" + +#: src/common/util.c:891 +msgid "Internic Commercial" +msgstr "Internic Commercial" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "Костарика" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "Србија и Црна Гора" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "Куба" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "Кејп Верде" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "Божиќни острови" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "Кипар" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "Чешка" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "Германија" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "Џибути" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "Данска" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "Доминика" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "Доминиканска република" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "Алжир" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "Еквадор" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "Образовна институција" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "Естонија" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "Египет" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "Западна Сахара" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "Еритреја" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "Шпанија" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "Етиопија" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "Европска Унија" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "Финска" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "Фиџи" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "Фолкландски острови" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "Микронезија" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "Фарски острови" + +#: src/common/util.c:919 +msgid "France" +msgstr "Франција" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "Габон" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "Велика Британија" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "Гренада" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "Грузија" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "Француска Гвинеја" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "Британски каналски острови" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "Гана" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "Гибралтар" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "Гренланд" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "Гамбија" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "Гвинеја" + +#: src/common/util.c:931 +msgid "Government" +msgstr "Влада" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "Гвадалупе" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "Екваторијална Гвинеја" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "Грција" + +#: src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "С. Џорџија и С. Сендвич Острови" + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "Гватемала" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "Гвам" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "Гвинеја-Бисао" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "Гвајана" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "Хонг Конг" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "Хард и МекДоналд острови" + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "Хондурас" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "Хрватска" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "Хаити" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "Унгарија" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "Индонезија" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "Ирска" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "Израел" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "Островот Ман" + +#: src/common/util.c:950 +msgid "India" +msgstr "Индија" + +#: src/common/util.c:951 +msgid "Informational" +msgstr "Информативен" + +#: src/common/util.c:952 +msgid "International" +msgstr "Интернационално" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "Територија на Британскиот Индискиот океан" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "Ирак" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "Иран" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "Исланд" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "Италија" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "Џерзи" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "Јамајка" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "Јордан" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "Јапонија" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "Кенија" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "Киргистан" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "Камбоџа" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "Кирибати" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "Коморос" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "Св. Кит и Невис" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "Северна Кореја" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "Јужна Кореја" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "Кувајт" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "Кајмански острови" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "Казакстан" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "Лаос" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "Либан" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "Света Луција" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "Линхенштајн" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "Шри Ланка" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "Либерија" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "Лесото" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "Литванија" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "Луксембург" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "Латвија" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "Либија" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "Мароко" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "Монако" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "Молдавија" + +#: src/common/util.c:987 +msgid "United States Medical" +msgstr "United States Medical" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "Мадагаскар" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "Маршалски острови" + +#: src/common/util.c:990 +msgid "Military" +msgstr "Воена" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "Македонија" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "Мали" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "Мјанмар" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "Монголија" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "Макао" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "Острови Северна Маријана" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "Мартиник" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "Мавританија" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "Монсерат" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "Малта" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "Маурициус" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "Малдиви" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "Малави" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "Мексико" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "Малезија" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "Мозамбик" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "Намибија" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "Нова Каледонија" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "Нигер" + +#: src/common/util.c:1010 +msgid "Internic Network" +msgstr "Интерна мрежа" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "Норфолски острови" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "Нигерија" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "Никарагва" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "Холандија" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "Норвешка" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "Непал" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "Науру" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "Ниуе" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "Нов Зеланд" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "Оман" + +#: src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "уИнтерна непрофитна организација" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "Панама" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "Перу" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "Француска Полинезија" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "Папуа Нова Гвинеја" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "Филипини" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "Пакистан" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "Полска" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "Св. Пјер и Микелон" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "Питкаим" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "Порторико" + +#: src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "Палестинска територија" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "Португалија" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "Палау" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "Парагвај" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "Катар" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "Романија" + +#: src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "Old School ARPAnet" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "Руска Федерација" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "Руанда" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "Саудиска Арабија" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "Соломонски острови" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "Сејшели" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "Судан" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "Шведска" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "Сингапур" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "Св. Елена" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "Словенија" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Свалбалд и Јан Маен острови" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "Словачка" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "Сиера Леоне" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "Сан Марино" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "Сенегал" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "Сомалија" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "Суринам" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "Сао Томе и Принципе" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "Бивш СССР" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "Салвадор" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "Сирија" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "Свазиленд" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "Turks and Caicos Islands" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "Чад" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "Француски јужни територии" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "Того" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "Тајланд" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "Таџикистан" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1069 src/common/util.c:1073 +msgid "East Timor" +msgstr "Источен Тимор" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "Туркменистан" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "Тунис" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "Тонга" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "Турција" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "Тринидад и Тобаго" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "Тувалу" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "Тајван" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "Танзанија" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "Украина" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "Уганда" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "Обединето Кралство" + +#: src/common/util.c:1082 +msgid "United States of America" +msgstr "Соединетите Американски Држави" + +#: src/common/util.c:1083 +msgid "Uruguay" +msgstr "Уругвај" + +#: src/common/util.c:1084 +msgid "Uzbekistan" +msgstr "Узбекистан" + +#: src/common/util.c:1085 +msgid "Vatican City State" +msgstr "Ватикан" + +#: src/common/util.c:1086 +msgid "St. Vincent and the Grenadines" +msgstr "Св. Винсент и Гренадин" + +#: src/common/util.c:1087 +msgid "Venezuela" +msgstr "Венецуела" + +#: src/common/util.c:1088 +msgid "British Virgin Islands" +msgstr "Британски девствени острови" + +#: src/common/util.c:1089 +msgid "US Virgin Islands" +msgstr "Американски девствени острови" + +#: src/common/util.c:1090 +msgid "Vietnam" +msgstr "Виетнам" + +#: src/common/util.c:1091 +msgid "Vanuatu" +msgstr "Вануату" + +#: src/common/util.c:1092 +msgid "Wallis and Futuna Islands" +msgstr "Волис и Футуна острови" + +#: src/common/util.c:1093 +msgid "Samoa" +msgstr "Самоа" + +#: src/common/util.c:1094 +msgid "Yemen" +msgstr "Јемен" + +#: src/common/util.c:1095 +msgid "Mayotte" +msgstr "Мајота" + +#: src/common/util.c:1096 +msgid "Yugoslavia" +msgstr "Југославија" + +#: src/common/util.c:1097 +msgid "South Africa" +msgstr "Јужна Африка" + +#: src/common/util.c:1098 +msgid "Zambia" +msgstr "Замбија" + +#: src/common/util.c:1099 +msgid "Zimbabwe" +msgstr "Зимбабве" + +#: src/common/util.c:1109 src/common/util.c:1119 src/fe-gtk/menu.c:553 +#: src/fe-gtk/menu.c:558 src/fe-gtk/menu.c:562 src/fe-gtk/menu.c:566 +#: src/fe-gtk/menu.c:574 src/fe-gtk/menu.c:592 +msgid "Unknown" +msgstr "Непознато" + +#: src/common/xchat.c:767 src/common/xchat.c:893 +msgid "Open Dialog Window" +msgstr "Отвори нов дијалог прозорец" + +#: src/common/xchat.c:768 +msgid "Send a File" +msgstr "Испрати датотека" + +#: src/common/xchat.c:769 +msgid "User Info (WHOIS)" +msgstr "Кориснички информации (WHOIS)" + +#: src/common/xchat.c:770 +msgid "Operator Actions" +msgstr "Дејства за операторот" + +#: src/common/xchat.c:772 src/common/xchat.c:863 +msgid "Give Ops" +msgstr "Дај op" + +#: src/common/xchat.c:773 src/common/xchat.c:864 +msgid "Take Ops" +msgstr "Одземи op" + +#: src/common/xchat.c:774 src/common/xchat.c:867 +msgid "Give Voice" +msgstr "Дај глас" + +#: src/common/xchat.c:775 src/common/xchat.c:868 +msgid "Take Voice" +msgstr "Одземи глас" + +#: src/common/xchat.c:777 src/common/xchat.c:872 +msgid "Kick/Ban" +msgstr "Исфрли/Банирај" + +#: src/common/xchat.c:778 src/common/xchat.c:873 src/common/xchat.c:922 +msgid "Kick" +msgstr "Исфрли" + +#: src/common/xchat.c:779 src/common/xchat.c:780 src/common/xchat.c:781 +#: src/common/xchat.c:782 src/common/xchat.c:783 src/common/xchat.c:874 +#: src/common/xchat.c:875 src/common/xchat.c:876 src/common/xchat.c:877 +#: src/common/xchat.c:878 src/common/xchat.c:921 +msgid "Ban" +msgstr "Банирај" + +#: src/common/xchat.c:784 src/common/xchat.c:785 src/common/xchat.c:786 +#: src/common/xchat.c:787 src/common/xchat.c:879 src/common/xchat.c:880 +#: src/common/xchat.c:881 src/common/xchat.c:882 +msgid "KickBan" +msgstr "Исфрли и банирај" + +#: src/common/xchat.c:850 +msgid "Direct client-to-client" +msgstr "Директно,клиент до клиент" + +#: src/common/xchat.c:851 +msgid "Send File" +msgstr "Испрати датотека" + +#: src/common/xchat.c:852 +msgid "Offer Chat" +msgstr "Понуди разговор" + +#: src/common/xchat.c:853 +msgid "Abort Chat" +msgstr "Прекини разговор" + +#: src/common/xchat.c:854 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Верзија" + +#: src/common/xchat.c:855 +msgid "Userinfo" +msgstr "Инфо за корисник" + +#: src/common/xchat.c:856 +msgid "Clientinfo" +msgstr "Инфо за клиент" + +#: src/common/xchat.c:857 src/common/xchat.c:891 src/common/xchat.c:939 +msgid "Ping" +msgstr "Пинг" + +#: src/common/xchat.c:858 +msgid "Time" +msgstr "Време" + +#: src/common/xchat.c:859 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:860 +msgid "Oper" +msgstr "Oper" + +#: src/common/xchat.c:861 +msgid "Kill this user" +msgstr "Убиј го корисникот" + +#: src/common/xchat.c:862 +msgid "Mode" +msgstr "Режим" + +#: src/common/xchat.c:865 +msgid "Give Half-Ops" +msgstr "Дај полуоператорски статус" + +#: src/common/xchat.c:866 +msgid "Take Half-Ops" +msgstr "Одземи полуоператорски статус" + +#: src/common/xchat.c:869 +msgid "Ignore" +msgstr "Игнорирај" + +#: src/common/xchat.c:870 +msgid "Ignore User" +msgstr "Игнорирај корисник" + +#: src/common/xchat.c:871 +msgid "UnIgnore User" +msgstr "Не игнорирај корисник" + +#: src/common/xchat.c:883 +msgid "Info" +msgstr "Инфо" + +#: src/common/xchat.c:884 +msgid "Who" +msgstr "Кој" + +#: src/common/xchat.c:885 src/common/xchat.c:935 +msgid "WhoIs" +msgstr "КојЕ" + +#: src/common/xchat.c:886 +msgid "DNS Lookup" +msgstr "Побарај DNS" + +#: src/common/xchat.c:887 +msgid "Trace" +msgstr "Следи" + +#: src/common/xchat.c:888 +msgid "UserHost" +msgstr "Host на корисникот" + +#: src/common/xchat.c:889 +msgid "External" +msgstr "Надворешно" + +#: src/common/xchat.c:890 +msgid "Traceroute" +msgstr "Рута на следење" + +#: src/common/xchat.c:892 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:904 +msgid "Leave Channel" +msgstr "Напушти канал" + +#: src/common/xchat.c:905 src/fe-gtk/menu.c:1427 +msgid "Join Channel..." +msgstr "Приклучи се на канал..." + +#: src/common/xchat.c:906 src/fe-gtk/menu.c:1117 +msgid "Enter Channel to Join:" +msgstr "Внеси канал за да се приклучиш:" + +#: src/common/xchat.c:907 +msgid "Server Links" +msgstr "Врски до серверот" + +#: src/common/xchat.c:908 +msgid "Ping Server" +msgstr "Пингувај го серверот" + +#: src/common/xchat.c:909 +msgid "Hide Version" +msgstr "Сокриј верзија" + +#: src/common/xchat.c:919 +msgid "Op" +msgstr "Оp" + +#: src/common/xchat.c:920 +msgid "DeOp" +msgstr "Земи оp" + +#: src/common/xchat.c:923 +msgid "bye" +msgstr "чао" + +#: src/common/xchat.c:924 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Внеси причина за исфрлувањето %s:" + +#: src/common/xchat.c:925 +msgid "Sendfile" +msgstr "Испрати датотека" + +#: src/common/xchat.c:926 +msgid "Dialog" +msgstr "Дијалог" + +#: src/common/xchat.c:936 +msgid "Send" +msgstr "Испрати" + +#: src/common/xchat.c:937 +msgid "Chat" +msgstr "Разговор" + +#: src/common/xchat.c:938 src/fe-gtk/banlist.c:341 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Исчисти" + +#: src/common/dbus/dbus-client.c:71 +msgid "Couldn't connect to session bus" +msgstr "Не можев да се порвзам со магистралата на сесијата" + +#: src/common/dbus/dbus-client.c:85 +msgid "Failed to complete NameHasOwner" +msgstr "Не успеав да го довршам NameHasOwner" + +#: src/common/dbus/dbus-client.c:106 +msgid "Failed to complete Command" +msgstr "Не успеав да ја довршам командата" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "оддалечен пристап" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "приклучок за оддалечен пристап со користење на DBUS" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Не можев да се порвзам со магистралата на сесијата: %s\n" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Не успеав да го добијам %s: %s\n" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "За XChat" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "Мултиплатформски клиент за IRC" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Табела со карактери" + +#: src/fe-gtk/banlist.c:113 src/fe-gtk/chanlist.c:305 +#: src/fe-gtk/plugin-tray.c:217 +msgid "Not connected." +msgstr "Не сум поврзан." + +#: src/fe-gtk/banlist.c:154 src/fe-gtk/banlist.c:257 +msgid "You must select some bans." +msgstr "Мораш да избереш неколку банови." + +#: src/fe-gtk/banlist.c:206 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "Дали сте сигурни дека сакате да ги отстраните сите банирања од %s?" + +#: src/fe-gtk/banlist.c:272 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Маска" + +#: src/fe-gtk/banlist.c:273 +msgid "From" +msgstr "Од" + +#: src/fe-gtk/banlist.c:274 +msgid "Date" +msgstr "Дата" + +#: src/fe-gtk/banlist.c:317 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Можете да го отворите прозорецот на листата со банирани додека сте во јазичето на каналот." + +#: src/fe-gtk/banlist.c:321 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: Бан листа (%s)" + +#: src/fe-gtk/banlist.c:337 +msgid "Unban" +msgstr "Одбанирај" + +#: src/fe-gtk/banlist.c:339 +msgid "Crop" +msgstr "Скрати" + +#: src/fe-gtk/banlist.c:343 +msgid "Refresh" +msgstr "Освежи" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Прикажувам %d/%d корисници на %d/%d канали." + +#: src/fe-gtk/chanlist.c:522 src/fe-gtk/menu.c:1053 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Избери излезно име на датотека" + +#: src/fe-gtk/chanlist.c:626 src/fe-gtk/chanlist.c:789 +msgid "_Join Channel" +msgstr "_Приклучи се на канал" + +#: src/fe-gtk/chanlist.c:628 +msgid "_Copy Channel Name" +msgstr "_Копирај го името на каналот" + +#: src/fe-gtk/chanlist.c:630 +msgid "Copy _Topic Text" +msgstr "Копирај го текстот од _насловот" + +#: src/fe-gtk/chanlist.c:714 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: Листа на канали (%s)" + +#: src/fe-gtk/chanlist.c:771 +msgid "_Search" +msgstr "_Барај" + +#: src/fe-gtk/chanlist.c:777 +msgid "_Download List" +msgstr "_Симни листа" + +#: src/fe-gtk/chanlist.c:783 +msgid "Save _List..." +msgstr "Зачувај ја _листата..." + +#: src/fe-gtk/chanlist.c:796 +msgid "Show only:" +msgstr "Прикажи само:" + +#: src/fe-gtk/chanlist.c:808 +msgid "channels with" +msgstr "канали со" + +#: src/fe-gtk/chanlist.c:821 +msgid "to" +msgstr "до" + +#: src/fe-gtk/chanlist.c:833 +msgid "users." +msgstr "корисници" + +#: src/fe-gtk/chanlist.c:839 +msgid "Look in:" +msgstr "Барај во:" + +#: src/fe-gtk/chanlist.c:851 +msgid "Channel name" +msgstr "Име на каналот" + +#: src/fe-gtk/chanlist.c:872 +msgid "Search type:" +msgstr "Барај тип:" + +#: src/fe-gtk/chanlist.c:879 +msgid "Simple Search" +msgstr "Едноставно пребарување" + +#: src/fe-gtk/chanlist.c:880 +msgid "Pattern Match (Wildcards)" +msgstr "Совпаѓање на шаблони (Wildcards)" + +#: src/fe-gtk/chanlist.c:882 +msgid "Regular Expression" +msgstr "Регуларни изрази" + +#: src/fe-gtk/chanlist.c:893 src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Најди:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "Испрати датотека на %s" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "Дадотеката не може да доиспрати" + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Не можам да пристапам до датотеката: %s\n" +"%s.\n" +"Доиспраќањето е невозможно." + +#: src/fe-gtk/dccgui.c:507 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "Датотеката во директориумот за преземање е поголема од понудената. Доиспраќањето не е возможно." + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "Не можам да ја примам истата датотека од двајца." + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: Качувања и преземања" + +#: src/fe-gtk/dccgui.c:756 src/fe-gtk/dccgui.c:993 src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "Статус" + +#: src/fe-gtk/dccgui.c:757 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Датотека" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "ЕТА" + +#: src/fe-gtk/dccgui.c:784 src/fe-gtk/menu.c:1421 +msgid "Both" +msgstr "И двете" + +#: src/fe-gtk/dccgui.c:790 +msgid "Uploads" +msgstr "Качувања" + +#: src/fe-gtk/dccgui.c:796 +msgid "Downloads" +msgstr "Преземања" + +#: src/fe-gtk/dccgui.c:801 +msgid "Details" +msgstr "Детали" + +#: src/fe-gtk/dccgui.c:812 +msgid "File:" +msgstr "Датотека:" + +#: src/fe-gtk/dccgui.c:813 +msgid "Address:" +msgstr "Адреса:" + +#: src/fe-gtk/dccgui.c:819 src/fe-gtk/dccgui.c:1014 +msgid "Abort" +msgstr "Прекини" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1015 +msgid "Accept" +msgstr "Прифати" + +#: src/fe-gtk/dccgui.c:821 +msgid "Resume" +msgstr "Продолжи" + +#: src/fe-gtk/dccgui.c:822 +msgid "Open Folder..." +msgstr "Отвори папка..." + +#: src/fe-gtk/dccgui.c:982 +msgid "XChat: DCC Chat List" +msgstr "XChat: Листа на DCC Chat" + +#: src/fe-gtk/dccgui.c:995 +msgid "Recv" +msgstr "Примени" + +#: src/fe-gtk/dccgui.c:996 +msgid "Sent" +msgstr "Испратени" + +#: src/fe-gtk/dccgui.c:997 +msgid "Start Time" +msgstr "Почетно време" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*НОВ*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "УРЕДИ МЕ" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Име" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Команда" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Помести горе" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Помести долу" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Откажи" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Сними" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Додај нов" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Избриши" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Подреди" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Помош" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "Не се поврзувај автоматски на серверот" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "Користи друг конфигурациски директориум" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "Не вчитувај додатоци автоматски" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "Прикажи директориум за автоматско вчитување на додатоците" + +#: src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "Покажи го директориумот за конфигурациите на корисникот" + +#: src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "Отвори URL како irc://server:port/channel" + +#: src/fe-gtk/fe-gtk.c:133 +msgid "Open URL in an existing XChat" +msgstr "Отвори URL во постоечки XChat" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Започни минимизирано. Ниво 0=нормално 1=иконизирано 2=место за известување" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "level" +msgstr "ниво" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "Show version information" +msgstr "Покажи информации за верзијата" + +#: src/fe-gtk/fe-gtk.c:256 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Не можам да го отворам фонтот:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:635 +msgid "Search buffer is empty.\n" +msgstr "Баферот за пребарување е празен.\n" + +#: src/fe-gtk/fe-gtk.c:731 +#, c-format +msgid "%d bytes" +msgstr "%d бајти" + +#: src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Редица за испраќање на мрежата: %d бајти" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "Командата Изврши ги извршува податоците во Податок1 како да се искуцаи во полето. Може и да содржи текст (кој што ќе биде испратен на канал/личност), команди или кориснички команди." + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "Командата за менување на страницата скока помеѓу страници во тетратката. Поставете го податок 1 на страницата на која што сакате да се префрлите. Ако податок 2 е поставен на што било, тогаш скокачот ќе се однесува релативно во однос на тековната позиција." + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "Командата за внесување во бафер ќе ја внесе содржината на податок 1 во записот каде што главната секвенца била притисната, односно на тековната позиција на стрелката." + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "Командата за лизгање го лизга копчето за текстот нагоре и надоле по страницата. Поставете на 1 за било горе или долу, + или -1." + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "Командата за поставување на бафер го поставува записот каде што била внесена содржината за главната секвенца на податокот 1." + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "Команда" + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "Команда" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "Оваа команда го менува текстот во полето со цел да доврши некомплетен прекар или команда." + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "Оваа команда овозможува лизгање, горе и долу по листата со прекари." + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "Командата ги проверува последните внесени зборови и ги заменува ако најде совпаѓање" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "Оваа команда го преместува предното јазиче лево за едно место" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "Оваа команда го преместува предното јазиче десно за едно место" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "Оваа команда ја преместува тековната фамилија на јазичиња налево" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "Оваа команда ја преместува тековната фамилија на јазичиња надесно" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "Ја става линијата за внесување во историја но не ја испраќа на серверот" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "Се појави грешка при вчитувањето на конфигурацијата за копчињата" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1616 src/fe-gtk/maingui.c:1719 +#: src/fe-gtk/maingui.c:3201 +msgid "<none>" +msgstr "<none>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "Режим" + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Копче" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Дејствие" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: Кратенки за тастатура" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "Податок 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "Податок 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "Грешка при отворање на датотеката со конфигурација на копчињата\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Непознато клучно име %s во датотеката за конфгируација на копчињата\n" +"Вчитувањето е прекинато. Поправи го %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Непозната акција %s во датотеката за конфигурација на копчињата\n" +"Вчитувањето е прекинато, Поправи го %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Вчитувањето е прекинато, Поправи го %s/копчињата\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Датотеката за конфигурација на копчињата е расипана, вчитувањето е прекинато\n" +"Поправи го %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "Не можам да запишам во таа датотека" + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "Не можам да ја прочитам датотеката" + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "Таа маска веќе постои" + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:2100 +msgid "Private" +msgstr "Приватно" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Забелешка" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Покана" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Не игнорирај" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Внеси маска за игнорирање:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "XChat: Листа на игнорирани" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Статистики за игнорирани:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Канал:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Приватно:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Забелешка:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Покани:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:420 +msgid "Add..." +msgstr "Додај..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "Името на каналот е прекратно, обидете се повторно." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: Врската заврши" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "Врската со %s е целосна." + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "Во прозорецот со листа на сервери не беше внесен канал на кој ќе се приклучувам автоматски на оваа мрежа." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Што сакате да правите следно?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_Ништо, ќе се приклучам на некој канал подоцна." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "_Приклучи се на овој канал:" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Ако го знаете името на каналот на кој што сакате да се приклучите, внесете го тука." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "О_твори го прозорецот со листа на канали." + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "Земањето на листата со канали може да потрае една до две минути." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "_Секогаш прикажувај го овој дијалог прозорец после поврзување." + +#: src/fe-gtk/maingui.c:500 +msgid "Dialog with" +msgstr "Дијалог со" + +#: src/fe-gtk/maingui.c:787 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Насловот на %s е: %s" + +#: src/fe-gtk/maingui.c:792 +msgid "No topic is set" +msgstr "Нема поставено наслов" + +#: src/fe-gtk/maingui.c:1177 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "Овој сервер има %d канали и дијалози поврзани со него. Да ги затворам сите?" + +#: src/fe-gtk/maingui.c:1304 +msgid "Quit XChat?" +msgstr "Да го исклучам XChat?" + +#: src/fe-gtk/maingui.c:1325 +msgid "Don't ask next time." +msgstr "Не прашувај наредниот пат." + +#: src/fe-gtk/maingui.c:1331 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Вие сте поврзани на %i IRC мрежи." + +#: src/fe-gtk/maingui.c:1333 +msgid "Are you sure you want to quit?" +msgstr "Дали сигурно сакате да напуштите?" + +#: src/fe-gtk/maingui.c:1335 +msgid "Some file transfers are still active." +msgstr "Некои податоци сеуште се пренесуваат." + +#: src/fe-gtk/maingui.c:1353 +msgid "_Minimize to Tray" +msgstr "_Минимизирај се во местото за известување" + +#: src/fe-gtk/maingui.c:1567 +msgid "Insert Attribute or Color Code" +msgstr "Внеси атрибут или код за боја" + +#: src/fe-gtk/maingui.c:1569 +msgid "<b>Bold</b>" +msgstr "<b>Задебелено</b>" + +#: src/fe-gtk/maingui.c:1570 +msgid "<u>Underline</u>" +msgstr "<u>Потцртано</u>" + +#: src/fe-gtk/maingui.c:1572 +msgid "Normal" +msgstr "Нормално" + +#: src/fe-gtk/maingui.c:1574 +msgid "Colors 0-7" +msgstr "Бои 0-7" + +#: src/fe-gtk/maingui.c:1584 +msgid "Colors 8-15" +msgstr "Бои 8-15" + +#: src/fe-gtk/maingui.c:1629 +msgid "Beep on message" +msgstr "Свирни на порака" + +#: src/fe-gtk/maingui.c:1632 +msgid "Blink tray on message" +msgstr "Трепни на порака" + +#: src/fe-gtk/maingui.c:1635 +msgid "Show join/part messages" +msgstr "Покажувај ги пораките за приклучувањето и исклучување" + +#: src/fe-gtk/maingui.c:1637 +msgid "Color paste" +msgstr "Вметни боја" + +#: src/fe-gtk/maingui.c:1647 src/fe-gtk/menu.c:1950 +msgid "_Close Tab" +msgstr "_Затвори јазиче" + +#: src/fe-gtk/maingui.c:1649 src/fe-gtk/menu.c:1949 +msgid "_Detach Tab" +msgstr "_Откачи јазиче" + +#: src/fe-gtk/maingui.c:1968 src/fe-gtk/maingui.c:2074 +msgid "User limit must be a number!\n" +msgstr "Корисничкото ограничување мора да биде број!\n" + +#: src/fe-gtk/maingui.c:2096 +msgid "Topic Protection" +msgstr "Заштита на наслов" + +#: src/fe-gtk/maingui.c:2097 +msgid "No outside messages" +msgstr "Без надворешни пораки" + +#: src/fe-gtk/maingui.c:2098 +msgid "Secret" +msgstr "Тајна" + +#: src/fe-gtk/maingui.c:2099 +msgid "Invite Only" +msgstr "Само со покани" + +#: src/fe-gtk/maingui.c:2101 +msgid "Moderated" +msgstr "Модерирано" + +#: src/fe-gtk/maingui.c:2102 +msgid "Ban List" +msgstr "Бан листа" + +#: src/fe-gtk/maingui.c:2104 +msgid "Keyword" +msgstr "Збор" + +#: src/fe-gtk/maingui.c:2116 +msgid "User Limit" +msgstr "Корисничко ограничување" + +#: src/fe-gtk/maingui.c:2225 +msgid "Show/Hide userlist" +msgstr "Покажи/скриј корисничка листа" + +#: src/fe-gtk/maingui.c:2350 +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 "" +"Неможам да поставам транспарентна позадина!\n" +"\n" + +#: src/fe-gtk/maingui.c:2621 +msgid "Enter new nickname:" +msgstr "Внеси нов прекар" + +#: src/fe-gtk/menu.c:124 +msgid "Host unknown" +msgstr "Непознат host" + +#: src/fe-gtk/menu.c:544 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:549 src/fe-gtk/menu.c:553 +msgid "Real Name:" +msgstr "Вистинско име:" + +#: src/fe-gtk/menu.c:557 +msgid "User:" +msgstr "Корисник:" + +#: src/fe-gtk/menu.c:561 +msgid "Country:" +msgstr "Земја:" + +#: src/fe-gtk/menu.c:565 +msgid "Server:" +msgstr "Сервер:" + +#: src/fe-gtk/menu.c:577 +msgid "Away Msg:" +msgstr "Порака за отсуство:" + +#: src/fe-gtk/menu.c:587 +#, c-format +msgid "%u minutes ago" +msgstr "пред %u минути" + +#: src/fe-gtk/menu.c:589 src/fe-gtk/menu.c:592 +msgid "Last Msg:" +msgstr "Последна порака:" + +#: src/fe-gtk/menu.c:704 +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 "Мени лентата сега е скриена. Можете да ја прикажете повторно со притискање на F9 во празен дел од површината на главниот текст." + +#: src/fe-gtk/menu.c:799 +msgid "Open Link in Browser" +msgstr "Отвори ја врската во прелистувач" + +#: src/fe-gtk/menu.c:800 +msgid "Copy Selected Link" +msgstr "Копирај ја избраната врска" + +#: src/fe-gtk/menu.c:862 src/fe-gtk/menu.c:1100 +msgid "Join Channel" +msgstr "Приклучи се на канал" + +#: src/fe-gtk/menu.c:866 +msgid "Part Channel" +msgstr "Напушти канал" + +#: src/fe-gtk/menu.c:868 +msgid "Cycle Channel" +msgstr "Промени канал" + +#: src/fe-gtk/menu.c:892 +msgid "XChat: User menu" +msgstr "XChat: Корисничко мени" + +#: src/fe-gtk/menu.c:901 +msgid "Edit This Menu..." +msgstr "Уреди го ова мени..." + +#: src/fe-gtk/menu.c:1102 +msgid "Retrieve channel list..." +msgstr "Земи листа на канали..." + +#: src/fe-gtk/menu.c:1170 +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 = xchat 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 "" +"Кориснички команди - Специјални кодови:\n" +"\n" +"%c = тековен канал\n" +"%e = име на тековната мрежа\n" +"%m = инфо за машината\n" +"%n = твојот прекар\n" +"%t = време/датум\n" +"%v = xchat верзија\n" +"%2 = збор 2\n" +"%3 = збор 3\n" +"&2 = збор 2 на крај на линијата\n" +"&3 = збор 3 на крај на линијата>\n" +"\n" +"eg:\n" +"/cmd перо здраво\n" +"\n" +"%2 треба да биде \"перо\"\n" +"&2 треба да биде \"перо здраво\"." + +#: src/fe-gtk/menu.c:1186 +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 "" +"Копчиња за корисничката листа - Специјални кодови:\n" +"\n" +"%a = сите избрани прекари\n" +"%c = тековен канал\n" +"%e = име на тековната мрежа\n" +"%h = Име на host-от на избраниот прекар\n" +"%m = инфо за машината\n" +"%n = твојот прекар\n" +"%s = избран прекар\n" +"%t = време/дата\n" + +#: src/fe-gtk/menu.c:1196 +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 "" +"Копчиња за дијалог - Специјални кодови:\n" +"\n" +"%a = сите избрани прекари\n" +"%c = тековен канал\n" +"%e = име на тековната мрежа\n" +"%h = Име на host-от на избраниот прекар\n" +"%m = инфо за машината\n" +"%n = твојот прекар\n" +"%s = избран прекар\n" +"%t = време/дата\n" + +#: src/fe-gtk/menu.c:1206 +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 "" +"CTCP одговори - специјални кодови:\n" +"\n" +"%d = дата (целиот ctcp)\n" +"%e = име на тековната мрежа\n" +"%m = инфо за машината\n" +"%s = прекар кој испрати ctcp\n" +"%t = време/дата\n" +"%2 = збор 2\n" +"%3 = збор 3\n" +"&2 = збор 2 на крај на линијата\n" +"&3 = збор 3 на крај на линијата\n" +"\n" + +#: src/fe-gtk/menu.c:1217 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"URL Handlers - Специјални кодови:\n" +"\n" +"%s = URL стрингот\n" +"\n" +"Ставањето на ! пред командата\n" +"означува дека треба да се испрати во\n" +"школката наместо во XChat" + +#: src/fe-gtk/menu.c:1226 +msgid "XChat: User Defined Commands" +msgstr "XChat: Команди дефинирани од корисникот" + +#: src/fe-gtk/menu.c:1233 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: Скокачко мени на корисничката листа" + +#: src/fe-gtk/menu.c:1240 +msgid "Replace with" +msgstr "Замени со" + +#: src/fe-gtk/menu.c:1240 +msgid "XChat: Replace" +msgstr "XChat: Замени" + +#: src/fe-gtk/menu.c:1247 +msgid "XChat: URL Handlers" +msgstr "XChat: URL справувачи" + +#: src/fe-gtk/menu.c:1266 +msgid "XChat: Userlist buttons" +msgstr "XChat: Копчиња за корисничката листа" + +#: src/fe-gtk/menu.c:1273 +msgid "XChat: Dialog buttons" +msgstr "XChat: Копчиња за дијалог" + +#: src/fe-gtk/menu.c:1280 +msgid "XChat: CTCP Replies" +msgstr "XChat: CTCP реплики" + +#: src/fe-gtk/menu.c:1378 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1379 +msgid "Network Li_st..." +msgstr "Ли_ста на мрежата..." + +#: src/fe-gtk/menu.c:1382 +msgid "_New" +msgstr "_Нов" + +#: src/fe-gtk/menu.c:1383 +msgid "Server Tab..." +msgstr "Серверско јазиче..." + +#: src/fe-gtk/menu.c:1384 +msgid "Channel Tab..." +msgstr "Јазиче на канал..." + +#: src/fe-gtk/menu.c:1385 +msgid "Server Window..." +msgstr "Прозорец на серверот..." + +#: src/fe-gtk/menu.c:1386 +msgid "Channel Window..." +msgstr "Прозорец на каналот..." + +#: src/fe-gtk/menu.c:1391 src/fe-gtk/menu.c:1393 +msgid "_Load Plugin or Script..." +msgstr "_Вчитај додаток или скрипта..." + +#: src/fe-gtk/menu.c:1401 src/fe-gtk/plugin-tray.c:463 +msgid "_Quit" +msgstr "_Излез" + +#: src/fe-gtk/menu.c:1403 +msgid "_View" +msgstr "_Поглед" + +#: src/fe-gtk/menu.c:1405 +msgid "_Menu Bar" +msgstr "_Мени лента" + +#: src/fe-gtk/menu.c:1406 +msgid "_Topic Bar" +msgstr "_Насловна лента" + +#: src/fe-gtk/menu.c:1407 +msgid "_User List" +msgstr "_Корисничка листа" + +#: src/fe-gtk/menu.c:1408 +msgid "U_serlist Buttons" +msgstr "К_опчиња за корисничката листа" + +#: src/fe-gtk/menu.c:1409 +msgid "M_ode Buttons" +msgstr "Копчиња за р_ежим" + +#: src/fe-gtk/menu.c:1411 +msgid "_Channel Switcher" +msgstr "Менувач на _канали" + +#: src/fe-gtk/menu.c:1413 +msgid "_Tabs" +msgstr "_Јазичиња" + +#: src/fe-gtk/menu.c:1414 +msgid "T_ree" +msgstr "Д_рво" + +#: src/fe-gtk/menu.c:1416 +msgid "_Network Meters" +msgstr "Мерења на _мрежата" + +#: src/fe-gtk/menu.c:1418 +msgid "Off" +msgstr "Исклучено" + +#: src/fe-gtk/menu.c:1419 +msgid "Graph" +msgstr "Графа" + +#: src/fe-gtk/menu.c:1424 +msgid "_Server" +msgstr "_Сервер" + +#: src/fe-gtk/menu.c:1425 +msgid "_Disconnect" +msgstr "_Исклучи се" + +#: src/fe-gtk/menu.c:1426 +msgid "_Reconnect" +msgstr "_Поврзи се пак" + +#: src/fe-gtk/menu.c:1430 +msgid "Marked Away" +msgstr "Означи отсуство" + +#: src/fe-gtk/menu.c:1432 +msgid "_Usermenu" +msgstr "_Корисничко мени" + +#: src/fe-gtk/menu.c:1434 +msgid "S_ettings" +msgstr "П_оставувања" + +#: src/fe-gtk/menu.c:1435 +msgid "_Preferences" +msgstr "_Преференции" + +#: src/fe-gtk/menu.c:1437 +msgid "Advanced" +msgstr "Напредно" + +#: src/fe-gtk/menu.c:1438 +msgid "Auto Replace..." +msgstr "Автоматско заменување..." + +#: src/fe-gtk/menu.c:1439 +msgid "CTCP Replies..." +msgstr "CTCP реплики..." + +#: src/fe-gtk/menu.c:1440 +msgid "Dialog Buttons..." +msgstr "Копчиња за дијалог..." + +#: src/fe-gtk/menu.c:1441 +msgid "Keyboard Shortcuts..." +msgstr "Кратенки за тастатра..." + +#: src/fe-gtk/menu.c:1442 +msgid "Text Events..." +msgstr "Текстуални настани..." + +#: src/fe-gtk/menu.c:1443 +msgid "URL Handlers..." +msgstr "URL." + +#: src/fe-gtk/menu.c:1444 +msgid "User Commands..." +msgstr "Кориснички команди..." + +#: src/fe-gtk/menu.c:1445 +msgid "Userlist Buttons..." +msgstr "Копчиња за корисничката листа..." + +#: src/fe-gtk/menu.c:1446 +msgid "Userlist Popup..." +msgstr "Скокачка корисничка листа..." + +#: src/fe-gtk/menu.c:1449 +msgid "_Window" +msgstr "_Прозорец" + +#: src/fe-gtk/menu.c:1450 +msgid "Ban List..." +msgstr "Бан листа..." + +#: src/fe-gtk/menu.c:1451 +msgid "Channel List..." +msgstr "Листа на канали..." + +#: src/fe-gtk/menu.c:1452 +msgid "Character Chart..." +msgstr "Табела со карактери..." + +#: src/fe-gtk/menu.c:1453 +msgid "Direct Chat..." +msgstr "Директен разговор..." + +#: src/fe-gtk/menu.c:1454 +msgid "File Transfers..." +msgstr "Пренос на датотеки..." + +#: src/fe-gtk/menu.c:1455 +msgid "Ignore List..." +msgstr "Листа на игнорирани..." + +#: src/fe-gtk/menu.c:1456 +msgid "Notify List..." +msgstr "Листа за известувања" + +#: src/fe-gtk/menu.c:1457 +msgid "Plugins and Scripts..." +msgstr "Додатоци и скрипти..." + +#: src/fe-gtk/menu.c:1458 +msgid "Raw Log..." +msgstr "Лог..." + +#: src/fe-gtk/menu.c:1459 +msgid "URL Grabber..." +msgstr "Фаќач на URL..." + +#: src/fe-gtk/menu.c:1461 +msgid "Reset Marker Line" +msgstr "Ресетирај ја линијата за означување" + +#: src/fe-gtk/menu.c:1462 +msgid "C_lear Text" +msgstr "И_счисти текст" + +#: src/fe-gtk/menu.c:1464 +msgid "Search Text..." +msgstr "Барај во текстот..." + +#: src/fe-gtk/menu.c:1465 +msgid "Save Text..." +msgstr "Зачувај текст..." + +#: src/fe-gtk/menu.c:1467 src/fe-gtk/menu.c:1941 +msgid "_Help" +msgstr "_Помош" + +#: src/fe-gtk/menu.c:1468 +msgid "_Contents" +msgstr "_Содржина" + +#: src/fe-gtk/menu.c:1469 +msgid "_About" +msgstr "_За" + +#: src/fe-gtk/menu.c:1954 +msgid "_Attach Window" +msgstr "_Прикачи прозорец" + +#: src/fe-gtk/menu.c:1955 +msgid "_Close Window" +msgstr "_Затвори го прозорецот" + +#: src/fe-gtk/notifygui.c:137 +msgid "User" +msgstr "Корисник" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "Последен пат виден" + +#: src/fe-gtk/notifygui.c:181 +msgid "Offline" +msgstr "Offline" + +#: src/fe-gtk/notifygui.c:201 src/fe-gtk/setup.c:229 +msgid "Never" +msgstr "Никогаш" + +#: src/fe-gtk/notifygui.c:204 src/fe-gtk/notifygui.c:229 +#, c-format +msgid "%d minutes ago" +msgstr "пред %d минути" + +#: src/fe-gtk/notifygui.c:219 +msgid "Online" +msgstr "Присутен" + +#: src/fe-gtk/notifygui.c:348 +msgid "Enter nickname to add:" +msgstr "Внеси прекар за додавање:" + +#: src/fe-gtk/notifygui.c:376 +msgid "Notify on these networks:" +msgstr "Извести на овие мрежи:" + +#: src/fe-gtk/notifygui.c:387 +msgid "Comma separated list of networks is accepted." +msgstr "Се прифаќа листа на мрежи разделена со запирки." + +#: src/fe-gtk/notifygui.c:407 +msgid "XChat: Notify List" +msgstr "XChat: Листа за известување" + +#: src/fe-gtk/notifygui.c:424 +msgid "Remove" +msgstr "Отстрани" + +#: src/fe-gtk/notifygui.c:428 +msgid "Open Dialog" +msgstr "Отвори дијалог" + +#: src/fe-gtk/plugin-tray.c:163 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" +"Не можам да најдам „notify-send“ за да отворам известувања во балончиња.\n" +"Ве молам, инсталирајте linotify." + +#: src/fe-gtk/plugin-tray.c:214 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat: Поврзан сум со %u мрежи и %u канали" + +#: src/fe-gtk/plugin-tray.c:451 +msgid "_Restore" +msgstr "_Врати" + +#: src/fe-gtk/plugin-tray.c:453 +msgid "_Hide" +msgstr "_Скриј" + +#: src/fe-gtk/plugin-tray.c:456 +msgid "_Blink on" +msgstr "_Трепни на" + +#: src/fe-gtk/plugin-tray.c:457 src/fe-gtk/setup.c:467 +msgid "Channel Message" +msgstr "Порака на каналот" + +#: src/fe-gtk/plugin-tray.c:458 src/fe-gtk/setup.c:468 +msgid "Private Message" +msgstr "Приватна порака" + +#: src/fe-gtk/plugin-tray.c:459 src/fe-gtk/setup.c:469 +msgid "Highlighted Message" +msgstr "Осветлена порака" + +#: src/fe-gtk/plugin-tray.c:507 src/fe-gtk/plugin-tray.c:515 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "XChat: Осветлена порака од: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:510 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat: %u осветлени пораки, најновата од: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:533 src/fe-gtk/plugin-tray.c:540 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat: Нова јавна порака од: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:536 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat: %u нови јавни пораки." + +#: src/fe-gtk/plugin-tray.c:562 src/fe-gtk/plugin-tray.c:569 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat: Приватни пораки од: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:565 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat: %u приватни пораки, најновата од: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:615 src/fe-gtk/plugin-tray.c:623 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: Понуда за датотека од: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:618 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "XChat: %u понуди за датотеки, најновата од: %s (%s)" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Опис" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Избери додаток или скрипта за вчитување" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: Додатоци и скрипти" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Вчитај..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "_Извади" + +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "_Затвори" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:438 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Сними како..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: Лог (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Исчисти лог" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Прозорецот кој го отвори ова Барање не постои повеќе." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "Барањето го достигна крајот, не се пронајде ништо." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Барај" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "_Разликувај мали-големи букви" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "Барај _наназад" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "_Најди" + +#: src/fe-gtk/servlistgui.c:170 src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "Нова мрежа" + +#: src/fe-gtk/servlistgui.c:554 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Сигурно сакаш да ја отстраниш мрежата \"%s\" и сите нејзини сервери?" + +#: src/fe-gtk/servlistgui.c:678 +msgid "User name and Real name cannot be left blank." +msgstr "Корисничкото име и вистинското име не може да се празни." + +#: src/fe-gtk/servlistgui.c:978 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: Уреди %s" + +#: src/fe-gtk/servlistgui.c:997 +#, c-format +msgid "Servers for %s" +msgstr "Сервери за %s" + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Connect to selected server only" +msgstr "Поврзи се само на избраниот сервер" + +#: src/fe-gtk/servlistgui.c:1009 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Не кружи низ сите сервери ако врската се прекине." + +#: src/fe-gtk/servlistgui.c:1011 +msgid "Your Details" +msgstr "Вашите детали" + +#: src/fe-gtk/servlistgui.c:1017 +msgid "Use global user information" +msgstr "Корисни глобални кориснички информации" + +#: src/fe-gtk/servlistgui.c:1020 src/fe-gtk/servlistgui.c:1252 +msgid "_Nick name:" +msgstr "_Прекар:" + +#: src/fe-gtk/servlistgui.c:1024 src/fe-gtk/servlistgui.c:1259 +msgid "Second choice:" +msgstr "Втор избор:" + +#: src/fe-gtk/servlistgui.c:1028 src/fe-gtk/servlistgui.c:1273 +msgid "_User name:" +msgstr "_Корисничко име:" + +#: src/fe-gtk/servlistgui.c:1032 src/fe-gtk/servlistgui.c:1280 +msgid "Rea_l name:" +msgstr "Вистинск_о име:" + +#: src/fe-gtk/servlistgui.c:1035 +msgid "Connecting" +msgstr "Се поврзувам" + +#: src/fe-gtk/servlistgui.c:1041 +msgid "Auto connect to this network at startup" +msgstr "Автоматско врзување на оваа мрежа при подигнување на програмата" + +#: src/fe-gtk/servlistgui.c:1043 +msgid "Use a proxy server" +msgstr "Користи прокси сервер" + +#: src/fe-gtk/servlistgui.c:1045 +msgid "Use SSL for all the servers on this network" +msgstr "Користи SSL за сите сервери на оваа мрежа" + +#: src/fe-gtk/servlistgui.c:1050 +msgid "Accept invalid SSL certificate" +msgstr "Прифати невалиден SSL сертификат" + +#: src/fe-gtk/servlistgui.c:1056 +msgid "C_hannels to join:" +msgstr "К_анали за приклучување:" + +#: src/fe-gtk/servlistgui.c:1058 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Канали на кои што сакаш да се приклучиш, одвоени со запирки, но не и со празни места!" + +#: src/fe-gtk/servlistgui.c:1061 +msgid "Connect command:" +msgstr "Команда за поврзување:" + +#: src/fe-gtk/servlistgui.c:1063 +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 "Додатни команди за извршување по поврзување. Ако ви треба повеќе од една, поставете го ова на LOAD -e <filename>, каде <filename> е текстуална датотека полна со команди за извршување." + +#: src/fe-gtk/servlistgui.c:1066 +msgid "Nickserv password:" +msgstr "Лозинка за серверот:" + +#: src/fe-gtk/servlistgui.c:1068 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "Ако вашиот прекар бара лозинка, внесете ја овде. Не сите IRC мрежи го поддржуваат ова." + +#: src/fe-gtk/servlistgui.c:1072 +msgid "Server password:" +msgstr "Лозинка за серверот:" + +#: src/fe-gtk/servlistgui.c:1074 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Лозинка за серверот. Ако се двоумите, оставете празно." + +#: src/fe-gtk/servlistgui.c:1077 +msgid "Character set:" +msgstr "Множество на знаци:" + +#: src/fe-gtk/servlistgui.c:1147 +msgid "_Edit" +msgstr "_Уреди" + +#: src/fe-gtk/servlistgui.c:1230 +msgid "XChat: Network List" +msgstr "XChat: Листа на мрежи" + +#: src/fe-gtk/servlistgui.c:1242 +msgid "User Information" +msgstr "Информации за корисникот" + +#: src/fe-gtk/servlistgui.c:1266 +msgid "Third choice:" +msgstr "Трет избор:" + +#: src/fe-gtk/servlistgui.c:1326 +msgid "Networks" +msgstr "Мрежи" + +#: src/fe-gtk/servlistgui.c:1367 +msgid "Skip network list on startup" +msgstr "Прескокни ја листата на мрежи при подигнување на програмот" + +#: src/fe-gtk/servlistgui.c:1399 +msgid "_Edit..." +msgstr "_Уреди..." + +#: src/fe-gtk/servlistgui.c:1406 +msgid "_Sort" +msgstr "_Подреди" + +#: src/fe-gtk/servlistgui.c:1407 +msgid "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN keys to move a row." +msgstr "Ја подредува по азбучен редослед листата со мрежи. Користете SHIFT-UP и SHIFT-DOWN за да поместите ред." + +#: src/fe-gtk/servlistgui.c:1432 +msgid "C_onnect" +msgstr "В_рзи се" + +#: src/fe-gtk/setup.c:102 +msgid "Text Box Appearance" +msgstr "Изглед на полето за текст" + +#: src/fe-gtk/setup.c:103 +msgid "Font:" +msgstr "Фонт:" + +#: src/fe-gtk/setup.c:104 +msgid "Background image:" +msgstr "Позадинска слика:" + +#: src/fe-gtk/setup.c:105 +msgid "Scrollback lines:" +msgstr "Лизгачки линии:" + +#: src/fe-gtk/setup.c:106 +msgid "Colored nick names" +msgstr "Обоени прекари" + +#: src/fe-gtk/setup.c:107 +msgid "Give each person on IRC a different color" +msgstr "Давај му на секоја личност на IRC различна боја" + +#: src/fe-gtk/setup.c:108 +msgid "Indent nick names" +msgstr "Порамнети прекари" + +#: src/fe-gtk/setup.c:109 +msgid "Make nick names right-justified" +msgstr "Направи ги прекарите подредени кон десно" + +#: src/fe-gtk/setup.c:110 +msgid "Transparent background" +msgstr "Провидна позадина" + +#: src/fe-gtk/setup.c:111 +msgid "Show marker line" +msgstr "Покажи линија за означување" + +#: src/fe-gtk/setup.c:112 +msgid "Insert a red line after the last read text." +msgstr "Вметни црвена линија после последниот прочитан текст." + +#: src/fe-gtk/setup.c:113 +msgid "Transparency Settings" +msgstr "Поставување за провидноста" + +#: src/fe-gtk/setup.c:114 +msgid "Red:" +msgstr "Црвена:" + +#: src/fe-gtk/setup.c:115 +msgid "Green:" +msgstr "Зелена:" + +#: src/fe-gtk/setup.c:116 +msgid "Blue:" +msgstr "Сина:" + +#: src/fe-gtk/setup.c:118 src/fe-gtk/setup.c:379 +msgid "Time Stamps" +msgstr "Ознаки за времето" + +#: src/fe-gtk/setup.c:119 +msgid "Enable time stamps" +msgstr "Овозможи ознаки за времето" + +#: src/fe-gtk/setup.c:120 +msgid "Time stamp format:" +msgstr "Временски формат:" + +#: src/fe-gtk/setup.c:121 src/fe-gtk/setup.c:382 +msgid "See strftime manpage for details." +msgstr "Погледни ги strftime man страниците за повеќе детали." + +#: src/fe-gtk/setup.c:128 src/fe-gtk/setup.c:168 +msgid "A-Z" +msgstr "A-Ш" + +#: src/fe-gtk/setup.c:129 +msgid "Last-spoke order" +msgstr "Ред по последно зборување" + +#: src/fe-gtk/setup.c:135 src/fe-gtk/setup.c:1657 +msgid "Input box" +msgstr "Поле за внесување" + +#: src/fe-gtk/setup.c:136 src/fe-gtk/setup.c:200 +msgid "Use the Text box font and colors" +msgstr "Користи ги фонтовите и боите од кутијата за текст" + +#: src/fe-gtk/setup.c:138 +msgid "Spell checking" +msgstr "Проверка на правопис" + +#: src/fe-gtk/setup.c:141 +msgid "Nick Completion" +msgstr "Довршување на прекарите" + +#: src/fe-gtk/setup.c:142 +msgid "Automatic nick completion (without TAB key)" +msgstr "Автоматско довршување на прекарот (без копчето „TAB“)" + +#: src/fe-gtk/setup.c:144 +msgid "Nick completion suffix:" +msgstr "Суфикс на комплетирање на прекарот:" + +#: src/fe-gtk/setup.c:145 +msgid "Nick completion sorted:" +msgstr "Суфикс на комплетирање на прекарот:" + +#: src/fe-gtk/setup.c:148 +msgid "Input Box Codes" +msgstr "Поле за внесување на кодови" + +#: src/fe-gtk/setup.c:149 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Интерпретирај %nnn како ASCII вредност" + +#: src/fe-gtk/setup.c:150 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Интерпретирај %C, %B како боја, задебелено итн" + +#: src/fe-gtk/setup.c:167 +msgid "A-Z, Ops first" +msgstr "А-Ш, прво оператори" + +#: src/fe-gtk/setup.c:169 +msgid "Z-A, Ops last" +msgstr "Ш-А, Операторите последни" + +#: src/fe-gtk/setup.c:170 +msgid "Z-A" +msgstr "Ш-A" + +#: src/fe-gtk/setup.c:171 +msgid "Unsorted" +msgstr "Неподредени" + +#: src/fe-gtk/setup.c:177 src/fe-gtk/setup.c:189 +msgid "Left (Upper)" +msgstr "Лево (горе)" + +#: src/fe-gtk/setup.c:178 src/fe-gtk/setup.c:190 +msgid "Left (Lower)" +msgstr "Лево (долу)" + +#: src/fe-gtk/setup.c:179 src/fe-gtk/setup.c:191 +msgid "Right (Upper)" +msgstr "Десно (горе)" + +#: src/fe-gtk/setup.c:180 src/fe-gtk/setup.c:192 +msgid "Right (Lower)" +msgstr "Десно (долу)" + +#: src/fe-gtk/setup.c:181 +msgid "Top" +msgstr "Врв" + +#: src/fe-gtk/setup.c:182 +msgid "Bottom" +msgstr "Дно" + +#: src/fe-gtk/setup.c:183 +msgid "Hidden" +msgstr "Скриен" + +#: src/fe-gtk/setup.c:198 +msgid "User List" +msgstr "Корисничка листа" + +#: src/fe-gtk/setup.c:199 +msgid "Show hostnames in user list" +msgstr "Покажи ги имињата на хостовите во корисничката листа" + +#: src/fe-gtk/setup.c:202 +msgid "User list sorted by:" +msgstr "Корисничката листа подредена по:" + +#: src/fe-gtk/setup.c:203 +msgid "Show user list at:" +msgstr "Покажи корисничка листа за:" + +#: src/fe-gtk/setup.c:205 +msgid "Away tracking" +msgstr "Следење на отсуство" + +#: src/fe-gtk/setup.c:206 +msgid "Track the Away status of users and mark them in a different color" +msgstr "Следи го статусот за отсуство на сите корисници и означи ги нив со различна боја" + +#: src/fe-gtk/setup.c:207 +msgid "On channels smaller than:" +msgstr "На канали помали од:" + +#: src/fe-gtk/setup.c:209 +msgid "Action Upon Double Click" +msgstr "Дејство после двојното кликнување" + +#: src/fe-gtk/setup.c:210 +msgid "Execute command:" +msgstr "Изврши команда:" + +#: src/fe-gtk/setup.c:221 +msgid "Windows" +msgstr "Прозорци" + +#: src/fe-gtk/setup.c:222 +msgid "Tabs" +msgstr "Јазичиња" + +#: src/fe-gtk/setup.c:230 +msgid "Always" +msgstr "Секогаш" + +#: src/fe-gtk/setup.c:231 +msgid "Only requested tabs" +msgstr "Само бараните јазичиња" + +#: src/fe-gtk/setup.c:238 +msgid "Channel Switcher" +msgstr "Менувач на канали" + +#: src/fe-gtk/setup.c:239 +msgid "Open an extra tab for server messages" +msgstr "Отвори додатно јазиче за серверските пораки" + +#: src/fe-gtk/setup.c:240 +msgid "Open an extra tab for server notices" +msgstr "Отвори додатно јазиче за серверските забелешки" + +#: src/fe-gtk/setup.c:241 +msgid "Open a new tab when you receive a private message" +msgstr "Отвори ново јазиче кога примам приватна порака" + +#: src/fe-gtk/setup.c:242 +msgid "Sort tabs in alphabetical order" +msgstr "Подреди ги јазичињата по азбучен редослед" + +#: src/fe-gtk/setup.c:243 +msgid "Small tabs" +msgstr "Мали јазичиња" + +#: src/fe-gtk/setup.c:245 +msgid "Focus new tabs:" +msgstr "Фокус на новите јазичиња:" + +#: src/fe-gtk/setup.c:247 +msgid "Show channel switcher at:" +msgstr "Покажи менувач на канали за:" + +#: src/fe-gtk/setup.c:248 +msgid "Shorten tab labels to:" +msgstr "Скрати ги ознаките на јазичето на:" + +#: src/fe-gtk/setup.c:248 +msgid "letters." +msgstr "букви." + +#: src/fe-gtk/setup.c:250 +msgid "Tabs or Windows" +msgstr "Јазичиња или прозорци" + +#: src/fe-gtk/setup.c:251 +msgid "Open channels in:" +msgstr "Отворај ги канали во:" + +#: src/fe-gtk/setup.c:252 +msgid "Open dialogs in:" +msgstr "Отворај ги дијалозите во:" + +#: src/fe-gtk/setup.c:253 +msgid "Open utilities in:" +msgstr "Отворај ги алатките во:" + +#: src/fe-gtk/setup.c:253 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Да отворам DCC, игнорирани, известувања итн, во јазичиња или прозорци?" + +#: src/fe-gtk/setup.c:260 +msgid "No" +msgstr "Не" + +#: src/fe-gtk/setup.c:261 +msgid "Yes" +msgstr "Да" + +#: src/fe-gtk/setup.c:262 +msgid "Browse for save folder every time" +msgstr "Прелистувај за папка за зачувување секој пат" + +#: src/fe-gtk/setup.c:268 +msgid "Files and Directories" +msgstr "Датотеки и директориуми" + +#: src/fe-gtk/setup.c:269 +msgid "Auto accept file offers:" +msgstr "Автоматско прифаќање на датотеки:" + +#: src/fe-gtk/setup.c:270 +msgid "Download files to:" +msgstr "Преземај датотеки во:" + +#: src/fe-gtk/setup.c:271 +msgid "Move completed files to:" +msgstr "Поместувај ги завршените датотеки во:" + +#: src/fe-gtk/setup.c:272 +msgid "Save nick name in filenames" +msgstr "Зачувај го прекарот во имиња на датотеки" + +#: src/fe-gtk/setup.c:274 +msgid "Network Settings" +msgstr "Поставувања за мрежата" + +#: src/fe-gtk/setup.c:275 +msgid "Get my address from the IRC server" +msgstr "Земи ја мојата адреса од IRC серверот" + +#: src/fe-gtk/setup.c:276 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "Го прашува IRC серверот за вашата вистинска адреса. Користете го ова ако имате 192.168.*.* адреса!" + +#: src/fe-gtk/setup.c:277 +msgid "DCC IP address:" +msgstr "DCC IP адреса:" + +#: src/fe-gtk/setup.c:278 +msgid "Claim you are at this address when offering files." +msgstr "Тврди дека си на оваа адреса кога нудиш датотеки." + +#: src/fe-gtk/setup.c:279 +msgid "First DCC send port:" +msgstr "Прва DCC порта за испраќање:" + +#: src/fe-gtk/setup.c:280 +msgid "Last DCC send port:" +msgstr "Последна DCC порта за испраќање:" + +#: src/fe-gtk/setup.c:281 +msgid "!Leave ports at zero for full range." +msgstr "!Оставете ги портите на нула за целосен опсег." + +#: src/fe-gtk/setup.c:283 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Максимални брзини на пренос на датотеки (битови во секунда)" + +#: src/fe-gtk/setup.c:284 +msgid "One upload:" +msgstr "Едно качување:" + +#: src/fe-gtk/setup.c:285 src/fe-gtk/setup.c:287 +msgid "Maximum speed for one transfer" +msgstr "Макс. брзина за еден трансфер" + +#: src/fe-gtk/setup.c:286 +msgid "One download:" +msgstr "Едно преземање:" + +#: src/fe-gtk/setup.c:288 +msgid "All uploads combined:" +msgstr "Сите качувања заедно:" + +#: src/fe-gtk/setup.c:289 src/fe-gtk/setup.c:291 +msgid "Maximum speed for all files" +msgstr "Макс. брзина за целиот сообраќај" + +#: src/fe-gtk/setup.c:290 +msgid "All downloads combined:" +msgstr "Сите преземања заедно:" + +#: src/fe-gtk/setup.c:318 src/fe-gtk/setup.c:1663 +msgid "Alerts" +msgstr "Известувања" + +#: src/fe-gtk/setup.c:322 +msgid "Show tray balloons on:" +msgstr "Прикажи балончиња во местото за известување на:" + +#: src/fe-gtk/setup.c:324 +msgid "Blink tray icon on:" +msgstr "Трепкај ја иконата при:" + +#: src/fe-gtk/setup.c:325 +msgid "Blink task bar on:" +msgstr "Трепкај на лентата со задачи на:" + +#: src/fe-gtk/setup.c:326 +msgid "Make a beep sound on:" +msgstr "Бипкај на:" + +#: src/fe-gtk/setup.c:328 +msgid "Enable system tray icon" +msgstr "Овозможи икона во местото за известување" + +#: src/fe-gtk/setup.c:330 +msgid "Highlighted Messages" +msgstr "Осветлени пораки" + +#: src/fe-gtk/setup.c:331 +msgid "Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Осветлените пораки се оние каде вашето име е спомнато, но исто така:" + +#: src/fe-gtk/setup.c:333 +msgid "Extra words to highlight:" +msgstr "Додатни зборови за осветлување:" + +#: src/fe-gtk/setup.c:334 +msgid "Nick names not to highlight:" +msgstr "Прекари кои нема да се осветлуваат:" + +#: src/fe-gtk/setup.c:335 +msgid "Nick names to always highlight:" +msgstr "Прекарите кои секогаш ќе се осветлуваат:" + +#: src/fe-gtk/setup.c:336 +msgid "Separate multiple words with commas." +msgstr "Раздели повеќе зборови со запирки." + +#: src/fe-gtk/setup.c:342 +msgid "Default Messages" +msgstr "Стандардни пораки" + +#: src/fe-gtk/setup.c:343 +msgid "Quit:" +msgstr "Излез:" + +#: src/fe-gtk/setup.c:344 +msgid "Leave channel:" +msgstr "Напушти канал:" + +#: src/fe-gtk/setup.c:345 +msgid "Away:" +msgstr "Отсутен:" + +#: src/fe-gtk/setup.c:347 +msgid "Away" +msgstr "Отсуство" + +#: src/fe-gtk/setup.c:348 +msgid "Announce away messages" +msgstr "Објавувај ги пораките за отсуство" + +#: src/fe-gtk/setup.c:349 +msgid "Announce your away messages to all channels" +msgstr "Објавувај ги пораките за отсуство на сите канали" + +#: src/fe-gtk/setup.c:350 +msgid "Show away once" +msgstr "Покажи отсуство еднаш" + +#: src/fe-gtk/setup.c:350 +msgid "Show identical away messages only once" +msgstr "Покажувај идентични пораки за отсуство само по еднаш" + +#: src/fe-gtk/setup.c:351 +msgid "Automatically unmark away" +msgstr "Автоматски одбележи отсуство" + +#: src/fe-gtk/setup.c:351 +msgid "Unmark yourself as away before sending messages" +msgstr "Одбележи се себеси како отсутен пред да праќаш пораки" + +#: src/fe-gtk/setup.c:358 +msgid "Advanced Settings" +msgstr "Напредни поставувања" + +#: src/fe-gtk/setup.c:359 +msgid "Auto reconnect delay:" +msgstr "Доцнење на автоматското поврзување:" + +#: src/fe-gtk/setup.c:360 +msgid "Display MODEs in raw form" +msgstr "Режим за прикажување во сурова форма" + +#: src/fe-gtk/setup.c:361 +msgid "Whois on notify" +msgstr "Whois при известување" + +#: src/fe-gtk/setup.c:361 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Испраќа /WHOIS кога доаѓа корисник што ти е во листата за известување" + +#: src/fe-gtk/setup.c:362 +msgid "Hide join and part messages" +msgstr "Сокриј ги пораките за приклучување и напуштање" + +#: src/fe-gtk/setup.c:362 +msgid "Hide channel join/part messages by default" +msgstr "Стандардно криј ги пораките за приклучување/напуштање на канал" + +#: src/fe-gtk/setup.c:363 +msgid "Auto Open DCC Windows" +msgstr "Автоматско отворање на DCC прозорците" + +#: src/fe-gtk/setup.c:364 +msgid "Send window" +msgstr "Прозорец за испраќање" + +#: src/fe-gtk/setup.c:365 +msgid "Receive window" +msgstr "Прозорец за примање" + +#: src/fe-gtk/setup.c:366 +msgid "Chat window" +msgstr "Прозорец на разговорот" + +#: src/fe-gtk/setup.c:374 src/fe-gtk/setup.c:1665 +msgid "Logging" +msgstr "Снимање" + +#: src/fe-gtk/setup.c:375 +msgid "Enable logging of conversations" +msgstr "Овозможи снимање на разговори" + +#: src/fe-gtk/setup.c:376 +msgid "Log filename:" +msgstr "Име на датотеката со лог:" + +#: src/fe-gtk/setup.c:377 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Сервер %c=Канал %n=Мрежа." + +#: src/fe-gtk/setup.c:380 +msgid "Insert timestamps in logs" +msgstr "Внесувај временски формат во записите" + +#: src/fe-gtk/setup.c:381 +msgid "Log timestamp format:" +msgstr "Временски формат за запис:" + +#: src/fe-gtk/setup.c:389 +msgid "(Disabled)" +msgstr "(Оневозможено)" + +#: src/fe-gtk/setup.c:390 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:391 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:392 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:393 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:395 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: src/fe-gtk/setup.c:402 +msgid "All Connections" +msgstr "Сите врски" + +#: src/fe-gtk/setup.c:403 +msgid "IRC Server Only" +msgstr "Само IRC сервери" + +#: src/fe-gtk/setup.c:404 +msgid "DCC Get Only" +msgstr "DCC Get Only" + +#: src/fe-gtk/setup.c:410 +msgid "Your Address" +msgstr "Вашата адреса" + +#: src/fe-gtk/setup.c:411 +msgid "Bind to:" +msgstr "Поврзи се со:" + +#: src/fe-gtk/setup.c:412 +msgid "Only useful for computers with multiple addresses." +msgstr "Корисно само за компјутери со повеќе адреси." + +#: src/fe-gtk/setup.c:414 +msgid "Proxy Server" +msgstr "Прокси сервер" + +#: src/fe-gtk/setup.c:415 +msgid "Hostname:" +msgstr "Име на host:" + +#: src/fe-gtk/setup.c:416 +msgid "Port:" +msgstr "Порта:" + +#: src/fe-gtk/setup.c:417 +msgid "Type:" +msgstr "Тип:" + +#: src/fe-gtk/setup.c:418 +msgid "Use proxy for:" +msgstr "Користи прокси за:" + +#: src/fe-gtk/setup.c:420 +msgid "Proxy Authentication" +msgstr "Автентикација на прокси" + +#: src/fe-gtk/setup.c:422 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Користи автентикација (MS Proxy, HTTP или само Socks5)" + +#: src/fe-gtk/setup.c:424 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Користи автентикација (HTTP или само Socks5)" + +#: src/fe-gtk/setup.c:426 +msgid "Username:" +msgstr "Корисничко име:" + +#: src/fe-gtk/setup.c:427 +msgid "Password:" +msgstr "Лозинка:" + +#: src/fe-gtk/setup.c:838 +msgid "Select an Image File" +msgstr "Избери слика датотека" + +#: src/fe-gtk/setup.c:862 +msgid "Select Download Folder" +msgstr "Одберете папка за преземања" + +#: src/fe-gtk/setup.c:871 +msgid "Select font" +msgstr "Избери фонт" + +#: src/fe-gtk/setup.c:968 +msgid "Browse..." +msgstr "Прелистувај..." + +#: src/fe-gtk/setup.c:1108 +msgid "Mark identified users with:" +msgstr "Означи ги идентифицираните корисници со:" + +#: src/fe-gtk/setup.c:1110 +msgid "Mark not-identified users with:" +msgstr "Означи ги неидентифицираните корисници со:" + +#: src/fe-gtk/setup.c:1117 +msgid "Open Data Folder" +msgstr "Отвори папка со податоци" + +#: src/fe-gtk/setup.c:1171 +msgid "Select color" +msgstr "Избери боја" + +#: src/fe-gtk/setup.c:1251 +msgid "Text Colors" +msgstr "Бои на текст" + +#: src/fe-gtk/setup.c:1253 +msgid "mIRC colors:" +msgstr "mIRC боја:" + +#: src/fe-gtk/setup.c:1261 +msgid "Local colors:" +msgstr "Локални бои:" + +#: src/fe-gtk/setup.c:1269 src/fe-gtk/setup.c:1274 +msgid "Foreground:" +msgstr "Напред:" + +#: src/fe-gtk/setup.c:1270 src/fe-gtk/setup.c:1275 +msgid "Background:" +msgstr "Позадина:" + +#: src/fe-gtk/setup.c:1272 +msgid "Marking Text" +msgstr "Означување на текст" + +#: src/fe-gtk/setup.c:1277 +msgid "Interface Colors" +msgstr "Бои на интерфејсот" + +#: src/fe-gtk/setup.c:1279 +msgid "New data:" +msgstr "Нови податоци:" + +#: src/fe-gtk/setup.c:1280 +msgid "Marker line:" +msgstr "Линија за означување:" + +#: src/fe-gtk/setup.c:1281 +msgid "New message:" +msgstr "Нова порака:" + +#: src/fe-gtk/setup.c:1282 +msgid "Away user:" +msgstr "Отсутен корисник:" + +#: src/fe-gtk/setup.c:1283 +msgid "Highlight:" +msgstr "Подвлечени:" + +#: src/fe-gtk/setup.c:1379 src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "Настан" + +#: src/fe-gtk/setup.c:1385 +msgid "Sound file" +msgstr "Звучна датотека" + +#: src/fe-gtk/setup.c:1420 +msgid "Select a sound file" +msgstr "Одберете датотека со звук" + +#: src/fe-gtk/setup.c:1492 +msgid "Sound playing method:" +msgstr "Метод на пуштање на звуци:" + +#: src/fe-gtk/setup.c:1500 +msgid "External sound playing _program:" +msgstr "Надворешна _програма за пуштање на звуци:" + +#: src/fe-gtk/setup.c:1518 +msgid "_External program" +msgstr "_Надворешна програма" + +#: src/fe-gtk/setup.c:1528 +msgid "_Automatic" +msgstr "_Автоматски" + +#: src/fe-gtk/setup.c:1541 +msgid "Sound files _directory:" +msgstr "_Директориум со звучни датотеки:" + +#: src/fe-gtk/setup.c:1580 +msgid "Sound file:" +msgstr "Звучна датотека:" + +#: src/fe-gtk/setup.c:1595 +msgid "_Browse..." +msgstr "_Прелистај..." + +#: src/fe-gtk/setup.c:1606 +msgid "_Play" +msgstr "_Пушти" + +#: src/fe-gtk/setup.c:1655 +msgid "Interface" +msgstr "Интерфејс" + +#: src/fe-gtk/setup.c:1656 +msgid "Text box" +msgstr "Текст поле" + +#: src/fe-gtk/setup.c:1658 +msgid "User list" +msgstr "Корисничка листа" + +#: src/fe-gtk/setup.c:1659 +msgid "Channel switcher" +msgstr "Менувач на канали" + +#: src/fe-gtk/setup.c:1660 +msgid "Colors" +msgstr "Бои" + +#: src/fe-gtk/setup.c:1662 +msgid "Chatting" +msgstr "Разговор" + +#: src/fe-gtk/setup.c:1664 +msgid "General" +msgstr "Општо" + +#: src/fe-gtk/setup.c:1666 +msgid "Sound" +msgstr "Звук" + +#: src/fe-gtk/setup.c:1670 +msgid "Network setup" +msgstr "Подесувања на мрежата" + +#: src/fe-gtk/setup.c:1671 +msgid "File transfers" +msgstr "Трансфер на датотеки" + +#: src/fe-gtk/setup.c:1779 +msgid "Categories" +msgstr "Категории" + +#: src/fe-gtk/setup.c:1960 +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 "" +"Не можете да го поставите дрвото на дното или најгоре!\n" +"Ве молам, прво направете промена во распоредот на <b>Јазичињата</b> во менито <b>Поглед</b>." + +#: src/fe-gtk/setup.c:1970 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Поради направените промени мораш да го рестартираш xchat." + +#: src/fe-gtk/setup.c:1978 +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 "" +"*ПРЕДУПРЕДУВАЊЕ*\n" +"Автоматско прифаќање на DCC во твојот домашен директориум\n" +"може да биде опасно. Пр:\n" +"Некој може да ти испрати „.bash_profile“" + +#: src/fe-gtk/setup.c:2011 +msgid "XChat: Preferences" +msgstr "XChat: Преференци" + +#: src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "Грешка" + +#: src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Овој сигнал помина само %d аргументи, $%d е невалиден" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "Печати текстуална датотека" + +#: src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "Уреди настани" + +#: src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$ Број" + +#: src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "Вчитај од..." + +#: src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "Тестирај се" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: URL фаќач" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Исчисти листа" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Копирај го избраното URL" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Копирај" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Сними ја листата во датотека" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d оператори, %d вкупно" diff --git a/po/ms.po b/po/ms.po new file mode 100644 index 00000000..04203e90 --- /dev/null +++ b/po/ms.po @@ -0,0 +1,4926 @@ +# Duit PPRT siapa yang kebas???? +# Copyright (C) 2001 Free Software Foundation, Inc. +# Hasbullah Bin Pit <sebol@ikhlas.com>, 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.0.2pre1\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2004-01-01 23:38+1100\n" +"PO-Revision-Date: 2003-04-20 19:51+0800\n" +"Last-Translator: Hasbullah Bin Pit <sebol@ikhlas.com>\n" +"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/common/cfgfiles.c:340 +msgid "Cannot create ~/.xchat2" +msgstr "Tak dapat mencipta ~/.xchat2" + +#: src/common/cfgfiles.c:634 +msgid "I'm busy" +msgstr "Saya sibuk" + +#: src/common/cfgfiles.c:635 +#, fuzzy +msgid "Leaving" +msgstr "Latvia" + +#: src/common/cfgfiles.c:679 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Melaksanakan IRC sebagai root adalah bodoh! Anda sepatutnya\n" +" mencipta satu akaun pengguna dan menggunakannya untuk logmasuk\n" + +#: src/common/dcc.c:56 +msgid "Waiting" +msgstr "Menunggu" + +#: src/common/dcc.c:57 +msgid "Active" +msgstr "Aktif" + +#: src/common/dcc.c:58 +msgid "Failed" +msgstr "Gagal" + +#: src/common/dcc.c:59 +msgid "Done" +msgstr "Selesai" + +#: src/common/dcc.c:60 +msgid "Connect" +msgstr "Sambung" + +#: src/common/dcc.c:61 +msgid "Aborted" +msgstr "Dibatalkan" + +#: src/common/dcc.c:1269 +#, c-format +msgid "Cannot access %s\n" +msgstr "Tak dapat mengakses %s\n" + +#: src/common/dcc.c:1801 +msgid "No active DCCs\n" +msgstr "Tiada DCC aktif\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "YA" + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "TIDAK" + +#: src/common/ignore.c:373 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "" + +#: src/common/ignore.c:398 +#, c-format +msgid "You are being MSG flooded from %s, setting autodialog OFF.\n" +msgstr "" + +#: src/common/notify.c:400 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s dalamtalian\n" + +#: src/common/notify.c:402 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s luartalian\n" + +#: src/common/outbound.c:70 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Tiada saluran disertai. Cuba /join #<saluran>\n" + +#: src/common/outbound.c:76 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Tidak disambung. Cuba /server <hos [<liang>]>\n" + +#: src/common/outbound.c:1356 +msgid "I need /bin/sh to run!\n" +msgstr "Saya perlukan /bin/sh untuk dilaksanakan!\n" + +#: src/common/outbound.c:1588 +msgid "" +"\n" +"Commands Available:\n" +"\n" +" " +msgstr "" +"\n" +"Arahan yang Ada:\n" +"\n" +" " + +#: src/common/outbound.c:1623 +msgid "" +"\n" +"\n" +"Type /HELP <command> for more information, or /HELP -l\n" +"\n" +msgstr "" +"\n" +"\n" +"Taip /HELP <arahan> untuk lebih maklumat, atau /HELP -l\n" +"\n" + +#: src/common/outbound.c:1624 +msgid "" +"User defined commands:\n" +"\n" +" " +msgstr "" +"Arahan ditakrif pengguna:\n" +"\n" +" " + +#: src/common/outbound.c:1716 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Hujah tidak diketahui '%s' diabaikan." + +#: src/common/outbound.c:2426 +msgid "No such plugin found.\n" +msgstr "Tiada plugin dijumpai.\n" + +#: src/common/outbound.c:2431 src/fe-gtk/plugingui.c:182 +msgid "That plugin is refusing to unload.\n" +msgstr "Plugin ini enggan dinyahmuatkan.\n" + +#: src/common/outbound.c:2576 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nama> <aksi>, tambah butang dibawah senarai-pengguna" + +#: src/common/outbound.c:2578 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <arahan>, hantar arahan ke semua saluran yang anda sertai" + +#: src/common/outbound.c:2580 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <arahan>, hantar arahan ke semua pelkayan yang anda masuk" + +#: src/common/outbound.c:2581 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<alasan>], menetapkan anda away" + +#: src/common/outbound.c:2583 +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 "" + +# libgnomeui/gnome-app-helper.c:253 +#: src/common/outbound.c:2585 +msgid "CLEAR, Clears the current text window" +msgstr "CLEAR, Kosongkan teks tetingkap semasa" + +# libgnomeui/gnome-app-helper.c:253 +#: src/common/outbound.c:2586 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, Tutup tetingkap/tab semasa" + +#: src/common/outbound.c:2589 +msgid "COUNTRY <code>, finds a country code, eg: au = australia" +msgstr "COUNTRY <kod>, cari kod negara , eg: my = malaysia" + +#: src/common/outbound.c:2591 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:2593 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "" + +#: src/common/outbound.c:2595 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:2605 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2607 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "" + +#: src/common/outbound.c:2609 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:2611 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:2612 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Putus daripada pelayan" + +#: src/common/outbound.c:2613 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "" + +#: src/common/outbound.c:2614 +msgid "ECHO <text>, Prints text locally" +msgstr "" + +#: src/common/outbound.c:2617 +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 "" + +#: src/common/outbound.c:2619 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:2622 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:2624 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:2625 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:2629 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:2631 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:2637 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2639 +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 "" + +#: src/common/outbound.c:2646 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2647 +msgid "JOIN <channel>, joins the channel" +msgstr "" + +#: src/common/outbound.c:2649 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2651 +msgid "" +"KICKBAN <nick>, bans then kicks the nick from the current channel (needs " +"chanop)" +msgstr "" + +#: src/common/outbound.c:2654 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:2656 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "" + +#: src/common/outbound.c:2658 +msgid "LOAD <file>, loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:2661 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2663 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2665 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in " +"the 3rd person, like /me jumps)" +msgstr "" + +#: src/common/outbound.c:2667 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2669 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2670 +msgid "MSG <nick> <message>, sends a private message" +msgstr "" + +#: src/common/outbound.c:2673 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, Senaraikan gelaran pada saluran semasa" + +#: src/common/outbound.c:2675 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "" + +#: src/common/outbound.c:2676 +msgid "NEWSERVER <hostname> [<port>]" +msgstr "" + +#: src/common/outbound.c:2677 +msgid "NICK <nickname>, sets your nick" +msgstr "" + +#: src/common/outbound.c:2680 +msgid "" +"NOTICE <nick/channel> <message>, sends a notice. Notices are a type of " +"message that should be auto reacted to" +msgstr "" + +#: src/common/outbound.c:2682 +msgid "NOTIFY [<nick>], lists your notify list or adds someone to it" +msgstr "" + +#: src/common/outbound.c:2684 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2686 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "" + +#: src/common/outbound.c:2688 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "" + +#: src/common/outbound.c:2690 +msgid "QUERY <nick>, opens up a new privmsg window to someone" +msgstr "" + +#: src/common/outbound.c:2692 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "" + +#: src/common/outbound.c:2694 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "" + +#: src/common/outbound.c:2697 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /" +"RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:2700 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" + +#: src/common/outbound.c:2702 +msgid "" +"RECV <text>, send raw data to xchat, as if it was received from the irc " +"server" +msgstr "" + +#: src/common/outbound.c:2705 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <teks>, hantar teks ke objek pada tetingkap semasa" + +#: src/common/outbound.c:2708 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:2711 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:2715 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" + +#: src/common/outbound.c:2718 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" + +#: src/common/outbound.c:2720 +msgid "SET <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:2723 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "" + +#: src/common/outbound.c:2725 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "" + +#: src/common/outbound.c:2726 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "" + +#: src/common/outbound.c:2727 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:2730 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2732 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "" + +#: src/common/outbound.c:2734 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" + +#: src/common/outbound.c:2767 +#, c-format +msgid "Usage: %s\n" +msgstr "Penggunaan: %s\n" + +#: src/common/outbound.c:2772 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Tiada bantuan yang ada bagi larahan itu.\n" + +#: src/common/outbound.c:2778 +msgid "No such command.\n" +msgstr "Tiada arahan sebegitu.\n" + +#: src/common/outbound.c:3102 +msgid "Bad arguments for user command.\n" +msgstr "Hujah teruk ke arahan pengguna\n" + +#: src/common/outbound.c:3266 +msgid "Too many recursive usercommands, aborting." +msgstr "Terlalu banyak arahanpengguna rekursif, dibatalkan." + +#: src/common/outbound.c:3339 +msgid "Unknown Command. Try /help\n" +msgstr "Arahan tidak diketahui. Cuba /help\n" + +#: src/common/plugin.c:349 src/common/plugin.c:379 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Tiada xchat_plugin_init symbol; is this really an xchat plugin?" + +#: src/common/server.c:887 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" + +#: src/common/server.c:892 +#, fuzzy +msgid "Proxy traversal failed.\n" +msgstr "Notifikasi Pemindahan gagal" + +#: src/common/servlist.c:633 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "" + +#: src/common/servlist.c:973 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" + +#: src/common/textevents.h:6 +msgid "-%C10-%C11-%O$t$1 added to notify list." +msgstr "-%C10-%C11-%O$t$1 ditambah ke senarai notifikasi." + +#: src/common/textevents.h:9 +msgid "-%C10-%C11-%O$t$1 Banlist: %C3$4 %C4$2 %C5$3%O" +msgstr "" + +#: src/common/textevents.h:12 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(You are banned)." +msgstr "" + +#: src/common/textevents.h:15 +msgid "-%C10-%C11-%O$t$1 is now known as $2" +msgstr "-%C10-%C11-%O$t$1 kini dikenali sebagai $2" + +#: src/common/textevents.h:18 +#, fuzzy +msgid "%C13*%O$t$1%O $2%O" +msgstr "%C13*%O$t$1 $2%O" + +#: src/common/textevents.h:21 +msgid "%C13*%O$t%C8%B$1%B%O $2%O" +msgstr "%C13*%O$t%C8%B$1%B%O $2%O" + +#: src/common/textevents.h:24 +msgid "-%C10-%C11-%O$t$1 sets ban on $2" +msgstr "-%C10-%C11-%O$t$1 menetapkan ban ban pada $2" + +#: src/common/textevents.h:27 +msgid "-%C10-%C11-%O$tChannel $1 created on $2" +msgstr "-%C10-%C11-%O$tSaluran $1 dicipta pada $2" + +#: src/common/textevents.h:30 +msgid "" +"-%C10-%C11-%O$t%C11$1%O removes channel half-operator status from %C11$2" +msgstr "" +"-%C10-%C11-%O$t%C11$1%O membuang status semi-operator saluran drpd %C11$2" + +#: src/common/textevents.h:33 +msgid "-%C10-%C11-%O$t%C11$1%O removes channel operator status from %C11$2" +msgstr "-%C10-%C11-%O$t%C11$1%O membuang status operator saluran drpd %C11$2" + +#: src/common/textevents.h:36 +msgid "-%C10-%C11-%O$t%C11$1%O removes voice from %C11$2" +msgstr "-%C10-%C11-%O$t%C11$1%O membuang voice drpd %C11$2" + +#: src/common/textevents.h:39 +msgid "-%C10-%C11-%O$t$1 sets exempt on $2" +msgstr "" + +#: src/common/textevents.h:42 +msgid "-%C10-%C11-%O$t%C11$1%O gives channel half-operator status to %C11$2" +msgstr "" + +#: src/common/textevents.h:45 +msgid "-%C10-%C11-%O$t$1 sets invite on $2" +msgstr "-%C10-%C11-%O$t$1 menetapkan jemputan pada $2" + +#: src/common/textevents.h:48 +msgid "%UChannel Users Topic%O" +msgstr "%USaluran Pengguna Topik%O" + +#: src/common/textevents.h:51 src/common/textevents.h:297 +msgid "%C2<%O$1%C2>%O$t$2%O" +msgstr "%C2<%O$1%C2>%O$t$2%O" + +#: src/common/textevents.h:54 +msgid "-%C10-%C11-%O$t$1 sets mode $2$3 $4" +msgstr "-%C10-%C11-%O$t$1 menetapkan mod $2$3 $4" + +#: src/common/textevents.h:57 +msgid "-%C10-%C11-%O$tChannel $1 modes: $2" +msgstr "-%C10-%C11-%O$tSaluran $1 mod: $2" + +#: src/common/textevents.h:60 +msgid "%C2<%C8%B$1%B%C2>%O$t$2%O" +msgstr "%C2<%C8%B$1%B%C2>%O$t$2%O" + +#: src/common/textevents.h:63 +msgid "%C12-%C13$1/$2%C12-%O$t$3%O" +msgstr "%C12-%C13$1/$2%C12-%O$t$3%O" + +#: src/common/textevents.h:66 +msgid "-%C10-%C11-%O$t%C11$1%O gives channel operator status to %C11$2" +msgstr "-%C10-%C11-%O$t%C11$1%O memberi status operator saluran kepada %C11$2" + +#: src/common/textevents.h:69 +msgid "-%C10-%C11-%O$t$1 removes exempt on $2" +msgstr "" + +#: src/common/textevents.h:72 +msgid "-%C10-%C11-%O$t$1 removes invite on $2" +msgstr "-%C10-%C11-%O$t$1 membuang jemputan pada $2" + +#: src/common/textevents.h:75 +msgid "-%C10-%C11-%O$t$1 removes channel keyword" +msgstr "-%C10-%C11-%O$t$1 membuang katakunci saluran" + +#: src/common/textevents.h:78 +msgid "-%C10-%C11-%O$t$1 removes user limit" +msgstr "-%C10-%C11-%O$t$1 membuang had pengguna" + +#: src/common/textevents.h:81 +msgid "-%C10-%C11-%O$t$1 sets channel keyword to $2" +msgstr "-%C10-%C11-%O$t$1 menetapkan katakunci saluran kepada $2" + +#: src/common/textevents.h:84 +msgid "-%C10-%C11-%O$t$1 sets channel limit to $2" +msgstr "-%C10-%C11-%O$t$1 menetapkan had saluran kepada $2" + +#: src/common/textevents.h:87 +msgid "-%C10-%C11-%O$t$1 removes ban on $2" +msgstr "-%C10-%C11-%O$t$1 membuang ban pada $2" + +#: src/common/textevents.h:90 +msgid "-%C10-%C11-%O$t%C11$1%O gives voice to %C11$2" +msgstr "-%C10-%C11-%O$t%C11$1%O memberi voice kepada %C11$2" + +#: src/common/textevents.h:93 +msgid "-%C10-%C11-%O$tConnected. Now logging in.." +msgstr "-%C10-%C11-%O$tTersambung. Kini menglogmasuk.." + +#: src/common/textevents.h:96 +msgid "-%C10-%C11-%O$tConnecting to %C11$1 %C14(%C11$2%C14)%C port %C11$3%C.." +msgstr "" +"-%C10-%C11-%O$tMenyambung ke %C11$1 %C14(%C11$2%C14)%C liang %C11$3%C.." + +#: src/common/textevents.h:99 +msgid "-%C10-%C11-%O$tConnection failed. Error: $1" +msgstr "-%C10-%C11-%O$tSambungan gagal. Ralat: $1" + +#: src/common/textevents.h:102 +msgid "-%C10-%C11-%O$tReceived a CTCP $1 from $2" +msgstr "-%C10-%C11-%O$tMenerima CTCP $1 drpd $2" + +#: src/common/textevents.h:105 +msgid "-%C10-%C11-%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "-%C10-%C11-%O$tMenerima CTCP $1 drpd $2 (ke $3)" + +#: src/common/textevents.h:108 +msgid "%C3>%O$1%C3<%O$tCTCP $2%O" +msgstr "%C3>%O$1%C3<%O$tCTCP $2%O" + +#: src/common/textevents.h:111 +msgid "-%C10-%C11-%O$tReceived a CTCP Sound $1 from $2" +msgstr "-%C10-%C11-%O$tMenerima CTCP Sound $1 drpd $2" + +#: src/common/textevents.h:114 +msgid "-%C10-%C11-%O$tDCC CHAT to %C11$1%O aborted." +msgstr "-%C10-%C11-%O$tDCC CHAT kepada %C11$1%O dibatalkan." + +#: src/common/textevents.h:117 +msgid "" +"-%C10-%C11-%O$tDCC CHAT connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "" +"-%C10-%C11-%O$tSambungan DCC CHAT terjalin dengan %C11$1 %C14[%O$2%C14]%O" + +#: src/common/textevents.h:120 +msgid "-%C10-%C11-%O$tDCC CHAT to %C11$1%O lost. $4." +msgstr "-%C10-%C11-%O$tDCC CHAT dengan %C11$1%O hilang. $4." + +#: src/common/textevents.h:123 +msgid "-%C10-%C11-%O$tReceived a DCC CHAT offer from $1" +msgstr "-%C10-%C11-%O$tReceived a DCC CHAT offer from $1" + +#: src/common/textevents.h:126 +msgid "-%C10-%C11-%O$tOffering DCC CHAT to $1" +msgstr "-%C10-%C11-%O$tMenawarkan DCC CHAT kepadad $1" + +#: src/common/textevents.h:129 +msgid "-%C10-%C11-%O$tAlready offering CHAT to $1" +msgstr "-%C10-%C11-%O$tTersedia menawarkan CHAT kepada $1" + +#: src/common/textevents.h:132 +msgid "-%C10-%C11-%O$tDCC $1 connect attempt to %C11$2%O failed (err=$3)." +msgstr "" + +#: src/common/textevents.h:135 +msgid "-%C10-%C11-%O$tReceived '$1%O' from $2" +msgstr "-%C10-%C11-%O$tDiterima '$1%O' drpd $2" + +#: src/common/textevents.h:138 +msgid "" +"%C8,2 Type To/From Status Size Pos File %O%010%B%" +"C9----------------------------------------------------%O" +msgstr "" + +#: src/common/textevents.h:141 +msgid "" +"-%C10-%C11-%O$tReceived a malformed DCC request from %C11$1%O.%010-%C10-%C11-" +"%O$tContents of packet: $2" +msgstr "" + +#: src/common/textevents.h:144 +msgid "-%C10-%C11-%O$tOffering %C11$1 %Cto %C11$2%O" +msgstr "" + +#: src/common/textevents.h:147 +msgid "-%C10-%C11-%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:150 +msgid "-%C10-%C11-%O$tDCC RECV %C11$2%O to %C11$1%O aborted." +msgstr "" + +#: src/common/textevents.h:153 +msgid "" +"-%C10-%C11-%O$tDCC RECV %C11$1%O from %C11$3%O complete %C14[%C11$4%O cps%" +"C14]%O." +msgstr "" + +#: src/common/textevents.h:156 +msgid "" +"-%C10-%C11-%O$tDCC RECV connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "" + +#: src/common/textevents.h:159 +msgid "-%C10-%C11-%O$tDCC RECV %C11$1%O from %C11$3%O failed. $4." +msgstr "" + +#: src/common/textevents.h:162 +#, fuzzy +msgid "-%C10-%C11-%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "-%C10-%C11-%O$tDCC CHAT dengan %C11$1%O hilang. $4." + +#: src/common/textevents.h:165 +msgid "" +"-%C10-%C11-%O$tThe file %C11$1%C already exists, saving it as %C11$2%O " +"instead." +msgstr "" + +#: src/common/textevents.h:168 +msgid "-%C10-%C11-%O$t%C11$1 %Chas requested to resume %C11$2 %Cfrom %C11$3%C." +msgstr "" + +#: src/common/textevents.h:171 +msgid "-%C10-%C11-%O$tDCC SEND %C11$2%O to %C11$1%O aborted." +msgstr "" + +#: src/common/textevents.h:174 +msgid "" +"-%C10-%C11-%O$tDCC SEND %C11$1%O to %C11$2%O complete %C14[%C11$3%O cps%C14]%" +"O." +msgstr "" + +#: src/common/textevents.h:177 +msgid "" +"-%C10-%C11-%O$tDCC SEND connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "" + +#: src/common/textevents.h:180 +msgid "-%C10-%C11-%O$tDCC SEND %C11$1%O to %C11$2%O failed. $3" +msgstr "" + +#: src/common/textevents.h:183 +msgid "-%C10-%C11-%O$t%C11$1 %Chas offered %C11$2 %C(%C11$3 %Cbytes)" +msgstr "" + +#: src/common/textevents.h:186 +msgid "-%C10-%C11-%O$tDCC $1 %C11$2 %Cto %C11$3 %Cstalled - aborting." +msgstr "" + +#: src/common/textevents.h:189 +msgid "-%C10-%C11-%O$tDCC $1 %C11$2 %Cto %C11$3 %Ctimed out - aborting." +msgstr "" + +#: src/common/textevents.h:192 +msgid "-%C10-%C11-%O$t$1 deleted from notify list." +msgstr "" + +#: src/common/textevents.h:195 +msgid "-%C10-%C11-%O$tDisconnected ($1)." +msgstr "" + +#: src/common/textevents.h:198 +msgid "-%C10-%C11-%O$tFound your IP: [$1]" +msgstr "" + +#: src/common/textevents.h:201 +msgid "$1$t$2" +msgstr "" + +#: src/common/textevents.h:204 +msgid "%O%C11$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:207 +msgid "Ignore on %C11$1%O changed." +msgstr "" + +#: src/common/textevents.h:210 +msgid "%C08,02 %O" +msgstr "" + +#: src/common/textevents.h:213 +msgid "%C08,02 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG %O" +msgstr "" + +#: src/common/textevents.h:216 +msgid "%O%C11$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:219 +msgid " Ignore list is empty." +msgstr " Senarai abai kosong." + +#: src/common/textevents.h:222 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(Channel is invite only)." +msgstr "" + +#: src/common/textevents.h:225 +msgid "-%C10-%C11-%O$tYou have been invited to %C11$1%C by %C11$2%C (%C11$3%C)" +msgstr "" + +#: src/common/textevents.h:228 +msgid "-%C10-%C11>%O$t%B$1%B %C14(%C10$3%C14)%C has joined $2" +msgstr "" + +#: src/common/textevents.h:231 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(Requires keyword)." +msgstr "" + +#: src/common/textevents.h:234 +msgid "<%C10-%C11-%O$t$1 has kicked $2 from $3 ($4%O)" +msgstr "" + +#: src/common/textevents.h:237 +msgid "-%C10-%C11-%O$tYou have been killed by $1 ($2%O)" +msgstr "" + +#: src/common/textevents.h:240 src/common/textevents.h:264 +msgid "%C3>%O$1%C3<%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:243 src/common/textevents.h:318 +#: src/common/textevents.h:324 src/common/textevents.h:327 +msgid "-%C10-%C11-%O$t$1%O" +msgstr "" + +#: src/common/textevents.h:246 +msgid "-%C10-%C11-%O$tMOTD Skipped." +msgstr "" + +#: src/common/textevents.h:249 +msgid "-%C10-%C11-%O$t$1 already in use. Retrying with $2.." +msgstr "" + +#: src/common/textevents.h:252 +msgid "-%C10-%C11-%O$tNickname already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:255 +msgid "-%C10-%C11-%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:258 +msgid "-%C10-%C11-%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:261 +msgid "%C12-%C13$1%C12-%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:267 +msgid "-%C10-%C11-%O$tNotify list is empty." +msgstr "" + +#: src/common/textevents.h:270 +msgid "%C08,02 %B-- Notify List --------------- %O" +msgstr "" + +#: src/common/textevents.h:273 +msgid "-%C10-%C11-%O$t$1 users in notify list." +msgstr "" + +#: src/common/textevents.h:276 +msgid "-%C10-%C11-%O$tNotify: $1 is offline ($2)." +msgstr "" + +#: src/common/textevents.h:279 +msgid "-%C10-%C11-%O$tNotify: $1 is online ($2)." +msgstr "" + +#: src/common/textevents.h:282 +msgid "<%C10-%C11-%O$t$1 %C14(%O$2%C14)%C has left $3" +msgstr "" + +#: src/common/textevents.h:285 +msgid "<%C10-%C11-%O$t$1 %C14(%O$2%C14)%C has left $3 %C14(%O$4%C14)%O" +msgstr "" + +#: src/common/textevents.h:288 +msgid "-%C10-%C11-%O$tPing reply from $1 : $2 second(s)" +msgstr "" + +#: src/common/textevents.h:291 +msgid "-%C10-%C11-%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:294 +msgid "%C12*%C13$1%C12*$t%O$2%O" +msgstr "" + +#: src/common/textevents.h:300 +msgid "-%C10-%C11-%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:303 +msgid "<%C10-%C11-%O$t$1 has quit %C14(%O$2%O%C14)%O" +msgstr "" + +#: src/common/textevents.h:306 +msgid "-%C10-%C11-%O$t$1 sets modes%B %C14[%O$2%B%C14]%O" +msgstr "" + +#: src/common/textevents.h:309 +msgid "%C12-%C13$1/Wallops%C12-%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:312 +msgid "-%C10-%C11-%O$tLooking up IP number for%C11 $1%O.." +msgstr "" + +#: src/common/textevents.h:315 +msgid "-%C10-%C11-%O$tConnected." +msgstr "" + +#: src/common/textevents.h:321 +msgid "-%C10-%C11-%O$tLooking up %C11$1%C.." +msgstr "" + +#: src/common/textevents.h:330 +msgid "-%C10-%C11-%O$tStopped previous connection attempt (pid=$1)" +msgstr "" + +#: src/common/textevents.h:333 +msgid "-%C10-%C11-%O$tTopic for %C11$1%C is %C11$2%O" +msgstr "" + +#: src/common/textevents.h:336 +msgid "-%C10-%C11-%O$tTopic for %C11$1%C set by %C11$2%C at %C11$3%O" +msgstr "" + +#: src/common/textevents.h:339 +msgid "-%C10-%C11-%O$t$1 has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:342 +msgid "-%C10-%C11-%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:345 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(User limit reached)." +msgstr "" + +#: src/common/textevents.h:348 +msgid "-%C10-%C11-%O$t%C11Users on $1:%C $2" +msgstr "" + +#: src/common/textevents.h:351 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %Cis away %C14(%O$2%O%C14)" +msgstr "" + +#: src/common/textevents.h:354 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%C $2" +msgstr "" + +#: src/common/textevents.h:357 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %CEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:360 +#, fuzzy +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2" +msgstr "-%C10-%C11-%O$t%C11$1%O memberi voice kepada %C11$2" + +#: src/common/textevents.h:363 +#, fuzzy +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2 %C11$3%O" +msgstr "-%C10-%C11-%O$t%C11$1%O memberi voice kepada %C11$2" + +#: src/common/textevents.h:366 +msgid "" +"-%C10-%C11-%O$t%C12[%O$1%C12] %Oreal user@host %C11$2%O, real IP %C11$3%O" +msgstr "" + +#: src/common/textevents.h:369 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O idle %C11$2%O" +msgstr "" + +#: src/common/textevents.h:372 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O idle %C11$2%O, signon: %C11$3%O" +msgstr "" + +#: src/common/textevents.h:375 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %C14(%O$2@$3%C14) %O: $4%O" +msgstr "" + +#: src/common/textevents.h:378 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O $2" +msgstr "" + +#: src/common/textevents.h:381 +msgid "-%C10-%C11>%O$t%BYou%B are now talking on %C11$2%O" +msgstr "" + +#: src/common/textevents.h:384 +msgid "-%C10-%C11-%O$tYou have left channel $3" +msgstr "" + +#: src/common/textevents.h:387 +msgid "-%C10-%C11-%O$tYou have left channel $3 %C14(%O$4%C14)%O" +msgstr "" + +#: src/common/textevents.h:390 +msgid "-%C10-%C11-%O$tYou have been kicked from $2 by $3 ($4%O)" +msgstr "" + +#: src/common/textevents.h:393 +msgid "-%C10-%C11-%O$tYou're inviting %C11$1%C to %C11$2%C (%C11$3%C)" +msgstr "" + +#: src/common/textevents.h:396 +msgid "%C6<%O$1%C6>%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:399 +msgid "-%C10-%C11-%O$tYou are now known as $2" +msgstr "" + +#: src/common/text.c:304 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** AKHIR LOG PADA %s\n" + +#: src/common/text.c:421 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** BEGIN LOGGING AT %s\n" + +#: src/common/text.c:440 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" + +#: src/common/text.c:651 +#, fuzzy +msgid "Left message" +msgstr "Mesej" + +#: src/common/text.c:652 +#, fuzzy +msgid "Right message" +msgstr "Mesej" + +#: src/common/text.c:656 +msgid "The nick of the joining person" +msgstr "Gelaran bagi orang yang masuk" + +#: src/common/text.c:657 +msgid "The channel being joined" +msgstr "Saluran yang disertai" + +#: src/common/text.c:658 src/common/text.c:702 src/common/text.c:758 +msgid "The host of the person" +msgstr "Hos orang itu" + +#: src/common/text.c:662 src/common/text.c:667 src/common/text.c:673 +#: src/common/text.c:740 src/common/text.c:864 src/common/text.c:871 +#: src/common/text.c:876 src/common/text.c:881 src/common/text.c:886 +#: src/common/text.c:892 src/common/text.c:897 src/common/text.c:901 +#: src/common/text.c:906 src/common/text.c:912 src/common/text.c:958 +#: src/common/text.c:967 src/common/text.c:972 src/common/text.c:977 +#: src/common/text.c:986 src/common/text.c:997 src/common/text.c:1004 +#: src/common/text.c:1010 src/common/text.c:1015 src/common/text.c:1020 +#: src/common/text.c:1027 src/common/text.c:1033 src/common/text.c:1039 +#: src/common/text.c:1044 src/common/text.c:1049 src/common/text.c:1053 +#: src/common/text.c:1059 src/common/text.c:1067 src/common/text.c:1101 +#: src/common/text.c:1106 +msgid "Nickname" +msgstr "Gelaran" + +#: src/common/text.c:663 +msgid "The action" +msgstr "Aksi" + +#: src/common/text.c:668 +msgid "The text" +msgstr "Teks" + +#: src/common/text.c:669 +msgid "Mode char" +msgstr "Aksara mod" + +#: src/common/text.c:674 src/common/text.c:730 src/common/text.c:736 +#: src/common/text.c:741 +msgid "The message" +msgstr "Mesej" + +#: src/common/text.c:678 src/common/text.c:745 +msgid "Old nickname" +msgstr "Gelaran lama" + +#: src/common/text.c:679 src/common/text.c:746 +msgid "New nickname" +msgstr "Gelaran baru" + +#: src/common/text.c:683 +msgid "Nick of person who changed the topic" +msgstr "Gelaran orang yang menukar topik" + +#: src/common/text.c:684 src/common/text.c:690 src/fe-gtk/chanlist.c:599 +#: src/fe-gtk/chanlist.c:700 +msgid "Topic" +msgstr "Topik" + +#: src/common/text.c:685 src/common/text.c:689 src/common/text.c:1121 +#: src/fe-gtk/chanlist.c:597 src/fe-gtk/chanlist.c:691 +#: src/fe-gtk/ignoregui.c:175 +msgid "Channel" +msgstr "Saluran" + +#: src/common/text.c:694 src/common/text.c:752 +msgid "The nickname of the kicker" +msgstr "Namagelaran penendang" + +#: src/common/text.c:695 src/common/text.c:750 +msgid "The person being kicked" +msgstr "Orang yang ditendang" + +#: src/common/text.c:696 src/common/text.c:703 src/common/text.c:707 +#: src/common/text.c:712 src/common/text.c:751 src/common/text.c:759 +msgid "The channel" +msgstr "Saluran" + +#: src/common/text.c:697 src/common/text.c:753 src/common/text.c:760 +msgid "The reason" +msgstr "Alasan" + +#: src/common/text.c:701 src/common/text.c:757 +msgid "The nick of the person leaving" +msgstr "Gelaran orang yang keluar" + +#: src/common/text.c:708 src/common/text.c:714 +msgid "The time" +msgstr "Masa" + +#: src/common/text.c:713 +msgid "The creator" +msgstr "Pencipta" + +#: src/common/text.c:718 +msgid "Nick" +msgstr "Gelaran" + +#: src/common/text.c:719 src/common/text.c:973 +msgid "Reason" +msgstr "Alasan" + +#: src/common/text.c:720 src/common/text.c:866 src/common/text.c:948 +msgid "Host" +msgstr "Hos" + +#: src/common/text.c:724 src/common/text.c:729 src/common/text.c:734 +msgid "Who it's from" +msgstr "" + +#: src/common/text.c:725 +msgid "The time in x.x format (see below)" +msgstr "Masa dalam format x.x (lihat bawah)" + +#: src/common/text.c:735 src/common/text.c:776 +msgid "The Channel it's going to" +msgstr "Saluran ini akan" + +#: src/common/text.c:764 +msgid "The sound" +msgstr "Bunyi" + +#: src/common/text.c:765 src/common/text.c:770 src/common/text.c:775 +msgid "The nick of the person" +msgstr "Gelaran orang itu" + +#: src/common/text.c:769 src/common/text.c:774 +msgid "The CTCP event" +msgstr "Acara CTCP" + +#: src/common/text.c:780 +msgid "The nick of the person who set the key" +msgstr "Gelaran orang yang menetapkan kekunci" + +#: src/common/text.c:781 +msgid "The key" +msgstr "Kekunci" + +#: src/common/text.c:785 +msgid "The nick of the person who set the limit" +msgstr "Gelaran orang yang menetapkan had" + +#: src/common/text.c:786 +msgid "The limit" +msgstr "Had" + +#: src/common/text.c:790 +msgid "The nick of the person who did the op'ing" +msgstr "Gelaran orang yang memberi op" + +#: src/common/text.c:791 +#, fuzzy +msgid "The nick of the person who has been op'ed" +msgstr "Gelaran orang yang telah di'op'kan" + +#: src/common/text.c:795 +msgid "The nick of the person who has been halfop'ed" +msgstr "Gelaran orang yang di'semi-op'kan" + +#: src/common/text.c:796 +msgid "The nick of the person who did the halfop'ing" +msgstr "Gelaran orang yang melakukan semi-op" + +#: src/common/text.c:800 +msgid "The nick of the person who did the voice'ing" +msgstr "Gelaran orang yang melakukan voice" + +#: src/common/text.c:801 +msgid "The nick of the person who has been voice'ed" +msgstr "Gelaran orang yang telah di'voice'kan" + +#: src/common/text.c:805 +msgid "The nick of the person who did the banning" +msgstr "" + +#: src/common/text.c:806 src/common/text.c:833 +msgid "The ban mask" +msgstr "" + +#: src/common/text.c:810 +msgid "The nick who removed the key" +msgstr "Gelaran orang yang membuang kekunci" + +#: src/common/text.c:814 +#, fuzzy +msgid "The nick who removed the limit" +msgstr "Klik untuk membuang Tatacara" + +#: src/common/text.c:818 +msgid "The nick of the person of did the deop'ing" +msgstr "Gelaran orang yang menarikbalik op" + +#: src/common/text.c:819 +#, fuzzy +msgid "The nick of the person who has been deop'ed" +msgstr "Pecahan jumlah kerja yang telah selesai" + +#: src/common/text.c:822 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:823 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "" + +#: src/common/text.c:827 +msgid "The nick of the person of did the devoice'ing" +msgstr "" + +#: src/common/text.c:828 +msgid "The nick of the person who has been devoice'ed" +msgstr "" + +#: src/common/text.c:832 +msgid "The nick of the person of did the unban'ing" +msgstr "" + +#: src/common/text.c:837 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:838 src/common/text.c:843 +msgid "The exempt mask" +msgstr "" + +#: src/common/text.c:842 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:847 +msgid "The nick of the person who did the invite" +msgstr "" + +#: src/common/text.c:848 src/common/text.c:853 +#, fuzzy +msgid "The invite mask" +msgstr "Masa ketika permulaan" + +#: src/common/text.c:852 +msgid "The nick of the person removed the invite" +msgstr "" + +#: src/common/text.c:857 +msgid "The nick of the person setting the mode" +msgstr "" + +#: src/common/text.c:858 +msgid "The mode's sign (+/-)" +msgstr "" + +#: src/common/text.c:859 +#, fuzzy +msgid "The mode letter" +msgstr "Padaman Jadual" + +#: src/common/text.c:860 +msgid "The channel it's being set on" +msgstr "" + +#: src/common/text.c:865 +msgid "Username" +msgstr "Namapengguna" + +#: src/common/text.c:867 +msgid "Full name" +msgstr "Nama penuh" + +#: src/common/text.c:872 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:877 +msgid "Server Information" +msgstr "Maklumat Pelayan" + +#: src/common/text.c:882 src/common/text.c:887 +msgid "Idle time" +msgstr "Masa leka" + +#: src/common/text.c:888 +#, fuzzy +msgid "Signon time" +msgstr "_T.tangan" + +#: src/common/text.c:893 +msgid "Away reason" +msgstr "Alasan away" + +# libgnomeui/gnome-messagebox.c:147 libgnomeui/gnome-messagebox.c:280 +#: src/common/text.c:902 src/common/text.c:907 src/common/text.c:915 +#: src/common/text.c:1093 +msgid "Message" +msgstr "Mesej" + +#: src/common/text.c:908 +#, fuzzy +msgid "Account" +msgstr "Terima" + +#: src/common/text.c:913 +#, fuzzy +msgid "Real user@host" +msgstr "Sorok/Papar Opsyen" + +#: src/common/text.c:914 +msgid "Real IP" +msgstr "" + +#: src/common/text.c:919 src/common/text.c:928 src/common/text.c:934 +#: src/common/text.c:1116 +msgid "Channel Name" +msgstr "Nama Saluran" + +# libgnomeui/gnome-stock.c:844 +#: src/common/text.c:923 src/common/text.c:1079 src/fe-gtk/textgui.c:383 +msgid "Text" +msgstr "Teks" + +#: src/common/text.c:924 src/common/text.c:930 src/common/text.c:1117 +msgid "Server Name" +msgstr "Nama Pelayan" + +#: src/common/text.c:929 +msgid "Nick of person who invited you" +msgstr "Gelaran orang yang anda ingin jemput" + +#: src/common/text.c:935 src/fe-gtk/chanlist.c:598 +msgid "Users" +msgstr "Pengguna" + +#: src/common/text.c:939 +msgid "Nickname in use" +msgstr "Gelaran sudah digunakan" + +#: src/common/text.c:940 +msgid "Nick being tried" +msgstr "Gelaran sedang dicuba" + +# libgnomeui/gnome-messagebox.c:129 libgnomeui/gnome-messagebox.c:262 +#: src/common/text.c:944 src/common/text.c:980 src/common/text.c:991 +#: src/common/text.c:998 src/common/text.c:1011 src/common/text.c:1028 +#: src/common/text.c:1128 +msgid "Error" +msgstr "Ralat" + +#: src/common/text.c:949 src/common/text.c:1083 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:950 src/common/text.c:979 +msgid "Port" +msgstr "Liang" + +#: src/common/text.c:954 +msgid "PID" +msgstr "PID" + +#: src/common/text.c:962 +msgid "Channel name" +msgstr "Nama saluran" + +# libgnomeui/gnome-dentry-edit.c:389 +#: src/common/text.c:963 src/common/text.c:968 +msgid "Modes string" +msgstr "Rentetan mod" + +#: src/common/text.c:978 src/common/text.c:1016 src/common/text.c:1021 +#: src/common/text.c:1062 +msgid "IP address" +msgstr "Alamat IP" + +#: src/common/text.c:984 src/common/text.c:1009 +msgid "DCC Type" +msgstr "Jenis DCC" + +#: src/common/text.c:985 src/common/text.c:990 src/common/text.c:995 +#: src/common/text.c:1002 src/common/text.c:1022 src/common/text.c:1026 +#: src/common/text.c:1032 src/common/text.c:1038 src/common/text.c:1045 +#: src/common/text.c:1054 src/common/text.c:1060 +msgid "Filename" +msgstr "Namafail" + +#: src/common/text.c:996 src/common/text.c:1003 +msgid "Destination filename" +msgstr "Fail destinasi" + +#: src/common/text.c:1005 src/common/text.c:1034 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1040 +msgid "Pathname" +msgstr "Nama path" + +#: src/common/text.c:1055 src/fe-gtk/dccgui.c:483 src/fe-gtk/dccgui.c:633 +msgid "Position" +msgstr "Posisi" + +# Saiz bra +#: src/common/text.c:1061 src/fe-gtk/dccgui.c:482 src/fe-gtk/dccgui.c:632 +msgid "Size" +msgstr "Saiz" + +#: src/common/text.c:1066 +msgid "DCC String" +msgstr "Rentetan DCC" + +#: src/common/text.c:1071 +msgid "Number of notify items" +msgstr "Bilangan item makluman" + +#: src/common/text.c:1075 +msgid "Servername" +msgstr "Nama Pelayan" + +#: src/common/text.c:1087 +msgid "Old Filename" +msgstr "Namafail Lama" + +#: src/common/text.c:1088 +msgid "New Filename" +msgstr "Namafail Baru" + +#: src/common/text.c:1092 +msgid "Receiver" +msgstr "Penerima" + +#: src/common/text.c:1097 +msgid "Hostmask" +msgstr "Hosmask" + +#: src/common/text.c:1102 +msgid "Hostname" +msgstr "Namahos" + +#: src/common/text.c:1107 +msgid "The Packet" +msgstr "Paket" + +#: src/common/text.c:1111 +msgid "Seconds" +msgstr "Saat" + +#: src/common/text.c:1115 +msgid "Nick of person who have been invited" +msgstr "TGelaran bagi siapa yang telah dijemput" + +#: src/common/text.c:1122 +msgid "Banmask" +msgstr "Banmask" + +#: src/common/text.c:1123 +msgid "Who set the ban" +msgstr "Siapa yang menetapkan ban" + +#: src/common/text.c:1124 +msgid "Ban time" +msgstr "Masa ban" + +#: src/common/text.c:1162 +#, fuzzy, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default" +msgstr "Ralat menetapkan kekunci %s kembali ke default: %s\n" + +#: src/common/text.c:1672 +#, fuzzy, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Tidak dapat membaca fail itu." + +#: src/common/util.c:292 +#, fuzzy +msgid "Remote host closed socket" +msgstr "Buang helaian ini" + +#: src/common/util.c:295 +msgid "Connection refused" +msgstr "Sambungan ditolak" + +#: src/common/util.c:298 +msgid "No route to host" +msgstr "Tiada route ke hos" + +#: src/common/util.c:300 +msgid "Connection timed out" +msgstr "Sambungan melebihi hadmasa " + +#: src/common/util.c:302 +msgid "Cannot assign that address" +msgstr "Tak dapat mengumpukkan alamat" + +#: src/common/util.c:304 +#, fuzzy +msgid "Connection reset by peer" +msgstr "Sambungan ditolak" + +#: src/common/util.c:733 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:734 +msgid "United Arab Emirates" +msgstr "Emiriah Arab Bersatu" + +#: src/common/util.c:735 +msgid "Afghanistan" +msgstr "Afghanistan" + +#: src/common/util.c:736 +msgid "Antigua and Barbuda" +msgstr "" + +#: src/common/util.c:737 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:738 +msgid "Albania" +msgstr "Albania" + +#: src/common/util.c:739 +msgid "Armenia" +msgstr "Armenia" + +#: src/common/util.c:740 +msgid "Netherlands Antilles" +msgstr "Netherlands Antilles" + +#: src/common/util.c:741 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:742 +msgid "Antarctica" +msgstr "Antarctika" + +#: src/common/util.c:743 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:744 +msgid "Reverse DNS" +msgstr "DNS Songsang" + +#: src/common/util.c:745 +msgid "American Samoa" +msgstr "Samoa Amerika" + +#: src/common/util.c:746 +msgid "Austria" +msgstr "Austria" + +#: src/common/util.c:747 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:748 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:749 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:750 +msgid "Azerbaijan" +msgstr "Azerbaijan" + +#: src/common/util.c:751 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia Herzegovina" + +#: src/common/util.c:752 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:753 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:754 +msgid "Belgium" +msgstr "Belgium" + +#: src/common/util.c:755 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:756 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: src/common/util.c:757 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:758 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:759 +msgid "Businesses" +msgstr "" + +#: src/common/util.c:760 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:761 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:762 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:763 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:764 +msgid "Brazil" +msgstr "Brazil" + +#: src/common/util.c:765 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:766 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:767 +msgid "Bouvet Island" +msgstr "Bouvet Island" + +#: src/common/util.c:768 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:769 +msgid "Belarus" +msgstr "Belarus" + +#: src/common/util.c:770 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:771 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:772 +msgid "Cocos Islands" +msgstr "Kepulauan Coco" + +#: src/common/util.c:773 +msgid "Central African Republic" +msgstr "Republik Afrika Tengah" + +#: src/common/util.c:774 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:775 +msgid "Switzerland" +msgstr "Switzerland" + +#: src/common/util.c:776 +msgid "Cote D'ivoire" +msgstr "Cote D'ivoire" + +#: src/common/util.c:777 +msgid "Cook Islands" +msgstr "Kepulauan Cook" + +#: src/common/util.c:778 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:779 +msgid "Cameroon" +msgstr "Cameroon" + +#: src/common/util.c:780 +msgid "China" +msgstr "China" + +#: src/common/util.c:781 +msgid "Colombia" +msgstr "Kolombia" + +#: src/common/util.c:782 +msgid "Internic Commercial" +msgstr "Internic Komersil" + +#: src/common/util.c:783 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:784 +msgid "Former Czechoslovakia" +msgstr "Bekas Czechoslovakia" + +#: src/common/util.c:785 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:786 +msgid "Cape Verde" +msgstr "Cape Verde" + +#: src/common/util.c:787 +msgid "Christmas Island" +msgstr "Kepulauan Krismas" + +#: src/common/util.c:788 +msgid "Cyprus" +msgstr "Cyprus" + +#: src/common/util.c:789 +msgid "Czech Republic" +msgstr "Republik Czech" + +#: src/common/util.c:790 +msgid "Germany" +msgstr "Jerman" + +#: src/common/util.c:791 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:792 +msgid "Denmark" +msgstr "Denmark" + +#: src/common/util.c:793 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:794 +msgid "Dominican Republic" +msgstr "Republik Dominica" + +#: src/common/util.c:795 +msgid "Algeria" +msgstr "Algeria" + +#: src/common/util.c:796 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:797 +msgid "Educational Institution" +msgstr "Istitusi Pendidikan" + +#: src/common/util.c:798 +msgid "Estonia" +msgstr "Estonia" + +#: src/common/util.c:799 +msgid "Egypt" +msgstr "Mesir" + +#: src/common/util.c:800 +msgid "Western Sahara" +msgstr "Sahara Barat" + +#: src/common/util.c:801 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:802 +msgid "Spain" +msgstr "Sepanyol" + +#: src/common/util.c:803 +msgid "Ethiopia" +msgstr "Ethiopia" + +#: src/common/util.c:804 +msgid "Finland" +msgstr "Finland" + +# libgnomeui/gnome-druid.c:136 +#: src/common/util.c:805 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:806 +msgid "Falkland Islands" +msgstr "Kepulauan Falkland" + +#: src/common/util.c:807 +msgid "Micronesia" +msgstr "Micronesia" + +#: src/common/util.c:808 +msgid "Faroe Islands" +msgstr "Kepulauan Faroe" + +#: src/common/util.c:809 +msgid "France" +msgstr "Perancis" + +#: src/common/util.c:810 +msgid "France, Metropolitan" +msgstr "" + +#: src/common/util.c:811 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:812 +msgid "Great Britain" +msgstr "Britain" + +#: src/common/util.c:813 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:814 +msgid "Georgia" +msgstr "Georgia" + +#: src/common/util.c:815 +msgid "French Guiana" +msgstr "French Guiana" + +#: src/common/util.c:816 +#, fuzzy +msgid "British Channel Isles" +msgstr "British Virgin Islands" + +#: src/common/util.c:817 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:818 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:819 +msgid "Greenland" +msgstr "Greenland" + +#: src/common/util.c:820 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:821 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:822 +msgid "Government" +msgstr "Kerajaan" + +#: src/common/util.c:823 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:824 +msgid "Equatorial Guinea" +msgstr "Equitorial Guinea" + +#: src/common/util.c:825 +msgid "Greece" +msgstr "Greek" + +#: src/common/util.c:826 +msgid "S. Georgia and S. Sandwich Isles." +msgstr "S. Georgia dan S. Sandwich Isles." + +#: src/common/util.c:827 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:828 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:829 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:830 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:831 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:832 +#, fuzzy +msgid "Heard and McDonald Islands" +msgstr "Kepulauan Caicos dan Turks" + +#: src/common/util.c:833 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:834 +msgid "Croatia" +msgstr "Croatia" + +#: src/common/util.c:835 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:836 +msgid "Hungary" +msgstr "Hungary" + +#: src/common/util.c:837 +msgid "Indonesia" +msgstr "Indonesia" + +#: src/common/util.c:838 +msgid "Ireland" +msgstr "Ireland" + +#: src/common/util.c:839 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:840 +msgid "India" +msgstr "India" + +#: src/common/util.c:841 +#, fuzzy +msgid "Informational" +msgstr "Antarabangsa" + +#: src/common/util.c:842 +msgid "International" +msgstr "Antarabangsa" + +#: src/common/util.c:843 +#, fuzzy +msgid "British Indian Ocean Territory" +msgstr "Wilayah Utara" + +#: src/common/util.c:844 +msgid "Iraq" +msgstr "Iraq" + +#: src/common/util.c:845 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:846 +msgid "Iceland" +msgstr "Iceland" + +#: src/common/util.c:847 +msgid "Italy" +msgstr "Itali" + +#: src/common/util.c:848 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:849 +msgid "Jordan" +msgstr "Jordan" + +#: src/common/util.c:850 +msgid "Japan" +msgstr "Jepun" + +#: src/common/util.c:851 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:852 +msgid "Kyrgyzstan" +msgstr "Kyrgyzstan" + +#: src/common/util.c:853 +msgid "Cambodia" +msgstr "Cambodia" + +#: src/common/util.c:854 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:855 +msgid "Comoros" +msgstr "Comoros" + +#: src/common/util.c:856 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts dan Nevis" + +#: src/common/util.c:857 +msgid "North Korea" +msgstr "Korea Utara" + +#: src/common/util.c:858 +msgid "South Korea" +msgstr "Korea Selatan" + +#: src/common/util.c:859 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:860 +msgid "Cayman Islands" +msgstr "Kepulauan Cayman" + +#: src/common/util.c:861 +msgid "Kazakhstan" +msgstr "Kazakhstan" + +#: src/common/util.c:862 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:863 +msgid "Lebanon" +msgstr "Lebanon" + +#: src/common/util.c:864 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:865 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:866 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:867 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:868 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:869 +msgid "Lithuania" +msgstr "Lithuania" + +#: src/common/util.c:870 +msgid "Luxembourg" +msgstr "Luxembourg" + +#: src/common/util.c:871 +msgid "Latvia" +msgstr "Latvia" + +#: src/common/util.c:872 +msgid "Libya" +msgstr "Libya" + +#: src/common/util.c:873 +msgid "Morocco" +msgstr "Morocco" + +#: src/common/util.c:874 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:875 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:876 +msgid "United States Medical" +msgstr "Perubatan Amerika Syarikat" + +#: src/common/util.c:877 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:878 +msgid "Marshall Islands" +msgstr "Kepulauan Marshall" + +#: src/common/util.c:879 +msgid "Military" +msgstr "Tentera" + +#: src/common/util.c:880 +msgid "Macedonia" +msgstr "Macedonia" + +#: src/common/util.c:881 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:882 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:883 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:884 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:885 +#, fuzzy +msgid "Northern Mariana Islands" +msgstr "Ireland Utara" + +#: src/common/util.c:886 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:887 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:888 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:889 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:890 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:891 +msgid "Maldives" +msgstr "Maldives" + +#: src/common/util.c:892 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:893 +msgid "Mexico" +msgstr "Mexico" + +#: src/common/util.c:894 +msgid "Malaysia" +msgstr "Malaysia" + +#: src/common/util.c:895 +msgid "Mozambique" +msgstr "Mozambique" + +#: src/common/util.c:896 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:897 +msgid "New Caledonia" +msgstr "New Caledonia" + +#: src/common/util.c:898 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:899 +msgid "Internic Network" +msgstr "Rangkaian Internic" + +#: src/common/util.c:900 +msgid "Norfolk Island" +msgstr "Kepulauan Norfolk" + +#: src/common/util.c:901 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:902 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:903 +msgid "Netherlands" +msgstr "Belanda" + +#: src/common/util.c:904 +msgid "Norway" +msgstr "Norway" + +#: src/common/util.c:905 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:906 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:907 +msgid "Neutral Zone" +msgstr "Zon Berkecuali" + +#: src/common/util.c:908 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:909 +msgid "New Zealand" +msgstr "New Zealand" + +#: src/common/util.c:910 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:911 +msgid "Internic Non-Profit Organization" +msgstr "Oraganisasi bukan-komersil Internic" + +#: src/common/util.c:912 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:913 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:914 +msgid "French Polynesia" +msgstr "French Polynesia" + +#: src/common/util.c:915 +msgid "Papua New Guinea" +msgstr "Papua New Guinea" + +#: src/common/util.c:916 +msgid "Philippines" +msgstr "Filipina" + +#: src/common/util.c:917 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:918 +msgid "Poland" +msgstr "Poland" + +#: src/common/util.c:919 +msgid "St. Pierre and Miquelon" +msgstr "St. Perre and Miquelon" + +#: src/common/util.c:920 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:921 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:922 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:923 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:924 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:925 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:926 +#, fuzzy +msgid "Reunion" +msgstr "Kawasan" + +#: src/common/util.c:927 +msgid "Romania" +msgstr "Romania" + +#: src/common/util.c:928 +msgid "Old School ARPAnet" +msgstr "ARPAnet Sekolah Lama" + +#: src/common/util.c:929 +msgid "Russian Federation" +msgstr "Persekutuan Rusia" + +#: src/common/util.c:930 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:931 +msgid "Saudi Arabia" +msgstr "Arab Saudi" + +#: src/common/util.c:932 +msgid "Solomon Islands" +msgstr "Kepulauan Solomon" + +#: src/common/util.c:933 +msgid "Seychelles" +msgstr "Seychelles" + +#: src/common/util.c:934 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:935 +msgid "Sweden" +msgstr "Sweden" + +#: src/common/util.c:936 +msgid "Singapore" +msgstr "Singapura" + +#: src/common/util.c:937 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:938 +msgid "Slovenia" +msgstr "Slovenia" + +#: src/common/util.c:939 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard and Jan Mayen Islands" + +#: src/common/util.c:940 +msgid "Slovak Republic" +msgstr "Republik Slovak" + +#: src/common/util.c:941 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:942 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:943 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:944 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:945 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:946 +msgid "Sao Tome and Principe" +msgstr "Sao Tome and Principe" + +#: src/common/util.c:947 +msgid "Former USSR" +msgstr "Bekas Soviet" + +#: src/common/util.c:948 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:949 +msgid "Syria" +msgstr "Syria" + +#: src/common/util.c:950 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:951 +msgid "Turks and Caicos Islands" +msgstr "Kepulauan Caicos dan Turks" + +#: src/common/util.c:952 +msgid "Chad" +msgstr "Chad" + +#: src/common/util.c:953 +#, fuzzy +msgid "French Southern Territories" +msgstr "Wilayah Utara" + +#: src/common/util.c:954 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:955 +msgid "Thailand" +msgstr "Thailand" + +#: src/common/util.c:956 +msgid "Tajikistan" +msgstr "Tajikistan" + +#: src/common/util.c:957 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:958 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:959 +msgid "Tunisia" +msgstr "Tunisia" + +#: src/common/util.c:960 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:961 +msgid "East Timor" +msgstr "Timor Larose" + +#: src/common/util.c:962 +msgid "Turkey" +msgstr "Turki" + +#: src/common/util.c:963 +msgid "Trinidad and Tobago" +msgstr "Trinidad dan Tobago" + +#: src/common/util.c:964 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:965 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:966 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:967 +msgid "Ukraine" +msgstr "Ukraine" + +#: src/common/util.c:968 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:969 +msgid "United Kingdom" +msgstr "United Kingdom" + +#: src/common/util.c:970 +#, fuzzy +msgid "US Minor Outlying Islands" +msgstr "Kepulauan Society" + +#: src/common/util.c:971 +msgid "United States of America" +msgstr "Amerika Syarikat" + +#: src/common/util.c:972 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:973 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:974 +#, fuzzy +msgid "Vatican City State" +msgstr "Vatican City" + +#: src/common/util.c:975 +#, fuzzy +msgid "St. Vincent and the grenadines" +msgstr "St. Vincent and the Grenadines" + +#: src/common/util.c:976 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:977 +msgid "British Virgin Islands" +msgstr "British Virgin Islands" + +#: src/common/util.c:978 +msgid "US Virgin Islands" +msgstr "Pulau Virgin Amerika Syarikat" + +#: src/common/util.c:979 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:980 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:981 +msgid "Wallis and Futuna Islands" +msgstr "Kepulauan Futuna dan Wallis" + +#: src/common/util.c:982 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:983 +msgid "Yemen" +msgstr "Yaman" + +#: src/common/util.c:984 +#, fuzzy +msgid "Mayotte" +msgstr "Kepulauan Mayotte" + +#: src/common/util.c:985 +msgid "Yugoslavia" +msgstr "Yugoslavia" + +#: src/common/util.c:986 +msgid "South Africa" +msgstr "Afrika Selatan" + +#: src/common/util.c:987 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:988 +msgid "Zaire" +msgstr "Zaire" + +#: src/common/util.c:989 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/util.c:995 src/common/util.c:1005 src/fe-gtk/menu.c:503 +#: src/fe-gtk/menu.c:507 src/fe-gtk/menu.c:511 src/fe-gtk/menu.c:515 +#: src/fe-gtk/menu.c:519 +msgid "Unknown" +msgstr "Entah" + +#: src/common/xchat.c:908 +msgid "Direct client-to-client" +msgstr "" + +#: src/common/xchat.c:909 +#, fuzzy +msgid "Send File" +msgstr "Kirim fail kepada %s" + +#: src/common/xchat.c:910 +msgid "Offer Chat" +msgstr "" + +#: src/common/xchat.c:911 +#, fuzzy +msgid "Abort Chat" +msgstr "Perihal X-Chat" + +#: src/common/xchat.c:912 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Versi" + +# libgnomeui/gnome-scores.c:99 +#: src/common/xchat.c:913 +#, fuzzy +msgid "Userinfo" +msgstr "Pengguna" + +#: src/common/xchat.c:914 +msgid "Clientinfo" +msgstr "" + +#: src/common/xchat.c:915 src/common/xchat.c:947 src/common/xchat.c:997 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:916 +msgid "Time" +msgstr "Masa" + +#: src/common/xchat.c:917 +#, fuzzy +msgid "Finger" +msgstr "Niger" + +#: src/common/xchat.c:918 +#, fuzzy +msgid "Oper" +msgstr "Buka" + +#: src/common/xchat.c:919 +msgid "Kill this user" +msgstr "" + +#: src/common/xchat.c:920 +msgid "Mode" +msgstr "Mod" + +#: src/common/xchat.c:921 +msgid "Give Voice" +msgstr "" + +#: src/common/xchat.c:922 +msgid "Take Voice" +msgstr "" + +#: src/common/xchat.c:923 +msgid "Give Ops" +msgstr "Beri Ops" + +#: src/common/xchat.c:924 +msgid "Take Ops" +msgstr "Ambil Ops" + +#: src/common/xchat.c:925 +msgid "Ignore" +msgstr "Abai" + +#: src/common/xchat.c:926 +msgid "Ignore User" +msgstr "Abaikan Pengguna" + +#: src/common/xchat.c:927 +msgid "UnIgnore User" +msgstr "Nyah-abai Pengguna" + +#: src/common/xchat.c:928 +msgid "Kick/Ban" +msgstr "Tendang/Ban" + +#: src/common/xchat.c:929 src/common/xchat.c:981 +msgid "Kick" +msgstr "Tendang" + +#: src/common/xchat.c:930 src/common/xchat.c:931 src/common/xchat.c:932 +#: src/common/xchat.c:933 src/common/xchat.c:934 src/common/xchat.c:980 +#, fuzzy +msgid "Ban" +msgstr "Bhutan" + +#: src/common/xchat.c:935 src/common/xchat.c:936 src/common/xchat.c:937 +#: src/common/xchat.c:938 +msgid "KickBan" +msgstr "" + +#: src/common/xchat.c:939 src/fe-gtk/dccgui.c:528 src/fe-gtk/dccgui.c:669 +msgid "Info" +msgstr "Maklumat" + +#: src/common/xchat.c:940 +msgid "Who" +msgstr "Siapa" + +#: src/common/xchat.c:941 src/common/xchat.c:994 +msgid "WhoIs" +msgstr "" + +#: src/common/xchat.c:942 +msgid "DNS Lookup" +msgstr "Carian DNS" + +#: src/common/xchat.c:943 +msgid "Trace" +msgstr "Surih" + +#: src/common/xchat.c:944 +msgid "UserHost" +msgstr "HosPengguna" + +#: src/common/xchat.c:945 +msgid "External" +msgstr "Luaran" + +#: src/common/xchat.c:946 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:948 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:949 +msgid "Open Dialog Window" +msgstr "Buka Tetingkap Dialog" + +#: src/common/xchat.c:961 +msgid "Disconnect" +msgstr "Putus" + +#: src/common/xchat.c:962 +msgid "Reconnect" +msgstr "UlangSambung" + +#: src/common/xchat.c:963 +#, fuzzy +msgid "Leave Channel" +msgstr "Saluran" + +#: src/common/xchat.c:964 +msgid "Join Channel..." +msgstr "Sertai Saluran..." + +#: src/common/xchat.c:965 +#, fuzzy +msgid "Enter Channel to Join:" +msgstr "Saluran ini akan" + +#: src/common/xchat.c:966 +msgid "Server Links" +msgstr "Pautan Pelayan" + +#: src/common/xchat.c:967 +msgid "Ping Server" +msgstr "Ping Pelayan" + +#: src/common/xchat.c:968 +msgid "Hide Version" +msgstr "Sorok Versi" + +#: src/common/xchat.c:978 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:979 +msgid "DeOp" +msgstr "" + +#: src/common/xchat.c:982 +msgid "bye" +msgstr "" + +#: src/common/xchat.c:983 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Masukkan alasan untuk tendang %s:" + +#: src/common/xchat.c:984 +#, fuzzy +msgid "Sendfile" +msgstr "Fail bunyi: " + +#: src/common/xchat.c:985 +msgid "Dialog" +msgstr "Dialog" + +#: src/common/xchat.c:995 +#, fuzzy +msgid "Send" +msgstr "Hantar" + +#: src/common/xchat.c:996 +#, fuzzy +msgid "Chat" +msgstr "Chad" + +#: src/common/xchat.c:998 src/fe-gtk/banlist.c:314 src/fe-gtk/search.c:117 +#: src/fe-gtk/urlgrab.c:200 +msgid "Clear" +msgstr "Kosongkan" + +#: src/fe-gtk/about.c:102 +msgid "About X-Chat" +msgstr "Perihal X-Chat" + +#: src/fe-gtk/about.c:124 +msgid "A multiplatform IRC Client" +msgstr "" + +#: src/fe-gtk/ascii.c:131 +msgid "Character Chart" +msgstr "Carta Aksara" + +#: src/fe-gtk/banlist.c:148 src/fe-gtk/banlist.c:232 +msgid "You must select some bans." +msgstr "" + +#: src/fe-gtk/banlist.c:248 src/fe-gtk/ignoregui.c:174 +msgid "Mask" +msgstr "Topengan" + +#: src/fe-gtk/banlist.c:249 src/fe-gtk/dccgui.c:485 +msgid "From" +msgstr "Daripada" + +# libgnomeui/gnome-scores.c:105 +#: src/fe-gtk/banlist.c:250 +msgid "Date" +msgstr "Tarikh" + +#: src/fe-gtk/banlist.c:294 +#, fuzzy, c-format +msgid "X-Chat: Ban List (%s)" +msgstr "Chat dengan %s" + +#: src/fe-gtk/banlist.c:310 +msgid "Unban" +msgstr "" + +#: src/fe-gtk/banlist.c:312 +msgid "Crop" +msgstr "Crop" + +#: src/fe-gtk/banlist.c:316 +msgid "Refresh" +msgstr "Segarkan" + +#: src/fe-gtk/chanlist.c:120 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "Statistik Pengguna dan Saluran: %d/%d Pengguna pada %d/%d Saluran" + +#: src/fe-gtk/chanlist.c:536 +msgid "I can't save an empty list!" +msgstr "Saya tak dapat simpan senarai kosong" + +#: src/fe-gtk/chanlist.c:539 src/fe-gtk/menu.c:931 +msgid "Select an output filename" +msgstr "Pilih fail output" + +#: src/fe-gtk/chanlist.c:607 +#, c-format +msgid "X-Chat: Channel List (%s)" +msgstr "X-Chat: Senarai Saluran (%s)" + +#: src/fe-gtk/chanlist.c:622 +msgid "List display options:" +msgstr "Tak dapat memapar opsyen:" + +#: src/fe-gtk/chanlist.c:634 +#, fuzzy +msgid "Minimum Users:" +msgstr "Pengguna Minimum:" + +#: src/fe-gtk/chanlist.c:649 +#, fuzzy +msgid "Maximum Users:" +msgstr "Pengguna Maksimum:" + +#: src/fe-gtk/chanlist.c:664 +#, fuzzy +msgid "Regex Match:" +msgstr "Padanan regexp: " + +#: src/fe-gtk/chanlist.c:685 +msgid "Apply Match to:" +msgstr "Terapkan Padanan ke:" + +#: src/fe-gtk/chanlist.c:709 +msgid "Apply" +msgstr "Terap" + +#: src/fe-gtk/chanlist.c:751 +msgid "Refresh the list" +msgstr "Segarkan senarai" + +#: src/fe-gtk/chanlist.c:753 +msgid "Save the list" +msgstr "Simpan senarai" + +#: src/fe-gtk/chanlist.c:755 src/fe-gtk/menu.c:739 +msgid "Join Channel" +msgstr "Sertai Saluran" + +#: src/fe-gtk/dccgui.c:126 +#, c-format +msgid "Send file to %s" +msgstr "Kirim fail kepada %s" + +#: src/fe-gtk/dccgui.c:339 +#, c-format +msgid "" +" File: %s\n" +" To/From: %s\n" +" Size: %u\n" +" Port: %d\n" +" IP Number: %s\n" +"Start Time: %s Max CPS: %d\n" +msgstr "" +" Fail: %s\n" +" Kpd/Drpd: %s\n" +" Saiz: %u\n" +" Liang: %d\n" +" Nombor IP: %s\n" +" Masa Mula: %s Max CPS: %d\n" + +#: src/fe-gtk/dccgui.c:372 +msgid "That file is not resumable." +msgstr "" + +#: src/fe-gtk/dccgui.c:376 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:383 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:387 +msgid "Cannot resume the same file from two people." +msgstr "" + +#: src/fe-gtk/dccgui.c:474 +msgid "MIME Type" +msgstr "Jenis MIME" + +#: src/fe-gtk/dccgui.c:480 src/fe-gtk/dccgui.c:630 src/fe-gtk/dccgui.c:753 +#: src/fe-gtk/notifygui.c:110 +msgid "Status" +msgstr "Status" + +#: src/fe-gtk/dccgui.c:481 src/fe-gtk/dccgui.c:631 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Fail" + +#: src/fe-gtk/dccgui.c:484 src/fe-gtk/dccgui.c:635 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:494 +msgid "X-Chat: File Receive List" +msgstr "" + +#: src/fe-gtk/dccgui.c:522 src/fe-gtk/dccgui.c:668 src/fe-gtk/dccgui.c:783 +msgid "Abort" +msgstr "Abai" + +#: src/fe-gtk/dccgui.c:524 src/fe-gtk/dccgui.c:784 +msgid "Accept" +msgstr "Terima" + +#: src/fe-gtk/dccgui.c:526 +msgid "Resume" +msgstr "Sambung" + +#: src/fe-gtk/dccgui.c:530 +msgid "Open" +msgstr "Buka" + +#: src/fe-gtk/dccgui.c:634 +msgid "Ack" +msgstr "Ack" + +#: src/fe-gtk/dccgui.c:636 +msgid "To" +msgstr "Kepada" + +#: src/fe-gtk/dccgui.c:646 +msgid "X-Chat: File Send List" +msgstr "" + +#: src/fe-gtk/dccgui.c:754 +msgid "To/From" +msgstr "Kpd/Drpd" + +#: src/fe-gtk/dccgui.c:755 +msgid "Recv" +msgstr "Terima" + +#: src/fe-gtk/dccgui.c:756 +msgid "Sent" +msgstr "Hantar" + +#: src/fe-gtk/dccgui.c:757 +msgid "StartTime" +msgstr "MasaMula" + +#: src/fe-gtk/dccgui.c:767 +msgid "X-Chat: DCC Chat List" +msgstr "X-Chat: Senarai DCC Chat" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*BARU*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "EDIT SAYA" + +#: src/fe-gtk/editlist.c:305 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Nama" + +#: src/fe-gtk/editlist.c:306 +msgid "Command" +msgstr "Arahan" + +#: src/fe-gtk/editlist.c:333 +msgid "Move Up" +msgstr "Naik Atas" + +#: src/fe-gtk/editlist.c:337 +msgid "Move Dn" +msgstr "Turun Bawah" + +#: src/fe-gtk/editlist.c:345 +msgid "Cancel" +msgstr "Batal" + +#: src/fe-gtk/editlist.c:349 src/fe-gtk/textgui.c:464 src/fe-gtk/urlgrab.c:204 +msgid "Save" +msgstr "Simpan" + +#: src/fe-gtk/editlist.c:357 +msgid "Add New" +msgstr "Tambah Baru" + +#: src/fe-gtk/editlist.c:361 src/fe-gtk/fkeys.c:746 src/fe-gtk/ignoregui.c:378 +msgid "Delete" +msgstr "Padam" + +#: src/fe-gtk/editlist.c:369 +msgid "Sort" +msgstr "Isih" + +#: src/fe-gtk/editlist.c:373 +msgid "Help" +msgstr "Bantuan" + +#: src/fe-gtk/fe-gtk.c:143 +#, fuzzy +msgid "Options" +msgstr "Aksi" + +#: src/fe-gtk/fe-gtk.c:144 +msgid "DIRECTORY" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:145 +msgid "use a different config dir" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:146 +msgid "don't auto connect" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:147 +msgid "don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:148 +#, fuzzy +msgid "show version information" +msgstr "Maklumat Pelayan" + +#: src/fe-gtk/fe-gtk.c:214 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Gagal membuka font:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:617 +msgid "Search buffer is empty.\n" +msgstr "Penimbal carian kosong.\n" + +#: src/fe-gtk/fe-gtk.c:694 +#, c-format +msgid "%d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into " +"the entry box where you pressed the key sequence. Thus it can contain text " +"(which will be sent to the channel/person), commands or user commands. When " +"run all \\n characters in Data 1 are used to deliminate seperate commands so " +"it is possible to run more than one command. If you want a \\ in the actual " +"text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1 " +"to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page. If Data " +"1 is set to anything the page scrolls up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered to " +"the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "" +"The Last Command command sets the entry to contain the last command entered " +"- the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "" +"The Next Command command sets the entry to contain the next command entered " +"- the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the " +"last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set " +"to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:171 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command moves the front tab left by one" +msgstr "Arahan ini memindah tab hadapan ke kiri satu langkah" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command moves the front tab right by one" +msgstr "Arahan ini memindah tab hadapan ke kanan satu langkah" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command moves the current tab family to the left" +msgstr "Arahan ini memindah keluarga tab semasa ke kiri" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the current tab family to the right" +msgstr "Arahan ini memindah keluarga tab semasa ke kanan" + +#: src/fe-gtk/fkeys.c:181 +msgid "Push input line into history but doesn't send to server" +msgstr "Tolak baris input ke sejarah tapi tidak hantar ke pelayan" + +#: src/fe-gtk/fkeys.c:193 +msgid "There was an error loading key bindings configuration" +msgstr "Terdapat ralat memuatkan konfigurasi ikatan kekunci" + +#: src/fe-gtk/fkeys.c:434 src/fe-gtk/fkeys.c:435 src/fe-gtk/fkeys.c:436 +#: src/fe-gtk/fkeys.c:437 src/fe-gtk/fkeys.c:719 src/fe-gtk/fkeys.c:725 +#: src/fe-gtk/fkeys.c:730 src/fe-gtk/maingui.c:804 src/fe-gtk/maingui.c:825 +#: src/fe-gtk/maingui.c:979 src/fe-gtk/maingui.c:1018 +#: src/fe-gtk/maingui.c:2360 +msgid "<none>" +msgstr "<tiada>" + +#: src/fe-gtk/fkeys.c:683 +msgid "Mod" +msgstr "Mod" + +#: src/fe-gtk/fkeys.c:684 src/fe-gtk/fkeys.c:779 +msgid "Key" +msgstr "Kekunci" + +#: src/fe-gtk/fkeys.c:685 +msgid "Action" +msgstr "Aksi" + +#: src/fe-gtk/fkeys.c:694 +msgid "X-Chat: Edit Key Bindings" +msgstr "X-Chat: Edit Ikatan kekunci" + +#: src/fe-gtk/fkeys.c:741 +msgid "Add new" +msgstr "Tambah baru" + +#: src/fe-gtk/fkeys.c:772 +msgid "Shift" +msgstr "Shif" + +#: src/fe-gtk/fkeys.c:774 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:776 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:783 +msgid "Data 1" +msgstr "Data 1" + +#: src/fe-gtk/fkeys.c:786 +msgid "Data 2" +msgstr "Data 2" + +#: src/fe-gtk/fkeys.c:829 +msgid "Error opening keys config file\n" +msgstr "Ralat membuka fail konfig kekunci\n" + +#: src/fe-gtk/fkeys.c:1000 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Namakekunci tidak dikenali %s pada fail konfig ikatan kekunci.\n" +"Pemuatan diabatalkan, sila perbetulkan %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1038 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Aksi tidak dikenali %s pada fail konfig ikatan kekunci.\n" +"Pemuatan diabatalkan, sila perbetulkan %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1059 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Menjangka baris data (bermula Dx{:|!}) tapi dapat:\n" +"%s\n" +"\n" +"Pemuatan diabatalkan, sila perbetulkan %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1128 +#, fuzzy, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Fail konfig ikatan kekunci rosak.Pemuatan diabatalkan\n" +", sila perbetulkan %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:146 +msgid "Cannot write to that file." +msgstr "Tidak dapat menulis ke fail itu." + +#: src/fe-gtk/gtkutil.c:148 +msgid "Cannot read that file." +msgstr "Tidak dapat membaca fail itu." + +#: src/fe-gtk/ignoregui.c:116 src/fe-gtk/ignoregui.c:279 +msgid "That mask already exists." +msgstr "" + +#: src/fe-gtk/ignoregui.c:176 src/fe-gtk/maingui.c:1473 +#, fuzzy +msgid "Private" +msgstr "Pencetak" + +#: src/fe-gtk/ignoregui.c:177 +msgid "Notice" +msgstr "Notis" + +#: src/fe-gtk/ignoregui.c:178 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:179 +msgid "DCC" +msgstr "" + +#: src/fe-gtk/ignoregui.c:180 +msgid "Invite" +msgstr "Jemput" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Unignore" +msgstr "Nyah-abai" + +#: src/fe-gtk/ignoregui.c:299 +msgid "Enter mask to ignore:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:346 +#, fuzzy +msgid "X-Chat: Ignore list" +msgstr "Dalam Senarai Abaikan" + +#: src/fe-gtk/ignoregui.c:353 +msgid "Ignore Stats:" +msgstr "Abaikan Stat:" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Channel:" +msgstr "Saluran:" + +#: src/fe-gtk/ignoregui.c:362 +#, fuzzy +msgid "Private:" +msgstr "Pemacu Jaz" + +#: src/fe-gtk/ignoregui.c:363 +msgid "Notice:" +msgstr "Notis:" + +#: src/fe-gtk/ignoregui.c:364 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:365 +msgid "Invite:" +msgstr "Jemput:" + +#: src/fe-gtk/ignoregui.c:376 src/fe-gtk/menu.c:1236 +msgid "New" +msgstr "Baru" + +#: src/fe-gtk/ignoregui.c:380 +#, fuzzy +msgid "Delete All" +msgstr "Padam" + +#: src/fe-gtk/maingui.c:477 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Topik bagi %s ialah: %s" + +#: src/fe-gtk/maingui.c:481 +msgid "No topic is set" +msgstr "Tiada topik ditetapkan" + +#: src/fe-gtk/maingui.c:878 +msgid "No other tabs open, quit xchat?" +msgstr "Tiada tab lain dibuka, keluar xchat?" + +#: src/fe-gtk/maingui.c:924 +msgid "Insert color code" +msgstr "Masukkan kod warna" + +# libgnomeui/gnome-stock.c:840 libgnomeui/stock_demo.c:144 +#: src/fe-gtk/maingui.c:966 src/fe-gtk/menu.c:1258 +msgid "Close Tab" +msgstr "Tutup Tab" + +#: src/fe-gtk/maingui.c:969 src/fe-gtk/menu.c:1388 +msgid "Detach Tab" +msgstr "Leraikan Tab" + +#: src/fe-gtk/maingui.c:984 +#, fuzzy +msgid "Beep on message" +msgstr "Beep pada Mesej" + +#: src/fe-gtk/maingui.c:987 +#, fuzzy +msgid "Show join/part messages" +msgstr "Hantar dan Terima mesej" + +#: src/fe-gtk/maingui.c:989 +#, fuzzy +msgid "Color paste" +msgstr "Xterm warna (xterm-color)" + +#: src/fe-gtk/maingui.c:999 +msgid "Go to" +msgstr "" + +#: src/fe-gtk/maingui.c:1191 +msgid "Some file transfers still active, quit xchat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1341 src/fe-gtk/maingui.c:1447 +#, fuzzy +msgid "User limit must be a number!\n" +msgstr "Item menu mesti mempunyai nama" + +#: src/fe-gtk/maingui.c:1469 +msgid "Topic Protection" +msgstr "Perlindungan Topik" + +#: src/fe-gtk/maingui.c:1470 +#, fuzzy +msgid "No outside messages" +msgstr "Karang mesej" + +#: src/fe-gtk/maingui.c:1471 +msgid "Secret" +msgstr "Rahsia" + +#: src/fe-gtk/maingui.c:1472 +msgid "Invite Only" +msgstr "Jemputan Sahaja" + +#: src/fe-gtk/maingui.c:1474 +#, fuzzy +msgid "Moderated" +msgstr "Britain" + +#: src/fe-gtk/maingui.c:1475 +#, fuzzy +msgid "Ban List" +msgstr "Senarai Roman" + +#: src/fe-gtk/maingui.c:1477 +msgid "Keyword" +msgstr "katakunci" + +#: src/fe-gtk/maingui.c:1489 +msgid "User Limit" +msgstr "Had Pengguna" + +#: src/fe-gtk/maingui.c:1505 +#, fuzzy +msgid "Close this tab/window" +msgstr "Tutup tetingkap ini" + +#: src/fe-gtk/maingui.c:1602 +#, fuzzy +msgid "Show/Hide userlist" +msgstr "Sorok/Papar Opsyen" + +#: src/fe-gtk/maingui.c:1712 +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 "" + +#: src/fe-gtk/maingui.c:1905 +#, fuzzy +msgid "Enter new nickname:" +msgstr "Gelaran baru" + +#: src/fe-gtk/menu.c:141 +msgid "Host unknown" +msgstr "Hos tak diketahui" + +#: src/fe-gtk/menu.c:502 +#, c-format +msgid "User: %s" +msgstr "Pengguna: %s" + +#: src/fe-gtk/menu.c:506 +#, c-format +msgid "Country: %s" +msgstr "Negara: %s" + +#: src/fe-gtk/menu.c:510 +#, c-format +msgid "Realname: %s" +msgstr "Nama sebenar: %s" + +#: src/fe-gtk/menu.c:514 +#, c-format +msgid "Server: %s" +msgstr "Pelayan: %s" + +#: src/fe-gtk/menu.c:518 +#, c-format +msgid "Last Msg: %s" +msgstr "Msj Terakhir: %s" + +#: src/fe-gtk/menu.c:603 +msgid "Menu Bar" +msgstr "Bar Menu" + +#: src/fe-gtk/menu.c:604 +msgid "Topic Bar" +msgstr "Bar Topik" + +#: src/fe-gtk/menu.c:608 +msgid "User List" +msgstr "Senarai Pengguna" + +#: src/fe-gtk/menu.c:611 +#, fuzzy +msgid "Mode Buttons" +msgstr "Butang Dialog..." + +#: src/fe-gtk/menu.c:617 +#, fuzzy +msgid "User List Buttons" +msgstr "Sempadan sekeliling butang" + +#: src/fe-gtk/menu.c:743 +#, fuzzy +msgid "Part Channel" +msgstr "Saluran" + +#: src/fe-gtk/menu.c:745 +#, fuzzy +msgid "Cycle Channel" +msgstr "Saluran" + +#: src/fe-gtk/menu.c:768 +msgid "X-Chat: User menu" +msgstr "X-Chat: Menu pengguna" + +#: src/fe-gtk/menu.c:777 +msgid "Edit This Menu..." +msgstr "Edit Menu Ini..." + +#: src/fe-gtk/menu.c:879 +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 "" + +#: src/fe-gtk/menu.c:1001 +msgid "Settings saved." +msgstr "Tetapan disimpan." + +#: src/fe-gtk/menu.c:1038 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" + +#: src/fe-gtk/menu.c:1053 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" + +#: src/fe-gtk/menu.c:1062 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" + +#: src/fe-gtk/menu.c:1071 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" + +#: src/fe-gtk/menu.c:1081 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of X-Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1090 +#, fuzzy +msgid "X-Chat: User Defined Commands" +msgstr "Arahan Pengguna" + +#: src/fe-gtk/menu.c:1097 +msgid "X-Chat: Userlist Popup menu" +msgstr "" + +#: src/fe-gtk/menu.c:1104 +#, fuzzy +msgid "X-Chat: Replace" +msgstr "Tak Ganti" + +#: src/fe-gtk/menu.c:1111 +msgid "X-Chat: URL Handlers" +msgstr "X-Chat: Pengendali URL" + +#: src/fe-gtk/menu.c:1130 +msgid "X-Chat: Userlist buttons" +msgstr "X-Chat: Butang Senarai pengguna" + +#: src/fe-gtk/menu.c:1137 +msgid "X-Chat: Dialog buttons" +msgstr "X-Chat: Butang dialog" + +#: src/fe-gtk/menu.c:1144 +msgid "X-Chat: CTCP Replies" +msgstr "X-Chat: Balasan CTCP" + +#: src/fe-gtk/menu.c:1232 +msgid "_X-Chat" +msgstr "_X-Chat" + +#: src/fe-gtk/menu.c:1233 +msgid "Server List..." +msgstr "Senarai Pelayan..." + +#: src/fe-gtk/menu.c:1237 +msgid "Server Tab..." +msgstr "Tab Pelayan..." + +#: src/fe-gtk/menu.c:1238 +msgid "Channel Tab..." +msgstr "Tab Saluran..." + +#: src/fe-gtk/menu.c:1239 +msgid "Server Window..." +msgstr "Tetingkap Pelayan..." + +#: src/fe-gtk/menu.c:1240 +msgid "Channel Window..." +msgstr "Tetingkap Saluran..." + +#: src/fe-gtk/menu.c:1245 src/fe-gtk/menu.c:1247 +msgid "Load Plugin or Script..." +msgstr "Muatkan Plugin atau skrip..." + +#: src/fe-gtk/menu.c:1251 +msgid "New Shell Tab..." +msgstr "Tab Shell Baru..." + +#: src/fe-gtk/menu.c:1260 +msgid "Quit" +msgstr "Keluar" + +#: src/fe-gtk/menu.c:1262 +msgid "_IRC" +msgstr "_IRC" + +#: src/fe-gtk/menu.c:1263 +msgid "Invisible" +msgstr "Ghaib" + +#: src/fe-gtk/menu.c:1264 +msgid "Receive Wallops" +msgstr "Terima Wallop" + +#: src/fe-gtk/menu.c:1265 +msgid "Receive Server Notices" +msgstr "Terima Notis Pelayan" + +#: src/fe-gtk/menu.c:1267 +msgid "Marked Away" +msgstr "Ditanda Away" + +#: src/fe-gtk/menu.c:1269 +msgid "Auto Rejoin when Kicked" +msgstr "Auto Sertai bila Ditendang" + +#: src/fe-gtk/menu.c:1270 +msgid "Auto Reconnect to Server" +msgstr "Auto Sambung semula ke Pelayan" + +#: src/fe-gtk/menu.c:1271 +msgid "Never-give-up ReConnect" +msgstr "Ulang Sambung Jangan-putus-asa" + +#: src/fe-gtk/menu.c:1273 +msgid "Auto Open Dialog Windows" +msgstr "Auto Buka Tetingkap Dialog" + +#: src/fe-gtk/menu.c:1274 +msgid "Auto Accept Direct Chat" +msgstr "Auto Terima Chat Langsung" + +#: src/fe-gtk/menu.c:1275 +msgid "Auto Accept Files" +msgstr "Auto Terima Fail" + +#: src/fe-gtk/menu.c:1277 +msgid "_Server" +msgstr "_Pelayan" + +#: src/fe-gtk/menu.c:1279 +msgid "S_ettings" +msgstr "_Tetapan" + +#: src/fe-gtk/menu.c:1280 +msgid "Preferences..." +msgstr "Keutamaan..." + +#: src/fe-gtk/menu.c:1282 +msgid "Lists" +msgstr "Senarai" + +#: src/fe-gtk/menu.c:1283 +msgid "Auto Replace..." +msgstr "Auto Ganti..." + +#: src/fe-gtk/menu.c:1284 +msgid "CTCP Replies..." +msgstr "Balas CTCP..." + +#: src/fe-gtk/menu.c:1285 +msgid "Dialog Buttons..." +msgstr "Butang Dialog..." + +#: src/fe-gtk/menu.c:1286 +msgid "Key Bindings..." +msgstr "Ikatan Kekunci..." + +#: src/fe-gtk/menu.c:1287 +msgid "Text Events..." +msgstr "Acara Teks..." + +#: src/fe-gtk/menu.c:1288 +msgid "URL Handlers..." +msgstr "Pengendali URL..." + +#: src/fe-gtk/menu.c:1289 +msgid "User Commands..." +msgstr "Arahan Pengguna..." + +#: src/fe-gtk/menu.c:1290 +msgid "Userlist Buttons..." +msgstr "Butang Senarai Pengguna..." + +#: src/fe-gtk/menu.c:1291 +msgid "Userlist Popup..." +msgstr "Popup Senarai Pengguna..." + +#: src/fe-gtk/menu.c:1296 +msgid "Reload Settings" +msgstr "Ulangmuat Tetapan" + +#: src/fe-gtk/menu.c:1298 +msgid "Save Settings now" +msgstr "Simpan Tetapan sekarang" + +#: src/fe-gtk/menu.c:1299 +msgid "Save Settings on exit" +msgstr "Simpan Tetapan bila keluar" + +#: src/fe-gtk/menu.c:1302 +msgid "_Window" +msgstr "_Tetingkap" + +#: src/fe-gtk/menu.c:1303 +msgid "Ban List..." +msgstr "Senarai Ban" + +#: src/fe-gtk/menu.c:1304 +msgid "Channel List..." +msgstr "Senarai Saluran..." + +#: src/fe-gtk/menu.c:1305 +msgid "Character Chart..." +msgstr "" + +#: src/fe-gtk/menu.c:1306 +msgid "Direct Chat..." +msgstr "Chat Langsung..." + +#: src/fe-gtk/menu.c:1307 +msgid "File Receive..." +msgstr "Fail Diterima..." + +#: src/fe-gtk/menu.c:1308 +msgid "File Send..." +msgstr "Fail Dihantar..." + +#: src/fe-gtk/menu.c:1309 +msgid "Ignore List..." +msgstr "Senarai Abaikan..." + +#: src/fe-gtk/menu.c:1310 +msgid "Notify List..." +msgstr "Senarai Makluman..." + +#: src/fe-gtk/menu.c:1311 +msgid "Plugins and Scripts..." +msgstr "" + +#: src/fe-gtk/menu.c:1312 +msgid "Raw Log..." +msgstr "Log Mentah..." + +#: src/fe-gtk/menu.c:1313 +msgid "URL Grabber..." +msgstr "Penggenggam URL" + +#: src/fe-gtk/menu.c:1315 +msgid "C_lear Text" +msgstr "Teks Je_rnih" + +#: src/fe-gtk/menu.c:1316 +msgid "Search Text..." +msgstr "Teks Carian..." + +#: src/fe-gtk/menu.c:1317 +msgid "Save Text..." +msgstr "Simpan Teks..." + +#: src/fe-gtk/menu.c:1319 +msgid "_Help" +msgstr "_Bantuan" + +#: src/fe-gtk/menu.c:1320 +msgid "_Contents" +msgstr "_Kandungan" + +#: src/fe-gtk/menu.c:1321 +msgid "_About" +msgstr "_Perihal" + +#: src/fe-gtk/menu.c:1390 +msgid "Attach Tab" +msgstr "" + +# libgnomeui/gnome-scores.c:99 +#: src/fe-gtk/notifygui.c:109 +msgid "User" +msgstr "Pengguna" + +#: src/fe-gtk/notifygui.c:111 +msgid "Server" +msgstr "Pelayan" + +#: src/fe-gtk/notifygui.c:112 +msgid "Last Seen" +msgstr "Terakhir Dilihat" + +#: src/fe-gtk/notifygui.c:149 +msgid "Offline" +msgstr "LuarTalian" + +#: src/fe-gtk/notifygui.c:169 +msgid "Never" +msgstr "Tidak sekali" + +#: src/fe-gtk/notifygui.c:187 +msgid "Online" +msgstr "DalamTalian" + +#: src/fe-gtk/notifygui.c:277 +msgid "Enter nickname to add:" +msgstr "Masukkan nama gelaran untuk ditambah:" + +#: src/fe-gtk/notifygui.c:293 +msgid "X-Chat: Notify List" +msgstr "X-Chat: Senarai Makluman" + +#: src/fe-gtk/notifygui.c:306 src/fe-gtk/servlistgui.c:712 +msgid "Add" +msgstr "Tambah" + +#: src/fe-gtk/notifygui.c:308 +msgid "Remove" +msgstr "Buang" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:387 +msgid "Description" +msgstr "Huraian" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Pilih Plugin atau skrip untuk dimuatkan" + +#: src/fe-gtk/plugingui.c:219 +#, fuzzy +msgid "X-Chat: Plugins and Scripts" +msgstr "Plugin" + +#: src/fe-gtk/plugingui.c:225 +msgid "_Load..." +msgstr "_Muat ..." + +#: src/fe-gtk/plugingui.c:228 +msgid "_UnLoad" +msgstr "_Nyahmuat" + +# libgnomeui/gnome-stock.c:840 libgnomeui/stock_demo.c:144 +#: src/fe-gtk/plugingui.c:232 +msgid "_Close" +msgstr "_Tutup" + +#: src/fe-gtk/rawlog.c:78 +msgid "Save rawlog" +msgstr "Simpan log mentah" + +#: src/fe-gtk/rawlog.c:94 +#, c-format +msgid "X-Chat: Rawlog (%s)" +msgstr "X-Chat: Log Mentah (%s)" + +#: src/fe-gtk/rawlog.c:123 +msgid "Clear rawlog" +msgstr "Kosongkan log mentah" + +#: src/fe-gtk/rawlog.c:126 +msgid "Save rawlog..." +msgstr "Simpanlog mentah..." + +#: src/fe-gtk/search.c:47 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "" + +#: src/fe-gtk/search.c:91 +msgid "X-Chat: Search" +msgstr "X-Chat: Carian" + +#: src/fe-gtk/search.c:100 +msgid "Find:" +msgstr "Cari:" + +#: src/fe-gtk/search.c:114 +msgid "Find" +msgstr "Cari" + +# libgnomeui/gnome-stock.c:840 libgnomeui/stock_demo.c:144 +#: src/fe-gtk/search.c:119 +msgid "Close" +msgstr "Tutup" + +#: src/fe-gtk/servlistgui.c:161 +#, fuzzy, c-format +msgid "Settings for %s" +msgstr "Tetapan" + +#: src/fe-gtk/servlistgui.c:202 src/fe-gtk/servlistgui.c:275 +msgid "New Network" +msgstr "Rangkaian Baru" + +#: src/fe-gtk/servlistgui.c:370 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "" + +#: src/fe-gtk/servlistgui.c:407 src/fe-gtk/servlistgui.c:437 +#, c-format +msgid "_Remove \"%s\"" +msgstr "_Buang \"%s\"" + +#: src/fe-gtk/servlistgui.c:414 +msgid "_Add new server" +msgstr "_Tambah pelayan baru" + +#: src/fe-gtk/servlistgui.c:444 +#, c-format +msgid "Move \"%s\" _down" +msgstr "" + +#: src/fe-gtk/servlistgui.c:451 +#, c-format +msgid "Move \"%s\" _up" +msgstr "Naikkan \"%s\" ke _atas" + +#: src/fe-gtk/servlistgui.c:462 +msgid "_Add new network" +msgstr "_Tambah rangkaian baru" + +#: src/fe-gtk/servlistgui.c:826 +#, fuzzy +msgid "Global User Info" +msgstr "Ulangtetap semua Tetapan pengguna" + +#: src/fe-gtk/servlistgui.c:834 +msgid "Nick Names:" +msgstr "Nama Gelaran:" + +#: src/fe-gtk/servlistgui.c:853 src/fe-gtk/servlistgui.c:1056 +msgid "User Name:" +msgstr "Nama Pengguna:" + +#: src/fe-gtk/servlistgui.c:866 src/fe-gtk/servlistgui.c:1058 +msgid "Real Name:" +msgstr "Nama Sebenar:" + +#: src/fe-gtk/servlistgui.c:908 +msgid "C_onnect" +msgstr "S_ambung" + +#: src/fe-gtk/servlistgui.c:916 +msgid "Connect in a _new tab" +msgstr "Sambung di tab ba_ru" + +#: src/fe-gtk/servlistgui.c:976 +msgid "Servers" +msgstr "Pelayan" + +#: src/fe-gtk/servlistgui.c:1014 +msgid "Character Set:" +msgstr "Set Aksara:" + +#: src/fe-gtk/servlistgui.c:1054 +msgid "Nick Name:" +msgstr "Nama Gelaran:" + +#: src/fe-gtk/servlistgui.c:1059 +msgid "Server Password:" +msgstr "Katalaluan Pelayan:" + +#: src/fe-gtk/servlistgui.c:1061 +msgid "Join Channels:" +msgstr "Sertai Saluran:" + +#: src/fe-gtk/servlistgui.c:1063 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1064 +msgid "Connect Command:" +msgstr "Arahan Sambungan:" + +#: src/fe-gtk/servlistgui.c:1066 +msgid "" +"Command to execute after connecting. Can be used to authenticate to NickServ" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1074 +msgid "Cycle until connected" +msgstr "Kitar sehingga disambung" + +#: src/fe-gtk/servlistgui.c:1075 +#, fuzzy +msgid "Use global user info" +msgstr "Ulangtetap semua Tetapan pengguna" + +#: src/fe-gtk/servlistgui.c:1076 +msgid "Use secure SSL" +msgstr "Guna SSL selamat" + +#: src/fe-gtk/servlistgui.c:1077 +#, fuzzy +msgid "Auto connect at startup" +msgstr "Sambung Gabber pada permulaan secara automatik" + +#: src/fe-gtk/servlistgui.c:1078 +#, fuzzy +msgid "Use a proxy server" +msgstr "Guna pelayan proksi" + +#: src/fe-gtk/servlistgui.c:1079 +msgid "Accept invalid cert." +msgstr "Terima sijil yg tidak sah" + +#: src/fe-gtk/servlistgui.c:1088 +#, fuzzy +msgid "Settings for Selected Network" +msgstr "Cari Teks dipilih di Google" + +#: src/fe-gtk/servlistgui.c:1128 +msgid "Edit mode" +msgstr "Mod edit" + +#: src/fe-gtk/servlistgui.c:1135 +msgid "Networks" +msgstr "Rangkaian" + +#: src/fe-gtk/servlistgui.c:1180 +msgid "No server list on startup" +msgstr "Tiada senarai pelayan pada permulaan" + +#: src/fe-gtk/servlistgui.c:1207 +msgid "X-Chat: Server List" +msgstr "X-Chat: Senarai Pelayan" + +#: src/fe-gtk/setup.c:80 +msgid "Font:" +msgstr "Font:" + +#: src/fe-gtk/setup.c:81 +msgid "Background image:" +msgstr "Imej latarbelakang:" + +#: src/fe-gtk/setup.c:82 +msgid "Time stamp format:" +msgstr "Format setem masa" + +#: src/fe-gtk/setup.c:83 +msgid "See strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:84 +msgid "Time stamp text" +msgstr "Teks setem masa" + +#: src/fe-gtk/setup.c:85 +msgid "Transparent background" +msgstr "Latar belakang telus" + +#: src/fe-gtk/setup.c:86 +msgid "Indent nicks" +msgstr "Inden gelaran" + +#: src/fe-gtk/setup.c:87 +#, fuzzy +msgid "Tint transparency" +msgstr "Telus" + +#: src/fe-gtk/setup.c:88 +msgid "Colored nicks" +msgstr "Gelaran berwarna" + +#: src/fe-gtk/setup.c:89 +#, fuzzy +msgid "Strip mIRC color" +msgstr "Warna utama:" + +#: src/fe-gtk/setup.c:90 +msgid "Scrollback lines:" +msgstr "Baris skrol belakang:" + +#: src/fe-gtk/setup.c:91 +msgid "Tint red:" +msgstr "" + +#: src/fe-gtk/setup.c:92 +msgid "Tint green:" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Tint blue:" +msgstr "" + +#: src/fe-gtk/setup.c:99 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Tafsir %nnn sebagai nilai ASCII" + +#: src/fe-gtk/setup.c:100 +msgid "Automatic nick completion" +msgstr "Auto sempurna gelaran" + +#: src/fe-gtk/setup.c:101 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Tafsir %C, %B sebagai Warna, Bold dll" + +#: src/fe-gtk/setup.c:102 src/fe-gtk/setup.c:134 +#, fuzzy +msgid "Use the Text box font and colors" +msgstr "Guna font kekotak teks" + +#: src/fe-gtk/setup.c:103 +msgid "Nick completion suffix:" +msgstr "Suffik penyempurnaan gelaran" + +#: src/fe-gtk/setup.c:109 +#, fuzzy +msgid "Off" +msgstr "LuarTalian" + +#: src/fe-gtk/setup.c:110 +msgid "Graph" +msgstr "Graf" + +#: src/fe-gtk/setup.c:111 +msgid "Info text" +msgstr "Teks maklumat" + +#: src/fe-gtk/setup.c:112 +#, fuzzy +msgid "Both" +msgstr "Bawah" + +#: src/fe-gtk/setup.c:118 +msgid "A-Z, Ops first" +msgstr "A-Z, Op dahulu" + +#: src/fe-gtk/setup.c:119 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:120 +msgid "Z-A, Ops last" +msgstr "Z-A, Op Akhir" + +#: src/fe-gtk/setup.c:121 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:122 +msgid "Unsorted" +msgstr "Tidak Diisih" + +#: src/fe-gtk/setup.c:128 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:129 +#, fuzzy +msgid "Throttle meter:" +msgstr "Padaman Jadual" + +#: src/fe-gtk/setup.c:130 +#, fuzzy +msgid "Userlist sorted by:" +msgstr "Fail ditawarkan oleh:" + +#: src/fe-gtk/setup.c:131 +#, fuzzy +msgid "Double-click command:" +msgstr "Sela masa dwi-klik" + +#: src/fe-gtk/setup.c:132 +#, fuzzy +msgid "Show hostnames in userlist" +msgstr "Papar dalam senarai" + +#: src/fe-gtk/setup.c:133 +#, fuzzy +msgid "Userlist buttons enabled" +msgstr "Hidebuttons dihidupkan" + +#: src/fe-gtk/setup.c:135 +#, fuzzy +msgid "Resizable userlist" +msgstr "Sorok/Papar Opsyen" + +#: src/fe-gtk/setup.c:136 +msgid "Track away-status on channels smaller than:" +msgstr "" + +#: src/fe-gtk/setup.c:142 +msgid "Windows" +msgstr "Tetingkap" + +#: src/fe-gtk/setup.c:143 src/fe-gtk/setup.c:845 +msgid "Tabs" +msgstr "Tab" + +#: src/fe-gtk/setup.c:149 +msgid "Bottom" +msgstr "Bawah" + +#: src/fe-gtk/setup.c:150 +msgid "Top" +msgstr "Atas" + +# ui/galeon.glade.h:200 +#: src/fe-gtk/setup.c:151 +msgid "Left" +msgstr "Kiri" + +# ui/galeon.glade.h:268 +#: src/fe-gtk/setup.c:152 +msgid "Right" +msgstr "Kanan" + +#: src/fe-gtk/setup.c:153 +msgid "Hidden" +msgstr "Tersembunyi" + +#: src/fe-gtk/setup.c:159 +msgid "Show tabs at:" +msgstr "Papar Tab pada:" + +#: src/fe-gtk/setup.c:160 +msgid "Open channels in:" +msgstr "Buka saluran pada:" + +#: src/fe-gtk/setup.c:161 +#, fuzzy +msgid "Open dialogs in:" +msgstr "Buka log" + +#: src/fe-gtk/setup.c:162 +#, fuzzy +msgid "Open utilities in:" +msgstr "Buka di tetingkap ini" + +#: src/fe-gtk/setup.c:162 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "" + +#: src/fe-gtk/setup.c:163 +#, fuzzy +msgid "Open tab for server messages" +msgstr "Buka tab tambahan untuk notis pelayan" + +#: src/fe-gtk/setup.c:164 +#, fuzzy +msgid "Open tab for server notices" +msgstr "Buka tab tambahan untuk notis pelayan" + +#: src/fe-gtk/setup.c:165 +msgid "Pop new tabs to front" +msgstr "Buka tab baru dihadapan" + +#: src/fe-gtk/setup.c:166 +#, fuzzy +msgid "Shorten tabs to:" +msgstr "Papar Tab pada:" + +#: src/fe-gtk/setup.c:166 +msgid "letters." +msgstr "" + +#: src/fe-gtk/setup.c:172 +msgid "Download files to:" +msgstr "Muatturun fail ke:" + +#: src/fe-gtk/setup.c:173 +#, fuzzy +msgid "Move completed files to:" +msgstr "Muatturun fail ke:" + +#: src/fe-gtk/setup.c:174 +msgid "DCC IP address:" +msgstr "Alamat IP DCC:" + +#: src/fe-gtk/setup.c:175 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "First DCC send port:" +msgstr "Liang hantaran DCC Pertama:" + +#: src/fe-gtk/setup.c:177 +msgid "Last DCC send port:" +msgstr "Liang hantaran DCC Akhir:" + +#: src/fe-gtk/setup.c:178 +msgid "(Leave ports at zero for full range)." +msgstr "" + +#: src/fe-gtk/setup.c:179 +msgid "Auto open DCC send list" +msgstr "Auto buka senarai hantaran DCC" + +#: src/fe-gtk/setup.c:180 +msgid "Convert spaces to underscore" +msgstr "Tukar ruang ke underscore" + +#: src/fe-gtk/setup.c:181 +msgid "In filenames, before sending" +msgstr "Pada namafail, sebelum menghantar" + +#: src/fe-gtk/setup.c:182 +msgid "Auto open DCC chat list" +msgstr "Auto buka senarai chat DCC" + +#: src/fe-gtk/setup.c:183 +#, fuzzy +msgid "Save nickname in filenames" +msgstr "Simpan sebagai nama fail asal" + +#: src/fe-gtk/setup.c:184 +msgid "Auto open DCC receive list" +msgstr "Auto buka senarai penerimaan DCC" + +#: src/fe-gtk/setup.c:185 +msgid "Get my IP from IRC server" +msgstr "Dapatkan IP saya dari pelayan IRC" + +#: src/fe-gtk/setup.c:186 +#, fuzzy +msgid "" +"/WHOIS yourself to find your real address. Use this if you have a 192.168.*." +"* address!" +msgstr "/WHOIS siri anda untuk mencari alamat sebenar anda" + +#: src/fe-gtk/setup.c:187 +msgid "Max. send CPS:" +msgstr "" + +#: src/fe-gtk/setup.c:188 src/fe-gtk/setup.c:190 +msgid "Max. speed for one transfer" +msgstr "Kelajuan maksimum bagi satu penghantaran" + +#: src/fe-gtk/setup.c:189 +msgid "Max. receive CPS:" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Max. global send CPS:" +msgstr "" + +#: src/fe-gtk/setup.c:192 src/fe-gtk/setup.c:194 +msgid "Max. speed for all traffic" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Max. global receive CPS:" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "(Leave at zero for full speed file transfers)." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Default quit message:" +msgstr "Mesej keluar pelayan default:" + +#: src/fe-gtk/setup.c:202 +msgid "Default part message:" +msgstr "Mesej keluar saluran default:" + +#: src/fe-gtk/setup.c:203 +msgid "Default away message:" +msgstr "Mesej away default:" + +#: src/fe-gtk/setup.c:205 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "(Can be a text file relative to config dir)." +msgstr "" + +#: src/fe-gtk/setup.c:209 +msgid "Extra words to highlight on:" +msgstr "" + +#: src/fe-gtk/setup.c:210 +msgid "(Separate multiple words with commas)." +msgstr "" + +#: src/fe-gtk/setup.c:211 +msgid "Show away once" +msgstr "Papar away sekali" + +#: src/fe-gtk/setup.c:211 +#, fuzzy +msgid "Show identical away messages only once" +msgstr "Papar hanya mesej" + +#: src/fe-gtk/setup.c:212 +#, fuzzy +msgid "Beep on private messages" +msgstr "Hantar dan Terima mesej" + +#: src/fe-gtk/setup.c:213 +#, fuzzy +msgid "Automatically unmark away" +msgstr "_Automatik kemaskini setiap" + +#: src/fe-gtk/setup.c:213 +msgid "Unmark yourself as away before sending messages" +msgstr "" + +#: src/fe-gtk/setup.c:214 +#, fuzzy +msgid "Beep on channel messages" +msgstr "Karang mesej baru" + +#: src/fe-gtk/setup.c:215 +#, fuzzy +msgid "Announce away messages" +msgstr "Mesej Auto Ketika Tiada: " + +#: src/fe-gtk/setup.c:215 +msgid "Announce your away messages to all channels" +msgstr "Umumkan mesej away ke semua saluran" + +#: src/fe-gtk/setup.c:216 +#, fuzzy +msgid "Beep on highlighted messages" +msgstr "Hantar dan Terima mesej" + +#: src/fe-gtk/setup.c:217 +#, fuzzy +msgid "Display MODEs in raw form" +msgstr "Papar pakej dalam format senarai" + +#: src/fe-gtk/setup.c:218 +msgid "Whois on notify" +msgstr "" + +#: src/fe-gtk/setup.c:218 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "" + +#: src/fe-gtk/setup.c:219 +#, fuzzy +msgid "Hide join/part messages" +msgstr "Hantar dan Terima mesej" + +#: src/fe-gtk/setup.c:219 +#, fuzzy +msgid "Hide channel join/part messages by default" +msgstr "Hantar dan Terima mesej" + +#: src/fe-gtk/setup.c:220 +msgid "Auto reconnect delay:" +msgstr "Selang masa Auto ulang sambung:" + +#: src/fe-gtk/setup.c:226 +#, fuzzy +msgid "Log filename mask:" +msgstr "Nama fail ikon:" + +#: src/fe-gtk/setup.c:227 +#, c-format +msgid "(%s=Server %c=Channel %n=Network)." +msgstr "" + +#: src/fe-gtk/setup.c:228 +#, fuzzy +msgid "Log timestamp format:" +msgstr "Papar hanya mesej" + +#: src/fe-gtk/setup.c:229 +msgid "(See strftime manpage for details)." +msgstr "" + +#: src/fe-gtk/setup.c:230 +#, fuzzy +msgid "Enable logging of conversations" +msgstr "Papar operasi fail" + +#: src/fe-gtk/setup.c:231 +#, fuzzy +msgid "Insert timestamps in logs" +msgstr "Selit fail teks" + +#: src/fe-gtk/setup.c:237 +msgid "(Disabled)" +msgstr "(Dimatikan)" + +#: src/fe-gtk/setup.c:238 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:239 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:240 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:241 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:247 +msgid "Address to bind to:" +msgstr "Alamat untuk diikat:" + +#: src/fe-gtk/setup.c:248 +msgid "(Only useful for computers with multiple addresses)." +msgstr "" + +#: src/fe-gtk/setup.c:249 +#, fuzzy +msgid "Proxy server" +msgstr "Pelayan proksi:" + +#: src/fe-gtk/setup.c:250 +#, fuzzy +msgid "Hostname:" +msgstr "Namahos" + +#: src/fe-gtk/setup.c:251 +#, fuzzy +msgid "Username:" +msgstr "Namapengguna" + +#: src/fe-gtk/setup.c:252 +#, fuzzy +msgid "Password:" +msgstr "Katalaluan Pelayan:" + +#: src/fe-gtk/setup.c:253 +#, fuzzy +msgid "Port:" +msgstr "Liang" + +#: src/fe-gtk/setup.c:254 +#, fuzzy +msgid "Type:" +msgstr "Jenis DCC" + +#: src/fe-gtk/setup.c:256 +msgid "Authenticate to the proxy server (only HTTP)" +msgstr "" + +#: src/fe-gtk/setup.c:479 +#, fuzzy +msgid "Select an Image File" +msgstr "Pilih fail output" + +#: src/fe-gtk/setup.c:506 +msgid "Select font" +msgstr "Pilih font" + +#: src/fe-gtk/setup.c:576 +msgid "Browse..." +msgstr "Lungsur..." + +#: src/fe-gtk/setup.c:720 +msgid "Select color" +msgstr "Pilih warna" + +#: src/fe-gtk/setup.c:786 +msgid "mIRC colors:" +msgstr "Warna mIRC:" + +#: src/fe-gtk/setup.c:794 +msgid "Foreground:" +msgstr "LatarDepan:" + +#: src/fe-gtk/setup.c:795 +msgid "Background:" +msgstr "Latar _Belakang" + +#: src/fe-gtk/setup.c:797 +#, fuzzy +msgid "Mark fore:" +msgstr "Tetapkan Tanda" + +#: src/fe-gtk/setup.c:798 +#, fuzzy +msgid "Mark back:" +msgstr "Kad semula:" + +#: src/fe-gtk/setup.c:800 +msgid "New Data:" +msgstr "Data Baru:" + +# libgnomeui/gnome-messagebox.c:147 libgnomeui/gnome-messagebox.c:280 +#: src/fe-gtk/setup.c:801 +msgid "New Message:" +msgstr "Mesej Baru:" + +#: src/fe-gtk/setup.c:802 +msgid "Highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:803 +msgid "Away User:" +msgstr "" + +#: src/fe-gtk/setup.c:841 +msgid "Interface" +msgstr "Antaramuka" + +#: src/fe-gtk/setup.c:842 +msgid "Text box" +msgstr "Kekotak teks" + +#: src/fe-gtk/setup.c:843 +msgid "Input box" +msgstr "kotak input" + +#: src/fe-gtk/setup.c:844 +msgid "User list" +msgstr "Senarai pengguna" + +#: src/fe-gtk/setup.c:846 +msgid "Colors" +msgstr "Warna" + +#: src/fe-gtk/setup.c:848 +msgid "Chatting" +msgstr "Berchat" + +#: src/fe-gtk/setup.c:849 +msgid "General" +msgstr "Umum" + +#: src/fe-gtk/setup.c:850 +msgid "Logging" +msgstr "Menglog" + +#: src/fe-gtk/setup.c:852 +msgid "Network" +msgstr "Rangkaian" + +#: src/fe-gtk/setup.c:853 +msgid "Network setup" +msgstr "Tetapan rangkaian" + +#: src/fe-gtk/setup.c:854 +msgid "File transfers" +msgstr "Pemindahan fail" + +#: src/fe-gtk/setup.c:959 +msgid "Categories" +msgstr "Kategori" + +#: src/fe-gtk/setup.c:1085 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" + +#: src/fe-gtk/setup.c:1112 +msgid "X-Chat: Preferences" +msgstr "X-Chat: Keutamaan" + +#: src/fe-gtk/textgui.c:184 +msgid "There was an error parsing the string" +msgstr "Terdapat ralat menghantar rentetan" + +#: src/fe-gtk/textgui.c:192 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:326 +msgid "Print Texts File" +msgstr "Cetak Fail Teks" + +#: src/fe-gtk/textgui.c:382 +msgid "Event" +msgstr "Acara" + +#: src/fe-gtk/textgui.c:384 +msgid "Sound" +msgstr "Bunyi" + +#: src/fe-gtk/textgui.c:386 +msgid "$ Number" +msgstr "$ Nombor" + +#: src/fe-gtk/textgui.c:396 +msgid "Edit Events" +msgstr "Edit Acara" + +#: src/fe-gtk/textgui.c:434 +msgid "Sound file: " +msgstr "Fail bunyi: " + +#: src/fe-gtk/textgui.c:469 +msgid "Save As" +msgstr "Simpan Sebagai" + +#: src/fe-gtk/textgui.c:474 +msgid "Load From" +msgstr "Muatkan Dari" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Uji Semua" + +#: src/fe-gtk/urlgrab.c:97 +msgid "URL" +msgstr "" + +#: src/fe-gtk/urlgrab.c:147 +msgid "Select a file to save to" +msgstr "Pilih fail untuk disimpan" + +#: src/fe-gtk/urlgrab.c:187 +msgid "X-Chat: URL Grabber" +msgstr "X-Chat: Penggenggam URL" + +#: src/fe-gtk/urlgrab.c:200 +msgid "Clear list" +msgstr "Kosongkan senarai" + +#: src/fe-gtk/urlgrab.c:202 +msgid "Copy selected URL" +msgstr "" + +#: src/fe-gtk/urlgrab.c:202 +msgid "Copy" +msgstr "Salin" + +#: src/fe-gtk/urlgrab.c:204 +msgid "Save list to a file" +msgstr "Simpan senarai ke satu fail" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "" + +#~ msgid "Error String" +#~ msgstr "Rentetan Ralat" + +# libgnomeui/gnome-messagebox.c:129 libgnomeui/gnome-messagebox.c:262 +#~ msgid "Error name" +#~ msgstr "Nama ralat" + +#~ msgid "Error string" +#~ msgstr "Rentetan ralat" + +#~ msgid "Proxy port:" +#~ msgstr "Liang proksi:" + +#~ msgid "Proxy type:" +#~ msgstr "Jenis proksi:" + +#~ msgid "Client exiting" +#~ msgstr "Klien keluar" diff --git a/po/nb.po b/po/nb.po new file mode 100644 index 00000000..95a29cd9 --- /dev/null +++ b/po/nb.po @@ -0,0 +1,5278 @@ +# Norwegian translation of X-chat (bokmål dialect). +# Copyright (C) 1999 Free Software Foundation, Inc. +# Kjartan Maraas <kmaraas@gnome.org>, 1999-2007. +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.8.4\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2007-06-24 13:05+1000\n" +"PO-Revision-Date: 2007-11-04 21:08+0100\n" +"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n" +"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "Kan ikke opprette ~/.xchat2" + +#: src/common/cfgfiles.c:712 +msgid "I'm busy" +msgstr "Jeg er opptatt" + +#: src/common/cfgfiles.c:713 +msgid "Leaving" +msgstr "Forlater kanalen" + +#: src/common/cfgfiles.c:760 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Det er ikke lurt å kjøre IRC som root! Du bør\n" +" opprette en vanlig brukerkonto og bruke denne.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Venter" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Aktiv" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Feilet" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Ferdig" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:797 +msgid "Connect" +msgstr "Koble til" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Avbrutt" + +#: src/common/dcc.c:1886 src/common/outbound.c:2452 +#, c-format +msgid "Cannot access %s\n" +msgstr "Kan ikke aksessere %s\n" + +#: src/common/dcc.c:1887 src/common/text.c:1164 src/common/text.c:1202 +#: src/common/text.c:1213 src/common/text.c:1220 src/common/text.c:1233 +#: src/common/text.c:1250 src/common/text.c:1350 src/common/util.c:352 +msgid "Error" +msgstr "Feil" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "Ingen aktive DCC\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "JA " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "NEI " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "" + +#: src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr "" + +#: src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr "" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "" + +#: src/common/outbound.c:339 +#, c-format +msgid "Already marked away: %s\n" +msgstr "" + +#: src/common/outbound.c:409 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1814 +msgid "I need /bin/sh to run!\n" +msgstr "" + +#: src/common/outbound.c:2185 +msgid "Commands Available:" +msgstr "Tilgjengelige kommandoer:" + +#: src/common/outbound.c:2199 +msgid "User defined commands:" +msgstr "Brukerdefinerte kommandoer:" + +#: src/common/outbound.c:2215 +msgid "Plugin defined commands:" +msgstr "Kommandoer definert av tillegg:" + +#: src/common/outbound.c:2226 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "" + +#: src/common/outbound.c:2301 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Ukjent argument «%s» ble ignorert." + +#: src/common/outbound.c:3235 +msgid "No such plugin found.\n" +msgstr "Tillegg ikke funnet.\n" + +#: src/common/outbound.c:3240 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "" + +#: src/common/outbound.c:3509 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "" + +#: src/common/outbound.c:3511 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "" + +#: src/common/outbound.c:3513 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "" + +#: src/common/outbound.c:3515 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "" + +#: src/common/outbound.c:3516 +msgid "AWAY [<reason>], sets you away" +msgstr "" + +#: src/common/outbound.c:3517 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3519 +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 "" + +#: src/common/outbound.c:3521 +msgid "" +"Set per channel options\n" +"CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part messages\n" +"CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +"CHANOPT BEEP ON|OFF - Toggle beep on message\n" +"CHANOPT TRAY ON|OFF - Toggle tray blink on message" +msgstr "" + +#: src/common/outbound.c:3528 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "" + +#: src/common/outbound.c:3529 +msgid "CLOSE, Closes the current window/tab" +msgstr "" + +#: src/common/outbound.c:3532 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "" + +#: src/common/outbound.c:3534 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:3536 +msgid "CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "" + +#: src/common/outbound.c:3538 +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 "" + +#: src/common/outbound.c:3550 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3552 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "" + +#: src/common/outbound.c:3554 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3556 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3557 +msgid "DISCON, Disconnects from server" +msgstr "" + +#: src/common/outbound.c:3558 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "" + +#: src/common/outbound.c:3559 +msgid "ECHO <text>, Prints text locally" +msgstr "" + +#: src/common/outbound.c:3562 +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 "" + +#: src/common/outbound.c:3564 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:3567 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:3569 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:3570 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:3574 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:3576 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:3580 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:3585 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3586 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "" + +#: src/common/outbound.c:3588 +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 "" + +#: src/common/outbound.c:3595 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3596 +msgid "JOIN <channel>, joins the channel" +msgstr "" + +#: src/common/outbound.c:3598 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3600 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3603 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:3605 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "" + +#: src/common/outbound.c:3607 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:3610 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3612 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3614 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "" + +#: src/common/outbound.c:3618 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3621 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3622 +msgid "MSG <nick> <message>, sends a private message" +msgstr "" + +#: src/common/outbound.c:3625 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "" + +#: src/common/outbound.c:3627 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "" + +#: src/common/outbound.c:3628 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "" + +#: src/common/outbound.c:3629 +msgid "NICK <nickname>, sets your nick" +msgstr "" + +#: src/common/outbound.c:3632 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "" + +#: src/common/outbound.c:3634 +msgid "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" +msgstr "" + +#: src/common/outbound.c:3636 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3638 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "" + +#: src/common/outbound.c:3640 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "" + +#: src/common/outbound.c:3642 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "" + +#: src/common/outbound.c:3644 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "" + +#: src/common/outbound.c:3646 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "" + +#: src/common/outbound.c:3649 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:3652 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:3654 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "" + +#: src/common/outbound.c:3657 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "" + +#: src/common/outbound.c:3658 +msgid "SEND <nick> [<file>]" +msgstr "" + +#: src/common/outbound.c:3661 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:3664 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:3668 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" + +#: src/common/outbound.c:3671 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "" + +#: src/common/outbound.c:3673 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3674 +msgid "SETCURSOR [-|+]<position>" +msgstr "" + +#: src/common/outbound.c:3679 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "" + +#: src/common/outbound.c:3681 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:3688 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "" + +#: src/common/outbound.c:3689 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "" + +#: src/common/outbound.c:3690 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:3691 +msgid "URL <url>, opens a URL in your browser" +msgstr "" + +#: src/common/outbound.c:3693 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "" + +#: src/common/outbound.c:3696 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3698 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "" + +#: src/common/outbound.c:3700 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" + +#: src/common/outbound.c:3733 +#, c-format +msgid "Usage: %s\n" +msgstr "Bruk: %s\n" + +#: src/common/outbound.c:3738 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" + +#: src/common/outbound.c:3744 +msgid "No such command.\n" +msgstr "" + +#: src/common/outbound.c:4074 +msgid "Bad arguments for user command.\n" +msgstr "" + +#: src/common/outbound.c:4230 +msgid "Too many recursive usercommands, aborting." +msgstr "" + +#: src/common/outbound.c:4307 +msgid "Unknown Command. Try /help\n" +msgstr "" + +#: src/common/plugin.c:356 src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "" + +#: src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "" + +#: src/common/servlist.c:1074 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "" + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "" + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "" + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "" + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "" + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "" + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "" + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "" + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "" + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "" + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "" + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "" + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "" + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "" + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "" + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "" + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "" + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "" + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "" + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "" + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "" + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "" + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "" + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "" + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr "" + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "" + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "" + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "" + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "" + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "" + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "" + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "" + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "" + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "" + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "" + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "" + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "" + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "" + +#: src/common/text.c:287 +msgid "Loaded log from" +msgstr "Lastet logg fra" + +#: src/common/text.c:305 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:514 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:533 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" + +#: src/common/text.c:871 +msgid "Left message" +msgstr "Venstre melding" + +#: src/common/text.c:872 +msgid "Right message" +msgstr "Høyre melding" + +#: src/common/text.c:876 +msgid "The nick of the joining person" +msgstr "" + +#: src/common/text.c:877 +msgid "The channel being joined" +msgstr "Kanalen man går inn i" + +#: src/common/text.c:878 src/common/text.c:925 src/common/text.c:976 +msgid "The host of the person" +msgstr "Personens vert" + +#: src/common/text.c:882 src/common/text.c:888 src/common/text.c:895 +#: src/common/text.c:1083 src/common/text.c:1090 src/common/text.c:1095 +#: src/common/text.c:1100 src/common/text.c:1105 src/common/text.c:1111 +#: src/common/text.c:1116 src/common/text.c:1120 src/common/text.c:1126 +#: src/common/text.c:1132 src/common/text.c:1178 src/common/text.c:1189 +#: src/common/text.c:1194 src/common/text.c:1199 src/common/text.c:1208 +#: src/common/text.c:1219 src/common/text.c:1226 src/common/text.c:1232 +#: src/common/text.c:1237 src/common/text.c:1242 src/common/text.c:1249 +#: src/common/text.c:1255 src/common/text.c:1261 src/common/text.c:1266 +#: src/common/text.c:1271 src/common/text.c:1275 src/common/text.c:1281 +#: src/common/text.c:1289 src/common/text.c:1323 src/common/text.c:1328 +msgid "Nickname" +msgstr "Kallenavn" + +#: src/common/text.c:883 +msgid "The action" +msgstr "Handlingen" + +#: src/common/text.c:884 src/common/text.c:890 +msgid "Mode char" +msgstr "" + +#: src/common/text.c:889 +msgid "The text" +msgstr "Teksten" + +#: src/common/text.c:891 src/common/text.c:897 +msgid "Identified text" +msgstr "Identifisert tekst" + +#: src/common/text.c:896 src/common/text.c:953 src/common/text.c:959 +msgid "The message" +msgstr "Meldingen" + +#: src/common/text.c:901 src/common/text.c:963 +msgid "Old nickname" +msgstr "Gammelt kallenavn" + +#: src/common/text.c:902 src/common/text.c:964 +msgid "New nickname" +msgstr "Nytt kallenavn" + +#: src/common/text.c:906 +msgid "Nick of person who changed the topic" +msgstr "Kallenavn for personen som endret emnet" + +#: src/common/text.c:907 src/common/text.c:913 src/fe-gtk/chanlist.c:756 +#: src/fe-gtk/chanlist.c:859 +msgid "Topic" +msgstr "Emne" + +#: src/common/text.c:908 src/common/text.c:912 src/common/text.c:1343 +#: src/fe-gtk/chanlist.c:754 src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Kanal" + +#: src/common/text.c:917 src/common/text.c:970 +msgid "The nickname of the kicker" +msgstr "Kallenavn på den som sparker" + +#: src/common/text.c:918 src/common/text.c:968 +msgid "The person being kicked" +msgstr "Personen som sparkes ut" + +#: src/common/text.c:919 src/common/text.c:926 src/common/text.c:930 +#: src/common/text.c:935 src/common/text.c:969 src/common/text.c:977 +#: src/common/text.c:984 +msgid "The channel" +msgstr "Kanalen" + +#: src/common/text.c:920 src/common/text.c:971 src/common/text.c:978 +msgid "The reason" +msgstr "Årsaken" + +#: src/common/text.c:924 src/common/text.c:975 +msgid "The nick of the person leaving" +msgstr "Kallenavn for personen som forlater kanalen" + +#: src/common/text.c:931 src/common/text.c:937 +msgid "The time" +msgstr "Tiden" + +#: src/common/text.c:936 +msgid "The creator" +msgstr "Skaperen" + +#: src/common/text.c:941 src/fe-gtk/dccgui.c:763 src/fe-gtk/dccgui.c:994 +msgid "Nick" +msgstr "Kallenavn" + +#: src/common/text.c:942 src/common/text.c:1195 +msgid "Reason" +msgstr "Årsak" + +#: src/common/text.c:943 src/common/text.c:1085 src/common/text.c:1168 +msgid "Host" +msgstr "Vert" + +#: src/common/text.c:947 src/common/text.c:952 src/common/text.c:957 +msgid "Who it's from" +msgstr "Hvem er det fra" + +#: src/common/text.c:948 +msgid "The time in x.x format (see below)" +msgstr "" + +#: src/common/text.c:958 src/common/text.c:995 +msgid "The Channel it's going to" +msgstr "Kanalen det går til" + +#: src/common/text.c:982 +msgid "The sound" +msgstr "Lyden" + +#: src/common/text.c:983 src/common/text.c:989 src/common/text.c:994 +msgid "The nick of the person" +msgstr "Personens kallenavn" + +#: src/common/text.c:988 src/common/text.c:993 +msgid "The CTCP event" +msgstr "CTCP-hendelse" + +#: src/common/text.c:999 +msgid "The nick of the person who set the key" +msgstr "" + +#: src/common/text.c:1000 +msgid "The key" +msgstr "Nøkkelen" + +#: src/common/text.c:1004 +msgid "The nick of the person who set the limit" +msgstr "" + +#: src/common/text.c:1005 +msgid "The limit" +msgstr "" + +#: src/common/text.c:1009 +msgid "The nick of the person who did the op'ing" +msgstr "" + +#: src/common/text.c:1010 +msgid "The nick of the person who has been op'ed" +msgstr "" + +#: src/common/text.c:1014 +msgid "The nick of the person who has been halfop'ed" +msgstr "" + +#: src/common/text.c:1015 +msgid "The nick of the person who did the halfop'ing" +msgstr "" + +#: src/common/text.c:1019 +msgid "The nick of the person who did the voice'ing" +msgstr "" + +#: src/common/text.c:1020 +msgid "The nick of the person who has been voice'ed" +msgstr "" + +#: src/common/text.c:1024 +msgid "The nick of the person who did the banning" +msgstr "" + +#: src/common/text.c:1025 src/common/text.c:1052 +msgid "The ban mask" +msgstr "" + +#: src/common/text.c:1029 +msgid "The nick who removed the key" +msgstr "" + +#: src/common/text.c:1033 +msgid "The nick who removed the limit" +msgstr "" + +#: src/common/text.c:1037 +msgid "The nick of the person of did the deop'ing" +msgstr "" + +#: src/common/text.c:1038 +msgid "The nick of the person who has been deop'ed" +msgstr "" + +#: src/common/text.c:1041 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1042 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "" + +#: src/common/text.c:1046 +msgid "The nick of the person of did the devoice'ing" +msgstr "" + +#: src/common/text.c:1047 +msgid "The nick of the person who has been devoice'ed" +msgstr "" + +#: src/common/text.c:1051 +msgid "The nick of the person of did the unban'ing" +msgstr "" + +#: src/common/text.c:1056 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:1057 src/common/text.c:1062 +msgid "The exempt mask" +msgstr "" + +#: src/common/text.c:1061 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:1066 +msgid "The nick of the person who did the invite" +msgstr "" + +#: src/common/text.c:1067 src/common/text.c:1072 +msgid "The invite mask" +msgstr "" + +#: src/common/text.c:1071 +msgid "The nick of the person removed the invite" +msgstr "" + +#: src/common/text.c:1076 +msgid "The nick of the person setting the mode" +msgstr "" + +#: src/common/text.c:1077 +msgid "The mode's sign (+/-)" +msgstr "" + +#: src/common/text.c:1078 +msgid "The mode letter" +msgstr "" + +#: src/common/text.c:1079 +msgid "The channel it's being set on" +msgstr "" + +#: src/common/text.c:1084 +msgid "Username" +msgstr "Brukernavn" + +#: src/common/text.c:1086 +msgid "Full name" +msgstr "Fullt navn" + +#: src/common/text.c:1091 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:1096 +msgid "Server Information" +msgstr "Informasjon om tjener" + +#: src/common/text.c:1101 src/common/text.c:1106 +msgid "Idle time" +msgstr "" + +#: src/common/text.c:1107 +msgid "Signon time" +msgstr "Påloggingstid" + +#: src/common/text.c:1112 +msgid "Away reason" +msgstr "Borteårsak" + +#: src/common/text.c:1121 src/common/text.c:1127 src/common/text.c:1135 +#: src/common/text.c:1315 +msgid "Message" +msgstr "Melding" + +#: src/common/text.c:1128 +msgid "Account" +msgstr "Konto" + +#: src/common/text.c:1133 +msgid "Real user@host" +msgstr "Virkelig bruker@vert" + +#: src/common/text.c:1134 +msgid "Real IP" +msgstr "Virkelig IP" + +#: src/common/text.c:1139 src/common/text.c:1148 src/common/text.c:1154 +#: src/common/text.c:1184 src/common/text.c:1338 +msgid "Channel Name" +msgstr "Navn på kanal" + +#: src/common/text.c:1143 src/common/text.c:1301 src/fe-gtk/menu.c:1240 +#: src/fe-gtk/menu.c:1420 src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "Tekst" + +#: src/common/text.c:1144 src/common/text.c:1150 src/common/text.c:1179 +#: src/common/text.c:1297 src/common/text.c:1339 +msgid "Server Name" +msgstr "Navn på tjener" + +#: src/common/text.c:1149 +msgid "Nick of person who invited you" +msgstr "Kallenavn for personen som inviterte deg" + +#: src/common/text.c:1155 src/fe-gtk/chanlist.c:755 +msgid "Users" +msgstr "Brukere" + +#: src/common/text.c:1159 +msgid "Nickname in use" +msgstr "Kallenavn i bruk" + +#: src/common/text.c:1160 +msgid "Nick being tried" +msgstr "Kallenavn prøves" + +#: src/common/text.c:1169 src/common/text.c:1305 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1170 src/common/text.c:1201 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1180 src/fe-gtk/notifygui.c:139 src/fe-gtk/setup.c:1669 +msgid "Network" +msgstr "Nettverk" + +#: src/common/text.c:1185 src/common/text.c:1190 +msgid "Modes string" +msgstr "Modusstreng" + +#: src/common/text.c:1200 src/common/text.c:1238 src/common/text.c:1243 +#: src/common/text.c:1284 +msgid "IP address" +msgstr "IP-adresse" + +#: src/common/text.c:1206 src/common/text.c:1231 +msgid "DCC Type" +msgstr "Type DCC" + +#: src/common/text.c:1207 src/common/text.c:1212 src/common/text.c:1217 +#: src/common/text.c:1224 src/common/text.c:1244 src/common/text.c:1248 +#: src/common/text.c:1254 src/common/text.c:1260 src/common/text.c:1267 +#: src/common/text.c:1276 src/common/text.c:1282 +msgid "Filename" +msgstr "Filnavn" + +#: src/common/text.c:1218 src/common/text.c:1225 +msgid "Destination filename" +msgstr "Filnavn for mål" + +#: src/common/text.c:1227 src/common/text.c:1256 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1262 +msgid "Pathname" +msgstr "Stinavn" + +#: src/common/text.c:1277 src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "Posisjon" + +#: src/common/text.c:1283 src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "Størrelse" + +#: src/common/text.c:1288 +msgid "DCC String" +msgstr "DCC-streng" + +#: src/common/text.c:1293 +msgid "Number of notify items" +msgstr "" + +#: src/common/text.c:1309 +msgid "Old Filename" +msgstr "Gammelt filnavn" + +#: src/common/text.c:1310 +msgid "New Filename" +msgstr "Nytt filnavn" + +#: src/common/text.c:1314 +msgid "Receiver" +msgstr "Mottaker" + +#: src/common/text.c:1319 +msgid "Hostmask" +msgstr "Vertsmaske" + +#: src/common/text.c:1324 +msgid "Hostname" +msgstr "Vertsnavn" + +#: src/common/text.c:1329 +msgid "The Packet" +msgstr "Pakken" + +#: src/common/text.c:1333 +msgid "Seconds" +msgstr "Sekunder" + +#: src/common/text.c:1337 +msgid "Nick of person who have been invited" +msgstr "" + +#: src/common/text.c:1344 +msgid "Banmask" +msgstr "" + +#: src/common/text.c:1345 +msgid "Who set the ban" +msgstr "Hvem satte bannlysningen" + +#: src/common/text.c:1346 +msgid "Ban time" +msgstr "" + +#: src/common/text.c:1386 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" + +#: src/common/text.c:2079 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Kan ikke lese lydfil:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "Ekstern vert lukket pluggen" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Tilkobling nektet" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "Ingen rute til verten" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Tidsavbrudd for tilkobling" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Kan ikke tildele den adressen" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Tilkobling nullstillt av vert" + +#: src/common/util.c:839 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "Forente arabiske emirater" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "De nederlandske antiller" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "" + +#: src/common/util.c:849 +msgid "Antarctica" +msgstr "Antarktis" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "Revers DNS" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "Amerikansk Samoa" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "Østerrike" + +#: src/common/util.c:854 +msgid "Nato Fiel" +msgstr "" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:857 +msgid "Aland Islands" +msgstr "Ålandøyene" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "Aserbajdsjan" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia og Herzegovina" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "Belgia" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "Brasil" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "Bouvetøya" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "Hviterussland" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "Cocosøyene" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "Sveits" + +#: src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "Elfenbenskysten" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "Cook-øyene" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:889 +msgid "China" +msgstr "Kina" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "Colombia" + +#: src/common/util.c:891 +msgid "Internic Commercial" +msgstr "" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "Kapp Verde" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "Juleøya" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "Kypros" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "Den tsjekkiske republikk" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "Tyskland" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "Danmark" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "Dominikanske republikk" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "Algerie" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "Ekvador" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "Utdanningsinstitusjon" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "Estland" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "Egypt" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "Vest-Sahara" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "Spania" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "Etiopia" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "Den Europeiske union" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "Finland" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "Falklandsøyene" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "Mikronesia" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "Færøyene" + +#: src/common/util.c:919 +msgid "France" +msgstr "Frankrike" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "Storbritannia" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "Georgia" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "Fransk Guyana" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "Grønland" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:931 +msgid "Government" +msgstr "Regjering" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "Ekvatorial-Guinea" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "Hellas" + +#: src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "" + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "" + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "Kroatia" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "Ungarn" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "Indonesia" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "Irland" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:950 +msgid "India" +msgstr "India" + +#: src/common/util.c:951 +msgid "Informational" +msgstr "Informativ" + +#: src/common/util.c:952 +msgid "International" +msgstr "Internasjonal" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "Island" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "Italia" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "Jordan" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "Japan" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "Kambodsja" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "Komorene" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "Nord-Korea" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "Sør-Korea" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "Litauen" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "Luxembourg" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "Latvia" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "Libya" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "Marokko" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:987 +msgid "United States Medical" +msgstr "" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "Marshall-øyene" + +#: src/common/util.c:990 +msgid "Military" +msgstr "Militær" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "Makedonia" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "Maldivene" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "Mexico" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "Malaysia" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:1010 +msgid "Internic Network" +msgstr "" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "Nederland" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "Norge" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "Fransk polynesia" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "Filippinene" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "Polen" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "Romania" + +#: src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "Saudi Arabia" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "Solomonøyene" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "Seychellene" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "Sverige" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "Singapore" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "Slovenia" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard og Jan Mayen" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "Den slovakiske republikk" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "Sao Tome og Principe" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "Tidligere USSR" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "Syria" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "Tsjad" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "Thailand" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "Tajikistan" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1069 src/common/util.c:1073 +msgid "East Timor" +msgstr "Øst-Timor" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "Tunis" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "Tyrkia" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "Trinidad og Tobago" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "Ukraina" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "Storbritannia" + +#: src/common/util.c:1082 +msgid "United States of America" +msgstr "De Forente stater" + +#: src/common/util.c:1083 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:1084 +msgid "Uzbekistan" +msgstr "Usbekistan" + +#: src/common/util.c:1085 +msgid "Vatican City State" +msgstr "Vatikanstaten" + +#: src/common/util.c:1086 +msgid "St. Vincent and the Grenadines" +msgstr "St. Vincent og Grenadinene" + +#: src/common/util.c:1087 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:1088 +msgid "British Virgin Islands" +msgstr "Jomfruøyene (UK)" + +#: src/common/util.c:1089 +msgid "US Virgin Islands" +msgstr "Jomfruøyene (USA)" + +#: src/common/util.c:1090 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:1091 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1092 +msgid "Wallis and Futuna Islands" +msgstr "Wallis- og Futuna-øyene" + +#: src/common/util.c:1093 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1094 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:1095 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:1096 +msgid "Yugoslavia" +msgstr "Jugoslavia" + +#: src/common/util.c:1097 +msgid "South Africa" +msgstr "Sør-Afrika" + +#: src/common/util.c:1098 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:1099 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/util.c:1109 src/common/util.c:1119 src/fe-gtk/menu.c:553 +#: src/fe-gtk/menu.c:558 src/fe-gtk/menu.c:562 src/fe-gtk/menu.c:566 +#: src/fe-gtk/menu.c:574 src/fe-gtk/menu.c:592 +msgid "Unknown" +msgstr "Ukjent" + +#: src/common/xchat.c:767 src/common/xchat.c:893 +msgid "Open Dialog Window" +msgstr "Åpne dialogvindu" + +#: src/common/xchat.c:768 +msgid "Send a File" +msgstr "Send en fil" + +#: src/common/xchat.c:769 +msgid "User Info (WHOIS)" +msgstr "Brukerinformasjon (WHOIS)" + +#: src/common/xchat.c:770 +msgid "Operator Actions" +msgstr "Operatørhandlinger" + +#: src/common/xchat.c:772 src/common/xchat.c:863 +msgid "Give Ops" +msgstr "Gi operatørstatus" + +#: src/common/xchat.c:773 src/common/xchat.c:864 +msgid "Take Ops" +msgstr "Ta operatørstatus" + +#: src/common/xchat.c:774 src/common/xchat.c:867 +msgid "Give Voice" +msgstr "Gi stemme" + +#: src/common/xchat.c:775 src/common/xchat.c:868 +msgid "Take Voice" +msgstr "Ta stemme" + +#: src/common/xchat.c:777 src/common/xchat.c:872 +msgid "Kick/Ban" +msgstr "Spark/Bannlys" + +#: src/common/xchat.c:778 src/common/xchat.c:873 src/common/xchat.c:922 +msgid "Kick" +msgstr "Spark" + +#: src/common/xchat.c:779 src/common/xchat.c:780 src/common/xchat.c:781 +#: src/common/xchat.c:782 src/common/xchat.c:783 src/common/xchat.c:874 +#: src/common/xchat.c:875 src/common/xchat.c:876 src/common/xchat.c:877 +#: src/common/xchat.c:878 src/common/xchat.c:921 +msgid "Ban" +msgstr "Bannlys" + +#: src/common/xchat.c:784 src/common/xchat.c:785 src/common/xchat.c:786 +#: src/common/xchat.c:787 src/common/xchat.c:879 src/common/xchat.c:880 +#: src/common/xchat.c:881 src/common/xchat.c:882 +msgid "KickBan" +msgstr "Spark og bannlys" + +#: src/common/xchat.c:850 +msgid "Direct client-to-client" +msgstr "Direkte klient-til-klient" + +#: src/common/xchat.c:851 +msgid "Send File" +msgstr "Send fil" + +#: src/common/xchat.c:852 +msgid "Offer Chat" +msgstr "Tilby prat" + +#: src/common/xchat.c:853 +msgid "Abort Chat" +msgstr "Avbryt X-Chat" + +#: src/common/xchat.c:854 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Versjon" + +#: src/common/xchat.c:855 +msgid "Userinfo" +msgstr "Brukerinformasjon" + +#: src/common/xchat.c:856 +msgid "Clientinfo" +msgstr "Informasjon om klienten" + +#: src/common/xchat.c:857 src/common/xchat.c:891 src/common/xchat.c:939 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:858 +msgid "Time" +msgstr "Tid" + +#: src/common/xchat.c:859 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:860 +msgid "Oper" +msgstr "Operatør" + +#: src/common/xchat.c:861 +msgid "Kill this user" +msgstr "Terminer denne brukeren" + +#: src/common/xchat.c:862 +msgid "Mode" +msgstr "Modus" + +#: src/common/xchat.c:865 +msgid "Give Half-Ops" +msgstr "" + +#: src/common/xchat.c:866 +msgid "Take Half-Ops" +msgstr "" + +#: src/common/xchat.c:869 +msgid "Ignore" +msgstr "Ignorer" + +#: src/common/xchat.c:870 +msgid "Ignore User" +msgstr "Ignorer bruker" + +#: src/common/xchat.c:871 +msgid "UnIgnore User" +msgstr "" + +#: src/common/xchat.c:883 +msgid "Info" +msgstr "Info" + +#: src/common/xchat.c:884 +msgid "Who" +msgstr "Hvem" + +#: src/common/xchat.c:885 src/common/xchat.c:935 +msgid "WhoIs" +msgstr "" + +#: src/common/xchat.c:886 +msgid "DNS Lookup" +msgstr "DNS-oppslag" + +#: src/common/xchat.c:887 +msgid "Trace" +msgstr "" + +#: src/common/xchat.c:888 +msgid "UserHost" +msgstr "" + +#: src/common/xchat.c:889 +msgid "External" +msgstr "Ekstern" + +#: src/common/xchat.c:890 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:892 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:904 +msgid "Leave Channel" +msgstr "Forlat kanal" + +#: src/common/xchat.c:905 src/fe-gtk/menu.c:1427 +msgid "Join Channel..." +msgstr "Bli med i kanal..." + +#: src/common/xchat.c:906 src/fe-gtk/menu.c:1117 +msgid "Enter Channel to Join:" +msgstr "" + +#: src/common/xchat.c:907 +msgid "Server Links" +msgstr "Lenker til tjenere" + +#: src/common/xchat.c:908 +msgid "Ping Server" +msgstr "Ping tjener" + +#: src/common/xchat.c:909 +msgid "Hide Version" +msgstr "Skjul versjon" + +#: src/common/xchat.c:919 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:920 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/xchat.c:923 +msgid "bye" +msgstr "hadet" + +#: src/common/xchat.c:924 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "" + +#: src/common/xchat.c:925 +msgid "Sendfile" +msgstr "" + +#: src/common/xchat.c:926 +msgid "Dialog" +msgstr "Dialog" + +#: src/common/xchat.c:936 +msgid "Send" +msgstr "Send" + +#: src/common/xchat.c:937 +msgid "Chat" +msgstr "Chat" + +#: src/common/xchat.c:938 src/fe-gtk/banlist.c:341 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Tøm" + +#: src/common/dbus/dbus-client.c:71 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:85 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:106 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "ekstern tilgang" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "Om XChat" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "En IRC-klient for flere plattformer" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Tegnkart" + +#: src/fe-gtk/banlist.c:113 src/fe-gtk/chanlist.c:305 +#: src/fe-gtk/plugin-tray.c:217 +msgid "Not connected." +msgstr "Ikke koblet til" + +#: src/fe-gtk/banlist.c:154 src/fe-gtk/banlist.c:257 +msgid "You must select some bans." +msgstr "Du må velge en bannlysing." + +#: src/fe-gtk/banlist.c:206 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "Er du sikker på at du vil fjerne alle bannlysinger i %s?" + +#: src/fe-gtk/banlist.c:272 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Maske" + +#: src/fe-gtk/banlist.c:273 +msgid "From" +msgstr "Fra" + +#: src/fe-gtk/banlist.c:274 +msgid "Date" +msgstr "Dato" + +#: src/fe-gtk/banlist.c:317 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:321 +#, fuzzy, c-format +msgid "XChat: Ban List (%s)" +msgstr "X-Chat: Rediger tastaturbindinger" + +#: src/fe-gtk/banlist.c:337 +msgid "Unban" +msgstr "" + +#: src/fe-gtk/banlist.c:339 +msgid "Crop" +msgstr "" + +#: src/fe-gtk/banlist.c:343 +msgid "Refresh" +msgstr "Oppdater" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Viser %d/%d brukere på %d/%d kanaler." + +#: src/fe-gtk/chanlist.c:522 src/fe-gtk/menu.c:1053 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Velg et filnavn for utdata" + +#: src/fe-gtk/chanlist.c:626 src/fe-gtk/chanlist.c:789 +msgid "_Join Channel" +msgstr "_Bli med i kanal" + +#: src/fe-gtk/chanlist.c:628 +msgid "_Copy Channel Name" +msgstr "_Kopier navn på kanal" + +#: src/fe-gtk/chanlist.c:630 +msgid "Copy _Topic Text" +msgstr "Kopier emne_tekst" + +#: src/fe-gtk/chanlist.c:714 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: Kanalliste (%s)" + +#: src/fe-gtk/chanlist.c:771 +msgid "_Search" +msgstr "_Søk" + +#: src/fe-gtk/chanlist.c:777 +msgid "_Download List" +msgstr "Last ne_d liste" + +#: src/fe-gtk/chanlist.c:783 +msgid "Save _List..." +msgstr "Lagre _liste..." + +#: src/fe-gtk/chanlist.c:796 +msgid "Show only:" +msgstr "Vis kun:" + +#: src/fe-gtk/chanlist.c:808 +msgid "channels with" +msgstr "kanaler med" + +#: src/fe-gtk/chanlist.c:821 +msgid "to" +msgstr "til" + +#: src/fe-gtk/chanlist.c:833 +msgid "users." +msgstr "brukere." + +#: src/fe-gtk/chanlist.c:839 +msgid "Look in:" +msgstr "Se i:" + +#: src/fe-gtk/chanlist.c:851 +msgid "Channel name" +msgstr "Navn på kanal" + +#: src/fe-gtk/chanlist.c:872 +msgid "Search type:" +msgstr "Type søk:" + +#: src/fe-gtk/chanlist.c:879 +msgid "Simple Search" +msgstr "Enkelt søk" + +#: src/fe-gtk/chanlist.c:880 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:882 +msgid "Regular Expression" +msgstr "" + +#: src/fe-gtk/chanlist.c:893 src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Finn:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "Send fil til %s" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "" + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:507 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "" + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:756 src/fe-gtk/dccgui.c:993 src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "Status" + +#: src/fe-gtk/dccgui.c:757 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Fil" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "" + +#: src/fe-gtk/dccgui.c:784 src/fe-gtk/menu.c:1421 +msgid "Both" +msgstr "Begge" + +#: src/fe-gtk/dccgui.c:790 +msgid "Uploads" +msgstr "" + +#: src/fe-gtk/dccgui.c:796 +msgid "Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:801 +msgid "Details" +msgstr "" + +#: src/fe-gtk/dccgui.c:812 +msgid "File:" +msgstr "Fil:" + +#: src/fe-gtk/dccgui.c:813 +msgid "Address:" +msgstr "Adresse:" + +#: src/fe-gtk/dccgui.c:819 src/fe-gtk/dccgui.c:1014 +msgid "Abort" +msgstr "Avbryt" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1015 +msgid "Accept" +msgstr "Godta" + +#: src/fe-gtk/dccgui.c:821 +msgid "Resume" +msgstr "Gjenoppta" + +#: src/fe-gtk/dccgui.c:822 +msgid "Open Folder..." +msgstr "Åpne mappe..." + +#: src/fe-gtk/dccgui.c:982 +msgid "XChat: DCC Chat List" +msgstr "XChat: Liste med DCC-prat" + +#: src/fe-gtk/dccgui.c:995 +msgid "Recv" +msgstr "Mottatt" + +#: src/fe-gtk/dccgui.c:996 +msgid "Sent" +msgstr "Sendt" + +#: src/fe-gtk/dccgui.c:997 +msgid "Start Time" +msgstr "Starttid" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*NY*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "REDIGER MEG" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Navn" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Kommando" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Flytt opp" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Flytt ned" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Avbryt" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Lagre" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Legg til ny" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Slett" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Sorter" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Hjelp" + +#: src/fe-gtk/fe-gtk.c:126 +#, fuzzy +msgid "Don't auto connect to servers" +msgstr "Koble til igjen automatisk" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:130 +#, fuzzy +msgid "Show user config directory" +msgstr "Lydfil: " + +#: src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:133 +msgid "Open URL in an existing XChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "level" +msgstr "nivå" + +#: src/fe-gtk/fe-gtk.c:136 +#, fuzzy +msgid "Show version information" +msgstr "Informasjon om tjener" + +#: src/fe-gtk/fe-gtk.c:256 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:635 +msgid "Search buffer is empty.\n" +msgstr "Søk i buffer er tomt.\n" + +#: src/fe-gtk/fe-gtk.c:731 +#, c-format +msgid "%d bytes" +msgstr "%d bytes" + +#: src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1616 src/fe-gtk/maingui.c:1719 +#: src/fe-gtk/maingui.c:3201 +msgid "<none>" +msgstr "<ingen>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "" + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Nøkkel" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Handling" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: tastatursnarveier" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "Kan ikke skrive til den filen." + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "Kan ikke lese den filen." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "" + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:2100 +msgid "Private" +msgstr "Privat" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Inviter" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:354 +#, fuzzy +msgid "XChat: Ignore list" +msgstr "X-Chat: tjenerliste" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Kanal:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Privat:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Inviter:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:420 +msgid "Add..." +msgstr "Legg til..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:125 +#, fuzzy +msgid "XChat: Connection Complete" +msgstr "Tidsavbrudd for tilkobling" + +#: src/fe-gtk/joind.c:150 +#, fuzzy, c-format +msgid "Connection to %s complete." +msgstr "Tilkobling nullstillt av vert" + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "_Bli med i denne kanalen:" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "" + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:500 +msgid "Dialog with" +msgstr "" + +#: src/fe-gtk/maingui.c:787 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Emne for %s er: %s" + +#: src/fe-gtk/maingui.c:792 +msgid "No topic is set" +msgstr "Emne er ikke satt" + +#: src/fe-gtk/maingui.c:1177 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1304 +msgid "Quit XChat?" +msgstr "Avslutt XChat?" + +#: src/fe-gtk/maingui.c:1325 +msgid "Don't ask next time." +msgstr "Ikke spør neste gang." + +#: src/fe-gtk/maingui.c:1331 +#, fuzzy, c-format +msgid "You are connected to %i IRC networks." +msgstr "Koble til igjen automatisk" + +#: src/fe-gtk/maingui.c:1333 +msgid "Are you sure you want to quit?" +msgstr "Er du sikker på at du vil avslutte?" + +#: src/fe-gtk/maingui.c:1335 +msgid "Some file transfers are still active." +msgstr "Noen filoverføringer er fremdeles aktive." + +#: src/fe-gtk/maingui.c:1353 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1567 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1569 +msgid "<b>Bold</b>" +msgstr "" + +#: src/fe-gtk/maingui.c:1570 +#, fuzzy +msgid "<u>Underline</u>" +msgstr "Tilkoblet" + +#: src/fe-gtk/maingui.c:1572 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1574 +msgid "Colors 0-7" +msgstr "Farge 0-7" + +#: src/fe-gtk/maingui.c:1584 +msgid "Colors 8-15" +msgstr "Farge 8-15" + +#: src/fe-gtk/maingui.c:1629 +msgid "Beep on message" +msgstr "Pip ved melding" + +#: src/fe-gtk/maingui.c:1632 +#, fuzzy +msgid "Blink tray on message" +msgstr "Pip ved private meldinger" + +#: src/fe-gtk/maingui.c:1635 +#, fuzzy +msgid "Show join/part messages" +msgstr "Pip ved private meldinger" + +#: src/fe-gtk/maingui.c:1637 +msgid "Color paste" +msgstr "Lim inn farge" + +#: src/fe-gtk/maingui.c:1647 src/fe-gtk/menu.c:1950 +msgid "_Close Tab" +msgstr "_Lukk fane" + +#: src/fe-gtk/maingui.c:1649 src/fe-gtk/menu.c:1949 +msgid "_Detach Tab" +msgstr "" + +#: src/fe-gtk/maingui.c:1968 src/fe-gtk/maingui.c:2074 +msgid "User limit must be a number!\n" +msgstr "" + +#: src/fe-gtk/maingui.c:2096 +msgid "Topic Protection" +msgstr "" + +#: src/fe-gtk/maingui.c:2097 +msgid "No outside messages" +msgstr "" + +#: src/fe-gtk/maingui.c:2098 +msgid "Secret" +msgstr "" + +#: src/fe-gtk/maingui.c:2099 +msgid "Invite Only" +msgstr "" + +#: src/fe-gtk/maingui.c:2101 +msgid "Moderated" +msgstr "Moderert" + +#: src/fe-gtk/maingui.c:2102 +#, fuzzy +msgid "Ban List" +msgstr "Python liste" + +#: src/fe-gtk/maingui.c:2104 +msgid "Keyword" +msgstr "Nøkkelord" + +#: src/fe-gtk/maingui.c:2116 +msgid "User Limit" +msgstr "Brukergrense" + +#: src/fe-gtk/maingui.c:2225 +msgid "Show/Hide userlist" +msgstr "Vis/skjul brukerliste" + +#: src/fe-gtk/maingui.c:2350 +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 "" + +#: src/fe-gtk/maingui.c:2621 +msgid "Enter new nickname:" +msgstr "Oppgi nytt kallenavn:" + +#: src/fe-gtk/menu.c:124 +msgid "Host unknown" +msgstr "Ukjent vert" + +#: src/fe-gtk/menu.c:544 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "" + +#: src/fe-gtk/menu.c:549 src/fe-gtk/menu.c:553 +msgid "Real Name:" +msgstr "Virkelig navn:" + +#: src/fe-gtk/menu.c:557 +msgid "User:" +msgstr "Bruker:" + +#: src/fe-gtk/menu.c:561 +msgid "Country:" +msgstr "Land:" + +#: src/fe-gtk/menu.c:565 +msgid "Server:" +msgstr "Tjener:" + +#: src/fe-gtk/menu.c:577 +#, fuzzy +msgid "Away Msg:" +msgstr "Borteårsak" + +#: src/fe-gtk/menu.c:587 +#, c-format +msgid "%u minutes ago" +msgstr "%u minutter siden" + +#: src/fe-gtk/menu.c:589 src/fe-gtk/menu.c:592 +msgid "Last Msg:" +msgstr "Siste melding:" + +#: src/fe-gtk/menu.c:704 +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 "" + +#: src/fe-gtk/menu.c:799 +msgid "Open Link in Browser" +msgstr "Åpne lenke i nettleser" + +#: src/fe-gtk/menu.c:800 +msgid "Copy Selected Link" +msgstr "Kopier valgt lenke" + +#: src/fe-gtk/menu.c:862 src/fe-gtk/menu.c:1100 +msgid "Join Channel" +msgstr "" + +#: src/fe-gtk/menu.c:866 +msgid "Part Channel" +msgstr "" + +#: src/fe-gtk/menu.c:868 +msgid "Cycle Channel" +msgstr "" + +#: src/fe-gtk/menu.c:892 +msgid "XChat: User menu" +msgstr "XChat: Brukermeny" + +#: src/fe-gtk/menu.c:901 +msgid "Edit This Menu..." +msgstr "Rediger denne menyen..." + +#: src/fe-gtk/menu.c:1102 +msgid "Retrieve channel list..." +msgstr "Hent kanalliste..." + +#: src/fe-gtk/menu.c:1170 +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 = xchat 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 "" + +#: src/fe-gtk/menu.c:1186 +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 "" + +#: src/fe-gtk/menu.c:1196 +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 "" + +#: src/fe-gtk/menu.c:1206 +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 "" + +#: src/fe-gtk/menu.c:1217 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" + +#: src/fe-gtk/menu.c:1226 +msgid "XChat: User Defined Commands" +msgstr "XChat: Brukerdefinerte kommandoer" + +#: src/fe-gtk/menu.c:1233 +#, fuzzy +msgid "XChat: Userlist Popup menu" +msgstr "XChat: Brukerlliste popup" + +#: src/fe-gtk/menu.c:1240 +msgid "Replace with" +msgstr "Erstatt med" + +#: src/fe-gtk/menu.c:1240 +msgid "XChat: Replace" +msgstr "XChat: Erstatt" + +#: src/fe-gtk/menu.c:1247 +msgid "XChat: URL Handlers" +msgstr "XChat: URL-håndterere" + +#: src/fe-gtk/menu.c:1266 +msgid "XChat: Userlist buttons" +msgstr "XChat: Brukerlisteknapper" + +#: src/fe-gtk/menu.c:1273 +msgid "XChat: Dialog buttons" +msgstr "XChat: Dialogknapper" + +#: src/fe-gtk/menu.c:1280 +msgid "XChat: CTCP Replies" +msgstr "XChat: CTCP-svar" + +#: src/fe-gtk/menu.c:1378 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1379 +msgid "Network Li_st..." +msgstr "Nettverksli_ste..." + +#: src/fe-gtk/menu.c:1382 +msgid "_New" +msgstr "_Ny" + +#: src/fe-gtk/menu.c:1383 +msgid "Server Tab..." +msgstr "Tjenerfane..." + +#: src/fe-gtk/menu.c:1384 +msgid "Channel Tab..." +msgstr "Kanalfane..." + +#: src/fe-gtk/menu.c:1385 +msgid "Server Window..." +msgstr "Tjenervindu..." + +#: src/fe-gtk/menu.c:1386 +msgid "Channel Window..." +msgstr "Kanalvindu..." + +#: src/fe-gtk/menu.c:1391 src/fe-gtk/menu.c:1393 +#, fuzzy +msgid "_Load Plugin or Script..." +msgstr "Last tillegg..." + +#: src/fe-gtk/menu.c:1401 src/fe-gtk/plugin-tray.c:463 +msgid "_Quit" +msgstr "A_vslutt" + +#: src/fe-gtk/menu.c:1403 +msgid "_View" +msgstr "_Vis" + +#: src/fe-gtk/menu.c:1405 +msgid "_Menu Bar" +msgstr "_Menylinje" + +#: src/fe-gtk/menu.c:1406 +#, fuzzy +msgid "_Topic Bar" +msgstr "Emne" + +#: src/fe-gtk/menu.c:1407 +msgid "_User List" +msgstr "Br_ukerliste" + +#: src/fe-gtk/menu.c:1408 +#, fuzzy +msgid "U_serlist Buttons" +msgstr "Brukerlisteknapper..." + +#: src/fe-gtk/menu.c:1409 +#, fuzzy +msgid "M_ode Buttons" +msgstr "Dialogknapper..." + +#: src/fe-gtk/menu.c:1411 +#, fuzzy +msgid "_Channel Switcher" +msgstr "Kanalliste..." + +#: src/fe-gtk/menu.c:1413 +msgid "_Tabs" +msgstr "_Faner" + +#: src/fe-gtk/menu.c:1414 +msgid "T_ree" +msgstr "T_re" + +#: src/fe-gtk/menu.c:1416 +#, fuzzy +msgid "_Network Meters" +msgstr "Nettverksoppsett" + +#: src/fe-gtk/menu.c:1418 +msgid "Off" +msgstr "Av" + +#: src/fe-gtk/menu.c:1419 +msgid "Graph" +msgstr "Graf" + +#: src/fe-gtk/menu.c:1424 +msgid "_Server" +msgstr "_Tjener" + +#: src/fe-gtk/menu.c:1425 +#, fuzzy +msgid "_Disconnect" +msgstr "Koble fra" + +#: src/fe-gtk/menu.c:1426 +#, fuzzy +msgid "_Reconnect" +msgstr "Koble til på nytt" + +#: src/fe-gtk/menu.c:1430 +msgid "Marked Away" +msgstr "Merket som borte" + +#: src/fe-gtk/menu.c:1432 +msgid "_Usermenu" +msgstr "Br_ukermeny" + +#: src/fe-gtk/menu.c:1434 +msgid "S_ettings" +msgstr "_Innstillinger" + +#: src/fe-gtk/menu.c:1435 +msgid "_Preferences" +msgstr "_Brukervalg" + +#: src/fe-gtk/menu.c:1437 +msgid "Advanced" +msgstr "Avansert" + +#: src/fe-gtk/menu.c:1438 +#, fuzzy +msgid "Auto Replace..." +msgstr "Erstatt-popup..." + +#: src/fe-gtk/menu.c:1439 +msgid "CTCP Replies..." +msgstr "CTCP-svar..." + +#: src/fe-gtk/menu.c:1440 +msgid "Dialog Buttons..." +msgstr "Dialogknapper..." + +#: src/fe-gtk/menu.c:1441 +msgid "Keyboard Shortcuts..." +msgstr "" + +#: src/fe-gtk/menu.c:1442 +#, fuzzy +msgid "Text Events..." +msgstr "Hendelsestekster..." + +#: src/fe-gtk/menu.c:1443 +msgid "URL Handlers..." +msgstr "URL-håndterere..." + +#: src/fe-gtk/menu.c:1444 +msgid "User Commands..." +msgstr "Brukerkommandoer..." + +#: src/fe-gtk/menu.c:1445 +msgid "Userlist Buttons..." +msgstr "Brukerlisteknapper..." + +#: src/fe-gtk/menu.c:1446 +msgid "Userlist Popup..." +msgstr "Brukerliste popup..." + +#: src/fe-gtk/menu.c:1449 +msgid "_Window" +msgstr "_Vindu" + +#: src/fe-gtk/menu.c:1450 +msgid "Ban List..." +msgstr "" + +#: src/fe-gtk/menu.c:1451 +msgid "Channel List..." +msgstr "Kanalliste..." + +#: src/fe-gtk/menu.c:1452 +msgid "Character Chart..." +msgstr "Tegnkart..." + +#: src/fe-gtk/menu.c:1453 +msgid "Direct Chat..." +msgstr "" + +#: src/fe-gtk/menu.c:1454 +msgid "File Transfers..." +msgstr "Filoverføringer..." + +#: src/fe-gtk/menu.c:1455 +msgid "Ignore List..." +msgstr "Ignorer-liste..." + +#: src/fe-gtk/menu.c:1456 +msgid "Notify List..." +msgstr "Meldingsliste..." + +#: src/fe-gtk/menu.c:1457 +#, fuzzy +msgid "Plugins and Scripts..." +msgstr "Liste over tillegg..." + +#: src/fe-gtk/menu.c:1458 +msgid "Raw Log..." +msgstr "Rå logg..." + +#: src/fe-gtk/menu.c:1459 +msgid "URL Grabber..." +msgstr "URL-henter..." + +#: src/fe-gtk/menu.c:1461 +msgid "Reset Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid "C_lear Text" +msgstr "Tøm tekst" + +#: src/fe-gtk/menu.c:1464 +msgid "Search Text..." +msgstr "Søk i tekst.." + +#: src/fe-gtk/menu.c:1465 +msgid "Save Text..." +msgstr "Lagre tekst..." + +#: src/fe-gtk/menu.c:1467 src/fe-gtk/menu.c:1941 +msgid "_Help" +msgstr "_Hjelp" + +#: src/fe-gtk/menu.c:1468 +msgid "_Contents" +msgstr "_Innhold" + +#: src/fe-gtk/menu.c:1469 +msgid "_About" +msgstr "_Om" + +#: src/fe-gtk/menu.c:1954 +#, fuzzy +msgid "_Attach Window" +msgstr "_Vindu" + +#: src/fe-gtk/menu.c:1955 +#, fuzzy +msgid "_Close Window" +msgstr "_Vindu" + +#: src/fe-gtk/notifygui.c:137 +msgid "User" +msgstr "Bruker" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "Sist sett" + +#: src/fe-gtk/notifygui.c:181 +msgid "Offline" +msgstr "Frakoblet" + +#: src/fe-gtk/notifygui.c:201 src/fe-gtk/setup.c:229 +msgid "Never" +msgstr "Aldri" + +#: src/fe-gtk/notifygui.c:204 src/fe-gtk/notifygui.c:229 +#, c-format +msgid "%d minutes ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:219 +msgid "Online" +msgstr "Tilkoblet" + +#: src/fe-gtk/notifygui.c:348 +msgid "Enter nickname to add:" +msgstr "" + +#: src/fe-gtk/notifygui.c:376 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:387 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:407 +#, fuzzy +msgid "XChat: Notify List" +msgstr "Meldingsliste..." + +#: src/fe-gtk/notifygui.c:424 +msgid "Remove" +msgstr "Fjern" + +#: src/fe-gtk/notifygui.c:428 +msgid "Open Dialog" +msgstr "Åpne dialog" + +#: src/fe-gtk/plugin-tray.c:163 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" + +#: src/fe-gtk/plugin-tray.c:214 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:451 +msgid "_Restore" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:453 +msgid "_Hide" +msgstr "Sk_jult" + +#: src/fe-gtk/plugin-tray.c:456 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:457 src/fe-gtk/setup.c:467 +#, fuzzy +msgid "Channel Message" +msgstr "Navn på kanal" + +#: src/fe-gtk/plugin-tray.c:458 src/fe-gtk/setup.c:468 +msgid "Private Message" +msgstr "Privat melding" + +#: src/fe-gtk/plugin-tray.c:459 src/fe-gtk/setup.c:469 +#, fuzzy +msgid "Highlighted Message" +msgstr "Pip ved private meldinger" + +#: src/fe-gtk/plugin-tray.c:507 src/fe-gtk/plugin-tray.c:515 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:510 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:533 src/fe-gtk/plugin-tray.c:540 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:536 +#, c-format +msgid "XChat: %u new public messages." +msgstr "" + +#: src/fe-gtk/plugin-tray.c:562 src/fe-gtk/plugin-tray.c:569 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:565 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:615 src/fe-gtk/plugin-tray.c:623 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:618 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Beskrivelse" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: tillegg og skript" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Last..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "Last _ut" + +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "L_ukk" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:438 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Lagre som..." + +#: src/fe-gtk/rawlog.c:97 +#, fuzzy, c-format +msgid "XChat: Rawlog (%s)" +msgstr "X-Chat: Rediger tastaturbindinger" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "" + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "" + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Søk" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "_Finn" + +#: src/fe-gtk/servlistgui.c:170 src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "Nytt nettverk" + +#: src/fe-gtk/servlistgui.c:554 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "" + +#: src/fe-gtk/servlistgui.c:678 +msgid "User name and Real name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:978 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: Rediger %s" + +#: src/fe-gtk/servlistgui.c:997 +#, c-format +msgid "Servers for %s" +msgstr "Tjenere for %s" + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Connect to selected server only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1009 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1011 +msgid "Your Details" +msgstr "Dine detaljer" + +#: src/fe-gtk/servlistgui.c:1017 +msgid "Use global user information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1020 src/fe-gtk/servlistgui.c:1252 +msgid "_Nick name:" +msgstr "Kalle_navn:" + +#: src/fe-gtk/servlistgui.c:1024 src/fe-gtk/servlistgui.c:1259 +msgid "Second choice:" +msgstr "Andrevalg:" + +#: src/fe-gtk/servlistgui.c:1028 src/fe-gtk/servlistgui.c:1273 +msgid "_User name:" +msgstr "Br_ukernavn:" + +#: src/fe-gtk/servlistgui.c:1032 src/fe-gtk/servlistgui.c:1280 +msgid "Rea_l name:" +msgstr "Virke_lig navn:" + +#: src/fe-gtk/servlistgui.c:1035 +msgid "Connecting" +msgstr "Kobler til" + +#: src/fe-gtk/servlistgui.c:1041 +#, fuzzy +msgid "Auto connect to this network at startup" +msgstr "Koble til igjen automatisk" + +#: src/fe-gtk/servlistgui.c:1043 +msgid "Use a proxy server" +msgstr "Bruk en proxy-tjener" + +#: src/fe-gtk/servlistgui.c:1045 +msgid "Use SSL for all the servers on this network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1050 +msgid "Accept invalid SSL certificate" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1056 +#, fuzzy +msgid "C_hannels to join:" +msgstr "Kanal:" + +#: src/fe-gtk/servlistgui.c:1058 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1061 +#, fuzzy +msgid "Connect command:" +msgstr "Kommando ved tilkobling:" + +#: src/fe-gtk/servlistgui.c:1063 +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 "" + +#: src/fe-gtk/servlistgui.c:1066 +#, fuzzy +msgid "Nickserv password:" +msgstr "Passord for tjener:" + +#: src/fe-gtk/servlistgui.c:1068 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1072 +msgid "Server password:" +msgstr "Passord for tjener:" + +#: src/fe-gtk/servlistgui.c:1074 +msgid "Password for the server, if in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1077 +msgid "Character set:" +msgstr "Tegnsett:" + +#: src/fe-gtk/servlistgui.c:1147 +msgid "_Edit" +msgstr "R_ediger" + +#: src/fe-gtk/servlistgui.c:1230 +msgid "XChat: Network List" +msgstr "XChat: nettverksliste" + +#: src/fe-gtk/servlistgui.c:1242 +msgid "User Information" +msgstr "Informasjon om bruker" + +#: src/fe-gtk/servlistgui.c:1266 +msgid "Third choice:" +msgstr "Tredjevalg:" + +#: src/fe-gtk/servlistgui.c:1326 +msgid "Networks" +msgstr "Nettverk" + +#: src/fe-gtk/servlistgui.c:1367 +#, fuzzy +msgid "Skip network list on startup" +msgstr "Ingen tjenerliste ved oppstart" + +#: src/fe-gtk/servlistgui.c:1399 +msgid "_Edit..." +msgstr "R_ediger..." + +#: src/fe-gtk/servlistgui.c:1406 +msgid "_Sort" +msgstr "_Sorter" + +#: src/fe-gtk/servlistgui.c:1407 +msgid "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1432 +msgid "C_onnect" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Text Box Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Font:" +msgstr "Skrifttype:" + +#: src/fe-gtk/setup.c:104 +msgid "Background image:" +msgstr "Bakgrunnsbilde:" + +#: src/fe-gtk/setup.c:105 +msgid "Scrollback lines:" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Colored nick names" +msgstr "Fargede kallenavn" + +#: src/fe-gtk/setup.c:107 +msgid "Give each person on IRC a different color" +msgstr "" + +#: src/fe-gtk/setup.c:108 +#, fuzzy +msgid "Indent nick names" +msgstr "Juster kallenavn" + +#: src/fe-gtk/setup.c:109 +msgid "Make nick names right-justified" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "Transparent background" +msgstr "Gjennomsiktig bakgrunn" + +#: src/fe-gtk/setup.c:111 +#, fuzzy +msgid "Show marker line" +msgstr "Vis borte én gang" + +#: src/fe-gtk/setup.c:112 +msgid "Insert a red line after the last read text." +msgstr "" + +#: src/fe-gtk/setup.c:113 +#, fuzzy +msgid "Transparency Settings" +msgstr "_Innstillinger" + +#: src/fe-gtk/setup.c:114 +msgid "Red:" +msgstr "Rød:" + +#: src/fe-gtk/setup.c:115 +msgid "Green:" +msgstr "Grønn:" + +#: src/fe-gtk/setup.c:116 +msgid "Blue:" +msgstr "Blå:" + +#: src/fe-gtk/setup.c:118 src/fe-gtk/setup.c:379 +#, fuzzy +msgid "Time Stamps" +msgstr "Merk all tekst med tid" + +#: src/fe-gtk/setup.c:119 +#, fuzzy +msgid "Enable time stamps" +msgstr "Alltid bruk tidsstempel på logger" + +#: src/fe-gtk/setup.c:120 +msgid "Time stamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:121 src/fe-gtk/setup.c:382 +msgid "See strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:128 src/fe-gtk/setup.c:168 +msgid "A-Z" +msgstr "A-Å" + +#: src/fe-gtk/setup.c:129 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:135 src/fe-gtk/setup.c:1657 +msgid "Input box" +msgstr "Inndataboks" + +#: src/fe-gtk/setup.c:136 src/fe-gtk/setup.c:200 +msgid "Use the Text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Spell checking" +msgstr "Stavekontroll" + +#: src/fe-gtk/setup.c:141 +msgid "Nick Completion" +msgstr "Fullføring av kallenavn" + +#: src/fe-gtk/setup.c:142 +msgid "Automatic nick completion (without TAB key)" +msgstr "" + +#: src/fe-gtk/setup.c:144 +#, fuzzy +msgid "Nick completion suffix:" +msgstr "Fullføring av kallenavn" + +#: src/fe-gtk/setup.c:145 +#, fuzzy +msgid "Nick completion sorted:" +msgstr "Fullføring av kallenavn" + +#: src/fe-gtk/setup.c:148 +#, fuzzy +msgid "Input Box Codes" +msgstr "Inndataboks" + +#: src/fe-gtk/setup.c:149 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "" + +#: src/fe-gtk/setup.c:150 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "A-Z, Ops first" +msgstr "A-Å, operatører først" + +#: src/fe-gtk/setup.c:169 +msgid "Z-A, Ops last" +msgstr "Å-A, operatører sist" + +#: src/fe-gtk/setup.c:170 +msgid "Z-A" +msgstr "Å-A" + +#: src/fe-gtk/setup.c:171 +msgid "Unsorted" +msgstr "Usortert" + +#: src/fe-gtk/setup.c:177 src/fe-gtk/setup.c:189 +msgid "Left (Upper)" +msgstr "" + +#: src/fe-gtk/setup.c:178 src/fe-gtk/setup.c:190 +msgid "Left (Lower)" +msgstr "" + +#: src/fe-gtk/setup.c:179 src/fe-gtk/setup.c:191 +msgid "Right (Upper)" +msgstr "" + +#: src/fe-gtk/setup.c:180 src/fe-gtk/setup.c:192 +msgid "Right (Lower)" +msgstr "" + +#: src/fe-gtk/setup.c:181 +msgid "Top" +msgstr "Topp" + +#: src/fe-gtk/setup.c:182 +msgid "Bottom" +msgstr "Bunn" + +#: src/fe-gtk/setup.c:183 +msgid "Hidden" +msgstr "Skjult" + +#: src/fe-gtk/setup.c:198 +msgid "User List" +msgstr "Brukerliste" + +#: src/fe-gtk/setup.c:199 +msgid "Show hostnames in user list" +msgstr "Vis vertsnavn i brukerlisten" + +#: src/fe-gtk/setup.c:202 +#, fuzzy +msgid "User list sorted by:" +msgstr "Brukerliste sortert etter:" + +#: src/fe-gtk/setup.c:203 +#, fuzzy +msgid "Show user list at:" +msgstr "Vis/skjul brukerliste" + +#: src/fe-gtk/setup.c:205 +#, fuzzy +msgid "Away tracking" +msgstr "Borteårsak" + +#: src/fe-gtk/setup.c:206 +msgid "Track the Away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "On channels smaller than:" +msgstr "" + +#: src/fe-gtk/setup.c:209 +msgid "Action Upon Double Click" +msgstr "" + +#: src/fe-gtk/setup.c:210 +#, fuzzy +msgid "Execute command:" +msgstr "Kommando ved tilkobling:" + +#: src/fe-gtk/setup.c:221 +msgid "Windows" +msgstr "Vinduer" + +#: src/fe-gtk/setup.c:222 +msgid "Tabs" +msgstr "Faner" + +#: src/fe-gtk/setup.c:230 +msgid "Always" +msgstr "Alltid" + +#: src/fe-gtk/setup.c:231 +msgid "Only requested tabs" +msgstr "" + +#: src/fe-gtk/setup.c:238 +#, fuzzy +msgid "Channel Switcher" +msgstr "Kanalliste..." + +#: src/fe-gtk/setup.c:239 +#, fuzzy +msgid "Open an extra tab for server messages" +msgstr "Bruk en separat fane/vindu for tjenermeldinger" + +#: src/fe-gtk/setup.c:240 +#, fuzzy +msgid "Open an extra tab for server notices" +msgstr "Bruk en separat fane/vindu for tjenermeldinger" + +#: src/fe-gtk/setup.c:241 +#, fuzzy +msgid "Open a new tab when you receive a private message" +msgstr "Bruk en separat fane/vindu for tjenermeldinger" + +#: src/fe-gtk/setup.c:242 +msgid "Sort tabs in alphabetical order" +msgstr "" + +#: src/fe-gtk/setup.c:243 +msgid "Small tabs" +msgstr "" + +#: src/fe-gtk/setup.c:245 +msgid "Focus new tabs:" +msgstr "" + +#: src/fe-gtk/setup.c:247 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:248 +msgid "Shorten tab labels to:" +msgstr "" + +#: src/fe-gtk/setup.c:248 +msgid "letters." +msgstr "bokstaver." + +#: src/fe-gtk/setup.c:250 +msgid "Tabs or Windows" +msgstr "Faner eller vinduer" + +#: src/fe-gtk/setup.c:251 +msgid "Open channels in:" +msgstr "" + +#: src/fe-gtk/setup.c:252 +msgid "Open dialogs in:" +msgstr "Åpne dialoger i:" + +#: src/fe-gtk/setup.c:253 +msgid "Open utilities in:" +msgstr "" + +#: src/fe-gtk/setup.c:253 +#, fuzzy +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Bruk faner for DCC, Ignore, Notify etc vinduer." + +#: src/fe-gtk/setup.c:260 +msgid "No" +msgstr "Nei" + +#: src/fe-gtk/setup.c:261 +msgid "Yes" +msgstr "Ja" + +#: src/fe-gtk/setup.c:262 +msgid "Browse for save folder every time" +msgstr "" + +#: src/fe-gtk/setup.c:268 +msgid "Files and Directories" +msgstr "" + +#: src/fe-gtk/setup.c:269 +#, fuzzy +msgid "Auto accept file offers:" +msgstr "Godta DCC-send automatisk" + +#: src/fe-gtk/setup.c:270 +msgid "Download files to:" +msgstr "Last ned filer til:" + +#: src/fe-gtk/setup.c:271 +msgid "Move completed files to:" +msgstr "Flytt fullførte filer til:" + +#: src/fe-gtk/setup.c:272 +#, fuzzy +msgid "Save nick name in filenames" +msgstr "Bruk avsenders kallenavn i innkommende filnavn" + +#: src/fe-gtk/setup.c:274 +#, fuzzy +msgid "Network Settings" +msgstr "Gjenles innstillinger" + +#: src/fe-gtk/setup.c:275 +msgid "Get my address from the IRC server" +msgstr "" + +#: src/fe-gtk/setup.c:276 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "" + +#: src/fe-gtk/setup.c:277 +msgid "DCC IP address:" +msgstr "IP-adresse for DCC:" + +#: src/fe-gtk/setup.c:278 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:279 +#, fuzzy +msgid "First DCC send port:" +msgstr "Første port for DCC-sending:" + +#: src/fe-gtk/setup.c:280 +#, fuzzy +msgid "Last DCC send port:" +msgstr "Siste port for DCC-sending:" + +#: src/fe-gtk/setup.c:281 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:283 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "" + +#: src/fe-gtk/setup.c:284 +msgid "One upload:" +msgstr "" + +#: src/fe-gtk/setup.c:285 src/fe-gtk/setup.c:287 +msgid "Maximum speed for one transfer" +msgstr "" + +#: src/fe-gtk/setup.c:286 +msgid "One download:" +msgstr "" + +#: src/fe-gtk/setup.c:288 +msgid "All uploads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:289 src/fe-gtk/setup.c:291 +msgid "Maximum speed for all files" +msgstr "" + +#: src/fe-gtk/setup.c:290 +msgid "All downloads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:318 src/fe-gtk/setup.c:1663 +msgid "Alerts" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show tray balloons on:" +msgstr "" + +#: src/fe-gtk/setup.c:324 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:325 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:326 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:328 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:330 +msgid "Highlighted Messages" +msgstr "Uthevede meldinger" + +#: src/fe-gtk/setup.c:331 +msgid "Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:333 +#, fuzzy +msgid "Extra words to highlight:" +msgstr "Ord som skal utheves:" + +#: src/fe-gtk/setup.c:334 +#, fuzzy +msgid "Nick names not to highlight:" +msgstr "Ord som skal utheves:" + +#: src/fe-gtk/setup.c:335 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:336 +#, fuzzy +msgid "Separate multiple words with commas." +msgstr "(separér med komma)" + +#: src/fe-gtk/setup.c:342 +#, fuzzy +msgid "Default Messages" +msgstr "Sluttmelding:" + +#: src/fe-gtk/setup.c:343 +#, fuzzy +msgid "Quit:" +msgstr "Avslutt" + +#: src/fe-gtk/setup.c:344 +#, fuzzy +msgid "Leave channel:" +msgstr "Kanalen" + +#: src/fe-gtk/setup.c:345 +msgid "Away:" +msgstr "Borte:" + +#: src/fe-gtk/setup.c:347 +msgid "Away" +msgstr "Borte" + +#: src/fe-gtk/setup.c:348 +#, fuzzy +msgid "Announce away messages" +msgstr "Annonsér bortemeldinger" + +#: src/fe-gtk/setup.c:349 +#, fuzzy +msgid "Announce your away messages to all channels" +msgstr "Annonsér don bortemelding til kanal(ene) du er i" + +#: src/fe-gtk/setup.c:350 +msgid "Show away once" +msgstr "Vis borte én gang" + +#: src/fe-gtk/setup.c:350 +msgid "Show identical away messages only once" +msgstr "" + +#: src/fe-gtk/setup.c:351 +#, fuzzy +msgid "Automatically unmark away" +msgstr "Åpne DCC-prat vindu automatisk" + +#: src/fe-gtk/setup.c:351 +msgid "Unmark yourself as away before sending messages" +msgstr "" + +#: src/fe-gtk/setup.c:358 +#, fuzzy +msgid "Advanced Settings" +msgstr "Gjenles innstillinger" + +#: src/fe-gtk/setup.c:359 +#, fuzzy +msgid "Auto reconnect delay:" +msgstr "Pause før automatisk gjenoppkobling" + +#: src/fe-gtk/setup.c:360 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:361 +msgid "Whois on notify" +msgstr "" + +#: src/fe-gtk/setup.c:361 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "" + +#: src/fe-gtk/setup.c:362 +#, fuzzy +msgid "Hide join and part messages" +msgstr "Pip ved private meldinger" + +#: src/fe-gtk/setup.c:362 +#, fuzzy +msgid "Hide channel join/part messages by default" +msgstr "Pip ved private meldinger" + +#: src/fe-gtk/setup.c:363 +#, fuzzy +msgid "Auto Open DCC Windows" +msgstr "Åpne dialogvindu automatisk" + +#: src/fe-gtk/setup.c:364 +#, fuzzy +msgid "Send window" +msgstr "Lydfil: " + +#: src/fe-gtk/setup.c:365 +#, fuzzy +msgid "Receive window" +msgstr "Mottaker" + +#: src/fe-gtk/setup.c:366 +#, fuzzy +msgid "Chat window" +msgstr "Kanalvindu..." + +#: src/fe-gtk/setup.c:374 src/fe-gtk/setup.c:1665 +msgid "Logging" +msgstr "Logging" + +#: src/fe-gtk/setup.c:375 +#, fuzzy +msgid "Enable logging of conversations" +msgstr "Slå på logging av samtaler til disk" + +#: src/fe-gtk/setup.c:376 +#, fuzzy +msgid "Log filename:" +msgstr "Maske for loggnavn:" + +#: src/fe-gtk/setup.c:377 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "" + +#: src/fe-gtk/setup.c:380 +#, fuzzy +msgid "Insert timestamps in logs" +msgstr "Alltid bruk tidsstempel på logger" + +#: src/fe-gtk/setup.c:381 +msgid "Log timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:389 +msgid "(Disabled)" +msgstr "(Slått av)" + +#: src/fe-gtk/setup.c:390 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:391 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:392 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:393 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:395 +msgid "MS Proxy (ISA)" +msgstr "" + +#: src/fe-gtk/setup.c:402 +msgid "All Connections" +msgstr "Alle tilkoblinger" + +#: src/fe-gtk/setup.c:403 +msgid "IRC Server Only" +msgstr "" + +#: src/fe-gtk/setup.c:404 +msgid "DCC Get Only" +msgstr "" + +#: src/fe-gtk/setup.c:410 +msgid "Your Address" +msgstr "Din adresse" + +#: src/fe-gtk/setup.c:411 +#, fuzzy +msgid "Bind to:" +msgstr "Finn:" + +#: src/fe-gtk/setup.c:412 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:414 +#, fuzzy +msgid "Proxy Server" +msgstr "Proxy-tjener:" + +#: src/fe-gtk/setup.c:415 +msgid "Hostname:" +msgstr "Vertsnavn:" + +#: src/fe-gtk/setup.c:416 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:417 +msgid "Type:" +msgstr "Type:" + +#: src/fe-gtk/setup.c:418 +#, fuzzy +msgid "Use proxy for:" +msgstr "Bruk en proxy-tjener" + +#: src/fe-gtk/setup.c:420 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:422 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:426 +msgid "Username:" +msgstr "Brukernavn:" + +#: src/fe-gtk/setup.c:427 +msgid "Password:" +msgstr "Passord:" + +#: src/fe-gtk/setup.c:838 +msgid "Select an Image File" +msgstr "" + +#: src/fe-gtk/setup.c:862 +#, fuzzy +msgid "Select Download Folder" +msgstr "Velg farge" + +#: src/fe-gtk/setup.c:871 +msgid "Select font" +msgstr "Velg skrift" + +#: src/fe-gtk/setup.c:968 +msgid "Browse..." +msgstr "Bla gjennom..." + +#: src/fe-gtk/setup.c:1108 +msgid "Mark identified users with:" +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Mark not-identified users with:" +msgstr "" + +#: src/fe-gtk/setup.c:1117 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1171 +msgid "Select color" +msgstr "Velg farge" + +#: src/fe-gtk/setup.c:1251 +msgid "Text Colors" +msgstr "Tekstfarger" + +#: src/fe-gtk/setup.c:1253 +msgid "mIRC colors:" +msgstr "mIRC-farger:" + +#: src/fe-gtk/setup.c:1261 +msgid "Local colors:" +msgstr "Lokale farger:" + +#: src/fe-gtk/setup.c:1269 src/fe-gtk/setup.c:1274 +msgid "Foreground:" +msgstr "Forgrunn:" + +#: src/fe-gtk/setup.c:1270 src/fe-gtk/setup.c:1275 +msgid "Background:" +msgstr "Bakgrunn:" + +#: src/fe-gtk/setup.c:1272 +msgid "Marking Text" +msgstr "" + +#: src/fe-gtk/setup.c:1277 +msgid "Interface Colors" +msgstr "Farger for grensesnitt" + +#: src/fe-gtk/setup.c:1279 +msgid "New data:" +msgstr "Nye data:" + +#: src/fe-gtk/setup.c:1280 +#, fuzzy +msgid "Marker line:" +msgstr "Vis borte én gang" + +#: src/fe-gtk/setup.c:1281 +msgid "New message:" +msgstr "Ny melding:" + +#: src/fe-gtk/setup.c:1282 +msgid "Away user:" +msgstr "" + +#: src/fe-gtk/setup.c:1283 +msgid "Highlight:" +msgstr "Uthev:" + +#: src/fe-gtk/setup.c:1379 src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "Hendelse" + +#: src/fe-gtk/setup.c:1385 +msgid "Sound file" +msgstr "Lydfil" + +#: src/fe-gtk/setup.c:1420 +msgid "Select a sound file" +msgstr "Velg en lydfil" + +#: src/fe-gtk/setup.c:1492 +msgid "Sound playing method:" +msgstr "" + +#: src/fe-gtk/setup.c:1500 +msgid "External sound playing _program:" +msgstr "" + +#: src/fe-gtk/setup.c:1518 +msgid "_External program" +msgstr "" + +#: src/fe-gtk/setup.c:1528 +msgid "_Automatic" +msgstr "_Automatisk" + +#: src/fe-gtk/setup.c:1541 +#, fuzzy +msgid "Sound files _directory:" +msgstr "Lydfil: " + +#: src/fe-gtk/setup.c:1580 +msgid "Sound file:" +msgstr "Lydfil:" + +#: src/fe-gtk/setup.c:1595 +msgid "_Browse..." +msgstr "_Bla gjennom..." + +#: src/fe-gtk/setup.c:1606 +msgid "_Play" +msgstr "S_pill av" + +#: src/fe-gtk/setup.c:1655 +msgid "Interface" +msgstr "Grensesnitt" + +#: src/fe-gtk/setup.c:1656 +msgid "Text box" +msgstr "Tekstboks" + +#: src/fe-gtk/setup.c:1658 +msgid "User list" +msgstr "Brukerliste" + +#: src/fe-gtk/setup.c:1659 +#, fuzzy +msgid "Channel switcher" +msgstr "Kanalliste..." + +#: src/fe-gtk/setup.c:1660 +msgid "Colors" +msgstr "Farger" + +#: src/fe-gtk/setup.c:1662 +msgid "Chatting" +msgstr "Prating" + +#: src/fe-gtk/setup.c:1664 +msgid "General" +msgstr "Generelt" + +#: src/fe-gtk/setup.c:1666 +msgid "Sound" +msgstr "Lyd" + +#: src/fe-gtk/setup.c:1670 +msgid "Network setup" +msgstr "Nettverksoppsett" + +#: src/fe-gtk/setup.c:1671 +msgid "File transfers" +msgstr "Filoverføringer" + +#: src/fe-gtk/setup.c:1779 +msgid "Categories" +msgstr "Kategorier" + +#: src/fe-gtk/setup.c:1960 +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 "" + +#: src/fe-gtk/setup.c:1970 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" + +#: src/fe-gtk/setup.c:1978 +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 "" + +#: src/fe-gtk/setup.c:2011 +msgid "XChat: Preferences" +msgstr "XChat: Brukervalg" + +#: src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "" + +#: src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "Skriv ut tekstfil" + +#: src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "Rediger hendelser" + +#: src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$ tall" + +#: src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "Last fra..." + +#: src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "Test alle" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: URL-henter" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Tøm listen" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Kopier valgt URL" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Kopier" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Lagre listen til en fil" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d operatører, %d totalt" diff --git a/po/nl.po b/po/nl.po new file mode 100644 index 00000000..7539405e --- /dev/null +++ b/po/nl.po @@ -0,0 +1,5449 @@ +# Dutch translation of xchat. +# Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. +# Arjan Scherpenise <acscherp@wins.uva.nl>, 2000. +# Bart Coppens <coppensbart@pi.be>, 2002. +# Taco Witte <T.C.Witte@phys.uu.nl>, 2003. +# Elros Cyriatan <cyriatan@fastmail.fm>, 2003, 2004. +# Luk Claes <luk.claes@ugent.be>, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.6.3\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2006-05-19 00:25+1000\n" +"PO-Revision-Date: 2006-06-02 08:26+0100\n" +"Last-Translator: Luk Claes <luk@debian.org>\n" +"Language-Team: Dutch <vertaling@vrijschrift.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/common/cfgfiles.c:350 +msgid "Cannot create ~/.xchat2" +msgstr "Kan ~/.xchat2 niet aanmaken" + +#: src/common/cfgfiles.c:683 +msgid "I'm busy" +msgstr "Ik ben bezig" + +#: src/common/cfgfiles.c:684 +msgid "Leaving" +msgstr "Ik ga weg" + +#: src/common/cfgfiles.c:730 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* IRC uitvoeren als root is dom! U moet een\n" +" gebruikersaccount aanmaken en daarmee inloggen.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Bezig met wachten" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Actief" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Mislukt" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Klaar" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:740 +msgid "Connect" +msgstr "Verbinden" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Afgebroken" + +#: src/common/dcc.c:1875 src/common/outbound.c:2246 +#, c-format +msgid "Cannot access %s\n" +msgstr "Kan %s niet benaderen\n" + +#: src/common/dcc.c:2358 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s bied je \"%s\" aan. Wil je dit aanvaarden?" + +#: src/common/dcc.c:2569 +msgid "No active DCCs\n" +msgstr "Geen DCCs actief\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "JA " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "NEE " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "U wordt overspoeld met CTCP-verkeer van %s, nu wordt %s genegeerd\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "U wordt overspoeld met MSG-verkeer van %s, gui_auto_open_dialog wordt UIT-gezet.\n" + +#: src/common/notify.c:396 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s online\n" + +#: src/common/notify.c:398 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s offline\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Niet in een kanaal. Probeer /join #<kanaal>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Niet verbonden. Probeer /server <host> [<poort>]\n" + +#: src/common/outbound.c:1650 +msgid "I need /bin/sh to run!\n" +msgstr "Ik heb /bin/sh nodig om te werken!\n" + +#: src/common/outbound.c:1983 +msgid "Commands Available:" +msgstr "Beschikbare opdrachten: " + +#: src/common/outbound.c:1997 +msgid "User defined commands:" +msgstr "Door de gebruiker gedefinieerde opdrachten: " + +#: src/common/outbound.c:2013 +msgid "Plugin defined commands:" +msgstr "Door de gebruiker gedefinieerde opdrachten: " + +#: src/common/outbound.c:2024 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Tik /HELP <opdracht> voor meer info, of /HELP -l" + +#: src/common/outbound.c:2099 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Onbekend argument '%s' genegeerd." + +#: src/common/outbound.c:2960 +msgid "No such plugin found.\n" +msgstr "Plugin niet gevonden.\n" + +#: src/common/outbound.c:2965 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Die plugin weigert te ontladen.\n" + +#: src/common/outbound.c:3200 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <naam> <actie>, voegt een knop toe onder de gebruikerslijst" + +#: src/common/outbound.c:3202 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <opdr>, stuurt een opdracht naar alle kanalen waar je in zit" + +#: src/common/outbound.c:3204 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <opdr>, stuurt een opdracht naar alle kanalen waar je in zit" + +#: src/common/outbound.c:3206 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <opdr>, stuurt een opdracht naar alle servers waarop je bent ingelogd" + +#: src/common/outbound.c:3207 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<reden>], zegt dat je weg bent" + +#: src/common/outbound.c:3209 +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 <masker> [<verbansoort>], verbant iedereen die voldoet aan het masker uit het huidige kanaal. Als ze al in het huidige kanaal zitten worden ze niet weggeschopt (kanaal-operator vereist)" + +#: src/common/outbound.c:3211 +msgid "CLEAR, Clears the current text window" +msgstr "CLEAR, maakt het huidige tekstvenster schoon" + +#: src/common/outbound.c:3212 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, sluit het huidige venster/tabblad" + +#: src/common/outbound.c:3215 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|wildcard>, zoek een landcode, bijvoorbeeld be = België en nl = Nederland" + +#: src/common/outbound.c:3217 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <persoon> <bericht>, een CTCP bericht naar de persoon sturen. Veel voorkomende berichten zijn VERSION en USERINFO" + +#: src/common/outbound.c:3219 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "CYCLE, het huidige kanaal verlaten en direct terugkeren" + +#: src/common/outbound.c:3221 +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 "" +"\n" +"DCC GET <persoon> - een aangeboden bestand accepteren\n" +"DCC SEND [-maxcps=#] <persoon> [bestand] - een bestand naar iemand sturen\n" +"DCC PSEND [-maxcps=#] <persoon> [bestand] - een bestand sturen gebruik makend van de passieve modus\n" +"DCC LIST - DCC lijst weergeven\n" +"DCC CHAT <persoon> - iemand DCC CHAT aanbieden\n" +"DCC PCHAT <persoon> - DCC CHAT aanbieden gebruikmakend van de passieve modus\n" +"DCC CLOSE <soort> <persoon> <bestand> voorbeeld:\n" +" /dcc close send janjanssen bestand.tar.gz" + +#: src/common/outbound.c:3233 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <persoon>, de kanaal-halfoperator status van de persoon in het huidige kanaal verwijderen (kanaal-operator vereist)" + +#: src/common/outbound.c:3235 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <naam>, een knop van de gebruikerslijst wissen" + +#: src/common/outbound.c:3237 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <persoon>, kanaal-operatorstatus van de persoon in het huidige kanaal verwijderen (kanaal-operator vereist)" + +#: src/common/outbound.c:3239 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <persoon>, de stemstatus van de persoon in het huidige kanaal verwijderen (kanaal-operator vereist)" + +#: src/common/outbound.c:3240 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, de verbinding met de server verbreken" + +#: src/common/outbound.c:3241 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <persoon|host|ip>, het IP-adres van een gebruiker vinden" + +#: src/common/outbound.c:3242 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <tekst>, lokaal een tekst afdrukken" + +#: src/common/outbound.c:3245 +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] <opdracht>, een opdracht uitvoeren. Als de -o vlag meegegeven is, wordt de uitvoer naar het huidige kanaal gestuurd, anders naar het huidige tekstvenster" + +#: src/common/outbound.c:3247 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, het proces SIGCONT sturen" + +#: src/common/outbound.c:3250 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], een lopende exec in de huidige sessie stoppen. Als -9 is meegegeven wordt het proces geSIGKILLd" + +#: src/common/outbound.c:3252 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, het proces SIGSTOP sturen" + +#: src/common/outbound.c:3253 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, gegevens naar stdin sturen van het proces" + +#: src/common/outbound.c:3257 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, de verzendrij van de huidige server doerspoelen" + +#: src/common/outbound.c:3259 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<poort>], verbinding maken door een proxy, de poort is standaard 23" + +#: src/common/outbound.c:3262 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <bijnaam> <wachtwoord>, doodt een spook-bijnaam" + +#: src/common/outbound.c:3267 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <persoon>, geeft kanaal-halfoperator status aan de persoon (kanaal-operator vereist)" + +#: src/common/outbound.c:3268 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <wachtwoord>, identificeert u bij nickserv" + +#: src/common/outbound.c:3270 +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 <masker> <soorten..> <opties..>\n" +" masker - host masker om te negeren, bijv.: *!*@*.aol.com\n" +" soorten - soorten gegevens om te negeren, een of meer van:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" opties - NOSAVE, QUIET" + +#: src/common/outbound.c:3277 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <persoon> [<kanaal>], iemand uitnodigen een kanaal te openen, standaard het huidige kanaal (kanaal-operator vereist)" + +#: src/common/outbound.c:3278 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanaal>, het kanaal binnengaan" + +#: src/common/outbound.c:3280 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <persoon>, de persoon uit het huidige kanaal schoppen (kanaal-operator vereist)" + +#: src/common/outbound.c:3282 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAR <persoon>, een persoon eerst verbannen en dan uit het huidige kanaal schoppen (kanaal operator vereist)" + +#: src/common/outbound.c:3285 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, een nieuwe controle op achterstand forceren" + +#: src/common/outbound.c:3287 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <tekst>, een tekst zoeken in de buffer" + +#: src/common/outbound.c:3289 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <bestand>, laadt een plugin of script" + +#: src/common/outbound.c:3292 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, massaal van alle kanaal-halfops op-status verwijderen in huidige kanaal (kanaal-operator vereist)" + +#: src/common/outbound.c:3294 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, massaal van alle kanaal-ops op-status verwijderen in huidige kanaal (kanaal-operator vereist)" + +#: src/common/outbound.c:3296 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <actie>, stuurt de actie naar het huidige kanaal (acties worden geschreven in de 3e persoon, bijv: /me springt)" + +#: src/common/outbound.c:3299 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, massaal iedereen behalve jezelf uit huidige kanaal schoppen (kanaal-operator vereist)" + +#: src/common/outbound.c:3302 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, massaal alle gebruikers in huidige kanaal op-status geven (kanaal-operator vereist)" + +#: src/common/outbound.c:3303 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <persoon> <bericht>, een privéberichtje sturen" + +#: src/common/outbound.c:3306 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, geef de lijst met personen in het huidige kanaal" + +#: src/common/outbound.c:3308 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <persoon> <bericht>, een CTCP-melding sturen" + +#: src/common/outbound.c:3309 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostnaam> [<poort>]" + +#: src/common/outbound.c:3310 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <bijnaam>, je bijnaam instellen" + +#: src/common/outbound.c:3313 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <persoon/kanaal> <bericht>, een melding sturen. Meldingen zijn het soort berichten waarop automatisch gereageerd zou moeten worden." + +#: src/common/outbound.c:3315 +msgid "NOTIFY [<nick>], lists your notify list or adds someone to it" +msgstr "NOTIFY [<persoon>], een lijst geven van de waarschuwingslijst of iemand er aan toevoegen" + +#: src/common/outbound.c:3317 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <persoon>, de kanaal-operator status aan de persoon geven (kanaal-operator vereist)" + +#: src/common/outbound.c:3319 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanaal>] [<reden>], het kanaal verlaten, standaard het huidige kanaal." + +#: src/common/outbound.c:3321 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <persoon | kanaal>, een persoon of kanaal CTCP pingen" + +#: src/common/outbound.c:3323 +msgid "QUERY <nick>, opens up a new privmsg window to someone" +msgstr "QUERY <persoon>, een nieuw privé berichtvenster naar iemand openen" + +#: src/common/outbound.c:3325 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reden>], verbinding met de huidige server verbreken" + +#: src/common/outbound.c:3327 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <tekst>, tekst in ruw formaat naar de server sturen" + +#: src/common/outbound.c:3330 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<poort>] [<wachtwoord>], kan net als /RECONNECT gebruikt worden om opnieuw te verbinden met de huidige server, of met /RECONNECT ALL om met alle open servers een nieuwe verbinding te maken" + +#: src/common/outbound.c:3333 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<host>] [<poort>] [<wachtwoord>], kan net als /RECONNECT gebruikt worden om opnieuw te verbinden met de huidige server, of met /RECONNECT ALL om met alle open servers een nieuwe verbinding te maken" + +#: src/common/outbound.c:3335 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <tekst>, ruwe gegevens naar X-Chat sturen, alsof het verstuurd was door de irc server" + +#: src/common/outbound.c:3338 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <tekst>, de tekst naar het object in het huidige venster sturen" + +#: src/common/outbound.c:3339 +msgid "SEND <nick> [<file>]" +msgstr "SEND <bijnaam> [<bestand>]" + +#: src/common/outbound.c:3342 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <poort> <kanaal>, verbinding maken en een kanaal openen" + +#: src/common/outbound.c:3345 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <poort> <kanaal>, verbinding maken en een kanaal openen" + +#: src/common/outbound.c:3349 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <host> [<poort>] [<paswoord>], verbinding maken met een server, de standaard poort is 6667 voor gewone verbindingen, 9999 voor ssl verbindingen" + +#: src/common/outbound.c:3352 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <host> [<poort>] [<paswoord>], verbinding maken met een server, de standaard poort is 6667 voor gewone verbindingen" + +#: src/common/outbound.c:3354 +msgid "SET [-quiet] <variable> [<value>]" +msgstr "SET [-quiet] <variabel> [<waarde>]" + +#: src/common/outbound.c:3355 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<positie>" + +#: src/common/outbound.c:3359 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<topic>], het onderwerp opeven als topic gespecifiëerd is, anders het huidige onderwerp laten zien" + +#: src/common/outbound.c:3361 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <masker> [<masker>...], de opgegeven maskers weer toelaten" + +#: src/common/outbound.c:3362 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:3363 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <naam>, een plugin of script laden" + +#: src/common/outbound.c:3364 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url> opent een URL in uw browser" + +#: src/common/outbound.c:3366 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <bijnaam1> <bijnaam2> enz, laat bijnamen oplichten in gebruikerslijst van het kanaal" + +#: src/common/outbound.c:3369 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <persoon>, geef de stemstatus aan iemand (kanaal operator vereist)" + +#: src/common/outbound.c:3371 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <bericht>, het bericht naar alle kanalen sturen" + +#: src/common/outbound.c:3373 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <bericht>, een bericht naar alle kanaaloperatoren op het huidige kanaal" + +#: src/common/outbound.c:3406 +#, c-format +msgid "Usage: %s\n" +msgstr "Gebruik: %s\n" + +#: src/common/outbound.c:3411 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Geen help beschikbaar over die opdracht.\n" + +#: src/common/outbound.c:3417 +msgid "No such command.\n" +msgstr "Nietbestaande opdracht.\n" + +#: src/common/outbound.c:3744 +msgid "Bad arguments for user command.\n" +msgstr "Foute argumenten voor gebruikersgedefiniëerde opdracht.\n" + +#: src/common/outbound.c:3900 +msgid "Too many recursive usercommands, aborting." +msgstr "Teveel recursieve gebruikersgedefiniëerde opdrachten, afbrekende." + +#: src/common/outbound.c:3977 +msgid "Unknown Command. Try /help\n" +msgstr "Onbekende opdracht. Probeer /help\n" + +#: src/common/plugin.c:371 src/common/plugin.c:412 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Geen xchat_plugin_init symbol gevonden; is dit een echte xchat plugin?" + +#: src/common/server.c:621 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Weet u zeker dat deze server en poort SSL ondersteunen?\n" + +#: src/common/server.c:1005 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Kan hostnaam %s niet oplossen\n" +"Controleer uw IP instellingen!\n" + +#: src/common/server.c:1010 +msgid "Proxy traversal failed.\n" +msgstr "Proxy doorkruising mislukt.\n" + +#: src/common/servlist.c:641 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Overschakelen naar volgende server in %s...\n" + +#: src/common/servlist.c:1065 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Waarschuwing: tekenset \"%s\" is onbekend. Er zal geen conversie worden toegepast voor netwerk %s." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 toegevoegd aan waarschuwingslijst." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Verbanlijst:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tKan niet binnengaan%C26 %B$1 %O(U bent verbannen)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 is nu bekend als $2" + +#: src/common/textevents.h:21 +msgid "%C18*$t$1%O $2" +msgstr "%C18*$t$1%O $2" + +#: src/common/textevents.h:24 +msgid "%C21*%O$t%C21%B$1%O%C21 $2" +msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 verbant $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tKanaal $1 gemaakt op $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O verwijdert kanaal-half-operator status van%C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O verwijdert kanaal-operator status van%C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O verwijdert stem van%C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 zet vrijstelling op $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O geeft kanaal-half-operator status aan%C26 $2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 zet uitnodigen op $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UKanaal Gebruikers Onderwerp" + +#: src/common/textevents.h:54 +msgid "%C18%H<%H$4$1%H>%H%O$t$2" +msgstr "%C18%H<%H$4$1%H>%H%O$t$2" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 zet modus op $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Kanaal $1 modi: $2" + +#: src/common/textevents.h:63 +msgid "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" +msgstr "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" + +#: src/common/textevents.h:66 +msgid "%C28-%C29$1/$2%C28-%O$t$3" +msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O geeft kanaal-operator status aan%C26 $2" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 verwijdert vrijstelling van $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 verwijdert uitnodigen van $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 verwijdert kanaalsleutelwoord" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 verwijdert gebruikersgrens" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 zet kanaalsleutelwoord op $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 zet kanaalgrens op $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 verwijdert verbanning van $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O geeft stem aan%C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Verbonden. Nu bezig met aanmelden..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Bezig met verbinden met $1 ($2) poort $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Verbinden mislukt. Fout: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tEr is een CTCP $1 ontvangen van $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tEr is een CTCP $1 ontvangen van $2 (aan $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tEr is een CTCP-geluid $1 ontvangen van $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tEr is een CTCP-geluid $1 ontvangen van $2 (aan $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC CHAT met %C26$1%O afgebroken." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC CHAT-verbinding tot stand gebracht met %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tDCC CHAT met %C26$1%O verloren ($4)." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tEr is een DCC CHAT-aanbod ontvangen van $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tBezig met aanbieden DCC CHAT aan $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tEr wordt al een CHAT aangeboden aan $1" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 verbindingspoging met%C26 $2%O mislukt (err=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tOntvangen '$1%O' van $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Soort Naar/Van Status Grootte Pos Bestand " + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$tEr is een misvormd DCC-verzoek ontvangen van %C26$1%O.%010%C22*%O$tInhoud van pakket: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tBezig met aanbieden%C26 $1%O aan%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tDCC-aanbod niet gevonden." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O afgebroken." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tDCC RECV%C26 $1%O van%C26 $3%O voltooid %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC RECV-verbinding tot stand gebracht met%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O van%C26 $3%O mislukt ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: Kan $1 niet openen om te schrijven ($2)." + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tHet bestand%C26 $1%C bestaat al; wordt opgeslagen als%C26 $2%O." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Oheeft verzocht om%C26 $2 %Cvan%C26 $3%C te pauzeren." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND%C26 $2%O naar%C26 $1%O afgebroken." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC SEND%C26 $1%O naar%C26 $2%O voltooid %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC SEND-verbinding tot stand gebracht met%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O naar%C26 $2%O mislukt. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Oheeft%C26 $2 %O aangeboden (%C26$3 %Obytes)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Omet%C26 $3 %Cis opgehouden - afbreken." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Omet%C26 $3 %Oheeft time-out - afbreken." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 verwijderd uit waarschuwingslijst." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tVerbinding verbroken ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tUw IP is gevonden: [$1]" + +#: src/common/textevents.h:207 +msgid "$1$t$2" +msgstr "$1$t$2" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O toegevoegd aan negeerlijst." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Negeren van %C26$1%O gewijzigd." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Hostmasker PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O verwijderd uit negeerlijst." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " Negeerlijst is leeg." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tKan niet binnengaan%C26 %B$1 %O(Kanaal is alleen-uitnodigen)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tU bent uitgenodigd bij%C26 $1%O door%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) is binnengekomen bij $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tKan niet binnengaan bij%C26 %B$1 %O(Sleutelwoord vereist)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 heeft $2 uit $3 geschopt ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tU bent gedood door $1 ($2%O%C22)" + +#: src/common/textevents.h:246 src/common/textevents.h:270 +msgid "%C19>%O$1%C19<%O$t$2" +msgstr "%C19>%O$1%C19<%O$t$2" + +#: src/common/textevents.h:249 +msgid "%C16*%O$t$1%O" +msgstr "%C16*%O$t$1%O" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD Overgeslagen." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 al in gebruik. Opnieuw proberen met $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tBijnaam al in gebruik. Gebruik /NICK om een andere te proberen." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tDCC niet gevonden." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tEr loopt op dit moment geen proces" + +#: src/common/textevents.h:267 +msgid "%C28-%C29$1%C28-%O$t$2" +msgstr "%C28-%C29$1%C28-%O$t$2" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tWaarschuwingslijst is leeg." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Waarschuwingslijst " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 gebruikers in waarschuwingslijst." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($2)." +msgstr "%C22*%O$tWaarschuwing: $1 is off-line ($2)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($2)." +msgstr "%C22*%O$tWaarschuwing: $1 is on-line ($2)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) heeft $3 verlaten" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) heeft $3 verlaten (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tPing-antwoord van $1: $2 second(en)" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tGeen ping-antwoord gedurende $1 seconden, verbinding verbroken." + +#: src/common/textevents.h:303 +msgid "%C28*%C29$3$1%C28*$t%O$2" +msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#: src/common/textevents.h:306 +msgid "%C18%H<%H$3$1%H>%H%O$t$2" +msgstr "%C18%H<%H$3$1%H>%H%O$t$2" + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tEr loopt al een proces" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 heeft verlaten (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 zet modi%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tBezig met opzoeken IP-nummer voor%C26 $1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Verbonden." + +#: src/common/textevents.h:327 src/common/textevents.h:333 +#: src/common/textevents.h:336 +msgid "%C22*%O$t$1" +msgstr "%C22*%O$t$1" + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Bezig met opzoeken $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tVorige verbindingspoging gestopt (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Onderwerp voor $1%C %C29is: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 heeft het onderwerp gewijzigd naar: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Onderwerp voor $1%C %C29is ingesteld door $2%C %C29op $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tOnbekende host. Heeft u het goed gespeld?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tKan%C26 niet binnengaan %B$1 %O(Gebruikersgrens bereikt)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Gebruikers op $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cis weg %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OEinde van WHOIS-lijst." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O inactief%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O inactief%C26 $2%O, aangemeld:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Oechte gebruiker@host%C27 $2%O, echte IP%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19U praat nu op $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tU bent door $3 van $2 geschopt ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tU heeft kanaal $3 verlaten" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tU heeft kanaal $3 verlaten (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:405 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tU heeft%C26 $1%O uitgenodigd bij%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:408 +msgid "%C31%H<%H$4$1%H>%H%O%C30$t$2" +msgstr "%C31%H<%H$4$1%H>%H%O%C30$t$2" + +#: src/common/textevents.h:411 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tU bent nu bekend als $2" + +#: src/common/text.c:61 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** LOGGEN GESTOPT OM %s\n" + +#: src/common/text.c:263 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** LOGGEN GESTART OP %s\n" + +#: src/common/text.c:282 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Kan logbestand(en) niet openen om te schrijven. Controleer\n" +" de toegangsrechten van %s/xchatlogs" + +#: src/common/text.c:516 +msgid "Left message" +msgstr "Linkerbericht" + +#: src/common/text.c:517 +msgid "Right message" +msgstr "Rechterbericht" + +#: src/common/text.c:521 +msgid "The nick of the joining person" +msgstr "De bijnaam van de persoon die binnenkomt" + +#: src/common/text.c:522 +msgid "The channel being joined" +msgstr "Het kanaal dat geopend wordt" + +#: src/common/text.c:523 src/common/text.c:569 src/common/text.c:626 +msgid "The host of the person" +msgstr "De host van de persoon" + +#: src/common/text.c:527 src/common/text.c:533 src/common/text.c:540 +#: src/common/text.c:607 src/common/text.c:733 src/common/text.c:740 +#: src/common/text.c:745 src/common/text.c:750 src/common/text.c:755 +#: src/common/text.c:761 src/common/text.c:766 src/common/text.c:770 +#: src/common/text.c:776 src/common/text.c:782 src/common/text.c:828 +#: src/common/text.c:838 src/common/text.c:843 src/common/text.c:848 +#: src/common/text.c:857 src/common/text.c:868 src/common/text.c:875 +#: src/common/text.c:881 src/common/text.c:886 src/common/text.c:891 +#: src/common/text.c:898 src/common/text.c:904 src/common/text.c:910 +#: src/common/text.c:915 src/common/text.c:920 src/common/text.c:924 +#: src/common/text.c:930 src/common/text.c:938 src/common/text.c:972 +#: src/common/text.c:977 +msgid "Nickname" +msgstr "Bijnaam" + +#: src/common/text.c:528 +msgid "The action" +msgstr "De actie" + +#: src/common/text.c:529 src/common/text.c:535 +msgid "Mode char" +msgstr "Moduskarakter" + +#: src/common/text.c:534 +msgid "The text" +msgstr "De tekst" + +#: src/common/text.c:536 src/common/text.c:609 +msgid "Identified text" +msgstr "Geïdentificeerde tekst" + +#: src/common/text.c:541 src/common/text.c:597 src/common/text.c:603 +#: src/common/text.c:608 +msgid "The message" +msgstr "Het bericht" + +#: src/common/text.c:545 src/common/text.c:613 +msgid "Old nickname" +msgstr "Oude bijnaam" + +#: src/common/text.c:546 src/common/text.c:614 +msgid "New nickname" +msgstr "Nieuwe bijnaam" + +#: src/common/text.c:550 +msgid "Nick of person who changed the topic" +msgstr "Bijnaam van de persoon die het onderwerp veranderde" + +#: src/common/text.c:551 src/common/text.c:557 src/fe-gtk/chanlist.c:607 +#: src/fe-gtk/chanlist.c:712 +msgid "Topic" +msgstr "Onderwerp" + +#: src/common/text.c:552 src/common/text.c:556 src/common/text.c:992 +#: src/fe-gtk/chanlist.c:605 src/fe-gtk/chanlist.c:703 +#: src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Kanaal" + +#: src/common/text.c:561 src/common/text.c:620 +msgid "The nickname of the kicker" +msgstr "Bijnaam van de kicker" + +#: src/common/text.c:562 src/common/text.c:618 +msgid "The person being kicked" +msgstr "De persoon die gekickt wordt" + +#: src/common/text.c:563 src/common/text.c:570 src/common/text.c:574 +#: src/common/text.c:579 src/common/text.c:619 src/common/text.c:627 +#: src/common/text.c:634 +msgid "The channel" +msgstr "Het kanaal" + +#: src/common/text.c:564 src/common/text.c:621 src/common/text.c:628 +msgid "The reason" +msgstr "De reden" + +#: src/common/text.c:568 src/common/text.c:625 +msgid "The nick of the person leaving" +msgstr "De bijnaam van de persoon die weggaat" + +#: src/common/text.c:575 src/common/text.c:581 +msgid "The time" +msgstr "De tijd" + +#: src/common/text.c:580 +msgid "The creator" +msgstr "De maker" + +#: src/common/text.c:585 +msgid "Nick" +msgstr "Bijnaam" + +#: src/common/text.c:586 src/common/text.c:844 +msgid "Reason" +msgstr "Reden" + +#: src/common/text.c:587 src/common/text.c:735 src/common/text.c:818 +msgid "Host" +msgstr "Host" + +#: src/common/text.c:591 src/common/text.c:596 src/common/text.c:601 +msgid "Who it's from" +msgstr "Van wie het is" + +#: src/common/text.c:592 +msgid "The time in x.x format (see below)" +msgstr "De tijd in x.x-formaat" + +#: src/common/text.c:602 src/common/text.c:645 +msgid "The Channel it's going to" +msgstr "Het kanaal waar het heen gaat" + +#: src/common/text.c:632 +msgid "The sound" +msgstr "Het geluid" + +#: src/common/text.c:633 src/common/text.c:639 src/common/text.c:644 +msgid "The nick of the person" +msgstr "De bijnaam van de persoon" + +#: src/common/text.c:638 src/common/text.c:643 +msgid "The CTCP event" +msgstr "De CTCP-gebeurtenis" + +#: src/common/text.c:649 +msgid "The nick of the person who set the key" +msgstr "De bijnaam van de persoon die de sleutel instelde" + +#: src/common/text.c:650 +msgid "The key" +msgstr "De sleutel" + +#: src/common/text.c:654 +msgid "The nick of the person who set the limit" +msgstr "De bijnaam van de persoon die de limiet instelde" + +#: src/common/text.c:655 +msgid "The limit" +msgstr "De limiet" + +#: src/common/text.c:659 +msgid "The nick of the person who did the op'ing" +msgstr "De bijnaam van de persoon die de op heeft uitgevoerd" + +#: src/common/text.c:660 +msgid "The nick of the person who has been op'ed" +msgstr "De bijnaam van de persoon die is ge'opt" + +#: src/common/text.c:664 +msgid "The nick of the person who has been halfop'ed" +msgstr "De bijnaam van de persoon die is ge'halfopt" + +#: src/common/text.c:665 +msgid "The nick of the person who did the halfop'ing" +msgstr "De bijnaam van de persoon die de halfop heeft uitgevoerd" + +#: src/common/text.c:669 +msgid "The nick of the person who did the voice'ing" +msgstr "De bijnaam van de persoon die de voice heeft uitgevoerd" + +#: src/common/text.c:670 +msgid "The nick of the person who has been voice'ed" +msgstr "De bijnaam van de persoon die is ge'voicet" + +#: src/common/text.c:674 +msgid "The nick of the person who did the banning" +msgstr "De bijnaam van de persoon die de ban heeft uitgevoerd" + +#: src/common/text.c:675 src/common/text.c:702 +msgid "The ban mask" +msgstr "Het ban-masker" + +#: src/common/text.c:679 +msgid "The nick who removed the key" +msgstr "De bijnaam die de sleutel heeft verwijderd" + +#: src/common/text.c:683 +msgid "The nick who removed the limit" +msgstr "De bijnaam die de limiet heeft verwijderd" + +#: src/common/text.c:687 +msgid "The nick of the person of did the deop'ing" +msgstr "De bijnaam van de persoon die de deop heeft uitgevoerd" + +#: src/common/text.c:688 +msgid "The nick of the person who has been deop'ed" +msgstr "De bijnaam van de persoon die is ge'deopt" + +#: src/common/text.c:691 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "De bijnaam van de persoon die de dehalfop heeft uitgevoerd" + +#: src/common/text.c:692 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "De bijnaam van de persoon die is ge'dehalfopt" + +#: src/common/text.c:696 +msgid "The nick of the person of did the devoice'ing" +msgstr "De bijnaam van de persoon die de devoice heeft uitgevoerd" + +#: src/common/text.c:697 +msgid "The nick of the person who has been devoice'ed" +msgstr "De bijnaam van de persoon die is ge'devoicet" + +#: src/common/text.c:701 +msgid "The nick of the person of did the unban'ing" +msgstr "De bijnaam van de persoon die de unban heeft uitgevoerd" + +#: src/common/text.c:706 +msgid "The nick of the person who did the exempt" +msgstr "De bijnaam van de persoon die de exempt heeft uitgevoerd" + +#: src/common/text.c:707 src/common/text.c:712 +msgid "The exempt mask" +msgstr "Het exempt-masker" + +#: src/common/text.c:711 +msgid "The nick of the person removed the exempt" +msgstr "De bijnaam van de persoon die de exempt heeft verwijderd" + +#: src/common/text.c:716 +msgid "The nick of the person who did the invite" +msgstr "De bijnaam van de persoon die de uitnodiging heeft gedaan" + +#: src/common/text.c:717 src/common/text.c:722 +msgid "The invite mask" +msgstr "Het uitnodigingsmasker" + +#: src/common/text.c:721 +msgid "The nick of the person removed the invite" +msgstr "De bijnaam van de persoon die de uitnodiging heeft verwijderd" + +#: src/common/text.c:726 +msgid "The nick of the person setting the mode" +msgstr "De bijnaam van de persoon die de modus heeft ingesteld" + +#: src/common/text.c:727 +msgid "The mode's sign (+/-)" +msgstr "Het teken van de modus (+/-)" + +#: src/common/text.c:728 +msgid "The mode letter" +msgstr "De letter van de modus" + +#: src/common/text.c:729 +msgid "The channel it's being set on" +msgstr "Het kanaal waarop het wordt ingesteld" + +#: src/common/text.c:734 +msgid "Username" +msgstr "Gebruikersnaam" + +#: src/common/text.c:736 +msgid "Full name" +msgstr "Volledige naam" + +#: src/common/text.c:741 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Kanaal deelnemerschap/\"is een IRC operator\"" + +#: src/common/text.c:746 +msgid "Server Information" +msgstr "Serverinformatie" + +#: src/common/text.c:751 src/common/text.c:756 +msgid "Idle time" +msgstr "Inactieve tijd" + +#: src/common/text.c:757 +msgid "Signon time" +msgstr "Aanmeldtijd" + +#: src/common/text.c:762 +msgid "Away reason" +msgstr "Reden van afwezigheid:" + +#: src/common/text.c:771 src/common/text.c:777 src/common/text.c:785 +#: src/common/text.c:964 +msgid "Message" +msgstr "Bericht" + +#: src/common/text.c:778 +msgid "Account" +msgstr "Account" + +#: src/common/text.c:783 +msgid "Real user@host" +msgstr "Echte gebruiker@host" + +#: src/common/text.c:784 +msgid "Real IP" +msgstr "Echte IP" + +#: src/common/text.c:789 src/common/text.c:798 src/common/text.c:804 +#: src/common/text.c:833 src/common/text.c:987 +msgid "Channel Name" +msgstr "Kanaalsnaam" + +#: src/common/text.c:793 src/common/text.c:950 src/fe-gtk/menu.c:1166 +#: src/fe-gtk/menu.c:1345 src/fe-gtk/textgui.c:387 +msgid "Text" +msgstr "Tekst" + +#: src/common/text.c:794 src/common/text.c:800 src/common/text.c:829 +#: src/common/text.c:946 src/common/text.c:988 +msgid "Server Name" +msgstr "Servernaam" + +#: src/common/text.c:799 +msgid "Nick of person who invited you" +msgstr "Bijnaam van de persoon die je uitnodigde" + +#: src/common/text.c:805 src/fe-gtk/chanlist.c:606 +msgid "Users" +msgstr "Gebruikers" + +#: src/common/text.c:809 +msgid "Nickname in use" +msgstr "Gebruikte bijnaam" + +#: src/common/text.c:810 +msgid "Nick being tried" +msgstr "Bijnaam die geprobeerd wordt" + +#: src/common/text.c:814 src/common/text.c:851 src/common/text.c:862 +#: src/common/text.c:869 src/common/text.c:882 src/common/text.c:899 +#: src/common/text.c:999 src/common/util.c:352 +msgid "Error" +msgstr "Fout" + +#: src/common/text.c:819 src/common/text.c:954 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:820 src/common/text.c:850 +msgid "Port" +msgstr "Poort" + +#: src/common/text.c:824 +msgid "PID" +msgstr "PID" + +#: src/common/text.c:834 src/common/text.c:839 +msgid "Modes string" +msgstr "Modistring" + +#: src/common/text.c:849 src/common/text.c:887 src/common/text.c:892 +#: src/common/text.c:933 +msgid "IP address" +msgstr "IP-Adres" + +#: src/common/text.c:855 src/common/text.c:880 +msgid "DCC Type" +msgstr "DCC-type" + +#: src/common/text.c:856 src/common/text.c:861 src/common/text.c:866 +#: src/common/text.c:873 src/common/text.c:893 src/common/text.c:897 +#: src/common/text.c:903 src/common/text.c:909 src/common/text.c:916 +#: src/common/text.c:925 src/common/text.c:931 +msgid "Filename" +msgstr "Bestandsnaam" + +#: src/common/text.c:867 src/common/text.c:874 +msgid "Destination filename" +msgstr "Doelbestandsnaam" + +#: src/common/text.c:876 src/common/text.c:905 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:911 +msgid "Pathname" +msgstr "Padnaam" + +#: src/common/text.c:926 src/fe-gtk/dccgui.c:537 src/fe-gtk/dccgui.c:709 +msgid "Position" +msgstr "Positie" + +#: src/common/text.c:932 src/fe-gtk/dccgui.c:353 src/fe-gtk/dccgui.c:536 +#: src/fe-gtk/dccgui.c:708 +msgid "Size" +msgstr "Grootte" + +#: src/common/text.c:937 +msgid "DCC String" +msgstr "DCC Tekst" + +#: src/common/text.c:942 +msgid "Number of notify items" +msgstr "Aantal meldingen" + +#: src/common/text.c:958 +msgid "Old Filename" +msgstr "Oude bestandsnaam" + +#: src/common/text.c:959 +msgid "New Filename" +msgstr "Nieuwe bestandsnaam" + +#: src/common/text.c:963 +msgid "Receiver" +msgstr "Ontvanger" + +#: src/common/text.c:968 +msgid "Hostmask" +msgstr "Hostmasker" + +#: src/common/text.c:973 +msgid "Hostname" +msgstr "Hostnaam" + +#: src/common/text.c:978 +msgid "The Packet" +msgstr "Het pakket" + +#: src/common/text.c:982 +msgid "Seconds" +msgstr "Seconden" + +#: src/common/text.c:986 +msgid "Nick of person who have been invited" +msgstr "Bijnaam van de persoon die uitgenodigd is" + +#: src/common/text.c:993 +msgid "Banmask" +msgstr "Banmasker" + +#: src/common/text.c:994 +msgid "Who set the ban" +msgstr "Degene die de ban heeft ingesteld" + +#: src/common/text.c:995 +msgid "Ban time" +msgstr "Bantijd" + +#: src/common/text.c:1035 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Fout bij inlezen gebeurtenis %s.\n" +"Standaard wordt geladen." + +#: src/common/text.c:1712 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Kan geluidsbestand niet lezen:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "Host op afstand heeft socket gesloten" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Verbinding geweigerd" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "Geen route naar host" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Verbinding kreeg een timeout" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Kan dat adres niet toewijzen" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Verbinding verbroken door peer" + +#: src/common/util.c:839 +msgid "Ascension Island" +msgstr "Ascension" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "Verenigde Arabische Emiraten" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "Antigua en Barbuda" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "Albanië" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "Armenië" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "Nederlandse Antillen" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:849 +msgid "Antarctica" +msgstr "Antarctica" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "Argentinië" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "Omgekeerde DNS" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "Amerikaans Samoa" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "Oostenrijk" + +#: src/common/util.c:854 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "Australië" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:857 +msgid "Aland Islands" +msgstr "Alandseilanden" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "Azerbeidjan" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "Bosnië en Herzegovina" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "België" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "Bulgarije" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "Bahrein" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "Bedrijven" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "Bolivië" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "Brazilië" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "Bahama's" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "Bouvet-eiland" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "Wit-Rusland" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "Canada" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "Cocoseilanden" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "Democratische Republiek Congo" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "Centraal-Afrikaanse Republiek" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "Congo" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "Zwitserland" + +#: src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "Ivoorkust" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "Cookeilanden" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "Chili" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "Kameroen" + +#: src/common/util.c:889 +msgid "China" +msgstr "China" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "Colombia" + +#: src/common/util.c:891 +msgid "Internic Commercial" +msgstr "Internic Commercieel" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "Servië en Montenegro" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "Kaapverdische Eilanden" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "Kerstmis-eiland" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "Cyprus" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "Tsjechië" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "Duitsland" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "Denemarken" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "Dominicaanse Republiek" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "Algerije" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "Educatieve instelling" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "Estland" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "Egypte" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "Westelijke Sahara" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "Spanje" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "Ethiopië" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "Europese Unie" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "Finland" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "Falkland eilanden" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "Micronesië" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "Faroër Eilanden" + +#: src/common/util.c:919 +msgid "France" +msgstr "Frankrijk" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "England" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "Georgië" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "Frans Guyana" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "Briste kanaaleilanden" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "Groenland" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:931 +msgid "Government" +msgstr "Overheid" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "Equatoriaal Guinee" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "Griekenland" + +#: src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Z.-Georgië en de Z. Sandwich-eilanden" + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "Guinee-Bissau" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "Heard en McDonald eilanden" + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "Kroatië" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "Haïti" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "Hongarije" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "Indonesië" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "Ierland" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "Eiland Man" + +#: src/common/util.c:950 +msgid "India" +msgstr "India" + +#: src/common/util.c:951 +msgid "Informational" +msgstr "Informatie" + +#: src/common/util.c:952 +msgid "International" +msgstr "Internationaal" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "Brits-Indische Oceaan Territorium" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "IJsland" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "Italië" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "Jordanië" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "Japan" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "Kenia" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "Kirgizië" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "Cambodja" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "Komoren" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "St.-Kitts en Nevis" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "Noord-Korea" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "Zuid-Korea" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "Koeweit" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "Kaaimaneilanden" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "Kazachstan" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "Santa Lucia" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "Litouwen" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "Luxemburg" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "Letland" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "Libië" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "Marokko" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "Moldavië" + +#: src/common/util.c:987 +msgid "United States Medical" +msgstr "Verenigde Staten Medisch" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "Marshall-eilanden" + +#: src/common/util.c:990 +msgid "Military" +msgstr "Militair" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "Macedonië" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "Mongolië" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "Macaõ" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "Noordelijke Mariana-eilanden" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "Mauritanië" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "Malediven" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "Mexico" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "Maleisië" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "Mozambique" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "Namibië" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "Nieuw Caledonië" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:1010 +msgid "Internic Network" +msgstr "Internic Netwerk" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "Norfolk-eiland" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "Nederland" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "Noorwegen" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "Nieuw-Zeeland" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "Internic Non-profit organisatie" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "Frans-Polinesië" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "Papoea Nieuw-Guinee" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "Filipijnen" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "Polen" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "St.-Pierre en Miquelon" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "Bezette Palestijnse Gebieden" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "Roemenië" + +#: src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "Oude school ARPAnet" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "Rusland" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "Saoedi-Arabië" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "Solomon-eilanden" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "Seychellen" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "Soedan" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "Zweden" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "Singapore" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "St.-Helena" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "Slovenië" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard en Jan Mayen eilanden" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "Slowakije" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "Somalië" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "Sao Tome en Principe" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "Vroegere USSR" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "Syrië" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "Turkse en Caicos-eilanden" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "Tsjaad" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "Franse Zuidelijke Territoriën" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "Thailand" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "Tadjikistan" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1069 src/common/util.c:1073 +msgid "East Timor" +msgstr "Oost-Timor" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "Tunesië" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "Turkije" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "Trinidad en Tobago" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "Tanzanië" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "Oekraïne" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "Oeganda" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "Verenigd Koninkrijk" + +#: src/common/util.c:1082 +msgid "US Minor Outlying Islands" +msgstr "VS kleine afgelegen eilanden" + +#: src/common/util.c:1083 +msgid "United States of America" +msgstr "Verenigde Staten van Amerika" + +#: src/common/util.c:1084 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:1085 +msgid "Uzbekistan" +msgstr "Oezbekistan" + +#: src/common/util.c:1086 +msgid "Vatican City State" +msgstr "Vaticaanstad" + +#: src/common/util.c:1087 +msgid "St. Vincent and the Grenadines" +msgstr "Sint-Vincent en de Grenadines" + +#: src/common/util.c:1088 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:1089 +msgid "British Virgin Islands" +msgstr "Britse Maagdeneilanden" + +#: src/common/util.c:1090 +msgid "US Virgin Islands" +msgstr "VS Maagdeneilanden" + +#: src/common/util.c:1091 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:1092 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1093 +msgid "Wallis and Futuna Islands" +msgstr "Wallis and Futuna-eilanden" + +#: src/common/util.c:1094 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1095 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:1096 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:1097 +msgid "Yugoslavia" +msgstr "Joegoslavië" + +#: src/common/util.c:1098 +msgid "South Africa" +msgstr "Zuid-Afrika" + +#: src/common/util.c:1099 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:1100 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/util.c:1110 src/common/util.c:1120 src/fe-gtk/menu.c:516 +#: src/fe-gtk/menu.c:521 src/fe-gtk/menu.c:525 src/fe-gtk/menu.c:529 +#: src/fe-gtk/menu.c:537 src/fe-gtk/menu.c:555 +msgid "Unknown" +msgstr "Onbekend" + +#: src/common/xchat.c:753 src/common/xchat.c:879 +msgid "Open Dialog Window" +msgstr "Dialoogvenster openen" + +#: src/common/xchat.c:754 +msgid "Send a File" +msgstr "Verzend een bestand" + +#: src/common/xchat.c:755 +msgid "User Info (WHOIS)" +msgstr "Gebruikersinfo (WHOIS)" + +#: src/common/xchat.c:756 +msgid "Operator Actions" +msgstr "Operatoracties" + +#: src/common/xchat.c:758 src/common/xchat.c:849 +msgid "Give Ops" +msgstr "Ops geven" + +#: src/common/xchat.c:759 src/common/xchat.c:850 +msgid "Take Ops" +msgstr "Ops nemen" + +#: src/common/xchat.c:760 src/common/xchat.c:853 +msgid "Give Voice" +msgstr "Stem geven" + +#: src/common/xchat.c:761 src/common/xchat.c:854 +msgid "Take Voice" +msgstr "Stem nemen" + +#: src/common/xchat.c:763 src/common/xchat.c:858 +msgid "Kick/Ban" +msgstr "Wegschoppen/Verbannen" + +#: src/common/xchat.c:764 src/common/xchat.c:859 src/common/xchat.c:908 +msgid "Kick" +msgstr "Wegschoppen" + +#: src/common/xchat.c:765 src/common/xchat.c:766 src/common/xchat.c:767 +#: src/common/xchat.c:768 src/common/xchat.c:769 src/common/xchat.c:860 +#: src/common/xchat.c:861 src/common/xchat.c:862 src/common/xchat.c:863 +#: src/common/xchat.c:864 src/common/xchat.c:907 +msgid "Ban" +msgstr "Verbannen" + +#: src/common/xchat.c:770 src/common/xchat.c:771 src/common/xchat.c:772 +#: src/common/xchat.c:773 src/common/xchat.c:865 src/common/xchat.c:866 +#: src/common/xchat.c:867 src/common/xchat.c:868 +msgid "KickBan" +msgstr "Wegschoppen/Verbannen" + +#: src/common/xchat.c:836 +msgid "Direct client-to-client" +msgstr "Direct tussen personen" + +#: src/common/xchat.c:837 +msgid "Send File" +msgstr "Bestand verzenden" + +#: src/common/xchat.c:838 +msgid "Offer Chat" +msgstr "Chat aanbieden" + +#: src/common/xchat.c:839 +msgid "Abort Chat" +msgstr "Chat afbreken" + +#: src/common/xchat.c:840 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Versie" + +#: src/common/xchat.c:841 +msgid "Userinfo" +msgstr "Gebruikersinfo" + +#: src/common/xchat.c:842 +msgid "Clientinfo" +msgstr "Programma-info" + +#: src/common/xchat.c:843 src/common/xchat.c:877 src/common/xchat.c:925 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:844 +msgid "Time" +msgstr "Tijd" + +#: src/common/xchat.c:845 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:846 +msgid "Oper" +msgstr "Oper" + +#: src/common/xchat.c:847 +msgid "Kill this user" +msgstr "Deze gebruiker doden" + +#: src/common/xchat.c:848 +msgid "Mode" +msgstr "Modus" + +#: src/common/xchat.c:851 +msgid "Give Half-Ops" +msgstr "Half-Ops geven" + +#: src/common/xchat.c:852 +msgid "Take Half-Ops" +msgstr "Half-Ops nemen" + +#: src/common/xchat.c:855 +msgid "Ignore" +msgstr "Negeren" + +#: src/common/xchat.c:856 +msgid "Ignore User" +msgstr "Gebruiker negeren" + +#: src/common/xchat.c:857 +msgid "UnIgnore User" +msgstr "Niet langer negeren" + +#: src/common/xchat.c:869 src/fe-gtk/dccgui.c:586 src/fe-gtk/dccgui.c:752 +msgid "Info" +msgstr "Informatie" + +#: src/common/xchat.c:870 +msgid "Who" +msgstr "Wie" + +#: src/common/xchat.c:871 src/common/xchat.c:921 +msgid "WhoIs" +msgstr "Whois" + +#: src/common/xchat.c:872 +msgid "DNS Lookup" +msgstr "DNS opzoeken" + +#: src/common/xchat.c:873 +msgid "Trace" +msgstr "Traceren" + +#: src/common/xchat.c:874 +msgid "UserHost" +msgstr "GebruikerHost" + +#: src/common/xchat.c:875 +msgid "External" +msgstr "Extern" + +#: src/common/xchat.c:876 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:878 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:890 +msgid "Leave Channel" +msgstr "Kanaal verlaten" + +#: src/common/xchat.c:891 src/fe-gtk/menu.c:1352 +msgid "Join Channel..." +msgstr "Kanaal openen..." + +#: src/common/xchat.c:892 src/fe-gtk/menu.c:1047 +msgid "Enter Channel to Join:" +msgstr "Geef het te openen kanaal:" + +#: src/common/xchat.c:893 +msgid "Server Links" +msgstr "Server koppelingen" + +#: src/common/xchat.c:894 +msgid "Ping Server" +msgstr "Server pingen" + +#: src/common/xchat.c:895 +msgid "Hide Version" +msgstr "Versie verbergen" + +#: src/common/xchat.c:905 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:906 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/xchat.c:909 +msgid "bye" +msgstr "doei" + +#: src/common/xchat.c:910 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Geef reden voor wegschoppen %s:" + +#: src/common/xchat.c:911 +msgid "Sendfile" +msgstr "Bestand verzenden" + +#: src/common/xchat.c:912 +msgid "Dialog" +msgstr "Dialoog" + +#: src/common/xchat.c:922 +msgid "Send" +msgstr "Verzenden" + +#: src/common/xchat.c:923 +msgid "Chat" +msgstr "Chatten" + +#: src/common/xchat.c:924 src/fe-gtk/banlist.c:321 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Wissen" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "Over XChat" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "Een multiplatform IRC-client" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Overzicht tekens" + +#: src/fe-gtk/banlist.c:112 src/fe-gtk/chanlist.c:301 +msgid "Not connected." +msgstr "Niet verbonden." + +#: src/fe-gtk/banlist.c:153 src/fe-gtk/banlist.c:237 +msgid "You must select some bans." +msgstr "Het is nodig om enkele verbanningen selecteren." + +#: src/fe-gtk/banlist.c:252 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Masker" + +#: src/fe-gtk/banlist.c:253 src/fe-gtk/dccgui.c:352 src/fe-gtk/dccgui.c:539 +msgid "From" +msgstr "Van" + +#: src/fe-gtk/banlist.c:254 +msgid "Date" +msgstr "Datum" + +#: src/fe-gtk/banlist.c:297 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "U kunt het Ban List venster enkel openen wanneer u zich in een kanaaltab bevindt." + +#: src/fe-gtk/banlist.c:301 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: verbanlijst (%s)" + +#: src/fe-gtk/banlist.c:317 +msgid "Unban" +msgstr "Verbanning ongedaan maken" + +#: src/fe-gtk/banlist.c:319 +msgid "Crop" +msgstr "Knippen" + +#: src/fe-gtk/banlist.c:323 +msgid "Refresh" +msgstr "Verversen" + +#: src/fe-gtk/chanlist.c:122 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "Gebruikers- en kanaalstatistieken: %d/%d Gebruikers op %d/%d Kanalen" + +#: src/fe-gtk/chanlist.c:544 +msgid "I can't save an empty list!" +msgstr "Kan geen lege lijst opslaan!" + +#: src/fe-gtk/chanlist.c:547 src/fe-gtk/menu.c:983 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Kies een bestandsnaam" + +#: src/fe-gtk/chanlist.c:615 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: Kanaallijst (%s)" + +#: src/fe-gtk/chanlist.c:630 +msgid "List display options:" +msgstr "Lijstweergave opties:" + +#: src/fe-gtk/chanlist.c:642 +msgid "Minimum Users:" +msgstr "Minimaal aantal gebruikers: " + +#: src/fe-gtk/chanlist.c:657 +msgid "Maximum Users:" +msgstr "Maximum aantal gebruikers: " + +#: src/fe-gtk/chanlist.c:673 +msgid "Pattern Match:" +msgstr "Pattroon overeenkomst:" + +#: src/fe-gtk/chanlist.c:675 +msgid "Regex Match:" +msgstr "Regex overeenkomst:" + +#: src/fe-gtk/chanlist.c:697 +msgid "Apply Match to:" +msgstr "Overeenkomst toepassen op:" + +#: src/fe-gtk/chanlist.c:721 +msgid "Apply" +msgstr "Toepassen" + +#: src/fe-gtk/chanlist.c:763 +msgid "Refresh the list" +msgstr "De lijst vernieuwen" + +#: src/fe-gtk/chanlist.c:765 +msgid "Save the list" +msgstr "De lijst bewaren" + +#: src/fe-gtk/chanlist.c:767 src/fe-gtk/menu.c:799 src/fe-gtk/menu.c:1030 +msgid "Join Channel" +msgstr "Kanaal binnengaan" + +#: src/fe-gtk/dccgui.c:117 +#, c-format +msgid "Send file to %s" +msgstr "Bestand versturen naar %s" + +#: src/fe-gtk/dccgui.c:340 +msgid "None" +msgstr "Geen" + +#: src/fe-gtk/dccgui.c:351 src/fe-gtk/dccgui.c:535 src/fe-gtk/dccgui.c:707 +#: src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Bestand" + +#: src/fe-gtk/dccgui.c:352 src/fe-gtk/dccgui.c:712 +msgid "To" +msgstr "Naar" + +#: src/fe-gtk/dccgui.c:354 +msgid "Address" +msgstr "Adres" + +#: src/fe-gtk/dccgui.c:355 +msgid "Started" +msgstr "Gestart" + +#: src/fe-gtk/dccgui.c:356 +msgid "Speed limit" +msgstr "Snelheidslimiet" + +#: src/fe-gtk/dccgui.c:381 +msgid "That file is not resumable." +msgstr "Dat bestand is niet pauzeerbaar." + +#: src/fe-gtk/dccgui.c:385 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Kan geen toegang krijgen tot bestand: %s\n" +"%s.\n" +"Pauzeren is niet mogelijk." + +#: src/fe-gtk/dccgui.c:392 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "Bestand in downloadmap is groter dan aangeboden bestand. Pauzeren is niet mogelijk." + +#: src/fe-gtk/dccgui.c:396 +msgid "Cannot resume the same file from two people." +msgstr "Kan hetzelfde bestand van twee personen niet pauzeren." + +#: src/fe-gtk/dccgui.c:534 src/fe-gtk/dccgui.c:706 src/fe-gtk/dccgui.c:857 +#: src/fe-gtk/notifygui.c:133 +msgid "Status" +msgstr "Status" + +#: src/fe-gtk/dccgui.c:538 src/fe-gtk/dccgui.c:711 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:548 +msgid "XChat: File Receive List" +msgstr "XChat: Lijst binnenkomende bestanden" + +#: src/fe-gtk/dccgui.c:580 src/fe-gtk/dccgui.c:751 src/fe-gtk/dccgui.c:889 +msgid "Abort" +msgstr "Afbreken" + +#: src/fe-gtk/dccgui.c:582 src/fe-gtk/dccgui.c:890 +msgid "Accept" +msgstr "Accepteren" + +#: src/fe-gtk/dccgui.c:584 +msgid "Resume" +msgstr "Doorgaan" + +#: src/fe-gtk/dccgui.c:588 +msgid "Open" +msgstr "Openen" + +#: src/fe-gtk/dccgui.c:710 +msgid "Ack" +msgstr "Ack" + +#: src/fe-gtk/dccgui.c:722 +msgid "XChat: Uploads und Downloads" +msgstr "XChat: uploads en downloads" + +#: src/fe-gtk/dccgui.c:723 +msgid "Downloads" +msgstr "Downloads" + +#: src/fe-gtk/dccgui.c:724 +msgid "Uploads" +msgstr "Uploads" + +#: src/fe-gtk/dccgui.c:725 +msgid "Details" +msgstr "Details" + +#: src/fe-gtk/dccgui.c:726 +msgid "Open Folder..." +msgstr "Open Map..." + +#: src/fe-gtk/dccgui.c:730 +msgid "XChat: File Send List" +msgstr "XChat: Lijst uitgaande bestanden" + +#: src/fe-gtk/dccgui.c:858 +msgid "To/From" +msgstr "Aan/Van" + +#: src/fe-gtk/dccgui.c:859 +msgid "Recv" +msgstr "Recv" + +#: src/fe-gtk/dccgui.c:860 +msgid "Sent" +msgstr "Verzonden" + +#: src/fe-gtk/dccgui.c:861 +msgid "Start Time" +msgstr "Starttijd" + +#: src/fe-gtk/dccgui.c:871 +msgid "XChat: DCC Chat List" +msgstr "XChat: DCC Chat lijst" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*NIEUW*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "BEWERK ME" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Naam" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Opdracht" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Naar boven" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Omlaag" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Annuleren" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Bewaar" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:757 +msgid "Add New" +msgstr "Nieuw toevoegen" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:762 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Verwijder" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Sorteren" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Hulp" + +#: src/fe-gtk/fe-gtk.c:122 +msgid "Don't auto connect to servers" +msgstr "Niet automatisch herverbinden met servers" + +#: src/fe-gtk/fe-gtk.c:123 +msgid "Use a different config directory" +msgstr "Gebruik een andere configmap" + +#: src/fe-gtk/fe-gtk.c:124 +msgid "Don't auto load any plugins" +msgstr "Geen plugins auto-laden" + +#: src/fe-gtk/fe-gtk.c:125 +msgid "Show plugin auto-load directory" +msgstr "Toon map voor plugin auto-load" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Show user config directory" +msgstr "Toon gebruikersconfiguratiemap" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Open an irc://server:port/channel URL" +msgstr "Open een irc://server:poort/kanaal URL" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Show version information" +msgstr "Versie-informatie weergeven" + +#: src/fe-gtk/fe-gtk.c:244 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Openen lettertype mislukt:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:588 +msgid "Search buffer is empty.\n" +msgstr "De zoekbuffer is leeg.\n" + +#: src/fe-gtk/fe-gtk.c:671 +#, c-format +msgid "%d bytes" +msgstr "%d bytes" + +#: src/fe-gtk/fe-gtk.c:672 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Netwerk zendwachtrij: %d bytes" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "De Opdracht uitvoeren actie voert de gegevens in Data 1 uit alsof die is ingevoerd in het invoervak waar u de toetsencombinatie indrukte. Het kan dus tekst (die zal worden verzonden naar het kanaal/de persoon), opdrachten of gebruikersopdrachten bevatten. Als dit wordt uitgevoerd, worden alle \\n tekens in Data 1 gebruikt om verschillende opdrachten te onderscheiden zodat het mogelijk is om meerdere opdrachten uit te voeren. Als u een \\ in de tekst wilt, gebruikt dan \\\\" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "De Pagina schakelen opdracht schakelt tussen pagina's. Stel Data 1 in op de pagina waarnaar u wilt overschakelen. Als Data 2 ergens op is ingesteld, zal de overschakeling relatief zijn ten opzichte van de huidige positie" + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "De Invoegen in buffer opdracht zal de inhoud van Data 1 invoegen in de ingang waar de toetsencombinatie was ingedrukt op de huidige aanwijzerpositie" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "De Pagina schuiven opdracht schuift de tekst in het tekstvak een pagina of regel omhoog of omlaag. Stel Data 1 op Omhoog, Omlaag, +1 of -1." + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "De Buffer instellen opdracht stelt de ingang waar de toetsencombinatie is ingedrukt in op de inhoud van Data 1" + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "De Laatste opdracht opdracht stelt de ingang in op de laatst ingevoerde opdracht - hetzelfde als pijltje omhoog in een shell" + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "De Volgende opdracht opdracht stelt de ingang in op de volgend ingevoerde opdracht - hetzelfde als pijltje omlaag in een shell" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "Deze opdracht wijzigt de tekst in de ingang zodat een incomplete bijnaam of opdracht wordt voltooid. Als Data 1 is ingesteld, dan selecteert tweemaal tab indrukken de laatste bijnaam, niet de volgende" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "Deze opdracht schuift omhoog en omlaag in de lijst met bijnamen. Als Data 1 ergens op is ingesteld, wordt er omhoog geschoven, anders omlaag." + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "Deze opdracht vergelijkt het laatst ingevoerde woord ingevoerd in de ingang, met de vervangingslijst, en vervangt als er een overeenkomst is" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "Deze opdracht verplaatst het voorste tabblad een stap naar links" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "Deze opdracht verplaatst het voorste tabblad een stap naar rechts" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "Deze opdracht verplaatst de huidige tabblad-familie naar links" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "Deze opdracht verplaatst de huidige tabblad-familie naar rechts" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "Invoerregel naar geschiedenis duwen maar niet naar server verzenden" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "Er is een fout opgetreden bij het laden van de configuratie van de toetsenbordkoppelingen" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:735 src/fe-gtk/fkeys.c:741 +#: src/fe-gtk/fkeys.c:746 src/fe-gtk/maingui.c:1092 src/fe-gtk/maingui.c:1108 +#: src/fe-gtk/maingui.c:1385 src/fe-gtk/maingui.c:1486 +#: src/fe-gtk/maingui.c:2935 +msgid "<none>" +msgstr "<geen>" + +#: src/fe-gtk/fkeys.c:699 +msgid "Mod" +msgstr "Mod" + +#: src/fe-gtk/fkeys.c:700 src/fe-gtk/fkeys.c:795 +msgid "Key" +msgstr "Toets" + +#: src/fe-gtk/fkeys.c:701 +msgid "Action" +msgstr "Actie" + +#: src/fe-gtk/fkeys.c:710 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: Sneltoetsen" + +#: src/fe-gtk/fkeys.c:788 +msgid "Shift" +msgstr "Verschuiven" + +#: src/fe-gtk/fkeys.c:790 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:792 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:799 +msgid "Data 1" +msgstr "Data 1" + +#: src/fe-gtk/fkeys.c:802 +msgid "Data 2" +msgstr "Data 2" + +#: src/fe-gtk/fkeys.c:844 +msgid "Error opening keys config file\n" +msgstr "Fout bij openen toetsen config bestand\n" + +#: src/fe-gtk/fkeys.c:1011 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Onbekende toetsnaam %s in toetsenverbindingen config bestand\n" +"Laden afgebroken, repareer a.u.b. %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1049 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Onbekende actie %s in toetsenverbindingen config bestand\n" +"Laden afgebroken, repareer a.u.b. %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1070 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Verwacht Data-regel (beginnend met Dx{:|!}) maar gekregen:\n" +"%s\n" +"\n" +"Laden afgebroken, repareer a.u.b. %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1139 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Toetsenverbindingen config bestand is kapot, laden afgebroken\n" +"Repareer a.u.b. %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Kan niet schrijven naar dat bestand." + +#: src/fe-gtk/gtkutil.c:132 +msgid "Cannot read that file." +msgstr "Kan dat bestand niet lezen." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "Dat masker bestaat al." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:1957 +msgid "Private" +msgstr "Prive" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Melding" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Uitnodigen" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Niet langer negeren" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Geef het te negeren masker:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "XChat: Negeerlijst" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Negeer stats:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Kanaal:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Privé:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Melding:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Uitnodigen:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:347 +msgid "Add..." +msgstr "Voeg toe..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "Naam van kanaal is te kort, probeer opnieuw." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: verbinding vervolledigd" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "Verbinding naar %s vervolledigd." + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "Er is voor dit netwerk geen kanaal (chat room) om automatisch te vervoegen, opgegeven in het Server-List venster." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Wat wilt u vervolgens doen?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_Niets, ik zal later een kanaal vervoegen." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "Kanaal vervoegen (_J):" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Als u de naam van het kanaal dat u wilt vervoegen kent, geef het dan hier op." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "O_pen het Channel-List venster." + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "De Channel-List opvragen, kan één of twee minuten duren." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "_Altijd deze dialoog tonen na het verbinden." + +#: src/fe-gtk/maingui.c:456 +msgid "Dialog with" +msgstr "Dialoog met" + +#: src/fe-gtk/maingui.c:734 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Onderwerp van %s is: %s" + +#: src/fe-gtk/maingui.c:739 +msgid "No topic is set" +msgstr "Er is geen onderwerp ingesteld" + +#: src/fe-gtk/maingui.c:1032 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "Er zijn nog steeds %d kanalen of dialogen met deze server geassocieerd. Wilt u ze allemaal sluiten?" + +#: src/fe-gtk/maingui.c:1162 +msgid "No other tabs open, quit xchat?" +msgstr "Geen andere tabbladen open, programma afsluiten?" + +#: src/fe-gtk/maingui.c:1337 +msgid "Insert Attribute or Color Code" +msgstr "Attribuut- of kleurcode invoegen" + +#: src/fe-gtk/maingui.c:1339 +msgid "<b>Bold</b>" +msgstr "<b>Vet</b>" + +#: src/fe-gtk/maingui.c:1340 +msgid "<u>Underline</u>" +msgstr "<u>Onderstreept</u>" + +#: src/fe-gtk/maingui.c:1342 +msgid "Normal" +msgstr "Normaal" + +#: src/fe-gtk/maingui.c:1344 +msgid "Colors 0-7" +msgstr "Kleuren 0-7" + +#: src/fe-gtk/maingui.c:1354 +msgid "Colors 8-15" +msgstr "Kleuren 8-15" + +#: src/fe-gtk/maingui.c:1390 +msgid "Beep on message" +msgstr "Pieptoon bij bericht" + +#: src/fe-gtk/maingui.c:1393 +msgid "Show join/part messages" +msgstr "Bericht binnengaan/verlaten weergeven" + +#: src/fe-gtk/maingui.c:1395 +msgid "Color paste" +msgstr "Plakken met kleur" + +#: src/fe-gtk/maingui.c:1402 +msgid "Go to" +msgstr "Ga naar" + +#: src/fe-gtk/maingui.c:1415 src/fe-gtk/menu.c:1759 +msgid "_Close Tab" +msgstr "Tabblad sluiten (_C)" + +#: src/fe-gtk/maingui.c:1418 src/fe-gtk/menu.c:1758 +msgid "_Detach Tab" +msgstr "Tabbla_d losmaken" + +#: src/fe-gtk/maingui.c:1657 +msgid "Some file transfers still active, quit xchat?" +msgstr "Sommige bestandoverdrachten zijn nog actief, toch programma afsluiten?" + +#: src/fe-gtk/maingui.c:1825 src/fe-gtk/maingui.c:1931 +msgid "User limit must be a number!\n" +msgstr "Gebruikersgrens moet een getal zijn!\n" + +#: src/fe-gtk/maingui.c:1953 +msgid "Topic Protection" +msgstr "Onderwerp bescherming" + +#: src/fe-gtk/maingui.c:1954 +msgid "No outside messages" +msgstr "Geen berichten van buiten" + +#: src/fe-gtk/maingui.c:1955 +msgid "Secret" +msgstr "Geheim" + +#: src/fe-gtk/maingui.c:1956 +msgid "Invite Only" +msgstr "Alleen-uitnodigen" + +#: src/fe-gtk/maingui.c:1958 +msgid "Moderated" +msgstr "Gemodereerd" + +#: src/fe-gtk/maingui.c:1959 +msgid "Ban List" +msgstr "Banlijst" + +#: src/fe-gtk/maingui.c:1961 +msgid "Keyword" +msgstr "Sleutelwoord" + +#: src/fe-gtk/maingui.c:1973 +msgid "User Limit" +msgstr "Gebruikerslimiet" + +#: src/fe-gtk/maingui.c:2082 +msgid "Show/Hide userlist" +msgstr "Laat de gebruikerslijst wel/niet zien" + +#: src/fe-gtk/maingui.c:2207 +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 "" +"Kan transparante achtergrond niet instellen!\n" +"\n" +"Mogelijk gebruikt u een niet-overeenstemmende\n" +"vensterbeheerder die nu niet wordt ondersteund.\n" + +#: src/fe-gtk/maingui.c:2439 +msgid "Enter new nickname:" +msgstr "Nieuwe bijnaam invullen" + +#: src/fe-gtk/menu.c:120 +msgid "Host unknown" +msgstr "Host onbekend" + +#: src/fe-gtk/menu.c:507 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:512 src/fe-gtk/menu.c:516 +msgid "Real Name:" +msgstr "Echte naam:" + +#: src/fe-gtk/menu.c:520 +msgid "User:" +msgstr "Gebruiker:" + +#: src/fe-gtk/menu.c:524 +msgid "Country:" +msgstr "Land:" + +#: src/fe-gtk/menu.c:528 +msgid "Server:" +msgstr "Server:" + +#: src/fe-gtk/menu.c:540 +msgid "Away Msg:" +msgstr "Afwezigheidsboodschap:" + +#: src/fe-gtk/menu.c:550 +#, c-format +msgid "%u minutes ago" +msgstr "%u minuten geleden" + +#: src/fe-gtk/menu.c:552 src/fe-gtk/menu.c:555 +msgid "Last Msg:" +msgstr "Laatste bericht:" + +#: src/fe-gtk/menu.c:655 +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 "De Menubar is nu verborgen. U kunt die opnieuw laten zien door op F9 te drukken of door rechts te klikken in een blanco deel van het tekstgebied." + +#: src/fe-gtk/menu.c:742 +msgid "Open Link in Browser" +msgstr "Open Link in Browser" + +#: src/fe-gtk/menu.c:743 +msgid "Copy Selected Link" +msgstr "Geselecteerde URL kopiëren" + +#: src/fe-gtk/menu.c:803 +msgid "Part Channel" +msgstr "Kanaal verlaten" + +#: src/fe-gtk/menu.c:805 +msgid "Cycle Channel" +msgstr "Kanaal ronddraaien" + +#: src/fe-gtk/menu.c:828 +msgid "XChat: User menu" +msgstr "XChat: Gebruikersmenu" + +#: src/fe-gtk/menu.c:837 +msgid "Edit This Menu..." +msgstr "Dit menu bewerken..." + +#: src/fe-gtk/menu.c:1032 +msgid "Retrieve channel list..." +msgstr "Haal kanaallijst af..." + +#: src/fe-gtk/menu.c:1100 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" +"Gebruikersopdrachten - Speciale codes:\n" +"\n" +"%c = huidige kanaal\n" +"%m = machine info\n" +"%n = uw bijnaam\n" +"%t = tijd/datum\n" +"%v = xchat versie\n" +"%2 = woord 2\n" +"%3 = woord 3\n" +"&2 = woord 2 tot einde regel\n" +"&3 = woord 3 tot einde regel\n" +"\n" +"bijv.:\n" +"/cmd jan hallo\n" +"\n" +"%2 zou zijn \"jan\"\n" +"&2 zou zijn \"jan hallo\"." + +#: src/fe-gtk/menu.c:1115 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Gebruikerslijst knoppen - Speciale codes:\n" +"\n" +"%a = alle geselecteerde bijnamen\n" +"%c = huidige kanaal\n" +"%h = hostnaam geselecteerde bijnaam\n" +"%m = machine info\n" +"%n = uw bijnaam\n" +"%s = geselecteerde bijnaam\n" +"%t = tijd/datum\n" + +#: src/fe-gtk/menu.c:1124 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Dialoogknoppen - Speciale codes:\n" +"\n" +"%a = alle geselecteerde bijnamen\n" +"%c = huidige kanaal\n" +"%h = hostnaam geselecteerde bijnaam\n" +"%m = machine info\n" +"%n = uw bijnaam\n" +"%s = geselecteerde bijnaam\n" +"%t = tijd/datum\n" + +#: src/fe-gtk/menu.c:1133 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" +"CTCP antwoorden - Speciale codes:\n" +"\n" +"%d = gegevens (de gehele ctcp)\n" +"%m = machine info\n" +"%s = bijnaam die u de ctcp heeft gezonden\n" +"%t = tijd/datum\n" +"%2 = woord 2\n" +"%3 = woord 3\n" +"&2 = woord 2 tot einde regel\n" +"&3 = woord 3 tot einde regel\n" +"\n" + +#: src/fe-gtk/menu.c:1143 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"URL helpers - Speciale codes:\n" +"\n" +"%s = de URL-tekst\n" +"\n" +"Een ! zetten voor de opdracht\n" +"geeft aan dat deze naar een shell\n" +"i.p.v. naar XChat moet worden\n" +"gestuurd" + +#: src/fe-gtk/menu.c:1152 +msgid "XChat: User Defined Commands" +msgstr "XChat: Door gebruiker gedefinieerde opdrachten" + +#: src/fe-gtk/menu.c:1159 +msgid "XChat: Userlist Popup menu" +msgstr "XChat Gebruikerslijst Popup menu" + +#: src/fe-gtk/menu.c:1166 +msgid "Replace with" +msgstr "Vervang met" + +#: src/fe-gtk/menu.c:1166 +msgid "XChat: Replace" +msgstr "XChat: Vervangen" + +#: src/fe-gtk/menu.c:1173 +msgid "XChat: URL Handlers" +msgstr "XChat: URL Programma's" + +#: src/fe-gtk/menu.c:1192 +msgid "XChat: Userlist buttons" +msgstr "XChat: Gebruikerslijst Knoppen" + +#: src/fe-gtk/menu.c:1199 +msgid "XChat: Dialog buttons" +msgstr "XChat: Dialoogknoppen" + +#: src/fe-gtk/menu.c:1206 +msgid "XChat: CTCP Replies" +msgstr "XChat: CTCP Antwoorden" + +#: src/fe-gtk/menu.c:1304 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1305 +msgid "Network Li_st..." +msgstr "Netwerklij_st..." + +#: src/fe-gtk/menu.c:1308 +msgid "_New" +msgstr "_Nieuw" + +#: src/fe-gtk/menu.c:1309 +msgid "Server Tab..." +msgstr "Server tabblad..." + +#: src/fe-gtk/menu.c:1310 +msgid "Channel Tab..." +msgstr "Kanaal tabblad..." + +#: src/fe-gtk/menu.c:1311 +msgid "Server Window..." +msgstr "Server venster..." + +#: src/fe-gtk/menu.c:1312 +msgid "Channel Window..." +msgstr "Kanaal venster..." + +#: src/fe-gtk/menu.c:1317 src/fe-gtk/menu.c:1319 +msgid "_Load Plugin or Script..." +msgstr "Plugin of script _laden..." + +#: src/fe-gtk/menu.c:1327 +msgid "_Quit" +msgstr "Afsluiten (_Q)" + +#: src/fe-gtk/menu.c:1329 +msgid "_View" +msgstr "Beeld (_V)" + +#: src/fe-gtk/menu.c:1331 +msgid "_Menubar" +msgstr "_Menubalk" + +#: src/fe-gtk/menu.c:1332 +msgid "_Topicbar" +msgstr "Onderwerpbalk (_T)" + +#: src/fe-gtk/menu.c:1333 +msgid "_Userlist Buttons" +msgstr "Gebr_uikerslijst Knoppen..." + +#: src/fe-gtk/menu.c:1334 +msgid "M_ode Buttons" +msgstr "M_odus knoppen" + +#: src/fe-gtk/menu.c:1336 +msgid "_Layout" +msgstr "_Layout" + +#: src/fe-gtk/menu.c:1338 +msgid "_Tabs" +msgstr "_Tabs" + +#: src/fe-gtk/menu.c:1339 +msgid "T_ree" +msgstr "Boom (_r)" + +#: src/fe-gtk/menu.c:1341 +msgid "_Network Meters" +msgstr "_Netwerkinstellingen" + +#: src/fe-gtk/menu.c:1343 +msgid "Off" +msgstr "Offline" + +#: src/fe-gtk/menu.c:1344 +msgid "Graph" +msgstr "Grafiek" + +#: src/fe-gtk/menu.c:1346 +msgid "Both" +msgstr "Beide" + +#: src/fe-gtk/menu.c:1349 +msgid "_Server" +msgstr "_Server" + +#: src/fe-gtk/menu.c:1350 +msgid "_Disconnect" +msgstr "Verbin_ding verbreken" + +#: src/fe-gtk/menu.c:1351 +msgid "_Reconnect" +msgstr "Opnieuw ve_rbinden" + +#: src/fe-gtk/menu.c:1355 +msgid "Marked Away" +msgstr "Als weg markeren" + +#: src/fe-gtk/menu.c:1357 +msgid "_Usermenu" +msgstr "Gebr_uikersmenu" + +#: src/fe-gtk/menu.c:1359 +msgid "S_ettings" +msgstr "Inst_ellingen" + +#: src/fe-gtk/menu.c:1360 +msgid "_Preferences" +msgstr "Voorkeuren (_P)" + +#: src/fe-gtk/menu.c:1362 +msgid "Advanced" +msgstr "Uitgebreid" + +#: src/fe-gtk/menu.c:1363 +msgid "Auto Replace..." +msgstr "Auto vervangen..." + +#: src/fe-gtk/menu.c:1364 +msgid "CTCP Replies..." +msgstr "CTCP Antwoorden..." + +#: src/fe-gtk/menu.c:1365 +msgid "Dialog Buttons..." +msgstr "Dialoogknoppen..." + +#: src/fe-gtk/menu.c:1366 +msgid "Keyboard Shortcuts..." +msgstr "Sneltoetsen..." + +#: src/fe-gtk/menu.c:1367 +msgid "Text Events..." +msgstr "Tekst gebeurtenissen..." + +#: src/fe-gtk/menu.c:1368 +msgid "URL Handlers..." +msgstr "URL Programma's..." + +#: src/fe-gtk/menu.c:1369 +msgid "User Commands..." +msgstr "Gebruikerscommando's..." + +#: src/fe-gtk/menu.c:1370 +msgid "Userlist Buttons..." +msgstr "Gebruikerslijst Knoppen..." + +#: src/fe-gtk/menu.c:1371 +msgid "Userlist Popup..." +msgstr "Gebruikerslijst Popup menu..." + +#: src/fe-gtk/menu.c:1374 +msgid "_Window" +msgstr "Venster (_W)" + +#: src/fe-gtk/menu.c:1375 +msgid "Ban List..." +msgstr "Verbanlijst..." + +#: src/fe-gtk/menu.c:1376 +msgid "Channel List..." +msgstr "Kanaallijst..." + +#: src/fe-gtk/menu.c:1377 +msgid "Character Chart..." +msgstr "Speciale tekens..." + +#: src/fe-gtk/menu.c:1378 +msgid "Direct Chat..." +msgstr "Direct chat..." + +#: src/fe-gtk/menu.c:1379 +msgid "File Transfers..." +msgstr "Bestandsoverdrachten..." + +#: src/fe-gtk/menu.c:1380 +msgid "Ignore List..." +msgstr "Negeerlijst..." + +#: src/fe-gtk/menu.c:1381 +msgid "Notify List..." +msgstr "Waarschuwingslijst..." + +#: src/fe-gtk/menu.c:1382 +msgid "Plugins and Scripts..." +msgstr "Plugins en scripts..." + +#: src/fe-gtk/menu.c:1383 +msgid "Raw Log..." +msgstr "Ruw log..." + +#: src/fe-gtk/menu.c:1384 +msgid "URL Grabber..." +msgstr "URL grijper..." + +#: src/fe-gtk/menu.c:1386 +msgid "Reset Marker Line" +msgstr "Markeringslijn opnieuw instellen" + +#: src/fe-gtk/menu.c:1387 +msgid "C_lear Text" +msgstr "Tekst wissen (_l)" + +#: src/fe-gtk/menu.c:1388 +msgid "Search Text..." +msgstr "Tekst zoeken..." + +#: src/fe-gtk/menu.c:1389 +msgid "Save Text..." +msgstr "Tekst opslaan..." + +#: src/fe-gtk/menu.c:1391 src/fe-gtk/menu.c:1750 +msgid "_Help" +msgstr "_Hulp" + +#: src/fe-gtk/menu.c:1392 +msgid "_Contents" +msgstr "Inhoud (_C)" + +#: src/fe-gtk/menu.c:1393 +msgid "_About" +msgstr "Info (_A)" + +#: src/fe-gtk/menu.c:1763 +msgid "_Attach Window" +msgstr "Venster _aanhechten" + +#: src/fe-gtk/menu.c:1764 +msgid "_Close Window" +msgstr "Venster sluiten (_C)" + +#: src/fe-gtk/notifygui.c:132 +msgid "User" +msgstr "Gebruiker" + +#: src/fe-gtk/notifygui.c:134 +msgid "Server" +msgstr "Server" + +#: src/fe-gtk/notifygui.c:135 +msgid "Last Seen" +msgstr "Laatst gezien" + +#: src/fe-gtk/notifygui.c:175 +msgid "Offline" +msgstr "Offline" + +#: src/fe-gtk/notifygui.c:195 src/fe-gtk/setup.c:203 +msgid "Never" +msgstr "Nooit" + +#: src/fe-gtk/notifygui.c:213 +msgid "Online" +msgstr "Online" + +#: src/fe-gtk/notifygui.c:318 +msgid "Enter nickname to add:" +msgstr "Geef bijnaam om toe te voegen:" + +#: src/fe-gtk/notifygui.c:334 +msgid "XChat: Notify List" +msgstr "XChat: Waarschuwingsvenster" + +#: src/fe-gtk/notifygui.c:351 +msgid "Remove" +msgstr "Verwijderen" + +#: src/fe-gtk/notifygui.c:355 +msgid "Open Dialog" +msgstr "Dialoogvenster openen" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:421 +msgid "Description" +msgstr "Omschrijving" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Kies een Plugin of Script om te laden" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: Plugins en scripts" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Laden..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "Ontladen (_U)" + +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "Sluiten (_C)" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:435 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Opslaan Als..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: Ruw log (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Ruw log wissen" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Het venster waarvoor dit venster geopend was bestaat niet meer." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "Zoekopdracht heeft einde bereikt, niet gevonden." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Zoeken" + +#: src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Zoeken:" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "Hoofdlettergevoelig (_M)" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "Achterwaarts zoeken (_b)" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "Zoek (_F)" + +#: src/fe-gtk/servlistgui.c:169 src/fe-gtk/servlistgui.c:268 +msgid "New Network" +msgstr "Nieuw Netwerk" + +#: src/fe-gtk/servlistgui.c:553 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Zeker het netwerk \"%s\" en al zijn servers verwijderen?" + +#: src/fe-gtk/servlistgui.c:677 +msgid "User name and Real name cannot be left blank." +msgstr "Gebruikersnaam en echte naam mogen niet blanco gelaten worden." + +#: src/fe-gtk/servlistgui.c:977 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: %s bewerken" + +#: src/fe-gtk/servlistgui.c:996 +#, c-format +msgid "Servers for %s" +msgstr "Servers voor %s" + +#: src/fe-gtk/servlistgui.c:1007 +msgid "Connect to selected server only" +msgstr "Verbind enkel met geselecteerde server" + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Niet alle servers afgaan wanneer verbinden mislukt." + +#: src/fe-gtk/servlistgui.c:1010 +msgid "Your Details" +msgstr "Uw details" + +#: src/fe-gtk/servlistgui.c:1016 +msgid "Use global user information" +msgstr "Algemene gebruikersinfo gebruiken" + +#: src/fe-gtk/servlistgui.c:1019 src/fe-gtk/servlistgui.c:1251 +msgid "_Nick name:" +msgstr "Bij_naam:" + +#: src/fe-gtk/servlistgui.c:1023 src/fe-gtk/servlistgui.c:1258 +msgid "Second choice:" +msgstr "Tweede keuze:" + +#: src/fe-gtk/servlistgui.c:1027 src/fe-gtk/servlistgui.c:1272 +msgid "_User name:" +msgstr "Gebr_uikersnaam:" + +#: src/fe-gtk/servlistgui.c:1031 src/fe-gtk/servlistgui.c:1279 +msgid "Rea_l name:" +msgstr "Echte naam (_l):" + +#: src/fe-gtk/servlistgui.c:1034 +msgid "Connecting" +msgstr "Bezig met verbinden" + +#: src/fe-gtk/servlistgui.c:1040 +msgid "Auto connect to this network at startup" +msgstr "Auto-verbinden met dit netwerk bij opstarten" + +#: src/fe-gtk/servlistgui.c:1042 +msgid "Use a proxy server" +msgstr "Een Proxy Server gebruiken" + +#: src/fe-gtk/servlistgui.c:1044 +msgid "Use SSL for all the servers on this network" +msgstr "SSL gebruiken voor alle servers op dit netwerk" + +#: src/fe-gtk/servlistgui.c:1049 +msgid "Accept invalid SSL certificate" +msgstr "Onjuist SSL certificaat accepteren" + +#: src/fe-gtk/servlistgui.c:1055 +msgid "C_hannels to join:" +msgstr "Kanalen om binnen te gaan (_h):" + +#: src/fe-gtk/servlistgui.c:1057 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Kanalen om binnen te gaan, gescheiden door komma's, maar geen spaties!" + +#: src/fe-gtk/servlistgui.c:1060 +msgid "Connect command:" +msgstr "Verbindopdracht:" + +#: src/fe-gtk/servlistgui.c:1062 +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 "Extra uit te voeren opdracht na verbinden. Als u er meerdere nodig heeft, kunt u dit instellen op LOAD -e <bestandsnaam>, waar <bestandsnaam> een tekstbestand is met de uit te voeren opdrachten." + +#: src/fe-gtk/servlistgui.c:1065 +msgid "Nickserv password:" +msgstr "Bijnaamserver wachtwoord:" + +#: src/fe-gtk/servlistgui.c:1067 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "Als uw bijnaam een wachtwoord vereist, geef het dan hier in. Niet alle IRC-netwerken ondersteuenen dit." + +#: src/fe-gtk/servlistgui.c:1071 +msgid "Server password:" +msgstr "Serverwachtwoord:" + +#: src/fe-gtk/servlistgui.c:1073 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Wachtwoord voor de server. Bij twijfel leeglaten." + +#: src/fe-gtk/servlistgui.c:1076 +msgid "Character set:" +msgstr "Tekenset:" + +#: src/fe-gtk/servlistgui.c:1146 +msgid "_Edit" +msgstr "B_ewerken" + +#: src/fe-gtk/servlistgui.c:1229 +msgid "XChat: Network List" +msgstr "XChat: Netwerklijst" + +#: src/fe-gtk/servlistgui.c:1241 +msgid "User Information" +msgstr "Gebruikersinformatie" + +#: src/fe-gtk/servlistgui.c:1265 +msgid "Third choice:" +msgstr "Derde keuze:" + +#: src/fe-gtk/servlistgui.c:1325 +msgid "Networks" +msgstr "Netwerken" + +#: src/fe-gtk/servlistgui.c:1366 +msgid "Skip network list on startup" +msgstr "Netwerklijst overslaan bij opstarten" + +#: src/fe-gtk/servlistgui.c:1398 +msgid "_Edit..." +msgstr "B_ewerken..." + +#: src/fe-gtk/servlistgui.c:1405 +msgid "_Sort" +msgstr "_Sorteren" + +#: src/fe-gtk/servlistgui.c:1429 +msgid "C_onnect" +msgstr "Verbinden (_o)" + +#: src/fe-gtk/setup.c:97 +msgid "Text Box Appearance" +msgstr "Tekstvak uiterlijk" + +#: src/fe-gtk/setup.c:98 +msgid "Font:" +msgstr "Lettertype:" + +#: src/fe-gtk/setup.c:99 +msgid "Background image:" +msgstr "Achtergrond Afbeelding:" + +#: src/fe-gtk/setup.c:100 +msgid "Scrollback lines:" +msgstr "Terugschuif regels:" + +#: src/fe-gtk/setup.c:101 +msgid "Colored nick names" +msgstr "Gekleurde bijnamen" + +#: src/fe-gtk/setup.c:102 +msgid "Give each person on IRC a different color" +msgstr "Elke persoon op IRC een andere kleur geven" + +#: src/fe-gtk/setup.c:103 +msgid "Indent nick names" +msgstr "Bijnamen inspringen" + +#: src/fe-gtk/setup.c:104 +msgid "Make nick names right-justified" +msgstr "Bijnamen rechts uitlijnen" + +#: src/fe-gtk/setup.c:105 +msgid "Transparent background" +msgstr "Achtergrond doozichtig" + +#: src/fe-gtk/setup.c:106 +msgid "Show marker line" +msgstr "Markeringslijn weergeven" + +#: src/fe-gtk/setup.c:107 +msgid "Insert a red line after the last read text." +msgstr "Rode lijn invoegen na laatste gelezen tekst." + +#: src/fe-gtk/setup.c:108 +msgid "Transparency Settings" +msgstr "Instellingen transparantheid" + +#: src/fe-gtk/setup.c:109 +msgid "Red:" +msgstr "Rood:" + +#: src/fe-gtk/setup.c:110 +msgid "Green:" +msgstr "Groen:" + +#: src/fe-gtk/setup.c:111 +msgid "Blue:" +msgstr "Blauw:" + +#: src/fe-gtk/setup.c:113 src/fe-gtk/setup.c:325 +msgid "Time Stamps" +msgstr "Tijdsstempels" + +#: src/fe-gtk/setup.c:114 +msgid "Enable time stamps" +msgstr "Tijdsstempels aan zetten" + +#: src/fe-gtk/setup.c:115 +msgid "Time stamp format:" +msgstr "Tijdstampformaat:" + +#: src/fe-gtk/setup.c:116 src/fe-gtk/setup.c:328 +msgid "See strftime manpage for details." +msgstr "Zie strftime handboekpagina voor details." + +#: src/fe-gtk/setup.c:123 src/fe-gtk/setup.c:1504 +msgid "Input box" +msgstr "Invoervak" + +#: src/fe-gtk/setup.c:124 src/fe-gtk/setup.c:166 +msgid "Use the Text box font and colors" +msgstr "Tekstvak lettertype en kleuren gebruiken" + +#: src/fe-gtk/setup.c:126 +msgid "Spell checking" +msgstr "spelling checken" + +#: src/fe-gtk/setup.c:129 +msgid "Nick Completion" +msgstr "Bijnaam-afmaken" + +#: src/fe-gtk/setup.c:130 +msgid "Automatic nick completion (without TAB key)" +msgstr "Automatische Bijnaamaanvulling (zonder TAB-toets)" + +#: src/fe-gtk/setup.c:132 +msgid "Nick completion suffix:" +msgstr "Nicknaam-aanvullen achtervoegsel:" + +#: src/fe-gtk/setup.c:135 +msgid "Input Box Codes" +msgstr "Invoervak codes" + +#: src/fe-gtk/setup.c:136 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Interpreteer %nnn als een ASCII waarde" + +#: src/fe-gtk/setup.c:137 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "%C, %B als kleur, vet etc. interpreteren" + +#: src/fe-gtk/setup.c:154 +msgid "A-Z, Ops first" +msgstr "A-Z, Ops eerst" + +#: src/fe-gtk/setup.c:155 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:156 +msgid "Z-A, Ops last" +msgstr "Z-A, Ops als laatste" + +#: src/fe-gtk/setup.c:157 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:158 +msgid "Unsorted" +msgstr "Ongesorteerd" + +#: src/fe-gtk/setup.c:164 +msgid "User List" +msgstr "Gebruikers Lijst" + +#: src/fe-gtk/setup.c:165 +msgid "Show hostnames in user list" +msgstr "Hostnamen in gebruikerslijst weergeven" + +#: src/fe-gtk/setup.c:167 +msgid "Resizable user list" +msgstr "Schaalbare gebruikerslijst" + +#: src/fe-gtk/setup.c:168 +msgid "User list sorted by:" +msgstr "Gebruikerslijst gesorteerd op:" + +#: src/fe-gtk/setup.c:170 +msgid "Away tracking" +msgstr "Afwezigheidsbijhouding" + +#: src/fe-gtk/setup.c:171 +msgid "Track the Away status of users and mark them in a different color" +msgstr "Houdt de Away-status van gebruikers bij en markeer ze in een andere kleur" + +#: src/fe-gtk/setup.c:172 +msgid "On channels smaller than:" +msgstr "Bij kanalen kleiner dan:" + +#: src/fe-gtk/setup.c:174 +msgid "Action Upon Double Click" +msgstr "Activeren met dubbel-klikken" + +#: src/fe-gtk/setup.c:175 +msgid "Execute command:" +msgstr "Opdracht uitvoeren:" + +#: src/fe-gtk/setup.c:186 +msgid "Windows" +msgstr "Vensters" + +#: src/fe-gtk/setup.c:187 src/fe-gtk/setup.c:211 src/fe-gtk/setup.c:1506 +msgid "Tabs" +msgstr "Tabs" + +#: src/fe-gtk/setup.c:193 +msgid "Bottom" +msgstr "Onderkant" + +#: src/fe-gtk/setup.c:194 +msgid "Top" +msgstr "Bovenkant" + +#: src/fe-gtk/setup.c:195 +msgid "Left" +msgstr "Links" + +#: src/fe-gtk/setup.c:196 +msgid "Right" +msgstr "Rechts" + +#: src/fe-gtk/setup.c:197 +msgid "Hidden" +msgstr "Verborgen" + +#: src/fe-gtk/setup.c:204 +msgid "Always" +msgstr "Altijd" + +#: src/fe-gtk/setup.c:205 +msgid "Only requested tabs" +msgstr "Alleen gevraagde tabbladen" + +#: src/fe-gtk/setup.c:212 +msgid "Open an extra tab for server messages" +msgstr "Extra tabblad openen voor serverberichten" + +#: src/fe-gtk/setup.c:213 +msgid "Open an extra tab for server notices" +msgstr "Extra tabblad openen voor servermeldingen" + +#: src/fe-gtk/setup.c:214 +msgid "Sort tabs in alphabetical order" +msgstr "Tabbladen alfabetisch ordenen" + +#: src/fe-gtk/setup.c:215 +msgid "Small tabs" +msgstr "Kleine tabbladen" + +#: src/fe-gtk/setup.c:216 +msgid "Focus new tabs:" +msgstr "Nieuwe tabbladen focusseren:" + +#: src/fe-gtk/setup.c:217 +msgid "Shorten tab labels to:" +msgstr "Tabbladlabels verkorten tot:" + +#: src/fe-gtk/setup.c:217 +msgid "letters." +msgstr "letters." + +#: src/fe-gtk/setup.c:219 +msgid "Tabs Location" +msgstr "Tabbladen positie" + +#: src/fe-gtk/setup.c:220 +msgid "Show tabs at:" +msgstr "Tabs laten zien op:" + +#: src/fe-gtk/setup.c:222 +msgid "Tabs or Windows" +msgstr "Tabbladen of Vensters" + +#: src/fe-gtk/setup.c:223 +msgid "Open channels in:" +msgstr "Open kanalen in:" + +#: src/fe-gtk/setup.c:224 +msgid "Open dialogs in:" +msgstr "Open dialoog vensters in:" + +#: src/fe-gtk/setup.c:225 +msgid "Open utilities in:" +msgstr "Gereedschappen openen in:" + +#: src/fe-gtk/setup.c:225 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "DCC, Negeren, berichten openen in tabbladen of vensters?" + +#: src/fe-gtk/setup.c:232 +msgid "No" +msgstr "Nee" + +#: src/fe-gtk/setup.c:233 +msgid "Yes" +msgstr "Ja" + +#: src/fe-gtk/setup.c:234 +msgid "Browse for save folder every time" +msgstr "Blader elke keer voor bewaarmap" + +#: src/fe-gtk/setup.c:240 +msgid "Files and Directories" +msgstr "Bestanden en mappen" + +#: src/fe-gtk/setup.c:241 +msgid "Auto accept file offers:" +msgstr "Auto accepteren bestandsaanbiedingen:" + +#: src/fe-gtk/setup.c:242 +msgid "Download files to:" +msgstr "Gedownloade bestanden opslaan in:" + +#: src/fe-gtk/setup.c:243 +msgid "Move completed files to:" +msgstr "Volledig gedownloade bestanden verplaatsen naar:" + +#: src/fe-gtk/setup.c:244 +msgid "Save nick name in filenames" +msgstr "Bijnaam opslaan in bestandsnamen" + +#: src/fe-gtk/setup.c:246 +msgid "Network Settings" +msgstr "Netwerkinstellingen" + +#: src/fe-gtk/setup.c:247 +msgid "Get my address from the IRC server" +msgstr "Mijn adres van de IRC server halen" + +#: src/fe-gtk/setup.c:248 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "De IRC-server om uw echte adres vragen. Gebruik dit als u een 192.168.*.* adres heeft!" + +#: src/fe-gtk/setup.c:249 +msgid "DCC IP address:" +msgstr "DCC IP Adres:" + +#: src/fe-gtk/setup.c:250 +msgid "Claim you are at this address when offering files." +msgstr "Doe alsof u op dit adres bent bij het aanbieden van bestanden." + +#: src/fe-gtk/setup.c:251 +msgid "First DCC send port:" +msgstr "Eerste DCC verstuurpoort:" + +#: src/fe-gtk/setup.c:252 +msgid "Last DCC send port:" +msgstr "Laatste DCC verstuurpoort:" + +#: src/fe-gtk/setup.c:253 +msgid "!Leave ports at zero for full range." +msgstr "!Poorten op nul laten voor volledig bereik." + +#: src/fe-gtk/setup.c:255 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Maximale bestandsoverdrachtssnelheid (bytes/s)" + +#: src/fe-gtk/setup.c:256 +msgid "One upload:" +msgstr "Eén upload:" + +#: src/fe-gtk/setup.c:257 src/fe-gtk/setup.c:259 +msgid "Maximum speed for one transfer" +msgstr "Maximumsnelheid voor één overdracht" + +#: src/fe-gtk/setup.c:258 +msgid "One download:" +msgstr "Eén download:" + +#: src/fe-gtk/setup.c:260 +msgid "All uploads combined:" +msgstr "Alle uploads samen:" + +#: src/fe-gtk/setup.c:261 src/fe-gtk/setup.c:263 +msgid "Maximum speed for all files" +msgstr "Maximumsnelheid voor alle bestanden" + +#: src/fe-gtk/setup.c:262 +msgid "All downloads combined:" +msgstr "Alle downloads samen:" + +#: src/fe-gtk/setup.c:270 +msgid "Default Messages" +msgstr "Standaardberichten" + +#: src/fe-gtk/setup.c:271 +msgid "Quit:" +msgstr "Afsluiten:" + +#: src/fe-gtk/setup.c:272 +msgid "Leave channel:" +msgstr "Kanaal verlaten:" + +#: src/fe-gtk/setup.c:273 +msgid "Away:" +msgstr "Weg:" + +#: src/fe-gtk/setup.c:275 +msgid "Away" +msgstr "Weg" + +#: src/fe-gtk/setup.c:276 +msgid "Announce away messages" +msgstr "Weg-berichten aankondigen" + +#: src/fe-gtk/setup.c:277 +msgid "Announce your away messages to all channels" +msgstr "Uw weg-berichten aankondigen bij alle kanalen" + +#: src/fe-gtk/setup.c:278 +msgid "Show away once" +msgstr "Laat 'away' slechts een keer" + +#: src/fe-gtk/setup.c:278 +msgid "Show identical away messages only once" +msgstr "Identieke afwezigheidsberichten slechts eenmaal laten zien" + +#: src/fe-gtk/setup.c:279 +msgid "Automatically unmark away" +msgstr "Automatisch afwezig de-markeren" + +#: src/fe-gtk/setup.c:279 +msgid "Unmark yourself as away before sending messages" +msgstr "Uzelf niet meer als afwezig markeren alvorens berichten te verzenden" + +#: src/fe-gtk/setup.c:282 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "(Kan een tekstbestand zijn relatief tot ~/.xchat2/)." + +#: src/fe-gtk/setup.c:284 +msgid "(Can be a text file relative to config dir)." +msgstr "(Kan een tekstbestand zijn relatief tot config map)." + +#: src/fe-gtk/setup.c:288 +msgid "Alerts" +msgstr "Waarschuwingen" + +#: src/fe-gtk/setup.c:290 +msgid "Flash taskbar on highlighted messages" +msgstr "Taakbalk laten flitsen bij opgelichte berichten" + +#: src/fe-gtk/setup.c:292 +msgid "Beep on highlighted messages" +msgstr "Pieptoon bij opgelichte berichten" + +#: src/fe-gtk/setup.c:293 +msgid "Beep on private messages" +msgstr "Pieptoon bij Prive Berichten" + +#: src/fe-gtk/setup.c:294 +msgid "Beep on channel messages" +msgstr "Pieptoon bij Kanaalberichten" + +#: src/fe-gtk/setup.c:295 +msgid "Extra words to highlight on:" +msgstr "Extra Woorden om op te lichten:" + +#: src/fe-gtk/setup.c:296 +msgid "Nicks not to highlight on:" +msgstr "Niet op te lichten bijnamen:" + +#: src/fe-gtk/setup.c:297 +msgid "Separate multiple words with commas." +msgstr "Plaats komma's tussen de woorden." + +#: src/fe-gtk/setup.c:304 +msgid "Advanced Settings" +msgstr "Uitgebreide instellingen" + +#: src/fe-gtk/setup.c:305 +msgid "Auto reconnect delay:" +msgstr "Vertraging bij auto-herverbinden:" + +#: src/fe-gtk/setup.c:306 +msgid "Display MODEs in raw form" +msgstr "MODEs weergeven in ruwe vorm" + +#: src/fe-gtk/setup.c:307 +msgid "Whois on notify" +msgstr "Whois bij waarschuwen" + +#: src/fe-gtk/setup.c:307 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Een /WHOIS verzenden als een gebruiker uit uw lijst online komt" + +#: src/fe-gtk/setup.c:308 +msgid "Hide join and part messages" +msgstr "Binnengaan/verlaten berichten verbergen" + +#: src/fe-gtk/setup.c:308 +msgid "Hide channel join/part messages by default" +msgstr "Standaard kanaal binnengaan/verlaten berichten verbergen" + +#: src/fe-gtk/setup.c:309 +msgid "Auto Open DCC Windows" +msgstr "DCC-vensters auto-openen" + +#: src/fe-gtk/setup.c:310 +msgid "Send window" +msgstr "Verzendvenster" + +#: src/fe-gtk/setup.c:311 +msgid "Receive window" +msgstr "Ontvangstvenster" + +#: src/fe-gtk/setup.c:312 +msgid "Chat window" +msgstr "Chatvenster" + +#: src/fe-gtk/setup.c:320 src/fe-gtk/setup.c:1511 +msgid "Logging" +msgstr "Loggen" + +#: src/fe-gtk/setup.c:321 +msgid "Enable logging of conversations" +msgstr "Loggen van gesprekken aanzetten" + +#: src/fe-gtk/setup.c:322 +msgid "Log filename:" +msgstr "Logbestandsnaam:" + +#: src/fe-gtk/setup.c:323 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Server %c=Kanaal %n=Netwerk." + +#: src/fe-gtk/setup.c:326 +msgid "Insert timestamps in logs" +msgstr "Tijdsstempels in logs invoegen" + +#: src/fe-gtk/setup.c:327 +msgid "Log timestamp format:" +msgstr "Log tijdsstempel formaat:" + +#: src/fe-gtk/setup.c:335 +msgid "(Disabled)" +msgstr "(Uitgezet)" + +#: src/fe-gtk/setup.c:336 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:337 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:338 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:339 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:341 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: src/fe-gtk/setup.c:348 +msgid "All Connections" +msgstr "Alle verbindingen" + +#: src/fe-gtk/setup.c:349 +msgid "IRC Server Only" +msgstr "Enkel IRC Server" + +#: src/fe-gtk/setup.c:350 +msgid "DCC Get Only" +msgstr "DCC Get Only" + +#: src/fe-gtk/setup.c:356 +msgid "Your Address" +msgstr "Uw adres" + +#: src/fe-gtk/setup.c:357 +msgid "Bind to:" +msgstr "Verbinden met:" + +#: src/fe-gtk/setup.c:358 +msgid "Only useful for computers with multiple addresses." +msgstr "Alleen bruikbaar voor computers met meerdere adressen." + +#: src/fe-gtk/setup.c:360 +msgid "Proxy Server" +msgstr "Proxy-server" + +#: src/fe-gtk/setup.c:361 +msgid "Hostname:" +msgstr "Hostnaam:" + +#: src/fe-gtk/setup.c:362 +msgid "Port:" +msgstr "Poort:" + +#: src/fe-gtk/setup.c:363 +msgid "Type:" +msgstr "Soort" + +#: src/fe-gtk/setup.c:364 +msgid "Use proxy for:" +msgstr "Een Proxy Server gebruiken voor:" + +#: src/fe-gtk/setup.c:366 +msgid "Proxy Authentication" +msgstr "Proxy-authenticatie" + +#: src/fe-gtk/setup.c:368 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Gebruik authenticatie (enkel MS Proxy, HTTP of Socks5)" + +#: src/fe-gtk/setup.c:370 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Gebruik authenticatie (enkel HTTP of Socks5)" + +#: src/fe-gtk/setup.c:372 +msgid "Username:" +msgstr "Gebruikersnaam:" + +#: src/fe-gtk/setup.c:373 +msgid "Password:" +msgstr "Wachtwoord:" + +#: src/fe-gtk/setup.c:716 +msgid "Select an Image File" +msgstr "Selecteer een afbeeldingsbestand" + +#: src/fe-gtk/setup.c:740 +msgid "Select Download Folder" +msgstr "Kies downloadmap" + +#: src/fe-gtk/setup.c:749 +msgid "Select font" +msgstr "Kies een Lettertype" + +#: src/fe-gtk/setup.c:820 +msgid "Browse..." +msgstr "Bladeren..." + +#: src/fe-gtk/setup.c:955 +msgid "Mark identified users with:" +msgstr "Geïdentificeerde gebruikers markeren met:" + +#: src/fe-gtk/setup.c:957 +msgid "Mark not-identified users with:" +msgstr "Niet-geïdentificeerde gebruikers markeren met:" + +#: src/fe-gtk/setup.c:1018 +msgid "Select color" +msgstr "Kies een kleur" + +#: src/fe-gtk/setup.c:1098 +msgid "Text Colors" +msgstr "Tekstkleuren" + +#: src/fe-gtk/setup.c:1100 +msgid "mIRC colors:" +msgstr "mIRC kleuren:" + +#: src/fe-gtk/setup.c:1108 +msgid "Local colors:" +msgstr "Lokale kleuren:" + +#: src/fe-gtk/setup.c:1116 src/fe-gtk/setup.c:1121 +msgid "Foreground:" +msgstr "Voorgrond:" + +#: src/fe-gtk/setup.c:1117 src/fe-gtk/setup.c:1122 +msgid "Background:" +msgstr "Achtergrond:" + +#: src/fe-gtk/setup.c:1119 +msgid "Marking Text" +msgstr "Markeringstekst" + +#: src/fe-gtk/setup.c:1124 +msgid "Interface Colors" +msgstr "Interfacekleuren" + +#: src/fe-gtk/setup.c:1126 +msgid "New data:" +msgstr "Nieuwe gegevens:" + +#: src/fe-gtk/setup.c:1127 +msgid "Marker line:" +msgstr "Markeringslijn:" + +#: src/fe-gtk/setup.c:1128 +msgid "New message:" +msgstr "Nieuw bericht:" + +#: src/fe-gtk/setup.c:1129 +msgid "Away user:" +msgstr "Gebruiker weg:" + +#: src/fe-gtk/setup.c:1130 +msgid "Highlight:" +msgstr "Oplichting:" + +#: src/fe-gtk/setup.c:1226 src/fe-gtk/textgui.c:386 +msgid "Event" +msgstr "Gebeurtenis" + +#: src/fe-gtk/setup.c:1232 +msgid "Sound file" +msgstr "Geluidsbestand" + +#: src/fe-gtk/setup.c:1267 +msgid "Select a sound file" +msgstr "Kies een geluidsnaam" + +#: src/fe-gtk/setup.c:1339 +msgid "Sound playing method:" +msgstr "Geluidsafspeelmethode:" + +#: src/fe-gtk/setup.c:1347 +msgid "External sound playing _program:" +msgstr "Extern geluidsafspeel_programma:" + +#: src/fe-gtk/setup.c:1365 +msgid "_External program" +msgstr "_Extern programma" + +#: src/fe-gtk/setup.c:1375 +msgid "_Automatic" +msgstr "_Automatisch" + +#: src/fe-gtk/setup.c:1388 +msgid "Sound files _directory:" +msgstr "Geluidsbestan_den map:" + +#: src/fe-gtk/setup.c:1427 +msgid "Sound file:" +msgstr "Geluidsbestand:" + +#: src/fe-gtk/setup.c:1442 +msgid "_Browse..." +msgstr "_Bladeren..." + +#: src/fe-gtk/setup.c:1453 +msgid "_Play" +msgstr "Afs_pelen" + +#: src/fe-gtk/setup.c:1502 +msgid "Interface" +msgstr "Uiterlijk" + +#: src/fe-gtk/setup.c:1503 +msgid "Text box" +msgstr "Tekstvak" + +#: src/fe-gtk/setup.c:1505 +msgid "User list" +msgstr "Gebruikerslijst" + +#: src/fe-gtk/setup.c:1507 +msgid "Colors" +msgstr "Kleuren" + +#: src/fe-gtk/setup.c:1509 +msgid "Chatting" +msgstr "Chatten" + +#: src/fe-gtk/setup.c:1510 +msgid "General" +msgstr "Algemeen" + +#: src/fe-gtk/setup.c:1512 +msgid "Sound" +msgstr "Geluid" + +#: src/fe-gtk/setup.c:1515 +msgid "Network" +msgstr "Netwerk" + +#: src/fe-gtk/setup.c:1516 +msgid "Network setup" +msgstr "Netwerkinstellingen" + +#: src/fe-gtk/setup.c:1517 +msgid "File transfers" +msgstr "Bestandsoverdrachten" + +#: src/fe-gtk/setup.c:1625 +msgid "Categories" +msgstr "Categorieën" + +#: src/fe-gtk/setup.c:1797 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Sommige instellingen die zijn veranderd worden pas actief na het opnieuw starten." + +#: src/fe-gtk/setup.c:1805 +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 "" +"*WAARSCHUWING*\n" +"Auto accepteren van DCC naar uw persoonlijke\n" +"map is gevaarlijk en er kan misbruik van worden\n" +"gemaakt.\n" +"Iemand kan u bijvoorbeeld een .bash_profile\n" +"bestand opsturen." + +#: src/fe-gtk/setup.c:1838 +msgid "XChat: Preferences" +msgstr "XChat: Voorkeuren" + +#: src/fe-gtk/textgui.c:177 +msgid "There was an error parsing the string" +msgstr "Er is een fout opgetreden bij het parsen van de string" + +#: src/fe-gtk/textgui.c:185 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Dit signaal is slechts %d argumenten gegeven, $%d is onjuist" + +#: src/fe-gtk/textgui.c:301 src/fe-gtk/textgui.c:324 +msgid "Print Texts File" +msgstr "Tekstbestand afdrukken" + +#: src/fe-gtk/textgui.c:369 +msgid "Edit Events" +msgstr "Gebeurtenissen bewerken" + +#: src/fe-gtk/textgui.c:420 +msgid "$ Number" +msgstr "$ Getal" + +#: src/fe-gtk/textgui.c:437 +msgid "Load From..." +msgstr "Laden vanaf..." + +#: src/fe-gtk/textgui.c:438 +msgid "Test All" +msgstr "Allemaal Testen" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: URL Grijper" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Lijst wissen" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Geselecteerde URL kopiëren" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Kopiëren" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Lijst opslaan naar een bestand" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d totaal" + +#: plugins/dbus/xchat-remote.c:41 +msgid "Open an irc:// url" +msgstr "Open een irc:// url" + +#: plugins/dbus/xchat-remote.c:41 +msgid "irc://server:port/channel" +msgstr "irc://server:poort/kanaal" + +#: plugins/dbus/xchat-remote.c:42 +msgid "Execute a xchat command" +msgstr "Voer een xchat-opdracht uit" + +#: plugins/dbus/xchat-remote.c:42 +msgid "\"Command to execute\"" +msgstr "\"Uit te voeren commando\"" + +#: plugins/dbus/xchat-remote.c:43 +msgid "Prints some text to the current tab/window" +msgstr "Print tekst naar de huidige tab/venster" + +#: plugins/dbus/xchat-remote.c:43 +msgid "\"Text to print\"" +msgstr "\"Af te drukken tekst\"" + +#: plugins/dbus/xchat-remote.c:44 +msgid "Change the context to the channel" +msgstr "Wijzig de context naar het kanaal" + +#: plugins/dbus/xchat-remote.c:44 +msgid "channel" +msgstr "kanaal" + +#: plugins/dbus/xchat-remote.c:45 +msgid "Change the context to the server" +msgstr "Wijzig de context naar de server" + +#: plugins/dbus/xchat-remote.c:45 +msgid "server" +msgstr "server" + +#: plugins/dbus/xchat-remote.c:46 +msgid "Get some informations from xchat" +msgstr "Verkrijg informatie van xchat" + +#: plugins/dbus/xchat-remote.c:46 +msgid "id" +msgstr "id" + +#: plugins/dbus/xchat-remote.c:47 +msgid "Get settings from xchat" +msgstr "Verkrijg instellingen van xchat" + +#: plugins/dbus/xchat-remote.c:47 +msgid "name" +msgstr "naam" + +#: plugins/dbus/xchat-remote.c:79 +#, c-format +msgid "" +"xchat-remote: %s\n" +"Try `xchat-remote --help' for more information\n" +msgstr "" +"xchat-remote: %s\n" +"Probeer `xchat-remote --help' voor meer informatie\n" + +#: plugins/dbus/xchat-remote.c:90 +msgid "Couldn't connect to session bus" +msgstr "Kon niet connecteren op sessie-bus" + +#: plugins/dbus/xchat-remote.c:116 plugins/dbus/xchat-remote.c:130 +msgid "Failed to complete command" +msgstr "Commando vervolledigen mislukt" + +#: plugins/dbus/xchat-remote.c:125 +msgid "Failed to complete SetContext" +msgstr "SetContext vervolledigen mislukt" + +#: plugins/dbus/xchat-remote.c:135 +msgid "Failed to complete print" +msgstr "Vervolledigen afdruk mislukt" + +#: plugins/dbus/xchat-remote.c:142 +msgid "Failed to complete GetInfo" +msgstr "Vervolledigen GetInfo mislukt" + +#: plugins/dbus/xchat-remote.c:155 +msgid "Failed to complete GetPrefs" +msgstr "Vervolledigen GetPrefs mislukt" + +#: plugins/dbus/xchat-remote.c:159 +#, c-format +msgid "%s doesn't exist\n" +msgstr "%s bestaat niet\n" + +#: plugins/dbus/dbus-plugin.c:27 +msgid "xchat remote access" +msgstr "xchat toegang op afstand" + +#: plugins/dbus/dbus-plugin.c:28 +msgid "plugin for remote access using DBUS" +msgstr "plugin voor toegang op afstand gebruikmakend van DBUS" + +#: plugins/dbus/dbus-plugin.c:333 +#, c-format +msgid "Couldn't connect to session bus : %s\n" +msgstr "Kon niet connecteren op sessie-bus: %s\n" + +#: plugins/dbus/dbus-plugin.c:353 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Faalde bij het ophalen van %s: %s\n" + +#: plugins/dbus/dbus-plugin.c:401 +#, c-format +msgid "%s loaded successfully!\n" +msgstr "%s succesvol geladen!\n" + +#~ msgid "France, Metropolitan" +#~ msgstr "Frankrijk, metropool" + +#~ msgid "Neutral Zone" +#~ msgstr "Neutrale zone" + +#~ msgid "File:" +#~ msgstr "Bestand:" + +#~ msgid "Settings saved." +#~ msgstr "Instellingen bewaard." + +#~ msgid "_Server List..." +#~ msgstr "_Server lijst..." + +#~ msgid "Save rawlog" +#~ msgstr "Het ruwe logbestand opslaan" + +#~ msgid "Save rawlog..." +#~ msgstr "Ruw log opslaan..." + +#~ msgid "XChat: Server List" +#~ msgstr "XChat: Server lijst" + +#~ msgid "Completes nick names without using the TAB key" +#~ msgstr "Bijnamen afmaken zonder TAB-toets te gebruiken" + +#~ msgid "Input Box Appearance" +#~ msgstr "Invoervak uiterlijk" + +#~ msgid "Convert spaces to underscore before sending" +#~ msgstr "Spaties omzetten naar onderstrepingen voor zenden" + +#~ msgid "(See strftime manpage for details)." +#~ msgstr "(Lees voor verdere informatie de strftime manpage)." + +#~ msgid "From:" +#~ msgstr "Van:" + +#~ msgid "To:" +#~ msgstr "Naar:" + +#~ msgid "Size:" +#~ msgstr "Grootte:" + +#~ msgid "MIME Type" +#~ msgstr "MIME type" + +#~ msgid "Close" +#~ msgstr "Sluiten" + +#~ msgid " : %s\n" +#~ msgstr " : %s\n" + +#~ msgid "DIRECTORY" +#~ msgstr "MAP" + +#~ msgid "Close this tab/window" +#~ msgstr "Dit tabblad/venster sluiten" + +#~ msgid "User List Buttons" +#~ msgstr "Gebruikerslijst knoppen" + +#~ msgid "New Shell Tab..." +#~ msgstr "Nieuw Shell Venster..." + +#~ msgid "_IRC" +#~ msgstr "_IRC" + +#~ msgid "Invisible" +#~ msgstr "Onzichtbaar" + +#~ msgid "Receive Wallops" +#~ msgstr "Wallops Ontvangen" + +#~ msgid "Receive Server Notices" +#~ msgstr "Ontvang server meldingen" + +#~ msgid "Auto Rejoin when Kicked" +#~ msgstr "Terug naar kanaal na wegtrappen" + +#~ msgid "Never-give-up ReConnect" +#~ msgstr "Stop nooit met reconnecten" + +#~ msgid "Auto Open Dialog Windows" +#~ msgstr "Open dialoog vensters automatisch" + +#~ msgid "Auto Accept Direct Chat" +#~ msgstr "Auto accepteren direct chat" + +#~ msgid "Reload Settings" +#~ msgstr "Opnieuw laden Instellingen" + +#~ msgid "Save Settings now" +#~ msgstr "Instellingen nu opslaan" + +#~ msgid "File Receive..." +#~ msgstr "Binnenkomende bestand..." + +#~ msgid "File Send..." +#~ msgstr "Uitgaande bestanden..." + +#~ msgid "Attach Tab" +#~ msgstr "Tabblad vastmaken" + +#~ msgid "Connect in new tab" +#~ msgstr "In nieuw tabblad verbinden" + +#~ msgid "Tint (shade) transparency" +#~ msgstr "Tint (nuance) transparantie" + +#~ msgid "Strip mIRC colors" +#~ msgstr "mIRC kleuren verwijderen" + +#~ msgid "Info text" +#~ msgstr "Informatietekst" + +#~ msgid "User list buttons enabled" +#~ msgstr "Gebruikerslijst knoppen aan" + +#~ msgid "Enable away tracking" +#~ msgstr "Weg-bijhouden aan zetten" + +#~ msgid "Extra Gadgets" +#~ msgstr "Extra functies" + +#~ msgid "Lag meter:" +#~ msgstr "Vertragingsmeter" + +#~ msgid "Throttle meter:" +#~ msgstr "Niveau meter:" + +#~ msgid "(disabled)" +#~ msgstr "(uitgezet)" + +#~ msgid "A star (*)" +#~ msgstr "Een ster (*)" + +#~ msgid "A red star (*)" +#~ msgstr "Een rode ster (*)" + +#~ msgid "%C19>%O$1%C19<%O$t$2%O" +#~ msgstr "%C19>%O$1%C19<%O$t$2%O" + +#~ msgid "Channel name" +#~ msgstr "Kanaalnaam" + +#~ msgid "Servername" +#~ msgstr "Servernaam:" + +#~ msgid "" +#~ " File: %s\n" +#~ " To/From: %s\n" +#~ " Size: %u\n" +#~ " Port: %d\n" +#~ " IP Number: %s\n" +#~ "Start Time: %s Max CPS: %d\n" +#~ msgstr "" +#~ " Bestand: %s\n" +#~ " Aan/Van: %s\n" +#~ " Grootte: %u\n" +#~ " Poort: %d\n" +#~ " IP adres: %s\n" +#~ "Starttijd: %s Max CPS: %d\n" + +#~ msgid "Add new" +#~ msgstr "Nieuw toevoegen" + +#~ msgid "User: %s" +#~ msgstr "Gebruiker: %s" + +#~ msgid "Realname: %s" +#~ msgstr "Echte naam: %s" + +#~ msgid "Server: %s" +#~ msgstr "Server= %s" + +#~ msgid "Real na_me:" +#~ msgstr "_Echte Naam:" + +#~ msgid "Select a file to save to" +#~ msgstr "Kies een bestand om in op te slaan" + +#~ msgid "%C22*%O$t%C28[%O$1%C28] %O$2" +#~ msgstr "%C22*%O$t%C28[%O$1%C28] %O$2" + +#~ msgid "Former Czechoslovakia" +#~ msgstr "Vroegere Tsjechoslowakije" + +#~ msgid "Zaire" +#~ msgstr "Zaïre" diff --git a/po/no.po b/po/no.po new file mode 100644 index 00000000..6798ef39 --- /dev/null +++ b/po/no.po @@ -0,0 +1,4852 @@ +# Norwegian translation of X-chat (bokmål dialect). +# Copyright (C) 1999 Free Software Foundation, Inc. +# Kjartan Maraas <kmaraas@online.no>, 1999. +# +msgid "" +msgstr "" +"Project-Id-Version: X-Chat 0.96\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2004-01-01 23:38+1100\n" +"PO-Revision-Date: 2003-01-23 23:04+0100\n" +"Last-Translator: Kjartan Maraas <kmaraas@online.no>\n" +"Language-Team: Norwegian <no@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" + +#: src/common/cfgfiles.c:340 +msgid "Cannot create ~/.xchat2" +msgstr "Kan ikke opprette ~/.xchat2" + +#: src/common/cfgfiles.c:634 +msgid "I'm busy" +msgstr "Jeg er opptatt" + +#: src/common/cfgfiles.c:635 +msgid "Leaving" +msgstr "" + +#: src/common/cfgfiles.c:679 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" + +#: src/common/dcc.c:56 +msgid "Waiting" +msgstr "Venter" + +#: src/common/dcc.c:57 +msgid "Active" +msgstr "Aktiv" + +#: src/common/dcc.c:58 +msgid "Failed" +msgstr "Feilet" + +#: src/common/dcc.c:59 +msgid "Done" +msgstr "Ferdig" + +#: src/common/dcc.c:60 +msgid "Connect" +msgstr "Koble til" + +#: src/common/dcc.c:61 +msgid "Aborted" +msgstr "Avbrutt" + +#: src/common/dcc.c:1269 +#, c-format +msgid "Cannot access %s\n" +msgstr "Kan ikke aksessere %s\n" + +#: src/common/dcc.c:1801 +msgid "No active DCCs\n" +msgstr "Ingen aktive DCC\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "JA " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "NEI " + +#: src/common/ignore.c:373 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "" + +#: src/common/ignore.c:398 +#, c-format +msgid "You are being MSG flooded from %s, setting autodialog OFF.\n" +msgstr "" + +#: src/common/notify.c:400 +#, c-format +msgid " %-20s online\n" +msgstr "" + +#: src/common/notify.c:402 +#, c-format +msgid " %-20s offline\n" +msgstr "" + +#: src/common/outbound.c:70 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "" + +#: src/common/outbound.c:76 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "" + +#: src/common/outbound.c:1356 +msgid "I need /bin/sh to run!\n" +msgstr "" + +#: src/common/outbound.c:1588 +msgid "" +"\n" +"Commands Available:\n" +"\n" +" " +msgstr "" + +#: src/common/outbound.c:1623 +msgid "" +"\n" +"\n" +"Type /HELP <command> for more information, or /HELP -l\n" +"\n" +msgstr "" + +#: src/common/outbound.c:1624 +msgid "" +"User defined commands:\n" +"\n" +" " +msgstr "" + +#: src/common/outbound.c:1716 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "" + +#: src/common/outbound.c:2426 +msgid "No such plugin found.\n" +msgstr "" + +#: src/common/outbound.c:2431 src/fe-gtk/plugingui.c:182 +msgid "That plugin is refusing to unload.\n" +msgstr "" + +#: src/common/outbound.c:2576 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "" + +#: src/common/outbound.c:2578 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "" + +#: src/common/outbound.c:2580 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "" + +#: src/common/outbound.c:2581 +msgid "AWAY [<reason>], sets you away" +msgstr "" + +#: src/common/outbound.c:2583 +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 "" + +#: src/common/outbound.c:2585 +msgid "CLEAR, Clears the current text window" +msgstr "" + +#: src/common/outbound.c:2586 +msgid "CLOSE, Closes the current window/tab" +msgstr "" + +#: src/common/outbound.c:2589 +msgid "COUNTRY <code>, finds a country code, eg: au = australia" +msgstr "" + +#: src/common/outbound.c:2591 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:2593 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "" + +#: src/common/outbound.c:2595 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:2605 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2607 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "" + +#: src/common/outbound.c:2609 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:2611 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:2612 +msgid "DISCON, Disconnects from server" +msgstr "" + +#: src/common/outbound.c:2613 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "" + +#: src/common/outbound.c:2614 +msgid "ECHO <text>, Prints text locally" +msgstr "" + +#: src/common/outbound.c:2617 +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 "" + +#: src/common/outbound.c:2619 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:2622 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:2624 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:2625 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:2629 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:2631 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:2637 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2639 +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 "" + +#: src/common/outbound.c:2646 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2647 +msgid "JOIN <channel>, joins the channel" +msgstr "" + +#: src/common/outbound.c:2649 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2651 +msgid "" +"KICKBAN <nick>, bans then kicks the nick from the current channel (needs " +"chanop)" +msgstr "" + +#: src/common/outbound.c:2654 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:2656 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "" + +#: src/common/outbound.c:2658 +msgid "LOAD <file>, loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:2661 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2663 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2665 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in " +"the 3rd person, like /me jumps)" +msgstr "" + +#: src/common/outbound.c:2667 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2669 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2670 +msgid "MSG <nick> <message>, sends a private message" +msgstr "" + +#: src/common/outbound.c:2673 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "" + +#: src/common/outbound.c:2675 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "" + +#: src/common/outbound.c:2676 +msgid "NEWSERVER <hostname> [<port>]" +msgstr "" + +#: src/common/outbound.c:2677 +msgid "NICK <nickname>, sets your nick" +msgstr "" + +#: src/common/outbound.c:2680 +msgid "" +"NOTICE <nick/channel> <message>, sends a notice. Notices are a type of " +"message that should be auto reacted to" +msgstr "" + +#: src/common/outbound.c:2682 +msgid "NOTIFY [<nick>], lists your notify list or adds someone to it" +msgstr "" + +#: src/common/outbound.c:2684 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2686 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "" + +#: src/common/outbound.c:2688 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "" + +#: src/common/outbound.c:2690 +msgid "QUERY <nick>, opens up a new privmsg window to someone" +msgstr "" + +#: src/common/outbound.c:2692 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "" + +#: src/common/outbound.c:2694 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "" + +#: src/common/outbound.c:2697 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /" +"RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:2700 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" + +#: src/common/outbound.c:2702 +msgid "" +"RECV <text>, send raw data to xchat, as if it was received from the irc " +"server" +msgstr "" + +#: src/common/outbound.c:2705 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "" + +#: src/common/outbound.c:2708 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:2711 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:2715 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" + +#: src/common/outbound.c:2718 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" + +#: src/common/outbound.c:2720 +msgid "SET <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:2723 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "" + +#: src/common/outbound.c:2725 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "" + +#: src/common/outbound.c:2726 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "" + +#: src/common/outbound.c:2727 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:2730 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2732 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "" + +#: src/common/outbound.c:2734 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" + +#: src/common/outbound.c:2767 +#, c-format +msgid "Usage: %s\n" +msgstr "" + +#: src/common/outbound.c:2772 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" + +#: src/common/outbound.c:2778 +msgid "No such command.\n" +msgstr "" + +#: src/common/outbound.c:3102 +msgid "Bad arguments for user command.\n" +msgstr "" + +#: src/common/outbound.c:3266 +msgid "Too many recursive usercommands, aborting." +msgstr "" + +#: src/common/outbound.c:3339 +msgid "Unknown Command. Try /help\n" +msgstr "" + +#: src/common/plugin.c:349 src/common/plugin.c:379 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "" + +#: src/common/server.c:887 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" + +#: src/common/server.c:892 +msgid "Proxy traversal failed.\n" +msgstr "" + +#: src/common/servlist.c:633 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "" + +#: src/common/servlist.c:973 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" + +#: src/common/textevents.h:6 +msgid "-%C10-%C11-%O$t$1 added to notify list." +msgstr "" + +#: src/common/textevents.h:9 +msgid "-%C10-%C11-%O$t$1 Banlist: %C3$4 %C4$2 %C5$3%O" +msgstr "" + +#: src/common/textevents.h:12 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(You are banned)." +msgstr "" + +#: src/common/textevents.h:15 +msgid "-%C10-%C11-%O$t$1 is now known as $2" +msgstr "" + +#: src/common/textevents.h:18 +msgid "%C13*%O$t$1%O $2%O" +msgstr "" + +#: src/common/textevents.h:21 +msgid "%C13*%O$t%C8%B$1%B%O $2%O" +msgstr "" + +#: src/common/textevents.h:24 +msgid "-%C10-%C11-%O$t$1 sets ban on $2" +msgstr "" + +#: src/common/textevents.h:27 +msgid "-%C10-%C11-%O$tChannel $1 created on $2" +msgstr "" + +#: src/common/textevents.h:30 +msgid "" +"-%C10-%C11-%O$t%C11$1%O removes channel half-operator status from %C11$2" +msgstr "" + +#: src/common/textevents.h:33 +msgid "-%C10-%C11-%O$t%C11$1%O removes channel operator status from %C11$2" +msgstr "" + +#: src/common/textevents.h:36 +msgid "-%C10-%C11-%O$t%C11$1%O removes voice from %C11$2" +msgstr "" + +#: src/common/textevents.h:39 +msgid "-%C10-%C11-%O$t$1 sets exempt on $2" +msgstr "" + +#: src/common/textevents.h:42 +msgid "-%C10-%C11-%O$t%C11$1%O gives channel half-operator status to %C11$2" +msgstr "" + +#: src/common/textevents.h:45 +msgid "-%C10-%C11-%O$t$1 sets invite on $2" +msgstr "" + +#: src/common/textevents.h:48 +msgid "%UChannel Users Topic%O" +msgstr "" + +#: src/common/textevents.h:51 src/common/textevents.h:297 +msgid "%C2<%O$1%C2>%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:54 +msgid "-%C10-%C11-%O$t$1 sets mode $2$3 $4" +msgstr "" + +#: src/common/textevents.h:57 +msgid "-%C10-%C11-%O$tChannel $1 modes: $2" +msgstr "" + +#: src/common/textevents.h:60 +msgid "%C2<%C8%B$1%B%C2>%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:63 +msgid "%C12-%C13$1/$2%C12-%O$t$3%O" +msgstr "" + +#: src/common/textevents.h:66 +msgid "-%C10-%C11-%O$t%C11$1%O gives channel operator status to %C11$2" +msgstr "" + +#: src/common/textevents.h:69 +msgid "-%C10-%C11-%O$t$1 removes exempt on $2" +msgstr "" + +#: src/common/textevents.h:72 +msgid "-%C10-%C11-%O$t$1 removes invite on $2" +msgstr "" + +#: src/common/textevents.h:75 +msgid "-%C10-%C11-%O$t$1 removes channel keyword" +msgstr "" + +#: src/common/textevents.h:78 +msgid "-%C10-%C11-%O$t$1 removes user limit" +msgstr "" + +#: src/common/textevents.h:81 +msgid "-%C10-%C11-%O$t$1 sets channel keyword to $2" +msgstr "" + +#: src/common/textevents.h:84 +msgid "-%C10-%C11-%O$t$1 sets channel limit to $2" +msgstr "" + +#: src/common/textevents.h:87 +msgid "-%C10-%C11-%O$t$1 removes ban on $2" +msgstr "" + +#: src/common/textevents.h:90 +msgid "-%C10-%C11-%O$t%C11$1%O gives voice to %C11$2" +msgstr "" + +#: src/common/textevents.h:93 +msgid "-%C10-%C11-%O$tConnected. Now logging in.." +msgstr "" + +#: src/common/textevents.h:96 +msgid "-%C10-%C11-%O$tConnecting to %C11$1 %C14(%C11$2%C14)%C port %C11$3%C.." +msgstr "" + +#: src/common/textevents.h:99 +msgid "-%C10-%C11-%O$tConnection failed. Error: $1" +msgstr "" + +#: src/common/textevents.h:102 +msgid "-%C10-%C11-%O$tReceived a CTCP $1 from $2" +msgstr "" + +#: src/common/textevents.h:105 +msgid "-%C10-%C11-%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "" + +#: src/common/textevents.h:108 +msgid "%C3>%O$1%C3<%O$tCTCP $2%O" +msgstr "" + +#: src/common/textevents.h:111 +msgid "-%C10-%C11-%O$tReceived a CTCP Sound $1 from $2" +msgstr "" + +#: src/common/textevents.h:114 +msgid "-%C10-%C11-%O$tDCC CHAT to %C11$1%O aborted." +msgstr "" + +#: src/common/textevents.h:117 +msgid "" +"-%C10-%C11-%O$tDCC CHAT connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "" + +#: src/common/textevents.h:120 +msgid "-%C10-%C11-%O$tDCC CHAT to %C11$1%O lost. $4." +msgstr "" + +#: src/common/textevents.h:123 +msgid "-%C10-%C11-%O$tReceived a DCC CHAT offer from $1" +msgstr "" + +#: src/common/textevents.h:126 +msgid "-%C10-%C11-%O$tOffering DCC CHAT to $1" +msgstr "" + +#: src/common/textevents.h:129 +msgid "-%C10-%C11-%O$tAlready offering CHAT to $1" +msgstr "" + +#: src/common/textevents.h:132 +msgid "-%C10-%C11-%O$tDCC $1 connect attempt to %C11$2%O failed (err=$3)." +msgstr "" + +#: src/common/textevents.h:135 +msgid "-%C10-%C11-%O$tReceived '$1%O' from $2" +msgstr "" + +#: src/common/textevents.h:138 +msgid "" +"%C8,2 Type To/From Status Size Pos File %O%010%B%" +"C9----------------------------------------------------%O" +msgstr "" + +#: src/common/textevents.h:141 +msgid "" +"-%C10-%C11-%O$tReceived a malformed DCC request from %C11$1%O.%010-%C10-%C11-" +"%O$tContents of packet: $2" +msgstr "" + +#: src/common/textevents.h:144 +msgid "-%C10-%C11-%O$tOffering %C11$1 %Cto %C11$2%O" +msgstr "" + +#: src/common/textevents.h:147 +msgid "-%C10-%C11-%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:150 +msgid "-%C10-%C11-%O$tDCC RECV %C11$2%O to %C11$1%O aborted." +msgstr "" + +#: src/common/textevents.h:153 +msgid "" +"-%C10-%C11-%O$tDCC RECV %C11$1%O from %C11$3%O complete %C14[%C11$4%O cps%" +"C14]%O." +msgstr "" + +#: src/common/textevents.h:156 +msgid "" +"-%C10-%C11-%O$tDCC RECV connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "" + +#: src/common/textevents.h:159 +msgid "-%C10-%C11-%O$tDCC RECV %C11$1%O from %C11$3%O failed. $4." +msgstr "" + +#: src/common/textevents.h:162 +msgid "-%C10-%C11-%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "" + +#: src/common/textevents.h:165 +msgid "" +"-%C10-%C11-%O$tThe file %C11$1%C already exists, saving it as %C11$2%O " +"instead." +msgstr "" + +#: src/common/textevents.h:168 +msgid "-%C10-%C11-%O$t%C11$1 %Chas requested to resume %C11$2 %Cfrom %C11$3%C." +msgstr "" + +#: src/common/textevents.h:171 +msgid "-%C10-%C11-%O$tDCC SEND %C11$2%O to %C11$1%O aborted." +msgstr "" + +#: src/common/textevents.h:174 +msgid "" +"-%C10-%C11-%O$tDCC SEND %C11$1%O to %C11$2%O complete %C14[%C11$3%O cps%C14]%" +"O." +msgstr "" + +#: src/common/textevents.h:177 +msgid "" +"-%C10-%C11-%O$tDCC SEND connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "" + +#: src/common/textevents.h:180 +msgid "-%C10-%C11-%O$tDCC SEND %C11$1%O to %C11$2%O failed. $3" +msgstr "" + +#: src/common/textevents.h:183 +msgid "-%C10-%C11-%O$t%C11$1 %Chas offered %C11$2 %C(%C11$3 %Cbytes)" +msgstr "" + +#: src/common/textevents.h:186 +msgid "-%C10-%C11-%O$tDCC $1 %C11$2 %Cto %C11$3 %Cstalled - aborting." +msgstr "" + +#: src/common/textevents.h:189 +msgid "-%C10-%C11-%O$tDCC $1 %C11$2 %Cto %C11$3 %Ctimed out - aborting." +msgstr "" + +#: src/common/textevents.h:192 +msgid "-%C10-%C11-%O$t$1 deleted from notify list." +msgstr "" + +#: src/common/textevents.h:195 +msgid "-%C10-%C11-%O$tDisconnected ($1)." +msgstr "" + +#: src/common/textevents.h:198 +msgid "-%C10-%C11-%O$tFound your IP: [$1]" +msgstr "" + +#: src/common/textevents.h:201 +msgid "$1$t$2" +msgstr "" + +#: src/common/textevents.h:204 +msgid "%O%C11$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:207 +msgid "Ignore on %C11$1%O changed." +msgstr "" + +#: src/common/textevents.h:210 +msgid "%C08,02 %O" +msgstr "" + +#: src/common/textevents.h:213 +msgid "%C08,02 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG %O" +msgstr "" + +#: src/common/textevents.h:216 +msgid "%O%C11$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:219 +msgid " Ignore list is empty." +msgstr "" + +#: src/common/textevents.h:222 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(Channel is invite only)." +msgstr "" + +#: src/common/textevents.h:225 +msgid "-%C10-%C11-%O$tYou have been invited to %C11$1%C by %C11$2%C (%C11$3%C)" +msgstr "" + +#: src/common/textevents.h:228 +msgid "-%C10-%C11>%O$t%B$1%B %C14(%C10$3%C14)%C has joined $2" +msgstr "" + +#: src/common/textevents.h:231 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(Requires keyword)." +msgstr "" + +#: src/common/textevents.h:234 +msgid "<%C10-%C11-%O$t$1 has kicked $2 from $3 ($4%O)" +msgstr "" + +#: src/common/textevents.h:237 +msgid "-%C10-%C11-%O$tYou have been killed by $1 ($2%O)" +msgstr "" + +#: src/common/textevents.h:240 src/common/textevents.h:264 +msgid "%C3>%O$1%C3<%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:243 src/common/textevents.h:318 +#: src/common/textevents.h:324 src/common/textevents.h:327 +msgid "-%C10-%C11-%O$t$1%O" +msgstr "" + +#: src/common/textevents.h:246 +msgid "-%C10-%C11-%O$tMOTD Skipped." +msgstr "" + +#: src/common/textevents.h:249 +msgid "-%C10-%C11-%O$t$1 already in use. Retrying with $2.." +msgstr "" + +#: src/common/textevents.h:252 +msgid "-%C10-%C11-%O$tNickname already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:255 +msgid "-%C10-%C11-%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:258 +msgid "-%C10-%C11-%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:261 +msgid "%C12-%C13$1%C12-%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:267 +msgid "-%C10-%C11-%O$tNotify list is empty." +msgstr "" + +#: src/common/textevents.h:270 +msgid "%C08,02 %B-- Notify List --------------- %O" +msgstr "" + +#: src/common/textevents.h:273 +msgid "-%C10-%C11-%O$t$1 users in notify list." +msgstr "" + +#: src/common/textevents.h:276 +msgid "-%C10-%C11-%O$tNotify: $1 is offline ($2)." +msgstr "" + +#: src/common/textevents.h:279 +msgid "-%C10-%C11-%O$tNotify: $1 is online ($2)." +msgstr "" + +#: src/common/textevents.h:282 +msgid "<%C10-%C11-%O$t$1 %C14(%O$2%C14)%C has left $3" +msgstr "" + +#: src/common/textevents.h:285 +msgid "<%C10-%C11-%O$t$1 %C14(%O$2%C14)%C has left $3 %C14(%O$4%C14)%O" +msgstr "" + +#: src/common/textevents.h:288 +msgid "-%C10-%C11-%O$tPing reply from $1 : $2 second(s)" +msgstr "" + +#: src/common/textevents.h:291 +msgid "-%C10-%C11-%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:294 +msgid "%C12*%C13$1%C12*$t%O$2%O" +msgstr "" + +#: src/common/textevents.h:300 +msgid "-%C10-%C11-%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:303 +msgid "<%C10-%C11-%O$t$1 has quit %C14(%O$2%O%C14)%O" +msgstr "" + +#: src/common/textevents.h:306 +msgid "-%C10-%C11-%O$t$1 sets modes%B %C14[%O$2%B%C14]%O" +msgstr "" + +#: src/common/textevents.h:309 +msgid "%C12-%C13$1/Wallops%C12-%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:312 +msgid "-%C10-%C11-%O$tLooking up IP number for%C11 $1%O.." +msgstr "" + +#: src/common/textevents.h:315 +msgid "-%C10-%C11-%O$tConnected." +msgstr "" + +#: src/common/textevents.h:321 +msgid "-%C10-%C11-%O$tLooking up %C11$1%C.." +msgstr "" + +#: src/common/textevents.h:330 +msgid "-%C10-%C11-%O$tStopped previous connection attempt (pid=$1)" +msgstr "" + +#: src/common/textevents.h:333 +msgid "-%C10-%C11-%O$tTopic for %C11$1%C is %C11$2%O" +msgstr "" + +#: src/common/textevents.h:336 +msgid "-%C10-%C11-%O$tTopic for %C11$1%C set by %C11$2%C at %C11$3%O" +msgstr "" + +#: src/common/textevents.h:339 +msgid "-%C10-%C11-%O$t$1 has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:342 +msgid "-%C10-%C11-%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:345 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(User limit reached)." +msgstr "" + +#: src/common/textevents.h:348 +msgid "-%C10-%C11-%O$t%C11Users on $1:%C $2" +msgstr "" + +#: src/common/textevents.h:351 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %Cis away %C14(%O$2%O%C14)" +msgstr "" + +#: src/common/textevents.h:354 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%C $2" +msgstr "" + +#: src/common/textevents.h:357 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %CEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:360 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2" +msgstr "" + +#: src/common/textevents.h:363 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2 %C11$3%O" +msgstr "" + +#: src/common/textevents.h:366 +msgid "" +"-%C10-%C11-%O$t%C12[%O$1%C12] %Oreal user@host %C11$2%O, real IP %C11$3%O" +msgstr "" + +#: src/common/textevents.h:369 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O idle %C11$2%O" +msgstr "" + +#: src/common/textevents.h:372 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O idle %C11$2%O, signon: %C11$3%O" +msgstr "" + +#: src/common/textevents.h:375 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %C14(%O$2@$3%C14) %O: $4%O" +msgstr "" + +#: src/common/textevents.h:378 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O $2" +msgstr "" + +#: src/common/textevents.h:381 +msgid "-%C10-%C11>%O$t%BYou%B are now talking on %C11$2%O" +msgstr "" + +#: src/common/textevents.h:384 +msgid "-%C10-%C11-%O$tYou have left channel $3" +msgstr "" + +#: src/common/textevents.h:387 +msgid "-%C10-%C11-%O$tYou have left channel $3 %C14(%O$4%C14)%O" +msgstr "" + +#: src/common/textevents.h:390 +msgid "-%C10-%C11-%O$tYou have been kicked from $2 by $3 ($4%O)" +msgstr "" + +#: src/common/textevents.h:393 +msgid "-%C10-%C11-%O$tYou're inviting %C11$1%C to %C11$2%C (%C11$3%C)" +msgstr "" + +#: src/common/textevents.h:396 +msgid "%C6<%O$1%C6>%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:399 +msgid "-%C10-%C11-%O$tYou are now known as $2" +msgstr "" + +#: src/common/text.c:304 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:421 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:440 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" + +#: src/common/text.c:651 +#, fuzzy +msgid "Left message" +msgstr "Meldingen" + +#: src/common/text.c:652 +#, fuzzy +msgid "Right message" +msgstr "Meldingen" + +#: src/common/text.c:656 +msgid "The nick of the joining person" +msgstr "" + +#: src/common/text.c:657 +msgid "The channel being joined" +msgstr "" + +#: src/common/text.c:658 src/common/text.c:702 src/common/text.c:758 +msgid "The host of the person" +msgstr "" + +#: src/common/text.c:662 src/common/text.c:667 src/common/text.c:673 +#: src/common/text.c:740 src/common/text.c:864 src/common/text.c:871 +#: src/common/text.c:876 src/common/text.c:881 src/common/text.c:886 +#: src/common/text.c:892 src/common/text.c:897 src/common/text.c:901 +#: src/common/text.c:906 src/common/text.c:912 src/common/text.c:958 +#: src/common/text.c:967 src/common/text.c:972 src/common/text.c:977 +#: src/common/text.c:986 src/common/text.c:997 src/common/text.c:1004 +#: src/common/text.c:1010 src/common/text.c:1015 src/common/text.c:1020 +#: src/common/text.c:1027 src/common/text.c:1033 src/common/text.c:1039 +#: src/common/text.c:1044 src/common/text.c:1049 src/common/text.c:1053 +#: src/common/text.c:1059 src/common/text.c:1067 src/common/text.c:1101 +#: src/common/text.c:1106 +msgid "Nickname" +msgstr "Kallenavn" + +#: src/common/text.c:663 +msgid "The action" +msgstr "Handlingen" + +#: src/common/text.c:668 +msgid "The text" +msgstr "Teksten" + +#: src/common/text.c:669 +msgid "Mode char" +msgstr "" + +#: src/common/text.c:674 src/common/text.c:730 src/common/text.c:736 +#: src/common/text.c:741 +msgid "The message" +msgstr "Meldingen" + +#: src/common/text.c:678 src/common/text.c:745 +msgid "Old nickname" +msgstr "Gammelt kallenavn" + +#: src/common/text.c:679 src/common/text.c:746 +msgid "New nickname" +msgstr "Nytt kallenavn" + +#: src/common/text.c:683 +msgid "Nick of person who changed the topic" +msgstr "" + +#: src/common/text.c:684 src/common/text.c:690 src/fe-gtk/chanlist.c:599 +#: src/fe-gtk/chanlist.c:700 +msgid "Topic" +msgstr "Emne" + +#: src/common/text.c:685 src/common/text.c:689 src/common/text.c:1121 +#: src/fe-gtk/chanlist.c:597 src/fe-gtk/chanlist.c:691 +#: src/fe-gtk/ignoregui.c:175 +msgid "Channel" +msgstr "Kanal" + +#: src/common/text.c:694 src/common/text.c:752 +msgid "The nickname of the kicker" +msgstr "" + +#: src/common/text.c:695 src/common/text.c:750 +msgid "The person being kicked" +msgstr "" + +#: src/common/text.c:696 src/common/text.c:703 src/common/text.c:707 +#: src/common/text.c:712 src/common/text.c:751 src/common/text.c:759 +msgid "The channel" +msgstr "Kanalen" + +#: src/common/text.c:697 src/common/text.c:753 src/common/text.c:760 +msgid "The reason" +msgstr "Årsaken" + +#: src/common/text.c:701 src/common/text.c:757 +msgid "The nick of the person leaving" +msgstr "" + +#: src/common/text.c:708 src/common/text.c:714 +msgid "The time" +msgstr "Tiden" + +#: src/common/text.c:713 +msgid "The creator" +msgstr "" + +#: src/common/text.c:718 +msgid "Nick" +msgstr "Kallenavn" + +#: src/common/text.c:719 src/common/text.c:973 +msgid "Reason" +msgstr "Årsak" + +#: src/common/text.c:720 src/common/text.c:866 src/common/text.c:948 +msgid "Host" +msgstr "Vert" + +#: src/common/text.c:724 src/common/text.c:729 src/common/text.c:734 +msgid "Who it's from" +msgstr "Hvem er det fra" + +#: src/common/text.c:725 +msgid "The time in x.x format (see below)" +msgstr "" + +#: src/common/text.c:735 src/common/text.c:776 +#, fuzzy +msgid "The Channel it's going to" +msgstr "Vindu for kanalliste.." + +#: src/common/text.c:764 +msgid "The sound" +msgstr "Lyden" + +#: src/common/text.c:765 src/common/text.c:770 src/common/text.c:775 +msgid "The nick of the person" +msgstr "" + +#: src/common/text.c:769 src/common/text.c:774 +msgid "The CTCP event" +msgstr "" + +#: src/common/text.c:780 +msgid "The nick of the person who set the key" +msgstr "" + +#: src/common/text.c:781 +msgid "The key" +msgstr "" + +#: src/common/text.c:785 +msgid "The nick of the person who set the limit" +msgstr "" + +#: src/common/text.c:786 +msgid "The limit" +msgstr "" + +#: src/common/text.c:790 +msgid "The nick of the person who did the op'ing" +msgstr "" + +#: src/common/text.c:791 +msgid "The nick of the person who has been op'ed" +msgstr "" + +#: src/common/text.c:795 +msgid "The nick of the person who has been halfop'ed" +msgstr "" + +#: src/common/text.c:796 +msgid "The nick of the person who did the halfop'ing" +msgstr "" + +#: src/common/text.c:800 +msgid "The nick of the person who did the voice'ing" +msgstr "" + +#: src/common/text.c:801 +msgid "The nick of the person who has been voice'ed" +msgstr "" + +#: src/common/text.c:805 +msgid "The nick of the person who did the banning" +msgstr "" + +#: src/common/text.c:806 src/common/text.c:833 +msgid "The ban mask" +msgstr "" + +#: src/common/text.c:810 +msgid "The nick who removed the key" +msgstr "" + +#: src/common/text.c:814 +msgid "The nick who removed the limit" +msgstr "" + +#: src/common/text.c:818 +msgid "The nick of the person of did the deop'ing" +msgstr "" + +#: src/common/text.c:819 +msgid "The nick of the person who has been deop'ed" +msgstr "" + +#: src/common/text.c:822 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:823 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "" + +#: src/common/text.c:827 +msgid "The nick of the person of did the devoice'ing" +msgstr "" + +#: src/common/text.c:828 +msgid "The nick of the person who has been devoice'ed" +msgstr "" + +#: src/common/text.c:832 +msgid "The nick of the person of did the unban'ing" +msgstr "" + +#: src/common/text.c:837 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:838 src/common/text.c:843 +msgid "The exempt mask" +msgstr "" + +#: src/common/text.c:842 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:847 +msgid "The nick of the person who did the invite" +msgstr "" + +#: src/common/text.c:848 src/common/text.c:853 +msgid "The invite mask" +msgstr "" + +#: src/common/text.c:852 +msgid "The nick of the person removed the invite" +msgstr "" + +#: src/common/text.c:857 +msgid "The nick of the person setting the mode" +msgstr "" + +#: src/common/text.c:858 +msgid "The mode's sign (+/-)" +msgstr "" + +#: src/common/text.c:859 +msgid "The mode letter" +msgstr "" + +#: src/common/text.c:860 +msgid "The channel it's being set on" +msgstr "" + +#: src/common/text.c:865 +msgid "Username" +msgstr "" + +#: src/common/text.c:867 +msgid "Full name" +msgstr "" + +#: src/common/text.c:872 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:877 +msgid "Server Information" +msgstr "" + +#: src/common/text.c:882 src/common/text.c:887 +msgid "Idle time" +msgstr "" + +#: src/common/text.c:888 +msgid "Signon time" +msgstr "" + +#: src/common/text.c:893 +msgid "Away reason" +msgstr "Borteårsak" + +#: src/common/text.c:902 src/common/text.c:907 src/common/text.c:915 +#: src/common/text.c:1093 +msgid "Message" +msgstr "Melding" + +#: src/common/text.c:908 +#, fuzzy +msgid "Account" +msgstr "Om" + +#: src/common/text.c:913 +#, fuzzy +msgid "Real user@host" +msgstr "Vis/skjul brukerliste" + +#: src/common/text.c:914 +msgid "Real IP" +msgstr "" + +#: src/common/text.c:919 src/common/text.c:928 src/common/text.c:934 +#: src/common/text.c:1116 +msgid "Channel Name" +msgstr "Navn på kanal" + +#: src/common/text.c:923 src/common/text.c:1079 src/fe-gtk/textgui.c:383 +msgid "Text" +msgstr "Tekst" + +#: src/common/text.c:924 src/common/text.c:930 src/common/text.c:1117 +msgid "Server Name" +msgstr "Navn på tjener" + +#: src/common/text.c:929 +msgid "Nick of person who invited you" +msgstr "" + +#: src/common/text.c:935 src/fe-gtk/chanlist.c:598 +msgid "Users" +msgstr "Brukere" + +#: src/common/text.c:939 +msgid "Nickname in use" +msgstr "" + +#: src/common/text.c:940 +msgid "Nick being tried" +msgstr "" + +#: src/common/text.c:944 src/common/text.c:980 src/common/text.c:991 +#: src/common/text.c:998 src/common/text.c:1011 src/common/text.c:1028 +#: src/common/text.c:1128 +msgid "Error" +msgstr "Feil" + +#: src/common/text.c:949 src/common/text.c:1083 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:950 src/common/text.c:979 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:954 +msgid "PID" +msgstr "PID" + +#: src/common/text.c:962 +msgid "Channel name" +msgstr "Navn på kanal" + +#: src/common/text.c:963 src/common/text.c:968 +msgid "Modes string" +msgstr "" + +#: src/common/text.c:978 src/common/text.c:1016 src/common/text.c:1021 +#: src/common/text.c:1062 +msgid "IP address" +msgstr "IP-adresse" + +#: src/common/text.c:984 src/common/text.c:1009 +msgid "DCC Type" +msgstr "" + +#: src/common/text.c:985 src/common/text.c:990 src/common/text.c:995 +#: src/common/text.c:1002 src/common/text.c:1022 src/common/text.c:1026 +#: src/common/text.c:1032 src/common/text.c:1038 src/common/text.c:1045 +#: src/common/text.c:1054 src/common/text.c:1060 +msgid "Filename" +msgstr "Filnavn" + +#: src/common/text.c:996 src/common/text.c:1003 +msgid "Destination filename" +msgstr "" + +#: src/common/text.c:1005 src/common/text.c:1034 +msgid "CPS" +msgstr "" + +#: src/common/text.c:1040 +msgid "Pathname" +msgstr "Stinavn" + +#: src/common/text.c:1055 src/fe-gtk/dccgui.c:483 src/fe-gtk/dccgui.c:633 +msgid "Position" +msgstr "Posisjon" + +#: src/common/text.c:1061 src/fe-gtk/dccgui.c:482 src/fe-gtk/dccgui.c:632 +msgid "Size" +msgstr "Størrelse" + +#: src/common/text.c:1066 +#, fuzzy +msgid "DCC String" +msgstr "Innstillinger for DCC" + +#: src/common/text.c:1071 +msgid "Number of notify items" +msgstr "" + +#: src/common/text.c:1075 +msgid "Servername" +msgstr "Navn på tjener" + +#: src/common/text.c:1087 +msgid "Old Filename" +msgstr "Gammelt filnavn" + +#: src/common/text.c:1088 +msgid "New Filename" +msgstr "Nytt filnavn" + +#: src/common/text.c:1092 +msgid "Receiver" +msgstr "Mottaker" + +#: src/common/text.c:1097 +msgid "Hostmask" +msgstr "Vertsmaske" + +#: src/common/text.c:1102 +msgid "Hostname" +msgstr "Vertsnavn" + +#: src/common/text.c:1107 +msgid "The Packet" +msgstr "Pakken" + +#: src/common/text.c:1111 +msgid "Seconds" +msgstr "Sekunder" + +#: src/common/text.c:1115 +msgid "Nick of person who have been invited" +msgstr "" + +#: src/common/text.c:1122 +msgid "Banmask" +msgstr "" + +#: src/common/text.c:1123 +msgid "Who set the ban" +msgstr "" + +#: src/common/text.c:1124 +msgid "Ban time" +msgstr "" + +#: src/common/text.c:1162 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default" +msgstr "" + +#: src/common/text.c:1672 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" + +#: src/common/util.c:292 +msgid "Remote host closed socket" +msgstr "" + +#: src/common/util.c:295 +msgid "Connection refused" +msgstr "" + +#: src/common/util.c:298 +msgid "No route to host" +msgstr "" + +#: src/common/util.c:300 +msgid "Connection timed out" +msgstr "Tidsavbrudd for tilkobling" + +#: src/common/util.c:302 +msgid "Cannot assign that address" +msgstr "" + +#: src/common/util.c:304 +msgid "Connection reset by peer" +msgstr "" + +#: src/common/util.c:733 +msgid "Andorra" +msgstr "" + +#: src/common/util.c:734 +msgid "United Arab Emirates" +msgstr "" + +#: src/common/util.c:735 +msgid "Afghanistan" +msgstr "" + +#: src/common/util.c:736 +msgid "Antigua and Barbuda" +msgstr "" + +#: src/common/util.c:737 +msgid "Anguilla" +msgstr "" + +#: src/common/util.c:738 +msgid "Albania" +msgstr "" + +#: src/common/util.c:739 +msgid "Armenia" +msgstr "" + +#: src/common/util.c:740 +msgid "Netherlands Antilles" +msgstr "" + +#: src/common/util.c:741 +msgid "Angola" +msgstr "" + +#: src/common/util.c:742 +msgid "Antarctica" +msgstr "" + +#: src/common/util.c:743 +msgid "Argentina" +msgstr "" + +#: src/common/util.c:744 +msgid "Reverse DNS" +msgstr "" + +#: src/common/util.c:745 +msgid "American Samoa" +msgstr "" + +#: src/common/util.c:746 +msgid "Austria" +msgstr "" + +#: src/common/util.c:747 +msgid "Nato Fiel" +msgstr "" + +#: src/common/util.c:748 +msgid "Australia" +msgstr "" + +#: src/common/util.c:749 +msgid "Aruba" +msgstr "" + +#: src/common/util.c:750 +msgid "Azerbaijan" +msgstr "" + +#: src/common/util.c:751 +msgid "Bosnia and Herzegovina" +msgstr "" + +#: src/common/util.c:752 +msgid "Barbados" +msgstr "" + +#: src/common/util.c:753 +msgid "Bangladesh" +msgstr "" + +#: src/common/util.c:754 +msgid "Belgium" +msgstr "" + +#: src/common/util.c:755 +msgid "Burkina Faso" +msgstr "" + +#: src/common/util.c:756 +msgid "Bulgaria" +msgstr "" + +#: src/common/util.c:757 +msgid "Bahrain" +msgstr "" + +#: src/common/util.c:758 +msgid "Burundi" +msgstr "" + +#: src/common/util.c:759 +msgid "Businesses" +msgstr "" + +#: src/common/util.c:760 +msgid "Benin" +msgstr "" + +#: src/common/util.c:761 +msgid "Bermuda" +msgstr "" + +#: src/common/util.c:762 +msgid "Brunei Darussalam" +msgstr "" + +#: src/common/util.c:763 +msgid "Bolivia" +msgstr "" + +#: src/common/util.c:764 +msgid "Brazil" +msgstr "" + +#: src/common/util.c:765 +msgid "Bahamas" +msgstr "" + +#: src/common/util.c:766 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:767 +msgid "Bouvet Island" +msgstr "" + +#: src/common/util.c:768 +msgid "Botswana" +msgstr "" + +#: src/common/util.c:769 +msgid "Belarus" +msgstr "" + +#: src/common/util.c:770 +msgid "Belize" +msgstr "" + +#: src/common/util.c:771 +msgid "Canada" +msgstr "" + +#: src/common/util.c:772 +msgid "Cocos Islands" +msgstr "" + +#: src/common/util.c:773 +msgid "Central African Republic" +msgstr "" + +#: src/common/util.c:774 +msgid "Congo" +msgstr "" + +#: src/common/util.c:775 +msgid "Switzerland" +msgstr "" + +#: src/common/util.c:776 +msgid "Cote D'ivoire" +msgstr "" + +#: src/common/util.c:777 +msgid "Cook Islands" +msgstr "" + +#: src/common/util.c:778 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:779 +msgid "Cameroon" +msgstr "" + +#: src/common/util.c:780 +msgid "China" +msgstr "" + +#: src/common/util.c:781 +msgid "Colombia" +msgstr "" + +#: src/common/util.c:782 +msgid "Internic Commercial" +msgstr "" + +#: src/common/util.c:783 +msgid "Costa Rica" +msgstr "" + +#: src/common/util.c:784 +msgid "Former Czechoslovakia" +msgstr "" + +#: src/common/util.c:785 +msgid "Cuba" +msgstr "" + +#: src/common/util.c:786 +msgid "Cape Verde" +msgstr "" + +#: src/common/util.c:787 +msgid "Christmas Island" +msgstr "" + +#: src/common/util.c:788 +msgid "Cyprus" +msgstr "" + +#: src/common/util.c:789 +msgid "Czech Republic" +msgstr "" + +#: src/common/util.c:790 +msgid "Germany" +msgstr "" + +#: src/common/util.c:791 +msgid "Djibouti" +msgstr "" + +#: src/common/util.c:792 +msgid "Denmark" +msgstr "" + +#: src/common/util.c:793 +msgid "Dominica" +msgstr "" + +#: src/common/util.c:794 +msgid "Dominican Republic" +msgstr "" + +#: src/common/util.c:795 +msgid "Algeria" +msgstr "" + +#: src/common/util.c:796 +msgid "Ecuador" +msgstr "" + +#: src/common/util.c:797 +msgid "Educational Institution" +msgstr "" + +#: src/common/util.c:798 +msgid "Estonia" +msgstr "" + +#: src/common/util.c:799 +msgid "Egypt" +msgstr "" + +#: src/common/util.c:800 +msgid "Western Sahara" +msgstr "" + +#: src/common/util.c:801 +msgid "Eritrea" +msgstr "" + +#: src/common/util.c:802 +msgid "Spain" +msgstr "" + +#: src/common/util.c:803 +msgid "Ethiopia" +msgstr "" + +#: src/common/util.c:804 +msgid "Finland" +msgstr "" + +#: src/common/util.c:805 +msgid "Fiji" +msgstr "" + +#: src/common/util.c:806 +msgid "Falkland Islands" +msgstr "" + +#: src/common/util.c:807 +msgid "Micronesia" +msgstr "" + +#: src/common/util.c:808 +msgid "Faroe Islands" +msgstr "" + +#: src/common/util.c:809 +msgid "France" +msgstr "Frankrike" + +#: src/common/util.c:810 +msgid "France, Metropolitan" +msgstr "" + +#: src/common/util.c:811 +msgid "Gabon" +msgstr "" + +#: src/common/util.c:812 +msgid "Great Britain" +msgstr "" + +#: src/common/util.c:813 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:814 +msgid "Georgia" +msgstr "" + +#: src/common/util.c:815 +msgid "French Guiana" +msgstr "" + +#: src/common/util.c:816 +msgid "British Channel Isles" +msgstr "" + +#: src/common/util.c:817 +msgid "Ghana" +msgstr "" + +#: src/common/util.c:818 +msgid "Gibraltar" +msgstr "" + +#: src/common/util.c:819 +msgid "Greenland" +msgstr "Grønland" + +#: src/common/util.c:820 +msgid "Gambia" +msgstr "" + +#: src/common/util.c:821 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:822 +msgid "Government" +msgstr "" + +#: src/common/util.c:823 +msgid "Guadeloupe" +msgstr "" + +#: src/common/util.c:824 +msgid "Equatorial Guinea" +msgstr "" + +#: src/common/util.c:825 +msgid "Greece" +msgstr "Hellas" + +#: src/common/util.c:826 +msgid "S. Georgia and S. Sandwich Isles." +msgstr "" + +#: src/common/util.c:827 +msgid "Guatemala" +msgstr "" + +#: src/common/util.c:828 +msgid "Guam" +msgstr "" + +#: src/common/util.c:829 +msgid "Guinea-Bissau" +msgstr "" + +#: src/common/util.c:830 +msgid "Guyana" +msgstr "" + +#: src/common/util.c:831 +msgid "Hong Kong" +msgstr "" + +#: src/common/util.c:832 +msgid "Heard and McDonald Islands" +msgstr "" + +#: src/common/util.c:833 +msgid "Honduras" +msgstr "" + +#: src/common/util.c:834 +msgid "Croatia" +msgstr "" + +#: src/common/util.c:835 +msgid "Haiti" +msgstr "" + +#: src/common/util.c:836 +msgid "Hungary" +msgstr "" + +#: src/common/util.c:837 +msgid "Indonesia" +msgstr "" + +#: src/common/util.c:838 +msgid "Ireland" +msgstr "" + +#: src/common/util.c:839 +msgid "Israel" +msgstr "" + +#: src/common/util.c:840 +msgid "India" +msgstr "" + +#: src/common/util.c:841 +msgid "Informational" +msgstr "" + +#: src/common/util.c:842 +msgid "International" +msgstr "" + +#: src/common/util.c:843 +msgid "British Indian Ocean Territory" +msgstr "" + +#: src/common/util.c:844 +msgid "Iraq" +msgstr "" + +#: src/common/util.c:845 +msgid "Iran" +msgstr "" + +#: src/common/util.c:846 +msgid "Iceland" +msgstr "" + +#: src/common/util.c:847 +msgid "Italy" +msgstr "" + +#: src/common/util.c:848 +msgid "Jamaica" +msgstr "" + +#: src/common/util.c:849 +msgid "Jordan" +msgstr "" + +#: src/common/util.c:850 +msgid "Japan" +msgstr "" + +#: src/common/util.c:851 +msgid "Kenya" +msgstr "" + +#: src/common/util.c:852 +msgid "Kyrgyzstan" +msgstr "" + +#: src/common/util.c:853 +msgid "Cambodia" +msgstr "" + +#: src/common/util.c:854 +msgid "Kiribati" +msgstr "" + +#: src/common/util.c:855 +msgid "Comoros" +msgstr "" + +#: src/common/util.c:856 +msgid "St. Kitts and Nevis" +msgstr "" + +#: src/common/util.c:857 +msgid "North Korea" +msgstr "" + +#: src/common/util.c:858 +msgid "South Korea" +msgstr "" + +#: src/common/util.c:859 +msgid "Kuwait" +msgstr "" + +#: src/common/util.c:860 +msgid "Cayman Islands" +msgstr "" + +#: src/common/util.c:861 +msgid "Kazakhstan" +msgstr "" + +#: src/common/util.c:862 +msgid "Laos" +msgstr "" + +#: src/common/util.c:863 +msgid "Lebanon" +msgstr "" + +#: src/common/util.c:864 +msgid "Saint Lucia" +msgstr "" + +#: src/common/util.c:865 +msgid "Liechtenstein" +msgstr "" + +#: src/common/util.c:866 +msgid "Sri Lanka" +msgstr "" + +#: src/common/util.c:867 +msgid "Liberia" +msgstr "" + +#: src/common/util.c:868 +msgid "Lesotho" +msgstr "" + +#: src/common/util.c:869 +msgid "Lithuania" +msgstr "" + +#: src/common/util.c:870 +msgid "Luxembourg" +msgstr "" + +#: src/common/util.c:871 +msgid "Latvia" +msgstr "" + +#: src/common/util.c:872 +msgid "Libya" +msgstr "" + +#: src/common/util.c:873 +msgid "Morocco" +msgstr "" + +#: src/common/util.c:874 +msgid "Monaco" +msgstr "" + +#: src/common/util.c:875 +msgid "Moldova" +msgstr "" + +#: src/common/util.c:876 +msgid "United States Medical" +msgstr "" + +#: src/common/util.c:877 +msgid "Madagascar" +msgstr "" + +#: src/common/util.c:878 +msgid "Marshall Islands" +msgstr "" + +#: src/common/util.c:879 +msgid "Military" +msgstr "" + +#: src/common/util.c:880 +msgid "Macedonia" +msgstr "" + +#: src/common/util.c:881 +msgid "Mali" +msgstr "" + +#: src/common/util.c:882 +msgid "Myanmar" +msgstr "" + +#: src/common/util.c:883 +msgid "Mongolia" +msgstr "" + +#: src/common/util.c:884 +msgid "Macau" +msgstr "" + +#: src/common/util.c:885 +msgid "Northern Mariana Islands" +msgstr "" + +#: src/common/util.c:886 +msgid "Martinique" +msgstr "" + +#: src/common/util.c:887 +msgid "Mauritania" +msgstr "" + +#: src/common/util.c:888 +msgid "Montserrat" +msgstr "" + +#: src/common/util.c:889 +msgid "Malta" +msgstr "" + +#: src/common/util.c:890 +msgid "Mauritius" +msgstr "" + +#: src/common/util.c:891 +msgid "Maldives" +msgstr "" + +#: src/common/util.c:892 +msgid "Malawi" +msgstr "" + +#: src/common/util.c:893 +msgid "Mexico" +msgstr "" + +#: src/common/util.c:894 +msgid "Malaysia" +msgstr "" + +#: src/common/util.c:895 +msgid "Mozambique" +msgstr "" + +#: src/common/util.c:896 +msgid "Namibia" +msgstr "" + +#: src/common/util.c:897 +msgid "New Caledonia" +msgstr "" + +#: src/common/util.c:898 +msgid "Niger" +msgstr "" + +#: src/common/util.c:899 +msgid "Internic Network" +msgstr "" + +#: src/common/util.c:900 +msgid "Norfolk Island" +msgstr "" + +#: src/common/util.c:901 +msgid "Nigeria" +msgstr "" + +#: src/common/util.c:902 +msgid "Nicaragua" +msgstr "" + +#: src/common/util.c:903 +msgid "Netherlands" +msgstr "" + +#: src/common/util.c:904 +msgid "Norway" +msgstr "" + +#: src/common/util.c:905 +msgid "Nepal" +msgstr "" + +#: src/common/util.c:906 +msgid "Nauru" +msgstr "" + +#: src/common/util.c:907 +msgid "Neutral Zone" +msgstr "" + +#: src/common/util.c:908 +msgid "Niue" +msgstr "" + +#: src/common/util.c:909 +msgid "New Zealand" +msgstr "" + +#: src/common/util.c:910 +msgid "Oman" +msgstr "" + +#: src/common/util.c:911 +msgid "Internic Non-Profit Organization" +msgstr "" + +#: src/common/util.c:912 +msgid "Panama" +msgstr "" + +#: src/common/util.c:913 +msgid "Peru" +msgstr "" + +#: src/common/util.c:914 +msgid "French Polynesia" +msgstr "" + +#: src/common/util.c:915 +msgid "Papua New Guinea" +msgstr "" + +#: src/common/util.c:916 +msgid "Philippines" +msgstr "" + +#: src/common/util.c:917 +msgid "Pakistan" +msgstr "" + +#: src/common/util.c:918 +msgid "Poland" +msgstr "" + +#: src/common/util.c:919 +msgid "St. Pierre and Miquelon" +msgstr "" + +#: src/common/util.c:920 +msgid "Pitcairn" +msgstr "" + +#: src/common/util.c:921 +msgid "Puerto Rico" +msgstr "" + +#: src/common/util.c:922 +msgid "Portugal" +msgstr "" + +#: src/common/util.c:923 +msgid "Palau" +msgstr "" + +#: src/common/util.c:924 +msgid "Paraguay" +msgstr "" + +#: src/common/util.c:925 +msgid "Qatar" +msgstr "" + +#: src/common/util.c:926 +msgid "Reunion" +msgstr "" + +#: src/common/util.c:927 +msgid "Romania" +msgstr "" + +#: src/common/util.c:928 +msgid "Old School ARPAnet" +msgstr "" + +#: src/common/util.c:929 +msgid "Russian Federation" +msgstr "" + +#: src/common/util.c:930 +msgid "Rwanda" +msgstr "" + +#: src/common/util.c:931 +msgid "Saudi Arabia" +msgstr "" + +#: src/common/util.c:932 +msgid "Solomon Islands" +msgstr "" + +#: src/common/util.c:933 +msgid "Seychelles" +msgstr "" + +#: src/common/util.c:934 +msgid "Sudan" +msgstr "" + +#: src/common/util.c:935 +msgid "Sweden" +msgstr "" + +#: src/common/util.c:936 +msgid "Singapore" +msgstr "Singapore" + +#: src/common/util.c:937 +msgid "St. Helena" +msgstr "" + +#: src/common/util.c:938 +msgid "Slovenia" +msgstr "" + +#: src/common/util.c:939 +msgid "Svalbard and Jan Mayen Islands" +msgstr "" + +#: src/common/util.c:940 +msgid "Slovak Republic" +msgstr "" + +#: src/common/util.c:941 +msgid "Sierra Leone" +msgstr "" + +#: src/common/util.c:942 +msgid "San Marino" +msgstr "" + +#: src/common/util.c:943 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:944 +msgid "Somalia" +msgstr "" + +#: src/common/util.c:945 +msgid "Suriname" +msgstr "" + +#: src/common/util.c:946 +msgid "Sao Tome and Principe" +msgstr "" + +#: src/common/util.c:947 +msgid "Former USSR" +msgstr "" + +#: src/common/util.c:948 +msgid "El Salvador" +msgstr "" + +#: src/common/util.c:949 +msgid "Syria" +msgstr "" + +#: src/common/util.c:950 +msgid "Swaziland" +msgstr "" + +#: src/common/util.c:951 +msgid "Turks and Caicos Islands" +msgstr "" + +#: src/common/util.c:952 +msgid "Chad" +msgstr "" + +#: src/common/util.c:953 +msgid "French Southern Territories" +msgstr "" + +#: src/common/util.c:954 +msgid "Togo" +msgstr "" + +#: src/common/util.c:955 +msgid "Thailand" +msgstr "" + +#: src/common/util.c:956 +msgid "Tajikistan" +msgstr "" + +#: src/common/util.c:957 +msgid "Tokelau" +msgstr "" + +#: src/common/util.c:958 +msgid "Turkmenistan" +msgstr "" + +#: src/common/util.c:959 +msgid "Tunisia" +msgstr "" + +#: src/common/util.c:960 +msgid "Tonga" +msgstr "" + +#: src/common/util.c:961 +msgid "East Timor" +msgstr "" + +#: src/common/util.c:962 +msgid "Turkey" +msgstr "" + +#: src/common/util.c:963 +msgid "Trinidad and Tobago" +msgstr "" + +#: src/common/util.c:964 +msgid "Tuvalu" +msgstr "" + +#: src/common/util.c:965 +msgid "Taiwan" +msgstr "" + +#: src/common/util.c:966 +msgid "Tanzania" +msgstr "" + +#: src/common/util.c:967 +msgid "Ukraine" +msgstr "" + +#: src/common/util.c:968 +msgid "Uganda" +msgstr "" + +#: src/common/util.c:969 +msgid "United Kingdom" +msgstr "" + +#: src/common/util.c:970 +msgid "US Minor Outlying Islands" +msgstr "" + +#: src/common/util.c:971 +msgid "United States of America" +msgstr "" + +#: src/common/util.c:972 +msgid "Uruguay" +msgstr "" + +#: src/common/util.c:973 +msgid "Uzbekistan" +msgstr "" + +#: src/common/util.c:974 +msgid "Vatican City State" +msgstr "" + +#: src/common/util.c:975 +msgid "St. Vincent and the grenadines" +msgstr "" + +#: src/common/util.c:976 +msgid "Venezuela" +msgstr "" + +#: src/common/util.c:977 +msgid "British Virgin Islands" +msgstr "" + +#: src/common/util.c:978 +msgid "US Virgin Islands" +msgstr "" + +#: src/common/util.c:979 +msgid "Vietnam" +msgstr "" + +#: src/common/util.c:980 +msgid "Vanuatu" +msgstr "" + +#: src/common/util.c:981 +msgid "Wallis and Futuna Islands" +msgstr "" + +#: src/common/util.c:982 +msgid "Samoa" +msgstr "" + +#: src/common/util.c:983 +msgid "Yemen" +msgstr "" + +#: src/common/util.c:984 +msgid "Mayotte" +msgstr "" + +#: src/common/util.c:985 +msgid "Yugoslavia" +msgstr "" + +#: src/common/util.c:986 +msgid "South Africa" +msgstr "" + +#: src/common/util.c:987 +msgid "Zambia" +msgstr "" + +#: src/common/util.c:988 +msgid "Zaire" +msgstr "" + +#: src/common/util.c:989 +msgid "Zimbabwe" +msgstr "" + +#: src/common/util.c:995 src/common/util.c:1005 src/fe-gtk/menu.c:503 +#: src/fe-gtk/menu.c:507 src/fe-gtk/menu.c:511 src/fe-gtk/menu.c:515 +#: src/fe-gtk/menu.c:519 +msgid "Unknown" +msgstr "" + +#: src/common/xchat.c:908 +msgid "Direct client-to-client" +msgstr "" + +#: src/common/xchat.c:909 +#, fuzzy +msgid "Send File" +msgstr "Lydfil: " + +#: src/common/xchat.c:910 +msgid "Offer Chat" +msgstr "" + +#: src/common/xchat.c:911 +#, fuzzy +msgid "Abort Chat" +msgstr "Om X-Chat" + +#: src/common/xchat.c:912 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Versjon" + +#: src/common/xchat.c:913 +#, fuzzy +msgid "Userinfo" +msgstr "Bruker" + +#: src/common/xchat.c:914 +#, fuzzy +msgid "Clientinfo" +msgstr "Klienten avslutter" + +#: src/common/xchat.c:915 src/common/xchat.c:947 src/common/xchat.c:997 +msgid "Ping" +msgstr "" + +#: src/common/xchat.c:916 +#, fuzzy +msgid "Time" +msgstr "Tiden" + +#: src/common/xchat.c:917 +#, fuzzy +msgid "Finger" +msgstr "Wingate" + +#: src/common/xchat.c:918 +#, fuzzy +msgid "Oper" +msgstr "Op" + +#: src/common/xchat.c:919 +msgid "Kill this user" +msgstr "" + +#: src/common/xchat.c:920 +msgid "Mode" +msgstr "" + +#: src/common/xchat.c:921 +msgid "Give Voice" +msgstr "" + +#: src/common/xchat.c:922 +msgid "Take Voice" +msgstr "" + +#: src/common/xchat.c:923 +msgid "Give Ops" +msgstr "" + +#: src/common/xchat.c:924 +msgid "Take Ops" +msgstr "" + +#: src/common/xchat.c:925 +msgid "Ignore" +msgstr "" + +#: src/common/xchat.c:926 +#, fuzzy +msgid "Ignore User" +msgstr "Ignorer-liste..." + +#: src/common/xchat.c:927 +msgid "UnIgnore User" +msgstr "" + +#: src/common/xchat.c:928 +#, fuzzy +msgid "Kick/Ban" +msgstr "Spark" + +#: src/common/xchat.c:929 src/common/xchat.c:981 +msgid "Kick" +msgstr "Spark" + +#: src/common/xchat.c:930 src/common/xchat.c:931 src/common/xchat.c:932 +#: src/common/xchat.c:933 src/common/xchat.c:934 src/common/xchat.c:980 +msgid "Ban" +msgstr "" + +#: src/common/xchat.c:935 src/common/xchat.c:936 src/common/xchat.c:937 +#: src/common/xchat.c:938 +#, fuzzy +msgid "KickBan" +msgstr "Spark" + +#: src/common/xchat.c:939 src/fe-gtk/dccgui.c:528 src/fe-gtk/dccgui.c:669 +msgid "Info" +msgstr "Info" + +#: src/common/xchat.c:940 +msgid "Who" +msgstr "" + +#: src/common/xchat.c:941 src/common/xchat.c:994 +msgid "WhoIs" +msgstr "" + +#: src/common/xchat.c:942 +msgid "DNS Lookup" +msgstr "" + +#: src/common/xchat.c:943 +#, fuzzy +msgid "Trace" +msgstr "Frankrike" + +#: src/common/xchat.c:944 +#, fuzzy +msgid "UserHost" +msgstr "Brukere" + +#: src/common/xchat.c:945 +msgid "External" +msgstr "" + +#: src/common/xchat.c:946 +msgid "Traceroute" +msgstr "" + +#: src/common/xchat.c:948 +msgid "Telnet" +msgstr "" + +#: src/common/xchat.c:949 +#, fuzzy +msgid "Open Dialog Window" +msgstr "Åpne dialogvindu automatisk" + +#: src/common/xchat.c:961 +msgid "Disconnect" +msgstr "" + +#: src/common/xchat.c:962 +msgid "Reconnect" +msgstr "" + +#: src/common/xchat.c:963 +msgid "Leave Channel" +msgstr "" + +#: src/common/xchat.c:964 +msgid "Join Channel..." +msgstr "Bli med i kanal..." + +#: src/common/xchat.c:965 +msgid "Enter Channel to Join:" +msgstr "" + +#: src/common/xchat.c:966 +msgid "Server Links" +msgstr "Lenker til tjenere" + +#: src/common/xchat.c:967 +msgid "Ping Server" +msgstr "Ping tjener" + +#: src/common/xchat.c:968 +msgid "Hide Version" +msgstr "Skjul versjon" + +#: src/common/xchat.c:978 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:979 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/xchat.c:982 +msgid "bye" +msgstr "hadet" + +#: src/common/xchat.c:983 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "" + +#: src/common/xchat.c:984 +msgid "Sendfile" +msgstr "" + +#: src/common/xchat.c:985 +msgid "Dialog" +msgstr "" + +#: src/common/xchat.c:995 +#, fuzzy +msgid "Send" +msgstr "Sekunder" + +#: src/common/xchat.c:996 +#, fuzzy +msgid "Chat" +msgstr "_X-Chat" + +#: src/common/xchat.c:998 src/fe-gtk/banlist.c:314 src/fe-gtk/search.c:117 +#: src/fe-gtk/urlgrab.c:200 +msgid "Clear" +msgstr "Tøm" + +#: src/fe-gtk/about.c:102 +msgid "About X-Chat" +msgstr "Om X-Chat" + +#: src/fe-gtk/about.c:124 +msgid "A multiplatform IRC Client" +msgstr "" + +#: src/fe-gtk/ascii.c:131 +msgid "Character Chart" +msgstr "Tegnkart" + +#: src/fe-gtk/banlist.c:148 src/fe-gtk/banlist.c:232 +msgid "You must select some bans." +msgstr "" + +#: src/fe-gtk/banlist.c:248 src/fe-gtk/ignoregui.c:174 +msgid "Mask" +msgstr "Maske" + +#: src/fe-gtk/banlist.c:249 src/fe-gtk/dccgui.c:485 +msgid "From" +msgstr "" + +#: src/fe-gtk/banlist.c:250 +msgid "Date" +msgstr "" + +#: src/fe-gtk/banlist.c:294 +#, c-format +msgid "X-Chat: Ban List (%s)" +msgstr "" + +#: src/fe-gtk/banlist.c:310 +msgid "Unban" +msgstr "" + +#: src/fe-gtk/banlist.c:312 +msgid "Crop" +msgstr "" + +#: src/fe-gtk/banlist.c:316 +msgid "Refresh" +msgstr "" + +#: src/fe-gtk/chanlist.c:120 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "" + +#: src/fe-gtk/chanlist.c:536 +msgid "I can't save an empty list!" +msgstr "" + +#: src/fe-gtk/chanlist.c:539 src/fe-gtk/menu.c:931 +msgid "Select an output filename" +msgstr "" + +#: src/fe-gtk/chanlist.c:607 +#, c-format +msgid "X-Chat: Channel List (%s)" +msgstr "" + +#: src/fe-gtk/chanlist.c:622 +msgid "List display options:" +msgstr "" + +#: src/fe-gtk/chanlist.c:634 +msgid "Minimum Users:" +msgstr "" + +#: src/fe-gtk/chanlist.c:649 +msgid "Maximum Users:" +msgstr "" + +#: src/fe-gtk/chanlist.c:664 +msgid "Regex Match:" +msgstr "" + +#: src/fe-gtk/chanlist.c:685 +msgid "Apply Match to:" +msgstr "" + +#: src/fe-gtk/chanlist.c:709 +msgid "Apply" +msgstr "Bruk" + +#: src/fe-gtk/chanlist.c:751 +msgid "Refresh the list" +msgstr "" + +#: src/fe-gtk/chanlist.c:753 +msgid "Save the list" +msgstr "Lagre listen" + +#: src/fe-gtk/chanlist.c:755 src/fe-gtk/menu.c:739 +msgid "Join Channel" +msgstr "" + +#: src/fe-gtk/dccgui.c:126 +#, c-format +msgid "Send file to %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:339 +#, c-format +msgid "" +" File: %s\n" +" To/From: %s\n" +" Size: %u\n" +" Port: %d\n" +" IP Number: %s\n" +"Start Time: %s Max CPS: %d\n" +msgstr "" + +#: src/fe-gtk/dccgui.c:372 +msgid "That file is not resumable." +msgstr "" + +#: src/fe-gtk/dccgui.c:376 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:383 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:387 +msgid "Cannot resume the same file from two people." +msgstr "" + +#: src/fe-gtk/dccgui.c:474 +msgid "MIME Type" +msgstr "" + +#: src/fe-gtk/dccgui.c:480 src/fe-gtk/dccgui.c:630 src/fe-gtk/dccgui.c:753 +#: src/fe-gtk/notifygui.c:110 +msgid "Status" +msgstr "" + +#: src/fe-gtk/dccgui.c:481 src/fe-gtk/dccgui.c:631 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "" + +#: src/fe-gtk/dccgui.c:484 src/fe-gtk/dccgui.c:635 +msgid "ETA" +msgstr "" + +#: src/fe-gtk/dccgui.c:494 +msgid "X-Chat: File Receive List" +msgstr "" + +#: src/fe-gtk/dccgui.c:522 src/fe-gtk/dccgui.c:668 src/fe-gtk/dccgui.c:783 +msgid "Abort" +msgstr "" + +#: src/fe-gtk/dccgui.c:524 src/fe-gtk/dccgui.c:784 +msgid "Accept" +msgstr "" + +#: src/fe-gtk/dccgui.c:526 +msgid "Resume" +msgstr "" + +#: src/fe-gtk/dccgui.c:530 +msgid "Open" +msgstr "" + +#: src/fe-gtk/dccgui.c:634 +msgid "Ack" +msgstr "" + +#: src/fe-gtk/dccgui.c:636 +msgid "To" +msgstr "Til" + +#: src/fe-gtk/dccgui.c:646 +msgid "X-Chat: File Send List" +msgstr "" + +#: src/fe-gtk/dccgui.c:754 +msgid "To/From" +msgstr "" + +#: src/fe-gtk/dccgui.c:755 +msgid "Recv" +msgstr "" + +#: src/fe-gtk/dccgui.c:756 +msgid "Sent" +msgstr "" + +#: src/fe-gtk/dccgui.c:757 +msgid "StartTime" +msgstr "" + +#: src/fe-gtk/dccgui.c:767 +msgid "X-Chat: DCC Chat List" +msgstr "" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "" + +#: src/fe-gtk/editlist.c:305 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "" + +#: src/fe-gtk/editlist.c:306 +msgid "Command" +msgstr "Kommando" + +#: src/fe-gtk/editlist.c:333 +msgid "Move Up" +msgstr "" + +#: src/fe-gtk/editlist.c:337 +msgid "Move Dn" +msgstr "" + +#: src/fe-gtk/editlist.c:345 +msgid "Cancel" +msgstr "Avbryt" + +#: src/fe-gtk/editlist.c:349 src/fe-gtk/textgui.c:464 src/fe-gtk/urlgrab.c:204 +msgid "Save" +msgstr "" + +#: src/fe-gtk/editlist.c:357 +msgid "Add New" +msgstr "" + +#: src/fe-gtk/editlist.c:361 src/fe-gtk/fkeys.c:746 src/fe-gtk/ignoregui.c:378 +msgid "Delete" +msgstr "" + +#: src/fe-gtk/editlist.c:369 +msgid "Sort" +msgstr "" + +#: src/fe-gtk/editlist.c:373 +msgid "Help" +msgstr "Hjelp" + +#: src/fe-gtk/fe-gtk.c:143 +#, fuzzy +msgid "Options" +msgstr "Alternativer for kanal" + +#: src/fe-gtk/fe-gtk.c:144 +msgid "DIRECTORY" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:145 +msgid "use a different config dir" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:146 +msgid "don't auto connect" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:147 +msgid "don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:148 +msgid "show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:214 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:617 +msgid "Search buffer is empty.\n" +msgstr "Søk i buffer er tomt.\n" + +#: src/fe-gtk/fe-gtk.c:694 +#, c-format +msgid "%d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into " +"the entry box where you pressed the key sequence. Thus it can contain text " +"(which will be sent to the channel/person), commands or user commands. When " +"run all \\n characters in Data 1 are used to deliminate seperate commands so " +"it is possible to run more than one command. If you want a \\ in the actual " +"text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1 " +"to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page. If Data " +"1 is set to anything the page scrolls up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered to " +"the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "" +"The Last Command command sets the entry to contain the last command entered " +"- the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "" +"The Next Command command sets the entry to contain the next command entered " +"- the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the " +"last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set " +"to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:171 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command moves the front tab left by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command moves the front tab right by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command moves the current tab family to the left" +msgstr "" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the current tab family to the right" +msgstr "" + +#: src/fe-gtk/fkeys.c:181 +msgid "Push input line into history but doesn't send to server" +msgstr "" + +#: src/fe-gtk/fkeys.c:193 +msgid "There was an error loading key bindings configuration" +msgstr "" + +#: src/fe-gtk/fkeys.c:434 src/fe-gtk/fkeys.c:435 src/fe-gtk/fkeys.c:436 +#: src/fe-gtk/fkeys.c:437 src/fe-gtk/fkeys.c:719 src/fe-gtk/fkeys.c:725 +#: src/fe-gtk/fkeys.c:730 src/fe-gtk/maingui.c:804 src/fe-gtk/maingui.c:825 +#: src/fe-gtk/maingui.c:979 src/fe-gtk/maingui.c:1018 +#: src/fe-gtk/maingui.c:2360 +msgid "<none>" +msgstr "" + +#: src/fe-gtk/fkeys.c:683 +msgid "Mod" +msgstr "" + +#: src/fe-gtk/fkeys.c:684 src/fe-gtk/fkeys.c:779 +msgid "Key" +msgstr "" + +#: src/fe-gtk/fkeys.c:685 +msgid "Action" +msgstr "" + +#: src/fe-gtk/fkeys.c:694 +msgid "X-Chat: Edit Key Bindings" +msgstr "X-Chat: Rediger tastaturbindinger" + +#: src/fe-gtk/fkeys.c:741 +msgid "Add new" +msgstr "Legg til ny" + +#: src/fe-gtk/fkeys.c:772 +msgid "Shift" +msgstr "" + +#: src/fe-gtk/fkeys.c:774 +msgid "Alt" +msgstr "" + +#: src/fe-gtk/fkeys.c:776 +msgid "Ctrl" +msgstr "" + +#: src/fe-gtk/fkeys.c:783 +msgid "Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:786 +msgid "Data 2" +msgstr "" + +#: src/fe-gtk/fkeys.c:829 +msgid "Error opening keys config file\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1000 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1038 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1059 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1128 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" + +#: src/fe-gtk/gtkutil.c:146 +msgid "Cannot write to that file." +msgstr "" + +#: src/fe-gtk/gtkutil.c:148 +msgid "Cannot read that file." +msgstr "" + +#: src/fe-gtk/ignoregui.c:116 src/fe-gtk/ignoregui.c:279 +msgid "That mask already exists." +msgstr "" + +#: src/fe-gtk/ignoregui.c:176 src/fe-gtk/maingui.c:1473 +msgid "Private" +msgstr "" + +#: src/fe-gtk/ignoregui.c:177 +msgid "Notice" +msgstr "" + +#: src/fe-gtk/ignoregui.c:178 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:179 +msgid "DCC" +msgstr "" + +#: src/fe-gtk/ignoregui.c:180 +msgid "Invite" +msgstr "Inviter" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Unignore" +msgstr "" + +#: src/fe-gtk/ignoregui.c:299 +msgid "Enter mask to ignore:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:346 +msgid "X-Chat: Ignore list" +msgstr "" + +#: src/fe-gtk/ignoregui.c:353 +msgid "Ignore Stats:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Channel:" +msgstr "Kanal:" + +#: src/fe-gtk/ignoregui.c:362 +msgid "Private:" +msgstr "Privat:" + +#: src/fe-gtk/ignoregui.c:363 +msgid "Notice:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:364 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:365 +msgid "Invite:" +msgstr "Inviter:" + +#: src/fe-gtk/ignoregui.c:376 src/fe-gtk/menu.c:1236 +msgid "New" +msgstr "Ny" + +#: src/fe-gtk/ignoregui.c:380 +#, fuzzy +msgid "Delete All" +msgstr "Test alle" + +#: src/fe-gtk/maingui.c:477 +#, c-format +msgid "Topic for %s is: %s" +msgstr "" + +#: src/fe-gtk/maingui.c:481 +msgid "No topic is set" +msgstr "" + +#: src/fe-gtk/maingui.c:878 +msgid "No other tabs open, quit xchat?" +msgstr "" + +#: src/fe-gtk/maingui.c:924 +msgid "Insert color code" +msgstr "" + +#: src/fe-gtk/maingui.c:966 src/fe-gtk/menu.c:1258 +msgid "Close Tab" +msgstr "Lukk fane" + +#: src/fe-gtk/maingui.c:969 src/fe-gtk/menu.c:1388 +msgid "Detach Tab" +msgstr "" + +#: src/fe-gtk/maingui.c:984 +#, fuzzy +msgid "Beep on message" +msgstr "Pip ved private meldinger" + +#: src/fe-gtk/maingui.c:987 +#, fuzzy +msgid "Show join/part messages" +msgstr "Pip ved private meldinger" + +#: src/fe-gtk/maingui.c:989 +msgid "Color paste" +msgstr "Lim inn farge" + +#: src/fe-gtk/maingui.c:999 +msgid "Go to" +msgstr "" + +#: src/fe-gtk/maingui.c:1191 +msgid "Some file transfers still active, quit xchat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1341 src/fe-gtk/maingui.c:1447 +msgid "User limit must be a number!\n" +msgstr "" + +#: src/fe-gtk/maingui.c:1469 +msgid "Topic Protection" +msgstr "" + +#: src/fe-gtk/maingui.c:1470 +msgid "No outside messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1471 +msgid "Secret" +msgstr "" + +#: src/fe-gtk/maingui.c:1472 +msgid "Invite Only" +msgstr "" + +#: src/fe-gtk/maingui.c:1474 +msgid "Moderated" +msgstr "" + +#: src/fe-gtk/maingui.c:1475 +#, fuzzy +msgid "Ban List" +msgstr "Python liste" + +#: src/fe-gtk/maingui.c:1477 +msgid "Keyword" +msgstr "" + +#: src/fe-gtk/maingui.c:1489 +msgid "User Limit" +msgstr "Brukergrense" + +#: src/fe-gtk/maingui.c:1505 +msgid "Close this tab/window" +msgstr "" + +#: src/fe-gtk/maingui.c:1602 +msgid "Show/Hide userlist" +msgstr "Vis/skjul brukerliste" + +#: src/fe-gtk/maingui.c:1712 +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 "" + +#: src/fe-gtk/maingui.c:1905 +msgid "Enter new nickname:" +msgstr "Oppgi nytt kallenavn:" + +#: src/fe-gtk/menu.c:141 +msgid "Host unknown" +msgstr "Ukjent vert" + +#: src/fe-gtk/menu.c:502 +#, c-format +msgid "User: %s" +msgstr "Bruker: %s" + +#: src/fe-gtk/menu.c:506 +#, c-format +msgid "Country: %s" +msgstr "" + +#: src/fe-gtk/menu.c:510 +#, c-format +msgid "Realname: %s" +msgstr "" + +#: src/fe-gtk/menu.c:514 +#, c-format +msgid "Server: %s" +msgstr "Tjener: %s" + +#: src/fe-gtk/menu.c:518 +#, c-format +msgid "Last Msg: %s" +msgstr "" + +#: src/fe-gtk/menu.c:603 +msgid "Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:604 +msgid "Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:608 +msgid "User List" +msgstr "Brukerliste" + +#: src/fe-gtk/menu.c:611 +#, fuzzy +msgid "Mode Buttons" +msgstr "Dialogknapper..." + +#: src/fe-gtk/menu.c:617 +#, fuzzy +msgid "User List Buttons" +msgstr "Brukerlisteknapper..." + +#: src/fe-gtk/menu.c:743 +msgid "Part Channel" +msgstr "" + +#: src/fe-gtk/menu.c:745 +msgid "Cycle Channel" +msgstr "" + +#: src/fe-gtk/menu.c:768 +msgid "X-Chat: User menu" +msgstr "X-Chat: Brukermeny" + +#: src/fe-gtk/menu.c:777 +msgid "Edit This Menu..." +msgstr "Rediger denne menyen..." + +#: src/fe-gtk/menu.c:879 +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 "" + +#: src/fe-gtk/menu.c:1001 +msgid "Settings saved." +msgstr "Innstillinger lagret." + +#: src/fe-gtk/menu.c:1038 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" + +#: src/fe-gtk/menu.c:1053 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" + +#: src/fe-gtk/menu.c:1062 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" + +#: src/fe-gtk/menu.c:1071 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" + +#: src/fe-gtk/menu.c:1081 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of X-Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1090 +msgid "X-Chat: User Defined Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1097 +#, fuzzy +msgid "X-Chat: Userlist Popup menu" +msgstr "Brukerlliste popup.." + +#: src/fe-gtk/menu.c:1104 +msgid "X-Chat: Replace" +msgstr "X-Chat: Erstatt" + +#: src/fe-gtk/menu.c:1111 +msgid "X-Chat: URL Handlers" +msgstr "X-Chat: URL-håndterere" + +#: src/fe-gtk/menu.c:1130 +msgid "X-Chat: Userlist buttons" +msgstr "X-Chat: Brukerlisteknapper" + +#: src/fe-gtk/menu.c:1137 +msgid "X-Chat: Dialog buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1144 +msgid "X-Chat: CTCP Replies" +msgstr "X-Chat: CTCP-svar" + +#: src/fe-gtk/menu.c:1232 +msgid "_X-Chat" +msgstr "_X-Chat" + +#: src/fe-gtk/menu.c:1233 +msgid "Server List..." +msgstr "Liste over tjenere..." + +#: src/fe-gtk/menu.c:1237 +msgid "Server Tab..." +msgstr "Tjenerfane..." + +#: src/fe-gtk/menu.c:1238 +msgid "Channel Tab..." +msgstr "Kanalfane..." + +#: src/fe-gtk/menu.c:1239 +msgid "Server Window..." +msgstr "Tjenervindu..." + +#: src/fe-gtk/menu.c:1240 +msgid "Channel Window..." +msgstr "Kanalvindu..." + +#: src/fe-gtk/menu.c:1245 src/fe-gtk/menu.c:1247 +#, fuzzy +msgid "Load Plugin or Script..." +msgstr "Last tillegg..." + +#: src/fe-gtk/menu.c:1251 +msgid "New Shell Tab..." +msgstr "Ny fane for skall..." + +#: src/fe-gtk/menu.c:1260 +msgid "Quit" +msgstr "Avslutt" + +#: src/fe-gtk/menu.c:1262 +msgid "_IRC" +msgstr "_IRC" + +#: src/fe-gtk/menu.c:1263 +msgid "Invisible" +msgstr "Usynlig" + +#: src/fe-gtk/menu.c:1264 +msgid "Receive Wallops" +msgstr "Motta Wallops" + +#: src/fe-gtk/menu.c:1265 +msgid "Receive Server Notices" +msgstr "Motta tjenermeldinger" + +#: src/fe-gtk/menu.c:1267 +msgid "Marked Away" +msgstr "Merket som borte" + +#: src/fe-gtk/menu.c:1269 +#, fuzzy +msgid "Auto Rejoin when Kicked" +msgstr "Automatisk inlogging ved kick" + +#: src/fe-gtk/menu.c:1270 +#, fuzzy +msgid "Auto Reconnect to Server" +msgstr "Koble til igjen automatisk" + +#: src/fe-gtk/menu.c:1271 +msgid "Never-give-up ReConnect" +msgstr "Aldri-gi-opp gjenoppkobling" + +#: src/fe-gtk/menu.c:1273 +msgid "Auto Open Dialog Windows" +msgstr "Åpne dialogvindu automatisk" + +#: src/fe-gtk/menu.c:1274 +#, fuzzy +msgid "Auto Accept Direct Chat" +msgstr "Godta DCC-snakk automatisk" + +#: src/fe-gtk/menu.c:1275 +#, fuzzy +msgid "Auto Accept Files" +msgstr "Godta DCC-send automatisk" + +#: src/fe-gtk/menu.c:1277 +msgid "_Server" +msgstr "_Tjener" + +#: src/fe-gtk/menu.c:1279 +msgid "S_ettings" +msgstr "_Innstillinger" + +#: src/fe-gtk/menu.c:1280 +msgid "Preferences..." +msgstr "Brukervalg..." + +#: src/fe-gtk/menu.c:1282 +msgid "Lists" +msgstr "Lister" + +#: src/fe-gtk/menu.c:1283 +#, fuzzy +msgid "Auto Replace..." +msgstr "Erstatt-popup..." + +#: src/fe-gtk/menu.c:1284 +msgid "CTCP Replies..." +msgstr "CTCP-svar..." + +#: src/fe-gtk/menu.c:1285 +msgid "Dialog Buttons..." +msgstr "Dialogknapper..." + +#: src/fe-gtk/menu.c:1286 +msgid "Key Bindings..." +msgstr "Tastaturbindinger..." + +#: src/fe-gtk/menu.c:1287 +#, fuzzy +msgid "Text Events..." +msgstr "Hendelsestekster..." + +#: src/fe-gtk/menu.c:1288 +msgid "URL Handlers..." +msgstr "URL-håndterere..." + +#: src/fe-gtk/menu.c:1289 +msgid "User Commands..." +msgstr "Brukerkommandoer..." + +#: src/fe-gtk/menu.c:1290 +msgid "Userlist Buttons..." +msgstr "Brukerlisteknapper..." + +#: src/fe-gtk/menu.c:1291 +msgid "Userlist Popup..." +msgstr "Brukerliste popup..." + +#: src/fe-gtk/menu.c:1296 +msgid "Reload Settings" +msgstr "Gjenles innstillinger" + +#: src/fe-gtk/menu.c:1298 +msgid "Save Settings now" +msgstr "Lagre instillinger nå" + +#: src/fe-gtk/menu.c:1299 +msgid "Save Settings on exit" +msgstr "Lagre innstillinger når du avslutter" + +#: src/fe-gtk/menu.c:1302 +msgid "_Window" +msgstr "_Vindu" + +#: src/fe-gtk/menu.c:1303 +msgid "Ban List..." +msgstr "" + +#: src/fe-gtk/menu.c:1304 +msgid "Channel List..." +msgstr "Kanalliste..." + +#: src/fe-gtk/menu.c:1305 +msgid "Character Chart..." +msgstr "Tegnkart..." + +#: src/fe-gtk/menu.c:1306 +msgid "Direct Chat..." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "File Receive..." +msgstr "" + +#: src/fe-gtk/menu.c:1308 +msgid "File Send..." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Ignore List..." +msgstr "Ignorer-liste..." + +#: src/fe-gtk/menu.c:1310 +msgid "Notify List..." +msgstr "Meldingsliste..." + +#: src/fe-gtk/menu.c:1311 +#, fuzzy +msgid "Plugins and Scripts..." +msgstr "Liste over tillegg..." + +#: src/fe-gtk/menu.c:1312 +msgid "Raw Log..." +msgstr "Rå logg..." + +#: src/fe-gtk/menu.c:1313 +msgid "URL Grabber..." +msgstr "URL-henter..." + +#: src/fe-gtk/menu.c:1315 +msgid "C_lear Text" +msgstr "" + +#: src/fe-gtk/menu.c:1316 +#, fuzzy +msgid "Search Text..." +msgstr "Søk i buffer.." + +#: src/fe-gtk/menu.c:1317 +msgid "Save Text..." +msgstr "Lagre tekst..." + +#: src/fe-gtk/menu.c:1319 +msgid "_Help" +msgstr "_Hjelp" + +#: src/fe-gtk/menu.c:1320 +#, fuzzy +msgid "_Contents" +msgstr "Innhold" + +#: src/fe-gtk/menu.c:1321 +#, fuzzy +msgid "_About" +msgstr "Om" + +#: src/fe-gtk/menu.c:1390 +msgid "Attach Tab" +msgstr "" + +#: src/fe-gtk/notifygui.c:109 +msgid "User" +msgstr "Bruker" + +#: src/fe-gtk/notifygui.c:111 +msgid "Server" +msgstr "Tjener" + +#: src/fe-gtk/notifygui.c:112 +msgid "Last Seen" +msgstr "Sist sett" + +#: src/fe-gtk/notifygui.c:149 +msgid "Offline" +msgstr "Frakoblet" + +#: src/fe-gtk/notifygui.c:169 +msgid "Never" +msgstr "Aldri" + +#: src/fe-gtk/notifygui.c:187 +msgid "Online" +msgstr "Tilkoblet" + +#: src/fe-gtk/notifygui.c:277 +msgid "Enter nickname to add:" +msgstr "" + +#: src/fe-gtk/notifygui.c:293 +msgid "X-Chat: Notify List" +msgstr "" + +#: src/fe-gtk/notifygui.c:306 src/fe-gtk/servlistgui.c:712 +msgid "Add" +msgstr "Legg til" + +#: src/fe-gtk/notifygui.c:308 +msgid "Remove" +msgstr "Fjern" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:387 +msgid "Description" +msgstr "Beskrivelse" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "" + +#: src/fe-gtk/plugingui.c:219 +#, fuzzy +msgid "X-Chat: Plugins and Scripts" +msgstr "X-Chat tillegg" + +#: src/fe-gtk/plugingui.c:225 +msgid "_Load..." +msgstr "_Last..." + +#: src/fe-gtk/plugingui.c:228 +msgid "_UnLoad" +msgstr "Last _ut" + +#: src/fe-gtk/plugingui.c:232 +#, fuzzy +msgid "_Close" +msgstr "Lukk" + +#: src/fe-gtk/rawlog.c:78 +msgid "Save rawlog" +msgstr "" + +#: src/fe-gtk/rawlog.c:94 +#, c-format +msgid "X-Chat: Rawlog (%s)" +msgstr "" + +#: src/fe-gtk/rawlog.c:123 +msgid "Clear rawlog" +msgstr "" + +#: src/fe-gtk/rawlog.c:126 +msgid "Save rawlog..." +msgstr "" + +#: src/fe-gtk/search.c:47 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "" + +#: src/fe-gtk/search.c:91 +msgid "X-Chat: Search" +msgstr "X-Chat: Søk" + +#: src/fe-gtk/search.c:100 +msgid "Find:" +msgstr "Finn:" + +#: src/fe-gtk/search.c:114 +msgid "Find" +msgstr "Finn" + +#: src/fe-gtk/search.c:119 +msgid "Close" +msgstr "Lukk" + +#: src/fe-gtk/servlistgui.c:161 +#, c-format +msgid "Settings for %s" +msgstr "Innstillinger for %s" + +#: src/fe-gtk/servlistgui.c:202 src/fe-gtk/servlistgui.c:275 +msgid "New Network" +msgstr "Nytt nettverk" + +#: src/fe-gtk/servlistgui.c:370 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "" + +#: src/fe-gtk/servlistgui.c:407 src/fe-gtk/servlistgui.c:437 +#, c-format +msgid "_Remove \"%s\"" +msgstr "" + +#: src/fe-gtk/servlistgui.c:414 +msgid "_Add new server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:444 +#, c-format +msgid "Move \"%s\" _down" +msgstr "" + +#: src/fe-gtk/servlistgui.c:451 +#, c-format +msgid "Move \"%s\" _up" +msgstr "" + +#: src/fe-gtk/servlistgui.c:462 +msgid "_Add new network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:826 +msgid "Global User Info" +msgstr "" + +#: src/fe-gtk/servlistgui.c:834 +msgid "Nick Names:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:853 src/fe-gtk/servlistgui.c:1056 +msgid "User Name:" +msgstr "Brukernavn:" + +#: src/fe-gtk/servlistgui.c:866 src/fe-gtk/servlistgui.c:1058 +msgid "Real Name:" +msgstr "Virkelig navn:" + +#: src/fe-gtk/servlistgui.c:908 +msgid "C_onnect" +msgstr "" + +#: src/fe-gtk/servlistgui.c:916 +msgid "Connect in a _new tab" +msgstr "" + +#: src/fe-gtk/servlistgui.c:976 +msgid "Servers" +msgstr "Tjenere" + +#: src/fe-gtk/servlistgui.c:1014 +msgid "Character Set:" +msgstr "Tegnsett:" + +#: src/fe-gtk/servlistgui.c:1054 +msgid "Nick Name:" +msgstr "Kallenavn:" + +#: src/fe-gtk/servlistgui.c:1059 +msgid "Server Password:" +msgstr "Passord for tjener:" + +#: src/fe-gtk/servlistgui.c:1061 +msgid "Join Channels:" +msgstr "Bli med i kanaler:" + +#: src/fe-gtk/servlistgui.c:1063 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1064 +msgid "Connect Command:" +msgstr "Kommando ved tilkobling:" + +#: src/fe-gtk/servlistgui.c:1066 +msgid "" +"Command to execute after connecting. Can be used to authenticate to NickServ" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1074 +msgid "Cycle until connected" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1075 +msgid "Use global user info" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1076 +msgid "Use secure SSL" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1077 +#, fuzzy +msgid "Auto connect at startup" +msgstr "Koble til igjen automatisk" + +#: src/fe-gtk/servlistgui.c:1078 +msgid "Use a proxy server" +msgstr "Bruk en proxy-tjener" + +#: src/fe-gtk/servlistgui.c:1079 +msgid "Accept invalid cert." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1088 +msgid "Settings for Selected Network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1128 +msgid "Edit mode" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1135 +msgid "Networks" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1180 +msgid "No server list on startup" +msgstr "Ingen tjenerliste ved oppstart" + +#: src/fe-gtk/servlistgui.c:1207 +msgid "X-Chat: Server List" +msgstr "X-Chat: tjenerliste" + +#: src/fe-gtk/setup.c:80 +msgid "Font:" +msgstr "Skrifttype:" + +#: src/fe-gtk/setup.c:81 +msgid "Background image:" +msgstr "Bakgrunnsbilde:" + +#: src/fe-gtk/setup.c:82 +msgid "Time stamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:83 +msgid "See strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:84 +msgid "Time stamp text" +msgstr "Merk all tekst med tid" + +#: src/fe-gtk/setup.c:85 +msgid "Transparent background" +msgstr "Gjennomsiktig bakgrunn" + +#: src/fe-gtk/setup.c:86 +msgid "Indent nicks" +msgstr "Juster kallenavn" + +#: src/fe-gtk/setup.c:87 +msgid "Tint transparency" +msgstr "Gjennomsiktighet for toning" + +#: src/fe-gtk/setup.c:88 +msgid "Colored nicks" +msgstr "Fargede kallenavn" + +#: src/fe-gtk/setup.c:89 +msgid "Strip mIRC color" +msgstr "Fjern mIRC-farger" + +#: src/fe-gtk/setup.c:90 +msgid "Scrollback lines:" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Tint red:" +msgstr "" + +#: src/fe-gtk/setup.c:92 +msgid "Tint green:" +msgstr "Grønn toning:" + +#: src/fe-gtk/setup.c:93 +msgid "Tint blue:" +msgstr "Blå toning:" + +#: src/fe-gtk/setup.c:99 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Automatic nick completion" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "" + +#: src/fe-gtk/setup.c:102 src/fe-gtk/setup.c:134 +msgid "Use the Text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:103 +#, fuzzy +msgid "Nick completion suffix:" +msgstr "Fullføring av kallenavn" + +#: src/fe-gtk/setup.c:109 +msgid "Off" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "Graph" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Info text" +msgstr "Infotekst" + +#: src/fe-gtk/setup.c:112 +msgid "Both" +msgstr "Begge" + +#: src/fe-gtk/setup.c:118 +msgid "A-Z, Ops first" +msgstr "A-Å, operatører først" + +#: src/fe-gtk/setup.c:119 +msgid "A-Z" +msgstr "A-Å" + +#: src/fe-gtk/setup.c:120 +msgid "Z-A, Ops last" +msgstr "Å-A, operatører sist" + +#: src/fe-gtk/setup.c:121 +msgid "Z-A" +msgstr "Å-A" + +#: src/fe-gtk/setup.c:122 +msgid "Unsorted" +msgstr "Usortert" + +#: src/fe-gtk/setup.c:128 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Userlist sorted by:" +msgstr "Brukerliste sortert etter:" + +#: src/fe-gtk/setup.c:131 +msgid "Double-click command:" +msgstr "Dobbelklikk-kommando:" + +#: src/fe-gtk/setup.c:132 +msgid "Show hostnames in userlist" +msgstr "Vis vertsnavn i brukerlisten" + +#: src/fe-gtk/setup.c:133 +msgid "Userlist buttons enabled" +msgstr "Brukerliste-knapper aktivert" + +#: src/fe-gtk/setup.c:135 +#, fuzzy +msgid "Resizable userlist" +msgstr "Vis/skjul brukerliste" + +#: src/fe-gtk/setup.c:136 +msgid "Track away-status on channels smaller than:" +msgstr "" + +#: src/fe-gtk/setup.c:142 +msgid "Windows" +msgstr "Vinduer" + +#: src/fe-gtk/setup.c:143 src/fe-gtk/setup.c:845 +msgid "Tabs" +msgstr "Faner" + +#: src/fe-gtk/setup.c:149 +msgid "Bottom" +msgstr "Bunn" + +#: src/fe-gtk/setup.c:150 +msgid "Top" +msgstr "Topp" + +#: src/fe-gtk/setup.c:151 +msgid "Left" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Right" +msgstr "" + +#: src/fe-gtk/setup.c:153 +msgid "Hidden" +msgstr "Skjult" + +#: src/fe-gtk/setup.c:159 +msgid "Show tabs at:" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Open channels in:" +msgstr "" + +#: src/fe-gtk/setup.c:161 +msgid "Open dialogs in:" +msgstr "Åpne dialoger i:" + +#: src/fe-gtk/setup.c:162 +msgid "Open utilities in:" +msgstr "" + +#: src/fe-gtk/setup.c:162 +#, fuzzy +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Bruk faner for DCC, Ignore, Notify etc vinduer." + +#: src/fe-gtk/setup.c:163 +#, fuzzy +msgid "Open tab for server messages" +msgstr "Bruk en separat fane/vindu for tjenermeldinger" + +#: src/fe-gtk/setup.c:164 +msgid "Open tab for server notices" +msgstr "" + +#: src/fe-gtk/setup.c:165 +#, fuzzy +msgid "Pop new tabs to front" +msgstr "Nye faner frem" + +#: src/fe-gtk/setup.c:166 +msgid "Shorten tabs to:" +msgstr "" + +#: src/fe-gtk/setup.c:166 +msgid "letters." +msgstr "bokstaver." + +#: src/fe-gtk/setup.c:172 +msgid "Download files to:" +msgstr "" + +#: src/fe-gtk/setup.c:173 +msgid "Move completed files to:" +msgstr "" + +#: src/fe-gtk/setup.c:174 +#, fuzzy +msgid "DCC IP address:" +msgstr "IP-adresse" + +#: src/fe-gtk/setup.c:175 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:176 +#, fuzzy +msgid "First DCC send port:" +msgstr "Første port for DCC-sending:" + +#: src/fe-gtk/setup.c:177 +#, fuzzy +msgid "Last DCC send port:" +msgstr "Siste port for DCC-sending:" + +#: src/fe-gtk/setup.c:178 +msgid "(Leave ports at zero for full range)." +msgstr "" + +#: src/fe-gtk/setup.c:179 +#, fuzzy +msgid "Auto open DCC send list" +msgstr "Åpne DCC-send vindu automatisk" + +#: src/fe-gtk/setup.c:180 +msgid "Convert spaces to underscore" +msgstr "" + +#: src/fe-gtk/setup.c:181 +msgid "In filenames, before sending" +msgstr "" + +#: src/fe-gtk/setup.c:182 +#, fuzzy +msgid "Auto open DCC chat list" +msgstr "Åpne DCC-prat vindu automatisk" + +#: src/fe-gtk/setup.c:183 +#, fuzzy +msgid "Save nickname in filenames" +msgstr "Bruk avsenders kallenavn i innkommende filnavn" + +#: src/fe-gtk/setup.c:184 +#, fuzzy +msgid "Auto open DCC receive list" +msgstr "Åpne DCC-motta vindu automatisk" + +#: src/fe-gtk/setup.c:185 +msgid "Get my IP from IRC server" +msgstr "" + +#: src/fe-gtk/setup.c:186 +msgid "" +"/WHOIS yourself to find your real address. Use this if you have a 192.168.*." +"* address!" +msgstr "" + +#: src/fe-gtk/setup.c:187 +msgid "Max. send CPS:" +msgstr "" + +#: src/fe-gtk/setup.c:188 src/fe-gtk/setup.c:190 +msgid "Max. speed for one transfer" +msgstr "" + +#: src/fe-gtk/setup.c:189 +msgid "Max. receive CPS:" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Max. global send CPS:" +msgstr "" + +#: src/fe-gtk/setup.c:192 src/fe-gtk/setup.c:194 +msgid "Max. speed for all traffic" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Max. global receive CPS:" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "(Leave at zero for full speed file transfers)." +msgstr "" + +#: src/fe-gtk/setup.c:201 +#, fuzzy +msgid "Default quit message:" +msgstr "Sluttmelding:" + +#: src/fe-gtk/setup.c:202 +#, fuzzy +msgid "Default part message:" +msgstr "Sluttmelding:" + +#: src/fe-gtk/setup.c:203 +#, fuzzy +msgid "Default away message:" +msgstr "Annonsér bortemeldinger" + +#: src/fe-gtk/setup.c:205 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "(Can be a text file relative to config dir)." +msgstr "" + +#: src/fe-gtk/setup.c:209 +#, fuzzy +msgid "Extra words to highlight on:" +msgstr "Ord som skal utheves:" + +#: src/fe-gtk/setup.c:210 +#, fuzzy +msgid "(Separate multiple words with commas)." +msgstr "(separér med komma)" + +#: src/fe-gtk/setup.c:211 +msgid "Show away once" +msgstr "Vis borte én gang" + +#: src/fe-gtk/setup.c:211 +msgid "Show identical away messages only once" +msgstr "" + +#: src/fe-gtk/setup.c:212 +#, fuzzy +msgid "Beep on private messages" +msgstr "Pip ved private meldinger" + +#: src/fe-gtk/setup.c:213 +#, fuzzy +msgid "Automatically unmark away" +msgstr "Åpne DCC-prat vindu automatisk" + +#: src/fe-gtk/setup.c:213 +msgid "Unmark yourself as away before sending messages" +msgstr "" + +#: src/fe-gtk/setup.c:214 +#, fuzzy +msgid "Beep on channel messages" +msgstr "Pip ved private meldinger" + +#: src/fe-gtk/setup.c:215 +#, fuzzy +msgid "Announce away messages" +msgstr "Annonsér bortemeldinger" + +#: src/fe-gtk/setup.c:215 +#, fuzzy +msgid "Announce your away messages to all channels" +msgstr "Annonsér don bortemelding til kanal(ene) du er i" + +#: src/fe-gtk/setup.c:216 +#, fuzzy +msgid "Beep on highlighted messages" +msgstr "Pip ved private meldinger" + +#: src/fe-gtk/setup.c:217 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:218 +msgid "Whois on notify" +msgstr "" + +#: src/fe-gtk/setup.c:218 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "" + +#: src/fe-gtk/setup.c:219 +#, fuzzy +msgid "Hide join/part messages" +msgstr "Pip ved private meldinger" + +#: src/fe-gtk/setup.c:219 +#, fuzzy +msgid "Hide channel join/part messages by default" +msgstr "Pip ved private meldinger" + +#: src/fe-gtk/setup.c:220 +#, fuzzy +msgid "Auto reconnect delay:" +msgstr "Pause før automatisk gjenoppkobling" + +#: src/fe-gtk/setup.c:226 +#, fuzzy +msgid "Log filename mask:" +msgstr "Maske for loggnavn:" + +#: src/fe-gtk/setup.c:227 +#, c-format +msgid "(%s=Server %c=Channel %n=Network)." +msgstr "" + +#: src/fe-gtk/setup.c:228 +msgid "Log timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:229 +msgid "(See strftime manpage for details)." +msgstr "" + +#: src/fe-gtk/setup.c:230 +#, fuzzy +msgid "Enable logging of conversations" +msgstr "Slå på logging av samtaler til disk" + +#: src/fe-gtk/setup.c:231 +#, fuzzy +msgid "Insert timestamps in logs" +msgstr "Alltid bruk tidsstempel på logger" + +#: src/fe-gtk/setup.c:237 +msgid "(Disabled)" +msgstr "(Slått av)" + +#: src/fe-gtk/setup.c:238 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:239 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:240 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:241 +msgid "HTTP" +msgstr "" + +#: src/fe-gtk/setup.c:247 +msgid "Address to bind to:" +msgstr "" + +#: src/fe-gtk/setup.c:248 +msgid "(Only useful for computers with multiple addresses)." +msgstr "" + +#: src/fe-gtk/setup.c:249 +#, fuzzy +msgid "Proxy server" +msgstr "Proxy-tjener:" + +#: src/fe-gtk/setup.c:250 +#, fuzzy +msgid "Hostname:" +msgstr "Vertsnavn" + +#: src/fe-gtk/setup.c:251 +#, fuzzy +msgid "Username:" +msgstr "Brukernavn:" + +#: src/fe-gtk/setup.c:252 +#, fuzzy +msgid "Password:" +msgstr "Passord for tjener:" + +#: src/fe-gtk/setup.c:253 +#, fuzzy +msgid "Port:" +msgstr "Port" + +#: src/fe-gtk/setup.c:254 +msgid "Type:" +msgstr "" + +#: src/fe-gtk/setup.c:256 +msgid "Authenticate to the proxy server (only HTTP)" +msgstr "" + +#: src/fe-gtk/setup.c:479 +msgid "Select an Image File" +msgstr "" + +#: src/fe-gtk/setup.c:506 +msgid "Select font" +msgstr "Velg skrift" + +#: src/fe-gtk/setup.c:576 +msgid "Browse..." +msgstr "Bla gjennom..." + +#: src/fe-gtk/setup.c:720 +msgid "Select color" +msgstr "Velg farge" + +#: src/fe-gtk/setup.c:786 +msgid "mIRC colors:" +msgstr "mIRC-farger:" + +#: src/fe-gtk/setup.c:794 +msgid "Foreground:" +msgstr "Forgrunn:" + +#: src/fe-gtk/setup.c:795 +msgid "Background:" +msgstr "Bakgrunn:" + +#: src/fe-gtk/setup.c:797 +msgid "Mark fore:" +msgstr "" + +#: src/fe-gtk/setup.c:798 +msgid "Mark back:" +msgstr "" + +#: src/fe-gtk/setup.c:800 +msgid "New Data:" +msgstr "" + +#: src/fe-gtk/setup.c:801 +msgid "New Message:" +msgstr "Ny melding:" + +#: src/fe-gtk/setup.c:802 +msgid "Highlight:" +msgstr "Uthev:" + +#: src/fe-gtk/setup.c:803 +msgid "Away User:" +msgstr "" + +#: src/fe-gtk/setup.c:841 +msgid "Interface" +msgstr "Grensesnitt" + +#: src/fe-gtk/setup.c:842 +msgid "Text box" +msgstr "Tekstboks" + +#: src/fe-gtk/setup.c:843 +msgid "Input box" +msgstr "Inndataboks" + +#: src/fe-gtk/setup.c:844 +msgid "User list" +msgstr "Brukerliste" + +#: src/fe-gtk/setup.c:846 +msgid "Colors" +msgstr "Farger" + +#: src/fe-gtk/setup.c:848 +msgid "Chatting" +msgstr "Prating" + +#: src/fe-gtk/setup.c:849 +msgid "General" +msgstr "Generelt" + +#: src/fe-gtk/setup.c:850 +msgid "Logging" +msgstr "Logging" + +#: src/fe-gtk/setup.c:852 +msgid "Network" +msgstr "Nettverk" + +#: src/fe-gtk/setup.c:853 +msgid "Network setup" +msgstr "Nettverksoppsett" + +#: src/fe-gtk/setup.c:854 +msgid "File transfers" +msgstr "Filoverføringer" + +#: src/fe-gtk/setup.c:959 +msgid "Categories" +msgstr "Kategorier" + +#: src/fe-gtk/setup.c:1085 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" + +#: src/fe-gtk/setup.c:1112 +msgid "X-Chat: Preferences" +msgstr "X-Chat: Brukervalg" + +#: src/fe-gtk/textgui.c:184 +msgid "There was an error parsing the string" +msgstr "" + +#: src/fe-gtk/textgui.c:192 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:326 +msgid "Print Texts File" +msgstr "" + +#: src/fe-gtk/textgui.c:382 +msgid "Event" +msgstr "" + +#: src/fe-gtk/textgui.c:384 +msgid "Sound" +msgstr "Lyd" + +#: src/fe-gtk/textgui.c:386 +msgid "$ Number" +msgstr "" + +#: src/fe-gtk/textgui.c:396 +msgid "Edit Events" +msgstr "Rediger hendelser" + +#: src/fe-gtk/textgui.c:434 +msgid "Sound file: " +msgstr "Lydfil: " + +#: src/fe-gtk/textgui.c:469 +msgid "Save As" +msgstr "Lagre som" + +#: src/fe-gtk/textgui.c:474 +msgid "Load From" +msgstr "Last fra" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Test alle" + +#: src/fe-gtk/urlgrab.c:97 +msgid "URL" +msgstr "" + +#: src/fe-gtk/urlgrab.c:147 +msgid "Select a file to save to" +msgstr "Velg en fil å lagre til" + +#: src/fe-gtk/urlgrab.c:187 +msgid "X-Chat: URL Grabber" +msgstr "X-Chat: URL-henter" + +#: src/fe-gtk/urlgrab.c:200 +#, fuzzy +msgid "Clear list" +msgstr "Brukerliste" + +#: src/fe-gtk/urlgrab.c:202 +msgid "Copy selected URL" +msgstr "" + +#: src/fe-gtk/urlgrab.c:202 +msgid "Copy" +msgstr "" + +#: src/fe-gtk/urlgrab.c:204 +msgid "Save list to a file" +msgstr "" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "" + +#~ msgid "Error String" +#~ msgstr "Feilstreng" + +#, fuzzy +#~ msgid "Error name" +#~ msgstr "Feil" + +#~ msgid "Error string" +#~ msgstr "Feilstreng" + +#~ msgid "Proxy port:" +#~ msgstr "Proxy-port:" + +#~ msgid "Proxy type:" +#~ msgstr "Proxy-type:" + +#~ msgid "Client exiting" +#~ msgstr "Klienten avslutter" + +#~ msgid "OK" +#~ msgstr "OK" + +#, fuzzy +#~ msgid "(%s) Channel settings" +#~ msgstr "(%s) Instillinger for panel" + +#, fuzzy +#~ msgid "Only highlight tabs on channel messages" +#~ msgstr "Kun uthev kanalfaner for kanalmeldinger og handlinger" + +#~ msgid "port" +#~ msgstr "port" diff --git a/po/pa.po b/po/pa.po new file mode 100644 index 00000000..1e51c49b --- /dev/null +++ b/po/pa.po @@ -0,0 +1,5641 @@ +# translation of xchat-2.8.6.po to Punjabi +# translation of xchat-2.4.2.po to Punjabi +# This file is put in the public domain. +# +# Amanpreet Singh Alam <amanpreetalam@yahoo.com>, 2005. +# A S Alam <aalam@users.sf.net>, 2009. +msgid "" +msgstr "" +"Project-Id-Version: xchat-2.8.6\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2009-10-25 20:11+1100\n" +"PO-Revision-Date: 2009-04-01 21:38+0000\n" +"Last-Translator: A S Alam <aalam@users.sf.net>\n" +"Language-Team: Punjabi <punjabi-l10n@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "~/.xchat2 ਬਣਾ ਨਹੀਂ ਸਕਿਆ" + +#: src/common/cfgfiles.c:713 +msgid "I'm busy" +msgstr "ਮੈਂ ਰੁੱਝਿਆ ਹਾਂ" + +#: src/common/cfgfiles.c:714 +msgid "Leaving" +msgstr "ਹਟ ਪਿੱਛੇ ਫੇਰ ਮਿਲਾਗੇਂ" + +#: src/common/cfgfiles.c:761 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* IRC ਨੂੰ ਰੂਟ ਦੇ ਤੌਰ ਤੇ ਚਲਾਉਣਾ ਮੂਰਖਤਾ ਹੈ! ਤੁਹਾਨੂੰ ਇੱਕ\n" +" ਯੂਜ਼ਰ ਅਕਾਊਂਟ ਬਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ ਅਤੇ ਮੁੜ ਕੋਸ਼ਿਸ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ।\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "ਉਡੀਕ ਜਾਰੀ ਹੈ" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "ਐਕਟਿਵ" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "ਅਸਫਲ" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "ਸਮਾਪਤ" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:928 +msgid "Connect" +msgstr "ਕੁਨੈਕਟ" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "ਛੱਡਿਆ" + +#: src/common/dcc.c:1886 src/common/outbound.c:2451 +#, c-format +msgid "Cannot access %s\n" +msgstr "%s ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ\n" + +#: src/common/dcc.c:1887 src/common/text.c:1224 src/common/text.c:1262 +#: src/common/text.c:1273 src/common/text.c:1280 src/common/text.c:1293 +#: src/common/text.c:1310 src/common/text.c:1410 src/common/util.c:353 +msgid "Error" +msgstr "ਗਲਤੀ" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s \"%s\" ਭੇਜ ਰਿਹਾ ਹੈ। ਕੀ ਤੁਸੀਂ ਮਨਜ਼ੂਰ ਕਰਦੇ ਹੋ?" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "ਕੋਈ ਸਰਗਰਮ DCCs ਨਹੀਂ\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "ਹਾਂ " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "ਨਹੀਂ " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "ਤੁਹਾਨੂੰ %s ਤੋਂ CTCP ਹੜ੍ਹ ਨਾਲ ਭਰਨ ਦੀ ਕੋਸ਼ਿਸ, %s ਅਣਡਿੱਠਾ\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "ਤੁਹਾਨੂੰ %s ਤੋਂ MSG ਸੁਨੇਹੇ ਹਮਲੇ ਦਾ ਡਰ ਹੈ, gui_auto_open_dialog ਬੰਦ ਕੀਤਾ ਜਾਦਾ ਹੈ।\n" + +#: src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s ਮੌਕੇ ਤੇ ਹੈ\n" + +#: src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s ਮੌਕੇ ਤੇ ਨਹੀਂ ਹੈ\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "ਕੋਈ ਚੈਨਲ ਵਿੱਚ ਸ਼ਾਮਿਲ ਨਹੀਂ, ਕੋਸ਼ਿਸ ਕਰੋ /join #<channel>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "ਕੁਨੈਕਟ ਨਹੀਂ ਹੈ, ਕੋਸ਼ਿਸ ਕਰੋ /server <host> [<port>]\n" + +#: src/common/outbound.c:338 +#, c-format +msgid "Already marked away: %s\n" +msgstr "ਹਮੇਸ਼ਾ ਦੂਰ ਨਿਸ਼ਾਨਬੱਧ ਕਰੋ: %s\n" + +#: src/common/outbound.c:411 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1777 +msgid "I need /bin/sh to run!\n" +msgstr "ਮੈਨੂੰ ਚੱਲਣ ਲਈ /bin/sh ਚਾਹੀਦੀ ਹੈ!\n" + +#: src/common/outbound.c:2148 +msgid "Commands Available:" +msgstr "ਉਪਲੱਬਧ ਕਮਾਂਡਾਂ:" + +#: src/common/outbound.c:2162 +msgid "User defined commands:" +msgstr "ਯੂਜ਼ਰ ਰਾਹੀਂ ਪ੍ਰਭਾਸ਼ਿਤ ਕਮਾਂਡਾਂ:" + +#: src/common/outbound.c:2178 +msgid "Plugin defined commands:" +msgstr "" +"ਪਲੱਗਇਨ ਰਾਹੀਂ ਪ੍ਰਭਾਸ਼ਿਤ ਕਮਾਂਡਾਂ:\n" +"\n" +" " + +#: src/common/outbound.c:2189 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ ਲਿਖੋ /HELP <command> , ਜਾਂ /HELP -l" + +#: src/common/outbound.c:2274 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "ਅਣਜਾਣ ਆਰਗੂਮੈਂਟ '%s' ਅਣਡਿੱਠਾ ਕੀਤਾ।" + +#: src/common/outbound.c:3223 +msgid "No such plugin found.\n" +msgstr "ਇਸ ਤਰ੍ਹਾਂ ਦੀ ਕੋਈ ਪਲੱਗਇਨ ਨਹੀਂ ਹੈ।\n" + +#: src/common/outbound.c:3228 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "ਇਹ ਪਲੱਗਇਨ ਅਨਲੋਡ ਨਹੀਂ ਹੋ ਸਕਦੀ।\n" + +#: src/common/outbound.c:3497 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <name> <action>, ਯੂਜ਼ਰ ਲਿਸਟ ਹੇਠ ਬਟਨ ਸ਼ਾਮਿਲ ਕਰੋ" + +#: src/common/outbound.c:3499 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, ਉਹਨਾਂ ਸਭ ਚੈਨਲਾਂ ਨੂੰ ਕਮਾਂਡ ਭੇਜੋ, ਜਿੱਥੇ ਤੁਸੀਂ ਹੋ" + +#: src/common/outbound.c:3501 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <cmd>, ਉਹਨਾਂ ਸਭ ਚੈਨਲਾਂ ਨੂੰ ਕਮਾਂਡ ਭੇਜੋ, ਜਿੱਥੇ ਤੁਸੀਂ ਹੋ" + +#: src/common/outbound.c:3503 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, ਉਹਨਾਂ ਸਭ ਸਰਵਰਾਂ ਨੂੰ ਕਮਾਂਡ ਭੇਜੋ, ਜਿੱਥੇ ਤੁਸੀਂ ਹੋ" + +#: src/common/outbound.c:3504 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<reason>], ਤੁਸੀਂ ਜਾ ਰਹੇ ਹੋ ਦਰਸਾਉਦਾ ਹੈ" + +#: src/common/outbound.c:3505 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3507 +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 "" + +#: src/common/outbound.c:3508 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variable> [<value>]" + +#: src/common/outbound.c:3510 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR [ALL|HISTORY], Clears the current text window or command history" + +#: src/common/outbound.c:3511 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, ਮੌਜੂਦਾ ਵਿੰਡੋ/ਟੈਬ ਨੂੰ ਬੰਦ ਕਰੇਗਾ" + +#: src/common/outbound.c:3514 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|wildcard>, ਦੇਸ਼ ਕੋਡ ਲੱਭੋ, ਜਿਵੇਂ ਕਿ au = australia" + +#: src/common/outbound.c:3516 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:3518 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "" + +#: src/common/outbound.c:3520 +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 "" + +#: src/common/outbound.c:3532 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3534 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <name>, ਯੂਜ਼ਰ ਲਿਸਟ ਹੇਠ ਬਟਨ ਹਟਾਓ" + +#: src/common/outbound.c:3536 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3538 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3539 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, ਸਰਵਰ ਨਾਲ ਸੰਬੰਧ ਖਤਮ" + +#: src/common/outbound.c:3540 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS<nick।host।ip> ਯੂਜ਼ਰ IP ਨੰਬਰ ਲੱਭੋ" + +#: src/common/outbound.c:3541 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, ਲੋਕਲ ਟੈਕਸਟ ਛਾਪਿਆ ਜਾਵੇਗਾ" + +#: src/common/outbound.c:3544 +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 "" + +#: src/common/outbound.c:3546 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:3549 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:3551 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:3552 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:3556 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:3558 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:3562 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:3567 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3568 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <password>, ਨੈਕਸਰਵਰ ਨਾਲ ਆਪਣੀ ਪਛਾਣ ਕਰਵਾਓ" + +#: src/common/outbound.c:3570 +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 "" + +#: src/common/outbound.c:3577 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" +"INVITE <nick> [<channel>], ਕਿਸੇ ਨੂੰ ਇੱਕ ਚੈਨਲ ਵਿੱਚ ਆਉਣ ਲਈ ਸੱਦਾ ਦਿਓ, ਮੂਲ ਰੂਪ ਵਿੱਚ ਮੌਜੂਦਾ " +"ਚੈਨਲ ਲਈ (ਮੁੱਖੀ ਹੋਣਾ ਲਾਜ਼ਮੀ)" + +#: src/common/outbound.c:3578 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <channel>, ਚੈਨਲ ਵਿੱਚ ਸ਼ਾਮਿਲ ਹੋਣ ਲਈ" + +#: src/common/outbound.c:3580 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <nick>, ਮੌਜੂਦਾ ਚੈਨਲ ਵਿੱਚੋਂ ਨਾਂ ਨੂੰ ਬਾਹਰ ਸੁੱਟੋ (chanop ਹੋਣਾ ਲਾਜ਼ਮੀ)" + +#: src/common/outbound.c:3582 +msgid "" +"KICKBAN <nick>, bans then kicks the nick from the current channel (needs " +"chanop)" +msgstr "" + +#: src/common/outbound.c:3585 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:3587 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <string>, ਬਫਰ ਵਿੱਚ ਸਤਰ ਖੋਜੋ" + +#: src/common/outbound.c:3589 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <file>, ਪਲੱਗਇਨ ਜਾਂ ਸਕ੍ਰਿਪਟ ਲੋਡ ਕਰੋ" + +#: src/common/outbound.c:3592 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3594 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3596 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in " +"the 3rd person, like /me jumps)" +msgstr "" +"ME <action>, ਚੈਨਲ ਵਿੱਚ ਕਾਰਵਾਈ ਕਰੋ (ਕਾਰਵਾਈ ਤੀਜੇ ਵਿਅਕਤੀ ਦੇ ਤੌਰ ਤੇ ਕੀਤੀ ਜਾਵੇਗੀ, ਜਿਵੇਂ /me " +"ਚੱਲਿਆ)" + +#: src/common/outbound.c:3600 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" +"MKICK, ਮਾਸ ਕਿੱਕ, ਮੌਜੂਦਾ ਚੈਨਲ ਵਿੱਚ ਆਪਣੇ ਆਪ ਨੂੰ ਛੱਡ ਕੇ ਸਭ ਨੂੰ ਬਾਹਰ ਸੁੱਟੋ (ਮੁੱਖੀ ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ)" + +#: src/common/outbound.c:3603 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3604 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <nick> <message>, ਨਿੱਜੀ ਸੁਨੇਹਾ ਭੇਜਣ ਲਈ" + +#: src/common/outbound.c:3607 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, ਮੌਜੂਦਾ ਚੈਨਲ ਤੇ ਨਾਂ ਦੀ ਲਿਸਟ" + +#: src/common/outbound.c:3609 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <message>, ਇੱਕ CTCP ਸੂਚਨਾ ਭੇਜੋ" + +#: src/common/outbound.c:3610 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostname> [<port>]" + +#: src/common/outbound.c:3611 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nickname>, ਆਪਣਾ ਨਾਂ ਦਿਓ" + +#: src/common/outbound.c:3614 +msgid "" +"NOTICE <nick/channel> <message>, sends a notice. Notices are a type of " +"message that should be auto reacted to" +msgstr "" + +#: src/common/outbound.c:3616 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:3618 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>, ਚੈਨਲ ਮੁੱਖੀ ਸਥਿਤੀ ਨਾਂ ਨੂੰ ਦਿਓ (ਚੈਨਲ ਮੁੱਖੀ ਹੋਣਾ ਲਾਜ਼ਮੀ)" + +#: src/common/outbound.c:3620 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<channel>] [<reason>], ਚੈਨਲ ਛੱਡੋ, ਮੂਲ ਰੂਪ ਵਿੱਚ ਮੌਜੂਦਾ" + +#: src/common/outbound.c:3622 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | channel>, CTCP ਨਾਂ ਜਾਂ ਚੈਨਲ ਨੂੰ ਪਿੰਗ ਕਰੇਗਾ" + +#: src/common/outbound.c:3624 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" + +#: src/common/outbound.c:3626 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reason>], ਮੌਜੂਦਾ ਸਰਵਰ ਨਾਲੋਂ ਵੱਖ" + +#: src/common/outbound.c:3628 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "" + +#: src/common/outbound.c:3631 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /" +"RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:3634 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" + +#: src/common/outbound.c:3636 +msgid "" +"RECV <text>, send raw data to xchat, as if it was received from the irc " +"server" +msgstr "" + +#: src/common/outbound.c:3639 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>, ਮੌਜੂਦਾ ਝਰੋਖੇ ਵਿੱਚ ਇਕਾਈ ਨੂੰ ਲਿਖੋ" + +#: src/common/outbound.c:3640 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<file>]" + +#: src/common/outbound.c:3643 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <channel>, ਕੁਨੈਕਟ ਅਤੇ ਚੈਨਲ ਵਿੱਚ ਸ਼ਾਮਲ" + +#: src/common/outbound.c:3646 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <channel>, ਕੁਨੈਕਟ ਅਤੇ ਚੈਨਲ ਵਿੱਚ ਸ਼ਾਮਲ" + +#: src/common/outbound.c:3650 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" +"SERVER [-ssl] <host> [<port>] [<password>], ਸਰਵਰ ਨਾਲ ਜੋੜਦੀ ਹੈ, ਸਧਾਰਨ ਕੁਨੈਕਸ਼ਨਾਂ ਲਈ " +"ਮੂਲ ਪੋਰਟ 6667 ਹੈ, ਅਤੇ SSL ਕੁਨੈਕਸ਼ਨਾਂ ਲਈ 9999 ਹੈ।" + +#: src/common/outbound.c:3653 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<port>] [<password>], ਸਰਵਰ ਨਾਲ ਜੁੜੋ, ਮੂਲ ਪੋਰਟ 6667 ਹੈ।" + +#: src/common/outbound.c:3655 +#, fuzzy +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-or] [-quiet] <variable> [<value>]" + +#: src/common/outbound.c:3656 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<position>" + +#: src/common/outbound.c:3661 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<topic>], ਜੇਕਰ ਕੋਈ ਦਿੱਤਾ ਹੋਵੇ ਤਾਂ ਲਗਾਉ, ਨਹੀਂ ਤਾਂ ਮੌਜੂਦਾ ਵੇਖਾਇਆ ਜਾਵੇਗਾ" + +#: src/common/outbound.c:3663 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:3670 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], ਖਾਸ ਮਾਸਕ ਤੇ ਪਾਬੰਦੀ ਹਟਾਓ।" + +#: src/common/outbound.c:3671 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:3672 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <name>, ਪਲੱਗਇਨ ਜਾਂ ਸਕ੍ਰਿਪਟ ਹਟਾਓ" + +#: src/common/outbound.c:3673 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, ਆਪਣੇ ਬਰਾਊਜ਼ਰ ਵਿੱਚ URL ਖੋਲ੍ਹੋ" + +#: src/common/outbound.c:3675 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "" + +#: src/common/outbound.c:3678 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>, ਕਿਸੇ ਨੂੰ ਆਵਾਜ਼ ਦਿਓ (chanop ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ)" + +#: src/common/outbound.c:3680 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <message>, ਸਭ ਚੈਨਲ ਵਿੱਚ ਸੁਨੇਹਾ ਲਿਖੋ" + +#: src/common/outbound.c:3682 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <message>, ਮੌਜੂਦਾ ਚੈਨਲ ਵਿੱਚ ਸਭ ਚੈਨਲ ਮੁੱਖੀਆਂ ਨੂੰ ਸੁਨੇਹਾ ਭੇਜੋ" + +#: src/common/outbound.c:3715 +#, c-format +msgid "Usage: %s\n" +msgstr "ਵਰਤੋਂ: %s\n" + +#: src/common/outbound.c:3720 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"ਇਸ ਕਮਾਂਡ ਲਈ ਕੋਈ ਮੱਦਦ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ।\n" + +#: src/common/outbound.c:3726 +msgid "No such command.\n" +msgstr "ਇਸਤਰਾਂ ਦੀ ਕੋਈ ਕਮਾਂਡ ਨਹੀਂ ਹੈ।\n" + +#: src/common/outbound.c:4057 +msgid "Bad arguments for user command.\n" +msgstr "ਯੂਜ਼ਰ ਕਮਾਂਡ ਲਈ ਗਲਤ ਆਰਗੂਮੈਂਟ।\n" + +#: src/common/outbound.c:4217 +msgid "Too many recursive usercommands, aborting." +msgstr "ਲਗਾਤਾਰ ਕਈ ਯੂਜ਼ਰ ਕਮਾਡਾਂ, ਅਧੂਰਾ ਛੱਡਿਆ।" + +#: src/common/outbound.c:4300 +msgid "Unknown Command. Try /help\n" +msgstr "ਅਣਜਾਣੀ ਕਮਾਂਡ, ਕੋਸ਼ਿਸ ਕਰੋ /help\n" + +#: src/common/plugin.c:356 src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "ਕੋਈ xchat_plugin_init ਨਹੀਂ, ਕੀ ਇਹ xchat ਪਲੱਗਇਨ ਹੈ?" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "ਕੀ ਤੁਸੀਂ SSL ਅਨੁਕੂਲ ਸਰਵਰ ਤੇ ਪੋਰਟ ਹੋਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦੇ ਹੋ?\n" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"ਹੋਸਟ %s ਨਹੀਂ ਲੱਭਿਆ ਜਾ ਸਕਿਆ\n" +"ਆਪਣੀ IP ਸੈਟਿੰਗ ਵੇਖੋ!\n" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "ਪਰਾਕਸੀ ਸੰਚਾਰ ਅਸਫਲ।\n" + +#: src/common/servlist.c:646 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "%s ਵਿੱਚ ਅਗਲੇ ਸਰਵਰ ਨਾਲ ਕੋਸ਼ਿਸ ਜਾਰੀ...\n" + +#: src/common/servlist.c:1097 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "ਚੇਤਾਵਨੀ: \"%s\" ਅੱਖਰ ਸਮੂਹ ਅਣਜਾਣ ਹੈ। ਨੈੱਟਵਰਕ %s ਲਈ ਅਨੁਵਾਦ ਲਾਗੂ ਨਹੀਂ ਹੈ।" + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 ਨੂੰ ਸੂਚਨਾ ਲਿਸਟ ਵਿੱਚ ਸ਼ਾਮਿਲ ਕੀਤਾ।" + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 ਪਾਬੰਦੀ ਲਿਸਟ:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$t %C26 %B$1 %O ਵਿੱਚ ਦਾਖਲ ਨਹੀ ਹੋ ਸਕਦੇ (ਤੁਹਾਡੇ ਉੱਤੇ ਪਾਬੰਦੀ ਹੈ)।" + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 ਨੂੰ ਹੁਣ $2 ਦੇ ਤੌਰ ਉੱਤੇ ਜਾਣਿਆ ਜਾਵੇਗਾ" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 ਨੇ $2 ਉੱਤੇ ਪਾਬੰਦੀ ਲਗਾਈ" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tਚੈਨਲ $1 ਨੂੰ $2 ਤੇ ਬਣਾਇਆ ਗਿਆ ਹੈ" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O ਨੇ%C26 $2 ਤੋਂ ਚੈਨਲ ਅਰਧ-ਮੁੱਖੀ ਅਹੁਦਾ ਹਟਾਇਆ" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O ਨੇ%C26 $2 ਤੋਂ ਚੈਨਲ ਮੁੱਖੀ ਅਹੁਦਾ ਹਟਾਇਆ" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O ਨੇ %C26 $2 ਤੋਂ ਆਵਾਜ਼ ਹਟਾਈ" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O ਨੇ %C26 $2 ਨੂੰ ਅੱਧੇ-ਮੁੱਖੀ ਦਾ ਅਹੁਦਾ ਦਿੱਤਾ" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 ਨੇ $2 ਤੇ ਸੱਦਾ ਲਗਾਇਆ" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%Uਚੈਨਲ ਯੂਜ਼ਰ ਵਿਸ਼ਾ" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 ਢੰਗ $2$3 $4 ਦਿੱਤਾ" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "C22*%O$t%C22ਚੈਨਲ $1 ਮੋਡ: $2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O ਨੇ %C26 $2 ਨੂੰ ਚੈਨਲ ਮੁੱਖੀ ਦਾ ਦਰਜਾ ਦਿੱਤਾ" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 ਨੇ $2 ਤੋਂ ਸੱਦਾ ਹਟਾਇਆ" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 ਨੇ ਚੈਨਲ ਸ਼ਬਦ ਹਟਾਇਆ" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 ਨੇ ਯੂਜ਼ਰ ਸੀਮਾ ਹਟਾਈ" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 ਨੇ $2 ਲਈ ਚੈਨਲ ਸ਼ਬਦ ਲਗਾਇਆ" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 ਨੇ ਚੈਨਲ ਸੀਮਾ $2 ਕੀਤੀ" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 ਨੇ $2 ਤੋਂ ਪਾਬੰਦੀ ਹਟਾਈ" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O ਨੇ %C26 $2 ਲਈ ਆਵਾਜ਼ ਦਿੱਤੀ" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22ਕੁਨੈਕਟ ਹੈ। ਹੁਣ ਲਾਗਇਨ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22($2) ਨਾਲ ਪੋਰਟ $3%O ਉੱਤੇ ਕੁਨੈਕਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21ਕੁਨੈਕੁਸ਼ਨ ਅਸਫਲ ਹੈ। ਗਲਤੀ: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tਇੱਕ CTCP $1 $2 ਵੱਲੋਂ ਪ੍ਰਾਪਤ ਹੋਈ" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tਇੱਕ CTCP $1 $2 ਵੱਲੋਂ ਪ੍ਰਾਪਤ ਹੋਈ ($3 ਲਈ)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tCTCP ਆਵਾਜ਼ $1 $2 ਵੱਲੋਂ ਆਈ ਹੈ" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tਇੱਕ CTCP $1 ਧੁਨੀ $2 (to $3) ਵਲੋਂ ਮਿਲੀ" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$t%C26$1%O ਨਾਲ DCC ਗੱਲਬਾਤ ਅਧੂਰੀ ਰਹੀ।" + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$t%C26$1 %C30[%O$2%C30] ਨਾਲ DCC ਗੱਲਬਾਤ ਕੁਨੈਕਸ਼ਨ ਬਣਾਇਆ ਗਿਆ" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$t %C26$1%O ਨਾਲ DCC ਗੱਲਬਾਤ ਖਤਮ ($4)।" + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$t $1 ਵਲੋਂ DCC ਗੱਲਬਾਤ ਲਈ ਸੱਦਾ ਆਇਆ ਹੈ" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$t $1 ਨੂੰ DCC ਗੱਲਬਾਤ ਲਈ ਸੱਦਾ ਦੇ ਰਿਹਾ ਹੈ" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$t $1 ਨਾਲ ਪਹਿਲਾਂ ਹੀ ਗੱਲਬਾਤ ਲਈ ਸੱਦਾ ਦਿੱਤਾ ਗਿਆ ਹੈ" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 %C26 $2%O ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਅਸਫਲ (ਗਲਤੀ=$3)" + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$t $2 ਵਲੋਂ '$1%O' ਪ੍ਰਾਪਤ" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 ਕਿਸਮ ਵੱਲ/ਵੱਲੋਂ ਸਥਿਤੀ ਅਕਾਰ Pos ਫਾਇਲ " + +#: src/common/textevents.h:147 +msgid "" +"%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O" +"$tContents of packet: $2" +msgstr "" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tਨੇ%C26 $1%O %C26 $2 ਨੂੰ ਪੇਸ਼ ਕੀਤੀ" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tਏਦਾਂ ਦਾ ਕੋਈ DCC ਸੱਦਾ ਨਹੀਂ ਹੈ।" + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O ਅਧੂਰਾ ਛੱਡਿਆ।" + +#: src/common/textevents.h:159 +msgid "" +"%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tDCC RECV%C26 $1%O, %C26 $3%O ਤੋਂ ਮੁਕੰਮਲ %C30[%C26$4%O cps%C30]%O" + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC RECV%C26 $1 %C30[%O$2%C30] ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਬਣਿਆ" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O ਤੋਂ%C26 $3%O ਤੋਂ ਪ੍ਰਾਪਤੀ ਅਸਫਲ($4)" + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: $1ਨੂੰ ($2) ਲਿਖਣ ਲਈ ਖੋਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ।" + +#: src/common/textevents.h:171 +msgid "" +"%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "" +"%C22*%O$tਫਾਇਲ%C26 $1%C ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ, %C26 $2%O ਦੇ ਤੌਰ ਤੇ ਸੰਭਾਲੀ ਜਾ ਰਹੀ ਹੈ।" + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Oਨੇ%C26 $2 %Cਨੂੰ%C26 $3%C ਤੋਂ ਮੁੜ-ਪ੍ਰਾਪਤੀ ਦੀ ਮੰਗ ਰੱਖੀ।" + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O ਅਧੂਰਾ ਛੱਡਿਆ।" + +#: src/common/textevents.h:180 +msgid "" +"%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O ਮੁਕੰਮਲ %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC SEND %C26 $1 %C30[%O$2%C30] ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਬਣਿਆ" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O ਅਸਫਲ $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Oਨੇ %C26 $2 %O(%C26$3 %Oਬਾਇਟ) ਫਾਇਲ ਭੇਜੀ" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cਸਥਿਰ - ਅਧੂਰਾ ਛੱਡਿਆ" + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Oਸਮਾਂ ਸਮਾਪਤ - ਅਧੂਰਾ ਛੱਡਿਆ।" + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 ਨੂੰ ਸੂਚਨਾ ਤੋਂ ਹਟਾਇਆ।" + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$t ($1) ਬੰਦ ਹੋਇਆ ਹੈ।" + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tਤੁਹਾਡਾ IP ਖੋਜਿਆ: [$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O ਨੂੰ ਅਣਡਿੱਠੀ ਲਿਸਟ ਵਿੱਚ ਸ਼ਾਮਿਲ ਕੀਤਾ।" + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "%C26$1%O ਤਬਦੀਲੀ ਅਣਡਿੱਠਾ।" + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 ਹੋਸਟ ਮਾਸਕ PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O ਨੂੰ ਅਣਡਿੱਠਾ ਲਿਸਟ ਵਿੱਚੋਂ ਹਟਾਇਆ।" + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " ਅਣਡਿੱਠਾ ਲਿਸਟ ਖਾਲੀ ਹੈ।" + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$t%C26 %B$1 %O ਵਿੱਚ ਦਾਖਲ ਨਹੀਂ ਹੋ ਸਕਦੇ (ਚੈਨਲ ਹੀ ਸੱਦ ਸਕਦਾ ਏ)।" + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tਤੁਹਾਨੂੰ%C26 $1%O by%C26 $2%C (%C26$3%C) ਲਈ ਸੱਦਾ ਹੈ" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) $2 ਵਿੱਚ ਦਾਖਲ" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$t%C26 %B$1 %O ਵਿੱਚ ਦਾਖਲ ਨਹੀਂ ਹੋ ਸਕਦੇ(ਸ਼ਬਦ ਲੋੜੀਦਾ ਹੈ)।" + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 ਨੇ $2 ਨੂੰ $3 ($4%O%C21) ਤੋਂ ਬਾਹਰ ਸੁੱਟ ਦਿੱਤਾ" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tਤੁਹਾਨੂੰ $1 ($2%O%C22) ਨੇ ਚੈਨਲ ਵਿੱਚੋਂ ਬਾਹਰ ਸੁੱਟ ਦਿੱਤਾ" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD ਅਧੂਰਾ ਛੱਡਿਆ ਹੈ।" + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 ਪਹਿਲਾਂ ਹੀ ਵਰਤੋਂ ਅਧੀਨ ਹੈ। $2 ਨਾਲ ਮੁੜ ਕੋਸ਼ਿਸ ਜਾਰੀ..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tਨਾਂ ਪਹਿਲਾਂ ਹੀ ਵਰਤੋਂ ਅਧੀਨ ਹੈ। ਹੋਰ ਵਰਤਣ ਲਈ /NICK ਦੀ ਵਰਤੋਂ ਕਰੋ।" + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tਏਦਾਂ ਦਾ ਕੋਈ DCC ਨਹੀਂ ਹੈ।" + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tਇਸ ਸਮੇਂ ਕੋਈ ਕਾਰਜ ਨਹੀਂ ਚੱਲ ਨਹੀਂ ਰਿਹਾ ਹੈ।" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tਸੂਚਨਾ ਲਿਸਟ ਖਾਲੀ ਹੈ।" + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B ਸੂਚਨਾ ਲਿਸਟ " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 ਯੂਜ਼ਰ ਸੂਚਨਾ ਲਿਸਟ ਵਿੱਚ ਹੈ।" + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tਸੂਚਨਾ: $1 ਆਫਲਾਈਨ ਹੈ ($3)।" + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tਸੂਚਨਾ: $1 ਆਨਲਾਈਨ ਹੈ ($3)।" + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) ਛੱਡ ਗਿਆ ਹੈ $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) ਨੇ $3 (%O%C23%B%B$4%O%C23) ਛੱਡਿਆ" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$t$1ਤੋਂ ਪਿੰਗ ਜਵਾਬ: $2 ਸਕਿੰਟ" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$t$1 ਸਕਿੰਟਾਂ ਤੋਂ ਕੋਈ ਜਵਾਬ ਨਹੀ, ਕੁਨੈਕਸ਼ਨ ਨਹੀਂ ਹੈ।" + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tਇੱਕ ਕਾਰਜ ਪਹਿਲਾਂ ਹੀ ਚੱਲ ਰਿਹਾ ਹੈ" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 ਨੇ ਬੰਦ ਕੀਤਾ ਹੈ (%O%C23$2)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 ਨੇ ਢੰਗ%B %C30[%O$2%B%C30] ਦਿੱਤਾ" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$t%C26 $1%O ਲਈ IP ਨੰਬਰ ਦੀ ਖੋਜ ਜਾਰੀ ਹੈ..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22ਜੁੜਿਆ ਹੈ।" + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22 $1 ਦੀ ਖੋਜ ਜਾਰੀ ਹੈ" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tਪੁਰਾਣੀ ਕੁਨੈਕਸ਼ਨ ਕੋਸ਼ਿਸ ਰੋਕੀ (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29 $1%C %C29 ਲਈ ਵਿਸ਼ਾ ਹੈ: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 ਨੇ ਵਿਸ਼ਾ ਤਬਦੀਲ ਕੀਤਾ: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29$1%C %C29 ਲਈ ਵਿਸ਼ਾ $2%C %C29 ਨੇ $3 ਵਜੇ ਦਿੱਤਾ" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tਅਣਜਾਣ ਹੋਸਟ, ਸ਼ਾਇਦ ਤੁਸੀਂ ਨਾਂ ਗਲਤ ਲਿਖਿਆ ਹੈ?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$t%C26 %B$1 %O ਵਿੱਚ ਦਾਖਲ ਨਹੀਂ ਹੋ ਸਕਦੇ (ਯੂਜ਼ਰ ਸੀਮਾ ਟੱਪੀ)।" + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26$1 ਉੱਤੇ ਯੂਜ਼ਰ:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cਦੂਰ %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OWHOIS ਲਿਸਟ ਖਤਮ।" + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O ਵਿਹਲਾ%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O ਵਿਹਲਾ%C26 $2%O, ਦਾਖਲ:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Oਅਸਲੀ user@host%C27 $2%O, ਅਸਲੀ IP%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19ਹੁਣ $2 'ਤੇ ਗੱਲਬਾਤ ਕਰ ਰਹੇ ਹੋ" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tਤੁਹਾਨੂੰ $2 ਤੋਂ $3 ($4%O%C23) ਨੇ ਬਾਹਰ ਸੁੱਟ ਦਿੱਤਾ" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tਤੁਸੀਂ $3 ਚੈਨਲ ਛੱਡਿਆ" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tਤੁਸੀਂ $3 (%O%C23%B%B$4%O%C23) ਚੈਨਲ ਛੱਡਿਆ" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tਤੁਹਾਨੂੰ%C26 $1%O ਤੋਂ%C26 $2%O (%C26$3%O) ਤੇ ਸੱਦਿਆ ਗਿਆ" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tਹੁਣ ਤੁਸੀਂ ਜਾਣੇ ਜਾਓਗੇ $2" + +#: src/common/text.c:318 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:336 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** %s ਉੱਤੇ ਲਾਗ ਸਮਾਪਤ\n" + +#: src/common/text.c:545 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** %s ਉਤੇ ਲਾਗ ਸ਼ੁਰੂ \n" + +#: src/common/text.c:564 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* ਲਿਖਣ ਲਈ ਲਾਗ ਫਾਇਲ ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ।\n" +" %s/xchatlogs ਅਧਿਕਾਰਾਂ ਦੀ ਪੜਤਾਲ ਕਰੋ।" + +#: src/common/text.c:931 +msgid "Left message" +msgstr "ਖੱਬਾ ਸੁਨੇਹਾ" + +#: src/common/text.c:932 +msgid "Right message" +msgstr "ਸੱਜਾ ਸੁਨੇਹਾ" + +#: src/common/text.c:936 +msgid "The nick of the joining person" +msgstr "ਜੁਆਇੰਨ ਹੋਏ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:937 +msgid "The channel being joined" +msgstr "ਚੈਲਨ ਵਿੱਚ ਜੁਆਇੰਨ ਕੀਤਾ" + +#: src/common/text.c:938 src/common/text.c:985 src/common/text.c:1036 +msgid "The host of the person" +msgstr "ਵਿਅਕਤੀ ਦਾ ਹੋਸਟ" + +#: src/common/text.c:942 src/common/text.c:948 src/common/text.c:955 +#: src/common/text.c:1143 src/common/text.c:1150 src/common/text.c:1155 +#: src/common/text.c:1160 src/common/text.c:1165 src/common/text.c:1171 +#: src/common/text.c:1176 src/common/text.c:1180 src/common/text.c:1186 +#: src/common/text.c:1192 src/common/text.c:1238 src/common/text.c:1249 +#: src/common/text.c:1254 src/common/text.c:1259 src/common/text.c:1268 +#: src/common/text.c:1279 src/common/text.c:1286 src/common/text.c:1292 +#: src/common/text.c:1297 src/common/text.c:1302 src/common/text.c:1309 +#: src/common/text.c:1315 src/common/text.c:1321 src/common/text.c:1326 +#: src/common/text.c:1331 src/common/text.c:1335 src/common/text.c:1341 +#: src/common/text.c:1349 src/common/text.c:1383 src/common/text.c:1388 +msgid "Nickname" +msgstr "ਆਮ ਨਾਂ" + +#: src/common/text.c:943 +msgid "The action" +msgstr "ਕਾਰਵਾਈ" + +#: src/common/text.c:944 src/common/text.c:950 +msgid "Mode char" +msgstr "ਮੋਡ ਅੱਖਰ" + +#: src/common/text.c:949 +msgid "The text" +msgstr "ਟੈਕਸਟ" + +#: src/common/text.c:951 src/common/text.c:957 +msgid "Identified text" +msgstr "ਪਛਾਣ ਟੈਕਸਟ" + +#: src/common/text.c:956 src/common/text.c:1013 src/common/text.c:1019 +msgid "The message" +msgstr "ਸੁਨੇਹਾ" + +#: src/common/text.c:961 src/common/text.c:1023 +msgid "Old nickname" +msgstr "ਪੁਰਾਣਾ ਨਾਂ" + +#: src/common/text.c:962 src/common/text.c:1024 +msgid "New nickname" +msgstr "ਨਵਾਂ ਨਾਂ" + +#: src/common/text.c:966 +msgid "Nick of person who changed the topic" +msgstr "ਜਿਸ ਨੇ ਵਿਸ਼ਾ ਤਬਦੀਲ ਕੀਤਾ ਹੈ, ਉਸ ਦਾ ਨਾਂ" + +#: src/common/text.c:967 src/common/text.c:973 src/fe-gtk/chanlist.c:766 +#: src/fe-gtk/chanlist.c:869 +msgid "Topic" +msgstr "ਵਿਸ਼ਾ" + +#: src/common/text.c:968 src/common/text.c:972 src/common/text.c:1403 +#: src/fe-gtk/chanlist.c:764 src/fe-gtk/ignoregui.c:176 +#: src/fe-gtk/servlistgui.c:896 +msgid "Channel" +msgstr "ਚੈਨਲ" + +#: src/common/text.c:977 src/common/text.c:1030 +msgid "The nickname of the kicker" +msgstr "ਸੁੱਟਣ ਵਾਲੇ ਦਾ ਨਾਂ" + +#: src/common/text.c:978 src/common/text.c:1028 +msgid "The person being kicked" +msgstr "ਸੁੱਟਿਆ ਗਿਆ ਵਿਅਕਤੀ" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:990 +#: src/common/text.c:995 src/common/text.c:1029 src/common/text.c:1037 +#: src/common/text.c:1044 +msgid "The channel" +msgstr "ਚੈਨਲ" + +#: src/common/text.c:980 src/common/text.c:1031 src/common/text.c:1038 +msgid "The reason" +msgstr "ਕਾਰਨ" + +#: src/common/text.c:984 src/common/text.c:1035 +msgid "The nick of the person leaving" +msgstr "ਜਾ ਰਹੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:991 src/common/text.c:997 +msgid "The time" +msgstr "ਸਮਾਂ" + +#: src/common/text.c:996 +msgid "The creator" +msgstr "ਨਿਰਮਾਤਾ" + +#: src/common/text.c:1001 src/fe-gtk/dccgui.c:763 src/fe-gtk/dccgui.c:996 +msgid "Nick" +msgstr "ਨਾਂ" + +#: src/common/text.c:1002 src/common/text.c:1255 +msgid "Reason" +msgstr "ਕਾਰਨ" + +#: src/common/text.c:1003 src/common/text.c:1145 src/common/text.c:1228 +msgid "Host" +msgstr "ਹੋਸਟ" + +#: src/common/text.c:1007 src/common/text.c:1012 src/common/text.c:1017 +msgid "Who it's from" +msgstr "ਕਿਸ ਵੱਲੋਂ ਹੈ" + +#: src/common/text.c:1008 +msgid "The time in x.x format (see below)" +msgstr "ਸਮਾਂ x.x ਫਾਰਮੈਟ ਵਿੱਚ (ਹੇਠਾਂ ਵੇਖੋ)" + +#: src/common/text.c:1018 src/common/text.c:1055 +msgid "The Channel it's going to" +msgstr "ਚੈਨਲ ਇਹ ਜਾ ਰਿਹਾ ਹੈ" + +#: src/common/text.c:1042 +msgid "The sound" +msgstr "ਸਾਊਂਡ" + +#: src/common/text.c:1043 src/common/text.c:1049 src/common/text.c:1054 +msgid "The nick of the person" +msgstr "ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1048 src/common/text.c:1053 +msgid "The CTCP event" +msgstr "CTCP ਘਟਨਾ" + +#: src/common/text.c:1059 +msgid "The nick of the person who set the key" +msgstr "ਕੁੰਜੀ ਦੇਣ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1060 +msgid "The key" +msgstr "ਕੁੰਜੀ" + +#: src/common/text.c:1064 +msgid "The nick of the person who set the limit" +msgstr "ਲਿਮਟ ਲਗਾਉਣ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1065 +msgid "The limit" +msgstr "ਲਿਮਟ" + +#: src/common/text.c:1069 +msgid "The nick of the person who did the op'ing" +msgstr "" + +#: src/common/text.c:1070 +msgid "The nick of the person who has been op'ed" +msgstr "" + +#: src/common/text.c:1074 +msgid "The nick of the person who has been halfop'ed" +msgstr "" + +#: src/common/text.c:1075 +msgid "The nick of the person who did the halfop'ing" +msgstr "" + +#: src/common/text.c:1079 +msgid "The nick of the person who did the voice'ing" +msgstr "ਆਵਾਜ਼ ਦੇਣ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1080 +msgid "The nick of the person who has been voice'ed" +msgstr "ਆਵਾਜ਼ ਪ੍ਰਾਪਤ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1084 +msgid "The nick of the person who did the banning" +msgstr "ਪਾਬੰਦੀ ਲਗਾਉਣ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1085 src/common/text.c:1112 +msgid "The ban mask" +msgstr "ਪਾਬੰਦੀ ਮਾਸਕ" + +#: src/common/text.c:1089 +msgid "The nick who removed the key" +msgstr "ਕੁੰਜੀ ਹਟਾਉਣ ਵਾਲੇ ਦਾ ਨਾਂ" + +#: src/common/text.c:1093 +msgid "The nick who removed the limit" +msgstr "ਲਿਮਟ ਹਟਾਉਣ ਵਾਲੇ ਦਾ ਨਾਂ" + +#: src/common/text.c:1097 +msgid "The nick of the person of did the deop'ing" +msgstr "" + +#: src/common/text.c:1098 +msgid "The nick of the person who has been deop'ed" +msgstr "" + +#: src/common/text.c:1101 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1102 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "" + +#: src/common/text.c:1106 +msgid "The nick of the person of did the devoice'ing" +msgstr "ਨਾ-ਅਵਾਜ਼ ਕਰਨ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1107 +msgid "The nick of the person who has been devoice'ed" +msgstr "ਨਾ-ਆਵਾਜ਼ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1111 +msgid "The nick of the person of did the unban'ing" +msgstr "ਨਾ-ਪਾਬੰਦੀ ਕਰਨ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1116 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:1117 src/common/text.c:1122 +msgid "The exempt mask" +msgstr "" + +#: src/common/text.c:1121 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the invite" +msgstr "ਸੱਦਾ ਭੇਜਣ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1127 src/common/text.c:1132 +msgid "The invite mask" +msgstr "ਸੱਦਾ ਮਾਸਕ" + +#: src/common/text.c:1131 +msgid "The nick of the person removed the invite" +msgstr "ਸੱਦੇ ਨੂੰ ਹਟਾਉਣ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1136 +msgid "The nick of the person setting the mode" +msgstr "ਢੰਗ ਦੇਣ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1137 +msgid "The mode's sign (+/-)" +msgstr "ਢੰਗ ਨਿਸ਼ਾਨ (+/-)" + +#: src/common/text.c:1138 +msgid "The mode letter" +msgstr "ਢੰਗ ਅੱਖਰ" + +#: src/common/text.c:1139 +msgid "The channel it's being set on" +msgstr "ਚੈਨਲ ਦਿੱਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: src/common/text.c:1144 +msgid "Username" +msgstr "ਯੂਜ਼ਰ ਨਾਂ" + +#: src/common/text.c:1146 +msgid "Full name" +msgstr "ਪੂਰਾ ਨਾਂ" + +#: src/common/text.c:1151 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "ਚੈਨਲ ਮੈਂਬਰੀ /\"ਇੱਕ IRC ਓਪਰੇਟਰ ਹੈ\"" + +#: src/common/text.c:1156 +msgid "Server Information" +msgstr "ਸਰਵਰ ਜਾਣਕਾਰੀ" + +#: src/common/text.c:1161 src/common/text.c:1166 +msgid "Idle time" +msgstr "ਵਿਹਲਾ ਸਮਾਂ" + +#: src/common/text.c:1167 +msgid "Signon time" +msgstr "ਦਾਖਲਾ ਸਮਾਂ" + +#: src/common/text.c:1172 +msgid "Away reason" +msgstr "ਜਾਣ ਦਾ ਕਾਰਨ " + +#: src/common/text.c:1181 src/common/text.c:1187 src/common/text.c:1195 +#: src/common/text.c:1375 +msgid "Message" +msgstr "ਸੁਨੇਹਾ" + +#: src/common/text.c:1188 +msgid "Account" +msgstr "ਅਕਾਊਂਟ" + +#: src/common/text.c:1193 +msgid "Real user@host" +msgstr "ਅਸਲੀ user@host" + +#: src/common/text.c:1194 +msgid "Real IP" +msgstr "ਅਸਲੀ IP" + +#: src/common/text.c:1199 src/common/text.c:1208 src/common/text.c:1214 +#: src/common/text.c:1244 src/common/text.c:1398 +msgid "Channel Name" +msgstr "ਚੈਨਲ ਨਾਂ" + +#: src/common/text.c:1203 src/common/text.c:1361 src/fe-gtk/menu.c:1404 +#: src/fe-gtk/menu.c:1592 src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "ਟੈਕਸਟ" + +#: src/common/text.c:1204 src/common/text.c:1210 src/common/text.c:1239 +#: src/common/text.c:1357 src/common/text.c:1399 +msgid "Server Name" +msgstr "ਸਰਵਰ ਨਾਂ" + +#: src/common/text.c:1209 +msgid "Nick of person who invited you" +msgstr "ਸੱਦਣ ਲਈ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1215 src/fe-gtk/chanlist.c:765 +msgid "Users" +msgstr "ਯੂਜ਼ਰ" + +#: src/common/text.c:1219 +msgid "Nickname in use" +msgstr "ਵਰਤੋਂ ਵਿੱਚ ਆਮ ਨਾਂ" + +#: src/common/text.c:1220 +msgid "Nick being tried" +msgstr "ਕੋਸ਼ਿਸ ਕੀਤਾ ਨਾਂ" + +#: src/common/text.c:1229 src/common/text.c:1365 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1230 src/common/text.c:1261 +msgid "Port" +msgstr "ਪੋਰਟ" + +#: src/common/text.c:1240 src/fe-gtk/notifygui.c:139 src/fe-gtk/setup.c:1713 +msgid "Network" +msgstr "ਨੈੱਟਵਰਕ" + +#: src/common/text.c:1245 src/common/text.c:1250 +msgid "Modes string" +msgstr "ਢੰਗ ਸਤਰ" + +#: src/common/text.c:1260 src/common/text.c:1298 src/common/text.c:1303 +#: src/common/text.c:1344 +msgid "IP address" +msgstr "IP ਐਡਰੈੱਸ" + +#: src/common/text.c:1266 src/common/text.c:1291 +msgid "DCC Type" +msgstr "DCC ਕਿਸਮ" + +#: src/common/text.c:1267 src/common/text.c:1272 src/common/text.c:1277 +#: src/common/text.c:1284 src/common/text.c:1304 src/common/text.c:1308 +#: src/common/text.c:1314 src/common/text.c:1320 src/common/text.c:1327 +#: src/common/text.c:1336 src/common/text.c:1342 +msgid "Filename" +msgstr "ਫਾਇਲ ਨਾਂ" + +#: src/common/text.c:1278 src/common/text.c:1285 +msgid "Destination filename" +msgstr "ਨਿਯਤ ਫਾਇਲ ਨਾਂ" + +#: src/common/text.c:1287 src/common/text.c:1316 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1322 +msgid "Pathname" +msgstr "ਰਸਤਾ ਨਾਂ" + +#: src/common/text.c:1337 src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "ਸਥਿਤੀ" + +#: src/common/text.c:1343 src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "ਸਾਈਜ਼" + +#: src/common/text.c:1348 +msgid "DCC String" +msgstr "DCC ਸਤਰ" + +#: src/common/text.c:1353 +msgid "Number of notify items" +msgstr "ਸੂਚਨਾ ਇਕਾਈਆਂ ਦੀ ਗਿਣਤੀ" + +#: src/common/text.c:1369 +msgid "Old Filename" +msgstr "ਪੁਰਾਣਾ ਫਾਇਲ ਨਾਂ" + +#: src/common/text.c:1370 +msgid "New Filename" +msgstr "ਨਵਾਂ ਫਾਇਲ ਨਾਂ" + +#: src/common/text.c:1374 +msgid "Receiver" +msgstr "ਪ੍ਰਾਪਤ ਕਰਤਾ" + +#: src/common/text.c:1379 +msgid "Hostmask" +msgstr "ਹੋਸਟ-ਮਾਸਕ" + +#: src/common/text.c:1384 +msgid "Hostname" +msgstr "ਹੋਸਟ-ਨਾਂ" + +#: src/common/text.c:1389 +msgid "The Packet" +msgstr "ਪੈਕਟ" + +#: src/common/text.c:1393 +msgid "Seconds" +msgstr "ਸਕਿੰਟ" + +#: src/common/text.c:1397 +msgid "Nick of person who have been invited" +msgstr "ਸੱਦਣ ਲਈ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1404 +msgid "Banmask" +msgstr "ਪਾਬੰਦੀ-ਮਾਸਕ" + +#: src/common/text.c:1405 +msgid "Who set the ban" +msgstr "ਕਿਸ ਨੇ ਪਾਬੰਦੀ ਲਗਾਈ" + +#: src/common/text.c:1406 +msgid "Ban time" +msgstr "ਪਾਬੰਦੀ ਸਮਾਂ" + +#: src/common/text.c:1446 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"%s ਘਟਨਾ ਪਾਰਸ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ।\n" +"ਮੂਲ ਹੀ ਲੋਡ ਕੀਤਾ ਗਿਆ ਹੈ।" + +#: src/common/text.c:2189 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"ਸਾਊਂਡ ਫਾਇਲ ਪੜ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ:\n" +"%s" + +#: src/common/util.c:297 +msgid "Remote host closed socket" +msgstr "ਰਿਮੋਟ ਹੋਸਟ ਬੰਦ ਸਾਕਟ" + +#: src/common/util.c:302 +msgid "Connection refused" +msgstr "ਕੁਨੈਕਸ਼ਨ ਤੋਂ ਇਨਕਾਰ" + +#: src/common/util.c:305 +msgid "No route to host" +msgstr "ਹੋਸਟ ਲਈ ਮਾਰਗ ਨਹੀਂ" + +#: src/common/util.c:307 +msgid "Connection timed out" +msgstr "ਕੁਨੈਕਸ਼ਨ ਲਈ ਸਮਾਂ ਸਮਾਪਤ" + +#: src/common/util.c:309 +msgid "Cannot assign that address" +msgstr "ਇਹ ਸਿਰਨਾਵਾਂ ਦਿੱਤਾ ਨਹੀਂ ਜਾ ਸਕਦਾ" + +#: src/common/util.c:311 +msgid "Connection reset by peer" +msgstr "ਪੀਅਰ ਨੇ ਕੁਨੈਕਸ਼ਨ ਮੁੜ ਬਣਾਇਆ" + +#: src/common/util.c:848 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:849 +msgid "Andorra" +msgstr "ਅਡੂਰਾ" + +#: src/common/util.c:850 +msgid "United Arab Emirates" +msgstr "ਮਿਸਰ" + +#: src/common/util.c:851 +msgid "Afghanistan" +msgstr "ਅਫਗਾਨਿਸਤਾਨ" + +#: src/common/util.c:852 +msgid "Antigua and Barbuda" +msgstr "ਐਟੀਗੋਆ ਤੇ ਬਾਰਬੂਡਾ" + +#: src/common/util.c:853 +msgid "Anguilla" +msgstr "ਐਗੂਲਾ" + +#: src/common/util.c:854 +msgid "Albania" +msgstr "ਅਲਬਾਨੀਆ" + +#: src/common/util.c:855 +msgid "Armenia" +msgstr "ਅਰਮੀਨੀਆ" + +#: src/common/util.c:856 +msgid "Netherlands Antilles" +msgstr "ਨੀਂਦਰਲੈਂਡ ਐਟੀਲਾਇਸ" + +#: src/common/util.c:857 +msgid "Angola" +msgstr " ਅੰਗੋਲਾ" + +#: src/common/util.c:858 +msgid "Antarctica" +msgstr "ਐਟਾਰਟਿਕਾ" + +#: src/common/util.c:859 +msgid "Argentina" +msgstr "ਅਰਜਨਟੀਨਾ" + +#: src/common/util.c:860 +msgid "Reverse DNS" +msgstr "ਉਲਟ DNS" + +#: src/common/util.c:861 +msgid "American Samoa" +msgstr "ਅਮਰੀਕਨ ਸਾਮੋਕਾ" + +#: src/common/util.c:862 +msgid "Austria" +msgstr "ਆਸਟਾਰੀਆ" + +#: src/common/util.c:863 +msgid "Nato Fiel" +msgstr "ਨੈਟੋ ਫਿਲ" + +#: src/common/util.c:864 +msgid "Australia" +msgstr "ਅਸਟਰੇਲੀਆ" + +#: src/common/util.c:865 +msgid "Aruba" +msgstr "ਅਰੂਬਾ" + +#: src/common/util.c:866 +msgid "Aland Islands" +msgstr "ਅਲੈਂਡ ਟਾਪੂ" + +#: src/common/util.c:867 +msgid "Azerbaijan" +msgstr "ਅਜਰਬਾਈਜਾਨ" + +#: src/common/util.c:868 +msgid "Bosnia and Herzegovina" +msgstr "ਬੋਸਨੀਆ ਤੇ ਹਰਜੀਗੋਵੀਨਾ" + +#: src/common/util.c:869 +msgid "Barbados" +msgstr "ਬਾਰਬਾਰਡੋਸ" + +#: src/common/util.c:870 +msgid "Bangladesh" +msgstr "ਬੰਗਲਾਦੇਸ਼" + +#: src/common/util.c:871 +msgid "Belgium" +msgstr "ਬੈਲਜੀਅਮ" + +#: src/common/util.c:872 +msgid "Burkina Faso" +msgstr " " + +#: src/common/util.c:873 +msgid "Bulgaria" +msgstr "ਬੁਲਗਾਰੀਆ" + +#: src/common/util.c:874 +msgid "Bahrain" +msgstr "ਬਹਰੀਨ" + +#: src/common/util.c:875 +msgid "Burundi" +msgstr "ਬੂਰੂਮਾਡੀ" + +#: src/common/util.c:876 +msgid "Businesses" +msgstr "ਵਪਾਰਿਕ" + +#: src/common/util.c:877 +msgid "Benin" +msgstr "ਬੀਨਾਨ" + +#: src/common/util.c:878 +msgid "Bermuda" +msgstr "ਬਾਰਮੂਡਾ" + +#: src/common/util.c:879 +msgid "Brunei Darussalam" +msgstr "ਬਰੂਨਈ ਡਾਰੂਸ਼ਲਾਮ" + +#: src/common/util.c:880 +msgid "Bolivia" +msgstr "ਬੋਲੋਵੀਆ" + +#: src/common/util.c:881 +msgid "Brazil" +msgstr "ਬਰਾਜ਼ੀਲ" + +#: src/common/util.c:882 +msgid "Bahamas" +msgstr "ਬਾਹਾਮਾਸ" + +#: src/common/util.c:883 +msgid "Bhutan" +msgstr "ਭੁਟਾਨ" + +#: src/common/util.c:884 +msgid "Bouvet Island" +msgstr "ਬੂਟਵਟ ਟਾਪੂ" + +#: src/common/util.c:885 +msgid "Botswana" +msgstr "ਬੂਟਸਵਾਨਾ" + +#: src/common/util.c:886 +msgid "Belarus" +msgstr "ਬੇਲਾਰੂਸ" + +#: src/common/util.c:887 +msgid "Belize" +msgstr "ਬੀਲੀਜ਼ੀ" + +#: src/common/util.c:888 +msgid "Canada" +msgstr "ਕੈਨੇਡਾ" + +#: src/common/util.c:889 +msgid "Cocos Islands" +msgstr "ਕੋਕਸ ਟਾਪੂ" + +#: src/common/util.c:890 +msgid "Democratic Republic of Congo" +msgstr "ਕਾਗੋਂ ਗਣਰਾਜ" + +#: src/common/util.c:891 +msgid "Central African Republic" +msgstr "ਕੇਂਦਰੀ ਅਫਰੀਕੀ ਗਣਰਾਜ" + +#: src/common/util.c:892 +msgid "Congo" +msgstr "ਕਾਂਗੋ" + +#: src/common/util.c:893 +msgid "Switzerland" +msgstr "ਸਵਿਟਰਜ਼ਰਲੈਂਡ" + +#: src/common/util.c:894 +msgid "Cote d'Ivoire" +msgstr "ਕੋਟੀ ਡੀਵੋਰਆ" + +#: src/common/util.c:895 +msgid "Cook Islands" +msgstr "ਕੂਕ ਟਾਪੂ" + +#: src/common/util.c:896 +msgid "Chile" +msgstr "ਚਿੱਲੀ" + +#: src/common/util.c:897 +msgid "Cameroon" +msgstr "ਕੈਮਰੂਨ" + +#: src/common/util.c:898 +msgid "China" +msgstr "ਚੀਨ" + +#: src/common/util.c:899 +msgid "Colombia" +msgstr "ਕੋਲੰਬੀਆ" + +#: src/common/util.c:900 +msgid "Internic Commercial" +msgstr "ਅੰਦਰੂਨੀ ਵਣਜ" + +#: src/common/util.c:901 +msgid "Costa Rica" +msgstr "ਕਾਸਟ ਰੀਕਾ" + +#: src/common/util.c:902 +msgid "Serbia and Montenegro" +msgstr "ਸਰਬੀਆ ਅਤੇ ਮੋਨਟੇਨੇਗਰੋ" + +#: src/common/util.c:903 +msgid "Cuba" +msgstr "ਕਿਊਬਾ" + +#: src/common/util.c:904 +msgid "Cape Verde" +msgstr "ਕੇਪ ਵਾਰਡੀ" + +#: src/common/util.c:905 +msgid "Christmas Island" +msgstr "ਕ੍ਰਿਸਮਸ ਟਾਪੂ" + +#: src/common/util.c:906 +msgid "Cyprus" +msgstr "ਕਿਊਰੂਸ" + +#: src/common/util.c:907 +msgid "Czech Republic" +msgstr "ਚੈੱਕ ਗਣਰਾਜ" + +#: src/common/util.c:908 +msgid "Germany" +msgstr "ਜਰਮਨੀ" + +#: src/common/util.c:909 +msgid "Djibouti" +msgstr "ਡਜੀਬੂਟੀ" + +#: src/common/util.c:910 +msgid "Denmark" +msgstr "ਡੈਨਮਾਰਕ" + +#: src/common/util.c:911 +msgid "Dominica" +msgstr "ਡੋਮੀਨੀਆ" + +#: src/common/util.c:912 +msgid "Dominican Republic" +msgstr "ਡੋਮੀਨੀਆਨ ਗਣਰਾਜ਼" + +#: src/common/util.c:913 +msgid "Algeria" +msgstr "ਅਲਜੀਰੀਆ" + +#: src/common/util.c:914 +msgid "Ecuador" +msgstr "ਏਕਵੇਡਰ" + +#: src/common/util.c:915 +msgid "Educational Institution" +msgstr "ਵਿਦਿਅਕ ਸੰਗਠਨ" + +#: src/common/util.c:916 +msgid "Estonia" +msgstr "ਈਸਟੋਨੀਆ" + +#: src/common/util.c:917 +msgid "Egypt" +msgstr "ਮਿਸਰ" + +#: src/common/util.c:918 +msgid "Western Sahara" +msgstr "ਦੱਖਣੀ ਸਹਾਰਾ" + +#: src/common/util.c:919 +msgid "Eritrea" +msgstr "ਈਰਟੀਰਆ" + +#: src/common/util.c:920 +msgid "Spain" +msgstr "ਸਪੇਨ " + +#: src/common/util.c:921 +msgid "Ethiopia" +msgstr "ਈਥੋਪਈਆ" + +#: src/common/util.c:922 +msgid "European Union" +msgstr "ਯੂਰਪੀ ਯੂਨੀਅਨ" + +#: src/common/util.c:923 +msgid "Finland" +msgstr "ਫਿਨਲੈਂਡ" + +#: src/common/util.c:924 +msgid "Fiji" +msgstr "ਫਿਜੀ" + +#: src/common/util.c:925 +msgid "Falkland Islands" +msgstr "ਫਾਕਲੈਡ ਟਾਪੂ" + +#: src/common/util.c:926 +msgid "Micronesia" +msgstr "ਮਾਕਰੋਨੀਸ਼ੀਆ" + +#: src/common/util.c:927 +msgid "Faroe Islands" +msgstr "ਫਾਰੀਓ ਟਾਪੂ" + +#: src/common/util.c:928 +msgid "France" +msgstr "ਫਰਾਂਸ" + +#: src/common/util.c:929 +msgid "Gabon" +msgstr "ਗਾਬੋਨ" + +#: src/common/util.c:930 +msgid "Great Britain" +msgstr "ਬਰਤਾਨੀਆ" + +#: src/common/util.c:931 +msgid "Grenada" +msgstr "ਗਰੀਨਾਡਾਆ" + +#: src/common/util.c:932 +msgid "Georgia" +msgstr "ਜਾਰਜੀਆ" + +#: src/common/util.c:933 +msgid "French Guiana" +msgstr "ਫਰੈਂਚ ਗੁਆਨਾ" + +#: src/common/util.c:934 +msgid "British Channel Isles" +msgstr "" + +#: src/common/util.c:935 +msgid "Ghana" +msgstr "ਘਾਨਾ" + +#: src/common/util.c:936 +msgid "Gibraltar" +msgstr "ਗੀਬਰਾਲਟਰ" + +#: src/common/util.c:937 +msgid "Greenland" +msgstr "ਗਰੀਨਲੈਂਡ" + +#: src/common/util.c:938 +msgid "Gambia" +msgstr "ਗਾਬੀਆ" + +#: src/common/util.c:939 +msgid "Guinea" +msgstr "ਗੂਈਨੀਆ" + +#: src/common/util.c:940 +msgid "Government" +msgstr "ਸਰਕਾਰੀ" + +#: src/common/util.c:941 +msgid "Guadeloupe" +msgstr "ਗੁਆਡੀਲੂਪੀ" + +#: src/common/util.c:942 +msgid "Equatorial Guinea" +msgstr "ਭੂ-ਖੰਡੀ ਗੁਆਨਾ" + +#: src/common/util.c:943 +msgid "Greece" +msgstr "ਗਰੀਸ" + +#: src/common/util.c:944 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "ਦੱਖਣ ਜਾਰਜੀਆ ਦੱਖਣ" + +#: src/common/util.c:945 +msgid "Guatemala" +msgstr "ਗੂਆਟੇਮਾਲਾ" + +#: src/common/util.c:946 +msgid "Guam" +msgstr "ਗੁਆਮ" + +#: src/common/util.c:947 +msgid "Guinea-Bissau" +msgstr "ਗੁਨੇਆ-ਬਿਸਾਉ" + +#: src/common/util.c:948 +msgid "Guyana" +msgstr "ਗੁਆਨਾ" + +#: src/common/util.c:949 +msgid "Hong Kong" +msgstr "ਹਾਂਗਕਾਂਗ" + +#: src/common/util.c:950 +msgid "Heard and McDonald Islands" +msgstr "ਹੀਅਰਡ ਅਤੇ ਮੈਕਡੋਨਾਲਡ ਆਈਸਲੈਂਡ" + +#: src/common/util.c:951 +msgid "Honduras" +msgstr "ਹਾਨਡੂਰਸ" + +#: src/common/util.c:952 +msgid "Croatia" +msgstr "ਕਰੋਟੀਆ" + +#: src/common/util.c:953 +msgid "Haiti" +msgstr "ਹਾਈਟੀ" + +#: src/common/util.c:954 +msgid "Hungary" +msgstr "ਹੰਗਰੀ" + +#: src/common/util.c:955 +msgid "Indonesia" +msgstr "ਇੰਡੋਨੇਸ਼ੀਆ" + +#: src/common/util.c:956 +msgid "Ireland" +msgstr "ਆਇਰਲੈਂਡ" + +#: src/common/util.c:957 +msgid "Israel" +msgstr "ਇਜ਼ਰਾਈਲ" + +#: src/common/util.c:958 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:959 +msgid "India" +msgstr "ਭਾਰਤ" + +#: src/common/util.c:960 +msgid "Informational" +msgstr "ਜਾਣਕਾਰੀ" + +#: src/common/util.c:961 +msgid "International" +msgstr "ਅੰਤਰਰਾਸ਼ਟਰੀ" + +#: src/common/util.c:962 +msgid "British Indian Ocean Territory" +msgstr "ਬਰਤਾਨੀਆ ਭਾਰਤੀ ਸਮੁੰਦਰੀ ਖੇਤਰ" + +#: src/common/util.c:963 +msgid "Iraq" +msgstr "ਇਰਾਕ" + +#: src/common/util.c:964 +msgid "Iran" +msgstr "ਈਰਾਨ" + +#: src/common/util.c:965 +msgid "Iceland" +msgstr "ਆਈਸਲੈਂਡ" + +#: src/common/util.c:966 +msgid "Italy" +msgstr "ਇਟਲੀ" + +#: src/common/util.c:967 +msgid "Jersey" +msgstr "ਜਰਸੀ" + +#: src/common/util.c:968 +msgid "Jamaica" +msgstr "ਜੈਮਾਈਕਾ" + +#: src/common/util.c:969 +msgid "Jordan" +msgstr "ਜਾਰਡਨ" + +#: src/common/util.c:970 +msgid "Japan" +msgstr "ਜਾਪਾਨ" + +#: src/common/util.c:971 +msgid "Kenya" +msgstr "ਕੀਨੀਆ" + +#: src/common/util.c:972 +msgid "Kyrgyzstan" +msgstr "ਕਿਰਗਸਤਾਨ" + +#: src/common/util.c:973 +msgid "Cambodia" +msgstr "ਕੋਲੰਬੀਆ" + +#: src/common/util.c:974 +msgid "Kiribati" +msgstr "ਕੀਰੀਬਾਟੀ" + +#: src/common/util.c:975 +msgid "Comoros" +msgstr "ਕੋਮੋਰਸ" + +#: src/common/util.c:976 +msgid "St. Kitts and Nevis" +msgstr "ਸੇਂਟ ਕਿੱਟ ਅਤੇ ਨੀਵਿਸ" + +#: src/common/util.c:977 +msgid "North Korea" +msgstr "ਉੱਤਰੀ ਕੋਰੀਆ" + +#: src/common/util.c:978 +msgid "South Korea" +msgstr "ਦੱਖਣੀ ਕੋਰੀਆ" + +#: src/common/util.c:979 +msgid "Kuwait" +msgstr "ਕੁਵੈਤ" + +#: src/common/util.c:980 +msgid "Cayman Islands" +msgstr "ਕਾਯਮਨ ਟਾਪੂ" + +#: src/common/util.c:981 +msgid "Kazakhstan" +msgstr "ਕਜ਼ਾਕਸਤਾਨ" + +#: src/common/util.c:982 +msgid "Laos" +msgstr "ਲਿਉਸ" + +#: src/common/util.c:983 +msgid "Lebanon" +msgstr "ਲੀਬਨਾਨ" + +#: src/common/util.c:984 +msgid "Saint Lucia" +msgstr "ਸੇਂਟ ਲੂਸੀਆ" + +#: src/common/util.c:985 +msgid "Liechtenstein" +msgstr "ਲੀਚਟੀਨੀਆ" + +#: src/common/util.c:986 +msgid "Sri Lanka" +msgstr "ਸ੍ਰੀਲੰਕਾ" + +#: src/common/util.c:987 +msgid "Liberia" +msgstr "ਲੀਬੀਰੀਆ" + +#: src/common/util.c:988 +msgid "Lesotho" +msgstr "ਲੀਸੋਥੋ" + +#: src/common/util.c:989 +msgid "Lithuania" +msgstr "ਲੀਥੂਨੀਆ" + +#: src/common/util.c:990 +msgid "Luxembourg" +msgstr "ਲ਼ਕਸ਼ਮਬਰਗ" + +#: src/common/util.c:991 +msgid "Latvia" +msgstr "ਲਾਟੀਵਾਆ" + +#: src/common/util.c:992 +msgid "Libya" +msgstr "ਲੀਬੀਆ" + +#: src/common/util.c:993 +msgid "Morocco" +msgstr "ਮੋਰੋਸ਼ਸ" + +#: src/common/util.c:994 +msgid "Monaco" +msgstr "ਮੋਨਸ਼ੀਆ" + +#: src/common/util.c:995 +msgid "Moldova" +msgstr "ਮੋਲਡੋਵਾ" + +#: src/common/util.c:996 +msgid "United States Medical" +msgstr "ਅਮਰੀਕੀ ਮੈਂਡੀਕਲ" + +#: src/common/util.c:997 +msgid "Madagascar" +msgstr "ਮੈਡਾਗਾਸਕਰ" + +#: src/common/util.c:998 +msgid "Marshall Islands" +msgstr "ਮਾਰਸ਼ਲ ਟਾਪੂ" + +#: src/common/util.c:999 +msgid "Military" +msgstr "ਮਿਲਟਰੀ" + +#: src/common/util.c:1000 +msgid "Macedonia" +msgstr "ਮੈਕਡੋਨੀਆ" + +#: src/common/util.c:1001 +msgid "Mali" +msgstr "ਮਾਲੀ" + +#: src/common/util.c:1002 +msgid "Myanmar" +msgstr "ਮਿਆਂਮਾਰ" + +#: src/common/util.c:1003 +msgid "Mongolia" +msgstr "ਮੰਗੋਲੀਆ" + +#: src/common/util.c:1004 +msgid "Macau" +msgstr "ਮਕਾਉ" + +#: src/common/util.c:1005 +msgid "Northern Mariana Islands" +msgstr "ਉੱਤਰੀ ਮਰੀਵੀਆਨਾ ਟਾਪੂ" + +#: src/common/util.c:1006 +msgid "Martinique" +msgstr "ਮਾਰਟੀਨੀਕਿਊ" + +#: src/common/util.c:1007 +msgid "Mauritania" +msgstr "ਮਾਓਰੀਟਆਨਾ" + +#: src/common/util.c:1008 +msgid "Montserrat" +msgstr "ਮੋਨਟਸ਼ਟੀਟ" + +#: src/common/util.c:1009 +msgid "Malta" +msgstr "ਮਾਲਟਾ" + +#: src/common/util.c:1010 +msgid "Mauritius" +msgstr "ਮਾਓਟੀਸ" + +#: src/common/util.c:1011 +msgid "Maldives" +msgstr "ਮਾਲਦੀਪ" + +#: src/common/util.c:1012 +msgid "Malawi" +msgstr "ਮਾਲਾਵੀਆ" + +#: src/common/util.c:1013 +msgid "Mexico" +msgstr "ਮੈਕਸੀਕੋ" + +#: src/common/util.c:1014 +msgid "Malaysia" +msgstr "ਮਲੇਸ਼ੀਆ" + +#: src/common/util.c:1015 +msgid "Mozambique" +msgstr "ਮੋਜ਼ਾਮਬੀਕਿਉ" + +#: src/common/util.c:1016 +msgid "Namibia" +msgstr "ਨੀਮੀਬੀਆ" + +#: src/common/util.c:1017 +msgid "New Caledonia" +msgstr "" + +#: src/common/util.c:1018 +msgid "Niger" +msgstr "ਨੀਜ਼ਰ" + +#: src/common/util.c:1019 +msgid "Internic Network" +msgstr "ਨੈੱਟਵਰਕ" + +#: src/common/util.c:1020 +msgid "Norfolk Island" +msgstr "ਨੋਰਫੋਕ ਟਾਪੂ" + +#: src/common/util.c:1021 +msgid "Nigeria" +msgstr "ਨੀਜ਼ੀਰਆ" + +#: src/common/util.c:1022 +msgid "Nicaragua" +msgstr "ਨਿਕਾਰਗੁਆ" + +#: src/common/util.c:1023 +msgid "Netherlands" +msgstr "ਨੀਂਦਰਲੈਂਡ" + +#: src/common/util.c:1024 +msgid "Norway" +msgstr "ਨਾਰਵੇ" + +#: src/common/util.c:1025 +msgid "Nepal" +msgstr "ਨੇਪਾਲ" + +#: src/common/util.c:1026 +msgid "Nauru" +msgstr "ਨੀਓਰੂ" + +#: src/common/util.c:1027 +msgid "Niue" +msgstr "ਨੀਊਈ" + +#: src/common/util.c:1028 +msgid "New Zealand" +msgstr "ਨਿਊਜ਼ੀਲੈਂਡ" + +#: src/common/util.c:1029 +msgid "Oman" +msgstr "ਓਮਾਨ" + +#: src/common/util.c:1030 +msgid "Internic Non-Profit Organization" +msgstr "ਅੰਦਰੂਨੀ ਨਾ-ਲਾਭ ਸੰਗਠਨ" + +#: src/common/util.c:1031 +msgid "Panama" +msgstr "ਪੈਨਾਮਾ" + +#: src/common/util.c:1032 +msgid "Peru" +msgstr "ਪੇਰੂ" + +#: src/common/util.c:1033 +msgid "French Polynesia" +msgstr "ਫਰੈਚ ਪੋਲੀਸੇਲੇਵੀਆ" + +#: src/common/util.c:1034 +msgid "Papua New Guinea" +msgstr "ਪਾਪੂਆ ਨਵਾਂ ਗੂਈਨਿਆ" + +#: src/common/util.c:1035 +msgid "Philippines" +msgstr "ਫਿਲਿਪੀਨੀਜ਼" + +#: src/common/util.c:1036 +msgid "Pakistan" +msgstr "ਪਾਕਿਸਤਾਨ" + +#: src/common/util.c:1037 +msgid "Poland" +msgstr "ਪੋਲੈਂਡ" + +#: src/common/util.c:1038 +msgid "St. Pierre and Miquelon" +msgstr "ਸੇਂਟ ਪਰੇਰਾ ਅਤੇ ਮਿਕਿਊਲੋਨ" + +#: src/common/util.c:1039 +msgid "Pitcairn" +msgstr "ਪਿਟਸਾਰਨ" + +#: src/common/util.c:1040 +msgid "Puerto Rico" +msgstr "ਪੁਈਰਟੋ ਰੀਸੋ" + +#: src/common/util.c:1041 +msgid "Palestinian Territory" +msgstr "ਫਿਲੀਸਤੀਨ ਭਾਗ" + +#: src/common/util.c:1042 +msgid "Portugal" +msgstr "ਪੁਰਤਗਾਲ" + +#: src/common/util.c:1043 +msgid "Palau" +msgstr "ਪਾਲਾਊ" + +#: src/common/util.c:1044 +msgid "Paraguay" +msgstr "ਪੇਰੂਗਵੇ" + +#: src/common/util.c:1045 +msgid "Qatar" +msgstr "ਕਤਰ" + +#: src/common/util.c:1046 +msgid "Reunion" +msgstr "ਰੀਯੁਨੀਅਨ" + +#: src/common/util.c:1047 +msgid "Romania" +msgstr "ਰੋਮਾਨੀਆ" + +#: src/common/util.c:1048 +msgid "Old School ARPAnet" +msgstr "ਪੁਰਾਣਾ ਸਕੂਲ ARPAnet" + +#: src/common/util.c:1049 +msgid "Russian Federation" +msgstr "ਸੰਘੀ ਰੂਸ " + +#: src/common/util.c:1050 +msgid "Rwanda" +msgstr "ਰਵਾਂਡਾਂ" + +#: src/common/util.c:1051 +msgid "Saudi Arabia" +msgstr "ਸਾਊਦੀ ਅਰਬ" + +#: src/common/util.c:1052 +msgid "Solomon Islands" +msgstr "ਸੋਲੋਮੋਨ ਟਾਪੂ" + +#: src/common/util.c:1053 +msgid "Seychelles" +msgstr "ਸੀਆਚਿਲਸ" + +#: src/common/util.c:1054 +msgid "Sudan" +msgstr "ਸੂਡਾਨ" + +#: src/common/util.c:1055 +msgid "Sweden" +msgstr "ਸਵੀਡਨ" + +#: src/common/util.c:1056 +msgid "Singapore" +msgstr "ਸਿੰਘਾਪੁਰ" + +#: src/common/util.c:1057 +msgid "St. Helena" +msgstr "ਸੇਂਟ ਹੀਲੀਨਆ" + +#: src/common/util.c:1058 +msgid "Slovenia" +msgstr "ਸਲੋਵੀਨੀਆ" + +#: src/common/util.c:1059 +msgid "Svalbard and Jan Mayen Islands" +msgstr "ਸਵਾਲਬੋਰਡ ਅਤੇ ਜਾਨ ਮਾਈਨ ਆਈਸਲੈਂਡ" + +#: src/common/util.c:1060 +msgid "Slovak Republic" +msgstr "ਸਲੋਵਾਕ ਲੋਕਤੰਤਰ" + +#: src/common/util.c:1061 +msgid "Sierra Leone" +msgstr "ਸੀਈਰਆ ਲਿਏਨ" + +#: src/common/util.c:1062 +msgid "San Marino" +msgstr "ਸਾਨ ਮਾਰੀਨੂ" + +#: src/common/util.c:1063 +msgid "Senegal" +msgstr "ਸੈਨੇਗਾਲ" + +#: src/common/util.c:1064 +msgid "Somalia" +msgstr "ਸੋਮਾਲੀਆ" + +#: src/common/util.c:1065 +msgid "Suriname" +msgstr "ਸੂਰੀਨਾਂ" + +#: src/common/util.c:1066 +msgid "Sao Tome and Principe" +msgstr "ਸਾਓ ਟੋਮ ਅਤੇ ਪ੍ਰਿਨਸਾਈਪ" + +#: src/common/util.c:1067 +msgid "Former USSR" +msgstr "ਪੁਰਾਣਾ ਸੋਵੀਅਤ ਯੂਨੀਅਨ" + +#: src/common/util.c:1068 +msgid "El Salvador" +msgstr "ਈਲ ਸਾਲੇਵਡੋਰ" + +#: src/common/util.c:1069 +msgid "Syria" +msgstr "ਸੀਰੀਆ" + +#: src/common/util.c:1070 +msgid "Swaziland" +msgstr "ਸਵਰਜ਼ਲੈਂਡ" + +#: src/common/util.c:1071 +msgid "Turks and Caicos Islands" +msgstr "ਤੁਰਕਸ ਅਤੇ ਕੇਈਕੋਸ ਟਾਪੂ" + +#: src/common/util.c:1072 +msgid "Chad" +msgstr "ਚੰਦ" + +#: src/common/util.c:1073 +msgid "French Southern Territories" +msgstr "ਫਰੈਂਚ ਦੱਖਣੀ ਖੇਤਰ" + +#: src/common/util.c:1074 +msgid "Togo" +msgstr "ਟੂਗੂ" + +#: src/common/util.c:1075 +msgid "Thailand" +msgstr "ਥਾਈਲੈਂਡ" + +#: src/common/util.c:1076 +msgid "Tajikistan" +msgstr "ਤਜ਼ਾਕਸਤਾਨ" + +#: src/common/util.c:1077 +msgid "Tokelau" +msgstr "ਟੂਕੀਲਾਊ" + +#: src/common/util.c:1078 src/common/util.c:1082 +msgid "East Timor" +msgstr "ਪੂਰਬੀ ਟੀਮੋਰ" + +#: src/common/util.c:1079 +msgid "Turkmenistan" +msgstr "ਤੁਰਕਸਤਾਨ" + +#: src/common/util.c:1080 +msgid "Tunisia" +msgstr "ਟੁਨੀਸ਼ੀਆ" + +#: src/common/util.c:1081 +msgid "Tonga" +msgstr "ਟੂਨਗਾ" + +#: src/common/util.c:1083 +msgid "Turkey" +msgstr "ਤੁਰਕੀ" + +#: src/common/util.c:1084 +msgid "Trinidad and Tobago" +msgstr "ਟਰਿਨੀਦਾਦ ਅਤੇ ਟੋਬੇਗੋ" + +#: src/common/util.c:1085 +msgid "Tuvalu" +msgstr "ਟੂਵਾਲੂ" + +#: src/common/util.c:1086 +msgid "Taiwan" +msgstr "ਤਾਈਵਾਨ" + +#: src/common/util.c:1087 +msgid "Tanzania" +msgstr "ਤਾਨਜ਼ੀਆ" + +#: src/common/util.c:1088 +msgid "Ukraine" +msgstr "ਯੂਕਰੇਨ" + +#: src/common/util.c:1089 +msgid "Uganda" +msgstr "ਯੂਗਾਂਡਾ" + +#: src/common/util.c:1090 +msgid "United Kingdom" +msgstr "ਬਰਤਾਨੀਆ" + +#: src/common/util.c:1091 +msgid "United States of America" +msgstr "ਸੰਯੁਕਤ ਰਾਜ ਅਮਰੀਕਾ" + +#: src/common/util.c:1092 +msgid "Uruguay" +msgstr "ਉਰੂਗਵੇ" + +#: src/common/util.c:1093 +msgid "Uzbekistan" +msgstr "ਉਜ਼ੇਬਕਸਤਾਨ" + +#: src/common/util.c:1094 +msgid "Vatican City State" +msgstr "ਵਾਟਕੈਨ ਸ਼ਹਿਰ ਪ੍ਰਾਂਤ" + +#: src/common/util.c:1095 +msgid "St. Vincent and the Grenadines" +msgstr "ਸੇਂਟ ਵੀਨਸੈਂਟ ਅਤੇ ਗਰੀਨਾਡੀਨਸ" + +#: src/common/util.c:1096 +msgid "Venezuela" +msgstr "ਵੈਨੂਜੇਏਲਾ" + +#: src/common/util.c:1097 +msgid "British Virgin Islands" +msgstr "ਬ੍ਰਿਟਿਸ਼ ਵੀਰਗਿਨ ਟਾਪੂ" + +#: src/common/util.c:1098 +msgid "US Virgin Islands" +msgstr "ਅਮਰੀਕੀ ਵਰਜਿਨ ਟਾਪੂ" + +#: src/common/util.c:1099 +msgid "Vietnam" +msgstr "ਵੀਅਤਨਾਮ" + +#: src/common/util.c:1100 +msgid "Vanuatu" +msgstr "ਵਾਨੂਟੂ" + +#: src/common/util.c:1101 +msgid "Wallis and Futuna Islands" +msgstr "ਵੈਲਿਸ ਅਤੇ ਫੂਟੂਨਾ ਆਈਸਲੈਂਡ" + +#: src/common/util.c:1102 +msgid "Samoa" +msgstr "ਸਾਮੀਆ" + +#: src/common/util.c:1103 +msgid "Yemen" +msgstr "ਯਮਨ" + +#: src/common/util.c:1104 +msgid "Mayotte" +msgstr "ਮਾਈਟੀ" + +#: src/common/util.c:1105 +msgid "Yugoslavia" +msgstr "ਯੂਗੋਸਲਾਵੀਆ" + +#: src/common/util.c:1106 +msgid "South Africa" +msgstr "ਦੱਖਣੀ ਅਫਰੀਕਾ" + +#: src/common/util.c:1107 +msgid "Zambia" +msgstr "ਜ਼ੈਬੀਆ" + +#: src/common/util.c:1108 +msgid "Zimbabwe" +msgstr "ਜਿੰਬਾਬਾਵੇੰ" + +#: src/common/util.c:1118 src/common/util.c:1128 src/fe-gtk/menu.c:611 +msgid "Unknown" +msgstr "ਅਣਜਾਣ" + +#: src/common/xchat.c:726 +msgid "_Open Dialog Window" +msgstr "ਡਾਈਲਾਗ ਵਿੰਡੋ ਖੋਲ੍ਹੋ(_O)" + +#: src/common/xchat.c:727 +msgid "_Send a File" +msgstr "ਫਾਇਲ ਭੇਜੋ(_S)" + +#: src/common/xchat.c:728 +msgid "_User Info (WhoIs)" +msgstr "ਯੂਜ਼ਰ ਜਾਣਕਾਰੀ(_U)(WhoIs)" + +#: src/common/xchat.c:729 +msgid "_Add to Friends List" +msgstr "ਦੋਸਤ ਲਿਸਟ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ(_A)" + +#: src/common/xchat.c:730 +msgid "O_perator Actions" +msgstr "ਓਪਰੇਟਰ ਐਕਸ਼ਨ(_p)" + +#: src/common/xchat.c:732 +msgid "Give Ops" +msgstr "Ops ਦਿਓ" + +#: src/common/xchat.c:733 +msgid "Take Ops" +msgstr "Ops ਹਟਾਓ" + +#: src/common/xchat.c:734 +msgid "Give Voice" +msgstr "ਆਵਾਜ਼ ਦਿਓ" + +#: src/common/xchat.c:735 +msgid "Take Voice" +msgstr "ਆਵਾਜ਼ ਲਵੋ" + +#: src/common/xchat.c:737 +msgid "Kick/Ban" +msgstr "ਕਿੱਕ/ਪਾਬੰਦੀ" + +#: src/common/xchat.c:738 src/common/xchat.c:775 +msgid "Kick" +msgstr "ਕਿੱਕ" + +#: src/common/xchat.c:739 src/common/xchat.c:740 src/common/xchat.c:741 +#: src/common/xchat.c:742 src/common/xchat.c:743 src/common/xchat.c:774 +msgid "Ban" +msgstr "ਪਾਬੰਦੀ" + +#: src/common/xchat.c:744 src/common/xchat.c:745 src/common/xchat.c:746 +#: src/common/xchat.c:747 +msgid "KickBan" +msgstr "ਕਿੱਕ-ਪਾਬੰਦੀ" + +#: src/common/xchat.c:757 +msgid "Leave Channel" +msgstr "ਚੈਨਲ ਛੱਡੋ" + +#: src/common/xchat.c:758 +msgid "Join Channel..." +msgstr "ਚੈਨਲ ਜੁਆਇੰਨ ਕਰੋ..." + +#: src/common/xchat.c:759 src/fe-gtk/menu.c:1281 +msgid "Enter Channel to Join:" +msgstr "ਜੁਆਇੰਨ ਕਰਨ ਲਈ ਚੈਨਲ ਦਿਓ:" + +#: src/common/xchat.c:760 +msgid "Server Links" +msgstr "ਸਰਵਰ ਲਿੰਕ" + +#: src/common/xchat.c:761 +msgid "Ping Server" +msgstr "ਸਰਵਰ ਪਿੰਗ" + +#: src/common/xchat.c:762 +msgid "Hide Version" +msgstr "ਵਰਜਨ ਓਹਲੇ" + +#: src/common/xchat.c:772 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:773 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/xchat.c:776 +msgid "bye" +msgstr "ਅਲਵਿਦਾ" + +#: src/common/xchat.c:777 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "%s ਸੁੱਟਣ ਲਈ ਕਾਰਨ:" + +#: src/common/xchat.c:778 +msgid "Sendfile" +msgstr "ਫਾਇਲ਼-ਭੇਜੋ" + +#: src/common/xchat.c:779 +msgid "Dialog" +msgstr "ਡਾਈਲਾਗ" + +#: src/common/xchat.c:788 +msgid "WhoIs" +msgstr "ਕੌਣ ਹੈ" + +#: src/common/xchat.c:789 +msgid "Send" +msgstr "ਭੇਜੋ" + +#: src/common/xchat.c:790 +msgid "Chat" +msgstr "ਗੱਲਬਾਤ" + +#: src/common/xchat.c:791 src/fe-gtk/banlist.c:413 src/fe-gtk/ignoregui.c:389 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "ਸਾਫ਼" + +#: src/common/xchat.c:792 +msgid "Ping" +msgstr "ਪਿੰਗ" + +#: src/common/dbus/dbus-client.c:72 +msgid "Couldn't connect to session bus" +msgstr "ਸ਼ੈਸ਼ਨ ਬਸ ਨਾਲ ਜੁੜ ਨਹੀਂ ਸਕਿਆ" + +#: src/common/dbus/dbus-client.c:86 +#, fuzzy +msgid "Failed to complete NameHasOwner" +msgstr "ਕਮਾਂਡ ਪੂਰੀ ਕਰਨ ਲਈ ਅਸਫ਼ਲ ਹੈ" + +#: src/common/dbus/dbus-client.c:112 +msgid "Failed to complete Command" +msgstr "ਕਮਾਂਡ ਪੂਰੀ ਕਰਨ ਲਈ ਫੇਲ੍ਹ" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "ਰਿਮੋਟ ਅਸੈੱਸ" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "ਸ਼ੈਸ਼ਨ ਬਸ ਨਾਲ ਜੁੜਨ ਲਈ ਅਸਫ਼ਲ: %s\n" + +#: src/common/dbus/dbus-plugin.c:914 +#, fuzzy, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਅਸਫ਼ਲ " + +#: src/fe-gtk/about.c:102 +msgid "About " +msgstr "ਇਸ ਬਾਰੇ" + +#: src/fe-gtk/about.c:133 +msgid "A multiplatform IRC Client" +msgstr "ਇੱਕ ਅੰਤਰ ਪਲੇਟਫਾਰਮ IRC ਕਲਾਂਇਟ" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "ਅੱਖਰ ਚਾਰਟ" + +#: src/fe-gtk/banlist.c:151 src/fe-gtk/chanlist.c:305 +#: src/fe-gtk/plugin-tray.c:304 +msgid "Not connected." +msgstr "ਕੁਨੈਕਟ ਨਹੀਂ ਹੈ।" + +#: src/fe-gtk/banlist.c:249 src/fe-gtk/banlist.c:329 +msgid "You must select some bans." +msgstr "ਤੁਹਾਨੂੰ ਕੁਝ ਪਾਬੰਦੀਆਂ ਦੀ ਚੋਣ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ।" + +#: src/fe-gtk/banlist.c:278 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:344 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "ਮਾਸਕ" + +#: src/fe-gtk/banlist.c:345 +msgid "From" +msgstr "ਵੱਲੋਂ" + +#: src/fe-gtk/banlist.c:346 +msgid "Date" +msgstr "ਮਿਤੀ" + +#: src/fe-gtk/banlist.c:389 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "ਤੁਸੀਂ ਇੱਕ ਪਾਬੰਦੀ ਮੇਨੂ ਵਿੰਡੋ ਤਾਂ ਹੀ ਖੋਲ੍ਹ ਸਕਦੇ ਹੋ, ਜੇਕਰ ਤੁਸੀਂ ਚੈਨਲ ਟੈਬ ਵਿੱਚ ਹੋ।" + +#: src/fe-gtk/banlist.c:393 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: ਪਾਬੰਦੀ ਲਿਸਟ (%s)" + +#: src/fe-gtk/banlist.c:409 src/fe-gtk/notifygui.c:432 +msgid "Remove" +msgstr "ਹਟਾਓ" + +#: src/fe-gtk/banlist.c:411 +msgid "Crop" +msgstr "ਉਭਾਰੋ" + +#: src/fe-gtk/banlist.c:415 +msgid "Refresh" +msgstr "ਤਾਜ਼ਾ" + +#: src/fe-gtk/chanlist.c:111 +#, fuzzy, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "ਯੂਜ਼ਰ ਤੇ ਚੈਨਲ ਅੰਕੜੇ: %d/%d ਯੂਜ਼ਰ %d/%d ਚੈਨਲ ਤੇ" + +#: src/fe-gtk/chanlist.c:526 src/fe-gtk/menu.c:1217 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "ਆਉਟਪੁੱਟ ਫਾਇਲ ਨਾਂ ਚੁਣੋ" + +#: src/fe-gtk/chanlist.c:631 src/fe-gtk/chanlist.c:799 +msgid "_Join Channel" +msgstr "ਚੈਨਲ ਜੁਆਇੰਨ ਕਰੋ(_J)" + +#: src/fe-gtk/chanlist.c:633 +msgid "_Copy Channel Name" +msgstr "ਚੈਨਲ ਨਾਂ ਕਾਪੀ ਕਰੋ(_C)" + +#: src/fe-gtk/chanlist.c:635 +msgid "Copy _Topic Text" +msgstr "ਵਿਸ਼ਾ ਟੈਕਸਟ ਕਾਪੀ ਕਰੋ(_T)" + +#: src/fe-gtk/chanlist.c:724 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: ਚੈਨਲ ਲਿਸਟ (%s)" + +#: src/fe-gtk/chanlist.c:781 +msgid "_Search" +msgstr "ਖੋਜ(_S)" + +#: src/fe-gtk/chanlist.c:787 +msgid "_Download List" +msgstr "ਡਾਊਨਲੋਡ ਲਿਸਟ(_D)" + +#: src/fe-gtk/chanlist.c:793 +msgid "Save _List..." +msgstr "ਲਿਸਟ ਸੰਭਾਲੋ(_L)..." + +#: src/fe-gtk/chanlist.c:806 +msgid "Show only:" +msgstr "ਕੇਵਲ ਵੇਖੋ:" + +#: src/fe-gtk/chanlist.c:818 +msgid "channels with" +msgstr "ਇਸ ਨਾਲ ਚੈਨਲ" + +#: src/fe-gtk/chanlist.c:831 +msgid "to" +msgstr "ਤੋਂ" + +#: src/fe-gtk/chanlist.c:843 +msgid "users." +msgstr "ਯੂਜ਼ਰ" + +#: src/fe-gtk/chanlist.c:849 +msgid "Look in:" +msgstr "ਖੋਜ:" + +#: src/fe-gtk/chanlist.c:861 +msgid "Channel name" +msgstr "ਚੈਨਲ ਨਾਂ" + +#: src/fe-gtk/chanlist.c:882 +msgid "Search type:" +msgstr "ਖੋਜ ਟਾਈਪ:" + +#: src/fe-gtk/chanlist.c:889 +msgid "Simple Search" +msgstr "ਸਧਾਰਨ ਖੋਜ" + +#: src/fe-gtk/chanlist.c:890 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:892 +msgid "Regular Expression" +msgstr "ਰੈਗੂਲਰ ਸਮੀਕਰਨ" + +#: src/fe-gtk/chanlist.c:903 src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "ਖੋਜ:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "%s ਨੂੰ ਫਾਇਲ ਭੇਜੋ" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "ਇਹ ਫਾਇਲ ਮੁੜ-ਪ੍ਰਾਪਤੀ ਯੋਗ ਨਹੀਂ।" + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"ਫਾਇਲ ਲਈ ਅਧਿਕਾਰ ਨਹੀਂ: %s\n" +"%s.\n" +"ਮੁੜ-ਪ੍ਰਾਪਤੀ ਸੰਭਵ ਨਹੀਂ।" + +#: src/fe-gtk/dccgui.c:507 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "ਡਾਊਨਲੋਡ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਫਾਇਲ ਦਿੱਤੇ ਅਕਾਰ ਤੋਂ ਵੱਡੀ ਹੈ। ਮੁੜ-ਪ੍ਰਾਪਤੀ ਸੰਭਵ ਨਹੀਂ ਹੈ।" + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "ਦੋ ਲੋਕਾਂ ਤੋਂ ਇੱਕੋ ਫਾਇਲ ਮੁੜ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।" + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: ਅੱਪਲੋਡ ਅਤੇ ਡਾਊਨਲੋਡ" + +#: src/fe-gtk/dccgui.c:756 src/fe-gtk/dccgui.c:995 src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "ਹਾਲਤ" + +#: src/fe-gtk/dccgui.c:757 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "ਫਾਇਲ" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:787 src/fe-gtk/menu.c:1593 +msgid "Both" +msgstr "ਦੋਵੇਂ" + +#: src/fe-gtk/dccgui.c:793 +msgid "Uploads" +msgstr "ਅੱਪਲੋਡ" + +#: src/fe-gtk/dccgui.c:799 +msgid "Downloads" +msgstr "ਡਾਊਨਲੋਡ" + +#: src/fe-gtk/dccgui.c:804 +msgid "Details" +msgstr "ਵੇਰਵਾ" + +#: src/fe-gtk/dccgui.c:815 +msgid "File:" +msgstr "ਫਾਇਲ:" + +#: src/fe-gtk/dccgui.c:816 +msgid "Address:" +msgstr "ਐਡਰੈੱਸ:" + +#: src/fe-gtk/dccgui.c:822 src/fe-gtk/dccgui.c:1019 +msgid "Abort" +msgstr "ਅਧੂਰਾ ਛੱਡੋ" + +#: src/fe-gtk/dccgui.c:823 src/fe-gtk/dccgui.c:1020 +msgid "Accept" +msgstr "ਮਨਜ਼ੂਰ" + +#: src/fe-gtk/dccgui.c:824 +msgid "Resume" +msgstr "ਮੁੜ-ਪ੍ਰਾਪਤ" + +#: src/fe-gtk/dccgui.c:825 +msgid "Open Folder..." +msgstr "...ਫੋਲਡਰ ਖੋਲ੍ਹੋ" + +#: src/fe-gtk/dccgui.c:985 +msgid "XChat: DCC Chat List" +msgstr "XChat: DCC ਗੱਲਬਾਤ ਲਿਸਟ" + +#: src/fe-gtk/dccgui.c:997 +msgid "Recv" +msgstr "ਪ੍ਰਾਪਤ" + +#: src/fe-gtk/dccgui.c:998 +msgid "Sent" +msgstr "ਭੇਜੀ" + +#: src/fe-gtk/dccgui.c:999 +msgid "Start Time" +msgstr "ਸ਼ੁਰੂ ਸਮਾਂ" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*ਨਵਾਂ*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "ਮੈਨੂੰ ਸੋਧੋ" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/notifygui.c:137 +#: src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "ਨਾਂ" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "ਕਮਾਂਡ" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "ਉੱਤੇ ਭੇਜੋ" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "ਹੇਠਾਂ ਭੇਜੋ" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "ਰੱਦ ਕਰੋ" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "ਸੰਭਾਲੋ" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "ਨਵਾਂ ਸ਼ਾਮਿਲ" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:387 +msgid "Delete" +msgstr "ਹਟਾਓ" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "ਲੜੀਬੱਧ" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "ਮੱਦਦ" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "ਸਰਵਰ ਨਾਲ ਆਟੋਮੈਟਿਕ ਕੁਨੈਕਟ ਨਾ ਕਰੋ" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "ਇੱਕ ਵੱਖਰੀ ਸੰਰਚਨਾ ਡਾਇਰੈਕਟਰੀ ਵਰਤੋਂ" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "ਕੋਈ ਪਲੱਗਇਨ ਆਟੋਮੈਟਿਕ ਲੋਡ ਨਾ ਕਰੋ" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "ਪਲੱਗਇਨ ਆਟੋ-ਲੋਡ ਡਾਇਰੈਕਟਰੀ ਵੇਖਾਓ" + +#: src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "ਯੂਜ਼ਰ ਸੰਰਚਨਾ ਡਾਇਰੈਕਟਰੀ ਵੇਖਾਓ" + +#: src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "ਇੱਕ irc://server:port/channel URL ਖੋਲ੍ਹੋ" + +#: src/fe-gtk/fe-gtk.c:133 src/fe-gtk/setup.c:212 +msgid "Execute command:" +msgstr "ਕਮਾਂਡ ਚਲਾਓ:" + +#: src/fe-gtk/fe-gtk.c:134 +msgid "Open URL or execute command in an existing XChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "level" +msgstr "ਲੈਵਲ" + +#: src/fe-gtk/fe-gtk.c:137 +msgid "Show version information" +msgstr "ਵਰਜਨ ਜਾਣਕਾਰੀ ਵੇਖਾਓ" + +#: src/fe-gtk/fe-gtk.c:257 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"ਫੋਂਟ ਖੋਲ੍ਹਣ ਲਈ ਅਸਫ਼ਲ:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:636 +msgid "Search buffer is empty.\n" +msgstr "ਖੋਜ ਬਫ਼ਰ ਖਾਲੀ ਹੈ।\n" + +#: src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "%d bytes" +msgstr "%d ਬਾਇਟ" + +#: src/fe-gtk/fe-gtk.c:733 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "ਨੈੱਟਵਰਕ ਨੇ ਕਤਾਰ ਭੇਜੀ: %d ਬਾਈਟ" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into " +"the entry box where you pressed the key sequence. Thus it can contain text " +"(which will be sent to the channel/person), commands or user commands. When " +"run all \\n characters in Data 1 are used to deliminate seperate commands so " +"it is possible to run more than one command. If you want a \\ in the actual " +"text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1 " +"to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one " +"line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered to " +"the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "" +"The Last Command command sets the entry to contain the last command entered " +"- the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:171 +msgid "" +"The Next Command command sets the entry to contain the next command entered " +"- the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:173 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the " +"last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:175 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set " +"to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:177 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "ਇਹ ਕਮਾਂਡ ਮੌਜੂਦਾ ਟੈਬ ਨੂੰ ਇੱਕ ਖੱਬੇ ਅੱਗੇ ਖਿਸਕਾਏਗੀ" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "ਇਹ ਕਮਾਂਡ ਮੌਜੂਦਾ ਟੈਬ ਨੂੰ ਇੱਕ ਸੱਜੇ ਅੱਗੇ ਖਿਸਕਾਏਗੀ" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "ਇਹ ਕਮਾਂਡ ਮੌਜੂਦਾ ਟੈਬ ਵਰਗ ਨੂੰ ਖੱਬੇ ਪਾਸੇ ਖਿਸਕਾਏਗੀ" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "ਇਹ ਕਮਾਂਡ ਮੌਜੂਦਾ ਟੈਬ ਵਰਗ ਨੂੰ ਸੱਜੇ ਪਾਸੇ ਖਿਸਕਾਏਗੀ" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "ਇੰਪੁੱਟ ਸਤਰ ਨੂੰ ਅਤੀਤ ਵਿੱਚ ਰੱਖੋ, ਪਰ ਸਰਵਰ `ਤੇ ਨਾ ਭੇਜੋ" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "ਸਵਿੱਚ ਬੰਧਨ ਸੰਰਚਨਾ ਲੋਡ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ ਹੈ" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1635 src/fe-gtk/maingui.c:1751 +#: src/fe-gtk/maingui.c:3252 +msgid "<none>" +msgstr "<none>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "ਮੋਡ" + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "ਸਵਿੱਚ" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "ਐਕਸ਼ਨ" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: ਕੀ-ਬੋਰਡ ਸ਼ਾਰਟਕੱਟ" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "ਡਾਟਾ ੧" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "ਡਾਟਾ ੨" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "ਸਵਿੱਚ ਸੰਰਚਨਾ ਫਾਇਲ ਖੋਲਣ ਦੌਰਾਨ ਗਲਤੀ\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"ਸਵਿੱਚ ਬੰਧਨ ਸੰਰਚਨਾ ਫਾਇਲ ਵਿੱਚ ਅਣਜਾਣ ਸਵਿੱਚ ਨਾਂ %s\n" +"ਲੋਡ ਕਰਨਾ ਅਸਫਲ, ਕਿਰਪਾ ਕਰਕੇ %s/keybindings ਠੀਕ ਕਰੋ\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"ਸਵਿੱਚ ਬੰਧਨ ਸੰਰਚਨਾ ਫਾਇਲ ਵਿੱਚ ਅਣਜਾਣੀ ਕਾਰਵਾਈ %s\n" +"ਲੋਡ ਕਰਨਾ ਅਸਫਲ, ਕਿਰਪਾ ਕਰਕੇ %s/keybindings ਠੀਕ ਕਰੋ\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"ਡਾਟਾ ਸਤਰ (Dx{:|!} ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦੀ) ਦੀ ਮੰਗ ਸੀ, ਪਰ ਮਿਲਿਆ:\n" +"%s\n" +"\n" +"ਲੋਡ ਕਰਨਾ ਅਸਫਲ, ਕਿਰਪਾ ਕਰਕੇ %s/keybindings ਠੀਕ ਕਰੋ\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"ਸਵਿੱਚ ਬੰਧਨ ਸੰਰਚਨਾ ਫਾਇਲ ਨਿਕਾਰਾ ਹੈ, ਲੋਡ ਕਰਨਾ ਛੱਡਿਆ\n" +"ਕਿਰਪਾ ਕਰਕੇ %s/keybindings.conf ਠੀਕ ਕਰੋ\n" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "ਉਹ ਫਾਇਲ ਲਿਖੀ ਨਹੀਂ ਜਾ ਸਕੀ ਹੈ" + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "ਉਹ ਫਾਇਲ ਪੜ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ ਹੈ" + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:264 +msgid "That mask already exists." +msgstr "ਇਹ ਮਾਸਕ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ।" + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:2132 +msgid "Private" +msgstr "ਪ੍ਰਾਈਵੇਟ" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "ਨੋਟਿਸ" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "ਸੱਦਾ" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "ਨਾ-ਅਣਡਿੱਠਾ" + +#: src/fe-gtk/ignoregui.c:308 +msgid "Enter mask to ignore:" +msgstr "ਅਣਡਿੱਠਾ ਕਰਨ ਲਈ ਮਾਸਕ ਦਿਓ:" + +#: src/fe-gtk/ignoregui.c:355 +msgid "XChat: Ignore list" +msgstr "XChat: ਅਣਡਿੱਠੀ ਲਿਸਟ" + +#: src/fe-gtk/ignoregui.c:362 +msgid "Ignore Stats:" +msgstr "ਅਣਡਿੱਠੀ ਸਥਿਤੀ:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Channel:" +msgstr "ਚੈਨਲ:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Private:" +msgstr "ਪ੍ਰਾਈਵੇਟ:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Notice:" +msgstr "ਸੂਚਨਾ:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:374 +msgid "Invite:" +msgstr "ਸੱਦਾ:" + +#: src/fe-gtk/ignoregui.c:385 src/fe-gtk/notifygui.c:428 +msgid "Add..." +msgstr "ਸ਼ਾਮਲ..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "ਚੈਨਲ ਨਾਂ ਬਹੁਤ ਛੋਟਾ ਹੈ, ਫੇਰ ਟਰਾਈ ਕਰੋ ਜੀ।" + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: ਕੁਨੈਕਸ਼ਨ ਪੂਰਾ" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "%s ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਪੂਰਾ ਹੋਇਆ।" + +#: src/fe-gtk/joind.c:159 +msgid "" +"In the Server-List window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "ਤੁਸੀਂ ਅੱਗੇ ਕੀ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "ਕੁਝ ਨਹੀਂ, ਮੈਂ ਚੈਨਲ ਬਾਅਦ 'ਚ ਜੁਆਇੰਨ ਕਰਾਂਗਾ(_N)" + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "ਇਹ ਚੈਨਲ ਜੁਆਇੰਨ ਕਰੋ(_J):" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "ਚੈਨਲ-ਲਿਸਟ ਵਿੰਡੋ ਖੋਲ੍ਹੋ(_p)" + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "ਕੁਨੈਕਟ ਕਰਨ ਸਮੇਂ ਇਹ ਡਾਈਲਾਗ ਹਮੇਸ਼ਾ ਵੇਖਾਓ(_A)" + +#: src/fe-gtk/maingui.c:506 +msgid "Dialog with" +msgstr "ਡਾਈਲਾਗ" + +#: src/fe-gtk/maingui.c:793 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s ਲਈ ਵਿਸ਼ਾ ਹੈ: %s" + +#: src/fe-gtk/maingui.c:798 +msgid "No topic is set" +msgstr "ਕੋਈ ਵਿਸ਼ਾ ਦਿੱਤਾ ਨਹੀਂ ਗਿਆ" + +#: src/fe-gtk/maingui.c:1182 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "ਇਹ ਸਰਵਰ ਨਾਲ ਪਹਿਲਾਂ ਹੀ %d ਚੈਨਲ ਜਾਂ ਡਾਈਲਾਗ ਜੁੜੇ ਹੋਏ ਹਨ। ਕੀ ਸਭ ਨੂੰ ਬੰਦ ਕਰਨਾ ਹੈ?" + +#: src/fe-gtk/maingui.c:1276 +msgid "Quit XChat?" +msgstr "XChat ਬੰਦ ਕਰਨਾ?" + +#: src/fe-gtk/maingui.c:1297 +msgid "Don't ask next time." +msgstr "ਅਗਲੀ ਵਾਰ ਨਾ ਪੁੱਛੋ।" + +#: src/fe-gtk/maingui.c:1303 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "ਤੁਸੀਂ %i IRC ਨੈੱਟਵਰਕਾਂ ਨਾਲ ਕੁਨੈਕਟ ਹੋ।" + +#: src/fe-gtk/maingui.c:1305 +msgid "Are you sure you want to quit?" +msgstr "ਕੀ ਤੁਸੀਂ ਬੰਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: src/fe-gtk/maingui.c:1307 +msgid "Some file transfers are still active." +msgstr "ਕੁਝ ਫਾਇਲ ਟਰਾਂਸਫਰ ਹਾਲੇ ਚਾਲੂ ਹਨ।" + +#: src/fe-gtk/maingui.c:1325 +msgid "_Minimize to Tray" +msgstr "ਟਰੇ ਵਿੱਚ ਭੇਜੋ(_M)" + +#: src/fe-gtk/maingui.c:1545 +msgid "Insert Attribute or Color Code" +msgstr "ਗੁਣ ਜਾਂ ਰੰਗ ਕੋਡ ਸ਼ਾਮਿਲ" + +#: src/fe-gtk/maingui.c:1547 +msgid "<b>Bold</b>" +msgstr "<b>ਗੂੜਾ</b>" + +#: src/fe-gtk/maingui.c:1548 +msgid "<u>Underline</u>" +msgstr "<u>ਹੇਠਾਂ ਰੇਖਾ</u>" + +#: src/fe-gtk/maingui.c:1550 +msgid "Normal" +msgstr "ਸਧਾਰਨ" + +#: src/fe-gtk/maingui.c:1552 +msgid "Colors 0-7" +msgstr "ਰੰਗ ੦-੭" + +#: src/fe-gtk/maingui.c:1562 +msgid "Colors 8-15" +msgstr "ਰੰਗ ੮-੧੫" + +#: src/fe-gtk/maingui.c:1605 +msgid "_Settings" +msgstr "ਸੈਟਿੰਗ(_S)" + +#: src/fe-gtk/maingui.c:1607 +msgid "_Log to Disk" +msgstr "ਡਿਸਕ ਉੱਤੇ ਲਾਗ(_L)" + +#: src/fe-gtk/maingui.c:1608 +msgid "_Reload Scrollback" +msgstr "ਸਕਰੋਲ ਰੀ-ਲੋਡ ਕਰੋ(_R)" + +#: src/fe-gtk/maingui.c:1610 +msgid "_Hide Join/Part Messages" +msgstr "ਜੁਆਇੰਨ/ਛੱਡਣ ਸੁਨੇਹੇ ਓਹਲੇ(_H)" + +#: src/fe-gtk/maingui.c:1618 +msgid "_Extra Alerts" +msgstr "ਹੋਰ ਚੇਤਾਵਨੀਆਂ(_E)" + +#: src/fe-gtk/maingui.c:1620 +msgid "Beep on _Message" +msgstr "ਸੁਨੇਹੇ ਉੱਤੇ ਆਵਾਜ਼(_M)" + +#: src/fe-gtk/maingui.c:1621 +msgid "Blink Tray _Icon" +msgstr "ਟਰੇ ਆਈਕਾਨ ਝਪਕਾਓ(_I)" + +#: src/fe-gtk/maingui.c:1622 +msgid "Blink Task _Bar" +msgstr "ਟਾਸਕ ਬਾਰ ਝਪਕਾਓ(_B)" + +#: src/fe-gtk/maingui.c:1660 src/fe-gtk/menu.c:2124 +msgid "_Detach" +msgstr "ਵੱਖ ਕਰੋ(_D)" + +#: src/fe-gtk/maingui.c:1662 src/fe-gtk/menu.c:2125 src/fe-gtk/menu.c:2130 +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "ਬੰਦ ਕਰੋ(_C)" + +#: src/fe-gtk/maingui.c:2000 src/fe-gtk/maingui.c:2106 +msgid "User limit must be a number!\n" +msgstr "ਯੂਜ਼ਰ ਲਿਮਟ ਅੰਕ ਹੀ ਹੋ ਸਕਦਾ ਹੈ!\n" + +#: src/fe-gtk/maingui.c:2128 +msgid "Topic Protection" +msgstr "ਵਿਸ਼ਾ ਸੁਰੱਖਿਆ" + +#: src/fe-gtk/maingui.c:2129 +msgid "No outside messages" +msgstr "ਕੋਈ ਬਾਹਰੀ ਸੁਨੇਹਾ ਨਹੀਂ" + +#: src/fe-gtk/maingui.c:2130 +msgid "Secret" +msgstr "ਗੁਪਤ" + +#: src/fe-gtk/maingui.c:2131 +msgid "Invite Only" +msgstr "ਸਿਰਫ਼ ਸੱਦਾ" + +#: src/fe-gtk/maingui.c:2133 +msgid "Moderated" +msgstr "ਵਿਚੋਲਾ" + +#: src/fe-gtk/maingui.c:2134 +msgid "Ban List" +msgstr "ਪਾਬੰਦੀ ਲਿਸਟ" + +#: src/fe-gtk/maingui.c:2136 +msgid "Keyword" +msgstr "ਕੀ-ਵਰਡ" + +#: src/fe-gtk/maingui.c:2148 +msgid "User Limit" +msgstr "ਯੂਜ਼ਰ ਲਿਮਟ" + +#: src/fe-gtk/maingui.c:2257 +msgid "Show/Hide userlist" +msgstr "ਯੂਜ਼ਰ ਲਿਸਟ ਵੇਖਾਓ/ਓਹਲੇ" + +#: src/fe-gtk/maingui.c:2382 +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 "" +"ਪਾਰਦਰਸ਼ੀ ਬੈਕਗਰਾਊਂਡ ਬਣਾਉਣ ਲਈ ਅਸਫਲ!\n" +"\n" +"ਤੁਸੀਂ ਉਸ ਵਿੰਡੋ ਮੈਨੇਜਰ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ,\n" +"ਜਿਸ ਲਈ ਹਾਲੇ ਸਹਿਯੋਗ ਸ਼ਾਮਿਲ ਨਹੀਂ ਹੈ।\n" + +#: src/fe-gtk/maingui.c:2653 +msgid "Enter new nickname:" +msgstr "ਨਵਾਂ ਨਾਂ ਦਿਓ:" + +#: src/fe-gtk/menu.c:126 +msgid "Host unknown" +msgstr "ਅਣਜਾਣ ਹੋਸਟ" + +#: src/fe-gtk/menu.c:610 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:616 src/fe-gtk/menu.c:620 +msgid "Real Name:" +msgstr "ਅਸਲੀ ਨਾਂ:" + +#: src/fe-gtk/menu.c:624 +msgid "User:" +msgstr "ਯੂਜ਼ਰ:" + +#: src/fe-gtk/menu.c:628 +msgid "Country:" +msgstr "ਦੇਸ਼:" + +#: src/fe-gtk/menu.c:632 +msgid "Server:" +msgstr "ਸਰਵਰ:" + +#: src/fe-gtk/menu.c:640 +#, c-format +msgid "%u minutes ago" +msgstr "%u ਮਿੰਟ ਪਹਿਲਾਂ" + +#: src/fe-gtk/menu.c:642 src/fe-gtk/menu.c:645 +msgid "Last Msg:" +msgstr "ਆਖਰੀ ਸੁਨੇਹਾ:" + +#: src/fe-gtk/menu.c:655 +msgid "Away Msg:" +msgstr "ਦੂਰ ਸੁਨੇਹਾ:" + +#: src/fe-gtk/menu.c:710 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:835 +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 "" + +#: src/fe-gtk/menu.c:930 +msgid "Open Link in Browser" +msgstr "ਲਿੰਕ ਬਰਾਊਜ਼ਰ ਵਿੱਚ ਖੋਲ੍ਹੋ" + +#: src/fe-gtk/menu.c:931 +msgid "Copy Selected Link" +msgstr "ਚੁਣਿਆ ਲਿੰਕ ਕਾਪੀ ਕਰੋ" + +#: src/fe-gtk/menu.c:993 src/fe-gtk/menu.c:1264 +msgid "Join Channel" +msgstr "ਚੈਨਲ ਜੁਆਇੰਨ ਕਰੋ" + +#: src/fe-gtk/menu.c:997 +msgid "Part Channel" +msgstr "ਚੈਨਲ ਛੱਡੋ" + +#: src/fe-gtk/menu.c:999 +msgid "Cycle Channel" +msgstr "ਚੱਕਰੀ ਚੈਨਲ" + +#: src/fe-gtk/menu.c:1035 +msgid "_Remove from Favorites" +msgstr "ਪਸੰਦੀਦਾ ਵਿੱਚੋਂ ਹਟਾਓ(_R)" + +#: src/fe-gtk/menu.c:1037 +msgid "_Add to Favorites" +msgstr "ਪਸੰਦ ਵਿੱਚ ਸ਼ਾਮਲ(_A)" + +#: src/fe-gtk/menu.c:1056 +msgid "XChat: User menu" +msgstr "XChat: ਯੂਜ਼ਰ ਮੇਨੂ" + +#: src/fe-gtk/menu.c:1065 +msgid "Edit This Menu..." +msgstr "ਇਹ ਮੇਨੂ ਸੋਧ..." + +#: src/fe-gtk/menu.c:1266 +msgid "Retrieve channel list..." +msgstr "ਚੈਨਲ ਲਿਸਟ ਲਵੋ..." + +#: src/fe-gtk/menu.c:1334 +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 = xchat 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 "" + +#: src/fe-gtk/menu.c:1350 +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 "" + +#: src/fe-gtk/menu.c:1360 +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 "" + +#: src/fe-gtk/menu.c:1370 +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 "" + +#: src/fe-gtk/menu.c:1381 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" + +#: src/fe-gtk/menu.c:1390 +msgid "XChat: User Defined Commands" +msgstr "XChat: ਯੂਜ਼ਰ ਪ੍ਰਭਾਸ਼ਿਤ ਕਮਾਂਡ" + +#: src/fe-gtk/menu.c:1397 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: ਯੂਜ਼ਰ-ਲਿਸਟ ਪੋਪਅੱਪ ਮੇਨੂ" + +#: src/fe-gtk/menu.c:1404 +msgid "Replace with" +msgstr "ਇਸ ਨਾਲ ਤਬਦੀਲ" + +#: src/fe-gtk/menu.c:1404 +msgid "XChat: Replace" +msgstr "XChat: ਤਬਦੀਲ" + +#: src/fe-gtk/menu.c:1411 +msgid "XChat: URL Handlers" +msgstr "XChat: URL ਹੈਂਡਲਰ" + +#: src/fe-gtk/menu.c:1430 +msgid "XChat: Userlist buttons" +msgstr "XChat: ਯੂਜ਼ਰ-ਲਿਸਟ ਬਟਨ" + +#: src/fe-gtk/menu.c:1437 +msgid "XChat: Dialog buttons" +msgstr "XChat: ਗੱਲਬਾਤ ਬਟਨ" + +#: src/fe-gtk/menu.c:1444 +msgid "XChat: CTCP Replies" +msgstr "XChat:CTCP ਜਵਾਬ" + +#: src/fe-gtk/menu.c:1550 +msgid "_XChat" +msgstr "_X-ਚੈੱਟ" + +#: src/fe-gtk/menu.c:1551 +msgid "Network Li_st..." +msgstr "ਨੈੱਟਵਰਕ ਲਿਸਟ(_s)..." + +#: src/fe-gtk/menu.c:1554 +msgid "_New" +msgstr "ਨਵਾਂ(_N)" + +#: src/fe-gtk/menu.c:1555 +msgid "Server Tab..." +msgstr "ਸਰਵਰ ਟੈਬ..." + +#: src/fe-gtk/menu.c:1556 +msgid "Channel Tab..." +msgstr "ਚੈਨਲ ਟੈਬ..." + +#: src/fe-gtk/menu.c:1557 +msgid "Server Window..." +msgstr "ਸਰਵਰ ਵਿੰਡੋ..." + +#: src/fe-gtk/menu.c:1558 +msgid "Channel Window..." +msgstr "ਚੈਨਲ ਵਿੰਡੋ..." + +#: src/fe-gtk/menu.c:1563 src/fe-gtk/menu.c:1565 +msgid "_Load Plugin or Script..." +msgstr "ਪਲੱਗਇਨ ਜਾਂ ਸਕ੍ਰਿਪਟ ਲੋਡ(_L)..." + +#: src/fe-gtk/menu.c:1573 src/fe-gtk/plugin-tray.c:606 +msgid "_Quit" +msgstr "ਬਾਹਰ(_Q)" + +#: src/fe-gtk/menu.c:1575 +msgid "_View" +msgstr "ਵੇਖੋ(_V)" + +#: src/fe-gtk/menu.c:1577 +msgid "_Menu Bar" +msgstr "ਮੇਨੂ ਬਾਰ(_M)" + +#: src/fe-gtk/menu.c:1578 +msgid "_Topic Bar" +msgstr "ਵਿਸ਼ਾ ਬਾਰ(_T)" + +#: src/fe-gtk/menu.c:1579 +msgid "_User List" +msgstr "ਯੂਜ਼ਰ ਬਾਰ(_U)" + +#: src/fe-gtk/menu.c:1580 +msgid "U_serlist Buttons" +msgstr "ਯੂਜ਼ਰ ਲਿਸਟ ਬਟਨ(_s)..." + +#: src/fe-gtk/menu.c:1581 +msgid "M_ode Buttons" +msgstr "ਮੋਡ ਬਟਨ(_O)" + +#: src/fe-gtk/menu.c:1583 +msgid "_Channel Switcher" +msgstr "ਚੈਨਲ ਸਵਿੱਚਰ(_C)" + +#: src/fe-gtk/menu.c:1585 +msgid "_Tabs" +msgstr "ਟੈਬਾਂ(_T)" + +#: src/fe-gtk/menu.c:1586 +msgid "T_ree" +msgstr "ਲੜੀ(_r)" + +#: src/fe-gtk/menu.c:1588 +msgid "_Network Meters" +msgstr "ਨੈੱਟਵਰਕ ਮੀਟਰ(_N)" + +#: src/fe-gtk/menu.c:1590 +msgid "Off" +msgstr "ਬੰਦ" + +#: src/fe-gtk/menu.c:1591 +msgid "Graph" +msgstr "ਗਰਾਫ਼" + +#: src/fe-gtk/menu.c:1596 +msgid "_Server" +msgstr "ਸਰਵਰ(_S)" + +#: src/fe-gtk/menu.c:1597 +msgid "_Disconnect" +msgstr "ਕੁਨੈਕਸ਼ਨ ਬੰਦ(_D)" + +#: src/fe-gtk/menu.c:1598 +msgid "_Reconnect" +msgstr "ਫੇਰ ਕੁਨੈਕਟ ਕਰੋ(_R)" + +#: src/fe-gtk/menu.c:1599 +msgid "Join a Channel..." +msgstr "ਚੈਨਲ ਜੁਆਇੰਨ ਕਰੋ..." + +#: src/fe-gtk/menu.c:1600 +msgid "List of Channels..." +msgstr "ਚੈਨਲਾਂ ਦੀ ਲਿਸਟ..." + +#: src/fe-gtk/menu.c:1603 +msgid "Marked Away" +msgstr "ਦੂਰ ਗਿਆ ਵੇਖਾਓ" + +#: src/fe-gtk/menu.c:1605 +msgid "_Usermenu" +msgstr "ਯੂਜ਼ਰ ਮੇਨੂ(_U)" + +#: src/fe-gtk/menu.c:1607 +msgid "S_ettings" +msgstr "ਸੈਟਿੰਗ(_e)" + +#: src/fe-gtk/menu.c:1608 +msgid "_Preferences" +msgstr "ਮੇਰੀ ਪਸੰਦ(_P)" + +#: src/fe-gtk/menu.c:1610 +msgid "Advanced" +msgstr "ਤਕਨੀਕੀ" + +#: src/fe-gtk/menu.c:1611 +msgid "Auto Replace..." +msgstr "ਖੁਦ ਹੀ ਤਬਦੀਲ..." + +#: src/fe-gtk/menu.c:1612 +msgid "CTCP Replies..." +msgstr "CTCP ਜਵਾਬ..." + +#: src/fe-gtk/menu.c:1613 +msgid "Dialog Buttons..." +msgstr "ਗੱਲਬਾਤ ਬਟਨ..." + +#: src/fe-gtk/menu.c:1614 +msgid "Keyboard Shortcuts..." +msgstr "ਕੀ-ਬੋਰਡ ਸ਼ਾਰਟਕੱਟ..." + +#: src/fe-gtk/menu.c:1615 +msgid "Text Events..." +msgstr "ਟੈਕਸਟ ਘਟਨਾ..." + +#: src/fe-gtk/menu.c:1616 +msgid "URL Handlers..." +msgstr "URL ਹੈਂਡਲਰ..." + +#: src/fe-gtk/menu.c:1617 +msgid "User Commands..." +msgstr "ਯੂਜ਼ਰ ਕਮਾਂਡਾਂ..." + +#: src/fe-gtk/menu.c:1618 +msgid "Userlist Buttons..." +msgstr "ਯੂਜ਼ਰ-ਲਿਸਟ ਬਟਨ..." + +#: src/fe-gtk/menu.c:1619 +msgid "Userlist Popup..." +msgstr "ਯੂਜ਼ਰ-ਲਿਸਟ ਪੋਪਅੱਪ..." + +#: src/fe-gtk/menu.c:1622 +msgid "_Window" +msgstr "ਵਿੰਡੋ(_W)" + +#: src/fe-gtk/menu.c:1623 +msgid "Ban List..." +msgstr "ਪਾਬੰਦੀ ਲਿਸਟ..." + +#: src/fe-gtk/menu.c:1624 +msgid "Character Chart..." +msgstr "ਅੱਖਰ ਚਾਰਟ..." + +#: src/fe-gtk/menu.c:1625 +msgid "Direct Chat..." +msgstr "ਸਿੱਧੀ ਗੱਲ਼..." + +#: src/fe-gtk/menu.c:1626 +msgid "File Transfers..." +msgstr "ਫਾਇਲ ਟਰਾਂਸਫਰ..." + +#: src/fe-gtk/menu.c:1627 +msgid "Friends List..." +msgstr "ਦੋਸਤ ਲਿਸਟ..." + +#: src/fe-gtk/menu.c:1628 +msgid "Ignore List..." +msgstr "ਅਣਡਿੱਠਾ ਲਿਸਟ..." + +#: src/fe-gtk/menu.c:1629 +msgid "Plugins and Scripts..." +msgstr "ਪਲੱਗਇਨ ਤੇ ਸਕ੍ਰਿਪਟਾਂ..." + +#: src/fe-gtk/menu.c:1630 +msgid "Raw Log..." +msgstr "ਕੱਚਾ ਲਾਗ..." + +#: src/fe-gtk/menu.c:1631 +msgid "URL Grabber..." +msgstr "URL ਖੋਜੀ..." + +#: src/fe-gtk/menu.c:1633 +msgid "Reset Marker Line" +msgstr "ਮਾਰਕਰ ਲਾਈਨ ਮੁੜ-ਸੈੱਟ" + +#: src/fe-gtk/menu.c:1634 +msgid "C_lear Text" +msgstr "ਟੈਕਸਟ ਸਾਫ਼(_l)" + +#: src/fe-gtk/menu.c:1636 +msgid "Search Text..." +msgstr "ਟੈਕਸਟ ਖੋਜ..." + +#: src/fe-gtk/menu.c:1637 +msgid "Save Text..." +msgstr "ਟੈਕਸਟ ਸੰਭਾਲੋ..." + +#: src/fe-gtk/menu.c:1639 src/fe-gtk/menu.c:2116 +msgid "_Help" +msgstr "ਮੱਦਦ(_H)" + +#: src/fe-gtk/menu.c:1640 +msgid "_Contents" +msgstr "ਸਮੱਗਰੀ(_C)" + +#: src/fe-gtk/menu.c:1642 +msgid "Check for updates" +msgstr "ਅੱਪਡੇਟ ਲਈ ਚੈੱਕ ਕਰੋ" + +#: src/fe-gtk/menu.c:1644 +msgid "_About" +msgstr "ਇਸ ਬਾਰੇ(_A)" + +#: src/fe-gtk/menu.c:2129 +msgid "_Attach" +msgstr "ਅਟੈਚ ਕਰੋ(_A)" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "ਆਖਰੀ ਵਾਰ ਵੇਖਿਆ" + +#: src/fe-gtk/notifygui.c:182 +msgid "Offline" +msgstr "ਆਫਲਾਇਨ" + +#: src/fe-gtk/notifygui.c:202 src/fe-gtk/setup.c:231 +msgid "Never" +msgstr "ਕਦੇ ਨਹੀਂ" + +#: src/fe-gtk/notifygui.c:205 src/fe-gtk/notifygui.c:230 +#, c-format +msgid "%d minutes ago" +msgstr "%d ਮਿੰਟ ਪਹਿਲਾਂ" + +#: src/fe-gtk/notifygui.c:220 +msgid "Online" +msgstr "ਆਨਲਾਇਨ" + +#: src/fe-gtk/notifygui.c:349 +msgid "Enter nickname to add:" +msgstr "ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਨਾਂ ਦਿਓ:" + +#: src/fe-gtk/notifygui.c:378 +msgid "Notify on these networks:" +msgstr "ਇਹ ਨੈੱਟਵਰਕਾਂ ਉੱਤੇ ਸੂਚਨਾ ਦਿਓ:" + +#: src/fe-gtk/notifygui.c:389 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:415 +msgid "XChat: Friends List" +msgstr "XChat: ਦੋਸਤ ਲਿਸਟ" + +#: src/fe-gtk/notifygui.c:436 +msgid "Open Dialog" +msgstr "ਡਾਈਲਾਗ ਖੋਲ੍ਹੋ" + +#: src/fe-gtk/plugin-tray.c:250 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" + +#: src/fe-gtk/plugin-tray.c:301 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:585 +msgid "_Restore" +msgstr "ਰੀ-ਸਟੋਰ ਕਰੋ(_R)" + +#: src/fe-gtk/plugin-tray.c:587 +msgid "_Hide" +msgstr "ਓਹਲੇ(_H)" + +#: src/fe-gtk/plugin-tray.c:590 +msgid "_Blink on" +msgstr "ਝਪਕੋ(_B)" + +#: src/fe-gtk/plugin-tray.c:591 src/fe-gtk/setup.c:479 +msgid "Channel Message" +msgstr "ਚੈਨਲ ਸੁਨੇਹਾ" + +#: src/fe-gtk/plugin-tray.c:592 src/fe-gtk/setup.c:480 +msgid "Private Message" +msgstr "ਪ੍ਰਾਈਵੇਟ ਸੁਨੇਹਾ" + +#: src/fe-gtk/plugin-tray.c:593 src/fe-gtk/setup.c:481 +msgid "Highlighted Message" +msgstr "ਹਾਈਲਾਈਟ ਕੀਤਾ ਸੁਨੇਹਾ" + +#: src/fe-gtk/plugin-tray.c:596 +msgid "_Change status" +msgstr "ਹਾਲਤ ਬਦਲੋ(_C)" + +#: src/fe-gtk/plugin-tray.c:598 +msgid "_Away" +msgstr "ਦੂਰ(_A)" + +#: src/fe-gtk/plugin-tray.c:601 +msgid "_Back" +msgstr "ਵਾਪਸ(_B)" + +#: src/fe-gtk/plugin-tray.c:650 src/fe-gtk/plugin-tray.c:658 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "XChat: %s (%s): ਵਲੋਂ ਹਾਈਲਾਈਟ ਕੀਤਾ ਸੁਨੇਹਾ" + +#: src/fe-gtk/plugin-tray.c:653 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat: %u ਹਾਈਲਾਈਟ ਕੀਤੇ ਸੁਨੇਹਾ, ਆਖਰੀ ਵਲੋਂ: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:676 src/fe-gtk/plugin-tray.c:683 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat: %s (%s): ਵਲੋਂ ਨਵਾਂ ਪਬਲਿਕ ਸੁਨੇਹਾ" + +#: src/fe-gtk/plugin-tray.c:679 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat: %u ਨਵੇਂ ਪਬਲਿਕ ਸੁਨੇਹੇ" + +#: src/fe-gtk/plugin-tray.c:705 src/fe-gtk/plugin-tray.c:712 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat: %s (%s): ਵਲੋਂ ਪ੍ਰਾਈਵੇਟ ਸੁਨੇਹੇ" + +#: src/fe-gtk/plugin-tray.c:708 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat: %u ਪ੍ਰਾਈਵੇਟ ਸੁਨੇਹੇ: %s (%s) ਵਲੋਂ ਆਖਰੀ" + +#: src/fe-gtk/plugin-tray.c:758 src/fe-gtk/plugin-tray.c:766 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: %s (%s) ਵਲੋਂ ਫਾਈਲ ਭੇਜੀ" + +#: src/fe-gtk/plugin-tray.c:761 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "ਵਰਜਨ" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "ਵੇਰਵਾ" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "ਲੋਡ ਕਰਨ ਲਈ ਪਲੱਗਇਨ ਤੇ ਸਕ੍ਰਿਪਟ ਚੁਣੋ" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: ਪਲੱਗਇਨ ਅਤੇ ਸਕ੍ਰਿਪਟਾਂ" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "ਲੋਡ(_L)..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "ਅਣ-ਲੋਡ(_U)" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:438 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "ਇੰਞ ਸੰਭਾਲੋ..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: ਕੱਚਾ-ਲਾਗ (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "ਕੱਚਾ-ਲਾਗ ਸਾਫ਼" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "ਇਸ ਖੋਜ ਲਈ ਤੁਹਾਡੇ ਰਾਹੀਂ ਖੋਲਿਆ ਵਿੰਡੋ ਹੁਣ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।" + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "" + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: ਖੋਜ" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "ਅੱਖਰ ਕੇਸ ਮਿਲਾਓ(_M)" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "ਪਿੱਛੇ ਖੋਜ(_b)" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "ਖੋਜ(_F)" + +#: src/fe-gtk/servlistgui.c:171 src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "ਨਵਾਂ ਨੈੱਟਵਰਕ" + +#: src/fe-gtk/servlistgui.c:558 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "ਕੀ ਅਸਲ ਵਿੱਚ \"%s\" ਨੈਟਵਰਕ ਅਤੇ ਇਸ ਦੇ ਸਰਵਰ ਹਟਾਉਣੇ ਹਨ?" + +#: src/fe-gtk/servlistgui.c:740 +msgid "#channel" +msgstr "#channel" + +#: src/fe-gtk/servlistgui.c:850 +msgid "XChat: Favorite Channels (Auto-Join List)" +msgstr "XChat: ਪਸੰਦੀਦਾ ਚੈਨਲ (ਆਟੋ-ਜੁਆਇੰਨ ਲਿਸਟ)" + +#: src/fe-gtk/servlistgui.c:863 +#, c-format +msgid "These channels will be joined whenever you connect to %s." +msgstr "ਇਹ ਚੈਨਲ ਜੁਆਇੰਨ ਕੀਤੇ ਜਾਣਗੇ, ਜਦੋਂ ਵੀ ਤੁਸੀਂ %s ਨਾਲ ਕੁਨੈਕਟ ਕਰੋਗੇ।" + +#: src/fe-gtk/servlistgui.c:906 +msgid "Key (Password)" +msgstr "ਕੁੰਜੀ (ਪਾਸਵਰਡ)" + +#: src/fe-gtk/servlistgui.c:937 src/fe-gtk/servlistgui.c:1566 +msgid "_Edit" +msgstr "ਸੋਧ(_E)" + +#: src/fe-gtk/servlistgui.c:973 +#, c-format +msgid "%s has been removed." +msgstr "%s ਹਟਾਇਆ ਗਿਆ।" + +#: src/fe-gtk/servlistgui.c:993 +#, c-format +msgid "%s has been added." +msgstr "%s ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ।" + +#: src/fe-gtk/servlistgui.c:1017 +msgid "User name and Real name cannot be left blank." +msgstr "ਯੂਜ਼ਰ ਨਾਂ ਅਤੇ ਅਸਲੀ ਨਾਂ ਖਾਲੀ ਨਹੀ ਛੱਡਿਆ ਨਹੀ ਜਾ ਸਕਦਾ ਹੈ।" + +#: src/fe-gtk/servlistgui.c:1397 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: %s ਸੋਧ" + +#: src/fe-gtk/servlistgui.c:1416 +#, c-format +msgid "Servers for %s" +msgstr "%s ਲਈ ਸਰਵਰ" + +#: src/fe-gtk/servlistgui.c:1427 +msgid "Connect to selected server only" +msgstr "ਚੁਣੇ ਸਰਵਰਾਂ ਨਾਲ ਹੀ ਜੁੜੋ" + +#: src/fe-gtk/servlistgui.c:1428 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "ਕੁਨੈਕਸ਼ਨ ਅਸਫਲ ਹੋਣ ਤੇ ਸਰਵਰਾਂ ਵਿੱਚ ਚੱਕਰ ਨਾ ਲਗਾਉ।" + +#: src/fe-gtk/servlistgui.c:1430 +msgid "Your Details" +msgstr "ਤੁਹਾਡਾ ਵੇਰਵਾ" + +#: src/fe-gtk/servlistgui.c:1436 +msgid "Use global user information" +msgstr "ਗਲੋਬਲ ਯੂਜ਼ਰ ਜਾਣਕਾਰੀ ਵਰਤੋਂ" + +#: src/fe-gtk/servlistgui.c:1439 src/fe-gtk/servlistgui.c:1671 +msgid "_Nick name:" +msgstr "ਨਾਂ(_N):" + +#: src/fe-gtk/servlistgui.c:1443 src/fe-gtk/servlistgui.c:1678 +msgid "Second choice:" +msgstr "ਦੂਜੀ ਚੋਣ:" + +#: src/fe-gtk/servlistgui.c:1447 src/fe-gtk/servlistgui.c:1692 +msgid "_User name:" +msgstr "ਯੂਜ਼ਰ ਨਾਂ(_U):" + +#: src/fe-gtk/servlistgui.c:1451 src/fe-gtk/servlistgui.c:1699 +msgid "Rea_l name:" +msgstr "ਅਸਲੀ ਨਾਂ(_l):" + +#: src/fe-gtk/servlistgui.c:1454 +msgid "Connecting" +msgstr "ਕੁਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: src/fe-gtk/servlistgui.c:1460 +msgid "Auto connect to this network at startup" +msgstr "ਸ਼ੁਰੂ ਵੇਲੇ ਇਸ ਨੈਟਵਰਕ ਨਾਲ ਆਟੋਮੈਟਿਕ ਹੀ ਕੁਨੈਕਟ ਕਰੋ" + +#: src/fe-gtk/servlistgui.c:1462 +msgid "Bypass proxy server" +msgstr "ਪਰਾਕਸੀ ਸਰਵਰ ਬਾਏਪਾਸ ਕਰੋ" + +#: src/fe-gtk/servlistgui.c:1464 +msgid "Use SSL for all the servers on this network" +msgstr "ਇਸ ਨੈਟਵਰਕ ਤੇ ਸਭ ਸਰਵਰਾਂ ਲਈ SSL ਵਰਤੋਂ" + +#: src/fe-gtk/servlistgui.c:1469 +msgid "Accept invalid SSL certificate" +msgstr "ਗਲਤ SSL ਸਰਟੀਫਿਕੇਟ ਮਨਜ਼ੂਰ" + +#: src/fe-gtk/servlistgui.c:1475 +msgid "_Favorite channels:" +msgstr "ਪਸੰਦੀਦਾ ਚੈਨਲ(_F):" + +#: src/fe-gtk/servlistgui.c:1477 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "ਜੁਆਇੰਨ ਕਰਨ ਲਈ ਚੈਨਲ, ਕਾਮਿਆਂ ਨਾਲ ਵੱਖ ਹੋ ਸਕਦੇ ਹਨ, ਪਰ ਖਾਲੀ ਥਾਂ ਨਹੀਂ!" + +#: src/fe-gtk/servlistgui.c:1480 +msgid "Connect command:" +msgstr "ਕੁਨੈਕਟ ਕਮਾਂਡ:" + +#: src/fe-gtk/servlistgui.c:1482 +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 "" + +#: src/fe-gtk/servlistgui.c:1485 +msgid "Nickserv password:" +msgstr "Nickserv ਪਾਸਵਰਡ:" + +#: src/fe-gtk/servlistgui.c:1487 +msgid "" +"If your nickname requires a password, enter it here. Not all IRC networks " +"support this." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1491 +msgid "Server password:" +msgstr "ਸਰਵਰ ਪਾਸਵਰਡ:" + +#: src/fe-gtk/servlistgui.c:1493 +msgid "Password for the server, if in doubt, leave blank." +msgstr "ਸਰਵਰ ਲਈ ਪਾਸਵਰਡ, ਜੇਕਰ ਸ਼ੱਕ ਹੋਵੇ ਤਾਂ ਖਾਲੀ ਰਹਿਣ ਦਿਓ।" + +#: src/fe-gtk/servlistgui.c:1496 +msgid "Character set:" +msgstr "ਕਰੈਕਟਰ ਸੈੱਟ:" + +#: src/fe-gtk/servlistgui.c:1649 +msgid "XChat: Network List" +msgstr "XChat: ਨੈੱਟਵਰਕ ਲਿਸਟ" + +#: src/fe-gtk/servlistgui.c:1661 +msgid "User Information" +msgstr "ਯੂਜ਼ਰ ਜਾਣਕਾਰੀ" + +#: src/fe-gtk/servlistgui.c:1685 +msgid "Third choice:" +msgstr "ਤੀਜੀ ਚੋਣ:" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "Networks" +msgstr "ਨੈੱਟਵਰਕ" + +#: src/fe-gtk/servlistgui.c:1786 +msgid "Skip network list on startup" +msgstr "ਸ਼ੁਰੂ ਵੇਲੇ ਨੈੱਟਵਰਕ ਲਿਸਟ ਨਾ ਵੇਖਾਓ" + +#: src/fe-gtk/servlistgui.c:1818 +msgid "_Edit..." +msgstr "ਸੋਧ(_E)..." + +#: src/fe-gtk/servlistgui.c:1825 +msgid "_Sort" +msgstr "ਲੜੀਬੱਧ(_S)" + +#: src/fe-gtk/servlistgui.c:1826 +msgid "" +"Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1851 +msgid "C_onnect" +msgstr "ਕੁਨੈਕਟ ਕਰੋ(_C)" + +#: src/fe-gtk/setup.c:104 +msgid "Text Box Appearance" +msgstr "ਟੈਕਸਟ ਬਕਸਾ ਦਿੱਖ" + +#: src/fe-gtk/setup.c:105 +msgid "Font:" +msgstr "ਫੋਂਟ:" + +#: src/fe-gtk/setup.c:106 +msgid "Background image:" +msgstr "ਬੈਕਗਰਾਊਂਡ ਚਿੱਤਰ:" + +#: src/fe-gtk/setup.c:107 +msgid "Scrollback lines:" +msgstr "ਸਕਰੋਲਬੈਕ ਲਾਈਨਾਂ:" + +#: src/fe-gtk/setup.c:108 +msgid "Colored nick names" +msgstr "ਰੰਗਦਾਰ ਨਾਂ" + +#: src/fe-gtk/setup.c:109 +msgid "Give each person on IRC a different color" +msgstr "IRC ਤੇ ਹਰ ਵਿਅਕਤੀ ਨੂੰ ਵੱਖਰਾ ਰੰਗ ਦਿਓ" + +#: src/fe-gtk/setup.c:110 +msgid "Indent nick names" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Make nick names right-justified" +msgstr "ਨਾਂਵਾਂ ਨੂੰ ਸੱਜੇ ਪਾਸੇ ਰੱਖੋ" + +#: src/fe-gtk/setup.c:112 +msgid "Transparent background" +msgstr "ਪਾਰਦਰਸ਼ੀ ਬੈਕਗਰਾਊਂਡ" + +#: src/fe-gtk/setup.c:113 +msgid "Show marker line" +msgstr "ਮਾਰਕਰ ਲਾਈਨ ਵੇਖੋ" + +#: src/fe-gtk/setup.c:114 +msgid "Insert a red line after the last read text." +msgstr "ਆਖਰੀ ਪੜ੍ਹੇ ਪਾਠ ਬਾਅਦ ਲਾਲ ਰੰਗ ਦੀ ਰੇਖਾ ਖਿੱਚੋ।" + +#: src/fe-gtk/setup.c:115 +msgid "Transparency Settings" +msgstr "ਪਾਰਦਰਸ਼ਤਾ ਸੈਟਿੰਗ" + +#: src/fe-gtk/setup.c:116 +msgid "Red:" +msgstr "ਲਾਲ:" + +#: src/fe-gtk/setup.c:117 +msgid "Green:" +msgstr "ਹਰਾ:" + +#: src/fe-gtk/setup.c:118 +msgid "Blue:" +msgstr "ਨੀਲਾ:" + +#: src/fe-gtk/setup.c:120 src/fe-gtk/setup.c:391 +msgid "Time Stamps" +msgstr "ਸਮਾਂ ਮੋਹਰ" + +#: src/fe-gtk/setup.c:121 +msgid "Enable time stamps" +msgstr "ਸਮਾਂ ਮੋਹਰ ਯੋਗ" + +#: src/fe-gtk/setup.c:122 +msgid "Time stamp format:" +msgstr "ਸਮਾਂ ਮੋਹਰ ਫਾਰਮੈਟ:" + +#: src/fe-gtk/setup.c:123 src/fe-gtk/setup.c:394 +msgid "See strftime manpage for details." +msgstr "ਵੇਰਵੇ ਲਈ strftime manpage ਵੇਖੋ" + +#: src/fe-gtk/setup.c:130 src/fe-gtk/setup.c:170 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:131 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:137 src/fe-gtk/setup.c:1701 +msgid "Input box" +msgstr "ਇੰਪੁੱਟ ਬਕਸਾ" + +#: src/fe-gtk/setup.c:138 src/fe-gtk/setup.c:202 +msgid "Use the Text box font and colors" +msgstr "ਟੈਕਸਟ ਬਕਸਾ ਫੋਂਟ ਤੇ ਰੰਗ ਵਰਤੋਂ" + +#: src/fe-gtk/setup.c:140 +msgid "Spell checking" +msgstr "ਸਪੈਲ ਚੈਕਿੰਗ" + +#: src/fe-gtk/setup.c:143 +msgid "Nick Completion" +msgstr "ਨਾਂ ਪੂਰਤੀ" + +#: src/fe-gtk/setup.c:144 +msgid "Automatic nick completion (without TAB key)" +msgstr "ਆਟੋਮੈਟਿਕ ਨਾਂ ਪੂਰਨ (ਬਿਨਾਂ ਟੈਬ ਸਵਿੱਚ)" + +#: src/fe-gtk/setup.c:146 +msgid "Nick completion suffix:" +msgstr "ਨਾਂ ਪੂਰਤੀ ਅਗੇਤਰ:" + +#: src/fe-gtk/setup.c:147 +msgid "Nick completion sorted:" +msgstr "ਨਾਂ ਪੂਰਨ ਲੜੀਬੱਧ:" + +#: src/fe-gtk/setup.c:150 +msgid "Input Box Codes" +msgstr "ਇੰਪੁੱਟ ਬਕਸਾ ਕੋਡ" + +#: src/fe-gtk/setup.c:151 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "" + +#: src/fe-gtk/setup.c:169 +msgid "A-Z, Ops first" +msgstr "A-Z, ਓਪਰੇਟਰ ਪਹਿਲਾਂ" + +#: src/fe-gtk/setup.c:171 +msgid "Z-A, Ops last" +msgstr "Z-A, ਓਪਰੇਟਰ ਅੰਤ ਵਿੱਚ" + +#: src/fe-gtk/setup.c:172 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:173 +msgid "Unsorted" +msgstr "ਨਾ-ਕ੍ਰਮਬੱਧ" + +#: src/fe-gtk/setup.c:179 src/fe-gtk/setup.c:191 +msgid "Left (Upper)" +msgstr "ਖੱਬਾ (ਉੱਤੇ)" + +#: src/fe-gtk/setup.c:180 src/fe-gtk/setup.c:192 +msgid "Left (Lower)" +msgstr "ਖੱਬਾ (ਥੱਲੇ)" + +#: src/fe-gtk/setup.c:181 src/fe-gtk/setup.c:193 +msgid "Right (Upper)" +msgstr "ਸੱਜਾ (ਉੱਤੇ)" + +#: src/fe-gtk/setup.c:182 src/fe-gtk/setup.c:194 +msgid "Right (Lower)" +msgstr "ਸੱਜਾ (ਥੱਲੇ)" + +#: src/fe-gtk/setup.c:183 +msgid "Top" +msgstr "ਉੱਤੇ" + +#: src/fe-gtk/setup.c:184 +msgid "Bottom" +msgstr "ਹੇਠਾਂ" + +#: src/fe-gtk/setup.c:185 +msgid "Hidden" +msgstr "ਓਹਲੇ" + +#: src/fe-gtk/setup.c:200 +msgid "User List" +msgstr "ਯੂਜ਼ਰ ਲਿਸਟ" + +#: src/fe-gtk/setup.c:201 +msgid "Show hostnames in user list" +msgstr "ਯੂਜ਼ਰ ਲਿਸਟ ਵਿੱਚ ਹੋਸਟ ਨਾਂ" + +#: src/fe-gtk/setup.c:204 +msgid "User list sorted by:" +msgstr "ਯੂਜ਼ਰ ਲਿਸਟ ਕ੍ਰਮਬੱਧ:" + +#: src/fe-gtk/setup.c:205 +msgid "Show user list at:" +msgstr "ਯੂਜ਼ਰ ਲਿਸਟ ਵੇਖੋ:" + +#: src/fe-gtk/setup.c:207 +msgid "Away tracking" +msgstr "ਹਮੇਸ਼ਾ ਪੜਤਾਲ" + +#: src/fe-gtk/setup.c:208 +msgid "Track the Away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:209 +msgid "On channels smaller than:" +msgstr "ਇਸ ਤੋਂ ਛੋਟੇ ਚੈਨਲ ਲਈ:" + +#: src/fe-gtk/setup.c:211 +msgid "Action Upon Double Click" +msgstr "ਦੋ ਵਾਰ ਦਬਾਉਣ ਤੇ ਕਾਰਵਾਈ" + +#: src/fe-gtk/setup.c:223 +msgid "Windows" +msgstr "ਵਿੰਡੋ" + +#: src/fe-gtk/setup.c:224 src/fe-gtk/setup.c:240 +msgid "Tabs" +msgstr "ਟੈਬਾਂ" + +#: src/fe-gtk/setup.c:232 +msgid "Always" +msgstr "ਹਮੇਸ਼ਾ" + +#: src/fe-gtk/setup.c:233 +msgid "Only requested tabs" +msgstr "ਸਿਰਫ਼ ਮੰਗੀਆਂ ਟੈਬਾਂ" + +#: src/fe-gtk/setup.c:242 +msgid "Tree" +msgstr "ਲੜੀ" + +#: src/fe-gtk/setup.c:249 +msgid "Switcher type:" +msgstr "ਸਵਿੱਚਰ ਟਾਈਪ:" + +#: src/fe-gtk/setup.c:250 +msgid "Open an extra tab for server messages" +msgstr "ਸਰਵਰ ਸੁਨੇਹਿਆਂ ਲਈ ਵੱਖਰੀ ਟੈਬ ਖੋਲ੍ਹੋ" + +#: src/fe-gtk/setup.c:251 +msgid "Open an extra tab for server notices" +msgstr "ਸਰਵਰ ਸੂਚਨਾ ਲਈ ਵੱਖਰੀ ਟੈਬ ਖੋਲ੍ਹੋ" + +#: src/fe-gtk/setup.c:252 +msgid "Open a new tab when you receive a private message" +msgstr "ਜਦੋਂ ਪ੍ਰਾਈਵੇਟ ਸੁਨੇਹਾ ਆਵੇ ਤਾਂ ਨਵੀਂ ਟੈਬ ਵਿੱਚ ਖੋਲ੍ਹੋ" + +#: src/fe-gtk/setup.c:253 +msgid "Sort tabs in alphabetical order" +msgstr "ਟੈਬਾਂ ਨੂੰ ਅੱਖਰ-ਕ੍ਰਮ ਅਨੁਸਾਰ ਰੱਖੋ " + +#: src/fe-gtk/setup.c:254 +msgid "Smaller text" +msgstr "ਛੋਟਾ ਟੈਕਸਟ" + +#: src/fe-gtk/setup.c:256 +msgid "Focus new tabs:" +msgstr "ਨਵੀਂ ਟੈਬਾਂ ਲਈ ਫੋਕਸ:" + +#: src/fe-gtk/setup.c:258 +msgid "Show channel switcher at:" +msgstr "ਚੈਨਲ ਸਵਿੱਚਰ ਵੇਖੋ:" + +#: src/fe-gtk/setup.c:259 +msgid "Shorten tab labels to:" +msgstr "ਛੋਟਾ ਟੈਬ ਨਾਂ:" + +#: src/fe-gtk/setup.c:259 +msgid "letters." +msgstr "ਅੱਖਰ" + +#: src/fe-gtk/setup.c:261 +msgid "Tabs or Windows" +msgstr "ਟੈਬਾਂ ਜਾਂ ਵਿੰਡੋਜ਼" + +#: src/fe-gtk/setup.c:262 +msgid "Open channels in:" +msgstr "ਚੈਨਲ ਖੋਲ੍ਹੋ:" + +#: src/fe-gtk/setup.c:263 +msgid "Open dialogs in:" +msgstr "ਡਾਈਲਾਗ ਵਿੱਚ ਖੋਲ੍ਹੋ:" + +#: src/fe-gtk/setup.c:264 +msgid "Open utilities in:" +msgstr "ਸਹੂਲਤਾਂ ਨੂੰ ਖੋਲ੍ਹੋ:" + +#: src/fe-gtk/setup.c:264 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "No" +msgstr "ਨਹੀਂ" + +#: src/fe-gtk/setup.c:272 +msgid "Yes" +msgstr "ਹਾਂ" + +#: src/fe-gtk/setup.c:273 +msgid "Browse for save folder every time" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Files and Directories" +msgstr "ਫਾਇਲਾਂ ਅਤੇ ਡਾਇਰੈਕਟਰੀਆਂ" + +#: src/fe-gtk/setup.c:280 +msgid "Auto accept file offers:" +msgstr "" + +#: src/fe-gtk/setup.c:281 +msgid "Download files to:" +msgstr "ਫਾਇਲਾਂ ਡਾਊਨਲੋਡ ਕਰੋ:" + +#: src/fe-gtk/setup.c:282 +msgid "Move completed files to:" +msgstr "ਮੁਕੰਮਲ ਫਾਇਲਾਂ ਨੂੰ ਭੇਜੋ:" + +#: src/fe-gtk/setup.c:283 +msgid "Save nick name in filenames" +msgstr "ਫਾਇਲ ਨਾਂ ਵਿੱਚ ਨਾਂ ਸੰਭਾਲੋ" + +#: src/fe-gtk/setup.c:285 +msgid "Network Settings" +msgstr "ਨੈਟਵਰਕ ਸੈਟਿੰਗ" + +#: src/fe-gtk/setup.c:286 +msgid "Get my address from the IRC server" +msgstr "IRC ਸਰਵਰ ਤੋਂ ਮੇਰਾ ਐਡਰੈੱਸ ਪ੍ਰਾਪਤ ਕਰੋ" + +#: src/fe-gtk/setup.c:287 +msgid "" +"Asks the IRC server for your real address. Use this if you have a 192.168.*." +"* address!" +msgstr "" + +#: src/fe-gtk/setup.c:288 +msgid "DCC IP address:" +msgstr "DCC IP ਐਡਰੈੱਸ:" + +#: src/fe-gtk/setup.c:289 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:290 +msgid "First DCC send port:" +msgstr "ਪਹਿਲੀਂ DCC ਭੇਜਣ ਪੋਰਟ:" + +#: src/fe-gtk/setup.c:291 +msgid "Last DCC send port:" +msgstr "ਆਖਰੀ DCC ਭੇਜਣ ਪੋਰਟ:" + +#: src/fe-gtk/setup.c:292 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:294 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਫਾਇਲ ਸੰਚਾਰ ਗਤੀ (ਬਾਈਟ ਪ੍ਰਤੀ ਸਕਿੰਟ)" + +#: src/fe-gtk/setup.c:295 +msgid "One upload:" +msgstr "ਇੱਕ ਅੱਪਲੋਡ:" + +#: src/fe-gtk/setup.c:296 src/fe-gtk/setup.c:298 +msgid "Maximum speed for one transfer" +msgstr "ਇੱਕ ਸੰਚਾਰ ਲਈ ਵੱਧੋ-ਵੱਧ ਗਤੀ" + +#: src/fe-gtk/setup.c:297 +msgid "One download:" +msgstr "ਇੱਕ ਡਾਊਨਲੋਡ:" + +#: src/fe-gtk/setup.c:299 +msgid "All uploads combined:" +msgstr "ਸਭ ਅੱਪਲੋਡ ਜੋੜ:" + +#: src/fe-gtk/setup.c:300 src/fe-gtk/setup.c:302 +msgid "Maximum speed for all files" +msgstr "ਸਭ ਫਾਇਲਾਂ ਲਈ ਵੱਧੋ-ਵੱਧ ਗਤੀ" + +#: src/fe-gtk/setup.c:301 +msgid "All downloads combined:" +msgstr "ਸਭ ਡਾਊਨਲੋਡ ਜੋੜ:" + +#: src/fe-gtk/setup.c:329 src/fe-gtk/setup.c:1707 +msgid "Alerts" +msgstr "ਚੇਤਾਵਨੀ" + +#: src/fe-gtk/setup.c:333 +msgid "Show tray balloons on:" +msgstr "ਟਰੇ ਬੁਲਬਲੇ ਵੇਖੋ:" + +#: src/fe-gtk/setup.c:335 +msgid "Blink tray icon on:" +msgstr "ਟਰੇ ਆਈਕਾਨ ਝਪਕਾਓ:" + +#: src/fe-gtk/setup.c:336 +msgid "Blink task bar on:" +msgstr "ਟਾਸਕ ਬਾਰ ਝਪਕਾਓ:" + +#: src/fe-gtk/setup.c:337 +msgid "Make a beep sound on:" +msgstr "ਬੀਪ ਸਾਊਂਡ ਦਿਓ:" + +#: src/fe-gtk/setup.c:339 +msgid "Enable system tray icon" +msgstr "ਸਿਸਟਮ ਟਰੇ ਆਈਕਾਨ ਚਾਲੂ" + +#: src/fe-gtk/setup.c:341 +msgid "Highlighted Messages" +msgstr "ਹਾਈਲਾਈਟ ਕੀਤੇ ਸੁਨੇਹੇ" + +#: src/fe-gtk/setup.c:342 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Extra words to highlight:" +msgstr "ਹਾਈਲਾਈਟ ਕਰਨ ਲਈ ਹੋਰ ਸ਼ਬਦ:" + +#: src/fe-gtk/setup.c:345 +msgid "Nick names not to highlight:" +msgstr "ਨਾ ਹਾਈਲਾਈਟ ਕਰਨ ਵਾਲੇ ਨਾਂ:" + +#: src/fe-gtk/setup.c:346 +msgid "Nick names to always highlight:" +msgstr "ਹਮੇਸ਼ਾ ਹਾਈਲਾਈਟ ਕਰਨ ਵਾਲੇ ਨਾਂ:" + +#: src/fe-gtk/setup.c:347 +#, fuzzy +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "(ਕਈ ਸ਼ਬਦ, ਜਿੰਨਾਂ ਨੂੰ ਕਾਮਿਆਂ ਨਾਲ ਵੱਖ ਕੀਤਾ ਗਿਆ ਹੋਵੇ)।" + +#: src/fe-gtk/setup.c:353 +msgid "Default Messages" +msgstr "ਡਿਫਾਲਟ ਸੁਨੇਹੇ" + +#: src/fe-gtk/setup.c:354 +msgid "Quit:" +msgstr "ਬਾਹਰ:" + +#: src/fe-gtk/setup.c:355 +msgid "Leave channel:" +msgstr "ਚੈਨਲ ਛੱਡਣਾ:" + +#: src/fe-gtk/setup.c:356 +msgid "Away:" +msgstr "ਦੂਰ:" + +#: src/fe-gtk/setup.c:358 +msgid "Away" +msgstr "ਦੂਰ" + +#: src/fe-gtk/setup.c:359 +msgid "Announce away messages" +msgstr "ਦੂਰ ਸੁਨੇਹਾ ਭੇਜੋ" + +#: src/fe-gtk/setup.c:360 +msgid "Announce your away messages to all channels" +msgstr "ਆਪਣਾ ਦੂਰ ਸੁਨੇਹਾ ਸਭ ਚੈਨਲਾਂ ਤੇ ਭੇਜੋ" + +#: src/fe-gtk/setup.c:361 +msgid "Show away once" +msgstr "ਦੂਰ ਇੱਕ ਵਾਰ ਹੀ ਵੇਖਾਓ" + +#: src/fe-gtk/setup.c:361 +msgid "Show identical away messages only once" +msgstr "ਇੱਕੋ ਜਿਹੇ ਦੂਰ ਸੁਨੇਹੇ ਨੂੰ ਇੱਕ ਵਾਰ ਹੀ ਵੇਖਾਓ" + +#: src/fe-gtk/setup.c:362 +msgid "Automatically unmark away" +msgstr "ਖੁਦ ਹੀ ਦੂਰ ਨੂੰ ਨਾ-ਮਾਸਕ ਕਰੋ" + +#: src/fe-gtk/setup.c:362 +msgid "Unmark yourself as away before sending messages" +msgstr "" + +#: src/fe-gtk/setup.c:369 +msgid "Advanced Settings" +msgstr "ਤਕਨੀਕੀ ਸੈਟਿੰਗ" + +#: src/fe-gtk/setup.c:370 +msgid "Auto reconnect delay:" +msgstr "ਅੰਤਰਾਲ ਬਾਅਦ ਮੁੜ-ਕੁਨੈਕਟ:" + +#: src/fe-gtk/setup.c:371 +msgid "Display MODEs in raw form" +msgstr "MODE ਨੂੰ ਕੱਚੇ ਰੂਪ ਵਿੱਚ ਵੇਖਾਓ" + +#: src/fe-gtk/setup.c:372 +msgid "Whois on notify" +msgstr "" + +#: src/fe-gtk/setup.c:372 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "" + +#: src/fe-gtk/setup.c:373 +msgid "Hide join and part messages" +msgstr "ਦਾਖਲਾ ਤੇ ਛੱਡਣਾ ਸੁਨੇਹੇ ਓਹਲੇ" + +#: src/fe-gtk/setup.c:373 +msgid "Hide channel join/part messages by default" +msgstr "ਮੂਲ ਰੂਪ ਵਿੱਚ ਚੈਨਲ ਦਾਖਲਾ/ਛੱਡਣਾ ਸੁਨੇਹੇ ਓਹਲੇ" + +#: src/fe-gtk/setup.c:374 +msgid "Auto Open DCC Windows" +msgstr "ਖੁਦ ਹੀ DCC ਵਿੰਡੋਜ਼ ਖੋਲ੍ਹੋ" + +#: src/fe-gtk/setup.c:375 +msgid "Send window" +msgstr "ਭੇਜਣ ਵਿੰਡੋ" + +#: src/fe-gtk/setup.c:376 +msgid "Receive window" +msgstr "ਪ੍ਰਾਪਤੀ ਵਿੰਡੋ" + +#: src/fe-gtk/setup.c:377 +msgid "Chat window" +msgstr "ਗੱਲਬਾਤ ਵਿੰਡੋ" + +#: src/fe-gtk/setup.c:385 src/fe-gtk/setup.c:1709 +msgid "Logging" +msgstr "ਲਾਗ ਰੱਖਣਾ" + +#: src/fe-gtk/setup.c:386 +msgid "Display scrollback from previous session" +msgstr "ਪਿਛਲੇ ਸ਼ੈਸ਼ਨ ਤੋਂ ਸਕਰੋਲਬੈਕ ਵੇਖਾਓ" + +#: src/fe-gtk/setup.c:387 +msgid "Enable logging of conversations to disk" +msgstr "ਗੱਲਾਂਬਾਤਾਂ ਲਈ ਡਿਸਕ ਉੱਤੇ ਲਾਗ ਰੱਖਣਾ ਚਾਲੂ" + +#: src/fe-gtk/setup.c:388 +msgid "Log filename:" +msgstr "ਲਾਗ ਫਾਇਲ ਨਾਂ:" + +#: src/fe-gtk/setup.c:389 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Server %c=Channel %n=Network" + +#: src/fe-gtk/setup.c:392 +msgid "Insert timestamps in logs" +msgstr "ਲਾਗ ਵਿੱਚ ਸਮਾਂ ਮੋਹਰ ਸ਼ਾਮਿਲ ਕਰੋ" + +#: src/fe-gtk/setup.c:393 +msgid "Log timestamp format:" +msgstr "ਲਾਗ ਸਮਾਂ ਮੋਹਰ ਫਾਰਮੈਟ:" + +#: src/fe-gtk/setup.c:401 +msgid "(Disabled)" +msgstr "(ਆਯੋਗ)" + +#: src/fe-gtk/setup.c:402 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:403 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:404 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:405 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:407 +msgid "MS Proxy (ISA)" +msgstr "" + +#: src/fe-gtk/setup.c:414 +msgid "All Connections" +msgstr "ਸਭ ਕੁਨੈਕਸ਼ਨ" + +#: src/fe-gtk/setup.c:415 +msgid "IRC Server Only" +msgstr "ਕੇਵਲ IRC ਸਰਵਰ" + +#: src/fe-gtk/setup.c:416 +msgid "DCC Get Only" +msgstr "ਕੇਵਲ DCC ਲਵੋ" + +#: src/fe-gtk/setup.c:422 +msgid "Your Address" +msgstr "ਤੁਹਾਡਾ ਐਡਰੈਸ" + +#: src/fe-gtk/setup.c:423 +msgid "Bind to:" +msgstr "ਸਬੰਧਿਤ:" + +#: src/fe-gtk/setup.c:424 +msgid "Only useful for computers with multiple addresses." +msgstr "ਕਈ ਐਡਰੈਸਾਂ ਵਾਲਿਆਂ ਲਈ ਹੀ ਫਾਇਦੇਮੰਦ।" + +#: src/fe-gtk/setup.c:426 +msgid "Proxy Server" +msgstr "ਸਰਵਰ ਸਰਵਰ" + +#: src/fe-gtk/setup.c:427 +msgid "Hostname:" +msgstr "ਹੋਸਟ ਨਾਂ:" + +#: src/fe-gtk/setup.c:428 +msgid "Port:" +msgstr "ਪੋਰਟ:" + +#: src/fe-gtk/setup.c:429 +msgid "Type:" +msgstr "ਕਿਸਮ:" + +#: src/fe-gtk/setup.c:430 +msgid "Use proxy for:" +msgstr "" + +#: src/fe-gtk/setup.c:432 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:434 +#, fuzzy +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "ਪਰਾਕਸੀ ਸਰਵਰ ਨਾਲ ਪ੍ਰਮਾਣਿਤ (HTTP ਅਤੇ Socks5)" + +#: src/fe-gtk/setup.c:436 +#, fuzzy +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "ਪਰਾਕਸੀ ਸਰਵਰ ਨਾਲ ਪ੍ਰਮਾਣਿਤ (HTTP ਅਤੇ Socks5)" + +#: src/fe-gtk/setup.c:438 +msgid "Username:" +msgstr "ਯੂਜ਼ਰ ਨਾਂ:" + +#: src/fe-gtk/setup.c:439 +msgid "Password:" +msgstr "ਪਾਸਵਰਡ:" + +#: src/fe-gtk/setup.c:870 +msgid "Select an Image File" +msgstr "ਇੱਕ ਤਸਵੀਰ ਫਾਇਲ ਚੁਣੋ" + +#: src/fe-gtk/setup.c:905 +msgid "Select Download Folder" +msgstr "ਡਾਊਨਲੋਡ ਫੋਲਡਰ ਚੁਣੋ" + +#: src/fe-gtk/setup.c:914 +msgid "Select font" +msgstr "ਫੋਂਟ ਚੁਣੋ" + +#: src/fe-gtk/setup.c:1014 +msgid "Browse..." +msgstr "ਝਲਕ..." + +#: src/fe-gtk/setup.c:1152 +msgid "Mark identified users with:" +msgstr "" + +#: src/fe-gtk/setup.c:1154 +msgid "Mark not-identified users with:" +msgstr "" + +#: src/fe-gtk/setup.c:1161 +msgid "Open Data Folder" +msgstr "ਡਾਟਾ ਫੋਲਡਰ ਖੋਲ੍ਹੋ" + +#: src/fe-gtk/setup.c:1215 +msgid "Select color" +msgstr "ਚੋਣ ਰੰਗ" + +#: src/fe-gtk/setup.c:1295 +msgid "Text Colors" +msgstr "ਪਾਠ ਰੰਗ" + +#: src/fe-gtk/setup.c:1297 +msgid "mIRC colors:" +msgstr "mIRC ਰੰਗ:" + +#: src/fe-gtk/setup.c:1305 +msgid "Local colors:" +msgstr "ਲੋਕਲ ਰੰਗ:" + +#: src/fe-gtk/setup.c:1313 src/fe-gtk/setup.c:1318 +msgid "Foreground:" +msgstr "ਫਾਰਗਰਾਊਂਡ:" + +#: src/fe-gtk/setup.c:1314 src/fe-gtk/setup.c:1319 +msgid "Background:" +msgstr "ਬੈਕਗਰਾਊਂਡ:" + +#: src/fe-gtk/setup.c:1316 +msgid "Marking Text" +msgstr "ਨਿਸ਼ਾਨ ਪਾਠ" + +#: src/fe-gtk/setup.c:1321 +msgid "Interface Colors" +msgstr "ਇੰਟਰਫੇਸ ਰੰਗ" + +#: src/fe-gtk/setup.c:1323 +msgid "New data:" +msgstr "ਨਵਾਂ ਡਾਟਾ:" + +#: src/fe-gtk/setup.c:1324 +msgid "Marker line:" +msgstr "ਮਾਰਕਰ ਲਾਈਨ:" + +#: src/fe-gtk/setup.c:1325 +msgid "New message:" +msgstr "ਨਵਾਂ ਸੁਨੇਹਾ:" + +#: src/fe-gtk/setup.c:1326 +msgid "Away user:" +msgstr "ਦੂਰ ਯੂਜ਼ਰ:" + +#: src/fe-gtk/setup.c:1327 +msgid "Highlight:" +msgstr "ਹਾਈਲਾਈਟ:" + +#: src/fe-gtk/setup.c:1423 src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "ਈਵੈਂਟ" + +#: src/fe-gtk/setup.c:1429 +msgid "Sound file" +msgstr "ਸਾਊਂਡ ਫਾਇਲ" + +#: src/fe-gtk/setup.c:1464 +msgid "Select a sound file" +msgstr "ਸਾਊਂਡ ਫਾਇਲ ਚੁਣੋ" + +#: src/fe-gtk/setup.c:1536 +msgid "Sound playing method:" +msgstr "ਸਾਊਂਡ ਚਲਾਉਣ ਢੰਗ:" + +#: src/fe-gtk/setup.c:1544 +msgid "External sound playing _program:" +msgstr "ਬਾਹਰੀ ਸਾਊਂਡ ਵਾਲਾ ਪਰੋਗਰਾਮ(_p):" + +#: src/fe-gtk/setup.c:1562 +msgid "_External program" +msgstr "ਬਾਹਰੀ ਐਪਲੀਕੇਸ਼ਨ(_E)" + +#: src/fe-gtk/setup.c:1572 +msgid "_Automatic" +msgstr "ਆਟੋਮੈਟਿਕ(_A)" + +#: src/fe-gtk/setup.c:1585 +msgid "Sound files _directory:" +msgstr "ਸਾਊਂਡ ਫਾਇਲ ਡਾਇਰੈਕਟਰੀ(_d):" + +#: src/fe-gtk/setup.c:1624 +msgid "Sound file:" +msgstr "ਸਾਊਂਡ ਫਾਇਲ:" + +#: src/fe-gtk/setup.c:1639 +msgid "_Browse..." +msgstr "ਝਲਕ(_B)..." + +#: src/fe-gtk/setup.c:1650 +msgid "_Play" +msgstr "ਚਲਾਓ(_P)" + +#: src/fe-gtk/setup.c:1699 +msgid "Interface" +msgstr "ਇੰਟਰਫੇਸ" + +#: src/fe-gtk/setup.c:1700 +msgid "Text box" +msgstr "ਟੈਕਸਟ ਬਾਕਸ" + +#: src/fe-gtk/setup.c:1702 +msgid "User list" +msgstr "ਯੂਜ਼ਰ ਲਿਸਟ" + +#: src/fe-gtk/setup.c:1703 +msgid "Channel switcher" +msgstr "ਚੈਨਲ ਸਵਿੱਚਰ" + +#: src/fe-gtk/setup.c:1704 +msgid "Colors" +msgstr "ਰੰਗ" + +#: src/fe-gtk/setup.c:1706 +msgid "Chatting" +msgstr "ਗੱਲਬਾਤ ਜਾਰੀ ਹੈ" + +#: src/fe-gtk/setup.c:1708 +msgid "General" +msgstr "ਸਧਾਰਨ" + +#: src/fe-gtk/setup.c:1710 +msgid "Sound" +msgstr "ਸਾਊਂਡ" + +#: src/fe-gtk/setup.c:1714 +msgid "Network setup" +msgstr "ਨੈੱਟਵਰਕ ਸੈੱਟਅੱਪ" + +#: src/fe-gtk/setup.c:1715 +msgid "File transfers" +msgstr "ਫਾਇਲ ਟਰਾਂਸਫਰ" + +#: src/fe-gtk/setup.c:1823 +msgid "Categories" +msgstr "ਕੈਟਾਗਰੀਆਂ" + +#: src/fe-gtk/setup.c:2007 +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 "" + +#: src/fe-gtk/setup.c:2017 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "ਕੁਝ ਅਜਿਹੀਆਂ ਤਬਦੀਲੀਆਂ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ, ਜੋ ਕਿ ਮੁੜ ਚਾਲੂ ਕਰਨ ਉਪਰੰਤ ਹੀ ਲਾਗੂ ਹੋ ਸਕਣਗੀਆਂ।" + +#: src/fe-gtk/setup.c:2025 +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 "" + +#: src/fe-gtk/setup.c:2058 +msgid "XChat: Preferences" +msgstr "XChat: ਮੇਰੀ ਪਸੰਦ" + +#: src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "ਸਤਰ ਪਾਰਸ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ" + +#: src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "ਇਹ ਸੰਕੇਤ ਨੂੰ ਕੇਵਲ %d ਮੁੱਲ ਦਿੱਤੇ ਜਾ ਸਕਦੇ ਹਨ, $%d ਗਲਤ ਹੈ" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "ਟੈਕਸਟ ਫਾਇਲ ਛਾਪੋ" + +#: src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "ਘਟਨਾ ਸੋਧ" + +#: src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$ ਅੰਕ" + +#: src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "ਇਥੋਂ ਲੋਡ..." + +#: src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "ਸਭ ਦੀ ਜਾਂਚ" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: URL ਖੋਜੀ" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "ਲਿਸਟ ਸਾਫ਼" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "ਚੁਣੇ URL ਦੀ ਕਾਪੀ ਕਰੋ" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "ਕਾਪੀ ਕਰੋ" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "ਲਿਸਟ ਫਾਇਲ `ਚ ਸੰਭਾਲੋ" + +#: src/fe-gtk/userlistgui.c:121 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d ਕੁੱਲ" + +#~ msgid "%C18*$t$1%O $2" +#~ msgstr "%C18*$t$1%O $2" + +#~ msgid "%C21*%O$t%C21%B$1%O%C21 $2" +#~ msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#~ msgid "%C18%B%B$4$1%O%C18%O$t$2" +#~ msgstr "%C18%B%B$4$1%O%C18%O$t$2" + +#~ msgid "$4%C21%B$1%O%C21$t$2" +#~ msgstr "$4%C21%B$1%O%C21$t$2" + +#~ msgid "%C28-%C29$1/$2%C28-%O$t$3" +#~ msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#~ msgid "$1$t$2" +#~ msgstr "$1$t$2" + +#~ msgid "%C19>%O$1%C19<%O$t$2" +#~ msgstr "%C19>%O$1%C19<%O$t$2" + +#~ msgid "%C16*%O$t$1%O" +#~ msgstr "%C16*%O$t$1%O" + +#~ msgid "%C28-%C29$1%C28-%O$t$2" +#~ msgstr "%C28-%C29$1%C28-%O$t$2" + +#~ msgid "%C28*%C29$3$1%C28*$t%O$2" +#~ msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#~ msgid "%C18%B%B$3$1%O$t$2" +#~ msgstr "%C18%B%B$3$1%O$t$2" + +#~ msgid "%C22*%O$t$1" +#~ msgstr "%C22*%O$t$1" + +#~ msgid "%C31%B%B$4$1%O%C30$t$2" +#~ msgstr "%C31%B%B$4$1%O%C30$t$2" + +#~ msgid "PID" +#~ msgstr "PID" + +#~ msgid "France, Metropolitan" +#~ msgstr "ਫਰਾਂਸ" + +#~ msgid "Neutral Zone" +#~ msgstr "ਨਿਰਪੱਖ ਜ਼ੋਨ" + +#~ msgid "US Minor Outlying Islands" +#~ msgstr "ਅਮਰੀਕੀ ਛੋਟੇ ਬਾਹਰੀ ਟਾਪੂ" + +#~ msgid "Direct client-to-client" +#~ msgstr "ਸਿੱਧਾ ਕਲਾਂਇਟ ਤੋਂ ਕਲਾਂਇਟ" + +#~ msgid "Send File" +#~ msgstr "ਫਾਇਲ ਭੇਜੋ" + +#~ msgid "Offer Chat" +#~ msgstr "ਗੱਲਬਾਤ ਸੱਦਾ" + +#~ msgid "Abort Chat" +#~ msgstr "ਗੱਲਬਾਤ ਅਧੂਰੀ ਛੱਡੋ" + +#~ msgid "Userinfo" +#~ msgstr "ਉਪਭੋਗੀ ਜਾਣਕਾਰੀ" + +#~ msgid "Clientinfo" +#~ msgstr "ਕਲਾਂਇਟ ਜਾਣਕਾਰੀ" + +#~ msgid "Time" +#~ msgstr "ਸਮਾਂ" + +#~ msgid "Finger" +#~ msgstr "ਫਿੰਗਰ" + +#~ msgid "Oper" +#~ msgstr "ਮੁੱਖੀ" + +#~ msgid "Kill this user" +#~ msgstr "ਇਹ ਉਪਭੋਗੀ ਖਤਮ" + +#~ msgid "Mode" +#~ msgstr "ਮੋਡ" + +#~ msgid "Give Half-Ops" +#~ msgstr "ਅੱਧਾ-ਮੁੱਖੀ ਦਿਓ" + +#~ msgid "Take Half-Ops" +#~ msgstr "ਅੱਧਾ-ਮੁੱਖੀ ਖੋਹੋ" + +#~ msgid "Ignore" +#~ msgstr "ਅਣਡਿੱਠਾ" + +#~ msgid "Ignore User" +#~ msgstr "ਉਪਭੋਗੀ ਅਣਡਿੱਠਾ" + +#~ msgid "UnIgnore User" +#~ msgstr "ਨਾ-ਅਣਡਿੱਠਾ ਉਪਭੋਗੀ" + +#~ msgid "Info" +#~ msgstr "ਜਾਣਕਾਰੀ" + +#~ msgid "Who" +#~ msgstr "ਕੌਣ" + +#~ msgid "DNS Lookup" +#~ msgstr "DNS ਖੋਜ" + +#~ msgid "Trace" +#~ msgstr "ਜਾਂਚ" + +#~ msgid "UserHost" +#~ msgstr "ਉਪਭੋਗੀ ਮੇਜ਼ਬਾਨ" + +#~ msgid "External" +#~ msgstr "ਬਾਹਰੀ" + +#~ msgid "Traceroute" +#~ msgstr "ਮਾਰਗ ਜਾਂਚ" + +#~ msgid "Telnet" +#~ msgstr "Telnet" + +#~ msgid "Unban" +#~ msgstr "ਪਾਬੰਦੀ ਹਟਾਓ" + +#~ msgid "I can't save an empty list!" +#~ msgstr "ਖਾਲੀ ਸੂਚੀ ਸੰਭਾਲੀ ਨਹੀਂ ਜਾ ਸਕਦੀ ਹੈ!" + +#~ msgid "List display options:" +#~ msgstr "ਸੂਚੀ ਦਿੱਖ ਚੋਣ:" + +#~ msgid "Minimum Users:" +#~ msgstr "ਘੱਟੋ-ਘੱਟ ਉਪਭੋਗੀ:" + +#~ msgid "Maximum Users:" +#~ msgstr "ਵੱਧੋ-ਵੱਧ ਉਪਭੋਗੀ:" + +#~ msgid "Regex Match:" +#~ msgstr "ਨਿਯਮਤ ਮੇਲ:" + +#~ msgid "Apply Match to:" +#~ msgstr "ਮੇਲ ਲਾਗੂ ਕਰੋ:" + +#~ msgid "Apply" +#~ msgstr "ਲਾਗੂ" + +#~ msgid "Refresh the list" +#~ msgstr "ਸੂਚੀ ਤਾਜ਼ਾ" + +#~ msgid "Save the list" +#~ msgstr "ਸੂਚੀ ਸੰਭਾਲੋ" + +#~ msgid "From:" +#~ msgstr "ਵੱਲੋਂ:" + +#~ msgid "To:" +#~ msgstr "ਵੱਲ:" + +#~ msgid "Size:" +#~ msgstr "ਅਕਾਰ:" + +#~ msgid "Started:" +#~ msgstr "ਸ਼ੁਰੂ:" + +#~ msgid "Speed limit:" +#~ msgstr "ਗਤੀ ਸੀਮਾ:" + +#~ msgid "MIME Type" +#~ msgstr "MIME ਕਿਸਮ" + +#~ msgid "XChat: File Receive List" +#~ msgstr "XChat: ਫਾਇਲ ਪ੍ਰਾਪਤੀ ਸੂਚੀ" + +#~ msgid "Open" +#~ msgstr "ਖੋਲੋ" + +#~ msgid "Ack" +#~ msgstr "Ack" + +#~ msgid "To" +#~ msgstr "ਵੱਲ" + +#~ msgid "To/From" +#~ msgstr "ਵੱਲ/ਵੱਲੋਂ" + +#~ msgid "No other tabs open, quit xchat?" +#~ msgstr "ਕੋਈ ਹੋਰ ਟੈਬ ਨਹੀਂ ਖੁੱਲੀ, xchat ਬੰਦ ਕਰਨਾ ਏਂ?" + +#~ msgid "Show join/part messages" +#~ msgstr "ਦਾਖਲ/ਬਾਹਰ ਸੁਨੇਹੇ ਵੇਖਾਓ" + +#~ msgid "Color paste" +#~ msgstr "ਰੰਗ ਚੇਪੋ" + +#~ msgid "Go to" +#~ msgstr "ਜਾਓ" + +#~ msgid "_Close Tab" +#~ msgstr "ਟੈਬ ਬੰਦ(_C)" + +#~ msgid "Settings saved." +#~ msgstr "ਵਿਵਸਥਾ ਸੰਭਾਲੀ ਗਈ" + +#~ msgid "_Layout" +#~ msgstr "ਖਾਕਾ(_L)" + +#~ msgid "Notify List..." +#~ msgstr "ਸੂਚਨਾ ਸੂਚੀ..." + +#~ msgid "_Close Window" +#~ msgstr "ਝਰੋਖਾ ਬੰਦ(_C)" + +#~ msgid "User" +#~ msgstr "ਉਪਭੋਗੀ" + +#~ msgid "Server" +#~ msgstr "ਸਰਵਰ" + +#~ msgid "Save rawlog" +#~ msgstr "ਕੱਚਾ-ਲਾਗ ਸੰਭਾਲੋ" + +#~ msgid "Save rawlog..." +#~ msgstr "ਕੱਚਾ-ਲਾਗ ਸੰਭਾਲੋ..." + +#~ msgid "Close" +#~ msgstr "ਬੰਦ ਕਰੋ" + +#~ msgid "C_hannels to join:" +#~ msgstr "ਜੁੜਨ ਲਈ ਚੈਨਲ(_h):" + +#~ msgid "XChat: Server List" +#~ msgstr "XChat: ਸਰਵਰ ਸੂਚੀ" + +#~ msgid "Completes nick names without using the TAB key" +#~ msgstr "ਟੈਬ ( TAB) ਸਵਿੱਚ ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਨਾਂ ਮੁਕੰਮਲ ਕਰੋ" + +#~ msgid "Input Box Appearance" +#~ msgstr "ਇੰਪੁੱਟ ਬਕਸਾ ਦਿੱਖ" + +#~ msgid "Resizable user list" +#~ msgstr "ਮੁੜ ਅਕਾਰਯੋਗ ਉਪਭੋਗੀ ਸੂਚੀ" + +#~ msgid "Left" +#~ msgstr "ਖੱਬਾ" + +#~ msgid "Right" +#~ msgstr "ਸੱਜਾ" + +#~ msgid "Tabs Location" +#~ msgstr "ਟੈਬ ਸਥਿਤੀ" + +#~ msgid "Convert spaces to underscore before sending" +#~ msgstr "ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਖਾਲੀ ਥਾਂ ਨੂੰ ਅੰਡਰਸਕੋਰ ਵਿੱਚ ਬਦਲੋ" + +#~ msgid "(Can be a text file relative to ~/.xchat2/)." +#~ msgstr "(~/.xchat2/ ਦੇ ਅਨੁਸਾਰ ਇੱਕ ਪਾਠ ਫਾਇਲ ਹੋ ਸਕਦੀ ਹੈ)।" + +#~ msgid "(Can be a text file relative to config dir)." +#~ msgstr "(ਇੱਕ ਸੰਰਚਿਤ ਡਾਇਰੈਕਟਰੀ ਦੇ ਅਨੁਸਾਰ ਇੱਕ ਪਾਠ ਫਾਇਲ ਹੋ ਸਕਦੀ ਹੈ)।" + +#~ msgid "Flash taskbar on highlighted messages" +#~ msgstr "ਉਘੜੇ ਸੁਨੇਹੇ ਤੇ ਕੰਮ-ਪੱਟੀ ਨੂੰ ਝਲਕਾਓ" + +#~ msgid "Beep on channel messages" +#~ msgstr "ਚੈਨਲ ਸੁਨੇਹੇ ਤੇ ਆਵਾਜ਼" + +#~ msgid "(See strftime manpage for details)." +#~ msgstr "(ਵੇਰਵੇ ਲਈ strftime ਲਈ ਸਫਾ ਵੇਖੋ)" + +#~ msgid "Open an irc:// url" +#~ msgstr "ਇੱਕ irc:// url ਖੋਲੋ" + +#~ msgid "irc://server:port/channel" +#~ msgstr "irc://server:port/channel" + +#~ msgid "Execute a xchat command" +#~ msgstr "ਇੱਕ xchat ਕਮਾਂਡ ਚਲਾਓ" + +#~ msgid "\"Command to execute\"" +#~ msgstr "\"ਚਲਾਉਣ ਲਈ ਕਮਾਂਡ\"" + +#~ msgid "Prints some text to the current tab/window" +#~ msgstr "ਮੌਜੂਦਾ ਟੈਬ/ਝਰੋਖੇ ਵਿੱਚ ਕੁਝ ਪਾਠ ਛਾਪੋ" + +#~ msgid "\"Text to print\"" +#~ msgstr "\"ਛਾਪਣ ਲਈ ਪਾਠ\"" + +#~ msgid "Change the context to the channel" +#~ msgstr "ਚੈਨਲ ਤੋਂ ਪਰਸੰਗ ਲਵੋ" + +#~ msgid "Change the context to the server" +#~ msgstr "ਸਰਵਰ ਤੋਂ ਪਰਸੰਗ ਤਬਦੀਲ" + +#~ msgid "server" +#~ msgstr "ਸਰਵਰ" + +#~ msgid "Get some informations from xchat" +#~ msgstr "xchat ਤੋਂ ਕੁਝ ਜਾਣਕਾਰੀ ਲਵੋ" + +#~ msgid "id" +#~ msgstr "id" + +#~ msgid "Get settings from xchat" +#~ msgstr "xchat ਤੋਂ ਸਥਾਪਨ ਲਵੋ" + +#~ msgid "name" +#~ msgstr "ਨਾਂ" + +#~ msgid "Failed to complete SetContext" +#~ msgstr "ਪਰਸੰਗ ਪੂਰਾ ਕਰਨ ਲਈ ਅਸਫ਼ਲ ਹੈ" + +#~ msgid "Failed to complete print" +#~ msgstr "ਛਾਪਣ ਲਈ ਅਸਫ਼ਲ ਹੈ" + +#~ msgid "Failed to complete GetInfo" +#~ msgstr "ਜਾਣਕਾਰੀ ਲੈਣ ਲਈ ਅਸਫ਼ਲ ਹੈ" + +#~ msgid "Failed to complete GetPrefs" +#~ msgstr "ਪਸੰਦ ਲੈਣ ਲਈ ਅਸਫ਼ਲ ਹੈ" + +#~ msgid "%s doesn't exist\n" +#~ msgstr "%s ਮੌਜੂਦ ਨਹੀਂ ਹੈ\n" + +#~ msgid " : %s\n" +#~ msgstr " : %s\n" + +#~ msgid " loaded successfully!\n" +#~ msgstr " ਸਫ਼ਲਤਾਪੂਰਕ ਲੋਡ ਕੀਤਾ ਗਿਆ!\n" diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 00000000..b7e8d2c4 --- /dev/null +++ b/po/pl.po @@ -0,0 +1,5616 @@ +# SOME DESCRIPTIVE TITLE. +# This file is put in the public domain. +# Jakub Wasielewski <jakub@wasielewski.info>, 2005. +# Michał Trzebiatowski <hippie_1968@hotmail.com>, 2008, 2009, 2010 +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.8.6\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2008-06-12 18:39+1000\n" +"PO-Revision-Date: 2010-03-10 18:15+0100\n" +"Last-Translator: Michał Trzebiatowski <hippie_1968@hotmail.com>\n" +"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "Nie mogę utworzyć ~/.xchat2" + +#: src/common/cfgfiles.c:711 +msgid "I'm busy" +msgstr "Jestem zajęty" + +#: src/common/cfgfiles.c:712 +msgid "Leaving" +msgstr "Wychodzi" + +#: src/common/cfgfiles.c:759 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Czatowanie z konta root nie jest zalecane ze względów bezpieczeństwa.\n" +" Należy utworzyć osobne konto użytkownika i używać go do logowania.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Czekam" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Aktywne" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Porażka" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Ukończone" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:928 +msgid "Connect" +msgstr "Połączenie" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Anulowane" + +#: src/common/dcc.c:1886 src/common/outbound.c:2451 +#, c-format +msgid "Cannot access %s\n" +msgstr "Nie jestem w stanie odczytać %s\n" + +#: src/common/dcc.c:1887 src/common/text.c:1224 src/common/text.c:1262 +#: src/common/text.c:1273 src/common/text.c:1280 src/common/text.c:1293 +#: src/common/text.c:1310 src/common/text.c:1410 src/common/util.c:353 +msgid "Error" +msgstr "Błąd" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s oferuje \"%s\". Czy chcesz to zaakceptować?" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "Brak aktywnych Połączeń Bezpośrednich\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "TAK " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "NIE " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Zostałeś/aś zasypany/a pakietami CTCP przez %s, ignoruję %s\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "Zostałeś/aś zasypany/a wiadomościami przez użytkownika %s, WYŁĄCZAM automatyczne otwieranie okien/zakładek z nowymi rozmowami.\n" + +#: src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s obecny\n" + +#: src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s nieobecny\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Nie jesteś w żadnym pokoju. Użyj polecenia /join #<nazwa_pokoju>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Nie jesteś połączony/a z serwerem. Użyj polecenia /server <nazwa_hosta> [<port>]\n" + +#: src/common/outbound.c:338 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Już zaznaczony jako nieobecny: %s\n" + +#: src/common/outbound.c:411 +msgid "Already marked back.\n" +msgstr "Już zaznaczony jako obecny.\n" + +#: src/common/outbound.c:1777 +msgid "I need /bin/sh to run!\n" +msgstr "Do uruchomienia tego potrzebna jest powłoka /bin/sh!\n" + +#: src/common/outbound.c:2148 +msgid "Commands Available:" +msgstr "Dostępne Polecenia:" + +#: src/common/outbound.c:2162 +msgid "User defined commands:" +msgstr "Polecenia Użytkownika:" + +#: src/common/outbound.c:2178 +msgid "Plugin defined commands:" +msgstr "Polecenia zdefiniowane przez Wtyczki:" + +#: src/common/outbound.c:2189 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Wpisz /HELP <polecenia> aby uzyskać więcej informacji lub /HELP -l" + +#: src/common/outbound.c:2274 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Nierozpoznany argument '%s' zignorowany." + +#: src/common/outbound.c:3223 +msgid "No such plugin found.\n" +msgstr "Taka wtyczka nie została znaleziona.\n" + +#: src/common/outbound.c:3228 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Ta wtyczka odmawia wyładowania.\n" + +#: src/common/outbound.c:3497 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nazwa> <akcja>, dodaje przycisk pod listą użytkowników" + +#: src/common/outbound.c:3499 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <polecenie>, wysyła polecenie do wszystkich pokoi, w których się znajdujesz" + +#: src/common/outbound.c:3501 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <polecenie>, wysyła polecenie do wszystkich pokoi, w których się znajdujesz" + +#: src/common/outbound.c:3503 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <polecenia>, wysyła polecenie do wszystkich serwerów, z którymi jesteś połączony/a" + +#: src/common/outbound.c:3504 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<powód>], ustawia status nieobecności" + +#: src/common/outbound.c:3505 +msgid "BACK, sets you back (not away)" +msgstr "BACK, ustawia status obecności (nie nieobecności)" + +#: src/common/outbound.c:3507 +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 <maska> [<rodzaj>], banuje wszystkich pasujących do maski w danym pokoju. Jeśli są oni obecni w tym pokoju te polecenie nie spowoduje ich wyproszenia (musisz być Operatorem Pokoju)" + +#: src/common/outbound.c:3508 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <zmienna> [<wartość>]" + +#: src/common/outbound.c:3510 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR [ALL|HISTORY], czyści aktualną zawartość okna lub historię poleceń" + +#: src/common/outbound.c:3511 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, zamyka aktywne okno/zakładkę" + +#: src/common/outbound.c:3514 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <kod|maska>, odszukuje kod kraju, np.: pl = Polska" + +#: src/common/outbound.c:3516 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <pseudonim> <wiadomość>, wysyła wiadomość CTCP do użytkownika o podanym pseudonimie. Typowe wiadomości to VERSION (wersja) oraz USERINFO (informacje o użytkowniku)" + +#: src/common/outbound.c:3518 +msgid "CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "CYCLE [<pokuj>], wyjście i natychmiastowy powrót do pokoju" + +#: src/common/outbound.c:3520 +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 "" +"\n" +"DCC GET <pseudonim> - przyjmuje zaoferowany plik\n" +"DCC SEND [-makszns=#] <pseudonim> [plik] - wysyła plik do kogoś o podanym pseudonimie\n" +"DCC PSEND [-makszns=#] <pseudonim> [plik] - wysyła plik w trybie pasywnym\n" +"DCC LIST - wyświetla listę połączeń bezpośrednich\n" +"DCC CHAT <pseudonim> - oferuje użytkownikowi o podanym pseudonimie\n" +" czat bezpośredni\n" +"DCC PCHAT <pseudonim> - oferuje użytkownikowi o podanym pseudonimie\n" +" czat bezpośredni w trybie pasywnym\n" +"DCC CLOSE <rodzaj> <pseudonim> <plik> - zamyka określone połączenie bezpośrednie\n" +" przykład:\n" +" /dcc close send jasio plik.zip" + +#: src/common/outbound.c:3532 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <pseudonim>, zabiera uprawnienia półoperatora użytkownikowi o podanym pseudonimie w aktualnym pokoju (musisz być Operatorem Pokoju)" + +#: src/common/outbound.c:3534 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nazwa>, usuwa przycisk spod listy użytkowników" + +#: src/common/outbound.c:3536 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <pseudonim>, zabiera uprawnienia operatora użytkownikowi o podanym pseudonimie w aktualnym pokoju (musisz być Operatorem Pokoju)" + +#: src/common/outbound.c:3538 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <pseudonim>, zabiera prawo głosu użytkownikowi o podanym pseudonimie w aktualnym pokoju (musisz być Operatorem Pokoju)" + +#: src/common/outbound.c:3539 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, zamknięcie połączenia z serwerem" + +#: src/common/outbound.c:3540 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <pseudonim|host|ip>, odszukuje adres IP użytkownika" + +#: src/common/outbound.c:3541 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <tekst>, wypisuje lokalnie zadany tekst" + +#: src/common/outbound.c:3544 +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] <polecenie>, uruchamia polecenie. Jeśli podana jest opcja -o wówczas wynik jest wysyłany do aktualnego pokoju, w innym wypadku jest wyświetlany lokalnie" + +#: src/common/outbound.c:3546 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, wysyła procesowi sygnał SIGCONT" + +#: src/common/outbound.c:3549 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], zabija uruchomiony proces w aktualnej sesji. Jeśli podana jest opcja -9, proces otrzymuje sygnał SIGKILL" + +#: src/common/outbound.c:3551 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, wysyła procesowi sygnał SIGSTOP" + +#: src/common/outbound.c:3552 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, wysyła dane na standardowe wejście procesu" + +#: src/common/outbound.c:3556 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHHQ, opróżnia aktualną kolejkę wysyłkową serwera" + +#: src/common/outbound.c:3558 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>], włączenie pośredniczenia przez host, z domyślnym 23 portem" + +#: src/common/outbound.c:3562 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <pseudonim> <hasło>, Rozłącza \"zjawy\" używające <nick>" + +#: src/common/outbound.c:3567 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <pseudonim>, nadaje status Półoperatora Pokoju (musisz być Operatorem Pokoju)" + +#: src/common/outbound.c:3568 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <hasło>, identyfikuje Cię wobec serwera" + +#: src/common/outbound.c:3570 +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 <maska> <rodzaje..> <opcje..>\n" +" maska - maska ignorowanego hosta, przykład: *!*@*.tpnet.pl\n" +" rodzaje - zakres ignorowania, jeden rodzaj lub ALL:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" opcje - NOSAVE, QUIET" + +#: src/common/outbound.c:3577 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <pseudonim> [<pokój>], wysyła zaproszenie do pokoju, domyślnie jest to aktualny pokój (musisz być Operatorem Pokoju)" + +#: src/common/outbound.c:3578 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <pokój>, wejście do pokoju" + +#: src/common/outbound.c:3580 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <pseudonim>, wyprasza użytkownika z aktualnego pokoju (musisz być Operatorem Pokoju)" + +#: src/common/outbound.c:3582 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <pseudonim>, banuje a następnie wyprasza użytkownika z aktualnego pokoju (musisz być Operatorem Pokoju)" + +#: src/common/outbound.c:3585 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, wymuszenie sprawdzenia opóźnienia w komunikacji z serwerem" + +#: src/common/outbound.c:3587 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <fragment>, wyszukanie fragmentu w buforze" + +#: src/common/outbound.c:3589 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <plik>, załadowanie wtyczki lub skryptu" + +#: src/common/outbound.c:3592 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, masowe odebranie statusu półoperatora wszystim w aktualnym pokoju (musisz być Operatorem Pokoju)" + +#: src/common/outbound.c:3594 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, masowe odebranie statusu operatora wszystim w aktualnym pokoju (musisz być Operatorem Pokoju)" + +#: src/common/outbound.c:3596 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <akcja>, wysyła akcję do aktualnego pokoju (akcje pisane są 3. osobie, tak jak /me skacze)" + +#: src/common/outbound.c:3600 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, wyrzuca wszystkich oprócz Ciebie w bieżącym pokoju (musisz być Operatorem Pokoju)" + +#: src/common/outbound.c:3603 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, daje wszystkim użytkownikom status operatora w bieżącym pokoju (musisz być Operatorem Pokoju)" + +#: src/common/outbound.c:3604 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <pseudonim> <wiadomość>, wysyła prywatną wiadomość do użytkownika o podanym pseudonimie" + +#: src/common/outbound.c:3607 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, wykazuje wszystkie pseudonimy w bieżącym pokoju" + +#: src/common/outbound.c:3609 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <pseudonim> <wiadomość>, wysyła ogłoszenie CTCP" + +#: src/common/outbound.c:3610 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <nazwa hostu> [<port>]" + +#: src/common/outbound.c:3611 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <pseudonim>, zmiana pseudonimu" + +#: src/common/outbound.c:3614 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <pseudonim/pokoj> <wiadomość>, wysyła ogłoszenie. Ogłoszenia to rodzaj wiadomości, które powinny być automatycznie odpowiedziane" + +#: src/common/outbound.c:3616 +msgid "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" +msgstr "NOTIFY [-n network1[,network2,...]] [<pseudonim>], wyświetla listę powiadomień lub dodaje kogoś do niej" + +#: src/common/outbound.c:3618 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <pseudonim>, daje pseudonimu status operatora pokoju (musisz być Operatorem Pokoju)" + +#: src/common/outbound.c:3620 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<pokoj>] [<powód>], opuszcza pokoj, domyślnie obecny" + +#: src/common/outbound.c:3622 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <pseudonim | pokoj>, wysyła ping do pseudonimu lub pokoju za pomocą CTCP" + +#: src/common/outbound.c:3624 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <pseudonim>, otwiera nowe okno dialogowe do kogoś" + +#: src/common/outbound.c:3626 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<powód>], odłącza się od obecnego serwera" + +#: src/common/outbound.c:3628 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <tekst>, wysyła surowy tekst do serwera" + +#: src/common/outbound.c:3631 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<port>] [<hasło>], można użyć jako /RECONNECT aby ponownie połączyć się do bieżącego serwera lub /RECONNECT ALL aby ponownie połączyć się do wszystkich otwartych serwerów" + +#: src/common/outbound.c:3634 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<hasło>], można użyć jako /RECONNECT aby ponownie połączyć się do bieżącego serwera lub /RECONNECT ALL aby ponownie połączyć się do wszystkich otwartych serwerów" + +#: src/common/outbound.c:3636 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <tekst>, wysyła surowe dane do xchat, jakby były otrzymywane z serwera IRC" + +#: src/common/outbound.c:3639 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <tekst>, wysyła tekst do obiektu w bieżącym oknie" + +#: src/common/outbound.c:3640 +msgid "SEND <nick> [<file>]" +msgstr "SEND <pseudonim> [<plik>]" + +#: src/common/outbound.c:3643 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <pokój>, łączy i wchodzi do pokoju" + +#: src/common/outbound.c:3646 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <pokój>, łączy i wchodzi do pokoju" + +#: src/common/outbound.c:3650 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <host> [<port>] [<hasło>], łączy się z serwerem, domyślny port to 6667 dla zwykłych połączeń, i 9999 dla połączeń SSL" + +#: src/common/outbound.c:3653 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <host> [<port>] [<hasło>], łączy się z serwerem, domyślny port to 6667" + +#: src/common/outbound.c:3655 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-or] [-quiet] <zmienna> [<wartość>]" + +#: src/common/outbound.c:3656 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<pozycja>" + +#: src/common/outbound.c:3661 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<temat>], określa temat jeśli jest podany, inaczej pokazuje bieżący temat" + +#: src/common/outbound.c:3663 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" +"\n" +"TRAY -f <limit czasu> <plik1> [<plik2>] Miga w zasobniku pomiędzy dwoma ikonami.\n" +"TRAY -f <nazwa pliku> Ustawia zasobnik do ustalonej ikony.\n" +"TRAY -i <numer> Miga w zasobniku wewnętrzną ikoną.\n" +"TRAY -t <tekst> Ustawia tooltip zasobnika.\n" +"TRAY -b <tytuł> <tekst> Ustawia balon zasobnika." + +#: src/common/outbound.c:3670 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <maska> [<maska>...], odbanuje podane maski." + +#: src/common/outbound.c:3671 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <maska> [QUIET]" + +#: src/common/outbound.c:3672 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nazwa>, usuwa wtyczkę lub skrypt" + +#: src/common/outbound.c:3673 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, otwiera URL w twojej przeglądarce" + +#: src/common/outbound.c:3675 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <pseudonim1> <pseudonim2> itp, podświetla pseudonim(y) w liście użytkowników pokoju" + +#: src/common/outbound.c:3678 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <pseudonim>, przyznaje komuś prawo głosu (musisz być Operatorem Pokoju)" + +#: src/common/outbound.c:3680 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <wiadomość>, pisze wiadomość do wszystkich pokoi" + +#: src/common/outbound.c:3682 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <wiadomość>, wysyła wiadomość do wszystkich operatorów w bieżącym pokoju" + +#: src/common/outbound.c:3715 +#, c-format +msgid "Usage: %s\n" +msgstr "Wykorzystanie: %s\n" + +#: src/common/outbound.c:3720 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Nie ma pomocy do tego polecenia.\n" + +#: src/common/outbound.c:3726 +msgid "No such command.\n" +msgstr "Polecenie nieznane.\n" + +#: src/common/outbound.c:4057 +msgid "Bad arguments for user command.\n" +msgstr "Złe argumenty przekazane temu poleceniu.\n" + +#: src/common/outbound.c:4217 +msgid "Too many recursive usercommands, aborting." +msgstr "Zbyt wiele rekursywnych poleceń użytkownika, przerywam." + +#: src/common/outbound.c:4300 +msgid "Unknown Command. Try /help\n" +msgstr "Polecenie nieznane. Użyj /help\n" + +#: src/common/plugin.c:356 src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Żaden symbol xchat_plugin_init; czy to naprawdę wtyczka xchatu?" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Czy jesteś pewien/pewna, że ten serwer i/lub port obsługuje SSL?\n" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Nie można rozwiązać nazwy hosta %s\n" +"Sprawdź twoje ustawienia IP!\n" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "Nieudane połączenie z serwerem pośredniczącym.\n" + +#: src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Skocz do następnego serwera w %s...\n" + +#: src/common/servlist.c:1094 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Uwaga: nieznane kodowanie \"%s\". Nie będzie stosowanej konwersji dla sieci %s." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 dodano do listy powiadomień." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Lista banów:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tNie możesz wejść do pokoju%C26 %B$1 %O(Jesteś zbanowany)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 zmienia pseudonim na $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 nakłada BAN na $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tPokój $1 został utworzony $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O odbiera status Półoperatora Pokoju użytkownikowi%C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O odbiera status Operatora Pokoju użytkownikowi%C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O odbiera prawo głosu użytkownikowi%C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 ustawia wyjątek na $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O nadaje status Półoperatora Pokoju użytkownikowi%C26 $2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 ustawia zaproszenie dla $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UPokój Użyt. Temat" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 ustawia opcje $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Opcje Pokoju $1: $2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O nadaje status Operatora Pokoju użytkownikowi%C26 $2" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 usuwa wyjątek na $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 usuwa zaproszenie dla $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 usuwa hasło dostępu do pokoju" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 usuwa limit użytkowników" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 ustawia hasło dostępu do pokoju na $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 ustawia limit pokoju na $2 użytkowników" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 usuwa BANA z $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O daje głos użytkownikowi%C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Połączenie nawiązane. Teraz się loguję..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Łączenie z $1 ($2) port $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Połączenie nieudane. Błąd: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tNadeszło żądanie CTCP $1 od użytkownika $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tNadeszło żądanie CTCP $1 od użytkownika $2 (do $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tNadeszło żądanie CTCP Sound $1 od użytkownika $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tNadeszło żądanie CTCP Sound $1 od użytkownika $2 (do $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tOdbieranie Czat Bezpośredni z użytkownikiem %C26$1%O zakończony." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tCzat Bezpośredni rozpoczęty z użytkownikiem %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tCzat Bezpośredni z użytkownikiem %C26$1%O przerwany ($4)." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tNadeszło zaproszenie na Czat Bezpośredni od użytkownika $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tWysyłam zaproszenie na Czat Bezpośredni do użytkownika $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tZaproszenie na Czat do użytkownika $1 już wcześniej zostało wysłane" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tPróba nawiązania Połączenia Bezpośredniego $1 z użytkownikiem%C26 $2%O nie powiodła się (błąd=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tOdebrałem '$1%O' od użytkownika $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Typ do/z Stan Rozmiar Poz Plik " + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$tNadszedł nieprawidłowy wniosek Czatu Bezpośredniego od %C26$1%O.%010%C22*%O$tZawartość pakietu: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tOferuję%C26 $1%O użytkownikowi%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tNie ma takiej oferty Czatu Bezpośredniego." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tOdbieranie%C26 $2%O Czatu Bezpośredniego od użytkownika%C26 $1%O zakończone." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tOdbieranie%C26 $1%O Czatu Bezpośredniego z%C26 $3%O gotowe %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tPołączenie odbierania Czatu Bezpośredniego zrealizowane do%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tOdbieranie Czatu Bezpośredniego%C26 $1%O z%C26 $3%O nie powiodło się ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tOdbieranie Czatu Bezpośredniego: Nie można otworzyć $1 do pisania ($2)." + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tPlik%C26 $1%C już istnieje, zapisuje go w zamian jako%C26 $2%O." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Owystąpił z wnioskiem o wznowienie%C26 $2 %Cz%C26 $3%C." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tWysyłanie%C26 $2%O Czatu Bezpośredniego do użytkownika%C26 $1%O zakończone." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tWysyłanie%C26 $1%O Czatu Bezpośredniego do%C26 $2%O gotowe %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tPołączenie wysyłania Czatu Bezpośredniego zrealizowane z%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tWysyłanie Czatu Bezpośredniego%C26 $1%O do%C26 $2%O nie powiodło się. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Ozaoferował%C26 $2 %O(%C26$3 %Obajtów)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oprzy%C26 $3 %Czawieszony - przerywam." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oprzy%C26 $3 %Oprzekroczył czas - przerywam." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 usunięty z listy powiadomień." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tRozłączony ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tTwój adres IP: [$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O dodano do listy ignorowanych." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Sposób ignorowania użytkownika %C26$1%O został zmieniony." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Maska hosta PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O usunięty z listy ignorowanych." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr "Lista ignorowanych jest pusta." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tNie możesz wejść do pokoju%C26 %B$1 %O(Wymagane jest zaproszenie)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tOtrzymałeś/aś zaproszenie do pokoju%C26 $1%O od użytkownika%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) wchodzi do pokoju $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tNie możesz wejść do pokoju%C26 %B$1 %O(Wymagane jest podanie hasła)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 wyprosił/a użytkownika $2 z pokoju $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tZostałeś/aś rozłączona przez Operatora o pseudonimie $1 ($2%O%C22)" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD Odpuszczony." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 jest obecnie używany. Próbuję ponownie z $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tPseudonim jest obecnie używany przez kogoś innego. Użyj polecenia /NICK aby wybrać inny." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tNie ma takiego Czatu Bezpośredniego." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tAktualnie nie ma uruchomionego procesu" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tLista powiadomień jest pusta." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Lista Powiadomień " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 użytkowników na liście powiadomień." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tPowiadomienie: $1 właśnie opuścił/a czat ($3)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tPowiadomienie: $1 właśnie się pojawił/a ($3)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) opuścił/a pokój $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) opuścił/a pokój $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tOdpowiedź na ping $1: $2 sekund(y)" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tBrak odpowiedzi na ping przez $1 sekund, rozłączanie." + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tProces jest już uruchomiony" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 opuścił/a czat (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 ustawia opcje%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Operatorzy%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tSzukam numeru IP dla%C26 $1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Połączony." + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Szukam $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tZatrzymano poprzednie próby połączenia (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Temat rozmowy w pokoju $1%C %C29to: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 zmienia temat rozmowy na: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Temat w pokoju $1%C %C29został ustawiony przez $2%C %C29, dnia: $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tNieznany host. Może jest błąd w pisowni?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tNie możesz wejść do pokoju%C26 %B$1 %O(Limit użytkowników został wyczerpany)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Użytkownicy w pokoju $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cjest nieobecny %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OKoniec listy WHOIS." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O nieaktywny%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O nieaktywny%C26 $2%O, zalogowany od:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Oprawdziwy user@host%C27 $2%O, prawdziwy adres IP%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Teraz rozmawiasz w pokoju $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tZostałeś/aś wyproszony/a z pokoju $2 przez $3 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tOpuszczasz pokój $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tOpuszczasz pokój $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tZaprosiłeś%C26 $1%O do%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tZmieniasz pseudonim na $2" + +#: src/common/text.c:318 +msgid "Loaded log from" +msgstr "Załadowany dziennik z" + +#: src/common/text.c:336 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** ZAKOŃCZ LOGOWANIE O %s\n" + +#: src/common/text.c:545 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ZACZNIJ LOGOWANIE O %s\n" + +#: src/common/text.c:564 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Nie można otworzyć pliku(-ów) dziennika do pisania.\n" +" Sprawdź uprawnienia %s/xchatlogs" + +#: src/common/text.c:931 +msgid "Left message" +msgstr "Wiadomość z lewej" + +#: src/common/text.c:932 +msgid "Right message" +msgstr "Wiadomość z prawej" + +#: src/common/text.c:936 +msgid "The nick of the joining person" +msgstr "Pseudonim wchodzącej osoby" + +#: src/common/text.c:937 +msgid "The channel being joined" +msgstr "Zostaje połączony pokój" + +#: src/common/text.c:938 src/common/text.c:985 src/common/text.c:1036 +msgid "The host of the person" +msgstr "Host" + +#: src/common/text.c:942 src/common/text.c:948 src/common/text.c:955 +#: src/common/text.c:1143 src/common/text.c:1150 src/common/text.c:1155 +#: src/common/text.c:1160 src/common/text.c:1165 src/common/text.c:1171 +#: src/common/text.c:1176 src/common/text.c:1180 src/common/text.c:1186 +#: src/common/text.c:1192 src/common/text.c:1238 src/common/text.c:1249 +#: src/common/text.c:1254 src/common/text.c:1259 src/common/text.c:1268 +#: src/common/text.c:1279 src/common/text.c:1286 src/common/text.c:1292 +#: src/common/text.c:1297 src/common/text.c:1302 src/common/text.c:1309 +#: src/common/text.c:1315 src/common/text.c:1321 src/common/text.c:1326 +#: src/common/text.c:1331 src/common/text.c:1335 src/common/text.c:1341 +#: src/common/text.c:1349 src/common/text.c:1383 src/common/text.c:1388 +msgid "Nickname" +msgstr "Pseudonim" + +#: src/common/text.c:943 +msgid "The action" +msgstr "Akcja" + +#: src/common/text.c:944 src/common/text.c:950 +msgid "Mode char" +msgstr "Znak trybu" + +#: src/common/text.c:949 +msgid "The text" +msgstr "Tekst" + +#: src/common/text.c:951 src/common/text.c:957 +msgid "Identified text" +msgstr "Rozpoznany tekst" + +#: src/common/text.c:956 src/common/text.c:1013 src/common/text.c:1019 +msgid "The message" +msgstr "Wiadomość" + +#: src/common/text.c:961 src/common/text.c:1023 +msgid "Old nickname" +msgstr "Stary pseudonim" + +#: src/common/text.c:962 src/common/text.c:1024 +msgid "New nickname" +msgstr "Nowy pseudonim" + +#: src/common/text.c:966 +msgid "Nick of person who changed the topic" +msgstr "Pseudonim osoby, która zmieniła temat" + +#: src/common/text.c:967 src/common/text.c:973 src/fe-gtk/chanlist.c:766 +#: src/fe-gtk/chanlist.c:869 +msgid "Topic" +msgstr "Temat rozmowy" + +#: src/common/text.c:968 src/common/text.c:972 src/common/text.c:1403 +#: src/fe-gtk/chanlist.c:764 src/fe-gtk/ignoregui.c:176 +#: src/fe-gtk/servlistgui.c:892 +msgid "Channel" +msgstr "Pokój" + +#: src/common/text.c:977 src/common/text.c:1030 +msgid "The nickname of the kicker" +msgstr "Pseudonim wypraszającego" + +#: src/common/text.c:978 src/common/text.c:1028 +msgid "The person being kicked" +msgstr "Wypraszana osoba" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:990 +#: src/common/text.c:995 src/common/text.c:1029 src/common/text.c:1037 +#: src/common/text.c:1044 +msgid "The channel" +msgstr "Pokój" + +#: src/common/text.c:980 src/common/text.c:1031 src/common/text.c:1038 +msgid "The reason" +msgstr "Powód" + +#: src/common/text.c:984 src/common/text.c:1035 +msgid "The nick of the person leaving" +msgstr "Pseudonim osoby wychodzącej" + +#: src/common/text.c:991 src/common/text.c:997 +msgid "The time" +msgstr "Czas" + +#: src/common/text.c:996 +msgid "The creator" +msgstr "Twórca" + +#: src/common/text.c:1001 src/fe-gtk/dccgui.c:763 src/fe-gtk/dccgui.c:996 +msgid "Nick" +msgstr "Pseudonim" + +#: src/common/text.c:1002 src/common/text.c:1255 +msgid "Reason" +msgstr "Powód" + +#: src/common/text.c:1003 src/common/text.c:1145 src/common/text.c:1228 +msgid "Host" +msgstr "Host" + +#: src/common/text.c:1007 src/common/text.c:1012 src/common/text.c:1017 +msgid "Who it's from" +msgstr "Kto jest z" + +#: src/common/text.c:1008 +msgid "The time in x.x format (see below)" +msgstr "Czas w postaci x.x (zobacz poniżej)" + +#: src/common/text.c:1018 src/common/text.c:1055 +msgid "The Channel it's going to" +msgstr "Pokój o który chodzi" + +#: src/common/text.c:1042 +msgid "The sound" +msgstr "Dzwięk" + +#: src/common/text.c:1043 src/common/text.c:1049 src/common/text.c:1054 +msgid "The nick of the person" +msgstr "Pseudonim osoby" + +#: src/common/text.c:1048 src/common/text.c:1053 +msgid "The CTCP event" +msgstr "Żądanie CTCP" + +#: src/common/text.c:1059 +msgid "The nick of the person who set the key" +msgstr "Pseudonim osoby, która ustawiła hasło dostępu" + +#: src/common/text.c:1060 +msgid "The key" +msgstr "Hasło" + +#: src/common/text.c:1064 +msgid "The nick of the person who set the limit" +msgstr "Pseudonim osoby, która ustawiła limit" + +#: src/common/text.c:1065 +msgid "The limit" +msgstr "Limit" + +#: src/common/text.c:1069 +msgid "The nick of the person who did the op'ing" +msgstr "Pseudonim osoby, która dała prawa operatora" + +#: src/common/text.c:1070 +msgid "The nick of the person who has been op'ed" +msgstr "Pseudonim osoby, która otrzymała prawa operatora" + +#: src/common/text.c:1074 +msgid "The nick of the person who has been halfop'ed" +msgstr "Pseudonim osoby, która otrzymała prawa półoperatora" + +#: src/common/text.c:1075 +msgid "The nick of the person who did the halfop'ing" +msgstr "Pseudonim osoby, która dała prawa półoperatora" + +#: src/common/text.c:1079 +msgid "The nick of the person who did the voice'ing" +msgstr "Pseudonim osoby, która miała prawo głosu" + +#: src/common/text.c:1080 +msgid "The nick of the person who has been voice'ed" +msgstr "Pseudonim osoby, której dano prawo głosu" + +#: src/common/text.c:1084 +msgid "The nick of the person who did the banning" +msgstr "Pseudonim banującej osoby" + +#: src/common/text.c:1085 src/common/text.c:1112 +msgid "The ban mask" +msgstr "Maska bana" + +#: src/common/text.c:1089 +msgid "The nick who removed the key" +msgstr "Pseudonim, który ustawił hasło" + +#: src/common/text.c:1093 +msgid "The nick who removed the limit" +msgstr "Pseudonim, który ustawił limit" + +#: src/common/text.c:1097 +msgid "The nick of the person of did the deop'ing" +msgstr "Pseudonim osoby, która użyła prawa operatora" + +#: src/common/text.c:1098 +msgid "The nick of the person who has been deop'ed" +msgstr "Pseudonim osoby, której zabrano prawa operatora" + +#: src/common/text.c:1101 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Pseudonim osoby, która użyła prawa półoperatora" + +#: src/common/text.c:1102 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Pseudonim osoby, której zabrano prawa półoperatora" + +#: src/common/text.c:1106 +msgid "The nick of the person of did the devoice'ing" +msgstr "Pseudonim osoby, która użyła prawo głosu" + +#: src/common/text.c:1107 +msgid "The nick of the person who has been devoice'ed" +msgstr "Pseudonim osoby, której zabrano prawo głosu" + +#: src/common/text.c:1111 +msgid "The nick of the person of did the unban'ing" +msgstr "Pseudonim osoby, która usunęła ban" + +#: src/common/text.c:1116 +msgid "The nick of the person who did the exempt" +msgstr "Pseudonim osoby, która ustawiła wyjątek" + +#: src/common/text.c:1117 src/common/text.c:1122 +msgid "The exempt mask" +msgstr "Maska wyjątku" + +#: src/common/text.c:1121 +msgid "The nick of the person removed the exempt" +msgstr "Pseudonim osoby, która usunęła wyjątek" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the invite" +msgstr "Pseudonim osoby, która wysłała zaproszenie" + +#: src/common/text.c:1127 src/common/text.c:1132 +msgid "The invite mask" +msgstr "Maska zaproszenia" + +#: src/common/text.c:1131 +msgid "The nick of the person removed the invite" +msgstr "Pseudonim osoby, która usunęła zaproszenie" + +#: src/common/text.c:1136 +msgid "The nick of the person setting the mode" +msgstr "Pseudonim osoby, która ustawiła tryb" + +#: src/common/text.c:1137 +msgid "The mode's sign (+/-)" +msgstr "Znak trybu (+/-)" + +#: src/common/text.c:1138 +msgid "The mode letter" +msgstr "Litera trybu" + +#: src/common/text.c:1139 +msgid "The channel it's being set on" +msgstr "Pokój który będzie ustawiony" + +#: src/common/text.c:1144 +msgid "Username" +msgstr "Użytkownik" + +#: src/common/text.c:1146 +msgid "Full name" +msgstr "Personalia" + +#: src/common/text.c:1151 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Członkostwo pokoju/\"jest operatorem IRC\"" + +#: src/common/text.c:1156 +msgid "Server Information" +msgstr "Informacje o Serwerze" + +#: src/common/text.c:1161 src/common/text.c:1166 +msgid "Idle time" +msgstr "Czas nieaktywności" + +#: src/common/text.c:1167 +msgid "Signon time" +msgstr "Data wejścia" + +#: src/common/text.c:1172 +msgid "Away reason" +msgstr "Powód nieobecności" + +#: src/common/text.c:1181 src/common/text.c:1187 src/common/text.c:1195 +#: src/common/text.c:1375 +msgid "Message" +msgstr "Wiadomość" + +#: src/common/text.c:1188 +msgid "Account" +msgstr "Konto" + +#: src/common/text.c:1193 +msgid "Real user@host" +msgstr "Prawdziwy user@host" + +#: src/common/text.c:1194 +msgid "Real IP" +msgstr "Prawdziwy adres IP" + +#: src/common/text.c:1199 src/common/text.c:1208 src/common/text.c:1214 +#: src/common/text.c:1244 src/common/text.c:1398 +msgid "Channel Name" +msgstr "Nazwa Pokoju" + +#: src/common/text.c:1203 src/common/text.c:1361 src/fe-gtk/menu.c:1404 +#: src/fe-gtk/menu.c:1592 src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "Tekst" + +#: src/common/text.c:1204 src/common/text.c:1210 src/common/text.c:1239 +#: src/common/text.c:1357 src/common/text.c:1399 +msgid "Server Name" +msgstr "Nazwa Serwera" + +#: src/common/text.c:1209 +msgid "Nick of person who invited you" +msgstr "Pseudonim osoby wysyłającej zaproszenie" + +#: src/common/text.c:1215 src/fe-gtk/chanlist.c:765 +msgid "Users" +msgstr "Użytkownicy" + +#: src/common/text.c:1219 +msgid "Nickname in use" +msgstr "Używany pseudonim" + +#: src/common/text.c:1220 +msgid "Nick being tried" +msgstr "Próbowany pseudonim" + +#: src/common/text.c:1229 src/common/text.c:1365 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1230 src/common/text.c:1261 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1240 src/fe-gtk/notifygui.c:139 src/fe-gtk/setup.c:1713 +msgid "Network" +msgstr "Sieć" + +#: src/common/text.c:1245 src/common/text.c:1250 +msgid "Modes string" +msgstr "Opcje" + +#: src/common/text.c:1260 src/common/text.c:1298 src/common/text.c:1303 +#: src/common/text.c:1344 +msgid "IP address" +msgstr "Adres IP" + +#: src/common/text.c:1266 src/common/text.c:1291 +msgid "DCC Type" +msgstr "Rodzaj Połączenia Bezpośredniego" + +#: src/common/text.c:1267 src/common/text.c:1272 src/common/text.c:1277 +#: src/common/text.c:1284 src/common/text.c:1304 src/common/text.c:1308 +#: src/common/text.c:1314 src/common/text.c:1320 src/common/text.c:1327 +#: src/common/text.c:1336 src/common/text.c:1342 +msgid "Filename" +msgstr "Nazwa pliku" + +#: src/common/text.c:1278 src/common/text.c:1285 +msgid "Destination filename" +msgstr "Docelowa nazwa pliku" + +#: src/common/text.c:1287 src/common/text.c:1316 +msgid "CPS" +msgstr "ZNS" + +#: src/common/text.c:1322 +msgid "Pathname" +msgstr "Ścieżka" + +#: src/common/text.c:1337 src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "Wysłane" + +#: src/common/text.c:1343 src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "Rozmiar" + +#: src/common/text.c:1348 +msgid "DCC String" +msgstr "String DCC" + +#: src/common/text.c:1353 +msgid "Number of notify items" +msgstr "Liczba pozycji powiadamiających" + +#: src/common/text.c:1369 +msgid "Old Filename" +msgstr "Stara Nazwa pliku" + +#: src/common/text.c:1370 +msgid "New Filename" +msgstr "Nowa Nazwa pliku" + +#: src/common/text.c:1374 +msgid "Receiver" +msgstr "Odbiorca" + +#: src/common/text.c:1379 +msgid "Hostmask" +msgstr "Maska hosta" + +#: src/common/text.c:1384 +msgid "Hostname" +msgstr "Nazwa hosta" + +#: src/common/text.c:1389 +msgid "The Packet" +msgstr "Pakiet" + +#: src/common/text.c:1393 +msgid "Seconds" +msgstr "Sekundy" + +#: src/common/text.c:1397 +msgid "Nick of person who have been invited" +msgstr "Pseudonim zaproszonej osoby" + +#: src/common/text.c:1404 +msgid "Banmask" +msgstr "Maska bana" + +#: src/common/text.c:1405 +msgid "Who set the ban" +msgstr "Kto ustawił bana" + +#: src/common/text.c:1406 +msgid "Ban time" +msgstr "Czas bana" + +#: src/common/text.c:1446 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Błąd analizy zdarzenia %s.\n" +"Ładuje domyślny." + +#: src/common/text.c:2189 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Nie można odczytać pliku dźwiękowego:\n" +"%s" + +#: src/common/util.c:297 +msgid "Remote host closed socket" +msgstr "Odległy host zamknął połączenie" + +#: src/common/util.c:302 +msgid "Connection refused" +msgstr "Odmowa połączenia" + +#: src/common/util.c:305 +msgid "No route to host" +msgstr "Brak drogi do hosta" + +#: src/common/util.c:307 +msgid "Connection timed out" +msgstr "Połączenie wygasło" + +#: src/common/util.c:309 +msgid "Cannot assign that address" +msgstr "Nie można przypisać tego adresu" + +#: src/common/util.c:311 +msgid "Connection reset by peer" +msgstr "Połączenie zerwane przez drugą stronę" + +#: src/common/util.c:848 +msgid "Ascension Island" +msgstr "Wyspa Wniebowstąpienia" + +#: src/common/util.c:849 +msgid "Andorra" +msgstr "Andora" + +#: src/common/util.c:850 +msgid "United Arab Emirates" +msgstr "Zjednoczone Emiraty Arabskie" + +#: src/common/util.c:851 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:852 +msgid "Antigua and Barbuda" +msgstr "Antigua i Barbuda" + +#: src/common/util.c:853 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:854 +msgid "Albania" +msgstr "Albania" + +#: src/common/util.c:855 +msgid "Armenia" +msgstr "Armenia" + +#: src/common/util.c:856 +msgid "Netherlands Antilles" +msgstr "Antyle Holenderskie" + +#: src/common/util.c:857 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:858 +msgid "Antarctica" +msgstr "Antarktyka" + +#: src/common/util.c:859 +msgid "Argentina" +msgstr "Argentyna" + +#: src/common/util.c:860 +msgid "Reverse DNS" +msgstr "Odwrotny DNS" + +#: src/common/util.c:861 +msgid "American Samoa" +msgstr "Samoa Amerykańskie" + +#: src/common/util.c:862 +msgid "Austria" +msgstr "Austria" + +#: src/common/util.c:863 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:864 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:865 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:866 +msgid "Aland Islands" +msgstr "Wyspy Alandzkie" + +#: src/common/util.c:867 +msgid "Azerbaijan" +msgstr "Azerbejdżan" + +#: src/common/util.c:868 +msgid "Bosnia and Herzegovina" +msgstr "Bośnia i Hercegowina" + +#: src/common/util.c:869 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:870 +msgid "Bangladesh" +msgstr "Bangladesz" + +#: src/common/util.c:871 +msgid "Belgium" +msgstr "Belgia" + +#: src/common/util.c:872 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:873 +msgid "Bulgaria" +msgstr "Bułgaria" + +#: src/common/util.c:874 +msgid "Bahrain" +msgstr "Bahrajn" + +#: src/common/util.c:875 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:876 +msgid "Businesses" +msgstr "Przedsiębiorstw" + +#: src/common/util.c:877 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:878 +msgid "Bermuda" +msgstr "Bermudy" + +#: src/common/util.c:879 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:880 +msgid "Bolivia" +msgstr "Boliwia" + +#: src/common/util.c:881 +msgid "Brazil" +msgstr "Brazylia" + +#: src/common/util.c:882 +msgid "Bahamas" +msgstr "Bahamy" + +#: src/common/util.c:883 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:884 +msgid "Bouvet Island" +msgstr "Wyspa Bouveta" + +#: src/common/util.c:885 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:886 +msgid "Belarus" +msgstr "Białoruś" + +#: src/common/util.c:887 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:888 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:889 +msgid "Cocos Islands" +msgstr "Wyspy Kokosowe" + +#: src/common/util.c:890 +msgid "Democratic Republic of Congo" +msgstr "Demokratyczna Republika Kongo" + +#: src/common/util.c:891 +msgid "Central African Republic" +msgstr "Republika Środkowoafrykańska" + +#: src/common/util.c:892 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:893 +msgid "Switzerland" +msgstr "Szwajcaria" + +#: src/common/util.c:894 +msgid "Cote d'Ivoire" +msgstr "Wybrzeże Kości Słoniowej" + +#: src/common/util.c:895 +msgid "Cook Islands" +msgstr "Wyspy Kuka" + +#: src/common/util.c:896 +msgid "Chile" +msgstr "Czile" + +#: src/common/util.c:897 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:898 +msgid "China" +msgstr "Chiny" + +#: src/common/util.c:899 +msgid "Colombia" +msgstr "Kolumbia" + +#: src/common/util.c:900 +msgid "Internic Commercial" +msgstr "Domena komercyjna" + +#: src/common/util.c:901 +msgid "Costa Rica" +msgstr "Kostaryka" + +#: src/common/util.c:902 +msgid "Serbia and Montenegro" +msgstr "Serbia i Czarnogóra" + +#: src/common/util.c:903 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:904 +msgid "Cape Verde" +msgstr "Republika Zielonego Przylądka" + +#: src/common/util.c:905 +msgid "Christmas Island" +msgstr "Wyspa Wielkanocna" + +#: src/common/util.c:906 +msgid "Cyprus" +msgstr "Cypr" + +#: src/common/util.c:907 +msgid "Czech Republic" +msgstr "Czechy" + +#: src/common/util.c:908 +msgid "Germany" +msgstr "Niemcy" + +#: src/common/util.c:909 +msgid "Djibouti" +msgstr "Dżibuti" + +#: src/common/util.c:910 +msgid "Denmark" +msgstr "Dania" + +#: src/common/util.c:911 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:912 +msgid "Dominican Republic" +msgstr "Republika Dominikany" + +#: src/common/util.c:913 +msgid "Algeria" +msgstr "Algieria" + +#: src/common/util.c:914 +msgid "Ecuador" +msgstr "Ekwador" + +#: src/common/util.c:915 +msgid "Educational Institution" +msgstr "Instytucja Naukowa" + +#: src/common/util.c:916 +msgid "Estonia" +msgstr "Estonia" + +#: src/common/util.c:917 +msgid "Egypt" +msgstr "Egipt" + +#: src/common/util.c:918 +msgid "Western Sahara" +msgstr "Zachodnia Sahara" + +#: src/common/util.c:919 +msgid "Eritrea" +msgstr "Erytrea" + +#: src/common/util.c:920 +msgid "Spain" +msgstr "Hiszpania" + +#: src/common/util.c:921 +msgid "Ethiopia" +msgstr "Etiopia" + +#: src/common/util.c:922 +msgid "European Union" +msgstr "Unia Europejska" + +#: src/common/util.c:923 +msgid "Finland" +msgstr "Finlandia" + +#: src/common/util.c:924 +msgid "Fiji" +msgstr "Fidżi" + +#: src/common/util.c:925 +msgid "Falkland Islands" +msgstr "Falklandy" + +#: src/common/util.c:926 +msgid "Micronesia" +msgstr "Mikronezja" + +#: src/common/util.c:927 +msgid "Faroe Islands" +msgstr "Wyspy Owcze" + +#: src/common/util.c:928 +msgid "France" +msgstr "Francja" + +#: src/common/util.c:929 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:930 +msgid "Great Britain" +msgstr "Wielka Brytania" + +#: src/common/util.c:931 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:932 +msgid "Georgia" +msgstr "Gruzja" + +#: src/common/util.c:933 +msgid "French Guiana" +msgstr "Gujana Francuska" + +#: src/common/util.c:934 +msgid "British Channel Isles" +msgstr "Brytyjskie Wyspy Kanału" + +#: src/common/util.c:935 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:936 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:937 +msgid "Greenland" +msgstr "Grenlandia" + +#: src/common/util.c:938 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:939 +msgid "Guinea" +msgstr "Gwinea" + +#: src/common/util.c:940 +msgid "Government" +msgstr "Domena Rządowa" + +#: src/common/util.c:941 +msgid "Guadeloupe" +msgstr "Gwadelupa" + +#: src/common/util.c:942 +msgid "Equatorial Guinea" +msgstr "Gwinea Równikowa" + +#: src/common/util.c:943 +msgid "Greece" +msgstr "Grecja" + +#: src/common/util.c:944 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Georgia Południowa i Sandwich Południowy" + +#: src/common/util.c:945 +msgid "Guatemala" +msgstr "Gwatemala" + +#: src/common/util.c:946 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:947 +msgid "Guinea-Bissau" +msgstr "Gwinea Bissau" + +#: src/common/util.c:948 +msgid "Guyana" +msgstr "Gujana" + +#: src/common/util.c:949 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:950 +msgid "Heard and McDonald Islands" +msgstr "Wyspy Heard i McDonalda" + +#: src/common/util.c:951 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:952 +msgid "Croatia" +msgstr "Chorwacja" + +#: src/common/util.c:953 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:954 +msgid "Hungary" +msgstr "Węgry" + +#: src/common/util.c:955 +msgid "Indonesia" +msgstr "Indonezia" + +#: src/common/util.c:956 +msgid "Ireland" +msgstr "Irlandia" + +#: src/common/util.c:957 +msgid "Israel" +msgstr "Izrael" + +#: src/common/util.c:958 +msgid "Isle of Man" +msgstr "Wyspa Man" + +#: src/common/util.c:959 +msgid "India" +msgstr "Indie" + +#: src/common/util.c:960 +msgid "Informational" +msgstr "Informacyjne" + +#: src/common/util.c:961 +msgid "International" +msgstr "Międzynarodowe" + +#: src/common/util.c:962 +msgid "British Indian Ocean Territory" +msgstr "Brytyjskie Terytorium Oceanu Indyjskiego" + +#: src/common/util.c:963 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:964 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:965 +msgid "Iceland" +msgstr "Islandia" + +#: src/common/util.c:966 +msgid "Italy" +msgstr "Włochy" + +#: src/common/util.c:967 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:968 +msgid "Jamaica" +msgstr "Jamajka" + +#: src/common/util.c:969 +msgid "Jordan" +msgstr "Jordania" + +#: src/common/util.c:970 +msgid "Japan" +msgstr "Japonia" + +#: src/common/util.c:971 +msgid "Kenya" +msgstr "Kenia" + +#: src/common/util.c:972 +msgid "Kyrgyzstan" +msgstr "Kirgistan" + +#: src/common/util.c:973 +msgid "Cambodia" +msgstr "Kambodża" + +#: src/common/util.c:974 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:975 +msgid "Comoros" +msgstr "Komory" + +#: src/common/util.c:976 +msgid "St. Kitts and Nevis" +msgstr "Saint Kitts i Nevis" + +#: src/common/util.c:977 +msgid "North Korea" +msgstr "Korea Północna" + +#: src/common/util.c:978 +msgid "South Korea" +msgstr "Korea Południowa" + +#: src/common/util.c:979 +msgid "Kuwait" +msgstr "Kuwejt" + +#: src/common/util.c:980 +msgid "Cayman Islands" +msgstr "Kajmany (wyspy)" + +#: src/common/util.c:981 +msgid "Kazakhstan" +msgstr "Kazachstan" + +#: src/common/util.c:982 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:983 +msgid "Lebanon" +msgstr "Liban" + +#: src/common/util.c:984 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:985 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:986 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:987 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:988 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:989 +msgid "Lithuania" +msgstr "Litwa" + +#: src/common/util.c:990 +msgid "Luxembourg" +msgstr "Luksemburg" + +#: src/common/util.c:991 +msgid "Latvia" +msgstr "Łotwa" + +#: src/common/util.c:992 +msgid "Libya" +msgstr "Libia" + +#: src/common/util.c:993 +msgid "Morocco" +msgstr "Maroko" + +#: src/common/util.c:994 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:995 +msgid "Moldova" +msgstr "Mołdawia" + +#: src/common/util.c:996 +msgid "United States Medical" +msgstr "Medycyna Stanów Zjednoczonych" + +#: src/common/util.c:997 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:998 +msgid "Marshall Islands" +msgstr "Wyspy Marshalla" + +#: src/common/util.c:999 +msgid "Military" +msgstr "Domena wojskowa" + +#: src/common/util.c:1000 +msgid "Macedonia" +msgstr "Macedonia" + +#: src/common/util.c:1001 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:1002 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:1003 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:1004 +msgid "Macau" +msgstr "Makau" + +#: src/common/util.c:1005 +msgid "Northern Mariana Islands" +msgstr "Mariany Północne" + +#: src/common/util.c:1006 +msgid "Martinique" +msgstr "Martynika" + +#: src/common/util.c:1007 +msgid "Mauritania" +msgstr "Mauretania" + +#: src/common/util.c:1008 +msgid "Montserrat" +msgstr "Montserrat (wyspa)" + +#: src/common/util.c:1009 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:1010 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:1011 +msgid "Maldives" +msgstr "Malediwy" + +#: src/common/util.c:1012 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:1013 +msgid "Mexico" +msgstr "Meksyk" + +#: src/common/util.c:1014 +msgid "Malaysia" +msgstr "Malezia" + +#: src/common/util.c:1015 +msgid "Mozambique" +msgstr "Mozambik" + +#: src/common/util.c:1016 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:1017 +msgid "New Caledonia" +msgstr "Nowa Kaledonia" + +#: src/common/util.c:1018 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:1019 +msgid "Internic Network" +msgstr "Sieć Internic" + +#: src/common/util.c:1020 +msgid "Norfolk Island" +msgstr "Norfolk" + +#: src/common/util.c:1021 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:1022 +msgid "Nicaragua" +msgstr "Nikaragua" + +#: src/common/util.c:1023 +msgid "Netherlands" +msgstr "Holandia" + +#: src/common/util.c:1024 +msgid "Norway" +msgstr "Norwegia" + +#: src/common/util.c:1025 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:1026 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:1027 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:1028 +msgid "New Zealand" +msgstr "Nowa Zelandia" + +#: src/common/util.c:1029 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:1030 +msgid "Internic Non-Profit Organization" +msgstr "Organizacja Internic non-profit" + +#: src/common/util.c:1031 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:1032 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:1033 +msgid "French Polynesia" +msgstr "Polinezja Francuska" + +#: src/common/util.c:1034 +msgid "Papua New Guinea" +msgstr "Papua-Nowa Gwinea" + +#: src/common/util.c:1035 +msgid "Philippines" +msgstr "Filipiny" + +#: src/common/util.c:1036 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:1037 +msgid "Poland" +msgstr "Polska" + +#: src/common/util.c:1038 +msgid "St. Pierre and Miquelon" +msgstr "Saint-Pierre i Miquelon" + +#: src/common/util.c:1039 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:1040 +msgid "Puerto Rico" +msgstr "Portoryko" + +#: src/common/util.c:1041 +msgid "Palestinian Territory" +msgstr "Terytorium Palestyńskie" + +#: src/common/util.c:1042 +msgid "Portugal" +msgstr "Portugalia" + +#: src/common/util.c:1043 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:1044 +msgid "Paraguay" +msgstr "Paragwaj" + +#: src/common/util.c:1045 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:1046 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:1047 +msgid "Romania" +msgstr "Rumunia" + +#: src/common/util.c:1048 +msgid "Old School ARPAnet" +msgstr "ARPAnet starej szkoły" + +#: src/common/util.c:1049 +msgid "Russian Federation" +msgstr "Rosja" + +#: src/common/util.c:1050 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:1051 +msgid "Saudi Arabia" +msgstr "Arabia Saudyjska" + +#: src/common/util.c:1052 +msgid "Solomon Islands" +msgstr "Wyspy Salomona" + +#: src/common/util.c:1053 +msgid "Seychelles" +msgstr "Seszele" + +#: src/common/util.c:1054 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:1055 +msgid "Sweden" +msgstr "Szwecja" + +#: src/common/util.c:1056 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:1057 +msgid "St. Helena" +msgstr "Święta Helena" + +#: src/common/util.c:1058 +msgid "Slovenia" +msgstr "Słowenia" + +#: src/common/util.c:1059 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Wyspy Svalbard i Jana Mayena" + +#: src/common/util.c:1060 +msgid "Slovak Republic" +msgstr "Słowacja" + +#: src/common/util.c:1061 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:1062 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:1063 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:1064 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:1065 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:1066 +msgid "Sao Tome and Principe" +msgstr "Wyspy Świętego Tomasza i Książęca" + +#: src/common/util.c:1067 +msgid "Former USSR" +msgstr "Były ZSRR" + +#: src/common/util.c:1068 +msgid "El Salvador" +msgstr "Salwador" + +#: src/common/util.c:1069 +msgid "Syria" +msgstr "Syria" + +#: src/common/util.c:1070 +msgid "Swaziland" +msgstr "Suazi" + +#: src/common/util.c:1071 +msgid "Turks and Caicos Islands" +msgstr "Wyspy Turks i Caicos" + +#: src/common/util.c:1072 +msgid "Chad" +msgstr "Czad" + +#: src/common/util.c:1073 +msgid "French Southern Territories" +msgstr "Francuskie Terytoria Południowe" + +#: src/common/util.c:1074 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:1075 +msgid "Thailand" +msgstr "Tajlandia" + +#: src/common/util.c:1076 +msgid "Tajikistan" +msgstr "Tadżykistan" + +#: src/common/util.c:1077 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1078 src/common/util.c:1082 +msgid "East Timor" +msgstr "Timor Wschodni" + +#: src/common/util.c:1079 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:1080 +msgid "Tunisia" +msgstr "Tunezia" + +#: src/common/util.c:1081 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:1083 +msgid "Turkey" +msgstr "Turcja" + +#: src/common/util.c:1084 +msgid "Trinidad and Tobago" +msgstr "Trynidad i Tobago" + +#: src/common/util.c:1085 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1086 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:1087 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:1088 +msgid "Ukraine" +msgstr "Ukraina" + +#: src/common/util.c:1089 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:1090 +msgid "United Kingdom" +msgstr "Wielka Brytania" + +#: src/common/util.c:1091 +msgid "United States of America" +msgstr "Chameryka" + +#: src/common/util.c:1092 +msgid "Uruguay" +msgstr "Urugwaj" + +#: src/common/util.c:1093 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:1094 +msgid "Vatican City State" +msgstr "Watykan" + +#: src/common/util.c:1095 +msgid "St. Vincent and the Grenadines" +msgstr "Saint Vincent i Grenadyny" + +#: src/common/util.c:1096 +msgid "Venezuela" +msgstr "Wenezuela" + +#: src/common/util.c:1097 +msgid "British Virgin Islands" +msgstr "Brytyjskie Wyspy Dziewicze" + +#: src/common/util.c:1098 +msgid "US Virgin Islands" +msgstr "Wyspy Dziewicze Stanów Zjednoczonych" + +#: src/common/util.c:1099 +msgid "Vietnam" +msgstr "Wietnam" + +#: src/common/util.c:1100 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1101 +msgid "Wallis and Futuna Islands" +msgstr "Wyspy Wallis i Futuna" + +#: src/common/util.c:1102 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1103 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:1104 +msgid "Mayotte" +msgstr "Majotta" + +#: src/common/util.c:1105 +msgid "Yugoslavia" +msgstr "Jugosławia" + +#: src/common/util.c:1106 +msgid "South Africa" +msgstr "Afryka Południowa" + +#: src/common/util.c:1107 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:1108 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/util.c:1118 src/common/util.c:1128 src/fe-gtk/menu.c:611 +msgid "Unknown" +msgstr "Nieznany" + +#: src/common/xchat.c:726 +msgid "_Open Dialog Window" +msgstr "_Otwórz Okno Dialogu" + +#: src/common/xchat.c:727 +msgid "_Send a File" +msgstr "_Wyślij Plik" + +#: src/common/xchat.c:728 +msgid "_User Info (WhoIs)" +msgstr "Informacje o _użytkowniku (WhoIs)" + +#: src/common/xchat.c:729 +msgid "_Add to Friends List" +msgstr "_Dodaj do listy przyjaciół" + +#: src/common/xchat.c:730 +msgid "O_perator Actions" +msgstr "Akcje o_peratora" + +#: src/common/xchat.c:732 +msgid "Give Ops" +msgstr "Nadaj status Operatora" + +#: src/common/xchat.c:733 +msgid "Take Ops" +msgstr "Zabierz status Operatora" + +#: src/common/xchat.c:734 +msgid "Give Voice" +msgstr "Pozwól mówić podczas moderacji" + +#: src/common/xchat.c:735 +msgid "Take Voice" +msgstr "Zabroń mówić podczas moderacji" + +#: src/common/xchat.c:737 +msgid "Kick/Ban" +msgstr "Wypraszanie/Banowanie" + +#: src/common/xchat.c:738 src/common/xchat.c:775 +msgid "Kick" +msgstr "Wyproś" + +#: src/common/xchat.c:739 src/common/xchat.c:740 src/common/xchat.c:741 +#: src/common/xchat.c:742 src/common/xchat.c:743 src/common/xchat.c:774 +msgid "Ban" +msgstr "Banuj" + +#: src/common/xchat.c:744 src/common/xchat.c:745 src/common/xchat.c:746 +#: src/common/xchat.c:747 +msgid "KickBan" +msgstr "Wyproś i Banuj" + +#: src/common/xchat.c:757 +msgid "Leave Channel" +msgstr "Wyjdź z Pokoju" + +#: src/common/xchat.c:758 +msgid "Join Channel..." +msgstr "Wejdź do Pokoju..." + +#: src/common/xchat.c:759 src/fe-gtk/menu.c:1281 +msgid "Enter Channel to Join:" +msgstr "Podaj pokój do wejścia:" + +#: src/common/xchat.c:760 +msgid "Server Links" +msgstr "Połączenia Szkieletowe" + +#: src/common/xchat.c:761 +msgid "Ping Server" +msgstr "Serwer Pingu" + +#: src/common/xchat.c:762 +msgid "Hide Version" +msgstr "Ukryj Wersję" + +#: src/common/xchat.c:772 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:773 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/xchat.c:776 +msgid "bye" +msgstr "<papa>" + +#: src/common/xchat.c:777 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Podaj powód wyproszenia %s z pokoju:" + +#: src/common/xchat.c:778 +msgid "Sendfile" +msgstr "Wyślij plik" + +#: src/common/xchat.c:779 +msgid "Dialog" +msgstr "Dialog" + +#: src/common/xchat.c:788 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/xchat.c:789 +msgid "Send" +msgstr "Wyślij" + +#: src/common/xchat.c:790 +msgid "Chat" +msgstr "Czat Bezpośredni" + +#: src/common/xchat.c:791 src/fe-gtk/banlist.c:413 src/fe-gtk/ignoregui.c:389 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Wyczyść" + +#: src/common/xchat.c:792 +msgid "Ping" +msgstr "Ping" + +#: src/common/dbus/dbus-client.c:72 +msgid "Couldn't connect to session bus" +msgstr "Nie można połączyć się z busem sesji" + +#: src/common/dbus/dbus-client.c:86 +msgid "Failed to complete NameHasOwner" +msgstr "Nie można zakończyć NazwęMaWłaściciel" + +#: src/common/dbus/dbus-client.c:112 +msgid "Failed to complete Command" +msgstr "Nie można zakończyć polecenia" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "zdalny dostęp" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "wtyczka do zdalnego dostępu za pomocą DBUS" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Nie można połączyć się z busem sesji: %s\n" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Nie można nabyć %s: %s\n" + +#: src/fe-gtk/about.c:102 +msgid "About " +msgstr "O programie" + +#: src/fe-gtk/about.c:133 +msgid "A multiplatform IRC Client" +msgstr "Wieloplatformowy Program do Czatowania" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Wybór Pojedynczego Znaku" + +#: src/fe-gtk/banlist.c:151 src/fe-gtk/chanlist.c:305 +#: src/fe-gtk/plugin-tray.c:302 +msgid "Not connected." +msgstr "Połącz ponownie" + +#: src/fe-gtk/banlist.c:249 src/fe-gtk/banlist.c:329 +msgid "You must select some bans." +msgstr "Musisz zaznaczyć jakieś BANY." + +#: src/fe-gtk/banlist.c:278 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "Czy na pewno chcesz usunąć wszystkie bany w %s?" + +#: src/fe-gtk/banlist.c:344 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Maska" + +#: src/fe-gtk/banlist.c:345 +msgid "From" +msgstr "Od" + +#: src/fe-gtk/banlist.c:346 +msgid "Date" +msgstr "Data" + +#: src/fe-gtk/banlist.c:389 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Możesz otworzyć okno listy banów tylko wtedy gdy znajdujesz się na karcie pokoju." + +#: src/fe-gtk/banlist.c:393 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "X-Chat: Lista BANÓW (%s)" + +#: src/fe-gtk/banlist.c:409 src/fe-gtk/notifygui.c:432 +msgid "Remove" +msgstr "Usuń" + +#: src/fe-gtk/banlist.c:411 +msgid "Crop" +msgstr "Skróć" + +#: src/fe-gtk/banlist.c:415 +msgid "Refresh" +msgstr "Odśwież" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Wyświetlanych %d/%d użytkowników w %d/%d pokojach." + +#: src/fe-gtk/chanlist.c:526 src/fe-gtk/menu.c:1217 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Wybierz nazwę pliku wyjściowego" + +#: src/fe-gtk/chanlist.c:631 src/fe-gtk/chanlist.c:799 +msgid "_Join Channel" +msgstr "_Wejdź do Pokoju" + +#: src/fe-gtk/chanlist.c:633 +msgid "_Copy Channel Name" +msgstr "_Kopiuj nazwę pokoju" + +#: src/fe-gtk/chanlist.c:635 +msgid "Copy _Topic Text" +msgstr "Kopiuj tekst _tematu" + +#: src/fe-gtk/chanlist.c:724 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "X-Chat: Lista Pokoi (%s)" + +#: src/fe-gtk/chanlist.c:781 +msgid "_Search" +msgstr "_Szukaj" + +#: src/fe-gtk/chanlist.c:787 +msgid "_Download List" +msgstr "_Lista pobierania" + +#: src/fe-gtk/chanlist.c:793 +msgid "Save _List..." +msgstr "Zapisz _Listę..." + +#: src/fe-gtk/chanlist.c:806 +msgid "Show only:" +msgstr "Pokaż tylko:" + +#: src/fe-gtk/chanlist.c:818 +msgid "channels with" +msgstr "pokóje z" + +#: src/fe-gtk/chanlist.c:831 +msgid "to" +msgstr "do" + +#: src/fe-gtk/chanlist.c:843 +msgid "users." +msgstr "użytkownicy." + +#: src/fe-gtk/chanlist.c:849 +msgid "Look in:" +msgstr "Zobacz w:" + +#: src/fe-gtk/chanlist.c:861 +msgid "Channel name" +msgstr "Nazwa pokoju" + +#: src/fe-gtk/chanlist.c:882 +msgid "Search type:" +msgstr "Typ wyszukiwania:" + +#: src/fe-gtk/chanlist.c:889 +msgid "Simple Search" +msgstr "Proste wyszukiwanie" + +#: src/fe-gtk/chanlist.c:890 +msgid "Pattern Match (Wildcards)" +msgstr "Dopasowanie do wzorca (maski)" + +#: src/fe-gtk/chanlist.c:892 +msgid "Regular Expression" +msgstr "Regularne wyrażenie" + +#: src/fe-gtk/chanlist.c:903 src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Szukaj:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "Wyślij plik do %s" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "Ten plik nie może być wznawiany." + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Nie można uzyskać dostępu do pliku: %s\n" +"%s.\n" +"Wznawianie nie jest możliwe." + +#: src/fe-gtk/dccgui.c:507 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "Plik w katalogu pobierania jest większy niż zaoferowany. Wznawianie nie jest możliwe." + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "Nie można wznowić tego samego pliku od dwóch osób." + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: Wysyłania i Pobierania" + +#: src/fe-gtk/dccgui.c:756 src/fe-gtk/dccgui.c:995 src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "Status" + +#: src/fe-gtk/dccgui.c:757 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Plik" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "SzCzZ" + +#: src/fe-gtk/dccgui.c:787 src/fe-gtk/menu.c:1593 +msgid "Both" +msgstr "Obydwa" + +#: src/fe-gtk/dccgui.c:793 +msgid "Uploads" +msgstr "Wysyłania" + +#: src/fe-gtk/dccgui.c:799 +msgid "Downloads" +msgstr "Pobieraj pliki do:" + +#: src/fe-gtk/dccgui.c:804 +msgid "Details" +msgstr "Informacje o Tobie" + +#: src/fe-gtk/dccgui.c:815 +msgid "File:" +msgstr "Plik:" + +#: src/fe-gtk/dccgui.c:816 +msgid "Address:" +msgstr "Adres IP:" + +#: src/fe-gtk/dccgui.c:822 src/fe-gtk/dccgui.c:1019 +msgid "Abort" +msgstr "Przerwij" + +#: src/fe-gtk/dccgui.c:823 src/fe-gtk/dccgui.c:1020 +msgid "Accept" +msgstr "Przyjmij" + +#: src/fe-gtk/dccgui.c:824 +msgid "Resume" +msgstr "Wznów" + +#: src/fe-gtk/dccgui.c:825 +msgid "Open Folder..." +msgstr "Otwórz folder..." + +#: src/fe-gtk/dccgui.c:985 +msgid "XChat: DCC Chat List" +msgstr "X-Chat: Lista Czatów Bezpośrednich" + +#: src/fe-gtk/dccgui.c:997 +msgid "Recv" +msgstr "Odebrane" + +#: src/fe-gtk/dccgui.c:998 +msgid "Sent" +msgstr "Wysłane" + +#: src/fe-gtk/dccgui.c:999 +msgid "Start Time" +msgstr "Początek" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*NOWY*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "EDYTUJ MNIE" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/notifygui.c:137 +#: src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Nazwa" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Polecenie" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "W Górę" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "W Dół" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Anuluj" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Zapisz" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Dodaj" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:387 +msgid "Delete" +msgstr "Usuń" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Sortuj" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Pomoc" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "Nie łącz automatycznie z serwerem" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "Użyj innego katalogu konfiguracyjnego" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "Nie ładuj automatycznie żadnych wtyczek" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "Pokaż katalog automatycznego ładowania wtyczek" + +#: src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "Pokaż katalog ustawień użytkownika" + +#: src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "Otwórz adres URL irc://server:port/channel " + +#: src/fe-gtk/fe-gtk.c:133 src/fe-gtk/setup.c:212 +msgid "Execute command:" +msgstr "Uruchom polecenie:" + +#: src/fe-gtk/fe-gtk.c:134 +msgid "Open URL or execute command in an existing XChat" +msgstr "Otwórz adres URL lub wykonaj polecenia w istniejącym XChat" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Rozpocznij zminimalizowanie. Poziom 0=normalny 1=minimalizowany 2=w zasobniku" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "level" +msgstr "poziom" + +#: src/fe-gtk/fe-gtk.c:137 +msgid "Show version information" +msgstr "pokaż informacje o wersji" + +#: src/fe-gtk/fe-gtk.c:257 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Nie można otworzyć czcionki:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:636 +msgid "Search buffer is empty.\n" +msgstr "Bufor szukania jest pusty.\n" + +#: src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "%d bytes" +msgstr "%d bajtów" + +#: src/fe-gtk/fe-gtk.c:733 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Kolejka sieci wysłania: %d bajtów" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "" +"Polecenie Run Command uruchamia dane w \"Dane 1\" tak jakby były wpisane w linii poleceń, w kolejności wciśniętych klawiszy. Tak więc mogą zawierać one tekst (który zostanie wysłany do pokoju/osoby), polecenia lub polecenia użytkownika\n" +" oddziela polecenia, tak że można uruchomić kilka poleceń. Jeśli potrzebujesz \\ w tekście, wpisz \\\\" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "Polecenie Change Page przełącza pomiędzy stronami w notatniku. Ustaw w \"Dane 1\" stronę do której chcesz przełączyć. Jeśli podane jest coś w \"Dane 2\" przełącza to w stosunku do aktualnej pozycji" + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "Polecenie Insert in Buffer wstawia zawartość \"Dane 1\" do miejsca wciśnięta kolejności klawiszy przy pozycji kursora" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "Polecenie Scroll Page przewija tekst widżetu o jedną stronę w górę lub w dół. Możliwe wartości dla \"Dane 1\": Up, Down, +1 lub -1." + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "Polecenie Set Buffer ustawia wpis gdzie została podana kolejność klawiszy do zawartości \"Dane 1\"" + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "Polecenie Last Command ustawia wpis zawierający ostatnie polecenie - tak samo jak naciśnięcie w górę w shellu" + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "Polecenie Next Command ustawia wpis zawierający następne polecenie - tak samo jak naciśnięcie w dół w shellu" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "To polecenie zmienia tekst w wpisie aby uzupełnić niekompletny pseudonim lub polecenie. Jeśli podane są \"Dane 1\" dwukrotny tab wybiera ostatni pseudonim, a nie następny" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "To polecenie przewija w górę i w dół, poprzez listę pseudonim. Jeśli podane są \"Dane 1\" wszystko przewija w górę, inaczej w dół" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "To polecenie sprawdza ostatnie wpisane słowo w liście zastąpień a następnie wymienia je, jeżeli znajdzie zgodę" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "To polecenie przenosi bieżącą kartę o jedną pozycję w lewo" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "To polecenie przenosi bieżącą kartę o jedną pozycję w prawo" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "To polecenie przenosi bieżącą grupę kart o jedną pozycję w lewo" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "To polecenie przenosi bieżącą grupę kart o jedną pozycję w prawo" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "Wstaw linię wejściową do historii, ale nie wysyłaj do serwera" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "Wystąpił błąd podczas ładowania konfiguracji klawiszy" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1635 src/fe-gtk/maingui.c:1751 +#: src/fe-gtk/maingui.c:3252 +msgid "<none>" +msgstr "<brak>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "Funkc." + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Klawisz" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Akcja" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "X-Chat: Skróty Klawiszowe" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "Dane 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "Dane 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "Błąd podczas otwierania pliku konfiguracyjnego kluczy \n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Nieznana nazwa klawisza %s w pliku konfiguracyjnym klawiszy\n" +"Ładowanie przerwane, należy poprawić %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Nieznana akcja %s w pliku konfiguracyjnym klawiszy\n" +"Ładowanie przerwane, należy poprawić %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Oczekiwana linia danych (począwsza od Dx{:|!}) ale otrzymano:\n" +"%s\n" +"\n" +"Ładowanie przerwane, należy poprawić %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Plik konfiguracyjny klawiszy jest uszkodzony, ładowanie przerwane\n" +"Należy poprawić %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "Nie można zapisać do tego pliku." + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "Nie może odczytać tego pliku." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:264 +msgid "That mask already exists." +msgstr "Ta maska już istnieje." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:2132 +msgid "Private" +msgstr "Prywatne" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Ogłoszenia" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "Połączenia Bezpośrednie" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Zaproś" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Nie ignoruj" + +#: src/fe-gtk/ignoregui.c:308 +msgid "Enter mask to ignore:" +msgstr "Podaj maskę którą zignorować:" + +#: src/fe-gtk/ignoregui.c:355 +msgid "XChat: Ignore list" +msgstr "X-Chat: Lista Ignorowanych" + +#: src/fe-gtk/ignoregui.c:362 +msgid "Ignore Stats:" +msgstr "Statystyki Ignorowania:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Channel:" +msgstr "Pokój:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Private:" +msgstr "Prywatne:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Notice:" +msgstr "Ogłoszenia:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:374 +msgid "Invite:" +msgstr "Zaproszenia:" + +#: src/fe-gtk/ignoregui.c:385 src/fe-gtk/notifygui.c:428 +msgid "Add..." +msgstr "Dodaj..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "Nazwa pokoju za krótka, spróbuj ponownie." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: Połączenie Zakończone" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "Połączenie z %s zakończone." + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "W oknie listy serwerów, nie został wpisany żaden pokój do automatycznego przystąpienia dla tej sieci." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Co chcesz następnie zrobić?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_Nic, chcę później dołączyć do pokoju." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "We_jdź do Pokoju:" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Jeśli znasz nazwę pokoju, do którego chcesz dołączyć, wpisz ją tutaj." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "Otwórz okno z _pokojami w:" + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "Pobieranie listy pokoi może zająć minutę lub dwie." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "_Zawsze pokazuj to okno dialogowe po podłączeniu." + +#: src/fe-gtk/maingui.c:506 +msgid "Dialog with" +msgstr "Dialog z" + +#: src/fe-gtk/maingui.c:793 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Temat rozmowy w pokoju %s to: %s" + +#: src/fe-gtk/maingui.c:798 +msgid "No topic is set" +msgstr "Brak tematu rozmowy" + +#: src/fe-gtk/maingui.c:1182 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "Ten serwer ma wciąż %d pokoji lub dialogów związanych z nim. Zamknąć je wszystkie?" + +#: src/fe-gtk/maingui.c:1276 +msgid "Quit XChat?" +msgstr "Wyjść z XChat?" + +#: src/fe-gtk/maingui.c:1297 +msgid "Don't ask next time." +msgstr "Nie pytaj następnym razem." + +#: src/fe-gtk/maingui.c:1303 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Jesteś połączony z %i sieciami IRC." + +#: src/fe-gtk/maingui.c:1305 +msgid "Are you sure you want to quit?" +msgstr "Czy na pewno chcesz wyjść?" + +#: src/fe-gtk/maingui.c:1307 +msgid "Some file transfers are still active." +msgstr "Niektóre transfery plików są nadal aktywne." + +#: src/fe-gtk/maingui.c:1325 +msgid "_Minimize to Tray" +msgstr "_Minimalizuj do zasobnika" + +#: src/fe-gtk/maingui.c:1545 +msgid "Insert Attribute or Color Code" +msgstr "Wstaw atrybut lub kod koloru" + +#: src/fe-gtk/maingui.c:1547 +msgid "<b>Bold</b>" +msgstr "<b>Pogrubione</b>" + +#: src/fe-gtk/maingui.c:1548 +msgid "<u>Underline</u>" +msgstr "<u>Podkreślone</u>" + +#: src/fe-gtk/maingui.c:1550 +msgid "Normal" +msgstr "Normalny" + +#: src/fe-gtk/maingui.c:1552 +msgid "Colors 0-7" +msgstr "Kolory 0-7" + +#: src/fe-gtk/maingui.c:1562 +msgid "Colors 8-15" +msgstr "Kolory 8-15" + +#: src/fe-gtk/maingui.c:1605 +msgid "_Settings" +msgstr "_Ustawienia" + +#: src/fe-gtk/maingui.c:1607 +msgid "_Log to Disk" +msgstr "_Loguj na dysku" + +#: src/fe-gtk/maingui.c:1608 +msgid "_Reload Scrollback" +msgstr "_Wczytaj ponowne przewijanie w tył" + +#: src/fe-gtk/maingui.c:1610 +msgid "_Hide Join/Part Messages" +msgstr "_Ukryj wiadomości dołączania/opuszczania" + +#: src/fe-gtk/maingui.c:1618 +msgid "_Extra Alerts" +msgstr "_Dodatkowe Powiadomienia" + +#: src/fe-gtk/maingui.c:1620 +msgid "Beep on _Message" +msgstr "Pojedynczy dzwonek gdy przyjdzie _wiadomość" + +#: src/fe-gtk/maingui.c:1621 +msgid "Blink Tray _Icon" +msgstr "Migaj _ikoną w zasobniku" + +#: src/fe-gtk/maingui.c:1622 +msgid "Blink Task _Bar" +msgstr "Migaj _paskiem zadań" + +#: src/fe-gtk/maingui.c:1660 src/fe-gtk/menu.c:2124 +msgid "_Detach" +msgstr "O_dczep" + +#: src/fe-gtk/maingui.c:1662 src/fe-gtk/menu.c:2125 src/fe-gtk/menu.c:2130 +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "_Zamknij" + +#: src/fe-gtk/maingui.c:2000 src/fe-gtk/maingui.c:2106 +msgid "User limit must be a number!\n" +msgstr "Limit użytkowników podaj w formie liczby!\n" + +#: src/fe-gtk/maingui.c:2128 +msgid "Topic Protection" +msgstr "Ochrona Tematu" + +#: src/fe-gtk/maingui.c:2129 +msgid "No outside messages" +msgstr "Blokada wiadomości z zewnątrz" + +#: src/fe-gtk/maingui.c:2130 +msgid "Secret" +msgstr "Ukryty" + +#: src/fe-gtk/maingui.c:2131 +msgid "Invite Only" +msgstr "Wymagane zaproszenie" + +#: src/fe-gtk/maingui.c:2133 +msgid "Moderated" +msgstr "Moderowany" + +#: src/fe-gtk/maingui.c:2134 +msgid "Ban List" +msgstr "Lista BANów" + +#: src/fe-gtk/maingui.c:2136 +msgid "Keyword" +msgstr "Hasło" + +#: src/fe-gtk/maingui.c:2148 +msgid "User Limit" +msgstr "Limit użytkowników" + +#: src/fe-gtk/maingui.c:2257 +msgid "Show/Hide userlist" +msgstr "Pokaż/Ukryj listę użytkowników" + +#: src/fe-gtk/maingui.c:2382 +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 "" +"Nie można ustawić przezroczystego tła!\n" +"\n" +"Być może uzywasz niezgodnego Menedżera\n" +"okien, który nie jest aktualnie nieobsługiwany.\n" + +#: src/fe-gtk/maingui.c:2653 +msgid "Enter new nickname:" +msgstr "Podaj nowy pseudonim:" + +#: src/fe-gtk/menu.c:126 +msgid "Host unknown" +msgstr "Nieznany host" + +#: src/fe-gtk/menu.c:610 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:616 src/fe-gtk/menu.c:620 +msgid "Real Name:" +msgstr "Personalia:" + +#: src/fe-gtk/menu.c:624 +msgid "User:" +msgstr "Użytkownik:" + +#: src/fe-gtk/menu.c:628 +msgid "Country:" +msgstr "Kraj:" + +#: src/fe-gtk/menu.c:632 +msgid "Server:" +msgstr "Serwer:" + +#: src/fe-gtk/menu.c:640 +#, c-format +msgid "%u minutes ago" +msgstr "%u minut temu" + +#: src/fe-gtk/menu.c:642 src/fe-gtk/menu.c:645 +msgid "Last Msg:" +msgstr "Ost. Wiad.:" + +#: src/fe-gtk/menu.c:655 +msgid "Away Msg:" +msgstr "Usprawiedliwienie:" + +#: src/fe-gtk/menu.c:710 +#, c-format +msgid "%d nicks selected." +msgstr "%d wybranych pseudonimów." + +#: src/fe-gtk/menu.c:835 +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 "Pasek menu jest teraz ukryty. Możesz przywrócić go ponownie, naciskając klawisz F9 lub klikając prawym przyciskiem myszy w pustej części obszaru tekstu głównego." + +#: src/fe-gtk/menu.c:930 +msgid "Open Link in Browser" +msgstr "Otwórz link w przeglądarce" + +#: src/fe-gtk/menu.c:931 +msgid "Copy Selected Link" +msgstr "Kopiuj zaznaczony URL" + +#: src/fe-gtk/menu.c:993 src/fe-gtk/menu.c:1264 +msgid "Join Channel" +msgstr "Wejdź do Pokoju" + +#: src/fe-gtk/menu.c:997 +msgid "Part Channel" +msgstr "Wyjdź z Pokoju" + +#: src/fe-gtk/menu.c:999 +msgid "Cycle Channel" +msgstr "Wyjdź i wejdź spowrotem do pokoju" + +#: src/fe-gtk/menu.c:1035 +msgid "_Remove from Favorites" +msgstr "_Usuń z ulubionych" + +#: src/fe-gtk/menu.c:1037 +msgid "_Add to Favorites" +msgstr "_Dodaj do ulubionych" + +#: src/fe-gtk/menu.c:1056 +msgid "XChat: User menu" +msgstr "XChat: Menu Użytkownika" + +#: src/fe-gtk/menu.c:1065 +msgid "Edit This Menu..." +msgstr "Dostosuj to Menu..." + +#: src/fe-gtk/menu.c:1266 +msgid "Retrieve channel list..." +msgstr "Lista Pokoi..." + +#: src/fe-gtk/menu.c:1334 +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 = xchat 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 "" +"Polecenia uzytkownika - Specjalne kody:\n" +"\n" +"%c = bieżący pokój\n" +"%e = bieżąca nazwa sieci\n" +"%m = informacje komputera\n" +"%n = twój pseudonim\n" +"%t = czas/data\n" +"%v = wersja xchat\n" +"%2 = słowo 2\n" +"%3 = słowo 3\n" +"&2 = słowo 2 do końca linii\n" +"&3 = słowo 3 do końca linii\n" +"\n" +"np:\n" +"/cmd john hello\n" +"\n" +"%2 byłoby \"john\"\n" +"&2 byłoby \"john hello\"." + +#: src/fe-gtk/menu.c:1350 +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 "" +"Przyciski użytkownika - Specjalne kody:\n" +"\n" +"%a = wszystkie wybrane pseudonimy\n" +"%c = bieżący pokój\n" +"%e = bieżąca nazwa sieci\n" +"%h = wybrana nazwa hosta pseudonimu\n" +"%m = informacje komputera\n" +"%n = twój pseudonim\n" +"%s = wybrany pseudonim\n" +"%t = czas/data\n" + +#: src/fe-gtk/menu.c:1360 +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 "" +"Przyciski dialogu - Specjalne kody:\n" +"\n" +"%a = wszystkie wybrane pseudonimy\n" +"%c = bieżący pokój\n" +"%e = bieżąca nazwa sieci\n" +"%h = wybrana nazwa hosta pseudonimu\n" +"%m = informacje komputera\n" +"%n = twój pseudonim\n" +"%s = wybrany pseudonim\n" +"%t = czas/data\n" + +#: src/fe-gtk/menu.c:1370 +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 "" +"Odpowiedzi CTCP - Specjalne kody:\n" +"\n" +"%d = dane (w całym CTCP)\n" +"%e = bieżąca nazwa sieci\n" +"%m = informacje komputera\n" +"%s = pseudonim, który wysłał CTCP\n" +"%t = time/date\n" +"%2 = słowo 2\n" +"%3 = słowo 3\n" +"&2 = słowo 2 do końca linii\n" +"&3 = słowo 3 do końca linii\n" +"\n" + +#: src/fe-gtk/menu.c:1381 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"Obsługi URL - Specjalne kody:\n" +"\n" +"%s = string URL\n" +"\n" +"! na początku polecenia wskazuje,\n" +"że wysłana ono jest do\n" +"shella, zamiast do XChat" + +#: src/fe-gtk/menu.c:1390 +msgid "XChat: User Defined Commands" +msgstr "XChat: Własne Polecenia Użytkownika" + +#: src/fe-gtk/menu.c:1397 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: Podręczne menu Listy Użytkowników" + +#: src/fe-gtk/menu.c:1404 +msgid "Replace with" +msgstr "Zamień z" + +#: src/fe-gtk/menu.c:1404 +msgid "XChat: Replace" +msgstr "XChat: Zamiana" + +#: src/fe-gtk/menu.c:1411 +msgid "XChat: URL Handlers" +msgstr "XChat: Przechwycone Adresy URL" + +#: src/fe-gtk/menu.c:1430 +msgid "XChat: Userlist buttons" +msgstr "XChat: Przyciski pod Listą Użytkowników" + +#: src/fe-gtk/menu.c:1437 +msgid "XChat: Dialog buttons" +msgstr "XChat: Przyciski w Rozmowie Prywatnej" + +#: src/fe-gtk/menu.c:1444 +msgid "XChat: CTCP Replies" +msgstr "XChat: Odpowiedzi CTCP" + +#: src/fe-gtk/menu.c:1550 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1551 +msgid "Network Li_st..." +msgstr "Li_sta sieci..." + +#: src/fe-gtk/menu.c:1554 +msgid "_New" +msgstr "_Nowe" + +#: src/fe-gtk/menu.c:1555 +msgid "Server Tab..." +msgstr "Zakładka Serwera..." + +#: src/fe-gtk/menu.c:1556 +msgid "Channel Tab..." +msgstr "Zakładka Pokoju..." + +#: src/fe-gtk/menu.c:1557 +msgid "Server Window..." +msgstr "Okno Serwera..." + +#: src/fe-gtk/menu.c:1558 +msgid "Channel Window..." +msgstr "Okno Pokoju..." + +#: src/fe-gtk/menu.c:1563 src/fe-gtk/menu.c:1565 +msgid "_Load Plugin or Script..." +msgstr "Załaduj Wtyczkę lub Skrypt..." + +#: src/fe-gtk/menu.c:1573 src/fe-gtk/plugin-tray.c:604 +msgid "_Quit" +msgstr "Wyjście" + +#: src/fe-gtk/menu.c:1575 +msgid "_View" +msgstr "_Widok" + +#: src/fe-gtk/menu.c:1577 +msgid "_Menu Bar" +msgstr "Pasek _Menu" + +#: src/fe-gtk/menu.c:1578 +msgid "_Topic Bar" +msgstr "Pasek _Tematu" + +#: src/fe-gtk/menu.c:1579 +msgid "_User List" +msgstr "Lista _Użytkowników" + +#: src/fe-gtk/menu.c:1580 +msgid "U_serlist Buttons" +msgstr "Przyciski _użytkowników" + +#: src/fe-gtk/menu.c:1581 +msgid "M_ode Buttons" +msgstr "Przyciski _Opcji Pokoju" + +#: src/fe-gtk/menu.c:1583 +msgid "_Channel Switcher" +msgstr "_Przełącznik Pokoi" + +#: src/fe-gtk/menu.c:1585 +msgid "_Tabs" +msgstr "_Zakładki" + +#: src/fe-gtk/menu.c:1586 +msgid "T_ree" +msgstr "_Śledzenie" + +#: src/fe-gtk/menu.c:1588 +msgid "_Network Meters" +msgstr "Mier_niki sieciowe" + +#: src/fe-gtk/menu.c:1590 +msgid "Off" +msgstr "Wyłączone" + +#: src/fe-gtk/menu.c:1591 +msgid "Graph" +msgstr "Graficzny" + +#: src/fe-gtk/menu.c:1596 +msgid "_Server" +msgstr "_Serwer" + +#: src/fe-gtk/menu.c:1597 +msgid "_Disconnect" +msgstr "_Rozłącz" + +#: src/fe-gtk/menu.c:1598 +msgid "_Reconnect" +msgstr "Połącz _ponownie" + +#: src/fe-gtk/menu.c:1599 +msgid "Join a Channel..." +msgstr "Wejdź do Pokoju..." + +#: src/fe-gtk/menu.c:1600 +msgid "List of Channels..." +msgstr "Lista Pokoi..." + +#: src/fe-gtk/menu.c:1603 +msgid "Marked Away" +msgstr "Oznacz jako nieobecny" + +#: src/fe-gtk/menu.c:1605 +msgid "_Usermenu" +msgstr "_Użytkownik" + +#: src/fe-gtk/menu.c:1607 +msgid "S_ettings" +msgstr "Ustawi_enia" + +#: src/fe-gtk/menu.c:1608 +msgid "_Preferences" +msgstr "_Preferencje" + +#: src/fe-gtk/menu.c:1610 +msgid "Advanced" +msgstr "Zaawansowane" + +#: src/fe-gtk/menu.c:1611 +msgid "Auto Replace..." +msgstr "Automatyczna Zamiana..." + +#: src/fe-gtk/menu.c:1612 +msgid "CTCP Replies..." +msgstr "Odpowiedzi CTCP..." + +#: src/fe-gtk/menu.c:1613 +msgid "Dialog Buttons..." +msgstr "Przyciski w Rozmowie Prywatnej..." + +#: src/fe-gtk/menu.c:1614 +msgid "Keyboard Shortcuts..." +msgstr "Skróty Klawiszowe..." + +#: src/fe-gtk/menu.c:1615 +msgid "Text Events..." +msgstr "Zdarzenia Tekstowe..." + +#: src/fe-gtk/menu.c:1616 +msgid "URL Handlers..." +msgstr "Obsługi URL..." + +#: src/fe-gtk/menu.c:1617 +msgid "User Commands..." +msgstr "Własne Polecenia Użytkownika..." + +#: src/fe-gtk/menu.c:1618 +msgid "Userlist Buttons..." +msgstr "Przyciski pod Listą Użytkowników..." + +#: src/fe-gtk/menu.c:1619 +msgid "Userlist Popup..." +msgstr "Podręczna Lista Użytkowników..." + +#: src/fe-gtk/menu.c:1622 +msgid "_Window" +msgstr "_Okno" + +#: src/fe-gtk/menu.c:1623 +msgid "Ban List..." +msgstr "Lista BANów..." + +#: src/fe-gtk/menu.c:1624 +msgid "Character Chart..." +msgstr "Tablica Znaków..." + +#: src/fe-gtk/menu.c:1625 +msgid "Direct Chat..." +msgstr "Czat Bezpośredni..." + +#: src/fe-gtk/menu.c:1626 +msgid "File Transfers..." +msgstr "Transfery plików..." + +#: src/fe-gtk/menu.c:1627 +msgid "Friends List..." +msgstr "Lista przyjaciół..." + +#: src/fe-gtk/menu.c:1628 +msgid "Ignore List..." +msgstr "Lista Ignorowanych..." + +#: src/fe-gtk/menu.c:1629 +msgid "Plugins and Scripts..." +msgstr "Wtyczki i Skrypty..." + +#: src/fe-gtk/menu.c:1630 +msgid "Raw Log..." +msgstr "Surowy Log..." + +#: src/fe-gtk/menu.c:1631 +msgid "URL Grabber..." +msgstr "Przechwycone Adresy URL..." + +#: src/fe-gtk/menu.c:1633 +msgid "Reset Marker Line" +msgstr "Resetuj oznakowanie linii" + +#: src/fe-gtk/menu.c:1634 +msgid "C_lear Text" +msgstr "Wy_czyść Tekst" + +#: src/fe-gtk/menu.c:1636 +msgid "Search Text..." +msgstr "Szukaj Tekstu..." + +#: src/fe-gtk/menu.c:1637 +msgid "Save Text..." +msgstr "Zapisz Tekst..." + +#: src/fe-gtk/menu.c:1639 src/fe-gtk/menu.c:2116 +msgid "_Help" +msgstr "_Pomoc" + +#: src/fe-gtk/menu.c:1640 +msgid "_Contents" +msgstr "_Zawartość pomocy" + +#: src/fe-gtk/menu.c:1642 +msgid "Check for updates" +msgstr "Sprawdź uaktualnienia" + +#: src/fe-gtk/menu.c:1644 +msgid "_About" +msgstr "_O programie" + +#: src/fe-gtk/menu.c:2129 +msgid "_Attach" +msgstr "_Przyczep" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "Ostatnio Widziany" + +#: src/fe-gtk/notifygui.c:182 +msgid "Offline" +msgstr "Rozłączony" + +#: src/fe-gtk/notifygui.c:202 src/fe-gtk/setup.c:231 +msgid "Never" +msgstr "Nigdy" + +#: src/fe-gtk/notifygui.c:205 src/fe-gtk/notifygui.c:230 +#, c-format +msgid "%d minutes ago" +msgstr "%d minut temu" + +#: src/fe-gtk/notifygui.c:220 +msgid "Online" +msgstr "Dostępny" + +#: src/fe-gtk/notifygui.c:349 +msgid "Enter nickname to add:" +msgstr "Wpisz pseudonim do dodania:" + +#: src/fe-gtk/notifygui.c:378 +msgid "Notify on these networks:" +msgstr "Zawiadamiaj na tych sieciach:" + +#: src/fe-gtk/notifygui.c:389 +msgid "Comma separated list of networks is accepted." +msgstr "Akceptowana jest lista sieci, dzielonych przecinkami." + +#: src/fe-gtk/notifygui.c:415 +msgid "XChat: Friends List" +msgstr "X-Chat: Lista Przyjaciół" + +#: src/fe-gtk/notifygui.c:436 +msgid "Open Dialog" +msgstr "Otwórz Dialog" + +#: src/fe-gtk/plugin-tray.c:248 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" +"Nie można odnaleźć 'powiadomienie-wysłane' aby otworzyć balony powiadomień.\n" +"Proszę zainstaluj libnotify." + +#: src/fe-gtk/plugin-tray.c:299 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat: Podłączony do %u sieci i %u pokoi" + +#: src/fe-gtk/plugin-tray.c:583 +msgid "_Restore" +msgstr "_Odnów" + +#: src/fe-gtk/plugin-tray.c:585 +msgid "_Hide" +msgstr "_Ukryty" + +#: src/fe-gtk/plugin-tray.c:588 +msgid "_Blink on" +msgstr "_Migaj przy" + +#: src/fe-gtk/plugin-tray.c:589 src/fe-gtk/setup.c:479 +msgid "Channel Message" +msgstr "Wiadomość Pokoju" + +#: src/fe-gtk/plugin-tray.c:590 src/fe-gtk/setup.c:480 +msgid "Private Message" +msgstr "Prywatna wiadomość" + +#: src/fe-gtk/plugin-tray.c:591 src/fe-gtk/setup.c:481 +msgid "Highlighted Message" +msgstr "Podświetlona wiadomość" + +#: src/fe-gtk/plugin-tray.c:594 +msgid "_Change status" +msgstr "_Zmień status" + +#: src/fe-gtk/plugin-tray.c:596 +msgid "_Away" +msgstr "_Nieobecność" + +#: src/fe-gtk/plugin-tray.c:599 +msgid "_Back" +msgstr "_Wstecz" + +#: src/fe-gtk/plugin-tray.c:648 src/fe-gtk/plugin-tray.c:656 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "XChat: Podświetl wiadomość od: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:651 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat: %u wiadomości podświetlonych, najnowsza z: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:674 src/fe-gtk/plugin-tray.c:681 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat: Nowa wiadomość publiczna od: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:677 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat: %u nowych wiadomości publicznych." + +#: src/fe-gtk/plugin-tray.c:703 src/fe-gtk/plugin-tray.c:710 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat: Prywatna wiadomość od: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:706 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat: %u wiadomości prywatnych, najnowsza z: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:756 src/fe-gtk/plugin-tray.c:764 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: Oferta pliku od: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:759 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "XChat: %u ofert pliku, najnowsza z: %s (%s)" + +#: src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Wersja" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Opis" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Wybierz Wtyczkę lub Skrypt do załadowania" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: Wtyczki i Skrypty" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "Za_ładuj..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "_Wyładuj" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:438 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Zapisz jako..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: Surowy Log (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Wyczyść surowy log" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Okno dla którego otworzyłeś to szukanie już nie istnieje." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "Szukanie zakończone, niczego nie znaleziono." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Szukanie" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "_Rozróżniaj wielkość liter" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "Szukaj w _tył" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "_Znajdź" + +#: src/fe-gtk/servlistgui.c:171 src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "Nowa Sieć" + +#: src/fe-gtk/servlistgui.c:558 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Czy naprawdę usunąć sieć \"%s\" i wszystkie jej serwery?" + +#: src/fe-gtk/servlistgui.c:740 +msgid "#channel" +msgstr "#pokój" + +#: src/fe-gtk/servlistgui.c:847 +msgid "XChat: Favorite Channels (Auto-Join List)" +msgstr "X-Chat: Ulubione pokoje (lista auto-dołączania)" + +#: src/fe-gtk/servlistgui.c:859 +#, c-format +msgid "These channels will be joined whenever you connect to %s." +msgstr "Do tych pokoi zawsze przystąpisz gdy podłączysz się do %s." + +#: src/fe-gtk/servlistgui.c:902 +msgid "Key (Password)" +msgstr "Klucz (Hasło)" + +#: src/fe-gtk/servlistgui.c:933 src/fe-gtk/servlistgui.c:1535 +msgid "_Edit" +msgstr "_Edycja" + +#: src/fe-gtk/servlistgui.c:969 +#, c-format +msgid "%s has been removed." +msgstr "%s został usunięty." + +#: src/fe-gtk/servlistgui.c:989 +#, c-format +msgid "%s has been added." +msgstr "%s został dodany." + +#: src/fe-gtk/servlistgui.c:1013 +msgid "User name and Real name cannot be left blank." +msgstr "Nazwa użytkownika oraz imię prawdziwe nie może być puste." + +#: src/fe-gtk/servlistgui.c:1366 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: Edycja %s" + +#: src/fe-gtk/servlistgui.c:1385 +#, c-format +msgid "Servers for %s" +msgstr "Serwery %s" + +#: src/fe-gtk/servlistgui.c:1396 +msgid "Connect to selected server only" +msgstr "Połącz się wyłącznie z zaznaczonym serwerem" + +#: src/fe-gtk/servlistgui.c:1397 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Nie skacz po wszystkich serwerach, gdy połączenie się nie uda." + +#: src/fe-gtk/servlistgui.c:1399 +msgid "Your Details" +msgstr "Informacje o Tobie" + +#: src/fe-gtk/servlistgui.c:1405 +msgid "Use global user information" +msgstr "Użyj globalnych informacji o użytkowniku" + +#: src/fe-gtk/servlistgui.c:1408 src/fe-gtk/servlistgui.c:1640 +msgid "_Nick name:" +msgstr "Pseudo_nim:" + +#: src/fe-gtk/servlistgui.c:1412 src/fe-gtk/servlistgui.c:1647 +msgid "Second choice:" +msgstr "Drugi wybór:" + +#: src/fe-gtk/servlistgui.c:1416 src/fe-gtk/servlistgui.c:1661 +msgid "_User name:" +msgstr "_Użytkownik:" + +#: src/fe-gtk/servlistgui.c:1420 src/fe-gtk/servlistgui.c:1668 +msgid "Rea_l name:" +msgstr "Persona_lia:" + +#: src/fe-gtk/servlistgui.c:1423 +msgid "Connecting" +msgstr "Łączenie" + +#: src/fe-gtk/servlistgui.c:1429 +msgid "Auto connect to this network at startup" +msgstr "Połącz się automatycznie z tą siecią przy starcie" + +#: src/fe-gtk/servlistgui.c:1431 +msgid "Bypass proxy server" +msgstr "Omiń serwera pośredniczącego (proxy)" + +#: src/fe-gtk/servlistgui.c:1433 +msgid "Use SSL for all the servers on this network" +msgstr "Używaj SSL dla wszystkich serwerów w tej sieci" + +#: src/fe-gtk/servlistgui.c:1438 +msgid "Accept invalid SSL certificate" +msgstr "Akceptuj niepoprawne certyfikaty SSL" + +#: src/fe-gtk/servlistgui.c:1444 +msgid "_Favorite channels:" +msgstr "_Ulubione pokoje:" + +#: src/fe-gtk/servlistgui.c:1446 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Dołączone pokoje, oddzielone przecinkami, ale nie spacjami!" + +#: src/fe-gtk/servlistgui.c:1449 +msgid "Connect command:" +msgstr "Polecenie po połączeniu:" + +#: src/fe-gtk/servlistgui.c:1451 +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 "Polecenie, które zostanie wykonane po nawiązaniu połączeniu z serwerem.Jeśli chcesz wykonać więcej niż jedno, wpisz tutaj: LOAD -e <nazwa_pliku>, gdzie <nazwa_pliku> to plik tekstowy zawierający polecenia do wykonania po połączeniu." + +#: src/fe-gtk/servlistgui.c:1454 +msgid "Nickserv password:" +msgstr "Hasło do Nickserva:" + +#: src/fe-gtk/servlistgui.c:1456 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "Jeśli twój pseudonim wymaga hasła, wpisz je tutaj. Nie wszystkie sieci IRC tego wspierają." + +#: src/fe-gtk/servlistgui.c:1460 +msgid "Server password:" +msgstr "Hasło serwera:" + +#: src/fe-gtk/servlistgui.c:1462 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Hasło dostępu do serwera, jeśli nie wiesz o co chodzi, zostaw puste." + +#: src/fe-gtk/servlistgui.c:1465 +msgid "Character set:" +msgstr "Zestaw znaków:" + +#: src/fe-gtk/servlistgui.c:1618 +msgid "XChat: Network List" +msgstr "XChat: Lista Sieci" + +#: src/fe-gtk/servlistgui.c:1630 +msgid "User Information" +msgstr "Informacje o Użytkowniku" + +#: src/fe-gtk/servlistgui.c:1654 +msgid "Third choice:" +msgstr "Trzeci wybór:" + +#: src/fe-gtk/servlistgui.c:1714 +msgid "Networks" +msgstr "Sieci" + +#: src/fe-gtk/servlistgui.c:1755 +msgid "Skip network list on startup" +msgstr "Pomiń listę sieci przy starcie" + +#: src/fe-gtk/servlistgui.c:1787 +msgid "_Edit..." +msgstr "_Edycja..." + +#: src/fe-gtk/servlistgui.c:1794 +msgid "_Sort" +msgstr "_Sortowanie" + +#: src/fe-gtk/servlistgui.c:1795 +msgid "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN keys to move a row." +msgstr "Sortuje listę sieci w porządku alfabetycznym. Użyj klawiszy SHIFT-GÓRA i SHIFT-DÓŁ by przenieść rząd." + +#: src/fe-gtk/servlistgui.c:1820 +msgid "C_onnect" +msgstr "P_ołącz" + +#: src/fe-gtk/setup.c:104 +msgid "Text Box Appearance" +msgstr "Wygląd Głównego Okna Czatowego" + +#: src/fe-gtk/setup.c:105 +msgid "Font:" +msgstr "Czcionka:" + +#: src/fe-gtk/setup.c:106 +msgid "Background image:" +msgstr "Obrazek w tle:" + +#: src/fe-gtk/setup.c:107 +msgid "Scrollback lines:" +msgstr "Przewijanie linii w tył:" + +#: src/fe-gtk/setup.c:108 +msgid "Colored nick names" +msgstr "Kolorowe pseudonimy" + +#: src/fe-gtk/setup.c:109 +msgid "Give each person on IRC a different color" +msgstr "Nadaje każdej osobie na czacie inny kolor" + +#: src/fe-gtk/setup.c:110 +msgid "Indent nick names" +msgstr "Dodawaj wcięcia przez pseudonimami" + +#: src/fe-gtk/setup.c:111 +msgid "Make nick names right-justified" +msgstr "Dodawaj wcięcia przed pseudonimami aby wszystkie były wyrównane do prawej" + +#: src/fe-gtk/setup.c:112 +msgid "Transparent background" +msgstr "Przeźroczyste tło" + +#: src/fe-gtk/setup.c:113 +msgid "Show marker line" +msgstr "Pokazuj linię oddzielającą" + +#: src/fe-gtk/setup.c:114 +msgid "Insert a red line after the last read text." +msgstr "Dodaj czerwoną linię oddzielającą ostatnio przeczytany tekst." + +#: src/fe-gtk/setup.c:115 +msgid "Transparency Settings" +msgstr "Ustawienia Zabarwienia" + +#: src/fe-gtk/setup.c:116 +msgid "Red:" +msgstr "Czerwony:" + +#: src/fe-gtk/setup.c:117 +msgid "Green:" +msgstr "Zielony:" + +#: src/fe-gtk/setup.c:118 +msgid "Blue:" +msgstr "Niebieski:" + +#: src/fe-gtk/setup.c:120 src/fe-gtk/setup.c:391 +msgid "Time Stamps" +msgstr "Znacznik Czasu" + +#: src/fe-gtk/setup.c:121 +msgid "Enable time stamps" +msgstr "Włącz pokazywanie znacznika czasu" + +#: src/fe-gtk/setup.c:122 +msgid "Time stamp format:" +msgstr "Format znacznika czasu:" + +#: src/fe-gtk/setup.c:123 src/fe-gtk/setup.c:394 +msgid "See strftime manpage for details." +msgstr "Zobacz w pomocy stronę o strftime, aby dowiedzieć się więcej." + +#: src/fe-gtk/setup.c:130 src/fe-gtk/setup.c:170 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:131 +msgid "Last-spoke order" +msgstr "Ostatni porządek wypowiedzi" + +#: src/fe-gtk/setup.c:137 src/fe-gtk/setup.c:1701 +msgid "Input box" +msgstr "Pole wpisywania tekstu" + +#: src/fe-gtk/setup.c:138 src/fe-gtk/setup.c:202 +msgid "Use the Text box font and colors" +msgstr "Użyj czcionki i koloru tekstu ramki" + +#: src/fe-gtk/setup.c:140 +msgid "Spell checking" +msgstr "Sprawdzanie pisowni" + +#: src/fe-gtk/setup.c:143 +msgid "Nick Completion" +msgstr "Uzupełnianie Pseudonimów" + +#: src/fe-gtk/setup.c:144 +msgid "Automatic nick completion (without TAB key)" +msgstr "Automatyczne uzupełnianie pseudonimów (bez klawisza TAB)" + +#: src/fe-gtk/setup.c:146 +msgid "Nick completion suffix:" +msgstr "Sufiks uzupełnionego pseudonimu:" + +#: src/fe-gtk/setup.c:147 +msgid "Nick completion sorted:" +msgstr "Sortowanie uzupełnionego pseudonimu:" + +#: src/fe-gtk/setup.c:150 +msgid "Input Box Codes" +msgstr "Kody dla wiersza poleceń" + +#: src/fe-gtk/setup.c:151 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Pokaż %nnn jako wartość ASCII" + +#: src/fe-gtk/setup.c:152 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Pokaż %C, %B jako kolor, pogrubienie itp" + +#: src/fe-gtk/setup.c:169 +msgid "A-Z, Ops first" +msgstr "A-Z, Operatorzy na początku" + +#: src/fe-gtk/setup.c:171 +msgid "Z-A, Ops last" +msgstr "Z-A, Operatorzy na końcu" + +#: src/fe-gtk/setup.c:172 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:173 +msgid "Unsorted" +msgstr "Nieposortowane" + +#: src/fe-gtk/setup.c:179 src/fe-gtk/setup.c:191 +msgid "Left (Upper)" +msgstr "Lewy (górny)" + +#: src/fe-gtk/setup.c:180 src/fe-gtk/setup.c:192 +msgid "Left (Lower)" +msgstr "Lewy (niższy)" + +#: src/fe-gtk/setup.c:181 src/fe-gtk/setup.c:193 +msgid "Right (Upper)" +msgstr "Prawy (Upper)" + +#: src/fe-gtk/setup.c:182 src/fe-gtk/setup.c:194 +msgid "Right (Lower)" +msgstr "Prawy (Lower)" + +#: src/fe-gtk/setup.c:183 +msgid "Top" +msgstr "Góra" + +#: src/fe-gtk/setup.c:184 +msgid "Bottom" +msgstr "Dół" + +#: src/fe-gtk/setup.c:185 +msgid "Hidden" +msgstr "Ukryty" + +#: src/fe-gtk/setup.c:200 +msgid "User List" +msgstr "Lista Użytkowników" + +#: src/fe-gtk/setup.c:201 +msgid "Show hostnames in user list" +msgstr "Pokaż nazwy hostów na liście użytkowników" + +#: src/fe-gtk/setup.c:204 +msgid "User list sorted by:" +msgstr "Sposób sortowania listy użytkowników:" + +#: src/fe-gtk/setup.c:205 +msgid "Show user list at:" +msgstr "Pokaż listę użytkowników na:" + +#: src/fe-gtk/setup.c:207 +msgid "Away tracking" +msgstr "Śledzenie nieobecnych" + +#: src/fe-gtk/setup.c:208 +msgid "Track the Away status of users and mark them in a different color" +msgstr "Śledź statusu nieobecnego użytkowników i zaznacz go w innym kolorze" + +#: src/fe-gtk/setup.c:209 +msgid "On channels smaller than:" +msgstr "W pokojach mniejszych niż:" + +#: src/fe-gtk/setup.c:211 +msgid "Action Upon Double Click" +msgstr "Akcja w przypadku podwójnego kliknięcia" + +#: src/fe-gtk/setup.c:223 +msgid "Windows" +msgstr "Okna" + +#: src/fe-gtk/setup.c:224 src/fe-gtk/setup.c:240 +msgid "Tabs" +msgstr "Zakładki" + +#: src/fe-gtk/setup.c:232 +msgid "Always" +msgstr "Zawsze" + +#: src/fe-gtk/setup.c:233 +msgid "Only requested tabs" +msgstr "Tylko żądane karty" + +#: src/fe-gtk/setup.c:242 +msgid "Tree" +msgstr "Drzewo" + +#: src/fe-gtk/setup.c:249 +msgid "Switcher type:" +msgstr "Typ przełącznika:" + +#: src/fe-gtk/setup.c:250 +msgid "Open an extra tab for server messages" +msgstr "Otwórz osobną zakładkę na wiadomości serwera" + +#: src/fe-gtk/setup.c:251 +msgid "Open an extra tab for server notices" +msgstr "Otwórz osobną zakładkę na ogłoszenia serwera" + +#: src/fe-gtk/setup.c:252 +msgid "Open a new tab when you receive a private message" +msgstr "Otwórz nowy tab, po otrzymaniu prywatnej wiadomości" + +#: src/fe-gtk/setup.c:253 +msgid "Sort tabs in alphabetical order" +msgstr "Układaj zakładki alfabetycznie" + +#: src/fe-gtk/setup.c:254 +msgid "Smaller text" +msgstr "Mały tekst" + +#: src/fe-gtk/setup.c:256 +msgid "Focus new tabs:" +msgstr "Nowe karty na wierzchu:" + +#: src/fe-gtk/setup.c:258 +msgid "Show channel switcher at:" +msgstr "Pokaż przełącznik pokoi na:" + +#: src/fe-gtk/setup.c:259 +msgid "Shorten tab labels to:" +msgstr "Skracaj etykiety zakładek do:" + +#: src/fe-gtk/setup.c:259 +msgid "letters." +msgstr "liter." + +#: src/fe-gtk/setup.c:261 +msgid "Tabs or Windows" +msgstr "Zakładki lub Okna" + +#: src/fe-gtk/setup.c:262 +msgid "Open channels in:" +msgstr "Otwórz pokoje w:" + +#: src/fe-gtk/setup.c:263 +msgid "Open dialogs in:" +msgstr "Otwórz okna dialogowe w:" + +#: src/fe-gtk/setup.c:264 +msgid "Open utilities in:" +msgstr "Otwórz narzędzia w:" + +#: src/fe-gtk/setup.c:264 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Otwórz Czat Bezpośredni, Ignoruj, Powiadom itp, w kartch czy w oknach?" + +#: src/fe-gtk/setup.c:271 +msgid "No" +msgstr "Nie" + +#: src/fe-gtk/setup.c:272 +msgid "Yes" +msgstr "Tak" + +#: src/fe-gtk/setup.c:273 +msgid "Browse for save folder every time" +msgstr "Szukaj za każdym razem folderu do zapisywania" + +#: src/fe-gtk/setup.c:279 +msgid "Files and Directories" +msgstr "Pliki i Katalogi" + +#: src/fe-gtk/setup.c:280 +msgid "Auto accept file offers:" +msgstr "Automatycznie przyjmuj oferowane pliki:" + +#: src/fe-gtk/setup.c:281 +msgid "Download files to:" +msgstr "Pobieraj pliki do:" + +#: src/fe-gtk/setup.c:282 +msgid "Move completed files to:" +msgstr "Przenieś całkowicie pobrane pliki do:" + +#: src/fe-gtk/setup.c:283 +msgid "Save nick name in filenames" +msgstr "Umieść pseudonim w nazwach plików" + +#: src/fe-gtk/setup.c:285 +msgid "Network Settings" +msgstr "Konfiguracja Sieci" + +#: src/fe-gtk/setup.c:286 +msgid "Get my address from the IRC server" +msgstr "Pobierz mój adres IP z serwera czatu" + +#: src/fe-gtk/setup.c:287 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "Prosi serwer czatu o Twój prawdziwy (publiczny/zewnętrzny) adres IP. Użyj tej opcji jeśli Twoja sieć znajduje się za firewallem a Twój lokalny adres to 192.168.*.* lub 10.*.*.*!" + +#: src/fe-gtk/setup.c:288 +msgid "DCC IP address:" +msgstr "Adres IP dla Połączeń Bezpośrednich:" + +#: src/fe-gtk/setup.c:289 +msgid "Claim you are at this address when offering files." +msgstr "Zatwierdź że jesteś pod tym adresem, gdy oferujesz plików." + +#: src/fe-gtk/setup.c:290 +msgid "First DCC send port:" +msgstr "Pierwszy port wysyłania Czatu Bezpośredniego:" + +#: src/fe-gtk/setup.c:291 +msgid "Last DCC send port:" +msgstr "Ostatni port wysyłania Czatu Bezpośredniego:" + +#: src/fe-gtk/setup.c:292 +msgid "!Leave ports at zero for full range." +msgstr "!Pozostaw porty na zero dla pełnego zakresu." + +#: src/fe-gtk/setup.c:294 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Maksymalna prędkość przesyłania plików (bajty na sekundę)" + +#: src/fe-gtk/setup.c:295 +msgid "One upload:" +msgstr "Jedno wysyłanie pliku:" + +#: src/fe-gtk/setup.c:296 src/fe-gtk/setup.c:298 +msgid "Maximum speed for one transfer" +msgstr "Maksymalna prędkość dla pojedynczego połączenia" + +#: src/fe-gtk/setup.c:297 +msgid "One download:" +msgstr "Jedno pobieranie pliku:" + +#: src/fe-gtk/setup.c:299 +msgid "All uploads combined:" +msgstr "Wszystkie wysyłania plików jednocześnie:" + +#: src/fe-gtk/setup.c:300 src/fe-gtk/setup.c:302 +msgid "Maximum speed for all files" +msgstr "Maksymalna prędkość dla wszystkich plików" + +#: src/fe-gtk/setup.c:301 +msgid "All downloads combined:" +msgstr "Wszystkie pobierania plików jednocześnie:" + +#: src/fe-gtk/setup.c:329 src/fe-gtk/setup.c:1707 +msgid "Alerts" +msgstr "Powiadomienia" + +#: src/fe-gtk/setup.c:333 +msgid "Show tray balloons on:" +msgstr "Pokaż balony w zasobniku przy:" + +#: src/fe-gtk/setup.c:335 +msgid "Blink tray icon on:" +msgstr "Migaj ikoną w zasobniku przy:" + +#: src/fe-gtk/setup.c:336 +msgid "Blink task bar on:" +msgstr "Migaj paskiem zadań przy:" + +#: src/fe-gtk/setup.c:337 +msgid "Make a beep sound on:" +msgstr "Wykonaj sygnał dźwiękowy na:" + +#: src/fe-gtk/setup.c:339 +msgid "Enable system tray icon" +msgstr "Włącz ikonę w zasobniku systemowym" + +#: src/fe-gtk/setup.c:341 +msgid "Highlighted Messages" +msgstr "Podświetlone wiadomości" + +#: src/fe-gtk/setup.c:342 +msgid "Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Podświetlone wiadomości są te, gdzie mowa jest o twoim pseudonimie, ale także:" + +#: src/fe-gtk/setup.c:344 +msgid "Extra words to highlight:" +msgstr "Dodatkowe słowa które podświetlić:" + +#: src/fe-gtk/setup.c:345 +msgid "Nick names not to highlight:" +msgstr "Nie podświetlaj pseudonimów:" + +#: src/fe-gtk/setup.c:346 +msgid "Nick names to always highlight:" +msgstr "Zawsze podświetlaj pseudonimy:" + +#: src/fe-gtk/setup.c:347 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" +"Oddziel kilka słów przecinkami.\n" +"Akceptowane są maski dopasowania." + +#: src/fe-gtk/setup.c:353 +msgid "Default Messages" +msgstr "Domyślna Wiadomość" + +#: src/fe-gtk/setup.c:354 +msgid "Quit:" +msgstr "Wyjście z czata:" + +#: src/fe-gtk/setup.c:355 +msgid "Leave channel:" +msgstr "Opuszczenie pokoju:" + +#: src/fe-gtk/setup.c:356 +msgid "Away:" +msgstr "Nieobecność:" + +#: src/fe-gtk/setup.c:358 +msgid "Away" +msgstr "Nieobecność" + +#: src/fe-gtk/setup.c:359 +msgid "Announce away messages" +msgstr "Ogłaszaj powód Twojej nieobecności" + +#: src/fe-gtk/setup.c:360 +msgid "Announce your away messages to all channels" +msgstr "Ogłaszaj powód Twojej nieobecności we wszystkich pokojach" + +#: src/fe-gtk/setup.c:361 +msgid "Show away once" +msgstr "Pokaż nieobecności raz" + +#: src/fe-gtk/setup.c:361 +msgid "Show identical away messages only once" +msgstr "Pokaż identyczne powody nieobecności tylko za pierwszym razem" + +#: src/fe-gtk/setup.c:362 +msgid "Automatically unmark away" +msgstr "Automatycznie wyłącz nieobecność" + +#: src/fe-gtk/setup.c:362 +msgid "Unmark yourself as away before sending messages" +msgstr "Wyłączenie statusu nieobecności zanim wyślesz wiadomość" + +#: src/fe-gtk/setup.c:369 +msgid "Advanced Settings" +msgstr "Ustawienia Zaawansowane" + +#: src/fe-gtk/setup.c:370 +msgid "Auto reconnect delay:" +msgstr "Opóźnienie ponowienia automatycznego połączenia:" + +#: src/fe-gtk/setup.c:371 +msgid "Display MODEs in raw form" +msgstr "Wyświetlaj opcje pokoju w surowej formie" + +#: src/fe-gtk/setup.c:372 +msgid "Whois on notify" +msgstr "Polecenie /WHOIS w reakcji na ogłoszenie" + +#: src/fe-gtk/setup.c:372 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Wysyła polecenie /WHOIS kiedy ktoś z Twojej listy powiadomień pojawia się na czacie" + +#: src/fe-gtk/setup.c:373 +msgid "Hide join and part messages" +msgstr "Nie informuj o wchodzących/wychodzących" + +#: src/fe-gtk/setup.c:373 +msgid "Hide channel join/part messages by default" +msgstr "Domyślnie nie informuj o wchodzących/wychodzących" + +#: src/fe-gtk/setup.c:374 +msgid "Auto Open DCC Windows" +msgstr "Automatycznie otwieraj okna DCC" + +#: src/fe-gtk/setup.c:375 +msgid "Send window" +msgstr "Okno wysyłania" + +#: src/fe-gtk/setup.c:376 +msgid "Receive window" +msgstr "Okno odbiorcze" + +#: src/fe-gtk/setup.c:377 +msgid "Chat window" +msgstr "Okno Czatu" + +#: src/fe-gtk/setup.c:385 src/fe-gtk/setup.c:1709 +msgid "Logging" +msgstr "Logowanie" + +#: src/fe-gtk/setup.c:386 +msgid "Display scrollback from previous session" +msgstr "Wyświetl przewijanie w tył poprzedniej sesji" + +#: src/fe-gtk/setup.c:387 +msgid "Enable logging of conversations to disk" +msgstr "Włącz zapisywanie rozmów na dysk" + +#: src/fe-gtk/setup.c:388 +msgid "Log filename:" +msgstr "Plik loga:" + +#: src/fe-gtk/setup.c:389 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Serwer %c=Pokój %n=Sieć." + +#: src/fe-gtk/setup.c:392 +msgid "Insert timestamps in logs" +msgstr "Dodawaj znacznik czasu w logach" + +#: src/fe-gtk/setup.c:393 +msgid "Log timestamp format:" +msgstr "Format znacznika czasu w logu:" + +#: src/fe-gtk/setup.c:401 +msgid "(Disabled)" +msgstr "(Wyłączone)" + +#: src/fe-gtk/setup.c:402 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:403 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:404 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:405 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:407 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: src/fe-gtk/setup.c:414 +msgid "All Connections" +msgstr "Wszystkie połączenia" + +#: src/fe-gtk/setup.c:415 +msgid "IRC Server Only" +msgstr "Tylko Serwer IRC" + +#: src/fe-gtk/setup.c:416 +msgid "DCC Get Only" +msgstr "Pobierz tylko Czat Bezpośredni" + +#: src/fe-gtk/setup.c:422 +msgid "Your Address" +msgstr "Twój Adres" + +#: src/fe-gtk/setup.c:423 +msgid "Bind to:" +msgstr "Przypnij do:" + +#: src/fe-gtk/setup.c:424 +msgid "Only useful for computers with multiple addresses." +msgstr "Tylko użyteczne komputerom z wieloma adresami IP." + +#: src/fe-gtk/setup.c:426 +msgid "Proxy Server" +msgstr "Serwer Pośredniczący" + +#: src/fe-gtk/setup.c:427 +msgid "Hostname:" +msgstr "Host:" + +#: src/fe-gtk/setup.c:428 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:429 +msgid "Type:" +msgstr "Rodzaj:" + +#: src/fe-gtk/setup.c:430 +msgid "Use proxy for:" +msgstr "Używaj serwera pośredniczącego (proxy) dla:" + +#: src/fe-gtk/setup.c:432 +msgid "Proxy Authentication" +msgstr "Uwierzytelnianie Proxy" + +#: src/fe-gtk/setup.c:434 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Użyj uwierzytelniania (tylko MS Proxy, HTTP lub Socks5)" + +#: src/fe-gtk/setup.c:436 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Użyj uwierzytelniania (tylko HTTP lub Socks5)" + +#: src/fe-gtk/setup.c:438 +msgid "Username:" +msgstr "Użytkownik:" + +#: src/fe-gtk/setup.c:439 +msgid "Password:" +msgstr "Hasło:" + +#: src/fe-gtk/setup.c:870 +msgid "Select an Image File" +msgstr "Wybierz Plik Obrazka" + +#: src/fe-gtk/setup.c:905 +msgid "Select Download Folder" +msgstr "Wybierz folder pobierania" + +#: src/fe-gtk/setup.c:914 +msgid "Select font" +msgstr "Wybierz czcionkę" + +#: src/fe-gtk/setup.c:1014 +msgid "Browse..." +msgstr "Przeglądaj..." + +#: src/fe-gtk/setup.c:1152 +msgid "Mark identified users with:" +msgstr "Zaznacz rozpoznanych użytkowników używając:" + +#: src/fe-gtk/setup.c:1154 +msgid "Mark not-identified users with:" +msgstr "Zaznacz nieznanych użytkowników używając:" + +#: src/fe-gtk/setup.c:1161 +msgid "Open Data Folder" +msgstr "Otwórz folder danych" + +#: src/fe-gtk/setup.c:1215 +msgid "Select color" +msgstr "Wybierz kolor" + +#: src/fe-gtk/setup.c:1295 +msgid "Text Colors" +msgstr "Kolory tekstu" + +#: src/fe-gtk/setup.c:1297 +msgid "mIRC colors:" +msgstr "kolory mIRCa:" + +#: src/fe-gtk/setup.c:1305 +msgid "Local colors:" +msgstr "Kolory lokalne:" + +#: src/fe-gtk/setup.c:1313 src/fe-gtk/setup.c:1318 +msgid "Foreground:" +msgstr "Pierwszy plan:" + +#: src/fe-gtk/setup.c:1314 src/fe-gtk/setup.c:1319 +msgid "Background:" +msgstr "Tło:" + +#: src/fe-gtk/setup.c:1316 +msgid "Marking Text" +msgstr "Tekst Oznaczający" + +#: src/fe-gtk/setup.c:1321 +msgid "Interface Colors" +msgstr "Kolory interfejsu" + +#: src/fe-gtk/setup.c:1323 +msgid "New data:" +msgstr "Nowe dane:" + +#: src/fe-gtk/setup.c:1324 +msgid "Marker line:" +msgstr "Linia znacznika:" + +#: src/fe-gtk/setup.c:1325 +msgid "New message:" +msgstr "Nowa wiadomość:" + +#: src/fe-gtk/setup.c:1326 +msgid "Away user:" +msgstr "Nieobecny użytkownik:" + +#: src/fe-gtk/setup.c:1327 +msgid "Highlight:" +msgstr "Podświetl:" + +#: src/fe-gtk/setup.c:1423 src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "Zdarzenie" + +#: src/fe-gtk/setup.c:1429 +msgid "Sound file" +msgstr "Plik dźwiękowy" + +#: src/fe-gtk/setup.c:1464 +msgid "Select a sound file" +msgstr "Wybierz plik dźwiękowy" + +#: src/fe-gtk/setup.c:1536 +msgid "Sound playing method:" +msgstr "Sposób odtwarzania dźwięku:" + +#: src/fe-gtk/setup.c:1544 +msgid "External sound playing _program:" +msgstr "Zewnętrzny odtwarzacz plików dźwiękowych:" + +#: src/fe-gtk/setup.c:1562 +msgid "_External program" +msgstr "Z_ewnętrzyny program" + +#: src/fe-gtk/setup.c:1572 +msgid "_Automatic" +msgstr "_Automatyczny" + +#: src/fe-gtk/setup.c:1585 +msgid "Sound files _directory:" +msgstr "Katalog plików _dźwiękowych:" + +#: src/fe-gtk/setup.c:1624 +msgid "Sound file:" +msgstr "Plik dźwiękowy:" + +#: src/fe-gtk/setup.c:1639 +msgid "_Browse..." +msgstr "_Przeglądaj..." + +#: src/fe-gtk/setup.c:1650 +msgid "_Play" +msgstr "_Odtwórz" + +#: src/fe-gtk/setup.c:1699 +msgid "Interface" +msgstr "Interfejs" + +#: src/fe-gtk/setup.c:1700 +msgid "Text box" +msgstr "Okno główne" + +#: src/fe-gtk/setup.c:1702 +msgid "User list" +msgstr "Lista użytkowników" + +#: src/fe-gtk/setup.c:1703 +msgid "Channel switcher" +msgstr "Przełącznik Pokoi" + +#: src/fe-gtk/setup.c:1704 +msgid "Colors" +msgstr "Kolory" + +#: src/fe-gtk/setup.c:1706 +msgid "Chatting" +msgstr "Pogawędki" + +#: src/fe-gtk/setup.c:1708 +msgid "General" +msgstr "Podstawy" + +#: src/fe-gtk/setup.c:1710 +msgid "Sound" +msgstr "Dzwięk" + +#: src/fe-gtk/setup.c:1714 +msgid "Network setup" +msgstr "Ustawienia sieci" + +#: src/fe-gtk/setup.c:1715 +msgid "File transfers" +msgstr "Transfery plików" + +#: src/fe-gtk/setup.c:1823 +msgid "Categories" +msgstr "Kategorie" + +#: src/fe-gtk/setup.c:2007 +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 "" +"Nie można umieścić drzewa na górze lub na dole!\n" +"Proszę zmień najpierw styl <b>kart</b> w punkcie menu <b>widok</b>." + +#: src/fe-gtk/setup.c:2017 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Niektóre zmienione ustawienia wymagają ponownego uruchomienia XChata." + +#: src/fe-gtk/setup.c:2025 +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 "" +"*OSTRZEŻENIE*\n" +"Automatyczne przyjmowanie Czatu Bezpośredniego do twojego\n" +"katalogu domowego może być niebezpieczne i jest wykorzystywane.\n" +"Np.: Ktoś mógłby ci wysłać profil .bash" + +#: src/fe-gtk/setup.c:2058 +msgid "XChat: Preferences" +msgstr "XChat: Preferencje" + +#: src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "Wystąpił błąd podczas interpretacji ciągu znaków" + +#: src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Sygnał otrzymuje tylko %d argumentów, $%d jest nieprawidłowa" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "Drukuj plik z tekstami" + +#: src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "Edycja Zdarzeń" + +#: src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$ Liczba" + +#: src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "Załaduj z..." + +#: src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "Testuj Waszystko" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "Adres URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: Przechwycone Adresy URL" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Wyczyść listę" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Kopiuj zaznaczony URL" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Kopiuj" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Zapisz adresy do pliku" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d op(ów), %d razem" + +#~ msgid "%C18*$t$1%O $2" +#~ msgstr "%C18*$t$1%O $2" + +#~ msgid "%C21*%O$t%C21%B$1%O%C21 $2" +#~ msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#~ msgid "%C18%H<%H$4$1%H>%H%O$t$2" +#~ msgstr "%C18%B%B$4$1%O%C18%O$t$2" + +#~ msgid "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" +#~ msgstr "$4%C21%B$1%O%C21$t$2" + +#~ msgid "%C28-%C29$1/$2%C28-%O$t$3" +#~ msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#~ msgid "$1$t$2" +#~ msgstr "$1$t$2" + +#~ msgid "%C19>%O$1%C19<%O$t$2" +#~ msgstr "%C19>%O$1%C19<%O$t$2" + +#~ msgid "%C16*%O$t$1%O" +#~ msgstr "%C16*%O$t$1%O" + +#~ msgid "%C28-%C29$1%C28-%O$t$2" +#~ msgstr "%C28-%C29$1%C28-%O$t$2" + +#~ msgid "%C28*%C29$3$1%C28*$t%O$2" +#~ msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#~ msgid "%C18%H<%H$3$1%H>%H%O$t$2" +#~ msgstr "%C18%B%B$3$1%O$t$2" + +#~ msgid "%C22*%O$t$1" +#~ msgstr "%C22*%O$t$1" + +#~ msgid "%C31%H<%H$4$1%H>%H%O%C30$t$2" +#~ msgstr "%C31%B%B$4$1%O%C30$t$2" + +#~ msgid "PID" +#~ msgstr "PID" + +#~ msgid "Direct client-to-client" +#~ msgstr "Połączenia Bezpośrednie" + +#~ msgid "Send File" +#~ msgstr "Wyślij Plik" + +#~ msgid "Offer Chat" +#~ msgstr "Zaproponuj Czat Bezpośredni" + +#~ msgid "Abort Chat" +#~ msgstr "Zakończ Czat Bezpośredni" + +#~ msgid "Userinfo" +#~ msgstr "Informacje o użytkowniku" + +#~ msgid "Clientinfo" +#~ msgstr "Informacje o programie" + +#~ msgid "Time" +#~ msgstr "Czas" + +#~ msgid "Finger" +#~ msgstr "Finger" + +#~ msgid "Oper" +#~ msgstr "Dla CzatOpera" + +#~ msgid "Kill this user" +#~ msgstr "Rozłącz tego użytkownika" + +#~ msgid "Mode" +#~ msgstr "Operator Pokoju" + +#~ msgid "Give Half-Ops" +#~ msgstr "Nadaj status Półoperatora" + +#~ msgid "Take Half-Ops" +#~ msgstr "Zabierz status Półoperatora" + +#~ msgid "Ignore" +#~ msgstr "Ignorowanie" + +#~ msgid "Ignore User" +#~ msgstr "Ignoruj użytkownika" + +#~ msgid "UnIgnore User" +#~ msgstr "Przestań ignorować użytkownika" + +#~ msgid "Info" +#~ msgstr "Informacje" + +#~ msgid "Who" +#~ msgstr "Podstawowe" + +#~ msgid "DNS Lookup" +#~ msgstr "Przeszukaj system DNS" + +#~ msgid "Trace" +#~ msgstr "Śledzenie" + +#~ msgid "External" +#~ msgstr "Zewnętrzne" + +#~ msgid "Unban" +#~ msgstr "Odbanuj" + +#~ msgid "Apply" +#~ msgstr "Zastosuj" + +#~ msgid "Refresh the list" +#~ msgstr "Odśwież listę" + +#~ msgid "Save the list" +#~ msgstr "Zapisz listę" + +#~ msgid "No other tabs open, quit xchat?" +#~ msgstr "Brak otwartych zakładek, zakończyć X-Chat?" + +#~ msgid "Show join/part messages" +#~ msgstr "Informuj o wchodzących/wychodzących" + +#~ msgid "Color paste" +#~ msgstr "Wklejanie kolorów" + +#~ msgid "Go to" +#~ msgstr "Idź do" + +#~ msgid "_Close Tab" +#~ msgstr "_Zamknij zakładkę" + +#~ msgid "Settings saved." +#~ msgstr "Ustawienia zapisane." + +#~ msgid "_Layout" +#~ msgstr "_Układ" + +#~ msgid "Notify List..." +#~ msgstr "Lista Powiadomień..." + +#~ msgid "_Attach Window" +#~ msgstr "_Przyczep Okno" + +#~ msgid "_Close Window" +#~ msgstr "_Zamknij Okno" + +#~ msgid "User" +#~ msgstr "Użytkownik" + +#~ msgid "Server" +#~ msgstr "Serwer" + +#~ msgid "Save rawlog" +#~ msgstr "Zapisz surowy log" + +#~ msgid "Save rawlog..." +#~ msgstr "Zapisz surowy log..." + +#~ msgid "C_hannels to join:" +#~ msgstr "Wejdź do:" + +#~ msgid "XChat: Server List" +#~ msgstr "XChat: Lista Serwerów" + +#~ msgid "Completes nick names without using the TAB key" +#~ msgstr "Uzupełnia pseudonimy bez użycia klawisza TAB" + +#~ msgid "Input Box Appearance" +#~ msgstr "Wygląd Pola do Wpisywania Tekstu" + +#~ msgid "Resizable user list" +#~ msgstr "Możliwa zmiana rozmiarów listy użytkowników" + +#~ msgid "Left" +#~ msgstr "Lewo" + +#~ msgid "Right" +#~ msgstr "Prawo" + +#~ msgid "Tabs Location" +#~ msgstr "Położenie Zakładek" + +#~ msgid "Convert spaces to underscore before sending" +#~ msgstr "Zamień spacje na podkreślenia przed wysłaniem" + +#~ msgid "(Can be a text file relative to ~/.xchat2/)." +#~ msgstr "(Może być plik tekstowy umieszczony relatywnie względem ~/.xchat2/)." + +#~ msgid "(Can be a text file relative to config dir)." +#~ msgstr "(Może być plik tekstowy umieszczony relatywnie względem katalogu konfiguracyjnego)." + +#~ msgid "Flash taskbar on highlighted messages" +#~ msgstr "Błyśnij na pasku zadań po nadejściu wyróżnionej wiadomości" + +#~ msgid "Beep on channel messages" +#~ msgstr "Pojedynczy dzwonek po nadejściu wiadomości w pokoju" + +#~ msgid "(See strftime manpage for details)." +#~ msgstr "(Zobacz w pomocy stronę o strftime, aby dowiedzieć się więcej)." + +#~ msgid "Execute a xchat command" +#~ msgstr "Uruchom polecenie:" + +#~ msgid "server" +#~ msgstr "serwer" + +#~ msgid "id" +#~ msgstr "id" + +#~ msgid "Get settings from xchat" +#~ msgstr "Pobierz ustawienia z XChata" + +#~ msgid "name" +#~ msgstr "nazwa" + +#~ msgid "From:" +#~ msgstr "Od:" + +#~ msgid "To:" +#~ msgstr "Do:" + +#~ msgid "Size:" +#~ msgstr "Rozmiar:" + +#~ msgid "Started:" +#~ msgstr "Początek:" + +#~ msgid "Speed limit:" +#~ msgstr "Limit prędkości:" + +#~ msgid "MIME Type" +#~ msgstr "Typ MIME" + +#~ msgid "X-Chat: File Receive List" +#~ msgstr "X-Chat: Lista Pobieranych Plików" + +#~ msgid "Open" +#~ msgstr "Otwórz" + +#~ msgid "Ack" +#~ msgstr "Odebrane" + +#~ msgid "To" +#~ msgstr "Do" + +#~ msgid "To/From" +#~ msgstr "Do/Od" + +#~ msgid "DIRECTORY" +#~ msgstr "KATALOG" + +#~ msgid "Close this tab/window" +#~ msgstr "Zamknij tą zakładkę/okno" + +#~ msgid "User List Buttons" +#~ msgstr "Przyciski pod Listą Użytkowników" + +#~ msgid "New Shell Tab..." +#~ msgstr "Nowa Zakładka z Powłoką" + +#~ msgid "_IRC" +#~ msgstr "_CHAT" + +#~ msgid "Invisible" +#~ msgstr "Niewidoczny z zewnątrz pokoju" + +#~ msgid "Receive Wallops" +#~ msgstr "Odbieraj informacje dla Operatorów" + +#~ msgid "Receive Server Notices" +#~ msgstr "Odbieraj informacje Serwera" + +#~ msgid "Auto Rejoin when Kicked" +#~ msgstr "Automatycznie wróć do pokoju po Wyproszeniu" + +#~ msgid "Never-give-up ReConnect" +#~ msgstr "Nigdy nie przestawaj wznawiać połączenia" + +#~ msgid "Auto Open Dialog Windows" +#~ msgstr "Automatycznie otwieraj okno rozmowy prywatnej" + +#~ msgid "Auto Accept Direct Chat" +#~ msgstr "Automatycznie akceptuj Czat Bezpośredni" + +#~ msgid "Reload Settings" +#~ msgstr "Przeładuj Ustawienia" + +#~ msgid "Save Settings now" +#~ msgstr "Zapisz Ustawienia teraz" + +#~ msgid "File Receive..." +#~ msgstr "Pobieranie Plików..." + +#~ msgid "File Send..." +#~ msgstr "Wysyłanie Plików..." + +#~ msgid "Close" +#~ msgstr "Zamknij" + +#~ msgid "Connect in new tab" +#~ msgstr "Połącz w nowej zakładce" + +#~ msgid "Tint (shade) transparency" +#~ msgstr "Zabarwiaj (cieniuj) przeźroczystość" + +#~ msgid "Strip mIRC colors" +#~ msgstr "Usuwaj kolory mIRCa" + +#~ msgid "Info text" +#~ msgstr "Szczegóły" + +#~ msgid "User list buttons enabled" +#~ msgstr "Włącz przyciski pod listą użytkowników" + +#~ msgid "Extra Gadgets" +#~ msgstr "Dodatkowe Gadżety" + +#~ msgid "(disabled)" +#~ msgstr "(wyłączone)" + +#~ msgid "A star (*)" +#~ msgstr "Gwiazda (*)" + +#~ msgid "A red star (*)" +#~ msgstr "Czerwona gwiazda (*)" diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 00000000..4a23af71 --- /dev/null +++ b/po/pt.po @@ -0,0 +1,5401 @@ +# Translation of XChat-2.6 IRC client. +# This file is put in the public domain. +# Vitor Antunes <vhda@mega.ist.utl.pt>, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: XChat 2.6.0\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2005-10-20 15:10+1000\n" +"PO-Revision-Date: 2006-10-15 23:26+0100\n" +"Last-Translator: Vitor Antunes <vhda@mega.ist.utl.pt>\n" +"Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Portuguese\n" +"X-Poedit-Country: PORTUGAL\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: src/common/cfgfiles.c:350 +msgid "Cannot create ~/.xchat2" +msgstr "Não é possível criar ~/.xchat2" + +#: src/common/cfgfiles.c:686 +msgid "I'm busy" +msgstr "Estou ocupado" + +#: src/common/cfgfiles.c:687 +msgid "Leaving" +msgstr "Saindo" + +#: src/common/cfgfiles.c:733 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Correr o IRC como root é estúpido! Deve\n" +" criar outro utilizador e usá-lo.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "À espera" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Activo" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Falhou" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Terminado" + +#: src/common/dcc.c:71 +#: src/fe-gtk/menu.c:753 +msgid "Connect" +msgstr "Ligar" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Cancelado" + +#: src/common/dcc.c:1887 +#: src/common/outbound.c:2363 +#, c-format +msgid "Cannot access %s\n" +msgstr "Não é possível aceder a %s\n" + +#: src/common/dcc.c:1888 +#: src/common/text.c:916 +#: src/common/text.c:954 +#: src/common/text.c:965 +#: src/common/text.c:972 +#: src/common/text.c:985 +#: src/common/text.c:1002 +#: src/common/text.c:1102 +#: src/common/util.c:352 +msgid "Error" +msgstr "Erro" + +#: src/common/dcc.c:2376 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s está a oferecer \"\"%s\". Queres aceitar?" + +#: src/common/dcc.c:2587 +msgid "No active DCCs\n" +msgstr "Não existem DCCs activos\n" + +#: src/common/ignore.c:120 +#: src/common/ignore.c:124 +#: 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 +msgid "YES " +msgstr "SIM " + +#: src/common/ignore.c:122 +#: 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 +msgid "NO " +msgstr "NÃO " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Está a sofrer uma inundação de CTCP de %s, ignorando %s\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "Está a sofrer uma inundação de MSG de %s, gui_auto_open_dialog foi desligado.\n" + +#: src/common/notify.c:449 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s está ligado\n" + +#: src/common/notify.c:451 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s não está online\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Não está em nenhum canal. Usar /join #<canal>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Não está ligado. Usar /server <endereço> [<porto>]\n" + +#: src/common/outbound.c:1730 +msgid "I need /bin/sh to run!\n" +msgstr "Preciso de /bin/sh para correr!\n" + +#: src/common/outbound.c:2100 +msgid "Commands Available:" +msgstr "Comandos Disponíveis:" + +#: src/common/outbound.c:2114 +msgid "User defined commands:" +msgstr "Comandos definidos pelo utilizador:" + +#: src/common/outbound.c:2130 +msgid "Plugin defined commands:" +msgstr "Comandos definidos por plugins:" + +#: src/common/outbound.c:2141 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Escrever /HELP <comando> para mais informações, ou /HELP -l" + +#: src/common/outbound.c:2216 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Argumento desconhecido '%s' ignorado." + +#: src/common/outbound.c:3110 +msgid "No such plugin found.\n" +msgstr "O plugin não foi encontrado.\n" + +#: src/common/outbound.c:3115 +#: src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "O plugin recusa-se a desligar.\n" + +#: src/common/outbound.c:3384 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nome> <acção>, adiciona um botão à lista de utilizadores" + +#: src/common/outbound.c:3386 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, envia um comando para todos os canais onde está" + +#: src/common/outbound.c:3388 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <cmd>, envia um comando para todos os canais onde está" + +#: src/common/outbound.c:3390 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, envia um comando para todos os servidores onde está" + +#: src/common/outbound.c:3391 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<razão>], declara-o como ausente" + +#: src/common/outbound.c:3393 +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 <máscara> [<tipo de interdição>], interdita do canal todos os utilizadores correspondentes à máscara. Se o utilizador estiver no canal este comando não o expulsa (necessita do estatuto operador)" + +#: src/common/outbound.c:3395 +msgid "" +"Set per channel options\n" +"CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part messages\n" +"CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +"CHANOPT BEEP ON|OFF - Toggle beep on message" +msgstr "" + +#: src/common/outbound.c:3401 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR [ALL|HISTORY], Limpa a janela de texto actual ou histórico de comandos" + +#: src/common/outbound.c:3402 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, Fecha a janela/separador actual" + +#: src/common/outbound.c:3405 +#, fuzzy +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <código|wildcard>, procura o código de um país, ex: au = australia" + +#: src/common/outbound.c:3407 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <nick> <mensagem>, envia uma mensagem CTCP a nick. Mensagens comuns são VERSION e USERINFO" + +#: src/common/outbound.c:3409 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "CYCLE, sai do canal e regressa imediatamente" + +#: src/common/outbound.c:3411 +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 "" +"\n" +"DCC GET <nick> - aceita um ficheiro oferecido\n" +"DCC SEND [-maxcps=#] <nick> [file] - envia um ficheiro a nick\n" +"DCC PSEND [-maxcps=#] <nick> [file] - envia um ficheiro usando o modo passivo\n" +"DCC LIST - mostra a lista de DCCs\n" +"DCC CHAT <nick> - oferece uma conversa DCC a nick\n" +"DCC PCHAT <nick> - oferece uma conversa DCC usando o modo passivo\n" +"DCC CLOSE <type> <nick> <file> exemplo:\n" +" /dcc close send johnsmith ficheiro.tar.gz" + +#: src/common/outbound.c:3423 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <nick>, retira o modo semi-operador ao nick no canal actual (necessita do estatuto operador)" + +#: src/common/outbound.c:3425 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nome>, apaga um botão da lista de utilizador" + +#: src/common/outbound.c:3427 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <nick>, retira o modo operador ao nick dado no canal actual (necessita do estatuto operador)" + +#: src/common/outbound.c:3429 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <nick>, retira o modo voz do nick dado no canal actual (necessita do estatuto operador)" + +#: src/common/outbound.c:3430 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Desliga-se do servidor actual" + +#: src/common/outbound.c:3431 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <nick|endereço|ip>, Descobre o número IP de um utilizador" + +#: src/common/outbound.c:3432 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <texto>, Escreve na janela local o texto inserido" + +#: src/common/outbound.c:3435 +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>, executa o comando de shell. Se a opção -o for usada o resultado é enviado para o canal actual, caso contrário é escrito na janela de texto actual" + +#: src/common/outbound.c:3437 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, envia a um processo em execução o sinal CONT" + +#: src/common/outbound.c:3440 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], pára a execução de um processo da sessão actual. Se a opção -9 for usada é enviado o sinal KILL em vez do sinal TERM" + +#: src/common/outbound.c:3442 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, envia a um processo em execução o sinal STOP" + +#: src/common/outbound.c:3443 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, envia dados para o canal stdin do processo em execução" + +#: src/common/outbound.c:3447 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, despeja a fila de dados a enviar do servidor actual" + +#: src/common/outbound.c:3449 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <endereço> [<porto>], utiliza o proxy dado para a comunicação, o porto é por defeito 23" + +#: src/common/outbound.c:3453 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:3458 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nick>, dá o modo semi-operador ao nick(necessita do estatuto operador)" + +#: src/common/outbound.c:3459 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <password>, identifica-te perante o nickserv" + +#: src/common/outbound.c:3461 +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 <máscara> <tipos..> <opções..>\n" +" máscara - máscara a ser ignorada, ex: *!*@*.iol.pt\n" +" tipos - tipos de dados a ignorar, um ou todos de:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" opções - NOSAVE, QUIET" + +#: src/common/outbound.c:3468 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <nick> [<canal>], convida alguém para o canal, por defeito o canal actual (necessita do estatuto operador)" + +#: src/common/outbound.c:3469 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <canal>, entra no canal" + +#: src/common/outbound.c:3471 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <nick>, expulsa o nick dado do canal actual (necessita do estatuto operador)" + +#: src/common/outbound.c:3473 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <nick>, interdita e expulsa o nick dado do canal actual (necessita do modo operador)" + +#: src/common/outbound.c:3476 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, força uma nova verificação de atraso" + +#: src/common/outbound.c:3478 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <frase>, procura a frase na conversa actual" + +#: src/common/outbound.c:3480 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <ficheiro>, carrega o plugin ou script" + +#: src/common/outbound.c:3483 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Retira o modo semi-operador a todos os utilizadores no canal actual (necessita do modo operador)" + +#: src/common/outbound.c:3485 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Retira o modo operador a todos os utilizadores no canal actual (necessita do modo operador)" + +#: src/common/outbound.c:3487 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <acção>, envia a acção para o canal actual (as acções devem ser escritas na 3a pessoa, como em '/me salta')" + +#: src/common/outbound.c:3490 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Expulsa todo os utilizadores, excepto tu, do canal actual (necessita do modo operador)" + +#: src/common/outbound.c:3493 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Coloca o modo operador a todos os utilizadores do canal (necessita do modo operador)" + +#: src/common/outbound.c:3494 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <nick> <mensagem>, envia uma mensagem privada a nick" + +#: src/common/outbound.c:3497 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, Lista todos os utilizadores do canal actual" + +#: src/common/outbound.c:3499 +#, fuzzy +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <message>, Envia uma nota CTCP" + +#: src/common/outbound.c:3500 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <endereço> [<porto>]" + +#: src/common/outbound.c:3501 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nick>, muda o nick actual" + +#: src/common/outbound.c:3504 +#, fuzzy +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <nick/canal> <mensagem>, envia uma nota. Notas são um tipo de mensagem que devem provocar uma reacção automática" + +#: src/common/outbound.c:3506 +msgid "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" +msgstr "NOTIFY [-n network1[,network2,...]] [<nick>], mostra a lista de notificações ou adiciona alguém." + +#: src/common/outbound.c:3508 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>, adiciona o modo operador a nick (necessita do modo operador)" + +#: src/common/outbound.c:3510 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<canal>] [<razão>], sai do canal, por defeito o canal actual" + +#: src/common/outbound.c:3512 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | canal>, envia um CTCP a nick ou canal" + +#: src/common/outbound.c:3514 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <nick>, abre uma nova janela de mensagens privadas com nick" + +#: src/common/outbound.c:3516 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<razão>], desliga-se do servidor actual" + +#: src/common/outbound.c:3518 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <texto>, envia o texto directamente ao servidor" + +#: src/common/outbound.c:3521 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<endereço>] [<porto>] [<password>], Usado para reiniciar a ligação ao dado servidor, servidor actual por defeito, ou na forma /RECONNECT ALL para reiniciar a ligação de todos os servidores" + +#: src/common/outbound.c:3524 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<endereço>] [<porto>] [<password>], Usado para reiniciar a ligação ao dado servidor, servidor actual por defeito, ou na forma /RECONNECT ALL para reiniciar a ligação de todos os servidores" + +#: src/common/outbound.c:3526 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <texto>, envia o texto directamente para o xchat, como se este fosse recebido pelo servidor" + +#: src/common/outbound.c:3529 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <texto>, envia o texto para o objecto da janela actual" + +#: src/common/outbound.c:3530 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<ficheiro>]" + +#: src/common/outbound.c:3533 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <endereço> <porto> <canal>, liga-se ao servidor entrando de seguida no canal" + +#: src/common/outbound.c:3536 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <endereço> <porto> <canal>, liga-se ao servidor entrando de seguida no canal" + +#: src/common/outbound.c:3540 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <endereço> [<porto>] [<password>], liga-se ao servidor por defeito no porto 6667 para ligações normais e 9999 para ligações ssl" + +#: src/common/outbound.c:3543 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <endereço> [<porto>] [<password>], liga-se ao servidor por defeito ao porto 6667" + +#: src/common/outbound.c:3545 +msgid "SET [-e] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-quiet] <variável> [<valor>]" + +#: src/common/outbound.c:3546 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<posição>" + +#: src/common/outbound.c:3551 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<tópico>], muda o tópico do canal actual, ou mostra o tópico actual" + +#: src/common/outbound.c:3553 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <máscara> [<máscara>...]>, reautoriza o acesso ao canal aos utilizadores que correspondem à/às máscara/s (necessita modo operador) " + +#: src/common/outbound.c:3554 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <máscara> [QUIET], deixa de ignorar a máscara dada" + +#: src/common/outbound.c:3555 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nome>, desliga o plugin ou script" + +#: src/common/outbound.c:3556 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, abre o URL no teu browser" + +#: src/common/outbound.c:3558 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <nick1> <nick2> etc, sublinha o(s) nick(s) na lista de utilizadores do canal" + +#: src/common/outbound.c:3561 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>, coloca o modo voz a nick (necessita do modo operador)" + +#: src/common/outbound.c:3563 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <mensagem>, escreve uma mensagem em todos os canais em que estás" + +#: src/common/outbound.c:3565 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <mensagem>, envia uma mensagem a todos os utilizadores com modo operador no canal actual" + +#: src/common/outbound.c:3598 +#, c-format +msgid "Usage: %s\n" +msgstr "Utilização: %s\n" + +#: src/common/outbound.c:3603 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Não existe ajuda para esse comando.\n" + +#: src/common/outbound.c:3609 +msgid "No such command.\n" +msgstr "Comando inexistente.\n" + +#: src/common/outbound.c:3939 +msgid "Bad arguments for user command.\n" +msgstr "Opções incorrectas para comando de utilizador.\n" + +#: src/common/outbound.c:4095 +msgid "Too many recursive usercommands, aborting." +msgstr "Excessiva recursividade de comandos de utilizador, cancelando." + +#: src/common/outbound.c:4172 +msgid "Unknown Command. Try /help\n" +msgstr "Comando desconhecido. Tente /help\n" + +#: src/common/plugin.c:356 +#: src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Não existe o símbolo xchat_plugin_init; será mesmo um plugin para o xchat?" + +#: src/common/server.c:621 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Tem a certeza que este servidor e/ou porto suportam SSL?\n" + +#: src/common/server.c:1012 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Não foi possível resolver o endereço %s\n" +"Verifique as configurações de IP!\n" + +#: src/common/server.c:1017 +msgid "Proxy traversal failed.\n" +msgstr "Transferência pelo proxy falhou.\n" + +#: src/common/servlist.c:641 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "A alternar para o servidor seguinte em %s...\n" + +#: src/common/servlist.c:1065 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Aviso: o carácter \"%s\" é desconhecido. Não vai ser aplicada conversão à rede %s." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 adicionado à lista de notificações." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Lista de Interditos:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tNão pode entrar%C26 %B$1 %O(Está interdito)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 agora chama-se $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 interditou $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tCanal $1 criado em $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O retirou o estatuto semi-operador de%C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O retirou o estatuto de operador de%C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O retirou voz de%C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 torna isento $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O coloca o modo de semi-operador a%C26 $2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 oferece convite a $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UCanal Utilizadores Topico" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 coloca o modo $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Channel $1 modos: $2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O coloca o modo de operador a%C26 $2" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 retira isenção a $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 retira convite a $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 retira a palavra-chave do canal" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 retira o limite de utilizadores" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 coloca a palavra-chave do canal para $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 limite o canal a $2 utilizadores" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 retira a interdição a $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O oferece voz a%C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Ligado. A iniciar sessão..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22A ligar a $1 ($2) porto $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Ligação falhou. Erro: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tRecebeu um CTCP $1 de $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tRecebeu um CTCP $1 de $2 (to $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +#, fuzzy +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tRecebeu um CTCP Sound $1 de $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tRecebeu um Som CTCP $1 de $2 (para $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tConversa DCC com %C26$1%O cancelada." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tConversa DCC estabelecida com %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tConversa DCC com %C26$1%O perdida ($4)." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tRecebeu uma conversa DCC de $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tOferecendo conversa DCC a $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tConversa DCC já oferecida a $1" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "" + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tRecebeu '$1%O' de $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Tipo De/Para Estado Tamanho Pos Ficheiro " + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$tRecebeu um pedido DCC inválido de %C26$1%O.%010%C22*%O$tConteúdo do pacote: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tA oferecer%C26 $1%O a%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tOferta DCC inexistente." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV%C26 $2%O a%C26 $1%O cancelado." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tDCC RECV%C26 $1%O de%C26 $3%O completo %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC RECV ligação estabelecida com%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O de%C26 $3%O falhou ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: Não foi possível abrir $1 para escrita ($2)." + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tO ficheiro%C26 $1%C já existe, a gravar como%C26 $2%O" + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Opediu para continuar%C26 $2 %Cde%C26 $3%C." + +#: src/common/textevents.h:177 +#, fuzzy +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND%C26 $2%O para%C26 $1%O cancelado." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC SEND%C26 $1%O para%C26 $2%O completo %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC SEND ligação estabelecida com%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O para%C26 $2%O falhou. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Oofereceu%C26 $2 %O(%C26$3 %Obytes)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Opara%C26 $3 %Cparado - a cancelar." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Oesgotou o tempo - a cancelar" + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 removido da lista de notificações." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tDesligou ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tO seu IP foi encontrado: [$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O adicionado à lista de ignorados." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Entrada %C26$1%O da lista de ignorados foi alterada." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "" + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O retirado da lista de ignorados." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " Lista de ignorados vazia." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tNão pode entrar em %C26 %B$1 %O(Canal exclusivo a convidados)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tFoi convidado para%C26 $1%O por%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) entrou em $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tNão pode entrar em%C26 %B$1 %O(Palavra-chave necessária)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 expulsou $2 de $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tFoi morto por $1 ($2%O%C22)" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD Ignorado." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 já está a ser usado. A tentar com $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tNick já em utlização. Use /NICK para tentar outro." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tDCC inexistente." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tNão está nenhum processo a correr" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tLista de notificações vazia." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Lista de Notificações " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 utilizadores na lista de notificações." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tNotificação: $1 está desligado ($3)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tNotificação: $1 está ligado ($3)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) saiu de $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) saiu de $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tResposta Ping de $1: $2 segundo(s)" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tSem resposta ping durante $1 segundos, a desligar." + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tUm processo já está a correr" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 saiu (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 activa modos%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tÀ procura do IP de%C26 $1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Ligado." + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22A procurar $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tTentativa anterior de ligação terminada (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Tópico para $1%C %C29é: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 mudou o tópico para: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Tópico para $1%C %C29colocado por $2%C %C29a $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tEndereço desconhecido. Enganou-se no endereço?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tNão pode entrar em%C26 %B$1 %O(Limite de utilizadores atingido)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Utilizadores em $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cestá ausente %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 +#: src/common/textevents.h:372 +#: src/common/textevents.h:387 +#: src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OFim da lista WHOIS." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O inactivo%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O inactivo%C26 $2%O, ligou-se:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19A conversar em $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tFoste expulso de $2 por $3 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tSaíste do canal $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tSaíste do canal $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:405 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tConvidaste%C26 $1%O para%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:411 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tAgora chama-se $2" + +#: src/common/text.c:61 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** REGISTO TERMINADO EM %s\n" + +#: src/common/text.c:263 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** REGISTO INICIADO EM %s\n" + +#: src/common/text.c:282 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Não posso abrir ficheiro(s) de registo para escrita. Verifique\n" +" as permissões de %s/xchatlogs" + +#: src/common/text.c:618 +msgid "Left message" +msgstr "Mensagem da esquerda" + +#: src/common/text.c:619 +msgid "Right message" +msgstr "Mensagem da direita" + +#: src/common/text.c:623 +msgid "The nick of the joining person" +msgstr "O nick do utilizador que entra" + +#: src/common/text.c:624 +msgid "The channel being joined" +msgstr "O canal em que vai entrar" + +#: src/common/text.c:625 +#: src/common/text.c:671 +#: src/common/text.c:728 +msgid "The host of the person" +msgstr "O endereço do utilizador" + +#: src/common/text.c:629 +#: src/common/text.c:635 +#: src/common/text.c:642 +#: src/common/text.c:709 +#: src/common/text.c:835 +#: src/common/text.c:842 +#: src/common/text.c:847 +#: src/common/text.c:852 +#: src/common/text.c:857 +#: src/common/text.c:863 +#: src/common/text.c:868 +#: src/common/text.c:872 +#: src/common/text.c:878 +#: src/common/text.c:884 +#: src/common/text.c:930 +#: src/common/text.c:941 +#: src/common/text.c:946 +#: src/common/text.c:951 +#: src/common/text.c:960 +#: src/common/text.c:971 +#: src/common/text.c:978 +#: src/common/text.c:984 +#: src/common/text.c:989 +#: src/common/text.c:994 +#: src/common/text.c:1001 +#: src/common/text.c:1007 +#: src/common/text.c:1013 +#: src/common/text.c:1018 +#: src/common/text.c:1023 +#: src/common/text.c:1027 +#: src/common/text.c:1033 +#: src/common/text.c:1041 +#: src/common/text.c:1075 +#: src/common/text.c:1080 +msgid "Nickname" +msgstr "Nick" + +#: src/common/text.c:630 +msgid "The action" +msgstr "A acção" + +#: src/common/text.c:631 +#: src/common/text.c:637 +msgid "Mode char" +msgstr "Modo carácter" + +#: src/common/text.c:636 +msgid "The text" +msgstr "O texto" + +#: src/common/text.c:638 +#: src/common/text.c:711 +msgid "Identified text" +msgstr "Texto identificado" + +#: src/common/text.c:643 +#: src/common/text.c:699 +#: src/common/text.c:705 +#: src/common/text.c:710 +msgid "The message" +msgstr "A mensagem" + +#: src/common/text.c:647 +#: src/common/text.c:715 +msgid "Old nickname" +msgstr "Nick antigo" + +#: src/common/text.c:648 +#: src/common/text.c:716 +msgid "New nickname" +msgstr "Novo nick" + +#: src/common/text.c:652 +msgid "Nick of person who changed the topic" +msgstr "Nick do utilizador que mudou o tópico" + +#: src/common/text.c:653 +#: src/common/text.c:659 +#: src/fe-gtk/chanlist.c:607 +#: src/fe-gtk/chanlist.c:712 +msgid "Topic" +msgstr "Tópico" + +#: src/common/text.c:654 +#: src/common/text.c:658 +#: src/common/text.c:1095 +#: src/fe-gtk/chanlist.c:605 +#: src/fe-gtk/chanlist.c:703 +#: src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Canal" + +#: src/common/text.c:663 +#: src/common/text.c:722 +msgid "The nickname of the kicker" +msgstr "O nick de quem expulsou" + +#: src/common/text.c:664 +#: src/common/text.c:720 +msgid "The person being kicked" +msgstr "O utilizador a ser expulso" + +#: src/common/text.c:665 +#: src/common/text.c:672 +#: src/common/text.c:676 +#: src/common/text.c:681 +#: src/common/text.c:721 +#: src/common/text.c:729 +#: src/common/text.c:736 +msgid "The channel" +msgstr "O canal" + +#: src/common/text.c:666 +#: src/common/text.c:723 +#: src/common/text.c:730 +msgid "The reason" +msgstr "A razão" + +#: src/common/text.c:670 +#: src/common/text.c:727 +msgid "The nick of the person leaving" +msgstr "O nick do utilizador a sair" + +#: src/common/text.c:677 +#: src/common/text.c:683 +msgid "The time" +msgstr "A hora" + +#: src/common/text.c:682 +msgid "The creator" +msgstr "O criador" + +#: src/common/text.c:687 +msgid "Nick" +msgstr "Nick" + +#: src/common/text.c:688 +#: src/common/text.c:947 +msgid "Reason" +msgstr "Razão" + +#: src/common/text.c:689 +#: src/common/text.c:837 +#: src/common/text.c:920 +msgid "Host" +msgstr "Host" + +#: src/common/text.c:693 +#: src/common/text.c:698 +#: src/common/text.c:703 +msgid "Who it's from" +msgstr "De quem é" + +#: src/common/text.c:694 +msgid "The time in x.x format (see below)" +msgstr "A hora no formato x.x (ver em baixo)" + +#: src/common/text.c:704 +#: src/common/text.c:747 +msgid "The Channel it's going to" +msgstr "O canal para onde vai" + +#: src/common/text.c:734 +msgid "The sound" +msgstr "O som" + +#: src/common/text.c:735 +#: src/common/text.c:741 +#: src/common/text.c:746 +msgid "The nick of the person" +msgstr "O nick do utilizador" + +#: src/common/text.c:740 +#: src/common/text.c:745 +msgid "The CTCP event" +msgstr "O evento CTCP" + +#: src/common/text.c:751 +msgid "The nick of the person who set the key" +msgstr "O nick do utilizador que colocou a chave" + +#: src/common/text.c:752 +msgid "The key" +msgstr "A chave" + +#: src/common/text.c:756 +msgid "The nick of the person who set the limit" +msgstr "O nick da pessoa que colocou o limite" + +#: src/common/text.c:757 +msgid "The limit" +msgstr "O limite" + +#: src/common/text.c:761 +msgid "The nick of the person who did the op'ing" +msgstr "O nick do utilizador que deu o modo operador" + +#: src/common/text.c:762 +msgid "The nick of the person who has been op'ed" +msgstr "O nick do utilizador que recebeu o modo operador" + +#: src/common/text.c:766 +msgid "The nick of the person who has been halfop'ed" +msgstr "O nick do utilizador que recebeu o modo semi-operador" + +#: src/common/text.c:767 +msgid "The nick of the person who did the halfop'ing" +msgstr "O nick do utilizador que deu o modo semi-operador" + +#: src/common/text.c:771 +msgid "The nick of the person who did the voice'ing" +msgstr "O nick do utilizador que deu o modo voz" + +#: src/common/text.c:772 +msgid "The nick of the person who has been voice'ed" +msgstr "O nick do utilizador que recebeu o modo voz" + +#: src/common/text.c:776 +msgid "The nick of the person who did the banning" +msgstr "O nick do utilizador que interditou" + +#: src/common/text.c:777 +#: src/common/text.c:804 +msgid "The ban mask" +msgstr "A máscara de interdição" + +#: src/common/text.c:781 +msgid "The nick who removed the key" +msgstr "O nick do utilizador que retirou a chave" + +#: src/common/text.c:785 +msgid "The nick who removed the limit" +msgstr "O nick do utilizador que retirou o limite" + +#: src/common/text.c:789 +msgid "The nick of the person of did the deop'ing" +msgstr "O nick do utilizador que retirou o modo operador" + +#: src/common/text.c:790 +msgid "The nick of the person who has been deop'ed" +msgstr "O nick do utilizador a quem foi retirado o modo operador" + +#: src/common/text.c:793 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "O nick do utilizador que retirou o modo semi-operador" + +#: src/common/text.c:794 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "O nick do utilizador a quem foi retirado o modo semi-operador" + +#: src/common/text.c:798 +msgid "The nick of the person of did the devoice'ing" +msgstr "O nick do utilizador que retirou o modo voz" + +#: src/common/text.c:799 +msgid "The nick of the person who has been devoice'ed" +msgstr "O nick do utilizador a quem foi retirado o modo voz" + +#: src/common/text.c:803 +msgid "The nick of the person of did the unban'ing" +msgstr "O nick do utilizador que retirou a interdição" + +#: src/common/text.c:808 +msgid "The nick of the person who did the exempt" +msgstr "O nick do utilizador que criou a isenção" + +#: src/common/text.c:809 +#: src/common/text.c:814 +msgid "The exempt mask" +msgstr "A máscara da isenção" + +#: src/common/text.c:813 +msgid "The nick of the person removed the exempt" +msgstr "O nick do utilizador que retirou a isenção" + +#: src/common/text.c:818 +msgid "The nick of the person who did the invite" +msgstr "O nick do utilizador que efectuou o convite" + +#: src/common/text.c:819 +#: src/common/text.c:824 +msgid "The invite mask" +msgstr "A máscara do convite" + +#: src/common/text.c:823 +msgid "The nick of the person removed the invite" +msgstr "O nick do utilizador que retirou o convite" + +#: src/common/text.c:828 +msgid "The nick of the person setting the mode" +msgstr "O nick do utilizador que colocou o modo" + +#: src/common/text.c:829 +msgid "The mode's sign (+/-)" +msgstr "O sinal do modo (+/-)" + +#: src/common/text.c:830 +msgid "The mode letter" +msgstr "A letra do modo" + +#: src/common/text.c:831 +msgid "The channel it's being set on" +msgstr "O canal em que está a ser colocado" + +#: src/common/text.c:836 +msgid "Username" +msgstr "Nome de utilizador" + +#: src/common/text.c:838 +msgid "Full name" +msgstr "Nome completo" + +#: src/common/text.c:843 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Nível no Canal/\"é um operador de IRC\"" + +#: src/common/text.c:848 +msgid "Server Information" +msgstr "Informação do servidor" + +#: src/common/text.c:853 +#: src/common/text.c:858 +msgid "Idle time" +msgstr "Tempo inactivo" + +#: src/common/text.c:859 +msgid "Signon time" +msgstr "Hora de ligação" + +#: src/common/text.c:864 +msgid "Away reason" +msgstr "Razão da ausência" + +#: src/common/text.c:873 +#: src/common/text.c:879 +#: src/common/text.c:887 +#: src/common/text.c:1067 +msgid "Message" +msgstr "Mensagem" + +#: src/common/text.c:880 +msgid "Account" +msgstr "Conta" + +#: src/common/text.c:885 +msgid "Real user@host" +msgstr "utilizador@endereço real" + +#: src/common/text.c:886 +msgid "Real IP" +msgstr "IP real" + +#: src/common/text.c:891 +#: src/common/text.c:900 +#: src/common/text.c:906 +#: src/common/text.c:936 +#: src/common/text.c:1090 +msgid "Channel Name" +msgstr "Nome do canal" + +#: src/common/text.c:895 +#: src/common/text.c:1053 +#: src/fe-gtk/menu.c:1183 +#: src/fe-gtk/menu.c:1362 +#: src/fe-gtk/textgui.c:387 +msgid "Text" +msgstr "Texto" + +#: src/common/text.c:896 +#: src/common/text.c:902 +#: src/common/text.c:931 +#: src/common/text.c:1049 +#: src/common/text.c:1091 +msgid "Server Name" +msgstr "Nome do servidor" + +#: src/common/text.c:901 +msgid "Nick of person who invited you" +msgstr "Nick do utilizador que o convidou" + +#: src/common/text.c:907 +#: src/fe-gtk/chanlist.c:606 +msgid "Users" +msgstr "Utilizadores" + +#: src/common/text.c:911 +msgid "Nickname in use" +msgstr "Nick em uso" + +#: src/common/text.c:912 +msgid "Nick being tried" +msgstr "Nick a ser tentado" + +#: src/common/text.c:921 +#: src/common/text.c:1057 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:922 +#: src/common/text.c:953 +msgid "Port" +msgstr "Porto" + +#: src/common/text.c:932 +#: src/fe-gtk/notifygui.c:139 +#: src/fe-gtk/setup.c:1526 +msgid "Network" +msgstr "Rede" + +#: src/common/text.c:937 +#: src/common/text.c:942 +msgid "Modes string" +msgstr "Frase de modos" + +#: src/common/text.c:952 +#: src/common/text.c:990 +#: src/common/text.c:995 +#: src/common/text.c:1036 +msgid "IP address" +msgstr "Endereço IP" + +#: src/common/text.c:958 +#: src/common/text.c:983 +msgid "DCC Type" +msgstr "Tipo de DCC" + +#: src/common/text.c:959 +#: src/common/text.c:964 +#: src/common/text.c:969 +#: src/common/text.c:976 +#: src/common/text.c:996 +#: src/common/text.c:1000 +#: src/common/text.c:1006 +#: src/common/text.c:1012 +#: src/common/text.c:1019 +#: src/common/text.c:1028 +#: src/common/text.c:1034 +msgid "Filename" +msgstr "Nome do ficheiro" + +#: src/common/text.c:970 +#: src/common/text.c:977 +msgid "Destination filename" +msgstr "Nome do ficheiro de destino" + +#: src/common/text.c:979 +#: src/common/text.c:1008 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1014 +msgid "Pathname" +msgstr "Nome de directoria" + +#: src/common/text.c:1029 +#: src/fe-gtk/dccgui.c:537 +#: src/fe-gtk/dccgui.c:709 +msgid "Position" +msgstr "Posição" + +#: src/common/text.c:1035 +#: src/fe-gtk/dccgui.c:353 +#: src/fe-gtk/dccgui.c:536 +#: src/fe-gtk/dccgui.c:708 +msgid "Size" +msgstr "Tamanho" + +#: src/common/text.c:1040 +msgid "DCC String" +msgstr "Frase de DCC" + +#: src/common/text.c:1045 +msgid "Number of notify items" +msgstr "Número de notificações" + +#: src/common/text.c:1061 +msgid "Old Filename" +msgstr "Nome antigo do ficheiro" + +#: src/common/text.c:1062 +msgid "New Filename" +msgstr "Novo nome do ficheiro" + +#: src/common/text.c:1066 +msgid "Receiver" +msgstr "Receptor" + +#: src/common/text.c:1071 +msgid "Hostmask" +msgstr "Máscara de Endereço" + +#: src/common/text.c:1076 +msgid "Hostname" +msgstr "Endereço" + +#: src/common/text.c:1081 +msgid "The Packet" +msgstr "O pacote" + +#: src/common/text.c:1085 +msgid "Seconds" +msgstr "Segundos" + +#: src/common/text.c:1089 +msgid "Nick of person who have been invited" +msgstr "Nick do utilizador que foi convidado" + +#: src/common/text.c:1096 +msgid "Banmask" +msgstr "Máscara de Interdição" + +#: src/common/text.c:1097 +msgid "Who set the ban" +msgstr "Quem interditou" + +#: src/common/text.c:1098 +msgid "Ban time" +msgstr "Hora da interdição" + +#: src/common/text.c:1138 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Erro no processamento do evento %s.\n" +"A carregar predefinição" + +#: src/common/text.c:1819 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Não foi possível ler ficheiro de som:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "Cliente remoto desligou" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Ligação recusada" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "Não existe caminho para o endereço" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Ligação excedeu o tempo limite" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Não é possível atribuir o endereço" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Ligação terminada no destino" + +#: src/common/util.c:839 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "Emirados Árabes Unidos" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "Afeganistão" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "Antígua e Barbuda" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "Anguila" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "Albânia" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "Arménia" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "Antilhas Neerlandesas" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:849 +#, fuzzy +msgid "Antarctica" +msgstr "Antárctica" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "DNS Inverso" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "Samoa Americana" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "Áustria" + +#: src/common/util.c:854 +#, fuzzy +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "Austrália" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:857 +msgid "Aland Islands" +msgstr "" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "Azerbaijão" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "Bósnia e Herzegovina" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "Bangladeche" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "Bélgica" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "Burquina Faso" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "Bulgária" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "Barém" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "Negócios" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "Benim" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "Bermudas" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "Brunei" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "Bolívia" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "Brasil" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "Baamas" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "Butão" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "Ilha Bouvet" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "Botsuana" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "Bielorrússia" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "Canadá" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "Ilhas Cocos" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "República Democrática do Congo" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "República Centro-Africana" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "Congo" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "Suiça" + +#: src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "Costa do Marfim" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "Ilhas Cook" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "Camarões" + +#: src/common/util.c:889 +msgid "China" +msgstr "China" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "Colômbia" + +#: src/common/util.c:891 +#, fuzzy +msgid "Internic Commercial" +msgstr "Comercial da InterNIC" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "Sérvia e Montenegro" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "Cabo Verde" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "Ilha Christmas" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "Chipre" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "República Checa" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "Alemanha" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "Jibuti" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "Dinamarca" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "Domínica" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "República Dominicana" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "Algéria" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "Equador" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "Instituição Educacional" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "Estónia" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "Egipto" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "Sahara Oeste" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "Eritreia" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "Espanha" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "Etiópia" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "União Europeia" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "Filândia" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "Ilhas Falkland" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "Micronésia" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "Faroé" + +#: src/common/util.c:919 +msgid "France" +msgstr "França" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "Gabão" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "Grã Bretanha" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "Granada" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "Geórgia" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "Guiana Francesa" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "Ilhas do Canal Inglês" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "Gronelândia" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "Gâmbia" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "Guiné" + +#: src/common/util.c:931 +#, fuzzy +msgid "Government" +msgstr "Governo" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "Guadalupe" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "Guiné Equatorial" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "Grécia" + +#: src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Ilhas Geórgia do Sul e Sandwich do Sul" + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "Guiné-Bissau" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "Guiana" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "Ilhas Heard e McDonald" + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "Croácia" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "Hungria" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "Indonésia" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "Irlanda" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:950 +msgid "India" +msgstr "Índia" + +#: src/common/util.c:951 +#, fuzzy +msgid "Informational" +msgstr "Informativo" + +#: src/common/util.c:952 +msgid "International" +msgstr "Internacional" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "Território Britânico do Oceano Índico" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "Iraque" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "Irão" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "Islândia" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "Itália" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "Jordânia" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "Japão" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "Quénia" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "Quirguizistão" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "Camboja" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "Quiribati" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "Comores" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "São Cristóvão e Nevis" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "Coreia do Norte" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "Coreia do Sul" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "Koweit" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "Ilhas Caimão" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "Cazaquistão" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "Líbano" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "Santa Lúcia" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "Listenstaine" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "Sri Lanca" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "Libéria" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "Lesoto" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "Lituânia" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "Luxemburgo" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "Letónia" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "Líbia" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "Marrocos" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "Mónaco" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "Moldávia" + +#: src/common/util.c:987 +#, fuzzy +msgid "United States Medical" +msgstr "Organização Médica dos Estados Unidos" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "Madagáscar" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "Ilhas Marshall" + +#: src/common/util.c:990 +msgid "Military" +msgstr "Militar" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "Antiga República Jugoslava da Macedónia" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "Mianmar" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "Mongólia" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "Marianas do Norte" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "Martinica" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "Mauritânia" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "Monserrate" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "Maurícia" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "Maldivas" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "Malavi" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "México" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "Malásia" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "Moçambique" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "Namíbia" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "Nova Caledónia" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "Níger" + +#: src/common/util.c:1010 +#, fuzzy +msgid "Internic Network" +msgstr "Rede da InterNIC" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "Ilha Norfolk" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "Nigéira" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "Nicarágua" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "Países Baixos" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "Noruega" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "Nova Zelândia" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "Omã" + +#: src/common/util.c:1021 +#, fuzzy +msgid "Internic Non-Profit Organization" +msgstr "Organização Não-Lucrativa da InterNIC" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "Panamá" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "Perú" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "Polinésia Francesa" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "Papuásia-Nova Guiné" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "Filipinas" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "Paquistão" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "Polónia" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "São Pedro e Miquelon" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "Porto Rico" + +#: src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "Território Palestiano" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "Paraguai" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "Catar" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "Reunião" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "Roménia" + +#: src/common/util.c:1039 +#, fuzzy +msgid "Old School ARPAnet" +msgstr "Antiga ARPAnet" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "Rússia" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "Arábia Saudita" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "Ilhas Salomão" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "Seicheles" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "Sudão" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "Suécia" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "Singapura" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "Santa Helena" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "Eslovénia" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard e Jan Mayen" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "Eslováquia" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "Serra Leoa" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "São Marino" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "Sumália" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "São Tomé e Príncipe" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "Antiga USSR" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "Salvador" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "Síria" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "Suazilândia" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "Ilhas Turcas e Caicos" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "Chade" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "Territórios Austrais Franceses" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "Tailândia" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "Tajiquistão" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1069 +#: src/common/util.c:1073 +msgid "East Timor" +msgstr "Timor Leste" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "Turquemenistão" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "Tunísia" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "Turquia" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "Trindade e Tobago" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "Tanzânia" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "Ucrânia" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "Reino Unido" + +#: src/common/util.c:1082 +msgid "US Minor Outlying Islands" +msgstr "Ilhas Menores Distantes dos Estados Unidos" + +#: src/common/util.c:1083 +msgid "United States of America" +msgstr "Estados Unidos da América" + +#: src/common/util.c:1084 +msgid "Uruguay" +msgstr "Uruguai" + +#: src/common/util.c:1085 +msgid "Uzbekistan" +msgstr "Usbequistão" + +#: src/common/util.c:1086 +msgid "Vatican City State" +msgstr "Santa Sé" + +#: src/common/util.c:1087 +msgid "St. Vincent and the Grenadines" +msgstr "São Vicente e Granadinas" + +#: src/common/util.c:1088 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:1089 +msgid "British Virgin Islands" +msgstr "Ilhas Virgens Britânicas" + +#: src/common/util.c:1090 +msgid "US Virgin Islands" +msgstr "Ilhas Virgens Americanas" + +#: src/common/util.c:1091 +msgid "Vietnam" +msgstr "Vietname" + +#: src/common/util.c:1092 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1093 +msgid "Wallis and Futuna Islands" +msgstr "Wallis e Futuna" + +#: src/common/util.c:1094 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1095 +msgid "Yemen" +msgstr "Iémen" + +#: src/common/util.c:1096 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:1097 +msgid "Yugoslavia" +msgstr "Jugoslávia" + +#: src/common/util.c:1098 +msgid "South Africa" +msgstr "África do Sul" + +#: src/common/util.c:1099 +msgid "Zambia" +msgstr "Zâmbia" + +#: src/common/util.c:1100 +msgid "Zimbabwe" +msgstr "Zimbabué" + +#: src/common/util.c:1110 +#: src/common/util.c:1120 +#: src/fe-gtk/menu.c:529 +#: src/fe-gtk/menu.c:534 +#: src/fe-gtk/menu.c:538 +#: src/fe-gtk/menu.c:542 +#: src/fe-gtk/menu.c:550 +#: src/fe-gtk/menu.c:568 +msgid "Unknown" +msgstr "Desconhecida" + +#: src/common/xchat.c:765 +#: src/common/xchat.c:891 +msgid "Open Dialog Window" +msgstr "Abrir Janela de Diálogo" + +#: src/common/xchat.c:766 +msgid "Send a File" +msgstr "Enviar um Ficheiro" + +#: src/common/xchat.c:767 +msgid "User Info (WHOIS)" +msgstr "Informação do Utilizador (WHOIS)" + +#: src/common/xchat.c:768 +msgid "Operator Actions" +msgstr "Acções de Operador" + +#: src/common/xchat.c:770 +#: src/common/xchat.c:861 +msgid "Give Ops" +msgstr "Dar Ops" + +#: src/common/xchat.c:771 +#: src/common/xchat.c:862 +msgid "Take Ops" +msgstr "Retirar Ops" + +#: src/common/xchat.c:772 +#: src/common/xchat.c:865 +msgid "Give Voice" +msgstr "Dar Voz" + +#: src/common/xchat.c:773 +#: src/common/xchat.c:866 +msgid "Take Voice" +msgstr "Retirar Voz" + +#: src/common/xchat.c:775 +#: src/common/xchat.c:870 +msgid "Kick/Ban" +msgstr "Expulsar/Interditar" + +#: src/common/xchat.c:776 +#: src/common/xchat.c:871 +#: src/common/xchat.c:920 +msgid "Kick" +msgstr "Expulsar" + +#: src/common/xchat.c:777 +#: src/common/xchat.c:778 +#: src/common/xchat.c:779 +#: src/common/xchat.c:780 +#: src/common/xchat.c:781 +#: src/common/xchat.c:872 +#: src/common/xchat.c:873 +#: src/common/xchat.c:874 +#: src/common/xchat.c:875 +#: src/common/xchat.c:876 +#: src/common/xchat.c:919 +msgid "Ban" +msgstr "Interditar" + +#: src/common/xchat.c:782 +#: src/common/xchat.c:783 +#: src/common/xchat.c:784 +#: src/common/xchat.c:785 +#: src/common/xchat.c:877 +#: src/common/xchat.c:878 +#: src/common/xchat.c:879 +#: src/common/xchat.c:880 +msgid "KickBan" +msgstr "ExpulsarInterditar" + +#: src/common/xchat.c:848 +msgid "Direct client-to-client" +msgstr "Ligação directa" + +#: src/common/xchat.c:849 +msgid "Send File" +msgstr "Enviar Ficheiro" + +#: src/common/xchat.c:850 +msgid "Offer Chat" +msgstr "Oferecer Conversa" + +#: src/common/xchat.c:851 +msgid "Abort Chat" +msgstr "Cancelar Conversa" + +#: src/common/xchat.c:852 +#: src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Versão" + +#: src/common/xchat.c:853 +msgid "Userinfo" +msgstr "Informação do Utilizador" + +#: src/common/xchat.c:854 +msgid "Clientinfo" +msgstr "Informação do Cliente" + +#: src/common/xchat.c:855 +#: src/common/xchat.c:889 +#: src/common/xchat.c:937 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:856 +msgid "Time" +msgstr "Hora" + +#: src/common/xchat.c:857 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:858 +msgid "Oper" +msgstr "Operador" + +#: src/common/xchat.c:859 +#, fuzzy +msgid "Kill this user" +msgstr "'Matar' Utilizador" + +#: src/common/xchat.c:860 +msgid "Mode" +msgstr "Modo" + +#: src/common/xchat.c:863 +msgid "Give Half-Ops" +msgstr "Dar Semi-OP" + +#: src/common/xchat.c:864 +msgid "Take Half-Ops" +msgstr "Tirar Semi-OP" + +#: src/common/xchat.c:867 +msgid "Ignore" +msgstr "Ignorar" + +#: src/common/xchat.c:868 +msgid "Ignore User" +msgstr "Ignorar Utilizador" + +#: src/common/xchat.c:869 +msgid "UnIgnore User" +msgstr "Retirar Ignorado" + +#: src/common/xchat.c:881 +#: src/fe-gtk/dccgui.c:586 +#: src/fe-gtk/dccgui.c:752 +msgid "Info" +msgstr "Informação" + +#: src/common/xchat.c:882 +msgid "Who" +msgstr "Who" + +#: src/common/xchat.c:883 +#: src/common/xchat.c:933 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/xchat.c:884 +msgid "DNS Lookup" +msgstr "Pesquisa DNS" + +#: src/common/xchat.c:885 +msgid "Trace" +msgstr "Trace" + +#: src/common/xchat.c:886 +msgid "UserHost" +msgstr "Host do utilizador" + +#: src/common/xchat.c:887 +msgid "External" +msgstr "Externo" + +#: src/common/xchat.c:888 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:890 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:902 +msgid "Leave Channel" +msgstr "Sair do canal" + +#: src/common/xchat.c:903 +#: src/fe-gtk/menu.c:1369 +msgid "Join Channel..." +msgstr "Entrar num canal..." + +#: src/common/xchat.c:904 +#: src/fe-gtk/menu.c:1060 +msgid "Enter Channel to Join:" +msgstr "Introduzir canal onde entrar:" + +#: src/common/xchat.c:905 +msgid "Server Links" +msgstr "Endereços de Servidor" + +#: src/common/xchat.c:906 +msgid "Ping Server" +msgstr "Ping ao Servidor" + +#: src/common/xchat.c:907 +msgid "Hide Version" +msgstr "Esconder versão" + +#: src/common/xchat.c:917 +#, fuzzy +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:918 +#, fuzzy +msgid "DeOp" +msgstr "DeOp" + +#: src/common/xchat.c:921 +msgid "bye" +msgstr "adeus" + +#: src/common/xchat.c:922 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Introduzir razão da expulsão de %s:" + +#: src/common/xchat.c:923 +msgid "Sendfile" +msgstr "Enviar Ficheiro" + +#: src/common/xchat.c:924 +msgid "Dialog" +msgstr "Diálogo" + +#: src/common/xchat.c:934 +msgid "Send" +msgstr "Enviar" + +#: src/common/xchat.c:935 +msgid "Chat" +msgstr "Conversa" + +#: src/common/xchat.c:936 +#: src/fe-gtk/banlist.c:341 +#: src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Limpar" + +#: src/common/dbus/dbus-client.c:71 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:85 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:106 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:1064 +#, c-format +msgid "%s loaded successfully!\n" +msgstr "" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "Sobre XChat" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "Cliente de IRC multiplataforma" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Tabela de Caracteres" + +#: src/fe-gtk/banlist.c:113 +#: src/fe-gtk/chanlist.c:301 +msgid "Not connected." +msgstr "Não está ligado" + +#: src/fe-gtk/banlist.c:154 +#: src/fe-gtk/banlist.c:257 +msgid "You must select some bans." +msgstr "Tem de seleccionar algumas interdições." + +#: src/fe-gtk/banlist.c:206 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "Tens a certeza que queres retirar todas as interdições de %s?" + +#: src/fe-gtk/banlist.c:272 +#: src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Máscara" + +#: src/fe-gtk/banlist.c:273 +#: src/fe-gtk/dccgui.c:352 +#: src/fe-gtk/dccgui.c:539 +msgid "From" +msgstr "De" + +#: src/fe-gtk/banlist.c:274 +msgid "Date" +msgstr "Data" + +#: src/fe-gtk/banlist.c:317 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:321 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: Lista de Interditos (%s)" + +#: src/fe-gtk/banlist.c:337 +#, fuzzy +msgid "Unban" +msgstr "Reautorizar" + +#: src/fe-gtk/banlist.c:339 +#, fuzzy +msgid "Crop" +msgstr "Cortar" + +#: src/fe-gtk/banlist.c:343 +msgid "Refresh" +msgstr "Actualizar" + +#: src/fe-gtk/chanlist.c:122 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "Estatísticas do canal e utilizador: %d/%d utilizadores em %d/%d canais" + +#: src/fe-gtk/chanlist.c:544 +msgid "I can't save an empty list!" +msgstr "Impossível gravar uma lista vazia!" + +#: src/fe-gtk/chanlist.c:547 +#: src/fe-gtk/menu.c:996 +#: src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Seleccionar o ficheiro de saída" + +#: src/fe-gtk/chanlist.c:615 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: Lista de Canais (%s)" + +#: src/fe-gtk/chanlist.c:630 +msgid "List display options:" +msgstr "Opções de Listagem:" + +#: src/fe-gtk/chanlist.c:642 +msgid "Minimum Users:" +msgstr "Utilizadores Mínimos:" + +#: src/fe-gtk/chanlist.c:657 +msgid "Maximum Users:" +msgstr "Utilizadores Máximos:" + +#: src/fe-gtk/chanlist.c:673 +msgid "Pattern Match:" +msgstr "" + +#: src/fe-gtk/chanlist.c:675 +#, fuzzy +msgid "Regex Match:" +msgstr "Expressão regular:" + +#: src/fe-gtk/chanlist.c:697 +#, fuzzy +msgid "Apply Match to:" +msgstr "Usar expressão regular em:" + +#: src/fe-gtk/chanlist.c:721 +msgid "Apply" +msgstr "Aplicar" + +#: src/fe-gtk/chanlist.c:763 +msgid "Refresh the list" +msgstr "Actualizar lista" + +#: src/fe-gtk/chanlist.c:765 +msgid "Save the list" +msgstr "Gravar a lista" + +#: src/fe-gtk/chanlist.c:767 +#: src/fe-gtk/menu.c:812 +#: src/fe-gtk/menu.c:1043 +msgid "Join Channel" +msgstr "Entrar no Canal" + +#: src/fe-gtk/dccgui.c:117 +#, c-format +msgid "Send file to %s" +msgstr "Enviar ficheiro para %s" + +#: src/fe-gtk/dccgui.c:340 +msgid "None" +msgstr "Nenhum" + +#: src/fe-gtk/dccgui.c:351 +#: src/fe-gtk/dccgui.c:535 +#: src/fe-gtk/dccgui.c:707 +#: src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Ficheiro" + +#: src/fe-gtk/dccgui.c:352 +#: src/fe-gtk/dccgui.c:712 +msgid "To" +msgstr "Para" + +#: src/fe-gtk/dccgui.c:354 +msgid "Address" +msgstr "Endereço" + +#: src/fe-gtk/dccgui.c:355 +msgid "Started" +msgstr "Iniciado" + +#: src/fe-gtk/dccgui.c:356 +msgid "Speed limit" +msgstr "Limite de velocidade" + +#: src/fe-gtk/dccgui.c:381 +msgid "That file is not resumable." +msgstr "Não é possível continuar este ficheiro." + +#: src/fe-gtk/dccgui.c:385 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Impossível aceder ao ficheiro: %s\n" +"%s.\n" +"Não é possível continuar." + +#: src/fe-gtk/dccgui.c:392 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "Ficheiro da directoria de recepção é maior que o ficheiro oferecida. Impossível continuar." + +#: src/fe-gtk/dccgui.c:396 +msgid "Cannot resume the same file from two people." +msgstr "Não pode continuar o mesmo ficheiro de duas pessoas." + +#: src/fe-gtk/dccgui.c:534 +#: src/fe-gtk/dccgui.c:706 +#: src/fe-gtk/dccgui.c:857 +#: src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "Estado" + +#: src/fe-gtk/dccgui.c:538 +#: src/fe-gtk/dccgui.c:711 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:548 +msgid "XChat: File Receive List" +msgstr "XChat: Lista de Ficheiros Recebidos" + +#: src/fe-gtk/dccgui.c:580 +#: src/fe-gtk/dccgui.c:751 +#: src/fe-gtk/dccgui.c:889 +msgid "Abort" +msgstr "Cancelar" + +#: src/fe-gtk/dccgui.c:582 +#: src/fe-gtk/dccgui.c:890 +msgid "Accept" +msgstr "Aceitar" + +#: src/fe-gtk/dccgui.c:584 +msgid "Resume" +msgstr "Continuar" + +#: src/fe-gtk/dccgui.c:588 +msgid "Open" +msgstr "Abrir" + +#: src/fe-gtk/dccgui.c:710 +#, fuzzy +msgid "Ack" +msgstr "Ack" + +#: src/fe-gtk/dccgui.c:722 +msgid "XChat: Uploads and Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:723 +msgid "Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:724 +msgid "Uploads" +msgstr "" + +#: src/fe-gtk/dccgui.c:725 +msgid "Details" +msgstr "Detalhes" + +#: src/fe-gtk/dccgui.c:726 +msgid "Open Folder..." +msgstr "Abrir Pasta..." + +#: src/fe-gtk/dccgui.c:730 +msgid "XChat: File Send List" +msgstr "XChat: Lista de Ficheiros Enviados" + +#: src/fe-gtk/dccgui.c:850 +msgid "To/From" +msgstr "De/Para" + +#: src/fe-gtk/dccgui.c:859 +msgid "Recv" +msgstr "Recebido" + +#: src/fe-gtk/dccgui.c:860 +msgid "Sent" +msgstr "Enviado" + +#: src/fe-gtk/dccgui.c:861 +msgid "Start Time" +msgstr "Hora de Ínicio" + +#: src/fe-gtk/dccgui.c:871 +msgid "XChat: DCC Chat List" +msgstr "XChat: Lista de Conversas DCC" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*NOVO*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "EDITAR-ME" + +#: src/fe-gtk/editlist.c:310 +#: src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Nome" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Comando" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Para Cima" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Para Baixo" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Cancelar" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Gravar" + +#: src/fe-gtk/editlist.c:363 +#: src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Adicionar" + +#: src/fe-gtk/editlist.c:367 +#: src/fe-gtk/fkeys.c:770 +#: src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Apagar" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Ordenar" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Ajuda" + +#: src/fe-gtk/fe-gtk.c:122 +msgid "Don't auto connect to servers" +msgstr "Não ligar automaticamente aos servidores" + +#: src/fe-gtk/fe-gtk.c:123 +msgid "Use a different config directory" +msgstr "Usa outra directoria de configuração" + +#: src/fe-gtk/fe-gtk.c:124 +msgid "Don't auto load any plugins" +msgstr "Não carregar automaticamente nenhum plugin" + +#: src/fe-gtk/fe-gtk.c:125 +msgid "Show plugin auto-load directory" +msgstr "Mostrar directoria de plugins carregados automaticamente" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Show user config directory" +msgstr "Mostrar directoria de configuração do utilizador" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Open an irc://server:port/channel URL" +msgstr "Abrir um URL irc://servidor:porto/canal" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Open URL in an existing XChat" +msgstr "Abrir URL no XChat existente" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show version information" +msgstr "Mostrar informação de versão" + +#: src/fe-gtk/fe-gtk.c:249 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Não foi possível abrir a fonte:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:596 +#, fuzzy +msgid "Search buffer is empty.\n" +msgstr "Memória de procura vazia.\n" + +#: src/fe-gtk/fe-gtk.c:679 +#, c-format +msgid "%d bytes" +msgstr "%d bytes" + +#: src/fe-gtk/fe-gtk.c:680 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Fila de envio da rede: %d bytes" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n" +" characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "" +"A acção Executar Comando executa os dados em Dados 1 como se estes tivessem sido escritos na janela de entrada onde você pressionou a sequência de teclas. Assim, pode conter texto (que irá ser enviado para o canal/utilizador), comandos ou comandos do utilizador. Quando executa todos os caracteres \\n" +" de Dados 1 são utilizados para separar comandos para que seja possível executar mais que um comando. Se quiser um \\ no comando então introduza \\\\" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "O comando Alterar Página alterna entre as páginas do bloco de notas. Defina Dados 1 como a página para que quer trocar. Se Dados 2 estiver definido para algo então a troca será relativa à posição actual" + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "O comando Inserir no Buffer introduz o conteúdo de Dados 1 na posição actual do cursor da entrada onde a sequência de teclas foi pressionada" + +#: src/fe-gtk/fkeys.c:165 +#, fuzzy +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "O comando Mover Página sobe e desce uma página ou linha de texto na janela. Definir Dados 1 como Up (subir), Down (descer), +1 ou -1." + +#: src/fe-gtk/fkeys.c:167 +#, fuzzy +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "O comando Definir Entrada coloca o conteúdo de Dados 1 na entrada onde a sequência de teclas foi pressionada" + +#: src/fe-gtk/fkeys.c:169 +#, fuzzy +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "O comando Último Comando coloca na entrada o último comando inserido - o mesmo que acontece ao carregar na seta para cima na shell" + +#: src/fe-gtk/fkeys.c:171 +#, fuzzy +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "O comando Próximo Comando coloca na entrada o último comando inserido - o mesmo que acontece ao carregar na seta para baixo na shell" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "Este comando altera o texto na entrada para completar um nick ou comando incompleto. Se Dados 1 está definido então ao carregar duas vezes na tecla TAB numa palavra irá seleccionar o último nick e não o próximo" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "Este comando percorre a lista de nicks. Se Dados 1 está definido então a lista é percorrido para cima, caso contrário é percorrida para baixo" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "Este comando verifica a última palavra introduzida na entrada contra a lista de substituições e substitui-a se encontrar uma" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "Este comando move o separador actual uma posição para a esquerda" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "Este comando move o separador actual uma posição para a direita" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "Este comando move a família de separadores actual uma posição para a esquerda" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "Este comando move a família de separadores actual uma posição para a direita" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "Coloca a linha de entrada para o historial mas não a envia para o servidor" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "Erro durante o carregamento da configuração de atalhos de teclas" + +#: src/fe-gtk/fkeys.c:450 +#: src/fe-gtk/fkeys.c:451 +#: src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 +#: src/fe-gtk/fkeys.c:743 +#: src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 +#: src/fe-gtk/maingui.c:1108 +#: src/fe-gtk/maingui.c:1124 +#: src/fe-gtk/maingui.c:1401 +#: src/fe-gtk/maingui.c:1502 +#: src/fe-gtk/maingui.c:2959 +msgid "<none>" +msgstr "<nenhum>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "Mod" + +#: src/fe-gtk/fkeys.c:708 +#: src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Chave" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Acção" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: Atalhos de Teclado" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "Dado 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "Dado 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "Erro na abertura do ficheiro de configuração de associações\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Tecla %s desconhecida no ficheiro de configuração de atalhos\n" +"Abertura cancelada, corrigir %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Acção %s desconhecida no ficheiro de configuração de atalhos\n" +"Abertura cancelada, corrigir %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Esperava-se a linha (começando Dx{:|!}) mas recebeu-se:\n" +"%s\n" +"\n" +"Abertura cancelada, corrigir %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Ficheiro de configuração de atalhos está corrompido,\n" +"abertura cancelada.\n" +"Por favor corrija %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:131 +msgid "Cannot write to that file." +msgstr "Não foi possível gravar ficheiro." + +#: src/fe-gtk/gtkutil.c:133 +msgid "Cannot read that file." +msgstr "Não foi possível ler ficheiro." + +#: src/fe-gtk/ignoregui.c:117 +#: src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "A máscara já existe." + +#: src/fe-gtk/ignoregui.c:177 +#: src/fe-gtk/maingui.c:1973 +msgid "Private" +msgstr "Privado" + +#: src/fe-gtk/ignoregui.c:178 +#, fuzzy +msgid "Notice" +msgstr "Nota" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Convite" + +#: src/fe-gtk/ignoregui.c:182 +#, fuzzy +msgid "Unignore" +msgstr "Designorar" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Introduzir máscara a ignorar:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "XChat: Lista de Ignorados" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Estado:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Canal:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Privado:" + +#: src/fe-gtk/ignoregui.c:371 +#, fuzzy +msgid "Notice:" +msgstr "Nota:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Convite:" + +#: src/fe-gtk/ignoregui.c:384 +#: src/fe-gtk/notifygui.c:420 +msgid "Add..." +msgstr "Adicionar..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "Nome do canal é demasiado pequeno, tenta outra vez." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: Ligação Completa" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "Ligação a %s concluída." + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Que queres fazer a seguir?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_Nada, entro num canal mais tarde." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "_Entrar neste canal:" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Se sabes o nome do canal onde queres entrar, escreve-o aqui." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "_Abrir a Lista de Canais." + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "Obter a Lista de Canais" + +#: src/fe-gtk/joind.c:212 +#, fuzzy +msgid "_Always show this dialog after connecting." +msgstr "Mostrar _sempre este diálogo depois de ligar." + +#: src/fe-gtk/maingui.c:466 +msgid "Dialog with" +msgstr "Diálogo com" + +#: src/fe-gtk/maingui.c:744 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Tópico para %s é: %s" + +#: src/fe-gtk/maingui.c:749 +msgid "No topic is set" +msgstr "Nenhum tópico introduzido" + +#: src/fe-gtk/maingui.c:1048 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "Este servidor ainda tem %d canais ou diálogos associados. Fechá-los todos?" + +#: src/fe-gtk/maingui.c:1178 +msgid "No other tabs open, quit xchat?" +msgstr "Mais nenhuma separador aberta, sair do xchat?" + +#: src/fe-gtk/maingui.c:1353 +msgid "Insert Attribute or Color Code" +msgstr "Inserir Código de Atributo ou Côr" + +#: src/fe-gtk/maingui.c:1355 +msgid "<b>Bold</b>" +msgstr "<b>Negrito</b>" + +#: src/fe-gtk/maingui.c:1356 +msgid "<u>Underline</u>" +msgstr "<u>Sublinhado</u>" + +#: src/fe-gtk/maingui.c:1358 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1360 +msgid "Colors 0-7" +msgstr "Cores 0-7" + +#: src/fe-gtk/maingui.c:1370 +msgid "Colors 8-15" +msgstr "Cores 8-15" + +#: src/fe-gtk/maingui.c:1406 +msgid "Beep on message" +msgstr "Apitar em mensagens" + +#: src/fe-gtk/maingui.c:1409 +msgid "Show join/part messages" +msgstr "Mostrar mensagens de entrada/saída do canal" + +#: src/fe-gtk/maingui.c:1411 +msgid "Color paste" +msgstr "Colar cores" + +#: src/fe-gtk/maingui.c:1418 +msgid "Go to" +msgstr "Ir para" + +#: src/fe-gtk/maingui.c:1431 +#: src/fe-gtk/menu.c:1787 +msgid "_Close Tab" +msgstr "_Fechar Separador" + +#: src/fe-gtk/maingui.c:1434 +#: src/fe-gtk/menu.c:1786 +msgid "_Detach Tab" +msgstr "_Separar Separador" + +#: src/fe-gtk/maingui.c:1673 +msgid "Some file transfers still active, quit xchat?" +msgstr "Transferências de ficheiros ainda activas, sair do xchat?" + +#: src/fe-gtk/maingui.c:1841 +#: src/fe-gtk/maingui.c:1947 +msgid "User limit must be a number!\n" +msgstr "Limite de utilizadores deve de ser um número!\n" + +#: src/fe-gtk/maingui.c:1969 +msgid "Topic Protection" +msgstr "Protecção do Tópico" + +#: src/fe-gtk/maingui.c:1970 +msgid "No outside messages" +msgstr "Não recebe mensagens exteriores" + +#: src/fe-gtk/maingui.c:1971 +msgid "Secret" +msgstr "Secreto" + +#: src/fe-gtk/maingui.c:1972 +msgid "Invite Only" +msgstr "Convite Apenas" + +#: src/fe-gtk/maingui.c:1974 +msgid "Moderated" +msgstr "Moderado" + +#: src/fe-gtk/maingui.c:1975 +msgid "Ban List" +msgstr "Lista de Interdições" + +#: src/fe-gtk/maingui.c:1977 +msgid "Keyword" +msgstr "Palavra Chave" + +#: src/fe-gtk/maingui.c:1989 +msgid "User Limit" +msgstr "Limite de Utilizadores" + +#: src/fe-gtk/maingui.c:2100 +msgid "Show/Hide userlist" +msgstr "Mostrar/Esconder lista de utilizadores" + +#: src/fe-gtk/maingui.c:2225 +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 "" +"Não foi possível definir o fundo transparente!\n" +"\n" +"Você pode estar a utilizar um controlador de\n" +"janelas que actualmente não é suportado.\n" + +#: src/fe-gtk/maingui.c:2457 +msgid "Enter new nickname:" +msgstr "Introduzir novo nick:" + +#: src/fe-gtk/menu.c:124 +msgid "Host unknown" +msgstr "Host desconhecido" + +#: src/fe-gtk/menu.c:520 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:525 +#: src/fe-gtk/menu.c:529 +msgid "Real Name:" +msgstr "Nome Real:" + +#: src/fe-gtk/menu.c:533 +msgid "User:" +msgstr "Utilizador" + +#: src/fe-gtk/menu.c:537 +msgid "Country:" +msgstr "País:" + +#: src/fe-gtk/menu.c:541 +msgid "Server:" +msgstr "Servidor:" + +#: src/fe-gtk/menu.c:553 +msgid "Away Msg:" +msgstr "Msg Ausência:" + +#: src/fe-gtk/menu.c:563 +#, c-format +msgid "%u minutes ago" +msgstr "%u minutos atrás" + +#: src/fe-gtk/menu.c:565 +#: src/fe-gtk/menu.c:568 +msgid "Last Msg:" +msgstr "Última Msg:" + +#: src/fe-gtk/menu.c:668 +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 "A barra de menu está escondida. Para a ligar novamente pressiona F9 ou carrega no botão direito do rato numa área livre da janela principal." + +#: src/fe-gtk/menu.c:755 +#, fuzzy +msgid "Open Link in Browser" +msgstr "Abrir Link em Browser" + +#: src/fe-gtk/menu.c:756 +#, fuzzy +msgid "Copy Selected Link" +msgstr "Copiar Link Seleccionado" + +#: src/fe-gtk/menu.c:816 +msgid "Part Channel" +msgstr "Sair do Canal" + +#: src/fe-gtk/menu.c:818 +msgid "Cycle Channel" +msgstr "Alternar entre Canais" + +#: src/fe-gtk/menu.c:841 +msgid "XChat: User menu" +msgstr "XChat: Menu de utilizador" + +#: src/fe-gtk/menu.c:850 +msgid "Edit This Menu..." +msgstr "Editar este menu..." + +#: src/fe-gtk/menu.c:1045 +msgid "Retrieve channel list..." +msgstr "Pedir lista de canais..." + +#: src/fe-gtk/menu.c:1113 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" +"Comandos de Utilizador - Códigos especiais:\n" +"\n" +"%c = canal actual\n" +"%m = informação da máquina\n" +"%n = o teu nick\n" +"%t = hora/data\n" +"%v = versão do xchat\n" +"%2 = palavra 2\n" +"%3 = palavra 3\n" +"&2 = palavra 2 até ao fim da linha\n" +"&3 = palavra 3 até ao fim da linha\n" +"\n" +"ex:\n" +"/cmd john olá\n" +"\n" +"%2 seria \"john\"\n" +"&2 seria \"john olá\"." + +#: src/fe-gtk/menu.c:1129 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Botões da Lista de Utilizadores - Códigos especiais:\n" +"\n" +"%a = todos os nicks seleccionados\n" +"%c = canal actual\n" +"%h = endereço do nick seleccionado\n" +"%m = informação da máquina\n" +"%n = o teu nick\n" +"%s = nick seleccionado\n" +"%t = hora/data\n" + +#: src/fe-gtk/menu.c:1139 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Botões de Diálogo - Códigos especiais:\n" +"\n" +"%a = todos os nicks seleccionados\n" +"%c = canal actual\n" +"%h = endereço do nick seleccionado\n" +"%m = informação da máquina\n" +"%n = o teu nick\n" +"%s = nick seleccionado\n" +"%t = hora/data\n" + +#: src/fe-gtk/menu.c:1149 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" +"Respostas CTCP - Códigos especiais:\n" +"\n" +"%d = dados (todo o ctcp)\n" +"%m = informação da máquina\n" +"%s = nick de quem mandou o ctcp\n" +"%t = hora/data\n" +"%2 = palavra 2\n" +"%3 = palavra 3\n" +"&2 = palavra 2 até ao fim da linha\n" +"&3 = palavra 3 até ao fim da linha\n" +"\n" + +#: src/fe-gtk/menu.c:1160 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"URL Handlers - Códigos especiais:\n" +"\n" +"%s = frase do URL\n" +"\n" +"Colocando um ! à frente do comando\n" +"indica que deverá ser enviado para uma\n" +"shell em vez do XChat" + +#: src/fe-gtk/menu.c:1169 +msgid "XChat: User Defined Commands" +msgstr "XChat: Comandos Definidos pelo Utilizador" + +#: src/fe-gtk/menu.c:1176 +#, fuzzy +msgid "XChat: Userlist Popup menu" +msgstr "XChat: Menu popup da lista de utilizadores" + +#: src/fe-gtk/menu.c:1183 +msgid "Replace with" +msgstr "Subsituir por" + +#: src/fe-gtk/menu.c:1183 +msgid "XChat: Replace" +msgstr "XChat: Substituir" + +#: src/fe-gtk/menu.c:1190 +msgid "XChat: URL Handlers" +msgstr "XChat: Gestor de URL" + +#: src/fe-gtk/menu.c:1209 +msgid "XChat: Userlist buttons" +msgstr "XChat: Botões da Lista de Utilizadores" + +#: src/fe-gtk/menu.c:1216 +msgid "XChat: Dialog buttons" +msgstr "XChat: Botões de Diálogo" + +#: src/fe-gtk/menu.c:1223 +msgid "XChat: CTCP Replies" +msgstr "XChat: Respostas CTCP" + +#: src/fe-gtk/menu.c:1321 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1322 +msgid "Network Li_st..." +msgstr "Li_sta de Redes..." + +#: src/fe-gtk/menu.c:1325 +msgid "_New" +msgstr "_Novo" + +#: src/fe-gtk/menu.c:1326 +msgid "Server Tab..." +msgstr "Separador de Servidor..." + +#: src/fe-gtk/menu.c:1327 +msgid "Channel Tab..." +msgstr "Separador de Canal..." + +#: src/fe-gtk/menu.c:1328 +msgid "Server Window..." +msgstr "Janela de Servidor..." + +#: src/fe-gtk/menu.c:1329 +msgid "Channel Window..." +msgstr "Janela de Canal..." + +#: src/fe-gtk/menu.c:1334 +#: src/fe-gtk/menu.c:1336 +msgid "_Load Plugin or Script..." +msgstr "_Carregar Plugin ou Script..." + +#: src/fe-gtk/menu.c:1344 +msgid "_Quit" +msgstr "" + +#: src/fe-gtk/menu.c:1346 +msgid "_View" +msgstr "_Ver" + +#: src/fe-gtk/menu.c:1348 +msgid "_Menubar" +msgstr "Barra de _Menu" + +#: src/fe-gtk/menu.c:1349 +msgid "_Topicbar" +msgstr "Barra de _Tópico" + +#: src/fe-gtk/menu.c:1350 +msgid "_Userlist Buttons" +msgstr "Botões da Lista de _Utilizadores" + +#: src/fe-gtk/menu.c:1351 +msgid "M_ode Buttons" +msgstr "Botões de M_odo" + +#: src/fe-gtk/menu.c:1353 +msgid "_Layout" +msgstr "" + +#: src/fe-gtk/menu.c:1355 +msgid "_Tabs" +msgstr "_Separadores" + +#: src/fe-gtk/menu.c:1356 +msgid "T_ree" +msgstr "Á_rvore" + +#: src/fe-gtk/menu.c:1358 +msgid "_Network Meters" +msgstr "Medidores de _Rede" + +#: src/fe-gtk/menu.c:1360 +msgid "Off" +msgstr "Desligado" + +#: src/fe-gtk/menu.c:1361 +msgid "Graph" +msgstr "Imagem" + +#: src/fe-gtk/menu.c:1363 +msgid "Both" +msgstr "Ambos" + +#: src/fe-gtk/menu.c:1366 +msgid "_Server" +msgstr "_Servidor" + +#: src/fe-gtk/menu.c:1367 +msgid "_Disconnect" +msgstr "_Desligar" + +#: src/fe-gtk/menu.c:1368 +msgid "_Reconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1372 +msgid "Marked Away" +msgstr "Marcado como Ausente" + +#: src/fe-gtk/menu.c:1374 +msgid "_Usermenu" +msgstr "Menu de _Utilizador" + +#: src/fe-gtk/menu.c:1376 +msgid "S_ettings" +msgstr "_Configurações" + +#: src/fe-gtk/menu.c:1377 +msgid "_Preferences" +msgstr "_Preferências" + +#: src/fe-gtk/menu.c:1379 +msgid "Advanced" +msgstr "Avançadas" + +#: src/fe-gtk/menu.c:1380 +msgid "Auto Replace..." +msgstr "Substituições Automaticas..." + +#: src/fe-gtk/menu.c:1381 +msgid "CTCP Replies..." +msgstr "Respostas CTCP..." + +#: src/fe-gtk/menu.c:1382 +msgid "Dialog Buttons..." +msgstr "Botões de Diálogo..." + +#: src/fe-gtk/menu.c:1383 +msgid "Keyboard Shortcuts..." +msgstr "Atalhos do teclado..." + +#: src/fe-gtk/menu.c:1384 +msgid "Text Events..." +msgstr "Eventos de Texto..." + +#: src/fe-gtk/menu.c:1385 +msgid "URL Handlers..." +msgstr "Gestores de URL..." + +#: src/fe-gtk/menu.c:1386 +msgid "User Commands..." +msgstr "Comandos de Utilizador..." + +#: src/fe-gtk/menu.c:1387 +msgid "Userlist Buttons..." +msgstr "Botões da Lista de Utilizadores..." + +#: src/fe-gtk/menu.c:1388 +#, fuzzy +msgid "Userlist Popup..." +msgstr "Popup da Lista de Utilizadores..." + +#: src/fe-gtk/menu.c:1391 +msgid "_Window" +msgstr "_Janela" + +#: src/fe-gtk/menu.c:1392 +msgid "Ban List..." +msgstr "Lista de Interditos..." + +#: src/fe-gtk/menu.c:1393 +msgid "Channel List..." +msgstr "Lista de Canais..." + +#: src/fe-gtk/menu.c:1394 +msgid "Character Chart..." +msgstr "Tabela de Caracteres..." + +#: src/fe-gtk/menu.c:1395 +msgid "Direct Chat..." +msgstr "Conversas DCC..." + +#: src/fe-gtk/menu.c:1396 +msgid "File Transfers..." +msgstr "Transferências de Ficheiros..." + +#: src/fe-gtk/menu.c:1397 +msgid "Ignore List..." +msgstr "Lista de Ignorados..." + +#: src/fe-gtk/menu.c:1398 +msgid "Notify List..." +msgstr "Lista de Notificações..." + +#: src/fe-gtk/menu.c:1399 +msgid "Plugins and Scripts..." +msgstr "Plugins e Scripts..." + +#: src/fe-gtk/menu.c:1400 +msgid "Raw Log..." +msgstr "Registo Não Processado..." + +#: src/fe-gtk/menu.c:1401 +msgid "URL Grabber..." +msgstr "Obter URL..." + +#: src/fe-gtk/menu.c:1403 +msgid "Reset Marker Line" +msgstr "Limpar Linha de Marcador" + +#: src/fe-gtk/menu.c:1404 +msgid "C_lear Text" +msgstr "_Limpar Texto" + +#: src/fe-gtk/menu.c:1405 +msgid "Search Text..." +msgstr "_Procurar Texto..." + +#: src/fe-gtk/menu.c:1406 +msgid "Save Text..." +msgstr "Gravar Texto..." + +#: src/fe-gtk/menu.c:1408 +#: src/fe-gtk/menu.c:1778 +msgid "_Help" +msgstr "_Ajuda" + +#: src/fe-gtk/menu.c:1409 +msgid "_Contents" +msgstr "_Conteúdos" + +#: src/fe-gtk/menu.c:1410 +msgid "_About" +msgstr "_Sobre" + +#: src/fe-gtk/menu.c:1791 +msgid "_Attach Window" +msgstr "" + +#: src/fe-gtk/menu.c:1792 +msgid "_Close Window" +msgstr "_Fechar Janela" + +#: src/fe-gtk/notifygui.c:137 +msgid "User" +msgstr "Utilizador" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "Quando foi visto" + +#: src/fe-gtk/notifygui.c:181 +msgid "Offline" +msgstr "Desligado" + +#: src/fe-gtk/notifygui.c:201 +#: src/fe-gtk/setup.c:214 +msgid "Never" +msgstr "Nunca" + +#: src/fe-gtk/notifygui.c:219 +msgid "Online" +msgstr "Ligado" + +#: src/fe-gtk/notifygui.c:348 +msgid "Enter nickname to add:" +msgstr "Introduzir nick a adicionar:" + +#: src/fe-gtk/notifygui.c:376 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:387 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:407 +msgid "XChat: Notify List" +msgstr "XChat: Lista de Notificações" + +#: src/fe-gtk/notifygui.c:424 +msgid "Remove" +msgstr "Remover" + +#: src/fe-gtk/notifygui.c:428 +msgid "Open Dialog" +msgstr "Abrir Diálogo" + +#: src/fe-gtk/plugingui.c:76 +#: src/fe-gtk/textgui.c:421 +msgid "Description" +msgstr "Descrição" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Seleccionar um Plugin ou Script para carregar" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: Plugins e Scripts" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Carregar..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "_Terminar" + +#: src/fe-gtk/plugingui.c:236 +#: src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "_Fechar" + +#: src/fe-gtk/rawlog.c:81 +#: src/fe-gtk/rawlog.c:130 +#: src/fe-gtk/textgui.c:435 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "" + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: Registo não processado (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Limpar registo não processado" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "A janela para a qual abriu esta Procura já não existe." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "" + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Procurar" + +#: src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Procurar:" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "_Procurar" + +#: src/fe-gtk/servlistgui.c:169 +#: src/fe-gtk/servlistgui.c:268 +msgid "New Network" +msgstr "Nova Rede" + +#: src/fe-gtk/servlistgui.c:553 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Quer mesmo remover a rede \"%s\" e todos os seus servidores?" + +#: src/fe-gtk/servlistgui.c:677 +msgid "User name and Real name cannot be left blank." +msgstr "Nome de Utilizador e Real não podem ser deixados vazios." + +#: src/fe-gtk/servlistgui.c:977 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: Editar %s" + +#: src/fe-gtk/servlistgui.c:996 +#, c-format +msgid "Servers for %s" +msgstr "Servidores para %s" + +#: src/fe-gtk/servlistgui.c:1007 +msgid "Connect to selected server only" +msgstr "Ligar apenas ao servidor seleccionado" + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Não testar todos os servidores quando a ligação falha." + +#: src/fe-gtk/servlistgui.c:1010 +msgid "Your Details" +msgstr "Seus Detalhes" + +#: src/fe-gtk/servlistgui.c:1016 +msgid "Use global user information" +msgstr "Usar informação global do utilizador" + +#: src/fe-gtk/servlistgui.c:1019 +#: src/fe-gtk/servlistgui.c:1251 +msgid "_Nick name:" +msgstr "_Nick:" + +#: src/fe-gtk/servlistgui.c:1023 +#: src/fe-gtk/servlistgui.c:1258 +msgid "Second choice:" +msgstr "Segunda escolha:" + +#: src/fe-gtk/servlistgui.c:1027 +#: src/fe-gtk/servlistgui.c:1272 +msgid "_User name:" +msgstr "Nome de _Utilizador" + +#: src/fe-gtk/servlistgui.c:1031 +#: src/fe-gtk/servlistgui.c:1279 +msgid "Rea_l name:" +msgstr "Nome _Verdadeiro:" + +#: src/fe-gtk/servlistgui.c:1034 +msgid "Connecting" +msgstr "Ligar" + +#: src/fe-gtk/servlistgui.c:1040 +msgid "Auto connect to this network at startup" +msgstr "Ligar automaticamente ao início" + +#: src/fe-gtk/servlistgui.c:1042 +msgid "Use a proxy server" +msgstr "Utilizar um servidor proxy" + +#: src/fe-gtk/servlistgui.c:1044 +msgid "Use SSL for all the servers on this network" +msgstr "Utilizar SSL para todos os servidores desta rede" + +#: src/fe-gtk/servlistgui.c:1049 +msgid "Accept invalid SSL certificate" +msgstr "Aceitar certificados SSL inválidos" + +#: src/fe-gtk/servlistgui.c:1055 +msgid "C_hannels to join:" +msgstr "_Canais a entrar:" + +#: src/fe-gtk/servlistgui.c:1057 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Canais onde entrar, separados por vírgulas e não espaços!" + +#: src/fe-gtk/servlistgui.c:1060 +msgid "Connect command:" +msgstr "Comando de ligação:" + +#: src/fe-gtk/servlistgui.c:1062 +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 "Comandos extra a executar após a ligação. Se necessitar de mais de um introduza LOAD -e <ficheiro>, onde <ficheiro> é um ficheiro texto com uma lista de comandos a executar." + +#: src/fe-gtk/servlistgui.c:1065 +msgid "Nickserv password:" +msgstr "Password do nickserv:" + +#: src/fe-gtk/servlistgui.c:1067 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "Se o nick necessita de palavra chave, introduzi-la aqui. Não suportado por todas as redes de IRC." + +#: src/fe-gtk/servlistgui.c:1071 +msgid "Server password:" +msgstr "Password do servidor:" + +#: src/fe-gtk/servlistgui.c:1073 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Palavra-chave para o servidor. Em caso de dúvida deixe em branco." + +#: src/fe-gtk/servlistgui.c:1076 +#, fuzzy +msgid "Character set:" +msgstr "Caracteres:" + +#: src/fe-gtk/servlistgui.c:1146 +msgid "_Edit" +msgstr "_Editar" + +#: src/fe-gtk/servlistgui.c:1229 +msgid "XChat: Network List" +msgstr "XChat: Lista de Redes" + +#: src/fe-gtk/servlistgui.c:1241 +msgid "User Information" +msgstr "Informação do Utilizador" + +#: src/fe-gtk/servlistgui.c:1265 +msgid "Third choice:" +msgstr "Terceira escolha:" + +#: src/fe-gtk/servlistgui.c:1325 +msgid "Networks" +msgstr "Redes" + +#: src/fe-gtk/servlistgui.c:1366 +msgid "Skip network list on startup" +msgstr "Não mostrar lista de redes no arranque" + +#: src/fe-gtk/servlistgui.c:1398 +msgid "_Edit..." +msgstr "_Editar..." + +#: src/fe-gtk/servlistgui.c:1405 +msgid "_Sort" +msgstr "_Ordenar" + +#: src/fe-gtk/servlistgui.c:1429 +msgid "C_onnect" +msgstr "_Ligar" + +#: src/fe-gtk/setup.c:100 +msgid "Text Box Appearance" +msgstr "Aparência da Caixa de Texto" + +#: src/fe-gtk/setup.c:101 +msgid "Font:" +msgstr "Fonte:" + +#: src/fe-gtk/setup.c:102 +msgid "Background image:" +msgstr "Imagem de fundo:" + +#: src/fe-gtk/setup.c:103 +msgid "Scrollback lines:" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "Colored nick names" +msgstr "Nicks coloridos" + +#: src/fe-gtk/setup.c:105 +msgid "Give each person on IRC a different color" +msgstr "Dar a cada pessoa no IRC uma cor diferente" + +#: src/fe-gtk/setup.c:106 +msgid "Indent nick names" +msgstr "Indentar nicks" + +#: src/fe-gtk/setup.c:107 +msgid "Make nick names right-justified" +msgstr "Justificar nicks à direita." + +#: src/fe-gtk/setup.c:108 +msgid "Transparent background" +msgstr "Fundo transparente" + +#: src/fe-gtk/setup.c:109 +msgid "Show marker line" +msgstr "Mostrar linha de marcação" + +#: src/fe-gtk/setup.c:110 +msgid "Insert a red line after the last read text." +msgstr "Inserir linha vermelha após último texto lido." + +#: src/fe-gtk/setup.c:111 +msgid "Transparency Settings" +msgstr "Configurações de Transparência" + +#: src/fe-gtk/setup.c:112 +msgid "Red:" +msgstr "Vermelho:" + +#: src/fe-gtk/setup.c:113 +msgid "Green:" +msgstr "Verde:" + +#: src/fe-gtk/setup.c:114 +msgid "Blue:" +msgstr "Azul:" + +#: src/fe-gtk/setup.c:116 +#: src/fe-gtk/setup.c:336 +msgid "Time Stamps" +msgstr "Horas" + +#: src/fe-gtk/setup.c:117 +msgid "Enable time stamps" +msgstr "Introduzir horas nas conversas" + +#: src/fe-gtk/setup.c:118 +msgid "Time stamp format:" +msgstr "Formato de hora" + +#: src/fe-gtk/setup.c:119 +#: src/fe-gtk/setup.c:339 +msgid "See strftime manpage for details." +msgstr "Ver a manpage de strftime para detalhes." + +#: src/fe-gtk/setup.c:126 +#: src/fe-gtk/setup.c:166 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:127 +msgid "Last-spoke order" +msgstr "Último utilizado" + +#: src/fe-gtk/setup.c:133 +#: src/fe-gtk/setup.c:1515 +msgid "Input box" +msgstr "Caixa de entrada" + +#: src/fe-gtk/setup.c:134 +#: src/fe-gtk/setup.c:177 +msgid "Use the Text box font and colors" +msgstr "Utilizar as fontes e cores da caixa de texto" + +#: src/fe-gtk/setup.c:136 +msgid "Spell checking" +msgstr "" + +#: src/fe-gtk/setup.c:139 +msgid "Nick Completion" +msgstr "Completar Nick" + +#: src/fe-gtk/setup.c:140 +msgid "Automatic nick completion (without TAB key)" +msgstr "Completar nick automaticamente (sem usar a tecla TAB)" + +#: src/fe-gtk/setup.c:142 +msgid "Nick completion suffix:" +msgstr "Sufixo para completar nick:" + +#: src/fe-gtk/setup.c:143 +msgid "Nick completion sorted:" +msgstr "Ordem com quem o nick é completo" + +#: src/fe-gtk/setup.c:146 +msgid "Input Box Codes" +msgstr "Códigos da Caixa de Escrita" + +#: src/fe-gtk/setup.c:147 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Interpretar %nnn como um código ASCII" + +#: src/fe-gtk/setup.c:148 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Interpretar %C, %B como Cor, Bold, etc" + +#: src/fe-gtk/setup.c:165 +msgid "A-Z, Ops first" +msgstr "A-Z, OPs primeiro" + +#: src/fe-gtk/setup.c:167 +msgid "Z-A, Ops last" +msgstr "Z-A, OPs no fim" + +#: src/fe-gtk/setup.c:168 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:169 +msgid "Unsorted" +msgstr "Desordenado" + +#: src/fe-gtk/setup.c:175 +msgid "User List" +msgstr "Lista de Utilizadores" + +#: src/fe-gtk/setup.c:176 +msgid "Show hostnames in user list" +msgstr "Mostrar endereço na lista de utilizadores" + +#: src/fe-gtk/setup.c:178 +msgid "Resizable user list" +msgstr "Lista de utilizadores redimensionavel" + +#: src/fe-gtk/setup.c:179 +msgid "User list sorted by:" +msgstr "Lista de utilizadores ordenada por:" + +#: src/fe-gtk/setup.c:181 +msgid "Away tracking" +msgstr "Controlo da ausência" + +#: src/fe-gtk/setup.c:182 +msgid "Track the Away status of users and mark them in a different color" +msgstr "Observar o estado de ausente dos utilizadores e colori-los" + +#: src/fe-gtk/setup.c:183 +msgid "On channels smaller than:" +msgstr "Em canais menores que:" + +#: src/fe-gtk/setup.c:185 +msgid "Action Upon Double Click" +msgstr "Acção de Clique Duplo" + +#: src/fe-gtk/setup.c:186 +msgid "Execute command:" +msgstr "Executar comando:" + +#: src/fe-gtk/setup.c:197 +msgid "Windows" +msgstr "Janelas" + +#: src/fe-gtk/setup.c:198 +#: src/fe-gtk/setup.c:222 +#: src/fe-gtk/setup.c:1517 +msgid "Tabs" +msgstr "Separadores" + +#: src/fe-gtk/setup.c:204 +msgid "Bottom" +msgstr "Baixo" + +#: src/fe-gtk/setup.c:205 +msgid "Top" +msgstr "Cima" + +#: src/fe-gtk/setup.c:206 +msgid "Left" +msgstr "Esquerda" + +#: src/fe-gtk/setup.c:207 +msgid "Right" +msgstr "Direita" + +#: src/fe-gtk/setup.c:208 +msgid "Hidden" +msgstr "Escondido" + +#: src/fe-gtk/setup.c:215 +msgid "Always" +msgstr "Sempre" + +#: src/fe-gtk/setup.c:216 +msgid "Only requested tabs" +msgstr "Apenas separadores pedidos" + +#: src/fe-gtk/setup.c:223 +msgid "Open an extra tab for server messages" +msgstr "Abrir separador para mensagens do servidor" + +#: src/fe-gtk/setup.c:224 +msgid "Open an extra tab for server notices" +msgstr "Abrir separador para mensagens do servidor" + +#: src/fe-gtk/setup.c:225 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Sort tabs in alphabetical order" +msgstr "Ordenar separadores por ordem alfabética" + +#: src/fe-gtk/setup.c:227 +msgid "Small tabs" +msgstr "Separadores pequenos" + +#: src/fe-gtk/setup.c:228 +msgid "Focus new tabs:" +msgstr "Focar separadores novos:" + +#: src/fe-gtk/setup.c:229 +msgid "Show tabs at:" +msgstr "Onde mostrar separadores:" + +#: src/fe-gtk/setup.c:230 +msgid "Shorten tab labels to:" +msgstr "Diminuir nome dos separadores para:" + +#: src/fe-gtk/setup.c:230 +msgid "letters." +msgstr "letras." + +#: src/fe-gtk/setup.c:232 +msgid "Tabs or Windows" +msgstr "Separadores ou Janelas" + +#: src/fe-gtk/setup.c:233 +msgid "Open channels in:" +msgstr "Abrir canais em:" + +#: src/fe-gtk/setup.c:234 +msgid "Open dialogs in:" +msgstr "Abrir diálogos em:" + +#: src/fe-gtk/setup.c:235 +msgid "Open utilities in:" +msgstr "Abrir utilitários em:" + +#: src/fe-gtk/setup.c:235 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Abrir DCC, Ignorados, Notificações, etc, em separadores ou janelas?" + +#: src/fe-gtk/setup.c:242 +msgid "No" +msgstr "Não" + +#: src/fe-gtk/setup.c:243 +msgid "Yes" +msgstr "Sim" + +#: src/fe-gtk/setup.c:244 +msgid "Browse for save folder every time" +msgstr "Escolher sempre pasta de gravação" + +#: src/fe-gtk/setup.c:250 +msgid "Files and Directories" +msgstr "Ficheiros e Directorias" + +#: src/fe-gtk/setup.c:251 +msgid "Auto accept file offers:" +msgstr "Aceitar automaticamente ficheiros:" + +#: src/fe-gtk/setup.c:252 +msgid "Download files to:" +msgstr "Receber ficheiros para:" + +#: src/fe-gtk/setup.c:253 +msgid "Move completed files to:" +msgstr "Mover ficheiros completos para:" + +#: src/fe-gtk/setup.c:254 +msgid "Save nick name in filenames" +msgstr "Gravar nick no nome do ficheiro" + +#: src/fe-gtk/setup.c:256 +msgid "Network Settings" +msgstr "Configurações de Rede" + +#: src/fe-gtk/setup.c:257 +msgid "Get my address from the IRC server" +msgstr "Obter endereço através do servidor de IRC" + +#: src/fe-gtk/setup.c:258 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "Pergunta ao servidor de IRC o teu endereço real. Utiliza se tiveres um endereço 192.168.*.*!" + +#: src/fe-gtk/setup.c:259 +msgid "DCC IP address:" +msgstr "Endereço IP de DCC" + +#: src/fe-gtk/setup.c:260 +msgid "Claim you are at this address when offering files." +msgstr "Utilizar este endereço quando se oferecem ficheiros." + +#: src/fe-gtk/setup.c:261 +msgid "First DCC send port:" +msgstr "Primeiro porto DCC de envio:" + +#: src/fe-gtk/setup.c:262 +msgid "Last DCC send port:" +msgstr "Último porto DCC de envio:" + +#: src/fe-gtk/setup.c:263 +msgid "!Leave ports at zero for full range." +msgstr "!Deixar portos a zero para alcance máximo." + +#: src/fe-gtk/setup.c:265 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Velocidades Máximas de Transferência de Ficheiros (bytes por segundo)" + +#: src/fe-gtk/setup.c:266 +msgid "One upload:" +msgstr "Um envio:" + +#: src/fe-gtk/setup.c:267 +#: src/fe-gtk/setup.c:269 +msgid "Maximum speed for one transfer" +msgstr "Velocidade máx. numa transferência" + +#: src/fe-gtk/setup.c:268 +msgid "One download:" +msgstr "Uma recepção:" + +#: src/fe-gtk/setup.c:270 +msgid "All uploads combined:" +msgstr "Todas os envios combinados:" + +#: src/fe-gtk/setup.c:271 +#: src/fe-gtk/setup.c:273 +msgid "Maximum speed for all files" +msgstr "Velocidade máx. para todo o tráfego" + +#: src/fe-gtk/setup.c:272 +msgid "All downloads combined:" +msgstr "Todas as recepções combinadas:" + +#: src/fe-gtk/setup.c:280 +msgid "Default Messages" +msgstr "Mensagens por Defeito" + +#: src/fe-gtk/setup.c:281 +msgid "Quit:" +msgstr "Desligar:" + +#: src/fe-gtk/setup.c:282 +msgid "Leave channel:" +msgstr "Sair do canal:" + +#: src/fe-gtk/setup.c:283 +msgid "Away:" +msgstr "Ausente:" + +#: src/fe-gtk/setup.c:285 +msgid "Away" +msgstr "Ausente" + +#: src/fe-gtk/setup.c:286 +msgid "Announce away messages" +msgstr "Anunciar mensagens de ausência" + +#: src/fe-gtk/setup.c:287 +msgid "Announce your away messages to all channels" +msgstr "Anunciar as mensagens de ausência para todos os canais" + +#: src/fe-gtk/setup.c:288 +msgid "Show away once" +msgstr "Mostrar ausências uma única vez" + +#: src/fe-gtk/setup.c:288 +msgid "Show identical away messages only once" +msgstr "Mostrar mensagens de ausência uma única vez" + +#: src/fe-gtk/setup.c:289 +msgid "Automatically unmark away" +msgstr "Retirar ausência automaticamente" + +#: src/fe-gtk/setup.c:289 +msgid "Unmark yourself as away before sending messages" +msgstr "Retirar ausência antes de enviar mensagens" + +#: src/fe-gtk/setup.c:292 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "(Pode ser um ficheiro de texto relativo a ~/.xchat2/)." + +#: src/fe-gtk/setup.c:294 +msgid "(Can be a text file relative to config dir)." +msgstr "(Pode ser um ficheiro de texto relativo à directoria de configuração)." + +#: src/fe-gtk/setup.c:298 +msgid "Alerts" +msgstr "Alertas" + +#: src/fe-gtk/setup.c:300 +msgid "Flash taskbar on highlighted messages" +msgstr "Piscar barra de tarefas em mensagens sublinhadas" + +#: src/fe-gtk/setup.c:301 +msgid "Flash taskbar on any private messages" +msgstr "" + +#: src/fe-gtk/setup.c:303 +msgid "Beep on highlighted messages" +msgstr "Apitar em mensagens sublinhadas" + +#: src/fe-gtk/setup.c:304 +msgid "Beep on private messages" +msgstr "Apitar em mensagens privadas" + +#: src/fe-gtk/setup.c:305 +msgid "Beep on channel messages" +msgstr "Apitar em mensagens de canal" + +#: src/fe-gtk/setup.c:306 +msgid "Extra words to highlight on:" +msgstr "Palavras extra para sublinhar:" + +#: src/fe-gtk/setup.c:307 +msgid "Nicks not to highlight on:" +msgstr "Nicks a não sublinhar" + +#: src/fe-gtk/setup.c:308 +msgid "Separate multiple words with commas." +msgstr "Separar palavras com vírgulas." + +#: src/fe-gtk/setup.c:315 +msgid "Advanced Settings" +msgstr "Configurações Avançadas" + +#: src/fe-gtk/setup.c:316 +msgid "Auto reconnect delay:" +msgstr "Período para re-ligar:" + +#: src/fe-gtk/setup.c:317 +msgid "Display MODEs in raw form" +msgstr "Mostrar os MODOs na forma natural" + +#: src/fe-gtk/setup.c:318 +msgid "Whois on notify" +msgstr "Whois após notificação" + +#: src/fe-gtk/setup.c:318 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Envia um /WHOIS quando um utilizador da sua lista de notificações se liga" + +#: src/fe-gtk/setup.c:319 +msgid "Hide join and part messages" +msgstr "Esconder mensagens de entrada e saída de canal" + +#: src/fe-gtk/setup.c:319 +msgid "Hide channel join/part messages by default" +msgstr "Esconder mensagens de entrada e saída de canal por defeito" + +#: src/fe-gtk/setup.c:320 +msgid "Auto Open DCC Windows" +msgstr "Abrir Automaticamente Janelas de DCC" + +#: src/fe-gtk/setup.c:321 +msgid "Send window" +msgstr "Janela de Envio" + +#: src/fe-gtk/setup.c:322 +msgid "Receive window" +msgstr "Janela de Recepção" + +#: src/fe-gtk/setup.c:323 +msgid "Chat window" +msgstr "Janela de conversa" + +#: src/fe-gtk/setup.c:331 +#: src/fe-gtk/setup.c:1522 +msgid "Logging" +msgstr "Registos" + +#: src/fe-gtk/setup.c:332 +msgid "Enable logging of conversations" +msgstr "Ligar registos das conversas" + +#: src/fe-gtk/setup.c:333 +msgid "Log filename:" +msgstr "Nome do ficheiro de registos" + +#: src/fe-gtk/setup.c:334 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Servidor %c=Canal %n=rede." + +#: src/fe-gtk/setup.c:337 +msgid "Insert timestamps in logs" +msgstr "Inserir hora das mensagens nos registos" + +#: src/fe-gtk/setup.c:338 +msgid "Log timestamp format:" +msgstr "Formato hora das mensagens do registo:" + +#: src/fe-gtk/setup.c:346 +msgid "(Disabled)" +msgstr "(Desligado)" + +#: src/fe-gtk/setup.c:347 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:348 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:349 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:350 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:352 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: src/fe-gtk/setup.c:359 +msgid "All Connections" +msgstr "Todas as Ligações" + +#: src/fe-gtk/setup.c:360 +msgid "IRC Server Only" +msgstr "Servidor de IRC apenas" + +#: src/fe-gtk/setup.c:361 +msgid "DCC Get Only" +msgstr "Ligações DCC apenas" + +#: src/fe-gtk/setup.c:367 +msgid "Your Address" +msgstr "Seu Endereço IP" + +#: src/fe-gtk/setup.c:368 +#, fuzzy +msgid "Bind to:" +msgstr "Unir a:" + +#: src/fe-gtk/setup.c:369 +msgid "Only useful for computers with multiple addresses." +msgstr "Útil apenas para computadores com vários endereços." + +#: src/fe-gtk/setup.c:371 +msgid "Proxy Server" +msgstr "Servidor Proxy:" + +#: src/fe-gtk/setup.c:372 +msgid "Hostname:" +msgstr "Host:" + +#: src/fe-gtk/setup.c:373 +msgid "Port:" +msgstr "Porta:" + +#: src/fe-gtk/setup.c:374 +msgid "Type:" +msgstr "Tipo:" + +#: src/fe-gtk/setup.c:375 +msgid "Use proxy for:" +msgstr "Utilizar proxy para:" + +#: src/fe-gtk/setup.c:377 +msgid "Proxy Authentication" +msgstr "Autenticação Proxy" + +#: src/fe-gtk/setup.c:379 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Utilizar Autenticação (apenas MS Proxy, HTTP or Socks5)" + +#: src/fe-gtk/setup.c:381 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Utilizar Autenticação (apenas HTTP or Socks5)" + +#: src/fe-gtk/setup.c:383 +msgid "Username:" +msgstr "Utilizador:" + +#: src/fe-gtk/setup.c:384 +msgid "Password:" +msgstr "Password:" + +#: src/fe-gtk/setup.c:727 +msgid "Select an Image File" +msgstr "Seleccionar um Ficheiro de Imagem" + +#: src/fe-gtk/setup.c:751 +msgid "Select Download Folder" +msgstr "" + +#: src/fe-gtk/setup.c:760 +msgid "Select font" +msgstr "Seleccionar fonte" + +#: src/fe-gtk/setup.c:831 +msgid "Browse..." +msgstr "Seleccionar..." + +#: src/fe-gtk/setup.c:966 +msgid "Mark identified users with:" +msgstr "Marcar utilizadores identificados com:" + +#: src/fe-gtk/setup.c:968 +msgid "Mark not-identified users with:" +msgstr "Marcar utilizadores não identificados com:" + +#: src/fe-gtk/setup.c:1029 +msgid "Select color" +msgstr "Seleccionar côr" + +#: src/fe-gtk/setup.c:1109 +msgid "Text Colors" +msgstr "Cores de Texto" + +#: src/fe-gtk/setup.c:1111 +msgid "mIRC colors:" +msgstr "Cores do mIRC:" + +#: src/fe-gtk/setup.c:1119 +msgid "Local colors:" +msgstr "Cores locais:" + +#: src/fe-gtk/setup.c:1127 +#: src/fe-gtk/setup.c:1132 +msgid "Foreground:" +msgstr "Frente:" + +#: src/fe-gtk/setup.c:1128 +#: src/fe-gtk/setup.c:1133 +msgid "Background:" +msgstr "Fundo:" + +#: src/fe-gtk/setup.c:1130 +msgid "Marking Text" +msgstr "Texto de Marcação" + +#: src/fe-gtk/setup.c:1135 +msgid "Interface Colors" +msgstr "Cores da Interface" + +#: src/fe-gtk/setup.c:1137 +msgid "New data:" +msgstr "Novos dados:" + +#: src/fe-gtk/setup.c:1138 +msgid "Marker line:" +msgstr "Linha de marcador:" + +#: src/fe-gtk/setup.c:1139 +msgid "New message:" +msgstr "Nova mensagem:" + +#: src/fe-gtk/setup.c:1140 +msgid "Away user:" +msgstr "Utilizador ausente:" + +#: src/fe-gtk/setup.c:1141 +msgid "Highlight:" +msgstr "Sublinhar:" + +#: src/fe-gtk/setup.c:1237 +#: src/fe-gtk/textgui.c:386 +msgid "Event" +msgstr "Evento" + +#: src/fe-gtk/setup.c:1243 +msgid "Sound file" +msgstr "Ficheiro de som:" + +#: src/fe-gtk/setup.c:1278 +msgid "Select a sound file" +msgstr "Seleccionar um ficheiro de som" + +#: src/fe-gtk/setup.c:1350 +msgid "Sound playing method:" +msgstr "Método para tocar sons:" + +#: src/fe-gtk/setup.c:1358 +msgid "External sound playing _program:" +msgstr "_Programa externo:" + +#: src/fe-gtk/setup.c:1376 +msgid "_External program" +msgstr "_Externo" + +#: src/fe-gtk/setup.c:1386 +msgid "_Automatic" +msgstr "_Automático" + +#: src/fe-gtk/setup.c:1399 +msgid "Sound files _directory:" +msgstr "_Directoria de ficheiros de som:" + +#: src/fe-gtk/setup.c:1438 +msgid "Sound file:" +msgstr "Ficheiro de som:" + +#: src/fe-gtk/setup.c:1453 +msgid "_Browse..." +msgstr "_Percorrer..." + +#: src/fe-gtk/setup.c:1464 +msgid "_Play" +msgstr "_Tocar" + +#: src/fe-gtk/setup.c:1513 +msgid "Interface" +msgstr "Interface" + +#: src/fe-gtk/setup.c:1514 +msgid "Text box" +msgstr "Caixa de texto" + +#: src/fe-gtk/setup.c:1516 +msgid "User list" +msgstr "Lista de utilizadores" + +#: src/fe-gtk/setup.c:1518 +msgid "Colors" +msgstr "Cores" + +#: src/fe-gtk/setup.c:1520 +msgid "Chatting" +msgstr "Conversar" + +#: src/fe-gtk/setup.c:1521 +msgid "General" +msgstr "Geral" + +#: src/fe-gtk/setup.c:1523 +msgid "Sound" +msgstr "Som" + +#: src/fe-gtk/setup.c:1527 +msgid "Network setup" +msgstr "Configuração de Rede" + +#: src/fe-gtk/setup.c:1528 +msgid "File transfers" +msgstr "Transferência de ficheiros" + +#: src/fe-gtk/setup.c:1636 +msgid "Categories" +msgstr "Categorias" + +#: src/fe-gtk/setup.c:1812 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Algumas alterações necessitam que reinicie o programa." + +#: src/fe-gtk/setup.c:1820 +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 "" +"*AVISO*\n" +"Aceitar automaticamente DCC na directoria\n" +"de utilizador pode ser perigoso. Ex:\n" +"Alguém pode enviar um .bash_profile" + +#: src/fe-gtk/setup.c:1853 +msgid "XChat: Preferences" +msgstr "XChat: Preferências" + +#: src/fe-gtk/textgui.c:177 +msgid "There was an error parsing the string" +msgstr "Houve um erro ao processar a frase" + +#: src/fe-gtk/textgui.c:185 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Este sinal apenas passa %d argumentos, $%d é inválido" + +#: src/fe-gtk/textgui.c:301 +#: src/fe-gtk/textgui.c:324 +msgid "Print Texts File" +msgstr "Escrever Ficheiro de Textos" + +#: src/fe-gtk/textgui.c:369 +msgid "Edit Events" +msgstr "Editar Eventos" + +#: src/fe-gtk/textgui.c:420 +msgid "$ Number" +msgstr "$ Número" + +#: src/fe-gtk/textgui.c:437 +msgid "Load From..." +msgstr "Carregar De..." + +#: src/fe-gtk/textgui.c:438 +msgid "Test All" +msgstr "Testar todos" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: Captura de URL" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Limpar lista" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Copiar URL seleccionado" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Copiar" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Gravar lista para ficheiro" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "" + diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 00000000..c13ea087 --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,6078 @@ +# Brazilian Portuguese translation of X-Chat +# Copyright (C) 2000 Free Software Foundation, Inc. +# This file is distributed under the same license as the xchat package. +# Frédéric L. W. Meunier <fredlwm@olympiquedemarseille.org>, 20, 2009. +# Flamarion Jorge <flamarilinux@yahoo.com.br>, 2009. +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.8.6\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2008-06-12 18:39+1000\n" +"PO-Revision-Date: 2009-12-18 19:59-0200\n" +"Last-Translator: Flamarion Jorge <flamarilinux@yahoo.com.br>\n" +"Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Portuguese\n" +"X-Poedit-Country: BRAZIL\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "Impossível criar ~/.xchat2" + +#: src/common/cfgfiles.c:711 +msgid "I'm busy" +msgstr "Estou ocupado" + +#: src/common/cfgfiles.c:712 +msgid "Leaving" +msgstr "Sair" + +#: src/common/cfgfiles.c:759 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Executar IRC como root é estupido. Você pode\n" +" criar uma conta de usuá¡rio e usa-la para fazer o login\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Esperar" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Ativar" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Falha" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Feito" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:928 +msgid "Connect" +msgstr "Conectar" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Abortar" + +#: src/common/dcc.c:1886 src/common/outbound.c:2451 +#, c-format +msgid "Cannot access %s\n" +msgstr "Impossível acessar %s\n" + +#: src/common/dcc.c:1887 src/common/text.c:1224 src/common/text.c:1262 +#: src/common/text.c:1273 src/common/text.c:1280 src/common/text.c:1293 +#: src/common/text.c:1310 src/common/text.c:1410 src/common/util.c:353 +msgid "Error" +msgstr "Erro" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s está oferecendo \"%s\". Você quer aceitar?" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "Nenhum DCC ativo\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "SIM " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "NÃO " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "" + +#: src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s ligou\n" + +#: src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s desligou\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Não entrou em nenhum canal. Tente /join #<canal>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Não conectado. Tente /server <host> [porta]\n" + +#: src/common/outbound.c:338 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Já marcado como ausente: %s\n" + +#: src/common/outbound.c:411 +msgid "Already marked back.\n" +msgstr "Já marcado como de volta\n" + +#: src/common/outbound.c:1777 +msgid "I need /bin/sh to run!\n" +msgstr "Eu preciso de /bin/sh para executar!\n" + +#: src/common/outbound.c:2148 +msgid "Commands Available:" +msgstr "Comandos disponíveis:" + +#: src/common/outbound.c:2162 +msgid "User defined commands:" +msgstr "Comandos personalizados:" + +#: src/common/outbound.c:2178 +msgid "Plugin defined commands:" +msgstr "" + +#: src/common/outbound.c:2189 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "" + +#: src/common/outbound.c:2274 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Argumento desconhecido \"%s\" ignorado." + +#: src/common/outbound.c:3223 +msgid "No such plugin found.\n" +msgstr "Plugin não encontrado\n" + +#: src/common/outbound.c:3228 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Este plugin está recusando a descarregar\n" + +#: src/common/outbound.c:3497 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "" + +#: src/common/outbound.c:3499 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "" + +#: src/common/outbound.c:3501 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "" + +#: src/common/outbound.c:3503 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "" + +#: src/common/outbound.c:3504 +msgid "AWAY [<reason>], sets you away" +msgstr "" + +#: src/common/outbound.c:3505 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3507 +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 "" + +#: src/common/outbound.c:3508 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3510 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "" + +#: src/common/outbound.c:3511 +msgid "CLOSE, Closes the current window/tab" +msgstr "" + +#: src/common/outbound.c:3514 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "" + +#: src/common/outbound.c:3516 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:3518 +msgid "CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "" + +#: src/common/outbound.c:3520 +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 "" + +#: src/common/outbound.c:3532 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3534 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "" + +#: src/common/outbound.c:3536 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3538 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3539 +msgid "DISCON, Disconnects from server" +msgstr "" + +#: src/common/outbound.c:3540 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "" + +#: src/common/outbound.c:3541 +msgid "ECHO <text>, Prints text locally" +msgstr "" + +#: src/common/outbound.c:3544 +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 "" + +#: src/common/outbound.c:3546 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:3549 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:3551 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:3552 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:3556 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:3558 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:3562 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:3567 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3568 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "" + +#: src/common/outbound.c:3570 +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 "" + +#: src/common/outbound.c:3577 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3578 +msgid "JOIN <channel>, joins the channel" +msgstr "" + +#: src/common/outbound.c:3580 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3582 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3585 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:3587 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "" + +#: src/common/outbound.c:3589 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <arquivo>, carrega um plug-in ou script" + +#: src/common/outbound.c:3592 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3594 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3596 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "" + +#: src/common/outbound.c:3600 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3603 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3604 +msgid "MSG <nick> <message>, sends a private message" +msgstr "" + +#: src/common/outbound.c:3607 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "" + +#: src/common/outbound.c:3609 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "" + +#: src/common/outbound.c:3610 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "" + +#: src/common/outbound.c:3611 +msgid "NICK <nickname>, sets your nick" +msgstr "" + +#: src/common/outbound.c:3614 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "" + +#: src/common/outbound.c:3616 +msgid "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" +msgstr "" + +#: src/common/outbound.c:3618 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3620 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "" + +#: src/common/outbound.c:3622 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "" + +#: src/common/outbound.c:3624 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "" + +#: src/common/outbound.c:3626 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "" + +#: src/common/outbound.c:3628 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "" + +#: src/common/outbound.c:3631 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:3634 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:3636 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "" + +#: src/common/outbound.c:3639 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "" + +#: src/common/outbound.c:3640 +msgid "SEND <nick> [<file>]" +msgstr "" + +#: src/common/outbound.c:3643 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:3646 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:3650 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" + +#: src/common/outbound.c:3653 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "" + +#: src/common/outbound.c:3655 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3656 +msgid "SETCURSOR [-|+]<position>" +msgstr "" + +#: src/common/outbound.c:3661 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "" + +#: src/common/outbound.c:3663 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:3670 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "" + +#: src/common/outbound.c:3671 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "" + +#: src/common/outbound.c:3672 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nome>, descarrega um plug-in ou script" + +#: src/common/outbound.c:3673 +msgid "URL <url>, opens a URL in your browser" +msgstr "" + +#: src/common/outbound.c:3675 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "" + +#: src/common/outbound.c:3678 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3680 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "" + +#: src/common/outbound.c:3682 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" + +#: src/common/outbound.c:3715 +#, c-format +msgid "Usage: %s\n" +msgstr "Uso: %s\n" + +#: src/common/outbound.c:3720 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" + +#: src/common/outbound.c:3726 +msgid "No such command.\n" +msgstr "" + +#: src/common/outbound.c:4057 +msgid "Bad arguments for user command.\n" +msgstr "" + +#: src/common/outbound.c:4217 +msgid "Too many recursive usercommands, aborting." +msgstr "" + +#: src/common/outbound.c:4300 +msgid "Unknown Command. Try /help\n" +msgstr "" + +#: src/common/plugin.c:356 src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "" + +#: src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "" + +#: src/common/servlist.c:1094 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "" + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "" + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "" + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "" + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "" + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "" + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "" + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "" + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "" + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "" + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "" + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "" + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "" + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "" + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "" + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "" + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "" + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "" + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "" + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "" + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "" + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "" + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "" + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "" + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr "" + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "" + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "" + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "" + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "" + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "" + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "" + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "" + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "" + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "" + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "" + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "" + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "" + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "" + +#: src/common/text.c:318 +msgid "Loaded log from" +msgstr "Carregar log de" + +#: src/common/text.c:336 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:545 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:564 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" + +#: src/common/text.c:931 +msgid "Left message" +msgstr "Mensagem da esquerda" + +#: src/common/text.c:932 +msgid "Right message" +msgstr "Mensagem da direita" + +#: src/common/text.c:936 +msgid "The nick of the joining person" +msgstr "" + +#: src/common/text.c:937 +msgid "The channel being joined" +msgstr "" + +#: src/common/text.c:938 src/common/text.c:985 src/common/text.c:1036 +msgid "The host of the person" +msgstr "" + +#: src/common/text.c:942 src/common/text.c:948 src/common/text.c:955 +#: src/common/text.c:1143 src/common/text.c:1150 src/common/text.c:1155 +#: src/common/text.c:1160 src/common/text.c:1165 src/common/text.c:1171 +#: src/common/text.c:1176 src/common/text.c:1180 src/common/text.c:1186 +#: src/common/text.c:1192 src/common/text.c:1238 src/common/text.c:1249 +#: src/common/text.c:1254 src/common/text.c:1259 src/common/text.c:1268 +#: src/common/text.c:1279 src/common/text.c:1286 src/common/text.c:1292 +#: src/common/text.c:1297 src/common/text.c:1302 src/common/text.c:1309 +#: src/common/text.c:1315 src/common/text.c:1321 src/common/text.c:1326 +#: src/common/text.c:1331 src/common/text.c:1335 src/common/text.c:1341 +#: src/common/text.c:1349 src/common/text.c:1383 src/common/text.c:1388 +msgid "Nickname" +msgstr "" + +#: src/common/text.c:943 +msgid "The action" +msgstr "" + +#: src/common/text.c:944 src/common/text.c:950 +msgid "Mode char" +msgstr "" + +#: src/common/text.c:949 +msgid "The text" +msgstr "" + +#: src/common/text.c:951 src/common/text.c:957 +msgid "Identified text" +msgstr "Texto identificado" + +#: src/common/text.c:956 src/common/text.c:1013 src/common/text.c:1019 +msgid "The message" +msgstr "" + +#: src/common/text.c:961 src/common/text.c:1023 +msgid "Old nickname" +msgstr "" + +#: src/common/text.c:962 src/common/text.c:1024 +msgid "New nickname" +msgstr "" + +#: src/common/text.c:966 +msgid "Nick of person who changed the topic" +msgstr "" + +#: src/common/text.c:967 src/common/text.c:973 src/fe-gtk/chanlist.c:766 +#: src/fe-gtk/chanlist.c:869 +msgid "Topic" +msgstr "Tópico" + +#: src/common/text.c:968 src/common/text.c:972 src/common/text.c:1403 +#: src/fe-gtk/chanlist.c:764 src/fe-gtk/ignoregui.c:176 +#: src/fe-gtk/servlistgui.c:892 +msgid "Channel" +msgstr "Canal" + +#: src/common/text.c:977 src/common/text.c:1030 +msgid "The nickname of the kicker" +msgstr "" + +#: src/common/text.c:978 src/common/text.c:1028 +msgid "The person being kicked" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:990 +#: src/common/text.c:995 src/common/text.c:1029 src/common/text.c:1037 +#: src/common/text.c:1044 +msgid "The channel" +msgstr "" + +#: src/common/text.c:980 src/common/text.c:1031 src/common/text.c:1038 +msgid "The reason" +msgstr "" + +#: src/common/text.c:984 src/common/text.c:1035 +msgid "The nick of the person leaving" +msgstr "" + +#: src/common/text.c:991 src/common/text.c:997 +msgid "The time" +msgstr "" + +#: src/common/text.c:996 +msgid "The creator" +msgstr "" + +#: src/common/text.c:1001 src/fe-gtk/dccgui.c:763 src/fe-gtk/dccgui.c:996 +msgid "Nick" +msgstr "" + +#: src/common/text.c:1002 src/common/text.c:1255 +msgid "Reason" +msgstr "Razão" + +#: src/common/text.c:1003 src/common/text.c:1145 src/common/text.c:1228 +msgid "Host" +msgstr "" + +#: src/common/text.c:1007 src/common/text.c:1012 src/common/text.c:1017 +msgid "Who it's from" +msgstr "" + +#: src/common/text.c:1008 +msgid "The time in x.x format (see below)" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1055 +msgid "The Channel it's going to" +msgstr "O canal está indo para" + +#: src/common/text.c:1042 +msgid "The sound" +msgstr "" + +#: src/common/text.c:1043 src/common/text.c:1049 src/common/text.c:1054 +msgid "The nick of the person" +msgstr "" + +#: src/common/text.c:1048 src/common/text.c:1053 +msgid "The CTCP event" +msgstr "" + +#: src/common/text.c:1059 +msgid "The nick of the person who set the key" +msgstr "" + +#: src/common/text.c:1060 +msgid "The key" +msgstr "" + +#: src/common/text.c:1064 +msgid "The nick of the person who set the limit" +msgstr "" + +#: src/common/text.c:1065 +msgid "The limit" +msgstr "" + +#: src/common/text.c:1069 +msgid "The nick of the person who did the op'ing" +msgstr "" + +#: src/common/text.c:1070 +msgid "The nick of the person who has been op'ed" +msgstr "" + +#: src/common/text.c:1074 +msgid "The nick of the person who has been halfop'ed" +msgstr "" + +#: src/common/text.c:1075 +msgid "The nick of the person who did the halfop'ing" +msgstr "" + +#: src/common/text.c:1079 +msgid "The nick of the person who did the voice'ing" +msgstr "" + +#: src/common/text.c:1080 +msgid "The nick of the person who has been voice'ed" +msgstr "" + +#: src/common/text.c:1084 +msgid "The nick of the person who did the banning" +msgstr "" + +#: src/common/text.c:1085 src/common/text.c:1112 +msgid "The ban mask" +msgstr "" + +#: src/common/text.c:1089 +msgid "The nick who removed the key" +msgstr "" + +#: src/common/text.c:1093 +msgid "The nick who removed the limit" +msgstr "" + +#: src/common/text.c:1097 +msgid "The nick of the person of did the deop'ing" +msgstr "" + +#: src/common/text.c:1098 +msgid "The nick of the person who has been deop'ed" +msgstr "" + +#: src/common/text.c:1101 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1102 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "" + +#: src/common/text.c:1106 +msgid "The nick of the person of did the devoice'ing" +msgstr "" + +#: src/common/text.c:1107 +msgid "The nick of the person who has been devoice'ed" +msgstr "" + +#: src/common/text.c:1111 +msgid "The nick of the person of did the unban'ing" +msgstr "" + +#: src/common/text.c:1116 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:1117 src/common/text.c:1122 +msgid "The exempt mask" +msgstr "" + +#: src/common/text.c:1121 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the invite" +msgstr "" + +#: src/common/text.c:1127 src/common/text.c:1132 +msgid "The invite mask" +msgstr "" + +#: src/common/text.c:1131 +msgid "The nick of the person removed the invite" +msgstr "" + +#: src/common/text.c:1136 +msgid "The nick of the person setting the mode" +msgstr "" + +#: src/common/text.c:1137 +msgid "The mode's sign (+/-)" +msgstr "" + +#: src/common/text.c:1138 +msgid "The mode letter" +msgstr "" + +#: src/common/text.c:1139 +msgid "The channel it's being set on" +msgstr "" + +#: src/common/text.c:1144 +msgid "Username" +msgstr "" + +#: src/common/text.c:1146 +msgid "Full name" +msgstr "" + +#: src/common/text.c:1151 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:1156 +msgid "Server Information" +msgstr "" + +#: src/common/text.c:1161 src/common/text.c:1166 +msgid "Idle time" +msgstr "" + +#: src/common/text.c:1167 +msgid "Signon time" +msgstr "" + +#: src/common/text.c:1172 +msgid "Away reason" +msgstr "Razão de ausência" + +#: src/common/text.c:1181 src/common/text.c:1187 src/common/text.c:1195 +#: src/common/text.c:1375 +msgid "Message" +msgstr "Mensagem" + +#: src/common/text.c:1188 +msgid "Account" +msgstr "Conta" + +#: src/common/text.c:1193 +msgid "Real user@host" +msgstr "" + +#: src/common/text.c:1194 +msgid "Real IP" +msgstr "" + +#: src/common/text.c:1199 src/common/text.c:1208 src/common/text.c:1214 +#: src/common/text.c:1244 src/common/text.c:1398 +msgid "Channel Name" +msgstr "Nome do canal" + +#: src/common/text.c:1203 src/common/text.c:1361 src/fe-gtk/menu.c:1404 +#: src/fe-gtk/menu.c:1592 src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "" + +#: src/common/text.c:1204 src/common/text.c:1210 src/common/text.c:1239 +#: src/common/text.c:1357 src/common/text.c:1399 +msgid "Server Name" +msgstr "" + +#: src/common/text.c:1209 +msgid "Nick of person who invited you" +msgstr "" + +#: src/common/text.c:1215 src/fe-gtk/chanlist.c:765 +msgid "Users" +msgstr "Usuários" + +#: src/common/text.c:1219 +msgid "Nickname in use" +msgstr "" + +#: src/common/text.c:1220 +msgid "Nick being tried" +msgstr "" + +#: src/common/text.c:1229 src/common/text.c:1365 +msgid "IP" +msgstr "" + +#: src/common/text.c:1230 src/common/text.c:1261 +msgid "Port" +msgstr "" + +#: src/common/text.c:1240 src/fe-gtk/notifygui.c:139 src/fe-gtk/setup.c:1713 +msgid "Network" +msgstr "" + +#: src/common/text.c:1245 src/common/text.c:1250 +msgid "Modes string" +msgstr "" + +#: src/common/text.c:1260 src/common/text.c:1298 src/common/text.c:1303 +#: src/common/text.c:1344 +msgid "IP address" +msgstr "Endereço ip" + +#: src/common/text.c:1266 src/common/text.c:1291 +msgid "DCC Type" +msgstr "" + +#: src/common/text.c:1267 src/common/text.c:1272 src/common/text.c:1277 +#: src/common/text.c:1284 src/common/text.c:1304 src/common/text.c:1308 +#: src/common/text.c:1314 src/common/text.c:1320 src/common/text.c:1327 +#: src/common/text.c:1336 src/common/text.c:1342 +msgid "Filename" +msgstr "" + +#: src/common/text.c:1278 src/common/text.c:1285 +msgid "Destination filename" +msgstr "" + +#: src/common/text.c:1287 src/common/text.c:1316 +msgid "CPS" +msgstr "" + +#: src/common/text.c:1322 +msgid "Pathname" +msgstr "Caminho" + +#: src/common/text.c:1337 src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "Posição" + +#: src/common/text.c:1343 src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "" + +#: src/common/text.c:1348 +msgid "DCC String" +msgstr "String de DCC" + +#: src/common/text.c:1353 +msgid "Number of notify items" +msgstr "" + +#: src/common/text.c:1369 +msgid "Old Filename" +msgstr "" + +#: src/common/text.c:1370 +msgid "New Filename" +msgstr "" + +#: src/common/text.c:1374 +msgid "Receiver" +msgstr "Recebidos" + +#: src/common/text.c:1379 +msgid "Hostmask" +msgstr "" + +#: src/common/text.c:1384 +msgid "Hostname" +msgstr "" + +#: src/common/text.c:1389 +msgid "The Packet" +msgstr "" + +#: src/common/text.c:1393 +msgid "Seconds" +msgstr "Segundos" + +#: src/common/text.c:1397 +msgid "Nick of person who have been invited" +msgstr "" + +#: src/common/text.c:1404 +msgid "Banmask" +msgstr "" + +#: src/common/text.c:1405 +msgid "Who set the ban" +msgstr "" + +#: src/common/text.c:1406 +msgid "Ban time" +msgstr "" + +#: src/common/text.c:1446 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" + +#: src/common/text.c:2189 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" + +#: src/common/util.c:297 +msgid "Remote host closed socket" +msgstr "" + +#: src/common/util.c:302 +msgid "Connection refused" +msgstr "" + +#: src/common/util.c:305 +msgid "No route to host" +msgstr "" + +#: src/common/util.c:307 +msgid "Connection timed out" +msgstr "Tempo esgotado para conexão" + +#: src/common/util.c:309 +msgid "Cannot assign that address" +msgstr "" + +#: src/common/util.c:311 +msgid "Connection reset by peer" +msgstr "" + +#: src/common/util.c:848 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:849 +msgid "Andorra" +msgstr "" + +#: src/common/util.c:850 +msgid "United Arab Emirates" +msgstr "" + +#: src/common/util.c:851 +msgid "Afghanistan" +msgstr "" + +#: src/common/util.c:852 +msgid "Antigua and Barbuda" +msgstr "" + +#: src/common/util.c:853 +msgid "Anguilla" +msgstr "" + +#: src/common/util.c:854 +msgid "Albania" +msgstr "" + +#: src/common/util.c:855 +msgid "Armenia" +msgstr "" + +#: src/common/util.c:856 +msgid "Netherlands Antilles" +msgstr "" + +#: src/common/util.c:857 +msgid "Angola" +msgstr "" + +#: src/common/util.c:858 +msgid "Antarctica" +msgstr "" + +#: src/common/util.c:859 +msgid "Argentina" +msgstr "" + +#: src/common/util.c:860 +msgid "Reverse DNS" +msgstr "" + +#: src/common/util.c:861 +msgid "American Samoa" +msgstr "" + +#: src/common/util.c:862 +msgid "Austria" +msgstr "" + +#: src/common/util.c:863 +msgid "Nato Fiel" +msgstr "" + +#: src/common/util.c:864 +msgid "Australia" +msgstr "" + +#: src/common/util.c:865 +msgid "Aruba" +msgstr "" + +#: src/common/util.c:866 +msgid "Aland Islands" +msgstr "" + +#: src/common/util.c:867 +msgid "Azerbaijan" +msgstr "" + +#: src/common/util.c:868 +msgid "Bosnia and Herzegovina" +msgstr "" + +#: src/common/util.c:869 +msgid "Barbados" +msgstr "" + +#: src/common/util.c:870 +msgid "Bangladesh" +msgstr "" + +#: src/common/util.c:871 +msgid "Belgium" +msgstr "" + +#: src/common/util.c:872 +msgid "Burkina Faso" +msgstr "" + +#: src/common/util.c:873 +msgid "Bulgaria" +msgstr "" + +#: src/common/util.c:874 +msgid "Bahrain" +msgstr "" + +#: src/common/util.c:875 +msgid "Burundi" +msgstr "" + +#: src/common/util.c:876 +msgid "Businesses" +msgstr "" + +#: src/common/util.c:877 +msgid "Benin" +msgstr "" + +#: src/common/util.c:878 +msgid "Bermuda" +msgstr "" + +#: src/common/util.c:879 +msgid "Brunei Darussalam" +msgstr "" + +#: src/common/util.c:880 +msgid "Bolivia" +msgstr "" + +#: src/common/util.c:881 +msgid "Brazil" +msgstr "" + +#: src/common/util.c:882 +msgid "Bahamas" +msgstr "" + +#: src/common/util.c:883 +msgid "Bhutan" +msgstr "Butão" + +#: src/common/util.c:884 +msgid "Bouvet Island" +msgstr "" + +#: src/common/util.c:885 +msgid "Botswana" +msgstr "" + +#: src/common/util.c:886 +msgid "Belarus" +msgstr "" + +#: src/common/util.c:887 +msgid "Belize" +msgstr "" + +#: src/common/util.c:888 +msgid "Canada" +msgstr "" + +#: src/common/util.c:889 +msgid "Cocos Islands" +msgstr "" + +#: src/common/util.c:890 +msgid "Democratic Republic of Congo" +msgstr "" + +#: src/common/util.c:891 +msgid "Central African Republic" +msgstr "" + +#: src/common/util.c:892 +msgid "Congo" +msgstr "" + +#: src/common/util.c:893 +msgid "Switzerland" +msgstr "" + +#: src/common/util.c:894 +msgid "Cote d'Ivoire" +msgstr "" + +#: src/common/util.c:895 +msgid "Cook Islands" +msgstr "" + +#: src/common/util.c:896 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:897 +msgid "Cameroon" +msgstr "" + +#: src/common/util.c:898 +msgid "China" +msgstr "" + +#: src/common/util.c:899 +msgid "Colombia" +msgstr "" + +#: src/common/util.c:900 +msgid "Internic Commercial" +msgstr "" + +#: src/common/util.c:901 +msgid "Costa Rica" +msgstr "" + +#: src/common/util.c:902 +msgid "Serbia and Montenegro" +msgstr "" + +#: src/common/util.c:903 +msgid "Cuba" +msgstr "" + +#: src/common/util.c:904 +msgid "Cape Verde" +msgstr "" + +#: src/common/util.c:905 +msgid "Christmas Island" +msgstr "" + +#: src/common/util.c:906 +msgid "Cyprus" +msgstr "" + +#: src/common/util.c:907 +msgid "Czech Republic" +msgstr "" + +#: src/common/util.c:908 +msgid "Germany" +msgstr "" + +#: src/common/util.c:909 +msgid "Djibouti" +msgstr "" + +#: src/common/util.c:910 +msgid "Denmark" +msgstr "" + +#: src/common/util.c:911 +msgid "Dominica" +msgstr "" + +#: src/common/util.c:912 +msgid "Dominican Republic" +msgstr "" + +#: src/common/util.c:913 +msgid "Algeria" +msgstr "" + +#: src/common/util.c:914 +msgid "Ecuador" +msgstr "" + +#: src/common/util.c:915 +msgid "Educational Institution" +msgstr "" + +#: src/common/util.c:916 +msgid "Estonia" +msgstr "" + +#: src/common/util.c:917 +msgid "Egypt" +msgstr "" + +#: src/common/util.c:918 +msgid "Western Sahara" +msgstr "" + +#: src/common/util.c:919 +msgid "Eritrea" +msgstr "" + +#: src/common/util.c:920 +msgid "Spain" +msgstr "" + +#: src/common/util.c:921 +msgid "Ethiopia" +msgstr "" + +#: src/common/util.c:922 +msgid "European Union" +msgstr "" + +#: src/common/util.c:923 +msgid "Finland" +msgstr "" + +#: src/common/util.c:924 +msgid "Fiji" +msgstr "" + +#: src/common/util.c:925 +msgid "Falkland Islands" +msgstr "" + +#: src/common/util.c:926 +msgid "Micronesia" +msgstr "" + +#: src/common/util.c:927 +msgid "Faroe Islands" +msgstr "" + +#: src/common/util.c:928 +msgid "France" +msgstr "França" + +#: src/common/util.c:929 +msgid "Gabon" +msgstr "" + +#: src/common/util.c:930 +msgid "Great Britain" +msgstr "" + +#: src/common/util.c:931 +msgid "Grenada" +msgstr "Granada" + +#: src/common/util.c:932 +msgid "Georgia" +msgstr "" + +#: src/common/util.c:933 +msgid "French Guiana" +msgstr "" + +#: src/common/util.c:934 +msgid "British Channel Isles" +msgstr "" + +#: src/common/util.c:935 +msgid "Ghana" +msgstr "" + +#: src/common/util.c:936 +msgid "Gibraltar" +msgstr "" + +#: src/common/util.c:937 +msgid "Greenland" +msgstr "Greenland" + +#: src/common/util.c:938 +msgid "Gambia" +msgstr "" + +#: src/common/util.c:939 +msgid "Guinea" +msgstr "Guiné" + +#: src/common/util.c:940 +msgid "Government" +msgstr "" + +#: src/common/util.c:941 +msgid "Guadeloupe" +msgstr "" + +#: src/common/util.c:942 +msgid "Equatorial Guinea" +msgstr "" + +#: src/common/util.c:943 +msgid "Greece" +msgstr "Grécia" + +#: src/common/util.c:944 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "" + +#: src/common/util.c:945 +msgid "Guatemala" +msgstr "" + +#: src/common/util.c:946 +msgid "Guam" +msgstr "" + +#: src/common/util.c:947 +msgid "Guinea-Bissau" +msgstr "" + +#: src/common/util.c:948 +msgid "Guyana" +msgstr "" + +#: src/common/util.c:949 +msgid "Hong Kong" +msgstr "" + +#: src/common/util.c:950 +msgid "Heard and McDonald Islands" +msgstr "" + +#: src/common/util.c:951 +msgid "Honduras" +msgstr "" + +#: src/common/util.c:952 +msgid "Croatia" +msgstr "" + +#: src/common/util.c:953 +msgid "Haiti" +msgstr "" + +#: src/common/util.c:954 +msgid "Hungary" +msgstr "" + +#: src/common/util.c:955 +msgid "Indonesia" +msgstr "" + +#: src/common/util.c:956 +msgid "Ireland" +msgstr "" + +#: src/common/util.c:957 +msgid "Israel" +msgstr "" + +#: src/common/util.c:958 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:959 +msgid "India" +msgstr "" + +#: src/common/util.c:960 +msgid "Informational" +msgstr "" + +#: src/common/util.c:961 +msgid "International" +msgstr "" + +#: src/common/util.c:962 +msgid "British Indian Ocean Territory" +msgstr "" + +#: src/common/util.c:963 +msgid "Iraq" +msgstr "" + +#: src/common/util.c:964 +msgid "Iran" +msgstr "" + +#: src/common/util.c:965 +msgid "Iceland" +msgstr "" + +#: src/common/util.c:966 +msgid "Italy" +msgstr "" + +#: src/common/util.c:967 +msgid "Jersey" +msgstr "" + +#: src/common/util.c:968 +msgid "Jamaica" +msgstr "" + +#: src/common/util.c:969 +msgid "Jordan" +msgstr "" + +#: src/common/util.c:970 +msgid "Japan" +msgstr "" + +#: src/common/util.c:971 +msgid "Kenya" +msgstr "" + +#: src/common/util.c:972 +msgid "Kyrgyzstan" +msgstr "" + +#: src/common/util.c:973 +msgid "Cambodia" +msgstr "" + +#: src/common/util.c:974 +msgid "Kiribati" +msgstr "" + +#: src/common/util.c:975 +msgid "Comoros" +msgstr "" + +#: src/common/util.c:976 +msgid "St. Kitts and Nevis" +msgstr "" + +#: src/common/util.c:977 +msgid "North Korea" +msgstr "" + +#: src/common/util.c:978 +msgid "South Korea" +msgstr "" + +#: src/common/util.c:979 +msgid "Kuwait" +msgstr "Kwait" + +#: src/common/util.c:980 +msgid "Cayman Islands" +msgstr "" + +#: src/common/util.c:981 +msgid "Kazakhstan" +msgstr "" + +#: src/common/util.c:982 +msgid "Laos" +msgstr "" + +#: src/common/util.c:983 +msgid "Lebanon" +msgstr "" + +#: src/common/util.c:984 +msgid "Saint Lucia" +msgstr "" + +#: src/common/util.c:985 +msgid "Liechtenstein" +msgstr "" + +#: src/common/util.c:986 +msgid "Sri Lanka" +msgstr "" + +#: src/common/util.c:987 +msgid "Liberia" +msgstr "" + +#: src/common/util.c:988 +msgid "Lesotho" +msgstr "" + +#: src/common/util.c:989 +msgid "Lithuania" +msgstr "" + +#: src/common/util.c:990 +msgid "Luxembourg" +msgstr "" + +#: src/common/util.c:991 +msgid "Latvia" +msgstr "" + +#: src/common/util.c:992 +msgid "Libya" +msgstr "" + +#: src/common/util.c:993 +msgid "Morocco" +msgstr "" + +#: src/common/util.c:994 +msgid "Monaco" +msgstr "" + +#: src/common/util.c:995 +msgid "Moldova" +msgstr "" + +#: src/common/util.c:996 +msgid "United States Medical" +msgstr "" + +#: src/common/util.c:997 +msgid "Madagascar" +msgstr "" + +#: src/common/util.c:998 +msgid "Marshall Islands" +msgstr "" + +#: src/common/util.c:999 +msgid "Military" +msgstr "" + +#: src/common/util.c:1000 +msgid "Macedonia" +msgstr "" + +#: src/common/util.c:1001 +msgid "Mali" +msgstr "" + +#: src/common/util.c:1002 +msgid "Myanmar" +msgstr "" + +#: src/common/util.c:1003 +msgid "Mongolia" +msgstr "" + +#: src/common/util.c:1004 +msgid "Macau" +msgstr "" + +#: src/common/util.c:1005 +msgid "Northern Mariana Islands" +msgstr "" + +#: src/common/util.c:1006 +msgid "Martinique" +msgstr "" + +#: src/common/util.c:1007 +msgid "Mauritania" +msgstr "" + +#: src/common/util.c:1008 +msgid "Montserrat" +msgstr "" + +#: src/common/util.c:1009 +msgid "Malta" +msgstr "" + +#: src/common/util.c:1010 +msgid "Mauritius" +msgstr "" + +#: src/common/util.c:1011 +msgid "Maldives" +msgstr "" + +#: src/common/util.c:1012 +msgid "Malawi" +msgstr "" + +#: src/common/util.c:1013 +msgid "Mexico" +msgstr "" + +#: src/common/util.c:1014 +msgid "Malaysia" +msgstr "" + +#: src/common/util.c:1015 +msgid "Mozambique" +msgstr "" + +#: src/common/util.c:1016 +msgid "Namibia" +msgstr "" + +#: src/common/util.c:1017 +msgid "New Caledonia" +msgstr "" + +#: src/common/util.c:1018 +msgid "Niger" +msgstr "" + +#: src/common/util.c:1019 +msgid "Internic Network" +msgstr "" + +#: src/common/util.c:1020 +msgid "Norfolk Island" +msgstr "" + +#: src/common/util.c:1021 +msgid "Nigeria" +msgstr "" + +#: src/common/util.c:1022 +msgid "Nicaragua" +msgstr "" + +#: src/common/util.c:1023 +msgid "Netherlands" +msgstr "" + +#: src/common/util.c:1024 +msgid "Norway" +msgstr "Noruega" + +#: src/common/util.c:1025 +msgid "Nepal" +msgstr "" + +#: src/common/util.c:1026 +msgid "Nauru" +msgstr "" + +#: src/common/util.c:1027 +msgid "Niue" +msgstr "" + +#: src/common/util.c:1028 +msgid "New Zealand" +msgstr "" + +#: src/common/util.c:1029 +msgid "Oman" +msgstr "" + +#: src/common/util.c:1030 +msgid "Internic Non-Profit Organization" +msgstr "" + +#: src/common/util.c:1031 +msgid "Panama" +msgstr "" + +#: src/common/util.c:1032 +msgid "Peru" +msgstr "" + +#: src/common/util.c:1033 +msgid "French Polynesia" +msgstr "" + +#: src/common/util.c:1034 +msgid "Papua New Guinea" +msgstr "" + +#: src/common/util.c:1035 +msgid "Philippines" +msgstr "" + +#: src/common/util.c:1036 +msgid "Pakistan" +msgstr "" + +#: src/common/util.c:1037 +msgid "Poland" +msgstr "Polônia" + +#: src/common/util.c:1038 +msgid "St. Pierre and Miquelon" +msgstr "" + +#: src/common/util.c:1039 +msgid "Pitcairn" +msgstr "" + +#: src/common/util.c:1040 +msgid "Puerto Rico" +msgstr "" + +#: src/common/util.c:1041 +msgid "Palestinian Territory" +msgstr "" + +#: src/common/util.c:1042 +msgid "Portugal" +msgstr "" + +#: src/common/util.c:1043 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:1044 +msgid "Paraguay" +msgstr "" + +#: src/common/util.c:1045 +msgid "Qatar" +msgstr "" + +#: src/common/util.c:1046 +msgid "Reunion" +msgstr "" + +#: src/common/util.c:1047 +msgid "Romania" +msgstr "" + +#: src/common/util.c:1048 +msgid "Old School ARPAnet" +msgstr "" + +#: src/common/util.c:1049 +msgid "Russian Federation" +msgstr "" + +#: src/common/util.c:1050 +msgid "Rwanda" +msgstr "" + +#: src/common/util.c:1051 +msgid "Saudi Arabia" +msgstr "" + +#: src/common/util.c:1052 +msgid "Solomon Islands" +msgstr "" + +#: src/common/util.c:1053 +msgid "Seychelles" +msgstr "" + +#: src/common/util.c:1054 +msgid "Sudan" +msgstr "Sudão" + +#: src/common/util.c:1055 +msgid "Sweden" +msgstr "" + +#: src/common/util.c:1056 +msgid "Singapore" +msgstr "" + +#: src/common/util.c:1057 +msgid "St. Helena" +msgstr "" + +#: src/common/util.c:1058 +msgid "Slovenia" +msgstr "" + +#: src/common/util.c:1059 +msgid "Svalbard and Jan Mayen Islands" +msgstr "" + +#: src/common/util.c:1060 +msgid "Slovak Republic" +msgstr "" + +#: src/common/util.c:1061 +msgid "Sierra Leone" +msgstr "" + +#: src/common/util.c:1062 +msgid "San Marino" +msgstr "" + +#: src/common/util.c:1063 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:1064 +msgid "Somalia" +msgstr "" + +#: src/common/util.c:1065 +msgid "Suriname" +msgstr "" + +#: src/common/util.c:1066 +msgid "Sao Tome and Principe" +msgstr "" + +#: src/common/util.c:1067 +msgid "Former USSR" +msgstr "" + +#: src/common/util.c:1068 +msgid "El Salvador" +msgstr "" + +#: src/common/util.c:1069 +msgid "Syria" +msgstr "" + +#: src/common/util.c:1070 +msgid "Swaziland" +msgstr "" + +#: src/common/util.c:1071 +msgid "Turks and Caicos Islands" +msgstr "" + +#: src/common/util.c:1072 +msgid "Chad" +msgstr "" + +#: src/common/util.c:1073 +msgid "French Southern Territories" +msgstr "" + +#: src/common/util.c:1074 +msgid "Togo" +msgstr "" + +#: src/common/util.c:1075 +msgid "Thailand" +msgstr "" + +#: src/common/util.c:1076 +msgid "Tajikistan" +msgstr "" + +#: src/common/util.c:1077 +msgid "Tokelau" +msgstr "" + +#: src/common/util.c:1078 src/common/util.c:1082 +msgid "East Timor" +msgstr "" + +#: src/common/util.c:1079 +msgid "Turkmenistan" +msgstr "" + +#: src/common/util.c:1080 +msgid "Tunisia" +msgstr "" + +#: src/common/util.c:1081 +msgid "Tonga" +msgstr "" + +#: src/common/util.c:1083 +msgid "Turkey" +msgstr "" + +#: src/common/util.c:1084 +msgid "Trinidad and Tobago" +msgstr "" + +#: src/common/util.c:1085 +msgid "Tuvalu" +msgstr "" + +#: src/common/util.c:1086 +msgid "Taiwan" +msgstr "" + +#: src/common/util.c:1087 +msgid "Tanzania" +msgstr "" + +#: src/common/util.c:1088 +msgid "Ukraine" +msgstr "" + +#: src/common/util.c:1089 +msgid "Uganda" +msgstr "" + +#: src/common/util.c:1090 +msgid "United Kingdom" +msgstr "" + +#: src/common/util.c:1091 +msgid "United States of America" +msgstr "" + +#: src/common/util.c:1092 +msgid "Uruguay" +msgstr "" + +#: src/common/util.c:1093 +msgid "Uzbekistan" +msgstr "" + +#: src/common/util.c:1094 +msgid "Vatican City State" +msgstr "" + +#: src/common/util.c:1095 +msgid "St. Vincent and the Grenadines" +msgstr "" + +#: src/common/util.c:1096 +msgid "Venezuela" +msgstr "" + +#: src/common/util.c:1097 +msgid "British Virgin Islands" +msgstr "" + +#: src/common/util.c:1098 +msgid "US Virgin Islands" +msgstr "" + +#: src/common/util.c:1099 +msgid "Vietnam" +msgstr "" + +#: src/common/util.c:1100 +msgid "Vanuatu" +msgstr "" + +#: src/common/util.c:1101 +msgid "Wallis and Futuna Islands" +msgstr "" + +#: src/common/util.c:1102 +msgid "Samoa" +msgstr "" + +#: src/common/util.c:1103 +msgid "Yemen" +msgstr "" + +#: src/common/util.c:1104 +msgid "Mayotte" +msgstr "" + +#: src/common/util.c:1105 +msgid "Yugoslavia" +msgstr "" + +#: src/common/util.c:1106 +msgid "South Africa" +msgstr "" + +#: src/common/util.c:1107 +msgid "Zambia" +msgstr "" + +#: src/common/util.c:1108 +msgid "Zimbabwe" +msgstr "" + +#: src/common/util.c:1118 src/common/util.c:1128 src/fe-gtk/menu.c:611 +msgid "Unknown" +msgstr "" + +#: src/common/xchat.c:726 +msgid "_Open Dialog Window" +msgstr "_Abrir automaticamente janelas de diálogo" + +#: src/common/xchat.c:727 +msgid "_Send a File" +msgstr "_Enviar um arquivo" + +#: src/common/xchat.c:728 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/xchat.c:729 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/xchat.c:730 +msgid "O_perator Actions" +msgstr "" + +#: src/common/xchat.c:732 +msgid "Give Ops" +msgstr "" + +#: src/common/xchat.c:733 +msgid "Take Ops" +msgstr "" + +#: src/common/xchat.c:734 +msgid "Give Voice" +msgstr "" + +#: src/common/xchat.c:735 +msgid "Take Voice" +msgstr "" + +#: src/common/xchat.c:737 +msgid "Kick/Ban" +msgstr "" + +#: src/common/xchat.c:738 src/common/xchat.c:775 +msgid "Kick" +msgstr "" + +#: src/common/xchat.c:739 src/common/xchat.c:740 src/common/xchat.c:741 +#: src/common/xchat.c:742 src/common/xchat.c:743 src/common/xchat.c:774 +msgid "Ban" +msgstr "Banir" + +#: src/common/xchat.c:744 src/common/xchat.c:745 src/common/xchat.c:746 +#: src/common/xchat.c:747 +msgid "KickBan" +msgstr "Expulsar" + +#: src/common/xchat.c:757 +msgid "Leave Channel" +msgstr "Sair do canal" + +#: src/common/xchat.c:758 +msgid "Join Channel..." +msgstr "Entrar no canal" + +#: src/common/xchat.c:759 src/fe-gtk/menu.c:1281 +msgid "Enter Channel to Join:" +msgstr "Informe o canal para entrar:" + +#: src/common/xchat.c:760 +msgid "Server Links" +msgstr "Links para servidores" + +#: src/common/xchat.c:761 +msgid "Ping Server" +msgstr "Servidor de ping" + +#: src/common/xchat.c:762 +msgid "Hide Version" +msgstr "Esconder versão" + +#: src/common/xchat.c:772 +msgid "Op" +msgstr "" + +#: src/common/xchat.c:773 +msgid "DeOp" +msgstr "" + +#: src/common/xchat.c:776 +msgid "bye" +msgstr "" + +#: src/common/xchat.c:777 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "" + +#: src/common/xchat.c:778 +msgid "Sendfile" +msgstr "Enviar arquivo" + +#: src/common/xchat.c:779 +msgid "Dialog" +msgstr "" + +#: src/common/xchat.c:788 +msgid "WhoIs" +msgstr "" + +#: src/common/xchat.c:789 +msgid "Send" +msgstr "Enviar" + +#: src/common/xchat.c:790 +msgid "Chat" +msgstr "Conversar" + +#: src/common/xchat.c:791 src/fe-gtk/banlist.c:413 src/fe-gtk/ignoregui.c:389 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Limpar" + +#: src/common/xchat.c:792 +msgid "Ping" +msgstr "Ping" + +#: src/common/dbus/dbus-client.c:72 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:86 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:112 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/about.c:102 +msgid "About " +msgstr "Sobre." + +#: src/fe-gtk/about.c:133 +msgid "A multiplatform IRC Client" +msgstr "" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "" + +#: src/fe-gtk/banlist.c:151 src/fe-gtk/chanlist.c:305 +#: src/fe-gtk/plugin-tray.c:302 +msgid "Not connected." +msgstr "Não conectado" + +#: src/fe-gtk/banlist.c:249 src/fe-gtk/banlist.c:329 +msgid "You must select some bans." +msgstr "" + +#: src/fe-gtk/banlist.c:278 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:344 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "" + +#: src/fe-gtk/banlist.c:345 +msgid "From" +msgstr "" + +#: src/fe-gtk/banlist.c:346 +msgid "Date" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:393 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "Xchat: Lista de banidos (%s)" + +#: src/fe-gtk/banlist.c:409 src/fe-gtk/notifygui.c:432 +msgid "Remove" +msgstr "" + +#: src/fe-gtk/banlist.c:411 +msgid "Crop" +msgstr "" + +#: src/fe-gtk/banlist.c:415 +msgid "Refresh" +msgstr "" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:526 src/fe-gtk/menu.c:1217 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "" + +#: src/fe-gtk/chanlist.c:631 src/fe-gtk/chanlist.c:799 +msgid "_Join Channel" +msgstr "E_ntrar no canal" + +#: src/fe-gtk/chanlist.c:633 +msgid "_Copy Channel Name" +msgstr "_Copiar nome do canal" + +#: src/fe-gtk/chanlist.c:635 +msgid "Copy _Topic Text" +msgstr "" + +#: src/fe-gtk/chanlist.c:724 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "Xchat: Lista de canais (%s)" + +#: src/fe-gtk/chanlist.c:781 +msgid "_Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:787 +msgid "_Download List" +msgstr "_Lista de downloads" + +#: src/fe-gtk/chanlist.c:793 +msgid "Save _List..." +msgstr "_Salvar lista..." + +#: src/fe-gtk/chanlist.c:806 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:818 +msgid "channels with" +msgstr "canais com" + +#: src/fe-gtk/chanlist.c:831 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:843 +msgid "users." +msgstr "usuários" + +#: src/fe-gtk/chanlist.c:849 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:861 +msgid "Channel name" +msgstr "Nome do canal" + +#: src/fe-gtk/chanlist.c:882 +msgid "Search type:" +msgstr "Tipo de pesquisa:" + +#: src/fe-gtk/chanlist.c:889 +msgid "Simple Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:890 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:892 +msgid "Regular Expression" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Encontrar:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "" + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:507 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "" + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:756 src/fe-gtk/dccgui.c:995 src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "" + +#: src/fe-gtk/dccgui.c:757 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "" + +#: src/fe-gtk/dccgui.c:787 src/fe-gtk/menu.c:1593 +msgid "Both" +msgstr "Ambos" + +#: src/fe-gtk/dccgui.c:793 +msgid "Uploads" +msgstr "" + +#: src/fe-gtk/dccgui.c:799 +msgid "Downloads" +msgstr "Downloads" + +#: src/fe-gtk/dccgui.c:804 +msgid "Details" +msgstr "" + +#: src/fe-gtk/dccgui.c:815 +msgid "File:" +msgstr "Arquivo" + +#: src/fe-gtk/dccgui.c:816 +msgid "Address:" +msgstr "Endereço:" + +#: src/fe-gtk/dccgui.c:822 src/fe-gtk/dccgui.c:1019 +msgid "Abort" +msgstr "" + +#: src/fe-gtk/dccgui.c:823 src/fe-gtk/dccgui.c:1020 +msgid "Accept" +msgstr "" + +#: src/fe-gtk/dccgui.c:824 +msgid "Resume" +msgstr "" + +#: src/fe-gtk/dccgui.c:825 +msgid "Open Folder..." +msgstr "" + +#: src/fe-gtk/dccgui.c:985 +msgid "XChat: DCC Chat List" +msgstr "Xchat: Lista de conversas DCC" + +#: src/fe-gtk/dccgui.c:997 +msgid "Recv" +msgstr "" + +#: src/fe-gtk/dccgui.c:998 +msgid "Sent" +msgstr "" + +#: src/fe-gtk/dccgui.c:999 +msgid "Start Time" +msgstr "" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/notifygui.c:137 +#: src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Comando" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Cancelar" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:387 +msgid "Delete" +msgstr "" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Ajuda" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "Não conectar automaticamente aos servidores" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:133 src/fe-gtk/setup.c:212 +msgid "Execute command:" +msgstr "Executar comando:" + +#: src/fe-gtk/fe-gtk.c:134 +msgid "Open URL or execute command in an existing XChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "level" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:137 +msgid "Show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:257 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:636 +msgid "Search buffer is empty.\n" +msgstr "Buffer de pesquisa está vazio.\n" + +#: src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "%d bytes" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:733 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1635 src/fe-gtk/maingui.c:1751 +#: src/fe-gtk/maingui.c:3252 +msgid "<none>" +msgstr "" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "" + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "" + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "" + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:264 +msgid "That mask already exists." +msgstr "" + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:2132 +msgid "Private" +msgstr "" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Convidar" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Não ignorar" + +#: src/fe-gtk/ignoregui.c:308 +msgid "Enter mask to ignore:" +msgstr "Informe a mascara para ignorar" + +#: src/fe-gtk/ignoregui.c:355 +msgid "XChat: Ignore list" +msgstr "Xchat: Lista de ignorados" + +#: src/fe-gtk/ignoregui.c:362 +msgid "Ignore Stats:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Channel:" +msgstr "Canal:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Private:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Notice:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:373 +msgid "CTCP:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:374 +msgid "Invite:" +msgstr "Convidar:" + +#: src/fe-gtk/ignoregui.c:385 src/fe-gtk/notifygui.c:428 +msgid "Add..." +msgstr "Adicionar..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "Xchat: Conexão completa" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "Conexão com %s completa." + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "_Entrar neste canal:" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "_Abrir a janela de lista de canais." + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:506 +msgid "Dialog with" +msgstr "Diálogo com" + +#: src/fe-gtk/maingui.c:793 +#, c-format +msgid "Topic for %s is: %s" +msgstr "" + +#: src/fe-gtk/maingui.c:798 +msgid "No topic is set" +msgstr "" + +#: src/fe-gtk/maingui.c:1182 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1276 +msgid "Quit XChat?" +msgstr "Sair do Xchat?" + +#: src/fe-gtk/maingui.c:1297 +msgid "Don't ask next time." +msgstr "" + +#: src/fe-gtk/maingui.c:1303 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1305 +msgid "Are you sure you want to quit?" +msgstr "" + +#: src/fe-gtk/maingui.c:1307 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1325 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1545 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1547 +msgid "<b>Bold</b>" +msgstr "" + +#: src/fe-gtk/maingui.c:1548 +msgid "<u>Underline</u>" +msgstr "" + +#: src/fe-gtk/maingui.c:1550 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1552 +msgid "Colors 0-7" +msgstr "Cores 0-7" + +#: src/fe-gtk/maingui.c:1562 +msgid "Colors 8-15" +msgstr "Cores 9-15" + +#: src/fe-gtk/maingui.c:1605 +msgid "_Settings" +msgstr "_Configurações" + +#: src/fe-gtk/maingui.c:1607 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1608 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1610 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1618 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1620 +msgid "Beep on _Message" +msgstr "Apitar em mensagens" + +#: src/fe-gtk/maingui.c:1621 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1622 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1660 src/fe-gtk/menu.c:2124 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1662 src/fe-gtk/menu.c:2125 src/fe-gtk/menu.c:2130 +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "_Fechar" + +#: src/fe-gtk/maingui.c:2000 src/fe-gtk/maingui.c:2106 +msgid "User limit must be a number!\n" +msgstr "" + +#: src/fe-gtk/maingui.c:2128 +msgid "Topic Protection" +msgstr "" + +#: src/fe-gtk/maingui.c:2129 +msgid "No outside messages" +msgstr "" + +#: src/fe-gtk/maingui.c:2130 +msgid "Secret" +msgstr "" + +#: src/fe-gtk/maingui.c:2131 +msgid "Invite Only" +msgstr "" + +#: src/fe-gtk/maingui.c:2133 +msgid "Moderated" +msgstr "" + +#: src/fe-gtk/maingui.c:2134 +msgid "Ban List" +msgstr "Lista de banidos" + +#: src/fe-gtk/maingui.c:2136 +msgid "Keyword" +msgstr "" + +#: src/fe-gtk/maingui.c:2148 +msgid "User Limit" +msgstr "Limite do usuário" + +#: src/fe-gtk/maingui.c:2257 +msgid "Show/Hide userlist" +msgstr "" + +#: src/fe-gtk/maingui.c:2382 +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 "" + +#: src/fe-gtk/maingui.c:2653 +msgid "Enter new nickname:" +msgstr "" + +#: src/fe-gtk/menu.c:126 +msgid "Host unknown" +msgstr "" + +#: src/fe-gtk/menu.c:610 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "" + +#: src/fe-gtk/menu.c:616 src/fe-gtk/menu.c:620 +msgid "Real Name:" +msgstr "Nome real:" + +#: src/fe-gtk/menu.c:624 +msgid "User:" +msgstr "Usuário:" + +#: src/fe-gtk/menu.c:628 +msgid "Country:" +msgstr "País" + +#: src/fe-gtk/menu.c:632 +msgid "Server:" +msgstr "Servidor:" + +#: src/fe-gtk/menu.c:640 +#, c-format +msgid "%u minutes ago" +msgstr "" + +#: src/fe-gtk/menu.c:642 src/fe-gtk/menu.c:645 +msgid "Last Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:655 +msgid "Away Msg:" +msgstr "Mensagem de ausência:" + +#: src/fe-gtk/menu.c:710 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:835 +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 "" + +#: src/fe-gtk/menu.c:930 +msgid "Open Link in Browser" +msgstr "" + +#: src/fe-gtk/menu.c:931 +msgid "Copy Selected Link" +msgstr "" + +#: src/fe-gtk/menu.c:993 src/fe-gtk/menu.c:1264 +msgid "Join Channel" +msgstr "" + +#: src/fe-gtk/menu.c:997 +msgid "Part Channel" +msgstr "" + +#: src/fe-gtk/menu.c:999 +msgid "Cycle Channel" +msgstr "Ciclo do canal" + +#: src/fe-gtk/menu.c:1035 +msgid "_Remove from Favorites" +msgstr "" + +#: src/fe-gtk/menu.c:1037 +msgid "_Add to Favorites" +msgstr "" + +#: src/fe-gtk/menu.c:1056 +msgid "XChat: User menu" +msgstr "X-Chat: Menu do usuário" + +#: src/fe-gtk/menu.c:1065 +msgid "Edit This Menu..." +msgstr "Editar este menu..." + +#: src/fe-gtk/menu.c:1266 +msgid "Retrieve channel list..." +msgstr "Obter lista de canais..." + +#: src/fe-gtk/menu.c:1334 +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 = xchat 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 "" + +#: src/fe-gtk/menu.c:1350 +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 "" + +#: src/fe-gtk/menu.c:1360 +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 "" + +#: src/fe-gtk/menu.c:1370 +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 "" + +#: src/fe-gtk/menu.c:1381 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" + +#: src/fe-gtk/menu.c:1390 +msgid "XChat: User Defined Commands" +msgstr "X-Chat: Comandos preferenciais do usuário" + +#: src/fe-gtk/menu.c:1397 +msgid "XChat: Userlist Popup menu" +msgstr "Xchat: Menu contextual da lista de usuários" + +#: src/fe-gtk/menu.c:1404 +msgid "Replace with" +msgstr "" + +#: src/fe-gtk/menu.c:1404 +msgid "XChat: Replace" +msgstr "X-Chat: Substituir" + +#: src/fe-gtk/menu.c:1411 +msgid "XChat: URL Handlers" +msgstr "Xchat: Manipuladores de URL" + +#: src/fe-gtk/menu.c:1430 +msgid "XChat: Userlist buttons" +msgstr "Xchat: Botões da lista de usuários.." + +#: src/fe-gtk/menu.c:1437 +msgid "XChat: Dialog buttons" +msgstr "Xchat: Botões de diálogo" + +#: src/fe-gtk/menu.c:1444 +msgid "XChat: CTCP Replies" +msgstr "Xchat: Respostas de CTCP.." + +#: src/fe-gtk/menu.c:1550 +msgid "_XChat" +msgstr "_Xchat" + +#: src/fe-gtk/menu.c:1551 +msgid "Network Li_st..." +msgstr "Li_sta de redes..." + +#: src/fe-gtk/menu.c:1554 +msgid "_New" +msgstr "" + +#: src/fe-gtk/menu.c:1555 +msgid "Server Tab..." +msgstr "Aba de servidor..." + +#: src/fe-gtk/menu.c:1556 +msgid "Channel Tab..." +msgstr "Aba de canal..." + +#: src/fe-gtk/menu.c:1557 +msgid "Server Window..." +msgstr "Janela de servidor..." + +#: src/fe-gtk/menu.c:1558 +msgid "Channel Window..." +msgstr "Janela de canal..." + +#: src/fe-gtk/menu.c:1563 src/fe-gtk/menu.c:1565 +msgid "_Load Plugin or Script..." +msgstr "Carregar plug-in ou script..." + +#: src/fe-gtk/menu.c:1573 src/fe-gtk/plugin-tray.c:604 +msgid "_Quit" +msgstr "_Sair" + +#: src/fe-gtk/menu.c:1575 +msgid "_View" +msgstr "" + +#: src/fe-gtk/menu.c:1577 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1578 +msgid "_Topic Bar" +msgstr "Barra de _tópico" + +#: src/fe-gtk/menu.c:1579 +msgid "_User List" +msgstr "Lista de _usuários" + +#: src/fe-gtk/menu.c:1580 +msgid "U_serlist Buttons" +msgstr "Botões da lista de u_suários" + +#: src/fe-gtk/menu.c:1581 +msgid "M_ode Buttons" +msgstr "Botões de m_odos do canal" + +#: src/fe-gtk/menu.c:1583 +msgid "_Channel Switcher" +msgstr "Alternador de _canais" + +#: src/fe-gtk/menu.c:1585 +msgid "_Tabs" +msgstr "_Abas" + +#: src/fe-gtk/menu.c:1586 +msgid "T_ree" +msgstr "" + +#: src/fe-gtk/menu.c:1588 +msgid "_Network Meters" +msgstr "" + +#: src/fe-gtk/menu.c:1590 +msgid "Off" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +msgid "Graph" +msgstr "" + +#: src/fe-gtk/menu.c:1596 +msgid "_Server" +msgstr "_Servidor" + +#: src/fe-gtk/menu.c:1597 +msgid "_Disconnect" +msgstr "_Desconectar" + +#: src/fe-gtk/menu.c:1598 +msgid "_Reconnect" +msgstr "_Reconectar" + +#: src/fe-gtk/menu.c:1599 +msgid "Join a Channel..." +msgstr "Entrar num canal..." + +#: src/fe-gtk/menu.c:1600 +msgid "List of Channels..." +msgstr "Lista de canais..." + +#: src/fe-gtk/menu.c:1603 +msgid "Marked Away" +msgstr "Ficar ausente" + +#: src/fe-gtk/menu.c:1605 +msgid "_Usermenu" +msgstr "Menu do _usuário" + +#: src/fe-gtk/menu.c:1607 +msgid "S_ettings" +msgstr "Configuraçõ_es" + +#: src/fe-gtk/menu.c:1608 +msgid "_Preferences" +msgstr "_Preferências" + +#: src/fe-gtk/menu.c:1610 +msgid "Advanced" +msgstr "" + +#: src/fe-gtk/menu.c:1611 +msgid "Auto Replace..." +msgstr "Auto substituir..." + +#: src/fe-gtk/menu.c:1612 +msgid "CTCP Replies..." +msgstr "Respostas de CTCP..." + +#: src/fe-gtk/menu.c:1613 +msgid "Dialog Buttons..." +msgstr "Botões de diálogos..." + +#: src/fe-gtk/menu.c:1614 +msgid "Keyboard Shortcuts..." +msgstr "" + +#: src/fe-gtk/menu.c:1615 +msgid "Text Events..." +msgstr "Textos de eventos..." + +#: src/fe-gtk/menu.c:1616 +msgid "URL Handlers..." +msgstr "Manipuladores de URL..." + +#: src/fe-gtk/menu.c:1617 +msgid "User Commands..." +msgstr "Comandos do usuário..." + +#: src/fe-gtk/menu.c:1618 +msgid "Userlist Buttons..." +msgstr "Botões da lista de usuários..." + +#: src/fe-gtk/menu.c:1619 +#, fuzzy +msgid "Userlist Popup..." +msgstr "Menu contextual da lista de usuários.." + +#: src/fe-gtk/menu.c:1622 +msgid "_Window" +msgstr "_Janelas" + +#: src/fe-gtk/menu.c:1623 +#, fuzzy +msgid "Ban List..." +msgstr "Janela da lista de canais.." + +#: src/fe-gtk/menu.c:1624 +msgid "Character Chart..." +msgstr "" + +#: src/fe-gtk/menu.c:1625 +#, fuzzy +msgid "Direct Chat..." +msgstr "Janela de DCC Chat.." + +#: src/fe-gtk/menu.c:1626 +msgid "File Transfers..." +msgstr "Transferência de arquivos..." + +#: src/fe-gtk/menu.c:1627 +#, fuzzy +msgid "Friends List..." +msgstr "Janela da lista de canais.." + +#: src/fe-gtk/menu.c:1628 +#, fuzzy +msgid "Ignore List..." +msgstr "Janela de ignorância.." + +#: src/fe-gtk/menu.c:1629 +#, fuzzy +msgid "Plugins and Scripts..." +msgstr "Lista de plugins" + +#: src/fe-gtk/menu.c:1630 +#, fuzzy +msgid "Raw Log..." +msgstr "Janela de log cru.." + +#: src/fe-gtk/menu.c:1631 +#, fuzzy +msgid "URL Grabber..." +msgstr "Janela de captura de URLs.." + +#: src/fe-gtk/menu.c:1633 +msgid "Reset Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1634 +#, fuzzy +msgid "C_lear Text" +msgstr "Fechar" + +#: src/fe-gtk/menu.c:1636 +#, fuzzy +msgid "Search Text..." +msgstr "Procurar no buffer.." + +#: src/fe-gtk/menu.c:1637 +#, fuzzy +msgid "Save Text..." +msgstr "Editar textos de eventos.." + +#: src/fe-gtk/menu.c:1639 src/fe-gtk/menu.c:2116 +msgid "_Help" +msgstr "_Ajuda" + +#: src/fe-gtk/menu.c:1640 +#, fuzzy +msgid "_Contents" +msgstr "Tempo esgotado para notificação" + +#: src/fe-gtk/menu.c:1642 +msgid "Check for updates" +msgstr "" + +#: src/fe-gtk/menu.c:1644 +#, fuzzy +msgid "_About" +msgstr "Sobre o X-Chat.." + +#: src/fe-gtk/menu.c:2129 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:140 +#, fuzzy +msgid "Last Seen" +msgstr "Rápido envio de arquivos" + +#: src/fe-gtk/notifygui.c:182 +msgid "Offline" +msgstr "" + +#: src/fe-gtk/notifygui.c:202 src/fe-gtk/setup.c:231 +msgid "Never" +msgstr "" + +#: src/fe-gtk/notifygui.c:205 src/fe-gtk/notifygui.c:230 +#, c-format +msgid "%d minutes ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:220 +#, fuzzy +msgid "Online" +msgstr "Documentação em linha.." + +#: src/fe-gtk/notifygui.c:349 +msgid "Enter nickname to add:" +msgstr "" + +#: src/fe-gtk/notifygui.c:378 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:389 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:415 +#, fuzzy +msgid "XChat: Friends List" +msgstr "Rápido envio de arquivos" + +#: src/fe-gtk/notifygui.c:436 +#, fuzzy +msgid "Open Dialog" +msgstr "Automaticamente abrir janelas de diálogo" + +#: src/fe-gtk/plugin-tray.c:248 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" + +#: src/fe-gtk/plugin-tray.c:299 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:583 +msgid "_Restore" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:585 +#, fuzzy +msgid "_Hide" +msgstr "Escondido" + +#: src/fe-gtk/plugin-tray.c:588 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:589 src/fe-gtk/setup.c:479 +#, fuzzy +msgid "Channel Message" +msgstr "Abas de canal" + +#: src/fe-gtk/plugin-tray.c:590 src/fe-gtk/setup.c:480 +#, fuzzy +msgid "Private Message" +msgstr "Abas de mensagens privadas" + +#: src/fe-gtk/plugin-tray.c:591 src/fe-gtk/setup.c:481 +#, fuzzy +msgid "Highlighted Message" +msgstr "Destacar notificações" + +#: src/fe-gtk/plugin-tray.c:594 +#, fuzzy +msgid "_Change status" +msgstr "Abas de canal" + +#: src/fe-gtk/plugin-tray.c:596 +#, fuzzy +msgid "_Away" +msgstr "Ficar ausente" + +#: src/fe-gtk/plugin-tray.c:599 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:648 src/fe-gtk/plugin-tray.c:656 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:651 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:674 src/fe-gtk/plugin-tray.c:681 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:677 +#, c-format +msgid "XChat: %u new public messages." +msgstr "" + +#: src/fe-gtk/plugin-tray.c:703 src/fe-gtk/plugin-tray.c:710 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:706 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:756 src/fe-gtk/plugin-tray.c:764 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:759 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugingui.c:74 +#, fuzzy +msgid "Version" +msgstr "Esconder versão" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "" + +#: src/fe-gtk/plugingui.c:223 +#, fuzzy +msgid "XChat: Plugins and Scripts" +msgstr "Todos os plugins" + +#: src/fe-gtk/plugingui.c:229 +#, fuzzy +msgid "_Load..." +msgstr "Carregar" + +#: src/fe-gtk/plugingui.c:232 +#, fuzzy +msgid "_UnLoad" +msgstr "Carregar" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:438 +#: src/fe-gtk/urlgrab.c:205 +#, fuzzy +msgid "Save As..." +msgstr "Editar textos de eventos.." + +#: src/fe-gtk/rawlog.c:97 +#, fuzzy, c-format +msgid "XChat: Rawlog (%s)" +msgstr "Botões da lista de usuários.." + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "" + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "" + +#: src/fe-gtk/search.c:109 +#, fuzzy +msgid "XChat: Search" +msgstr "X-Chat: Preferências" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "" + +#: src/fe-gtk/search.c:146 +#, fuzzy +msgid "_Find" +msgstr "Fonte:" + +#: src/fe-gtk/servlistgui.c:171 src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:558 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "" + +#: src/fe-gtk/servlistgui.c:740 +#, fuzzy +msgid "#channel" +msgstr "Cancelar" + +#: src/fe-gtk/servlistgui.c:847 +msgid "XChat: Favorite Channels (Auto-Join List)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:859 +#, c-format +msgid "These channels will be joined whenever you connect to %s." +msgstr "" + +#: src/fe-gtk/servlistgui.c:902 +#, fuzzy +msgid "Key (Password)" +msgstr "Lista de servidores.." + +#: src/fe-gtk/servlistgui.c:933 src/fe-gtk/servlistgui.c:1535 +msgid "_Edit" +msgstr "" + +#: src/fe-gtk/servlistgui.c:969 +#, c-format +msgid "%s has been removed." +msgstr "" + +#: src/fe-gtk/servlistgui.c:989 +#, c-format +msgid "%s has been added." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1013 +msgid "User name and Real name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1366 +#, fuzzy, c-format +msgid "XChat: Edit %s" +msgstr "Botões da lista de usuários.." + +#: src/fe-gtk/servlistgui.c:1385 +#, fuzzy, c-format +msgid "Servers for %s" +msgstr "Lista de servidores.." + +#: src/fe-gtk/servlistgui.c:1396 +msgid "Connect to selected server only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1397 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1399 +#, fuzzy +msgid "Your Details" +msgstr "Suas opções de IRC" + +#: src/fe-gtk/servlistgui.c:1405 +#, fuzzy +msgid "Use global user information" +msgstr "Menu do usuário" + +#: src/fe-gtk/servlistgui.c:1408 src/fe-gtk/servlistgui.c:1640 +#, fuzzy +msgid "_Nick name:" +msgstr "Completação de nickname" + +#: src/fe-gtk/servlistgui.c:1412 src/fe-gtk/servlistgui.c:1647 +#, fuzzy +msgid "Second choice:" +msgstr "Diretório de sons:" + +#: src/fe-gtk/servlistgui.c:1416 src/fe-gtk/servlistgui.c:1661 +#, fuzzy +msgid "_User name:" +msgstr "Menu do usuário" + +#: src/fe-gtk/servlistgui.c:1420 src/fe-gtk/servlistgui.c:1668 +#, fuzzy +msgid "Rea_l name:" +msgstr "Abas de canal" + +#: src/fe-gtk/servlistgui.c:1423 +#, fuzzy +msgid "Connecting" +msgstr "Tempo esgotado para notificação" + +#: src/fe-gtk/servlistgui.c:1429 +#, fuzzy +msgid "Auto connect to this network at startup" +msgstr "Recortar automaticamente" + +#: src/fe-gtk/servlistgui.c:1431 +#, fuzzy +msgid "Bypass proxy server" +msgstr "Nova aba de servidor.." + +#: src/fe-gtk/servlistgui.c:1433 +msgid "Use SSL for all the servers on this network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1438 +msgid "Accept invalid SSL certificate" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1444 +#, fuzzy +msgid "_Favorite channels:" +msgstr "Nova aba de canal.." + +#: src/fe-gtk/servlistgui.c:1446 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1449 +#, fuzzy +msgid "Connect command:" +msgstr "Tempo esgotado para notificação" + +#: src/fe-gtk/servlistgui.c:1451 +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 "" + +#: src/fe-gtk/servlistgui.c:1454 +#, fuzzy +msgid "Nickserv password:" +msgstr "Lista de servidores.." + +#: src/fe-gtk/servlistgui.c:1456 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1460 +#, fuzzy +msgid "Server password:" +msgstr "Lista de servidores.." + +#: src/fe-gtk/servlistgui.c:1462 +msgid "Password for the server, if in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1465 +msgid "Character set:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1618 +#, fuzzy +msgid "XChat: Network List" +msgstr "Lista de servidores.." + +#: src/fe-gtk/servlistgui.c:1630 +msgid "User Information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1654 +msgid "Third choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1714 +msgid "Networks" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1755 +#, fuzzy +msgid "Skip network list on startup" +msgstr "Sem lista de servidores ao iniciar" + +#: src/fe-gtk/servlistgui.c:1787 +#, fuzzy +msgid "_Edit..." +msgstr "Carregar" + +#: src/fe-gtk/servlistgui.c:1794 +msgid "_Sort" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1795 +msgid "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1820 +#, fuzzy +msgid "C_onnect" +msgstr "Tempo esgotado para notificação" + +#: src/fe-gtk/setup.c:104 +#, fuzzy +msgid "Text Box Appearance" +msgstr "Aparência" + +#: src/fe-gtk/setup.c:105 +msgid "Font:" +msgstr "Fonte:" + +#: src/fe-gtk/setup.c:106 +#, fuzzy +msgid "Background image:" +msgstr "Imagem de fundo:" + +#: src/fe-gtk/setup.c:107 +msgid "Scrollback lines:" +msgstr "" + +#: src/fe-gtk/setup.c:108 +#, fuzzy +msgid "Colored nick names" +msgstr "Nicks coloridos" + +#: src/fe-gtk/setup.c:109 +msgid "Give each person on IRC a different color" +msgstr "" + +#: src/fe-gtk/setup.c:110 +#, fuzzy +msgid "Indent nick names" +msgstr "Recortar nicks" + +#: src/fe-gtk/setup.c:111 +#, fuzzy +msgid "Make nick names right-justified" +msgstr "Faz os nicknames serem justificados para a direita." + +#: src/fe-gtk/setup.c:112 +#, fuzzy +msgid "Transparent background" +msgstr "Fundo transparente" + +#: src/fe-gtk/setup.c:113 +#, fuzzy +msgid "Show marker line" +msgstr "Mostrar mensagem de ausência somente uma vez" + +#: src/fe-gtk/setup.c:114 +msgid "Insert a red line after the last read text." +msgstr "" + +#: src/fe-gtk/setup.c:115 +#, fuzzy +msgid "Transparency Settings" +msgstr "Opções de transferência de arquivos" + +#: src/fe-gtk/setup.c:116 +msgid "Red:" +msgstr "Vermelho:" + +#: src/fe-gtk/setup.c:117 +msgid "Green:" +msgstr "Verde:" + +#: src/fe-gtk/setup.c:118 +msgid "Blue:" +msgstr "Azul:" + +#: src/fe-gtk/setup.c:120 src/fe-gtk/setup.c:391 +#, fuzzy +msgid "Time Stamps" +msgstr "Pôr a hora atual em todo o texto" + +#: src/fe-gtk/setup.c:121 +#, fuzzy +msgid "Enable time stamps" +msgstr "Pôr a hora atual em todo o texto" + +#: src/fe-gtk/setup.c:122 +#, fuzzy +msgid "Time stamp format:" +msgstr "Pôr a hora atual em todo o texto" + +#: src/fe-gtk/setup.c:123 src/fe-gtk/setup.c:394 +msgid "See strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:130 src/fe-gtk/setup.c:170 +msgid "A-Z" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:137 src/fe-gtk/setup.c:1701 +#, fuzzy +msgid "Input box" +msgstr "Caixa de digitação" + +#: src/fe-gtk/setup.c:138 src/fe-gtk/setup.c:202 +msgid "Use the Text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Spell checking" +msgstr "" + +#: src/fe-gtk/setup.c:143 +#, fuzzy +msgid "Nick Completion" +msgstr "Completação de nickname" + +#: src/fe-gtk/setup.c:144 +msgid "Automatic nick completion (without TAB key)" +msgstr "" + +#: src/fe-gtk/setup.c:146 +#, fuzzy +msgid "Nick completion suffix:" +msgstr "Completação de nickname" + +#: src/fe-gtk/setup.c:147 +#, fuzzy +msgid "Nick completion sorted:" +msgstr "Completação de nickname" + +#: src/fe-gtk/setup.c:150 +#, fuzzy +msgid "Input Box Codes" +msgstr "Caixa de digitação" + +#: src/fe-gtk/setup.c:151 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "" + +#: src/fe-gtk/setup.c:169 +msgid "A-Z, Ops first" +msgstr "A-Z, Operadores em primeiro" + +#: src/fe-gtk/setup.c:171 +msgid "Z-A, Ops last" +msgstr "Z-A, Operadores por último" + +#: src/fe-gtk/setup.c:172 +msgid "Z-A" +msgstr "" + +#: src/fe-gtk/setup.c:173 +msgid "Unsorted" +msgstr "Não sortir" + +#: src/fe-gtk/setup.c:179 src/fe-gtk/setup.c:191 +msgid "Left (Upper)" +msgstr "" + +#: src/fe-gtk/setup.c:180 src/fe-gtk/setup.c:192 +msgid "Left (Lower)" +msgstr "" + +#: src/fe-gtk/setup.c:181 src/fe-gtk/setup.c:193 +msgid "Right (Upper)" +msgstr "" + +#: src/fe-gtk/setup.c:182 src/fe-gtk/setup.c:194 +msgid "Right (Lower)" +msgstr "" + +#: src/fe-gtk/setup.c:183 +msgid "Top" +msgstr "Alto" + +#: src/fe-gtk/setup.c:184 +msgid "Bottom" +msgstr "Baixo" + +#: src/fe-gtk/setup.c:185 +msgid "Hidden" +msgstr "Escondido" + +#: src/fe-gtk/setup.c:200 +msgid "User List" +msgstr "Lista de usuários" + +#: src/fe-gtk/setup.c:201 +#, fuzzy +msgid "Show hostnames in user list" +msgstr "Destaca usuários notificados na lista de usuários" + +#: src/fe-gtk/setup.c:204 +#, fuzzy +msgid "User list sorted by:" +msgstr "Lista de usuários sortida por:" + +#: src/fe-gtk/setup.c:205 +#, fuzzy +msgid "Show user list at:" +msgstr "Sem lista de servidores ao iniciar" + +#: src/fe-gtk/setup.c:207 +#, fuzzy +msgid "Away tracking" +msgstr "Opções de ausência" + +#: src/fe-gtk/setup.c:208 +msgid "Track the Away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:209 +#, fuzzy +msgid "On channels smaller than:" +msgstr "Abas de canal" + +#: src/fe-gtk/setup.c:211 +msgid "Action Upon Double Click" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "Windows" +msgstr "Janelas" + +#: src/fe-gtk/setup.c:224 src/fe-gtk/setup.c:240 +msgid "Tabs" +msgstr "Abas" + +#: src/fe-gtk/setup.c:232 +#, fuzzy +msgid "Always" +msgstr "Ficar ausente" + +#: src/fe-gtk/setup.c:233 +msgid "Only requested tabs" +msgstr "" + +#: src/fe-gtk/setup.c:242 +#, fuzzy +msgid "Tree" +msgstr "Verde:" + +#: src/fe-gtk/setup.c:249 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:250 +#, fuzzy +msgid "Open an extra tab for server messages" +msgstr "Usar uma aba/janela separada para mensagens do servidor" + +#: src/fe-gtk/setup.c:251 +#, fuzzy +msgid "Open an extra tab for server notices" +msgstr "Usar uma aba/janela separada para mensagens do servidor" + +#: src/fe-gtk/setup.c:252 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:253 +msgid "Sort tabs in alphabetical order" +msgstr "" + +#: src/fe-gtk/setup.c:254 +#, fuzzy +msgid "Smaller text" +msgstr "Fechar" + +#: src/fe-gtk/setup.c:256 +msgid "Focus new tabs:" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Shorten tab labels to:" +msgstr "" + +#: src/fe-gtk/setup.c:259 +#, fuzzy +msgid "letters." +msgstr "Paleta.." + +#: src/fe-gtk/setup.c:261 +#, fuzzy +msgid "Tabs or Windows" +msgstr "Janelas de diálogo" + +#: src/fe-gtk/setup.c:262 +#, fuzzy +msgid "Open channels in:" +msgstr "Abas de canal" + +#: src/fe-gtk/setup.c:263 +#, fuzzy +msgid "Open dialogs in:" +msgstr "Automaticamente abrir janelas de diálogo" + +#: src/fe-gtk/setup.c:264 +msgid "Open utilities in:" +msgstr "" + +#: src/fe-gtk/setup.c:264 +#, fuzzy +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Usar abas para janelas de DCC, ignorância, notificação etc." + +#: src/fe-gtk/setup.c:271 +msgid "No" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Yes" +msgstr "" + +#: src/fe-gtk/setup.c:273 +msgid "Browse for save folder every time" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Files and Directories" +msgstr "" + +#: src/fe-gtk/setup.c:280 +#, fuzzy +msgid "Auto accept file offers:" +msgstr "Automaticamente aceitar receber arquivos" + +#: src/fe-gtk/setup.c:281 +#, fuzzy +msgid "Download files to:" +msgstr "Diretório de sons:" + +#: src/fe-gtk/setup.c:282 +#, fuzzy +msgid "Move completed files to:" +msgstr "Diretório de sons:" + +#: src/fe-gtk/setup.c:283 +#, fuzzy +msgid "Save nick name in filenames" +msgstr "Põe o nickname de quem envia em nomes de arquivos recebidos" + +#: src/fe-gtk/setup.c:285 +#, fuzzy +msgid "Network Settings" +msgstr "Outras opções de disposição" + +#: src/fe-gtk/setup.c:286 +msgid "Get my address from the IRC server" +msgstr "" + +#: src/fe-gtk/setup.c:287 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "" + +#: src/fe-gtk/setup.c:288 +#, fuzzy +msgid "DCC IP address:" +msgstr "Endereço IP" + +#: src/fe-gtk/setup.c:289 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:290 +#, fuzzy +msgid "First DCC send port:" +msgstr "Rápido envio de arquivos" + +#: src/fe-gtk/setup.c:291 +#, fuzzy +msgid "Last DCC send port:" +msgstr "Rápido envio de arquivos" + +#: src/fe-gtk/setup.c:292 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:294 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "One upload:" +msgstr "" + +#: src/fe-gtk/setup.c:296 src/fe-gtk/setup.c:298 +msgid "Maximum speed for one transfer" +msgstr "" + +#: src/fe-gtk/setup.c:297 +msgid "One download:" +msgstr "" + +#: src/fe-gtk/setup.c:299 +msgid "All uploads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:300 src/fe-gtk/setup.c:302 +msgid "Maximum speed for all files" +msgstr "" + +#: src/fe-gtk/setup.c:301 +msgid "All downloads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:329 src/fe-gtk/setup.c:1707 +msgid "Alerts" +msgstr "" + +#: src/fe-gtk/setup.c:333 +msgid "Show tray balloons on:" +msgstr "" + +#: src/fe-gtk/setup.c:335 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:337 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:339 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:341 +#, fuzzy +msgid "Highlighted Messages" +msgstr "Opções de destaque" + +#: src/fe-gtk/setup.c:342 +msgid "Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:344 +#, fuzzy +msgid "Extra words to highlight:" +msgstr "Palavras extras a serem destacadas:" + +#: src/fe-gtk/setup.c:345 +#, fuzzy +msgid "Nick names not to highlight:" +msgstr "Palavras extras a serem destacadas:" + +#: src/fe-gtk/setup.c:346 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:347 +#, fuzzy +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "(separar com vírgulas)" + +#: src/fe-gtk/setup.c:353 +#, fuzzy +msgid "Default Messages" +msgstr "Mensagem de saída:" + +#: src/fe-gtk/setup.c:354 +#, fuzzy +msgid "Quit:" +msgstr "Sair" + +#: src/fe-gtk/setup.c:355 +#, fuzzy +msgid "Leave channel:" +msgstr "Cancelar" + +#: src/fe-gtk/setup.c:356 +#, fuzzy +msgid "Away:" +msgstr "Ficar ausente" + +#: src/fe-gtk/setup.c:358 +msgid "Away" +msgstr "Ficar ausente" + +#: src/fe-gtk/setup.c:359 +#, fuzzy +msgid "Announce away messages" +msgstr "Anunciar mensagens de ausência" + +#: src/fe-gtk/setup.c:360 +#, fuzzy +msgid "Announce your away messages to all channels" +msgstr "Anuncia sua mensagem de ausência para os canais nos quais você está" + +#: src/fe-gtk/setup.c:361 +msgid "Show away once" +msgstr "Mostrar mensagem de ausência somente uma vez" + +#: src/fe-gtk/setup.c:361 +msgid "Show identical away messages only once" +msgstr "" + +#: src/fe-gtk/setup.c:362 +#, fuzzy +msgid "Automatically unmark away" +msgstr "Automaticamente abre janela de DCC Chat" + +#: src/fe-gtk/setup.c:362 +msgid "Unmark yourself as away before sending messages" +msgstr "" + +#: src/fe-gtk/setup.c:369 +#, fuzzy +msgid "Advanced Settings" +msgstr "Opções de ausência" + +#: src/fe-gtk/setup.c:370 +#, fuzzy +msgid "Auto reconnect delay:" +msgstr "Intervalo para automaticamente reconectar:" + +#: src/fe-gtk/setup.c:371 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:372 +msgid "Whois on notify" +msgstr "" + +#: src/fe-gtk/setup.c:372 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "" + +#: src/fe-gtk/setup.c:373 +#, fuzzy +msgid "Hide join and part messages" +msgstr "Beepar em mensagens privadas" + +#: src/fe-gtk/setup.c:373 +msgid "Hide channel join/part messages by default" +msgstr "" + +#: src/fe-gtk/setup.c:374 +#, fuzzy +msgid "Auto Open DCC Windows" +msgstr "Automaticamente abrir janelas de diálogo" + +#: src/fe-gtk/setup.c:375 +#, fuzzy +msgid "Send window" +msgstr "Janela principal" + +#: src/fe-gtk/setup.c:376 +#, fuzzy +msgid "Receive window" +msgstr "Arquivos recebidos" + +#: src/fe-gtk/setup.c:377 +#, fuzzy +msgid "Chat window" +msgstr "Janelas de canais" + +#: src/fe-gtk/setup.c:385 src/fe-gtk/setup.c:1709 +msgid "Logging" +msgstr "Logar" + +#: src/fe-gtk/setup.c:386 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:387 +#, fuzzy +msgid "Enable logging of conversations to disk" +msgstr "Habilita log de conversações no disco" + +#: src/fe-gtk/setup.c:388 +#, fuzzy +msgid "Log filename:" +msgstr "Máscara do arquivo de log:" + +#: src/fe-gtk/setup.c:389 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "" + +#: src/fe-gtk/setup.c:392 +#, fuzzy +msgid "Insert timestamps in logs" +msgstr "Pôr a hora atual em todo o texto" + +#: src/fe-gtk/setup.c:393 +#, fuzzy +msgid "Log timestamp format:" +msgstr "Pôr a hora atual em todo o texto" + +#: src/fe-gtk/setup.c:401 +msgid "(Disabled)" +msgstr "" + +#: src/fe-gtk/setup.c:402 +msgid "Wingate" +msgstr "" + +#: src/fe-gtk/setup.c:403 +msgid "Socks4" +msgstr "" + +#: src/fe-gtk/setup.c:404 +msgid "Socks5" +msgstr "" + +#: src/fe-gtk/setup.c:405 +msgid "HTTP" +msgstr "" + +#: src/fe-gtk/setup.c:407 +msgid "MS Proxy (ISA)" +msgstr "" + +#: src/fe-gtk/setup.c:414 +#, fuzzy +msgid "All Connections" +msgstr "Tempo esgotado para notificação" + +#: src/fe-gtk/setup.c:415 +msgid "IRC Server Only" +msgstr "" + +#: src/fe-gtk/setup.c:416 +msgid "DCC Get Only" +msgstr "" + +#: src/fe-gtk/setup.c:422 +#, fuzzy +msgid "Your Address" +msgstr "Endereço" + +#: src/fe-gtk/setup.c:423 +#, fuzzy +msgid "Bind to:" +msgstr "Fonte:" + +#: src/fe-gtk/setup.c:424 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:426 +#, fuzzy +msgid "Proxy Server" +msgstr "Nova aba de servidor.." + +#: src/fe-gtk/setup.c:427 +#, fuzzy +msgid "Hostname:" +msgstr "Hostname / Número do IP:" + +#: src/fe-gtk/setup.c:428 +#, fuzzy +msgid "Port:" +msgstr "Fonte:" + +#: src/fe-gtk/setup.c:429 +#, fuzzy +msgid "Type:" +msgstr "Alto:" + +#: src/fe-gtk/setup.c:430 +#, fuzzy +msgid "Use proxy for:" +msgstr "Menu do usuário" + +#: src/fe-gtk/setup.c:432 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:434 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:436 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:438 +#, fuzzy +msgid "Username:" +msgstr "Menu do usuário" + +#: src/fe-gtk/setup.c:439 +#, fuzzy +msgid "Password:" +msgstr "Lista de servidores.." + +#: src/fe-gtk/setup.c:870 +msgid "Select an Image File" +msgstr "" + +#: src/fe-gtk/setup.c:905 +#, fuzzy +msgid "Select Download Folder" +msgstr "Selecionar fonte" + +#: src/fe-gtk/setup.c:914 +#, fuzzy +msgid "Select font" +msgstr "Selecionar fonte" + +#: src/fe-gtk/setup.c:1014 +msgid "Browse..." +msgstr "Navegar..." + +#: src/fe-gtk/setup.c:1152 +msgid "Mark identified users with:" +msgstr "" + +#: src/fe-gtk/setup.c:1154 +msgid "Mark not-identified users with:" +msgstr "" + +#: src/fe-gtk/setup.c:1161 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1215 +#, fuzzy +msgid "Select color" +msgstr "Selecionar fonte" + +#: src/fe-gtk/setup.c:1295 +#, fuzzy +msgid "Text Colors" +msgstr "Fechar" + +#: src/fe-gtk/setup.c:1297 +msgid "mIRC colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1305 +msgid "Local colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1313 src/fe-gtk/setup.c:1318 +msgid "Foreground:" +msgstr "" + +#: src/fe-gtk/setup.c:1314 src/fe-gtk/setup.c:1319 +#, fuzzy +msgid "Background:" +msgstr "Pixmap (XPM) de fundo:" + +#: src/fe-gtk/setup.c:1316 +#, fuzzy +msgid "Marking Text" +msgstr "Fechar" + +#: src/fe-gtk/setup.c:1321 +#, fuzzy +msgid "Interface Colors" +msgstr "Opções de interface" + +#: src/fe-gtk/setup.c:1323 +msgid "New data:" +msgstr "" + +#: src/fe-gtk/setup.c:1324 +msgid "Marker line:" +msgstr "" + +#: src/fe-gtk/setup.c:1325 +#, fuzzy +msgid "New message:" +msgstr "Mensagem de saída:" + +#: src/fe-gtk/setup.c:1326 +#, fuzzy +msgid "Away user:" +msgstr "Razão de ausência:" + +#: src/fe-gtk/setup.c:1327 +#, fuzzy +msgid "Highlight:" +msgstr "Destaque" + +#: src/fe-gtk/setup.c:1423 src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "" + +#: src/fe-gtk/setup.c:1429 +#, fuzzy +msgid "Sound file" +msgstr "Diretório de sons:" + +#: src/fe-gtk/setup.c:1464 +#, fuzzy +msgid "Select a sound file" +msgstr "Diretório de sons:" + +#: src/fe-gtk/setup.c:1536 +msgid "Sound playing method:" +msgstr "" + +#: src/fe-gtk/setup.c:1544 +#, fuzzy +msgid "External sound playing _program:" +msgstr "Programas externos" + +#: src/fe-gtk/setup.c:1562 +#, fuzzy +msgid "_External program" +msgstr "Programas externos" + +#: src/fe-gtk/setup.c:1572 +msgid "_Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:1585 +#, fuzzy +msgid "Sound files _directory:" +msgstr "Diretório de sons:" + +#: src/fe-gtk/setup.c:1624 +#, fuzzy +msgid "Sound file:" +msgstr "Diretório de sons:" + +#: src/fe-gtk/setup.c:1639 +#, fuzzy +msgid "_Browse..." +msgstr "Navegar..." + +#: src/fe-gtk/setup.c:1650 +#, fuzzy +msgid "_Play" +msgstr "Painel" + +#: src/fe-gtk/setup.c:1699 +msgid "Interface" +msgstr "" + +#: src/fe-gtk/setup.c:1700 +msgid "Text box" +msgstr "" + +#: src/fe-gtk/setup.c:1702 +#, fuzzy +msgid "User list" +msgstr "Lista de usuários" + +#: src/fe-gtk/setup.c:1703 +#, fuzzy +msgid "Channel switcher" +msgstr "Janela da lista de canais.." + +#: src/fe-gtk/setup.c:1704 +#, fuzzy +msgid "Colors" +msgstr "Fechar" + +#: src/fe-gtk/setup.c:1706 +#, fuzzy +msgid "Chatting" +msgstr "Cancelar" + +#: src/fe-gtk/setup.c:1708 +msgid "General" +msgstr "Geral" + +#: src/fe-gtk/setup.c:1710 +msgid "Sound" +msgstr "Som" + +#: src/fe-gtk/setup.c:1714 +msgid "Network setup" +msgstr "" + +#: src/fe-gtk/setup.c:1715 +#, fuzzy +msgid "File transfers" +msgstr "Transferência de arquivos" + +#: src/fe-gtk/setup.c:1823 +#, fuzzy +msgid "Categories" +msgstr "Categorias" + +#: src/fe-gtk/setup.c:2007 +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 "" + +#: src/fe-gtk/setup.c:2017 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" + +#: src/fe-gtk/setup.c:2025 +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 "" + +#: src/fe-gtk/setup.c:2058 +#, fuzzy +msgid "XChat: Preferences" +msgstr "X-Chat: Preferências" + +#: src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "" + +#: src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "" + +#: src/fe-gtk/textgui.c:372 +#, fuzzy +msgid "Edit Events" +msgstr "Editar textos de eventos.." + +#: src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "" + +#: src/fe-gtk/textgui.c:440 +#, fuzzy +msgid "Load From..." +msgstr "Carregar" + +#: src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "" + +#: src/fe-gtk/urlgrab.c:188 +#, fuzzy +msgid "XChat: URL Grabber" +msgstr "Programas a serem usados em URLs.." + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Limpar lista" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "" + +#, fuzzy +#~ msgid "Client exiting" +#~ msgstr "Opção de Tinta" + +#~ msgid "Apply" +#~ msgstr "Aplicar" + +#, fuzzy +#~ msgid "Save the list" +#~ msgstr "Automaticamente salvar a lista de URLs" + +#, fuzzy +#~ msgid "X-Chat: File Receive List" +#~ msgstr "Lista de servidores.." + +#~ msgid "Info" +#~ msgstr "Informação" + +#, fuzzy +#~ msgid "To" +#~ msgstr "Alto" + +#, fuzzy +#~ msgid "X-Chat: Edit Key Bindings" +#~ msgstr "Editar teclas de associações.." + +#, fuzzy +#~ msgid "Ignore Mask:" +#~ msgstr "Máscara do arquivo de log:" + +#, fuzzy +#~ msgid "(%s) Channel settings" +#~ msgstr "Opções do painel" + +#, fuzzy +#~ msgid "Color paste" +#~ msgstr "Fechar" + +#, fuzzy +#~ msgid "Channel Options" +#~ msgstr "Janelas de canais" + +#, fuzzy +#~ msgid "User: %s" +#~ msgstr "Lista de usuários" + +#, fuzzy +#~ msgid "Settings saved." +#~ msgstr "Opções" + +#, fuzzy +#~ msgid "New Shell Tab..." +#~ msgstr "Nova aba de shell.." + +#, fuzzy +#~ msgid "Close Tab" +#~ msgstr "Fechar" + +#~ msgid "Invisible" +#~ msgstr "Invisível" + +#~ msgid "Receive Wallops" +#~ msgstr "Receber Wallops" + +#~ msgid "Receive Server Notices" +#~ msgstr "Receber notícias do servidor" + +#, fuzzy +#~ msgid "Auto Rejoin when Kicked" +#~ msgstr "Automaticamente entrar de novo no canal quando kickado" + +#~ msgid "Never-give-up ReConnect" +#~ msgstr "Nunca desistir de reconectar" + +#, fuzzy +#~ msgid "Auto Accept Direct Chat" +#~ msgstr "Automaticamente aceitar DCC Chat" + +#, fuzzy +#~ msgid "Lists" +#~ msgstr "Janela da lista de canais.." + +#, fuzzy +#~ msgid "Key Bindings..." +#~ msgstr "Editar teclas de associações.." + +#~ msgid "Reload Settings" +#~ msgstr "Recarregar opções" + +#~ msgid "Save Settings now" +#~ msgstr "Salvar opções agora" + +#~ msgid "Save Settings on exit" +#~ msgstr "Salvar opções quando sair" + +#, fuzzy +#~ msgid "File Receive..." +#~ msgstr "Janela de arquivos recebidos.." + +#, fuzzy +#~ msgid "File Send..." +#~ msgstr "Janela de arquivos enviados.." + +#, fuzzy +#~ msgid "Notify List..." +#~ msgstr "Janela da lista de notificação.." + +#, fuzzy +#~ msgid "Server" +#~ msgstr "Lista de servidores.." + +#, fuzzy +#~ msgid "Settings for %s" +#~ msgstr "Opções" + +#, fuzzy +#~ msgid "_Remove \"%s\"" +#~ msgstr "Lista de servidores.." + +#, fuzzy +#~ msgid "_Add new server" +#~ msgstr "Nova aba de servidor.." + +#, fuzzy +#~ msgid "Move \"%s\" _up" +#~ msgstr "Lista de servidores.." + +#, fuzzy +#~ msgid "Global User Info" +#~ msgstr "Menu do usuário" + +#, fuzzy +#~ msgid "Nick Names:" +#~ msgstr "Completação de nickname" + +#, fuzzy +#~ msgid "Connect in a _new tab" +#~ msgstr "Tempo esgotado para notificação" + +#, fuzzy +#~ msgid "Servers" +#~ msgstr "Lista de servidores.." + +#, fuzzy +#~ msgid "Use secure SSL" +#~ msgstr "Lista de usuários" + +#, fuzzy +#~ msgid "Tint transparency" +#~ msgstr "Tinta transparente" + +#, fuzzy +#~ msgid "Strip mIRC color" +#~ msgstr "Excluir cores do mIRC" + +#, fuzzy +#~ msgid "Tint green:" +#~ msgstr "Opção de Tinta" + +#, fuzzy +#~ msgid "Double-click command:" +#~ msgstr "Comando do duplo clique:" + +#, fuzzy +#~ msgid "Userlist buttons enabled" +#~ msgstr "Botões da lista de usuários.." + +#, fuzzy +#~ msgid "Pop new tabs to front" +#~ msgstr "Novas abas para a frente" + +#, fuzzy +#~ msgid "Auto open DCC send list" +#~ msgstr "Automaticamente abrir janela de envio de arquivos" + +#, fuzzy +#~ msgid "Auto open DCC chat list" +#~ msgstr "Automaticamente abrir janela de DCC Chat" + +#, fuzzy +#~ msgid "Auto open DCC receive list" +#~ msgstr "Automaticamente abrir janela de recebimento de arquivos" + +#, fuzzy +#~ msgid "Default part message:" +#~ msgstr "Mensagem de saída:" + +#, fuzzy +#~ msgid "Default away message:" +#~ msgstr "Anunciar mensagens de ausência" + +#, fuzzy +#~ msgid "Beep on channel messages" +#~ msgstr "Beepar em mensagens privadas" + +#, fuzzy +#~ msgid "Mark back:" +#~ msgstr "Fundo transparente" + +#, fuzzy +#~ msgid "Select a file to save to" +#~ msgstr "Salvar em diretório:" + +#, fuzzy +#~ msgid "Load Plugin..." +#~ msgstr "Carregar plugin (*.so).." + +#, fuzzy +#~ msgid "Replace Popup..." +#~ msgstr "Janela de substituição automática de palavras.." + +#, fuzzy +#~ msgid "Load plugin..." +#~ msgstr "Carregar plugin (*.so).." + +#, fuzzy +#~ msgid "X-Chat Homepage..." +#~ msgstr "Sítio do X-Chat.." + +#, fuzzy +#~ msgid "Online Docs..." +#~ msgstr "Documentação em linha.." + +#, fuzzy +#~ msgid "About X-Chat..." +#~ msgstr "Sobre o X-Chat.." + +#~ msgid "Choose File" +#~ msgstr "Escolher arquivo" + +#, fuzzy +#~ msgid "No Server List on Startup" +#~ msgstr "Sem lista de servidores ao iniciar" + +#~ msgid "Auto ReJoin on Kick" +#~ msgstr "Automaticamente entrar de novo no canal quando kickado" + +#, fuzzy +#~ msgid "Server settings" +#~ msgstr "Opções" + +#, fuzzy +#~ msgid "Ban List Window..." +#~ msgstr "Janela da lista de canais.." + +#, fuzzy +#~ msgid "ASCII Window..." +#~ msgstr "Janela de ignorância.." + +#, fuzzy +#~ msgid "F_lush Buffer" +#~ msgstr "Limpar buffer" + +#, fuzzy +#~ msgid "Save Buffer..." +#~ msgstr "Salvar buffer.." + +#~ msgid "User Modes" +#~ msgstr "Modos do usuário" + +#, fuzzy +#~ msgid "Plugins" +#~ msgstr "Lista de plugins" + +#~ msgid "Edit User Menu" +#~ msgstr "Editar menu do usuário" + +#~ msgid "Left" +#~ msgstr "Direita" + +#~ msgid "Right" +#~ msgstr "Esquerda" + +#, fuzzy +#~ msgid "NewServer" +#~ msgstr "Lista de servidores.." + +#, fuzzy +#~ msgid "Open extra tab for each server" +#~ msgstr "Usar uma aba/janela separada para mensagens do servidor" + +#, fuzzy +#~ msgid "Server List 2..." +#~ msgstr "Lista de servidores.." + +#, fuzzy +#~ msgid "UNLOADALL, Unloads all perl scripts" +#~ msgstr "Carregar script de Python.." + +#~ msgid "Scripts & Plugins" +#~ msgstr "Scripts e Plugins" + +#, fuzzy +#~ msgid "PLOAD loads a python script" +#~ msgstr "Carregar script de Python.." + +#~ msgid "Unload All Scripts" +#~ msgstr "Descarregar todos os scripts" + +#~ msgid "Perl List" +#~ msgstr "Lista de Perl" + +#, fuzzy +#~ msgid "Load Python Script..." +#~ msgstr "Carregar script de Python.." + +#~ msgid "Python List" +#~ msgstr "Lista de Python" + +#, fuzzy +#~ msgid "gdk_font_load failed" +#~ msgstr "Usar gdk_fontset_load ao invés de gdk_font_load" + +#~ msgid "Setup.." +#~ msgstr "Configurar.." + +#, fuzzy +#~ msgid "X-Chat: Palette" +#~ msgstr "X-Chat: Preferências" + +#, fuzzy +#~ msgid "Background" +#~ msgstr "Pixmap (XPM) de fundo:" + +#, fuzzy +#~ msgid "Mark Background" +#~ msgstr "Fundo transparente" + +#, fuzzy +#~ msgid "No Server" +#~ msgstr "Nova aba de servidor.." + +#, fuzzy +#~ msgid "Is Tab" +#~ msgstr "Abas" + +#, fuzzy +#~ msgid "X-Chat: Setup" +#~ msgstr "X-Chat: Preferências" + +#, fuzzy +#~ msgid "Failed to load translation table." +#~ msgstr "Usar um arquivo de translação do estilo do ircII" + +#~ msgid "Auto Indent" +#~ msgstr "Recortar automaticamente" + +#~ msgid "Auto adjust the separator bar position as needed." +#~ msgstr "Automaticamente ajusta a barra de separação quando necessitado." + +#~ msgid "Draw Separator Bar" +#~ msgstr "Usar barra de separação" + +#~ msgid "Make the separator an actual visible line." +#~ msgstr "Faz a separação uma linha atual visível." + +#~ msgid "Word Wrap" +#~ msgstr "Cortar palavras" + +#~ msgid "Don't split words from one line to the next" +#~ msgstr "Não racha palavras de uma linha para a seguinte" + +#~ msgid "Make the text box seem see-through" +#~ msgstr "Faz a caixa de texto parecer ser o fundo" + +#~ msgid "Tint the see-through text box to make it darker" +#~ msgstr "Pinta a caixa de texto para deixá-la escura" + +#, fuzzy +#~ msgid "Use a font set" +#~ msgstr "Usar gdk_fontset_load ao invés de gdk_font_load" + +#~ msgid "Change in realtime" +#~ msgstr "Mudar em tempo real" + +#~ msgid "Startup and Shutdown" +#~ msgstr "Início e fim" + +#~ msgid "Don't display the server list on X-Chat startup" +#~ msgstr "Não mostra a lista de servidores ao iniciar o X-Chat" + +#~ msgid "Auto Save URL list" +#~ msgstr "Automaticamente salvar a lista de URLs" + +#~ msgid "Auto save your URL list when exiting from X-Chat" +#~ msgstr "Automaticamente salva sua lista de URLs ao sair do X-Chat" + +#, fuzzy +#~ msgid "Give the User List style" +#~ msgstr "Dar o mesmo estilo à caixa de digitação" + +#, fuzzy +#~ msgid "Enable Paned Userlist" +#~ msgstr "Disabilitar painel regulável da lista de usuários" + +#, fuzzy +#~ msgid "Use paned user list instead of a fixed width one" +#~ msgstr "Utiliza uma largura fixa para a lista de usuários ao invésde um painel regulável" + +#~ msgid "Complete nicknames when a partial one is entered" +#~ msgstr "<tab> completa os nicknames quando a parte de um é digitada" + +#, fuzzy +#~ msgid "Old-style Nickname Completion" +#~ msgstr "Completação de nickname" + +#~ msgid "Give the Input Box style" +#~ msgstr "Dar o mesmo estilo à caixa de digitação" + +#~ msgid "Input box gets same style as main text area" +#~ msgstr "A caixa de digitação obtém o mesmo estilo da área de texto principal" + +#~ msgid "Output Box" +#~ msgstr "Caixa do texto digitado" + +#~ msgid "Strip MIRC color codes from text before displaying" +#~ msgstr "Exclui do texto códigos de cores do mIRC antes de mostrar" + +#~ msgid "Output nicknames in different colors" +#~ msgstr "Mostra os nicknames em cores diferentes" + +#~ msgid "Prefix all text with the current time stamp" +#~ msgstr "Prefixa todo o texto com a hora corrente" + +#~ msgid "Filter out BEEPs" +#~ msgstr "Filtrar BEEPs" + +#~ msgid "Remove ^G BEEP codes from text before displaying" +#~ msgstr "Remove códigos ^G BEEP do texto antes de mostrar" + +#~ msgid "Buffer Settings" +#~ msgstr "Opções de buffer" + +#~ msgid "Text Buffer Size:" +#~ msgstr "Tamanho do buffer de texto:" + +#~ msgid "lines (0=Unlimited)." +#~ msgstr "linhas (0=Ilimitado)." + +#~ msgid "Buttons" +#~ msgstr "Botões" + +#~ msgid "Show the TNSIPMLK buttons" +#~ msgstr "Mostra os botões TNSIPMLK" + +#~ msgid "User List Buttons" +#~ msgstr "Botões da lista de usuários" + +#~ msgid "Show the buttons below the user list" +#~ msgstr "Mostra os botões após a lista de usuários" + +#~ msgid "Use tabs for channels instead of separate windows" +#~ msgstr "Usa abas para os canais ao invés de janelas separadas" + +#, fuzzy +#~ msgid "Limited Tab Highlighting" +#~ msgstr "Destaque" + +#~ msgid "Bring new query/channel tabs to front" +#~ msgstr "Põe novas abas de conversação/canais na frente" + +#~ msgid "Use tabs for /query instead of separate windows" +#~ msgstr "Usa abas para /query ao invés de janelas separadas" + +#~ msgid "Window Position" +#~ msgstr "Posição da janela" + +#, fuzzy +#~ msgid "" +#~ "If Left and Top are set to zero, X-Chat will use\n" +#~ "your window manager defaults." +#~ msgstr "Se Esquerda e Topo estiverem setados para zero, X-Chat usará os valores padrões de seu gerenciador de janelas." + +#~ msgid "Left:" +#~ msgstr "Esquerda:" + +#~ msgid "Window Size" +#~ msgstr "Tamanho da janela" + +#~ msgid "Width:" +#~ msgstr "Largura:" + +#~ msgid "Height:" +#~ msgstr "Altura:" + +#~ msgid "Show Session Tree View" +#~ msgstr "Mostra visão de árvore da sessão" + +#~ msgid "Hide Session on Panelize" +#~ msgstr "Esconder sessão quando movido para o painel" + +#~ msgid "Hide X-Chat when window moved to the panel" +#~ msgstr "Esconde o X-Chat quando a janela é movida para o painel" + +#~ msgid "Panel Applet" +#~ msgstr "Applet do painel" + +#~ msgid "Layout For a Vertical Panel" +#~ msgstr "Agenciar para um painel vertical" + +#~ msgid "Layout the X-Chat panel applet for a vertical panel" +#~ msgstr "Agencia o applet de painel do X-Chat para um painel vertical" + +#~ msgid "Raw Mode Display" +#~ msgstr "Mostrar em modo bruto" + +#~ msgid "Display raw mode changes instead of interpretations" +#~ msgstr "Mostra mudanças em modo bruto ao invés de interpretações" + +#~ msgid "Beep when a private message for you is received" +#~ msgstr "Beepa quando uma mensagem privada para você é recebida" + +#, fuzzy +#~ msgid "Beep when a channel message is received" +#~ msgstr "Beepa quando uma mensagem privada para você é recebida" + +#, fuzzy +#~ msgid "Send /who #chan on join." +#~ msgstr "Não enviar /who #chan ao entrar." + +#, fuzzy +#~ msgid "Find user information when joining a channel." +#~ msgstr "Não procura informações dos usuários ao entrar em um canal." + +#~ msgid "DNS Lookup Program:" +#~ msgstr "Programa para procura de DNS:" + +#~ msgid "Timing" +#~ msgstr "Sincronismo" + +#~ msgid "seconds." +#~ msgstr "segundos." + +#~ msgid "" +#~ "Most people should leave this blank, it's only\n" +#~ "usefull for machines with multiple addresses." +#~ msgstr "" +#~ "A maioria das pessoas deve deixar em branco, isso so é\n" +#~ "útil para máquinas com múltiplos endereços." + +#, fuzzy +#~ msgid "Public IP Address" +#~ msgstr "Endereço IP" + +#~ msgid "Get my IP from Server (for use in DCC Send only)" +#~ msgstr "Pegar o meu IP do servidor (para uso somente em DCC Send)" + +#~ msgid "For people using a 10.* or 192.168.* IP number." +#~ msgstr "Para pessoas usando um número de IP 10.* ou 192.168.*" + +#~ msgid "Only show away messages the first time they're seen" +#~ msgstr "Somente mostra mensagens de ausência na primeira vez que eles são vistas" + +#~ msgid "Your away settings" +#~ msgstr "Suas opções de ausência" + +#, fuzzy +#~ msgid "Generic" +#~ msgstr "Geral" + +#~ msgid "Highlight notified users in the user list" +#~ msgstr "Destaca usuários notificados na lista de usuários" + +#~ msgid "Notification Timeouts" +#~ msgstr "Tempo esgotado para notificação" + +#~ msgid "Notify Check Interval:" +#~ msgstr "Intervalo para checar notificação:" + +#, fuzzy +#~ msgid "seconds (0=Disable)." +#~ msgstr "segundos. (15=Normal, 0=Disabilitar)" + +#~ msgid "Enable Character Translation" +#~ msgstr "Habilitar translação de caracteres" + +#~ msgid "Translation File:" +#~ msgstr "Arquivo de translação:" + +#~ msgid "Use a ircII style translation file." +#~ msgstr "Usar um arquivo de translação do estilo do ircII" + +#~ msgid "Automatically open DCC Send Window" +#~ msgstr "Automaticamente abre janela de envio de arquivos" + +#~ msgid "Automatically open DCC Recv Window" +#~ msgstr "Automaticamente abre janela de recebimento de arquivos" + +#~ msgid "Resume on Auto Accept" +#~ msgstr "Resumir quando aceitar automaticamente" + +#~ msgid "When Auto-Accepting DCC, try to resume." +#~ msgstr "Tentar resumir quando aceitar DCC automaticamente" + +#~ msgid "Timeouts" +#~ msgstr "Tempo esgotado" + +#~ msgid "DCC Offers Timeout:" +#~ msgstr "Tempo esgotado para ofertas de DCC:" + +#~ msgid "DCC Stall Timeout:" +#~ msgstr "Tempo esgotado para DCC travado:" + +#~ msgid "File Permissions:" +#~ msgstr "Permissões de arquivo:" + +#~ msgid "Directory to save to:" +#~ msgstr "Salvar em diretório:" + +#~ msgid "Save file with Nickname" +#~ msgstr "Salvar arquivo com Nickname" + +#~ msgid "DCC Send Options" +#~ msgstr "Opções de envio de arquivos" + +#~ msgid "Fast DCC Send" +#~ msgstr "Rápido envio de arquivos" + +#~ msgid "Don't wait for ACKs to send more data" +#~ msgstr "Não espera por respostas para enviar mais dados" + +#~ msgid "Send Block Size:" +#~ msgstr "Tamanho do bloco de envio:" + +#~ msgid "Built-in Replies" +#~ msgstr "Respostas internas" + +#~ msgid "Do not reply to CTCP version" +#~ msgstr "Não responde para CTCP version" + +#~ msgid "Sound Dir:" +#~ msgstr "Diretório de sons:" + +#~ msgid "Play Command:" +#~ msgstr "Comando para executar som:" + +#~ msgid "IRC Input/Output Settings" +#~ msgstr "Opções de IRC de Entrada/Saída" + +#~ msgid "IRC Input/Output" +#~ msgstr "IRC Entrada/Saída" + +#~ msgid "Window Layout Settings" +#~ msgstr "Opções da disposição da janela" + +#~ msgid "Window Layout" +#~ msgstr "Disposição da janela" + +#~ msgid "Main Window Settings" +#~ msgstr "Opções da janela principal" + +#~ msgid "Channel Window Settings" +#~ msgstr "Opções das janelas de canais" + +#~ msgid "Dialog Window Settings" +#~ msgstr "Opções das janelas de diálogo" + +#~ msgid "Panel" +#~ msgstr "Painel" + +#~ msgid "IRC Settings" +#~ msgstr "Opções de IRC" + +#~ msgid "IP Address Settings" +#~ msgstr "Opções de endereço IP" + +#~ msgid "IP Address" +#~ msgstr "Endereço IP" + +#~ msgid "Logging Settings" +#~ msgstr "Opções de log" + +#~ msgid "Notification Settings" +#~ msgstr "Opções de notificação" + +#~ msgid "Notification" +#~ msgstr "Notificação" + +#~ msgid "CTCP Settings" +#~ msgstr "Opções de CTCP" + +#~ msgid "DCC Settings" +#~ msgstr "Opções de DCC" + +#, fuzzy +#~ msgid "Userlist icons" +#~ msgstr "Botões da lista de usuários.." + +#, fuzzy +#~ msgid " Apply " +#~ msgstr "Aplicar" + +#~ msgid "Perl Script.." +#~ msgstr "Script de Perl.." + +#~ msgid "Python Script.." +#~ msgstr "Script de Python.." + +#~ msgid "All Perl Scripts" +#~ msgstr "Todos os scripts de Perl" + +#~ msgid "All Python Scripts" +#~ msgstr "Todos os scripts de Python" + +#~ msgid "All Plugins" +#~ msgstr "Todos os plugins" + +#~ msgid "Kill" +#~ msgstr "Matar" + +#~ msgid "User _Modes" +#~ msgstr "_Modos do usuário" + +#~ msgid "S_cripts & Plugins" +#~ msgstr "S_cripts e Plugins" + +#~ msgid "Use_r Menu" +#~ msgstr "Menu do usuário" + +#~ msgid "Perform a periodic mail check." +#~ msgstr "Performa uma checagem de e-mail periódica." + +#, fuzzy +#~ msgid "Print Handlers:\n" +#~ msgstr "Programas a serem usados em URLs.." + +#~ msgid "Unload All Plugins" +#~ msgstr "Descarregar todos os plugins" + +#~ msgid "Background XPM:" +#~ msgstr "Pixmap (XPM) de fundo:" + +#, fuzzy +#~ msgid "Dialog Buttons" +#~ msgstr "Botões" + +#, fuzzy +#~ msgid "Show the buttons above the text area" +#~ msgstr "Mostra os botões após a lista de usuários" + +#~ msgid "Help.." +#~ msgstr "Ajuda.." + +#, fuzzy +#~ msgid "Close Channel" +#~ msgstr "Nova aba de canal.." + +#, fuzzy +#~ msgid "Panelize" +#~ msgstr "Painel" + +#~ msgid "Hilighted Nick Color:" +#~ msgstr "Côr do nick em destaque:" + +#~ msgid "Output Filtering" +#~ msgstr "Filtrar da saída" + +#~ msgid "Select theme.." +#~ msgstr "Selecionar tema.." diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin new file mode 100644 index 00000000..2436c49e --- /dev/null +++ b/po/remove-potcdate.sin @@ -0,0 +1,19 @@ +# Sed script that remove the POT-Creation-Date line in the header entry +# from a POT file. +# +# The distinction between the first and the following occurrences of the +# pattern is achieved by looking at the hold space. +/^"POT-Creation-Date: .*"$/{ +x +# Test if the hold space is empty. +s/P/P/ +ta +# Yes it was empty. First occurrence. Remove the line. +g +d +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 00000000..56a5857c --- /dev/null +++ b/po/ru.po @@ -0,0 +1,5806 @@ +# This file is distributed under the same license as the xchat package. +# translation of xchat-2.8.6.po to Russian +# Copyright (C) 2000, 2004, 2005 Free Software Foundation, Inc. +# Volosenkov Dmitry <_bil_@mail.ru>, 1999. +# Valek Filippov <frob@df.ru>, 2001. +# Peter Astakhov <astakhovp@mail.ru>, 2004. +# Peter Astakhov <astakhovp@mail.ru>, 2005. +# Peter Astakhov <astakhovp@mail.ru>, 2008. +# Alex <davian818@gmail.com>, 2010 +msgid "" +msgstr "" +"Project-Id-Version: xchat-2.8.4\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2008-06-12 18:39+1000\n" +"PO-Revision-Date: 2010-05-13 03:41+0700\n" +"Last-Translator: Алекс <davian818@gmail.com>\n" +"Language-Team: Russian <gnu@mx.ru>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "Не удалось создать ~/.xchat2" + +#: src/common/cfgfiles.c:711 +msgid "I'm busy" +msgstr "Я занят" + +#: src/common/cfgfiles.c:712 +msgid "Leaving" +msgstr "Ухожу я от вас" + +#: src/common/cfgfiles.c:759 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Глупо запускать IRC под пользователем root! Вы должны\n" +" создать пользовательскую учетную запись и работать под ним.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Ожидание" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Активен" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Ошибка" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Готово" + +#: src/common/dcc.c:71 +#: src/fe-gtk/menu.c:928 +msgid "Connect" +msgstr "Соединение" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Остановлено" + +#: src/common/dcc.c:1886 +#: src/common/outbound.c:2451 +#, c-format +msgid "Cannot access %s\n" +msgstr "Нет доступа к %s\n" + +#: src/common/dcc.c:1887 +#: src/common/text.c:1224 +#: src/common/text.c:1262 +#: src/common/text.c:1273 +#: src/common/text.c:1280 +#: src/common/text.c:1293 +#: src/common/text.c:1310 +#: src/common/text.c:1410 +#: src/common/util.c:353 +msgid "Error" +msgstr "Ошибка" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s предлагает \"%s\". Будете принимать?" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "Нет активных DCC\n" + +#: src/common/ignore.c:120 +#: src/common/ignore.c:124 +#: 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 +msgid "YES " +msgstr "ДА " + +#: src/common/ignore.c:122 +#: 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 +msgid "NO " +msgstr "НЕТ " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Вас забрасывают CTCP запросами от %s, %s игнорируется.\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "Вас забрасывают сообщениями от %s, выключаем автодиалог.\n" + +#: src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s на канале\n" + +#: src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s отключен\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Вы не зашли на канал. Наберите /join #<канал>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Нет соединения. Наберите /server <адрес> [<порт>]\n" + +#: src/common/outbound.c:338 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Вы уже отсутствуете: %s\n" + +#: src/common/outbound.c:411 +msgid "Already marked back.\n" +msgstr "Вы уже вернулись.\n" + +#: src/common/outbound.c:1777 +msgid "I need /bin/sh to run!\n" +msgstr "Отсутствует /bin/sh для запуска!\n" + +#: src/common/outbound.c:2148 +msgid "Commands Available:" +msgstr "Доступные команды:" + +#: src/common/outbound.c:2162 +msgid "User defined commands:" +msgstr "Определенные пользователем команды:" + +#: src/common/outbound.c:2178 +msgid "Plugin defined commands:" +msgstr "Определенные расширениями команды:" + +#: src/common/outbound.c:2189 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Наберите /HELP <имя команды> для более полной информации, или /HELP -l" + +#: src/common/outbound.c:2274 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Игнорируется неизвестный аргумент \"%s\"." + +#: src/common/outbound.c:3223 +msgid "No such plugin found.\n" +msgstr "Плагин не найден\n" + +#: src/common/outbound.c:3228 +#: src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Плагин невозможно выгрузить.\n" + +#: src/common/outbound.c:3497 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <название> <действие> добавляет кнопку под списком пользователей" + +#: src/common/outbound.c:3499 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <команда>, посылает команду во всех каналах где вы есть " + +#: src/common/outbound.c:3501 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <команда>, посылает команду на все ваши каналы" + +#: src/common/outbound.c:3503 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, посылает команду на всех серверах где вы есть " + +#: src/common/outbound.c:3504 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<причина>], устанавливает флаг отсутствия" + +#: src/common/outbound.c:3505 +msgid "BACK, sets you back (not away)" +msgstr "BACK, сбрасывает флаг остутствия" + +#: src/common/outbound.c:3507 +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 <маска> [<тип>], блокирует доступ на текущий канал для каждого, совпадающего с маской. Если они уже на канале, то они не будут скинуты (для этого нужно быть оператором канала)" + +#: src/common/outbound.c:3508 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <переменная> [<значение>]" + +#: src/common/outbound.c:3510 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR [ALL|HISTORY], очищает текущее окно или историю команд" + +#: src/common/outbound.c:3511 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, закрывает текущее окно или вкладку" + +#: src/common/outbound.c:3514 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <код|маска>, находит код страны, например: au = Австралия" + +#: src/common/outbound.c:3516 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <ник> <сообщение>, посылает пользователю с указанным ником CCTP-сообщение, обычные сообщения -- VERSION и USERINFO" + +#: src/common/outbound.c:3518 +msgid "CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "CYCLE [<channel>], выйти с текущего канала и немедленно зайти" + +#: src/common/outbound.c:3520 +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 "" +"\n" +"DCC GET <имя> - принять отправляемый файл\n" +"DCC SEND [-maxcps=#] <имя> <файл> - отправить файл получателю\n" +"DCC PSEND [-maxcps=#] <имя> [файл] - отправить файл в пассивном режиме\n" +"DCC LIST - показать список DCC\n" +"DCC CHAT <имя> - запросить разговор через DCC\n" +"DCC PCHAT <nick> - запросить разговор в пассивном режиме\n" +"DCC CLOSE <тип> <имя> <файл> пример:\n" +" /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3532 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "" +"DEHOP <имя>, удаляет chanhalf-op статус у имени на текущем канале\n" +"(нужны права администратора канала)" + +#: src/common/outbound.c:3534 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <имя>, удаляет кнопку из-под списка пользователей" + +#: src/common/outbound.c:3536 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <nick>, убирает права администратора канала у пользователя на текущем канале (требует права администратора)." + +#: src/common/outbound.c:3538 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "" +"DEVOICE <nick>, удаляет право голоса у пользователя с переданным именем на текущем\n" +"канале. Для использования нужны права администратора канала" + +#: src/common/outbound.c:3539 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, отсоединиться от сервера" + +#: src/common/outbound.c:3540 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <имя,адрес,IP> - поиск IP адреса пользователя" + +#: src/common/outbound.c:3541 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <текст>, вывести текст на локальной машине" + +#: src/common/outbound.c:3544 +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] <Команда>, выполняет команду. При передаче опции -o вывод \n" +"команды перенаправляется в текущий канал. Иначе вывод печатается в текущем окне" + +#: src/common/outbound.c:3546 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, sends the process SIGCONT" + +#: src/common/outbound.c:3549 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], уничтожает выполняющийся процесс в текущей сессии. Если -9 процессу перадается сигнал SIGKILL" + +#: src/common/outbound.c:3551 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, посылает процессу сигнал SIGSTOP" + +#: src/common/outbound.c:3552 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, посылает процессу данные на stdin" + +#: src/common/outbound.c:3556 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, сбрасывает текущую очередь отправки сервера" + +#: src/common/outbound.c:3558 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <адрес> [<порт>], прокси через хост, порт по умолчанию - 23" + +#: src/common/outbound.c:3562 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <имя> <пароль>, Убрать фантомное имя пользователя" + +#: src/common/outbound.c:3567 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <Ник>, дает статус полуоператора канала пользователю (требуются права оператора)" + +#: src/common/outbound.c:3568 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <пароль>, представиться nickserv-у" + +#: src/common/outbound.c:3570 +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 <маска> <типы..> <параметры..>\n" +" маска - маска игнорируемого хоста, например: *!*@*.aol.com\n" +" типы - типы игнорируемых данных, один или несколько из следующих:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" параметры - NOSAVE, QUIET" + +#: src/common/outbound.c:3577 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <Ник> [<канал>], приглашает кого-либо на канал, по умолчанию, на текущий (требует права оператора)" + +#: src/common/outbound.c:3578 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <канал>, зайти на канал" + +#: src/common/outbound.c:3580 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <Ник>, удаляет человека с текущего канала (нужны права оператора)" + +#: src/common/outbound.c:3582 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <Ник>, удаляет и ставит бан с данного канала (требуются права оператора)" + +#: src/common/outbound.c:3585 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, инициирует новую проверку канала" + +#: src/common/outbound.c:3587 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <Строка>, ищет строку в буфере" + +#: src/common/outbound.c:3589 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <ИмяФайла>, загружает скрипт или плагин" + +#: src/common/outbound.c:3592 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, убирает у всех на текущем канале права полуоператора (требуются права оператора)" + +#: src/common/outbound.c:3594 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, убирает у всех права оператора на текущем канале (требуются права оператора)" + +#: src/common/outbound.c:3596 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <action>, посылает действие на текущий канал (действие пишется от третьего лица, например, /me прыгает)" + +#: src/common/outbound.c:3600 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, удаляет всех, кроме себя, с канала (требуются права оператора)" + +#: src/common/outbound.c:3603 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Устанавливает всем пользователям текущего канала права оператора (требуются права оператора канала)" + +#: src/common/outbound.c:3604 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <Ник> <сообщение>, отправляет приватное сообщение" + +#: src/common/outbound.c:3607 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, показывает список посетителей текущего канала" + +#: src/common/outbound.c:3609 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <Ник> <сообщение>, отправляет CTCP сообщение" + +#: src/common/outbound.c:3610 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <ИмяСервера> [<порт>]" + +#: src/common/outbound.c:3611 +msgid "NICK <nickname>, sets your nick" +msgstr "/NICK <Ник>, меняет ваш ник" + +#: src/common/outbound.c:3614 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <Ник/канал> <сообщение>, посылает уведомление. Уведомление - тип сообщений that should be auto reacted to" + +#: src/common/outbound.c:3616 +msgid "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" +msgstr "NOTIFY [-n network1[,network2,...]] [<Ник>], показывает список ваших уведомлений или добавляет что-либо к ним" + +#: src/common/outbound.c:3618 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <Ник>, дает пользователю статус оператора канала (требуются права администратора)" + +#: src/common/outbound.c:3620 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<Канал>] [<Причина>], выйти с канала, по умолчанию - с текущего" + +#: src/common/outbound.c:3622 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <Ник | канал>, CTCP-пинг пользователя или канала" + +#: src/common/outbound.c:3624 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <Ник>, открыть новое окно приватных сообщений" + +#: src/common/outbound.c:3626 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<причина>] - отсоединение от текущего сервера" + +#: src/common/outbound.c:3628 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <Текст>, отсылает текст в чистом виде на сервер" + +#: src/common/outbound.c:3631 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<Сервер>] [<Порт>] [<Пароль>]. Может использоваться только как /RECONNECT для переподключения к текущему серверу или с /RECONNECT ALL для переподключения ко всем серверам" + +#: src/common/outbound.c:3634 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<Сервер>] [<Порт>] [<Пароль>]. Может использоваться только как /RECONNECT для переподключения к текущему серверу или с /RECONNECT ALL для переподключения ко всем серверам" + +#: src/common/outbound.c:3636 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <Текст>, посылает данные в xchat, как если бы они были получены от сервера" + +#: src/common/outbound.c:3639 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <Текст>, посылает текст объекту в текущем окне" + +#: src/common/outbound.c:3640 +msgid "SEND <nick> [<file>]" +msgstr "SEND <псевдоним> [<файл>]" + +#: src/common/outbound.c:3643 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <Сервер> <порт> <канал>, подключиться к серверу, а затем к каналу" + +#: src/common/outbound.c:3646 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <Сервер> <порт> <канал>, подключиться к серверу, а затем к каналу" + +#: src/common/outbound.c:3650 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <адрес> [<порт>] [<пароль>] соединяет с сервером. Порт по умолчанию 6667 для нормальных соединений и 9999 для соединений через SSL" + +#: src/common/outbound.c:3653 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <адрес> [<порт>] [<пароль>] соединяет с сервером. Порт по умолчанию 6667" + +#: src/common/outbound.c:3655 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-or] [-quiet] <переменная> [<значение>]" + +#: src/common/outbound.c:3656 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<позиция>" + +#: src/common/outbound.c:3661 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<тема>], устанавливает тему, если она указана. Иначе отображает текущую тему" + +#: src/common/outbound.c:3663 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" +"\n" +"TRAY -f <интервал> <файл1> [<файл2>] Blink tray between two icons.\n" +"TRAY -f <имя_файла> Set tray to a fixed icon.\n" +"TRAY -i <число> Blink tray with an internal icon.\n" +"TRAY -t <текст> Set the tray tooltip.\n" +"TRAY -b <заголовок> <текст> Set the tray balloon." + +#: src/common/outbound.c:3670 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <маска> [<маска>...], снять запрет для специфической маски" + +#: src/common/outbound.c:3671 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <маска> [QUIET]" + +#: src/common/outbound.c:3672 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <имя>, выгрузить плагин или скрипт" + +#: src/common/outbound.c:3673 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <адрес>, открыть ссылку в браузере" + +#: src/common/outbound.c:3675 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <имя1> <имя2> и т.д., выделить имена в списке пользователей" + +#: src/common/outbound.c:3678 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <Ник>, дает право голоса кому-либо (требуются права оператора)" + +#: src/common/outbound.c:3680 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <Сообщение>, посылает сообщение на все каналы" + +#: src/common/outbound.c:3682 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <Сообщение>, посылает сообщение всемl операторам текущего канала" + +#: src/common/outbound.c:3715 +#, c-format +msgid "Usage: %s\n" +msgstr "Использование: %s\n" + +#: src/common/outbound.c:3720 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"По этой команде нет помощи.\n" + +#: src/common/outbound.c:3726 +msgid "No such command.\n" +msgstr "Команда не существует\n" + +#: src/common/outbound.c:4057 +msgid "Bad arguments for user command.\n" +msgstr "Недопустимые аргументы команды пользователя.\n" + +#: src/common/outbound.c:4217 +msgid "Too many recursive usercommands, aborting." +msgstr "Очень много рекурсивных команд пользователя, прерывание." + +#: src/common/outbound.c:4300 +msgid "Unknown Command. Try /help\n" +msgstr "Неизвестная команда. Попробуйте /help\n" + +#: src/common/plugin.c:356 +#: src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Нет символа xchat_plugin_init; вы уверены, что это плагин для xchat?" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Вы уверены, что сервер и порт поддерживают SSL?\n" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Не могу разрешить имя %s\n" +"Проверьте ваши сетевые настройки!\n" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "Ошибка прохождения через прокси.\n" + +#: src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Переключаемся к следующему серверу %s...\n" + +#: src/common/servlist.c:1094 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Предупреждение: кодировка \"%s\" неизвестна. Трансляции для %s сети не будет." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 добавлен в список извещений." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 список банов:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tНе получается войти на%C26 %B$1 %O(Вы забанены)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 теперь известен как $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 забанил некоего $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tКанал $1 создан в $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O убрал права полуоператора с%C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O убрал права оператора канала с%C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O забрал голос у%C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 установил исключение на $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O установил права полуоператора канала для%C26 $2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 приглашает на $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UКанал Пользователи Тема" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 установил режим $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Канал $1 режимы: $2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O дал статус оператора канала %C26 $2" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 убрал освобождение с $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 снял приглашение для $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 убрал ключевые слова канала" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 убрал лимит пользователей" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 установил следующие ключевые слова канала $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 установил лимит канала в $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 убрал бан с $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O дал голос%C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Соединение установлено. Входим в сеть..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Соединение с $1 ($2) порт $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Соединение невозможно. Ошибка: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tПолучен CTCP $1 от $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tПолучен CTCP $1 от $2 (для $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2 " + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tПолучен CTCP звук $1 от $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tПолучен CTCP Звук $1 от $2 (для $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC CHAT с %C26$1%O прерван." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC CHAT соединение установлено с %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tDCC CHAT с %C26$1%O потеряно ($4)." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tПринят запрос на DCC CHAT от $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tПредлагаем DCC CHAT для $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tУже предложен CHAT с $1" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 попытка соединения с%C26 $2%O неудачна (err=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tПринято '$1%O' от $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Type В/От Состояние Размер Позиция Файл " + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$tПринят неверный DCC-запрос от %C26$1%O.%010%C22*%O$tСодержимое пакета: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tПредлагаем%C26 $1%O для%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tНет такого предложения DCC." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV%C26 $2%O с%C26 $1%O прервано." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tDCC RECV%C26 $1%O от%C26 $3%O завершено %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC RECV соединение установлено с%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O от%C26 $3%O сбой ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: Не могу открыть $1 для записи ($2)." + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tФайл%C26 $1%C уже существует, сохраняем его как%C26 $2%O вместо этого." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Oзапрос на продолжение%C26 $2 %Cот%C26 $3%C." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND%C26 $2%O к%C26 $1%O прервано." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC SEND%C26 $1%O к%C26 $2%O завершено %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC SEND соединение установлено с%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O для%C26 $2%O провален. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Oпредложил(а)%C26 $2 %O(%C26$3 %Oбайт)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cнет данных - прервано." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oс%C26 $3 %Oпрерывание по таймауту." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 удалено из списка уведомлений." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tСоединение разорвано ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tНайти ваш IP: [$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O добавлен в список игнорирования." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Игнорирование %C26$1%O изменено." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O удален из списка игнорирования." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " Список игнорирований пуст." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tНевозможно подключиться%C26 %B$1 %O(Канал только по приглашениям)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tВы приглашены на %C26 $1%O by%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) зашел на канал $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22-*%O$tНевозможно подключится %C26 %B$1 %O(Требуется ключевое слово)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 выкинул $2 с $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$t$1 изгнал вас с канала ($2%O%C22)" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD Пропущен." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 уже используется. Пытаемся как $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tНик уже используется. Используйте /NICK, чтобы попробовать другой." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tНет такого DCC." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tНет запущенного процесса" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tСписок уведомлений пуст." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Список уведомлений " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 пользователей в списке уведомлений." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tУведомление: $1 отключен ($3)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tУведомление: $1 подключен ($3)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) покинул $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) покинул $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tPing ответ от $1 : $2 секунд(ы)" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tНе получено ответов в течении $1 секунд.Отсоединение." + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tПроцесс уже запущен" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 ушел (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 установил режимы%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2 " + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tПоиск IP-адреса для%C26 $1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Соединение установлено." + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Ищу $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tОстановлена предыдущая попытка соединения (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Тема для $1%C %C29is: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 изменил тему на: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Тема для $1%C %C29 установлена $2%C %C29в $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tНеизвестный хост. Возможно, вы ошиблись?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tНевозможно зайти%C26 %B$1 %O(Лимит пользователей исчерпан)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26пользователей на $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3 " + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cнедоступен %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 +#: src/common/textevents.h:372 +#: src/common/textevents.h:387 +#: src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2 " + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OКонец списка WHOIS." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O не работает %C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O не работает%C26 $2%O, подписан:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Oнастоящие пользователь@машина%C27 $2%O, настоящий IP%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Сейчас общаетесь на $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$t$3 изгнал вас из канала $2 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tВы ушли с канала $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tВы ушли из канала $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tВы пришласили%C26 $1%O на канал%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tТеперь вы известны как $2" + +#: src/common/text.c:318 +msgid "Loaded log from" +msgstr "Загружен протокол от" + +#: src/common/text.c:336 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** ЗАКАНЧИВАЕТСЯ ВХОЖДЕНИЕ НА %s\n" + +#: src/common/text.c:545 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** НАЧАЛО ВХОЖДЕНИЯ НА %s\n" + +#: src/common/text.c:564 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Не могу открыть лог-файл(ы) для записи. Проверьте\n" +" Права доступа на %s/xchatlogs" + +#: src/common/text.c:931 +msgid "Left message" +msgstr "Сообщение слева" + +#: src/common/text.c:932 +msgid "Right message" +msgstr "Сообщение справа" + +#: src/common/text.c:936 +msgid "The nick of the joining person" +msgstr "Имя зашедшей персоны" + +#: src/common/text.c:937 +msgid "The channel being joined" +msgstr "Вы уже на канале" + +#: src/common/text.c:938 +#: src/common/text.c:985 +#: src/common/text.c:1036 +msgid "The host of the person" +msgstr "Адрес компьютера персоны" + +#: src/common/text.c:942 +#: src/common/text.c:948 +#: src/common/text.c:955 +#: src/common/text.c:1143 +#: src/common/text.c:1150 +#: src/common/text.c:1155 +#: src/common/text.c:1160 +#: src/common/text.c:1165 +#: src/common/text.c:1171 +#: src/common/text.c:1176 +#: src/common/text.c:1180 +#: src/common/text.c:1186 +#: src/common/text.c:1192 +#: src/common/text.c:1238 +#: src/common/text.c:1249 +#: src/common/text.c:1254 +#: src/common/text.c:1259 +#: src/common/text.c:1268 +#: src/common/text.c:1279 +#: src/common/text.c:1286 +#: src/common/text.c:1292 +#: src/common/text.c:1297 +#: src/common/text.c:1302 +#: src/common/text.c:1309 +#: src/common/text.c:1315 +#: src/common/text.c:1321 +#: src/common/text.c:1326 +#: src/common/text.c:1331 +#: src/common/text.c:1335 +#: src/common/text.c:1341 +#: src/common/text.c:1349 +#: src/common/text.c:1383 +#: src/common/text.c:1388 +msgid "Nickname" +msgstr "Ник" + +#: src/common/text.c:943 +msgid "The action" +msgstr "Действие" + +#: src/common/text.c:944 +#: src/common/text.c:950 +msgid "Mode char" +msgstr "Символ режима" + +#: src/common/text.c:949 +msgid "The text" +msgstr "Текст" + +#: src/common/text.c:951 +#: src/common/text.c:957 +msgid "Identified text" +msgstr "Выявленный текст" + +#: src/common/text.c:956 +#: src/common/text.c:1013 +#: src/common/text.c:1019 +msgid "The message" +msgstr "Сообщение" + +#: src/common/text.c:961 +#: src/common/text.c:1023 +msgid "Old nickname" +msgstr "Старый ник" + +#: src/common/text.c:962 +#: src/common/text.c:1024 +msgid "New nickname" +msgstr "Новый ник" + +#: src/common/text.c:966 +msgid "Nick of person who changed the topic" +msgstr "Ник человека, который поменял Топик" + +#: src/common/text.c:967 +#: src/common/text.c:973 +#: src/fe-gtk/chanlist.c:766 +#: src/fe-gtk/chanlist.c:869 +msgid "Topic" +msgstr "Топик" + +#: src/common/text.c:968 +#: src/common/text.c:972 +#: src/common/text.c:1403 +#: src/fe-gtk/chanlist.c:764 +#: src/fe-gtk/ignoregui.c:176 +#: src/fe-gtk/servlistgui.c:892 +msgid "Channel" +msgstr "Канал" + +#: src/common/text.c:977 +#: src/common/text.c:1030 +msgid "The nickname of the kicker" +msgstr "Ник выкинувшего" + +#: src/common/text.c:978 +#: src/common/text.c:1028 +msgid "The person being kicked" +msgstr "Персона выкинута" + +#: src/common/text.c:979 +#: src/common/text.c:986 +#: src/common/text.c:990 +#: src/common/text.c:995 +#: src/common/text.c:1029 +#: src/common/text.c:1037 +#: src/common/text.c:1044 +msgid "The channel" +msgstr "Канал" + +#: src/common/text.c:980 +#: src/common/text.c:1031 +#: src/common/text.c:1038 +msgid "The reason" +msgstr "Причина" + +#: src/common/text.c:984 +#: src/common/text.c:1035 +msgid "The nick of the person leaving" +msgstr "Ник вышедшего" + +#: src/common/text.c:991 +#: src/common/text.c:997 +msgid "The time" +msgstr "Время" + +#: src/common/text.c:996 +msgid "The creator" +msgstr "Создатель" + +#: src/common/text.c:1001 +#: src/fe-gtk/dccgui.c:763 +#: src/fe-gtk/dccgui.c:996 +msgid "Nick" +msgstr "Ник" + +#: src/common/text.c:1002 +#: src/common/text.c:1255 +msgid "Reason" +msgstr "Причина" + +#: src/common/text.c:1003 +#: src/common/text.c:1145 +#: src/common/text.c:1228 +msgid "Host" +msgstr "Адрес машины" + +#: src/common/text.c:1007 +#: src/common/text.c:1012 +#: src/common/text.c:1017 +msgid "Who it's from" +msgstr "Откуда этот" + +#: src/common/text.c:1008 +msgid "The time in x.x format (see below)" +msgstr "Время в формате x.x (см. ниже)" + +#: src/common/text.c:1018 +#: src/common/text.c:1055 +msgid "The Channel it's going to" +msgstr "Список каналов..." + +#: src/common/text.c:1042 +msgid "The sound" +msgstr "Звук" + +#: src/common/text.c:1043 +#: src/common/text.c:1049 +#: src/common/text.c:1054 +msgid "The nick of the person" +msgstr "Ник персоны" + +#: src/common/text.c:1048 +#: src/common/text.c:1053 +msgid "The CTCP event" +msgstr "CTCP событие" + +#: src/common/text.c:1059 +msgid "The nick of the person who set the key" +msgstr "Ник персоны, установившей ключ" + +#: src/common/text.c:1060 +msgid "The key" +msgstr "Ключ" + +#: src/common/text.c:1064 +msgid "The nick of the person who set the limit" +msgstr "Ник персоны, установившей лимит" + +#: src/common/text.c:1065 +msgid "The limit" +msgstr "Ограничение" + +#: src/common/text.c:1069 +msgid "The nick of the person who did the op'ing" +msgstr "Ник человека, установившего оператора" + +#: src/common/text.c:1070 +msgid "The nick of the person who has been op'ed" +msgstr "Ник персоны, кому дали права оператора" + +#: src/common/text.c:1074 +msgid "The nick of the person who has been halfop'ed" +msgstr "Ник персоны, кому дали права полуоператора" + +#: src/common/text.c:1075 +msgid "The nick of the person who did the halfop'ing" +msgstr "Ник человека, который дал права полуоператора" + +#: src/common/text.c:1079 +msgid "The nick of the person who did the voice'ing" +msgstr "Ник человека, который дал право голоса" + +#: src/common/text.c:1080 +msgid "The nick of the person who has been voice'ed" +msgstr "Ник человека, которому дали право голоса" + +#: src/common/text.c:1084 +msgid "The nick of the person who did the banning" +msgstr "Ник забанившего" + +#: src/common/text.c:1085 +#: src/common/text.c:1112 +msgid "The ban mask" +msgstr "Маска бана" + +#: src/common/text.c:1089 +msgid "The nick who removed the key" +msgstr "Ник удалившего ключ" + +#: src/common/text.c:1093 +msgid "The nick who removed the limit" +msgstr "Ник удалившего ограничение" + +#: src/common/text.c:1097 +msgid "The nick of the person of did the deop'ing" +msgstr "Ник персоны, который де-опнул" + +#: src/common/text.c:1098 +msgid "The nick of the person who has been deop'ed" +msgstr "Ник персоны, которого де-опили." + +#: src/common/text.c:1101 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Ник персоны, который снял статус полуоператора" + +#: src/common/text.c:1102 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Ник персоны, с которой сняли статус полуоператора" + +#: src/common/text.c:1106 +msgid "The nick of the person of did the devoice'ing" +msgstr "Ник персоны, который снял право голоса" + +#: src/common/text.c:1107 +msgid "The nick of the person who has been devoice'ed" +msgstr "Ник персоны, с которой сняли право голоса" + +#: src/common/text.c:1111 +msgid "The nick of the person of did the unban'ing" +msgstr "Ник персоны, снявшей бан." + +#: src/common/text.c:1116 +msgid "The nick of the person who did the exempt" +msgstr "Ник персоны, вызвавшей исключение" + +#: src/common/text.c:1117 +#: src/common/text.c:1122 +msgid "The exempt mask" +msgstr "Маска исключения" + +#: src/common/text.c:1121 +msgid "The nick of the person removed the exempt" +msgstr "Ник персоны, убравшей исключение" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the invite" +msgstr "Ник персоны, сделавшей приглашение" + +#: src/common/text.c:1127 +#: src/common/text.c:1132 +msgid "The invite mask" +msgstr "Маска приглашения" + +#: src/common/text.c:1131 +msgid "The nick of the person removed the invite" +msgstr "Ник персоны, удалившей приглашение" + +#: src/common/text.c:1136 +msgid "The nick of the person setting the mode" +msgstr "Ник персоны, установившего режим" + +#: src/common/text.c:1137 +msgid "The mode's sign (+/-)" +msgstr "Знаки режима (+/-)" + +#: src/common/text.c:1138 +msgid "The mode letter" +msgstr "Буквы режима" + +#: src/common/text.c:1139 +msgid "The channel it's being set on" +msgstr "Канал установлен" + +#: src/common/text.c:1144 +msgid "Username" +msgstr "Имя пользователя" + +#: src/common/text.c:1146 +msgid "Full name" +msgstr "Полное имя" + +#: src/common/text.c:1151 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Член канала/\"IRC - оператор\"" + +#: src/common/text.c:1156 +msgid "Server Information" +msgstr "Информация о сервере" + +#: src/common/text.c:1161 +#: src/common/text.c:1166 +msgid "Idle time" +msgstr "Время простоя" + +#: src/common/text.c:1167 +msgid "Signon time" +msgstr "Время ввода пароля" + +#: src/common/text.c:1172 +msgid "Away reason" +msgstr "Причина ухода:" + +#: src/common/text.c:1181 +#: src/common/text.c:1187 +#: src/common/text.c:1195 +#: src/common/text.c:1375 +msgid "Message" +msgstr "Сообщение" + +#: src/common/text.c:1188 +msgid "Account" +msgstr "Учетная запись" + +#: src/common/text.c:1193 +msgid "Real user@host" +msgstr "Фактический пользователь@компьютер" + +#: src/common/text.c:1194 +msgid "Real IP" +msgstr "Фактический IP" + +#: src/common/text.c:1199 +#: src/common/text.c:1208 +#: src/common/text.c:1214 +#: src/common/text.c:1244 +#: src/common/text.c:1398 +msgid "Channel Name" +msgstr "Имя канала" + +#: src/common/text.c:1203 +#: src/common/text.c:1361 +#: src/fe-gtk/menu.c:1404 +#: src/fe-gtk/menu.c:1592 +#: src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "Текст" + +#: src/common/text.c:1204 +#: src/common/text.c:1210 +#: src/common/text.c:1239 +#: src/common/text.c:1357 +#: src/common/text.c:1399 +msgid "Server Name" +msgstr "Имя сервера" + +#: src/common/text.c:1209 +msgid "Nick of person who invited you" +msgstr "Ник персоны, пригласившей вас" + +#: src/common/text.c:1215 +#: src/fe-gtk/chanlist.c:765 +msgid "Users" +msgstr "Пользователи" + +#: src/common/text.c:1219 +msgid "Nickname in use" +msgstr "Ник используется" + +#: src/common/text.c:1220 +msgid "Nick being tried" +msgstr "Пробуем ник" + +#: src/common/text.c:1229 +#: src/common/text.c:1365 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1230 +#: src/common/text.c:1261 +msgid "Port" +msgstr "Порт" + +#: src/common/text.c:1240 +#: src/fe-gtk/notifygui.c:139 +#: src/fe-gtk/setup.c:1713 +msgid "Network" +msgstr "Сеть" + +#: src/common/text.c:1245 +#: src/common/text.c:1250 +msgid "Modes string" +msgstr "Строка режимов" + +#: src/common/text.c:1260 +#: src/common/text.c:1298 +#: src/common/text.c:1303 +#: src/common/text.c:1344 +msgid "IP address" +msgstr "IP Адрес" + +#: src/common/text.c:1266 +#: src/common/text.c:1291 +msgid "DCC Type" +msgstr "Тип DCC" + +#: src/common/text.c:1267 +#: src/common/text.c:1272 +#: src/common/text.c:1277 +#: src/common/text.c:1284 +#: src/common/text.c:1304 +#: src/common/text.c:1308 +#: src/common/text.c:1314 +#: src/common/text.c:1320 +#: src/common/text.c:1327 +#: src/common/text.c:1336 +#: src/common/text.c:1342 +msgid "Filename" +msgstr "Имя файла" + +#: src/common/text.c:1278 +#: src/common/text.c:1285 +msgid "Destination filename" +msgstr "Имя файла у получателя" + +#: src/common/text.c:1287 +#: src/common/text.c:1316 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1322 +msgid "Pathname" +msgstr "Путь" + +#: src/common/text.c:1337 +#: src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "Положение" + +#: src/common/text.c:1343 +#: src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "Размер" + +#: src/common/text.c:1348 +msgid "DCC String" +msgstr "Строка DCC" + +#: src/common/text.c:1353 +msgid "Number of notify items" +msgstr "Количество уведомлений" + +#: src/common/text.c:1369 +msgid "Old Filename" +msgstr "Старое имя файла" + +#: src/common/text.c:1370 +msgid "New Filename" +msgstr "Новое имя файла" + +#: src/common/text.c:1374 +msgid "Receiver" +msgstr "Получатель" + +#: src/common/text.c:1379 +msgid "Hostmask" +msgstr "Маска компьютера" + +#: src/common/text.c:1384 +msgid "Hostname" +msgstr "Имя машины" + +#: src/common/text.c:1389 +msgid "The Packet" +msgstr "Пакет" + +#: src/common/text.c:1393 +msgid "Seconds" +msgstr "Секунд." + +#: src/common/text.c:1397 +msgid "Nick of person who have been invited" +msgstr "Ник приглашенного" + +#: src/common/text.c:1404 +msgid "Banmask" +msgstr "Маска бана" + +#: src/common/text.c:1405 +msgid "Who set the ban" +msgstr "Кто установил бан" + +#: src/common/text.c:1406 +msgid "Ban time" +msgstr "Продолжительность бана" + +#: src/common/text.c:1446 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Ошибка разбора события %s.\n" +"Загружаем по умолчанию." + +#: src/common/text.c:2189 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Невозможно прочитать звуковой файл:\n" +"%s" + +#: src/common/util.c:297 +msgid "Remote host closed socket" +msgstr "Удаленная машина закрыла сокет" + +#: src/common/util.c:302 +msgid "Connection refused" +msgstr "Соединение отвергнуто" + +#: src/common/util.c:305 +msgid "No route to host" +msgstr "Нет маршрута к хосту" + +#: src/common/util.c:307 +msgid "Connection timed out" +msgstr "Истечение времени ожидания соединения" + +#: src/common/util.c:309 +msgid "Cannot assign that address" +msgstr "Не могу назначить этот адрес" + +#: src/common/util.c:311 +msgid "Connection reset by peer" +msgstr "Соединение оборвано" + +#: src/common/util.c:848 +msgid "Ascension Island" +msgstr "Остров Вознесения" + +#: src/common/util.c:849 +msgid "Andorra" +msgstr "Андорра" + +#: src/common/util.c:850 +msgid "United Arab Emirates" +msgstr "Объединенные арабские эмираты" + +#: src/common/util.c:851 +msgid "Afghanistan" +msgstr "Афганистан" + +#: src/common/util.c:852 +msgid "Antigua and Barbuda" +msgstr "Антигуа и Барбуда" + +#: src/common/util.c:853 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:854 +msgid "Albania" +msgstr "Албания" + +#: src/common/util.c:855 +msgid "Armenia" +msgstr "Армения" + +#: src/common/util.c:856 +msgid "Netherlands Antilles" +msgstr "Нидерланды " + +#: src/common/util.c:857 +msgid "Angola" +msgstr "Ангола" + +#: src/common/util.c:858 +msgid "Antarctica" +msgstr "Антарктика" + +#: src/common/util.c:859 +msgid "Argentina" +msgstr "Аргентина" + +#: src/common/util.c:860 +msgid "Reverse DNS" +msgstr "Обратный DNS" + +#: src/common/util.c:861 +msgid "American Samoa" +msgstr "Американское Самоа" + +#: src/common/util.c:862 +msgid "Austria" +msgstr "Австрия" + +#: src/common/util.c:863 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:864 +msgid "Australia" +msgstr "Австралия" + +#: src/common/util.c:865 +msgid "Aruba" +msgstr "Аруба" + +#: src/common/util.c:866 +msgid "Aland Islands" +msgstr "Аландские острова" + +#: src/common/util.c:867 +msgid "Azerbaijan" +msgstr "Азербайджан" + +#: src/common/util.c:868 +msgid "Bosnia and Herzegovina" +msgstr "Босния и Герцеговина" + +#: src/common/util.c:869 +msgid "Barbados" +msgstr "Барбадос" + +#: src/common/util.c:870 +msgid "Bangladesh" +msgstr "Бангладеш" + +#: src/common/util.c:871 +msgid "Belgium" +msgstr "Бельгия" + +#: src/common/util.c:872 +msgid "Burkina Faso" +msgstr "Буркина Фасо" + +#: src/common/util.c:873 +msgid "Bulgaria" +msgstr "Болгария" + +#: src/common/util.c:874 +msgid "Bahrain" +msgstr "Бахрейн" + +#: src/common/util.c:875 +msgid "Burundi" +msgstr "Бурунди" + +#: src/common/util.c:876 +msgid "Businesses" +msgstr "Businesses" + +#: src/common/util.c:877 +msgid "Benin" +msgstr "Бенин" + +#: src/common/util.c:878 +msgid "Bermuda" +msgstr "Бермуды" + +#: src/common/util.c:879 +msgid "Brunei Darussalam" +msgstr "Бруней " + +#: src/common/util.c:880 +msgid "Bolivia" +msgstr "Боливия" + +#: src/common/util.c:881 +msgid "Brazil" +msgstr "Бразилия" + +#: src/common/util.c:882 +msgid "Bahamas" +msgstr "Багамы" + +#: src/common/util.c:883 +msgid "Bhutan" +msgstr "Бутан" + +#: src/common/util.c:884 +msgid "Bouvet Island" +msgstr "Острова Буве" + +#: src/common/util.c:885 +msgid "Botswana" +msgstr "Ботсвана" + +#: src/common/util.c:886 +msgid "Belarus" +msgstr "Беларусь" + +#: src/common/util.c:887 +msgid "Belize" +msgstr "Белиз" + +#: src/common/util.c:888 +msgid "Canada" +msgstr "Канада" + +#: src/common/util.c:889 +msgid "Cocos Islands" +msgstr "Кокосовые о-ва" + +#: src/common/util.c:890 +msgid "Democratic Republic of Congo" +msgstr "Республика Конго" + +#: src/common/util.c:891 +msgid "Central African Republic" +msgstr "Центральная Африканская Республика" + +#: src/common/util.c:892 +msgid "Congo" +msgstr "Конго" + +#: src/common/util.c:893 +msgid "Switzerland" +msgstr "Швейцария" + +#: src/common/util.c:894 +msgid "Cote d'Ivoire" +msgstr "Кот'Д'Ивуар" + +#: src/common/util.c:895 +msgid "Cook Islands" +msgstr "Острова Кука" + +#: src/common/util.c:896 +msgid "Chile" +msgstr "Чили" + +#: src/common/util.c:897 +msgid "Cameroon" +msgstr "Камерун" + +#: src/common/util.c:898 +msgid "China" +msgstr "Китай" + +#: src/common/util.c:899 +msgid "Colombia" +msgstr "Колумбия" + +#: src/common/util.c:900 +msgid "Internic Commercial" +msgstr "Коммерческие" + +#: src/common/util.c:901 +msgid "Costa Rica" +msgstr "Коста Рика" + +#: src/common/util.c:902 +msgid "Serbia and Montenegro" +msgstr "Сербия и Черногория" + +#: src/common/util.c:903 +msgid "Cuba" +msgstr "Куба" + +#: src/common/util.c:904 +msgid "Cape Verde" +msgstr "Капо-Верде" + +#: src/common/util.c:905 +msgid "Christmas Island" +msgstr "Рождественские острова" + +#: src/common/util.c:906 +msgid "Cyprus" +msgstr "Кипр" + +#: src/common/util.c:907 +msgid "Czech Republic" +msgstr "Чешская республика" + +#: src/common/util.c:908 +msgid "Germany" +msgstr "Германия" + +#: src/common/util.c:909 +msgid "Djibouti" +msgstr "Джибути" + +#: src/common/util.c:910 +msgid "Denmark" +msgstr "Дания" + +#: src/common/util.c:911 +msgid "Dominica" +msgstr "Доминика" + +#: src/common/util.c:912 +msgid "Dominican Republic" +msgstr "Доминиканская республика" + +#: src/common/util.c:913 +msgid "Algeria" +msgstr "Алжир" + +#: src/common/util.c:914 +msgid "Ecuador" +msgstr "Эквадор" + +#: src/common/util.c:915 +msgid "Educational Institution" +msgstr "Образовательные учреждения" + +#: src/common/util.c:916 +msgid "Estonia" +msgstr "Эстония" + +#: src/common/util.c:917 +msgid "Egypt" +msgstr "Египет" + +#: src/common/util.c:918 +msgid "Western Sahara" +msgstr "Западная сахара" + +#: src/common/util.c:919 +msgid "Eritrea" +msgstr "Эритрея" + +#: src/common/util.c:920 +msgid "Spain" +msgstr "Испания" + +#: src/common/util.c:921 +msgid "Ethiopia" +msgstr "Эфиопия" + +#: src/common/util.c:922 +msgid "European Union" +msgstr "Европейский Союз" + +#: src/common/util.c:923 +msgid "Finland" +msgstr "Финляндия" + +#: src/common/util.c:924 +msgid "Fiji" +msgstr "Фиджи" + +#: src/common/util.c:925 +msgid "Falkland Islands" +msgstr "Фолклендские о-ва" + +#: src/common/util.c:926 +msgid "Micronesia" +msgstr "Микронезия" + +#: src/common/util.c:927 +msgid "Faroe Islands" +msgstr "Острова Фарое" + +#: src/common/util.c:928 +msgid "France" +msgstr "Франция" + +#: src/common/util.c:929 +msgid "Gabon" +msgstr "Габон" + +#: src/common/util.c:930 +msgid "Great Britain" +msgstr "Великобритания" + +#: src/common/util.c:931 +msgid "Grenada" +msgstr "Гренада" + +#: src/common/util.c:932 +msgid "Georgia" +msgstr "Грузия" + +#: src/common/util.c:933 +msgid "French Guiana" +msgstr "Французская Гвиана" + +#: src/common/util.c:934 +msgid "British Channel Isles" +msgstr "Британские острова" + +#: src/common/util.c:935 +msgid "Ghana" +msgstr "Гана" + +#: src/common/util.c:936 +msgid "Gibraltar" +msgstr "Гибралтар" + +#: src/common/util.c:937 +msgid "Greenland" +msgstr "Гренландия" + +#: src/common/util.c:938 +msgid "Gambia" +msgstr "Гамбия" + +#: src/common/util.c:939 +msgid "Guinea" +msgstr "Гвинея" + +#: src/common/util.c:940 +msgid "Government" +msgstr "Правительственные" + +#: src/common/util.c:941 +msgid "Guadeloupe" +msgstr "Гваделупа" + +#: src/common/util.c:942 +msgid "Equatorial Guinea" +msgstr "Экваториальная Гвинея" + +#: src/common/util.c:943 +msgid "Greece" +msgstr "Греция" + +#: src/common/util.c:944 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Южная Георгия и Южные Сандвичевы острова" + +#: src/common/util.c:945 +msgid "Guatemala" +msgstr "Гватемала" + +#: src/common/util.c:946 +msgid "Guam" +msgstr "Гуам" + +#: src/common/util.c:947 +msgid "Guinea-Bissau" +msgstr "Гвинея-Биссау" + +#: src/common/util.c:948 +msgid "Guyana" +msgstr "Гайаня" + +#: src/common/util.c:949 +msgid "Hong Kong" +msgstr "Гонк Конг" + +#: src/common/util.c:950 +msgid "Heard and McDonald Islands" +msgstr "Heard and McDonald Islands" + +#: src/common/util.c:951 +msgid "Honduras" +msgstr "Гондурас" + +#: src/common/util.c:952 +msgid "Croatia" +msgstr "Хорватия" + +#: src/common/util.c:953 +msgid "Haiti" +msgstr "Гаити" + +#: src/common/util.c:954 +msgid "Hungary" +msgstr "Венгрия" + +#: src/common/util.c:955 +msgid "Indonesia" +msgstr "Индонезия" + +#: src/common/util.c:956 +msgid "Ireland" +msgstr "Ирландия" + +#: src/common/util.c:957 +msgid "Israel" +msgstr "Израиль" + +#: src/common/util.c:958 +msgid "Isle of Man" +msgstr "Остров Мэн" + +#: src/common/util.c:959 +msgid "India" +msgstr "Индия" + +#: src/common/util.c:960 +msgid "Informational" +msgstr "Информационные" + +#: src/common/util.c:961 +msgid "International" +msgstr "Интернациональные" + +#: src/common/util.c:962 +msgid "British Indian Ocean Territory" +msgstr "Британская индоокеанская территория" + +#: src/common/util.c:963 +msgid "Iraq" +msgstr "Ирак" + +#: src/common/util.c:964 +msgid "Iran" +msgstr "Иран" + +#: src/common/util.c:965 +msgid "Iceland" +msgstr "Исландия" + +#: src/common/util.c:966 +msgid "Italy" +msgstr "Италия" + +#: src/common/util.c:967 +msgid "Jersey" +msgstr "Джерси (Нормандские острова)" + +#: src/common/util.c:968 +msgid "Jamaica" +msgstr "Ямайка" + +#: src/common/util.c:969 +msgid "Jordan" +msgstr "Иордания" + +#: src/common/util.c:970 +msgid "Japan" +msgstr "Япония" + +#: src/common/util.c:971 +msgid "Kenya" +msgstr "Кения" + +#: src/common/util.c:972 +msgid "Kyrgyzstan" +msgstr "Киргизстан" + +#: src/common/util.c:973 +msgid "Cambodia" +msgstr "Камбоджа" + +#: src/common/util.c:974 +msgid "Kiribati" +msgstr "Кирибати" + +#: src/common/util.c:975 +msgid "Comoros" +msgstr "Коморос" + +#: src/common/util.c:976 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts and Nevis" + +#: src/common/util.c:977 +msgid "North Korea" +msgstr "Северная Корея" + +#: src/common/util.c:978 +msgid "South Korea" +msgstr "Южная Корея" + +#: src/common/util.c:979 +msgid "Kuwait" +msgstr "Кувейт" + +#: src/common/util.c:980 +msgid "Cayman Islands" +msgstr "Каймановы о-ва" + +#: src/common/util.c:981 +msgid "Kazakhstan" +msgstr "Казахстан" + +#: src/common/util.c:982 +msgid "Laos" +msgstr "Лаос" + +#: src/common/util.c:983 +msgid "Lebanon" +msgstr "Ливан" + +#: src/common/util.c:984 +msgid "Saint Lucia" +msgstr "Санта Лючия" + +#: src/common/util.c:985 +msgid "Liechtenstein" +msgstr "Лихтенштейн" + +#: src/common/util.c:986 +msgid "Sri Lanka" +msgstr "Шри Ланка" + +#: src/common/util.c:987 +msgid "Liberia" +msgstr "Либерия" + +#: src/common/util.c:988 +msgid "Lesotho" +msgstr "Лесото" + +#: src/common/util.c:989 +msgid "Lithuania" +msgstr "Литва" + +#: src/common/util.c:990 +msgid "Luxembourg" +msgstr "Люксембург" + +#: src/common/util.c:991 +msgid "Latvia" +msgstr "Латвия" + +#: src/common/util.c:992 +msgid "Libya" +msgstr "Ливия" + +#: src/common/util.c:993 +msgid "Morocco" +msgstr "Марокко" + +#: src/common/util.c:994 +msgid "Monaco" +msgstr "Монако" + +#: src/common/util.c:995 +msgid "Moldova" +msgstr "Молдова" + +#: src/common/util.c:996 +msgid "United States Medical" +msgstr "Медучреждения США" + +#: src/common/util.c:997 +msgid "Madagascar" +msgstr "Мадагаскар" + +#: src/common/util.c:998 +msgid "Marshall Islands" +msgstr "Маршаловы о-ва" + +#: src/common/util.c:999 +msgid "Military" +msgstr "Военные" + +#: src/common/util.c:1000 +msgid "Macedonia" +msgstr "Македония" + +#: src/common/util.c:1001 +msgid "Mali" +msgstr "Мали" + +#: src/common/util.c:1002 +msgid "Myanmar" +msgstr "Мьянма" + +#: src/common/util.c:1003 +msgid "Mongolia" +msgstr "Монголия" + +#: src/common/util.c:1004 +msgid "Macau" +msgstr "Макао" + +#: src/common/util.c:1005 +msgid "Northern Mariana Islands" +msgstr "Северные Марианские острова" + +#: src/common/util.c:1006 +msgid "Martinique" +msgstr "Мартиника" + +#: src/common/util.c:1007 +msgid "Mauritania" +msgstr "Мавритания" + +#: src/common/util.c:1008 +msgid "Montserrat" +msgstr "Монтсерат" + +#: src/common/util.c:1009 +msgid "Malta" +msgstr "Мальта" + +#: src/common/util.c:1010 +msgid "Mauritius" +msgstr "Маврикий" + +#: src/common/util.c:1011 +msgid "Maldives" +msgstr "Мальдивы" + +#: src/common/util.c:1012 +msgid "Malawi" +msgstr "Малави" + +#: src/common/util.c:1013 +msgid "Mexico" +msgstr "Мексика" + +#: src/common/util.c:1014 +msgid "Malaysia" +msgstr "Малайзия" + +#: src/common/util.c:1015 +msgid "Mozambique" +msgstr "Мозамбик" + +#: src/common/util.c:1016 +msgid "Namibia" +msgstr "Намибия" + +#: src/common/util.c:1017 +msgid "New Caledonia" +msgstr "Новая Каледония" + +#: src/common/util.c:1018 +msgid "Niger" +msgstr "Нигер" + +#: src/common/util.c:1019 +msgid "Internic Network" +msgstr "Сети" + +#: src/common/util.c:1020 +msgid "Norfolk Island" +msgstr "Норфолкские острова" + +#: src/common/util.c:1021 +msgid "Nigeria" +msgstr "Нигерия" + +#: src/common/util.c:1022 +msgid "Nicaragua" +msgstr "Никарагуа" + +#: src/common/util.c:1023 +msgid "Netherlands" +msgstr "Нидерланды" + +#: src/common/util.c:1024 +msgid "Norway" +msgstr "Норвегия" + +#: src/common/util.c:1025 +msgid "Nepal" +msgstr "Непал" + +#: src/common/util.c:1026 +msgid "Nauru" +msgstr "Науру" + +#: src/common/util.c:1027 +msgid "Niue" +msgstr "Ниуе" + +#: src/common/util.c:1028 +msgid "New Zealand" +msgstr "Новая зеландия" + +#: src/common/util.c:1029 +msgid "Oman" +msgstr "Оман" + +#: src/common/util.c:1030 +msgid "Internic Non-Profit Organization" +msgstr "Сетевые некоммерческие организации" + +#: src/common/util.c:1031 +msgid "Panama" +msgstr "Панама" + +#: src/common/util.c:1032 +msgid "Peru" +msgstr "Перу" + +#: src/common/util.c:1033 +msgid "French Polynesia" +msgstr "Французская Полинезия" + +#: src/common/util.c:1034 +msgid "Papua New Guinea" +msgstr "Новая Гвинея" + +#: src/common/util.c:1035 +msgid "Philippines" +msgstr "Филлипины" + +#: src/common/util.c:1036 +msgid "Pakistan" +msgstr "Пакистан" + +#: src/common/util.c:1037 +msgid "Poland" +msgstr "Польша" + +#: src/common/util.c:1038 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre and Miquelon" + +#: src/common/util.c:1039 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:1040 +msgid "Puerto Rico" +msgstr "Пуэрто Рико" + +#: src/common/util.c:1041 +msgid "Palestinian Territory" +msgstr "Палестинские территории" + +#: src/common/util.c:1042 +msgid "Portugal" +msgstr "Португалия" + +#: src/common/util.c:1043 +msgid "Palau" +msgstr "Палау" + +#: src/common/util.c:1044 +msgid "Paraguay" +msgstr "Парагвай" + +#: src/common/util.c:1045 +msgid "Qatar" +msgstr "Катар" + +#: src/common/util.c:1046 +msgid "Reunion" +msgstr "Реунион" + +#: src/common/util.c:1047 +msgid "Romania" +msgstr "Румыния" + +#: src/common/util.c:1048 +msgid "Old School ARPAnet" +msgstr "Старая сеть ARPAnet" + +#: src/common/util.c:1049 +msgid "Russian Federation" +msgstr "Россия" + +#: src/common/util.c:1050 +msgid "Rwanda" +msgstr "Руанда" + +#: src/common/util.c:1051 +msgid "Saudi Arabia" +msgstr "Саудовская Аравия" + +#: src/common/util.c:1052 +msgid "Solomon Islands" +msgstr "Соломоновы о-ва" + +#: src/common/util.c:1053 +msgid "Seychelles" +msgstr "Сейшелы" + +#: src/common/util.c:1054 +msgid "Sudan" +msgstr "Судан" + +#: src/common/util.c:1055 +msgid "Sweden" +msgstr "Швеция" + +#: src/common/util.c:1056 +msgid "Singapore" +msgstr "Сингапур" + +#: src/common/util.c:1057 +msgid "St. Helena" +msgstr "Святая Елена" + +#: src/common/util.c:1058 +msgid "Slovenia" +msgstr "Словения" + +#: src/common/util.c:1059 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard and Jan Mayen Islands" + +#: src/common/util.c:1060 +msgid "Slovak Republic" +msgstr "Словацкая Республика" + +#: src/common/util.c:1061 +msgid "Sierra Leone" +msgstr "Сьера Леоне" + +#: src/common/util.c:1062 +msgid "San Marino" +msgstr "Сан Марино" + +#: src/common/util.c:1063 +msgid "Senegal" +msgstr "Сенегал" + +#: src/common/util.c:1064 +msgid "Somalia" +msgstr "Сомали" + +#: src/common/util.c:1065 +msgid "Suriname" +msgstr "Суринам" + +#: src/common/util.c:1066 +msgid "Sao Tome and Principe" +msgstr "Сен-Томе и Принсипи" + +#: src/common/util.c:1067 +msgid "Former USSR" +msgstr "Бывш. СССР" + +#: src/common/util.c:1068 +msgid "El Salvador" +msgstr "Сальвадор" + +#: src/common/util.c:1069 +msgid "Syria" +msgstr "Сирия" + +#: src/common/util.c:1070 +msgid "Swaziland" +msgstr "Свазиленд" + +#: src/common/util.c:1071 +msgid "Turks and Caicos Islands" +msgstr "о-ва Тёркс и Кайкос" + +#: src/common/util.c:1072 +msgid "Chad" +msgstr "Чад" + +#: src/common/util.c:1073 +msgid "French Southern Territories" +msgstr "Франзузские Южные Территории" + +#: src/common/util.c:1074 +msgid "Togo" +msgstr "Того" + +#: src/common/util.c:1075 +msgid "Thailand" +msgstr "Таиланд" + +#: src/common/util.c:1076 +msgid "Tajikistan" +msgstr "Таджикистан" + +#: src/common/util.c:1077 +msgid "Tokelau" +msgstr "о-ва Токелау" + +#: src/common/util.c:1078 +#: src/common/util.c:1082 +msgid "East Timor" +msgstr "Восточный Тимор" + +#: src/common/util.c:1079 +msgid "Turkmenistan" +msgstr "Туркменистан" + +#: src/common/util.c:1080 +msgid "Tunisia" +msgstr "Тунис" + +#: src/common/util.c:1081 +msgid "Tonga" +msgstr "Тонга" + +#: src/common/util.c:1083 +msgid "Turkey" +msgstr "Турция" + +#: src/common/util.c:1084 +msgid "Trinidad and Tobago" +msgstr "Тринидад и Тобаго" + +#: src/common/util.c:1085 +msgid "Tuvalu" +msgstr "Тувалу" + +#: src/common/util.c:1086 +msgid "Taiwan" +msgstr "Тайвань" + +#: src/common/util.c:1087 +msgid "Tanzania" +msgstr "Танзания" + +#: src/common/util.c:1088 +msgid "Ukraine" +msgstr "Украина" + +#: src/common/util.c:1089 +msgid "Uganda" +msgstr "Уганда" + +#: src/common/util.c:1090 +msgid "United Kingdom" +msgstr "Объединенное королевство" + +#: src/common/util.c:1091 +msgid "United States of America" +msgstr "США" + +#: src/common/util.c:1092 +msgid "Uruguay" +msgstr "Уругвай" + +#: src/common/util.c:1093 +msgid "Uzbekistan" +msgstr "Узбекистан" + +#: src/common/util.c:1094 +msgid "Vatican City State" +msgstr "Ватикан" + +#: src/common/util.c:1095 +msgid "St. Vincent and the Grenadines" +msgstr "Сент-Винсент и Гренадины" + +#: src/common/util.c:1096 +msgid "Venezuela" +msgstr "Венесуэла" + +#: src/common/util.c:1097 +msgid "British Virgin Islands" +msgstr "Британские Виргинские о-ва" + +#: src/common/util.c:1098 +msgid "US Virgin Islands" +msgstr "Американские Виргинские о-ва" + +#: src/common/util.c:1099 +msgid "Vietnam" +msgstr "Вьетнам" + +#: src/common/util.c:1100 +msgid "Vanuatu" +msgstr "Вануату" + +#: src/common/util.c:1101 +msgid "Wallis and Futuna Islands" +msgstr "Wallis and Futuna Islands" + +#: src/common/util.c:1102 +msgid "Samoa" +msgstr "Самоа" + +#: src/common/util.c:1103 +msgid "Yemen" +msgstr "Йемен" + +#: src/common/util.c:1104 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:1105 +msgid "Yugoslavia" +msgstr "Югославия" + +#: src/common/util.c:1106 +msgid "South Africa" +msgstr "Южная Африка" + +#: src/common/util.c:1107 +msgid "Zambia" +msgstr "Замбия" + +#: src/common/util.c:1108 +msgid "Zimbabwe" +msgstr "Зимбабве" + +#: src/common/util.c:1118 +#: src/common/util.c:1128 +#: src/fe-gtk/menu.c:611 +msgid "Unknown" +msgstr "Неизвестно" + +#: src/common/xchat.c:726 +msgid "_Open Dialog Window" +msgstr "Начать ра_зговор" + +#: src/common/xchat.c:727 +msgid "_Send a File" +msgstr "Отправить _файл" + +#: src/common/xchat.c:728 +msgid "_User Info (WhoIs)" +msgstr "_Информация (WHOIS)" + +#: src/common/xchat.c:729 +msgid "_Add to Friends List" +msgstr "Добавить в дру_зья" + +#: src/common/xchat.c:730 +msgid "O_perator Actions" +msgstr "Действия опе_ратора" + +#: src/common/xchat.c:732 +msgid "Give Ops" +msgstr "Дать оператора" + +#: src/common/xchat.c:733 +msgid "Take Ops" +msgstr "Снять оператора" + +#: src/common/xchat.c:734 +msgid "Give Voice" +msgstr "Дать голос" + +#: src/common/xchat.c:735 +msgid "Take Voice" +msgstr "Забрать голос" + +#: src/common/xchat.c:737 +msgid "Kick/Ban" +msgstr "Кик/Бан" + +#: src/common/xchat.c:738 +#: src/common/xchat.c:775 +msgid "Kick" +msgstr "Кик" + +#: src/common/xchat.c:739 +#: src/common/xchat.c:740 +#: src/common/xchat.c:741 +#: src/common/xchat.c:742 +#: src/common/xchat.c:743 +#: src/common/xchat.c:774 +msgid "Ban" +msgstr "Бан" + +#: src/common/xchat.c:744 +#: src/common/xchat.c:745 +#: src/common/xchat.c:746 +#: src/common/xchat.c:747 +msgid "KickBan" +msgstr "Кик+Бан" + +#: src/common/xchat.c:757 +msgid "Leave Channel" +msgstr "Уйти с канала" + +#: src/common/xchat.c:758 +msgid "Join Channel..." +msgstr "Зайти на канал..." + +#: src/common/xchat.c:759 +#: src/fe-gtk/menu.c:1281 +msgid "Enter Channel to Join:" +msgstr "Введите канал для входа:" + +#: src/common/xchat.c:760 +msgid "Server Links" +msgstr "Ссылки сервера" + +#: src/common/xchat.c:761 +msgid "Ping Server" +msgstr "Ping Server" + +#: src/common/xchat.c:762 +msgid "Hide Version" +msgstr "Не показывать версию" + +#: src/common/xchat.c:772 +msgid "Op" +msgstr "Оператор" + +#: src/common/xchat.c:773 +msgid "DeOp" +msgstr "Снять оператора" + +#: src/common/xchat.c:776 +msgid "bye" +msgstr "пока" + +#: src/common/xchat.c:777 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "введите причину выброса %s:" + +#: src/common/xchat.c:778 +msgid "Sendfile" +msgstr "Послать файл" + +#: src/common/xchat.c:779 +msgid "Dialog" +msgstr "Диалог" + +#: src/common/xchat.c:788 +msgid "WhoIs" +msgstr "Кто " + +#: src/common/xchat.c:789 +msgid "Send" +msgstr "Послать" + +#: src/common/xchat.c:790 +msgid "Chat" +msgstr "Разговор" + +#: src/common/xchat.c:791 +#: src/fe-gtk/banlist.c:413 +#: src/fe-gtk/ignoregui.c:389 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Очистить" + +#: src/common/xchat.c:792 +msgid "Ping" +msgstr "Ping" + +#: src/common/dbus/dbus-client.c:72 +msgid "Couldn't connect to session bus" +msgstr "Не удалось подключиться к сеансовой шине" + +#: src/common/dbus/dbus-client.c:86 +msgid "Failed to complete NameHasOwner" +msgstr "Не удалось завершить NameHasOwner" + +#: src/common/dbus/dbus-client.c:112 +msgid "Failed to complete Command" +msgstr "Не удалось выполнить команду" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "удаленный доступ" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "модуль для удаленного доступа через DBUS" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Не удалось подключиться к сеансовой шине: %s\n" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Не удалось получить %s: %s\n" + +#: src/fe-gtk/about.c:102 +msgid "About " +msgstr "О программе" + +#: src/fe-gtk/about.c:133 +msgid "A multiplatform IRC Client" +msgstr "Многоплатформенный IRC-клиент" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Кодировка" + +#: src/fe-gtk/banlist.c:151 +#: src/fe-gtk/chanlist.c:305 +#: src/fe-gtk/plugin-tray.c:302 +msgid "Not connected." +msgstr "Нет соединения." + +#: src/fe-gtk/banlist.c:249 +#: src/fe-gtk/banlist.c:329 +msgid "You must select some bans." +msgstr "Вы должны выбрать баны." + +#: src/fe-gtk/banlist.c:278 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "Вы действительно хотите снять все баны с %s?" + +#: src/fe-gtk/banlist.c:344 +#: src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Маска" + +#: src/fe-gtk/banlist.c:345 +msgid "From" +msgstr "От" + +#: src/fe-gtk/banlist.c:346 +msgid "Date" +msgstr "Дата" + +#: src/fe-gtk/banlist.c:389 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Список банов можно отктыть только при открытой вкладке канала." + +#: src/fe-gtk/banlist.c:393 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "X-Chat: Список банов (%s)" + +#: src/fe-gtk/banlist.c:409 +#: src/fe-gtk/notifygui.c:432 +msgid "Remove" +msgstr "Удалить" + +#: src/fe-gtk/banlist.c:411 +msgid "Crop" +msgstr "Сжать" + +#: src/fe-gtk/banlist.c:415 +msgid "Refresh" +msgstr "Обновить" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Статистика: %d/%d пользователей на %d/%d каналах" + +#: src/fe-gtk/chanlist.c:526 +#: src/fe-gtk/menu.c:1217 +#: src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Выберите файл для вывода" + +#: src/fe-gtk/chanlist.c:631 +#: src/fe-gtk/chanlist.c:799 +msgid "_Join Channel" +msgstr "Зайти на канал" + +#: src/fe-gtk/chanlist.c:633 +msgid "_Copy Channel Name" +msgstr "Копировать имя _канала" + +#: src/fe-gtk/chanlist.c:635 +msgid "Copy _Topic Text" +msgstr "Скопировать _тему общения" + +#: src/fe-gtk/chanlist.c:724 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "X-Chat: Список каналов (%s)" + +#: src/fe-gtk/chanlist.c:781 +msgid "_Search" +msgstr "Поиск" + +#: src/fe-gtk/chanlist.c:787 +msgid "_Download List" +msgstr "_Загрузить список" + +#: src/fe-gtk/chanlist.c:793 +msgid "Save _List..." +msgstr "Со_хранить список..." + +#: src/fe-gtk/chanlist.c:806 +msgid "Show only:" +msgstr "Показывать только:" + +#: src/fe-gtk/chanlist.c:818 +msgid "channels with" +msgstr "Открывать каналы как:" + +#: src/fe-gtk/chanlist.c:831 +msgid "to" +msgstr "к" + +#: src/fe-gtk/chanlist.c:843 +msgid "users." +msgstr "пользователи." + +#: src/fe-gtk/chanlist.c:849 +msgid "Look in:" +msgstr "Поиск в:" + +#: src/fe-gtk/chanlist.c:861 +msgid "Channel name" +msgstr "Имя канала" + +#: src/fe-gtk/chanlist.c:882 +msgid "Search type:" +msgstr "Тип поиска:" + +#: src/fe-gtk/chanlist.c:889 +msgid "Simple Search" +msgstr "Простой поиск" + +#: src/fe-gtk/chanlist.c:890 +msgid "Pattern Match (Wildcards)" +msgstr "Использовать шаблоны" + +#: src/fe-gtk/chanlist.c:892 +msgid "Regular Expression" +msgstr "Регулярное выражение" + +#: src/fe-gtk/chanlist.c:903 +#: src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Поиск:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "Отправить файл %s" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "Файл нельзя продолжить." + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Нет доступа к файлу: %s\n" +"%s.\n" +"Продолжение не доступно." + +#: src/fe-gtk/dccgui.c:507 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "Файл во входном каталоге больше запрошенного. Продолжение невозможно." + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "Не могу продолжить одинаковый файл от 2 пользователей." + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: Прием и передача файлов" + +#: src/fe-gtk/dccgui.c:756 +#: src/fe-gtk/dccgui.c:995 +#: src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "Статус" + +#: src/fe-gtk/dccgui.c:757 +#: src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Файл" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "Осталось" + +#: src/fe-gtk/dccgui.c:787 +#: src/fe-gtk/menu.c:1593 +msgid "Both" +msgstr "Оба" + +#: src/fe-gtk/dccgui.c:793 +msgid "Uploads" +msgstr "Отгрузки" + +#: src/fe-gtk/dccgui.c:799 +msgid "Downloads" +msgstr "Загрузки" + +#: src/fe-gtk/dccgui.c:804 +msgid "Details" +msgstr "Подробно" + +#: src/fe-gtk/dccgui.c:815 +msgid "File:" +msgstr "Файл:" + +#: src/fe-gtk/dccgui.c:816 +msgid "Address:" +msgstr "Адрес:" + +#: src/fe-gtk/dccgui.c:822 +#: src/fe-gtk/dccgui.c:1019 +msgid "Abort" +msgstr "Прервать" + +#: src/fe-gtk/dccgui.c:823 +#: src/fe-gtk/dccgui.c:1020 +msgid "Accept" +msgstr "Подтвердить" + +#: src/fe-gtk/dccgui.c:824 +msgid "Resume" +msgstr "Продолж." + +#: src/fe-gtk/dccgui.c:825 +msgid "Open Folder..." +msgstr "Открыть папку..." + +#: src/fe-gtk/dccgui.c:985 +msgid "XChat: DCC Chat List" +msgstr "XChat: Список разговоров по DCC" + +#: src/fe-gtk/dccgui.c:997 +msgid "Recv" +msgstr "Прин" + +#: src/fe-gtk/dccgui.c:998 +msgid "Sent" +msgstr "Отпр" + +#: src/fe-gtk/dccgui.c:999 +msgid "Start Time" +msgstr "Время Начала" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*НОВ*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "Исправь!!!" + +#: src/fe-gtk/editlist.c:310 +#: src/fe-gtk/notifygui.c:137 +#: src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Имя" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Команда" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Вверх" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Вниз" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Отмена" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Записать" + +#: src/fe-gtk/editlist.c:363 +#: src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Добавить новый" + +#: src/fe-gtk/editlist.c:367 +#: src/fe-gtk/fkeys.c:770 +#: src/fe-gtk/ignoregui.c:387 +msgid "Delete" +msgstr "Удалить" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Сортировать" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Помощь" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "Не подключаться к серверам" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "используется другой конфигурационный каталог" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "Не загружать автоматически плагины" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "показать каталог автозагружаемых плагинов" + +#: src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "показать каталог пользовательских настроек" + +#: src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "Открывает URL вида irc://сервер:порт/канал" + +#: src/fe-gtk/fe-gtk.c:133 +#: src/fe-gtk/setup.c:212 +msgid "Execute command:" +msgstr "Выполнить команду:" + +#: src/fe-gtk/fe-gtk.c:134 +msgid "Open URL or execute command in an existing XChat" +msgstr "Открыть URL или выполнить команду в запущенном XChat" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Вид окна при запуске. Ур. 0=обычное 1=свернутое 2=значок" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "level" +msgstr "уровень" + +#: src/fe-gtk/fe-gtk.c:137 +msgid "Show version information" +msgstr "Показать информацию о версии" + +#: src/fe-gtk/fe-gtk.c:257 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Ошибка открытия шрифта:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:636 +msgid "Search buffer is empty.\n" +msgstr "Буфер поиска пуст.\n" + +#: src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "%d bytes" +msgstr "%d байт" + +#: src/fe-gtk/fe-gtk.c:733 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Очередь отправки, байт: %d" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n" +" characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "Команда Run запускает данные в Data 1 как если бы они были впечатаны в поле ввода Где нажата последовательность клавиш. Может содержать текст (который можно послать на канал/персоне), команды или команды пользователя. Когда запускает все символы в Data 1 использует для разделения команд, если возможно запустить больше одной команды Если вы хотите использовать \\ iв тексте, вводите\\\\" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "Команда Сменить страницу переключает страницы записной книжки. Установите Data 1 на страницу, куда хотите переключиться. Если Data 2 установлена, то считается относительно текущей позиции." + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "Команда  Вставить в буфер вставит содержимое Данные 1 в текущую позицию курсора" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "Команда  Пролистать страницу пролистывает текст вверх или вниз. Возможные значения Данные 1: Up (вверх), Down (вниз), +1 или -1." + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "Команда  Установить буфер содержит последовательность, содержащуюся в Данные 1" + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "Команда  Последняя команда одержит последнюю введеную команду - такую же, как в оболочке." + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "Команда  Следующая команда содержит следующую введеную команду, - такую же, как и в оболочке." + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "Команда заменяет текст, дополняя ники и команды. Если Данные 1 установлены, двойной Tab выбирает последний ник, не следующий." + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "Команда прокручивает список ников. Если Данные 1 установлены - прокручивает вверх, иначе - вниз." + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "Команда проверяет последнее введенное слово в список замены и заменяет, если находит соответствие." + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "Эта команда перемещает текущую закладку влево." + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "Эта команда перемещает текущую закладку вправо." + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "Эта команда перемещает текущую группу закладок влево" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "Эта команда перемещает текущую группу закладок вправо" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "Записать строку в журнал, но не посылать на сервер" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "Ошибка загрузки конфигурации клавиш" + +#: src/fe-gtk/fkeys.c:450 +#: src/fe-gtk/fkeys.c:451 +#: src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 +#: src/fe-gtk/fkeys.c:743 +#: src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 +#: src/fe-gtk/maingui.c:1635 +#: src/fe-gtk/maingui.c:1751 +#: src/fe-gtk/maingui.c:3252 +msgid "<none>" +msgstr "<нет>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "Mod" + +#: src/fe-gtk/fkeys.c:708 +#: src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Клавиша" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Действие" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "X-Chat: Клавиатурные сокращения" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "Данные 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "Данные 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "Ошибка открытия файла настроек клавиш\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Неизвестное имя клавиши %s в конфигурационном файле.\n" +"Загрузка прекращена, поправьте файл %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Неизвестное действие %s в конфигурационном файле.\n" +"Загрузка прекращена, поправьте файл %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Требуется строка с данными (начинается на Dx{:|!}), но вместо нее:\n" +"%s\n" +"\n" +"Загрузка прервана, исправьте %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Конфигурационный файл настроек клавиш поврежден, загрузка прекращена\n" +"Исправьте файл %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "Невозможно записать в этот файл." + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "Невозможно прочитать этот файл." + +#: src/fe-gtk/ignoregui.c:117 +#: src/fe-gtk/ignoregui.c:264 +msgid "That mask already exists." +msgstr "Такая маска уже существует." + +#: src/fe-gtk/ignoregui.c:177 +#: src/fe-gtk/maingui.c:2132 +msgid "Private" +msgstr "Личный" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Сообщение" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Приглашен" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Не игнорировать" + +#: src/fe-gtk/ignoregui.c:308 +msgid "Enter mask to ignore:" +msgstr "Введите маску для игнорирования:" + +#: src/fe-gtk/ignoregui.c:355 +msgid "XChat: Ignore list" +msgstr "X-Chat: Черный список" + +#: src/fe-gtk/ignoregui.c:362 +msgid "Ignore Stats:" +msgstr "Состояние игнорирования:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Channel:" +msgstr "Канал:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Private:" +msgstr "Приватный:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Notice:" +msgstr "Сообщение:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:374 +msgid "Invite:" +msgstr "Пригласить:" + +#: src/fe-gtk/ignoregui.c:385 +#: src/fe-gtk/notifygui.c:428 +msgid "Add..." +msgstr "Добавить..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "Имя канала недостаточно длинное." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: Соединение завершено" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "Соединение с %s завершено." + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "В списке серверов для данной сети не были указаны каналы, в которые следует автоматически войти." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Что вы хотите сделать теперь?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_Ничего, я войду на канал позднее." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "Зайти на канал:" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Если вы знаете имя канала, на который хотите зайти, укажите его здесь." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "_Открыть список каналов" + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "Получение списка каналов займет минуту-две." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "Пока_зывать этот диалог при соединении." + +#: src/fe-gtk/maingui.c:506 +msgid "Dialog with" +msgstr "Диалог с" + +#: src/fe-gtk/maingui.c:793 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Тема для %s : %s" + +#: src/fe-gtk/maingui.c:798 +msgid "No topic is set" +msgstr "Тема не установлена" + +#: src/fe-gtk/maingui.c:1182 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "Для этого сервера открыто %d каналов или разговоров. Закрыть их все?" + +#: src/fe-gtk/maingui.c:1276 +msgid "Quit XChat?" +msgstr "Выйти из XChat?" + +#: src/fe-gtk/maingui.c:1297 +msgid "Don't ask next time." +msgstr "Не спрашивать в следующий раз" + +#: src/fe-gtk/maingui.c:1303 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Вы подключены к %i IRC-сетям." + +#: src/fe-gtk/maingui.c:1305 +msgid "Are you sure you want to quit?" +msgstr "Вы действительно хотите выйти?" + +#: src/fe-gtk/maingui.c:1307 +msgid "Some file transfers are still active." +msgstr "Некоторые передачи файлов еще активны." + +#: src/fe-gtk/maingui.c:1325 +msgid "_Minimize to Tray" +msgstr "Свернуть в з_начок" + +#: src/fe-gtk/maingui.c:1545 +msgid "Insert Attribute or Color Code" +msgstr "Вставить аттрибут или код цвета" + +#: src/fe-gtk/maingui.c:1547 +msgid "<b>Bold</b>" +msgstr "<b>Жирный</b>" + +#: src/fe-gtk/maingui.c:1548 +msgid "<u>Underline</u>" +msgstr "<u>Подчеркнутый</u>" + +#: src/fe-gtk/maingui.c:1550 +msgid "Normal" +msgstr "Обычный" + +#: src/fe-gtk/maingui.c:1552 +msgid "Colors 0-7" +msgstr "Цвета 0-7" + +#: src/fe-gtk/maingui.c:1562 +msgid "Colors 8-15" +msgstr "Цвета 8-15" + +#: src/fe-gtk/maingui.c:1605 +msgid "_Settings" +msgstr "_Настройки" + +#: src/fe-gtk/maingui.c:1607 +msgid "_Log to Disk" +msgstr "Запись _журнала" + +#: src/fe-gtk/maingui.c:1608 +msgid "_Reload Scrollback" +msgstr "За_гружать буфер" + +#: src/fe-gtk/maingui.c:1610 +msgid "_Hide Join/Part Messages" +msgstr "_Скрыть сообщения о приходе/уходе" + +#: src/fe-gtk/maingui.c:1618 +msgid "_Extra Alerts" +msgstr "Опове_щения" + +#: src/fe-gtk/maingui.c:1620 +msgid "Beep on _Message" +msgstr "_Звуковой сигнал при личном сообщении" + +#: src/fe-gtk/maingui.c:1621 +msgid "Blink Tray _Icon" +msgstr "_Мигание значка при личном сообщении" + +#: src/fe-gtk/maingui.c:1622 +msgid "Blink Task _Bar" +msgstr "Мерцание _окна" + +#: src/fe-gtk/maingui.c:1660 +#: src/fe-gtk/menu.c:2124 +msgid "_Detach" +msgstr "Отсо_единить" + +#: src/fe-gtk/maingui.c:1662 +#: src/fe-gtk/menu.c:2125 +#: src/fe-gtk/menu.c:2130 +#: src/fe-gtk/plugingui.c:236 +#: src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "Закрыть" + +#: src/fe-gtk/maingui.c:2000 +#: src/fe-gtk/maingui.c:2106 +msgid "User limit must be a number!\n" +msgstr "Лимит пользователей должен содержать номер!\n" + +#: src/fe-gtk/maingui.c:2128 +msgid "Topic Protection" +msgstr "Защитить тему" + +#: src/fe-gtk/maingui.c:2129 +msgid "No outside messages" +msgstr "Нет последних сообщений" + +#: src/fe-gtk/maingui.c:2130 +msgid "Secret" +msgstr "Секрет" + +#: src/fe-gtk/maingui.c:2131 +msgid "Invite Only" +msgstr "Только приглашенные" + +#: src/fe-gtk/maingui.c:2133 +msgid "Moderated" +msgstr "Модерируемый" + +#: src/fe-gtk/maingui.c:2134 +msgid "Ban List" +msgstr "Список банов" + +#: src/fe-gtk/maingui.c:2136 +msgid "Keyword" +msgstr "Ключевое слово" + +#: src/fe-gtk/maingui.c:2148 +msgid "User Limit" +msgstr "Ограничение пользователей" + +#: src/fe-gtk/maingui.c:2257 +msgid "Show/Hide userlist" +msgstr "Показать/Скрыть список пользователей" + +#: src/fe-gtk/maingui.c:2382 +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 "" +"Невозможно установить прозрачный фон!\n" +"\n" +"Возможно, вы используете несовместимый оконный\n" +"менеджер, который не поддерживает такую возможность.\n" + +#: src/fe-gtk/maingui.c:2653 +msgid "Enter new nickname:" +msgstr "Введите новый ник:" + +#: src/fe-gtk/menu.c:126 +msgid "Host unknown" +msgstr "Хост неизвестен" + +#: src/fe-gtk/menu.c:610 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:616 +#: src/fe-gtk/menu.c:620 +msgid "Real Name:" +msgstr "Настоящее имя:" + +#: src/fe-gtk/menu.c:624 +msgid "User:" +msgstr "Пользователь:" + +#: src/fe-gtk/menu.c:628 +msgid "Country:" +msgstr "Страна:" + +#: src/fe-gtk/menu.c:632 +msgid "Server:" +msgstr "Сервер:" + +#: src/fe-gtk/menu.c:640 +#, c-format +msgid "%u minutes ago" +msgstr "%u минут назад" + +#: src/fe-gtk/menu.c:642 +#: src/fe-gtk/menu.c:645 +msgid "Last Msg:" +msgstr "Последнее сообщение:" + +#: src/fe-gtk/menu.c:655 +msgid "Away Msg:" +msgstr "Сообщение об отсутствии:" + +#: src/fe-gtk/menu.c:710 +#, c-format +msgid "%d nicks selected." +msgstr "Выделено имен: %d." + +#: src/fe-gtk/menu.c:835 +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 "Строка меню была скрыта. Чтобы увидеть ее снова, нажмите F9 или щелкните правой кнопкой по свободному месту в окне." + +#: src/fe-gtk/menu.c:930 +msgid "Open Link in Browser" +msgstr "Открыть ссылку в браузере" + +#: src/fe-gtk/menu.c:931 +msgid "Copy Selected Link" +msgstr "Копировать выбранную ссылку" + +#: src/fe-gtk/menu.c:993 +#: src/fe-gtk/menu.c:1264 +msgid "Join Channel" +msgstr "Зайти на канал" + +#: src/fe-gtk/menu.c:997 +msgid "Part Channel" +msgstr "Покинуть канал" + +#: src/fe-gtk/menu.c:999 +msgid "Cycle Channel" +msgstr "Каналы по кругу" + +#: src/fe-gtk/menu.c:1035 +msgid "_Remove from Favorites" +msgstr "_Удалить из Избранного" + +#: src/fe-gtk/menu.c:1037 +msgid "_Add to Favorites" +msgstr "_Добавить в избранное" + +#: src/fe-gtk/menu.c:1056 +msgid "XChat: User menu" +msgstr "X-Chat: Пользовательское меню" + +#: src/fe-gtk/menu.c:1065 +msgid "Edit This Menu..." +msgstr "Редактировать это меню.." + +#: src/fe-gtk/menu.c:1266 +msgid "Retrieve channel list..." +msgstr "Получение списка каналов..." + +#: src/fe-gtk/menu.c:1334 +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 = xchat 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 "" +"Команды пользователя - Специальные коды:\n" +"\n" +"%c = текущий канал\n" +"%e = имя текущей сети\n" +"%m = информация о компьютере\n" +"%n = ваш ник\n" +"%t = время и дата\n" +"%v = версия XChat\n" +"%2 = слово 2\n" +"%3 = слово 3\n" +"&2 = слово 2 до конца строки\n" +"&3 = слово 3 до конца строки\n" +"\n" +"например:\n" +"/cmd john hello\n" +"\n" +"%2 должно быть \"john\"\n" +"&2 должно быть \"john hello\"." + +#: src/fe-gtk/menu.c:1350 +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 "" +"Кнопки списка пользователей - Специальные коды:\n" +"\n" +"%a = все выбранные ники\n" +"%c = текущий канал\n" +"%e = имя текущей сети\n" +"%h = адреса выбранных ников\n" +"%m = информация о компьютере\n" +"%n = ваш ник\n" +"%s = выбранный ник\n" +"%t = время и дата\n" + +#: src/fe-gtk/menu.c:1360 +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 "" +"Кнопки диалога - Специальные коды:\n" +"\n" +"%a = все выбранные ники\n" +"%c = текущий канал\n" +"%e = имя текущей сети\n" +"%h = имя машин выбранного ника\n" +"%m = информация о компьютере\n" +"%n = ваш ник\n" +"%s = выбранный ник\n" +"%t = время и дата\n" + +#: src/fe-gtk/menu.c:1370 +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 "" +"Ответы CTCP - Специальные коды:\n" +"\n" +"%d = данные (целый ctcp)\n" +"%e = имя текущей сети\n" +"%m = инфо о компьютере\n" +"%s = ник пославшего ctcp\n" +"%t = время/дата\n" +"%2 = слово 2\n" +"%3 = слово 3\n" +"&2 = слово 2 до конца строки\n" +"&3 = слово 3 до конца строки\n" +"\n" + +#: src/fe-gtk/menu.c:1381 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"Обработчики URL - Специальные коды:\n" +"\n" +"%s = строка URL\n" +"\n" +"Добавление ! перед командой\n" +"показывает, что будет отправлено \n" +"оболочке вместо X-Chat" + +#: src/fe-gtk/menu.c:1390 +msgid "XChat: User Defined Commands" +msgstr "X-Chat: Определенные пользователем команды" + +#: src/fe-gtk/menu.c:1397 +msgid "XChat: Userlist Popup menu" +msgstr "Всплывающее меню списка пользователей.." + +#: src/fe-gtk/menu.c:1404 +msgid "Replace with" +msgstr "Заменить на" + +#: src/fe-gtk/menu.c:1404 +msgid "XChat: Replace" +msgstr "X-Chat: Замена" + +#: src/fe-gtk/menu.c:1411 +msgid "XChat: URL Handlers" +msgstr "XChat: Обработчики URL" + +#: src/fe-gtk/menu.c:1430 +msgid "XChat: Userlist buttons" +msgstr "XChat: Кнопки списка пользователей" + +#: src/fe-gtk/menu.c:1437 +msgid "XChat: Dialog buttons" +msgstr "XChat: Кнопки диалога" + +#: src/fe-gtk/menu.c:1444 +msgid "XChat: CTCP Replies" +msgstr "XChat: Ответы CTCP" + +#: src/fe-gtk/menu.c:1550 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1551 +msgid "Network Li_st..." +msgstr "Список сетей" + +#: src/fe-gtk/menu.c:1554 +msgid "_New" +msgstr "Новая..." + +#: src/fe-gtk/menu.c:1555 +msgid "Server Tab..." +msgstr "Вкладка сервера..." + +#: src/fe-gtk/menu.c:1556 +msgid "Channel Tab..." +msgstr "Вкладка канала..." + +#: src/fe-gtk/menu.c:1557 +msgid "Server Window..." +msgstr "Окно сервера..." + +#: src/fe-gtk/menu.c:1558 +msgid "Channel Window..." +msgstr "Окно канала..." + +#: src/fe-gtk/menu.c:1563 +#: src/fe-gtk/menu.c:1565 +msgid "_Load Plugin or Script..." +msgstr "_Загрузить модуль или сценарий..." + +#: src/fe-gtk/menu.c:1573 +#: src/fe-gtk/plugin-tray.c:604 +msgid "_Quit" +msgstr "Выход" + +#: src/fe-gtk/menu.c:1575 +msgid "_View" +msgstr "_Вид" + +#: src/fe-gtk/menu.c:1577 +msgid "_Menu Bar" +msgstr "Панел_ь меню" + +#: src/fe-gtk/menu.c:1578 +msgid "_Topic Bar" +msgstr "Т_ема" + +#: src/fe-gtk/menu.c:1579 +msgid "_User List" +msgstr "Список _пользователей" + +#: src/fe-gtk/menu.c:1580 +msgid "U_serlist Buttons" +msgstr "Кнопки _списка пользователей" + +#: src/fe-gtk/menu.c:1581 +msgid "M_ode Buttons" +msgstr "Кнопки _режима канала" + +#: src/fe-gtk/menu.c:1583 +msgid "_Channel Switcher" +msgstr "Список _каналов" + +#: src/fe-gtk/menu.c:1585 +msgid "_Tabs" +msgstr "Закладки" + +#: src/fe-gtk/menu.c:1586 +msgid "T_ree" +msgstr "Де_рево" + +#: src/fe-gtk/menu.c:1588 +msgid "_Network Meters" +msgstr "_Монитор сети" + +#: src/fe-gtk/menu.c:1590 +msgid "Off" +msgstr "Выключено" + +#: src/fe-gtk/menu.c:1591 +msgid "Graph" +msgstr "График:" + +#: src/fe-gtk/menu.c:1596 +msgid "_Server" +msgstr "Сервер" + +#: src/fe-gtk/menu.c:1597 +msgid "_Disconnect" +msgstr "Отключиться" + +#: src/fe-gtk/menu.c:1598 +msgid "_Reconnect" +msgstr "Пересоединиться" + +#: src/fe-gtk/menu.c:1599 +msgid "Join a Channel..." +msgstr "Зайти на канал..." + +#: src/fe-gtk/menu.c:1600 +msgid "List of Channels..." +msgstr "Список каналов..." + +#: src/fe-gtk/menu.c:1603 +msgid "Marked Away" +msgstr "Пометить как \"Отошел\"" + +#: src/fe-gtk/menu.c:1605 +msgid "_Usermenu" +msgstr "_Меню пользователя" + +#: src/fe-gtk/menu.c:1607 +msgid "S_ettings" +msgstr "Настройка" + +#: src/fe-gtk/menu.c:1608 +msgid "_Preferences" +msgstr "Установки" + +#: src/fe-gtk/menu.c:1610 +msgid "Advanced" +msgstr "Дополнительно" + +#: src/fe-gtk/menu.c:1611 +msgid "Auto Replace..." +msgstr "Автозамена" + +#: src/fe-gtk/menu.c:1612 +msgid "CTCP Replies..." +msgstr "Ответы CTCP..." + +#: src/fe-gtk/menu.c:1613 +msgid "Dialog Buttons..." +msgstr "Кнопки диалога.." + +#: src/fe-gtk/menu.c:1614 +msgid "Keyboard Shortcuts..." +msgstr "Клавиатурные сокращения" + +#: src/fe-gtk/menu.c:1615 +msgid "Text Events..." +msgstr "Тексты событий..." + +#: src/fe-gtk/menu.c:1616 +msgid "URL Handlers..." +msgstr "Обработчики URL..." + +#: src/fe-gtk/menu.c:1617 +msgid "User Commands..." +msgstr "Команды пользователя..." + +#: src/fe-gtk/menu.c:1618 +msgid "Userlist Buttons..." +msgstr "Кнопки списка пользователей..." + +#: src/fe-gtk/menu.c:1619 +msgid "Userlist Popup..." +msgstr "Меню списка пользователей.." + +#: src/fe-gtk/menu.c:1622 +msgid "_Window" +msgstr "Окно" + +#: src/fe-gtk/menu.c:1623 +msgid "Ban List..." +msgstr "Список банов..." + +#: src/fe-gtk/menu.c:1624 +msgid "Character Chart..." +msgstr "Таблица символов..." + +#: src/fe-gtk/menu.c:1625 +msgid "Direct Chat..." +msgstr "Список разговоров DCC..." + +#: src/fe-gtk/menu.c:1626 +msgid "File Transfers..." +msgstr "Передачи файлов..." + +#: src/fe-gtk/menu.c:1627 +msgid "Friends List..." +msgstr "Список друзей..." + +#: src/fe-gtk/menu.c:1628 +msgid "Ignore List..." +msgstr "Список игнорирования..." + +#: src/fe-gtk/menu.c:1629 +msgid "Plugins and Scripts..." +msgstr "Плагины и скрипты..." + +#: src/fe-gtk/menu.c:1630 +msgid "Raw Log..." +msgstr "Монитор сети..." + +#: src/fe-gtk/menu.c:1631 +msgid "URL Grabber..." +msgstr "Сборщик URL..." + +#: src/fe-gtk/menu.c:1633 +msgid "Reset Marker Line" +msgstr "Сбросить маркерную линию" + +#: src/fe-gtk/menu.c:1634 +msgid "C_lear Text" +msgstr "Очистить" + +#: src/fe-gtk/menu.c:1636 +msgid "Search Text..." +msgstr "Найти..." + +#: src/fe-gtk/menu.c:1637 +msgid "Save Text..." +msgstr "Сохранить текст..." + +#: src/fe-gtk/menu.c:1639 +#: src/fe-gtk/menu.c:2116 +msgid "_Help" +msgstr "Помощь" + +#: src/fe-gtk/menu.c:1640 +msgid "_Contents" +msgstr "Содержание" + +#: src/fe-gtk/menu.c:1642 +msgid "Check for updates" +msgstr "Проверка обновлений" + +#: src/fe-gtk/menu.c:1644 +msgid "_About" +msgstr "О программе" + +#: src/fe-gtk/menu.c:2129 +msgid "_Attach" +msgstr "Присо_единить" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "Последний раз" + +#: src/fe-gtk/notifygui.c:182 +msgid "Offline" +msgstr "Отключен" + +#: src/fe-gtk/notifygui.c:202 +#: src/fe-gtk/setup.c:231 +msgid "Never" +msgstr "Никогда" + +#: src/fe-gtk/notifygui.c:205 +#: src/fe-gtk/notifygui.c:230 +#, c-format +msgid "%d minutes ago" +msgstr "%d минут назад" + +#: src/fe-gtk/notifygui.c:220 +msgid "Online" +msgstr "Подключен" + +#: src/fe-gtk/notifygui.c:349 +msgid "Enter nickname to add:" +msgstr "Введите ник для добавления:" + +#: src/fe-gtk/notifygui.c:378 +msgid "Notify on these networks:" +msgstr "Уведомлять на данных сетях:" + +#: src/fe-gtk/notifygui.c:389 +msgid "Comma separated list of networks is accepted." +msgstr "Укажите разделенный запятыми список сетей." + +#: src/fe-gtk/notifygui.c:415 +msgid "XChat: Friends List" +msgstr "X-Chat: Список друзей" + +#: src/fe-gtk/notifygui.c:436 +msgid "Open Dialog" +msgstr "Начать разговор" + +#: src/fe-gtk/plugin-tray.c:248 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" +"Не удалось найти 'notify-send' для всплывающих оповещений.\n" +"Требуется установить libnotify." + +#: src/fe-gtk/plugin-tray.c:299 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat: Подключен; сети: %u, каналы: %u" + +#: src/fe-gtk/plugin-tray.c:583 +msgid "_Restore" +msgstr "_Восстановить" + +#: src/fe-gtk/plugin-tray.c:585 +msgid "_Hide" +msgstr "Скрыть" + +#: src/fe-gtk/plugin-tray.c:588 +msgid "_Blink on" +msgstr "_Мигать при сообщениях" + +#: src/fe-gtk/plugin-tray.c:589 +#: src/fe-gtk/setup.c:479 +msgid "Channel Message" +msgstr "Сообщение канала" + +#: src/fe-gtk/plugin-tray.c:590 +#: src/fe-gtk/setup.c:480 +msgid "Private Message" +msgstr "Личное сообщение" + +#: src/fe-gtk/plugin-tray.c:591 +#: src/fe-gtk/setup.c:481 +msgid "Highlighted Message" +msgstr "Выделенные сообщения" + +#: src/fe-gtk/plugin-tray.c:594 +msgid "_Change status" +msgstr "Состо_яние" + +#: src/fe-gtk/plugin-tray.c:596 +msgid "_Away" +msgstr "Ото_шел" + +#: src/fe-gtk/plugin-tray.c:599 +msgid "_Back" +msgstr "_Вернулся" + +#: src/fe-gtk/plugin-tray.c:648 +#: src/fe-gtk/plugin-tray.c:656 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "XChat: Выделенное сообщение от %s (%s)" + +#: src/fe-gtk/plugin-tray.c:651 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat: %u выделенных сообщения, последнее от %s (%s)" + +#: src/fe-gtk/plugin-tray.c:674 +#: src/fe-gtk/plugin-tray.c:681 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat: Новое публичное сообщение от %s (%s)" + +#: src/fe-gtk/plugin-tray.c:677 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat: %u новых публичных сообщений." + +#: src/fe-gtk/plugin-tray.c:703 +#: src/fe-gtk/plugin-tray.c:710 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat: Личное сообщение от %s (%s)" + +#: src/fe-gtk/plugin-tray.c:706 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat: %u личных сообщения, последнее от %s (%s)" + +#: src/fe-gtk/plugin-tray.c:756 +#: src/fe-gtk/plugin-tray.c:764 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: Предложен файл: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:759 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "XChat: %u предложения файлов, последнее от %s (%s)" + +#: src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Версия" + +#: src/fe-gtk/plugingui.c:76 +#: src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Описание" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Выберите плагин или скрипт для загрузки" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "X-Chat: Скрипты и плагины" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "Загрузить..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "Вы_грузить" + +#: src/fe-gtk/rawlog.c:81 +#: src/fe-gtk/rawlog.c:130 +#: src/fe-gtk/textgui.c:438 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Сохранить как..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "X-Chat: Журнал передачи (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Очистить окно" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Открытое вами окно поиска больше не существует." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "Просмотр завершен, текст не найден." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "X-Chat: Поиск" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "С учетом _регистра" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "В о_братном порядке" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "Поиск" + +#: src/fe-gtk/servlistgui.c:171 +#: src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "Новая сеть" + +#: src/fe-gtk/servlistgui.c:558 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Удалить сеть \"%s\" и все ее сервера?" + +#: src/fe-gtk/servlistgui.c:740 +msgid "#channel" +msgstr "#канал" + +#: src/fe-gtk/servlistgui.c:847 +msgid "XChat: Favorite Channels (Auto-Join List)" +msgstr "XChat: Избранные каналы (автоматический вход)" + +#: src/fe-gtk/servlistgui.c:859 +#, c-format +msgid "These channels will be joined whenever you connect to %s." +msgstr "Вы автоматически зайдете на эти каналы при подключении к %s." + +#: src/fe-gtk/servlistgui.c:902 +msgid "Key (Password)" +msgstr "Ключ (пароль):" + +#: src/fe-gtk/servlistgui.c:933 +#: src/fe-gtk/servlistgui.c:1535 +msgid "_Edit" +msgstr "Редактировать" + +#: src/fe-gtk/servlistgui.c:969 +#, c-format +msgid "%s has been removed." +msgstr "%s был удален." + +#: src/fe-gtk/servlistgui.c:989 +#, c-format +msgid "%s has been added." +msgstr "Добавлен %s." + +#: src/fe-gtk/servlistgui.c:1013 +msgid "User name and Real name cannot be left blank." +msgstr "Имя пользователя и реальное имя нельзя оставлять пустым." + +#: src/fe-gtk/servlistgui.c:1366 +#, c-format +msgid "XChat: Edit %s" +msgstr "X-Chat: Редактирование: %s" + +#: src/fe-gtk/servlistgui.c:1385 +#, c-format +msgid "Servers for %s" +msgstr "Серверы для %s" + +#: src/fe-gtk/servlistgui.c:1396 +msgid "Connect to selected server only" +msgstr "Соединиться только с выделенным сервером" + +#: src/fe-gtk/servlistgui.c:1397 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Не перебирать сервера при ошибке соединения." + +#: src/fe-gtk/servlistgui.c:1399 +msgid "Your Details" +msgstr "Ваши детали" + +#: src/fe-gtk/servlistgui.c:1405 +msgid "Use global user information" +msgstr "Использовать глобальные установки пользователя:" + +#: src/fe-gtk/servlistgui.c:1408 +#: src/fe-gtk/servlistgui.c:1640 +msgid "_Nick name:" +msgstr "Ник:" + +#: src/fe-gtk/servlistgui.c:1412 +#: src/fe-gtk/servlistgui.c:1647 +msgid "Second choice:" +msgstr "Второй выбор:" + +#: src/fe-gtk/servlistgui.c:1416 +#: src/fe-gtk/servlistgui.c:1661 +msgid "_User name:" +msgstr "Имя пользователя:" + +#: src/fe-gtk/servlistgui.c:1420 +#: src/fe-gtk/servlistgui.c:1668 +msgid "Rea_l name:" +msgstr "Настоящее имя:" + +#: src/fe-gtk/servlistgui.c:1423 +msgid "Connecting" +msgstr "Соединение" + +#: src/fe-gtk/servlistgui.c:1429 +msgid "Auto connect to this network at startup" +msgstr "Автоматически соединяться сэтой сетью при запуске программы" + +#: src/fe-gtk/servlistgui.c:1431 +msgid "Bypass proxy server" +msgstr "Обходить прокси-сервер" + +#: src/fe-gtk/servlistgui.c:1433 +msgid "Use SSL for all the servers on this network" +msgstr "Использовать SSL для всех серверов в этой сети" + +#: src/fe-gtk/servlistgui.c:1438 +msgid "Accept invalid SSL certificate" +msgstr "Принимать недействительные SSL-сертификаты" + +#: src/fe-gtk/servlistgui.c:1444 +msgid "_Favorite channels:" +msgstr "_Избранные каналы:" + +#: src/fe-gtk/servlistgui.c:1446 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Каналы для подключения, разделенные запятыми, но не пробелами!" + +#: src/fe-gtk/servlistgui.c:1449 +msgid "Connect command:" +msgstr "Команда для соединения:" + +#: src/fe-gtk/servlistgui.c:1451 +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 "Дополнительная команда, выполняемая после соединения. Если вам требуется указать больше, чем одну - пропишите LOAD -e <ИмяФайла>, где <ИмяФайла> - текстовый файл с командами." + +#: src/fe-gtk/servlistgui.c:1454 +msgid "Nickserv password:" +msgstr "Пароль для Nickserv:" + +#: src/fe-gtk/servlistgui.c:1456 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "Если у вас есть пароль, введите его тут. Не все IRC-сети поддерживают этот метод." + +#: src/fe-gtk/servlistgui.c:1460 +msgid "Server password:" +msgstr "Пароль сервера:" + +#: src/fe-gtk/servlistgui.c:1462 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Пароль для сервера, если не требуется -оставьте пустым." + +#: src/fe-gtk/servlistgui.c:1465 +msgid "Character set:" +msgstr "Кодировка:" + +#: src/fe-gtk/servlistgui.c:1618 +msgid "XChat: Network List" +msgstr "X-Chat: Список сетей" + +#: src/fe-gtk/servlistgui.c:1630 +msgid "User Information" +msgstr "Информация о пользователе" + +#: src/fe-gtk/servlistgui.c:1654 +msgid "Third choice:" +msgstr "Третий выбор:" + +#: src/fe-gtk/servlistgui.c:1714 +msgid "Networks" +msgstr "Сети" + +#: src/fe-gtk/servlistgui.c:1755 +msgid "Skip network list on startup" +msgstr "Не показывать список сетей при запуске" + +#: src/fe-gtk/servlistgui.c:1787 +msgid "_Edit..." +msgstr "Править..." + +#: src/fe-gtk/servlistgui.c:1794 +msgid "_Sort" +msgstr "Сортировать" + +#: src/fe-gtk/servlistgui.c:1795 +msgid "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN keys to move a row." +msgstr "Сортировка списка сетей по алфавиту. Для перемещения строк используйте SHIFT-стрелка вверх/вниз." + +#: src/fe-gtk/servlistgui.c:1820 +msgid "C_onnect" +msgstr "Подключить" + +#: src/fe-gtk/setup.c:104 +msgid "Text Box Appearance" +msgstr "Оформление ввода текста" + +#: src/fe-gtk/setup.c:105 +msgid "Font:" +msgstr "Шрифт:" + +#: src/fe-gtk/setup.c:106 +msgid "Background image:" +msgstr "Фоновое изображение:" + +#: src/fe-gtk/setup.c:107 +msgid "Scrollback lines:" +msgstr "Строк в буфере:" + +#: src/fe-gtk/setup.c:108 +msgid "Colored nick names" +msgstr "Цветные ники" + +#: src/fe-gtk/setup.c:109 +msgid "Give each person on IRC a different color" +msgstr "Дать каждому участнику канала свой цвет" + +#: src/fe-gtk/setup.c:110 +msgid "Indent nick names" +msgstr "Выравнивать ники" + +#: src/fe-gtk/setup.c:111 +msgid "Make nick names right-justified" +msgstr "Выравнивает ники по правому краю." + +#: src/fe-gtk/setup.c:112 +msgid "Transparent background" +msgstr "Прозрачный фон" + +#: src/fe-gtk/setup.c:113 +msgid "Show marker line" +msgstr "Показывать разделительную черту" + +#: src/fe-gtk/setup.c:114 +msgid "Insert a red line after the last read text." +msgstr "Вставить красную линию после последней прочитанной строки." + +#: src/fe-gtk/setup.c:115 +msgid "Transparency Settings" +msgstr "Настройки прозрачности" + +#: src/fe-gtk/setup.c:116 +msgid "Red:" +msgstr "Красный:" + +#: src/fe-gtk/setup.c:117 +msgid "Green:" +msgstr "Зеленый:" + +#: src/fe-gtk/setup.c:118 +msgid "Blue:" +msgstr "Голубой:" + +#: src/fe-gtk/setup.c:120 +#: src/fe-gtk/setup.c:391 +msgid "Time Stamps" +msgstr "Метки времени" + +#: src/fe-gtk/setup.c:121 +msgid "Enable time stamps" +msgstr "Включить отметки времени" + +#: src/fe-gtk/setup.c:122 +msgid "Time stamp format:" +msgstr "Формат отметки времени:" + +#: src/fe-gtk/setup.c:123 +#: src/fe-gtk/setup.c:394 +msgid "See strftime manpage for details." +msgstr "Смотрите руководство по strftime для деталей" + +#: src/fe-gtk/setup.c:130 +#: src/fe-gtk/setup.c:170 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:131 +msgid "Last-spoke order" +msgstr "По времени" + +#: src/fe-gtk/setup.c:137 +#: src/fe-gtk/setup.c:1701 +msgid "Input box" +msgstr "Поле ввода " + +#: src/fe-gtk/setup.c:138 +#: src/fe-gtk/setup.c:202 +msgid "Use the Text box font and colors" +msgstr "Использовать цвета и шрифт текстовой надписи" + +#: src/fe-gtk/setup.c:140 +msgid "Spell checking" +msgstr "Проверка орфографии" + +#: src/fe-gtk/setup.c:143 +msgid "Nick Completion" +msgstr "Автодополнение ников" + +#: src/fe-gtk/setup.c:144 +msgid "Automatic nick completion (without TAB key)" +msgstr "Автоматическое завершение ников (без клавиши TAB)" + +#: src/fe-gtk/setup.c:146 +msgid "Nick completion suffix:" +msgstr "Суффикс дополнения ников:" + +#: src/fe-gtk/setup.c:147 +msgid "Nick completion sorted:" +msgstr "Сортировать варианты имен:" + +#: src/fe-gtk/setup.c:150 +msgid "Input Box Codes" +msgstr "Укажите символы рамок" + +#: src/fe-gtk/setup.c:151 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Рассматривать %nnn как ASCII-код" + +#: src/fe-gtk/setup.c:152 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Рассматривать %C, %B как Цвет, Жирный и т.д." + +#: src/fe-gtk/setup.c:169 +msgid "A-Z, Ops first" +msgstr "A-Z, Op`ы первыми" + +#: src/fe-gtk/setup.c:171 +msgid "Z-A, Ops last" +msgstr "Z-A, Op`ы последними" + +#: src/fe-gtk/setup.c:172 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:173 +msgid "Unsorted" +msgstr "Не сортировать" + +#: src/fe-gtk/setup.c:179 +#: src/fe-gtk/setup.c:191 +msgid "Left (Upper)" +msgstr "Слева вверху" + +#: src/fe-gtk/setup.c:180 +#: src/fe-gtk/setup.c:192 +msgid "Left (Lower)" +msgstr "Слева внизу" + +#: src/fe-gtk/setup.c:181 +#: src/fe-gtk/setup.c:193 +msgid "Right (Upper)" +msgstr "Справа вверху" + +#: src/fe-gtk/setup.c:182 +#: src/fe-gtk/setup.c:194 +msgid "Right (Lower)" +msgstr "Справа внизу" + +#: src/fe-gtk/setup.c:183 +msgid "Top" +msgstr "Вверху" + +#: src/fe-gtk/setup.c:184 +msgid "Bottom" +msgstr "Внизу" + +#: src/fe-gtk/setup.c:185 +msgid "Hidden" +msgstr "Скрыто" + +#: src/fe-gtk/setup.c:200 +msgid "User List" +msgstr "Список Пользователей" + +#: src/fe-gtk/setup.c:201 +msgid "Show hostnames in user list" +msgstr "Показывать хост пользователя в списке пользователей" + +#: src/fe-gtk/setup.c:204 +msgid "User list sorted by:" +msgstr "Сортировать спиоса пользователе пой " + +#: src/fe-gtk/setup.c:205 +msgid "Show user list at:" +msgstr "Список пользователей:" + +#: src/fe-gtk/setup.c:207 +msgid "Away tracking" +msgstr "Проверка присутствия" + +#: src/fe-gtk/setup.c:208 +msgid "Track the Away status of users and mark them in a different color" +msgstr "Следить за ушедшими пользователями и выделять их цветом" + +#: src/fe-gtk/setup.c:209 +msgid "On channels smaller than:" +msgstr "На каналах меньше, чем:" + +#: src/fe-gtk/setup.c:211 +msgid "Action Upon Double Click" +msgstr "Действие по двойному щелчку" + +#: src/fe-gtk/setup.c:223 +msgid "Windows" +msgstr "Окна" + +#: src/fe-gtk/setup.c:224 +#: src/fe-gtk/setup.c:240 +msgid "Tabs" +msgstr "Закладки" + +#: src/fe-gtk/setup.c:232 +msgid "Always" +msgstr "Всегда" + +#: src/fe-gtk/setup.c:233 +msgid "Only requested tabs" +msgstr "Только запрошенные закладки" + +#: src/fe-gtk/setup.c:242 +msgid "Tree" +msgstr "Дерево" + +#: src/fe-gtk/setup.c:249 +msgid "Switcher type:" +msgstr "Вид списка:" + +#: src/fe-gtk/setup.c:250 +msgid "Open an extra tab for server messages" +msgstr "Открыть вкладку для сообщений сервера" + +#: src/fe-gtk/setup.c:251 +msgid "Open an extra tab for server notices" +msgstr "Открыть дополнительную вкладку уведомлений сервера" + +#: src/fe-gtk/setup.c:252 +msgid "Open a new tab when you receive a private message" +msgstr "Открыть новую вкладку при получении частных сообщений" + +#: src/fe-gtk/setup.c:253 +msgid "Sort tabs in alphabetical order" +msgstr "Сортировать вкладки в алфавитном порядке" + +#: src/fe-gtk/setup.c:254 +msgid "Smaller text" +msgstr "Мелкий шрифт" + +#: src/fe-gtk/setup.c:256 +msgid "Focus new tabs:" +msgstr "Переходить на новые вкладки:" + +#: src/fe-gtk/setup.c:258 +msgid "Show channel switcher at:" +msgstr "Переключатель каналов:" + +#: src/fe-gtk/setup.c:259 +msgid "Shorten tab labels to:" +msgstr "Сократить метки вкладок до:" + +#: src/fe-gtk/setup.c:259 +msgid "letters." +msgstr "букв." + +#: src/fe-gtk/setup.c:261 +msgid "Tabs or Windows" +msgstr "Вкладки или окна" + +#: src/fe-gtk/setup.c:262 +msgid "Open channels in:" +msgstr "Открывать каналы как:" + +#: src/fe-gtk/setup.c:263 +msgid "Open dialogs in:" +msgstr "Открывать разговоры как:" + +#: src/fe-gtk/setup.c:264 +msgid "Open utilities in:" +msgstr "Открывать утилиты как:" + +#: src/fe-gtk/setup.c:264 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Открыть как закладки DCC, Игнорирования, Уведомлений и т.д. или в окне?" + +#: src/fe-gtk/setup.c:271 +msgid "No" +msgstr "Нет" + +#: src/fe-gtk/setup.c:272 +msgid "Yes" +msgstr "Да" + +#: src/fe-gtk/setup.c:273 +msgid "Browse for save folder every time" +msgstr "Запрашивать каталог сохранения" + +#: src/fe-gtk/setup.c:279 +msgid "Files and Directories" +msgstr "Файлы и каталоги" + +#: src/fe-gtk/setup.c:280 +msgid "Auto accept file offers:" +msgstr "Автоматически принимать файлы:" + +#: src/fe-gtk/setup.c:281 +msgid "Download files to:" +msgstr "Загрузить файлы в:" + +#: src/fe-gtk/setup.c:282 +msgid "Move completed files to:" +msgstr "Переместить завершенные файлы в:" + +#: src/fe-gtk/setup.c:283 +msgid "Save nick name in filenames" +msgstr "Записать ники в файл" + +#: src/fe-gtk/setup.c:285 +msgid "Network Settings" +msgstr "Установки сети" + +#: src/fe-gtk/setup.c:286 +msgid "Get my address from the IRC server" +msgstr "Получить свой IP от IRC сервера" + +#: src/fe-gtk/setup.c:287 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "Запросить у сервера свой реальный адрес. Используйте, если ваш адрес вида 192.168.*.*!" + +#: src/fe-gtk/setup.c:288 +msgid "DCC IP address:" +msgstr "DCC IP адрес:" + +#: src/fe-gtk/setup.c:289 +msgid "Claim you are at this address when offering files." +msgstr "Заявить этот адрес для предложения файлов." + +#: src/fe-gtk/setup.c:290 +msgid "First DCC send port:" +msgstr "Первая DCC передача через порт:" + +#: src/fe-gtk/setup.c:291 +msgid "Last DCC send port:" +msgstr "Последня DCC передача через порт:" + +#: src/fe-gtk/setup.c:292 +msgid "!Leave ports at zero for full range." +msgstr "!Оставьте 0 для всего диапазона портов." + +#: src/fe-gtk/setup.c:294 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Максимальная скорость передачи файла (байт в секунду)" + +#: src/fe-gtk/setup.c:295 +msgid "One upload:" +msgstr "Одна заливка:" + +#: src/fe-gtk/setup.c:296 +#: src/fe-gtk/setup.c:298 +msgid "Maximum speed for one transfer" +msgstr "Макс. скорость для одной передачи" + +#: src/fe-gtk/setup.c:297 +msgid "One download:" +msgstr "Одна закачка:" + +#: src/fe-gtk/setup.c:299 +msgid "All uploads combined:" +msgstr "Все передачи объединены:" + +#: src/fe-gtk/setup.c:300 +#: src/fe-gtk/setup.c:302 +msgid "Maximum speed for all files" +msgstr "Максимальная скорость для всех файлов" + +#: src/fe-gtk/setup.c:301 +msgid "All downloads combined:" +msgstr "Все закачки объединены:" + +#: src/fe-gtk/setup.c:329 +#: src/fe-gtk/setup.c:1707 +msgid "Alerts" +msgstr "Предупреждения" + +#: src/fe-gtk/setup.c:333 +msgid "Show tray balloons on:" +msgstr "Показывать уведомления при:" + +#: src/fe-gtk/setup.c:335 +msgid "Blink tray icon on:" +msgstr "Мигание значка при:" + +#: src/fe-gtk/setup.c:336 +msgid "Blink task bar on:" +msgstr "Мигание окна при:" + +#: src/fe-gtk/setup.c:337 +msgid "Make a beep sound on:" +msgstr "Звуковой сигнал при:" + +#: src/fe-gtk/setup.c:339 +msgid "Enable system tray icon" +msgstr "Значок в области уведомлений" + +#: src/fe-gtk/setup.c:341 +msgid "Highlighted Messages" +msgstr "Выделенные сообщения" + +#: src/fe-gtk/setup.c:342 +msgid "Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Выделяются сообщения, в которых упомянуто ваше имя, кроме того:" + +#: src/fe-gtk/setup.c:344 +msgid "Extra words to highlight:" +msgstr "Выделять следующие слова:" + +#: src/fe-gtk/setup.c:345 +msgid "Nick names not to highlight:" +msgstr "Не выделять имена:" + +#: src/fe-gtk/setup.c:346 +msgid "Nick names to always highlight:" +msgstr "Всегда выделять имена:" + +#: src/fe-gtk/setup.c:347 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" +"Разделяйте слова запятыми.\n" +"Можно использовать шаблоны." + +#: src/fe-gtk/setup.c:353 +msgid "Default Messages" +msgstr "Сообщения по умолчанию" + +#: src/fe-gtk/setup.c:354 +msgid "Quit:" +msgstr "Выход:" + +#: src/fe-gtk/setup.c:355 +msgid "Leave channel:" +msgstr "Уйти с канала:" + +#: src/fe-gtk/setup.c:356 +msgid "Away:" +msgstr "Отошел:" + +#: src/fe-gtk/setup.c:358 +msgid "Away" +msgstr "Отошел" + +#: src/fe-gtk/setup.c:359 +msgid "Announce away messages" +msgstr "Анонсировать сообщение 'Ушёл'" + +#: src/fe-gtk/setup.c:360 +msgid "Announce your away messages to all channels" +msgstr "Объявляет вас как 'Ушёл' на все каналы к которым вы подключены" + +#: src/fe-gtk/setup.c:361 +msgid "Show away once" +msgstr "Показывать сообщение 'Ушёл' 1 раз" + +#: src/fe-gtk/setup.c:361 +msgid "Show identical away messages only once" +msgstr "Показывать одинаковые сообщения об уходе только один раз" + +#: src/fe-gtk/setup.c:362 +msgid "Automatically unmark away" +msgstr "Автоматически снимать статус \"Отошел\"" + +#: src/fe-gtk/setup.c:362 +msgid "Unmark yourself as away before sending messages" +msgstr "Снять статус \"Отошел\" перед посылкой сообщений" + +#: src/fe-gtk/setup.c:369 +msgid "Advanced Settings" +msgstr "Дополнительные настройки" + +#: src/fe-gtk/setup.c:370 +msgid "Auto reconnect delay:" +msgstr "Задержка авто восстановления соединения:" + +#: src/fe-gtk/setup.c:371 +msgid "Display MODEs in raw form" +msgstr "Отображать режимы в чистом виде" + +#: src/fe-gtk/setup.c:372 +msgid "Whois on notify" +msgstr "Whois при извещении" + +#: src/fe-gtk/setup.c:372 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Послать /WHOIS когда пользователь в вашем списке извещений приходит в online." + +#: src/fe-gtk/setup.c:373 +msgid "Hide join and part messages" +msgstr "Скрыть сообщения о приходе/уходе" + +#: src/fe-gtk/setup.c:373 +msgid "Hide channel join/part messages by default" +msgstr "Скрывать сообщения о приходе/уходе по умолчанию" + +#: src/fe-gtk/setup.c:374 +msgid "Auto Open DCC Windows" +msgstr "Автоматически открывать окна DCC" + +#: src/fe-gtk/setup.c:375 +msgid "Send window" +msgstr "Окно отправления" + +#: src/fe-gtk/setup.c:376 +msgid "Receive window" +msgstr "Окно приема" + +#: src/fe-gtk/setup.c:377 +msgid "Chat window" +msgstr "Окно канала..." + +#: src/fe-gtk/setup.c:385 +#: src/fe-gtk/setup.c:1709 +msgid "Logging" +msgstr "Протоколирование" + +#: src/fe-gtk/setup.c:386 +msgid "Display scrollback from previous session" +msgstr "Загрузить буфер прошлого разговора" + +#: src/fe-gtk/setup.c:387 +msgid "Enable logging of conversations to disk" +msgstr "Запись журнала разговора" + +#: src/fe-gtk/setup.c:388 +msgid "Log filename:" +msgstr "Имя файла журнала:" + +#: src/fe-gtk/setup.c:389 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Сервер %c=Канал %n=Сеть." + +#: src/fe-gtk/setup.c:392 +msgid "Insert timestamps in logs" +msgstr "Добавлять время в протокол" + +#: src/fe-gtk/setup.c:393 +msgid "Log timestamp format:" +msgstr "Формат времени/даты для протокола:" + +#: src/fe-gtk/setup.c:401 +msgid "(Disabled)" +msgstr "(Выключено)" + +#: src/fe-gtk/setup.c:402 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:403 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:404 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:405 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:407 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: src/fe-gtk/setup.c:414 +msgid "All Connections" +msgstr "Все соединения" + +#: src/fe-gtk/setup.c:415 +msgid "IRC Server Only" +msgstr "Только IRC серверы" + +#: src/fe-gtk/setup.c:416 +msgid "DCC Get Only" +msgstr "Только DCC Get" + +#: src/fe-gtk/setup.c:422 +msgid "Your Address" +msgstr "Ваш адрес" + +#: src/fe-gtk/setup.c:423 +msgid "Bind to:" +msgstr "Назначить:" + +#: src/fe-gtk/setup.c:424 +msgid "Only useful for computers with multiple addresses." +msgstr "Используется только на компьютерах с несколькими адресами." + +#: src/fe-gtk/setup.c:426 +msgid "Proxy Server" +msgstr "Прокси сервер" + +#: src/fe-gtk/setup.c:427 +msgid "Hostname:" +msgstr "Имя машины:" + +#: src/fe-gtk/setup.c:428 +msgid "Port:" +msgstr "Порт:" + +#: src/fe-gtk/setup.c:429 +msgid "Type:" +msgstr "Тип:" + +#: src/fe-gtk/setup.c:430 +msgid "Use proxy for:" +msgstr "Использовать прокси для:" + +#: src/fe-gtk/setup.c:432 +msgid "Proxy Authentication" +msgstr "Авторизация прокси" + +#: src/fe-gtk/setup.c:434 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Вход на сервер (только для MS Proxy, HTTP или Socks5)" + +#: src/fe-gtk/setup.c:436 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Использовать авторизацию (только HTTP и Socks5)" + +#: src/fe-gtk/setup.c:438 +msgid "Username:" +msgstr "Имя пользователя:" + +#: src/fe-gtk/setup.c:439 +msgid "Password:" +msgstr "Пароль:" + +#: src/fe-gtk/setup.c:870 +msgid "Select an Image File" +msgstr "Выберите файл картинки" + +#: src/fe-gtk/setup.c:905 +msgid "Select Download Folder" +msgstr "Загрузить файлы в" + +#: src/fe-gtk/setup.c:914 +msgid "Select font" +msgstr "Выберите шрифт" + +#: src/fe-gtk/setup.c:1014 +msgid "Browse..." +msgstr "Выбрать..." + +#: src/fe-gtk/setup.c:1152 +msgid "Mark identified users with:" +msgstr "Пометить идентифицированных пользователей:" + +#: src/fe-gtk/setup.c:1154 +msgid "Mark not-identified users with:" +msgstr "Отметить неидентифицированных пользователей:" + +#: src/fe-gtk/setup.c:1161 +msgid "Open Data Folder" +msgstr "Открыть каталог с данными" + +#: src/fe-gtk/setup.c:1215 +msgid "Select color" +msgstr "Выбрать цвет" + +#: src/fe-gtk/setup.c:1295 +msgid "Text Colors" +msgstr "Цвета текста" + +#: src/fe-gtk/setup.c:1297 +msgid "mIRC colors:" +msgstr "Цвета mIRC:" + +#: src/fe-gtk/setup.c:1305 +msgid "Local colors:" +msgstr "Локальные цвета:" + +#: src/fe-gtk/setup.c:1313 +#: src/fe-gtk/setup.c:1318 +msgid "Foreground:" +msgstr "Передний план:" + +#: src/fe-gtk/setup.c:1314 +#: src/fe-gtk/setup.c:1319 +msgid "Background:" +msgstr "Фон:" + +#: src/fe-gtk/setup.c:1316 +msgid "Marking Text" +msgstr "Отмеченный текст" + +#: src/fe-gtk/setup.c:1321 +msgid "Interface Colors" +msgstr "Интерфейс" + +#: src/fe-gtk/setup.c:1323 +msgid "New data:" +msgstr "Новые данные:" + +#: src/fe-gtk/setup.c:1324 +msgid "Marker line:" +msgstr "Отмеченый передний план:" + +#: src/fe-gtk/setup.c:1325 +msgid "New message:" +msgstr "Новое Сообщение:" + +#: src/fe-gtk/setup.c:1326 +msgid "Away user:" +msgstr "Отошедший пользователь:" + +#: src/fe-gtk/setup.c:1327 +msgid "Highlight:" +msgstr "Выделение:" + +#: src/fe-gtk/setup.c:1423 +#: src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "Событие" + +#: src/fe-gtk/setup.c:1429 +msgid "Sound file" +msgstr "Звуковой файл" + +#: src/fe-gtk/setup.c:1464 +msgid "Select a sound file" +msgstr "Выберите звуковой файл" + +#: src/fe-gtk/setup.c:1536 +msgid "Sound playing method:" +msgstr "Метод воспроизведения звука:" + +#: src/fe-gtk/setup.c:1544 +msgid "External sound playing _program:" +msgstr "Внешний звуковой проигрыватель:" + +#: src/fe-gtk/setup.c:1562 +msgid "_External program" +msgstr "Внешняя программа" + +#: src/fe-gtk/setup.c:1572 +msgid "_Automatic" +msgstr "Автоматически" + +#: src/fe-gtk/setup.c:1585 +msgid "Sound files _directory:" +msgstr "Каталог з_вуковых файлов:" + +#: src/fe-gtk/setup.c:1624 +msgid "Sound file:" +msgstr "Звуковой файл:" + +#: src/fe-gtk/setup.c:1639 +msgid "_Browse..." +msgstr "Выбрать..." + +#: src/fe-gtk/setup.c:1650 +msgid "_Play" +msgstr "Воспрои_звести" + +#: src/fe-gtk/setup.c:1699 +msgid "Interface" +msgstr "Интерфейс" + +#: src/fe-gtk/setup.c:1700 +msgid "Text box" +msgstr "Текст" + +#: src/fe-gtk/setup.c:1702 +msgid "User list" +msgstr "Список пользователей" + +#: src/fe-gtk/setup.c:1703 +msgid "Channel switcher" +msgstr "Список каналов" + +#: src/fe-gtk/setup.c:1704 +msgid "Colors" +msgstr "Цвета" + +#: src/fe-gtk/setup.c:1706 +msgid "Chatting" +msgstr "Общение" + +#: src/fe-gtk/setup.c:1708 +msgid "General" +msgstr "Главный" + +#: src/fe-gtk/setup.c:1710 +msgid "Sound" +msgstr "Звук" + +#: src/fe-gtk/setup.c:1714 +msgid "Network setup" +msgstr "Настройки сети" + +#: src/fe-gtk/setup.c:1715 +msgid "File transfers" +msgstr "Передача файла" + +#: src/fe-gtk/setup.c:1823 +msgid "Categories" +msgstr "Категории" + +#: src/fe-gtk/setup.c:2007 +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 "" +"Дерево нельзя поместить сверху или снизу!\n" +"Сначала замените его на <b>Вкладки</b> в меню <b>Вид</b>." + +#: src/fe-gtk/setup.c:2017 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Изменение некоторых настроек требует перезапуска программы для их использования." + +#: src/fe-gtk/setup.c:2025 +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 "" +"*ПРЕДУПРЕЖДЕНИЕ*\n" +"Автоматический прием DCC в ваш домашний каталог\n" +"может быть опасным и создавать уязвимости. Например:\n" +"Кто-нибудь пришлет вам .bash_profile" + +#: src/fe-gtk/setup.c:2058 +msgid "XChat: Preferences" +msgstr "X-Chat: Настройки" + +#: src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "Ошибка при разборе строки" + +#: src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Этот сигнал передал только %d аргумента, $%d отсутствует." + +#: src/fe-gtk/textgui.c:304 +#: src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "Печатать текстовый файл" + +#: src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "Редактировать события" + +#: src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$ номер" + +#: src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "Загрузить из..." + +#: src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "Проверить все" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "X-Chat: Сборщик URL" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Очистить список" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Копировать выбранный URL" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Копировать" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Записать список в файл" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d оп-ов, %d всего" + +#~ msgid "Direct client-to-client" +#~ msgstr "Прямое соединение" +#~ msgid "Send File" +#~ msgstr "Послать файл" +#~ msgid "Offer Chat" +#~ msgstr "Предложить разговор" +#~ msgid "Abort Chat" +#~ msgstr "Прервать Разговор" +#~ msgid "Userinfo" +#~ msgstr "Информация о пользователе" +#~ msgid "Clientinfo" +#~ msgstr "Информация о клиенте" +#~ msgid "Time" +#~ msgstr "Время" +#~ msgid "Finger" +#~ msgstr "Finger" +#~ msgid "Oper" +#~ msgstr "Операция" +#~ msgid "Kill this user" +#~ msgstr "Убить этого пользователя" +#~ msgid "Mode" +#~ msgstr "Режим" + +#, fuzzy +#~ msgid "Give Half-Ops" +#~ msgstr "Дать оператора" + +#, fuzzy +#~ msgid "Take Half-Ops" +#~ msgstr "Снять оператора" +#~ msgid "Ignore" +#~ msgstr "Игнорировать" +#~ msgid "Ignore User" +#~ msgstr "Игнорировать пользователя" +#~ msgid "UnIgnore User" +#~ msgstr "Снять игнорирование пользователя" +#~ msgid "Info" +#~ msgstr "Информация" +#~ msgid "Who" +#~ msgstr "Кто " +#~ msgid "DNS Lookup" +#~ msgstr "Просмотр DNS:" +#~ msgid "Trace" +#~ msgstr "Трассировка" +#~ msgid "UserHost" +#~ msgstr "Компьютер пользователя" +#~ msgid "External" +#~ msgstr "Внешние" +#~ msgid "Traceroute" +#~ msgstr "Traceroute" +#~ msgid "Telnet" +#~ msgstr "Telnet" +#~ msgid "About XChat" +#~ msgstr "Об X-Chat" +#~ msgid "Unban" +#~ msgstr "Снять бан" +#~ msgid "Show join/part messages" +#~ msgstr "Сообщать о входе/выходе" +#~ msgid "Color paste" +#~ msgstr "Вставить цвет" + +#, fuzzy +#~ msgid "_Close Tab" +#~ msgstr "Закрыть вкладку" +#~ msgid "Channel List..." +#~ msgstr "Список каналов..." +#~ msgid "Notify List..." +#~ msgstr "Список уведомлений..." + +#, fuzzy +#~ msgid "_Attach Window" +#~ msgstr "Окно" +#~ msgid "_Close Window" +#~ msgstr "Закрыть окно" +#~ msgid "User" +#~ msgstr "Пользователь" +#~ msgid "XChat: Notify List" +#~ msgstr "X-Chat: Список уведомлений" +#~ msgid "C_hannels to join:" +#~ msgstr "Каналы для входа:" + +#, fuzzy +#~ msgid "Channel Switcher" +#~ msgstr "Список каналов..." +#~ msgid "%C18*$t$1%O $2" +#~ msgstr "%C18*$t$1%O $2" +#~ msgid "%C21*%O$t%C21%B$1%O%C21 $2" +#~ msgstr "%C21*%O$t%C21%B$1%O%C21 $2" +#~ msgid "%C18%B%B$4$1%O%C18%O$t$2" +#~ msgstr "%C18%B%B$4$1%O%C18%O$t$2" +#~ msgid "$4%C21%B$1%O%C21$t$2" +#~ msgstr "$4%C21%B$1%O%C21$t$2" +#~ msgid "%C28-%C29$1/$2%C28-%O$t$3" +#~ msgstr "%C28-%C29$1/$2%C28-%O$t$3 " +#~ msgid "$1$t$2" +#~ msgstr "$1$t$2" +#~ msgid "%C19>%O$1%C19<%O$t$2" +#~ msgstr "%C19>%O$1%C19<%O$t$2 " +#~ msgid "%C16*%O$t$1%O" +#~ msgstr "%C16*%O$t$1%O " +#~ msgid "%C28-%C29$1%C28-%O$t$2" +#~ msgstr "%C28-%C29$1%C28-%O$t$2 " +#~ msgid "%C28*%C29$3$1%C28*$t%O$2" +#~ msgstr "%C28*%C29$3$1%C28*$t%O$2 " +#~ msgid "%C18%B%B$3$1%O$t$2" +#~ msgstr "%C18%B%B$3$1%O$t$2 " +#~ msgid "%C22*%O$t$1" +#~ msgstr "%C22*%O$t$1 " + +#, fuzzy +#~ msgid "%C31%B%B$4$1%O%C30$t$2" +#~ msgstr "%C31%B%B$4$1%O$t%C30$2" +#~ msgid "PID" +#~ msgstr "PID" +#~ msgid "France, Metropolitan" +#~ msgstr "Франция, Метрополитен" +#~ msgid "Neutral Zone" +#~ msgstr "Нейтральная зона" +#~ msgid "US Minor Outlying Islands" +#~ msgstr "US Minor Outlying Islands" +#~ msgid "I can't save an empty list!" +#~ msgstr "Невозможно сохранить пустой список" +#~ msgid "List display options:" +#~ msgstr "Список настроек экрана:" +#~ msgid "Minimum Users:" +#~ msgstr "Минимальное количество пользователей:" +#~ msgid "Maximum Users:" +#~ msgstr "Максимальное количество пользователей:" +#~ msgid "Regex Match:" +#~ msgstr "Поиск RegExp " +#~ msgid "Apply Match to:" +#~ msgstr "Применить к:" +#~ msgid "Apply" +#~ msgstr "Применить" +#~ msgid "Refresh the list" +#~ msgstr "Обновить список" +#~ msgid "Save the list" +#~ msgstr "Записать список" + +#, fuzzy +#~ msgid "From:" +#~ msgstr "От" + +#, fuzzy +#~ msgid "To:" +#~ msgstr "Кому" + +#, fuzzy +#~ msgid "Size:" +#~ msgstr "Размер" + +#, fuzzy +#~ msgid "Started:" +#~ msgstr "Время начала" + +#, fuzzy +#~ msgid "Speed limit:" +#~ msgstr "Ограничение" +#~ msgid "MIME Type" +#~ msgstr "MIME Type" +#~ msgid "X-Chat: File Receive List" +#~ msgstr "X-Chat: Список принимаемых файлов" +#~ msgid "Open" +#~ msgstr "Откр" +#~ msgid "Ack" +#~ msgstr "Ack" +#~ msgid "To" +#~ msgstr "Кому" +#~ msgid "To/From" +#~ msgstr "Кому/Откуда" +#~ msgid "DIRECTORY" +#~ msgstr "Каталог" +#~ msgid "No other tabs open, quit xchat?" +#~ msgstr "Нет открытых вкладок. Выйти из XChat?" +#~ msgid "Go to" +#~ msgstr "Перейти" +#~ msgid "Close this tab/window" +#~ msgstr "Закрыть вкладку/окно" +#~ msgid "User List Buttons" +#~ msgstr "Кнопки Cписка Пользователей" +#~ msgid "Settings saved." +#~ msgstr "Настройки записаны." +#~ msgid "New Shell Tab..." +#~ msgstr "Новая вкладка оболочки..." +#~ msgid "_IRC" +#~ msgstr "_IRC" +#~ msgid "Invisible" +#~ msgstr "Невидимый" +#~ msgid "Receive Wallops" +#~ msgstr "Принимать Wallops" +#~ msgid "Receive Server Notices" +#~ msgstr "Принимать уведомления сервера" +#~ msgid "Auto Rejoin when Kicked" +#~ msgstr "Автоматически подключаться после выброса" +#~ msgid "Never-give-up ReConnect" +#~ msgstr "Никогда не прекращать попыток соединиться" +#~ msgid "Auto Open Dialog Windows" +#~ msgstr "Автоматически открывать диалоговые окна" +#~ msgid "Auto Accept Direct Chat" +#~ msgstr "Автоматически принимать Direct Chat" +#~ msgid "Reload Settings" +#~ msgstr "Перечитать настройки" +#~ msgid "Save Settings now" +#~ msgstr "Сохранить настройки сейчас" +#~ msgid "Save Settings on exit" +#~ msgstr "Сохранить настройки при выходе" +#~ msgid "File Receive..." +#~ msgstr "Окно приема файлов..." +#~ msgid "File Send..." +#~ msgstr "Окно передачи файлов..." +#~ msgid "Server" +#~ msgstr "Сервер" +#~ msgid "Save rawlog" +#~ msgstr "Записать лог" +#~ msgid "Save rawlog..." +#~ msgstr "Сохранить протокол сети..." +#~ msgid "Close" +#~ msgstr "Закрыть" +#~ msgid "Connect in new tab" +#~ msgstr "Подключиться в новой вкладке" + +#, fuzzy +#~ msgid "Tint (shade) transparency" +#~ msgstr "Светло прозрачный" +#~ msgid "Strip mIRC colors" +#~ msgstr "Удалять цвета mIRC" +#~ msgid "Completes nick names without using the TAB key" +#~ msgstr "Завершать ники без использования клавиши TAB" +#~ msgid "Input Box Appearance" +#~ msgstr "Оформление окна ввода" +#~ msgid "Info text" +#~ msgstr "Информация" +#~ msgid "User list buttons enabled" +#~ msgstr "Включить кнопки списка пользователей" + +#, fuzzy +#~ msgid "Resizable user list" +#~ msgstr "Список пользователей изменяемой ширины" +#~ msgid "Lag meter:" +#~ msgstr "Измеритель " +#~ msgid "Throttle meter:" +#~ msgstr "Измеритель ширины канала:" +#~ msgid "Left" +#~ msgstr "Слева" +#~ msgid "Right" +#~ msgstr "Справа" +#~ msgid "Tabs Location" +#~ msgstr "Расположение вкладок" +#~ msgid "Convert spaces to underscore before sending" +#~ msgstr "Конвертировать пробелы в подчеркивание перед отправкой" +#~ msgid "(Can be a text file relative to ~/.xchat2/)." +#~ msgstr "(Может быть текстовым файлом относительно каталога ~/.xchat2/)" +#~ msgid "(Can be a text file relative to config dir)." +#~ msgstr "" +#~ "(Может быть текстовым файлом относительно конфигурационного каталога)" +#~ msgid "Flash taskbar on highlighted messages" +#~ msgstr "Мерцать на панели задач при получении выделеных сообщений" +#~ msgid "Beep on channel messages" +#~ msgstr "Звуковой сигнал при получении сообщений на канале" +#~ msgid "(See strftime manpage for details)." +#~ msgstr "(Смотрите руководство по strftime manpage для деталей)." +#~ msgid "(disabled)" +#~ msgstr "(Выключено)" +#~ msgid "A star (*)" +#~ msgstr "Звездочка (*)" +#~ msgid "A red star (*)" +#~ msgstr "Красная звездочка (*)" +#~ msgid "%C19>%O$1%C19<%O$t$2%O" +#~ msgstr "%C19>%O$1%C19<%O$t$2%O" +#~ msgid "Servername" +#~ msgstr "Имя сервера" +#~ msgid "" +#~ " File: %s\n" +#~ " To/From: %s\n" +#~ " Size: %u\n" +#~ " Port: %d\n" +#~ " IP Number: %s\n" +#~ "Start Time: %s Max CPS: %d\n" +#~ msgstr "" +#~ " Файл: %s\n" +#~ " Кому/От: %s\n" +#~ " Размер: %u\n" +#~ " Порт: %d\n" +#~ " IP адрес: %s\n" +#~ "Время начала: %s Max CPS: %d\n" +#~ msgid "Add new" +#~ msgstr "Добавить новый" +#~ msgid "User: %s" +#~ msgstr "Пользователь: %s" +#~ msgid "Realname: %s" +#~ msgstr "Реальное имя: %s" +#~ msgid "Server: %s" +#~ msgstr "Сервер: %s" + +#, fuzzy +#~ msgid "Real na_me:" +#~ msgstr "Настоящее имя:" +#~ msgid "Select a file to save to" +#~ msgstr "Выберите файл для сохранения" + +#, fuzzy +#~ msgid "%C22*%O$t%C28[%O$1%C28] %O$2" +#~ msgstr "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2" +#~ msgid "Former Czechoslovakia" +#~ msgstr "Чехословакия" +#~ msgid "Zaire" +#~ msgstr "Заир" + diff --git a/po/sk.po b/po/sk.po new file mode 100644 index 00000000..4d03856b --- /dev/null +++ b/po/sk.po @@ -0,0 +1,5209 @@ +# translation of xchat-2.4.0pre2.sk.po to Slovak +# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. +# Martin Pekar <cortex@nextra.sk>, 2000. +# Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>, 2002. +# Stanislav Visnovsky <visnovsky@kde.org>, 2003. +# Andrej Kacian <andrej@kacian.sk>, 2003, 2004, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.4.2\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2005-03-07 18:50+1100\n" +"PO-Revision-Date: 2005-03-07 20:16+0100\n" +"Last-Translator: Andrej Kacian <andrej@kacian.sk>\n" +"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.10\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: src/common/cfgfiles.c:350 +msgid "Cannot create ~/.xchat2" +msgstr "Nepodarilo sa vytvoriť ~/.xchat2" + +#: src/common/cfgfiles.c:672 +msgid "I'm busy" +msgstr "Pracujem" + +#: src/common/cfgfiles.c:673 +msgid "Leaving" +msgstr "Odchádzam" + +#: src/common/cfgfiles.c:719 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Spúšťať IRC ako root nie je dobrý nápad! Mali by ste\n" +" si vytvoriť používateľský účet a prihlasovať sa pod ním.\n" + +#: src/common/dcc.c:61 +msgid "Waiting" +msgstr "Čakám" + +#: src/common/dcc.c:62 +msgid "Active" +msgstr "Aktívny" + +#: src/common/dcc.c:63 +msgid "Failed" +msgstr "Zlyhal" + +#: src/common/dcc.c:64 +msgid "Done" +msgstr "Hotovo" + +#: src/common/dcc.c:65 +msgid "Connect" +msgstr "Pripojiť" + +#: src/common/dcc.c:66 +msgid "Aborted" +msgstr "Prerušené" + +#: src/common/dcc.c:1299 +#, c-format +msgid "Cannot access %s\n" +msgstr "Nepodaril sa prístup k %s\n" + +#: src/common/dcc.c:1919 +msgid "No active DCCs\n" +msgstr "Žiadne DCC spojenie nie je aktívne\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "ÁNO " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "NIE " + +#: src/common/ignore.c:373 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Ste cieľom CTCP floodu od %s, ignorujem %s\n" + +#: src/common/ignore.c:398 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "Ste cieľom MSG floodu od %s, nastavujem gui_auto_open_dialog na OFF.\n" + +#: src/common/notify.c:400 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s online\n" + +#: src/common/notify.c:402 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s offline\n" + +#: src/common/outbound.c:70 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Nie ste na žiadnom kanáli. Použite /join #<kanál>\n" + +#: src/common/outbound.c:76 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Nie ste pripojený. Použite /server <hostiteľ> [<port>]\n" + +#: src/common/outbound.c:1375 +msgid "I need /bin/sh to run!\n" +msgstr "Je potrebný program /bin/sh !\n" + +#: src/common/outbound.c:1618 +msgid "" +"\n" +"Commands Available:\n" +"\n" +" " +msgstr "" +"\n" +"Dostupné príkazy:\n" +"\n" +".." + +#: src/common/outbound.c:1653 +msgid "" +"\n" +"\n" +"Type /HELP <command> for more information, or /HELP -l\n" +"\n" +msgstr "" +"\n" +"\n" +"Ďalšie informácie získate zadaním /HELP <príkaz> alebo /HELP -l\n" +"\n" + +#: src/common/outbound.c:1654 +msgid "" +"User defined commands:\n" +"\n" +" " +msgstr "" +"Používateľské príkazy:\n" +"\n" +" " + +#: src/common/outbound.c:1746 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Neznámy argument '%s' ignorovaný." + +#: src/common/outbound.c:2524 +msgid "No such plugin found.\n" +msgstr "Plugin sa nenašiel.\n" + +#: src/common/outbound.c:2529 src/fe-gtk/plugingui.c:185 +msgid "That plugin is refusing to unload.\n" +msgstr "Plugin sa odmieta odobrať.\n" + +#: src/common/outbound.c:2686 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <meno> <akcia>, pridá tlačidlo pod zoznam používateľov" + +#: src/common/outbound.c:2688 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <príkaz>, pošle príkaz do všetkých kanálov, v ktorých ste" + +#: src/common/outbound.c:2690 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <príkaz>, pošle príkaz na všetky servery, na ktorých ste" + +#: src/common/outbound.c:2691 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<dôvod>], označí vás ako neprítomného" + +#: src/common/outbound.c:2693 +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 <maska> [<typ>], zakáže každého, kto odpovedá maske, z aktuálneho " +"kanála. Ak už sú prihlásení v kanáli, nevykopne ich to (musíte byť chanop)" + +#: src/common/outbound.c:2695 +msgid "CLEAR, Clears the current text window" +msgstr "CLEAR, vyčistí aktuálne textové okno" + +#: src/common/outbound.c:2696 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, zavrie aktuálne okno alebo záložku" + +#: src/common/outbound.c:2699 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <kód|maska>, nájde kód krajiny, napr. sk = Slovensko" + +#: src/common/outbound.c:2701 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" +"CTCP <prezývka> <správa>, pošle správu CTCP používateľovi, obvyklé správy sú " +"VERSION a USERINFO" + +#: src/common/outbound.c:2703 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "CYCLE, opustí aktuálny kanál a hneď sa vráti" + +#: src/common/outbound.c:2705 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" +"\n" +"DCC GET <prezývka> - príjme ponúkaný súbor\n" +"DCC SEND <prezývka> <súbor> - pošle niekomu súbor\n" +"DCC LIST - zobrazí zoznam DCC\n" +"DCC CHAT <prezývka> - ponúkne niekomu DCC CHAT\n" +"DCC CLOSE <typ> <prezývka> <súbor> príklad:\n" +" /dcc close send janko subor.tar.gz" + +#: src/common/outbound.c:2715 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" +"DEHOP <prezývka>, odstráni stav chanhalf-op pre prezývku v aktuálnom kanáli " +"(vyžaduje chanop)" + +#: src/common/outbound.c:2717 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <meno>, odstráni tlačidlo pod zoznamom používateľov" + +#: src/common/outbound.c:2719 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEOP <prezývka>, odstráni stav chanop pre prezývku v aktuálnom kanáli " +"(vyžaduje chanop)" + +#: src/common/outbound.c:2721 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEVOICE <prezývka>, odstráni stav voice pre prezývku v aktuálnom kanáli " +"(vyžaduje chanop)" + +#: src/common/outbound.c:2722 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, odpojí od serveru" + +#: src/common/outbound.c:2723 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <prezývka|hostiteľ|ip>, nájde IP adresu používateľa" + +#: src/common/outbound.c:2724 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, Zobrazí text lokálne" + +#: src/common/outbound.c:2727 +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] <príkaz>, spustí príkaz. Ak je použitý prepínač -o, výstup sa " +"posiela do aktuálneho kanálu, inak sa zobrazí do aktuálneho textového poľa" + +#: src/common/outbound.c:2729 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, pošle procesu SIGCONT" + +#: src/common/outbound.c:2732 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" +"EXECKILL [-9], zabije programy bežiace v aktuálnom sedení. Ak je zadané -9, " +"pošle sa signál SIGKILL" + +#: src/common/outbound.c:2734 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, pošle procesu SIGSTOP" + +#: src/common/outbound.c:2735 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, pošle procesu dáta na štandardný vstup" + +#: src/common/outbound.c:2739 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, vyčistí aktuálnu frontu serveru pre posielanie" + +#: src/common/outbound.c:2741 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" +"GATE <hostiteľ> [<port>], nastaví proxy na hostiteľa, port je štandardne 23" + +#: src/common/outbound.c:2747 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" +"HOP <prezývka>, nastaví stav chanhalf-op pre používateľa (vyžaduje chanop)" + +#: src/common/outbound.c:2749 +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 <maska> <typy..> <možnosti..>\n" +" maska - maska ignorovaných hostiteľov, napr.: *!*@*.aol.com\n" +" typy - typy ignorovaný dát, jedna alebo všetky z:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" možnosti - NOSAVE, QUIET" + +#: src/common/outbound.c:2756 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" +"INVITE <prezývka> [<kanál>], pozve niekoho na kanál, štandardne na aktuálny " +"kanál (vyžaduje chanop)" + +#: src/common/outbound.c:2757 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanál>, vstúpi na kanál" + +#: src/common/outbound.c:2759 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "" +"KICK <prezývka>, vykopne používateľa z aktuálneho kanálu (vyžaduje chanop)" + +#: src/common/outbound.c:2761 +msgid "" +"KICKBAN <nick>, bans then kicks the nick from the current channel (needs " +"chanop)" +msgstr "" +"KICKBAN <prezývka>, zakáže a potom vykopne používateľa z aktuálneho kanálu " +"(vyžaduje chanop)" + +#: src/common/outbound.c:2764 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, vynúti novú kontrolu lagu" + +#: src/common/outbound.c:2766 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <reťazec>, vyhľadá reťazec v zaznamenanom texte" + +#: src/common/outbound.c:2768 +msgid "LOAD <file>, loads a plugin or script" +msgstr "LOAD <súbor>, načíta plugin alebo skript" + +#: src/common/outbound.c:2771 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" +"MDEHOP, hromadne zruší stav všetkým chanhalf-op v aktuálnom kanáli (vyžaduje " +"chanop)" + +#: src/common/outbound.c:2773 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" +"MDEOP, hromadne zruší stav všetkým chanop v aktuálnom kanáli (vyžaduje " +"chanop)" + +#: src/common/outbound.c:2775 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in " +"the 3rd person, like /me jumps)" +msgstr "" +"ME <akcia>, pošle akciu do aktuálneho kanálu (akcie sa píšu v tretej osobe, " +"napríklad /me skáče)" + +#: src/common/outbound.c:2777 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" +"MKICK, hromadne vykopne každého okrem vás z aktuálneho kanálu (vyžaduje " +"chanop)" + +#: src/common/outbound.c:2780 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" +"MOP, hromadne nastaví stav všetkým používateľom v aktuálnom kanáli (vyžaduje " +"chanop)" + +#: src/common/outbound.c:2781 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <prezývka> <správa>, pošle súkromnú správu" + +#: src/common/outbound.c:2784 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, vypíše zoznam používateľov v aktuálnom kanáli" + +#: src/common/outbound.c:2786 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <prezývka> <správa>, pošle poznámku CTCP" + +#: src/common/outbound.c:2787 +msgid "NEWSERVER <hostname> [<port>]" +msgstr "NEWSERVER <hostiteľ> [<port>]" + +#: src/common/outbound.c:2788 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <prezývka>, nastaví vašu prezývku" + +#: src/common/outbound.c:2791 +msgid "" +"NOTICE <nick/channel> <message>, sends a notice. Notices are a type of " +"message that should be auto reacted to" +msgstr "" +"NOTICE <prezývka/kanál> <správa>, pošle poznámku. Poznámky sú typom správy, " +"na ktoré by sa malo automaticky reagovať" + +#: src/common/outbound.c:2793 +msgid "NOTIFY [<nick>], lists your notify list or adds someone to it" +msgstr "" +"NOTIFY [<prezývka>], vypíše váš zoznam upozornení, alebo niekoho do tohto " +"zoznamu pridá" + +#: src/common/outbound.c:2795 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <prezývka>, dá stav chanop používateľovi (vyžaduje chanop)" + +#: src/common/outbound.c:2797 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanál>] [<dôvod>], opustí kanál, štandardne aktuálny" + +#: src/common/outbound.c:2799 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <prezývka | kanál>, pošle CTCP ping používateľovi alebo na kanál" + +#: src/common/outbound.c:2801 +msgid "QUERY <nick>, opens up a new privmsg window to someone" +msgstr "QUERY <prezývka>, otvorí nové okno pre súkromné správy niekomu" + +#: src/common/outbound.c:2803 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<dôvod>], odpojí sa od aktuálneho serveru" + +#: src/common/outbound.c:2805 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <text>, pošle text tak ako je na server" + +#: src/common/outbound.c:2808 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /" +"RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" +"RECONNECT [-ssl] [<hostiteľ>] [<port>] [<heslo>], môže sa použiť aj bez " +"parametrov ako /RECONNECT pre znovupripojenie k aktuálnemu serveru alebo " +"ako /RECONNECT ALL pre znovupripojenie ku všetkým aktívným serverom" + +#: src/common/outbound.c:2811 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" +"RECONNECT [<hostiteľ>] [<port>] [<heslo>], môže sa použiť aj bez parametrov " +"ako /RECONNECT pre znovupripojenie k aktuálnemu serveru alebo ako /RECONNECT " +"ALL pre znovupripojenie ku všetkým aktívnym serverom" + +#: src/common/outbound.c:2813 +msgid "" +"RECV <text>, send raw data to xchat, as if it was received from the irc " +"server" +msgstr "" +"RECV <text>, odošle xchatu čisté data, ako keby boli prijaté z irc serveru" + +#: src/common/outbound.c:2816 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>, pošle text objektu v aktuálnom okne" + +#: src/common/outbound.c:2819 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" +"SERVCHAN [-ssl] <hostiteľ> <port> <kanál>, pripojí sa a vstúpi na kanál" + +#: src/common/outbound.c:2822 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <hostiteľ> <port> <kanál>, pripojí sa a vstúpi kanál" + +#: src/common/outbound.c:2826 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" +"SERVER [-ssl] <hostiteľ> [<port>] [<heslo>], pripojí sa na server, " +"štandardný port je 6667 pre obyčajné pripojenia, 9999 pre ssl pripojenia." + +#: src/common/outbound.c:2829 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" +"/SERVER <hostiteľ> [<port>] [<heslo>], pripojí sa na server, štandardný port " +"je 6667" + +#: src/common/outbound.c:2831 +msgid "SET [-quiet] <variable> [<value>]" +msgstr "SET [-quiet] <premenná> [<hodnota>]" + +#: src/common/outbound.c:2832 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<pozícia>" + +#: src/common/outbound.c:2836 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<téma>], nastaví tému, ak je zadaná, inak zobrazí aktuálnu tému" + +#: src/common/outbound.c:2838 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <maska> [<maska>...], zruší zákaz pre zadané masky." + +#: src/common/outbound.c:2839 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <maska> [QUIET]" + +#: src/common/outbound.c:2840 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <súbor>, odoberie plugin alebo skript" + +#: src/common/outbound.c:2841 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <adresa>, otvorí URL adresu vo vašom prehliadači" + +#: src/common/outbound.c:2844 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <prezývka>, udelí niekomu stav voice (vyžaduje chanop)" + +#: src/common/outbound.c:2846 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <správa>, napíše správu do všetkých kanálov" + +#: src/common/outbound.c:2848 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" +"WALLCHOP <správa>, pošle správu všetkým so stavom chanop v aktuálnom kanáli" + +#: src/common/outbound.c:2881 +#, c-format +msgid "Usage: %s\n" +msgstr "Použitie: %s\n" + +#: src/common/outbound.c:2886 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Pre tento príkaz nie je žiadna pomoc.\n" + +#: src/common/outbound.c:2892 +msgid "No such command.\n" +msgstr "Neznámy príkaz.\n" + +#: src/common/outbound.c:3216 +msgid "Bad arguments for user command.\n" +msgstr "Chybné argumenty pre používateľský príkaz.\n" + +#: src/common/outbound.c:3380 +msgid "Too many recursive usercommands, aborting." +msgstr "Príliš veľa vnorených používateľských príkazov, končím." + +#: src/common/outbound.c:3453 +msgid "Unknown Command. Try /help\n" +msgstr "Neznámy príkaz. Skúste použiť /help\n" + +#: src/common/plugin.c:359 src/common/plugin.c:400 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Nemôžem nájsť xchat_plugin_init symbol, je to naozaj plugin do xchatu?" + +#: src/common/server.c:586 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Ste si istý, že tento server podporuje SSL na tomto porte?\n" + +#: src/common/server.c:937 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Nemôžem zistiť meno hostiteľa %s\n" +"Skontrolujte si IP nastavenia!\n" + +#: src/common/server.c:942 +msgid "Proxy traversal failed.\n" +msgstr "Spojenie cez proxy zlyhalo.\n" + +#: src/common/servlist.c:644 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Skúšam ďalší server v %s...\n" + +#: src/common/servlist.c:1056 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" +"Pozor: kódová stránka \"%s\" je neznáma. Na sieť %s nebude aplikovaná žiadna " +"konverzia." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 pridané do zoznamu upozornení." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "-%C22*%O$t$1 Zoznam zákazov: %C19·$4%C20·$2%C21·$3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tNemôžem vstúpiť na%C26·%B$1·%O(Ste v zozname zákazov)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 sa premenoval na $2" + +#: src/common/textevents.h:21 +msgid "%C18*$t$1%O $2" +msgstr "%C18*$t$1%O·$2" + +#: src/common/textevents.h:24 +msgid "%C21*%O$t%C21%B$1%O%C21 $2" +msgstr "%C21*%O$t%C21%B$1%O%C21·$2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 nastavil zákaz pre $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tKanál $1 vytvorený $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O odstránil stav half-operator kanálu pre %C26·$2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O odstránil stav operator kanálu pre %C26·$2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O odstránil voice používateľovi %C26·$2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 nastavil výnimku pre $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O dal stav half-operator kanálu používateľovi%C26·$2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 nastavil kanál $2 len pre pozvaných" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UKanál Používatelia Téma" + +#: src/common/textevents.h:54 +msgid "%C18%B%B$4$1%O%C18%O$t$2" +msgstr "%C18%B%B$4$1%O%C18%O$t$2" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 nastavil mód $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Kanál $1 módy: $2" + +#: src/common/textevents.h:63 +msgid "$4%C21%B$1%O$t%C21$2" +msgstr "$4%C21%B$1%O$t%C21$2" + +#: src/common/textevents.h:66 +msgid "%C28-%C29$1/$2%C28-%O$t$3" +msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O dal stav half-operator kanálu používateľovi%C26·$2" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 odstránil výnimku pre $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 odstránil pozvanie pre $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 odstránil heslo kanálu" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 odstránil limit používateľov" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 nastavil heslo kanálu na $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 nastavil limit kanálu na $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 odstránil zákaz pre $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O dal voice používateľovi%C26·$2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Pripojený. Teraz sa prihlasujem..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Pripájam sa k $1·($2)·port·$3%O.." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Spojenie zlyhalo. Chyba: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tPrijatý CTCP $1 od $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tPrijatý CTCP $1 od $2 (do $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP·$2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tPrijatý CTCP Sound $1 od $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC CHAT k %C26$1%O ukončený." + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tBolo vytvorené DCC CHAT spojenie k %C26$1·%C30[%O$2%C30]" + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tDCC CHAT s %C26$1%O zrušený ($4)." + +#: src/common/textevents.h:126 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tPrijatá ponuka na DCC CHAT od $1" + +#: src/common/textevents.h:129 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tPonúkam DCC CHAT používateľovi $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tUž existuje ponuka CHAT pre $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 pokus o spojenie s%C26·$2%O zlyhalo (chyba=$3)." + +#: src/common/textevents.h:138 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tPrijaté '$1%O' od $2" + +#: src/common/textevents.h:141 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18·Typ··Komu/Od····Stav··Veľkosť····Poz·····Súbor·········" + +#: src/common/textevents.h:144 +msgid "" +"%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O" +"$tContents of packet: $2" +msgstr "" +"%C22*%O$tPrijatá neplatná požiadavka DCC od %C26$1%O.%010%C22*%O$tObsah " +"paketu: $2" + +#: src/common/textevents.h:147 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tPonuka%C26·$1%O pre%C26·$2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tTaká ponuka DCC neexistuje." + +#: src/common/textevents.h:153 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC·RECV%C26·$2%O·pre%C26·$1%O·ukončené." + +#: src/common/textevents.h:156 +msgid "" +"%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "" +"%C22*%O$tDCC·RECV%C26·$1%O·od%C26·$3%O·dokončené·%C30[%C26$4%O·cps%C30]%O." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC·RECV·vytvorené spojenie k%C26·$1·%C30[%O$2%C30]" + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O·od%C26·$3%O·zlyhalo·($4)." + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: Nepodarilo sa otvoriť $1 pre zápis ($2)." + +#: src/common/textevents.h:168 +msgid "" +"%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "" +"%C22*%O$tSúbor%C26·$1%C už existuje, namiesto neho ukladám ako%C26·$2%O." + +#: src/common/textevents.h:171 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1·%Opožaduje obnoviť%C26·$2·%Cod%C26·$3%C." + +#: src/common/textevents.h:174 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC·SEND%C26·$2%O·k%C26·$1%O ukončené." + +#: src/common/textevents.h:177 +msgid "" +"%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "" +"%C22*%O$tDCC·SEND%C26·$1%O·k%C26·$2%O dokončené %C30[%C26$3%O·cps%C30]%O." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC SEND vytvorené spojenie k%C26·$1·%C30[%O$2%C30]" + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26·$1%O·k%C26·$2%O·zlyhalo.·$3" + +#: src/common/textevents.h:186 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1·%Oponúka%C26·$2·%O(%C26$3·%Obajtov)" + +#: src/common/textevents.h:189 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC·$1%C26·$2·%Ok%C26·$3·%Czastavené - končím." + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC·$1%C26·$2·%Ok%C26·$3·%Očas vypršal - končím." + +#: src/common/textevents.h:195 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 odstránený zo zoznamu upozornení." + +#: src/common/textevents.h:198 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tOdpojený ($1)." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tNájdená vaša IP: [$1]" + +#: src/common/textevents.h:204 +msgid "$1$t$2" +msgstr "$1$t$2" + +#: src/common/textevents.h:207 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O pridaný do zoznamu ignorovaných." + +#: src/common/textevents.h:210 +msgid "Ignore on %C26$1%O changed." +msgstr "ignorácia pre %C26$1%O zmenená." + +#: src/common/textevents.h:213 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18······························································" + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Maska hostiteľa SÚKR UPOZ KAN CTCP DCC POZV ODIGN " + +#: src/common/textevents.h:219 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O odstránené zo zoznamu ignorovaných." + +#: src/common/textevents.h:222 +msgid " Ignore list is empty." +msgstr " Zoznam ignorovaných je prázdny." + +#: src/common/textevents.h:225 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tNemôžem vstúpiť na%C26·%B$1·%O(Kanál iba pre pozvaných)." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "" +"%C22*%O$tBoli ste pozvaný na%C26·$1%O od používateľa %C26·$2%C·(%C26$3%C)" + +#: src/common/textevents.h:231 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1·%B($3) vstúpil na $2" + +#: src/common/textevents.h:234 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tNemôžem vstúpiť na%C26·%B$1·%O(Je potrebné heslo)." + +#: src/common/textevents.h:237 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1·vykopol $2 z $3 ($4%O%C21)" + +#: src/common/textevents.h:240 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tZabil vás $1 ($2%O%C22)" + +#: src/common/textevents.h:243 +msgid "%C19>%O$1%C19<%O$t$2%O" +msgstr "%C19>%O$1%C19<%O$t$2%O" + +#: src/common/textevents.h:246 +msgid "%C16*%O$t$1%O" +msgstr "%C16*%O$t$1%O" + +#: src/common/textevents.h:249 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD preskočená." + +#: src/common/textevents.h:252 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 sa už používa. Nový pokus s $2..." + +#: src/common/textevents.h:255 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tPrezývka je už použitá. Použite /NICK pre inú prezývku." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tTaké DCC neexistuje." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tMomentálne nebeží žiadny proces" + +#: src/common/textevents.h:264 +msgid "%C28-%C29$1%C28-%O$t$2" +msgstr "%C28-%C29$1%C28-%O$t$2" + +#: src/common/textevents.h:267 +msgid "%C19>%O$1%C19<%O$t$2" +msgstr "%C19>%O$1%C19<%O$t$2" + +#: src/common/textevents.h:270 +msgid "$tNotify list is empty." +msgstr "$tZoznam upozornení prázdny." + +#: src/common/textevents.h:273 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18·%B··Zoznam upozornení···························" + +#: src/common/textevents.h:276 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 používateľov na zozname upozornení." + +#: src/common/textevents.h:279 +msgid "%C22*%O$tNotify: $1 is offline ($2)." +msgstr "%C22*%O$tUpozornenie: $1 je offline ($2)." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is online ($2)." +msgstr "%C22*%O$tUpozornenie: $1 je online ($2)." + +#: src/common/textevents.h:288 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1·(%O%C23$2) opustil $3" + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23$4)" +msgstr "%C23*%O$t%C23$1·(%O%C23$2) opustil $3 (%O%C23$4)" + +#: src/common/textevents.h:294 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tOdpoveď ping od $1: $2 sekúnd" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tNeprišla ping odpoveď za $1 sekúnd, odpájam." + +#: src/common/textevents.h:300 +msgid "%C28*%C29$3$1%C28*$t%O$2" +msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#: src/common/textevents.h:303 +msgid "%C18%B%B$3$1%O$t$2" +msgstr "%C18%B%B$3$1%O$t$2" + +#: src/common/textevents.h:306 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tA proces už beží" + +#: src/common/textevents.h:309 +msgid "%C23*%O$t%C23$1 has quit (%O%C23$2)" +msgstr "%C23*%O$t%C23$1 skončil (%O%C23$2)" + +#: src/common/textevents.h:312 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 nastavil módy%B·%C30[%O$2%B%C30]" + +#: src/common/textevents.h:315 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:318 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tHľadám IP adresu pre%C26·$1%O..." + +#: src/common/textevents.h:321 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Pripojený." + +#: src/common/textevents.h:324 src/common/textevents.h:330 +#: src/common/textevents.h:333 +msgid "%C22*%O$t$1" +msgstr "%C22*%O$t$1" + +#: src/common/textevents.h:327 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Zisťujem $1" + +#: src/common/textevents.h:336 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tZastavený predchádzajúci pokus o spojenie (pid=$1)" + +#: src/common/textevents.h:339 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Téma pre $1%C·%C29je: $2" + +#: src/common/textevents.h:342 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 zmenil tému na: $2" + +#: src/common/textevents.h:345 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Téma pre $1%C·%C29, nastavil $2%C·%C29 $3" + +#: src/common/textevents.h:348 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tNeznámy hostiteľ. Je správne zadaný?" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "" +"%C22*%O$tNemôžem vstúpiť na%C26·%B$1·%O(Dosiahnutý maximálny počet " +"používateľov)." + +#: src/common/textevents.h:354 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Používatelia na $1:%C $2" + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]·%O$2%C27·$3" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28]·%Cje neprítomný %C30(%O$2%O%C30)" + +#: src/common/textevents.h:363 src/common/textevents.h:369 +#: src/common/textevents.h:384 src/common/textevents.h:387 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O·$2" + +#: src/common/textevents.h:366 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28]·%OKoniec zoznamu WHOIS." + +#: src/common/textevents.h:372 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O nečinný%C26·$2" + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O·nečinný%C26·$2%O, prihlásenie:%C26·$3" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "" +"%C22*%O$t%C28[%O$1%C28]·%Oskutočný user@host%C27·$2%O, skutočná IP%C27·$3" + +#: src/common/textevents.h:390 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Teraz hovoríte na $2" + +#: src/common/textevents.h:393 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tBoli ste vykopnutý z $2 používateľom $3 ($4%O%C23)" + +#: src/common/textevents.h:396 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tOpustili ste kanál $3" + +#: src/common/textevents.h:399 +msgid "%C23*$tYou have left channel $3 (%O%C23$4%O%C23)" +msgstr "%C23*$tOpustili ste kanál $3 (%O%C23$4%O%C23)" + +#: src/common/textevents.h:402 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tBoli ste pozvaný%C26·$1%O·na%C26·$2%O·(%C26$3%O)" + +#: src/common/textevents.h:405 +msgid "%C31%B%B$4$1%O$t%C30$2" +msgstr "%C31%B%B$4$1%O$t%C30$2" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tTeraz ste známy ako $2" + +#: src/common/text.c:207 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** KONIEC ZÁZNAMU %s\n" + +#: src/common/text.c:325 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ZAČIATOK ZÁZNAMU %s\n" + +#: src/common/text.c:344 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Nemôžem otvoriť záznamový súbor pre zápis. Skontrolujte\n" +" prístupové práva pre %s/xchatlogs" + +#: src/common/text.c:559 +msgid "Left message" +msgstr "Ľavá správa" + +#: src/common/text.c:560 +msgid "Right message" +msgstr "Pravá správa" + +#: src/common/text.c:564 +msgid "The nick of the joining person" +msgstr "Prezývka vstupujúcej osoby" + +#: src/common/text.c:565 +msgid "The channel being joined" +msgstr "Kanál, na ktorý sa vstupuje" + +#: src/common/text.c:566 src/common/text.c:611 src/common/text.c:668 +msgid "The host of the person" +msgstr "Hostiteľ osoby" + +#: src/common/text.c:570 src/common/text.c:575 src/common/text.c:582 +#: src/common/text.c:649 src/common/text.c:774 src/common/text.c:781 +#: src/common/text.c:786 src/common/text.c:791 src/common/text.c:796 +#: src/common/text.c:802 src/common/text.c:807 src/common/text.c:811 +#: src/common/text.c:817 src/common/text.c:823 src/common/text.c:869 +#: src/common/text.c:878 src/common/text.c:883 src/common/text.c:888 +#: src/common/text.c:897 src/common/text.c:908 src/common/text.c:915 +#: src/common/text.c:921 src/common/text.c:926 src/common/text.c:931 +#: src/common/text.c:938 src/common/text.c:944 src/common/text.c:950 +#: src/common/text.c:955 src/common/text.c:960 src/common/text.c:964 +#: src/common/text.c:970 src/common/text.c:978 src/common/text.c:1012 +#: src/common/text.c:1017 +msgid "Nickname" +msgstr "Prezývka" + +#: src/common/text.c:571 +msgid "The action" +msgstr "Akcia" + +#: src/common/text.c:576 +msgid "The text" +msgstr "Text" + +#: src/common/text.c:577 +msgid "Mode char" +msgstr "Znak módu" + +#: src/common/text.c:578 src/common/text.c:651 +msgid "Identified text" +msgstr "Identifikovaný text" + +#: src/common/text.c:583 src/common/text.c:639 src/common/text.c:645 +#: src/common/text.c:650 +msgid "The message" +msgstr "Správa" + +#: src/common/text.c:587 src/common/text.c:655 +msgid "Old nickname" +msgstr "Stará prezývka" + +#: src/common/text.c:588 src/common/text.c:656 +msgid "New nickname" +msgstr "Nová prezývka" + +#: src/common/text.c:592 +msgid "Nick of person who changed the topic" +msgstr "Prezývka osoby ktorá zmenila tému" + +#: src/common/text.c:593 src/common/text.c:599 src/fe-gtk/chanlist.c:599 +#: src/fe-gtk/chanlist.c:700 +msgid "Topic" +msgstr "Téma" + +#: src/common/text.c:594 src/common/text.c:598 src/common/text.c:1032 +#: src/fe-gtk/chanlist.c:597 src/fe-gtk/chanlist.c:691 +#: src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Kanál" + +#: src/common/text.c:603 src/common/text.c:662 +msgid "The nickname of the kicker" +msgstr "Prezývka kopajúceho" + +#: src/common/text.c:604 src/common/text.c:660 +msgid "The person being kicked" +msgstr "Osoba ktorá bola vykopnutá" + +#: src/common/text.c:605 src/common/text.c:612 src/common/text.c:616 +#: src/common/text.c:621 src/common/text.c:661 src/common/text.c:669 +msgid "The channel" +msgstr "Kanál" + +#: src/common/text.c:606 src/common/text.c:663 src/common/text.c:670 +msgid "The reason" +msgstr "Dôvod" + +#: src/common/text.c:610 src/common/text.c:667 +msgid "The nick of the person leaving" +msgstr "Prezývka odchádzajúcej osoby" + +#: src/common/text.c:617 src/common/text.c:623 +msgid "The time" +msgstr "Čas" + +#: src/common/text.c:622 +msgid "The creator" +msgstr "Autor" + +#: src/common/text.c:627 +msgid "Nick" +msgstr "Prezývka" + +#: src/common/text.c:628 src/common/text.c:884 +msgid "Reason" +msgstr "Dôvod" + +#: src/common/text.c:629 src/common/text.c:776 src/common/text.c:859 +msgid "Host" +msgstr "Hostiteľ" + +#: src/common/text.c:633 src/common/text.c:638 src/common/text.c:643 +msgid "Who it's from" +msgstr "Od koho to je" + +#: src/common/text.c:634 +msgid "The time in x.x format (see below)" +msgstr "Čas vo formáte x.x (viď nižšie)" + +#: src/common/text.c:644 src/common/text.c:686 +msgid "The Channel it's going to" +msgstr "Kanál, kam ide" + +#: src/common/text.c:674 +msgid "The sound" +msgstr "Zvuk" + +#: src/common/text.c:675 src/common/text.c:680 src/common/text.c:685 +msgid "The nick of the person" +msgstr "Prezývka osoby" + +#: src/common/text.c:679 src/common/text.c:684 +msgid "The CTCP event" +msgstr "Udalosť CTCP" + +#: src/common/text.c:690 +msgid "The nick of the person who set the key" +msgstr "Prezývka osoby, ktorá nastavila heslo" + +#: src/common/text.c:691 +msgid "The key" +msgstr "Heslo" + +#: src/common/text.c:695 +msgid "The nick of the person who set the limit" +msgstr "Prezývka osoby, ktorá nastavila limit" + +#: src/common/text.c:696 +msgid "The limit" +msgstr "Limit" + +#: src/common/text.c:700 +msgid "The nick of the person who did the op'ing" +msgstr "Prezývka osoby, ktorá nastavila operátora" + +#: src/common/text.c:701 +msgid "The nick of the person who has been op'ed" +msgstr "Prezývka osoby, ktorá sa stala operátorom" + +#: src/common/text.c:705 +msgid "The nick of the person who has been halfop'ed" +msgstr "Prezývka osoby, ktorá sa stala čiastočným operátorom" + +#: src/common/text.c:706 +msgid "The nick of the person who did the halfop'ing" +msgstr "Prezývka osoby, ktorá nastavila čiastočného operátora" + +#: src/common/text.c:710 +msgid "The nick of the person who did the voice'ing" +msgstr "Prezývka osoby, ktorá nastavila voice" + +#: src/common/text.c:711 +msgid "The nick of the person who has been voice'ed" +msgstr "Prezývka osoby, ktorá dostala voice" + +#: src/common/text.c:715 +msgid "The nick of the person who did the banning" +msgstr "Prezývka osoby, ktorá nastavila zákaz" + +#: src/common/text.c:716 src/common/text.c:743 +msgid "The ban mask" +msgstr "Maska zákazu" + +#: src/common/text.c:720 +msgid "The nick who removed the key" +msgstr "Prezývka osoby, ktorá odstránila heslo" + +#: src/common/text.c:724 +msgid "The nick who removed the limit" +msgstr "Prezývka osoby, ktorá odstránila limit" + +#: src/common/text.c:728 +msgid "The nick of the person of did the deop'ing" +msgstr "Prezývka osoby, ktorá použila zrušenie operátora" + +#: src/common/text.c:729 +msgid "The nick of the person who has been deop'ed" +msgstr "Prezývka osoby, ktorej bol odobratý operátor" + +#: src/common/text.c:732 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Prezývka osoby, ktorá nastavila čiastočného operátora" + +#: src/common/text.c:733 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Prezývka osoby, ktorej bol odobratý čiastočný operátor" + +#: src/common/text.c:737 +msgid "The nick of the person of did the devoice'ing" +msgstr "Prezývka osoby, ktorá odobrala voice" + +#: src/common/text.c:738 +msgid "The nick of the person who has been devoice'ed" +msgstr "Prezývka osoby, ktorej bol odobratý voice" + +#: src/common/text.c:742 +msgid "The nick of the person of did the unban'ing" +msgstr "Prezývka osoby, ktorá zrušila zákaz" + +#: src/common/text.c:747 +msgid "The nick of the person who did the exempt" +msgstr "Prezývka osoby, ktorá nastavila výnimku" + +#: src/common/text.c:748 src/common/text.c:753 +msgid "The exempt mask" +msgstr "Maska výnimky" + +#: src/common/text.c:752 +msgid "The nick of the person removed the exempt" +msgstr "Prezývka osoby, ktorá odstránila výnimku" + +#: src/common/text.c:757 +msgid "The nick of the person who did the invite" +msgstr "Prezývka osoby, ktorá pozvala" + +#: src/common/text.c:758 src/common/text.c:763 +msgid "The invite mask" +msgstr "Maska pozvania" + +#: src/common/text.c:762 +msgid "The nick of the person removed the invite" +msgstr "Prezývka osoby, ktorá odstránila pozvanie" + +#: src/common/text.c:767 +msgid "The nick of the person setting the mode" +msgstr "Prezývka osoby, ktorá nastavila mód" + +#: src/common/text.c:768 +msgid "The mode's sign (+/-)" +msgstr "Znamienko módu (+/-)" + +#: src/common/text.c:769 +msgid "The mode letter" +msgstr "Písmeno módu" + +#: src/common/text.c:770 +msgid "The channel it's being set on" +msgstr "Kanál, na ktorom to bolo nastavené" + +#: src/common/text.c:775 +msgid "Username" +msgstr "Používateľ" + +#: src/common/text.c:777 +msgid "Full name" +msgstr "Celé meno" + +#: src/common/text.c:782 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Členstvo v kanáli/\"is an IRC operator\"" + +#: src/common/text.c:787 +msgid "Server Information" +msgstr "Informácie o serveri" + +#: src/common/text.c:792 src/common/text.c:797 +msgid "Idle time" +msgstr "Čas nečinnosti" + +#: src/common/text.c:798 +msgid "Signon time" +msgstr "Čas prihlásenia" + +#: src/common/text.c:803 +msgid "Away reason" +msgstr "Dôvod neprítomnosti" + +#: src/common/text.c:812 src/common/text.c:818 src/common/text.c:826 +#: src/common/text.c:1004 +msgid "Message" +msgstr "Správa" + +#: src/common/text.c:819 +msgid "Account" +msgstr "Konto" + +#: src/common/text.c:824 +msgid "Real user@host" +msgstr "Skutočný user@host" + +#: src/common/text.c:825 +msgid "Real IP" +msgstr "Skutočná IP" + +#: src/common/text.c:830 src/common/text.c:839 src/common/text.c:845 +#: src/common/text.c:1027 +msgid "Channel Name" +msgstr "Názov kanálu" + +#: src/common/text.c:834 src/common/text.c:990 src/fe-gtk/textgui.c:338 +msgid "Text" +msgstr "Text" + +#: src/common/text.c:835 src/common/text.c:841 src/common/text.c:1028 +msgid "Server Name" +msgstr "Názov serveru" + +#: src/common/text.c:840 +msgid "Nick of person who invited you" +msgstr "Prezývka osoby, ktorá vás pozvala" + +#: src/common/text.c:846 src/fe-gtk/chanlist.c:598 +msgid "Users" +msgstr "Používatelia" + +#: src/common/text.c:850 +msgid "Nickname in use" +msgstr "Používaná prezývka" + +#: src/common/text.c:851 +msgid "Nick being tried" +msgstr "Skúšaná prezývka" + +#: src/common/text.c:855 src/common/text.c:891 src/common/text.c:902 +#: src/common/text.c:909 src/common/text.c:922 src/common/text.c:939 +#: src/common/text.c:1039 src/common/util.c:352 +msgid "Error" +msgstr "Chyba" + +#: src/common/text.c:860 src/common/text.c:994 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:861 src/common/text.c:890 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:865 +msgid "PID" +msgstr "PID" + +#: src/common/text.c:873 +msgid "Channel name" +msgstr "Názov kanálu" + +#: src/common/text.c:874 src/common/text.c:879 +msgid "Modes string" +msgstr "Reťazec módov" + +#: src/common/text.c:889 src/common/text.c:927 src/common/text.c:932 +#: src/common/text.c:973 +msgid "IP address" +msgstr "IP adresa" + +#: src/common/text.c:895 src/common/text.c:920 +msgid "DCC Type" +msgstr "Typ DCC" + +#: src/common/text.c:896 src/common/text.c:901 src/common/text.c:906 +#: src/common/text.c:913 src/common/text.c:933 src/common/text.c:937 +#: src/common/text.c:943 src/common/text.c:949 src/common/text.c:956 +#: src/common/text.c:965 src/common/text.c:971 +msgid "Filename" +msgstr "Názov súboru" + +#: src/common/text.c:907 src/common/text.c:914 +msgid "Destination filename" +msgstr "Cieľový súbor" + +#: src/common/text.c:916 src/common/text.c:945 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:951 +msgid "Pathname" +msgstr "Cesta" + +#: src/common/text.c:966 src/fe-gtk/dccgui.c:518 src/fe-gtk/dccgui.c:676 +msgid "Position" +msgstr "Pozícia" + +#: src/common/text.c:972 src/fe-gtk/dccgui.c:517 src/fe-gtk/dccgui.c:675 +msgid "Size" +msgstr "Veľkosť" + +#: src/common/text.c:977 +msgid "DCC String" +msgstr "Reťazec DCC" + +#: src/common/text.c:982 +msgid "Number of notify items" +msgstr "Počet položiek upozornenia" + +#: src/common/text.c:986 +msgid "Servername" +msgstr "Názov serveru" + +#: src/common/text.c:998 +msgid "Old Filename" +msgstr "Staré meno súboru" + +#: src/common/text.c:999 +msgid "New Filename" +msgstr "Nové meno súboru" + +#: src/common/text.c:1003 +msgid "Receiver" +msgstr "Príjemca" + +#: src/common/text.c:1008 +msgid "Hostmask" +msgstr "Maska hostiteľa" + +#: src/common/text.c:1013 +msgid "Hostname" +msgstr "Hostiteľ" + +#: src/common/text.c:1018 +msgid "The Packet" +msgstr "Paket" + +#: src/common/text.c:1022 +msgid "Seconds" +msgstr "Sekundy" + +#: src/common/text.c:1026 +msgid "Nick of person who have been invited" +msgstr "Prezývka osoby, ktorá bola pozvaná" + +#: src/common/text.c:1033 +msgid "Banmask" +msgstr "Maska zákazu" + +#: src/common/text.c:1034 +msgid "Who set the ban" +msgstr "Kto nastavil zákaz" + +#: src/common/text.c:1035 +msgid "Ban time" +msgstr "Čas zákazu" + +#: src/common/text.c:1075 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Chyba pri spracovaní udalosti %s.\n" +"Načítavam štandardné." + +#: src/common/text.c:1713 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Nemôžem prečítať zvukový súbor:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "Vzdialený hostiteľ zatvoril soket" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Spojenie odmietnuté" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "Cesta k hostiteľovi neexistuje" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Časový limit pre spojenie vypršal" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Nepodarilo sa priradiť adresu" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Spojenie zrušené druhou stranou" + +#: src/common/util.c:821 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:822 +msgid "United Arab Emirates" +msgstr "Spojené Arabské Emiráty" + +#: src/common/util.c:823 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:824 +msgid "Antigua and Barbuda" +msgstr "Antigua a Barbuda" + +#: src/common/util.c:825 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:826 +msgid "Albania" +msgstr "Albánsko" + +#: src/common/util.c:827 +msgid "Armenia" +msgstr "Arménsko" + +#: src/common/util.c:828 +msgid "Netherlands Antilles" +msgstr "Holandské Antily" + +#: src/common/util.c:829 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:830 +msgid "Antarctica" +msgstr "Antarktída" + +#: src/common/util.c:831 +msgid "Argentina" +msgstr "Argentína" + +#: src/common/util.c:832 +msgid "Reverse DNS" +msgstr "Reverzné DNS" + +#: src/common/util.c:833 +msgid "American Samoa" +msgstr "Americká Samoa" + +#: src/common/util.c:834 +msgid "Austria" +msgstr "Rakúsko" + +#: src/common/util.c:835 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:836 +msgid "Australia" +msgstr "Austrália" + +#: src/common/util.c:837 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:838 +msgid "Azerbaijan" +msgstr "Azerbajdžan" + +#: src/common/util.c:839 +msgid "Bosnia and Herzegovina" +msgstr "Bosna a Hercegovina" + +#: src/common/util.c:840 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:841 +msgid "Bangladesh" +msgstr "Bangladéš" + +#: src/common/util.c:842 +msgid "Belgium" +msgstr "Belgicko" + +#: src/common/util.c:843 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:844 +msgid "Bulgaria" +msgstr "Bulharsko" + +#: src/common/util.c:845 +msgid "Bahrain" +msgstr "Bahrajn" + +#: src/common/util.c:846 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:847 +msgid "Businesses" +msgstr "Obchodné" + +#: src/common/util.c:848 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:849 +msgid "Bermuda" +msgstr "Bermudy" + +#: src/common/util.c:850 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:851 +msgid "Bolivia" +msgstr "Bolívia" + +#: src/common/util.c:852 +msgid "Brazil" +msgstr "Brazília" + +#: src/common/util.c:853 +msgid "Bahamas" +msgstr "Bahamy" + +#: src/common/util.c:854 +msgid "Bhutan" +msgstr "Bhután" + +#: src/common/util.c:855 +msgid "Bouvet Island" +msgstr "Bouvet Island" + +#: src/common/util.c:856 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:857 +msgid "Belarus" +msgstr "Bielorusko" + +#: src/common/util.c:858 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:859 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:860 +msgid "Cocos Islands" +msgstr "Kokosové ostrovy" + +#: src/common/util.c:861 +msgid "Democratic Republic of Congo" +msgstr "Demokratická republika Kongo" + +#: src/common/util.c:862 +msgid "Central African Republic" +msgstr "Stredoafrická Republika" + +#: src/common/util.c:863 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:864 +msgid "Switzerland" +msgstr "Švajčiarsko" + +#: src/common/util.c:865 +msgid "Cote d'Ivoire" +msgstr "Pobrežie slonoviny" + +#: src/common/util.c:866 +msgid "Cook Islands" +msgstr "Cookove ostrovy" + +#: src/common/util.c:867 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:868 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:869 +msgid "China" +msgstr "Čína" + +#: src/common/util.c:870 +msgid "Colombia" +msgstr "Kolumbia" + +#: src/common/util.c:871 +msgid "Internic Commercial" +msgstr "Komerčné" + +#: src/common/util.c:872 +msgid "Costa Rica" +msgstr "Kostarika" + +#: src/common/util.c:873 +msgid "Serbia and Montenegro" +msgstr "Srbsko a Čierna Hora" + +#: src/common/util.c:874 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:875 +msgid "Cape Verde" +msgstr "Kapverdy" + +#: src/common/util.c:876 +msgid "Christmas Island" +msgstr "Vianočné ostrovy" + +#: src/common/util.c:877 +msgid "Cyprus" +msgstr "Cyprus" + +#: src/common/util.c:878 +msgid "Czech Republic" +msgstr "Česká Republika" + +#: src/common/util.c:879 +msgid "Germany" +msgstr "Nemecko" + +#: src/common/util.c:880 +msgid "Djibouti" +msgstr "Džibuti" + +#: src/common/util.c:881 +msgid "Denmark" +msgstr "Dánsko" + +#: src/common/util.c:882 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:883 +msgid "Dominican Republic" +msgstr "Dominikánska Republika" + +#: src/common/util.c:884 +msgid "Algeria" +msgstr "Alžírsko" + +#: src/common/util.c:885 +msgid "Ecuador" +msgstr "Ekvádor" + +#: src/common/util.c:886 +msgid "Educational Institution" +msgstr "Školstvo" + +#: src/common/util.c:887 +msgid "Estonia" +msgstr "Estónsko" + +#: src/common/util.c:888 +msgid "Egypt" +msgstr "Egypt" + +#: src/common/util.c:889 +msgid "Western Sahara" +msgstr "Západná Sahara" + +#: src/common/util.c:890 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:891 +msgid "Spain" +msgstr "Španielsko" + +#: src/common/util.c:892 +msgid "Ethiopia" +msgstr "Etiópia" + +#: src/common/util.c:893 +msgid "Finland" +msgstr "Fínsko" + +#: src/common/util.c:894 +msgid "Fiji" +msgstr "Fidži" + +#: src/common/util.c:895 +msgid "Falkland Islands" +msgstr "Falklandské ostrovy" + +#: src/common/util.c:896 +msgid "Micronesia" +msgstr "Mikronézia" + +#: src/common/util.c:897 +msgid "Faroe Islands" +msgstr "Faerské ostrovy" + +#: src/common/util.c:898 +msgid "France" +msgstr "Francúzsko" + +#: src/common/util.c:899 +msgid "France, Metropolitan" +msgstr "Metropolitné francúzsko" + +#: src/common/util.c:900 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:901 +msgid "Great Britain" +msgstr "Veľká Británia" + +#: src/common/util.c:902 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:903 +msgid "Georgia" +msgstr "Gruzínsko" + +#: src/common/util.c:904 +msgid "French Guiana" +msgstr "Francúzska guayana" + +#: src/common/util.c:905 +msgid "British Channel Isles" +msgstr "Britské ostrovy v kanáli" + +#: src/common/util.c:906 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:907 +msgid "Gibraltar" +msgstr "Gibraltár" + +#: src/common/util.c:908 +msgid "Greenland" +msgstr "Grónsko" + +#: src/common/util.c:909 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:910 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:911 +msgid "Government" +msgstr "Vládne" + +#: src/common/util.c:912 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:913 +msgid "Equatorial Guinea" +msgstr "Rovníková Guinea" + +#: src/common/util.c:914 +msgid "Greece" +msgstr "Grécko" + +#: src/common/util.c:915 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "S. Georgia a S. Sandwich Isles" + +#: src/common/util.c:916 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:917 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:918 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:919 +msgid "Guyana" +msgstr "Guayana" + +#: src/common/util.c:920 +msgid "Hong Kong" +msgstr "Hongkong" + +#: src/common/util.c:921 +msgid "Heard and McDonald Islands" +msgstr "Heard a McDonald Islands" + +#: src/common/util.c:922 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:923 +msgid "Croatia" +msgstr "Chorvátsko" + +#: src/common/util.c:924 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:925 +msgid "Hungary" +msgstr "Maďarsko" + +#: src/common/util.c:926 +msgid "Indonesia" +msgstr "Indonézia" + +#: src/common/util.c:927 +msgid "Ireland" +msgstr "Írsko" + +#: src/common/util.c:928 +msgid "Israel" +msgstr "Izrael" + +#: src/common/util.c:929 +msgid "India" +msgstr "India" + +#: src/common/util.c:930 +msgid "Informational" +msgstr "Informačné" + +#: src/common/util.c:931 +msgid "International" +msgstr "Medzinárodné" + +#: src/common/util.c:932 +msgid "British Indian Ocean Territory" +msgstr "Britské teritórium Indický oceán" + +#: src/common/util.c:933 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:934 +msgid "Iran" +msgstr "Irán" + +#: src/common/util.c:935 +msgid "Iceland" +msgstr "Island" + +#: src/common/util.c:936 +msgid "Italy" +msgstr "Taliansko" + +#: src/common/util.c:937 +msgid "Jamaica" +msgstr "Jamajka" + +#: src/common/util.c:938 +msgid "Jordan" +msgstr "Jordánsko" + +#: src/common/util.c:939 +msgid "Japan" +msgstr "Japonsko" + +#: src/common/util.c:940 +msgid "Kenya" +msgstr "Keňa" + +#: src/common/util.c:941 +msgid "Kyrgyzstan" +msgstr "Kirgistán" + +#: src/common/util.c:942 +msgid "Cambodia" +msgstr "Kambodža" + +#: src/common/util.c:943 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:944 +msgid "Comoros" +msgstr "Komory" + +#: src/common/util.c:945 +msgid "St. Kitts and Nevis" +msgstr "Svätý Krištof a Nevis" + +#: src/common/util.c:946 +msgid "North Korea" +msgstr "Severná Kórea" + +#: src/common/util.c:947 +msgid "South Korea" +msgstr "Južná Kórea" + +#: src/common/util.c:948 +msgid "Kuwait" +msgstr "Kuvajt" + +#: src/common/util.c:949 +msgid "Cayman Islands" +msgstr "Kajmanské ostrovy" + +#: src/common/util.c:950 +msgid "Kazakhstan" +msgstr "Kazachstan" + +#: src/common/util.c:951 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:952 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:953 +msgid "Saint Lucia" +msgstr "Svätá Lucia" + +#: src/common/util.c:954 +msgid "Liechtenstein" +msgstr "Lichtenštajnsko" + +#: src/common/util.c:955 +msgid "Sri Lanka" +msgstr "Srí Lanka" + +#: src/common/util.c:956 +msgid "Liberia" +msgstr "Libéria" + +#: src/common/util.c:957 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:958 +msgid "Lithuania" +msgstr "Litva" + +#: src/common/util.c:959 +msgid "Luxembourg" +msgstr "Luxemburgsko" + +#: src/common/util.c:960 +msgid "Latvia" +msgstr "Lotyšsko" + +#: src/common/util.c:961 +msgid "Libya" +msgstr "Líbya" + +#: src/common/util.c:962 +msgid "Morocco" +msgstr "Maroko" + +#: src/common/util.c:963 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:964 +msgid "Moldova" +msgstr "Moldavsko" + +#: src/common/util.c:965 +msgid "United States Medical" +msgstr "USA zdravotníctvo" + +#: src/common/util.c:966 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:967 +msgid "Marshall Islands" +msgstr "Marshallove ostrovy" + +#: src/common/util.c:968 +msgid "Military" +msgstr "Vojenské" + +#: src/common/util.c:969 +msgid "Macedonia" +msgstr "Makedónia" + +#: src/common/util.c:970 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:971 +msgid "Myanmar" +msgstr "Myanmar (Barma)" + +#: src/common/util.c:972 +msgid "Mongolia" +msgstr "Mongolsko" + +#: src/common/util.c:973 +msgid "Macau" +msgstr "Macao" + +#: src/common/util.c:974 +msgid "Northern Mariana Islands" +msgstr "Severné Mariánske Ostrovy" + +#: src/common/util.c:975 +msgid "Martinique" +msgstr "Martinik" + +#: src/common/util.c:976 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:977 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:978 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:979 +msgid "Mauritius" +msgstr "Maurícius" + +#: src/common/util.c:980 +msgid "Maldives" +msgstr "Maledivy" + +#: src/common/util.c:981 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:982 +msgid "Mexico" +msgstr "Mexiko" + +#: src/common/util.c:983 +msgid "Malaysia" +msgstr "Malajzia" + +#: src/common/util.c:984 +msgid "Mozambique" +msgstr "Mozambik" + +#: src/common/util.c:985 +msgid "Namibia" +msgstr "Namíbia" + +#: src/common/util.c:986 +msgid "New Caledonia" +msgstr "Nová Kaledónia" + +#: src/common/util.c:987 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:988 +msgid "Internic Network" +msgstr "Sieť Internic" + +#: src/common/util.c:989 +msgid "Norfolk Island" +msgstr "Ostrov Norfolk" + +#: src/common/util.c:990 +msgid "Nigeria" +msgstr "Nigéria" + +#: src/common/util.c:991 +msgid "Nicaragua" +msgstr "Nikaragua" + +#: src/common/util.c:992 +msgid "Netherlands" +msgstr "Holandsko" + +#: src/common/util.c:993 +msgid "Norway" +msgstr "Nórsko" + +#: src/common/util.c:994 +msgid "Nepal" +msgstr "Nepál" + +#: src/common/util.c:995 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:996 +msgid "Neutral Zone" +msgstr "Neutrálna zóna" + +#: src/common/util.c:997 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:998 +msgid "New Zealand" +msgstr "Nový Zéland" + +#: src/common/util.c:999 +msgid "Oman" +msgstr "Omán" + +#: src/common/util.c:1000 +msgid "Internic Non-Profit Organization" +msgstr "Nezisková organizácia" + +#: src/common/util.c:1001 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:1002 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:1003 +msgid "French Polynesia" +msgstr "Francúzska Polynézia" + +#: src/common/util.c:1004 +msgid "Papua New Guinea" +msgstr "Papua Nová Guinea" + +#: src/common/util.c:1005 +msgid "Philippines" +msgstr "Filipíny" + +#: src/common/util.c:1006 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:1007 +msgid "Poland" +msgstr "Poľsko" + +#: src/common/util.c:1008 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre a Miquelon" + +#: src/common/util.c:1009 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:1010 +msgid "Puerto Rico" +msgstr "Portoriko" + +#: src/common/util.c:1011 +msgid "Palestinian Territory" +msgstr "Palestínske teritórium" + +#: src/common/util.c:1012 +msgid "Portugal" +msgstr "Portugalsko" + +#: src/common/util.c:1013 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:1014 +msgid "Paraguay" +msgstr "Paraguaj" + +#: src/common/util.c:1015 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:1016 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:1017 +msgid "Romania" +msgstr "Rumunsko" + +#: src/common/util.c:1018 +msgid "Old School ARPAnet" +msgstr "Starý ARPAnet" + +#: src/common/util.c:1019 +msgid "Russian Federation" +msgstr "Ruská federácia" + +#: src/common/util.c:1020 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:1021 +msgid "Saudi Arabia" +msgstr "Saudská Arábia" + +#: src/common/util.c:1022 +msgid "Solomon Islands" +msgstr "Šalamúnove Ostrovy" + +#: src/common/util.c:1023 +msgid "Seychelles" +msgstr "Seychely" + +#: src/common/util.c:1024 +msgid "Sudan" +msgstr "Sudán" + +#: src/common/util.c:1025 +msgid "Sweden" +msgstr "Švédsko" + +#: src/common/util.c:1026 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:1027 +msgid "St. Helena" +msgstr "Svätá Helena" + +#: src/common/util.c:1028 +msgid "Slovenia" +msgstr "Slovinsko" + +#: src/common/util.c:1029 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard a ostrovy Jan Mayen" + +#: src/common/util.c:1030 +msgid "Slovak Republic" +msgstr "Slovensko" + +#: src/common/util.c:1031 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:1032 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:1033 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:1034 +msgid "Somalia" +msgstr "Somálsko" + +#: src/common/util.c:1035 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:1036 +msgid "Sao Tome and Principe" +msgstr "Svätý Tomáš" + +#: src/common/util.c:1037 +msgid "Former USSR" +msgstr "Bývalý Sovietsky zväz" + +#: src/common/util.c:1038 +msgid "El Salvador" +msgstr "Salvádor" + +#: src/common/util.c:1039 +msgid "Syria" +msgstr "Sýria" + +#: src/common/util.c:1040 +msgid "Swaziland" +msgstr "Svazijsko" + +#: src/common/util.c:1041 +msgid "Turks and Caicos Islands" +msgstr "Turks a Kaikské Ostrovy" + +#: src/common/util.c:1042 +msgid "Chad" +msgstr "Čad" + +#: src/common/util.c:1043 +msgid "French Southern Territories" +msgstr "Francúzske južné teritóriá" + +#: src/common/util.c:1044 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:1045 +msgid "Thailand" +msgstr "Thajsko" + +#: src/common/util.c:1046 +msgid "Tajikistan" +msgstr "Tadžikistan" + +#: src/common/util.c:1047 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1048 +msgid "Turkmenistan" +msgstr "Turkmenistán" + +#: src/common/util.c:1049 +msgid "Tunisia" +msgstr "Tunisko" + +#: src/common/util.c:1050 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:1051 +msgid "East Timor" +msgstr "Východný Timor" + +#: src/common/util.c:1052 +msgid "Turkey" +msgstr "Turecko" + +#: src/common/util.c:1053 +msgid "Trinidad and Tobago" +msgstr "Trinidad a Tobago" + +#: src/common/util.c:1054 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1055 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:1056 +msgid "Tanzania" +msgstr "Tanzánia" + +#: src/common/util.c:1057 +msgid "Ukraine" +msgstr "Ukrajina" + +#: src/common/util.c:1058 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:1059 +msgid "United Kingdom" +msgstr "Spojené kráľovstvo" + +#: src/common/util.c:1060 +msgid "US Minor Outlying Islands" +msgstr "US menšie pobrežné ostrovy" + +#: src/common/util.c:1061 +msgid "United States of America" +msgstr "USA" + +#: src/common/util.c:1062 +msgid "Uruguay" +msgstr "Uruguaj" + +#: src/common/util.c:1063 +msgid "Uzbekistan" +msgstr "Uzbekistán" + +#: src/common/util.c:1064 +msgid "Vatican City State" +msgstr "Vatikán" + +#: src/common/util.c:1065 +msgid "St. Vincent and the Grenadines" +msgstr "Sv. Vincent a Grenada" + +#: src/common/util.c:1066 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:1067 +msgid "British Virgin Islands" +msgstr "Britské panenské ostrovy" + +#: src/common/util.c:1068 +msgid "US Virgin Islands" +msgstr "US Panenské ostrovy" + +#: src/common/util.c:1069 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:1070 +msgid "Vanuatu" +msgstr "Vanuatu (Nové Hebridy)" + +#: src/common/util.c:1071 +msgid "Wallis and Futuna Islands" +msgstr "Ostrovy Wallis a Futuna" + +#: src/common/util.c:1072 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1073 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:1074 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:1075 +msgid "Yugoslavia" +msgstr "Juhoslávia" + +#: src/common/util.c:1076 +msgid "South Africa" +msgstr "Južná Afrika" + +#: src/common/util.c:1077 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:1078 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/util.c:1088 src/common/util.c:1098 src/fe-gtk/menu.c:478 +#: src/fe-gtk/menu.c:482 src/fe-gtk/menu.c:486 src/fe-gtk/menu.c:490 +#: src/fe-gtk/menu.c:494 +msgid "Unknown" +msgstr "Neznáme" + +#: src/common/xchat.c:929 +msgid "Direct client-to-client" +msgstr "Priamo klient klientovi" + +#: src/common/xchat.c:930 +msgid "Send File" +msgstr "Odoslať súbor" + +#: src/common/xchat.c:931 +msgid "Offer Chat" +msgstr "Ponúknuť rozhovor" + +#: src/common/xchat.c:932 +msgid "Abort Chat" +msgstr "Ukončiť rozhovor" + +#: src/common/xchat.c:933 src/fe-gtk/plugingui.c:73 +msgid "Version" +msgstr "Verzia" + +#: src/common/xchat.c:934 +msgid "Userinfo" +msgstr "Informácie o používateľovi" + +#: src/common/xchat.c:935 +msgid "Clientinfo" +msgstr "Informácie o klientovi" + +#: src/common/xchat.c:936 src/common/xchat.c:970 src/common/xchat.c:1021 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:937 +msgid "Time" +msgstr "Čas" + +#: src/common/xchat.c:938 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:939 +msgid "Oper" +msgstr "Oper" + +#: src/common/xchat.c:940 +msgid "Kill this user" +msgstr "Zabiť spojenie tomuto používateľovi" + +#: src/common/xchat.c:941 +msgid "Mode" +msgstr "Mód" + +#: src/common/xchat.c:942 +msgid "Give Ops" +msgstr "Dať op" + +#: src/common/xchat.c:943 +msgid "Take Ops" +msgstr "Zobrať op" + +#: src/common/xchat.c:944 +msgid "Give Half-Ops" +msgstr "Dať half-op" + +#: src/common/xchat.c:945 +msgid "Take Half-Ops" +msgstr "Zobrať half-op" + +#: src/common/xchat.c:946 +msgid "Give Voice" +msgstr "Dať voice" + +#: src/common/xchat.c:947 +msgid "Take Voice" +msgstr "Zobrať voice" + +#: src/common/xchat.c:948 +msgid "Ignore" +msgstr "Ignorovať" + +#: src/common/xchat.c:949 +msgid "Ignore User" +msgstr "Ignorovať používateľa" + +#: src/common/xchat.c:950 +msgid "UnIgnore User" +msgstr "Prestať ignorovať používateľa" + +#: src/common/xchat.c:951 +msgid "Kick/Ban" +msgstr "Vykopnúť/Zakázať" + +#: src/common/xchat.c:952 src/common/xchat.c:1004 +msgid "Kick" +msgstr "Vykopnúť" + +#: src/common/xchat.c:953 src/common/xchat.c:954 src/common/xchat.c:955 +#: src/common/xchat.c:956 src/common/xchat.c:957 src/common/xchat.c:1003 +msgid "Ban" +msgstr "Zakázať" + +#: src/common/xchat.c:958 src/common/xchat.c:959 src/common/xchat.c:960 +#: src/common/xchat.c:961 +msgid "KickBan" +msgstr "Vykopnúť a zakázať" + +#: src/common/xchat.c:962 src/fe-gtk/dccgui.c:564 src/fe-gtk/dccgui.c:712 +msgid "Info" +msgstr "Informácie" + +#: src/common/xchat.c:963 +msgid "Who" +msgstr "Who" + +#: src/common/xchat.c:964 src/common/xchat.c:1017 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/xchat.c:965 +msgid "DNS Lookup" +msgstr "Vyhľadávanie DNS" + +#: src/common/xchat.c:966 +msgid "Trace" +msgstr "Trasovať" + +#: src/common/xchat.c:967 +msgid "UserHost" +msgstr "UserHost" + +#: src/common/xchat.c:968 +msgid "External" +msgstr "Externé" + +#: src/common/xchat.c:969 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:971 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:972 +msgid "Open Dialog Window" +msgstr "Otvoriť dialógové okno" + +#: src/common/xchat.c:984 +msgid "Disconnect" +msgstr "Odpojiť" + +#: src/common/xchat.c:985 +msgid "Reconnect" +msgstr "Znovu pripojiť" + +#: src/common/xchat.c:986 +msgid "Leave Channel" +msgstr "Opustiť kanál" + +#: src/common/xchat.c:987 +msgid "Join Channel..." +msgstr "Prihlásiť sa na kanál..." + +#: src/common/xchat.c:988 +msgid "Enter Channel to Join:" +msgstr "Zadajte kanál:" + +#: src/common/xchat.c:989 +msgid "Server Links" +msgstr "Serverové pripojenia" + +#: src/common/xchat.c:990 +msgid "Ping Server" +msgstr "Ping na server" + +#: src/common/xchat.c:991 +msgid "Hide Version" +msgstr "Skryť verziu" + +#: src/common/xchat.c:1001 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:1002 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/xchat.c:1005 +msgid "bye" +msgstr "bye" + +#: src/common/xchat.c:1006 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Zadajte dôvod pre vykopnutie %s:" + +#: src/common/xchat.c:1007 +msgid "Sendfile" +msgstr "Odoslať súbor" + +#: src/common/xchat.c:1008 +msgid "Dialog" +msgstr "Dialóg" + +#: src/common/xchat.c:1018 +msgid "Send" +msgstr "Odoslať" + +#: src/common/xchat.c:1019 +msgid "Chat" +msgstr "Chat" + +#: src/common/xchat.c:1020 src/fe-gtk/banlist.c:319 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/search.c:117 src/fe-gtk/urlgrab.c:200 +msgid "Clear" +msgstr "Vymazať" + +#: src/fe-gtk/about.c:102 +msgid "About X-Chat" +msgstr "Informácie o X-Chat" + +#: src/fe-gtk/about.c:124 +msgid "A multiplatform IRC Client" +msgstr "Multiplatformný IRC klient" + +#: src/fe-gtk/ascii.c:131 +msgid "Character Chart" +msgstr "Znaková Tabuľka" + +#: src/fe-gtk/banlist.c:153 src/fe-gtk/banlist.c:237 +msgid "You must select some bans." +msgstr "Musíte vybrať nejaké zákazy." + +#: src/fe-gtk/banlist.c:253 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Maska" + +#: src/fe-gtk/banlist.c:254 src/fe-gtk/dccgui.c:520 +msgid "From" +msgstr "Od" + +#: src/fe-gtk/banlist.c:255 +msgid "Date" +msgstr "Dátum" + +#: src/fe-gtk/banlist.c:299 +#, c-format +msgid "X-Chat: Ban List (%s)" +msgstr "X-Chat: Zoznam zákazov (%s)" + +#: src/fe-gtk/banlist.c:315 +msgid "Unban" +msgstr "Odstrániť zákaz" + +#: src/fe-gtk/banlist.c:317 +msgid "Crop" +msgstr "Vytiahnuť" + +#: src/fe-gtk/banlist.c:321 +msgid "Refresh" +msgstr "Aktualizovať" + +#: src/fe-gtk/chanlist.c:120 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "" +"Štatistika kanálov a používateľov: %d/%d používateľov na %d/%d kanáloch" + +#: src/fe-gtk/chanlist.c:536 +msgid "I can't save an empty list!" +msgstr "Prázdny zoznam nie je možné uložiť!" + +#: src/fe-gtk/chanlist.c:539 src/fe-gtk/menu.c:924 +msgid "Select an output filename" +msgstr "Vyberte meno výstupného súboru" + +#: src/fe-gtk/chanlist.c:607 +#, c-format +msgid "X-Chat: Channel List (%s)" +msgstr "X-Chat: Zoznam kanálov (%s)" + +#: src/fe-gtk/chanlist.c:622 +msgid "List display options:" +msgstr "Možnosti zobrazenia zoznamu:" + +#: src/fe-gtk/chanlist.c:634 +msgid "Minimum Users:" +msgstr "Minimálny počet používateľov:" + +#: src/fe-gtk/chanlist.c:649 +msgid "Maximum Users:" +msgstr "Maximálny počet používateľov:" + +#: src/fe-gtk/chanlist.c:664 +msgid "Regex Match:" +msgstr "Regulérny výraz:" + +#: src/fe-gtk/chanlist.c:685 +msgid "Apply Match to:" +msgstr "Použiť výraz na:" + +#: src/fe-gtk/chanlist.c:709 +msgid "Apply" +msgstr "Použiť" + +#: src/fe-gtk/chanlist.c:751 +msgid "Refresh the list" +msgstr "Aktualizovať zoznam" + +#: src/fe-gtk/chanlist.c:753 +msgid "Save the list" +msgstr "Uložiť zoznam" + +#: src/fe-gtk/chanlist.c:755 src/fe-gtk/menu.c:721 +msgid "Join Channel" +msgstr "Vstúpiť na kanál" + +#: src/fe-gtk/dccgui.c:126 +#, c-format +msgid "Send file to %s" +msgstr "Poslať súbor používateľovi %s" + +#: src/fe-gtk/dccgui.c:346 +#, c-format +msgid "" +" File: %s\n" +" To/From: %s\n" +" Size: %u\n" +" Port: %d\n" +" IP Number: %s\n" +"Start Time: %s Max CPS: %d\n" +msgstr "" +" Súbor: %s\n" +" K/Od: %s\n" +" Veľkosť: %u\n" +" Port: %d\n" +" IP adresa: %s\n" +"Začiatok: %s Max CPS: %d\n" + +#: src/fe-gtk/dccgui.c:379 +msgid "That file is not resumable." +msgstr "V prenose tohoto súboru nie je možné pokračovať." + +#: src/fe-gtk/dccgui.c:383 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Nemôžem pristupovať k súboru: %s\n" +"%s.\n" +"Pokračovanie nie je možné." + +#: src/fe-gtk/dccgui.c:390 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" +"Nedokončený súbor je väčší ako ponúkaný súbor. Pokračovanie nie je možné." + +#: src/fe-gtk/dccgui.c:394 +msgid "Cannot resume the same file from two people." +msgstr "Nemôžem sťahovať ten istý súbor od dvoch používateľov." + +#: src/fe-gtk/dccgui.c:509 +msgid "MIME Type" +msgstr "Typ MIME" + +#: src/fe-gtk/dccgui.c:515 src/fe-gtk/dccgui.c:673 src/fe-gtk/dccgui.c:796 +#: src/fe-gtk/notifygui.c:110 +msgid "Status" +msgstr "Stav" + +#: src/fe-gtk/dccgui.c:516 src/fe-gtk/dccgui.c:674 src/fe-gtk/plugingui.c:74 +msgid "File" +msgstr "Súbor" + +#: src/fe-gtk/dccgui.c:519 src/fe-gtk/dccgui.c:678 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:529 +msgid "X-Chat: File Receive List" +msgstr "X-Chat: Zoznam prijímaných súborov" + +#: src/fe-gtk/dccgui.c:558 src/fe-gtk/dccgui.c:711 src/fe-gtk/dccgui.c:826 +msgid "Abort" +msgstr "Zrušiť" + +#: src/fe-gtk/dccgui.c:560 src/fe-gtk/dccgui.c:827 +msgid "Accept" +msgstr "Akceptovať" + +#: src/fe-gtk/dccgui.c:562 +msgid "Resume" +msgstr "Pokračovať" + +#: src/fe-gtk/dccgui.c:566 +msgid "Open" +msgstr "Otvoriť" + +#: src/fe-gtk/dccgui.c:677 +msgid "Ack" +msgstr "Potvr" + +#: src/fe-gtk/dccgui.c:679 +msgid "To" +msgstr "K" + +#: src/fe-gtk/dccgui.c:689 +msgid "X-Chat: File Send List" +msgstr "X-Chat: Zoznam posielaných súborov" + +#: src/fe-gtk/dccgui.c:797 +msgid "To/From" +msgstr "K/Od" + +#: src/fe-gtk/dccgui.c:798 +msgid "Recv" +msgstr "Príjem" + +#: src/fe-gtk/dccgui.c:799 +msgid "Sent" +msgstr "Odoslané" + +#: src/fe-gtk/dccgui.c:800 +msgid "StartTime" +msgstr "Počiatočný čas" + +#: src/fe-gtk/dccgui.c:810 +msgid "X-Chat: DCC Chat List" +msgstr "X-Chat: Zoznam DCC Chat" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*NOVÝ*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "UPRAV MA" + +#: src/fe-gtk/editlist.c:305 src/fe-gtk/plugingui.c:72 +msgid "Name" +msgstr "Názov" + +#: src/fe-gtk/editlist.c:306 +msgid "Command" +msgstr "Príkaz" + +#: src/fe-gtk/editlist.c:333 +msgid "Move Up" +msgstr "Nahor" + +#: src/fe-gtk/editlist.c:337 +msgid "Move Dn" +msgstr "Nadol" + +#: src/fe-gtk/editlist.c:345 +msgid "Cancel" +msgstr "Zrušiť" + +#: src/fe-gtk/editlist.c:349 src/fe-gtk/textgui.c:413 src/fe-gtk/urlgrab.c:204 +msgid "Save" +msgstr "Uložiť" + +#: src/fe-gtk/editlist.c:357 +msgid "Add New" +msgstr "Pridať nový" + +#: src/fe-gtk/editlist.c:361 src/fe-gtk/fkeys.c:751 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Odstrániť" + +#: src/fe-gtk/editlist.c:369 +msgid "Sort" +msgstr "Triediť" + +#: src/fe-gtk/editlist.c:373 +msgid "Help" +msgstr "Nápoveda" + +#: src/fe-gtk/fe-gtk.c:170 +msgid "Options" +msgstr "Možnosti" + +#: src/fe-gtk/fe-gtk.c:171 +msgid "don't auto connect" +msgstr "nepripojovať sa automaticky" + +#: src/fe-gtk/fe-gtk.c:172 +msgid "DIRECTORY" +msgstr "PRIEČINOK" + +#: src/fe-gtk/fe-gtk.c:173 +msgid "use a different config dir" +msgstr "použiť iný konfiguračný priečinok" + +#: src/fe-gtk/fe-gtk.c:174 +msgid "don't auto load any plugins" +msgstr "nenahrávať automaticky žiadne pluginy" + +#: src/fe-gtk/fe-gtk.c:175 +msgid "show plugin auto-load dir" +msgstr "zobraziť priečinok pre automatické načítanie plug-inov" + +#: src/fe-gtk/fe-gtk.c:176 +msgid "show user config dir" +msgstr "zobraziť priečinok s používateľským nastavením" + +#: src/fe-gtk/fe-gtk.c:177 +msgid "show version information" +msgstr "zobraziť informácie o verzii" + +#: src/fe-gtk/fe-gtk.c:262 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Nepodarilo sa načítať písmo:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:622 +msgid "Search buffer is empty.\n" +msgstr "Vyhľadávací zásobník je prázdny.\n" + +#: src/fe-gtk/fe-gtk.c:699 +#, c-format +msgid "%d bytes" +msgstr "%d bajtov" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into " +"the entry box where you pressed the key sequence. Thus it can contain text " +"(which will be sent to the channel/person), commands or user commands. When " +"run all \\n characters in Data 1 are used to deliminate seperate commands so " +"it is possible to run more than one command. If you want a \\ in the actual " +"text run then enter \\\\" +msgstr "" +"Akcia Spustiť príkaz pošle dáta do Data 1 ako keby ste ich napísali do " +"vstupného poľa. Preto môže obsahovať text (ktorý je posielaný do kanálu " +"alebo osobe), príkazy alebo používateľské príkazy. Po poslaní sa použijú " +"znaky \\n pre rozdelenie do príkazov, takže sa dá naraz spustiť viac ako " +"jeden príkaz. Ak chcete priamo do príkazov zadať znaky \\, zadajte ich ako \\" +"\\" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1 " +"to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position" +msgstr "" +"Príkaz Zmeniť stránku prepína medzi stránkami notesu. Nastavte Data 1 na " +"stránku, na ktorú chcete prepnúť. Ak je Data 2 vyplnené, bude prepnutie " +"relatívne k aktuálnej pozícii" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" +"Príkaz Vložiť do textu vloží obsah Data 1 do položky na aktuálnu pozíciu " +"kurzoru, akoby boli stlačené tieto klávesy" + +#: src/fe-gtk/fkeys.c:161 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one " +"line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "" +"Príkaz Posun o stránku posunie text hore alebo dolu o jednu stránku. " +"Nastavte Data 1 na Up, Down, +1 alebo -1." + +#: src/fe-gtk/fkeys.c:163 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered to " +"the contents of Data 1" +msgstr "" +"Príkaz Nastaviť text vyplní položku akoby boli stlačené dané klávesy podľa " +"obsahu Data 1" + +#: src/fe-gtk/fkeys.c:165 +msgid "" +"The Last Command command sets the entry to contain the last command entered " +"- the same as pressing up in a shell" +msgstr "" +"Príkaz Posledný príkaz nastaví položku, aby obsahovala posledný zadaný " +"príkaz - rovnaké ako stlačenie šipky hore v shelle" + +#: src/fe-gtk/fkeys.c:167 +msgid "" +"The Next Command command sets the entry to contain the next command entered " +"- the same as pressing down in a shell" +msgstr "" +"Príkaz Nasledujúci príkaz nastaví položku, aby obsahovala ďalší zadaný " +"príkaz - rovnaké ako stlačenie šipky dolu v shelle" + +#: src/fe-gtk/fkeys.c:169 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the " +"last nick, not the next" +msgstr "" +"Tento príkaz zmení text v položke tak, aby dokončil neúplné prezývky alebo " +"príkazy. Ak je Data 1 vyplnené, použijú sa dvojité tabulátory ako posledná " +"prezývka a nie nasledujúca" + +#: src/fe-gtk/fkeys.c:171 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set " +"to anything it will scroll up, else it scrolls down" +msgstr "" +"Tento príkaz posunie hore alebo dolu v zozname prezývok. Ak je niečo " +"vyplnené v Data 1, posun bude nahor, inak bude posun nadol" + +#: src/fe-gtk/fkeys.c:173 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" +"Tento príkaz otestuje posledné zadané slovo v položke oproti zoznamu náhrad " +"a použije náhrady, ak nájde odpovedajúce časti" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command moves the front tab left by one" +msgstr "Tento príkaz posunie prednú záložku o jednu vľavo" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command moves the front tab right by one" +msgstr "Tento príkaz posunie prednú záložku o jednu vpravo" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the current tab family to the left" +msgstr "Tento príkaz posunie aktuálnu skupinu záložiek o jednu vľavo" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the current tab family to the right" +msgstr "Tento príkaz posunie aktuálnu skupinu záložiek o jednu vpravo" + +#: src/fe-gtk/fkeys.c:183 +msgid "Push input line into history but doesn't send to server" +msgstr "Vloží vstupný riadok do histórie, ale neodošle ho serveru" + +#: src/fe-gtk/fkeys.c:195 +msgid "There was an error loading key bindings configuration" +msgstr "Počas načítavania konfigurácie klávesových skratiek nastala chyba" + +#: src/fe-gtk/fkeys.c:439 src/fe-gtk/fkeys.c:440 src/fe-gtk/fkeys.c:441 +#: src/fe-gtk/fkeys.c:442 src/fe-gtk/fkeys.c:724 src/fe-gtk/fkeys.c:730 +#: src/fe-gtk/fkeys.c:735 src/fe-gtk/maingui.c:905 src/fe-gtk/maingui.c:921 +#: src/fe-gtk/maingui.c:1064 src/fe-gtk/maingui.c:1117 +#: src/fe-gtk/maingui.c:2494 +msgid "<none>" +msgstr "<žiadny>" + +#: src/fe-gtk/fkeys.c:688 +msgid "Mod" +msgstr "Mod" + +#: src/fe-gtk/fkeys.c:689 src/fe-gtk/fkeys.c:784 +msgid "Key" +msgstr "Klávesa" + +#: src/fe-gtk/fkeys.c:690 +msgid "Action" +msgstr "Akcia" + +#: src/fe-gtk/fkeys.c:699 +msgid "X-Chat: Keyboard Shortcuts" +msgstr "X-Chat: Klávesové skratky" + +#: src/fe-gtk/fkeys.c:746 +msgid "Add new" +msgstr "Pridať nový" + +#: src/fe-gtk/fkeys.c:777 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:779 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:781 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:788 +msgid "Data 1" +msgstr "Dáta 1" + +#: src/fe-gtk/fkeys.c:791 +msgid "Data 2" +msgstr "Dáta 2" + +#: src/fe-gtk/fkeys.c:834 +msgid "Error opening keys config file\n" +msgstr "Chyba pri otváraní súboru s nastavením kláves\n" + +#: src/fe-gtk/fkeys.c:1005 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Neznáme meno klávesy %s v konfiguračnom súbore\n" +"Načítanie prerušené. Prosím, opravte %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1043 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Neznáma akcia %s v konfiguračnom súbore\n" +"Načítanie prerušené. Prosím, opravte %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1064 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Očakáva sa riadok Data (začínajúci Dx{:|!}), ale načítané bolo:\n" +"%s\n" +"\n" +"Načítanie prerušené. Prosím, opravte %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1133 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Konfiguračný súbor nastavenia klávesnice je poškodený\n" +"Načítanie prerušené. Prosím, opravte %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:154 +msgid "Cannot write to that file." +msgstr "Nepodaril sa zápis to súboru." + +#: src/fe-gtk/gtkutil.c:156 +msgid "Cannot read that file." +msgstr "Nepodarilo sa čítanie súboru." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "Taká maska už existuje." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:1573 +msgid "Private" +msgstr "Súkromné" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Poznámka" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Pozvať" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Prestať ignorovať" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Zadajte masku pre ignorovanie:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "X-Chat: Ignore list" +msgstr "X-Chat: Zoznam ignorovaných" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Štatistika ignorovania:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Kanál:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Súkromné:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Poznámka:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Pozvánka:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:306 +msgid "Add" +msgstr "Pridať" + +#: src/fe-gtk/maingui.c:318 +msgid "Dialog with" +msgstr "Dialóg s" + +#: src/fe-gtk/maingui.c:574 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Téma pre %s je: %s" + +#: src/fe-gtk/maingui.c:578 +msgid "No topic is set" +msgstr "Nie je nastavená téma" + +#: src/fe-gtk/maingui.c:974 +msgid "No other tabs open, quit xchat?" +msgstr "Nie sú otvorené žiadne ďalšie záložky, ukončiť xchat?" + +#: src/fe-gtk/maingui.c:1020 +msgid "Insert color code" +msgstr "Vložte kód farby" + +#: src/fe-gtk/maingui.c:1069 +msgid "Beep on message" +msgstr "Zazvoniť pri správe" + +#: src/fe-gtk/maingui.c:1072 +msgid "Show join/part messages" +msgstr "Zobrazovať správy o vstupe/odchode" + +#: src/fe-gtk/maingui.c:1074 +msgid "Color paste" +msgstr "Vložiť farbu" + +#: src/fe-gtk/maingui.c:1084 +msgid "Go to" +msgstr "Ísť na" + +#: src/fe-gtk/maingui.c:1097 src/fe-gtk/menu.c:1251 +msgid "Close Tab" +msgstr "Zavrieť záložku" + +#: src/fe-gtk/maingui.c:1100 src/fe-gtk/menu.c:1404 +msgid "Detach Tab" +msgstr "Odpojiť záložku" + +#: src/fe-gtk/maingui.c:1291 +msgid "Some file transfers still active, quit xchat?" +msgstr "Sú aktívne prenosy súborov, ukončiť xchat?" + +#: src/fe-gtk/maingui.c:1441 src/fe-gtk/maingui.c:1547 +msgid "User limit must be a number!\n" +msgstr "Limit používateľov musí byť číslo!\n" + +#: src/fe-gtk/maingui.c:1569 +msgid "Topic Protection" +msgstr "Ochrana témy" + +#: src/fe-gtk/maingui.c:1570 +msgid "No outside messages" +msgstr "Žiadne správy mimo kanál" + +#: src/fe-gtk/maingui.c:1571 +msgid "Secret" +msgstr "Tajné" + +#: src/fe-gtk/maingui.c:1572 +msgid "Invite Only" +msgstr "Len pozvaní" + +#: src/fe-gtk/maingui.c:1574 +msgid "Moderated" +msgstr "Moderované" + +#: src/fe-gtk/maingui.c:1575 +msgid "Ban List" +msgstr "Zoznam zákazov" + +#: src/fe-gtk/maingui.c:1577 +msgid "Keyword" +msgstr "Kľúčové slovo" + +#: src/fe-gtk/maingui.c:1589 +msgid "User Limit" +msgstr "Limit používateľov" + +#: src/fe-gtk/maingui.c:1605 +msgid "Close this tab/window" +msgstr "Zatvoriť toto okno alebo záložku" + +#: src/fe-gtk/maingui.c:1702 +msgid "Show/Hide userlist" +msgstr "Zobraziť alebo skryť zoznam používateľov" + +#: src/fe-gtk/maingui.c:1815 +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 "" +"Nemôžem nastaviť priehľadné pozadie!\n" +"\n" +"Pravdepodobne používate nekompatibilný\n" +"windowmanager, ktorý nie je podporovaný.\n" + +#: src/fe-gtk/maingui.c:2008 +msgid "Enter new nickname:" +msgstr "Zadajte novú prezývku:" + +#: src/fe-gtk/menu.c:116 +msgid "Host unknown" +msgstr "Hostiteľ neznámy" + +#: src/fe-gtk/menu.c:477 +#, c-format +msgid "User: %s" +msgstr "Používateľ: %s" + +#: src/fe-gtk/menu.c:481 +#, c-format +msgid "Country: %s" +msgstr "Krajina: %s" + +#: src/fe-gtk/menu.c:485 +#, c-format +msgid "Realname: %s" +msgstr "Skutočné meno: %s" + +#: src/fe-gtk/menu.c:489 +#, c-format +msgid "Server: %s" +msgstr "Server: %s" + +#: src/fe-gtk/menu.c:493 +#, c-format +msgid "Last Msg: %s" +msgstr "Posledná správa: %s" + +#: src/fe-gtk/menu.c:578 +msgid "Menu Bar" +msgstr "Menu" + +#: src/fe-gtk/menu.c:579 +msgid "Topic Bar" +msgstr "Panel témy" + +#: src/fe-gtk/menu.c:583 src/fe-gtk/setup.c:159 +msgid "User List" +msgstr "Zoznam používateľov" + +#: src/fe-gtk/menu.c:586 +msgid "Mode Buttons" +msgstr "Tlačidlá módov" + +#: src/fe-gtk/menu.c:592 +msgid "User List Buttons" +msgstr "Tlačidlá zoznamu používateľov" + +#: src/fe-gtk/menu.c:662 src/fe-gtk/urlgrab.c:202 +msgid "Copy selected URL" +msgstr "Kopírovať zvolenú URL" + +#: src/fe-gtk/menu.c:725 +msgid "Part Channel" +msgstr "Opustiť kanál" + +#: src/fe-gtk/menu.c:727 +msgid "Cycle Channel" +msgstr "Cyklovať kanál" + +#: src/fe-gtk/menu.c:750 +msgid "X-Chat: User menu" +msgstr "X-Chat: Menu Používatelia" + +#: src/fe-gtk/menu.c:759 +msgid "Edit This Menu..." +msgstr "Upraviť toto menu..." + +#: src/fe-gtk/menu.c:866 +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 "" +"*VAROVANIE*\n" +"Automatické prijatie DCC do vášho domovského\n" +"priečinku môže byť nebezpečné. Napríklad:\n" +"niekto by vám mohol poslať súbor .bash_profile." + +#: src/fe-gtk/menu.c:994 +msgid "Settings saved." +msgstr "Nastavenia uložené." + +#: src/fe-gtk/menu.c:1031 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" +"Používateľské príkazy - Zvláštne kódy:\n" +"\n" +"%c = súčasný kanál\n" +"%m = info o počítači\n" +"%n = vaša prezývka\n" +"%t = čas/dátum\n" +"%v = verzia xchatu\n" +"%2 = druhé slovo\n" +"%3 = tretie slovo\n" +"&2 = druhé slovo až koniec riadku\n" +"&3 = tretie slovo až koniec riadku\n" +"\n" +"napr:\n" +"/cmd john hello\n" +"\n" +"%2 bude \"john\"\n" +"&2 bude \"john hello\"." + +#: src/fe-gtk/menu.c:1046 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Tlačidlá zoznam používateľov - Špeciálne kódy:\n" +"\n" +"%a = všetky vybrané prezývky\n" +"%c = aktuálny kanál\n" +"%h = hostiteľ vybranej prezývky\n" +"%m = informácie o počítači\n" +"%n = vaša prezývka\n" +"%s = vybraná prezývka\n" +"%t = čas/dátum\n" + +#: src/fe-gtk/menu.c:1055 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Tlačidlá dialógu - Špeciálne kódy:\n" +"\n" +"%a = všetky vybrané prezývky\n" +"%c = aktuálny kanál\n" +"%h = hostiteľ vybranej prezývky\n" +"%m = informácie o počítači\n" +"%n = vaša prezývka\n" +"%s = vybraná prezývka\n" +"%t = čas/dátum\n" + +#: src/fe-gtk/menu.c:1064 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" +"Odpovede CTCP - Špeciálne kódy:\n" +"\n" +"%d = dáta (celé ctcp)\n" +"%m = informácie o počítači\n" +"%s = prezývka odosielateľa ctcp\n" +"%t = čas/dátum\n" +"%2 = slovo 2\n" +"%3 = slovo 3\n" +"&2 = slovo 2 do konca riadku\n" +"&3 = slovo 3 do konca riadku\n" +"\n" + +#: src/fe-gtk/menu.c:1074 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of X-Chat" +msgstr "" +"Spracovanie URL - Špeciálne kódy:\n" +"%s = URL\n" +"\n" +"Pridaním ! pred príkaz označíte, že sa\n" +"má poslať do shellu a nie do X-Chat" + +#: src/fe-gtk/menu.c:1083 +msgid "X-Chat: User Defined Commands" +msgstr "X-Chat: Používateľské príkazy" + +#: src/fe-gtk/menu.c:1090 +msgid "X-Chat: Userlist Popup menu" +msgstr "X-Chat: Kontextové menu Zoznam používateľov" + +#: src/fe-gtk/menu.c:1097 +msgid "X-Chat: Replace" +msgstr "X-Chat: Nahradiť" + +#: src/fe-gtk/menu.c:1104 +msgid "X-Chat: URL Handlers" +msgstr "X-Chat: Obsluha URL" + +#: src/fe-gtk/menu.c:1123 +msgid "X-Chat: Userlist buttons" +msgstr "X-Chat: Tlačidla zoznamu používateľov" + +#: src/fe-gtk/menu.c:1130 +msgid "X-Chat: Dialog buttons" +msgstr "X-Chat: Tlačidlá dialógu" + +#: src/fe-gtk/menu.c:1137 +msgid "X-Chat: CTCP Replies" +msgstr "X-Chat: CTCP odpovede" + +#: src/fe-gtk/menu.c:1225 +msgid "_X-Chat" +msgstr "_X-Chat" + +#: src/fe-gtk/menu.c:1226 +msgid "Server List..." +msgstr "Zoznam serverov..." + +#: src/fe-gtk/menu.c:1229 +msgid "New" +msgstr "Nový" + +#: src/fe-gtk/menu.c:1230 +msgid "Server Tab..." +msgstr "Záložka serverov..." + +#: src/fe-gtk/menu.c:1231 +msgid "Channel Tab..." +msgstr "Záložka kanálov..." + +#: src/fe-gtk/menu.c:1232 +msgid "Server Window..." +msgstr "Okno serverov..." + +#: src/fe-gtk/menu.c:1233 +msgid "Channel Window..." +msgstr "Okno kanálov..." + +#: src/fe-gtk/menu.c:1238 src/fe-gtk/menu.c:1240 +msgid "Load Plugin or Script..." +msgstr "Načítať plugin alebo skript..." + +#: src/fe-gtk/menu.c:1244 +msgid "New Shell Tab..." +msgstr "Záložka s novým shellom..." + +#: src/fe-gtk/menu.c:1253 +msgid "Quit" +msgstr "Ukončiť" + +#: src/fe-gtk/menu.c:1255 +msgid "_IRC" +msgstr "_IRC" + +#: src/fe-gtk/menu.c:1256 +msgid "Invisible" +msgstr "Neviditeľný" + +#: src/fe-gtk/menu.c:1257 +msgid "Receive Wallops" +msgstr "Prijímať wallops" + +#: src/fe-gtk/menu.c:1258 +msgid "Receive Server Notices" +msgstr "Prijímať správy serveru" + +#: src/fe-gtk/menu.c:1260 +msgid "Marked Away" +msgstr "Som preč" + +#: src/fe-gtk/menu.c:1262 +msgid "Auto Rejoin when Kicked" +msgstr "Automaticky sa vrátiť po vykopnutí" + +#: src/fe-gtk/menu.c:1263 +msgid "Auto Reconnect to Server" +msgstr "Automaticky sa znovupripojiť k serveru" + +#: src/fe-gtk/menu.c:1264 +msgid "Never-give-up ReConnect" +msgstr "Neustále pokusy o znovupripojenie" + +#: src/fe-gtk/menu.c:1266 +msgid "Auto Open Dialog Windows" +msgstr "Automaticky otvoriť dialógové okná" + +#: src/fe-gtk/menu.c:1267 +msgid "Auto Accept Direct Chat" +msgstr "Automaticky prijať DCC chat" + +#: src/fe-gtk/menu.c:1268 +msgid "Auto Accept Files" +msgstr "Automaticky prijať posielaný súbor" + +#: src/fe-gtk/menu.c:1270 +msgid "_Server" +msgstr "_Server" + +#: src/fe-gtk/menu.c:1272 +msgid "S_ettings" +msgstr "_Nastavenia" + +#: src/fe-gtk/menu.c:1273 +msgid "Preferences..." +msgstr "Nastavenia..." + +#: src/fe-gtk/menu.c:1275 +msgid "Advanced" +msgstr "Pokročilé" + +#: src/fe-gtk/menu.c:1276 +msgid "Auto Replace..." +msgstr "Automaticky nahradiť..." + +#: src/fe-gtk/menu.c:1277 +msgid "CTCP Replies..." +msgstr "CTCP odpovede..." + +#: src/fe-gtk/menu.c:1278 +msgid "Dialog Buttons..." +msgstr "Tlačidlá dialógu..." + +#: src/fe-gtk/menu.c:1279 +msgid "Keyboard Shortcuts..." +msgstr "Klávesové skratky..." + +#: src/fe-gtk/menu.c:1280 +msgid "Text Events..." +msgstr "Textové udalosti..." + +#: src/fe-gtk/menu.c:1281 +msgid "URL Handlers..." +msgstr "Správa URL..." + +#: src/fe-gtk/menu.c:1282 +msgid "User Commands..." +msgstr "Používateľské príkazy..." + +#: src/fe-gtk/menu.c:1283 +msgid "Userlist Buttons..." +msgstr "Tlačidla zoznamu používateľov..." + +#: src/fe-gtk/menu.c:1284 +msgid "Userlist Popup..." +msgstr "Menu zoznamu používateľov..." + +#: src/fe-gtk/menu.c:1289 +msgid "Reload Settings" +msgstr "Znovu načítať nastavenia" + +#: src/fe-gtk/menu.c:1291 +msgid "Save Settings now" +msgstr "Uložiť nastavenia" + +#: src/fe-gtk/menu.c:1292 +msgid "Save Settings on exit" +msgstr "Uložiť nastavenia pri ukončení" + +#: src/fe-gtk/menu.c:1295 +msgid "_Window" +msgstr "_Okno" + +#: src/fe-gtk/menu.c:1296 +msgid "Ban List..." +msgstr "Zoznam zákazov..." + +#: src/fe-gtk/menu.c:1297 +msgid "Channel List..." +msgstr "Zoznam kanálov..." + +#: src/fe-gtk/menu.c:1298 +msgid "Character Chart..." +msgstr "Tabuľka znakov..." + +#: src/fe-gtk/menu.c:1299 +msgid "Direct Chat..." +msgstr "Priamy rozhovor..." + +#: src/fe-gtk/menu.c:1300 +msgid "File Receive..." +msgstr "Príjem súboru..." + +#: src/fe-gtk/menu.c:1301 +msgid "File Send..." +msgstr "Odosielanie súboru..." + +#: src/fe-gtk/menu.c:1302 +msgid "Ignore List..." +msgstr "Zoznam ignorovaných..." + +#: src/fe-gtk/menu.c:1303 +msgid "Notify List..." +msgstr "Zoznam upozornení..." + +#: src/fe-gtk/menu.c:1304 +msgid "Plugins and Scripts..." +msgstr "Pluginy a skripty..." + +#: src/fe-gtk/menu.c:1305 +msgid "Raw Log..." +msgstr "Log..." + +#: src/fe-gtk/menu.c:1306 +msgid "URL Grabber..." +msgstr "Zachytávanie URL..." + +#: src/fe-gtk/menu.c:1308 +msgid "Reset Marker Line" +msgstr "Vynulovať značiacu čiaru" + +#: src/fe-gtk/menu.c:1309 +msgid "C_lear Text" +msgstr "Č_istý text" + +#: src/fe-gtk/menu.c:1310 +msgid "Search Text..." +msgstr "Prehľadať text..." + +#: src/fe-gtk/menu.c:1311 +msgid "Save Text..." +msgstr "Uložiť text..." + +#: src/fe-gtk/menu.c:1313 +msgid "_Help" +msgstr "_Pomocník" + +#: src/fe-gtk/menu.c:1314 +msgid "_Contents" +msgstr "O_bsah" + +#: src/fe-gtk/menu.c:1316 src/fe-gtk/menu.c:1318 +msgid "_About" +msgstr "_O Programe" + +#: src/fe-gtk/menu.c:1406 +msgid "Attach Tab" +msgstr "Pripojiť záložku" + +#: src/fe-gtk/notifygui.c:109 +msgid "User" +msgstr "Používateľ" + +#: src/fe-gtk/notifygui.c:111 +msgid "Server" +msgstr "Server" + +#: src/fe-gtk/notifygui.c:112 +msgid "Last Seen" +msgstr "Naposledy navštívené" + +#: src/fe-gtk/notifygui.c:149 +msgid "Offline" +msgstr "Off-line" + +#: src/fe-gtk/notifygui.c:169 src/fe-gtk/setup.c:199 +msgid "Never" +msgstr "Nikdy" + +#: src/fe-gtk/notifygui.c:187 +msgid "Online" +msgstr "On-line" + +#: src/fe-gtk/notifygui.c:277 +msgid "Enter nickname to add:" +msgstr "Zadajte prezývku:" + +#: src/fe-gtk/notifygui.c:293 +msgid "X-Chat: Notify List" +msgstr "X-Chat: Zoznam upozornení" + +#: src/fe-gtk/notifygui.c:308 +msgid "Remove" +msgstr "Odstrániť" + +#: src/fe-gtk/plugingui.c:75 src/fe-gtk/textgui.c:341 +msgid "Description" +msgstr "Popis" + +#: src/fe-gtk/plugingui.c:150 +msgid "Select a Plugin or Script to load" +msgstr "Vyberte plugin alebo skript" + +#: src/fe-gtk/plugingui.c:222 +msgid "X-Chat: Plugins and Scripts" +msgstr "X-Chat: Pluginy a skripty" + +#: src/fe-gtk/plugingui.c:228 +msgid "_Load..." +msgstr "_Načítať..." + +#: src/fe-gtk/plugingui.c:231 +msgid "_UnLoad" +msgstr "O_dobrať" + +#: src/fe-gtk/plugingui.c:235 +msgid "_Close" +msgstr "_Zavrieť" + +#: src/fe-gtk/rawlog.c:78 +msgid "Save rawlog" +msgstr "Uložiť rawlog" + +#: src/fe-gtk/rawlog.c:94 +#, c-format +msgid "X-Chat: Rawlog (%s)" +msgstr "X-Chat: Rawlog (%s)" + +#: src/fe-gtk/rawlog.c:123 +msgid "Clear rawlog" +msgstr "Vyprázdniť rawlog" + +#: src/fe-gtk/rawlog.c:126 +msgid "Save rawlog..." +msgstr "Uložiť rawlog..." + +#: src/fe-gtk/search.c:47 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Okno, pre ktoré ste otvorili tento dialóg pre hľadanie, už neexistuje." + +#: src/fe-gtk/search.c:91 +msgid "X-Chat: Search" +msgstr "X-Chat: Hľadanie" + +#: src/fe-gtk/search.c:100 +msgid "Find:" +msgstr "Hľadať:" + +#: src/fe-gtk/search.c:114 +msgid "Find" +msgstr "Nájsť" + +#: src/fe-gtk/search.c:119 +msgid "Close" +msgstr "Zavrieť" + +#: src/fe-gtk/servlistgui.c:161 src/fe-gtk/servlistgui.c:260 +msgid "New Network" +msgstr "Nová sieť" + +#: src/fe-gtk/servlistgui.c:493 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Naozaj odstrániť sieť \"%s\" a všetky príslušné servery?" + +#: src/fe-gtk/servlistgui.c:614 src/fe-gtk/servlistgui.c:630 +msgid "User name and Real name cannot be left blank." +msgstr "Meno používateľa a Skutočné meno nemôžu ostať prázdne." + +#: src/fe-gtk/servlistgui.c:981 +#, c-format +msgid "X-Chat: Edit %s" +msgstr "X-Chat: Upraviť %s" + +#: src/fe-gtk/servlistgui.c:1000 +#, c-format +msgid "Servers for %s" +msgstr "Servery pre %s" + +#: src/fe-gtk/servlistgui.c:1011 +msgid "Connect to selected server only" +msgstr "Pripojiť sa len na zvolený server" + +#: src/fe-gtk/servlistgui.c:1012 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Neskúšať iné servery, ak sa pripojenie nepodarí." + +#: src/fe-gtk/servlistgui.c:1014 +msgid "Your Details" +msgstr "Vaše Údaje" + +#: src/fe-gtk/servlistgui.c:1020 +msgid "Use global user information" +msgstr "Použiť spoločné informácie o používateľovi" + +#: src/fe-gtk/servlistgui.c:1023 src/fe-gtk/servlistgui.c:1255 +msgid "_Nick name:" +msgstr "_Prezývka:" + +#: src/fe-gtk/servlistgui.c:1027 src/fe-gtk/servlistgui.c:1276 +msgid "_User name:" +msgstr "_Meno používateľa:" + +#: src/fe-gtk/servlistgui.c:1031 +msgid "Real na_me:" +msgstr "S_kutočné meno:" + +#: src/fe-gtk/servlistgui.c:1034 +msgid "Connecting" +msgstr "Pripájam sa" + +#: src/fe-gtk/servlistgui.c:1040 +msgid "Auto connect to this network at startup" +msgstr "Automaticky pripojiť na túto sieť po štarte" + +#: src/fe-gtk/servlistgui.c:1042 +msgid "Use a proxy server" +msgstr "Použiť proxy server" + +#: src/fe-gtk/servlistgui.c:1044 +msgid "Use SSL for all the servers on this network" +msgstr "Použiť SSL pre všetky servery na tejto sieti" + +#: src/fe-gtk/servlistgui.c:1049 +msgid "Accept invalid SSL certificate" +msgstr "Akceptovať neplatné SSL certifikáty" + +#: src/fe-gtk/servlistgui.c:1055 +msgid "C_hannels to join:" +msgstr "Vstúpiť na _kanály:" + +#: src/fe-gtk/servlistgui.c:1057 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Kanály na ktoré vstúpiť, oddelené čiarkami, ale nie medzerami!" + +#: src/fe-gtk/servlistgui.c:1060 +msgid "Connect command:" +msgstr "Príkaz po pripojení:" + +#: src/fe-gtk/servlistgui.c:1062 +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 "" +"Príkaz, ktorý sa vykoná po pripojení. Ak potrebujete viac než jeden, zadajte " +"LOAD -e <súbor>, kde <súbor> je textový súbor s príkazmi na vykonanie." + +#: src/fe-gtk/servlistgui.c:1065 +msgid "Nickserv password:" +msgstr "Heslo pre NickServ:" + +#: src/fe-gtk/servlistgui.c:1070 +msgid "Server password:" +msgstr "Heslo serveru:" + +#: src/fe-gtk/servlistgui.c:1072 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Heslo pre server. V prípade pochybností nechať prázdne." + +#: src/fe-gtk/servlistgui.c:1075 +msgid "Character set:" +msgstr "Znaková sada:" + +#: src/fe-gtk/servlistgui.c:1148 +msgid "_Edit" +msgstr "_Upraviť" + +#: src/fe-gtk/servlistgui.c:1229 +msgid "X-Chat: Server List" +msgstr "X-Chat: Zoznam serverov" + +#: src/fe-gtk/servlistgui.c:1245 +msgid "User Information" +msgstr "Informácie o používateľovi" + +#: src/fe-gtk/servlistgui.c:1262 +msgid "Second choice:" +msgstr "Druhá voľba:" + +#: src/fe-gtk/servlistgui.c:1269 +msgid "Third choice:" +msgstr "Tretia voľba:" + +#: src/fe-gtk/servlistgui.c:1283 +msgid "Rea_l name:" +msgstr "S_kutočné meno:" + +#: src/fe-gtk/servlistgui.c:1329 +msgid "Networks" +msgstr "Siete" + +#: src/fe-gtk/servlistgui.c:1370 +msgid "Skip server list on startup" +msgstr "Nezobrazovať zoznam serverov pri štarte" + +#: src/fe-gtk/servlistgui.c:1401 +msgid "_Edit..." +msgstr "_Upraviť..." + +#: src/fe-gtk/servlistgui.c:1408 +msgid "_Sort" +msgstr "_Triediť" + +#: src/fe-gtk/servlistgui.c:1424 +msgid "C_onnect" +msgstr "_Pripojiť" + +#: src/fe-gtk/servlistgui.c:1433 +msgid "Connect in new tab" +msgstr "Pripojiť v novej záložke" + +#: src/fe-gtk/setup.c:95 +msgid "Text Box Appearance" +msgstr "Výzor hlavného textového okna" + +#: src/fe-gtk/setup.c:96 +msgid "Font:" +msgstr "Písmo:" + +#: src/fe-gtk/setup.c:97 +msgid "Background image:" +msgstr "Obrázok v pozadí:" + +#: src/fe-gtk/setup.c:98 +msgid "Scrollback lines:" +msgstr "Počet riadkov spätného logu:" + +#: src/fe-gtk/setup.c:99 +msgid "Transparent background" +msgstr "Priehľadné pozadie" + +#: src/fe-gtk/setup.c:100 +msgid "Indent nick names" +msgstr "Odsadiť prezývky" + +#: src/fe-gtk/setup.c:101 +msgid "Make nick names right-justified" +msgstr "Prezývky zarovnať do prava" + +#: src/fe-gtk/setup.c:102 +msgid "Tint (shade) transparency" +msgstr "Priehľadnosť zafarbenia" + +#: src/fe-gtk/setup.c:103 +msgid "Colored nick names" +msgstr "Farebné prezývky" + +#: src/fe-gtk/setup.c:104 +msgid "Give each person on IRC a different color" +msgstr "Označiť každého na IRC inou farbou" + +#: src/fe-gtk/setup.c:105 +msgid "Strip mIRC colors" +msgstr "Odstrániť mIRC farby" + +#: src/fe-gtk/setup.c:106 +msgid "Show marker line" +msgstr "Zobrazovať značiacu čiaru" + +#: src/fe-gtk/setup.c:107 +msgid "Insert a red line after the last read text." +msgstr "Zobraziť za posledným prečítaným textom červenú čiaru" + +#: src/fe-gtk/setup.c:108 +msgid "Tint Settings" +msgstr "_Nastavenie zafarbenia" + +#: src/fe-gtk/setup.c:109 +msgid "Red:" +msgstr "Červená:" + +#: src/fe-gtk/setup.c:110 +msgid "Green:" +msgstr "Zelená:" + +#: src/fe-gtk/setup.c:111 +msgid "Blue:" +msgstr "Modrá:" + +#: src/fe-gtk/setup.c:113 src/fe-gtk/setup.c:312 +msgid "Time Stamps" +msgstr "Zobrazenie času" + +#: src/fe-gtk/setup.c:114 +msgid "Time stamp format:" +msgstr "Formát zobrazenia času:" + +#: src/fe-gtk/setup.c:115 +msgid "See strftime manpage for details." +msgstr "Detaily nájdete v manuálovej stránke pre strftime." + +#: src/fe-gtk/setup.c:116 +msgid "Enable time stamps" +msgstr "Zaznamenávať čas" + +#: src/fe-gtk/setup.c:123 +msgid "Nick Completion" +msgstr "Dopĺňanie prezývky:" + +#: src/fe-gtk/setup.c:124 +msgid "Automatic nick completion" +msgstr "Automatické dokončovanie prezývok" + +#: src/fe-gtk/setup.c:125 +msgid "Completes nick names without using the TAB key" +msgstr "Doplniť prezývky bez používania klávesy TAB" + +#: src/fe-gtk/setup.c:126 +msgid "Nick completion suffix:" +msgstr "Prípona dokončovania prezývky:" + +#: src/fe-gtk/setup.c:128 +msgid "Input Box Codes" +msgstr "Kódy vstupného poľa" + +#: src/fe-gtk/setup.c:129 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Brať %nnn ako hodnotu ASCII" + +#: src/fe-gtk/setup.c:130 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Brať %C,%B ako Color, Bold atď" + +#: src/fe-gtk/setup.c:132 +msgid "Input Box Appearance" +msgstr "Výzor vstupného riadku" + +#: src/fe-gtk/setup.c:133 src/fe-gtk/setup.c:163 +msgid "Use the Text box font and colors" +msgstr "Použiť písmo a farby z textového poľa" + +#: src/fe-gtk/setup.c:140 +msgid "Off" +msgstr "Vypnuté" + +#: src/fe-gtk/setup.c:141 +msgid "Graph" +msgstr "Graf" + +#: src/fe-gtk/setup.c:142 +msgid "Info text" +msgstr "Informácie" + +#: src/fe-gtk/setup.c:143 +msgid "Both" +msgstr "Oboje" + +#: src/fe-gtk/setup.c:149 +msgid "A-Z, Ops first" +msgstr "A-Z, Ops najprv" + +#: src/fe-gtk/setup.c:150 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:151 +msgid "Z-A, Ops last" +msgstr "Z-A, Ops nakoniec" + +#: src/fe-gtk/setup.c:152 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:153 +msgid "Unsorted" +msgstr "Nezotriedené" + +#: src/fe-gtk/setup.c:160 +msgid "User list sorted by:" +msgstr "Zoznam používateľov triedený podľa:" + +#: src/fe-gtk/setup.c:161 +msgid "Show hostnames in user list" +msgstr "Zobrazovať hostiteľov v zozname používateľov" + +#: src/fe-gtk/setup.c:162 +msgid "User list buttons enabled" +msgstr "Tlačidlá zoznamu používateľov zobrazené" + +#: src/fe-gtk/setup.c:164 +msgid "Resizable user list" +msgstr "Zoznam používateľov s meniteľnou veľkosťou" + +#: src/fe-gtk/setup.c:166 +msgid "Away tracking" +msgstr "Sledovanie neprítomnosti" + +#: src/fe-gtk/setup.c:167 +msgid "Enable away tracking" +msgstr "Zapnúť sledovanie neprítomnosti" + +#: src/fe-gtk/setup.c:168 +msgid "On channels smaller than:" +msgstr "Na kanáloch menších ako:" + +#: src/fe-gtk/setup.c:170 +msgid "Action Upon Double Click" +msgstr "Akcia pri dvojkliku" + +#: src/fe-gtk/setup.c:171 +msgid "Execute command:" +msgstr "Vykonať príkaz:" + +#: src/fe-gtk/setup.c:173 +msgid "Extra Gadgets" +msgstr "Extra pomôcky" + +#: src/fe-gtk/setup.c:174 +msgid "Lag meter:" +msgstr "Meranie opozdenia:" + +#: src/fe-gtk/setup.c:175 +msgid "Throttle meter:" +msgstr "Meranie rýchlosti:" + +#: src/fe-gtk/setup.c:182 +msgid "Windows" +msgstr "Okná" + +#: src/fe-gtk/setup.c:183 src/fe-gtk/setup.c:207 src/fe-gtk/setup.c:1446 +msgid "Tabs" +msgstr "Záložky" + +#: src/fe-gtk/setup.c:189 +msgid "Bottom" +msgstr "Dolu" + +#: src/fe-gtk/setup.c:190 +msgid "Top" +msgstr "Hore" + +#: src/fe-gtk/setup.c:191 +msgid "Left" +msgstr "Vľavo" + +#: src/fe-gtk/setup.c:192 +msgid "Right" +msgstr "Vpravo" + +#: src/fe-gtk/setup.c:193 +msgid "Hidden" +msgstr "Skryté" + +#: src/fe-gtk/setup.c:200 +msgid "Always" +msgstr "Vždy" + +#: src/fe-gtk/setup.c:201 +msgid "Only requested tabs" +msgstr "Len požadované záložky" + +#: src/fe-gtk/setup.c:208 +msgid "Open an extra tab for server messages" +msgstr "Otvoriť vlastnú záložku pre správy serveru" + +#: src/fe-gtk/setup.c:209 +msgid "Open an extra tab for server notices" +msgstr "Otvoriť vlastnú záložku pre oznamy serveru" + +#: src/fe-gtk/setup.c:210 +msgid "Small tabs" +msgstr "Malé tabulátory" + +#: src/fe-gtk/setup.c:211 +msgid "Sort tabs in alphabetical order" +msgstr "Triediť záložky v abecednom poriadku" + +#: src/fe-gtk/setup.c:212 +msgid "Focus new tabs:" +msgstr "Nové záložky presunúť do popredia:" + +#: src/fe-gtk/setup.c:213 +msgid "Shorten tab labels to:" +msgstr "Skrátiť záložky na:" + +#: src/fe-gtk/setup.c:213 +msgid "letters." +msgstr "znakov." + +#: src/fe-gtk/setup.c:215 +msgid "Tabs Location" +msgstr "Umiestnenie záložiek" + +#: src/fe-gtk/setup.c:216 +msgid "Show tabs at:" +msgstr "Zobraziť záložky:" + +#: src/fe-gtk/setup.c:218 +msgid "Tabs or Windows" +msgstr "Záložky alebo okná" + +#: src/fe-gtk/setup.c:219 +msgid "Open channels in:" +msgstr "Otvárať kanály v:" + +#: src/fe-gtk/setup.c:220 +msgid "Open dialogs in:" +msgstr "Otvárať dialógy v:" + +#: src/fe-gtk/setup.c:221 +msgid "Open utilities in:" +msgstr "Otvárať pomôcky v:" + +#: src/fe-gtk/setup.c:221 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Otvárať DCC, Ignorovanie, Upozornenie atď v záložkách alebo v oknách?" + +#: src/fe-gtk/setup.c:228 +msgid "Files and Directories" +msgstr "Súbory a priečinky" + +#: src/fe-gtk/setup.c:229 +msgid "Download files to:" +msgstr "Prijímať súbory do:" + +#: src/fe-gtk/setup.c:230 +msgid "Move completed files to:" +msgstr "Presunúť dokončené súbory do:" + +#: src/fe-gtk/setup.c:231 +msgid "Save nick name in filenames" +msgstr "Uložiť prezývku v súboroch" + +#: src/fe-gtk/setup.c:232 +msgid "Convert spaces to underscore before sending" +msgstr "Nahradiť podtrhovníky medzerami pred odoslaním" + +#: src/fe-gtk/setup.c:234 +msgid "Network Settings" +msgstr "Sieťové nastavenia" + +#: src/fe-gtk/setup.c:235 +msgid "DCC IP address:" +msgstr "IP adresa DCC:" + +#: src/fe-gtk/setup.c:236 +msgid "Claim you are at this address when offering files." +msgstr "Tvrdiť že ste na tejto adrese pri ponúkaní súborov." + +#: src/fe-gtk/setup.c:237 +msgid "First DCC send port:" +msgstr "Prvý port DCC pre odosielanie:" + +#: src/fe-gtk/setup.c:238 +msgid "Last DCC send port:" +msgstr "Posledný port DCC pre odosielanie:" + +#: src/fe-gtk/setup.c:239 +msgid "(Leave ports at zero for full range)." +msgstr "(Zadajte nuly pre plný rozsah)." + +#: src/fe-gtk/setup.c:240 +msgid "Get my address from the IRC server" +msgstr "Získať moju adresu z IRC serveru" + +#: src/fe-gtk/setup.c:241 +msgid "" +"Asks the IRC server for your real address. Use this if you have a 192.168.*." +"* address!" +msgstr "" +"Spýta sa serveru na vašu reálnu adresu. Použite toto ak máte adresu v tvare " +"192.168.*.* !" + +#: src/fe-gtk/setup.c:243 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Maximálna rýchlosť prenosu súborov (bajty za sekundu)" + +#: src/fe-gtk/setup.c:244 +msgid "One upload:" +msgstr "Jeden odchodzí prenos:" + +#: src/fe-gtk/setup.c:245 src/fe-gtk/setup.c:247 +msgid "Maximum speed for one transfer" +msgstr "Max. rýchlosť jedného prenosu" + +#: src/fe-gtk/setup.c:246 +msgid "One download:" +msgstr "Jeden príchodzí prenos:" + +#: src/fe-gtk/setup.c:248 +msgid "All uploads combined:" +msgstr "Všetky odchodzie prenosy spolu:" + +#: src/fe-gtk/setup.c:249 src/fe-gtk/setup.c:251 +msgid "Maximum speed for all files" +msgstr "Max. rýchlosť pre všetky prenosy" + +#: src/fe-gtk/setup.c:250 +msgid "All downloads combined:" +msgstr "Všetky príchodzie prenosy spolu:" + +#: src/fe-gtk/setup.c:258 +msgid "Default Messages" +msgstr "Prednastavené správy" + +#: src/fe-gtk/setup.c:259 +msgid "Quit:" +msgstr "Ukončiť:" + +#: src/fe-gtk/setup.c:260 +msgid "Leave channel:" +msgstr "Opustiť kanál:" + +#: src/fe-gtk/setup.c:261 +msgid "Away:" +msgstr "Neprítomný:" + +#: src/fe-gtk/setup.c:263 +msgid "Away" +msgstr "Neprítomný:" + +#: src/fe-gtk/setup.c:264 +msgid "Announce away messages" +msgstr "Oznamovať AWAY správy" + +#: src/fe-gtk/setup.c:265 +msgid "Announce your away messages to all channels" +msgstr "Zaslať AWAY správu na všetky kanály" + +#: src/fe-gtk/setup.c:266 +msgid "Show away once" +msgstr "Zobrazovať AWAY iba raz" + +#: src/fe-gtk/setup.c:266 +msgid "Show identical away messages only once" +msgstr "Rovnaké správy zobraziť len raz" + +#: src/fe-gtk/setup.c:267 +msgid "Automatically unmark away" +msgstr "Automaticky zrušiť AWAY" + +#: src/fe-gtk/setup.c:267 +msgid "Unmark yourself as away before sending messages" +msgstr "Zrušiť AWAY pred odoslaním správy" + +#: src/fe-gtk/setup.c:270 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "(Môže byť textový súbor relatívny k ~/.xchat2/)." + +#: src/fe-gtk/setup.c:272 +msgid "(Can be a text file relative to config dir)." +msgstr "(Môže byť textový súbor relatívny k adresáru s nastaveniami)." + +#: src/fe-gtk/setup.c:276 +msgid "Alerts" +msgstr "Upozornenia" + +#: src/fe-gtk/setup.c:278 +msgid "Flash taskbar on highlighted messages" +msgstr "Blikať na lište pri zvýraznených správach" + +#: src/fe-gtk/setup.c:280 +msgid "Beep on highlighted messages" +msgstr "Zazvoniť pri zvýraznenej správe" + +#: src/fe-gtk/setup.c:281 +msgid "Extra words to highlight on:" +msgstr "Zvýrazňované slová:" + +#: src/fe-gtk/setup.c:282 +msgid "(Separate multiple words with commas)." +msgstr "(Oddelte slová čiarkami)." + +#: src/fe-gtk/setup.c:283 +msgid "Beep on private messages" +msgstr "Zazvoniť pri súkromnej správe" + +#: src/fe-gtk/setup.c:284 +msgid "Beep on channel messages" +msgstr "Zazvoniť pri správach kanála" + +#: src/fe-gtk/setup.c:291 +msgid "Advanced Settings" +msgstr "Pokročilé nastavenia" + +#: src/fe-gtk/setup.c:292 +msgid "Auto reconnect delay:" +msgstr "Oneskorenie automatického znovupripojenia:" + +#: src/fe-gtk/setup.c:293 +msgid "Display MODEs in raw form" +msgstr "Zobrazovať zmeny MODE v pôvodnom tvare" + +#: src/fe-gtk/setup.c:294 +msgid "Whois on notify" +msgstr "WHOIS pri upozornení" + +#: src/fe-gtk/setup.c:294 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Odošle /WHOIS keď sa prihlási niekto koho máte v zozname upozornení" + +#: src/fe-gtk/setup.c:295 +msgid "Hide join and part messages" +msgstr "Skryť vstupy a odchody z kanálov" + +#: src/fe-gtk/setup.c:295 +msgid "Hide channel join/part messages by default" +msgstr "Implicitne skryť vstupy a odchody z kanálov" + +#: src/fe-gtk/setup.c:296 +msgid "Auto Open DCC Windows" +msgstr "Automaticky otvoriť okná pre DCC" + +#: src/fe-gtk/setup.c:297 +msgid "Send window" +msgstr "Okno odosielania" + +#: src/fe-gtk/setup.c:298 +msgid "Receive window" +msgstr "Okno príjmu" + +#: src/fe-gtk/setup.c:299 +msgid "Chat window" +msgstr "Okno konverzácie" + +#: src/fe-gtk/setup.c:307 src/fe-gtk/setup.c:1451 +msgid "Logging" +msgstr "Logovanie" + +#: src/fe-gtk/setup.c:308 +msgid "Enable logging of conversations" +msgstr "Zapnúť ukladanie rozhovorov do log súborov" + +#: src/fe-gtk/setup.c:309 +msgid "Log filename mask:" +msgstr "Maska mena súboru logu:" + +#: src/fe-gtk/setup.c:310 +#, c-format +msgid "(%s=Server %c=Channel %n=Network)." +msgstr "(%s=Server %c=Kanál %n=Sieť)." + +#: src/fe-gtk/setup.c:313 +msgid "Insert timestamps in logs" +msgstr "Zaznamenať čas v logoch" + +#: src/fe-gtk/setup.c:314 +msgid "Log timestamp format:" +msgstr "Formát zobrazovania času:" + +#: src/fe-gtk/setup.c:315 +msgid "(See strftime manpage for details)." +msgstr "(Detaily nájdete v manuálovej stránke pre strftime)." + +#: src/fe-gtk/setup.c:322 +msgid "(Disabled)" +msgstr "(Zakázané)" + +#: src/fe-gtk/setup.c:323 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:324 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:325 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:326 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:332 +msgid "Your Address" +msgstr "Vaša adresa" + +#: src/fe-gtk/setup.c:333 +msgid "Bind to:" +msgstr "Nastaviť na:" + +#: src/fe-gtk/setup.c:334 +msgid "(Only useful for computers with multiple addresses)." +msgstr "(Len pre počítače, ktoré majú viac adries)." + +#: src/fe-gtk/setup.c:336 +msgid "Proxy Server" +msgstr "Proxy server" + +#: src/fe-gtk/setup.c:337 +msgid "Hostname:" +msgstr "Názov hostiteľa:" + +#: src/fe-gtk/setup.c:338 +msgid "Username:" +msgstr "Meno používateľa:" + +#: src/fe-gtk/setup.c:339 +msgid "Password:" +msgstr "Heslo:" + +#: src/fe-gtk/setup.c:340 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:341 +msgid "Type:" +msgstr "Typ:" + +#: src/fe-gtk/setup.c:343 +msgid "Authenticate to the proxy server (HTTP and Socks5)" +msgstr "Autentizovať na proxy serveri (len HTTP a Socks5)" + +#: src/fe-gtk/setup.c:566 +msgid "(disabled)" +msgstr "(zakázané)" + +#: src/fe-gtk/setup.c:567 +msgid "A star (*)" +msgstr "Hviezdička (*)" + +#: src/fe-gtk/setup.c:568 +msgid "A red star (*)" +msgstr "Červená hviezdička (*)" + +#: src/fe-gtk/setup.c:569 +msgid "Underlined" +msgstr "Podčiarknuté" + +#: src/fe-gtk/setup.c:666 +msgid "Select an Image File" +msgstr "Vyberte obrazový súbor" + +#: src/fe-gtk/setup.c:702 +msgid "Select font" +msgstr "Vyberte písmo" + +#: src/fe-gtk/setup.c:776 +msgid "Browse..." +msgstr "Prehliadať..." + +#: src/fe-gtk/setup.c:893 +msgid "Mark identified users with:" +msgstr "Označiť identifikovaných používateľov:" + +#: src/fe-gtk/setup.c:895 +msgid "Mark not-identified users with:" +msgstr "Označiť neidentifikovaných používateľov:" + +#: src/fe-gtk/setup.c:958 +msgid "Select color" +msgstr "Vyberte farbu" + +#: src/fe-gtk/setup.c:1038 +msgid "Text Colors" +msgstr "Farby textu" + +#: src/fe-gtk/setup.c:1040 +msgid "mIRC colors:" +msgstr "Farby mIRC:" + +#: src/fe-gtk/setup.c:1048 +msgid "Extra colors:" +msgstr "Extra farby:" + +#: src/fe-gtk/setup.c:1056 src/fe-gtk/setup.c:1061 +msgid "Foreground:" +msgstr "Popredie:" + +#: src/fe-gtk/setup.c:1057 src/fe-gtk/setup.c:1062 +msgid "Background:" +msgstr "Pozadie:" + +#: src/fe-gtk/setup.c:1059 +msgid "Marking Text" +msgstr "Značiaci text" + +#: src/fe-gtk/setup.c:1064 +msgid "Interface Colors" +msgstr "Farby prostredia" + +#: src/fe-gtk/setup.c:1066 +msgid "New data:" +msgstr "Nové data:" + +#: src/fe-gtk/setup.c:1067 +msgid "Marker line:" +msgstr "Značiaca čiara:" + +#: src/fe-gtk/setup.c:1068 +msgid "New message:" +msgstr "Nová správa:" + +#: src/fe-gtk/setup.c:1069 +msgid "Away user:" +msgstr "Neprítomný používateľ:" + +#: src/fe-gtk/setup.c:1070 +msgid "Highlight:" +msgstr "Zvýraznenie:" + +#: src/fe-gtk/setup.c:1166 src/fe-gtk/textgui.c:337 +msgid "Event" +msgstr "Udalosť" + +#: src/fe-gtk/setup.c:1172 +msgid "Sound file" +msgstr "Zvukový súbor" + +#: src/fe-gtk/setup.c:1207 +msgid "Select a sound file" +msgstr "Vyberte meno zvukového súboru" + +#: src/fe-gtk/setup.c:1279 +msgid "Sound playing method:" +msgstr "Metóda prehrávania zvuku:" + +#: src/fe-gtk/setup.c:1287 +msgid "External sound playing _program:" +msgstr "Externý _program na prehrávanie zvuku:" + +#: src/fe-gtk/setup.c:1305 +msgid "_External program" +msgstr "_Externý program" + +#: src/fe-gtk/setup.c:1315 +msgid "_Automatic" +msgstr "_Automaticky" + +#: src/fe-gtk/setup.c:1328 +msgid "Sound files _directory:" +msgstr "Priečinok zvukových súborov" + +#: src/fe-gtk/setup.c:1367 +msgid "Sound file:" +msgstr "Zvukový súbor:" + +#: src/fe-gtk/setup.c:1382 +msgid "_Browse..." +msgstr "P_rehliadať..." + +#: src/fe-gtk/setup.c:1393 +msgid "_Play" +msgstr "_Prehrať" + +#: src/fe-gtk/setup.c:1442 +msgid "Interface" +msgstr "Používateľské prostredie" + +#: src/fe-gtk/setup.c:1443 +msgid "Text box" +msgstr "Textové pole" + +#: src/fe-gtk/setup.c:1444 +msgid "Input box" +msgstr "Vstupné pole" + +#: src/fe-gtk/setup.c:1445 +msgid "User list" +msgstr "Zoznam používateľov" + +#: src/fe-gtk/setup.c:1447 +msgid "Colors" +msgstr "Farby" + +#: src/fe-gtk/setup.c:1449 +msgid "Chatting" +msgstr "Rozhovor" + +#: src/fe-gtk/setup.c:1450 +msgid "General" +msgstr "Všeobecné" + +#: src/fe-gtk/setup.c:1452 +msgid "Sound" +msgstr "Zvuky" + +#: src/fe-gtk/setup.c:1455 +msgid "Network" +msgstr "Sieť" + +#: src/fe-gtk/setup.c:1456 +msgid "Network setup" +msgstr "Nastavenie siete" + +#: src/fe-gtk/setup.c:1457 +msgid "File transfers" +msgstr "Prenos súborov" + +#: src/fe-gtk/setup.c:1564 +msgid "Categories" +msgstr "Kategórie" + +#: src/fe-gtk/setup.c:1694 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" +"Boli vykonané zmeny, ktoré vyžadujú spustiť aplikáciu znovu, aby sa použili." + +#: src/fe-gtk/setup.c:1722 +msgid "X-Chat: Preferences" +msgstr "X-Chat: Nastavenia" + +#: src/fe-gtk/textgui.c:160 +msgid "There was an error parsing the string" +msgstr "Počas spracovania reťazca nastala chyba" + +#: src/fe-gtk/textgui.c:168 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Tento signál predal iba %d argumentov, $%d je neplatné" + +#: src/fe-gtk/textgui.c:276 src/fe-gtk/textgui.c:299 +msgid "Print Texts File" +msgstr "Vytlačiť súbor textov" + +#: src/fe-gtk/textgui.c:340 +msgid "$ Number" +msgstr "Číslo $" + +#: src/fe-gtk/textgui.c:350 +msgid "Edit Events" +msgstr "Upraviť udalosti" + +#: src/fe-gtk/textgui.c:418 +msgid "Save As" +msgstr "Uložiť ako" + +#: src/fe-gtk/textgui.c:423 +msgid "Load From" +msgstr "Načítať z" + +#: src/fe-gtk/textgui.c:428 +msgid "Test All" +msgstr "Testovať všetky" + +#: src/fe-gtk/urlgrab.c:97 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:147 +msgid "Select a file to save to" +msgstr "Vyberte súbor, kam chcete uložiť" + +#: src/fe-gtk/urlgrab.c:187 +msgid "X-Chat: URL Grabber" +msgstr "X-Chat: Zachytenie URL" + +#: src/fe-gtk/urlgrab.c:200 +msgid "Clear list" +msgstr "Vymazať zoznam" + +#: src/fe-gtk/urlgrab.c:202 +msgid "Copy" +msgstr "Kopírovať" + +#: src/fe-gtk/urlgrab.c:204 +msgid "Save list to a file" +msgstr "Uložiť zoznam do súboru" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d chanop, %d celk." + +#~ msgid "%C22*%O$t%C28[%O$1%C28] %O$2" +#~ msgstr "%C22*%O$t%C28[%O$1%C28]·%O$2" + +#~ msgid "Former Czechoslovakia" +#~ msgstr "Bývalé Československo" + +#~ msgid "Zaire" +#~ msgstr "Zair" + +#~ msgid "Delete All" +#~ msgstr "Odstrániť všetko" diff --git a/po/sl.po b/po/sl.po new file mode 100644 index 00000000..26f4ca63 --- /dev/null +++ b/po/sl.po @@ -0,0 +1,5026 @@ +# translation of xchat-2.4.5.po to Slovenian +# translation of xchat-2.0.8pre1.po to Slovenščina +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Roman Maurer [mailto:roman.maurer@amis.net, 2004. +# Nejc Novak <nejc.novak@guest.arnes.si>, 2001. +# Jure Čuhalev <gandalf@owca.info>, 2003. +# Jure Cuhalev <gandalf@owca.info>, 2005. +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.4.5\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2005-07-23 19:49+1000\n" +"PO-Revision-Date: 2005-08-09 01:38+0200\n" +"Last-Translator: Jure Cuhalev <gandalf@owca.info>\n" +"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.10\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#: src/common/cfgfiles.c:350 +msgid "Cannot create ~/.xchat2" +msgstr "Ne morem ustvariti ~/.xchat2" + +#: src/common/cfgfiles.c:676 +msgid "I'm busy" +msgstr "Ne utegnem" + +#: src/common/cfgfiles.c:677 +msgid "Leaving" +msgstr "Odhajam" + +#: src/common/cfgfiles.c:723 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Uporaba IRC-a kot root uporabnik je neumna!\n" +" Ustvarite uporabniški račun in ga uporabite za prijavo.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Čakam" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Aktiven" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Spodletelo" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Opravljeno" + +#: src/common/dcc.c:71 +msgid "Connect" +msgstr "Poveži se" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Prekinjeno" + +#: src/common/dcc.c:1340 +#, c-format +msgid "Cannot access %s\n" +msgstr "Ne morem dostopati do %s\n" + +#: src/common/dcc.c:1990 +msgid "No active DCCs\n" +msgstr "Ni aktivnih DCCjev\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "DA " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "NE " + +#: src/common/ignore.c:373 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "%s vas zasipa s CTCP podatki, spregledujem %s\n" + +#: src/common/ignore.c:398 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "%s vas zasipa s sporočili, izklapljam samodejno odpiranje pogovornih oken.\n" + +#: src/common/notify.c:400 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s prisoten\n" + +#: src/common/notify.c:402 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s odsoten\n" + +#: src/common/outbound.c:71 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Niste na nobenem kanalu. Poskusite /join #<kanal>\n" + +#: src/common/outbound.c:77 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Niste povezani. Poskusite /server <gostitelj> [<vrata>]\n" + +#: src/common/outbound.c:1660 +msgid "I need /bin/sh to run!\n" +msgstr "Potrebujem /bin/sh za zagon!\n" + +#: src/common/outbound.c:1976 +msgid "Commands Available:" +msgstr "Ukazi, ki so na voljo:" + +#: src/common/outbound.c:1990 +msgid "User defined commands:" +msgstr "Ukazi, določeni s strani uporabnika:" + +#: src/common/outbound.c:2006 +msgid "Plugin defined commands:" +msgstr "Ukazi, določeni s strani uporabnika:" + +#: src/common/outbound.c:2017 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Za več informacij uporabite /HELP <ukaz> ali /HELP -l" + +#: src/common/outbound.c:2092 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Neznan argument '%s' spregledan." + +#: src/common/outbound.c:2881 +msgid "No such plugin found.\n" +msgstr "Ta dodatek ne obstaja.\n" + +#: src/common/outbound.c:2886 src/fe-gtk/plugingui.c:185 +msgid "That plugin is refusing to unload.\n" +msgstr "Ta plugin zavrača odstranitev.\n" + +#: src/common/outbound.c:3043 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <ime> <dejanje> doda gumb v seznam uporabnikov" + +#: src/common/outbound.c:3045 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <ukaz> izvede ukaz na vseh kanalih, s katerimi ste povezani" + +#: src/common/outbound.c:3047 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <ukaz> izvede ukaz na vseh kanalih, na katerih ste prisotni" + +#: src/common/outbound.c:3049 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <ukaz> pošlje ukaz vsem strežnikom, na katerih ste prijavljeni" + +#: src/common/outbound.c:3050 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<razlog>] nastavi vašo odsotnost" + +#: src/common/outbound.c:3052 +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 <maska> [<vrsta>], prepove dostop do trenutnega kanala vsem, ki ustrezajo maski. Če so že na kanalu, jih ta ukaz ne brcne iz kanala (potrebuje status op)" + +#: src/common/outbound.c:3054 +msgid "CLEAR, Clears the current text window" +msgstr "CLEAR počisti besedilo v trenutnem oknu" + +#: src/common/outbound.c:3055 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE zapre trenutno okno/zavihek" + +#: src/common/outbound.c:3058 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY <koda|vzorec> poišče ime države, npr: si = Slovenija" + +#: src/common/outbound.c:3060 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <vzdevek> <sporočilo> pošlje sporočilo CTCP vzdevku; pogosti sporočili sta VERSION in USERINFO" + +#: src/common/outbound.c:3062 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "CYCLE zapusti trenutni kanal in se takoj spet poveže z njim" + +#: src/common/outbound.c:3064 +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 "" +"\n" +"DCC GET <vzdevek> - prejme ponujeno datoteko\n" +"DCC SEND [-maxcps=#] <vzdevek> [datoteka] - pošlje nekomu datoteko\n" +"DCC PSEND [-maxcps=#] <vzdevek> [datoteka] - pošlje nekomu datoteko z uporabo pasivnega načina\n" +"DCC LIST - pokaže DCC seznam\n" +"DCC CHAT <vzdevek> - nekomu ponudi DCC CHAT\n" +"DCC CHAT <vzdevek> - nekomu ponudi DCC CHAT v pasivnem načinu\n" +"DCC CLOSE <vrsta> <vzdevek> <datoteka> primer:\n" +" /dcc close send janeznovak datoteka.tar.gz" + +#: src/common/outbound.c:3076 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <vzdevek> odstrani status polovični-op vzdevku (za kar so potrebne pravice op)" + +#: src/common/outbound.c:3078 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <ime> zbriše gumb s seznama uporabnikov" + +#: src/common/outbound.c:3080 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <vzdevek> odstrani status op vzdevku (za kar so potrebne pravice op)" + +#: src/common/outbound.c:3082 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <vzdevek> odstrani glasovni privilegij vzdevku (za kar so potrebne pravice op)" + +#: src/common/outbound.c:3083 +msgid "DISCON, Disconnects from server" +msgstr "DISCON prekine povezavo s strežnikom" + +#: src/common/outbound.c:3084 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <vzdevek|gostitelj|ip> poišče uporabnikov naslov IP" + +#: src/common/outbound.c:3085 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <besedilo> izpiše besedilo v okno" + +#: src/common/outbound.c:3088 +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] <ukaz> izvede ukaz. Če uporabite stikalo -o, je rezultat izpisan na trenutnem kanalu, sicer pa v trenutnem besedilnem polju" + +#: src/common/outbound.c:3090 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT pošlje procesu signal za nadaljevanje SIGCONT" + +#: src/common/outbound.c:3093 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9] ubije delujoči proces v trenutni seji. Če uporabite stikalo -9, je procesu poslan signal SIGKILL" + +#: src/common/outbound.c:3095 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP procesu pošlje signal SIGSTOP" + +#: src/common/outbound.c:3096 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE pošlje podatke vhodnemu toku procesa" + +#: src/common/outbound.c:3100 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FULSHQ odpošlje čakajočo vrsto sporočil na strežnik" + +#: src/common/outbound.c:3102 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <gostitelj> [<vrata>] usmeri tok prek gostitelja (proxy), privzeto prek vrat 23" + +#: src/common/outbound.c:3108 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <vzdevek> vzdevku dodeli status polovični-op (za kar potrebuje pravice op)" + +#: src/common/outbound.c:3109 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <geslo>, vas identificira pri nickservu" + +#: src/common/outbound.c:3111 +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 <maska> <vrste..> <možnosti..>\n" +" maska - maska gostitelja, npr.: *!*@*.siol.net\n" +" vrste - vrste podatkov za preziranje, ena ali vse od:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" možnosti - NOSAVE, QUIET" + +#: src/common/outbound.c:3118 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <vzdevek> [<kanal>] povabi vzdevek na kanal, privzeto na trenutnega (za kar potrebuje pravice op)" + +#: src/common/outbound.c:3119 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanal>, pridruži se kanalu" + +#: src/common/outbound.c:3121 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <vzdevek> brcne vzdevek iz trenutnega kanala (za kar potrebuje pravice op)" + +#: src/common/outbound.c:3123 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <vzdevek> izvede prepoved in brcne osebo iz kanala (za kar potrebuje pravice op)" + +#: src/common/outbound.c:3126 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK preveri časovni odmik" + +#: src/common/outbound.c:3128 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <niz> išče besedilni niz v trenutnem vmesniku" + +#: src/common/outbound.c:3130 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <datoteka>, naloži dodatek ali skripto" + +#: src/common/outbound.c:3133 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP vsem odvzame polovične statuse op na trenutnem kanalu (za kar potrebuje pravice op)" + +#: src/common/outbound.c:3135 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP vsem na trenutnem kanalu odvzame status op (za kar potrebuje pravice op)" + +#: src/common/outbound.c:3137 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <dejanje> pošlje dejanje v trenutni kanal (dejanja so izpisana v tretji osebi, npr. /me skače)" + +#: src/common/outbound.c:3140 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK na trenutnem kanalu brcne vse razen samega sebe (za kar potrebuje pravice op)" + +#: src/common/outbound.c:3143 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MDEOP vsem na trenutnem kanalu odvzame status op (za kar potrebuje pravice op)" + +#: src/common/outbound.c:3144 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <vzdevek> <sporočilo> pošlje zasebno sporočilo" + +#: src/common/outbound.c:3147 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES izpiše seznam vseh vzdevkov na trenutnem kanalu" + +#: src/common/outbound.c:3149 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <vzdevek> <sporočilo> pošlje obvestilo CTCP" + +#: src/common/outbound.c:3150 +msgid "NEWSERVER <hostname> [<port>]" +msgstr "NEWSERVER <gostitelj> [<vrata>]" + +#: src/common/outbound.c:3151 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <vzdevek> nastavi vaš vzdevek" + +#: src/common/outbound.c:3154 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <vzdevek/kanal> <obvestilo> pošlje obvestilo. To je vrsta sporočila, na katerega je možen samodejen odziv" + +#: src/common/outbound.c:3156 +msgid "NOTIFY [<nick>], lists your notify list or adds someone to it" +msgstr "NOTIFY [<vzdevek>] doda vzdevek v vaš seznam za obveščanje ali pa ga izpiše" + +#: src/common/outbound.c:3158 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <vzdevek> vzdevku podeli status operateja (op) kanala (za kar potrebuje pravice op)" + +#: src/common/outbound.c:3160 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanal>] [<razlog>] zapusti kanal, privzeto trenutnega" + +#: src/common/outbound.c:3162 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <vzdevek | kanal> pošlje CTCP ping vzdevku ali kanalu" + +#: src/common/outbound.c:3164 +msgid "QUERY <nick>, opens up a new privmsg window to someone" +msgstr "QUERY <vzdevek>, odpre novo okno za zasebni pogovor" + +#: src/common/outbound.c:3166 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<razlog]> prekine povezavo s trenutnim strežnikom" + +#: src/common/outbound.c:3168 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <besedilo> strežniku pošlje besedilo v surovi obliki" + +#: src/common/outbound.c:3171 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<gostitelj>] [<vrata>] [<geslo>] lahko ga uporabite samo kot /RECONNECT za ponovitev povezave s trenutnim strežnikom ali kot /RECONNECT ALL za obnovitev povezav na vse povezane strežnike" + +#: src/common/outbound.c:3174 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<gostitelj>] [<vrata>] [<geslo>], lahko ga uporabite samo kot /RECONNECT za ponovitev povezave na trenutni strežnik ali kot /RECONNECT ALL za ponovitev povezave na vse odprte strežnike" + +#: src/common/outbound.c:3176 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <besedilo> pošlje surove podatke xchatu, kot da bi bili prejeti od strežnika IRC" + +#: src/common/outbound.c:3179 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <besedilo> pošlje besedilo predmetu v trenutnem oknu" + +#: src/common/outbound.c:3182 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <gostitelj> <vrata> <kanal> se poveže na strežnik in se pridruži kanalu" + +#: src/common/outbound.c:3185 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <gostitelj> <vrata> <kanal> se poveže na strežnik in se pridruži kanalu" + +#: src/common/outbound.c:3189 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <gostitelj> [<vrata>] [<geslo>] se poveže na strežnik, privzeta vrata za navadne povezave so 6667 in 9999 za povezave SSL" + +#: src/common/outbound.c:3192 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <gostitelj> [<vrata>] [<geslo>] poveže se na strežnik, privzeto na vrata 6667" + +#: src/common/outbound.c:3194 +msgid "SET [-quiet] <variable> [<value>]" +msgstr "SET <spremenljivka> [<vrednost>]" + +#: src/common/outbound.c:3195 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<položaj>" + +#: src/common/outbound.c:3199 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<tema>] če podamo temo, jo nastavi, sicer pa prikaže trenutno" + +#: src/common/outbound.c:3201 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <maska> [<maska> ...] odstrani prepoved za določene maske." + +#: src/common/outbound.c:3202 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <maska> [QUIET]" + +#: src/common/outbound.c:3203 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "LOAD <datoteka> naloži dodatek ali skript" + +#: src/common/outbound.c:3204 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, odpre URL v vašem brskalniku" + +#: src/common/outbound.c:3207 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <vzdevek> dodeli glasovni privilegij vzdevku (za kar potrebuje pravice op)" + +#: src/common/outbound.c:3209 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <sporočilo> pošlje sporočilo na vse kanale" + +#: src/common/outbound.c:3211 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <sporočilo> pošlje sporočilo vsem operaterjem kanala" + +#: src/common/outbound.c:3244 +#, c-format +msgid "Usage: %s\n" +msgstr "Uporaba:%s\n" + +#: src/common/outbound.c:3249 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Na to temo ni na voljo pomoči.\n" + +#: src/common/outbound.c:3255 +msgid "No such command.\n" +msgstr "Ta ukaz ne obstaja.\n" + +#: src/common/outbound.c:3579 +msgid "Bad arguments for user command.\n" +msgstr "Napačne izbire za uporabnikov ukaz.\n" + +#: src/common/outbound.c:3743 +msgid "Too many recursive usercommands, aborting." +msgstr "Preveč rekurzivnih ukazov, opuščam." + +#: src/common/outbound.c:3820 +msgid "Unknown Command. Try /help\n" +msgstr "Neznan ukaz. Poskusite /help\n" + +#: src/common/plugin.c:371 src/common/plugin.c:412 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Ni simbola xchat_plugin_init ; je to res dodatek za xchat?" + +#: src/common/server.c:596 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Ali ste prepričani, da strežnik podpira SSL prek teh vrat?\n" + +#: src/common/server.c:947 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Ne morem določiti imena gostitelja %s\n" +"Preverite svoje nastavitve IP!\n" + +#: src/common/server.c:952 +msgid "Proxy traversal failed.\n" +msgstr "Prečkanje proxyja neuspešno.\n" + +#: src/common/servlist.c:606 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Povezujem se z naslednjim strežnikom v %s...\n" + +#: src/common/servlist.c:983 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Pozor: \"%s\" je neznan kodni nabor. Za omrežje %s ne bo uporabljena nobena pretvorba." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 dodan na seznam za obveščanje." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Seznam prepovedi:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tNe morem se pridružiti%C26 %B$1 %O(Imate prepoved)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 se odslej imenuje $2" + +#: src/common/textevents.h:21 +msgid "%C18*$t$1%O $2" +msgstr "%C18*$t$1%O $2" + +#: src/common/textevents.h:24 +msgid "%C21*%O$t%C21%B$1%O%C21 $2" +msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 je nastavil prepoved na $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tKanal $1 ustvarjen $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O odstrani status polovični-op vzdevku%C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O odstrani status op vzdevku%C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O odstrani glasovni privilegij vzdevku %C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 je nastavil izjemo za $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O dodeli status polovični-op vzdevku%C26 $2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 je povabil za $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UKanal Uporabnikov Tema" + +#: src/common/textevents.h:54 +msgid "%C18%B%B$4$1%O%C18%O$t$2" +msgstr "%C18%B%B$4$1%O%C18%O$t$2" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 je nastavil izbiro na $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Možnosti kanala $1 : $2" + +#: src/common/textevents.h:63 +msgid "$4%C21%B$1%O%C21$t$2" +msgstr "$4%C21%B$1%O%C21$t$2" + +#: src/common/textevents.h:66 +msgid "%C28-%C29$1/$2%C28-%O$t$3" +msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O dodeli status op vzdevku%C26 $2" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 je odstranil izjemo za $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 je odstranil povabilo za $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 je odstranil ključ na kanalu" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 je odstranil omejitev uporabnikov" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 je nastavil ključ na $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 je nastavil omejitev uporabnikov na $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 je odstranil prepoved za $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O dodeli glasovni privilegij vzdevku %C11$2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Povezan. Prijava poteka..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Povezujem se z $1 ($2), vrata $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Povezava spodletela. Napaka: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tPrejet CTCP $1 od $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tprejet CTCP $1 od $2 (za $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tPrejet CTCP zvok $1 od $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tPrejet CTCP zvok $1 od $2 (za $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC CHAT za %C26$1%O opuščen." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC CHAT povezava z %C26$1 %C30[%O$2%C30] vzpostavljena" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tDCC CHAT za %C26$1%O izgubljen. $4." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$t$1 pošilja ponudbo za DCC POGOVOR" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tPonujam DCC POGOVOR $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tŽe ponujam DCC POGOVOR $1" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 poskus povezave z %C26 $2%O ni uspel (napaka=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tPrejet '$1%O' od $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Vrsta Od/Za Stanje Velikost Prenešeno Datoteka " + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$tPrejet pomanjkljiv zahtevek DCC od %C26$1%O.%010%C22*%O$tVsebina paketa: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tPonujam %C26 $1%O%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tTak ponujen DCC ne obstaja." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV%C26 $2%O za%C26 $1%O opuščen." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tDCC RECV%C26 $1%O od%C26 $3%O je končano %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC RECV povezava vzspostavljena z %C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV %C11$1%O od %C26 $3%O ni uspel. $4." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "-%C10-%C11-%O$tDCC PREJEMANJE: Ne morem odpreti $1 za pisanje ($2)." + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tDatoteka%C26 $1%C že obstaja, zato jo shranjujem kot %C26 $2%O." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %O zahteva nadaljevanje%C26 $2 %Cod%C26 $3%C." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND %C26 $2%O za%C26 $1%O opuščen." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC PRENAŠANJE%C26 $1%O za%C26 $2%O končano %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC SEND povezava vzspostavljena z %C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O za%C26 $2%O ni uspel. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Oponuja%C26 $2 %O(%C26$3 %Obajtov)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "-%C22*%O$tDCC $1%C26 $2 %Oza%C26 $3 %Cje obstal - opuščam." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oza%C26 $3 %Očas se je iztekel - opuščam." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 izbrisan iz seznama za obveščanje." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tPovezava prekinjena ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tVaš IP najden: [$1]" + +#: src/common/textevents.h:207 +msgid "$1$t$2" +msgstr "$1$t$2" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O dodan na seznam za spregledovanje." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Spregledovanje na %C26$1%O spremenjeno." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Maska gostitelja PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O odstranjen iz seznama za spregledovanje." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " Seznam za spregledovanje je prazen." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tNe morem se pridružiti%C26 %B$1 %O(Pridružite se lahko samo na povabilo)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$t%C26 $2%C vas je povabil na %C26 $1%O" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) se je pridružil $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tNe morem se pridružiti%C26 %B$1 %O(Zahtevana je skrivna beseda)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 je brcnil $2 iz $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$t$1ˇ($2%O%C22) vas je ubil" + +#: src/common/textevents.h:246 src/common/textevents.h:270 +msgid "%C19>%O$1%C19<%O$t$2" +msgstr "%C19>%O$1%C19<%O$t$2" + +#: src/common/textevents.h:249 +msgid "%C16*%O$t$1%O" +msgstr "%C16*%O$t$1%O" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD preskočen." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 je že v uporabi. Poskušam z $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tVzdevek že v uporabi. Uporabite /NICK, da si izberete drugega." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tTa DCCja ne obstaja." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tTrenutno ni tekočih procesov" + +#: src/common/textevents.h:267 +msgid "%C28-%C29$1%C28-%O$t$2" +msgstr "%C28-%C29$1%C28-%O$t$2" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "Seznam za obveščanje je prazen." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Seznam za obveščanje " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 uporabniki v seznamu za obveščanje." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($2)." +msgstr "%C22*%O$tObvestilo: $1 je odšel ($2)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($2)." +msgstr "%C22*%O$tObvestilo: $1 je prisoten ($2)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) je zapustil $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) je zapustil $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tPing odgovor od $1 : $2 sekund" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tNi ping odgovora že $1 sekund, prekinjam povezavo." + +#: src/common/textevents.h:303 +msgid "%C28*%C29$3$1%C28*$t%O$2" +msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#: src/common/textevents.h:306 +msgid "%C18%B%B$3$1%O$t$2" +msgstr "%C18%B%B$3$1%O$t$2" + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tProces že teče" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 je odšel (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 je nastavil možnosti%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tIščem IP številko za%C26 $1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Povezan." + +#: src/common/textevents.h:327 src/common/textevents.h:333 +#: src/common/textevents.h:336 +msgid "%C22*%O$t$1" +msgstr "%C22*%O$t$1" + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Iščem $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tZadnji poskus povezovanja je ustavljen (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Tema za $1%C %C29 je $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 je spremenil temo v: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Temo za $1%C %C29 je nastavil $2%C %C29obˇ$3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tNeznan gostitelj. Mogoče je črkovanje napačno?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tNe morem se pridružiti%C26 %B$1 %O(Omejitev uporabnikov presežena)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Uporabniki na $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cje odsoten %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OKonec WHOIS seznama." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O neaktiven%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O neaktiven %C26 $2%O, prijava: %C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Opravi uporabnik@gostitelj%C27 $2%O, pravi IP%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Zdaj govorite na $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$t$3ˇ ($4%O%C23) vas je brcnil iz $2" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tZapustili ste kanal $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tZapustili ste kanal $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:405 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tPovabili ste%C26 $1%O na%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:408 +msgid "%C31%B%B$4$1%O%C30$t$2" +msgstr "%C31%B%B$4$1%O%C30$t$2" + +#: src/common/textevents.h:411 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tOdslej ste znani kot $2" + +#: src/common/text.c:61 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "*** KONČUJEM BELEŽENJE %s\n" + +#: src/common/text.c:179 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "*** ZAČENJAM BELEŽENJE %s\n" + +#: src/common/text.c:198 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Ne moren odpreti dnevnika za beleženje. Preverite \n" +" dovoljenja za %s/xchatlogs" + +#: src/common/text.c:413 +msgid "Left message" +msgstr "Levo sporočilo" + +#: src/common/text.c:414 +msgid "Right message" +msgstr "Desno sporočilo" + +#: src/common/text.c:418 +msgid "The nick of the joining person" +msgstr "Vzdevek osebe, ki se je pridružila" + +#: src/common/text.c:419 +msgid "The channel being joined" +msgstr "Kanal, na katerega se pridružujem" + +#: src/common/text.c:420 src/common/text.c:465 src/common/text.c:522 +msgid "The host of the person" +msgstr "Gostitelj osebe" + +#: src/common/text.c:424 src/common/text.c:429 src/common/text.c:436 +#: src/common/text.c:503 src/common/text.c:629 src/common/text.c:636 +#: src/common/text.c:641 src/common/text.c:646 src/common/text.c:651 +#: src/common/text.c:657 src/common/text.c:662 src/common/text.c:666 +#: src/common/text.c:672 src/common/text.c:678 src/common/text.c:724 +#: src/common/text.c:733 src/common/text.c:738 src/common/text.c:743 +#: src/common/text.c:752 src/common/text.c:763 src/common/text.c:770 +#: src/common/text.c:776 src/common/text.c:781 src/common/text.c:786 +#: src/common/text.c:793 src/common/text.c:799 src/common/text.c:805 +#: src/common/text.c:810 src/common/text.c:815 src/common/text.c:819 +#: src/common/text.c:825 src/common/text.c:833 src/common/text.c:867 +#: src/common/text.c:872 +msgid "Nickname" +msgstr "Vzdevek" + +#: src/common/text.c:425 +msgid "The action" +msgstr "Dejanje" + +#: src/common/text.c:430 +msgid "The text" +msgstr "Besedilo" + +#: src/common/text.c:431 +msgid "Mode char" +msgstr "Znak opcije" + +#: src/common/text.c:432 src/common/text.c:505 +msgid "Identified text" +msgstr "Podatki" + +#: src/common/text.c:437 src/common/text.c:493 src/common/text.c:499 +#: src/common/text.c:504 +msgid "The message" +msgstr "Sporočilo" + +#: src/common/text.c:441 src/common/text.c:509 +msgid "Old nickname" +msgstr "Star vzdevek" + +#: src/common/text.c:442 src/common/text.c:510 +msgid "New nickname" +msgstr "Nov vzdevek" + +#: src/common/text.c:446 +msgid "Nick of person who changed the topic" +msgstr "Vzdevek osebe, ki je spremenila temo" + +#: src/common/text.c:447 src/common/text.c:453 src/fe-gtk/chanlist.c:599 +#: src/fe-gtk/chanlist.c:700 +msgid "Topic" +msgstr "Tema" + +#: src/common/text.c:448 src/common/text.c:452 src/common/text.c:887 +#: src/fe-gtk/chanlist.c:597 src/fe-gtk/chanlist.c:691 +#: src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Kanal" + +#: src/common/text.c:457 src/common/text.c:516 +msgid "The nickname of the kicker" +msgstr "Vzdevek osebe, ki je izvršila brco" + +#: src/common/text.c:458 src/common/text.c:514 +msgid "The person being kicked" +msgstr "Oseba, ki je bila brcnjena iz kanala" + +#: src/common/text.c:459 src/common/text.c:466 src/common/text.c:470 +#: src/common/text.c:475 src/common/text.c:515 src/common/text.c:523 +#: src/common/text.c:530 +msgid "The channel" +msgstr "Kanal" + +#: src/common/text.c:460 src/common/text.c:517 src/common/text.c:524 +msgid "The reason" +msgstr "Razlog" + +#: src/common/text.c:464 src/common/text.c:521 +msgid "The nick of the person leaving" +msgstr "Vzdevek osebe, ki zapušča" + +#: src/common/text.c:471 src/common/text.c:477 +msgid "The time" +msgstr "Čas" + +#: src/common/text.c:476 +msgid "The creator" +msgstr "Ustvarjalec" + +#: src/common/text.c:481 +msgid "Nick" +msgstr "Vzdevek" + +#: src/common/text.c:482 src/common/text.c:739 +msgid "Reason" +msgstr "Razlog" + +#: src/common/text.c:483 src/common/text.c:631 src/common/text.c:714 +msgid "Host" +msgstr "Gostitelj" + +#: src/common/text.c:487 src/common/text.c:492 src/common/text.c:497 +msgid "Who it's from" +msgstr "Kdo je od tam" + +#: src/common/text.c:488 +msgid "The time in x.x format (see below)" +msgstr "Čas je v x.x obliki (glej spodaj)" + +#: src/common/text.c:498 src/common/text.c:541 +msgid "The Channel it's going to" +msgstr "Kanal, na katerega gre" + +#: src/common/text.c:528 +msgid "The sound" +msgstr "Zvok" + +#: src/common/text.c:529 src/common/text.c:535 src/common/text.c:540 +msgid "The nick of the person" +msgstr "Vzdevek osebe" + +#: src/common/text.c:534 src/common/text.c:539 +msgid "The CTCP event" +msgstr "CTCP dogodek" + +#: src/common/text.c:545 +msgid "The nick of the person who set the key" +msgstr "Vzdevek osebe, ki je nastavila kjuč" + +#: src/common/text.c:546 +msgid "The key" +msgstr "Ključ" + +#: src/common/text.c:550 +msgid "The nick of the person who set the limit" +msgstr "Vzdevek osebe, ki je nastavila omejite uporabnikov" + +#: src/common/text.c:551 +msgid "The limit" +msgstr "Omejitev" + +#: src/common/text.c:555 +msgid "The nick of the person who did the op'ing" +msgstr "Vzdevek osebe, ki je podelila status op" + +#: src/common/text.c:556 +msgid "The nick of the person who has been op'ed" +msgstr "Vzdevek osebe, ki je prejele op status" + +#: src/common/text.c:560 +msgid "The nick of the person who has been halfop'ed" +msgstr "Vzdevek osebe, ki je prejela polovični op status" + +#: src/common/text.c:561 +msgid "The nick of the person who did the halfop'ing" +msgstr "Vzdevek osebe, ki je podelila status polovični op" + +#: src/common/text.c:565 +msgid "The nick of the person who did the voice'ing" +msgstr "Vzdevek osebe, ki je podelila glasovni privilegij" + +#: src/common/text.c:566 +msgid "The nick of the person who has been voice'ed" +msgstr "Vzdevek osebe, ki je prejela dovoljenje za glas" + +#: src/common/text.c:570 +msgid "The nick of the person who did the banning" +msgstr "Vzdevek osebe, ki je nastavila prepoved" + +#: src/common/text.c:571 src/common/text.c:598 +msgid "The ban mask" +msgstr "Maska prepovedi" + +#: src/common/text.c:575 +msgid "The nick who removed the key" +msgstr "Vzdevek, ki je odstranil ključ" + +#: src/common/text.c:579 +msgid "The nick who removed the limit" +msgstr "Oseba, ki je odstranila omejitev uporabnikov" + +#: src/common/text.c:583 +msgid "The nick of the person of did the deop'ing" +msgstr "Oseba, ki je izvedla odvzem op statusa" + +#: src/common/text.c:584 +msgid "The nick of the person who has been deop'ed" +msgstr "Oseba, ki ji je bil odvzet op status" + +#: src/common/text.c:587 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Oseba, ki je dodelila polovični op status" + +#: src/common/text.c:588 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Oseba, ki ji je bil vzet polovični op status" + +#: src/common/text.c:592 +msgid "The nick of the person of did the devoice'ing" +msgstr "Oseba, ki je izvedla odvzem glas statusa" + +#: src/common/text.c:593 +msgid "The nick of the person who has been devoice'ed" +msgstr "Oseba, ki ji je bil odvzet glas status" + +#: src/common/text.c:597 +msgid "The nick of the person of did the unban'ing" +msgstr "Vzdevek osebe, ki je odstranila prepoved" + +#: src/common/text.c:602 +msgid "The nick of the person who did the exempt" +msgstr "Vzdevek osebe, ki je nastavila izjemo" + +#: src/common/text.c:603 src/common/text.c:608 +msgid "The exempt mask" +msgstr "Maska izjeme" + +#: src/common/text.c:607 +msgid "The nick of the person removed the exempt" +msgstr "Vzdevek osebe, ki je odstranila izjemo" + +#: src/common/text.c:612 +msgid "The nick of the person who did the invite" +msgstr "Vzdevek osebe, ki je postavila povabilo" + +#: src/common/text.c:613 src/common/text.c:618 +msgid "The invite mask" +msgstr "Maska povabila" + +#: src/common/text.c:617 +msgid "The nick of the person removed the invite" +msgstr "Oseba, ki je odstranila možnost 'samo na povabilo'" + +#: src/common/text.c:622 +msgid "The nick of the person setting the mode" +msgstr "Vzdevek osebe, ki je nastavila kanalno možnost" + +#: src/common/text.c:623 +msgid "The mode's sign (+/-)" +msgstr "Predznak možnosti (+/-)" + +#: src/common/text.c:624 +msgid "The mode letter" +msgstr "Znak možnosti" + +#: src/common/text.c:625 +msgid "The channel it's being set on" +msgstr "Kanal, na katerem je bila možnost nastavljena" + +#: src/common/text.c:630 +msgid "Username" +msgstr "Uporabniško ime" + +#: src/common/text.c:632 +msgid "Full name" +msgstr "Polno ime" + +#: src/common/text.c:637 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Lastnik kanala/\"je IRC operator\"" + +#: src/common/text.c:642 +msgid "Server Information" +msgstr "Podatki o strežniku" + +#: src/common/text.c:647 src/common/text.c:652 +msgid "Idle time" +msgstr "Čas brezdelnosti" + +#: src/common/text.c:653 +msgid "Signon time" +msgstr "Čas priključitve" + +#: src/common/text.c:658 +msgid "Away reason" +msgstr "Razlog odsotnosti" + +#: src/common/text.c:667 src/common/text.c:673 src/common/text.c:681 +#: src/common/text.c:859 +msgid "Message" +msgstr "Sporočilo" + +#: src/common/text.c:674 +msgid "Account" +msgstr "Račun" + +#: src/common/text.c:679 +msgid "Real user@host" +msgstr "Pravi uporabnik@gostitelj" + +#: src/common/text.c:680 +msgid "Real IP" +msgstr "Pravi IP" + +#: src/common/text.c:685 src/common/text.c:694 src/common/text.c:700 +#: src/common/text.c:728 src/common/text.c:882 +msgid "Channel Name" +msgstr "Ime kanala" + +#: src/common/text.c:689 src/common/text.c:845 src/fe-gtk/textgui.c:338 +msgid "Text" +msgstr "Besedilo" + +#: src/common/text.c:690 src/common/text.c:696 src/common/text.c:841 +#: src/common/text.c:883 +msgid "Server Name" +msgstr "Ime strežnika" + +#: src/common/text.c:695 +msgid "Nick of person who invited you" +msgstr "Vzdevek osebe, ki vas je povabila" + +#: src/common/text.c:701 src/fe-gtk/chanlist.c:598 +msgid "Users" +msgstr "Uporabniki" + +#: src/common/text.c:705 +msgid "Nickname in use" +msgstr "Vzdevek v uporabi" + +#: src/common/text.c:706 +msgid "Nick being tried" +msgstr "Poskušam vzdevek" + +#: src/common/text.c:710 src/common/text.c:746 src/common/text.c:757 +#: src/common/text.c:764 src/common/text.c:777 src/common/text.c:794 +#: src/common/text.c:894 src/common/util.c:352 +msgid "Error" +msgstr "Napaka" + +#: src/common/text.c:715 src/common/text.c:849 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:716 src/common/text.c:745 +msgid "Port" +msgstr "Vrata" + +#: src/common/text.c:720 +msgid "PID" +msgstr "PID" + +#: src/common/text.c:729 src/common/text.c:734 +msgid "Modes string" +msgstr "Možnosti niza" + +#: src/common/text.c:744 src/common/text.c:782 src/common/text.c:787 +#: src/common/text.c:828 +msgid "IP address" +msgstr "Naslov IP" + +#: src/common/text.c:750 src/common/text.c:775 +msgid "DCC Type" +msgstr "Vrsta DCC" + +#: src/common/text.c:751 src/common/text.c:756 src/common/text.c:761 +#: src/common/text.c:768 src/common/text.c:788 src/common/text.c:792 +#: src/common/text.c:798 src/common/text.c:804 src/common/text.c:811 +#: src/common/text.c:820 src/common/text.c:826 +msgid "Filename" +msgstr "Ime datoteke" + +#: src/common/text.c:762 src/common/text.c:769 +msgid "Destination filename" +msgstr "Ciljna datoteka" + +#: src/common/text.c:771 src/common/text.c:800 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:806 +msgid "Pathname" +msgstr "Ime poti" + +#: src/common/text.c:821 src/fe-gtk/dccgui.c:537 src/fe-gtk/dccgui.c:707 +msgid "Position" +msgstr "Prenešeno" + +#: src/common/text.c:827 src/fe-gtk/dccgui.c:536 src/fe-gtk/dccgui.c:706 +msgid "Size" +msgstr "Velikost" + +#: src/common/text.c:832 +msgid "DCC String" +msgstr "Niz DCC" + +#: src/common/text.c:837 +msgid "Number of notify items" +msgstr "Število predmetov za opominjanje" + +#: src/common/text.c:853 +msgid "Old Filename" +msgstr "Staro ime datoteke" + +#: src/common/text.c:854 +msgid "New Filename" +msgstr "Novo ime datoteke" + +#: src/common/text.c:858 +msgid "Receiver" +msgstr "Prejemnik" + +#: src/common/text.c:863 +msgid "Hostmask" +msgstr "Maska gostitelja" + +#: src/common/text.c:868 +msgid "Hostname" +msgstr "Ime gostitelja" + +#: src/common/text.c:873 +msgid "The Packet" +msgstr "Paketek" + +#: src/common/text.c:877 +msgid "Seconds" +msgstr "Sekund" + +#: src/common/text.c:881 +msgid "Nick of person who have been invited" +msgstr "Vzdevek osebe, ki je bila povabljena" + +#: src/common/text.c:888 +msgid "Banmask" +msgstr "Maska prepovedi" + +#: src/common/text.c:889 +msgid "Who set the ban" +msgstr "Kdo je nastavil prepoved" + +#: src/common/text.c:890 +msgid "Ban time" +msgstr "Čas nastavitve prepovedi" + +#: src/common/text.c:930 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Napaka pri izvajanju dogodka %s.\n" +"Nalagam privzeto" + +#: src/common/text.c:1583 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Ne morem prebrati zvočne datoteke:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "Oddaljeni gostitelj je zaprl povezavo" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Povezava je bila zavrnjena" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "Ni poti do gostitelja" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Čas za povezavo se je iztekel" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Ne morem prijaviti tega naslova" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Povezava je bila prekinjena" + +#: src/common/util.c:821 +msgid "Andorra" +msgstr "Andora" + +#: src/common/util.c:822 +msgid "United Arab Emirates" +msgstr "Združeni arabski emirati" + +#: src/common/util.c:823 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:824 +msgid "Antigua and Barbuda" +msgstr "Antigva in Barbuda" + +#: src/common/util.c:825 +msgid "Anguilla" +msgstr "Angvila" + +#: src/common/util.c:826 +msgid "Albania" +msgstr "Albanija" + +#: src/common/util.c:827 +msgid "Armenia" +msgstr "Armenija" + +#: src/common/util.c:828 +msgid "Netherlands Antilles" +msgstr "Nizozemski Antili" + +#: src/common/util.c:829 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:830 +msgid "Antarctica" +msgstr "Antarktika" + +#: src/common/util.c:831 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:832 +msgid "Reverse DNS" +msgstr "Obratni DNS" + +#: src/common/util.c:833 +msgid "American Samoa" +msgstr "Ameriška Samoa" + +#: src/common/util.c:834 +msgid "Austria" +msgstr "Avstrija" + +#: src/common/util.c:835 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:836 +msgid "Australia" +msgstr "Avstralija" + +#: src/common/util.c:837 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:838 +msgid "Azerbaijan" +msgstr "Azerbajdžan" + +#: src/common/util.c:839 +msgid "Bosnia and Herzegovina" +msgstr "Bosna in Hercegovina" + +#: src/common/util.c:840 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:841 +msgid "Bangladesh" +msgstr "Bangladeš" + +#: src/common/util.c:842 +msgid "Belgium" +msgstr "Belgija" + +#: src/common/util.c:843 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:844 +msgid "Bulgaria" +msgstr "Bolgarija" + +#: src/common/util.c:845 +msgid "Bahrain" +msgstr "Bahrajn" + +#: src/common/util.c:846 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:847 +msgid "Businesses" +msgstr "Opravki" + +#: src/common/util.c:848 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:849 +msgid "Bermuda" +msgstr "Bermudi" + +#: src/common/util.c:850 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:851 +msgid "Bolivia" +msgstr "Bolivija" + +#: src/common/util.c:852 +msgid "Brazil" +msgstr "Brazilija" + +#: src/common/util.c:853 +msgid "Bahamas" +msgstr "Bahami" + +#: src/common/util.c:854 +msgid "Bhutan" +msgstr "Butan" + +#: src/common/util.c:855 +msgid "Bouvet Island" +msgstr "Otok Bouvet" + +#: src/common/util.c:856 +msgid "Botswana" +msgstr "Bocvana" + +#: src/common/util.c:857 +msgid "Belarus" +msgstr "Belorusija" + +#: src/common/util.c:858 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:859 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:860 +msgid "Cocos Islands" +msgstr "Kokosovi otoki" + +#: src/common/util.c:861 +msgid "Democratic Republic of Congo" +msgstr "Demokratična republika Kongo" + +#: src/common/util.c:862 +msgid "Central African Republic" +msgstr "Srednjaafriška republika" + +#: src/common/util.c:863 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:864 +msgid "Switzerland" +msgstr "Švica" + +#: src/common/util.c:865 +msgid "Cote d'Ivoire" +msgstr "Cote D'iviore" + +#: src/common/util.c:866 +msgid "Cook Islands" +msgstr "Cookovi otoki" + +#: src/common/util.c:867 +msgid "Chile" +msgstr "Čile" + +#: src/common/util.c:868 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:869 +msgid "China" +msgstr "Kitajska" + +#: src/common/util.c:870 +msgid "Colombia" +msgstr "Kolumbija" + +#: src/common/util.c:871 +msgid "Internic Commercial" +msgstr "Notranje tržno" + +#: src/common/util.c:872 +msgid "Costa Rica" +msgstr "Kostarika" + +#: src/common/util.c:873 +msgid "Serbia and Montenegro" +msgstr "Srbija in Črna gora" + +#: src/common/util.c:874 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:875 +msgid "Cape Verde" +msgstr "Zelenortski otoki" + +#: src/common/util.c:876 +msgid "Christmas Island" +msgstr "Velikonočni otok" + +#: src/common/util.c:877 +msgid "Cyprus" +msgstr "Ciper" + +#: src/common/util.c:878 +msgid "Czech Republic" +msgstr "Češka" + +#: src/common/util.c:879 +msgid "Germany" +msgstr "Nemčija" + +#: src/common/util.c:880 +msgid "Djibouti" +msgstr "Džibuti" + +#: src/common/util.c:881 +msgid "Denmark" +msgstr "Danska" + +#: src/common/util.c:882 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:883 +msgid "Dominican Republic" +msgstr "Dominikanska republika" + +#: src/common/util.c:884 +msgid "Algeria" +msgstr "Alžirija" + +#: src/common/util.c:885 +msgid "Ecuador" +msgstr "Ekvador" + +#: src/common/util.c:886 +msgid "Educational Institution" +msgstr "Izobraževalna ustanova" + +#: src/common/util.c:887 +msgid "Estonia" +msgstr "Estonija" + +#: src/common/util.c:888 +msgid "Egypt" +msgstr "Egipt" + +#: src/common/util.c:889 +msgid "Western Sahara" +msgstr "Zahodna Shara" + +#: src/common/util.c:890 +msgid "Eritrea" +msgstr "Eritreja" + +#: src/common/util.c:891 +msgid "Spain" +msgstr "Španija" + +#: src/common/util.c:892 +msgid "Ethiopia" +msgstr "Etiopija" + +#: src/common/util.c:893 +msgid "Finland" +msgstr "Finska" + +#: src/common/util.c:894 +msgid "Fiji" +msgstr "Fidži" + +#: src/common/util.c:895 +msgid "Falkland Islands" +msgstr "Falklandski otoki" + +#: src/common/util.c:896 +msgid "Micronesia" +msgstr "Mikronezija" + +#: src/common/util.c:897 +msgid "Faroe Islands" +msgstr "Fererski otoki" + +#: src/common/util.c:898 +msgid "France" +msgstr "Francija" + +#: src/common/util.c:899 +msgid "France, Metropolitan" +msgstr "Metropolitanska Francija" + +#: src/common/util.c:900 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:901 +msgid "Great Britain" +msgstr "Velika Britanija" + +#: src/common/util.c:902 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:903 +msgid "Georgia" +msgstr "Gruzija" + +#: src/common/util.c:904 +msgid "French Guiana" +msgstr "Francoska Gvajana" + +#: src/common/util.c:905 +msgid "British Channel Isles" +msgstr "Britanski kanalni otoki" + +#: src/common/util.c:906 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:907 +msgid "Gibraltar" +msgstr "Gibrlaltar" + +#: src/common/util.c:908 +msgid "Greenland" +msgstr "Grenlandija" + +#: src/common/util.c:909 +msgid "Gambia" +msgstr "Gambija" + +#: src/common/util.c:910 +msgid "Guinea" +msgstr "Gvineja" + +#: src/common/util.c:911 +msgid "Government" +msgstr "Vlada" + +#: src/common/util.c:912 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:913 +msgid "Equatorial Guinea" +msgstr "Ekvartorialna Gvineja" + +#: src/common/util.c:914 +msgid "Greece" +msgstr "Grčija" + +#: src/common/util.c:915 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Otoki S. Georgia-e in S. Sandwich-a" + +#: src/common/util.c:916 +msgid "Guatemala" +msgstr "Gvatemala" + +#: src/common/util.c:917 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:918 +msgid "Guinea-Bissau" +msgstr "Gvineja Bissau" + +#: src/common/util.c:919 +msgid "Guyana" +msgstr "Gvajana" + +#: src/common/util.c:920 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:921 +msgid "Heard and McDonald Islands" +msgstr "Heardovi in McDonaldovi otoki" + +#: src/common/util.c:922 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:923 +msgid "Croatia" +msgstr "Hrvaška" + +#: src/common/util.c:924 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:925 +msgid "Hungary" +msgstr "Madžarska" + +#: src/common/util.c:926 +msgid "Indonesia" +msgstr "Indonezija" + +#: src/common/util.c:927 +msgid "Ireland" +msgstr "Irska" + +#: src/common/util.c:928 +msgid "Israel" +msgstr "Izrael" + +#: src/common/util.c:929 +msgid "India" +msgstr "Indija" + +#: src/common/util.c:930 +msgid "Informational" +msgstr "Informativno" + +#: src/common/util.c:931 +msgid "International" +msgstr "Mednarodno" + +#: src/common/util.c:932 +msgid "British Indian Ocean Territory" +msgstr "Britansko Indijsko oceansko območje" + +#: src/common/util.c:933 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:934 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:935 +msgid "Iceland" +msgstr "Islandija" + +#: src/common/util.c:936 +msgid "Italy" +msgstr "Italija" + +#: src/common/util.c:937 +msgid "Jamaica" +msgstr "Jamajka" + +#: src/common/util.c:938 +msgid "Jordan" +msgstr "Jordanija" + +#: src/common/util.c:939 +msgid "Japan" +msgstr "Japonska" + +#: src/common/util.c:940 +msgid "Kenya" +msgstr "Kenija" + +#: src/common/util.c:941 +msgid "Kyrgyzstan" +msgstr "Kirgizistan" + +#: src/common/util.c:942 +msgid "Cambodia" +msgstr "Kambodža" + +#: src/common/util.c:943 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:944 +msgid "Comoros" +msgstr "Komori" + +#: src/common/util.c:945 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts in Nevis" + +#: src/common/util.c:946 +msgid "North Korea" +msgstr "Severna Koreja" + +#: src/common/util.c:947 +msgid "South Korea" +msgstr "Južna Koreja" + +#: src/common/util.c:948 +msgid "Kuwait" +msgstr "Kuvajt" + +#: src/common/util.c:949 +msgid "Cayman Islands" +msgstr "Kajmanski otoki" + +#: src/common/util.c:950 +msgid "Kazakhstan" +msgstr "Kazahstan" + +#: src/common/util.c:951 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:952 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:953 +msgid "Saint Lucia" +msgstr "Sveta Lucija" + +#: src/common/util.c:954 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:955 +msgid "Sri Lanka" +msgstr "Šrilanka" + +#: src/common/util.c:956 +msgid "Liberia" +msgstr "Liberija" + +#: src/common/util.c:957 +msgid "Lesotho" +msgstr "Lesoto" + +#: src/common/util.c:958 +msgid "Lithuania" +msgstr "Litva" + +#: src/common/util.c:959 +msgid "Luxembourg" +msgstr "Luksemburg" + +#: src/common/util.c:960 +msgid "Latvia" +msgstr "Latvija" + +#: src/common/util.c:961 +msgid "Libya" +msgstr "Libija" + +#: src/common/util.c:962 +msgid "Morocco" +msgstr "Maroko" + +#: src/common/util.c:963 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:964 +msgid "Moldova" +msgstr "Moldavija" + +#: src/common/util.c:965 +msgid "United States Medical" +msgstr "Medicinsko omrežje združenih narodov" + +#: src/common/util.c:966 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:967 +msgid "Marshall Islands" +msgstr "Marshallovi otoki" + +#: src/common/util.c:968 +msgid "Military" +msgstr "Vojaško" + +#: src/common/util.c:969 +msgid "Macedonia" +msgstr "Makedonija" + +#: src/common/util.c:970 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:971 +msgid "Myanmar" +msgstr "Mjanmar" + +#: src/common/util.c:972 +msgid "Mongolia" +msgstr "Mongolija" + +#: src/common/util.c:973 +msgid "Macau" +msgstr "Macao" + +#: src/common/util.c:974 +msgid "Northern Mariana Islands" +msgstr "Severni Marianski otoki" + +#: src/common/util.c:975 +msgid "Martinique" +msgstr "Martinik" + +#: src/common/util.c:976 +msgid "Mauritania" +msgstr "Mavretanija" + +#: src/common/util.c:977 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:978 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:979 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:980 +msgid "Maldives" +msgstr "Maldivi" + +#: src/common/util.c:981 +msgid "Malawi" +msgstr "Malavi" + +#: src/common/util.c:982 +msgid "Mexico" +msgstr "Mehika" + +#: src/common/util.c:983 +msgid "Malaysia" +msgstr "Malezija" + +#: src/common/util.c:984 +msgid "Mozambique" +msgstr "Mozambik" + +#: src/common/util.c:985 +msgid "Namibia" +msgstr "Namibija" + +#: src/common/util.c:986 +msgid "New Caledonia" +msgstr "Nova Kaledonija" + +#: src/common/util.c:987 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:988 +msgid "Internic Network" +msgstr "Notranje omrežje" + +#: src/common/util.c:989 +msgid "Norfolk Island" +msgstr "Norfolški otok" + +#: src/common/util.c:990 +msgid "Nigeria" +msgstr "Nigerija" + +#: src/common/util.c:991 +msgid "Nicaragua" +msgstr "Nikaragva" + +#: src/common/util.c:992 +msgid "Netherlands" +msgstr "Nizozemska" + +#: src/common/util.c:993 +msgid "Norway" +msgstr "Norveška" + +#: src/common/util.c:994 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:995 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:996 +msgid "Neutral Zone" +msgstr "Nevtralno območje" + +#: src/common/util.c:997 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:998 +msgid "New Zealand" +msgstr "Nova Zelandija" + +#: src/common/util.c:999 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:1000 +msgid "Internic Non-Profit Organization" +msgstr "Notranja neprofitna organizacija" + +#: src/common/util.c:1001 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:1002 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:1003 +msgid "French Polynesia" +msgstr "Francoska polinezija" + +#: src/common/util.c:1004 +msgid "Papua New Guinea" +msgstr "Papua Nova Gvineja" + +#: src/common/util.c:1005 +msgid "Philippines" +msgstr "Filipini" + +#: src/common/util.c:1006 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:1007 +msgid "Poland" +msgstr "Poljska" + +#: src/common/util.c:1008 +msgid "St. Pierre and Miquelon" +msgstr "Sv. Pierre in Miquelon" + +#: src/common/util.c:1009 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:1010 +msgid "Puerto Rico" +msgstr "Portoriko" + +#: src/common/util.c:1011 +msgid "Palestinian Territory" +msgstr "Palestinski teritorij" + +#: src/common/util.c:1012 +msgid "Portugal" +msgstr "Portugalska" + +#: src/common/util.c:1013 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:1014 +msgid "Paraguay" +msgstr "Paragvaj" + +#: src/common/util.c:1015 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:1016 +msgid "Reunion" +msgstr "Ponovna združitev" + +#: src/common/util.c:1017 +msgid "Romania" +msgstr "Romunija" + +#: src/common/util.c:1018 +msgid "Old School ARPAnet" +msgstr "Stari izobraževalni ARPAnet" + +#: src/common/util.c:1019 +msgid "Russian Federation" +msgstr "Ruska federacija" + +#: src/common/util.c:1020 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:1021 +msgid "Saudi Arabia" +msgstr "Saudova Arabija" + +#: src/common/util.c:1022 +msgid "Solomon Islands" +msgstr "Salomonovi otoki" + +#: src/common/util.c:1023 +msgid "Seychelles" +msgstr "Sejšeli" + +#: src/common/util.c:1024 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:1025 +msgid "Sweden" +msgstr "Švedska" + +#: src/common/util.c:1026 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:1027 +msgid "St. Helena" +msgstr "Sv. Helena" + +#: src/common/util.c:1028 +msgid "Slovenia" +msgstr "Slovenija" + +#: src/common/util.c:1029 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbardovi in Jan Mayenovi otoki" + +#: src/common/util.c:1030 +msgid "Slovak Republic" +msgstr "Slovaška republika" + +#: src/common/util.c:1031 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:1032 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:1033 +msgid "Senegal" +msgstr "Senegalija" + +#: src/common/util.c:1034 +msgid "Somalia" +msgstr "Somalija" + +#: src/common/util.c:1035 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:1036 +msgid "Sao Tome and Principe" +msgstr "Sao Tome in Principe" + +#: src/common/util.c:1037 +msgid "Former USSR" +msgstr "Nekdanja USSR" + +#: src/common/util.c:1038 +msgid "El Salvador" +msgstr "Salvador" + +#: src/common/util.c:1039 +msgid "Syria" +msgstr "Sirija" + +#: src/common/util.c:1040 +msgid "Swaziland" +msgstr "Svazi" + +#: src/common/util.c:1041 +msgid "Turks and Caicos Islands" +msgstr "Otočji Turks in Caicos" + +#: src/common/util.c:1042 +msgid "Chad" +msgstr "Čad" + +#: src/common/util.c:1043 +msgid "French Southern Territories" +msgstr "Francoska južna območja" + +#: src/common/util.c:1044 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:1045 +msgid "Thailand" +msgstr "Tajska" + +#: src/common/util.c:1046 +msgid "Tajikistan" +msgstr "Tadžikistan" + +#: src/common/util.c:1047 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1048 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:1049 +msgid "Tunisia" +msgstr "Tunizija" + +#: src/common/util.c:1050 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:1051 +msgid "East Timor" +msgstr "Vzhodni Timor" + +#: src/common/util.c:1052 +msgid "Turkey" +msgstr "Turčija" + +#: src/common/util.c:1053 +msgid "Trinidad and Tobago" +msgstr "Trinidad in Tobago" + +#: src/common/util.c:1054 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1055 +msgid "Taiwan" +msgstr "Tajvan" + +#: src/common/util.c:1056 +msgid "Tanzania" +msgstr "Tanzanija" + +#: src/common/util.c:1057 +msgid "Ukraine" +msgstr "Ukrajina" + +#: src/common/util.c:1058 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:1059 +msgid "United Kingdom" +msgstr "Združeno kraljestvo" + +#: src/common/util.c:1060 +msgid "US Minor Outlying Islands" +msgstr "Ameriški zunajležeči otoki" + +#: src/common/util.c:1061 +msgid "United States of America" +msgstr "Združene države Amerike" + +#: src/common/util.c:1062 +msgid "Uruguay" +msgstr "Urugvaj" + +#: src/common/util.c:1063 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:1064 +msgid "Vatican City State" +msgstr "Vatikan" + +#: src/common/util.c:1065 +msgid "St. Vincent and the Grenadines" +msgstr "St vincent in grenadin" + +#: src/common/util.c:1066 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:1067 +msgid "British Virgin Islands" +msgstr "Britanski deviški otoki" + +#: src/common/util.c:1068 +msgid "US Virgin Islands" +msgstr "Ameriški deviški otoki" + +#: src/common/util.c:1069 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:1070 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1071 +msgid "Wallis and Futuna Islands" +msgstr "Wallisovi in Futunini otoki" + +#: src/common/util.c:1072 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1073 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:1074 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:1075 +msgid "Yugoslavia" +msgstr "Jugoslavija" + +#: src/common/util.c:1076 +msgid "South Africa" +msgstr "Južna Afrika" + +#: src/common/util.c:1077 +msgid "Zambia" +msgstr "Zambija" + +#: src/common/util.c:1078 +msgid "Zimbabwe" +msgstr "Zimbabve" + +#: src/common/util.c:1088 src/common/util.c:1098 src/fe-gtk/menu.c:499 +#: src/fe-gtk/menu.c:503 src/fe-gtk/menu.c:507 src/fe-gtk/menu.c:511 +#: src/fe-gtk/menu.c:520 src/fe-gtk/menu.c:526 +msgid "Unknown" +msgstr "Neznan" + +#: src/common/xchat.c:860 +msgid "Direct client-to-client" +msgstr "Neposredno uporabnik-do-uporabnik" + +#: src/common/xchat.c:861 +msgid "Send File" +msgstr "Pošlji datoteko" + +#: src/common/xchat.c:862 +msgid "Offer Chat" +msgstr "Ponudi pogovor" + +#: src/common/xchat.c:863 +msgid "Abort Chat" +msgstr "Prekini pogovor" + +#: src/common/xchat.c:864 src/fe-gtk/plugingui.c:73 +msgid "Version" +msgstr "Različica" + +#: src/common/xchat.c:865 +msgid "Userinfo" +msgstr "Podatki o uporabniku" + +#: src/common/xchat.c:866 +msgid "Clientinfo" +msgstr "Podatki o odjemalcu" + +#: src/common/xchat.c:867 src/common/xchat.c:901 src/common/xchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:868 +msgid "Time" +msgstr "Čas" + +#: src/common/xchat.c:869 +msgid "Finger" +msgstr "Prst" + +#: src/common/xchat.c:870 +msgid "Oper" +msgstr "Op" + +#: src/common/xchat.c:871 +msgid "Kill this user" +msgstr "Ubij tega uporabnika" + +#: src/common/xchat.c:872 +msgid "Mode" +msgstr "Način" + +#: src/common/xchat.c:873 +msgid "Give Ops" +msgstr "Dodeli status op" + +#: src/common/xchat.c:874 +msgid "Take Ops" +msgstr "Odvzemi status op" + +#: src/common/xchat.c:875 +msgid "Give Half-Ops" +msgstr "Dodeli status op" + +#: src/common/xchat.c:876 +msgid "Take Half-Ops" +msgstr "Odvzemi status op" + +#: src/common/xchat.c:877 +msgid "Give Voice" +msgstr "Dodeli glasovni privilegij" + +#: src/common/xchat.c:878 +msgid "Take Voice" +msgstr "Odvzemi glasovni privilegij" + +#: src/common/xchat.c:879 +msgid "Ignore" +msgstr "Prezri" + +#: src/common/xchat.c:880 +msgid "Ignore User" +msgstr "Prezri uporabnika" + +#: src/common/xchat.c:881 +msgid "UnIgnore User" +msgstr "Odstrani preziranje uporabnika" + +#: src/common/xchat.c:882 +msgid "Kick/Ban" +msgstr "Brcni/Izobči" + +#: src/common/xchat.c:883 src/common/xchat.c:935 +msgid "Kick" +msgstr "Brcni" + +#: src/common/xchat.c:884 src/common/xchat.c:885 src/common/xchat.c:886 +#: src/common/xchat.c:887 src/common/xchat.c:888 src/common/xchat.c:934 +msgid "Ban" +msgstr "Izobči" + +#: src/common/xchat.c:889 src/common/xchat.c:890 src/common/xchat.c:891 +#: src/common/xchat.c:892 +msgid "KickBan" +msgstr "Brcni in izobči" + +#: src/common/xchat.c:893 src/fe-gtk/dccgui.c:584 src/fe-gtk/dccgui.c:742 +msgid "Info" +msgstr "Podatki" + +#: src/common/xchat.c:894 +msgid "Who" +msgstr "Who" + +#: src/common/xchat.c:895 src/common/xchat.c:948 +msgid "WhoIs" +msgstr "Whois" + +#: src/common/xchat.c:896 +msgid "DNS Lookup" +msgstr "Iskanje DNS" + +#: src/common/xchat.c:897 +msgid "Trace" +msgstr "Sledi" + +#: src/common/xchat.c:898 +msgid "UserHost" +msgstr "Gostitelj uporabnika" + +#: src/common/xchat.c:899 +msgid "External" +msgstr "Zunanji" + +#: src/common/xchat.c:900 +msgid "Traceroute" +msgstr "Sledi smeri" + +#: src/common/xchat.c:902 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:903 +msgid "Open Dialog Window" +msgstr "Odpri pogovorno okno" + +#: src/common/xchat.c:915 +msgid "Disconnect" +msgstr "Odstrani povezavo" + +#: src/common/xchat.c:916 +msgid "Reconnect" +msgstr "Ponovno se poveži" + +#: src/common/xchat.c:917 +msgid "Leave Channel" +msgstr "Zapusti kanal" + +#: src/common/xchat.c:918 +msgid "Join Channel..." +msgstr "Pridruži se kanalu ..." + +#: src/common/xchat.c:919 +msgid "Enter Channel to Join:" +msgstr "Kanal, ki se mu želite pridružiti:" + +#: src/common/xchat.c:920 +msgid "Server Links" +msgstr "Povezave strežnikov" + +#: src/common/xchat.c:921 +msgid "Ping Server" +msgstr "\"Ping\" strežnika" + +#: src/common/xchat.c:922 +msgid "Hide Version" +msgstr "Skrij različico" + +#: src/common/xchat.c:932 +msgid "Op" +msgstr "Dodeli op" + +#: src/common/xchat.c:933 +msgid "DeOp" +msgstr "Odvzemi op" + +#: src/common/xchat.c:936 +msgid "bye" +msgstr "Nasvidenje" + +#: src/common/xchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Vnesite razlog za brco %s:" + +#: src/common/xchat.c:938 +msgid "Sendfile" +msgstr "Datoteka za pošiljanje" + +#: src/common/xchat.c:939 +msgid "Dialog" +msgstr "Pogovorno okno" + +#: src/common/xchat.c:949 +msgid "Send" +msgstr "Pošlji" + +#: src/common/xchat.c:950 +msgid "Chat" +msgstr "Klepet" + +#: src/common/xchat.c:951 src/fe-gtk/banlist.c:319 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/search.c:117 src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Počisti" + +#: src/fe-gtk/about.c:102 +msgid "About X-Chat" +msgstr "O X-Chatu" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "IRC odjemalec za več platform" + +#: src/fe-gtk/ascii.c:131 +msgid "Character Chart" +msgstr "Kodna tabela" + +#: src/fe-gtk/banlist.c:153 src/fe-gtk/banlist.c:237 +msgid "You must select some bans." +msgstr "Izbrati morate nekaj izobčenih." + +#: src/fe-gtk/banlist.c:253 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Maska" + +#: src/fe-gtk/banlist.c:254 src/fe-gtk/dccgui.c:539 +msgid "From" +msgstr "Od" + +#: src/fe-gtk/banlist.c:255 +msgid "Date" +msgstr "Datum" + +#: src/fe-gtk/banlist.c:299 +#, c-format +msgid "X-Chat: Ban List (%s)" +msgstr "X-Chat: Seznam izobčenih (%s)" + +#: src/fe-gtk/banlist.c:315 +msgid "Unban" +msgstr "Prekliči izobčenje" + +#: src/fe-gtk/banlist.c:317 +msgid "Crop" +msgstr "Odreži" + +#: src/fe-gtk/banlist.c:321 +msgid "Refresh" +msgstr "Osveži" + +#: src/fe-gtk/chanlist.c:120 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "Statistika uporabnikov in kanalov: %d/%d uporabnikov na %d/%d kanalih" + +#: src/fe-gtk/chanlist.c:536 +msgid "I can't save an empty list!" +msgstr "Ne morem shraniti praznega seznama!" + +#: src/fe-gtk/chanlist.c:539 src/fe-gtk/menu.c:934 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Izberite izhodno ime datoteke" + +#: src/fe-gtk/chanlist.c:607 +#, c-format +msgid "X-Chat: Channel List (%s)" +msgstr "X-Chat: Seznam kanalov (%s)" + +#: src/fe-gtk/chanlist.c:622 +msgid "List display options:" +msgstr "Možnosti prikaza seznama:" + +#: src/fe-gtk/chanlist.c:634 +msgid "Minimum Users:" +msgstr "Najmanj uporabnikov: " + +#: src/fe-gtk/chanlist.c:649 +msgid "Maximum Users:" +msgstr "Največ uporabnikov: " + +#: src/fe-gtk/chanlist.c:664 +msgid "Regex Match:" +msgstr "Regularni zadetek:" + +#: src/fe-gtk/chanlist.c:685 +msgid "Apply Match to:" +msgstr "Uporabi enakost:" + +#: src/fe-gtk/chanlist.c:709 +msgid "Apply" +msgstr "Uporabi" + +#: src/fe-gtk/chanlist.c:751 +msgid "Refresh the list" +msgstr "Osveži seznam" + +#: src/fe-gtk/chanlist.c:753 +msgid "Save the list" +msgstr "Shrani seznam" + +#: src/fe-gtk/chanlist.c:755 src/fe-gtk/menu.c:731 +msgid "Join Channel" +msgstr "Pridruži se kanalu" + +#: src/fe-gtk/dccgui.c:117 +#, c-format +msgid "Send file to %s" +msgstr "Pošlji datoteko k %s" + +#: src/fe-gtk/dccgui.c:340 +msgid "None" +msgstr "Brez" + +#: src/fe-gtk/dccgui.c:351 +msgid "File:" +msgstr "Datoteka:" + +#: src/fe-gtk/dccgui.c:352 +msgid "From:" +msgstr "Od:" + +#: src/fe-gtk/dccgui.c:352 +msgid "To:" +msgstr "Za:" + +#: src/fe-gtk/dccgui.c:353 +msgid "Size:" +msgstr "Velikost:" + +#: src/fe-gtk/dccgui.c:354 +msgid "Address:" +msgstr "Naslov:" + +#: src/fe-gtk/dccgui.c:355 +msgid "Started:" +msgstr "Začetek:" + +#: src/fe-gtk/dccgui.c:356 +msgid "Speed limit:" +msgstr "Omejitev hitrosti:" + +#: src/fe-gtk/dccgui.c:381 +msgid "That file is not resumable." +msgstr "Sprejemanja te datoteke ni mogoče nadaljevati." + +#: src/fe-gtk/dccgui.c:385 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Ne morem dostopati do datoteke: %s\n" +"%s\n" +"Nadaljevanje ni možno." + +#: src/fe-gtk/dccgui.c:392 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "Datoteka v imeniku za prenesene datoteke je večja od datoteke, ki vam je ponujena. Nadaljevnje ni možno." + +#: src/fe-gtk/dccgui.c:396 +msgid "Cannot resume the same file from two people." +msgstr "Ne morem nadaljevati datoteke od dveh ljudi." + +#: src/fe-gtk/dccgui.c:528 +msgid "MIME Type" +msgstr "Tip MIME" + +#: src/fe-gtk/dccgui.c:534 src/fe-gtk/dccgui.c:704 src/fe-gtk/dccgui.c:847 +#: src/fe-gtk/notifygui.c:111 +msgid "Status" +msgstr "Stanje" + +#: src/fe-gtk/dccgui.c:535 src/fe-gtk/dccgui.c:705 src/fe-gtk/plugingui.c:74 +msgid "File" +msgstr "Datoteka" + +#: src/fe-gtk/dccgui.c:538 src/fe-gtk/dccgui.c:709 +msgid "ETA" +msgstr "Preostanek čas" + +#: src/fe-gtk/dccgui.c:548 +msgid "X-Chat: File Receive List" +msgstr "X-Chat: Seznam prejetih datotek" + +#: src/fe-gtk/dccgui.c:578 src/fe-gtk/dccgui.c:741 src/fe-gtk/dccgui.c:879 +msgid "Abort" +msgstr "Prekini" + +#: src/fe-gtk/dccgui.c:580 src/fe-gtk/dccgui.c:880 +msgid "Accept" +msgstr "Sprejmi" + +#: src/fe-gtk/dccgui.c:582 +msgid "Resume" +msgstr "Nadaljuj" + +#: src/fe-gtk/dccgui.c:586 +msgid "Open" +msgstr "Odpri" + +#: src/fe-gtk/dccgui.c:708 +msgid "Ack" +msgstr "Ack" + +#: src/fe-gtk/dccgui.c:710 +msgid "To" +msgstr "Za" + +#: src/fe-gtk/dccgui.c:720 +msgid "X-Chat: File Send List" +msgstr "X-Chat: Seznam pošiljanja datotek" + +#: src/fe-gtk/dccgui.c:848 +msgid "To/From" +msgstr "Od/Za" + +#: src/fe-gtk/dccgui.c:849 +msgid "Recv" +msgstr "Prejeto" + +#: src/fe-gtk/dccgui.c:850 +msgid "Sent" +msgstr "Poslano" + +#: src/fe-gtk/dccgui.c:851 +msgid "StartTime" +msgstr "Začetničas" + +#: src/fe-gtk/dccgui.c:861 +msgid "X-Chat: DCC Chat List" +msgstr "X-Chat: Seznam klepetov DCC" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*NOVO*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "UREDI ME" + +#: src/fe-gtk/editlist.c:305 src/fe-gtk/plugingui.c:72 +msgid "Name" +msgstr "Ime" + +#: src/fe-gtk/editlist.c:306 +msgid "Command" +msgstr "Ukaz" + +#: src/fe-gtk/editlist.c:333 +msgid "Move Up" +msgstr "Premakni navzgor" + +#: src/fe-gtk/editlist.c:337 +msgid "Move Dn" +msgstr "Premakni navzdol" + +#: src/fe-gtk/editlist.c:345 +msgid "Cancel" +msgstr "Prekliči" + +#: src/fe-gtk/editlist.c:349 src/fe-gtk/textgui.c:413 src/fe-gtk/urlgrab.c:205 +msgid "Save" +msgstr "Shrani" + +#: src/fe-gtk/editlist.c:357 src/fe-gtk/fkeys.c:747 +msgid "Add New" +msgstr "Dodaj novo" + +#: src/fe-gtk/editlist.c:361 src/fe-gtk/fkeys.c:752 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Zbriši" + +#: src/fe-gtk/editlist.c:369 +msgid "Sort" +msgstr "Razvrsti" + +#: src/fe-gtk/editlist.c:373 +msgid "Help" +msgstr "Pomoč" + +#: src/fe-gtk/fe-gtk.c:170 +msgid "Options" +msgstr "Možnosti" + +#: src/fe-gtk/fe-gtk.c:171 +msgid "don't auto connect" +msgstr "ne povezuj se samodejno" + +#: src/fe-gtk/fe-gtk.c:172 +msgid "DIRECTORY" +msgstr "IMENIK" + +#: src/fe-gtk/fe-gtk.c:173 +msgid "use a different config dir" +msgstr "uporabi drugi imenik za nastavitve" + +#: src/fe-gtk/fe-gtk.c:174 +msgid "don't auto load any plugins" +msgstr "ne naloži vtičnikov samodejno" + +#: src/fe-gtk/fe-gtk.c:175 +msgid "show plugin auto-load dir" +msgstr "pokaži imenik s samodejno zagnanimi vtičniki" + +#: src/fe-gtk/fe-gtk.c:176 +msgid "show user config dir" +msgstr "pokaži uporabnikov nastavitveni imenik" + +#: src/fe-gtk/fe-gtk.c:177 +msgid "show version information" +msgstr "pokaži informacijo o različicah" + +#: src/fe-gtk/fe-gtk.c:262 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Ne morem odpreti pisave:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:622 +msgid "Search buffer is empty.\n" +msgstr "Iskalni niz je prazen.\n" + +#: src/fe-gtk/fe-gtk.c:699 +#, c-format +msgid "%d bytes" +msgstr "%d bajtov" + +#: src/fe-gtk/fkeys.c:155 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "Ukaz ^BZaženi ukaz^B zažene vsebino Podatka 1, kot da bi bilo vpisano v vnosno polje, kjer ste pritisnili zaporedje tipk. Vsebuje lahko bodisi besedilo (ki bo poslano na kanal/osebi), bodisi uporabniške ukaze. Kjer so zagnani vsi ^B\\n^B znak v Podatku 1 bodo uporabljeni za ločevanje ukazov, tako da je mogoče zagnati več kot en ukaz. Če želite ^B\\^B zagnati kot resnično besedilo, uporabite ^B\\\\^B " + +#: src/fe-gtk/fkeys.c:157 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "Ukaz ^BSpremeni stran^B preklopi med posameznimi stranmi v beležki. Nastavite Podatek 1 na stran, na katero bi radi šli. Če je Podatek 2 nastavljan ne karkoli, bo premik relativen na trenutni položaj" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "Ukaz ^BVstavi v besedilo^B bo vstavil vsebino Podatka 1 v prostor kjer je bilo pritisnjeno zaporedje tipk ob trenutnem položaju kurzorja" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "Ukaz ^BZavrti stran^B zavrti besedilo navzgor ali navzdol za eno stran. Če je Podatek 1 nastavljen na karkoli, se bo stran zavrtela navzgor, drugače pa navzdol." + +#: src/fe-gtk/fkeys.c:163 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "Ukaz ^BNastavi besedilo^B nastavi vnos, kjer je bilo pritisnjeno zaporedje tipk v vsebino Podatka 1" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "^Prejšnji ukaz^B ukaz nastavi vnos, ki vključuje prešjnji vpisan ukaz - enako, kot pritisk na tipko za navzgor v ukazni lupini" + +#: src/fe-gtk/fkeys.c:167 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "^BNaslednji ukaz^B ukaz nastavi vnos, ki vključuje naslednji vpisan ukaz - enako, kot pritisk na tipko za navzdol v ukazni lupini" + +#: src/fe-gtk/fkeys.c:169 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "Ta ukaz spremeni besedilo v vnosu, da dokonča nedokončan vzdevek ali ukaz. Če je podatek 1 nastavljen na dvojno-tabeliranje, bo izbran prejšnji vzdevek, ne naslednji" + +#: src/fe-gtk/fkeys.c:171 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "Ta ukaz zavrti navzgor in navzdol seznam vzdevkov. Če je Podatek 1 nastavljen na karkoli, se bo seznam zavrtel navzgor, drugače pa navzdol" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "Ta ukaz preveri zadnjo besedo, vnešeno v vnosu proti seznamu zamenjav in ga zamenja, če najde zadetek" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command moves the front tab left by one" +msgstr "Ta ukaz premakne zgornji zavihek za eno mesto v levo" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command moves the front tab right by one" +msgstr "Ta ukaz premakne zgornji zavihek za eno mesto v desno" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the current tab family to the left" +msgstr "Ta ukaz premakne zgornjo družino zavihkov za eno mesto v levo" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the current tab family to the right" +msgstr "Ta ukaz premakne zgornjo družino zavihkov za eno mesto v levo" + +#: src/fe-gtk/fkeys.c:183 +msgid "Push input line into history but doesn't send to server" +msgstr "Vnesi vhodno vrstico v zgodovino, a je ne pošlji strežniku" + +#: src/fe-gtk/fkeys.c:195 +msgid "There was an error loading key bindings configuration" +msgstr "Najdena je bila napaka pri nalaganju konfiguracije bljižnic" + +#: src/fe-gtk/fkeys.c:440 src/fe-gtk/fkeys.c:441 src/fe-gtk/fkeys.c:442 +#: src/fe-gtk/fkeys.c:443 src/fe-gtk/fkeys.c:725 src/fe-gtk/fkeys.c:731 +#: src/fe-gtk/fkeys.c:736 src/fe-gtk/maingui.c:943 src/fe-gtk/maingui.c:959 +#: src/fe-gtk/maingui.c:1102 src/fe-gtk/maingui.c:1197 +#: src/fe-gtk/maingui.c:2619 +msgid "<none>" +msgstr "<brez>" + +#: src/fe-gtk/fkeys.c:689 +msgid "Mod" +msgstr "Možnost" + +#: src/fe-gtk/fkeys.c:690 src/fe-gtk/fkeys.c:785 +msgid "Key" +msgstr "Ključ" + +#: src/fe-gtk/fkeys.c:691 +msgid "Action" +msgstr "Dejanje" + +#: src/fe-gtk/fkeys.c:700 +msgid "X-Chat: Keyboard Shortcuts" +msgstr "X-Chat: Tipkovnične bljižnjice" + +#: src/fe-gtk/fkeys.c:778 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:780 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:782 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:789 +msgid "Data 1" +msgstr "Podatek 1" + +#: src/fe-gtk/fkeys.c:792 +msgid "Data 2" +msgstr "Podatek 2" + +#: src/fe-gtk/fkeys.c:835 +msgid "Error opening keys config file\n" +msgstr "Napaka pri odpiranju nastavitvene datoteke bljižnic\n" + +#: src/fe-gtk/fkeys.c:1006 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Neznana tipka %s v nastavitveni datoteki za bljižnice\n" +"Nalaganje prekinjeno, popravite %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1044 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Neznano dejanje %s v nastavitveni datoteki za bljižnice\n" +"Nalaganje prekinjeno, popravite %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1065 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Pričakovana podatkovna vrstica (beginning Dc{:|!}) in ne:\n" +"%s\n" +"\n" +"Nalaganje prekinjeno, popravite %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1134 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Nastavitvena datoteka za bljižnice je pokvarjena, nalaganje prekinjeno\n" +"Popravite %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:154 +msgid "Cannot write to that file." +msgstr "Ne morem pisati v to datoteko." + +#: src/fe-gtk/gtkutil.c:156 +msgid "Cannot read that file." +msgstr "Ne morem brati te datoteke." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "Ta maska že obstaja." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:1668 +msgid "Private" +msgstr "Zasebno" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Opomba" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Povabi" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Odstrani preziranje" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Vnesite masko za preziranje:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "X-Chat: Ignore list" +msgstr "X-Chat: Seznam prezrtih" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Statistika preziranja:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Kanal:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Zasebno:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Opomba:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Povabi:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:307 +msgid "Add" +msgstr "Dodaj" + +#: src/fe-gtk/maingui.c:350 +msgid "Dialog with" +msgstr "Pogovorno okno" + +#: src/fe-gtk/maingui.c:606 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Tema za %s je: %s" + +#: src/fe-gtk/maingui.c:610 +msgid "No topic is set" +msgstr "Tema ni nastavljena" + +#: src/fe-gtk/maingui.c:1012 +msgid "No other tabs open, quit xchat?" +msgstr "Drugi zavihki niso odprti, zaprem xchat?" + +#: src/fe-gtk/maingui.c:1058 +msgid "Insert color code" +msgstr "Vnesite kodo barve" + +#: src/fe-gtk/maingui.c:1107 +msgid "Beep on message" +msgstr "Zapiskaj ob sporočilih" + +#: src/fe-gtk/maingui.c:1110 +msgid "Show join/part messages" +msgstr "Prikaži sporočila ob prihodu/odhodu" + +#: src/fe-gtk/maingui.c:1112 +msgid "Color paste" +msgstr "Barva paste" + +#: src/fe-gtk/maingui.c:1119 +msgid "Go to" +msgstr "Pojdi na" + +#: src/fe-gtk/maingui.c:1132 src/fe-gtk/menu.c:1261 +msgid "Close Tab" +msgstr "Zapri zavihek" + +#: src/fe-gtk/maingui.c:1135 src/fe-gtk/menu.c:1674 +msgid "Detach Tab" +msgstr "Loči zavihek" + +#: src/fe-gtk/maingui.c:1386 +msgid "Some file transfers still active, quit xchat?" +msgstr "Nekaj prenosov datotek je še vedno aktivnih, zaprem xchat?" + +#: src/fe-gtk/maingui.c:1536 src/fe-gtk/maingui.c:1642 +msgid "User limit must be a number!\n" +msgstr "Omejitev uporabnikov mora biti številka!\n" + +#: src/fe-gtk/maingui.c:1664 +msgid "Topic Protection" +msgstr "Varovanje teme" + +#: src/fe-gtk/maingui.c:1665 +msgid "No outside messages" +msgstr "Brez zunanjih sporočil" + +#: src/fe-gtk/maingui.c:1666 +msgid "Secret" +msgstr "Skrito" + +#: src/fe-gtk/maingui.c:1667 +msgid "Invite Only" +msgstr "Samo na povabilo" + +#: src/fe-gtk/maingui.c:1669 +msgid "Moderated" +msgstr "Moderirana" + +#: src/fe-gtk/maingui.c:1670 +msgid "Ban List" +msgstr "Seznam izobčenih" + +#: src/fe-gtk/maingui.c:1672 +msgid "Keyword" +msgstr "Ključna beseda" + +#: src/fe-gtk/maingui.c:1684 +msgid "User Limit" +msgstr "Omejitev uporabnikov" + +#: src/fe-gtk/maingui.c:1700 +msgid "Close this tab/window" +msgstr "Zapri to okno/zavihek" + +#: src/fe-gtk/maingui.c:1797 +msgid "Show/Hide userlist" +msgstr "Prikaži/skrij seznam uporabnikov" + +#: src/fe-gtk/maingui.c:1922 +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 "" +"Nisem uspel nastaviti prosojnega ozadja!\n" +"\n" +"Morda uporabljate upravljalnik oken, ki\n" +"trenutno ni podprt.\n" + +#: src/fe-gtk/maingui.c:2115 +msgid "Enter new nickname:" +msgstr "Vnesite nov vzdevek:" + +#: src/fe-gtk/menu.c:116 +msgid "Host unknown" +msgstr "Neznan gostitelj" + +#: src/fe-gtk/menu.c:496 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:498 +msgid "User:" +msgstr "Uporabnik:" + +#: src/fe-gtk/menu.c:502 +msgid "Country:" +msgstr "Država:" + +#: src/fe-gtk/menu.c:506 +msgid "Real Name:" +msgstr "Pravo ime:" + +#: src/fe-gtk/menu.c:510 +msgid "Server:" +msgstr "Strežnik:" + +#: src/fe-gtk/menu.c:519 +msgid "Away Msg:" +msgstr "Sporočilo o odsotnosti:" + +#: src/fe-gtk/menu.c:525 +msgid "Last Msg:" +msgstr "Zadnje sporočilo:" + +#: src/fe-gtk/menu.c:612 +msgid "Menu Bar" +msgstr "Vrstica z menijem" + +#: src/fe-gtk/menu.c:613 +msgid "Topic Bar" +msgstr "Vrstica teme" + +#: src/fe-gtk/menu.c:617 src/fe-gtk/setup.c:159 +msgid "User List" +msgstr "Seznam uporabnikov" + +#: src/fe-gtk/menu.c:620 +msgid "Mode Buttons" +msgstr "Gumbi za način" + +#: src/fe-gtk/menu.c:626 +msgid "User List Buttons" +msgstr "Gumbi seznama uporabnikov" + +#: src/fe-gtk/menu.c:672 src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Kopiraj izbrani URL" + +#: src/fe-gtk/menu.c:735 +msgid "Part Channel" +msgstr "Zapusti kanal" + +#: src/fe-gtk/menu.c:737 +msgid "Cycle Channel" +msgstr "Zapusti/Vrni se na kanal" + +#: src/fe-gtk/menu.c:760 +msgid "X-Chat: User menu" +msgstr "X-Chat: Uporabnikov meni" + +#: src/fe-gtk/menu.c:769 +msgid "Edit This Menu..." +msgstr "Uredi ta meni ..." + +#: src/fe-gtk/menu.c:876 +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 "" +"*OPOZORILO*\n" +"Samodejno prejemanje DCC-jev v vaš domač imenik\n" +"je lahko zelo nevarno. Nekdo vam lahko pošlje npr.\n" +".bash_profile" + +#: src/fe-gtk/menu.c:1004 +msgid "Settings saved." +msgstr "Nastavitve shranjene." + +#: src/fe-gtk/menu.c:1041 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" +"Uporabnikovi ukazi - Posebne kode:\n" +"\n" +"%c = trenutni kanal\n" +"%m = podatki o računalniku\n" +"%n = vaš vzdevek\n" +"%t = čas/datum\n" +"%v = različica programa xchat\n" +"%2 = beseda 2\n" +"%3 = beseda 3\n" +"&2 = beseda 2 na konec vrstice\n" +"&3 = beseda 3 na konec vrstice\n" +"\n" +"Primer:\n" +"/cmd Janez pozdrav\n" +"\n" +"%2 bi bilo \"Janez\"\n" +"&2 bi bilo \"Janez pozdrav\"." + +#: src/fe-gtk/menu.c:1056 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Gumbi seznama uporabnikov - Posebne kode:\n" +"\n" +"%a = vsi izbrani vzdevki\n" +"%c = trenutni kanal\n" +"%h = gostitelj izbranega vzdevka\n" +"%m = podatki o računalniku\n" +"%n = vaš vzdevek\n" +"%s = izbran vzdevek\n" +"%t = čas/datum\n" + +#: src/fe-gtk/menu.c:1065 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Gumbi pogovornih oken - Posebne kode:\n" +"\n" +"%a = vsi izbrani vzdevki\n" +"%c = trenutni kanal\n" +"%h = gostitelj izbranega vzdevka\n" +"%m = podatki o računalniku\n" +"%n = vaš vzdevek\n" +"%s = izbran vzdevek\n" +"%t = čas/datum\n" + +#: src/fe-gtk/menu.c:1074 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" +"Odgovori CTCP - Posebne kode:\n" +"\n" +"%d = podatki (celoten ctcp)\n" +"%m = podatki o računalniku\n" +"%s = vzdevek, ki je poslal ctcp\n" +"%t = čas/datum\n" +"%2 = beseda 2\n" +"%3 = beseda 3\n" +"&2 = beseda 2 na konec vrstice\n" +"&3 = beseda 3 na konec vrstice\n" +"\n" + +#: src/fe-gtk/menu.c:1084 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of X-Chat" +msgstr "" +"Upravitelji URL - Posebne kode:\n" +"\n" +"%s = URL zapis\n" +"\n" +"Če vnesete ! pred ukazom,\n" +"bo poslan\n" +"konzoli namesto X-Chatu" + +#: src/fe-gtk/menu.c:1093 +msgid "X-Chat: User Defined Commands" +msgstr "X-Chat: Uporabnikovi ukazi" + +#: src/fe-gtk/menu.c:1100 +msgid "X-Chat: Userlist Popup menu" +msgstr "X-Chat: Meni seznama uporabnikov" + +#: src/fe-gtk/menu.c:1107 +msgid "X-Chat: Replace" +msgstr "X-Chat: Zamenjaj" + +#: src/fe-gtk/menu.c:1114 +msgid "X-Chat: URL Handlers" +msgstr "X-Chat: Upravitelji URL-jev" + +#: src/fe-gtk/menu.c:1133 +msgid "X-Chat: Userlist buttons" +msgstr "X-Chat: Gumbi seznama uporabnikov" + +#: src/fe-gtk/menu.c:1140 +msgid "X-Chat: Dialog buttons" +msgstr "X-Chat: Gumbi pogovornega okna" + +#: src/fe-gtk/menu.c:1147 +msgid "X-Chat: CTCP Replies" +msgstr "X-Chat: Odgovori CTCP" + +#: src/fe-gtk/menu.c:1235 +msgid "_X-Chat" +msgstr "_X-Chat" + +#: src/fe-gtk/menu.c:1236 +msgid "Server List..." +msgstr "Seznam strežnikov ..." + +#: src/fe-gtk/menu.c:1239 +msgid "New" +msgstr "Nov" + +#: src/fe-gtk/menu.c:1240 +msgid "Server Tab..." +msgstr "Zavihek strežnikov ..." + +#: src/fe-gtk/menu.c:1241 +msgid "Channel Tab..." +msgstr "Zavihek kanalov ..." + +#: src/fe-gtk/menu.c:1242 +msgid "Server Window..." +msgstr "Okno strežnikov..." + +#: src/fe-gtk/menu.c:1243 +msgid "Channel Window..." +msgstr "Okno kanalov ..." + +#: src/fe-gtk/menu.c:1248 src/fe-gtk/menu.c:1250 +msgid "Load Plugin or Script..." +msgstr "Naloži dodatek ali skripto ..." + +#: src/fe-gtk/menu.c:1254 +msgid "New Shell Tab..." +msgstr "Nov zavihek lupine ..." + +#: src/fe-gtk/menu.c:1263 +msgid "Quit" +msgstr "Izhod" + +#: src/fe-gtk/menu.c:1265 +msgid "_IRC" +msgstr "_IRC" + +#: src/fe-gtk/menu.c:1266 +msgid "Invisible" +msgstr "Neviden" + +#: src/fe-gtk/menu.c:1267 +msgid "Receive Wallops" +msgstr "Sprejemaj sporočila za operaterje" + +#: src/fe-gtk/menu.c:1268 +msgid "Receive Server Notices" +msgstr "Sprejemaj strežniška obvestila" + +#: src/fe-gtk/menu.c:1270 +msgid "Marked Away" +msgstr "Označen kot odsoten" + +#: src/fe-gtk/menu.c:1272 +msgid "Auto Rejoin when Kicked" +msgstr "Samodejna vrnitev ob brci" + +#: src/fe-gtk/menu.c:1273 +msgid "Auto Reconnect to Server" +msgstr "Samodejno obnovi povezavo na strežnik" + +#: src/fe-gtk/menu.c:1274 +msgid "Never-give-up ReConnect" +msgstr "Nikoli ne obupaj ob ponovnem povezovanju" + +#: src/fe-gtk/menu.c:1276 +msgid "Auto Open Dialog Windows" +msgstr "Samodejno odpri okna za zasebni pogovor" + +#: src/fe-gtk/menu.c:1277 +msgid "Auto Accept Direct Chat" +msgstr "Samodejno sprejmi neposredni pogovor" + +#: src/fe-gtk/menu.c:1278 +msgid "Auto Accept Files" +msgstr "Samodejno sprejmi datoteke" + +#: src/fe-gtk/menu.c:1280 +msgid "_Server" +msgstr "_Strežnik" + +#: src/fe-gtk/menu.c:1282 +msgid "S_ettings" +msgstr "Nastavitv_e" + +#: src/fe-gtk/menu.c:1283 +msgid "Preferences..." +msgstr "Nastavitve ..." + +#: src/fe-gtk/menu.c:1285 +msgid "Advanced" +msgstr "Napredno" + +#: src/fe-gtk/menu.c:1286 +msgid "Auto Replace..." +msgstr "Samodejno zamenjaj ..." + +#: src/fe-gtk/menu.c:1287 +msgid "CTCP Replies..." +msgstr "Odgovori CTCP ..." + +#: src/fe-gtk/menu.c:1288 +msgid "Dialog Buttons..." +msgstr "Gumbi pogovornih oken ..." + +#: src/fe-gtk/menu.c:1289 +msgid "Keyboard Shortcuts..." +msgstr "Bližnjice s tipkovnico..." + +#: src/fe-gtk/menu.c:1290 +msgid "Text Events..." +msgstr "Dogodki besedila ..." + +#: src/fe-gtk/menu.c:1291 +msgid "URL Handlers..." +msgstr "Upravlitelji URL-jev ..." + +#: src/fe-gtk/menu.c:1292 +msgid "User Commands..." +msgstr "Uporabnikovi ukazi ..." + +#: src/fe-gtk/menu.c:1293 +msgid "Userlist Buttons..." +msgstr "Gumbi seznama uporabnikov ..." + +#: src/fe-gtk/menu.c:1294 +msgid "Userlist Popup..." +msgstr "Priročen meni seznama uporabnikov ..." + +#: src/fe-gtk/menu.c:1299 +msgid "Reload Settings" +msgstr "Osveži nastavitve" + +#: src/fe-gtk/menu.c:1301 +msgid "Save Settings now" +msgstr "Shrani nastavitve zdaj" + +#: src/fe-gtk/menu.c:1302 +msgid "Save Settings on exit" +msgstr "Shrani nastavitve ob izhodu" + +#: src/fe-gtk/menu.c:1305 +msgid "_Window" +msgstr "_Okno" + +#: src/fe-gtk/menu.c:1306 +msgid "Ban List..." +msgstr "Seznam izobčenih ..." + +#: src/fe-gtk/menu.c:1307 +msgid "Channel List..." +msgstr "Seznam kanalov ..." + +#: src/fe-gtk/menu.c:1308 +msgid "Character Chart..." +msgstr "Kodna tabela ..." + +#: src/fe-gtk/menu.c:1309 +msgid "Direct Chat..." +msgstr "Neposredni pogovor ..." + +#: src/fe-gtk/menu.c:1310 +msgid "File Receive..." +msgstr "Prejemanje datotek ..." + +#: src/fe-gtk/menu.c:1311 +msgid "File Send..." +msgstr "Pošiljanje datotek ..." + +#: src/fe-gtk/menu.c:1312 +msgid "Ignore List..." +msgstr "Seznam prezrtih ..." + +#: src/fe-gtk/menu.c:1313 +msgid "Notify List..." +msgstr "Seznam opomnikov ..." + +#: src/fe-gtk/menu.c:1314 +msgid "Plugins and Scripts..." +msgstr "Dodatki in skripte ..." + +#: src/fe-gtk/menu.c:1315 +msgid "Raw Log..." +msgstr "Surovo beleženje ..." + +#: src/fe-gtk/menu.c:1316 +msgid "URL Grabber..." +msgstr "Lovilec URL ..." + +#: src/fe-gtk/menu.c:1318 +msgid "Reset Marker Line" +msgstr "Ponastavi označevalno vrstico" + +#: src/fe-gtk/menu.c:1319 +msgid "C_lear Text" +msgstr "Počisti besedi_lo" + +#: src/fe-gtk/menu.c:1320 +msgid "Search Text..." +msgstr "Išči besedilo ..." + +#: src/fe-gtk/menu.c:1321 +msgid "Save Text..." +msgstr "Shrani besedilo ..." + +#: src/fe-gtk/menu.c:1323 +msgid "_Help" +msgstr "_Pomoč" + +#: src/fe-gtk/menu.c:1324 +msgid "_Contents" +msgstr "Vs_ebina" + +#: src/fe-gtk/menu.c:1326 src/fe-gtk/menu.c:1328 +msgid "_About" +msgstr "_O programu" + +#: src/fe-gtk/menu.c:1676 +msgid "Attach Tab" +msgstr "Pritrdi zavihek" + +#: src/fe-gtk/notifygui.c:110 +msgid "User" +msgstr "Uporabnik" + +#: src/fe-gtk/notifygui.c:112 +msgid "Server" +msgstr "Strežnik" + +#: src/fe-gtk/notifygui.c:113 +msgid "Last Seen" +msgstr "Nazadnje viden" + +#: src/fe-gtk/notifygui.c:150 +msgid "Offline" +msgstr "Odsoten" + +#: src/fe-gtk/notifygui.c:170 src/fe-gtk/setup.c:199 +msgid "Never" +msgstr "Nikoli" + +#: src/fe-gtk/notifygui.c:188 +msgid "Online" +msgstr "Prisoten" + +#: src/fe-gtk/notifygui.c:278 +msgid "Enter nickname to add:" +msgstr "Vnesite vzdevek, ki ga želite dodati:" + +#: src/fe-gtk/notifygui.c:294 +msgid "X-Chat: Notify List" +msgstr "X-Chat: Seznam opomnikov" + +#: src/fe-gtk/notifygui.c:309 +msgid "Remove" +msgstr "Odstrani" + +#: src/fe-gtk/plugingui.c:75 src/fe-gtk/textgui.c:341 +msgid "Description" +msgstr "Opis" + +#: src/fe-gtk/plugingui.c:150 +msgid "Select a Plugin or Script to load" +msgstr "Izberite dodatek ali skripto za zagon" + +#: src/fe-gtk/plugingui.c:222 +msgid "X-Chat: Plugins and Scripts" +msgstr "X-Chat: Dodatki in skripte" + +#: src/fe-gtk/plugingui.c:228 +msgid "_Load..." +msgstr "Na_loži ..." + +#: src/fe-gtk/plugingui.c:231 +msgid "_UnLoad" +msgstr "_Odstrani" + +#: src/fe-gtk/plugingui.c:235 +msgid "_Close" +msgstr "_Zapri" + +#: src/fe-gtk/rawlog.c:78 +msgid "Save rawlog" +msgstr "Shrani surov dnevnik" + +#: src/fe-gtk/rawlog.c:94 +#, c-format +msgid "X-Chat: Rawlog (%s)" +msgstr "X-Chat: Surov dnevnik (%s)" + +#: src/fe-gtk/rawlog.c:123 +msgid "Clear rawlog" +msgstr "Počisti surov dnevnik" + +#: src/fe-gtk/rawlog.c:126 +msgid "Save rawlog..." +msgstr "Shrani surov dnevnik ..." + +#: src/fe-gtk/search.c:47 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Okno, ki ste ga odprli v tem iskanju, ne obstaja več." + +#: src/fe-gtk/search.c:91 +msgid "X-Chat: Search" +msgstr "X-Chat: Iskanje" + +#: src/fe-gtk/search.c:100 +msgid "Find:" +msgstr "Poišči:" + +#: src/fe-gtk/search.c:114 +msgid "Find" +msgstr "Poišči" + +#: src/fe-gtk/search.c:119 +msgid "Close" +msgstr "Zapri" + +#: src/fe-gtk/servlistgui.c:162 src/fe-gtk/servlistgui.c:261 +msgid "New Network" +msgstr "Novo omrežje" + +#: src/fe-gtk/servlistgui.c:494 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Res odstranim omrežje \"%s\" in vse njegove strežnike?" + +#: src/fe-gtk/servlistgui.c:618 src/fe-gtk/servlistgui.c:637 +msgid "User name and Real name cannot be left blank." +msgstr "Uporabniško ime in pravo ne morete pustiti praznih." + +#: src/fe-gtk/servlistgui.c:988 +#, c-format +msgid "X-Chat: Edit %s" +msgstr "X-Chat: Seznam izobčenih (%s)" + +#: src/fe-gtk/servlistgui.c:1007 +#, c-format +msgid "Servers for %s" +msgstr "Strežnik: %s" + +#: src/fe-gtk/servlistgui.c:1018 +msgid "Connect to selected server only" +msgstr "Poveži se samo na izbrani strežnik" + +#: src/fe-gtk/servlistgui.c:1019 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Ne kroži skozi seznam strežnikov, ko pride do prekinitve povezave." + +#: src/fe-gtk/servlistgui.c:1021 +msgid "Your Details" +msgstr "Podatki o vas" + +#: src/fe-gtk/servlistgui.c:1027 +msgid "Use global user information" +msgstr "Uporabi splošne podatke o uporabniku" + +#: src/fe-gtk/servlistgui.c:1030 src/fe-gtk/servlistgui.c:1262 +msgid "_Nick name:" +msgstr "Vzdevek:" + +#: src/fe-gtk/servlistgui.c:1034 src/fe-gtk/servlistgui.c:1283 +msgid "_User name:" +msgstr "Uporabniško ime:" + +#: src/fe-gtk/servlistgui.c:1038 src/fe-gtk/servlistgui.c:1290 +msgid "Rea_l name:" +msgstr "Pravo ime:" + +#: src/fe-gtk/servlistgui.c:1041 +msgid "Connecting" +msgstr "Povezujem se" + +#: src/fe-gtk/servlistgui.c:1047 +msgid "Auto connect to this network at startup" +msgstr "Samodejna povezava ob zagonu" + +#: src/fe-gtk/servlistgui.c:1049 +msgid "Use a proxy server" +msgstr "Uporabi strežnik proxy" + +#: src/fe-gtk/servlistgui.c:1051 +msgid "Use SSL for all the servers on this network" +msgstr "Uporabi povezavo SSL do vseh strežnikov v omrežju" + +#: src/fe-gtk/servlistgui.c:1056 +msgid "Accept invalid SSL certificate" +msgstr "Sprejmi neveljaven SSL certifikat" + +#: src/fe-gtk/servlistgui.c:1062 +msgid "C_hannels to join:" +msgstr "Kanal, ki se mu želite pridružiti:" + +#: src/fe-gtk/servlistgui.c:1064 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Kanali, s katerimi se želite povezati, so ločeni z vejicami, ne s presledki!" + +#: src/fe-gtk/servlistgui.c:1067 +msgid "Connect command:" +msgstr "Ukaz za povezavo:" + +#: src/fe-gtk/servlistgui.c:1069 +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 "Dodatni ukaz, ki se izvede po uspešni povezavi. Če potrebujete več kot en ukaz, naložite datoteko z LOAD -e <ime datoteke>, ta lahko vsebuje celotno zaporedje ukazov." + +#: src/fe-gtk/servlistgui.c:1072 +msgid "Nickserv password:" +msgstr "Geslo strežnika:" + +#: src/fe-gtk/servlistgui.c:1077 +msgid "Server password:" +msgstr "Geslo strežnika:" + +#: src/fe-gtk/servlistgui.c:1079 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Geslo za strežnik pustite prazno, če ste v dvomih." + +#: src/fe-gtk/servlistgui.c:1082 +msgid "Character set:" +msgstr "Kodni nabor:" + +#: src/fe-gtk/servlistgui.c:1155 +msgid "_Edit" +msgstr "Uredi" + +#: src/fe-gtk/servlistgui.c:1236 +msgid "X-Chat: Server List" +msgstr "X-Chat: Seznam strežnikov" + +#: src/fe-gtk/servlistgui.c:1252 +msgid "User Information" +msgstr "Podatki o uporabniku" + +#: src/fe-gtk/servlistgui.c:1269 +msgid "Second choice:" +msgstr "Druga izbira: " + +#: src/fe-gtk/servlistgui.c:1276 +msgid "Third choice:" +msgstr "Tretja izbira:" + +#: src/fe-gtk/servlistgui.c:1336 +msgid "Networks" +msgstr "Omrežja" + +#: src/fe-gtk/servlistgui.c:1377 +msgid "Skip server list on startup" +msgstr "Brez seznama strežnikov ob zagonu" + +#: src/fe-gtk/servlistgui.c:1408 +msgid "_Edit..." +msgstr "Uredi ..." + +#: src/fe-gtk/servlistgui.c:1415 +msgid "_Sort" +msgstr "Razvrsti" + +#: src/fe-gtk/servlistgui.c:1438 +msgid "C_onnect" +msgstr "P_oveži se" + +#: src/fe-gtk/servlistgui.c:1447 +msgid "Connect in new tab" +msgstr "P_oveži se v _nov zavihek" + +#: src/fe-gtk/setup.c:95 +msgid "Text Box Appearance" +msgstr "Videz" + +#: src/fe-gtk/setup.c:96 +msgid "Font:" +msgstr "Pisava:" + +#: src/fe-gtk/setup.c:97 +msgid "Background image:" +msgstr "Slika za ozadje:" + +#: src/fe-gtk/setup.c:98 +msgid "Scrollback lines:" +msgstr "Vračajoče vrstice:" + +#: src/fe-gtk/setup.c:99 +msgid "Transparent background" +msgstr "Prozorno ozadje" + +#: src/fe-gtk/setup.c:100 +msgid "Indent nick names" +msgstr "Zamakni vzdevke" + +#: src/fe-gtk/setup.c:101 +msgid "Make nick names right-justified" +msgstr "Desno poravnavaj vzdevke" + +#: src/fe-gtk/setup.c:102 +msgid "Tint (shade) transparency" +msgstr "Prozorna barva" + +#: src/fe-gtk/setup.c:103 +msgid "Colored nick names" +msgstr "Obarvani vzdevki" + +#: src/fe-gtk/setup.c:104 +msgid "Give each person on IRC a different color" +msgstr "Vsakemu vzdevku pripiši drugo barvo" + +#: src/fe-gtk/setup.c:105 +msgid "Strip mIRC colors" +msgstr "Odstrani barve mIRC" + +#: src/fe-gtk/setup.c:106 +msgid "Show marker line" +msgstr "Pokaži odsotnost enkrat" + +#: src/fe-gtk/setup.c:107 +msgid "Insert a red line after the last read text." +msgstr "Zadnjo prebrano vrsto označi z rdečo barvo." + +#: src/fe-gtk/setup.c:108 +msgid "Tint Settings" +msgstr "Barvne nastavitve" + +#: src/fe-gtk/setup.c:109 +msgid "Red:" +msgstr "Rdeča:" + +#: src/fe-gtk/setup.c:110 +msgid "Green:" +msgstr "Zelena:" + +#: src/fe-gtk/setup.c:111 +msgid "Blue:" +msgstr "Modra:" + +#: src/fe-gtk/setup.c:113 src/fe-gtk/setup.c:313 +msgid "Time Stamps" +msgstr "Besedilo opremi s časom" + +#: src/fe-gtk/setup.c:114 +msgid "Time stamp format:" +msgstr "Oblika prikaza časa:" + +#: src/fe-gtk/setup.c:115 +msgid "See strftime manpage for details." +msgstr "Poglej stran man strftime za podrobnosti." + +#: src/fe-gtk/setup.c:116 +msgid "Enable time stamps" +msgstr "Dnevnike opremi s časom" + +#: src/fe-gtk/setup.c:123 +msgid "Nick Completion" +msgstr "Dokončevanje vzdevkov" + +#: src/fe-gtk/setup.c:124 +msgid "Automatic nick completion" +msgstr "Samodokončevanje vzdevkov" + +#: src/fe-gtk/setup.c:125 +msgid "Completes nick names without using the TAB key" +msgstr "Samodejno dopolnjevanje vzdevkov brez pritiska na preslednico TAB" + +#: src/fe-gtk/setup.c:126 +msgid "Nick completion suffix:" +msgstr "Pripona za dopolnjevanje vzdevkov:" + +#: src/fe-gtk/setup.c:128 +msgid "Input Box Codes" +msgstr "Vnosno polje" + +#: src/fe-gtk/setup.c:129 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Prevedi %nnn kot vrednost ASCII" + +#: src/fe-gtk/setup.c:130 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Prevedi %C, %B kot Barva, Povdarjeno itd." + +#: src/fe-gtk/setup.c:132 +msgid "Input Box Appearance" +msgstr "Videz vhodnega okna" + +#: src/fe-gtk/setup.c:133 src/fe-gtk/setup.c:163 +msgid "Use the Text box font and colors" +msgstr "Uporabi pisavo in barvo besedilnega polja" + +#: src/fe-gtk/setup.c:140 +msgid "Off" +msgstr "Izključeno" + +#: src/fe-gtk/setup.c:141 +msgid "Graph" +msgstr "Graf" + +#: src/fe-gtk/setup.c:142 +msgid "Info text" +msgstr "Podatki" + +#: src/fe-gtk/setup.c:143 +msgid "Both" +msgstr "Oboje" + +#: src/fe-gtk/setup.c:149 +msgid "A-Z, Ops first" +msgstr "A-Ž, najprej status op" + +#: src/fe-gtk/setup.c:150 +msgid "A-Z" +msgstr "A-Ž" + +#: src/fe-gtk/setup.c:151 +msgid "Z-A, Ops last" +msgstr "Ž-A, nazadnje status op" + +#: src/fe-gtk/setup.c:152 +msgid "Z-A" +msgstr "Ž-A" + +#: src/fe-gtk/setup.c:153 +msgid "Unsorted" +msgstr "Neurejeno" + +#: src/fe-gtk/setup.c:160 +msgid "User list sorted by:" +msgstr "Seznam uporabnikov urejen po:" + +#: src/fe-gtk/setup.c:161 +msgid "Show hostnames in user list" +msgstr "Pokaži gostitelje v seznamu uporabnikov" + +#: src/fe-gtk/setup.c:162 +msgid "User list buttons enabled" +msgstr "Omogoči gumbe za seznam uporabnikov" + +#: src/fe-gtk/setup.c:164 +msgid "Resizable user list" +msgstr "Prilagodljiv seznam uporabnikov" + +#: src/fe-gtk/setup.c:166 +msgid "Away tracking" +msgstr "Razlog odsotnosti" + +#: src/fe-gtk/setup.c:167 +msgid "Enable away tracking" +msgstr "Omogoči sledenje odsotnosti" + +#: src/fe-gtk/setup.c:168 +msgid "On channels smaller than:" +msgstr "Spremljaj razloge za odsotnost na kanalih manjših od:" + +#: src/fe-gtk/setup.c:170 +msgid "Action Upon Double Click" +msgstr "Ob dvokliku izvedi ukaz" + +#: src/fe-gtk/setup.c:171 +msgid "Execute command:" +msgstr "Ukaz za povezavo:" + +#: src/fe-gtk/setup.c:173 +msgid "Extra Gadgets" +msgstr "Dodatne naprave" + +#: src/fe-gtk/setup.c:174 +msgid "Lag meter:" +msgstr "Merilec zaostanka:" + +#: src/fe-gtk/setup.c:175 +msgid "Throttle meter:" +msgstr "Merilec obremenjenosti:" + +#: src/fe-gtk/setup.c:182 +msgid "Windows" +msgstr "Okna" + +#: src/fe-gtk/setup.c:183 src/fe-gtk/setup.c:207 src/fe-gtk/setup.c:1447 +msgid "Tabs" +msgstr "Zavihki" + +#: src/fe-gtk/setup.c:189 +msgid "Bottom" +msgstr "Spodaj" + +#: src/fe-gtk/setup.c:190 +msgid "Top" +msgstr "Zgoraj" + +#: src/fe-gtk/setup.c:191 +msgid "Left" +msgstr "Levo" + +#: src/fe-gtk/setup.c:192 +msgid "Right" +msgstr "Desno" + +#: src/fe-gtk/setup.c:193 +msgid "Hidden" +msgstr "Skrito" + +#: src/fe-gtk/setup.c:200 +msgid "Always" +msgstr "Vselej" + +#: src/fe-gtk/setup.c:201 +msgid "Only requested tabs" +msgstr "Le zahtevane zavihke" + +#: src/fe-gtk/setup.c:208 +msgid "Open an extra tab for server messages" +msgstr "Odpri zavihek za sporočila strežnika" + +#: src/fe-gtk/setup.c:209 +msgid "Open an extra tab for server notices" +msgstr "Odpri zavihek za opomine strežnika" + +#: src/fe-gtk/setup.c:210 +msgid "Small tabs" +msgstr "Majhni zavihki" + +#: src/fe-gtk/setup.c:211 +msgid "Sort tabs in alphabetical order" +msgstr "Zavihke uredi po abecedi" + +#: src/fe-gtk/setup.c:212 +msgid "Focus new tabs:" +msgstr "Fokusiraj nove zavihke:" + +#: src/fe-gtk/setup.c:213 +msgid "Shorten tab labels to:" +msgstr "Skrajša zavihke v:" + +#: src/fe-gtk/setup.c:213 +msgid "letters." +msgstr "črk." + +#: src/fe-gtk/setup.c:215 +msgid "Tabs Location" +msgstr "Lega zavihkov" + +#: src/fe-gtk/setup.c:216 +msgid "Show tabs at:" +msgstr "Prikaži zavihke na:" + +#: src/fe-gtk/setup.c:218 +msgid "Tabs or Windows" +msgstr "Zavihki ali okna" + +#: src/fe-gtk/setup.c:219 +msgid "Open channels in:" +msgstr "Odpri kanale v:" + +#: src/fe-gtk/setup.c:220 +msgid "Open dialogs in:" +msgstr "Odpri pogovorna okna v:" + +#: src/fe-gtk/setup.c:221 +msgid "Open utilities in:" +msgstr "Odpri orodja v:" + +#: src/fe-gtk/setup.c:221 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Odprem DCC, Opomnike in podobno v zavihkih ali oknih?" + +#: src/fe-gtk/setup.c:228 +msgid "Files and Directories" +msgstr "Datoteke in imeniki" + +#: src/fe-gtk/setup.c:229 +msgid "Download files to:" +msgstr "Prenesi datoteke v:" + +#: src/fe-gtk/setup.c:230 +msgid "Move completed files to:" +msgstr "Premakni dokončane datoteke v:" + +#: src/fe-gtk/setup.c:231 +msgid "Save nick name in filenames" +msgstr "Shrani vzdevek v imena datotek" + +#: src/fe-gtk/setup.c:232 +msgid "Convert spaces to underscore before sending" +msgstr "Pretvori presledke v podčrtaje" + +#: src/fe-gtk/setup.c:234 +msgid "Network Settings" +msgstr "Nastavitve omrežja" + +#: src/fe-gtk/setup.c:235 +msgid "DCC IP address:" +msgstr "Naslov IP DCC:" + +#: src/fe-gtk/setup.c:236 +msgid "Claim you are at this address when offering files." +msgstr "Pretvarjajte se, da ste na tem naslovu, ko ponujate datoteke." + +#: src/fe-gtk/setup.c:237 +msgid "First DCC send port:" +msgstr "Prva vrata za pošiljanje DCC:" + +#: src/fe-gtk/setup.c:238 +msgid "Last DCC send port:" +msgstr "Zadnja vrata za pošiljanje DCC:" + +#: src/fe-gtk/setup.c:239 +msgid "(Leave ports at zero for full range)." +msgstr "(Pusti vrata na ničli za celoten niz)." + +#: src/fe-gtk/setup.c:240 +msgid "Get my address from the IRC server" +msgstr "Pridobi moj podatke o mojem IP od strežnika IRC" + +#: src/fe-gtk/setup.c:241 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "Vpraša IRC strežnik za vaš pravi naslov. Uporabljajte to možnost, če imate naslov oblike 192.168.*.*!" + +#: src/fe-gtk/setup.c:243 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Največja hitrost prenosa podatkov (bajti na sekundo)" + +#: src/fe-gtk/setup.c:244 +msgid "One upload:" +msgstr "En sam prenos od vas:" + +#: src/fe-gtk/setup.c:245 src/fe-gtk/setup.c:247 +msgid "Maximum speed for one transfer" +msgstr "Največja hitrost za en prenos" + +#: src/fe-gtk/setup.c:246 +msgid "One download:" +msgstr "En sam prenos k vam:" + +#: src/fe-gtk/setup.c:248 +msgid "All uploads combined:" +msgstr "Vsi prenosi od vas združeno:" + +#: src/fe-gtk/setup.c:249 src/fe-gtk/setup.c:251 +msgid "Maximum speed for all files" +msgstr "Največja hitrost za ves promet" + +#: src/fe-gtk/setup.c:250 +msgid "All downloads combined:" +msgstr "Vsi prenosi k vam združeno:" + +#: src/fe-gtk/setup.c:258 +msgid "Default Messages" +msgstr "Privzeta sporočila" + +#: src/fe-gtk/setup.c:259 +msgid "Quit:" +msgstr "Izhod:" + +#: src/fe-gtk/setup.c:260 +msgid "Leave channel:" +msgstr "Zapusti kanal:" + +#: src/fe-gtk/setup.c:261 +msgid "Away:" +msgstr "Odsoten:" + +#: src/fe-gtk/setup.c:263 +msgid "Away" +msgstr "Odsoten" + +#: src/fe-gtk/setup.c:264 +msgid "Announce away messages" +msgstr "Naznani sporočila za odsotnost" + +#: src/fe-gtk/setup.c:265 +msgid "Announce your away messages to all channels" +msgstr "Naznani vaša sporočila za odsotnost vsem kanalom" + +#: src/fe-gtk/setup.c:266 +msgid "Show away once" +msgstr "Pokaži odsotnost enkrat" + +#: src/fe-gtk/setup.c:266 +msgid "Show identical away messages only once" +msgstr "Prikaži enaka sporočila za odsotnost samo enkrat" + +#: src/fe-gtk/setup.c:267 +msgid "Automatically unmark away" +msgstr "Samodejno prekine odsotnost" + +#: src/fe-gtk/setup.c:267 +msgid "Unmark yourself as away before sending messages" +msgstr "Prekini odsotnost preden pošlješ sporočila" + +#: src/fe-gtk/setup.c:270 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "(Lahko je tekstovna datoteka, ki se nanaša na ~/.xchat2/)." + +#: src/fe-gtk/setup.c:272 +msgid "(Can be a text file relative to config dir)." +msgstr "(Lahko je tekstovna datoteka, ki se nanaša na konfiguracijski imenik)." + +#: src/fe-gtk/setup.c:276 +msgid "Alerts" +msgstr "Opozorila" + +#: src/fe-gtk/setup.c:278 +msgid "Flash taskbar on highlighted messages" +msgstr "Zapiskaj ob osvetljenih sporočilih" + +#: src/fe-gtk/setup.c:280 +msgid "Beep on highlighted messages" +msgstr "Zapiskaj ob osvetljenih sporočilih" + +#: src/fe-gtk/setup.c:281 +msgid "Extra words to highlight on:" +msgstr "Dodatne besede za osvetlitev:" + +#: src/fe-gtk/setup.c:282 +msgid "Nicks not to highlight on:" +msgstr "Vzdevki, ki jih ne osvetljujem:" + +#: src/fe-gtk/setup.c:283 +msgid "(Separate multiple words with commas)." +msgstr "(Več besed ločite z vejicami)." + +#: src/fe-gtk/setup.c:284 +msgid "Beep on private messages" +msgstr "Zapiskaj ob zasebnih sporočilih" + +#: src/fe-gtk/setup.c:285 +msgid "Beep on channel messages" +msgstr "Zapiskaj ob kanalnih sporočilih" + +#: src/fe-gtk/setup.c:292 +msgid "Advanced Settings" +msgstr "Napredne nastavitve" + +#: src/fe-gtk/setup.c:293 +msgid "Auto reconnect delay:" +msgstr "Zamik med ponovnim povezovanjem:" + +#: src/fe-gtk/setup.c:294 +msgid "Display MODEs in raw form" +msgstr "Prikaže MODE v surovi obliki" + +#: src/fe-gtk/setup.c:295 +msgid "Whois on notify" +msgstr "Whois ob opominu" + +#: src/fe-gtk/setup.c:295 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Pošlje /WHOIS, ko se uporabnik pridruži vašemu seznamu za opombe" + +#: src/fe-gtk/setup.c:296 +msgid "Hide join and part messages" +msgstr "Skrij sporočila ob prihodu/odhodu" + +#: src/fe-gtk/setup.c:296 +msgid "Hide channel join/part messages by default" +msgstr "Privzeto skrije kanalna sporočila ob prihodu/odhodu" + +#: src/fe-gtk/setup.c:297 +msgid "Auto Open DCC Windows" +msgstr "Samodejno odpri okna za zasebni pogovor" + +#: src/fe-gtk/setup.c:298 +msgid "Send window" +msgstr "Pošlji datoteko" + +#: src/fe-gtk/setup.c:299 +msgid "Receive window" +msgstr "Prejemnik" + +#: src/fe-gtk/setup.c:300 +msgid "Chat window" +msgstr "Pogovorno okno" + +#: src/fe-gtk/setup.c:308 src/fe-gtk/setup.c:1452 +msgid "Logging" +msgstr "Beleženje" + +#: src/fe-gtk/setup.c:309 +msgid "Enable logging of conversations" +msgstr "Vključi beleženje pogovorov" + +#: src/fe-gtk/setup.c:310 +msgid "Log filename mask:" +msgstr "Maska imena datoteke dnevnika:" + +#: src/fe-gtk/setup.c:311 +#, c-format +msgid "(%s=Server %c=Channel %n=Network)." +msgstr "(%s=Strežnik %c=Kanal %n=Omrežje)." + +#: src/fe-gtk/setup.c:314 +msgid "Insert timestamps in logs" +msgstr "Dnevnike opremi s časom" + +#: src/fe-gtk/setup.c:315 +msgid "Log timestamp format:" +msgstr "Oblika prikaza časa v dnevniku:" + +#: src/fe-gtk/setup.c:316 +msgid "(See strftime manpage for details)." +msgstr "(Poglejte man stran strftime za podrobnosti)." + +#: src/fe-gtk/setup.c:323 +msgid "(Disabled)" +msgstr "(Izključeno)" + +#: src/fe-gtk/setup.c:324 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:325 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:326 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:327 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:333 +msgid "Your Address" +msgstr "Naslov IP" + +#: src/fe-gtk/setup.c:334 +msgid "Bind to:" +msgstr "Poišči:" + +#: src/fe-gtk/setup.c:335 +msgid "(Only useful for computers with multiple addresses)." +msgstr "(Uporabno le za računalnike z več naslovi)." + +#: src/fe-gtk/setup.c:337 +msgid "Proxy Server" +msgstr "Strežnik proxy" + +#: src/fe-gtk/setup.c:338 +msgid "Hostname:" +msgstr "Ime gostitelja:" + +#: src/fe-gtk/setup.c:339 +msgid "Username:" +msgstr "Uporabniško ime:" + +#: src/fe-gtk/setup.c:340 +msgid "Password:" +msgstr "Geslo:" + +#: src/fe-gtk/setup.c:341 +msgid "Port:" +msgstr "Vrata:" + +#: src/fe-gtk/setup.c:342 +msgid "Type:" +msgstr "Vrsta:" + +#: src/fe-gtk/setup.c:344 +msgid "Authenticate to the proxy server (HTTP and Socks5)" +msgstr "Overi se proxy strežniku (samo HTTP)" + +#: src/fe-gtk/setup.c:567 +msgid "(disabled)" +msgstr "(Izključeno)" + +#: src/fe-gtk/setup.c:568 +msgid "A star (*)" +msgstr "Zvezdica" + +#: src/fe-gtk/setup.c:569 +msgid "A red star (*)" +msgstr "Rdeča zvezdica<" + +#: src/fe-gtk/setup.c:570 +msgid "Underlined" +msgstr "Prisoten" + +#: src/fe-gtk/setup.c:667 +msgid "Select an Image File" +msgstr "Izberite datoteko s sliko" + +#: src/fe-gtk/setup.c:703 +msgid "Select font" +msgstr "Izberite pisavo" + +#: src/fe-gtk/setup.c:777 +msgid "Browse..." +msgstr "Brskaj ..." + +#: src/fe-gtk/setup.c:894 +msgid "Mark identified users with:" +msgstr "Označi prepoznane uporabnike z:" + +#: src/fe-gtk/setup.c:896 +msgid "Mark not-identified users with:" +msgstr "Označi neprepoznane uporabnike z:" + +#: src/fe-gtk/setup.c:959 +msgid "Select color" +msgstr "Izberi barvo" + +#: src/fe-gtk/setup.c:1039 +msgid "Text Colors" +msgstr "Barve" + +#: src/fe-gtk/setup.c:1041 +msgid "mIRC colors:" +msgstr "Barve mIRC:" + +#: src/fe-gtk/setup.c:1049 +msgid "Extra colors:" +msgstr "Dodatne barve:" + +#: src/fe-gtk/setup.c:1057 src/fe-gtk/setup.c:1062 +msgid "Foreground:" +msgstr "Ospredje:" + +#: src/fe-gtk/setup.c:1058 src/fe-gtk/setup.c:1063 +msgid "Background:" +msgstr "Ozadje:" + +#: src/fe-gtk/setup.c:1060 +msgid "Marking Text" +msgstr "Počisti besedi_lo" + +#: src/fe-gtk/setup.c:1065 +msgid "Interface Colors" +msgstr "Vmesnik" + +#: src/fe-gtk/setup.c:1067 +msgid "New data:" +msgstr "Novi podatki:" + +#: src/fe-gtk/setup.c:1068 +msgid "Marker line:" +msgstr "Označi ospredje:" + +#: src/fe-gtk/setup.c:1069 +msgid "New message:" +msgstr "Novo sporočilo:" + +#: src/fe-gtk/setup.c:1070 +msgid "Away user:" +msgstr "Odsoten Uporabnik:" + +#: src/fe-gtk/setup.c:1071 +msgid "Highlight:" +msgstr "Osvetli:" + +#: src/fe-gtk/setup.c:1167 src/fe-gtk/textgui.c:337 +msgid "Event" +msgstr "Dogodek" + +#: src/fe-gtk/setup.c:1173 +msgid "Sound file" +msgstr "Zvočna datoteka" + +#: src/fe-gtk/setup.c:1208 +msgid "Select a sound file" +msgstr "Izberite izhodno ime datoteke" + +#: src/fe-gtk/setup.c:1280 +msgid "Sound playing method:" +msgstr "Način predvajanja zvočnih datotek:" + +#: src/fe-gtk/setup.c:1288 +msgid "External sound playing _program:" +msgstr "Zunanji program za predvajanje zvoka:" + +#: src/fe-gtk/setup.c:1306 +msgid "_External program" +msgstr "Zunanji" + +#: src/fe-gtk/setup.c:1316 +msgid "_Automatic" +msgstr "Samodejno" + +#: src/fe-gtk/setup.c:1329 +msgid "Sound files _directory:" +msgstr "Prenesi datoteke v:" + +#: src/fe-gtk/setup.c:1368 +msgid "Sound file:" +msgstr "Zvočna datoteka: " + +#: src/fe-gtk/setup.c:1383 +msgid "_Browse..." +msgstr "Brskaj ..." + +#: src/fe-gtk/setup.c:1394 +msgid "_Play" +msgstr "Predvajaj" + +#: src/fe-gtk/setup.c:1443 +msgid "Interface" +msgstr "Vmesnik" + +#: src/fe-gtk/setup.c:1444 +msgid "Text box" +msgstr "Besedilno polje" + +#: src/fe-gtk/setup.c:1445 +msgid "Input box" +msgstr "Vnosno polje" + +#: src/fe-gtk/setup.c:1446 +msgid "User list" +msgstr "Seznam uporabnikov" + +#: src/fe-gtk/setup.c:1448 +msgid "Colors" +msgstr "Barve" + +#: src/fe-gtk/setup.c:1450 +msgid "Chatting" +msgstr "Klepetanje" + +#: src/fe-gtk/setup.c:1451 +msgid "General" +msgstr "Splošno" + +#: src/fe-gtk/setup.c:1453 +msgid "Sound" +msgstr "Zvok" + +#: src/fe-gtk/setup.c:1456 +msgid "Network" +msgstr "Omrežje" + +#: src/fe-gtk/setup.c:1457 +msgid "Network setup" +msgstr "Omrežne nastavitve" + +#: src/fe-gtk/setup.c:1458 +msgid "File transfers" +msgstr "Prenosi datotek" + +#: src/fe-gtk/setup.c:1565 +msgid "Categories" +msgstr "Kategorije" + +#: src/fe-gtk/setup.c:1695 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Nekatere spremenjene nastavitve potrebujejo ponovni zagon za uveljavitev." + +#: src/fe-gtk/setup.c:1723 +msgid "X-Chat: Preferences" +msgstr "X-Chat: Nastavitve" + +#: src/fe-gtk/textgui.c:160 +msgid "There was an error parsing the string" +msgstr "Prišlo je do napake pri obdelavi niza" + +#: src/fe-gtk/textgui.c:168 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Signal je sprejel samo %d argumente, $%d je neveljaven" + +#: src/fe-gtk/textgui.c:276 src/fe-gtk/textgui.c:299 +msgid "Print Texts File" +msgstr "Izpiši datoteko z besedilom" + +#: src/fe-gtk/textgui.c:340 +msgid "$ Number" +msgstr "$ Število" + +#: src/fe-gtk/textgui.c:350 +msgid "Edit Events" +msgstr "Uredi dogodke" + +#: src/fe-gtk/textgui.c:418 +msgid "Save As" +msgstr "Shrani kot" + +#: src/fe-gtk/textgui.c:423 +msgid "Load From" +msgstr "Naloži iz" + +#: src/fe-gtk/textgui.c:428 +msgid "Test All" +msgstr "Preskusi vse" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "X-Chat: URL Grabber" +msgstr "X-Chat: Lovilec URL-jev" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Počisti seznam" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Kopiraj" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Shrani seznam v datoteko" + +#: src/fe-gtk/userlistgui.c:107 +#, c-format +msgid "%d ops, %d total" +msgstr "%d operaterjev, %d vseh" diff --git a/po/sq.po b/po/sq.po new file mode 100644 index 00000000..72f0de79 --- /dev/null +++ b/po/sq.po @@ -0,0 +1,5455 @@ +# Translation of `xchat' messages to Albanian +# Përkthimi në Shqip i mesazheve të `xchat-it' +# Besnik Bleta <besnik@spymac.com>, 2004. +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.6.0\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2006-03-21 18:51+1100\n" +"PO-Revision-Date: 2005-11-07 21:49+0200\n" +"Last-Translator: Besnik Bleta <besnik@spymac.com>\n" +"Language-Team: Albanian <translation-team-sq@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/common/cfgfiles.c:350 +msgid "Cannot create ~/.xchat2" +msgstr "S'mund të krijoj ~/.xchat2" + +#: src/common/cfgfiles.c:682 +msgid "I'm busy" +msgstr "Jam i zënë" + +#: src/common/cfgfiles.c:683 +msgid "Leaving" +msgstr "Po iki" + +#: src/common/cfgfiles.c:729 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Xhirimi i IRC-së si rrënjë është budallallëk! Duhet\n" +" të krijoni një Llogari Përdoruesi dhe të përdorni atë për t'u " +"futur.\n" + +#: src/common/dcc.c:66 +msgid "Waiting" +msgstr "Po pres" + +#: src/common/dcc.c:67 +msgid "Active" +msgstr "Veprues" + +#: src/common/dcc.c:68 +msgid "Failed" +msgstr "Dështova" + +#: src/common/dcc.c:69 +msgid "Done" +msgstr "Përmbushur" + +#: src/common/dcc.c:70 src/fe-gtk/menu.c:740 +msgid "Connect" +msgstr "Lidhu" + +#: src/common/dcc.c:71 +msgid "Aborted" +msgstr "Ndërprerë" + +#: src/common/dcc.c:1340 +#, c-format +msgid "Cannot access %s\n" +msgstr "S'mund të futem në %s\n" + +#: src/common/dcc.c:2020 +msgid "No active DCCs\n" +msgstr "S'ka DCC-ra vepruese\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "PO " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "JO " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Po CTCP përmbyteni prej %s, po shpërfill %s\n" + +#: src/common/ignore.c:395 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "Po MSG përmbyteni prej %s, po vendos gui_auto_open_dialog OFF.\n" + +#: src/common/notify.c:395 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s të lidhur\n" + +#: src/common/notify.c:397 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s të palidhur\n" + +#: src/common/outbound.c:71 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Pa u bashkuar me ndonjë kanal. Provoni /join #<kanal>\n" + +#: src/common/outbound.c:77 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "I palidhur. Provoni /server <strehë> [<portë>]\n" + +#: src/common/outbound.c:1649 +msgid "I need /bin/sh to run!\n" +msgstr "Më duhet /bin/sh për të xhiruar!\n" + +#: src/common/outbound.c:1982 +msgid "Commands Available:" +msgstr "Urdhra të Mundshëm:" + +#: src/common/outbound.c:1996 +msgid "User defined commands:" +msgstr "Urdhra të përkufizuar nga përdoruesi:" + +#: src/common/outbound.c:2012 +msgid "Plugin defined commands:" +msgstr "Urdhra të përkufizuar nga shtojca:" + +#: src/common/outbound.c:2023 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Shtypni /HELP <urdhër> për më tepër të dhëna, ose /HELP -l" + +#: src/common/outbound.c:2098 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Është shpërfillur arg i panjohur '%s'." + +#: src/common/outbound.c:2947 +msgid "No such plugin found.\n" +msgstr "S'gjendet shtojcë e tillë.\n" + +#: src/common/outbound.c:2952 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Ajo shtojcë nuk pranon të çngarkohet.\n" + +#: src/common/outbound.c:3187 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "" +"ADDBUTON <emër> <veprim>, shton një buton nën një listë përdoruesi" + +#: src/common/outbound.c:3189 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <urd>, u dërgon një urdhër tërë kanaleve ku keni hyrë" + +#: src/common/outbound.c:3191 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <urd>, u dërgon një urdhër tërë kanaleve ku keni hyrë" + +#: src/common/outbound.c:3193 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <urd>, u dërgon një urdhër tërë shërbyesve ku keni hyrë" + +#: src/common/outbound.c:3194 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<arsye>], ju tregon të larguar" + +#: src/common/outbound.c:3196 +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ë> [<tipndalimi>], i ndalon kanalin e çastit kujtdo që " +"përputhet me maskën. Nëse tashmë janë në kanal kjo nuk i përzë (lyp " +"kanop)" + +#: src/common/outbound.c:3198 +msgid "CLEAR, Clears the current text window" +msgstr "CLEAR, Pastron tekst në dritaren e çastit" + +#: src/common/outbound.c:3199 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, Mbyll dritaren/skedën e çastit" + +#: src/common/outbound.c:3202 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "" +"COUNTRY [-s] <code|wildcard>, gjen një kod vendi, p.sh.: sq = Shqipëri" + +#: src/common/outbound.c:3204 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" +"CTCP <nofkë> <mesazh>, i dërgon nofkës një mesazh CTCP, mesazhe të " +"rëndomtë janë VERSION dhe USERINFO" + +#: src/common/outbound.c:3206 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "CYCLE, del dhe menjëherë ribashkohet me kanalin e çastit" + +#: src/common/outbound.c:3208 +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 "" +"\n" +"DCC GET <nofkë> - prano një kartelë të ofruar\n" +"DCC SEND [-maxcps=#] <nofkë> [kartelë] - dërgo një kartelë te dikush\n" +"DCC PSEND [-maxcps=#] <nick> [file] - dërgo një kartelë duke përdorur " +"mënyrën pasive\n" +"DCC LIST - shfaq listë DCC\n" +"DCC CHAT <nofkë> - ofro FJALOSJE DCC për dikë\n" +"DCC PCHAT <nick> - ofro FJALOSJE DCC duke përdorur " +"mënyrën pasive\n" +"DCC CLOSE <tip> <nofkë> <kartelë> shembull:\n" +" /dcc close send hasanqerja kartelë.tar.gz" + +#: src/common/outbound.c:3220 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" +"DEOP <nofkë>, i heq nofkës gjendjen gjysëm-kanop për kanalin e çastit " +"(lyp kanop)" + +#: src/common/outbound.c:3222 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "" +"DELBUTON <emër>, fshin një buton prej që poshtë liste përdoruesish" + +#: src/common/outbound.c:3224 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEOP <nofkë>, i heq nofkës gjendjen kanop në kanalin e çastit (lyp kanop)" + +#: src/common/outbound.c:3226 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEVOICE <nofkë>, i heq nofkës gjendjen i zëshëm në kanalin e çasti " +"(lyp kanop)" + +#: src/common/outbound.c:3227 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Shkëputet prej shërbyesit" + +#: src/common/outbound.c:3228 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <nofkë|strehë|ip>, Gjen numër IP të një përdoruesi" + +#: src/common/outbound.c:3229 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, Shfaq tekst lokalisht" + +#: src/common/outbound.c:3232 +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] <urdhër>, përmbush urdhrin. Nëse përdoret flamurka -o " +"atëherë përfundimi dërgohet në kanalin e çastit, në të kundërt " +"jepet te kuti tekstesh të çastit" + +#: src/common/outbound.c:3234 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, dërgon procesin SIGCONT" + +#: src/common/outbound.c:3237 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" +"EXECKILL [-9], asgjëson një përmbushje që po kryhet në kanalin e " +"çastit. Nëse jepet -9 procesi është \"SIGKILL'ed\"" + +#: src/common/outbound.c:3239 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, i dërgon procesit SIGSTOP" + +#: src/common/outbound.c:3240 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, i dërgon të dhënat te proceset \"stdin\"" + +#: src/common/outbound.c:3244 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, asgjëson mesazhe të çastit që prisnin të dërgoheshin" + +#: src/common/outbound.c:3246 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" +"GATE <strehë> [<portë>], ndërmjetëson te një strehë përmes një " +"porte, me portë parazgjedhje 23" + +#: src/common/outbound.c:3249 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <nofkë> <fjalëkalim>, Asgjëson një emër nofke fantazmë" + +#: src/common/outbound.c:3254 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nofkë>, i jep nofkës gjendjen kangjys-op (lyp kanop)" + +#: src/common/outbound.c:3255 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <password>, ju identifikon karshi nickserv" + +#: src/common/outbound.c:3257 +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 <maskë> <tipe..> <mundësi..>\n" +" maskë - maskë strehe për t'u shpërfillur, p.sh.: *!*@*.aol.com\n" +" tipe - tipe të dhënash për t'u shpërfillur, një ose tërë prej:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" mundësi - NOSAVE, QUIET" + +#: src/common/outbound.c:3264 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" +"INVITE <nofkë> [<kanal>], fton dikë në një kanal, si parazgjedhje tek " +"kanali i çastit (lyp chanop)" + +#: src/common/outbound.c:3265 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanal>, bashkohesh me kanalin" + +#: src/common/outbound.c:3267 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <nofkë>, përzë nofkën prej kanalit të çastit (ly chanop)" + +#: src/common/outbound.c:3269 +msgid "" +"KICKBAN <nick>, bans then kicks the nick from the current channel (needs " +"chanop)" +msgstr "" +"KICKBAN <nofkë>, i ndalon hyrjen e mandej përzë nofkën prej kanalit të " +"çastit (lyp chanop)" + +#: src/common/outbound.c:3272 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, detyron një kontroll të ri vonese" + +#: src/common/outbound.c:3274 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <varg>, kërkon në shtytëz për një varg " + +#: src/common/outbound.c:3276 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [e] <kartelë>, ngarkon një shtojcë ose një programth" + +#: src/common/outbound.c:3279 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" +"MDEHOP, Heq gjendje operatori për tërë gjysmëoperatorët e kanalit në " +"kanalin e çastit (lyp kanop)" + +#: src/common/outbound.c:3281 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" +"MDEOP, Heq gjendje operatori për tërë kanop-ët në kanalin e çastit " +"(lyp kanop)" + +#: src/common/outbound.c:3283 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in " +"the 3rd person, like /me jumps)" +msgstr "" +"ME <veprim>, dërgon veprimin te kanali i çastit (veprimet shprehen në " +"vetën e tretë, si /unë hidhet)" + +#: src/common/outbound.c:3286 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" +"MKICK, Përzë në masë cilindon veç jush nga kanali i çastit (lyp chanop)" + +#: src/common/outbound.c:3289 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" +"MOP, Op-on në masë tërë përdoruesit në kanalin e çastit (lyp kanop)" + +#: src/common/outbound.c:3290 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <nofkë> <mesazh>, dërgon një mesazh vetiak" + +#: src/common/outbound.c:3293 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, Liston nofkat në kanalin e çastit" + +#: src/common/outbound.c:3295 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nofkë> <mesazh>, Dërgon një njoftim CTCP" + +#: src/common/outbound.c:3296 +#, fuzzy +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER <strehëemër> [<portë>]" + +#: src/common/outbound.c:3297 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nofkë>, cakton nofkën tuaj" + +#: src/common/outbound.c:3300 +msgid "" +"NOTICE <nick/channel> <message>, sends a notice. Notices are a type of " +"message that should be auto reacted to" +msgstr "" +"NOTICE <nofkë/kanal> <mesazh>, dërgon një njoftim. Njoftimet janë një " +"tip mesazhi ndaj të cilëve vetëreagohet" + +#: src/common/outbound.c:3302 +msgid "NOTIFY [<nick>], lists your notify list or adds someone to it" +msgstr "NOTIFY [<nofkë>], shfaq listën tuaj njofto ose shton dikë në të" + +#: src/common/outbound.c:3304 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nofkë>, ijep nofkës gjendje kanop (lyp kanop)" + +#: src/common/outbound.c:3306 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "" +"PART [<kanal>] [<arsye>], lë kanalin, si parazgjedhje atë të çastit" + +#: src/common/outbound.c:3308 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nofkë | kanal>, CTCP ping për nofkë ose kanal" + +#: src/common/outbound.c:3310 +msgid "QUERY <nick>, opens up a new privmsg window to someone" +msgstr "QUERY <nofkë>, i hap dikujt një dritare të re mszvet" + +#: src/common/outbound.c:3312 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<arsye>], shkëputet prej shërbyesit të çastit" + +#: src/common/outbound.c:3314 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <tekst>, dërgon te shërbyesi tekstin e patrajtuar" + +#: src/common/outbound.c:3317 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /" +"RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" +"RECONNECT [-ssl] [<strehë>] [<portë>] [<fjalëkalim>], Mund të jepet " +"thjesht si /RECONNECT për t'u rilidhur me shërbyesin e çastit ose si /" +"RECONNECT ALL për t'u rilidhur me tërë shërbyesat e hapur" + +#: src/common/outbound.c:3320 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" +"RECONNECT [<strehë>] [<portë>] [<fjalëkalim>], Mund të jepet thjesht si /" +"RECONNECT për t'u rilidhur me shërbyesin e çastit ose si /RECONNECT ALL " +"për t'u rilidhur me tërë shërbyesat e hapur" + +#: src/common/outbound.c:3322 +msgid "" +"RECV <text>, send raw data to xchat, as if it was received from the irc " +"server" +msgstr "" +"RECV <tekst>, i dërgon xchat-it të dhëna bruto, si të merreshin prej " +"shërbyesit irc" + +#: src/common/outbound.c:3325 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <tekst>, dërgon tekstin te objekti në dritaren e çastit" + +#: src/common/outbound.c:3326 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nofkë [<kartelë>]" + +#: src/common/outbound.c:3329 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" +"SERVCHAN [-ssl] <strehë> <portë> <kanal>, lidhet te dhe bashkohet me një " +"kanal" + +#: src/common/outbound.c:3332 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "" +"SERVCHAN <strehë> <portë> <kanal>, lidhet te dhe bashkohet me një kanal" + +#: src/common/outbound.c:3336 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" +"SERVER [-ssl] <strehë> [<portë>] [<fjalëkalim>], lidhet me një " +"shërbyes, porta parazgjedhje është 6667 për lidhje normale, dhe 9999 " +"për lidhje ssl" + +#: src/common/outbound.c:3339 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" +"SERVER <strehë> [<portë>] [<fjalëkalim>], lidhet me një shërbyes, porta " +"parazgjedhje është 6667" + +#: src/common/outbound.c:3341 +msgid "SET [-quiet] <variable> [<value>]" +msgstr "SET [-quiet] <ndryshore> [<vlerë>]" + +#: src/common/outbound.c:3342 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<pozicion>" + +#: src/common/outbound.c:3346 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "" +"TOPIC [<temë>], e cakton si temë nëse jepet një, përndryshe shfaq " +"temën e çastit" + +#: src/common/outbound.c:3348 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <maskë> [<maskë>...], heq ndalimin për maskat e treguara." + +#: src/common/outbound.c:3349 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <maskë> [URTË]" + +#: src/common/outbound.c:3350 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <emër>, çngarkon një shtojcë ose një programth" + +#: src/common/outbound.c:3351 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, hap një URL në shfletuesin tuaj" + +#: src/common/outbound.c:3353 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "" +"USELECT [-a] [-s] <nofka1> <nofka2> etj, thekson nofkën(at) në listën e " +"përdoruesve të kanalit" + +#: src/common/outbound.c:3356 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nofkë>, jep gjendje i zëshëm për dikë (lyp kanop)" + +#: src/common/outbound.c:3358 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <mesazh>, shkruan mesazhin te tërë kanalet" + +#: src/common/outbound.c:3360 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" +"WALLCHOP <mesazh>, dërgon mesazhin te tërë kanopët në kanalin e çastit" + +#: src/common/outbound.c:3393 +#, c-format +msgid "Usage: %s\n" +msgstr "Përdorim: %s\n" + +#: src/common/outbound.c:3398 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"S'ka ndihmë rreth këtij urdhri.\n" + +#: src/common/outbound.c:3404 +msgid "No such command.\n" +msgstr "S'ka të tillë urdhër.\n" + +#: src/common/outbound.c:3731 +msgid "Bad arguments for user command.\n" +msgstr "Argumente të gabuar për urdhër përdoruesi.\n" + +#: src/common/outbound.c:3887 +msgid "Too many recursive usercommands, aborting." +msgstr "Shumë urdhra përdoruesi ripërsëritës, po ndërpres." + +#: src/common/outbound.c:3964 +msgid "Unknown Command. Try /help\n" +msgstr "Urdhër i Panjohur. Provoni /help\n" + +#: src/common/plugin.c:371 src/common/plugin.c:412 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "" +"S'ka shenjë xchat_plugin_init; është kjo vërtet një shtojcë xchat-i?" + +#: src/common/server.c:610 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "" +"Jeni të sigurtë se ky është një shërbyes dhe portë me mundësi SSL?\n" + +#: src/common/server.c:962 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Nuk ftilloj dot emërstrehën %s\n" +"Kontrolloni Rregullimet tuaj IP!\n" + +#: src/common/server.c:967 +msgid "Proxy traversal failed.\n" +msgstr "\"Proxy traversal\" dështoi.\n" + +#: src/common/servlist.c:631 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Po cikloj te shërbyesi pasues në %s...\n" + +#: src/common/servlist.c:1052 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" +"Kujdes: Gërmat \"%s\" janë të panjohura. Nuk do të zbatohet ndonjë " +"shndërrim për rrjetin %s." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 u shtua te lista njofto." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Listë ndalimesh:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tNuk bashkohet dot me%C26 %B$1 %O(Ju është ndaluar)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 njihet si $2" + +#: src/common/textevents.h:21 +msgid "%C18*$t$1%O $2" +msgstr "%C18*$t$1%O $2" + +#: src/common/textevents.h:24 +msgid "%C21*%O$t%C21%B$1%O%C21 $2" +msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 vendos ndalim mbi $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tKanal $1 krijuar në $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O i heq%C26 $2 gjendjen gjysmë-operator kanali" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O i heq%C26 $2 gjendjen operator kanali" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O i heq%C26 $2 zërin" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 vendos përjashtim ndaj $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O i jep%C26 $2 gjendjen gjysmë-operator kanali" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 cakton ftesë në $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UKanal Përdoruesa Temë" + +#: src/common/textevents.h:54 +#, fuzzy +msgid "%C18%H<%H$4$1%H>%H%O$t$2" +msgstr "%C18%B%B$4$1%O%C18%O$t$2" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 cakton mënyrë $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Kanal $1 mënyra: $2" + +#: src/common/textevents.h:63 +#, fuzzy +msgid "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" +msgstr "$4%C21%B$1%O%C21$t$2" + +#: src/common/textevents.h:66 +msgid "%C28-%C29$1/$2%C28-%O$t$3" +msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O i jep%C26 $2 gjendjen operator kanali" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 heq përjashtim ndaj $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 heq ftesë nga $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 heq fjalëkyça kanali" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 heq kufi përdoruesi" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 cakton si fjalëkyç kanali $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 vendos kufi kanali në $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 heq ndalim për $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O i jep zë%C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22I lidhur. Tani po futem.." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Po lidhem me $1 ($2) porta $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Lidhja dështoi. Gabim: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tErdhi një CTCP $1 prej $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tErdhi një CTCP $1 prej $2 (te $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tErdhi një Tingull CTCP $1 prej $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tErdhi një Tingull CTCP $1 prej $2 (te $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tFJALOSJA DCC te %C26$1%O dështoi." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tLidhje FJALOSJEJE DCC me %C26$1 %C30[%O$2%C30] e vendosur" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tFjalosje DCC me %C26$1%O e humbur ($4)." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tErdhi një ofertë FJALOSJEJE DCC prej $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tPo ofroj FJALOSJE DCC për $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tKeni ofruar një herë FJALOSJE për $1" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 dështoi përpjekja për lidhje me%C26 $2%O (err=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tMora '$1%O' prej $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "" +"%C24,18 Tip Prej/Për Gjendje Madhësi Pos Kartelë " + +#: src/common/textevents.h:147 +msgid "" +"%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O" +"$tContents of packet: $2" +msgstr "" +"%C22*%O$tErdhi prej %C26$1%O një kërkesë DCC e keqformuar.%010%C22*%O" +"$tPërmbajtje pakete: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tPo ofroj%C26 $1%O te%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tNuk ka një ofertë DCC të tillë." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV%C26 $2%O për%C26 $1%O dështoi." + +#: src/common/textevents.h:159 +msgid "" +"%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "" +"%C22*%O$tDCC RECV%C26 $1%O prej%C26 $3%O e plotësuar %C30[%C26$4%O cps%C30]%" +"O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tLidhje DCC RECV me%C26 $1 %C30[%O$2%C30] e vendosur" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O prej%C26 $3%O dështoi ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: Nuk hap dot $1 për shkrim ($2)." + +#: src/common/textevents.h:171 +msgid "" +"%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "" +"%C22*%O$tKa tashmë një kartelë%C26 $1%C, ndaj po e ruaj te%C26 $2%O " +"ndryshe." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Oka kërkuar të rimarrë%C26 $2 %Cprej%C26 $3%C." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND%C26 $2%O te%C26 $1%O u ndërpre." + +#: src/common/textevents.h:180 +msgid "" +"%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "" +"%C22*%O$tDCC SEND%C26 $1%O te%C26 $2%O i plotësuar %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tLidhje DCC SEND me%C26 $1 %C30[%O$2%C30]e vendosur" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O te%C26 $2%O dështoi. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Oka ofruar%C26 $2 %O(%C26$3 %Obytes)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Ote%C26 $3 %Cu bajatos - po e ndërpres." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC-s $1%C26 $2 %Ote%C26 $3 %Oi mbaroi koha - po e ndërpres." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 u hoq prej liste njoftimesh." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tI shkëputur ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tU gjet IP-ja juaj: [$1]" + +#: src/common/textevents.h:207 +msgid "$1$t$2" +msgstr "$1$t$2" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O ju shtua listës së shpërfilljeve." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "U ndryshua shpërfill mbi %C26$1%O." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "" +"%C24,18 Strehëmaskë PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O hequr prej liste shpërfill." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr "Lista shpërfill është e zbrazët." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "" +"%C22*%O$tnuk mund t'i bashkangjitet%C26 %B$1 %O(Kanali është vetëm me " +"ftesa)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tJeni ftuar te%C26 $1%O prej%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) i është bashkuar $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tNuk mund të bashkohet me%C26 %B$1 %O(Lipset fjalëkyç)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 ka përzënë $2 prej $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tJeni asgjësuar prej $1 ($2%O%C22)" + +#: src/common/textevents.h:246 src/common/textevents.h:270 +msgid "%C19>%O$1%C19<%O$t$2" +msgstr "%C19>%O$1%C19<%O$t$2" + +#: src/common/textevents.h:249 +msgid "%C16*%O$t$1%O" +msgstr "%C16*%O$t$1%O" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD Anashkaluar." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 tashmë i përdorur. Po provoj me $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "" +"%C22*%O$tNofkë tashmë në përdorim. Përdorni /NICK për të provuar një " +"tjetër." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tNuk ka DCC të tillë." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tPër çastin nuk ka proces në xhirim" + +#: src/common/textevents.h:267 +msgid "%C28-%C29$1%C28-%O$t$2" +msgstr "%C28-%C29$1%C28-%O$t$2" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tLista njofto është e zbrazët." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Listë Njoftimesh " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 përdoruesë në listë njoftimesh." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($2)." +msgstr "%C22*%O$tNjofto: $1 është i palidhur ($2)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($2)." +msgstr "%C22*%O$tNjofto: $1 është i lidhur ($2)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) ka ikur $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) ka ikur $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tPërgjigje ping prej $1 : $2 sekonda" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tPa përgjigje ping për $1 sekonda, po shkëputem." + +#: src/common/textevents.h:303 +msgid "%C28*%C29$3$1%C28*$t%O$2" +msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#: src/common/textevents.h:306 +#, fuzzy +msgid "%C18%H<%H$3$1%H>%H%O$t$2" +msgstr "%C18%B%B$3$1%O$t$2" + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tKa një proces në xhirim e sipër" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 ka lënë (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 cakton mënyra%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tPo kërkoj numra IP për%C26 $1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22I lidhur." + +#: src/common/textevents.h:327 src/common/textevents.h:333 +#: src/common/textevents.h:336 +msgid "%C22*%O$t$1" +msgstr "%C22*%O$t$1" + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Po kërkoj $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tU ndalua përpjekja e mëparshme për lidhje (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Temë për $1%C %C29is: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 ka ndryshuar temën në: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Temë për $1%C %C29e caktuar prej $2%C %C29më $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tStrehë e panjohur. Mundet e shkruajtët keq?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "" +"%C22*%O$tNuk mund të bashkoheni me%C26 %B$1 %O(Është arritur kufi " +"përdoruesish)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Përdoruesa në $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cka dalë %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OFund i listës WHOIS." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O pa ngarkesë%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O p ngarkesë%C26 $2%O, signon:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "" +"%C22*%O$t%C28[%O$1%C28] %Opërdorues real@host%C27 $2%O, IP reale%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Tani po flisni tek $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tJeni përzënë prej $2 nga $3 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tKeni lënë kanalin $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tKeni lënë kanalin $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:405 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tKeni ftuar%C26 $1%O te%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:408 +#, fuzzy +msgid "%C31%H<%H$4$1%H>%H%O%C30$t$2" +msgstr "%C31%B%B$4$1%O%C30$t$2" + +#: src/common/textevents.h:411 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tTani njiheni si $2" + +#: src/common/text.c:61 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** PO PËRFUNDOJ REGJISTRIM NË %s\n" + +#: src/common/text.c:263 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** PO FILLOJ REGJISTRIM NË %s\n" + +#: src/common/text.c:282 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* S'hap dot kartelë(a) për të shkruajtur. Kontrolloni\n" +" lejet tek %s/xchatlogs" + +#: src/common/text.c:516 +msgid "Left message" +msgstr "Mesazh majtas" + +#: src/common/text.c:517 +msgid "Right message" +msgstr "Mesazh djathtas" + +#: src/common/text.c:521 +msgid "The nick of the joining person" +msgstr "Nofka e personit që po hyn" + +#: src/common/text.c:522 +msgid "The channel being joined" +msgstr "Kanali ku po hyhet" + +#: src/common/text.c:523 src/common/text.c:569 src/common/text.c:626 +msgid "The host of the person" +msgstr "Streha e personit" + +#: src/common/text.c:527 src/common/text.c:533 src/common/text.c:540 +#: src/common/text.c:607 src/common/text.c:733 src/common/text.c:740 +#: src/common/text.c:745 src/common/text.c:750 src/common/text.c:755 +#: src/common/text.c:761 src/common/text.c:766 src/common/text.c:770 +#: src/common/text.c:776 src/common/text.c:782 src/common/text.c:828 +#: src/common/text.c:838 src/common/text.c:843 src/common/text.c:848 +#: src/common/text.c:857 src/common/text.c:868 src/common/text.c:875 +#: src/common/text.c:881 src/common/text.c:886 src/common/text.c:891 +#: src/common/text.c:898 src/common/text.c:904 src/common/text.c:910 +#: src/common/text.c:915 src/common/text.c:920 src/common/text.c:924 +#: src/common/text.c:930 src/common/text.c:938 src/common/text.c:972 +#: src/common/text.c:977 +msgid "Nickname" +msgstr "Nofkë" + +#: src/common/text.c:528 +msgid "The action" +msgstr "Veprimi" + +#: src/common/text.c:529 src/common/text.c:535 +msgid "Mode char" +msgstr "Gërma mënyre" + +#: src/common/text.c:534 +msgid "The text" +msgstr "Teksti" + +#: src/common/text.c:536 src/common/text.c:609 +msgid "Identified text" +msgstr "Tekst i identifikuar" + +#: src/common/text.c:541 src/common/text.c:597 src/common/text.c:603 +#: src/common/text.c:608 +msgid "The message" +msgstr "Mesazhi" + +#: src/common/text.c:545 src/common/text.c:613 +msgid "Old nickname" +msgstr "Nofkë e vjetër" + +#: src/common/text.c:546 src/common/text.c:614 +msgid "New nickname" +msgstr "Nofkë e re" + +#: src/common/text.c:550 +msgid "Nick of person who changed the topic" +msgstr "Nofkë e personit që ndryshoi temë" + +#: src/common/text.c:551 src/common/text.c:557 src/fe-gtk/chanlist.c:785 +#: src/fe-gtk/chanlist.c:811 +msgid "Topic" +msgstr "Temë" + +#: src/common/text.c:552 src/common/text.c:556 src/common/text.c:992 +#: src/fe-gtk/chanlist.c:776 src/fe-gtk/chanlist.c:809 +#: src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Kanal" + +#: src/common/text.c:561 src/common/text.c:620 +msgid "The nickname of the kicker" +msgstr "Nofka e përzënësit" + +#: src/common/text.c:562 src/common/text.c:618 +msgid "The person being kicked" +msgstr "Personi që po përzihet" + +#: src/common/text.c:563 src/common/text.c:570 src/common/text.c:574 +#: src/common/text.c:579 src/common/text.c:619 src/common/text.c:627 +#: src/common/text.c:634 +msgid "The channel" +msgstr "Kanali" + +#: src/common/text.c:564 src/common/text.c:621 src/common/text.c:628 +msgid "The reason" +msgstr "Arsyeja" + +#: src/common/text.c:568 src/common/text.c:625 +msgid "The nick of the person leaving" +msgstr "Nofka e personit që po ikën" + +#: src/common/text.c:575 src/common/text.c:581 +msgid "The time" +msgstr "Koha" + +#: src/common/text.c:580 +msgid "The creator" +msgstr "Krijuesi" + +#: src/common/text.c:585 src/fe-gtk/dccgui.c:762 src/fe-gtk/dccgui.c:993 +msgid "Nick" +msgstr "Nofkë" + +#: src/common/text.c:586 src/common/text.c:844 +msgid "Reason" +msgstr "Arsye" + +#: src/common/text.c:587 src/common/text.c:735 src/common/text.c:818 +msgid "Host" +msgstr "Strehë" + +#: src/common/text.c:591 src/common/text.c:596 src/common/text.c:601 +msgid "Who it's from" +msgstr "Kush është prej" + +#: src/common/text.c:592 +msgid "The time in x.x format (see below)" +msgstr "Koha në format x.x (shih më poshtë)" + +#: src/common/text.c:602 src/common/text.c:645 +msgid "The Channel it's going to" +msgstr "Kanali ku po shkohet" + +#: src/common/text.c:632 +msgid "The sound" +msgstr "Tingulli" + +#: src/common/text.c:633 src/common/text.c:639 src/common/text.c:644 +msgid "The nick of the person" +msgstr "Nofka e personit" + +#: src/common/text.c:638 src/common/text.c:643 +msgid "The CTCP event" +msgstr "Ngjarja CTCP" + +#: src/common/text.c:649 +msgid "The nick of the person who set the key" +msgstr "Nofka e personit që caktoi kyçin" + +#: src/common/text.c:650 +msgid "The key" +msgstr "Kyçi" + +#: src/common/text.c:654 +msgid "The nick of the person who set the limit" +msgstr "Nofka e personit që caktoi kufirin" + +#: src/common/text.c:655 +msgid "The limit" +msgstr "Kufiri" + +#: src/common/text.c:659 +msgid "The nick of the person who did the op'ing" +msgstr "Nofka e personit që bëri op-im" + +#: src/common/text.c:660 +msgid "The nick of the person who has been op'ed" +msgstr "Nofka e personit që u op-ua" + +#: src/common/text.c:664 +msgid "The nick of the person who has been halfop'ed" +msgstr "Nofka e personit që është gjysmëop-uar" + +#: src/common/text.c:665 +msgid "The nick of the person who did the halfop'ing" +msgstr "Nofka e personit që bëri gjysmëop-im" + +#: src/common/text.c:669 +msgid "The nick of the person who did the voice'ing" +msgstr "Nofka e personit që dha zë" + +#: src/common/text.c:670 +msgid "The nick of the person who has been voice'ed" +msgstr "Nofka e personit që u bë i zëshëm" + +#: src/common/text.c:674 +msgid "The nick of the person who did the banning" +msgstr "Nofka e personit që bëri ndalimin" + +#: src/common/text.c:675 src/common/text.c:702 +msgid "The ban mask" +msgstr "Maska e ndalimit" + +#: src/common/text.c:679 +msgid "The nick who removed the key" +msgstr "Nofka që hoqi kyçin" + +#: src/common/text.c:683 +msgid "The nick who removed the limit" +msgstr "Nofka që hoqi kufirin" + +#: src/common/text.c:687 +msgid "The nick of the person of did the deop'ing" +msgstr "Nofka e personit që bëri deopimin" + +#: src/common/text.c:688 +msgid "The nick of the person who has been deop'ed" +msgstr "Nofka e personit që u deopua" + +#: src/common/text.c:691 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Nofka e personit që bëri gjysmëdeopimin" + +#: src/common/text.c:692 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Nofka e personit që u gjysmëdeopua" + +#: src/common/text.c:696 +msgid "The nick of the person of did the devoice'ing" +msgstr "Nofka e personit që bëri çzanimin" + +#: src/common/text.c:697 +msgid "The nick of the person who has been devoice'ed" +msgstr "Nofka e personit që u çzanua" + +#: src/common/text.c:701 +msgid "The nick of the person of did the unban'ing" +msgstr "Nofka e personit që hoqi ndalimin" + +#: src/common/text.c:706 +msgid "The nick of the person who did the exempt" +msgstr "Nofka e personit që bëri përjashtimin" + +#: src/common/text.c:707 src/common/text.c:712 +msgid "The exempt mask" +msgstr "Maska e përjashtimit" + +#: src/common/text.c:711 +msgid "The nick of the person removed the exempt" +msgstr "Nofka e personit që hoqi përjashtimin" + +#: src/common/text.c:716 +msgid "The nick of the person who did the invite" +msgstr "Nofka e personit që bëri ftesën" + +#: src/common/text.c:717 src/common/text.c:722 +msgid "The invite mask" +msgstr "Maska e ftesës" + +#: src/common/text.c:721 +msgid "The nick of the person removed the invite" +msgstr "Nofka e personit që hoqi ftesën" + +#: src/common/text.c:726 +msgid "The nick of the person setting the mode" +msgstr "Nofka e personit që po cakton mënyrën" + +#: src/common/text.c:727 +msgid "The mode's sign (+/-)" +msgstr "Shenja mënyre (+/-)" + +#: src/common/text.c:728 +msgid "The mode letter" +msgstr "Gërma e mënyrës" + +#: src/common/text.c:729 +msgid "The channel it's being set on" +msgstr "Kanali është duke u bërë gati" + +#: src/common/text.c:734 +msgid "Username" +msgstr "Emër përdoruesi" + +#: src/common/text.c:736 +msgid "Full name" +msgstr "Emër i plotë" + +#: src/common/text.c:741 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Anëtarësi Kanali/\"është një operator IRC\"" + +#: src/common/text.c:746 +msgid "Server Information" +msgstr "Të dhëna Shërbyesi" + +#: src/common/text.c:751 src/common/text.c:756 +msgid "Idle time" +msgstr "Kohë bosh" + +#: src/common/text.c:757 +msgid "Signon time" +msgstr "Kohë nënshkrimi" + +#: src/common/text.c:762 +msgid "Away reason" +msgstr "Arsye largimi" + +#: src/common/text.c:771 src/common/text.c:777 src/common/text.c:785 +#: src/common/text.c:964 +msgid "Message" +msgstr "Mesazh" + +#: src/common/text.c:778 +msgid "Account" +msgstr "Llogari" + +#: src/common/text.c:783 +msgid "Real user@host" +msgstr "përdorues@strehë e vërtetë" + +#: src/common/text.c:784 +msgid "Real IP" +msgstr "IP reale" + +#: src/common/text.c:789 src/common/text.c:798 src/common/text.c:804 +#: src/common/text.c:833 src/common/text.c:987 +msgid "Channel Name" +msgstr "Emër Kanali" + +#: src/common/text.c:793 src/common/text.c:950 src/fe-gtk/menu.c:1244 +#: src/fe-gtk/menu.c:1476 src/fe-gtk/textgui.c:387 +msgid "Text" +msgstr "Tekst" + +#: src/common/text.c:794 src/common/text.c:800 src/common/text.c:829 +#: src/common/text.c:946 src/common/text.c:988 +msgid "Server Name" +msgstr "Emër Shërbyesi" + +#: src/common/text.c:799 +msgid "Nick of person who invited you" +msgstr "Nofkë e personit që ju ftoi" + +#: src/common/text.c:805 src/fe-gtk/chanlist.c:810 +msgid "Users" +msgstr "Përdoruesa" + +#: src/common/text.c:809 +msgid "Nickname in use" +msgstr "Nofkë në përdorim" + +#: src/common/text.c:810 +msgid "Nick being tried" +msgstr "Nofkë që po provohet" + +#: src/common/text.c:814 src/common/text.c:851 src/common/text.c:862 +#: src/common/text.c:869 src/common/text.c:882 src/common/text.c:899 +#: src/common/text.c:999 src/common/util.c:352 +msgid "Error" +msgstr "Gabim" + +#: src/common/text.c:819 src/common/text.c:954 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:820 src/common/text.c:850 +msgid "Port" +msgstr "Portë" + +#: src/common/text.c:824 +msgid "PID" +msgstr "PID" + +#: src/common/text.c:834 src/common/text.c:839 +msgid "Modes string" +msgstr "Varg mënyrash" + +#: src/common/text.c:849 src/common/text.c:887 src/common/text.c:892 +#: src/common/text.c:933 +msgid "IP address" +msgstr "Vendndodhje IP" + +#: src/common/text.c:855 src/common/text.c:880 +msgid "DCC Type" +msgstr "Tip DCC-je" + +#: src/common/text.c:856 src/common/text.c:861 src/common/text.c:866 +#: src/common/text.c:873 src/common/text.c:893 src/common/text.c:897 +#: src/common/text.c:903 src/common/text.c:909 src/common/text.c:916 +#: src/common/text.c:925 src/common/text.c:931 +msgid "Filename" +msgstr "Emër kartele" + +#: src/common/text.c:867 src/common/text.c:874 +msgid "Destination filename" +msgstr "Emër kartele vendmbrritjeje" + +#: src/common/text.c:876 src/common/text.c:905 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:911 +msgid "Pathname" +msgstr "Emër shtegu" + +#: src/common/text.c:926 src/fe-gtk/dccgui.c:758 +msgid "Position" +msgstr "Vendndodhje" + +#: src/common/text.c:932 src/fe-gtk/dccgui.c:757 +msgid "Size" +msgstr "Madhësi" + +#: src/common/text.c:937 +msgid "DCC String" +msgstr "Varg DCC" + +#: src/common/text.c:942 +msgid "Number of notify items" +msgstr "Numër objektesh njofto" + +#: src/common/text.c:958 +msgid "Old Filename" +msgstr "Emër i Vjetër kartele" + +#: src/common/text.c:959 +msgid "New Filename" +msgstr "Emër i Ri kartele" + +#: src/common/text.c:963 +msgid "Receiver" +msgstr "Marrës" + +#: src/common/text.c:968 +msgid "Hostmask" +msgstr "Strehëmaskë" + +#: src/common/text.c:973 +msgid "Hostname" +msgstr "Emërstrehë" + +#: src/common/text.c:978 +msgid "The Packet" +msgstr "Paketa" + +#: src/common/text.c:982 +msgid "Seconds" +msgstr "Sekonda" + +#: src/common/text.c:986 +msgid "Nick of person who have been invited" +msgstr "Nofkë e personit që është ftuar" + +#: src/common/text.c:993 +msgid "Banmask" +msgstr "Maskë ndalimesh" + +#: src/common/text.c:994 +msgid "Who set the ban" +msgstr "Kush vendosi ndalimin" + +#: src/common/text.c:995 +msgid "Ban time" +msgstr "Kohë ndalimi" + +#: src/common/text.c:1035 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Gabim në trajtimin e ngjarjes %s.\n" +"Po ngarkoj parazgjedhje." + +#: src/common/text.c:1712 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"S'lexoj dot kartelë tingulli:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "Streha e largët mbylli \"socket\"-in" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Ndërlidhje e papranuar" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "S'ka udhë për te strehë" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Mbaroi koha e ndërlidhjes" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Nuk mund të caktoj atë vendndodhje" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Lidhje e rivendosur nga tjetri" + +#: src/common/util.c:837 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:838 +msgid "United Arab Emirates" +msgstr "Emiratet e Bashkuar Arabë" + +#: src/common/util.c:839 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:840 +msgid "Antigua and Barbuda" +msgstr "Antigua dhe Barbuda" + +#: src/common/util.c:841 +msgid "Anguilla" +msgstr "Anguila" + +#: src/common/util.c:842 +msgid "Albania" +msgstr "Shqipëri" + +#: src/common/util.c:843 +msgid "Armenia" +msgstr "Armeni" + +#: src/common/util.c:844 +msgid "Netherlands Antilles" +msgstr "Antilet Holandeze" + +#: src/common/util.c:845 +msgid "Angola" +msgstr "Angolë" + +#: src/common/util.c:846 +msgid "Antarctica" +msgstr "Antarktidë" + +#: src/common/util.c:847 +msgid "Argentina" +msgstr "Argjentinë" + +#: src/common/util.c:848 +msgid "Reverse DNS" +msgstr "Përmbys DNS" + +#: src/common/util.c:849 +msgid "American Samoa" +msgstr "Samoa Amerikane" + +#: src/common/util.c:850 +msgid "Austria" +msgstr "Austri" + +#: src/common/util.c:851 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:852 +msgid "Australia" +msgstr "Australi" + +#: src/common/util.c:853 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:854 +msgid "Azerbaijan" +msgstr "Azerbaixhan" + +#: src/common/util.c:855 +msgid "Bosnia and Herzegovina" +msgstr "Bosnjë-Hercegovinë" + +#: src/common/util.c:856 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:857 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:858 +msgid "Belgium" +msgstr "Belgjikë" + +#: src/common/util.c:859 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:860 +msgid "Bulgaria" +msgstr "Bullgari" + +#: src/common/util.c:861 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:862 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:863 +msgid "Businesses" +msgstr "Biznese" + +#: src/common/util.c:864 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:865 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:866 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:867 +msgid "Bolivia" +msgstr "Bolivi" + +#: src/common/util.c:868 +msgid "Brazil" +msgstr "Brazil" + +#: src/common/util.c:869 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:870 +msgid "Bhutan" +msgstr "Butan" + +#: src/common/util.c:871 +msgid "Bouvet Island" +msgstr "Ishulli Bouvet " + +#: src/common/util.c:872 +msgid "Botswana" +msgstr "Botsvana" + +#: src/common/util.c:873 +msgid "Belarus" +msgstr "Bjelorusi" + +#: src/common/util.c:874 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:875 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:876 +msgid "Cocos Islands" +msgstr "Ishujt Kokos" + +#: src/common/util.c:877 +msgid "Democratic Republic of Congo" +msgstr "Republika Demokratike e Kongos" + +#: src/common/util.c:878 +msgid "Central African Republic" +msgstr "Republika e Afrikës Qendrore" + +#: src/common/util.c:879 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:880 +msgid "Switzerland" +msgstr "Zvicër" + +#: src/common/util.c:881 +msgid "Cote d'Ivoire" +msgstr "Bregu i Fildishtë" + +#: src/common/util.c:882 +msgid "Cook Islands" +msgstr "Ishujt Kuk" + +#: src/common/util.c:883 +msgid "Chile" +msgstr "Kili" + +#: src/common/util.c:884 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:885 +msgid "China" +msgstr "Kinë" + +#: src/common/util.c:886 +msgid "Colombia" +msgstr "Kolumbi" + +#: src/common/util.c:887 +msgid "Internic Commercial" +msgstr "Tregtar Internic" + +#: src/common/util.c:888 +msgid "Costa Rica" +msgstr "Kosta Rika" + +#: src/common/util.c:889 +msgid "Serbia and Montenegro" +msgstr "Serbi dhe Mal i Zi" + +#: src/common/util.c:890 +msgid "Cuba" +msgstr "Kubë" + +#: src/common/util.c:891 +msgid "Cape Verde" +msgstr "Kepi i Gjelbër" + +#: src/common/util.c:892 +msgid "Christmas Island" +msgstr "Ishulli i Krishtlindjeve" + +#: src/common/util.c:893 +msgid "Cyprus" +msgstr "Qipro" + +#: src/common/util.c:894 +msgid "Czech Republic" +msgstr "Republika Çeke" + +#: src/common/util.c:895 +msgid "Germany" +msgstr "Gjermani" + +#: src/common/util.c:896 +msgid "Djibouti" +msgstr "Xhibut" + +#: src/common/util.c:897 +msgid "Denmark" +msgstr "Danimarkë" + +#: src/common/util.c:898 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:899 +msgid "Dominican Republic" +msgstr "Republika Dominikane" + +#: src/common/util.c:900 +msgid "Algeria" +msgstr "Algjeri" + +#: src/common/util.c:901 +msgid "Ecuador" +msgstr "Ekuador" + +#: src/common/util.c:902 +msgid "Educational Institution" +msgstr "Institucione Edukimi" + +#: src/common/util.c:903 +msgid "Estonia" +msgstr "Estoni" + +#: src/common/util.c:904 +msgid "Egypt" +msgstr "Egjypt" + +#: src/common/util.c:905 +msgid "Western Sahara" +msgstr "Sahara Perëndimore" + +#: src/common/util.c:906 +msgid "Eritrea" +msgstr "Eritre" + +#: src/common/util.c:907 +msgid "Spain" +msgstr "Spanjë" + +#: src/common/util.c:908 +msgid "Ethiopia" +msgstr "Etiopi" + +#: src/common/util.c:909 +msgid "Finland" +msgstr "Finlandë" + +#: src/common/util.c:910 +msgid "Fiji" +msgstr "Fixhi" + +#: src/common/util.c:911 +msgid "Falkland Islands" +msgstr "Ishujt Falkland" + +#: src/common/util.c:912 +msgid "Micronesia" +msgstr "Mikronezi" + +#: src/common/util.c:913 +msgid "Faroe Islands" +msgstr "Ishujt Faroe" + +#: src/common/util.c:914 +msgid "France" +msgstr "Francë" + +#: src/common/util.c:915 +msgid "France, Metropolitan" +msgstr "Francë, Metropolitan" + +#: src/common/util.c:916 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:917 +msgid "Great Britain" +msgstr "Britani e Madhe" + +#: src/common/util.c:918 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:919 +msgid "Georgia" +msgstr "Georgji" + +#: src/common/util.c:920 +msgid "French Guiana" +msgstr "Guajana Franceze" + +#: src/common/util.c:921 +msgid "British Channel Isles" +msgstr "Ishujt e Kanalit Britanik" + +#: src/common/util.c:922 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:923 +msgid "Gibraltar" +msgstr "Gjibraltar" + +#: src/common/util.c:924 +msgid "Greenland" +msgstr "Groenlandë" + +#: src/common/util.c:925 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:926 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:927 +msgid "Government" +msgstr "Qeveri" + +#: src/common/util.c:928 +msgid "Guadeloupe" +msgstr "Guadalup" + +#: src/common/util.c:929 +msgid "Equatorial Guinea" +msgstr "Guinea Ekuatoriale" + +#: src/common/util.c:930 +msgid "Greece" +msgstr "Greqi" + +#: src/common/util.c:931 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Georgji" + +#: src/common/util.c:932 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:933 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:934 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:935 +msgid "Guyana" +msgstr "Guajana" + +#: src/common/util.c:936 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:937 +msgid "Heard and McDonald Islands" +msgstr "Ishujt Heard dhe McDonald" + +#: src/common/util.c:938 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:939 +msgid "Croatia" +msgstr "Kroaci" + +#: src/common/util.c:940 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:941 +msgid "Hungary" +msgstr "Hungari" + +#: src/common/util.c:942 +msgid "Indonesia" +msgstr "Indonezi" + +#: src/common/util.c:943 +msgid "Ireland" +msgstr "Irlandë" + +#: src/common/util.c:944 +msgid "Israel" +msgstr "Izrael" + +#: src/common/util.c:945 +msgid "India" +msgstr "Indi" + +#: src/common/util.c:946 +msgid "Informational" +msgstr "Informativ" + +#: src/common/util.c:947 +msgid "International" +msgstr "Ndërkombëtar" + +#: src/common/util.c:948 +msgid "British Indian Ocean Territory" +msgstr "Territoret Britanike të Oqeanit Indian" + +#: src/common/util.c:949 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:950 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:951 +msgid "Iceland" +msgstr "Islandë" + +#: src/common/util.c:952 +msgid "Italy" +msgstr "Itali" + +#: src/common/util.c:953 +msgid "Jamaica" +msgstr "Xhamaika" + +#: src/common/util.c:954 +msgid "Jordan" +msgstr "Jordani" + +#: src/common/util.c:955 +msgid "Japan" +msgstr "Japoni" + +#: src/common/util.c:956 +msgid "Kenya" +msgstr "Kenia" + +#: src/common/util.c:957 +msgid "Kyrgyzstan" +msgstr "Kirgizstan" + +#: src/common/util.c:958 +msgid "Cambodia" +msgstr "Kamboxhia" + +#: src/common/util.c:959 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:960 +msgid "Comoros" +msgstr "Komore" + +#: src/common/util.c:961 +msgid "St. Kitts and Nevis" +msgstr "Shën Kits dhe Nevis" + +#: src/common/util.c:962 +msgid "North Korea" +msgstr "Kore e Veriut" + +#: src/common/util.c:963 +msgid "South Korea" +msgstr "Kore e Jugut" + +#: src/common/util.c:964 +msgid "Kuwait" +msgstr "Kuvait" + +#: src/common/util.c:965 +msgid "Cayman Islands" +msgstr "Ishujt Kajman" + +#: src/common/util.c:966 +msgid "Kazakhstan" +msgstr "Kazakistan" + +#: src/common/util.c:967 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:968 +msgid "Lebanon" +msgstr "Liban" + +#: src/common/util.c:969 +msgid "Saint Lucia" +msgstr "Santa Luçia" + +#: src/common/util.c:970 +msgid "Liechtenstein" +msgstr "Lihtenshtein" + +#: src/common/util.c:971 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:972 +msgid "Liberia" +msgstr "Liberi" + +#: src/common/util.c:973 +msgid "Lesotho" +msgstr "Lesoto" + +#: src/common/util.c:974 +msgid "Lithuania" +msgstr "Lituani" + +#: src/common/util.c:975 +msgid "Luxembourg" +msgstr "Luksemburg" + +#: src/common/util.c:976 +msgid "Latvia" +msgstr "Latvi" + +#: src/common/util.c:977 +msgid "Libya" +msgstr "Libi" + +#: src/common/util.c:978 +msgid "Morocco" +msgstr "Marok" + +#: src/common/util.c:979 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:980 +msgid "Moldova" +msgstr "Moldavi" + +#: src/common/util.c:981 +msgid "United States Medical" +msgstr "Mjeksor i Shteteve të Bashkuara" + +#: src/common/util.c:982 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:983 +msgid "Marshall Islands" +msgstr "Ishujt Marshall" + +#: src/common/util.c:984 +msgid "Military" +msgstr "Ushtarake" + +#: src/common/util.c:985 +msgid "Macedonia" +msgstr "Maqedonia" + +#: src/common/util.c:986 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:987 +msgid "Myanmar" +msgstr "Mianmar" + +#: src/common/util.c:988 +msgid "Mongolia" +msgstr "Mongoli" + +#: src/common/util.c:989 +msgid "Macau" +msgstr "Makau" + +#: src/common/util.c:990 +msgid "Northern Mariana Islands" +msgstr "Ishujt Veriorë Mariana" + +#: src/common/util.c:991 +msgid "Martinique" +msgstr "Martinikë" + +#: src/common/util.c:992 +msgid "Mauritania" +msgstr "Mauritani" + +#: src/common/util.c:993 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:994 +msgid "Malta" +msgstr "Maltë" + +#: src/common/util.c:995 +msgid "Mauritius" +msgstr "Mauricius" + +#: src/common/util.c:996 +msgid "Maldives" +msgstr "Maldive" + +#: src/common/util.c:997 +msgid "Malawi" +msgstr "Malaui" + +#: src/common/util.c:998 +msgid "Mexico" +msgstr "Meksikë" + +#: src/common/util.c:999 +msgid "Malaysia" +msgstr "Malajzi" + +#: src/common/util.c:1000 +msgid "Mozambique" +msgstr "Mozambik" + +#: src/common/util.c:1001 +msgid "Namibia" +msgstr "Namibi" + +#: src/common/util.c:1002 +msgid "New Caledonia" +msgstr "Kaledonia e Re" + +#: src/common/util.c:1003 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:1004 +msgid "Internic Network" +msgstr "Rrjet Internic" + +#: src/common/util.c:1005 +msgid "Norfolk Island" +msgstr "Ishujt Norfolk" + +#: src/common/util.c:1006 +msgid "Nigeria" +msgstr "Nigeri" + +#: src/common/util.c:1007 +msgid "Nicaragua" +msgstr "Nikaragua" + +#: src/common/util.c:1008 +msgid "Netherlands" +msgstr "Holandë" + +#: src/common/util.c:1009 +msgid "Norway" +msgstr "Norvegji" + +#: src/common/util.c:1010 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:1011 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:1012 +msgid "Neutral Zone" +msgstr "Zonë Neutrale" + +#: src/common/util.c:1013 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:1014 +msgid "New Zealand" +msgstr "Zelandë e Re" + +#: src/common/util.c:1015 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:1016 +msgid "Internic Non-Profit Organization" +msgstr "Organizëm Jofitimprurës Internic" + +#: src/common/util.c:1017 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:1018 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:1019 +msgid "French Polynesia" +msgstr "Polinezia Franceze" + +#: src/common/util.c:1020 +msgid "Papua New Guinea" +msgstr "Papua Guinea e Re" + +#: src/common/util.c:1021 +msgid "Philippines" +msgstr "Filipine" + +#: src/common/util.c:1022 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:1023 +msgid "Poland" +msgstr "Poloni" + +#: src/common/util.c:1024 +msgid "St. Pierre and Miquelon" +msgstr "Shën. Pier dhe Mikëlon" + +#: src/common/util.c:1025 +msgid "Pitcairn" +msgstr "Pitkern" + +#: src/common/util.c:1026 +msgid "Puerto Rico" +msgstr "Porto Riko" + +#: src/common/util.c:1027 +msgid "Palestinian Territory" +msgstr "Territor Palestinez" + +#: src/common/util.c:1028 +msgid "Portugal" +msgstr "Portugali" + +#: src/common/util.c:1029 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:1030 +msgid "Paraguay" +msgstr "Paraguaj" + +#: src/common/util.c:1031 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:1032 +msgid "Reunion" +msgstr "Ribashkim" + +#: src/common/util.c:1033 +msgid "Romania" +msgstr "Rumani" + +#: src/common/util.c:1034 +msgid "Old School ARPAnet" +msgstr "Old School ARPAnet" + +#: src/common/util.c:1035 +msgid "Russian Federation" +msgstr "Federata Ruse" + +#: src/common/util.c:1036 +msgid "Rwanda" +msgstr "Ruandë" + +#: src/common/util.c:1037 +msgid "Saudi Arabia" +msgstr "Arabi Saudite" + +#: src/common/util.c:1038 +msgid "Solomon Islands" +msgstr "Ishujt Solomon" + +#: src/common/util.c:1039 +msgid "Seychelles" +msgstr "Sejshelle" + +#: src/common/util.c:1040 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:1041 +msgid "Sweden" +msgstr "Suedi" + +#: src/common/util.c:1042 +msgid "Singapore" +msgstr "Singapor" + +#: src/common/util.c:1043 +msgid "St. Helena" +msgstr "Shën Helena" + +#: src/common/util.c:1044 +msgid "Slovenia" +msgstr "Slloveni" + +#: src/common/util.c:1045 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Ishujt Svalbard dhe Jan Mayen" + +#: src/common/util.c:1046 +msgid "Slovak Republic" +msgstr "Republika Slovake" + +#: src/common/util.c:1047 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:1048 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:1049 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:1050 +msgid "Somalia" +msgstr "Somali" + +#: src/common/util.c:1051 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:1052 +msgid "Sao Tome and Principe" +msgstr "Sao Tome dhe Principe" + +#: src/common/util.c:1053 +msgid "Former USSR" +msgstr "Ish USSR" + +#: src/common/util.c:1054 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:1055 +msgid "Syria" +msgstr "Siri" + +#: src/common/util.c:1056 +msgid "Swaziland" +msgstr "Svaziland" + +#: src/common/util.c:1057 +msgid "Turks and Caicos Islands" +msgstr "Ishujt Turks dhe Caicos" + +#: src/common/util.c:1058 +msgid "Chad" +msgstr "Çad" + +#: src/common/util.c:1059 +msgid "French Southern Territories" +msgstr "Territoret Franceze Jugore" + +#: src/common/util.c:1060 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:1061 +msgid "Thailand" +msgstr "Tailandë" + +#: src/common/util.c:1062 +msgid "Tajikistan" +msgstr "Taxhikistan" + +#: src/common/util.c:1063 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1064 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:1065 +msgid "Tunisia" +msgstr "Tunizi" + +#: src/common/util.c:1066 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:1067 +msgid "East Timor" +msgstr "Timori Lindor" + +#: src/common/util.c:1068 +msgid "Turkey" +msgstr "Turqi" + +#: src/common/util.c:1069 +msgid "Trinidad and Tobago" +msgstr "Trinidad dhe Tobago" + +#: src/common/util.c:1070 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1071 +msgid "Taiwan" +msgstr "Taivan" + +#: src/common/util.c:1072 +msgid "Tanzania" +msgstr "Tanzani" + +#: src/common/util.c:1073 +msgid "Ukraine" +msgstr "Ukrainë" + +#: src/common/util.c:1074 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:1075 +msgid "United Kingdom" +msgstr "Mbretëri e Bashkuar" + +#: src/common/util.c:1076 +msgid "US Minor Outlying Islands" +msgstr "Ishujt e Vegjël të Përtejmë të US-it" + +#: src/common/util.c:1077 +msgid "United States of America" +msgstr "Shtetet e Bashkuar të Amerikës" + +#: src/common/util.c:1078 +msgid "Uruguay" +msgstr "Uruguaj" + +#: src/common/util.c:1079 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:1080 +msgid "Vatican City State" +msgstr "Qytetshteti i Vatikanit" + +#: src/common/util.c:1081 +msgid "St. Vincent and the Grenadines" +msgstr "Shën. Vincent dhe Grenadinet" + +#: src/common/util.c:1082 +msgid "Venezuela" +msgstr "Venezuelë" + +#: src/common/util.c:1083 +msgid "British Virgin Islands" +msgstr "Ishujt British Virgin" + +#: src/common/util.c:1084 +msgid "US Virgin Islands" +msgstr "Ishujt US Virgin" + +#: src/common/util.c:1085 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:1086 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1087 +msgid "Wallis and Futuna Islands" +msgstr "Ishujt Wallis dhe Futuna" + +#: src/common/util.c:1088 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1089 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:1090 +msgid "Mayotte" +msgstr "Majot" + +#: src/common/util.c:1091 +msgid "Yugoslavia" +msgstr "Serbi dhe Mali i Zi" + +#: src/common/util.c:1092 +msgid "South Africa" +msgstr "Afrikë e Jugut" + +#: src/common/util.c:1093 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:1094 +msgid "Zimbabwe" +msgstr "Zimbabve" + +#: src/common/util.c:1104 src/common/util.c:1114 src/fe-gtk/menu.c:516 +#: src/fe-gtk/menu.c:521 src/fe-gtk/menu.c:525 src/fe-gtk/menu.c:529 +#: src/fe-gtk/menu.c:537 src/fe-gtk/menu.c:555 +msgid "Unknown" +msgstr "I panjohur" + +#: src/common/xchat.c:737 src/common/xchat.c:863 +msgid "Open Dialog Window" +msgstr "Hap Dritare Dialogu" + +#: src/common/xchat.c:738 +msgid "Send a File" +msgstr "Dërgo Kartelë" + +#: src/common/xchat.c:739 +msgid "User Info (WHOIS)" +msgstr "Të dhëna Përdoruesi (WHOIS)" + +#: src/common/xchat.c:740 +msgid "Operator Actions" +msgstr "Veprime Operatori" + +#: src/common/xchat.c:742 src/common/xchat.c:833 +msgid "Give Ops" +msgstr "Jepi Op" + +#: src/common/xchat.c:743 src/common/xchat.c:834 +msgid "Take Ops" +msgstr "Hiqi Op" + +#: src/common/xchat.c:744 src/common/xchat.c:837 +msgid "Give Voice" +msgstr "Jepi Zë" + +#: src/common/xchat.c:745 src/common/xchat.c:838 +msgid "Take Voice" +msgstr "Hiqi Zë" + +#: src/common/xchat.c:747 src/common/xchat.c:842 +msgid "Kick/Ban" +msgstr "Përzër/Ndalo" + +#: src/common/xchat.c:748 src/common/xchat.c:843 src/common/xchat.c:892 +msgid "Kick" +msgstr "Përzër" + +#: src/common/xchat.c:749 src/common/xchat.c:750 src/common/xchat.c:751 +#: src/common/xchat.c:752 src/common/xchat.c:753 src/common/xchat.c:844 +#: src/common/xchat.c:845 src/common/xchat.c:846 src/common/xchat.c:847 +#: src/common/xchat.c:848 src/common/xchat.c:891 +msgid "Ban" +msgstr "Ndalo" + +#: src/common/xchat.c:754 src/common/xchat.c:755 src/common/xchat.c:756 +#: src/common/xchat.c:757 src/common/xchat.c:849 src/common/xchat.c:850 +#: src/common/xchat.c:851 src/common/xchat.c:852 +msgid "KickBan" +msgstr "Përzënie" + +#: src/common/xchat.c:820 +msgid "Direct client-to-client" +msgstr "Drejtpërdrejt klient-me-klient" + +#: src/common/xchat.c:821 +msgid "Send File" +msgstr "Dërgo Kartelë" + +#: src/common/xchat.c:822 +msgid "Offer Chat" +msgstr "Ofro Fjalosje" + +#: src/common/xchat.c:823 +msgid "Abort Chat" +msgstr "Ndërprit Fjalosje" + +#: src/common/xchat.c:824 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Version" + +#: src/common/xchat.c:825 +msgid "Userinfo" +msgstr "Të dhëna përdoruesi" + +#: src/common/xchat.c:826 +msgid "Clientinfo" +msgstr "Të dhëna klienti" + +#: src/common/xchat.c:827 src/common/xchat.c:861 src/common/xchat.c:909 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:828 +msgid "Time" +msgstr "Kohë" + +#: src/common/xchat.c:829 +msgid "Finger" +msgstr "Gisht" + +#: src/common/xchat.c:830 +msgid "Oper" +msgstr "Oper" + +#: src/common/xchat.c:831 +msgid "Kill this user" +msgstr "Asgjëso këtë përdorues" + +#: src/common/xchat.c:832 +msgid "Mode" +msgstr "Mënyrë" + +#: src/common/xchat.c:835 +msgid "Give Half-Ops" +msgstr "Jepi Gjysmë-Op" + +#: src/common/xchat.c:836 +msgid "Take Half-Ops" +msgstr "Hiqi Gjysmë-Op" + +#: src/common/xchat.c:839 +msgid "Ignore" +msgstr "Shpërfill" + +#: src/common/xchat.c:840 +msgid "Ignore User" +msgstr "Shpërfill Përdorues" + +#: src/common/xchat.c:841 +msgid "UnIgnore User" +msgstr "Çshpërfill Përdorues" + +#: src/common/xchat.c:853 +msgid "Info" +msgstr "Të dhëna" + +#: src/common/xchat.c:854 +msgid "Who" +msgstr "Kush" + +#: src/common/xchat.c:855 src/common/xchat.c:905 +msgid "WhoIs" +msgstr "KushËshtë" + +#: src/common/xchat.c:856 +msgid "DNS Lookup" +msgstr "Kërkim DNS-je" + +#: src/common/xchat.c:857 +msgid "Trace" +msgstr "Gjurmo" + +#: src/common/xchat.c:858 +msgid "UserHost" +msgstr "StrehëPërdoruesi" + +#: src/common/xchat.c:859 +msgid "External" +msgstr "I jashtëm" + +#: src/common/xchat.c:860 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:862 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:874 +msgid "Leave Channel" +msgstr "Lër Kanal" + +#: src/common/xchat.c:875 src/fe-gtk/menu.c:1483 +msgid "Join Channel..." +msgstr "Hyni në Kanal..." + +#: src/common/xchat.c:876 src/fe-gtk/menu.c:1100 +msgid "Enter Channel to Join:" +msgstr "Jepni Kanal ku të Hyhet:" + +#: src/common/xchat.c:877 +msgid "Server Links" +msgstr "Lidhje Shërbyesish" + +#: src/common/xchat.c:878 +msgid "Ping Server" +msgstr "Ping Shërbyes" + +#: src/common/xchat.c:879 +msgid "Hide Version" +msgstr "Fshih Version" + +#: src/common/xchat.c:889 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:890 +msgid "DeOp" +msgstr "Çop" + +#: src/common/xchat.c:893 +msgid "bye" +msgstr "bye" + +#: src/common/xchat.c:894 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Jepni arsye për të përzënë %s:" + +#: src/common/xchat.c:895 +msgid "Sendfile" +msgstr "Dërgokartelë" + +#: src/common/xchat.c:896 +msgid "Dialog" +msgstr "Dialog" + +#: src/common/xchat.c:906 +msgid "Send" +msgstr "Dërgo" + +#: src/common/xchat.c:907 +msgid "Chat" +msgstr "Fjalosje" + +#: src/common/xchat.c:908 src/fe-gtk/banlist.c:321 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Pastro" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "Rreth X-Chat-it" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "Një Klient IRC shumëplatformësh" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Tabelë Gërmash" + +#: src/fe-gtk/banlist.c:112 src/fe-gtk/chanlist.c:310 +msgid "Not connected." +msgstr "I palidhur" + +#: src/fe-gtk/banlist.c:153 src/fe-gtk/banlist.c:237 +msgid "You must select some bans." +msgstr "Duhet të përzgjidhni disa ndalime." + +#: src/fe-gtk/banlist.c:252 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Maskë" + +#: src/fe-gtk/banlist.c:253 +msgid "From" +msgstr "Prej" + +#: src/fe-gtk/banlist.c:254 +msgid "Date" +msgstr "Datë" + +#: src/fe-gtk/banlist.c:297 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" +"Mundeni të hapni dritaren e Listës së Ndalimeve vetëm kur jeni në një " +"skedë kanali" + +#: src/fe-gtk/banlist.c:301 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: Listë Ndalimesh (%s)" + +#: src/fe-gtk/banlist.c:317 +msgid "Unban" +msgstr "Çndalo" + +#: src/fe-gtk/banlist.c:319 +msgid "Crop" +msgstr "" + +#: src/fe-gtk/banlist.c:323 +msgid "Refresh" +msgstr "Rifresko" + +#: src/fe-gtk/chanlist.c:113 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "Statistika Përdoruesish dhe Kanali: %d/%d Përdorues në %d/%d Kanale" + +#: src/fe-gtk/chanlist.c:551 +msgid "I can't save an empty list!" +msgstr "S'ruaj dot një listë të zbrazët!" + +#: src/fe-gtk/chanlist.c:554 src/fe-gtk/menu.c:1001 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Zgjidhni një emër kartele përfundim" + +#: src/fe-gtk/chanlist.c:686 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: Listë Kanalesh (%s)" + +#: src/fe-gtk/chanlist.c:703 +msgid "List display options:" +msgstr "Listo mundësi shfaqjeje:" + +#: src/fe-gtk/chanlist.c:715 +msgid "Minimum Users:" +msgstr "Përdoruesa Minimum:" + +#: src/fe-gtk/chanlist.c:730 +msgid "Maximum Users:" +msgstr "Përdoruesa Maksimum:" + +#: src/fe-gtk/chanlist.c:746 +#, fuzzy +msgid "Pattern Match:" +msgstr "Përputhje \"Regex\":" + +#: src/fe-gtk/chanlist.c:748 +msgid "Regex Match:" +msgstr "Përputhje \"Regex\":" + +#: src/fe-gtk/chanlist.c:770 +msgid "Apply Match to:" +msgstr "Zbato Përputh te:" + +#: src/fe-gtk/chanlist.c:794 +msgid "Apply" +msgstr "Zbato" + +#: src/fe-gtk/chanlist.c:837 +msgid "Refresh the list" +msgstr "Rifresko listën" + +#: src/fe-gtk/chanlist.c:839 +msgid "Save the list" +msgstr "Ruaj listën" + +#: src/fe-gtk/chanlist.c:841 src/fe-gtk/menu.c:799 src/fe-gtk/menu.c:1084 +msgid "Join Channel" +msgstr "Hyni në Kanal" + +#: src/fe-gtk/dccgui.c:165 +#, c-format +msgid "Send file to %s" +msgstr "Dërgo kartelë te %s" + +#: src/fe-gtk/dccgui.c:495 +msgid "That file is not resumable." +msgstr "Kjo kartelë nuk është e përmbledhshme." + +#: src/fe-gtk/dccgui.c:499 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"S'hyj dot në kartelën: %s\n" +"%s.\n" +"Rimarrje jo e mundur." + +#: src/fe-gtk/dccgui.c:506 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" +"Kartela në drejtorinë e shkarkimit është më e madhe se kartela e " +"ofruar. Rimarrje jo e mundur." + +#: src/fe-gtk/dccgui.c:510 +msgid "Cannot resume the same file from two people." +msgstr "Nuk mund të rimarr të njëjtën kartelë prej dy personash" + +#: src/fe-gtk/dccgui.c:739 +#, fuzzy +msgid "XChat: Uploads and Downloads" +msgstr "XChat: Urdhra të Përcaktuar nga Përdoruesi" + +#: src/fe-gtk/dccgui.c:755 src/fe-gtk/dccgui.c:992 src/fe-gtk/notifygui.c:111 +msgid "Status" +msgstr "Gjendje" + +#: src/fe-gtk/dccgui.c:756 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Kartelë" + +#: src/fe-gtk/dccgui.c:761 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:783 src/fe-gtk/menu.c:1477 +msgid "Both" +msgstr "Të dyja" + +#: src/fe-gtk/dccgui.c:789 +msgid "Uploads" +msgstr "" + +#: src/fe-gtk/dccgui.c:795 +#, fuzzy +msgid "Downloads" +msgstr "Shkarko kartela te:" + +#: src/fe-gtk/dccgui.c:800 +#, fuzzy +msgid "Details" +msgstr "Hollësi Tuajat" + +#: src/fe-gtk/dccgui.c:811 +msgid "File:" +msgstr "Kartelë:" + +#: src/fe-gtk/dccgui.c:812 +msgid "Address:" +msgstr "Vendndodhje:" + +#: src/fe-gtk/dccgui.c:818 src/fe-gtk/dccgui.c:1013 +msgid "Abort" +msgstr "Ndërprit" + +#: src/fe-gtk/dccgui.c:819 src/fe-gtk/dccgui.c:1014 +msgid "Accept" +msgstr "Prano" + +#: src/fe-gtk/dccgui.c:820 +msgid "Resume" +msgstr "Rimerr" + +#: src/fe-gtk/dccgui.c:821 +msgid "Open Folder..." +msgstr "" + +#: src/fe-gtk/dccgui.c:981 +msgid "XChat: DCC Chat List" +msgstr "XChat: Listë Fjalosjeje DCC" + +#: src/fe-gtk/dccgui.c:994 +msgid "Recv" +msgstr "Marr" + +#: src/fe-gtk/dccgui.c:995 +msgid "Sent" +msgstr "Dërguar" + +#: src/fe-gtk/dccgui.c:996 +#, fuzzy +msgid "Start Time" +msgstr "KohëFillim" + +#: src/fe-gtk/editlist.c:133 +msgid "*NEW*" +msgstr "*I RI*" + +#: src/fe-gtk/editlist.c:134 +msgid "EDIT ME" +msgstr "PËRPUNOMË" + +#: src/fe-gtk/editlist.c:322 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Emër" + +#: src/fe-gtk/editlist.c:323 +msgid "Command" +msgstr "Urdhër" + +#: src/fe-gtk/editlist.c:334 +msgid "Move Up" +msgstr "Ngjitu" + +#: src/fe-gtk/editlist.c:338 +msgid "Move Dn" +msgstr "Zbrit" + +#: src/fe-gtk/editlist.c:346 +msgid "Cancel" +msgstr "Anulo" + +#: src/fe-gtk/editlist.c:350 src/fe-gtk/urlgrab.c:205 +msgid "Save" +msgstr "Ruaj" + +#: src/fe-gtk/editlist.c:358 +msgid "Add New" +msgstr "Shto të Ri" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:874 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Fshij" + +#: src/fe-gtk/editlist.c:370 +msgid "Sort" +msgstr "Rendit" + +#: src/fe-gtk/editlist.c:374 +msgid "Help" +msgstr "Ndihmë" + +#: src/fe-gtk/fe-gtk.c:118 +msgid "Don't auto connect to servers" +msgstr "Mos u vetërilidhu me shërbyesa" + +#: src/fe-gtk/fe-gtk.c:119 +msgid "Use a different config directory" +msgstr "Përdor një tjetër drejtori config" + +#: src/fe-gtk/fe-gtk.c:120 +msgid "Don't auto load any plugins" +msgstr "Mos vetëngarko ndonjë shtojcë" + +#: src/fe-gtk/fe-gtk.c:121 +msgid "Show plugin auto-load directory" +msgstr "Shfaq drejtori shtojcash vetëngarkuese" + +#: src/fe-gtk/fe-gtk.c:122 +msgid "Show user config directory" +msgstr "Përdor drejtori config të përdoruesit" + +#: src/fe-gtk/fe-gtk.c:123 +msgid "Open an irc://server:port/channel URL" +msgstr "Hap një URL irc://shërbyes:portë/kanal" + +#: src/fe-gtk/fe-gtk.c:124 +msgid "Show version information" +msgstr "Shfaq të dhëna versioni" + +#: src/fe-gtk/fe-gtk.c:240 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Dështova në hapje gërmash:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:598 +msgid "Search buffer is empty.\n" +msgstr "Shtytëza e kërkimeve është e zbrazët.\n" + +#: src/fe-gtk/fe-gtk.c:686 +#, c-format +msgid "%d bytes" +msgstr "%d bytes" + +#: src/fe-gtk/fe-gtk.c:687 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Radhë dërgimi rrjeti: %d bajte" + +#: src/fe-gtk/fkeys.c:168 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into " +"the entry box where you pressed the key sequence. Thus it can contain text " +"(which will be sent to the channel/person), commands or user commands. When " +"run all \\n characters in Data 1 are used to deliminate seperate commands so " +"it is possible to run more than one command. If you want a \\ in the actual " +"text run then enter \\\\" +msgstr "" +"Veprimi Run Command lëshon të dhënat në Të Dhëna 1 si të ishin " +"shkruajtur në kuti dhënieje kur shtypët varg tastesh. Kështu që mund " +"të përmbajë tekst (i cili do t'i dërgohet kanalit/personit), urdhra ose " +"urdhra përdoruesi. Kur jepet tërë, shenjat \\ në Të Dhëna 1 përdoren " +"për të ndarë urdhra të veçantë që kështu të mundet të jepen më " +"shumë se një urdhër. Nëse doni një \\ në tekstin në fjalë jepni \\\\" + +#: src/fe-gtk/fkeys.c:170 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1 " +"to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position" +msgstr "" +"Urdhri Change Page bën kalimin midis faqesh në bllok shënimesh. Cakton si " +"Data 1 faqen ku doni të kalohet. Nëse si Data 2 është caktuar dicka " +"tjetër atëherë kalimi do të bëhet duke ju referuar pozicionit të " +"çastit" + +#: src/fe-gtk/fkeys.c:172 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" +"Urdhri Fut në Shtytëz do të fusë përmbajtjen e Data 1 te pjesa ku u " +"shtyp vargu i tasteve te vendndodhje çasti e kursorit" + +#: src/fe-gtk/fkeys.c:174 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one " +"line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "" +"Urdhri Zhvendos Faqe rrëshqet pjesën e tekstit lart ose poshtë me një " +"faqe ose një rresht. Caktojeni Data 1 si Up, Down, +1 ose -1." + +#: src/fe-gtk/fkeys.c:176 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered to " +"the contents of Data 1" +msgstr "" +"Urdhri Vendos Shtytëz vendos futjen atje ku u shtyp varg tastesh te " +"përmbajtja e Data 1" + +#: src/fe-gtk/fkeys.c:178 +msgid "" +"The Last Command command sets the entry to contain the last command entered " +"- the same as pressing up in a shell" +msgstr "" +"Urdhri Urdhri i Fundit bën që si hyrje të jetë urdhri i fundit i dhënë " +"- njësoj si shtypja e shigjetës sipër brenda një shelli" + +#: src/fe-gtk/fkeys.c:180 +msgid "" +"The Next Command command sets the entry to contain the next command entered " +"- the same as pressing down in a shell" +msgstr "" +"Urdhri Next Command e bën zërin në fjalë të përmbajë urdhrin pasues " +"që jepet - njësoj si shtypja e shigjetës poshtë brenda një shelli" + +#: src/fe-gtk/fkeys.c:182 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the " +"last nick, not the next" +msgstr "" +"Ky urdhër ndryshon tekstin që jepet për të përfunduar një urdhër apo " +"një nofkë ende jo të plotësuar. Nëse është rregulluar Të dhëna 1 " +"atëherë shtypja dyshe e tastit tab në një varg do të zgjedhë nofkën e " +"fundit, jo pasuesen" + +#: src/fe-gtk/fkeys.c:184 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set " +"to anything it will scroll up, else it scrolls down" +msgstr "" +"Ky urdhër kryen lëvizjen lart e poshtë nëpër listë nofkash. Nëse " +"është dhënë diçka si Data 1shkohet sipër, ndryshe zbritet poshtë" + +#: src/fe-gtk/fkeys.c:186 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" +"Ky urdhër kontrollon fjalën e fundit të dhënë përkundër listës " +"zëvendëso dhe bën zëvendësim nëse gjendet përputhje" + +#: src/fe-gtk/fkeys.c:188 +msgid "This command moves the front tab left by one" +msgstr "Ky urdhër zhvendos skedën ballore majtas me një " + +#: src/fe-gtk/fkeys.c:190 +msgid "This command moves the front tab right by one" +msgstr "Ky urdhër zhvendos skedën ballore djathtas me një" + +#: src/fe-gtk/fkeys.c:192 +msgid "This command moves the current tab family to the left" +msgstr "Ky urdhër zhvendos grupin e skedave të çastit majtas" + +#: src/fe-gtk/fkeys.c:194 +msgid "This command moves the current tab family to the right" +msgstr "Ky urdhër zhvendos grupin e skedave të çastit djathtas" + +#: src/fe-gtk/fkeys.c:196 +msgid "Push input line into history but doesn't send to server" +msgstr "I kalon historikut rresht dhënieje por nuk ja dërgon shërbyesit" + +#: src/fe-gtk/fkeys.c:207 +msgid "There was an error loading key bindings configuration" +msgstr "" +"Pati një gabimi gjatë ngarkimit të formësimit për funksione tastesh" + +#: src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:773 src/fe-gtk/maingui.c:1017 +#: src/fe-gtk/maingui.c:1033 src/fe-gtk/maingui.c:1310 +#: src/fe-gtk/maingui.c:1411 src/fe-gtk/maingui.c:2842 +msgid "<none>" +msgstr "<asnjë>" + +#: src/fe-gtk/fkeys.c:746 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: Shkurtprerje Tastiere" + +#: src/fe-gtk/fkeys.c:758 +msgid "Mod" +msgstr "Ndry" + +#: src/fe-gtk/fkeys.c:759 src/fe-gtk/fkeys.c:809 +msgid "Key" +msgstr "Kyç" + +#: src/fe-gtk/fkeys.c:760 +msgid "Action" +msgstr "Veprim" + +#: src/fe-gtk/fkeys.c:812 +msgid "Data 1" +msgstr "Të dhëna 1" + +#: src/fe-gtk/fkeys.c:815 +msgid "Data 2" +msgstr "Të dhëna 2" + +#: src/fe-gtk/fkeys.c:819 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:821 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:823 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:872 src/fe-gtk/ignoregui.c:384 +#: src/fe-gtk/notifygui.c:307 +msgid "Add" +msgstr "Shto" + +#: src/fe-gtk/fkeys.c:894 +msgid "Error opening keys config file\n" +msgstr "Gabim në hapje kartele formësimi tastesh\n" + +#: src/fe-gtk/fkeys.c:1061 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Emër i panjohur kyçi %s në kartelë formësimi funksionesh kyçash\n" +"Ngarkimi u ndërpre, ju lutem ndreqni %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1099 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Veprim i panjohur %s në kartelë formësimi funksionesh kyçash\n" +"Ngarkimi u ndërpre, ju lutem ndreqni %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1120 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Pritej rresht Të Dhënash (që fillon me Dx{:|!}) por u mor:\n" +"%s\n" +"\n" +"Ngarkimi u ndërpre, ju lutem ndreqni %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1189 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Kartela e formësimit të funksioneve të kyçeve është e dëmtuar, " +"ngarkim i ndërprerë\n" +"Ju lutem ndreqni %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:139 +msgid "Cannot write to that file." +msgstr "S'mund të shkruaj tek kjo kartelë." + +#: src/fe-gtk/gtkutil.c:141 +msgid "Cannot read that file." +msgstr "S'mund të lexoj këtë kartelë." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "Ka tashmë një maskë si kjo." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:1882 +msgid "Private" +msgstr "Vetiake" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Njofto" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Fto" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Çshpërfill" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Jepni maskë që do të shpërfillet:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "XChat: Listë shpërfilljesh" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Statistika Shpërfilljesh:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Kanal:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Vetiake:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Njofto:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Fto:" + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:129 +#, fuzzy +msgid "XChat: Connection Complete" +msgstr "Mbaroi koha e ndërlidhjes" + +#: src/fe-gtk/joind.c:154 +#, fuzzy, c-format +msgid "Connection to %s complete." +msgstr "Lidhje e rivendosur nga tjetri" + +#: src/fe-gtk/joind.c:163 +msgid "" +"In the Server-List window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:169 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:175 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:184 +#, fuzzy +msgid "_Join this channel:" +msgstr "Hyni në Kanal" + +#: src/fe-gtk/joind.c:196 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:203 +#, fuzzy +msgid "O_pen the Channel-List window." +msgstr "Hap kanale në:" + +#: src/fe-gtk/joind.c:210 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:217 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:396 +msgid "Dialog with" +msgstr "Dialog me" + +#: src/fe-gtk/maingui.c:659 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Tema për %s është: %s" + +#: src/fe-gtk/maingui.c:664 +msgid "No topic is set" +msgstr "Nuk është caktuar temë" + +#: src/fe-gtk/maingui.c:957 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" +"Ky shërbyes ka ende %d kanale apo dialogje të lidhur me të. Ti mbyll të " +"tërë?" + +#: src/fe-gtk/maingui.c:1087 +msgid "No other tabs open, quit xchat?" +msgstr "S'ka skedë tjetër të hapur, ta lë xchat-it?" + +#: src/fe-gtk/maingui.c:1262 +msgid "Insert Attribute or Color Code" +msgstr "Fut Kod Ngjyre ose Atributi" + +#: src/fe-gtk/maingui.c:1264 +msgid "<b>Bold</b>" +msgstr "<b>Të trasha</b>" + +#: src/fe-gtk/maingui.c:1265 +msgid "<u>Underline</u>" +msgstr "<u>Nënvizuar</u>" + +#: src/fe-gtk/maingui.c:1267 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1269 +msgid "Colors 0-7" +msgstr "Ngjyra 0-7" + +#: src/fe-gtk/maingui.c:1279 +msgid "Colors 8-15" +msgstr "Ngjyra 8-15" + +#: src/fe-gtk/maingui.c:1315 +msgid "Beep on message" +msgstr "Bip në mesazhe" + +#: src/fe-gtk/maingui.c:1318 +msgid "Show join/part messages" +msgstr "Shfaq mesazhe hyr/dil " + +#: src/fe-gtk/maingui.c:1320 +msgid "Color paste" +msgstr "Ngjit ngjyrë" + +#: src/fe-gtk/maingui.c:1327 +msgid "Go to" +msgstr "Shko te" + +#: src/fe-gtk/maingui.c:1340 src/fe-gtk/menu.c:1890 +msgid "_Close Tab" +msgstr "_Mbyll Skedë" + +#: src/fe-gtk/maingui.c:1343 src/fe-gtk/menu.c:1889 +msgid "_Detach Tab" +msgstr "_Shqit Skedë" + +#: src/fe-gtk/maingui.c:1582 +msgid "Some file transfers still active, quit xchat?" +msgstr "Shpërngulje kartelash në përmbushje e sipër, ta lë xchat-in?" + +#: src/fe-gtk/maingui.c:1750 src/fe-gtk/maingui.c:1856 +msgid "User limit must be a number!\n" +msgstr "Kufi përdoruesish duhet të jetë një numër!\n" + +#: src/fe-gtk/maingui.c:1878 +msgid "Topic Protection" +msgstr "Mbrojtje Teme" + +#: src/fe-gtk/maingui.c:1879 +msgid "No outside messages" +msgstr "Jo mesazhe nga jashtë" + +#: src/fe-gtk/maingui.c:1880 +msgid "Secret" +msgstr "Sekret" + +#: src/fe-gtk/maingui.c:1881 +msgid "Invite Only" +msgstr "Vetëm me Ftesa" + +#: src/fe-gtk/maingui.c:1883 +msgid "Moderated" +msgstr "Ndryshuar" + +#: src/fe-gtk/maingui.c:1884 +msgid "Ban List" +msgstr "Listë Ndalimesh" + +#: src/fe-gtk/maingui.c:1886 +msgid "Keyword" +msgstr "Fjalëkyç" + +#: src/fe-gtk/maingui.c:1898 +msgid "User Limit" +msgstr "Kufi Përdoruesi" + +#: src/fe-gtk/maingui.c:2007 +msgid "Show/Hide userlist" +msgstr "Shfaq/Fshih listë përdoruesish" + +#: src/fe-gtk/maingui.c:2132 +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 "" +"I pazoti të vendos ngjyrë të tejdukshme!\n" +"\n" +"Mund të jeni duke përdorur përgjegjës\n" +"dritaresh të papërputhshëm që nuk mbulohet ende.\n" + +#: src/fe-gtk/maingui.c:2364 +msgid "Enter new nickname:" +msgstr "Jepni nofkën e re:" + +#: src/fe-gtk/menu.c:120 +msgid "Host unknown" +msgstr "Strehë e panjohur" + +#: src/fe-gtk/menu.c:507 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:512 src/fe-gtk/menu.c:516 +msgid "Real Name:" +msgstr "Emër i Vërtetë:" + +#: src/fe-gtk/menu.c:520 +msgid "User:" +msgstr "Përdorues:" + +#: src/fe-gtk/menu.c:524 +msgid "Country:" +msgstr "Vend:" + +#: src/fe-gtk/menu.c:528 +msgid "Server:" +msgstr "Shërbyes:" + +#: src/fe-gtk/menu.c:540 +msgid "Away Msg:" +msgstr "Mesazh Largimi:" + +#: src/fe-gtk/menu.c:550 +#, c-format +msgid "%u minutes ago" +msgstr "%u minuta më parë" + +#: src/fe-gtk/menu.c:552 src/fe-gtk/menu.c:555 +msgid "Last Msg:" +msgstr "Msz i Fundit:" + +#: src/fe-gtk/menu.c:655 +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 "" +"Paneli i menuve tashti është i fshehur. Mund ta shfaqni sërish duke " +"shtypur F9 ose duke djathtasklikuar në një pjesë bosh të zonës kryesore " +"për tekste" + +#: src/fe-gtk/menu.c:742 +msgid "Open Link in Browser" +msgstr "Hap Lidhje në Shfletues" + +#: src/fe-gtk/menu.c:743 +msgid "Copy Selected Link" +msgstr "Kopjo Lidhjen e Përzgjedhur" + +#: src/fe-gtk/menu.c:803 +msgid "Part Channel" +msgstr "Dil prej Kanali" + +#: src/fe-gtk/menu.c:805 +msgid "Cycle Channel" +msgstr "Ciklo Kanal" + +#: src/fe-gtk/menu.c:828 +msgid "XChat: User menu" +msgstr "XChat: Menu përdoruesi" + +#: src/fe-gtk/menu.c:837 +msgid "Edit This Menu..." +msgstr "Përpuno Këtë Menu..." + +#: src/fe-gtk/menu.c:943 +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 "" +"*KUJDES*\n" +"Vetëpranimi i DCC-së në drejtorinë tuaj shtëpi\n" +"mund të jetë i rrezikshëm dhe është i shfrytëzueshëm. P.sh:\n" +"Dikush mund t'ju dërgojë një .bash_profile" + +#: src/fe-gtk/menu.c:1086 +#, fuzzy +msgid "Retrieve channel list..." +msgstr "Listë Kanalesh..." + +#: src/fe-gtk/menu.c:1141 +msgid "Settings saved." +msgstr "Rregullime të ruajtur." + +#: src/fe-gtk/menu.c:1178 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" +"Urdhra Përdoruesi - Kode specialë:\n" +"\n" +"%c = kanal i çastit\n" +"%m = të dhëna makine\n" +"%n = nofka juaj\n" +"%t = kohë/datë\n" +"%v = version i xchat-it\n" +"%2 = fjala 2\n" +"%3 = fjala 3\n" +"&2 = fjala 2 në fundin e një rreshti\n" +"&3 = fjala 3 në fundin e një rreshti\n" +"\n" +"p.sh.:\n" +"/cmd gjon tungjatjeta\n" +"\n" +"%2 mund të ishte \"gjon\"\n" +"&2 mund të ishte \"gjon tungjatjeta\"." + +#: src/fe-gtk/menu.c:1193 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Butona Liste Përdoruesish - Kode specialë:\n" +"\n" +"%a = tërë nofkat e përzgjedhura\n" +"%c = kanali i çastit\n" +"%h = strehëemri për nofkën e përzgjedhur\n" +"%m = të dhëna makine\n" +"%n = nofka juaj\n" +"%s = nofka e përzgjedhur\n" +"%t = kohë/datë\n" + +#: src/fe-gtk/menu.c:1202 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Butona Dialogjesh - Kode specialë:\n" +"\n" +"%a = tërë nofkat e përzgjedhura\n" +"%c = kanali i çastit\n" +"%h = strehëemri për nofkën e përzgjedhur\n" +"%m = të dhëna makine\n" +"%n = nofka juaj\n" +"%s = nofka e përzgjedhur\n" +"%t = kohë/datë\n" + +#: src/fe-gtk/menu.c:1211 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" +"Përgjigje CTCP - Kode specialë:\n" +"\n" +"%d = të dhëna (ctcp i plotë)\n" +"%m = të dhëna makine\n" +"%s = nofka që dërgoi ctcp\n" +"%t = kohë/datë\n" +"%2 = fjala 2\n" +"%3 = fjala 3\n" +"&2 = fjala 2 në fundin e një rrjeshti\n" +"&3 = fjala 3 në fundin e një rrjeshti\n" +"\n" + +#: src/fe-gtk/menu.c:1221 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"Trajtuesa URL - Kode specialë:\n" +"\n" +"%s = vargu URL\n" +"\n" +"Vendosja e një ! para një urdhri\n" +"tregon që ky do të duhej dërguar te një\n" +"shell dhe jo te X-Chat-i" + +#: src/fe-gtk/menu.c:1230 +msgid "XChat: User Defined Commands" +msgstr "XChat: Urdhra të Përcaktuar nga Përdoruesi" + +#: src/fe-gtk/menu.c:1237 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: Menu flluckë Liste Përdoruesish" + +#: src/fe-gtk/menu.c:1244 +msgid "Replace with" +msgstr "Zëvendësoje me" + +#: src/fe-gtk/menu.c:1244 +msgid "XChat: Replace" +msgstr "XChat: Zëvendëso" + +#: src/fe-gtk/menu.c:1251 +msgid "XChat: URL Handlers" +msgstr "XChat: Trajtuesa URL" + +#: src/fe-gtk/menu.c:1270 +msgid "XChat: Userlist buttons" +msgstr "XChat: Butona liste përdoruesish" + +#: src/fe-gtk/menu.c:1277 +msgid "XChat: Dialog buttons" +msgstr "XChat: Butona dialogu" + +#: src/fe-gtk/menu.c:1284 +msgid "XChat: CTCP Replies" +msgstr "XChat: Përgjigjje CTCP" + +#: src/fe-gtk/menu.c:1435 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1436 +msgid "_Server List..." +msgstr "Listë _Shërbyesish..." + +#: src/fe-gtk/menu.c:1439 +msgid "_New" +msgstr "_E re" + +#: src/fe-gtk/menu.c:1440 +msgid "Server Tab..." +msgstr "Skedë Shërbyesi..." + +#: src/fe-gtk/menu.c:1441 +msgid "Channel Tab..." +msgstr "Skedë Kanali..." + +#: src/fe-gtk/menu.c:1442 +msgid "Server Window..." +msgstr "Dritare Shërbyesi..." + +#: src/fe-gtk/menu.c:1443 +msgid "Channel Window..." +msgstr "Dritare Kanali..." + +#: src/fe-gtk/menu.c:1448 src/fe-gtk/menu.c:1450 +msgid "_Load Plugin or Script..." +msgstr "_Ngarko Shtojcë ose Programth..." + +#: src/fe-gtk/menu.c:1458 +msgid "_Quit" +msgstr "_Lër" + +#: src/fe-gtk/menu.c:1460 +msgid "_View" +msgstr "_Parje" + +#: src/fe-gtk/menu.c:1462 +msgid "_Menubar" +msgstr "_Shtyllë Menush" + +#: src/fe-gtk/menu.c:1463 +msgid "_Topicbar" +msgstr "_Shtyllë Temash" + +#: src/fe-gtk/menu.c:1464 +msgid "_Userlist Buttons" +msgstr "Butona _Liste përdoruesish" + +#: src/fe-gtk/menu.c:1465 +msgid "M_ode Buttons" +msgstr "Butona Mën_yre" + +#: src/fe-gtk/menu.c:1467 +msgid "_Layout" +msgstr "_Skemë" + +#: src/fe-gtk/menu.c:1469 +msgid "_Tabs" +msgstr "_Skeda" + +#: src/fe-gtk/menu.c:1470 +msgid "T_ree" +msgstr "_Pemë" + +#: src/fe-gtk/menu.c:1472 +msgid "_Network Meters" +msgstr "Matësa _Rrjeti" + +#: src/fe-gtk/menu.c:1474 +msgid "Off" +msgstr "Asnjë" + +#: src/fe-gtk/menu.c:1475 +msgid "Graph" +msgstr "Grafik" + +#: src/fe-gtk/menu.c:1480 +msgid "_Server" +msgstr "_Shërbyes" + +#: src/fe-gtk/menu.c:1481 +msgid "_Disconnect" +msgstr "_Shkëputu" + +#: src/fe-gtk/menu.c:1482 +msgid "_Reconnect" +msgstr "_Rilidhu" + +#: src/fe-gtk/menu.c:1486 +msgid "Marked Away" +msgstr "Shenjuar si i Larguar" + +#: src/fe-gtk/menu.c:1488 +msgid "_Usermenu" +msgstr "_Menu përdoruesi" + +#: src/fe-gtk/menu.c:1490 +msgid "S_ettings" +msgstr "Rr_egullime" + +#: src/fe-gtk/menu.c:1491 +msgid "_Preferences" +msgstr "Parapëlqime" + +#: src/fe-gtk/menu.c:1493 +msgid "Advanced" +msgstr "Të mëtejshme" + +#: src/fe-gtk/menu.c:1494 +msgid "Auto Replace..." +msgstr "Vetëzëvendëso..." + +#: src/fe-gtk/menu.c:1495 +msgid "CTCP Replies..." +msgstr "Përgjigje CTCP..." + +#: src/fe-gtk/menu.c:1496 +msgid "Dialog Buttons..." +msgstr "Butona Dialogu..." + +#: src/fe-gtk/menu.c:1497 +msgid "Keyboard Shortcuts..." +msgstr "Shkurtprerje Tastiere..." + +#: src/fe-gtk/menu.c:1498 +msgid "Text Events..." +msgstr "Ngjarje Tekst..." + +#: src/fe-gtk/menu.c:1499 +msgid "URL Handlers..." +msgstr "Trajtuesa URL..." + +#: src/fe-gtk/menu.c:1500 +msgid "User Commands..." +msgstr "Urdhra Përdoruesi..." + +#: src/fe-gtk/menu.c:1501 +msgid "Userlist Buttons..." +msgstr "Butona Liste përdoruesish..." + +#: src/fe-gtk/menu.c:1502 +msgid "Userlist Popup..." +msgstr "Flluckë Liste përdoruesish..." + +#: src/fe-gtk/menu.c:1505 +msgid "_Window" +msgstr "_Dritare" + +#: src/fe-gtk/menu.c:1506 +msgid "Ban List..." +msgstr "Listë Ndalimesh..." + +#: src/fe-gtk/menu.c:1507 +msgid "Channel List..." +msgstr "Listë Kanalesh..." + +#: src/fe-gtk/menu.c:1508 +msgid "Character Chart..." +msgstr "Tabelë Gërmash..." + +#: src/fe-gtk/menu.c:1509 +msgid "Direct Chat..." +msgstr "Fjalosje e Drejtpërdrejtë..." + +#: src/fe-gtk/menu.c:1510 +msgid "File Transfers..." +msgstr "Shpërngulje Kartelash" + +#: src/fe-gtk/menu.c:1511 +msgid "Ignore List..." +msgstr "Listë Shpërfilljesh..." + +#: src/fe-gtk/menu.c:1512 +msgid "Notify List..." +msgstr "Listë Njoftimesh..." + +#: src/fe-gtk/menu.c:1513 +msgid "Plugins and Scripts..." +msgstr "Shtojca dhe Programthe..." + +#: src/fe-gtk/menu.c:1514 +msgid "Raw Log..." +msgstr "Regjistrim Bruto..." + +#: src/fe-gtk/menu.c:1515 +msgid "URL Grabber..." +msgstr "Kopjues URL-sh..." + +#: src/fe-gtk/menu.c:1517 +msgid "Reset Marker Line" +msgstr "Ricakto Vijë Shënimi" + +#: src/fe-gtk/menu.c:1518 +msgid "C_lear Text" +msgstr "P_astro Tekst" + +#: src/fe-gtk/menu.c:1519 +msgid "Search Text..." +msgstr "Kërko Tekst..." + +#: src/fe-gtk/menu.c:1520 +msgid "Save Text..." +msgstr "Ruaj Tekst..." + +#: src/fe-gtk/menu.c:1522 src/fe-gtk/menu.c:1881 +msgid "_Help" +msgstr "_Ndihmë" + +#: src/fe-gtk/menu.c:1523 +msgid "_Contents" +msgstr "_Përmbajtje" + +#: src/fe-gtk/menu.c:1524 +msgid "_About" +msgstr "_Rreth" + +#: src/fe-gtk/menu.c:1894 +msgid "_Attach Window" +msgstr "_Dritare Bashkangjitjesh" + +#: src/fe-gtk/menu.c:1895 +msgid "_Close Window" +msgstr "_Mbyll Dritare" + +#: src/fe-gtk/notifygui.c:110 +msgid "User" +msgstr "Përdorues" + +#: src/fe-gtk/notifygui.c:112 +msgid "Server" +msgstr "Shërbyes" + +#: src/fe-gtk/notifygui.c:113 +msgid "Last Seen" +msgstr "Parë së Fundmi" + +#: src/fe-gtk/notifygui.c:150 +msgid "Offline" +msgstr "Jo i lidhur" + +#: src/fe-gtk/notifygui.c:170 src/fe-gtk/setup.c:197 +msgid "Never" +msgstr "Kurrë" + +#: src/fe-gtk/notifygui.c:188 +msgid "Online" +msgstr "I lidhur" + +#: src/fe-gtk/notifygui.c:278 +msgid "Enter nickname to add:" +msgstr "Jepni nofkë për ta shtuar:" + +#: src/fe-gtk/notifygui.c:294 +msgid "XChat: Notify List" +msgstr "XChat: Listë Njoftimesh" + +#: src/fe-gtk/notifygui.c:309 +msgid "Remove" +msgstr "Hiq" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:421 +msgid "Description" +msgstr "Përshkrim" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Zgjidhni një Shtojcë ose një Programth për t'u ngarkuar" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: Shtojca dhe Programthe" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Ngarko..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "_Çngarko" + +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "-Mbyll" + +#: src/fe-gtk/rawlog.c:81 +msgid "Save rawlog" +msgstr "Ruaj regjistrim bruto" + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: Regjistrim bruto (%s)" + +#: src/fe-gtk/rawlog.c:126 +msgid "Clear rawlog" +msgstr "Pastro regjistrim bruto" + +#: src/fe-gtk/rawlog.c:129 +msgid "Save rawlog..." +msgstr "Ruaj regjistrim bruto..." + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Dritarja prej ku hapët këtë Kërkim nuk ekziston më." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "" + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Kërko" + +#: src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Gjej:" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "" + +#: src/fe-gtk/search.c:146 +#, fuzzy +msgid "_Find" +msgstr "Gjej" + +#: src/fe-gtk/servlistgui.c:169 src/fe-gtk/servlistgui.c:268 +msgid "New Network" +msgstr "Rrjet i Ri" + +#: src/fe-gtk/servlistgui.c:553 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Të heq vërtet rrjetin \"%s\" dhe tërë shërbyesit e tij?" + +#: src/fe-gtk/servlistgui.c:677 +msgid "User name and Real name cannot be left blank." +msgstr "Emri i përdoruesit dhe emri i vërtetë nuk mund të lihen bosh." + +#: src/fe-gtk/servlistgui.c:977 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: Përpuno %s" + +#: src/fe-gtk/servlistgui.c:996 +#, c-format +msgid "Servers for %s" +msgstr "Shërbyesa për %s" + +#: src/fe-gtk/servlistgui.c:1007 +msgid "Connect to selected server only" +msgstr "Lidhu vetëm me shërbyesin e përzgjedhur" + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Mos ciklo nëpër tërë shërbyesit kur dështon lidhja." + +#: src/fe-gtk/servlistgui.c:1010 +msgid "Your Details" +msgstr "Hollësi Tuajat" + +#: src/fe-gtk/servlistgui.c:1016 +msgid "Use global user information" +msgstr "Përdor të dhëna të përgjithshme përdoruesi" + +#: src/fe-gtk/servlistgui.c:1019 src/fe-gtk/servlistgui.c:1251 +msgid "_Nick name:" +msgstr "Nofkë:" + +#: src/fe-gtk/servlistgui.c:1023 src/fe-gtk/servlistgui.c:1258 +msgid "Second choice:" +msgstr "Zgjedhje e dytë:" + +#: src/fe-gtk/servlistgui.c:1027 src/fe-gtk/servlistgui.c:1272 +msgid "_User name:" +msgstr "_Emër përdorues:" + +#: src/fe-gtk/servlistgui.c:1031 src/fe-gtk/servlistgui.c:1279 +msgid "Rea_l name:" +msgstr "Emër i _vërtetë:" + +#: src/fe-gtk/servlistgui.c:1034 +msgid "Connecting" +msgstr "Lidhje" + +#: src/fe-gtk/servlistgui.c:1040 +msgid "Auto connect to this network at startup" +msgstr "Vetëlidhu me këtë rrjet gjatë nisjes" + +#: src/fe-gtk/servlistgui.c:1042 +#, fuzzy +msgid "Use a proxy server" +msgstr "Shërbyes \"Proxy\"" + +#: src/fe-gtk/servlistgui.c:1044 +msgid "Use SSL for all the servers on this network" +msgstr "Përdor SSL për tërë shërbyesit në këtë rrjet" + +#: src/fe-gtk/servlistgui.c:1049 +msgid "Accept invalid SSL certificate" +msgstr "Prano dëshmi SSL të mangëta" + +#: src/fe-gtk/servlistgui.c:1055 +msgid "C_hannels to join:" +msgstr "_Kanale ku të hyhet:" + +#: src/fe-gtk/servlistgui.c:1057 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Kanale ku të hyhet, ndarë me presje, por pa hapësira!" + +#: src/fe-gtk/servlistgui.c:1060 +msgid "Connect command:" +msgstr "Urdhër lidhjeje:" + +#: src/fe-gtk/servlistgui.c:1062 +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 "" +"Urdhër ekstra për t'u përmbushur pas lidhjes. Nëse ju duhet më tepër " +"se një, vëreni këtë si LOAD -e <emër kartele>, ku <emër kartele> " +"është një kartelë tekst mbushur plot me urdhrapër t'u përmbushur." + +#: src/fe-gtk/servlistgui.c:1065 +msgid "Nickserv password:" +msgstr "Fjalëkalim nofke shërbyesi:" + +#: src/fe-gtk/servlistgui.c:1067 +msgid "" +"If your nickname requires a password, enter it here. Not all IRC networks " +"support this." +msgstr "" +"Nëse nofka juaj lyp fjalëkalim, jepeni atë këtu. Jo tërë rrjetet IRC e " +"mbulojnë këtë." + +#: src/fe-gtk/servlistgui.c:1071 +msgid "Server password:" +msgstr "Fjalëkalim shërbyesi:" + +#: src/fe-gtk/servlistgui.c:1073 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Fjalëkalim për shërbyesin, po qetë në mëdyshje, lëreni bosh." + +#: src/fe-gtk/servlistgui.c:1076 +msgid "Character set:" +msgstr "Gërma:" + +#: src/fe-gtk/servlistgui.c:1146 +msgid "_Edit" +msgstr "_Përpuno" + +#: src/fe-gtk/servlistgui.c:1229 +msgid "XChat: Server List" +msgstr "XChat: Listë Shërbyesish" + +#: src/fe-gtk/servlistgui.c:1241 +msgid "User Information" +msgstr "Të dhëna Shërbyesi" + +#: src/fe-gtk/servlistgui.c:1265 +msgid "Third choice:" +msgstr "Zgjedhje e tretë:" + +#: src/fe-gtk/servlistgui.c:1325 +msgid "Networks" +msgstr "Rrjete" + +#: src/fe-gtk/servlistgui.c:1366 +msgid "Skip server list on startup" +msgstr "Anashkalo listë shërbyesish gjatë nisjes" + +#: src/fe-gtk/servlistgui.c:1398 +msgid "_Edit..." +msgstr "_Përpuno..." + +#: src/fe-gtk/servlistgui.c:1405 +msgid "_Sort" +msgstr "_Rendit" + +#: src/fe-gtk/servlistgui.c:1429 +msgid "C_onnect" +msgstr "_Lidhu" + +#: src/fe-gtk/setup.c:96 +msgid "Text Box Appearance" +msgstr "Dukje Kutie Tekstesh" + +#: src/fe-gtk/setup.c:97 +msgid "Font:" +msgstr "Gërma:" + +#: src/fe-gtk/setup.c:98 +msgid "Background image:" +msgstr "Pamje sfond:" + +#: src/fe-gtk/setup.c:99 +msgid "Scrollback lines:" +msgstr "Rreshta rrëshqitjeje:" + +#: src/fe-gtk/setup.c:100 +msgid "Colored nick names" +msgstr "Nofka të ngjyrosura" + +#: src/fe-gtk/setup.c:101 +msgid "Give each person on IRC a different color" +msgstr "Jepi çdo personi në IRC një ngjyrë të ndryshme" + +#: src/fe-gtk/setup.c:102 +msgid "Indent nick names" +msgstr "Sposto nofka djathtas" + +#: src/fe-gtk/setup.c:103 +msgid "Make nick names right-justified" +msgstr "Përligj nofkat djathtas " + +#: src/fe-gtk/setup.c:104 +msgid "Transparent background" +msgstr "Sfond i tejdukshëm" + +#: src/fe-gtk/setup.c:105 +msgid "Show marker line" +msgstr "Shfaq vijë shënimi" + +#: src/fe-gtk/setup.c:106 +msgid "Insert a red line after the last read text." +msgstr "Fut një vijë të kuqe pas tekstit të lexuar së fundmi." + +#: src/fe-gtk/setup.c:107 +msgid "Transparency Settings" +msgstr "Rregullime Tejdukshmërie" + +#: src/fe-gtk/setup.c:108 +msgid "Red:" +msgstr "E kuqe:" + +#: src/fe-gtk/setup.c:109 +msgid "Green:" +msgstr "E gjelbër:" + +#: src/fe-gtk/setup.c:110 +msgid "Blue:" +msgstr "Blu:" + +#: src/fe-gtk/setup.c:112 src/fe-gtk/setup.c:312 +msgid "Time Stamps" +msgstr "Vula Kohore" + +#: src/fe-gtk/setup.c:113 +msgid "Time stamp format:" +msgstr "Format vule kohore:" + +#: src/fe-gtk/setup.c:114 +msgid "See strftime manpage for details." +msgstr "Për hollësira shihni faqe manuali (manpage) për strftime." + +#: src/fe-gtk/setup.c:115 +msgid "Enable time stamps" +msgstr "Aktivizo vula kohore" + +#: src/fe-gtk/setup.c:122 +msgid "Nick Completion" +msgstr "Plotësim Nofkash" + +#: src/fe-gtk/setup.c:123 +msgid "Automatic nick completion" +msgstr "Plotësim nofkash vetvetiu" + +#: src/fe-gtk/setup.c:124 +msgid "Completes nick names without using the TAB key" +msgstr "Plotëson nofka pa përdorur tastin TAB" + +#: src/fe-gtk/setup.c:125 +msgid "Nick completion suffix:" +msgstr "Prapashtesë plotësimi nofkash:" + +#: src/fe-gtk/setup.c:127 +msgid "Input Box Codes" +msgstr "Kode Kutije Futjesh" + +#: src/fe-gtk/setup.c:128 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Interpreto %nnn si një vlerë ASCII" + +#: src/fe-gtk/setup.c:129 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Interpreto %C, %B si Ngjyrë, të Trasha etj" + +#: src/fe-gtk/setup.c:131 +msgid "Input Box Appearance" +msgstr "Dukje Kutije Futjesh" + +#: src/fe-gtk/setup.c:132 src/fe-gtk/setup.c:161 +msgid "Use the Text box font and colors" +msgstr "Përdor gërma dhe ngjyra të kutisë së Teksteve" + +#: src/fe-gtk/setup.c:148 +msgid "A-Z, Ops first" +msgstr "A-Z, Op të parët" + +#: src/fe-gtk/setup.c:149 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:150 +msgid "Z-A, Ops last" +msgstr "Z-A, Op të fundit" + +#: src/fe-gtk/setup.c:151 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:152 +msgid "Unsorted" +msgstr "E parenditur" + +#: src/fe-gtk/setup.c:158 +msgid "User List" +msgstr "Listë Përdoruesish" + +#: src/fe-gtk/setup.c:159 +msgid "User list sorted by:" +msgstr "Listë përdoruesish renditur sipas:" + +#: src/fe-gtk/setup.c:160 +msgid "Show hostnames in user list" +msgstr "Shfaqi strehëemrat në listë përdoruesish " + +#: src/fe-gtk/setup.c:162 +msgid "Resizable user list" +msgstr "Listë përdoruesish e ripërmasueshme" + +#: src/fe-gtk/setup.c:164 +msgid "Away tracking" +msgstr "Gjurmim të larguarish" + +#: src/fe-gtk/setup.c:165 +msgid "Track the Away status of users and mark them in a different color" +msgstr "" +"Ndjek gjendjen i Larguar të përdoruesve dhe i shenjon ata me një ngjyrë " +"tjetër" + +#: src/fe-gtk/setup.c:166 +msgid "On channels smaller than:" +msgstr "Në kanale më të vegjël se:" + +#: src/fe-gtk/setup.c:168 +msgid "Action Upon Double Click" +msgstr "Veprim Kur Dyklikohet" + +#: src/fe-gtk/setup.c:169 +msgid "Execute command:" +msgstr "Përmbush urdhër:" + +#: src/fe-gtk/setup.c:180 +msgid "Windows" +msgstr "Dritare" + +#: src/fe-gtk/setup.c:181 src/fe-gtk/setup.c:205 src/fe-gtk/setup.c:1446 +msgid "Tabs" +msgstr "Skeda" + +#: src/fe-gtk/setup.c:187 +msgid "Bottom" +msgstr "Poshtë" + +#: src/fe-gtk/setup.c:188 +msgid "Top" +msgstr "Sipër" + +#: src/fe-gtk/setup.c:189 +msgid "Left" +msgstr "Majtas" + +#: src/fe-gtk/setup.c:190 +msgid "Right" +msgstr "Djathtas" + +#: src/fe-gtk/setup.c:191 +msgid "Hidden" +msgstr "Fshehur" + +#: src/fe-gtk/setup.c:198 +msgid "Always" +msgstr "Përherë" + +#: src/fe-gtk/setup.c:199 +msgid "Only requested tabs" +msgstr "Vetëm skedat e nevojshme" + +#: src/fe-gtk/setup.c:206 +msgid "Open an extra tab for server messages" +msgstr "Hap një skedë ekstra për mesazhe shërbyesi" + +#: src/fe-gtk/setup.c:207 +msgid "Open an extra tab for server notices" +msgstr "Hap një skedë ekstra për njoftime shërbyesi" + +#: src/fe-gtk/setup.c:208 +msgid "Small tabs" +msgstr "Skeda të vogla" + +#: src/fe-gtk/setup.c:209 +msgid "Sort tabs in alphabetical order" +msgstr "Rendit skeda sipas abc-së" + +#: src/fe-gtk/setup.c:210 +msgid "Focus new tabs:" +msgstr "Fokuso skeda të reja:" + +#: src/fe-gtk/setup.c:211 +msgid "Shorten tab labels to:" +msgstr "Shkurto etiketë skedash në:" + +#: src/fe-gtk/setup.c:211 +msgid "letters." +msgstr "gërma." + +#: src/fe-gtk/setup.c:213 +msgid "Tabs Location" +msgstr "Vendndodhje Skedash" + +#: src/fe-gtk/setup.c:214 +msgid "Show tabs at:" +msgstr "Shfaq skeda:" + +#: src/fe-gtk/setup.c:216 +msgid "Tabs or Windows" +msgstr "Skeda ose Dritare" + +#: src/fe-gtk/setup.c:217 +msgid "Open channels in:" +msgstr "Hap kanale në:" + +#: src/fe-gtk/setup.c:218 +msgid "Open dialogs in:" +msgstr "Hap dialogje në:" + +#: src/fe-gtk/setup.c:219 +msgid "Open utilities in:" +msgstr "Hap \"utilities\" në:" + +#: src/fe-gtk/setup.c:219 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "DCC, Shpërfill, Njofto etj, t'i hap si skeda apo si dritare?" + +#: src/fe-gtk/setup.c:226 +msgid "Files and Directories" +msgstr "Kartela dhe Drejtori" + +#: src/fe-gtk/setup.c:227 +msgid "Download files to:" +msgstr "Shkarko kartela te:" + +#: src/fe-gtk/setup.c:228 +msgid "Move completed files to:" +msgstr "Zhvendos kartela të plotësuara te:" + +#: src/fe-gtk/setup.c:229 +msgid "Auto accept file offers" +msgstr "" + +#: src/fe-gtk/setup.c:230 +msgid "Save nick name in filenames" +msgstr "Ruaj nofka në emra kartelash" + +#: src/fe-gtk/setup.c:231 +msgid "Convert spaces to underscore before sending" +msgstr "Shndërro hapësirat në nënvija para dërgimit" + +#: src/fe-gtk/setup.c:233 +msgid "Network Settings" +msgstr "Rregullime Rrjeti" + +#: src/fe-gtk/setup.c:234 +msgid "DCC IP address:" +msgstr "Vendndodhje DCC IP:" + +#: src/fe-gtk/setup.c:235 +msgid "Claim you are at this address when offering files." +msgstr "Pretendoni se jeni në këtë vendndodhje kur ofroni kartela." + +#: src/fe-gtk/setup.c:236 +msgid "First DCC send port:" +msgstr "Porta e parë DCC dërg:" + +#: src/fe-gtk/setup.c:237 +msgid "Last DCC send port:" +msgstr "Porta e fundit DCC dërg:" + +#: src/fe-gtk/setup.c:238 +msgid "(Leave ports at zero for full range)." +msgstr "(Lini portat në zero për interval të plotë)." + +#: src/fe-gtk/setup.c:239 +msgid "Get my address from the IRC server" +msgstr "Kije vendndodhjen time prej serverit IRC" + +#: src/fe-gtk/setup.c:240 +msgid "" +"Asks the IRC server for your real address. Use this if you have a 192.168.*." +"* address!" +msgstr "" +"Pyet shërbyesin IRC për vendndodhjen tuaj të vërtetë. Përdoreni nëse " +"keni një vendndodhje 192.168.*.* !" + +#: src/fe-gtk/setup.c:242 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Shpejtësi më e Madhe Shpërnguljesh Kartelash (bajt për sekondë)" + +#: src/fe-gtk/setup.c:243 +msgid "One upload:" +msgstr "Një ngarkim:" + +#: src/fe-gtk/setup.c:244 src/fe-gtk/setup.c:246 +msgid "Maximum speed for one transfer" +msgstr "Shpejtësi më e madhe pë një shpërngulje" + +#: src/fe-gtk/setup.c:245 +msgid "One download:" +msgstr "Një shkarkim:" + +#: src/fe-gtk/setup.c:247 +msgid "All uploads combined:" +msgstr "Tërë shkarkimet të ndërthurur:" + +#: src/fe-gtk/setup.c:248 src/fe-gtk/setup.c:250 +msgid "Maximum speed for all files" +msgstr "Shpejtësi më e madhe për tërë kartelat" + +#: src/fe-gtk/setup.c:249 +msgid "All downloads combined:" +msgstr "Tërë shkarkimet të ndërthurur:" + +#: src/fe-gtk/setup.c:257 +msgid "Default Messages" +msgstr "Mesazhe Parazgjedhje" + +#: src/fe-gtk/setup.c:258 +msgid "Quit:" +msgstr "Lër:" + +#: src/fe-gtk/setup.c:259 +msgid "Leave channel:" +msgstr "Lër kanal:" + +#: src/fe-gtk/setup.c:260 +msgid "Away:" +msgstr "Largime:" + +#: src/fe-gtk/setup.c:262 +msgid "Away" +msgstr "Larguar" + +#: src/fe-gtk/setup.c:263 +msgid "Announce away messages" +msgstr "Lajmëro mesazhe largimi" + +#: src/fe-gtk/setup.c:264 +msgid "Announce your away messages to all channels" +msgstr "Lajmëroni te tërë kanalet mesazhe largimi tuajt" + +#: src/fe-gtk/setup.c:265 +msgid "Show away once" +msgstr "Shfaq i larguar vetëm një herë" + +#: src/fe-gtk/setup.c:265 +msgid "Show identical away messages only once" +msgstr "Shfaq mesazhe largimi identikë vetëm një herë" + +#: src/fe-gtk/setup.c:266 +msgid "Automatically unmark away" +msgstr "Çshenjo automatikisht si të larguar" + +#: src/fe-gtk/setup.c:266 +msgid "Unmark yourself as away before sending messages" +msgstr "Çshenjoni vetveten si të larguar para dërgimit të mesazheve" + +#: src/fe-gtk/setup.c:269 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "(Mund të jetë një kartelë tekst e lidhur me ~/.xchat2/)." + +#: src/fe-gtk/setup.c:271 +msgid "(Can be a text file relative to config dir)." +msgstr "(Mund të jetë një kartelë tekst e lidhur me config dir)." + +#: src/fe-gtk/setup.c:275 +msgid "Alerts" +msgstr "Sinjalizime" + +#: src/fe-gtk/setup.c:277 +msgid "Flash taskbar on highlighted messages" +msgstr "Xixëllo shtyllë veprimesh në mesazhe të theksuar" + +#: src/fe-gtk/setup.c:279 +msgid "Beep on highlighted messages" +msgstr "Bip në mesazhe të theksuar" + +#: src/fe-gtk/setup.c:280 +msgid "Extra words to highlight on:" +msgstr "Fjalë ekstra për t'u theksuar:" + +#: src/fe-gtk/setup.c:281 +msgid "Nicks not to highlight on:" +msgstr "Nofka për t'u mos theksuar:" + +#: src/fe-gtk/setup.c:282 +msgid "(Separate multiple words with commas)." +msgstr "(Ndaj fjalë të shumëfishta me presje]." + +#: src/fe-gtk/setup.c:283 +msgid "Beep on private messages" +msgstr "Bip në mesazhe vetiakë" + +#: src/fe-gtk/setup.c:284 +msgid "Beep on channel messages" +msgstr "Bip në mesazhe kanali" + +#: src/fe-gtk/setup.c:291 +msgid "Advanced Settings" +msgstr "Rregullime të Mëtejshëm" + +#: src/fe-gtk/setup.c:292 +msgid "Auto reconnect delay:" +msgstr "Vonesë vetërilidhjeje:" + +#: src/fe-gtk/setup.c:293 +msgid "Display MODEs in raw form" +msgstr "Shfaq MËNYRA në formë bruto" + +#: src/fe-gtk/setup.c:294 +msgid "Whois on notify" +msgstr "Whois në njoftime" + +#: src/fe-gtk/setup.c:294 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "" +"Dërgon një /WHOIS kur një përdorues vjen \"online\" në listën tuaj të " +"njoftimeve" + +#: src/fe-gtk/setup.c:295 +msgid "Hide join and part messages" +msgstr "Fshih mesazhe ardhjesh dhe ikjesh" + +#: src/fe-gtk/setup.c:295 +msgid "Hide channel join/part messages by default" +msgstr "Fshih, si parazgjedhje, mesazhe ardhjeje/daljeje prej kanalit" + +#: src/fe-gtk/setup.c:296 +msgid "Auto Open DCC Windows" +msgstr "Vetëhap Dritare DCC" + +#: src/fe-gtk/setup.c:297 +msgid "Send window" +msgstr "Dritare dërgimesh" + +#: src/fe-gtk/setup.c:298 +msgid "Receive window" +msgstr "Dritare marrjesh" + +#: src/fe-gtk/setup.c:299 +msgid "Chat window" +msgstr "Dritare fjalosjeje" + +#: src/fe-gtk/setup.c:307 src/fe-gtk/setup.c:1451 +msgid "Logging" +msgstr "Hyrje" + +#: src/fe-gtk/setup.c:308 +msgid "Enable logging of conversations" +msgstr "Aktivizo regjistrim bashkëbisedimesh" + +#: src/fe-gtk/setup.c:309 +msgid "Log filename:" +msgstr "Emër kartele regjistrimesh" + +#: src/fe-gtk/setup.c:310 +#, c-format +msgid "(%s=Server %c=Channel %n=Network)." +msgstr "(%s=Server %c=Kanal %n=Rrjet)." + +#: src/fe-gtk/setup.c:313 +msgid "Insert timestamps in logs" +msgstr "Fut vulë kohore në regjistra" + +#: src/fe-gtk/setup.c:314 +msgid "Log timestamp format:" +msgstr "Format vule kohore regjistri" + +#: src/fe-gtk/setup.c:315 +msgid "(See strftime manpage for details)." +msgstr "(Shih \"strftime manpage\" për hollësi)." + +#: src/fe-gtk/setup.c:322 +msgid "(Disabled)" +msgstr "(Çaktivizuar)" + +#: src/fe-gtk/setup.c:323 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:324 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:325 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:326 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:332 +msgid "Your Address" +msgstr "Vendndodhja Juaj" + +#: src/fe-gtk/setup.c:333 +msgid "Bind to:" +msgstr "Lidhe te" + +#: src/fe-gtk/setup.c:334 +msgid "(Only useful for computers with multiple addresses)." +msgstr "(I dobishëm vetëm për kompjutera me vendndodhje të shumëfishta)." + +#: src/fe-gtk/setup.c:336 +msgid "Proxy Server" +msgstr "Shërbyes \"Proxy\"" + +#: src/fe-gtk/setup.c:337 +msgid "Hostname:" +msgstr "Emërstrehë:" + +#: src/fe-gtk/setup.c:338 +msgid "Username:" +msgstr "Em. përdoruesi:" + +#: src/fe-gtk/setup.c:339 +msgid "Password:" +msgstr "Fjalëkalim:" + +#: src/fe-gtk/setup.c:340 +msgid "Port:" +msgstr "Portë:" + +#: src/fe-gtk/setup.c:341 +msgid "Type:" +msgstr "Tip:" + +#: src/fe-gtk/setup.c:343 +msgid "Authenticate to the proxy server (HTTP and Socks5)" +msgstr "Mirëfilltëso te shërbyes \"proxy\" (HTTP dhe Socks5)" + +#: src/fe-gtk/setup.c:666 +msgid "Select an Image File" +msgstr "Zgjidh një Kartelë Pamjeje" + +#: src/fe-gtk/setup.c:702 +msgid "Select font" +msgstr "Përzgjidhni gërma" + +#: src/fe-gtk/setup.c:776 +msgid "Browse..." +msgstr "Shfleto..." + +#: src/fe-gtk/setup.c:893 +msgid "Mark identified users with:" +msgstr "Shenjo përdorues të identifikuar me:" + +#: src/fe-gtk/setup.c:895 +msgid "Mark not-identified users with:" +msgstr "Shenjo përdorues të paidentifikuar me:" + +#: src/fe-gtk/setup.c:958 +msgid "Select color" +msgstr "Përzgjidhni ngjyrë" + +#: src/fe-gtk/setup.c:1038 +msgid "Text Colors" +msgstr "Ngjyra Teksti" + +#: src/fe-gtk/setup.c:1040 +msgid "mIRC colors:" +msgstr "Ngjyra mIRC:" + +#: src/fe-gtk/setup.c:1048 +msgid "Extra colors:" +msgstr "Ngjyra ekstra:" + +#: src/fe-gtk/setup.c:1056 src/fe-gtk/setup.c:1061 +msgid "Foreground:" +msgstr "Përpara:" + +#: src/fe-gtk/setup.c:1057 src/fe-gtk/setup.c:1062 +msgid "Background:" +msgstr "Sfond:" + +#: src/fe-gtk/setup.c:1059 +msgid "Marking Text" +msgstr "Shenjim Tekstesh" + +#: src/fe-gtk/setup.c:1064 +msgid "Interface Colors" +msgstr "Ngjyra Ndërfaqeje" + +#: src/fe-gtk/setup.c:1066 +msgid "New data:" +msgstr "Të dhëna të reja:" + +#: src/fe-gtk/setup.c:1067 +msgid "Marker line:" +msgstr "Vijë shënimi" + +#: src/fe-gtk/setup.c:1068 +msgid "New message:" +msgstr "Mesazh i ri:" + +#: src/fe-gtk/setup.c:1069 +msgid "Away user:" +msgstr "Përdorues i larguar:" + +#: src/fe-gtk/setup.c:1070 +msgid "Highlight:" +msgstr "Theksim:" + +#: src/fe-gtk/setup.c:1166 src/fe-gtk/textgui.c:386 +msgid "Event" +msgstr "Ngjarje" + +#: src/fe-gtk/setup.c:1172 +msgid "Sound file" +msgstr "Kartelë tingull" + +#: src/fe-gtk/setup.c:1207 +msgid "Select a sound file" +msgstr "Përzgjidhni një kartelë tingull" + +#: src/fe-gtk/setup.c:1279 +msgid "Sound playing method:" +msgstr "Metodë luajtjeje tingulli:" + +#: src/fe-gtk/setup.c:1287 +msgid "External sound playing _program:" +msgstr "Program i jashtëm luajtjeje tingujsh:" + +#: src/fe-gtk/setup.c:1305 +msgid "_External program" +msgstr "Program i _jashtëm" + +#: src/fe-gtk/setup.c:1315 +msgid "_Automatic" +msgstr "_Automatike" + +#: src/fe-gtk/setup.c:1328 +msgid "Sound files _directory:" +msgstr "_Drejtori kartelash tingulli:" + +#: src/fe-gtk/setup.c:1367 +msgid "Sound file:" +msgstr "Kartelë tingulli:" + +#: src/fe-gtk/setup.c:1382 +msgid "_Browse..." +msgstr "_Shfleto..." + +#: src/fe-gtk/setup.c:1393 +msgid "_Play" +msgstr "_Luaj" + +#: src/fe-gtk/setup.c:1442 +msgid "Interface" +msgstr "Ndërfaqe" + +#: src/fe-gtk/setup.c:1443 +msgid "Text box" +msgstr "Kuti tekstesh" + +#: src/fe-gtk/setup.c:1444 +msgid "Input box" +msgstr "Kuti futjeje" + +#: src/fe-gtk/setup.c:1445 +msgid "User list" +msgstr "Listë përdoruesi" + +#: src/fe-gtk/setup.c:1447 +msgid "Colors" +msgstr "Ngjyra" + +#: src/fe-gtk/setup.c:1449 +msgid "Chatting" +msgstr "Fjalosje" + +#: src/fe-gtk/setup.c:1450 +msgid "General" +msgstr "Të përgjithshme" + +#: src/fe-gtk/setup.c:1452 +msgid "Sound" +msgstr "Tingull" + +#: src/fe-gtk/setup.c:1455 +msgid "Network" +msgstr "Rrjet" + +#: src/fe-gtk/setup.c:1456 +msgid "Network setup" +msgstr "Rregullim rrjeti" + +#: src/fe-gtk/setup.c:1457 +msgid "File transfers" +msgstr "Shpërngulje kartelash" + +#: src/fe-gtk/setup.c:1565 +msgid "Categories" +msgstr "Kategori" + +#: src/fe-gtk/setup.c:1698 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" +"Për disa nga ndryshimet lipset të rinisni programin pa të jenë vepruese." + +#: src/fe-gtk/setup.c:1726 +msgid "XChat: Preferences" +msgstr "XChat: Parapëlqime" + +#: src/fe-gtk/textgui.c:177 +msgid "There was an error parsing the string" +msgstr "Pati një gabim në përtypjen e vargut" + +#: src/fe-gtk/textgui.c:185 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "This signal is only passed %d args, $%d is invalid" + +#: src/fe-gtk/textgui.c:301 src/fe-gtk/textgui.c:324 +msgid "Print Texts File" +msgstr "Shtyp Kartelë Tekstesh" + +#: src/fe-gtk/textgui.c:369 +msgid "Edit Events" +msgstr "Përpuno Ç'ndodh" + +#: src/fe-gtk/textgui.c:420 +msgid "$ Number" +msgstr "$ Numër" + +#: src/fe-gtk/textgui.c:435 +msgid "Save As..." +msgstr "Ruaj Si..." + +#: src/fe-gtk/textgui.c:437 +msgid "Load From..." +msgstr "Ngarko Prej..." + +#: src/fe-gtk/textgui.c:438 +msgid "Test All" +msgstr "Testo Tërë" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: Kopjues URL-sh" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Fshij listë" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Kopjo URL-në e përzgjedhur" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Kopjo" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Ruaj listë si një kartelë" + +#: src/fe-gtk/userlistgui.c:107 +#, c-format +msgid "%d ops, %d total" +msgstr "%d op, gjithsej %d" + +#: plugins/dbus/xchat-remote.c:41 +msgid "Open an irc:// url" +msgstr "Hap një url irc://" + +#: plugins/dbus/xchat-remote.c:41 +msgid "irc://server:port/channel" +msgstr "irc://shërbyes:port/kanal" + +#: plugins/dbus/xchat-remote.c:42 +msgid "Execute a xchat command" +msgstr "Përmbush një urdhër xchat" + +#: plugins/dbus/xchat-remote.c:42 +msgid "\"Command to execute\"" +msgstr "\"Urdhër për t'u përmbushur\"" + +#: plugins/dbus/xchat-remote.c:43 +msgid "Prints some text to the current tab/window" +msgstr "Shtyp ca tekst në skedën/dritaren e çastit" + +#: plugins/dbus/xchat-remote.c:43 +msgid "\"Text to print\"" +msgstr "\"Tekst për t'u shtypur" + +#: plugins/dbus/xchat-remote.c:44 +msgid "Change the context to the channel" +msgstr "Ja kalon kontekstin kanalit" + +#: plugins/dbus/xchat-remote.c:44 +msgid "channel" +msgstr "kanal" + +#: plugins/dbus/xchat-remote.c:45 +msgid "Change the context to the server" +msgstr "Ja kalon kontekstin shërbyesit" + +#: plugins/dbus/xchat-remote.c:45 +msgid "server" +msgstr "shërbyes" + +#: plugins/dbus/xchat-remote.c:46 +msgid "Get some informations from xchat" +msgstr "Merr ca të dhëna prej xchat-it" + +#: plugins/dbus/xchat-remote.c:46 +msgid "id" +msgstr "id" + +#: plugins/dbus/xchat-remote.c:47 +msgid "Get settings from xchat" +msgstr "Ki rregullime prej xchat-it" + +#: plugins/dbus/xchat-remote.c:47 +msgid "name" +msgstr "emër" + +#: plugins/dbus/xchat-remote.c:79 +#, c-format +msgid "" +"xchat-remote: %s\n" +"Try `xchat-remote --help' for more information\n" +msgstr "" +"xchat-remote: %s\n" +"Për më tepër të dhëna provoni `xchat-remote --help'\n" + +#: plugins/dbus/xchat-remote.c:90 +msgid "Couldn't connect to session bus" +msgstr "S'u lidha dot me busin e sesionit" + +#: plugins/dbus/xchat-remote.c:116 plugins/dbus/xchat-remote.c:130 +msgid "Failed to complete command" +msgstr "Dështova në përmbushjen e urdhrit" + +#: plugins/dbus/xchat-remote.c:125 +msgid "Failed to complete SetContext" +msgstr "Dështova në përmbushjen e SetContext-it" + +#: plugins/dbus/xchat-remote.c:135 +msgid "Failed to complete print" +msgstr "Dështova në kryerjen e shtypjes" + +#: plugins/dbus/xchat-remote.c:142 +msgid "Failed to complete GetInfo" +msgstr "Dështova në përmbushjen e GetInfo-s" + +#: plugins/dbus/xchat-remote.c:155 +msgid "Failed to complete GetPrefs" +msgstr "Dështova në përmbushjen e GetPrefs" + +#: plugins/dbus/xchat-remote.c:159 +#, c-format +msgid "%s doesn't exist\n" +msgstr "%s nuk ekziston\n" + +#: plugins/dbus/dbus-plugin.c:27 +msgid "xchat remote access" +msgstr "" + +#: plugins/dbus/dbus-plugin.c:28 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: plugins/dbus/dbus-plugin.c:333 +#, c-format +msgid "Couldn't connect to session bus : %s\n" +msgstr "Nuk u lidha dot me busin e sesionit : %s\n" + +#: plugins/dbus/dbus-plugin.c:353 +#, fuzzy, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Dështova në pasjen" + +#: plugins/dbus/dbus-plugin.c:401 +#, fuzzy, c-format +msgid "%s loaded successfully!\n" +msgstr "ngarkuar me sukses!\n" + +#, fuzzy +#~ msgid "%s unloaded successfully!\n" +#~ msgstr "ngarkuar me sukses!\n" + +#~ msgid "To/From" +#~ msgstr "Te/Për" + +#~ msgid "None" +#~ msgstr "Asnjë" + +#~ msgid "From:" +#~ msgstr "Prej:" + +#~ msgid "To:" +#~ msgstr "Për:" + +#~ msgid "Size:" +#~ msgstr "Madhësi:" + +#~ msgid "Started:" +#~ msgstr "Filluar:" + +#~ msgid "Speed limit:" +#~ msgstr "Kufi shpejtësie:" + +#~ msgid "MIME Type" +#~ msgstr "Tip MIME" + +#~ msgid "XChat: File Receive List" +#~ msgstr "XChat: Listë Marrjesh Kartelash" + +#~ msgid "Open" +#~ msgstr "Hap" + +#~ msgid "Ack" +#~ msgstr "Pranuar" + +#~ msgid "To" +#~ msgstr "Për" + +#~ msgid "XChat: File Send List" +#~ msgstr "XChat: Listë Dërgimesh Kartelash" + +#~ msgid "Close" +#~ msgstr "Mbyll" + +#~ msgid " : %s\n" +#~ msgstr " : %s\n" diff --git a/po/sr.po b/po/sr.po new file mode 100644 index 00000000..dcc0cbf6 --- /dev/null +++ b/po/sr.po @@ -0,0 +1,5456 @@ +# XChat translation file: Serbian language +# Copyright (C) 2004,2005,2006 Free Software Foundation, Inc. +# +# Translators: +# o Zoltan Čala <zolika@sezampro.yu>, 1999. +# o Filip Miletić <f.miletic@ewi.tudelft.nl>, 2004, 2005, 2006. +# o Aleksandar Jelenak <jelenak@netlinkplus.net>, 2004, 2005. +# +# Note: +# The file sr@Latn.po is automatically generated from sr.po +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.6.3\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2006-05-19 00:25+1000\n" +"PO-Revision-Date: 2006-06-18 00:49+0200\n" +"Last-Translator: Aleksandar Jelenak <jelenak@verizon.net>\n" +"Language-Team: Serbian <gnu@prevod.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: src/common/cfgfiles.c:350 +msgid "Cannot create ~/.xchat2" +msgstr "Није направљен ~/.xchat2" + +#: src/common/cfgfiles.c:683 +msgid "I'm busy" +msgstr "Заузет сам" + +#: src/common/cfgfiles.c:684 +msgid "Leaving" +msgstr "Одлазим" + +#: src/common/cfgfiles.c:730 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Није добра идеја да користите IRC као\n" +" администратор. Боље је направити налог.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Чекам" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Активан" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Неуспело" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Готово" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:740 +msgid "Connect" +msgstr "Повежи се" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Прекинуто" + +#: src/common/dcc.c:1875 src/common/outbound.c:2246 +#, c-format +msgid "Cannot access %s\n" +msgstr "Нема приступа %s\n" + +#: src/common/dcc.c:2358 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s нуди „%s‟. Да ли желите да прихватите?" + +#: src/common/dcc.c:2569 +msgid "No active DCCs\n" +msgstr "Нема активних DCC-ова\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "ДА " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "НЕ " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Корисник %s вас засипа CTCP захтевима, игноришем %s\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "Корисник %s вас засипа MSG захтевима, искључујем посебне прозоре за разговор. \n" + +#: src/common/notify.c:396 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s на вези\n" + +#: src/common/notify.c:398 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s није ту\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Нисте на каналу. Пробајте са /join #<канал>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Нисте на вези. Пробајте са /server <хост> [<порт>]\n" + +#: src/common/outbound.c:1650 +msgid "I need /bin/sh to run!\n" +msgstr "За покретање треба имати /bin/sh!\n" + +#: src/common/outbound.c:1983 +msgid "Commands Available:" +msgstr "Доступне наредбе:" + +#: src/common/outbound.c:1997 +msgid "User defined commands:" +msgstr "Корисникове наредбе:" + +#: src/common/outbound.c:2013 +msgid "Plugin defined commands:" +msgstr "Наредбе описане у додацима:" + +#: src/common/outbound.c:2024 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Куцајте /HELP <наредба> за помоћ, или /HELP -l" + +#: src/common/outbound.c:2099 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Непознат аргумент '%s' је занемарен." + +#: src/common/outbound.c:2960 +msgid "No such plugin found.\n" +msgstr "Додатак није пронађен.\n" + +#: src/common/outbound.c:2965 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Овај додатак се није учитао.\n" + +#: src/common/outbound.c:3200 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <име> <наредба>, додаје дугме у корисничeв списак команди" + +#: src/common/outbound.c:3202 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <наредба>, шаље команду на све канале где сте повезани" + +#: src/common/outbound.c:3204 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <наредба>, шаље наредбу на све канале на које сте пријављени" + +#: src/common/outbound.c:3206 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <команда>, шаље команду свим серверима где сте повезани" + +#: src/common/outbound.c:3207 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<разлог>], пријављује одсуство" + +#: src/common/outbound.c:3209 +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 <шаблон> [<врста>], забрана за све кориснике обухваћене шаблоном од приступа каналу. Ако су већ на каналу, не избацује их (за то треба бити „оп‟)" + +#: src/common/outbound.c:3211 +msgid "CLEAR, Clears the current text window" +msgstr "CLEAR, брише тренутни прозор са текстом" + +#: src/common/outbound.c:3212 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, затвара тренутни прозор/језичак" + +#: src/common/outbound.c:3215 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <код|шаблон>, тражи код земље, нпр: au = аустралија" + +#: src/common/outbound.c:3217 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <име> <порука>, шаље CTCP поруку на дато име, попут VERSION или USERINFO" + +#: src/common/outbound.c:3219 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "CYCLE, напушта тренутни канал и одмах се враћа назад" + +#: src/common/outbound.c:3221 +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 "" +"\n" +"DCC GET <име> - прихвати понуђену датотеку\n" +"DCC SEND [-maxcps=#] <име> <дат> - пошаљи некоме датотеку\n" +"DCC PSEND [-maxcps=#] <име> <дат> - пошаљи некоме датотеку, пасиван начин\n" +"DCC LIST - покажи списак за DCC\n" +"DCC CHAT <име> - понуди разговор преко DCC\n" +"DCC PCHAT <име> - понуди разговор преко DCC, пасиван начин\n" +"DCC CLOSE <тип> <име> <дат> пример:\n" +" /dcc close send пераперић датотека.tar.gz" + +#: src/common/outbound.c:3233 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <име>, склања полу-оп звање за име на тренутном каналу (потребан је„оп)‟" + +#: src/common/outbound.c:3235 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <име>, брише дугме са корисничног списка" + +#: src/common/outbound.c:3237 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DELBUTTON <име>, уклања звање оператора за име на овом каналу" + +#: src/common/outbound.c:3239 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <име>, одузима реч за име на овом каналу" + +#: src/common/outbound.c:3240 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, искључује са сервера" + +#: src/common/outbound.c:3241 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <име|рач|ip>, тражи корисников IP број" + +#: src/common/outbound.c:3242 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <текст>, исписује текст" + +#: src/common/outbound.c:3245 +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] <наредба>, изврши наредбу. Ако је дата ознака -o онда се исписшаље на тренутни канал, иначе се исписује у оквиру за текст." + +#: src/common/outbound.c:3247 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, шаље процесу SIGCONT" + +#: src/common/outbound.c:3250 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], зауставља позив exec у овој сесији. Ако је дато и -9 процесу се шаље SIGKILL" + +#: src/common/outbound.c:3252 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, шаље процесу SIGSTOP" + +#: src/common/outbound.c:3253 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, шаље податке на стандардни улаз процеса" + +#: src/common/outbound.c:3257 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, празни ред за слање на овом серверу" + +#: src/common/outbound.c:3259 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "ГАТЕ <рач.> [<порт>], прослеђује преко рач(унара), за порт се узима 23" + +#: src/common/outbound.c:3262 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <надимак> <лозинка>, Убија „дух“ надимак" + +#: src/common/outbound.c:3267 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <име>, даје звање полу-оп овом имену (потребан је оп) " + +#: src/common/outbound.c:3268 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <лозинка>, пријављује Вас на nickserv" + +#: src/common/outbound.c:3270 +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 <шаблон> <типови...> <избори...>\n" +" шаблон - шаблон за име рачунара, нпр. *!*@.aol.com\n" +" типови - шта занемарити, један или више из скупа:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" избори - NOSAVE, QUIET" + +#: src/common/outbound.c:3277 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <име> [<канал>], позива име да се прикључи каналу, мисли се на тренутни ако се не наведе (потребан је оп)" + +#: src/common/outbound.c:3278 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <канал>, прикључује се каналу" + +#: src/common/outbound.c:3280 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <име>, избацује име са овог канала (потребан је оп)" + +#: src/common/outbound.c:3282 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <име>, забрањује а затим избацује име са овог канала (потребан је оп)" + +#: src/common/outbound.c:3285 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, тражи да се измери кашњење" + +#: src/common/outbound.c:3287 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <текст>, тражи текст у записима" + +#: src/common/outbound.c:3289 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <дат.>, учитава додатак или скрипту" + +#: src/common/outbound.c:3292 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, одузима звање свим полу-операторима на овом каналу (потребан је оп)" + +#: src/common/outbound.c:3294 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, одузима звање свим операторима на овом каналу (потребан је оп)" + +#: src/common/outbound.c:3296 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <радња>, шаље опис радње на овај канал (радње се пишу у трећем лицу, нпр. /me скаче" + +#: src/common/outbound.c:3299 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, избацује све друге са канала (потребан је оп)" + +#: src/common/outbound.c:3302 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, свима на каналу додељује звање оператора (потребан је оп)" + +#: src/common/outbound.c:3303 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <име> <порука>, шаље приватну поруку" + +#: src/common/outbound.c:3306 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, исписује имена на овом каналу" + +#: src/common/outbound.c:3308 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <име> <порука>, шаље CTCP дојаву" + +#: src/common/outbound.c:3309 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <рачунар> [<порт>]" + +#: src/common/outbound.c:3310 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <име>, узимање новог имена" + +#: src/common/outbound.c:3313 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <име/канал> <порука>, шаље дојаву. Дојава је врста поруке коју треба аутоматски обрадити" + +#: src/common/outbound.c:3315 +msgid "NOTIFY [<nick>], lists your notify list or adds someone to it" +msgstr "NOTIFY [<nick>], даје списак имена која ишчекујете или додаје на списак" + +#: src/common/outbound.c:3317 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <име>, даје звање оператора овом имену (потребан је оп)" + +#: src/common/outbound.c:3319 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<канал>] [<разлог>], напушта канал, и то тренутни ако се не наведе" + +#: src/common/outbound.c:3321 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <име | канал>, испитује име или канал CTCP поруком" + +#: src/common/outbound.c:3323 +msgid "QUERY <nick>, opens up a new privmsg window to someone" +msgstr "QUERY <име>, отвара нови прозор за личне поруке" + +#: src/common/outbound.c:3325 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reason>], искључује са овог сервера" + +#: src/common/outbound.c:3327 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <текст>, шаље сирови текст серверу" + +#: src/common/outbound.c:3330 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<рач.>] [<порт>] [<лозинка>], може се користити и само /RECONNECT за поновно спајање на сервер или као /RECONNECT ALL за поновно спајање на све отворене сервере" + +#: src/common/outbound.c:3333 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<рач.>] [<порт>] [<лозинка>], може се користити и само /RECONNECT за поновно спајање на сервер или као /RECONNECT ALL за поновно спајање на све отворене сервере" + +#: src/common/outbound.c:3335 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <текст>, пошаљи сирове податке у иксчет, као да су стигли са IRC сервера" + +#: src/common/outbound.c:3338 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <текст>, шаље текст као поруку објекту у овом прозору" + +#: src/common/outbound.c:3339 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<file>]" + +#: src/common/outbound.c:3342 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <рач.> <порт> <канал>, повезује се и учлани на канал" + +#: src/common/outbound.c:3345 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <рач.> <порт> <канал>, повезује се и учлани на канал" + +#: src/common/outbound.c:3349 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <рач.> [<порт>] [<лозинка>], повезује се на сервер, узима да је порт 6667 за нормалну везу, одн. на 9999 за сигурну везу преко SSL" + +#: src/common/outbound.c:3352 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <рач.> [<порт>] [<лозинка>], повезује се на сервер, узима да је порт 6667" + +#: src/common/outbound.c:3354 +msgid "SET [-quiet] <variable> [<value>]" +msgstr "SET [-quiet] <променљива> [<вредност>]" + +#: src/common/outbound.c:3355 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<место>" + +#: src/common/outbound.c:3359 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<тема>], поставља тему ако је наведена, иначе прикаже тренутну тему" + +#: src/common/outbound.c:3361 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <шаблон> [<шаблон>...], скида забрану за ове шаблоне" + +#: src/common/outbound.c:3362 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <шаблон> [QUIET]" + +#: src/common/outbound.c:3363 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <име>, уклони додатак или скрипт" + +#: src/common/outbound.c:3364 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, отвара URL у прегледнику мреже" + +#: src/common/outbound.c:3366 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <име1> <име2> итд, наглашава имена у списку корисника канала" + +#: src/common/outbound.c:3369 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <име>, даје реч (потребан је оп)" + +#: src/common/outbound.c:3371 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <порука>, шаље поруку на све канале" + +#: src/common/outbound.c:3373 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <порука>, шаље поруку свим операторима на овом каналу" + +#: src/common/outbound.c:3406 +#, c-format +msgid "Usage: %s\n" +msgstr "Употреба: %s\n" + +#: src/common/outbound.c:3411 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"За ову наредбу помоћ није доступна.\n" + +#: src/common/outbound.c:3417 +msgid "No such command.\n" +msgstr "Не постоји наредба.\n" + +#: src/common/outbound.c:3744 +msgid "Bad arguments for user command.\n" +msgstr "Погрешни аргументи за корисничку наредбу.\n" + +#: src/common/outbound.c:3900 +msgid "Too many recursive usercommands, aborting." +msgstr "Сувише команди се унакрсно позива, обустављам." + +#: src/common/outbound.c:3977 +msgid "Unknown Command. Try /help\n" +msgstr "Команда није препозната. Пробајте са /help\n" + +#: src/common/plugin.c:371 src/common/plugin.c:412 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Име xchat_plugin_init не постоји; можда ово није додатак за иксчет?" + +#: src/common/server.c:621 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Да ли сте сигурни да је ово SSL сервер и порт?\n" + +#: src/common/server.c:1005 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Рачунар %s наизглед не постоји\n" +"Проверите подешавања за IP!\n" + +#: src/common/server.c:1010 +msgid "Proxy traversal failed.\n" +msgstr "Неуспео контакт са заступником.\n" + +#: src/common/servlist.c:641 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Покушавам везу са следећим сервером у %s...\n" + +#: src/common/servlist.c:1065 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Упозорење: Скуп знакова „%s‟ није познат. За мрежу %s се зато неће користити конверзија." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 додат на списак посматраних." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Забране:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tНе успева прикључење%C26 %B$1 %O(имате забрану)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "Име %C22*%O$t$1 је промењено у $2" + +#: src/common/textevents.h:21 +msgid "%C18*$t$1%O $2" +msgstr "%C18*$t$1%O $2" + +#: src/common/textevents.h:24 +msgid "%C21*%O$t%C21%B$1%O%C21 $2" +msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 поставља забрану на $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tНаправљен је нови канал $1 на $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O укида звање полу-оператора за %C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O укида звање оператора за %C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O одузима реч од %C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 поставља изузеће за $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O додељује звање полу оператора за %C26 $2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 позива на прикључење на $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UКанал Бр.кор. Тема" + +#: src/common/textevents.h:54 +msgid "%C18%H<%H$4$1%H>%H%O$t$2" +msgstr "%C18%H<%H$4$1%H>%H%O$t$2" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 поставља приступну ознаку на $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Канал $1 приступне ознаке: $2" + +#: src/common/textevents.h:63 +msgid "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" +msgstr "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" + +#: src/common/textevents.h:66 +msgid "%C28-%C29$1/$2%C28-%O$t$3" +msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O додељује звање оператора за%C26 $2" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 уклања изузеће за $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 уклања позив за прикључење на $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 уклања кључну реч за канал" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 укида највећи дозвољени број корисника на каналу" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 поставља кључну реч за канал на $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 поставља највећи дозвољени број корисника на $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 уклања забрану за $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O даје реч за %C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Повезивање је успело. Пријава у току..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22У току је повезивање на $1 ($2) порт $3%O.." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Повезивање није успело. Јављена је грешка: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tПримљен је CTCP захтев $1 од $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tПримљен је CTCP захтев $1 од $2 (за $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tПримљен је CTCP звук $1 од $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tПримљен је CTCP звук $1 од $2 (за $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tПрекинут је DCC разговор са %C26$1%O." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tУспостављен је разговор путем DCC са %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tРазговор путем DCC са %C26$1%O је прекинут услед грешке. $4." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tПримљена је понуда за разговор путем DCC од $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tНудим разговор путем DCC за $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$t$1 већ има понуду за разговор одавде" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 повезивање са%C26 $2%O неуспело (грешка=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tПреузета датотека '$1%O' од $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Врста Од/за Стање Вел. Место Датотека " + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$tПримљен је неисправан DCC захтев од %C26$1%O.%010%C22*%O$tСадржај пакета: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tНудимо %C26$1 %O за %C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tОва DCC понуда не постоји." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV %C126$2%O за%C26 $1%O прекинут." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tDCC RECV%C26 $1%O од%C26 $3%O обављено %C30[%C26$4%O зн./сек.%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC RECV веза успостављена са%C26 $1 %C30[%O$2%C30]%O" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O од%C26 $3%O неуспела. $4." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: Не може се писати у $1 ($2)." + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tДатотека%C26 $1%C већ постоји, снимам под именом%C26 $2%O." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Cтражи да се настави%C26 $2 %Cод%C26 $3%C." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND%C26 $2%O за%C26 $1%O је прекинут." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC SEND%C26 $1%O за%C26 $2%O обављен %C30[%C26$3%O зн./сек.%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC SEND веза успостављена са%C26 $1 %C30[%O$2%C30]%O" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND веза%C26 $1%O са%C26 $2%O није успела. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Cје понудио%C26 $2 %C(%C26$3 %Cбајт((ов)а))" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Cза%C26 $3 %Cзаостаје - прекидам." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Cка%C26 $3 %Cје истекао - прекидам." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 избрисан са списка посматраних." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tИскључен ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tВаш IP број је: [$1]" + +#: src/common/textevents.h:207 +msgid "$1$t$2" +msgstr "$1$t$2" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O додат у списак ућутканих." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Занемари кад се промени%C26 $1%O." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Образац за име хоста PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O избрисан са списка ућутканих." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " Списак ућутканих је празан." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tНије могуће прикључити се на%C26 %B$1 %O без позива." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tПозвани сте на канал%C26 $1%C, позвао је%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) дошао на $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tНије могуће прокључити се на%C26 %B$1 %O без знања кључне речи." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 је избацио $2 са $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tОдстранио вас је $1 ($2%O)" + +#: src/common/textevents.h:246 src/common/textevents.h:270 +msgid "%C19>%O$1%C19<%O$t$2" +msgstr "%C19>%O$1%C19<%O$t$2" + +#: src/common/textevents.h:249 +msgid "%C16*%O$t$1%O" +msgstr "%C16*%O$t$1%O" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22Прескочили смо вести дана." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$tИме $1 неко већ користи. Пробам да користим $2.." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tНеко већ користи ово име. Можете користити команду /NICK да пробате неко друго име." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tDCC захтев не постоји." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tНиједан процес није покренут." + +#: src/common/textevents.h:267 +msgid "%C28-%C29$1%C28-%O$t$2" +msgstr "%C28-%C29$1%C28-%O$t$2" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tСписак посматраних је празан." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Списак посматраних " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 корисници на списку посматраних." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($2)." +msgstr "%C22*%O$tВест: $1 је на вези ($2)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($2)." +msgstr "%C22*%O$tВест: $1 је на вези ($2)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) оде $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) оде са $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tВреме одзива за $1 у секундама: $2" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tОдзив је изостао за $1 сек., искључујем се." + +#: src/common/textevents.h:303 +msgid "%C28*%C29$3$1%C28*$t%O$2" +msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#: src/common/textevents.h:306 +msgid "%C18%H<%H$3$1%H>%H%O$t$2" +msgstr "%C18%H<%H$3$1%H>%H%O$t$2" + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tПроцес је већ покренут" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 оде (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 поставља приступ%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tТражим IP број за%C26 $1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Повезан." + +#: src/common/textevents.h:327 src/common/textevents.h:333 +#: src/common/textevents.h:336 +msgid "%C22*%O$t$1" +msgstr "%C22*%O$t$1" + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Тражим%C26 $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tПретходно успостављање везе је прекинуто (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Тема за%C29 $1%C %C29је: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 променио је тему у: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Тему за $1%C %C29поставио је $2%C %C29у $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tНепознато име рачунара. Можда је погрешно откуцано?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tНије могуће ући на%C26 %B$1 %O јер је достигнут највећи дозвољени број корисника." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Корисници на $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cје одсутан %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OКрај списка за WHOIS." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O неактиван%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O неактиван%C26 $2%O, пријављен:%C26 $3%O" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30) %O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Oправи user@host%C27 $2%O, прави IP%C27 $3%O" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Сада причате на $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$t вас је избацио са канала $2 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tНапустили сте канал $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tНапустили сте канал $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:405 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tЗовете%C26 $1%C на%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:408 +msgid "%C31%H<%H$4$1%H>%H%O%C30$t$2" +msgstr "%C31%H<%H$4$1%H>%H%O%C30$t$2" + +#: src/common/textevents.h:411 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tПроменили сте име у $2" + +#: src/common/text.c:61 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** КРАЈ ЗАПИСА У ДНЕВНИКУ У %s\n" + +#: src/common/text.c:263 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ПОЧЕТАК ЗАПИСА У ДНЕВНИКУ У %s\n" + +#: src/common/text.c:282 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Дневник се не може отворити за упис. Проверите\n" +" права приступа за %s/xchatlogs" + +#: src/common/text.c:516 +msgid "Left message" +msgstr "Порука слева" + +#: src/common/text.c:517 +msgid "Right message" +msgstr "Порука здесна" + +#: src/common/text.c:521 +msgid "The nick of the joining person" +msgstr "Име особе која се прикључује" + +#: src/common/text.c:522 +msgid "The channel being joined" +msgstr "Канал на који се прикључује" + +#: src/common/text.c:523 src/common/text.c:569 src/common/text.c:626 +msgid "The host of the person" +msgstr "Рачунар на коме ради" + +#: src/common/text.c:527 src/common/text.c:533 src/common/text.c:540 +#: src/common/text.c:607 src/common/text.c:733 src/common/text.c:740 +#: src/common/text.c:745 src/common/text.c:750 src/common/text.c:755 +#: src/common/text.c:761 src/common/text.c:766 src/common/text.c:770 +#: src/common/text.c:776 src/common/text.c:782 src/common/text.c:828 +#: src/common/text.c:838 src/common/text.c:843 src/common/text.c:848 +#: src/common/text.c:857 src/common/text.c:868 src/common/text.c:875 +#: src/common/text.c:881 src/common/text.c:886 src/common/text.c:891 +#: src/common/text.c:898 src/common/text.c:904 src/common/text.c:910 +#: src/common/text.c:915 src/common/text.c:920 src/common/text.c:924 +#: src/common/text.c:930 src/common/text.c:938 src/common/text.c:972 +#: src/common/text.c:977 +msgid "Nickname" +msgstr "Надимак" + +#: src/common/text.c:528 +msgid "The action" +msgstr "Наредба" + +#: src/common/text.c:529 src/common/text.c:535 +msgid "Mode char" +msgstr "Ознака за приступ" + +#: src/common/text.c:534 +msgid "The text" +msgstr "Текст" + +#: src/common/text.c:536 src/common/text.c:609 +msgid "Identified text" +msgstr "Препознат текст" + +#: src/common/text.c:541 src/common/text.c:597 src/common/text.c:603 +#: src/common/text.c:608 +msgid "The message" +msgstr "Порука" + +#: src/common/text.c:545 src/common/text.c:613 +msgid "Old nickname" +msgstr "Стари надимак" + +#: src/common/text.c:546 src/common/text.c:614 +msgid "New nickname" +msgstr "Нови надимак" + +#: src/common/text.c:550 +msgid "Nick of person who changed the topic" +msgstr "Име особе која је променила тему" + +#: src/common/text.c:551 src/common/text.c:557 src/fe-gtk/chanlist.c:607 +#: src/fe-gtk/chanlist.c:712 +msgid "Topic" +msgstr "Тема" + +#: src/common/text.c:552 src/common/text.c:556 src/common/text.c:992 +#: src/fe-gtk/chanlist.c:605 src/fe-gtk/chanlist.c:703 +#: src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Канал" + +#: src/common/text.c:561 src/common/text.c:620 +msgid "The nickname of the kicker" +msgstr "Име избацивача" + +#: src/common/text.c:562 src/common/text.c:618 +msgid "The person being kicked" +msgstr "Избачена особа" + +#: src/common/text.c:563 src/common/text.c:570 src/common/text.c:574 +#: src/common/text.c:579 src/common/text.c:619 src/common/text.c:627 +#: src/common/text.c:634 +msgid "The channel" +msgstr "Канал" + +#: src/common/text.c:564 src/common/text.c:621 src/common/text.c:628 +msgid "The reason" +msgstr "Разлог" + +#: src/common/text.c:568 src/common/text.c:625 +msgid "The nick of the person leaving" +msgstr "Име особе која одлази" + +#: src/common/text.c:575 src/common/text.c:581 +msgid "The time" +msgstr "Време" + +#: src/common/text.c:580 +msgid "The creator" +msgstr "Креатор" + +#: src/common/text.c:585 +msgid "Nick" +msgstr "Име" + +#: src/common/text.c:586 src/common/text.c:844 +msgid "Reason" +msgstr "Разлог" + +#: src/common/text.c:587 src/common/text.c:735 src/common/text.c:818 +msgid "Host" +msgstr "Рачунар" + +#: src/common/text.c:591 src/common/text.c:596 src/common/text.c:601 +msgid "Who it's from" +msgstr "Од кога долази" + +#: src/common/text.c:592 +msgid "The time in x.x format (see below)" +msgstr "Време у формату x.x (видети испод)" + +#: src/common/text.c:602 src/common/text.c:645 +msgid "The Channel it's going to" +msgstr "Канал на који иде" + +#: src/common/text.c:632 +msgid "The sound" +msgstr "Звук" + +#: src/common/text.c:633 src/common/text.c:639 src/common/text.c:644 +msgid "The nick of the person" +msgstr "Име особе" + +#: src/common/text.c:638 src/common/text.c:643 +msgid "The CTCP event" +msgstr "CTCP догађај" + +#: src/common/text.c:649 +msgid "The nick of the person who set the key" +msgstr "Име особе која је поставила кључ" + +#: src/common/text.c:650 +msgid "The key" +msgstr "Кључ" + +#: src/common/text.c:654 +msgid "The nick of the person who set the limit" +msgstr "Име особе која је поставила ограничење" + +#: src/common/text.c:655 +msgid "The limit" +msgstr "Ограничење" + +#: src/common/text.c:659 +msgid "The nick of the person who did the op'ing" +msgstr "Име особе која је доделила опа" + +#: src/common/text.c:660 +msgid "The nick of the person who has been op'ed" +msgstr "Име особе која је добила опа" + +#: src/common/text.c:664 +msgid "The nick of the person who has been halfop'ed" +msgstr "Име особе која је добила полу-опа" + +#: src/common/text.c:665 +msgid "The nick of the person who did the halfop'ing" +msgstr "Име особе која је доделила полу-опа" + +#: src/common/text.c:669 +msgid "The nick of the person who did the voice'ing" +msgstr "Име особе која је дала реч" + +#: src/common/text.c:670 +msgid "The nick of the person who has been voice'ed" +msgstr "Име особе која је добила реч" + +#: src/common/text.c:674 +msgid "The nick of the person who did the banning" +msgstr "Име особе која је забранила" + +#: src/common/text.c:675 src/common/text.c:702 +msgid "The ban mask" +msgstr "Шаблон за забрану" + +#: src/common/text.c:679 +msgid "The nick who removed the key" +msgstr "Име особе која је склонила кључ" + +#: src/common/text.c:683 +msgid "The nick who removed the limit" +msgstr "Име особе која је уклонила ограничење" + +#: src/common/text.c:687 +msgid "The nick of the person of did the deop'ing" +msgstr "Име особе која је одузела опа" + +#: src/common/text.c:688 +msgid "The nick of the person who has been deop'ed" +msgstr "Име особе којој је одузет оп" + +#: src/common/text.c:691 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Име особе која је доделила полу-опа" + +#: src/common/text.c:692 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Име особе којој је одузет полу-оп" + +#: src/common/text.c:696 +msgid "The nick of the person of did the devoice'ing" +msgstr "Име особе која је одузела реч" + +#: src/common/text.c:697 +msgid "The nick of the person who has been devoice'ed" +msgstr "Име особе којој је одузета реч" + +#: src/common/text.c:701 +msgid "The nick of the person of did the unban'ing" +msgstr "Име особе која је укинула забрану" + +#: src/common/text.c:706 +msgid "The nick of the person who did the exempt" +msgstr "Име особе која је поставила искључење" + +#: src/common/text.c:707 src/common/text.c:712 +msgid "The exempt mask" +msgstr "Шаблон за искључење" + +#: src/common/text.c:711 +msgid "The nick of the person removed the exempt" +msgstr "Име особе која је уклонила искључење" + +#: src/common/text.c:716 +msgid "The nick of the person who did the invite" +msgstr "Име особе која је позвала" + +#: src/common/text.c:717 src/common/text.c:722 +msgid "The invite mask" +msgstr "Шаблон за позив" + +#: src/common/text.c:721 +msgid "The nick of the person removed the invite" +msgstr "Име особе која је уклонила позив" + +#: src/common/text.c:726 +msgid "The nick of the person setting the mode" +msgstr "Име особе која је поставила приступ" + +#: src/common/text.c:727 +msgid "The mode's sign (+/-)" +msgstr "Знак приступа (+/-)" + +#: src/common/text.c:728 +msgid "The mode letter" +msgstr "Ознака приступа" + +#: src/common/text.c:729 +msgid "The channel it's being set on" +msgstr "Канал на ком стоји" + +#: src/common/text.c:734 +msgid "Username" +msgstr "Кор. име" + +#: src/common/text.c:736 +msgid "Full name" +msgstr "Пуно име" + +#: src/common/text.c:741 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Припадност каналу/\"је IRC оператор\"" + +#: src/common/text.c:746 +msgid "Server Information" +msgstr "Подаци о серверу" + +#: src/common/text.c:751 src/common/text.c:756 +msgid "Idle time" +msgstr "Одсутан" + +#: src/common/text.c:757 +msgid "Signon time" +msgstr "Време пријаве" + +#: src/common/text.c:762 +msgid "Away reason" +msgstr "Разлог за одсуство" + +#: src/common/text.c:771 src/common/text.c:777 src/common/text.c:785 +#: src/common/text.c:964 +msgid "Message" +msgstr "Порука" + +#: src/common/text.c:778 +msgid "Account" +msgstr "Налог" + +#: src/common/text.c:783 +msgid "Real user@host" +msgstr "Прави user@host" + +#: src/common/text.c:784 +msgid "Real IP" +msgstr "Прави IP" + +#: src/common/text.c:789 src/common/text.c:798 src/common/text.c:804 +#: src/common/text.c:833 src/common/text.c:987 +msgid "Channel Name" +msgstr "Име канала" + +#: src/common/text.c:793 src/common/text.c:950 src/fe-gtk/menu.c:1166 +#: src/fe-gtk/menu.c:1345 src/fe-gtk/textgui.c:387 +msgid "Text" +msgstr "Текст" + +#: src/common/text.c:794 src/common/text.c:800 src/common/text.c:829 +#: src/common/text.c:946 src/common/text.c:988 +msgid "Server Name" +msgstr "Име сервера" + +#: src/common/text.c:799 +msgid "Nick of person who invited you" +msgstr "Име особе која је позвала" + +#: src/common/text.c:805 src/fe-gtk/chanlist.c:606 +msgid "Users" +msgstr "Корисници" + +#: src/common/text.c:809 +msgid "Nickname in use" +msgstr "Имена у употреби" + +#: src/common/text.c:810 +msgid "Nick being tried" +msgstr "Испробана имена" + +#: src/common/text.c:814 src/common/text.c:851 src/common/text.c:862 +#: src/common/text.c:869 src/common/text.c:882 src/common/text.c:899 +#: src/common/text.c:999 src/common/util.c:352 +msgid "Error" +msgstr "Грешка" + +#: src/common/text.c:819 src/common/text.c:954 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:820 src/common/text.c:850 +msgid "Port" +msgstr "Порт" + +#: src/common/text.c:824 +msgid "PID" +msgstr "PID" + +#: src/common/text.c:834 src/common/text.c:839 +msgid "Modes string" +msgstr "Права приступа" + +#: src/common/text.c:849 src/common/text.c:887 src/common/text.c:892 +#: src/common/text.c:933 +msgid "IP address" +msgstr "IP адреса" + +#: src/common/text.c:855 src/common/text.c:880 +msgid "DCC Type" +msgstr "Врста DCC" + +#: src/common/text.c:856 src/common/text.c:861 src/common/text.c:866 +#: src/common/text.c:873 src/common/text.c:893 src/common/text.c:897 +#: src/common/text.c:903 src/common/text.c:909 src/common/text.c:916 +#: src/common/text.c:925 src/common/text.c:931 +msgid "Filename" +msgstr "Датотека" + +#: src/common/text.c:867 src/common/text.c:874 +msgid "Destination filename" +msgstr "Циљна датотека" + +#: src/common/text.c:876 src/common/text.c:905 +msgid "CPS" +msgstr "зн./сек." + +#: src/common/text.c:911 +msgid "Pathname" +msgstr "Путања" + +#: src/common/text.c:926 src/fe-gtk/dccgui.c:537 src/fe-gtk/dccgui.c:709 +msgid "Position" +msgstr "Место" + +#: src/common/text.c:932 src/fe-gtk/dccgui.c:353 src/fe-gtk/dccgui.c:536 +#: src/fe-gtk/dccgui.c:708 +msgid "Size" +msgstr "Величина" + +#: src/common/text.c:937 +msgid "DCC String" +msgstr "DCC текст" + +#: src/common/text.c:942 +msgid "Number of notify items" +msgstr "Број посматраних улаза" + +#: src/common/text.c:958 +msgid "Old Filename" +msgstr "Стара датотека" + +#: src/common/text.c:959 +msgid "New Filename" +msgstr "Нова датотека" + +#: src/common/text.c:963 +msgid "Receiver" +msgstr "Прималац" + +#: src/common/text.c:968 +msgid "Hostmask" +msgstr "Шаблон рач." + +#: src/common/text.c:973 +msgid "Hostname" +msgstr "Име рач." + +#: src/common/text.c:978 +msgid "The Packet" +msgstr "Пакет" + +#: src/common/text.c:982 +msgid "Seconds" +msgstr "Секунде" + +#: src/common/text.c:986 +msgid "Nick of person who have been invited" +msgstr "Име позване особе" + +#: src/common/text.c:993 +msgid "Banmask" +msgstr "Шаблон забране" + +#: src/common/text.c:994 +msgid "Who set the ban" +msgstr "Ко је забранио" + +#: src/common/text.c:995 +msgid "Ban time" +msgstr "Време забране" + +#: src/common/text.c:1035 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Грешка у обради догађаја %s.\n" +"Мењам за подразумевани." + +#: src/common/text.c:1712 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Датотека са звучним записом „%s‟ се не може очитати." + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "Удаљени рачунар је прекинуо везу" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Веза одбијена" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "Нема путање до рачунара" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Време за повезивање је истекло" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Не може се доделити та адреса" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Веза прекинута на другом крају" + +#: src/common/util.c:839 +msgid "Ascension Island" +msgstr "Острво Успења" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "Андора" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "Уједињени арапски емирати" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "Авганистан" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "Антигва и Барбуда" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "Ангуила" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "Албанија" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "Јерменија" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "Холандски антили" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "Ангола" + +#: src/common/util.c:849 +msgid "Antarctica" +msgstr "Антарктик" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "Аргентина" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "Обратни DNS" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "Америчка Самоа" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "Аустрија" + +#: src/common/util.c:854 +msgid "Nato Fiel" +msgstr "Нато терен" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "Аустралија" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "Аруба" + +#: src/common/util.c:857 +msgid "Aland Islands" +msgstr "Аландска острва" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "Азербејџан" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "Босна и Херцеговина" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "Барбадос" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "Бангладеш" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "Белгија" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "Буркина Фасо" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "Бугарска" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "Бахреин" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "Бурунди" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "Комерцијала" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "Бенин" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "Бермуда" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "Брунеји Дар-Ес-Салам" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "Боливија" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "Бразил" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "Бахами" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "Бутан" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "Острво Буве" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "Боцвана" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "Белорусија" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "Белизе" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "Канада" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "Кокосова острва" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "Демократска република Конго" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "Централноафричка република" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "Конго" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "Швајцарска" + +#: src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "Обала слоноваче" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "Кукова острва" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "Чиле" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "Камерун" + +#: src/common/util.c:889 +msgid "China" +msgstr "Кина" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "Колумбија" + +#: src/common/util.c:891 +msgid "Internic Commercial" +msgstr "Комерцијални домени" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "Костарика" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "Србија и Црна Гора" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "Куба" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "Зеленортска острва" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "Божићна острва" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "Кипар" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "Република Чешка" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "Немачка" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "Џибути" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "Данска" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "Доминика" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "Доминиканска република" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "Алжир" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "Еквадор" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "Образовне установе" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "Естонија" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "Египат" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "Западна Сахара" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "Еритреја" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "Шпанија" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "Етиопија" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "Европска Унија" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "Финска" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "Фиџи" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "Фоклендска острва" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "Микронезија" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "Фарска острва" + +#: src/common/util.c:919 +msgid "France" +msgstr "Француска" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "Габон" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "Велика Британија" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "Гренада" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "Грузија" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "Француска Гвајана" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "Британска Каналска острва" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "Гана" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "Гибралтар" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "Гренланд" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "Гамбија" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "Гвинеја" + +#: src/common/util.c:931 +msgid "Government" +msgstr "Владине установе" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "Гвадалупе" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "Екваторијална Гвинеја" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "Грчка" + +#: src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "С. Џорџија и С. Сендвичка острва" + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "Гватемала" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "Гуам" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "Гвинеја Бисао" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "Гијана" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "Хонг Конг" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "Хердова и Макдоналдова острва" + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "Хондурас" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "Хрватска" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "Хаити" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "Мађарска" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "Индонезија" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "Ирска" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "Израел" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "Острво Човека" + +#: src/common/util.c:950 +msgid "India" +msgstr "Индија" + +#: src/common/util.c:951 +msgid "Informational" +msgstr "Информациони домен" + +#: src/common/util.c:952 +msgid "International" +msgstr "Међународни домени" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "Британска Индијска острва" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "Ирак" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "Иран" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "Исланд" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "Италија" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "Џерси" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "Јамајка" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "Јордан" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "Јапан" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "Кенија" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "Киргистан" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "Камбоџа" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "Кирибати" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "Комори" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "Св. Китс и Невис" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "Северна Кореја" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "Јужна Кореја" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "Кувајт" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "Кајманска острва" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "Казахстан" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "Лаос" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "Либан" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "Света Луција" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "Лихтенштајн" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "Шри Ланка" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "Либерија" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "Лесото" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "Литванија" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "Луксембург" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "Латвија" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "Либија" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "Мароко" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "Монако" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "Молдова" + +#: src/common/util.c:987 +msgid "United States Medical" +msgstr "Америчке медицинске установе" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "Мадагаскар" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "Маршалска острва" + +#: src/common/util.c:990 +msgid "Military" +msgstr "Војни домени" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "Македонија" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "Мали" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "Мианмар" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "Монголија" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "Макао" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "Северна Маријанска острва" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "Мартиник" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "Мауританија" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "Монсерат" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "Малта" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "Маурицијус" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "Малдиви" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "Малави" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "Мексико" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "Малезија" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "Мозамбик" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "Намибија" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "Нова Каледонија" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "Нигер" + +#: src/common/util.c:1010 +msgid "Internic Network" +msgstr "Интерник мрежа" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "Норфолшка острва" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "Нигерија" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "Никарагва" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "Холандија" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "Норвешка" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "Непал" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "Науру" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "Ниуе" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "Нови Зеланд" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "Оман" + +#: src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "Непрофитна организација интерник" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "Панама" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "Перу" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "Француска Полинезија" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "Папуа Нова Гвинеја" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "Филипини" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "Пакистан" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "Пољска" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "Св. Пјер и Микелон" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "Питкаирн" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "Порторико" + +#: src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "Палестинска територија" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "Португал" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "Палау" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "Парагвај" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "Катар" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "Реинион" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "Румунија" + +#: src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "Старовремски ARPAnet" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "Руска федерација" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "Руанда" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "Саудијска Арабија" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "Соломонова острва" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "Сејшели" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "Судан" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "Шведска" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "Сингапур" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "Св. Јелена" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "Словенија" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Свалбард и Јан Мајен острва" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "Словачка република" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "Сијера Леоне" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "Сан Марино" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "Сенегал" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "Сомалија" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "Суринам" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "Сао Томе и Принципе" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "Бивши СССР" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "Ел Салвадор" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "Сирија" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "Свазиленд" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "Туркс и Каикос острва" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "Чад" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "Француске јужне територије" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "Того" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "Тајланд" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "Таџикистан" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "Токелау" + +#: src/common/util.c:1069 src/common/util.c:1073 +msgid "East Timor" +msgstr "Источни Тимор" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "Туркменистан" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "Тунис" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "Тонга" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "Турска" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "Тринидад и Тобаго" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "Тувалу" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "Тајван" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "Танзанија" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "Украjина" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "Уганда" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "Велика Британија" + +#: src/common/util.c:1082 +msgid "US Minor Outlying Islands" +msgstr "Мања америчка истурена острва" + +#: src/common/util.c:1083 +msgid "United States of America" +msgstr "Сједињене америчке државе" + +#: src/common/util.c:1084 +msgid "Uruguay" +msgstr "Уругвај" + +#: src/common/util.c:1085 +msgid "Uzbekistan" +msgstr "Узбекистан" + +#: src/common/util.c:1086 +msgid "Vatican City State" +msgstr "Град-држава Ватикан" + +#: src/common/util.c:1087 +msgid "St. Vincent and the Grenadines" +msgstr "Св. Винсент и Гренадини" + +#: src/common/util.c:1088 +msgid "Venezuela" +msgstr "Венецуела" + +#: src/common/util.c:1089 +msgid "British Virgin Islands" +msgstr "Британска Девичанска острва" + +#: src/common/util.c:1090 +msgid "US Virgin Islands" +msgstr "Америчка Девичанска острва" + +#: src/common/util.c:1091 +msgid "Vietnam" +msgstr "Вијетнам" + +#: src/common/util.c:1092 +msgid "Vanuatu" +msgstr "Вануату" + +#: src/common/util.c:1093 +msgid "Wallis and Futuna Islands" +msgstr "Острвље Валис и Фортуна" + +#: src/common/util.c:1094 +msgid "Samoa" +msgstr "Самоа" + +#: src/common/util.c:1095 +msgid "Yemen" +msgstr "Јемен" + +#: src/common/util.c:1096 +msgid "Mayotte" +msgstr "Мајот" + +#: src/common/util.c:1097 +msgid "Yugoslavia" +msgstr "Југославија" + +#: src/common/util.c:1098 +msgid "South Africa" +msgstr "Јужна Африка" + +#: src/common/util.c:1099 +msgid "Zambia" +msgstr "Замбија" + +#: src/common/util.c:1100 +msgid "Zimbabwe" +msgstr "Зимбабве" + +#: src/common/util.c:1110 src/common/util.c:1120 src/fe-gtk/menu.c:516 +#: src/fe-gtk/menu.c:521 src/fe-gtk/menu.c:525 src/fe-gtk/menu.c:529 +#: src/fe-gtk/menu.c:537 src/fe-gtk/menu.c:555 +msgid "Unknown" +msgstr "Непознато" + +#: src/common/xchat.c:753 src/common/xchat.c:879 +msgid "Open Dialog Window" +msgstr "Започни разговор" + +#: src/common/xchat.c:754 +msgid "Send a File" +msgstr "Пошаљи датотеку" + +#: src/common/xchat.c:755 +msgid "User Info (WHOIS)" +msgstr "Подаци о кориснику (WHOIS)" + +#: src/common/xchat.c:756 +msgid "Operator Actions" +msgstr "Операторска дејства" + +#: src/common/xchat.c:758 src/common/xchat.c:849 +msgid "Give Ops" +msgstr "Дај опа" + +#: src/common/xchat.c:759 src/common/xchat.c:850 +msgid "Take Ops" +msgstr "Одузми опа" + +#: src/common/xchat.c:760 src/common/xchat.c:853 +msgid "Give Voice" +msgstr "Дај реч" + +#: src/common/xchat.c:761 src/common/xchat.c:854 +msgid "Take Voice" +msgstr "Одузми реч" + +#: src/common/xchat.c:763 src/common/xchat.c:858 +msgid "Kick/Ban" +msgstr "Шут/забр." + +#: src/common/xchat.c:764 src/common/xchat.c:859 src/common/xchat.c:908 +msgid "Kick" +msgstr "Шут" + +#: src/common/xchat.c:765 src/common/xchat.c:766 src/common/xchat.c:767 +#: src/common/xchat.c:768 src/common/xchat.c:769 src/common/xchat.c:860 +#: src/common/xchat.c:861 src/common/xchat.c:862 src/common/xchat.c:863 +#: src/common/xchat.c:864 src/common/xchat.c:907 +msgid "Ban" +msgstr "Забр." + +#: src/common/xchat.c:770 src/common/xchat.c:771 src/common/xchat.c:772 +#: src/common/xchat.c:773 src/common/xchat.c:865 src/common/xchat.c:866 +#: src/common/xchat.c:867 src/common/xchat.c:868 +msgid "KickBan" +msgstr "Шут и забр." + +#: src/common/xchat.c:836 +msgid "Direct client-to-client" +msgstr "Директни приступ клијенту" + +#: src/common/xchat.c:837 +msgid "Send File" +msgstr "Пошаљи датотеку" + +#: src/common/xchat.c:838 +msgid "Offer Chat" +msgstr "Понуди разговор" + +#: src/common/xchat.c:839 +msgid "Abort Chat" +msgstr "Прекини разговор" + +#: src/common/xchat.c:840 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Верзија" + +#: src/common/xchat.c:841 +msgid "Userinfo" +msgstr "Информације" + +#: src/common/xchat.c:842 +msgid "Clientinfo" +msgstr "Инф. о клијенту" + +#: src/common/xchat.c:843 src/common/xchat.c:877 src/common/xchat.c:925 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:844 +msgid "Time" +msgstr "Време" + +#: src/common/xchat.c:845 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:846 +msgid "Oper" +msgstr "Опер" + +#: src/common/xchat.c:847 +msgid "Kill this user" +msgstr "Дај реч" + +#: src/common/xchat.c:848 +msgid "Mode" +msgstr "Приступ" + +#: src/common/xchat.c:851 +msgid "Give Half-Ops" +msgstr "Дај полу-опа" + +#: src/common/xchat.c:852 +msgid "Take Half-Ops" +msgstr "Одузми полу-опа" + +#: src/common/xchat.c:855 +msgid "Ignore" +msgstr "Ућуткај" + +#: src/common/xchat.c:856 +msgid "Ignore User" +msgstr "Занемари корисника" + +#: src/common/xchat.c:857 +msgid "UnIgnore User" +msgstr "Врати ућуткане" + +#: src/common/xchat.c:869 src/fe-gtk/dccgui.c:586 src/fe-gtk/dccgui.c:752 +msgid "Info" +msgstr "Информ." + +#: src/common/xchat.c:870 +msgid "Who" +msgstr "Ко је" + +#: src/common/xchat.c:871 src/common/xchat.c:921 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/xchat.c:872 +msgid "DNS Lookup" +msgstr "DNS потрага" + +#: src/common/xchat.c:873 +msgid "Trace" +msgstr "Следи" + +#: src/common/xchat.c:874 +msgid "UserHost" +msgstr "Рачунар" + +#: src/common/xchat.c:875 +msgid "External" +msgstr "Спољњи" + +#: src/common/xchat.c:876 +msgid "Traceroute" +msgstr "Следи" + +#: src/common/xchat.c:878 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:890 +msgid "Leave Channel" +msgstr "Напусти канал" + +#: src/common/xchat.c:891 src/fe-gtk/menu.c:1352 +msgid "Join Channel..." +msgstr "Прикључи се..." + +#: src/common/xchat.c:892 src/fe-gtk/menu.c:1047 +msgid "Enter Channel to Join:" +msgstr "Унесите име канала:" + +#: src/common/xchat.c:893 +msgid "Server Links" +msgstr "Везе са серверима" + +#: src/common/xchat.c:894 +msgid "Ping Server" +msgstr "Одзив сервера" + +#: src/common/xchat.c:895 +msgid "Hide Version" +msgstr "Сакриј верзију" + +#: src/common/xchat.c:905 +msgid "Op" +msgstr "Оп" + +#: src/common/xchat.c:906 +msgid "DeOp" +msgstr "Деоп" + +#: src/common/xchat.c:909 +msgid "bye" +msgstr "Ћао" + +#: src/common/xchat.c:910 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Разлог да се избаци %s:" + +#: src/common/xchat.c:911 +msgid "Sendfile" +msgstr "Пошаљи фајл" + +#: src/common/xchat.c:912 +msgid "Dialog" +msgstr "Разговор" + +#: src/common/xchat.c:922 +msgid "Send" +msgstr "Слање" + +#: src/common/xchat.c:923 +msgid "Chat" +msgstr "Прича" + +#: src/common/xchat.c:924 src/fe-gtk/banlist.c:321 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Обриши" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "О Иксчету" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "Преносиви клијент за IRC" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Табела знакова" + +#: src/fe-gtk/banlist.c:112 src/fe-gtk/chanlist.c:301 +msgid "Not connected." +msgstr "Није на вези." + +#: src/fe-gtk/banlist.c:153 src/fe-gtk/banlist.c:237 +msgid "You must select some bans." +msgstr "Морате изабрати забране" + +#: src/fe-gtk/banlist.c:252 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Шаблон" + +#: src/fe-gtk/banlist.c:253 src/fe-gtk/dccgui.c:352 src/fe-gtk/dccgui.c:539 +msgid "From" +msgstr "Од" + +#: src/fe-gtk/banlist.c:254 +msgid "Date" +msgstr "Датум" + +#: src/fe-gtk/banlist.c:297 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Списак ућутканих се може отворити само ако је отворен језичак за приказ канала" + +#: src/fe-gtk/banlist.c:301 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "Иксчет: Списак забрана (%s)" + +#: src/fe-gtk/banlist.c:317 +msgid "Unban" +msgstr "Скини забр." + +#: src/fe-gtk/banlist.c:319 +msgid "Crop" +msgstr "Исеци" + +#: src/fe-gtk/banlist.c:323 +msgid "Refresh" +msgstr "Освежи" + +#: src/fe-gtk/chanlist.c:122 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "Статистике корисника и канала: корисника ‒ %d/%d, канала ‒%d/%d" + +#: src/fe-gtk/chanlist.c:544 +msgid "I can't save an empty list!" +msgstr "Списак се не снима када је празан!" + +#: src/fe-gtk/chanlist.c:547 src/fe-gtk/menu.c:983 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Изаберите име датотеке за излаз" + +#: src/fe-gtk/chanlist.c:615 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "Иксчет: списак канала (%s)" + +#: src/fe-gtk/chanlist.c:630 +msgid "List display options:" +msgstr "Списак опција за приказ" + +#: src/fe-gtk/chanlist.c:642 +msgid "Minimum Users:" +msgstr "Мин. корисника" + +#: src/fe-gtk/chanlist.c:657 +msgid "Maximum Users:" +msgstr "Макс. корисника" + +#: src/fe-gtk/chanlist.c:673 +msgid "Pattern Match:" +msgstr "Образац:" + +#: src/fe-gtk/chanlist.c:675 +msgid "Regex Match:" +msgstr "Regex образац" + +#: src/fe-gtk/chanlist.c:697 +msgid "Apply Match to:" +msgstr "Када се поклопи:" + +#: src/fe-gtk/chanlist.c:721 +msgid "Apply" +msgstr "Примени" + +#: src/fe-gtk/chanlist.c:763 +msgid "Refresh the list" +msgstr "Освежи списак" + +#: src/fe-gtk/chanlist.c:765 +msgid "Save the list" +msgstr "Сними списак" + +#: src/fe-gtk/chanlist.c:767 src/fe-gtk/menu.c:799 src/fe-gtk/menu.c:1030 +msgid "Join Channel" +msgstr "Иди на канал" + +#: src/fe-gtk/dccgui.c:117 +#, c-format +msgid "Send file to %s" +msgstr "Шаљи датотеку за %s" + +#: src/fe-gtk/dccgui.c:340 +msgid "None" +msgstr "Ниједна" + +#: src/fe-gtk/dccgui.c:351 src/fe-gtk/dccgui.c:535 src/fe-gtk/dccgui.c:707 +#: src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Датотека" + +#: src/fe-gtk/dccgui.c:352 src/fe-gtk/dccgui.c:712 +msgid "To" +msgstr "За" + +#: src/fe-gtk/dccgui.c:354 +msgid "Address" +msgstr "Адреса" + +#: src/fe-gtk/dccgui.c:355 +msgid "Started" +msgstr "Започето" + +#: src/fe-gtk/dccgui.c:356 +msgid "Speed limit" +msgstr "Гранична брзина" + +#: src/fe-gtk/dccgui.c:381 +msgid "That file is not resumable." +msgstr "Датотека се мора преузети изједна." + +#: src/fe-gtk/dccgui.c:385 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Не могу да приступим: %s\n" +"%s.\n" +"Настављање није могуће." + +#: src/fe-gtk/dccgui.c:392 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "Датотека која је претходно преузета је већа него понуђена. Зато није могуће наставити пренос." + +#: src/fe-gtk/dccgui.c:396 +msgid "Cannot resume the same file from two people." +msgstr "Не може се наставити пренос исте датотеке од две различите особе." + +#: src/fe-gtk/dccgui.c:534 src/fe-gtk/dccgui.c:706 src/fe-gtk/dccgui.c:857 +#: src/fe-gtk/notifygui.c:133 +msgid "Status" +msgstr "Стање" + +#: src/fe-gtk/dccgui.c:538 src/fe-gtk/dccgui.c:711 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:548 +msgid "XChat: File Receive List" +msgstr "Иксчет: Списак датотека на пријему" + +#: src/fe-gtk/dccgui.c:580 src/fe-gtk/dccgui.c:751 src/fe-gtk/dccgui.c:889 +msgid "Abort" +msgstr "Обустави" + +#: src/fe-gtk/dccgui.c:582 src/fe-gtk/dccgui.c:890 +msgid "Accept" +msgstr "Прихвати" + +#: src/fe-gtk/dccgui.c:584 +msgid "Resume" +msgstr "Настави" + +#: src/fe-gtk/dccgui.c:588 +msgid "Open" +msgstr "Отвори" + +#: src/fe-gtk/dccgui.c:710 +msgid "Ack" +msgstr "Потврди" + +#: src/fe-gtk/dccgui.c:722 +msgid "XChat: Uploads und Downloads" +msgstr "Иксчет: слања и пријеми" + +#: src/fe-gtk/dccgui.c:723 +msgid "Downloads" +msgstr "Преузимања:" + +#: src/fe-gtk/dccgui.c:724 +msgid "Uploads" +msgstr "Слања" + +#: src/fe-gtk/dccgui.c:725 +msgid "Details" +msgstr "Детаљи" + +#: src/fe-gtk/dccgui.c:726 +msgid "Open Folder..." +msgstr "Отвори директоријум..." + +#: src/fe-gtk/dccgui.c:730 +msgid "XChat: File Send List" +msgstr "Иксчет: Списак за слање" + +#: src/fe-gtk/dccgui.c:858 +msgid "To/From" +msgstr "Од/за" + +#: src/fe-gtk/dccgui.c:859 +msgid "Recv" +msgstr "Пријем" + +#: src/fe-gtk/dccgui.c:860 +msgid "Sent" +msgstr "Послато" + +#: src/fe-gtk/dccgui.c:861 +msgid "Start Time" +msgstr "Поч. време" + +#: src/fe-gtk/dccgui.c:871 +msgid "XChat: DCC Chat List" +msgstr "Иксчет: DCC списак разговора" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*НОВО*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "Унеси текст" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Име" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Наредба" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "На горе" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "На доле" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Откажи" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Сними" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:757 +msgid "Add New" +msgstr "Додај нов" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:762 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Обриши" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Уреди" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Помоћ" + +#: src/fe-gtk/fe-gtk.c:122 +msgid "Don't auto connect to servers" +msgstr "Не повезуј се аутоматски са серверима" + +#: src/fe-gtk/fe-gtk.c:123 +msgid "Use a different config directory" +msgstr "Користи други директоријум са подешавањима" + +#: src/fe-gtk/fe-gtk.c:124 +msgid "Don't auto load any plugins" +msgstr "Не учитавај аутоматски додатке" + +#: src/fe-gtk/fe-gtk.c:125 +msgid "Show plugin auto-load directory" +msgstr "Прикажи директоријум за аутоматско учитавање додатака" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Show user config directory" +msgstr "Прикажи директоријум са корисниковим подешавањима" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Open an irc://server:port/channel URL" +msgstr "Отвори URL irc://сервер:порт/канал" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Show version information" +msgstr "Прикажи податке о издању" + +#: src/fe-gtk/fe-gtk.c:244 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Не може се отворити фонт:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:588 +msgid "Search buffer is empty.\n" +msgstr "Запис за претрагу је празан.\n" + +#: src/fe-gtk/fe-gtk.c:671 +#, c-format +msgid "%d bytes" +msgstr "%d бајт(ов)(а)" + +#: src/fe-gtk/fe-gtk.c:672 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Мрежни ред слања: бајтова: %d" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "Покрени наредбу убацује податке из Data 1 као да су откуцани у кућицу за унос где је притиснут низ тастера. Зато може садржати текст који ће бити послат особи или на канал, обичне или корисникове наредбе. Када се покрене, сви знакови \\n у Data 1 користе се да раздвоје наредбе тако да је могуће покренути више од једне. Ако желите да имате \\ у тексту, онда треба унети \\\\" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "Наредба ^BПромени страну^B листа странице у свесци. Поставите Data 1 на страну на коју желите да одете. Ако је поље Data 2 испуњено, онда се броји у односу на текући положај." + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "Наредба ^BУбаци у запис^B ће убацити садржај поља Data 1 на место на ком је био фокус када је притиснута комбинација тастера" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "Команда ^BПомери страну^B помера текст у елементу нагоре или надоле за једну страну. Ако је Data 1 садржи било шта, померање је на горе, иначе је на доле" + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "Команда ^BПостави запис^B пребацује садржај поља Data 1 на место које је било у фокусу" + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "Команда ^BПоследња команда^B уписује последњу унету команду, као када се у шкољци притисне стрелица нагоре" + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "Команда ^BНаредна команда^B уписује команду која је следећа на реду, слично као притисак на стрелицу надоле у шкољци" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "Ова команда мења текст у линији за унос тако што довршава непотпуно име или команду. Ако је поље Data 1 попуњено, дупли притисак на табулатор бира последње име, не следеће" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "Овом командом се можете шетати горе-доле кроз листу имена. Ако је Data 1 постављено на било шта, кретаћете се на горе, иначе на доле" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "Ова команда проверава да ли се последња унета реч налази на списку за замене, и замењује је ако је пронађе" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "Ова команда помера тренутни језичак за једно место улево" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "Ова команда помера тренутни језичак удесно" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "Ова команда помера активну групу језичака улево" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "Ова команда помера активну групу језичака удесно" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "Убацује улазну линију у претходне команде, али не шаље серверу" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "Грешка при учитавању распореда тастера" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:735 src/fe-gtk/fkeys.c:741 +#: src/fe-gtk/fkeys.c:746 src/fe-gtk/maingui.c:1092 src/fe-gtk/maingui.c:1108 +#: src/fe-gtk/maingui.c:1385 src/fe-gtk/maingui.c:1486 +#: src/fe-gtk/maingui.c:2935 +msgid "<none>" +msgstr "<нема>" + +#: src/fe-gtk/fkeys.c:699 +msgid "Mod" +msgstr "Мод" + +#: src/fe-gtk/fkeys.c:700 src/fe-gtk/fkeys.c:795 +msgid "Key" +msgstr "Тастер" + +#: src/fe-gtk/fkeys.c:701 +msgid "Action" +msgstr "Акција" + +#: src/fe-gtk/fkeys.c:710 +msgid "XChat: Keyboard Shortcuts" +msgstr "Иксчет: Скраћенице с тастатуре" + +#: src/fe-gtk/fkeys.c:788 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:790 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:792 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:799 +msgid "Data 1" +msgstr "Data 1" + +#: src/fe-gtk/fkeys.c:802 +msgid "Data 2" +msgstr "Data 2" + +#: src/fe-gtk/fkeys.c:844 +msgid "Error opening keys config file\n" +msgstr "Грешка при отварању датотеке са подешавањима\n" + +#: src/fe-gtk/fkeys.c:1011 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Назив тастера %s у датотеци са распоредом није препознат\n" +"Учитавање је прекинуто, морате поправити %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1049 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Назив акције %s међу распоредом тастера није препознат\n" +"Учитавање је прекинуто, морате поправити %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1070 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"На овом месту требала је да стоји линија са подацима (почиње са Dx{:|!}) али је стајало:\n" +"%s\n" +"\n" +"Учитавање прекинуто, морате поправити %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1139 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Датотека са распоредом тастера је неисправна, учитавање је прекинуто\n" +"Морате поправити %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Не може се писати у ту датотеку." + +#: src/fe-gtk/gtkutil.c:132 +msgid "Cannot read that file." +msgstr "Ова се датотека не може читати." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "Овај шаблон већ постоји." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:1957 +msgid "Private" +msgstr "Приватно" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Вест" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Позови" + +# Јесте, натегнуто је... +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Прихвати" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Унеси шаблон за ућуткивање" + +#: src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "Иксчет: Списак ућутканих" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Статистика за ућуткане:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Канал:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Приватно:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Вести:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Позив:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:347 +msgid "Add..." +msgstr "Додај..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "Име канала је прекратко, пробајте поново." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "Иксчет: Повезивање је успело" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "Повезивање са %s је успело." + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "У прозору са списком сервера, ниједан канал (соба за разговор) није изабрана за аутоматску пријаву за ову мрежу." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Шта бисте желели следеће да урадите?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_Ништа, прикључићу се каналу касније." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "_Прикључи се каналу:" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Ако знате име канала коме се желите прикључити, унесите га овде." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "О_твори прозор са списком канала." + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "Добављање списка канала може да потраје неколико минута." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "_Увек приказуј ово прозорче после повезивања." + +#: src/fe-gtk/maingui.c:456 +msgid "Dialog with" +msgstr "Разговор са" + +#: src/fe-gtk/maingui.c:734 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Тема за %s је: %s" + +#: src/fe-gtk/maingui.c:739 +msgid "No topic is set" +msgstr "Тема није постављена" + +#: src/fe-gtk/maingui.c:1032 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "Овај сервер има укупно оволико канала: %d или дијалога. Да ли желите да их све затворите?" + +#: src/fe-gtk/maingui.c:1162 +msgid "No other tabs open, quit xchat?" +msgstr "Нема других прозора, желите ли да изађете из Xchat-а?" + +#: src/fe-gtk/maingui.c:1337 +msgid "Insert Attribute or Color Code" +msgstr "Убаци атрибут или кôд за боју" + +#: src/fe-gtk/maingui.c:1339 +msgid "<b>Bold</b>" +msgstr "<b>Масно</b>" + +#: src/fe-gtk/maingui.c:1340 +msgid "<u>Underline</u>" +msgstr "<u>Подвучено</u>" + +#: src/fe-gtk/maingui.c:1342 +msgid "Normal" +msgstr "Обично" + +#: src/fe-gtk/maingui.c:1344 +msgid "Colors 0-7" +msgstr "Боје 0-7" + +#: src/fe-gtk/maingui.c:1354 +msgid "Colors 8-15" +msgstr "Боје 8-15" + +#: src/fe-gtk/maingui.c:1390 +msgid "Beep on message" +msgstr "Звук уз поруку" + +#: src/fe-gtk/maingui.c:1393 +msgid "Show join/part messages" +msgstr "Обавести о улазу/излазу" + +#: src/fe-gtk/maingui.c:1395 +msgid "Color paste" +msgstr "Залепи и боју" + +#: src/fe-gtk/maingui.c:1402 +msgid "Go to" +msgstr "Иди на" + +#: src/fe-gtk/maingui.c:1415 src/fe-gtk/menu.c:1759 +msgid "_Close Tab" +msgstr "_Затвори језичак" + +#: src/fe-gtk/maingui.c:1418 src/fe-gtk/menu.c:1758 +msgid "_Detach Tab" +msgstr "_Откачи језичак" + +#: src/fe-gtk/maingui.c:1657 +msgid "Some file transfers still active, quit xchat?" +msgstr "Још увек ради пренос датотека, да ли ипак желите крај рада?" + +#: src/fe-gtk/maingui.c:1825 src/fe-gtk/maingui.c:1931 +msgid "User limit must be a number!\n" +msgstr "Макс. број корисника мора бити унет као број!\n" + +#: src/fe-gtk/maingui.c:1953 +msgid "Topic Protection" +msgstr "Заштита теме" + +#: src/fe-gtk/maingui.c:1954 +msgid "No outside messages" +msgstr "Нема спољашњих порука" + +#: src/fe-gtk/maingui.c:1955 +msgid "Secret" +msgstr "Тајни" + +#: src/fe-gtk/maingui.c:1956 +msgid "Invite Only" +msgstr "По позиву" + +#: src/fe-gtk/maingui.c:1958 +msgid "Moderated" +msgstr "Надгледан" + +#: src/fe-gtk/maingui.c:1959 +msgid "Ban List" +msgstr "Списак избачених" + +#: src/fe-gtk/maingui.c:1961 +msgid "Keyword" +msgstr "Кључна реч" + +#: src/fe-gtk/maingui.c:1973 +msgid "User Limit" +msgstr "Макс. људи" + +#: src/fe-gtk/maingui.c:2082 +msgid "Show/Hide userlist" +msgstr "Покажи/сакриј кориснике" + +#: src/fe-gtk/maingui.c:2207 +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 "" +"Не могу да поставим провидну позадину!\n" +"\n" +"Можда користите управљач прозора који\n" +"тренутно није подржан.\n" + +#: src/fe-gtk/maingui.c:2439 +msgid "Enter new nickname:" +msgstr "Унесите ново име:" + +#: src/fe-gtk/menu.c:120 +msgid "Host unknown" +msgstr "Непознат рачунар" + +#: src/fe-gtk/menu.c:507 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:512 src/fe-gtk/menu.c:516 +msgid "Real Name:" +msgstr "Право име:" + +#: src/fe-gtk/menu.c:520 +msgid "User:" +msgstr "Корисник:" + +#: src/fe-gtk/menu.c:524 +msgid "Country:" +msgstr "Држава:" + +#: src/fe-gtk/menu.c:528 +msgid "Server:" +msgstr "Рачунар:" + +#: src/fe-gtk/menu.c:540 +msgid "Away Msg:" +msgstr "Одсутан:" + +#: src/fe-gtk/menu.c:550 +#, c-format +msgid "%u minutes ago" +msgstr "пре оволико минута: %u" + +#: src/fe-gtk/menu.c:552 src/fe-gtk/menu.c:555 +msgid "Last Msg:" +msgstr "Посл. порука:" + +#: src/fe-gtk/menu.c:655 +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 "Трака са менијем је сада сакривена. Можете је поново приказати притиском на F9 или десним кликом на празни део главне текстуалне обласни." + +#: src/fe-gtk/menu.c:742 +msgid "Open Link in Browser" +msgstr "Отвори везу у читачу" + +#: src/fe-gtk/menu.c:743 +msgid "Copy Selected Link" +msgstr "Умножи изабрану везу" + +#: src/fe-gtk/menu.c:803 +msgid "Part Channel" +msgstr "Изађи са канала" + +#: src/fe-gtk/menu.c:805 +msgid "Cycle Channel" +msgstr "Понови приступ" + +#: src/fe-gtk/menu.c:828 +msgid "XChat: User menu" +msgstr "Иксчет: Корисников мени" + +#: src/fe-gtk/menu.c:837 +msgid "Edit This Menu..." +msgstr "Уреди овај мени..." + +#: src/fe-gtk/menu.c:1032 +msgid "Retrieve channel list..." +msgstr "Добавка списка канала..." + +#: src/fe-gtk/menu.c:1100 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" +"Корисникове команде - посебни кодови:\n" +"\n" +"%c = тренутни канал\n" +"%m = подаци о машини\n" +"%n = ваше име\n" +"%t = време/датум\n" +"%v = верзија програма\n" +"%2 = реч 2\n" +"%3 = реч 3\n" +"&2 = реч 2 и даље до краја линије\n" +"&3 = реч 3 и даље до краја линије\n" +"\n" +"нпр:\n" +"/cmd john hello\n" +"\n" +"%2 би било \"john\"\n" +"&2 би било \"john hello\"." + +#: src/fe-gtk/menu.c:1115 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Корисничка дугмад - посебни кодови:\n" +"\n" +"%a = сва изабрана имена\n" +"%c = овај канал\n" +"%h = рачунар на коме је изабрано име\n" +"%m = подаци о рачунару\n" +"%n = ваше име\n" +"%s = одабрано име\n" +"%t = време/датум\n" + +#: src/fe-gtk/menu.c:1124 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"Дугмад прозорчета - посебни кодови:\n" +"\n" +"%a = сва изабрана имена\n" +"%c = овај канал\n" +"%h = рачунар на коме је изабрано име\n" +"%m = подаци о рачунару\n" +"%n = ваше име\n" +"%s = одабрано име\n" +"%t = време/датум\n" + +#: src/fe-gtk/menu.c:1133 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" +"CTCP одговори - посебни кодови:\n" +"\n" +"%d = подаци (цео CTCP)\n" +"%m = подаци о рачунару\n" +"%s = име онога ко је послао упит\n" +"%t = време/датум\n" +"%2 = друга реч\n" +"%3 = трећа реч\n" +"&2 = све почев од друге речи до краја реда\n" +"&3 = све почев од треће речи до краја реда\n" +"\n" + +#: src/fe-gtk/menu.c:1143 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"Обрада URLова - посебни кôдови:\n" +"\n" +"%s = запис URL-а\n" +"\n" +"Стављање узвичника (!) испред команде\n" +"говори да је треба проследити шкољци\n" +"уместо Иксчету" + +#: src/fe-gtk/menu.c:1152 +msgid "XChat: User Defined Commands" +msgstr "Иксчет: Корисникове команде" + +#: src/fe-gtk/menu.c:1159 +msgid "XChat: Userlist Popup menu" +msgstr "Иксчет: Појавни мени из списка корисника" + +#: src/fe-gtk/menu.c:1166 +msgid "Replace with" +msgstr "Замени са" + +#: src/fe-gtk/menu.c:1166 +msgid "XChat: Replace" +msgstr "Иксчет: Замени" + +#: src/fe-gtk/menu.c:1173 +msgid "XChat: URL Handlers" +msgstr "Иксчет: Обрада URLова" + +#: src/fe-gtk/menu.c:1192 +msgid "XChat: Userlist buttons" +msgstr "Иксчет: Корисничка дугмета" + +#: src/fe-gtk/menu.c:1199 +msgid "XChat: Dialog buttons" +msgstr "Иксчет: Дугмета у прозорчету" + +#: src/fe-gtk/menu.c:1206 +msgid "XChat: CTCP Replies" +msgstr "Иксчет: Одговори на CTCP упите" + +#: src/fe-gtk/menu.c:1304 +msgid "_XChat" +msgstr "_Иксчет" + +#: src/fe-gtk/menu.c:1305 +msgid "Network Li_st..." +msgstr "_Списак мрежа..." + +#: src/fe-gtk/menu.c:1308 +msgid "_New" +msgstr "_Нов" + +#: src/fe-gtk/menu.c:1309 +msgid "Server Tab..." +msgstr "Језичак за сервер..." + +#: src/fe-gtk/menu.c:1310 +msgid "Channel Tab..." +msgstr "Језичак за канал" + +#: src/fe-gtk/menu.c:1311 +msgid "Server Window..." +msgstr "Прозор за сервер..." + +#: src/fe-gtk/menu.c:1312 +msgid "Channel Window..." +msgstr "Прозор за канал..." + +#: src/fe-gtk/menu.c:1317 src/fe-gtk/menu.c:1319 +msgid "_Load Plugin or Script..." +msgstr "_Учитај додатак или скрипт..." + +#: src/fe-gtk/menu.c:1327 +msgid "_Quit" +msgstr "_Крај" + +#: src/fe-gtk/menu.c:1329 +msgid "_View" +msgstr "_Преглед" + +#: src/fe-gtk/menu.c:1331 +msgid "_Menubar" +msgstr "_Трака менија" + +#: src/fe-gtk/menu.c:1332 +msgid "_Topicbar" +msgstr "_Трака за тему" + +#: src/fe-gtk/menu.c:1333 +msgid "_Userlist Buttons" +msgstr "_Корисничка дугмета" + +#: src/fe-gtk/menu.c:1334 +msgid "M_ode Buttons" +msgstr "_Дугмета за начин приступа" + +#: src/fe-gtk/menu.c:1336 +msgid "_Layout" +msgstr "_Изглед" + +#: src/fe-gtk/menu.c:1338 +msgid "_Tabs" +msgstr "_Језичци" + +#: src/fe-gtk/menu.c:1339 +msgid "T_ree" +msgstr "_Дрво" + +#: src/fe-gtk/menu.c:1341 +msgid "_Network Meters" +msgstr "_Мерења мреже" + +#: src/fe-gtk/menu.c:1343 +msgid "Off" +msgstr "Искључено" + +#: src/fe-gtk/menu.c:1344 +msgid "Graph" +msgstr "Графичко" + +#: src/fe-gtk/menu.c:1346 +msgid "Both" +msgstr "Оба" + +#: src/fe-gtk/menu.c:1349 +msgid "_Server" +msgstr "_Сервер" + +#: src/fe-gtk/menu.c:1350 +msgid "_Disconnect" +msgstr "_Искључи се" + +#: src/fe-gtk/menu.c:1351 +msgid "_Reconnect" +msgstr "_Опет се повежи" + +#: src/fe-gtk/menu.c:1355 +msgid "Marked Away" +msgstr "Објави одсуство" + +#: src/fe-gtk/menu.c:1357 +msgid "_Usermenu" +msgstr "_Корисников мени" + +#: src/fe-gtk/menu.c:1359 +msgid "S_ettings" +msgstr "П_одешавања" + +#: src/fe-gtk/menu.c:1360 +msgid "_Preferences" +msgstr "_Поставке..." + +#: src/fe-gtk/menu.c:1362 +msgid "Advanced" +msgstr "Напредна" + +#: src/fe-gtk/menu.c:1363 +msgid "Auto Replace..." +msgstr "Замени све..." + +#: src/fe-gtk/menu.c:1364 +msgid "CTCP Replies..." +msgstr "Одговори на CTCP..." + +#: src/fe-gtk/menu.c:1365 +msgid "Dialog Buttons..." +msgstr "Дугмета за прозорче..." + +#: src/fe-gtk/menu.c:1366 +msgid "Keyboard Shortcuts..." +msgstr "Скраћенице с тастатуре..." + +#: src/fe-gtk/menu.c:1367 +msgid "Text Events..." +msgstr "Праћење текста..." + +#: src/fe-gtk/menu.c:1368 +msgid "URL Handlers..." +msgstr "Обрада URL-ова..." + +#: src/fe-gtk/menu.c:1369 +msgid "User Commands..." +msgstr "Корисникове команде..." + +#: src/fe-gtk/menu.c:1370 +msgid "Userlist Buttons..." +msgstr "Корисничка дугмета..." + +#: src/fe-gtk/menu.c:1371 +msgid "Userlist Popup..." +msgstr "Корисников избор..." + +#: src/fe-gtk/menu.c:1374 +msgid "_Window" +msgstr "_Прозор" + +#: src/fe-gtk/menu.c:1375 +msgid "Ban List..." +msgstr "Списак забрана..." + +#: src/fe-gtk/menu.c:1376 +msgid "Channel List..." +msgstr "Списак канала..." + +#: src/fe-gtk/menu.c:1377 +msgid "Character Chart..." +msgstr "Знаковна табела..." + +#: src/fe-gtk/menu.c:1378 +msgid "Direct Chat..." +msgstr "Директан разговор..." + +#: src/fe-gtk/menu.c:1379 +msgid "File Transfers..." +msgstr "Преноси датотека..." + +#: src/fe-gtk/menu.c:1380 +msgid "Ignore List..." +msgstr "Списак ућутканих..." + +#: src/fe-gtk/menu.c:1381 +msgid "Notify List..." +msgstr "Списак посматраних..." + +#: src/fe-gtk/menu.c:1382 +msgid "Plugins and Scripts..." +msgstr "Додаци и скриптови..." + +#: src/fe-gtk/menu.c:1383 +msgid "Raw Log..." +msgstr "Сирови дневник..." + +#: src/fe-gtk/menu.c:1384 +msgid "URL Grabber..." +msgstr "Памћење URL-ова..." + +#: src/fe-gtk/menu.c:1386 +msgid "Reset Marker Line" +msgstr "Постави овде ознаку" + +#: src/fe-gtk/menu.c:1387 +msgid "C_lear Text" +msgstr "О_чисти текст" + +#: src/fe-gtk/menu.c:1388 +msgid "Search Text..." +msgstr "Тражи текст..." + +#: src/fe-gtk/menu.c:1389 +msgid "Save Text..." +msgstr "Сними текст..." + +#: src/fe-gtk/menu.c:1391 src/fe-gtk/menu.c:1750 +msgid "_Help" +msgstr "_Помоћ" + +#: src/fe-gtk/menu.c:1392 +msgid "_Contents" +msgstr "_Садржај" + +#: src/fe-gtk/menu.c:1393 +msgid "_About" +msgstr "_О програму" + +#: src/fe-gtk/menu.c:1763 +msgid "_Attach Window" +msgstr "_Закачи прозор" + +#: src/fe-gtk/menu.c:1764 +msgid "_Close Window" +msgstr "За_твори прозор" + +#: src/fe-gtk/notifygui.c:132 +msgid "User" +msgstr "Корисник" + +#: src/fe-gtk/notifygui.c:134 +msgid "Server" +msgstr "Рачунар" + +#: src/fe-gtk/notifygui.c:135 +msgid "Last Seen" +msgstr "Био је ту" + +#: src/fe-gtk/notifygui.c:175 +msgid "Offline" +msgstr "Није на вези" + +#: src/fe-gtk/notifygui.c:195 src/fe-gtk/setup.c:203 +msgid "Never" +msgstr "Никада" + +#: src/fe-gtk/notifygui.c:213 +msgid "Online" +msgstr "На вези" + +#: src/fe-gtk/notifygui.c:318 +msgid "Enter nickname to add:" +msgstr "Унесите име које треба додати:" + +#: src/fe-gtk/notifygui.c:334 +msgid "XChat: Notify List" +msgstr "Иксчет: Списак посматраних" + +#: src/fe-gtk/notifygui.c:351 +msgid "Remove" +msgstr "Уклони" + +#: src/fe-gtk/notifygui.c:355 +msgid "Open Dialog" +msgstr "Отвори разговор" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:421 +msgid "Description" +msgstr "Опис" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Избор додатка или скрипта за учитавање" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "Иксчет: Додаци и скриптови" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Учитај..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "У_клони" + +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "_Затвори" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:435 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Сачувај као..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "Иксчет: Сирови дневник (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Обриши дневник" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Прозор за ког сте покренули претрагу више не постоји." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "Претрага је дошла до краја, ништа више није нађено." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "Иксчет: Претрага" + +#: src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Нађи:" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "_Разликуј мала и велика слова" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "Тражи _уназад" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "_Нађи" + +#: src/fe-gtk/servlistgui.c:169 src/fe-gtk/servlistgui.c:268 +msgid "New Network" +msgstr "Нова мрежа" + +#: src/fe-gtk/servlistgui.c:553 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Да ли заиста треба брисати мрежу \"%s\" и све сервере у њој?" + +#: src/fe-gtk/servlistgui.c:677 +msgid "User name and Real name cannot be left blank." +msgstr "Име и право име не могу да буду празни." + +#: src/fe-gtk/servlistgui.c:977 +#, c-format +msgid "XChat: Edit %s" +msgstr "Иксчет: Уреди %s" + +#: src/fe-gtk/servlistgui.c:996 +#, c-format +msgid "Servers for %s" +msgstr "Сервери за: %s" + +#: src/fe-gtk/servlistgui.c:1007 +msgid "Connect to selected server only" +msgstr "Повежи се само са изабраним рачунарима" + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Не испитуј све рачунаре у списку када повезивање не успе." + +#: src/fe-gtk/servlistgui.c:1010 +msgid "Your Details" +msgstr "Ваши подаци" + +#: src/fe-gtk/servlistgui.c:1016 +msgid "Use global user information" +msgstr "Користи главне податке о кориснику" + +#: src/fe-gtk/servlistgui.c:1019 src/fe-gtk/servlistgui.c:1251 +msgid "_Nick name:" +msgstr "_Надимак:" + +#: src/fe-gtk/servlistgui.c:1023 src/fe-gtk/servlistgui.c:1258 +msgid "Second choice:" +msgstr "Други избор:" + +#: src/fe-gtk/servlistgui.c:1027 src/fe-gtk/servlistgui.c:1272 +msgid "_User name:" +msgstr "_Корисничко име:" + +#: src/fe-gtk/servlistgui.c:1031 src/fe-gtk/servlistgui.c:1279 +msgid "Rea_l name:" +msgstr "_Право име:" + +#: src/fe-gtk/servlistgui.c:1034 +msgid "Connecting" +msgstr "Повезивање у току" + +#: src/fe-gtk/servlistgui.c:1040 +msgid "Auto connect to this network at startup" +msgstr "Повежи се аутоматски када се програм покрене" + +#: src/fe-gtk/servlistgui.c:1042 +msgid "Use a proxy server" +msgstr "Користи заступника (proxy)" + +#: src/fe-gtk/servlistgui.c:1044 +msgid "Use SSL for all the servers on this network" +msgstr "Користи SSL за све рачунаре у овој мрежи" + +#: src/fe-gtk/servlistgui.c:1049 +msgid "Accept invalid SSL certificate" +msgstr "Прихвати неважећи SSL сертификат." + +#: src/fe-gtk/servlistgui.c:1055 +msgid "C_hannels to join:" +msgstr "Приступи _каналима:" + +#: src/fe-gtk/servlistgui.c:1057 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Канале треба раздвојити запетама, не размацима!" + +#: src/fe-gtk/servlistgui.c:1060 +msgid "Connect command:" +msgstr "Пошаљи ову команду:" + +#: src/fe-gtk/servlistgui.c:1062 +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 "Додатна команда која се извршава по повезивању. Ако Вам треба више од једне, овде унесите LOAD -e <ДАТОТЕКА>, где је <ДАТОТЕКА> име датотеке са командама које треба извршити." + +#: src/fe-gtk/servlistgui.c:1065 +msgid "Nickserv password:" +msgstr "Лозинка за nickserv:" + +#: src/fe-gtk/servlistgui.c:1067 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "Ако Ваш надимак захтева лозинку, упишите је овде. Ову могућност не подржавају све IRC мреже." + +#: src/fe-gtk/servlistgui.c:1071 +msgid "Server password:" +msgstr "Лозинка за сервер:" + +#: src/fe-gtk/servlistgui.c:1073 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Лозинка за приступ серверу. Ако нисте сигурни шта овде треба да стоји, оставите празно." + +#: src/fe-gtk/servlistgui.c:1076 +msgid "Character set:" +msgstr "Скуп знакова:" + +#: src/fe-gtk/servlistgui.c:1146 +msgid "_Edit" +msgstr "_Уреди" + +#: src/fe-gtk/servlistgui.c:1229 +msgid "XChat: Network List" +msgstr "Иксчет: списак мрежа" + +#: src/fe-gtk/servlistgui.c:1241 +msgid "User Information" +msgstr "Подаци о кориснику" + +#: src/fe-gtk/servlistgui.c:1265 +msgid "Third choice:" +msgstr "Трећи избор:" + +#: src/fe-gtk/servlistgui.c:1325 +msgid "Networks" +msgstr "Мреже" + +#: src/fe-gtk/servlistgui.c:1366 +msgid "Skip network list on startup" +msgstr "Не приказуј списак мрежа при покретању програма" + +#: src/fe-gtk/servlistgui.c:1398 +msgid "_Edit..." +msgstr "_Уреди..." + +#: src/fe-gtk/servlistgui.c:1405 +msgid "_Sort" +msgstr "Поређај" + +#: src/fe-gtk/servlistgui.c:1429 +msgid "C_onnect" +msgstr "_Повежи се" + +#: src/fe-gtk/setup.c:97 +msgid "Text Box Appearance" +msgstr "Изглед линије са текстом" + +#: src/fe-gtk/setup.c:98 +msgid "Font:" +msgstr "Слова:" + +#: src/fe-gtk/setup.c:99 +msgid "Background image:" +msgstr "Позадина:" + +#: src/fe-gtk/setup.c:100 +msgid "Scrollback lines:" +msgstr "Памти оволико линија:" + +#: src/fe-gtk/setup.c:101 +msgid "Colored nick names" +msgstr "Обоји имена" + +#: src/fe-gtk/setup.c:102 +msgid "Give each person on IRC a different color" +msgstr "Додели свакој особи на ИРЦ-у различиту боју" + +#: src/fe-gtk/setup.c:103 +msgid "Indent nick names" +msgstr "Уравнај надимке" + +#: src/fe-gtk/setup.c:104 +msgid "Make nick names right-justified" +msgstr "Уравнај надимке по десној страни" + +#: src/fe-gtk/setup.c:105 +msgid "Transparent background" +msgstr "Провидна позадина" + +#: src/fe-gtk/setup.c:106 +msgid "Show marker line" +msgstr "Прикажи линију за обележавање" + +#: src/fe-gtk/setup.c:107 +msgid "Insert a red line after the last read text." +msgstr "Убаци црвену линију после последње прочитане линије текста." + +#: src/fe-gtk/setup.c:108 +msgid "Transparency Settings" +msgstr "Подешавања провидности" + +#: src/fe-gtk/setup.c:109 +msgid "Red:" +msgstr "Црвенa:" + +#: src/fe-gtk/setup.c:110 +msgid "Green:" +msgstr "Зеленa:" + +#: src/fe-gtk/setup.c:111 +msgid "Blue:" +msgstr "Плава:" + +#: src/fe-gtk/setup.c:113 src/fe-gtk/setup.c:325 +msgid "Time Stamps" +msgstr "Текст датума" + +#: src/fe-gtk/setup.c:114 +msgid "Enable time stamps" +msgstr "Убацуј време у дневнике" + +#: src/fe-gtk/setup.c:115 +msgid "Time stamp format:" +msgstr "Формат датума:" + +#: src/fe-gtk/setup.c:116 src/fe-gtk/setup.c:328 +msgid "See strftime manpage for details." +msgstr "Погледајте упутство за strftime." + +#: src/fe-gtk/setup.c:123 src/fe-gtk/setup.c:1504 +msgid "Input box" +msgstr "Улазни прозор" + +#: src/fe-gtk/setup.c:124 src/fe-gtk/setup.c:166 +msgid "Use the Text box font and colors" +msgstr "Користи боје и писмо из кућице за текст" + +#: src/fe-gtk/setup.c:126 +msgid "Spell checking" +msgstr "Провера правописа" + +#: src/fe-gtk/setup.c:129 +msgid "Nick Completion" +msgstr "Суфикс за допуну имена:" + +#: src/fe-gtk/setup.c:130 +msgid "Automatic nick completion (without TAB key)" +msgstr "Аутоматска допуна имена" + +#: src/fe-gtk/setup.c:132 +msgid "Nick completion suffix:" +msgstr "Суфикс за допуну имена:" + +#: src/fe-gtk/setup.c:135 +msgid "Input Box Codes" +msgstr "Кодови при уносу текста" + +#: src/fe-gtk/setup.c:136 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Тумачи %nnn као ASCII вредност" + +#: src/fe-gtk/setup.c:137 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Тумачи %C, %B као боју, подебљан испис итд." + +#: src/fe-gtk/setup.c:154 +msgid "A-Z, Ops first" +msgstr "A-Z, опови први" + +#: src/fe-gtk/setup.c:155 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:156 +msgid "Z-A, Ops last" +msgstr "Z-A, опови последњи" + +#: src/fe-gtk/setup.c:157 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:158 +msgid "Unsorted" +msgstr "Неуређено" + +#: src/fe-gtk/setup.c:164 +msgid "User List" +msgstr "Списак имена" + +#: src/fe-gtk/setup.c:165 +msgid "Show hostnames in user list" +msgstr "Покажи имена рачунара" + +#: src/fe-gtk/setup.c:167 +msgid "Resizable user list" +msgstr "Променљива величина списка корисника" + +#: src/fe-gtk/setup.c:168 +msgid "User list sorted by:" +msgstr "Уреди списак корисника према:" + +#: src/fe-gtk/setup.c:170 +msgid "Away tracking" +msgstr "Праћење одсуства" + +#: src/fe-gtk/setup.c:171 +msgid "Track the Away status of users and mark them in a different color" +msgstr "Праћење одсутности корисника и њихово означавање другом бојом" + +#: src/fe-gtk/setup.c:172 +msgid "On channels smaller than:" +msgstr "Прати одсутне на каналима са мање од:" + +#: src/fe-gtk/setup.c:174 +msgid "Action Upon Double Click" +msgstr "Шта извршити на двоструки клик" + +#: src/fe-gtk/setup.c:175 +msgid "Execute command:" +msgstr "Пошаљи ову команду:" + +#: src/fe-gtk/setup.c:186 +msgid "Windows" +msgstr "Прозори" + +#: src/fe-gtk/setup.c:187 src/fe-gtk/setup.c:211 src/fe-gtk/setup.c:1506 +msgid "Tabs" +msgstr "Језичци" + +#: src/fe-gtk/setup.c:193 +msgid "Bottom" +msgstr "Доле" + +#: src/fe-gtk/setup.c:194 +msgid "Top" +msgstr "Горе" + +#: src/fe-gtk/setup.c:195 +msgid "Left" +msgstr "Слева" + +#: src/fe-gtk/setup.c:196 +msgid "Right" +msgstr "Здесна" + +#: src/fe-gtk/setup.c:197 +msgid "Hidden" +msgstr "Сакриј" + +#: src/fe-gtk/setup.c:204 +msgid "Always" +msgstr "Увек" + +#: src/fe-gtk/setup.c:205 +msgid "Only requested tabs" +msgstr "Само жељени језичци" + +#: src/fe-gtk/setup.c:212 +msgid "Open an extra tab for server messages" +msgstr "Отвори посебан језичак за поруке са сервера" + +#: src/fe-gtk/setup.c:213 +msgid "Open an extra tab for server notices" +msgstr "Отвори посебан језичак за вести са сервера" + +#: src/fe-gtk/setup.c:214 +msgid "Sort tabs in alphabetical order" +msgstr "Уреди језичке лексикографски" + +#: src/fe-gtk/setup.c:215 +msgid "Small tabs" +msgstr "Мали језичци" + +#: src/fe-gtk/setup.c:216 +msgid "Focus new tabs:" +msgstr "Фокусирај нове језичке:" + +#: src/fe-gtk/setup.c:217 +msgid "Shorten tab labels to:" +msgstr "Скрати језичке на:" + +#: src/fe-gtk/setup.c:217 +msgid "letters." +msgstr "слова" + +#: src/fe-gtk/setup.c:219 +msgid "Tabs Location" +msgstr "Смештање језичака" + +#: src/fe-gtk/setup.c:220 +msgid "Show tabs at:" +msgstr "Прикажи језичке:" + +#: src/fe-gtk/setup.c:222 +msgid "Tabs or Windows" +msgstr "Језичци или прозори" + +#: src/fe-gtk/setup.c:223 +msgid "Open channels in:" +msgstr "Место за приказ нових канала:" + +#: src/fe-gtk/setup.c:224 +msgid "Open dialogs in:" +msgstr "Место за прикаѕ нових разговора:" + +#: src/fe-gtk/setup.c:225 +msgid "Open utilities in:" +msgstr "Место за приказ помоћних порука:" + +#: src/fe-gtk/setup.c:225 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "DCC, Ignore и Notify се отварају у језичцима или прозорима?" + +#: src/fe-gtk/setup.c:232 +msgid "No" +msgstr "Не" + +#: src/fe-gtk/setup.c:233 +msgid "Yes" +msgstr "Да" + +#: src/fe-gtk/setup.c:234 +msgid "Browse for save folder every time" +msgstr "Омогући избор директоријума сваки пут" + +#: src/fe-gtk/setup.c:240 +msgid "Files and Directories" +msgstr "Датотеке и директоријуми" + +#: src/fe-gtk/setup.c:241 +msgid "Auto accept file offers:" +msgstr "Одмах прихвати понуђене датотеке:" + +#: src/fe-gtk/setup.c:242 +msgid "Download files to:" +msgstr "Снимај датотеке у:" + +#: src/fe-gtk/setup.c:243 +msgid "Move completed files to:" +msgstr "Помери пренесене датотеке у дир.:" + +#: src/fe-gtk/setup.c:244 +msgid "Save nick name in filenames" +msgstr "Запамти надимке у именима датотекама" + +#: src/fe-gtk/setup.c:246 +msgid "Network Settings" +msgstr "Подешавања мреже" + +#: src/fe-gtk/setup.c:247 +msgid "Get my address from the IRC server" +msgstr "Сазнај IP овог рачунара од сервера" + +#: src/fe-gtk/setup.c:248 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "Упитајте ИРЦ сервер да сазнате вашу адресу. Корисни уколико је права адреса из опсега 192.168.*.*!" + +#: src/fe-gtk/setup.c:249 +msgid "DCC IP address:" +msgstr "DCC IP адреса:" + +#: src/fe-gtk/setup.c:250 +msgid "Claim you are at this address when offering files." +msgstr "Пријави ову адресу при нуђењу датотека." + +#: src/fe-gtk/setup.c:251 +msgid "First DCC send port:" +msgstr "Први порт за слање DCC:" + +#: src/fe-gtk/setup.c:252 +msgid "Last DCC send port:" +msgstr "Последњи порт за слање DCC" + +#: src/fe-gtk/setup.c:253 +msgid "!Leave ports at zero for full range." +msgstr "!Вредност порта поставити на нулу за пуни опсег." + +#: src/fe-gtk/setup.c:255 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Највеће брзине преноса (бајт/секунда)" + +#: src/fe-gtk/setup.c:256 +msgid "One upload:" +msgstr "Једно слање:" + +#: src/fe-gtk/setup.c:257 src/fe-gtk/setup.c:259 +msgid "Maximum speed for one transfer" +msgstr "Макс. брзина за један пренос" + +#: src/fe-gtk/setup.c:258 +msgid "One download:" +msgstr "Једно преузимање:" + +#: src/fe-gtk/setup.c:260 +msgid "All uploads combined:" +msgstr "Сва слања:" + +#: src/fe-gtk/setup.c:261 src/fe-gtk/setup.c:263 +msgid "Maximum speed for all files" +msgstr "Макс. брзина саобраћаја за све датотеке" + +#: src/fe-gtk/setup.c:262 +msgid "All downloads combined:" +msgstr "Сва преузимања:" + +#: src/fe-gtk/setup.c:270 +msgid "Default Messages" +msgstr "Подразумеване поруке" + +#: src/fe-gtk/setup.c:271 +msgid "Quit:" +msgstr "Крај:" + +#: src/fe-gtk/setup.c:272 +msgid "Leave channel:" +msgstr "Напусти канал:" + +#: src/fe-gtk/setup.c:273 +msgid "Away:" +msgstr "Одсутан:" + +#: src/fe-gtk/setup.c:275 +msgid "Away" +msgstr "Одсутан" + +#: src/fe-gtk/setup.c:276 +msgid "Announce away messages" +msgstr "Испиши поруке о одсуству" + +#: src/fe-gtk/setup.c:277 +msgid "Announce your away messages to all channels" +msgstr "Поруку о одсуству шаљи на све канале" + +#: src/fe-gtk/setup.c:278 +msgid "Show away once" +msgstr "Само једном објави одсутност" + +#: src/fe-gtk/setup.c:278 +msgid "Show identical away messages only once" +msgstr "Исте поруке се не понављају" + +#: src/fe-gtk/setup.c:279 +msgid "Automatically unmark away" +msgstr "Склони AWAY кад се вратим" + +#: src/fe-gtk/setup.c:279 +msgid "Unmark yourself as away before sending messages" +msgstr "Објави повратак пре слања порука" + +#: src/fe-gtk/setup.c:282 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "(Можете користити име датотеке релативно у одн. на ~/.xchat2/)." + +#: src/fe-gtk/setup.c:284 +msgid "(Can be a text file relative to config dir)." +msgstr "(Може бити релативно у односу на дир. са подешавањима)." + +#: src/fe-gtk/setup.c:288 +msgid "Alerts" +msgstr "Узбуне" + +#: src/fe-gtk/setup.c:290 +msgid "Flash taskbar on highlighted messages" +msgstr "Бљесак оквира прозора при означеним порукама" + +#: src/fe-gtk/setup.c:292 +msgid "Beep on highlighted messages" +msgstr "Звук при означеним порукама" + +#: src/fe-gtk/setup.c:293 +msgid "Beep on private messages" +msgstr "Звук на приватну поруку" + +#: src/fe-gtk/setup.c:294 +msgid "Beep on channel messages" +msgstr "Звук при порукама на каналу" + +#: src/fe-gtk/setup.c:295 +msgid "Extra words to highlight on:" +msgstr "Речи које треба нагласити:" + +#: src/fe-gtk/setup.c:296 +msgid "Nicks not to highlight on:" +msgstr "Имена која не треба нагласити:" + +#: src/fe-gtk/setup.c:297 +msgid "Separate multiple words with commas." +msgstr "Речи раздвојте запетама." + +#: src/fe-gtk/setup.c:304 +msgid "Advanced Settings" +msgstr "Напредна подешавања" + +#: src/fe-gtk/setup.c:305 +msgid "Auto reconnect delay:" +msgstr "Пауза пре новог повезивања:" + +#: src/fe-gtk/setup.c:306 +msgid "Display MODEs in raw form" +msgstr "Приказуј приступе у сировом облику" + +#: src/fe-gtk/setup.c:307 +msgid "Whois on notify" +msgstr "Изврши WHOIS кад се појави неко посматран" + +#: src/fe-gtk/setup.c:307 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Шаље /WHOIS када се појави име са списка посматраних" + +#: src/fe-gtk/setup.c:308 +msgid "Hide join and part messages" +msgstr "Сакриј поруке о доласку и одласку" + +#: src/fe-gtk/setup.c:308 +msgid "Hide channel join/part messages by default" +msgstr "Увек сакривај поруке о доласку и одласку" + +#: src/fe-gtk/setup.c:309 +msgid "Auto Open DCC Windows" +msgstr "Непосредне акције (DCC) у посебан прозор" + +#: src/fe-gtk/setup.c:310 +msgid "Send window" +msgstr "Прозор за слање" + +#: src/fe-gtk/setup.c:311 +msgid "Receive window" +msgstr "Прозор за пријем" + +#: src/fe-gtk/setup.c:312 +msgid "Chat window" +msgstr "Прозор за разговор" + +#: src/fe-gtk/setup.c:320 src/fe-gtk/setup.c:1511 +msgid "Logging" +msgstr "Записивање" + +#: src/fe-gtk/setup.c:321 +msgid "Enable logging of conversations" +msgstr "Дозволи бележење разговора" + +#: src/fe-gtk/setup.c:322 +msgid "Log filename:" +msgstr "Име дневника:" + +#: src/fe-gtk/setup.c:323 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=сервер %c=канал %n=мрежа." + +#: src/fe-gtk/setup.c:326 +msgid "Insert timestamps in logs" +msgstr "Уписуј у дневнике време када су поруке стигле" + +#: src/fe-gtk/setup.c:327 +msgid "Log timestamp format:" +msgstr "Формат за запис датума у дневник:" + +#: src/fe-gtk/setup.c:335 +msgid "(Disabled)" +msgstr "(искључено)" + +#: src/fe-gtk/setup.c:336 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:337 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:338 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:339 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:341 +msgid "MS Proxy (ISA)" +msgstr "MS заступник (ISA)" + +#: src/fe-gtk/setup.c:348 +msgid "All Connections" +msgstr "Све везе" + +#: src/fe-gtk/setup.c:349 +msgid "IRC Server Only" +msgstr "Само ИРЦ сервер" + +#: src/fe-gtk/setup.c:350 +msgid "DCC Get Only" +msgstr "DCC само пријем" + +#: src/fe-gtk/setup.c:356 +msgid "Your Address" +msgstr "Ваша адреса" + +#: src/fe-gtk/setup.c:357 +msgid "Bind to:" +msgstr "Повежи се са:" + +#: src/fe-gtk/setup.c:358 +msgid "Only useful for computers with multiple addresses." +msgstr "Корисно само за рачунаре са вишеструким адресама." + +#: src/fe-gtk/setup.c:360 +msgid "Proxy Server" +msgstr "Заступник (proxy):" + +#: src/fe-gtk/setup.c:361 +msgid "Hostname:" +msgstr "Име рач.:" + +#: src/fe-gtk/setup.c:362 +msgid "Port:" +msgstr "Порт:" + +#: src/fe-gtk/setup.c:363 +msgid "Type:" +msgstr "Врста:" + +#: src/fe-gtk/setup.c:364 +msgid "Use proxy for:" +msgstr "Користи заступника (proxy) за:" + +#: src/fe-gtk/setup.c:366 +msgid "Proxy Authentication" +msgstr "Аутентификација заступника" + +#: src/fe-gtk/setup.c:368 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Користи аутентификацију (само MS, HTTP или Socks5)" + +#: src/fe-gtk/setup.c:370 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Користи аутентификацију (само HTTP или Socks5)" + +#: src/fe-gtk/setup.c:372 +msgid "Username:" +msgstr "Корисничко име:" + +#: src/fe-gtk/setup.c:373 +msgid "Password:" +msgstr "Лозинка:" + +#: src/fe-gtk/setup.c:716 +msgid "Select an Image File" +msgstr "Одабери слику" + +#: src/fe-gtk/setup.c:740 +msgid "Select Download Folder" +msgstr "Избор директоријума за пријем" + +#: src/fe-gtk/setup.c:749 +msgid "Select font" +msgstr "Одабери писмо" + +#: src/fe-gtk/setup.c:820 +msgid "Browse..." +msgstr "Прегледај..." + +#: src/fe-gtk/setup.c:955 +msgid "Mark identified users with:" +msgstr "Означи идентификоване кориснике са:" + +#: src/fe-gtk/setup.c:957 +msgid "Mark not-identified users with:" +msgstr "Означи неидентификоване кориснике са:" + +#: src/fe-gtk/setup.c:1018 +msgid "Select color" +msgstr "Одабери боју" + +#: src/fe-gtk/setup.c:1098 +msgid "Text Colors" +msgstr "Боје текста" + +#: src/fe-gtk/setup.c:1100 +msgid "mIRC colors:" +msgstr "mIRC боје:" + +#: src/fe-gtk/setup.c:1108 +msgid "Local colors:" +msgstr "Локалне боје:" + +#: src/fe-gtk/setup.c:1116 src/fe-gtk/setup.c:1121 +msgid "Foreground:" +msgstr "Први план:" + +#: src/fe-gtk/setup.c:1117 src/fe-gtk/setup.c:1122 +msgid "Background:" +msgstr "Позадина:" + +#: src/fe-gtk/setup.c:1119 +msgid "Marking Text" +msgstr "Истицање текста" + +#: src/fe-gtk/setup.c:1124 +msgid "Interface Colors" +msgstr "Боје сучеља" + +#: src/fe-gtk/setup.c:1126 +msgid "New data:" +msgstr "Нови подаци:" + +#: src/fe-gtk/setup.c:1127 +msgid "Marker line:" +msgstr "Линија ознаке:" + +#: src/fe-gtk/setup.c:1128 +msgid "New message:" +msgstr "Нова порука:" + +#: src/fe-gtk/setup.c:1129 +msgid "Away user:" +msgstr "Одсутан корисник:" + +#: src/fe-gtk/setup.c:1130 +msgid "Highlight:" +msgstr "Истицање:" + +#: src/fe-gtk/setup.c:1226 src/fe-gtk/textgui.c:386 +msgid "Event" +msgstr "Догађај" + +#: src/fe-gtk/setup.c:1232 +msgid "Sound file" +msgstr "Звучни запис:" + +#: src/fe-gtk/setup.c:1267 +msgid "Select a sound file" +msgstr "Изаберите име звучног записа" + +#: src/fe-gtk/setup.c:1339 +msgid "Sound playing method:" +msgstr "Начин пуштања звука:" + +#: src/fe-gtk/setup.c:1347 +msgid "External sound playing _program:" +msgstr "Вањски програм за пуштање звука:" + +#: src/fe-gtk/setup.c:1365 +msgid "_External program" +msgstr "Спољњи програм" + +#: src/fe-gtk/setup.c:1375 +msgid "_Automatic" +msgstr "Аутоматски" + +#: src/fe-gtk/setup.c:1388 +msgid "Sound files _directory:" +msgstr "Директоријум за звучне записе:" + +#: src/fe-gtk/setup.c:1427 +msgid "Sound file:" +msgstr "Звучни запис:" + +#: src/fe-gtk/setup.c:1442 +msgid "_Browse..." +msgstr "Прегледај..." + +#: src/fe-gtk/setup.c:1453 +msgid "_Play" +msgstr "Пусти" + +#: src/fe-gtk/setup.c:1502 +msgid "Interface" +msgstr "Сучеље" + +#: src/fe-gtk/setup.c:1503 +msgid "Text box" +msgstr "Унос текста" + +#: src/fe-gtk/setup.c:1505 +msgid "User list" +msgstr "Списак корисника" + +#: src/fe-gtk/setup.c:1507 +msgid "Colors" +msgstr "Боје" + +#: src/fe-gtk/setup.c:1509 +msgid "Chatting" +msgstr "Разговори" + +#: src/fe-gtk/setup.c:1510 +msgid "General" +msgstr "Опште" + +#: src/fe-gtk/setup.c:1512 +msgid "Sound" +msgstr "Звук" + +#: src/fe-gtk/setup.c:1515 +msgid "Network" +msgstr "Мрежа" + +#: src/fe-gtk/setup.c:1516 +msgid "Network setup" +msgstr "Подешавање мреже" + +#: src/fe-gtk/setup.c:1517 +msgid "File transfers" +msgstr "Пренос датотека" + +#: src/fe-gtk/setup.c:1625 +msgid "Categories" +msgstr "Врсте" + +#: src/fe-gtk/setup.c:1797 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Неке измене ће постати видљиве тек када следећи пут покренете програм." + +#: src/fe-gtk/setup.c:1805 +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 "" +"*УПОЗОРЕЊЕ*\n" +"Аутоматско прихватање DCC захтева у кућном\n" +"директоријуму је опасно и може се искористити.\n" +"Нпр. неко може послати датотеку .bash_profile" + +#: src/fe-gtk/setup.c:1838 +msgid "XChat: Preferences" +msgstr "Иксчет: Поставке" + +#: src/fe-gtk/textgui.c:177 +msgid "There was an error parsing the string" +msgstr "Грешка при читању текста" + +#: src/fe-gtk/textgui.c:185 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Овај сигнал је допремио %d аргумената, $%d није исправан" + +#: src/fe-gtk/textgui.c:301 src/fe-gtk/textgui.c:324 +msgid "Print Texts File" +msgstr "Штампај датотеку текстова" + +#: src/fe-gtk/textgui.c:369 +msgid "Edit Events" +msgstr "Уреди догађаје" + +#: src/fe-gtk/textgui.c:420 +msgid "$ Number" +msgstr "$ број" + +#: src/fe-gtk/textgui.c:437 +msgid "Load From..." +msgstr "Учитај из..." + +#: src/fe-gtk/textgui.c:438 +msgid "Test All" +msgstr "Пробај све" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +# XXX FIXME Ово би могло лепше да се преведе +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "Иксчет: Преписивање URLова" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Обриши списак" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Пресликај овај URL" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Пресликај" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Сними списак у датотеку" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d оп., %d ук." + +#: plugins/dbus/xchat-remote.c:41 +msgid "Open an irc:// url" +msgstr "Отвори URL irc://" + +#: plugins/dbus/xchat-remote.c:41 +msgid "irc://server:port/channel" +msgstr "irc://сервер:порт/канал" + +#: plugins/dbus/xchat-remote.c:42 +msgid "Execute a xchat command" +msgstr "Изврши иксчетову наредбу" + +#: plugins/dbus/xchat-remote.c:42 +msgid "\"Command to execute\"" +msgstr "\"Наредба за извршење\"" + +#: plugins/dbus/xchat-remote.c:43 +msgid "Prints some text to the current tab/window" +msgstr "Исписује неки текст у тренутни језичак одн. прозор" + +#: plugins/dbus/xchat-remote.c:43 +msgid "\"Text to print\"" +msgstr "\"Текст за испис\"" + +#: plugins/dbus/xchat-remote.c:44 +msgid "Change the context to the channel" +msgstr "Промена контекста у канал" + +#: plugins/dbus/xchat-remote.c:44 +msgid "channel" +msgstr "канал" + +#: plugins/dbus/xchat-remote.c:45 +msgid "Change the context to the server" +msgstr "Промена контекста у сервер" + +#: plugins/dbus/xchat-remote.c:45 +msgid "server" +msgstr "рачунар" + +#: plugins/dbus/xchat-remote.c:46 +msgid "Get some informations from xchat" +msgstr "Добави информације од иксчета" + +# XXX FIXME Шта је ово? +#: plugins/dbus/xchat-remote.c:46 +msgid "id" +msgstr "иб" + +#: plugins/dbus/xchat-remote.c:47 +msgid "Get settings from xchat" +msgstr "Добави подешавања од иксчета" + +#: plugins/dbus/xchat-remote.c:47 +msgid "name" +msgstr "име" + +#: plugins/dbus/xchat-remote.c:79 +#, c-format +msgid "" +"xchat-remote: %s\n" +"Try `xchat-remote --help' for more information\n" +msgstr "" +"xchat-remote: %s\n" +"Пробајте `xchat-remote --help' за више података\n" + +#: plugins/dbus/xchat-remote.c:90 +msgid "Couldn't connect to session bus" +msgstr "Није могуће повезати се са магистралом сесије" + +#: plugins/dbus/xchat-remote.c:116 plugins/dbus/xchat-remote.c:130 +msgid "Failed to complete command" +msgstr "Није могуће довршити наредбу" + +#: plugins/dbus/xchat-remote.c:125 +msgid "Failed to complete SetContext" +msgstr "Није могуће довршити поставку контекста" + +#: plugins/dbus/xchat-remote.c:135 +msgid "Failed to complete print" +msgstr "Није могуће довршити штампање" + +#: plugins/dbus/xchat-remote.c:142 +msgid "Failed to complete GetInfo" +msgstr "Није могуће довршити добавку података" + +#: plugins/dbus/xchat-remote.c:155 +msgid "Failed to complete GetPrefs" +msgstr "Није могуће довршити добавку поставки" + +#: plugins/dbus/xchat-remote.c:159 +#, c-format +msgid "%s doesn't exist\n" +msgstr "%s не постоји\n" + +#: plugins/dbus/dbus-plugin.c:27 +msgid "xchat remote access" +msgstr "удаљен приступ иксчету" + +#: plugins/dbus/dbus-plugin.c:28 +msgid "plugin for remote access using DBUS" +msgstr "додатак за удаљен приступ помоћу DBUSа" + +#: plugins/dbus/dbus-plugin.c:333 +#, c-format +msgid "Couldn't connect to session bus : %s\n" +msgstr "Није могуће повезати се са магистралом сесије : %s\n" + +#: plugins/dbus/dbus-plugin.c:353 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Не може се добавити %s: %s\n" + +#: plugins/dbus/dbus-plugin.c:401 +#, c-format +msgid "%s loaded successfully!\n" +msgstr "%s је успешно учитан!\n" + +#~ msgid "France, Metropolitan" +#~ msgstr "Француска, Метрополитан" + +#~ msgid "Neutral Zone" +#~ msgstr "Неутрална зона" + +#~ msgid "File:" +#~ msgstr "Датотека:" + +#~ msgid "Settings saved." +#~ msgstr "Подешавања су снимљена." + +#~ msgid "_Server List..." +#~ msgstr "Списак рачунара..." + +#~ msgid "Save rawlog" +#~ msgstr "Сними дневник" + +#~ msgid "Save rawlog..." +#~ msgstr "Сними дневник..." + +#~ msgid "XChat: Server List" +#~ msgstr "Иксчет: Списак сервера" + +#~ msgid "Completes nick names without using the TAB key" +#~ msgstr "Допуњава надимке без притиска на тастер TAB" + +#~ msgid "Input Box Appearance" +#~ msgstr "Изглед поља за унос текста" + +#~ msgid "Convert spaces to underscore before sending" +#~ msgstr "Пребаци размаке у доње црте пре слања" + +#~ msgid "(See strftime manpage for details)." +#~ msgstr "(Детаљније у упутству за strftime)." + +#~ msgid "From:" +#~ msgstr "Од:" + +#~ msgid "To:" +#~ msgstr "За:" + +#~ msgid "Size:" +#~ msgstr "Величина:" + +#~ msgid "MIME Type" +#~ msgstr "MIME тип" + +#~ msgid "DIRECTORY" +#~ msgstr "КАТАЛОГ" + +#~ msgid "Close this tab/window" +#~ msgstr "Затвори прозор/језичак" + +#~ msgid "User List Buttons" +#~ msgstr "Корисничка дугмета" + +#~ msgid "New Shell Tab..." +#~ msgstr "Нови језичак са шкољком..." + +#~ msgid "_IRC" +#~ msgstr "_IRC" + +#~ msgid "Invisible" +#~ msgstr "Постави невидљивост" + +#~ msgid "Receive Wallops" +#~ msgstr "Прихвати Wallops" + +#~ msgid "Receive Server Notices" +#~ msgstr "Прихвати вести са сервера" + +#~ msgid "Auto Rejoin when Kicked" +#~ msgstr "Прикључи се поново после избацивања" + +#~ msgid "Never-give-up ReConnect" +#~ msgstr "Не одустај од повезивања" + +#~ msgid "Auto Open Dialog Windows" +#~ msgstr "Разговоре у посебан прозор" + +#~ msgid "Auto Accept Direct Chat" +#~ msgstr "Увек прихвати DCC" + +#~ msgid "Reload Settings" +#~ msgstr "Учитај подешавања" + +#~ msgid "Save Settings now" +#~ msgstr "Сними подешавања" + +#~ msgid "File Receive..." +#~ msgstr "Пријем датотеке..." + +#~ msgid "File Send..." +#~ msgstr "Слање датотеке..." + +#~ msgid "Attach Tab" +#~ msgstr "Закачи језичак" + +#~ msgid "Close" +#~ msgstr "Затвори" + +#~ msgid "Connect in new tab" +#~ msgstr "Повежи се у _новом језичку" + +#~ msgid "Tint (shade) transparency" +#~ msgstr "Провидност уз претапање" + +#~ msgid "Strip mIRC colors" +#~ msgstr "Уклањај mIRC боје" + +#~ msgid "Info text" +#~ msgstr "Текстуални" + +#~ msgid "User list buttons enabled" +#~ msgstr "Прикажи корисничку дугмад" + +#~ msgid "Enable away tracking" +#~ msgstr "Укључи праћење одсустава" + +#~ msgid "Extra Gadgets" +#~ msgstr "Посебне справице" + +#~ msgid "Lag meter:" +#~ msgstr "Мерење одзива:" + +#~ msgid "Throttle meter:" +#~ msgstr "Мерење протока:" + +#~ msgid "(disabled)" +#~ msgstr "(искључено)" + +#~ msgid "A star (*)" +#~ msgstr "Звездица (*)" + +#~ msgid "A red star (*)" +#~ msgstr "Црвена звездица (*)" + +#~ msgid "%C19>%O$1%C19<%O$t$2%O" +#~ msgstr "%C19>%O$1%C19<%O$t$2%O" + +#~ msgid "Channel name" +#~ msgstr "Име канала" + +#~ msgid "Servername" +#~ msgstr "Име сервера" + +#~ msgid "" +#~ " File: %s\n" +#~ " To/From: %s\n" +#~ " Size: %u\n" +#~ " Port: %d\n" +#~ " IP Number: %s\n" +#~ "Start Time: %s Max CPS: %d\n" +#~ msgstr "" +#~ " Датотека: %s\n" +#~ " Од/За: %s\n" +#~ " Величина: %u\n" +#~ " Порт: %d\n" +#~ " IP број : %s\n" +#~ "Време поч.: %s Макс. зн/сек: %d\n" + +#~ msgid "Add new" +#~ msgstr "Додај нов" + +#~ msgid "User: %s" +#~ msgstr "Корисник: %s" + +#~ msgid "Realname: %s" +#~ msgstr "Право име: %s" + +#~ msgid "Server: %s" +#~ msgstr "Сервер: %s" + +#~ msgid "Real na_me:" +#~ msgstr "Право _име:" + +#~ msgid "Select a file to save to" +#~ msgstr "Избор датотеке за снимање" + +#~ msgid "%C22*%O$t%C28[%O$1%C28] %O$2" +#~ msgstr "%C22*%O$t%C28[%O$1%C28] %O$2" + +#~ msgid "Former Czechoslovakia" +#~ msgstr "Србија и Црна Гора (некад било: Чехословачка)" + +#~ msgid "Zaire" +#~ msgstr "Заир" + +#~ msgid "Delete All" +#~ msgstr "Бриши све" + +#~ msgid "X-Chat: Edit Key Bindings" +#~ msgstr "X-Chat: Уреди распоред тастера" + +#~ msgid "Key Bindings..." +#~ msgstr "Распоред тастера..." diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 00000000..780fb234 --- /dev/null +++ b/po/sv.po @@ -0,0 +1,5367 @@ +# Swedish messages for XChat. +# This file is distributed under the same license as the xchat package. +# Christian Rose <menthos@menthos.com>, 2000, 2001, 2002, 2003, 2004. +# Daniel Nylander <po@danielnylander.se>, 2007, 2008, 2010. +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.8.6\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2008-06-12 18:39+1000\n" +"PO-Revision-Date: 2010-04-24 23:27+0100\n" +"Last-Translator: Daniel Nylander <po@danielnylander.se>\n" +"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "Kan inte skapa ~/.xchat2" + +#: src/common/cfgfiles.c:711 +msgid "I'm busy" +msgstr "Jag är upptagen" + +#: src/common/cfgfiles.c:712 +msgid "Leaving" +msgstr "Lämnar" + +#: src/common/cfgfiles.c:759 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Att köra IRC som root är dumt! Du bör skapa ett\n" +" användarkonto och använda det för att logga in.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Väntar" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Aktiv" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Misslyckades" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Klar" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:928 +msgid "Connect" +msgstr "Anslut" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Avbruten" + +#: src/common/dcc.c:1886 src/common/outbound.c:2451 +#, c-format +msgid "Cannot access %s\n" +msgstr "Kan inte komma åt %s\n" + +#: src/common/dcc.c:1887 src/common/text.c:1224 src/common/text.c:1262 +#: src/common/text.c:1273 src/common/text.c:1280 src/common/text.c:1293 +#: src/common/text.c:1310 src/common/text.c:1410 src/common/util.c:353 +msgid "Error" +msgstr "Fel" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s erbjuder \"%s\". Accepterar du?" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "Inga aktiva DCC:er\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "JA " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "NEJ " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Du CTCP-översvämmas från %s, ignorerar %s\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "Du MSG-översvämmas från %s, ställer in gui_auto_open_dialog till AV.\n" + +#: src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s ansluten\n" + +#: src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s frånkopplad\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Gick inte in i någon kanal. Prova /join #<kanal>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Inte ansluten. Prova /server <värd> [<port>]\n" + +#: src/common/outbound.c:338 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Redan markerad som frånvarande: %s\n" + +#: src/common/outbound.c:411 +msgid "Already marked back.\n" +msgstr "Redan markerad som tillbaka.\n" + +#: src/common/outbound.c:1777 +msgid "I need /bin/sh to run!\n" +msgstr "Jag behöver /bin/sh för att kunna köra!\n" + +#: src/common/outbound.c:2148 +msgid "Commands Available:" +msgstr "Tillgängliga kommandon:" + +#: src/common/outbound.c:2162 +msgid "User defined commands:" +msgstr "Användardefinierade kommandon:" + +#: src/common/outbound.c:2178 +msgid "Plugin defined commands:" +msgstr "Användardefinierade insticksmoduler:" + +#: src/common/outbound.c:2189 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Skriv /HELP <kommando> för ytterligare information, eller /HELP -l" + +#: src/common/outbound.c:2274 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Ignorerade okända kommandot \"%s\"." + +#: src/common/outbound.c:3223 +msgid "No such plugin found.\n" +msgstr "Ingen sådan insticksmodul hittades.\n" + +#: src/common/outbound.c:3228 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Den insticksmodulen vägrar att glömmas.\n" + +#: src/common/outbound.c:3497 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <namn> <åtgärd>, lägger till en knapp under användarlistan" + +#: src/common/outbound.c:3499 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <kmdo>, skickar ett kommando till alla kanaler du är inne i" + +#: src/common/outbound.c:3501 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <kmdo>, skickar ett kommando till alla kanaler du är inne i" + +#: src/common/outbound.c:3503 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <kmdo>, skickar ett kommando till alla servrar du är ansluten till" + +#: src/common/outbound.c:3504 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<orsak>], anger att du är frånvarande" + +#: src/common/outbound.c:3505 +msgid "BACK, sets you back (not away)" +msgstr "BACK, ställer in dig som tillbaka (inte frånvarande)" + +#: src/common/outbound.c:3507 +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> [<bannlysningstyp>], bannlyser alla som matchar masken från den aktuella kanalen. Om de redan är på kanalen kommer detta inte att sparka ut dem (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:3508 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variabel> [<värde>]" + +#: src/common/outbound.c:3510 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR [ALL|HISTORY], tömmer aktuellt textfönster eller kommandohistorik" + +#: src/common/outbound.c:3511 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, stänger det aktuella fönstret/fliken" + +#: src/common/outbound.c:3514 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <kod|jokertecken>, söker efter en landskod, exempelvis se = Sverige" + +#: src/common/outbound.c:3516 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <smeknamn> <meddelande>, skickar CTCP-meddelandet till smeknamn, vanliga meddelanden är VERSION och USERINFO" + +#: src/common/outbound.c:3518 +msgid "CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "CYCLE [<kanal>], lämnar aktuell eller angiven kanal och går omedelbart in i den igen" + +#: src/common/outbound.c:3520 +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 "" +"\n" +"DCC GET <smeknamn> - ta emot en erbjuden fil\n" +"DCC SEND [-maxcps=#] <smeknamn> [fil] - skicka en fil till någon\n" +"DCC PSEND [-maxcps=#] <smeknamn> [fil] - skicka en fil i passivt läge\n" +"DCC LIST - visa DCC-lista\n" +"DCC CHAT <smeknamn> - erbjud någon DCC-chatt\n" +"DCC PCHAT <smeknamn> - erbjud DCC-chatt i passivt läge\n" +"DCC CLOSE <typ> <smeknamn> <fil> exempel:\n" +" /dcc close send nisse fil.tar.gz" + +#: src/common/outbound.c:3532 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <smeknamn>, tar bort halvkanaloperatörsstatus från smeknamnet på den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:3534 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <namn>, tar bort en knapp under användarlistan" + +#: src/common/outbound.c:3536 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <smeknamn>, tar bort kanaloperatörsstatus från smeknamnet på den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:3538 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <smeknamn>, tar bort röststatus från smeknamnet på den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:3539 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, kopplar från servern" + +#: src/common/outbound.c:3540 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <smeknamn|värd|ip>, söker en användares IP-nummer" + +#: src/common/outbound.c:3541 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, skriver ut text lokalt" + +#: src/common/outbound.c:3544 +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] <kommando>, kör kommandot. Om flaggan -o används skickas utdata till den aktuella kanalen, annars skrivs den ut i det aktuella textfältet" + +#: src/common/outbound.c:3546 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, skickar SIGCONT til processen" + +#: src/common/outbound.c:3549 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], dödar en körande exekvering i den aktuella sessionen. Om -9 anges kommer processen att SIGKILL:as" + +#: src/common/outbound.c:3551 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, skickar SIGSTOP till processen" + +#: src/common/outbound.c:3552 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, skickar data till processens standard in" + +#: src/common/outbound.c:3556 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, tömmer den aktuella serverns sändkö" + +#: src/common/outbound.c:3558 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <värd> [<port>], tunnlar genom en värd, standardvärde på port är 23" + +#: src/common/outbound.c:3562 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <smeknamn> <lösenord>, Dödar ett smeknamnsspöke" + +#: src/common/outbound.c:3567 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <smeknamn>, ger halvkanaloperatörsstatus till smeknamn (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:3568 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <lösenord>, identifiera dig själv mot nickserv" + +#: src/common/outbound.c:3570 +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 <mask> <typer..> <alternativ..>\n" +" mask - värdmask att ignorera, exempelvis: *!*@*.aol.com\n" +" typer - datatyper att ignorera, en eller alla av:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" alternativ - NOSAVE, QUIET" + +#: src/common/outbound.c:3577 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <smeknamn> [<kanal>], bjuder in någon till en kanal, standardalternativet är den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:3578 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanal>, går in i kanalen" + +#: src/common/outbound.c:3580 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <smeknamn>, sparkar ut smeknamn från den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:3582 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <smeknamn>, bannlyser och sparkar sedan ut smeknamn från den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:3585 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, tvingar fram en ny eftersläpningskontroll" + +#: src/common/outbound.c:3587 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <sträng>, söker efter en sträng i bufferten" + +#: src/common/outbound.c:3589 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <fil>, läser in en insticksmodul eller ett skript" + +#: src/common/outbound.c:3592 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, tar bort halvkanaloperatörsstatus från alla halvkanaloperatörer i den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:3594 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, tar bort kanaloperatörsstatus från alla kanaloperatörer i den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:3596 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <händelse>, skickar händelsen till den aktuella kanalen (händelserna skrivs i tredje person, som exempelvis /me hoppar)" + +#: src/common/outbound.c:3600 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, sparkar ut alla utom dig själv från den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:3603 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, ger kanaloperatörsstatus till alla användare i den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:3604 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <smeknamn> <meddelande>, skickar ett privat meddelande" + +#: src/common/outbound.c:3607 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, listar smeknamnen på den aktuella kanalen" + +#: src/common/outbound.c:3609 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <smeknamn> <meddelande>, skickar en CTCP-notis" + +#: src/common/outbound.c:3610 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <värdnamn> [<port>]" + +#: src/common/outbound.c:3611 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <smeknamn>, ställer in ditt smeknamn" + +#: src/common/outbound.c:3614 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <smeknamn/kanal> <meddelande>, skickar en notis. Notiser är en typ av meddelanden som bör reageras på automatiskt" + +#: src/common/outbound.c:3616 +msgid "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" +msgstr "NOTIFY [-n nätverk1[,nätverk2,...]] [<smeknamn>], visar din notifieringslista eller lägger till någon till den" + +#: src/common/outbound.c:3618 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <smeknamn>, ger kanaloperatörsstatus till smeknamn (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:3620 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanal>] [<orsak>], lämnar kanalen, standardalternativet är den aktuella kanalen" + +#: src/common/outbound.c:3622 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <smeknamn | kanal>, CTCP-pingar smeknamn eller kanal" + +#: src/common/outbound.c:3624 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <smeknamn>, öppnar ett nytt fönster för privata meddelanden till någon" + +#: src/common/outbound.c:3626 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<orsak>], kopplar från den aktuella servern" + +#: src/common/outbound.c:3628 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <text>, skickar texten i rå form till servern" + +#: src/common/outbound.c:3631 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<värd>] [<port>] [<lösenord>], kan anropas bara som /RECONNECT för att återansluta till den aktuella servern eller med /RECONNECT ALL för att återansluta till alla de öppna servrarna" + +#: src/common/outbound.c:3634 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<värd>] [<port>] [<lösenord>] [<ssl>] [<acceptera_ogiltigt_cert>], kan anropas bara som /RECONNECT för att återansluta till den aktuella servern eller med /RECONNECT ALL för att återansluta till alla de öppna servrarna" + +#: src/common/outbound.c:3636 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <text>, skicka rå data till xchat på samma sätt som det tas emot från irc-servern" + +#: src/common/outbound.c:3639 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>, skickar texten till objektet i det aktuella fönstret" + +#: src/common/outbound.c:3640 +msgid "SEND <nick> [<file>]" +msgstr "SEND <smeknamn> [<fil>]" + +#: src/common/outbound.c:3643 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <värd> <port> <kanal>, ansluter och går in i en kanal" + +#: src/common/outbound.c:3646 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <värd> <port> <kanal>, ansluter och går in i en kanal" + +#: src/common/outbound.c:3650 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <värd> [<port>] [<lösenord>], ansluter till en server, standardporten är 6667 för normala anslutningar, och 994 för ssl-anslutningar" + +#: src/common/outbound.c:3653 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <värd> [<port>] [<lösenord>], ansluter till en server, standardporten är 6667" + +#: src/common/outbound.c:3655 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-or] [-quiet] <variabel> [<värde>]" + +#: src/common/outbound.c:3656 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<position>" + +#: src/common/outbound.c:3661 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<ämne>], ställer in ämnet om något anges, annars visar det aktuellt ämne" + +#: src/common/outbound.c:3663 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" +"\n" +"TRAY -f <tidsgräns> <fil1> [<fil2>] Blinka lådan mellan två ikoner.\n" +"TRAY -f <filnamn> Ställ in lådan till en fast ikon.\n" +"TRAY -i <nummer> Blinka lådan med en intern ikon.\n" +"TRAY -t <text> Ställ in verktygstips för lådan.\n" +"TRAY -b <titel> <text> Ställ in ballongtext för lådan." + +#: src/common/outbound.c:3670 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], tar bort bannlysning för angivna masker." + +#: src/common/outbound.c:3671 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:3672 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <namn>, glömmer en insticksmodul eller ett skript" + +#: src/common/outbound.c:3673 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, öppnar en URL i din webbläsare" + +#: src/common/outbound.c:3675 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <smeknamn1> <smeknamn2> etc, färgmärker smeknamn i kanalens användarlista" + +#: src/common/outbound.c:3678 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <smeknamn>, ger röststatus till någon (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:3680 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <meddelande>, skriver meddelandet i alla kanaler" + +#: src/common/outbound.c:3682 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <meddelande>, skickar meddelandet till alla kanaloperatörer på den aktuella kanalen" + +#: src/common/outbound.c:3715 +#, c-format +msgid "Usage: %s\n" +msgstr "Användning: %s\n" + +#: src/common/outbound.c:3720 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Ingen hjälp tillgänglig för det kommandot.\n" + +#: src/common/outbound.c:3726 +msgid "No such command.\n" +msgstr "Det finns inget sådant kommando.\n" + +#: src/common/outbound.c:4057 +msgid "Bad arguments for user command.\n" +msgstr "Felaktiga argument i användarkommando.\n" + +#: src/common/outbound.c:4217 +msgid "Too many recursive usercommands, aborting." +msgstr "För många rekursiva användarkommandon, avbryter." + +#: src/common/outbound.c:4300 +msgid "Unknown Command. Try /help\n" +msgstr "Okänt kommando. Prova /help\n" + +#: src/common/plugin.c:356 src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Ingen \"xchat_plugin_init\"-symbol; är detta verkligen en xchat-insticksmodul?" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Är du säker på att detta är en SSL-kapabel server och port?\n" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Kan inte slå upp värdnamnet %s\n" +"Kontrollera dina IP-inställningar!\n" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "Proxytraversering misslyckades.\n" + +#: src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Byter till nästa server i %s...\n" + +#: src/common/servlist.c:1094 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Varning: Teckentabellen \"%s\" är okänd. Ingen konvertering kommer att tillämpas för nätverket %s." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 lades till i notifieringslistan." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Bannlysningslista:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tKan inte gå in i%C26 %B$1 %O(Du är bannlyst)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 är nu känd som $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 ställer in bannlysning på $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tKanalen $1 skapad på $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O tar bort halvkanaloperatörsstatusen från%C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O tar bort kanaloperatörsstatus från%C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O tar bort röststatus från%C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 ställer in undantag på $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O ger halvkanaloperatörsstatus till%C26 $2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 ställer in inbjudan på $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UKanal Användare Ämne" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 ställer in läget $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Kanal $1 lägen: $2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O ger kanaloperatörsstatus till%C26 $2" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 tar bort undantag på $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 tar bort inbjudan på $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 tar bort kanallösenordet" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 tar bort användargräns" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 ställer in kanallösenordet till $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 ställer in kanalgränsen till $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 tar bort bannlysning av $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O ger röststatus till%C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Ansluten. Loggar in nu..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Ansluter till $1 ($2) port $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Anslutningen misslyckades. Fel: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tMottog ett CTCP $1 från $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tMottog ett CTCP $1 från $2 (till $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tMottog ett CTCP Sound $1 från $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tMottog ett CTCP Sound $1 från $2 (till $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC CHAT till %C26$1%O avbruten." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC CHAT-anslutning etablerad till %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tDCC CHAT till %C26$1%O avbruten ($4)." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tMottog ett DCC CHAT-erbjudande från $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tErbjuder DCC CHAT till $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tErbjuder redan CHAT till $1" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 anslutningsförsök till%C26 $2%O misslyckades (fel=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tMottog \"$1%O\" från $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Typ Till/Från Status Storlek Pos Fil " + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$tMottog en felaktigt utformad DCC-begäran från %C26$1%O.%010%C22*%O$tPaketets innehåll: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tErbjuder%C26 $1%O till%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tDet finns inget sådant DCC-erbjudande." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV%C26 $2%O till%C26 $1%O avbruten." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tDCC RECV%C26 $1%O från%C26 $3%O klar %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC RECV-anslutning etablerad till%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O från%C26 $3%O misslyckades ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: Kan inte öppna $1 för skrivning ($2)." + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tFilen%C26 $1%C finns redan, sparar den som%C26 $2%O istället." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Ohar begärt att återuppta%C26 $2 %Cfrån%C26 $3%C." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND%C26 $2%O till%C26 $1%O avbruten." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC SEND%C26 $1%O till%C26 $2%O klar %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC SEND-anslutning etablerad till%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O till%C26 $2%O misslyckades. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Ohar erbjudit%C26 $2 %O(%C26$3 %Obytes)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Otill%C26 $3 %Cstannade - avbryter." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Otill%C26 $3 %Ogjorde timeout - avbryter." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 borttagen från notifieringslistan." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tKopplade från ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tHittade ditt IP: [$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O lades till i ignoreringslistan." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Ignorering på %C26$1%O ändrades." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 Värdmask PRIV NOTI KANA CTCP DCC INBJ AVIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O togs bort från ignoreringslistan." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " Ignoreringslistan är tom." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tKan inte gå in i%C26 %B$1 %O(Kanalen kräver inbjudan)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tDu har bjudits in till%C26 $1%O by%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) gick in i $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tKan inte gå in i%C26 %B$1 %O(Kräver lösenord)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 har sparkat ut $2 från $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tDu har dödats av $1 ($2%O%C22)" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD hoppades över." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 används redan. Försöker igen med $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tSmeknamnet används redan. Använd /NICK för att försöka med ett annat." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tDet finns ingen sådan DCC." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tIngen sådan process körs för tillfället" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tNotifieringslistan är tom." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Notifieringslista " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 användare på notifieringslistan." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tNotifiering: $1 är frånkopplad ($3)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tNotifiering: $1 är ansluten ($3)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) har lämnat $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) har lämnat $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tPingsvar från $1: $2 sekund(er)" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tInget pingsvar under $1 sekunder, kopplar från." + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tEn process kör redan" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 har avslutat (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 ställer in lägena%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tSlår upp IP-numret för%C26 $1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Ansluten." + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Slår upp $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tStoppade föregående anslutningsförsök (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Ämnet för $1%C %C29is: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 har bytt ämne till: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Ämnet för $1%C %C29satt av $2%C %C29den $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tOkänd värd. Du kanske har stavat den fel?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tKan inte gå in i%C26 %B$1 %O(Användargränsen nådd)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Användare på $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cär frånvarande %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OSlut på WHOIS-lista." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O inaktiv%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O inaktiv%C26 $2%O, påloggning:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Overklig användare@värd%C27 $2%O, riktig IP%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Pratar nu på $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tDu har sparkats ut från $2 av $3 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tDu har lämnat kanalen $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tDu har lämnat kanalen $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tDu bjuder in%C26 $1%O till%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tDu är nu känd som $2" + +#: src/common/text.c:318 +msgid "Loaded log from" +msgstr "Läste in logg från" + +#: src/common/text.c:336 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** AVSLUTADE LOGGANDE VID %s\n" + +#: src/common/text.c:545 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** PÅBÖRJADE LOGGANDE VID %s\n" + +#: src/common/text.c:564 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Kan inte öppna loggfiler för skrivande. Kontrollera\n" +" rättigheterna på %s/xchatlogs" + +#: src/common/text.c:931 +msgid "Left message" +msgstr "Vänstermeddelande" + +#: src/common/text.c:932 +msgid "Right message" +msgstr "Högermeddelande" + +#: src/common/text.c:936 +msgid "The nick of the joining person" +msgstr "Smeknamnet på personen som går in" + +#: src/common/text.c:937 +msgid "The channel being joined" +msgstr "Kanalen som gås in i" + +#: src/common/text.c:938 src/common/text.c:985 src/common/text.c:1036 +msgid "The host of the person" +msgstr "Personens värddator" + +#: src/common/text.c:942 src/common/text.c:948 src/common/text.c:955 +#: src/common/text.c:1143 src/common/text.c:1150 src/common/text.c:1155 +#: src/common/text.c:1160 src/common/text.c:1165 src/common/text.c:1171 +#: src/common/text.c:1176 src/common/text.c:1180 src/common/text.c:1186 +#: src/common/text.c:1192 src/common/text.c:1238 src/common/text.c:1249 +#: src/common/text.c:1254 src/common/text.c:1259 src/common/text.c:1268 +#: src/common/text.c:1279 src/common/text.c:1286 src/common/text.c:1292 +#: src/common/text.c:1297 src/common/text.c:1302 src/common/text.c:1309 +#: src/common/text.c:1315 src/common/text.c:1321 src/common/text.c:1326 +#: src/common/text.c:1331 src/common/text.c:1335 src/common/text.c:1341 +#: src/common/text.c:1349 src/common/text.c:1383 src/common/text.c:1388 +msgid "Nickname" +msgstr "Smeknamn" + +#: src/common/text.c:943 +msgid "The action" +msgstr "Åtgärden" + +#: src/common/text.c:944 src/common/text.c:950 +msgid "Mode char" +msgstr "Lägestecken" + +#: src/common/text.c:949 +msgid "The text" +msgstr "Texten" + +#: src/common/text.c:951 src/common/text.c:957 +msgid "Identified text" +msgstr "Identifierad text" + +#: src/common/text.c:956 src/common/text.c:1013 src/common/text.c:1019 +msgid "The message" +msgstr "Meddelandet" + +#: src/common/text.c:961 src/common/text.c:1023 +msgid "Old nickname" +msgstr "Gammalt smeknamn" + +#: src/common/text.c:962 src/common/text.c:1024 +msgid "New nickname" +msgstr "Nytt smeknamn" + +#: src/common/text.c:966 +msgid "Nick of person who changed the topic" +msgstr "Smeknamnet på personen som ändrade ämnet" + +#: src/common/text.c:967 src/common/text.c:973 src/fe-gtk/chanlist.c:766 +#: src/fe-gtk/chanlist.c:869 +msgid "Topic" +msgstr "Ämne" + +#: src/common/text.c:968 src/common/text.c:972 src/common/text.c:1403 +#: src/fe-gtk/chanlist.c:764 src/fe-gtk/ignoregui.c:176 +#: src/fe-gtk/servlistgui.c:892 +msgid "Channel" +msgstr "Kanal" + +#: src/common/text.c:977 src/common/text.c:1030 +msgid "The nickname of the kicker" +msgstr "Smeknamnet på den som sparkar ut" + +#: src/common/text.c:978 src/common/text.c:1028 +msgid "The person being kicked" +msgstr "Personen som blir utsparkad" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:990 +#: src/common/text.c:995 src/common/text.c:1029 src/common/text.c:1037 +#: src/common/text.c:1044 +msgid "The channel" +msgstr "Kanalen" + +#: src/common/text.c:980 src/common/text.c:1031 src/common/text.c:1038 +msgid "The reason" +msgstr "Orsaken" + +#: src/common/text.c:984 src/common/text.c:1035 +msgid "The nick of the person leaving" +msgstr "Smeknamnet på den person som lämnar" + +#: src/common/text.c:991 src/common/text.c:997 +msgid "The time" +msgstr "Tiden" + +#: src/common/text.c:996 +msgid "The creator" +msgstr "Skaparen" + +#: src/common/text.c:1001 src/fe-gtk/dccgui.c:763 src/fe-gtk/dccgui.c:996 +msgid "Nick" +msgstr "Smeknamn" + +#: src/common/text.c:1002 src/common/text.c:1255 +msgid "Reason" +msgstr "Orsak" + +#: src/common/text.c:1003 src/common/text.c:1145 src/common/text.c:1228 +msgid "Host" +msgstr "Värd" + +#: src/common/text.c:1007 src/common/text.c:1012 src/common/text.c:1017 +msgid "Who it's from" +msgstr "Vem det är från" + +#: src/common/text.c:1008 +msgid "The time in x.x format (see below)" +msgstr "Tiden i x.x-format (se nedan)" + +#: src/common/text.c:1018 src/common/text.c:1055 +msgid "The Channel it's going to" +msgstr "Kanalen som det går till" + +#: src/common/text.c:1042 +msgid "The sound" +msgstr "Ljudet" + +#: src/common/text.c:1043 src/common/text.c:1049 src/common/text.c:1054 +msgid "The nick of the person" +msgstr "Smeknamnet på personen" + +#: src/common/text.c:1048 src/common/text.c:1053 +msgid "The CTCP event" +msgstr "CTCP-händelsen" + +# I IRC-sammanhang är "keyword" ett lösenord för att komma in på en kanal. +#: src/common/text.c:1059 +msgid "The nick of the person who set the key" +msgstr "Smeknamnet på personen som satte lösenordet" + +#: src/common/text.c:1060 +msgid "The key" +msgstr "Lösenordet" + +#: src/common/text.c:1064 +msgid "The nick of the person who set the limit" +msgstr "Smeknamnet på personen som satte gränsen" + +#: src/common/text.c:1065 +msgid "The limit" +msgstr "Gränsen" + +#: src/common/text.c:1069 +msgid "The nick of the person who did the op'ing" +msgstr "Smeknamnet på personen som gav operatörsstatus" + +#: src/common/text.c:1070 +msgid "The nick of the person who has been op'ed" +msgstr "Smeknamnet på personen som har givits operatörsstatus" + +#: src/common/text.c:1074 +msgid "The nick of the person who has been halfop'ed" +msgstr "Smeknamnet på personen som har givits halvoperatörsstatus" + +#: src/common/text.c:1075 +msgid "The nick of the person who did the halfop'ing" +msgstr "Smeknamnet på personen som gav halvoperatörsstatus" + +#: src/common/text.c:1079 +msgid "The nick of the person who did the voice'ing" +msgstr "Smeknamnet på personen som gav röststatus" + +#: src/common/text.c:1080 +msgid "The nick of the person who has been voice'ed" +msgstr "Smeknamnet på personen som har givits röststatus" + +#: src/common/text.c:1084 +msgid "The nick of the person who did the banning" +msgstr "Smeknamnet på personen som gjorde bannlysningen" + +#: src/common/text.c:1085 src/common/text.c:1112 +msgid "The ban mask" +msgstr "Bannlysningsmasken" + +# I IRC-sammanhang är "keyword" ett lösenord för att komma in på en kanal. +#: src/common/text.c:1089 +msgid "The nick who removed the key" +msgstr "Smeknamnet som tog bort lösenordet" + +#: src/common/text.c:1093 +msgid "The nick who removed the limit" +msgstr "Smeknamnet som tog bort gränsen" + +#: src/common/text.c:1097 +msgid "The nick of the person of did the deop'ing" +msgstr "Smeknamnet på personen som tog bort operatörsstatus" + +#: src/common/text.c:1098 +msgid "The nick of the person who has been deop'ed" +msgstr "Smeknamnet på personen som har fråntagits operatörsstatus" + +#: src/common/text.c:1101 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Seknamnet på personen som fråntog halvoperatörsstatus" + +#: src/common/text.c:1102 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Smeknamnet på personen som har fråntagits halvoperatörsstatus" + +#: src/common/text.c:1106 +msgid "The nick of the person of did the devoice'ing" +msgstr "Smeknamnet på personen som fråntog röststatus" + +#: src/common/text.c:1107 +msgid "The nick of the person who has been devoice'ed" +msgstr "Smeknamnet på personen som har fråntagits röststatus" + +#: src/common/text.c:1111 +msgid "The nick of the person of did the unban'ing" +msgstr "Smeknamnet på personen som tog bort bannlysningen" + +#: src/common/text.c:1116 +msgid "The nick of the person who did the exempt" +msgstr "Smeknamnet på personen som gjorde undantaget" + +#: src/common/text.c:1117 src/common/text.c:1122 +msgid "The exempt mask" +msgstr "Undantagsmasken" + +#: src/common/text.c:1121 +msgid "The nick of the person removed the exempt" +msgstr "Smeknamnet på personen som tog bort undantaget" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the invite" +msgstr "Smeknamnet på personen som gjorde inbjudan" + +#: src/common/text.c:1127 src/common/text.c:1132 +msgid "The invite mask" +msgstr "Inbjudningsmasken" + +#: src/common/text.c:1131 +msgid "The nick of the person removed the invite" +msgstr "Smeknamnet på personen som tog bort inbjudan" + +#: src/common/text.c:1136 +msgid "The nick of the person setting the mode" +msgstr "Smeknamnet på personen som satte läget" + +#: src/common/text.c:1137 +msgid "The mode's sign (+/-)" +msgstr "Lägestecknet (+/-)" + +#: src/common/text.c:1138 +msgid "The mode letter" +msgstr "Lägesbokstaven" + +#: src/common/text.c:1139 +msgid "The channel it's being set on" +msgstr "Kanalen som det ställs in på" + +#: src/common/text.c:1144 +msgid "Username" +msgstr "Användarnamn" + +#: src/common/text.c:1146 +msgid "Full name" +msgstr "Fullständigt namn" + +#: src/common/text.c:1151 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Kanalmedlemskap/\"är en IRC-operatör\"" + +#: src/common/text.c:1156 +msgid "Server Information" +msgstr "Serverinformation" + +#: src/common/text.c:1161 src/common/text.c:1166 +msgid "Idle time" +msgstr "Inaktivitetstid" + +#: src/common/text.c:1167 +msgid "Signon time" +msgstr "Påloggningstid" + +#: src/common/text.c:1172 +msgid "Away reason" +msgstr "Frånvaroskäl" + +#: src/common/text.c:1181 src/common/text.c:1187 src/common/text.c:1195 +#: src/common/text.c:1375 +msgid "Message" +msgstr "Meddelande" + +#: src/common/text.c:1188 +msgid "Account" +msgstr "Konto" + +#: src/common/text.c:1193 +msgid "Real user@host" +msgstr "Verklig användare@värd" + +#: src/common/text.c:1194 +msgid "Real IP" +msgstr "Verklig IP" + +#: src/common/text.c:1199 src/common/text.c:1208 src/common/text.c:1214 +#: src/common/text.c:1244 src/common/text.c:1398 +msgid "Channel Name" +msgstr "Kanalnamn" + +#: src/common/text.c:1203 src/common/text.c:1361 src/fe-gtk/menu.c:1404 +#: src/fe-gtk/menu.c:1592 src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "Text" + +#: src/common/text.c:1204 src/common/text.c:1210 src/common/text.c:1239 +#: src/common/text.c:1357 src/common/text.c:1399 +msgid "Server Name" +msgstr "Servernamn" + +#: src/common/text.c:1209 +msgid "Nick of person who invited you" +msgstr "Smeknamnet på personen som bjöd in dig" + +#: src/common/text.c:1215 src/fe-gtk/chanlist.c:765 +msgid "Users" +msgstr "Användare" + +#: src/common/text.c:1219 +msgid "Nickname in use" +msgstr "Smeknamnet används redan" + +#: src/common/text.c:1220 +msgid "Nick being tried" +msgstr "Smeknamnet provas" + +#: src/common/text.c:1229 src/common/text.c:1365 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1230 src/common/text.c:1261 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1240 src/fe-gtk/notifygui.c:139 src/fe-gtk/setup.c:1713 +msgid "Network" +msgstr "Nätverk" + +#: src/common/text.c:1245 src/common/text.c:1250 +msgid "Modes string" +msgstr "Lägessträng" + +#: src/common/text.c:1260 src/common/text.c:1298 src/common/text.c:1303 +#: src/common/text.c:1344 +msgid "IP address" +msgstr "IP-adress" + +#: src/common/text.c:1266 src/common/text.c:1291 +msgid "DCC Type" +msgstr "DCC-typ" + +#: src/common/text.c:1267 src/common/text.c:1272 src/common/text.c:1277 +#: src/common/text.c:1284 src/common/text.c:1304 src/common/text.c:1308 +#: src/common/text.c:1314 src/common/text.c:1320 src/common/text.c:1327 +#: src/common/text.c:1336 src/common/text.c:1342 +msgid "Filename" +msgstr "Filnamn" + +#: src/common/text.c:1278 src/common/text.c:1285 +msgid "Destination filename" +msgstr "Målfilnamn" + +#: src/common/text.c:1287 src/common/text.c:1316 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1322 +msgid "Pathname" +msgstr "Sökväg" + +#: src/common/text.c:1337 src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "Position" + +#: src/common/text.c:1343 src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "Storlek" + +#: src/common/text.c:1348 +msgid "DCC String" +msgstr "DCC-sträng" + +#: src/common/text.c:1353 +msgid "Number of notify items" +msgstr "Antal notifieringsobjekt" + +#: src/common/text.c:1369 +msgid "Old Filename" +msgstr "Gammalt filnamn" + +#: src/common/text.c:1370 +msgid "New Filename" +msgstr "Nytt filnamn" + +#: src/common/text.c:1374 +msgid "Receiver" +msgstr "Mottagare" + +#: src/common/text.c:1379 +msgid "Hostmask" +msgstr "Värdmask" + +#: src/common/text.c:1384 +msgid "Hostname" +msgstr "Värdnamn" + +#: src/common/text.c:1389 +msgid "The Packet" +msgstr "Paketet" + +#: src/common/text.c:1393 +msgid "Seconds" +msgstr "Sekunder" + +#: src/common/text.c:1397 +msgid "Nick of person who have been invited" +msgstr "Smeknamnet på personen som bjudits in" + +#: src/common/text.c:1404 +msgid "Banmask" +msgstr "Bannlysningsmask" + +#: src/common/text.c:1405 +msgid "Who set the ban" +msgstr "Vem som gjorde bannlysningen" + +#: src/common/text.c:1406 +msgid "Ban time" +msgstr "Bannlysningstid" + +#: src/common/text.c:1446 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Fel vid tolkning av händelsen %s.\n" +"Läser in standardvärde." + +#: src/common/text.c:2189 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Kan inte läsa ljudfilen:\n" +"%s" + +#: src/common/util.c:297 +msgid "Remote host closed socket" +msgstr "Fjärrvärden stängde uttaget (socket)" + +#: src/common/util.c:302 +msgid "Connection refused" +msgstr "Uppkoppling nekas" + +#: src/common/util.c:305 +msgid "No route to host" +msgstr "Ingen väg till värden" + +#: src/common/util.c:307 +msgid "Connection timed out" +msgstr "Anslutningen gjorde time-out" + +#: src/common/util.c:309 +msgid "Cannot assign that address" +msgstr "Kan inte tilldela den adressen" + +#: src/common/util.c:311 +msgid "Connection reset by peer" +msgstr "Anslutningen nollställdes av motparten" + +#: src/common/util.c:848 +msgid "Ascension Island" +msgstr "Ascension Island" + +#: src/common/util.c:849 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:850 +msgid "United Arab Emirates" +msgstr "Förenade Arabemiraten" + +#: src/common/util.c:851 +msgid "Afghanistan" +msgstr "Afghanistan" + +#: src/common/util.c:852 +msgid "Antigua and Barbuda" +msgstr "Antigua och Barbuda" + +#: src/common/util.c:853 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:854 +msgid "Albania" +msgstr "Albanien" + +#: src/common/util.c:855 +msgid "Armenia" +msgstr "Armenien" + +#: src/common/util.c:856 +msgid "Netherlands Antilles" +msgstr "Nederländska Antillerna" + +#: src/common/util.c:857 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:858 +msgid "Antarctica" +msgstr "Antarktis" + +#: src/common/util.c:859 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:860 +msgid "Reverse DNS" +msgstr "Omvänd DNS" + +#: src/common/util.c:861 +msgid "American Samoa" +msgstr "Samoa" + +#: src/common/util.c:862 +msgid "Austria" +msgstr "Österrike" + +#: src/common/util.c:863 +msgid "Nato Fiel" +msgstr "Nato" + +#: src/common/util.c:864 +msgid "Australia" +msgstr "Australien" + +#: src/common/util.c:865 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:866 +msgid "Aland Islands" +msgstr "Åland" + +#: src/common/util.c:867 +msgid "Azerbaijan" +msgstr "Azerbajdzjan" + +#: src/common/util.c:868 +msgid "Bosnia and Herzegovina" +msgstr "Bosnien och Hercegovina" + +#: src/common/util.c:869 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:870 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:871 +msgid "Belgium" +msgstr "Belgien" + +#: src/common/util.c:872 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:873 +msgid "Bulgaria" +msgstr "Bulgarien" + +#: src/common/util.c:874 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:875 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:876 +msgid "Businesses" +msgstr "Företag" + +#: src/common/util.c:877 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:878 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:879 +msgid "Brunei Darussalam" +msgstr "Brunei" + +#: src/common/util.c:880 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:881 +msgid "Brazil" +msgstr "Brasilien" + +#: src/common/util.c:882 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:883 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:884 +msgid "Bouvet Island" +msgstr "Bouvetön" + +#: src/common/util.c:885 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:886 +msgid "Belarus" +msgstr "Vitryssland" + +#: src/common/util.c:887 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:888 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:889 +msgid "Cocos Islands" +msgstr "Kokosöarna" + +#: src/common/util.c:890 +msgid "Democratic Republic of Congo" +msgstr "Demokratiska republiken Kongo" + +#: src/common/util.c:891 +msgid "Central African Republic" +msgstr "Centralafrikanska republiken" + +#: src/common/util.c:892 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:893 +msgid "Switzerland" +msgstr "Schweiz" + +#: src/common/util.c:894 +msgid "Cote d'Ivoire" +msgstr "Elfenbenskusten" + +#: src/common/util.c:895 +msgid "Cook Islands" +msgstr "Cooköarna" + +#: src/common/util.c:896 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:897 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:898 +msgid "China" +msgstr "Kina" + +#: src/common/util.c:899 +msgid "Colombia" +msgstr "Colombia" + +#: src/common/util.c:900 +msgid "Internic Commercial" +msgstr "Internic, kommersiellt" + +#: src/common/util.c:901 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:902 +msgid "Serbia and Montenegro" +msgstr "Serbien och Montenegro" + +#: src/common/util.c:903 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:904 +msgid "Cape Verde" +msgstr "Kap Verde" + +#: src/common/util.c:905 +msgid "Christmas Island" +msgstr "Julön" + +#: src/common/util.c:906 +msgid "Cyprus" +msgstr "Cypern" + +#: src/common/util.c:907 +msgid "Czech Republic" +msgstr "Tjeckien" + +#: src/common/util.c:908 +msgid "Germany" +msgstr "Tyskland" + +#: src/common/util.c:909 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:910 +msgid "Denmark" +msgstr "Danmark" + +#: src/common/util.c:911 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:912 +msgid "Dominican Republic" +msgstr "Dominikanska republiken" + +#: src/common/util.c:913 +msgid "Algeria" +msgstr "Algeriet" + +#: src/common/util.c:914 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:915 +msgid "Educational Institution" +msgstr "Utbildningsväsende" + +#: src/common/util.c:916 +msgid "Estonia" +msgstr "Estland" + +#: src/common/util.c:917 +msgid "Egypt" +msgstr "Egypten" + +#: src/common/util.c:918 +msgid "Western Sahara" +msgstr "Västsahara" + +#: src/common/util.c:919 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:920 +msgid "Spain" +msgstr "Spanien" + +#: src/common/util.c:921 +msgid "Ethiopia" +msgstr "Etiopien" + +#: src/common/util.c:922 +msgid "European Union" +msgstr "Europeiska gemenskapen" + +#: src/common/util.c:923 +msgid "Finland" +msgstr "Finland" + +#: src/common/util.c:924 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:925 +msgid "Falkland Islands" +msgstr "Falklandsöarna" + +#: src/common/util.c:926 +msgid "Micronesia" +msgstr "Mikronesien" + +#: src/common/util.c:927 +msgid "Faroe Islands" +msgstr "Färöarna" + +#: src/common/util.c:928 +msgid "France" +msgstr "Frankrike" + +#: src/common/util.c:929 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:930 +msgid "Great Britain" +msgstr "Storbritannien" + +#: src/common/util.c:931 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:932 +msgid "Georgia" +msgstr "Georgien" + +#: src/common/util.c:933 +msgid "French Guiana" +msgstr "Franska Guyana" + +#: src/common/util.c:934 +msgid "British Channel Isles" +msgstr "Brittiska kanalöarna" + +#: src/common/util.c:935 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:936 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:937 +msgid "Greenland" +msgstr "Grönland" + +#: src/common/util.c:938 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:939 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:940 +msgid "Government" +msgstr "Regering" + +#: src/common/util.c:941 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:942 +msgid "Equatorial Guinea" +msgstr "Ekvatorialguinea" + +#: src/common/util.c:943 +msgid "Greece" +msgstr "Grekland" + +#: src/common/util.c:944 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Sydgeorgien och Södra Sandwichöarna" + +#: src/common/util.c:945 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:946 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:947 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:948 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:949 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:950 +msgid "Heard and McDonald Islands" +msgstr "Heard- och McDonaldöarna" + +#: src/common/util.c:951 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:952 +msgid "Croatia" +msgstr "Kroatien" + +#: src/common/util.c:953 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:954 +msgid "Hungary" +msgstr "Ungern" + +#: src/common/util.c:955 +msgid "Indonesia" +msgstr "Indonesien" + +#: src/common/util.c:956 +msgid "Ireland" +msgstr "Irland" + +#: src/common/util.c:957 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:958 +msgid "Isle of Man" +msgstr "Isle of Man" + +#: src/common/util.c:959 +msgid "India" +msgstr "Indien" + +#: src/common/util.c:960 +msgid "Informational" +msgstr "Informativ" + +#: src/common/util.c:961 +msgid "International" +msgstr "Internationellt" + +#: src/common/util.c:962 +msgid "British Indian Ocean Territory" +msgstr "Brittiskt territiorium i Indiska Oceanen" + +#: src/common/util.c:963 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:964 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:965 +msgid "Iceland" +msgstr "Island" + +#: src/common/util.c:966 +msgid "Italy" +msgstr "Italien" + +#: src/common/util.c:967 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:968 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:969 +msgid "Jordan" +msgstr "Jordanien" + +#: src/common/util.c:970 +msgid "Japan" +msgstr "Japan" + +#: src/common/util.c:971 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:972 +msgid "Kyrgyzstan" +msgstr "Kirgizistan" + +#: src/common/util.c:973 +msgid "Cambodia" +msgstr "Kambodja" + +#: src/common/util.c:974 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:975 +msgid "Comoros" +msgstr "Komorerna" + +#: src/common/util.c:976 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts och Nevis" + +#: src/common/util.c:977 +msgid "North Korea" +msgstr "Nordkorea" + +#: src/common/util.c:978 +msgid "South Korea" +msgstr "Sydkorea" + +#: src/common/util.c:979 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:980 +msgid "Cayman Islands" +msgstr "Caymanöarna" + +#: src/common/util.c:981 +msgid "Kazakhstan" +msgstr "Kazakstan" + +#: src/common/util.c:982 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:983 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:984 +msgid "Saint Lucia" +msgstr "Sankt Lucia" + +#: src/common/util.c:985 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:986 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:987 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:988 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:989 +msgid "Lithuania" +msgstr "Litauen" + +#: src/common/util.c:990 +msgid "Luxembourg" +msgstr "Luxemburg" + +#: src/common/util.c:991 +msgid "Latvia" +msgstr "Lettland" + +#: src/common/util.c:992 +msgid "Libya" +msgstr "Libyen" + +#: src/common/util.c:993 +msgid "Morocco" +msgstr "Marocko" + +#: src/common/util.c:994 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:995 +msgid "Moldova" +msgstr "Moldavien" + +#: src/common/util.c:996 +msgid "United States Medical" +msgstr "Förenta Staterna, medicinskt" + +#: src/common/util.c:997 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:998 +msgid "Marshall Islands" +msgstr "Marshallöarna" + +#: src/common/util.c:999 +msgid "Military" +msgstr "Militärt" + +#: src/common/util.c:1000 +msgid "Macedonia" +msgstr "Makedonien" + +#: src/common/util.c:1001 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:1002 +msgid "Myanmar" +msgstr "Myanmar (Burma)" + +#: src/common/util.c:1003 +msgid "Mongolia" +msgstr "Mongoliet" + +#: src/common/util.c:1004 +msgid "Macau" +msgstr "Macao" + +#: src/common/util.c:1005 +msgid "Northern Mariana Islands" +msgstr "Norra Marianeröarna" + +#: src/common/util.c:1006 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:1007 +msgid "Mauritania" +msgstr "Mauretanien" + +#: src/common/util.c:1008 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:1009 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:1010 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:1011 +msgid "Maldives" +msgstr "Maldiverna" + +#: src/common/util.c:1012 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:1013 +msgid "Mexico" +msgstr "Mexiko" + +#: src/common/util.c:1014 +msgid "Malaysia" +msgstr "Malaysia" + +#: src/common/util.c:1015 +msgid "Mozambique" +msgstr "Moçambique" + +#: src/common/util.c:1016 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:1017 +msgid "New Caledonia" +msgstr "Nya Kaledonien" + +#: src/common/util.c:1018 +msgid "Niger" +msgstr "Nigeria" + +#: src/common/util.c:1019 +msgid "Internic Network" +msgstr "Internic, nätverk" + +#: src/common/util.c:1020 +msgid "Norfolk Island" +msgstr "Norfolköarna" + +#: src/common/util.c:1021 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:1022 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:1023 +msgid "Netherlands" +msgstr "Nederländerna" + +#: src/common/util.c:1024 +msgid "Norway" +msgstr "Norge" + +#: src/common/util.c:1025 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:1026 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:1027 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:1028 +msgid "New Zealand" +msgstr "Nya Zeeland" + +#: src/common/util.c:1029 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:1030 +msgid "Internic Non-Profit Organization" +msgstr "Internic, ideell organisation" + +#: src/common/util.c:1031 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:1032 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:1033 +msgid "French Polynesia" +msgstr "Polynesien" + +#: src/common/util.c:1034 +msgid "Papua New Guinea" +msgstr "Papua Nya Guinea" + +#: src/common/util.c:1035 +msgid "Philippines" +msgstr "Filippinerna" + +#: src/common/util.c:1036 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:1037 +msgid "Poland" +msgstr "Polen" + +#: src/common/util.c:1038 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre och Miquelon" + +#: src/common/util.c:1039 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:1040 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:1041 +msgid "Palestinian Territory" +msgstr "Palestinska territoriet" + +#: src/common/util.c:1042 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:1043 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:1044 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:1045 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:1046 +msgid "Reunion" +msgstr "Réunion" + +#: src/common/util.c:1047 +msgid "Romania" +msgstr "Rumänien" + +#: src/common/util.c:1048 +msgid "Old School ARPAnet" +msgstr "Gammaldags ARPAnet" + +#: src/common/util.c:1049 +msgid "Russian Federation" +msgstr "Ryska Federationen" + +#: src/common/util.c:1050 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:1051 +msgid "Saudi Arabia" +msgstr "Saudiarabien" + +#: src/common/util.c:1052 +msgid "Solomon Islands" +msgstr "Solomonöarna" + +#: src/common/util.c:1053 +msgid "Seychelles" +msgstr "Seychellerna" + +#: src/common/util.c:1054 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:1055 +msgid "Sweden" +msgstr "Sverige" + +#: src/common/util.c:1056 +msgid "Singapore" +msgstr "Singapore" + +#: src/common/util.c:1057 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:1058 +msgid "Slovenia" +msgstr "Slovenien" + +#: src/common/util.c:1059 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard och Jan Mayenöarna" + +#: src/common/util.c:1060 +msgid "Slovak Republic" +msgstr "Slovakien" + +#: src/common/util.c:1061 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:1062 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:1063 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:1064 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:1065 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:1066 +msgid "Sao Tome and Principe" +msgstr "São Tomé och Principe" + +#: src/common/util.c:1067 +msgid "Former USSR" +msgstr "Före detta USSR" + +#: src/common/util.c:1068 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:1069 +msgid "Syria" +msgstr "Syrien" + +#: src/common/util.c:1070 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:1071 +msgid "Turks and Caicos Islands" +msgstr "Turks- och Caicosöarna" + +#: src/common/util.c:1072 +msgid "Chad" +msgstr "Tchad" + +#: src/common/util.c:1073 +msgid "French Southern Territories" +msgstr "Franska Sydterritorierna" + +#: src/common/util.c:1074 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:1075 +msgid "Thailand" +msgstr "Thailand" + +#: src/common/util.c:1076 +msgid "Tajikistan" +msgstr "Tadzjikistan" + +#: src/common/util.c:1077 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:1078 src/common/util.c:1082 +msgid "East Timor" +msgstr "Östtimor" + +#: src/common/util.c:1079 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:1080 +msgid "Tunisia" +msgstr "Tunisien" + +#: src/common/util.c:1081 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:1083 +msgid "Turkey" +msgstr "Turkiet" + +#: src/common/util.c:1084 +msgid "Trinidad and Tobago" +msgstr "Trinidad och Tobago" + +#: src/common/util.c:1085 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:1086 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:1087 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:1088 +msgid "Ukraine" +msgstr "Ukraina" + +#: src/common/util.c:1089 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:1090 +msgid "United Kingdom" +msgstr "Storbritannien" + +#: src/common/util.c:1091 +msgid "United States of America" +msgstr "Förenta Staterna" + +#: src/common/util.c:1092 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:1093 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:1094 +msgid "Vatican City State" +msgstr "Vatikanstaten" + +#: src/common/util.c:1095 +msgid "St. Vincent and the Grenadines" +msgstr "St. Vincent och Grenadinerna" + +#: src/common/util.c:1096 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:1097 +msgid "British Virgin Islands" +msgstr "Brittiska Jungfruöarna" + +#: src/common/util.c:1098 +msgid "US Virgin Islands" +msgstr "Jungfruöarna (USA)" + +#: src/common/util.c:1099 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:1100 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:1101 +msgid "Wallis and Futuna Islands" +msgstr "Wallis- och Futunaöarna" + +#: src/common/util.c:1102 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:1103 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:1104 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:1105 +msgid "Yugoslavia" +msgstr "Jugoslavien" + +#: src/common/util.c:1106 +msgid "South Africa" +msgstr "Sydafrika" + +#: src/common/util.c:1107 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:1108 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/util.c:1118 src/common/util.c:1128 src/fe-gtk/menu.c:611 +msgid "Unknown" +msgstr "Okänd" + +#: src/common/xchat.c:726 +msgid "_Open Dialog Window" +msgstr "_Öppna dialogfönster" + +#: src/common/xchat.c:727 +msgid "_Send a File" +msgstr "_Skicka en fil" + +#: src/common/xchat.c:728 +msgid "_User Info (WhoIs)" +msgstr "An_vändarinfo (Whois)" + +#: src/common/xchat.c:729 +msgid "_Add to Friends List" +msgstr "_Lägg till i vännerlista" + +#: src/common/xchat.c:730 +msgid "O_perator Actions" +msgstr "O_peratörsåtgärder" + +#: src/common/xchat.c:732 +msgid "Give Ops" +msgstr "Ge kanaloperatörsstatus" + +#: src/common/xchat.c:733 +msgid "Take Ops" +msgstr "Ta kanaloperatörsstatus" + +#: src/common/xchat.c:734 +msgid "Give Voice" +msgstr "Ge röststatus" + +#: src/common/xchat.c:735 +msgid "Take Voice" +msgstr "Ta röststatus" + +#: src/common/xchat.c:737 +msgid "Kick/Ban" +msgstr "Sparka ut/Bannlys" + +#: src/common/xchat.c:738 src/common/xchat.c:775 +msgid "Kick" +msgstr "Sparka ut" + +#: src/common/xchat.c:739 src/common/xchat.c:740 src/common/xchat.c:741 +#: src/common/xchat.c:742 src/common/xchat.c:743 src/common/xchat.c:774 +msgid "Ban" +msgstr "Bannlys" + +#: src/common/xchat.c:744 src/common/xchat.c:745 src/common/xchat.c:746 +#: src/common/xchat.c:747 +msgid "KickBan" +msgstr "Sparka ut och bannlys" + +#: src/common/xchat.c:757 +msgid "Leave Channel" +msgstr "Lämna kanal" + +#: src/common/xchat.c:758 +msgid "Join Channel..." +msgstr "Gå in i kanal..." + +#: src/common/xchat.c:759 src/fe-gtk/menu.c:1281 +msgid "Enter Channel to Join:" +msgstr "Ange kanal att gå in i:" + +#: src/common/xchat.c:760 +msgid "Server Links" +msgstr "Serverlänkar" + +#: src/common/xchat.c:761 +msgid "Ping Server" +msgstr "Pinga server" + +#: src/common/xchat.c:762 +msgid "Hide Version" +msgstr "Dölj version" + +#: src/common/xchat.c:772 +msgid "Op" +msgstr "Ge op" + +#: src/common/xchat.c:773 +msgid "DeOp" +msgstr "Ta bort op" + +#: src/common/xchat.c:776 +msgid "bye" +msgstr "hejdå" + +#: src/common/xchat.c:777 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Ange orsak för att sparka ut %s:" + +#: src/common/xchat.c:778 +msgid "Sendfile" +msgstr "Skickafil" + +#: src/common/xchat.c:779 +msgid "Dialog" +msgstr "Dialog" + +#: src/common/xchat.c:788 +msgid "WhoIs" +msgstr "VemÄr" + +#: src/common/xchat.c:789 +msgid "Send" +msgstr "Skicka" + +#: src/common/xchat.c:790 +msgid "Chat" +msgstr "Chatta" + +#: src/common/xchat.c:791 src/fe-gtk/banlist.c:413 src/fe-gtk/ignoregui.c:389 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Töm" + +#: src/common/xchat.c:792 +msgid "Ping" +msgstr "Ping" + +#: src/common/dbus/dbus-client.c:72 +msgid "Couldn't connect to session bus" +msgstr "Kunde inte ansluta till sessionsbuss" + +#: src/common/dbus/dbus-client.c:86 +msgid "Failed to complete NameHasOwner" +msgstr "Misslyckades med att färdigställa NameHasOwner" + +#: src/common/dbus/dbus-client.c:112 +msgid "Failed to complete Command" +msgstr "Misslyckades med att färdigställa kommando" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "fjärråtkomst" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "insticksmodul för fjärråtkomst via DBUS" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Kunde inte ansluta till sessionsbuss: %s\n" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Misslyckades med att ta över %s: %s\n" + +#: src/fe-gtk/about.c:102 +msgid "About " +msgstr "Om" + +#: src/fe-gtk/about.c:133 +msgid "A multiplatform IRC Client" +msgstr "En IRC-klient för flera plattformar" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Teckenkarta" + +#: src/fe-gtk/banlist.c:151 src/fe-gtk/chanlist.c:305 +#: src/fe-gtk/plugin-tray.c:302 +msgid "Not connected." +msgstr "Inte ansluten." + +#: src/fe-gtk/banlist.c:249 src/fe-gtk/banlist.c:329 +msgid "You must select some bans." +msgstr "Du måste välja några bannlysningar." + +#: src/fe-gtk/banlist.c:278 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "Är du säker på att du vill ta bort alla bannlysningar i %s?" + +#: src/fe-gtk/banlist.c:344 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Mask" + +#: src/fe-gtk/banlist.c:345 +msgid "From" +msgstr "Från" + +#: src/fe-gtk/banlist.c:346 +msgid "Date" +msgstr "Datum" + +#: src/fe-gtk/banlist.c:389 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Du kan endast öppna bannlysningslistan inne i kanalfliken." + +#: src/fe-gtk/banlist.c:393 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: Bannlysningslista (%s)" + +#: src/fe-gtk/banlist.c:409 src/fe-gtk/notifygui.c:432 +msgid "Remove" +msgstr "Ta bort" + +#: src/fe-gtk/banlist.c:411 +msgid "Crop" +msgstr "Kapa" + +#: src/fe-gtk/banlist.c:415 +msgid "Refresh" +msgstr "Uppdatera" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Visar %d/%d användare i %d/%d kanaler." + +#: src/fe-gtk/chanlist.c:526 src/fe-gtk/menu.c:1217 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Välj ett namn på utfilen" + +#: src/fe-gtk/chanlist.c:631 src/fe-gtk/chanlist.c:799 +msgid "_Join Channel" +msgstr "_Gå in i kanalen" + +#: src/fe-gtk/chanlist.c:633 +msgid "_Copy Channel Name" +msgstr "_Kopiera kanalnamn" + +#: src/fe-gtk/chanlist.c:635 +msgid "Copy _Topic Text" +msgstr "Kopiera _ämnestext" + +#: src/fe-gtk/chanlist.c:724 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: Kanallista (%s)" + +#: src/fe-gtk/chanlist.c:781 +msgid "_Search" +msgstr "_Sök" + +# Denna bör kontrolleras +#: src/fe-gtk/chanlist.c:787 +msgid "_Download List" +msgstr "_Hämta lista" + +#: src/fe-gtk/chanlist.c:793 +msgid "Save _List..." +msgstr "Spara _lista..." + +#: src/fe-gtk/chanlist.c:806 +msgid "Show only:" +msgstr "Visa endast:" + +#: src/fe-gtk/chanlist.c:818 +msgid "channels with" +msgstr "kanaler med" + +#: src/fe-gtk/chanlist.c:831 +msgid "to" +msgstr "till" + +#: src/fe-gtk/chanlist.c:843 +msgid "users." +msgstr "användare." + +#: src/fe-gtk/chanlist.c:849 +msgid "Look in:" +msgstr "Leta i:" + +#: src/fe-gtk/chanlist.c:861 +msgid "Channel name" +msgstr "Kanalnamn" + +#: src/fe-gtk/chanlist.c:882 +msgid "Search type:" +msgstr "Söktyp:" + +#: src/fe-gtk/chanlist.c:889 +msgid "Simple Search" +msgstr "Enkel sökning" + +#: src/fe-gtk/chanlist.c:890 +msgid "Pattern Match (Wildcards)" +msgstr "Mönstermatchning (jokertecken)" + +#: src/fe-gtk/chanlist.c:892 +msgid "Regular Expression" +msgstr "Reguljärt uttryck" + +#: src/fe-gtk/chanlist.c:903 src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Sök:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "Skicka filen till %s" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "Den filen kan inte återupptas." + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Kan inte komma åt fil: %s\n" +"%s.\n" +"Återupptagning inte möjlig." + +#: src/fe-gtk/dccgui.c:507 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "Filen i hämtningskatalogen är större än den fil som erbjudits. Återupptagning är inte möjlig." + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "Kan inte återuppta samma fil från två personer." + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: Sändningar och hämtningar" + +#: src/fe-gtk/dccgui.c:756 src/fe-gtk/dccgui.c:995 src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "Status" + +#: src/fe-gtk/dccgui.c:757 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Fil" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "Beräknad tid" + +#: src/fe-gtk/dccgui.c:787 src/fe-gtk/menu.c:1593 +msgid "Both" +msgstr "Både och" + +#: src/fe-gtk/dccgui.c:793 +msgid "Uploads" +msgstr "Sändningar" + +#: src/fe-gtk/dccgui.c:799 +msgid "Downloads" +msgstr "Hämtningar" + +#: src/fe-gtk/dccgui.c:804 +msgid "Details" +msgstr "Detaljer" + +#: src/fe-gtk/dccgui.c:815 +msgid "File:" +msgstr "Fil:" + +#: src/fe-gtk/dccgui.c:816 +msgid "Address:" +msgstr "Adress:" + +#: src/fe-gtk/dccgui.c:822 src/fe-gtk/dccgui.c:1019 +msgid "Abort" +msgstr "Avbryt" + +#: src/fe-gtk/dccgui.c:823 src/fe-gtk/dccgui.c:1020 +msgid "Accept" +msgstr "Acceptera" + +#: src/fe-gtk/dccgui.c:824 +msgid "Resume" +msgstr "Återuppta" + +#: src/fe-gtk/dccgui.c:825 +msgid "Open Folder..." +msgstr "Öppna mapp..." + +#: src/fe-gtk/dccgui.c:985 +msgid "XChat: DCC Chat List" +msgstr "XChat: DCC Chat-lista" + +#: src/fe-gtk/dccgui.c:997 +msgid "Recv" +msgstr "Mottaget" + +#: src/fe-gtk/dccgui.c:998 +msgid "Sent" +msgstr "Skickat" + +#: src/fe-gtk/dccgui.c:999 +msgid "Start Time" +msgstr "Starttid" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*NY*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "REDIGERA MIG" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/notifygui.c:137 +#: src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Namn" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Kommando" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Flytta upp" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Flytta ned" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Avbryt" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Spara" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Lägg till ny" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:387 +msgid "Delete" +msgstr "Ta bort" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Sortera" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Hjälp" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "Anslut inte automatiskt till servrar" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "Använd en annan konfigurationskatalog" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "Läs inte automatiskt in några insticksmoduler" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "Visa katalog för automatisk inläsning av insticksmoduler" + +#: src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "Visa katalog för användarkonfiguration" + +#: src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "Öppna en irc://server:port/kanal URL" + +#: src/fe-gtk/fe-gtk.c:133 src/fe-gtk/setup.c:212 +msgid "Execute command:" +msgstr "Startkommando:" + +#: src/fe-gtk/fe-gtk.c:134 +msgid "Open URL or execute command in an existing XChat" +msgstr "Öppna url eller kör kommando i en befintlig XChat" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Starta minimerad. Nivå 0=Normal 1=Ikonifierad 2=Aktivitetsfält" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "level" +msgstr "nivå" + +#: src/fe-gtk/fe-gtk.c:137 +msgid "Show version information" +msgstr "Visa versionsinformation" + +#: src/fe-gtk/fe-gtk.c:257 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Misslyckades med att öppna typsnitt:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:636 +msgid "Search buffer is empty.\n" +msgstr "Sökbufferten är tom.\n" + +#: src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "%d bytes" +msgstr "%d byte" + +#: src/fe-gtk/fe-gtk.c:733 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Sändkö för nätverket: %d byte" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "Åtgärden Kör kommando kör datat i Data 1 som om det hade skrivits i textfältet där du tryckte tangentkombinationen. Därför kan det innehålla text (som kommer att skickas till kanalen/personen), kommandon eller användarkommandon. När det körs behandlas \\n-tecken i Data 1 som avgränsare mellan kommandon så att det är möjligt att köra mer än ett kommando. Om du vill ha ett \\ i den verkliga texten anger du \\\\" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "Kommandot Byt sida växlar mellan sidor i flikhäftet. Ställ in Data 1 till den sida som du vill växla till. Om Data 2 är inställt till någonting kommer växlingen att vara relativ till nuvarande position" + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "Kommandot Infoga i buffert kommer att infoga innehållet i Data 1 i fältet där tangentkombinationen trycktes vid nuvarande markörposition" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "Kommandot Rulla sida rullar textwidgeten upp eller ner en sida eller en rad. Om Data 1 är satt till Up, Down, +1 eller -1." + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "Kommandot Ställ in buffert ställer in fältet där tangentkombinationen trycktes till innehållet i Data 1" + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "Kommandot Senaste kommando gör att fältet innehåller det senast angivna kommandot - samma som att trycka uppåtpil i skalet" + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "Kommandot Nästa kommando gör att fältet innehåller nästa kommando som angavs - samma som att trycka nedåtpil i skalet" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "Detta kommando ändrar texten i fältet för att komplettera ett inkomplett smeknamn eller kommando. Om Data 1 är satt kommer dubbla tabulatortryck i en sträng att välja det senaste smeknamnet, inte nästa" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "Detta kommando rullar upp och ner i listan med smeknamn. Om Data 1 är satt till någonting rullar det upp, annars rullar det ner" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "Detta kommando kontrollerar det senast angivna ordet i fältet mot ersättningslistan och ersätter det om det hittar en träff" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "Detta kommando flyttar den främsta fliken ett steg till vänster" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "Detta kommando flyttar den främsta fliken ett steg till höger" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "Detta kommando flyttar den aktuella fliken ett steg till vänster" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "Detta kommando flyttar den aktuella fliken ett steg till höger" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "Spara indataraden i historiken men skicka inte den till servern" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "Det inträffade ett fel vid inläsning av tangentbindningskonfigurationen" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1635 src/fe-gtk/maingui.c:1751 +#: src/fe-gtk/maingui.c:3252 +msgid "<none>" +msgstr "<ingen>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "Modifierare" + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Tangent" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Åtgärd" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: Tangentbordsgenvägar" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Skift" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "Data 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "Data 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "Fel vid öppnande av tangentkonfigurationsfil\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Okänt tangentnamn %s i konfigurationsfilen för tangentbindningar\n" +"Inläsningen avbröts, fixa %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Okänd åtgärd %s i konfigurationsfilen för tangentbindningar\n" +"Inläsningen avbröts, fixa %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Förväntade datarad (början Dx{:|!}) men fick:\n" +"%s\n" +"\n" +"Inläsningen avbröts, fixa %s/keybindings\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Konfigurationsfilen för tangentbindningar är trasig, inläsningen avbröts\n" +"Fixa %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "Kan inte skriva till den filen." + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "Kan inte läsa den filen." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:264 +msgid "That mask already exists." +msgstr "Den masken finns redan." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:2132 +msgid "Private" +msgstr "Privat" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Notis" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Inbjudning" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Ta bort ignorering" + +#: src/fe-gtk/ignoregui.c:308 +msgid "Enter mask to ignore:" +msgstr "Ange mask att ignorera:" + +#: src/fe-gtk/ignoregui.c:355 +msgid "XChat: Ignore list" +msgstr "XChat: Ignoreringslista" + +#: src/fe-gtk/ignoregui.c:362 +msgid "Ignore Stats:" +msgstr "Ignoreringsstatistik:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Channel:" +msgstr "Kanal:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Private:" +msgstr "Privat:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Notice:" +msgstr "Notis:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:374 +msgid "Invite:" +msgstr "Inbjudan:" + +#: src/fe-gtk/ignoregui.c:385 src/fe-gtk/notifygui.c:428 +msgid "Add..." +msgstr "Lägg till..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "Kanalnamn för kort, försök igen." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: Anslutningen klar" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "Anslutning till %s klar." + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "I serverlistfönstret, ingen kanal (chattrum) har angetts för att gå in i automatiskt för detta nätverk." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Vad vill du göra härnäst?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_Ingenting, jag går in i en kanal senare." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "_Gå in i denna kanal:" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Om du vet namnet på kanalen du vill gå in i, ange den här." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "Ö_ppna kanallistfönstret." + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "Hämta kanallistan kan ta en minut eller två." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "_Visa alltid denna dialog efter anslutning." + +#: src/fe-gtk/maingui.c:506 +msgid "Dialog with" +msgstr "Dialog med" + +#: src/fe-gtk/maingui.c:793 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Ämnet för %s är: %s" + +#: src/fe-gtk/maingui.c:798 +msgid "No topic is set" +msgstr "Inget ämne är satt" + +#: src/fe-gtk/maingui.c:1182 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "Denna server har fortfarande %d kanaler eller dialoger associerade med den. Stänga dem alla?" + +#: src/fe-gtk/maingui.c:1276 +msgid "Quit XChat?" +msgstr "Avsluta XChat?" + +#: src/fe-gtk/maingui.c:1297 +msgid "Don't ask next time." +msgstr "Fråga inte nästa gång." + +#: src/fe-gtk/maingui.c:1303 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Du är ansluten till %i IRC-nätverk." + +#: src/fe-gtk/maingui.c:1305 +msgid "Are you sure you want to quit?" +msgstr "Är du säker på att du vill avsluta?" + +#: src/fe-gtk/maingui.c:1307 +msgid "Some file transfers are still active." +msgstr "En del filöverföringar är fortfarande aktiva." + +#: src/fe-gtk/maingui.c:1325 +msgid "_Minimize to Tray" +msgstr "_Minimera till aktivitetsfält" + +#: src/fe-gtk/maingui.c:1545 +msgid "Insert Attribute or Color Code" +msgstr "Infoga attribut eller färgkod" + +#: src/fe-gtk/maingui.c:1547 +msgid "<b>Bold</b>" +msgstr "<b>Fet</b>" + +#: src/fe-gtk/maingui.c:1548 +msgid "<u>Underline</u>" +msgstr "<u>Understruken</u>" + +#: src/fe-gtk/maingui.c:1550 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1552 +msgid "Colors 0-7" +msgstr "Färgerna 0-7" + +#: src/fe-gtk/maingui.c:1562 +msgid "Colors 8-15" +msgstr "Färgerna 8-15" + +#: src/fe-gtk/maingui.c:1605 +msgid "_Settings" +msgstr "_Inställningar" + +#: src/fe-gtk/maingui.c:1607 +msgid "_Log to Disk" +msgstr "_Logga till disk" + +#: src/fe-gtk/maingui.c:1608 +msgid "_Reload Scrollback" +msgstr "_Läs om historik" + +#: src/fe-gtk/maingui.c:1610 +msgid "_Hide Join/Part Messages" +msgstr "_Dölj meddelanden om ingång/utgång" + +#: src/fe-gtk/maingui.c:1618 +msgid "_Extra Alerts" +msgstr "Ytterligare _larm" + +#: src/fe-gtk/maingui.c:1620 +msgid "Beep on _Message" +msgstr "Pip vid _meddelande" + +#: src/fe-gtk/maingui.c:1621 +msgid "Blink Tray _Icon" +msgstr "Blinka låd_ikonen" + +#: src/fe-gtk/maingui.c:1622 +msgid "Blink Task _Bar" +msgstr "Blinka _verktygsraden" + +#: src/fe-gtk/maingui.c:1660 src/fe-gtk/menu.c:2124 +msgid "_Detach" +msgstr "_Frigör" + +#: src/fe-gtk/maingui.c:1662 src/fe-gtk/menu.c:2125 src/fe-gtk/menu.c:2130 +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "S_täng" + +#: src/fe-gtk/maingui.c:2000 src/fe-gtk/maingui.c:2106 +msgid "User limit must be a number!\n" +msgstr "Användargränsen måste vara en siffra!\n" + +#: src/fe-gtk/maingui.c:2128 +msgid "Topic Protection" +msgstr "Ämnesskydd" + +#: src/fe-gtk/maingui.c:2129 +msgid "No outside messages" +msgstr "Inga meddelanden från utomstående" + +#: src/fe-gtk/maingui.c:2130 +msgid "Secret" +msgstr "Hemlig" + +#: src/fe-gtk/maingui.c:2131 +msgid "Invite Only" +msgstr "Kräver inbjudan" + +#: src/fe-gtk/maingui.c:2133 +msgid "Moderated" +msgstr "Modererad" + +#: src/fe-gtk/maingui.c:2134 +msgid "Ban List" +msgstr "Bannlysningslista" + +# I IRC-sammanhang är "keyword" ett lösenord för att komma in på en kanal. +#: src/fe-gtk/maingui.c:2136 +msgid "Keyword" +msgstr "Lösenord" + +#: src/fe-gtk/maingui.c:2148 +msgid "User Limit" +msgstr "Användargräns" + +#: src/fe-gtk/maingui.c:2257 +msgid "Show/Hide userlist" +msgstr "Visa/Dölj användarlista" + +#: src/fe-gtk/maingui.c:2382 +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 "" +"Kan inte ställa in genomskinlig bakgrund!\n" +"\n" +"Du kanske använder en ickekompatibel fönster-\n" +"hanterare som inte stöds för tillfället.\n" + +#: src/fe-gtk/maingui.c:2653 +msgid "Enter new nickname:" +msgstr "Ange nytt smeknamn:" + +#: src/fe-gtk/menu.c:126 +msgid "Host unknown" +msgstr "Värden okänd" + +#: src/fe-gtk/menu.c:610 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:616 src/fe-gtk/menu.c:620 +msgid "Real Name:" +msgstr "Verkligt namn:" + +#: src/fe-gtk/menu.c:624 +msgid "User:" +msgstr "Användare:" + +#: src/fe-gtk/menu.c:628 +msgid "Country:" +msgstr "Land:" + +#: src/fe-gtk/menu.c:632 +msgid "Server:" +msgstr "Server:" + +#: src/fe-gtk/menu.c:640 +#, c-format +msgid "%u minutes ago" +msgstr "%u minuter sedan" + +#: src/fe-gtk/menu.c:642 src/fe-gtk/menu.c:645 +msgid "Last Msg:" +msgstr "Senaste medd:" + +#: src/fe-gtk/menu.c:655 +msgid "Away Msg:" +msgstr "Frånvaromedd:" + +#: src/fe-gtk/menu.c:710 +#, c-format +msgid "%d nicks selected." +msgstr "%d smeknamn markerade." + +#: src/fe-gtk/menu.c:835 +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 "Menyraden är nu dold. Du kan visa den igen genom att trycka F9 eller högerklicka på en tom del av huvudtextrutan." + +#: src/fe-gtk/menu.c:930 +msgid "Open Link in Browser" +msgstr "Öppna länk i webbläsare" + +#: src/fe-gtk/menu.c:931 +msgid "Copy Selected Link" +msgstr "Kopiera markerad länk" + +#: src/fe-gtk/menu.c:993 src/fe-gtk/menu.c:1264 +msgid "Join Channel" +msgstr "Gå in i kanalen" + +#: src/fe-gtk/menu.c:997 +msgid "Part Channel" +msgstr "Lämna kanal" + +#: src/fe-gtk/menu.c:999 +msgid "Cycle Channel" +msgstr "Rotera kanal" + +#: src/fe-gtk/menu.c:1035 +msgid "_Remove from Favorites" +msgstr "_Ta bort från favoriter" + +#: src/fe-gtk/menu.c:1037 +msgid "_Add to Favorites" +msgstr "_Lägg till i favoriter" + +#: src/fe-gtk/menu.c:1056 +msgid "XChat: User menu" +msgstr "XChat: Användarmeny" + +#: src/fe-gtk/menu.c:1065 +msgid "Edit This Menu..." +msgstr "Redigera denna meny..." + +#: src/fe-gtk/menu.c:1266 +msgid "Retrieve channel list..." +msgstr "Hämta kanallista..." + +#: src/fe-gtk/menu.c:1334 +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 = xchat 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 "" +"Användarkommandon - specialkoder:\n" +"\n" +"%c = aktuell kanal\n" +"%e = aktuellt nätverksnamn\n" +"%m = maskininformation\n" +"%n = ditt smeknamn\n" +"%t = tid/datum\n" +"%v = xchat-version\n" +"%2 = ord 2\n" +"%3 = ord 3\n" +"&2 = ord 2 till slutet på raden\n" +"&3 = ord 3 till slutet på raden\n" +"\n" +"Exempel:\n" +"/cmd nisse hej\n" +"\n" +"%2 blir då \"nisse\"\n" +"&2 blir då \"nisse hej\"." + +#: src/fe-gtk/menu.c:1350 +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 "" +"Knappar i användarlistan - specialkoder:\n" +"\n" +"%a = alla markerade smeknamn\n" +"%c = aktuell kanal\n" +"%e = aktuellt nätverksnamn\n" +"%h = markerade smeknamnets värdnamn\n" +"%m = datorinformation\n" +"%n = ditt smeknamn\n" +"%s = markerade smeknamnet\n" +"%t = tid/datum\n" + +#: src/fe-gtk/menu.c:1360 +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 "" +"Dialogknappar - specialkoder:\n" +"\n" +"%a = alla markerade smeknamn\n" +"%c = aktuell kanal\n" +"%e = aktuellt nätverksnamn\n" +"%h = markerade smeknamnets värdnamn\n" +"%m = datorinformation\n" +"%n = ditt smeknamn\n" +"%s = markerade smeknamnet\n" +"%t = tid/datum\n" + +#: src/fe-gtk/menu.c:1370 +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 "" +"CTCP-svar - specialkoder:\n" +"\n" +"%d = data (hela ctcp-kommandot)\n" +"%e = aktuellt nätverksnamn\n" +"%m = datorinformation\n" +"%s = smeknamnet som skickade ctcp-kommandot\n" +"%t = tid/datum\n" +"%2 = ord 2\n" +"%3 = ord 3\n" +"&2 = ord 2 till slutet på raden\n" +"&3 = ord 3 till slutet på raden\n" +"\n" + +#: src/fe-gtk/menu.c:1381 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"URL-hanterare - specialkoder:\n" +"\n" +"%s = URL-strängen\n" +"\n" +"Genom att ange ett ! framför kommandot\n" +"indikerar du att kommandot ska skickas\n" +"till ett skal istället för XChat" + +#: src/fe-gtk/menu.c:1390 +msgid "XChat: User Defined Commands" +msgstr "XChat: Användardefinierade kommandon" + +#: src/fe-gtk/menu.c:1397 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: Popupmeny i användarlista" + +#: src/fe-gtk/menu.c:1404 +msgid "Replace with" +msgstr "Ersätt med" + +#: src/fe-gtk/menu.c:1404 +msgid "XChat: Replace" +msgstr "XChat: Ersätt" + +#: src/fe-gtk/menu.c:1411 +msgid "XChat: URL Handlers" +msgstr "XChat: URL-hanterare" + +#: src/fe-gtk/menu.c:1430 +msgid "XChat: Userlist buttons" +msgstr "XChat: Knappar i användarlista" + +#: src/fe-gtk/menu.c:1437 +msgid "XChat: Dialog buttons" +msgstr "XChat: Dialogknappar" + +#: src/fe-gtk/menu.c:1444 +msgid "XChat: CTCP Replies" +msgstr "XChat: CTCP-svar" + +#: src/fe-gtk/menu.c:1550 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1551 +msgid "Network Li_st..." +msgstr "Nätverksli_sta..." + +#: src/fe-gtk/menu.c:1554 +msgid "_New" +msgstr "_Ny" + +#: src/fe-gtk/menu.c:1555 +msgid "Server Tab..." +msgstr "Serverflik..." + +#: src/fe-gtk/menu.c:1556 +msgid "Channel Tab..." +msgstr "Kanalflik..." + +#: src/fe-gtk/menu.c:1557 +msgid "Server Window..." +msgstr "Serverfönster..." + +#: src/fe-gtk/menu.c:1558 +msgid "Channel Window..." +msgstr "Kanalfönster..." + +#: src/fe-gtk/menu.c:1563 src/fe-gtk/menu.c:1565 +msgid "_Load Plugin or Script..." +msgstr "_Läs in insticksmodul eller skript..." + +#: src/fe-gtk/menu.c:1573 src/fe-gtk/plugin-tray.c:604 +msgid "_Quit" +msgstr "_Avsluta" + +#: src/fe-gtk/menu.c:1575 +msgid "_View" +msgstr "_Visa" + +#: src/fe-gtk/menu.c:1577 +msgid "_Menu Bar" +msgstr "_Menyrad" + +#: src/fe-gtk/menu.c:1578 +msgid "_Topic Bar" +msgstr "Ämn_esrad" + +#: src/fe-gtk/menu.c:1579 +msgid "_User List" +msgstr "An_vändarlista" + +#: src/fe-gtk/menu.c:1580 +msgid "U_serlist Buttons" +msgstr "_Knappar i användarlista" + +#: src/fe-gtk/menu.c:1581 +msgid "M_ode Buttons" +msgstr "_Lägesknappar" + +#: src/fe-gtk/menu.c:1583 +msgid "_Channel Switcher" +msgstr "_Kanalväxlare" + +#: src/fe-gtk/menu.c:1585 +msgid "_Tabs" +msgstr "_Flikar" + +#: src/fe-gtk/menu.c:1586 +msgid "T_ree" +msgstr "T_räd" + +#: src/fe-gtk/menu.c:1588 +msgid "_Network Meters" +msgstr "_Nätverksmätare" + +#: src/fe-gtk/menu.c:1590 +msgid "Off" +msgstr "Av" + +#: src/fe-gtk/menu.c:1591 +msgid "Graph" +msgstr "Diagram" + +#: src/fe-gtk/menu.c:1596 +msgid "_Server" +msgstr "_Server" + +#: src/fe-gtk/menu.c:1597 +msgid "_Disconnect" +msgstr "Koppla _från" + +#: src/fe-gtk/menu.c:1598 +msgid "_Reconnect" +msgstr "Återa_nslut" + +#: src/fe-gtk/menu.c:1599 +msgid "Join a Channel..." +msgstr "Gå in i en kanal..." + +#: src/fe-gtk/menu.c:1600 +msgid "List of Channels..." +msgstr "Kanallista..." + +#: src/fe-gtk/menu.c:1603 +msgid "Marked Away" +msgstr "Märk som frånvarande" + +#: src/fe-gtk/menu.c:1605 +msgid "_Usermenu" +msgstr "A_nvändarmeny" + +#: src/fe-gtk/menu.c:1607 +msgid "S_ettings" +msgstr "_Inställningar" + +#: src/fe-gtk/menu.c:1608 +msgid "_Preferences" +msgstr "_Inställningar" + +#: src/fe-gtk/menu.c:1610 +msgid "Advanced" +msgstr "Avancerat" + +#: src/fe-gtk/menu.c:1611 +msgid "Auto Replace..." +msgstr "Automatisk ersättning..." + +#: src/fe-gtk/menu.c:1612 +msgid "CTCP Replies..." +msgstr "CTCP-svar..." + +#: src/fe-gtk/menu.c:1613 +msgid "Dialog Buttons..." +msgstr "Dialogknappar..." + +#: src/fe-gtk/menu.c:1614 +msgid "Keyboard Shortcuts..." +msgstr "Tangentbordsgenvägar..." + +#: src/fe-gtk/menu.c:1615 +msgid "Text Events..." +msgstr "Texthändelser..." + +#: src/fe-gtk/menu.c:1616 +msgid "URL Handlers..." +msgstr "URL-hanterare..." + +#: src/fe-gtk/menu.c:1617 +msgid "User Commands..." +msgstr "Användarkommandon..." + +#: src/fe-gtk/menu.c:1618 +msgid "Userlist Buttons..." +msgstr "Knappar i användarlista..." + +#: src/fe-gtk/menu.c:1619 +msgid "Userlist Popup..." +msgstr "Popupmeny i användarlista..." + +#: src/fe-gtk/menu.c:1622 +msgid "_Window" +msgstr "_Fönster" + +#: src/fe-gtk/menu.c:1623 +msgid "Ban List..." +msgstr "Bannlysningslista..." + +#: src/fe-gtk/menu.c:1624 +msgid "Character Chart..." +msgstr "Teckentabell..." + +#: src/fe-gtk/menu.c:1625 +msgid "Direct Chat..." +msgstr "Direktchatt..." + +#: src/fe-gtk/menu.c:1626 +msgid "File Transfers..." +msgstr "Filöverföringar..." + +#: src/fe-gtk/menu.c:1627 +msgid "Friends List..." +msgstr "Vännerlista..." + +#: src/fe-gtk/menu.c:1628 +msgid "Ignore List..." +msgstr "Ignoreringslista..." + +#: src/fe-gtk/menu.c:1629 +msgid "Plugins and Scripts..." +msgstr "Insticksmoduler och skript..." + +#: src/fe-gtk/menu.c:1630 +msgid "Raw Log..." +msgstr "Rålogg..." + +#: src/fe-gtk/menu.c:1631 +msgid "URL Grabber..." +msgstr "URL-fångare..." + +#: src/fe-gtk/menu.c:1633 +msgid "Reset Marker Line" +msgstr "Återställ markörsrad" + +#: src/fe-gtk/menu.c:1634 +msgid "C_lear Text" +msgstr "T_öm text" + +#: src/fe-gtk/menu.c:1636 +msgid "Search Text..." +msgstr "Sök text..." + +#: src/fe-gtk/menu.c:1637 +msgid "Save Text..." +msgstr "Spara text..." + +#: src/fe-gtk/menu.c:1639 src/fe-gtk/menu.c:2116 +msgid "_Help" +msgstr "_Hjälp" + +#: src/fe-gtk/menu.c:1640 +msgid "_Contents" +msgstr "_Innehåll" + +#: src/fe-gtk/menu.c:1642 +msgid "Check for updates" +msgstr "Leta efter uppdateringar" + +#: src/fe-gtk/menu.c:1644 +msgid "_About" +msgstr "_Om" + +#: src/fe-gtk/menu.c:2129 +msgid "_Attach" +msgstr "Fä_st" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "Sågs senast" + +#: src/fe-gtk/notifygui.c:182 +msgid "Offline" +msgstr "Frånkopplad" + +#: src/fe-gtk/notifygui.c:202 src/fe-gtk/setup.c:231 +msgid "Never" +msgstr "Aldrig" + +#: src/fe-gtk/notifygui.c:205 src/fe-gtk/notifygui.c:230 +#, c-format +msgid "%d minutes ago" +msgstr "%d minuter sedan" + +#: src/fe-gtk/notifygui.c:220 +msgid "Online" +msgstr "Ansluten" + +#: src/fe-gtk/notifygui.c:349 +msgid "Enter nickname to add:" +msgstr "Ange smeknamn att lägga till:" + +#: src/fe-gtk/notifygui.c:378 +msgid "Notify on these networks:" +msgstr "Notifiera på dessa nätverk:" + +#: src/fe-gtk/notifygui.c:389 +msgid "Comma separated list of networks is accepted." +msgstr "Kommaseparerad lista över nätverken tillåts." + +#: src/fe-gtk/notifygui.c:415 +msgid "XChat: Friends List" +msgstr "XChat: Vännerlista" + +#: src/fe-gtk/notifygui.c:436 +msgid "Open Dialog" +msgstr "Öppna dialog" + +#: src/fe-gtk/plugin-tray.c:248 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" +"Kan inte hitta \"notify-send\" för att öppna ballongdialoger.\n" +"Installera libnotify." + +#: src/fe-gtk/plugin-tray.c:299 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat: Ansluten till %u nätverk och %u kanaler" + +#: src/fe-gtk/plugin-tray.c:583 +msgid "_Restore" +msgstr "_Återställ" + +#: src/fe-gtk/plugin-tray.c:585 +msgid "_Hide" +msgstr "_Dölj" + +#: src/fe-gtk/plugin-tray.c:588 +msgid "_Blink on" +msgstr "_Blinka vid" + +#: src/fe-gtk/plugin-tray.c:589 src/fe-gtk/setup.c:479 +msgid "Channel Message" +msgstr "Kanalmeddelande" + +#: src/fe-gtk/plugin-tray.c:590 src/fe-gtk/setup.c:480 +msgid "Private Message" +msgstr "Privat meddelande" + +#: src/fe-gtk/plugin-tray.c:591 src/fe-gtk/setup.c:481 +msgid "Highlighted Message" +msgstr "Färgmarkerat meddelande" + +#: src/fe-gtk/plugin-tray.c:594 +msgid "_Change status" +msgstr "_Ändra status" + +#: src/fe-gtk/plugin-tray.c:596 +msgid "_Away" +msgstr "_Borta" + +#: src/fe-gtk/plugin-tray.c:599 +msgid "_Back" +msgstr "_Bakåt" + +#: src/fe-gtk/plugin-tray.c:648 src/fe-gtk/plugin-tray.c:656 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "XChat: Färgmarkerat meddelande från: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:651 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat: %u färgmarkerade meddelanden, senaste från: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:674 src/fe-gtk/plugin-tray.c:681 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat: Nytt publikt meddelande från: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:677 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat: %u nya publika meddelanden." + +#: src/fe-gtk/plugin-tray.c:703 src/fe-gtk/plugin-tray.c:710 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat: Privat meddelande från: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:706 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat: %u privata meddelanden, senaste från: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:756 src/fe-gtk/plugin-tray.c:764 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: Filerbjudande från: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:759 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "XChat: %u filerbjudanden, senaste från: %s (%s)" + +#: src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Version" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Beskrivning" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Välj en insticksmodul eller ett skript att läsa in" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: Insticksmoduler och skript" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Läs in..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "_Glöm" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:438 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Spara som..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: Rålogg (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Töm rålogg" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Fönstret som du öppnade detta sökfönster för finns inte längre." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "Sökning nådde slutet, hittades inte." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Sök" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "_Matcha skiftläge" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "Sök _bakåt" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "_Sök" + +#: src/fe-gtk/servlistgui.c:171 src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "Nytt nätverk" + +#: src/fe-gtk/servlistgui.c:558 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Vill du verkligen ta bort nätverket \"%s\" och alla dess servrar?" + +#: src/fe-gtk/servlistgui.c:740 +msgid "#channel" +msgstr "#kanal" + +#: src/fe-gtk/servlistgui.c:847 +msgid "XChat: Favorite Channels (Auto-Join List)" +msgstr "XChat: Favoritkanaler (gå automatiskt in i)" + +#: src/fe-gtk/servlistgui.c:859 +#, c-format +msgid "These channels will be joined whenever you connect to %s." +msgstr "Dessa kanaler kommer att du gå in i när du ansluter till %s." + +#: src/fe-gtk/servlistgui.c:902 +msgid "Key (Password)" +msgstr "Nyckel (Lösenord)" + +#: src/fe-gtk/servlistgui.c:933 src/fe-gtk/servlistgui.c:1535 +msgid "_Edit" +msgstr "_Redigera" + +#: src/fe-gtk/servlistgui.c:969 +#, c-format +msgid "%s has been removed." +msgstr "%s har tagits bort." + +#: src/fe-gtk/servlistgui.c:989 +#, c-format +msgid "%s has been added." +msgstr "%s har lagts till." + +#: src/fe-gtk/servlistgui.c:1013 +msgid "User name and Real name cannot be left blank." +msgstr "Användarnamn och verkligt namn kan inte lämnas blanka." + +#: src/fe-gtk/servlistgui.c:1366 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: Redigera %s" + +#: src/fe-gtk/servlistgui.c:1385 +#, c-format +msgid "Servers for %s" +msgstr "Servrar för %s" + +#: src/fe-gtk/servlistgui.c:1396 +msgid "Connect to selected server only" +msgstr "Anslut endast till markerad server" + +#: src/fe-gtk/servlistgui.c:1397 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Gå inte igenom alla servrar när anslutningen avbryts." + +#: src/fe-gtk/servlistgui.c:1399 +msgid "Your Details" +msgstr "Dina detaljer" + +#: src/fe-gtk/servlistgui.c:1405 +msgid "Use global user information" +msgstr "Använd global användarinformation" + +#: src/fe-gtk/servlistgui.c:1408 src/fe-gtk/servlistgui.c:1640 +msgid "_Nick name:" +msgstr "_Smeknamn:" + +#: src/fe-gtk/servlistgui.c:1412 src/fe-gtk/servlistgui.c:1647 +msgid "Second choice:" +msgstr "Andra valet:" + +#: src/fe-gtk/servlistgui.c:1416 src/fe-gtk/servlistgui.c:1661 +msgid "_User name:" +msgstr "An_vändarnamn:" + +#: src/fe-gtk/servlistgui.c:1420 src/fe-gtk/servlistgui.c:1668 +msgid "Rea_l name:" +msgstr "Verkligt _namn:" + +#: src/fe-gtk/servlistgui.c:1423 +msgid "Connecting" +msgstr "Ansluter" + +#: src/fe-gtk/servlistgui.c:1429 +msgid "Auto connect to this network at startup" +msgstr "Anslut automatiskt till detta nätverk vid uppstart" + +#: src/fe-gtk/servlistgui.c:1431 +msgid "Bypass proxy server" +msgstr "Kringgå proxyserver" + +#: src/fe-gtk/servlistgui.c:1433 +msgid "Use SSL for all the servers on this network" +msgstr "Använd SSL för alla servrar på detta nätverk" + +#: src/fe-gtk/servlistgui.c:1438 +msgid "Accept invalid SSL certificate" +msgstr "Acceptera ogiltigt SSL-certifikat" + +#: src/fe-gtk/servlistgui.c:1444 +msgid "_Favorite channels:" +msgstr "_Favoritkanaler:" + +#: src/fe-gtk/servlistgui.c:1446 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Kanaler att gå in i, åtskilda med kommatecken men inte med blanksteg!" + +#: src/fe-gtk/servlistgui.c:1449 +msgid "Connect command:" +msgstr "Anslutningskommando:" + +#: src/fe-gtk/servlistgui.c:1451 +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 "Extra kommandon att köra efter anslutning. Om du behöver fler än en, ställ in denna till LOAD -e <filnamn>, där <filnamn> är en textfil som är full med kommandon att köra." + +#: src/fe-gtk/servlistgui.c:1454 +msgid "Nickserv password:" +msgstr "Nickserv-lösenord:" + +#: src/fe-gtk/servlistgui.c:1456 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "Om ditt smeknamn kräver ett lösenord, ange det här. Inte alla IRC-nätverk har stöd för detta." + +#: src/fe-gtk/servlistgui.c:1460 +msgid "Server password:" +msgstr "Serverlösenord:" + +#: src/fe-gtk/servlistgui.c:1462 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Lösenord för servern, lämna blank om du är osäker." + +#: src/fe-gtk/servlistgui.c:1465 +msgid "Character set:" +msgstr "Teckentabell:" + +#: src/fe-gtk/servlistgui.c:1618 +msgid "XChat: Network List" +msgstr "XChat: Nätverkslista" + +#: src/fe-gtk/servlistgui.c:1630 +msgid "User Information" +msgstr "Användarinformation" + +#: src/fe-gtk/servlistgui.c:1654 +msgid "Third choice:" +msgstr "Tredje valet:" + +#: src/fe-gtk/servlistgui.c:1714 +msgid "Networks" +msgstr "Nätverk" + +#: src/fe-gtk/servlistgui.c:1755 +msgid "Skip network list on startup" +msgstr "Hoppa över nätverkslista vid uppstart" + +#: src/fe-gtk/servlistgui.c:1787 +msgid "_Edit..." +msgstr "_Redigera..." + +#: src/fe-gtk/servlistgui.c:1794 +msgid "_Sort" +msgstr "_Sortera" + +#: src/fe-gtk/servlistgui.c:1795 +msgid "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN keys to move a row." +msgstr "Sorterar nätverkslistan i alfabetisk ordning. Använd tangenterna SKIFT-UP och SKIFT-DOWN för att flytta en rad." + +#: src/fe-gtk/servlistgui.c:1820 +msgid "C_onnect" +msgstr "_Anslut" + +#: src/fe-gtk/setup.c:104 +msgid "Text Box Appearance" +msgstr "Utseende för textruta" + +#: src/fe-gtk/setup.c:105 +msgid "Font:" +msgstr "Typsnitt:" + +#: src/fe-gtk/setup.c:106 +msgid "Background image:" +msgstr "Bakgrundsbild:" + +#: src/fe-gtk/setup.c:107 +msgid "Scrollback lines:" +msgstr "Rulla tillbaka rader:" + +#: src/fe-gtk/setup.c:108 +msgid "Colored nick names" +msgstr "Färgade smeknamn" + +#: src/fe-gtk/setup.c:109 +msgid "Give each person on IRC a different color" +msgstr "Ge varje person på IRC en olik färg" + +#: src/fe-gtk/setup.c:110 +msgid "Indent nick names" +msgstr "Dra in smeknamn" + +#: src/fe-gtk/setup.c:111 +msgid "Make nick names right-justified" +msgstr "Högerjustera smeknamn" + +#: src/fe-gtk/setup.c:112 +msgid "Transparent background" +msgstr "Genomskinlig bakgrund" + +#: src/fe-gtk/setup.c:113 +msgid "Show marker line" +msgstr "Visa markörrad" + +#: src/fe-gtk/setup.c:114 +msgid "Insert a red line after the last read text." +msgstr "Infoga en röd rad efter den senaste lästa texten." + +#: src/fe-gtk/setup.c:115 +msgid "Transparency Settings" +msgstr "Inställningar för genomskinlighet" + +#: src/fe-gtk/setup.c:116 +msgid "Red:" +msgstr "Röd:" + +#: src/fe-gtk/setup.c:117 +msgid "Green:" +msgstr "Grön:" + +#: src/fe-gtk/setup.c:118 +msgid "Blue:" +msgstr "Blå:" + +#: src/fe-gtk/setup.c:120 src/fe-gtk/setup.c:391 +msgid "Time Stamps" +msgstr "Tidsstämplar" + +#: src/fe-gtk/setup.c:121 +msgid "Enable time stamps" +msgstr "Aktivera tidsstämplar" + +#: src/fe-gtk/setup.c:122 +msgid "Time stamp format:" +msgstr "Tidsstämplingsformat:" + +#: src/fe-gtk/setup.c:123 src/fe-gtk/setup.c:394 +msgid "See strftime manpage for details." +msgstr "Se manualsidan för strftime för detaljer." + +#: src/fe-gtk/setup.c:130 src/fe-gtk/setup.c:170 +msgid "A-Z" +msgstr "A-Ö" + +#: src/fe-gtk/setup.c:131 +msgid "Last-spoke order" +msgstr "Senast sagda order" + +#: src/fe-gtk/setup.c:137 src/fe-gtk/setup.c:1701 +msgid "Input box" +msgstr "Inmatningsfält" + +#: src/fe-gtk/setup.c:138 src/fe-gtk/setup.c:202 +msgid "Use the Text box font and colors" +msgstr "Använd typsnittet och färgerna för textrutor" + +#: src/fe-gtk/setup.c:140 +msgid "Spell checking" +msgstr "Stavningskontroll" + +#: src/fe-gtk/setup.c:143 +msgid "Nick Completion" +msgstr "Smeknamnskomplettering" + +#: src/fe-gtk/setup.c:144 +msgid "Automatic nick completion (without TAB key)" +msgstr "Automatisk smeknamnskomplettering (utan tabulatortangent)" + +#: src/fe-gtk/setup.c:146 +msgid "Nick completion suffix:" +msgstr "Suffix för smeknamnskomplettering:" + +#: src/fe-gtk/setup.c:147 +msgid "Nick completion sorted:" +msgstr "Sortering för smeknamnskomplettering:" + +#: src/fe-gtk/setup.c:150 +msgid "Input Box Codes" +msgstr "Inmatningskoder" + +#: src/fe-gtk/setup.c:151 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Tolka %nnn som ett ASCII-värde" + +#: src/fe-gtk/setup.c:152 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Tolka %C, %B som färg, fet, osv" + +#: src/fe-gtk/setup.c:169 +msgid "A-Z, Ops first" +msgstr "A-Ö, operatörer först" + +#: src/fe-gtk/setup.c:171 +msgid "Z-A, Ops last" +msgstr "Ö-A, operatörer sist" + +#: src/fe-gtk/setup.c:172 +msgid "Z-A" +msgstr "Ö-A" + +#: src/fe-gtk/setup.c:173 +msgid "Unsorted" +msgstr "Osorterad" + +#: src/fe-gtk/setup.c:179 src/fe-gtk/setup.c:191 +msgid "Left (Upper)" +msgstr "Vänster (övre)" + +#: src/fe-gtk/setup.c:180 src/fe-gtk/setup.c:192 +msgid "Left (Lower)" +msgstr "Vänster (nedre)" + +#: src/fe-gtk/setup.c:181 src/fe-gtk/setup.c:193 +msgid "Right (Upper)" +msgstr "Höger (övre)" + +#: src/fe-gtk/setup.c:182 src/fe-gtk/setup.c:194 +msgid "Right (Lower)" +msgstr "Höger (nedre)" + +#: src/fe-gtk/setup.c:183 +msgid "Top" +msgstr "överst" + +#: src/fe-gtk/setup.c:184 +msgid "Bottom" +msgstr "nederst" + +#: src/fe-gtk/setup.c:185 +msgid "Hidden" +msgstr "Dold" + +#: src/fe-gtk/setup.c:200 +msgid "User List" +msgstr "Användarlista" + +#: src/fe-gtk/setup.c:201 +msgid "Show hostnames in user list" +msgstr "Visa värdnamn i användarlista" + +#: src/fe-gtk/setup.c:204 +msgid "User list sorted by:" +msgstr "Användarlistan sorteras efter:" + +#: src/fe-gtk/setup.c:205 +msgid "Show user list at:" +msgstr "Visa användarlista:" + +#: src/fe-gtk/setup.c:207 +msgid "Away tracking" +msgstr "Frånvarospårning" + +#: src/fe-gtk/setup.c:208 +msgid "Track the Away status of users and mark them in a different color" +msgstr "Spårar frånvarostatus för användare och markerar dem i en annan färg" + +#: src/fe-gtk/setup.c:209 +msgid "On channels smaller than:" +msgstr "På kanaler mindre än:" + +#: src/fe-gtk/setup.c:211 +msgid "Action Upon Double Click" +msgstr "Åtgärd vid dubbelklick" + +#: src/fe-gtk/setup.c:223 +msgid "Windows" +msgstr "Fönster" + +#: src/fe-gtk/setup.c:224 src/fe-gtk/setup.c:240 +msgid "Tabs" +msgstr "Flikar" + +#: src/fe-gtk/setup.c:232 +msgid "Always" +msgstr "Alltid" + +#: src/fe-gtk/setup.c:233 +msgid "Only requested tabs" +msgstr "Endast begärda flikar" + +#: src/fe-gtk/setup.c:242 +msgid "Tree" +msgstr "Träd" + +#: src/fe-gtk/setup.c:249 +msgid "Switcher type:" +msgstr "Växlartyp:" + +#: src/fe-gtk/setup.c:250 +msgid "Open an extra tab for server messages" +msgstr "Öppna en extra flik för servermeddelanden" + +#: src/fe-gtk/setup.c:251 +msgid "Open an extra tab for server notices" +msgstr "Öppna en extra flik för servernotiser" + +#: src/fe-gtk/setup.c:252 +msgid "Open a new tab when you receive a private message" +msgstr "Öppna en ny flik när du tar emot ett privat meddelande" + +#: src/fe-gtk/setup.c:253 +msgid "Sort tabs in alphabetical order" +msgstr "Sortera flikar i alfabetisk ordning" + +#: src/fe-gtk/setup.c:254 +msgid "Smaller text" +msgstr "Mindre text" + +#: src/fe-gtk/setup.c:256 +msgid "Focus new tabs:" +msgstr "Fokusera nya flikar:" + +#: src/fe-gtk/setup.c:258 +msgid "Show channel switcher at:" +msgstr "Visa kanalväxlare:" + +#: src/fe-gtk/setup.c:259 +msgid "Shorten tab labels to:" +msgstr "Korta ner fliketiketter till:" + +#: src/fe-gtk/setup.c:259 +msgid "letters." +msgstr "bokstäver." + +#: src/fe-gtk/setup.c:261 +msgid "Tabs or Windows" +msgstr "Flikar eller fönster" + +#: src/fe-gtk/setup.c:262 +msgid "Open channels in:" +msgstr "Öppna kanaler i:" + +#: src/fe-gtk/setup.c:263 +msgid "Open dialogs in:" +msgstr "Öppna dialogfönster i:" + +#: src/fe-gtk/setup.c:264 +msgid "Open utilities in:" +msgstr "Öppna verktyg i:" + +#: src/fe-gtk/setup.c:264 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Öppna DCC-, ignorerings-, notifieringsfönster osv. i flikar eller fönster?" + +#: src/fe-gtk/setup.c:271 +msgid "No" +msgstr "Nej" + +#: src/fe-gtk/setup.c:272 +msgid "Yes" +msgstr "Ja" + +#: src/fe-gtk/setup.c:273 +msgid "Browse for save folder every time" +msgstr "Bläddra varje gång efter mapp att spara i" + +#: src/fe-gtk/setup.c:279 +msgid "Files and Directories" +msgstr "Filer och kataloger" + +#: src/fe-gtk/setup.c:280 +msgid "Auto accept file offers:" +msgstr "Acceptera filerbjudanden automatiskt:" + +#: src/fe-gtk/setup.c:281 +msgid "Download files to:" +msgstr "Spara hämtade filer i:" + +#: src/fe-gtk/setup.c:282 +msgid "Move completed files to:" +msgstr "Flytta färdighämtade filer till:" + +#: src/fe-gtk/setup.c:283 +msgid "Save nick name in filenames" +msgstr "Spara smeknamn i filnamn" + +#: src/fe-gtk/setup.c:285 +msgid "Network Settings" +msgstr "Nätverksinställningar" + +#: src/fe-gtk/setup.c:286 +msgid "Get my address from the IRC server" +msgstr "Hämta min adress från IRC-servern" + +#: src/fe-gtk/setup.c:287 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "Fråga IRC-servern efter din verkliga adress. Använd detta om du har en adress av typen 192.168.*.*!" + +#: src/fe-gtk/setup.c:288 +msgid "DCC IP address:" +msgstr "DCC-IP-adress:" + +#: src/fe-gtk/setup.c:289 +msgid "Claim you are at this address when offering files." +msgstr "Utge dig för att vara på denna adress när du erbjuder filer." + +#: src/fe-gtk/setup.c:290 +msgid "First DCC send port:" +msgstr "Första DCC-sändningsport:" + +#: src/fe-gtk/setup.c:291 +msgid "Last DCC send port:" +msgstr "Sista DCC-sändningsport:" + +#: src/fe-gtk/setup.c:292 +msgid "!Leave ports at zero for full range." +msgstr "!Lämna värdet noll vid portar för fullständigt intervall." + +#: src/fe-gtk/setup.c:294 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Maximal hastighet för filöverföringar (byte per sekund)" + +#: src/fe-gtk/setup.c:295 +msgid "One upload:" +msgstr "En sändning:" + +#: src/fe-gtk/setup.c:296 src/fe-gtk/setup.c:298 +msgid "Maximum speed for one transfer" +msgstr "Max. hastighet för en överföring" + +#: src/fe-gtk/setup.c:297 +msgid "One download:" +msgstr "En hämtning:" + +#: src/fe-gtk/setup.c:299 +msgid "All uploads combined:" +msgstr "Alla sändningar kombinerade:" + +#: src/fe-gtk/setup.c:300 src/fe-gtk/setup.c:302 +msgid "Maximum speed for all files" +msgstr "Max. hastighet för alla filer" + +#: src/fe-gtk/setup.c:301 +msgid "All downloads combined:" +msgstr "Alla hämtningar kombinerade:" + +#: src/fe-gtk/setup.c:329 src/fe-gtk/setup.c:1707 +msgid "Alerts" +msgstr "Alarm" + +#: src/fe-gtk/setup.c:333 +msgid "Show tray balloons on:" +msgstr "Visa lådballonger vid:" + +#: src/fe-gtk/setup.c:335 +msgid "Blink tray icon on:" +msgstr "Blinka lådikonen vid:" + +#: src/fe-gtk/setup.c:336 +msgid "Blink task bar on:" +msgstr "Blinka verktygsraden vid:" + +#: src/fe-gtk/setup.c:337 +msgid "Make a beep sound on:" +msgstr "Spela upp en ljudsignal vid:" + +#: src/fe-gtk/setup.c:339 +msgid "Enable system tray icon" +msgstr "Aktivera ikon för systemlåda" + +#: src/fe-gtk/setup.c:341 +msgid "Highlighted Messages" +msgstr "Färgmarkerade meddelanden" + +#: src/fe-gtk/setup.c:342 +msgid "Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Färgmarkerade meddelanden är sådana där ditt smeknamn nämns i, men även:" + +#: src/fe-gtk/setup.c:344 +msgid "Extra words to highlight:" +msgstr "Extra ord att färgmarkera:" + +#: src/fe-gtk/setup.c:345 +msgid "Nick names not to highlight:" +msgstr "Smeknamn att inte färgmarkera:" + +#: src/fe-gtk/setup.c:346 +msgid "Nick names to always highlight:" +msgstr "Smeknamn att alltid färgmarkera:" + +#: src/fe-gtk/setup.c:347 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" +"Separera flera ord med kommatecken.\n" +"Jokertecken accepteras." + +#: src/fe-gtk/setup.c:353 +msgid "Default Messages" +msgstr "Standardmeddelanden" + +#: src/fe-gtk/setup.c:354 +msgid "Quit:" +msgstr "Avsluta:" + +#: src/fe-gtk/setup.c:355 +msgid "Leave channel:" +msgstr "Lämna kanal:" + +#: src/fe-gtk/setup.c:356 +msgid "Away:" +msgstr "Borta:" + +#: src/fe-gtk/setup.c:358 +msgid "Away" +msgstr "Borta" + +#: src/fe-gtk/setup.c:359 +msgid "Announce away messages" +msgstr "Meddela frånvaromeddelanden" + +#: src/fe-gtk/setup.c:360 +msgid "Announce your away messages to all channels" +msgstr "Meddela dina frånvaromeddelanden till alla kanaler" + +#: src/fe-gtk/setup.c:361 +msgid "Show away once" +msgstr "Visa frånvaro endast en gång" + +#: src/fe-gtk/setup.c:361 +msgid "Show identical away messages only once" +msgstr "Visa identiska frånvaromeddelanden endast en gång" + +#: src/fe-gtk/setup.c:362 +msgid "Automatically unmark away" +msgstr "Avmarkera frånvaro automatiskt" + +#: src/fe-gtk/setup.c:362 +msgid "Unmark yourself as away before sending messages" +msgstr "Avmarkerering av din frånvaro innan skickande av meddelanden" + +#: src/fe-gtk/setup.c:369 +msgid "Advanced Settings" +msgstr "Avancerade inställningar" + +#: src/fe-gtk/setup.c:370 +msgid "Auto reconnect delay:" +msgstr "Fördröjning för automatisk återanslutning:" + +#: src/fe-gtk/setup.c:371 +msgid "Display MODEs in raw form" +msgstr "Visa MODE-kommandon i rå form" + +#: src/fe-gtk/setup.c:372 +msgid "Whois on notify" +msgstr "Vemär vid notifiering" + +#: src/fe-gtk/setup.c:372 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Skickar en /WHOIS när en användare som är i din notifieringslista ansluter" + +#: src/fe-gtk/setup.c:373 +msgid "Hide join and part messages" +msgstr "Dölj meddelanden om ingång/lämnande" + +#: src/fe-gtk/setup.c:373 +msgid "Hide channel join/part messages by default" +msgstr "Dölj meddelanden om ingång/lämnande som standard" + +#: src/fe-gtk/setup.c:374 +msgid "Auto Open DCC Windows" +msgstr "Öppna DCC-fönster automatiskt" + +#: src/fe-gtk/setup.c:375 +msgid "Send window" +msgstr "Sändningsfönster" + +#: src/fe-gtk/setup.c:376 +msgid "Receive window" +msgstr "Mottagningsfönster" + +#: src/fe-gtk/setup.c:377 +msgid "Chat window" +msgstr "Chattfönster" + +#: src/fe-gtk/setup.c:385 src/fe-gtk/setup.c:1709 +msgid "Logging" +msgstr "Loggning" + +#: src/fe-gtk/setup.c:386 +msgid "Display scrollback from previous session" +msgstr "Visa historik från tidigare session" + +#: src/fe-gtk/setup.c:387 +msgid "Enable logging of conversations to disk" +msgstr "Aktivera loggning av konversationer till disk" + +#: src/fe-gtk/setup.c:388 +msgid "Log filename:" +msgstr "Loggfilsnamn:" + +#: src/fe-gtk/setup.c:389 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Server %c=Kanal %n=Nätverk." + +#: src/fe-gtk/setup.c:392 +msgid "Insert timestamps in logs" +msgstr "Infoga tidsstämplar i loggar" + +#: src/fe-gtk/setup.c:393 +msgid "Log timestamp format:" +msgstr "Format för tidsstämpling av loggar:" + +#: src/fe-gtk/setup.c:401 +msgid "(Disabled)" +msgstr "(Inaktiverad)" + +#: src/fe-gtk/setup.c:402 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:403 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:404 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:405 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:407 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: src/fe-gtk/setup.c:414 +msgid "All Connections" +msgstr "Alla anslutningar" + +#: src/fe-gtk/setup.c:415 +msgid "IRC Server Only" +msgstr "Endast IRC-server" + +#: src/fe-gtk/setup.c:416 +msgid "DCC Get Only" +msgstr "Endast DCC Get" + +#: src/fe-gtk/setup.c:422 +msgid "Your Address" +msgstr "Din adress" + +#: src/fe-gtk/setup.c:423 +msgid "Bind to:" +msgstr "Bind till:" + +#: src/fe-gtk/setup.c:424 +msgid "Only useful for computers with multiple addresses." +msgstr "Endast användbart för datorer med flera adresser." + +#: src/fe-gtk/setup.c:426 +msgid "Proxy Server" +msgstr "Proxyserver" + +#: src/fe-gtk/setup.c:427 +msgid "Hostname:" +msgstr "Värdnamn:" + +#: src/fe-gtk/setup.c:428 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:429 +msgid "Type:" +msgstr "Typ:" + +#: src/fe-gtk/setup.c:430 +msgid "Use proxy for:" +msgstr "Använd proxy för:" + +#: src/fe-gtk/setup.c:432 +msgid "Proxy Authentication" +msgstr "Proxyautentisering" + +#: src/fe-gtk/setup.c:434 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Använd autentisering (endast MS Proxy, HTTP eller SOCKS5)" + +#: src/fe-gtk/setup.c:436 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Använd autentisering (endast HTTP eller SOCKS5)" + +#: src/fe-gtk/setup.c:438 +msgid "Username:" +msgstr "Användarnamn:" + +#: src/fe-gtk/setup.c:439 +msgid "Password:" +msgstr "Lösenord:" + +#: src/fe-gtk/setup.c:870 +msgid "Select an Image File" +msgstr "Välj en bildfil" + +#: src/fe-gtk/setup.c:905 +msgid "Select Download Folder" +msgstr "Välj mapp för hämtade filer" + +#: src/fe-gtk/setup.c:914 +msgid "Select font" +msgstr "Välj typsnitt" + +#: src/fe-gtk/setup.c:1014 +msgid "Browse..." +msgstr "Bläddra..." + +#: src/fe-gtk/setup.c:1152 +msgid "Mark identified users with:" +msgstr "Markera identifierade användare med:" + +#: src/fe-gtk/setup.c:1154 +msgid "Mark not-identified users with:" +msgstr "Markera ej identifierade användare med:" + +#: src/fe-gtk/setup.c:1161 +msgid "Open Data Folder" +msgstr "Öppna datamapp" + +#: src/fe-gtk/setup.c:1215 +msgid "Select color" +msgstr "Välj färg" + +#: src/fe-gtk/setup.c:1295 +msgid "Text Colors" +msgstr "Textfärger" + +#: src/fe-gtk/setup.c:1297 +msgid "mIRC colors:" +msgstr "mIRC-färger:" + +#: src/fe-gtk/setup.c:1305 +msgid "Local colors:" +msgstr "Lokala färger:" + +#: src/fe-gtk/setup.c:1313 src/fe-gtk/setup.c:1318 +msgid "Foreground:" +msgstr "Förgrund:" + +#: src/fe-gtk/setup.c:1314 src/fe-gtk/setup.c:1319 +msgid "Background:" +msgstr "Bakgrund:" + +#: src/fe-gtk/setup.c:1316 +msgid "Marking Text" +msgstr "Markeringstext" + +#: src/fe-gtk/setup.c:1321 +msgid "Interface Colors" +msgstr "Gränssnittsfärger" + +#: src/fe-gtk/setup.c:1323 +msgid "New data:" +msgstr "Nya data:" + +#: src/fe-gtk/setup.c:1324 +msgid "Marker line:" +msgstr "Markeringsrad:" + +#: src/fe-gtk/setup.c:1325 +msgid "New message:" +msgstr "Nytt meddelande:" + +#: src/fe-gtk/setup.c:1326 +msgid "Away user:" +msgstr "Frånvaroanvändare:" + +#: src/fe-gtk/setup.c:1327 +msgid "Highlight:" +msgstr "Färgmarkera:" + +#: src/fe-gtk/setup.c:1423 src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "Händelse" + +#: src/fe-gtk/setup.c:1429 +msgid "Sound file" +msgstr "Ljudfil" + +#: src/fe-gtk/setup.c:1464 +msgid "Select a sound file" +msgstr "Välj en ljudfil" + +#: src/fe-gtk/setup.c:1536 +msgid "Sound playing method:" +msgstr "Metod för ljuduppspelning:" + +#: src/fe-gtk/setup.c:1544 +msgid "External sound playing _program:" +msgstr "Externt _program för ljuduppspelning:" + +#: src/fe-gtk/setup.c:1562 +msgid "_External program" +msgstr "_Externt program" + +#: src/fe-gtk/setup.c:1572 +msgid "_Automatic" +msgstr "_Automatisk" + +#: src/fe-gtk/setup.c:1585 +msgid "Sound files _directory:" +msgstr "Katalog för _ljudfiler:" + +#: src/fe-gtk/setup.c:1624 +msgid "Sound file:" +msgstr "Ljudfil:" + +#: src/fe-gtk/setup.c:1639 +msgid "_Browse..." +msgstr "_Bläddra..." + +#: src/fe-gtk/setup.c:1650 +msgid "_Play" +msgstr "_Spela upp" + +#: src/fe-gtk/setup.c:1699 +msgid "Interface" +msgstr "Gränssnitt" + +#: src/fe-gtk/setup.c:1700 +msgid "Text box" +msgstr "Textfält" + +#: src/fe-gtk/setup.c:1702 +msgid "User list" +msgstr "Användarlista" + +#: src/fe-gtk/setup.c:1703 +msgid "Channel switcher" +msgstr "Kanalväxlare" + +#: src/fe-gtk/setup.c:1704 +msgid "Colors" +msgstr "Färger" + +#: src/fe-gtk/setup.c:1706 +msgid "Chatting" +msgstr "Chattande" + +#: src/fe-gtk/setup.c:1708 +msgid "General" +msgstr "Allmänt" + +#: src/fe-gtk/setup.c:1710 +msgid "Sound" +msgstr "Ljud" + +#: src/fe-gtk/setup.c:1714 +msgid "Network setup" +msgstr "Nätverksinställningar" + +#: src/fe-gtk/setup.c:1715 +msgid "File transfers" +msgstr "Filöverföringar" + +#: src/fe-gtk/setup.c:1823 +msgid "Categories" +msgstr "Kategorier" + +#: src/fe-gtk/setup.c:2007 +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 "" +"Du kan inte placera trädet på övre eller undre delen!\n" +"Ändra till <b>Flikar</b>-layouten i <b>Visa</b>-menyn först." + +#: src/fe-gtk/setup.c:2017 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "En del inställningar ändrades som kräver en omstart för att börja gälla." + +#: src/fe-gtk/setup.c:2025 +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 "" +"*VARNING*\n" +"Att automatiskt acceptera DCC till din\n" +"hemkatalog kan vara farligt och utnyttjas\n" +"av andra. Någon kan till exempel skicka\n" +"dig en .bash_profile" + +#: src/fe-gtk/setup.c:2058 +msgid "XChat: Preferences" +msgstr "XChat: Inställningar" + +#: src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "Det uppstod ett fel vid tolkning av strängen" + +#: src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Denna signal skickas endast %d argument, $%d är ogiltigt" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "Skriv ut textfil" + +#: src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "Redigera händelser" + +#: src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$-nummer" + +#: src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "Läs in från..." + +#: src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "Testa allt" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: URL-fångare" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Töm lista" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Kopiera markerad URL" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Kopiera" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Spara lista till en fil" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d oppar, %d totalt" + +#~ msgid "" +#~ "Set per channel options\n" +#~ "CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part messages\n" +#~ "CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +#~ "CHANOPT BEEP ON|OFF - Toggle beep on message\n" +#~ "CHANOPT TRAY ON|OFF - Toggle tray blink on message" +#~ msgstr "" +#~ "Ställ in alternativ per kanal\n" +#~ "CHANOPT CONFMODE ON|OFF - Växla konfläge/visa meddelanden för ingång och lämnande\n" +#~ "CHANOPT COLORPASTE ON|OFF - Växla färginklistring\n" +#~ "CHANOPT BEEP ON|OFF - Växla ljudsignal vid meddelande\n" +#~ "CHANOPT TRAY ON|OFF - Växla lådblinkning vid meddelande" + +#~ msgid "Direct client-to-client" +#~ msgstr "Direkt klient-till-klient" + +#~ msgid "Send File" +#~ msgstr "Skicka fil" + +#~ msgid "Offer Chat" +#~ msgstr "Erbjud chatt" + +#~ msgid "Abort Chat" +#~ msgstr "Avbryt chatt" + +#~ msgid "Userinfo" +#~ msgstr "Användarinformation" + +#~ msgid "Clientinfo" +#~ msgstr "Klientinformation" + +#~ msgid "Time" +#~ msgstr "Tid" + +#~ msgid "Finger" +#~ msgstr "Finger" + +#~ msgid "Oper" +#~ msgstr "Serveroperatör" + +#~ msgid "Kill this user" +#~ msgstr "Döda denna användare" + +#~ msgid "Mode" +#~ msgstr "Läge" + +#~ msgid "Give Half-Ops" +#~ msgstr "Ge halv-operatörsstatus" + +#~ msgid "Take Half-Ops" +#~ msgstr "Ta halv-operatörsstatus" + +#~ msgid "Ignore" +#~ msgstr "Ignorera" + +#~ msgid "Ignore User" +#~ msgstr "Ignorera användare" + +#~ msgid "UnIgnore User" +#~ msgstr "Avignorera användare" + +#~ msgid "Info" +#~ msgstr "Info" + +#~ msgid "Who" +#~ msgstr "Vem" + +#~ msgid "DNS Lookup" +#~ msgstr "DNS-uppslagning" + +#~ msgid "Trace" +#~ msgstr "Spårning" + +#~ msgid "UserHost" +#~ msgstr "AnvändareVärd" + +#~ msgid "External" +#~ msgstr "Extern" diff --git a/po/th.po b/po/th.po new file mode 100644 index 00000000..954de3c3 --- /dev/null +++ b/po/th.po @@ -0,0 +1,5317 @@ +# Translation of xchat to Thai. +# Copyright (C) 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the xchat package. +# Seksan Poltree <seksan.poltree@gmail.com>, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.8.4\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2007-06-24 13:05+1000\n" +"PO-Revision-Date: 2007-12-13 00:21+0700\n" +"Last-Translator: Seksan Poltree <seksan.poltree@gmail.com>\n" +"Language-Team: Thai <translation-team-th@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Thai\n" +"X-Poedit-Country: THAILAND\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "ไม่สามารถสร้าง ~/.xchat2" + +#: src/common/cfgfiles.c:712 +msgid "I'm busy" +msgstr "ฉันไม่ว่าง" + +#: src/common/cfgfiles.c:713 +msgid "Leaving" +msgstr "กำลังออก" + +#: src/common/cfgfiles.c:760 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* เรียกใช้งาน IRC โดยเป็น root เป็นเรื่องไม่ฉลาด! คุณควร\n" +" สร้างบัญชีผู้ใช้อื่นสำหรับใช้ในเข้าสู่ระบบ.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "กำลังรอ" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "ทำงานอยู่" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "ล้มเหลว" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "เรียบร้อย" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:797 +msgid "Connect" +msgstr "เชื่อมต่อ" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "ถูกยกเลิกกลางคัน" + +#: src/common/dcc.c:1886 src/common/outbound.c:2452 +#, c-format +msgid "Cannot access %s\n" +msgstr "ไม่สามารถเข้าถึง %s\n" + +#: src/common/dcc.c:1887 src/common/text.c:1164 src/common/text.c:1202 +#: src/common/text.c:1213 src/common/text.c:1220 src/common/text.c:1233 +#: src/common/text.c:1250 src/common/text.c:1350 src/common/util.c:352 +msgid "Error" +msgstr "ข้อผิดพลาด" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s ได้เสนอ \"%s\". คุณต้องการยอมรับหรือไม่?" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "ไม่มี DCCs ที่ทำงานอยู่\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "ใช่" + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "ไม่" + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "คุณกำลังถูก CTCP flooded จาก %s, ทำการเพิกเฉย %s\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "คุณกำลังถูก MSG flooded จาก %s, ทำการตั้งค่า gui_auto_open_dialog OFF.\n" + +#: src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s ออนไลน์\n" + +#: src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s ออฟไลน์\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "ไม่มีแชนแนลที่ทำการเข้าร่วม. ลอง /join #<แชนแนล>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "ไม่ได้เชื่อมต่อ. ลอง /server <โฮสต์> [<พอร์ต>]\n" + +#: src/common/outbound.c:339 +#, c-format +msgid "Already marked away: %s\n" +msgstr "ทำเครื่องหมายว่าไม่อยู่แล้ว: %s\n" + +#: src/common/outbound.c:409 +msgid "Already marked back.\n" +msgstr "ทำเครื่องหมายว่ากลับมาแล้ว.\n" + +#: src/common/outbound.c:1814 +msgid "I need /bin/sh to run!\n" +msgstr "ฉันจำเป็นต้องมี /bin/sh เพื่อทำงาน!\n" + +#: src/common/outbound.c:2185 +msgid "Commands Available:" +msgstr "คำสั่งที่มี:" + +#: src/common/outbound.c:2199 +msgid "User defined commands:" +msgstr "คำสั่งที่ผู้ใช้นิยามขึ้น:" + +#: src/common/outbound.c:2215 +msgid "Plugin defined commands:" +msgstr "คำสั่งที่ปลั๊กอินนิยามขึ้น:" + +#: src/common/outbound.c:2226 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "พิมพ์ /HELP <คำสั่ง> สำหรับรายละเอียดที่มากขึ้น, หรือ /HELP -l" + +#: src/common/outbound.c:2301 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "อาร์กิวเมนต์ที่ไม่รู้จัก '%s' ถูกเพิกเฉย." + +#: src/common/outbound.c:3235 +msgid "No such plugin found.\n" +msgstr "ไม่พบปลั๊กอินใดๆ\n" + +#: src/common/outbound.c:3240 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "ปลั๊กอินนั้นกำลังปฎิเสธการโหลดออก.\n" + +#: src/common/outbound.c:3509 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <ชื่อ> <ปฏิบัติการ>, เพิ่มปุ่มภายใต้รายชื่อผู้ใช้งาน" + +#: src/common/outbound.c:3511 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <คำสั่ง>, ส่งคำสั่งไปยังทุกแชนแนลที่คุณเข้าอยู่" + +#: src/common/outbound.c:3513 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <คำสั่ง>, ส่งคำสั่งไปยังทุกแชนแนลที่คุณเข้าอยู่" + +#: src/common/outbound.c:3515 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <คำสั่ง>, ส่งคำสั่งไปยังทุกเซิร์ฟเวอร์ที่คุณเข้าอยู่" + +#: src/common/outbound.c:3516 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<เหตุผล>], ตั้งค่าให้คุณไม่อยู่" + +#: src/common/outbound.c:3517 +msgid "BACK, sets you back (not away)" +msgstr "BACK, ตั้งค่าให้คุณกลับมา (ไม่ใช่ไม่อยู่)" + +#: src/common/outbound.c:3519 +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 <มาสก์> [<รูปแบบการแบน>], ประกาศสั่งห้ามทุก ๆ คนที่ตรงกับมาสก์จากแชนแนลปัจจุบัน. ถ้าพวกเขาอยู่ที่แชนแนลนี้แล้ว นี่จะไม่ได้เตะพวกเขาออกไป (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:3521 +msgid "" +"Set per channel options\n" +"CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part messages\n" +"CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +"CHANOPT BEEP ON|OFF - Toggle beep on message\n" +"CHANOPT TRAY ON|OFF - Toggle tray blink on message" +msgstr "" +"ตั้งค่าตัวเลือกในแต่ละแชนแนล\n" +"CHANOPT CONFMODE ON|OFF - สวิตช์ตัวเลือกโหมดปรับแต่ง/แสดงการเข้าร่วมและส่วนของข้อความ\n" +"CHANOPT COLORPASTE ON|OFF - สวิตช์ตัวเลือกเพลตสี\n" +"CHANOPT BEEP ON|OFF - สวิตช์ตัวเลือกเสียงบี๊บเมื่อมีข้อความ\n" +"CHANOPT TRAY ON|OFF - สวิตช์ตัวเลือกการกระพริบของถาดเมื่อมีข้อความ" + +#: src/common/outbound.c:3528 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR [ALL|HISTORY], ล้างหน้าต่างข้อความ หรือประวัติคำสั่งปัจจุบัน " + +#: src/common/outbound.c:3529 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, ปิดหน้าต่าง/แท็บปัจจุบัน" + +#: src/common/outbound.c:3532 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <รหัส|ไวลด์การ์ด>, ค้นหารหัสประเทศ, เช่น: au = ออสเตรเลีย" + +#: src/common/outbound.c:3534 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <ชื่อเล่น> <ข้อความ>, ส่งข้อความ CTCP ไปยัง 'ชื่อเล่น', ข้อความโดยปกติได้แก่ VERSION และ USERINFO" + +#: src/common/outbound.c:3536 +msgid "CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "CYCLE [<channel>], แยกแชนแนลปัจจุบันหรือที่เสนอให้ และกลับเข้าร่วมในทันที" + +#: src/common/outbound.c:3538 +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 "" +"\n" +"DCC GET <ชื่อเล่น> - ยอมรับไฟล์ที่ได้รับการเสนอให้\n" +"DCC SEND [-maxcps=#] <ชื่อเล่น> [ไฟล์] - ส่งไฟล์ไปหาใครซักคน\n" +"DCC PSEND [-maxcps=#] <ชื่อเล่น> [ไฟล์] - ส่งไฟล์ซักไฟล์โดยใช้โหมด passive\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <ชื่อเล่น> - เสนอ DCC CHAT ให้กับใครซักคน\n" +"DCC PCHAT <ชื่อเล่น> - เสนอ DCC CHAT โดยใช้โหมด passive\n" +"DCC CLOSE <รูปแบบ> <ชื่อเล่น> <ไฟล์> ตัวอย่าง:\n" +" /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3550 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <ชื่อเล่น>, ลบสถานะ chanhalf-op จาก 'ชื่อเล่น' ในแชนแนลปัจจุบัน (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:3552 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <ชื่อ>, ลบปุ่มภายใต้รายชื่อผู้ใช้" + +#: src/common/outbound.c:3554 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <ชื่อเล่น>, ลบสถานะ chanop จาก 'ชื่อเล่น' ในแชนแนลปัจจุบัน (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:3556 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <nick>, สบสถานะประกาศจาก 'ชื่อเล่น' ในแชนแนลปัจจุบัน (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:3557 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, ตัดการเชื่อมต่อจากเซิร์ฟเวอร์" + +#: src/common/outbound.c:3558 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <ชื่อเล่น|โฮสต์|ไอพี>, ค้นหาหมายเลขไอพีของผู้ใช้งาน" + +#: src/common/outbound.c:3559 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <ข้อความ>, พิมพ์ข้อความแบบโลคอล" + +#: src/common/outbound.c:3562 +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] <คำสั่ง>, เรียกใช้คำสั่ง. ถ้าใช้เครื่องหมาย -o แล้วผลที่ได้จะถูกส่งไปยังแชนแนลปัจจุบัน, ไม่ก็จะถูกพิมพ์ไปยังกล่องข้อความปัจจุบัน" + +#: src/common/outbound.c:3564 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, ส่ง SIGCONT ไปยังโพรเซส" + +#: src/common/outbound.c:3567 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9], ฆ่า exec ที่กำลังทำงานในวาระปัจจุบัน. ถ้าใช้เครื่องหมาย -9 โพรเซสจะถูก SIGKILL" + +#: src/common/outbound.c:3569 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, ส่ง SIGSTOP ไปยังโพรเซส" + +#: src/common/outbound.c:3570 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, ส่งข้อมูลไปยังทางป้อนข้อมูลมาตรฐานของโพรเซส" + +#: src/common/outbound.c:3574 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, ล้างคิวการส่งปัจจุบันของเซิร์ฟเวอร์" + +#: src/common/outbound.c:3576 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <โฮสต์> [<พอร์ต>], พร็อกซี่ไปยังโฮต์, ค่าพอร์ตมาตรฐานเป็น 23" + +#: src/common/outbound.c:3580 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <ชื่อเล่น> <รหัสผ่าน>, kill 'ชื่อเล่น' ที่ถูกโกสต์" + +#: src/common/outbound.c:3585 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <ชื่อเล่น>, ให้สถานะ chanhalf-op กับ 'ชื่อเล่น' (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:3586 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <รหัสผ่าน>, ระบุตัวตนของคุณเองไปยังเซิร์ฟเวอร์ชื่อเล่น" + +#: src/common/outbound.c:3588 +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 <มาสก์> <รูปแบบ..> <ตัวเลือก..>\n" +" มาสก์ - มาสก์ของโฮสต์ที่จะเพิกเฉย, เช่น: *!*@*.aol.com\n" +" รูปแบบ - ชนิดรูปแบบของข้อมูลที่จะเพิกเฉย, อย่างหนึ่งหรือทั้งหมดของ:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" + +#: src/common/outbound.c:3595 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <ชื่อเล่น> [<แชนแนล>], เชิญชวนใครซักคนเข้าสู่แชนแนลหนึ่ง ๆ, โดยปกติคือแชนแนลปัจจุบัน (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:3596 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <แชนแนล>, เข้าร่วม 'แชนแนล'" + +#: src/common/outbound.c:3598 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <ชื่อเล่น>, เตะ 'ชื่อเล่น' ออกจากแชนแนลปัจจุบัน (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:3600 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <ชื่อเล่น>, แบนและเตะ 'ชื่อเล่น' ออกจากแชนแนลปัจจุบัน (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:3603 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, บังคับการตรวจสอบอย่างช้าใหม่" + +#: src/common/outbound.c:3605 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <สตริง>, ค้นหา 'สตริง' ที่อยู่ในบัฟเฟอร์" + +#: src/common/outbound.c:3607 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <ไฟล์>, โหลดปลั๊กอินหรือสคริป" + +#: src/common/outbound.c:3610 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Mass deop ของ chanhalf-ops ทั้งหมดในแชนแนลปัจจุบัน (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:3612 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Mass deop ของ chanops ทั้งหมดในแชนแนลปัจจุบัน (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:3614 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <ปฏิบัติการ>, ส่งการปฏิบัติการไปยังแชนแนลปัจจุบัน (การปฏิบิการถูกเขียนขึ้นโดยบุคคลที่ 3, อย่างเช่น /me jumps)" + +#: src/common/outbound.c:3618 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, เตะทุกคนออกจากแชนแนลปัจจุบันยกเว้นคุณ (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:3621 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Mass op ของผู้ใช้ทั้งหมดในแชนแนลปัจจุบัน (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:3622 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <ชื่อเล่น> <ข้อความ>, ส่งข้อความส่วนตัว" + +#: src/common/outbound.c:3625 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, แสดงรายชื่อชื่อเล่นบนแชนแนลปัจจุบัน" + +#: src/common/outbound.c:3627 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <ชื่อเล่น> <ข้อความ>, ส่งประกาศ CTCP" + +#: src/common/outbound.c:3628 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <ชื่อโฮต์> [<พอร์ต>]" + +#: src/common/outbound.c:3629 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <ชื่อเล่น>, ตั้งชื่อเล่นของคุณ" + +#: src/common/outbound.c:3632 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "OTICE <nick/channel> <message>, ส่งประกาศ. ประกาศเป็นชนิดของข้อความที่ควรจะตอบสนองกลับอัตโนมัติ" + +#: src/common/outbound.c:3634 +msgid "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" +msgstr "NOTIFY [-n เครือข่าย1[,เครือข่าย2,...]] [<ชื่อเล่น>], แสดงรายการแจ้งเตือนของคุณหรือเพิ่มบางคนไปยังรายการ" + +#: src/common/outbound.c:3636 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <ชื่อเล่น>, ให้สถานะ chanop กับ 'ชื่อเล่น' (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:3638 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<แชนแนล>] [<เหตุผล>], ออกจากแชนแนล, โดยปกติคือหนึ่งแชนแนลปัจจุบัน" + +#: src/common/outbound.c:3640 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | channel>, ส่ง CTCP เพื่อ ping ชื่อเล่นหรือแชนแนล" + +#: src/common/outbound.c:3642 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <ชื่อเล่น>, เปิดหน้าต่างข้อความส่วนตัวกับใครบางคน" + +#: src/common/outbound.c:3644 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<เหตุผล>], ตัดการเชื่อมต่อจากเซิร์ฟเวอร์ปัจจุบัน" + +#: src/common/outbound.c:3646 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <ข้อความ>, ส่งข้อความในรูปแบบข้อมูลดิบไปยังเซิร์ฟเวอร์" + +#: src/common/outbound.c:3649 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<โฮสต์>] [<พอร์ต>] [<รหัสผ่าน>], สามารถเรียกเพียง /RECONNECT เพื่อที่จะทำการเชื่อมต่ออีกครั้งกับเซิร์ฟเวอร์ปัจจุบัน หรือด้วย /RECONNECT ALL สำหรับทำการเชื่อมต่ออีกครั้งกับเซิร์ฟเวอร์ทั้งหมดที่เปิดอยู่" + +#: src/common/outbound.c:3652 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<โฮสต์>] [<พอร์ต>] [<รหัสผ่าน>], สามารถถูกเรียกเพียง /RECONNECT เพื่อที่จะทำการเชื่อมต่ออีกครั้งกับเซิร์ฟเวอร์ปัจจุบัน หรือด้วย /RECONNECT ALL สำหรับทำการเชื่อมต่ออีกครั้งกับเซิร์ฟเวอร์ทั้งหมดที่เปิดอยู่" + +#: src/common/outbound.c:3654 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <ข้อความ>, ส่งข้อมูลดิบไปยัง xchat, ตามที่ได้หากรับมาจากเซิร์ฟเวอร์ irc" + +#: src/common/outbound.c:3657 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <ข้อความ>, ส่งข้อความไปยังวัตถุในหน้าต่างปัจจุบัน" + +#: src/common/outbound.c:3658 +msgid "SEND <nick> [<file>]" +msgstr "SEND <ชื่อเล่น> [<ไฟล์>]" + +#: src/common/outbound.c:3661 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <โฮสต์> <พอร์ต> <แชนแนล>, เชื่อมต่อและเข้าร่วมแชนแนล" + +#: src/common/outbound.c:3664 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <โฮสต์> <พอร์ต> <แชนแนล>, เชื่อมต่อและเข้าร่วมแชนแนล" + +#: src/common/outbound.c:3668 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <เครื่องแม่ข่าย> [<พอร์ต>] [<รหัสผ่าน>], เชื่อมต่อไปยังเซิร์ฟเวอร์. โดยพอร์ตมาตรฐานสำหรับการเชื่อมต่อปกติคือ 6667, และ 9999 สำหรับการเชื่อมต่อโดยใช้ ssl" + +#: src/common/outbound.c:3671 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <host> [พอร์ต>] [<รหัสผ่าน>], เชื่อมต่อไปยังเซิร์ฟเวอร์, พอร์ตมาตรฐานคือ 6667" + +#: src/common/outbound.c:3673 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-or] [-quiet] <ตัวแปร> [<ค่า>]" + +#: src/common/outbound.c:3674 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<ตำแหน่ง>" + +#: src/common/outbound.c:3679 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<หัวเรื่อง>], ตั้งหัวเรื่องถ้าบางคนได้รับมา, หรือแสดงหัวเรื่องปัจจุบัน" + +#: src/common/outbound.c:3681 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" +"\n" +"TRAY -f <เวลาหมด> <ไฟล์1> [<ไฟล์2>] กระพริบถามระหว่างสองไอคอน.\n" +"TRAY -f <ชื่อไฟล์> ตั้งถามสำหรับไอคอนที่ถูกตรึง.\n" +"TRAY -i <ตัวเลข> กระพริบถาดด้วยไอคอนภายใน.\n" +"TRAY -t <ข้อความ> ตั้งค่าข้อความช่วยเหลือของถาด.\n" +"TRAY -b <ชื่อเรื่อง> <ข้อความ> ตั้งค่าบอลลูนของถาด." + +#: src/common/outbound.c:3688 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], ยกเลิกแบนสำหรับมาสก์ที่กำหนด." + +#: src/common/outbound.c:3689 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <มาสก์> [QUIET]" + +#: src/common/outbound.c:3690 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <ชื่อ>, โหลดปลั๊กอินหรือสคริปออกไป" + +#: src/common/outbound.c:3691 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, เปิด URL ในบราวเซอร์ของคุณ" + +#: src/common/outbound.c:3693 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <ชื่อเล่น1> <ชื่อเล่น2> etc, เน้นชื่อเล่น(s) ในรายชื่อผู้ใช้ของแชนแนล" + +#: src/common/outbound.c:3696 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <ชื่อเล่น>, ให้สถานะประกาศกับใครบางคน (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:3698 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <ข้อความ>, เขียนข้อความไปยังแชนแนลทั้งหมด" + +#: src/common/outbound.c:3700 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <ข้อความ>, ส่งข้อความไปยัง chanops ทั้งหมดในแชนแนลปัจจุบัน" + +#: src/common/outbound.c:3733 +#, c-format +msgid "Usage: %s\n" +msgstr "วิธีใช้: %s\n" + +#: src/common/outbound.c:3738 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"ไม่มีข้อความช่วยเหลือสำหรับคำสั่งนั้น.\n" + +#: src/common/outbound.c:3744 +msgid "No such command.\n" +msgstr "ไม่ใช่คำสั่ง.\n" + +#: src/common/outbound.c:4074 +msgid "Bad arguments for user command.\n" +msgstr "อาร์กิวเมนต์ไม่ถูกต้องสำหรับคำสั่งผู้ใช้งาน.\n" + +#: src/common/outbound.c:4230 +msgid "Too many recursive usercommands, aborting." +msgstr "คำสั่งเรียกตัวเองซ้ำซ้อนมากเกินไป, ทำการยกเลิกกลางคัน." + +#: src/common/outbound.c:4307 +msgid "Unknown Command. Try /help\n" +msgstr "คำสั่งที่ไม่รู้จัก. ลอง /help\n" + +#: src/common/plugin.c:356 src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "ไม่พบเครื่องหมาย xchat_plugin_init; นี่เป็นปลั๊กอินของ xchat จริง ๆ หรือไม่?" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "คุณแน่ใจหรือว่านี่เป็นเซิร์ฟเวอร์และพอร์ต ที่สนับสนุนการทำงานของ SSL?\n" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"ไม่สามารถวิเคราะชื่อของโฮสต์ %s\n" +"ตรวจสอบการตั้งค่าไอพีของคุณ!\n" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "Proxy traversal ล้มเหลว.\n" + +#: src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "วนไปยังเซิร์ฟเวอร์ถัดไปใน %s...\n" + +#: src/common/servlist.c:1074 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "คำเตือน: ไม่รู้จักชุดอักขระ \"%s\". ไม่มีการสนทนาที่จะถูกนำมาใช้กับเครือข่าย %s." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 ถูกเพิ่มไปยังรายการแจ้งเตือน." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 รายชื่อแบน:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tไม่สามารถเข้าร่วม%C26 %B$1 %O(คุณถูกแบนไว้)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 ขณะนี้ได้ถูกรู้จักเป็น $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 ตั้งค่าการแบนบน $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tแชนแนล $1 สร้างเมื่อ $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O ลบสถานะ half-operator ของแชนแนล จาก%C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O ลบสถานะผู้ควบคุมแชนแนลจาก%C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O ลบการประกาศจาก%C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 ตั้งค่า exempt บน $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O ให้สถานะ half-operator กับ%C26 $2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 ตั้งค่าเชิญชวนบน $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%Uแชนแนล ผู้ใช้ หัวข้อ" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 ตั้งค่าโหมด $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22แชนแนล $1 โหมด: $2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O ให้สถานะผู้ควบคุมแชนแนลกับ%C26 $2" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 ลบ exempt บน $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 ลบการเชิญชวนบน $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 ลบคีย์เวิร์ดของแชนแนล" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 ลบขอบเขตของผู้ใช้" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 ตั้งค่าคีย์เวิร์ดไปเป็น $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 ตั้งค่าขีดจำกัดของแชนแนลเป็น $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 ลบการแบนบน $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O ให้การประกาศกับ%C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22เชื่อมด่อแล้ว. ขณะนี้กำลังเข้าสู่ระบบ..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22เชื่อมต่อไปยัง $1 ($2) port $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21การเชื่อมต่อล้มเหลว. ข้อผิดพลาด: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tได้รับ CTCP $1 จาก $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tได้รับ CTCP $1 จาก $2 (ไปยัง $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tได้รับเสียง CTCP $1 จาก $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tได้รับเสียง CTCP $1 จาก $2 (ไปยัง $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC CHAT ไปยัง %C26$1%O ถูกยกเลิกกลางคัน." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC CHAT การเชื่อมต่อถูกสร้างไปยัง %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tDCC CHAT ไปยัง %C26$1%O เสียหาย ($4)." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tได้รับการเสนอ DCC CHAT จาก $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tทำการเสนอ DCC CHAT ไปยัง $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tได้ทำการเสนอ CHAT ไปยัง $1 แล้ว" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 พยายามเชื่อมต่อไปยัง%C26 $2%O ล้มเหลว (err=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tได้รับ '$1%O' จาก $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 ชนิด ไปยัง/จาก สถานะ ขนาด ตำแหน่ง ไฟล์ " + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$tได้รับการร้องขอ DCC ที่ผิดรูปแบบจาก %C26$1%O.%010%C22*%O$tเนื้อหาของแพ็กเก็ต: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tทำการเสนอ%C26 $1%O ไปยัง%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tไม่มีการเสนอ DCC." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV%C26 $2%O ไปยัง%C26 $1%O ถูกยกเลิกกลางคัน." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tDCC RECV%C26 $1%O จาก%C26 $3%O เสร็จสิ้น %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC RECV การเชื่อมต่อถูกสร้างขึ้นไปยัง%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O จาก%C26 $3%O ล้มเหลว ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: ไม่สามารถเปิด $1 เพื่อการเขียนได้ ($2)." + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tไฟล์%C26 $1%C ได้มีอยู่ก่อนแล้ว, บันทีกเป็น%C26 $2%O แทน." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Oได้ร้องขอเพื่อที่จะเริ่มใหม่%C26 $2 %Cจาก%C26 $3%C." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND%C26 $2%O ไปยัง%C26 $1%O ถูกยกเลิกก่อนสำเร็จ." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O เสร็จสิ้น %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC SEND การเชื่อมต่อถูกสร้างขึ้นไปยัง%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND%C26 $1%O ไปยัง%C26 $2%O ล้มเหลว. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Oได้เสนอ%C26 $2 %O(%C26$3 %Obytes)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oไปยัง%C26 $3 %Cถูกหยุดกลางคัน - ทำการยกเลิกกลางคัน." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oไปยัง%C26 $3 %Oหมดเวลา - ทำการยกเลิกกลางคัน." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 ลบจากรายการแจ้งเตือนแล้ว" + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tตัดการเชื่อมต่อ ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tพบไอพีของคุณ: [$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O ถูกเพิ่มไปยังรายการเพิกเฉย." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "การเพิกเฉยบน %C26$1%O เปลี่ยนไป." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 มาสก์ของโฮสต์ PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O ลบจากรายการเพิกเฉยแล้ว." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " รายการเพิกเฉยว่างเปล่า." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tไมาสามารถเข้าร่วม%C26 %B$1 %O(แชนแนลนี้ต้องได้รับเชิญเท่านั้น)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tคุณได้ได้รับเชิญไปยัง%C26 $1%O by%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) ได้เข้าร่วม $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tไม่สามารถเข้าร่วม%C26 %B$1 %O(ต้องการคีย์เวิร์ด)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 ได้เตะ $2 จาก $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tคุณได้ถูก kill โดย $1 ($2%O%C22)" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD ถูกข้ามไป." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 ได้ถูกใช้งานอยู่แล้ว. กำลังลองใหม่ด้วย $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tชื่อเล่นได้ถูกใช้งานอยู่แล้ว. ใช้ /NICK เพื่อที่จะลองอย่างอื่น." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tไม่มี DCC." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tไม่มีโปรเซสที่กำลังทำงานอยู่" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tรายการแจ้งเตือนว่างเปล่า." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B รายการแจ้งเตือน " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 ผู้ใช้ในรายการแจ้งเตือน." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tแจ้งเตือน: $1 ออฟไลน์ ($3)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tแจ้งเตือน: $1 ออนไลน์ ($3)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) ได้ออกจาก $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) ได้ออกจาก $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tการตอบรับการ ping จาก $1: $2 วินาที(s)" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tไม่มีการตอบรับการ ping เป็นเวลา $1 วินาที, กำลังตัดการเชื่อมต่อ." + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tโปรเซสหนึ่งได้ทำงานอยู่แล้ว" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 ได้ออกจาก (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 ตั้งค่าโหมด%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tค้นหาหมายเลขไอพีสำหรับ%C26 $1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22เชื่อมต่อแล้ว." + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22ค้นหา $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tหยุดการพยายามเชื่อมต่อก่อนหน้า (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29หัวข้อสำหรับ $1%C %C29is: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 ได้เปลี่ยนหัวข้อไปเป็น: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29หัวข้อสำหรับ $1%C %C29ตั้งโดย $2%C %C29ที่ $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tไม่รู้จักโฮสต์. บางทีคุณอาจสะกดผิดหรือเปล่า?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tไม่สามาระเข้าร่วม%C26 %B$1 %O(ถึงขีดจำกัดจำนวนผู้ใช้)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26ผู้ใช้ บน $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cไม่อยู่ %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %Oสิ้นสุดของรายการ WHOIS." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O ว่างอยู่%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O ว่างอยู่%C26 $2%O, เข้าระบบ:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Oผู้ใช้จริง@โฮสต์%C27 $2%O, ไอพีจริง%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19กำลังพูดคุยบน $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tคุณได้ถูกเตะออกจาก $2 โดย $3 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tคุณได้ออกจากแชนแนล $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tคุณได้ออกจากแชนแนล $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tคุณได้เชิญชวน%C26 $1%O ไปยัง%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tตอนนี้คุณได้รับการรู้จักเป็น $2" + +#: src/common/text.c:287 +msgid "Loaded log from" +msgstr "โหลดบันทึกการทำงานจาก" + +#: src/common/text.c:305 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** จบการบันทึกการทำงานที่ %s\n" + +#: src/common/text.c:514 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** เริ่มบันทึกการทำงานที่ %s\n" + +#: src/common/text.c:533 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* ไม่สามารถเปิดบันทึกการทำงาน(s) เพื่อการเขียน. ตรวจสอบ\n" +" ตรวจสอบสิทธิการเข้าถึงบน %s/xchatlogs" + +#: src/common/text.c:871 +msgid "Left message" +msgstr "ข้อความทางซ้าย" + +#: src/common/text.c:872 +msgid "Right message" +msgstr "ข้อความทางขวา" + +#: src/common/text.c:876 +msgid "The nick of the joining person" +msgstr "ชื่อเล่นของคนที่เข้าร่วม" + +#: src/common/text.c:877 +msgid "The channel being joined" +msgstr "แชนแนลที่ถูกเข้าร่วม" + +#: src/common/text.c:878 src/common/text.c:925 src/common/text.c:976 +msgid "The host of the person" +msgstr "โฮสต์ของบุคคล" + +#: src/common/text.c:882 src/common/text.c:888 src/common/text.c:895 +#: src/common/text.c:1083 src/common/text.c:1090 src/common/text.c:1095 +#: src/common/text.c:1100 src/common/text.c:1105 src/common/text.c:1111 +#: src/common/text.c:1116 src/common/text.c:1120 src/common/text.c:1126 +#: src/common/text.c:1132 src/common/text.c:1178 src/common/text.c:1189 +#: src/common/text.c:1194 src/common/text.c:1199 src/common/text.c:1208 +#: src/common/text.c:1219 src/common/text.c:1226 src/common/text.c:1232 +#: src/common/text.c:1237 src/common/text.c:1242 src/common/text.c:1249 +#: src/common/text.c:1255 src/common/text.c:1261 src/common/text.c:1266 +#: src/common/text.c:1271 src/common/text.c:1275 src/common/text.c:1281 +#: src/common/text.c:1289 src/common/text.c:1323 src/common/text.c:1328 +msgid "Nickname" +msgstr "ชื่อเล่น" + +#: src/common/text.c:883 +msgid "The action" +msgstr "การปฏิบัติการ" + +#: src/common/text.c:884 src/common/text.c:890 +msgid "Mode char" +msgstr "ตัวหนังสือโหมด" + +#: src/common/text.c:889 +msgid "The text" +msgstr "ข้อความ" + +#: src/common/text.c:891 src/common/text.c:897 +msgid "Identified text" +msgstr "ข้อความแสดงตัว" + +#: src/common/text.c:896 src/common/text.c:953 src/common/text.c:959 +msgid "The message" +msgstr "ข้อความ" + +#: src/common/text.c:901 src/common/text.c:963 +msgid "Old nickname" +msgstr "ชื่อเล่นเดิม" + +#: src/common/text.c:902 src/common/text.c:964 +msgid "New nickname" +msgstr "ชื่อเล่นใหม่" + +#: src/common/text.c:906 +msgid "Nick of person who changed the topic" +msgstr "ชื่อเล่นของคนที่เปลี่ยนหัวข้อ" + +#: src/common/text.c:907 src/common/text.c:913 src/fe-gtk/chanlist.c:756 +#: src/fe-gtk/chanlist.c:859 +msgid "Topic" +msgstr "หัวข้อ" + +#: src/common/text.c:908 src/common/text.c:912 src/common/text.c:1343 +#: src/fe-gtk/chanlist.c:754 src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "แชนแนล" + +#: src/common/text.c:917 src/common/text.c:970 +msgid "The nickname of the kicker" +msgstr "ชื่อของคนที่เตะ" + +#: src/common/text.c:918 src/common/text.c:968 +msgid "The person being kicked" +msgstr "คนที่กำลังถูกเตะ" + +#: src/common/text.c:919 src/common/text.c:926 src/common/text.c:930 +#: src/common/text.c:935 src/common/text.c:969 src/common/text.c:977 +#: src/common/text.c:984 +msgid "The channel" +msgstr "แชนแนล" + +#: src/common/text.c:920 src/common/text.c:971 src/common/text.c:978 +msgid "The reason" +msgstr "เหตุผล" + +#: src/common/text.c:924 src/common/text.c:975 +msgid "The nick of the person leaving" +msgstr "ชื่อเล่นของคนที่กำลังจากไป" + +#: src/common/text.c:931 src/common/text.c:937 +msgid "The time" +msgstr "เวลา" + +#: src/common/text.c:936 +msgid "The creator" +msgstr "ผู้สร้าง" + +#: src/common/text.c:941 src/fe-gtk/dccgui.c:763 src/fe-gtk/dccgui.c:994 +msgid "Nick" +msgstr "ชื่อเล่น" + +#: src/common/text.c:942 src/common/text.c:1195 +msgid "Reason" +msgstr "เหตุผล" + +#: src/common/text.c:943 src/common/text.c:1085 src/common/text.c:1168 +msgid "Host" +msgstr "โฮสต์" + +#: src/common/text.c:947 src/common/text.c:952 src/common/text.c:957 +msgid "Who it's from" +msgstr "ใครที่มันมาจาก" + +#: src/common/text.c:948 +msgid "The time in x.x format (see below)" +msgstr "เวลาในรูปแบบ x.x (ดูด้านล่าง)" + +#: src/common/text.c:958 src/common/text.c:995 +msgid "The Channel it's going to" +msgstr "แชนแนลที่มันกำลังไป" + +#: src/common/text.c:982 +msgid "The sound" +msgstr "เสียง" + +#: src/common/text.c:983 src/common/text.c:989 src/common/text.c:994 +msgid "The nick of the person" +msgstr "ชื่อเล่นของบุคคล" + +#: src/common/text.c:988 src/common/text.c:993 +msgid "The CTCP event" +msgstr "เหตุการณ์ CTCP" + +#: src/common/text.c:999 +msgid "The nick of the person who set the key" +msgstr "ชื่อเล่นของคนที่ตั้งค่ากุญแจ" + +#: src/common/text.c:1000 +msgid "The key" +msgstr "กุญแจ" + +#: src/common/text.c:1004 +msgid "The nick of the person who set the limit" +msgstr "ชื่อเล่นของคนที่ตั้งค่าขีดจำกัด" + +#: src/common/text.c:1005 +msgid "The limit" +msgstr "ขีดจำกัด" + +#: src/common/text.c:1009 +msgid "The nick of the person who did the op'ing" +msgstr "ชื่อเล่นของคนที่ทำการ op'ing" + +#: src/common/text.c:1010 +msgid "The nick of the person who has been op'ed" +msgstr "ชื่อเล่นของคนที่ได้ถูก op" + +#: src/common/text.c:1014 +msgid "The nick of the person who has been halfop'ed" +msgstr "ชื่อเล่นของคนที่ได้ถูก halfop" + +#: src/common/text.c:1015 +msgid "The nick of the person who did the halfop'ing" +msgstr "ชื่อเล่นของคนที่ทำการ halfop" + +#: src/common/text.c:1019 +msgid "The nick of the person who did the voice'ing" +msgstr "ชื่อเล่นของคนที่ทำการประกาศ" + +#: src/common/text.c:1020 +msgid "The nick of the person who has been voice'ed" +msgstr "ชื่อเล่นของคนที่ได้ถูกประกาศ" + +#: src/common/text.c:1024 +msgid "The nick of the person who did the banning" +msgstr "ชื่อเล่นของคนที่ทำการแบน" + +#: src/common/text.c:1025 src/common/text.c:1052 +msgid "The ban mask" +msgstr "มาสก์การแบน" + +#: src/common/text.c:1029 +msgid "The nick who removed the key" +msgstr "ชื่อเล่นของคนที่ลบกุญแจ" + +#: src/common/text.c:1033 +msgid "The nick who removed the limit" +msgstr "ชื่อเล่นของคนที่ลบขีดจำกัด" + +#: src/common/text.c:1037 +msgid "The nick of the person of did the deop'ing" +msgstr "ชื่อเล่นของคนที่ทำการ deop" + +#: src/common/text.c:1038 +msgid "The nick of the person who has been deop'ed" +msgstr "ชื่อเล่นของคนที่ได้ทำการ deop" + +#: src/common/text.c:1041 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "ชื่อเล่นของคนที่ทำการ dehalfop" + +#: src/common/text.c:1042 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "ชื่อเล่นของคนที่ได้ทำการ dehalfop" + +#: src/common/text.c:1046 +msgid "The nick of the person of did the devoice'ing" +msgstr "ชื่อเล่นของคนที่ทำการ devoice" + +#: src/common/text.c:1047 +msgid "The nick of the person who has been devoice'ed" +msgstr "ชื่อเล่นของคนที่ได้ทำการ devoice" + +#: src/common/text.c:1051 +msgid "The nick of the person of did the unban'ing" +msgstr "ชื่อเล่นของคนที่ทำการ unban" + +#: src/common/text.c:1056 +msgid "The nick of the person who did the exempt" +msgstr "ชื่อเล่นของคนที่ทำการยกเว้น" + +#: src/common/text.c:1057 src/common/text.c:1062 +msgid "The exempt mask" +msgstr "มาสก์ที่ยกเว้น" + +#: src/common/text.c:1061 +msgid "The nick of the person removed the exempt" +msgstr "ชื่อเล่นของคนที่ลบการยกเว้น" + +#: src/common/text.c:1066 +msgid "The nick of the person who did the invite" +msgstr "ชื่อเล่นของคนที่ทำการเชิญชวน" + +#: src/common/text.c:1067 src/common/text.c:1072 +msgid "The invite mask" +msgstr "มาสก์เชิญชวน" + +#: src/common/text.c:1071 +msgid "The nick of the person removed the invite" +msgstr "ชื่อเล่นของคนที่ลบการเชิญชวน" + +#: src/common/text.c:1076 +msgid "The nick of the person setting the mode" +msgstr "ชื่อเล่นของคนที่ตั้งค่าโหมด" + +#: src/common/text.c:1077 +msgid "The mode's sign (+/-)" +msgstr "สัญญาณของโหมด (+/-)" + +#: src/common/text.c:1078 +msgid "The mode letter" +msgstr "ตัวอักษรของโหมด" + +#: src/common/text.c:1079 +msgid "The channel it's being set on" +msgstr "แชนแนลที่มันกำลังตั้งค่า" + +#: src/common/text.c:1084 +msgid "Username" +msgstr "ชื่อผู้ใช้" + +#: src/common/text.c:1086 +msgid "Full name" +msgstr "ชื่อเต็ม" + +#: src/common/text.c:1091 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "ความเป็นสมาชิกของแชนแนล/\"เป็นผู้จัดการ IRC คนหนึ่ง\"" + +#: src/common/text.c:1096 +msgid "Server Information" +msgstr "ข้อมูลของเซิร์ฟเวอร์" + +#: src/common/text.c:1101 src/common/text.c:1106 +msgid "Idle time" +msgstr "เวลาว่าง" + +#: src/common/text.c:1107 +msgid "Signon time" +msgstr "เวลาเข้าสู่ระบบ" + +#: src/common/text.c:1112 +msgid "Away reason" +msgstr "เหตุผลที่ไม่อยู่" + +#: src/common/text.c:1121 src/common/text.c:1127 src/common/text.c:1135 +#: src/common/text.c:1315 +msgid "Message" +msgstr "ข้อความ" + +#: src/common/text.c:1128 +msgid "Account" +msgstr "บัญชี" + +#: src/common/text.c:1133 +msgid "Real user@host" +msgstr "ชื่อผู้ใช้@โฮสต์ จริง" + +#: src/common/text.c:1134 +msgid "Real IP" +msgstr "ไอพีจริง" + +#: src/common/text.c:1139 src/common/text.c:1148 src/common/text.c:1154 +#: src/common/text.c:1184 src/common/text.c:1338 +msgid "Channel Name" +msgstr "ชื่อแชนแนล" + +#: src/common/text.c:1143 src/common/text.c:1301 src/fe-gtk/menu.c:1240 +#: src/fe-gtk/menu.c:1420 src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "ข้อความ" + +#: src/common/text.c:1144 src/common/text.c:1150 src/common/text.c:1179 +#: src/common/text.c:1297 src/common/text.c:1339 +msgid "Server Name" +msgstr "ชื่อเซิร์ฟเวอร์" + +#: src/common/text.c:1149 +msgid "Nick of person who invited you" +msgstr "ชื่อเล่นของคนที่เชิญชวนคุณ" + +#: src/common/text.c:1155 src/fe-gtk/chanlist.c:755 +msgid "Users" +msgstr "ผู้ใช้" + +#: src/common/text.c:1159 +msgid "Nickname in use" +msgstr "ชื่อเล่นถูกใช้อยู่" + +#: src/common/text.c:1160 +msgid "Nick being tried" +msgstr "ชื่อเล่นกำลังถูกลองใช้" + +#: src/common/text.c:1169 src/common/text.c:1305 +msgid "IP" +msgstr "ไอพี" + +#: src/common/text.c:1170 src/common/text.c:1201 +msgid "Port" +msgstr "พอร์ต" + +#: src/common/text.c:1180 src/fe-gtk/notifygui.c:139 src/fe-gtk/setup.c:1669 +msgid "Network" +msgstr "เครือข่าย" + +#: src/common/text.c:1185 src/common/text.c:1190 +msgid "Modes string" +msgstr "สตริงแสดงโหมด" + +#: src/common/text.c:1200 src/common/text.c:1238 src/common/text.c:1243 +#: src/common/text.c:1284 +msgid "IP address" +msgstr "ที่อยู่ไอพี" + +#: src/common/text.c:1206 src/common/text.c:1231 +msgid "DCC Type" +msgstr "ชนิด DCC" + +#: src/common/text.c:1207 src/common/text.c:1212 src/common/text.c:1217 +#: src/common/text.c:1224 src/common/text.c:1244 src/common/text.c:1248 +#: src/common/text.c:1254 src/common/text.c:1260 src/common/text.c:1267 +#: src/common/text.c:1276 src/common/text.c:1282 +msgid "Filename" +msgstr "ชื่อไฟล์" + +#: src/common/text.c:1218 src/common/text.c:1225 +msgid "Destination filename" +msgstr "ชื่อไฟล์ปลายทาง" + +#: src/common/text.c:1227 src/common/text.c:1256 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1262 +msgid "Pathname" +msgstr "ชื่อเส้นทาง" + +#: src/common/text.c:1277 src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "ตำแหน่ง" + +#: src/common/text.c:1283 src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "ขนาด" + +#: src/common/text.c:1288 +msgid "DCC String" +msgstr "ข้อความ DCC" + +#: src/common/text.c:1293 +msgid "Number of notify items" +msgstr "หมายเลขของการแจ้งเตือนรายการ" + +#: src/common/text.c:1309 +msgid "Old Filename" +msgstr "ชื่อไฟล์เดิม" + +#: src/common/text.c:1310 +msgid "New Filename" +msgstr "ชื่อไฟล์ใหม่" + +#: src/common/text.c:1314 +msgid "Receiver" +msgstr "ตัวรับ" + +#: src/common/text.c:1319 +msgid "Hostmask" +msgstr "มาสก์ของโฮสต์" + +#: src/common/text.c:1324 +msgid "Hostname" +msgstr "ชื่อโฮสต์" + +#: src/common/text.c:1329 +msgid "The Packet" +msgstr "แพ็กเก็ต" + +#: src/common/text.c:1333 +msgid "Seconds" +msgstr "วินาที" + +#: src/common/text.c:1337 +msgid "Nick of person who have been invited" +msgstr "ชื่อของคนที่ได้ถูกเชิญ" + +#: src/common/text.c:1344 +msgid "Banmask" +msgstr "มาสก์การแบน" + +#: src/common/text.c:1345 +msgid "Who set the ban" +msgstr "ใครคนที่ตั้งการแบน" + +#: src/common/text.c:1346 +msgid "Ban time" +msgstr "เวลาแบน" + +#: src/common/text.c:1386 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"เกิดเหตุการณ์ข้อผิดพลาดในวิเคราะห์ %s.\n" +"โหลดค่ามาตรฐาน." + +#: src/common/text.c:2079 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"ไม่สามารถอ่านไฟล์เสียง:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "โฮสต์ปลายทางปิดแชนแนลเชื่อมต่อ" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "การเชื่อมต่อถูกปฏิเสธ" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "ไม่มีเส้นทางไปยังโฮต์" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "การเชื่อมต่อหมดเวลา" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "ไม่สามารถกำหนดค่าที่อยู่นั้น" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "การเชื่อมต่อถูกตั้งใหม่โดยผู้เชื่อมต่อ" + +#: src/common/util.c:839 +msgid "Ascension Island" +msgstr "เกาะ Ascension" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "สหรัฐอาหรับอิมิเรตส์" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "อัฟกานิสถาน" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "Antigua และ Barbuda" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "อัลบาเนีย" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "อาร์เมเนีย" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "" + +#: src/common/util.c:849 +msgid "Antarctica" +msgstr "" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "อาร์เจนติน่า" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "รีเวิร์ส DNS" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "ออสเตรีย" + +#: src/common/util.c:854 +msgid "Nato Fiel" +msgstr "" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "ออสเตรเลีย" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "" + +#: src/common/util.c:857 +msgid "Aland Islands" +msgstr "" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "อาร์เซอร์ไบจัน" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "เบลเยี่ยม" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "บัลแกเรีย" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "ยุ่งอยู่" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "โบลิเวีย" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "บราซิล" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "ภูฏาน" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "แคนาดา" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "คองโก" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "สวิซเซอร์แลนด์" + +#: src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "เกาะ Cook" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "ชิลี" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "แคมารูน" + +#: src/common/util.c:889 +msgid "China" +msgstr "จีน" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "โคลัมเบีย" + +#: src/common/util.c:891 +msgid "Internic Commercial" +msgstr "" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "คิวบา" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "ไซปรัส" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "เยอรมันนี" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "เดนมาร์ก" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "โดมินิกา" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "สถาบันการศึกษา" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "อียิปต์" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "สเปน" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "ฟินแลนด์" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "ฟิจิ" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "" + +#: src/common/util.c:919 +msgid "France" +msgstr "ฝรั่งเศส" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "จอร์เจีย" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "กานา" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "กรีนแลนด์" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "" + +#: src/common/util.c:931 +msgid "Government" +msgstr "ราชการ" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "กรีซ" + +#: src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "" + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "ฮ่องกง" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "" + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "อินโดนีเซีย" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "ไอร์แลนด์" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "อิสราเอล" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:950 +msgid "India" +msgstr "อินเดีย" + +#: src/common/util.c:951 +msgid "Informational" +msgstr "ข้อมูล" + +#: src/common/util.c:952 +msgid "International" +msgstr "นานาชาติ" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "อิรัก" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "อิหร่าน" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "ไอซ์แลนด์" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "อิตาลี" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "จอร์แดน" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "ญี่ปุ่น" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "เคนย่า" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "กัมพูชา" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "เกาหลีเหนือ" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "เกาหลีใต้" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "คูเวต" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "ลาว" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "ศรีลังกา" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "โมนาโก" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "" + +#: src/common/util.c:987 +msgid "United States Medical" +msgstr "" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "" + +#: src/common/util.c:990 +msgid "Military" +msgstr "" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "มาลี" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "เมียนมาร์" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "มองโกเลีย" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "เม็กซิโก" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "มาเลเซีย" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "" + +#: src/common/util.c:1010 +msgid "Internic Network" +msgstr "เครือข่าย Internic" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "ไนจีเรีย" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "นอรเวย์" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "เนปาล" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "นิวซีแลนด์" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "โอมาน" + +#: src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "เปรู" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "ฟิลิปปินส์" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "ปากีสถาน" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "โปแลนด์" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "" + +#: src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "กาตาร์" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "โรมาเนีย" + +#: src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "โรงเรียน ARPAnet เดิม" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "ซูดาน" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "สวีเดน" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "สิงคโปร์" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "ไทย" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "" + +#: src/common/util.c:1069 src/common/util.c:1073 +msgid "East Timor" +msgstr "" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "ตุรกี" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "ไต้หวัน" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "ยูเครน" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "อูกานดา" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "สหราชอาณาจักร" + +#: src/common/util.c:1082 +msgid "United States of America" +msgstr "สหรัฐอเมริกา" + +#: src/common/util.c:1083 +msgid "Uruguay" +msgstr "" + +#: src/common/util.c:1084 +msgid "Uzbekistan" +msgstr "" + +#: src/common/util.c:1085 +msgid "Vatican City State" +msgstr "" + +#: src/common/util.c:1086 +msgid "St. Vincent and the Grenadines" +msgstr "" + +#: src/common/util.c:1087 +msgid "Venezuela" +msgstr "" + +#: src/common/util.c:1088 +msgid "British Virgin Islands" +msgstr "" + +#: src/common/util.c:1089 +msgid "US Virgin Islands" +msgstr "" + +#: src/common/util.c:1090 +msgid "Vietnam" +msgstr "เวียดนาม" + +#: src/common/util.c:1091 +msgid "Vanuatu" +msgstr "" + +#: src/common/util.c:1092 +msgid "Wallis and Futuna Islands" +msgstr "" + +#: src/common/util.c:1093 +msgid "Samoa" +msgstr "" + +#: src/common/util.c:1094 +msgid "Yemen" +msgstr "เยเมน" + +#: src/common/util.c:1095 +msgid "Mayotte" +msgstr "" + +#: src/common/util.c:1096 +msgid "Yugoslavia" +msgstr "" + +#: src/common/util.c:1097 +msgid "South Africa" +msgstr "แอฟริกาใต้" + +#: src/common/util.c:1098 +msgid "Zambia" +msgstr "" + +#: src/common/util.c:1099 +msgid "Zimbabwe" +msgstr "" + +#: src/common/util.c:1109 src/common/util.c:1119 src/fe-gtk/menu.c:553 +#: src/fe-gtk/menu.c:558 src/fe-gtk/menu.c:562 src/fe-gtk/menu.c:566 +#: src/fe-gtk/menu.c:574 src/fe-gtk/menu.c:592 +msgid "Unknown" +msgstr "ไม่รู้จัก" + +#: src/common/xchat.c:767 src/common/xchat.c:893 +msgid "Open Dialog Window" +msgstr "เปิดหน้าต่างสนทนา" + +#: src/common/xchat.c:768 +msgid "Send a File" +msgstr "ส่งไฟล์" + +#: src/common/xchat.c:769 +msgid "User Info (WHOIS)" +msgstr "ข้อมูลผู้ใช้(WHOIS)" + +#: src/common/xchat.c:770 +msgid "Operator Actions" +msgstr "ผู้ควบคุมการปฏิบัติการ" + +#: src/common/xchat.c:772 src/common/xchat.c:863 +msgid "Give Ops" +msgstr "ให้ Ops" + +#: src/common/xchat.c:773 src/common/xchat.c:864 +msgid "Take Ops" +msgstr "รับ Ops" + +#: src/common/xchat.c:774 src/common/xchat.c:867 +msgid "Give Voice" +msgstr "ให้การประกาศ" + +#: src/common/xchat.c:775 src/common/xchat.c:868 +msgid "Take Voice" +msgstr "รับการประกาศ" + +#: src/common/xchat.c:777 src/common/xchat.c:872 +msgid "Kick/Ban" +msgstr "เตะ/แบน" + +#: src/common/xchat.c:778 src/common/xchat.c:873 src/common/xchat.c:922 +msgid "Kick" +msgstr "เตะ" + +#: src/common/xchat.c:779 src/common/xchat.c:780 src/common/xchat.c:781 +#: src/common/xchat.c:782 src/common/xchat.c:783 src/common/xchat.c:874 +#: src/common/xchat.c:875 src/common/xchat.c:876 src/common/xchat.c:877 +#: src/common/xchat.c:878 src/common/xchat.c:921 +msgid "Ban" +msgstr "แบน" + +#: src/common/xchat.c:784 src/common/xchat.c:785 src/common/xchat.c:786 +#: src/common/xchat.c:787 src/common/xchat.c:879 src/common/xchat.c:880 +#: src/common/xchat.c:881 src/common/xchat.c:882 +msgid "KickBan" +msgstr "เตะแบน" + +#: src/common/xchat.c:850 +msgid "Direct client-to-client" +msgstr "ลูกข่ายต่อลูกข่ายโดยตรง" + +#: src/common/xchat.c:851 +msgid "Send File" +msgstr "ส่งไฟล์" + +#: src/common/xchat.c:852 +msgid "Offer Chat" +msgstr "เสนอการคุยเล่น" + +#: src/common/xchat.c:853 +msgid "Abort Chat" +msgstr "ยกเลิกการคุยเล่นก่อนเสร็จสิ้น" + +#: src/common/xchat.c:854 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "เวอร์ชั่น" + +#: src/common/xchat.c:855 +msgid "Userinfo" +msgstr "ข้อมูลผู้ใช้" + +#: src/common/xchat.c:856 +msgid "Clientinfo" +msgstr "ข้อมูลลูกข่าย" + +#: src/common/xchat.c:857 src/common/xchat.c:891 src/common/xchat.c:939 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:858 +msgid "Time" +msgstr "เวลา" + +#: src/common/xchat.c:859 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:860 +msgid "Oper" +msgstr "Oper" + +#: src/common/xchat.c:861 +msgid "Kill this user" +msgstr " Kill ผู้ใช้นี้" + +#: src/common/xchat.c:862 +msgid "Mode" +msgstr "โหมด" + +#: src/common/xchat.c:865 +msgid "Give Half-Ops" +msgstr "ให้ Half-Ops" + +#: src/common/xchat.c:866 +msgid "Take Half-Ops" +msgstr "รับ Half-Ops" + +#: src/common/xchat.c:869 +msgid "Ignore" +msgstr "เพิกเฉย" + +#: src/common/xchat.c:870 +msgid "Ignore User" +msgstr "เพิกเฉยต่อผู้ใช้" + +#: src/common/xchat.c:871 +msgid "UnIgnore User" +msgstr "เลิกเพิกเฉยต่อผู้ใช้" + +#: src/common/xchat.c:883 +msgid "Info" +msgstr "ข้อมูล" + +#: src/common/xchat.c:884 +msgid "Who" +msgstr "Who" + +#: src/common/xchat.c:885 src/common/xchat.c:935 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/xchat.c:886 +msgid "DNS Lookup" +msgstr "ค้นหา DNS" + +#: src/common/xchat.c:887 +msgid "Trace" +msgstr "Trace" + +#: src/common/xchat.c:888 +msgid "UserHost" +msgstr "UserHost" + +#: src/common/xchat.c:889 +msgid "External" +msgstr "External" + +#: src/common/xchat.c:890 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:892 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:904 +msgid "Leave Channel" +msgstr "ออกจากแชนแนล" + +#: src/common/xchat.c:905 src/fe-gtk/menu.c:1427 +msgid "Join Channel..." +msgstr "เข้าใช้แชนแนล..." + +#: src/common/xchat.c:906 src/fe-gtk/menu.c:1117 +msgid "Enter Channel to Join:" +msgstr "ป้อนแชนแนลที่จะเข้าร่วม" + +#: src/common/xchat.c:907 +msgid "Server Links" +msgstr "การเชื่อมต่อเซิร์ฟเวอร์" + +#: src/common/xchat.c:908 +msgid "Ping Server" +msgstr "Ping เซิร์ฟเวอร์" + +#: src/common/xchat.c:909 +msgid "Hide Version" +msgstr "ซ่อนเวอร์ชั่น" + +#: src/common/xchat.c:919 +msgid "Op" +msgstr "Op" + +#: src/common/xchat.c:920 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/xchat.c:923 +msgid "bye" +msgstr "ลาก่อน" + +#: src/common/xchat.c:924 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "ป้อนเหตุผลที่จะเตะ %s:" + +#: src/common/xchat.c:925 +msgid "Sendfile" +msgstr "ส่งไฟล์" + +#: src/common/xchat.c:926 +msgid "Dialog" +msgstr "หน้าต่างสนทนา" + +#: src/common/xchat.c:936 +msgid "Send" +msgstr "ส่ง" + +#: src/common/xchat.c:937 +msgid "Chat" +msgstr "คุยเล่น" + +#: src/common/xchat.c:938 src/fe-gtk/banlist.c:341 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "ล้าง" + +#: src/common/dbus/dbus-client.c:71 +msgid "Couldn't connect to session bus" +msgstr "ไม่สามารถเชื่อมต่อไปยัง session bus" + +#: src/common/dbus/dbus-client.c:85 +msgid "Failed to complete NameHasOwner" +msgstr "ล้มเหลวในการจบ NameHasOwner" + +#: src/common/dbus/dbus-client.c:106 +msgid "Failed to complete Command" +msgstr "ล้มเหลวในการจบคำสั่ง" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "เข้าถึงระยะไกล" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "ปล๊กอินสำหรับการเข้าถึงระยะไกลโดยใช้ DBUS" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "ไม่สามารถเชื่อมต่อไปยัง session bus: %s\n" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "ผิดพลาดในการร้องขอ %s: %s\n" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "เกี่ยวกับ XChat" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "โปรแกรมลูกข่าย IRC หลายแพลตฟอร์ม " + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "แผนผังตัวอักษร" + +#: src/fe-gtk/banlist.c:113 src/fe-gtk/chanlist.c:305 +#: src/fe-gtk/plugin-tray.c:217 +msgid "Not connected." +msgstr "ไม่ได้เชื่อมต่อ." + +#: src/fe-gtk/banlist.c:154 src/fe-gtk/banlist.c:257 +msgid "You must select some bans." +msgstr "คุณจะต้องเลือกคนที่ถูกแบน." + +#: src/fe-gtk/banlist.c:206 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "แน่ใจหรือไม่ที่ต้องการจะลบทุกคนที่ถูกแบนไว้ใน %s?" + +#: src/fe-gtk/banlist.c:272 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "มาสก์" + +#: src/fe-gtk/banlist.c:273 +msgid "From" +msgstr "จาก" + +#: src/fe-gtk/banlist.c:274 +msgid "Date" +msgstr "วันเวลา" + +#: src/fe-gtk/banlist.c:317 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "คุณสามารถเปิดหน้าต่างรายการผู้ถูกแบนเมื่ออยู่ในแท็บแชนแนลเท่านั้น." + +#: src/fe-gtk/banlist.c:321 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: รายการแบน (%s)" + +#: src/fe-gtk/banlist.c:337 +msgid "Unban" +msgstr "เลิกแบน" + +#: src/fe-gtk/banlist.c:339 +msgid "Crop" +msgstr "ตัดให้สั้น" + +#: src/fe-gtk/banlist.c:343 +msgid "Refresh" +msgstr "เรียกใหม่" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "กำลังแสดง %d/%d ผู้ใช้ บน %d/%d แชนแนล." + +#: src/fe-gtk/chanlist.c:522 src/fe-gtk/menu.c:1053 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "เลือกชื่อไฟล์เอาต์พุท" + +#: src/fe-gtk/chanlist.c:626 src/fe-gtk/chanlist.c:789 +msgid "_Join Channel" +msgstr "เข้าแชนแนล" + +#: src/fe-gtk/chanlist.c:628 +msgid "_Copy Channel Name" +msgstr "คัดลอกชื่อแชนแนล" + +#: src/fe-gtk/chanlist.c:630 +msgid "Copy _Topic Text" +msgstr "คัดลอกข้อความหัวข้อ" + +#: src/fe-gtk/chanlist.c:714 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: รายการแชนแนล (%s)" + +#: src/fe-gtk/chanlist.c:771 +msgid "_Search" +msgstr "ค้น_หา" + +#: src/fe-gtk/chanlist.c:777 +msgid "_Download List" +msgstr "รายการ_ดาวน์โหลด" + +#: src/fe-gtk/chanlist.c:783 +msgid "Save _List..." +msgstr "_บันทึกรายการ..." + +#: src/fe-gtk/chanlist.c:796 +msgid "Show only:" +msgstr "แสดงเท่านั้น." + +#: src/fe-gtk/chanlist.c:808 +msgid "channels with" +msgstr "แชนแนลกับ" + +#: src/fe-gtk/chanlist.c:821 +msgid "to" +msgstr "ไปยัง" + +#: src/fe-gtk/chanlist.c:833 +msgid "users." +msgstr "ผู้ใช้" + +#: src/fe-gtk/chanlist.c:839 +msgid "Look in:" +msgstr "ค้นหาใน:" + +#: src/fe-gtk/chanlist.c:851 +msgid "Channel name" +msgstr "ชื่อแชนแนล" + +#: src/fe-gtk/chanlist.c:872 +msgid "Search type:" +msgstr "ชนิดไฟล์:" + +#: src/fe-gtk/chanlist.c:879 +msgid "Simple Search" +msgstr "ค้นหาอย่างง่าย" + +#: src/fe-gtk/chanlist.c:880 +msgid "Pattern Match (Wildcards)" +msgstr "รูปแบบตรงกัน (ไวลด์การ์ด)" + +#: src/fe-gtk/chanlist.c:882 +msgid "Regular Expression" +msgstr "Regular Expression" + +#: src/fe-gtk/chanlist.c:893 src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "ค้นหา:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "ส่งไฟล์ไปยัง %s" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "ไฟล์นั้นไม่สามารถเริ่มต่อได้" + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"ไม่สามารถเข้าถึงไฟล์: %s\n" +"%s.\n" +"การเชื่อมต่อไม่สามารถเป็นไปได้." + +#: src/fe-gtk/dccgui.c:507 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "ไฟล์ในไดเร็กทอรี่ดาวน์โหลดใหญ่กว่าไฟล์ที่ถูกเสนอ. การเริ่มต่อไม่สามารถเป็นไปได้." + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "ไม่สามารถเริ่มต่อสำหรับไฟล์เดียวกันจากคนสองคน." + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: อัพโหลดและดาวน์โหลด" + +#: src/fe-gtk/dccgui.c:756 src/fe-gtk/dccgui.c:993 src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "สถานะ" + +#: src/fe-gtk/dccgui.c:757 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "ไฟล์" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:784 src/fe-gtk/menu.c:1421 +msgid "Both" +msgstr "ทั้งคู่" + +#: src/fe-gtk/dccgui.c:790 +msgid "Uploads" +msgstr "อัพโหลด" + +#: src/fe-gtk/dccgui.c:796 +msgid "Downloads" +msgstr "ดาวน์โหลด" + +#: src/fe-gtk/dccgui.c:801 +msgid "Details" +msgstr "รายละเอียด" + +#: src/fe-gtk/dccgui.c:812 +msgid "File:" +msgstr "ไฟล์:" + +#: src/fe-gtk/dccgui.c:813 +msgid "Address:" +msgstr "ที่อยู่:" + +#: src/fe-gtk/dccgui.c:819 src/fe-gtk/dccgui.c:1014 +msgid "Abort" +msgstr "ยกเลิกกลางคัน" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1015 +msgid "Accept" +msgstr "ยอมรับ" + +#: src/fe-gtk/dccgui.c:821 +msgid "Resume" +msgstr "เริ่มใหม่" + +#: src/fe-gtk/dccgui.c:822 +msgid "Open Folder..." +msgstr "เปิดโฟลเดอร์..." + +#: src/fe-gtk/dccgui.c:982 +msgid "XChat: DCC Chat List" +msgstr "XChat: รายการคุยเล่น DCC" + +#: src/fe-gtk/dccgui.c:995 +msgid "Recv" +msgstr "รับ" + +#: src/fe-gtk/dccgui.c:996 +msgid "Sent" +msgstr "ส่ง" + +#: src/fe-gtk/dccgui.c:997 +msgid "Start Time" +msgstr "เวลาเริ่ม" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*ใหม่*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "แก้ไขฉัน" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "ชื่อ" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "คำสั่ง" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "เลื่อนขึ้น" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "เลื่อนลง" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "ยกเลิก" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "บันทึก" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "เพิ่มใหม่" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "ลบ" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "เรียงลำดับ" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "ช่วยเหลือ" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "ไม่เชื่อมต่อไปยังเซิร์ฟเวอร์โดยอัตโนมัติ" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "ใช้ไดเร็กทอรี่การตั้งค่าต่างออกไป" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "ไม่โหลดปั๊กอินใด ๆ โดยอัตโนมัติ" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "แสดงไดเร็กทอรี่ปลั๊กอินที่โหลดอัตโนมัติ" + +#: src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "แสดงไดเร็กทอรี่การตั้งค่าของผู้ใช้" + +#: src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "เปิด URL irc://เซิร์ฟเวอร์:พอร์ต/แชนแนล" + +#: src/fe-gtk/fe-gtk.c:133 +msgid "Open URL in an existing XChat" +msgstr "เปิด URL ใน XChat ที่มีอยู่" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "เริ่มต้นด้วยขนาดย่อ. ระดับ 0=ปกติ 1=เป็นไอคอน 2=ถาด" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "level" +msgstr "รดับ" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "Show version information" +msgstr "แสดงข้อมูลเวอร์ชั่น" + +#: src/fe-gtk/fe-gtk.c:256 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"ล้มเหลวในการเปิดฟอนต์:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:635 +msgid "Search buffer is empty.\n" +msgstr "การค้นหาบัฟเฟอร์ว่างเปล่า.\n" + +#: src/fe-gtk/fe-gtk.c:731 +#, c-format +msgid "%d bytes" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "ปฏิบัติการคำสั่ง Run Command จะดำเนินการตามข้อมูลในข้อมูล1 ตามที่มันถูกพิมพ์ไปยังกล่องป้อนข้อมูลที่คุณกดคีย์เป็นอันดับคีย์. ดังนั้นมันสามารถบรรจุข้อความ (ซึ่งจะถูกส่งไปยังแชนแนล/บุคคล), คำสั่ง หรือคำสั่งของผู้ใช้. เมื่อดำเนินการ \\n ตัวอักษรในข้อมูล1 จะถูกใช้เพื่อแยกแยะคำสั่ง ดังนั้นมันเป็นไปได้ที่จะดำเนินการมากกว่าหนึ่งคำสั่ง. ถ้าคุณต้องการให้ \\ ในข้อความจริง ๆ ถูกดำเนินการแล้วป้อน \\\\" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "คำสั่ง Change Page จะสลับระหว่างหน้าในสมุด. ตั้งค่าข้อมูล 1 ไปยังหน้าที่คุณต้องการสลับไป. ถ้าข้อมูล 2 ถูกตั้งค่าเป็นค่าใด ๆ แล้วตัวสวิตช์จะสัมพันธ์กับตำแหน่งปัจจุบัน" + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "คำสั่ง Insert in Buffer จะทำการเพิ่มเนื้อหาของข้อมูล 1 ไปยังตัวรับข้อมูลที่ที่ลำดับคีย์ได้ถูกกด ที่ตำแหน่งปัจจุบันของเคอร์เซอร์" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "คำสั่ง Scroll Page เลื่อนส่วนประกอบที่เป็นข้อความขึ้นหรือลงหนึงหน้าหรือหนึ่งบรรทัด. ตั้งค่าข้อมูล 1 ไปเป็นทั้ง ขึ้น, ลง, +1 หรือ -1." + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "คำสั่ง Set Buffer ตั้งค่าตัวรับข้อมูลไปยังที่ ที่ลำดับของคีย์ที่ได้ถูกป้อนเข้ามาไปยังเนื้อหาของข้อมูล 1" + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "คำสั่ง Last Command ตั้งค่าตัวรับข้อมูลไปยังคำสั่งล่าสุดที่ถูกป้อน - เช่นเดียวกับการกดลูกศรขึ้นในเชลล์" + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "คำสั่ง Next Command ตั้งค่าตัวรับข้อมูลไปยังคำสั่งถัดไปที่ถูกป้อน - เช่นเดียวกับการกดลูกศรลงในเชลล์" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "คำสั่งนี้จะเปลี่ยนข้อความที่อยู่ในรายการป้อน เพื่อจะทำชื่อหรือคำสั่งที่ไม่เรียบร้อยให้สมบูรณ์. ถ้าข้อมูล 1 ถูกตั้งค่า แล้วการแท็บคู่ในสตริงจะถูกเลือกในชื่อเล่นล่าสุด, ไม่ใช่ถัดไป." + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "คำสั่งนี้จะเลื่อนขึ้นหรือลงไปยังรายการชื่อเล่น. ถ้าข้อมูล1 ถูกตั้งไปเป็นอะไรก็ตามมันจะเลื่อนขึ้น, ไม่อย่างนั้นจะเลื่อนลง" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "คำสั่งนี้ตรวจสอบคำล่าสุดที่ถูกป้อนไปยังตัวป้อน แทนที่จะเป็นรายการแทนที่ และแทนที่มันถ้าค้นพบสิ่งที่ตรงกัน" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "คำสั่งนี้ย้ายแท็บด้านหน้าไปทางซ้ายหนึ่งอันดับ" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "คำสั่งนี้ย้ายแท็บด้านหน้าไปทางขวาหนึ่งอันดับ" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "คำสั่งนี้ย้ายสมาชิกแท็บปัจจุบันไปทางซ้าย" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "คำสั่งนี้ย้ายสมาชิกแท็บปัจจุบันไปทางขวา" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "ใส่บรรทัดการป้อนเข้าไปยังประวัติแต่ไม่ต้องส่งไปยังเซิร์ฟเวอร์" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "มีปัญหาในการโหลดการตั้งค่าการผูกคีย์" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1616 src/fe-gtk/maingui.c:1719 +#: src/fe-gtk/maingui.c:3201 +msgid "<none>" +msgstr "<none>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "ปรับ" + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "คีย์" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "ปฏิบัติการ" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: แป้นพิมพ์ลัด" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "ข้อมูล 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "ข้อมูล 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "ไม่สามารถเปิดไฟล์ตั้งค่าคีย์\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"ไม่รู้จักชื่อคีย์ %s ในไฟล์ปรับแต่งการผูกคีย์\n" +"ยกเลิกการโหลดก่อนเสร็จสิ้น, กรุณาแก้ไข %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"ไม่รู้จักปฏิบัติการ %s ในไฟล์ปรับแต่งการผูกคีย์\n" +"ยกเลิกการโหลดก่อนเสร็จสิ้น, กรุณาแก้ไข %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"คาดหมายบรรทัดข้อมูล (เริ่มด้วย Dx{:|!}) แต่ได้:\n" +"%s\n" +"\n" +"ยกเลิกการโหลดก่อนเสร็จสิ้น, กรุณาแก้ไข %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"ไฟล์ปรับแต่งการผูกคีย์เสียหาย, ยกเลิกการโหลดก่อนเสร็จสิ้น\n" +"กรุณาแก้ไข %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "ไม่สามารถเขียนไฟล์นั้นได้" + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "ไม่สามารถอ่านไฟล์นั้นได้" + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "มาสก็นั้นมีอยู่แล้ว" + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:2100 +msgid "Private" +msgstr "ส่วนตัว" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "ประกาศ" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "เชิญชวน" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "เลิกเพิกเฉย" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "ป้อนมาสก์เพื่อเพิกเฉย" + +#: src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "XChat: รายการเพิกเฉย" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "สถิติการเพิกเฉย:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "แชนแนล:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "ส่วนตัว:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "ประกาศ:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "เชิญชวน:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:420 +msgid "Add..." +msgstr "เพิ่ม..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "ชื่อแชนแนลสั้นเกินไป, ลองใหม่อีกครั้ง." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: การเชื่อมต่อเสร็จสมบูรณ์" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "การเชื่อมต่อไปยัง %s เสร็จสมบูรณ์." + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "ในหน้าต่างรายชื่อเซิร์ฟเวอร์, ไม่มีแชนแนล(แชนแนลคุยเล่น)ที่ถูกป้อนเพื่อที่จะเข้าร่วมในเครือข่ายนี้." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "คุณอยากจะทำอะไรต่อไป?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "ไม่ทำอะไรเลย. ฉันจะเข้าแชนแนลทีหลัง" + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "เ_ข้าร่วมแชนแนลนี้" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "ถ้าคุณรู้ชื่อของแชนแนลที่คุณต้องการเข้าร่วม. ป้อนมันที่นี่." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "เปิ_ดหน้าต่างรายชื่อแชนแนล" + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "ร้องขอรายชื่อแชนแนลอาจใช้เวลาสองสามนาที." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "แสดงหน้าต่างสนทนานี้หลังจากการเชื่อมต่อ_ตลอด." + +#: src/fe-gtk/maingui.c:500 +msgid "Dialog with" +msgstr "การสนทนากับ" + +#: src/fe-gtk/maingui.c:787 +#, c-format +msgid "Topic for %s is: %s" +msgstr "หัวข้อสำหรับ %s คือ: %s" + +#: src/fe-gtk/maingui.c:792 +msgid "No topic is set" +msgstr "ไม่มีหัวข้อถูกตั้ง." + +#: src/fe-gtk/maingui.c:1177 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "เซิร์ฟเวอร์นี้ยังคงมี %d แชนแนลหรือการสนทนาที่ถูกเชื่อมโยงด้วย. ต้องการปิดทั้งหมด?" + +#: src/fe-gtk/maingui.c:1304 +msgid "Quit XChat?" +msgstr "ออกจาก XChat?" + +#: src/fe-gtk/maingui.c:1325 +msgid "Don't ask next time." +msgstr "ไม่ต้องถามในครั้งหน้า." + +#: src/fe-gtk/maingui.c:1331 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "คุณกำลังเชื่อมต่อไปยังเครือข่าย IRC %i ." + +#: src/fe-gtk/maingui.c:1333 +msgid "Are you sure you want to quit?" +msgstr "คุณแน่ใจแล้วหรือไม่ที่จะออก?" + +#: src/fe-gtk/maingui.c:1335 +msgid "Some file transfers are still active." +msgstr "การโอนย้ายไฟล์บางไฟล์ยังคงทำงานอยู่." + +#: src/fe-gtk/maingui.c:1353 +msgid "_Minimize to Tray" +msgstr "_ย่อไปยังถาด" + +#: src/fe-gtk/maingui.c:1567 +msgid "Insert Attribute or Color Code" +msgstr "ใส่คุณลักษณะหรือรหัสสี" + +#: src/fe-gtk/maingui.c:1569 +msgid "<b>Bold</b>" +msgstr "<b>ตัวหนา</b>" + +#: src/fe-gtk/maingui.c:1570 +msgid "<u>Underline</u>" +msgstr "<u>ขีดเส้นใต้</u>" + +#: src/fe-gtk/maingui.c:1572 +msgid "Normal" +msgstr "ปกติ" + +#: src/fe-gtk/maingui.c:1574 +msgid "Colors 0-7" +msgstr "สี 0-7" + +#: src/fe-gtk/maingui.c:1584 +msgid "Colors 8-15" +msgstr "สี 8-15" + +#: src/fe-gtk/maingui.c:1629 +msgid "Beep on message" +msgstr "บี๊บเมื่อมีข้อความ" + +#: src/fe-gtk/maingui.c:1632 +msgid "Blink tray on message" +msgstr "กระพริบถาดเมื่อมีข้อความ" + +#: src/fe-gtk/maingui.c:1635 +msgid "Show join/part messages" +msgstr "แสดงข้อความเข้าร่วม/ออกจากแชนแนล" + +#: src/fe-gtk/maingui.c:1637 +msgid "Color paste" +msgstr "เพลตสี" + +#: src/fe-gtk/maingui.c:1647 src/fe-gtk/menu.c:1950 +msgid "_Close Tab" +msgstr "ปิ_ดแท็บ" + +#: src/fe-gtk/maingui.c:1649 src/fe-gtk/menu.c:1949 +msgid "_Detach Tab" +msgstr "_ถอดแท็บออก" + +#: src/fe-gtk/maingui.c:1968 src/fe-gtk/maingui.c:2074 +msgid "User limit must be a number!\n" +msgstr "ขีดจำกัดผู้ใช้ต้องเป็นตัวเลข!\n" + +#: src/fe-gtk/maingui.c:2096 +msgid "Topic Protection" +msgstr "การป้องกันหัวข้อ" + +#: src/fe-gtk/maingui.c:2097 +msgid "No outside messages" +msgstr "ไม่มีข้อความภายนอก" + +#: src/fe-gtk/maingui.c:2098 +msgid "Secret" +msgstr "ลับเฉพาะ" + +#: src/fe-gtk/maingui.c:2099 +msgid "Invite Only" +msgstr "รับเชิญเท่านั้น" + +#: src/fe-gtk/maingui.c:2101 +msgid "Moderated" +msgstr "ปรับปรุง" + +#: src/fe-gtk/maingui.c:2102 +msgid "Ban List" +msgstr "รายการแบน" + +#: src/fe-gtk/maingui.c:2104 +msgid "Keyword" +msgstr "คีย์เวิร์ด" + +#: src/fe-gtk/maingui.c:2116 +msgid "User Limit" +msgstr "ขีดจำกัดผู้ใช้" + +#: src/fe-gtk/maingui.c:2225 +msgid "Show/Hide userlist" +msgstr "แสดง/ซ่อนรายการผู้ใช้" + +#: src/fe-gtk/maingui.c:2350 +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 "" +"ไม่สามารถตั้งค่าความโปร่งใสของพื้นหลังได้!\n" +"\n" +"คุณอาจกำลังใช้ตัวจัดการหน้าต่าง\n" +"ปัจจุบันที่ไม่สนับสนุนการทำงาน\n" + +#: src/fe-gtk/maingui.c:2621 +msgid "Enter new nickname:" +msgstr "ป้อนชื่อเล่นใหม่:" + +#: src/fe-gtk/menu.c:124 +msgid "Host unknown" +msgstr "ไม่รู้จักโฮสต์" + +#: src/fe-gtk/menu.c:544 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:549 src/fe-gtk/menu.c:553 +msgid "Real Name:" +msgstr "ชื่อจริง" + +#: src/fe-gtk/menu.c:557 +msgid "User:" +msgstr "ผู้ใช้:" + +#: src/fe-gtk/menu.c:561 +msgid "Country:" +msgstr "ประเทศ:" + +#: src/fe-gtk/menu.c:565 +msgid "Server:" +msgstr "เซิร์ฟเวอร์:" + +#: src/fe-gtk/menu.c:577 +msgid "Away Msg:" +msgstr "ข้อความไม่อยู่:" + +#: src/fe-gtk/menu.c:587 +#, c-format +msgid "%u minutes ago" +msgstr "ผ่านมาแล้ว %u นาที" + +#: src/fe-gtk/menu.c:589 src/fe-gtk/menu.c:592 +msgid "Last Msg:" +msgstr "ข้อความล่าสุด:" + +#: src/fe-gtk/menu.c:704 +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 "แถบเมนูตอนนี้ได้ซ่อนอยู่. คุณสามาระแสดงมันอีกครั้งโดนการกด F9 หรือ คลิกขวา ในที่ว่างของพื้นที่ข้อความหลัก" + +#: src/fe-gtk/menu.c:799 +msgid "Open Link in Browser" +msgstr "เปิดลิงค์ในบราวเซอร์" + +#: src/fe-gtk/menu.c:800 +msgid "Copy Selected Link" +msgstr "คัดลอกลิงค์ที่เลือก" + +#: src/fe-gtk/menu.c:862 src/fe-gtk/menu.c:1100 +msgid "Join Channel" +msgstr "เข้าร่วมแชนแนล" + +#: src/fe-gtk/menu.c:866 +msgid "Part Channel" +msgstr "ออกจากแชนแนล" + +#: src/fe-gtk/menu.c:868 +msgid "Cycle Channel" +msgstr "หมุนวนแชนแนล" + +#: src/fe-gtk/menu.c:892 +msgid "XChat: User menu" +msgstr "XChat: เมนูผู้ใช้" + +#: src/fe-gtk/menu.c:901 +msgid "Edit This Menu..." +msgstr "แก้ไขเมนูนี้" + +#: src/fe-gtk/menu.c:1102 +msgid "Retrieve channel list..." +msgstr "เรียกข้อมูลรายการแชนแนล..." + +#: src/fe-gtk/menu.c:1170 +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 = xchat 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 "" +"User Commands - รหัสพิเศษ:\n" +"\n" +"%d = ข้อมูล (ctcp ทั้งหมด)\n" +"%e = ชื่อเครือข่ายปัจจุบัน\n" +"%m = รายละเอียดเครื่อง\n" +"%s = ชื่อเล่นของคนที่ส่ง ctcp\n" +"%t = เวลา/วัน\n" +"%v = เวอร์ชั่นของ xchat%2 = คำที่ 2\n" +"%3 = คำที่ 3\n" +"&2 = คำที่ 2 ไปยังท้ายบรรทัด\n" +"&3 = คำที่ 3 ไปยังท้ายบรรทัด\n" +"\n" +"เช่น:\n" +"/cmd john hello\n" +"\n" +"%2 อาจจะเป็น \"john\"\n" +"&2 อาจจะเป็น \"john hello\"." + +#: src/fe-gtk/menu.c:1186 +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 "" +"ปุ่มรายชื่อผู้ใช้ - รหัสพิเศษ:\n" +"\n" +"%a = ทุกชื่อเล่นที่เลือก\n" +"%c = แชนแนลปัจจุบัน\n" +"%e = ชื่อเครือข่ายปัจจุบัน\n" +"%h = ชื่อโฮสต์ของชื่อเล่นที่เลือก\n" +"%m = ข้อมูลเครื่อง\n" +"%n = ชื่อเล่นของคุณ\n" +"%s = ชื่อเล่นที่เลือก\n" +"%t = เวลา/วัน\n" + +#: src/fe-gtk/menu.c:1196 +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 "" +"ปุมสนทนา - รหัสพิเศษ:\n" +"\n" +"%a = ทุกชื่อเล่นที่เลือก\n" +"%c = แชนแนลปัจจุบัน\n" +"%e = ชื่อเครือข่ายปัจจุบัน\n" +"%h = ชื่อโฮสต์ของชื่อเล่นที่เลือก\n" +"%m = ข้อมูลเครื่อง\n" +"%n = ชื่อเล่นของคุณ\n" +"%s = ชื่อเล่นที่เลือก\n" +"%t = เวลา/วัน\n" + +#: src/fe-gtk/menu.c:1206 +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 "" +"การตอบรับ CTCP - รหัสพิเศษ:\n" +"\n" +"%d = ข้อมูล (ctcp ทั้งหมด)\n" +"%e = ชื่อเครือข่ายปัจจุบัน\n" +"%m = รายละเอียดเครื่อง\n" +"%s = ชื่อเล่นของคนที่ส่ง ctcp\n" +"%t = เวลา/วัน\n" +"%2 = คำที่ 2\n" +"%3 = คำที่ 3\n" +"&2 = คำที่ 2 ไปยังท้ายบรรทัด\n" +"&3 = คำที่ 3 ไปยังท้ายบรรทัด\n" +"\n" + +#: src/fe-gtk/menu.c:1217 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"ตัวจัดการ URL - รหัสพิเศษ:\n" +"\n" +"%s = สตริง URL \n" +"\n" +"เติม ! ด้านหน้าของคำสั่ง\n" +"เพื่อแสดงว่ามันจะถูกส่งไปยัง\n" +"เชลล์แทนที่จะเป็น XChat" + +#: src/fe-gtk/menu.c:1226 +msgid "XChat: User Defined Commands" +msgstr "XChat: คำสั่งที่ผู้ใช้นิยามขึ้น" + +#: src/fe-gtk/menu.c:1233 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: เมนูป็อบอัพรายชื่อผู้ใช้" + +#: src/fe-gtk/menu.c:1240 +msgid "Replace with" +msgstr "แทนที่ด้วย" + +#: src/fe-gtk/menu.c:1240 +msgid "XChat: Replace" +msgstr "XChat: แทนที่" + +#: src/fe-gtk/menu.c:1247 +msgid "XChat: URL Handlers" +msgstr "XChat: ตัวจัดการ URL" + +#: src/fe-gtk/menu.c:1266 +msgid "XChat: Userlist buttons" +msgstr "XChat: ปุ่มรายการผู้ใช้" + +#: src/fe-gtk/menu.c:1273 +msgid "XChat: Dialog buttons" +msgstr "XChat: ปุ่มสนทนา" + +#: src/fe-gtk/menu.c:1280 +msgid "XChat: CTCP Replies" +msgstr "XChat: การตอบรับ CTCP" + +#: src/fe-gtk/menu.c:1378 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1379 +msgid "Network Li_st..." +msgstr "_รายการเครือข่าย" + +#: src/fe-gtk/menu.c:1382 +msgid "_New" +msgstr "สร้างให_ม่" + +#: src/fe-gtk/menu.c:1383 +msgid "Server Tab..." +msgstr "แท็บเซิร์ฟเวอร์..." + +#: src/fe-gtk/menu.c:1384 +msgid "Channel Tab..." +msgstr "แท็บแชนแนล..." + +#: src/fe-gtk/menu.c:1385 +msgid "Server Window..." +msgstr "หน้าต่างเซิร์ฟเวอร์..." + +#: src/fe-gtk/menu.c:1386 +msgid "Channel Window..." +msgstr "หน้าต่างแชนแนล..." + +#: src/fe-gtk/menu.c:1391 src/fe-gtk/menu.c:1393 +msgid "_Load Plugin or Script..." +msgstr "โหล_ดปลั๊กอินหรือสคริป..." + +#: src/fe-gtk/menu.c:1401 src/fe-gtk/plugin-tray.c:463 +msgid "_Quit" +msgstr "_ออก" + +#: src/fe-gtk/menu.c:1403 +msgid "_View" +msgstr "_มุมมอง" + +#: src/fe-gtk/menu.c:1405 +msgid "_Menu Bar" +msgstr "แถบเ_มนู" + +#: src/fe-gtk/menu.c:1406 +msgid "_Topic Bar" +msgstr "แถ_บหัวข้อ" + +#: src/fe-gtk/menu.c:1407 +msgid "_User List" +msgstr "รา_ยการผู้ใช้" + +#: src/fe-gtk/menu.c:1408 +msgid "U_serlist Buttons" +msgstr "ปุ่ม_รายการผู้ใช้" + +#: src/fe-gtk/menu.c:1409 +msgid "M_ode Buttons" +msgstr "ปุ่มโหม_ด" + +#: src/fe-gtk/menu.c:1411 +msgid "_Channel Switcher" +msgstr "ตัว_สวิตช์แชนแนล" + +#: src/fe-gtk/menu.c:1413 +msgid "_Tabs" +msgstr "แท็_บ" + +#: src/fe-gtk/menu.c:1414 +msgid "T_ree" +msgstr "ต้_นไม้" + +#: src/fe-gtk/menu.c:1416 +msgid "_Network Meters" +msgstr "ตัว_วัดเครือข่าย" + +#: src/fe-gtk/menu.c:1418 +msgid "Off" +msgstr "ปิด" + +#: src/fe-gtk/menu.c:1419 +msgid "Graph" +msgstr "กราฟ" + +#: src/fe-gtk/menu.c:1424 +msgid "_Server" +msgstr "เ_ซิร์ฟเวอร์" + +#: src/fe-gtk/menu.c:1425 +msgid "_Disconnect" +msgstr "_ตัดการเชื่อมต่อ" + +#: src/fe-gtk/menu.c:1426 +msgid "_Reconnect" +msgstr "เชื่อมต่อให_ม่" + +#: src/fe-gtk/menu.c:1430 +msgid "Marked Away" +msgstr "ตั้งเครื่องหมายว่าไม่อยู่" + +#: src/fe-gtk/menu.c:1432 +msgid "_Usermenu" +msgstr "เ_มนูผู้ใช้" + +#: src/fe-gtk/menu.c:1434 +msgid "S_ettings" +msgstr "ตั้_งค่า" + +#: src/fe-gtk/menu.c:1435 +msgid "_Preferences" +msgstr "ปรั_บแต่ง" + +#: src/fe-gtk/menu.c:1437 +msgid "Advanced" +msgstr "ขั้นสูง" + +#: src/fe-gtk/menu.c:1438 +msgid "Auto Replace..." +msgstr "แทนที่อัตโนมัติ..." + +#: src/fe-gtk/menu.c:1439 +msgid "CTCP Replies..." +msgstr "การตอบรับCTCP..." + +#: src/fe-gtk/menu.c:1440 +msgid "Dialog Buttons..." +msgstr "ปุ่มสนทนา" + +#: src/fe-gtk/menu.c:1441 +msgid "Keyboard Shortcuts..." +msgstr "แป้นพิมพ์ลัด..." + +#: src/fe-gtk/menu.c:1442 +msgid "Text Events..." +msgstr "เหตุการณ์ข้อความ..." + +#: src/fe-gtk/menu.c:1443 +msgid "URL Handlers..." +msgstr "ตัวจัดการURL..." + +#: src/fe-gtk/menu.c:1444 +msgid "User Commands..." +msgstr "คำสั่งผู้ใช้..." + +#: src/fe-gtk/menu.c:1445 +msgid "Userlist Buttons..." +msgstr "ปุ่มรายการผู้ใช้..." + +#: src/fe-gtk/menu.c:1446 +msgid "Userlist Popup..." +msgstr "ป๊อปอัพรายการผู้ใช้..." + +#: src/fe-gtk/menu.c:1449 +msgid "_Window" +msgstr "_หน้าต่าง" + +#: src/fe-gtk/menu.c:1450 +msgid "Ban List..." +msgstr "รายการแบน..." + +#: src/fe-gtk/menu.c:1451 +msgid "Channel List..." +msgstr "รายการแชนแนล..." + +#: src/fe-gtk/menu.c:1452 +msgid "Character Chart..." +msgstr "แผนผังตัวอักษร..." + +#: src/fe-gtk/menu.c:1453 +msgid "Direct Chat..." +msgstr "คุยเล่นโดยตรง..." + +#: src/fe-gtk/menu.c:1454 +msgid "File Transfers..." +msgstr "การโอนย้ายไฟล์..." + +#: src/fe-gtk/menu.c:1455 +msgid "Ignore List..." +msgstr "รายการเพิกเฉย..." + +#: src/fe-gtk/menu.c:1456 +msgid "Notify List..." +msgstr "รายการแจ้งเตือน..." + +#: src/fe-gtk/menu.c:1457 +msgid "Plugins and Scripts..." +msgstr "ปลั๊กอินและสคริป..." + +#: src/fe-gtk/menu.c:1458 +msgid "Raw Log..." +msgstr "ข้อมูลดิบบันทึกระบบ..." + +#: src/fe-gtk/menu.c:1459 +msgid "URL Grabber..." +msgstr "ตัวดักจับ URL..." + +#: src/fe-gtk/menu.c:1461 +msgid "Reset Marker Line" +msgstr "ตั้งค่าเส้นสัญลักษณ์ใหม่" + +#: src/fe-gtk/menu.c:1462 +msgid "C_lear Text" +msgstr "_ล้างข้อความ" + +#: src/fe-gtk/menu.c:1464 +msgid "Search Text..." +msgstr "ค้นหาข้อความ..." + +#: src/fe-gtk/menu.c:1465 +msgid "Save Text..." +msgstr "บันทึกข้อความ..." + +#: src/fe-gtk/menu.c:1467 src/fe-gtk/menu.c:1941 +msgid "_Help" +msgstr "_ช่วยเหลือ" + +#: src/fe-gtk/menu.c:1468 +msgid "_Contents" +msgstr "เ_นื้อหา" + +#: src/fe-gtk/menu.c:1469 +msgid "_About" +msgstr "เกี่ยว_กับ" + +#: src/fe-gtk/menu.c:1954 +msgid "_Attach Window" +msgstr "_ผูกติดหน้าต่าง" + +#: src/fe-gtk/menu.c:1955 +msgid "_Close Window" +msgstr "_ปิดหน้าต่าง" + +#: src/fe-gtk/notifygui.c:137 +msgid "User" +msgstr "ผู้ใช้" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "เห็นล่าสุด" + +#: src/fe-gtk/notifygui.c:181 +msgid "Offline" +msgstr "ออฟไลน์" + +#: src/fe-gtk/notifygui.c:201 src/fe-gtk/setup.c:229 +msgid "Never" +msgstr "ไม่เลย" + +#: src/fe-gtk/notifygui.c:204 src/fe-gtk/notifygui.c:229 +#, c-format +msgid "%d minutes ago" +msgstr "ผ่านมา %d นาทีแล้ว" + +#: src/fe-gtk/notifygui.c:219 +msgid "Online" +msgstr "ออนไลน์" + +#: src/fe-gtk/notifygui.c:348 +msgid "Enter nickname to add:" +msgstr "ป้อนชื่อเล่นที่จะเพิ่ม:" + +#: src/fe-gtk/notifygui.c:376 +msgid "Notify on these networks:" +msgstr "แจ้งเตือนบนเครือข่ายนี้" + +#: src/fe-gtk/notifygui.c:387 +msgid "Comma separated list of networks is accepted." +msgstr "ยอมรับรายการเครือข่ายที่แยกด้วยจุลภาค." + +#: src/fe-gtk/notifygui.c:407 +msgid "XChat: Notify List" +msgstr "XChat: รายการแจ้งเตือน" + +#: src/fe-gtk/notifygui.c:424 +msgid "Remove" +msgstr "ลบ" + +#: src/fe-gtk/notifygui.c:428 +msgid "Open Dialog" +msgstr "เปิดการสนทนา" + +#: src/fe-gtk/plugin-tray.c:163 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" +"ไม่พบ 'notify-send' เพื่อเปิดบอลลูนแจ้งเตือน.\n" +"กรุณาลง libnotify." + +#: src/fe-gtk/plugin-tray.c:214 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat: เชื่อมต่อไปยังเครือข่าย %u และแชนแนล %u " + +#: src/fe-gtk/plugin-tray.c:451 +msgid "_Restore" +msgstr "_คืนค่า" + +#: src/fe-gtk/plugin-tray.c:453 +msgid "_Hide" +msgstr "_ซ่อน" + +#: src/fe-gtk/plugin-tray.c:456 +msgid "_Blink on" +msgstr "เปิดการกระ_พริบ" + +#: src/fe-gtk/plugin-tray.c:457 src/fe-gtk/setup.c:467 +msgid "Channel Message" +msgstr "ข้อความของแชนแนล" + +#: src/fe-gtk/plugin-tray.c:458 src/fe-gtk/setup.c:468 +msgid "Private Message" +msgstr "ข้อความส่วนตัว" + +#: src/fe-gtk/plugin-tray.c:459 src/fe-gtk/setup.c:469 +msgid "Highlighted Message" +msgstr "ข้อความที่ถูกเน้น" + +#: src/fe-gtk/plugin-tray.c:507 src/fe-gtk/plugin-tray.c:515 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "XChat: ข้อความที่ถูกเน้นจาก: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:510 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat: %u ข้อความที่ถูกเน้น, ล่าสุดจาก: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:533 src/fe-gtk/plugin-tray.c:540 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat: ข้อความสาธารณะใหม่จาก: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:536 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat: %u ข้อความสาธารณะใหม่." + +#: src/fe-gtk/plugin-tray.c:562 src/fe-gtk/plugin-tray.c:569 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat: ข้อความส่วนตัวจาก: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:565 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat: %u ข้อความส่วนตัว, ล่าสุดจาก: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:615 src/fe-gtk/plugin-tray.c:623 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: เสนอไฟล์จาก: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:618 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "XChat: %u เสนอไฟล์, ล่าสุดจาก: %s (%s)" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "คำอธิบาย" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "เลือกปลั๊กอินหรือสคริปที่จะโหลด" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: ปลั๊กอินและสคริป" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "โห_ลด" + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "เ_ลิกโหลด" + +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "_ปิด" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:438 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "บันทึกเป็น..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: ข้อมูลดิบของบันทึกระบบ (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "ล้างข้อมูลดิบของบันทึกระบบ" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "หน้าต่างที่คุณเปิดการค้นหานี้ไม่ได้มีอะไรอยู่เลย." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "การค้นหาถึงส่วนท้าย, ไม่พบ." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: การค้นหา" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "ตัวเล็กใหญ่_ตรงกัน" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "ค้นหา_ย้อนกลับ" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "_ค้นหา" + +#: src/fe-gtk/servlistgui.c:170 src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "เครือข่ายใหม่" + +#: src/fe-gtk/servlistgui.c:554 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "จะลบ \"%s\" และเซิร์ฟเวอร์ทั้งหมดจริง ๆ หรือ?" + +#: src/fe-gtk/servlistgui.c:678 +msgid "User name and Real name cannot be left blank." +msgstr "ชื่อผู้ใช้และชื่อจริงไม่สามารที่จะปล่อยว่างได้" + +#: src/fe-gtk/servlistgui.c:978 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: แก้ไข %s" + +#: src/fe-gtk/servlistgui.c:997 +#, c-format +msgid "Servers for %s" +msgstr "เซิร์ฟเวอร์สำหรับ %s" + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Connect to selected server only" +msgstr "เชื่อมต่อไปยังเซิร์ฟเวอร์ที่เลือกเท่านั้น" + +#: src/fe-gtk/servlistgui.c:1009 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "ไม่ต้องวนไปยังทุกเซิร์ฟเวอร์เมื่อการเชื่อมต่อล้มเหลว." + +#: src/fe-gtk/servlistgui.c:1011 +msgid "Your Details" +msgstr "รายละเอียดของคุณ" + +#: src/fe-gtk/servlistgui.c:1017 +msgid "Use global user information" +msgstr "ใช้ข้อมูลโดยรวมของผู้ใช้" + +#: src/fe-gtk/servlistgui.c:1020 src/fe-gtk/servlistgui.c:1252 +msgid "_Nick name:" +msgstr "_ชื่อเล่น:" + +#: src/fe-gtk/servlistgui.c:1024 src/fe-gtk/servlistgui.c:1259 +msgid "Second choice:" +msgstr "ตัวเลือกอันดับสอง:" + +#: src/fe-gtk/servlistgui.c:1028 src/fe-gtk/servlistgui.c:1273 +msgid "_User name:" +msgstr "_ชื่อผู้ใช้:" + +#: src/fe-gtk/servlistgui.c:1032 src/fe-gtk/servlistgui.c:1280 +msgid "Rea_l name:" +msgstr "ชื่อ_จริง:" + +#: src/fe-gtk/servlistgui.c:1035 +msgid "Connecting" +msgstr "การเชื่อมต่อ" + +#: src/fe-gtk/servlistgui.c:1041 +msgid "Auto connect to this network at startup" +msgstr "เชื่อมต่อไปยังเครือข่ายนี้อัตโนมัติเมื่อเปิดโปรแกรม" + +#: src/fe-gtk/servlistgui.c:1043 +msgid "Use a proxy server" +msgstr "ใช้เซิร์ฟเวอร์พร็อกซี่" + +#: src/fe-gtk/servlistgui.c:1045 +msgid "Use SSL for all the servers on this network" +msgstr "ใช้ SSL สำหรับทุกเซิร์ฟเวอร์บนเครือข่ายนี้" + +#: src/fe-gtk/servlistgui.c:1050 +msgid "Accept invalid SSL certificate" +msgstr "ไดั้รับหนังสือรับรอง SSL ที่ไม่ถูกต้อง" + +#: src/fe-gtk/servlistgui.c:1056 +msgid "C_hannels to join:" +msgstr "_แชนแนลที่จะเข้าร่วม:" + +#: src/fe-gtk/servlistgui.c:1058 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "แชนแนลที่จะเข้าร่วม, แยกด้วยจุลภาค, แต่ไม่ใช่ด้วยการเว้นว่าง!" + +#: src/fe-gtk/servlistgui.c:1061 +msgid "Connect command:" +msgstr "คำสั่งเชื่อมต่อ:" + +#: src/fe-gtk/servlistgui.c:1063 +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 "คำสั่งเพิ่มเติมที่จะเรียกให้ทำหลังจากทำการเชื่อมต่อ. ถ้าคุณต้องการมากกว่าหนึ่ง, ตั้งค่านี้ LOAD -e <ชื่อไฟล์>, เมื่อ <ชื่อไฟล์> คือไฟล์ข้อความที่เก็บคำสั่งต่าง ๆ ที่จะเรียกให้ทำงานเอาไว้" + +#: src/fe-gtk/servlistgui.c:1066 +msgid "Nickserv password:" +msgstr "รหัสผ่านเซิร์ฟเวอร์ชื่อเล่น:" + +#: src/fe-gtk/servlistgui.c:1068 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "ถ้าชื่อเล่นของคุณต้องการรัสผ่าน, ป้อนมันที่นี่. ไม่ใช่ทุกเครือข่าย IRC ที่สนับสนุน." + +#: src/fe-gtk/servlistgui.c:1072 +msgid "Server password:" +msgstr "รหัสผ่านเซิร์ฟเวอร์:" + +#: src/fe-gtk/servlistgui.c:1074 +msgid "Password for the server, if in doubt, leave blank." +msgstr "รหัสผ่านสำหรับเซิร์ฟเวอร์, ถ้าไม่เน่ใจ, ปล่อยว่างไว้." + +#: src/fe-gtk/servlistgui.c:1077 +msgid "Character set:" +msgstr "ชุดอักขระ:" + +#: src/fe-gtk/servlistgui.c:1147 +msgid "_Edit" +msgstr "แก้ไ_ข" + +#: src/fe-gtk/servlistgui.c:1230 +msgid "XChat: Network List" +msgstr "XChat: รายการเครือข่าย" + +#: src/fe-gtk/servlistgui.c:1242 +msgid "User Information" +msgstr "รายละเอียดผู้ใช้" + +#: src/fe-gtk/servlistgui.c:1266 +msgid "Third choice:" +msgstr "ตัวเลือกอันดับสาม:" + +#: src/fe-gtk/servlistgui.c:1326 +msgid "Networks" +msgstr "เครือข่าย" + +#: src/fe-gtk/servlistgui.c:1367 +msgid "Skip network list on startup" +msgstr "ข้ามรายชื่อเครือข่ายตอนเปิดโปรแกรม" + +#: src/fe-gtk/servlistgui.c:1399 +msgid "_Edit..." +msgstr "แก้ไ_ข..." + +#: src/fe-gtk/servlistgui.c:1406 +msgid "_Sort" +msgstr "เ_รียงลำดับ" + +#: src/fe-gtk/servlistgui.c:1407 +msgid "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN keys to move a row." +msgstr "เรียงรายชื่อเครือข่ายตามตัวอักษร. ใช้ปุ่ม SHIFT-UP และ SHIFT-DOWN เพื่อที่จะเคลื่อนแถว." + +#: src/fe-gtk/servlistgui.c:1432 +msgid "C_onnect" +msgstr "เ_ชื่อมต่อ" + +#: src/fe-gtk/setup.c:102 +msgid "Text Box Appearance" +msgstr "การแสดงกล่องข้อความ" + +#: src/fe-gtk/setup.c:103 +msgid "Font:" +msgstr "ฟอนต์:" + +#: src/fe-gtk/setup.c:104 +msgid "Background image:" +msgstr "รูปพื้นหลัง:" + +#: src/fe-gtk/setup.c:105 +msgid "Scrollback lines:" +msgstr "เส้นเลื่อนกลับ:" + +#: src/fe-gtk/setup.c:106 +msgid "Colored nick names" +msgstr "ใช้ชื่อเล่นเป็นสี" + +#: src/fe-gtk/setup.c:107 +msgid "Give each person on IRC a different color" +msgstr "ให้แต่ละคนบน IRC มีสีต่างกัน" + +#: src/fe-gtk/setup.c:108 +msgid "Indent nick names" +msgstr "ย่อหน้าชื่อเล่น" + +#: src/fe-gtk/setup.c:109 +msgid "Make nick names right-justified" +msgstr "ตั้งชื่อเล่นให้ชิดขวา" + +#: src/fe-gtk/setup.c:110 +msgid "Transparent background" +msgstr "ทำการโปร่งใสพื้นหลัง" + +#: src/fe-gtk/setup.c:111 +msgid "Show marker line" +msgstr "แสดงเส้นลัญลักษณ์" + +#: src/fe-gtk/setup.c:112 +msgid "Insert a red line after the last read text." +msgstr "ใส่เส้นสีแดงหลังจากข้อความล่าสุดที่อ่าน." + +#: src/fe-gtk/setup.c:113 +msgid "Transparency Settings" +msgstr "ตั้งค่าความโปร่งใส" + +#: src/fe-gtk/setup.c:114 +msgid "Red:" +msgstr "สีแดง:" + +#: src/fe-gtk/setup.c:115 +msgid "Green:" +msgstr "สีเขียว:" + +#: src/fe-gtk/setup.c:116 +msgid "Blue:" +msgstr "สีน้ำเงิน:" + +#: src/fe-gtk/setup.c:118 src/fe-gtk/setup.c:379 +msgid "Time Stamps" +msgstr "การประทับเวลา" + +#: src/fe-gtk/setup.c:119 +msgid "Enable time stamps" +msgstr "เปิดการประทับเวลา" + +#: src/fe-gtk/setup.c:120 +msgid "Time stamp format:" +msgstr "รูปแบบการประทับเวลา" + +#: src/fe-gtk/setup.c:121 src/fe-gtk/setup.c:382 +msgid "See strftime manpage for details." +msgstr "ดู manpage ของ strftime สำหรับรายละเอียด." + +#: src/fe-gtk/setup.c:128 src/fe-gtk/setup.c:168 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:129 +msgid "Last-spoke order" +msgstr "อันดับการพูดคุยล่าสุด" + +#: src/fe-gtk/setup.c:135 src/fe-gtk/setup.c:1657 +msgid "Input box" +msgstr "กล่องรับข้อมูล" + +#: src/fe-gtk/setup.c:136 src/fe-gtk/setup.c:200 +msgid "Use the Text box font and colors" +msgstr "ใช้กล่องแถบฟอนต์และสี" + +#: src/fe-gtk/setup.c:138 +msgid "Spell checking" +msgstr "ตรวจสอบการสะกด" + +#: src/fe-gtk/setup.c:141 +msgid "Nick Completion" +msgstr "การเติมเต็มชื่อเล่น" + +#: src/fe-gtk/setup.c:142 +msgid "Automatic nick completion (without TAB key)" +msgstr "เติมเต็มชื่อเล่นโดยอัตโนมัติ (โดยไม่มีคีย์ TAB)" + +#: src/fe-gtk/setup.c:144 +msgid "Nick completion suffix:" +msgstr "ส่วนต่อท้ายการเติมเต็มชื่อเล่น" + +#: src/fe-gtk/setup.c:145 +msgid "Nick completion sorted:" +msgstr "การลำดับการเติมเต็มชื่อเล่น" + +#: src/fe-gtk/setup.c:148 +msgid "Input Box Codes" +msgstr "รหัสกล่องรับข้อมูล" + +#: src/fe-gtk/setup.c:149 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "แปลง %nnn เป็นค่า ASCII" + +#: src/fe-gtk/setup.c:150 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "แปลง %C, %B เป็นสี, ตัวหนา และอื่น ๆ" + +#: src/fe-gtk/setup.c:167 +msgid "A-Z, Ops first" +msgstr "A-Z, Ops ก่อน" + +#: src/fe-gtk/setup.c:169 +msgid "Z-A, Ops last" +msgstr "Z-A, Ops ทีหลัง" + +#: src/fe-gtk/setup.c:170 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:171 +msgid "Unsorted" +msgstr "ไม่เรียง" + +#: src/fe-gtk/setup.c:177 src/fe-gtk/setup.c:189 +msgid "Left (Upper)" +msgstr "ซ้าย(ด้านบน)" + +#: src/fe-gtk/setup.c:178 src/fe-gtk/setup.c:190 +msgid "Left (Lower)" +msgstr "ซ้าย(ด้านล่าง)" + +#: src/fe-gtk/setup.c:179 src/fe-gtk/setup.c:191 +msgid "Right (Upper)" +msgstr "ขวา(ด้านบน)" + +#: src/fe-gtk/setup.c:180 src/fe-gtk/setup.c:192 +msgid "Right (Lower)" +msgstr "ขวา(ด้านล่าง)" + +#: src/fe-gtk/setup.c:181 +msgid "Top" +msgstr "บน" + +#: src/fe-gtk/setup.c:182 +msgid "Bottom" +msgstr "ล่าง" + +#: src/fe-gtk/setup.c:183 +msgid "Hidden" +msgstr "ซ่อน" + +#: src/fe-gtk/setup.c:198 +msgid "User List" +msgstr "รายชื่อผู้ใช้" + +#: src/fe-gtk/setup.c:199 +msgid "Show hostnames in user list" +msgstr "แสดงชื่อโฮสต์ในรายชื่อผู้ใช้" + +#: src/fe-gtk/setup.c:202 +msgid "User list sorted by:" +msgstr "เรียงรายชื่อผู้ใช้ด้วย:" + +#: src/fe-gtk/setup.c:203 +msgid "Show user list at:" +msgstr "แสดงรายชื่อผู้ใช้ที่:" + +#: src/fe-gtk/setup.c:205 +msgid "Away tracking" +msgstr "ติดตามการไม่อยู่" + +#: src/fe-gtk/setup.c:206 +msgid "Track the Away status of users and mark them in a different color" +msgstr "ติดตามสถานะไม่อยู่ของผู้ใช้และทำเครื่องหมายพวกเขาในสีที่แตกต่างกัน" + +#: src/fe-gtk/setup.c:207 +msgid "On channels smaller than:" +msgstr "ในแชนแนลที่เล็กกว่า:" + +#: src/fe-gtk/setup.c:209 +msgid "Action Upon Double Click" +msgstr "ปฏิบัติการเมื่อดับเบิ้ลคลิก" + +#: src/fe-gtk/setup.c:210 +msgid "Execute command:" +msgstr "กระทำคำสั่ง:" + +#: src/fe-gtk/setup.c:221 +msgid "Windows" +msgstr "หน้าต่าง" + +#: src/fe-gtk/setup.c:222 +msgid "Tabs" +msgstr "แท็บ" + +#: src/fe-gtk/setup.c:230 +msgid "Always" +msgstr "ตลอดเวลา" + +#: src/fe-gtk/setup.c:231 +msgid "Only requested tabs" +msgstr "แท็บที่ร้องขอเท่านั้น" + +#: src/fe-gtk/setup.c:238 +msgid "Channel Switcher" +msgstr "ตัวสวิตช์แชนแนล" + +#: src/fe-gtk/setup.c:239 +msgid "Open an extra tab for server messages" +msgstr "เปิดแท็บพิเศษสำหรับข้อความจากเซิร์ฟเวอร์" + +#: src/fe-gtk/setup.c:240 +msgid "Open an extra tab for server notices" +msgstr "เปิดแท็บพิเศษสำหรับการประกาศจากเซิร์ฟเวอร์" + +#: src/fe-gtk/setup.c:241 +msgid "Open a new tab when you receive a private message" +msgstr "เปิดแท็บใหม่เมื่อคุณได้รับข้อความส่วนตัว" + +#: src/fe-gtk/setup.c:242 +msgid "Sort tabs in alphabetical order" +msgstr "เรียงแท็บตามตัวอักษร" + +#: src/fe-gtk/setup.c:243 +msgid "Small tabs" +msgstr "แท็บเล็ก" + +#: src/fe-gtk/setup.c:245 +msgid "Focus new tabs:" +msgstr "ให้ความสนใจแท็บใหม่:" + +#: src/fe-gtk/setup.c:247 +msgid "Show channel switcher at:" +msgstr "แสดงตัวสวิตช์แชนแนลที่:" + +#: src/fe-gtk/setup.c:248 +msgid "Shorten tab labels to:" +msgstr "ย่อป้ายชื่อแท็บเป็น:" + +#: src/fe-gtk/setup.c:248 +msgid "letters." +msgstr "ต้วหนังสือ." + +#: src/fe-gtk/setup.c:250 +msgid "Tabs or Windows" +msgstr "แท็บหรือหน้าต่าง" + +#: src/fe-gtk/setup.c:251 +msgid "Open channels in:" +msgstr "เปิดแชนแนลใน:" + +#: src/fe-gtk/setup.c:252 +msgid "Open dialogs in:" +msgstr "เปิดหน้าต่างสนทนาใน:" + +#: src/fe-gtk/setup.c:253 +msgid "Open utilities in:" +msgstr "เปิดส่วนอรรถประโยชน์ใน:" + +#: src/fe-gtk/setup.c:253 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "เปิด DDC, การเพิกเฉย, การแจ้งเตือน อื่น ๆ, ในแท็บหรือหน้าต่าง?" + +#: src/fe-gtk/setup.c:260 +msgid "No" +msgstr "ไม่" + +#: src/fe-gtk/setup.c:261 +msgid "Yes" +msgstr "ใช่" + +#: src/fe-gtk/setup.c:262 +msgid "Browse for save folder every time" +msgstr "มองหาโฟลเดอร์ที่บันทึกทุกครั้ง" + +#: src/fe-gtk/setup.c:268 +msgid "Files and Directories" +msgstr "ไฟล์และไดเร็กทอรี่" + +#: src/fe-gtk/setup.c:269 +msgid "Auto accept file offers:" +msgstr "ยอมรับไฟล์ที่ได้รับการเสนอให้อัตโนมัติ:" + +#: src/fe-gtk/setup.c:270 +msgid "Download files to:" +msgstr "ดาวน์โหลดไฟล์ไปยัง:" + +#: src/fe-gtk/setup.c:271 +msgid "Move completed files to:" +msgstr "ย้ายไฟล์ที่เสร็จแล้วไปที่:" + +#: src/fe-gtk/setup.c:272 +msgid "Save nick name in filenames" +msgstr "บันทึกชื่อเล่นในชื่อไฟล์" + +#: src/fe-gtk/setup.c:274 +msgid "Network Settings" +msgstr "ตั้งค่าเครือข่าย" + +#: src/fe-gtk/setup.c:275 +msgid "Get my address from the IRC server" +msgstr "รับที่อยู่ของฉันจากเซิร์ฟเวอร์ IRC" + +#: src/fe-gtk/setup.c:276 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "ร้องขอเซิร์ฟเวอร์ IRC ด้วยที่อยู่จริงของคุณ. ใช้นี่ถ้าคุณมีที่อยู่เป็น 192.168.*.* !" + +#: src/fe-gtk/setup.c:277 +msgid "DCC IP address:" +msgstr "ที่อยู่ไปพีของ DDC:" + +#: src/fe-gtk/setup.c:278 +msgid "Claim you are at this address when offering files." +msgstr "อ้างถึงคุณด้วยที่อยู่นี้เมื่อทำการเสนอไฟล์." + +#: src/fe-gtk/setup.c:279 +msgid "First DCC send port:" +msgstr "พอร์ตสำหรับส่ง DCC แรก:" + +#: src/fe-gtk/setup.c:280 +msgid "Last DCC send port:" +msgstr "พอร์ตสำหรับส่ง DCC สุดท้าย:" + +#: src/fe-gtk/setup.c:281 +msgid "!Leave ports at zero for full range." +msgstr "!ปล่อยพอร์ตไว้ที่ศูนย์สำหรับขอบเขตทั้งหมด." + +#: src/fe-gtk/setup.c:283 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "ความเร็วการขนส่งไฟล์สูงสุด (ไบต์ต่อวินาที)" + +#: src/fe-gtk/setup.c:284 +msgid "One upload:" +msgstr "การอัพโหลดหนึ่งๆ:" + +#: src/fe-gtk/setup.c:285 src/fe-gtk/setup.c:287 +msgid "Maximum speed for one transfer" +msgstr "ใช้ความเร็วสูงสุดสำหรับการขนย้ายไฟล์หนึ่ง ๆ" + +#: src/fe-gtk/setup.c:286 +msgid "One download:" +msgstr "การดาวน์โหลดหนึ่งๆ:" + +#: src/fe-gtk/setup.c:288 +msgid "All uploads combined:" +msgstr "รวมการอัพโหลดทั้งหมด:" + +#: src/fe-gtk/setup.c:289 src/fe-gtk/setup.c:291 +msgid "Maximum speed for all files" +msgstr "ใช้ความเร็วสูงสุดสำหรับทุกไฟล์" + +#: src/fe-gtk/setup.c:290 +msgid "All downloads combined:" +msgstr "รวมการดาวน์โหลดทั้งหมด:" + +#: src/fe-gtk/setup.c:318 src/fe-gtk/setup.c:1663 +msgid "Alerts" +msgstr "การแจ้งเตือน" + +#: src/fe-gtk/setup.c:322 +msgid "Show tray balloons on:" +msgstr "เปิดการแสดงถาดบอลลูน:" + +#: src/fe-gtk/setup.c:324 +msgid "Blink tray icon on:" +msgstr "เปิดการกระพริบถาดไอคอน:" + +#: src/fe-gtk/setup.c:325 +msgid "Blink task bar on:" +msgstr "เปิดการกระพริบแถบงาน:" + +#: src/fe-gtk/setup.c:326 +msgid "Make a beep sound on:" +msgstr "เปิดเสียงบี๊บ:" + +#: src/fe-gtk/setup.c:328 +msgid "Enable system tray icon" +msgstr "เปิดใช้ถามไอคอนของระบบ" + +#: src/fe-gtk/setup.c:330 +msgid "Highlighted Messages" +msgstr "ข้อความที่ถูกเน้น" + +#: src/fe-gtk/setup.c:331 +msgid "Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "ข้อความที่ถูกเน้นเป็นสิ่งที่ชื่อเล่นของคุณกล่าวถึง, ยิ่งกว่านั้น:" + +#: src/fe-gtk/setup.c:333 +msgid "Extra words to highlight:" +msgstr "คำพิเศษสำหรับเน้น:" + +#: src/fe-gtk/setup.c:334 +msgid "Nick names not to highlight:" +msgstr "ไม่เน้นชื่อเล่น:" + +#: src/fe-gtk/setup.c:335 +msgid "Nick names to always highlight:" +msgstr "ชื่อเล่นสำหรับเน้นเสมอ:" + +#: src/fe-gtk/setup.c:336 +msgid "Separate multiple words with commas." +msgstr "แยกคำหลาย ๆ คำด้วยจุลภาค." + +#: src/fe-gtk/setup.c:342 +msgid "Default Messages" +msgstr "ข้อความมาตรฐาน" + +#: src/fe-gtk/setup.c:343 +msgid "Quit:" +msgstr "ออก:" + +#: src/fe-gtk/setup.c:344 +msgid "Leave channel:" +msgstr "ออกจากแชนแนล:" + +#: src/fe-gtk/setup.c:345 +msgid "Away:" +msgstr "ไม่อยู่:" + +#: src/fe-gtk/setup.c:347 +msgid "Away" +msgstr "ไม่อยู่" + +#: src/fe-gtk/setup.c:348 +msgid "Announce away messages" +msgstr "แจ้งข้อความไม่อยู่" + +#: src/fe-gtk/setup.c:349 +msgid "Announce your away messages to all channels" +msgstr "แจ้งข้อความไม่อยู่ของคุณไปยังทุกแชนแนล" + +#: src/fe-gtk/setup.c:350 +msgid "Show away once" +msgstr "แสดงสถานะไม่อยู่ครั้งเดียว" + +#: src/fe-gtk/setup.c:350 +msgid "Show identical away messages only once" +msgstr "แสดงข้อความไม่อยู่อย่างเดียวกันเพียงครั้งเดียว" + +#: src/fe-gtk/setup.c:351 +msgid "Automatically unmark away" +msgstr "เลิกทำเครื่องหมายว่าไม่อยู่โดยอัตโนมัติ" + +#: src/fe-gtk/setup.c:351 +msgid "Unmark yourself as away before sending messages" +msgstr "เลิกทำเครื่องหมายคุณเองเป็นไม่อยู่ก่อนที่จะส่งข้อความ" + +#: src/fe-gtk/setup.c:358 +msgid "Advanced Settings" +msgstr "ตั้งค่าขั้นสูง" + +#: src/fe-gtk/setup.c:359 +msgid "Auto reconnect delay:" +msgstr "เวลาหน่วงในการเชื่อมต่ออีกครั้งอัตโนมัติ:" + +#: src/fe-gtk/setup.c:360 +msgid "Display MODEs in raw form" +msgstr "แสดงโหมดในรูปแบบข้อมูลดิบ" + +#: src/fe-gtk/setup.c:361 +msgid "Whois on notify" +msgstr "Whois เมื่อมีการแจ้งเตือน" + +#: src/fe-gtk/setup.c:361 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "ส่ง /WHOIS เมื่อผู้ใช้ในรายชื่อแจ้งเตือนได้ออนไลน์" + +#: src/fe-gtk/setup.c:362 +msgid "Hide join and part messages" +msgstr "ซ่อนแชนแนลเข้าร่วม/ส่วนข้อความ" + +#: src/fe-gtk/setup.c:362 +msgid "Hide channel join/part messages by default" +msgstr "ซ่อนแชนแนลเข้าร่วม/ส่วนข้อความโดยอัตโนมัติ" + +#: src/fe-gtk/setup.c:363 +msgid "Auto Open DCC Windows" +msgstr "เปิดหน้าต่าง DCC โดยอัตโนมัติ" + +#: src/fe-gtk/setup.c:364 +msgid "Send window" +msgstr "หน้าต่างส่ง" + +#: src/fe-gtk/setup.c:365 +msgid "Receive window" +msgstr "หน้าต่างรับ" + +#: src/fe-gtk/setup.c:366 +msgid "Chat window" +msgstr "หน้าต่างคุยเล่น" + +#: src/fe-gtk/setup.c:374 src/fe-gtk/setup.c:1665 +msgid "Logging" +msgstr "การบันทึกของระบบ" + +#: src/fe-gtk/setup.c:375 +msgid "Enable logging of conversations" +msgstr "เปิดการบันทึกของการพูดคุย" + +#: src/fe-gtk/setup.c:376 +msgid "Log filename:" +msgstr "ชื่อไฟล์บันทึกระบบ:" + +#: src/fe-gtk/setup.c:377 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=เซิร์ฟเวอร์ %c=แชนแนล %n=เครือข่าย." + +#: src/fe-gtk/setup.c:380 +msgid "Insert timestamps in logs" +msgstr "ใส่กี่ประทับเวลาในบันทึกระบบ" + +#: src/fe-gtk/setup.c:381 +msgid "Log timestamp format:" +msgstr "รูปแบบประทับเวลาของบันทึกระบบ:" + +#: src/fe-gtk/setup.c:389 +msgid "(Disabled)" +msgstr "(ปิดการทำงาน)" + +#: src/fe-gtk/setup.c:390 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:391 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:392 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:393 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:395 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: src/fe-gtk/setup.c:402 +msgid "All Connections" +msgstr "ทุกการเชื่อมต่อ" + +#: src/fe-gtk/setup.c:403 +msgid "IRC Server Only" +msgstr "เซิร์ฟเวอร์ IRC เท่านั้น" + +#: src/fe-gtk/setup.c:404 +msgid "DCC Get Only" +msgstr "DCC Get เท่านั้น" + +#: src/fe-gtk/setup.c:410 +msgid "Your Address" +msgstr "ที่อยู่ของคุณ" + +#: src/fe-gtk/setup.c:411 +msgid "Bind to:" +msgstr "ผูกติดไปเป็น:" + +#: src/fe-gtk/setup.c:412 +msgid "Only useful for computers with multiple addresses." +msgstr "มีประโยชน์กับคอมพิวเตอร์ที่มีหลายที่อยู่เท่านั้น" + +#: src/fe-gtk/setup.c:414 +msgid "Proxy Server" +msgstr "เซิร์ฟเวอร์พร็อกซี่" + +#: src/fe-gtk/setup.c:415 +msgid "Hostname:" +msgstr "ชื่อโฮต์:" + +#: src/fe-gtk/setup.c:416 +msgid "Port:" +msgstr "พอร์ต:" + +#: src/fe-gtk/setup.c:417 +msgid "Type:" +msgstr "ชนิด:" + +#: src/fe-gtk/setup.c:418 +msgid "Use proxy for:" +msgstr "ใช้พร็อกซี่สำหรับ:" + +#: src/fe-gtk/setup.c:420 +msgid "Proxy Authentication" +msgstr "การรับรองพร็อกซี่" + +#: src/fe-gtk/setup.c:422 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "ใช้การรับรอง (MS Proxy, HTTP หรือ Socks5 เท่านั้น)" + +#: src/fe-gtk/setup.c:424 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "ใช้การรับรอง (HTTP หรือ Socks5 เท่านั้น)" + +#: src/fe-gtk/setup.c:426 +msgid "Username:" +msgstr "ชื่อผู้ใช้:" + +#: src/fe-gtk/setup.c:427 +msgid "Password:" +msgstr "รหัสผ่าน:" + +#: src/fe-gtk/setup.c:838 +msgid "Select an Image File" +msgstr "เลือกไฟล์ภาพ" + +#: src/fe-gtk/setup.c:862 +msgid "Select Download Folder" +msgstr "เลือกโฟลเดอร์ดาวน์โหลด" + +#: src/fe-gtk/setup.c:871 +msgid "Select font" +msgstr "เลือกฟอนต์" + +#: src/fe-gtk/setup.c:968 +msgid "Browse..." +msgstr "มองหา..." + +#: src/fe-gtk/setup.c:1108 +msgid "Mark identified users with:" +msgstr "ทำเครื่องหมายผู้ใช้ที่สามารถระบุตัวบุคคลได้ด้วย:" + +#: src/fe-gtk/setup.c:1110 +msgid "Mark not-identified users with:" +msgstr "ทำเครื่องหมายผู้ใช้ที่ไม่สามารถระบุตัวบุคคลได้ด้วย:" + +#: src/fe-gtk/setup.c:1117 +msgid "Open Data Folder" +msgstr "เปิดโฟลเดอร์ข้อมูล" + +#: src/fe-gtk/setup.c:1171 +msgid "Select color" +msgstr "เลือกสี" + +#: src/fe-gtk/setup.c:1251 +msgid "Text Colors" +msgstr "สีข้อความ" + +#: src/fe-gtk/setup.c:1253 +msgid "mIRC colors:" +msgstr "สี mIRC:" + +#: src/fe-gtk/setup.c:1261 +msgid "Local colors:" +msgstr "สีท้องถิ่น:" + +#: src/fe-gtk/setup.c:1269 src/fe-gtk/setup.c:1274 +msgid "Foreground:" +msgstr "พื้นหน้า:" + +#: src/fe-gtk/setup.c:1270 src/fe-gtk/setup.c:1275 +msgid "Background:" +msgstr "พื้นหลัง:" + +#: src/fe-gtk/setup.c:1272 +msgid "Marking Text" +msgstr "ข้อความที่ทำเครื่องหมาย" + +#: src/fe-gtk/setup.c:1277 +msgid "Interface Colors" +msgstr "ส่วนเชื่อมต่อผู้ใช้" + +#: src/fe-gtk/setup.c:1279 +msgid "New data:" +msgstr "ข้อมูลใหม่" + +#: src/fe-gtk/setup.c:1280 +msgid "Marker line:" +msgstr "เส้นสัญลักษณ์:" + +#: src/fe-gtk/setup.c:1281 +msgid "New message:" +msgstr "ข้อความใหม่" + +#: src/fe-gtk/setup.c:1282 +msgid "Away user:" +msgstr "ผู้ใช้ที่ไม่อยู่" + +#: src/fe-gtk/setup.c:1283 +msgid "Highlight:" +msgstr "การเน้น:" + +#: src/fe-gtk/setup.c:1379 src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "เหตุการณ์" + +#: src/fe-gtk/setup.c:1385 +msgid "Sound file" +msgstr "ไฟล์เสียง" + +#: src/fe-gtk/setup.c:1420 +msgid "Select a sound file" +msgstr "เลือกไฟล์เสียง" + +#: src/fe-gtk/setup.c:1492 +msgid "Sound playing method:" +msgstr "วิธีการเล่นเสียง:" + +#: src/fe-gtk/setup.c:1500 +msgid "External sound playing _program:" +msgstr "โปรแกรมเล่นเสียงภาย_นอก" + +#: src/fe-gtk/setup.c:1518 +msgid "_External program" +msgstr "โ_ปรแกรมภายนอก" + +#: src/fe-gtk/setup.c:1528 +msgid "_Automatic" +msgstr "_อัตโนมัติ" + +#: src/fe-gtk/setup.c:1541 +msgid "Sound files _directory:" +msgstr "ไ_ดเร็กทอรี่ไฟล์เสียง" + +#: src/fe-gtk/setup.c:1580 +msgid "Sound file:" +msgstr "ไฟล์เสียง" + +#: src/fe-gtk/setup.c:1595 +msgid "_Browse..." +msgstr "มอ_งหา..." + +#: src/fe-gtk/setup.c:1606 +msgid "_Play" +msgstr "เล่_น" + +#: src/fe-gtk/setup.c:1655 +msgid "Interface" +msgstr "ส่วนเชื่อมต่อผู้ใช้" + +#: src/fe-gtk/setup.c:1656 +msgid "Text box" +msgstr "กล่องข้อความ" + +#: src/fe-gtk/setup.c:1658 +msgid "User list" +msgstr "รายการผู้ใช้" + +#: src/fe-gtk/setup.c:1659 +msgid "Channel switcher" +msgstr "สวิตช์เปลี่ยนแชนแนล" + +#: src/fe-gtk/setup.c:1660 +msgid "Colors" +msgstr "สี" + +#: src/fe-gtk/setup.c:1662 +msgid "Chatting" +msgstr "การคุยเล่น" + +#: src/fe-gtk/setup.c:1664 +msgid "General" +msgstr "ทั่วไป" + +#: src/fe-gtk/setup.c:1666 +msgid "Sound" +msgstr "เสียง" + +#: src/fe-gtk/setup.c:1670 +msgid "Network setup" +msgstr "ตั้งค่าเครือข่าย" + +#: src/fe-gtk/setup.c:1671 +msgid "File transfers" +msgstr "การส่งไฟล์" + +#: src/fe-gtk/setup.c:1779 +msgid "Categories" +msgstr "หมวดหมู่" + +#: src/fe-gtk/setup.c:1960 +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 "" +"คุณไม่สามารถวางแผนภูมิต้นไม้บนส่วนบนหรือส่วนล่าง!\n" +"กรุณาเปลี่ยนเป็นแผนผังแบบ <b>แท็บ</b> ในเมนู <b>มุมมอง</b> เป็นอันดับแรก." + +#: src/fe-gtk/setup.c:1970 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "การตั้งค่าบางอย่างที่ถูกเปลี่ยน ต้องการที่จะเริ่มใหม่เพื่อให้เป็นผล." + +#: src/fe-gtk/setup.c:1978 +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 "" +"*คำเตือน*\n" +"การรับ DCC อัตโนมัติไปยังไดเร็กทอรีบ้านของคุณ\n" +"อาจจะอันตรายและสร้างความเสียหายได้. เช่น:\n" +"บางคนอาจจะสามารถส่ง .bash_profile" + +#: src/fe-gtk/setup.c:2011 +msgid "XChat: Preferences" +msgstr "XChat: ปรับแต่งค่า" + +#: src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "มีข้อผิดพลากในการวิเคราะห์สตริง" + +#: src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "สัญญาณนี้ต้องส่ง %d อาร์กิวเมนต์เท่านั้น, $%d ไม่ถูกต้อง" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "พิมพ์ไฟล์ข้อความ" + +#: src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "แก้ไขเหตุการณ์" + +#: src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$ ตัวเลข" + +#: src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "โหลดจาก..." + +#: src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "ทดสอบทั้งหมด" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: ตัวดักจับ URL" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "ล้างรายการ" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "คัดลอก URL ที่เลือก" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "คัดลอก" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "บันทึกรายการเป็นไฟล์" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d ทั้งหมด" diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 00000000..e4c13f5e --- /dev/null +++ b/po/uk.po @@ -0,0 +1,5871 @@ +# Ukrainian translation to xchat +# Copyright (C) 2004 Free Software Foundation, Inc +# This file is distributed under the same license as the xchat package. +# Maxim Dubovoy <max@mylinux.com.ua>, 2003 +# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007 +# Oleksandr Kunytsia <xakep@snark.ukma.kiev.ua>, 2004 +# Sergey Tereschenko <serg.partizan@gmail.com>, 2009 +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.8.6\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2008-06-12 18:39+1000\n" +"PO-Revision-Date: 2009-10-17 13:32+0300\n" +"Last-Translator: Sergey Tereschenko <serg.partizan@gmail.com>\n" +"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "Не вдалося створити ~/.xchat2" + +#: src/common/cfgfiles.c:711 +msgid "I'm busy" +msgstr "Я зайнятий" + +#: src/common/cfgfiles.c:712 +msgid "Leaving" +msgstr "Залишаю" + +#: src/common/cfgfiles.c:759 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* Запускати IRC як root це тупо! Краще додати\n" +" звичайного користувача і входити ним в систему.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Очікування" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Активний" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Помилка" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Виконано" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:928 +msgid "Connect" +msgstr "З'єднання" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Припинено" + +#: src/common/dcc.c:1886 src/common/outbound.c:2451 +#, c-format +msgid "Cannot access %s\n" +msgstr "Немає доступу до %s\n" + +#: src/common/dcc.c:1887 src/common/text.c:1224 src/common/text.c:1262 +#: src/common/text.c:1273 src/common/text.c:1280 src/common/text.c:1293 +#: src/common/text.c:1310 src/common/text.c:1410 src/common/util.c:353 +msgid "Error" +msgstr "Помилка" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s пропонує \"%s\". Прийняти?" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "Немає активних каналів даних (DCC)\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "ТАК " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "НІ " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "You are being CTCP flooded from %s, ignoring %s\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" + +#: src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s онлайн\n" + +#: src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s офлайн\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Не зайшли на канал. Спробуйте /join #<канал>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Не підключено. Спробуйте /server <вузол> [<порт>]\n" + +#: src/common/outbound.c:338 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Вже позначений як \"відсутній\": %s\n" + +#: src/common/outbound.c:411 +msgid "Already marked back.\n" +msgstr "Вже позначений як \"повернувся\": %s\n" + +#: src/common/outbound.c:1777 +msgid "I need /bin/sh to run!\n" +msgstr "Для запуску необхідна програма /bin/sh !\n" + +#: src/common/outbound.c:2148 +msgid "Commands Available:" +msgstr "Доступні команди:" + +#: src/common/outbound.c:2162 +msgid "User defined commands:" +msgstr "Визначені користувачем команди:" + +#: src/common/outbound.c:2178 +msgid "Plugin defined commands:" +msgstr "Визначені у модулі команди:" + +#: src/common/outbound.c:2189 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "" +"Введіть /HELP <команда> щоб отримати докладнішу інформацію, або /HELP -l" + +#: src/common/outbound.c:2274 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Невідомий аргумент '%s' проігноровано." + +#: src/common/outbound.c:3223 +msgid "No such plugin found.\n" +msgstr "Модуль не знайдено.\n" + +#: src/common/outbound.c:3228 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Не вдалося вивантажити модуль.\n" + +#: src/common/outbound.c:3497 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <ім'я> <дія>, додати кнопку над списком користувачів" + +#: src/common/outbound.c:3499 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <команда>, надіслати команду до всіх каналів, на які ви зайшли" + +#: src/common/outbound.c:3501 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <команда>, надіслати команду до всіх каналів, на які ви зайшли" + +#: src/common/outbound.c:3503 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, надіслати команду до всіх серверів, з якими ви з'єднані" + +#: src/common/outbound.c:3504 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<підстава>], встановити статус \"відсутній\"" + +#: src/common/outbound.c:3505 +msgid "BACK, sets you back (not away)" +msgstr "BACK, встановлює статус \"повернувся\" (не відсутній)" + +#: src/common/outbound.c:3507 +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 <маска> [<тип>], заборонити доступ до каналу всім, хто відповідає " +"вказаній масці. Якщо користувачі вже з'єднані з каналом, вони не будуть " +"відключені (для цього потрібно бути оператором каналу)" + +#: src/common/outbound.c:3508 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <змінна> [<значення>]" + +#: src/common/outbound.c:3510 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "" +"CLEAR [ALL|HISTORY], очистити поточне текстове вікно або історію команд" + +#: src/common/outbound.c:3511 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, закрити поточне вікно/вкладку" + +#: src/common/outbound.c:3514 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "" +"COUNTRY [-s] <код|метасимвол>, знайти код країни, наприклад: au = australia" + +#: src/common/outbound.c:3516 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" +"CTCP <нікнейм> <повідомлення>, надіслати повідомлення CTCP до користувача " +"із вказаним ім'ям, звичайними повідомленнями є VERSION та USERINFO" + +#: src/common/outbound.c:3518 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "CYCLE [<channel>], залишити поточний канал та відразу повернутися" + +#: src/common/outbound.c:3520 +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 "" +"\n" +"DCC GET <нікнейм> - прийняти запропонований файл\n" +"DCC SEND [-maxcps=#] <нікнейм> [файл] - надіслати комусь файл\n" +"DCC PSEND [-maxcps=#] <нікнейм> [файл]- надіслати файл у пасивному " +"режимі\n" +"DCC LIST - показати список DCC\n" +"DCC CHAT <нікнейм> - запропонувати розмову через DCC\n" +"DCC CLOSE <тип> <нікнейм> <файл> приклад:\n" +" /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3532 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" +"DEHOP <нікнейм>, зняти статус напівоператор каналу (chanhalf-op) у особи " +"на поточному каналі (потребує прав адміністратора каналу)" + +#: src/common/outbound.c:3534 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <ім'я>, видалити кнопку зі списку користувачів" + +#: src/common/outbound.c:3536 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEOP <нікнейм>, зняти права оператора (chanop) у вказаної особи на " +"поточному каналі (потребує прав адміністратора каналу)" + +#: src/common/outbound.c:3538 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEVOICE <нікнейм>, зняти право голосу у вказаної особи на поточному " +"каналі (потребує прав адміністратора каналу)" + +#: src/common/outbound.c:3539 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, від'єднатися від сервера" + +#: src/common/outbound.c:3540 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <нік|вузол|ip>, знайти IP адресу користувача" + +#: src/common/outbound.c:3541 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <текст>, вивести текст на локальній машині" + +#: src/common/outbound.c:3544 +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] <команда>, виконати команду. Якщо використано параметр -o, вивід " +"буде надіслано до поточного каналу, інакше він буде виведений в поточному " +"вікні" + +#: src/common/outbound.c:3546 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, надіслати процесу сигнал SIGCONT" + +#: src/common/outbound.c:3549 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" +"EXECKILL [-9], перервати виконання процесу у поточному сеансі. Якщо задано " +"параметр -9 процес буде припинено за допомогою SIGKILL" + +#: src/common/outbound.c:3551 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, надіслати процесу сигнал SIGSTOP" + +#: src/common/outbound.c:3552 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, надіслати дані в стандартний ввід процесу" + +#: src/common/outbound.c:3556 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, скинути поточну чергу відправлення на поточному сервері" + +#: src/common/outbound.c:3558 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <вузол> [<порт>], під'єднуватися через проксі, типовий порт 23" + +#: src/common/outbound.c:3562 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <нікнейм> <пароль>, знищити примарні превдоніми" + +#: src/common/outbound.c:3567 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" +"HOP <нікнейм>, надати стан напівоператора (chanhalf-op) вказаній особі " +"(потребує прав оператора)" + +#: src/common/outbound.c:3568 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <пароль>, ідентифікація себе на nickserv" + +#: src/common/outbound.c:3570 +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 <маска> <типи..> <параметри..>\n" +" маска - маска ігнорованого вузла, наприклад: *!*@*.aol.com\n" +" типи - типи ігнорованих даних, один або декілька з наступних:\n" +" PRIV, CHAN, NOTI, CTCP, INVI, ALL\n" +" параметри - NOSAVE, QUIET" + +#: src/common/outbound.c:3577 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" +"INVITE <нікнейм> [<канал>], запросити когось до каналу, за замовчанням до " +"поточного каналу (потребує прав оператора каналу)" + +#: src/common/outbound.c:3578 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <канал>, зайти до вказаного каналу" + +#: src/common/outbound.c:3580 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "" +"KICK <нікнейм>, викинути особу з поточного каналу (потребує прав " +"оператора)" + +#: src/common/outbound.c:3582 +msgid "" +"KICKBAN <nick>, bans then kicks the nick from the current channel (needs " +"chanop)" +msgstr "" +"KICKBAN <нікнейм>, забанити й викинути особу з поточного каналу " +"(потребує прав оператора каналу)" + +#: src/common/outbound.c:3585 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, виконати перевірку сигналу" + +#: src/common/outbound.c:3587 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <рядок>, шукати рядок у буфері" + +#: src/common/outbound.c:3589 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <файл>, завантажити модуль або скрипт" + +#: src/common/outbound.c:3592 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" +"MDEHOP, видалити статус напівоператора з усіх користувачів в поточному " +"каналі (потребує прав оператора)" + +#: src/common/outbound.c:3594 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" +"MDEOP, видалити статус оператора з усіх користувачів каналу (потребує прав " +"оператора)" + +#: src/common/outbound.c:3596 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in " +"the 3rd person, like /me jumps)" +msgstr "" +"ME <дія>, надіслати подію до поточного каналу (події пишеться від третьої " +"особи,наприклад /me стрибає)" + +#: src/common/outbound.c:3600 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" +"MKICK, викинути всіх окрім вас з поточного каналу (потребує прав оператора)" + +#: src/common/outbound.c:3603 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" +"MDEOP, надати всім користувачам поточного каналу права оператора (потребує " +"прав оператора)" + +#: src/common/outbound.c:3604 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <нікнейм> <повідомлення>, надіслати особисте повідомлення" + +#: src/common/outbound.c:3607 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, вивести список усіх користувачів поточного каналу" + +#: src/common/outbound.c:3609 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <нікнейм> <повідомлення>, надіслати CTCP повідомлення" + +#: src/common/outbound.c:3610 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <назва вузла> [<порт>]" + +#: src/common/outbound.c:3611 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <нікнейм>, змінити нікнейм" + +#: src/common/outbound.c:3614 +msgid "" +"NOTICE <nick/channel> <message>, sends a notice. Notices are a type of " +"message that should be auto reacted to" +msgstr "" +"NOTICE <нікнейм/канал> <повідомлення>, надіслати сповіщення. Сповіщення - " +"це тип повідомлень, на які слід автоматично реагувати" + +#: src/common/outbound.c:3616 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" +"NOTIFY [-n мережа1[,мережа2,...]] [<нікнейм>], вивести список сповіщень " +"або додати до нього когось" + +#: src/common/outbound.c:3618 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" +"OP <нікнейм>, надати вказаній особі права оператора каналу (потребує прав " +"оператора)" + +#: src/common/outbound.c:3620 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<канал>] [<привід>], вийти з каналу, типово - з поточного каналу" + +#: src/common/outbound.c:3622 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <нікнейм | канал>, CTCP-пінг особи або каналу" + +#: src/common/outbound.c:3624 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "" +"QUERY [-nofocus] <нікнейм>, відкрити нове вікно приватних повідомлень до " +"вказаної особи" + +#: src/common/outbound.c:3626 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<підстава>], від'єднатися від поточного сервера" + +#: src/common/outbound.c:3628 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <текст>, надіслати текст у необробленій формі до сервера" + +#: src/common/outbound.c:3631 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /" +"RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" +"RECONNECT·[-ssl] [<вузол>] [<порт>] [<пароль>], може бути викликано просто " +"як/RECONNECT, щоб переприєднатися до поточного сервера або /RECONNECT ALL, " +"щоб переприєднатися до усіх відкритих серверів" + +#: src/common/outbound.c:3634 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" +"RECONNECT [<вузол>] [<порт>] [<пароль>], може бути викликано просто як/" +"RECONNECT, щоб переприєднатися до поточного сервера або /RECONNECT ALL, " +"переприєднатися до усіх відкритих серверів" + +#: src/common/outbound.c:3636 +msgid "" +"RECV <text>, send raw data to xchat, as if it was received from the irc " +"server" +msgstr "" +"RECV <текст>, надіслати дані в необробленому форматі до xchat, як " +"відправлені з irc сервера" + +#: src/common/outbound.c:3639 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <текст>, надіслати текст до об'єкта в поточному вікні" + +#: src/common/outbound.c:3640 +msgid "SEND <nick> [<file>]" +msgstr "SEND <нікнейм> [<файл>]" + +#: src/common/outbound.c:3643 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" +"SERVCHAN [-ssl] <вузол> <порт> <канал>, встановити з'єднання з сервером та " +"зайти до каналу" + +#: src/common/outbound.c:3646 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "" +"SERVCHAN <вузол> <порт> <канал>, встановити з'єднання з сервером та зайти до " +"каналу" + +#: src/common/outbound.c:3650 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" +"SERVER [-ssl] <вузол> [<порт>] [<пароль>], встановити з'єднання із сервером. " +"Типовий порт для звичайних з'єднань 6667, 9999 - для ssl з'єднань" + +#: src/common/outbound.c:3653 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" +"SERVER <вузол> [<порт>] [<пароль>], під'єднатися до сервера, типовий порт " +"6667" + +#: src/common/outbound.c:3655 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-or] [-quiet] <змінна> [<значення>]" + +#: src/common/outbound.c:3656 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<позиція>" + +#: src/common/outbound.c:3661 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "" +"TOPIC [<тема>], встановити тему, якщо вона вказана. У іншому випадку " +"відображає поточну тему" + +#: src/common/outbound.c:3663 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" +"\n" +"TRAY -f <таймаут> <файл1> [<файл2>] Почерговий показ двох значків у області " +"сповіщення.\n" +"TRAY -f <назвафайлу> Постійний значок у області сповіщення.\n" +"TRAY -i <число> Миготіння внутрішнього значка у області " +"сповіщення.\n" +"TRAY -t <текст> Встановити підказку у області " +"сповіщення.\n" +"TRAY -b <заголовок> <текст> Встановити спливаючу підказку у області " +"сповіщення." + +#: src/common/outbound.c:3670 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "" +"UNBAN <маска> [<маска>...], скасувати заборону доступу до каналу всім, хто " +"відповідає масці." + +#: src/common/outbound.c:3671 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "" +"UNIGNORE <маска> [QUIET] - скасувати ігнорування повідомлень з певною маскою" + +#: src/common/outbound.c:3672 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <назва>, вивантажити модуль або скрипт" + +#: src/common/outbound.c:3673 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, відкрити URL у веб-переглядачі" + +#: src/common/outbound.c:3675 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "" +"USELECT [-a] [-s] <нікнейм1> <нікнейм2> тощо, підсвічує нікнейми у " +"списку користувачів каналу" + +#: src/common/outbound.c:3678 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" +"VOICE <нікнейм>, надати право голосу особі (потребує прав оператора " +"каналу)" + +#: src/common/outbound.c:3680 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <повідомлення>, надіслати повідомлення до всіх каналів" + +#: src/common/outbound.c:3682 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" +"WALLCHOP <повідомлення>, надіслати повідомлення до усіх операторів на " +"поточному каналі" + +#: src/common/outbound.c:3715 +#, c-format +msgid "Usage: %s\n" +msgstr "Використання: %s\n" + +#: src/common/outbound.c:3720 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Немає довідки для цієї команди.\n" + +#: src/common/outbound.c:3726 +msgid "No such command.\n" +msgstr "Такої команди не існує.\n" + +#: src/common/outbound.c:4057 +msgid "Bad arguments for user command.\n" +msgstr "Неправильні аргументи команди користувача.\n" + +#: src/common/outbound.c:4217 +msgid "Too many recursive usercommands, aborting." +msgstr "Надто багато рекурсивних команд користувача, зупиняємо." + +#: src/common/outbound.c:4300 +msgid "Unknown Command. Try /help\n" +msgstr "Невідома команда. Спробуйте /help\n" + +#: src/common/plugin.c:356 src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "На знайдено символ xchat_plugin_init; це дійсно модуль xchat?" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Ви впевнені це що сумісний з SSL сервер?\n" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Неможливо визначити назву вузла %s\n" +"Перевірте параметри мережі!\n" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "Не вдалося зв'язатися через проксі.\n" + +#: src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Перемикання на наступний сервер %s...\n" + +#: src/common/servlist.c:1094 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" +"Попередження: невідоме кодування \"%s\". Перекодування для мережі %s не " +"відбуватиметься." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 доданий у список сповіщень." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 список забанених:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tНе вдалося зайти%C26 %B$1 %O(Вас забанено)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 тепер називається $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 встановив бан на $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tКанал $1 створений у $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O видалив права напівоператора у %C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O видалив права оператора каналу у %C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O забрав голос у %C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 встановив звільнення на $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O надав права напівоператора %C26 $2" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 запрошує на $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UКанал Користувачі Тема" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 встановив режим $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Канал $1 режими: $2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O надав права оператора каналу %C26 $2" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 забрав звільнення у $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 зняв запрошення до $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 прибрав ключові слова каналу" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 зняв обмеження користувачів" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 встановив ключові слова каналу: $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 встановив ліміт каналу у $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 зняв бан з $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O надав голос %C26 $2" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22З'єднання встановлено. Вхід у мережу.." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22З'єднання з $1 ($2) порт $3%O.." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%CЗ'єднання неможливе. Помилка: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tОтримано CTCP $1 від $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tОтримано CTCP $1 від $2 (для $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tОтримано CTCP звук $1 від $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tОтримано звук CTCP $1 від $2 (для $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tDCC CHAT з %C26$1%O перервано." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC CHAT з'єднання встановлено з %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tDCC CHAT з %C26$1%O розірвано. ($4)." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tОтримано запит на DCC CHAT від $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tПропонується DCC CHAT з $1" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tВже запропоновано CHAT з $1" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 спроба з'єднання з %C26 $2%O невдала (помилка=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tОтримано '$1%O' від $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Тип Кому/Від кого Статус Розмір Позиція Файл " + +#: src/common/textevents.h:147 +msgid "" +"%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O" +"$tContents of packet: $2" +msgstr "" +"%C22*%O$tОтримано неправильний DCC запит від %C26$1%O.%010%C22*%O$tВміст " +"пакета: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tПропонується%C26 $1 для%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tНемає такої DCC пропозиції." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC RECV %C26$2%O для %C26$1%O перервано." + +#: src/common/textevents.h:159 +msgid "" +"%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "" +"%C22*%O$tDCC RECV%C26 $1%O від%C26 $3%O завершено %C30[%C26$4%O б/с%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC RECV з'єднання встановлено з%C26 $1 %C30[%O$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tDCC RECV%C26 $1%O від%C26 $3%O - помилка. ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV: Не вдалося відкрити $1 для запису ($2)." + +#: src/common/textevents.h:171 +msgid "" +"%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tФайл%C26 $1%C вже існує, натомість зберігається як%C26 $2%O." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Oзапит на продовження розмови%C26 $2%C від%C26 $3%C." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tDCC SEND %C26$2%O до %C26$1%O перервано." + +#: src/common/textevents.h:180 +msgid "" +"%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "" +"%C22*%O$tDCC SEND %C26$1%O до %C26$2%O завершено %C30[%C26$3%O б/с%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tDCC SEND з'єднання встановлено з %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tDCC SEND %C26$1%O до %C26$2%O - помилка. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Oзапропоновано%C26 $2 %O(%C26$3 %OCбайт)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cзупинилось - переривання." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Oдо %C26$3 %Oвийшов час - переривання." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 видалено зі списку сповіщення." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tЗ'єднання розірвано ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tЗнайдено ваш IP: [$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O додано до списку ігнорованих." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Ігнорування %C26$1%O змінено." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 маска вузлів PRIV NOTI CHAN CTCP DCC INVI UNIG" + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O видалений зі списку ігнорування." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " Список ігнорованих порожній." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tНе вдалося зайти%C26 %B$1 %O(Канал лише для запрошених)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tОтримано запрошення на%C26 $1%O від%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) зайшов на канал $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tНе вдалося зайти%C26 %B$1 %O(Потрібне ключове слово)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 викинув $2 з $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tвикинув вас з каналу $1 ($2%O%C22)" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD пропущено." + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 вже використовується. Повторна спроба з $2.." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "" +"%C22*%O$tНікнейм вже використовується. Скористайтеся /NICK щоб " +"спробувати інше." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tНемає такого DCC." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tНемає запущених процесів" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tСписок сповіщень порожній." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Список сповіщень " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 користувачів у списку сповіщень." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tСповіщення: $1 від'єднаний ($3)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tСповіщення: $1 під'єднаний ($3)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) залишив $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) залишив $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tPing відповідь від $1 : $2 сек." + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tНе отримано відповідей протягом $1 сек., від'єднання." + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tПроцес вже запущений" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 вийшов (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 встановив режими%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tПошук IP-адреси для%C26 $1%O.." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22З'єднання встановлено." + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Триває пошук $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tЗупинена попередня спроба з'єднання (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Тема для $1%C: %C26$2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 змінив тему на: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Тема для $1%C %C29встановлена $2%C %C29у $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tНевідомий вузол. Можливо ви помилились?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "" +"%C22*%O$tНе вдалося зайти на%C26 %B$1 %O(Вичерпано ліміт користувачів)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Користувачі на $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cнедоступний %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OКінець списку WHOIS." + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O бездіяльний %C26$2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O бездіяльний %C26$2%O, зайшов: %C26$3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "" +"%C22*%O$t%C28[%O$1%C28] %Oсправжній користувач@вузол %C27$2%O, справжній IP %" +"C27$3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Ви зараз спілкуєтесь на $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$t$3 викинув вас із каналу $2 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tВи залишили канал $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tВи залишили канал $3 $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tВи запрошуєте%C26 $1%O до%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tТепер ви відомі як $2" + +#: src/common/text.c:318 +msgid "Loaded log from" +msgstr "Завантажено журнал з" + +#: src/common/text.c:336 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** ЗАКІНЧУЄТЬСЯ ВХІД НА %s\n" + +#: src/common/text.c:545 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ПОЧАТОК ВХОДУ НА %s\n" + +#: src/common/text.c:564 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Не вдалося відкрити файл(и) для запису. Перевірте\n" +" права на %s/xchatlogs" + +#: src/common/text.c:931 +msgid "Left message" +msgstr "Повідомлення зліва" + +#: src/common/text.c:932 +msgid "Right message" +msgstr "Повідомлення справа" + +#: src/common/text.c:936 +msgid "The nick of the joining person" +msgstr "Нікнейм особи, що підключається" + +#: src/common/text.c:937 +msgid "The channel being joined" +msgstr "Підключено до каналу" + +#: src/common/text.c:938 src/common/text.c:985 src/common/text.c:1036 +msgid "The host of the person" +msgstr "Хостнейм користувача" + +#: src/common/text.c:942 src/common/text.c:948 src/common/text.c:955 +#: src/common/text.c:1143 src/common/text.c:1150 src/common/text.c:1155 +#: src/common/text.c:1160 src/common/text.c:1165 src/common/text.c:1171 +#: src/common/text.c:1176 src/common/text.c:1180 src/common/text.c:1186 +#: src/common/text.c:1192 src/common/text.c:1238 src/common/text.c:1249 +#: src/common/text.c:1254 src/common/text.c:1259 src/common/text.c:1268 +#: src/common/text.c:1279 src/common/text.c:1286 src/common/text.c:1292 +#: src/common/text.c:1297 src/common/text.c:1302 src/common/text.c:1309 +#: src/common/text.c:1315 src/common/text.c:1321 src/common/text.c:1326 +#: src/common/text.c:1331 src/common/text.c:1335 src/common/text.c:1341 +#: src/common/text.c:1349 src/common/text.c:1383 src/common/text.c:1388 +msgid "Nickname" +msgstr "Нікнейм" + +#: src/common/text.c:943 +msgid "The action" +msgstr "Дія" + +#: src/common/text.c:944 src/common/text.c:950 +msgid "Mode char" +msgstr "Символ режиму" + +#: src/common/text.c:949 +msgid "The text" +msgstr "Текст" + +#: src/common/text.c:951 src/common/text.c:957 +msgid "Identified text" +msgstr "Виділений текст" + +#: src/common/text.c:956 src/common/text.c:1013 src/common/text.c:1019 +msgid "The message" +msgstr "Повідомлення" + +#: src/common/text.c:961 src/common/text.c:1023 +msgid "Old nickname" +msgstr "Старий нікнейм" + +#: src/common/text.c:962 src/common/text.c:1024 +msgid "New nickname" +msgstr "Новий нікнейм" + +#: src/common/text.c:966 +msgid "Nick of person who changed the topic" +msgstr "Нікнейм персони, що змінила тему" + +#: src/common/text.c:967 src/common/text.c:973 src/fe-gtk/chanlist.c:766 +#: src/fe-gtk/chanlist.c:869 +msgid "Topic" +msgstr "Тема" + +#: src/common/text.c:968 src/common/text.c:972 src/common/text.c:1403 +#: src/fe-gtk/chanlist.c:764 src/fe-gtk/ignoregui.c:176 +#: src/fe-gtk/servlistgui.c:892 +msgid "Channel" +msgstr "Канал" + +#: src/common/text.c:977 src/common/text.c:1030 +msgid "The nickname of the kicker" +msgstr "Нікнейм особи, що викинула з каналу" + +#: src/common/text.c:978 src/common/text.c:1028 +msgid "The person being kicked" +msgstr "Особа, яку було відключено" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:990 +#: src/common/text.c:995 src/common/text.c:1029 src/common/text.c:1037 +#: src/common/text.c:1044 +msgid "The channel" +msgstr "Канал" + +#: src/common/text.c:980 src/common/text.c:1031 src/common/text.c:1038 +msgid "The reason" +msgstr "Підстава" + +#: src/common/text.c:984 src/common/text.c:1035 +msgid "The nick of the person leaving" +msgstr "Нікнейм особи, що залишає канал" + +#: src/common/text.c:991 src/common/text.c:997 +msgid "The time" +msgstr "Час" + +#: src/common/text.c:996 +msgid "The creator" +msgstr "Засновник" + +#: src/common/text.c:1001 src/fe-gtk/dccgui.c:763 src/fe-gtk/dccgui.c:996 +msgid "Nick" +msgstr "Нікнейм" + +#: src/common/text.c:1002 src/common/text.c:1255 +msgid "Reason" +msgstr "Підстава" + +#: src/common/text.c:1003 src/common/text.c:1145 src/common/text.c:1228 +msgid "Host" +msgstr "Комп'ютер" + +#: src/common/text.c:1007 src/common/text.c:1012 src/common/text.c:1017 +msgid "Who it's from" +msgstr "Звідки" + +#: src/common/text.c:1008 +msgid "The time in x.x format (see below)" +msgstr "Час у форматі x.x (дивіться нижче)" + +#: src/common/text.c:1018 src/common/text.c:1055 +msgid "The Channel it's going to" +msgstr "Перелік каналів..." + +#: src/common/text.c:1042 +msgid "The sound" +msgstr "Звук" + +#: src/common/text.c:1043 src/common/text.c:1049 src/common/text.c:1054 +msgid "The nick of the person" +msgstr "Нікнейм особи" + +#: src/common/text.c:1048 src/common/text.c:1053 +msgid "The CTCP event" +msgstr "CTCP подія" + +#: src/common/text.c:1059 +msgid "The nick of the person who set the key" +msgstr "Нікнейм особи, що встановила ключ" + +#: src/common/text.c:1060 +msgid "The key" +msgstr "Ключ" + +#: src/common/text.c:1064 +msgid "The nick of the person who set the limit" +msgstr "Нікнейм особи, що встановила обмеження" + +#: src/common/text.c:1065 +msgid "The limit" +msgstr "Обмеження" + +#: src/common/text.c:1069 +msgid "The nick of the person who did the op'ing" +msgstr "Нікнейм особи, що встановила оператора" + +#: src/common/text.c:1070 +msgid "The nick of the person who has been op'ed" +msgstr "Нікнейм особи, що отримала оператора" + +#: src/common/text.c:1074 +msgid "The nick of the person who has been halfop'ed" +msgstr "Нікнейм особи, що отримала напівоператора" + +#: src/common/text.c:1075 +msgid "The nick of the person who did the halfop'ing" +msgstr "Нікнейм особи, що встановила напівоператора" + +#: src/common/text.c:1079 +msgid "The nick of the person who did the voice'ing" +msgstr "Нікнейм особи, що встановила голосу" + +#: src/common/text.c:1080 +msgid "The nick of the person who has been voice'ed" +msgstr "Нікнейм особи, якій було встановлено стан голосу" + +#: src/common/text.c:1084 +msgid "The nick of the person who did the banning" +msgstr "Нікнейм особи, що ввела бан" + +#: src/common/text.c:1085 src/common/text.c:1112 +msgid "The ban mask" +msgstr "Маска бану" + +#: src/common/text.c:1089 +msgid "The nick who removed the key" +msgstr "Нікнейм особи, що видалила ключ" + +#: src/common/text.c:1093 +msgid "The nick who removed the limit" +msgstr "Нікнейм особи, що видалила обмеження" + +#: src/common/text.c:1097 +msgid "The nick of the person of did the deop'ing" +msgstr "Нікнейм особи, що зняла оператора" + +#: src/common/text.c:1098 +msgid "The nick of the person who has been deop'ed" +msgstr "Нікнейм особи, з якої знято оператора" + +#: src/common/text.c:1101 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Нікнейм особи, що зняла напівоператора" + +#: src/common/text.c:1102 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Нікнейм особи, з якої знято напівоператора" + +#: src/common/text.c:1106 +msgid "The nick of the person of did the devoice'ing" +msgstr "Нікнейм особи, яка забрала 'голос'" + +#: src/common/text.c:1107 +msgid "The nick of the person who has been devoice'ed" +msgstr "Нікнейм особи, з якої було знято 'голос'" + +#: src/common/text.c:1111 +msgid "The nick of the person of did the unban'ing" +msgstr "Нікнейм особи, що зняла бан" + +#: src/common/text.c:1116 +msgid "The nick of the person who did the exempt" +msgstr "Нікнейм особи, що додала виключення" + +#: src/common/text.c:1117 src/common/text.c:1122 +msgid "The exempt mask" +msgstr "Маска виключення" + +#: src/common/text.c:1121 +msgid "The nick of the person removed the exempt" +msgstr "Нікнейм особи, що зняла виключення" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the invite" +msgstr "Нікнейм особи, що зробила запрошення" + +#: src/common/text.c:1127 src/common/text.c:1132 +msgid "The invite mask" +msgstr "Маска запрошення" + +#: src/common/text.c:1131 +msgid "The nick of the person removed the invite" +msgstr "Нікнейм особи, що скасувала запрошення" + +#: src/common/text.c:1136 +msgid "The nick of the person setting the mode" +msgstr "Нікнейм особи, що встановила режим" + +#: src/common/text.c:1137 +msgid "The mode's sign (+/-)" +msgstr "Знак режиму (+/-)" + +#: src/common/text.c:1138 +msgid "The mode letter" +msgstr "Буква режиму" + +#: src/common/text.c:1139 +msgid "The channel it's being set on" +msgstr "Канал встановлено" + +#: src/common/text.c:1144 +msgid "Username" +msgstr "Username" + +#: src/common/text.c:1146 +msgid "Full name" +msgstr "Повне ім'я " + +#: src/common/text.c:1151 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Член каналу/\"є оператором IRC\"" + +#: src/common/text.c:1156 +msgid "Server Information" +msgstr "Інформація про сервер" + +#: src/common/text.c:1161 src/common/text.c:1166 +msgid "Idle time" +msgstr "Час простою" + +#: src/common/text.c:1167 +msgid "Signon time" +msgstr "Час входу" + +#: src/common/text.c:1172 +msgid "Away reason" +msgstr "Причина відсутності" + +#: src/common/text.c:1181 src/common/text.c:1187 src/common/text.c:1195 +#: src/common/text.c:1375 +msgid "Message" +msgstr "Повідомлення" + +#: src/common/text.c:1188 +msgid "Account" +msgstr "Обліковий запис" + +#: src/common/text.c:1193 +msgid "Real user@host" +msgstr "Справжній_користувач@хост" + +#: src/common/text.c:1194 +msgid "Real IP" +msgstr "Реальний IP" + +#: src/common/text.c:1199 src/common/text.c:1208 src/common/text.c:1214 +#: src/common/text.c:1244 src/common/text.c:1398 +msgid "Channel Name" +msgstr "Назва каналу" + +#: src/common/text.c:1203 src/common/text.c:1361 src/fe-gtk/menu.c:1404 +#: src/fe-gtk/menu.c:1592 src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "Текст" + +#: src/common/text.c:1204 src/common/text.c:1210 src/common/text.c:1239 +#: src/common/text.c:1357 src/common/text.c:1399 +msgid "Server Name" +msgstr "Назва серверу" + +#: src/common/text.c:1209 +msgid "Nick of person who invited you" +msgstr "Нікнейм особи, що запрошує" + +#: src/common/text.c:1215 src/fe-gtk/chanlist.c:765 +msgid "Users" +msgstr "Користувачі" + +#: src/common/text.c:1219 +msgid "Nickname in use" +msgstr "Нікнейм використовується" + +#: src/common/text.c:1220 +msgid "Nick being tried" +msgstr "Пробуємо нікнейм" + +#: src/common/text.c:1229 src/common/text.c:1365 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1230 src/common/text.c:1261 +msgid "Port" +msgstr "Порт" + +#: src/common/text.c:1240 src/fe-gtk/notifygui.c:139 src/fe-gtk/setup.c:1713 +msgid "Network" +msgstr "Мережа" + +#: src/common/text.c:1245 src/common/text.c:1250 +msgid "Modes string" +msgstr "Рядок режимів" + +#: src/common/text.c:1260 src/common/text.c:1298 src/common/text.c:1303 +#: src/common/text.c:1344 +msgid "IP address" +msgstr "IP адреса" + +#: src/common/text.c:1266 src/common/text.c:1291 +msgid "DCC Type" +msgstr "Тип DCC" + +#: src/common/text.c:1267 src/common/text.c:1272 src/common/text.c:1277 +#: src/common/text.c:1284 src/common/text.c:1304 src/common/text.c:1308 +#: src/common/text.c:1314 src/common/text.c:1320 src/common/text.c:1327 +#: src/common/text.c:1336 src/common/text.c:1342 +msgid "Filename" +msgstr "Назва файлу" + +#: src/common/text.c:1278 src/common/text.c:1285 +msgid "Destination filename" +msgstr "Назва файлу призначення" + +#: src/common/text.c:1287 src/common/text.c:1316 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1322 +msgid "Pathname" +msgstr "Шлях" + +#: src/common/text.c:1337 src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "Позиція" + +#: src/common/text.c:1343 src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "Розмір" + +#: src/common/text.c:1348 +msgid "DCC String" +msgstr "DCC Рядок" + +#: src/common/text.c:1353 +msgid "Number of notify items" +msgstr "Кількість сповіщень" + +#: src/common/text.c:1369 +msgid "Old Filename" +msgstr "Стара назва файлу" + +#: src/common/text.c:1370 +msgid "New Filename" +msgstr "Нова назва файлу" + +#: src/common/text.c:1374 +msgid "Receiver" +msgstr "Отримувач" + +#: src/common/text.c:1379 +msgid "Hostmask" +msgstr "Маска хосту" + +#: src/common/text.c:1384 +msgid "Hostname" +msgstr "Хостнейм" + +#: src/common/text.c:1389 +msgid "The Packet" +msgstr "Пакет" + +#: src/common/text.c:1393 +msgid "Seconds" +msgstr "Секунди" + +#: src/common/text.c:1397 +msgid "Nick of person who have been invited" +msgstr "Нікнейм запрошеної особи" + +#: src/common/text.c:1404 +msgid "Banmask" +msgstr "Маска бану" + +#: src/common/text.c:1405 +msgid "Who set the ban" +msgstr "Особа, що встановила бан" + +#: src/common/text.c:1406 +msgid "Ban time" +msgstr "Час дії бану" + +#: src/common/text.c:1446 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Помилка аналізу події %s.\n" +"Завантажується типова." + +#: src/common/text.c:2189 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Не вдалося прочитати звуковий файл:\n" +"%s" + +#: src/common/util.c:297 +msgid "Remote host closed socket" +msgstr "Віддалений вузол закрив сокет" + +#: src/common/util.c:302 +msgid "Connection refused" +msgstr "Відмовлено у з'єднанні" + +#: src/common/util.c:305 +msgid "No route to host" +msgstr "Не знайдено шлях до вузла" + +#: src/common/util.c:307 +msgid "Connection timed out" +msgstr "Таймаут з'єднання" + +#: src/common/util.c:309 +msgid "Cannot assign that address" +msgstr "Не вдалося призначити цю адресу" + +#: src/common/util.c:311 +msgid "Connection reset by peer" +msgstr "З'єднання обірване" + +#: src/common/util.c:848 +msgid "Ascension Island" +msgstr "Острів Сходження" + +#: src/common/util.c:849 +msgid "Andorra" +msgstr "Андорра" + +#: src/common/util.c:850 +msgid "United Arab Emirates" +msgstr "Об'єднані Арабські Емірати" + +#: src/common/util.c:851 +msgid "Afghanistan" +msgstr "Афганістан" + +#: src/common/util.c:852 +msgid "Antigua and Barbuda" +msgstr "Антігуа та Барбуда" + +#: src/common/util.c:853 +msgid "Anguilla" +msgstr "Ангуілла" + +#: src/common/util.c:854 +msgid "Albania" +msgstr "Албанія" + +#: src/common/util.c:855 +msgid "Armenia" +msgstr "Вірменія" + +#: src/common/util.c:856 +msgid "Netherlands Antilles" +msgstr "Нідерланди" + +#: src/common/util.c:857 +msgid "Angola" +msgstr "Ангола" + +#: src/common/util.c:858 +msgid "Antarctica" +msgstr "Антарктида" + +#: src/common/util.c:859 +msgid "Argentina" +msgstr "Аргентина" + +#: src/common/util.c:860 +msgid "Reverse DNS" +msgstr "Зворотній DNS" + +#: src/common/util.c:861 +msgid "American Samoa" +msgstr "Американське Самоа" + +#: src/common/util.c:862 +msgid "Austria" +msgstr "Австрія" + +#: src/common/util.c:863 +msgid "Nato Fiel" +msgstr "Нато Фейл" + +#: src/common/util.c:864 +msgid "Australia" +msgstr "Австралія" + +#: src/common/util.c:865 +msgid "Aruba" +msgstr "Аруба" + +#: src/common/util.c:866 +msgid "Aland Islands" +msgstr "Аланд о-ви" + +#: src/common/util.c:867 +msgid "Azerbaijan" +msgstr "Азербайджан" + +#: src/common/util.c:868 +msgid "Bosnia and Herzegovina" +msgstr "Боснія та Герцеговина" + +#: src/common/util.c:869 +msgid "Barbados" +msgstr "Барбадос" + +#: src/common/util.c:870 +msgid "Bangladesh" +msgstr "Бангладеш" + +#: src/common/util.c:871 +msgid "Belgium" +msgstr "Бельгія" + +#: src/common/util.c:872 +msgid "Burkina Faso" +msgstr "Буркіна-Фасо" + +#: src/common/util.c:873 +msgid "Bulgaria" +msgstr "Болгарія" + +#: src/common/util.c:874 +msgid "Bahrain" +msgstr "Бахрейн" + +#: src/common/util.c:875 +msgid "Burundi" +msgstr "Бурунді" + +#: src/common/util.c:876 +msgid "Businesses" +msgstr "Бізнесова адреса" + +#: src/common/util.c:877 +msgid "Benin" +msgstr "Бенін" + +#: src/common/util.c:878 +msgid "Bermuda" +msgstr "Бермуди" + +#: src/common/util.c:879 +msgid "Brunei Darussalam" +msgstr "Бруней" + +#: src/common/util.c:880 +msgid "Bolivia" +msgstr "Болівія" + +#: src/common/util.c:881 +msgid "Brazil" +msgstr "Бразилія" + +#: src/common/util.c:882 +msgid "Bahamas" +msgstr "Багами" + +#: src/common/util.c:883 +msgid "Bhutan" +msgstr "Бутан" + +#: src/common/util.c:884 +msgid "Bouvet Island" +msgstr "Острови Буве" + +#: src/common/util.c:885 +msgid "Botswana" +msgstr "Ботсвана" + +#: src/common/util.c:886 +msgid "Belarus" +msgstr "Білорусія" + +#: src/common/util.c:887 +msgid "Belize" +msgstr "Беліз" + +#: src/common/util.c:888 +msgid "Canada" +msgstr "Канада" + +#: src/common/util.c:889 +msgid "Cocos Islands" +msgstr "Кокосові о-ви" + +#: src/common/util.c:890 +msgid "Democratic Republic of Congo" +msgstr "Демократична Республіка Конго" + +#: src/common/util.c:891 +msgid "Central African Republic" +msgstr "Центрально-Африканська Республіка" + +#: src/common/util.c:892 +msgid "Congo" +msgstr "Конго" + +#: src/common/util.c:893 +msgid "Switzerland" +msgstr "Швейцарія" + +#: src/common/util.c:894 +msgid "Cote d'Ivoire" +msgstr "Кот'Д'Івуар" + +#: src/common/util.c:895 +msgid "Cook Islands" +msgstr "Острови Кука" + +#: src/common/util.c:896 +msgid "Chile" +msgstr "Чилі" + +#: src/common/util.c:897 +msgid "Cameroon" +msgstr "Камерун" + +#: src/common/util.c:898 +msgid "China" +msgstr "Китай" + +#: src/common/util.c:899 +msgid "Colombia" +msgstr "Колумбія" + +#: src/common/util.c:900 +msgid "Internic Commercial" +msgstr "Комерційні адреси" + +#: src/common/util.c:901 +msgid "Costa Rica" +msgstr "Коста-Ріка" + +#: src/common/util.c:902 +msgid "Serbia and Montenegro" +msgstr "Сербія та Чорногорія" + +#: src/common/util.c:903 +msgid "Cuba" +msgstr "Куба" + +#: src/common/util.c:904 +msgid "Cape Verde" +msgstr "Капе Верде" + +#: src/common/util.c:905 +msgid "Christmas Island" +msgstr "Різдвяні острови" + +#: src/common/util.c:906 +msgid "Cyprus" +msgstr "Кіпр" + +#: src/common/util.c:907 +msgid "Czech Republic" +msgstr "Чеська республіка" + +#: src/common/util.c:908 +msgid "Germany" +msgstr "Німеччина" + +#: src/common/util.c:909 +msgid "Djibouti" +msgstr "Джибуті" + +#: src/common/util.c:910 +msgid "Denmark" +msgstr "Данія" + +#: src/common/util.c:911 +msgid "Dominica" +msgstr "Домініка" + +#: src/common/util.c:912 +msgid "Dominican Republic" +msgstr "Домініканська Республіка" + +#: src/common/util.c:913 +msgid "Algeria" +msgstr "Алжир" + +#: src/common/util.c:914 +msgid "Ecuador" +msgstr "Еквадор" + +#: src/common/util.c:915 +msgid "Educational Institution" +msgstr "Освітні заклади" + +#: src/common/util.c:916 +msgid "Estonia" +msgstr "Естонія" + +#: src/common/util.c:917 +msgid "Egypt" +msgstr "Єгипет" + +#: src/common/util.c:918 +msgid "Western Sahara" +msgstr "Західна Сахара" + +#: src/common/util.c:919 +msgid "Eritrea" +msgstr "Еритрея" + +#: src/common/util.c:920 +msgid "Spain" +msgstr "Іспанія" + +#: src/common/util.c:921 +msgid "Ethiopia" +msgstr "Ефіопія" + +#: src/common/util.c:922 +msgid "European Union" +msgstr "Європейський союз" + +#: src/common/util.c:923 +msgid "Finland" +msgstr "Фінляндія" + +#: src/common/util.c:924 +msgid "Fiji" +msgstr "Фіджі" + +#: src/common/util.c:925 +msgid "Falkland Islands" +msgstr "Фолклендські о-ви" + +#: src/common/util.c:926 +msgid "Micronesia" +msgstr "Мікронезія" + +#: src/common/util.c:927 +msgid "Faroe Islands" +msgstr "О-ви Фарое" + +#: src/common/util.c:928 +msgid "France" +msgstr "Франція" + +#: src/common/util.c:929 +msgid "Gabon" +msgstr "Габон" + +#: src/common/util.c:930 +msgid "Great Britain" +msgstr "Велика Британія" + +#: src/common/util.c:931 +msgid "Grenada" +msgstr "Гренада" + +#: src/common/util.c:932 +msgid "Georgia" +msgstr "Грузія" + +#: src/common/util.c:933 +msgid "French Guiana" +msgstr "Французька Гвіана" + +#: src/common/util.c:934 +msgid "British Channel Isles" +msgstr "Британські о-ви" + +#: src/common/util.c:935 +msgid "Ghana" +msgstr "Гана" + +#: src/common/util.c:936 +msgid "Gibraltar" +msgstr "Ґібралтар" + +#: src/common/util.c:937 +msgid "Greenland" +msgstr "Гренландія" + +#: src/common/util.c:938 +msgid "Gambia" +msgstr "Гамбія" + +#: src/common/util.c:939 +msgid "Guinea" +msgstr "Гвінея" + +#: src/common/util.c:940 +msgid "Government" +msgstr "Уряд" + +#: src/common/util.c:941 +msgid "Guadeloupe" +msgstr "Гваделупа" + +#: src/common/util.c:942 +msgid "Equatorial Guinea" +msgstr "Екваторіальна Гвінея" + +#: src/common/util.c:943 +msgid "Greece" +msgstr "Греція" + +#: src/common/util.c:944 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "S. Georgia та S. Sandwich Isles." + +#: src/common/util.c:945 +msgid "Guatemala" +msgstr "Гватемала" + +#: src/common/util.c:946 +msgid "Guam" +msgstr "Гуам" + +#: src/common/util.c:947 +msgid "Guinea-Bissau" +msgstr "Гвінея-Біссау" + +#: src/common/util.c:948 +msgid "Guyana" +msgstr "Гаяна" + +#: src/common/util.c:949 +msgid "Hong Kong" +msgstr "Гонг Конг" + +#: src/common/util.c:950 +msgid "Heard and McDonald Islands" +msgstr "Heard and McDonald Islands" + +#: src/common/util.c:951 +msgid "Honduras" +msgstr "Гондурас" + +#: src/common/util.c:952 +msgid "Croatia" +msgstr "Хорватія" + +#: src/common/util.c:953 +msgid "Haiti" +msgstr "Гаїті" + +#: src/common/util.c:954 +msgid "Hungary" +msgstr "Угорщина" + +#: src/common/util.c:955 +msgid "Indonesia" +msgstr "Індонезія" + +#: src/common/util.c:956 +msgid "Ireland" +msgstr "Ірландія" + +#: src/common/util.c:957 +msgid "Israel" +msgstr "Ізраїль" + +#: src/common/util.c:958 +msgid "Isle of Man" +msgstr "Острів Мен" + +#: src/common/util.c:959 +msgid "India" +msgstr "Індія" + +#: src/common/util.c:960 +msgid "Informational" +msgstr "Інформаційні" + +#: src/common/util.c:961 +msgid "International" +msgstr "Міжнародні" + +#: src/common/util.c:962 +msgid "British Indian Ocean Territory" +msgstr "Британська Тихоокеанська Територія" + +#: src/common/util.c:963 +msgid "Iraq" +msgstr "Ірак" + +#: src/common/util.c:964 +msgid "Iran" +msgstr "Іран" + +#: src/common/util.c:965 +msgid "Iceland" +msgstr "Ісландія" + +#: src/common/util.c:966 +msgid "Italy" +msgstr "Італія" + +#: src/common/util.c:967 +msgid "Jersey" +msgstr "Джерсі" + +#: src/common/util.c:968 +msgid "Jamaica" +msgstr "Ямайка" + +#: src/common/util.c:969 +msgid "Jordan" +msgstr "Йорданія" + +#: src/common/util.c:970 +msgid "Japan" +msgstr "Японія" + +#: src/common/util.c:971 +msgid "Kenya" +msgstr "Кенія" + +#: src/common/util.c:972 +msgid "Kyrgyzstan" +msgstr "Киргизстан" + +#: src/common/util.c:973 +msgid "Cambodia" +msgstr "Камбоджі" + +#: src/common/util.c:974 +msgid "Kiribati" +msgstr "Кірібаті" + +#: src/common/util.c:975 +msgid "Comoros" +msgstr "Коморос" + +#: src/common/util.c:976 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts and Nevis" + +#: src/common/util.c:977 +msgid "North Korea" +msgstr "Північна Корея" + +#: src/common/util.c:978 +msgid "South Korea" +msgstr "Південна Корея" + +#: src/common/util.c:979 +msgid "Kuwait" +msgstr "Кувейт" + +#: src/common/util.c:980 +msgid "Cayman Islands" +msgstr "Кайманові о-ви" + +#: src/common/util.c:981 +msgid "Kazakhstan" +msgstr "Казахстан" + +#: src/common/util.c:982 +msgid "Laos" +msgstr "Лаос" + +#: src/common/util.c:983 +msgid "Lebanon" +msgstr "Ліван" + +#: src/common/util.c:984 +msgid "Saint Lucia" +msgstr "Свята Лучія" + +#: src/common/util.c:985 +msgid "Liechtenstein" +msgstr "Ліхтенштейн" + +#: src/common/util.c:986 +msgid "Sri Lanka" +msgstr "Шрі Ланка" + +#: src/common/util.c:987 +msgid "Liberia" +msgstr "Ліберія" + +#: src/common/util.c:988 +msgid "Lesotho" +msgstr "Лесото" + +#: src/common/util.c:989 +msgid "Lithuania" +msgstr "Литва" + +#: src/common/util.c:990 +msgid "Luxembourg" +msgstr "Люксембург" + +#: src/common/util.c:991 +msgid "Latvia" +msgstr "Латвія" + +#: src/common/util.c:992 +msgid "Libya" +msgstr "Лівія" + +#: src/common/util.c:993 +msgid "Morocco" +msgstr "Марокко" + +#: src/common/util.c:994 +msgid "Monaco" +msgstr "Монако" + +#: src/common/util.c:995 +msgid "Moldova" +msgstr "Молдова" + +#: src/common/util.c:996 +msgid "United States Medical" +msgstr "Мед.заклади США" + +#: src/common/util.c:997 +msgid "Madagascar" +msgstr "Мадагаскар" + +#: src/common/util.c:998 +msgid "Marshall Islands" +msgstr "Маршалові острови" + +#: src/common/util.c:999 +msgid "Military" +msgstr "Військові" + +#: src/common/util.c:1000 +msgid "Macedonia" +msgstr "Македонія" + +#: src/common/util.c:1001 +msgid "Mali" +msgstr "Малі" + +#: src/common/util.c:1002 +msgid "Myanmar" +msgstr "М'янма" + +#: src/common/util.c:1003 +msgid "Mongolia" +msgstr "Монголія" + +#: src/common/util.c:1004 +msgid "Macau" +msgstr "Макао" + +#: src/common/util.c:1005 +msgid "Northern Mariana Islands" +msgstr "Північні Маріанські Острови" + +#: src/common/util.c:1006 +msgid "Martinique" +msgstr "Мартініка" + +#: src/common/util.c:1007 +msgid "Mauritania" +msgstr "Мавританія" + +#: src/common/util.c:1008 +msgid "Montserrat" +msgstr "Монсерат" + +#: src/common/util.c:1009 +msgid "Malta" +msgstr "Мальта" + +#: src/common/util.c:1010 +msgid "Mauritius" +msgstr "Маврикій" + +#: src/common/util.c:1011 +msgid "Maldives" +msgstr "Мальдіви" + +#: src/common/util.c:1012 +msgid "Malawi" +msgstr "Малаві" + +#: src/common/util.c:1013 +msgid "Mexico" +msgstr "Мексика" + +#: src/common/util.c:1014 +msgid "Malaysia" +msgstr "Малайзія" + +#: src/common/util.c:1015 +msgid "Mozambique" +msgstr "Мозамбік" + +#: src/common/util.c:1016 +msgid "Namibia" +msgstr "Намібія" + +#: src/common/util.c:1017 +msgid "New Caledonia" +msgstr "Нова Каледонія" + +#: src/common/util.c:1018 +msgid "Niger" +msgstr "Нігер" + +#: src/common/util.c:1019 +msgid "Internic Network" +msgstr "Мережі" + +#: src/common/util.c:1020 +msgid "Norfolk Island" +msgstr "Норфолкські о-ви" + +#: src/common/util.c:1021 +msgid "Nigeria" +msgstr "Нігерія" + +#: src/common/util.c:1022 +msgid "Nicaragua" +msgstr "Нікарагуа" + +#: src/common/util.c:1023 +msgid "Netherlands" +msgstr "Нідерланди" + +#: src/common/util.c:1024 +msgid "Norway" +msgstr "Норвегія" + +#: src/common/util.c:1025 +msgid "Nepal" +msgstr "Непал" + +#: src/common/util.c:1026 +msgid "Nauru" +msgstr "Науру" + +#: src/common/util.c:1027 +msgid "Niue" +msgstr "Ніуе" + +#: src/common/util.c:1028 +msgid "New Zealand" +msgstr "Нова Зеландія" + +#: src/common/util.c:1029 +msgid "Oman" +msgstr "Оман" + +#: src/common/util.c:1030 +msgid "Internic Non-Profit Organization" +msgstr "Мережні некомерційні організації" + +#: src/common/util.c:1031 +msgid "Panama" +msgstr "Панама" + +#: src/common/util.c:1032 +msgid "Peru" +msgstr "Перу" + +#: src/common/util.c:1033 +msgid "French Polynesia" +msgstr "Французька Полінезія" + +#: src/common/util.c:1034 +msgid "Papua New Guinea" +msgstr "Папуа Нова Гвінея" + +#: src/common/util.c:1035 +msgid "Philippines" +msgstr "Філіппіни" + +#: src/common/util.c:1036 +msgid "Pakistan" +msgstr "Пакистан" + +#: src/common/util.c:1037 +msgid "Poland" +msgstr "Польща" + +#: src/common/util.c:1038 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre and Miquelon" + +#: src/common/util.c:1039 +msgid "Pitcairn" +msgstr "Піткерн" + +#: src/common/util.c:1040 +msgid "Puerto Rico" +msgstr "Пуерто Ріко" + +#: src/common/util.c:1041 +msgid "Palestinian Territory" +msgstr "Палестинська Територія" + +#: src/common/util.c:1042 +msgid "Portugal" +msgstr "Португалія" + +#: src/common/util.c:1043 +msgid "Palau" +msgstr "Палау" + +#: src/common/util.c:1044 +msgid "Paraguay" +msgstr "Парагвай" + +#: src/common/util.c:1045 +msgid "Qatar" +msgstr "Катар" + +#: src/common/util.c:1046 +msgid "Reunion" +msgstr "Реунйон" + +#: src/common/util.c:1047 +msgid "Romania" +msgstr "Румунія" + +#: src/common/util.c:1048 +msgid "Old School ARPAnet" +msgstr "Стара мережа ARPAnet" + +#: src/common/util.c:1049 +msgid "Russian Federation" +msgstr "Росія" + +#: src/common/util.c:1050 +msgid "Rwanda" +msgstr "Руанда" + +#: src/common/util.c:1051 +msgid "Saudi Arabia" +msgstr "Саудівська Аравія" + +#: src/common/util.c:1052 +msgid "Solomon Islands" +msgstr "Соломонові острови" + +#: src/common/util.c:1053 +msgid "Seychelles" +msgstr "Сейшельські острови" + +#: src/common/util.c:1054 +msgid "Sudan" +msgstr "Судан" + +#: src/common/util.c:1055 +msgid "Sweden" +msgstr "Швеція" + +#: src/common/util.c:1056 +msgid "Singapore" +msgstr "Сінгапур" + +#: src/common/util.c:1057 +msgid "St. Helena" +msgstr "Св. Олена" + +#: src/common/util.c:1058 +msgid "Slovenia" +msgstr "Словенія" + +#: src/common/util.c:1059 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard and Jan Mayen Islands" + +#: src/common/util.c:1060 +msgid "Slovak Republic" +msgstr "Словацька Республіка" + +#: src/common/util.c:1061 +msgid "Sierra Leone" +msgstr "Сієра Леоне" + +#: src/common/util.c:1062 +msgid "San Marino" +msgstr "Сан Маріно" + +#: src/common/util.c:1063 +msgid "Senegal" +msgstr "Сенегал" + +#: src/common/util.c:1064 +msgid "Somalia" +msgstr "Сомалі" + +#: src/common/util.c:1065 +msgid "Suriname" +msgstr "Суринам" + +#: src/common/util.c:1066 +msgid "Sao Tome and Principe" +msgstr "Сен-Томе та Прінсіпі" + +#: src/common/util.c:1067 +msgid "Former USSR" +msgstr "Колишній СРСР" + +#: src/common/util.c:1068 +msgid "El Salvador" +msgstr "Сальвадор" + +#: src/common/util.c:1069 +msgid "Syria" +msgstr "Сирія" + +#: src/common/util.c:1070 +msgid "Swaziland" +msgstr "Свазіленд" + +#: src/common/util.c:1071 +msgid "Turks and Caicos Islands" +msgstr "о-ви Тьорск та Кайкос" + +#: src/common/util.c:1072 +msgid "Chad" +msgstr "Чад" + +#: src/common/util.c:1073 +msgid "French Southern Territories" +msgstr "Французькі Південні Території" + +#: src/common/util.c:1074 +msgid "Togo" +msgstr "Того" + +#: src/common/util.c:1075 +msgid "Thailand" +msgstr "Таїланд" + +#: src/common/util.c:1076 +msgid "Tajikistan" +msgstr "Таджикистан" + +#: src/common/util.c:1077 +msgid "Tokelau" +msgstr "о-ви Токелау" + +#: src/common/util.c:1078 src/common/util.c:1082 +msgid "East Timor" +msgstr "Східний Тимор" + +#: src/common/util.c:1079 +msgid "Turkmenistan" +msgstr "Туркменістан" + +#: src/common/util.c:1080 +msgid "Tunisia" +msgstr "Туніс" + +#: src/common/util.c:1081 +msgid "Tonga" +msgstr "Тонга" + +#: src/common/util.c:1083 +msgid "Turkey" +msgstr "Туреччина" + +#: src/common/util.c:1084 +msgid "Trinidad and Tobago" +msgstr "Тринідад та Тобаго" + +#: src/common/util.c:1085 +msgid "Tuvalu" +msgstr "Тувалу" + +#: src/common/util.c:1086 +msgid "Taiwan" +msgstr "Тайвань" + +#: src/common/util.c:1087 +msgid "Tanzania" +msgstr "Танзанія" + +#: src/common/util.c:1088 +msgid "Ukraine" +msgstr "Україна" + +#: src/common/util.c:1089 +msgid "Uganda" +msgstr "Уганда" + +#: src/common/util.c:1090 +msgid "United Kingdom" +msgstr "Сполучене королівство" + +#: src/common/util.c:1091 +msgid "United States of America" +msgstr "США" + +#: src/common/util.c:1092 +msgid "Uruguay" +msgstr "Уругвай" + +#: src/common/util.c:1093 +msgid "Uzbekistan" +msgstr "Узбекистан" + +#: src/common/util.c:1094 +msgid "Vatican City State" +msgstr "Ватикан" + +#: src/common/util.c:1095 +msgid "St. Vincent and the Grenadines" +msgstr "Сент-Вінсент та Гренадини" + +#: src/common/util.c:1096 +msgid "Venezuela" +msgstr "Венесуела" + +#: src/common/util.c:1097 +msgid "British Virgin Islands" +msgstr "Британські Віржинські острови" + +#: src/common/util.c:1098 +msgid "US Virgin Islands" +msgstr "Американські Віржинські острови" + +#: src/common/util.c:1099 +msgid "Vietnam" +msgstr "В'єтнам" + +#: src/common/util.c:1100 +msgid "Vanuatu" +msgstr "Вануату" + +#: src/common/util.c:1101 +msgid "Wallis and Futuna Islands" +msgstr "о-ви Валліс та Футуна" + +#: src/common/util.c:1102 +msgid "Samoa" +msgstr "Самоа" + +#: src/common/util.c:1103 +msgid "Yemen" +msgstr "Ємен" + +#: src/common/util.c:1104 +msgid "Mayotte" +msgstr "Майотт" + +#: src/common/util.c:1105 +msgid "Yugoslavia" +msgstr "Югославія" + +#: src/common/util.c:1106 +msgid "South Africa" +msgstr "Південна Африка" + +#: src/common/util.c:1107 +msgid "Zambia" +msgstr "Замбія" + +#: src/common/util.c:1108 +msgid "Zimbabwe" +msgstr "Зімбабве" + +#: src/common/util.c:1118 src/common/util.c:1128 src/fe-gtk/menu.c:611 +msgid "Unknown" +msgstr "Невідомий" + +#: src/common/xchat.c:726 +msgid "_Open Dialog Window" +msgstr "_Відкрити діалогове вікно" + +#: src/common/xchat.c:727 +msgid "_Send a File" +msgstr "_Надіслати файл" + +#: src/common/xchat.c:728 +msgid "_User Info (WhoIs)" +msgstr "_Хто це (WhoIs)" + +#: src/common/xchat.c:729 +msgid "_Add to Friends List" +msgstr "_Додати до Списку друзів" + +#: src/common/xchat.c:730 +msgid "O_perator Actions" +msgstr "Дії _оператора" + +#: src/common/xchat.c:732 +msgid "Give Ops" +msgstr "Надати оператора" + +#: src/common/xchat.c:733 +msgid "Take Ops" +msgstr "Відібрати оператора" + +#: src/common/xchat.c:734 +msgid "Give Voice" +msgstr "Надати голос" + +#: src/common/xchat.c:735 +msgid "Take Voice" +msgstr "Відібрати голос" + +#: src/common/xchat.c:737 +msgid "Kick/Ban" +msgstr "Викинути/Забанити" + +#: src/common/xchat.c:738 src/common/xchat.c:775 +msgid "Kick" +msgstr "Викинути" + +#: src/common/xchat.c:739 src/common/xchat.c:740 src/common/xchat.c:741 +#: src/common/xchat.c:742 src/common/xchat.c:743 src/common/xchat.c:774 +msgid "Ban" +msgstr "Забанити" + +#: src/common/xchat.c:744 src/common/xchat.c:745 src/common/xchat.c:746 +#: src/common/xchat.c:747 +msgid "KickBan" +msgstr "Викинути+Забанити" + +#: src/common/xchat.c:757 +msgid "Leave Channel" +msgstr "Залишити канал" + +#: src/common/xchat.c:758 +msgid "Join Channel..." +msgstr "Зайти на канал" + +#: src/common/xchat.c:759 src/fe-gtk/menu.c:1281 +msgid "Enter Channel to Join:" +msgstr "Введіть канал для входу:" + +#: src/common/xchat.c:760 +msgid "Server Links" +msgstr "Посилання сервера" + +#: src/common/xchat.c:761 +msgid "Ping Server" +msgstr "Ping-увати сервер" + +#: src/common/xchat.c:762 +msgid "Hide Version" +msgstr "Приховувати версію" + +#: src/common/xchat.c:772 +msgid "Op" +msgstr "Оператор" + +#: src/common/xchat.c:773 +msgid "DeOp" +msgstr "Скасувати Опер." + +#: src/common/xchat.c:776 +msgid "bye" +msgstr "бувайте" + +#: src/common/xchat.c:777 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Введіть підставу для викидання %s:" + +#: src/common/xchat.c:778 +msgid "Sendfile" +msgstr "Надіслати файл" + +#: src/common/xchat.c:779 +msgid "Dialog" +msgstr "Діалог" + +#: src/common/xchat.c:788 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/xchat.c:789 +msgid "Send" +msgstr "Надіслати" + +#: src/common/xchat.c:790 +msgid "Chat" +msgstr "Розмова" + +#: src/common/xchat.c:791 src/fe-gtk/banlist.c:413 src/fe-gtk/ignoregui.c:389 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Очистити" + +#: src/common/xchat.c:792 +msgid "Ping" +msgstr "Ping" + +#: src/common/dbus/dbus-client.c:72 +msgid "Couldn't connect to session bus" +msgstr "Не вдалося з'єднатись з шиною сеансу" + +#: src/common/dbus/dbus-client.c:86 +msgid "Failed to complete NameHasOwner" +msgstr "Не вдалося завершити команду NameHasOwner" + +#: src/common/dbus/dbus-client.c:112 +msgid "Failed to complete Command" +msgstr "Не вдалося завершити команду" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "віддалений доступ" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "модуль для віддаленого доступу DBUS" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Не вдалося зв'язатись з шиною сеансів: %s\n" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Не вдалося здобути %s: %s\n" + +#: src/fe-gtk/about.c:102 +msgid "About " +msgstr "_Про програму" + +#: src/fe-gtk/about.c:133 +msgid "A multiplatform IRC Client" +msgstr "Багатоплатформний IRC клієнт" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Палітра символів" + +#: src/fe-gtk/banlist.c:151 src/fe-gtk/chanlist.c:305 +#: src/fe-gtk/plugin-tray.c:302 +msgid "Not connected." +msgstr "Немає з'єднання." + +#: src/fe-gtk/banlist.c:249 src/fe-gtk/banlist.c:329 +msgid "You must select some bans." +msgstr "Необхідно вибрати деякі бани." + +#: src/fe-gtk/banlist.c:278 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "Ви дійсно бажаєте зняти всі бани в %s?" + +#: src/fe-gtk/banlist.c:344 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Маска" + +#: src/fe-gtk/banlist.c:345 +msgid "From" +msgstr "Від" + +#: src/fe-gtk/banlist.c:346 +msgid "Date" +msgstr "Дата" + +#: src/fe-gtk/banlist.c:389 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Можете відкрити лише вікно Список банів у вкладці каналу." + +#: src/fe-gtk/banlist.c:393 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "X-Chat: Список банів (%s)" + +#: src/fe-gtk/banlist.c:409 src/fe-gtk/notifygui.c:432 +msgid "Remove" +msgstr "Видалити" + +#: src/fe-gtk/banlist.c:411 +msgid "Crop" +msgstr "Стиснути" + +#: src/fe-gtk/banlist.c:415 +msgid "Refresh" +msgstr "Оновити" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Відображається %d/%d користувачів на %d/%d каналах" + +#: src/fe-gtk/chanlist.c:526 src/fe-gtk/menu.c:1217 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Виберіть назву файлу для запису" + +#: src/fe-gtk/chanlist.c:631 src/fe-gtk/chanlist.c:799 +msgid "_Join Channel" +msgstr "За_йти на канал" + +#: src/fe-gtk/chanlist.c:633 +msgid "_Copy Channel Name" +msgstr "_Копіювати назву каналу" + +#: src/fe-gtk/chanlist.c:635 +msgid "Copy _Topic Text" +msgstr "Копіювати _текст теми" + +#: src/fe-gtk/chanlist.c:724 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: Список каналів (%s)" + +#: src/fe-gtk/chanlist.c:781 +msgid "_Search" +msgstr "З_найти" + +#: src/fe-gtk/chanlist.c:787 +msgid "_Download List" +msgstr "_Список завантажень" + +#: src/fe-gtk/chanlist.c:793 +msgid "Save _List..." +msgstr "Зберегти _список..." + +#: src/fe-gtk/chanlist.c:806 +msgid "Show only:" +msgstr "Відображати лише:" + +#: src/fe-gtk/chanlist.c:818 +msgid "channels with" +msgstr "канали з" + +#: src/fe-gtk/chanlist.c:831 +msgid "to" +msgstr "до" + +#: src/fe-gtk/chanlist.c:843 +msgid "users." +msgstr "користувачів." + +#: src/fe-gtk/chanlist.c:849 +msgid "Look in:" +msgstr "Шукати у:" + +#: src/fe-gtk/chanlist.c:861 +msgid "Channel name" +msgstr "Назві каналу" + +#: src/fe-gtk/chanlist.c:882 +msgid "Search type:" +msgstr "Тип пошуку:" + +#: src/fe-gtk/chanlist.c:889 +msgid "Simple Search" +msgstr "Простий пошук" + +#: src/fe-gtk/chanlist.c:890 +msgid "Pattern Match (Wildcards)" +msgstr "Відповідність шаблону" + +#: src/fe-gtk/chanlist.c:892 +msgid "Regular Expression" +msgstr "Регулярний вираз" + +#: src/fe-gtk/chanlist.c:903 src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Знайти:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "Надіслати файл до %s" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "Файл неможливо продовжити." + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Немає доступу до файлу: %s\n" +"%s.\n" +"Продовження неможливе." + +#: src/fe-gtk/dccgui.c:507 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" +"Файл у каталозі завантажень більше ніж запитаний. Продовження неможливе." + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "Не можна продовжувати однаковий файл від 2-х користувачів." + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: Завантаження та відвантаження" + +#: src/fe-gtk/dccgui.c:756 src/fe-gtk/dccgui.c:995 src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "Статус" + +#: src/fe-gtk/dccgui.c:757 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Файл" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "Залишилось" + +#: src/fe-gtk/dccgui.c:787 src/fe-gtk/menu.c:1593 +msgid "Both" +msgstr "обидва" + +#: src/fe-gtk/dccgui.c:793 +msgid "Uploads" +msgstr "Відвантаження" + +#: src/fe-gtk/dccgui.c:799 +msgid "Downloads" +msgstr "Завантаження" + +#: src/fe-gtk/dccgui.c:804 +msgid "Details" +msgstr "Подробиці" + +#: src/fe-gtk/dccgui.c:815 +msgid "File:" +msgstr "Файл:" + +#: src/fe-gtk/dccgui.c:816 +msgid "Address:" +msgstr "Адреса:" + +#: src/fe-gtk/dccgui.c:822 src/fe-gtk/dccgui.c:1019 +msgid "Abort" +msgstr "Перервати" + +#: src/fe-gtk/dccgui.c:823 src/fe-gtk/dccgui.c:1020 +msgid "Accept" +msgstr "Прийняти" + +#: src/fe-gtk/dccgui.c:824 +msgid "Resume" +msgstr "Продовжити" + +#: src/fe-gtk/dccgui.c:825 +msgid "Open Folder..." +msgstr "Відкрити теку..." + +#: src/fe-gtk/dccgui.c:985 +msgid "XChat: DCC Chat List" +msgstr "XChat: список розмов по DCC" + +#: src/fe-gtk/dccgui.c:997 +msgid "Recv" +msgstr "Прийн" + +#: src/fe-gtk/dccgui.c:998 +msgid "Sent" +msgstr "Відпр" + +#: src/fe-gtk/dccgui.c:999 +msgid "Start Time" +msgstr "Час початку" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*НОВИЙ*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "ВІДРЕДАГУЙ МЕНЕ" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/notifygui.c:137 +#: src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Назва" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Команда" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Вгору" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Вниз" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Скасувати" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Зберегти" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Додати" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:387 +msgid "Delete" +msgstr "Видалити" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Сортувати" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Довідка" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "Не з'єднуватись з сервером автоматично" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "Використовується інший конфігураційний каталог" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "Не завантажувати автоматично модулі" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "Показувати каталог автозавантаження модулів" + +#: src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "Показувати каталог конфігураційних файлів" + +#: src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "Відкрити irc://server:port/channel URL" + +#: src/fe-gtk/fe-gtk.c:133 src/fe-gtk/setup.c:212 +msgid "Execute command:" +msgstr "Виконати команду:" + +#: src/fe-gtk/fe-gtk.c:134 +msgid "Open URL or execute command in an existing XChat" +msgstr "Відкрити URL чи виконати команду в існуючому XChat" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Стартувати мінімізованим. Рівні 0-Нормальний 1=Іконка 2=Трей" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "level" +msgstr "рівень" + +#: src/fe-gtk/fe-gtk.c:137 +msgid "Show version information" +msgstr "Вивести інформацію про версію" + +#: src/fe-gtk/fe-gtk.c:257 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Не вдалося відкрити шрифт:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:636 +msgid "Search buffer is empty.\n" +msgstr "Буфер пошуку порожній.\n" + +#: src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "%d bytes" +msgstr "%d байт" + +#: src/fe-gtk/fe-gtk.c:733 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Черга надсилання у мережу: %d байтів" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into " +"the entry box where you pressed the key sequence. Thus it can contain text " +"(which will be sent to the channel/person), commands or user commands. When " +"run all \\n characters in Data 1 are used to deliminate seperate commands so " +"it is possible to run more than one command. If you want a \\ in the actual " +"text run then enter \\\\" +msgstr "" +"Дія Виконати команду виконує Дані 1 як команду, ніби її було введено в полі " +"вводу, в якому було натиснуто послідовність клавіш. Може містити текст (який " +"буде надіслано до каналу/особи), команди або команди користувача. Символи " +"\\n в Дані 1 використовуються для відокремлення команд, таким чином можливо " +"надсилати більш ніж одну команду. Якщо бажаєте ввести \\ в тексті команди, " +"напишіть \\\\" + +#: src/fe-gtk/fkeys.c:161 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1 " +"to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position" +msgstr "" +"Команда Змінити сторінку перемикає між сторінками в записнику. Встановіть " +"Дані 1 рівним номеру сторінки до якої бажаєте перемикнутися. Якщо Дані 2 має " +"якесь значення, перемикання буде здійснюватись відносно поточної позиції." + +#: src/fe-gtk/fkeys.c:163 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" +"Команда Вставити в буфер вставить вміст Дані 1 в поле, в якому була " +"натиснута комбінація клавіш, в поточну позицію курсору" + +#: src/fe-gtk/fkeys.c:165 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one " +"line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "" +"Команда Прокрутка сторінки прокручує текстовий віджет на одну сторінку вгору " +"або вниз. Задайте значення +1 або -1, щоб сторінку прокручувало вгору або " +"вниз." + +#: src/fe-gtk/fkeys.c:167 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered to " +"the contents of Data 1" +msgstr "" +"Команда Встановити буфер Встановлює значення поля, в якому було натиснуто " +"комбінацію клавіш в значення Дані 1" + +#: src/fe-gtk/fkeys.c:169 +msgid "" +"The Last Command command sets the entry to contain the last command entered " +"- the same as pressing up in a shell" +msgstr "" +"Команда Остання команда встановлює значення в полі рівним останній введеній " +"команді - теж саме, що натискання клавіші стрілки вгору в командній оболонці" + +#: src/fe-gtk/fkeys.c:171 +msgid "" +"The Next Command command sets the entry to contain the next command entered " +"- the same as pressing down in a shell" +msgstr "" +"Команда Наступна команда встановлює значення в полі рівним наступній команді " +"- теж саме, що натискання клавіші стрілки вниз у командній оболонці" + +#: src/fe-gtk/fkeys.c:173 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the " +"last nick, not the next" +msgstr "" +"Ця команда замінює текст в полі вводу для завершення незакінченого " +"нікнейму або команди. Якщо Data 1 встановлено, подвійне натискання клавіші " +"табуляції вибере не наступний, а останній нікнейм" + +#: src/fe-gtk/fkeys.c:175 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set " +"to anything it will scroll up, else it scrolls down" +msgstr "" +"Команда прокручує список користувачів вгору або вниз. Якщо Data 1 встановлено - " +"буде прокручено вгору, інакше - вниз" + +#: src/fe-gtk/fkeys.c:177 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" +"Команда перевіряє останнє введене слово в списку заміщень та замінює у разі " +"знаходження відповідності" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "Команда переміщує передню вкладку на одну позицію ліворуч" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "Команда переміщує передню вкладку на одну позицію праворуч" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "Команда переміщує поточну вкладку на одну позицію ліворуч" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "Команда переміщує поточну вкладку на одну позицію ліворуч" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "Помістити введений рядок в історію, але не надсилати до сервера" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "Помилка під час завантаження конфігурації комбінацій клавіш" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1635 src/fe-gtk/maingui.c:1751 +#: src/fe-gtk/maingui.c:3252 +msgid "<none>" +msgstr "<немає>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "Мод" + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Клавіша" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Дія" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: Комбінації клавіш" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "Дані 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "Дані 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "Помилка при відкриванні файлу конфігурації клавіш\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Невідома назва клавіші %s в конфігураційному файлі комбінацій клавіш\n" +"Завантаження перервано, виправте %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Невідома дія %s в конфігураційному файлі комбінацій клавіш\n" +"Завантаження перервано, виправте %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Очікувався рядок даних (початок Dx{:|!}) але отримано:\n" +"%s\n" +"\n" +"Завантаження перервано, виправте %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Конфігураційний файл комбінацій клавіш пошкоджений, завантаження перервано\n" +"Спробуйте виправити %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "Не вдалося записати в цей файл." + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "Не вдалося прочитати цей файл." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:264 +msgid "That mask already exists." +msgstr "Така маска вже існує." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:2132 +msgid "Private" +msgstr "Приватний" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Зауваження" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Запрошувати" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Не ігнорувати" + +#: src/fe-gtk/ignoregui.c:308 +msgid "Enter mask to ignore:" +msgstr "Введіть маску для ігнорування:" + +#: src/fe-gtk/ignoregui.c:355 +msgid "XChat: Ignore list" +msgstr "XChat: список ігнорувань" + +#: src/fe-gtk/ignoregui.c:362 +msgid "Ignore Stats:" +msgstr "Стан ігнорування:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Channel:" +msgstr "Канал:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Private:" +msgstr "Приватний:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Notice:" +msgstr "Зауваження:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:374 +msgid "Invite:" +msgstr "Запросити:" + +#: src/fe-gtk/ignoregui.c:385 src/fe-gtk/notifygui.c:428 +msgid "Add..." +msgstr "Додати..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "Назва каналу надто коротка, спробуйте ще раз." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: з'єднання завершено" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "З'єднання з %s завершено." + +#: src/fe-gtk/joind.c:159 +msgid "" +"In the Server-List window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" +"У вікні Список серверів, для цієї мережі не визначено канали (кімнати для " +"розмов) для автоматичного входу." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Що бажаєте зробити далі?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "_Нічого, я сам зайду на канал." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "_Зайти на канал:" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Введіть назву каналу, на який треба зайти, якщо ви її знаєте." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "_Відкрити вікно Списоку каналів." + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "Отримання списку каналів може зайняти хвилину чи дві." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "_Завжди показувати це вікно після з'єднання." + +#: src/fe-gtk/maingui.c:506 +msgid "Dialog with" +msgstr "Діалог" + +#: src/fe-gtk/maingui.c:793 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Тема для %s: %s" + +#: src/fe-gtk/maingui.c:798 +msgid "No topic is set" +msgstr "Не встановлено тему" + +#: src/fe-gtk/maingui.c:1182 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "На цьому сервері досі відкриті %d каналів чи діалогів. Закрити їх?" + +#: src/fe-gtk/maingui.c:1276 +msgid "Quit XChat?" +msgstr "Залишити XChat?" + +#: src/fe-gtk/maingui.c:1297 +msgid "Don't ask next time." +msgstr "Не питати наступного разу." + +#: src/fe-gtk/maingui.c:1303 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Ви підключені до %i IRC мереж." + +#: src/fe-gtk/maingui.c:1305 +msgid "Are you sure you want to quit?" +msgstr "Ви дійсно бажаєте вийти?" + +#: src/fe-gtk/maingui.c:1307 +msgid "Some file transfers are still active." +msgstr "Деякі файли все ще завантажуються." + +#: src/fe-gtk/maingui.c:1325 +msgid "_Minimize to Tray" +msgstr "_Мінімізуватися в трей" + +#: src/fe-gtk/maingui.c:1545 +msgid "Insert Attribute or Color Code" +msgstr "Вставити атрибут або код кольору" + +#: src/fe-gtk/maingui.c:1547 +msgid "<b>Bold</b>" +msgstr "<b>Жирний</b>" + +#: src/fe-gtk/maingui.c:1548 +msgid "<u>Underline</u>" +msgstr "<u>Підкреслений</u>" + +#: src/fe-gtk/maingui.c:1550 +msgid "Normal" +msgstr "Звичайний" + +#: src/fe-gtk/maingui.c:1552 +msgid "Colors 0-7" +msgstr "Кольори 0-7" + +#: src/fe-gtk/maingui.c:1562 +msgid "Colors 8-15" +msgstr "Кольори 8-15" + +#: src/fe-gtk/maingui.c:1605 +msgid "_Settings" +msgstr "П_араметри" + +#: src/fe-gtk/maingui.c:1607 +msgid "_Log to Disk" +msgstr "Писати _журнал" + +#: src/fe-gtk/maingui.c:1608 +msgid "_Reload Scrollback" +msgstr "_Перечитувати прокрутку" + +#: src/fe-gtk/maingui.c:1610 +msgid "_Hide Join/Part Messages" +msgstr "_Сховати повідомлення входу/виходу" + +#: src/fe-gtk/maingui.c:1618 +msgid "_Extra Alerts" +msgstr "_Додаткові сигнали" + +#: src/fe-gtk/maingui.c:1620 +msgid "Beep on _Message" +msgstr "Звукове сповіщення про повідомлення" + +#: src/fe-gtk/maingui.c:1621 +msgid "Blink Tray _Icon" +msgstr "Блимати у треї" + +#: src/fe-gtk/maingui.c:1622 +msgid "Blink Task _Bar" +msgstr "Блимати на панелі" + +#: src/fe-gtk/maingui.c:1660 src/fe-gtk/menu.c:2124 +msgid "_Detach" +msgstr "_Відокремити" + +#: src/fe-gtk/maingui.c:1662 src/fe-gtk/menu.c:2125 src/fe-gtk/menu.c:2130 +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "_Закрити" + +#: src/fe-gtk/maingui.c:2000 src/fe-gtk/maingui.c:2106 +msgid "User limit must be a number!\n" +msgstr "Обмеження користувачів має бути числом!\n" + +#: src/fe-gtk/maingui.c:2128 +msgid "Topic Protection" +msgstr "Захист теми" + +#: src/fe-gtk/maingui.c:2129 +msgid "No outside messages" +msgstr "Без зовнішніх повідомлень" + +#: src/fe-gtk/maingui.c:2130 +msgid "Secret" +msgstr "Таємний" + +#: src/fe-gtk/maingui.c:2131 +msgid "Invite Only" +msgstr "Лише запрошені" + +#: src/fe-gtk/maingui.c:2133 +msgid "Moderated" +msgstr "Модерований" + +#: src/fe-gtk/maingui.c:2134 +msgid "Ban List" +msgstr "Список банів" + +#: src/fe-gtk/maingui.c:2136 +msgid "Keyword" +msgstr "Ключове слово" + +#: src/fe-gtk/maingui.c:2148 +msgid "User Limit" +msgstr "Обмеження користувачів" + +#: src/fe-gtk/maingui.c:2257 +msgid "Show/Hide userlist" +msgstr "Показати/Сховати список користувачів" + +#: src/fe-gtk/maingui.c:2382 +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 "" +"Не вдалося встановити прозоре тло!\n" +"\n" +"Можливо, ви використовуєте несумісний віконний\n" +"менеджер, який не підтримує таку можливість.\n" + +#: src/fe-gtk/maingui.c:2653 +msgid "Enter new nickname:" +msgstr "Введіть новий нікнейм:" + +#: src/fe-gtk/menu.c:126 +msgid "Host unknown" +msgstr "Невідомий вузол" + +#: src/fe-gtk/menu.c:610 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:616 src/fe-gtk/menu.c:620 +msgid "Real Name:" +msgstr "Справжнє ім'я:" + +#: src/fe-gtk/menu.c:624 +msgid "User:" +msgstr "Користувач:" + +#: src/fe-gtk/menu.c:628 +msgid "Country:" +msgstr "Країна:" + +#: src/fe-gtk/menu.c:632 +msgid "Server:" +msgstr "Сервер:" + +#: src/fe-gtk/menu.c:640 +#, c-format +msgid "%u minutes ago" +msgstr "%u хвилин тому" + +#: src/fe-gtk/menu.c:642 src/fe-gtk/menu.c:645 +msgid "Last Msg:" +msgstr "Останнє повідомлення:" + +#: src/fe-gtk/menu.c:655 +msgid "Away Msg:" +msgstr "Повідомл.про відсутність:" + +#: src/fe-gtk/menu.c:710 +#, c-format +msgid "%d nicks selected." +msgstr "%d ніків вибрано." + +#: src/fe-gtk/menu.c:835 +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 "" +"Панель меню прихована. Ви можете знову вивести її натискаючи F9 або " +"клацнувши у правій нижній частині головної текстової області." + +#: src/fe-gtk/menu.c:930 +msgid "Open Link in Browser" +msgstr "Відкрити посилання у веб-переглядачі" + +#: src/fe-gtk/menu.c:931 +msgid "Copy Selected Link" +msgstr "Копіювати виділене посилання" + +#: src/fe-gtk/menu.c:993 src/fe-gtk/menu.c:1264 +msgid "Join Channel" +msgstr "Зайти на канал" + +#: src/fe-gtk/menu.c:997 +msgid "Part Channel" +msgstr "Залишити канал" + +#: src/fe-gtk/menu.c:999 +msgid "Cycle Channel" +msgstr "Канали по колу" + +#: src/fe-gtk/menu.c:1035 +msgid "_Remove from Favorites" +msgstr "_Видалити з улюблених" + +#: src/fe-gtk/menu.c:1037 +msgid "_Add to Favorites" +msgstr "_Додати до улюблених" + +#: src/fe-gtk/menu.c:1056 +msgid "XChat: User menu" +msgstr "XChat: Меню користувача" + +#: src/fe-gtk/menu.c:1065 +msgid "Edit This Menu..." +msgstr "Редагувати меню..." + +#: src/fe-gtk/menu.c:1266 +msgid "Retrieve channel list..." +msgstr "Отримання списку каналів..." + +#: src/fe-gtk/menu.c:1334 +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 = xchat 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 "" +"Команди користувача - Спеціальні коди:\n" +"\n" +"%c = поточний канал\n" +"%e = назва поточної мережі\n" +"%m = інформація про машину\n" +"%n = ваш нікнейм\n" +"%t = час/дата\n" +"%v = версія xchat\n" +"%2 = слово 2\n" +"%3 = слово 3\n" +"&2 = від слова 2 до кінця рядку\n" +"&3 = від слова 3 до кінця рядку\n" +"\n" +"Наприклад:\n" +"/cmd john hello\n" +"\n" +"%2 буде \"john\"\n" +"&2 буде \"john hello\"." + +#: src/fe-gtk/menu.c:1350 +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 "" +"Кнопки списку користувачів - Спеціальні коди:\n" +"\n" +"%a = всі вибрані нікнейми\n" +"%c = поточний канал\n" +"%e = назва поточної мережі\n" +"%h = назва вузла вибраної особи\n" +"%m = інформація про машину\n" +"%n = ваш нікнейм\n" +"%s = вибраний нікнейм\n" +"%t = час/дата\n" + +#: src/fe-gtk/menu.c:1360 +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 "" +"Кнопки діалогу - Спеціальні коди:\n" +"\n" +"%a = всі вибрані нікнейми\n" +"%c = поточний канал\n" +"%e = назва поточної мережі\n" +"%h = назва вузла вибраної особи\n" +"%m = інформація про машину\n" +"%n = ваш нікнейм\n" +"%s = вибраний нікнейм\n" +"%t = час/дата\n" + +#: src/fe-gtk/menu.c:1370 +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 "" +"Відповіді CTCP - Спеціальні коди:\n" +"\n" +"%d = дані (повний ctcp)\n" +"%m = інформація про машину\n" +"%e = назва поточної мережі\n" +"%s = нікнейм відправника ctcp\n" +"%t = час/дата\n" +"%2 = слово 2\n" +"%3 = слово 3\n" +"&2 = від слова 2 до кінця рядку\n" +"&3 = від слова 3 до кінця рядку\n" +"\n" + +#: src/fe-gtk/menu.c:1381 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"Обробка URL посилань - Спеціальні коди:\n" +"\n" +"%s = рядок URL\n" +"\n" +"Додавання ! перед командою\n" +"вказує, що команда надсилатиметься\n" +"до командної оболонки замість XChat" + +#: src/fe-gtk/menu.c:1390 +msgid "XChat: User Defined Commands" +msgstr "XChat: Визначені користувачем команди" + +#: src/fe-gtk/menu.c:1397 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: Контекстне меню списку користувачів" + +#: src/fe-gtk/menu.c:1404 +msgid "Replace with" +msgstr "Замінити на" + +#: src/fe-gtk/menu.c:1404 +msgid "XChat: Replace" +msgstr "X-Chat: Заміни" + +#: src/fe-gtk/menu.c:1411 +msgid "XChat: URL Handlers" +msgstr "XChat: Обробка URL посилань" + +#: src/fe-gtk/menu.c:1430 +msgid "XChat: Userlist buttons" +msgstr "XChat: Кнопки списку користувачів" + +#: src/fe-gtk/menu.c:1437 +msgid "XChat: Dialog buttons" +msgstr "XChat: Діалогові кнопки" + +#: src/fe-gtk/menu.c:1444 +msgid "XChat: CTCP Replies" +msgstr "XChat: Відповіді CTCP" + +#: src/fe-gtk/menu.c:1550 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1551 +msgid "Network Li_st..." +msgstr "С_писок мереж..." + +#: src/fe-gtk/menu.c:1554 +msgid "_New" +msgstr "_Створити" + +#: src/fe-gtk/menu.c:1555 +msgid "Server Tab..." +msgstr "Вкладку сервера.." + +#: src/fe-gtk/menu.c:1556 +msgid "Channel Tab..." +msgstr "Вкладку каналу..." + +#: src/fe-gtk/menu.c:1557 +msgid "Server Window..." +msgstr "Вікно серверу..." + +#: src/fe-gtk/menu.c:1558 +msgid "Channel Window..." +msgstr "Вікно каналу..." + +#: src/fe-gtk/menu.c:1563 src/fe-gtk/menu.c:1565 +msgid "_Load Plugin or Script..." +msgstr "_Завантажити модуль або скрипт..." + +#: src/fe-gtk/menu.c:1573 src/fe-gtk/plugin-tray.c:604 +msgid "_Quit" +msgstr "Ви_йти" + +#: src/fe-gtk/menu.c:1575 +msgid "_View" +msgstr "_Вигляд" + +#: src/fe-gtk/menu.c:1577 +msgid "_Menu Bar" +msgstr "Панель _меню" + +#: src/fe-gtk/menu.c:1578 +msgid "_Topic Bar" +msgstr "Панель _теми" + +#: src/fe-gtk/menu.c:1579 +msgid "_User List" +msgstr "Список користувачів" + +#: src/fe-gtk/menu.c:1580 +msgid "U_serlist Buttons" +msgstr "Кнопки списку _користувачів" + +#: src/fe-gtk/menu.c:1581 +msgid "M_ode Buttons" +msgstr "Кнопки _режиму" + +#: src/fe-gtk/menu.c:1583 +msgid "_Channel Switcher" +msgstr "Перемикач _каналів" + +#: src/fe-gtk/menu.c:1585 +msgid "_Tabs" +msgstr "_Вкладки" + +#: src/fe-gtk/menu.c:1586 +msgid "T_ree" +msgstr "Д_ерево" + +#: src/fe-gtk/menu.c:1588 +msgid "_Network Meters" +msgstr "Мережні _лічильники" + +#: src/fe-gtk/menu.c:1590 +msgid "Off" +msgstr "вимкнено" + +#: src/fe-gtk/menu.c:1591 +msgid "Graph" +msgstr "графічний" + +#: src/fe-gtk/menu.c:1596 +msgid "_Server" +msgstr "_Сервер" + +#: src/fe-gtk/menu.c:1597 +msgid "_Disconnect" +msgstr "_Роз'єднати" + +#: src/fe-gtk/menu.c:1598 +msgid "_Reconnect" +msgstr "_Переприєднати" + +#: src/fe-gtk/menu.c:1599 +msgid "Join a Channel..." +msgstr "Зайти на канал..." + +#: src/fe-gtk/menu.c:1600 +msgid "List of Channels..." +msgstr "Список каналів..." + +#: src/fe-gtk/menu.c:1603 +msgid "Marked Away" +msgstr "Відмітити як \"Відсутній\"" + +#: src/fe-gtk/menu.c:1605 +msgid "_Usermenu" +msgstr "_Меню користувача" + +#: src/fe-gtk/menu.c:1607 +msgid "S_ettings" +msgstr "П_араметри" + +#: src/fe-gtk/menu.c:1608 +msgid "_Preferences" +msgstr "_Параметри" + +#: src/fe-gtk/menu.c:1610 +msgid "Advanced" +msgstr "Додатково" + +#: src/fe-gtk/menu.c:1611 +msgid "Auto Replace..." +msgstr "Автозаміна..." + +#: src/fe-gtk/menu.c:1612 +msgid "CTCP Replies..." +msgstr "CTCP Відповіді..." + +#: src/fe-gtk/menu.c:1613 +msgid "Dialog Buttons..." +msgstr "Кнопки діалогів..." + +#: src/fe-gtk/menu.c:1614 +msgid "Keyboard Shortcuts..." +msgstr "Комбінації клавіш..." + +#: src/fe-gtk/menu.c:1615 +msgid "Text Events..." +msgstr "Тексти подій..." + +#: src/fe-gtk/menu.c:1616 +msgid "URL Handlers..." +msgstr "Обробники URL..." + +#: src/fe-gtk/menu.c:1617 +msgid "User Commands..." +msgstr "Команди користувача..." + +#: src/fe-gtk/menu.c:1618 +msgid "Userlist Buttons..." +msgstr "Кнопки списку користувачів..." + +#: src/fe-gtk/menu.c:1619 +msgid "Userlist Popup..." +msgstr "Меню списку користувачів..." + +#: src/fe-gtk/menu.c:1622 +msgid "_Window" +msgstr "_Вікно" + +#: src/fe-gtk/menu.c:1623 +msgid "Ban List..." +msgstr "Список банів..." + +#: src/fe-gtk/menu.c:1624 +msgid "Character Chart..." +msgstr "Палітра символів..." + +#: src/fe-gtk/menu.c:1625 +msgid "Direct Chat..." +msgstr "Прямі розмови(DCC).." + +#: src/fe-gtk/menu.c:1626 +msgid "File Transfers..." +msgstr "Передача файлів..." + +#: src/fe-gtk/menu.c:1627 +msgid "Friends List..." +msgstr "Список друзів..." + +#: src/fe-gtk/menu.c:1628 +msgid "Ignore List..." +msgstr "Список ігнорувань..." + +#: src/fe-gtk/menu.c:1629 +msgid "Plugins and Scripts..." +msgstr "Модулі та скрипти..." + +#: src/fe-gtk/menu.c:1630 +msgid "Raw Log..." +msgstr "Журнал подій..." + +#: src/fe-gtk/menu.c:1631 +msgid "URL Grabber..." +msgstr "Захоплювач URL..." + +#: src/fe-gtk/menu.c:1633 +msgid "Reset Marker Line" +msgstr "Скинути маркер" + +#: src/fe-gtk/menu.c:1634 +msgid "C_lear Text" +msgstr "О_чистити текст" + +#: src/fe-gtk/menu.c:1636 +msgid "Search Text..." +msgstr "Знайти текст..." + +#: src/fe-gtk/menu.c:1637 +msgid "Save Text..." +msgstr "Зберегти текст..." + +#: src/fe-gtk/menu.c:1639 src/fe-gtk/menu.c:2116 +msgid "_Help" +msgstr "_Довідка" + +#: src/fe-gtk/menu.c:1640 +msgid "_Contents" +msgstr "_Зміст" + +#: src/fe-gtk/menu.c:1642 +msgid "Check for updates" +msgstr "Перевірити оновлення" + +#: src/fe-gtk/menu.c:1644 +msgid "_About" +msgstr "_Про програму" + +#: src/fe-gtk/menu.c:2129 +msgid "_Attach" +msgstr "_Приєднати" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "Бачили востаннє" + +#: src/fe-gtk/notifygui.c:182 +msgid "Offline" +msgstr "Відключений" + +#: src/fe-gtk/notifygui.c:202 src/fe-gtk/setup.c:231 +msgid "Never" +msgstr "Ніколи" + +#: src/fe-gtk/notifygui.c:205 src/fe-gtk/notifygui.c:230 +#, c-format +msgid "%d minutes ago" +msgstr "%d хвилин тому" + +#: src/fe-gtk/notifygui.c:220 +msgid "Online" +msgstr "Підключений" + +#: src/fe-gtk/notifygui.c:349 +msgid "Enter nickname to add:" +msgstr "Введіть нікнейм:" + +#: src/fe-gtk/notifygui.c:378 +msgid "Notify on these networks:" +msgstr "Сповіщати в таких мережах:" + +#: src/fe-gtk/notifygui.c:389 +msgid "Comma separated list of networks is accepted." +msgstr "Список допустимих мереж (елементи розділяються комами)." + +#: src/fe-gtk/notifygui.c:415 +msgid "XChat: Friends List" +msgstr "XChat: Список друзів" + +#: src/fe-gtk/notifygui.c:436 +msgid "Open Dialog" +msgstr "Відкрити діалогове вікно" + +#: src/fe-gtk/plugin-tray.c:248 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" +"Не вдалося знайти 'notify-send' щоб відправляти\n" +"плаваючі повідомлення. Перевірте, чи всі компоненти\n" +"libnotify на місці." + +#: src/fe-gtk/plugin-tray.c:299 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat: З'єднання з %u мережами та %u каналами" + +#: src/fe-gtk/plugin-tray.c:583 +msgid "_Restore" +msgstr "_Відновити" + +#: src/fe-gtk/plugin-tray.c:585 +msgid "_Hide" +msgstr "С_ховати" + +#: src/fe-gtk/plugin-tray.c:588 +msgid "_Blink on" +msgstr "_Блимати на" + +#: src/fe-gtk/plugin-tray.c:589 src/fe-gtk/setup.c:479 +msgid "Channel Message" +msgstr "Повідомлення каналу" + +#: src/fe-gtk/plugin-tray.c:590 src/fe-gtk/setup.c:480 +msgid "Private Message" +msgstr "Приватне повідомлення" + +#: src/fe-gtk/plugin-tray.c:591 src/fe-gtk/setup.c:481 +msgid "Highlighted Message" +msgstr "Виділене повідомлення" + +#: src/fe-gtk/plugin-tray.c:594 +msgid "_Change status" +msgstr "_Змінити статус" + +#: src/fe-gtk/plugin-tray.c:596 +msgid "_Away" +msgstr "_Немає" + +#: src/fe-gtk/plugin-tray.c:599 +msgid "_Back" +msgstr "_Назад" + +#: src/fe-gtk/plugin-tray.c:648 src/fe-gtk/plugin-tray.c:656 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "XChat: Виділені повідомлення від: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:651 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat: %u виділених повідомлень, останнє від: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:674 src/fe-gtk/plugin-tray.c:681 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat: Нове публічне повідомлення від: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:677 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat: %u нових публічних повідомленнь." + +#: src/fe-gtk/plugin-tray.c:703 src/fe-gtk/plugin-tray.c:710 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat: Приватне повідомлення від: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:706 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat: %u приватних повідомленнь, останнє від: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:756 src/fe-gtk/plugin-tray.c:764 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: Передача файлу від: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:759 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "XChat: %u передач файлів, остання від: %s (%s)" + +#: src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Версія" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Опис" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Виберіть модуль або скрипт для завантаження" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: модулі та скрипти" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "З_авантажити" + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "_Вивантажити" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:438 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Зберегти як..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: Журнал подій (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Очистити журнал" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Відкрите вам вікно пошуку вже не існує." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "Пошук досяг кінця, нічого не знайдено." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Пошук" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "Враховувати _регістр" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "У _зворотньому напрямку" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "З_найти" + +#: src/fe-gtk/servlistgui.c:171 src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "Нова мережа" + +#: src/fe-gtk/servlistgui.c:558 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Дійсно видалити мережу \"%s\" та усі її сервери?" + +#: src/fe-gtk/servlistgui.c:740 +msgid "#channel" +msgstr "#канал" + +#: src/fe-gtk/servlistgui.c:847 +msgid "XChat: Favorite Channels (Auto-Join List)" +msgstr "XChat: Улюблениі канали (список для автоматичного заходу)" + +#: src/fe-gtk/servlistgui.c:859 +#, c-format +msgid "These channels will be joined whenever you connect to %s." +msgstr "Заходити на ці канали, коли ви підключитесь до %s." + +#: src/fe-gtk/servlistgui.c:902 +msgid "Key (Password)" +msgstr "Ключ (пароль)" + +#: src/fe-gtk/servlistgui.c:933 src/fe-gtk/servlistgui.c:1535 +msgid "_Edit" +msgstr "_Правка" + +#: src/fe-gtk/servlistgui.c:969 +#, c-format +msgid "%s has been removed." +msgstr "%s видалено." + +#: src/fe-gtk/servlistgui.c:989 +#, c-format +msgid "%s has been added." +msgstr "%s додано." + +#: src/fe-gtk/servlistgui.c:1013 +msgid "User name and Real name cannot be left blank." +msgstr "" +"Ім'я користувача та справжнє ім'я користувача не пожуть бути порожніми." + +#: src/fe-gtk/servlistgui.c:1366 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: Редагування %s" + +#: src/fe-gtk/servlistgui.c:1385 +#, c-format +msgid "Servers for %s" +msgstr "Сервер: %s" + +#: src/fe-gtk/servlistgui.c:1396 +msgid "Connect to selected server only" +msgstr "З'єднатись лише з виділеним сервером" + +#: src/fe-gtk/servlistgui.c:1397 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Не змінювати циклічно сервер при помилках з'єднання." + +#: src/fe-gtk/servlistgui.c:1399 +msgid "Your Details" +msgstr "Подробиці про вас" + +#: src/fe-gtk/servlistgui.c:1405 +msgid "Use global user information" +msgstr "Використовувати глобальну інформацію" + +#: src/fe-gtk/servlistgui.c:1408 src/fe-gtk/servlistgui.c:1640 +msgid "_Nick name:" +msgstr "П_різвисько:" + +#: src/fe-gtk/servlistgui.c:1412 src/fe-gtk/servlistgui.c:1647 +msgid "Second choice:" +msgstr "Другий вибір:" + +#: src/fe-gtk/servlistgui.c:1416 src/fe-gtk/servlistgui.c:1661 +msgid "_User name:" +msgstr "_Ім'я користувача:" + +#: src/fe-gtk/servlistgui.c:1420 src/fe-gtk/servlistgui.c:1668 +msgid "Rea_l name:" +msgstr "_Справжнє ім'я:" + +#: src/fe-gtk/servlistgui.c:1423 +msgid "Connecting" +msgstr "З'єднання" + +#: src/fe-gtk/servlistgui.c:1429 +msgid "Auto connect to this network at startup" +msgstr "Автоматично з'єднуватись при старті" + +#: src/fe-gtk/servlistgui.c:1431 +msgid "Bypass proxy server" +msgstr "В обхід проксі серверу" + +#: src/fe-gtk/servlistgui.c:1433 +msgid "Use SSL for all the servers on this network" +msgstr "Використовувати SSL для всіх серверів у цій мережі" + +#: src/fe-gtk/servlistgui.c:1438 +msgid "Accept invalid SSL certificate" +msgstr "Приймати неправильні сертифікати SSL" + +#: src/fe-gtk/servlistgui.c:1444 +msgid "_Favorite channels:" +msgstr "_Улюблені канали:" + +#: src/fe-gtk/servlistgui.c:1446 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Канали для з'єднання, відокремлені комами, але не пробілами!" + +#: src/fe-gtk/servlistgui.c:1449 +msgid "Connect command:" +msgstr "Команда з'єднання:" + +#: src/fe-gtk/servlistgui.c:1451 +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 "" +"Додаткова команда, яку слід виконати після під'ключення. Якщо потрібно " +"декілька команд, напишіть LOAD -e <назва файлу>, де <назва файлу> - це " +"текстовий файл з командами для виконання." + +#: src/fe-gtk/servlistgui.c:1454 +msgid "Nickserv password:" +msgstr "Пароль для NickServ:" + +#: src/fe-gtk/servlistgui.c:1456 +msgid "" +"If your nickname requires a password, enter it here. Not all IRC networks " +"support this." +msgstr "" +"Якщо нікнейм вимагає пароль, введіть його тут. Це підтримують не усі " +"мережі IRC." + +#: src/fe-gtk/servlistgui.c:1460 +msgid "Server password:" +msgstr "Пароль сервера:" + +#: src/fe-gtk/servlistgui.c:1462 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Пароль сервера, залиште порожнім, якщо сумніваєтесь." + +#: src/fe-gtk/servlistgui.c:1465 +msgid "Character set:" +msgstr "Набір символів:" + +#: src/fe-gtk/servlistgui.c:1618 +msgid "XChat: Network List" +msgstr "XChat: Список мереж" + +#: src/fe-gtk/servlistgui.c:1630 +msgid "User Information" +msgstr "Інформація про користувача" + +#: src/fe-gtk/servlistgui.c:1654 +msgid "Third choice:" +msgstr "Третій вибір:" + +#: src/fe-gtk/servlistgui.c:1714 +msgid "Networks" +msgstr "Мережі" + +#: src/fe-gtk/servlistgui.c:1755 +msgid "Skip network list on startup" +msgstr "Не показувати список мереж при старті" + +#: src/fe-gtk/servlistgui.c:1787 +msgid "_Edit..." +msgstr "_Правка..." + +#: src/fe-gtk/servlistgui.c:1794 +msgid "_Sort" +msgstr "С_ортувати" + +#: src/fe-gtk/servlistgui.c:1795 +msgid "" +"Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN " +"keys to move a row." +msgstr "" +"Сотрувати список мереж у алфавітному порядку. Для переміщення рядка " +"користуйтесь клавішами SHIFT-UP та SHIFT-DOWN." + +#: src/fe-gtk/servlistgui.c:1820 +msgid "C_onnect" +msgstr "Під'_єднатися" + +#: src/fe-gtk/setup.c:104 +msgid "Text Box Appearance" +msgstr "Зовнішній вигляд текстового поля" + +#: src/fe-gtk/setup.c:105 +msgid "Font:" +msgstr "Шрифт:" + +#: src/fe-gtk/setup.c:106 +msgid "Background image:" +msgstr "Зображення тла:" + +#: src/fe-gtk/setup.c:107 +msgid "Scrollback lines:" +msgstr "Кількість ліній прокрутки:" + +#: src/fe-gtk/setup.c:108 +msgid "Colored nick names" +msgstr "Виділяти нікнейми кольором" + +#: src/fe-gtk/setup.c:109 +msgid "Give each person on IRC a different color" +msgstr "Надати кожній особі в IRC інший колір" + +#: src/fe-gtk/setup.c:110 +msgid "Indent nick names" +msgstr "Нікнейми з відступом" + +#: src/fe-gtk/setup.c:111 +msgid "Make nick names right-justified" +msgstr "Вирівнювання нікнеймів справа" + +#: src/fe-gtk/setup.c:112 +msgid "Transparent background" +msgstr "Прозоре тло" + +#: src/fe-gtk/setup.c:113 +msgid "Show marker line" +msgstr "Показувати маркер" + +#: src/fe-gtk/setup.c:114 +msgid "Insert a red line after the last read text." +msgstr "Вставляє червоний рядок після останнього прочитаного тексту." + +#: src/fe-gtk/setup.c:115 +msgid "Transparency Settings" +msgstr "Параметри прозорості" + +#: src/fe-gtk/setup.c:116 +msgid "Red:" +msgstr "Червоний" + +#: src/fe-gtk/setup.c:117 +msgid "Green:" +msgstr "Зелений:" + +#: src/fe-gtk/setup.c:118 +msgid "Blue:" +msgstr "Синій:" + +#: src/fe-gtk/setup.c:120 src/fe-gtk/setup.c:391 +msgid "Time Stamps" +msgstr "Відображати час" + +#: src/fe-gtk/setup.c:121 +msgid "Enable time stamps" +msgstr "Вносити час події в журнал" + +#: src/fe-gtk/setup.c:122 +msgid "Time stamp format:" +msgstr "Формат відображення часу:" + +#: src/fe-gtk/setup.c:123 src/fe-gtk/setup.c:394 +msgid "See strftime manpage for details." +msgstr "Докладнішу інформацію дивіться у довідці з strftime." + +#: src/fe-gtk/setup.c:130 src/fe-gtk/setup.c:170 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:131 +msgid "Last-spoke order" +msgstr "Порядок \"останній хто говорив\"" + +#: src/fe-gtk/setup.c:137 src/fe-gtk/setup.c:1701 +msgid "Input box" +msgstr "Поле вводу" + +#: src/fe-gtk/setup.c:138 src/fe-gtk/setup.c:202 +msgid "Use the Text box font and colors" +msgstr "Шрифт та кольори як в текстовому блоці" + +#: src/fe-gtk/setup.c:140 +msgid "Spell checking" +msgstr "Перевірка орфографії" + +#: src/fe-gtk/setup.c:143 +msgid "Nick Completion" +msgstr "Доповнення ніків:" + +#: src/fe-gtk/setup.c:144 +msgid "Automatic nick completion (without TAB key)" +msgstr "Автоматичне доповнення прізвиськ (без клавіші TAB)" + +#: src/fe-gtk/setup.c:146 +msgid "Nick completion suffix:" +msgstr "Суфікс доповнення нікнейму:" + +#: src/fe-gtk/setup.c:147 +msgid "Nick completion sorted:" +msgstr "Сортування доповнення нікнейму:" + +#: src/fe-gtk/setup.c:150 +msgid "Input Box Codes" +msgstr "Коди у полі вводу" + +#: src/fe-gtk/setup.c:151 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Інтерпретувати %nnn як значення ASCII" + +#: src/fe-gtk/setup.c:152 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Інтерпретувати %C, %B як колір, жирний тощо" + +#: src/fe-gtk/setup.c:169 +msgid "A-Z, Ops first" +msgstr "A-Z, оператори спочатку" + +#: src/fe-gtk/setup.c:171 +msgid "Z-A, Ops last" +msgstr "Z-A, оператори наприкінці" + +#: src/fe-gtk/setup.c:172 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:173 +msgid "Unsorted" +msgstr "без сортування" + +#: src/fe-gtk/setup.c:179 src/fe-gtk/setup.c:191 +msgid "Left (Upper)" +msgstr "Зліва (вгорі)" + +#: src/fe-gtk/setup.c:180 src/fe-gtk/setup.c:192 +msgid "Left (Lower)" +msgstr "Зліва (внизу)" + +#: src/fe-gtk/setup.c:181 src/fe-gtk/setup.c:193 +msgid "Right (Upper)" +msgstr "Справа (вгорі)" + +#: src/fe-gtk/setup.c:182 src/fe-gtk/setup.c:194 +msgid "Right (Lower)" +msgstr "Справа (внизу)" + +#: src/fe-gtk/setup.c:183 +msgid "Top" +msgstr "вгорі" + +#: src/fe-gtk/setup.c:184 +msgid "Bottom" +msgstr "внизу" + +#: src/fe-gtk/setup.c:185 +msgid "Hidden" +msgstr "приховані" + +#: src/fe-gtk/setup.c:200 +msgid "User List" +msgstr "Список користувачів" + +#: src/fe-gtk/setup.c:201 +msgid "Show hostnames in user list" +msgstr "Показувати назви вузлів у списку користувачів" + +#: src/fe-gtk/setup.c:204 +msgid "User list sorted by:" +msgstr "Сортування списку користувачів:" + +#: src/fe-gtk/setup.c:205 +msgid "Show user list at:" +msgstr "Показувати список користувачів:" + +#: src/fe-gtk/setup.c:207 +msgid "Away tracking" +msgstr "Відслідковування статусу 'відсутній'" + +#: src/fe-gtk/setup.c:208 +msgid "Track the Away status of users and mark them in a different color" +msgstr "" +"Слідкувати за статусом користувачів Відійшов та позначати їх іншим кольором" + +#: src/fe-gtk/setup.c:209 +msgid "On channels smaller than:" +msgstr "На каналах менших за:" + +#: src/fe-gtk/setup.c:211 +msgid "Action Upon Double Click" +msgstr "Реакція на подвійне клацання" + +#: src/fe-gtk/setup.c:223 +msgid "Windows" +msgstr "Вікнах" + +#: src/fe-gtk/setup.c:224 src/fe-gtk/setup.c:240 +msgid "Tabs" +msgstr "Вкладках" + +#: src/fe-gtk/setup.c:232 +msgid "Always" +msgstr "Завжди" + +#: src/fe-gtk/setup.c:233 +msgid "Only requested tabs" +msgstr "Лише зазначені вкладки" + +#: src/fe-gtk/setup.c:242 +msgid "Tree" +msgstr "Д_ерево" + +#: src/fe-gtk/setup.c:249 +msgid "Switcher type:" +msgstr "Тип перемикача:" + +#: src/fe-gtk/setup.c:250 +msgid "Open an extra tab for server messages" +msgstr "Відкривати вкладку для повідомлень сервера" + +#: src/fe-gtk/setup.c:251 +msgid "Open an extra tab for server notices" +msgstr "Відкривати вкладку для зауважень сервера" + +#: src/fe-gtk/setup.c:252 +msgid "Open a new tab when you receive a private message" +msgstr "Відкривати вкладку при отриманні приватних повідомлень" + +#: src/fe-gtk/setup.c:253 +msgid "Sort tabs in alphabetical order" +msgstr "Сортувати вкладки за алфавітом" + +#: src/fe-gtk/setup.c:254 +msgid "Smaller text" +msgstr "Маленький текст" + +#: src/fe-gtk/setup.c:256 +msgid "Focus new tabs:" +msgstr "Фокус на нові вкладки:" + +#: src/fe-gtk/setup.c:258 +msgid "Show channel switcher at:" +msgstr "Показати перемикач каналів:" + +#: src/fe-gtk/setup.c:259 +msgid "Shorten tab labels to:" +msgstr "Скорочувати вкладки до:" + +#: src/fe-gtk/setup.c:259 +msgid "letters." +msgstr "симв." + +#: src/fe-gtk/setup.c:261 +msgid "Tabs or Windows" +msgstr "Вкладках або вікнах" + +#: src/fe-gtk/setup.c:262 +msgid "Open channels in:" +msgstr "Відкривати канали у:" + +#: src/fe-gtk/setup.c:263 +msgid "Open dialogs in:" +msgstr "Відкривати діалоги у:" + +#: src/fe-gtk/setup.c:264 +msgid "Open utilities in:" +msgstr "Відкривати утиліти у:" + +#: src/fe-gtk/setup.c:264 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Відкривати DCC, Ігнорування, Сповіщення, тощо у вкладках або вікнах?" + +#: src/fe-gtk/setup.c:271 +msgid "No" +msgstr "Ні" + +#: src/fe-gtk/setup.c:272 +msgid "Yes" +msgstr "Так" + +#: src/fe-gtk/setup.c:273 +msgid "Browse for save folder every time" +msgstr "Вибирати теку збереження щоразу" + +#: src/fe-gtk/setup.c:279 +msgid "Files and Directories" +msgstr "Файли та каталоги" + +#: src/fe-gtk/setup.c:280 +msgid "Auto accept file offers:" +msgstr "Автоматично приймати файли:" + +#: src/fe-gtk/setup.c:281 +msgid "Download files to:" +msgstr "Завантажувати файли в:" + +#: src/fe-gtk/setup.c:282 +msgid "Move completed files to:" +msgstr "Переміщувати завершені файли в:" + +#: src/fe-gtk/setup.c:283 +msgid "Save nick name in filenames" +msgstr "Зберігати нікнейм в назвах файлів" + +#: src/fe-gtk/setup.c:285 +msgid "Network Settings" +msgstr "Параметри мережі" + +#: src/fe-gtk/setup.c:286 +msgid "Get my address from the IRC server" +msgstr "Отримувати власну IP адресу з IRC сервера" + +#: src/fe-gtk/setup.c:287 +msgid "" +"Asks the IRC server for your real address. Use this if you have a 192.168.*." +"* address!" +msgstr "" +"Виконайте команду /WHOIS для свого нікнейму, щоб визначити сою реальну " +"адресу. Використовуйте це, якщо ваша адреса 192.168.*.* !" + +#: src/fe-gtk/setup.c:288 +msgid "DCC IP address:" +msgstr "IP адреса DCC:" + +#: src/fe-gtk/setup.c:289 +msgid "Claim you are at this address when offering files." +msgstr "Заявляти цю адресу при пропонуванні файлів." + +#: src/fe-gtk/setup.c:290 +msgid "First DCC send port:" +msgstr "Початковий порт DCC:" + +#: src/fe-gtk/setup.c:291 +msgid "Last DCC send port:" +msgstr "Заключний порт DCC:" + +#: src/fe-gtk/setup.c:292 +msgid "!Leave ports at zero for full range." +msgstr "!Залиште порти нульовими для повного діапазону." + +#: src/fe-gtk/setup.c:294 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Максимальна швидкість передачі файлів (байт на секунду)" + +#: src/fe-gtk/setup.c:295 +msgid "One upload:" +msgstr "Одне завантаження:" + +#: src/fe-gtk/setup.c:296 src/fe-gtk/setup.c:298 +msgid "Maximum speed for one transfer" +msgstr "Максимальна швидкість для однієї передачі" + +#: src/fe-gtk/setup.c:297 +msgid "One download:" +msgstr "Одне скачування:" + +#: src/fe-gtk/setup.c:299 +msgid "All uploads combined:" +msgstr "Всі завантаження:" + +#: src/fe-gtk/setup.c:300 src/fe-gtk/setup.c:302 +msgid "Maximum speed for all files" +msgstr "Максимальна швидкість для усього трафіка" + +#: src/fe-gtk/setup.c:301 +msgid "All downloads combined:" +msgstr "Всі скачування:" + +#: src/fe-gtk/setup.c:329 src/fe-gtk/setup.c:1707 +msgid "Alerts" +msgstr "Увага!" + +#: src/fe-gtk/setup.c:333 +msgid "Show tray balloons on:" +msgstr "Показувати плаваючі повідомлення, коли:" + +#: src/fe-gtk/setup.c:335 +msgid "Blink tray icon on:" +msgstr "Блимати у треї, коли:" + +#: src/fe-gtk/setup.c:336 +msgid "Blink task bar on:" +msgstr "Блимати на панелі задач, коли:" + +#: src/fe-gtk/setup.c:337 +msgid "Make a beep sound on:" +msgstr "Видавати звук 'beep', коли" + +#: src/fe-gtk/setup.c:339 +msgid "Enable system tray icon" +msgstr "Увімкнути значок у області сповіщення" + +#: src/fe-gtk/setup.c:341 +msgid "Highlighted Messages" +msgstr "Підсвічені повідомлення" + +#: src/fe-gtk/setup.c:342 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Підсвічені повідомлення, це ті, де згадали ваш нікнейм, а також:" + +#: src/fe-gtk/setup.c:344 +msgid "Extra words to highlight:" +msgstr "Реагувати також на слова:" + +#: src/fe-gtk/setup.c:345 +msgid "Nick names not to highlight:" +msgstr "Не підсвічувати нікнейми:" + +#: src/fe-gtk/setup.c:346 +msgid "Nick names to always highlight:" +msgstr "Завжди підсвічувати нікнейми:" + +#: src/fe-gtk/setup.c:347 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" +"Відокремлюйте слова комами.\n" +"Шаблони також приймаються." + +#: src/fe-gtk/setup.c:353 +msgid "Default Messages" +msgstr "Типові повідомлення" + +#: src/fe-gtk/setup.c:354 +msgid "Quit:" +msgstr "Вихід:" + +#: src/fe-gtk/setup.c:355 +msgid "Leave channel:" +msgstr "Залишення каналу:" + +#: src/fe-gtk/setup.c:356 +msgid "Away:" +msgstr "Відсутній:" + +#: src/fe-gtk/setup.c:358 +msgid "Away" +msgstr "Відсутній" + +#: src/fe-gtk/setup.c:359 +msgid "Announce away messages" +msgstr "Оголошувати перехід у \"Відсутній\"" + +#: src/fe-gtk/setup.c:360 +msgid "Announce your away messages to all channels" +msgstr "Оголошувати перехід у \"Відсутній\" в усіх каналах" + +#: src/fe-gtk/setup.c:361 +msgid "Show away once" +msgstr "Показувати \"Відсутній\" лише один раз" + +#: src/fe-gtk/setup.c:361 +msgid "Show identical away messages only once" +msgstr "Показувати ідентичні повідомлення лише один раз" + +#: src/fe-gtk/setup.c:362 +msgid "Automatically unmark away" +msgstr "Автоматично знімати \"Відсутній\"" + +#: src/fe-gtk/setup.c:362 +msgid "Unmark yourself as away before sending messages" +msgstr "Знімати стан \"Відсутній\" перед надсиланням повідомлень" + +#: src/fe-gtk/setup.c:369 +msgid "Advanced Settings" +msgstr "Розширені параметри" + +#: src/fe-gtk/setup.c:370 +msgid "Auto reconnect delay:" +msgstr "Затримка автоматичного відновлення з'єднання:" + +#: src/fe-gtk/setup.c:371 +msgid "Display MODEs in raw form" +msgstr "Відображати режими в чистому вигляді" + +#: src/fe-gtk/setup.c:372 +msgid "Whois on notify" +msgstr "Whois при сповіщенні" + +#: src/fe-gtk/setup.c:372 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "" +"Надсилати /WHOIS коли користувач з вашого списку сповіщень підключається." + +#: src/fe-gtk/setup.c:373 +msgid "Hide join and part messages" +msgstr "Приховувати сповіщення про вхід/вихід" + +#: src/fe-gtk/setup.c:373 +msgid "Hide channel join/part messages by default" +msgstr "Приховувати типово повідомлення про вхід/вихід" + +#: src/fe-gtk/setup.c:374 +msgid "Auto Open DCC Windows" +msgstr "Автоматично відкривати діалогові вікна" + +#: src/fe-gtk/setup.c:375 +msgid "Send window" +msgstr "Вікно відсилання" + +#: src/fe-gtk/setup.c:376 +msgid "Receive window" +msgstr "Вікно отримання" + +#: src/fe-gtk/setup.c:377 +msgid "Chat window" +msgstr "Вікно каналу" + +#: src/fe-gtk/setup.c:385 src/fe-gtk/setup.c:1709 +msgid "Logging" +msgstr "Журнали" + +#: src/fe-gtk/setup.c:386 +msgid "Display scrollback from previous session" +msgstr "Показувати останні повідомлення з попередньої бесіди" + +#: src/fe-gtk/setup.c:387 +msgid "Enable logging of conversations to disk" +msgstr "Увімкнути запис журналу повідомлень" + +#: src/fe-gtk/setup.c:388 +msgid "Log filename:" +msgstr "Файл журналу:" + +#: src/fe-gtk/setup.c:389 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Сервер %c=Канал %n=Мережа." + +#: src/fe-gtk/setup.c:392 +msgid "Insert timestamps in logs" +msgstr "Вносити час події в журнал" + +#: src/fe-gtk/setup.c:393 +msgid "Log timestamp format:" +msgstr "Формат запису часу в журнал:" + +#: src/fe-gtk/setup.c:401 +msgid "(Disabled)" +msgstr "(вимкнено)" + +#: src/fe-gtk/setup.c:402 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:403 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:404 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:405 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:407 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: src/fe-gtk/setup.c:414 +msgid "All Connections" +msgstr "Усі з'єднання" + +#: src/fe-gtk/setup.c:415 +msgid "IRC Server Only" +msgstr "Лише сервер IRC" + +#: src/fe-gtk/setup.c:416 +msgid "DCC Get Only" +msgstr "Лише DCC" + +#: src/fe-gtk/setup.c:422 +msgid "Your Address" +msgstr "IP адреса" + +#: src/fe-gtk/setup.c:423 +msgid "Bind to:" +msgstr "Зачепитися на:" + +#: src/fe-gtk/setup.c:424 +msgid "Only useful for computers with multiple addresses." +msgstr "Корисне, лише коли комп'ютер має декілька адрес." + +#: src/fe-gtk/setup.c:426 +msgid "Proxy Server" +msgstr "Проксі сервер" + +#: src/fe-gtk/setup.c:427 +msgid "Hostname:" +msgstr "Назва вузла:" + +#: src/fe-gtk/setup.c:428 +msgid "Port:" +msgstr "Порт:" + +#: src/fe-gtk/setup.c:429 +msgid "Type:" +msgstr "Тип:" + +#: src/fe-gtk/setup.c:430 +msgid "Use proxy for:" +msgstr "Використовувати проксі для:" + +#: src/fe-gtk/setup.c:432 +msgid "Proxy Authentication" +msgstr "Автентифікація проксі" + +#: src/fe-gtk/setup.c:434 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Використовувати аутентифікацію (лише MS Proxy, HTTP та Socks5)" + +#: src/fe-gtk/setup.c:436 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Використовувати аутентифікацію (лише HTTP та Socks5)" + +#: src/fe-gtk/setup.c:438 +msgid "Username:" +msgstr "Ім'я користувача:" + +#: src/fe-gtk/setup.c:439 +msgid "Password:" +msgstr "Пароль:" + +#: src/fe-gtk/setup.c:870 +msgid "Select an Image File" +msgstr "Виберіть файл зображення" + +#: src/fe-gtk/setup.c:905 +msgid "Select Download Folder" +msgstr "Виберіть теку для завантажень" + +#: src/fe-gtk/setup.c:914 +msgid "Select font" +msgstr "Вибір шрифту" + +#: src/fe-gtk/setup.c:1014 +msgid "Browse..." +msgstr "Вибрати..." + +#: src/fe-gtk/setup.c:1152 +msgid "Mark identified users with:" +msgstr "Позначати ідентифікованих користувачів:" + +#: src/fe-gtk/setup.c:1154 +msgid "Mark not-identified users with:" +msgstr "Позначати·не ідентифікованих·користувачів:" + +#: src/fe-gtk/setup.c:1161 +msgid "Open Data Folder" +msgstr "Відкрити теку даних" + +#: src/fe-gtk/setup.c:1215 +msgid "Select color" +msgstr "Вибір кольору" + +#: src/fe-gtk/setup.c:1295 +msgid "Text Colors" +msgstr "Кольори" + +#: src/fe-gtk/setup.c:1297 +msgid "mIRC colors:" +msgstr "Кольори mIRC:" + +#: src/fe-gtk/setup.c:1305 +msgid "Local colors:" +msgstr "Локальні кольори:" + +#: src/fe-gtk/setup.c:1313 src/fe-gtk/setup.c:1318 +msgid "Foreground:" +msgstr "Передній план:" + +#: src/fe-gtk/setup.c:1314 src/fe-gtk/setup.c:1319 +msgid "Background:" +msgstr "Тло:" + +#: src/fe-gtk/setup.c:1316 +msgid "Marking Text" +msgstr "Виділення тексту" + +#: src/fe-gtk/setup.c:1321 +msgid "Interface Colors" +msgstr "Інтерфейс" + +#: src/fe-gtk/setup.c:1323 +msgid "New data:" +msgstr "Нові дані:" + +#: src/fe-gtk/setup.c:1324 +msgid "Marker line:" +msgstr "Маркер:" + +#: src/fe-gtk/setup.c:1325 +msgid "New message:" +msgstr "Нове повідомлення:" + +#: src/fe-gtk/setup.c:1326 +msgid "Away user:" +msgstr "Користувач, що відсутній:" + +#: src/fe-gtk/setup.c:1327 +msgid "Highlight:" +msgstr "Підсвічення:" + +#: src/fe-gtk/setup.c:1423 src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "Подія" + +#: src/fe-gtk/setup.c:1429 +msgid "Sound file" +msgstr "Звуковий файл" + +#: src/fe-gtk/setup.c:1464 +msgid "Select a sound file" +msgstr "Виберіть звуковий файл" + +#: src/fe-gtk/setup.c:1536 +msgid "Sound playing method:" +msgstr "Метод відтворення:" + +#: src/fe-gtk/setup.c:1544 +msgid "External sound playing _program:" +msgstr "Зовнішня _програма для відтворення звуку:" + +#: src/fe-gtk/setup.c:1562 +msgid "_External program" +msgstr "З_овнішня програми" + +#: src/fe-gtk/setup.c:1572 +msgid "_Automatic" +msgstr "_Автоматично" + +#: src/fe-gtk/setup.c:1585 +msgid "Sound files _directory:" +msgstr "_Каталог звукових файлів:" + +#: src/fe-gtk/setup.c:1624 +msgid "Sound file:" +msgstr "Звуковий файл:" + +#: src/fe-gtk/setup.c:1639 +msgid "_Browse..." +msgstr "В_ибрати..." + +#: src/fe-gtk/setup.c:1650 +msgid "_Play" +msgstr "_Відтворити" + +#: src/fe-gtk/setup.c:1699 +msgid "Interface" +msgstr "Інтерфейс" + +#: src/fe-gtk/setup.c:1700 +msgid "Text box" +msgstr "Текст" + +#: src/fe-gtk/setup.c:1702 +msgid "User list" +msgstr "Список користувачів" + +#: src/fe-gtk/setup.c:1703 +msgid "Channel switcher" +msgstr "Перемикач каналів" + +#: src/fe-gtk/setup.c:1704 +msgid "Colors" +msgstr "Кольори" + +#: src/fe-gtk/setup.c:1706 +msgid "Chatting" +msgstr "Розмови" + +#: src/fe-gtk/setup.c:1708 +msgid "General" +msgstr "Загальне" + +#: src/fe-gtk/setup.c:1710 +msgid "Sound" +msgstr "Звук" + +#: src/fe-gtk/setup.c:1714 +msgid "Network setup" +msgstr "Параметри мережі" + +#: src/fe-gtk/setup.c:1715 +msgid "File transfers" +msgstr "Передача файлів" + +#: src/fe-gtk/setup.c:1823 +msgid "Categories" +msgstr "Категорії" + +#: src/fe-gtk/setup.c:2007 +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 "" +"Не можна розміщувати дерево вгорі чи внизу!\n" +"Спочатку змініть розташування пункту <b>Вкладки</b> у меню <b>Вигляд</b>." + +#: src/fe-gtk/setup.c:2017 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" +"Для набуття сили змін у деяких параметрах потрібно перезапустити програму." + +#: src/fe-gtk/setup.c:2025 +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 "" +"*ПОПЕРЕДЖЕННЯ*\n" +"Автоматичне приймання DCC до вашої домашньої теки\n" +"може бути небезпечним. Наприклад:\n" +"хтось може надіслати вам .bash_profile" + +#: src/fe-gtk/setup.c:2058 +msgid "XChat: Preferences" +msgstr "XChat: Параметри" + +#: src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "Помилка при аналізу рядку" + +#: src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Цей сигнал приймає лише аргументи %d, аргумент $%d не підходить" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "Друкувати текстовий файл" + +#: src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "Правка подій" + +#: src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$ Число" + +#: src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "Завантажити з..." + +#: src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "Перевірити всі" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: Захоплювач URL" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Очистити список" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Копіювати виділений текст" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Копіювати" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Записати список у файл." + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d операторів, %d всього" + +#~ msgid "About XChat" +#~ msgstr "Про XChat" + +#, fuzzy +#~ msgid "Set _back" +#~ msgstr "_Шукати назад" + +#~ msgid "C_hannels to join:" +#~ msgstr "_Канал для входу:" + +#, fuzzy +#~ msgid "Execute command" +#~ msgstr "Виконати команду:" + +#~ msgid "" +#~ "Set per channel options\n" +#~ "CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part " +#~ "messages\n" +#~ "CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +#~ "CHANOPT BEEP ON|OFF - Toggle beep on message\n" +#~ "CHANOPT TRAY ON|OFF - Toggle tray blink on message" +#~ msgstr "" +#~ "Встановити параметри каналу\n" +#~ "CHANOPT CONFMODE ON|OFF - вмикання режиму conf mode/відображення " +#~ "об'єднання частин повідомлень\n" +#~ "CHANOPT COLORPASTE ON|OFF - увімкнути/вимкнути вставку кольору\n" +#~ "CHANOPT BEEP ON|OFF - увімкнути/вимкнути звуковий сигнал при появі " +#~ "повідомлень\n" +#~ "CHANOPT TRAY ON|OFF - увімкнути/вимкнути миготіння повідомлення у області " +#~ "сповіщення" + +#~ msgid "Direct client-to-client" +#~ msgstr "Безпосереднє з'єднання" + +#~ msgid "Send File" +#~ msgstr "Надіслати файл" + +#~ msgid "Offer Chat" +#~ msgstr "Запропонувати бесіду" + +#~ msgid "Abort Chat" +#~ msgstr "Перервати бесіду" + +#~ msgid "Userinfo" +#~ msgstr "Інформація про користувача" + +#~ msgid "Clientinfo" +#~ msgstr "Інформація про клієнта" + +#~ msgid "Time" +#~ msgstr "Час" + +#~ msgid "Finger" +#~ msgstr "Finger" + +#~ msgid "Oper" +#~ msgstr "Операція" + +#~ msgid "Kill this user" +#~ msgstr "Знищити цього користувача" + +#~ msgid "Mode" +#~ msgstr "Режим" + +#~ msgid "Give Half-Ops" +#~ msgstr "Надати напівоператора" + +#~ msgid "Take Half-Ops" +#~ msgstr "Відібрати напівоператора" + +#~ msgid "Ignore" +#~ msgstr "Ігнорувати" + +#~ msgid "Ignore User" +#~ msgstr "Ігнорувати користувача" + +#~ msgid "UnIgnore User" +#~ msgstr "Зняти ігнорування користувача" + +#~ msgid "Info" +#~ msgstr "Інформація" + +#~ msgid "Who" +#~ msgstr "Хто " + +#~ msgid "DNS Lookup" +#~ msgstr "Перегляд DNS" + +#~ msgid "Trace" +#~ msgstr "Трасування" + +#~ msgid "UserHost" +#~ msgstr "Комп'ютер користувача" + +#~ msgid "External" +#~ msgstr "Зовнішні" + +#~ msgid "Traceroute" +#~ msgstr "Traceroute" + +#~ msgid "Telnet" +#~ msgstr "Telnet" + +#~ msgid "Blink tray on message" +#~ msgstr "Миготіння у області сповіщення при отриманні повідомлення" + +#~ msgid "Show join/part messages" +#~ msgstr "Сповіщати про вхід/вихід" + +#~ msgid "Color paste" +#~ msgstr "Вставити колір" + +#~ msgid "_Close Tab" +#~ msgstr "_Закрити вкладку" + +#~ msgid "Channel List..." +#~ msgstr "Список каналів..." + +#~ msgid "Notify List..." +#~ msgstr "Список сповіщень..." + +#~ msgid "_Close Window" +#~ msgstr "_Закрити вікно" + +#~ msgid "User" +#~ msgstr "Користувач" + +#~ msgid "XChat: Notify List" +#~ msgstr "XChat: Список сповіщень" + +#~ msgid "Unban" +#~ msgstr "Зняти заборону" + +#, fuzzy +#~ msgid "Channel Switcher" +#~ msgstr "канали з" + +#~ msgid "No other tabs open, quit xchat?" +#~ msgstr "Немає відкритих вкладок, вийти з xchat?" + +#~ msgid "_Layout" +#~ msgstr "_Розташування" + +#~ msgid "Quit..." +#~ msgstr "Вихід..." + +#~ msgid "Resizable user list" +#~ msgstr "Список користувачів змінної ширини" + +#~ msgid "Left" +#~ msgstr "ліворуч" + +#~ msgid "Right" +#~ msgstr "праворуч" + +#, fuzzy +#~ msgid "Above user list" +#~ msgstr "Список користувачів змінної ширини" + +#~ msgid "US Minor Outlying Islands" +#~ msgstr "US Minor Outlying Islands" + +#~ msgid "File Offer" +#~ msgstr "Передача файлу" + +#~ msgid "Flash taskbar on highlighted messages" +#~ msgstr "Миготіння панелі задач при отриманні виділених повідомлень" + +#~ msgid "Flash taskbar on private messages" +#~ msgstr "Миготіння панелі задач при отриманні приватних повідомлень" + +#~ msgid "Beep on highlighted messages" +#~ msgstr "Звуковий сигнал при отриманні виділених повідомлень" + +#~ msgid "Beep on private messages" +#~ msgstr "Звуковий сигнал при отриманні особистих повідомлень" + +#~ msgid "Beep on channel messages" +#~ msgstr "Звуковий сигнал при канальних повідомленнях" + +#~ msgid "%C18*$t$1%O $2" +#~ msgstr "%C18*$t$1%O $2" + +#~ msgid "%C21*%O$t%C21%B$1%O%C21 $2" +#~ msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#~ msgid "%C18%H<%H$4$1%H>%H%O$t$2" +#~ msgstr "%C18%H<%H$4$1%H>%H%O$t$2" + +#~ msgid "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" +#~ msgstr "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" + +#~ msgid "%C28-%C29$1/$2%C28-%O$t$3" +#~ msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#~ msgid "$1$t$2" +#~ msgstr "$1$t$2" + +#~ msgid "%C19>%O$1%C19<%O$t$2" +#~ msgstr "%C19>%O$1%C19<%O$t$2" + +#~ msgid "%C16*%O$t$1%O" +#~ msgstr "%C16*%O$t$1%O" + +#~ msgid "%C28-%C29$1%C28-%O$t$2" +#~ msgstr "%C28-%C29$1%C28-%O$t$2" + +#~ msgid "%C28*%C29$3$1%C28*$t%O$2" +#~ msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#~ msgid "%C18%H<%H$3$1%H>%H%O$t$2" +#~ msgstr "%C18%H<%H$3$1%H>%H%O$t$2" + +#~ msgid "%C22*%O$t$1" +#~ msgstr "%C22*%O$t$1" + +#~ msgid "%C31%H<%H$4$1%H>%H%O%C30$t$2" +#~ msgstr "%C31%H<%H$4$1%H>%H%O%C30$t$2" + +#~ msgid "PID" +#~ msgstr "PID" + +#~ msgid "France, Metropolitan" +#~ msgstr "Франція, Метрополітан" + +#~ msgid "Neutral Zone" +#~ msgstr "Нейтральна зона" + +#~ msgid "I can't save an empty list!" +#~ msgstr "Не можна зберігати порожній список!" + +#~ msgid "List display options:" +#~ msgstr "Параметри відображення списку:" + +#~ msgid "Minimum Users:" +#~ msgstr "Мін. користувачів:" + +#~ msgid "Maximum Users:" +#~ msgstr "Макс. користувачів:" + +#~ msgid "Regex Match:" +#~ msgstr "Шаблон рег.виразу:" + +#~ msgid "Apply Match to:" +#~ msgstr "Застосувати до:" + +#~ msgid "Apply" +#~ msgstr "Застосувати" + +#~ msgid "Refresh the list" +#~ msgstr "Оновити список" + +#~ msgid "Save the list" +#~ msgstr "Зберегти список" + +#~ msgid "Go to" +#~ msgstr "Перейти" + +#~ msgid "Settings saved." +#~ msgstr "Параметри збережено." + +#~ msgid "Server" +#~ msgstr "Сервер" + +#~ msgid "Save rawlog" +#~ msgstr "Збереження журналу" + +#~ msgid "Save rawlog..." +#~ msgstr "Зберегти журнал..." + +#~ msgid "Completes nick names without using the TAB key" +#~ msgstr "Доповнювати прізвиська без використання клавіші TAB" + +#~ msgid "Input Box Appearance" +#~ msgstr "Вигляд поля вводу" + +#~ msgid "Tabs Location" +#~ msgstr "Розміщення вкладок" + +#~ msgid "Convert spaces to underscore before sending" +#~ msgstr "Перетворювати пробіли в знак підкреслення" + +#~ msgid "(Can be a text file relative to ~/.xchat2/)." +#~ msgstr "(Може бути текстовий файл відносно ~/.xchat2/)." + +#~ msgid "(Can be a text file relative to config dir)." +#~ msgstr "(Може бути текстовий файл відносно каталогу конфігурації)." + +#~ msgid "(See strftime manpage for details)." +#~ msgstr "(Докладнішу інформацію дивіться у довідці з strftime)." + +#~ msgid "Open an irc:// url" +#~ msgstr "Відкрити irc:// url" + +#~ msgid "irc://server:port/channel" +#~ msgstr "irc://сервер:порт/канал" + +#~ msgid "Execute a xchat command" +#~ msgstr "Виконати команду xchat" + +#~ msgid "\"Command to execute\"" +#~ msgstr "\"Команда для виконання\"" + +#~ msgid "Prints some text to the current tab/window" +#~ msgstr "Виводить текст у поточну вкладку/вікно " + +#~ msgid "\"Text to print\"" +#~ msgstr "\"Тест\"" + +#~ msgid "Change the context to the channel" +#~ msgstr "Змінити контекст на канал" + +#~ msgid "Change the context to the server" +#~ msgstr "Змінити контекст на сервер" + +#~ msgid "server" +#~ msgstr "сервер" + +#~ msgid "Get some informations from xchat" +#~ msgstr "Отримати певну інформацію з xchat" + +#~ msgid "id" +#~ msgstr "ідентифікатор" + +#~ msgid "Get settings from xchat" +#~ msgstr "Отримати параметри xchat" + +#~ msgid "name" +#~ msgstr "назва" + +#~ msgid "" +#~ "xchat-remote: %s\n" +#~ "Try `xchat-remote --help' for more information\n" +#~ msgstr "" +#~ "xchat-remote: %s\n" +#~ "Для докладнішої інформації виконайте `xchat-remote --help'\n" + +#~ msgid "Failed to complete SetContext" +#~ msgstr "Не вдається завершити SetContext" + +#~ msgid "Failed to complete print" +#~ msgstr "Не вдається завершити вивід" + +#~ msgid "Failed to complete GetInfo" +#~ msgstr "Не вдається завершити GetInfo" + +#~ msgid "Failed to complete GetPrefs" +#~ msgstr "Не вдається завершити GetPrefs" + +#~ msgid "%s doesn't exist\n" +#~ msgstr "%s не існує\n" + +#~ msgid "%s loaded successfully!\n" +#~ msgstr "%s успішно завантажено!\n" diff --git a/po/vi.po b/po/vi.po new file mode 100644 index 00000000..3799bb3f --- /dev/null +++ b/po/vi.po @@ -0,0 +1,5478 @@ +# Vietnamese translation for XChat. +# Copyright © 2007 Free Software Foundation, Inc. +# Clytie Siddall <clytie@riverland.net.au>, 2005-2007. +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.8.4\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2007-06-24 13:05+1000\n" +"PO-Revision-Date: 2007-06-26 14:57+0930\n" +"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n" +"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.6.4a3\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "Không thể tạo thư mục « ~/.xchat2 »" + +#: src/common/cfgfiles.c:712 +msgid "I'm busy" +msgstr "Tôi đang bận" + +#: src/common/cfgfiles.c:713 +msgid "Leaving" +msgstr "Tôi đi" + +#: src/common/cfgfiles.c:760 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"• Chạy IRC với tư cách người chủ (root) là không an toàn. •\n" +"Bạn nên tạo một tài khoản người dùng và sử dụng nó để đăng nhập.\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "Đang đời" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "Hoặt động" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "Bị lỗi" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "Đã xong" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:797 +msgid "Connect" +msgstr "Kết nối" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "Bị hủy bỏ" + +#: src/common/dcc.c:1886 src/common/outbound.c:2452 +#, c-format +msgid "Cannot access %s\n" +msgstr "Không thể truy cập %s\n" + +#: src/common/dcc.c:1887 src/common/text.c:1164 src/common/text.c:1202 +#: src/common/text.c:1213 src/common/text.c:1220 src/common/text.c:1233 +#: src/common/text.c:1250 src/common/text.c:1350 src/common/util.c:352 +msgid "Error" +msgstr "Lỗi" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s đang cung cấp « %s ». Bạn có muốn chấp nhận không?" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "Không có DCC (trò chuyện trực tiếp) hoặt động nào\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "CÓ " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "KHÔNG " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Bạn đang bị tấn công bằng CTCP bởi %s nên bỏ qua %s.\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "Bạn đang bị tấn công bằng MSG bởi %s nên đặt tùy chọn tự động mở đối thoại giao diện (gui_auto_open_dialog) bị TẮT.\n" + +#: src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s trực tuyến\n" + +#: src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s ngoạị tuyến\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Chưa vào kênh nào : hãy thử lệnh « /join #<kênh> »\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Chưa kêt nối: hãy thử lệnh « /server <máy> [<cổng>] »\n" + +#: src/common/outbound.c:339 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Đã nhãn « Vắng mặt »: %s\n" + +#: src/common/outbound.c:409 +msgid "Already marked back.\n" +msgstr "Đã nhán « Trở về »:\n" + +#: src/common/outbound.c:1814 +msgid "I need /bin/sh to run!\n" +msgstr "Cần « /bin/sh » để chạy được.\n" + +#: src/common/outbound.c:2185 +msgid "Commands Available:" +msgstr "Các lệnh sẵn sàng:" + +#: src/common/outbound.c:2199 +msgid "User defined commands:" +msgstr "Các lệnh xác định riêng:" + +#: src/common/outbound.c:2215 +msgid "Plugin defined commands:" +msgstr "Các lệnh xác định bởi bổ sung:" + +#: src/common/outbound.c:2226 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Hãy gõ lệnh « /HELP <lệnh> » để xem thông tin thêm (help: trợ giúp), hay « /HELP -l »." + +#: src/common/outbound.c:2301 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Không biết đối số « %s » nên bỏ qua nó." + +#: src/common/outbound.c:3235 +msgid "No such plugin found.\n" +msgstr "Không tìm thấy bổ sung như vậy.\n" + +#: src/common/outbound.c:3240 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "Bổ sung đó từ chối bỏ nặp.\n" + +#: src/common/outbound.c:3509 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <tên> <hành_động>, _thêm_ một _cái nút_ bên dưới danh sách người dùng" + +#: src/common/outbound.c:3511 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <lệnh>, gửi lệnh này tới _mọi kênh_ nơi bạn ở" + +#: src/common/outbound.c:3513 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <lệnh>, gửi lệnh này tới _mọi kênh_ nơi bạn ở" + +#: src/common/outbound.c:3515 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <lệnh>, gửi lệnh này tới _mọi máy phục vụ_ nơi bạn ở" + +#: src/common/outbound.c:3516 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<lý do>], đặt trang thái của bạn thành _vắng mặt_" + +#: src/common/outbound.c:3517 +msgid "BACK, sets you back (not away)" +msgstr "BACK đặt bạn đã trở về (không phải vắng mặt)" + +#: src/common/outbound.c:3519 +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 <bộ_lọc> [<kiểu_đuổi>], _đuổi_ mọi người khớp với bộ lọc này ra kênh hiện tại. Cần quyền quan trị kệnh (chanop) để đuổi ra người nào đang trên kênh" + +#: src/common/outbound.c:3521 +msgid "" +"Set per channel options\n" +"CHANOPT CONFMODE ON|OFF - Toggle conf mode/showing of join and part messages\n" +"CHANOPT COLORPASTE ON|OFF - Toggle color paste\n" +"CHANOPT BEEP ON|OFF - Toggle beep on message\n" +"CHANOPT TRAY ON|OFF - Toggle tray blink on message" +msgstr "" +"Tùy chọn từng kênh:\n" +"CHANOPT CONFMODE ON|OFF — bật/tắt chế độ hội thảo, hiển thị các thông điệp\n" +"\tkiểu vào và rời\n" +"CHANOPT COLORPASTE ON|OFF — bật/tắt dán màu\n" +"CHANOPT BEEP ON|OFF — bật/tắt kêu bíp khi nhận thông điệp\n" +"CHANOPT TRAY ON|OFF - bật/tắt chớp khay khi nhận tin nhẳn\n" +"\n" +"[CHANOPT : viết tắt cho \"channel option\", tùy chọn kênh;\n" +"CONFMODE : viết tắt cho \"conference mode\", chế độ hội thảo;\n" +"ON|OFF : bật hay tắt;\n" +"COLORPASTE : dán màu;\n" +"BEEP : kêu bíp, tiếng bíp;\n" +"TRAY : khay]" + +#: src/common/outbound.c:3528 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR [ALL|HISTORY], _xoá trống_ cửa sổ văn bản (ALL: tất cả) hay _lịch sử_ lệnh (HISTORY) hiện có" + +#: src/common/outbound.c:3529 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE, _đóng_ cửa sổ/thẻ hiện có" + +#: src/common/outbound.c:3532 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <mã|ký_tự_đại_diện>, tìm thấy _quốc gia_, v.d. mã « au » = Úc" + +#: src/common/outbound.c:3534 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <tên_hiệu> <tin_nhẳn>, gởi cho <tên_hiệu> <tin nhẳn> CTCP: hai tin nhẳn thường là VERSION (phiên bản) và USERINFO (thông tin người dùng)" + +#: src/common/outbound.c:3536 +msgid "CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "CYCLE [<kênh>], rời kênh này hay kênh hiện tại rồi vào lại ngay (_quay lại_)" + +#: src/common/outbound.c:3538 +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 "" +"\n" +"DCC GET <tên_hiệu> \t\tchấp nhận tập tin đã đưa ra (_lấy_)\n" +"DCC SEND [-maxcps=#] <tên_hiệu> [tập_tin]\n" +"\t_gởi_ [tập tin] cho <tên hiệu> (max. : tối đa)\n" +"DCC PSEND [-maxcps=#] <tên_hiệu> [tập_tin]\n" +"\t_gởi_ [tập_tin] cho <tên_hiệu> bằng chế độ _bị động_\n" +"DCC LIST \t\t\t\thiển thị _danh sách_ DCC\n" +"DCC CHAT <tên_hiệu> \tđưa ra _trò chuyện_ DCC với <tên hiệu>\n" +"DCC PCHAT <tên_hiệu>\n" +"\tđưa ra _trờ chuyện_ DCC với <tên_hiệu> bằng chế độ _bị động_\n" +"DCC CLOSE <kiểu> <tên_hiệu> <tập_tin> (_đóng_) thí dụ:\n" +" </dcc close send nguyenvan tập_tin.tar.gz>\n" +"\tgởi cho người nguyenvan tập_tin.tar.gz rồi đóng kết nối DCC" + +#: src/common/outbound.c:3550 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "" +"DEHOP <tên_hiệu>, bỏ ra <tên hiệu> trạng thái quản trị kênh nửa (chanhalf-op) trên kênh hiện tại (cần quyền quản trị kênh)\n" +"[DE (bỏ ra) Half (nửa) OPerator (quản trị viên)]" + +#: src/common/outbound.c:3552 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "" +"DELBUTTON <tên>, xóa bỏ cái nút <tên> ra dưới danh sách người dùng\n" +"[DELete (xóa bỏ) BUTTON (nút)]" + +#: src/common/outbound.c:3554 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "" +"DEOP <tên_hiệu>, bỏ ra <tên hiệu> trạng thái quản trị kênh (chanop) trên kênh hiện tại (cần quyền quản trị kênh (chanop))\n" +"[DE (bỏ) OPerator (quản trị viên)]" + +#: src/common/outbound.c:3556 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "" +"DEVOICE <tên_hiệu>, bỏ ra <tên hiệu> trạng thái tiếng nói trên kênh hiện tại (cần quyền quản trị kênh [chanop])\n" +"[DE (bỏ) VOICE (tiếng nói)]" + +#: src/common/outbound.c:3557 +msgid "DISCON, Disconnects from server" +msgstr "" +"DISCON, ngắt kết nối ra máy phục vụ\n" +"[DISCONnect (ngắt kết nối)]" + +#: src/common/outbound.c:3558 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "" +"DNS <tên_hiệu|máy_phục_vụ|ip>, tìm thấy địa chỉ IP của <ten hiệu>\n" +"[Domain Name System (Hệ thống tên miền)]" + +#: src/common/outbound.c:3559 +msgid "ECHO <text>, Prints text locally" +msgstr "" +"ECHO <đoạn>, in ra <đoạn> một cách địa phương\n" +"[ECHO (vọng, phản hồi)]" + +#: src/common/outbound.c:3562 +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] <lệnh>, chạy <lệnh>. Nếu thêm cờ « -o », gởi dữ liệu xuất cho kênh hiện tại, nếu không thì in ra nó vào hộp văn bản hiện tại\n" +"[EXECute (thực hiện)]" + +#: src/common/outbound.c:3564 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" +"EXECCONT, gởi tiến trình SIGCONT\n" +"[EXECute (thực hiện) CONTinue (tiếp tục)\n" +"SIGnal (tín hiệu) CONTinue (tiếp tục)]" + +#: src/common/outbound.c:3567 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "" +"EXECKILL [-9], buộc kết thúc tiến trình đang chạy trong phiên làm việc hiện tại. Nếu thêm cờ « -9 », SIGKILL tiến trình này\n" +"[EXECute (thực hiện) KILL (buộc kết thúc)\n" +"SIGnal (tín hiệu) KILL (buộc kết thúc)]" + +#: src/common/outbound.c:3569 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" +"EXECSTOP, gởi tiến trình SIGSTOP\n" +"[EXECute (thực hiện) STOP (dừng)\n" +"SIGnal (tín hiệu) STOP (dừng)]" + +#: src/common/outbound.c:3570 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" +"EXECWRITE, gởi dữ liệu cho thiết bị nhập chuẩn của tiến trình\n" +"[EXECute (thi hành) WRITE (ghi)]" + +#: src/common/outbound.c:3574 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" +"FLUSHQ, xóa sạch hàng đợi gởi của máy phục vụ hiện tại\n" +"[FLUSH (xoá sạch) Queue (hàng đời)]" + +#: src/common/outbound.c:3576 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" +"GATE <máy_phục_vụ> [<cổng>], sử dụng máy ủy nhiệm; <cổng> mặc định là 23\n" +"[GATE (cổng)]" + +#: src/common/outbound.c:3580 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "" +"GHOST <tên_hiệu> <mật_khẩu>, buộc kết thúc tên hiệu ma (bị ngắt còn máy phục vụ chưa thay đổi trạng thái)\n" +"[GHOST (ma)]" + +#: src/common/outbound.c:3585 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" +"HOP <tên_hiệu>, đưa ra <tên hiệu> trạng thái quản trị kênh nửa (cần quyền quản trị kênh [chanop])\n" +"[Half (nửa) OPerator (quản trị viên)]" + +#: src/common/outbound.c:3586 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "" +"ID <mật_khẩu>, nhận diện bạn với máy phục vụ tên hiệu\n" +"[IDentify (nhận diện)]" + +#: src/common/outbound.c:3588 +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 <bộ_lọc> <kiểu...> <tùy_chọn...> »\n" +"[IGNORE (bỏ qua)]\n" +" bộ lọc\t\tbộ lọc máy cần bỏ qua, v.d. « *!*@*.aol.com »\n" +" kiểu\t\tkiểu dữ liệu cần bỏ qua, giá trị là một hay tất cả của:\n" +" \tPRIV\t\tPRIVate (riêng)\n" +"\tCHAN\tCHANnel (kênh)\n" +"\tNOTI\tNOTIfy, NOTIce (thông báo)\n" +"\tCTCP\n" +"\tDCC \tDirect Chat Channel (kênh trò chuyện trực tiếp)\n" +"\tINVI\t\tINVIte (mời)\n" +"\tALL \t\t(tất cả)\n" +" tùy chọn\n" +"\tNOSAVE \t(không lưu)\n" +"\tQUIET \t(không hiện chi tiết)" + +#: src/common/outbound.c:3595 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <tên_hiệu> [<kênh>], _mời_ <tên hiệu> vào <kênh>; mặc định là kênh hiện tại (cần quyền quản trị kênh [chanop])" + +#: src/common/outbound.c:3596 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kênh>, _vào_ <kênh>" + +#: src/common/outbound.c:3598 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <tên_hiệu>, _đá_ <tên hiệu> ra kênh hiện tại (cần quyền quản trị kênh [chanop])" + +#: src/common/outbound.c:3600 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <tên_hiệu>, _đuổi_ rồi _đá_ <tên hiệu> ra kênh hiện tại (cần quyền quản trị kênh [chanop])" + +#: src/common/outbound.c:3603 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, buộc _kiểm tra sự trễ_ mới" + +#: src/common/outbound.c:3605 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "" +"LASTLOG <chuỗi>, tìm kiếm <chuỗi> trong bộ đệm\n" +"[LOG (bản ghi) LAST (cuối cùng)" + +#: src/common/outbound.c:3607 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <tập_tin>, _nạp_ một bổ sung hay tập lệnh" + +#: src/common/outbound.c:3610 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" +"MDEHOP, bỏ trạng thái quản trị kênh nửa (chanhalf-op) ra mọi người trên kênh hiện tại (cần quyền quản trị kênh [chanop])\n" +"[Mass (số nhiều) DE (bỏ) Half (nửa) OPerator (quản trị viên)]" + +#: src/common/outbound.c:3612 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" +"MDEOP, bỏ trạng thái quản trị kênh (chanop) ra mọi người trên kênh hiện tại (cần quyền quản trị kênh [chanop])\n" +"[Mass (số nhiều) DE (bỏ) OPerator (quản trị viên)]" + +#: src/common/outbound.c:3614 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "" +"ME <hành_động>, gởi <hành động> cho kênh hiện tại (v.d. « /me jumps » gởi « <tên hiệu> nhảy »\n" +"[ME (tôi, mình)]" + +#: src/common/outbound.c:3618 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" +"MKICK, đá mọi người (trừ bạn) ra kênh hiện tại (cần quyền quản trị kênh [chanop])\n" +"[Mass (số nhiều) KICK (đá)]" + +#: src/common/outbound.c:3621 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" +"MOP, đưa ra mọi người dùng có trạng thái quản trị kênh (chanop) trên kênh hiện tại (cần quyền quản trị kênh [chanop])\n" +"[Mass (số nhiều) OPerator (quản trị viên)]" + +#: src/common/outbound.c:3622 +msgid "MSG <nick> <message>, sends a private message" +msgstr "" +"MSG <tên_hiệu> <tin_nhẳn>, gởi <tin nhẳn> riêng\n" +"[MeSsaGe (tin nhẳn [viết tắt])]" + +#: src/common/outbound.c:3625 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES, liệt kê _các tên_ hiệu trên kênh hiện tại" + +#: src/common/outbound.c:3627 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "" +"NCTCP <tên_hiệu> <tin_nhẳn>, gởi thông báo CTCP\n" +"[Notice (thông báo) CTCP]" + +#: src/common/outbound.c:3628 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "" +"NEWSERVER [-noconnect] <tên_máy> [<cổng>]\n" +"[SERVER (máy phục vụ) NEW (mới); no connect (không kết nối)]" + +#: src/common/outbound.c:3629 +msgid "NICK <nickname>, sets your nick" +msgstr "" +"NICK <tên_hiệu>, đặt <tên hiệu> của bạn\n" +"[NICKname (tên hiệu [viết tắt])]" + +#: src/common/outbound.c:3632 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <tên_hiệu/kênh> <thông_điệp>, gởi một _thông báo_: thông báo là kiểu thông điệp nên nhận trả lời tự động" + +#: src/common/outbound.c:3634 +msgid "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" +msgstr "NOTIFY [-n mạng1[,mạng2,...]] [<tên_hiệu>], hiển thị danh sách _thông báo_ của bạn, hoặc thêm <tên_hiệu> vào nó" + +#: src/common/outbound.c:3636 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" +"OP <tên_hiệu>, đưa ra <tên hiệu> có trạng thái quản trị kênh (chanop) (cần quyền quản trị kênh [chanop])\n" +"[OPerator (quản trị viên)]" + +#: src/common/outbound.c:3638 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "" +"PART [<kênh>] [<lý_do>], rời <kênh> đi; mặc định là kênh hiện tại\n" +"[dePART (rời đi)]" + +#: src/common/outbound.c:3640 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "" +"PING <tên_hiệu | kênh>, thực hiện tiến trình « ping » CTCP với <tên hiêu> hay <kênh>\n" +"[Tiến trình ping gửi chỉ một gói tin để thử ra nếu kết nối hoạt động hay không; nó gửi lại đến khi bạn ngắt nó.]" + +#: src/common/outbound.c:3642 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "" +"QUERY [-nofocus] <tên_hiệu>, mở một cửa sổ tin nhẳn riêng mới với <tên_hiệu>\n" +"[QUERY (truy vấn); no focus (không có tiêu điểm)]" + +#: src/common/outbound.c:3644 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "" +"QUIT [<lý_do>], ngắt kết nối ra máy phục vụ hiện tại\n" +"[QUIT (_thoát_)]" + +#: src/common/outbound.c:3646 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "" +"QUOTE <chuỗi>, gởi <chuỗi> dạng thô cho máy phục vụ\n" +"[QUOTE (trích dẫn)]" + +#: src/common/outbound.c:3649 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "" +"RECONNECT [-ssl] [<máy>] [<cổng>] [<mật_khẩu>], có thể tái kết nối đến mấy phục vụ hiện tại khi chỉ đơn giản dùng « /RECONNECT », hoặc tái kết nối đến mọi máy phục vụ đang mở dùng « /RECONNECT ALL »\n" +"[RECONNECT (tái kết nối); (phương pháp SSL bảo vệ dữ liệu cần truyền)]" + +#: src/common/outbound.c:3652 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "" +"RECONNECT [<máy>] [<cổng>] [<mật_khẩu>], có thể tái kết nối đến mấy phục vụ hiện tại chỉ đơn giản dùng « /RECONNECT », hoặc tái kết nối đến mọi máy phục vụ đang mở dùng « /RECONNECT ALL »\n" +"[RECONNECT (tái kết nối); không có SSL bảo vệ dữ liệu)]" + +#: src/common/outbound.c:3654 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "" +"RECV <chuỗi>, gởi dữ liệu thô vào trình xchat, dạng máy phục vụ IRC đã gởi\n" +"[RECeiVe (nhận)]" + +#: src/common/outbound.c:3657 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "" +"SAY <chuỗi>, gởi <chuỗi> cho đối tượng trong cửa sổ hiện tại\n" +"[SAY (_nói_)]" + +#: src/common/outbound.c:3658 +msgid "SEND <nick> [<file>]" +msgstr "SEND <tên_hiệu> [<tập_tin>], _gởi_ <tập tin> cho <tên hiệu>" + +#: src/common/outbound.c:3661 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" +"SERVCHAN [-ssl] <máy> <cổng> <kênh>, kết nối đến <kênh> rồi vào nó\n" +"[SERVer (máy phục vụ) CHANnel (kênh); phương pháp SSL bảo vệ dữ liệu cần truyền)]" + +#: src/common/outbound.c:3664 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "" +"SERVCHAN <máy> <cổng> <kênh>, kết nối đến <kênh> rồi vào nó\n" +"[SERVer (máy phục vụ) CHANnel (kênh); không có SSL bảo vệ dữ liệu)]" + +#: src/common/outbound.c:3668 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" +"SERVER [-ssl] <máy> [<cổng>] [<mật_khẩu>], kết nối đến <máy> phục vụ : <cổng> mặc định là số 6667 cho kết nối chuẩn, và số 9999 cho kết nối kiểu SSL\n" +"[SERVER (máy phục vụ); phương pháp SSL bảo vệ dữ liệu cần truyền)]" + +#: src/common/outbound.c:3671 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "" +"SERVER <máy> [<cổng>] [<mật_khẩu>], kết nối đến <mấy> phục vụ ; cổng mặc định là số 6667\n" +"[SERVER (máy phục vụ); không có SSL bảo vệ dữ liệu)]" + +#: src/common/outbound.c:3673 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "" +"SET [-e] [-or] [-quiet] <biến> [<giá_trị>]\n" +"[SET (đặt); or (hoặx); quiet (không hiện chi tiết)]" + +#: src/common/outbound.c:3674 +msgid "SETCURSOR [-|+]<position>" +msgstr "" +"SETCURSOR [-|+]<vị_trí>\n" +"[SET (đăt) CURSOR (con chạy)]" + +#: src/common/outbound.c:3679 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<chủ_đè>], lập <chủ đề> nếu nó đã cho, nếu không thì hiển thị chủ đề hiện tại." + +#: src/common/outbound.c:3681 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" +"\n" +"TRAY -f <thời hạn> <tập tin 1> [<tập tin 2>] Chớp khay giữa hai biểu tượng.\n" +"TRAY -f <tập tin> Đặt khay là biểu tượng riêng.\n" +"TRAY -i <số> Chớp khay với biểu tượng bên trong.\n" +"TRAY -t <chuỗi> Đặt mẹo công cụ của khay.\n" +"TRAY -b <tựa> <chuỗi> Đặt khung thoại của khay." + +#: src/common/outbound.c:3688 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "" +"UNBAN <bộ_lọc> [<bộ_lọc>...], bỏ trạng thái bị đuổi ra những bộ lọc đã ghi rõ\n" +"[UN (hủy) BAN (đuổi)]" + +#: src/common/outbound.c:3689 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "" +"UNIGNORE <bộ_lọc> [QUIET]\n" +"[UN (hủy) IGNORE (bỏ qua); QUIET (không hiện chi tiết)]" + +#: src/common/outbound.c:3690 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "" +"UNLOAD <tên>, bỏ nạp một bổ sung hay văn lệnh\n" +"[UN (hủy) LOAD (nạp)]" + +#: src/common/outbound.c:3691 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, mở địa chỉ <url> trong trình duyệt Mạng của bạn." + +#: src/common/outbound.c:3693 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "" +"USELECT [-a] [-s] <tên_hiệu1> <tên_hiệu2> v.v., tô sáng những tên hiệu này trong danh sách các người dùng trên kênh\n" +"[User (người dùng) SELECT (lựa chọn)]" + +#: src/common/outbound.c:3696 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <tên_hiệu>, đưa ra <tên hiệu> trạng thái _tiếng nói_ (cần quyền quản trị kênh [chanop])." + +#: src/common/outbound.c:3698 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "" +"WALLCHAN <thông_điệp>, ghi <thông_điệp> vào mọi kênh\n" +"[Write (ghi) ALL (mọị) CHANnel (kênh)]" + +#: src/common/outbound.c:3700 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" +"WALLCHOP <thông_điệp>, gởi <thông_điệp> cho mọi quản trị kênh [chanop] trên kênh hiện tại\n" +"[Write (ghi) ALL (mọi) CHannel (kênh) OPerator (quản trị viên)]" + +#: src/common/outbound.c:3733 +#, c-format +msgid "Usage: %s\n" +msgstr "Cách sử dụng: %s\n" + +#: src/common/outbound.c:3738 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"Không có trợ giúp về lệnh đó.\n" + +#: src/common/outbound.c:3744 +msgid "No such command.\n" +msgstr "Không có lệnh như vậy.\n" + +#: src/common/outbound.c:4074 +msgid "Bad arguments for user command.\n" +msgstr "Lệnh người dùng có đối số sai.\n" + +#: src/common/outbound.c:4230 +msgid "Too many recursive usercommands, aborting." +msgstr "Quá nhiều lệnh người dùng đệ qui nên hủy bỏ." + +#: src/common/outbound.c:4307 +msgid "Unknown Command. Try /help\n" +msgstr "Không biết lệnh này: bạn hãy thử lệnh « /help » (trợ giúp).\n" + +#: src/common/plugin.c:356 src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "Không có ký hiệu « xchat_plugin_init » (khởi động bổ sung xchat): điều này thật là bổ sung kiểu xchat không?" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Bạn có chắc điều này là máy phục vụ và cổng có khả năng SSL không?\n" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"Không tìm thấy tên máy %s.\n" +"Hãy kiểm tra thiết lập IP của bạn.\n" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "Việc đi qua máy phục vụ ủy nhiệm bị lỗi.\n" + +#: src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Đang quay lại đến mấy phục vụ kế tiếp trong %s...\n" + +#: src/common/servlist.c:1074 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "Cảnh báo : không biết bộ ký tự « %s » nên không chuyển đổi cho mạng %s." + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 đã được thêm vào danh sách thông báo." + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 Danh sách đuổi ra:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$tKhông thể vào%C26 %B$1 %O(vì bạn bị đuổi ra)." + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 lúc bây giờ được biết như là $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 đuổi $2 ra" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$tKênh$1 được tạo vào $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O bỏ trạng thái quản trị kênh nửa ra%C26 $2" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O bỏ trạng thái quản trị kênh ra%C26 $2" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O bỏ trạng thái « Tiếng nói » ra%C26 $2" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 đặt trạng thái miễn cho $2" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O đưa ra%C26 $2 trạng thái quản trị kênh nửa" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 đặt trạng thái mời cho $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%UKênh \t Người Chủ đề" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 đặt chế độ $2$3 $4" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22Kênh $1 chế độ : $2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O đưa ra%C26 $2 trạng thái quản trị kênh" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 bỏ trạng thái miễn ra $2" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 bỏ trạng thái mời ra $2" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 bỏ từ khoá kênh" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 bỏ giới hạn người dùng" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 đặt từ khoá kênh thành $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 đặt giới hạn kênh thành $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 bỏ trạng thái bị đuổi ra $2" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O đưa ra %C26 $2 trạng thái « Tiếng nói »" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22Mới kết nối. Đang đăng nhập..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22Đang kết nối đến $1 ($2) trên cổng $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21Kết nối bị lỗi: $1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$tMới nhận CTCP $1 từ $2" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$tMới nhận CTCP $1 từ $2 (cho $3)" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$tMới nhận âm thanh CTCP $1 từ $2" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$tMới nhận âm thanh CTCP $1 từ $2 (cho $3)" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$tTrò chuyện trực tiếp (DCC) với %C26$1%O bị hủy bỏ." + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$tMới kết nối được để trò chuyện trực tiếp (DCC) với %C26$1 %C30[%O$2%C30]" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$tTrò chuyện trực tiếp (DCC) cho %C26$1%O bị mất ($4)." + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$tMới nhận lời mời trò chuyện trực tiếp (DCC) từ $1" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$tĐang mời $1 tro chuyện trực tiếp (DCC)" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$tĐã mời $1 trò chuyện" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$tDCC $1 việc cố kết nối đến%C26 $2%O bị lỗi (lỗi=$3)." + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$tMới nhận « $1%O » từ $2" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 Kiểu Đến/Từ TrThái Cỡ Vị trí Tệp " + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$tMới nhận yêu cầu dạng sai trò chuyện trực tiếp (DCC) từ %C26$1%O.%010%C22*%O$tNội dung gói tin: $2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$tĐang đưa ra%C26 $1%O cho%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$tKhông có lời mời trò chuyện trực tiếp (DCC) như vậy." + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tNHẬN DCC%C26 $2%O cho%C26 $1%O bị hủy bỏ." + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$tNHẬN DCC%C26 $1%O từ%C26 $3%O hoàn thành %C30[%C26$4%O cps%C30]%O." + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tMới kết nối kiểu NHẬN DCC đếnC26 $1 %C30[%O$2%C30]." + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$tNHẬN DCC%C26 $1%O từ%C26 $3%O bị lỗi ($4)." + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tNHẬN DCC: không thể mở $1 để ghi ($2)." + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$tTập tin%C26 $1%C đã có : đang lưu nó dạng %C26 $2%O thay thế." + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %Ođã yêu cầu tiếp tục%C26 $2 %Ctừ%C26 $3%C." + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$tGỞI DCC%C26 $2%O cho%C26 $1%O bị hủy bỏ." + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$tGỞI DCC%C26 $1%O cho%C26 $2%O hoàn thành %C30[%C26$3%O cps%C30]%O." + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$tMới kết nối DCC GỞI đến%C26 $1 %C30[%O$2%C30]." + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$tViệc kết nối DCC GỞI%C26 $1%O đến%C26 $2%O bị lỗi. $3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %Ođã mời%C26 $2 %O(%C26$3 %Obyte)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Ođến%C26 $3 %Cbị ngừng nên hủy bỏ." + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %Ođến%C26 $3 %Oquá giờ nên hủy bỏ." + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1 đã được xoá bỏ ra danh sách thông báo." + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$tBị ngắt kết nối ($1)." + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$tTìm thấy địa chỉ IP của bạn: [$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O đã được thêm vào danh sách bỏ qua." + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "Trang thái bỏ qua về %C26$1%O bị thay đổi." + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "" +"%C24,18 Bộ lọc máy PRIV NOTI CHAN CTCP DCC INVI UNIG\n" +"\n" +"[PRIVate\t\triêng\n" +"NOTIfy\t\tthông báo\n" +"CHANnel\t\tkênh\n" +"Client To Client Protocol\tgiao thức ứng dụng khách đến ứng dụng khách\n" +"Direct Chat Channel\t\tkênh trò chuyện trực tiếp\n" +"INVIte\t\tmời\n" +"UNIGnore\t\thủy bỏ qua]" + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O được gỡ bỏ ra danh sách bỏ qua." + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " Danh sách bỏ qua la trống." + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$tKhông thể vào%C26 %B$1 %O(Phải có lời mời)." + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$tBạn mới được mời vào%C26 $1%O bởi%C26 $2%C (%C26$3%C)" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) mới vao $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$tKhông thể vào%C26 %B$1 %O(Cần đến từ khoá)." + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 mới đá $2 ra $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$tBạn mới bị buộc kết thúc bởi $1 ($2%O%C22)" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "" +"%C22*%O$t%C22MOTD bị nhảy qua.\n" +"[Message Of The Day (thông điệp của hôm nay)]" + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 đang dùng nên thử lái vơi $2..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*%O$tTên hiệu đang được dùng nên hay sử dụng lệnh « /NICK » để chọn tên hiệu khác." + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$tKhông có DCC như vậy." + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$tKhông có tiến trình nào đang chạy" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$tDanh sách thông báo la trống." + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B Danh sách thông báo " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1 người dùng trong danh sách thông báo." + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$tThông báo : $1 ngoại tuyến ($3)." + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$tThông báo : $1 trực tuyến ($3)." + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) đã rời $3 đi" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) đa rời $3 đi (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tTrả lời ping từ $1: $2 giây" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$tChưa nhận trả lời ping sau $1 giây nên ngắt kết nối." + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$tCó một tiến trình đang chạy" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 đã thoát (%O%C23%B%B$2%O%C23)." + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 đặt chế độ%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Gởi tin nhẳn cho mọi quan trị%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$tĐang tra cứu số IP cho%C26 $1%O..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22Đã kết nối." + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22Đang tra cứu $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$tĐã thôi việc cố kết nối trước (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29Chủ đề cho $1%C %C29là: $2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 mới thay đổi chủ đề thành: $2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29Chủ đề cho $1%C %C29 được đặt bởi $2%C %C29vào $3" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$tKhông biết máy: chính tả sai không?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$tKhông thể vào%C26 %B$1 %O(Đã tới giới hạn số người dùng)." + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26Người dùng trên $1:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %Cvắng mặt %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "" +"%C22*%O$t%C28[%O$1%C28] %OKết thúc danh sách WHOIS.\n" +"[WHO IS (là ai)]" + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O nhàn rỗi%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O nghỉ%C26 $2%O, đăng nhập:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %Ongười dùng thật@máy%C27 $2%O, địa chỉ IP thật%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19Đang nói chuyện trên $2" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$tBạn đã bị đá ra $2 bởi $3 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$tBạn mới rời kênh $3 đi" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$tBạn mới rời kênh $3 đi (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$tBạn đã mời%C26 $1%O vào%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$tBạn lúc bây giờ được biết như là $2" + +#: src/common/text.c:287 +msgid "Loaded log from" +msgstr "Bản ghi đã được nạp từ" + +#: src/common/text.c:305 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** KẾT THÚC GHI LƯU VÀO %s\n" + +#: src/common/text.c:514 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** BẮT ĐẦU GHI LƯU VÀO %s\n" + +#: src/common/text.c:533 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"* Không thể mở tập tin bản ghi để ghi:\n" +" hãy kiểm tra quyền truy cập « %s/xchatlogs »" + +#: src/common/text.c:871 +msgid "Left message" +msgstr "Tin nhẳn bên trái" + +#: src/common/text.c:872 +msgid "Right message" +msgstr "Tin nhẳn bên phải" + +#: src/common/text.c:876 +msgid "The nick of the joining person" +msgstr "Tên hiệu của người đang vào" + +#: src/common/text.c:877 +msgid "The channel being joined" +msgstr "Kênh đang được vào" + +#: src/common/text.c:878 src/common/text.c:925 src/common/text.c:976 +msgid "The host of the person" +msgstr "Máy của người ấy" + +#: src/common/text.c:882 src/common/text.c:888 src/common/text.c:895 +#: src/common/text.c:1083 src/common/text.c:1090 src/common/text.c:1095 +#: src/common/text.c:1100 src/common/text.c:1105 src/common/text.c:1111 +#: src/common/text.c:1116 src/common/text.c:1120 src/common/text.c:1126 +#: src/common/text.c:1132 src/common/text.c:1178 src/common/text.c:1189 +#: src/common/text.c:1194 src/common/text.c:1199 src/common/text.c:1208 +#: src/common/text.c:1219 src/common/text.c:1226 src/common/text.c:1232 +#: src/common/text.c:1237 src/common/text.c:1242 src/common/text.c:1249 +#: src/common/text.c:1255 src/common/text.c:1261 src/common/text.c:1266 +#: src/common/text.c:1271 src/common/text.c:1275 src/common/text.c:1281 +#: src/common/text.c:1289 src/common/text.c:1323 src/common/text.c:1328 +msgid "Nickname" +msgstr "Tên hiệu" + +#: src/common/text.c:883 +msgid "The action" +msgstr "Hành động" + +#: src/common/text.c:884 src/common/text.c:890 +msgid "Mode char" +msgstr "Ký tự chế độ" + +#: src/common/text.c:889 +msgid "The text" +msgstr "Chuỗi" + +#: src/common/text.c:891 src/common/text.c:897 +msgid "Identified text" +msgstr "Chuỗi đã nhận biết" + +#: src/common/text.c:896 src/common/text.c:953 src/common/text.c:959 +msgid "The message" +msgstr "Tin nhẳn" + +#: src/common/text.c:901 src/common/text.c:963 +msgid "Old nickname" +msgstr "Tên hiệu cũ" + +#: src/common/text.c:902 src/common/text.c:964 +msgid "New nickname" +msgstr "Tên hiệu mới" + +#: src/common/text.c:906 +msgid "Nick of person who changed the topic" +msgstr "Tên hiệu của người đã thay đổi chủ đề" + +#: src/common/text.c:907 src/common/text.c:913 src/fe-gtk/chanlist.c:756 +#: src/fe-gtk/chanlist.c:859 +msgid "Topic" +msgstr "Chủ đề" + +#: src/common/text.c:908 src/common/text.c:912 src/common/text.c:1343 +#: src/fe-gtk/chanlist.c:754 src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "Kênh" + +#: src/common/text.c:917 src/common/text.c:970 +msgid "The nickname of the kicker" +msgstr "Tên hiệu của người đá" + +#: src/common/text.c:918 src/common/text.c:968 +msgid "The person being kicked" +msgstr "Người đang bị đá" + +#: src/common/text.c:919 src/common/text.c:926 src/common/text.c:930 +#: src/common/text.c:935 src/common/text.c:969 src/common/text.c:977 +#: src/common/text.c:984 +msgid "The channel" +msgstr "Kênh" + +#: src/common/text.c:920 src/common/text.c:971 src/common/text.c:978 +msgid "The reason" +msgstr "Lý do" + +#: src/common/text.c:924 src/common/text.c:975 +msgid "The nick of the person leaving" +msgstr "Tên hiệu của người đang rời đi" + +#: src/common/text.c:931 src/common/text.c:937 +msgid "The time" +msgstr "Giờ" + +#: src/common/text.c:936 +msgid "The creator" +msgstr "Người tạo" + +#: src/common/text.c:941 src/fe-gtk/dccgui.c:763 src/fe-gtk/dccgui.c:994 +msgid "Nick" +msgstr "Tên hiệu" + +#: src/common/text.c:942 src/common/text.c:1195 +msgid "Reason" +msgstr "Lý do" + +#: src/common/text.c:943 src/common/text.c:1085 src/common/text.c:1168 +msgid "Host" +msgstr "Máy" + +#: src/common/text.c:947 src/common/text.c:952 src/common/text.c:957 +msgid "Who it's from" +msgstr "Người gởi" + +#: src/common/text.c:948 +msgid "The time in x.x format (see below)" +msgstr "Giờ dạng x.x (xem dưới)" + +#: src/common/text.c:958 src/common/text.c:995 +msgid "The Channel it's going to" +msgstr "Kênh đích" + +#: src/common/text.c:982 +msgid "The sound" +msgstr "Âm thanh" + +#: src/common/text.c:983 src/common/text.c:989 src/common/text.c:994 +msgid "The nick of the person" +msgstr "Tên hiệu của người ấy" + +#: src/common/text.c:988 src/common/text.c:993 +msgid "The CTCP event" +msgstr "Sự kiện CTCP" + +#: src/common/text.c:999 +msgid "The nick of the person who set the key" +msgstr "Tên hiệu của người đã đặt khoá" + +#: src/common/text.c:1000 +msgid "The key" +msgstr "Khoá" + +#: src/common/text.c:1004 +msgid "The nick of the person who set the limit" +msgstr "Tên hiệu của người đã đặt giới hạn" + +#: src/common/text.c:1005 +msgid "The limit" +msgstr "Giới hạn" + +#: src/common/text.c:1009 +msgid "The nick of the person who did the op'ing" +msgstr "Tên hiệu của người đã đặt trạng thái quản trị" + +#: src/common/text.c:1010 +msgid "The nick of the person who has been op'ed" +msgstr "Tên hiệu của người đã nhận trạng thái quản trị" + +#: src/common/text.c:1014 +msgid "The nick of the person who has been halfop'ed" +msgstr "Tên hiệu của người đã nhận trạng thái nửa quản trị" + +#: src/common/text.c:1015 +msgid "The nick of the person who did the halfop'ing" +msgstr "Tên hiệu của người đã đặt trạng thái nửa quản trị" + +#: src/common/text.c:1019 +msgid "The nick of the person who did the voice'ing" +msgstr "Tên hiệu của người đã đặt trạng thái « Tiếng nói »" + +#: src/common/text.c:1020 +msgid "The nick of the person who has been voice'ed" +msgstr "Tên hiệu của người đã nhận trạng thái « Tiếng nói »" + +#: src/common/text.c:1024 +msgid "The nick of the person who did the banning" +msgstr "Tên hiệu của người đã đuổi người khác" + +#: src/common/text.c:1025 src/common/text.c:1052 +msgid "The ban mask" +msgstr "Bộ lọc đuổi ra" + +#: src/common/text.c:1029 +msgid "The nick who removed the key" +msgstr "Tên hiệu đã gỡ bỏ khoá" + +#: src/common/text.c:1033 +msgid "The nick who removed the limit" +msgstr "Tên hiệu đã gỡ bỏ giới hạn" + +#: src/common/text.c:1037 +msgid "The nick of the person of did the deop'ing" +msgstr "Tên hiệu của người đã bỏ trạng thái quản trị" + +#: src/common/text.c:1038 +msgid "The nick of the person who has been deop'ed" +msgstr "Tên hiệu của người đã mất trạng thái quản trị" + +#: src/common/text.c:1041 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "Tên hiệu của người đã bỏ trạng thái nửa quản trị" + +#: src/common/text.c:1042 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Tên hiệu của người đã mất trạng thái nửa quản trị" + +#: src/common/text.c:1046 +msgid "The nick of the person of did the devoice'ing" +msgstr "Tên hiệu của người đã bỏ trạng thái « Tiếng nói »" + +#: src/common/text.c:1047 +msgid "The nick of the person who has been devoice'ed" +msgstr "Tên hiệu của người đã mất trạng thái « Tiếng nói »" + +#: src/common/text.c:1051 +msgid "The nick of the person of did the unban'ing" +msgstr "Tên hiệu của người đã bỏ trạng thái « Bị đuổi »" + +#: src/common/text.c:1056 +msgid "The nick of the person who did the exempt" +msgstr "Tên hiệu của người đã đặt trạng thái miễn" + +#: src/common/text.c:1057 src/common/text.c:1062 +msgid "The exempt mask" +msgstr "Bộ lọc miễn" + +#: src/common/text.c:1061 +msgid "The nick of the person removed the exempt" +msgstr "Tên hiệu của người đã bỏ trạng thái miễn" + +#: src/common/text.c:1066 +msgid "The nick of the person who did the invite" +msgstr "Tên hiệu của người đã mời người khác" + +#: src/common/text.c:1067 src/common/text.c:1072 +msgid "The invite mask" +msgstr "Bộ lọc mờì" + +#: src/common/text.c:1071 +msgid "The nick of the person removed the invite" +msgstr "Tên hiệu của người đã gỡ bỏ lời mời" + +#: src/common/text.c:1076 +msgid "The nick of the person setting the mode" +msgstr "Tên hiệu của người đặt chế độ" + +#: src/common/text.c:1077 +msgid "The mode's sign (+/-)" +msgstr "Dấu chế độ (+/-)" + +#: src/common/text.c:1078 +msgid "The mode letter" +msgstr "Chữ chế độ" + +#: src/common/text.c:1079 +msgid "The channel it's being set on" +msgstr "Kênh trên đó nó đang được đặt" + +#: src/common/text.c:1084 +msgid "Username" +msgstr "Tên người dùng" + +#: src/common/text.c:1086 +msgid "Full name" +msgstr "Họ tên" + +#: src/common/text.c:1091 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Tư cách thành viên kênh/« là quản trị IRC »" + +#: src/common/text.c:1096 +msgid "Server Information" +msgstr "Thông tin máy phục vụ" + +#: src/common/text.c:1101 src/common/text.c:1106 +msgid "Idle time" +msgstr "Thời gian nghỉ" + +#: src/common/text.c:1107 +msgid "Signon time" +msgstr "Giờ đăng nhập" + +#: src/common/text.c:1112 +msgid "Away reason" +msgstr "Lý do vắng mặt" + +#: src/common/text.c:1121 src/common/text.c:1127 src/common/text.c:1135 +#: src/common/text.c:1315 +msgid "Message" +msgstr "Tin nhẳn" + +#: src/common/text.c:1128 +msgid "Account" +msgstr "Tài khoản" + +#: src/common/text.c:1133 +msgid "Real user@host" +msgstr "Người dùng thât@máy" + +#: src/common/text.c:1134 +msgid "Real IP" +msgstr "Địa chỉ IP thật" + +#: src/common/text.c:1139 src/common/text.c:1148 src/common/text.c:1154 +#: src/common/text.c:1184 src/common/text.c:1338 +msgid "Channel Name" +msgstr "Tên kênh" + +#: src/common/text.c:1143 src/common/text.c:1301 src/fe-gtk/menu.c:1240 +#: src/fe-gtk/menu.c:1420 src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "Chuỗi" + +#: src/common/text.c:1144 src/common/text.c:1150 src/common/text.c:1179 +#: src/common/text.c:1297 src/common/text.c:1339 +msgid "Server Name" +msgstr "Tên máy phục vụ" + +#: src/common/text.c:1149 +msgid "Nick of person who invited you" +msgstr "Tên hiệu của người đã mời bạn" + +#: src/common/text.c:1155 src/fe-gtk/chanlist.c:755 +msgid "Users" +msgstr "Người dùng" + +#: src/common/text.c:1159 +msgid "Nickname in use" +msgstr "Tên hiệu đang được dùng" + +#: src/common/text.c:1160 +msgid "Nick being tried" +msgstr "Tên hiệu đang được thử ra" + +#: src/common/text.c:1169 src/common/text.c:1305 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1170 src/common/text.c:1201 +msgid "Port" +msgstr "Cổng" + +#: src/common/text.c:1180 src/fe-gtk/notifygui.c:139 src/fe-gtk/setup.c:1669 +msgid "Network" +msgstr "Mạng" + +#: src/common/text.c:1185 src/common/text.c:1190 +msgid "Modes string" +msgstr "Chuỗi chế độ" + +#: src/common/text.c:1200 src/common/text.c:1238 src/common/text.c:1243 +#: src/common/text.c:1284 +msgid "IP address" +msgstr "Địa chỉ IP" + +#: src/common/text.c:1206 src/common/text.c:1231 +msgid "DCC Type" +msgstr "Kiểu DCC" + +#: src/common/text.c:1207 src/common/text.c:1212 src/common/text.c:1217 +#: src/common/text.c:1224 src/common/text.c:1244 src/common/text.c:1248 +#: src/common/text.c:1254 src/common/text.c:1260 src/common/text.c:1267 +#: src/common/text.c:1276 src/common/text.c:1282 +msgid "Filename" +msgstr "Tên tập tin" + +#: src/common/text.c:1218 src/common/text.c:1225 +msgid "Destination filename" +msgstr "Tên tập tin đích" + +#: src/common/text.c:1227 src/common/text.c:1256 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1262 +msgid "Pathname" +msgstr "Tên đường dẫn" + +#: src/common/text.c:1277 src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "Vị trí" + +#: src/common/text.c:1283 src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "Cỡ" + +#: src/common/text.c:1288 +msgid "DCC String" +msgstr "Chuỗi DCC" + +#: src/common/text.c:1293 +msgid "Number of notify items" +msgstr "Số mục thông báo" + +#: src/common/text.c:1309 +msgid "Old Filename" +msgstr "Tên tập tin cũ" + +#: src/common/text.c:1310 +msgid "New Filename" +msgstr "Tên tập tin mới" + +#: src/common/text.c:1314 +msgid "Receiver" +msgstr "Bộ nhận" + +#: src/common/text.c:1319 +msgid "Hostmask" +msgstr "Bộ lọc máy" + +#: src/common/text.c:1324 +msgid "Hostname" +msgstr "Tên máy" + +#: src/common/text.c:1329 +msgid "The Packet" +msgstr "Gói tin" + +#: src/common/text.c:1333 +msgid "Seconds" +msgstr "Giây" + +#: src/common/text.c:1337 +msgid "Nick of person who have been invited" +msgstr "Tên người đã được mời" + +#: src/common/text.c:1344 +msgid "Banmask" +msgstr "Bộ lọc đuổi ra" + +#: src/common/text.c:1345 +msgid "Who set the ban" +msgstr "Người đã đặt đuổi ra" + +#: src/common/text.c:1346 +msgid "Ban time" +msgstr "Thời gian đuổi ra" + +#: src/common/text.c:1386 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"Gặp lỗi khi phân tách sự kiện %s.\n" +"Đang nạp mặc định." + +#: src/common/text.c:2079 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"Không thể đọc tập tin âm thanh:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "Máy ở xa đã đóng ổ cắm" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "Kết nối bị từ chối" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "Không có đường dẫ đến máy" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "Kết nối đã quá giờ" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "Không thể gán địa chỉ đó" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "Kết nối bị đặt lại bởi ngang hàng" + +#: src/common/util.c:839 +msgid "Ascension Island" +msgstr "Đảo Ascension" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "Ăn-đoa-râ" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "Các Tiểu Vương Quốc A Rập Thống Nhất" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "A Phú Hãn" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "Ănh-thí-gụ-a và Ba-bu-đạ" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "Ănh-gouí-lạ" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "An-ba-ni" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "Ác-mê-ni" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "An-thi-li Hoà-lan" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "Ăng-gô-la" + +#: src/common/util.c:849 +msgid "Antarctica" +msgstr "Nam cực" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "Ác-hen-ti-na" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "DNS ngược" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "Xa-mô-a Mỹ" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "Ao" + +#: src/common/util.c:854 +msgid "Nato Fiel" +msgstr "Na-tô Phi-en" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "Úc" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "A-ru-ba" + +#: src/common/util.c:857 +msgid "Aland Islands" +msgstr "Quần Đảo A-lan" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "Ai-déc-bai-gian" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "Bô-x-ni-a và Héc-xê-gô-vi-na" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "Bác-ba-đốt" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "Băng-la-đe-xợ" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "Bỉ" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "Bổ-khi-na Pha-xô" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "Bun-ga-ri" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "Ba-ren" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "Bu-run-đi" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "Kinh doanh" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "Bê-nin" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "Be-mư-đa" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "Bợ-ru-này Đa-ru-xa-làm" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "Bô-li-vi-a" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "Bra-xin" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "Ba-ha-ma" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "Bu-thăn" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "Quần Đảo Bu-vê" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "Bốt-xoă-na" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "Be-la-ru-xợ" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "Bê-li-xê" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "Ca-na-đa" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "Quần Đảo Cô-cô-x" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "Cộng Hoà Dân Chủ Công-gô" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "Cộng Hoà Trung Châu Phi" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "Công-gô" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "Thụy Sĩ" + +#: src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "Cộng Hoà Cốt Đi-vouă" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "Quần Đảo Khu-kh" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "Chi-lê" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "Ca-mơ-runh" + +#: src/common/util.c:889 +msgid "China" +msgstr "Trung Quốc" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "Cô-lôm-bi-a" + +#: src/common/util.c:891 +msgid "Internic Commercial" +msgstr "Thương nghiệp Internic" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "Cốt-x-tha Ri-ca" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "Xéc-bi và Mon-te-nê-gợ-rô" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "Cu-ba" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "Cáp-ve-đe" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "Đảo Cợ-ri-x-mạ-x" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "Síp" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "Cộng Hoà Séc" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "Đức" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "Gi-bu-ti" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "Đan Mạch" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "Đô-mi-ni-cạ" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "Cộng Hoà Đô-mi-ni-cạ" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "An-giê-ri" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "Ê-cu-a-đọa" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "Tổ chức giáo dục" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "E-x-tô-ni-a" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "Ai Cập" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "Tây Sa-ha-ra" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "Ê-ri-tơ-rê-a" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "Tây Ban Nha" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "Ê-ti-ô-pi" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "Liên Bang Âu" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "Phần Lan" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "Phi-gi" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "Quần Đảo Phoa-kh-lận-đ" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "Mi-cợ-rô-nê-xi-a" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "Quần Đảo Pha-rô" + +#: src/common/util.c:919 +msgid "France" +msgstr "Pháp" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "Ga-bon" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "Vương Quốc Thống Nhất Anh va Bắc Ai-len" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "Gợ-rê-na-đa" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "Gi-oa-gi-a" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "Ghi-a-na Pháp" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "Quần Đảo Kênh Anh" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "Gha-na" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "Gi-boa-thạ" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "Đảo Băng" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "Găm-bi-ạ" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "Ghi-nê" + +#: src/common/util.c:931 +msgid "Government" +msgstr "Chính phủ" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "Gu-a-đe-lu-pợ" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "Ghi-nê Xích-đạo" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "Hy Lạp" + +#: src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Quần Đảo xan Gi-oa-gi-a và xan Xan-oui-chợ" + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "Gua-tê-ma-la" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "Gu-ăm" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "Ghi-nê Bít-xau" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "Guy-ă-na" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "Hông Kồng" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "Quần Đảo Hơ-đh và Mơ-kh-đo-nựn" + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "Hôn-đu-ra-xợ" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "Cợ-rô-a-ti-a" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "Ha-i-ti" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "Hung-ga-ri" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "Nam Dương" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "Ai-len" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "Do Thái" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "Đảo Man" + +#: src/common/util.c:950 +msgid "India" +msgstr "Ấn Độ" + +#: src/common/util.c:951 +msgid "Informational" +msgstr "Cung cấp thông tin" + +#: src/common/util.c:952 +msgid "International" +msgstr "Quốc tế" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "Miền Đại Dương Ấn Độ Anh" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "I-rắc" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "I-ran" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "Băng Đảo" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "Ý" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "Giơ-xi" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "Gia-mê-ca" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "Gi-oa-đạn" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "Nhật Bản" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "Khi-nia" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "Ky-rơ-gy-xtanh" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "Căm Bốt" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "Ki-ri-ba-ti" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "Cô-mô-rô-x" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "Xan Kith-x và Ne-vi-xợ" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "Bắc Hàn" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "Nam Hàn" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "Cu-ouai-th" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "Quần Đảo Cay-man" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "Ca-xa-kh-x-thanh" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "Lào" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "Le-ba-non" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "Xan Lu-xi-a" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "Lich-ten-xtênh" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "Xợ-ri-lan-ca" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "Li-bê-ri-a" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "Lê-xô-thô" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "Li-tu-a-ni" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "Lúc-xăm-buac" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "Lát-vi-a" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "Li-bi-a" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "Ma-rốc" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "Mô-na-cô" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "Moa-đô-vạ" + +#: src/common/util.c:987 +msgid "United States Medical" +msgstr "Y Mỹ" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "Ma-đa-gá-x-cạ" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "Quần Đảo Mác-san" + +#: src/common/util.c:990 +msgid "Military" +msgstr "Quân đội" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "Ma-xê-đô-ni" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "Ma-li" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "Miến Điện" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "Mông Cổ" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "Ma-cau" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "Quần Đảo Bắc Ma-ri-a-na" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "Ma-thi-ní-kh" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "Mô-ri-ta-ni-a" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "Mon-xe-rạc" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "Man-tơ" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "Mô-ri-sơ" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "Man-đi-vợ-x" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "Ma-la-uy" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "Mê-hi-cô" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "Mã Lai" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "Mô-xam-bí-kh" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "Na-mi-bi-a" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "Niu Ca-lê-đô-ni-a" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "Ni-giê" + +#: src/common/util.c:1010 +msgid "Internic Network" +msgstr "Mạng Internic" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "Đảo Noa-phực" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "Ni-giê-ri-a" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "Ni-ca-ra-gua" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "Hoà Lan" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "Na Uy" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "Nê-pan" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "Nau-ru" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "Ni-u-e" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "Niu Xi-lân" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "Ô-man" + +#: src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "Tổ chức Phi lợi nhuận Internic" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "Pa-na-ma" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "Pê-ru" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "Pô-li-nê-xi Pháp" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "Pa-pu-a Niu Ghi-nê" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "Phi-luật-tân" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "Pa-ki-x-thănh" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "Ba Lan" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "Xan Pi-e và Mi-kê-lon" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "Pi-th-khenh" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "Pu-e-tô Ri-cô" + +#: src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "Hạt Pa-le-x-tin" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "Bồ Đào Nha" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "Pa-lau" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "Pa-ra-guay" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "Qua-tă" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "Rê-u-ni-ợnh" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "Rô-ma-ni" + +#: src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "ARPAnet kiểu cũ" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "Liên Bang Nga" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "Ru-oanh-đạ" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "A Rập Xau-đi" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "Quần Đảo Xô-lô-mon" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "Xây-sen" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "Xu-đan" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "Thuỵ Điển" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "Xin-ga-po" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "Xan He-le-na" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "Xlô-ven" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Quần Đảo X-van-băt và Dan May-en" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "Cộng Hoà Xlô-vác" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "Xi-ê-ra Lê-ôn" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "Xan Ma-ri-nô" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "Xê-nê-gan" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "Xô-ma-li" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "Xu-ri-nam" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "Xao Tô-mê và Pợ-rin-xi-pê" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "Liên xô trước" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "En-xan-va-đoa" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "Xi-ri" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "Xouă-xi-lan" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "Quần Đảo Tổc và Cai-co-x" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "Chê-đ" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "Miền Nam Pháp" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "Tô-gô" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "Thái Lan" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "Ta-gí-khi-x-thanh" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "To-ke-lau" + +#: src/common/util.c:1069 src/common/util.c:1073 +msgid "East Timor" +msgstr "Đông Ti-mọa" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "Tổc-mê-ni-x-tanh" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "Tu-ni-xi-a" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "Tông-ga" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "Thổ Nhĩ Kỳ" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "Trinh-i-đat và To-ba-gô" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "Tu-va-lu" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "Đài Loan" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "Tan-xa-ni-a" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "U-cợ-rainh" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "U-gan-đa" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "Vương Quốc Anh Thống Nhất" + +#: src/common/util.c:1082 +msgid "United States of America" +msgstr "Mỹ" + +#: src/common/util.c:1083 +msgid "Uruguay" +msgstr "U-ru-guay" + +#: src/common/util.c:1084 +msgid "Uzbekistan" +msgstr "U-xơ-bê-ki-x-tanh" + +#: src/common/util.c:1085 +msgid "Vatican City State" +msgstr "Bang Thành Phố Va-ti-can" + +#: src/common/util.c:1086 +msgid "St. Vincent and the Grenadines" +msgstr "Xan Vin-xen và Gợ-re-na-đinh" + +#: src/common/util.c:1087 +msgid "Venezuela" +msgstr "Vê-nê-xu-ê-la" + +#: src/common/util.c:1088 +msgid "British Virgin Islands" +msgstr "Quần Đảo Vơ-ginh Anh" + +#: src/common/util.c:1089 +msgid "US Virgin Islands" +msgstr "Quần Đảo Vơ-ginh Mỹ" + +#: src/common/util.c:1090 +msgid "Vietnam" +msgstr "Việt Nam" + +#: src/common/util.c:1091 +msgid "Vanuatu" +msgstr "Va-nu-a-tu" + +#: src/common/util.c:1092 +msgid "Wallis and Futuna Islands" +msgstr "Quần Đảo Oua-lit và Phu-tu-na" + +#: src/common/util.c:1093 +msgid "Samoa" +msgstr "Xa-moa" + +#: src/common/util.c:1094 +msgid "Yemen" +msgstr "Y-ê-men" + +#: src/common/util.c:1095 +msgid "Mayotte" +msgstr "May-oth" + +#: src/common/util.c:1096 +msgid "Yugoslavia" +msgstr "Nam Tư" + +#: src/common/util.c:1097 +msgid "South Africa" +msgstr "Nam Phi" + +#: src/common/util.c:1098 +msgid "Zambia" +msgstr "Xăm-bi-a" + +#: src/common/util.c:1099 +msgid "Zimbabwe" +msgstr "Xim-ba-buê" + +#: src/common/util.c:1109 src/common/util.c:1119 src/fe-gtk/menu.c:553 +#: src/fe-gtk/menu.c:558 src/fe-gtk/menu.c:562 src/fe-gtk/menu.c:566 +#: src/fe-gtk/menu.c:574 src/fe-gtk/menu.c:592 +msgid "Unknown" +msgstr "Chưa biết" + +#: src/common/xchat.c:767 src/common/xchat.c:893 +msgid "Open Dialog Window" +msgstr "Mở cửa sổ đối thoại" + +#: src/common/xchat.c:768 +msgid "Send a File" +msgstr "Gởi tập tin" + +#: src/common/xchat.c:769 +msgid "User Info (WHOIS)" +msgstr "Thông tin người dùng (WHOIS)" + +#: src/common/xchat.c:770 +msgid "Operator Actions" +msgstr "Hành động quản trị" + +#: src/common/xchat.c:772 src/common/xchat.c:863 +msgid "Give Ops" +msgstr "Cho quyền Quản trị" + +#: src/common/xchat.c:773 src/common/xchat.c:864 +msgid "Take Ops" +msgstr "Bỏ quyền Quản trị" + +#: src/common/xchat.c:774 src/common/xchat.c:867 +msgid "Give Voice" +msgstr "Cho quyền Tiếng nói" + +#: src/common/xchat.c:775 src/common/xchat.c:868 +msgid "Take Voice" +msgstr "Bỏ quyền Tiếng nói" + +#: src/common/xchat.c:777 src/common/xchat.c:872 +msgid "Kick/Ban" +msgstr "Đá/Đuổi" + +#: src/common/xchat.c:778 src/common/xchat.c:873 src/common/xchat.c:922 +msgid "Kick" +msgstr "Đá" + +#: src/common/xchat.c:779 src/common/xchat.c:780 src/common/xchat.c:781 +#: src/common/xchat.c:782 src/common/xchat.c:783 src/common/xchat.c:874 +#: src/common/xchat.c:875 src/common/xchat.c:876 src/common/xchat.c:877 +#: src/common/xchat.c:878 src/common/xchat.c:921 +msgid "Ban" +msgstr "Đuổi" + +#: src/common/xchat.c:784 src/common/xchat.c:785 src/common/xchat.c:786 +#: src/common/xchat.c:787 src/common/xchat.c:879 src/common/xchat.c:880 +#: src/common/xchat.c:881 src/common/xchat.c:882 +msgid "KickBan" +msgstr "Đá đuổi" + +#: src/common/xchat.c:850 +msgid "Direct client-to-client" +msgstr "Khách-đến-khách trực tiếp" + +#: src/common/xchat.c:851 +msgid "Send File" +msgstr "Gởi tập tin" + +#: src/common/xchat.c:852 +msgid "Offer Chat" +msgstr "Mời trò chuyện" + +#: src/common/xchat.c:853 +msgid "Abort Chat" +msgstr "Hủy bỏ trò chuyện" + +#: src/common/xchat.c:854 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Phiên bản" + +#: src/common/xchat.c:855 +msgid "Userinfo" +msgstr "Thông tin người dùng" + +#: src/common/xchat.c:856 +msgid "Clientinfo" +msgstr "Thông tin khách" + +#: src/common/xchat.c:857 src/common/xchat.c:891 src/common/xchat.c:939 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:858 +msgid "Time" +msgstr "Thòi gian" + +#: src/common/xchat.c:859 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:860 +msgid "Oper" +msgstr "QTrị" + +#: src/common/xchat.c:861 +msgid "Kill this user" +msgstr "Kết thúc người dùng này" + +#: src/common/xchat.c:862 +msgid "Mode" +msgstr "Chế độ" + +#: src/common/xchat.c:865 +msgid "Give Half-Ops" +msgstr "Cho quyền Nửa quản trị" + +#: src/common/xchat.c:866 +msgid "Take Half-Ops" +msgstr "Bỏ quyền Nửa quản trị" + +#: src/common/xchat.c:869 +msgid "Ignore" +msgstr "Bỏ qua" + +#: src/common/xchat.c:870 +msgid "Ignore User" +msgstr "Bỏ qua người dùng" + +#: src/common/xchat.c:871 +msgid "UnIgnore User" +msgstr "Thôi bỏ qua người dùng" + +#: src/common/xchat.c:883 +msgid "Info" +msgstr "Thông tin" + +#: src/common/xchat.c:884 +msgid "Who" +msgstr "Ai" + +#: src/common/xchat.c:885 src/common/xchat.c:935 +msgid "WhoIs" +msgstr "Whois (là ai?)" + +#: src/common/xchat.c:886 +msgid "DNS Lookup" +msgstr "Tra cứu DNS" + +#: src/common/xchat.c:887 +msgid "Trace" +msgstr "Tìm đường" + +#: src/common/xchat.c:888 +msgid "UserHost" +msgstr "NgườiMáy" + +#: src/common/xchat.c:889 +msgid "External" +msgstr "Bên ngoài" + +#: src/common/xchat.c:890 +msgid "Traceroute" +msgstr "Tìm dấu vết đường" + +#: src/common/xchat.c:892 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:904 +msgid "Leave Channel" +msgstr "Rời kênh đi" + +#: src/common/xchat.c:905 src/fe-gtk/menu.c:1427 +msgid "Join Channel..." +msgstr "Vào kênh..." + +#: src/common/xchat.c:906 src/fe-gtk/menu.c:1117 +msgid "Enter Channel to Join:" +msgstr "Nhập kênh cần vào :" + +#: src/common/xchat.c:907 +msgid "Server Links" +msgstr "Liên kết máy phục vụ" + +#: src/common/xchat.c:908 +msgid "Ping Server" +msgstr "Máy phục vụ Ping" + +#: src/common/xchat.c:909 +msgid "Hide Version" +msgstr "Ẩn phiên bản" + +#: src/common/xchat.c:919 +msgid "Op" +msgstr "QT" + +#: src/common/xchat.c:920 +msgid "DeOp" +msgstr "BỏQT" + +#: src/common/xchat.c:923 +msgid "bye" +msgstr "tạm biệt" + +#: src/common/xchat.c:924 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Nhập lý do đá %s:" + +#: src/common/xchat.c:925 +msgid "Sendfile" +msgstr "Gởi_tệp" + +#: src/common/xchat.c:926 +msgid "Dialog" +msgstr "Đối thoại" + +#: src/common/xchat.c:936 +msgid "Send" +msgstr "Gởi" + +#: src/common/xchat.c:937 +msgid "Chat" +msgstr "Trò chuyện" + +#: src/common/xchat.c:938 src/fe-gtk/banlist.c:341 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "Xóa trống" + +#: src/common/dbus/dbus-client.c:71 +msgid "Couldn't connect to session bus" +msgstr "Không thể kết nối đến bộ nối phiên chạy" + +#: src/common/dbus/dbus-client.c:85 +msgid "Failed to complete NameHasOwner" +msgstr "Lỗi chạy xong NameHasOwner (tên có người sở hữu)" + +#: src/common/dbus/dbus-client.c:106 +msgid "Failed to complete Command" +msgstr "Lỗi chạy xong Command (lệnh)" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "truy cập từ xa" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "bổ sung cho truy cập từ xa bằng DBUS" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Không thể kết nối đến bộ nối phiên chạy: %s\n" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Lỗi lấy %s: %s\n" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "Giới thiệu về X-Chat" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "Ứng dụng khách IRC đa nền" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "Sơ đồ ký tự" + +#: src/fe-gtk/banlist.c:113 src/fe-gtk/chanlist.c:305 +#: src/fe-gtk/plugin-tray.c:217 +msgid "Not connected." +msgstr "Chưa kết nối." + +#: src/fe-gtk/banlist.c:154 src/fe-gtk/banlist.c:257 +msgid "You must select some bans." +msgstr "Phải chọn một số việc đuổi ra." + +#: src/fe-gtk/banlist.c:206 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "Bạn có chắc muốn gỡ bỏ mọi việc đuổi ra trong %s không?" + +#: src/fe-gtk/banlist.c:272 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "Lọc" + +#: src/fe-gtk/banlist.c:273 +msgid "From" +msgstr "Từ" + +#: src/fe-gtk/banlist.c:274 +msgid "Date" +msgstr "Ngày" + +#: src/fe-gtk/banlist.c:317 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Bạn có thể mở cửa sổ Danh Sách Đuổi Ra chỉ khi trong một thẻ kênh." + +#: src/fe-gtk/banlist.c:321 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "X-Chat: Danh Sách Đuổi Ra (%s)" + +#: src/fe-gtk/banlist.c:337 +msgid "Unban" +msgstr "Bỏ đuổi ra" + +#: src/fe-gtk/banlist.c:339 +msgid "Crop" +msgstr "Xén" + +#: src/fe-gtk/banlist.c:343 +msgid "Refresh" +msgstr "Cập nhật" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Đang hiển thị %d/%d người dùng trên %d/%d kênh." + +#: src/fe-gtk/chanlist.c:522 src/fe-gtk/menu.c:1053 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Hãy chọn tên tập tin xuất" + +#: src/fe-gtk/chanlist.c:626 src/fe-gtk/chanlist.c:789 +msgid "_Join Channel" +msgstr "_Vào kênh" + +#: src/fe-gtk/chanlist.c:628 +msgid "_Copy Channel Name" +msgstr "_Chép tên kênh" + +#: src/fe-gtk/chanlist.c:630 +msgid "Copy _Topic Text" +msgstr "Chép c_hủ đề" + +#: src/fe-gtk/chanlist.c:714 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat: Danh Sách Kênh (%s)" + +#: src/fe-gtk/chanlist.c:771 +msgid "_Search" +msgstr "_Tìm" + +#: src/fe-gtk/chanlist.c:777 +msgid "_Download List" +msgstr "Tải về _danh sách" + +#: src/fe-gtk/chanlist.c:783 +msgid "Save _List..." +msgstr "_Lưu danh sách..." + +#: src/fe-gtk/chanlist.c:796 +msgid "Show only:" +msgstr "Hiển thị chỉ:" + +#: src/fe-gtk/chanlist.c:808 +msgid "channels with" +msgstr "kênh có" + +#: src/fe-gtk/chanlist.c:821 +msgid "to" +msgstr "đến" + +#: src/fe-gtk/chanlist.c:833 +msgid "users." +msgstr "người dùng." + +#: src/fe-gtk/chanlist.c:839 +msgid "Look in:" +msgstr "Tìm trong:" + +#: src/fe-gtk/chanlist.c:851 +msgid "Channel name" +msgstr "Tên kênh" + +#: src/fe-gtk/chanlist.c:872 +msgid "Search type:" +msgstr "Cách tìm:" + +#: src/fe-gtk/chanlist.c:879 +msgid "Simple Search" +msgstr "Tìm đơn giản" + +#: src/fe-gtk/chanlist.c:880 +msgid "Pattern Match (Wildcards)" +msgstr "Khớp mẫu (ký tự đại diện)" + +#: src/fe-gtk/chanlist.c:882 +msgid "Regular Expression" +msgstr "Biểu thức chính quy" + +#: src/fe-gtk/chanlist.c:893 src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "Tìm:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "Gởi tập tin cho %s" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "Tập tin đó không tiếp tục được." + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"Không thể truy cập tập tin: %s\n" +"%s.\n" +"Nên không thể tiếp tục lại." + +#: src/fe-gtk/dccgui.c:507 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "Tập tin nằm trong thư mục tải về là lớn hơn điều đã đưa ra nên không thể tiếp tục lại." + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "Không thể tiếp tục lại cùng một tập tin từ hai người khác." + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat: Tải lên/về" + +#: src/fe-gtk/dccgui.c:756 src/fe-gtk/dccgui.c:993 src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "Trạng thái" + +#: src/fe-gtk/dccgui.c:757 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Tập tin" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "Giờ tới xấp xỉ" + +#: src/fe-gtk/dccgui.c:784 src/fe-gtk/menu.c:1421 +msgid "Both" +msgstr "Cả hai" + +#: src/fe-gtk/dccgui.c:790 +msgid "Uploads" +msgstr "Tải lên" + +#: src/fe-gtk/dccgui.c:796 +msgid "Downloads" +msgstr "Tải về" + +#: src/fe-gtk/dccgui.c:801 +msgid "Details" +msgstr "Chi tiết" + +#: src/fe-gtk/dccgui.c:812 +msgid "File:" +msgstr "Tập tin:" + +#: src/fe-gtk/dccgui.c:813 +msgid "Address:" +msgstr "Địa chỉ:" + +#: src/fe-gtk/dccgui.c:819 src/fe-gtk/dccgui.c:1014 +msgid "Abort" +msgstr "Hủy bỏ" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1015 +msgid "Accept" +msgstr "Chấp nhận" + +#: src/fe-gtk/dccgui.c:821 +msgid "Resume" +msgstr "Tiếp tục" + +#: src/fe-gtk/dccgui.c:822 +msgid "Open Folder..." +msgstr "Mở thư mục..." + +#: src/fe-gtk/dccgui.c:982 +msgid "XChat: DCC Chat List" +msgstr "XChat: Danh Sách Trò Chuyện Trực Tiếp (DCC)" + +#: src/fe-gtk/dccgui.c:995 +msgid "Recv" +msgstr "Nhận" + +#: src/fe-gtk/dccgui.c:996 +msgid "Sent" +msgstr "Gởi" + +#: src/fe-gtk/dccgui.c:997 +msgid "Start Time" +msgstr "Giờ bắt đầu" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "• MỚI •" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "SỬA ĐI" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "Tên" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "Lệnh" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "Đem lên" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "Đem xng" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "Thôi" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "Lưu" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "Thêm mới" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "Xóa" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "Sắp xếp" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "Trợ giúp" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "Không tự động kết nối đến máy phục vụ" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "Dùng thư mục cấu hình khác" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "Không tự động nạp bổ sung nào" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "Hiển thị thư mục của các bổ sung cần tự động nạp" + +#: src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "Hiển thị thư mục cấu hình của người dung" + +#: src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "Mở địa chỉ URL dạng « irc://máy:cổng/kênh »" + +#: src/fe-gtk/fe-gtk.c:133 +msgid "Open URL in an existing XChat" +msgstr "Mở địa chỉ URL trong tiến trình XChat đang chạy" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Khởi chạy bị thu nhỏ. Cấp: 0=Chuẩn 1=Biểu tượng 2=Khay" + +#: src/fe-gtk/fe-gtk.c:135 +msgid "level" +msgstr "cấp" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "Show version information" +msgstr "Hiển thị thông tin phiên bản" + +#: src/fe-gtk/fe-gtk.c:256 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"Lỗi mở phông chữ :\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:635 +msgid "Search buffer is empty.\n" +msgstr "Bộ đệm tìm kiếm là trống.\n" + +#: src/fe-gtk/fe-gtk.c:731 +#, c-format +msgid "%d bytes" +msgstr "%d byte" + +#: src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Hàng đợi gởi mạng: %d byte" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "Hành động « Chạy lệnh » chạy dữ liệu trong « Dữ liệu 1 » như thế nó đã được gõ vào hộp nhập nơi bạn đã bấm dãy phím đó. Vì vậy nó có thể bao gồm câu chữ (mà sẽ được gởi cho kênh/người đó), lệnh hay lệnh của người dùng. Khi chạy, mọi ký tự « \\n » trong « Dữ liệu 1 » được dùng để phân cách những lệnh riêng, vì thế có thể chạy nhiều lệnh đồng thời. Nếu bạn muốn xem ký tự « \\ » trong câu thật, hãy gõ « \\\\ » thay thế." + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "Lệnh « Đổi trang » chuyển đổi giữa các trang trong cuốn vở. Hãy đặt « Dữ liệụ 1 » thành trang tới đó bạn muốn chuyển đổi. Nếu « Dữ liêu 2 » được đặt thành gì, việc chuyển đổi sẽ cân xứng với vị trí hiện có." + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "Lệnh « Chèn vào bộ đệm » chèn nội dung của « Dữ liệu 1 » vào trường nơi bạn đã bấm dãy phím đó, tại vị tri con trỏ hiện có" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "" +"Lệnh « Cuộn trang » cuộn ô điều khiển văn bản lên hay xuống theo một trang hay một dòng. Hãy đặt « Dữ liệu 1 » thành một của:\n" +"Up\t\tlên\n" +"Down\txuống\n" +"+1\n" +"-1" + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "Lệnh « Đặt bộ đệm » đặt trường nơi dãy phím được nhập thành nội dung của « Dữ liệu 1 »" + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "Lệnh « Lệnh cuối » đặt trường để chứa lệnh mới nhập — giống như khi bấm phím mũi tên lên trong trình bao" + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "Lệnh « Lệnh kế » đặt trường chứa lệnh kế tiếp được nhập — giống như khi bấm phím mũi tên xuống trong trình bao" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "Lệnh này thay đổi đoạn chữ trong trường nhập để nhập xong tên hiệu hay lệnh chưa hoàn thành. Nếu « Dữ liệu 1 » đã được đặt, việc bám phím Tab hai lần trong chuỗi sẽ chọn tên hiệu trước, không phải tên hiệu sau." + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "Lệnh này cuộn lên và xuống danh sách các tên hiệu. Nếu « Dữ liệu 1 » được đặt thành gì, nó sẽ cuộn lên, nếu không thì nó sẽ cuộn xuống." + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "Lệnh này so sánh từ mới nhập vào trường với danh sách thay thế, và thay thế nó nếu tìm thấy từ khớp" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "Lệnh này di chuyển thẻ trươc phía bên trái theo một điều" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "Lệnh này di chuyển thẻ trươc phía bên phải theo một điều" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "Lệnh này di chuyển nhóm thẻ hiện thời phía bên trái" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "Lệnh này di chuyển nhóm thể hiện thời phía bên phải" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "Đẩy dòng nhập vào lịch sử nhưng không gởi cho máy phục vụ" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "Gặp lỗi khi nạp cấu hình tổ hợp phím" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1616 src/fe-gtk/maingui.c:1719 +#: src/fe-gtk/maingui.c:3201 +msgid "<none>" +msgstr "<không có>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "Đổi" + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "Phím" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "Hành động" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: Phím tắt" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "Dữ liệu 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "Dữ liệu 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "Gặp lỗi khi mở tập tin cấu hình phím\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Gặp tên phím lạ %s trong tập tin cấu hình tổ hợp phím\n" +"nên hủy bỏ việc nạp. Hãy sửa chữa tập tin « %s/keybindings.conf ».\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "Gặp hành động lạ %s trong tập tin cấu hình tổ hợp phím.nnên hủy bỏ việc nạp. Hãy sửa chữa tập tin « %s/keybindings ».\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"Ngờ dòng Dữ liêu (bắt đầu « Dx{:|!}) » nhưng nhận:\n" +"%s\n" +"\n" +"nên hủy bỏ việc nạp. Hãy sửa chữa tập tin « %s/keybindings ».\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"Tập tin cấu hình tổ hợp phím bị hỏng nên hủy bỏ việc nạp.\n" +"Hãy sửa chữa tập tin « %s/keybindings.conf ».\n" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "Không thể ghi vào tập tin đó." + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "Không thể đọc tập tin đó." + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "Bộ lọc đã có." + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:2100 +msgid "Private" +msgstr "Riêng" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "Thông báo" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "Mời" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "Thôi bỏ qua" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "Hãy nhập bộ lọc cần bỏ qua:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "XChat: Danh Sách Bỏ Qua" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "Thống Kê Bỏ Qua:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "Kênh:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "Riêng:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "Thông báo :" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "Mời:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:420 +msgid "Add..." +msgstr "Thêm..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "Tên kênh quá ngắn nên hãy thử lại." + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: Kết nối hoàn tất" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "Kết nối đến %s hoàn tất." + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "Trong cửa sổ Danh Sách Máy Phục Vụ, chưa nhập kênh (phòng trò chuyện) cần tham gia tự động cho mạng này." + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "Tiếp sau đây bạn có muốn làm gì?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "Gì cả, tôi sẽ tham gia kê_nh sau này." + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "_Vào kênh này:" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Nến bạn có biết tên kênh bạn muốn vào, hãy nhập nó vào đây." + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "_Mở cửa sổ Danh Sách Kênh." + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "Việc lấy Danh Sách Kênh có lẽ sẽ mất một hai phút." + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "_Luôn hiển thị hộp thoại này một khi kết nối." + +#: src/fe-gtk/maingui.c:500 +msgid "Dialog with" +msgstr "Đối thoại với" + +#: src/fe-gtk/maingui.c:787 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Chủ đề cho %s là: %s" + +#: src/fe-gtk/maingui.c:792 +msgid "No topic is set" +msgstr "Chưa đặt chủ đề" + +#: src/fe-gtk/maingui.c:1177 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "Máy phục vụ này vẫn còn có %d kênh hay đối thoại được liên quan đến nó. Đóng hết không?" + +#: src/fe-gtk/maingui.c:1304 +msgid "Quit XChat?" +msgstr "Thoát khỏi XChat không?" + +#: src/fe-gtk/maingui.c:1325 +msgid "Don't ask next time." +msgstr "Đừng hỏi lần kế tiếp." + +#: src/fe-gtk/maingui.c:1331 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Bạn hiện thời có kết nối với %i mạng IRC." + +#: src/fe-gtk/maingui.c:1333 +msgid "Are you sure you want to quit?" +msgstr "Bạn có chắc muốn thoát không?" + +#: src/fe-gtk/maingui.c:1335 +msgid "Some file transfers are still active." +msgstr "Có một số việc truyền tập tin còn hoặt động." + +#: src/fe-gtk/maingui.c:1353 +msgid "_Minimize to Tray" +msgstr "Thu nhỏ về _Khay" + +#: src/fe-gtk/maingui.c:1567 +msgid "Insert Attribute or Color Code" +msgstr "Chèn mã Thuộc Tính hay mã Màu" + +#: src/fe-gtk/maingui.c:1569 +msgid "<b>Bold</b>" +msgstr "<b>Đậm</b>" + +#: src/fe-gtk/maingui.c:1570 +msgid "<u>Underline</u>" +msgstr "<u>Gạch dưới</u>" + +#: src/fe-gtk/maingui.c:1572 +msgid "Normal" +msgstr "Chuẩn" + +#: src/fe-gtk/maingui.c:1574 +msgid "Colors 0-7" +msgstr "Màu sắc 0-7" + +#: src/fe-gtk/maingui.c:1584 +msgid "Colors 8-15" +msgstr "Màu sắc 8-15" + +#: src/fe-gtk/maingui.c:1629 +msgid "Beep on message" +msgstr "Kêu bíp khi nhạn tin nhẳn" + +#: src/fe-gtk/maingui.c:1632 +msgid "Blink tray on message" +msgstr "Chớp khay khi nhạn tin nhẳn" + +#: src/fe-gtk/maingui.c:1635 +msgid "Show join/part messages" +msgstr "Hiển thị tin nhẳn vào/rời" + +#: src/fe-gtk/maingui.c:1637 +msgid "Color paste" +msgstr "Dán màu" + +#: src/fe-gtk/maingui.c:1647 src/fe-gtk/menu.c:1950 +msgid "_Close Tab" +msgstr "Đón_g thẻ" + +#: src/fe-gtk/maingui.c:1649 src/fe-gtk/menu.c:1949 +msgid "_Detach Tab" +msgstr "_Gỡ thẻ ra" + +#: src/fe-gtk/maingui.c:1968 src/fe-gtk/maingui.c:2074 +msgid "User limit must be a number!\n" +msgstr "Giới hạn người dùng phải là con số.\n" + +#: src/fe-gtk/maingui.c:2096 +msgid "Topic Protection" +msgstr "Bảo vệ chủ đề" + +#: src/fe-gtk/maingui.c:2097 +msgid "No outside messages" +msgstr "Không có tin nhẳn bên ngoài" + +#: src/fe-gtk/maingui.c:2098 +msgid "Secret" +msgstr "Bí mật" + +#: src/fe-gtk/maingui.c:2099 +msgid "Invite Only" +msgstr "Chỉ mời" + +#: src/fe-gtk/maingui.c:2101 +msgid "Moderated" +msgstr "Đã điều tiết" + +#: src/fe-gtk/maingui.c:2102 +msgid "Ban List" +msgstr "Danh Sách Đuổi Ra" + +#: src/fe-gtk/maingui.c:2104 +msgid "Keyword" +msgstr "Từ khoá" + +#: src/fe-gtk/maingui.c:2116 +msgid "User Limit" +msgstr "Giới hạn người dùng" + +#: src/fe-gtk/maingui.c:2225 +msgid "Show/Hide userlist" +msgstr "Hiện/Ẩn danh sách người dùng" + +#: src/fe-gtk/maingui.c:2350 +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 "" +"Không thể đặt nền trong suốt.\n" +"\n" +"Có thể bạn sử dụng trình quản lý cửa sổ\n" +"không tuân theo mà chưa được hỗ trợ.\n" + +#: src/fe-gtk/maingui.c:2621 +msgid "Enter new nickname:" +msgstr "Hãy nhập tên hiệu mới:" + +#: src/fe-gtk/menu.c:124 +msgid "Host unknown" +msgstr "Không biết máy" + +#: src/fe-gtk/menu.c:544 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:549 src/fe-gtk/menu.c:553 +msgid "Real Name:" +msgstr "Tên thật:" + +#: src/fe-gtk/menu.c:557 +msgid "User:" +msgstr "Người dùng:" + +#: src/fe-gtk/menu.c:561 +msgid "Country:" +msgstr "Quốc gia:" + +#: src/fe-gtk/menu.c:565 +msgid "Server:" +msgstr "Máy phục vụ :" + +#: src/fe-gtk/menu.c:577 +msgid "Away Msg:" +msgstr "Thông điệp Vắng mặt:" + +#: src/fe-gtk/menu.c:587 +#, c-format +msgid "%u minutes ago" +msgstr "cách đây %u phút" + +#: src/fe-gtk/menu.c:589 src/fe-gtk/menu.c:592 +msgid "Last Msg:" +msgstr "Tin nhẳn cuối:" + +#: src/fe-gtk/menu.c:704 +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 "Thanh trình đơn mới ẩn. Bạn có thể hiển thị nó lần nữa bằng cách bấm phím chức năng F9 hoặc nhấn-phải vào phần rỗng nào trong vùng văn bản chính." + +#: src/fe-gtk/menu.c:799 +msgid "Open Link in Browser" +msgstr "Mở liên kết trong trình duyệt" + +#: src/fe-gtk/menu.c:800 +msgid "Copy Selected Link" +msgstr "Chép liên kết đã chọn" + +#: src/fe-gtk/menu.c:862 src/fe-gtk/menu.c:1100 +msgid "Join Channel" +msgstr "Vào kênh" + +#: src/fe-gtk/menu.c:866 +msgid "Part Channel" +msgstr "Rời kênh đi" + +#: src/fe-gtk/menu.c:868 +msgid "Cycle Channel" +msgstr "Quay lại kênh" + +#: src/fe-gtk/menu.c:892 +msgid "XChat: User menu" +msgstr "XChat: Trình đơn người dùng" + +#: src/fe-gtk/menu.c:901 +msgid "Edit This Menu..." +msgstr "Sửa trình đơn này..." + +#: src/fe-gtk/menu.c:1102 +msgid "Retrieve channel list..." +msgstr "Lấy danh sách kênh..." + +#: src/fe-gtk/menu.c:1170 +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 = xchat 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 "" +"Lệnh người dùng — mã đặc biệt:\n" +"\n" +"%c \t\tkênh hiện có\n" +"%e \t\ttên mạng hiện có\n" +"%m \t\tthông tin về máy\n" +"%n \t\ttên hiệu của bạn\n" +"%t \t\tgiờ/ngày\n" +"%v \t\tphiên bản xchat\n" +"%2 \t\ttừ 2\n" +"%3 \t\ttừ 3\n" +"&2 \t\ttừ 2 đến kết thúc dòng\n" +"&3 \t\ttừ 3 đến kết thúc dòng\n" +"\n" +"eg:\n" +"/cmd chào anh\n" +"\n" +"%2 sẽ là « chào »\n" +"&2 sẽ là « chào anh »." + +#: src/fe-gtk/menu.c:1186 +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 "" +"Nút trên danh sách người dùng — mã đặc biệt:\n" +"\n" +"%a \t\tmọi tên hiệu đã chọn\n" +"%c \t\tkênh hiện có\n" +"%e \t\ttên mạng hiện có\n" +"%h \t\ttên máy của tên hiệu đã chọn\n" +"%m \t\tthông tin về máy\n" +"%n \t\ttên hiệu của bạn\n" +"%s \t\ttên hiệu đã chọn\n" +"%t \t\tgiờ/ngày\n" + +#: src/fe-gtk/menu.c:1196 +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 "" +"Nút trên đối thoại — mã đặc biệt:\n" +"\n" +"%a \t\tmọi tên hiệu đã chọn\n" +"%c \t\tkênh hiện có\n" +"%e \t\ttên mạng hiện có\n" +"%h \t\ttên máy của tên hiệu đã chọn\n" +"%m \t\tthông tin về máy\n" +"%n \t\ttên hiệu cũa bạn\n" +"%s \t\ttên hiệu đã chọn\n" +"%t \t\tgiờ/ngày\n" + +#: src/fe-gtk/menu.c:1206 +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 "" +"Trả lời CTCP — mã đặc biệt:\n" +"\n" +"%d \t\tdữ liệu (toàn bộ CTCP)\n" +"%e \t\ttên mạng hiện có\n" +"%m \t\tthông tin về máy\n" +"%s \t\ttên hiệu đã gởi CTCP\n" +"%t \t\tgiờ/ngày\n" +"%2 \t\ttừ 2\n" +"%3 \t\ttừ 3\n" +"&2 \t\ttừ 2 đến kết thúc dòng\n" +"&3 \t\ttừ 3 đến kết thúc dòng\n" +"\n" + +#: src/fe-gtk/menu.c:1217 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"Quản lý địa chỉ Mạng — mã đặc biệt:\n" +"\n" +"%s = chuỗi của địa chỉ URL\n" +"\n" +"Việc đặt dấu ! trước lệnh ngụ ý\n" +"rằng nó nên được gởi cho\n" +"trình bao thay cho XChat" + +#: src/fe-gtk/menu.c:1226 +msgid "XChat: User Defined Commands" +msgstr "XChat: Lệnh định nghĩa riêng" + +#: src/fe-gtk/menu.c:1233 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: Trình đơn bât lên danh sách người dùng" + +#: src/fe-gtk/menu.c:1240 +msgid "Replace with" +msgstr "Thay thế bằng" + +#: src/fe-gtk/menu.c:1240 +msgid "XChat: Replace" +msgstr "XChat: Thay thế" + +#: src/fe-gtk/menu.c:1247 +msgid "XChat: URL Handlers" +msgstr "XChat: Quản lý URL" + +#: src/fe-gtk/menu.c:1266 +msgid "XChat: Userlist buttons" +msgstr "XChat: Nút danh sách người dùng" + +#: src/fe-gtk/menu.c:1273 +msgid "XChat: Dialog buttons" +msgstr "XChat: Nút đối thoại" + +#: src/fe-gtk/menu.c:1280 +msgid "XChat: CTCP Replies" +msgstr "XChat: Trả lời CTCP" + +#: src/fe-gtk/menu.c:1378 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1379 +msgid "Network Li_st..." +msgstr "Danh _sách mạng..." + +#: src/fe-gtk/menu.c:1382 +msgid "_New" +msgstr "_Mới" + +#: src/fe-gtk/menu.c:1383 +msgid "Server Tab..." +msgstr "Thẻ máy phục vụ..." + +#: src/fe-gtk/menu.c:1384 +msgid "Channel Tab..." +msgstr "Thẻ kênh..." + +#: src/fe-gtk/menu.c:1385 +msgid "Server Window..." +msgstr "Cửa sổ máy phục vụ..." + +#: src/fe-gtk/menu.c:1386 +msgid "Channel Window..." +msgstr "Cửa sổ kênh..." + +#: src/fe-gtk/menu.c:1391 src/fe-gtk/menu.c:1393 +msgid "_Load Plugin or Script..." +msgstr "Nạp bổ sung hay văn _lênh..." + +#: src/fe-gtk/menu.c:1401 src/fe-gtk/plugin-tray.c:463 +msgid "_Quit" +msgstr "T_hoát" + +#: src/fe-gtk/menu.c:1403 +msgid "_View" +msgstr "_Xem" + +#: src/fe-gtk/menu.c:1405 +msgid "_Menu Bar" +msgstr "Thanh t_rình đơn" + +#: src/fe-gtk/menu.c:1406 +msgid "_Topic Bar" +msgstr "_Thanh chủ đề" + +#: src/fe-gtk/menu.c:1407 +msgid "_User List" +msgstr "Danh sách người _dùng" + +#: src/fe-gtk/menu.c:1408 +msgid "U_serlist Buttons" +msgstr "Nút danh _sách người dùng" + +#: src/fe-gtk/menu.c:1409 +msgid "M_ode Buttons" +msgstr "Nút _chế độ" + +#: src/fe-gtk/menu.c:1411 +msgid "_Channel Switcher" +msgstr "Bộ _chuyển đổi kênh" + +#: src/fe-gtk/menu.c:1413 +msgid "_Tabs" +msgstr "_Thẻ" + +#: src/fe-gtk/menu.c:1414 +msgid "T_ree" +msgstr "Câ_y" + +#: src/fe-gtk/menu.c:1416 +msgid "_Network Meters" +msgstr "Bộ do mạ_ng" + +#: src/fe-gtk/menu.c:1418 +msgid "Off" +msgstr "Tất" + +#: src/fe-gtk/menu.c:1419 +msgid "Graph" +msgstr "Đồ thị" + +#: src/fe-gtk/menu.c:1424 +msgid "_Server" +msgstr "Máy _phục vụ" + +#: src/fe-gtk/menu.c:1425 +msgid "_Disconnect" +msgstr "_Ngắt kết nối" + +#: src/fe-gtk/menu.c:1426 +msgid "_Reconnect" +msgstr "_Tái kết nối" + +#: src/fe-gtk/menu.c:1430 +msgid "Marked Away" +msgstr "Có nhãn Vắng mặt" + +#: src/fe-gtk/menu.c:1432 +msgid "_Usermenu" +msgstr "Trình đơn người _dùng" + +#: src/fe-gtk/menu.c:1434 +msgid "S_ettings" +msgstr "Thiết _lập" + +#: src/fe-gtk/menu.c:1435 +msgid "_Preferences" +msgstr "Tù_y thích" + +#: src/fe-gtk/menu.c:1437 +msgid "Advanced" +msgstr "Cấp cao" + +#: src/fe-gtk/menu.c:1438 +msgid "Auto Replace..." +msgstr "Tự thay thế..." + +#: src/fe-gtk/menu.c:1439 +msgid "CTCP Replies..." +msgstr "Trả lơi CTCP..." + +#: src/fe-gtk/menu.c:1440 +msgid "Dialog Buttons..." +msgstr "Nút đối thoại..." + +#: src/fe-gtk/menu.c:1441 +msgid "Keyboard Shortcuts..." +msgstr "Phím tắt..." + +#: src/fe-gtk/menu.c:1442 +msgid "Text Events..." +msgstr "Sự kiện chữ..." + +#: src/fe-gtk/menu.c:1443 +msgid "URL Handlers..." +msgstr "Quản lý địa chỉ URL..." + +#: src/fe-gtk/menu.c:1444 +msgid "User Commands..." +msgstr "Lệnh người dùng..." + +#: src/fe-gtk/menu.c:1445 +msgid "Userlist Buttons..." +msgstr "Nút danh sách người dùng" + +#: src/fe-gtk/menu.c:1446 +msgid "Userlist Popup..." +msgstr "Bật lên Danh sách Người dùng" + +#: src/fe-gtk/menu.c:1449 +msgid "_Window" +msgstr "_Cửa sổ" + +#: src/fe-gtk/menu.c:1450 +msgid "Ban List..." +msgstr "Danh Sách Đuổi Ra..." + +#: src/fe-gtk/menu.c:1451 +msgid "Channel List..." +msgstr "Danh Sách Kênh..." + +#: src/fe-gtk/menu.c:1452 +msgid "Character Chart..." +msgstr "Sơ Đồ Ký Tự..." + +#: src/fe-gtk/menu.c:1453 +msgid "Direct Chat..." +msgstr "Trò chuyện trực tiếp..." + +#: src/fe-gtk/menu.c:1454 +msgid "File Transfers..." +msgstr "Việc truyền tập tin..." + +#: src/fe-gtk/menu.c:1455 +msgid "Ignore List..." +msgstr "Danh sách Bỏ qua..." + +#: src/fe-gtk/menu.c:1456 +msgid "Notify List..." +msgstr "Danh sách Thông báo..." + +#: src/fe-gtk/menu.c:1457 +msgid "Plugins and Scripts..." +msgstr "Bổ sung và Văn lệnh..." + +#: src/fe-gtk/menu.c:1458 +msgid "Raw Log..." +msgstr "Bản ghi thô..." + +#: src/fe-gtk/menu.c:1459 +msgid "URL Grabber..." +msgstr "Bộ lấy địa chỉ URL..." + +#: src/fe-gtk/menu.c:1461 +msgid "Reset Marker Line" +msgstr "Đặt lại dòng đánh dấu" + +#: src/fe-gtk/menu.c:1462 +msgid "C_lear Text" +msgstr "Xóa t_rắng văn bản" + +#: src/fe-gtk/menu.c:1464 +msgid "Search Text..." +msgstr "Tìm kiếm trong văn bản..." + +#: src/fe-gtk/menu.c:1465 +msgid "Save Text..." +msgstr "Lưu văn bản..." + +#: src/fe-gtk/menu.c:1467 src/fe-gtk/menu.c:1941 +msgid "_Help" +msgstr "Trợ g_iúp" + +#: src/fe-gtk/menu.c:1468 +msgid "_Contents" +msgstr "_Nội dung" + +#: src/fe-gtk/menu.c:1469 +msgid "_About" +msgstr "_Giới thiệu" + +#: src/fe-gtk/menu.c:1954 +msgid "_Attach Window" +msgstr "Gắn cửa _sổ" + +#: src/fe-gtk/menu.c:1955 +msgid "_Close Window" +msgstr "Đóng _cửa sổ" + +#: src/fe-gtk/notifygui.c:137 +msgid "User" +msgstr "Người dùng" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "Gặp cuối cùng" + +#: src/fe-gtk/notifygui.c:181 +msgid "Offline" +msgstr "Ngoại tuyến" + +#: src/fe-gtk/notifygui.c:201 src/fe-gtk/setup.c:229 +msgid "Never" +msgstr "Chưa bao giờ" + +#: src/fe-gtk/notifygui.c:204 src/fe-gtk/notifygui.c:229 +#, c-format +msgid "%d minutes ago" +msgstr "cách đây %d phút" + +#: src/fe-gtk/notifygui.c:219 +msgid "Online" +msgstr "Trực tuyến" + +#: src/fe-gtk/notifygui.c:348 +msgid "Enter nickname to add:" +msgstr "Hãy nhập tên hiệu cần thêm:" + +#: src/fe-gtk/notifygui.c:376 +msgid "Notify on these networks:" +msgstr "Thông báo trên các mạng này:" + +#: src/fe-gtk/notifygui.c:387 +msgid "Comma separated list of networks is accepted." +msgstr "Cho phép tạo danh sách các mạng định giới bằng dấu phẩy." + +#: src/fe-gtk/notifygui.c:407 +msgid "XChat: Notify List" +msgstr "XChat: Danh sách Thông báo" + +#: src/fe-gtk/notifygui.c:424 +msgid "Remove" +msgstr "Gỡ bỏ" + +#: src/fe-gtk/notifygui.c:428 +msgid "Open Dialog" +msgstr "Mở đối thoại" + +#: src/fe-gtk/plugin-tray.c:163 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" +"Không thể tìm « notify-send » để mở các cảnh giác trong khung thoại.\n" +"Xin hãy cài đặt phần mềm « libnotify »." + +#: src/fe-gtk/plugin-tray.c:214 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat: đang kết nối với %u mạng và %u kênh" + +#: src/fe-gtk/plugin-tray.c:451 +msgid "_Restore" +msgstr "_Phục hồi" + +#: src/fe-gtk/plugin-tray.c:453 +msgid "_Hide" +msgstr "Ẩ_n" + +#: src/fe-gtk/plugin-tray.c:456 +msgid "_Blink on" +msgstr "_Bật chớp" + +#: src/fe-gtk/plugin-tray.c:457 src/fe-gtk/setup.c:467 +msgid "Channel Message" +msgstr "Thông điệp kênh" + +#: src/fe-gtk/plugin-tray.c:458 src/fe-gtk/setup.c:468 +msgid "Private Message" +msgstr "Tin nhẳn riêng" + +#: src/fe-gtk/plugin-tray.c:459 src/fe-gtk/setup.c:469 +msgid "Highlighted Message" +msgstr "Tin nhẳn đã tô sáng" + +#: src/fe-gtk/plugin-tray.c:507 src/fe-gtk/plugin-tray.c:515 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "XChat: nhận được tin nhẳn đã tô sáng từ : %s (%s)" + +#: src/fe-gtk/plugin-tray.c:510 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat: Nhận %u tin nhẳn đã tô sáng, mới nhất từ : %s (%s)" + +#: src/fe-gtk/plugin-tray.c:533 src/fe-gtk/plugin-tray.c:540 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat: Nhận tin nhẳn chung mới từ : %s (%s)" + +#: src/fe-gtk/plugin-tray.c:536 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat: Nhận %u tin nhẳn chung mới." + +#: src/fe-gtk/plugin-tray.c:562 src/fe-gtk/plugin-tray.c:569 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat: Nhận tin nhẳn riêng từ : %s (%s)" + +#: src/fe-gtk/plugin-tray.c:565 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "XChat: Nhận %u tin nhẳn riêng, mới nhất từ : %s (%s)" + +#: src/fe-gtk/plugin-tray.c:615 src/fe-gtk/plugin-tray.c:623 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: Nhận lời mời gởi tập tin từ : %s (%s)" + +#: src/fe-gtk/plugin-tray.c:618 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "XChat: Nhận %u lời mời gởi tập tin, mới nhất từ : %s (%s)" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Mô tả" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Chọn bổ sung hay văn lệnh cần nạp" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: Bổ sung và Văn lệnh" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "_Nạp..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "_Bỏ nạp" + +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "Đón_g" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:438 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "Lưu dạng..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: Bản ghi thô (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "Xóa trống bản ghi thô" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "Bạn đã mở việc tìm kiếm này cho một cửa sổ không còn tồn tại lại." + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "Tìm kiếm gặp kết thúc, không tìm thấy gì." + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: Tìm kiếm" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "_Khớp chữ hoa/thường" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "Tìm _ngược" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "_Tìm" + +#: src/fe-gtk/servlistgui.c:170 src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "Mạng mới" + +#: src/fe-gtk/servlistgui.c:554 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Thật gỡ bỏ mạng « %s » và tất cả máy phục vụ của nó không?" + +#: src/fe-gtk/servlistgui.c:678 +msgid "User name and Real name cannot be left blank." +msgstr "Không cho phép trường « Tên người dùng » hay « Tên thật » bị bỏ trống." + +#: src/fe-gtk/servlistgui.c:978 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: Sửa %s" + +#: src/fe-gtk/servlistgui.c:997 +#, c-format +msgid "Servers for %s" +msgstr "Máy phục vụ cho %s" + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Connect to selected server only" +msgstr "Kết nối đến chỉ máy phục vụ đã chọn" + +#: src/fe-gtk/servlistgui.c:1009 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Không quay lại qua tất cả các máy phục vụ khi kết nối bị ngắt." + +#: src/fe-gtk/servlistgui.c:1011 +msgid "Your Details" +msgstr "Chi tiết cá nhân" + +#: src/fe-gtk/servlistgui.c:1017 +msgid "Use global user information" +msgstr "Dùng thông tin người dùng toàn cục" + +#: src/fe-gtk/servlistgui.c:1020 src/fe-gtk/servlistgui.c:1252 +msgid "_Nick name:" +msgstr "Tê_n hiệu :" + +#: src/fe-gtk/servlistgui.c:1024 src/fe-gtk/servlistgui.c:1259 +msgid "Second choice:" +msgstr "Chọn thứ hai:" + +#: src/fe-gtk/servlistgui.c:1028 src/fe-gtk/servlistgui.c:1273 +msgid "_User name:" +msgstr "Tên người _dùng:" + +#: src/fe-gtk/servlistgui.c:1032 src/fe-gtk/servlistgui.c:1280 +msgid "Rea_l name:" +msgstr "_Tên thật:" + +#: src/fe-gtk/servlistgui.c:1035 +msgid "Connecting" +msgstr "Đang kết nối" + +#: src/fe-gtk/servlistgui.c:1041 +msgid "Auto connect to this network at startup" +msgstr "Tự động kết nối đến mạng này khi khởi chạy" + +#: src/fe-gtk/servlistgui.c:1043 +msgid "Use a proxy server" +msgstr "Dùng máy phục vụ ủy nhiệm" + +#: src/fe-gtk/servlistgui.c:1045 +msgid "Use SSL for all the servers on this network" +msgstr "Dùng SSL cho mọi máy phục vụ trên mạng này" + +#: src/fe-gtk/servlistgui.c:1050 +msgid "Accept invalid SSL certificate" +msgstr "Chấp nhận chứng nhận SSL không hợp lệ" + +#: src/fe-gtk/servlistgui.c:1056 +msgid "C_hannels to join:" +msgstr "Các kên_h cần vào :" + +#: src/fe-gtk/servlistgui.c:1058 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Các kênh cần vào, định giới bằng dấu phẩy còn không có dấu cách." + +#: src/fe-gtk/servlistgui.c:1061 +msgid "Connect command:" +msgstr "Lệnh kết nối:" + +#: src/fe-gtk/servlistgui.c:1063 +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 "Lệnh thêm cần thực hiện sau khi kết nối được. Nếu bạn muốn nhập nhiều lệnh, hãy đặt lệnh này thành « LOAD -e <tên_tập_tin> », mà <tên_tập_tin> là tập tin kiểu văn bản chứa danh sách các lệnh cần thực hiện. [load: nạp]" + +#: src/fe-gtk/servlistgui.c:1066 +msgid "Nickserv password:" +msgstr "Mật khẩu máy phục vụ tên hiệu :" + +#: src/fe-gtk/servlistgui.c:1068 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "Nếu tên hiệu bạn cần thiết mật khẩu, hãy nhập nó vào đây. Không phải tất cả các mạng IRC hỗ trợ tính năng này." + +#: src/fe-gtk/servlistgui.c:1072 +msgid "Server password:" +msgstr "Mật khẩu máy phục vụ :" + +#: src/fe-gtk/servlistgui.c:1074 +msgid "Password for the server, if in doubt, leave blank." +msgstr "Mật khẩu cho mấy phục vụ: nếu không chắc thì bỏ trống." + +#: src/fe-gtk/servlistgui.c:1077 +msgid "Character set:" +msgstr "Bộ ký tự :" + +#: src/fe-gtk/servlistgui.c:1147 +msgid "_Edit" +msgstr "_Sửa" + +#: src/fe-gtk/servlistgui.c:1230 +msgid "XChat: Network List" +msgstr "XChat: Danh sách mạng" + +#: src/fe-gtk/servlistgui.c:1242 +msgid "User Information" +msgstr "Thông tin người dùng" + +#: src/fe-gtk/servlistgui.c:1266 +msgid "Third choice:" +msgstr "Chọn thứ ba:" + +#: src/fe-gtk/servlistgui.c:1326 +msgid "Networks" +msgstr "Mạng" + +#: src/fe-gtk/servlistgui.c:1367 +msgid "Skip network list on startup" +msgstr "Bỏ qua danh sách mạng khi khởi chạy" + +#: src/fe-gtk/servlistgui.c:1399 +msgid "_Edit..." +msgstr "_Sửa..." + +#: src/fe-gtk/servlistgui.c:1406 +msgid "_Sort" +msgstr "Sắp _xếp" + +#: src/fe-gtk/servlistgui.c:1407 +msgid "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN keys to move a row." +msgstr "Sắp xếp danh sách các mạng theo thứ tự abc. Hãy dùng tổ hợp phím SHIFT+lên và SHIFT+xuống để di chuyển mỗi hàng." + +#: src/fe-gtk/servlistgui.c:1432 +msgid "C_onnect" +msgstr "_Kết nối" + +#: src/fe-gtk/setup.c:102 +msgid "Text Box Appearance" +msgstr "Hình thức hộp văn bản" + +#: src/fe-gtk/setup.c:103 +msgid "Font:" +msgstr "Phông:" + +#: src/fe-gtk/setup.c:104 +msgid "Background image:" +msgstr "Ảnh nền:" + +#: src/fe-gtk/setup.c:105 +msgid "Scrollback lines:" +msgstr "Dòng cuộn ngược:" + +#: src/fe-gtk/setup.c:106 +msgid "Colored nick names" +msgstr "Tên hiệu có màu" + +#: src/fe-gtk/setup.c:107 +msgid "Give each person on IRC a different color" +msgstr "Cho mỗi người trên IRC có một màu riêng" + +#: src/fe-gtk/setup.c:108 +msgid "Indent nick names" +msgstr "Thụt lệ tên hiệu" + +#: src/fe-gtk/setup.c:109 +msgid "Make nick names right-justified" +msgstr "Canh lề bên phải các tên hiệu" + +#: src/fe-gtk/setup.c:110 +msgid "Transparent background" +msgstr "Nền trong suốt" + +#: src/fe-gtk/setup.c:111 +msgid "Show marker line" +msgstr "Hiện dòng đánh dấu" + +#: src/fe-gtk/setup.c:112 +msgid "Insert a red line after the last read text." +msgstr "Chèn dòng màu đỏ sau đoạn chữ đã đọc cuối cùng." + +#: src/fe-gtk/setup.c:113 +msgid "Transparency Settings" +msgstr "Thiết lập trong suốt" + +#: src/fe-gtk/setup.c:114 +msgid "Red:" +msgstr "Đỏ :" + +#: src/fe-gtk/setup.c:115 +msgid "Green:" +msgstr "Xanh lá cây:" + +#: src/fe-gtk/setup.c:116 +msgid "Blue:" +msgstr "Xanh dương:" + +#: src/fe-gtk/setup.c:118 src/fe-gtk/setup.c:379 +msgid "Time Stamps" +msgstr "Ghi giờ" + +#: src/fe-gtk/setup.c:119 +msgid "Enable time stamps" +msgstr "Bật ghi giờ" + +#: src/fe-gtk/setup.c:120 +msgid "Time stamp format:" +msgstr "Định dạng ghi giờ :" + +#: src/fe-gtk/setup.c:121 src/fe-gtk/setup.c:382 +msgid "See strftime manpage for details." +msgstr "Hãy sử dụng lệnh « man strftime » để tìm thấy chi tiết." + +#: src/fe-gtk/setup.c:128 src/fe-gtk/setup.c:168 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:129 +msgid "Last-spoke order" +msgstr "Thứ tự đã nói cuối cùng" + +#: src/fe-gtk/setup.c:135 src/fe-gtk/setup.c:1657 +msgid "Input box" +msgstr "Hộp nhập" + +#: src/fe-gtk/setup.c:136 src/fe-gtk/setup.c:200 +msgid "Use the Text box font and colors" +msgstr "Dùng phông chữ và màu của hộp văn bản" + +#: src/fe-gtk/setup.c:138 +msgid "Spell checking" +msgstr "Bắt lỗi chính tả" + +#: src/fe-gtk/setup.c:141 +msgid "Nick Completion" +msgstr "Gõ xong tên hiệu" + +#: src/fe-gtk/setup.c:142 +msgid "Automatic nick completion (without TAB key)" +msgstr "Tự động gõ xong tên hiệu (không có phím TAB)" + +#: src/fe-gtk/setup.c:144 +msgid "Nick completion suffix:" +msgstr "Hậu tố gõ xong tên hiệu :" + +#: src/fe-gtk/setup.c:145 +msgid "Nick completion sorted:" +msgstr "Sắp xếp cách gõ xong tên hiệu :" + +#: src/fe-gtk/setup.c:148 +msgid "Input Box Codes" +msgstr "Mã hộp nhập" + +#: src/fe-gtk/setup.c:149 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "Giải thích %nnn là một giá trị ASCII" + +#: src/fe-gtk/setup.c:150 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "Giải thích %C, %B là Màu, Đậm v.v." + +#: src/fe-gtk/setup.c:167 +msgid "A-Z, Ops first" +msgstr "A-Z, Quản trị trước" + +#: src/fe-gtk/setup.c:169 +msgid "Z-A, Ops last" +msgstr "Z-A, Quản trị sau" + +#: src/fe-gtk/setup.c:170 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:171 +msgid "Unsorted" +msgstr "Chưa sắp xếp" + +#: src/fe-gtk/setup.c:177 src/fe-gtk/setup.c:189 +msgid "Left (Upper)" +msgstr "Trái (Trên)" + +#: src/fe-gtk/setup.c:178 src/fe-gtk/setup.c:190 +msgid "Left (Lower)" +msgstr "Trái (Dưới)" + +#: src/fe-gtk/setup.c:179 src/fe-gtk/setup.c:191 +msgid "Right (Upper)" +msgstr "Phải (Trên)" + +#: src/fe-gtk/setup.c:180 src/fe-gtk/setup.c:192 +msgid "Right (Lower)" +msgstr "Phải (Dưới)" + +#: src/fe-gtk/setup.c:181 +msgid "Top" +msgstr "Trên" + +#: src/fe-gtk/setup.c:182 +msgid "Bottom" +msgstr "Dưới" + +#: src/fe-gtk/setup.c:183 +msgid "Hidden" +msgstr "Ẩn" + +#: src/fe-gtk/setup.c:198 +msgid "User List" +msgstr "Danh sách người dùng" + +#: src/fe-gtk/setup.c:199 +msgid "Show hostnames in user list" +msgstr "HIện tên máy trong danh sách người dùng" + +#: src/fe-gtk/setup.c:202 +msgid "User list sorted by:" +msgstr "Sắp xếp danh sách người dùng theo :" + +#: src/fe-gtk/setup.c:203 +msgid "Show user list at:" +msgstr "Hiện danh sách người dùng ở :" + +#: src/fe-gtk/setup.c:205 +msgid "Away tracking" +msgstr "Theo dõi Vắng mặt" + +#: src/fe-gtk/setup.c:206 +msgid "Track the Away status of users and mark them in a different color" +msgstr "Theo dõi trạng thái Vắng mặt của mọi người dùng, cũng nhãn bằng màu khác" + +#: src/fe-gtk/setup.c:207 +msgid "On channels smaller than:" +msgstr "Trên kênh nhỏ hơn:" + +#: src/fe-gtk/setup.c:209 +msgid "Action Upon Double Click" +msgstr "Hành động khi nhấn đôi" + +#: src/fe-gtk/setup.c:210 +msgid "Execute command:" +msgstr "Thi hành lệnh:" + +#: src/fe-gtk/setup.c:221 +msgid "Windows" +msgstr "Cửa sổ" + +#: src/fe-gtk/setup.c:222 +msgid "Tabs" +msgstr "Thẻ" + +#: src/fe-gtk/setup.c:230 +msgid "Always" +msgstr "Luôn" + +#: src/fe-gtk/setup.c:231 +msgid "Only requested tabs" +msgstr "Chỉ thẻ đã yêu cầu" + +#: src/fe-gtk/setup.c:238 +msgid "Channel Switcher" +msgstr "Bộ chuyển đổi kênh" + +#: src/fe-gtk/setup.c:239 +msgid "Open an extra tab for server messages" +msgstr "Mở thẻ thêm cho thông điệp máy phục vụ" + +#: src/fe-gtk/setup.c:240 +msgid "Open an extra tab for server notices" +msgstr "Mở thẻ thêm cho thông báo máy phục vụ" + +#: src/fe-gtk/setup.c:241 +msgid "Open a new tab when you receive a private message" +msgstr "Mở thẻ mới khi bạn nhận tin nhẳn riêng" + +#: src/fe-gtk/setup.c:242 +msgid "Sort tabs in alphabetical order" +msgstr "Sắp xếp thẻ theo thứ tự abc" + +#: src/fe-gtk/setup.c:243 +msgid "Small tabs" +msgstr "Thẻ nhỏ" + +#: src/fe-gtk/setup.c:245 +msgid "Focus new tabs:" +msgstr "Tới thẻ mới:" + +#: src/fe-gtk/setup.c:247 +msgid "Show channel switcher at:" +msgstr "Hiện bộ chuyển đổi kênh ở :" + +#: src/fe-gtk/setup.c:248 +msgid "Shorten tab labels to:" +msgstr "Giảm nhãn thẻ thành:" + +#: src/fe-gtk/setup.c:248 +msgid "letters." +msgstr "chữ." + +#: src/fe-gtk/setup.c:250 +msgid "Tabs or Windows" +msgstr "Thẻ hay Cửa sổ" + +#: src/fe-gtk/setup.c:251 +msgid "Open channels in:" +msgstr "Mở kênh trong:" + +#: src/fe-gtk/setup.c:252 +msgid "Open dialogs in:" +msgstr "Mở đối thoại trong:" + +#: src/fe-gtk/setup.c:253 +msgid "Open utilities in:" +msgstr "Mở tiện ích trong:" + +#: src/fe-gtk/setup.c:253 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Mở DCC, Bỏ qua, Thông báo v.v. trong thẻ hay cửa sổ?" + +#: src/fe-gtk/setup.c:260 +msgid "No" +msgstr "Không" + +#: src/fe-gtk/setup.c:261 +msgid "Yes" +msgstr "Có" + +#: src/fe-gtk/setup.c:262 +msgid "Browse for save folder every time" +msgstr "Luôn luôn duyệt tìm thư mục lưu" + +#: src/fe-gtk/setup.c:268 +msgid "Files and Directories" +msgstr "Tập tin và Thư mục" + +#: src/fe-gtk/setup.c:269 +msgid "Auto accept file offers:" +msgstr "Tự chấp nhận tập tin đã đưa ra:" + +#: src/fe-gtk/setup.c:270 +msgid "Download files to:" +msgstr "Tải tập tin về:" + +#: src/fe-gtk/setup.c:271 +msgid "Move completed files to:" +msgstr "Di chuyển tập tin hoàn tất sang:" + +#: src/fe-gtk/setup.c:272 +msgid "Save nick name in filenames" +msgstr "Lưu tên hiệu trong tên tập tin" + +#: src/fe-gtk/setup.c:274 +msgid "Network Settings" +msgstr "Thiết lập mạng" + +#: src/fe-gtk/setup.c:275 +msgid "Get my address from the IRC server" +msgstr "Lấy địa chỉ của tôi từ máy phục vụ IRC" + +#: src/fe-gtk/setup.c:276 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "Gọi địa chỉ thật của bạn từ máy phục vụ IRC. Hãy bật tùy chon này nếu bạn có địa chỉ số « 192.168.*.* »." + +#: src/fe-gtk/setup.c:277 +msgid "DCC IP address:" +msgstr "Địa chỉ IP DCC:" + +#: src/fe-gtk/setup.c:278 +msgid "Claim you are at this address when offering files." +msgstr "Tuyên bố bạn ở địa chỉ này khi đưa ra tập tin." + +#: src/fe-gtk/setup.c:279 +msgid "First DCC send port:" +msgstr "Cổng gởi DCC đầu :" + +#: src/fe-gtk/setup.c:280 +msgid "Last DCC send port:" +msgstr "Cổng gởi DCC cuối:" + +#: src/fe-gtk/setup.c:281 +msgid "!Leave ports at zero for full range." +msgstr "!Để mọi cổng có giá trị số không cho toàn bộ phạm vị." + +#: src/fe-gtk/setup.c:283 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "Tốc độ truyền tập tin tối đa (byte/giây)" + +#: src/fe-gtk/setup.c:284 +msgid "One upload:" +msgstr "Một việc tải lên:" + +#: src/fe-gtk/setup.c:285 src/fe-gtk/setup.c:287 +msgid "Maximum speed for one transfer" +msgstr "Tốc độ tối đa cho môt việc truyền" + +#: src/fe-gtk/setup.c:286 +msgid "One download:" +msgstr "Một việc tải về:" + +#: src/fe-gtk/setup.c:288 +msgid "All uploads combined:" +msgstr "Tổng số việc tải lên:" + +#: src/fe-gtk/setup.c:289 src/fe-gtk/setup.c:291 +msgid "Maximum speed for all files" +msgstr "Tốc độ tối đa cho mọi tập tin" + +#: src/fe-gtk/setup.c:290 +msgid "All downloads combined:" +msgstr "Tổng số việc tải về:" + +#: src/fe-gtk/setup.c:318 src/fe-gtk/setup.c:1663 +msgid "Alerts" +msgstr "Cảnh giác" + +#: src/fe-gtk/setup.c:322 +msgid "Show tray balloons on:" +msgstr "Hiện thị khung thoại của khay khi:" + +#: src/fe-gtk/setup.c:324 +msgid "Blink tray icon on:" +msgstr "Chớp biểu tượng khay khi:" + +#: src/fe-gtk/setup.c:325 +msgid "Blink task bar on:" +msgstr "Chớp thanh tác vụ khi:" + +#: src/fe-gtk/setup.c:326 +msgid "Make a beep sound on:" +msgstr "Kêu bíp khi:" + +#: src/fe-gtk/setup.c:328 +msgid "Enable system tray icon" +msgstr "Bật biểu tượng khay của hệ thống" + +#: src/fe-gtk/setup.c:330 +msgid "Highlighted Messages" +msgstr "Tin nhẳn đã tô sáng" + +#: src/fe-gtk/setup.c:331 +msgid "Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Tin nhẳn đã tô sáng là tin nhẳn chứa tên hiệu của bạn, cũng như :" + +#: src/fe-gtk/setup.c:333 +msgid "Extra words to highlight:" +msgstr "Từ thêm cần tô sáng:" + +#: src/fe-gtk/setup.c:334 +msgid "Nick names not to highlight:" +msgstr "Tên hiệu cần không tô sáng:" + +#: src/fe-gtk/setup.c:335 +msgid "Nick names to always highlight:" +msgstr "Tên hiệu cần tô sáng luôn luôn:" + +#: src/fe-gtk/setup.c:336 +msgid "Separate multiple words with commas." +msgstr "Định,giới,nhiều,từ,bằng,dấu,phẩy." + +#: src/fe-gtk/setup.c:342 +msgid "Default Messages" +msgstr "Tin nhẳn mặc định" + +#: src/fe-gtk/setup.c:343 +msgid "Quit:" +msgstr "Thoát:" + +#: src/fe-gtk/setup.c:344 +msgid "Leave channel:" +msgstr "Rời kênh đi:" + +#: src/fe-gtk/setup.c:345 +msgid "Away:" +msgstr "Vắng mặt:" + +#: src/fe-gtk/setup.c:347 +msgid "Away" +msgstr "Vắng mặt" + +#: src/fe-gtk/setup.c:348 +msgid "Announce away messages" +msgstr "Thông báo tin nhẳn vắng mặt" + +#: src/fe-gtk/setup.c:349 +msgid "Announce your away messages to all channels" +msgstr "Thông báo tin nhẳn vắng mặt của bạn trên mọi kênh" + +#: src/fe-gtk/setup.c:350 +msgid "Show away once" +msgstr "Hiện Vắng mặt một lần" + +#: src/fe-gtk/setup.c:350 +msgid "Show identical away messages only once" +msgstr "Hiện tin nhẳn vắng mặt trùng chỉ một lần" + +#: src/fe-gtk/setup.c:351 +msgid "Automatically unmark away" +msgstr "Tự bỏ nhãn Vắng mặt" + +#: src/fe-gtk/setup.c:351 +msgid "Unmark yourself as away before sending messages" +msgstr "Bỏ nhãn bạn là Vắng mặt trước khi gởi tin nhẳn" + +#: src/fe-gtk/setup.c:358 +msgid "Advanced Settings" +msgstr "Thiết lập cấp cao" + +#: src/fe-gtk/setup.c:359 +msgid "Auto reconnect delay:" +msgstr "Trễ tự tái kết nối:" + +#: src/fe-gtk/setup.c:360 +msgid "Display MODEs in raw form" +msgstr "Trình bày CHẾ ĐỘ dạng thô" + +#: src/fe-gtk/setup.c:361 +msgid "Whois on notify" +msgstr "WHOIS khi thông báo" + +#: src/fe-gtk/setup.c:361 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "Gởi lệnh « /WHOIS » (là ai?) khi người dùng trong danh sách thông báo của bạn mới trực tuyến" + +#: src/fe-gtk/setup.c:362 +msgid "Hide join and part messages" +msgstr "Ẩn các tin nhẳn vào/rời" + +#: src/fe-gtk/setup.c:362 +msgid "Hide channel join/part messages by default" +msgstr "Ẩn các tin nhẳn vào/rời kênh theo mặc định" + +#: src/fe-gtk/setup.c:363 +msgid "Auto Open DCC Windows" +msgstr "Tự mở cửa sổ DCC" + +#: src/fe-gtk/setup.c:364 +msgid "Send window" +msgstr "Cửa sô Gởi" + +#: src/fe-gtk/setup.c:365 +msgid "Receive window" +msgstr "Cửa sổ Nhận" + +#: src/fe-gtk/setup.c:366 +msgid "Chat window" +msgstr "Cửa sổ Trò chuyện" + +#: src/fe-gtk/setup.c:374 src/fe-gtk/setup.c:1665 +msgid "Logging" +msgstr "Ghi lưu" + +#: src/fe-gtk/setup.c:375 +msgid "Enable logging of conversations" +msgstr "Bật ghi lưu các đối thoại" + +#: src/fe-gtk/setup.c:376 +msgid "Log filename:" +msgstr "Ghi lưu tên tập tin:" + +#: src/fe-gtk/setup.c:377 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Máy %c=Kênh %n=Mạng." + +#: src/fe-gtk/setup.c:380 +msgid "Insert timestamps in logs" +msgstr "Ghi giờ vào bản ghi" + +#: src/fe-gtk/setup.c:381 +msgid "Log timestamp format:" +msgstr "Dạng ghi giờ bản ghi:" + +#: src/fe-gtk/setup.c:389 +msgid "(Disabled)" +msgstr "(Tắt)" + +#: src/fe-gtk/setup.c:390 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:391 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:392 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:393 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:395 +msgid "MS Proxy (ISA)" +msgstr "Ủy nhiệm MS (ISA)" + +#: src/fe-gtk/setup.c:402 +msgid "All Connections" +msgstr "Mọi kết nối" + +#: src/fe-gtk/setup.c:403 +msgid "IRC Server Only" +msgstr "Chỉ máy phục vụ IRC" + +#: src/fe-gtk/setup.c:404 +msgid "DCC Get Only" +msgstr "Chỉ DCC lấy" + +#: src/fe-gtk/setup.c:410 +msgid "Your Address" +msgstr "Địa chỉ của bạn" + +#: src/fe-gtk/setup.c:411 +msgid "Bind to:" +msgstr "Đóng kết với:" + +#: src/fe-gtk/setup.c:412 +msgid "Only useful for computers with multiple addresses." +msgstr "Chỉ có ích trên máy tính có nhiều địa chỉ." + +#: src/fe-gtk/setup.c:414 +msgid "Proxy Server" +msgstr "Máy phục vụ ủy nhiệm" + +#: src/fe-gtk/setup.c:415 +msgid "Hostname:" +msgstr "Tên máy:" + +#: src/fe-gtk/setup.c:416 +msgid "Port:" +msgstr "Cổng:" + +#: src/fe-gtk/setup.c:417 +msgid "Type:" +msgstr "Kiểu :" + +#: src/fe-gtk/setup.c:418 +msgid "Use proxy for:" +msgstr "Dùng ủy nhiệm cho :" + +#: src/fe-gtk/setup.c:420 +msgid "Proxy Authentication" +msgstr "Xác thực ủy nhiệm" + +#: src/fe-gtk/setup.c:422 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "Xác thực (chỉ Ủy nhiệm MS, HTTP hay Socks5)" + +#: src/fe-gtk/setup.c:424 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "Xác thực (chỉ HTTP hay Socks5)" + +#: src/fe-gtk/setup.c:426 +msgid "Username:" +msgstr "Tên người dùng:" + +#: src/fe-gtk/setup.c:427 +msgid "Password:" +msgstr "Mật khẩu :" + +#: src/fe-gtk/setup.c:838 +msgid "Select an Image File" +msgstr "Chọn tập tin ảnh" + +#: src/fe-gtk/setup.c:862 +msgid "Select Download Folder" +msgstr "Chọn thư mục tải về" + +#: src/fe-gtk/setup.c:871 +msgid "Select font" +msgstr "Chọn phông" + +#: src/fe-gtk/setup.c:968 +msgid "Browse..." +msgstr "Duyệt..." + +#: src/fe-gtk/setup.c:1108 +msgid "Mark identified users with:" +msgstr "Nhãn người dùng đã nhận biết bằng:" + +#: src/fe-gtk/setup.c:1110 +msgid "Mark not-identified users with:" +msgstr "Nhãn người dùng chưa nhận biết bằng:" + +#: src/fe-gtk/setup.c:1117 +msgid "Open Data Folder" +msgstr "Mở thư mục Dữ liệu" + +#: src/fe-gtk/setup.c:1171 +msgid "Select color" +msgstr "Chọn màu" + +#: src/fe-gtk/setup.c:1251 +msgid "Text Colors" +msgstr "Màu chữ" + +#: src/fe-gtk/setup.c:1253 +msgid "mIRC colors:" +msgstr "Màu mIRC:" + +#: src/fe-gtk/setup.c:1261 +msgid "Local colors:" +msgstr "Màu cục bộ :" + +#: src/fe-gtk/setup.c:1269 src/fe-gtk/setup.c:1274 +msgid "Foreground:" +msgstr "Tiền cảnh:" + +#: src/fe-gtk/setup.c:1270 src/fe-gtk/setup.c:1275 +msgid "Background:" +msgstr "Nền:" + +#: src/fe-gtk/setup.c:1272 +msgid "Marking Text" +msgstr "Đánh dấu chữ" + +#: src/fe-gtk/setup.c:1277 +msgid "Interface Colors" +msgstr "Màu giao diện" + +#: src/fe-gtk/setup.c:1279 +msgid "New data:" +msgstr "Dữ liệu mới:" + +#: src/fe-gtk/setup.c:1280 +msgid "Marker line:" +msgstr "Dòng đánh dấu :" + +#: src/fe-gtk/setup.c:1281 +msgid "New message:" +msgstr "Tin nhẳn mới:" + +#: src/fe-gtk/setup.c:1282 +msgid "Away user:" +msgstr "Người dùng vắng mặt:" + +#: src/fe-gtk/setup.c:1283 +msgid "Highlight:" +msgstr "Tô sáng:" + +#: src/fe-gtk/setup.c:1379 src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "Sự kiện" + +#: src/fe-gtk/setup.c:1385 +msgid "Sound file" +msgstr "Tập tin âm thanh" + +#: src/fe-gtk/setup.c:1420 +msgid "Select a sound file" +msgstr "Chon tập tin âm thanh" + +#: src/fe-gtk/setup.c:1492 +msgid "Sound playing method:" +msgstr "Phương pháp phát âm thanh:" + +#: src/fe-gtk/setup.c:1500 +msgid "External sound playing _program:" +msgstr "Trình bên ngoài _phát âm thanh:" + +#: src/fe-gtk/setup.c:1518 +msgid "_External program" +msgstr "Trình _bên ngoài" + +#: src/fe-gtk/setup.c:1528 +msgid "_Automatic" +msgstr "_Tự động" + +#: src/fe-gtk/setup.c:1541 +msgid "Sound files _directory:" +msgstr "Thư _mục tập tin âm thanh:" + +#: src/fe-gtk/setup.c:1580 +msgid "Sound file:" +msgstr "Tập tin âm thanh:" + +#: src/fe-gtk/setup.c:1595 +msgid "_Browse..." +msgstr "_Duyệt..." + +#: src/fe-gtk/setup.c:1606 +msgid "_Play" +msgstr "_Phát" + +#: src/fe-gtk/setup.c:1655 +msgid "Interface" +msgstr "Giao diện" + +#: src/fe-gtk/setup.c:1656 +msgid "Text box" +msgstr "Hộp văn bản" + +#: src/fe-gtk/setup.c:1658 +msgid "User list" +msgstr "Danh sách Người dùng" + +#: src/fe-gtk/setup.c:1659 +msgid "Channel switcher" +msgstr "Bộ chuyển đổi kênh" + +#: src/fe-gtk/setup.c:1660 +msgid "Colors" +msgstr "Màu sắc" + +#: src/fe-gtk/setup.c:1662 +msgid "Chatting" +msgstr "Đang trò chuyện" + +#: src/fe-gtk/setup.c:1664 +msgid "General" +msgstr "Chung" + +#: src/fe-gtk/setup.c:1666 +msgid "Sound" +msgstr "Âm thanh" + +#: src/fe-gtk/setup.c:1670 +msgid "Network setup" +msgstr "Thiết lập mạng" + +#: src/fe-gtk/setup.c:1671 +msgid "File transfers" +msgstr "Việc truyền tập tin" + +#: src/fe-gtk/setup.c:1779 +msgid "Categories" +msgstr "Loại" + +#: src/fe-gtk/setup.c:1960 +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 "" +"Không thể đặt cây bên trên hay bên dưới.\n" +"Trước hết hãy chuyển đổi sang bố trí <b>Thanh</b> trong trình đơn <b>Xem</b>." + +#: src/fe-gtk/setup.c:1970 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Một sô thiết lập đã được thay đổi nên cần phải khởi chạy lại để hoạt động đầy đủ." + +#: src/fe-gtk/setup.c:1978 +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 "" +"•• CẢNH BÁO ••\n" +"Việc tự động chấp nhận DCC vào thư mục\n" +"chính của bạn có lẽ nguy hiểm và cho phép\n" +"người khác tấn công hệ thống của bạn.\n" +"V.d. người khác có thể gởi cho bạn\n" +"một « .bash_profile »." + +#: src/fe-gtk/setup.c:2011 +msgid "XChat: Preferences" +msgstr "XChat: Tùy thích" + +#: src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "Gặp lỗi khi phân tách chuỗi đó" + +#: src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Tín hiệu này chỉ nhận %d đối sô, $%d không hợp lệ" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "In tập tin các văn bản" + +#: src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "Sửa sự kiện" + +#: src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$ Số" + +#: src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "Nạp từ..." + +#: src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "Kiểm tra hết" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: Lấy URL" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "Xóa trống danh sách" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "Chép URL đã chọn" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "Chép" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "Lưu danh sách vào tập tin" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d quản trị, %d tổng số" + +#~ msgid "No other tabs open, quit xchat?" +#~ msgstr "Không có thẻ nữa còn mở, thoát khỏi xchat không?" + +#~ msgid "_Layout" +#~ msgstr "_Bố trị" + +#~ msgid "Quit..." +#~ msgstr "Thoát..." + +#~ msgid "Resizable user list" +#~ msgstr "Danh sách người dùng có thể thay đổi kích cỡ" + +#~ msgid "Left" +#~ msgstr "Trái" + +#~ msgid "Right" +#~ msgstr "Phải" + +#~ msgid "Show tabs at:" +#~ msgstr "Hiện thẻ ở :" diff --git a/po/wa.po b/po/wa.po new file mode 100644 index 00000000..b786311c --- /dev/null +++ b/po/wa.po @@ -0,0 +1,4682 @@ +# Translation of aspell into the walloon language. +# Copyright (C) 2004 THE PACKAGE'S COPYRIGHT HOLDER +# Pablo Saratxaga <pablo@walon.org>, 2004. +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.0.7pre1\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2003-12-26 19:31+1100\n" +"PO-Revision-Date: 2004-04-05 18:55+0200\n" +"Last-Translator: Pablo Saratxaga <pablo@walon.org>\n" +"Language-Team: Walloon <linux-wa@walon.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0.2\n" + +#: src/common/cfgfiles.c:340 +msgid "Cannot create ~/.xchat2" +msgstr "Dji n' sai askepyî ~/.xchat2" + +#: src/common/cfgfiles.c:634 +msgid "I'm busy" +msgstr "Dji so-st ocupé" + +#: src/common/cfgfiles.c:635 +msgid "Leaving" +msgstr "Cwitant" + +#: src/common/cfgfiles.c:679 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* C' est vormint biesse di s' raloyî a l' IRC dizo root!\n" +" Vos dvrîz fé on conte uzeu eyet l' eployî po vs elodjî.\n" + +#: src/common/dcc.c:56 +msgid "Waiting" +msgstr "Ratindant" + +#: src/common/dcc.c:57 +msgid "Active" +msgstr "En alaedje" + +#: src/common/dcc.c:58 +msgid "Failed" +msgstr "Berwete" + +#: src/common/dcc.c:59 +msgid "Done" +msgstr "Fwait" + +#: src/common/dcc.c:60 +msgid "Connect" +msgstr "Raloyaedje" + +#: src/common/dcc.c:61 +msgid "Aborted" +msgstr "Rinoncî" + +#: src/common/dcc.c:1268 +#, c-format +msgid "Cannot access %s\n" +msgstr "Dji n' sai acceder a %s\n" + +#: src/common/dcc.c:1800 +msgid "No active DCCs\n" +msgstr "" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "OYI " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "NENI " + +#: src/common/ignore.c:373 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "" + +#: src/common/ignore.c:398 +#, c-format +msgid "You are being MSG flooded from %s, setting autodialog OFF.\n" +msgstr "" + +#: src/common/notify.c:400 +#, c-format +msgid " %-20s online\n" +msgstr "" + +#: src/common/notify.c:402 +#, c-format +msgid " %-20s offline\n" +msgstr "" + +#: src/common/outbound.c:70 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "" + +#: src/common/outbound.c:76 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "" + +#: src/common/outbound.c:1356 +msgid "I need /bin/sh to run!\n" +msgstr "Dj' a mezåjhe di /bin/sh po roter!\n" + +#: src/common/outbound.c:1588 +msgid "" +"\n" +"Commands Available:\n" +"\n" +" " +msgstr "" +"\n" +"Comandes k' i gn a:\n" +"\n" +" " + +#: src/common/outbound.c:1623 +msgid "" +"\n" +"\n" +"Type /HELP <command> for more information, or /HELP -l\n" +"\n" +msgstr "" + +#: src/common/outbound.c:1624 +msgid "" +"User defined commands:\n" +"\n" +" " +msgstr "" + +#: src/common/outbound.c:1716 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "" + +#: src/common/outbound.c:2426 +msgid "No such plugin found.\n" +msgstr "" + +#: src/common/outbound.c:2431 src/fe-gtk/plugingui.c:182 +msgid "That plugin is refusing to unload.\n" +msgstr "" + +#: src/common/outbound.c:2576 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "" + +#: src/common/outbound.c:2578 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "" + +#: src/common/outbound.c:2580 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "" + +#: src/common/outbound.c:2581 +msgid "AWAY [<reason>], sets you away" +msgstr "" + +#: src/common/outbound.c:2583 +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 "" + +#: src/common/outbound.c:2585 +msgid "CLEAR, Clears the current text window" +msgstr "" + +#: src/common/outbound.c:2586 +msgid "CLOSE, Closes the current window/tab" +msgstr "" + +#: src/common/outbound.c:2589 +msgid "COUNTRY <code>, finds a country code, eg: au = australia" +msgstr "" + +#: src/common/outbound.c:2591 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:2593 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "" + +#: src/common/outbound.c:2595 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:2605 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2607 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "" + +#: src/common/outbound.c:2609 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2611 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2612 +msgid "DISCON, Disconnects from server" +msgstr "" + +#: src/common/outbound.c:2613 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "" + +#: src/common/outbound.c:2614 +msgid "ECHO <text>, Prints text locally" +msgstr "" + +#: src/common/outbound.c:2617 +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 "" + +#: src/common/outbound.c:2619 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:2622 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:2624 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:2625 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:2629 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:2631 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:2637 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2639 +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 "" + +#: src/common/outbound.c:2646 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2647 +msgid "JOIN <channel>, joins the channel" +msgstr "" + +#: src/common/outbound.c:2649 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2651 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2654 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:2656 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "" + +#: src/common/outbound.c:2658 +msgid "LOAD <file>, loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:2661 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2663 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2665 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "" + +#: src/common/outbound.c:2667 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2669 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2670 +msgid "MSG <nick> <message>, sends a private message" +msgstr "" + +#: src/common/outbound.c:2673 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "" + +#: src/common/outbound.c:2675 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "" + +#: src/common/outbound.c:2676 +msgid "NEWSERVER <hostname> [<port>]" +msgstr "" + +#: src/common/outbound.c:2677 +msgid "NICK <nickname>, sets your nick" +msgstr "" + +#: src/common/outbound.c:2680 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "" + +#: src/common/outbound.c:2682 +msgid "NOTIFY [<nick>], lists your notify list or adds someone to it" +msgstr "" + +#: src/common/outbound.c:2684 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2686 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "" + +#: src/common/outbound.c:2688 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "" + +#: src/common/outbound.c:2690 +msgid "QUERY <nick>, opens up a new privmsg window to someone" +msgstr "" + +#: src/common/outbound.c:2692 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "" + +#: src/common/outbound.c:2694 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "" + +#: src/common/outbound.c:2697 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:2700 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:2702 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "" + +#: src/common/outbound.c:2705 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "" + +#: src/common/outbound.c:2708 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:2711 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:2715 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" + +#: src/common/outbound.c:2718 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "" + +#: src/common/outbound.c:2720 +msgid "SET <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:2723 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "" + +#: src/common/outbound.c:2725 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "" + +#: src/common/outbound.c:2726 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "" + +#: src/common/outbound.c:2727 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:2730 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" + +#: src/common/outbound.c:2732 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "" + +#: src/common/outbound.c:2734 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" + +#: src/common/outbound.c:2767 +#, c-format +msgid "Usage: %s\n" +msgstr "" + +#: src/common/outbound.c:2772 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" + +#: src/common/outbound.c:2778 +msgid "No such command.\n" +msgstr "" + +#: src/common/outbound.c:3102 +msgid "Bad arguments for user command.\n" +msgstr "" + +#: src/common/outbound.c:3266 +msgid "Too many recursive usercommands, aborting." +msgstr "" + +#: src/common/outbound.c:3339 +msgid "Unknown Command. Try /help\n" +msgstr "" + +#: src/common/plugin.c:349 src/common/plugin.c:379 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "" + +#: src/common/server.c:887 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" + +#: src/common/server.c:892 +msgid "Proxy traversal failed.\n" +msgstr "" + +#: src/common/servlist.c:632 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "" + +#: src/common/servlist.c:972 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "" + +#: src/common/textevents.h:6 +msgid "-%C10-%C11-%O$t$1 added to notify list." +msgstr "" + +#: src/common/textevents.h:9 +msgid "-%C10-%C11-%O$t$1 Banlist: %C3$4 %C4$2 %C5$3%O" +msgstr "" + +#: src/common/textevents.h:12 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(You are banned)." +msgstr "" + +#: src/common/textevents.h:15 +msgid "-%C10-%C11-%O$t$1 is now known as $2" +msgstr "" + +#: src/common/textevents.h:18 +msgid "%C13*%O$t$1%O $2%O" +msgstr "" + +#: src/common/textevents.h:21 +msgid "%C13*%O$t%C8%B$1%B%O $2%O" +msgstr "" + +#: src/common/textevents.h:24 +msgid "-%C10-%C11-%O$t$1 sets ban on $2" +msgstr "" + +#: src/common/textevents.h:27 +msgid "-%C10-%C11-%O$tChannel $1 created on $2" +msgstr "" + +#: src/common/textevents.h:30 +msgid "-%C10-%C11-%O$t%C11$1%O removes channel half-operator status from %C11$2" +msgstr "" + +#: src/common/textevents.h:33 +msgid "-%C10-%C11-%O$t%C11$1%O removes channel operator status from %C11$2" +msgstr "" + +#: src/common/textevents.h:36 +msgid "-%C10-%C11-%O$t%C11$1%O removes voice from %C11$2" +msgstr "" + +#: src/common/textevents.h:39 +msgid "-%C10-%C11-%O$t$1 sets exempt on $2" +msgstr "" + +#: src/common/textevents.h:42 +msgid "-%C10-%C11-%O$t%C11$1%O gives channel half-operator status to %C11$2" +msgstr "" + +#: src/common/textevents.h:45 +msgid "-%C10-%C11-%O$t$1 sets invite on $2" +msgstr "" + +#: src/common/textevents.h:48 +msgid "%UChannel Users Topic%O" +msgstr "" + +#: src/common/textevents.h:51 src/common/textevents.h:297 +msgid "%C2<%O$1%C2>%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:54 +msgid "-%C10-%C11-%O$t$1 sets mode $2$3 $4" +msgstr "" + +#: src/common/textevents.h:57 +msgid "-%C10-%C11-%O$tChannel $1 modes: $2" +msgstr "" + +#: src/common/textevents.h:60 +msgid "%C2<%C8%B$1%B%C2>%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:63 +msgid "%C12-%C13$1/$2%C12-%O$t$3%O" +msgstr "" + +#: src/common/textevents.h:66 +msgid "-%C10-%C11-%O$t%C11$1%O gives channel operator status to %C11$2" +msgstr "" + +#: src/common/textevents.h:69 +msgid "-%C10-%C11-%O$t$1 removes exempt on $2" +msgstr "" + +#: src/common/textevents.h:72 +msgid "-%C10-%C11-%O$t$1 removes invite on $2" +msgstr "" + +#: src/common/textevents.h:75 +msgid "-%C10-%C11-%O$t$1 removes channel keyword" +msgstr "" + +#: src/common/textevents.h:78 +msgid "-%C10-%C11-%O$t$1 removes user limit" +msgstr "" + +#: src/common/textevents.h:81 +msgid "-%C10-%C11-%O$t$1 sets channel keyword to $2" +msgstr "" + +#: src/common/textevents.h:84 +msgid "-%C10-%C11-%O$t$1 sets channel limit to $2" +msgstr "" + +#: src/common/textevents.h:87 +msgid "-%C10-%C11-%O$t$1 removes ban on $2" +msgstr "" + +#: src/common/textevents.h:90 +msgid "-%C10-%C11-%O$t%C11$1%O gives voice to %C11$2" +msgstr "" + +#: src/common/textevents.h:93 +msgid "-%C10-%C11-%O$tConnected. Now logging in.." +msgstr "" + +#: src/common/textevents.h:96 +msgid "-%C10-%C11-%O$tConnecting to %C11$1 %C14(%C11$2%C14)%C port %C11$3%C.." +msgstr "" + +#: src/common/textevents.h:99 +msgid "-%C10-%C11-%O$tConnection failed. Error: $1" +msgstr "" + +#: src/common/textevents.h:102 +msgid "-%C10-%C11-%O$tReceived a CTCP $1 from $2" +msgstr "" + +#: src/common/textevents.h:105 +msgid "-%C10-%C11-%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "" + +#: src/common/textevents.h:108 +msgid "%C3>%O$1%C3<%O$tCTCP $2%O" +msgstr "" + +#: src/common/textevents.h:111 +msgid "-%C10-%C11-%O$tReceived a CTCP Sound $1 from $2" +msgstr "" + +#: src/common/textevents.h:114 +msgid "-%C10-%C11-%O$tDCC CHAT to %C11$1%O aborted." +msgstr "" + +#: src/common/textevents.h:117 +msgid "-%C10-%C11-%O$tDCC CHAT connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "" + +#: src/common/textevents.h:120 +msgid "-%C10-%C11-%O$tDCC CHAT to %C11$1%O lost. $4." +msgstr "" + +#: src/common/textevents.h:123 +msgid "-%C10-%C11-%O$tReceived a DCC CHAT offer from $1" +msgstr "" + +#: src/common/textevents.h:126 +msgid "-%C10-%C11-%O$tOffering DCC CHAT to $1" +msgstr "" + +#: src/common/textevents.h:129 +msgid "-%C10-%C11-%O$tAlready offering CHAT to $1" +msgstr "" + +#: src/common/textevents.h:132 +msgid "-%C10-%C11-%O$tDCC $1 connect attempt to %C11$2%O failed (err=$3)." +msgstr "" + +#: src/common/textevents.h:135 +msgid "-%C10-%C11-%O$tReceived '$1%O' from $2" +msgstr "" + +#: src/common/textevents.h:138 +msgid "%C8,2 Type To/From Status Size Pos File %O%010%B%C9----------------------------------------------------%O" +msgstr "" + +#: src/common/textevents.h:141 +msgid "-%C10-%C11-%O$tReceived a malformed DCC request from %C11$1%O.%010-%C10-%C11-%O$tContents of packet: $2" +msgstr "" + +#: src/common/textevents.h:144 +msgid "-%C10-%C11-%O$tOffering %C11$1 %Cto %C11$2%O" +msgstr "" + +#: src/common/textevents.h:147 +msgid "-%C10-%C11-%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:150 +msgid "-%C10-%C11-%O$tDCC RECV %C11$2%O to %C11$1%O aborted." +msgstr "" + +#: src/common/textevents.h:153 +msgid "-%C10-%C11-%O$tDCC RECV %C11$1%O from %C11$3%O complete %C14[%C11$4%O cps%C14]%O." +msgstr "" + +#: src/common/textevents.h:156 +msgid "-%C10-%C11-%O$tDCC RECV connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "" + +#: src/common/textevents.h:159 +msgid "-%C10-%C11-%O$tDCC RECV %C11$1%O from %C11$3%O failed. $4." +msgstr "" + +#: src/common/textevents.h:162 +msgid "-%C10-%C11-%O$tDCC RECV: Cannot open $1 for writing - aborting." +msgstr "" + +#: src/common/textevents.h:165 +msgid "-%C10-%C11-%O$tThe file %C11$1%C already exists, saving it as %C11$2%O instead." +msgstr "" + +#: src/common/textevents.h:168 +msgid "-%C10-%C11-%O$t%C11$1 %Chas requested to resume %C11$2 %Cfrom %C11$3%C." +msgstr "" + +#: src/common/textevents.h:171 +msgid "-%C10-%C11-%O$tDCC SEND %C11$2%O to %C11$1%O aborted." +msgstr "" + +#: src/common/textevents.h:174 +msgid "-%C10-%C11-%O$tDCC SEND %C11$1%O to %C11$2%O complete %C14[%C11$3%O cps%C14]%O." +msgstr "" + +#: src/common/textevents.h:177 +msgid "-%C10-%C11-%O$tDCC SEND connection established to %C11$1 %C14[%O$2%C14]%O" +msgstr "" + +#: src/common/textevents.h:180 +msgid "-%C10-%C11-%O$tDCC SEND %C11$1%O to %C11$2%O failed. $3" +msgstr "" + +#: src/common/textevents.h:183 +msgid "-%C10-%C11-%O$t%C11$1 %Chas offered %C11$2 %C(%C11$3 %Cbytes)" +msgstr "" + +#: src/common/textevents.h:186 +msgid "-%C10-%C11-%O$tDCC $1 %C11$2 %Cto %C11$3 %Cstalled - aborting." +msgstr "" + +#: src/common/textevents.h:189 +msgid "-%C10-%C11-%O$tDCC $1 %C11$2 %Cto %C11$3 %Ctimed out - aborting." +msgstr "" + +#: src/common/textevents.h:192 +msgid "-%C10-%C11-%O$t$1 deleted from notify list." +msgstr "" + +#: src/common/textevents.h:195 +msgid "-%C10-%C11-%O$tDisconnected ($1)." +msgstr "" + +#: src/common/textevents.h:198 +msgid "-%C10-%C11-%O$tFound your IP: [$1]" +msgstr "" + +#: src/common/textevents.h:201 +msgid "$1$t$2" +msgstr "" + +#: src/common/textevents.h:204 +msgid "%O%C11$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:207 +msgid "Ignore on %C11$1%O changed." +msgstr "" + +#: src/common/textevents.h:210 +msgid "%C08,02 %O" +msgstr "" + +#: src/common/textevents.h:213 +msgid "%C08,02 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG %O" +msgstr "" + +#: src/common/textevents.h:216 +msgid "%O%C11$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:219 +msgid " Ignore list is empty." +msgstr "" + +#: src/common/textevents.h:222 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(Channel is invite only)." +msgstr "" + +#: src/common/textevents.h:225 +msgid "-%C10-%C11-%O$tYou have been invited to %C11$1%C by %C11$2%C (%C11$3%C)" +msgstr "" + +#: src/common/textevents.h:228 +msgid "-%C10-%C11>%O$t%B$1%B %C14(%C10$3%C14)%C has joined $2" +msgstr "" + +#: src/common/textevents.h:231 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(Requires keyword)." +msgstr "" + +#: src/common/textevents.h:234 +msgid "<%C10-%C11-%O$t$1 has kicked $2 from $3 ($4%O)" +msgstr "" + +#: src/common/textevents.h:237 +msgid "-%C10-%C11-%O$tYou have been killed by $1 ($2%O)" +msgstr "" + +#: src/common/textevents.h:240 src/common/textevents.h:264 +msgid "%C3>%O$1%C3<%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:243 src/common/textevents.h:318 +#: src/common/textevents.h:324 src/common/textevents.h:327 +msgid "-%C10-%C11-%O$t$1%O" +msgstr "" + +#: src/common/textevents.h:246 +msgid "-%C10-%C11-%O$tMOTD Skipped." +msgstr "" + +#: src/common/textevents.h:249 +msgid "-%C10-%C11-%O$t$1 already in use. Retrying with $2.." +msgstr "" + +#: src/common/textevents.h:252 +msgid "-%C10-%C11-%O$tNickname already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:255 +msgid "-%C10-%C11-%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:258 +msgid "-%C10-%C11-%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:261 +msgid "%C12-%C13$1%C12-%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:267 +msgid "-%C10-%C11-%O$tNotify list is empty." +msgstr "" + +#: src/common/textevents.h:270 +msgid "%C08,02 %B-- Notify List --------------- %O" +msgstr "" + +#: src/common/textevents.h:273 +msgid "-%C10-%C11-%O$t$1 users in notify list." +msgstr "" + +#: src/common/textevents.h:276 +msgid "-%C10-%C11-%O$tNotify: $1 is offline ($2)." +msgstr "" + +#: src/common/textevents.h:279 +msgid "-%C10-%C11-%O$tNotify: $1 is online ($2)." +msgstr "" + +#: src/common/textevents.h:282 +msgid "<%C10-%C11-%O$t$1 %C14(%O$2%C14)%C has left $3" +msgstr "" + +#: src/common/textevents.h:285 +msgid "<%C10-%C11-%O$t$1 %C14(%O$2%C14)%C has left $3 %C14(%O$4%C14)%O" +msgstr "" + +#: src/common/textevents.h:288 +msgid "-%C10-%C11-%O$tPing reply from $1 : $2 second(s)" +msgstr "" + +#: src/common/textevents.h:291 +msgid "-%C10-%C11-%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:294 +msgid "%C12*%C13$1%C12*$t%O$2%O" +msgstr "" + +#: src/common/textevents.h:300 +msgid "-%C10-%C11-%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:303 +msgid "<%C10-%C11-%O$t$1 has quit %C14(%O$2%O%C14)%O" +msgstr "" + +#: src/common/textevents.h:306 +msgid "-%C10-%C11-%O$t$1 sets modes%B %C14[%O$2%B%C14]%O" +msgstr "" + +#: src/common/textevents.h:309 +msgid "%C12-%C13$1/Wallops%C12-%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:312 +msgid "-%C10-%C11-%O$tLooking up IP number for%C11 $1%O.." +msgstr "" + +#: src/common/textevents.h:315 +msgid "-%C10-%C11-%O$tConnected." +msgstr "" + +#: src/common/textevents.h:321 +msgid "-%C10-%C11-%O$tLooking up %C11$1%C.." +msgstr "" + +#: src/common/textevents.h:330 +msgid "-%C10-%C11-%O$tStopped previous connection attempt (pid=$1)" +msgstr "" + +#: src/common/textevents.h:333 +msgid "-%C10-%C11-%O$tTopic for %C11$1%C is %C11$2%O" +msgstr "" + +#: src/common/textevents.h:336 +msgid "-%C10-%C11-%O$tTopic for %C11$1%C set by %C11$2%C at %C11$3%O" +msgstr "" + +#: src/common/textevents.h:339 +msgid "-%C10-%C11-%O$t$1 has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:342 +msgid "-%C10-%C11-%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:345 +msgid "-%C10-%C11-%O$tCannot join%C11 %B$1 %O(User limit reached)." +msgstr "" + +#: src/common/textevents.h:348 +msgid "-%C10-%C11-%O$t%C11Users on $1:%C $2" +msgstr "" + +#: src/common/textevents.h:351 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %Cis away %C14(%O$2%O%C14)" +msgstr "" + +#: src/common/textevents.h:354 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%C $2" +msgstr "" + +#: src/common/textevents.h:357 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %CEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:360 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2" +msgstr "" + +#: src/common/textevents.h:363 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %O$2 %C11$3%O" +msgstr "" + +#: src/common/textevents.h:366 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %Oreal user@host %C11$2%O, real IP %C11$3%O" +msgstr "" + +#: src/common/textevents.h:369 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O idle %C11$2%O" +msgstr "" + +#: src/common/textevents.h:372 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O idle %C11$2%O, signon: %C11$3%O" +msgstr "" + +#: src/common/textevents.h:375 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12] %C14(%O$2@$3%C14) %O: $4%O" +msgstr "" + +#: src/common/textevents.h:378 +msgid "-%C10-%C11-%O$t%C12[%O$1%C12]%O $2" +msgstr "" + +#: src/common/textevents.h:381 +msgid "-%C10-%C11>%O$t%BYou%B are now talking on %C11$2%O" +msgstr "" + +#: src/common/textevents.h:384 +msgid "-%C10-%C11-%O$tYou have left channel $3" +msgstr "" + +#: src/common/textevents.h:387 +msgid "-%C10-%C11-%O$tYou have left channel $3 %C14(%O$4%C14)%O" +msgstr "" + +#: src/common/textevents.h:390 +msgid "-%C10-%C11-%O$tYou have been kicked from $2 by $3 ($4%O)" +msgstr "" + +#: src/common/textevents.h:393 +msgid "-%C10-%C11-%O$tYou're inviting %C11$1%C to %C11$2%C (%C11$3%C)" +msgstr "" + +#: src/common/textevents.h:396 +msgid "%C6<%O$1%C6>%O$t$2%O" +msgstr "" + +#: src/common/textevents.h:399 +msgid "-%C10-%C11-%O$tYou are now known as $2" +msgstr "" + +#: src/common/text.c:303 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:420 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:439 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" + +#: src/common/text.c:650 +msgid "Left message" +msgstr "" + +#: src/common/text.c:651 +msgid "Right message" +msgstr "" + +#: src/common/text.c:655 +msgid "The nick of the joining person" +msgstr "" + +#: src/common/text.c:656 +msgid "The channel being joined" +msgstr "" + +#: src/common/text.c:657 src/common/text.c:701 src/common/text.c:757 +msgid "The host of the person" +msgstr "" + +#: src/common/text.c:661 src/common/text.c:666 src/common/text.c:672 +#: src/common/text.c:739 src/common/text.c:863 src/common/text.c:870 +#: src/common/text.c:875 src/common/text.c:880 src/common/text.c:885 +#: src/common/text.c:891 src/common/text.c:896 src/common/text.c:900 +#: src/common/text.c:905 src/common/text.c:911 src/common/text.c:957 +#: src/common/text.c:966 src/common/text.c:971 src/common/text.c:976 +#: src/common/text.c:985 src/common/text.c:995 src/common/text.c:1002 +#: src/common/text.c:1008 src/common/text.c:1013 src/common/text.c:1018 +#: src/common/text.c:1025 src/common/text.c:1031 src/common/text.c:1037 +#: src/common/text.c:1042 src/common/text.c:1047 src/common/text.c:1051 +#: src/common/text.c:1057 src/common/text.c:1065 src/common/text.c:1099 +#: src/common/text.c:1104 +msgid "Nickname" +msgstr "" + +#: src/common/text.c:662 +msgid "The action" +msgstr "" + +#: src/common/text.c:667 +msgid "The text" +msgstr "" + +#: src/common/text.c:668 +msgid "Mode char" +msgstr "" + +#: src/common/text.c:673 src/common/text.c:729 src/common/text.c:735 +#: src/common/text.c:740 +msgid "The message" +msgstr "" + +#: src/common/text.c:677 src/common/text.c:744 +msgid "Old nickname" +msgstr "" + +#: src/common/text.c:678 src/common/text.c:745 +msgid "New nickname" +msgstr "" + +#: src/common/text.c:682 +msgid "Nick of person who changed the topic" +msgstr "" + +#: src/common/text.c:683 src/common/text.c:689 src/fe-gtk/chanlist.c:599 +#: src/fe-gtk/chanlist.c:700 +msgid "Topic" +msgstr "" + +#: src/common/text.c:684 src/common/text.c:688 src/common/text.c:1119 +#: src/fe-gtk/chanlist.c:597 src/fe-gtk/chanlist.c:691 +#: src/fe-gtk/ignoregui.c:175 +msgid "Channel" +msgstr "Canå" + +#: src/common/text.c:693 src/common/text.c:751 +msgid "The nickname of the kicker" +msgstr "" + +#: src/common/text.c:694 src/common/text.c:749 +msgid "The person being kicked" +msgstr "" + +#: src/common/text.c:695 src/common/text.c:702 src/common/text.c:706 +#: src/common/text.c:711 src/common/text.c:750 src/common/text.c:758 +msgid "The channel" +msgstr "" + +#: src/common/text.c:696 src/common/text.c:752 src/common/text.c:759 +msgid "The reason" +msgstr "" + +#: src/common/text.c:700 src/common/text.c:756 +msgid "The nick of the person leaving" +msgstr "" + +#: src/common/text.c:707 src/common/text.c:713 +msgid "The time" +msgstr "" + +#: src/common/text.c:712 +msgid "The creator" +msgstr "" + +#: src/common/text.c:717 +msgid "Nick" +msgstr "" + +#: src/common/text.c:718 src/common/text.c:972 +msgid "Reason" +msgstr "Råjhon" + +#: src/common/text.c:719 src/common/text.c:865 src/common/text.c:947 +msgid "Host" +msgstr "Lodjoe" + +#: src/common/text.c:723 src/common/text.c:728 src/common/text.c:733 +msgid "Who it's from" +msgstr "" + +#: src/common/text.c:724 +msgid "The time in x.x format (see below)" +msgstr "" + +#: src/common/text.c:734 src/common/text.c:775 +msgid "The Channel it's going to" +msgstr "" + +#: src/common/text.c:763 +msgid "The sound" +msgstr "" + +#: src/common/text.c:764 src/common/text.c:769 src/common/text.c:774 +msgid "The nick of the person" +msgstr "" + +#: src/common/text.c:768 src/common/text.c:773 +msgid "The CTCP event" +msgstr "" + +#: src/common/text.c:779 +msgid "The nick of the person who set the key" +msgstr "" + +#: src/common/text.c:780 +msgid "The key" +msgstr "" + +#: src/common/text.c:784 +msgid "The nick of the person who set the limit" +msgstr "" + +#: src/common/text.c:785 +msgid "The limit" +msgstr "" + +#: src/common/text.c:789 +msgid "The nick of the person who did the op'ing" +msgstr "" + +#: src/common/text.c:790 +msgid "The nick of the person who has been op'ed" +msgstr "" + +#: src/common/text.c:794 +msgid "The nick of the person who has been halfop'ed" +msgstr "" + +#: src/common/text.c:795 +msgid "The nick of the person who did the halfop'ing" +msgstr "" + +#: src/common/text.c:799 +msgid "The nick of the person who did the voice'ing" +msgstr "" + +#: src/common/text.c:800 +msgid "The nick of the person who has been voice'ed" +msgstr "" + +#: src/common/text.c:804 +msgid "The nick of the person who did the banning" +msgstr "" + +#: src/common/text.c:805 src/common/text.c:832 +msgid "The ban mask" +msgstr "" + +#: src/common/text.c:809 +msgid "The nick who removed the key" +msgstr "" + +#: src/common/text.c:813 +msgid "The nick who removed the limit" +msgstr "" + +#: src/common/text.c:817 +msgid "The nick of the person of did the deop'ing" +msgstr "" + +#: src/common/text.c:818 +msgid "The nick of the person who has been deop'ed" +msgstr "" + +#: src/common/text.c:821 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:822 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "" + +#: src/common/text.c:826 +msgid "The nick of the person of did the devoice'ing" +msgstr "" + +#: src/common/text.c:827 +msgid "The nick of the person who has been devoice'ed" +msgstr "" + +#: src/common/text.c:831 +msgid "The nick of the person of did the unban'ing" +msgstr "" + +#: src/common/text.c:836 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:837 src/common/text.c:842 +msgid "The exempt mask" +msgstr "" + +#: src/common/text.c:841 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:846 +msgid "The nick of the person who did the invite" +msgstr "" + +#: src/common/text.c:847 src/common/text.c:852 +msgid "The invite mask" +msgstr "" + +#: src/common/text.c:851 +msgid "The nick of the person removed the invite" +msgstr "" + +#: src/common/text.c:856 +msgid "The nick of the person setting the mode" +msgstr "" + +#: src/common/text.c:857 +msgid "The mode's sign (+/-)" +msgstr "" + +#: src/common/text.c:858 +msgid "The mode letter" +msgstr "" + +#: src/common/text.c:859 +msgid "The channel it's being set on" +msgstr "" + +#: src/common/text.c:864 +msgid "Username" +msgstr "No d' uzeu" + +#: src/common/text.c:866 +msgid "Full name" +msgstr "" + +#: src/common/text.c:871 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:876 +msgid "Server Information" +msgstr "Informåcions sol sierveu" + +#: src/common/text.c:881 src/common/text.c:886 +msgid "Idle time" +msgstr "" + +#: src/common/text.c:887 +msgid "Signon time" +msgstr "" + +#: src/common/text.c:892 +msgid "Away reason" +msgstr "" + +#: src/common/text.c:901 src/common/text.c:906 src/common/text.c:914 +#: src/common/text.c:1091 +msgid "Message" +msgstr "Messaedje" + +#: src/common/text.c:907 +msgid "Account" +msgstr "Conte" + +#: src/common/text.c:912 +msgid "Real user@host" +msgstr "" + +#: src/common/text.c:913 +msgid "Real IP" +msgstr "" + +#: src/common/text.c:918 src/common/text.c:927 src/common/text.c:933 +#: src/common/text.c:1114 +msgid "Channel Name" +msgstr "No do canå" + +#: src/common/text.c:922 src/common/text.c:1077 src/fe-gtk/textgui.c:383 +msgid "Text" +msgstr "Tecse" + +#: src/common/text.c:923 src/common/text.c:929 src/common/text.c:1115 +msgid "Server Name" +msgstr "No do sierveu" + +#: src/common/text.c:928 +msgid "Nick of person who invited you" +msgstr "" + +#: src/common/text.c:934 src/fe-gtk/chanlist.c:598 +msgid "Users" +msgstr "Uzeus" + +#: src/common/text.c:938 +msgid "Nickname in use" +msgstr "" + +#: src/common/text.c:939 +msgid "Nick being tried" +msgstr "" + +#: src/common/text.c:943 +#, fuzzy +msgid "Error String" +msgstr "Tchinne DCC" + +#: src/common/text.c:948 src/common/text.c:1081 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:949 src/common/text.c:978 +msgid "Port" +msgstr "Pôrt" + +#: src/common/text.c:953 +msgid "PID" +msgstr "" + +#: src/common/text.c:961 +msgid "Channel name" +msgstr "No do canå" + +#: src/common/text.c:962 src/common/text.c:967 +msgid "Modes string" +msgstr "" + +#: src/common/text.c:977 src/common/text.c:1014 src/common/text.c:1019 +#: src/common/text.c:1060 +msgid "IP address" +msgstr "Adresse IP" + +#: src/common/text.c:979 src/common/text.c:996 src/common/text.c:1026 +#, fuzzy +msgid "Error name" +msgstr "Aroke" + +#: src/common/text.c:983 src/common/text.c:1007 +msgid "DCC Type" +msgstr "Sôre DCC" + +#: src/common/text.c:984 src/common/text.c:989 src/common/text.c:993 +#: src/common/text.c:1000 src/common/text.c:1020 src/common/text.c:1024 +#: src/common/text.c:1030 src/common/text.c:1036 src/common/text.c:1043 +#: src/common/text.c:1052 src/common/text.c:1058 +msgid "Filename" +msgstr "No do fitchî" + +#: src/common/text.c:994 src/common/text.c:1001 +msgid "Destination filename" +msgstr "No do fitchî såme" + +#: src/common/text.c:1003 src/common/text.c:1032 +msgid "CPS" +msgstr "" + +#: src/common/text.c:1009 +msgid "Error string" +msgstr "" + +#: src/common/text.c:1038 +msgid "Pathname" +msgstr "No do tchmin" + +#: src/common/text.c:1053 src/fe-gtk/dccgui.c:483 src/fe-gtk/dccgui.c:633 +msgid "Position" +msgstr "Eplaeçmint" + +#: src/common/text.c:1059 src/fe-gtk/dccgui.c:482 src/fe-gtk/dccgui.c:632 +msgid "Size" +msgstr "Grandeu" + +#: src/common/text.c:1064 +msgid "DCC String" +msgstr "Tchinne DCC" + +#: src/common/text.c:1069 +msgid "Number of notify items" +msgstr "" + +#: src/common/text.c:1073 +msgid "Servername" +msgstr "No do sierveu" + +#: src/common/text.c:1085 +msgid "Old Filename" +msgstr "Vî no d' fitchî" + +#: src/common/text.c:1086 +msgid "New Filename" +msgstr "Novea no d' fitchî" + +#: src/common/text.c:1090 +msgid "Receiver" +msgstr "Riçuveu" + +#: src/common/text.c:1095 +msgid "Hostmask" +msgstr "" + +#: src/common/text.c:1100 +msgid "Hostname" +msgstr "No do lodjoe" + +#: src/common/text.c:1105 +msgid "The Packet" +msgstr "" + +#: src/common/text.c:1109 +msgid "Seconds" +msgstr "" + +#: src/common/text.c:1113 +msgid "Nick of person who have been invited" +msgstr "" + +#: src/common/text.c:1120 +msgid "Banmask" +msgstr "" + +#: src/common/text.c:1121 +msgid "Who set the ban" +msgstr "" + +#: src/common/text.c:1122 +msgid "Ban time" +msgstr "" + +#: src/common/text.c:1126 +msgid "Error" +msgstr "Aroke" + +#: src/common/text.c:1160 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default" +msgstr "" + +#: src/common/text.c:1644 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" + +#: src/common/util.c:292 +msgid "Remote host closed socket" +msgstr "" + +#: src/common/util.c:295 +msgid "Connection refused" +msgstr "" + +#: src/common/util.c:298 +msgid "No route to host" +msgstr "" + +#: src/common/util.c:300 +msgid "Connection timed out" +msgstr "" + +#: src/common/util.c:302 +msgid "Cannot assign that address" +msgstr "" + +#: src/common/util.c:304 +msgid "Connection reset by peer" +msgstr "" + +#: src/common/util.c:733 +msgid "Andorra" +msgstr "Andore" + +#: src/common/util.c:734 +msgid "United Arab Emirates" +msgstr "Emirats Arabes Unis" + +#: src/common/util.c:735 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:736 +msgid "Antigua and Barbuda" +msgstr "Antigua eyet Barbuda" + +#: src/common/util.c:737 +msgid "Anguilla" +msgstr "Anguila" + +#: src/common/util.c:738 +msgid "Albania" +msgstr "Albaneye" + +#: src/common/util.c:739 +msgid "Armenia" +msgstr "Årmeneye" + +#: src/common/util.c:740 +msgid "Netherlands Antilles" +msgstr "Antiyes neyerlandesses" + +#: src/common/util.c:741 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:742 +msgid "Antarctica" +msgstr "Antartike" + +#: src/common/util.c:743 +msgid "Argentina" +msgstr "Årdjintene" + +#: src/common/util.c:744 +msgid "Reverse DNS" +msgstr "" + +#: src/common/util.c:745 +msgid "American Samoa" +msgstr "Samowa amerikinne" + +#: src/common/util.c:746 +msgid "Austria" +msgstr "Otriche" + +#: src/common/util.c:747 +msgid "Nato Fiel" +msgstr "" + +#: src/common/util.c:748 +msgid "Australia" +msgstr "Ostraleye" + +#: src/common/util.c:749 +msgid "Aruba" +msgstr "Arouba" + +#: src/common/util.c:750 +msgid "Azerbaijan" +msgstr "Azerbaydjan" + +#: src/common/util.c:751 +msgid "Bosnia and Herzegovina" +msgstr "Bosneye" + +#: src/common/util.c:752 +msgid "Barbados" +msgstr "Bårbades" + +#: src/common/util.c:753 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:754 +msgid "Belgium" +msgstr "Beldjike" + +#: src/common/util.c:755 +msgid "Burkina Faso" +msgstr "Bourkina Fasso" + +#: src/common/util.c:756 +msgid "Bulgaria" +msgstr "Bulgåreye" + +#: src/common/util.c:757 +msgid "Bahrain" +msgstr "Bareyn" + +#: src/common/util.c:758 +msgid "Burundi" +msgstr "Bouroundi" + +#: src/common/util.c:759 +msgid "Businesses" +msgstr "" + +#: src/common/util.c:760 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:761 +msgid "Bermuda" +msgstr "Bermudes" + +#: src/common/util.c:762 +msgid "Brunei Darussalam" +msgstr "Bruney" + +#: src/common/util.c:763 +msgid "Bolivia" +msgstr "Boliveye" + +#: src/common/util.c:764 +msgid "Brazil" +msgstr "Braezi" + +#: src/common/util.c:765 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:766 +msgid "Bhutan" +msgstr "Boutan" + +#: src/common/util.c:767 +msgid "Bouvet Island" +msgstr "Iye Bouvet" + +#: src/common/util.c:768 +msgid "Botswana" +msgstr "Boswana" + +#: src/common/util.c:769 +msgid "Belarus" +msgstr "Belaruss" + +#: src/common/util.c:770 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:771 +msgid "Canada" +msgstr "Canada" + +#: src/common/util.c:772 +msgid "Cocos Islands" +msgstr "Iyes Cocos" + +#: src/common/util.c:773 +msgid "Central African Republic" +msgstr "Cintrafrike" + +#: src/common/util.c:774 +msgid "Congo" +msgstr "Congo" + +#: src/common/util.c:775 +msgid "Switzerland" +msgstr "Swisse" + +#: src/common/util.c:776 +msgid "Cote D'ivoire" +msgstr "Coisse d' Ivwere" + +#: src/common/util.c:777 +msgid "Cook Islands" +msgstr "Iyes Cook" + +#: src/common/util.c:778 +msgid "Chile" +msgstr "Tchili" + +#: src/common/util.c:779 +msgid "Cameroon" +msgstr "Camrone" + +#: src/common/util.c:780 +msgid "China" +msgstr "Chine" + +#: src/common/util.c:781 +msgid "Colombia" +msgstr "Colombeye" + +#: src/common/util.c:782 +msgid "Internic Commercial" +msgstr "" + +#: src/common/util.c:783 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:784 +msgid "Former Czechoslovakia" +msgstr "Tchecoslovakeye" + +#: src/common/util.c:785 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:786 +msgid "Cape Verde" +msgstr "Cap Vert" + +#: src/common/util.c:787 +msgid "Christmas Island" +msgstr "Iye Christmas" + +#: src/common/util.c:788 +msgid "Cyprus" +msgstr "Chipe" + +#: src/common/util.c:789 +msgid "Czech Republic" +msgstr "Tchekeye" + +#: src/common/util.c:790 +msgid "Germany" +msgstr "Almagne" + +#: src/common/util.c:791 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:792 +msgid "Denmark" +msgstr "Daenmåtche" + +#: src/common/util.c:793 +msgid "Dominica" +msgstr "Dominike" + +#: src/common/util.c:794 +msgid "Dominican Republic" +msgstr "Republike Dominikinne" + +#: src/common/util.c:795 +msgid "Algeria" +msgstr "Aldjereye" + +#: src/common/util.c:796 +msgid "Ecuador" +msgstr "Ecwåteur" + +#: src/common/util.c:797 +msgid "Educational Institution" +msgstr "" + +#: src/common/util.c:798 +msgid "Estonia" +msgstr "Estoneye" + +#: src/common/util.c:799 +msgid "Egypt" +msgstr "Edjipe" + +#: src/common/util.c:800 +msgid "Western Sahara" +msgstr "Sara Coûtchantrece" + +#: src/common/util.c:801 +msgid "Eritrea" +msgstr "Eritrêye" + +#: src/common/util.c:802 +msgid "Spain" +msgstr "Espagne" + +#: src/common/util.c:803 +msgid "Ethiopia" +msgstr "Etiopeye" + +#: src/common/util.c:804 +msgid "Finland" +msgstr "Finlande" + +#: src/common/util.c:805 +msgid "Fiji" +msgstr "Fidji" + +#: src/common/util.c:806 +msgid "Falkland Islands" +msgstr "Iyes Malouwines" + +#: src/common/util.c:807 +msgid "Micronesia" +msgstr "Micronezeye" + +#: src/common/util.c:808 +msgid "Faroe Islands" +msgstr "Iyes Faeroyé" + +#: src/common/util.c:809 +msgid "France" +msgstr "France" + +#: src/common/util.c:810 +msgid "France, Metropolitan" +msgstr "France, metropolitinne" + +#: src/common/util.c:811 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:812 +msgid "Great Britain" +msgstr "Grande Burtaegne" + +#: src/common/util.c:813 +msgid "Grenada" +msgstr "Grenåde" + +#: src/common/util.c:814 +msgid "Georgia" +msgstr "Djeyordjeye" + +#: src/common/util.c:815 +msgid "French Guiana" +msgstr "Guyane francesse" + +#: src/common/util.c:816 +msgid "British Channel Isles" +msgstr "Iyes anglo-normandes" + +#: src/common/util.c:817 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:818 +msgid "Gibraltar" +msgstr "Djibraltar" + +#: src/common/util.c:819 +msgid "Greenland" +msgstr "Groenlande" + +#: src/common/util.c:820 +msgid "Gambia" +msgstr "Gambeye" + +#: src/common/util.c:821 +msgid "Guinea" +msgstr "Guinêye" + +#: src/common/util.c:822 +msgid "Government" +msgstr "Govienmint US" + +#: src/common/util.c:823 +msgid "Guadeloupe" +msgstr "Gwadeloupe" + +#: src/common/util.c:824 +msgid "Equatorial Guinea" +msgstr "Guinêye Ecwåtoriåle" + +#: src/common/util.c:825 +msgid "Greece" +msgstr "Grece" + +#: src/common/util.c:826 +msgid "S. Georgia and S. Sandwich Isles." +msgstr "Iyes Sandwitch do sud" + +#: src/common/util.c:827 +msgid "Guatemala" +msgstr "Gwatemala" + +#: src/common/util.c:828 +msgid "Guam" +msgstr "Gwam" + +#: src/common/util.c:829 +msgid "Guinea-Bissau" +msgstr "Guinêye-Bissaw" + +#: src/common/util.c:830 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:831 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:832 +msgid "Heard and McDonald Islands" +msgstr "" + +#: src/common/util.c:833 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:834 +msgid "Croatia" +msgstr "Crowåceye" + +#: src/common/util.c:835 +msgid "Haiti" +msgstr "Hayiti" + +#: src/common/util.c:836 +msgid "Hungary" +msgstr "Hongreye" + +#: src/common/util.c:837 +msgid "Indonesia" +msgstr "Indonezeye" + +#: src/common/util.c:838 +msgid "Ireland" +msgstr "Irlande" + +#: src/common/util.c:839 +msgid "Israel" +msgstr "Israyel" + +#: src/common/util.c:840 +msgid "India" +msgstr "Inde" + +#: src/common/util.c:841 +msgid "Informational" +msgstr "" + +#: src/common/util.c:842 +msgid "International" +msgstr "Eternåcionå" + +#: src/common/util.c:843 +msgid "British Indian Ocean Territory" +msgstr "Teritweres britanikes di l' Oceyan Indyin" + +#: src/common/util.c:844 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:845 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:846 +msgid "Iceland" +msgstr "Izlande" + +#: src/common/util.c:847 +msgid "Italy" +msgstr "Itåleye" + +#: src/common/util.c:848 +msgid "Jamaica" +msgstr "Djamayike" + +#: src/common/util.c:849 +msgid "Jordan" +msgstr "Djordaneye" + +#: src/common/util.c:850 +msgid "Japan" +msgstr "Djapon" + +#: src/common/util.c:851 +msgid "Kenya" +msgstr "Kenia" + +#: src/common/util.c:852 +msgid "Kyrgyzstan" +msgstr "Kirguiztan" + +#: src/common/util.c:853 +msgid "Cambodia" +msgstr "Cambodje" + +#: src/common/util.c:854 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:855 +msgid "Comoros" +msgstr "Comores" + +#: src/common/util.c:856 +msgid "St. Kitts and Nevis" +msgstr "" + +#: src/common/util.c:857 +msgid "North Korea" +msgstr "Corêye (bijhe)" + +#: src/common/util.c:858 +msgid "South Korea" +msgstr "Corêye (nonne)" + +#: src/common/util.c:859 +msgid "Kuwait" +msgstr "Kuweyt" + +#: src/common/util.c:860 +msgid "Cayman Islands" +msgstr "Iyes Cayman" + +#: src/common/util.c:861 +msgid "Kazakhstan" +msgstr "Kazaxhtan" + +#: src/common/util.c:862 +msgid "Laos" +msgstr "Lawosse" + +#: src/common/util.c:863 +msgid "Lebanon" +msgstr "Liban" + +#: src/common/util.c:864 +msgid "Saint Lucia" +msgstr "" + +#: src/common/util.c:865 +msgid "Liechtenstein" +msgstr "Lîchtensteyn" + +#: src/common/util.c:866 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:867 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:868 +msgid "Lesotho" +msgstr "Lessoto" + +#: src/common/util.c:869 +msgid "Lithuania" +msgstr "Litwaneye" + +#: src/common/util.c:870 +msgid "Luxembourg" +msgstr "Lussimbork" + +#: src/common/util.c:871 +msgid "Latvia" +msgstr "Letoneye" + +#: src/common/util.c:872 +msgid "Libya" +msgstr "Libeye" + +#: src/common/util.c:873 +msgid "Morocco" +msgstr "Marok" + +#: src/common/util.c:874 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:875 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:876 +msgid "United States Medical" +msgstr "" + +#: src/common/util.c:877 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:878 +msgid "Marshall Islands" +msgstr "Iyes Marshall" + +#: src/common/util.c:879 +msgid "Military" +msgstr "" + +#: src/common/util.c:880 +msgid "Macedonia" +msgstr "Macedoneye" + +#: src/common/util.c:881 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:882 +msgid "Myanmar" +msgstr "Birmaneye" + +#: src/common/util.c:883 +msgid "Mongolia" +msgstr "Mongoleye" + +#: src/common/util.c:884 +msgid "Macau" +msgstr "" + +#: src/common/util.c:885 +msgid "Northern Mariana Islands" +msgstr "Iyes Marianes bijhreces" + +#: src/common/util.c:886 +msgid "Martinique" +msgstr "Martinike" + +#: src/common/util.c:887 +msgid "Mauritania" +msgstr "Moritanreye" + +#: src/common/util.c:888 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:889 +msgid "Malta" +msgstr "Male" + +#: src/common/util.c:890 +msgid "Mauritius" +msgstr "Iye Môrice" + +#: src/common/util.c:891 +msgid "Maldives" +msgstr "Maldives" + +#: src/common/util.c:892 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:893 +msgid "Mexico" +msgstr "Mecsike" + +#: src/common/util.c:894 +msgid "Malaysia" +msgstr "Malaizeye" + +#: src/common/util.c:895 +msgid "Mozambique" +msgstr "Mozambike" + +#: src/common/util.c:896 +msgid "Namibia" +msgstr "Namibeye" + +#: src/common/util.c:897 +msgid "New Caledonia" +msgstr "Nouve Caledonreye" + +#: src/common/util.c:898 +msgid "Niger" +msgstr "Nidjer" + +#: src/common/util.c:899 +msgid "Internic Network" +msgstr "" + +#: src/common/util.c:900 +msgid "Norfolk Island" +msgstr "Iye Norfolk" + +#: src/common/util.c:901 +msgid "Nigeria" +msgstr "Nidjeria" + +#: src/common/util.c:902 +msgid "Nicaragua" +msgstr "Nicaragwa" + +#: src/common/util.c:903 +msgid "Netherlands" +msgstr "Bas Payis" + +#: src/common/util.c:904 +msgid "Norway" +msgstr "Norvedje" + +#: src/common/util.c:905 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:906 +msgid "Nauru" +msgstr "Nawouro" + +#: src/common/util.c:907 +msgid "Neutral Zone" +msgstr "" + +#: src/common/util.c:908 +msgid "Niue" +msgstr "Niuwé" + +#: src/common/util.c:909 +msgid "New Zealand" +msgstr "Nouve Zelande" + +#: src/common/util.c:910 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:911 +msgid "Internic Non-Profit Organization" +msgstr "" + +#: src/common/util.c:912 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:913 +msgid "Peru" +msgstr "Perou" + +#: src/common/util.c:914 +msgid "French Polynesia" +msgstr "Polinezeye francesse" + +#: src/common/util.c:915 +msgid "Papua New Guinea" +msgstr "Papouwazeye Nouve Guinêye" + +#: src/common/util.c:916 +msgid "Philippines" +msgstr "Filipenes" + +#: src/common/util.c:917 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:918 +msgid "Poland" +msgstr "Pologne" + +#: src/common/util.c:919 +msgid "St. Pierre and Miquelon" +msgstr "" + +#: src/common/util.c:920 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:921 +msgid "Puerto Rico" +msgstr "Porto Rico" + +#: src/common/util.c:922 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:923 +msgid "Palau" +msgstr "Palawou" + +#: src/common/util.c:924 +msgid "Paraguay" +msgstr "Paragway" + +#: src/common/util.c:925 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:926 +msgid "Reunion" +msgstr "Reyunion" + +#: src/common/util.c:927 +msgid "Romania" +msgstr "Roumaneye" + +#: src/common/util.c:928 +msgid "Old School ARPAnet" +msgstr "" + +#: src/common/util.c:929 +msgid "Russian Federation" +msgstr "Rûsseye" + +#: src/common/util.c:930 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:931 +msgid "Saudi Arabia" +msgstr "Arabeye Sawoudite" + +#: src/common/util.c:932 +msgid "Solomon Islands" +msgstr "Iyes Solomon" + +#: src/common/util.c:933 +msgid "Seychelles" +msgstr "Seycheles" + +#: src/common/util.c:934 +msgid "Sudan" +msgstr "Soudan" + +#: src/common/util.c:935 +msgid "Sweden" +msgstr "Suwede" + +#: src/common/util.c:936 +msgid "Singapore" +msgstr "Singapour" + +#: src/common/util.c:937 +msgid "St. Helena" +msgstr "Sinte Helene" + +#: src/common/util.c:938 +msgid "Slovenia" +msgstr "Esloveneye" + +#: src/common/util.c:939 +msgid "Svalbard and Jan Mayen Islands" +msgstr "" + +#: src/common/util.c:940 +msgid "Slovak Republic" +msgstr "Eslovakeye" + +#: src/common/util.c:941 +msgid "Sierra Leone" +msgstr "Siera Leyone" + +#: src/common/util.c:942 +msgid "San Marino" +msgstr "Sint Marin" + +#: src/common/util.c:943 +msgid "Senegal" +msgstr "Senegål" + +#: src/common/util.c:944 +msgid "Somalia" +msgstr "Somaleye" + +#: src/common/util.c:945 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:946 +msgid "Sao Tome and Principe" +msgstr "São Tomé et Prince" + +#: src/common/util.c:947 +msgid "Former USSR" +msgstr "Ancyinne Union Sovietike" + +#: src/common/util.c:948 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:949 +msgid "Syria" +msgstr "Sireye" + +#: src/common/util.c:950 +msgid "Swaziland" +msgstr "Suwazilande" + +#: src/common/util.c:951 +msgid "Turks and Caicos Islands" +msgstr "" + +#: src/common/util.c:952 +msgid "Chad" +msgstr "Tchad" + +#: src/common/util.c:953 +msgid "French Southern Territories" +msgstr "" + +#: src/common/util.c:954 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:955 +msgid "Thailand" +msgstr "Taylande" + +#: src/common/util.c:956 +msgid "Tajikistan" +msgstr "Tadjikistan" + +#: src/common/util.c:957 +msgid "Tokelau" +msgstr "" + +#: src/common/util.c:958 +msgid "Turkmenistan" +msgstr "Turcmenistan" + +#: src/common/util.c:959 +msgid "Tunisia" +msgstr "Tunizeye" + +#: src/common/util.c:960 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:961 +msgid "East Timor" +msgstr "Timor Ess" + +#: src/common/util.c:962 +msgid "Turkey" +msgstr "Turkeye" + +#: src/common/util.c:963 +msgid "Trinidad and Tobago" +msgstr "Trinité et Tobago" + +#: src/common/util.c:964 +msgid "Tuvalu" +msgstr "Touvalou" + +#: src/common/util.c:965 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:966 +msgid "Tanzania" +msgstr "Tanzaneye" + +#: src/common/util.c:967 +msgid "Ukraine" +msgstr "Oucrinne" + +#: src/common/util.c:968 +msgid "Uganda" +msgstr "Ouganda" + +#: src/common/util.c:969 +msgid "United Kingdom" +msgstr "Rweyåme Uni" + +#: src/common/util.c:970 +msgid "US Minor Outlying Islands" +msgstr "" + +#: src/common/util.c:971 +msgid "United States of America" +msgstr "Estats Unis d' Amerike" + +#: src/common/util.c:972 +msgid "Uruguay" +msgstr "Ourougway" + +#: src/common/util.c:973 +msgid "Uzbekistan" +msgstr "Ouzbekistan" + +#: src/common/util.c:974 +msgid "Vatican City State" +msgstr "Vatican" + +#: src/common/util.c:975 +msgid "St. Vincent and the grenadines" +msgstr "" + +#: src/common/util.c:976 +msgid "Venezuela" +msgstr "Venezwela" + +#: src/common/util.c:977 +msgid "British Virgin Islands" +msgstr "" + +#: src/common/util.c:978 +msgid "US Virgin Islands" +msgstr "" + +#: src/common/util.c:979 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:980 +msgid "Vanuatu" +msgstr "Vanouatou" + +#: src/common/util.c:981 +msgid "Wallis and Futuna Islands" +msgstr "" + +#: src/common/util.c:982 +msgid "Samoa" +msgstr "Samowa" + +#: src/common/util.c:983 +msgid "Yemen" +msgstr "Yemen" + +#: src/common/util.c:984 +msgid "Mayotte" +msgstr "Mayote" + +#: src/common/util.c:985 +msgid "Yugoslavia" +msgstr "Yougoslaveye" + +#: src/common/util.c:986 +msgid "South Africa" +msgstr "Nonne Afrike" + +#: src/common/util.c:987 +msgid "Zambia" +msgstr "Zambeye" + +#: src/common/util.c:988 +msgid "Zaire" +msgstr "Zayire" + +#: src/common/util.c:989 +msgid "Zimbabwe" +msgstr "Zimbabwè" + +#: src/common/util.c:995 src/common/util.c:1005 src/fe-gtk/menu.c:503 +#: src/fe-gtk/menu.c:507 src/fe-gtk/menu.c:511 src/fe-gtk/menu.c:515 +#: src/fe-gtk/menu.c:519 +msgid "Unknown" +msgstr "Nén cnoxhou" + +#: src/common/xchat.c:908 +msgid "Direct client-to-client" +msgstr "" + +#: src/common/xchat.c:909 +msgid "Send File" +msgstr "Evoyî fitchî" + +#: src/common/xchat.c:910 +msgid "Offer Chat" +msgstr "" + +#: src/common/xchat.c:911 +msgid "Abort Chat" +msgstr "" + +#: src/common/xchat.c:912 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "Modêye" + +#: src/common/xchat.c:913 +msgid "Userinfo" +msgstr "InfoUzeu" + +#: src/common/xchat.c:914 +msgid "Clientinfo" +msgstr "InfoCliyint" + +#: src/common/xchat.c:915 src/common/xchat.c:947 src/common/xchat.c:997 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:916 +msgid "Time" +msgstr "Eure" + +#: src/common/xchat.c:917 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:918 +msgid "Oper" +msgstr "" + +#: src/common/xchat.c:919 +msgid "Kill this user" +msgstr "Touwer cist uzeu la" + +#: src/common/xchat.c:920 +msgid "Mode" +msgstr "Môde" + +#: src/common/xchat.c:921 +msgid "Give Voice" +msgstr "" + +#: src/common/xchat.c:922 +msgid "Take Voice" +msgstr "" + +#: src/common/xchat.c:923 +msgid "Give Ops" +msgstr "" + +#: src/common/xchat.c:924 +msgid "Take Ops" +msgstr "" + +#: src/common/xchat.c:925 +msgid "Ignore" +msgstr "" + +#: src/common/xchat.c:926 +msgid "Ignore User" +msgstr "" + +#: src/common/xchat.c:927 +msgid "UnIgnore User" +msgstr "" + +#: src/common/xchat.c:928 +msgid "Kick/Ban" +msgstr "" + +#: src/common/xchat.c:929 src/common/xchat.c:981 +msgid "Kick" +msgstr "" + +#: src/common/xchat.c:930 src/common/xchat.c:931 src/common/xchat.c:932 +#: src/common/xchat.c:933 src/common/xchat.c:934 src/common/xchat.c:980 +msgid "Ban" +msgstr "" + +#: src/common/xchat.c:935 src/common/xchat.c:936 src/common/xchat.c:937 +#: src/common/xchat.c:938 +msgid "KickBan" +msgstr "" + +#: src/common/xchat.c:939 src/fe-gtk/dccgui.c:528 src/fe-gtk/dccgui.c:669 +msgid "Info" +msgstr "Informåcion" + +#: src/common/xchat.c:940 +msgid "Who" +msgstr "" + +#: src/common/xchat.c:941 src/common/xchat.c:994 +msgid "WhoIs" +msgstr "" + +#: src/common/xchat.c:942 +msgid "DNS Lookup" +msgstr "Cweraedje DNS" + +#: src/common/xchat.c:943 +msgid "Trace" +msgstr "" + +#: src/common/xchat.c:944 +msgid "UserHost" +msgstr "LodjoeUzeu" + +#: src/common/xchat.c:945 +msgid "External" +msgstr "Difoûtrin" + +#: src/common/xchat.c:946 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:948 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:949 +msgid "Open Dialog Window" +msgstr "" + +#: src/common/xchat.c:961 +msgid "Disconnect" +msgstr "Disraloyî" + +#: src/common/xchat.c:962 +msgid "Reconnect" +msgstr "Riraloyî" + +#: src/common/xchat.c:963 +msgid "Leave Channel" +msgstr "Cwiter l' canå" + +#: src/common/xchat.c:964 +msgid "Join Channel..." +msgstr "Adjonde li canå..." + +#: src/common/xchat.c:965 +msgid "Enter Channel to Join:" +msgstr "Tapez l' canå a-z adjonde:" + +#: src/common/xchat.c:966 +msgid "Server Links" +msgstr "" + +#: src/common/xchat.c:967 +msgid "Ping Server" +msgstr "" + +#: src/common/xchat.c:968 +msgid "Hide Version" +msgstr "Catchî l' modêye" + +#: src/common/xchat.c:978 +msgid "Op" +msgstr "" + +#: src/common/xchat.c:979 +msgid "DeOp" +msgstr "" + +#: src/common/xchat.c:982 +msgid "bye" +msgstr "" + +#: src/common/xchat.c:983 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "" + +#: src/common/xchat.c:984 +msgid "Sendfile" +msgstr "" + +#: src/common/xchat.c:985 +msgid "Dialog" +msgstr "" + +#: src/common/xchat.c:995 +msgid "Send" +msgstr "Evoyî" + +#: src/common/xchat.c:996 +msgid "Chat" +msgstr "Tchater" + +#: src/common/xchat.c:998 src/fe-gtk/banlist.c:314 src/fe-gtk/search.c:117 +#: src/fe-gtk/urlgrab.c:200 +msgid "Clear" +msgstr "Netyî" + +#: src/fe-gtk/about.c:102 +msgid "About X-Chat" +msgstr "Å dfait di X-Chat" + +#: src/fe-gtk/about.c:124 +msgid "A multiplatform IRC Client" +msgstr "On cliyint IRC multi-platfômes" + +#: src/fe-gtk/ascii.c:131 +msgid "Character Chart" +msgstr "Tåvlea di caracteres" + +#: src/fe-gtk/banlist.c:148 src/fe-gtk/banlist.c:232 +msgid "You must select some bans." +msgstr "" + +#: src/fe-gtk/banlist.c:248 src/fe-gtk/ignoregui.c:174 +msgid "Mask" +msgstr "" + +#: src/fe-gtk/banlist.c:249 src/fe-gtk/dccgui.c:485 +msgid "From" +msgstr "Di" + +#: src/fe-gtk/banlist.c:250 +msgid "Date" +msgstr "Date" + +#: src/fe-gtk/banlist.c:294 +#, c-format +msgid "X-Chat: Ban List (%s)" +msgstr "" + +#: src/fe-gtk/banlist.c:310 +msgid "Unban" +msgstr "" + +#: src/fe-gtk/banlist.c:312 +msgid "Crop" +msgstr "" + +#: src/fe-gtk/banlist.c:316 +msgid "Refresh" +msgstr "Rafrister" + +#: src/fe-gtk/chanlist.c:120 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "Sitatistikes uzeu et canås: %d/%d uzeus so %d/%d canås" + +#: src/fe-gtk/chanlist.c:536 +msgid "I can't save an empty list!" +msgstr "Dji n' sai schaper ene vude djivêye!" + +#: src/fe-gtk/chanlist.c:539 src/fe-gtk/menu.c:931 +msgid "Select an output filename" +msgstr "Tchoezixhoz on fitchî pol rexhowe" + +#: src/fe-gtk/chanlist.c:607 +#, c-format +msgid "X-Chat: Channel List (%s)" +msgstr "X-Chat: Djivêye des canås (%s)" + +#: src/fe-gtk/chanlist.c:622 +msgid "List display options:" +msgstr "Tchuzes pol håynaedje del djivêye:" + +#: src/fe-gtk/chanlist.c:634 +msgid "Minimum Users:" +msgstr "Uzeus minimom:" + +#: src/fe-gtk/chanlist.c:649 +msgid "Maximum Users:" +msgstr "Uzeus macsimom:" + +#: src/fe-gtk/chanlist.c:664 +msgid "Regex Match:" +msgstr "Patron regex:" + +#: src/fe-gtk/chanlist.c:685 +msgid "Apply Match to:" +msgstr "" + +#: src/fe-gtk/chanlist.c:709 +msgid "Apply" +msgstr "Mete en ouve" + +#: src/fe-gtk/chanlist.c:751 +msgid "Refresh the list" +msgstr "Rafrister l' djivêye" + +#: src/fe-gtk/chanlist.c:753 +msgid "Save the list" +msgstr "Schaper l' djivêye" + +#: src/fe-gtk/chanlist.c:755 src/fe-gtk/menu.c:739 +msgid "Join Channel" +msgstr "Adjonde li canå" + +#: src/fe-gtk/dccgui.c:126 +#, c-format +msgid "Send file to %s" +msgstr "Evoyî fitchî a %s" + +#: src/fe-gtk/dccgui.c:339 +#, c-format +msgid "" +" File: %s\n" +" To/From: %s\n" +" Size: %u\n" +" Port: %d\n" +" IP Number: %s\n" +"Start Time: %s Max CPS: %d\n" +msgstr "" +" Fitchî: %s\n" +" Po/Di: %s\n" +" Grandeu: %u\n" +" Pôrt: %d\n" +" Adresse IP: %s\n" +"Eure di cmince: %s o/s macs: %d\n" + +#: src/fe-gtk/dccgui.c:372 +msgid "That file is not resumable." +msgstr "" + +#: src/fe-gtk/dccgui.c:376 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:383 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:387 +msgid "Cannot resume the same file from two people." +msgstr "" + +#: src/fe-gtk/dccgui.c:474 +msgid "MIME Type" +msgstr "Sôre MIME" + +#: src/fe-gtk/dccgui.c:480 src/fe-gtk/dccgui.c:630 src/fe-gtk/dccgui.c:753 +#: src/fe-gtk/notifygui.c:110 +msgid "Status" +msgstr "Estat" + +#: src/fe-gtk/dccgui.c:481 src/fe-gtk/dccgui.c:631 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "Fitchî" + +#: src/fe-gtk/dccgui.c:484 src/fe-gtk/dccgui.c:635 +msgid "ETA" +msgstr "" + +#: src/fe-gtk/dccgui.c:494 +msgid "X-Chat: File Receive List" +msgstr "" + +#: src/fe-gtk/dccgui.c:522 src/fe-gtk/dccgui.c:668 src/fe-gtk/dccgui.c:783 +msgid "Abort" +msgstr "Rinoncî" + +#: src/fe-gtk/dccgui.c:524 src/fe-gtk/dccgui.c:784 +msgid "Accept" +msgstr "Accepter" + +#: src/fe-gtk/dccgui.c:526 +msgid "Resume" +msgstr "Rataker" + +#: src/fe-gtk/dccgui.c:530 +msgid "Open" +msgstr "Drovi" + +#: src/fe-gtk/dccgui.c:634 +msgid "Ack" +msgstr "" + +#: src/fe-gtk/dccgui.c:636 +msgid "To" +msgstr "Po" + +#: src/fe-gtk/dccgui.c:646 +msgid "X-Chat: File Send List" +msgstr "X-Chat: Djivêye des fitchîs a evoyî" + +#: src/fe-gtk/dccgui.c:754 +msgid "To/From" +msgstr "Po/Di" + +#: src/fe-gtk/dccgui.c:755 +msgid "Recv" +msgstr "Riçuv." + +#: src/fe-gtk/dccgui.c:756 +msgid "Sent" +msgstr "Evoyî" + +#: src/fe-gtk/dccgui.c:757 +msgid "StartTime" +msgstr "Eure å cmince" + +#: src/fe-gtk/dccgui.c:767 +msgid "X-Chat: DCC Chat List" +msgstr "" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*NOVEA*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "CANDJÎZ MU" + +#: src/fe-gtk/editlist.c:305 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "No" + +#: src/fe-gtk/editlist.c:306 +msgid "Command" +msgstr "Comande" + +#: src/fe-gtk/editlist.c:333 +msgid "Move Up" +msgstr "Monter" + +#: src/fe-gtk/editlist.c:337 +msgid "Move Dn" +msgstr "Dischinde" + +#: src/fe-gtk/editlist.c:345 +msgid "Cancel" +msgstr "Rinoncî" + +#: src/fe-gtk/editlist.c:349 src/fe-gtk/textgui.c:464 src/fe-gtk/urlgrab.c:204 +msgid "Save" +msgstr "Schaper" + +#: src/fe-gtk/editlist.c:357 +msgid "Add New" +msgstr "Radjouter novea" + +#: src/fe-gtk/editlist.c:361 src/fe-gtk/fkeys.c:746 src/fe-gtk/ignoregui.c:378 +msgid "Delete" +msgstr "Disfacer" + +#: src/fe-gtk/editlist.c:369 +msgid "Sort" +msgstr "Relére" + +#: src/fe-gtk/editlist.c:373 +msgid "Help" +msgstr "Aidance" + +#: src/fe-gtk/fe-gtk.c:143 +msgid "Options" +msgstr "Tchuzes" + +#: src/fe-gtk/fe-gtk.c:144 +msgid "DIRECTORY" +msgstr "RIDANT" + +#: src/fe-gtk/fe-gtk.c:145 +msgid "use a different config dir" +msgstr "eployî on ridant d' apontiaedje diferin" + +#: src/fe-gtk/fe-gtk.c:146 +msgid "don't auto connect" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:147 +msgid "don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:148 +msgid "show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:214 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:614 +msgid "Search buffer is empty.\n" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:691 +#, c-format +msgid "%d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Scroll Page command scrolls the text widget up or down one page. If Data 1 is set to anything the page scrolls up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:171 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command moves the front tab left by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command moves the front tab right by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command moves the current tab family to the left" +msgstr "" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the current tab family to the right" +msgstr "" + +#: src/fe-gtk/fkeys.c:181 +msgid "Push input line into history but doesn't send to server" +msgstr "" + +#: src/fe-gtk/fkeys.c:193 +msgid "There was an error loading key bindings configuration" +msgstr "" + +#: src/fe-gtk/fkeys.c:434 src/fe-gtk/fkeys.c:435 src/fe-gtk/fkeys.c:436 +#: src/fe-gtk/fkeys.c:437 src/fe-gtk/fkeys.c:719 src/fe-gtk/fkeys.c:725 +#: src/fe-gtk/fkeys.c:730 src/fe-gtk/maingui.c:804 src/fe-gtk/maingui.c:825 +#: src/fe-gtk/maingui.c:979 src/fe-gtk/maingui.c:1018 +#: src/fe-gtk/maingui.c:2360 +msgid "<none>" +msgstr "<nouk>" + +#: src/fe-gtk/fkeys.c:683 +msgid "Mod" +msgstr "" + +#: src/fe-gtk/fkeys.c:684 src/fe-gtk/fkeys.c:779 +msgid "Key" +msgstr "Tape" + +#: src/fe-gtk/fkeys.c:685 +msgid "Action" +msgstr "Accion" + +#: src/fe-gtk/fkeys.c:694 +msgid "X-Chat: Edit Key Bindings" +msgstr "X-Chat: Candjî les tapes rascourtis" + +#: src/fe-gtk/fkeys.c:741 +msgid "Add new" +msgstr "Radjouter novea" + +#: src/fe-gtk/fkeys.c:772 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:774 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:776 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:783 +msgid "Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:786 +msgid "Data 2" +msgstr "" + +#: src/fe-gtk/fkeys.c:829 +msgid "Error opening keys config file\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1000 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"Li no d' tape «%s» dins l' fitchî d' apontiaedje n' est nén cnoxhou\n" +"Dji rnonce a tcherdjî, coridjîz %s/keybindings.conf s' i vs plait\n" + +#: src/fe-gtk/fkeys.c:1038 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1059 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" + +#: src/fe-gtk/fkeys.c:1128 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" + +#: src/fe-gtk/gtkutil.c:146 +msgid "Cannot write to that file." +msgstr "Dji n' sai scrire dins ç' fitchî la." + +#: src/fe-gtk/gtkutil.c:148 +msgid "Cannot read that file." +msgstr "Dji n' sai lére ci fitchî la." + +#: src/fe-gtk/ignoregui.c:116 src/fe-gtk/ignoregui.c:279 +msgid "That mask already exists." +msgstr "" + +#: src/fe-gtk/ignoregui.c:176 src/fe-gtk/maingui.c:1473 +msgid "Private" +msgstr "Privé" + +#: src/fe-gtk/ignoregui.c:177 +msgid "Notice" +msgstr "" + +#: src/fe-gtk/ignoregui.c:178 +msgid "CTCP" +msgstr "" + +#: src/fe-gtk/ignoregui.c:179 +msgid "DCC" +msgstr "" + +#: src/fe-gtk/ignoregui.c:180 +msgid "Invite" +msgstr "Priyî" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Unignore" +msgstr "" + +#: src/fe-gtk/ignoregui.c:299 +msgid "Enter mask to ignore:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:346 +msgid "X-Chat: Ignore list" +msgstr "X-Chat: Djivêye a ignorer" + +#: src/fe-gtk/ignoregui.c:353 +msgid "Ignore Stats:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Channel:" +msgstr "Canå:" + +#: src/fe-gtk/ignoregui.c:362 +msgid "Private:" +msgstr "Privé:" + +#: src/fe-gtk/ignoregui.c:363 +msgid "Notice:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:364 +msgid "CTCP:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:365 +msgid "Invite:" +msgstr "Priyî:" + +#: src/fe-gtk/ignoregui.c:376 src/fe-gtk/menu.c:1236 +msgid "New" +msgstr "Novea" + +#: src/fe-gtk/ignoregui.c:380 +msgid "Delete All" +msgstr "Disfacer ttafwait" + +#: src/fe-gtk/maingui.c:477 +#, c-format +msgid "Topic for %s is: %s" +msgstr "" + +#: src/fe-gtk/maingui.c:481 +msgid "No topic is set" +msgstr "" + +#: src/fe-gtk/maingui.c:878 +msgid "No other tabs open, quit xchat?" +msgstr "" + +#: src/fe-gtk/maingui.c:924 +msgid "Insert color code" +msgstr "" + +#: src/fe-gtk/maingui.c:966 src/fe-gtk/menu.c:1258 +msgid "Close Tab" +msgstr "" + +#: src/fe-gtk/maingui.c:969 src/fe-gtk/menu.c:1388 +msgid "Detach Tab" +msgstr "" + +#: src/fe-gtk/maingui.c:984 +msgid "Beep on message" +msgstr "" + +#: src/fe-gtk/maingui.c:987 +msgid "Show join/part messages" +msgstr "" + +#: src/fe-gtk/maingui.c:989 +msgid "Color paste" +msgstr "" + +#: src/fe-gtk/maingui.c:999 +msgid "Go to" +msgstr "Potchî a" + +#: src/fe-gtk/maingui.c:1191 +msgid "Some file transfers still active, quit xchat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1341 src/fe-gtk/maingui.c:1447 +msgid "User limit must be a number!\n" +msgstr "" + +#: src/fe-gtk/maingui.c:1469 +msgid "Topic Protection" +msgstr "" + +#: src/fe-gtk/maingui.c:1470 +msgid "No outside messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1471 +msgid "Secret" +msgstr "Sicret" + +#: src/fe-gtk/maingui.c:1472 +msgid "Invite Only" +msgstr "" + +#: src/fe-gtk/maingui.c:1474 +msgid "Moderated" +msgstr "" + +#: src/fe-gtk/maingui.c:1475 +msgid "Ban List" +msgstr "" + +#: src/fe-gtk/maingui.c:1477 +msgid "Keyword" +msgstr "" + +#: src/fe-gtk/maingui.c:1489 +msgid "User Limit" +msgstr "" + +#: src/fe-gtk/maingui.c:1505 +msgid "Close this tab/window" +msgstr "" + +#: src/fe-gtk/maingui.c:1602 +msgid "Show/Hide userlist" +msgstr "" + +#: src/fe-gtk/maingui.c:1712 +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 "" + +#: src/fe-gtk/maingui.c:1905 +msgid "Enter new nickname:" +msgstr "" + +#: src/fe-gtk/menu.c:141 +msgid "Host unknown" +msgstr "" + +#: src/fe-gtk/menu.c:502 +#, c-format +msgid "User: %s" +msgstr "Uzeu: %s" + +#: src/fe-gtk/menu.c:506 +#, c-format +msgid "Country: %s" +msgstr "Payis: %s" + +#: src/fe-gtk/menu.c:510 +#, c-format +msgid "Realname: %s" +msgstr "Vraiy no: %s" + +#: src/fe-gtk/menu.c:514 +#, c-format +msgid "Server: %s" +msgstr "Sierveu: %s" + +#: src/fe-gtk/menu.c:518 +#, c-format +msgid "Last Msg: %s" +msgstr "" + +#: src/fe-gtk/menu.c:603 +msgid "Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:604 +msgid "Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:608 +msgid "User List" +msgstr "" + +#: src/fe-gtk/menu.c:611 +msgid "Mode Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:617 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:743 +msgid "Part Channel" +msgstr "" + +#: src/fe-gtk/menu.c:745 +msgid "Cycle Channel" +msgstr "" + +#: src/fe-gtk/menu.c:768 +msgid "X-Chat: User menu" +msgstr "X-Chat: Menu da vosse" + +#: src/fe-gtk/menu.c:777 +msgid "Edit This Menu..." +msgstr "Candjî ç' menu ci..." + +#: src/fe-gtk/menu.c:879 +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 "" + +#: src/fe-gtk/menu.c:1001 +msgid "Settings saved." +msgstr "" + +#: src/fe-gtk/menu.c:1038 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" + +#: src/fe-gtk/menu.c:1053 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" + +#: src/fe-gtk/menu.c:1062 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" + +#: src/fe-gtk/menu.c:1071 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" + +#: src/fe-gtk/menu.c:1081 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of X-Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1090 +msgid "X-Chat: User Defined Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1097 +msgid "X-Chat: Userlist Popup menu" +msgstr "" + +#: src/fe-gtk/menu.c:1104 +msgid "X-Chat: Replace" +msgstr "X-Chat: Replaecî" + +#: src/fe-gtk/menu.c:1111 +msgid "X-Chat: URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1130 +msgid "X-Chat: Userlist buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1137 +msgid "X-Chat: Dialog buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1144 +msgid "X-Chat: CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1232 +msgid "_X-Chat" +msgstr "_X-Chat" + +#: src/fe-gtk/menu.c:1233 +msgid "Server List..." +msgstr "Djivêye des sierveus..." + +#: src/fe-gtk/menu.c:1237 +msgid "Server Tab..." +msgstr "Linwete di sierveu..." + +#: src/fe-gtk/menu.c:1238 +msgid "Channel Tab..." +msgstr "Linwete di canå..." + +#: src/fe-gtk/menu.c:1239 +msgid "Server Window..." +msgstr "" + +#: src/fe-gtk/menu.c:1240 +msgid "Channel Window..." +msgstr "" + +#: src/fe-gtk/menu.c:1245 src/fe-gtk/menu.c:1247 +msgid "Load Plugin or Script..." +msgstr "" + +#: src/fe-gtk/menu.c:1251 +msgid "New Shell Tab..." +msgstr "" + +#: src/fe-gtk/menu.c:1260 +msgid "Quit" +msgstr "Cwiter" + +#: src/fe-gtk/menu.c:1262 +msgid "_IRC" +msgstr "_IRC" + +#: src/fe-gtk/menu.c:1263 +msgid "Invisible" +msgstr "Nén veyåve" + +#: src/fe-gtk/menu.c:1264 +msgid "Receive Wallops" +msgstr "" + +#: src/fe-gtk/menu.c:1265 +msgid "Receive Server Notices" +msgstr "" + +#: src/fe-gtk/menu.c:1267 +msgid "Marked Away" +msgstr "" + +#: src/fe-gtk/menu.c:1269 +msgid "Auto Rejoin when Kicked" +msgstr "" + +#: src/fe-gtk/menu.c:1270 +msgid "Auto Reconnect to Server" +msgstr "" + +#: src/fe-gtk/menu.c:1271 +msgid "Never-give-up ReConnect" +msgstr "" + +#: src/fe-gtk/menu.c:1273 +msgid "Auto Open Dialog Windows" +msgstr "" + +#: src/fe-gtk/menu.c:1274 +msgid "Auto Accept Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1275 +msgid "Auto Accept Files" +msgstr "" + +#: src/fe-gtk/menu.c:1277 +msgid "_Server" +msgstr "_Sierveu" + +#: src/fe-gtk/menu.c:1279 +msgid "S_ettings" +msgstr "A_pontiaedjes" + +#: src/fe-gtk/menu.c:1280 +msgid "Preferences..." +msgstr "Preferinces..." + +#: src/fe-gtk/menu.c:1282 +msgid "Lists" +msgstr "Djivêyes" + +#: src/fe-gtk/menu.c:1283 +msgid "Auto Replace..." +msgstr "" + +#: src/fe-gtk/menu.c:1284 +msgid "CTCP Replies..." +msgstr "" + +#: src/fe-gtk/menu.c:1285 +msgid "Dialog Buttons..." +msgstr "" + +#: src/fe-gtk/menu.c:1286 +msgid "Key Bindings..." +msgstr "" + +#: src/fe-gtk/menu.c:1287 +msgid "Text Events..." +msgstr "" + +#: src/fe-gtk/menu.c:1288 +msgid "URL Handlers..." +msgstr "" + +#: src/fe-gtk/menu.c:1289 +msgid "User Commands..." +msgstr "" + +#: src/fe-gtk/menu.c:1290 +msgid "Userlist Buttons..." +msgstr "" + +#: src/fe-gtk/menu.c:1291 +msgid "Userlist Popup..." +msgstr "" + +#: src/fe-gtk/menu.c:1296 +msgid "Reload Settings" +msgstr "" + +#: src/fe-gtk/menu.c:1298 +msgid "Save Settings now" +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Save Settings on exit" +msgstr "" + +#: src/fe-gtk/menu.c:1302 +msgid "_Window" +msgstr "_Purnea" + +#: src/fe-gtk/menu.c:1303 +msgid "Ban List..." +msgstr "" + +#: src/fe-gtk/menu.c:1304 +msgid "Channel List..." +msgstr "Djivêye des canås..." + +#: src/fe-gtk/menu.c:1305 +msgid "Character Chart..." +msgstr "" + +#: src/fe-gtk/menu.c:1306 +msgid "Direct Chat..." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "File Receive..." +msgstr "" + +#: src/fe-gtk/menu.c:1308 +msgid "File Send..." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Ignore List..." +msgstr "" + +#: src/fe-gtk/menu.c:1310 +msgid "Notify List..." +msgstr "Djivêye di notifiaedje..." + +#: src/fe-gtk/menu.c:1311 +msgid "Plugins and Scripts..." +msgstr "Tchôke-divins eyet scripes..." + +#: src/fe-gtk/menu.c:1312 +msgid "Raw Log..." +msgstr "" + +#: src/fe-gtk/menu.c:1313 +msgid "URL Grabber..." +msgstr "" + +#: src/fe-gtk/menu.c:1315 +msgid "C_lear Text" +msgstr "_Netyî l' tecse" + +#: src/fe-gtk/menu.c:1316 +msgid "Search Text..." +msgstr "Cweri l' tecse..." + +#: src/fe-gtk/menu.c:1317 +msgid "Save Text..." +msgstr "Schaper l' tecse..." + +#: src/fe-gtk/menu.c:1319 +msgid "_Help" +msgstr "_Aidance" + +#: src/fe-gtk/menu.c:1320 +msgid "_Contents" +msgstr "Åd_vins" + +#: src/fe-gtk/menu.c:1321 +msgid "_About" +msgstr "Å _dfait" + +#: src/fe-gtk/menu.c:1390 +msgid "Attach Tab" +msgstr "" + +#: src/fe-gtk/notifygui.c:109 +msgid "User" +msgstr "Uzeu" + +#: src/fe-gtk/notifygui.c:111 +msgid "Server" +msgstr "Sierveu" + +#: src/fe-gtk/notifygui.c:112 +msgid "Last Seen" +msgstr "" + +#: src/fe-gtk/notifygui.c:149 +msgid "Offline" +msgstr "" + +#: src/fe-gtk/notifygui.c:169 +msgid "Never" +msgstr "Måy" + +#: src/fe-gtk/notifygui.c:187 +msgid "Online" +msgstr "" + +#: src/fe-gtk/notifygui.c:277 +msgid "Enter nickname to add:" +msgstr "" + +#: src/fe-gtk/notifygui.c:293 +msgid "X-Chat: Notify List" +msgstr "" + +#: src/fe-gtk/notifygui.c:306 src/fe-gtk/servlistgui.c:712 +msgid "Add" +msgstr "Radjouter" + +#: src/fe-gtk/notifygui.c:308 +msgid "Remove" +msgstr "Oister" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:387 +msgid "Description" +msgstr "Discrijhaedje" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "Tchoezixhoz on tchôke-divins ou on scripe a tcherdjî" + +#: src/fe-gtk/plugingui.c:219 +msgid "X-Chat: Plugins and Scripts" +msgstr "X-Chat: Tchôke-divins eyet scripes" + +#: src/fe-gtk/plugingui.c:225 +msgid "_Load..." +msgstr "_Tcherdjî..." + +#: src/fe-gtk/plugingui.c:228 +msgid "_UnLoad" +msgstr "_Distcherdjî" + +#: src/fe-gtk/plugingui.c:232 +msgid "_Close" +msgstr "_Clôre" + +#: src/fe-gtk/rawlog.c:78 +msgid "Save rawlog" +msgstr "" + +#: src/fe-gtk/rawlog.c:94 +#, c-format +msgid "X-Chat: Rawlog (%s)" +msgstr "" + +#: src/fe-gtk/rawlog.c:123 +msgid "Clear rawlog" +msgstr "" + +#: src/fe-gtk/rawlog.c:126 +msgid "Save rawlog..." +msgstr "" + +#: src/fe-gtk/search.c:47 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "" + +#: src/fe-gtk/search.c:91 +msgid "X-Chat: Search" +msgstr "X-Chat: Cweraedje" + +#: src/fe-gtk/search.c:100 +msgid "Find:" +msgstr "Trover:" + +#: src/fe-gtk/search.c:114 +msgid "Find" +msgstr "Trover" + +#: src/fe-gtk/search.c:119 +msgid "Close" +msgstr "Clôre" + +#: src/fe-gtk/servlistgui.c:161 +#, c-format +msgid "Settings for %s" +msgstr "Apontiaedjes po %s" + +#: src/fe-gtk/servlistgui.c:202 src/fe-gtk/servlistgui.c:275 +msgid "New Network" +msgstr "Novele rantoele" + +#: src/fe-gtk/servlistgui.c:370 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Voloz vs vormint oister l' rantoele «%s» eyet tos ses sierveus?" + +#: src/fe-gtk/servlistgui.c:407 src/fe-gtk/servlistgui.c:437 +#, c-format +msgid "_Remove \"%s\"" +msgstr "_Oister «%s»" + +#: src/fe-gtk/servlistgui.c:414 +msgid "_Add new server" +msgstr "_Radjouter on novea sierveu" + +#: src/fe-gtk/servlistgui.c:444 +#, c-format +msgid "Move \"%s\" _down" +msgstr "_Monter «%s»" + +#: src/fe-gtk/servlistgui.c:451 +#, c-format +msgid "Move \"%s\" _up" +msgstr "_Dischinde «%s»" + +#: src/fe-gtk/servlistgui.c:462 +msgid "_Add new network" +msgstr "_Radjouter ene rantoele" + +#: src/fe-gtk/servlistgui.c:826 +msgid "Global User Info" +msgstr "" + +#: src/fe-gtk/servlistgui.c:834 +msgid "Nick Names:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:853 src/fe-gtk/servlistgui.c:1056 +msgid "User Name:" +msgstr "No d' uzeu:" + +#: src/fe-gtk/servlistgui.c:866 src/fe-gtk/servlistgui.c:1058 +msgid "Real Name:" +msgstr "Vraiy no:" + +#: src/fe-gtk/servlistgui.c:908 +msgid "C_onnect" +msgstr "Ralo_yî" + +#: src/fe-gtk/servlistgui.c:916 +msgid "Connect in a _new tab" +msgstr "Si raloyî en ene _novele linwete" + +#: src/fe-gtk/servlistgui.c:976 +msgid "Servers" +msgstr "Sierveus" + +#: src/fe-gtk/servlistgui.c:1014 +msgid "Character Set:" +msgstr "Ecôdaedje:" + +#: src/fe-gtk/servlistgui.c:1054 +msgid "Nick Name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1059 +msgid "Server Password:" +msgstr "Sicret pol sierveu:" + +#: src/fe-gtk/servlistgui.c:1061 +msgid "Join Channels:" +msgstr "Adjonde canås:" + +#: src/fe-gtk/servlistgui.c:1063 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "Canås a-z adjonde, separés pa des comas, sins nou vude inte di zels!" + +#: src/fe-gtk/servlistgui.c:1064 +msgid "Connect Command:" +msgstr "Comande å raloyaedje:" + +#: src/fe-gtk/servlistgui.c:1066 +msgid "Command to execute after connecting. Can be used to authenticate to NickServ" +msgstr "Comande a-z enonder djusse après l' raloyaedje. Çoula pout esse ene comande po s' otintifyî avou «NickServ» metans" + +#: src/fe-gtk/servlistgui.c:1074 +msgid "Cycle until connected" +msgstr "Continouwer e blouke disk' a s' raloyî" + +#: src/fe-gtk/servlistgui.c:1075 +msgid "Use global user info" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1076 +msgid "Use secure SSL" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1077 +msgid "Auto connect at startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1078 +msgid "Use a proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1079 +msgid "Accept invalid cert." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1088 +msgid "Settings for Selected Network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1128 +msgid "Edit mode" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1135 +msgid "Networks" +msgstr "Rantoeles" + +#: src/fe-gtk/servlistgui.c:1180 +msgid "No server list on startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1207 +msgid "X-Chat: Server List" +msgstr "X-Chat: Djivêye des sierveus" + +#: src/fe-gtk/setup.c:80 +msgid "Font:" +msgstr "Fonte:" + +#: src/fe-gtk/setup.c:81 +msgid "Background image:" +msgstr "" + +#: src/fe-gtk/setup.c:82 +msgid "Time stamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:83 +msgid "See strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:84 +msgid "Time stamp text" +msgstr "" + +#: src/fe-gtk/setup.c:85 +msgid "Transparent background" +msgstr "" + +#: src/fe-gtk/setup.c:86 +msgid "Indent nicks" +msgstr "" + +#: src/fe-gtk/setup.c:87 +msgid "Tint transparency" +msgstr "" + +#: src/fe-gtk/setup.c:88 +msgid "Colored nicks" +msgstr "" + +#: src/fe-gtk/setup.c:89 +msgid "Strip mIRC color" +msgstr "" + +#: src/fe-gtk/setup.c:90 +msgid "Scrollback lines:" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Tint red:" +msgstr "" + +#: src/fe-gtk/setup.c:92 +msgid "Tint green:" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Tint blue:" +msgstr "" + +#: src/fe-gtk/setup.c:99 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Automatic nick completion" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "" + +#: src/fe-gtk/setup.c:102 src/fe-gtk/setup.c:134 +msgid "Use the Text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Nick completion suffix:" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Off" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "Graph" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Info text" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Both" +msgstr "Ambedeus" + +#: src/fe-gtk/setup.c:118 +msgid "A-Z, Ops first" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:120 +msgid "Z-A, Ops last" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:122 +msgid "Unsorted" +msgstr "Nén rélî" + +#: src/fe-gtk/setup.c:128 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Userlist sorted by:" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Double-click command:" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Show hostnames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Userlist buttons enabled" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Resizable userlist" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Track away-status on channels smaller than:" +msgstr "" + +#: src/fe-gtk/setup.c:142 +msgid "Windows" +msgstr "Purneas" + +#: src/fe-gtk/setup.c:143 src/fe-gtk/setup.c:845 +msgid "Tabs" +msgstr "Linwetes" + +#: src/fe-gtk/setup.c:149 +msgid "Bottom" +msgstr "Al valêye" + +#: src/fe-gtk/setup.c:150 +msgid "Top" +msgstr "Al copete" + +#: src/fe-gtk/setup.c:151 +msgid "Left" +msgstr "A hintche" + +#: src/fe-gtk/setup.c:152 +msgid "Right" +msgstr "A droete" + +#: src/fe-gtk/setup.c:153 +msgid "Hidden" +msgstr "Catchî" + +#: src/fe-gtk/setup.c:159 +msgid "Show tabs at:" +msgstr "Mostrer les linwetes:" + +#: src/fe-gtk/setup.c:160 +msgid "Open channels in:" +msgstr "" + +#: src/fe-gtk/setup.c:161 +msgid "Open dialogs in:" +msgstr "" + +#: src/fe-gtk/setup.c:162 +msgid "Open utilities in:" +msgstr "" + +#: src/fe-gtk/setup.c:162 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "" + +#: src/fe-gtk/setup.c:163 +msgid "Open tab for server messages" +msgstr "" + +#: src/fe-gtk/setup.c:164 +msgid "Open tab for server notices" +msgstr "" + +#: src/fe-gtk/setup.c:165 +msgid "Pop new tabs to front" +msgstr "" + +#: src/fe-gtk/setup.c:166 +msgid "Shorten tabs to:" +msgstr "" + +#: src/fe-gtk/setup.c:166 +msgid "letters." +msgstr "" + +#: src/fe-gtk/setup.c:172 +msgid "Download files to:" +msgstr "" + +#: src/fe-gtk/setup.c:173 +msgid "Move completed files to:" +msgstr "" + +#: src/fe-gtk/setup.c:174 +msgid "DCC IP address:" +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "First DCC send port:" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Last DCC send port:" +msgstr "" + +#: src/fe-gtk/setup.c:178 +msgid "(Leave ports at zero for full range)." +msgstr "" + +#: src/fe-gtk/setup.c:179 +msgid "Auto open DCC send list" +msgstr "" + +#: src/fe-gtk/setup.c:180 +msgid "Convert spaces to underscore" +msgstr "" + +#: src/fe-gtk/setup.c:181 +msgid "In filenames, before sending" +msgstr "" + +#: src/fe-gtk/setup.c:182 +msgid "Auto open DCC chat list" +msgstr "" + +#: src/fe-gtk/setup.c:183 +msgid "Save nickname in filenames" +msgstr "" + +#: src/fe-gtk/setup.c:184 +msgid "Auto open DCC receive list" +msgstr "" + +#: src/fe-gtk/setup.c:185 +msgid "Get my IP from IRC server" +msgstr "" + +#: src/fe-gtk/setup.c:186 +msgid "/WHOIS yourself to find your real address. Use this if you have a 192.168.*.* address!" +msgstr "" + +#: src/fe-gtk/setup.c:187 +msgid "Max. send CPS:" +msgstr "" + +#: src/fe-gtk/setup.c:188 src/fe-gtk/setup.c:190 +msgid "Max. speed for one transfer" +msgstr "" + +#: src/fe-gtk/setup.c:189 +msgid "Max. receive CPS:" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Max. global send CPS:" +msgstr "" + +#: src/fe-gtk/setup.c:192 src/fe-gtk/setup.c:194 +msgid "Max. speed for all traffic" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Max. global receive CPS:" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "(Leave at zero for full speed file transfers)." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Default quit message:" +msgstr "" + +#: src/fe-gtk/setup.c:202 +msgid "Default part message:" +msgstr "" + +#: src/fe-gtk/setup.c:203 +msgid "Default away message:" +msgstr "" + +#: src/fe-gtk/setup.c:205 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "(Can be a text file relative to config dir)." +msgstr "" + +#: src/fe-gtk/setup.c:209 +msgid "Extra words to highlight on:" +msgstr "" + +#: src/fe-gtk/setup.c:210 +msgid "(Separate multiple words with commas)." +msgstr "" + +#: src/fe-gtk/setup.c:211 +msgid "Show away once" +msgstr "" + +#: src/fe-gtk/setup.c:211 +msgid "Show identical away messages only once" +msgstr "" + +#: src/fe-gtk/setup.c:212 +msgid "Beep on private messages" +msgstr "" + +#: src/fe-gtk/setup.c:213 +msgid "Automatically unmark away" +msgstr "" + +#: src/fe-gtk/setup.c:213 +msgid "Unmark yourself as away before sending messages" +msgstr "" + +#: src/fe-gtk/setup.c:214 +msgid "Beep on channel messages" +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Announce away messages" +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Announce your away messages to all channels" +msgstr "" + +#: src/fe-gtk/setup.c:216 +msgid "Beep on highlighted messages" +msgstr "" + +#: src/fe-gtk/setup.c:217 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:218 +msgid "Whois on notify" +msgstr "" + +#: src/fe-gtk/setup.c:218 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "" + +#: src/fe-gtk/setup.c:219 +msgid "Hide join/part messages" +msgstr "" + +#: src/fe-gtk/setup.c:219 +msgid "Hide channel join/part messages by default" +msgstr "" + +#: src/fe-gtk/setup.c:220 +msgid "Auto reconnect delay:" +msgstr "Tårdjaedje po s' riraloyî otomaticmint:" + +#: src/fe-gtk/setup.c:226 +msgid "Log filename mask:" +msgstr "Patron po les nos d' fitchî des djournås:" + +#: src/fe-gtk/setup.c:227 +#, c-format +msgid "(%s=Server %c=Channel %n=Network)." +msgstr "(%s=Sierveu %c=Canå %n=Rantoele)." + +#: src/fe-gtk/setup.c:228 +msgid "Log timestamp format:" +msgstr "Cogne po l' eure/date dins les djournås:" + +#: src/fe-gtk/setup.c:229 +msgid "(See strftime manpage for details)." +msgstr "(Loukîz al pådje di man po «strftime» po pus di racsegnes)." + +#: src/fe-gtk/setup.c:230 +msgid "Enable logging of conversations" +msgstr "Mete en alaedje les djournås des berdelaedjes" + +#: src/fe-gtk/setup.c:231 +msgid "Insert timestamps in logs" +msgstr "Sititchî l' eure dins les djournås" + +#: src/fe-gtk/setup.c:237 +msgid "(Disabled)" +msgstr "(Dismetou)" + +#: src/fe-gtk/setup.c:238 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:239 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:240 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:241 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:247 +msgid "Address to bind to:" +msgstr "Adresses a s' raloyî avou:" + +#: src/fe-gtk/setup.c:248 +msgid "(Only useful for computers with multiple addresses)." +msgstr "(Ahessåve seulmint po les copiutreces k' on pus d' ene adresse)." + +#: src/fe-gtk/setup.c:249 +msgid "Proxy server" +msgstr "Sierveu procsi" + +#: src/fe-gtk/setup.c:250 +msgid "Hostname:" +msgstr "No do lodjoe:" + +#: src/fe-gtk/setup.c:251 +msgid "Username:" +msgstr "No d' uzeu:" + +#: src/fe-gtk/setup.c:252 +msgid "Password:" +msgstr "Sicret:" + +#: src/fe-gtk/setup.c:253 +msgid "Port:" +msgstr "Pôrt:" + +#: src/fe-gtk/setup.c:254 +msgid "Type:" +msgstr "Sôre:" + +#: src/fe-gtk/setup.c:256 +msgid "Authenticate to the proxy server (only HTTP)" +msgstr "Otintifiaedje sol sierveu procsi (HTTP seulmint)" + +#: src/fe-gtk/setup.c:479 +msgid "Select an Image File" +msgstr "Tchoezixhoz on fitchî imådje" + +#: src/fe-gtk/setup.c:506 +msgid "Select font" +msgstr "Tchoezixhoz l' fonte" + +#: src/fe-gtk/setup.c:576 +msgid "Browse..." +msgstr "Foyter..." + +#: src/fe-gtk/setup.c:720 +msgid "Select color" +msgstr "Tchoezixhoz l' coleur" + +#: src/fe-gtk/setup.c:786 +msgid "mIRC colors:" +msgstr "Coleurs mIRC:" + +#: src/fe-gtk/setup.c:794 +msgid "Foreground:" +msgstr "Coleur di dvant:" + +#: src/fe-gtk/setup.c:795 +msgid "Background:" +msgstr "Coleur di fond:" + +#: src/fe-gtk/setup.c:797 +msgid "Mark fore:" +msgstr "" + +#: src/fe-gtk/setup.c:798 +msgid "Mark back:" +msgstr "" + +#: src/fe-gtk/setup.c:800 +msgid "New Data:" +msgstr "" + +#: src/fe-gtk/setup.c:801 +msgid "New Message:" +msgstr "Novea messaedje:" + +#: src/fe-gtk/setup.c:802 +msgid "Highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:803 +msgid "Away User:" +msgstr "" + +#: src/fe-gtk/setup.c:841 +msgid "Interface" +msgstr "Eterface" + +#: src/fe-gtk/setup.c:842 +msgid "Text box" +msgstr "Boesse di tecse" + +#: src/fe-gtk/setup.c:843 +msgid "Input box" +msgstr "Boesse d' intrêye" + +#: src/fe-gtk/setup.c:844 +msgid "User list" +msgstr "Djivêye des uzeus" + +#: src/fe-gtk/setup.c:846 +msgid "Colors" +msgstr "Coleurs" + +#: src/fe-gtk/setup.c:848 +msgid "Chatting" +msgstr "" + +#: src/fe-gtk/setup.c:849 +msgid "General" +msgstr "Djenerå" + +#: src/fe-gtk/setup.c:850 +msgid "Logging" +msgstr "Elodjaedje" + +#: src/fe-gtk/setup.c:852 +msgid "Network" +msgstr "Rantoele" + +#: src/fe-gtk/setup.c:853 +msgid "Network setup" +msgstr "Apontiaedje del rantoele" + +#: src/fe-gtk/setup.c:854 +msgid "File transfers" +msgstr "Transfers di fitchîs" + +#: src/fe-gtk/setup.c:959 +msgid "Categories" +msgstr "Categoreyes" + +#: src/fe-gtk/setup.c:1085 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" + +#: src/fe-gtk/setup.c:1112 +msgid "X-Chat: Preferences" +msgstr "X-Chat: Preferinces" + +#: src/fe-gtk/textgui.c:184 +msgid "There was an error parsing the string" +msgstr "" + +#: src/fe-gtk/textgui.c:192 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:326 +msgid "Print Texts File" +msgstr "" + +#: src/fe-gtk/textgui.c:382 +msgid "Event" +msgstr "Evenmint" + +#: src/fe-gtk/textgui.c:384 +msgid "Sound" +msgstr "Son" + +#: src/fe-gtk/textgui.c:386 +msgid "$ Number" +msgstr "" + +#: src/fe-gtk/textgui.c:396 +msgid "Edit Events" +msgstr "Candjî les evenmints" + +#: src/fe-gtk/textgui.c:434 +msgid "Sound file: " +msgstr "Fitchî son: " + +#: src/fe-gtk/textgui.c:469 +msgid "Save As" +msgstr "Schaper et rlomer" + +#: src/fe-gtk/textgui.c:474 +msgid "Load From" +msgstr "Tcherdjî di" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Sayî ttafwait" + +#: src/fe-gtk/urlgrab.c:97 +msgid "URL" +msgstr "Hårdêye" + +#: src/fe-gtk/urlgrab.c:147 +msgid "Select a file to save to" +msgstr "" + +#: src/fe-gtk/urlgrab.c:187 +msgid "X-Chat: URL Grabber" +msgstr "" + +#: src/fe-gtk/urlgrab.c:200 +msgid "Clear list" +msgstr "Netyî l' djivêye" + +#: src/fe-gtk/urlgrab.c:202 +msgid "Copy selected URL" +msgstr "Copyî l' tchoezeye hårdêye" + +#: src/fe-gtk/urlgrab.c:202 +msgid "Copy" +msgstr "Copyî" + +#: src/fe-gtk/urlgrab.c:204 +msgid "Save list to a file" +msgstr "Schaper l' djivêye en on fitchî" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d totå" + +#~ msgid "Tab colors" +#~ msgstr "Coleurs des linwetes" diff --git a/po/zh_CN.po b/po/zh_CN.po new file mode 100644 index 00000000..21ea89cc --- /dev/null +++ b/po/zh_CN.po @@ -0,0 +1,5671 @@ +# X-Chat Simplified Chinese message translation file. +# Copyright (C) 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the xchat package. +# +# Zong Yaotang <zong@cosix.com.au>, 2002. +# Dalin <ayi880@hotmail.com>, 2003. +# Minor revision by Walte <webmaster@www.linuxfans.org>, 2003. +# Sarah Smith <sarahs@redhat.com>, 2003. +# Rongjun Mu <elanmu@sina.com>, 2003. +# Rongjun Mu <rongjunmu+i18n@gmail.com>, 2004. +# Zhuyuan Liu <gtkdict@yahoo.com.cn>, 2005. +# SEPTEM <septeman@gmail.com>, 2006. +# Aron Xu <happyaron.xu@gmail.com>, 2010. +# Eleanor Chen <chenyueg@gmail.com>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.8.6\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2008-06-12 18:39+1000\n" +"PO-Revision-Date: 2010-02-14 23:17+0800\n" +"Last-Translator: Eleanor Chen <chenyueg@gmail.com>\n" +"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/common/cfgfiles.c:354 +msgid "Cannot create ~/.xchat2" +msgstr "无法创建 ~/.xchat2" + +#: src/common/cfgfiles.c:711 +msgid "I'm busy" +msgstr "我很忙" + +#: src/common/cfgfiles.c:712 +msgid "Leaving" +msgstr "离开" + +#: src/common/cfgfiles.c:759 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* 不要以 root 身份执行 IRC!您应该\n" +" 使用普通用户帐号来登录。\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "等待" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "活跃" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "失败" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "完成" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:928 +msgid "Connect" +msgstr "连接" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "中止" + +#: src/common/dcc.c:1886 src/common/outbound.c:2451 +#, c-format +msgid "Cannot access %s\n" +msgstr "无法获取 %s\n" + +#: src/common/dcc.c:1887 src/common/text.c:1224 src/common/text.c:1262 +#: src/common/text.c:1273 src/common/text.c:1280 src/common/text.c:1293 +#: src/common/text.c:1310 src/common/text.c:1410 src/common/util.c:353 +msgid "Error" +msgstr "错误" + +#: src/common/dcc.c:2375 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s 要给您发送“%s”,接受吗?" + +#: src/common/dcc.c:2586 +msgid "No active DCCs\n" +msgstr "没有活跃的 DCC\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "是 " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "否 " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "您正受到来自 %s 的 CTCP 洪水攻击,忽略 %s\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "您正受到来自 %s 的 MSG 洪水攻击,设置图形化自动对话框为关闭。\n" + +#: src/common/notify.c:473 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s 在线\n" + +#: src/common/notify.c:475 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s 离线\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "没有进入任何频道。请尝试 /join #<channel>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "未连接任何服务器。请尝试 /server <host> [<port>]\n" + +#: src/common/outbound.c:338 +#, c-format +msgid "Already marked away: %s\n" +msgstr "已标记为离开:%s\n" + +#: src/common/outbound.c:411 +msgid "Already marked back.\n" +msgstr "已取消离开标记。\n" + +#: src/common/outbound.c:1777 +msgid "I need /bin/sh to run!\n" +msgstr "使用 /bin/sh 才能执行本程序!\n" + +#: src/common/outbound.c:2148 +msgid "Commands Available:" +msgstr "可用命令:" + +#: src/common/outbound.c:2162 +msgid "User defined commands:" +msgstr "用户自定义命令:" + +#: src/common/outbound.c:2178 +msgid "Plugin defined commands:" +msgstr "可用插件命令:" + +#: src/common/outbound.c:2189 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "请输入 /HELP <command> 或者 /HELP -l 以获取更多信息" + +#: src/common/outbound.c:2274 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "忽略未知参数“%s”。" + +#: src/common/outbound.c:3223 +msgid "No such plugin found.\n" +msgstr "找不到该插件。\n" + +#: src/common/outbound.c:3228 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "无法卸载该插件。\n" + +#: src/common/outbound.c:3497 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <name> <action>,在用户列表下添加一个按钮" + +#: src/common/outbound.c:3499 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>,向您所在的所有频道发送命令" + +#: src/common/outbound.c:3501 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <cmd>,向您所在的所有频道发送命令" + +#: src/common/outbound.c:3503 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>,向您所在的所有服务器发送命令" + +#: src/common/outbound.c:3504 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<reason>],设置您为离开状态" + +#: src/common/outbound.c:3505 +msgid "BACK, sets you back (not away)" +msgstr "BACK,取消离开状态" + +#: src/common/outbound.c:3507 +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> [<bantype>],禁止所有符合掩码 <mask> 的用户进入当前的频道。如果他们已在该频道,这个命令不会将其踢出(需要具有频道管理员身份)" + +#: src/common/outbound.c:3508 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variable> [<value>]" + +#: src/common/outbound.c:3510 +msgid "CLEAR [ALL|HISTORY], Clears the current text window or command history" +msgstr "CLEAR [ALL|HISTORY],清空当前的窗口文本或命令历史" + +#: src/common/outbound.c:3511 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE,关闭当前窗口或标签页" + +#: src/common/outbound.c:3514 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|wildcard>,查看国家代码对应的国家名,比如 :cn = 中国" + +#: src/common/outbound.c:3516 +msgid "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" +msgstr "CTCP <nick> <message>,给昵称为 <nick> 者发送 CTCP 信息,常用是 VERSION 和 USERINFO" + +#: src/common/outbound.c:3518 +msgid "CYCLE [<channel>], parts the current or given channel and immediately rejoins" +msgstr "CYCLE [<channel>],离开当前频道并立即重新进入" + +#: src/common/outbound.c:3520 +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 "" +"\n" +"DCC GET <nick> - 接收昵称为 <nick> 者使用 DCC 发送给\n" +" 您的文件\n" +"DCC SEND [-maxcps=#] <nick> [file] - 使用 DCC 发送文件给 <nick>\n" +"DCC PSEND [-maxcps=#] <nick> [file] - 使用被动模式 DCC 发送文件给某人\n" +"DCC LIST - 显示 DCC 列表\n" +"DCC CHAT <nick> - 与 <nick> 进行 DCC 直连聊天\n" +"DCC PCHAT <nick> - 使用 DCC 被动模式与 <nick> 聊天\n" +"DCC CLOSE <type> <nick> <file> 例如:\n" +" /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3532 +msgid "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" +msgstr "DEHOP <nick>,取消当前频道内昵称为 <nick> 的副管理员身份(需要具有频道管理员身份)" + +#: src/common/outbound.c:3534 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <name>,删除用户列表下的一个按钮" + +#: src/common/outbound.c:3536 +msgid "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" +msgstr "DEOP <nick>,取消昵称为 <nick> 者在当前频道的管理员身份(需要具有频道管理员身份)" + +#: src/common/outbound.c:3538 +msgid "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" +msgstr "DEVOICE <nick>,取消昵称为 <nick> 者在当前频道的发言权(需要具有频道管理员身份)" + +#: src/common/outbound.c:3539 +msgid "DISCON, Disconnects from server" +msgstr "DISCON,从服务器断开连接" + +#: src/common/outbound.c:3540 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <nick|host|ip>,查询某位用户的 IP 地址" + +#: src/common/outbound.c:3541 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>,在本地显示文本" + +#: src/common/outbound.c:3544 +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] <command>,执行命令。如果使用了 -o 选项则输出到当前频道,否则输出到当前文本框" + +#: src/common/outbound.c:3546 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT,向进程发送 SIGCONT 信号" + +#: src/common/outbound.c:3549 +msgid "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" +msgstr "EXECKILL [-9],杀死当前会话中的某执行进程。如果使用 -9 选项,则用 SIGKILL 杀死该进程" + +#: src/common/outbound.c:3551 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP,向进程发送 SIGSTOP 信号" + +#: src/common/outbound.c:3552 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE,把数据发送给进程的标准输入" + +#: src/common/outbound.c:3556 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ,清空当前服务器的发送队列" + +#: src/common/outbound.c:3558 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>],经由某主机来代理,默认端口为 23" + +#: src/common/outbound.c:3562 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <nick> <password>,注销其他使用该昵称的登录" + +#: src/common/outbound.c:3567 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nick>,给昵称为 <nick> 者以副管理员的身份(需要具有频道管理员身份)" + +#: src/common/outbound.c:3568 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <password>,向昵称服务器进行身份验证" + +#: src/common/outbound.c:3570 +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 <mask> <types..> <options..>\n" +" mask - 要忽略的主机掩码,比如 *!*@*.aol.com\n" +" types - 要忽略数据的类型,应以下选项之一或全部:\n" +" PRIV,CHAN,NOTI,CTCP,INVI,ALL\n" +" options - 忽略选项:NOSAVE,QUIET" + +#: src/common/outbound.c:3577 +msgid "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" +msgstr "INVITE <nick> [<channel>],邀请昵称为 <nick> 者进入频道,默认为当前的频道(需要具有频道管理员身份)" + +#: src/common/outbound.c:3578 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <channel>,进入频道" + +#: src/common/outbound.c:3580 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <nick>,把昵称为 <nick> 者踢出当前频道(需要具有频道管理员身份)" + +#: src/common/outbound.c:3582 +msgid "KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)" +msgstr "KICKBAN <nick>,把昵称为 <nick> 者踢出当前频道,并禁止再次进入(需要具有频道管理员身份)" + +#: src/common/outbound.c:3585 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK,强制进行延迟检查" + +#: src/common/outbound.c:3587 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <string>,在缓冲区中搜索字符串" + +#: src/common/outbound.c:3589 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <file>,载入插件或脚本" + +#: src/common/outbound.c:3592 +msgid "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP,撤销当前频道中所有副管理员(需要具有频道管理员身份)" + +#: src/common/outbound.c:3594 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP,撤销当前频道中所有管理员(需要具有频道管理员身份)" + +#: src/common/outbound.c:3596 +msgid "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" +msgstr "ME <action>,向当前频道中发送一个动作(动作使用第三人称陈述,例如 /me 跳一下)" + +#: src/common/outbound.c:3600 +msgid "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK,踢出当前频道中除您自己以外的所有用户(需要具有频道管理员身份)" + +#: src/common/outbound.c:3603 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP,给当前频道中所有用户赋予管理员的身份(需要具有频道管理员身份)" + +#: src/common/outbound.c:3604 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <nick> <message>,给昵称为 <nick> 者发送一则私聊信息" + +#: src/common/outbound.c:3607 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES,列出当前频道的所有用户" + +#: src/common/outbound.c:3609 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <message>,给昵称为 <nick> 者发送一则 CTCP 通知" + +#: src/common/outbound.c:3610 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostname> [<port>]" + +#: src/common/outbound.c:3611 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nickname>,设置您的昵称" + +#: src/common/outbound.c:3614 +msgid "NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to" +msgstr "NOTICE <nick/channel> <message>,发送一则通知。通知是一种能被自动回应的信息" + +#: src/common/outbound.c:3616 +msgid "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" +msgstr "NOTIFY [-n network1[,network2,...]] [<nick>],列出您的通知列表,或在列表中添加某人" + +#: src/common/outbound.c:3618 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>,委任 <nick> 为频道管理员(需要具有频道管理员身份)" + +#: src/common/outbound.c:3620 +msgid "PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<channel>] [<reason>],离开频道,默认为当前的频道" + +#: src/common/outbound.c:3622 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | channel>,向某位用户或频道发送 CTCP PING 消息" + +#: src/common/outbound.c:3624 +msgid "QUERY [-nofocus] <nick>, opens up a new privmsg window to someone" +msgstr "QUERY [-nofocus] <nick>,与某人私聊" + +#: src/common/outbound.c:3626 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reason>],从与当前服务器断开连接" + +#: src/common/outbound.c:3628 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <text>,向服务器发送原始格式的文本" + +#: src/common/outbound.c:3631 +msgid "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<port>] [<password>],可用 /RECONNECT 重新连接当前的服务器或用 /RECONNECT ALL 重新连接所有服务器" + +#: src/common/outbound.c:3634 +msgid "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<password>],可用 /RECONNECT 重新连接当前服务器或用 /RECONNECT ALL 重新连接所有服务器" + +#: src/common/outbound.c:3636 +msgid "RECV <text>, send raw data to xchat, as if it was received from the irc server" +msgstr "RECV <text>,向 xchat 发送原始数据,就好像它是从 irc 服务器上接收到的一样" + +#: src/common/outbound.c:3639 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>,向当前窗口中的对象发送文本" + +#: src/common/outbound.c:3640 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<file>]" + +#: src/common/outbound.c:3643 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <channel>,连接服务器并进入某频道" + +#: src/common/outbound.c:3646 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <channel>,连接服务器并进入某频道" + +#: src/common/outbound.c:3650 +msgid "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "SERVER [-ssl] <host> [<port>] [<password>],连接服务器。普通连接默认端口为 6667,SSL 加密连接默认端口为 9999" + +#: src/common/outbound.c:3653 +msgid "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" +msgstr "SERVER <host> [<port>] [<password>],连接服务器。默认端口为 6667" + +#: src/common/outbound.c:3655 +msgid "SET [-e] [-or] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-or] [-quiet] <variable> [<value>]" + +#: src/common/outbound.c:3656 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<position>" + +#: src/common/outbound.c:3661 +msgid "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<topic>],设置频道主题,如果未指定内容则显示当前主题" + +#: src/common/outbound.c:3663 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" +"\n" +"TRAY -f <时间> <文件1> [<文件2>] 在托盘中使用两个图标进行闪烁。\n" +"TRAY -f <文件名> 设置托盘为固定图标。\n" +"TRAY -i <数字> 使用内部图标闪烁托盘。\n" +"TRAY -t <文本> 设置托盘工具提示。\n" +"TRAY -b <标题> <文本> 设置托盘气泡通知。" + +#: src/common/outbound.c:3670 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...],解禁指定的掩码。" + +#: src/common/outbound.c:3671 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:3672 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <name>,卸载插件或脚本" + +#: src/common/outbound.c:3673 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>,在浏览器中打开 URL" + +#: src/common/outbound.c:3675 +msgid "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "USELECT [-a] [-s] <nick1> <nick2>...,在频道用户列表中以高亮度标示昵称" + +#: src/common/outbound.c:3678 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>,给予昵称为 <nick> 者发言权(需要具有频道管理员身份)" + +#: src/common/outbound.c:3680 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <message>,发送信息到所有的频道" + +#: src/common/outbound.c:3682 +msgid "WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <message>,给当前频道中所有管理员发送消息" + +#: src/common/outbound.c:3715 +#, c-format +msgid "Usage: %s\n" +msgstr "用法:%s\n" + +#: src/common/outbound.c:3720 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"没有关于该命令的帮助信息。\n" + +#: src/common/outbound.c:3726 +msgid "No such command.\n" +msgstr "无此命令。\n" + +#: src/common/outbound.c:4057 +msgid "Bad arguments for user command.\n" +msgstr "用户命令的参数不对。\n" + +#: src/common/outbound.c:4217 +msgid "Too many recursive usercommands, aborting." +msgstr "太多递归的用户命令,中止。" + +#: src/common/outbound.c:4300 +msgid "Unknown Command. Try /help\n" +msgstr "未知命令。请尝试 /help\n" + +#: src/common/plugin.c:356 src/common/plugin.c:397 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "无 xchat_plugin_init 符号,您确实这是 xchat 的插件吗?" + +#: src/common/server.c:634 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "您确信此服务器和端口支持 SSL?\n" + +#: src/common/server.c:1025 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"无法解析主机名 %s\n" +"请检查您的 IP 设置!\n" + +#: src/common/server.c:1030 +msgid "Proxy traversal failed.\n" +msgstr "代理传送失败。\n" + +#: src/common/servlist.c:643 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "跳转至 %s 的下一个服务器...\n" + +#: src/common/servlist.c:1094 +#, c-format +msgid "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." +msgstr "警告:未知的字符设置“%s”。对网络 %s 将不应用字符转换。" + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 已增加到通知列表。" + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 屏蔽列表:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$t不能进入%C26 %B$1 %O(您被屏蔽了)。" + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 改名为 $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 屏蔽了 $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$t频道 $1 建立于 $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O 取消了%C26 $2 的频道副管理员权限" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O 取消了%C26 $2 的频道管理员权限" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O 取消了%C26 $2 的发言权" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 给 $2 设置了免封权" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O 委任%C26 $2 为频道副管理员" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 邀请了 $2" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%U频道 用户 主题" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 设置 $2$3 $4 模式" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22频道 $1 模式:$2" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O 委任%C26$2 为频道管理员" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 取消了 $2 的免封权" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 取消了 $2 的邀请权" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 取消了频道密码" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 取消了用户限制" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 设置频道密码为 $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 设置频道限制为 $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 解除了对 $2 的屏蔽" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O 给了%C26$2 发言权" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "%C22*%O$t%C22已连接。正在登录..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22正在连接到 $1 ($2) 端口 $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21连接失败。错误:$1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$t收到来自 $2 的CTCP $1" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$t收到来自 $2 (到 $3)的 CTCP $1" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$t收到来自 $2 的 CTCP 声音 $1" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$t收到来自 $2 (到 $3)的 CTCP 声音 $1" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$t中止了与 %C26$1%O 的 DCC 直连聊天。" + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$t已与 %C26$1 %C30[%O$2%C30] 建立了 DCC 直连聊天连接" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$$t 与 %C26$1%O 的 DCC 直连聊天连接丢失($4)。" + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$t收到来自 $1 的 DCC 直连聊天请求" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$t向 $1 发送 DCC 直连聊天请求" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$t已发送 DCC 直连聊天请求给 $1" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$t尝试到 %C26$2%O 的 DCC $1 连接失败(err=$3)。" + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$t收到来自 $2 的“$1%O”" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 类型 到/来自 状态 大小 位置 文件 " + +#: src/common/textevents.h:147 +msgid "%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2" +msgstr "%C22*%O$t收到来自 %C26$1%O 的有错的 DCC 请求。%010%C22*%O$t数据包内容:$2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$t 发送 %C26 $1%O 给%C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$t无此 DCC 请求。" + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$t到%C26 $1%O 的 DCC RECV%C26 $2%O 中止。" + +#: src/common/textevents.h:159 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "%C22*%O$t从%C26 $3%O DCC RECV%C26 $1%O 已完成 %C30[%C26$4%O cps%C30]%O。" + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$t建立与%C26$1 的 DCC RECV 连接 %C30[%0$2%C30]" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$t从%C26 $3%O DCC RECV%C26 $1%O 失败($4)。" + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV:无法打开 $1 进行写入($2)。 " + +#: src/common/textevents.h:171 +msgid "%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$t文件%C11 $1%C 已存在,请另存为%C26 $2%O。" + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %O请求续传来自%C26 $3%C的%C26 $2 %C 。" + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$t到%C26$1%O的 DCC SEND%C26$2%O 已中止。" + +#: src/common/textevents.h:180 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "%C22*%O$t到%C26$2%O 的 DCC SEND%C26$1%O 已完成 %C30[%C26$3%O cps%C30]%O。" + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$t已建立到%C26 $1%C30[%O$2%C30] 的 DCC SEND 连接" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$t到%C26$2%O 的 DCC SEND%C26$1%O 失败。$3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1%O已发送%C26 $2%O(%C26$3%O 字节)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2%O到 %C26$3%C 没有响应 - 中止。" + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2%O到%C26 $3%O超时 - 中止。" + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1已从通知列表中删除。" + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$t已断开连接($1)。" + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$t找到您的 IP:[$1]" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O已添加到忽略列表。" + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "对 %C26$1%O 的忽略已变更。" + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 主机掩码 PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O 已从忽略列表中删除。" + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " 您的忽略列表是空的。" + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$t无法进入%C26 %B$1 %O(该频道只能邀请进入)。" + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$t%C26 $2%C (%C26$3%C)邀请您进入%C26 $1%O" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) 进入了 $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$t无法进入%C26 %B$1 %O(需要密码)。" + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 把 $2 踢出了 $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$t您被 $1 从服务器上踢出($2%O%C22)" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD 被跳过。" + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 已被占用。正在使用 $2 重试..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*z%O$t该昵称已被占用。请用 /NICK 尝试使用另一个昵称。" + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$t没有此 DCC。" + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$t当前没有任何进程在执行" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$t 通知列表是空的。" + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B 通知列表 " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1通知列表中有 $1 位用户。" + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($3)." +msgstr "%C22*%O$t通知:$1 下线了($3)。" + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($3)." +msgstr "%C22*%O$t通知:$1 上线了($3)。" + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) 离开了 $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) 离开了 $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$t从 $1 处得到 Ping 回应时间:$2 秒" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$t在 %1 秒内没有收到 Ping 回应,正在断开连接。" + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$t已有一进程正在运行" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 已退出(%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 设置模式%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$t查寻 %C26 $1%O 的 IP 地址..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22已连接。" + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22正在查询 $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$t前次连接尝试停止(pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29 $1%C %C29的主题是:$2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 已将主题更改为:$2" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29$1%C %C29的主题由 $2%C %C29于 $3 设置" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$t未知主机。也许您把它拼写错了?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$t无法进入%C26 %B$1 %O(达到了用户限制)。" + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26 $1 中的用户:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %C暂时离开了 %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OWHOIS 列表结束。" + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O 发呆%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O 发呆%C26 $2%O,登录时间:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O:$4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O真实 user@host%C27 $2%O,真实 IP%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19您正在 $2 频道里聊天" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$t您被 $3 从 $2 中踢出($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$t您已离开频道 $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$t您已离开频道 $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:408 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$t您已邀请%C26 $1%O 进入%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:414 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$t您已改名为 $2" + +#: src/common/text.c:318 +msgid "Loaded log from" +msgstr "从以下位置载入聊天记录:" + +#: src/common/text.c:336 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** 结束聊天记录于 %s\n" + +#: src/common/text.c:545 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** 开始聊天记录记录于 %s\n" + +#: src/common/text.c:564 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"不能打开聊天记录文件进行写入操作。请检查\n" +"%s/xchatlogs 的权限设置" + +#: src/common/text.c:931 +msgid "Left message" +msgstr "左边的信息" + +#: src/common/text.c:932 +msgid "Right message" +msgstr "右边的信息" + +#: src/common/text.c:936 +msgid "The nick of the joining person" +msgstr "进入的用户" + +#: src/common/text.c:937 +msgid "The channel being joined" +msgstr "进入的频道" + +#: src/common/text.c:938 src/common/text.c:985 src/common/text.c:1036 +msgid "The host of the person" +msgstr "此人的主机名" + +#: src/common/text.c:942 src/common/text.c:948 src/common/text.c:955 +#: src/common/text.c:1143 src/common/text.c:1150 src/common/text.c:1155 +#: src/common/text.c:1160 src/common/text.c:1165 src/common/text.c:1171 +#: src/common/text.c:1176 src/common/text.c:1180 src/common/text.c:1186 +#: src/common/text.c:1192 src/common/text.c:1238 src/common/text.c:1249 +#: src/common/text.c:1254 src/common/text.c:1259 src/common/text.c:1268 +#: src/common/text.c:1279 src/common/text.c:1286 src/common/text.c:1292 +#: src/common/text.c:1297 src/common/text.c:1302 src/common/text.c:1309 +#: src/common/text.c:1315 src/common/text.c:1321 src/common/text.c:1326 +#: src/common/text.c:1331 src/common/text.c:1335 src/common/text.c:1341 +#: src/common/text.c:1349 src/common/text.c:1383 src/common/text.c:1388 +msgid "Nickname" +msgstr "昵称" + +#: src/common/text.c:943 +msgid "The action" +msgstr "动作" + +#: src/common/text.c:944 src/common/text.c:950 +msgid "Mode char" +msgstr "模式" + +#: src/common/text.c:949 +msgid "The text" +msgstr "文本" + +#: src/common/text.c:951 src/common/text.c:957 +msgid "Identified text" +msgstr "验证文本" + +#: src/common/text.c:956 src/common/text.c:1013 src/common/text.c:1019 +msgid "The message" +msgstr "信息" + +#: src/common/text.c:961 src/common/text.c:1023 +msgid "Old nickname" +msgstr "原昵称" + +#: src/common/text.c:962 src/common/text.c:1024 +msgid "New nickname" +msgstr "新昵称" + +#: src/common/text.c:966 +msgid "Nick of person who changed the topic" +msgstr "更改主题的用户" + +#: src/common/text.c:967 src/common/text.c:973 src/fe-gtk/chanlist.c:766 +#: src/fe-gtk/chanlist.c:869 +msgid "Topic" +msgstr "主题" + +#: src/common/text.c:968 src/common/text.c:972 src/common/text.c:1403 +#: src/fe-gtk/chanlist.c:764 src/fe-gtk/ignoregui.c:176 +#: src/fe-gtk/servlistgui.c:892 +msgid "Channel" +msgstr "频道" + +#: src/common/text.c:977 src/common/text.c:1030 +msgid "The nickname of the kicker" +msgstr "能踢人的用户" + +#: src/common/text.c:978 src/common/text.c:1028 +msgid "The person being kicked" +msgstr "被踢者" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:990 +#: src/common/text.c:995 src/common/text.c:1029 src/common/text.c:1037 +#: src/common/text.c:1044 +msgid "The channel" +msgstr "频道" + +#: src/common/text.c:980 src/common/text.c:1031 src/common/text.c:1038 +msgid "The reason" +msgstr "原因" + +#: src/common/text.c:984 src/common/text.c:1035 +msgid "The nick of the person leaving" +msgstr "离开的用户" + +#: src/common/text.c:991 src/common/text.c:997 +msgid "The time" +msgstr "时间" + +#: src/common/text.c:996 +msgid "The creator" +msgstr "建立者" + +#: src/common/text.c:1001 src/fe-gtk/dccgui.c:763 src/fe-gtk/dccgui.c:996 +msgid "Nick" +msgstr "昵称" + +#: src/common/text.c:1002 src/common/text.c:1255 +msgid "Reason" +msgstr "原因" + +#: src/common/text.c:1003 src/common/text.c:1145 src/common/text.c:1228 +msgid "Host" +msgstr "主机" + +#: src/common/text.c:1007 src/common/text.c:1012 src/common/text.c:1017 +msgid "Who it's from" +msgstr "来自者" + +#: src/common/text.c:1008 +msgid "The time in x.x format (see below)" +msgstr "时间格式为 x.x(见下)" + +#: src/common/text.c:1018 src/common/text.c:1055 +msgid "The Channel it's going to" +msgstr "要进入的频道" + +#: src/common/text.c:1042 +msgid "The sound" +msgstr "声音" + +#: src/common/text.c:1043 src/common/text.c:1049 src/common/text.c:1054 +msgid "The nick of the person" +msgstr "此人的昵称" + +#: src/common/text.c:1048 src/common/text.c:1053 +msgid "The CTCP event" +msgstr "CTCP 事件" + +#: src/common/text.c:1059 +msgid "The nick of the person who set the key" +msgstr "设置密码的用户" + +#: src/common/text.c:1060 +msgid "The key" +msgstr "密码" + +#: src/common/text.c:1064 +msgid "The nick of the person who set the limit" +msgstr "设置限制的用户" + +#: src/common/text.c:1065 +msgid "The limit" +msgstr "限制" + +#: src/common/text.c:1069 +msgid "The nick of the person who did the op'ing" +msgstr "使用了 op 命令的用户" + +#: src/common/text.c:1070 +msgid "The nick of the person who has been op'ed" +msgstr "被授予管理员身份的用户" + +#: src/common/text.c:1074 +msgid "The nick of the person who has been halfop'ed" +msgstr "被授予副管理员身份的用户" + +#: src/common/text.c:1075 +msgid "The nick of the person who did the halfop'ing" +msgstr "使用 halfop 命令的用户" + +#: src/common/text.c:1079 +msgid "The nick of the person who did the voice'ing" +msgstr "使用 voice 命令的用户" + +#: src/common/text.c:1080 +msgid "The nick of the person who has been voice'ed" +msgstr "被赋予发言权的用户" + +#: src/common/text.c:1084 +msgid "The nick of the person who did the banning" +msgstr "使用 ban 命令的用户" + +#: src/common/text.c:1085 src/common/text.c:1112 +msgid "The ban mask" +msgstr "屏蔽掩码" + +#: src/common/text.c:1089 +msgid "The nick who removed the key" +msgstr "取消密码的用户" + +#: src/common/text.c:1093 +msgid "The nick who removed the limit" +msgstr "取消用户限制的用户" + +#: src/common/text.c:1097 +msgid "The nick of the person of did the deop'ing" +msgstr "使用 deop 命令的用户" + +#: src/common/text.c:1098 +msgid "The nick of the person who has been deop'ed" +msgstr "被取消管理员身份的用户" + +#: src/common/text.c:1101 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "使用 dehalfop 命令的用户" + +#: src/common/text.c:1102 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "被取消副管理员身份的用户" + +#: src/common/text.c:1106 +msgid "The nick of the person of did the devoice'ing" +msgstr "使用 devoice 命令的用户" + +#: src/common/text.c:1107 +msgid "The nick of the person who has been devoice'ed" +msgstr "被取消发言权的用户" + +#: src/common/text.c:1111 +msgid "The nick of the person of did the unban'ing" +msgstr "使用 unban 命令的用户" + +#: src/common/text.c:1116 +msgid "The nick of the person who did the exempt" +msgstr "使用 exempt 命令的用户" + +#: src/common/text.c:1117 src/common/text.c:1122 +msgid "The exempt mask" +msgstr "exempt 掩码" + +#: src/common/text.c:1121 +msgid "The nick of the person removed the exempt" +msgstr "取消 exempt 的用户" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the invite" +msgstr "使用 invite 命令的用户" + +#: src/common/text.c:1127 src/common/text.c:1132 +msgid "The invite mask" +msgstr "invite 掩码" + +#: src/common/text.c:1131 +msgid "The nick of the person removed the invite" +msgstr "取消 invite 的用户" + +#: src/common/text.c:1136 +msgid "The nick of the person setting the mode" +msgstr "设置模式的用户" + +#: src/common/text.c:1137 +msgid "The mode's sign (+/-)" +msgstr "模式符号(+/-)" + +#: src/common/text.c:1138 +msgid "The mode letter" +msgstr "模式字母" + +#: src/common/text.c:1139 +msgid "The channel it's being set on" +msgstr "被设置的频道" + +#: src/common/text.c:1144 +msgid "Username" +msgstr "用户名" + +#: src/common/text.c:1146 +msgid "Full name" +msgstr "全名" + +#: src/common/text.c:1151 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "频道成员/“是 IRC 管理员”" + +#: src/common/text.c:1156 +msgid "Server Information" +msgstr "服务器信息" + +#: src/common/text.c:1161 src/common/text.c:1166 +msgid "Idle time" +msgstr "发呆时间" + +#: src/common/text.c:1167 +msgid "Signon time" +msgstr "登录时间" + +#: src/common/text.c:1172 +msgid "Away reason" +msgstr "离开原因" + +#: src/common/text.c:1181 src/common/text.c:1187 src/common/text.c:1195 +#: src/common/text.c:1375 +msgid "Message" +msgstr "信息" + +#: src/common/text.c:1188 +msgid "Account" +msgstr "帐户" + +#: src/common/text.c:1193 +msgid "Real user@host" +msgstr "真实 user@host" + +#: src/common/text.c:1194 +msgid "Real IP" +msgstr "真实 IP" + +#: src/common/text.c:1199 src/common/text.c:1208 src/common/text.c:1214 +#: src/common/text.c:1244 src/common/text.c:1398 +msgid "Channel Name" +msgstr "频道名" + +#: src/common/text.c:1203 src/common/text.c:1361 src/fe-gtk/menu.c:1404 +#: src/fe-gtk/menu.c:1592 src/fe-gtk/textgui.c:390 +msgid "Text" +msgstr "文本" + +#: src/common/text.c:1204 src/common/text.c:1210 src/common/text.c:1239 +#: src/common/text.c:1357 src/common/text.c:1399 +msgid "Server Name" +msgstr "服务器名" + +#: src/common/text.c:1209 +msgid "Nick of person who invited you" +msgstr "邀请您的用户" + +#: src/common/text.c:1215 src/fe-gtk/chanlist.c:765 +msgid "Users" +msgstr "用户" + +#: src/common/text.c:1219 +msgid "Nickname in use" +msgstr "昵称已被使用" + +#: src/common/text.c:1220 +msgid "Nick being tried" +msgstr "已试过的昵称" + +#: src/common/text.c:1229 src/common/text.c:1365 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1230 src/common/text.c:1261 +msgid "Port" +msgstr "端口" + +#: src/common/text.c:1240 src/fe-gtk/notifygui.c:139 src/fe-gtk/setup.c:1713 +msgid "Network" +msgstr "网络" + +#: src/common/text.c:1245 src/common/text.c:1250 +msgid "Modes string" +msgstr "模式" + +#: src/common/text.c:1260 src/common/text.c:1298 src/common/text.c:1303 +#: src/common/text.c:1344 +msgid "IP address" +msgstr "IP 地址" + +#: src/common/text.c:1266 src/common/text.c:1291 +msgid "DCC Type" +msgstr "DCC 类型" + +#: src/common/text.c:1267 src/common/text.c:1272 src/common/text.c:1277 +#: src/common/text.c:1284 src/common/text.c:1304 src/common/text.c:1308 +#: src/common/text.c:1314 src/common/text.c:1320 src/common/text.c:1327 +#: src/common/text.c:1336 src/common/text.c:1342 +msgid "Filename" +msgstr "文件名" + +#: src/common/text.c:1278 src/common/text.c:1285 +msgid "Destination filename" +msgstr "目标文件名" + +#: src/common/text.c:1287 src/common/text.c:1316 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1322 +msgid "Pathname" +msgstr "路径名" + +#: src/common/text.c:1337 src/fe-gtk/dccgui.c:759 +msgid "Position" +msgstr "位置" + +#: src/common/text.c:1343 src/fe-gtk/dccgui.c:758 +msgid "Size" +msgstr "大小" + +#: src/common/text.c:1348 +msgid "DCC String" +msgstr "DCC 字符串" + +#: src/common/text.c:1353 +msgid "Number of notify items" +msgstr "通知条目数" + +#: src/common/text.c:1369 +msgid "Old Filename" +msgstr "原文件名" + +#: src/common/text.c:1370 +msgid "New Filename" +msgstr "新文件名" + +#: src/common/text.c:1374 +msgid "Receiver" +msgstr "接收者" + +#: src/common/text.c:1379 +msgid "Hostmask" +msgstr "主机掩码" + +#: src/common/text.c:1384 +msgid "Hostname" +msgstr "主机名" + +#: src/common/text.c:1389 +msgid "The Packet" +msgstr "包" + +#: src/common/text.c:1393 +msgid "Seconds" +msgstr "秒" + +#: src/common/text.c:1397 +msgid "Nick of person who have been invited" +msgstr "被邀请的用户" + +#: src/common/text.c:1404 +msgid "Banmask" +msgstr "屏蔽掩码" + +#: src/common/text.c:1405 +msgid "Who set the ban" +msgstr "设置屏蔽的用户" + +#: src/common/text.c:1406 +msgid "Ban time" +msgstr "屏蔽时间" + +#: src/common/text.c:1446 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"解析事件 %s 出错。\n" +"载入默认值。" + +#: src/common/text.c:2189 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"无法读取声音文件:\n" +"%s" + +#: src/common/util.c:297 +msgid "Remote host closed socket" +msgstr "远端主机已关闭套接字" + +#: src/common/util.c:302 +msgid "Connection refused" +msgstr "连接被拒绝" + +#: src/common/util.c:305 +msgid "No route to host" +msgstr "没有到主机的路由" + +#: src/common/util.c:307 +msgid "Connection timed out" +msgstr "连接超时" + +#: src/common/util.c:309 +msgid "Cannot assign that address" +msgstr "无法分配该地址" + +#: src/common/util.c:311 +msgid "Connection reset by peer" +msgstr "连接被重置" + +#: src/common/util.c:848 +msgid "Ascension Island" +msgstr "阿森松岛" + +#: src/common/util.c:849 +msgid "Andorra" +msgstr "安道尔" + +#: src/common/util.c:850 +msgid "United Arab Emirates" +msgstr "阿拉伯联合大公国" + +#: src/common/util.c:851 +msgid "Afghanistan" +msgstr "阿富汗" + +#: src/common/util.c:852 +msgid "Antigua and Barbuda" +msgstr "安地卡及巴布达" + +#: src/common/util.c:853 +msgid "Anguilla" +msgstr "安圭拉岛" + +#: src/common/util.c:854 +msgid "Albania" +msgstr "阿尔巴尼亚" + +#: src/common/util.c:855 +msgid "Armenia" +msgstr "亚美尼亚" + +#: src/common/util.c:856 +msgid "Netherlands Antilles" +msgstr "荷属安地列斯" + +#: src/common/util.c:857 +msgid "Angola" +msgstr "安哥拉" + +#: src/common/util.c:858 +msgid "Antarctica" +msgstr "南极洲" + +#: src/common/util.c:859 +msgid "Argentina" +msgstr "阿根廷" + +#: src/common/util.c:860 +msgid "Reverse DNS" +msgstr "反向 DNS" + +#: src/common/util.c:861 +msgid "American Samoa" +msgstr "美属萨摩亚" + +#: src/common/util.c:862 +msgid "Austria" +msgstr "奥地利" + +#: src/common/util.c:863 +msgid "Nato Fiel" +msgstr "北大西洋公约组织" + +#: src/common/util.c:864 +msgid "Australia" +msgstr "澳大利亚" + +#: src/common/util.c:865 +msgid "Aruba" +msgstr "阿卢巴岛" + +#: src/common/util.c:866 +msgid "Aland Islands" +msgstr "奥兰群岛" + +#: src/common/util.c:867 +msgid "Azerbaijan" +msgstr "亚塞拜然" + +#: src/common/util.c:868 +msgid "Bosnia and Herzegovina" +msgstr "波士尼亚及赫塞哥维那" + +#: src/common/util.c:869 +msgid "Barbados" +msgstr "巴贝多" + +#: src/common/util.c:870 +msgid "Bangladesh" +msgstr "孟加拉" + +#: src/common/util.c:871 +msgid "Belgium" +msgstr "比利时" + +#: src/common/util.c:872 +msgid "Burkina Faso" +msgstr "布吉纳法索" + +#: src/common/util.c:873 +msgid "Bulgaria" +msgstr "保加利亚" + +#: src/common/util.c:874 +msgid "Bahrain" +msgstr "巴林" + +#: src/common/util.c:875 +msgid "Burundi" +msgstr "浦隆地" + +#: src/common/util.c:876 +msgid "Businesses" +msgstr "商业" + +#: src/common/util.c:877 +msgid "Benin" +msgstr "贝南" + +#: src/common/util.c:878 +msgid "Bermuda" +msgstr "百慕达群岛" + +#: src/common/util.c:879 +msgid "Brunei Darussalam" +msgstr "汶莱" + +#: src/common/util.c:880 +msgid "Bolivia" +msgstr "玻利维亚" + +#: src/common/util.c:881 +msgid "Brazil" +msgstr "巴西" + +#: src/common/util.c:882 +msgid "Bahamas" +msgstr "巴哈马群岛" + +#: src/common/util.c:883 +msgid "Bhutan" +msgstr "不丹" + +#: src/common/util.c:884 +msgid "Bouvet Island" +msgstr "波维特岛" + +#: src/common/util.c:885 +msgid "Botswana" +msgstr "波札那" + +#: src/common/util.c:886 +msgid "Belarus" +msgstr "白俄" + +#: src/common/util.c:887 +msgid "Belize" +msgstr "贝里斯" + +#: src/common/util.c:888 +msgid "Canada" +msgstr "加拿大" + +#: src/common/util.c:889 +msgid "Cocos Islands" +msgstr "可可斯群岛" + +#: src/common/util.c:890 +msgid "Democratic Republic of Congo" +msgstr "刚果民主共和国" + +#: src/common/util.c:891 +msgid "Central African Republic" +msgstr "中非共和国" + +#: src/common/util.c:892 +msgid "Congo" +msgstr "刚果" + +#: src/common/util.c:893 +msgid "Switzerland" +msgstr "瑞士" + +#: src/common/util.c:894 +msgid "Cote d'Ivoire" +msgstr "象牙海岸" + +#: src/common/util.c:895 +msgid "Cook Islands" +msgstr "科克群岛" + +#: src/common/util.c:896 +msgid "Chile" +msgstr "智利" + +#: src/common/util.c:897 +msgid "Cameroon" +msgstr "喀麦隆" + +#: src/common/util.c:898 +msgid "China" +msgstr "中国" + +#: src/common/util.c:899 +msgid "Colombia" +msgstr "哥伦比亚" + +#: src/common/util.c:900 +msgid "Internic Commercial" +msgstr "Internic 商业组织" + +#: src/common/util.c:901 +msgid "Costa Rica" +msgstr "哥斯大黎加" + +#: src/common/util.c:902 +msgid "Serbia and Montenegro" +msgstr "塞尔维亚及蒙特尼哥罗" + +#: src/common/util.c:903 +msgid "Cuba" +msgstr "古巴" + +#: src/common/util.c:904 +msgid "Cape Verde" +msgstr "维德角岛" + +#: src/common/util.c:905 +msgid "Christmas Island" +msgstr "圣诞岛" + +#: src/common/util.c:906 +msgid "Cyprus" +msgstr "赛普勒斯" + +#: src/common/util.c:907 +msgid "Czech Republic" +msgstr "捷克共和国" + +#: src/common/util.c:908 +msgid "Germany" +msgstr "德国" + +#: src/common/util.c:909 +msgid "Djibouti" +msgstr "吉布地" + +#: src/common/util.c:910 +msgid "Denmark" +msgstr "丹麦" + +#: src/common/util.c:911 +msgid "Dominica" +msgstr "多明尼克" + +#: src/common/util.c:912 +msgid "Dominican Republic" +msgstr "多明尼加共和国" + +#: src/common/util.c:913 +msgid "Algeria" +msgstr "阿尔及利亚" + +#: src/common/util.c:914 +msgid "Ecuador" +msgstr "厄瓜多" + +#: src/common/util.c:915 +msgid "Educational Institution" +msgstr "教育机构" + +#: src/common/util.c:916 +msgid "Estonia" +msgstr "爱沙尼亚" + +#: src/common/util.c:917 +msgid "Egypt" +msgstr "埃及" + +#: src/common/util.c:918 +msgid "Western Sahara" +msgstr "西撒哈拉" + +#: src/common/util.c:919 +msgid "Eritrea" +msgstr "埃立特里亚" + +#: src/common/util.c:920 +msgid "Spain" +msgstr "西班牙" + +#: src/common/util.c:921 +msgid "Ethiopia" +msgstr "衣索比亚" + +#: src/common/util.c:922 +msgid "European Union" +msgstr "欧盟" + +#: src/common/util.c:923 +msgid "Finland" +msgstr "芬兰" + +#: src/common/util.c:924 +msgid "Fiji" +msgstr "斐济" + +#: src/common/util.c:925 +msgid "Falkland Islands" +msgstr "福克兰群岛" + +#: src/common/util.c:926 +msgid "Micronesia" +msgstr "密克罗尼西亚" + +#: src/common/util.c:927 +msgid "Faroe Islands" +msgstr "法罗群岛" + +#: src/common/util.c:928 +msgid "France" +msgstr "法国" + +#: src/common/util.c:929 +msgid "Gabon" +msgstr "加彭" + +#: src/common/util.c:930 +msgid "Great Britain" +msgstr "大不列颠" + +#: src/common/util.c:931 +msgid "Grenada" +msgstr "格瑞纳达" + +#: src/common/util.c:932 +msgid "Georgia" +msgstr "乔治亚" + +#: src/common/util.c:933 +msgid "French Guiana" +msgstr "法属圭亚那" + +#: src/common/util.c:934 +msgid "British Channel Isles" +msgstr "不列颠海峡群岛" + +#: src/common/util.c:935 +msgid "Ghana" +msgstr "迦纳" + +#: src/common/util.c:936 +msgid "Gibraltar" +msgstr "直布罗陀" + +#: src/common/util.c:937 +msgid "Greenland" +msgstr "格陵兰" + +#: src/common/util.c:938 +msgid "Gambia" +msgstr "甘比亚" + +#: src/common/util.c:939 +msgid "Guinea" +msgstr "几内亚" + +#: src/common/util.c:940 +msgid "Government" +msgstr "政府部门" + +#: src/common/util.c:941 +msgid "Guadeloupe" +msgstr "瓜德鲁普岛" + +#: src/common/util.c:942 +msgid "Equatorial Guinea" +msgstr "赤道几内亚" + +#: src/common/util.c:943 +msgid "Greece" +msgstr "希腊" + +#: src/common/util.c:944 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "南乔治亚及南桑威奇群岛" + +#: src/common/util.c:945 +msgid "Guatemala" +msgstr "瓜地马拉" + +#: src/common/util.c:946 +msgid "Guam" +msgstr "关岛" + +#: src/common/util.c:947 +msgid "Guinea-Bissau" +msgstr "几内亚比索" + +#: src/common/util.c:948 +msgid "Guyana" +msgstr "盖亚那" + +#: src/common/util.c:949 +msgid "Hong Kong" +msgstr "中国香港特别行政区" + +#: src/common/util.c:950 +msgid "Heard and McDonald Islands" +msgstr "赫德及麦当劳群岛" + +#: src/common/util.c:951 +msgid "Honduras" +msgstr "宏都拉斯" + +#: src/common/util.c:952 +msgid "Croatia" +msgstr "克罗埃西亚" + +#: src/common/util.c:953 +msgid "Haiti" +msgstr "海地" + +#: src/common/util.c:954 +msgid "Hungary" +msgstr "匈牙利" + +#: src/common/util.c:955 +msgid "Indonesia" +msgstr "印尼" + +#: src/common/util.c:956 +msgid "Ireland" +msgstr "爱尔兰" + +#: src/common/util.c:957 +msgid "Israel" +msgstr "以色列" + +#: src/common/util.c:958 +msgid "Isle of Man" +msgstr "曼岛" + +#: src/common/util.c:959 +msgid "India" +msgstr "印度" + +#: src/common/util.c:960 +msgid "Informational" +msgstr "信息机构" + +#: src/common/util.c:961 +msgid "International" +msgstr "国际组织" + +#: src/common/util.c:962 +msgid "British Indian Ocean Territory" +msgstr "英属印度洋地区" + +#: src/common/util.c:963 +msgid "Iraq" +msgstr "伊拉克" + +#: src/common/util.c:964 +msgid "Iran" +msgstr "伊朗" + +#: src/common/util.c:965 +msgid "Iceland" +msgstr "冰岛" + +#: src/common/util.c:966 +msgid "Italy" +msgstr "意大利" + +#: src/common/util.c:967 +msgid "Jersey" +msgstr "泽西岛" + +#: src/common/util.c:968 +msgid "Jamaica" +msgstr "牙买加" + +#: src/common/util.c:969 +msgid "Jordan" +msgstr "约旦" + +#: src/common/util.c:970 +msgid "Japan" +msgstr "日本" + +#: src/common/util.c:971 +msgid "Kenya" +msgstr "肯亚" + +#: src/common/util.c:972 +msgid "Kyrgyzstan" +msgstr "吉尔吉斯" + +#: src/common/util.c:973 +msgid "Cambodia" +msgstr "柬埔寨" + +#: src/common/util.c:974 +msgid "Kiribati" +msgstr "吉里巴斯" + +#: src/common/util.c:975 +msgid "Comoros" +msgstr "葛摩" + +#: src/common/util.c:976 +msgid "St. Kitts and Nevis" +msgstr "圣克里斯多福" + +#: src/common/util.c:977 +msgid "North Korea" +msgstr "朝鲜" + +#: src/common/util.c:978 +msgid "South Korea" +msgstr "韩国" + +#: src/common/util.c:979 +msgid "Kuwait" +msgstr "科威特" + +#: src/common/util.c:980 +msgid "Cayman Islands" +msgstr "开曼群岛" + +#: src/common/util.c:981 +msgid "Kazakhstan" +msgstr "哈萨克" + +#: src/common/util.c:982 +msgid "Laos" +msgstr "老挝" + +#: src/common/util.c:983 +msgid "Lebanon" +msgstr "黎巴嫩" + +#: src/common/util.c:984 +msgid "Saint Lucia" +msgstr "圣露西亚" + +#: src/common/util.c:985 +msgid "Liechtenstein" +msgstr "列支敦斯登" + +#: src/common/util.c:986 +msgid "Sri Lanka" +msgstr "斯里兰卡" + +#: src/common/util.c:987 +msgid "Liberia" +msgstr "赖比瑞亚" + +#: src/common/util.c:988 +msgid "Lesotho" +msgstr "赖索托" + +#: src/common/util.c:989 +msgid "Lithuania" +msgstr "立陶宛" + +#: src/common/util.c:990 +msgid "Luxembourg" +msgstr "卢森堡" + +#: src/common/util.c:991 +msgid "Latvia" +msgstr "拉脱维亚" + +#: src/common/util.c:992 +msgid "Libya" +msgstr "利比亚" + +#: src/common/util.c:993 +msgid "Morocco" +msgstr "摩洛哥" + +#: src/common/util.c:994 +msgid "Monaco" +msgstr "摩纳哥" + +#: src/common/util.c:995 +msgid "Moldova" +msgstr "摩尔多瓦" + +#: src/common/util.c:996 +msgid "United States Medical" +msgstr "美国医疗组织" + +#: src/common/util.c:997 +msgid "Madagascar" +msgstr "马达加斯加" + +#: src/common/util.c:998 +msgid "Marshall Islands" +msgstr "马绍尔群岛" + +#: src/common/util.c:999 +msgid "Military" +msgstr "军事机构" + +#: src/common/util.c:1000 +msgid "Macedonia" +msgstr "马其顿" + +#: src/common/util.c:1001 +msgid "Mali" +msgstr "马利" + +#: src/common/util.c:1002 +msgid "Myanmar" +msgstr "缅甸" + +#: src/common/util.c:1003 +msgid "Mongolia" +msgstr "蒙古" + +#: src/common/util.c:1004 +msgid "Macau" +msgstr "中国澳门特别行政区" + +#: src/common/util.c:1005 +msgid "Northern Mariana Islands" +msgstr "北马里亚纳群岛" + +#: src/common/util.c:1006 +msgid "Martinique" +msgstr "法属马丁尼克" + +#: src/common/util.c:1007 +msgid "Mauritania" +msgstr "茅利塔尼亚" + +#: src/common/util.c:1008 +msgid "Montserrat" +msgstr "蒙瑟拉特岛" + +#: src/common/util.c:1009 +msgid "Malta" +msgstr "马尔他" + +#: src/common/util.c:1010 +msgid "Mauritius" +msgstr "模里西斯" + +#: src/common/util.c:1011 +msgid "Maldives" +msgstr "马尔地夫" + +#: src/common/util.c:1012 +msgid "Malawi" +msgstr "马拉威" + +#: src/common/util.c:1013 +msgid "Mexico" +msgstr "墨西哥" + +#: src/common/util.c:1014 +msgid "Malaysia" +msgstr "马来西亚" + +#: src/common/util.c:1015 +msgid "Mozambique" +msgstr "莫三比克" + +#: src/common/util.c:1016 +msgid "Namibia" +msgstr "纳米比亚" + +#: src/common/util.c:1017 +msgid "New Caledonia" +msgstr "新喀里多尼亚岛" + +#: src/common/util.c:1018 +msgid "Niger" +msgstr "尼日" + +#: src/common/util.c:1019 +msgid "Internic Network" +msgstr "Internic 网络" + +#: src/common/util.c:1020 +msgid "Norfolk Island" +msgstr "诺福克岛" + +#: src/common/util.c:1021 +msgid "Nigeria" +msgstr "奈及利亚" + +#: src/common/util.c:1022 +msgid "Nicaragua" +msgstr "尼加拉瓜" + +#: src/common/util.c:1023 +msgid "Netherlands" +msgstr "荷兰" + +#: src/common/util.c:1024 +msgid "Norway" +msgstr "挪威" + +#: src/common/util.c:1025 +msgid "Nepal" +msgstr "尼泊尔" + +#: src/common/util.c:1026 +msgid "Nauru" +msgstr "诺鲁" + +#: src/common/util.c:1027 +msgid "Niue" +msgstr "纽威岛" + +#: src/common/util.c:1028 +msgid "New Zealand" +msgstr "纽西兰" + +#: src/common/util.c:1029 +msgid "Oman" +msgstr "阿曼" + +#: src/common/util.c:1030 +msgid "Internic Non-Profit Organization" +msgstr "Internic 非营利性组织" + +#: src/common/util.c:1031 +msgid "Panama" +msgstr "巴拿马" + +#: src/common/util.c:1032 +msgid "Peru" +msgstr "秘鲁" + +#: src/common/util.c:1033 +msgid "French Polynesia" +msgstr "法属波里尼西亚" + +#: src/common/util.c:1034 +msgid "Papua New Guinea" +msgstr "巴布亚纽几内亚" + +#: src/common/util.c:1035 +msgid "Philippines" +msgstr "菲律宾" + +#: src/common/util.c:1036 +msgid "Pakistan" +msgstr "巴基斯坦" + +#: src/common/util.c:1037 +msgid "Poland" +msgstr "波兰" + +#: src/common/util.c:1038 +msgid "St. Pierre and Miquelon" +msgstr "圣匹及密启伦群岛" + +#: src/common/util.c:1039 +msgid "Pitcairn" +msgstr "皮特康岛" + +#: src/common/util.c:1040 +msgid "Puerto Rico" +msgstr "波多黎各" + +#: src/common/util.c:1041 +msgid "Palestinian Territory" +msgstr "巴勒斯坦地区" + +#: src/common/util.c:1042 +msgid "Portugal" +msgstr "葡萄牙" + +#: src/common/util.c:1043 +msgid "Palau" +msgstr "帛琉群岛" + +#: src/common/util.c:1044 +msgid "Paraguay" +msgstr "巴拉圭" + +#: src/common/util.c:1045 +msgid "Qatar" +msgstr "卡达" + +#: src/common/util.c:1046 +msgid "Reunion" +msgstr "留尼旺" + +#: src/common/util.c:1047 +msgid "Romania" +msgstr "罗马尼亚" + +#: src/common/util.c:1048 +msgid "Old School ARPAnet" +msgstr "教育 ARPAnet" + +#: src/common/util.c:1049 +msgid "Russian Federation" +msgstr "俄罗斯联邦" + +#: src/common/util.c:1050 +msgid "Rwanda" +msgstr "卢安达" + +#: src/common/util.c:1051 +msgid "Saudi Arabia" +msgstr "沙乌地阿拉伯" + +#: src/common/util.c:1052 +msgid "Solomon Islands" +msgstr "所罗门群岛" + +#: src/common/util.c:1053 +msgid "Seychelles" +msgstr "塞席尔群岛" + +#: src/common/util.c:1054 +msgid "Sudan" +msgstr "苏丹" + +#: src/common/util.c:1055 +msgid "Sweden" +msgstr "瑞典" + +#: src/common/util.c:1056 +msgid "Singapore" +msgstr "新加坡" + +#: src/common/util.c:1057 +msgid "St. Helena" +msgstr "圣赫勒拿岛" + +#: src/common/util.c:1058 +msgid "Slovenia" +msgstr "斯洛凡尼亚" + +#: src/common/util.c:1059 +msgid "Svalbard and Jan Mayen Islands" +msgstr "冷岸及央麦恩群岛" + +#: src/common/util.c:1060 +msgid "Slovak Republic" +msgstr "斯洛伐克共和国" + +#: src/common/util.c:1061 +msgid "Sierra Leone" +msgstr "狮子山" + +#: src/common/util.c:1062 +msgid "San Marino" +msgstr "圣马利诺" + +#: src/common/util.c:1063 +msgid "Senegal" +msgstr "塞内加尔" + +#: src/common/util.c:1064 +msgid "Somalia" +msgstr "索马利亚" + +#: src/common/util.c:1065 +msgid "Suriname" +msgstr "苏利南" + +#: src/common/util.c:1066 +msgid "Sao Tome and Principe" +msgstr "圣多美和普林西比" + +#: src/common/util.c:1067 +msgid "Former USSR" +msgstr "前苏联" + +#: src/common/util.c:1068 +msgid "El Salvador" +msgstr "萨尔瓦多" + +#: src/common/util.c:1069 +msgid "Syria" +msgstr "叙利亚" + +#: src/common/util.c:1070 +msgid "Swaziland" +msgstr "史瓦济兰" + +#: src/common/util.c:1071 +msgid "Turks and Caicos Islands" +msgstr "土克斯及开科斯群岛" + +#: src/common/util.c:1072 +msgid "Chad" +msgstr "查德" + +#: src/common/util.c:1073 +msgid "French Southern Territories" +msgstr "法属南部地区" + +#: src/common/util.c:1074 +msgid "Togo" +msgstr "多哥" + +#: src/common/util.c:1075 +msgid "Thailand" +msgstr "泰国" + +#: src/common/util.c:1076 +msgid "Tajikistan" +msgstr "塔吉克" + +#: src/common/util.c:1077 +msgid "Tokelau" +msgstr "托克劳群岛" + +#: src/common/util.c:1078 src/common/util.c:1082 +msgid "East Timor" +msgstr "东帝汶" + +#: src/common/util.c:1079 +msgid "Turkmenistan" +msgstr "土库曼" + +#: src/common/util.c:1080 +msgid "Tunisia" +msgstr "突尼西亚" + +#: src/common/util.c:1081 +msgid "Tonga" +msgstr "东加" + +#: src/common/util.c:1083 +msgid "Turkey" +msgstr "土耳其" + +#: src/common/util.c:1084 +msgid "Trinidad and Tobago" +msgstr "千里达托贝哥" + +#: src/common/util.c:1085 +msgid "Tuvalu" +msgstr "吐瓦鲁" + +#: src/common/util.c:1086 +msgid "Taiwan" +msgstr "中国台北" + +#: src/common/util.c:1087 +msgid "Tanzania" +msgstr "坦尚尼亚" + +#: src/common/util.c:1088 +msgid "Ukraine" +msgstr "乌克兰" + +#: src/common/util.c:1089 +msgid "Uganda" +msgstr "乌干达" + +#: src/common/util.c:1090 +msgid "United Kingdom" +msgstr "英国" + +#: src/common/util.c:1091 +msgid "United States of America" +msgstr "美国" + +#: src/common/util.c:1092 +msgid "Uruguay" +msgstr "乌拉圭" + +#: src/common/util.c:1093 +msgid "Uzbekistan" +msgstr "乌兹别克" + +#: src/common/util.c:1094 +msgid "Vatican City State" +msgstr "梵蒂冈" + +#: src/common/util.c:1095 +msgid "St. Vincent and the Grenadines" +msgstr "圣文森及格瑞那丁" + +#: src/common/util.c:1096 +msgid "Venezuela" +msgstr "委内瑞拉" + +#: src/common/util.c:1097 +msgid "British Virgin Islands" +msgstr "英属维京群岛" + +#: src/common/util.c:1098 +msgid "US Virgin Islands" +msgstr "美属维京群岛" + +#: src/common/util.c:1099 +msgid "Vietnam" +msgstr "越南" + +#: src/common/util.c:1100 +msgid "Vanuatu" +msgstr "万那杜" + +#: src/common/util.c:1101 +msgid "Wallis and Futuna Islands" +msgstr "瓦里斯及富都拿群岛" + +#: src/common/util.c:1102 +msgid "Samoa" +msgstr "萨摩亚" + +#: src/common/util.c:1103 +msgid "Yemen" +msgstr "叶门" + +#: src/common/util.c:1104 +msgid "Mayotte" +msgstr "马尔他群岛" + +#: src/common/util.c:1105 +msgid "Yugoslavia" +msgstr "南斯拉夫" + +#: src/common/util.c:1106 +msgid "South Africa" +msgstr "南非" + +#: src/common/util.c:1107 +msgid "Zambia" +msgstr "尚比亚" + +#: src/common/util.c:1108 +msgid "Zimbabwe" +msgstr "辛巴威" + +#: src/common/util.c:1118 src/common/util.c:1128 src/fe-gtk/menu.c:611 +msgid "Unknown" +msgstr "未知" + +#: src/common/xchat.c:726 +msgid "_Open Dialog Window" +msgstr "打开对话窗口(_O)" + +#: src/common/xchat.c:727 +msgid "_Send a File" +msgstr "发送文件(_S)" + +#: src/common/xchat.c:728 +msgid "_User Info (WhoIs)" +msgstr "用户信息(_U)(WHOIS)" + +#: src/common/xchat.c:729 +msgid "_Add to Friends List" +msgstr "添加到好友列表(_A)" + +#: src/common/xchat.c:730 +msgid "O_perator Actions" +msgstr "管理员动作(_P)" + +#: src/common/xchat.c:732 +msgid "Give Ops" +msgstr "赋予管理员权限" + +#: src/common/xchat.c:733 +msgid "Take Ops" +msgstr "取消管理员权限" + +#: src/common/xchat.c:734 +msgid "Give Voice" +msgstr "赋予发言权" + +#: src/common/xchat.c:735 +msgid "Take Voice" +msgstr "取消发言权" + +#: src/common/xchat.c:737 +msgid "Kick/Ban" +msgstr "踢出/屏蔽" + +#: src/common/xchat.c:738 src/common/xchat.c:775 +msgid "Kick" +msgstr "踢出" + +#: src/common/xchat.c:739 src/common/xchat.c:740 src/common/xchat.c:741 +#: src/common/xchat.c:742 src/common/xchat.c:743 src/common/xchat.c:774 +msgid "Ban" +msgstr "屏蔽" + +#: src/common/xchat.c:744 src/common/xchat.c:745 src/common/xchat.c:746 +#: src/common/xchat.c:747 +msgid "KickBan" +msgstr "踢出并屏蔽" + +#: src/common/xchat.c:757 +msgid "Leave Channel" +msgstr "离开频道" + +#: src/common/xchat.c:758 +msgid "Join Channel..." +msgstr "进入频道..." + +#: src/common/xchat.c:759 src/fe-gtk/menu.c:1281 +msgid "Enter Channel to Join:" +msgstr "输入要进入的频道:" + +#: src/common/xchat.c:760 +msgid "Server Links" +msgstr "服务器列表" + +#: src/common/xchat.c:761 +msgid "Ping Server" +msgstr "Ping 服务器" + +#: src/common/xchat.c:762 +msgid "Hide Version" +msgstr "隐藏版本信息" + +#: src/common/xchat.c:772 +msgid "Op" +msgstr "赋予管理员权限" + +#: src/common/xchat.c:773 +msgid "DeOp" +msgstr "取消管理员权限" + +#: src/common/xchat.c:776 +msgid "bye" +msgstr "道别" + +#: src/common/xchat.c:777 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "输入踢出 %s 的原因:" + +#: src/common/xchat.c:778 +msgid "Sendfile" +msgstr "发送文件" + +#: src/common/xchat.c:779 +msgid "Dialog" +msgstr "对话" + +#: src/common/xchat.c:788 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/xchat.c:789 +msgid "Send" +msgstr "发送" + +#: src/common/xchat.c:790 +msgid "Chat" +msgstr "聊天" + +#: src/common/xchat.c:791 src/fe-gtk/banlist.c:413 src/fe-gtk/ignoregui.c:389 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "清除" + +#: src/common/xchat.c:792 +msgid "Ping" +msgstr "Ping" + +#: src/common/dbus/dbus-client.c:72 +msgid "Couldn't connect to session bus" +msgstr "无法连接到会话总线" + +#: src/common/dbus/dbus-client.c:86 +msgid "Failed to complete NameHasOwner" +msgstr "完成 NameHasOwner 失败" + +#: src/common/dbus/dbus-client.c:112 +msgid "Failed to complete Command" +msgstr "完成命令失败" + +#: src/common/dbus/dbus-plugin.c:30 +msgid "remote access" +msgstr "远程访问" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "plugin for remote access using DBUS" +msgstr "用 DBUS 远程访问的插件" + +#: src/common/dbus/dbus-plugin.c:897 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "无法连接到会话总线:%s\n" + +#: src/common/dbus/dbus-plugin.c:914 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "获取 %s 失败:%s\n" + +#: src/fe-gtk/about.c:102 +msgid "About " +msgstr "关于" + +#: src/fe-gtk/about.c:133 +msgid "A multiplatform IRC Client" +msgstr "跨平台的 IRC 客户端" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "特殊字符" + +#: src/fe-gtk/banlist.c:151 src/fe-gtk/chanlist.c:305 +#: src/fe-gtk/plugin-tray.c:302 +msgid "Not connected." +msgstr "未连接。" + +#: src/fe-gtk/banlist.c:249 src/fe-gtk/banlist.c:329 +msgid "You must select some bans." +msgstr "您必须选择一些被屏蔽。" + +#: src/fe-gtk/banlist.c:278 +#, c-format +msgid "Are you sure you want to remove all bans in %s?" +msgstr "您确定要删除 %s 中的全部屏蔽吗?" + +#: src/fe-gtk/banlist.c:344 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "掩码" + +#: src/fe-gtk/banlist.c:345 +msgid "From" +msgstr "来自" + +#: src/fe-gtk/banlist.c:346 +msgid "Date" +msgstr "日期" + +#: src/fe-gtk/banlist.c:389 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "您只能在一个频道的标签页下打开屏蔽列表窗口。" + +#: src/fe-gtk/banlist.c:393 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat:屏蔽列表(%s)" + +#: src/fe-gtk/banlist.c:409 src/fe-gtk/notifygui.c:432 +msgid "Remove" +msgstr "删除" + +#: src/fe-gtk/banlist.c:411 +msgid "Crop" +msgstr "剪切" + +#: src/fe-gtk/banlist.c:415 +msgid "Refresh" +msgstr "刷新" + +#: src/fe-gtk/chanlist.c:111 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "显示在 %3$d/%4$d 个频道中的 %1$d/%2$d 用户。" + +#: src/fe-gtk/chanlist.c:526 src/fe-gtk/menu.c:1217 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "选择输出文件名" + +#: src/fe-gtk/chanlist.c:631 src/fe-gtk/chanlist.c:799 +msgid "_Join Channel" +msgstr "进入频道(_J)" + +#: src/fe-gtk/chanlist.c:633 +msgid "_Copy Channel Name" +msgstr "复制频道名称(_C)" + +#: src/fe-gtk/chanlist.c:635 +msgid "Copy _Topic Text" +msgstr "复制频道主题(_T)" + +#: src/fe-gtk/chanlist.c:724 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat:频道列表(%s)" + +#: src/fe-gtk/chanlist.c:781 +msgid "_Search" +msgstr "搜索(_S)" + +#: src/fe-gtk/chanlist.c:787 +msgid "_Download List" +msgstr "下载列表(_D)" + +#: src/fe-gtk/chanlist.c:793 +msgid "Save _List..." +msgstr "保存列表(_L)..." + +#: src/fe-gtk/chanlist.c:806 +msgid "Show only:" +msgstr "只显示:" + +#: src/fe-gtk/chanlist.c:818 +msgid "channels with" +msgstr "有" + +#: src/fe-gtk/chanlist.c:831 +msgid "to" +msgstr "到" + +#: src/fe-gtk/chanlist.c:843 +msgid "users." +msgstr "位用户的频道。" + +#: src/fe-gtk/chanlist.c:849 +msgid "Look in:" +msgstr "按照:" + +#: src/fe-gtk/chanlist.c:861 +msgid "Channel name" +msgstr "频道名称" + +#: src/fe-gtk/chanlist.c:882 +msgid "Search type:" +msgstr "搜索类型:" + +#: src/fe-gtk/chanlist.c:889 +msgid "Simple Search" +msgstr "简单搜索" + +#: src/fe-gtk/chanlist.c:890 +msgid "Pattern Match (Wildcards)" +msgstr "模式匹配(通配符)" + +#: src/fe-gtk/chanlist.c:892 +msgid "Regular Expression" +msgstr "正则表达式" + +#: src/fe-gtk/chanlist.c:903 src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "查找:" + +#: src/fe-gtk/dccgui.c:166 +#, c-format +msgid "Send file to %s" +msgstr "给 %s 发送文件" + +#: src/fe-gtk/dccgui.c:496 +msgid "That file is not resumable." +msgstr "该文件不可续传。" + +#: src/fe-gtk/dccgui.c:500 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"不能访问文件:%s\n" +"%s。\n" +"无法续传。" + +#: src/fe-gtk/dccgui.c:507 +msgid "File in download directory is larger than file offered. Resuming not possible." +msgstr "下载目录中的文件比提供的文件大,无法续传。" + +#: src/fe-gtk/dccgui.c:511 +msgid "Cannot resume the same file from two people." +msgstr "不能从两人处续传同一文件" + +#: src/fe-gtk/dccgui.c:740 +msgid "XChat: Uploads and Downloads" +msgstr "XChat:文件传输列表" + +#: src/fe-gtk/dccgui.c:756 src/fe-gtk/dccgui.c:995 src/fe-gtk/notifygui.c:138 +msgid "Status" +msgstr "状态" + +#: src/fe-gtk/dccgui.c:757 src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "文件" + +#: src/fe-gtk/dccgui.c:762 +msgid "ETA" +msgstr "剩余时间" + +#: src/fe-gtk/dccgui.c:787 src/fe-gtk/menu.c:1593 +msgid "Both" +msgstr "两者" + +#: src/fe-gtk/dccgui.c:793 +msgid "Uploads" +msgstr "上传" + +#: src/fe-gtk/dccgui.c:799 +msgid "Downloads" +msgstr "下载" + +#: src/fe-gtk/dccgui.c:804 +msgid "Details" +msgstr "详细信息" + +#: src/fe-gtk/dccgui.c:815 +msgid "File:" +msgstr "文件:" + +#: src/fe-gtk/dccgui.c:816 +msgid "Address:" +msgstr "地址:" + +#: src/fe-gtk/dccgui.c:822 src/fe-gtk/dccgui.c:1019 +msgid "Abort" +msgstr "中止" + +#: src/fe-gtk/dccgui.c:823 src/fe-gtk/dccgui.c:1020 +msgid "Accept" +msgstr "接受" + +#: src/fe-gtk/dccgui.c:824 +msgid "Resume" +msgstr "续传" + +#: src/fe-gtk/dccgui.c:825 +msgid "Open Folder..." +msgstr "打开目录..." + +#: src/fe-gtk/dccgui.c:985 +msgid "XChat: DCC Chat List" +msgstr "XChat:DCC 直连聊天列表" + +#: src/fe-gtk/dccgui.c:997 +msgid "Recv" +msgstr "已接收" + +#: src/fe-gtk/dccgui.c:998 +msgid "Sent" +msgstr "已发送" + +#: src/fe-gtk/dccgui.c:999 +msgid "Start Time" +msgstr "开始时间" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*添加*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "编辑" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/notifygui.c:137 +#: src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "名称" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "命令" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "上移" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "下移" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "取消" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "保存" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:765 +msgid "Add New" +msgstr "添加" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:770 src/fe-gtk/ignoregui.c:387 +msgid "Delete" +msgstr "删除" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "排序" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "帮助" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Don't auto connect to servers" +msgstr "不要自动连接到服务器" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Use a different config directory" +msgstr "使用不同的设置目录" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Don't auto load any plugins" +msgstr "不自动载入任何插件" + +#: src/fe-gtk/fe-gtk.c:129 +msgid "Show plugin auto-load directory" +msgstr "显示插件自动载入的目录" + +#: src/fe-gtk/fe-gtk.c:130 +msgid "Show user config directory" +msgstr "显示用户设置目录" + +#: src/fe-gtk/fe-gtk.c:131 +msgid "Open an irc://server:port/channel URL" +msgstr "打开一个 irc://server:port/channel URL" + +#: src/fe-gtk/fe-gtk.c:133 src/fe-gtk/setup.c:212 +msgid "Execute command:" +msgstr "执行命令:" + +#: src/fe-gtk/fe-gtk.c:134 +msgid "Open URL or execute command in an existing XChat" +msgstr "在 XChat 中打开 URL 或执行命令" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "启动后最小化。级别 0=正常 1=仅图标 2=托盘" + +#: src/fe-gtk/fe-gtk.c:136 +msgid "level" +msgstr "级别" + +#: src/fe-gtk/fe-gtk.c:137 +msgid "Show version information" +msgstr "显示版本信息" + +#: src/fe-gtk/fe-gtk.c:257 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"打开字体失败:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:636 +msgid "Search buffer is empty.\n" +msgstr "搜索缓冲区当前为空。\n" + +#: src/fe-gtk/fe-gtk.c:732 +#, c-format +msgid "%d bytes" +msgstr "%d 字节" + +#: src/fe-gtk/fe-gtk.c:733 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "网络发送队列:%d 字节" + +#: src/fe-gtk/fkeys.c:159 +msgid "The Run Command action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" +msgstr "“Run Command”会执行数据 1 中的数据,就如同您是在输入按键序列后出现的输入格中键入这些数据一样。这样,它就会包含文本 (这些文本会被发送给频道或某人)、命令或用户命令。执行时,数据 1 中所有“\\n”字符 被用来分隔命令,因此您可以执行不止一个命令。如果您想在执行的文本中包含字符“\\”,您应该输入“\\\\”" + +#: src/fe-gtk/fkeys.c:161 +msgid "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position" +msgstr "“Change Page”命令在您的笔记本中的标签页间切换。将数据 1 设置成您要切换的标签页。如果数据 2 被设置成任意值,切换标签页数将相对于当前位置而言" + +#: src/fe-gtk/fkeys.c:163 +msgid "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" +msgstr "“Insert in Buffer”命令在当前游标处把数据 1 中的内容插入到接受按键序列的输入格中" + +#: src/fe-gtk/fkeys.c:165 +msgid "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "“Scroll Page”命令在文本窗口元件中上下滚动一页或一列。设置数据 1 为 Up、DOWN、+1 或 -1。" + +#: src/fe-gtk/fkeys.c:167 +msgid "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" +msgstr "“Set Buffer”命令把接受按键序列后的输入格设置成数据 1 中的内容" + +#: src/fe-gtk/fkeys.c:169 +msgid "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" +msgstr "“Last Command”命令把输入区域设为前一个命令 - 和在终端中按向上箭头效果相同" + +#: src/fe-gtk/fkeys.c:171 +msgid "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" +msgstr "“Next Command”命令把输入区域设为下一个命令 - 和在终端中按向下箭头效果相同" + +#: src/fe-gtk/fkeys.c:173 +msgid "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" +msgstr "该命令改变输入格中文本,来完成未输入完毕的用户昵称或命令。如果数据 1 被设置,那么,双击 tab 键会选择最后一个昵称,而非下一个" + +#: src/fe-gtk/fkeys.c:175 +msgid "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" +msgstr "该命令在昵称列表中上下移动。如果数据 1 被设置成任意值,它会上移,否则下移" + +#: src/fe-gtk/fkeys.c:177 +msgid "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" +msgstr "该命令对照替换列表来检查输入的最后一词,若找到符合者就代替它" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "该命令把最上面的标签页向左移一格" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "该命令把最上面的标签页向右移一格" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "该命令把当前标签页向左移一格" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "该命令把当前标签页向右移一格" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "把输入存入历史,但不发送到服务器" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "载入键盘映射配置时出错" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:743 src/fe-gtk/fkeys.c:749 +#: src/fe-gtk/fkeys.c:754 src/fe-gtk/maingui.c:1635 src/fe-gtk/maingui.c:1751 +#: src/fe-gtk/maingui.c:3252 +msgid "<none>" +msgstr "<无>" + +#: src/fe-gtk/fkeys.c:707 +msgid "Mod" +msgstr "修饰键" + +#: src/fe-gtk/fkeys.c:708 src/fe-gtk/fkeys.c:803 +msgid "Key" +msgstr "按键" + +#: src/fe-gtk/fkeys.c:709 +msgid "Action" +msgstr "动作" + +#: src/fe-gtk/fkeys.c:718 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat:键盘快捷键" + +#: src/fe-gtk/fkeys.c:796 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:798 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:800 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:807 +msgid "Data 1" +msgstr "数据 1" + +#: src/fe-gtk/fkeys.c:810 +msgid "Data 2" +msgstr "数据 2" + +#: src/fe-gtk/fkeys.c:852 +msgid "Error opening keys config file\n" +msgstr "打开按键配置文件时出错\n" + +#: src/fe-gtk/fkeys.c:1019 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"键盘映射配置文件中没有键名 %s\n" +"中止载入,请修复 %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1057 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"键盘映射配置文件中没有动作 %s\n" +"中止载入,请修复 %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1078 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"期待数据列(以 Dx{:|!} 开始),却得到:\n" +"%s\n" +"\n" +"中止载入。请修复 %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1147 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"键盘映射配置文件损坏,中止载入\n" +"请修复 %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:117 +msgid "Cannot write to that file." +msgstr "无法写入该文件。" + +#: src/fe-gtk/gtkutil.c:119 +msgid "Cannot read that file." +msgstr "无法读取该文件。" + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:264 +msgid "That mask already exists." +msgstr "该掩码已存在。" + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:2132 +msgid "Private" +msgstr "私聊" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "通知" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "邀请" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "取消忽略" + +#: src/fe-gtk/ignoregui.c:308 +msgid "Enter mask to ignore:" +msgstr "输入要忽略的掩码:" + +#: src/fe-gtk/ignoregui.c:355 +msgid "XChat: Ignore list" +msgstr "XChat:忽略列表" + +#: src/fe-gtk/ignoregui.c:362 +msgid "Ignore Stats:" +msgstr "忽略统计:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Channel:" +msgstr "频道:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Private:" +msgstr "私聊:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Notice:" +msgstr "通知:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:374 +msgid "Invite:" +msgstr "邀请:" + +#: src/fe-gtk/ignoregui.c:385 src/fe-gtk/notifygui.c:428 +msgid "Add..." +msgstr "添加..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "频道名称过短,请重新尝试" + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat:连接完毕" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "成功建立到 %s 的连接" + +#: src/fe-gtk/joind.c:159 +msgid "In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network." +msgstr "在服务器列表窗口,没有添加自动进入的频道名称" + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "您接下来要进行怎样的操作?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "我稍后自行进入频道。(_N)" + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "进入以下频道(_J):" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "如果您知道想要进入的频道的名称,请在这里输入。" + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "打开频道列表窗口(_P):" + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "检索频道列表可能需要一两分钟。" + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "每次连接后都显示该对话框。(_A)" + +#: src/fe-gtk/maingui.c:506 +msgid "Dialog with" +msgstr "与以下用户对话:" + +#: src/fe-gtk/maingui.c:793 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s 的主题:%s" + +#: src/fe-gtk/maingui.c:798 +msgid "No topic is set" +msgstr "没有设置主题" + +#: src/fe-gtk/maingui.c:1182 +#, c-format +msgid "This server still has %d channels or dialogs associated with it. Close them all?" +msgstr "这台服务器仍然有 %d 个与它相关的频道或对话。要全部关闭吗?" + +#: src/fe-gtk/maingui.c:1276 +msgid "Quit XChat?" +msgstr "确实要退出 XChat?" + +#: src/fe-gtk/maingui.c:1297 +msgid "Don't ask next time." +msgstr "下次不再询问。" + +#: src/fe-gtk/maingui.c:1303 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "您已连接到 %i 个 IRC 网络。" + +#: src/fe-gtk/maingui.c:1305 +msgid "Are you sure you want to quit?" +msgstr "您确定要退出吗?" + +#: src/fe-gtk/maingui.c:1307 +msgid "Some file transfers are still active." +msgstr "某些文件传输仍在进行." + +#: src/fe-gtk/maingui.c:1325 +msgid "_Minimize to Tray" +msgstr "最小化至系统托盘(_M)" + +#: src/fe-gtk/maingui.c:1545 +msgid "Insert Attribute or Color Code" +msgstr "插入属性或颜色代码" + +#: src/fe-gtk/maingui.c:1547 +msgid "<b>Bold</b>" +msgstr "<b>粗体</b>" + +#: src/fe-gtk/maingui.c:1548 +msgid "<u>Underline</u>" +msgstr "<u>底线</u>" + +#: src/fe-gtk/maingui.c:1550 +msgid "Normal" +msgstr "正常" + +#: src/fe-gtk/maingui.c:1552 +msgid "Colors 0-7" +msgstr "颜色 0-7" + +#: src/fe-gtk/maingui.c:1562 +msgid "Colors 8-15" +msgstr "颜色 8-15" + +#: src/fe-gtk/maingui.c:1605 +msgid "_Settings" +msgstr "设置(_S)" + +#: src/fe-gtk/maingui.c:1607 +msgid "_Log to Disk" +msgstr "记录聊天日志到磁盘(_L)" + +#: src/fe-gtk/maingui.c:1608 +msgid "_Reload Scrollback" +msgstr "重新载入最近日志(_R)" + +#: src/fe-gtk/maingui.c:1610 +msgid "_Hide Join/Part Messages" +msgstr "隐藏进入/离开信息(_H)" + +#: src/fe-gtk/maingui.c:1618 +msgid "_Extra Alerts" +msgstr "额外警报(_E)" + +#: src/fe-gtk/maingui.c:1620 +msgid "Beep on _Message" +msgstr "有信息时响铃提示(_M)" + +#: src/fe-gtk/maingui.c:1621 +msgid "Blink Tray _Icon" +msgstr "闪烁托盘图标(_I)" + +#: src/fe-gtk/maingui.c:1622 +msgid "Blink Task _Bar" +msgstr "闪烁任务栏图标(_B)" + +#: src/fe-gtk/maingui.c:1660 src/fe-gtk/menu.c:2124 +msgid "_Detach" +msgstr "分离(_D)" + +#: src/fe-gtk/maingui.c:1662 src/fe-gtk/menu.c:2125 src/fe-gtk/menu.c:2130 +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "关闭(_C)" + +#: src/fe-gtk/maingui.c:2000 src/fe-gtk/maingui.c:2106 +msgid "User limit must be a number!\n" +msgstr "用户限制必须是数字!\n" + +#: src/fe-gtk/maingui.c:2128 +msgid "Topic Protection" +msgstr "主题保护" + +#: src/fe-gtk/maingui.c:2129 +msgid "No outside messages" +msgstr "无室外信息" + +#: src/fe-gtk/maingui.c:2130 +msgid "Secret" +msgstr "秘密" + +#: src/fe-gtk/maingui.c:2131 +msgid "Invite Only" +msgstr "仅邀请" + +#: src/fe-gtk/maingui.c:2133 +msgid "Moderated" +msgstr "监管状态" + +#: src/fe-gtk/maingui.c:2134 +msgid "Ban List" +msgstr "屏蔽列表" + +#: src/fe-gtk/maingui.c:2136 +msgid "Keyword" +msgstr "密码" + +#: src/fe-gtk/maingui.c:2148 +msgid "User Limit" +msgstr "用户限制" + +#: src/fe-gtk/maingui.c:2257 +msgid "Show/Hide userlist" +msgstr "显示/隐藏用户列表" + +#: src/fe-gtk/maingui.c:2382 +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 "" +"无法设置透明背景!\n" +"\n" +"或许您正使用当前尚不被支持的\n" +"窗口管理程序。\n" + +#: src/fe-gtk/maingui.c:2653 +msgid "Enter new nickname:" +msgstr "输入新昵称:" + +#: src/fe-gtk/menu.c:126 +msgid "Host unknown" +msgstr "未知主机" + +#: src/fe-gtk/menu.c:610 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:616 src/fe-gtk/menu.c:620 +msgid "Real Name:" +msgstr "真实姓名:" + +#: src/fe-gtk/menu.c:624 +msgid "User:" +msgstr "用户:" + +#: src/fe-gtk/menu.c:628 +msgid "Country:" +msgstr "国家:" + +#: src/fe-gtk/menu.c:632 +msgid "Server:" +msgstr "服务器:" + +#: src/fe-gtk/menu.c:640 +#, c-format +msgid "%u minutes ago" +msgstr "%u 分钟之前" + +#: src/fe-gtk/menu.c:642 src/fe-gtk/menu.c:645 +msgid "Last Msg:" +msgstr "最后发言:" + +#: src/fe-gtk/menu.c:655 +msgid "Away Msg:" +msgstr "离开信息:" + +#: src/fe-gtk/menu.c:710 +#, c-format +msgid "%d nicks selected." +msgstr "已选择 %d 个昵称。" + +#: src/fe-gtk/menu.c:835 +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 "菜单栏当前已隐藏。您可以藉由按下 F9 或以鼠标右键点选主要文本区域的空白部份来重新显示它。" + +#: src/fe-gtk/menu.c:930 +msgid "Open Link in Browser" +msgstr "在浏览器中打开链接" + +#: src/fe-gtk/menu.c:931 +msgid "Copy Selected Link" +msgstr "复制选取的链接" + +#: src/fe-gtk/menu.c:993 src/fe-gtk/menu.c:1264 +msgid "Join Channel" +msgstr "进入频道" + +#: src/fe-gtk/menu.c:997 +msgid "Part Channel" +msgstr "离开频道" + +#: src/fe-gtk/menu.c:999 +msgid "Cycle Channel" +msgstr "离开频道,而后立即进入" + +#: src/fe-gtk/menu.c:1035 +msgid "_Remove from Favorites" +msgstr "从收藏中删除(_R)" + +#: src/fe-gtk/menu.c:1037 +msgid "_Add to Favorites" +msgstr "添加到最爱(_A)" + +#: src/fe-gtk/menu.c:1056 +msgid "XChat: User menu" +msgstr "XChat:用户菜单" + +#: src/fe-gtk/menu.c:1065 +msgid "Edit This Menu..." +msgstr "编辑此菜单..." + +#: src/fe-gtk/menu.c:1266 +msgid "Retrieve channel list..." +msgstr "获取频道列表..." + +#: src/fe-gtk/menu.c:1334 +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 = xchat 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 "" +"用户命令 - 特殊编码:\n" +"\n" +"%c = 当前频道\n" +"%e = 当前网络名称\n" +"%m = 机器信息\n" +"%n = 昵称\n" +"%t = 时间/日期\n" +"%v = xchat 版本\n" +"%2 = 第 2 个词\n" +"%3 = 第 3 个词\n" +"&2 = 从第 2 个词到行末\n" +"&3 = 从第 3 个词到行末\n" +"\n" +"如:\n" +"/cmd john hello\n" +"\n" +"%2 是“john”\n" +"&2 是“john hello”。" + +#: src/fe-gtk/menu.c:1350 +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 "" +"用户列表按钮 - 特殊编码:\n" +"\n" +"%a = 所有选取的用户\n" +"%c = 当前频道\n" +"%e = 当前网络名称\n" +"%h = 选取的昵称的主机名\n" +"%m = 机器信息\n" +"%n = 您的昵称\n" +"%s = 选取的昵称\n" +"%t = 时间/日期\n" + +#: src/fe-gtk/menu.c:1360 +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 "" +"对话按钮 - 特殊编码:\n" +"\n" +"%a = 所有选取的用户\n" +"%c = 当前频道\n" +"%e = 当前网络名称\n" +"%h = 选取的昵称的主机名\n" +"%m = 机器信息\n" +"%n = 您的昵称\n" +"%s = 选取的昵称\n" +"%t = 时间/日期\n" + +#: src/fe-gtk/menu.c:1370 +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 "" +"CTCP 回应 - 特殊编码:\n" +"\n" +"%d = 数据 (全部 ctcp)\n" +"%e = 当前网络名称\n" +"%m = 机器信息\n" +"%s = 发送 ctcp 的用户\n" +"%t = 时间/日期\n" +"%2 = 第 2 个词\n" +"%3 = 第 3 个词\n" +"&2 = 从第 2 个词到行末\n" +"&3 = 从第 3 个词到行末\n" +"\n" + +#: src/fe-gtk/menu.c:1381 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"URL 处理程序 - 特殊编码:\n" +"\n" +"%s = URL 字符串\n" +"\n" +"在命令前加一个“!”表示\n" +"该命令应被发送到 shell 而\n" +"非 XChat" + +#: src/fe-gtk/menu.c:1390 +msgid "XChat: User Defined Commands" +msgstr "XChat:用户自定义命令" + +#: src/fe-gtk/menu.c:1397 +msgid "XChat: Userlist Popup menu" +msgstr "XChat:用户列表弹出菜单" + +#: src/fe-gtk/menu.c:1404 +msgid "Replace with" +msgstr "使用以下替换" + +#: src/fe-gtk/menu.c:1404 +msgid "XChat: Replace" +msgstr "XChat:替换" + +#: src/fe-gtk/menu.c:1411 +msgid "XChat: URL Handlers" +msgstr "XChat:URL 处理程序" + +#: src/fe-gtk/menu.c:1430 +msgid "XChat: Userlist buttons" +msgstr "XChat:用户列表按钮" + +#: src/fe-gtk/menu.c:1437 +msgid "XChat: Dialog buttons" +msgstr "XChat:对话按钮" + +#: src/fe-gtk/menu.c:1444 +msgid "XChat: CTCP Replies" +msgstr "XChat:CTCP 回应" + +#: src/fe-gtk/menu.c:1550 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1551 +msgid "Network Li_st..." +msgstr "网络列表(_S)..." + +#: src/fe-gtk/menu.c:1554 +msgid "_New" +msgstr "添加(_N)" + +#: src/fe-gtk/menu.c:1555 +msgid "Server Tab..." +msgstr "服务器标签页..." + +#: src/fe-gtk/menu.c:1556 +msgid "Channel Tab..." +msgstr "频道标签页..." + +#: src/fe-gtk/menu.c:1557 +msgid "Server Window..." +msgstr "服务器窗口..." + +#: src/fe-gtk/menu.c:1558 +msgid "Channel Window..." +msgstr "频道窗口..." + +#: src/fe-gtk/menu.c:1563 src/fe-gtk/menu.c:1565 +msgid "_Load Plugin or Script..." +msgstr "载入插件或脚本(_L)..." + +#: src/fe-gtk/menu.c:1573 src/fe-gtk/plugin-tray.c:604 +msgid "_Quit" +msgstr "离开(_Q)" + +#: src/fe-gtk/menu.c:1575 +msgid "_View" +msgstr "查看(_V)" + +#: src/fe-gtk/menu.c:1577 +msgid "_Menu Bar" +msgstr "菜单栏(_M)" + +#: src/fe-gtk/menu.c:1578 +msgid "_Topic Bar" +msgstr "主题栏(_T)" + +#: src/fe-gtk/menu.c:1579 +msgid "_User List" +msgstr "用户菜单(_U)" + +#: src/fe-gtk/menu.c:1580 +msgid "U_serlist Buttons" +msgstr "用户列表按钮(_U)..." + +#: src/fe-gtk/menu.c:1581 +msgid "M_ode Buttons" +msgstr "模式按钮(_O)" + +#: src/fe-gtk/menu.c:1583 +msgid "_Channel Switcher" +msgstr "频道转换器(_C)" + +#: src/fe-gtk/menu.c:1585 +msgid "_Tabs" +msgstr "标签页(_T)" + +#: src/fe-gtk/menu.c:1586 +msgid "T_ree" +msgstr "树状图(_R)" + +#: src/fe-gtk/menu.c:1588 +msgid "_Network Meters" +msgstr "网络流量(_N)" + +#: src/fe-gtk/menu.c:1590 +msgid "Off" +msgstr "离线" + +#: src/fe-gtk/menu.c:1591 +msgid "Graph" +msgstr "图形" + +#: src/fe-gtk/menu.c:1596 +msgid "_Server" +msgstr "服务器(_S)" + +#: src/fe-gtk/menu.c:1597 +msgid "_Disconnect" +msgstr "断开连接(_D)" + +#: src/fe-gtk/menu.c:1598 +msgid "_Reconnect" +msgstr "重新连接(_R)" + +#: src/fe-gtk/menu.c:1599 +msgid "Join a Channel..." +msgstr "进入频道..." + +#: src/fe-gtk/menu.c:1600 +msgid "List of Channels..." +msgstr "频道列表..." + +#: src/fe-gtk/menu.c:1603 +msgid "Marked Away" +msgstr "标记为离开" + +#: src/fe-gtk/menu.c:1605 +msgid "_Usermenu" +msgstr "用户菜单(_U)" + +#: src/fe-gtk/menu.c:1607 +msgid "S_ettings" +msgstr "设置(_E)" + +#: src/fe-gtk/menu.c:1608 +msgid "_Preferences" +msgstr "首选项(_P)" + +#: src/fe-gtk/menu.c:1610 +msgid "Advanced" +msgstr "高级" + +#: src/fe-gtk/menu.c:1611 +msgid "Auto Replace..." +msgstr "自动替换..." + +#: src/fe-gtk/menu.c:1612 +msgid "CTCP Replies..." +msgstr "CTCP 回应..." + +#: src/fe-gtk/menu.c:1613 +msgid "Dialog Buttons..." +msgstr "对话框按钮..." + +#: src/fe-gtk/menu.c:1614 +msgid "Keyboard Shortcuts..." +msgstr "键盘快捷键..." + +#: src/fe-gtk/menu.c:1615 +msgid "Text Events..." +msgstr "文本事件..." + +#: src/fe-gtk/menu.c:1616 +msgid "URL Handlers..." +msgstr "URL 处理程序..." + +#: src/fe-gtk/menu.c:1617 +msgid "User Commands..." +msgstr "用户命令..." + +#: src/fe-gtk/menu.c:1618 +msgid "Userlist Buttons..." +msgstr "用户列表按钮..." + +#: src/fe-gtk/menu.c:1619 +msgid "Userlist Popup..." +msgstr "用户列表弹出菜单..." + +#: src/fe-gtk/menu.c:1622 +msgid "_Window" +msgstr "窗口(_W)" + +#: src/fe-gtk/menu.c:1623 +msgid "Ban List..." +msgstr "屏蔽列表..." + +#: src/fe-gtk/menu.c:1624 +msgid "Character Chart..." +msgstr "特殊字符..." + +#: src/fe-gtk/menu.c:1625 +msgid "Direct Chat..." +msgstr "直连聊天..." + +#: src/fe-gtk/menu.c:1626 +msgid "File Transfers..." +msgstr "文件传输..." + +#: src/fe-gtk/menu.c:1627 +msgid "Friends List..." +msgstr "好友列表" + +#: src/fe-gtk/menu.c:1628 +msgid "Ignore List..." +msgstr "忽略列表..." + +#: src/fe-gtk/menu.c:1629 +msgid "Plugins and Scripts..." +msgstr "插件和脚本..." + +#: src/fe-gtk/menu.c:1630 +msgid "Raw Log..." +msgstr "原始记录..." + +#: src/fe-gtk/menu.c:1631 +msgid "URL Grabber..." +msgstr "URL 抓取程序..." + +#: src/fe-gtk/menu.c:1633 +msgid "Reset Marker Line" +msgstr "重置标记线" + +#: src/fe-gtk/menu.c:1634 +msgid "C_lear Text" +msgstr "清空文本(_L)" + +#: src/fe-gtk/menu.c:1636 +msgid "Search Text..." +msgstr "搜索文本..." + +#: src/fe-gtk/menu.c:1637 +msgid "Save Text..." +msgstr "保存文本..." + +#: src/fe-gtk/menu.c:1639 src/fe-gtk/menu.c:2116 +msgid "_Help" +msgstr "帮助(_H)" + +#: src/fe-gtk/menu.c:1640 +msgid "_Contents" +msgstr "内容(_C)" + +#: src/fe-gtk/menu.c:1642 +msgid "Check for updates" +msgstr "检查更新" + +#: src/fe-gtk/menu.c:1644 +msgid "_About" +msgstr "关于(_A)" + +#: src/fe-gtk/menu.c:2129 +msgid "_Attach" +msgstr "整合(_A)" + +#: src/fe-gtk/notifygui.c:140 +msgid "Last Seen" +msgstr "上次发现" + +#: src/fe-gtk/notifygui.c:182 +msgid "Offline" +msgstr "离线" + +#: src/fe-gtk/notifygui.c:202 src/fe-gtk/setup.c:231 +msgid "Never" +msgstr "从不" + +#: src/fe-gtk/notifygui.c:205 src/fe-gtk/notifygui.c:230 +#, c-format +msgid "%d minutes ago" +msgstr "%d 分钟之前" + +#: src/fe-gtk/notifygui.c:220 +msgid "Online" +msgstr "上线" + +#: src/fe-gtk/notifygui.c:349 +msgid "Enter nickname to add:" +msgstr "输入要添加的昵称:" + +#: src/fe-gtk/notifygui.c:378 +msgid "Notify on these networks:" +msgstr "在这些网络中进行通知:" + +#: src/fe-gtk/notifygui.c:389 +msgid "Comma separated list of networks is accepted." +msgstr "此处允许使用逗号分隔多个网络。" + +#: src/fe-gtk/notifygui.c:415 +msgid "XChat: Friends List" +msgstr "XChat:好友列表" + +#: src/fe-gtk/notifygui.c:436 +msgid "Open Dialog" +msgstr "打开对话" + +#: src/fe-gtk/plugin-tray.c:248 +msgid "" +"Cannot find 'notify-send' to open balloon alerts.\n" +"Please install libnotify." +msgstr "" +"不能找到 'notify-send' 以用于开启气泡提示。\n" +"请安装 libnotify 软件包。" + +#: src/fe-gtk/plugin-tray.c:299 +#, c-format +msgid "XChat: Connected to %u networks and %u channels" +msgstr "XChat:已连接到 %u 个网络和 %u 个频道" + +#: src/fe-gtk/plugin-tray.c:583 +msgid "_Restore" +msgstr "恢复(_R)" + +#: src/fe-gtk/plugin-tray.c:585 +msgid "_Hide" +msgstr "隐藏(_H)" + +#: src/fe-gtk/plugin-tray.c:588 +msgid "_Blink on" +msgstr "闪烁于(_B)" + +#: src/fe-gtk/plugin-tray.c:589 src/fe-gtk/setup.c:479 +msgid "Channel Message" +msgstr "频道消息" + +#: src/fe-gtk/plugin-tray.c:590 src/fe-gtk/setup.c:480 +msgid "Private Message" +msgstr "私聊消息" + +#: src/fe-gtk/plugin-tray.c:591 src/fe-gtk/setup.c:481 +msgid "Highlighted Message" +msgstr "高亮显示的消息" + +#: src/fe-gtk/plugin-tray.c:594 +msgid "_Change status" +msgstr "更改状态(_C)" + +#: src/fe-gtk/plugin-tray.c:596 +msgid "_Away" +msgstr "离开(_A)" + +#: src/fe-gtk/plugin-tray.c:599 +msgid "_Back" +msgstr "返回(_B)" + +#: src/fe-gtk/plugin-tray.c:648 src/fe-gtk/plugin-tray.c:656 +#, c-format +msgid "XChat: Highlighted message from: %s (%s)" +msgstr "XChat:高亮消息来自于:%s (%s)" + +#: src/fe-gtk/plugin-tray.c:651 +#, c-format +msgid "XChat: %u highlighted messages, latest from: %s (%s)" +msgstr "XChat:%u 条高亮消息,最近一条来自于:%s (%s)" + +#: src/fe-gtk/plugin-tray.c:674 src/fe-gtk/plugin-tray.c:681 +#, c-format +msgid "XChat: New public message from: %s (%s)" +msgstr "XChat:新的公共消息来自于:%s (%s)" + +#: src/fe-gtk/plugin-tray.c:677 +#, c-format +msgid "XChat: %u new public messages." +msgstr "XChat:%u 条新的公共消息。" + +#: src/fe-gtk/plugin-tray.c:703 src/fe-gtk/plugin-tray.c:710 +#, c-format +msgid "XChat: Private message from: %s (%s)" +msgstr "XChat:私聊消息来自于:%s (%s)" + +#: src/fe-gtk/plugin-tray.c:706 +#, c-format +msgid "XChat: %u private messages, latest from: %s (%s)" +msgstr "Xchat:%u 条私聊消息,最近的一个来自于: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:756 src/fe-gtk/plugin-tray.c:764 +#, c-format +msgid "XChat: File offer from: %s (%s)" +msgstr "XChat: 文件传输来自于: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:759 +#, c-format +msgid "XChat: %u file offers, latest from: %s (%s)" +msgstr "Xchat: %u 个文件传输,最近的一个来自于:%s (%s)" + +#: src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "版本" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "描述" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "选择要载入的插件或脚本" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat:插件和脚本" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "载入(_L)..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "卸载(_U)" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:438 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "另存为..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat:原始聊天记录(%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "清除原始聊天记录" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "您为该搜索打开的窗口已不存在。" + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "已搜索到尾部,未找到符合条件的结果。" + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat:搜索" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "区分大小写(_M)" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "反向搜索" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "查找(_F)" + +#: src/fe-gtk/servlistgui.c:171 src/fe-gtk/servlistgui.c:269 +msgid "New Network" +msgstr "添加网络" + +#: src/fe-gtk/servlistgui.c:558 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "确实要删除网络“%s”以及它的所有服务器吗?" + +#: src/fe-gtk/servlistgui.c:740 +msgid "#channel" +msgstr "#channel" + +#: src/fe-gtk/servlistgui.c:847 +msgid "XChat: Favorite Channels (Auto-Join List)" +msgstr "XChat:收藏的频道列表(自动进入列表)" + +#: src/fe-gtk/servlistgui.c:859 +#, c-format +msgid "These channels will be joined whenever you connect to %s." +msgstr "在您连接到 %s 时将自动进入这些频道。" + +#: src/fe-gtk/servlistgui.c:902 +msgid "Key (Password)" +msgstr "密码" + +#: src/fe-gtk/servlistgui.c:933 src/fe-gtk/servlistgui.c:1535 +msgid "_Edit" +msgstr "编辑(_E)" + +#: src/fe-gtk/servlistgui.c:969 +#, c-format +msgid "%s has been removed." +msgstr "已删除 %s。" + +#: src/fe-gtk/servlistgui.c:989 +#, c-format +msgid "%s has been added." +msgstr "已添加 %s。" + +#: src/fe-gtk/servlistgui.c:1013 +msgid "User name and Real name cannot be left blank." +msgstr "用户名与真实姓名不可为空白。" + +#: src/fe-gtk/servlistgui.c:1366 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat:编辑 %s" + +#: src/fe-gtk/servlistgui.c:1385 +#, c-format +msgid "Servers for %s" +msgstr "%s 的服务器" + +#: src/fe-gtk/servlistgui.c:1396 +msgid "Connect to selected server only" +msgstr "只连接到选取的服务器" + +#: src/fe-gtk/servlistgui.c:1397 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "当连接失败时不要循环跳至所有的服务器。" + +#: src/fe-gtk/servlistgui.c:1399 +msgid "Your Details" +msgstr "您的详细信息" + +#: src/fe-gtk/servlistgui.c:1405 +msgid "Use global user information" +msgstr "使用全局用户信息" + +#: src/fe-gtk/servlistgui.c:1408 src/fe-gtk/servlistgui.c:1640 +msgid "_Nick name:" +msgstr "昵称(_N):" + +#: src/fe-gtk/servlistgui.c:1412 src/fe-gtk/servlistgui.c:1647 +msgid "Second choice:" +msgstr "第二选择:" + +#: src/fe-gtk/servlistgui.c:1416 src/fe-gtk/servlistgui.c:1661 +msgid "_User name:" +msgstr "用户名(_U):" + +#: src/fe-gtk/servlistgui.c:1420 src/fe-gtk/servlistgui.c:1668 +msgid "Rea_l name:" +msgstr "真实姓名(_L):" + +#: src/fe-gtk/servlistgui.c:1423 +msgid "Connecting" +msgstr "连接中" + +#: src/fe-gtk/servlistgui.c:1429 +msgid "Auto connect to this network at startup" +msgstr "启动时自动连接到此网络" + +#: src/fe-gtk/servlistgui.c:1431 +msgid "Bypass proxy server" +msgstr "代理服务器" + +#: src/fe-gtk/servlistgui.c:1433 +msgid "Use SSL for all the servers on this network" +msgstr "在本网络的所有服务器上使用 SSL" + +#: src/fe-gtk/servlistgui.c:1438 +msgid "Accept invalid SSL certificate" +msgstr "接受无效的 SSL 证书" + +#: src/fe-gtk/servlistgui.c:1444 +msgid "_Favorite channels:" +msgstr "收藏的频道:" + +#: src/fe-gtk/servlistgui.c:1446 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "要进入的频道,请用逗号而不是空格分隔!" + +#: src/fe-gtk/servlistgui.c:1449 +msgid "Connect command:" +msgstr "连接命令:" + +#: src/fe-gtk/servlistgui.c:1451 +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 "连接后执行的额外的命令。如果您使用多个命令,请设置为 LOAD -e <文件名>,其中 <文件名> 是一个包含要执行的命令的文本文件。" + +#: src/fe-gtk/servlistgui.c:1454 +msgid "Nickserv password:" +msgstr "昵称密码:" + +#: src/fe-gtk/servlistgui.c:1456 +msgid "If your nickname requires a password, enter it here. Not all IRC networks support this." +msgstr "如果您的昵称需要密码,就在这里将它输入。并非所有的 IRC 网络都支持此一功能。" + +#: src/fe-gtk/servlistgui.c:1460 +msgid "Server password:" +msgstr "服务器密码:" + +#: src/fe-gtk/servlistgui.c:1462 +msgid "Password for the server, if in doubt, leave blank." +msgstr "服务器的密码。如果不确定请留空。" + +#: src/fe-gtk/servlistgui.c:1465 +msgid "Character set:" +msgstr "字符集:" + +#: src/fe-gtk/servlistgui.c:1618 +msgid "XChat: Network List" +msgstr "XChat:网络列表" + +#: src/fe-gtk/servlistgui.c:1630 +msgid "User Information" +msgstr "用户信息" + +#: src/fe-gtk/servlistgui.c:1654 +msgid "Third choice:" +msgstr "第三选择:" + +#: src/fe-gtk/servlistgui.c:1714 +msgid "Networks" +msgstr "网络" + +#: src/fe-gtk/servlistgui.c:1755 +msgid "Skip network list on startup" +msgstr "启动时不打开网络列表" + +#: src/fe-gtk/servlistgui.c:1787 +msgid "_Edit..." +msgstr "编辑(_E)" + +#: src/fe-gtk/servlistgui.c:1794 +msgid "_Sort" +msgstr "排序(_S)" + +#: src/fe-gtk/servlistgui.c:1795 +msgid "Sorts the network list in alphabetical order. Use SHIFT-UP and SHIFT-DOWN keys to move a row." +msgstr "按字母顺序排练网络列表。使用SHIFT+上下方向键来移动行。" + +#: src/fe-gtk/servlistgui.c:1820 +msgid "C_onnect" +msgstr "连接(_O)" + +#: src/fe-gtk/setup.c:104 +msgid "Text Box Appearance" +msgstr "文本框外观" + +#: src/fe-gtk/setup.c:105 +msgid "Font:" +msgstr "字体:" + +#: src/fe-gtk/setup.c:106 +msgid "Background image:" +msgstr "背景图像:" + +#: src/fe-gtk/setup.c:107 +msgid "Scrollback lines:" +msgstr "回滚行数:" + +#: src/fe-gtk/setup.c:108 +msgid "Colored nick names" +msgstr "彩色昵称" + +#: src/fe-gtk/setup.c:109 +msgid "Give each person on IRC a different color" +msgstr "给 IRC 上的每名用户使用一种不同的颜色" + +#: src/fe-gtk/setup.c:110 +msgid "Indent nick names" +msgstr "缩进昵称" + +#: src/fe-gtk/setup.c:111 +msgid "Make nick names right-justified" +msgstr "让昵称右侧对齐" + +#: src/fe-gtk/setup.c:112 +msgid "Transparent background" +msgstr "透明背景" + +#: src/fe-gtk/setup.c:113 +msgid "Show marker line" +msgstr "显示标记线" + +#: src/fe-gtk/setup.c:114 +msgid "Insert a red line after the last read text." +msgstr "在最后读取的文本后添加一条红线。" + +#: src/fe-gtk/setup.c:115 +msgid "Transparency Settings" +msgstr "透明度设置" + +#: src/fe-gtk/setup.c:116 +msgid "Red:" +msgstr "红:" + +#: src/fe-gtk/setup.c:117 +msgid "Green:" +msgstr "绿:" + +#: src/fe-gtk/setup.c:118 +msgid "Blue:" +msgstr "蓝:" + +#: src/fe-gtk/setup.c:120 src/fe-gtk/setup.c:391 +msgid "Time Stamps" +msgstr "时间戳" + +#: src/fe-gtk/setup.c:121 +msgid "Enable time stamps" +msgstr "启用时间戳" + +#: src/fe-gtk/setup.c:122 +msgid "Time stamp format:" +msgstr "时间戳格式:" + +#: src/fe-gtk/setup.c:123 src/fe-gtk/setup.c:394 +msgid "See strftime manpage for details." +msgstr "查看 strftime 的 man 手册页以获取详细信息。" + +#: src/fe-gtk/setup.c:130 src/fe-gtk/setup.c:170 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:131 +msgid "Last-spoke order" +msgstr "按最后发言时间" + +#: src/fe-gtk/setup.c:137 src/fe-gtk/setup.c:1701 +msgid "Input box" +msgstr "输入框" + +#: src/fe-gtk/setup.c:138 src/fe-gtk/setup.c:202 +msgid "Use the Text box font and colors" +msgstr "使用文本框字体及颜色" + +#: src/fe-gtk/setup.c:140 +msgid "Spell checking" +msgstr "拼写检查" + +#: src/fe-gtk/setup.c:143 +msgid "Nick Completion" +msgstr "昵称自动补全" + +#: src/fe-gtk/setup.c:144 +msgid "Automatic nick completion (without TAB key)" +msgstr "自动补全昵称(不使用 TAB 键)" + +#: src/fe-gtk/setup.c:146 +msgid "Nick completion suffix:" +msgstr "昵称自动补全后缀:" + +#: src/fe-gtk/setup.c:147 +msgid "Nick completion sorted:" +msgstr "昵称排序:" + +#: src/fe-gtk/setup.c:150 +msgid "Input Box Codes" +msgstr "输入框编码" + +#: src/fe-gtk/setup.c:151 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "把 %nnn 解释为 ASCII 值" + +#: src/fe-gtk/setup.c:152 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "转换 %C、%B 为颜色、粗体等" + +#: src/fe-gtk/setup.c:169 +msgid "A-Z, Ops first" +msgstr "A-Z,管理员在最先" + +#: src/fe-gtk/setup.c:171 +msgid "Z-A, Ops last" +msgstr "Z-A,管理员在最后" + +#: src/fe-gtk/setup.c:172 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:173 +msgid "Unsorted" +msgstr "不排序" + +#: src/fe-gtk/setup.c:179 src/fe-gtk/setup.c:191 +msgid "Left (Upper)" +msgstr "左上" + +#: src/fe-gtk/setup.c:180 src/fe-gtk/setup.c:192 +msgid "Left (Lower)" +msgstr "左下" + +#: src/fe-gtk/setup.c:181 src/fe-gtk/setup.c:193 +msgid "Right (Upper)" +msgstr "右上" + +#: src/fe-gtk/setup.c:182 src/fe-gtk/setup.c:194 +msgid "Right (Lower)" +msgstr "右下" + +#: src/fe-gtk/setup.c:183 +msgid "Top" +msgstr "顶部" + +#: src/fe-gtk/setup.c:184 +msgid "Bottom" +msgstr "底部" + +#: src/fe-gtk/setup.c:185 +msgid "Hidden" +msgstr "隐藏" + +#: src/fe-gtk/setup.c:200 +msgid "User List" +msgstr "用户列表" + +#: src/fe-gtk/setup.c:201 +msgid "Show hostnames in user list" +msgstr "在用户列表中显示主机名" + +#: src/fe-gtk/setup.c:204 +msgid "User list sorted by:" +msgstr "用户列表排列方式:" + +#: src/fe-gtk/setup.c:205 +msgid "Show user list at:" +msgstr "显示用户列表于:" + +#: src/fe-gtk/setup.c:207 +msgid "Away tracking" +msgstr "记录离开信息" + +#: src/fe-gtk/setup.c:208 +msgid "Track the Away status of users and mark them in a different color" +msgstr "追踪用户的离开状态并且以不同颜色标记" + +#: src/fe-gtk/setup.c:209 +msgid "On channels smaller than:" +msgstr "在小于此值的频道里:" + +#: src/fe-gtk/setup.c:211 +msgid "Action Upon Double Click" +msgstr "双击时的动作" + +#: src/fe-gtk/setup.c:223 +msgid "Windows" +msgstr "窗口" + +#: src/fe-gtk/setup.c:224 src/fe-gtk/setup.c:240 +msgid "Tabs" +msgstr "标签页" + +#: src/fe-gtk/setup.c:232 +msgid "Always" +msgstr "总是" + +#: src/fe-gtk/setup.c:233 +msgid "Only requested tabs" +msgstr "只有请求的标签页" + +#: src/fe-gtk/setup.c:242 +msgid "Tree" +msgstr "树状图" + +#: src/fe-gtk/setup.c:249 +msgid "Switcher type:" +msgstr "转换器类型:" + +#: src/fe-gtk/setup.c:250 +msgid "Open an extra tab for server messages" +msgstr "打开额外的标签页存放服务器信息" + +#: src/fe-gtk/setup.c:251 +msgid "Open an extra tab for server notices" +msgstr "打开额外的标签页显示服务器通知" + +#: src/fe-gtk/setup.c:252 +msgid "Open a new tab when you receive a private message" +msgstr "当您收到私聊消息时打开新的标签页" + +#: src/fe-gtk/setup.c:253 +msgid "Sort tabs in alphabetical order" +msgstr "按字母表顺序排序标签页" + +#: src/fe-gtk/setup.c:254 +msgid "Smaller text" +msgstr "小字" + +#: src/fe-gtk/setup.c:256 +msgid "Focus new tabs:" +msgstr "聚焦到新标签页:" + +#: src/fe-gtk/setup.c:258 +msgid "Show channel switcher at:" +msgstr "显示频道转换器于:" + +#: src/fe-gtk/setup.c:259 +msgid "Shorten tab labels to:" +msgstr "缩短标签页标签页至:" + +#: src/fe-gtk/setup.c:259 +msgid "letters." +msgstr "个字母。" + +#: src/fe-gtk/setup.c:261 +msgid "Tabs or Windows" +msgstr "标签页或窗口" + +#: src/fe-gtk/setup.c:262 +msgid "Open channels in:" +msgstr "打开频道于:" + +#: src/fe-gtk/setup.c:263 +msgid "Open dialogs in:" +msgstr "打开对话框于:" + +#: src/fe-gtk/setup.c:264 +msgid "Open utilities in:" +msgstr "打开工具于:" + +#: src/fe-gtk/setup.c:264 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "打开 DCC、忽略、通知等动作时使用标签页还是窗口?" + +#: src/fe-gtk/setup.c:271 +msgid "No" +msgstr "否" + +#: src/fe-gtk/setup.c:272 +msgid "Yes" +msgstr "是" + +#: src/fe-gtk/setup.c:273 +msgid "Browse for save folder every time" +msgstr "每次都浏览保存目录" + +#: src/fe-gtk/setup.c:279 +msgid "Files and Directories" +msgstr "文件和目录" + +#: src/fe-gtk/setup.c:280 +msgid "Auto accept file offers:" +msgstr "自动接受文件传输:" + +#: src/fe-gtk/setup.c:281 +msgid "Download files to:" +msgstr "把文件下载到:" + +#: src/fe-gtk/setup.c:282 +msgid "Move completed files to:" +msgstr "移动完成下载的文件到:" + +#: src/fe-gtk/setup.c:283 +msgid "Save nick name in filenames" +msgstr "把昵称存入文件名" + +#: src/fe-gtk/setup.c:285 +msgid "Network Settings" +msgstr "网络设置" + +#: src/fe-gtk/setup.c:286 +msgid "Get my address from the IRC server" +msgstr "从 IRC 服务器获取我的地址" + +#: src/fe-gtk/setup.c:287 +msgid "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" +msgstr "向 IRC 服务器查询您的真实地址。如果您有 192.168.*.* 这样的地址时,请使用此命令。" + +#: src/fe-gtk/setup.c:288 +msgid "DCC IP address:" +msgstr "DCC IP 地址:" + +#: src/fe-gtk/setup.c:289 +msgid "Claim you are at this address when offering files." +msgstr "发送文件时声称您是这个地址。" + +#: src/fe-gtk/setup.c:290 +msgid "First DCC send port:" +msgstr "第一个 DCC 文件发送端口:" + +#: src/fe-gtk/setup.c:291 +msgid "Last DCC send port:" +msgstr "最后一个 DCC 文件传送端口:" + +#: src/fe-gtk/setup.c:292 +msgid "!Leave ports at zero for full range." +msgstr "! 端口保留为 0 表示允许所有范围" + +#: src/fe-gtk/setup.c:294 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "最大文件传输速度(字节每秒)" + +#: src/fe-gtk/setup.c:295 +msgid "One upload:" +msgstr "每个上传任务:" + +#: src/fe-gtk/setup.c:296 src/fe-gtk/setup.c:298 +msgid "Maximum speed for one transfer" +msgstr "一个传送进程的最大速度" + +#: src/fe-gtk/setup.c:297 +msgid "One download:" +msgstr "每个下载任务:" + +#: src/fe-gtk/setup.c:299 +msgid "All uploads combined:" +msgstr "所有上传:" + +#: src/fe-gtk/setup.c:300 src/fe-gtk/setup.c:302 +msgid "Maximum speed for all files" +msgstr "所有文件的最大速度" + +#: src/fe-gtk/setup.c:301 +msgid "All downloads combined:" +msgstr "所有下载" + +#: src/fe-gtk/setup.c:329 src/fe-gtk/setup.c:1707 +msgid "Alerts" +msgstr "提示" + +#: src/fe-gtk/setup.c:333 +msgid "Show tray balloons on:" +msgstr "显示托盘气泡提示于:" + +#: src/fe-gtk/setup.c:335 +msgid "Blink tray icon on:" +msgstr "闪烁托盘图标于:" + +#: src/fe-gtk/setup.c:336 +msgid "Blink task bar on:" +msgstr "闪烁任务栏图标于:" + +#: src/fe-gtk/setup.c:337 +msgid "Make a beep sound on:" +msgstr "响铃于:" + +#: src/fe-gtk/setup.c:339 +msgid "Enable system tray icon" +msgstr "激活系统托盘图标" + +#: src/fe-gtk/setup.c:341 +msgid "Highlighted Messages" +msgstr "高亮显示消息" + +#: src/fe-gtk/setup.c:342 +msgid "Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "高亮消息是当您的昵称被提到时所显示的消息,同时还包括:" + +#: src/fe-gtk/setup.c:344 +msgid "Extra words to highlight:" +msgstr "需要高亮显示的其他单词:" + +#: src/fe-gtk/setup.c:345 +msgid "Nick names not to highlight:" +msgstr "不高亮显示的昵称:" + +#: src/fe-gtk/setup.c:346 +msgid "Nick names to always highlight:" +msgstr "总是高亮显示的昵称:" + +#: src/fe-gtk/setup.c:347 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" +"请用逗号分隔多个词组。\n" +"可以使用通配符。" + +#: src/fe-gtk/setup.c:353 +msgid "Default Messages" +msgstr "默认信息" + +#: src/fe-gtk/setup.c:354 +msgid "Quit:" +msgstr "退出:" + +#: src/fe-gtk/setup.c:355 +msgid "Leave channel:" +msgstr "离开频道:" + +#: src/fe-gtk/setup.c:356 +msgid "Away:" +msgstr "离开:" + +#: src/fe-gtk/setup.c:358 +msgid "Away" +msgstr "离开" + +#: src/fe-gtk/setup.c:359 +msgid "Announce away messages" +msgstr "发布离开信息" + +#: src/fe-gtk/setup.c:360 +msgid "Announce your away messages to all channels" +msgstr "发布离开信息到所有频道" + +#: src/fe-gtk/setup.c:361 +msgid "Show away once" +msgstr "只显示离开一次" + +#: src/fe-gtk/setup.c:361 +msgid "Show identical away messages only once" +msgstr "同样的离开信息只显示一次" + +#: src/fe-gtk/setup.c:362 +msgid "Automatically unmark away" +msgstr "自动取消离开状态" + +#: src/fe-gtk/setup.c:362 +msgid "Unmark yourself as away before sending messages" +msgstr "发送信息前取消您的离开状态" + +#: src/fe-gtk/setup.c:369 +msgid "Advanced Settings" +msgstr "高级设置" + +#: src/fe-gtk/setup.c:370 +msgid "Auto reconnect delay:" +msgstr "自动重连间隔:" + +#: src/fe-gtk/setup.c:371 +msgid "Display MODEs in raw form" +msgstr "使用原始格式显示模式" + +#: src/fe-gtk/setup.c:372 +msgid "Whois on notify" +msgstr "通知列表 Whois" + +#: src/fe-gtk/setup.c:372 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "当您通知列表中的某位用户上线时发送 /WHOIS 命令" + +#: src/fe-gtk/setup.c:373 +msgid "Hide join and part messages" +msgstr "隐藏进入/离开信息" + +#: src/fe-gtk/setup.c:373 +msgid "Hide channel join/part messages by default" +msgstr "默认隐藏频道里的进入/离开信息" + +#: src/fe-gtk/setup.c:374 +msgid "Auto Open DCC Windows" +msgstr "自动打开 DDC 窗口" + +#: src/fe-gtk/setup.c:375 +msgid "Send window" +msgstr "发送窗口" + +#: src/fe-gtk/setup.c:376 +msgid "Receive window" +msgstr "接收窗口" + +#: src/fe-gtk/setup.c:377 +msgid "Chat window" +msgstr "聊天窗口" + +#: src/fe-gtk/setup.c:385 src/fe-gtk/setup.c:1709 +msgid "Logging" +msgstr "聊天记录" + +#: src/fe-gtk/setup.c:386 +msgid "Display scrollback from previous session" +msgstr "显示上一会话时的信息会滚" + +#: src/fe-gtk/setup.c:387 +msgid "Enable logging of conversations to disk" +msgstr "允许记录对话内容到磁盘" + +#: src/fe-gtk/setup.c:388 +msgid "Log filename:" +msgstr "聊天记录文件名称:" + +#: src/fe-gtk/setup.c:389 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=服务器 %c=频道 %n=网络。" + +#: src/fe-gtk/setup.c:392 +msgid "Insert timestamps in logs" +msgstr "在聊天记录中进入时间戳" + +#: src/fe-gtk/setup.c:393 +msgid "Log timestamp format:" +msgstr "聊天记录时间戳格式:" + +#: src/fe-gtk/setup.c:401 +msgid "(Disabled)" +msgstr "(已禁用)" + +#: src/fe-gtk/setup.c:402 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:403 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:404 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:405 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:407 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: src/fe-gtk/setup.c:414 +msgid "All Connections" +msgstr "所有连接" + +#: src/fe-gtk/setup.c:415 +msgid "IRC Server Only" +msgstr "仅 IRC 服务器" + +#: src/fe-gtk/setup.c:416 +msgid "DCC Get Only" +msgstr "仅 DCC Get" + +#: src/fe-gtk/setup.c:422 +msgid "Your Address" +msgstr "您的地址" + +#: src/fe-gtk/setup.c:423 +msgid "Bind to:" +msgstr "绑定到:" + +#: src/fe-gtk/setup.c:424 +msgid "Only useful for computers with multiple addresses." +msgstr "只对有多个地址的计算机有用。" + +#: src/fe-gtk/setup.c:426 +msgid "Proxy Server" +msgstr "代理服务器" + +#: src/fe-gtk/setup.c:427 +msgid "Hostname:" +msgstr "主机名:" + +#: src/fe-gtk/setup.c:428 +msgid "Port:" +msgstr "端口:" + +#: src/fe-gtk/setup.c:429 +msgid "Type:" +msgstr "类型:" + +#: src/fe-gtk/setup.c:430 +msgid "Use proxy for:" +msgstr "应用代理于:" + +#: src/fe-gtk/setup.c:432 +msgid "Proxy Authentication" +msgstr "代理服务器验证" + +#: src/fe-gtk/setup.c:434 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "使用验证(仅支持 HTTP,Socks5 或 MS Proxy 代理服务器)" + +#: src/fe-gtk/setup.c:436 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "使用验证(仅支持 HTTP 或 Socks5 代理服务器)" + +#: src/fe-gtk/setup.c:438 +msgid "Username:" +msgstr "用户名:" + +#: src/fe-gtk/setup.c:439 +msgid "Password:" +msgstr "密码:" + +#: src/fe-gtk/setup.c:870 +msgid "Select an Image File" +msgstr "选择一个图像文件" + +#: src/fe-gtk/setup.c:905 +msgid "Select Download Folder" +msgstr "选择下载目录" + +#: src/fe-gtk/setup.c:914 +msgid "Select font" +msgstr "选择字体" + +#: src/fe-gtk/setup.c:1014 +msgid "Browse..." +msgstr "浏览..." + +#: src/fe-gtk/setup.c:1152 +msgid "Mark identified users with:" +msgstr "标记验证过的用户为:" + +#: src/fe-gtk/setup.c:1154 +msgid "Mark not-identified users with:" +msgstr "标记未验证过的用户为:" + +#: src/fe-gtk/setup.c:1161 +msgid "Open Data Folder" +msgstr "打开数据目录" + +#: src/fe-gtk/setup.c:1215 +msgid "Select color" +msgstr "选择颜色" + +#: src/fe-gtk/setup.c:1295 +msgid "Text Colors" +msgstr "文本颜色" + +#: src/fe-gtk/setup.c:1297 +msgid "mIRC colors:" +msgstr "mIRC 颜色:" + +#: src/fe-gtk/setup.c:1305 +msgid "Local colors:" +msgstr "本地颜色:" + +#: src/fe-gtk/setup.c:1313 src/fe-gtk/setup.c:1318 +msgid "Foreground:" +msgstr "前景:" + +#: src/fe-gtk/setup.c:1314 src/fe-gtk/setup.c:1319 +msgid "Background:" +msgstr "背景:" + +#: src/fe-gtk/setup.c:1316 +msgid "Marking Text" +msgstr "标记文本" + +#: src/fe-gtk/setup.c:1321 +msgid "Interface Colors" +msgstr "界面颜色" + +#: src/fe-gtk/setup.c:1323 +msgid "New data:" +msgstr "新数据:" + +#: src/fe-gtk/setup.c:1324 +msgid "Marker line:" +msgstr "标记线:" + +#: src/fe-gtk/setup.c:1325 +msgid "New message:" +msgstr "新信息:" + +#: src/fe-gtk/setup.c:1326 +msgid "Away user:" +msgstr "离开的用户:" + +#: src/fe-gtk/setup.c:1327 +msgid "Highlight:" +msgstr "高亮显示:" + +#: src/fe-gtk/setup.c:1423 src/fe-gtk/textgui.c:389 +msgid "Event" +msgstr "事件" + +#: src/fe-gtk/setup.c:1429 +msgid "Sound file" +msgstr "声音文件" + +#: src/fe-gtk/setup.c:1464 +msgid "Select a sound file" +msgstr "选择声音文件" + +#: src/fe-gtk/setup.c:1536 +msgid "Sound playing method:" +msgstr "声音播放方式:" + +#: src/fe-gtk/setup.c:1544 +msgid "External sound playing _program:" +msgstr "外部声音播放程序(_P):" + +#: src/fe-gtk/setup.c:1562 +msgid "_External program" +msgstr "外部程序(_E)" + +#: src/fe-gtk/setup.c:1572 +msgid "_Automatic" +msgstr "自动(_A)" + +#: src/fe-gtk/setup.c:1585 +msgid "Sound files _directory:" +msgstr "声音文件目录(_D):" + +#: src/fe-gtk/setup.c:1624 +msgid "Sound file:" +msgstr "声音文件:" + +#: src/fe-gtk/setup.c:1639 +msgid "_Browse..." +msgstr "浏览(_B)..." + +#: src/fe-gtk/setup.c:1650 +msgid "_Play" +msgstr "播放(_P)" + +#: src/fe-gtk/setup.c:1699 +msgid "Interface" +msgstr "界面" + +#: src/fe-gtk/setup.c:1700 +msgid "Text box" +msgstr "文本框" + +#: src/fe-gtk/setup.c:1702 +msgid "User list" +msgstr "用户列表" + +#: src/fe-gtk/setup.c:1703 +msgid "Channel switcher" +msgstr "频道转换器" + +#: src/fe-gtk/setup.c:1704 +msgid "Colors" +msgstr "颜色" + +#: src/fe-gtk/setup.c:1706 +msgid "Chatting" +msgstr "聊天" + +#: src/fe-gtk/setup.c:1708 +msgid "General" +msgstr "一般" + +#: src/fe-gtk/setup.c:1710 +msgid "Sound" +msgstr "声音" + +#: src/fe-gtk/setup.c:1714 +msgid "Network setup" +msgstr "网络设置" + +#: src/fe-gtk/setup.c:1715 +msgid "File transfers" +msgstr "文件传输" + +#: src/fe-gtk/setup.c:1823 +msgid "Categories" +msgstr "类别" + +#: src/fe-gtk/setup.c:2007 +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 "" +"您不能把树状图放置于顶部或底部!\n" +"请在 <b>视图</b> 菜单中的 <b>标签页</b> 样式中进行调整。" + +#: src/fe-gtk/setup.c:2017 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "有些设置需要重新启动 xchat 才会生效。" + +#: src/fe-gtk/setup.c:2025 +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 "" +"*警告*\n" +"自动接收 DCC 到您的主目录中是危险之举,\n" +"且有被盗用的可能性。例如:\n" +"某人可能会给您发送一份 .bash_profile 文件" + +#: src/fe-gtk/setup.c:2058 +msgid "XChat: Preferences" +msgstr "XChat:首选项" + +#: src/fe-gtk/textgui.c:180 +msgid "There was an error parsing the string" +msgstr "解析字符串时出错" + +#: src/fe-gtk/textgui.c:188 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "该信号只接受 %d 个参数,$%d 无效" + +#: src/fe-gtk/textgui.c:304 src/fe-gtk/textgui.c:327 +msgid "Print Texts File" +msgstr "打印文本文件" + +#: src/fe-gtk/textgui.c:372 +msgid "Edit Events" +msgstr "编辑事件" + +#: src/fe-gtk/textgui.c:423 +msgid "$ Number" +msgstr "$ 数字" + +#: src/fe-gtk/textgui.c:440 +msgid "Load From..." +msgstr "从...载入" + +#: src/fe-gtk/textgui.c:441 +msgid "Test All" +msgstr "测试全部" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat:URL 抓取程序" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "清空列表" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "复制选取的 URL" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "复制" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "保存列表到文件" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d 位管理员,共 %d 人" + +#~ msgid "About XChat" +#~ msgstr "关于 XChat" + +#, fuzzy +#~ msgid "Set _back" +#~ msgstr "向后搜索" + +#~ msgid "C_hannels to join:" +#~ msgstr "输入要进入的频道(_H):" + +#, fuzzy +#~ msgid "Execute command" +#~ msgstr "执行命令:" + +#~ msgid "Direct client-to-client" +#~ msgstr "直接客户端到客户端" + +#~ msgid "Send File" +#~ msgstr "发送文件" + +#~ msgid "Offer Chat" +#~ msgstr "请求聊天" + +#~ msgid "Abort Chat" +#~ msgstr "中止聊天" + +#~ msgid "Userinfo" +#~ msgstr "个人信息" + +#~ msgid "Clientinfo" +#~ msgstr "客户端信息" + +#~ msgid "Time" +#~ msgstr "时间" + +#~ msgid "Finger" +#~ msgstr "Finger" + +#~ msgid "Oper" +#~ msgstr "操作" + +#~ msgid "Kill this user" +#~ msgstr "杀死此用户" + +#~ msgid "Mode" +#~ msgstr "模式" + +#~ msgid "Give Half-Ops" +#~ msgstr "赋予副管理员权限" + +#~ msgid "Take Half-Ops" +#~ msgstr "取消副管理员权限" + +#~ msgid "Ignore" +#~ msgstr "忽略" + +#~ msgid "Ignore User" +#~ msgstr "忽略用户" + +#~ msgid "UnIgnore User" +#~ msgstr "取消忽略用户" + +#~ msgid "Info" +#~ msgstr "信息" + +#~ msgid "Who" +#~ msgstr "Who" + +#~ msgid "DNS Lookup" +#~ msgstr "DNS 查询" + +#~ msgid "Trace" +#~ msgstr "Trace" + +#~ msgid "UserHost" +#~ msgstr "用户主机" + +#~ msgid "External" +#~ msgstr "外部程序" + +#~ msgid "Traceroute" +#~ msgstr "Traceroute" + +#~ msgid "Telnet" +#~ msgstr "Telnet" + +#~ msgid "Blink tray on message" +#~ msgstr "有信息时闪动提示" + +#~ msgid "Show join/part messages" +#~ msgstr "显示进入/离开信息" + +#~ msgid "Color paste" +#~ msgstr "彩色粘贴" + +#~ msgid "_Close Tab" +#~ msgstr "关闭标签页(_C)" + +#~ msgid "Channel List..." +#~ msgstr "频道列表..." + +#~ msgid "Notify List..." +#~ msgstr "通知列表..." + +#~ msgid "_Close Window" +#~ msgstr "关闭窗口(_C)" + +#~ msgid "User" +#~ msgstr "用户" + +#~ msgid "XChat: Notify List" +#~ msgstr "XChat: 通知列表" + +#~ msgid "\"Command to execute\"" +#~ msgstr "\"要执行的命令\"" + +#~ msgid "\"Text to print\"" +#~ msgstr "\"要印出的文本\"" + +#~ msgid "$1$t$2" +#~ msgstr "$1$t$2" + +#~ msgid "%C16*%O$t$1%O" +#~ msgstr "%C16*%O$t$1%O" + +#~ msgid "%C18*$t$1%O $2" +#~ msgstr "%C18*$t$1%O $2" + +#~ msgid "%C19>%O$1%C19<%O$t$2" +#~ msgstr "%C19>%O$1%C19<%O$t$2" + +#~ msgid "%C21*%O$t%C21%B$1%O%C21 $2" +#~ msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#~ msgid "%C22*%O$t$1" +#~ msgstr "%C22*%O$t$1" + +#~ msgid "%C28*%C29$3$1%C28*$t%O$2" +#~ msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#~ msgid "%C28-%C29$1%C28-%O$t$2" +#~ msgstr "%C28-%C29$1%C28-%O$t$2" + +#~ msgid "%C28-%C29$1/$2%C28-%O$t$3" +#~ msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#~ msgid "%s doesn't exist\n" +#~ msgstr "%s 不存在\n" + +#~ msgid "(Can be a text file relative to config dir)." +#~ msgstr "(可以是一个相对路径为配置目录的文本文件)。" + +#~ msgid "(Can be a text file relative to ~/.xchat2/)." +#~ msgstr "(可以是一个相对路径为 ~/.xchat2/ 的文本文件)。" + +#~ msgid "(See strftime manpage for details)." +#~ msgstr "(查看 strftime 手册以获取详细信息)。" + +#~ msgid "Ack" +#~ msgstr "确认" + +#~ msgid "Add" +#~ msgstr "添加" + +#~ msgid "Apply" +#~ msgstr "套用" + +#~ msgid "Apply Match to:" +#~ msgstr "套用符合到:" + +#~ msgid "Automatic nick completion" +#~ msgstr "自动补齐昵称" + +#~ msgid "Beep on channel messages" +#~ msgstr "频道中出现新信息时响铃" + +#~ msgid "Beep on highlighted messages" +#~ msgstr "高亮度显示信息时响铃提示" + +#~ msgid "Beep on private messages" +#~ msgstr "有悄悄话时响铃提示" + +#~ msgid "Change the context to the channel" +#~ msgstr "变更上下文至频道" + +#~ msgid "Change the context to the server" +#~ msgstr "变更上下文至服务器" + +#~ msgid "Completes nick names without using the TAB key" +#~ msgstr "不用 TAB 键而自动补齐昵称" + +#~ msgid "Convert spaces to underscore before sending" +#~ msgstr "发送前把空格转换成底线" + +#~ msgid "Execute a xchat command" +#~ msgstr "执行 xchat 命令:" + +#~ msgid "Extra colors:" +#~ msgstr "额外的颜色:" + +#~ msgid "Extra words to highlight on:" +#~ msgstr "需要高亮度显示的其它词组:" + +#~ msgid "Failed to complete GetInfo" +#~ msgstr "完成撷取信息失败" + +#~ msgid "Failed to complete GetPrefs" +#~ msgstr "完成撷取偏好失败" + +#~ msgid "Failed to complete SetContext" +#~ msgstr "完成设置上下文失败" + +#~ msgid "Failed to complete print" +#~ msgstr "完成打印失败" + +#~ msgid "Flash taskbar on highlighted messages" +#~ msgstr "高亮度显示信息时闪动工作列" + +#~ msgid "France, Metropolitan" +#~ msgstr "法属美特罗波利坦" + +#~ msgid "From:" +#~ msgstr "从:" + +#~ msgid "Get settings from xchat" +#~ msgstr "从 xchat 撷取设置" + +#~ msgid "Get some informations from xchat" +#~ msgstr "从 xchat 撷取一些信息" + +#~ msgid "Go to" +#~ msgstr "前往" + +#~ msgid "I can't save an empty list!" +#~ msgstr "无法保存空列表!" + +#~ msgid "Input Box Appearance" +#~ msgstr "输入框外观" + +#~ msgid "Left" +#~ msgstr "左侧" + +#~ msgid "List display options:" +#~ msgstr "列举显示选项:" + +#~ msgid "MIME Type" +#~ msgstr "MIME 类型" + +#~ msgid "Maximum Users:" +#~ msgstr "最多用户数:" + +#~ msgid "Minimum Users:" +#~ msgstr "最少用户数:" + +#~ msgid "Neutral Zone" +#~ msgstr "中立地区" + +#~ msgid "Nicks not to highlight on:" +#~ msgstr "不要高亮度显示的昵称:" + +#~ msgid "No other tabs open, quit xchat?" +#~ msgstr "没有其它打开的标签页,要离开 xchat 吗?" + +#~ msgid "None" +#~ msgstr "无" + +#~ msgid "Open" +#~ msgstr "打开" + +#~ msgid "Open an irc:// url" +#~ msgstr "打开一个 irc:// URL" + +#~ msgid "PID" +#~ msgstr "进程代号" + +#~ msgid "Preferences..." +#~ msgstr "首选项..." + +#~ msgid "Prints some text to the current tab/window" +#~ msgstr "印出一些文本到当前的标签页/窗口" + +#~ msgid "Refresh the list" +#~ msgstr "刷新列表" + +#~ msgid "Regex Match:" +#~ msgstr "Regex 符合:" + +#~ msgid "Resizable user list" +#~ msgstr "用户列表可调整大小" + +#~ msgid "Right" +#~ msgstr "右侧" + +#~ msgid "Save rawlog" +#~ msgstr "保存原始聊天记录" + +#~ msgid "Save rawlog..." +#~ msgstr "保存原始聊天记录..." + +#~ msgid "Save the list" +#~ msgstr "保存列表" + +#~ msgid "Server" +#~ msgstr "服务器" + +#~ msgid "Settings saved." +#~ msgstr "设置已保存。" + +#~ msgid "Show tabs at:" +#~ msgstr "显示标签页于:" + +#~ msgid "Size:" +#~ msgstr "大小:" + +#~ msgid "Speed limit:" +#~ msgstr "速度限制:" + +#~ msgid "StartTime" +#~ msgstr "开始时间" + +#~ msgid "Started:" +#~ msgstr "开始时间:" + +#~ msgid "Tabs Location" +#~ msgstr "标签页位置" + +#~ msgid "To" +#~ msgstr "到" + +#~ msgid "To/From" +#~ msgstr "到/从" + +#~ msgid "To:" +#~ msgstr "到:" + +#~ msgid "US Minor Outlying Islands" +#~ msgstr "美国周边岛屿" + +#~ msgid "Unban" +#~ msgstr "解禁" + +#~ msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +#~ msgstr "用户及频道统计:%d/%d 名用户在 %d/%d 个频道中" + +#~ msgid "_Layout" +#~ msgstr "布局(_L)" + +#~ msgid "id" +#~ msgstr "id" + +#~ msgid "irc://server:port/channel" +#~ msgstr "irc://server:port/channel" + +#~ msgid "name" +#~ msgstr "名称" + +#~ msgid "server" +#~ msgstr "服务器" + +#~ msgid "" +#~ "xchat-remote: %s\n" +#~ "Try `xchat-remote --help' for more information\n" +#~ msgstr "" +#~ "xchat-remote: %s\n" +#~ "试试 `xchat-remote --help' 以获得更多信息\n" + +#~ msgid "Flash taskbar on private messages" +#~ msgstr "接收到私聊消息时闪动工作列" + +#~ msgid "File Offer" +#~ msgstr "文件传输" + +#~ msgid "Quit..." +#~ msgstr "退出..." diff --git a/po/zh_TW.po b/po/zh_TW.po new file mode 100644 index 00000000..d5ea7eb5 --- /dev/null +++ b/po/zh_TW.po @@ -0,0 +1,5434 @@ +# Traditional Chinese Messages for the xchat +# Copyright (C) 2000, 01, 02, 03, 04, 05, 06 Free Software Foundation, Inc. +# Kevin Peng <kevpeng@ihug.co.nz>, 2000 +# Anthony Fok <foka@debian.org>, 2001 +# Zong Yaotang <zong@cosix.com.au>, 2002 +# Dalin <ayi880@hotmail.com>, 2003 +# Walte <webmaster@www.linuxfans.org>, 2003 +# Sarah Smith <sarahs@redhat.com>, 2003 +# Rongjun Mu <elanmu@sina.com>, 2003 +# Rongjun Mu <rongjunmu+i18n@gmail.com>, 2004 +# Wei-Lun Chao <chaoweilun@pcmail.com.tw>, 2005, 06 +# +msgid "" +msgstr "" +"Project-Id-Version: xchat 2.6.3\n" +"Report-Msgid-Bugs-To: www.xchat.org\n" +"POT-Creation-Date: 2006-05-19 00:25+1000\n" +"PO-Revision-Date: 2006-06-01 15:10+0800\n" +"Last-Translator: Wei-Lun Chao <chaoweilun@pcmail.com.tw>\n" +"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/common/cfgfiles.c:350 +msgid "Cannot create ~/.xchat2" +msgstr "無法建立~/.xchat2" + +#: src/common/cfgfiles.c:683 +msgid "I'm busy" +msgstr "我很忙" + +#: src/common/cfgfiles.c:684 +msgid "Leaving" +msgstr "暫離" + +#: src/common/cfgfiles.c:730 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" +"* 最好不要以 root 身分執行 IRC!您應該\n" +" 建立一般使用者帳號來登入。\n" + +#: src/common/dcc.c:67 +msgid "Waiting" +msgstr "等待" + +#: src/common/dcc.c:68 +msgid "Active" +msgstr "活躍" + +#: src/common/dcc.c:69 +msgid "Failed" +msgstr "失敗" + +#: src/common/dcc.c:70 +msgid "Done" +msgstr "完成" + +#: src/common/dcc.c:71 src/fe-gtk/menu.c:740 +msgid "Connect" +msgstr "連接" + +#: src/common/dcc.c:72 +msgid "Aborted" +msgstr "中止" + +#: src/common/dcc.c:1875 src/common/outbound.c:2246 +#, c-format +msgid "Cannot access %s\n" +msgstr "無法存取 %s\n" + +#: src/common/dcc.c:2358 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s 正在提供 \"%s\"。您要接收碼?" + +#: src/common/dcc.c:2569 +msgid "No active DCCs\n" +msgstr "沒有活躍的 DCC\n" + +#: src/common/ignore.c:120 src/common/ignore.c:124 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 +msgid "YES " +msgstr "是 " + +#: src/common/ignore.c:122 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 +msgid "NO " +msgstr "否 " + +#: src/common/ignore.c:377 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "您正受到來自 %s 的 CTCP flood 攻擊,忽略 %s\n" + +#: src/common/ignore.c:402 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n" +msgstr "您正受到來自 %s 的 MSG flood 攻擊,設定圖形化自動對話框為關閉。\n" + +#: src/common/notify.c:396 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s 在線\n" + +#: src/common/notify.c:398 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s 離線\n" + +#: src/common/outbound.c:72 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "沒有加入任何聊天室。請嘗試 /join #<channel>\n" + +#: src/common/outbound.c:78 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "還未連接伺服器。請嘗試 /server <host> [<port>]\n" + +#: src/common/outbound.c:1650 +msgid "I need /bin/sh to run!\n" +msgstr "使用 /bin/sh 才能執行本程式!\n" + +#: src/common/outbound.c:1983 +msgid "Commands Available:" +msgstr "可用命令:" + +#: src/common/outbound.c:1997 +msgid "User defined commands:" +msgstr "使用者自訂命令:" + +#: src/common/outbound.c:2013 +msgid "Plugin defined commands:" +msgstr "使用者自訂命令:" + +#: src/common/outbound.c:2024 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "請鍵入 /HELP <command> 或者 /HELP -l 以獲取更多資訊" + +#: src/common/outbound.c:2099 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "忽略未知引數「%s」。" + +#: src/common/outbound.c:2960 +msgid "No such plugin found.\n" +msgstr "找不到該外掛程式。\n" + +#: src/common/outbound.c:2965 src/fe-gtk/plugingui.c:186 +msgid "That plugin is refusing to unload.\n" +msgstr "無法卸載該外掛程式。\n" + +#: src/common/outbound.c:3200 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <name> <action>,在使用者清單下添加一個按鈕" + +#: src/common/outbound.c:3202 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>,向您所在的所有聊天室發送命令" + +#: src/common/outbound.c:3204 +msgid "ALLCHANL <cmd>, sends a command to all channels you're in" +msgstr "ALLCHANL <cmd>,向您所在的所有聊天室發送命令" + +#: src/common/outbound.c:3206 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>,向您所在的所有伺服器發送命令" + +#: src/common/outbound.c:3207 +msgid "AWAY [<reason>], sets you away" +msgstr "AWAY [<reason>],設定您為暫離狀態" + +#: src/common/outbound.c:3209 +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> [<bantype>],禁止所有符合 mask 的使用者進入目前的聊天室。如果他們" +"已在該聊天室,這個命令不會把他們踢出去(需要有 chanop 身分)" + +#: src/common/outbound.c:3211 +msgid "CLEAR, Clears the current text window" +msgstr "CLEAR,清空目前文字視窗" + +#: src/common/outbound.c:3212 +msgid "CLOSE, Closes the current window/tab" +msgstr "CLOSE,關閉目前視窗/分頁" + +#: src/common/outbound.c:3215 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "" +"COUNTRY [-s] <code|wildcard>,查看國家代碼對應的國家名,比如:tw = 臺灣" + +#: src/common/outbound.c:3217 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" +"CTCP <nick> <message>,給暱稱為 <nick> 者發送 CTCP 訊息,常用訊息是 VERSION " +"和 USERINFO" + +#: src/common/outbound.c:3219 +msgid "CYCLE, parts current channel and immediately rejoins" +msgstr "CYCLE,離開目前聊天室並立即重新加入" + +#: src/common/outbound.c:3221 +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 "" +"\n" +"DCC GET <nick> - 接收暱稱為 <nick> 者發送給您的檔案\n" +"DCC SEND [-maxcps=#] <nick> [file] - 發送檔案給某人\n" +"DCC PSEND [-maxcps=#] <nick> [file] - 使用被動模式發送檔案給某人\n" +"DCC LIST - 顯示 DCC 清單\n" +"DCC CHAT <nick> - 與某人密談\n" +"DCC PCHAT <nick> - 使用被動模式與某人密談\n" +"DCC CLOSE <type> <nick> <file> 例如:\n" +" /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3233 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" +"DEHOP <nick>,取消目前聊天室內暱稱為 <nick> 者的 chanhalf-op 身分(需要有 " +"chanop 身分)" + +#: src/common/outbound.c:3235 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <name>,刪除使用者清單下的一個按鈕" + +#: src/common/outbound.c:3237 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEOP <nick>,取消暱稱為 <nick> 者在本聊天室的 chanop 身分(需要有 chanop 身分)" + +#: src/common/outbound.c:3239 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" +"DEVOICE <nick>,取消暱稱為 <nick> 者在本聊天室的發言權(需要有 chanop 身分)" + +#: src/common/outbound.c:3240 +msgid "DISCON, Disconnects from server" +msgstr "DISCON,切斷和伺服器的連接" + +#: src/common/outbound.c:3241 +msgid "DNS <nick|host|ip>, Finds a users IP number" +msgstr "DNS <nick|host|ip>, 查詢某位使用者的 IP 位址" + +#: src/common/outbound.c:3242 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>,只在本地顯示文字" + +#: src/common/outbound.c:3245 +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] <command>,執行命令。如果使用了 -o 選項則輸出到目前聊天室,否則輸出" +"到目前文字框" + +#: src/common/outbound.c:3247 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT,向行程發送 SIGCONT 信號" + +#: src/common/outbound.c:3250 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" +"EXECKILL [-9],砍掉目前會話中的某執行行程。如果使用 -9 選項,則用 SIGKILL 砍" +"掉該行程" + +#: src/common/outbound.c:3252 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP,向行程發送 SIGSTOP 信號" + +#: src/common/outbound.c:3253 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE,把資料發送給行程的標準輸入" + +#: src/common/outbound.c:3257 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ,排空目前伺服器的發送佇列" + +#: src/common/outbound.c:3259 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>],經由某主機來代理,預設輸出入埠為 23" + +#: src/common/outbound.c:3262 +msgid "GHOST <nick> <password>, Kills a ghosted nickname" +msgstr "GHOST <nick> <password>,砍掉已無息消失的暱稱" + +#: src/common/outbound.c:3267 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nick>,給暱稱為 <nick> 者以 chanhalf-op 身分 (需要有 chanop 身分)" + +#: src/common/outbound.c:3268 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <password>,向暱稱伺服器表明您自己的身分" + +#: src/common/outbound.c:3270 +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 <mask> <types..> <options..>\n" +" mask - 欲忽略的主機遮罩,比如 *!*@*.aol.com\n" +" types - 欲忽略資料的類型,以下選項之一或全部:\n" +" PRIV,CHAN,NOTI,CTCP,INVI,ALL\n" +" options - NOSAVE, QUIET" + +#: src/common/outbound.c:3277 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" +"INVITE <nick> [<channel>],邀請暱稱為 <nick> 者加入聊天室,預設為目前聊天室" +"(需要有 chanop 身分)" + +#: src/common/outbound.c:3278 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <channel>,加入聊天室" + +#: src/common/outbound.c:3280 +msgid "KICK <nick>, kicks the nick from the current channel (needs chanop)" +msgstr "KICK <nick>,把暱稱為 <nick> 者踢出目前聊天室(需要有 chanop 身分)" + +#: src/common/outbound.c:3282 +msgid "" +"KICKBAN <nick>, bans then kicks the nick from the current channel (needs " +"chanop)" +msgstr "" +"KICKBAN <nick>,把暱稱為 <nick> 者踢出目前聊天室,並禁止他再進入(需要有 " +"chanop 身分)" + +#: src/common/outbound.c:3285 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK,強制進行新的延遲檢查" + +#: src/common/outbound.c:3287 +msgid "LASTLOG <string>, searches for a string in the buffer" +msgstr "LASTLOG <string>,在緩衝區中搜索字串" + +#: src/common/outbound.c:3289 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <file>,載入外掛程式或命令稿" + +#: src/common/outbound.c:3292 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP,取消目前聊天室中所有 chanhalf-op 的權限 (需要有 chanop 身分)" + +#: src/common/outbound.c:3294 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP,取消目前聊天室中所有 chanop 的權限 (需要有 chanop 身分)" + +#: src/common/outbound.c:3296 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in " +"the 3rd person, like /me jumps)" +msgstr "" +"ME <action>,向目前聊天室中發送一個動作 (動作使用第三人稱陳述,例如 /me " +"jumps)" + +#: src/common/outbound.c:3299 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK,踢出目前聊天室中除您自己之外的所有使用者 (需要有 chanop 身分)" + +#: src/common/outbound.c:3302 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP,給本聊天室中所有使用者 chanop 身分(需要有 chanop 身分)" + +#: src/common/outbound.c:3303 +msgid "MSG <nick> <message>, sends a private message" +msgstr "MSG <nick> <message>,給暱稱為 <nick> 者發送一則悄悄話" + +#: src/common/outbound.c:3306 +msgid "NAMES, Lists the nicks on the current channel" +msgstr "NAMES,列出目前聊天室的所有使用者暱稱" + +#: src/common/outbound.c:3308 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <message>,給暱稱為 <nick> 者發送一則 CTCP 通知" + +#: src/common/outbound.c:3309 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostname> [<port>]" + +#: src/common/outbound.c:3310 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nickname>,設定您的暱稱" + +#: src/common/outbound.c:3313 +msgid "" +"NOTICE <nick/channel> <message>, sends a notice. Notices are a type of " +"message that should be auto reacted to" +msgstr "" +"NOTICE <nick/channel> <message>,發送一則通知。通知是一種能被自動回應的訊息" + +#: src/common/outbound.c:3315 +msgid "NOTIFY [<nick>], lists your notify list or adds someone to it" +msgstr "NOTIFY [<nick>],列出您的通知清單,或在清單中添加某人" + +#: src/common/outbound.c:3317 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>,給予暱稱為 <nick> 者 chanop 身分 (需要有 chanop 身分)" + +#: src/common/outbound.c:3319 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<channel>] [<reason>],離開聊天室,預設為目前的聊天室" + +#: src/common/outbound.c:3321 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | channel>,CTCP ping 某位使用者或聊天室" + +#: src/common/outbound.c:3323 +msgid "QUERY <nick>, opens up a new privmsg window to someone" +msgstr "QUERY <nick>,跟某人打開一個悄悄話視窗" + +#: src/common/outbound.c:3325 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reason>],切斷與目前伺服器的連接" + +#: src/common/outbound.c:3327 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <text>,向伺服器發送原始格式的文字" + +#: src/common/outbound.c:3330 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /" +"RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>],可用 /RECONNECT 重新連接目前" +"伺服器或用 /RECONNECT ALL 重新連接所有伺服器" + +#: src/common/outbound.c:3333 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" +"RECONNECT [<host>] [<port>] [<password>],可用 /RECONNECT 重新連接目前伺服器" +"或用 /RECONNECT ALL 重新連接所有伺服器" + +#: src/common/outbound.c:3335 +msgid "" +"RECV <text>, send raw data to xchat, as if it was received from the irc " +"server" +msgstr "" +"RECV <text>,向 xchat 發送原始資料,就好像它是從 irc 伺服器上接收到的一樣" + +#: src/common/outbound.c:3338 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>,向目前視窗中的對象發送文字" + +#: src/common/outbound.c:3339 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<file>]" + +#: src/common/outbound.c:3342 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <channel>,連接伺服器並加入某聊天室" + +#: src/common/outbound.c:3345 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <channel>,連接伺服器並加入某聊天室" + +#: src/common/outbound.c:3349 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 9999 for ssl connections" +msgstr "" +"SERVER [-ssl] <host> [<port>] [<password>],連接伺服器。普通連線預設輸出入埠" +"為 6667,SSL 加密連線預設輸出入埠為 9999" + +#: src/common/outbound.c:3352 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<port>] [<password>],連接伺服器。預設輸出入埠為 6667" + +#: src/common/outbound.c:3354 +msgid "SET [-quiet] <variable> [<value>]" +msgstr "SET [-quiet] <variable> [<value>]" + +#: src/common/outbound.c:3355 +msgid "SETCURSOR [-|+]<position>" +msgstr "SETCURSOR [-|+]<position>" + +#: src/common/outbound.c:3359 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current topic" +msgstr "TOPIC [<topic>],設定話題為指定話題,如果未指定則顯示目前話題" + +#: src/common/outbound.c:3361 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...],解禁指定的遮罩。" + +#: src/common/outbound.c:3362 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:3363 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <name>,卸載外掛程式或命令稿" + +#: src/common/outbound.c:3364 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>,在您的瀏覽器中開啟 <url>" + +#: src/common/outbound.c:3366 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" +msgstr "" +"USELECT [-a] [-s] <nick1> <nick2>...,在聊天室使用者清單中以高亮度標示暱稱" + +#: src/common/outbound.c:3369 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>,給予暱稱為 <nick> 者發言權(需要有 chanop 身分)" + +#: src/common/outbound.c:3371 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <message>,發送訊息到所有的聊天室" + +#: src/common/outbound.c:3373 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <message>,給目前聊天室中所有 chanop 發送訊息" + +#: src/common/outbound.c:3406 +#, c-format +msgid "Usage: %s\n" +msgstr "用法:%s\n" + +#: src/common/outbound.c:3411 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" +"\n" +"沒有關於該命令的求助資訊。\n" + +#: src/common/outbound.c:3417 +msgid "No such command.\n" +msgstr "無此命令。\n" + +#: src/common/outbound.c:3744 +msgid "Bad arguments for user command.\n" +msgstr "使用者命令的引數不對。\n" + +#: src/common/outbound.c:3900 +msgid "Too many recursive usercommands, aborting." +msgstr "太多遞迴的使用者命令,中止。" + +#: src/common/outbound.c:3977 +msgid "Unknown Command. Try /help\n" +msgstr "未知命令。請嘗試 /help\n" + +#: src/common/plugin.c:371 src/common/plugin.c:412 +msgid "No xchat_plugin_init symbol; is this really an xchat plugin?" +msgstr "無 xchat_plugin_init 符號;這確實是 xchat 的外掛程式嗎?" + +#: src/common/server.c:621 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "您確信此伺服器和輸出入埠支援‧SSL ?\n" + +#: src/common/server.c:1005 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" +"無法解析主機名 %s\n" +"請檢查您的 IP 設定!\n" + +#: src/common/server.c:1010 +msgid "Proxy traversal failed.\n" +msgstr "代理傳送失敗。\n" + +#: src/common/servlist.c:641 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "輪跳至 %s 的下一個伺服器中...\n" + +#: src/common/servlist.c:1065 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "警告:未知的字元設定「%s」。對網路 %s 將不應用字元轉換。" + +#: src/common/textevents.h:6 +msgid "%C22*%O$t$1 added to notify list." +msgstr "%C22*%O$t$1 已增加到通知清單。" + +#: src/common/textevents.h:9 +msgid "%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3" +msgstr "%C22*%O$t$1 封禁清單:%C19 $4%C20 $2%C21 $3" + +#: src/common/textevents.h:12 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(You are banned)." +msgstr "%C22*%O$t不能加入%C26 %B$1 %O(您被封禁了)。" + +#: src/common/textevents.h:18 +msgid "%C22*%O$t$1 is now known as $2" +msgstr "%C22*%O$t$1 改名為 $2" + +#: src/common/textevents.h:21 +msgid "%C18*$t$1%O $2" +msgstr "%C18*$t$1%O $2" + +#: src/common/textevents.h:24 +msgid "%C21*%O$t%C21%B$1%O%C21 $2" +msgstr "%C21*%O$t%C21%B$1%O%C21 $2" + +#: src/common/textevents.h:27 +msgid "%C22*%O$t$1 sets ban on $2" +msgstr "%C22*%O$t$1 封禁了 $2" + +#: src/common/textevents.h:30 +msgid "%C22*%O$tChannel $1 created on $2" +msgstr "%C22*%O$t 聊天室 $1 建立於 $2" + +#: src/common/textevents.h:33 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O 取消了 %C26 $2 的聊天室准管理員權限" + +#: src/common/textevents.h:36 +msgid "%C22*%O$t%C26$1%O removes channel operator status from%C26 $2" +msgstr "%C22*%O$t%C26$1%O 取消了 %C26 $2 的聊天室管理員權限" + +#: src/common/textevents.h:39 +msgid "%C22*%O$t%C26$1%O removes voice from%C26 $2" +msgstr "%C22*%O$t%C26$1%O 取消了 %C26 $2 的發言權" + +#: src/common/textevents.h:42 +msgid "%C22*%O$t$1 sets exempt on $2" +msgstr "%C22*%O$t$1 給 $2 設定了免封權" + +#: src/common/textevents.h:45 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O 委任 %C26 $2 為聊天室准管理員" + +#: src/common/textevents.h:48 +msgid "%C22*%O$t$1 sets invite on $2" +msgstr "%C22*%O$t$1 給 $2 設定了邀請權" + +#: src/common/textevents.h:51 +msgid "%UChannel Users Topic" +msgstr "%U 聊天室 使用者 話題" + +#: src/common/textevents.h:54 +msgid "%C18%H<%H$4$1%H>%H%O$t$2" +msgstr "%C18%H<%H$4$1%H>%H%O$t$2" + +#: src/common/textevents.h:57 +msgid "%C22*%O$t$1 sets mode $2$3 $4" +msgstr "%C22*%O$t$1 設定 $2$3 $4 模式" + +#: src/common/textevents.h:60 +msgid "%C22*%O$t%C22Channel $1 modes: $2" +msgstr "%C22*%O$t%C22聊天室 $1 模式:$2" + +#: src/common/textevents.h:63 +msgid "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" +msgstr "$4%C21%B%H<%H$1%H>%H%O%C21$t$2" + +#: src/common/textevents.h:66 +msgid "%C28-%C29$1/$2%C28-%O$t$3" +msgstr "%C28-%C29$1/$2%C28-%O$t$3" + +#: src/common/textevents.h:69 +msgid "%C22*%O$t%C26$1%O gives channel operator status to%C26 $2" +msgstr "%C22*%O$t%C26$1%O 委任 %C26$2 為聊天室管理員" + +#: src/common/textevents.h:72 +msgid "%C22*%O$t$1 removes exempt on $2" +msgstr "%C22*%O$t$1 取消了 $2 的免封權" + +#: src/common/textevents.h:75 +msgid "%C22*%O$t$1 removes invite on $2" +msgstr "%C22*%O$t$1 取消了 $2 的邀請權" + +#: src/common/textevents.h:78 +msgid "%C22*%O$t$1 removes channel keyword" +msgstr "%C22*%O$t$1 取消了聊天室密碼" + +#: src/common/textevents.h:81 +msgid "%C22*%O$t$1 removes user limit" +msgstr "%C22*%O$t$1 取消了使用者限額" + +#: src/common/textevents.h:84 +msgid "%C22*%O$t$1 sets channel keyword to $2" +msgstr "%C22*%O$t$1 設定聊天室密碼為 $2" + +#: src/common/textevents.h:87 +msgid "%C22*%O$t$1 sets channel limit to $2" +msgstr "%C22*%O$t$1 設定聊天室限額為 $2" + +#: src/common/textevents.h:90 +msgid "%C22*%O$t$1 removes ban on $2" +msgstr "%C22*%O$t$1 解除了對 $2 的封禁" + +#: src/common/textevents.h:93 +msgid "%C22*%O$t%C26$1%O gives voice to%C26 $2" +msgstr "%C22*%O$t%C26$1%O 給了 %C26$2 發言權" + +#: src/common/textevents.h:96 +msgid "%C22*%O$t%C22Connected. Now logging in..." +msgstr "已連接到 %C22*%O$t%C22。正在登入..." + +#: src/common/textevents.h:99 +msgid "%C22*%O$t%C22Connecting to $1 ($2) port $3%O..." +msgstr "%C22*%O$t%C22 正在連接到 $1 ($2) 輸出入埠 $3%O..." + +#: src/common/textevents.h:102 +msgid "%C21*%O$t%C21Connection failed. Error: $1" +msgstr "%C21*%O$t%C21連線失敗。錯誤:$1" + +#: src/common/textevents.h:105 +msgid "%C22*%O$tReceived a CTCP $1 from $2" +msgstr "%C22*%O$t收到來自 $2 的CTCP $1" + +#: src/common/textevents.h:108 +msgid "%C22*%O$tReceived a CTCP $1 from $2 (to $3)" +msgstr "%C22*%O$t從 $2 處接收到一個(到 $3 的)CTCP $1" + +#: src/common/textevents.h:111 +msgid "%C19>%O$1%C19<%O$tCTCP $2" +msgstr "%C19>%O$1%C19<%O$tCTCP $2" + +#: src/common/textevents.h:114 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2" +msgstr "%C22*%O$t收到來自 $2 的 CTCP 聲音 $1" + +#: src/common/textevents.h:117 +msgid "%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)" +msgstr "%C22*%O$t從 $2 處接收到一個(到 $3 的)CTCP 聲音 $1" + +#: src/common/textevents.h:120 +msgid "%C22*%O$tDCC CHAT to %C26$1%O aborted." +msgstr "%C22*%O$t和 %C26$1%O 的密談中止。" + +#: src/common/textevents.h:123 +msgid "%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]" +msgstr "%C22*%O$t和 %C26$1 %C30[%O$2%C30] 開始密談了" + +#: src/common/textevents.h:126 +msgid "%C22*%O$tDCC CHAT to %C26$1%O lost ($4)." +msgstr "%C22*%O$$t和 %C26$1%O 的密談丟失($4)。" + +#: src/common/textevents.h:129 +msgid "%C22*%O$tReceived a DCC CHAT offer from $1" +msgstr "%C22*%O$t收到來自 $1 的密談請求" + +#: src/common/textevents.h:132 +msgid "%C22*%O$tOffering DCC CHAT to $1" +msgstr "%C22*%O$t向 $1 發送密談請求" + +#: src/common/textevents.h:135 +msgid "%C22*%O$tAlready offering CHAT to $1" +msgstr "%C22*%O$t對 $1 已發送密談請求" + +#: src/common/textevents.h:138 +msgid "%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3)." +msgstr "%C22*%O$t到 %C26$2%O 的 DCC $1 連接失敗 (err=$3)。" + +#: src/common/textevents.h:141 +msgid "%C22*%O$tReceived '$1%O' from $2" +msgstr "%C22*%O$t收到來自 $2 的「$1%O」" + +#: src/common/textevents.h:144 +#, c-format +msgid "%C24,18 Type To/From Status Size Pos File " +msgstr "%C24,18 類型 到/來自 狀態 大小 位置 檔案 " + +#: src/common/textevents.h:147 +msgid "" +"%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O" +"$tContents of packet: $2" +msgstr "" +"%C22*%O$t收到來自 %C26$1%O 的有錯的 DCC 請求。%010%C22*%O$t資料包內容:$2" + +#: src/common/textevents.h:150 +msgid "%C22*%O$tOffering%C26 $1%O to%C26 $2" +msgstr "%C22*%O$t提供 %C26$1%O給 %C26 $2" + +#: src/common/textevents.h:153 +msgid "%C22*%O$tNo such DCC offer." +msgstr "%C22*%O$t無此 DCC 請求。" + +#: src/common/textevents.h:156 +msgid "%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$t到 %C26$1%O 的 DCC RECV %C26 $2%O 中止。" + +#: src/common/textevents.h:159 +msgid "" +"%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O." +msgstr "" +"%C22*%O$t從 %C26$3%O DCC RECV %C26$1%O 已完成 %C30[%C26$4%O cps%C30]%O。" + +#: src/common/textevents.h:162 +msgid "%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$t建立和 %C26$1 %C30[%O$2%C30] 的 DCC RECV 連線" + +#: src/common/textevents.h:165 +msgid "%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4)." +msgstr "%C22*%O$t從 %C26$3%O DCC RECV %C26$1%O 失敗($4)。" + +#: src/common/textevents.h:168 +msgid "%C22*%O$tDCC RECV: Cannot open $1 for writing ($2)." +msgstr "%C22*%O$tDCC RECV:不能打開 $1 進行寫入操作($2)。 " + +#: src/common/textevents.h:171 +msgid "" +"%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead." +msgstr "%C22*%O$t檔案 %C11$1%C 已存在,請另存為 %C26$2%O。" + +#: src/common/textevents.h:174 +msgid "%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C." +msgstr "%C22*%O$t%C26$1 %O請求續傳來自 %C26$3%C 的 %C26$2 %C 。" + +#: src/common/textevents.h:177 +msgid "%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted." +msgstr "%C22*%O$t到 %C26$1%O 的 DCC SEND %C26$2%O 中止。" + +#: src/common/textevents.h:180 +msgid "" +"%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O." +msgstr "" +"%C22*%O$t到 %C26$2%O 的 DCC SEND %C26$1%O 已完成 %C30[%C26$3%O cps%C30]%O。" + +#: src/common/textevents.h:183 +msgid "%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]" +msgstr "%C22*%O$t建立和 %C26 $1 %C30[%O$2%C30] 的 DCC SEND 連線" + +#: src/common/textevents.h:186 +msgid "%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3" +msgstr "%C22*%O$t到 %C26$2%O 的 DCC SEND %C26$1%O 失敗。$3" + +#: src/common/textevents.h:189 +msgid "%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)" +msgstr "%C22*%O$t%C26$1 %O已發送%C26 $2 %O(%C26$3 %O位元組)" + +#: src/common/textevents.h:192 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %O到 %C26$3 %C 沒有響應 - 中止。" + +#: src/common/textevents.h:195 +msgid "%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting." +msgstr "%C22*%O$tDCC $1%C26 $2 %O到%C26 $3 %O已超時 - 中止。" + +#: src/common/textevents.h:198 +msgid "%C22*%O$t$1 deleted from notify list." +msgstr "%C22*%O$t$1已從通知清單中刪除。" + +#: src/common/textevents.h:201 +msgid "%C22*%O$tDisconnected ($1)." +msgstr "%C22*%O$t已切斷連接 ($1)。" + +#: src/common/textevents.h:204 +msgid "%C22*%O$tFound your IP: [$1]" +msgstr "%C22*%O$t找到您的 IP:[$1]" + +#: src/common/textevents.h:207 +msgid "$1$t$2" +msgstr "$1$t$2" + +#: src/common/textevents.h:210 +msgid "%O%C26$1%O added to ignore list." +msgstr "%O%C26$1%O 添加到忽略清單。" + +#: src/common/textevents.h:213 +msgid "Ignore on %C26$1%O changed." +msgstr "對 %C26$1%O 的忽略已改變。" + +#: src/common/textevents.h:216 +#, c-format +msgid "%C24,18 " +msgstr "%C24,18 " + +#: src/common/textevents.h:219 +#, c-format +msgid "%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG " +msgstr "%C24,18 主機遮罩 PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:222 +msgid "%O%C26$1%O removed from ignore list." +msgstr "%O%C26$1%O 已從忽略清單中刪除。" + +#: src/common/textevents.h:225 +msgid " Ignore list is empty." +msgstr " 您的忽略清單還是空的。" + +#: src/common/textevents.h:228 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only)." +msgstr "%C22*%O$t無法加入%C26 %B$1 %O(該聊天室只有被邀請才能加入)。" + +#: src/common/textevents.h:231 +msgid "%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)" +msgstr "%C22*%O$t%C26 $2%C (%C26$3%C)邀請您加入%C26 $1%O" + +#: src/common/textevents.h:234 +msgid "%C19*%O$t%C19%B$1 %B($3) has joined $2" +msgstr "%C19*%O$t%C19%B$1 %B($3) 加入了 $2" + +#: src/common/textevents.h:237 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword)." +msgstr "%C22*%O$t無法加入%C26 %B$1 %O(需要密碼)。" + +#: src/common/textevents.h:240 +msgid "%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)" +msgstr "%C21*%O$t%C21$1 把 $2 踢出了 $3 ($4%O%C21)" + +#: src/common/textevents.h:243 +msgid "%C22*%O$tYou have been killed by $1 ($2%O%C22)" +msgstr "%C22*%O$t您被 $1 踢出了聊天室 ($2%O%C22)" + +#: src/common/textevents.h:246 src/common/textevents.h:270 +msgid "%C19>%O$1%C19<%O$t$2" +msgstr "%C19>%O$1%C19<%O$t$2" + +#: src/common/textevents.h:249 +msgid "%C16*%O$t$1%O" +msgstr "%C16*%O$t$1%O" + +#: src/common/textevents.h:252 +msgid "%C22*%O$t%C22MOTD Skipped." +msgstr "%C22*%O$t%C22MOTD 被跳過。" + +#: src/common/textevents.h:255 +msgid "%C22*%O$t$1 already in use. Retrying with $2..." +msgstr "%C22*%O$t$1 已被佔用。正在使用 $2 重試..." + +#: src/common/textevents.h:258 +msgid "%C22*%O$tNickname already in use. Use /NICK to try another." +msgstr "%C22*z%O$t該暱稱已被佔用。請用 /NICK 嘗試使用另一個暱稱。" + +#: src/common/textevents.h:261 +msgid "%C22*%O$tNo such DCC." +msgstr "%C22*%O$t沒有此 DCC。" + +#: src/common/textevents.h:264 +msgid "%C22*%O$tNo process is currently running" +msgstr "%C22*%O$t目前沒有任何行程在執行" + +#: src/common/textevents.h:267 +msgid "%C28-%C29$1%C28-%O$t$2" +msgstr "%C28-%C29$1%C28-%O$t$2" + +#: src/common/textevents.h:273 +msgid "$tNotify list is empty." +msgstr "$t上線通知清單是空的。" + +#: src/common/textevents.h:276 +msgid "%C24,18 %B Notify List " +msgstr "%C24,18 %B 通知清單 " + +#: src/common/textevents.h:279 +msgid "%C22*%O$t$1 users in notify list." +msgstr "%C22*%O$t$1通知清單中有 $1 名使用者。" + +#: src/common/textevents.h:282 +msgid "%C22*%O$tNotify: $1 is offline ($2)." +msgstr "%C22*%O$t通知:$1 離線了 ($2)。" + +#: src/common/textevents.h:285 +msgid "%C22*%O$tNotify: $1 is online ($2)." +msgstr "%C22*%O$t通知:$1 上線了 ($2)。" + +#: src/common/textevents.h:291 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) 離開了 $3" + +#: src/common/textevents.h:294 +msgid "%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*%O$t%C23$1 (%O%C23$2) 離開了 $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:297 +msgid "%C22*%O$tPing reply from $1: $2 second(s)" +msgstr "%C22*%O$tPing 回應從 $1 處返回:$2 秒" + +#: src/common/textevents.h:300 +msgid "%C22*%O$tNo ping reply for $1 seconds, disconnecting." +msgstr "%C22*%O$t在 %1 秒內沒有收到 ping 回應,正在切斷連接。" + +#: src/common/textevents.h:303 +msgid "%C28*%C29$3$1%C28*$t%O$2" +msgstr "%C28*%C29$3$1%C28*$t%O$2" + +#: src/common/textevents.h:306 +msgid "%C18%H<%H$3$1%H>%H%O$t$2" +msgstr "%C18%H<%H$3$1%H>%H%O$t$2" + +#: src/common/textevents.h:309 +msgid "%C22*%O$tA process is already running" +msgstr "%C22*%O$t一個行程已在執行" + +#: src/common/textevents.h:312 +msgid "%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)" +msgstr "%C23*%O$t%C23$1 已結束 (%O%C23%B%B$2%O%C23)" + +#: src/common/textevents.h:315 +msgid "%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]" +msgstr "%C22*%O$t$1 設定模式%B %C30[%O$2%B%C30]" + +#: src/common/textevents.h:318 +msgid "%C28-%C29$1/Wallops%C28-%O$t$2" +msgstr "%C28-%C29$1/Wallops%C28-%O$t$2" + +#: src/common/textevents.h:321 +msgid "%C22*%O$tLooking up IP number for%C26 $1%O..." +msgstr "%C22*%O$t查尋 %C26 $1%O 的 IP 位址..." + +#: src/common/textevents.h:324 +msgid "%C22*%O$t%C22Connected." +msgstr "%C22*%O$t%C22已連接。" + +#: src/common/textevents.h:327 src/common/textevents.h:333 +#: src/common/textevents.h:336 +msgid "%C22*%O$t$1" +msgstr "%C22*%O$t$1" + +#: src/common/textevents.h:330 +msgid "%C22*%O$t%C22Looking up $1" +msgstr "%C22*%O$t%C22正在查詢 $1" + +#: src/common/textevents.h:339 +msgid "%C22*%O$tStopped previous connection attempt (pid=$1)" +msgstr "%C22*%O$t前次連線嘗試停止 (pid=$1)" + +#: src/common/textevents.h:342 +msgid "%C29*%O$t%C29Topic for $1%C %C29is: $2" +msgstr "%C29*%O$t%C29$1%C %C29的話題是:$2" + +#: src/common/textevents.h:345 +msgid "%C22*%O$t$1 has changed the topic to: $2" +msgstr "%C22*%O$t$1 已將話題改變為: $2%O" + +#: src/common/textevents.h:348 +msgid "%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3" +msgstr "%C29*%O$t%C29$1%C %C29的話題由 $2%C %C29於 $3 設定" + +#: src/common/textevents.h:351 +msgid "%C22*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C22*%O$t未知主機。也許您把它拼寫錯了?" + +#: src/common/textevents.h:354 +msgid "%C22*%O$tCannot join%C26 %B$1 %O(User limit reached)." +msgstr "%C22*%O$t無法加入%C26 %B$1 %O(達到了使用者限額)。" + +#: src/common/textevents.h:357 +msgid "%C22*%O$t%C26Users on $1:%C $2" +msgstr "%C22*%O$t%C26 $1 中的使用者:%C $2" + +#: src/common/textevents.h:360 +msgid "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3" + +#: src/common/textevents.h:363 +msgid "%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)" +msgstr "%C22*%O$t%C28[%O$1%C28] %C 暫時離開了 %C30(%O$2%O%C30)" + +#: src/common/textevents.h:366 src/common/textevents.h:372 +#: src/common/textevents.h:387 src/common/textevents.h:390 +msgid "%C22*%O$t%C28[%O$1%C28]%O $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O $2" + +#: src/common/textevents.h:369 +msgid "%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %O WHOIS 清單結束。" + +#: src/common/textevents.h:375 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2" +msgstr "%C22*%O$t%C28[%O$1%C28]%O 發呆%C26 $2" + +#: src/common/textevents.h:378 +msgid "%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3" +msgstr "%C22*%O$t%C28[%O$1%C28]%O 發呆%C26 $2%O, 登入時間:%C26 $3" + +#: src/common/textevents.h:381 +msgid "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" +msgstr "%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4" + +#: src/common/textevents.h:384 +msgid "%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3" +msgstr "%C22*%O$t%C28[%O$1%C28] %O 真實使用者@主機%C27 $2%O, 真實IP%C27 $3" + +#: src/common/textevents.h:393 +msgid "%C19*%O$t%C19Now talking on $2" +msgstr "%C19*%O$t%C19您現在在 $2 裡聊天" + +#: src/common/textevents.h:396 +msgid "%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)" +msgstr "%C23*$t您被 $3 從 $2 中踢出 ($4%O%C23)" + +#: src/common/textevents.h:399 +#, c-format +msgid "%C23*$tYou have left channel $3" +msgstr "%C23*$t您已離開聊天室 $3" + +#: src/common/textevents.h:402 +msgid "%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)" +msgstr "%C23*$t您已離開聊天室 $3 (%O%C23%B%B$4%O%C23)" + +#: src/common/textevents.h:405 +msgid "%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)" +msgstr "%C22*%O$t您已邀請%C26 $1%O 加入%C26 $2%O (%C26$3%O)" + +#: src/common/textevents.h:408 +msgid "%C31%H<%H$4$1%H>%H%O%C30$t$2" +msgstr "%C31%H<%H$4$1%H>%H%O%C30$t$2" + +#: src/common/textevents.h:411 +msgid "%C22*%O$tYou are now known as $2" +msgstr "%C22*%O$t您已改名為$2" + +#: src/common/text.c:61 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** %s 結束日誌紀錄\n" + +#: src/common/text.c:263 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** %s 開始日誌記錄\n" + +#: src/common/text.c:282 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +" permissions on %s/xchatlogs" +msgstr "" +"不能打開日誌檔案進行寫入操作。請檢查\n" +"%s/xchatlogs 的權限設定" + +#: src/common/text.c:516 +msgid "Left message" +msgstr "左邊的訊息" + +#: src/common/text.c:517 +msgid "Right message" +msgstr "右邊的訊息" + +#: src/common/text.c:521 +msgid "The nick of the joining person" +msgstr "加入的使用者" + +#: src/common/text.c:522 +msgid "The channel being joined" +msgstr "加入的聊天室" + +#: src/common/text.c:523 src/common/text.c:569 src/common/text.c:626 +msgid "The host of the person" +msgstr "此人的主機" + +#: src/common/text.c:527 src/common/text.c:533 src/common/text.c:540 +#: src/common/text.c:607 src/common/text.c:733 src/common/text.c:740 +#: src/common/text.c:745 src/common/text.c:750 src/common/text.c:755 +#: src/common/text.c:761 src/common/text.c:766 src/common/text.c:770 +#: src/common/text.c:776 src/common/text.c:782 src/common/text.c:828 +#: src/common/text.c:838 src/common/text.c:843 src/common/text.c:848 +#: src/common/text.c:857 src/common/text.c:868 src/common/text.c:875 +#: src/common/text.c:881 src/common/text.c:886 src/common/text.c:891 +#: src/common/text.c:898 src/common/text.c:904 src/common/text.c:910 +#: src/common/text.c:915 src/common/text.c:920 src/common/text.c:924 +#: src/common/text.c:930 src/common/text.c:938 src/common/text.c:972 +#: src/common/text.c:977 +msgid "Nickname" +msgstr "暱稱" + +#: src/common/text.c:528 +msgid "The action" +msgstr "動作" + +#: src/common/text.c:529 src/common/text.c:535 +msgid "Mode char" +msgstr "聊天模式" + +#: src/common/text.c:534 +msgid "The text" +msgstr "文字" + +#: src/common/text.c:536 src/common/text.c:609 +msgid "Identified text" +msgstr "驗證文字" + +#: src/common/text.c:541 src/common/text.c:597 src/common/text.c:603 +#: src/common/text.c:608 +msgid "The message" +msgstr "訊息" + +#: src/common/text.c:545 src/common/text.c:613 +msgid "Old nickname" +msgstr "原暱稱" + +#: src/common/text.c:546 src/common/text.c:614 +msgid "New nickname" +msgstr "新暱稱" + +#: src/common/text.c:550 +msgid "Nick of person who changed the topic" +msgstr "更改話題的使用者" + +#: src/common/text.c:551 src/common/text.c:557 src/fe-gtk/chanlist.c:607 +#: src/fe-gtk/chanlist.c:712 +msgid "Topic" +msgstr "話題" + +#: src/common/text.c:552 src/common/text.c:556 src/common/text.c:992 +#: src/fe-gtk/chanlist.c:605 src/fe-gtk/chanlist.c:703 +#: src/fe-gtk/ignoregui.c:176 +msgid "Channel" +msgstr "聊天室" + +#: src/common/text.c:561 src/common/text.c:620 +msgid "The nickname of the kicker" +msgstr "能踢人的使用者" + +#: src/common/text.c:562 src/common/text.c:618 +msgid "The person being kicked" +msgstr "被踢者" + +#: src/common/text.c:563 src/common/text.c:570 src/common/text.c:574 +#: src/common/text.c:579 src/common/text.c:619 src/common/text.c:627 +#: src/common/text.c:634 +msgid "The channel" +msgstr "聊天室" + +#: src/common/text.c:564 src/common/text.c:621 src/common/text.c:628 +msgid "The reason" +msgstr "原因" + +#: src/common/text.c:568 src/common/text.c:625 +msgid "The nick of the person leaving" +msgstr "離開的使用者" + +#: src/common/text.c:575 src/common/text.c:581 +msgid "The time" +msgstr "時間" + +#: src/common/text.c:580 +msgid "The creator" +msgstr "建立者" + +#: src/common/text.c:585 +msgid "Nick" +msgstr "暱稱" + +#: src/common/text.c:586 src/common/text.c:844 +msgid "Reason" +msgstr "原因" + +#: src/common/text.c:587 src/common/text.c:735 src/common/text.c:818 +msgid "Host" +msgstr "主機" + +#: src/common/text.c:591 src/common/text.c:596 src/common/text.c:601 +msgid "Who it's from" +msgstr "來自者" + +#: src/common/text.c:592 +msgid "The time in x.x format (see below)" +msgstr "時間格式為 x.x (見下)" + +#: src/common/text.c:602 src/common/text.c:645 +msgid "The Channel it's going to" +msgstr "要加入的聊天室" + +#: src/common/text.c:632 +msgid "The sound" +msgstr "音效" + +#: src/common/text.c:633 src/common/text.c:639 src/common/text.c:644 +msgid "The nick of the person" +msgstr "此人的暱稱" + +#: src/common/text.c:638 src/common/text.c:643 +msgid "The CTCP event" +msgstr "CTCP 事件" + +#: src/common/text.c:649 +msgid "The nick of the person who set the key" +msgstr "設定密鑰的使用者" + +#: src/common/text.c:650 +msgid "The key" +msgstr "密鑰" + +#: src/common/text.c:654 +msgid "The nick of the person who set the limit" +msgstr "設定限額的使用者" + +#: src/common/text.c:655 +msgid "The limit" +msgstr "限額" + +#: src/common/text.c:659 +msgid "The nick of the person who did the op'ing" +msgstr "使用了 op 命令的使用者" + +#: src/common/text.c:660 +msgid "The nick of the person who has been op'ed" +msgstr "被授予 op 身分的使用者" + +#: src/common/text.c:664 +msgid "The nick of the person who has been halfop'ed" +msgstr "被授予 halfop 身分的使用者" + +#: src/common/text.c:665 +msgid "The nick of the person who did the halfop'ing" +msgstr "使用 halfop 命令的使用者" + +#: src/common/text.c:669 +msgid "The nick of the person who did the voice'ing" +msgstr "使用 voice 命令的使用者" + +#: src/common/text.c:670 +msgid "The nick of the person who has been voice'ed" +msgstr "被賦予發言權的使用者" + +#: src/common/text.c:674 +msgid "The nick of the person who did the banning" +msgstr "使用 ban 命令的使用者" + +#: src/common/text.c:675 src/common/text.c:702 +msgid "The ban mask" +msgstr "ban 命令的遮罩" + +#: src/common/text.c:679 +msgid "The nick who removed the key" +msgstr "取消密鑰的使用者" + +#: src/common/text.c:683 +msgid "The nick who removed the limit" +msgstr "取消使用者限額的使用者" + +#: src/common/text.c:687 +msgid "The nick of the person of did the deop'ing" +msgstr "使用 deop 命令的使用者" + +#: src/common/text.c:688 +msgid "The nick of the person who has been deop'ed" +msgstr "被取消 op 身分的使用者" + +#: src/common/text.c:691 +msgid "The nick of the person of did the dehalfop'ing" +msgstr "使用 dehalfop 命令的使用者" + +#: src/common/text.c:692 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "被取消 halfop 身分的使用者" + +#: src/common/text.c:696 +msgid "The nick of the person of did the devoice'ing" +msgstr "使用 devoice 命令的使用者" + +#: src/common/text.c:697 +msgid "The nick of the person who has been devoice'ed" +msgstr "被取消發言權的使用者" + +#: src/common/text.c:701 +msgid "The nick of the person of did the unban'ing" +msgstr "使用 unban 命令的使用者" + +#: src/common/text.c:706 +msgid "The nick of the person who did the exempt" +msgstr "使用 exempt 命令的使用者" + +#: src/common/text.c:707 src/common/text.c:712 +msgid "The exempt mask" +msgstr "exempt 遮罩" + +#: src/common/text.c:711 +msgid "The nick of the person removed the exempt" +msgstr "取消 exempt 的使用者" + +#: src/common/text.c:716 +msgid "The nick of the person who did the invite" +msgstr "使用 invite 命令的使用者" + +#: src/common/text.c:717 src/common/text.c:722 +msgid "The invite mask" +msgstr "invite 遮罩" + +#: src/common/text.c:721 +msgid "The nick of the person removed the invite" +msgstr "取消 invite 的使用者" + +#: src/common/text.c:726 +msgid "The nick of the person setting the mode" +msgstr "設定模式的使用者" + +#: src/common/text.c:727 +msgid "The mode's sign (+/-)" +msgstr "模式的符號(+/-)" + +#: src/common/text.c:728 +msgid "The mode letter" +msgstr "模式字母" + +#: src/common/text.c:729 +msgid "The channel it's being set on" +msgstr "被設定的聊天室" + +#: src/common/text.c:734 +msgid "Username" +msgstr "使用者名" + +#: src/common/text.c:736 +msgid "Full name" +msgstr "全名" + +#: src/common/text.c:741 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "聊天室成員/「是 IRC 管理員」" + +#: src/common/text.c:746 +msgid "Server Information" +msgstr "伺服器資訊" + +#: src/common/text.c:751 src/common/text.c:756 +msgid "Idle time" +msgstr "發呆時間" + +#: src/common/text.c:757 +msgid "Signon time" +msgstr "登入時間" + +#: src/common/text.c:762 +msgid "Away reason" +msgstr "離開原因" + +#: src/common/text.c:771 src/common/text.c:777 src/common/text.c:785 +#: src/common/text.c:964 +msgid "Message" +msgstr "訊息" + +#: src/common/text.c:778 +msgid "Account" +msgstr "帳戶" + +#: src/common/text.c:783 +msgid "Real user@host" +msgstr "真實使用者@主機" + +#: src/common/text.c:784 +msgid "Real IP" +msgstr "真實 IP" + +#: src/common/text.c:789 src/common/text.c:798 src/common/text.c:804 +#: src/common/text.c:833 src/common/text.c:987 +msgid "Channel Name" +msgstr "聊天室名" + +#: src/common/text.c:793 src/common/text.c:950 src/fe-gtk/menu.c:1166 +#: src/fe-gtk/menu.c:1345 src/fe-gtk/textgui.c:387 +msgid "Text" +msgstr "文字" + +#: src/common/text.c:794 src/common/text.c:800 src/common/text.c:829 +#: src/common/text.c:946 src/common/text.c:988 +msgid "Server Name" +msgstr "伺服器名" + +#: src/common/text.c:799 +msgid "Nick of person who invited you" +msgstr "邀請您的使用者" + +#: src/common/text.c:805 src/fe-gtk/chanlist.c:606 +msgid "Users" +msgstr "使用者" + +#: src/common/text.c:809 +msgid "Nickname in use" +msgstr "暱稱已被使用" + +#: src/common/text.c:810 +msgid "Nick being tried" +msgstr "已試用過的暱稱" + +#: src/common/text.c:814 src/common/text.c:851 src/common/text.c:862 +#: src/common/text.c:869 src/common/text.c:882 src/common/text.c:899 +#: src/common/text.c:999 src/common/util.c:352 +msgid "Error" +msgstr "錯誤" + +#: src/common/text.c:819 src/common/text.c:954 +msgid "IP" +msgstr "IP 位址" + +#: src/common/text.c:820 src/common/text.c:850 +msgid "Port" +msgstr "輸出入埠" + +#: src/common/text.c:824 +msgid "PID" +msgstr "行程代號" + +#: src/common/text.c:834 src/common/text.c:839 +msgid "Modes string" +msgstr "模式字串" + +#: src/common/text.c:849 src/common/text.c:887 src/common/text.c:892 +#: src/common/text.c:933 +msgid "IP address" +msgstr "IP 位址" + +#: src/common/text.c:855 src/common/text.c:880 +msgid "DCC Type" +msgstr "DCC 類型" + +#: src/common/text.c:856 src/common/text.c:861 src/common/text.c:866 +#: src/common/text.c:873 src/common/text.c:893 src/common/text.c:897 +#: src/common/text.c:903 src/common/text.c:909 src/common/text.c:916 +#: src/common/text.c:925 src/common/text.c:931 +msgid "Filename" +msgstr "檔案名" + +#: src/common/text.c:867 src/common/text.c:874 +msgid "Destination filename" +msgstr "目標檔案名" + +#: src/common/text.c:876 src/common/text.c:905 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:911 +msgid "Pathname" +msgstr "路徑名" + +#: src/common/text.c:926 src/fe-gtk/dccgui.c:537 src/fe-gtk/dccgui.c:709 +msgid "Position" +msgstr "位置" + +#: src/common/text.c:932 src/fe-gtk/dccgui.c:353 src/fe-gtk/dccgui.c:536 +#: src/fe-gtk/dccgui.c:708 +msgid "Size" +msgstr "大小" + +#: src/common/text.c:937 +msgid "DCC String" +msgstr "DCC 字串" + +#: src/common/text.c:942 +msgid "Number of notify items" +msgstr "通知條目數" + +#: src/common/text.c:958 +msgid "Old Filename" +msgstr "舊檔案名" + +#: src/common/text.c:959 +msgid "New Filename" +msgstr "新檔案名" + +#: src/common/text.c:963 +msgid "Receiver" +msgstr "接收者" + +#: src/common/text.c:968 +msgid "Hostmask" +msgstr "主機遮罩" + +#: src/common/text.c:973 +msgid "Hostname" +msgstr "主機名" + +#: src/common/text.c:978 +msgid "The Packet" +msgstr "包" + +#: src/common/text.c:982 +msgid "Seconds" +msgstr "秒" + +#: src/common/text.c:986 +msgid "Nick of person who have been invited" +msgstr "被邀請的使用者" + +#: src/common/text.c:993 +msgid "Banmask" +msgstr "ban 的遮罩" + +#: src/common/text.c:994 +msgid "Who set the ban" +msgstr "設定禁令的使用者" + +#: src/common/text.c:995 +msgid "Ban time" +msgstr "封禁時間" + +#: src/common/text.c:1035 +#, c-format +msgid "" +"Error parsing event %s.\n" +"Loading default." +msgstr "" +"解析事件 %s 時出錯。\n" +"載入預設值。" + +#: src/common/text.c:1712 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" +"無法讀取聲音檔案:\n" +"%s" + +#: src/common/util.c:296 +msgid "Remote host closed socket" +msgstr "遠端主機已關閉 socket" + +#: src/common/util.c:301 +msgid "Connection refused" +msgstr "連線被拒絕" + +#: src/common/util.c:304 +msgid "No route to host" +msgstr "沒有到主機的路由" + +#: src/common/util.c:306 +msgid "Connection timed out" +msgstr "連線超時" + +#: src/common/util.c:308 +msgid "Cannot assign that address" +msgstr "無法分配該位址" + +#: src/common/util.c:310 +msgid "Connection reset by peer" +msgstr "連線被對方重設" + +#: src/common/util.c:839 +msgid "Ascension Island" +msgstr "亞森松島" + +#: src/common/util.c:840 +msgid "Andorra" +msgstr "安道爾" + +#: src/common/util.c:841 +msgid "United Arab Emirates" +msgstr "阿拉伯聯合大公國" + +#: src/common/util.c:842 +msgid "Afghanistan" +msgstr "阿富汗" + +#: src/common/util.c:843 +msgid "Antigua and Barbuda" +msgstr "安地卡及巴布達" + +#: src/common/util.c:844 +msgid "Anguilla" +msgstr "安圭拉島" + +#: src/common/util.c:845 +msgid "Albania" +msgstr "阿爾巴尼亞" + +#: src/common/util.c:846 +msgid "Armenia" +msgstr "亞美尼亞" + +#: src/common/util.c:847 +msgid "Netherlands Antilles" +msgstr "荷屬安地列斯" + +#: src/common/util.c:848 +msgid "Angola" +msgstr "安哥拉" + +#: src/common/util.c:849 +msgid "Antarctica" +msgstr "南極洲" + +#: src/common/util.c:850 +msgid "Argentina" +msgstr "阿根廷" + +#: src/common/util.c:851 +msgid "Reverse DNS" +msgstr "反向 DNS" + +#: src/common/util.c:852 +msgid "American Samoa" +msgstr "美屬薩摩亞" + +#: src/common/util.c:853 +msgid "Austria" +msgstr "奧地利" + +#: src/common/util.c:854 +msgid "Nato Fiel" +msgstr "北大西洋公約組織" + +#: src/common/util.c:855 +msgid "Australia" +msgstr "澳大利亞" + +#: src/common/util.c:856 +msgid "Aruba" +msgstr "阿盧巴島" + +#: src/common/util.c:857 +msgid "Aland Islands" +msgstr "奧蘭群島" + +#: src/common/util.c:858 +msgid "Azerbaijan" +msgstr "亞塞拜然" + +#: src/common/util.c:859 +msgid "Bosnia and Herzegovina" +msgstr "波士尼亞及赫塞哥維那" + +#: src/common/util.c:860 +msgid "Barbados" +msgstr "巴貝多" + +#: src/common/util.c:861 +msgid "Bangladesh" +msgstr "孟加拉" + +#: src/common/util.c:862 +msgid "Belgium" +msgstr "比利時" + +#: src/common/util.c:863 +msgid "Burkina Faso" +msgstr "布吉納法索" + +#: src/common/util.c:864 +msgid "Bulgaria" +msgstr "保加利亞" + +#: src/common/util.c:865 +msgid "Bahrain" +msgstr "巴林" + +#: src/common/util.c:866 +msgid "Burundi" +msgstr "浦隆地" + +#: src/common/util.c:867 +msgid "Businesses" +msgstr "商業" + +#: src/common/util.c:868 +msgid "Benin" +msgstr "貝南" + +#: src/common/util.c:869 +msgid "Bermuda" +msgstr "百慕達群島" + +#: src/common/util.c:870 +msgid "Brunei Darussalam" +msgstr "汶萊" + +#: src/common/util.c:871 +msgid "Bolivia" +msgstr "玻利維亞" + +#: src/common/util.c:872 +msgid "Brazil" +msgstr "巴西" + +#: src/common/util.c:873 +msgid "Bahamas" +msgstr "巴哈馬群島" + +#: src/common/util.c:874 +msgid "Bhutan" +msgstr "不丹" + +#: src/common/util.c:875 +msgid "Bouvet Island" +msgstr "波維特島" + +#: src/common/util.c:876 +msgid "Botswana" +msgstr "波札那" + +#: src/common/util.c:877 +msgid "Belarus" +msgstr "白俄" + +#: src/common/util.c:878 +msgid "Belize" +msgstr "貝里斯" + +#: src/common/util.c:879 +msgid "Canada" +msgstr "加拿大" + +#: src/common/util.c:880 +msgid "Cocos Islands" +msgstr "可可斯群島" + +#: src/common/util.c:881 +msgid "Democratic Republic of Congo" +msgstr "剛果民主共和國" + +#: src/common/util.c:882 +msgid "Central African Republic" +msgstr "中非共和國" + +#: src/common/util.c:883 +msgid "Congo" +msgstr "剛果" + +#: src/common/util.c:884 +msgid "Switzerland" +msgstr "瑞士" + +#: src/common/util.c:885 +msgid "Cote d'Ivoire" +msgstr "象牙海岸" + +#: src/common/util.c:886 +msgid "Cook Islands" +msgstr "科克群島" + +#: src/common/util.c:887 +msgid "Chile" +msgstr "智利" + +#: src/common/util.c:888 +msgid "Cameroon" +msgstr "喀麥隆" + +#: src/common/util.c:889 +msgid "China" +msgstr "中國" + +#: src/common/util.c:890 +msgid "Colombia" +msgstr "哥倫比亞" + +#: src/common/util.c:891 +msgid "Internic Commercial" +msgstr "Internic 商業組織" + +#: src/common/util.c:892 +msgid "Costa Rica" +msgstr "哥斯大黎加" + +#: src/common/util.c:893 +msgid "Serbia and Montenegro" +msgstr "塞爾維亞及蒙特尼哥羅" + +#: src/common/util.c:894 +msgid "Cuba" +msgstr "古巴" + +#: src/common/util.c:895 +msgid "Cape Verde" +msgstr "維德角島" + +#: src/common/util.c:896 +msgid "Christmas Island" +msgstr "聖誕島" + +#: src/common/util.c:897 +msgid "Cyprus" +msgstr "賽普勒斯" + +#: src/common/util.c:898 +msgid "Czech Republic" +msgstr "捷克共和國" + +#: src/common/util.c:899 +msgid "Germany" +msgstr "德國" + +#: src/common/util.c:900 +msgid "Djibouti" +msgstr "吉布地" + +#: src/common/util.c:901 +msgid "Denmark" +msgstr "丹麥" + +#: src/common/util.c:902 +msgid "Dominica" +msgstr "多明尼克" + +#: src/common/util.c:903 +msgid "Dominican Republic" +msgstr "多明尼加共和國" + +#: src/common/util.c:904 +msgid "Algeria" +msgstr "阿爾及利亞" + +#: src/common/util.c:905 +msgid "Ecuador" +msgstr "厄瓜多" + +#: src/common/util.c:906 +msgid "Educational Institution" +msgstr "教育機構" + +#: src/common/util.c:907 +msgid "Estonia" +msgstr "愛沙尼亞" + +#: src/common/util.c:908 +msgid "Egypt" +msgstr "埃及" + +#: src/common/util.c:909 +msgid "Western Sahara" +msgstr "西撒哈拉" + +#: src/common/util.c:910 +msgid "Eritrea" +msgstr "埃立特里亞" + +#: src/common/util.c:911 +msgid "Spain" +msgstr "西班牙" + +#: src/common/util.c:912 +msgid "Ethiopia" +msgstr "衣索比亞" + +#: src/common/util.c:913 +msgid "European Union" +msgstr "歐盟" + +#: src/common/util.c:914 +msgid "Finland" +msgstr "芬蘭" + +#: src/common/util.c:915 +msgid "Fiji" +msgstr "斐濟" + +#: src/common/util.c:916 +msgid "Falkland Islands" +msgstr "福克蘭群島" + +#: src/common/util.c:917 +msgid "Micronesia" +msgstr "密克羅尼西亞" + +#: src/common/util.c:918 +msgid "Faroe Islands" +msgstr "法羅群島" + +#: src/common/util.c:919 +msgid "France" +msgstr "法國" + +#: src/common/util.c:920 +msgid "Gabon" +msgstr "加彭" + +#: src/common/util.c:921 +msgid "Great Britain" +msgstr "大不列顛" + +#: src/common/util.c:922 +msgid "Grenada" +msgstr "格瑞納達" + +#: src/common/util.c:923 +msgid "Georgia" +msgstr "喬治亞" + +#: src/common/util.c:924 +msgid "French Guiana" +msgstr "法屬圭亞那" + +#: src/common/util.c:925 +msgid "British Channel Isles" +msgstr "不列顛海峽群島" + +#: src/common/util.c:926 +msgid "Ghana" +msgstr "迦納" + +#: src/common/util.c:927 +msgid "Gibraltar" +msgstr "直布羅陀" + +#: src/common/util.c:928 +msgid "Greenland" +msgstr "格陵蘭" + +#: src/common/util.c:929 +msgid "Gambia" +msgstr "甘比亞" + +#: src/common/util.c:930 +msgid "Guinea" +msgstr "幾內亞" + +#: src/common/util.c:931 +msgid "Government" +msgstr "政府部門" + +#: src/common/util.c:932 +msgid "Guadeloupe" +msgstr "瓜德魯普島" + +#: src/common/util.c:933 +msgid "Equatorial Guinea" +msgstr "赤道幾內亞" + +#: src/common/util.c:934 +msgid "Greece" +msgstr "希臘" + +#: src/common/util.c:935 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "南喬治亞及南桑威奇群島" + +#: src/common/util.c:936 +msgid "Guatemala" +msgstr "瓜地馬拉" + +#: src/common/util.c:937 +msgid "Guam" +msgstr "關島" + +#: src/common/util.c:938 +msgid "Guinea-Bissau" +msgstr "幾內亞比索" + +#: src/common/util.c:939 +msgid "Guyana" +msgstr "蓋亞那" + +#: src/common/util.c:940 +msgid "Hong Kong" +msgstr "香港" + +#: src/common/util.c:941 +msgid "Heard and McDonald Islands" +msgstr "赫德及麥當勞群島" + +#: src/common/util.c:942 +msgid "Honduras" +msgstr "宏都拉斯" + +#: src/common/util.c:943 +msgid "Croatia" +msgstr "克羅埃西亞" + +#: src/common/util.c:944 +msgid "Haiti" +msgstr "海地" + +#: src/common/util.c:945 +msgid "Hungary" +msgstr "匈牙利" + +#: src/common/util.c:946 +msgid "Indonesia" +msgstr "印尼" + +#: src/common/util.c:947 +msgid "Ireland" +msgstr "愛爾蘭" + +#: src/common/util.c:948 +msgid "Israel" +msgstr "以色列" + +#: src/common/util.c:949 +msgid "Isle of Man" +msgstr "曼島" + +#: src/common/util.c:950 +msgid "India" +msgstr "印度" + +#: src/common/util.c:951 +msgid "Informational" +msgstr "資訊的" + +#: src/common/util.c:952 +msgid "International" +msgstr "國際的" + +#: src/common/util.c:953 +msgid "British Indian Ocean Territory" +msgstr "英屬印度洋地區" + +#: src/common/util.c:954 +msgid "Iraq" +msgstr "伊拉克" + +#: src/common/util.c:955 +msgid "Iran" +msgstr "伊朗" + +#: src/common/util.c:956 +msgid "Iceland" +msgstr "冰島" + +#: src/common/util.c:957 +msgid "Italy" +msgstr "意大利" + +#: src/common/util.c:958 +msgid "Jersey" +msgstr "澤西" + +#: src/common/util.c:959 +msgid "Jamaica" +msgstr "牙買加" + +#: src/common/util.c:960 +msgid "Jordan" +msgstr "約旦" + +#: src/common/util.c:961 +msgid "Japan" +msgstr "日本" + +#: src/common/util.c:962 +msgid "Kenya" +msgstr "肯亞" + +#: src/common/util.c:963 +msgid "Kyrgyzstan" +msgstr "吉爾吉斯" + +#: src/common/util.c:964 +msgid "Cambodia" +msgstr "柬埔寨" + +#: src/common/util.c:965 +msgid "Kiribati" +msgstr "吉里巴斯" + +#: src/common/util.c:966 +msgid "Comoros" +msgstr "葛摩" + +#: src/common/util.c:967 +msgid "St. Kitts and Nevis" +msgstr "聖克里斯多福" + +#: src/common/util.c:968 +msgid "North Korea" +msgstr "北韓" + +#: src/common/util.c:969 +msgid "South Korea" +msgstr "南韓" + +#: src/common/util.c:970 +msgid "Kuwait" +msgstr "科威特" + +#: src/common/util.c:971 +msgid "Cayman Islands" +msgstr "開曼群島" + +#: src/common/util.c:972 +msgid "Kazakhstan" +msgstr "哈薩克" + +#: src/common/util.c:973 +msgid "Laos" +msgstr "寮國" + +#: src/common/util.c:974 +msgid "Lebanon" +msgstr "黎巴嫩" + +#: src/common/util.c:975 +msgid "Saint Lucia" +msgstr "聖露西亞" + +#: src/common/util.c:976 +msgid "Liechtenstein" +msgstr "列支敦斯登" + +#: src/common/util.c:977 +msgid "Sri Lanka" +msgstr "斯里蘭卡" + +#: src/common/util.c:978 +msgid "Liberia" +msgstr "賴比瑞亞" + +#: src/common/util.c:979 +msgid "Lesotho" +msgstr "賴索托" + +#: src/common/util.c:980 +msgid "Lithuania" +msgstr "立陶宛" + +#: src/common/util.c:981 +msgid "Luxembourg" +msgstr "盧森堡" + +#: src/common/util.c:982 +msgid "Latvia" +msgstr "拉脫維亞" + +#: src/common/util.c:983 +msgid "Libya" +msgstr "利比亞" + +#: src/common/util.c:984 +msgid "Morocco" +msgstr "摩洛哥" + +#: src/common/util.c:985 +msgid "Monaco" +msgstr "摩納哥" + +#: src/common/util.c:986 +msgid "Moldova" +msgstr "摩爾多瓦" + +#: src/common/util.c:987 +msgid "United States Medical" +msgstr "美國醫療組織" + +#: src/common/util.c:988 +msgid "Madagascar" +msgstr "馬達加斯加" + +#: src/common/util.c:989 +msgid "Marshall Islands" +msgstr "馬紹爾群島" + +#: src/common/util.c:990 +msgid "Military" +msgstr "軍事" + +#: src/common/util.c:991 +msgid "Macedonia" +msgstr "馬其頓" + +#: src/common/util.c:992 +msgid "Mali" +msgstr "馬利" + +#: src/common/util.c:993 +msgid "Myanmar" +msgstr "緬甸" + +#: src/common/util.c:994 +msgid "Mongolia" +msgstr "蒙古" + +#: src/common/util.c:995 +msgid "Macau" +msgstr "澳門" + +#: src/common/util.c:996 +msgid "Northern Mariana Islands" +msgstr "北馬里亞納群島" + +#: src/common/util.c:997 +msgid "Martinique" +msgstr "法屬馬丁尼克" + +#: src/common/util.c:998 +msgid "Mauritania" +msgstr "茅利塔尼亞" + +#: src/common/util.c:999 +msgid "Montserrat" +msgstr "蒙瑟拉特島" + +#: src/common/util.c:1000 +msgid "Malta" +msgstr "馬爾他" + +#: src/common/util.c:1001 +msgid "Mauritius" +msgstr "模里西斯" + +#: src/common/util.c:1002 +msgid "Maldives" +msgstr "馬爾地夫" + +#: src/common/util.c:1003 +msgid "Malawi" +msgstr "馬拉威" + +#: src/common/util.c:1004 +msgid "Mexico" +msgstr "墨西哥" + +#: src/common/util.c:1005 +msgid "Malaysia" +msgstr "馬來西亞" + +#: src/common/util.c:1006 +msgid "Mozambique" +msgstr "莫三比克" + +#: src/common/util.c:1007 +msgid "Namibia" +msgstr "納米比亞" + +#: src/common/util.c:1008 +msgid "New Caledonia" +msgstr "新喀里多尼亞島" + +#: src/common/util.c:1009 +msgid "Niger" +msgstr "尼日" + +#: src/common/util.c:1010 +msgid "Internic Network" +msgstr "Internic 網路" + +#: src/common/util.c:1011 +msgid "Norfolk Island" +msgstr "諾福克島" + +#: src/common/util.c:1012 +msgid "Nigeria" +msgstr "奈及利亞" + +#: src/common/util.c:1013 +msgid "Nicaragua" +msgstr "尼加拉瓜" + +#: src/common/util.c:1014 +msgid "Netherlands" +msgstr "荷蘭" + +#: src/common/util.c:1015 +msgid "Norway" +msgstr "挪威" + +#: src/common/util.c:1016 +msgid "Nepal" +msgstr "尼泊爾" + +#: src/common/util.c:1017 +msgid "Nauru" +msgstr "諾魯" + +#: src/common/util.c:1018 +msgid "Niue" +msgstr "紐威島" + +#: src/common/util.c:1019 +msgid "New Zealand" +msgstr "紐西蘭" + +#: src/common/util.c:1020 +msgid "Oman" +msgstr "阿曼" + +#: src/common/util.c:1021 +msgid "Internic Non-Profit Organization" +msgstr "Internic 非營利性組織" + +#: src/common/util.c:1022 +msgid "Panama" +msgstr "巴拿馬" + +#: src/common/util.c:1023 +msgid "Peru" +msgstr "秘魯" + +#: src/common/util.c:1024 +msgid "French Polynesia" +msgstr "法屬波里尼西亞" + +#: src/common/util.c:1025 +msgid "Papua New Guinea" +msgstr "巴布亞紐幾內亞" + +#: src/common/util.c:1026 +msgid "Philippines" +msgstr "菲律賓" + +#: src/common/util.c:1027 +msgid "Pakistan" +msgstr "巴基斯坦" + +#: src/common/util.c:1028 +msgid "Poland" +msgstr "波蘭" + +#: src/common/util.c:1029 +msgid "St. Pierre and Miquelon" +msgstr "聖匹及密啟倫群島" + +#: src/common/util.c:1030 +msgid "Pitcairn" +msgstr "皮特康島" + +#: src/common/util.c:1031 +msgid "Puerto Rico" +msgstr "波多黎各" + +#: src/common/util.c:1032 +msgid "Palestinian Territory" +msgstr "巴勒斯坦地區" + +#: src/common/util.c:1033 +msgid "Portugal" +msgstr "葡萄牙" + +#: src/common/util.c:1034 +msgid "Palau" +msgstr "帛琉群島" + +#: src/common/util.c:1035 +msgid "Paraguay" +msgstr "巴拉圭" + +#: src/common/util.c:1036 +msgid "Qatar" +msgstr "卡達" + +#: src/common/util.c:1037 +msgid "Reunion" +msgstr "留尼旺" + +#: src/common/util.c:1038 +msgid "Romania" +msgstr "羅馬尼亞" + +#: src/common/util.c:1039 +msgid "Old School ARPAnet" +msgstr "教育 ARPAnet" + +#: src/common/util.c:1040 +msgid "Russian Federation" +msgstr "俄羅斯聯邦" + +#: src/common/util.c:1041 +msgid "Rwanda" +msgstr "盧安達" + +#: src/common/util.c:1042 +msgid "Saudi Arabia" +msgstr "沙烏地阿拉伯" + +#: src/common/util.c:1043 +msgid "Solomon Islands" +msgstr "所羅門群島" + +#: src/common/util.c:1044 +msgid "Seychelles" +msgstr "塞席爾群島" + +#: src/common/util.c:1045 +msgid "Sudan" +msgstr "蘇丹" + +#: src/common/util.c:1046 +msgid "Sweden" +msgstr "瑞典" + +#: src/common/util.c:1047 +msgid "Singapore" +msgstr "新加坡" + +#: src/common/util.c:1048 +msgid "St. Helena" +msgstr "聖赫勒拿島" + +#: src/common/util.c:1049 +msgid "Slovenia" +msgstr "斯洛凡尼亞" + +#: src/common/util.c:1050 +msgid "Svalbard and Jan Mayen Islands" +msgstr "冷岸及央麥恩群島" + +#: src/common/util.c:1051 +msgid "Slovak Republic" +msgstr "斯洛伐克共和國" + +#: src/common/util.c:1052 +msgid "Sierra Leone" +msgstr "獅子山" + +#: src/common/util.c:1053 +msgid "San Marino" +msgstr "聖馬利諾" + +#: src/common/util.c:1054 +msgid "Senegal" +msgstr "塞內加爾" + +#: src/common/util.c:1055 +msgid "Somalia" +msgstr "索馬利亞" + +#: src/common/util.c:1056 +msgid "Suriname" +msgstr "蘇利南" + +#: src/common/util.c:1057 +msgid "Sao Tome and Principe" +msgstr "聖多美和普林西比" + +#: src/common/util.c:1058 +msgid "Former USSR" +msgstr "前蘇聯" + +#: src/common/util.c:1059 +msgid "El Salvador" +msgstr "薩爾瓦多" + +#: src/common/util.c:1060 +msgid "Syria" +msgstr "敘利亞" + +#: src/common/util.c:1061 +msgid "Swaziland" +msgstr "史瓦濟蘭" + +#: src/common/util.c:1062 +msgid "Turks and Caicos Islands" +msgstr "土克斯及開科斯群島" + +#: src/common/util.c:1063 +msgid "Chad" +msgstr "查德" + +#: src/common/util.c:1064 +msgid "French Southern Territories" +msgstr "法屬南部地區" + +#: src/common/util.c:1065 +msgid "Togo" +msgstr "多哥" + +#: src/common/util.c:1066 +msgid "Thailand" +msgstr "泰國" + +#: src/common/util.c:1067 +msgid "Tajikistan" +msgstr "塔吉克" + +#: src/common/util.c:1068 +msgid "Tokelau" +msgstr "托克勞群島" + +#: src/common/util.c:1069 src/common/util.c:1073 +msgid "East Timor" +msgstr "東帝汶" + +#: src/common/util.c:1070 +msgid "Turkmenistan" +msgstr "土庫曼" + +#: src/common/util.c:1071 +msgid "Tunisia" +msgstr "突尼西亞" + +#: src/common/util.c:1072 +msgid "Tonga" +msgstr "東加" + +#: src/common/util.c:1074 +msgid "Turkey" +msgstr "土耳其" + +#: src/common/util.c:1075 +msgid "Trinidad and Tobago" +msgstr "千里達托貝哥" + +#: src/common/util.c:1076 +msgid "Tuvalu" +msgstr "吐瓦魯" + +#: src/common/util.c:1077 +msgid "Taiwan" +msgstr "臺灣" + +#: src/common/util.c:1078 +msgid "Tanzania" +msgstr "坦尚尼亞" + +#: src/common/util.c:1079 +msgid "Ukraine" +msgstr "烏克蘭" + +#: src/common/util.c:1080 +msgid "Uganda" +msgstr "烏干達" + +#: src/common/util.c:1081 +msgid "United Kingdom" +msgstr "英國" + +#: src/common/util.c:1082 +msgid "US Minor Outlying Islands" +msgstr "美國周邊島嶼" + +#: src/common/util.c:1083 +msgid "United States of America" +msgstr "美國" + +#: src/common/util.c:1084 +msgid "Uruguay" +msgstr "烏拉圭" + +#: src/common/util.c:1085 +msgid "Uzbekistan" +msgstr "烏茲別克" + +#: src/common/util.c:1086 +msgid "Vatican City State" +msgstr "梵蒂岡" + +#: src/common/util.c:1087 +msgid "St. Vincent and the Grenadines" +msgstr "聖文森及格瑞那丁" + +#: src/common/util.c:1088 +msgid "Venezuela" +msgstr "委內瑞拉" + +#: src/common/util.c:1089 +msgid "British Virgin Islands" +msgstr "英屬維京群島" + +#: src/common/util.c:1090 +msgid "US Virgin Islands" +msgstr "美屬維京群島" + +#: src/common/util.c:1091 +msgid "Vietnam" +msgstr "越南" + +#: src/common/util.c:1092 +msgid "Vanuatu" +msgstr "萬那杜" + +#: src/common/util.c:1093 +msgid "Wallis and Futuna Islands" +msgstr "瓦里斯及富都拿群島" + +#: src/common/util.c:1094 +msgid "Samoa" +msgstr "薩摩亞" + +#: src/common/util.c:1095 +msgid "Yemen" +msgstr "葉門" + +#: src/common/util.c:1096 +msgid "Mayotte" +msgstr "馬爾他群島" + +#: src/common/util.c:1097 +msgid "Yugoslavia" +msgstr "南斯拉夫" + +#: src/common/util.c:1098 +msgid "South Africa" +msgstr "南非" + +#: src/common/util.c:1099 +msgid "Zambia" +msgstr "尚比亞" + +#: src/common/util.c:1100 +msgid "Zimbabwe" +msgstr "辛巴威" + +#: src/common/util.c:1110 src/common/util.c:1120 src/fe-gtk/menu.c:516 +#: src/fe-gtk/menu.c:521 src/fe-gtk/menu.c:525 src/fe-gtk/menu.c:529 +#: src/fe-gtk/menu.c:537 src/fe-gtk/menu.c:555 +msgid "Unknown" +msgstr "未知" + +#: src/common/xchat.c:753 src/common/xchat.c:879 +msgid "Open Dialog Window" +msgstr "打開對話視窗" + +#: src/common/xchat.c:754 +msgid "Send a File" +msgstr "發送檔案" + +#: src/common/xchat.c:755 +msgid "User Info (WHOIS)" +msgstr "使用者資訊 (WHOIS)" + +#: src/common/xchat.c:756 +msgid "Operator Actions" +msgstr "管理員動作" + +#: src/common/xchat.c:758 src/common/xchat.c:849 +msgid "Give Ops" +msgstr "給 Op 權限" + +#: src/common/xchat.c:759 src/common/xchat.c:850 +msgid "Take Ops" +msgstr "取消 Op 權限" + +#: src/common/xchat.c:760 src/common/xchat.c:853 +msgid "Give Voice" +msgstr "給發言權" + +#: src/common/xchat.c:761 src/common/xchat.c:854 +msgid "Take Voice" +msgstr "取消發言權" + +#: src/common/xchat.c:763 src/common/xchat.c:858 +msgid "Kick/Ban" +msgstr "踢出/封禁" + +#: src/common/xchat.c:764 src/common/xchat.c:859 src/common/xchat.c:908 +msgid "Kick" +msgstr "踢出" + +#: src/common/xchat.c:765 src/common/xchat.c:766 src/common/xchat.c:767 +#: src/common/xchat.c:768 src/common/xchat.c:769 src/common/xchat.c:860 +#: src/common/xchat.c:861 src/common/xchat.c:862 src/common/xchat.c:863 +#: src/common/xchat.c:864 src/common/xchat.c:907 +msgid "Ban" +msgstr "封禁" + +#: src/common/xchat.c:770 src/common/xchat.c:771 src/common/xchat.c:772 +#: src/common/xchat.c:773 src/common/xchat.c:865 src/common/xchat.c:866 +#: src/common/xchat.c:867 src/common/xchat.c:868 +msgid "KickBan" +msgstr "踢出並封禁" + +#: src/common/xchat.c:836 +msgid "Direct client-to-client" +msgstr "直接客戶端到客戶端" + +#: src/common/xchat.c:837 +msgid "Send File" +msgstr "發送檔案" + +#: src/common/xchat.c:838 +msgid "Offer Chat" +msgstr "請求聊天" + +#: src/common/xchat.c:839 +msgid "Abort Chat" +msgstr "中止聊天" + +#: src/common/xchat.c:840 src/fe-gtk/plugingui.c:74 +msgid "Version" +msgstr "版本" + +#: src/common/xchat.c:841 +msgid "Userinfo" +msgstr "個人資訊" + +#: src/common/xchat.c:842 +msgid "Clientinfo" +msgstr "客戶端資訊" + +#: src/common/xchat.c:843 src/common/xchat.c:877 src/common/xchat.c:925 +msgid "Ping" +msgstr "Ping" + +#: src/common/xchat.c:844 +msgid "Time" +msgstr "時間" + +#: src/common/xchat.c:845 +msgid "Finger" +msgstr "Finger" + +#: src/common/xchat.c:846 +msgid "Oper" +msgstr "操作" + +#: src/common/xchat.c:847 +msgid "Kill this user" +msgstr "砍掉此使用者" + +#: src/common/xchat.c:848 +msgid "Mode" +msgstr "模式" + +#: src/common/xchat.c:851 +msgid "Give Half-Ops" +msgstr "給准管理員權限" + +#: src/common/xchat.c:852 +msgid "Take Half-Ops" +msgstr "取消准管理員權限" + +#: src/common/xchat.c:855 +msgid "Ignore" +msgstr "忽略" + +#: src/common/xchat.c:856 +msgid "Ignore User" +msgstr "忽略使用者" + +#: src/common/xchat.c:857 +msgid "UnIgnore User" +msgstr "取消忽略使用者" + +#: src/common/xchat.c:869 src/fe-gtk/dccgui.c:586 src/fe-gtk/dccgui.c:752 +msgid "Info" +msgstr "資訊" + +#: src/common/xchat.c:870 +msgid "Who" +msgstr "Who" + +#: src/common/xchat.c:871 src/common/xchat.c:921 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/xchat.c:872 +msgid "DNS Lookup" +msgstr "DNS 查詢" + +#: src/common/xchat.c:873 +msgid "Trace" +msgstr "Trace" + +#: src/common/xchat.c:874 +msgid "UserHost" +msgstr "使用者主機" + +#: src/common/xchat.c:875 +msgid "External" +msgstr "外部程式" + +#: src/common/xchat.c:876 +msgid "Traceroute" +msgstr "Traceroute" + +#: src/common/xchat.c:878 +msgid "Telnet" +msgstr "Telnet" + +#: src/common/xchat.c:890 +msgid "Leave Channel" +msgstr "離開聊天室" + +#: src/common/xchat.c:891 src/fe-gtk/menu.c:1352 +msgid "Join Channel..." +msgstr "加入聊天室..." + +#: src/common/xchat.c:892 src/fe-gtk/menu.c:1047 +msgid "Enter Channel to Join:" +msgstr "輸入要加入的聊天室:" + +#: src/common/xchat.c:893 +msgid "Server Links" +msgstr "伺服器清單" + +#: src/common/xchat.c:894 +msgid "Ping Server" +msgstr "ping 伺服器" + +#: src/common/xchat.c:895 +msgid "Hide Version" +msgstr "隱藏版本資訊" + +#: src/common/xchat.c:905 +msgid "Op" +msgstr "給管理員權限" + +#: src/common/xchat.c:906 +msgid "DeOp" +msgstr "取消管理員權限" + +#: src/common/xchat.c:909 +msgid "bye" +msgstr "道別" + +#: src/common/xchat.c:910 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "輸入踢出 %s 的原因:" + +#: src/common/xchat.c:911 +msgid "Sendfile" +msgstr "發送檔案" + +#: src/common/xchat.c:912 +msgid "Dialog" +msgstr "對話" + +#: src/common/xchat.c:922 +msgid "Send" +msgstr "發送" + +#: src/common/xchat.c:923 +msgid "Chat" +msgstr "聊天" + +#: src/common/xchat.c:924 src/fe-gtk/banlist.c:321 src/fe-gtk/ignoregui.c:388 +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear" +msgstr "清除" + +#: src/fe-gtk/about.c:102 +msgid "About XChat" +msgstr "關於 XChat" + +#: src/fe-gtk/about.c:129 +msgid "A multiplatform IRC Client" +msgstr "跨平台的 IRC 客戶端軟體" + +#: src/fe-gtk/ascii.c:135 +msgid "Character Chart" +msgstr "字元集" + +#: src/fe-gtk/banlist.c:112 src/fe-gtk/chanlist.c:301 +msgid "Not connected." +msgstr "並未連線。" + +#: src/fe-gtk/banlist.c:153 src/fe-gtk/banlist.c:237 +msgid "You must select some bans." +msgstr "您必須選擇一些被封禁者。" + +#: src/fe-gtk/banlist.c:252 src/fe-gtk/ignoregui.c:175 +msgid "Mask" +msgstr "遮罩" + +#: src/fe-gtk/banlist.c:253 src/fe-gtk/dccgui.c:352 src/fe-gtk/dccgui.c:539 +msgid "From" +msgstr "從" + +#: src/fe-gtk/banlist.c:254 +msgid "Date" +msgstr "日期" + +#: src/fe-gtk/banlist.c:297 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "在聊天室分頁中您只能開啟封禁清單視窗。" + +#: src/fe-gtk/banlist.c:301 +#, c-format +msgid "XChat: Ban List (%s)" +msgstr "XChat: 封禁清單 (%s)" + +#: src/fe-gtk/banlist.c:317 +msgid "Unban" +msgstr "解禁" + +#: src/fe-gtk/banlist.c:319 +msgid "Crop" +msgstr "剪切" + +#: src/fe-gtk/banlist.c:323 +msgid "Refresh" +msgstr "刷新" + +#: src/fe-gtk/chanlist.c:122 +#, c-format +msgid "User and Channel Statistics: %d/%d Users on %d/%d Channels" +msgstr "使用者及聊天室統計:%d/%d 名使用者在 %d/%d 個聊天室中" + +#: src/fe-gtk/chanlist.c:544 +msgid "I can't save an empty list!" +msgstr "無法儲存空清單!" + +#: src/fe-gtk/chanlist.c:547 src/fe-gtk/menu.c:983 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "選擇輸出檔名" + +#: src/fe-gtk/chanlist.c:615 +#, c-format +msgid "XChat: Channel List (%s)" +msgstr "XChat:聊天室清單 (%s)" + +#: src/fe-gtk/chanlist.c:630 +msgid "List display options:" +msgstr "列舉顯示選項:" + +#: src/fe-gtk/chanlist.c:642 +msgid "Minimum Users:" +msgstr "最少使用者數:" + +#: src/fe-gtk/chanlist.c:657 +msgid "Maximum Users:" +msgstr "最多使用者數:" + +#: src/fe-gtk/chanlist.c:673 +msgid "Pattern Match:" +msgstr "模樣符合:" + +#: src/fe-gtk/chanlist.c:675 +msgid "Regex Match:" +msgstr "正規表示式符合:" + +#: src/fe-gtk/chanlist.c:697 +msgid "Apply Match to:" +msgstr "套用符合到:" + +#: src/fe-gtk/chanlist.c:721 +msgid "Apply" +msgstr "套用" + +#: src/fe-gtk/chanlist.c:763 +msgid "Refresh the list" +msgstr "刷新清單" + +#: src/fe-gtk/chanlist.c:765 +msgid "Save the list" +msgstr "儲存清單" + +#: src/fe-gtk/chanlist.c:767 src/fe-gtk/menu.c:799 src/fe-gtk/menu.c:1030 +msgid "Join Channel" +msgstr "加入聊天室" + +#: src/fe-gtk/dccgui.c:117 +#, c-format +msgid "Send file to %s" +msgstr "給 %s 發送檔案" + +#: src/fe-gtk/dccgui.c:340 +msgid "None" +msgstr "無" + +#: src/fe-gtk/dccgui.c:351 src/fe-gtk/dccgui.c:535 src/fe-gtk/dccgui.c:707 +#: src/fe-gtk/plugingui.c:75 +msgid "File" +msgstr "檔案" + +#: src/fe-gtk/dccgui.c:352 src/fe-gtk/dccgui.c:712 +msgid "To" +msgstr "發到" + +#: src/fe-gtk/dccgui.c:354 +msgid "Address" +msgstr "位址" + +#: src/fe-gtk/dccgui.c:355 +msgid "Started" +msgstr "已開始" + +#: src/fe-gtk/dccgui.c:356 +msgid "Speed limit" +msgstr "速度限制" + +#: src/fe-gtk/dccgui.c:381 +msgid "That file is not resumable." +msgstr "該檔案不可續傳。" + +#: src/fe-gtk/dccgui.c:385 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" +"不能存取檔案:%s\n" +"%s。\n" +"無法續傳。" + +#: src/fe-gtk/dccgui.c:392 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "下載目錄中的檔案比提供的檔案大,無法續傳。" + +#: src/fe-gtk/dccgui.c:396 +msgid "Cannot resume the same file from two people." +msgstr "不能從兩人那裡續傳同一檔案" + +#: src/fe-gtk/dccgui.c:534 src/fe-gtk/dccgui.c:706 src/fe-gtk/dccgui.c:857 +#: src/fe-gtk/notifygui.c:133 +msgid "Status" +msgstr "狀態" + +#: src/fe-gtk/dccgui.c:538 src/fe-gtk/dccgui.c:711 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:548 +msgid "XChat: File Receive List" +msgstr "XChat: 檔案接收清單" + +#: src/fe-gtk/dccgui.c:580 src/fe-gtk/dccgui.c:751 src/fe-gtk/dccgui.c:889 +msgid "Abort" +msgstr "中止" + +#: src/fe-gtk/dccgui.c:582 src/fe-gtk/dccgui.c:890 +msgid "Accept" +msgstr "接受" + +#: src/fe-gtk/dccgui.c:584 +msgid "Resume" +msgstr "續傳" + +#: src/fe-gtk/dccgui.c:588 +msgid "Open" +msgstr "開啟" + +#: src/fe-gtk/dccgui.c:710 +msgid "Ack" +msgstr "Ack" + +#: src/fe-gtk/dccgui.c:722 +msgid "XChat: Uploads und Downloads" +msgstr "XChat:上傳與下載" + +#: src/fe-gtk/dccgui.c:723 +msgid "Downloads" +msgstr "下載" + +#: src/fe-gtk/dccgui.c:724 +msgid "Uploads" +msgstr "上傳" + +#: src/fe-gtk/dccgui.c:725 +msgid "Details" +msgstr "詳細資訊" + +#: src/fe-gtk/dccgui.c:726 +msgid "Open Folder..." +msgstr "開啟文件夾..." + +#: src/fe-gtk/dccgui.c:730 +msgid "XChat: File Send List" +msgstr "XChat: 檔案發送清單" + +#: src/fe-gtk/dccgui.c:858 +msgid "To/From" +msgstr "到/從" + +#: src/fe-gtk/dccgui.c:859 +msgid "Recv" +msgstr "接收" + +#: src/fe-gtk/dccgui.c:860 +msgid "Sent" +msgstr "已發送" + +#: src/fe-gtk/dccgui.c:861 +msgid "Start Time" +msgstr "開始時間" + +#: src/fe-gtk/dccgui.c:871 +msgid "XChat: DCC Chat List" +msgstr "XChat: DCC 交談清單" + +#: src/fe-gtk/editlist.c:139 +msgid "*NEW*" +msgstr "*新增*" + +#: src/fe-gtk/editlist.c:140 +msgid "EDIT ME" +msgstr "編輯我" + +#: src/fe-gtk/editlist.c:310 src/fe-gtk/plugingui.c:73 +msgid "Name" +msgstr "名稱" + +#: src/fe-gtk/editlist.c:311 +msgid "Command" +msgstr "命令" + +#: src/fe-gtk/editlist.c:339 +msgid "Move Up" +msgstr "上移" + +#: src/fe-gtk/editlist.c:343 +msgid "Move Dn" +msgstr "下移" + +#: src/fe-gtk/editlist.c:351 +msgid "Cancel" +msgstr "取消" + +#: src/fe-gtk/editlist.c:355 +msgid "Save" +msgstr "儲存" + +#: src/fe-gtk/editlist.c:363 src/fe-gtk/fkeys.c:757 +msgid "Add New" +msgstr "新添" + +#: src/fe-gtk/editlist.c:367 src/fe-gtk/fkeys.c:762 src/fe-gtk/ignoregui.c:386 +msgid "Delete" +msgstr "刪除" + +#: src/fe-gtk/editlist.c:375 +msgid "Sort" +msgstr "排序" + +#: src/fe-gtk/editlist.c:379 +msgid "Help" +msgstr "求助" + +#: src/fe-gtk/fe-gtk.c:122 +msgid "Don't auto connect to servers" +msgstr "不要自動與伺服器連線" + +#: src/fe-gtk/fe-gtk.c:123 +msgid "Use a different config directory" +msgstr "使用不同的設定目錄" + +#: src/fe-gtk/fe-gtk.c:124 +msgid "Don't auto load any plugins" +msgstr "不自動載入任何外掛程式" + +#: src/fe-gtk/fe-gtk.c:125 +msgid "Show plugin auto-load directory" +msgstr "顯示外掛程式自動載入的目錄" + +#: src/fe-gtk/fe-gtk.c:126 +msgid "Show user config directory" +msgstr "顯示使用者設定目錄" + +#: src/fe-gtk/fe-gtk.c:127 +msgid "Open an irc://server:port/channel URL" +msgstr "開啟一個 irc://server:port/channel URL" + +#: src/fe-gtk/fe-gtk.c:128 +msgid "Show version information" +msgstr "顯示版本資訊" + +#: src/fe-gtk/fe-gtk.c:244 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" +"開啟字型失敗:\n" +"\n" +"%s" + +#: src/fe-gtk/fe-gtk.c:588 +msgid "Search buffer is empty.\n" +msgstr "搜索緩衝區目前無內容。\n" + +#: src/fe-gtk/fe-gtk.c:671 +#, c-format +msgid "%d bytes" +msgstr "%d 位元組" + +#: src/fe-gtk/fe-gtk.c:672 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "網路傳送佇列: %d 位元組" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"The Run Command action runs the data in Data 1 as if it has been typed into " +"the entry box where you pressed the key sequence. Thus it can contain text " +"(which will be sent to the channel/person), commands or user commands. When " +"run all \\n characters in Data 1 are used to deliminate seperate commands so " +"it is possible to run more than one command. If you want a \\ in the actual " +"text run then enter \\\\" +msgstr "" +"「Run Command」會執行資料 1 中的資料,就如同您是在輸入按鍵序列後出現的輸入格" +"中鍵入這些資料一樣。這樣,它就會包含文字 (這些文字會被發送給聊天室或某人)、命" +"令或使用者命令。執行時,資料 1 中所有「\\n」字元 被用來分隔命令,因此您可以執" +"行不止一個命令。如果您想在執行的文字中包含字元「\\」,您應該輸入「\\\\」" + +#: src/fe-gtk/fkeys.c:161 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1 " +"to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position" +msgstr "" +"「Change Page」命令在您的筆記本中的分頁間切換。將資料 1 設定成您要切換的分" +"頁。如果資料 2 被設定成任意值,切換分頁數將相對於目前位置而言" + +#: src/fe-gtk/fkeys.c:163 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" +"「Insert in Buffer」命令在目前游標處把資料 1 中的內容插入到接受按鍵序列的輸入" +"格中" + +#: src/fe-gtk/fkeys.c:165 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one " +"line. Set Data 1 to either Up, Down, +1 or -1." +msgstr "" +"「Scroll Page」命令在文字視窗元件中上下滾動一頁或一列。設定資料 1 為 Up、" +"DOWN、+1或-1。" + +#: src/fe-gtk/fkeys.c:167 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered to " +"the contents of Data 1" +msgstr "「Set Buffer」命令把接受按鍵序列後的輸入格設定成資料 1 中的內容" + +#: src/fe-gtk/fkeys.c:169 +msgid "" +"The Last Command command sets the entry to contain the last command entered " +"- the same as pressing up in a shell" +msgstr "" +"「Last Command」命令把輸入格設為前一個命令 - 和在終端中按向上箭頭效果相同" + +#: src/fe-gtk/fkeys.c:171 +msgid "" +"The Next Command command sets the entry to contain the next command entered " +"- the same as pressing down in a shell" +msgstr "" +"「Next Command」命令把輸入格設為下一個命令 - 和在終端中按向下箭頭效果相同" + +#: src/fe-gtk/fkeys.c:173 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the " +"last nick, not the next" +msgstr "" +"該命令改變輸入格中文字,來完成未輸入完畢的使用者暱稱或命令。如果資料 1 被設" +"定,那麼,雙擊 tab 鍵會選擇最後一個暱稱,而非下一個" + +#: src/fe-gtk/fkeys.c:175 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set " +"to anything it will scroll up, else it scrolls down" +msgstr "" +"該命令在暱稱清單中上下移動。如果資料 1 被設定成任意值,它會上移,否則下移" + +#: src/fe-gtk/fkeys.c:177 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "該命令對照替換清單來檢查輸入的最後一詞,若找到符合者就代替它" + +#: src/fe-gtk/fkeys.c:179 +msgid "This command moves the front tab left by one" +msgstr "該命令把最上面的分頁向左移一格" + +#: src/fe-gtk/fkeys.c:181 +msgid "This command moves the front tab right by one" +msgstr "該命令把最上面的分頁向右移一格" + +#: src/fe-gtk/fkeys.c:183 +msgid "This command moves the current tab family to the left" +msgstr "該命令把目前分頁向左移一格" + +#: src/fe-gtk/fkeys.c:185 +msgid "This command moves the current tab family to the right" +msgstr "該命令把目前分頁向右移一格" + +#: src/fe-gtk/fkeys.c:187 +msgid "Push input line into history but doesn't send to server" +msgstr "把輸入列存到歷史中,但不發送給伺服器" + +#: src/fe-gtk/fkeys.c:198 +msgid "There was an error loading key bindings configuration" +msgstr "載入鍵盤映射配置時出錯" + +#: src/fe-gtk/fkeys.c:450 src/fe-gtk/fkeys.c:451 src/fe-gtk/fkeys.c:452 +#: src/fe-gtk/fkeys.c:453 src/fe-gtk/fkeys.c:735 src/fe-gtk/fkeys.c:741 +#: src/fe-gtk/fkeys.c:746 src/fe-gtk/maingui.c:1092 src/fe-gtk/maingui.c:1108 +#: src/fe-gtk/maingui.c:1385 src/fe-gtk/maingui.c:1486 +#: src/fe-gtk/maingui.c:2935 +msgid "<none>" +msgstr "<無>" + +#: src/fe-gtk/fkeys.c:699 +msgid "Mod" +msgstr "修飾鍵" + +#: src/fe-gtk/fkeys.c:700 src/fe-gtk/fkeys.c:795 +msgid "Key" +msgstr "按鍵" + +#: src/fe-gtk/fkeys.c:701 +msgid "Action" +msgstr "動作" + +#: src/fe-gtk/fkeys.c:710 +msgid "XChat: Keyboard Shortcuts" +msgstr "XChat: 鍵盤快捷鍵" + +#: src/fe-gtk/fkeys.c:788 +msgid "Shift" +msgstr "Shift" + +#: src/fe-gtk/fkeys.c:790 +msgid "Alt" +msgstr "Alt" + +#: src/fe-gtk/fkeys.c:792 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fe-gtk/fkeys.c:799 +msgid "Data 1" +msgstr "資料 1" + +#: src/fe-gtk/fkeys.c:802 +msgid "Data 2" +msgstr "資料 2" + +#: src/fe-gtk/fkeys.c:844 +msgid "Error opening keys config file\n" +msgstr "打開按鍵配置檔案時出錯\n" + +#: src/fe-gtk/fkeys.c:1011 +#, c-format +msgid "" +"Unknown keyname %s in key bindings config file\n" +"Load aborted, please fix %s/keybindings.conf\n" +msgstr "" +"鍵盤映射配置檔案中沒有鍵名 %s\n" +"中止載入,請修復 %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1049 +#, c-format +msgid "" +"Unknown action %s in key bindings config file\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"鍵盤映射配置檔案中沒有動作 %s\n" +"中止載入,請修復 %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1070 +#, c-format +msgid "" +"Expecting Data line (beginning Dx{:|!}) but got:\n" +"%s\n" +"\n" +"Load aborted, Please fix %s/keybindings\n" +msgstr "" +"期待資料列(以 Dx{:|!} 開始),卻得到:\n" +"%s\n" +"\n" +"中止載入。請修復 %s/keybindings.conf\n" + +#: src/fe-gtk/fkeys.c:1139 +#, c-format +msgid "" +"Key bindings config file is corrupt, load aborted\n" +"Please fix %s/keybindings.conf\n" +msgstr "" +"鍵盤映射配置檔案損壞,中止載入\n" +"請修復 %s/keybindings.conf\n" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "無法寫入該檔案。" + +#: src/fe-gtk/gtkutil.c:132 +msgid "Cannot read that file." +msgstr "無法讀取該檔案。" + +#: src/fe-gtk/ignoregui.c:117 src/fe-gtk/ignoregui.c:263 +msgid "That mask already exists." +msgstr "該遮罩已存在。" + +#: src/fe-gtk/ignoregui.c:177 src/fe-gtk/maingui.c:1957 +msgid "Private" +msgstr "私人" + +#: src/fe-gtk/ignoregui.c:178 +msgid "Notice" +msgstr "通知" + +#: src/fe-gtk/ignoregui.c:179 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:180 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:181 +msgid "Invite" +msgstr "邀請" + +#: src/fe-gtk/ignoregui.c:182 +msgid "Unignore" +msgstr "取消忽略" + +#: src/fe-gtk/ignoregui.c:307 +msgid "Enter mask to ignore:" +msgstr "輸入要忽略的遮罩:" + +#: src/fe-gtk/ignoregui.c:354 +msgid "XChat: Ignore list" +msgstr "XChat: 忽略清單" + +#: src/fe-gtk/ignoregui.c:361 +msgid "Ignore Stats:" +msgstr "忽略統計:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Channel:" +msgstr "聊天室:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Private:" +msgstr "私人:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "Notice:" +msgstr "通知:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:373 +msgid "Invite:" +msgstr "邀請:" + +#: src/fe-gtk/ignoregui.c:384 src/fe-gtk/notifygui.c:347 +msgid "Add..." +msgstr "加入..." + +#: src/fe-gtk/joind.c:83 +msgid "Channel name too short, try again." +msgstr "聊天室名稱太短,再試一次。" + +#: src/fe-gtk/joind.c:125 +msgid "XChat: Connection Complete" +msgstr "XChat: 連線完成" + +#: src/fe-gtk/joind.c:150 +#, c-format +msgid "Connection to %s complete." +msgstr "完成到 %s 的連線。" + +#: src/fe-gtk/joind.c:159 +msgid "" +"In the Server-List window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "在伺服器清單視窗之中,並沒有輸入會自動加入此網路的聊天室。" + +#: src/fe-gtk/joind.c:165 +msgid "What would you like to do next?" +msgstr "您接下來想要做什麼?" + +#: src/fe-gtk/joind.c:170 +msgid "_Nothing, I'll join a channel later." +msgstr "沒事,我稍後再加入聊天室。(_N)" + +#: src/fe-gtk/joind.c:179 +msgid "_Join this channel:" +msgstr "加入此聊天室(_J):" + +#: src/fe-gtk/joind.c:191 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "如果您知道想要加入的聊天室名稱,在這裡輸入它。" + +#: src/fe-gtk/joind.c:198 +msgid "O_pen the Channel-List window." +msgstr "開啟聊天室清單視窗。(_P)" + +#: src/fe-gtk/joind.c:205 +msgid "Retrieving the Channel-List may take a minute or two." +msgstr "取回聊天室清單也許會花費一到二分鐘。" + +#: src/fe-gtk/joind.c:212 +msgid "_Always show this dialog after connecting." +msgstr "總是在連線之後顯示此對話框。(_A)" + +#: src/fe-gtk/maingui.c:456 +msgid "Dialog with" +msgstr "交談與" + +#: src/fe-gtk/maingui.c:734 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s 的話題是:%s" + +#: src/fe-gtk/maingui.c:739 +msgid "No topic is set" +msgstr "沒有設定話題" + +#: src/fe-gtk/maingui.c:1032 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "這台伺服器仍然有 %d 個與它相關的聊天室或對話。要全部關閉它們嗎?" + +#: src/fe-gtk/maingui.c:1162 +msgid "No other tabs open, quit xchat?" +msgstr "沒有其它打開的分頁,要離開 xchat 嗎?" + +#: src/fe-gtk/maingui.c:1337 +msgid "Insert Attribute or Color Code" +msgstr "插入屬性或顏色代碼" + +#: src/fe-gtk/maingui.c:1339 +msgid "<b>Bold</b>" +msgstr "<b>粗體</b>" + +#: src/fe-gtk/maingui.c:1340 +msgid "<u>Underline</u>" +msgstr "<u>底線</u>" + +#: src/fe-gtk/maingui.c:1342 +msgid "Normal" +msgstr "正常" + +#: src/fe-gtk/maingui.c:1344 +msgid "Colors 0-7" +msgstr "顏色 0-7" + +#: src/fe-gtk/maingui.c:1354 +msgid "Colors 8-15" +msgstr "顏色 8-15" + +#: src/fe-gtk/maingui.c:1390 +msgid "Beep on message" +msgstr "有訊息時響鈴提示" + +#: src/fe-gtk/maingui.c:1393 +msgid "Show join/part messages" +msgstr "顯示加入/離開訊息" + +#: src/fe-gtk/maingui.c:1395 +msgid "Color paste" +msgstr "彩色貼上" + +#: src/fe-gtk/maingui.c:1402 +msgid "Go to" +msgstr "前往" + +#: src/fe-gtk/maingui.c:1415 src/fe-gtk/menu.c:1759 +msgid "_Close Tab" +msgstr "關閉分頁(_C)" + +#: src/fe-gtk/maingui.c:1418 src/fe-gtk/menu.c:1758 +msgid "_Detach Tab" +msgstr "分離分頁(_D)" + +#: src/fe-gtk/maingui.c:1657 +msgid "Some file transfers still active, quit xchat?" +msgstr "某些檔案傳輸仍在進行,要離開 xchat 嗎?" + +#: src/fe-gtk/maingui.c:1825 src/fe-gtk/maingui.c:1931 +msgid "User limit must be a number!\n" +msgstr "使用者限額必須是數字!\n" + +#: src/fe-gtk/maingui.c:1953 +msgid "Topic Protection" +msgstr "話題保護" + +#: src/fe-gtk/maingui.c:1954 +msgid "No outside messages" +msgstr "無室外訊息" + +#: src/fe-gtk/maingui.c:1955 +msgid "Secret" +msgstr "秘密" + +#: src/fe-gtk/maingui.c:1956 +msgid "Invite Only" +msgstr "僅邀請" + +#: src/fe-gtk/maingui.c:1958 +msgid "Moderated" +msgstr "監管的" + +#: src/fe-gtk/maingui.c:1959 +msgid "Ban List" +msgstr "封禁清單" + +#: src/fe-gtk/maingui.c:1961 +msgid "Keyword" +msgstr "密碼" + +#: src/fe-gtk/maingui.c:1973 +msgid "User Limit" +msgstr "使用者限額" + +#: src/fe-gtk/maingui.c:2082 +msgid "Show/Hide userlist" +msgstr "顯示/隱藏使用者清單" + +#: src/fe-gtk/maingui.c:2207 +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 "" +"無法設定透明背景!\n" +"\n" +"或許您正使用目前尚不被支援的\n" +"不相容視窗管理程式。\n" + +#: src/fe-gtk/maingui.c:2439 +msgid "Enter new nickname:" +msgstr "輸入新暱稱:" + +#: src/fe-gtk/menu.c:120 +msgid "Host unknown" +msgstr "未知主機" + +#: src/fe-gtk/menu.c:507 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:512 src/fe-gtk/menu.c:516 +msgid "Real Name:" +msgstr "真實名稱:" + +#: src/fe-gtk/menu.c:520 +msgid "User:" +msgstr "使用者:" + +#: src/fe-gtk/menu.c:524 +msgid "Country:" +msgstr "國家:" + +#: src/fe-gtk/menu.c:528 +msgid "Server:" +msgstr "伺服器:" + +#: src/fe-gtk/menu.c:540 +msgid "Away Msg:" +msgstr "離開訊息:" + +#: src/fe-gtk/menu.c:550 +#, c-format +msgid "%u minutes ago" +msgstr "%u 分鐘之前" + +#: src/fe-gtk/menu.c:552 src/fe-gtk/menu.c:555 +msgid "Last Msg:" +msgstr "最後訊息:" + +#: src/fe-gtk/menu.c:655 +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 "" +"選單列目前已隱藏。您可以藉由按下 F9 或以滑鼠右鍵點選主要文字區域的空白部份來" +"重新顯示它。" + +#: src/fe-gtk/menu.c:742 +msgid "Open Link in Browser" +msgstr "在瀏覽器中開啟連結" + +#: src/fe-gtk/menu.c:743 +msgid "Copy Selected Link" +msgstr "複製選取的連結" + +#: src/fe-gtk/menu.c:803 +msgid "Part Channel" +msgstr "離開聊天室" + +#: src/fe-gtk/menu.c:805 +msgid "Cycle Channel" +msgstr "離開聊天室,而後立即加入" + +#: src/fe-gtk/menu.c:828 +msgid "XChat: User menu" +msgstr "XChat:使用者選單" + +#: src/fe-gtk/menu.c:837 +msgid "Edit This Menu..." +msgstr "編輯此選單..." + +#: src/fe-gtk/menu.c:1032 +msgid "Retrieve channel list..." +msgstr "取回聊天室清單..." + +#: src/fe-gtk/menu.c:1100 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = xchat 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 "" +"使用者命令 - 特殊編碼:\n" +"\n" +"%c = 目前聊天室\n" +"%m = 機器資訊\n" +"%n = 您的暱稱\n" +"%t = 時間/日期\n" +"%v = xchat 版本\n" +"%2 = 第 2 個詞\n" +"%3 = 第 3 個詞\n" +"&2 = 從第 2 個詞到列尾\n" +"&3 = 從第 3 個詞到列尾\n" +"\n" +"如:\n" +"/cmd john hello\n" +"\n" +"%2 會是「john」\n" +"&2 會是「john hello」。" + +#: src/fe-gtk/menu.c:1115 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"使用者清單按鈕 - 特殊編碼:\n" +"\n" +"%a = 所有選取的使用者\n" +"%c = 目前聊天室\n" +"%h = 選取使用者的主機名\n" +"%m = 機器資訊\n" +"%n = 您的暱稱\n" +"%s = 選取的使用者\n" +"%t = 時間/日期\n" + +#: src/fe-gtk/menu.c:1124 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +msgstr "" +"對話按鈕 - 特殊編碼:\n" +"\n" +"%a = 所有選取的使用者\n" +"%c = 目前聊天室\n" +"%h = 選取使用者的主機名\n" +"%m = 機器資訊\n" +"%n = 您的暱稱\n" +"%s = 選取的使用者\n" +"%t = 時間/日期\n" + +#: src/fe-gtk/menu.c:1133 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\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 "" +"CTCP 回應 - 特殊編碼:\n" +"\n" +"%d = 資料 (全部 ctcp)\n" +"%m = 機器資訊\n" +"%s = 發送 ctcp 的使用者\n" +"%t = 時間/日期\n" +"%2 = 第 2 個詞\n" +"%3 = 第 3 個詞\n" +"&2 = 從第 2 個詞到列尾\n" +"&3 = 從第 3 個詞到列尾\n" +"\n" + +#: src/fe-gtk/menu.c:1143 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! infront of the command\n" +"indicates it should be sent to a\n" +"shell instead of XChat" +msgstr "" +"URL 處理程式 - 特殊編碼:\n" +"\n" +"%s = URL 字串\n" +"\n" +"在命令前加一個「!」表示\n" +"該命令應被發送到 shell 而\n" +"非 XChat" + +#: src/fe-gtk/menu.c:1152 +msgid "XChat: User Defined Commands" +msgstr "XChat: 使用者自訂命令" + +#: src/fe-gtk/menu.c:1159 +msgid "XChat: Userlist Popup menu" +msgstr "XChat: 使用者清單彈出選單" + +#: src/fe-gtk/menu.c:1166 +msgid "Replace with" +msgstr "以...替換" + +#: src/fe-gtk/menu.c:1166 +msgid "XChat: Replace" +msgstr "XChat: 替換" + +#: src/fe-gtk/menu.c:1173 +msgid "XChat: URL Handlers" +msgstr "XChat: URL 處理程式" + +#: src/fe-gtk/menu.c:1192 +msgid "XChat: Userlist buttons" +msgstr "XChat: 使用者清單按鈕" + +#: src/fe-gtk/menu.c:1199 +msgid "XChat: Dialog buttons" +msgstr "XChat: 對話框按鈕" + +#: src/fe-gtk/menu.c:1206 +msgid "XChat: CTCP Replies" +msgstr "XChat: CTCP 回應" + +#: src/fe-gtk/menu.c:1304 +msgid "_XChat" +msgstr "_XChat" + +#: src/fe-gtk/menu.c:1305 +msgid "Network Li_st..." +msgstr "網路列表(_S)..." + +#: src/fe-gtk/menu.c:1308 +msgid "_New" +msgstr "新增(_N)" + +#: src/fe-gtk/menu.c:1309 +msgid "Server Tab..." +msgstr "伺服器分頁..." + +#: src/fe-gtk/menu.c:1310 +msgid "Channel Tab..." +msgstr "聊天室分頁..." + +#: src/fe-gtk/menu.c:1311 +msgid "Server Window..." +msgstr "伺服器視窗..." + +#: src/fe-gtk/menu.c:1312 +msgid "Channel Window..." +msgstr "聊天室視窗..." + +#: src/fe-gtk/menu.c:1317 src/fe-gtk/menu.c:1319 +msgid "_Load Plugin or Script..." +msgstr "載入外掛程式或命令稿(_L)..." + +#: src/fe-gtk/menu.c:1327 +msgid "_Quit" +msgstr "離開(_Q)" + +#: src/fe-gtk/menu.c:1329 +msgid "_View" +msgstr "檢視(_V)" + +#: src/fe-gtk/menu.c:1331 +msgid "_Menubar" +msgstr "選單欄(_M)" + +#: src/fe-gtk/menu.c:1332 +msgid "_Topicbar" +msgstr "話題欄(_T)" + +#: src/fe-gtk/menu.c:1333 +msgid "_Userlist Buttons" +msgstr "使用者清單按鈕(_U)..." + +#: src/fe-gtk/menu.c:1334 +msgid "M_ode Buttons" +msgstr "模式按鈕(_O)" + +#: src/fe-gtk/menu.c:1336 +msgid "_Layout" +msgstr "佈局(_L)" + +#: src/fe-gtk/menu.c:1338 +msgid "_Tabs" +msgstr "分頁(_T)" + +#: src/fe-gtk/menu.c:1339 +msgid "T_ree" +msgstr "樹狀圖(_R)" + +#: src/fe-gtk/menu.c:1341 +msgid "_Network Meters" +msgstr "網路流量(_N)" + +#: src/fe-gtk/menu.c:1343 +msgid "Off" +msgstr "離線" + +#: src/fe-gtk/menu.c:1344 +msgid "Graph" +msgstr "圖形" + +#: src/fe-gtk/menu.c:1346 +msgid "Both" +msgstr "兩者" + +#: src/fe-gtk/menu.c:1349 +msgid "_Server" +msgstr "伺服器(_S)" + +#: src/fe-gtk/menu.c:1350 +msgid "_Disconnect" +msgstr "切斷連接(_D)" + +#: src/fe-gtk/menu.c:1351 +msgid "_Reconnect" +msgstr "重新連接(_R)" + +#: src/fe-gtk/menu.c:1355 +msgid "Marked Away" +msgstr "標記為暫離" + +#: src/fe-gtk/menu.c:1357 +msgid "_Usermenu" +msgstr "使用者選單(_U)" + +#: src/fe-gtk/menu.c:1359 +msgid "S_ettings" +msgstr "設定(_E)" + +#: src/fe-gtk/menu.c:1360 +msgid "_Preferences" +msgstr "偏好設定(_P)..." + +#: src/fe-gtk/menu.c:1362 +msgid "Advanced" +msgstr "進階" + +#: src/fe-gtk/menu.c:1363 +msgid "Auto Replace..." +msgstr "自動替換..." + +#: src/fe-gtk/menu.c:1364 +msgid "CTCP Replies..." +msgstr "CTCP 回應..." + +#: src/fe-gtk/menu.c:1365 +msgid "Dialog Buttons..." +msgstr "對話框按鈕..." + +#: src/fe-gtk/menu.c:1366 +msgid "Keyboard Shortcuts..." +msgstr "鍵盤快捷鍵..." + +#: src/fe-gtk/menu.c:1367 +msgid "Text Events..." +msgstr "文字事件..." + +#: src/fe-gtk/menu.c:1368 +msgid "URL Handlers..." +msgstr "URL 處理程式..." + +#: src/fe-gtk/menu.c:1369 +msgid "User Commands..." +msgstr "使用者命令..." + +#: src/fe-gtk/menu.c:1370 +msgid "Userlist Buttons..." +msgstr "使用者清單按鈕..." + +#: src/fe-gtk/menu.c:1371 +msgid "Userlist Popup..." +msgstr "使用者清單彈出選單..." + +#: src/fe-gtk/menu.c:1374 +msgid "_Window" +msgstr "視窗(_W)" + +#: src/fe-gtk/menu.c:1375 +msgid "Ban List..." +msgstr "封禁清單..." + +#: src/fe-gtk/menu.c:1376 +msgid "Channel List..." +msgstr "聊天室清單..." + +#: src/fe-gtk/menu.c:1377 +msgid "Character Chart..." +msgstr "字元集..." + +#: src/fe-gtk/menu.c:1378 +msgid "Direct Chat..." +msgstr "直接聊天..." + +#: src/fe-gtk/menu.c:1379 +msgid "File Transfers..." +msgstr "檔案傳輸..." + +#: src/fe-gtk/menu.c:1380 +msgid "Ignore List..." +msgstr "忽略清單..." + +#: src/fe-gtk/menu.c:1381 +msgid "Notify List..." +msgstr "通知清單..." + +#: src/fe-gtk/menu.c:1382 +msgid "Plugins and Scripts..." +msgstr "外掛程式和命令稿..." + +#: src/fe-gtk/menu.c:1383 +msgid "Raw Log..." +msgstr "原始記錄..." + +#: src/fe-gtk/menu.c:1384 +msgid "URL Grabber..." +msgstr "URL 抓取程式..." + +#: src/fe-gtk/menu.c:1386 +msgid "Reset Marker Line" +msgstr "重置標記線" + +#: src/fe-gtk/menu.c:1387 +msgid "C_lear Text" +msgstr "清空文字(_L)" + +#: src/fe-gtk/menu.c:1388 +msgid "Search Text..." +msgstr "搜索文字..." + +#: src/fe-gtk/menu.c:1389 +msgid "Save Text..." +msgstr "儲存文字..." + +#: src/fe-gtk/menu.c:1391 src/fe-gtk/menu.c:1750 +msgid "_Help" +msgstr "求助(_H)" + +#: src/fe-gtk/menu.c:1392 +msgid "_Contents" +msgstr "內容(_C)" + +#: src/fe-gtk/menu.c:1393 +msgid "_About" +msgstr "關於(_A)" + +#: src/fe-gtk/menu.c:1763 +msgid "_Attach Window" +msgstr "附加視窗(_A)" + +#: src/fe-gtk/menu.c:1764 +msgid "_Close Window" +msgstr "關閉視窗(_C)" + +#: src/fe-gtk/notifygui.c:132 +msgid "User" +msgstr "使用者" + +#: src/fe-gtk/notifygui.c:134 +msgid "Server" +msgstr "伺服器" + +#: src/fe-gtk/notifygui.c:135 +msgid "Last Seen" +msgstr "最後一次看到" + +#: src/fe-gtk/notifygui.c:175 +msgid "Offline" +msgstr "離線" + +#: src/fe-gtk/notifygui.c:195 src/fe-gtk/setup.c:203 +msgid "Never" +msgstr "從不" + +#: src/fe-gtk/notifygui.c:213 +msgid "Online" +msgstr "上線" + +#: src/fe-gtk/notifygui.c:318 +msgid "Enter nickname to add:" +msgstr "輸入要新增的暱稱:" + +#: src/fe-gtk/notifygui.c:334 +msgid "XChat: Notify List" +msgstr "XChat: 通知清單" + +#: src/fe-gtk/notifygui.c:351 +msgid "Remove" +msgstr "刪除" + +#: src/fe-gtk/notifygui.c:355 +msgid "Open Dialog" +msgstr "打開對話視窗" + +#: src/fe-gtk/plugingui.c:76 src/fe-gtk/textgui.c:421 +msgid "Description" +msgstr "描述" + +#: src/fe-gtk/plugingui.c:151 +msgid "Select a Plugin or Script to load" +msgstr "選擇要載入的外掛程式或命令稿" + +#: src/fe-gtk/plugingui.c:223 +msgid "XChat: Plugins and Scripts" +msgstr "XChat: 外掛程式和命令稿" + +#: src/fe-gtk/plugingui.c:229 +msgid "_Load..." +msgstr "載入(_L)..." + +#: src/fe-gtk/plugingui.c:232 +msgid "_UnLoad" +msgstr "卸載(_U)" + +#: src/fe-gtk/plugingui.c:236 src/fe-gtk/search.c:144 +msgid "_Close" +msgstr "關閉(_C)" + +#: src/fe-gtk/rawlog.c:81 src/fe-gtk/rawlog.c:130 src/fe-gtk/textgui.c:435 +#: src/fe-gtk/urlgrab.c:205 +msgid "Save As..." +msgstr "另存為..." + +#: src/fe-gtk/rawlog.c:97 +#, c-format +msgid "XChat: Rawlog (%s)" +msgstr "XChat: 原始日誌 (%s)" + +#: src/fe-gtk/rawlog.c:127 +msgid "Clear rawlog" +msgstr "清除原始日誌" + +#: src/fe-gtk/search.c:57 +msgid "The window you opened this Search for doesn't exist anymore." +msgstr "您為該搜索打開的視窗已不再存在。" + +#: src/fe-gtk/search.c:65 +msgid "Search hit end, not found." +msgstr "搜尋到末端,沒找到。" + +#: src/fe-gtk/search.c:109 +msgid "XChat: Search" +msgstr "XChat: 搜索" + +#: src/fe-gtk/search.c:118 +msgid "Find:" +msgstr "尋找:" + +#: src/fe-gtk/search.c:127 +msgid "_Match case" +msgstr "符合大小寫(_M)" + +#: src/fe-gtk/search.c:133 +msgid "Search _backwards" +msgstr "向後搜尋(_B)" + +#: src/fe-gtk/search.c:146 +msgid "_Find" +msgstr "尋找(_F)" + +#: src/fe-gtk/servlistgui.c:169 src/fe-gtk/servlistgui.c:268 +msgid "New Network" +msgstr "新網路" + +#: src/fe-gtk/servlistgui.c:553 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "一定要刪除網路「%s」以及它所有的伺服器嗎?" + +#: src/fe-gtk/servlistgui.c:677 +msgid "User name and Real name cannot be left blank." +msgstr "使用者名稱與真實名稱不可為空白" + +#: src/fe-gtk/servlistgui.c:977 +#, c-format +msgid "XChat: Edit %s" +msgstr "XChat: 編輯 %s" + +#: src/fe-gtk/servlistgui.c:996 +#, c-format +msgid "Servers for %s" +msgstr "%s 的伺服器" + +#: src/fe-gtk/servlistgui.c:1007 +msgid "Connect to selected server only" +msgstr "只連接到選取的伺服器" + +#: src/fe-gtk/servlistgui.c:1008 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "當連線失敗時不要輪詢所有的伺服器" + +#: src/fe-gtk/servlistgui.c:1010 +msgid "Your Details" +msgstr "您的詳細資訊" + +#: src/fe-gtk/servlistgui.c:1016 +msgid "Use global user information" +msgstr "使用廣域使用者資訊" + +#: src/fe-gtk/servlistgui.c:1019 src/fe-gtk/servlistgui.c:1251 +msgid "_Nick name:" +msgstr "暱稱(_N):" + +#: src/fe-gtk/servlistgui.c:1023 src/fe-gtk/servlistgui.c:1258 +msgid "Second choice:" +msgstr "第二選擇:" + +#: src/fe-gtk/servlistgui.c:1027 src/fe-gtk/servlistgui.c:1272 +msgid "_User name:" +msgstr "使用者名(_U):" + +#: src/fe-gtk/servlistgui.c:1031 src/fe-gtk/servlistgui.c:1279 +msgid "Rea_l name:" +msgstr "真實名稱(_L):" + +#: src/fe-gtk/servlistgui.c:1034 +msgid "Connecting" +msgstr "連接" + +#: src/fe-gtk/servlistgui.c:1040 +msgid "Auto connect to this network at startup" +msgstr "啟動時自動連接到此網路" + +#: src/fe-gtk/servlistgui.c:1042 +msgid "Use a proxy server" +msgstr "使用代理伺服器" + +#: src/fe-gtk/servlistgui.c:1044 +msgid "Use SSL for all the servers on this network" +msgstr "在本網路的所有伺服器使用 SSL" + +#: src/fe-gtk/servlistgui.c:1049 +msgid "Accept invalid SSL certificate" +msgstr "接受無效的 SSL 證書" + +#: src/fe-gtk/servlistgui.c:1055 +msgid "C_hannels to join:" +msgstr "輸入要加入的聊天室(_H):" + +#: src/fe-gtk/servlistgui.c:1057 +msgid "Channels to join, separated by commas, but not spaces!" +msgstr "要加入的聊天室,用逗號而不是空格分隔!" + +#: src/fe-gtk/servlistgui.c:1060 +msgid "Connect command:" +msgstr "連接命令:" + +#: src/fe-gtk/servlistgui.c:1062 +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 "" +"連接後執行的額外的命令。如果您使用多個命令,請設定為 LOAD -e <檔案名>,其中 <" +"檔案名> 是一個包含要執行的命令的文字檔案。" + +#: src/fe-gtk/servlistgui.c:1065 +msgid "Nickserv password:" +msgstr "暱稱伺服器密碼:" + +#: src/fe-gtk/servlistgui.c:1067 +msgid "" +"If your nickname requires a password, enter it here. Not all IRC networks " +"support this." +msgstr "" +"如果您的暱稱需要密碼,就在這裡將它輸入。並非所有的 IRC 網路都支援此一功能。" + +#: src/fe-gtk/servlistgui.c:1071 +msgid "Server password:" +msgstr "伺服器密碼:" + +#: src/fe-gtk/servlistgui.c:1073 +msgid "Password for the server, if in doubt, leave blank." +msgstr "伺服器的密碼。如果不確定,保留為空。" + +#: src/fe-gtk/servlistgui.c:1076 +msgid "Character set:" +msgstr "字元設定:" + +#: src/fe-gtk/servlistgui.c:1146 +msgid "_Edit" +msgstr "編輯(_E)" + +#: src/fe-gtk/servlistgui.c:1229 +msgid "XChat: Network List" +msgstr "XChat: 網路清單" + +#: src/fe-gtk/servlistgui.c:1241 +msgid "User Information" +msgstr "使用者資訊" + +#: src/fe-gtk/servlistgui.c:1265 +msgid "Third choice:" +msgstr "第三選擇:" + +#: src/fe-gtk/servlistgui.c:1325 +msgid "Networks" +msgstr "網路" + +#: src/fe-gtk/servlistgui.c:1366 +msgid "Skip network list on startup" +msgstr "啟動時跳過網路清單" + +#: src/fe-gtk/servlistgui.c:1398 +msgid "_Edit..." +msgstr "編輯(_E)..." + +#: src/fe-gtk/servlistgui.c:1405 +msgid "_Sort" +msgstr "排序(_S)" + +#: src/fe-gtk/servlistgui.c:1429 +msgid "C_onnect" +msgstr "連接(_O)" + +#: src/fe-gtk/setup.c:97 +msgid "Text Box Appearance" +msgstr "文字框外觀" + +#: src/fe-gtk/setup.c:98 +msgid "Font:" +msgstr "字型:" + +#: src/fe-gtk/setup.c:99 +msgid "Background image:" +msgstr "背景圖像:" + +#: src/fe-gtk/setup.c:100 +msgid "Scrollback lines:" +msgstr "回滾列數:" + +#: src/fe-gtk/setup.c:101 +msgid "Colored nick names" +msgstr "彩色暱稱" + +#: src/fe-gtk/setup.c:102 +msgid "Give each person on IRC a different color" +msgstr "給 IRC 上的每名使用者一種不同的顏色" + +#: src/fe-gtk/setup.c:103 +msgid "Indent nick names" +msgstr "縮格暱稱" + +#: src/fe-gtk/setup.c:104 +msgid "Make nick names right-justified" +msgstr "讓暱稱右側對齊" + +#: src/fe-gtk/setup.c:105 +msgid "Transparent background" +msgstr "透明背景" + +#: src/fe-gtk/setup.c:106 +msgid "Show marker line" +msgstr "顯示標記線" + +#: src/fe-gtk/setup.c:107 +msgid "Insert a red line after the last read text." +msgstr "在最後讀取的文字後添加一條紅線。" + +#: src/fe-gtk/setup.c:108 +msgid "Transparency Settings" +msgstr "透明度設定" + +#: src/fe-gtk/setup.c:109 +msgid "Red:" +msgstr "紅色:" + +#: src/fe-gtk/setup.c:110 +msgid "Green:" +msgstr "綠色:" + +#: src/fe-gtk/setup.c:111 +msgid "Blue:" +msgstr "藍色:" + +#: src/fe-gtk/setup.c:113 src/fe-gtk/setup.c:325 +msgid "Time Stamps" +msgstr "時間戳記" + +#: src/fe-gtk/setup.c:114 +msgid "Enable time stamps" +msgstr "打開時間戳記" + +#: src/fe-gtk/setup.c:115 +msgid "Time stamp format:" +msgstr "時間戳記格式:" + +#: src/fe-gtk/setup.c:116 src/fe-gtk/setup.c:328 +msgid "See strftime manpage for details." +msgstr "查看 strftime 手冊頁以獲取詳細資訊。" + +#: src/fe-gtk/setup.c:123 src/fe-gtk/setup.c:1504 +msgid "Input box" +msgstr "輸入框" + +#: src/fe-gtk/setup.c:124 src/fe-gtk/setup.c:166 +msgid "Use the Text box font and colors" +msgstr "使用文字框字型及顏色" + +#: src/fe-gtk/setup.c:126 +msgid "Spell checking" +msgstr "拼寫檢查" + +#: src/fe-gtk/setup.c:129 +msgid "Nick Completion" +msgstr "暱稱自動補齊" + +#: src/fe-gtk/setup.c:130 +msgid "Automatic nick completion (without TAB key)" +msgstr "自動補齊暱稱(無需 TAB 鍵)" + +#: src/fe-gtk/setup.c:132 +msgid "Nick completion suffix:" +msgstr "暱稱自動補齊後綴:" + +#: src/fe-gtk/setup.c:135 +msgid "Input Box Codes" +msgstr "輸入框編碼" + +#: src/fe-gtk/setup.c:136 +#, c-format +msgid "Interpret %nnn as an ASCII value" +msgstr "把 %nnn 解釋為 ASCII 值" + +#: src/fe-gtk/setup.c:137 +msgid "Interpret %C, %B as Color, Bold etc" +msgstr "轉換%C、%B為顏色、粗體等" + +#: src/fe-gtk/setup.c:154 +msgid "A-Z, Ops first" +msgstr "A-Z, Op 最先" + +#: src/fe-gtk/setup.c:155 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:156 +msgid "Z-A, Ops last" +msgstr "Z-A, Op 最後" + +#: src/fe-gtk/setup.c:157 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:158 +msgid "Unsorted" +msgstr "未排序" + +#: src/fe-gtk/setup.c:164 +msgid "User List" +msgstr "使用者清單" + +#: src/fe-gtk/setup.c:165 +msgid "Show hostnames in user list" +msgstr "在使用者清單中顯示主機名" + +#: src/fe-gtk/setup.c:167 +msgid "Resizable user list" +msgstr "使用者清單可調整大小" + +#: src/fe-gtk/setup.c:168 +msgid "User list sorted by:" +msgstr "使用者清單排列方式:" + +#: src/fe-gtk/setup.c:170 +msgid "Away tracking" +msgstr "記錄離開資訊" + +#: src/fe-gtk/setup.c:171 +msgid "Track the Away status of users and mark them in a different color" +msgstr "追蹤使用者的離開狀態並且以不同顏色標記它們" + +#: src/fe-gtk/setup.c:172 +msgid "On channels smaller than:" +msgstr "在小於此值的聊天室裡:" + +#: src/fe-gtk/setup.c:174 +msgid "Action Upon Double Click" +msgstr "雙擊時的動作" + +#: src/fe-gtk/setup.c:175 +msgid "Execute command:" +msgstr "執行命令:" + +#: src/fe-gtk/setup.c:186 +msgid "Windows" +msgstr "視窗" + +#: src/fe-gtk/setup.c:187 src/fe-gtk/setup.c:211 src/fe-gtk/setup.c:1506 +msgid "Tabs" +msgstr "分頁" + +#: src/fe-gtk/setup.c:193 +msgid "Bottom" +msgstr "底部" + +#: src/fe-gtk/setup.c:194 +msgid "Top" +msgstr "頂部" + +#: src/fe-gtk/setup.c:195 +msgid "Left" +msgstr "左側" + +#: src/fe-gtk/setup.c:196 +msgid "Right" +msgstr "右側" + +#: src/fe-gtk/setup.c:197 +msgid "Hidden" +msgstr "隱藏" + +#: src/fe-gtk/setup.c:204 +msgid "Always" +msgstr "總是" + +#: src/fe-gtk/setup.c:205 +msgid "Only requested tabs" +msgstr "只有請求的分頁" + +#: src/fe-gtk/setup.c:212 +msgid "Open an extra tab for server messages" +msgstr "打開額外的分頁存放伺服器訊息" + +#: src/fe-gtk/setup.c:213 +msgid "Open an extra tab for server notices" +msgstr "打開額外的分頁存放伺服器通知" + +#: src/fe-gtk/setup.c:214 +msgid "Sort tabs in alphabetical order" +msgstr "按字母表順序排序分頁" + +#: src/fe-gtk/setup.c:215 +msgid "Small tabs" +msgstr "小分頁" + +#: src/fe-gtk/setup.c:216 +msgid "Focus new tabs:" +msgstr "聚焦到新分頁:" + +#: src/fe-gtk/setup.c:217 +msgid "Shorten tab labels to:" +msgstr "縮短分頁標籤至:" + +#: src/fe-gtk/setup.c:217 +msgid "letters." +msgstr "字母。" + +#: src/fe-gtk/setup.c:219 +msgid "Tabs Location" +msgstr "分頁位置" + +#: src/fe-gtk/setup.c:220 +msgid "Show tabs at:" +msgstr "顯示分頁於:" + +#: src/fe-gtk/setup.c:222 +msgid "Tabs or Windows" +msgstr "分頁或視窗" + +#: src/fe-gtk/setup.c:223 +msgid "Open channels in:" +msgstr "打開聊天室於:" + +#: src/fe-gtk/setup.c:224 +msgid "Open dialogs in:" +msgstr "打開對話框於:" + +#: src/fe-gtk/setup.c:225 +msgid "Open utilities in:" +msgstr "打開工具於:" + +#: src/fe-gtk/setup.c:225 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "打開 DCC、忽略、通知等動作,使用分頁還是視窗?" + +#: src/fe-gtk/setup.c:232 +msgid "No" +msgstr "否" + +#: src/fe-gtk/setup.c:233 +msgid "Yes" +msgstr "是" + +#: src/fe-gtk/setup.c:234 +msgid "Browse for save folder every time" +msgstr "每次瀏覽儲存文件夾" + +#: src/fe-gtk/setup.c:240 +msgid "Files and Directories" +msgstr "檔案和目錄" + +#: src/fe-gtk/setup.c:241 +msgid "Auto accept file offers:" +msgstr "自動接受所提供的檔案:" + +#: src/fe-gtk/setup.c:242 +msgid "Download files to:" +msgstr "把檔案下載到:" + +#: src/fe-gtk/setup.c:243 +msgid "Move completed files to:" +msgstr "移動完成下載的檔案到:" + +#: src/fe-gtk/setup.c:244 +msgid "Save nick name in filenames" +msgstr "把暱稱存入檔名" + +#: src/fe-gtk/setup.c:246 +msgid "Network Settings" +msgstr "網路設定" + +#: src/fe-gtk/setup.c:247 +msgid "Get my address from the IRC server" +msgstr "從 IRC 伺服器獲取我的位址" + +#: src/fe-gtk/setup.c:248 +msgid "" +"Asks the IRC server for your real address. Use this if you have a 192.168.*." +"* address!" +msgstr "" +"向 IRC 伺服器查詢您的真實位址。如果您具有 192.168.*.* 這樣的位址時,請使用此" +"命令。" + +#: src/fe-gtk/setup.c:249 +msgid "DCC IP address:" +msgstr "DCC IP 位址:" + +#: src/fe-gtk/setup.c:250 +msgid "Claim you are at this address when offering files." +msgstr "發送檔案時聲稱您是這個位址。" + +#: src/fe-gtk/setup.c:251 +msgid "First DCC send port:" +msgstr "第一個 DCC 檔案發送輸出入埠:" + +#: src/fe-gtk/setup.c:252 +msgid "Last DCC send port:" +msgstr "最後一個 DCC 檔案傳送輸出入埠:" + +#: src/fe-gtk/setup.c:253 +msgid "!Leave ports at zero for full range." +msgstr "!輸出入埠保留為 0 表示允許所有範圍。" + +#: src/fe-gtk/setup.c:255 +msgid "Maximum File Transfer Speeds (bytes per second)" +msgstr "最大檔案傳輸速度(位元組每秒)" + +#: src/fe-gtk/setup.c:256 +msgid "One upload:" +msgstr "一次上傳" + +#: src/fe-gtk/setup.c:257 src/fe-gtk/setup.c:259 +msgid "Maximum speed for one transfer" +msgstr "一個傳送行程的最大速度" + +#: src/fe-gtk/setup.c:258 +msgid "One download:" +msgstr "一次下載:" + +#: src/fe-gtk/setup.c:260 +msgid "All uploads combined:" +msgstr "所有上傳:" + +#: src/fe-gtk/setup.c:261 src/fe-gtk/setup.c:263 +msgid "Maximum speed for all files" +msgstr "所有檔案的最大速度" + +#: src/fe-gtk/setup.c:262 +msgid "All downloads combined:" +msgstr "所有下載" + +#: src/fe-gtk/setup.c:270 +msgid "Default Messages" +msgstr "預設訊息" + +#: src/fe-gtk/setup.c:271 +msgid "Quit:" +msgstr "離開:" + +#: src/fe-gtk/setup.c:272 +msgid "Leave channel:" +msgstr "離開聊天室:" + +#: src/fe-gtk/setup.c:273 +msgid "Away:" +msgstr "離開:" + +#: src/fe-gtk/setup.c:275 +msgid "Away" +msgstr "離開" + +#: src/fe-gtk/setup.c:276 +msgid "Announce away messages" +msgstr "發佈暫離訊息" + +#: src/fe-gtk/setup.c:277 +msgid "Announce your away messages to all channels" +msgstr "發佈暫離訊息到所有聊天室" + +#: src/fe-gtk/setup.c:278 +msgid "Show away once" +msgstr "只顯示暫離一次" + +#: src/fe-gtk/setup.c:278 +msgid "Show identical away messages only once" +msgstr "同樣的暫離訊息只顯示一次" + +#: src/fe-gtk/setup.c:279 +msgid "Automatically unmark away" +msgstr "自動取消暫離狀態" + +#: src/fe-gtk/setup.c:279 +msgid "Unmark yourself as away before sending messages" +msgstr "發送訊息前取消您的暫離狀態" + +#: src/fe-gtk/setup.c:282 +msgid "(Can be a text file relative to ~/.xchat2/)." +msgstr "(可以是一個相對路徑為 ~/.xchat2/ 的文字檔案)。" + +#: src/fe-gtk/setup.c:284 +msgid "(Can be a text file relative to config dir)." +msgstr "(可以是一個相對路徑為配置目錄的文字檔案)。" + +#: src/fe-gtk/setup.c:288 +msgid "Alerts" +msgstr "警報" + +#: src/fe-gtk/setup.c:290 +msgid "Flash taskbar on highlighted messages" +msgstr "高亮度顯示訊息時閃動工作列" + +#: src/fe-gtk/setup.c:292 +msgid "Beep on highlighted messages" +msgstr "高亮度顯示訊息時響鈴提示" + +#: src/fe-gtk/setup.c:293 +msgid "Beep on private messages" +msgstr "有悄悄話時響鈴提示" + +#: src/fe-gtk/setup.c:294 +msgid "Beep on channel messages" +msgstr "聊天室中出現新訊息時響鈴" + +#: src/fe-gtk/setup.c:295 +msgid "Extra words to highlight on:" +msgstr "需要高亮度顯示的其它詞組:" + +#: src/fe-gtk/setup.c:296 +msgid "Nicks not to highlight on:" +msgstr "不要高亮度顯示的暱稱:" + +#: src/fe-gtk/setup.c:297 +msgid "Separate multiple words with commas." +msgstr "請用逗號分隔多個詞組。" + +#: src/fe-gtk/setup.c:304 +msgid "Advanced Settings" +msgstr "進階設定" + +#: src/fe-gtk/setup.c:305 +msgid "Auto reconnect delay:" +msgstr "自動重連間隔:" + +#: src/fe-gtk/setup.c:306 +msgid "Display MODEs in raw form" +msgstr "使用原始格式顯示模式" + +#: src/fe-gtk/setup.c:307 +msgid "Whois on notify" +msgstr "誰在上線通知清單上" + +#: src/fe-gtk/setup.c:307 +msgid "Sends a /WHOIS when a user comes online in your notify list" +msgstr "當您通知清單中的某位使用者上線時發送 /WHOIS 命令" + +#: src/fe-gtk/setup.c:308 +msgid "Hide join and part messages" +msgstr "隱藏加入/離開訊息" + +#: src/fe-gtk/setup.c:308 +msgid "Hide channel join/part messages by default" +msgstr "預設隱藏聊天室裡的加入/離開訊息" + +#: src/fe-gtk/setup.c:309 +msgid "Auto Open DCC Windows" +msgstr "自動打開 DDC 視窗" + +#: src/fe-gtk/setup.c:310 +msgid "Send window" +msgstr "發送視窗" + +#: src/fe-gtk/setup.c:311 +msgid "Receive window" +msgstr "接收視窗" + +#: src/fe-gtk/setup.c:312 +msgid "Chat window" +msgstr "聊天視窗" + +#: src/fe-gtk/setup.c:320 src/fe-gtk/setup.c:1511 +msgid "Logging" +msgstr "日誌" + +#: src/fe-gtk/setup.c:321 +msgid "Enable logging of conversations" +msgstr "允許記錄對話內容" + +#: src/fe-gtk/setup.c:322 +msgid "Log filename:" +msgstr "記錄檔案名稱:" + +#: src/fe-gtk/setup.c:323 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=伺服器 %c=聊天室 %n=網路。" + +#: src/fe-gtk/setup.c:326 +msgid "Insert timestamps in logs" +msgstr "在日誌中加入時間戳記" + +#: src/fe-gtk/setup.c:327 +msgid "Log timestamp format:" +msgstr "日誌時間戳記格式:" + +#: src/fe-gtk/setup.c:335 +msgid "(Disabled)" +msgstr "(停用)" + +#: src/fe-gtk/setup.c:336 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:337 +msgid "Socks4" +msgstr "Socks4" + +#: src/fe-gtk/setup.c:338 +msgid "Socks5" +msgstr "Socks5" + +#: src/fe-gtk/setup.c:339 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:341 +msgid "MS Proxy (ISA)" +msgstr "MS Proxy (ISA)" + +#: src/fe-gtk/setup.c:348 +msgid "All Connections" +msgstr "所有的連接" + +#: src/fe-gtk/setup.c:349 +msgid "IRC Server Only" +msgstr "僅列出 IRC 伺服器" + +#: src/fe-gtk/setup.c:350 +msgid "DCC Get Only" +msgstr "僅使用 DCC Get" + +#: src/fe-gtk/setup.c:356 +msgid "Your Address" +msgstr "您的位址" + +#: src/fe-gtk/setup.c:357 +msgid "Bind to:" +msgstr "綁定於:" + +#: src/fe-gtk/setup.c:358 +msgid "Only useful for computers with multiple addresses." +msgstr "只對有多個位址的電腦有用。" + +#: src/fe-gtk/setup.c:360 +msgid "Proxy Server" +msgstr "代理伺服器" + +#: src/fe-gtk/setup.c:361 +msgid "Hostname:" +msgstr "主機名:" + +#: src/fe-gtk/setup.c:362 +msgid "Port:" +msgstr "輸出入埠:" + +#: src/fe-gtk/setup.c:363 +msgid "Type:" +msgstr "類型:" + +#: src/fe-gtk/setup.c:364 +msgid "Use proxy for:" +msgstr "使用代理伺服器於:" + +#: src/fe-gtk/setup.c:366 +msgid "Proxy Authentication" +msgstr "代理伺服器驗證" + +#: src/fe-gtk/setup.c:368 +msgid "Use Authentication (MS Proxy, HTTP or Socks5 only)" +msgstr "使用驗證(MS Proxy、HTTP 或僅有 Socks5)" + +#: src/fe-gtk/setup.c:370 +msgid "Use Authentication (HTTP or Socks5 only)" +msgstr "使用驗證(HTTP 或僅有 Socks5)" + +#: src/fe-gtk/setup.c:372 +msgid "Username:" +msgstr "使用者名:" + +#: src/fe-gtk/setup.c:373 +msgid "Password:" +msgstr "密碼:" + +#: src/fe-gtk/setup.c:716 +msgid "Select an Image File" +msgstr "選擇一個圖像檔案" + +#: src/fe-gtk/setup.c:740 +msgid "Select Download Folder" +msgstr "選擇下載文件夾" + +#: src/fe-gtk/setup.c:749 +msgid "Select font" +msgstr "選擇字型" + +#: src/fe-gtk/setup.c:820 +msgid "Browse..." +msgstr "瀏覽..." + +#: src/fe-gtk/setup.c:955 +msgid "Mark identified users with:" +msgstr "標記驗證過的使用者為:" + +#: src/fe-gtk/setup.c:957 +msgid "Mark not-identified users with:" +msgstr "標記未驗證過的使用者為:" + +#: src/fe-gtk/setup.c:1018 +msgid "Select color" +msgstr "選擇顏色" + +#: src/fe-gtk/setup.c:1098 +msgid "Text Colors" +msgstr "文字顏色" + +#: src/fe-gtk/setup.c:1100 +msgid "mIRC colors:" +msgstr "mIRC 顏色:" + +#: src/fe-gtk/setup.c:1108 +msgid "Local colors:" +msgstr "本地的顏色:" + +#: src/fe-gtk/setup.c:1116 src/fe-gtk/setup.c:1121 +msgid "Foreground:" +msgstr "前景:" + +#: src/fe-gtk/setup.c:1117 src/fe-gtk/setup.c:1122 +msgid "Background:" +msgstr "背景:" + +#: src/fe-gtk/setup.c:1119 +msgid "Marking Text" +msgstr "標記文字" + +#: src/fe-gtk/setup.c:1124 +msgid "Interface Colors" +msgstr "介面顏色" + +#: src/fe-gtk/setup.c:1126 +msgid "New data:" +msgstr "新資料:" + +#: src/fe-gtk/setup.c:1127 +msgid "Marker line:" +msgstr "標記線:" + +#: src/fe-gtk/setup.c:1128 +msgid "New message:" +msgstr "新訊息:" + +#: src/fe-gtk/setup.c:1129 +msgid "Away user:" +msgstr "離開的使用者:" + +#: src/fe-gtk/setup.c:1130 +msgid "Highlight:" +msgstr "高亮度顯示:" + +#: src/fe-gtk/setup.c:1226 src/fe-gtk/textgui.c:386 +msgid "Event" +msgstr "事件" + +#: src/fe-gtk/setup.c:1232 +msgid "Sound file" +msgstr "音效檔案" + +#: src/fe-gtk/setup.c:1267 +msgid "Select a sound file" +msgstr "選擇聲音檔案" + +#: src/fe-gtk/setup.c:1339 +msgid "Sound playing method:" +msgstr "播放聲音方法:" + +#: src/fe-gtk/setup.c:1347 +msgid "External sound playing _program:" +msgstr "外部聲音播放程式(_P):" + +#: src/fe-gtk/setup.c:1365 +msgid "_External program" +msgstr "外部程式(_E)" + +#: src/fe-gtk/setup.c:1375 +msgid "_Automatic" +msgstr "自動(_A)" + +#: src/fe-gtk/setup.c:1388 +msgid "Sound files _directory:" +msgstr "音效檔案目錄(_D):" + +#: src/fe-gtk/setup.c:1427 +msgid "Sound file:" +msgstr "音效檔案:" + +#: src/fe-gtk/setup.c:1442 +msgid "_Browse..." +msgstr "瀏覽(_B)..." + +#: src/fe-gtk/setup.c:1453 +msgid "_Play" +msgstr "播放(_P)" + +#: src/fe-gtk/setup.c:1502 +msgid "Interface" +msgstr "介面" + +#: src/fe-gtk/setup.c:1503 +msgid "Text box" +msgstr "文字框" + +#: src/fe-gtk/setup.c:1505 +msgid "User list" +msgstr "使用者清單" + +#: src/fe-gtk/setup.c:1507 +msgid "Colors" +msgstr "顏色" + +#: src/fe-gtk/setup.c:1509 +msgid "Chatting" +msgstr "聊天" + +#: src/fe-gtk/setup.c:1510 +msgid "General" +msgstr "一般" + +#: src/fe-gtk/setup.c:1512 +msgid "Sound" +msgstr "音效" + +#: src/fe-gtk/setup.c:1515 +msgid "Network" +msgstr "網路" + +#: src/fe-gtk/setup.c:1516 +msgid "Network setup" +msgstr "網路設定" + +#: src/fe-gtk/setup.c:1517 +msgid "File transfers" +msgstr "檔案傳輸" + +#: src/fe-gtk/setup.c:1625 +msgid "Categories" +msgstr "類別" + +#: src/fe-gtk/setup.c:1797 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "有些設定需要重新啟動 xchat 才會生效。" + +#: src/fe-gtk/setup.c:1805 +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 "" +"*警告*\n" +"自動接收 DCC 到您的主目錄中是危險之舉,\n" +"且有被盜用的可能性。例如:\n" +"某人可能會給您發送一份 .bash_profile 檔案" + +#: src/fe-gtk/setup.c:1838 +msgid "XChat: Preferences" +msgstr "XChat: 偏好設定" + +#: src/fe-gtk/textgui.c:177 +msgid "There was an error parsing the string" +msgstr "解析字串時出錯" + +#: src/fe-gtk/textgui.c:185 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "該信號只接受 %d 個引數,$%d 無效" + +#: src/fe-gtk/textgui.c:301 src/fe-gtk/textgui.c:324 +msgid "Print Texts File" +msgstr "列印文字檔案" + +#: src/fe-gtk/textgui.c:369 +msgid "Edit Events" +msgstr "編輯事件" + +#: src/fe-gtk/textgui.c:420 +msgid "$ Number" +msgstr "$ 數字" + +#: src/fe-gtk/textgui.c:437 +msgid "Load From..." +msgstr "從...載入" + +#: src/fe-gtk/textgui.c:438 +msgid "Test All" +msgstr "測試全部" + +#: src/fe-gtk/urlgrab.c:98 +msgid "URL" +msgstr "URL" + +#: src/fe-gtk/urlgrab.c:188 +msgid "XChat: URL Grabber" +msgstr "XChat: URL 擷取程式" + +#: src/fe-gtk/urlgrab.c:201 +msgid "Clear list" +msgstr "清空清單" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy selected URL" +msgstr "複製選取的 URL" + +#: src/fe-gtk/urlgrab.c:203 +msgid "Copy" +msgstr "複製" + +#: src/fe-gtk/urlgrab.c:205 +msgid "Save list to a file" +msgstr "儲存清單到檔案" + +#: src/fe-gtk/userlistgui.c:111 +#, c-format +msgid "%d ops, %d total" +msgstr "%d 個管理員,共 %d 人" + +#: plugins/dbus/xchat-remote.c:41 +msgid "Open an irc:// url" +msgstr "開啟一個 irc:// URL" + +#: plugins/dbus/xchat-remote.c:41 +msgid "irc://server:port/channel" +msgstr "irc://server:port/channel" + +#: plugins/dbus/xchat-remote.c:42 +msgid "Execute a xchat command" +msgstr "執行 xchat 命令:" + +#: plugins/dbus/xchat-remote.c:42 +msgid "\"Command to execute\"" +msgstr "\"要執行的命令\"" + +#: plugins/dbus/xchat-remote.c:43 +msgid "Prints some text to the current tab/window" +msgstr "印出一些文字到目前的分頁/視窗" + +#: plugins/dbus/xchat-remote.c:43 +msgid "\"Text to print\"" +msgstr "\"要印出的文字\"" + +#: plugins/dbus/xchat-remote.c:44 +msgid "Change the context to the channel" +msgstr "變更上下文至聊天室" + +#: plugins/dbus/xchat-remote.c:44 +msgid "channel" +msgstr "聊天室" + +#: plugins/dbus/xchat-remote.c:45 +msgid "Change the context to the server" +msgstr "變更上下文至伺服器" + +#: plugins/dbus/xchat-remote.c:45 +msgid "server" +msgstr "伺服器" + +#: plugins/dbus/xchat-remote.c:46 +msgid "Get some informations from xchat" +msgstr "從 xchat 擷取一些資訊" + +#: plugins/dbus/xchat-remote.c:46 +msgid "id" +msgstr "id" + +#: plugins/dbus/xchat-remote.c:47 +msgid "Get settings from xchat" +msgstr "從 xchat 擷取設定" + +#: plugins/dbus/xchat-remote.c:47 +msgid "name" +msgstr "名稱" + +#: plugins/dbus/xchat-remote.c:79 +#, c-format +msgid "" +"xchat-remote: %s\n" +"Try `xchat-remote --help' for more information\n" +msgstr "" +"xchat-remote: %s\n" +"試試 `xchat-remote --help' 以獲得更多資訊\n" + +#: plugins/dbus/xchat-remote.c:90 +msgid "Couldn't connect to session bus" +msgstr "無法連接到執行階段匯流排" + +#: plugins/dbus/xchat-remote.c:116 plugins/dbus/xchat-remote.c:130 +msgid "Failed to complete command" +msgstr "完成命令失敗" + +#: plugins/dbus/xchat-remote.c:125 +msgid "Failed to complete SetContext" +msgstr "完成設定上下文失敗" + +#: plugins/dbus/xchat-remote.c:135 +msgid "Failed to complete print" +msgstr "完成列印失敗" + +#: plugins/dbus/xchat-remote.c:142 +msgid "Failed to complete GetInfo" +msgstr "完成擷取資訊失敗" + +#: plugins/dbus/xchat-remote.c:155 +msgid "Failed to complete GetPrefs" +msgstr "完成擷取偏好失敗" + +#: plugins/dbus/xchat-remote.c:159 +#, c-format +msgid "%s doesn't exist\n" +msgstr "%s 不存在\n" + +#: plugins/dbus/dbus-plugin.c:27 +msgid "xchat remote access" +msgstr "xchat 遠端存取" + +#: plugins/dbus/dbus-plugin.c:28 +msgid "plugin for remote access using DBUS" +msgstr "使用 DBUS 做為遠端存取外掛程式" + +#: plugins/dbus/dbus-plugin.c:333 +#, c-format +msgid "Couldn't connect to session bus : %s\n" +msgstr "無法連接到執行階段匯流排: %s\n" + +#: plugins/dbus/dbus-plugin.c:353 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "取得 %s 失敗: %s\n" + +#: plugins/dbus/dbus-plugin.c:401 +#, c-format +msgid "%s loaded successfully!\n" +msgstr "已成功載入 %s!\n" + +#~ msgid "France, Metropolitan" +#~ msgstr "法屬美特羅波利坦" + +#~ msgid "Neutral Zone" +#~ msgstr "中立地區" + +#~ msgid "File:" +#~ msgstr "檔案:" + +#~ msgid "Settings saved." +#~ msgstr "設定已儲存。" + +#~ msgid "_Server List..." +#~ msgstr "伺服器清單(_S)..." + +#~ msgid "Save rawlog" +#~ msgstr "儲存原始日誌" + +#~ msgid "Save rawlog..." +#~ msgstr "儲存原始日誌..." + +#~ msgid "Completes nick names without using the TAB key" +#~ msgstr "不用 TAB 鍵而自動補齊暱稱" + +#~ msgid "Input Box Appearance" +#~ msgstr "輸入框外觀" + +#~ msgid "Convert spaces to underscore before sending" +#~ msgstr "發送前把空格轉換成底線" + +#~ msgid "(See strftime manpage for details)." +#~ msgstr "(查看 strftime 手冊以獲取詳細資訊)。" diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 00000000..78856692 --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,14 @@ +## Process this file with automake to produce Makefile.in + +EXTRA_DIST = fe-text/fe-text.c \ + fe-text/README fe-text/fe-text.h version-script + +if DO_TEXT +text_fe = fe-text +endif + +if DO_GTK +gtk_fe = fe-gtk +endif + +SUBDIRS = pixmaps common $(gtk_fe) $(text_fe) diff --git a/src/common/Makefile.am b/src/common/Makefile.am new file mode 100644 index 00000000..6a35da91 --- /dev/null +++ b/src/common/Makefile.am @@ -0,0 +1,61 @@ +## Process this file with automake to produce Makefile.in + +noinst_LIBRARIES = libxchatcommon.a + +INCLUDES = $(COMMON_CFLAGS) + +EXTRA_DIST = \ + cfgfiles.h \ + chanopt.h \ + ctcp.h \ + dcc.h \ + fe.h \ + history.h \ + identd.c \ + ignore.h \ + inbound.h \ + inet.h \ + make-te.c \ + modes.h \ + msproxy.h \ + network.h \ + notify.h \ + outbound.h \ + plugin.h \ + plugin-timer.h \ + proto-irc.h \ + server.h \ + servlist.h \ + ssl.h \ + ssl.c \ + text.h \ + textenums.h \ + textevents.h \ + textevents.in \ + tree.h \ + url.h \ + userlist.h \ + util.h \ + xchat.h \ + xchatc.h \ + xchat-plugin.h + +if USE_OPENSSL +ssl_c = ssl.c +endif + +if USE_DBUS +dbusdir = dbus +libxchatcommon_a_LIBADD = \ + $(top_builddir)/src/common/dbus/dbus-*.$(OBJEXT) +endif +SUBDIRS = $(dbusdir) . + +libxchatcommon_a_SOURCES = cfgfiles.c chanopt.c ctcp.c dcc.c history.c ignore.c \ + inbound.c modes.c msproxy.c network.c notify.c outbound.c \ + plugin.c plugin-timer.c proto-irc.c server.c servlist.c $(ssl_c) \ + text.c tree.c url.c userlist.c util.c xchat.c +libxchatcommon_a_CFLAGS = $(LIBPROXY_CFLAGS) + +textevents: make-te + ./make-te < textevents.in > textevents.h 2> textenums.h diff --git a/src/common/cfgfiles.c b/src/common/cfgfiles.c new file mode 100644 index 00000000..8bb2a61b --- /dev/null +++ b/src/common/cfgfiles.c @@ -0,0 +1,1105 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <fcntl.h> +#include <unistd.h> +#include <stdlib.h> +#include <string.h> +#include <stdio.h> +#include <sys/types.h> +#include <sys/stat.h> + +#include "xchat.h" +#include "cfgfiles.h" +#include "util.h" +#include "fe.h" +#include "text.h" +#include "xchatc.h" + +#ifdef WIN32 +#define XCHAT_DIR "X-Chat 2" +#else +#define XCHAT_DIR ".xchat2" +#endif +#define DEF_FONT "Monospace 9" + +void +list_addentry (GSList ** list, char *cmd, char *name) +{ + struct popup *pop; + int cmd_len = 1, name_len; + + /* remove <2.8.0 stuff */ + if (!strcmp (cmd, "away") && !strcmp (name, "BACK")) + return; + + if (cmd) + cmd_len = strlen (cmd) + 1; + name_len = strlen (name) + 1; + + pop = malloc (sizeof (struct popup) + cmd_len + name_len); + pop->name = (char *) pop + sizeof (struct popup); + pop->cmd = pop->name + name_len; + + memcpy (pop->name, name, name_len); + if (cmd) + memcpy (pop->cmd, cmd, cmd_len); + else + pop->cmd[0] = 0; + + *list = g_slist_append (*list, pop); +} + +/* read it in from a buffer to our linked list */ + +static void +list_load_from_data (GSList ** list, char *ibuf, int size) +{ + char cmd[384]; + char name[128]; + char *buf; + int pnt = 0; + + cmd[0] = 0; + name[0] = 0; + + while (buf_get_line (ibuf, &buf, &pnt, size)) + { + if (*buf != '#') + { + if (!strncasecmp (buf, "NAME ", 5)) + { + safe_strcpy (name, buf + 5, sizeof (name)); + } + else if (!strncasecmp (buf, "CMD ", 4)) + { + safe_strcpy (cmd, buf + 4, sizeof (cmd)); + if (*name) + { + list_addentry (list, cmd, name); + cmd[0] = 0; + name[0] = 0; + } + } + } + } +} + +void +list_loadconf (char *file, GSList ** list, char *defaultconf) +{ + char filebuf[256]; + char *ibuf; + int fh; + struct stat st; + + snprintf (filebuf, sizeof (filebuf), "%s/%s", get_xdir_fs (), file); + fh = open (filebuf, O_RDONLY | OFLAGS); + if (fh == -1) + { + if (defaultconf) + list_load_from_data (list, defaultconf, strlen (defaultconf)); + return; + } + if (fstat (fh, &st) != 0) + { + perror ("fstat"); + abort (); + } + + ibuf = malloc (st.st_size); + read (fh, ibuf, st.st_size); + close (fh); + + list_load_from_data (list, ibuf, st.st_size); + + free (ibuf); +} + +void +list_free (GSList ** list) +{ + void *data; + while (*list) + { + data = (void *) (*list)->data; + free (data); + *list = g_slist_remove (*list, data); + } +} + +int +list_delentry (GSList ** list, char *name) +{ + struct popup *pop; + GSList *alist = *list; + + while (alist) + { + pop = (struct popup *) alist->data; + if (!strcasecmp (name, pop->name)) + { + *list = g_slist_remove (*list, pop); + free (pop); + return 1; + } + alist = alist->next; + } + return 0; +} + +char * +cfg_get_str (char *cfg, char *var, char *dest, int dest_len) +{ + while (1) + { + if (!strncasecmp (var, cfg, strlen (var))) + { + char *value, t; + cfg += strlen (var); + while (*cfg == ' ') + cfg++; + if (*cfg == '=') + cfg++; + while (*cfg == ' ') + cfg++; + /*while (*cfg == ' ' || *cfg == '=') + cfg++; */ + value = cfg; + while (*cfg != 0 && *cfg != '\n') + cfg++; + t = *cfg; + *cfg = 0; + safe_strcpy (dest, value, dest_len); + *cfg = t; + return cfg; + } + while (*cfg != 0 && *cfg != '\n') + cfg++; + if (*cfg == 0) + return 0; + cfg++; + if (*cfg == 0) + return 0; + } +} + +static int +cfg_put_str (int fh, char *var, char *value) +{ + char buf[512]; + int len; + + snprintf (buf, sizeof buf, "%s = %s\n", var, value); + len = strlen (buf); + return (write (fh, buf, len) == len); +} + +int +cfg_put_color (int fh, int r, int g, int b, char *var) +{ + char buf[400]; + int len; + + snprintf (buf, sizeof buf, "%s = %04x %04x %04x\n", var, r, g, b); + len = strlen (buf); + return (write (fh, buf, len) == len); +} + +int +cfg_put_int (int fh, int value, char *var) +{ + char buf[400]; + int len; + + if (value == -1) + value = 1; + + snprintf (buf, sizeof buf, "%s = %d\n", var, value); + len = strlen (buf); + return (write (fh, buf, len) == len); +} + +int +cfg_get_color (char *cfg, char *var, int *r, int *g, int *b) +{ + char str[128]; + + if (!cfg_get_str (cfg, var, str, sizeof (str))) + return 0; + + sscanf (str, "%04x %04x %04x", r, g, b); + return 1; +} + +int +cfg_get_int_with_result (char *cfg, char *var, int *result) +{ + char str[128]; + + if (!cfg_get_str (cfg, var, str, sizeof (str))) + { + *result = 0; + return 0; + } + + *result = 1; + return atoi (str); +} + +int +cfg_get_int (char *cfg, char *var) +{ + char str[128]; + + if (!cfg_get_str (cfg, var, str, sizeof (str))) + return 0; + + return atoi (str); +} + +char *xdir_fs = NULL; /* file system encoding */ +char *xdir_utf = NULL; /* utf-8 encoding */ + +#ifdef WIN32 + +#include <windows.h> + +static gboolean +get_reg_str (const char *sub, const char *name, char *out, DWORD len) +{ + HKEY hKey; + DWORD t; + + if (RegOpenKeyEx (HKEY_CURRENT_USER, sub, 0, KEY_READ, &hKey) == + ERROR_SUCCESS) + { + if (RegQueryValueEx (hKey, name, NULL, &t, out, &len) != ERROR_SUCCESS || + t != REG_SZ) + { + RegCloseKey (hKey); + return FALSE; + } + out[len-1] = 0; + RegCloseKey (hKey); + return TRUE; + } + + return FALSE; +} + +char * +get_xdir_fs (void) +{ + if (!xdir_fs) + { + char out[256]; + + if (!get_reg_str ("Software\\Microsoft\\Windows\\CurrentVersion\\" + "Explorer\\Shell Folders", "AppData", out, sizeof (out))) + return "./config"; + xdir_fs = g_strdup_printf ("%s\\" XCHAT_DIR, out); + } + return xdir_fs; +} + +#else + +char * +get_xdir_fs (void) +{ + if (!xdir_fs) + xdir_fs = g_strdup_printf ("%s/" XCHAT_DIR, g_get_home_dir ()); + + return xdir_fs; +} + +#endif /* !WIN32 */ + +char * +get_xdir_utf8 (void) +{ + if (!xdir_utf) /* never free this, keep it for program life time */ + xdir_utf = xchat_filename_to_utf8 (get_xdir_fs (), -1, 0, 0, 0); + + return xdir_utf; +} + +static void +check_prefs_dir (void) +{ + char *dir = get_xdir_fs (); + if (access (dir, F_OK) != 0) + { +#ifdef WIN32 + if (mkdir (dir) != 0) +#else + if (mkdir (dir, S_IRUSR | S_IWUSR | S_IXUSR) != 0) +#endif + fe_message (_("Cannot create ~/.xchat2"), FE_MSG_ERROR); + } +} + +static char * +default_file (void) +{ + static char *dfile = 0; + + if (!dfile) + { + dfile = malloc (strlen (get_xdir_fs ()) + 12); + sprintf (dfile, "%s/xchat.conf", get_xdir_fs ()); + } + return dfile; +} + +/* Keep these sorted!! */ + +const struct prefs vars[] = { + {"auto_save", P_OFFINT (autosave), TYPE_BOOL}, + {"auto_save_url", P_OFFINT (autosave_url), TYPE_BOOL}, + + {"away_auto_unmark", P_OFFINT (auto_unmark_away), TYPE_BOOL}, + {"away_reason", P_OFFSET (awayreason), TYPE_STR}, + {"away_show_message", P_OFFINT (show_away_message), TYPE_BOOL}, + {"away_show_once", P_OFFINT (show_away_once), TYPE_BOOL}, + {"away_size_max", P_OFFINT (away_size_max), TYPE_INT}, + {"away_timeout", P_OFFINT (away_timeout), TYPE_INT}, + {"away_track", P_OFFINT (away_track), TYPE_BOOL}, + + {"completion_amount", P_OFFINT (completion_amount), TYPE_INT}, + {"completion_auto", P_OFFINT (nickcompletion), TYPE_BOOL}, + {"completion_sort", P_OFFINT (completion_sort), TYPE_INT}, + {"completion_suffix", P_OFFSET (nick_suffix), TYPE_STR}, + + {"dcc_auto_chat", P_OFFINT (autodccchat), TYPE_INT}, + {"dcc_auto_resume", P_OFFINT (autoresume), TYPE_BOOL}, + {"dcc_auto_send", P_OFFINT (autodccsend), TYPE_INT}, + {"dcc_blocksize", P_OFFINT (dcc_blocksize), TYPE_INT}, + {"dcc_completed_dir", P_OFFSET (dcc_completed_dir), TYPE_STR}, + {"dcc_dir", P_OFFSET (dccdir), TYPE_STR}, + {"dcc_fast_send", P_OFFINT (fastdccsend), TYPE_BOOL}, + {"dcc_global_max_get_cps", P_OFFINT (dcc_global_max_get_cps), TYPE_INT}, + {"dcc_global_max_send_cps", P_OFFINT (dcc_global_max_send_cps), TYPE_INT}, + {"dcc_ip", P_OFFSET (dcc_ip_str), TYPE_STR}, + {"dcc_ip_from_server", P_OFFINT (ip_from_server), TYPE_BOOL}, + {"dcc_max_get_cps", P_OFFINT (dcc_max_get_cps), TYPE_INT}, + {"dcc_max_send_cps", P_OFFINT (dcc_max_send_cps), TYPE_INT}, + {"dcc_permissions", P_OFFINT (dccpermissions), TYPE_INT}, + {"dcc_port_first", P_OFFINT (first_dcc_send_port), TYPE_INT}, + {"dcc_port_last", P_OFFINT (last_dcc_send_port), TYPE_INT}, + {"dcc_remove", P_OFFINT (dcc_remove), TYPE_BOOL}, + {"dcc_save_nick", P_OFFINT (dccwithnick), TYPE_BOOL}, + {"dcc_send_fillspaces", P_OFFINT (dcc_send_fillspaces), TYPE_BOOL}, + {"dcc_stall_timeout", P_OFFINT (dccstalltimeout), TYPE_INT}, + {"dcc_timeout", P_OFFINT (dcctimeout), TYPE_INT}, + + {"dnsprogram", P_OFFSET (dnsprogram), TYPE_STR}, + + {"flood_ctcp_num", P_OFFINT (ctcp_number_limit), TYPE_INT}, + {"flood_ctcp_time", P_OFFINT (ctcp_time_limit), TYPE_INT}, + {"flood_msg_num", P_OFFINT (msg_number_limit), TYPE_INT}, + {"flood_msg_time", P_OFFINT (msg_time_limit), TYPE_INT}, + + {"gui_auto_open_chat", P_OFFINT (autoopendccchatwindow), TYPE_BOOL}, + {"gui_auto_open_dialog", P_OFFINT (autodialog), TYPE_BOOL}, + {"gui_auto_open_recv", P_OFFINT (autoopendccrecvwindow), TYPE_BOOL}, + {"gui_auto_open_send", P_OFFINT (autoopendccsendwindow), TYPE_BOOL}, + {"gui_dialog_height", P_OFFINT (dialog_height), TYPE_INT}, + {"gui_dialog_left", P_OFFINT (dialog_left), TYPE_INT}, + {"gui_dialog_top", P_OFFINT (dialog_top), TYPE_INT}, + {"gui_dialog_width", P_OFFINT (dialog_width), TYPE_INT}, + {"gui_hide_menu", P_OFFINT (hidemenu), TYPE_BOOL}, + {"gui_input_spell", P_OFFINT (gui_input_spell), TYPE_BOOL}, + {"gui_input_style", P_OFFINT (style_inputbox), TYPE_BOOL}, + {"gui_join_dialog", P_OFFINT (gui_join_dialog), TYPE_BOOL}, + {"gui_lagometer", P_OFFINT (lagometer), TYPE_INT}, + {"gui_mode_buttons", P_OFFINT (chanmodebuttons), TYPE_BOOL}, + {"gui_pane_left_size", P_OFFINT (gui_pane_left_size), TYPE_INT}, + {"gui_pane_right_size", P_OFFINT (gui_pane_right_size), TYPE_INT}, + {"gui_quit_dialog", P_OFFINT (gui_quit_dialog), TYPE_BOOL}, + {"gui_slist_fav", P_OFFINT (slist_fav), TYPE_INT}, + {"gui_slist_select", P_OFFINT (slist_select), TYPE_INT}, + {"gui_slist_skip", P_OFFINT (slist_skip), TYPE_BOOL}, + {"gui_throttlemeter", P_OFFINT (throttlemeter), TYPE_INT}, + {"gui_topicbar", P_OFFINT (topicbar), TYPE_BOOL}, + {"gui_tray", P_OFFINT (gui_tray), TYPE_BOOL}, + {"gui_tray_flags", P_OFFINT (gui_tray_flags), TYPE_INT}, + {"gui_tweaks", P_OFFINT (gui_tweaks), TYPE_INT}, + {"gui_ulist_buttons", P_OFFINT (userlistbuttons), TYPE_BOOL}, + {"gui_ulist_doubleclick", P_OFFSET (doubleclickuser), TYPE_STR}, + {"gui_ulist_hide", P_OFFINT (hideuserlist), TYPE_BOOL}, + {"gui_ulist_left", P_OFFINT (_gui_ulist_left), TYPE_BOOL}, /* obsolete */ + {"gui_ulist_pos", P_OFFINT (gui_ulist_pos), TYPE_INT}, + {"gui_ulist_resizable", P_OFFINT (paned_userlist), TYPE_BOOL}, + {"gui_ulist_show_hosts", P_OFFINT(showhostname_in_userlist), TYPE_BOOL}, + {"gui_ulist_sort", P_OFFINT (userlist_sort), TYPE_INT}, + {"gui_ulist_style", P_OFFINT (style_namelistgad), TYPE_BOOL}, + {"gui_url_mod", P_OFFINT (gui_url_mod), TYPE_INT}, + {"gui_usermenu", P_OFFINT (gui_usermenu), TYPE_BOOL}, + {"gui_win_height", P_OFFINT (mainwindow_height), TYPE_INT}, + {"gui_win_left", P_OFFINT (mainwindow_left), TYPE_INT}, + {"gui_win_save", P_OFFINT (mainwindow_save), TYPE_BOOL}, + {"gui_win_state", P_OFFINT (gui_win_state), TYPE_INT}, + {"gui_win_top", P_OFFINT (mainwindow_top), TYPE_INT}, + {"gui_win_width", P_OFFINT (mainwindow_width), TYPE_INT}, + +#ifdef WIN32 + {"identd", P_OFFINT (identd), TYPE_BOOL}, +#endif + {"input_balloon_chans", P_OFFINT (input_balloon_chans), TYPE_BOOL}, + {"input_balloon_hilight", P_OFFINT (input_balloon_hilight), TYPE_BOOL}, + {"input_balloon_priv", P_OFFINT (input_balloon_priv), TYPE_BOOL}, + {"input_balloon_time", P_OFFINT (input_balloon_time), TYPE_INT}, + {"input_beep_chans", P_OFFINT (input_beep_chans), TYPE_BOOL}, + {"input_beep_hilight", P_OFFINT (input_beep_hilight), TYPE_BOOL}, + {"input_beep_msg", P_OFFINT (input_beep_priv), TYPE_BOOL}, + {"input_command_char", P_OFFSET (cmdchar), TYPE_STR}, + {"input_filter_beep", P_OFFINT (filterbeep), TYPE_BOOL}, + {"input_flash_chans", P_OFFINT (input_flash_chans), TYPE_BOOL}, + {"input_flash_hilight", P_OFFINT (input_flash_hilight), TYPE_BOOL}, + {"input_flash_priv", P_OFFINT (input_flash_priv), TYPE_BOOL}, + {"input_perc_ascii", P_OFFINT (perc_ascii), TYPE_BOOL}, + {"input_perc_color", P_OFFINT (perc_color), TYPE_BOOL}, + {"input_tray_chans", P_OFFINT (input_tray_chans), TYPE_BOOL}, + {"input_tray_hilight", P_OFFINT (input_tray_hilight), TYPE_BOOL}, + {"input_tray_priv", P_OFFINT (input_tray_priv), TYPE_BOOL}, + + {"irc_auto_rejoin", P_OFFINT (autorejoin), TYPE_BOOL}, + {"irc_ban_type", P_OFFINT (bantype), TYPE_INT}, + {"irc_conf_mode", P_OFFINT (confmode), TYPE_BOOL}, + {"irc_extra_hilight", P_OFFSET (irc_extra_hilight), TYPE_STR}, + {"irc_hide_version", P_OFFINT (hidever), TYPE_BOOL}, + {"irc_id_ntext", P_OFFSET (irc_id_ntext), TYPE_STR}, + {"irc_id_ytext", P_OFFSET (irc_id_ytext), TYPE_STR}, + {"irc_invisible", P_OFFINT (invisible), TYPE_BOOL}, + {"irc_join_delay", P_OFFINT (irc_join_delay), TYPE_INT}, + {"irc_logging", P_OFFINT (logging), TYPE_BOOL}, + {"irc_logmask", P_OFFSET (logmask), TYPE_STR}, + {"irc_nick1", P_OFFSET (nick1), TYPE_STR}, + {"irc_nick2", P_OFFSET (nick2), TYPE_STR}, + {"irc_nick3", P_OFFSET (nick3), TYPE_STR}, + {"irc_nick_hilight", P_OFFSET (irc_nick_hilight), TYPE_STR}, + {"irc_no_hilight", P_OFFSET (irc_no_hilight), TYPE_STR}, + {"irc_part_reason", P_OFFSET (partreason), TYPE_STR}, + {"irc_quit_reason", P_OFFSET (quitreason), TYPE_STR}, + {"irc_raw_modes", P_OFFINT (raw_modes), TYPE_BOOL}, + {"irc_real_name", P_OFFSET (realname), TYPE_STR}, + {"irc_servernotice", P_OFFINT (servernotice), TYPE_BOOL}, + {"irc_skip_motd", P_OFFINT (skipmotd), TYPE_BOOL}, + {"irc_user_name", P_OFFSET (username), TYPE_STR}, + {"irc_wallops", P_OFFINT (wallops), TYPE_BOOL}, + {"irc_who_join", P_OFFINT (userhost), TYPE_BOOL}, + {"irc_whois_front", P_OFFINT (irc_whois_front), TYPE_BOOL}, + + {"net_auto_reconnect", P_OFFINT (autoreconnect), TYPE_BOOL}, + {"net_auto_reconnectonfail", P_OFFINT (autoreconnectonfail), TYPE_BOOL}, + {"net_bind_host", P_OFFSET (hostname), TYPE_STR}, + {"net_ping_timeout", P_OFFINT (pingtimeout), TYPE_INT}, + {"net_proxy_auth", P_OFFINT (proxy_auth), TYPE_BOOL}, + {"net_proxy_host", P_OFFSET (proxy_host), TYPE_STR}, + {"net_proxy_pass", P_OFFSET (proxy_pass), TYPE_STR}, + {"net_proxy_port", P_OFFINT (proxy_port), TYPE_INT}, + {"net_proxy_type", P_OFFINT (proxy_type), TYPE_INT}, + {"net_proxy_use", P_OFFINT (proxy_use), TYPE_INT}, + {"net_proxy_user", P_OFFSET (proxy_user), TYPE_STR}, + + {"net_reconnect_delay", P_OFFINT (recon_delay), TYPE_INT}, + {"net_throttle", P_OFFINT (throttle), TYPE_BOOL}, + + {"notify_timeout", P_OFFINT (notify_timeout), TYPE_INT}, + {"notify_whois_online", P_OFFINT (whois_on_notifyonline), TYPE_BOOL}, + + {"perl_warnings", P_OFFINT (perlwarnings), TYPE_BOOL}, + + {"sound_command", P_OFFSET (soundcmd), TYPE_STR}, + {"sound_dir", P_OFFSET (sounddir), TYPE_STR}, + {"stamp_log", P_OFFINT (timestamp_logs), TYPE_BOOL}, + {"stamp_log_format", P_OFFSET (timestamp_log_format), TYPE_STR}, + {"stamp_text", P_OFFINT (timestamp), TYPE_BOOL}, + {"stamp_text_format", P_OFFSET (stamp_format), TYPE_STR}, + + {"tab_chans", P_OFFINT (tabchannels), TYPE_BOOL}, + {"tab_dialogs", P_OFFINT (privmsgtab), TYPE_BOOL}, + {"tab_layout", P_OFFINT (tab_layout), TYPE_INT}, + {"tab_new_to_front", P_OFFINT (newtabstofront), TYPE_INT}, + {"tab_notices", P_OFFINT (notices_tabs), TYPE_BOOL}, + {"tab_pos", P_OFFINT (tab_pos), TYPE_INT}, + {"tab_position", P_OFFINT (_tabs_position), TYPE_INT}, /* obsolete */ + {"tab_server", P_OFFINT (use_server_tab), TYPE_BOOL}, + {"tab_small", P_OFFINT (tab_small), TYPE_INT}, + {"tab_sort", P_OFFINT (tab_sort), TYPE_BOOL}, + {"tab_trunc", P_OFFINT (truncchans), TYPE_INT}, + {"tab_utils", P_OFFINT (windows_as_tabs), TYPE_BOOL}, + + {"text_background", P_OFFSET (background), TYPE_STR}, + {"text_color_nicks", P_OFFINT (colorednicks), TYPE_BOOL}, + {"text_font", P_OFFSET (font_normal), TYPE_STR}, + {"text_indent", P_OFFINT (indent_nicks), TYPE_BOOL}, + {"text_max_indent", P_OFFINT (max_auto_indent), TYPE_INT}, + {"text_max_lines", P_OFFINT (max_lines), TYPE_INT}, + {"text_replay", P_OFFINT (text_replay), TYPE_BOOL}, + {"text_show_marker", P_OFFINT (show_marker), TYPE_BOOL}, + {"text_show_sep", P_OFFINT (show_separator), TYPE_BOOL}, + {"text_stripcolor", P_OFFINT (stripcolor), TYPE_BOOL}, + {"text_thin_sep", P_OFFINT (thin_separator), TYPE_BOOL}, + {"text_tint_blue", P_OFFINT (tint_blue), TYPE_INT}, + {"text_tint_green", P_OFFINT (tint_green), TYPE_INT}, + {"text_tint_red", P_OFFINT (tint_red), TYPE_INT}, + {"text_transparent", P_OFFINT (transparent), TYPE_BOOL}, + {"text_wordwrap", P_OFFINT (wordwrap), TYPE_BOOL}, + + {0, 0, 0}, +}; + +static char * +convert_with_fallback (const char *str, const char *fallback) +{ + char *utf; + + utf = g_locale_to_utf8 (str, -1, 0, 0, 0); + if (!utf) + { + /* this can happen if CHARSET envvar is set wrong */ + /* maybe it's already utf8 (breakage!) */ + if (!g_utf8_validate (str, -1, NULL)) + utf = g_strdup (fallback); + else + utf = g_strdup (str); + } + + return utf; +} + +void +load_config (void) +{ + struct stat st; + char *cfg, *sp; + const char *username, *realname; + int res, val, i, fh; + + check_prefs_dir (); + username = g_get_user_name (); + if (!username) + username = "root"; + + realname = g_get_real_name (); + if ((realname && realname[0] == 0) || !realname) + realname = username; + + username = convert_with_fallback (username, "username"); + realname = convert_with_fallback (realname, "realname"); + + memset (&prefs, 0, sizeof (struct xchatprefs)); + + /* put in default values, anything left out is automatically zero */ + prefs.local_ip = 0xffffffff; + prefs.irc_join_delay = 3; + prefs.show_marker = 1; + prefs.newtabstofront = 2; + prefs.completion_amount = 5; + prefs.away_timeout = 60; + prefs.away_size_max = 300; + prefs.away_track = 1; + prefs.timestamp_logs = 1; + prefs.truncchans = 20; + prefs.autoresume = 1; + prefs.show_away_once = 1; + prefs.indent_nicks = 1; + prefs.thin_separator = 1; + prefs._tabs_position = 2; /* 2 = left */ + prefs.fastdccsend = 1; + prefs.wordwrap = 1; + prefs.autosave = 1; + prefs.autodialog = 1; + prefs.gui_input_spell = 1; + prefs.autoreconnect = 1; + prefs.recon_delay = 10; + prefs.text_replay = 1; + prefs.tabchannels = 1; + prefs.tab_layout = 2; /* 0=Tabs 1=Reserved 2=Tree */ + prefs.tab_sort = 1; + prefs.paned_userlist = 1; + prefs.newtabstofront = 2; + prefs.use_server_tab = 1; + prefs.privmsgtab = 1; + /*prefs.style_inputbox = 1;*/ + prefs.dccpermissions = 0600; + prefs.max_lines = 500; + prefs.mainwindow_width = 640; + prefs.mainwindow_height = 400; + prefs.dialog_width = 500; + prefs.dialog_height = 256; + prefs.gui_join_dialog = 1; + prefs.gui_quit_dialog = 1; + prefs.dcctimeout = 180; + prefs.dccstalltimeout = 60; + prefs.notify_timeout = 15; + prefs.tint_red = + prefs.tint_green = + prefs.tint_blue = 195; + prefs.auto_indent = 1; + prefs.max_auto_indent = 256; + prefs.show_separator = 1; + prefs.dcc_blocksize = 1024; + prefs.throttle = 1; + /*FIXME*/ prefs.msg_time_limit = 30; + prefs.msg_number_limit = 5; + prefs.ctcp_time_limit = 30; + prefs.ctcp_number_limit = 5; + prefs.topicbar = 1; + prefs.lagometer = 1; + prefs.throttlemeter = 1; + prefs.autoopendccrecvwindow = 1; + prefs.autoopendccsendwindow = 1; + prefs.autoopendccchatwindow = 1; + prefs.userhost = 1; + prefs.gui_url_mod = 4; /* ctrl */ + prefs.gui_tray = 1; + prefs.gui_pane_left_size = 100; + prefs.gui_pane_right_size = 100; + prefs.mainwindow_save = 1; + prefs.bantype = 2; + prefs.input_balloon_time = 20; + prefs.input_flash_priv = prefs.input_flash_hilight = 1; + prefs.input_tray_priv = prefs.input_tray_hilight = 1; + prefs.autodccsend = 2; /* browse mode */ +#ifdef WIN32 + prefs.identd = 1; +#endif + strcpy (prefs.stamp_format, "[%H:%M] "); + strcpy (prefs.timestamp_log_format, "%b %d %H:%M:%S "); + strcpy (prefs.logmask, "%n-%c.log"); + strcpy (prefs.nick_suffix, ","); + strcpy (prefs.cmdchar, "/"); + strcpy (prefs.nick1, username); + strcpy (prefs.nick2, username); + strcat (prefs.nick2, "_"); + strcpy (prefs.nick3, username); + strcat (prefs.nick3, "__"); + strcpy (prefs.realname, realname); + strcpy (prefs.username, username); +#ifdef WIN32 + strcpy (prefs.sounddir, "./sounds"); + { + char out[256]; + + if (get_reg_str ("Software\\Microsoft\\Windows\\CurrentVersion\\" + "Explorer\\Shell Folders", "Personal", out, sizeof (out))) + snprintf (prefs.dccdir, sizeof (prefs.dccdir), "%s\\Downloads", out); + else + snprintf (prefs.dccdir, sizeof (prefs.dccdir), "%s\\Downloads", get_xdir_utf8 ()); + } +#else + snprintf (prefs.sounddir, sizeof (prefs.sounddir), "%s/sounds", get_xdir_utf8 ()); + snprintf (prefs.dccdir, sizeof (prefs.dccdir), "%s/downloads", get_xdir_utf8 ()); +#endif + strcpy (prefs.doubleclickuser, "QUOTE WHOIS %s %s"); + strcpy (prefs.awayreason, _("I'm busy")); + strcpy (prefs.quitreason, _("Leaving")); + strcpy (prefs.partreason, prefs.quitreason); + strcpy (prefs.font_normal, DEF_FONT); + strcpy (prefs.dnsprogram, "host"); + strcpy (prefs.irc_no_hilight, "NickServ,ChanServ"); + + g_free ((char *)username); + g_free ((char *)realname); + + fh = open (default_file (), OFLAGS | O_RDONLY); + if (fh != -1) + { + fstat (fh, &st); + cfg = malloc (st.st_size + 1); + cfg[0] = '\0'; + i = read (fh, cfg, st.st_size); + if (i >= 0) + cfg[i] = '\0'; /* make sure cfg is NULL terminated */ + close (fh); + i = 0; + do + { + switch (vars[i].type) + { + case TYPE_STR: + cfg_get_str (cfg, vars[i].name, (char *) &prefs + vars[i].offset, + vars[i].len); + break; + case TYPE_BOOL: + case TYPE_INT: + val = cfg_get_int_with_result (cfg, vars[i].name, &res); + if (res) + *((int *) &prefs + vars[i].offset) = val; + break; + } + i++; + } + while (vars[i].name); + + free (cfg); + + } else + { +#ifndef WIN32 +#ifndef __EMX__ + /* OS/2 uses UID 0 all the time */ + if (getuid () == 0) + fe_message (_("* Running IRC as root is stupid! You should\n" + " create a User Account and use that to login.\n"), FE_MSG_WARN|FE_MSG_WAIT); +#endif +#endif /* !WIN32 */ + + mkdir_utf8 (prefs.dccdir); + mkdir_utf8 (prefs.dcc_completed_dir); + } + if (prefs.mainwindow_height < 138) + prefs.mainwindow_height = 138; + if (prefs.mainwindow_width < 106) + prefs.mainwindow_width = 106; + + sp = strchr (prefs.username, ' '); + if (sp) + sp[0] = 0; /* spaces in username would break the login */ + + /* try to make sense of old ulist/tree position settings */ + if (prefs.gui_ulist_pos == 0) + { + prefs.gui_ulist_pos = 3; /* top right */ + if (prefs._gui_ulist_left) + prefs.gui_ulist_pos = 2; /* bottom left */ + + switch (prefs._tabs_position) + { + case 0: + prefs.tab_pos = 6; /* bottom */ + break; + case 1: + prefs.tab_pos = 5; /* top */ + break; + case 2: + prefs.tab_pos = 1; /* left */ + break; + case 3: + prefs.tab_pos = 4; /* right */ + break; + case 4: + prefs.tab_pos = 1; /* (hidden)left */ + break; + case 5: + if (prefs._gui_ulist_left) + { + prefs.tab_pos = 1; /* above ulist left */ + prefs.gui_ulist_pos = 2; + } + else + { + prefs.tab_pos = 3; /* above ulist right */ + prefs.gui_ulist_pos = 4; + } + break; + } + } +} + +int +save_config (void) +{ + int fh, i; + char *new_config, *config; + + check_prefs_dir (); + + config = default_file (); + new_config = malloc (strlen (config) + 5); + strcpy (new_config, config); + strcat (new_config, ".new"); + + fh = open (new_config, OFLAGS | O_TRUNC | O_WRONLY | O_CREAT, 0600); + if (fh == -1) + { + free (new_config); + return 0; + } + + if (!cfg_put_str (fh, "version", PACKAGE_VERSION)) + { + free (new_config); + return 0; + } + + i = 0; + do + { + switch (vars[i].type) + { + case TYPE_STR: + if (!cfg_put_str (fh, vars[i].name, (char *) &prefs + vars[i].offset)) + { + free (new_config); + return 0; + } + break; + case TYPE_INT: + case TYPE_BOOL: + if (!cfg_put_int (fh, *((int *) &prefs + vars[i].offset), vars[i].name)) + { + free (new_config); + return 0; + } + } + i++; + } + while (vars[i].name); + + if (close (fh) == -1) + { + free (new_config); + return 0; + } + +#ifdef WIN32 + unlink (config); /* win32 can't rename to an existing file */ +#endif + if (rename (new_config, config) == -1) + { + free (new_config); + return 0; + } + free (new_config); + + return 1; +} + +static void +set_showval (session *sess, const struct prefs *var, char *tbuf) +{ + int len, dots, j; + + len = strlen (var->name); + memcpy (tbuf, var->name, len); + dots = 29 - len; + if (dots < 0) + dots = 0; + tbuf[len++] = '\003'; + tbuf[len++] = '2'; + for (j=0;j<dots;j++) + tbuf[j + len] = '.'; + len += j; + switch (var->type) + { + case TYPE_STR: + sprintf (tbuf + len, "\0033:\017 %s\n", + (char *) &prefs + var->offset); + break; + case TYPE_INT: + sprintf (tbuf + len, "\0033:\017 %d\n", + *((int *) &prefs + var->offset)); + break; + case TYPE_BOOL: + if (*((int *) &prefs + var->offset)) + sprintf (tbuf + len, "\0033:\017 %s\n", "ON"); + else + sprintf (tbuf + len, "\0033:\017 %s\n", "OFF"); + break; + } + PrintText (sess, tbuf); +} + +static void +set_list (session * sess, char *tbuf) +{ + int i; + + i = 0; + do + { + set_showval (sess, &vars[i], tbuf); + i++; + } + while (vars[i].name); +} + +int +cfg_get_bool (char *var) +{ + int i = 0; + + do + { + if (!strcasecmp (var, vars[i].name)) + { + return *((int *) &prefs + vars[i].offset); + } + i++; + } + while (vars[i].name); + + return -1; +} + +int +cmd_set (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int wild = FALSE; + int or = FALSE; + int off = FALSE; + int quiet = FALSE; + int erase = FALSE; + int i = 0, finds = 0, found; + int idx = 2; + char *var, *val; + + if (strcasecmp (word[2], "-e") == 0) + { + idx++; + erase = TRUE; + } + + /* turn a bit OFF */ + if (strcasecmp (word[idx], "-off") == 0) + { + idx++; + off = TRUE; + } + + /* turn a bit ON */ + if (strcasecmp (word[idx], "-or") == 0 || strcasecmp (word[idx], "-on") == 0) + { + idx++; + or = TRUE; + } + + if (strcasecmp (word[idx], "-quiet") == 0) + { + idx++; + quiet = TRUE; + } + + var = word[idx]; + val = word_eol[idx+1]; + + if (!*var) + { + set_list (sess, tbuf); + return TRUE; + } + + if ((strchr (var, '*') || strchr (var, '?')) && !*val) + wild = TRUE; + + if (*val == '=') + val++; + + do + { + if (wild) + found = !match (var, vars[i].name); + else + found = strcasecmp (var, vars[i].name); + + if (found == 0) + { + finds++; + switch (vars[i].type) + { + case TYPE_STR: + if (erase || *val) + { + strncpy ((char *) &prefs + vars[i].offset, val, vars[i].len); + ((char *) &prefs)[vars[i].offset + vars[i].len - 1] = 0; + if (!quiet) + PrintTextf (sess, "%s set to: %s\n", var, (char *) &prefs + vars[i].offset); + } else + { + set_showval (sess, &vars[i], tbuf); + } + break; + case TYPE_INT: + case TYPE_BOOL: + if (*val) + { + if (vars[i].type == TYPE_BOOL) + { + if (atoi (val)) + *((int *) &prefs + vars[i].offset) = 1; + else + *((int *) &prefs + vars[i].offset) = 0; + if (!strcasecmp (val, "YES") || !strcasecmp (val, "ON")) + *((int *) &prefs + vars[i].offset) = 1; + if (!strcasecmp (val, "NO") || !strcasecmp (val, "OFF")) + *((int *) &prefs + vars[i].offset) = 0; + } else + { + if (or) + *((int *) &prefs + vars[i].offset) |= atoi (val); + else if (off) + *((int *) &prefs + vars[i].offset) &= ~(atoi (val)); + else + *((int *) &prefs + vars[i].offset) = atoi (val); + } + if (!quiet) + PrintTextf (sess, "%s set to: %d\n", var, + *((int *) &prefs + vars[i].offset)); + } else + { + set_showval (sess, &vars[i], tbuf); + } + break; + } + } + i++; + } + while (vars[i].name); + + if (!finds && !quiet) + PrintText (sess, "No such variable.\n"); + + return TRUE; +} + +int +xchat_open_file (char *file, int flags, int mode, int xof_flags) +{ + char buf[1024]; + + if (xof_flags & XOF_FULLPATH) + { + if (xof_flags & XOF_DOMODE) + return open (file, flags | OFLAGS, mode); + else + return open (file, flags | OFLAGS); + } + + snprintf (buf, sizeof (buf), "%s/%s", get_xdir_fs (), file); + if (xof_flags & XOF_DOMODE) + return open (buf, flags | OFLAGS, mode); + else + return open (buf, flags | OFLAGS); +} + +FILE * +xchat_fopen_file (const char *file, const char *mode, int xof_flags) +{ + char buf[1024]; + + if (xof_flags & XOF_FULLPATH) + return fopen (file, mode); + + snprintf (buf, sizeof (buf), "%s/%s", get_xdir_fs (), file); + return fopen (buf, mode); +} diff --git a/src/common/cfgfiles.h b/src/common/cfgfiles.h new file mode 100644 index 00000000..984b9472 --- /dev/null +++ b/src/common/cfgfiles.h @@ -0,0 +1,55 @@ +/* cfgfiles.h */ + +#ifndef XCHAT_CFGFILES_H +#define XCHAT_CFGFILES_H + +#include "xchat.h" + +extern char *xdir_fs; +extern char *xdir_utf; + +char *cfg_get_str (char *cfg, char *var, char *dest, int dest_len); +int cfg_get_bool (char *var); +int cfg_get_int_with_result (char *cfg, char *var, int *result); +int cfg_get_int (char *cfg, char *var); +int cfg_put_int (int fh, int value, char *var); +int cfg_get_color (char *cfg, char *var, int *r, int *g, int *b); +int cfg_put_color (int fh, int r, int g, int b, char *var); +char *get_xdir_fs (void); +char *get_xdir_utf8 (void); +void load_config (void); +int save_config (void); +void list_free (GSList ** list); +void list_loadconf (char *file, GSList ** list, char *defaultconf); +int list_delentry (GSList ** list, char *name); +void list_addentry (GSList ** list, char *cmd, char *name); +int cmd_set (session *sess, char *tbuf, char *word[], char *word_eol[]); +int xchat_open_file (char *file, int flags, int mode, int xof_flags); +FILE *xchat_fopen_file (const char *file, const char *mode, int xof_flags); +#define XOF_DOMODE 1 +#define XOF_FULLPATH 2 + +#define STRUCT_OFFSET_STR(type,field) \ +( (unsigned int) (((char *) (&(((type *) NULL)->field)))- ((char *) NULL)) ) + +#define STRUCT_OFFSET_INT(type,field) \ +( (unsigned int) (((int *) (&(((type *) NULL)->field)))- ((int *) NULL)) ) + +#define P_OFFSET(field) STRUCT_OFFSET_STR(struct xchatprefs, field),sizeof(prefs.field) +#define P_OFFSETNL(field) STRUCT_OFFSET_STR(struct xchatprefs, field) +#define P_OFFINT(field) STRUCT_OFFSET_INT(struct xchatprefs, field),0 +#define P_OFFINTNL(field) STRUCT_OFFSET_INT(struct xchatprefs, field) + +struct prefs +{ + char *name; + unsigned short offset; + unsigned short len; + unsigned short type; +}; + +#define TYPE_STR 0 +#define TYPE_INT 1 +#define TYPE_BOOL 2 + +#endif diff --git a/src/common/chanopt.c b/src/common/chanopt.c new file mode 100644 index 00000000..a4fd8faa --- /dev/null +++ b/src/common/chanopt.c @@ -0,0 +1,431 @@ +/* per-channel/dialog settings :: /CHANOPT */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <unistd.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <errno.h> + +#include "xchat.h" + +#include "cfgfiles.h" +#include "server.h" +#include "text.h" +#include "util.h" +#include "xchatc.h" + + +static GSList *chanopt_list = NULL; +static gboolean chanopt_open = FALSE; +static gboolean chanopt_changed = FALSE; + + +typedef struct +{ + char *name; + char *alias; /* old names from 2.8.4 */ + int offset; +} channel_options; + +#define S_F(xx) STRUCT_OFFSET_STR(struct session,xx) + +static const channel_options chanopt[] = +{ + {"alert_beep", "BEEP", S_F(alert_beep)}, + {"alert_taskbar", NULL, S_F(alert_taskbar)}, + {"alert_tray", "TRAY", S_F(alert_tray)}, + + {"text_hidejoinpart", "CONFMODE", S_F(text_hidejoinpart)}, + {"text_logging", NULL, S_F(text_logging)}, + {"text_scrollback", NULL, S_F(text_scrollback)}, +}; + +#undef S_F + +static char * +chanopt_value (guint8 val) +{ + switch (val) + { + case SET_OFF: + return "OFF"; + case SET_ON: + return "ON"; + default: + return "{unset}"; + } +} + +/* handle the /CHANOPT command */ + +int +chanopt_command (session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int dots, i = 0, j, p = 0; + guint8 val; + int offset = 2; + char *find; + gboolean quiet = FALSE; + int newval = -1; + + if (!strcmp (word[2], "-quiet")) + { + quiet = TRUE; + offset++; + } + + find = word[offset++]; + + if (word[offset][0]) + { + if (!strcasecmp (word[offset], "ON")) + newval = 1; + else if (!strcasecmp (word[offset], "OFF")) + newval = 0; + else if (word[offset][0] == 'u') + newval = SET_DEFAULT; + else + newval = atoi (word[offset]); + } + + if (!quiet) + PrintTextf (sess, "\002Network\002: %s \002Channel\002: %s\n", + sess->server->network ? server_get_network (sess->server, TRUE) : _("<none>"), + sess->channel[0] ? sess->channel : _("<none>")); + + while (i < sizeof (chanopt) / sizeof (channel_options)) + { + if (find[0] == 0 || match (find, chanopt[i].name) || (chanopt[i].alias && match (find, chanopt[i].alias))) + { + if (newval != -1) /* set new value */ + { + *(guint8 *)G_STRUCT_MEMBER_P(sess, chanopt[i].offset) = newval; + } + + if (!quiet) /* print value */ + { + strcpy (tbuf, chanopt[i].name); + p = strlen (tbuf); + + tbuf[p++] = 3; + tbuf[p++] = '2'; + + dots = 20 - strlen (chanopt[i].name); + + for (j = 0; j < dots; j++) + tbuf[p++] = '.'; + tbuf[p++] = 0; + + val = G_STRUCT_MEMBER (guint8, sess, chanopt[i].offset); + PrintTextf (sess, "%s\0033:\017 %s", tbuf, chanopt_value (val)); + } + } + i++; + } + + return TRUE; +} + +/* is a per-channel setting set? Or is it UNSET and + * the global version is set? */ + +gboolean +chanopt_is_set (unsigned int global, guint8 per_chan_setting) +{ + if (per_chan_setting == SET_DEFAULT) + return global; + + return per_chan_setting; +} + +/* additive version */ + +gboolean +chanopt_is_set_a (unsigned int global, guint8 per_chan_setting) +{ + if (per_chan_setting == SET_DEFAULT) + return global; + + return per_chan_setting || global; +} + +/* === below is LOADING/SAVING stuff only === */ + +typedef struct +{ + /* Per-Channel Alerts */ + /* use a byte, because we need a pointer to each element */ + guint8 alert_beep; + guint8 alert_taskbar; + guint8 alert_tray; + + /* Per-Channel Settings */ + guint8 text_hidejoinpart; + guint8 text_logging; + guint8 text_scrollback; + + char *network; + char *channel; + +} chanopt_in_memory; + + +static chanopt_in_memory * +chanopt_find (char *network, char *channel, gboolean add_new) +{ + GSList *list; + chanopt_in_memory *co; + int i; + + for (list = chanopt_list; list; list = list->next) + { + co = list->data; + if (!strcasecmp (co->channel, channel) && + !strcasecmp (co->network, network)) + return co; + } + + if (!add_new) + return NULL; + + /* allocate a new one */ + co = g_malloc0 (sizeof (chanopt_in_memory)); + co->channel = g_strdup (channel); + co->network = g_strdup (network); + + /* set all values to SET_DEFAULT */ + i = 0; + while (i < sizeof (chanopt) / sizeof (channel_options)) + { + *(guint8 *)G_STRUCT_MEMBER_P(co, chanopt[i].offset) = SET_DEFAULT; + i++; + } + + chanopt_list = g_slist_prepend (chanopt_list, co); + chanopt_changed = TRUE; + + return co; +} + +static void +chanopt_add_opt (chanopt_in_memory *co, char *var, int new_value) +{ + int i; + + i = 0; + while (i < sizeof (chanopt) / sizeof (channel_options)) + { + if (!strcmp (var, chanopt[i].name)) + { + *(guint8 *)G_STRUCT_MEMBER_P(co, chanopt[i].offset) = new_value; + + } + i++; + } +} + +/* load chanopt.conf from disk into our chanopt_list GSList */ + +static void +chanopt_load_all (void) +{ + int fh; + char buf[256]; + char *eq; + char *network = NULL; + chanopt_in_memory *current = NULL; + + /* 1. load the old file into our GSList */ + fh = xchat_open_file ("chanopt.conf", O_RDONLY, 0, 0); + if (fh != -1) + { + while (waitline (fh, buf, sizeof buf, FALSE) != -1) + { + eq = strchr (buf, '='); + if (!eq) + continue; + eq[0] = 0; + + if (eq != buf && eq[-1] == ' ') + eq[-1] = 0; + + if (!strcmp (buf, "network")) + { + g_free (network); + network = g_strdup (eq + 2); + } + else if (!strcmp (buf, "channel")) + { + current = chanopt_find (network, eq + 2, TRUE); + chanopt_changed = FALSE; + } + else + { + if (current) + chanopt_add_opt (current, buf, atoi (eq + 2)); + } + + } + close (fh); + g_free (network); + } +} + +void +chanopt_load (session *sess) +{ + int i; + guint8 val; + chanopt_in_memory *co; + char *network; + + if (sess->channel[0] == 0) + return; + + network = server_get_network (sess->server, FALSE); + if (!network) + return; + + if (!chanopt_open) + { + chanopt_open = TRUE; + chanopt_load_all (); + } + + co = chanopt_find (network, sess->channel, FALSE); + if (!co) + return; + + /* fill in all the sess->xxxxx fields */ + i = 0; + while (i < sizeof (chanopt) / sizeof (channel_options)) + { + val = G_STRUCT_MEMBER(guint8, co, chanopt[i].offset); + *(guint8 *)G_STRUCT_MEMBER_P(sess, chanopt[i].offset) = val; + i++; + } +} + +void +chanopt_save (session *sess) +{ + int i; + guint8 vals; + guint8 valm; + chanopt_in_memory *co; + char *network; + + if (sess->channel[0] == 0) + return; + + network = server_get_network (sess->server, FALSE); + if (!network) + return; + + /* 2. reconcile sess with what we loaded from disk */ + + co = chanopt_find (network, sess->channel, TRUE); + + i = 0; + while (i < sizeof (chanopt) / sizeof (channel_options)) + { + vals = G_STRUCT_MEMBER(guint8, sess, chanopt[i].offset); + valm = G_STRUCT_MEMBER(guint8, co, chanopt[i].offset); + + if (vals != valm) + { + *(guint8 *)G_STRUCT_MEMBER_P(co, chanopt[i].offset) = vals; + chanopt_changed = TRUE; + } + + i++; + } +} + +static void +chanopt_save_one_channel (chanopt_in_memory *co, int fh) +{ + int i; + char buf[256]; + guint8 val; + + snprintf (buf, sizeof (buf), "%s = %s\n", "network", co->network); + write (fh, buf, strlen (buf)); + + snprintf (buf, sizeof (buf), "%s = %s\n", "channel", co->channel); + write (fh, buf, strlen (buf)); + + i = 0; + while (i < sizeof (chanopt) / sizeof (channel_options)) + { + val = G_STRUCT_MEMBER (guint8, co, chanopt[i].offset); + if (val != SET_DEFAULT) + { + snprintf (buf, sizeof (buf), "%s = %d\n", chanopt[i].name, val); + write (fh, buf, strlen (buf)); + } + i++; + } +} + +void +chanopt_save_all (void) +{ + int i; + int num_saved; + int fh; + GSList *list; + chanopt_in_memory *co; + guint8 val; + + if (!chanopt_list || !chanopt_changed) + { + return; + } + + fh = xchat_open_file ("chanopt.conf", O_TRUNC | O_WRONLY | O_CREAT, 0600, XOF_DOMODE); + if (fh == -1) + { + return; + } + + for (num_saved = 0, list = chanopt_list; list; list = list->next) + { + co = list->data; + + i = 0; + while (i < sizeof (chanopt) / sizeof (channel_options)) + { + val = G_STRUCT_MEMBER (guint8, co, chanopt[i].offset); + /* not using global/default setting, must save */ + if (val != SET_DEFAULT) + { + if (num_saved != 0) + write (fh, "\n", 1); + + chanopt_save_one_channel (co, fh); + num_saved++; + goto cont; + } + i++; + } + +cont: + g_free (co->network); + g_free (co->channel); + g_free (co); + } + + close (fh); + + /* we're quiting, no need to free */ + + /*g_slist_free (chanopt_list); + chanopt_list = NULL; + + chanopt_open = FALSE; + chanopt_changed = FALSE;*/ +} diff --git a/src/common/chanopt.h b/src/common/chanopt.h new file mode 100644 index 00000000..90ca86c3 --- /dev/null +++ b/src/common/chanopt.h @@ -0,0 +1,6 @@ +int chanopt_command (session *sess, char *tbuf, char *word[], char *word_eol[]); +gboolean chanopt_is_set (unsigned int global, guint8 per_chan_setting); +gboolean chanopt_is_set_a (unsigned int global, guint8 per_chan_setting); +void chanopt_save_all (void); +void chanopt_save (session *sess); +void chanopt_load (session *sess); diff --git a/src/common/ctcp.c b/src/common/ctcp.c new file mode 100644 index 00000000..574cda79 --- /dev/null +++ b/src/common/ctcp.c @@ -0,0 +1,191 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <string.h> +#include <unistd.h> +#include <stdlib.h> + +#include "xchat.h" +#include "cfgfiles.h" +#include "util.h" +#include "modes.h" +#include "outbound.h" +#include "ignore.h" +#include "inbound.h" +#include "dcc.h" +#include "text.h" +#include "ctcp.h" +#include "server.h" +#include "xchatc.h" + + +static void +ctcp_reply (session *sess, char *nick, char *word[], char *word_eol[], + char *conf) +{ + char tbuf[4096]; /* can receive 2048 from IRC, so this is enough */ + + conf = strdup (conf); + /* process %C %B etc */ + check_special_chars (conf, TRUE); + auto_insert (tbuf, sizeof (tbuf), conf, word, word_eol, "", "", word_eol[5], + server_get_network (sess->server, TRUE), "", "", nick); + free (conf); + handle_command (sess, tbuf, FALSE); +} + +static int +ctcp_check (session *sess, char *nick, char *word[], char *word_eol[], + char *ctcp) +{ + int ret = 0; + char *po; + struct popup *pop; + GSList *list = ctcp_list; + + po = strchr (ctcp, '\001'); + if (po) + *po = 0; + + po = strchr (word_eol[5], '\001'); + if (po) + *po = 0; + + while (list) + { + pop = (struct popup *) list->data; + if (!strcasecmp (ctcp, pop->name)) + { + ctcp_reply (sess, nick, word, word_eol, pop->cmd); + ret = 1; + } + list = list->next; + } + return ret; +} + +void +ctcp_handle (session *sess, char *to, char *nick, char *ip, + char *msg, char *word[], char *word_eol[], int id) +{ + char *po; + session *chansess; + server *serv = sess->server; + char outbuf[1024]; + int ctcp_offset = 2; + + if (serv->have_idmsg && (word[4][1] == '+' || word[4][1] == '-') ) + ctcp_offset = 3; + + /* consider DCC to be different from other CTCPs */ + if (!strncasecmp (msg, "DCC", 3)) + { + /* but still let CTCP replies override it */ + if (!ctcp_check (sess, nick, word, word_eol, word[4] + ctcp_offset)) + { + if (!ignore_check (word[1], IG_DCC)) + handle_dcc (sess, nick, word, word_eol); + } + return; + } + + /* consider ACTION to be different from other CTCPs. Check + ignore as if it was a PRIV/CHAN. */ + if (!strncasecmp (msg, "ACTION ", 7)) + { + if (is_channel (serv, to)) + { + /* treat a channel action as a CHAN */ + if (ignore_check (word[1], IG_CHAN)) + return; + } else + { + /* treat a private action as a PRIV */ + if (ignore_check (word[1], IG_PRIV)) + return; + } + + /* but still let CTCP replies override it */ + if (ctcp_check (sess, nick, word, word_eol, word[4] + ctcp_offset)) + goto generic; + + inbound_action (sess, to, nick, ip, msg + 7, FALSE, id); + return; + } + + if (ignore_check (word[1], IG_CTCP)) + return; + + if (!strcasecmp (msg, "VERSION") && !prefs.hidever) + { + snprintf (outbuf, sizeof (outbuf), "VERSION xchat "PACKAGE_VERSION" %s", + get_cpu_str ()); + serv->p_nctcp (serv, nick, outbuf); + } + + if (!ctcp_check (sess, nick, word, word_eol, word[4] + ctcp_offset)) + { + if (!strncasecmp (msg, "SOUND", 5)) + { + po = strchr (word[5], '\001'); + if (po) + po[0] = 0; + + if (is_channel (sess->server, to)) + { + chansess = find_channel (sess->server, to); + if (!chansess) + chansess = sess; + + EMIT_SIGNAL (XP_TE_CTCPSNDC, chansess, word[5], + nick, to, NULL, 0); + } else + { + EMIT_SIGNAL (XP_TE_CTCPSND, sess->server->front_session, word[5], + nick, NULL, NULL, 0); + } + + /* don't let IRCers specify path */ +#ifdef WIN32 + if (strchr (word[5], '/') == NULL && strchr (word[5], '\\') == NULL) +#else + if (strchr (word[5], '/') == NULL) +#endif + sound_play (word[5], TRUE); + return; + } + } + +generic: + po = strchr (msg, '\001'); + if (po) + po[0] = 0; + + if (!is_channel (sess->server, to)) + { + EMIT_SIGNAL (XP_TE_CTCPGEN, sess->server->front_session, msg, nick, + NULL, NULL, 0); + } else + { + chansess = find_channel (sess->server, to); + if (!chansess) + chansess = sess; + EMIT_SIGNAL (XP_TE_CTCPGENC, chansess, msg, nick, to, NULL, 0); + } +} diff --git a/src/common/ctcp.h b/src/common/ctcp.h new file mode 100644 index 00000000..9acd80e3 --- /dev/null +++ b/src/common/ctcp.h @@ -0,0 +1,6 @@ +#ifndef XCHAT_CTCP_H +#define XCHAT_CTCP_H + +void ctcp_handle (session *sess, char *to, char *nick, char *ip, char *msg, char *word[], char *word_eol[], int id); + +#endif diff --git a/src/common/dbus/Makefile.am b/src/common/dbus/Makefile.am new file mode 100644 index 00000000..05ee9de6 --- /dev/null +++ b/src/common/dbus/Makefile.am @@ -0,0 +1,56 @@ +noinst_LIBRARIES = libxchatdbus.a +libxchatdbus_a_SOURCES = \ + dbus-plugin.c \ + dbus-plugin.h \ + dbus-client.c \ + dbus-client.h + +EXTRA_DIST = \ + remote-object.xml \ + apps_xchat_url_handler.schemas \ + marshallers.list \ + example.py \ + org.xchat.service.service.in \ + README + +BUILT_SOURCES = \ + marshallers.h \ + remote-object-glue.h + +CLEANFILES = $(BUILT_SOURCES) + +INCLUDES = $(COMMON_CFLAGS) $(DBUS_CFLAGS) + +noinst_PROGRAMS = example +example_SOURCES = example.c +example_LDADD = $(DBUS_LIBS) $(GLIB_LIBS) + +remote-object-glue.h: remote-object.xml + $(LIBTOOL) --mode=execute $(DBUS_BINDING_TOOL) --prefix=remote_object --mode=glib-server --output=$@ $< + +marshallers.h: marshallers.list + $(LIBTOOL) --mode=execute $(GLIB_GENMARSHAL) --header --body $< > $@ + +# Dbus service file +servicedir = $(DBUS_SERVICES_DIR) +service_in_files = org.xchat.service.service.in +service_DATA = $(service_in_files:.service.in=.service) + +# Rule to make the service file with bindir expanded +$(service_DATA): $(service_in_files) Makefile + @sed -e "s|\@bindir\@|$(bindir)|" $< > $@ + +if DO_GCONF +GCONF_SCHEMA_CONFIG_SOURCE = `$(GCONFTOOL) --get-default-source` +GCONF_SCHEMA_FILE_DIR = $(sysconfdir)/gconf/schemas +schemadir = $(GCONF_SCHEMA_FILE_DIR) +schema_DATA = apps_xchat_url_handler.schemas +install-data-local: + if test -z "$(DESTDIR)" ; then \ + for p in $(schema_DATA) ; do \ + GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(srcdir)/$$p; \ + done \ + fi +else +install-data-local: +endif diff --git a/src/common/dbus/README b/src/common/dbus/README new file mode 100644 index 00000000..d61cf4e0 --- /dev/null +++ b/src/common/dbus/README @@ -0,0 +1,198 @@ +For more help you can see the xchat plugin interface documentation. +http://www.xchat.org/docs/plugin20.html +WARNING: The dbus interface may change in the future. + +You can use the "/org/xchat/Remote" object with interface "org.xchat.plugin", +but his context can be changed by other clients at any moment and +you may receive signal asked by other clients. So for more complex usage it's +better to get your own remote object. Using "Connect" method on interface +"org.xchat.connection" + +Available methods on org.xchat.connection interface: + +"Connect" + - Parameters: + - gchar*: filename + - gchar*: name + - gchar*: description + - gchar*: version + - Returns: + - gchar*: Your own object's path. + +"Disconnect" + No parameter, no return value. It frees your remote object. + +Available methods on org.xchat.plugin interface: + +"Command" + - Parameters: + - gchar*: the command name without the "/". (e.g. "nick pseudo") + +"Print" + - Parameters: + - gchar*: text to print on the xchat window. + +"FindContext" + - Parameters: + - gchar*: the server name. Can be NULL. + - gchar*: the channel name. Can be NULL. + - Returns: + - guint: context ID + +"GetContext" + - Returns: + - guint: current context's ID + +"SetContext" + - Parameters: + - guint: context ID to switch, returned by "FindContext" or "GetContext" + - Returns: + - gboolean: 1 for success, 0 for failure. + +"GetInfo" + - Parameters: + - gchar*: ID of the information you want. + - Returns: + - gchar*: information you requested. + +"GetPrefs" + - Parameters: + - gchar*: Setting name required. + - Returns: + - int: 0-Failed 1-Returned a string 2-Returned an Integer + 3-Returned a Boolean. + - gchar*: the information requested if it's a string. + - int: the information requested if it's a integer or boolean. + +"HookCommand" + - Parameters: + - gchar*: Name of the command (without the forward slash). + - int: Priority of this command. + - gchar*: String of text to display when the user executes /help + for this command. May be NULL if you're lazy. + - int: Value to returns when the command is catched. See XCHAT_EAT_*. + - Returns: + - guint: The ID of the hook. + +"HookServer" + - Parameters: + - gchar*: Name of the server event. + - int: Priority of this command. + - int: Value to returns when the command is catched. See XCHAT_EAT_*. + - Returns: + - guint: The ID of the hook. + +"HookPrint" + - Parameters: + - gchar*: Name of the print event. + - int: Priority of this command. + - int: Value to returns when the command is catched. See XCHAT_EAT_*. + - Returns: + - guint: The ID of the hook. + +"Unhook" + - Parameters: + - guint: ID of the hook to unhook. + (the return value of "HookCommand", "HookServer" or "HookPrint") + +"ListGet" + - Parameters: + - gchar*: The list name. + - Returns: + - guint: List ID. + +"ListNext" + - Parameters: + - guint: List ID returned by "ListGet". + - Returns: + - gboolean: says if there is no more item in the list. + +"ListStr" + - Parameters: + - guint: List ID returned by "ListGet". + - gchar*: Name of the information needed. + - Returns: + - gchar*: The information requested. +Warning: "context" attribut of "channels" list should be get with "ListInt" + +"ListInt" + - Parameters: + - guint: List ID returned by "ListGet". + - gchar*: Name of the information needed. + - Returns: + - guint: The information requested. + +"ListTime" + - Parameters: + - guint: List ID returned by "ListGet". + - gchar*: Name of the information needed. + - Returns: + - guint64: The information requested. + +"ListFields" + - Parameters: + - gchar*: The list name. + - Returns: + - gchar**: information names in this list. + +"ListFree" + - Parameters: + - guint: List ID returned by "ListGet". + +"EmitPrint" + - Parameters: + - gchar*: Text event to print. + - gchar**: NULL terminated array of string. + - Returns: + - gboolean: 1-Success 0-Failure. + +"Nickcmp" + - Parameters: + - gchar*: String to compare. + - gchar*: String to compare. + - Returns: + - int: An integer less than, equal to, or greater than zero if s1 is found, + respectively, to be less than, to match, or be greater than s2. + +"Strip" + - Parameters: + - gchar*: String to strip. + - int: Length of the string (or -1 for NULL terminated). + - int: Bit-field of flags: 0-Strip mIRC colors, 1-Strip text attributes. + - Returns: + - gchar*: striped string. + +"SendModes" + - Parameters: + - gchar**: NULL terminated array of targets (strings). The names of people + whom the action will be performed on. + - int: Maximum modes to send per line. + - gchar: Mode sign, '-' or '+'. + - gchar: Mode char, e.g. 'o' for Ops. + + +Available signals: + +"ServerSignal" + - Parameters: + - gchar**: word returned by xchat. + - gchar**: word_eol returned bu xchat. + - guint: the ID of the hook. (the return value of "HookServer"). + - guint: the ID of the context where the event come from. + +"CommandSignal" + - Parameters: + - gchar**: word returned by xchat. + - gchar**: word_eol returned bu xchat. + - guint: the ID of the hook. (the return value of "HookCommand"). + - guint: the ID of the context where the event come from. + +"PrintSignal" + - Parameters: + - gchar**: word returned by xchat. + - guint: the ID of the hook. (the return value of "HookPrint"). + - guint: the ID of the context where the event come from. + +"UnloadSignal" + emited when the user asks to unload your program. + Please exit(0); when received ! diff --git a/src/common/dbus/apps_xchat_url_handler.schemas b/src/common/dbus/apps_xchat_url_handler.schemas new file mode 100644 index 00000000..10ac948d --- /dev/null +++ b/src/common/dbus/apps_xchat_url_handler.schemas @@ -0,0 +1,37 @@ +<gconfschemafile> + <schemalist> + <schema> + <key>/schemas/desktop/gnome/url-handlers/irc/command</key> + <applyto>/desktop/gnome/url-handlers/irc/command</applyto> + <owner>xchat</owner> + <type>string</type> + <default>xchat --existing --url=%u</default> + <locale name="C"> + <short>The handler for "irc://" URLs</short> + </locale> + </schema> + + <schema> + <key>/schemas/desktop/gnome/url-handlers/irc/enabled</key> + <applyto>/desktop/gnome/url-handlers/irc/enabled</applyto> + <owner>xchat</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short>Set it at TRUE if you want it activated</short> + </locale> + </schema> + + <schema> + <key>/schemas/desktop/gnome/url-handlers/irc/needs_terminal</key> + <applyto>/desktop/gnome/url-handlers/irc/needs_terminal</applyto> + <owner>xchat</owner> + <type>bool</type> + <default>false</default> + <locale name="C"> + <short>Run xchat in a terminal?</short> + </locale> + </schema> + + </schemalist> +</gconfschemafile> diff --git a/src/common/dbus/dbus-client.c b/src/common/dbus/dbus-client.c new file mode 100644 index 00000000..ac6bf6dc --- /dev/null +++ b/src/common/dbus/dbus-client.c @@ -0,0 +1,118 @@ +/* dbus-client.c - XChat command-line options for D-Bus + * Copyright (C) 2006 Claessens Xavier + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * + * Claessens Xavier + * xclaesse@gmail.com + */ + +#include <dbus/dbus-glib.h> +#include "dbus-client.h" +#include "../xchat.h" +#include "../xchatc.h" + +#define DBUS_SERVICE "org.xchat.service" +#define DBUS_REMOTE "/org/xchat/Remote" +#define DBUS_REMOTE_INTERFACE "org.xchat.plugin" + +static void +write_error (char *message, + GError **error) +{ + if (error == NULL || *error == NULL) { + return; + } + g_printerr ("%s: %s\n", message, (*error)->message); + g_clear_error (error); +} + +void +xchat_remote (void) +/* TODO: dbus_g_connection_unref (connection) are commented because it makes + * dbus to crash. Fixed in dbus >=0.70 ?!? + * https://launchpad.net/distros/ubuntu/+source/dbus/+bug/54375 + */ +{ + DBusGConnection *connection; + DBusGProxy *dbus = NULL; + DBusGProxy *remote_object = NULL; + gboolean xchat_running; + GError *error = NULL; + char *command = NULL; + + /* GnomeVFS >=2.15 uses D-Bus and threads, so threads should be + * initialised before opening for the first time a D-Bus connection */ + if (!g_thread_supported ()) { + g_thread_init (NULL); + } + dbus_g_thread_init (); + + /* if there is nothing to do, return now. */ + if (!arg_existing || !(arg_url || arg_command)) { + return; + } + + arg_dont_autoconnect = TRUE; + + connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error); + if (!connection) { + write_error (_("Couldn't connect to session bus"), &error); + return; + } + + /* Checks if xchat is already running */ + dbus = dbus_g_proxy_new_for_name (connection, + DBUS_SERVICE_DBUS, + DBUS_PATH_DBUS, + DBUS_INTERFACE_DBUS); + if (!dbus_g_proxy_call (dbus, "NameHasOwner", &error, + G_TYPE_STRING, DBUS_SERVICE, + G_TYPE_INVALID, + G_TYPE_BOOLEAN, &xchat_running, + G_TYPE_INVALID)) { + write_error (_("Failed to complete NameHasOwner"), &error); + xchat_running = FALSE; + } + g_object_unref (dbus); + + if (!xchat_running) { + //dbus_g_connection_unref (connection); + return; + } + + remote_object = dbus_g_proxy_new_for_name (connection, + DBUS_SERVICE, + DBUS_REMOTE, + DBUS_REMOTE_INTERFACE); + + if (arg_url) { + command = g_strdup_printf ("url %s", arg_url); + } else if (arg_command) { + command = g_strdup (arg_command); + } + + if (command) { + if (!dbus_g_proxy_call (remote_object, "Command", + &error, + G_TYPE_STRING, command, + G_TYPE_INVALID,G_TYPE_INVALID)) { + write_error (_("Failed to complete Command"), &error); + } + g_free (command); + } + + exit (0); +} diff --git a/src/common/dbus/dbus-client.h b/src/common/dbus/dbus-client.h new file mode 100644 index 00000000..cafc2b71 --- /dev/null +++ b/src/common/dbus/dbus-client.h @@ -0,0 +1,27 @@ +/* dbus-client.h - XChat command-line options for D-Bus + * Copyright (C) 2006 Claessens Xavier + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * + * Claessens Xavier + * xclaesse@gmail.com + */ + +#ifndef __DBUS_PLUGIN_H__ +#define __DBUS_PLUGIN_H__ + +void xchat_remote (void); + +#endif /* __DBUS_PLUGIN_H__ */ diff --git a/src/common/dbus/dbus-plugin.c b/src/common/dbus/dbus-plugin.c new file mode 100644 index 00000000..012812cc --- /dev/null +++ b/src/common/dbus/dbus-plugin.c @@ -0,0 +1,1087 @@ +/* dbus-plugin.c - xchat plugin for remote access using D-Bus + * Copyright (C) 2006 Claessens Xavier + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * + * Claessens Xavier + * xclaesse@gmail.com + */ + +#define DBUS_API_SUBJECT_TO_CHANGE + +#include <config.h> +#include <dbus/dbus-glib.h> +#include <dbus/dbus-glib-lowlevel.h> +#include <glib/gi18n.h> +#include "../xchat-plugin.h" + +#define PNAME _("remote access") +#define PDESC _("plugin for remote access using DBUS") +#define PVERSION "" + +#define DBUS_SERVICE "org.xchat.service" +#define DBUS_OBJECT_PATH "/org/xchat" + +static xchat_plugin *ph; +static guint last_context_id = 0; +static GList *contexts = NULL; +static GHashTable *clients = NULL; +static DBusGConnection *connection; + +typedef struct RemoteObject RemoteObject; +typedef struct RemoteObjectClass RemoteObjectClass; + +GType Remote_object_get_type (void); + +struct RemoteObject +{ + GObject parent; + + guint last_hook_id; + guint last_list_id; + xchat_context *context; + char *dbus_path; + char *filename; + GHashTable *hooks; + GHashTable *lists; + void *handle; +}; + +struct RemoteObjectClass +{ + GObjectClass parent; +}; + +typedef struct +{ + guint id; + int return_value; + xchat_hook *hook; + RemoteObject *obj; +} HookInfo; + +typedef struct +{ + guint id; + xchat_context *context; +} ContextInfo; + +enum +{ + SERVER_SIGNAL, + COMMAND_SIGNAL, + PRINT_SIGNAL, + UNLOAD_SIGNAL, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL] = { 0 }; + +#define REMOTE_TYPE_OBJECT (remote_object_get_type ()) +#define REMOTE_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), REMOTE_TYPE_OBJECT, RemoteObject)) +#define REMOTE_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), REMOTE_TYPE_OBJECT, RemoteObjectClass)) +#define REMOTE_IS_OBJECT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), REMOTE_TYPE_OBJECT)) +#define REMOTE_IS_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), REMOTE_TYPE_OBJECT)) +#define REMOTE_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), REMOTE_TYPE_OBJECT, RemoteObjectClass)) +#define REMOTE_OBJECT_ERROR (remote_object_error_quark ()) +#define REMOTE_TYPE_ERROR (remote_object_error_get_type ()) + +G_DEFINE_TYPE (RemoteObject, remote_object, G_TYPE_OBJECT) + +/* Available services */ + +static gboolean remote_object_connect (RemoteObject *obj, + const char *filename, + const char *name, + const char *desc, + const char *version, + DBusGMethodInvocation *context); + +static gboolean remote_object_disconnect (RemoteObject *obj, + DBusGMethodInvocation *context); + +static gboolean remote_object_command (RemoteObject *obj, + const char *command, + GError **error); + +static gboolean remote_object_print (RemoteObject *obj, + const char *text, + GError **error); + +static gboolean remote_object_find_context (RemoteObject *obj, + const char *server, + const char *channel, + guint *ret_id, + GError **error); + +static gboolean remote_object_get_context (RemoteObject *obj, + guint *ret_id, + GError **error); + +static gboolean remote_object_set_context (RemoteObject *obj, + guint id, + gboolean *ret, + GError **error); + +static gboolean remote_object_print (RemoteObject *obj, + const char *text, + GError **error); + +static gboolean remote_object_get_info (RemoteObject *obj, + const char *id, + char **ret_info, + GError **error); + +static gboolean remote_object_get_prefs (RemoteObject *obj, + const char *name, + int *ret_type, + char **ret_str, + int *ret_int, + GError **error); + +static gboolean remote_object_hook_command (RemoteObject *obj, + const char *name, + int pri, + const char *help_text, + int return_value, + guint *ret_id, + GError **error); + +static gboolean remote_object_hook_server (RemoteObject *obj, + const char *name, + int pri, + int return_value, + guint *ret_id, + GError **error); + +static gboolean remote_object_hook_print (RemoteObject *obj, + const char *name, + int pri, + int return_value, + guint *ret_id, + GError **error); + +static gboolean remote_object_unhook (RemoteObject *obj, + guint id, + GError **error); + +static gboolean remote_object_list_get (RemoteObject *obj, + const char *name, + guint *ret_id, + GError **error); + +static gboolean remote_object_list_next (RemoteObject *obj, + guint id, + gboolean *ret, + GError **error); + +static gboolean remote_object_list_str (RemoteObject *obj, + guint id, + const char *name, + char **ret_str, + GError **error); + +static gboolean remote_object_list_int (RemoteObject *obj, + guint id, + const char *name, + int *ret_int, + GError **error); + +static gboolean remote_object_list_time (RemoteObject *obj, + guint id, + const char *name, + guint64 *ret_time, + GError **error); + +static gboolean remote_object_list_fields (RemoteObject *obj, + const char *name, + char ***ret, + GError **error); + +static gboolean remote_object_list_free (RemoteObject *obj, + guint id, + GError **error); + +static gboolean remote_object_emit_print (RemoteObject *obj, + const char *event_name, + const char *args[], + gboolean *ret, + GError **error); + +static gboolean remote_object_nickcmp (RemoteObject *obj, + const char *nick1, + const char *nick2, + int *ret, + GError **error); + +static gboolean remote_object_strip (RemoteObject *obj, + const char *str, + int len, + int flag, + char **ret_str, + GError **error); + +static gboolean remote_object_send_modes (RemoteObject *obj, + const char *targets[], + int modes_per_line, + char sign, + char mode, + GError **error); + +#include "remote-object-glue.h" +#include "marshallers.h" + +/* Useful functions */ + +static char** build_list (char *word[]); +static guint context_list_find_id (xchat_context *context); +static xchat_context* context_list_find_context (guint id); + +/* Remote Object */ + +static void +hook_info_destroy (gpointer data) +{ + HookInfo *info = (HookInfo*)data; + + if (info == NULL) { + return; + } + xchat_unhook (ph, info->hook); + g_free (info); +} + +static void +list_info_destroy (gpointer data) +{ + xchat_list_free (ph, (xchat_list*)data); +} + +static void +remote_object_finalize (GObject *obj) +{ + RemoteObject *self = (RemoteObject*)obj; + + g_hash_table_destroy (self->lists); + g_hash_table_destroy (self->hooks); + g_free (self->dbus_path); + g_free (self->filename); + xchat_plugingui_remove (ph, self->handle); + + G_OBJECT_CLASS (remote_object_parent_class)->finalize (obj); +} + +static void +remote_object_init (RemoteObject *obj) +{ + obj->hooks = + g_hash_table_new_full (g_int_hash, + g_int_equal, + NULL, + hook_info_destroy); + + obj->lists = + g_hash_table_new_full (g_int_hash, + g_int_equal, + g_free, + list_info_destroy); + obj->dbus_path = NULL; + obj->filename = NULL; + obj->last_hook_id = 0; + obj->last_list_id = 0; + obj->context = xchat_get_context (ph); +} + +static void +remote_object_class_init (RemoteObjectClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->finalize = remote_object_finalize; + + signals[SERVER_SIGNAL] = + g_signal_new ("server_signal", + G_OBJECT_CLASS_TYPE (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_user_marshal_VOID__POINTER_POINTER_UINT_UINT, + G_TYPE_NONE, + 4, G_TYPE_STRV, G_TYPE_STRV, G_TYPE_UINT, G_TYPE_UINT); + + signals[COMMAND_SIGNAL] = + g_signal_new ("command_signal", + G_OBJECT_CLASS_TYPE (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_user_marshal_VOID__POINTER_POINTER_UINT_UINT, + G_TYPE_NONE, + 4, G_TYPE_STRV, G_TYPE_STRV, G_TYPE_UINT, G_TYPE_UINT); + + signals[PRINT_SIGNAL] = + g_signal_new ("print_signal", + G_OBJECT_CLASS_TYPE (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_user_marshal_VOID__POINTER_POINTER_UINT_UINT, + G_TYPE_NONE, + 3, G_TYPE_STRV, G_TYPE_UINT, G_TYPE_UINT); + + signals[UNLOAD_SIGNAL] = + g_signal_new ("unload_signal", + G_OBJECT_CLASS_TYPE (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + 0); +} + +/* Implementation of services */ + +static gboolean +remote_object_connect (RemoteObject *obj, + const char *filename, + const char *name, + const char *desc, + const char *version, + DBusGMethodInvocation *context) +{ + static guint count = 0; + char *sender, *path; + RemoteObject *remote_object; + + sender = dbus_g_method_get_sender (context); + remote_object = g_hash_table_lookup (clients, sender); + if (remote_object != NULL) { + dbus_g_method_return (context, remote_object->dbus_path); + g_free (sender); + return TRUE; + } + path = g_strdup_printf (DBUS_OBJECT_PATH"/%d", count++); + remote_object = g_object_new (REMOTE_TYPE_OBJECT, NULL); + remote_object->dbus_path = path; + remote_object->filename = g_path_get_basename (filename); + remote_object->handle = xchat_plugingui_add (ph, + remote_object->filename, + name, + desc, + version, NULL); + dbus_g_connection_register_g_object (connection, + path, + G_OBJECT (remote_object)); + + g_hash_table_insert (clients, + sender, + remote_object); + + dbus_g_method_return (context, path); + return TRUE; +} + +static gboolean +remote_object_disconnect (RemoteObject *obj, + DBusGMethodInvocation *context) +{ + char *sender; + + sender = dbus_g_method_get_sender (context); + g_hash_table_remove (clients, sender); + g_free (sender); + + dbus_g_method_return (context); + return TRUE; +} + +static gboolean +remote_object_command (RemoteObject *obj, + const char *command, + GError **error) +{ + if (xchat_set_context (ph, obj->context)) { + xchat_command (ph, command); + } + return TRUE; +} + +static gboolean +remote_object_print (RemoteObject *obj, + const char *text, + GError **error) +{ + if (xchat_set_context (ph, obj->context)) { + xchat_print (ph, text); + } + return TRUE; +} + +static gboolean +remote_object_find_context (RemoteObject *obj, + const char *server, + const char *channel, + guint *ret_id, + GError **error) +{ + xchat_context *context; + + if (*server == '\0') { + server = NULL; + } + if (*channel == '\0') { + channel = NULL; + } + context = xchat_find_context (ph, server, channel); + *ret_id = context_list_find_id (context); + + return TRUE; +} + +static gboolean +remote_object_get_context (RemoteObject *obj, + guint *ret_id, + GError **error) +{ + *ret_id = context_list_find_id (obj->context); + return TRUE; +} + +static gboolean +remote_object_set_context (RemoteObject *obj, + guint id, + gboolean *ret, + GError **error) +{ + xchat_context *context; + + context = context_list_find_context (id); + if (context == NULL) { + *ret = FALSE; + return TRUE; + } + obj->context = context; + *ret = TRUE; + + return TRUE; +} + +static gboolean +remote_object_get_info (RemoteObject *obj, + const char *id, + char **ret_info, + GError **error) +{ + /* win_ptr is a GtkWindow* casted to char* and will crash + * D-Bus if we send it as a string */ + if (!xchat_set_context (ph, obj->context) || + g_str_equal (id, "win_ptr")) { + *ret_info = NULL; + return TRUE; + } + *ret_info = g_strdup (xchat_get_info (ph, id)); + return TRUE; +} + +static gboolean +remote_object_get_prefs (RemoteObject *obj, + const char *name, + int *ret_type, + char **ret_str, + int *ret_int, + GError **error) +{ + const char *str; + + if (!xchat_set_context (ph, obj->context)) { + *ret_type = 0; + return TRUE; + } + *ret_type = xchat_get_prefs (ph, name, &str, ret_int); + *ret_str = g_strdup (str); + + return TRUE; +} + +static int +server_hook_cb (char *word[], + char *word_eol[], + void *userdata) +{ + HookInfo *info = (HookInfo*)userdata; + char **arg1; + char **arg2; + + arg1 = build_list (word + 1); + arg2 = build_list (word_eol + 1); + info->obj->context = xchat_get_context (ph); + g_signal_emit (info->obj, + signals[SERVER_SIGNAL], + 0, + arg1, arg2, info->id, + context_list_find_id (info->obj->context)); + g_strfreev (arg1); + g_strfreev (arg2); + + return info->return_value; +} + +static int +command_hook_cb (char *word[], + char *word_eol[], + void *userdata) +{ + HookInfo *info = (HookInfo*)userdata; + char **arg1; + char **arg2; + + arg1 = build_list (word + 1); + arg2 = build_list (word_eol + 1); + info->obj->context = xchat_get_context (ph); + g_signal_emit (info->obj, + signals[COMMAND_SIGNAL], + 0, + arg1, arg2, info->id, + context_list_find_id (info->obj->context)); + g_strfreev (arg1); + g_strfreev (arg2); + + return info->return_value; +} + +static int +print_hook_cb (char *word[], + void *userdata) +{ + HookInfo *info = (HookInfo*)userdata; + char **arg1; + + arg1 = build_list (word + 1); + info->obj->context = xchat_get_context (ph); + g_signal_emit (info->obj, + signals[PRINT_SIGNAL], + 0, + arg1, info->id, + context_list_find_id (info->obj->context)); + g_strfreev (arg1); + + return info->return_value; +} + +static gboolean +remote_object_hook_command (RemoteObject *obj, + const char *name, + int priority, + const char *help_text, + int return_value, + guint *ret_id, + GError **error) +{ + HookInfo *info; + + info = g_new0 (HookInfo, 1); + info->obj = obj; + info->return_value = return_value; + info->id = ++obj->last_hook_id; + info->hook = xchat_hook_command (ph, + name, + priority, + command_hook_cb, + help_text, + info); + g_hash_table_insert (obj->hooks, &info->id, info); + *ret_id = info->id; + + return TRUE; +} + +static gboolean +remote_object_hook_server (RemoteObject *obj, + const char *name, + int priority, + int return_value, + guint *ret_id, + GError **error) +{ + HookInfo *info; + + info = g_new0 (HookInfo, 1); + info->obj = obj; + info->return_value = return_value; + info->id = ++obj->last_hook_id; + info->hook = xchat_hook_server (ph, + name, + priority, + server_hook_cb, + info); + g_hash_table_insert (obj->hooks, &info->id, info); + *ret_id = info->id; + + return TRUE; +} + +static gboolean +remote_object_hook_print (RemoteObject *obj, + const char *name, + int priority, + int return_value, + guint *ret_id, + GError **error) +{ + HookInfo *info; + + info = g_new0 (HookInfo, 1); + info->obj = obj; + info->return_value = return_value; + info->id = ++obj->last_hook_id; + info->hook = xchat_hook_print (ph, + name, + priority, + print_hook_cb, + info); + g_hash_table_insert (obj->hooks, &info->id, info); + *ret_id = info->id; + + return TRUE; +} + +static gboolean +remote_object_unhook (RemoteObject *obj, + guint id, + GError **error) +{ + g_hash_table_remove (obj->hooks, &id); + return TRUE; +} + +static gboolean +remote_object_list_get (RemoteObject *obj, + const char *name, + guint *ret_id, + GError **error) +{ + xchat_list *xlist; + guint *id; + + if (!xchat_set_context (ph, obj->context)) { + *ret_id = 0; + return TRUE; + } + xlist = xchat_list_get (ph, name); + if (xlist == NULL) { + *ret_id = 0; + return TRUE; + } + id = g_new (guint, 1); + *id = ++obj->last_list_id; + *ret_id = *id; + g_hash_table_insert (obj->lists, + id, + xlist); + + return TRUE; +} + +static gboolean +remote_object_list_next (RemoteObject *obj, + guint id, + gboolean *ret, + GError **error) +{ + xchat_list *xlist; + + xlist = g_hash_table_lookup (obj->lists, &id); + if (xlist == NULL) { + *ret = FALSE; + return TRUE; + } + *ret = xchat_list_next (ph, xlist); + + return TRUE; +} + +static gboolean +remote_object_list_str (RemoteObject *obj, + guint id, + const char *name, + char **ret_str, + GError **error) +{ + xchat_list *xlist; + + xlist = g_hash_table_lookup (obj->lists, &id); + if (xlist == NULL && !xchat_set_context (ph, obj->context)) { + *ret_str = NULL; + return TRUE; + } + if (g_str_equal (name, "context")) { + *ret_str = NULL; + return TRUE; + } + *ret_str = g_strdup (xchat_list_str (ph, xlist, name)); + + return TRUE; +} + +static gboolean +remote_object_list_int (RemoteObject *obj, + guint id, + const char *name, + int *ret_int, + GError **error) +{ + xchat_list *xlist; + + xlist = g_hash_table_lookup (obj->lists, &id); + if (xlist == NULL && !xchat_set_context (ph, obj->context)) { + *ret_int = -1; + return TRUE; + } + if (g_str_equal (name, "context")) { + xchat_context *context; + context = (xchat_context*)xchat_list_str (ph, xlist, name); + *ret_int = context_list_find_id (context); + } else { + *ret_int = xchat_list_int (ph, xlist, name); + } + + return TRUE; +} + +static gboolean +remote_object_list_time (RemoteObject *obj, + guint id, + const char *name, + guint64 *ret_time, + GError **error) +{ + xchat_list *xlist; + + xlist = g_hash_table_lookup (obj->lists, &id); + if (xlist == NULL) { + *ret_time = (guint64) -1; + return TRUE; + } + *ret_time = xchat_list_time (ph, xlist, name); + + return TRUE; +} + +static gboolean +remote_object_list_fields (RemoteObject *obj, + const char *name, + char ***ret, + GError **error) +{ + *ret = g_strdupv ((char**)xchat_list_fields (ph, name)); + if (*ret == NULL) { + *ret = g_new0 (char*, 1); + } + return TRUE; +} + +static gboolean +remote_object_list_free (RemoteObject *obj, + guint id, + GError **error) +{ + g_hash_table_remove (obj->lists, &id); + return TRUE; +} + +static gboolean +remote_object_emit_print (RemoteObject *obj, + const char *event_name, + const char *args[], + gboolean *ret, + GError **error) +{ + const char *argv[4] = {NULL, NULL, NULL, NULL}; + int i; + + for (i = 0; i < 4 && args[i] != NULL; i++) { + argv[i] = args[i]; + } + + *ret = xchat_set_context (ph, obj->context); + if (*ret) { + *ret = xchat_emit_print (ph, event_name, argv[0], argv[1], + argv[2], argv[3]); + } + + return TRUE; +} + +static gboolean +remote_object_nickcmp (RemoteObject *obj, + const char *nick1, + const char *nick2, + int *ret, + GError **error) +{ + xchat_set_context (ph, obj->context); + *ret = xchat_nickcmp (ph, nick1, nick2); + return TRUE; +} + +static gboolean +remote_object_strip (RemoteObject *obj, + const char *str, + int len, + int flag, + char **ret_str, + GError **error) +{ + *ret_str = xchat_strip (ph, str, len, flag); + return TRUE; +} + +static gboolean +remote_object_send_modes (RemoteObject *obj, + const char *targets[], + int modes_per_line, + char sign, + char mode, + GError **error) +{ + if (xchat_set_context (ph, obj->context)) { + xchat_send_modes (ph, targets, + g_strv_length ((char**)targets), + modes_per_line, + sign, mode); + } + return TRUE; +} + +/* DBUS stuffs */ + +static void +name_owner_changed (DBusGProxy *driver_proxy, + const char *name, + const char *old_owner, + const char *new_owner, + void *user_data) +{ + if (*new_owner == '\0') { + /* this name has vanished */ + g_hash_table_remove (clients, name); + } +} + +static gboolean +init_dbus (void) +{ + DBusGProxy *proxy; + RemoteObject *remote; + guint request_name_result; + GError *error = NULL; + + dbus_g_object_type_install_info (REMOTE_TYPE_OBJECT, + &dbus_glib_remote_object_object_info); + + connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error); + if (connection == NULL) { + xchat_printf (ph, _("Couldn't connect to session bus: %s\n"), + error->message); + g_error_free (error); + return FALSE; + } + + proxy = dbus_g_proxy_new_for_name (connection, + DBUS_SERVICE_DBUS, + DBUS_PATH_DBUS, + DBUS_INTERFACE_DBUS); + + if (!dbus_g_proxy_call (proxy, "RequestName", &error, + G_TYPE_STRING, DBUS_SERVICE, + G_TYPE_UINT, DBUS_NAME_FLAG_ALLOW_REPLACEMENT, + G_TYPE_INVALID, + G_TYPE_UINT, &request_name_result, + G_TYPE_INVALID)) { + xchat_printf (ph, _("Failed to acquire %s: %s\n"), + DBUS_SERVICE, + error->message); + g_error_free (error); + + return FALSE; + } + + dbus_g_proxy_add_signal (proxy, "NameOwnerChanged", + G_TYPE_STRING, + G_TYPE_STRING, + G_TYPE_STRING, + G_TYPE_INVALID); + dbus_g_proxy_connect_signal (proxy, "NameOwnerChanged", + G_CALLBACK (name_owner_changed), + NULL, NULL); + + remote = g_object_new (REMOTE_TYPE_OBJECT, NULL); + dbus_g_connection_register_g_object (connection, + DBUS_OBJECT_PATH"/Remote", + G_OBJECT (remote)); + + return TRUE; +} + +/* xchat_plugin stuffs */ + +static char** +build_list (char *word[]) +{ + guint i; + guint num = 0; + char **result; + + if (word == NULL) { + return NULL; + } + + while (word[num] && word[num][0]) { + num++; + } + + result = g_new0 (char*, num + 1); + for (i = 0; i < num; i++) { + result[i] = g_strdup (word[i]); + } + + return result; +} + +static guint +context_list_find_id (xchat_context *context) +{ + GList *l = NULL; + + for (l = contexts; l != NULL; l = l->next) { + if (((ContextInfo*)l->data)->context == context) { + return ((ContextInfo*)l->data)->id; + } + } + + return 0; +} + +static xchat_context* +context_list_find_context (guint id) +{ + GList *l = NULL; + + for (l = contexts; l != NULL; l = l->next) { + if (((ContextInfo*)l->data)->id == id) { + return ((ContextInfo*)l->data)->context; + } + } + + return NULL; +} + +static int +open_context_cb (char *word[], + void *userdata) +{ + ContextInfo *info; + + info = g_new0 (ContextInfo, 1); + info->id = ++last_context_id; + info->context = xchat_get_context (ph); + contexts = g_list_prepend (contexts, info); + + return XCHAT_EAT_NONE; +} + +static int +close_context_cb (char *word[], + void *userdata) +{ + GList *l; + xchat_context *context = xchat_get_context (ph); + + for (l = contexts; l != NULL; l = l->next) { + if (((ContextInfo*)l->data)->context == context) { + g_free (l->data); + contexts = g_list_delete_link (contexts, l); + break; + } + } + + return XCHAT_EAT_NONE; +} + +static gboolean +clients_find_filename_foreach (gpointer key, + gpointer value, + gpointer user_data) +{ + RemoteObject *obj = REMOTE_OBJECT (value); + return g_str_equal (obj->filename, (char*)user_data); +} + +static int +unload_plugin_cb (char *word[], char *word_eol[], void *userdata) +{ + RemoteObject *obj; + + obj = g_hash_table_find (clients, + clients_find_filename_foreach, + word[2]); + if (obj != NULL) { + g_signal_emit (obj, + signals[UNLOAD_SIGNAL], + 0); + return XCHAT_EAT_ALL; + } + + return XCHAT_EAT_NONE; +} + +int +dbus_plugin_init (xchat_plugin *plugin_handle, + char **plugin_name, + char **plugin_desc, + char **plugin_version, + char *arg) +{ + ph = plugin_handle; + *plugin_name = PNAME; + *plugin_desc = PDESC; + *plugin_version = PVERSION; + + if (init_dbus()) { + /*xchat_printf (ph, _("%s loaded successfully!\n"), PNAME);*/ + + clients = g_hash_table_new_full (g_str_hash, + g_str_equal, + g_free, + g_object_unref); + + xchat_hook_print (ph, "Open Context", + XCHAT_PRI_NORM, + open_context_cb, + NULL); + + xchat_hook_print (ph, "Close Context", + XCHAT_PRI_NORM, + close_context_cb, + NULL); + + xchat_hook_command (ph, "unload", + XCHAT_PRI_HIGHEST, + unload_plugin_cb, NULL, NULL); + } + + return TRUE; +} diff --git a/src/common/dbus/dbus-plugin.h b/src/common/dbus/dbus-plugin.h new file mode 100644 index 00000000..bda8f61c --- /dev/null +++ b/src/common/dbus/dbus-plugin.h @@ -0,0 +1,31 @@ +/* dbus-plugin.c - xchat plugin for remote access using DBUS + * Copyright (C) 2006 Claessens Xavier + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * + * Claessens Xavier + * xclaesse@gmail.com + */ + +#ifndef XCHAT_DBUS_PLUGIN_H +#define XCHAT_DBUS_PLUGIN_H + +int dbus_plugin_init (xchat_plugin *plugin_handle, + char **plugin_name, + char **plugin_desc, + char **plugin_version, + char *arg); + +#endif diff --git a/src/common/dbus/example.c b/src/common/dbus/example.c new file mode 100644 index 00000000..1d072785 --- /dev/null +++ b/src/common/dbus/example.c @@ -0,0 +1,201 @@ +/* example.c - program to demonstrate some D-BUS stuffs. + * Copyright (C) 2006 Claessens Xavier + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Claessens Xavier + * xclaesse@gmail.com + */ + +#include <config.h> +#include <dbus/dbus-glib.h> +#include <stdlib.h> +#include "marshallers.h" + +#define DBUS_SERVICE "org.xchat.service" +#define DBUS_REMOTE "/org/xchat/Remote" +#define DBUS_REMOTE_CONNECTION_INTERFACE "org.xchat.connection" +#define DBUS_REMOTE_PLUGIN_INTERFACE "org.xchat.plugin" + +guint command_id; +guint server_id; + +static void +write_error (char *message, + GError **error) +{ + if (error == NULL || *error == NULL) { + return; + } + g_printerr ("%s: %s\n", message, (*error)->message); + g_clear_error (error); +} + +static void +test_server_cb (DBusGProxy *proxy, + char *word[], + char *word_eol[], + guint hook_id, + guint context_id, + gpointer user_data) +{ + if (hook_id == server_id) { + g_print ("message: %s\n", word_eol[0]); + } +} + +static void +test_command_cb (DBusGProxy *proxy, + char *word[], + char *word_eol[], + guint hook_id, + guint context_id, + gpointer user_data) +{ + GError *error = NULL; + + if (hook_id == command_id) { + if (!dbus_g_proxy_call (proxy, "Unhook", + &error, + G_TYPE_UINT, hook_id, + G_TYPE_INVALID, G_TYPE_INVALID)) { + write_error ("Failed to complete unhook", &error); + } + /* Now if you write "/test blah" again in the xchat window + * you'll get a "Unknown command" error message */ + g_print ("test command received: %s\n", word_eol[1]); + if (!dbus_g_proxy_call (proxy, "Print", + &error, + G_TYPE_STRING, "test command succeed", + G_TYPE_INVALID, + G_TYPE_INVALID)) { + write_error ("Failed to complete Print", &error); + } + } +} + +static void +unload_cb (void) +{ + g_print ("Good bye !\n"); + exit (EXIT_SUCCESS); +} + +int +main (int argc, char **argv) +{ + DBusGConnection *connection; + DBusGProxy *remote_object; + GMainLoop *mainloop; + gchar *path; + GError *error = NULL; + + g_type_init (); + + connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error); + if (connection == NULL) { + write_error ("Couldn't connect to session bus", &error); + return EXIT_FAILURE; + } + + remote_object = dbus_g_proxy_new_for_name (connection, + DBUS_SERVICE, + DBUS_REMOTE, + DBUS_REMOTE_CONNECTION_INTERFACE); + if (!dbus_g_proxy_call (remote_object, "Connect", + &error, + G_TYPE_STRING, argv[0], + G_TYPE_STRING, "example", + G_TYPE_STRING, "Example of a D-Bus client", + G_TYPE_STRING, "1.0", + G_TYPE_INVALID, + G_TYPE_STRING, &path, G_TYPE_INVALID)) { + write_error ("Failed to complete Connect", &error); + return EXIT_FAILURE; + } + g_object_unref (remote_object); + + remote_object = dbus_g_proxy_new_for_name (connection, + DBUS_SERVICE, + path, + DBUS_REMOTE_PLUGIN_INTERFACE); + g_free (path); + + if (!dbus_g_proxy_call (remote_object, "HookCommand", + &error, + G_TYPE_STRING, "test", + G_TYPE_INT, 0, + G_TYPE_STRING, "Simple D-BUS example", + G_TYPE_INT, 1, G_TYPE_INVALID, + G_TYPE_UINT, &command_id, G_TYPE_INVALID)) { + write_error ("Failed to complete HookCommand", &error); + return EXIT_FAILURE; + } + g_print ("Command hook id=%d\n", command_id); + + if (!dbus_g_proxy_call (remote_object, "HookServer", + &error, + G_TYPE_STRING, "RAW LINE", + G_TYPE_INT, 0, + G_TYPE_INT, 0, G_TYPE_INVALID, + G_TYPE_UINT, &server_id, G_TYPE_INVALID)) { + write_error ("Failed to complete HookServer", &error); + return EXIT_FAILURE; + } + g_print ("Server hook id=%d\n", server_id); + + dbus_g_object_register_marshaller ( + g_cclosure_user_marshal_VOID__POINTER_POINTER_UINT_UINT, + G_TYPE_NONE, + G_TYPE_STRV, G_TYPE_STRV, G_TYPE_UINT, G_TYPE_UINT, + G_TYPE_INVALID); + + dbus_g_object_register_marshaller ( + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + G_TYPE_INVALID); + + dbus_g_proxy_add_signal (remote_object, "CommandSignal", + G_TYPE_STRV, + G_TYPE_STRV, + G_TYPE_UINT, + G_TYPE_UINT, + G_TYPE_INVALID); + dbus_g_proxy_connect_signal (remote_object, "CommandSignal", + G_CALLBACK (test_command_cb), + NULL, NULL); + + dbus_g_proxy_add_signal (remote_object, "ServerSignal", + G_TYPE_STRV, + G_TYPE_STRV, + G_TYPE_UINT, + G_TYPE_UINT, + G_TYPE_INVALID); + dbus_g_proxy_connect_signal (remote_object, "ServerSignal", + G_CALLBACK (test_server_cb), + NULL, NULL); + + dbus_g_proxy_add_signal (remote_object, "UnloadSignal", + G_TYPE_INVALID); + dbus_g_proxy_connect_signal (remote_object, "UnloadSignal", + G_CALLBACK (unload_cb), + NULL, NULL); + + /* Now you can write on the xchat windows: "/test arg1 arg2 ..." */ + mainloop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (mainloop); + + return EXIT_SUCCESS; +} diff --git a/src/common/dbus/example.py b/src/common/dbus/example.py new file mode 100644 index 00000000..08bfdac3 --- /dev/null +++ b/src/common/dbus/example.py @@ -0,0 +1,28 @@ +#! /usr/bin/python + +import dbus + +bus = dbus.SessionBus() +proxy = bus.get_object('org.xchat.service', '/org/xchat/Remote') +remote = dbus.Interface(proxy, 'org.xchat.connection') +path = remote.Connect ("example.py", + "Python example", + "Example of a D-Bus client written in python", + "1.0") +proxy = bus.get_object('org.xchat.service', path) +xchat = dbus.Interface(proxy, 'org.xchat.plugin') + +channels = xchat.ListGet ("channels") +while xchat.ListNext (channels): + name = xchat.ListStr (channels, "channel") + print "------- " + name + " -------" + xchat.SetContext (xchat.ListInt (channels, "context")) + xchat.EmitPrint ("Channel Message", ["John", "Hi there", "@"]) + users = xchat.ListGet ("users") + while xchat.ListNext (users): + print "Nick: " + xchat.ListStr (users, "nick") + xchat.ListFree (users) +xchat.ListFree (channels) + +print xchat.Strip ("\00312Blue\003 \002Bold!\002", -1, 1|2) + diff --git a/src/common/dbus/marshallers.list b/src/common/dbus/marshallers.list new file mode 100644 index 00000000..bc3c4ad5 --- /dev/null +++ b/src/common/dbus/marshallers.list @@ -0,0 +1 @@ +VOID:POINTER,POINTER,UINT,UINT diff --git a/src/common/dbus/org.xchat.service.service.in b/src/common/dbus/org.xchat.service.service.in new file mode 100644 index 00000000..19490121 --- /dev/null +++ b/src/common/dbus/org.xchat.service.service.in @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=org.xchat.service +Exec=@bindir@/xchat diff --git a/src/common/dbus/remote-object.xml b/src/common/dbus/remote-object.xml new file mode 100644 index 00000000..88a8ae7c --- /dev/null +++ b/src/common/dbus/remote-object.xml @@ -0,0 +1,142 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<node name="/"> + + <interface name="org.xchat.connection"> + <method name="Connect"> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <arg type="s" name="filename" direction="in"/> + <arg type="s" name="name" direction="in"/> + <arg type="s" name="desc" direction="in"/> + <arg type="s" name="version" direction="in"/> + <arg type="s" name="path" direction="out"/> + </method> + <method name="Disconnect"> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + </method> + </interface> + + <interface name="org.xchat.plugin"> + <method name="Command"> + <arg type="s" name="command" direction="in"/> + </method> + <method name="Print"> + <arg type="s" name="text" direction="in"/> + </method> + <method name="FindContext"> + <arg type="s" name="server" direction="in"/> + <arg type="s" name="channel" direction="in"/> + <arg type="u" name="ret_id" direction="out"/> + </method> + <method name="GetContext"> + <arg type="u" name="ret_id" direction="out"/> + </method> + <method name="SetContext"> + <arg type="u" name="id" direction="in"/> + <arg type="b" name="ret" direction="out"/> + </method> + <method name="GetInfo"> + <arg type="s" name="id" direction="in"/> + <arg type="s" name="ret_info" direction="out"/> + </method> + <method name="GetPrefs"> + <arg type="s" name="name" direction="in"/> + <arg type="i" name="ret_type" direction="out"/> + <arg type="s" name="ret_str" direction="out"/> + <arg type="i" name="ret_int" direction="out"/> + </method> + <method name="HookCommand"> + <arg type="s" name="name" direction="in"/> + <arg type="i" name="priority" direction="in"/> + <arg type="s" name="help_text" direction="in"/> + <arg type="i" name="return_value" direction="in"/> + <arg type="u" name="ret_id" direction="out"/> + </method> + <method name="HookServer"> + <arg type="s" name="name" direction="in"/> + <arg type="i" name="priority" direction="in"/> + <arg type="i" name="return_value" direction="in"/> + <arg type="u" name="ret_id" direction="out"/> + </method> + <method name="HookPrint"> + <arg type="s" name="name" direction="in"/> + <arg type="i" name="priority" direction="in"/> + <arg type="i" name="return_value" direction="in"/> + <arg type="u" name="ret_id" direction="out"/> + </method> + <method name="Unhook"> + <arg type="u" name="id" direction="in"/> + </method> + <method name="ListGet"> + <arg type="s" name="name" direction="in"/> + <arg type="u" name="ret_id" direction="out"/> + </method> + <method name="ListNext"> + <arg type="u" name="id" direction="in"/> + <arg type="b" name="ret" direction="out"/> + </method> + <method name="ListStr"> + <arg type="u" name="id" direction="in"/> + <arg type="s" name="name" direction="in"/> + <arg type="s" name="ret_str" direction="out"/> + </method> + <method name="ListInt"> + <arg type="u" name="id" direction="in"/> + <arg type="s" name="name" direction="in"/> + <arg type="i" name="ret_int" direction="out"/> + </method> + <method name="ListTime"> + <arg type="u" name="id" direction="in"/> + <arg type="s" name="name" direction="in"/> + <arg type="t" name="ret_time" direction="out"/> + </method> + <method name="ListFields"> + <arg type="s" name="name" direction="in"/> + <arg type="as" name="ret" direction="out"/> + </method> + <method name="ListFree"> + <arg type="u" name="id" direction="in"/> + </method> + <method name="EmitPrint"> + <arg type="s" name="event_name" direction="in"/> + <arg type="as" name="args" direction="in"/> + <arg type="b" name="ret" direction="out"/> + </method> + <method name="Nickcmp"> + <arg type="s" name="nick1" direction="in"/> + <arg type="s" name="nick2" direction="in"/> + <arg type="i" name="ret" direction="out"/> + </method> + <method name="Strip"> + <arg type="s" name="str" direction="in"/> + <arg type="i" name="len" direction="in"/> + <arg type="i" name="flag" direction="in"/> + <arg type="s" name="ret_str" direction="out"/> + </method> + <method name="SendModes"> + <arg type="as" name="targets" direction="in"/> + <arg type="i" name="modes_per_line" direction="in"/> + <arg type="y" name="sign" direction="in"/> + <arg type="y" name="mode" direction="in"/> + </method> + + <signal name="CommandSignal"> + <arg type="as" name="word"/> + <arg type="as" name="word_eol"/> + <arg type="u" name="hook_id"/> + <arg type="u" name="context_id"/> + </signal> + <signal name="ServerSignal"> + <arg type="as" name="word"/> + <arg type="as" name="word_eol"/> + <arg type="u" name="hook_id"/> + <arg type="u" name="context_id"/> + </signal> + <signal name="PrintSignal"> + <arg type="as" name="word"/> + <arg type="u" name="hook_id"/> + <arg type="u" name="context_id"/> + </signal> + <signal name="UnloadSignal"/> + </interface> +</node> diff --git a/src/common/dcc.c b/src/common/dcc.c new file mode 100644 index 00000000..8f289342 --- /dev/null +++ b/src/common/dcc.c @@ -0,0 +1,2587 @@ +/* X-Chat + * Copyright (C) 1998-2006 Peter Zelezny. + * Copyright (C) 2006 Damjan Jovanovic + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * + * Wayne Conrad, 3 Apr 1999: Color-coded DCC file transfer status windows + * Bernhard Valenti <bernhard.valenti@gmx.net> 2000-11-21: Fixed DCC send behind nat + * + * 2001-03-08 Added support for getting "dcc_ip" config parameter. + * Jim Seymour (jseymour@LinxNet.com) + */ + +/* we only use 32 bits, but without this define, you get only 31! */ +#define _FILE_OFFSET_BITS 64 +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> +#include <errno.h> +#include <sys/stat.h> +#include <unistd.h> +#include <fcntl.h> + +#define WANTSOCKET +#define WANTARPA +#define WANTDNS +#include "inet.h" + +#ifdef WIN32 +#include <windows.h> +#endif + +#include "xchat.h" +#include "util.h" +#include "fe.h" +#include "outbound.h" +#include "inbound.h" +#include "network.h" +#include "plugin.h" +#include "server.h" +#include "text.h" +#include "url.h" +#include "xchatc.h" + +#ifdef USE_DCC64 +#define BIG_STR_TO_INT(x) strtoull(x,NULL,10) +#else +#define BIG_STR_TO_INT(x) strtoul(x,NULL,10) +#endif + +static char *dcctypes[] = { "SEND", "RECV", "CHAT", "CHAT" }; + +struct dccstat_info dccstat[] = { + {N_("Waiting"), 1 /*black */ }, + {N_("Active"), 12 /*cyan */ }, + {N_("Failed"), 4 /*red */ }, + {N_("Done"), 3 /*green */ }, + {N_("Connect"), 1 /*black */ }, + {N_("Aborted"), 4 /*red */ }, +}; + +static int dcc_global_throttle; /* 0x1 = sends, 0x2 = gets */ +/*static*/ int dcc_sendcpssum, dcc_getcpssum; + +static struct DCC *new_dcc (void); +static void dcc_close (struct DCC *dcc, int dccstat, int destroy); +static gboolean dcc_send_data (GIOChannel *, GIOCondition, struct DCC *); +static gboolean dcc_read (GIOChannel *, GIOCondition, struct DCC *); +static gboolean dcc_read_ack (GIOChannel *source, GIOCondition condition, struct DCC *dcc); + +static int new_id() +{ + static int id = 0; + if (id == 0) + { + /* start the first ID at a random number for pseudo security */ + /* 1 - 255 */ + id = RAND_INT(255) + 1; + /* ignore overflows, since it can go to 2 billion */ + } + return id++; +} + +static double +timeval_diff (GTimeVal *greater, + GTimeVal *less) +{ + long usecdiff; + double result; + + result = greater->tv_sec - less->tv_sec; + usecdiff = (long) greater->tv_usec - less->tv_usec; + result += (double) usecdiff / 1000000; + + return result; +} + +static void +dcc_unthrottle (struct DCC *dcc) +{ + /* don't unthrottle here, but delegate to funcs */ + if (dcc->type == TYPE_RECV) + dcc_read (NULL, 0, dcc); + else + dcc_send_data (NULL, 0, dcc); +} + +static void +dcc_calc_cps (struct DCC *dcc) +{ + GTimeVal now; + int oldcps; + double timediff, startdiff; + int glob_throttle_bit, wasthrottled; + int *cpssum, glob_limit; + DCC_SIZE pos, posdiff; + + g_get_current_time (&now); + + /* the pos we use for sends is an average + between pos and ack */ + if (dcc->type == TYPE_SEND) + { + /* carefull to avoid 32bit overflow */ + pos = dcc->pos - ((dcc->pos - dcc->ack) / 2); + glob_throttle_bit = 0x1; + cpssum = &dcc_sendcpssum; + glob_limit = prefs.dcc_global_max_send_cps; + } + else + { + pos = dcc->pos; + glob_throttle_bit = 0x2; + cpssum = &dcc_getcpssum; + glob_limit = prefs.dcc_global_max_get_cps; + } + + if (!dcc->firstcpstv.tv_sec && !dcc->firstcpstv.tv_usec) + dcc->firstcpstv = now; + else + { + startdiff = timeval_diff (&now, &dcc->firstcpstv); + if (startdiff < 1) + startdiff = 1; + else if (startdiff > CPS_AVG_WINDOW) + startdiff = CPS_AVG_WINDOW; + + timediff = timeval_diff (&now, &dcc->lastcpstv); + if (timediff > startdiff) + timediff = startdiff = 1; + + posdiff = pos - dcc->lastcpspos; + oldcps = dcc->cps; + dcc->cps = ((double) posdiff / timediff) * (timediff / startdiff) + + (double) dcc->cps * (1.0 - (timediff / startdiff)); + + *cpssum += dcc->cps - oldcps; + } + + dcc->lastcpspos = pos; + dcc->lastcpstv = now; + + /* now check cps against set limits... */ + wasthrottled = dcc->throttled; + + /* check global limits first */ + dcc->throttled &= ~0x2; + if (glob_limit > 0 && *cpssum >= glob_limit) + { + dcc_global_throttle |= glob_throttle_bit; + if (dcc->maxcps >= 0) + dcc->throttled |= 0x2; + } + else + dcc_global_throttle &= ~glob_throttle_bit; + + /* now check per-connection limit */ + if (dcc->maxcps > 0 && dcc->cps > dcc->maxcps) + dcc->throttled |= 0x1; + else + dcc->throttled &= ~0x1; + + /* take action */ + if (wasthrottled && !dcc->throttled) + dcc_unthrottle (dcc); +} + +static void +dcc_remove_from_sum (struct DCC *dcc) +{ + if (dcc->dccstat != STAT_ACTIVE) + return; + if (dcc->type == TYPE_SEND) + dcc_sendcpssum -= dcc->cps; + else if (dcc->type == TYPE_RECV) + dcc_getcpssum -= dcc->cps; +} + +gboolean +is_dcc (struct DCC *dcc) +{ + GSList *list = dcc_list; + while (list) + { + if (list->data == dcc) + return TRUE; + list = list->next; + } + return FALSE; +} + +/* this is called from xchat.c:xchat_misc_checks() every 1 second. */ + +void +dcc_check_timeouts (void) +{ + struct DCC *dcc; + time_t tim = time (0); + GSList *next, *list = dcc_list; + + while (list) + { + dcc = (struct DCC *) list->data; + next = list->next; + + switch (dcc->dccstat) + { + case STAT_ACTIVE: + dcc_calc_cps (dcc); + fe_dcc_update (dcc); + + if (dcc->type == TYPE_SEND || dcc->type == TYPE_RECV) + { + if (prefs.dccstalltimeout > 0) + { + if (!dcc->throttled + && tim - dcc->lasttime > prefs.dccstalltimeout) + { + EMIT_SIGNAL (XP_TE_DCCSTALL, dcc->serv->front_session, + dcctypes[dcc->type], + file_part (dcc->file), dcc->nick, NULL, 0); + dcc_close (dcc, STAT_ABORTED, FALSE); + } + } + } + break; + case STAT_QUEUED: + if (dcc->type == TYPE_SEND || dcc->type == TYPE_CHATSEND) + { + if (tim - dcc->offertime > prefs.dcctimeout) + { + if (prefs.dcctimeout > 0) + { + EMIT_SIGNAL (XP_TE_DCCTOUT, dcc->serv->front_session, + dcctypes[dcc->type], + file_part (dcc->file), dcc->nick, NULL, 0); + dcc_close (dcc, STAT_ABORTED, FALSE); + } + } + } + break; + case STAT_DONE: + case STAT_FAILED: + case STAT_ABORTED: + if (prefs.dcc_remove) + dcc_close (dcc, 0, TRUE); + break; + } + list = next; + } +} + +static int +dcc_lookup_proxy (char *host, struct sockaddr_in *addr) +{ + struct hostent *h; + static char *cache_host = NULL; + static guint32 cache_addr; + + /* too lazy to thread this, so we cache results */ + if (cache_host) + { + if (strcmp (host, cache_host) == 0) + { + memcpy (&addr->sin_addr, &cache_addr, 4); + return TRUE; + } + free (cache_host); + cache_host = NULL; + } + + h = gethostbyname (host); + if (h != NULL && h->h_length == 4 && h->h_addr_list[0] != NULL) + { + memcpy (&addr->sin_addr, h->h_addr, 4); + memcpy (&cache_addr, h->h_addr, 4); + cache_host = strdup (host); + return TRUE; + } + + return FALSE; +} + +#define DCC_USE_PROXY() (prefs.proxy_host[0] && prefs.proxy_type>0 && prefs.proxy_type<5 && prefs.proxy_use!=1) + +static int +dcc_connect_sok (struct DCC *dcc) +{ + int sok; + struct sockaddr_in addr; + + sok = socket (AF_INET, SOCK_STREAM, 0); + if (sok == -1) + return -1; + + memset (&addr, 0, sizeof (addr)); + addr.sin_family = AF_INET; + if (DCC_USE_PROXY ()) + { + if (!dcc_lookup_proxy (prefs.proxy_host, &addr)) + { + closesocket (sok); + return -1; + } + addr.sin_port = htons (prefs.proxy_port); + } + else + { + addr.sin_port = htons (dcc->port); + addr.sin_addr.s_addr = htonl (dcc->addr); + } + + set_nonblocking (sok); + connect (sok, (struct sockaddr *) &addr, sizeof (addr)); + + return sok; +} + +static void +dcc_close (struct DCC *dcc, int dccstat, int destroy) +{ + if (dcc->wiotag) + { + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + } + + if (dcc->iotag) + { + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + } + + if (dcc->sok != -1) + { + closesocket (dcc->sok); + dcc->sok = -1; + } + + dcc_remove_from_sum (dcc); + + if (dcc->fp != -1) + { + close (dcc->fp); + dcc->fp = -1; + + if(dccstat == STAT_DONE) + { + /* if we just completed a dcc recieve, move the */ + /* completed file to the completed directory */ + if(dcc->type == TYPE_RECV) + { + /* mgl: change this to use destfile_fs for correctness and to */ + /* handle the case where dccwithnick is set */ + move_file_utf8 (prefs.dccdir, prefs.dcc_completed_dir, + file_part (dcc->destfile), prefs.dccpermissions); + } + + } + } + + dcc->dccstat = dccstat; + if (dcc->dccchat) + { + free (dcc->dccchat); + dcc->dccchat = NULL; + } + + if (destroy) + { + dcc_list = g_slist_remove (dcc_list, dcc); + fe_dcc_remove (dcc); + if (dcc->proxy) + free (dcc->proxy); + if (dcc->file) + free (dcc->file); + if (dcc->destfile) + g_free (dcc->destfile); + if (dcc->destfile_fs) + g_free (dcc->destfile_fs); + free (dcc->nick); + free (dcc); + return; + } + + fe_dcc_update (dcc); +} + +void +dcc_abort (session *sess, struct DCC *dcc) +{ + if (dcc) + { + switch (dcc->dccstat) + { + case STAT_QUEUED: + case STAT_CONNECTING: + case STAT_ACTIVE: + dcc_close (dcc, STAT_ABORTED, FALSE); + switch (dcc->type) + { + case TYPE_CHATSEND: + case TYPE_CHATRECV: + EMIT_SIGNAL (XP_TE_DCCCHATABORT, sess, dcc->nick, NULL, NULL, + NULL, 0); + break; + case TYPE_SEND: + EMIT_SIGNAL (XP_TE_DCCSENDABORT, sess, dcc->nick, + file_part (dcc->file), NULL, NULL, 0); + break; + case TYPE_RECV: + EMIT_SIGNAL (XP_TE_DCCRECVABORT, sess, dcc->nick, + dcc->file, NULL, NULL, 0); + } + break; + default: + dcc_close (dcc, 0, TRUE); + } + } +} + +void +dcc_notify_kill (struct server *serv) +{ + struct server *replaceserv = 0; + struct DCC *dcc; + GSList *list = dcc_list; + if (serv_list) + replaceserv = (struct server *) serv_list->data; + while (list) + { + dcc = (struct DCC *) list->data; + if (dcc->serv == serv) + dcc->serv = replaceserv; + list = list->next; + } +} + +struct DCC * +dcc_write_chat (char *nick, char *text) +{ + struct DCC *dcc; + int len; + + dcc = find_dcc (nick, "", TYPE_CHATRECV); + if (!dcc) + dcc = find_dcc (nick, "", TYPE_CHATSEND); + if (dcc && dcc->dccstat == STAT_ACTIVE) + { + len = strlen (text); + tcp_send_real (NULL, dcc->sok, dcc->serv->encoding, dcc->serv->using_irc, + text, len); + send (dcc->sok, "\n", 1, 0); + dcc->size += len; + fe_dcc_update (dcc); + return dcc; + } + return 0; +} + +/* returns: 0 - ok + 1 - the dcc is closed! */ + +static int +dcc_chat_line (struct DCC *dcc, char *line) +{ + session *sess; + char *word[PDIWORDS]; + char *po; + char *utf; + char *conv; + int ret, i; + int len; + gsize utf_len; + char portbuf[32]; + + len = strlen (line); + if (dcc->serv->using_cp1255) + len++; /* include the NUL terminator */ + + if (dcc->serv->using_irc) /* using "IRC" encoding (CP1252/UTF-8 hybrid) */ + utf = NULL; + else if (dcc->serv->encoding == NULL) /* system */ + utf = g_locale_to_utf8 (line, len, NULL, &utf_len, NULL); + else + utf = g_convert (line, len, "UTF-8", dcc->serv->encoding, 0, &utf_len, 0); + + if (utf) + { + line = utf; + len = utf_len; + } + + if (dcc->serv->using_cp1255 && len > 0) + len--; + + /* we really need valid UTF-8 now */ + conv = text_validate (&line, &len); + + sess = find_dialog (dcc->serv, dcc->nick); + if (!sess) + sess = dcc->serv->front_session; + + sprintf (portbuf, "%d", dcc->port); + + word[0] = "DCC Chat Text"; + word[1] = net_ip (dcc->addr); + word[2] = portbuf; + word[3] = dcc->nick; + word[4] = line; + for (i = 5; i < PDIWORDS; i++) + word[i] = "\000"; + + ret = plugin_emit_print (sess, word); + + /* did the plugin close it? */ + if (!g_slist_find (dcc_list, dcc)) + { + if (utf) + g_free (utf); + if (conv) + g_free (conv); + return 1; + } + + /* did the plugin eat the event? */ + if (ret) + { + if (utf) + g_free (utf); + if (conv) + g_free (conv); + return 0; + } + + url_check_line (line, len); + + if (line[0] == 1 && !strncasecmp (line + 1, "ACTION", 6)) + { + po = strchr (line + 8, '\001'); + if (po) + po[0] = 0; + inbound_action (sess, dcc->serv->nick, dcc->nick, "", line + 8, FALSE, FALSE); + } else + { + inbound_privmsg (dcc->serv, dcc->nick, "", line, FALSE); + } + if (utf) + g_free (utf); + if (conv) + g_free (conv); + return 0; +} + +static gboolean +dcc_read_chat (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + int i, len, dead; + char portbuf[32]; + char lbuf[2050]; + + while (1) + { + if (dcc->throttled) + { + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + return FALSE; + } + + if (!dcc->iotag) + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, dcc_read_chat, dcc); + + len = recv (dcc->sok, lbuf, sizeof (lbuf) - 2, 0); + if (len < 1) + { + if (len < 0) + { + if (would_block ()) + return TRUE; + } + sprintf (portbuf, "%d", dcc->port); + EMIT_SIGNAL (XP_TE_DCCCHATF, dcc->serv->front_session, dcc->nick, + net_ip (dcc->addr), portbuf, + errorstring ((len < 0) ? sock_error () : 0), 0); + dcc_close (dcc, STAT_FAILED, FALSE); + return TRUE; + } + i = 0; + lbuf[len] = 0; + while (i < len) + { + switch (lbuf[i]) + { + case '\r': + break; + case '\n': + dcc->dccchat->linebuf[dcc->dccchat->pos] = 0; + dead = dcc_chat_line (dcc, dcc->dccchat->linebuf); + + if (dead || !dcc->dccchat) /* the dcc has been closed, don't use (DCC *)! */ + return TRUE; + + dcc->pos += dcc->dccchat->pos; + dcc->dccchat->pos = 0; + fe_dcc_update (dcc); + break; + default: + dcc->dccchat->linebuf[dcc->dccchat->pos] = lbuf[i]; + if (dcc->dccchat->pos < (sizeof (dcc->dccchat->linebuf) - 1)) + dcc->dccchat->pos++; + } + i++; + } + } +} + +static void +dcc_calc_average_cps (struct DCC *dcc) +{ + time_t sec; + + sec = time (0) - dcc->starttime; + if (sec < 1) + sec = 1; + if (dcc->type == TYPE_SEND) + dcc->cps = (dcc->ack - dcc->resumable) / sec; + else + dcc->cps = (dcc->pos - dcc->resumable) / sec; +} + +static void +dcc_send_ack (struct DCC *dcc) +{ + /* send in 32-bit big endian */ + guint32 pos = htonl (dcc->pos & 0xffffffff); + send (dcc->sok, (char *) &pos, 4, 0); +} + +static gboolean +dcc_read (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + char *old; + char buf[4096]; + int n; + gboolean need_ack = FALSE; + + if (dcc->fp == -1) + { + + /* try to create the download dir (even if it exists, no harm) */ + mkdir_utf8 (prefs.dccdir); + + if (dcc->resumable) + { + dcc->fp = open (dcc->destfile_fs, O_WRONLY | O_APPEND | OFLAGS); + dcc->pos = dcc->resumable; + dcc->ack = dcc->resumable; + } else + { + if (access (dcc->destfile_fs, F_OK) == 0) + { + n = 0; + do + { + n++; + snprintf (buf, sizeof (buf), "%s.%d", dcc->destfile_fs, n); + } + while (access (buf, F_OK) == 0); + + g_free (dcc->destfile_fs); + dcc->destfile_fs = g_strdup (buf); + + old = dcc->destfile; + dcc->destfile = xchat_filename_to_utf8 (buf, -1, 0, 0, 0); + + EMIT_SIGNAL (XP_TE_DCCRENAME, dcc->serv->front_session, + old, dcc->destfile, NULL, NULL, 0); + g_free (old); + } + dcc->fp = + open (dcc->destfile_fs, OFLAGS | O_TRUNC | O_WRONLY | O_CREAT, + prefs.dccpermissions); + } + } + if (dcc->fp == -1) + { + /* the last executed function is open(), errno should be valid */ + EMIT_SIGNAL (XP_TE_DCCFILEERR, dcc->serv->front_session, dcc->destfile, + errorstring (errno), NULL, NULL, 0); + dcc_close (dcc, STAT_FAILED, FALSE); + return TRUE; + } + while (1) + { + if (dcc->throttled) + { + if (need_ack) + dcc_send_ack (dcc); + + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + return FALSE; + } + + if (!dcc->iotag) + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, dcc_read, dcc); + + n = recv (dcc->sok, buf, sizeof (buf), 0); + if (n < 1) + { + if (n < 0) + { + if (would_block ()) + { + if (need_ack) + dcc_send_ack (dcc); + return TRUE; + } + } + EMIT_SIGNAL (XP_TE_DCCRECVERR, dcc->serv->front_session, dcc->file, + dcc->destfile, dcc->nick, + errorstring ((n < 0) ? sock_error () : 0), 0); + /* send ack here? but the socket is dead */ + /*if (need_ack) + dcc_send_ack (dcc);*/ + dcc_close (dcc, STAT_FAILED, FALSE); + return TRUE; + } + + if (write (dcc->fp, buf, n) == -1) /* could be out of hdd space */ + { + EMIT_SIGNAL (XP_TE_DCCRECVERR, dcc->serv->front_session, dcc->file, + dcc->destfile, dcc->nick, errorstring (errno), 0); + if (need_ack) + dcc_send_ack (dcc); + dcc_close (dcc, STAT_FAILED, FALSE); + return TRUE; + } + + dcc->lasttime = time (0); + dcc->pos += n; + need_ack = TRUE; /* send ack when we're done recv()ing */ + + if (dcc->pos >= dcc->size) + { + dcc_send_ack (dcc); + dcc_close (dcc, STAT_DONE, FALSE); + dcc_calc_average_cps (dcc); /* this must be done _after_ dcc_close, or dcc_remove_from_sum will see the wrong value in dcc->cps */ + sprintf (buf, "%d", dcc->cps); + EMIT_SIGNAL (XP_TE_DCCRECVCOMP, dcc->serv->front_session, + dcc->file, dcc->destfile, dcc->nick, buf, 0); + return TRUE; + } + } +} + +static void +dcc_open_query (server *serv, char *nick) +{ + if (prefs.autodialog) + open_query (serv, nick, FALSE); +} + +static gboolean +dcc_did_connect (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + int er; + struct sockaddr_in addr; + +#ifdef WIN32 + if (condition & G_IO_ERR) + { + int len; + + /* find the last errno for this socket */ + len = sizeof (er); + getsockopt (dcc->sok, SOL_SOCKET, SO_ERROR, (char *)&er, &len); + EMIT_SIGNAL (XP_TE_DCCCONFAIL, dcc->serv->front_session, + dcctypes[dcc->type], dcc->nick, errorstring (er), + NULL, 0); + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + return FALSE; + } + +#else + memset (&addr, 0, sizeof (addr)); + addr.sin_port = htons (dcc->port); + addr.sin_family = AF_INET; + addr.sin_addr.s_addr = htonl (dcc->addr); + + /* check if it's already connected; This always fails on winXP */ + if (connect (dcc->sok, (struct sockaddr *) &addr, sizeof (addr)) != 0) + { + er = sock_error (); + if (er != EISCONN) + { + EMIT_SIGNAL (XP_TE_DCCCONFAIL, dcc->serv->front_session, + dcctypes[dcc->type], dcc->nick, errorstring (er), + NULL, 0); + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + return FALSE; + } + } +#endif + + return TRUE; +} + +static gboolean +dcc_connect_finished (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + char host[128]; + + if (dcc->iotag) + { + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + } + + if (!dcc_did_connect (source, condition, dcc)) + return TRUE; + + dcc->dccstat = STAT_ACTIVE; + snprintf (host, sizeof host, "%s:%d", net_ip (dcc->addr), dcc->port); + + switch (dcc->type) + { + case TYPE_RECV: + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, dcc_read, dcc); + EMIT_SIGNAL (XP_TE_DCCCONRECV, dcc->serv->front_session, + dcc->nick, host, dcc->file, NULL, 0); + break; + case TYPE_SEND: + /* passive send */ + dcc->fastsend = prefs.fastdccsend; + if (dcc->fastsend) + dcc->wiotag = fe_input_add (dcc->sok, FIA_WRITE, dcc_send_data, dcc); + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, dcc_read_ack, dcc); + dcc_send_data (NULL, 0, (gpointer)dcc); + EMIT_SIGNAL (XP_TE_DCCCONSEND, dcc->serv->front_session, + dcc->nick, host, dcc->file, NULL, 0); + break; + case TYPE_CHATSEND: /* pchat */ + dcc_open_query (dcc->serv, dcc->nick); + case TYPE_CHATRECV: /* normal chat */ + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, dcc_read_chat, dcc); + dcc->dccchat = malloc (sizeof (struct dcc_chat)); + dcc->dccchat->pos = 0; + EMIT_SIGNAL (XP_TE_DCCCONCHAT, dcc->serv->front_session, + dcc->nick, host, NULL, NULL, 0); + break; + } + dcc->starttime = time (0); + dcc->lasttime = dcc->starttime; + fe_dcc_update (dcc); + + return TRUE; +} + +static gboolean +read_proxy (struct DCC *dcc) +{ + struct proxy_state *proxy = dcc->proxy; + while (proxy->bufferused < proxy->buffersize) + { + int ret = recv (dcc->sok, &proxy->buffer[proxy->bufferused], + proxy->buffersize - proxy->bufferused, 0); + if (ret > 0) + proxy->bufferused += ret; + else + { + if (would_block ()) + return FALSE; + else + { + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + if (dcc->iotag) + { + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + } + return FALSE; + } + } + } + return TRUE; +} + +static gboolean +write_proxy (struct DCC *dcc) +{ + struct proxy_state *proxy = dcc->proxy; + while (proxy->bufferused < proxy->buffersize) + { + int ret = send (dcc->sok, &proxy->buffer[proxy->bufferused], + proxy->buffersize - proxy->bufferused, 0); + if (ret >= 0) + proxy->bufferused += ret; + else + { + if (would_block ()) + return FALSE; + else + { + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + if (dcc->wiotag) + { + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + } + return FALSE; + } + } + } + return TRUE; +} + +static gboolean +proxy_read_line (struct DCC *dcc) +{ + struct proxy_state *proxy = dcc->proxy; + while (1) + { + proxy->buffersize = proxy->bufferused + 1; + if (!read_proxy (dcc)) + return FALSE; + if (proxy->buffer[proxy->bufferused - 1] == '\n' + || proxy->bufferused == MAX_PROXY_BUFFER) + { + proxy->buffer[proxy->bufferused - 1] = 0; + return TRUE; + } + } +} + +static gboolean +dcc_wingate_proxy_traverse (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + struct proxy_state *proxy = dcc->proxy; + if (proxy->phase == 0) + { + proxy->buffersize = snprintf ((char*) proxy->buffer, MAX_PROXY_BUFFER, + "%s %d\r\n", net_ip(dcc->addr), + dcc->port); + proxy->bufferused = 0; + dcc->wiotag = fe_input_add (dcc->sok, FIA_WRITE|FIA_EX, + dcc_wingate_proxy_traverse, dcc); + ++proxy->phase; + } + if (proxy->phase == 1) + { + if (!read_proxy (dcc)) + return TRUE; + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + dcc_connect_finished (source, 0, dcc); + } + return TRUE; +} + +struct sock_connect +{ + char version; + char type; + guint16 port; + guint32 address; + char username[10]; +}; +static gboolean +dcc_socks_proxy_traverse (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + struct proxy_state *proxy = dcc->proxy; + + if (proxy->phase == 0) + { + struct sock_connect sc; + sc.version = 4; + sc.type = 1; + sc.port = htons (dcc->port); + sc.address = htonl (dcc->addr); + strncpy (sc.username, prefs.username, 9); + memcpy (proxy->buffer, &sc, sizeof (sc)); + proxy->buffersize = 8 + strlen (sc.username) + 1; + proxy->bufferused = 0; + dcc->wiotag = fe_input_add (dcc->sok, FIA_WRITE|FIA_EX, + dcc_socks_proxy_traverse, dcc); + ++proxy->phase; + } + + if (proxy->phase == 1) + { + if (!write_proxy (dcc)) + return TRUE; + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + proxy->bufferused = 0; + proxy->buffersize = 8; + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, + dcc_socks_proxy_traverse, dcc); + ++proxy->phase; + } + + if (proxy->phase == 2) + { + if (!read_proxy (dcc)) + return TRUE; + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + if (proxy->buffer[1] == 90) + dcc_connect_finished (source, 0, dcc); + else + { + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + } + } + + return TRUE; +} + +struct sock5_connect1 +{ + char version; + char nmethods; + char method; +}; +static gboolean +dcc_socks5_proxy_traverse (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + struct proxy_state *proxy = dcc->proxy; + int auth = prefs.proxy_auth && prefs.proxy_user[0] && prefs.proxy_pass[0]; + + if (proxy->phase == 0) + { + struct sock5_connect1 sc1; + + sc1.version = 5; + sc1.nmethods = 1; + sc1.method = 0; + if (auth) + sc1.method = 2; + memcpy (proxy->buffer, &sc1, 3); + proxy->buffersize = 3; + proxy->bufferused = 0; + dcc->wiotag = fe_input_add (dcc->sok, FIA_WRITE|FIA_EX, + dcc_socks5_proxy_traverse, dcc); + ++proxy->phase; + } + + if (proxy->phase == 1) + { + if (!write_proxy (dcc)) + return TRUE; + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + proxy->bufferused = 0; + proxy->buffersize = 2; + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, + dcc_socks5_proxy_traverse, dcc); + ++proxy->phase; + } + + if (proxy->phase == 2) + { + if (!read_proxy (dcc)) + return TRUE; + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + + /* did the server say no auth required? */ + if (proxy->buffer[0] == 5 && proxy->buffer[1] == 0) + auth = 0; + + /* Set up authentication I/O */ + if (auth) + { + int len_u=0, len_p=0; + + /* authentication sub-negotiation (RFC1929) */ + if ( proxy->buffer[0] != 5 || proxy->buffer[1] != 2 ) /* UPA not supported by server */ + { + PrintText (dcc->serv->front_session, "SOCKS\tServer doesn't support UPA authentication.\n"); + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + return TRUE; + } + + memset (proxy->buffer, 0, MAX_PROXY_BUFFER); + + /* form the UPA request */ + len_u = strlen (prefs.proxy_user); + len_p = strlen (prefs.proxy_pass); + proxy->buffer[0] = 1; + proxy->buffer[1] = len_u; + memcpy (proxy->buffer + 2, prefs.proxy_user, len_u); + proxy->buffer[2 + len_u] = len_p; + memcpy (proxy->buffer + 3 + len_u, prefs.proxy_pass, len_p); + + proxy->buffersize = 3 + len_u + len_p; + proxy->bufferused = 0; + dcc->wiotag = fe_input_add (dcc->sok, FIA_WRITE|FIA_EX, + dcc_socks5_proxy_traverse, dcc); + ++proxy->phase; + } + else + { + if (proxy->buffer[0] != 5 || proxy->buffer[1] != 0) + { + PrintText (dcc->serv->front_session, "SOCKS\tAuthentication required but disabled in settings.\n"); + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + return TRUE; + } + proxy->phase += 2; + } + } + + if (proxy->phase == 3) + { + if (!write_proxy (dcc)) + return TRUE; + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + proxy->buffersize = 2; + proxy->bufferused = 0; + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, + dcc_socks5_proxy_traverse, dcc); + ++proxy->phase; + } + + if (proxy->phase == 4) + { + if (!read_proxy (dcc)) + return TRUE; + if (dcc->iotag) + { + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + } + if (proxy->buffer[1] != 0) + { + PrintText (dcc->serv->front_session, "SOCKS\tAuthentication failed. " + "Is username and password correct?\n"); + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + return TRUE; + } + ++proxy->phase; + } + + if (proxy->phase == 5) + { + proxy->buffer[0] = 5; /* version (socks 5) */ + proxy->buffer[1] = 1; /* command (connect) */ + proxy->buffer[2] = 0; /* reserved */ + proxy->buffer[3] = 1; /* address type (IPv4) */ + proxy->buffer[4] = (dcc->addr >> 24) & 0xFF; /* IP address */ + proxy->buffer[5] = (dcc->addr >> 16) & 0xFF; + proxy->buffer[6] = (dcc->addr >> 8) & 0xFF; + proxy->buffer[7] = (dcc->addr & 0xFF); + proxy->buffer[8] = (dcc->port >> 8) & 0xFF; /* port */ + proxy->buffer[9] = (dcc->port & 0xFF); + proxy->buffersize = 10; + proxy->bufferused = 0; + dcc->wiotag = fe_input_add (dcc->sok, FIA_WRITE|FIA_EX, + dcc_socks5_proxy_traverse, dcc); + ++proxy->phase; + } + + if (proxy->phase == 6) + { + if (!write_proxy (dcc)) + return TRUE; + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + proxy->buffersize = 4; + proxy->bufferused = 0; + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, + dcc_socks5_proxy_traverse, dcc); + ++proxy->phase; + } + + if (proxy->phase == 7) + { + if (!read_proxy (dcc)) + return TRUE; + if (proxy->buffer[0] != 5 || proxy->buffer[1] != 0) + { + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + if (proxy->buffer[1] == 2) + PrintText (dcc->serv->front_session, "SOCKS\tProxy refused to connect to host (not allowed).\n"); + else + PrintTextf (dcc->serv->front_session, "SOCKS\tProxy failed to connect to host (error %d).\n", proxy->buffer[1]); + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + return TRUE; + } + switch (proxy->buffer[3]) + { + case 1: proxy->buffersize += 6; break; + case 3: proxy->buffersize += 1; break; + case 4: proxy->buffersize += 18; break; + }; + ++proxy->phase; + } + + if (proxy->phase == 8) + { + if (!read_proxy (dcc)) + return TRUE; + /* handle domain name case */ + if (proxy->buffer[3] == 3) + { + proxy->buffersize = 5 + proxy->buffer[4] + 2; + } + /* everything done? */ + if (proxy->bufferused == proxy->buffersize) + { + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + dcc_connect_finished (source, 0, dcc); + } + } + return TRUE; +} + +static gboolean +dcc_http_proxy_traverse (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + struct proxy_state *proxy = dcc->proxy; + + if (proxy->phase == 0) + { + char buf[256]; + char auth_data[128]; + char auth_data2[68]; + int n, n2; + + n = snprintf (buf, sizeof (buf), "CONNECT %s:%d HTTP/1.0\r\n", + net_ip(dcc->addr), dcc->port); + if (prefs.proxy_auth) + { + n2 = snprintf (auth_data2, sizeof (auth_data2), "%s:%s", + prefs.proxy_user, prefs.proxy_pass); + base64_encode (auth_data, auth_data2, n2); + n += snprintf (buf+n, sizeof (buf)-n, "Proxy-Authorization: Basic %s\r\n", auth_data); + } + n += snprintf (buf+n, sizeof (buf)-n, "\r\n"); + proxy->buffersize = n; + proxy->bufferused = 0; + memcpy (proxy->buffer, buf, proxy->buffersize); + dcc->wiotag = fe_input_add (dcc->sok, FIA_WRITE|FIA_EX, + dcc_http_proxy_traverse, dcc); + ++proxy->phase; + } + + if (proxy->phase == 1) + { + if (!write_proxy (dcc)) + return TRUE; + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + proxy->bufferused = 0; + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, + dcc_http_proxy_traverse, dcc); + ++proxy->phase; + } + + if (proxy->phase == 2) + { + if (!proxy_read_line (dcc)) + return TRUE; + /* "HTTP/1.0 200 OK" */ + if (proxy->bufferused < 12 || + memcmp (proxy->buffer, "HTTP/", 5) || memcmp (proxy->buffer + 9, "200", 3)) + { + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + PrintText (dcc->serv->front_session, proxy->buffer); + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + return TRUE; + } + proxy->bufferused = 0; + ++proxy->phase; + } + + if (proxy->phase == 3) + { + while (1) + { + /* read until blank line */ + if (proxy_read_line (dcc)) + { + if (proxy->bufferused < 1 || + (proxy->bufferused == 2 && proxy->buffer[0] == '\r')) + { + break; + } + if (proxy->bufferused > 1) + PrintText (dcc->serv->front_session, proxy->buffer); + proxy->bufferused = 0; + } + else + return TRUE; + } + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + dcc_connect_finished (source, 0, dcc); + } + + return TRUE; +} + +static gboolean +dcc_proxy_connect (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + + if (!dcc_did_connect (source, condition, dcc)) + return TRUE; + + dcc->proxy = malloc (sizeof (struct proxy_state)); + if (!dcc->proxy) + { + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + return TRUE; + } + memset (dcc->proxy, 0, sizeof (struct proxy_state)); + + switch (prefs.proxy_type) + { + case 1: return dcc_wingate_proxy_traverse (source, condition, dcc); + case 2: return dcc_socks_proxy_traverse (source, condition, dcc); + case 3: return dcc_socks5_proxy_traverse (source, condition, dcc); + case 4: return dcc_http_proxy_traverse (source, condition, dcc); + } + return TRUE; +} + +static int dcc_listen_init (struct DCC *, struct session *); + +static void +dcc_connect (struct DCC *dcc) +{ + int ret; + char tbuf[400]; + + if (dcc->dccstat == STAT_CONNECTING) + return; + dcc->dccstat = STAT_CONNECTING; + + if (dcc->pasvid && dcc->port == 0) + { + /* accepted a passive dcc send */ + ret = dcc_listen_init (dcc, dcc->serv->front_session); + if (!ret) + { + dcc_close (dcc, STAT_FAILED, FALSE); + return; + } + /* possible problems with filenames containing spaces? */ + if (dcc->type == TYPE_RECV) + snprintf (tbuf, sizeof (tbuf), strchr (dcc->file, ' ') ? + "DCC SEND \"%s\" %u %d %"DCC_SFMT" %d" : + "DCC SEND %s %u %d %"DCC_SFMT" %d", dcc->file, + dcc->addr, dcc->port, dcc->size, dcc->pasvid); + else + snprintf (tbuf, sizeof (tbuf), "DCC CHAT chat %u %d %d", + dcc->addr, dcc->port, dcc->pasvid); + dcc->serv->p_ctcp (dcc->serv, dcc->nick, tbuf); + } + else + { + dcc->sok = dcc_connect_sok (dcc); + if (dcc->sok == -1) + { + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + return; + } + if (DCC_USE_PROXY ()) + dcc->iotag = fe_input_add (dcc->sok, FIA_WRITE|FIA_EX, dcc_proxy_connect, dcc); + else + dcc->iotag = fe_input_add (dcc->sok, FIA_WRITE|FIA_EX, dcc_connect_finished, dcc); + } + + fe_dcc_update (dcc); +} + +static gboolean +dcc_send_data (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + char *buf; + int len, sent, sok = dcc->sok; + + if (prefs.dcc_blocksize < 1) /* this is too little! */ + prefs.dcc_blocksize = 1024; + + if (prefs.dcc_blocksize > 102400) /* this is too much! */ + prefs.dcc_blocksize = 102400; + + if (dcc->throttled) + { + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + return FALSE; + } + + if (!dcc->fastsend) + { + if (dcc->ack < dcc->pos) + return TRUE; + } + else if (!dcc->wiotag) + dcc->wiotag = fe_input_add (sok, FIA_WRITE, dcc_send_data, dcc); + + buf = malloc (prefs.dcc_blocksize); + if (!buf) + return TRUE; + + lseek (dcc->fp, dcc->pos, SEEK_SET); + len = read (dcc->fp, buf, prefs.dcc_blocksize); + if (len < 1) + goto abortit; + sent = send (sok, buf, len, 0); + + if (sent < 0 && !(would_block ())) + { +abortit: + free (buf); + EMIT_SIGNAL (XP_TE_DCCSENDFAIL, dcc->serv->front_session, + file_part (dcc->file), dcc->nick, + errorstring (sock_error ()), NULL, 0); + dcc_close (dcc, STAT_FAILED, FALSE); + return TRUE; + } + if (sent > 0) + { + dcc->pos += sent; + dcc->lasttime = time (0); + } + + /* have we sent it all yet? */ + if (dcc->pos >= dcc->size) + { + /* it's all sent now, so remove the WRITE/SEND handler */ + if (dcc->wiotag) + { + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + } + } + + free (buf); + + return TRUE; +} + +static gboolean +dcc_handle_new_ack (struct DCC *dcc) +{ + guint32 ack; + char buf[16]; + gboolean done = FALSE; + + memcpy (&ack, dcc->ack_buf, 4); + dcc->ack = ntohl (ack); + + /* this could mess up when xfering >32bit files */ + if (dcc->size <= 0xffffffff) + { + /* fix for BitchX */ + if (dcc->ack < dcc->resumable) + dcc->ackoffset = TRUE; + if (dcc->ackoffset) + dcc->ack += dcc->resumable; + } + + /* DCC complete check */ + if (dcc->pos >= dcc->size && dcc->ack >= (dcc->size & 0xffffffff)) + { + dcc->ack = dcc->size; /* force 100% ack for >4 GB */ + dcc_close (dcc, STAT_DONE, FALSE); + dcc_calc_average_cps (dcc); /* this must be done _after_ dcc_close, or dcc_remove_from_sum will see the wrong value in dcc->cps */ + sprintf (buf, "%d", dcc->cps); + EMIT_SIGNAL (XP_TE_DCCSENDCOMP, dcc->serv->front_session, + file_part (dcc->file), dcc->nick, buf, NULL, 0); + done = TRUE; + } + else if ((!dcc->fastsend) && (dcc->ack >= (dcc->pos & 0xffffffff))) + { + dcc_send_data (NULL, 0, (gpointer)dcc); + } + +#ifdef USE_DCC64 + /* take the top 32 of "bytes send" and bottom 32 of "ack" */ + dcc->ack = (dcc->pos & G_GINT64_CONSTANT (0xffffffff00000000)) | + (dcc->ack & 0xffffffff); + /* dcc->ack is only used for CPS and PERCENTAGE calcs from now on... */ +#endif + + return done; +} + +static gboolean +dcc_read_ack (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + int len; + + while (1) + { + /* try to fill up 4 bytes */ + len = recv (dcc->sok, dcc->ack_buf, 4 - dcc->ack_pos, 0); + if (len < 1) + { + if (len < 0) + { + if (would_block ()) /* ok - keep waiting */ + return TRUE; + } + EMIT_SIGNAL (XP_TE_DCCSENDFAIL, dcc->serv->front_session, + file_part (dcc->file), dcc->nick, + errorstring ((len < 0) ? sock_error () : 0), NULL, 0); + dcc_close (dcc, STAT_FAILED, FALSE); + return TRUE; + } + + dcc->ack_pos += len; + if (dcc->ack_pos >= 4) + { + dcc->ack_pos = 0; + if (dcc_handle_new_ack (dcc)) + return TRUE; + } + /* loop again until would_block() returns true */ + } +} + +static gboolean +dcc_accept (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + char host[128]; + struct sockaddr_in CAddr; + int sok; + socklen_t len; + + len = sizeof (CAddr); + sok = accept (dcc->sok, (struct sockaddr *) &CAddr, &len); + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + closesocket (dcc->sok); + if (sok < 0) + { + dcc->sok = -1; + dcc_close (dcc, STAT_FAILED, FALSE); + return TRUE; + } + set_nonblocking (sok); + dcc->sok = sok; + dcc->addr = ntohl (CAddr.sin_addr.s_addr); + + if (dcc->pasvid) + return dcc_connect_finished (NULL, 0, dcc); + + dcc->dccstat = STAT_ACTIVE; + dcc->lasttime = dcc->starttime = time (0); + dcc->fastsend = prefs.fastdccsend; + + snprintf (host, sizeof (host), "%s:%d", net_ip (dcc->addr), dcc->port); + + switch (dcc->type) + { + case TYPE_SEND: + if (dcc->fastsend) + dcc->wiotag = fe_input_add (sok, FIA_WRITE, dcc_send_data, dcc); + dcc->iotag = fe_input_add (sok, FIA_READ|FIA_EX, dcc_read_ack, dcc); + dcc_send_data (NULL, 0, (gpointer)dcc); + EMIT_SIGNAL (XP_TE_DCCCONSEND, dcc->serv->front_session, + dcc->nick, host, dcc->file, NULL, 0); + break; + + case TYPE_CHATSEND: + dcc_open_query (dcc->serv, dcc->nick); + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, dcc_read_chat, dcc); + dcc->dccchat = malloc (sizeof (struct dcc_chat)); + dcc->dccchat->pos = 0; + EMIT_SIGNAL (XP_TE_DCCCONCHAT, dcc->serv->front_session, + dcc->nick, host, NULL, NULL, 0); + break; + } + + fe_dcc_update (dcc); + + return TRUE; +} + +guint32 +dcc_get_my_address (void) /* the address we'll tell the other person */ +{ + struct hostent *dns_query; + guint32 addr = 0; + + if (prefs.ip_from_server && prefs.dcc_ip) + addr = prefs.dcc_ip; + else if (prefs.dcc_ip_str[0]) + { + dns_query = gethostbyname ((const char *) prefs.dcc_ip_str); + + if (dns_query != NULL && + dns_query->h_length == 4 && + dns_query->h_addr_list[0] != NULL) + { + /*we're offered at least one IPv4 address: we take the first*/ + addr = *((guint32*) dns_query->h_addr_list[0]); + } + } + + return addr; +} + +static int +dcc_listen_init (struct DCC *dcc, session *sess) +{ + guint32 my_addr; + struct sockaddr_in SAddr; + int i, bindretval = -1; + socklen_t len; + + dcc->sok = socket (AF_INET, SOCK_STREAM, 0); + if (dcc->sok == -1) + return FALSE; + + memset (&SAddr, 0, sizeof (struct sockaddr_in)); + + len = sizeof (SAddr); + getsockname (dcc->serv->sok, (struct sockaddr *) &SAddr, &len); + + SAddr.sin_family = AF_INET; + + /*if local_ip is specified use that*/ + if (prefs.local_ip != 0xffffffff) + { + my_addr = prefs.local_ip; + SAddr.sin_addr.s_addr = prefs.local_ip; + } + /*otherwise use the default*/ + else + my_addr = SAddr.sin_addr.s_addr; + + /*if we have a valid portrange try to use that*/ + if (prefs.first_dcc_send_port > 0) + { + SAddr.sin_port = 0; + i = 0; + while ((prefs.last_dcc_send_port > ntohs(SAddr.sin_port)) && + (bindretval == -1)) + { + SAddr.sin_port = htons (prefs.first_dcc_send_port + i); + i++; + /*printf("Trying to bind against port: %d\n",ntohs(SAddr.sin_port));*/ + bindretval = bind (dcc->sok, (struct sockaddr *) &SAddr, sizeof (SAddr)); + } + + /* with a small port range, reUseAddr is needed */ + len = 1; + setsockopt (dcc->sok, SOL_SOCKET, SO_REUSEADDR, (char *) &len, sizeof (len)); + + } else + { + /* try random port */ + SAddr.sin_port = 0; + bindretval = bind (dcc->sok, (struct sockaddr *) &SAddr, sizeof (SAddr)); + } + + if (bindretval == -1) + { + /* failed to bind */ + PrintText (sess, "Failed to bind to any address or port.\n"); + return FALSE; + } + + len = sizeof (SAddr); + getsockname (dcc->sok, (struct sockaddr *) &SAddr, &len); + + dcc->port = ntohs (SAddr.sin_port); + + /*if we have a dcc_ip, we use that, so the remote client can connect*/ + /*else we try to take an address from dcc_ip_str*/ + /*if something goes wrong we tell the client to connect to our LAN ip*/ + dcc->addr = dcc_get_my_address (); + + /*if nothing else worked we use the address we bound to*/ + if (dcc->addr == 0) + dcc->addr = my_addr; + + dcc->addr = ntohl (dcc->addr); + + set_nonblocking (dcc->sok); + listen (dcc->sok, 1); + set_blocking (dcc->sok); + + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, dcc_accept, dcc); + + return TRUE; +} + +static struct session *dccsess; +static char *dccto; /* lame!! */ +static int dccmaxcps; +static int recursive = FALSE; + +static void +dcc_send_wild (char *file) +{ + dcc_send (dccsess, dccto, file, dccmaxcps, 0); +} + +void +dcc_send (struct session *sess, char *to, char *file, int maxcps, int passive) +{ + char outbuf[512]; + struct stat st; + struct DCC *dcc; + char *file_fs; + + /* this is utf8 */ + file = expand_homedir (file); + + if (!recursive && (strchr (file, '*') || strchr (file, '?'))) + { + char path[256]; + char wild[256]; + char *path_fs; /* local filesystem encoding */ + + safe_strcpy (wild, file_part (file), sizeof (wild)); + path_part (file, path, sizeof (path)); + if (path[0] != '/' || path[1] != '\0') + path[strlen (path) - 1] = 0; /* remove trailing slash */ + + dccsess = sess; + dccto = to; + dccmaxcps = maxcps; + + free (file); + + /* for_files() will use opendir, so we need local FS encoding */ + path_fs = xchat_filename_from_utf8 (path, -1, 0, 0, 0); + if (path_fs) + { + recursive = TRUE; + for_files (path_fs, wild, dcc_send_wild); + recursive = FALSE; + g_free (path_fs); + } + + return; + } + + dcc = new_dcc (); + if (!dcc) + return; + dcc->file = file; + dcc->maxcps = maxcps; + + /* get the local filesystem encoding */ + file_fs = xchat_filename_from_utf8 (file, -1, 0, 0, 0); + + if (stat (file_fs, &st) != -1) + { + +#ifndef USE_DCC64 + if (sizeof (st.st_size) > 4 && st.st_size > 4294967295U) + { + PrintText (sess, "Cannot send files larger than 4 GB.\n"); + goto xit; + } +#endif + + if (!(*file_part (file_fs)) || S_ISDIR (st.st_mode) || st.st_size < 1) + { + PrintText (sess, "Cannot send directories or empty files.\n"); + goto xit; + } + + dcc->starttime = dcc->offertime = time (0); + dcc->serv = sess->server; + dcc->dccstat = STAT_QUEUED; + dcc->size = st.st_size; + dcc->type = TYPE_SEND; + dcc->fp = open (file_fs, OFLAGS | O_RDONLY); + if (dcc->fp != -1) + { + g_free (file_fs); + if (passive || dcc_listen_init (dcc, sess)) + { + char havespaces = 0; + file = dcc->file; + while (*file) + { + if (*file == ' ') + { + if (prefs.dcc_send_fillspaces) + *file = '_'; + else + havespaces = 1; + } + file++; + } + dcc->nick = strdup (to); + if (prefs.autoopendccsendwindow) + { + if (fe_dcc_open_send_win (TRUE)) /* already open? add */ + fe_dcc_add (dcc); + } else + fe_dcc_add (dcc); + + if (passive) + { + dcc->pasvid = new_id(); + snprintf (outbuf, sizeof (outbuf), (havespaces) ? + "DCC SEND \"%s\" 199 0 %"DCC_SFMT" %d" : + "DCC SEND %s 199 0 %"DCC_SFMT" %d", + file_part (dcc->file), + dcc->size, dcc->pasvid); + } else + { + snprintf (outbuf, sizeof (outbuf), (havespaces) ? + "DCC SEND \"%s\" %u %d %"DCC_SFMT : + "DCC SEND %s %u %d %"DCC_SFMT, + file_part (dcc->file), dcc->addr, + dcc->port, dcc->size); + } + sess->server->p_ctcp (sess->server, to, outbuf); + + EMIT_SIGNAL (XP_TE_DCCOFFER, sess, file_part (dcc->file), + to, dcc->file, NULL, 0); + } else + { + dcc_close (dcc, 0, TRUE); + } + return; + } + } + PrintTextf (sess, _("Cannot access %s\n"), dcc->file); + PrintTextf (sess, "%s %d: %s\n", _("Error"), errno, errorstring (errno)); +xit: + g_free (file_fs); + dcc_close (dcc, 0, TRUE); +} + +static struct DCC * +find_dcc_from_id (int id, int type) +{ + struct DCC *dcc; + GSList *list = dcc_list; + while (list) + { + dcc = (struct DCC *) list->data; + if (dcc->pasvid == id && + dcc->dccstat == STAT_QUEUED && dcc->type == type) + return dcc; + list = list->next; + } + return 0; +} + +static struct DCC * +find_dcc_from_port (int port, int type) +{ + struct DCC *dcc; + GSList *list = dcc_list; + while (list) + { + dcc = (struct DCC *) list->data; + if (dcc->port == port && + dcc->dccstat == STAT_QUEUED && dcc->type == type) + return dcc; + list = list->next; + } + return 0; +} + +struct DCC * +find_dcc (char *nick, char *file, int type) +{ + GSList *list = dcc_list; + struct DCC *dcc; + while (list) + { + dcc = (struct DCC *) list->data; + if (nick == NULL || !rfc_casecmp (nick, dcc->nick)) + { + if (type == -1 || dcc->type == type) + { + if (!file[0]) + return dcc; + if (!strcasecmp (file, file_part (dcc->file))) + return dcc; + if (!strcasecmp (file, dcc->file)) + return dcc; + } + } + list = list->next; + } + return 0; +} + +/* called when we receive a NICK change from server */ + +void +dcc_change_nick (struct server *serv, char *oldnick, char *newnick) +{ + struct DCC *dcc; + GSList *list = dcc_list; + + while (list) + { + dcc = (struct DCC *) list->data; + if (dcc->serv == serv) + { + if (!serv->p_cmp (dcc->nick, oldnick)) + { + if (dcc->nick) + free (dcc->nick); + dcc->nick = strdup (newnick); + } + } + list = list->next; + } +} + +/* is the destination file the same? new_dcc is not opened yet */ + +static int +is_same_file (struct DCC *dcc, struct DCC *new_dcc) +{ + struct stat st_a, st_b; + + /* if it's the same filename, must be same */ + if (strcmp (dcc->destfile, new_dcc->destfile) == 0) + return TRUE; + + /* now handle case-insensitive Filesystems: HFS+, FAT */ +#ifdef WIN32 +#warning no win32 implementation - behaviour may be unreliable +#else + /* this fstat() shouldn't really fail */ + if ((dcc->fp == -1 ? stat (dcc->destfile_fs, &st_a) : fstat (dcc->fp, &st_a)) == -1) + return FALSE; + if (stat (new_dcc->destfile_fs, &st_b) == -1) + return FALSE; + + /* same inode, same device, same file! */ + if (st_a.st_ino == st_b.st_ino && + st_a.st_dev == st_b.st_dev) + return TRUE; +#endif + + return FALSE; +} + +static int +is_resumable (struct DCC *dcc) +{ + dcc->resumable = 0; + + /* Check the file size */ + if (access (dcc->destfile_fs, W_OK) == 0) + { + struct stat st; + + if (stat (dcc->destfile_fs, &st) != -1) + { + if (st.st_size < dcc->size) + { + dcc->resumable = st.st_size; + dcc->pos = st.st_size; + } + else + dcc->resume_error = 2; + } else + { + dcc->resume_errno = errno; + dcc->resume_error = 1; + } + } else + { + dcc->resume_errno = errno; + dcc->resume_error = 1; + } + + /* Now verify that this DCC is not already in progress from someone else */ + + if (dcc->resumable) + { + GSList *list = dcc_list; + struct DCC *d; + while (list) + { + d = list->data; + if (d->type == TYPE_RECV && d->dccstat != STAT_ABORTED && + d->dccstat != STAT_DONE && d->dccstat != STAT_FAILED) + { + if (d != dcc && is_same_file (d, dcc)) + { + dcc->resume_error = 3; /* dccgui.c uses it */ + dcc->resumable = 0; + dcc->pos = 0; + break; + } + } + list = list->next; + } + } + + return dcc->resumable; +} + +void +dcc_get (struct DCC *dcc) +{ + switch (dcc->dccstat) + { + case STAT_QUEUED: + if (dcc->type != TYPE_CHATSEND) + { + if (dcc->type == TYPE_RECV && prefs.autoresume && dcc->resumable) + { + dcc_resume (dcc); + } + else + { + dcc->resumable = 0; + dcc->pos = 0; + dcc_connect (dcc); + } + } + break; + case STAT_DONE: + case STAT_FAILED: + case STAT_ABORTED: + dcc_close (dcc, 0, TRUE); + break; + } +} + +/* for "Save As..." dialog */ + +void +dcc_get_with_destfile (struct DCC *dcc, char *file) +{ + g_free (dcc->destfile); + dcc->destfile = g_strdup (file); /* utf-8 */ + + /* get the local filesystem encoding */ + g_free (dcc->destfile_fs); + dcc->destfile_fs = xchat_filename_from_utf8 (dcc->destfile, -1, 0, 0, 0); + + /* since destfile changed, must check resumability again */ + is_resumable (dcc); + + dcc_get (dcc); +} + +void +dcc_get_nick (struct session *sess, char *nick) +{ + struct DCC *dcc; + GSList *list = dcc_list; + while (list) + { + dcc = (struct DCC *) list->data; + if (!sess->server->p_cmp (nick, dcc->nick)) + { + if (dcc->dccstat == STAT_QUEUED && dcc->type == TYPE_RECV) + { + dcc->resumable = 0; + dcc->pos = 0; + dcc->ack = 0; + dcc_connect (dcc); + return; + } + } + list = list->next; + } + if (sess) + EMIT_SIGNAL (XP_TE_DCCIVAL, sess, NULL, NULL, NULL, NULL, 0); +} + +static struct DCC * +new_dcc (void) +{ + struct DCC *dcc = malloc (sizeof (struct DCC)); + if (!dcc) + return 0; + memset (dcc, 0, sizeof (struct DCC)); + dcc->sok = -1; + dcc->fp = -1; + dcc_list = g_slist_prepend (dcc_list, dcc); + return (dcc); +} + +void +dcc_chat (struct session *sess, char *nick, int passive) +{ + char outbuf[512]; + struct DCC *dcc; + + dcc = find_dcc (nick, "", TYPE_CHATSEND); + if (dcc) + { + switch (dcc->dccstat) + { + case STAT_ACTIVE: + case STAT_QUEUED: + case STAT_CONNECTING: + EMIT_SIGNAL (XP_TE_DCCCHATREOFFER, sess, nick, NULL, NULL, NULL, 0); + return; + case STAT_ABORTED: + case STAT_FAILED: + dcc_close (dcc, 0, TRUE); + } + } + dcc = find_dcc (nick, "", TYPE_CHATRECV); + if (dcc) + { + switch (dcc->dccstat) + { + case STAT_QUEUED: + dcc_connect (dcc); + break; + case STAT_FAILED: + case STAT_ABORTED: + dcc_close (dcc, 0, TRUE); + } + return; + } + /* offer DCC CHAT */ + + dcc = new_dcc (); + if (!dcc) + return; + dcc->starttime = dcc->offertime = time (0); + dcc->serv = sess->server; + dcc->dccstat = STAT_QUEUED; + dcc->type = TYPE_CHATSEND; + dcc->nick = strdup (nick); + if (passive || dcc_listen_init (dcc, sess)) + { + if (prefs.autoopendccchatwindow) + { + if (fe_dcc_open_chat_win (TRUE)) /* already open? add only */ + fe_dcc_add (dcc); + } else + fe_dcc_add (dcc); + + if (passive) + { + dcc->pasvid = new_id (); + snprintf (outbuf, sizeof (outbuf), "DCC CHAT chat 199 %d %d", + dcc->port, dcc->pasvid); + } else + { + snprintf (outbuf, sizeof (outbuf), "DCC CHAT chat %u %d", + dcc->addr, dcc->port); + } + dcc->serv->p_ctcp (dcc->serv, nick, outbuf); + EMIT_SIGNAL (XP_TE_DCCCHATOFFERING, sess, nick, NULL, NULL, NULL, 0); + } else + { + dcc_close (dcc, 0, TRUE); + } +} + +static void +dcc_malformed (struct session *sess, char *nick, char *data) +{ + EMIT_SIGNAL (XP_TE_MALFORMED, sess, nick, data, NULL, NULL, 0); +} + +int +dcc_resume (struct DCC *dcc) +{ + char tbuf[500]; + + if (dcc->dccstat == STAT_QUEUED && dcc->resumable) + { + dcc->resume_sent = 1; + /* filename contains spaces? Quote them! */ + snprintf (tbuf, sizeof (tbuf) - 10, strchr (dcc->file, ' ') ? + "DCC RESUME \"%s\" %d %"DCC_SFMT : + "DCC RESUME %s %d %"DCC_SFMT, + dcc->file, dcc->port, dcc->resumable); + + if (dcc->pasvid) + sprintf (tbuf + strlen (tbuf), " %d", dcc->pasvid); + + dcc->serv->p_ctcp (dcc->serv, dcc->nick, tbuf); + return 1; + } + + return 0; +} + +static void +dcc_confirm_send (void *ud) +{ + struct DCC *dcc = (struct DCC *) ud; + dcc_get (dcc); +} + +static void +dcc_deny_send (void *ud) +{ + struct DCC *dcc = (struct DCC *) ud; + dcc_abort (dcc->serv->front_session, dcc); +} + +static void +dcc_confirm_chat (void *ud) +{ + struct DCC *dcc = (struct DCC *) ud; + dcc_connect (dcc); +} + +static void +dcc_deny_chat (void *ud) +{ + struct DCC *dcc = (struct DCC *) ud; + dcc_abort (dcc->serv->front_session, dcc); +} + +static struct DCC * +dcc_add_chat (session *sess, char *nick, int port, guint32 addr, int pasvid) +{ + struct DCC *dcc; + + dcc = new_dcc (); + if (dcc) + { + dcc->serv = sess->server; + dcc->type = TYPE_CHATRECV; + dcc->dccstat = STAT_QUEUED; + dcc->addr = addr; + dcc->port = port; + dcc->pasvid = pasvid; + dcc->nick = strdup (nick); + dcc->starttime = time (0); + + EMIT_SIGNAL (XP_TE_DCCCHATOFFER, sess->server->front_session, nick, + NULL, NULL, NULL, 0); + + if (prefs.autoopendccchatwindow) + { + if (fe_dcc_open_chat_win (TRUE)) /* already open? add only */ + fe_dcc_add (dcc); + } else + fe_dcc_add (dcc); + + if (prefs.autodccchat == 1) + dcc_connect (dcc); + else if (prefs.autodccchat == 2) + { + char buff[128]; + snprintf (buff, sizeof (buff), "%s is offering DCC Chat. Do you want to accept?", nick); + fe_confirm (buff, dcc_confirm_chat, dcc_deny_chat, dcc); + } + } + + return dcc; +} + +static struct DCC * +dcc_add_file (session *sess, char *file, DCC_SIZE size, int port, char *nick, guint32 addr, int pasvid) +{ + struct DCC *dcc; + char tbuf[512]; + + dcc = new_dcc (); + if (dcc) + { + dcc->file = strdup (file); + + dcc->destfile = g_malloc (strlen (prefs.dccdir) + strlen (nick) + + strlen (file) + 4); + + strcpy (dcc->destfile, prefs.dccdir); + if (prefs.dccdir[strlen (prefs.dccdir) - 1] != '/') + strcat (dcc->destfile, "/"); + if (prefs.dccwithnick) + { +#ifdef WIN32 + char *t = strlen (dcc->destfile) + dcc->destfile; + strcpy (t, nick); + while (*t) + { + if (*t == '\\' || *t == '|') + *t = '_'; + t++; + } +#else + strcat (dcc->destfile, nick); +#endif + strcat (dcc->destfile, "."); + } + strcat (dcc->destfile, file); + + /* get the local filesystem encoding */ + dcc->destfile_fs = xchat_filename_from_utf8 (dcc->destfile, -1, 0, 0, 0); + + dcc->resumable = 0; + dcc->pos = 0; + dcc->serv = sess->server; + dcc->type = TYPE_RECV; + dcc->dccstat = STAT_QUEUED; + dcc->addr = addr; + dcc->port = port; + dcc->pasvid = pasvid; + dcc->size = size; + dcc->nick = strdup (nick); + dcc->maxcps = prefs.dcc_max_get_cps; + + is_resumable (dcc); + + /* autodccsend is really autodccrecv.. right? */ + + if (prefs.autodccsend == 1) + { + dcc_get (dcc); + } + else if (prefs.autodccsend == 2) + { + snprintf (tbuf, sizeof (tbuf), _("%s is offering \"%s\". Do you want to accept?"), nick, file); + fe_confirm (tbuf, dcc_confirm_send, dcc_deny_send, dcc); + } + if (prefs.autoopendccrecvwindow) + { + if (fe_dcc_open_recv_win (TRUE)) /* was already open? just add*/ + fe_dcc_add (dcc); + } else + fe_dcc_add (dcc); + } + sprintf (tbuf, "%"DCC_SFMT, size); + snprintf (tbuf + 24, 300, "%s:%d", net_ip (addr), port); + EMIT_SIGNAL (XP_TE_DCCSENDOFFER, sess->server->front_session, nick, + file, tbuf, tbuf + 24, 0); + + return dcc; +} + +void +handle_dcc (struct session *sess, char *nick, char *word[], + char *word_eol[]) +{ + char tbuf[512]; + struct DCC *dcc; + char *type = word[5]; + int port, pasvid = 0; + guint32 addr; + DCC_SIZE size; + int psend = 0; + + if (!strcasecmp (type, "CHAT")) + { + port = atoi (word[8]); + addr = strtoul (word[7], NULL, 10); + + if (port == 0) + pasvid = atoi (word[9]); + else if (word[9][0] != 0) + { + pasvid = atoi (word[9]); + psend = 1; + } + + if (!addr /*|| (port < 1024 && port != 0)*/ + || port > 0xffff || (port == 0 && pasvid == 0)) + { + dcc_malformed (sess, nick, word_eol[4] + 2); + return; + } + + if (psend) + { + dcc = find_dcc_from_id (pasvid, TYPE_CHATSEND); + if (dcc) + { + dcc->addr = addr; + dcc->port = port; + dcc_connect (dcc); + } else + { + dcc_malformed (sess, nick, word_eol[4] + 2); + } + return; + } + + dcc = find_dcc (nick, "", TYPE_CHATSEND); + if (dcc) + dcc_close (dcc, 0, TRUE); + + dcc = find_dcc (nick, "", TYPE_CHATRECV); + if (dcc) + dcc_close (dcc, 0, TRUE); + + dcc_add_chat (sess, nick, port, addr, pasvid); + return; + } + + if (!strcasecmp (type, "Resume")) + { + port = atoi (word[7]); + + if (port == 0) + { /* PASSIVE */ + pasvid = atoi(word[9]); + dcc = find_dcc_from_id(pasvid, TYPE_SEND); + } else + { + dcc = find_dcc_from_port (port, TYPE_SEND); + } + if (!dcc) + dcc = find_dcc (nick, word[6], TYPE_SEND); + if (dcc) + { + size = BIG_STR_TO_INT (word[8]); + dcc->resumable = size; + if (dcc->resumable < dcc->size) + { + dcc->pos = dcc->resumable; + dcc->ack = dcc->resumable; + lseek (dcc->fp, dcc->pos, SEEK_SET); + + /* Checking if dcc is passive and if filename contains spaces */ + if (dcc->pasvid) + snprintf (tbuf, sizeof (tbuf), strchr (file_part (dcc->file), ' ') ? + "DCC ACCEPT \"%s\" %d %"DCC_SFMT" %d" : + "DCC ACCEPT %s %d %"DCC_SFMT" %d", + file_part (dcc->file), port, dcc->resumable, dcc->pasvid); + else + snprintf (tbuf, sizeof (tbuf), strchr (file_part (dcc->file), ' ') ? + "DCC ACCEPT \"%s\" %d %"DCC_SFMT : + "DCC ACCEPT %s %d %"DCC_SFMT, + file_part (dcc->file), port, dcc->resumable); + + dcc->serv->p_ctcp (dcc->serv, dcc->nick, tbuf); + } + sprintf (tbuf, "%"DCC_SFMT, dcc->pos); + EMIT_SIGNAL (XP_TE_DCCRESUMEREQUEST, sess, nick, + file_part (dcc->file), tbuf, NULL, 0); + } + return; + } + if (!strcasecmp (type, "Accept")) + { + port = atoi (word[7]); + dcc = find_dcc_from_port (port, TYPE_RECV); + if (dcc && dcc->dccstat == STAT_QUEUED) + { + dcc_connect (dcc); + } + return; + } + if (!strcasecmp (type, "SEND")) + { + char *file = file_part (word[6]); + + port = atoi (word[8]); + addr = strtoul (word[7], NULL, 10); + size = BIG_STR_TO_INT (word[9]); + + if (port == 0) /* Passive dcc requested */ + pasvid = atoi (word[10]); + else if (word[10][0] != 0) + { + /* Requesting passive dcc. + * Destination user of an active dcc is giving his + * TRUE address/port/pasvid data. + * This information will be used later to + * establish the connection to the user. + * We can recognize this type of dcc using word[10] + * because this field is always null (no pasvid) + * in normal dcc sends. + */ + pasvid = atoi (word[10]); + psend = 1; + } + + + if (!addr || !size /*|| (port < 1024 && port != 0)*/ + || port > 0xffff || (port == 0 && pasvid == 0)) + { + dcc_malformed (sess, nick, word_eol[4] + 2); + return; + } + + if (psend) + { + /* Third Step of Passive send. + * Connecting to the destination and finally + * sending file. + */ + dcc = find_dcc_from_id (pasvid, TYPE_SEND); + if (dcc) + { + dcc->addr = addr; + dcc->port = port; + dcc_connect (dcc); + } else + { + dcc_malformed (sess, nick, word_eol[4] + 2); + } + return; + } + + dcc_add_file (sess, file, size, port, nick, addr, pasvid); + + } else + { + EMIT_SIGNAL (XP_TE_DCCGENERICOFFER, sess->server->front_session, + word_eol[4] + 2, nick, NULL, NULL, 0); + } +} + +void +dcc_show_list (struct session *sess) +{ + int i = 0; + struct DCC *dcc; + GSList *list = dcc_list; + + EMIT_SIGNAL (XP_TE_DCCHEAD, sess, NULL, NULL, NULL, NULL, 0); + while (list) + { + dcc = (struct DCC *) list->data; + i++; + PrintTextf (sess, " %s %-10.10s %-7.7s %-7"DCC_SFMT" %-7"DCC_SFMT" %s\n", + dcctypes[dcc->type], dcc->nick, + _(dccstat[dcc->dccstat].name), dcc->size, dcc->pos, + file_part (dcc->file)); + list = list->next; + } + if (!i) + PrintText (sess, _("No active DCCs\n")); +} diff --git a/src/common/dcc.h b/src/common/dcc.h new file mode 100644 index 00000000..da4ce979 --- /dev/null +++ b/src/common/dcc.h @@ -0,0 +1,117 @@ +/* dcc.h */ + +#include <time.h> /* for time_t */ + +#ifndef XCHAT_DCC_H +#define XCHAT_DCC_H + +#define STAT_QUEUED 0 +#define STAT_ACTIVE 1 +#define STAT_FAILED 2 +#define STAT_DONE 3 +#define STAT_CONNECTING 4 +#define STAT_ABORTED 5 + +#define TYPE_SEND 0 +#define TYPE_RECV 1 +#define TYPE_CHATRECV 2 +#define TYPE_CHATSEND 3 + +#define CPS_AVG_WINDOW 10 + +/* can we do 64-bit dcc? */ +#if defined(G_GINT64_FORMAT) && defined(HAVE_STRTOULL) +#define USE_DCC64 +/* we really get only 63 bits, since st_size is signed */ +#define DCC_SIZE gint64 +#define DCC_SFMT G_GINT64_FORMAT +#else +#define DCC_SIZE unsigned int +#define DCC_SFMT "u" +#endif + +struct DCC +{ + struct server *serv; + struct dcc_chat *dccchat; + struct proxy_state *proxy; + guint32 addr; /* the 32bit IP number, host byte order */ + int fp; /* file pointer */ + int sok; + int iotag; /* reading io tag */ + int wiotag; /* writing/sending io tag */ + int port; + int pasvid; /* mIRC's passive DCC id */ + int cps; + int resume_error; + int resume_errno; + + GTimeVal lastcpstv, firstcpstv; + DCC_SIZE lastcpspos; + int maxcps; + + unsigned char ack_buf[4]; /* buffer for reading 4-byte ack */ + int ack_pos; + + DCC_SIZE size; + DCC_SIZE resumable; + DCC_SIZE ack; + DCC_SIZE pos; + time_t starttime; + time_t offertime; + time_t lasttime; + char *file; /* utf8 */ + char *destfile; /* utf8 */ + char *destfile_fs; /* local filesystem encoding */ + char *nick; + unsigned char type; /* 0 = SEND 1 = RECV 2 = CHAT */ + unsigned char dccstat; /* 0 = QUEUED 1 = ACTIVE 2 = FAILED 3 = DONE */ + unsigned int resume_sent:1; /* resume request sent */ + unsigned int fastsend:1; + unsigned int ackoffset:1; /* is reciever sending acks as an offset from */ + /* the resume point? */ + unsigned int throttled:2; /* 0x1 = per send/get throttle + 0x2 = global throttle */ +}; + +#define MAX_PROXY_BUFFER 1024 +struct proxy_state +{ + int phase; + unsigned char buffer[MAX_PROXY_BUFFER]; + int buffersize; + int bufferused; +}; + +struct dcc_chat +{ + char linebuf[2048]; + int pos; +}; + +struct dccstat_info +{ + char *name; /* Display name */ + int color; /* Display color (index into colors[] ) */ +}; + +extern struct dccstat_info dccstat[]; + +gboolean is_dcc (struct DCC *dcc); +void dcc_abort (session *sess, struct DCC *dcc); +void dcc_get (struct DCC *dcc); +int dcc_resume (struct DCC *dcc); +void dcc_check_timeouts (void); +void dcc_change_nick (server *serv, char *oldnick, char *newnick); +void dcc_notify_kill (struct server *serv); +struct DCC *dcc_write_chat (char *nick, char *text); +void dcc_send (struct session *sess, char *to, char *file, int maxcps, int passive); +struct DCC *find_dcc (char *nick, char *file, int type); +void dcc_get_nick (struct session *sess, char *nick); +void dcc_chat (session *sess, char *nick, int passive); +void handle_dcc (session *sess, char *nick, char *word[], char *word_eol[]); +void dcc_show_list (session *sess); +guint32 dcc_get_my_address (void); +void dcc_get_with_destfile (struct DCC *dcc, char *utf8file); + +#endif diff --git a/src/common/fe.h b/src/common/fe.h new file mode 100644 index 00000000..16526581 --- /dev/null +++ b/src/common/fe.h @@ -0,0 +1,162 @@ +#include "userlist.h" +#include "dcc.h" + +#ifndef XCHAT_FE_H +#define XCHAT_FE_H + +/* for storage of /menu entries */ +typedef struct +{ + gint32 pos; /* position */ + gint16 modifier; /* keybinding */ + gint16 root_offset; /* bytes to offset ->path */ + + char is_main; /* is part of the Main menu? (not a popup) */ + char state; /* state of toggle items */ + char markup; /* use pango markup? */ + char enable; /* enabled? sensitivity */ + + int key; + char *path; + char *label; + char *cmd; + char *ucmd; /* unselect command (toggles) */ + char *group; /* for radio items or NULL */ + char *icon; /* filename */ +} menu_entry; + +int fe_args (int argc, char *argv[]); +void fe_init (void); +void fe_main (void); +void fe_cleanup (void); +void fe_exit (void); +int fe_timeout_add (int interval, void *callback, void *userdata); +void fe_timeout_remove (int tag); +void fe_new_window (struct session *sess, int focus); +void fe_new_server (struct server *serv); +void fe_add_rawlog (struct server *serv, char *text, int len, int outbound); +#define FE_MSG_WAIT 1 +#define FE_MSG_INFO 2 +#define FE_MSG_WARN 4 +#define FE_MSG_ERROR 8 +#define FE_MSG_MARKUP 16 +void fe_message (char *msg, int flags); +#define FIA_READ 1 +#define FIA_WRITE 2 +#define FIA_EX 4 +#define FIA_FD 8 +int fe_input_add (int sok, int flags, void *func, void *data); +void fe_input_remove (int tag); +void fe_idle_add (void *func, void *data); +void fe_set_topic (struct session *sess, char *topic, char *stripped_topic); +void fe_set_hilight (struct session *sess); +void fe_set_tab_color (struct session *sess, int col); +void fe_flash_window (struct session *sess); +void fe_update_mode_buttons (struct session *sess, char mode, char sign); +void fe_update_channel_key (struct session *sess); +void fe_update_channel_limit (struct session *sess); +int fe_is_chanwindow (struct server *serv); +void fe_add_chan_list (struct server *serv, char *chan, char *users, + char *topic); +void fe_chan_list_end (struct server *serv); +int fe_is_banwindow (struct session *sess); +void fe_add_ban_list (struct session *sess, char *mask, char *who, char *when, int is_exemption); +void fe_ban_list_end (struct session *sess, int is_exemption); +void fe_notify_update (char *name); +void fe_notify_ask (char *name, char *networks); +void fe_text_clear (struct session *sess, int lines); +void fe_close_window (struct session *sess); +void fe_progressbar_start (struct session *sess); +void fe_progressbar_end (struct server *serv); +void fe_print_text (struct session *sess, char *text, time_t stamp); +void fe_userlist_insert (struct session *sess, struct User *newuser, int row, int sel); +int fe_userlist_remove (struct session *sess, struct User *user); +void fe_userlist_rehash (struct session *sess, struct User *user); +void fe_userlist_update (struct session *sess, struct User *user); +void fe_userlist_move (struct session *sess, struct User *user, int new_row); +void fe_userlist_numbers (struct session *sess); +void fe_userlist_clear (struct session *sess); +void fe_userlist_set_selected (struct session *sess); +void fe_uselect (session *sess, char *word[], int do_clear, int scroll_to); +void fe_dcc_add (struct DCC *dcc); +void fe_dcc_update (struct DCC *dcc); +void fe_dcc_remove (struct DCC *dcc); +int fe_dcc_open_recv_win (int passive); +int fe_dcc_open_send_win (int passive); +int fe_dcc_open_chat_win (int passive); +void fe_clear_channel (struct session *sess); +void fe_session_callback (struct session *sess); +void fe_server_callback (struct server *serv); +void fe_url_add (const char *text); +void fe_pluginlist_update (void); +void fe_buttons_update (struct session *sess); +void fe_dlgbuttons_update (struct session *sess); +void fe_dcc_send_filereq (struct session *sess, char *nick, int maxcps, int passive); +void fe_set_channel (struct session *sess); +void fe_set_title (struct session *sess); +void fe_set_nonchannel (struct session *sess, int state); +void fe_set_nick (struct server *serv, char *newnick); +void fe_ignore_update (int level); +void fe_beep (void); +void fe_lastlog (session *sess, session *lastlog_sess, char *sstr, gboolean regexp); +void fe_set_lag (server *serv, int lag); +void fe_set_throttle (server *serv); +void fe_set_away (server *serv); +void fe_serverlist_open (session *sess); +void fe_get_str (char *prompt, char *def, void *callback, void *ud); +void fe_get_int (char *prompt, int def, void *callback, void *ud); +#define FRF_WRITE 1 /* save file */ +#define FRF_MULTIPLE 2 /* multi-select */ +#define FRF_ADDFOLDER 4 /* add ~/.xchat2 to favourites */ +#define FRF_CHOOSEFOLDER 8 /* choosing a folder only */ +#define FRF_FILTERISINITIAL 16 /* unused */ +#define FRF_NOASKOVERWRITE 32 /* don't ask to overwrite existing files */ +void fe_get_file (const char *title, char *initial, + void (*callback) (void *userdata, char *file), void *userdata, + int flags); +typedef enum { + FE_GUI_HIDE, + FE_GUI_SHOW, + FE_GUI_FOCUS, + FE_GUI_FLASH, + FE_GUI_COLOR, + FE_GUI_ICONIFY, + FE_GUI_MENU, + FE_GUI_ATTACH, + FE_GUI_APPLY, +} fe_gui_action; +void fe_ctrl_gui (session *sess, fe_gui_action action, int arg); +int fe_gui_info (session *sess, int info_type); +void *fe_gui_info_ptr (session *sess, int info_type); +void fe_confirm (const char *message, void (*yesproc)(void *), void (*noproc)(void *), void *ud); +char *fe_get_inputbox_contents (struct session *sess); +int fe_get_inputbox_cursor (struct session *sess); +void fe_set_inputbox_contents (struct session *sess, char *text); +void fe_set_inputbox_cursor (struct session *sess, int delta, int pos); +void fe_open_url (const char *url); +void fe_menu_del (menu_entry *); +char *fe_menu_add (menu_entry *); +void fe_menu_update (menu_entry *); +#define FE_SE_CONNECT 0 +#define FE_SE_LOGGEDIN 1 +#define FE_SE_DISCONNECT 2 +#define FE_SE_RECONDELAY 3 +#define FE_SE_CONNECTING 4 +void fe_server_event (server *serv, int type, int arg); +/* pass NULL filename2 for default xchat icon */ +void fe_tray_set_flash (const char *filename1, const char *filename2, int timeout); +/* pass NULL filename for default xchat icon */ +void fe_tray_set_file (const char *filename); +typedef enum +{ + FE_ICON_NORMAL = 0, + FE_ICON_MESSAGE = 2, + FE_ICON_HIGHLIGHT = 5, + FE_ICON_PRIVMSG = 8, + FE_ICON_FILEOFFER = 11 +} feicon; +void fe_tray_set_icon (feicon icon); +void fe_tray_set_tooltip (const char *text); +void fe_tray_set_balloon (const char *title, const char *text); + +#endif diff --git a/src/common/history.c b/src/common/history.c new file mode 100644 index 00000000..1cd6b508 --- /dev/null +++ b/src/common/history.c @@ -0,0 +1,121 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <string.h> +#include <stdlib.h> +#include "history.h" + +void +history_add (struct history *his, char *text) +{ + if (his->lines[his->realpos]) + free (his->lines[his->realpos]); + his->lines[his->realpos] = strdup (text); + his->realpos++; + if (his->realpos == HISTORY_SIZE) + his->realpos = 0; + his->pos = his->realpos; +} + +void +history_free (struct history *his) +{ + int i; + for (i = 0; i < HISTORY_SIZE; i++) + { + if (his->lines[i]) + { + free (his->lines[i]); + his->lines[i] = 0; + } + } +} + +char * +history_down (struct history *his) +{ + int next; + + if (his->pos == his->realpos) /* allow down only after up */ + return 0; + if (his->realpos == 0) + { + if (his->pos == HISTORY_SIZE - 1) + { + his->pos = 0; + return ""; + } + } else + { + if (his->pos == his->realpos - 1) + { + his->pos++; + return ""; + } + } + + next = 0; + if (his->pos < HISTORY_SIZE - 1) + next = his->pos + 1; + + if (his->lines[next]) + { + his->pos = next; + return his->lines[his->pos]; + } + + return 0; +} + +char * +history_up (struct history *his, char *current_text) +{ + int next; + + if (his->realpos == HISTORY_SIZE - 1) + { + if (his->pos == 0) + return 0; + } else + { + if (his->pos == his->realpos + 1) + return 0; + } + + next = HISTORY_SIZE - 1; + if (his->pos != 0) + next = his->pos - 1; + + if (his->lines[next]) + { + if + ( + current_text[0] && strcmp(current_text, his->lines[next]) && + (!his->lines[his->pos] || strcmp(current_text, his->lines[his->pos])) && + (!his->lines[his->realpos] || strcmp(current_text, his->lines[his->pos])) + ) + { + history_add (his, current_text); + } + + his->pos = next; + return his->lines[his->pos]; + } + + return 0; +} diff --git a/src/common/history.h b/src/common/history.h new file mode 100644 index 00000000..5267f1fc --- /dev/null +++ b/src/common/history.h @@ -0,0 +1,18 @@ +#ifndef XCHAT_HISTORY_H +#define XCHAT_HISTORY_H + +#define HISTORY_SIZE 100 + +struct history +{ + char *lines[HISTORY_SIZE]; + int pos; + int realpos; +}; + +void history_add (struct history *his, char *text); +void history_free (struct history *his); +char *history_up (struct history *his, char *current_text); +char *history_down (struct history *his); + +#endif diff --git a/src/common/identd.c b/src/common/identd.c new file mode 100644 index 00000000..919282ea --- /dev/null +++ b/src/common/identd.c @@ -0,0 +1,89 @@ +/* simple identd server for xchat under win32 */ + + +static int identd_is_running = FALSE; + + +static int +identd (char *username) +{ + int sok, read_sok, len; + char *p; + char buf[256]; + char outbuf[256]; + struct sockaddr_in addr; + + sok = socket (AF_INET, SOCK_STREAM, 0); + if (sok == INVALID_SOCKET) + { + free (username); + return 0; + } + + len = 1; + setsockopt (sok, SOL_SOCKET, SO_REUSEADDR, (char *) &len, sizeof (len)); + + memset (&addr, 0, sizeof (addr)); + addr.sin_family = AF_INET; + addr.sin_port = htons (113); + + if (bind (sok, (struct sockaddr *) &addr, sizeof (addr)) == SOCKET_ERROR) + { + closesocket (sok); + free (username); + return 0; + } + + if (listen (sok, 1) == SOCKET_ERROR) + { + closesocket (sok); + free (username); + return 0; + } + + len = sizeof (addr); + read_sok = accept (sok, (struct sockaddr *) &addr, &len); + closesocket (sok); + if (read_sok == INVALID_SOCKET) + { + free (username); + return 0; + } + + identd_is_running = FALSE; + + snprintf (outbuf, sizeof (outbuf), "%%\tServicing ident request from %s\n", + inet_ntoa (addr.sin_addr)); + PrintText (current_sess, outbuf); + + recv (read_sok, buf, sizeof (buf) - 1, 0); + buf[sizeof (buf) - 1] = 0; /* ensure null termination */ + + p = strchr (buf, ','); + if (p) + { + snprintf (outbuf, sizeof (outbuf) - 1, "%d, %d : USERID : UNIX : %s\r\n", + atoi (buf), atoi (p + 1), username); + outbuf[sizeof (outbuf) - 1] = 0; /* ensure null termination */ + send (read_sok, outbuf, strlen (outbuf), 0); + } + + sleep (1); + closesocket (read_sok); + free (username); + + return 0; +} + +static void +identd_start (char *username) +{ + DWORD tid; + + if (identd_is_running == FALSE) + { + identd_is_running = TRUE; + CloseHandle (CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE) identd, + strdup (username), 0, &tid)); + } +} diff --git a/src/common/ignore.c b/src/common/ignore.c new file mode 100644 index 00000000..c3544f30 --- /dev/null +++ b/src/common/ignore.c @@ -0,0 +1,424 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include <unistd.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +#include "xchat.h" +#include "ignore.h" +#include "cfgfiles.h" +#include "fe.h" +#include "text.h" +#include "util.h" +#include "xchatc.h" + + +int ignored_ctcp = 0; /* keep a count of all we ignore */ +int ignored_priv = 0; +int ignored_chan = 0; +int ignored_noti = 0; +int ignored_invi = 0; +static int ignored_total = 0; + +/* ignore_exists (): + * returns: struct ig, if this mask is in the ignore list already + * NULL, otherwise + */ +struct ignore * +ignore_exists (char *mask) +{ + struct ignore *ig = 0; + GSList *list; + + list = ignore_list; + while (list) + { + ig = (struct ignore *) list->data; + if (!rfc_casecmp (ig->mask, mask)) + return ig; + list = list->next; + } + return NULL; + +} + +/* ignore_add(...) + + * returns: + * 0 fail + * 1 success + * 2 success (old ignore has been changed) + */ + +int +ignore_add (char *mask, int type) +{ + struct ignore *ig = 0; + int change_only = FALSE; + + /* first check if it's already ignored */ + ig = ignore_exists (mask); + if (ig) + change_only = TRUE; + + if (!change_only) + ig = malloc (sizeof (struct ignore)); + + if (!ig) + return 0; + + ig->mask = strdup (mask); + ig->type = type; + + if (!change_only) + ignore_list = g_slist_prepend (ignore_list, ig); + fe_ignore_update (1); + + if (change_only) + return 2; + + return 1; +} + +void +ignore_showlist (session *sess) +{ + struct ignore *ig; + GSList *list = ignore_list; + char tbuf[256]; + int i = 0; + + EMIT_SIGNAL (XP_TE_IGNOREHEADER, sess, 0, 0, 0, 0, 0); + + while (list) + { + ig = list->data; + i++; + + snprintf (tbuf, sizeof (tbuf), " %-25s ", ig->mask); + if (ig->type & IG_PRIV) + strcat (tbuf, _("YES ")); + else + strcat (tbuf, _("NO ")); + if (ig->type & IG_NOTI) + strcat (tbuf, _("YES ")); + else + strcat (tbuf, _("NO ")); + if (ig->type & IG_CHAN) + strcat (tbuf, _("YES ")); + else + strcat (tbuf, _("NO ")); + if (ig->type & IG_CTCP) + strcat (tbuf, _("YES ")); + else + strcat (tbuf, _("NO ")); + if (ig->type & IG_DCC) + strcat (tbuf, _("YES ")); + else + strcat (tbuf, _("NO ")); + if (ig->type & IG_INVI) + strcat (tbuf, _("YES ")); + else + strcat (tbuf, _("NO ")); + if (ig->type & IG_UNIG) + strcat (tbuf, _("YES ")); + else + strcat (tbuf, _("NO ")); + strcat (tbuf, "\n"); + PrintText (sess, tbuf); + /*EMIT_SIGNAL (XP_TE_IGNORELIST, sess, ig->mask, 0, 0, 0, 0); */ + /* use this later, when TE's support 7 args */ + list = list->next; + } + + if (!i) + EMIT_SIGNAL (XP_TE_IGNOREEMPTY, sess, 0, 0, 0, 0, 0); + + EMIT_SIGNAL (XP_TE_IGNOREFOOTER, sess, 0, 0, 0, 0, 0); +} + +/* ignore_del() + + * one of the args must be NULL, use mask OR *ig, not both + * + */ + +int +ignore_del (char *mask, struct ignore *ig) +{ + if (!ig) + { + GSList *list = ignore_list; + + while (list) + { + ig = (struct ignore *) list->data; + if (!rfc_casecmp (ig->mask, mask)) + break; + list = list->next; + ig = 0; + } + } + if (ig) + { + ignore_list = g_slist_remove (ignore_list, ig); + free (ig->mask); + free (ig); + fe_ignore_update (1); + return TRUE; + } + return FALSE; +} + +/* check if a msg should be ignored by browsing our ignore list */ + +int +ignore_check (char *host, int type) +{ + struct ignore *ig; + GSList *list = ignore_list; + + /* check if there's an UNIGNORE first, they take precendance. */ + while (list) + { + ig = (struct ignore *) list->data; + if (ig->type & IG_UNIG) + { + if (ig->type & type) + { + if (match (ig->mask, host)) + return FALSE; + } + } + list = list->next; + } + + list = ignore_list; + while (list) + { + ig = (struct ignore *) list->data; + + if (ig->type & type) + { + if (match (ig->mask, host)) + { + ignored_total++; + if (type & IG_PRIV) + ignored_priv++; + if (type & IG_NOTI) + ignored_noti++; + if (type & IG_CHAN) + ignored_chan++; + if (type & IG_CTCP) + ignored_ctcp++; + if (type & IG_INVI) + ignored_invi++; + fe_ignore_update (2); + return TRUE; + } + } + list = list->next; + } + + return FALSE; +} + +static char * +ignore_read_next_entry (char *my_cfg, struct ignore *ignore) +{ + char tbuf[1024]; + + /* Casting to char * done below just to satisfy compiler */ + + if (my_cfg) + { + my_cfg = cfg_get_str (my_cfg, "mask", tbuf, sizeof (tbuf)); + if (!my_cfg) + return NULL; + ignore->mask = strdup (tbuf); + } + if (my_cfg) + { + my_cfg = cfg_get_str (my_cfg, "type", tbuf, sizeof (tbuf)); + ignore->type = atoi (tbuf); + } + return my_cfg; +} + +void +ignore_load () +{ + struct ignore *ignore; + struct stat st; + char *cfg, *my_cfg; + int fh, i; + + fh = xchat_open_file ("ignore.conf", O_RDONLY, 0, 0); + if (fh != -1) + { + fstat (fh, &st); + if (st.st_size) + { + cfg = malloc (st.st_size + 1); + cfg[0] = '\0'; + i = read (fh, cfg, st.st_size); + if (i >= 0) + cfg[i] = '\0'; + my_cfg = cfg; + while (my_cfg) + { + ignore = malloc (sizeof (struct ignore)); + memset (ignore, 0, sizeof (struct ignore)); + if ((my_cfg = ignore_read_next_entry (my_cfg, ignore))) + ignore_list = g_slist_prepend (ignore_list, ignore); + else + free (ignore); + } + free (cfg); + } + close (fh); + } +} + +void +ignore_save () +{ + char buf[1024]; + int fh; + GSList *temp = ignore_list; + struct ignore *ig; + + fh = xchat_open_file ("ignore.conf", O_TRUNC | O_WRONLY | O_CREAT, 0600, XOF_DOMODE); + if (fh != -1) + { + while (temp) + { + ig = (struct ignore *) temp->data; + if (!(ig->type & IG_NOSAVE)) + { + snprintf (buf, sizeof (buf), "mask = %s\ntype = %d\n\n", + ig->mask, ig->type); + write (fh, buf, strlen (buf)); + } + temp = temp->next; + } + close (fh); + } + +} + +static gboolean +flood_autodialog_timeout (gpointer data) +{ + prefs.autodialog = 1; + return FALSE; +} + +int +flood_check (char *nick, char *ip, server *serv, session *sess, int what) /*0=ctcp 1=priv */ +{ + /* + serv + int ctcp_counter; + time_t ctcp_last_time; + prefs + unsigned int ctcp_number_limit; + unsigned int ctcp_time_limit; + */ + char buf[512]; + char real_ip[132]; + int i; + time_t current_time; + current_time = time (NULL); + + if (what == 0) + { + if (serv->ctcp_last_time == 0) /*first ctcp in this server */ + { + serv->ctcp_last_time = time (NULL); + serv->ctcp_counter++; + } else + { + if (difftime (current_time, serv->ctcp_last_time) < prefs.ctcp_time_limit) /*if we got the ctcp in the seconds limit */ + { + serv->ctcp_counter++; + if (serv->ctcp_counter == prefs.ctcp_number_limit) /*if we reached the maximun numbers of ctcp in the seconds limits */ + { + serv->ctcp_last_time = current_time; /*we got the flood, restore all the vars for next one */ + serv->ctcp_counter = 0; + for (i = 0; i < 128; i++) + if (ip[i] == '@') + break; + snprintf (real_ip, sizeof (real_ip), "*!*%s", &ip[i]); + /*ignore_add (char *mask, int priv, int noti, int chan, + int ctcp, int invi, int unignore, int no_save) */ + + snprintf (buf, sizeof (buf), + _("You are being CTCP flooded from %s, ignoring %s\n"), + nick, real_ip); + PrintText (sess, buf); + + /*FIXME: only ignore ctcp or all?, its ignoring ctcps for now */ + ignore_add (real_ip, IG_CTCP); + return 0; + } + } + } + } else + { + if (serv->msg_last_time == 0) + { + serv->msg_last_time = time (NULL); + serv->ctcp_counter++; + } else + { + if (difftime (current_time, serv->msg_last_time) < + prefs.msg_time_limit) + { + serv->msg_counter++; + if (serv->msg_counter == prefs.msg_number_limit) /*if we reached the maximun numbers of ctcp in the seconds limits */ + { + snprintf (buf, sizeof (buf), + _("You are being MSG flooded from %s, setting gui_auto_open_dialog OFF.\n"), + ip); + PrintText (sess, buf); + serv->msg_last_time = current_time; /*we got the flood, restore all the vars for next one */ + serv->msg_counter = 0; + /*ignore_add (char *mask, int priv, int noti, int chan, + int ctcp, int invi, int unignore, int no_save) */ + + if (prefs.autodialog) + { + /*FIXME: only ignore ctcp or all?, its ignoring ctcps for now */ + prefs.autodialog = 0; + /* turn it back on in 30 secs */ + fe_timeout_add (30000, flood_autodialog_timeout, NULL); + } + return 0; + } + } + } + } + return 1; +} + diff --git a/src/common/ignore.h b/src/common/ignore.h new file mode 100644 index 00000000..3a971a86 --- /dev/null +++ b/src/common/ignore.h @@ -0,0 +1,38 @@ +#ifndef XCHAT_IGNORE_H +#define XCHAT_IGNORE_H + +extern GSList *ignore_list; + +extern int ignored_ctcp; +extern int ignored_priv; +extern int ignored_chan; +extern int ignored_noti; +extern int ignored_invi; + +#define IG_PRIV 1 +#define IG_NOTI 2 +#define IG_CHAN 4 +#define IG_CTCP 8 +#define IG_INVI 16 +#define IG_UNIG 32 +#define IG_NOSAVE 64 +#define IG_DCC 128 + +struct ignore +{ + char *mask; + unsigned int type; /* one of more of IG_* ORed together */ +}; + +struct ignore *ignore_exists (char *mask); +int ignore_add (char *mask, int type); +void ignore_showlist (session *sess); +int ignore_del (char *mask, struct ignore *ig); +int ignore_check (char *mask, int type); +void ignore_load (void); +void ignore_save (void); +void ignore_gui_open (void); +void ignore_gui_update (int level); +int flood_check (char *nick, char *ip, server *serv, session *sess, int what); + +#endif diff --git a/src/common/inbound.c b/src/common/inbound.c new file mode 100644 index 00000000..ec7dd9d0 --- /dev/null +++ b/src/common/inbound.c @@ -0,0 +1,1336 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <string.h> +#include <ctype.h> +#include <stdlib.h> +#include <stdio.h> +#include <sys/types.h> +#include <unistd.h> +#include <time.h> + +#define WANTARPA +#define WANTDNS +#include "inet.h" + +#include "xchat.h" +#include "util.h" +#include "ignore.h" +#include "fe.h" +#include "modes.h" +#include "notify.h" +#include "outbound.h" +#include "inbound.h" +#include "server.h" +#include "servlist.h" +#include "text.h" +#include "ctcp.h" +#include "plugin.h" +#include "xchatc.h" + + +void +clear_channel (session *sess) +{ + if (sess->channel[0]) + strcpy (sess->waitchannel, sess->channel); + sess->channel[0] = 0; + sess->doing_who = FALSE; + sess->done_away_check = FALSE; + + log_close (sess); + + if (sess->current_modes) + { + free (sess->current_modes); + sess->current_modes = NULL; + } + + if (sess->mode_timeout_tag) + { + fe_timeout_remove (sess->mode_timeout_tag); + sess->mode_timeout_tag = 0; + } + + fe_clear_channel (sess); + userlist_clear (sess); + fe_set_nonchannel (sess, FALSE); + fe_set_title (sess); +} + +void +set_topic (session *sess, char *topic, char *stripped_topic) +{ + if (sess->topic) + free (sess->topic); + sess->topic = strdup (stripped_topic); + fe_set_topic (sess, topic, stripped_topic); +} + +static session * +find_session_from_nick (char *nick, server *serv) +{ + session *sess; + GSList *list = sess_list; + + sess = find_dialog (serv, nick); + if (sess) + return sess; + + if (serv->front_session) + { + if (userlist_find (serv->front_session, nick)) + return serv->front_session; + } + + if (current_sess && current_sess->server == serv) + { + if (userlist_find (current_sess, nick)) + return current_sess; + } + + while (list) + { + sess = list->data; + if (sess->server == serv) + { + if (userlist_find (sess, nick)) + return sess; + } + list = list->next; + } + return 0; +} + +static session * +inbound_open_dialog (server *serv, char *from) +{ + session *sess; + + sess = new_ircwindow (serv, from, SESS_DIALOG, 0); + /* for playing sounds */ + EMIT_SIGNAL (XP_TE_OPENDIALOG, sess, NULL, NULL, NULL, NULL, 0); + + return sess; +} + +static void +inbound_make_idtext (server *serv, char *idtext, int max, int id) +{ + idtext[0] = 0; + if (serv->have_idmsg) + { + if (id) + { + safe_strcpy (idtext, prefs.irc_id_ytext, max); + } else + { + safe_strcpy (idtext, prefs.irc_id_ntext, max); + } + /* convert codes like %C,%U to the proper ones */ + check_special_chars (idtext, TRUE); + } +} + +void +inbound_privmsg (server *serv, char *from, char *ip, char *text, int id) +{ + session *sess; + char idtext[64]; + + sess = find_dialog (serv, from); + + if (sess || prefs.autodialog) + { + /*0=ctcp 1=priv will set autodialog=0 here is flud detected */ + if (!sess) + { + if (flood_check (from, ip, serv, current_sess, 1)) + /* Create a dialog session */ + sess = inbound_open_dialog (serv, from); + else + sess = serv->server_session; + if (!sess) + return; /* ?? */ + } + + if (ip && ip[0]) + { + if (prefs.logging && sess->logfd != -1 && + (!sess->topic || strcmp(sess->topic, ip))) + { + char tbuf[1024]; + snprintf (tbuf, sizeof (tbuf), "[%s has address %s]\n", from, ip); + write (sess->logfd, tbuf, strlen (tbuf)); + } + set_topic (sess, ip, ip); + } + inbound_chanmsg (serv, NULL, NULL, from, text, FALSE, id); + return; + } + + inbound_make_idtext (serv, idtext, sizeof (idtext), id); + + sess = find_session_from_nick (from, serv); + if (!sess) + { + sess = serv->front_session; + EMIT_SIGNAL (XP_TE_PRIVMSG, sess, from, text, idtext, NULL, 0); + return; + } + + if (sess->type == SESS_DIALOG) + EMIT_SIGNAL (XP_TE_DPRIVMSG, sess, from, text, idtext, NULL, 0); + else + EMIT_SIGNAL (XP_TE_PRIVMSG, sess, from, text, idtext, NULL, 0); +} + +/* used for Alerts section. Masks can be separated by commas and spaces. */ + +gboolean +alert_match_word (char *word, char *masks) +{ + char *p = masks; + char endchar; + int res; + + if (masks[0] == 0) + return FALSE; + + while (1) + { + /* if it's a 0, space or comma, the word has ended. */ + if (*p == 0 || *p == ' ' || *p == ',') + { + endchar = *p; + *p = 0; + res = match (masks, word); + *p = endchar; + + if (res) + return TRUE; /* yes, matched! */ + + masks = p + 1; + if (*p == 0) + return FALSE; + } + p++; + } +} + +gboolean +alert_match_text (char *text, char *masks) +{ + unsigned char *p = text; + unsigned char endchar; + int res; + + if (masks[0] == 0) + return FALSE; + + while (1) + { + if (*p >= '0' && *p <= '9') + { + p++; + continue; + } + + /* if it's RFC1459 <special>, it can be inside a word */ + switch (*p) + { + case '-': case '[': case ']': case '\\': + case '`': case '^': case '{': case '}': + case '_': case '|': + p++; + continue; + } + + /* if it's a 0, space or comma, the word has ended. */ + if (*p == 0 || *p == ' ' || *p == ',' || + /* if it's anything BUT a letter, the word has ended. */ + (!g_unichar_isalpha (g_utf8_get_char (p)))) + { + endchar = *p; + *p = 0; + res = alert_match_word (text, masks); + *p = endchar; + + if (res) + return TRUE; /* yes, matched! */ + + text = p + g_utf8_skip [p[0]]; + if (*p == 0) + return FALSE; + } + + p += g_utf8_skip [p[0]]; + } +} + +static int +is_hilight (char *from, char *text, session *sess, server *serv) +{ + if (alert_match_word (from, prefs.irc_no_hilight)) + return 0; + + text = strip_color (text, -1, STRIP_ALL); + + if (alert_match_text (text, serv->nick) || + alert_match_text (text, prefs.irc_extra_hilight) || + alert_match_word (from, prefs.irc_nick_hilight)) + { + g_free (text); + if (sess != current_tab) + sess->nick_said = TRUE; + fe_set_hilight (sess); + return 1; + } + + g_free (text); + return 0; +} + +void +inbound_action (session *sess, char *chan, char *from, char *ip, char *text, int fromme, int id) +{ + session *def = sess; + server *serv = sess->server; + struct User *user; + char nickchar[2] = "\000"; + char idtext[64]; + int privaction = FALSE; + + if (!fromme) + { + if (is_channel (serv, chan)) + { + sess = find_channel (serv, chan); + } else + { + /* it's a private action! */ + privaction = TRUE; + /* find a dialog tab for it */ + sess = find_dialog (serv, from); + /* if non found, open a new one */ + if (!sess && prefs.autodialog) + { + /* but only if it wouldn't flood */ + if (flood_check (from, ip, serv, current_sess, 1)) + sess = inbound_open_dialog (serv, from); + else + sess = serv->server_session; + } + if (!sess) + { + sess = find_session_from_nick (from, serv); + /* still not good? */ + if (!sess) + sess = serv->front_session; + } + } + } + + if (!sess) + sess = def; + + if (sess != current_tab) + { + if (fromme) + { + sess->msg_said = FALSE; + sess->new_data = TRUE; + } else + { + sess->msg_said = TRUE; + sess->new_data = FALSE; + } + } + + user = userlist_find (sess, from); + if (user) + { + nickchar[0] = user->prefix[0]; + user->lasttalk = time (0); + } + + inbound_make_idtext (serv, idtext, sizeof (idtext), id); + + if (!fromme && !privaction) + { + if (is_hilight (from, text, sess, serv)) + { + EMIT_SIGNAL (XP_TE_HCHANACTION, sess, from, text, nickchar, idtext, 0); + return; + } + } + + if (fromme) + EMIT_SIGNAL (XP_TE_UACTION, sess, from, text, nickchar, idtext, 0); + else if (!privaction) + EMIT_SIGNAL (XP_TE_CHANACTION, sess, from, text, nickchar, idtext, 0); + else if (sess->type == SESS_DIALOG) + EMIT_SIGNAL (XP_TE_DPRIVACTION, sess, from, text, idtext, NULL, 0); + else + EMIT_SIGNAL (XP_TE_PRIVACTION, sess, from, text, idtext, NULL, 0); +} + +void +inbound_chanmsg (server *serv, session *sess, char *chan, char *from, char *text, char fromme, int id) +{ + struct User *user; + int hilight = FALSE; + char nickchar[2] = "\000"; + char idtext[64]; + + if (!sess) + { + if (chan) + { + sess = find_channel (serv, chan); + if (!sess && !is_channel (serv, chan)) + sess = find_dialog (serv, chan); + } else + { + sess = find_dialog (serv, from); + } + if (!sess) + return; + } + + if (sess != current_tab) + { + sess->msg_said = TRUE; + sess->new_data = FALSE; + } + + user = userlist_find (sess, from); + if (user) + { + nickchar[0] = user->prefix[0]; + user->lasttalk = time (0); + } + + if (fromme) + { + if (prefs.auto_unmark_away && serv->is_away) + sess->server->p_set_back (sess->server); + EMIT_SIGNAL (XP_TE_UCHANMSG, sess, from, text, nickchar, NULL, 0); + return; + } + + inbound_make_idtext (serv, idtext, sizeof (idtext), id); + + if (is_hilight (from, text, sess, serv)) + hilight = TRUE; + + if (sess->type == SESS_DIALOG) + EMIT_SIGNAL (XP_TE_DPRIVMSG, sess, from, text, idtext, NULL, 0); + else if (hilight) + EMIT_SIGNAL (XP_TE_HCHANMSG, sess, from, text, nickchar, idtext, 0); + else + EMIT_SIGNAL (XP_TE_CHANMSG, sess, from, text, nickchar, idtext, 0); +} + +void +inbound_newnick (server *serv, char *nick, char *newnick, int quiet) +{ + int me = FALSE; + session *sess; + GSList *list = sess_list; + + if (!serv->p_cmp (nick, serv->nick)) + { + me = TRUE; + safe_strcpy (serv->nick, newnick, NICKLEN); + } + + while (list) + { + sess = list->data; + if (sess->server == serv) + { + if (userlist_change (sess, nick, newnick) || (me && sess->type == SESS_SERVER)) + { + if (!quiet) + { + if (me) + EMIT_SIGNAL (XP_TE_UCHANGENICK, sess, nick, newnick, NULL, + NULL, 0); + else + EMIT_SIGNAL (XP_TE_CHANGENICK, sess, nick, newnick, NULL, + NULL, 0); + } + } + if (sess->type == SESS_DIALOG && !serv->p_cmp (sess->channel, nick)) + { + safe_strcpy (sess->channel, newnick, CHANLEN); + fe_set_channel (sess); + } + fe_set_title (sess); + } + list = list->next; + } + + dcc_change_nick (serv, nick, newnick); + + if (me) + fe_set_nick (serv, newnick); +} + +/* find a "<none>" tab */ +static session * +find_unused_session (server *serv) +{ + session *sess; + GSList *list = sess_list; + while (list) + { + sess = (session *) list->data; + if (sess->type == SESS_CHANNEL && sess->channel[0] == 0 && + sess->server == serv) + { + if (sess->waitchannel[0] == 0) + return sess; + } + list = list->next; + } + return 0; +} + +static session * +find_session_from_waitchannel (char *chan, struct server *serv) +{ + session *sess; + GSList *list = sess_list; + while (list) + { + sess = (session *) list->data; + if (sess->server == serv && sess->channel[0] == 0 && sess->type == SESS_CHANNEL) + { + if (!serv->p_cmp (chan, sess->waitchannel)) + return sess; + } + list = list->next; + } + return 0; +} + +void +inbound_ujoin (server *serv, char *chan, char *nick, char *ip) +{ + session *sess; + + /* already joined? probably a bnc */ + sess = find_channel (serv, chan); + if (!sess) + { + /* see if a window is waiting to join this channel */ + sess = find_session_from_waitchannel (chan, serv); + if (!sess) + { + /* find a "<none>" tab and use that */ + sess = find_unused_session (serv); + if (!sess) + /* last resort, open a new tab/window */ + sess = new_ircwindow (serv, chan, SESS_CHANNEL, 1); + } + } + + safe_strcpy (sess->channel, chan, CHANLEN); + + fe_set_channel (sess); + fe_set_title (sess); + fe_set_nonchannel (sess, TRUE); + userlist_clear (sess); + + log_open_or_close (sess); + + sess->waitchannel[0] = 0; + sess->ignore_date = TRUE; + sess->ignore_mode = TRUE; + sess->ignore_names = TRUE; + sess->end_of_names = FALSE; + + /* sends a MODE */ + serv->p_join_info (sess->server, chan); + + EMIT_SIGNAL (XP_TE_UJOIN, sess, nick, chan, ip, NULL, 0); + + if (prefs.userhost) + { + /* sends WHO #channel */ + serv->p_user_list (sess->server, chan); + sess->doing_who = TRUE; + } +} + +void +inbound_ukick (server *serv, char *chan, char *kicker, char *reason) +{ + session *sess = find_channel (serv, chan); + if (sess) + { + EMIT_SIGNAL (XP_TE_UKICK, sess, serv->nick, chan, kicker, reason, 0); + clear_channel (sess); + if (prefs.autorejoin) + { + serv->p_join (serv, chan, sess->channelkey); + safe_strcpy (sess->waitchannel, chan, CHANLEN); + } + } +} + +void +inbound_upart (server *serv, char *chan, char *ip, char *reason) +{ + session *sess = find_channel (serv, chan); + if (sess) + { + if (*reason) + EMIT_SIGNAL (XP_TE_UPARTREASON, sess, serv->nick, ip, chan, reason, + 0); + else + EMIT_SIGNAL (XP_TE_UPART, sess, serv->nick, ip, chan, NULL, 0); + clear_channel (sess); + } +} + +void +inbound_nameslist (server *serv, char *chan, char *names) +{ + session *sess; + char name[NICKLEN]; + int pos = 0; + + sess = find_channel (serv, chan); + if (!sess) + { + EMIT_SIGNAL (XP_TE_USERSONCHAN, serv->server_session, chan, names, NULL, + NULL, 0); + return; + } + if (!sess->ignore_names) + EMIT_SIGNAL (XP_TE_USERSONCHAN, sess, chan, names, NULL, NULL, 0); + + if (sess->end_of_names) + { + sess->end_of_names = FALSE; + userlist_clear (sess); + } + + while (1) + { + switch (*names) + { + case 0: + name[pos] = 0; + if (pos != 0) + userlist_add (sess, name, 0); + return; + case ' ': + name[pos] = 0; + pos = 0; + userlist_add (sess, name, 0); + break; + default: + name[pos] = *names; + if (pos < (NICKLEN-1)) + pos++; + } + names++; + } +} + +void +inbound_topic (server *serv, char *chan, char *topic_text) +{ + session *sess = find_channel (serv, chan); + char *stripped_topic; + + if (sess) + { + stripped_topic = strip_color (topic_text, -1, STRIP_ALL); + set_topic (sess, topic_text, stripped_topic); + g_free (stripped_topic); + } else + sess = serv->server_session; + + EMIT_SIGNAL (XP_TE_TOPIC, sess, chan, topic_text, NULL, NULL, 0); +} + +void +inbound_topicnew (server *serv, char *nick, char *chan, char *topic) +{ + session *sess; + char *stripped_topic; + + sess = find_channel (serv, chan); + if (sess) + { + stripped_topic = strip_color (topic, -1, STRIP_ALL); + set_topic (sess, topic, stripped_topic); + g_free (stripped_topic); + EMIT_SIGNAL (XP_TE_NEWTOPIC, sess, nick, topic, chan, NULL, 0); + } +} + +void +inbound_join (server *serv, char *chan, char *user, char *ip) +{ + session *sess = find_channel (serv, chan); + if (sess) + { + EMIT_SIGNAL (XP_TE_JOIN, sess, user, chan, ip, NULL, 0); + userlist_add (sess, user, ip); + } +} + +void +inbound_kick (server *serv, char *chan, char *user, char *kicker, char *reason) +{ + session *sess = find_channel (serv, chan); + if (sess) + { + EMIT_SIGNAL (XP_TE_KICK, sess, kicker, user, chan, reason, 0); + userlist_remove (sess, user); + } +} + +void +inbound_part (server *serv, char *chan, char *user, char *ip, char *reason) +{ + session *sess = find_channel (serv, chan); + if (sess) + { + if (*reason) + EMIT_SIGNAL (XP_TE_PARTREASON, sess, user, ip, chan, reason, 0); + else + EMIT_SIGNAL (XP_TE_PART, sess, user, ip, chan, NULL, 0); + userlist_remove (sess, user); + } +} + +void +inbound_topictime (server *serv, char *chan, char *nick, time_t stamp) +{ + char *tim = ctime (&stamp); + session *sess = find_channel (serv, chan); + + if (!sess) + sess = serv->server_session; + + tim[24] = 0; /* get rid of the \n */ + EMIT_SIGNAL (XP_TE_TOPICDATE, sess, chan, nick, tim, NULL, 0); +} + +void +inbound_quit (server *serv, char *nick, char *ip, char *reason) +{ + GSList *list = sess_list; + session *sess; + int was_on_front_session = FALSE; + + while (list) + { + sess = (session *) list->data; + if (sess->server == serv) + { + if (sess == current_sess) + was_on_front_session = TRUE; + if (userlist_remove (sess, nick)) + { + EMIT_SIGNAL (XP_TE_QUIT, sess, nick, reason, ip, NULL, 0); + } else if (sess->type == SESS_DIALOG && !serv->p_cmp (sess->channel, nick)) + { + EMIT_SIGNAL (XP_TE_QUIT, sess, nick, reason, ip, NULL, 0); + } + } + list = list->next; + } + + notify_set_offline (serv, nick, was_on_front_session); +} + +void +inbound_ping_reply (session *sess, char *timestring, char *from) +{ + unsigned long tim, nowtim, dif; + int lag = 0; + char outbuf[64]; + + if (strncmp (timestring, "LAG", 3) == 0) + { + timestring += 3; + lag = 1; + } + + tim = strtoul (timestring, NULL, 10); + nowtim = make_ping_time (); + dif = nowtim - tim; + + sess->server->ping_recv = time (0); + + if (lag) + { + sess->server->lag_sent = 0; + sess->server->lag = dif / 1000; + fe_set_lag (sess->server, dif / 100000); + return; + } + + if (atol (timestring) == 0) + { + if (sess->server->lag_sent) + sess->server->lag_sent = 0; + else + EMIT_SIGNAL (XP_TE_PINGREP, sess, from, "?", NULL, NULL, 0); + } else + { + snprintf (outbuf, sizeof (outbuf), "%ld.%ld%ld", dif / 1000000, (dif / 100000) % 10, dif % 10); + EMIT_SIGNAL (XP_TE_PINGREP, sess, from, outbuf, NULL, NULL, 0); + } +} + +static session * +find_session_from_type (int type, server *serv) +{ + session *sess; + GSList *list = sess_list; + while (list) + { + sess = list->data; + if (sess->type == type && serv == sess->server) + return sess; + list = list->next; + } + return 0; +} + +void +inbound_notice (server *serv, char *to, char *nick, char *msg, char *ip, int id) +{ + char *po,*ptr=to; + session *sess = 0; + int server_notice = FALSE; + + if (is_channel (serv, ptr)) + sess = find_channel (serv, ptr); + + if (!sess && ptr[0] == '@') + { + ptr++; + sess = find_channel (serv, ptr); + } + + if (!sess && ptr[0] == '%') + { + ptr++; + sess = find_channel (serv, ptr); + } + + if (!sess && ptr[0] == '+') + { + ptr++; + sess = find_channel (serv, ptr); + } + + if (strcmp (nick, ip) == 0) + server_notice = TRUE; + + if (!sess) + { + ptr = 0; + if (prefs.notices_tabs) + { + int stype = server_notice ? SESS_SNOTICES : SESS_NOTICES; + sess = find_session_from_type (stype, serv); + if (!sess) + { + if (stype == SESS_NOTICES) + sess = new_ircwindow (serv, "(notices)", SESS_NOTICES, 0); + else + sess = new_ircwindow (serv, "(snotices)", SESS_SNOTICES, 0); + fe_set_channel (sess); + fe_set_title (sess); + fe_set_nonchannel (sess, FALSE); + userlist_clear (sess); + log_open_or_close (sess); + } + /* Avoid redundancy with some Undernet notices */ + if (!strncmp (msg, "*** Notice -- ", 14)) + msg += 14; + } else + { + /* paranoia check */ + if (msg[0] == '[' && (!serv->have_idmsg || id)) + { + /* guess where chanserv meant to post this -sigh- */ + if (!strcasecmp (nick, "ChanServ") && !find_dialog (serv, nick)) + { + char *dest = strdup (msg + 1); + char *end = strchr (dest, ']'); + if (end) + { + *end = 0; + sess = find_channel (serv, dest); + } + free (dest); + } + } + if (!sess) + sess = find_session_from_nick (nick, serv); + } + if (!sess) + { + if (server_notice) + sess = serv->server_session; + else + sess = serv->front_session; + } + } + + if (msg[0] == 1) + { + msg++; + if (!strncmp (msg, "PING", 4)) + { + inbound_ping_reply (sess, msg + 5, nick); + return; + } + } + po = strchr (msg, '\001'); + if (po) + po[0] = 0; + + if (server_notice) + EMIT_SIGNAL (XP_TE_SERVNOTICE, sess, msg, nick, NULL, NULL, 0); + else if (ptr) + EMIT_SIGNAL (XP_TE_CHANNOTICE, sess, nick, to, msg, NULL, 0); + else + EMIT_SIGNAL (XP_TE_NOTICE, sess, nick, msg, NULL, NULL, 0); +} + +void +inbound_away (server *serv, char *nick, char *msg) +{ + struct away_msg *away = server_away_find_message (serv, nick); + session *sess = NULL; + GSList *list; + + if (away && !strcmp (msg, away->message)) /* Seen the msg before? */ + { + if (prefs.show_away_once && !serv->inside_whois) + return; + } else + { + server_away_save_message (serv, nick, msg); + } + + if (prefs.irc_whois_front) + sess = serv->front_session; + else + { + if (!serv->inside_whois) + sess = find_session_from_nick (nick, serv); + if (!sess) + sess = serv->server_session; + } + + /* possibly hide the output */ + if (!serv->inside_whois || !serv->skip_next_whois) + EMIT_SIGNAL (XP_TE_WHOIS5, sess, nick, msg, NULL, NULL, 0); + + list = sess_list; + while (list) + { + sess = list->data; + if (sess->server == serv) + userlist_set_away (sess, nick, TRUE); + list = list->next; + } +} + +int +inbound_nameslist_end (server *serv, char *chan) +{ + session *sess; + GSList *list; + + if (!strcmp (chan, "*")) + { + list = sess_list; + while (list) + { + sess = list->data; + if (sess->server == serv) + { + sess->end_of_names = TRUE; + sess->ignore_names = FALSE; + } + list = list->next; + } + return TRUE; + } + sess = find_channel (serv, chan); + if (sess) + { + sess->end_of_names = TRUE; + sess->ignore_names = FALSE; + return TRUE; + } + return FALSE; +} + +static gboolean +check_autojoin_channels (server *serv) +{ + char *po; + session *sess; + GSList *list = sess_list; + int i = 0; + GSList *channels, *keys; + + /* shouldnt really happen, the io tag is destroyed in server.c */ + if (!is_server (serv)) + return FALSE; + + /* send auto join list */ + if (serv->autojoin) + { + joinlist_split (serv->autojoin, &channels, &keys); + serv->p_join_list (serv, channels, keys); + joinlist_free (channels, keys); + + free (serv->autojoin); + serv->autojoin = NULL; + } + + /* this is really only for re-connects when you + * join channels not in the auto-join list. */ + while (list) + { + sess = list->data; + if (sess->server == serv) + { + if (sess->willjoinchannel[0] != 0) + { + strcpy (sess->waitchannel, sess->willjoinchannel); + sess->willjoinchannel[0] = 0; + serv->p_join (serv, sess->waitchannel, sess->channelkey); + po = strchr (sess->waitchannel, ','); + if (po) + *po = 0; + po = strchr (sess->waitchannel, ' '); + if (po) + *po = 0; + i++; + } + } + list = list->next; + } + serv->joindelay_tag = 0; + fe_server_event (serv, FE_SE_LOGGEDIN, i); + return FALSE; +} + +void +inbound_next_nick (session *sess, char *nick) +{ + char *newnick; + server *serv = sess->server; + ircnet *net; + + serv->nickcount++; + + switch (serv->nickcount) + { + case 2: + newnick = prefs.nick2; + net = serv->network; + /* use network specific "Second choice"? */ + if (net && !(net->flags & FLAG_USE_GLOBAL) && net->nick2) + newnick = net->nick2; + serv->p_change_nick (serv, newnick); + EMIT_SIGNAL (XP_TE_NICKCLASH, sess, nick, newnick, NULL, NULL, 0); + break; + + case 3: + serv->p_change_nick (serv, prefs.nick3); + EMIT_SIGNAL (XP_TE_NICKCLASH, sess, nick, prefs.nick3, NULL, NULL, 0); + break; + + default: + EMIT_SIGNAL (XP_TE_NICKFAIL, sess, NULL, NULL, NULL, NULL, 0); + } +} + +void +do_dns (session *sess, char *nick, char *host) +{ + char *po; + char tbuf[1024]; + + po = strrchr (host, '@'); + if (po) + host = po + 1; + EMIT_SIGNAL (XP_TE_RESOLVINGUSER, sess, nick, host, NULL, NULL, 0); + snprintf (tbuf, sizeof (tbuf), "exec -d %s %s", prefs.dnsprogram, host); + handle_command (sess, tbuf, FALSE); +} + +static void +set_default_modes (server *serv) +{ + char modes[8]; + + modes[0] = '+'; + modes[1] = '\0'; + + if (prefs.wallops) + strcat (modes, "w"); + if (prefs.servernotice) + strcat (modes, "s"); + if (prefs.invisible) + strcat (modes, "i"); + + if (modes[1] != '\0') + { + serv->p_mode (serv, serv->nick, modes); + } +} + +void +inbound_login_start (session *sess, char *nick, char *servname) +{ + inbound_newnick (sess->server, sess->server->nick, nick, TRUE); + server_set_name (sess->server, servname); + if (sess->type == SESS_SERVER) + log_open_or_close (sess); + /* reset our away status */ + if (sess->server->reconnect_away) + { + handle_command (sess->server->server_session, "away", FALSE); + sess->server->reconnect_away = FALSE; + } +} + +static void +inbound_set_all_away_status (server *serv, char *nick, unsigned int status) +{ + GSList *list; + session *sess; + + list = sess_list; + while (list) + { + sess = list->data; + if (sess->server == serv) + userlist_set_away (sess, nick, status); + list = list->next; + } +} + +void +inbound_uaway (server *serv) +{ + serv->is_away = TRUE; + serv->away_time = time (NULL); + fe_set_away (serv); + + inbound_set_all_away_status (serv, serv->nick, 1); +} + +void +inbound_uback (server *serv) +{ + serv->is_away = FALSE; + serv->reconnect_away = FALSE; + fe_set_away (serv); + + inbound_set_all_away_status (serv, serv->nick, 0); +} + +void +inbound_foundip (session *sess, char *ip) +{ + struct hostent *HostAddr; + + HostAddr = gethostbyname (ip); + if (HostAddr) + { + prefs.dcc_ip = ((struct in_addr *) HostAddr->h_addr)->s_addr; + EMIT_SIGNAL (XP_TE_FOUNDIP, sess, + inet_ntoa (*((struct in_addr *) HostAddr->h_addr)), + NULL, NULL, NULL, 0); + } +} + +void +inbound_user_info_start (session *sess, char *nick) +{ + /* set away to FALSE now, 301 may turn it back on */ + inbound_set_all_away_status (sess->server, nick, 0); +} + +/* reporting new information found about this user. chan may be NULL. + * away may be 0xff to indicate UNKNOWN. */ + +void +inbound_user_info (session *sess, char *chan, char *user, char *host, + char *servname, char *nick, char *realname, + unsigned int away) +{ + server *serv = sess->server; + session *who_sess; + GSList *list; + char *uhost = NULL; + + if (user && host) + { + uhost = g_malloc (strlen (user) + strlen (host) + 2); + sprintf (uhost, "%s@%s", user, host); + } + + if (chan) + { + who_sess = find_channel (serv, chan); + if (who_sess) + userlist_add_hostname (who_sess, nick, uhost, realname, servname, away); + else + { + if (serv->doing_dns && nick && host) + do_dns (sess, nick, host); + } + } + else + { + /* came from WHOIS, not channel specific */ + for (list = sess_list; list; list = list->next) + { + sess = list->data; + if (sess->type == SESS_CHANNEL && sess->server == serv) + { + userlist_add_hostname (sess, nick, uhost, realname, servname, away); + } + } + } + + g_free (uhost); +} + +int +inbound_banlist (session *sess, time_t stamp, char *chan, char *mask, char *banner, int is_exemption) +{ + char *time_str = ctime (&stamp); + server *serv = sess->server; + + time_str[19] = 0; /* get rid of the \n */ + if (stamp == 0) + time_str = ""; + + sess = find_channel (serv, chan); + if (!sess) + { + sess = serv->front_session; + goto nowindow; + } + + if (!fe_is_banwindow (sess)) + { +nowindow: + /* let proto-irc.c do the 'goto def' for exemptions */ + if (is_exemption) + return FALSE; + + EMIT_SIGNAL (XP_TE_BANLIST, sess, chan, mask, banner, time_str, 0); + return TRUE; + } + + fe_add_ban_list (sess, mask, banner, time_str, is_exemption); + return TRUE; +} + +/* execute 1 end-of-motd command */ + +static int +inbound_exec_eom_cmd (char *str, void *sess) +{ + handle_command (sess, (str[0] == '/') ? str + 1 : str, TRUE); + return 1; +} + +void +inbound_login_end (session *sess, char *text) +{ + server *serv = sess->server; + + if (!serv->end_of_motd) + { + if (prefs.ip_from_server && serv->use_who) + { + serv->skip_next_userhost = TRUE; + serv->p_get_ip_uh (serv, serv->nick); /* sends USERHOST mynick */ + } + set_default_modes (serv); + + if (serv->network) + { + /* there may be more than 1, separated by \n */ + if (((ircnet *)serv->network)->command) + token_foreach (((ircnet *)serv->network)->command, '\n', + inbound_exec_eom_cmd, sess); + + /* send nickserv password */ + if (((ircnet *)serv->network)->nickserv) + serv->p_ns_identify (serv, ((ircnet *)serv->network)->nickserv); + } + + /* send JOIN now or wait? */ + if (serv->network && ((ircnet *)serv->network)->nickserv && + prefs.irc_join_delay) + serv->joindelay_tag = fe_timeout_add (prefs.irc_join_delay * 1000, + check_autojoin_channels, serv); + else + check_autojoin_channels (serv); + if (serv->supports_watch) + notify_send_watches (serv); + serv->end_of_motd = TRUE; + } + if (prefs.skipmotd && !serv->motd_skipped) + { + serv->motd_skipped = TRUE; + EMIT_SIGNAL (XP_TE_MOTDSKIP, serv->server_session, NULL, NULL, + NULL, NULL, 0); + return; + } + EMIT_SIGNAL (XP_TE_MOTD, serv->server_session, text, NULL, + NULL, NULL, 0); +} + +void +inbound_identified (server *serv) /* 'MODE +e MYSELF' on freenode */ +{ + if (serv->joindelay_tag) + { + /* stop waiting, just auto JOIN now */ + fe_timeout_remove (serv->joindelay_tag); + serv->joindelay_tag = 0; + check_autojoin_channels (serv); + } +} diff --git a/src/common/inbound.h b/src/common/inbound.h new file mode 100644 index 00000000..b972981f --- /dev/null +++ b/src/common/inbound.h @@ -0,0 +1,39 @@ +#ifndef XCHAT_INBOUND_H +#define XCHAT_INBOUND_H + +void inbound_next_nick (session *sess, char *nick); +void inbound_uback (server *serv); +void inbound_uaway (server *serv); +void inbound_part (server *serv, char *chan, char *user, char *ip, char *reason); +void inbound_upart (server *serv, char *chan, char *ip, char *reason); +void inbound_ukick (server *serv, char *chan, char *kicker, char *reason); +void inbound_kick (server *serv, char *chan, char *user, char *kicker, char *reason); +void inbound_notice (server *serv, char *to, char *nick, char *msg, char *ip, int id); +void inbound_quit (server *serv, char *nick, char *ip, char *reason); +void inbound_topicnew (server *serv, char *nick, char *chan, char *topic); +void inbound_join (server *serv, char *chan, char *user, char *ip); +void inbound_ujoin (server *serv, char *chan, char *nick, char *ip); +void inbound_topictime (server *serv, char *chan, char *nick, time_t stamp); +void inbound_topic (server *serv, char *chan, char *topic_text); +void inbound_user_info_start (session *sess, char *nick); +void inbound_user_info (session *sess, char *chan, char *user, char *host, char *servname, char *nick, char *realname, unsigned int away); +void inbound_foundip (session *sess, char *ip); +int inbound_banlist (session *sess, time_t stamp, char *chan, char *mask, char *banner, int is_exemption); +void inbound_ping_reply (session *sess, char *timestring, char *from); +void inbound_nameslist (server *serv, char *chan, char *names); +int inbound_nameslist_end (server *serv, char *chan); +void inbound_away (server *serv, char *nick, char *msg); +void inbound_login_start (session *sess, char *nick, char *servname); +void inbound_login_end (session *sess, char *text); +void inbound_chanmsg (server *serv, session *sess, char *chan, char *from, char *text, char fromme, int id); +void clear_channel (session *sess); +void set_topic (session *sess, char *topic, char *stripped_topic); +void inbound_privmsg (server *serv, char *from, char *ip, char *text, int id); +void inbound_action (session *sess, char *chan, char *from, char *ip, char *text, int fromme, int id); +void inbound_newnick (server *serv, char *nick, char *newnick, int quiet); +void do_dns (session *sess, char *nick, char *host); +void inbound_identified (server *serv); +gboolean alert_match_word (char *word, char *masks); +gboolean alert_match_text (char *text, char *masks); + +#endif diff --git a/src/common/inet.h b/src/common/inet.h new file mode 100644 index 00000000..b420c9c6 --- /dev/null +++ b/src/common/inet.h @@ -0,0 +1,43 @@ +/* include stuff for internet */ + +#ifndef WIN32 + +#ifdef WANTSOCKET +#include <sys/types.h> +#include <sys/socket.h> +#endif +#ifdef WANTARPA +#include <netinet/in.h> +#include <arpa/inet.h> +#endif +#ifdef WANTDNS +#include <netdb.h> +#endif +#define closesocket close +#define set_blocking(sok) fcntl(sok, F_SETFL, 0) +#define set_nonblocking(sok) fcntl(sok, F_SETFL, O_NONBLOCK) +#define would_block() (errno == EAGAIN || errno == EWOULDBLOCK) +#define sock_error() (errno) + +#else + +#ifdef USE_IPV6 +#include <winsock2.h> +#include <ws2tcpip.h> +#include <tpipv6.h> +#else +#include <winsock.h> +#endif + +#define set_blocking(sok) { \ + unsigned long zero = 0; \ + ioctlsocket (sok, FIONBIO, &zero); \ + } +#define set_nonblocking(sok) { \ + unsigned long one = 1; \ + ioctlsocket (sok, FIONBIO, &one); \ + } +#define would_block() (WSAGetLastError() == WSAEWOULDBLOCK) +#define sock_error WSAGetLastError + +#endif diff --git a/src/common/make-te.c b/src/common/make-te.c new file mode 100644 index 00000000..ed87df3d --- /dev/null +++ b/src/common/make-te.c @@ -0,0 +1,58 @@ +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +int main() +{ + char name[512]; + char num[512]; + char help[512]; + char def[512]; + char args[512]; + char buf[512]; + char *defines[512]; + int i = 0, max; + + printf("/* this file is auto generated, edit textevents.in instead! */\n\nconst struct text_event te[] = {\n"); + while(fgets(name, sizeof(name), stdin)) + { + name[strlen(name)-1] = 0; + fgets(num, sizeof(num), stdin); + num[strlen(num)-1] = 0; + fgets(help, sizeof(help), stdin); + help[strlen(help)-1] = 0; + fgets(def, sizeof(def), stdin); + def[strlen(def)-1] = 0; + fgets(args, sizeof(args), stdin); + args[strlen(args)-1] = 0; + fgets(buf, sizeof(buf), stdin); + + if (args[0] == 'n') + printf("\n{\"%s\", %s, %d, \n\"%s\"},\n", + name, help, atoi(args+1) | 128, def); + else + printf("\n{\"%s\", %s, %d, \nN_(\"%s\")},\n", + name, help, atoi(args), def); + defines[i] = strdup (num); + i++; + } + + printf("};\n"); + + fprintf(stderr, "/* this file is auto generated, edit textevents.in instead! */\n\nenum\n{\n"); + max = i; + i = 0; + while (i < max) + { + if (i + 1 < max) + { + fprintf(stderr, "\t%s,\t\t%s,\n", defines[i], defines[i+1]); + i++; + } else + fprintf(stderr, "\t%s,\n", defines[i]); + i++; + } + fprintf(stderr, "\tNUM_XP\n};\n"); + + return 0; +} diff --git a/src/common/modes.c b/src/common/modes.c new file mode 100644 index 00000000..1acf7f54 --- /dev/null +++ b/src/common/modes.c @@ -0,0 +1,836 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <string.h> +#include <stdlib.h> +#include <stdio.h> +#include <glib.h> +#include <glib/gprintf.h> + +#include "xchat.h" +#include "xchatc.h" +#include "modes.h" +#include "server.h" +#include "text.h" +#include "fe.h" +#include "util.h" +#include "inbound.h" +#ifdef HAVE_STRINGS_H +#include <strings.h> +#endif + +typedef struct +{ + server *serv; + char *op; + char *deop; + char *voice; + char *devoice; +} mode_run; + +static int is_prefix_char (server * serv, char c); +static void record_chan_mode (session *sess, char sign, char mode, char *arg); +static char *mode_cat (char *str, char *addition); +static void handle_single_mode (mode_run *mr, char sign, char mode, char *nick, char *chan, char *arg, int quiet, int is_324); +static int mode_has_arg (server *serv, char sign, char mode); +static void mode_print_grouped (session *sess, char *nick, mode_run *mr); +static int mode_chanmode_type (server * serv, char mode); + + +/* word[] - list of nicks. + wpos - index into word[]. Where nicks really start. + end - index into word[]. Last entry plus one. + sign - a char, e.g. '+' or '-' + mode - a mode, e.g. 'o' or 'v' */ +void +send_channel_modes (session *sess, char *tbuf, char *word[], int wpos, + int end, char sign, char mode, int modes_per_line) +{ + int usable_modes, orig_len, len, wlen, i, max; + server *serv = sess->server; + + /* sanity check. IRC RFC says three per line. */ + if (serv->modes_per_line < 3) + serv->modes_per_line = 3; + if (modes_per_line < 1) + modes_per_line = serv->modes_per_line; + + /* RFC max, minus length of "MODE %s " and "\r\n" and 1 +/- sign */ + /* 512 - 6 - 2 - 1 - strlen(chan) */ + max = 503 - strlen (sess->channel); + + while (wpos < end) + { + tbuf[0] = '\0'; + orig_len = len = 0; + + /* we'll need this many modechars too */ + len += modes_per_line; + + /* how many can we fit? */ + for (i = 0; i < modes_per_line; i++) + { + /* no more nicks left? */ + if (wpos + i >= end) + break; + wlen = strlen (word[wpos + i]) + 1; + if (wlen + len > max) + break; + len += wlen; /* length of our whole string so far */ + } + if (i < 1) + return; + usable_modes = i; /* this is how many we'll send on this line */ + + /* add the +/-modemodemodemode */ + len = orig_len; + tbuf[len] = sign; + len++; + for (i = 0; i < usable_modes; i++) + { + tbuf[len] = mode; + len++; + } + tbuf[len] = 0; /* null terminate for the strcat() to work */ + + /* add all the nicknames */ + for (i = 0; i < usable_modes; i++) + { + strcat (tbuf, " "); + strcat (tbuf, word[wpos + i]); + } + serv->p_mode (serv, sess->channel, tbuf); + + wpos += usable_modes; + } +} + +/* does 'chan' have a valid prefix? e.g. # or & */ + +int +is_channel (server * serv, char *chan) +{ + if (strchr (serv->chantypes, chan[0])) + return 1; + return 0; +} + +/* is the given char a valid nick mode char? e.g. @ or + */ + +static int +is_prefix_char (server * serv, char c) +{ + int pos = 0; + char *np = serv->nick_prefixes; + + while (np[0]) + { + if (np[0] == c) + return pos; + pos++; + np++; + } + + if (serv->bad_prefix) + { + if (strchr (serv->bad_nick_prefixes, c)) + /* valid prefix char, but mode unknown */ + return -2; + } + + return -1; +} + +/* returns '@' for ops etc... */ + +char +get_nick_prefix (server * serv, unsigned int access) +{ + int pos; + char c; + + for (pos = 0; pos < USERACCESS_SIZE; pos++) + { + c = serv->nick_prefixes[pos]; + if (c == 0) + break; + if (access & (1 << pos)) + return c; + } + + return 0; +} + +/* returns the access bitfield for a nickname. E.g. + @nick would return 000010 in binary + %nick would return 000100 in binary + +nick would return 001000 in binary */ + +unsigned int +nick_access (server * serv, char *nick, int *modechars) +{ + int i; + unsigned int access = 0; + char *orig = nick; + + while (*nick) + { + i = is_prefix_char (serv, *nick); + if (i == -1) + break; + + /* -2 == valid prefix char, but mode unknown */ + if (i != -2) + access |= (1 << i); + + nick++; + } + + *modechars = nick - orig; + + return access; +} + +/* returns the access number for a particular mode. e.g. + mode 'a' returns 0 + mode 'o' returns 1 + mode 'h' returns 2 + mode 'v' returns 3 + Also puts the nick-prefix-char in 'prefix' */ + +int +mode_access (server * serv, char mode, char *prefix) +{ + int pos = 0; + + while (serv->nick_modes[pos]) + { + if (serv->nick_modes[pos] == mode) + { + *prefix = serv->nick_prefixes[pos]; + return pos; + } + pos++; + } + + *prefix = 0; + + return -1; +} + +static void +record_chan_mode (session *sess, char sign, char mode, char *arg) +{ + /* Somebody needed to acutally update sess->current_modes, needed to + play nice with bouncers, and less mode calls. Also keeps modes up + to date for scripts */ + server *serv = sess->server; + GString *current = g_string_new(sess->current_modes); + gint mode_pos = -1; + gchar *current_char = current->str; + gint modes_length; + gint argument_num = 0; + gint argument_offset = 0; + gint argument_length = 0; + int i = 0; + gchar *arguments_start; + + /* find out if the mode currently exists */ + arguments_start = g_strstr_len(current->str , -1, " "); + if (arguments_start) { + modes_length = arguments_start - current->str; + } + else { + modes_length = current->len; + /* set this to the end of the modes */ + arguments_start = current->str + current->len; + } + + while (mode_pos == -1 && i < modes_length) + { + if (*current_char == mode) + { + mode_pos = i; + } + else + { + i++; + current_char++; + } + } + + /* if the mode currently exists and has an arg, need to know where + * (including leading space) */ + if (mode_pos != -1 && mode_has_arg(serv, '+', mode)) + { + current_char = current->str; + + i = 0; + while (i <= mode_pos) + { + if (mode_has_arg(serv, '+', *current_char)) + argument_num++; + current_char++; + i++; + } + + /* check through arguments for where to start */ + current_char = arguments_start; + i = 0; + while (i < argument_num && *current_char != '\0') + { + if (*current_char == ' ') + i++; + if (i != argument_num) + current_char++; + } + argument_offset = current_char - current->str; + + /* how long the existing argument is for this key + * important for malloc and strncpy */ + if (i == argument_num) + { + argument_length++; + current_char++; + while (*current_char != '\0' && *current_char != ' ') + { + argument_length++; + current_char++; + } + } + } + + /* two cases, adding and removing a mode, handled differently */ + if (sign == '+') + { + if (mode_pos != -1) + { + /* if it already exists, only need to do something (change) + * if there should be a param */ + if (mode_has_arg(serv, sign, mode)) + { + /* leave the old space there */ + current = g_string_erase(current, argument_offset+1, argument_length-1); + current = g_string_insert(current, argument_offset+1, arg); + + free(sess->current_modes); + sess->current_modes = g_string_free(current, FALSE); + } + } + /* mode wasn't there before */ + else + { + /* insert the new mode character */ + current = g_string_insert_c(current, modes_length, mode); + + /* add the argument, with space if there is one */ + if (mode_has_arg(serv, sign, mode)) + { + current = g_string_append_c(current, ' '); + current = g_string_append(current, arg); + } + + free(sess->current_modes); + sess->current_modes = g_string_free(current, FALSE); + } + } + else if (sign == '-' && mode_pos != -1) + { + /* remove the argument first if it has one*/ + if (mode_has_arg(serv, '+', mode)) + current = g_string_erase(current, argument_offset, argument_length); + + /* remove the mode character */ + current = g_string_erase(current, mode_pos, 1); + + free(sess->current_modes); + sess->current_modes = g_string_free(current, FALSE); + } +} + +static char * +mode_cat (char *str, char *addition) +{ + int len; + + if (str) + { + len = strlen (str) + strlen (addition) + 2; + str = realloc (str, len); + strcat (str, " "); + strcat (str, addition); + } else + { + str = strdup (addition); + } + + return str; +} + +/* handle one mode, e.g. + handle_single_mode (mr,'+','b',"elite","#warez","banneduser",) */ + +static void +handle_single_mode (mode_run *mr, char sign, char mode, char *nick, + char *chan, char *arg, int quiet, int is_324) +{ + session *sess; + server *serv = mr->serv; + char outbuf[4]; + + outbuf[0] = sign; + outbuf[1] = 0; + outbuf[2] = mode; + outbuf[3] = 0; + + sess = find_channel (serv, chan); + if (!sess || !is_channel (serv, chan)) + { + /* got modes for a chan we're not in! probably nickmode +isw etc */ + sess = serv->front_session; + goto genmode; + } + + /* is this a nick mode? */ + if (strchr (serv->nick_modes, mode)) + { + /* update the user in the userlist */ + userlist_update_mode (sess, /*nickname */ arg, mode, sign); + } else + { + if (!is_324 && !sess->ignore_mode && mode_chanmode_type(serv, mode) >= 1) + record_chan_mode (sess, sign, mode, arg); + } + + switch (sign) + { + case '+': + switch (mode) + { + case 'k': + safe_strcpy (sess->channelkey, arg, sizeof (sess->channelkey)); + fe_update_channel_key (sess); + fe_update_mode_buttons (sess, mode, sign); + if (!quiet) + EMIT_SIGNAL (XP_TE_CHANSETKEY, sess, nick, arg, NULL, NULL, 0); + return; + case 'l': + sess->limit = atoi (arg); + fe_update_channel_limit (sess); + fe_update_mode_buttons (sess, mode, sign); + if (!quiet) + EMIT_SIGNAL (XP_TE_CHANSETLIMIT, sess, nick, arg, NULL, NULL, 0); + return; + case 'o': + if (!quiet) + mr->op = mode_cat (mr->op, arg); + return; + case 'h': + if (!quiet) + EMIT_SIGNAL (XP_TE_CHANHOP, sess, nick, arg, NULL, NULL, 0); + return; + case 'v': + if (!quiet) + mr->voice = mode_cat (mr->voice, arg); + return; + case 'b': + if (!quiet) + EMIT_SIGNAL (XP_TE_CHANBAN, sess, nick, arg, NULL, NULL, 0); + return; + case 'e': + if (!quiet) + EMIT_SIGNAL (XP_TE_CHANEXEMPT, sess, nick, arg, NULL, NULL, 0); + return; + case 'I': + if (!quiet) + EMIT_SIGNAL (XP_TE_CHANINVITE, sess, nick, arg, NULL, NULL, 0); + return; + } + break; + case '-': + switch (mode) + { + case 'k': + sess->channelkey[0] = 0; + fe_update_channel_key (sess); + fe_update_mode_buttons (sess, mode, sign); + if (!quiet) + EMIT_SIGNAL (XP_TE_CHANRMKEY, sess, nick, NULL, NULL, NULL, 0); + return; + case 'l': + sess->limit = 0; + fe_update_channel_limit (sess); + fe_update_mode_buttons (sess, mode, sign); + if (!quiet) + EMIT_SIGNAL (XP_TE_CHANRMLIMIT, sess, nick, NULL, NULL, NULL, 0); + return; + case 'o': + if (!quiet) + mr->deop = mode_cat (mr->deop, arg); + return; + case 'h': + if (!quiet) + EMIT_SIGNAL (XP_TE_CHANDEHOP, sess, nick, arg, NULL, NULL, 0); + return; + case 'v': + if (!quiet) + mr->devoice = mode_cat (mr->devoice, arg); + return; + case 'b': + if (!quiet) + EMIT_SIGNAL (XP_TE_CHANUNBAN, sess, nick, arg, NULL, NULL, 0); + return; + case 'e': + if (!quiet) + EMIT_SIGNAL (XP_TE_CHANRMEXEMPT, sess, nick, arg, NULL, NULL, 0); + return; + case 'I': + if (!quiet) + EMIT_SIGNAL (XP_TE_CHANRMINVITE, sess, nick, arg, NULL, NULL, 0); + return; + } + } + + fe_update_mode_buttons (sess, mode, sign); + + genmode: + /* Received umode +e. If we're waiting to send JOIN then send now! */ + if (mode == 'e' && sign == '+' && !serv->p_cmp (chan, serv->nick)) + inbound_identified (serv); + + if (!quiet) + { + if (*arg) + { + char *buf = malloc (strlen (chan) + strlen (arg) + 2); + sprintf (buf, "%s %s", chan, arg); + EMIT_SIGNAL (XP_TE_CHANMODEGEN, sess, nick, outbuf, outbuf + 2, buf, 0); + free (buf); + } else + EMIT_SIGNAL (XP_TE_CHANMODEGEN, sess, nick, outbuf, outbuf + 2, chan, 0); + } +} + +/* does this mode have an arg? like +b +l +o */ + +static int +mode_has_arg (server * serv, char sign, char mode) +{ + int type; + + /* if it's a nickmode, it must have an arg */ + if (strchr (serv->nick_modes, mode)) + return 1; + + type = mode_chanmode_type (serv, mode); + switch (type) + { + case 0: /* type A */ + case 1: /* type B */ + return 1; + case 2: /* type C */ + if (sign == '+') + return 1; + case 3: /* type D */ + return 0; + default: + return 0; + } + +} + +/* what type of chanmode is it? -1 for not in chanmode */ +static int +mode_chanmode_type (server * serv, char mode) +{ + /* see what numeric 005 CHANMODES=xxx said */ + char *cm = serv->chanmodes; + int type = 0; + int found = 0; + + while (*cm && !found) + { + if (*cm == ',') + { + type++; + } else if (*cm == mode) + { + found = 1; + } + cm++; + } + if (found) + return type; + /* not found? -1 */ + else + return -1; +} + +static void +mode_print_grouped (session *sess, char *nick, mode_run *mr) +{ + /* print all the grouped Op/Deops */ + if (mr->op) + { + EMIT_SIGNAL (XP_TE_CHANOP, sess, nick, mr->op, NULL, NULL, 0); + free (mr->op); + mr->op = NULL; + } + + if (mr->deop) + { + EMIT_SIGNAL (XP_TE_CHANDEOP, sess, nick, mr->deop, NULL, NULL, 0); + free (mr->deop); + mr->deop = NULL; + } + + if (mr->voice) + { + EMIT_SIGNAL (XP_TE_CHANVOICE, sess, nick, mr->voice, NULL, NULL, 0); + free (mr->voice); + mr->voice = NULL; + } + + if (mr->devoice) + { + EMIT_SIGNAL (XP_TE_CHANDEVOICE, sess, nick, mr->devoice, NULL, NULL, 0); + free (mr->devoice); + mr->devoice = NULL; + } +} + + +/* handle a MODE or numeric 324 from server */ + +void +handle_mode (server * serv, char *word[], char *word_eol[], + char *nick, int numeric_324) +{ + session *sess; + char *chan; + char *modes; + char *argstr; + char sign; + int len; + int arg; + int i, num_args; + int num_modes; + int offset = 3; + int all_modes_have_args = FALSE; + int using_front_tab = FALSE; + mode_run mr; + + mr.serv = serv; + mr.op = mr.deop = mr.voice = mr.devoice = NULL; + + /* numeric 324 has everything 1 word later (as opposed to MODE) */ + if (numeric_324) + offset++; + + chan = word[offset]; + modes = word[offset + 1]; + if (*modes == ':') + modes++; + + if (*modes == 0) + return; /* beyondirc's blank modes */ + + sess = find_channel (serv, chan); + if (!sess) + { + sess = serv->front_session; + using_front_tab = TRUE; + } + /* remove trailing space */ + len = strlen (word_eol[offset]) - 1; + if (word_eol[offset][len] == ' ') + word_eol[offset][len] = 0; + + if (prefs.raw_modes && !numeric_324) + EMIT_SIGNAL (XP_TE_RAWMODES, sess, nick, word_eol[offset], 0, 0, 0); + + if (numeric_324 && !using_front_tab) + { + if (sess->current_modes) + free (sess->current_modes); + sess->current_modes = strdup (word_eol[offset+1]); + } + + sign = *modes; + modes++; + arg = 1; + + /* count the number of arguments (e.g. after the -o+v) */ + num_args = 0; + i = 1; + while ((i + offset + 1) < PDIWORDS) + { + i++; + if (!(*word[i + offset])) + break; + num_args++; + } + + /* count the number of modes (without the -/+ chars */ + num_modes = 0; + i = 0; + while (i < strlen (modes)) + { + if (modes[i] != '+' && modes[i] != '-') + num_modes++; + i++; + } + + if (num_args == num_modes) + all_modes_have_args = TRUE; + + while (*modes) + { + switch (*modes) + { + case '-': + case '+': + /* print all the grouped Op/Deops */ + mode_print_grouped (sess, nick, &mr); + sign = *modes; + break; + default: + argstr = ""; + if ((all_modes_have_args || mode_has_arg (serv, sign, *modes)) && arg < (num_args+1)) + { + arg++; + argstr = word[arg + offset]; + } + handle_single_mode (&mr, sign, *modes, nick, chan, + argstr, numeric_324 || prefs.raw_modes, + numeric_324); + } + + modes++; + } + + /* update the title at the end, now that the mode update is internal now */ + if (!using_front_tab) + fe_set_title (sess); + + /* print all the grouped Op/Deops */ + mode_print_grouped (sess, nick, &mr); +} + +/* handle the 005 numeric */ + +void +inbound_005 (server * serv, char *word[]) +{ + int w; + char *pre; + + w = 4; /* start at the 4th word */ + while (w < PDIWORDS && *word[w]) + { + if (strncmp (word[w], "MODES=", 6) == 0) + { + serv->modes_per_line = atoi (word[w] + 6); + } else if (strncmp (word[w], "CHANTYPES=", 10) == 0) + { + free (serv->chantypes); + serv->chantypes = strdup (word[w] + 10); + } else if (strncmp (word[w], "CHANMODES=", 10) == 0) + { + free (serv->chanmodes); + serv->chanmodes = strdup (word[w] + 10); + } else if (strncmp (word[w], "PREFIX=", 7) == 0) + { + pre = strchr (word[w] + 7, ')'); + if (pre) + { + pre[0] = 0; /* NULL out the ')' */ + free (serv->nick_prefixes); + free (serv->nick_modes); + serv->nick_prefixes = strdup (pre + 1); + serv->nick_modes = strdup (word[w] + 8); + } else + { + /* bad! some ircds don't give us the modes. */ + /* in this case, we use it only to strip /NAMES */ + serv->bad_prefix = TRUE; + if (serv->bad_nick_prefixes) + free (serv->bad_nick_prefixes); + serv->bad_nick_prefixes = strdup (word[w] + 7); + } + } else if (strncmp (word[w], "WATCH=", 6) == 0) + { + serv->supports_watch = TRUE; + } else if (strncmp (word[w], "NETWORK=", 8) == 0) + { +/* if (serv->networkname) + free (serv->networkname); + serv->networkname = strdup (word[w] + 8);*/ + + if (serv->server_session->type == SESS_SERVER) + { + safe_strcpy (serv->server_session->channel, word[w] + 8, CHANLEN); + fe_set_channel (serv->server_session); + } + + /* use /NICKSERV */ + if (strcasecmp (word[w] + 8, "RusNet") == 0) + serv->nickservtype = 1; + else if (strcasecmp (word[w] + 8, "UniBG") == 0) + serv->nickservtype = 3; + else if (strcasecmp (word[w] + 8, "QuakeNet") == 0) + serv->nickservtype = 4; + + } else if (strncmp (word[w], "CASEMAPPING=", 12) == 0) + { + if (strcmp (word[w] + 12, "ascii") == 0) /* bahamut */ + serv->p_cmp = (void *)strcasecmp; + } else if (strncmp (word[w], "CHARSET=", 8) == 0) + { + if (strcasecmp (word[w] + 8, "UTF-8") == 0) + { + server_set_encoding (serv, "UTF-8"); + } + } else if (strcmp (word[w], "NAMESX") == 0) + { + /* 12345678901234567 */ + tcp_send_len (serv, "PROTOCTL NAMESX\r\n", 17); + } else if (strcmp (word[w], "WHOX") == 0) + { + serv->have_whox = TRUE; + } else if (strcmp (word[w], "CAPAB") == 0) + { + serv->have_capab = TRUE; + /* 12345678901234567890 */ + tcp_send_len (serv, "CAPAB IDENTIFY-MSG\r\n", 20); + /* now wait for numeric 290 */ + } else if (strcmp (word[w], "EXCEPTS") == 0) + { +#ifndef WIN32 + serv->have_except = TRUE; +#endif + } else if (strncmp (word[w], "ELIST=", 6) == 0) + { + /* supports LIST >< min/max user counts? */ + if (strchr (word[w] + 6, 'U') || strchr (word[w] + 6, 'u')) + serv->use_listargs = TRUE; + } + + w++; + } +} diff --git a/src/common/modes.h b/src/common/modes.h new file mode 100644 index 00000000..3f9c4a72 --- /dev/null +++ b/src/common/modes.h @@ -0,0 +1,12 @@ +#ifndef XCHAT_MODES_H +#define XCHAT_MODES_H + +int is_channel (server *serv, char *chan); +char get_nick_prefix (server *serv, unsigned int access); +unsigned int nick_access (server *serv, char *nick, int *modechars); +int mode_access (server *serv, char mode, char *prefix); +void inbound_005 (server *serv, char *word[]); +void handle_mode (server *serv, char *word[], char *word_eol[], char *nick, int numeric_324); +void send_channel_modes (session *sess, char *tbuf, char *word[], int start, int end, char sign, char mode, int modes_per_line); + +#endif diff --git a/src/common/msproxy.c b/src/common/msproxy.c new file mode 100644 index 00000000..9c85394d --- /dev/null +++ b/src/common/msproxy.c @@ -0,0 +1,467 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * + * MS Proxy (ISA server) support is (c) 2006 Pavel Fedin <sonic_amiga@rambler.ru> + * based on Dante source code + * Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + * Inferno Nettverk A/S, Norway. All rights reserved. + */ + +/*#define DEBUG_MSPROXY*/ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <unistd.h> +#include <fcntl.h> + +#define WANTSOCKET +#define WANTARPA +#include "inet.h" + +#include "xchat.h" +#include "network.h" +#include "xchatc.h" +#include "server.h" +#include "msproxy.h" + + +#ifdef USE_MSPROXY +#include <ntlm.h> + +static int +send_msprequest(s, state, request, end) + int s; + struct msproxy_state_t *state; + struct msproxy_request_t *request; + char *end; +{ + ssize_t w; + size_t l; + + request->magic25 = htonl(MSPROXY_VERSION); + request->serverack = state->seq_recv; + /* don't start incrementing sequence until we are acking packet #2. */ + request->sequence = (unsigned char)(request->serverack >= 2 ? state->seq_sent + 1 : 0); + + memcpy(request->RWSP, "RWSP", sizeof(request->RWSP)); + + l = end - (char *)request; + /* all requests must be atleast MSPROXY_MINLENGTH it seems. */ + if (l < MSPROXY_MINLENGTH) { + bzero(end, (size_t)(MSPROXY_MINLENGTH - l)); + l = MSPROXY_MINLENGTH; + } + + if ((w = send(s, request, l, 0)) != l) { +#ifdef DEBUG_MSPROXY + printf ("send_msprequest(): send() failed (%d bytes sent instead of %d\n", w, l); + perror ("Error is"); +#endif + return -1; + } + state->seq_sent = request->sequence; + + return w; +} + +static int +recv_mspresponse(s, state, response) + int s; + struct msproxy_state_t *state; + struct msproxy_response_t *response; +{ + ssize_t r; + + do { + if ((r = recv (s, response, sizeof (*response), 0)) < MSPROXY_MINLENGTH) { +#ifdef DEBUG_MSPROXY + printf ("recv_mspresponse(): expected to read atleast %d, read %d\n", MSPROXY_MINLENGTH, r); +#endif + return -1; + } + if (state->seq_recv == 0) + break; /* not started incrementing yet. */ +#ifdef DEBUG_MSPROXY + if (response->sequence == state->seq_recv) + printf ("seq_recv: %d, dup response, seqnumber: 0x%x\n", state->seq_recv, response->sequence); +#endif + } while (response->sequence == state->seq_recv); + + state->seq_recv = response->sequence; + + return r; +} + +int +traverse_msproxy (int sok, char *serverAddr, int port, struct msproxy_state_t *state, netstore *ns_proxy, int csok4, int csok6, int *csok, char bound) +{ + struct msproxy_request_t req; + struct msproxy_response_t res; + char *data, *p; + char hostname[NT_MAXNAMELEN]; + char ntdomain[NT_MAXNAMELEN]; + char challenge[8]; + netstore *ns_client; + int clientport; + guint32 destaddr; + guint32 flags; + + if (!prefs.proxy_auth || !prefs.proxy_user[0] || !prefs.proxy_pass[0] ) + return 1; + + /* MS proxy protocol implementation currently doesn't support IPv6 */ + destaddr = net_getsockaddr_v4 (ns_proxy); + if (!destaddr) + return 1; + + state->seq_recv = 0; + state->seq_sent = 0; + +#ifdef DEBUG_MSPROXY + printf ("Connecting to %s:%d via MS proxy\n", serverAddr, port); +#endif + + gethostname (hostname, NT_MAXNAMELEN); + p = strchr (hostname, '.'); + if (p) + *p = '\0'; + + bzero (&req, sizeof(req)); + req.clientid = htonl(0x0a000000); /* Initial client ID is always 0x0a */ + req.command = htons(MSPROXY_HELLO); /* HELLO command */ + req.packet.hello.magic5 = htons(0x4b00); /* Fill in magic values */ + req.packet.hello.magic10 = htons(0x1400); + req.packet.hello.magic15 = htons(0x0400); + req.packet.hello.magic20 = htons(0x5704); + req.packet.hello.magic25 = htons(0x0004); + req.packet.hello.magic30 = htons(0x0100); + req.packet.hello.magic35 = htons(0x4a02); + req.packet.hello.magic40 = htons(0x3000); + req.packet.hello.magic45 = htons(0x4400); + req.packet.hello.magic50 = htons(0x3900); + data = req.packet.hello.data; + strcpy (data, prefs.proxy_user); /* Append a username */ + data += strlen (prefs.proxy_user)+2; /* +2 automatically creates second empty string */ + strcpy (data, MSPROXY_EXECUTABLE); /* Append an application name */ + data += strlen (MSPROXY_EXECUTABLE)+1; + strcpy (data, hostname); /* Append a hostname */ + data += strlen (hostname)+1; + + if (send_msprequest(sok, state, &req, data) == -1) + return 1; + + if (recv_mspresponse(sok, state, &res) == -1) + return 1; + + if (strcmp(res.RWSP, "RWSP") != 0) { +#ifdef DEBUG_MSPROXY + printf ("Received mailformed packet (no RWSP signature)\n"); +#endif + return 1; + } + + if (ntohs(res.command) >> 8 != 0x10) { +#ifdef DEBUG_MSPROXY + printf ("expected res.command = 10??, is %x", ntohs(res.command)); +#endif + return 1; + } + + state->clientid = htonl(rand()); + state->serverid = res.serverid; + +#ifdef DEBUG_MSPROXY + printf ("clientid: 0x%x, serverid: 0x%0x\n", state->clientid, state->serverid); + printf ("packet #2\n"); +#endif + + /* almost identical. */ + req.clientid = state->clientid; + req.serverid = state->serverid; + + if (send_msprequest(sok, state, &req, data) == -1) + return 1; + + if (recv_mspresponse(sok, state, &res) == -1) + return 1; + + if (res.serverid != state->serverid) { +#ifdef DEBUG_MSPROXY + printf ("expected serverid = 0x%x, is 0x%x\n",state->serverid, res.serverid); +#endif + return 1; + } + + if (res.sequence != 0x01) { +#ifdef DEBUG_MSPROXY + printf ("expected res.sequence = 0x01, is 0x%x\n", res.sequence); +#endif + return 1; + } + + if (ntohs(res.command) != MSPROXY_USERINFO_ACK) { +#ifdef DEBUG_MSPROXY + printf ("expected res.command = 0x%x, is 0x%x\n", MSPROXY_USERINFO_ACK, ntohs(res.command)); +#endif + return 1; + } + +#ifdef DEBUG_MSPROXY + printf ("packet #3\n"); +#endif + + bzero(&req, sizeof(req)); + req.clientid = state->clientid; + req.serverid = state->serverid; + req.command = htons(MSPROXY_AUTHENTICATE); + memcpy(req.packet.auth.NTLMSSP, "NTLMSSP", sizeof("NTLMSSP")); + req.packet.auth.bindaddr = htonl(0x02000000); + req.packet.auth.msgtype = htonl(0x01000000); + /* NTLM flags: 0x80000000 Negotiate LAN Manager key + 0x10000000 Negotiate sign + 0x04000000 Request target + 0x02000000 Negotiate OEM + 0x00800000 Always sign + 0x00020000 Negotiate NTLM + */ + req.packet.auth.flags = htonl(0x06020000); + + if (send_msprequest(sok, state, &req, &req.packet.auth.data) == -1) + return 1; + + if (recv_mspresponse(sok, state, &res) == -1) + return 1; + + if (res.serverid != state->serverid) { +#ifdef DEBUG_MSPROXY + printf ("expected serverid = 0x%x, is 0x%x\n", state->serverid, res.serverid); +#endif + return 1; + } + + if (ntohs(res.command) != MSPROXY_AUTHENTICATE_ACK) { +#ifdef DEBUG_MSPROXY + printf ("expected res.command = 0x%x, is 0x%x\n", MSPROXY_AUTHENTICATE_ACK, ntohs(res.command)); +#endif + return 1; + } + + flags = res.packet.auth.flags & htonl(0x00020000); /* Remember if the server supports NTLM */ + memcpy(challenge, &res.packet.auth.challenge, sizeof(challenge)); + memcpy(ntdomain, &res.packet.auth.NTLMSSP[res.packet.auth.target.offset], res.packet.auth.target.len); + ntdomain[res.packet.auth.target.len] = 0; + +#ifdef DEBUG_MSPROXY + printf ("ntdomain: \"%s\"\n", ntdomain); + printf ("packet #4\n"); +#endif + + bzero(&req, sizeof(req)); + req.clientid = state->clientid; + req.serverid = state->serverid; + req.command = htons(MSPROXY_AUTHENTICATE_2); /* Authentication response */ + req.packet.auth2.magic3 = htons(0x0200); /* Something */ + memcpy(req.packet.auth2.NTLMSSP, "NTLMSSP", sizeof("NTLMSSP")); /* Start of NTLM message */ + req.packet.auth2.msgtype = htonl(0x03000000); /* Message type 2 */ + req.packet.auth2.flags = flags | htonl(0x02000000); /* Choose authentication method */ + data = req.packet.auth2.data; + if (flags) { + req.packet.auth2.lm_resp.len = 0; /* We are here if NTLM is supported, */ + req.packet.auth2.lm_resp.alloc = 0; /* Do not fill in insecure LM response */ + req.packet.auth2.lm_resp.offset = data - req.packet.auth2.NTLMSSP; + req.packet.auth2.ntlm_resp.len = 24; /* Fill in NTLM response security buffer */ + req.packet.auth2.ntlm_resp.alloc = 24; + req.packet.auth2.ntlm_resp.offset = data - req.packet.auth2.NTLMSSP; + ntlm_smb_nt_encrypt(prefs.proxy_pass, challenge, data); /* Append an NTLM response */ + data += 24; + } else { + req.packet.auth2.lm_resp.len = 24; /* Fill in LM response security buffer */ + req.packet.auth2.lm_resp.alloc = 24; + req.packet.auth2.lm_resp.offset = data - req.packet.auth2.NTLMSSP; + ntlm_smb_encrypt(prefs.proxy_pass, challenge, data); /* Append an LM response */ + data += 24; + req.packet.auth2.ntlm_resp.len = 0; /* NTLM response is empty */ + req.packet.auth2.ntlm_resp.alloc = 0; + req.packet.auth2.ntlm_resp.offset = data - req.packet.auth2.NTLMSSP; + } + req.packet.auth2.ntdomain_buf.len = strlen(ntdomain); /* Domain name */ + req.packet.auth2.ntdomain_buf.alloc = req.packet.auth2.ntdomain_buf.len; + req.packet.auth2.ntdomain_buf.offset = data - req.packet.auth2.NTLMSSP; + strcpy(data, ntdomain); + data += req.packet.auth2.ntdomain_buf.len; + req.packet.auth2.username_buf.len = strlen(prefs.proxy_user); /* Username */ + req.packet.auth2.username_buf.alloc = req.packet.auth2.username_buf.len; + req.packet.auth2.username_buf.offset = data - req.packet.auth2.NTLMSSP; + strcpy(data, prefs.proxy_user); + data += req.packet.auth2.username_buf.len; + req.packet.auth2.clienthost_buf.len = strlen(hostname); /* Hostname */ + req.packet.auth2.clienthost_buf.alloc = req.packet.auth2.clienthost_buf.len; + req.packet.auth2.clienthost_buf.offset = data - req.packet.auth2.NTLMSSP; + strcpy(data, hostname); + data += req.packet.auth2.clienthost_buf.len; + req.packet.auth2.sessionkey_buf.len = 0; /* Session key (we don't use it) */ + req.packet.auth2.sessionkey_buf.alloc = 0; + req.packet.auth2.sessionkey_buf.offset = data - req.packet.auth2.NTLMSSP; + + if (send_msprequest(sok, state, &req, data) == -1) + return 1; + + if (recv_mspresponse(sok, state, &res) == -1) + return 1; + + if (res.serverid != state->serverid) { +#ifdef DEBUG_MSPROXY + printf ("expected res.serverid = 0x%x, is 0x%x\n", state->serverid, res.serverid); +#endif + return 1; + } + + if (res.clientack != 0x01) { +#ifdef DEBUG_MSPROXY + printf ("expected res.clientack = 0x01, is 0x%x\n", res.clientack); +#endif + return 1; + } + + if (ntohs(res.command) >> 8 != 0x47) { +#ifdef DEBUG_MSPROXY + printf ("expected res.command = 47??, is 0x%x\n", ntohs(res.command)); +#endif + return 1; + } + + if (ntohs(res.command) == MSPROXY_AUTHENTICATE_2_NAK) { +#ifdef DEBUG_MSPROXY + printf ("Authentication failed\n"); +#endif + return -1; + } + +#ifdef DEBUG_MSPROXY + printf ("packet #5\n"); +#endif + + bzero(&req, sizeof(req)); + req.clientid = state->clientid; + req.serverid = state->serverid; + req.command = htons(MSPROXY_CONNECT); + req.packet.connect.magic2 = htons(0x0200); + req.packet.connect.magic6 = htons(0x0200); + req.packet.connect.destport = htons(port); + req.packet.connect.destaddr = destaddr; + data = req.packet.connect.executable; + strcpy(data, MSPROXY_EXECUTABLE); + data += strlen(MSPROXY_EXECUTABLE) + 1; + + /* + * need to tell server what port we will connect from, so we bind our sockets. + */ + ns_client = net_store_new (); + if (!bound) { + net_store_fill_any (ns_client); + net_bind(ns_client, csok4, csok6); +#ifdef DEBUG_MSPROXY + perror ("bind() result"); +#endif + } + clientport = net_getsockport(csok4, csok6); + if (clientport == -1) { +#ifdef DEBUG_MSPROXY + printf ("Unable to obtain source port\n"); +#endif + return 1; + } + req.packet.connect.srcport = clientport; + + if (send_msprequest(sok, state, &req, data) == -1) + return 1; + + if (recv_mspresponse(sok, state, &res) == -1) + return 1; + + if (ntohs(res.command) != MSPROXY_CONNECT_ACK) { +#ifdef DEBUG_MSPROXY + printf ("expected res.command = 0x%x, is 0x%x\n",MSPROXY_CONNECT_ACK, ntohs(res.command)); +#endif + return 1; + } + + net_store_fill_v4 (ns_client, res.packet.connect.clientaddr, res.packet.connect.clientport); + +#ifdef DEBUG_MSPROXY + printf ("Connecting...\n"); +#endif + if (net_connect (ns_client, csok4, csok6, csok) != 0) { +#ifdef DEBUG_MSPROXY + printf ("Failed to connect to port %d\n", htons(res.packet.connect.clientport)); +#endif + net_store_destroy (ns_client); + return 1; + } + net_store_destroy (ns_client); +#ifdef DEBUG_MSPROXY + printf ("packet #6\n"); +#endif + + req.clientid = state->clientid; + req.serverid = state->serverid; + req.command = htons(MSPROXY_USERINFO_ACK); + + if (send_msprequest(sok, state, &req, req.packet.connack.data) == -1) + return 1; + + return 0; +} + +void +msproxy_keepalive (void) +{ + server *serv; + GSList *list = serv_list; + struct msproxy_request_t req; + struct msproxy_response_t res; + + while (list) + { + serv = list->data; + if (serv->connected && (serv->proxy_sok != -1)) + { +#ifdef DEBUG_MSPROXY + printf ("sending MS proxy keepalive packet\n"); +#endif + + bzero(&req, sizeof(req)); + req.clientid = serv->msp_state.clientid; + req.serverid = serv->msp_state.serverid; + req.command = htons(MSPROXY_HELLO); + + if (send_msprequest(serv->proxy_sok, &serv->msp_state, &req, req.packet.hello.data) == -1) + continue; + + recv_mspresponse(serv->proxy_sok, &serv->msp_state, &res); + +#ifdef DEBUG_MSPROXY + if (ntohs(res.command) != MSPROXY_USERINFO_ACK) + printf ("expected res.command = 0x%x, is 0x%x\n", MSPROXY_USERINFO_ACK, ntohs(res.command)); +#endif + } + list = list->next; + } +} + +#endif diff --git a/src/common/msproxy.h b/src/common/msproxy.h new file mode 100644 index 00000000..d37c81c5 --- /dev/null +++ b/src/common/msproxy.h @@ -0,0 +1,257 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * + * MS Proxy (ISA server) support is (c) 2006 Pavel Fedin <sonic_amiga@rambler.ru> + * based on Dante source code + * Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + * Inferno Nettverk A/S, Norway. All rights reserved. + */ + +#include "network.h" + +#define MSPROXY_EXECUTABLE "xchat.exe" /* This probably can be used for access control on the server side */ + +#define MSPROXY_MINLENGTH 172 /* minimum length of packet. */ +#define NT_MAXNAMELEN 17 /* maximum name length (domain etc), comes from NetBIOS */ +#define MSPROXY_VERSION 0x00010200 /* MS Proxy v2 ? */ + +/* Commands / responses */ +#define MSPROXY_HELLO 0x0500 /* packet 1 from client. */ +#define MSPROXY_HELLO_ACK 0x1000 /* packet 1 from server. */ + +#define MSPROXY_USERINFO_ACK 0x0400 /* packet 2 from server. */ + +#define MSPROXY_AUTHENTICATE 0x4700 /* authentication request */ +#define MSPROXY_AUTHENTICATE_ACK 0x4714 /* authentication challenge */ + +#define MSPROXY_AUTHENTICATE_2 0x4701 /* authentication response */ +#define MSPROXY_AUTHENTICATE_2_ACK 0x4715 /* authentication passed */ +#define MSPROXY_AUTHENTICATE_2_NAK 0x4716 /* authentication failure */ + +#define MSPROXY_CONNECT 0x071e /* connect request. */ +#define MSPROXY_CONNECT_ACK 0x0703 /* connect request accepted. */ + +#pragma pack(1) + +struct ntlm_buffer { + guint16 len; + guint16 alloc; + guint32 offset; +}; + +struct msproxy_request_t { + guint32 clientid; /* 1-4 */ + guint32 magic25; /* 5-8 */ + guint32 serverid; /* 9-12 */ + unsigned char serverack; /* 13: ack of last server packet */ + char pad10[3]; /* 14-16 */ + unsigned char sequence; /* 17: sequence # of this packet. */ + char pad11[7]; /* 18-24 */ + char RWSP[4]; /* 25-28: 0x52,0x57,0x53,0x50 */ + char pad15[8]; /* 29-36 */ + guint16 command; /* 37-38 */ + + /* packet specifics start at 39. */ + union { + struct { + char pad1[18]; /* 39-56 */ + guint16 magic3; /* 57-58 */ + char pad3[114]; /* 59-172 */ + guint16 magic5; /* 173-174: 0x4b, 0x00 */ + char pad5[2]; /* 175-176 */ + guint16 magic10; /* 177-178: 0x14, 0x00 */ + char pad6[2]; /* 179-180 */ + guint16 magic15; /* 181-182: 0x04, 0x00 */ + char pad10[2]; /* 183-184 */ + guint16 magic16; /* 185-186 */ + char pad11[2]; /* 187-188 */ + guint16 magic20; /* 189-190: 0x57, 0x04 */ + guint16 magic25; /* 191-192: 0x00, 0x04 */ + guint16 magic30; /* 193-194: 0x01, 0x00 */ + char pad20[2]; /* 195-196: 0x4a, 0x02 */ + guint16 magic35; /* 197-198: 0x4a, 0x02 */ + char pad30[10]; /* 199-208 */ + guint16 magic40; /* 209-210: 0x30, 0x00 */ + char pad40[2]; /* 211-212 */ + guint16 magic45; /* 213-214: 0x44, 0x00 */ + char pad45[2]; /* 215-216 */ + guint16 magic50; /* 217-218: 0x39, 0x00 */ + char pad50[2]; /* 219-220 */ + char data[256]; /* 221-EOP: a sequence of NULL-terminated strings: + - username; + - empty string (just a NULL); + - application name; + - hostname */ + } hello; + + struct { + char pad1[4]; /* 39-42 */ + guint16 magic2; /* 43-44 */ + char pad10[12]; /* 45-56 */ + guint32 bindaddr; /* 57-60: address to bind. */ + guint16 bindport; /* 61-62: port to bind. */ + char pad15[2]; /* 63-64 */ + guint16 magic3; /* 65-66 */ + guint16 boundport; /* 67-68 */ + char pad20[104]; /* 69-172 */ + char NTLMSSP[sizeof("NTLMSSP")]; /* 173-180: "NTLMSSP" */ + guint32 msgtype; /* 181-184: NTLM message type = 1 */ + guint32 flags; /* 185-188: NTLM message flags */ + guint16 magic20; /* 189-190: 0x28, 0x00 */ + char pad30[2]; /* 191-192 */ + guint16 magic25; /* 193-194: 0x96, 0x82 */ + guint16 magic30; /* 195-196: 0x01, 0x00 */ + char pad40[12]; /* 197-208 */ + guint16 magic50; /* 209-210: 0x30, 0x00 */ + char pad50[6]; /* 211-216 */ + guint16 magic55; /* 217-218: 0x30, 0x00 */ + char pad55[2]; /* 219-220 */ + char data[0]; /* Dummy end marker, no real data required */ + } auth; + + struct { + char pad1[4]; /* 39-42 */ + guint16 magic1; /* 43-44 */ + guint32 magic2; /* 45-48 */ + char pad2[8]; /* 49-56 */ + guint16 magic3; /* 57-58 */ + char pad3[6]; /* 59-64 */ + guint16 magic4; /* 65-66 */ + guint16 boundport; /* 67-68 */ + char pad4[104]; /* 69-172 */ + char NTLMSSP[sizeof("NTLMSSP")]; /* 173-180: "NTLMSSP" */ + guint32 msgtype; /* 181-184: NTLM message type = 3 */ + struct ntlm_buffer lm_resp; /* 185-192: LM response security buffer */ + struct ntlm_buffer ntlm_resp; /* 193-200: NTLM response security buffer */ + struct ntlm_buffer ntdomain_buf; /* 201-208: domain name security buffer */ + struct ntlm_buffer username_buf; /* 209-216: username security buffer */ + struct ntlm_buffer clienthost_buf; /* 217-224: hostname security buffer */ + struct ntlm_buffer sessionkey_buf; /* 225-232: session key security buffer */ + guint32 flags; /* 233-236: message flags */ + char data[1024]; /* 237-EOP: data area */ + } auth2; + + struct { + guint16 magic1; /* 39-40 */ + char pad1[2]; /* 41-42 */ + guint16 magic2; /* 43-44 */ + guint32 magic3; /* 45-48 */ + char pad5[8]; /* 48-56 */ + guint16 magic6; /* 57-58: 0x0200 */ + guint16 destport; /* 59-60 */ + guint32 destaddr; /* 61-64 */ + char pad10[4]; /* 65-68 */ + guint16 magic10; /* 69-70 */ + char pad15[2]; /* 71-72 */ + guint16 srcport; /* 73-74: port client connects from */ + char pad20[82]; /* 75-156 */ + char executable[256]; /* 76-EOP: application name */ + } connect; + + struct { + guint16 magic1; /* 39-40 */ + char pad5[2]; /* 41-42 */ + guint16 magic5; /* 43-44 */ + guint32 magic10; /* 45-48 */ + char pad10[2]; /* 49-50 */ + guint16 magic15; /* 51-52 */ + guint32 magic16; /* 53-56 */ + guint16 magic20; /* 57-58 */ + guint16 clientport; /* 59-60: forwarded port. */ + guint32 clientaddr; /* 61-64: forwarded address. */ + guint32 magic30; /* 65-68 */ + guint32 magic35; /* 69-72 */ + guint16 serverport; /* 73-74: port server will connect to us from. */ + guint16 srcport; /* 75-76: connect request; port used on client behalf. */ + guint16 boundport; /* 77-78: bind request; port used on client behalf. */ + guint32 boundaddr; /* 79-82: addr used on client behalf */ + char pad30[90]; /* 83-172 */ + char data[0]; /* End marker */ + } connack; + + } packet; +}; + +struct msproxy_response_t { + guint32 packetid; /* 1-4 */ + guint32 magic5; /* 5-8 */ + guint32 serverid; /* 9-12 */ + char clientack; /* 13: ack of last client packet. */ + char pad5[3]; /* 14-16 */ + unsigned char sequence; /* 17: sequence # of this packet. */ + char pad10[7]; /* 18-24 */ + char RWSP[4]; /* 25-28: 0x52,0x57,0x53,0x50 */ + char pad15[8]; /* 29-36 */ + guint16 command; /* 37-38 */ + + union { + struct { + char pad5[18]; /* 39-56 */ + guint16 magic20; /* 57-58: 0x02, 0x00 */ + char pad10[6]; /* 59-64 */ + guint16 magic30; /* 65-66: 0x74, 0x01 */ + char pad15[2]; /* 67-68 */ + guint16 magic35; /* 69-70: 0x0c, 0x00 */ + char pad20[6]; /* 71-76 */ + guint16 magic50; /* 77-78: 0x04, 0x00 */ + char pad30[6]; /* 79-84 */ + guint16 magic60; /* 85-86: 0x65, 0x05 */ + char pad35[2]; /* 87-88 */ + guint16 magic65; /* 89-90: 0x02, 0x00 */ + char pad40[8]; /* 91-98 */ + guint16 udpport; /* 99-100 */ + guint32 udpaddr; /* 101-104 */ + } hello; + + struct { + char pad1[6]; /* 39-44 */ + guint32 magic10; /* 45-48 */ + char pad3[10]; /* 49-58 */ + guint16 boundport; /* 59-60: port server bound for us. */ + guint32 boundaddr; /* 61-64: addr server bound for us. */ + char pad10[4]; /* 65-68 */ + guint16 magic15; /* 69-70 */ + char pad15[102]; /* 70-172 */ + char NTLMSSP[sizeof("NTLMSSP")]; /* 173-180: "NTLMSSP" */ + guint32 msgtype; /* 181-184: NTLM message type = 2 */ + struct ntlm_buffer target; /* 185-192: target security buffer */ + guint32 flags; /* 193-196: NTLM message flags */ + char challenge[8]; /* 197-204: NTLM challenge request */ + char context[8]; /* 205-212: NTLM context */ + char data[1024]; /* 213-EOP: target information data */ + } auth; + + struct { + guint16 magic1; /* 39-40 */ + char pad5[18]; /* 41-58 */ + guint16 clientport; /* 59-60: forwarded port. */ + guint32 clientaddr; /* 61-64: forwarded address. */ + guint32 magic10; /* 65-68 */ + guint32 magic15; /* 69-72 */ + guint16 serverport; /* 73-74: port server will connect to us from. */ + guint16 srcport; /* 75-76: connect request; port used on client behalf. */ + guint16 boundport; /* 77-78: bind request; port used on client behalf. */ + guint32 boundaddr; /* 79-82: addr used on client behalf */ + char pad10[90]; /* 83-172 */ + } connect; + } packet; +}; + +#pragma pack() + +int traverse_msproxy (int sok, char *serverAddr, int port, struct msproxy_state_t *state, netstore *ns_proxy, int csok4, int csok6, int *csok, char bound); +void msproxy_keepalive (void); diff --git a/src/common/network.c b/src/common/network.c new file mode 100644 index 00000000..0c409506 --- /dev/null +++ b/src/common/network.c @@ -0,0 +1,383 @@ +/* X-Chat + * Copyright (C) 2001 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +/* ipv4 and ipv6 networking functions with a common interface */ + +#include <stdlib.h> +#include <string.h> +#include <stdio.h> +#include <unistd.h> +#include <glib.h> + +#include "../../config.h" /* grab USE_IPV6 and LOOKUPD defines */ + +#define WANTSOCKET +#define WANTARPA +#define WANTDNS +#include "inet.h" + +#define NETWORK_PRIVATE +#include "network.h" + +#define RAND_INT(n) ((int)(rand() / (RAND_MAX + 1.0) * (n))) + + +/* ================== COMMON ================= */ + +static void +net_set_socket_options (int sok) +{ + socklen_t sw; + + sw = 1; + setsockopt (sok, SOL_SOCKET, SO_REUSEADDR, (char *) &sw, sizeof (sw)); + sw = 1; + setsockopt (sok, SOL_SOCKET, SO_KEEPALIVE, (char *) &sw, sizeof (sw)); +} + +char * +net_ip (guint32 addr) +{ + struct in_addr ia; + + ia.s_addr = htonl (addr); + return inet_ntoa (ia); +} + +void +net_store_destroy (netstore * ns) +{ +#ifdef USE_IPV6 + if (ns->ip6_hostent) + freeaddrinfo (ns->ip6_hostent); +#endif + free (ns); +} + +netstore * +net_store_new (void) +{ + netstore *ns; + + ns = malloc (sizeof (netstore)); + memset (ns, 0, sizeof (netstore)); + + return ns; +} + +#ifndef USE_IPV6 + +/* =================== IPV4 ================== */ + +/* + A note about net_resolve and lookupd: + + Many IRC networks rely on round-robin DNS for load balancing, rotating the list + of IP address on each query. However, this method breaks when DNS queries are + cached. Mac OS X and Darwin handle DNS lookups through the lookupd daemon, which + caches queries in its default configuration: thus, if we always pick the first + address, we will be stuck with the same host (which might be down!) until the + TTL reaches 0 or lookupd is reset (typically, at reboot). Therefore, we need to + pick a random address from the result list, instead of always using the first. +*/ + +char * +net_resolve (netstore * ns, char *hostname, int port, char **real_host) +{ + ns->ip4_hostent = gethostbyname (hostname); + if (!ns->ip4_hostent) + return NULL; + + memset (&ns->addr, 0, sizeof (ns->addr)); +#ifdef LOOKUPD + int count = 0; + while (ns->ip4_hostent->h_addr_list[count]) count++; + memcpy (&ns->addr.sin_addr, + ns->ip4_hostent->h_addr_list[RAND_INT(count)], + ns->ip4_hostent->h_length); +#else + memcpy (&ns->addr.sin_addr, ns->ip4_hostent->h_addr, + ns->ip4_hostent->h_length); +#endif + ns->addr.sin_port = htons (port); + ns->addr.sin_family = AF_INET; + + *real_host = strdup (ns->ip4_hostent->h_name); + return strdup (inet_ntoa (ns->addr.sin_addr)); +} + +int +net_connect (netstore * ns, int sok4, int sok6, int *sok_return) +{ + *sok_return = sok4; + return connect (sok4, (struct sockaddr *) &ns->addr, sizeof (ns->addr)); +} + +void +net_bind (netstore * tobindto, int sok4, int sok6) +{ + bind (sok4, (struct sockaddr *) &tobindto->addr, sizeof (tobindto->addr)); +} + +void +net_sockets (int *sok4, int *sok6) +{ + *sok4 = socket (AF_INET, SOCK_STREAM, 0); + *sok6 = -1; + net_set_socket_options (*sok4); +} + +void +udp_sockets (int *sok4, int *sok6) +{ + *sok4 = socket (AF_INET, SOCK_DGRAM, 0); + *sok6 = -1; +} + +void +net_store_fill_any (netstore *ns) +{ + ns->addr.sin_family = AF_INET; + ns->addr.sin_addr.s_addr = INADDR_ANY; + ns->addr.sin_port = 0; +} + +void +net_store_fill_v4 (netstore *ns, guint32 addr, int port) +{ + ns->addr.sin_family = AF_INET; + ns->addr.sin_addr.s_addr = addr; + ns->addr.sin_port = port; +} + +guint32 +net_getsockaddr_v4 (netstore *ns) +{ + return ns->addr.sin_addr.s_addr; +} + +int +net_getsockport (int sok4, int sok6) +{ + struct sockaddr_in addr; + int len = sizeof (addr); + + if (getsockname (sok4, (struct sockaddr *)&addr, &len) == -1) + return -1; + return addr.sin_port; +} + +#else + +/* =================== IPV6 ================== */ + +char * +net_resolve (netstore * ns, char *hostname, int port, char **real_host) +{ + struct addrinfo hints; + char ipstring[MAX_HOSTNAME]; + char portstring[MAX_HOSTNAME]; + int ret; + +/* if (ns->ip6_hostent) + freeaddrinfo (ns->ip6_hostent);*/ + + sprintf (portstring, "%d", port); + + memset (&hints, 0, sizeof (struct addrinfo)); + hints.ai_family = PF_UNSPEC; /* support ipv6 and ipv4 */ + hints.ai_flags = AI_CANONNAME; + hints.ai_socktype = SOCK_STREAM; + + if (port == 0) + ret = getaddrinfo (hostname, NULL, &hints, &ns->ip6_hostent); + else + ret = getaddrinfo (hostname, portstring, &hints, &ns->ip6_hostent); + if (ret != 0) + return NULL; + +#ifdef LOOKUPD /* See note about lookupd above the IPv4 version of net_resolve. */ + struct addrinfo *tmp; + int count = 0; + + for (tmp = ns->ip6_hostent; tmp; tmp = tmp->ai_next) + count ++; + + count = RAND_INT(count); + + while (count--) ns->ip6_hostent = ns->ip6_hostent->ai_next; +#endif + + /* find the numeric IP number */ + ipstring[0] = 0; + getnameinfo (ns->ip6_hostent->ai_addr, ns->ip6_hostent->ai_addrlen, + ipstring, sizeof (ipstring), NULL, 0, NI_NUMERICHOST); + + if (ns->ip6_hostent->ai_canonname) + *real_host = strdup (ns->ip6_hostent->ai_canonname); + else + *real_host = strdup (hostname); + + return strdup (ipstring); +} + +/* the only thing making this interface unclean, this shitty sok4, sok6 business */ + +int +net_connect (netstore * ns, int sok4, int sok6, int *sok_return) +{ + struct addrinfo *res, *res0; + int error = -1; + + res0 = ns->ip6_hostent; + + for (res = res0; res; res = res->ai_next) + { +/* sok = socket (res->ai_family, res->ai_socktype, res->ai_protocol); + if (sok < 0) + continue;*/ + switch (res->ai_family) + { + case AF_INET: + error = connect (sok4, res->ai_addr, res->ai_addrlen); + *sok_return = sok4; + break; + case AF_INET6: + error = connect (sok6, res->ai_addr, res->ai_addrlen); + *sok_return = sok6; + break; + default: + error = 1; + } + + if (error == 0) + break; + } + + return error; +} + +void +net_bind (netstore * tobindto, int sok4, int sok6) +{ + bind (sok4, tobindto->ip6_hostent->ai_addr, + tobindto->ip6_hostent->ai_addrlen); + bind (sok6, tobindto->ip6_hostent->ai_addr, + tobindto->ip6_hostent->ai_addrlen); +} + +void +net_sockets (int *sok4, int *sok6) +{ + *sok4 = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP); + *sok6 = socket (AF_INET6, SOCK_STREAM, IPPROTO_TCP); + net_set_socket_options (*sok4); + net_set_socket_options (*sok6); +} + +void +udp_sockets (int *sok4, int *sok6) +{ + *sok4 = socket (AF_INET, SOCK_DGRAM, IPPROTO_UDP); + *sok6 = socket (AF_INET6, SOCK_DGRAM, IPPROTO_UDP); +} + +/* the following functions are used only by MSPROXY and are not + proper ipv6 implementations - do not use in new code! */ + +void +net_store_fill_any (netstore *ns) +{ + struct addrinfo *ai; + struct sockaddr_in *sin; + + ai = ns->ip6_hostent; + if (!ai) { + ai = malloc (sizeof (struct addrinfo)); + memset (ai, 0, sizeof (struct addrinfo)); + ns->ip6_hostent = ai; + } + sin = (struct sockaddr_in *)ai->ai_addr; + if (!sin) { + sin = malloc (sizeof (struct sockaddr_in)); + memset (sin, 0, sizeof (struct sockaddr_in)); + ai->ai_addr = (struct sockaddr *)sin; + } + ai->ai_family = AF_INET; + ai->ai_addrlen = sizeof(struct sockaddr_in); + sin->sin_family = AF_INET; + sin->sin_addr.s_addr = INADDR_ANY; + sin->sin_port = 0; + ai->ai_next = NULL; +} + +void +net_store_fill_v4 (netstore *ns, guint32 addr, int port) +{ + struct addrinfo *ai; + struct sockaddr_in *sin; + + ai = ns->ip6_hostent; + if (!ai) { + ai = malloc (sizeof (struct addrinfo)); + memset (ai, 0, sizeof (struct addrinfo)); + ns->ip6_hostent = ai; + } + sin = (struct sockaddr_in *)ai->ai_addr; + if (!sin) { + sin = malloc (sizeof (struct sockaddr_in)); + memset (sin, 0, sizeof (struct sockaddr_in)); + ai->ai_addr = (struct sockaddr *)sin; + } + ai->ai_family = AF_INET; + ai->ai_addrlen = sizeof(struct sockaddr_in); + sin->sin_family = AF_INET; + sin->sin_addr.s_addr = addr; + sin->sin_port = port; + ai->ai_next = NULL; +} + +guint32 +net_getsockaddr_v4 (netstore *ns) +{ + struct addrinfo *ai; + struct sockaddr_in *sin; + + ai = ns->ip6_hostent; + + while (ai->ai_family != AF_INET) { + ai = ai->ai_next; + if (!ai) + return 0; + } + sin = (struct sockaddr_in *)ai->ai_addr; + return sin->sin_addr.s_addr; +} + +int +net_getsockport (int sok4, int sok6) +{ + struct sockaddr_in addr; + int len = sizeof (addr); + + if (getsockname (sok4, (struct sockaddr *)&addr, &len) == -1) + return -1; + return addr.sin_port; +} + +#endif diff --git a/src/common/network.h b/src/common/network.h new file mode 100644 index 00000000..f45f210a --- /dev/null +++ b/src/common/network.h @@ -0,0 +1,34 @@ +#ifndef XCHAT_NETWORK_H +#define XCHAT_NETWORK_H + +typedef struct netstore_ +{ +#ifdef NETWORK_PRIVATE +#ifdef USE_IPV6 + struct addrinfo *ip6_hostent; +#else + struct hostent *ip4_hostent; + struct sockaddr_in addr; +#endif +#else + int _dummy; /* some compilers don't like empty structs */ +#endif +} netstore; + +#define MAX_HOSTNAME 128 + +netstore *net_store_new (void); +void net_store_destroy (netstore *ns); +int net_connect (netstore *ns, int sok4, int sok6, int *sok_return); +char *net_resolve (netstore *ns, char *hostname, int port, char **real_host); +void net_bind (netstore *tobindto, int sok4, int sok6); +char *net_ip (guint32 addr); +void net_sockets (int *sok4, int *sok6); +/* functions for MSPROXY only! */ +void udp_sockets (int *sok4, int *sok6); +void net_store_fill_any (netstore *ns); +void net_store_fill_v4 (netstore *ns, guint32 addr, int port); +guint32 net_getsockaddr_v4 (netstore *ns); +int net_getsockport(int sok4, int sok6); + +#endif diff --git a/src/common/notify.c b/src/common/notify.c new file mode 100644 index 00000000..04795849 --- /dev/null +++ b/src/common/notify.c @@ -0,0 +1,634 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <unistd.h> +#include <time.h> + +#include "xchat.h" +#include "notify.h" +#include "cfgfiles.h" +#include "fe.h" +#include "server.h" +#include "text.h" +#include "util.h" +#include "xchatc.h" + + +GSList *notify_list = 0; +int notify_tag = 0; + + +static char * +despacify_dup (char *str) +{ + char *p, *res = malloc (strlen (str) + 1); + + p = res; + while (1) + { + if (*str != ' ') + { + *p = *str; + if (*p == 0) + return res; + p++; + } + str++; + } +} + +static int +notify_netcmp (char *str, void *serv) +{ + char *net = despacify_dup (server_get_network (serv, TRUE)); + + if (rfc_casecmp (str, net) == 0) + { + free (net); + return 0; /* finish & return FALSE from token_foreach() */ + } + + free (net); + return 1; /* keep going... */ +} + +/* monitor this nick on this particular network? */ + +static gboolean +notify_do_network (struct notify *notify, server *serv) +{ + if (!notify->networks) /* ALL networks for this nick */ + return TRUE; + + if (token_foreach (notify->networks, ',', notify_netcmp, serv)) + return FALSE; /* network list doesn't contain this one */ + + return TRUE; +} + +struct notify_per_server * +notify_find_server_entry (struct notify *notify, struct server *serv) +{ + GSList *list = notify->server_list; + struct notify_per_server *servnot; + + while (list) + { + servnot = (struct notify_per_server *) list->data; + if (servnot->server == serv) + return servnot; + list = list->next; + } + + /* not found, should we add it, or is this not a network where + we're monitoring this nick? */ + if (!notify_do_network (notify, serv)) + return NULL; + + servnot = malloc (sizeof (struct notify_per_server)); + if (servnot) + { + memset (servnot, 0, sizeof (struct notify_per_server)); + servnot->server = serv; + servnot->notify = notify; + notify->server_list = g_slist_prepend (notify->server_list, servnot); + } + return servnot; +} + +void +notify_save (void) +{ + int fh; + struct notify *notify; + GSList *list = notify_list; + + fh = xchat_open_file ("notify.conf", O_TRUNC | O_WRONLY | O_CREAT, 0600, XOF_DOMODE); + if (fh != -1) + { + while (list) + { + notify = (struct notify *) list->data; + write (fh, notify->name, strlen (notify->name)); + if (notify->networks) + { + write (fh, " ", 1); + write (fh, notify->networks, strlen (notify->networks)); + } + write (fh, "\n", 1); + list = list->next; + } + close (fh); + } +} + +void +notify_load (void) +{ + int fh; + char buf[256]; + char *sep; + + fh = xchat_open_file ("notify.conf", O_RDONLY, 0, 0); + if (fh != -1) + { + while (waitline (fh, buf, sizeof buf, FALSE) != -1) + { + if (buf[0] != '#' && buf[0] != 0) + { + sep = strchr (buf, ' '); + if (sep) + { + sep[0] = 0; + notify_adduser (buf, sep + 1); + } + else + notify_adduser (buf, NULL); + } + } + close (fh); + } +} + +static struct notify_per_server * +notify_find (server *serv, char *nick) +{ + GSList *list = notify_list; + struct notify_per_server *servnot; + struct notify *notify; + + while (list) + { + notify = (struct notify *) list->data; + + servnot = notify_find_server_entry (notify, serv); + if (!servnot) + { + list = list->next; + continue; + } + + if (!serv->p_cmp (notify->name, nick)) + return servnot; + + list = list->next; + } + + return 0; +} + +static void +notify_announce_offline (server * serv, struct notify_per_server *servnot, + char *nick, int quiet) +{ + session *sess; + + sess = serv->front_session; + + servnot->ison = FALSE; + servnot->lastoff = time (0); + if (!quiet) + EMIT_SIGNAL (XP_TE_NOTIFYOFFLINE, sess, nick, serv->servername, + server_get_network (serv, TRUE), NULL, 0); + fe_notify_update (nick); + fe_notify_update (0); +} + +static void +notify_announce_online (server * serv, struct notify_per_server *servnot, + char *nick) +{ + session *sess; + + sess = serv->front_session; + + servnot->lastseen = time (0); + if (servnot->ison) + return; + + servnot->ison = TRUE; + servnot->laston = time (0); + EMIT_SIGNAL (XP_TE_NOTIFYONLINE, sess, nick, serv->servername, + server_get_network (serv, TRUE), NULL, 0); + fe_notify_update (nick); + fe_notify_update (0); + + if (prefs.whois_on_notifyonline) + { + + /* Let's do whois with idle time (like in /quote WHOIS %s %s) */ + + char *wii_str = malloc (strlen (nick) * 2 + 2); + sprintf (wii_str, "%s %s", nick, nick); + serv->p_whois (serv, wii_str); + free (wii_str); + } +} + +/* handles numeric 601 */ + +void +notify_set_offline (server * serv, char *nick, int quiet) +{ + struct notify_per_server *servnot; + + servnot = notify_find (serv, nick); + if (!servnot) + return; + + notify_announce_offline (serv, servnot, nick, quiet); +} + +/* handles numeric 604 and 600 */ + +void +notify_set_online (server * serv, char *nick) +{ + struct notify_per_server *servnot; + + servnot = notify_find (serv, nick); + if (!servnot) + return; + + notify_announce_online (serv, servnot, nick); +} + +static void +notify_watch (server * serv, char *nick, int add) +{ + char tbuf[256]; + + snprintf (tbuf, sizeof (tbuf), "WATCH +%s", nick); + if (!add) + tbuf[6] = '-'; + serv->p_raw (serv, tbuf); +} + +static void +notify_watch_all (struct notify *notify, int add) +{ + server *serv; + GSList *list = serv_list; + while (list) + { + serv = list->data; + if (serv->connected && serv->end_of_motd && serv->supports_watch && + notify_do_network (notify, serv)) + notify_watch (serv, notify->name, add); + list = list->next; + } +} + +static void +notify_flush_watches (server * serv, GSList *from, GSList *end) +{ + char tbuf[512]; + GSList *list; + struct notify *notify; + + strcpy (tbuf, "WATCH"); + + list = from; + while (list != end) + { + notify = list->data; + strcat (tbuf, " +"); + strcat (tbuf, notify->name); + list = list->next; + } + serv->p_raw (serv, tbuf); +} + +/* called when logging in. e.g. when End of motd. */ + +void +notify_send_watches (server * serv) +{ + struct notify *notify; + GSList *list; + GSList *point; + int len; + + len = 0; + point = list = notify_list; + while (list) + { + notify = list->data; + + if (notify_do_network (notify, serv)) + { + len += strlen (notify->name) + 2 /* + and space */; + if (len > 500) + { + notify_flush_watches (serv, point, list); + len = strlen (notify->name) + 2; + point = list; + } + } + + list = list->next; + } + + if (point) + notify_flush_watches (serv, point, NULL); +} + +/* called when receiving a ISON 303 - should this func go? */ + +void +notify_markonline (server *serv, char *word[]) +{ + struct notify *notify; + struct notify_per_server *servnot; + GSList *list = notify_list; + int i, seen; + + while (list) + { + notify = (struct notify *) list->data; + servnot = notify_find_server_entry (notify, serv); + if (!servnot) + { + list = list->next; + continue; + } + i = 4; + seen = FALSE; + while (*word[i]) + { + if (!serv->p_cmp (notify->name, word[i])) + { + seen = TRUE; + notify_announce_online (serv, servnot, notify->name); + break; + } + i++; + /* FIXME: word[] is only a 32 element array, limits notify list to + about 27 people */ + if (i > PDIWORDS - 5) + { + /*fprintf (stderr, _("*** XCHAT WARNING: notify list too large.\n"));*/ + break; + } + } + if (!seen && servnot->ison) + { + notify_announce_offline (serv, servnot, notify->name, FALSE); + } + list = list->next; + } + fe_notify_update (0); +} + +/* yuck! Old routine for ISON notify */ + +static void +notify_checklist_for_server (server *serv) +{ + char outbuf[512]; + struct notify *notify; + GSList *list = notify_list; + int i = 0; + + strcpy (outbuf, "ISON "); + while (list) + { + notify = list->data; + if (notify_do_network (notify, serv)) + { + i++; + strcat (outbuf, notify->name); + strcat (outbuf, " "); + if (strlen (outbuf) > 460) + { + /* LAME: we can't send more than 512 bytes to the server, but * + * if we split it in two packets, our offline detection wouldn't * + work */ + /*fprintf (stderr, _("*** XCHAT WARNING: notify list too large.\n"));*/ + break; + } + } + list = list->next; + } + + if (i) + serv->p_raw (serv, outbuf); +} + +int +notify_checklist (void) /* check ISON list */ +{ + struct server *serv; + GSList *list = serv_list; + + while (list) + { + serv = list->data; + if (serv->connected && serv->end_of_motd && !serv->supports_watch) + { + notify_checklist_for_server (serv); + } + list = list->next; + } + return 1; +} + +void +notify_showlist (struct session *sess) +{ + char outbuf[256]; + struct notify *notify; + GSList *list = notify_list; + struct notify_per_server *servnot; + int i = 0; + + EMIT_SIGNAL (XP_TE_NOTIFYHEAD, sess, NULL, NULL, NULL, NULL, 0); + while (list) + { + i++; + notify = (struct notify *) list->data; + servnot = notify_find_server_entry (notify, sess->server); + if (servnot && servnot->ison) + snprintf (outbuf, sizeof (outbuf), _(" %-20s online\n"), notify->name); + else + snprintf (outbuf, sizeof (outbuf), _(" %-20s offline\n"), notify->name); + PrintText (sess, outbuf); + list = list->next; + } + if (i) + { + sprintf (outbuf, "%d", i); + EMIT_SIGNAL (XP_TE_NOTIFYNUMBER, sess, outbuf, NULL, NULL, NULL, 0); + } else + EMIT_SIGNAL (XP_TE_NOTIFYEMPTY, sess, NULL, NULL, NULL, NULL, 0); +} + +int +notify_deluser (char *name) +{ + struct notify *notify; + struct notify_per_server *servnot; + GSList *list = notify_list; + + while (list) + { + notify = (struct notify *) list->data; + if (!rfc_casecmp (notify->name, name)) + { + fe_notify_update (notify->name); + /* Remove the records for each server */ + while (notify->server_list) + { + servnot = (struct notify_per_server *) notify->server_list->data; + notify->server_list = + g_slist_remove (notify->server_list, servnot); + free (servnot); + } + notify_list = g_slist_remove (notify_list, notify); + notify_watch_all (notify, FALSE); + if (notify->networks) + free (notify->networks); + free (notify->name); + free (notify); + fe_notify_update (0); + return 1; + } + list = list->next; + } + return 0; +} + +void +notify_adduser (char *name, char *networks) +{ + struct notify *notify = malloc (sizeof (struct notify)); + if (notify) + { + memset (notify, 0, sizeof (struct notify)); + if (strlen (name) >= NICKLEN) + { + notify->name = malloc (NICKLEN); + safe_strcpy (notify->name, name, NICKLEN); + } else + { + notify->name = strdup (name); + } + if (networks) + notify->networks = despacify_dup (networks); + notify->server_list = 0; + notify_list = g_slist_prepend (notify_list, notify); + notify_checklist (); + fe_notify_update (notify->name); + fe_notify_update (0); + notify_watch_all (notify, TRUE); + } +} + +gboolean +notify_is_in_list (server *serv, char *name) +{ + struct notify *notify; + GSList *list = notify_list; + + while (list) + { + notify = (struct notify *) list->data; + if (!serv->p_cmp (notify->name, name)) + return TRUE; + list = list->next; + } + + return FALSE; +} + +int +notify_isnotify (struct session *sess, char *name) +{ + struct notify *notify; + struct notify_per_server *servnot; + GSList *list = notify_list; + + while (list) + { + notify = (struct notify *) list->data; + if (!sess->server->p_cmp (notify->name, name)) + { + servnot = notify_find_server_entry (notify, sess->server); + if (servnot && servnot->ison) + return TRUE; + } + list = list->next; + } + + return FALSE; +} + +void +notify_cleanup () +{ + GSList *list = notify_list; + GSList *nslist, *srvlist; + struct notify *notify; + struct notify_per_server *servnot; + struct server *serv; + int valid; + + while (list) + { + /* Traverse the list of notify structures */ + notify = (struct notify *) list->data; + nslist = notify->server_list; + while (nslist) + { + /* Look at each per-server structure */ + servnot = (struct notify_per_server *) nslist->data; + + /* Check the server is valid */ + valid = FALSE; + srvlist = serv_list; + while (srvlist) + { + serv = (struct server *) srvlist->data; + if (servnot->server == serv) + { + valid = serv->connected; /* Only valid if server is too */ + break; + } + srvlist = srvlist->next; + } + if (!valid) + { + notify->server_list = + g_slist_remove (notify->server_list, servnot); + free (servnot); + nslist = notify->server_list; + } else + { + nslist = nslist->next; + } + } + list = list->next; + } + fe_notify_update (0); +} diff --git a/src/common/notify.h b/src/common/notify.h new file mode 100644 index 00000000..37674fe5 --- /dev/null +++ b/src/common/notify.h @@ -0,0 +1,44 @@ +#ifndef XCHAT_NOTIFY_H +#define XCHAT_NOTIFY_H + +struct notify +{ + char *name; + char *networks; /* network names, comma sep */ + GSList *server_list; +}; + +struct notify_per_server +{ + struct server *server; + struct notify *notify; + time_t laston; + time_t lastseen; + time_t lastoff; + unsigned int ison:1; +}; + +extern GSList *notify_list; +extern int notify_tag; + +/* the WATCH stuff */ +void notify_set_online (server * serv, char *nick); +void notify_set_offline (server * serv, char *nick, int quiet); +void notify_send_watches (server * serv); + +/* the general stuff */ +void notify_adduser (char *name, char *networks); +int notify_deluser (char *name); +void notify_cleanup (void); +void notify_load (void); +void notify_save (void); +void notify_showlist (session *sess); +gboolean notify_is_in_list (server *serv, char *name); +int notify_isnotify (session *sess, char *name); +struct notify_per_server *notify_find_server_entry (struct notify *notify, struct server *serv); + +/* the old ISON stuff - remove me? */ +void notify_markonline (server *serv, char *word[]); +int notify_checklist (void); + +#endif diff --git a/src/common/outbound.c b/src/common/outbound.c new file mode 100644 index 00000000..7c6e5e6a --- /dev/null +++ b/src/common/outbound.c @@ -0,0 +1,4403 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#define _GNU_SOURCE /* for memrchr */ +#include <string.h> +#include <stdlib.h> +#include <stdio.h> +#include <ctype.h> +#include <limits.h> +#include <errno.h> + +#define WANTSOCKET +#define WANTARPA +#include "inet.h" + +#ifndef WIN32 +#include <sys/wait.h> +#endif + +#include <unistd.h> +#include <time.h> +#include <signal.h> +#include <sys/stat.h> +#include <fcntl.h> + +#include "xchat.h" +#include "plugin.h" +#include "ignore.h" +#include "util.h" +#include "fe.h" +#include "cfgfiles.h" /* xchat_fopen_file() */ +#include "network.h" /* net_ip() */ +#include "modes.h" +#include "notify.h" +#include "inbound.h" +#include "text.h" +#include "xchatc.h" +#include "servlist.h" +#include "server.h" +#include "tree.h" +#include "outbound.h" + + +#ifdef USE_DEBUG +extern int current_mem_usage; +#endif +#define TBUFSIZE 4096 + +static void help (session *sess, char *tbuf, char *helpcmd, int quiet); +static int cmd_server (session *sess, char *tbuf, char *word[], char *word_eol[]); +static void handle_say (session *sess, char *text, int check_spch); + + +static void +notj_msg (struct session *sess) +{ + PrintText (sess, _("No channel joined. Try /join #<channel>\n")); +} + +void +notc_msg (struct session *sess) +{ + PrintText (sess, _("Not connected. Try /server <host> [<port>]\n")); +} + +static char * +random_line (char *file_name) +{ + FILE *fh; + char buf[512]; + int lines, ran; + + if (!file_name[0]) + goto nofile; + + fh = xchat_fopen_file (file_name, "r", 0); + if (!fh) + { + nofile: + /* reason is not a file, an actual reason! */ + return strdup (file_name); + } + + /* count number of lines in file */ + lines = 0; + while (fgets (buf, sizeof (buf), fh)) + lines++; + + if (lines < 1) + goto nofile; + + /* go down a random number */ + rewind (fh); + ran = RAND_INT (lines); + do + { + fgets (buf, sizeof (buf), fh); + lines--; + } + while (lines > ran); + fclose (fh); + buf[strlen (buf) - 1] = 0; /* remove the trailing '\n' */ + return strdup (buf); +} + +void +server_sendpart (server * serv, char *channel, char *reason) +{ + if (!reason) + { + reason = random_line (prefs.partreason); + serv->p_part (serv, channel, reason); + free (reason); + } else + { + /* reason set by /quit, /close argument */ + serv->p_part (serv, channel, reason); + } +} + +void +server_sendquit (session * sess) +{ + char *rea, *colrea; + + if (!sess->quitreason) + { + colrea = strdup (prefs.quitreason); + check_special_chars (colrea, FALSE); + rea = random_line (colrea); + free (colrea); + sess->server->p_quit (sess->server, rea); + free (rea); + } else + { + /* reason set by /quit, /close argument */ + sess->server->p_quit (sess->server, sess->quitreason); + } +} + +void +process_data_init (char *buf, char *cmd, char *word[], + char *word_eol[], gboolean handle_quotes, + gboolean allow_escape_quotes) +{ + int wordcount = 2; + int space = FALSE; + int quote = FALSE; + int j = 0; + int len; + + word[0] = "\000\000"; + word_eol[0] = "\000\000"; + word[1] = (char *)buf; + word_eol[1] = (char *)cmd; + + while (1) + { + switch (*cmd) + { + case 0: + buf[j] = 0; + for (j = wordcount; j < PDIWORDS; j++) + { + word[j] = "\000\000"; + word_eol[j] = "\000\000"; + } + return; + case '\042': + if (!handle_quotes) + goto def; + /* two quotes turn into 1 */ + if (allow_escape_quotes && cmd[1] == '\042') + { + cmd++; + goto def; + } + if (quote) + { + quote = FALSE; + space = FALSE; + } else + quote = TRUE; + cmd++; + break; + case ' ': + if (!quote) + { + if (!space) + { + buf[j] = 0; + j++; + + if (wordcount < PDIWORDS) + { + word[wordcount] = &buf[j]; + word_eol[wordcount] = cmd + 1; + wordcount++; + } + + space = TRUE; + } + cmd++; + break; + } + default: +def: + space = FALSE; + len = g_utf8_skip[((unsigned char *)cmd)[0]]; + if (len == 1) + { + buf[j] = *cmd; + j++; + cmd++; + } else + { + /* skip past a multi-byte utf8 char */ + memcpy (buf + j, cmd, len); + j += len; + cmd += len; + } + } + } +} + +static int +cmd_addbutton (struct session *sess, char *tbuf, char *word[], + char *word_eol[]) +{ + if (*word[2] && *word_eol[3]) + { + if (sess->type == SESS_DIALOG) + { + list_addentry (&dlgbutton_list, word_eol[3], word[2]); + fe_dlgbuttons_update (sess); + } else + { + list_addentry (&button_list, word_eol[3], word[2]); + fe_buttons_update (sess); + } + return TRUE; + } + return FALSE; +} + +static int +cmd_allchannels (session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + GSList *list = sess_list; + + if (!*word_eol[2]) + return FALSE; + + while (list) + { + sess = list->data; + if (sess->type == SESS_CHANNEL && sess->channel[0] && sess->server->connected) + { + handle_command (sess, word_eol[2], FALSE); + } + list = list->next; + } + + return TRUE; +} + +static int +cmd_allchannelslocal (session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + GSList *list = sess_list; + server *serv = sess->server; + + if (!*word_eol[2]) + return FALSE; + + while (list) + { + sess = list->data; + if (sess->type == SESS_CHANNEL && sess->channel[0] && + sess->server->connected && sess->server == serv) + { + handle_command (sess, word_eol[2], FALSE); + } + list = list->next; + } + + return TRUE; +} + +static int +cmd_allservers (struct session *sess, char *tbuf, char *word[], + char *word_eol[]) +{ + GSList *list; + server *serv; + + if (!*word_eol[2]) + return FALSE; + + list = serv_list; + while (list) + { + serv = list->data; + if (serv->connected) + handle_command (serv->front_session, word_eol[2], FALSE); + list = list->next; + } + + return TRUE; +} + +static int +cmd_away (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + GSList *list; + char *reason = word_eol[2]; + + if (!(*reason)) + { + if (sess->server->is_away) + { + if (sess->server->last_away_reason) + PrintTextf (sess, _("Already marked away: %s\n"), sess->server->last_away_reason); + return FALSE; + } + + if (sess->server->reconnect_away) + reason = sess->server->last_away_reason; + else + /* must manage memory pointed to by random_line() */ + reason = random_line (prefs.awayreason); + } + sess->server->p_set_away (sess->server, reason); + + if (prefs.show_away_message) + { + snprintf (tbuf, TBUFSIZE, "me is away: %s", reason); + for (list = sess_list; list; list = list->next) + { + /* am I the right server and not a dialog box */ + if (((struct session *) list->data)->server == sess->server + && ((struct session *) list->data)->type == SESS_CHANNEL + && ((struct session *) list->data)->channel[0]) + { + handle_command ((session *) list->data, tbuf, TRUE); + } + } + } + + if (sess->server->last_away_reason != reason) + { + if (sess->server->last_away_reason) + free (sess->server->last_away_reason); + + if (reason == word_eol[2]) + sess->server->last_away_reason = strdup (reason); + else + sess->server->last_away_reason = reason; + } + + if (!sess->server->connected) + sess->server->reconnect_away = 1; + + return TRUE; +} + +static int +cmd_back (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + GSList *list; + unsigned int gone; + + if (sess->server->is_away) + { + sess->server->p_set_back (sess->server); + + if (prefs.show_away_message) + { + gone = time (NULL) - sess->server->away_time; + sprintf (tbuf, "me is back (gone %.2d:%.2d:%.2d)", gone / 3600, + (gone / 60) % 60, gone % 60); + for (list = sess_list; list; list = list->next) + { + /* am I the right server and not a dialog box */ + if (((struct session *) list->data)->server == sess->server + && ((struct session *) list->data)->type == SESS_CHANNEL + && ((struct session *) list->data)->channel[0]) + { + handle_command ((session *) list->data, tbuf, TRUE); + } + } + } + } + else + { + PrintText (sess, _("Already marked back.\n")); + } + + if (sess->server->last_away_reason) + free (sess->server->last_away_reason); + sess->server->last_away_reason = NULL; + + return TRUE; +} + +static void +ban (session * sess, char *tbuf, char *mask, char *bantypestr, int deop) +{ + int bantype; + struct User *user; + char *at, *dot, *lastdot; + char username[64], fullhost[128], domain[128], *mode, *p2; + server *serv = sess->server; + + user = userlist_find (sess, mask); + if (user && user->hostname) /* it's a nickname, let's find a proper ban mask */ + { + if (deop) + { + mode = "-o+b "; + p2 = user->nick; + } else + { + mode = "+b"; + p2 = ""; + } + + mask = user->hostname; + + at = strchr (mask, '@'); /* FIXME: utf8 */ + if (!at) + return; /* can't happen? */ + *at = 0; + + if (mask[0] == '~' || mask[0] == '+' || + mask[0] == '=' || mask[0] == '^' || mask[0] == '-') + { + /* the ident is prefixed with something, we replace that sign with an * */ + safe_strcpy (username+1, mask+1, sizeof (username)-1); + username[0] = '*'; + } else if (at - mask < USERNAMELEN) + { + /* we just add an * in the begining of the ident */ + safe_strcpy (username+1, mask, sizeof (username)-1); + username[0] = '*'; + } else + { + /* ident might be too long, we just ban what it gives and add an * in the end */ + safe_strcpy (username, mask, sizeof (username)); + } + *at = '@'; + safe_strcpy (fullhost, at + 1, sizeof (fullhost)); + + dot = strchr (fullhost, '.'); + if (dot) + { + safe_strcpy (domain, dot, sizeof (domain)); + } else + { + safe_strcpy (domain, fullhost, sizeof (domain)); + } + + if (*bantypestr) + bantype = atoi (bantypestr); + else + bantype = prefs.bantype; + + tbuf[0] = 0; + if (inet_addr (fullhost) != -1) /* "fullhost" is really a IP number */ + { + lastdot = strrchr (fullhost, '.'); + if (!lastdot) + return; /* can't happen? */ + + *lastdot = 0; + strcpy (domain, fullhost); + *lastdot = '.'; + + switch (bantype) + { + case 0: + snprintf (tbuf, TBUFSIZE, "%s%s *!*@%s.*", mode, p2, domain); + break; + + case 1: + snprintf (tbuf, TBUFSIZE, "%s%s *!*@%s", mode, p2, fullhost); + break; + + case 2: + snprintf (tbuf, TBUFSIZE, "%s%s *!%s@%s.*", mode, p2, username, domain); + break; + + case 3: + snprintf (tbuf, TBUFSIZE, "%s%s *!%s@%s", mode, p2, username, fullhost); + break; + } + } else + { + switch (bantype) + { + case 0: + snprintf (tbuf, TBUFSIZE, "%s%s *!*@*%s", mode, p2, domain); + break; + + case 1: + snprintf (tbuf, TBUFSIZE, "%s%s *!*@%s", mode, p2, fullhost); + break; + + case 2: + snprintf (tbuf, TBUFSIZE, "%s%s *!%s@*%s", mode, p2, username, domain); + break; + + case 3: + snprintf (tbuf, TBUFSIZE, "%s%s *!%s@%s", mode, p2, username, fullhost); + break; + } + } + + } else + { + snprintf (tbuf, TBUFSIZE, "+b %s", mask); + } + serv->p_mode (serv, sess->channel, tbuf); +} + +static int +cmd_ban (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *mask = word[2]; + + if (*mask) + { + ban (sess, tbuf, mask, word[3], 0); + } else + { + sess->server->p_mode (sess->server, sess->channel, "+b"); /* banlist */ + } + + return TRUE; +} + +static int +cmd_unban (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + /* Allow more than one mask in /unban -- tvk */ + int i = 2; + + while (1) + { + if (!*word[i]) + { + if (i == 2) + return FALSE; + send_channel_modes (sess, tbuf, word, 2, i, '-', 'b', 0); + return TRUE; + } + i++; + } +} + +static int +cmd_chanopt (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + /* chanopt.c */ + return chanopt_command (sess, tbuf, word, word_eol); +} + +static int +cmd_charset (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + server *serv = sess->server; + const char *locale = NULL; + int offset = 0; + + if (strcmp (word[2], "-quiet") == 0) + offset++; + + if (!word[2 + offset][0]) + { + g_get_charset (&locale); + PrintTextf (sess, "Current charset: %s\n", + serv->encoding ? serv->encoding : locale); + return TRUE; + } + + if (servlist_check_encoding (word[2 + offset])) + { + server_set_encoding (serv, word[2 + offset]); + if (offset < 1) + PrintTextf (sess, "Charset changed to: %s\n", word[2 + offset]); + } else + { + PrintTextf (sess, "\0034Unknown charset:\017 %s\n", word[2 + offset]); + } + + return TRUE; +} + +static int +cmd_clear (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + GSList *list = sess_list; + char *reason = word_eol[2]; + + if (strcasecmp (reason, "HISTORY") == 0) + { + history_free (&sess->history); + return TRUE; + } + + if (strncasecmp (reason, "all", 3) == 0) + { + while (list) + { + sess = list->data; + if (!sess->nick_said) + fe_text_clear (list->data, 0); + list = list->next; + } + return TRUE; + } + + if (reason[0] != '-' && !isdigit (reason[0]) && reason[0] != 0) + return FALSE; + + fe_text_clear (sess, atoi (reason)); + return TRUE; +} + +static int +cmd_close (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + GSList *list; + + if (strcmp (word[2], "-m") == 0) + { + list = sess_list; + while (list) + { + sess = list->data; + list = list->next; + if (sess->type == SESS_DIALOG) + fe_close_window (sess); + } + } else + { + if (*word_eol[2]) + sess->quitreason = word_eol[2]; + fe_close_window (sess); + } + + return TRUE; +} + +static int +cmd_ctcp (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int mbl; + char *to = word[2]; + if (*to) + { + char *msg = word_eol[3]; + if (*msg) + { + unsigned char *cmd = (unsigned char *)msg; + + /* make the first word upper case (as per RFC) */ + while (1) + { + if (*cmd == ' ' || *cmd == 0) + break; + mbl = g_utf8_skip[*cmd]; + if (mbl == 1) + *cmd = toupper (*cmd); + cmd += mbl; + } + + sess->server->p_ctcp (sess->server, to, msg); + + EMIT_SIGNAL (XP_TE_CTCPSEND, sess, to, msg, NULL, NULL, 0); + + return TRUE; + } + } + return FALSE; +} + +static int +cmd_country (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *code = word[2]; + if (*code) + { + /* search? */ + if (strcmp (code, "-s") == 0) + { + country_search (word[3], sess, (void *)PrintTextf); + return TRUE; + } + + /* search, but forgot the -s */ + if (strchr (code, '*')) + { + country_search (code, sess, (void *)PrintTextf); + return TRUE; + } + + sprintf (tbuf, "%s = %s\n", code, country (code)); + PrintText (sess, tbuf); + return TRUE; + } + return FALSE; +} + +static int +cmd_cycle (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *key = sess->channelkey; + char *chan = word[2]; + if (!*chan) + chan = sess->channel; + if (*chan && sess->type == SESS_CHANNEL) + { + sess->server->p_cycle (sess->server, chan, key); + return TRUE; + } + return FALSE; +} + +static int +cmd_dcc (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int goodtype; + struct DCC *dcc = 0; + char *type = word[2]; + if (*type) + { + if (!strcasecmp (type, "HELP")) + return FALSE; + if (!strcasecmp (type, "CLOSE")) + { + if (*word[3] && *word[4]) + { + goodtype = 0; + if (!strcasecmp (word[3], "SEND")) + { + dcc = find_dcc (word[4], word[5], TYPE_SEND); + dcc_abort (sess, dcc); + goodtype = TRUE; + } + if (!strcasecmp (word[3], "GET")) + { + dcc = find_dcc (word[4], word[5], TYPE_RECV); + dcc_abort (sess, dcc); + goodtype = TRUE; + } + if (!strcasecmp (word[3], "CHAT")) + { + dcc = find_dcc (word[4], "", TYPE_CHATRECV); + if (!dcc) + dcc = find_dcc (word[4], "", TYPE_CHATSEND); + dcc_abort (sess, dcc); + goodtype = TRUE; + } + + if (!goodtype) + return FALSE; + + if (!dcc) + EMIT_SIGNAL (XP_TE_NODCC, sess, NULL, NULL, NULL, NULL, 0); + + return TRUE; + + } + return FALSE; + } + if ((!strcasecmp (type, "CHAT")) || (!strcasecmp (type, "PCHAT"))) + { + char *nick = word[3]; + int passive = (!strcasecmp(type, "PCHAT")) ? 1 : 0; + if (*nick) + dcc_chat (sess, nick, passive); + return TRUE; + } + if (!strcasecmp (type, "LIST")) + { + dcc_show_list (sess); + return TRUE; + } + if (!strcasecmp (type, "GET")) + { + char *nick = word[3]; + char *file = word[4]; + if (!*file) + { + if (*nick) + dcc_get_nick (sess, nick); + } else + { + dcc = find_dcc (nick, file, TYPE_RECV); + if (dcc) + dcc_get (dcc); + else + EMIT_SIGNAL (XP_TE_NODCC, sess, NULL, NULL, NULL, NULL, 0); + } + return TRUE; + } + if ((!strcasecmp (type, "SEND")) || (!strcasecmp (type, "PSEND"))) + { + int i = 3, maxcps; + char *nick, *file; + int passive = (!strcasecmp(type, "PSEND")) ? 1 : 0; + + nick = word[i]; + if (!*nick) + return FALSE; + + maxcps = prefs.dcc_max_send_cps; + if (!strncasecmp(nick, "-maxcps=", 8)) + { + maxcps = atoi(nick + 8); + i++; + nick = word[i]; + if (!*nick) + return FALSE; + } + + i++; + + file = word[i]; + if (!*file) + { + fe_dcc_send_filereq (sess, nick, maxcps, passive); + return TRUE; + } + + do + { + dcc_send (sess, nick, file, maxcps, passive); + i++; + file = word[i]; + } + while (*file); + + return TRUE; + } + + return FALSE; + } + + dcc_show_list (sess); + return TRUE; +} + +static int +cmd_debug (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + struct session *s; + struct server *v; + GSList *list = sess_list; + + PrintText (sess, "Session T Channel WaitChan WillChan Server\n"); + while (list) + { + s = (struct session *) list->data; + sprintf (tbuf, "%p %1x %-10.10s %-10.10s %-10.10s %p\n", + s, s->type, s->channel, s->waitchannel, + s->willjoinchannel, s->server); + PrintText (sess, tbuf); + list = list->next; + } + + list = serv_list; + PrintText (sess, "Server Sock Name\n"); + while (list) + { + v = (struct server *) list->data; + sprintf (tbuf, "%p %-5d %s\n", + v, v->sok, v->servername); + PrintText (sess, tbuf); + list = list->next; + } + + sprintf (tbuf, + "\nfront_session: %p\n" + "current_tab: %p\n\n", + sess->server->front_session, current_tab); + PrintText (sess, tbuf); +#ifdef USE_DEBUG + sprintf (tbuf, "current mem: %d\n\n", current_mem_usage); + PrintText (sess, tbuf); +#endif /* !MEMORY_DEBUG */ + + return TRUE; +} + +static int +cmd_delbutton (struct session *sess, char *tbuf, char *word[], + char *word_eol[]) +{ + if (*word[2]) + { + if (sess->type == SESS_DIALOG) + { + if (list_delentry (&dlgbutton_list, word[2])) + fe_dlgbuttons_update (sess); + } else + { + if (list_delentry (&button_list, word[2])) + fe_buttons_update (sess); + } + return TRUE; + } + return FALSE; +} + +static int +cmd_dehop (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int i = 2; + + while (1) + { + if (!*word[i]) + { + if (i == 2) + return FALSE; + send_channel_modes (sess, tbuf, word, 2, i, '-', 'h', 0); + return TRUE; + } + i++; + } +} + +static int +cmd_deop (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int i = 2; + + while (1) + { + if (!*word[i]) + { + if (i == 2) + return FALSE; + send_channel_modes (sess, tbuf, word, 2, i, '-', 'o', 0); + return TRUE; + } + i++; + } +} + +typedef struct +{ + char **nicks; + int i; + session *sess; + char *reason; + char *tbuf; +} multidata; + +static int +mdehop_cb (struct User *user, multidata *data) +{ + if (user->hop && !user->me) + { + data->nicks[data->i] = user->nick; + data->i++; + } + return TRUE; +} + +static int +cmd_mdehop (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char **nicks = malloc (sizeof (char *) * sess->hops); + multidata data; + + data.nicks = nicks; + data.i = 0; + tree_foreach (sess->usertree, (tree_traverse_func *)mdehop_cb, &data); + send_channel_modes (sess, tbuf, nicks, 0, data.i, '-', 'h', 0); + free (nicks); + + return TRUE; +} + +static int +mdeop_cb (struct User *user, multidata *data) +{ + if (user->op && !user->me) + { + data->nicks[data->i] = user->nick; + data->i++; + } + return TRUE; +} + +static int +cmd_mdeop (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char **nicks = malloc (sizeof (char *) * sess->ops); + multidata data; + + data.nicks = nicks; + data.i = 0; + tree_foreach (sess->usertree, (tree_traverse_func *)mdeop_cb, &data); + send_channel_modes (sess, tbuf, nicks, 0, data.i, '-', 'o', 0); + free (nicks); + + return TRUE; +} + +GSList *menu_list = NULL; + +static void +menu_free (menu_entry *me) +{ + free (me->path); + if (me->label) + free (me->label); + if (me->cmd) + free (me->cmd); + if (me->ucmd) + free (me->ucmd); + if (me->group) + free (me->group); + if (me->icon) + free (me->icon); + free (me); +} + +/* strings equal? but ignore underscores */ + +int +menu_streq (const char *s1, const char *s2, int def) +{ + /* for separators */ + if (s1 == NULL && s2 == NULL) + return 0; + if (s1 == NULL || s2 == NULL) + return 1; + while (*s1) + { + if (*s1 == '_') + s1++; + if (*s2 == '_') + s2++; + if (*s1 != *s2) + return 1; + s1++; + s2++; + } + if (!*s2) + return 0; + return def; +} + +static menu_entry * +menu_entry_find (char *path, char *label) +{ + GSList *list; + menu_entry *me; + + list = menu_list; + while (list) + { + me = list->data; + if (!strcmp (path, me->path)) + { + if (me->label && label && !strcmp (label, me->label)) + return me; + } + list = list->next; + } + return NULL; +} + +static void +menu_del_children (char *path, char *label) +{ + GSList *list, *next; + menu_entry *me; + char buf[512]; + + if (!label) + label = ""; + if (path[0]) + snprintf (buf, sizeof (buf), "%s/%s", path, label); + else + snprintf (buf, sizeof (buf), "%s", label); + + list = menu_list; + while (list) + { + me = list->data; + next = list->next; + if (!menu_streq (buf, me->path, 0)) + { + menu_list = g_slist_remove (menu_list, me); + menu_free (me); + } + list = next; + } +} + +static int +menu_del (char *path, char *label) +{ + GSList *list; + menu_entry *me; + + list = menu_list; + while (list) + { + me = list->data; + if (!menu_streq (me->label, label, 1) && !menu_streq (me->path, path, 1)) + { + menu_list = g_slist_remove (menu_list, me); + fe_menu_del (me); + menu_free (me); + /* delete this item's children, if any */ + menu_del_children (path, label); + return 1; + } + list = list->next; + } + + return 0; +} + +static char +menu_is_mainmenu_root (char *path, gint16 *offset) +{ + static const char *menus[] = {"\x4$TAB","\x5$TRAY","\x4$URL","\x5$NICK","\x5$CHAN"}; + int i; + + for (i = 0; i < 5; i++) + { + if (!strncmp (path, menus[i] + 1, menus[i][0])) + { + *offset = menus[i][0] + 1; /* number of bytes to offset the root */ + return 0; /* is not main menu */ + } + } + + *offset = 0; + return 1; /* is main menu */ +} + +static void +menu_add (char *path, char *label, char *cmd, char *ucmd, int pos, int state, int markup, int enable, int mod, int key, char *group, char *icon) +{ + menu_entry *me; + + /* already exists? */ + me = menu_entry_find (path, label); + if (me) + { + /* update only */ + me->state = state; + me->enable = enable; + fe_menu_update (me); + return; + } + + me = malloc (sizeof (menu_entry)); + me->pos = pos; + me->modifier = mod; + me->is_main = menu_is_mainmenu_root (path, &me->root_offset); + me->state = state; + me->markup = markup; + me->enable = enable; + me->key = key; + me->path = strdup (path); + me->label = NULL; + me->cmd = NULL; + me->ucmd = NULL; + me->group = NULL; + me->icon = NULL; + + if (label) + me->label = strdup (label); + if (cmd) + me->cmd = strdup (cmd); + if (ucmd) + me->ucmd = strdup (ucmd); + if (group) + me->group = strdup (group); + if (icon) + me->icon = strdup (icon); + + menu_list = g_slist_append (menu_list, me); + label = fe_menu_add (me); + if (label) + { + /* FE has given us a stripped label */ + free (me->label); + me->label = strdup (label); + g_free (label); /* this is from pango */ + } +} + +static int +cmd_menu (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int idx = 2; + int len; + int pos = 0xffff; + int state; + int toggle = FALSE; + int enable = TRUE; + int markup = FALSE; + int key = 0; + int mod = 0; + char *label; + char *group = NULL; + char *icon = NULL; + + if (!word[2][0] || !word[3][0]) + return FALSE; + + /* -eX enabled or not? */ + if (word[idx][0] == '-' && word[idx][1] == 'e') + { + enable = atoi (word[idx] + 2); + idx++; + } + + /* -i<ICONFILE> */ + if (word[idx][0] == '-' && word[idx][1] == 'i') + { + icon = word[idx] + 2; + idx++; + } + + /* -k<mod>,<key> key binding */ + if (word[idx][0] == '-' && word[idx][1] == 'k') + { + char *comma = strchr (word[idx], ','); + if (!comma) + return FALSE; + mod = atoi (word[idx] + 2); + key = atoi (comma + 1); + idx++; + } + + /* -m to specify PangoMarkup language */ + if (word[idx][0] == '-' && word[idx][1] == 'm') + { + markup = TRUE; + idx++; + } + + /* -pX to specify menu position */ + if (word[idx][0] == '-' && word[idx][1] == 'p') + { + pos = atoi (word[idx] + 2); + idx++; + } + + /* -rSTATE,GROUP to specify a radio item */ + if (word[idx][0] == '-' && word[idx][1] == 'r') + { + state = atoi (word[idx] + 2); + group = word[idx] + 4; + idx++; + } + + /* -tX to specify toggle item with default state */ + if (word[idx][0] == '-' && word[idx][1] == 't') + { + state = atoi (word[idx] + 2); + idx++; + toggle = TRUE; + } + + if (word[idx+1][0] == 0) + return FALSE; + + /* the path */ + path_part (word[idx+1], tbuf, 512); + len = strlen (tbuf); + if (len) + tbuf[len - 1] = 0; + + /* the name of the item */ + label = file_part (word[idx + 1]); + if (label[0] == '-' && label[1] == 0) + label = NULL; /* separator */ + + if (markup) + { + char *p; /* to force pango closing tags through */ + for (p = label; *p; p++) + if (*p == 3) + *p = '/'; + } + + if (!strcasecmp (word[idx], "ADD")) + { + if (toggle) + { + menu_add (tbuf, label, word[idx + 2], word[idx + 3], pos, state, markup, enable, mod, key, NULL, NULL); + } else + { + if (word[idx + 2][0]) + menu_add (tbuf, label, word[idx + 2], NULL, pos, state, markup, enable, mod, key, group, icon); + else + menu_add (tbuf, label, NULL, NULL, pos, state, markup, enable, mod, key, group, icon); + } + return TRUE; + } + + if (!strcasecmp (word[idx], "DEL")) + { + menu_del (tbuf, label); + return TRUE; + } + + return FALSE; +} + +static int +mkick_cb (struct User *user, multidata *data) +{ + if (!user->op && !user->me) + data->sess->server->p_kick (data->sess->server, data->sess->channel, user->nick, data->reason); + return TRUE; +} + +static int +mkickops_cb (struct User *user, multidata *data) +{ + if (user->op && !user->me) + data->sess->server->p_kick (data->sess->server, data->sess->channel, user->nick, data->reason); + return TRUE; +} + +static int +cmd_mkick (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + multidata data; + + data.sess = sess; + data.reason = word_eol[2]; + tree_foreach (sess->usertree, (tree_traverse_func *)mkickops_cb, &data); + tree_foreach (sess->usertree, (tree_traverse_func *)mkick_cb, &data); + + return TRUE; +} + +static int +cmd_devoice (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int i = 2; + + while (1) + { + if (!*word[i]) + { + if (i == 2) + return FALSE; + send_channel_modes (sess, tbuf, word, 2, i, '-', 'v', 0); + return TRUE; + } + i++; + } +} + +static int +cmd_discon (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + sess->server->disconnect (sess, TRUE, -1); + return TRUE; +} + +static int +cmd_dns (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ +#ifdef WIN32 + PrintText (sess, "DNS is not implemented in Windows.\n"); + return TRUE; +#else + char *nick = word[2]; + struct User *user; + + if (*nick) + { + if (strchr (nick, '.') == NULL) + { + user = userlist_find (sess, nick); + if (user && user->hostname) + { + do_dns (sess, user->nick, user->hostname); + } else + { + sess->server->p_get_ip (sess->server, nick); + sess->server->doing_dns = TRUE; + } + } else + { + snprintf (tbuf, TBUFSIZE, "exec -d %s %s", prefs.dnsprogram, nick); + handle_command (sess, tbuf, FALSE); + } + return TRUE; + } + return FALSE; +#endif +} + +static int +cmd_echo (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + PrintText (sess, word_eol[2]); + return TRUE; +} + +#ifndef WIN32 + +static void +exec_check_process (struct session *sess) +{ + int val; + + if (sess->running_exec == NULL) + return; + val = waitpid (sess->running_exec->childpid, NULL, WNOHANG); + if (val == -1 || val > 0) + { + close (sess->running_exec->myfd); + fe_input_remove (sess->running_exec->iotag); + free (sess->running_exec); + sess->running_exec = NULL; + } +} + +#ifndef __EMX__ +static int +cmd_execs (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int r; + + exec_check_process (sess); + if (sess->running_exec == NULL) + { + EMIT_SIGNAL (XP_TE_NOCHILD, sess, NULL, NULL, NULL, NULL, 0); + return FALSE; + } + r = kill (sess->running_exec->childpid, SIGSTOP); + if (r == -1) + PrintText (sess, "Error in kill(2)\n"); + + return TRUE; +} + +static int +cmd_execc (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int r; + + exec_check_process (sess); + if (sess->running_exec == NULL) + { + EMIT_SIGNAL (XP_TE_NOCHILD, sess, NULL, NULL, NULL, NULL, 0); + return FALSE; + } + r = kill (sess->running_exec->childpid, SIGCONT); + if (r == -1) + PrintText (sess, "Error in kill(2)\n"); + + return TRUE; +} + +static int +cmd_execk (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int r; + + exec_check_process (sess); + if (sess->running_exec == NULL) + { + EMIT_SIGNAL (XP_TE_NOCHILD, sess, NULL, NULL, NULL, NULL, 0); + return FALSE; + } + if (strcmp (word[2], "-9") == 0) + r = kill (sess->running_exec->childpid, SIGKILL); + else + r = kill (sess->running_exec->childpid, SIGTERM); + if (r == -1) + PrintText (sess, "Error in kill(2)\n"); + + return TRUE; +} + +/* OS/2 Can't have the /EXECW command because it uses pipe(2) not socketpair + and thus it is simplex --AGL */ +static int +cmd_execw (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int len; + char *temp; + exec_check_process (sess); + if (sess->running_exec == NULL) + { + EMIT_SIGNAL (XP_TE_NOCHILD, sess, NULL, NULL, NULL, NULL, 0); + return FALSE; + } + len = strlen(word_eol[2]); + temp = malloc(len + 2); + sprintf(temp, "%s\n", word_eol[2]); + PrintText(sess, temp); + write(sess->running_exec->myfd, temp, len + 1); + free(temp); + + return TRUE; +} +#endif /* !__EMX__ */ + +/* convert ANSI escape color codes to mIRC codes */ + +static short escconv[] = +/* 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 */ +{ 1,4,3,5,2,10,6,1, 1,7,9,8,12,11,13,1 }; + +static void +exec_handle_colors (char *buf, int len) +{ + char numb[16]; + char *nbuf; + int i = 0, j = 0, k = 0, firstn = 0, col, colf = 0, colb = 0; + int esc = FALSE, backc = FALSE, bold = FALSE; + + /* any escape codes in this text? */ + if (strchr (buf, 27) == 0) + return; + + nbuf = malloc (len + 1); + + while (i < len) + { + switch (buf[i]) + { + case '\r': + break; + case 27: + esc = TRUE; + break; + case ';': + if (!esc) + goto norm; + backc = TRUE; + numb[k] = 0; + firstn = atoi (numb); + k = 0; + break; + case '[': + if (!esc) + goto norm; + break; + default: + if (esc) + { + if (buf[i] >= 'A' && buf[i] <= 'z') + { + if (buf[i] == 'm') + { + /* ^[[0m */ + if (k == 0 || (numb[0] == '0' && k == 1)) + { + nbuf[j] = '\017'; + j++; + bold = FALSE; + goto cont; + } + + numb[k] = 0; + col = atoi (numb); + backc = FALSE; + + if (firstn == 1) + bold = TRUE; + + if (firstn >= 30 && firstn <= 37) + colf = firstn - 30; + + if (col >= 40) + { + colb = col - 40; + backc = TRUE; + } + + if (col >= 30 && col <= 37) + colf = col - 30; + + if (bold) + colf += 8; + + if (backc) + { + colb = escconv[colb % 14]; + colf = escconv[colf % 14]; + j += sprintf (&nbuf[j], "\003%d,%02d", colf, colb); + } else + { + colf = escconv[colf % 14]; + j += sprintf (&nbuf[j], "\003%02d", colf); + } + } +cont: esc = FALSE; + backc = FALSE; + k = 0; + } else + { + if (isdigit ((unsigned char) buf[i]) && k < (sizeof (numb) - 1)) + { + numb[k] = buf[i]; + k++; + } + } + } else + { +norm: nbuf[j] = buf[i]; + j++; + } + } + i++; + } + + nbuf[j] = 0; + memcpy (buf, nbuf, j + 1); + free (nbuf); +} + +#ifndef HAVE_MEMRCHR +static void * +memrchr (const void *block, int c, size_t size) +{ + unsigned char *p; + + for (p = (unsigned char *)block + size; p != block; p--) + if (*p == c) + return p; + return 0; +} +#endif + +static gboolean +exec_data (GIOChannel *source, GIOCondition condition, struct nbexec *s) +{ + char *buf, *readpos, *rest; + int rd, len; + int sok = s->myfd; + + len = s->buffill; + if (len) { + /* append new data to buffered incomplete line */ + buf = malloc(len + 2050); + memcpy(buf, s->linebuf, len); + readpos = buf + len; + free(s->linebuf); + s->linebuf = NULL; + } + else + readpos = buf = malloc(2050); + + rd = read (sok, readpos, 2048); + if (rd < 1) + { + /* The process has died */ + kill(s->childpid, SIGKILL); + if (len) { + buf[len] = '\0'; + exec_handle_colors(buf, len); + if (s->tochannel) + { + /* must turn off auto-completion temporarily */ + unsigned int old = prefs.nickcompletion; + prefs.nickcompletion = 0; + handle_multiline (s->sess, buf, FALSE, TRUE); + prefs.nickcompletion = old; + } + else + PrintText (s->sess, buf); + } + free(buf); + waitpid (s->childpid, NULL, 0); + s->sess->running_exec = NULL; + fe_input_remove (s->iotag); + close (sok); + free (s); + return TRUE; + } + len += rd; + buf[len] = '\0'; + + rest = memrchr(buf, '\n', len); + if (rest) + rest++; + else + rest = buf; + if (*rest) { + s->buffill = len - (rest - buf); /* = strlen(rest) */ + s->linebuf = malloc(s->buffill); + memcpy(s->linebuf, rest, s->buffill); + *rest = '\0'; + len -= s->buffill; /* possibly 0 */ + } + else + s->buffill = 0; + + if (len) { + exec_handle_colors (buf, len); + if (s->tochannel) + handle_multiline (s->sess, buf, FALSE, TRUE); + else + PrintText (s->sess, buf); + } + + free(buf); + return TRUE; +} + +static int +cmd_exec (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int tochannel = FALSE; + char *cmd = word_eol[2]; + int fds[2], pid = 0; + struct nbexec *s; + int shell = TRUE; + int fd; + + if (*cmd) + { + exec_check_process (sess); + if (sess->running_exec != NULL) + { + EMIT_SIGNAL (XP_TE_ALREADYPROCESS, sess, NULL, NULL, NULL, NULL, 0); + return TRUE; + } + + if (!strcmp (word[2], "-d")) + { + if (!*word[3]) + return FALSE; + cmd = word_eol[3]; + shell = FALSE; + } + else if (!strcmp (word[2], "-o")) + { + if (!*word[3]) + return FALSE; + cmd = word_eol[3]; + tochannel = TRUE; + } + + if (shell) + { + if (access ("/bin/sh", X_OK) != 0) + { + fe_message (_("I need /bin/sh to run!\n"), FE_MSG_ERROR); + return TRUE; + } + } + +#ifdef __EMX__ /* if os/2 */ + if (pipe (fds) < 0) + { + PrintText (sess, "Pipe create error\n"); + return FALSE; + } + setmode (fds[0], O_BINARY); + setmode (fds[1], O_BINARY); +#else + if (socketpair (PF_UNIX, SOCK_STREAM, 0, fds) == -1) + { + PrintText (sess, "socketpair(2) failed\n"); + return FALSE; + } +#endif + s = (struct nbexec *) malloc (sizeof (struct nbexec)); + memset(s, 0, sizeof(*s)); + s->myfd = fds[0]; + s->tochannel = tochannel; + s->sess = sess; + + pid = fork (); + if (pid == 0) + { + /* This is the child's context */ + close (0); + close (1); + close (2); + /* Close parent's end of pipe */ + close(s->myfd); + /* Copy the child end of the pipe to stdout and stderr */ + dup2 (fds[1], 1); + dup2 (fds[1], 2); + /* Also copy it to stdin so we can write to it */ + dup2 (fds[1], 0); + /* Now close all open file descriptors except stdin, stdout and stderr */ + for (fd = 3; fd < 1024; fd++) close(fd); + /* Now we call /bin/sh to run our cmd ; made it more friendly -DC1 */ + if (shell) + { + execl ("/bin/sh", "sh", "-c", cmd, NULL); + } else + { + char **argv; + int argc; + + my_poptParseArgvString (cmd, &argc, &argv); + execvp (argv[0], argv); + } + /* not reached unless error */ + /*printf("exec error\n");*/ + fflush (stdout); + fflush (stdin); + _exit (0); + } + if (pid == -1) + { + /* Parent context, fork() failed */ + + PrintText (sess, "Error in fork(2)\n"); + close(fds[0]); + close(fds[1]); + } else + { + /* Parent path */ + close(fds[1]); + s->childpid = pid; + s->iotag = fe_input_add (s->myfd, FIA_READ|FIA_EX, exec_data, s); + sess->running_exec = s; + return TRUE; + } + } + return FALSE; +} + +#endif + +static int +cmd_flushq (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + sprintf (tbuf, "Flushing server send queue, %d bytes.\n", sess->server->sendq_len); + PrintText (sess, tbuf); + sess->server->flush_queue (sess->server); + return TRUE; +} + +static int +cmd_quit (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (*word_eol[2]) + sess->quitreason = word_eol[2]; + sess->server->disconnect (sess, TRUE, -1); + sess->quitreason = NULL; + return 2; +} + +static int +cmd_gate (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *server_name = word[2]; + server *serv = sess->server; + if (*server_name) + { + char *port = word[3]; +#ifdef USE_OPENSSL + serv->use_ssl = FALSE; +#endif + server_fill_her_up (serv); + if (*port) + serv->connect (serv, server_name, atoi (port), TRUE); + else + serv->connect (serv, server_name, 23, TRUE); + return TRUE; + } + return FALSE; +} + +typedef struct +{ + char *cmd; + session *sess; +} getvalinfo; + +static void +get_int_cb (int cancel, int val, getvalinfo *info) +{ + char buf[512]; + + if (!cancel) + { + snprintf (buf, sizeof (buf), "%s %d", info->cmd, val); + if (is_session (info->sess)) + handle_command (info->sess, buf, FALSE); + } + + free (info->cmd); + free (info); +} + +static int +cmd_getint (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + getvalinfo *info; + + if (!word[4][0]) + return FALSE; + + info = malloc (sizeof (*info)); + info->cmd = strdup (word[3]); + info->sess = sess; + + fe_get_int (word[4], atoi (word[2]), get_int_cb, info); + + return TRUE; +} + +static void +get_file_cb (char *cmd, char *file) +{ + char buf[1024 + 128]; + + /* execute the command once per file, then once more with + no args */ + if (file) + { + snprintf (buf, sizeof (buf), "%s %s", cmd, file); + handle_command (current_sess, buf, FALSE); + } + else + { + handle_command (current_sess, cmd, FALSE); + free (cmd); + } +} + +static int +cmd_getfile (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int idx = 2; + int flags = 0; + + if (!word[3][0]) + return FALSE; + + if (!strcmp (word[2], "-folder")) + { + flags |= FRF_CHOOSEFOLDER; + idx++; + } + + if (!strcmp (word[idx], "-multi")) + { + flags |= FRF_MULTIPLE; + idx++; + } + + if (!strcmp (word[idx], "-save")) + { + flags |= FRF_WRITE; + idx++; + } + + fe_get_file (word[idx+1], word[idx+2], (void *)get_file_cb, strdup (word[idx]), flags); + + return TRUE; +} + +static void +get_str_cb (int cancel, char *val, getvalinfo *info) +{ + char buf[512]; + + if (!cancel) + { + snprintf (buf, sizeof (buf), "%s %s", info->cmd, val); + if (is_session (info->sess)) + handle_command (info->sess, buf, FALSE); + } + + free (info->cmd); + free (info); +} + +static int +cmd_getstr (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + getvalinfo *info; + + if (!word[4][0]) + return FALSE; + + info = malloc (sizeof (*info)); + info->cmd = strdup (word[3]); + info->sess = sess; + + fe_get_str (word[4], word[2], get_str_cb, info); + + return TRUE; +} + +static int +cmd_ghost (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (!word[2][0]) + return FALSE; + + sess->server->p_ns_ghost (sess->server, word[2], word[3]); + return TRUE; +} + +static int +cmd_gui (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + switch (str_ihash (word[2])) + { + case 0x058b836e: fe_ctrl_gui (sess, 8, 0); break; /* APPLY */ + case 0xac1eee45: fe_ctrl_gui (sess, 7, 2); break; /* ATTACH */ + case 0x05a72f63: fe_ctrl_gui (sess, 4, atoi (word[3])); break; /* COLOR */ + case 0xb06a1793: fe_ctrl_gui (sess, 7, 1); break; /* DETACH */ + case 0x05cfeff0: fe_ctrl_gui (sess, 3, 0); break; /* FLASH */ + case 0x05d154d8: fe_ctrl_gui (sess, 2, 0); break; /* FOCUS */ + case 0x0030dd42: fe_ctrl_gui (sess, 0, 0); break; /* HIDE */ + case 0x61addbe3: fe_ctrl_gui (sess, 5, 0); break; /* ICONIFY */ + case 0xc0851aaa: fe_message (word[3], FE_MSG_INFO|FE_MSG_MARKUP); break; /* MSGBOX */ + case 0x0035dafd: fe_ctrl_gui (sess, 1, 0); break; /* SHOW */ + case 0x0033155f: /* MENU */ + if (!strcasecmp (word[3], "TOGGLE")) + fe_ctrl_gui (sess, 6, 0); + else + return FALSE; + break; + default: + return FALSE; + } + + return TRUE; +} + +typedef struct +{ + int longfmt; + int i, t; + char *buf; +} help_list; + +static void +show_help_line (session *sess, help_list *hl, char *name, char *usage) +{ + int j, len, max; + char *p; + + if (name[0] == '.') /* hidden command? */ + return; + + if (hl->longfmt) /* long format for /HELP -l */ + { + if (!usage || usage[0] == 0) + PrintTextf (sess, " \0034%s\003 :\n", name); + else + PrintTextf (sess, " \0034%s\003 : %s\n", name, _(usage)); + return; + } + + /* append the name into buffer, but convert to uppercase */ + len = strlen (hl->buf); + p = name; + while (*p) + { + hl->buf[len] = toupper ((unsigned char) *p); + len++; + p++; + } + hl->buf[len] = 0; + + hl->t++; + if (hl->t == 5) + { + hl->t = 0; + strcat (hl->buf, "\n"); + PrintText (sess, hl->buf); + hl->buf[0] = ' '; + hl->buf[1] = ' '; + hl->buf[2] = 0; + } else + { + /* append some spaces after the command name */ + max = strlen (name); + if (max < 10) + { + max = 10 - max; + for (j = 0; j < max; j++) + { + hl->buf[len] = ' '; + len++; + hl->buf[len] = 0; + } + } + } +} + +static int +cmd_help (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int i = 0, longfmt = 0; + char *helpcmd = ""; + GSList *list; + + if (tbuf) + helpcmd = word[2]; + if (*helpcmd && strcmp (helpcmd, "-l") == 0) + longfmt = 1; + + if (*helpcmd && !longfmt) + { + help (sess, tbuf, helpcmd, FALSE); + } else + { + struct popup *pop; + char *buf = malloc (4096); + help_list hl; + + hl.longfmt = longfmt; + hl.buf = buf; + + PrintTextf (sess, "\n%s\n\n", _("Commands Available:")); + buf[0] = ' '; + buf[1] = ' '; + buf[2] = 0; + hl.t = 0; + hl.i = 0; + while (xc_cmds[i].name) + { + show_help_line (sess, &hl, xc_cmds[i].name, xc_cmds[i].help); + i++; + } + strcat (buf, "\n"); + PrintText (sess, buf); + + PrintTextf (sess, "\n%s\n\n", _("User defined commands:")); + buf[0] = ' '; + buf[1] = ' '; + buf[2] = 0; + hl.t = 0; + hl.i = 0; + list = command_list; + while (list) + { + pop = list->data; + show_help_line (sess, &hl, pop->name, pop->cmd); + list = list->next; + } + strcat (buf, "\n"); + PrintText (sess, buf); + + PrintTextf (sess, "\n%s\n\n", _("Plugin defined commands:")); + buf[0] = ' '; + buf[1] = ' '; + buf[2] = 0; + hl.t = 0; + hl.i = 0; + plugin_command_foreach (sess, &hl, (void *)show_help_line); + strcat (buf, "\n"); + PrintText (sess, buf); + free (buf); + + PrintTextf (sess, "\n%s\n\n", _("Type /HELP <command> for more information, or /HELP -l")); + } + return TRUE; +} + +static int +cmd_id (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (word[2][0]) + { + sess->server->p_ns_identify (sess->server, word[2]); + return TRUE; + } + + return FALSE; +} + +static int +cmd_ignore (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int i; + int type = 0; + int quiet = 0; + char *mask; + + if (!*word[2]) + { + ignore_showlist (sess); + return TRUE; + } + if (!*word[3]) + return FALSE; + + i = 3; + while (1) + { + if (!*word[i]) + { + if (type == 0) + return FALSE; + + mask = word[2]; + if (strchr (mask, '?') == NULL && + strchr (mask, '*') == NULL && + userlist_find (sess, mask)) + { + mask = tbuf; + snprintf (tbuf, TBUFSIZE, "%s!*@*", word[2]); + } + + i = ignore_add (mask, type); + if (quiet) + return TRUE; + switch (i) + { + case 1: + EMIT_SIGNAL (XP_TE_IGNOREADD, sess, mask, NULL, NULL, NULL, 0); + break; + case 2: /* old ignore changed */ + EMIT_SIGNAL (XP_TE_IGNORECHANGE, sess, mask, NULL, NULL, NULL, 0); + } + return TRUE; + } + if (!strcasecmp (word[i], "UNIGNORE")) + type |= IG_UNIG; + else if (!strcasecmp (word[i], "ALL")) + type |= IG_PRIV | IG_NOTI | IG_CHAN | IG_CTCP | IG_INVI | IG_DCC; + else if (!strcasecmp (word[i], "PRIV")) + type |= IG_PRIV; + else if (!strcasecmp (word[i], "NOTI")) + type |= IG_NOTI; + else if (!strcasecmp (word[i], "CHAN")) + type |= IG_CHAN; + else if (!strcasecmp (word[i], "CTCP")) + type |= IG_CTCP; + else if (!strcasecmp (word[i], "INVI")) + type |= IG_INVI; + else if (!strcasecmp (word[i], "QUIET")) + quiet = 1; + else if (!strcasecmp (word[i], "NOSAVE")) + type |= IG_NOSAVE; + else if (!strcasecmp (word[i], "DCC")) + type |= IG_DCC; + else + { + sprintf (tbuf, _("Unknown arg '%s' ignored."), word[i]); + PrintText (sess, tbuf); + } + i++; + } +} + +static int +cmd_invite (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (!*word[2]) + return FALSE; + if (*word[3]) + sess->server->p_invite (sess->server, word[3], word[2]); + else + sess->server->p_invite (sess->server, sess->channel, word[2]); + return TRUE; +} + +static int +cmd_join (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *chan = word[2]; + if (*chan) + { + char *po, *pass = word[3]; + sess->server->p_join (sess->server, chan, pass); + if (sess->channel[0] == 0 && sess->waitchannel[0]) + { + po = strchr (chan, ','); + if (po) + *po = 0; + safe_strcpy (sess->waitchannel, chan, CHANLEN); + } + return TRUE; + } + return FALSE; +} + +static int +cmd_kick (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *nick = word[2]; + char *reason = word_eol[3]; + if (*nick) + { + sess->server->p_kick (sess->server, sess->channel, nick, reason); + return TRUE; + } + return FALSE; +} + +static int +cmd_kickban (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *nick = word[2]; + char *reason = word_eol[3]; + struct User *user; + + if (*nick) + { + /* if the reason is a 1 digit number, treat it as a bantype */ + + user = userlist_find (sess, nick); + + if (isdigit ((unsigned char) reason[0]) && reason[1] == 0) + { + ban (sess, tbuf, nick, reason, (user && user->op)); + reason[0] = 0; + } else + ban (sess, tbuf, nick, "", (user && user->op)); + + sess->server->p_kick (sess->server, sess->channel, nick, reason); + + return TRUE; + } + return FALSE; +} + +static int +cmd_killall (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + xchat_exit(); + return 2; +} + +static int +cmd_lagcheck (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + lag_check (); + return TRUE; +} + +static void +lastlog (session *sess, char *search, gboolean regexp) +{ + session *lastlog_sess; + + if (!is_session (sess)) + return; + + lastlog_sess = find_dialog (sess->server, "(lastlog)"); + if (!lastlog_sess) + lastlog_sess = new_ircwindow (sess->server, "(lastlog)", SESS_DIALOG, 0); + + lastlog_sess->lastlog_sess = sess; + lastlog_sess->lastlog_regexp = regexp; /* remember the search type */ + + fe_text_clear (lastlog_sess, 0); + fe_lastlog (sess, lastlog_sess, search, regexp); +} + +static int +cmd_lastlog (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (*word_eol[2]) + { + if (!strcmp (word[2], "-r")) + lastlog (sess, word_eol[3], TRUE); + else + lastlog (sess, word_eol[2], FALSE); + return TRUE; + } + + return FALSE; +} + +static int +cmd_list (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + sess->server->p_list_channels (sess->server, word_eol[2], 1); + + return TRUE; +} + +gboolean +load_perform_file (session *sess, char *file) +{ + char tbuf[1024 + 4]; + char *nl; + FILE *fp; + + fp = xchat_fopen_file (file, "r", XOF_FULLPATH); + if (!fp) + return FALSE; + + tbuf[1024] = 0; + while (fgets (tbuf, 1024, fp)) + { + nl = strchr (tbuf, '\n'); + if (nl == tbuf) /* skip empty commands */ + continue; + if (nl) + *nl = 0; + if (tbuf[0] == prefs.cmdchar[0]) + handle_command (sess, tbuf + 1, TRUE); + else + handle_command (sess, tbuf, TRUE); + } + fclose (fp); + return TRUE; +} + +static int +cmd_load (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *error, *arg, *file; + int len; + + if (!word[2][0]) + return FALSE; + + if (strcmp (word[2], "-e") == 0) + { + file = expand_homedir (word[3]); + if (!load_perform_file (sess, file)) + { + PrintTextf (sess, _("Cannot access %s\n"), file); + PrintText (sess, errorstring (errno)); + } + free (file); + return TRUE; + } + +#ifdef USE_PLUGIN + len = strlen (word[2]); +#ifdef WIN32 + if (len > 4 && strcasecmp (".dll", word[2] + len - 4) == 0) +#else +#if defined(__hpux) + if (len > 3 && strcasecmp (".sl", word[2] + len - 3) == 0) +#else + if (len > 3 && strcasecmp (".so", word[2] + len - 3) == 0) +#endif +#endif + { + arg = NULL; + if (word_eol[3][0]) + arg = word_eol[3]; + + file = expand_homedir (word[2]); + error = plugin_load (sess, file, arg); + free (file); + + if (error) + PrintText (sess, error); + + return TRUE; + } +#endif + + sprintf (tbuf, "Unknown file type %s. Maybe you need to install the Perl or Python plugin?\n", word[2]); + PrintText (sess, tbuf); + + return FALSE; +} + +static int +cmd_me (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *act = word_eol[2]; + + if (!(*act)) + return FALSE; + + if (sess->type == SESS_SERVER) + { + notj_msg (sess); + return TRUE; + } + + snprintf (tbuf, TBUFSIZE, "\001ACTION %s\001\r", act); + /* first try through DCC CHAT */ + if (dcc_write_chat (sess->channel, tbuf)) + { + /* print it to screen */ + inbound_action (sess, sess->channel, sess->server->nick, "", act, TRUE, FALSE); + } else + { + /* DCC CHAT failed, try through server */ + if (sess->server->connected) + { + sess->server->p_action (sess->server, sess->channel, act); + /* print it to screen */ + inbound_action (sess, sess->channel, sess->server->nick, "", act, TRUE, FALSE); + } else + { + notc_msg (sess); + } + } + + return TRUE; +} + +static int +cmd_mode (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + /* +channel channels are dying, let those servers whine about modes. + * return info about current channel if available and no info is given */ + if ((*word[2] == '+') || (*word[2] == 0) || (!is_channel(sess->server, word[2]) && + !(rfc_casecmp(sess->server->nick, word[2]) == 0))) + { + if(sess->channel[0] == 0) + return FALSE; + sess->server->p_mode (sess->server, sess->channel, word_eol[2]); + } + else + sess->server->p_mode (sess->server, word[2], word_eol[3]); + return TRUE; +} + +static int +mop_cb (struct User *user, multidata *data) +{ + if (!user->op) + { + data->nicks[data->i] = user->nick; + data->i++; + } + return TRUE; +} + +static int +cmd_mop (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char **nicks = malloc (sizeof (char *) * (sess->total - sess->ops)); + multidata data; + + data.nicks = nicks; + data.i = 0; + tree_foreach (sess->usertree, (tree_traverse_func *)mop_cb, &data); + send_channel_modes (sess, tbuf, nicks, 0, data.i, '+', 'o', 0); + + free (nicks); + + return TRUE; +} + +static int +cmd_msg (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *nick = word[2]; + char *msg = word_eol[3]; + struct session *newsess; + + if (*nick) + { + if (*msg) + { + if (strcmp (nick, ".") == 0) + { /* /msg the last nick /msg'ed */ + if (sess->lastnick[0]) + nick = sess->lastnick; + } else + { + safe_strcpy (sess->lastnick, nick, NICKLEN); /* prime the last nick memory */ + } + + if (*nick == '=') + { + nick++; + if (!dcc_write_chat (nick, msg)) + { + EMIT_SIGNAL (XP_TE_NODCC, sess, NULL, NULL, NULL, NULL, 0); + return TRUE; + } + } else + { + if (!sess->server->connected) + { + notc_msg (sess); + return TRUE; + } + sess->server->p_message (sess->server, nick, msg); + } + newsess = find_dialog (sess->server, nick); + if (!newsess) + newsess = find_channel (sess->server, nick); + if (newsess) + inbound_chanmsg (newsess->server, NULL, newsess->channel, + newsess->server->nick, msg, TRUE, FALSE); + else + { + /* mask out passwords */ + if (strcasecmp (nick, "nickserv") == 0 && + strncasecmp (msg, "identify ", 9) == 0) + msg = "identify ****"; + EMIT_SIGNAL (XP_TE_MSGSEND, sess, nick, msg, NULL, NULL, 0); + } + + return TRUE; + } + } + return FALSE; +} + +static int +cmd_names (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (*word[2]) + sess->server->p_names (sess->server, word[2]); + else + sess->server->p_names (sess->server, sess->channel); + return TRUE; +} + +static int +cmd_nctcp (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (*word_eol[3]) + { + sess->server->p_nctcp (sess->server, word[2], word_eol[3]); + return TRUE; + } + return FALSE; +} + +static int +cmd_newserver (struct session *sess, char *tbuf, char *word[], + char *word_eol[]) +{ + if (strcmp (word[2], "-noconnect") == 0) + { + new_ircwindow (NULL, word[3], SESS_SERVER, 0); + return TRUE; + } + + sess = new_ircwindow (NULL, NULL, SESS_SERVER, 0); + cmd_server (sess, tbuf, word, word_eol); + return TRUE; +} + +static int +cmd_nick (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *nick = word[2]; + if (*nick) + { + if (sess->server->connected) + sess->server->p_change_nick (sess->server, nick); + else + inbound_newnick (sess->server, sess->server->nick, nick, TRUE); + return TRUE; + } + return FALSE; +} + +static int +cmd_notice (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (*word[2] && *word_eol[3]) + { + sess->server->p_notice (sess->server, word[2], word_eol[3]); + EMIT_SIGNAL (XP_TE_NOTICESEND, sess, word[2], word_eol[3], NULL, NULL, 0); + return TRUE; + } + return FALSE; +} + +static int +cmd_notify (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int i = 1; + char *net = NULL; + + if (*word[2]) + { + if (strcmp (word[2], "-n") == 0) /* comma sep network list */ + { + net = word[3]; + i += 2; + } + + while (1) + { + i++; + if (!*word[i]) + break; + if (notify_deluser (word[i])) + { + EMIT_SIGNAL (XP_TE_DELNOTIFY, sess, word[i], NULL, NULL, NULL, 0); + return TRUE; + } + + if (net && strcmp (net, "ASK") == 0) + fe_notify_ask (word[i], NULL); + else + { + notify_adduser (word[i], net); + EMIT_SIGNAL (XP_TE_ADDNOTIFY, sess, word[i], NULL, NULL, NULL, 0); + } + } + } else + notify_showlist (sess); + return TRUE; +} + +static int +cmd_op (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int i = 2; + + while (1) + { + if (!*word[i]) + { + if (i == 2) + return FALSE; + send_channel_modes (sess, tbuf, word, 2, i, '+', 'o', 0); + return TRUE; + } + i++; + } +} + +static int +cmd_part (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *chan = word[2]; + char *reason = word_eol[3]; + if (!*chan) + chan = sess->channel; + if ((*chan) && is_channel (sess->server, chan)) + { + if (reason[0] == 0) + reason = NULL; + server_sendpart (sess->server, chan, reason); + return TRUE; + } + return FALSE; +} + +static int +cmd_ping (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char timestring[64]; + unsigned long tim; + char *to = word[2]; + + tim = make_ping_time (); + + snprintf (timestring, sizeof (timestring), "%lu", tim); + sess->server->p_ping (sess->server, to, timestring); + + return TRUE; +} + +void +open_query (server *serv, char *nick, gboolean focus_existing) +{ + session *sess; + + sess = find_dialog (serv, nick); + if (!sess) + new_ircwindow (serv, nick, SESS_DIALOG, 1); + else if (focus_existing) + fe_ctrl_gui (sess, 2, 0); /* bring-to-front */ +} + +static int +cmd_query (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *nick = word[2]; + gboolean focus = TRUE; + + if (strcmp (word[2], "-nofocus") == 0) + { + nick = word[3]; + focus = FALSE; + } + + if (*nick && !is_channel (sess->server, nick)) + { + open_query (sess->server, nick, focus); + return TRUE; + } + return FALSE; +} + +static int +cmd_quote (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *raw = word_eol[2]; + + return sess->server->p_raw (sess->server, raw); +} + +static int +cmd_reconnect (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int tmp = prefs.recon_delay; + GSList *list; + server *serv = sess->server; + + prefs.recon_delay = 0; + + if (!strcasecmp (word[2], "ALL")) + { + list = serv_list; + while (list) + { + serv = list->data; + if (serv->connected) + serv->auto_reconnect (serv, TRUE, -1); + list = list->next; + } + } + /* If it isn't "ALL" and there is something + there it *should* be a server they are trying to connect to*/ + else if (*word[2]) + { + int offset = 0; +#ifdef USE_OPENSSL + int use_ssl = FALSE; + + if (strcmp (word[2], "-ssl") == 0) + { + use_ssl = TRUE; + offset++; /* args move up by 1 word */ + } + serv->use_ssl = use_ssl; + serv->accept_invalid_cert = TRUE; +#endif + + if (*word[4+offset]) + safe_strcpy (serv->password, word[4+offset], sizeof (serv->password)); + if (*word[3+offset]) + serv->port = atoi (word[3+offset]); + safe_strcpy (serv->hostname, word[2+offset], sizeof (serv->hostname)); + serv->auto_reconnect (serv, TRUE, -1); + } + else + { + serv->auto_reconnect (serv, TRUE, -1); + } + prefs.recon_delay = tmp; + + return TRUE; +} + +static int +cmd_recv (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (*word_eol[2]) + { + sess->server->p_inline (sess->server, word_eol[2], strlen (word_eol[2])); + return TRUE; + } + + return FALSE; +} + +static int +cmd_say (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *speech = word_eol[2]; + if (*speech) + { + handle_say (sess, speech, FALSE); + return TRUE; + } + return FALSE; +} + +static int +cmd_send (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + guint32 addr; + socklen_t len; + struct sockaddr_in SAddr; + + if (!word[2][0]) + return FALSE; + + addr = dcc_get_my_address (); + if (addr == 0) + { + /* use the one from our connected server socket */ + memset (&SAddr, 0, sizeof (struct sockaddr_in)); + len = sizeof (SAddr); + getsockname (sess->server->sok, (struct sockaddr *) &SAddr, &len); + addr = SAddr.sin_addr.s_addr; + } + addr = ntohl (addr); + + if ((addr & 0xffff0000) == 0xc0a80000 || /* 192.168.x.x */ + (addr & 0xff000000) == 0x0a000000) /* 10.x.x.x */ + /* we got a private net address, let's PSEND or it'll fail */ + snprintf (tbuf, 512, "DCC PSEND %s", word_eol[2]); + else + snprintf (tbuf, 512, "DCC SEND %s", word_eol[2]); + + handle_command (sess, tbuf, FALSE); + + return TRUE; +} + +static int +cmd_setcursor (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int delta = FALSE; + + if (*word[2]) + { + if (word[2][0] == '-' || word[2][0] == '+') + delta = TRUE; + fe_set_inputbox_cursor (sess, delta, atoi (word[2])); + return TRUE; + } + + return FALSE; +} + +static int +cmd_settab (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (*word_eol[2]) + { + strcpy (tbuf, sess->channel); + safe_strcpy (sess->channel, word_eol[2], CHANLEN); + fe_set_channel (sess); + strcpy (sess->channel, tbuf); + } + + return TRUE; +} + +static int +cmd_settext (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + fe_set_inputbox_contents (sess, word_eol[2]); + return TRUE; +} + +static int +cmd_splay (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (*word[2]) + { + sound_play (word[2], FALSE); + return TRUE; + } + + return FALSE; +} + +static int +parse_irc_url (char *url, char *server_name[], char *port[], char *channel[], int *use_ssl) +{ + char *co; +#ifdef USE_OPENSSL + if (strncasecmp ("ircs://", url, 7) == 0) + { + *use_ssl = TRUE; + *server_name = url + 7; + goto urlserv; + } +#endif + + if (strncasecmp ("irc://", url, 6) == 0) + { + *server_name = url + 6; +#ifdef USE_OPENSSL +urlserv: +#endif + /* check for port */ + co = strchr (*server_name, ':'); + if (co) + { + *port = co + 1; + *co = 0; + } else + co = *server_name; + /* check for channel - mirc style */ + co = strchr (co + 1, '/'); + if (co) + { + *co = 0; + co++; + if (*co == '#') + *channel = co+1; + else + *channel = co; + + } + return TRUE; + } + return FALSE; +} + +static int +cmd_server (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int offset = 0; + char *server_name = NULL; + char *port = NULL; + char *pass = NULL; + char *channel = NULL; + int use_ssl = FALSE; + int is_url = TRUE; + server *serv = sess->server; + +#ifdef USE_OPENSSL + /* BitchX uses -ssl, mIRC uses -e, let's support both */ + if (strcmp (word[2], "-ssl") == 0 || strcmp (word[2], "-e") == 0) + { + use_ssl = TRUE; + offset++; /* args move up by 1 word */ + } +#endif + + if (!parse_irc_url (word[2 + offset], &server_name, &port, &channel, &use_ssl)) + { + is_url = FALSE; + server_name = word[2 + offset]; + } + if (port) + pass = word[3 + offset]; + else + { + port = word[3 + offset]; + pass = word[4 + offset]; + } + + if (!(*server_name)) + return FALSE; + + sess->server->network = NULL; + + /* dont clear it for /servchan */ + if (strncasecmp (word_eol[1], "SERVCHAN ", 9)) + sess->willjoinchannel[0] = 0; + + if (channel) + { + sess->willjoinchannel[0] = '#'; + safe_strcpy ((sess->willjoinchannel + 1), channel, (CHANLEN - 1)); + } + + /* support +7000 style ports like mIRC */ + if (port[0] == '+') + { + port++; +#ifdef USE_OPENSSL + use_ssl = TRUE; +#endif + } + + if (*pass) + { + safe_strcpy (serv->password, pass, sizeof (serv->password)); + } +#ifdef USE_OPENSSL + serv->use_ssl = use_ssl; + serv->accept_invalid_cert = TRUE; +#endif + + /* try to connect by Network name */ + if (servlist_connect_by_netname (sess, server_name, !is_url)) + return TRUE; + + if (*port) + { + serv->connect (serv, server_name, atoi (port), FALSE); + } else + { + /* -1 for default port */ + serv->connect (serv, server_name, -1, FALSE); + } + + /* try to associate this connection with a listed network */ + if (!serv->network) + /* search for this hostname in the entire server list */ + serv->network = servlist_net_find_from_server (server_name); + /* may return NULL, but that's OK */ + + return TRUE; +} + +static int +cmd_servchan (struct session *sess, char *tbuf, char *word[], + char *word_eol[]) +{ + int offset = 0; + +#ifdef USE_OPENSSL + if (strcmp (word[2], "-ssl") == 0) + offset++; +#endif + + if (*word[4 + offset]) + { + safe_strcpy (sess->willjoinchannel, word[4 + offset], CHANLEN); + return cmd_server (sess, tbuf, word, word_eol); + } + + return FALSE; +} + +static int +cmd_topic (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (word[2][0] && is_channel (sess->server, word[2])) + sess->server->p_topic (sess->server, word[2], word_eol[3]); + else + sess->server->p_topic (sess->server, sess->channel, word_eol[2]); + return TRUE; +} + +static int +cmd_tray (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (strcmp (word[2], "-b") == 0) + { + fe_tray_set_balloon (word[3], word[4][0] ? word[4] : NULL); + return TRUE; + } + + if (strcmp (word[2], "-t") == 0) + { + fe_tray_set_tooltip (word[3][0] ? word[3] : NULL); + return TRUE; + } + + if (strcmp (word[2], "-i") == 0) + { + fe_tray_set_icon (atoi (word[3])); + return TRUE; + } + + if (strcmp (word[2], "-f") != 0) + return FALSE; + + if (!word[3][0]) + { + fe_tray_set_file (NULL); /* default xchat icon */ + return TRUE; + } + + if (!word[4][0]) + { + fe_tray_set_file (word[3]); /* fixed custom icon */ + return TRUE; + } + + /* flash between 2 icons */ + fe_tray_set_flash (word[4], word[5][0] ? word[5] : NULL, atoi (word[3])); + return TRUE; +} + +static int +cmd_unignore (struct session *sess, char *tbuf, char *word[], + char *word_eol[]) +{ + char *mask = word[2]; + char *arg = word[3]; + if (*mask) + { + if (ignore_del (mask, NULL)) + { + if (strcasecmp (arg, "QUIET")) + EMIT_SIGNAL (XP_TE_IGNOREREMOVE, sess, mask, NULL, NULL, NULL, 0); + } + return TRUE; + } + return FALSE; +} + +static int +cmd_unload (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ +#ifdef USE_PLUGIN + int len, by_file = FALSE; + + len = strlen (word[2]); +#ifdef WIN32 + if (len > 4 && strcasecmp (word[2] + len - 4, ".dll") == 0) +#else +#if defined(__hpux) + if (len > 3 && strcasecmp (word[2] + len - 3, ".sl") == 0) +#else + if (len > 3 && strcasecmp (word[2] + len - 3, ".so") == 0) +#endif +#endif + by_file = TRUE; + + switch (plugin_kill (word[2], by_file)) + { + case 0: + PrintText (sess, _("No such plugin found.\n")); + break; + case 1: + return TRUE; + case 2: + PrintText (sess, _("That plugin is refusing to unload.\n")); + break; + } +#endif + + return FALSE; +} + +static server * +find_server_from_hostname (char *hostname) +{ + GSList *list = serv_list; + server *serv; + + while (list) + { + serv = list->data; + if (!strcasecmp (hostname, serv->hostname) && serv->connected) + return serv; + list = list->next; + } + + return NULL; +} + +static server * +find_server_from_net (void *net) +{ + GSList *list = serv_list; + server *serv; + + while (list) + { + serv = list->data; + if (serv->network == net && serv->connected) + return serv; + list = list->next; + } + + return NULL; +} + +static void +url_join_only (server *serv, char *tbuf, char *channel) +{ + /* already connected, JOIN only. FIXME: support keys? */ + tbuf[0] = '#'; + /* tbuf is 4kb */ + safe_strcpy ((tbuf + 1), channel, 256); + serv->p_join (serv, tbuf, ""); +} + +static int +cmd_url (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (word[2][0]) + { + char *server_name = NULL; + char *port = NULL; + char *channel = NULL; + char *url = g_strdup (word[2]); + int use_ssl = FALSE; + void *net; + server *serv; + + if (parse_irc_url (url, &server_name, &port, &channel, &use_ssl)) + { + /* maybe we're already connected to this net */ + + /* check for "FreeNode" */ + net = servlist_net_find (server_name, NULL, strcasecmp); + /* check for "irc.eu.freenode.net" */ + if (!net) + net = servlist_net_find_from_server (server_name); + + if (net) + { + /* found the network, but are we connected? */ + serv = find_server_from_net (net); + if (serv) + { + url_join_only (serv, tbuf, channel); + g_free (url); + return TRUE; + } + } + else + { + /* an un-listed connection */ + serv = find_server_from_hostname (server_name); + if (serv) + { + url_join_only (serv, tbuf, channel); + g_free (url); + return TRUE; + } + } + + /* not connected to this net, open new window */ + cmd_newserver (sess, tbuf, word, word_eol); + + } else + fe_open_url (word[2]); + g_free (url); + return TRUE; + } + + return FALSE; +} + +static int +userlist_cb (struct User *user, session *sess) +{ + time_t lt; + + if (!user->lasttalk) + lt = 0; + else + lt = time (0) - user->lasttalk; + PrintTextf (sess, + "\00306%s\t\00314[\00310%-38s\00314] \017ov\0033=\017%d%d away=%u lt\0033=\017%d\n", + user->nick, user->hostname, user->op, user->voice, user->away, lt); + + return TRUE; +} + +static int +cmd_uselect (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int idx = 2; + int clear = TRUE; + int scroll = FALSE; + + if (strcmp (word[2], "-a") == 0) /* ADD (don't clear selections) */ + { + clear = FALSE; + idx++; + } + if (strcmp (word[idx], "-s") == 0) /* SCROLL TO */ + { + scroll = TRUE; + idx++; + } + /* always valid, no args means clear the selection list */ + fe_uselect (sess, word + idx, clear, scroll); + return TRUE; +} + +static int +cmd_userlist (struct session *sess, char *tbuf, char *word[], + char *word_eol[]) +{ + tree_foreach (sess->usertree, (tree_traverse_func *)userlist_cb, sess); + return TRUE; +} + +static int +wallchop_cb (struct User *user, multidata *data) +{ + if (user->op) + { + if (data->i) + strcat (data->tbuf, ","); + strcat (data->tbuf, user->nick); + data->i++; + } + if (data->i == 5) + { + data->i = 0; + sprintf (data->tbuf + strlen (data->tbuf), + " :[@%s] %s", data->sess->channel, data->reason); + data->sess->server->p_raw (data->sess->server, data->tbuf); + strcpy (data->tbuf, "NOTICE "); + } + + return TRUE; +} + +static int +cmd_wallchop (struct session *sess, char *tbuf, char *word[], + char *word_eol[]) +{ + multidata data; + + if (!(*word_eol[2])) + return FALSE; + + strcpy (tbuf, "NOTICE "); + + data.reason = word_eol[2]; + data.tbuf = tbuf; + data.i = 0; + data.sess = sess; + tree_foreach (sess->usertree, (tree_traverse_func*)wallchop_cb, &data); + + if (data.i) + { + sprintf (tbuf + strlen (tbuf), + " :[@%s] %s", sess->channel, word_eol[2]); + sess->server->p_raw (sess->server, tbuf); + } + + return TRUE; +} + +static int +cmd_wallchan (struct session *sess, char *tbuf, char *word[], + char *word_eol[]) +{ + GSList *list; + + if (*word_eol[2]) + { + list = sess_list; + while (list) + { + sess = list->data; + if (sess->type == SESS_CHANNEL) + { + inbound_chanmsg (sess->server, NULL, sess->channel, + sess->server->nick, word_eol[2], TRUE, FALSE); + sess->server->p_message (sess->server, sess->channel, word_eol[2]); + } + list = list->next; + } + return TRUE; + } + return FALSE; +} + +static int +cmd_hop (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int i = 2; + + while (1) + { + if (!*word[i]) + { + if (i == 2) + return FALSE; + send_channel_modes (sess, tbuf, word, 2, i, '+', 'h', 0); + return TRUE; + } + i++; + } +} + +static int +cmd_voice (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int i = 2; + + while (1) + { + if (!*word[i]) + { + if (i == 2) + return FALSE; + send_channel_modes (sess, tbuf, word, 2, i, '+', 'v', 0); + return TRUE; + } + i++; + } +} + +/* *MUST* be kept perfectly sorted for the bsearch to work */ +const struct commands xc_cmds[] = { + {"ADDBUTTON", cmd_addbutton, 0, 0, 1, + N_("ADDBUTTON <name> <action>, adds a button under the user-list")}, + {"ALLCHAN", cmd_allchannels, 0, 0, 1, + N_("ALLCHAN <cmd>, sends a command to all channels you're in")}, + {"ALLCHANL", cmd_allchannelslocal, 0, 0, 1, + N_("ALLCHANL <cmd>, sends a command to all channels you're in")}, + {"ALLSERV", cmd_allservers, 0, 0, 1, + N_("ALLSERV <cmd>, sends a command to all servers you're in")}, + {"AWAY", cmd_away, 1, 0, 1, N_("AWAY [<reason>], sets you away")}, + {"BACK", cmd_back, 1, 0, 1, N_("BACK, sets you back (not away)")}, + {"BAN", cmd_ban, 1, 1, 1, + N_("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)")}, + {"CHANOPT", cmd_chanopt, 0, 0, 1, N_("CHANOPT [-quiet] <variable> [<value>]")}, + {"CHARSET", cmd_charset, 0, 0, 1, 0}, + {"CLEAR", cmd_clear, 0, 0, 1, N_("CLEAR [ALL|HISTORY], Clears the current text window or command history")}, + {"CLOSE", cmd_close, 0, 0, 1, N_("CLOSE, Closes the current window/tab")}, + + {"COUNTRY", cmd_country, 0, 0, 1, + N_("COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia")}, + {"CTCP", cmd_ctcp, 1, 0, 1, + N_("CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO")}, + {"CYCLE", cmd_cycle, 1, 1, 1, + N_("CYCLE [<channel>], parts the current or given channel and immediately rejoins")}, + {"DCC", cmd_dcc, 0, 0, 1, + N_("\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")}, + {"DEBUG", cmd_debug, 0, 0, 1, 0}, + + {"DEHOP", cmd_dehop, 1, 1, 1, + N_("DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)")}, + {"DELBUTTON", cmd_delbutton, 0, 0, 1, + N_("DELBUTTON <name>, deletes a button from under the user-list")}, + {"DEOP", cmd_deop, 1, 1, 1, + N_("DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)")}, + {"DEVOICE", cmd_devoice, 1, 1, 1, + N_("DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)")}, + {"DISCON", cmd_discon, 0, 0, 1, N_("DISCON, Disconnects from server")}, + {"DNS", cmd_dns, 0, 0, 1, N_("DNS <nick|host|ip>, Finds a users IP number")}, + {"ECHO", cmd_echo, 0, 0, 1, N_("ECHO <text>, Prints text locally")}, +#ifndef WIN32 + {"EXEC", cmd_exec, 0, 0, 1, + N_("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")}, +#ifndef __EMX__ + {"EXECCONT", cmd_execc, 0, 0, 1, N_("EXECCONT, sends the process SIGCONT")}, +#endif + {"EXECKILL", cmd_execk, 0, 0, 1, + N_("EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed")}, +#ifndef __EMX__ + {"EXECSTOP", cmd_execs, 0, 0, 1, N_("EXECSTOP, sends the process SIGSTOP")}, + {"EXECWRITE", cmd_execw, 0, 0, 1, N_("EXECWRITE, sends data to the processes stdin")}, +#endif +#endif + {"FLUSHQ", cmd_flushq, 0, 0, 1, + N_("FLUSHQ, flushes the current server's send queue")}, + {"GATE", cmd_gate, 0, 0, 1, + N_("GATE <host> [<port>], proxies through a host, port defaults to 23")}, + {"GETFILE", cmd_getfile, 0, 0, 1, "GETFILE [-folder] [-multi] [-save] <command> <title> [<initial>]"}, + {"GETINT", cmd_getint, 0, 0, 1, "GETINT <default> <command> <prompt>"}, + {"GETSTR", cmd_getstr, 0, 0, 1, "GETSTR <default> <command> <prompt>"}, + {"GHOST", cmd_ghost, 1, 0, 1, N_("GHOST <nick> [password], Kills a ghosted nickname")}, + {"GUI", cmd_gui, 0, 0, 1, "GUI [APPLY|ATTACH|DETACH|SHOW|HIDE|FOCUS|FLASH|ICONIFY|COLOR <n>]\n" + " GUI [MSGBOX <text>|MENU TOGGLE]"}, + {"HELP", cmd_help, 0, 0, 1, 0}, + {"HOP", cmd_hop, 1, 1, 1, + N_("HOP <nick>, gives chanhalf-op status to the nick (needs chanop)")}, + {"ID", cmd_id, 1, 0, 1, N_("ID <password>, identifies yourself to nickserv")}, + {"IGNORE", cmd_ignore, 0, 0, 1, + N_("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")}, + + {"INVITE", cmd_invite, 1, 0, 1, + N_("INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)")}, + {"JOIN", cmd_join, 1, 0, 0, N_("JOIN <channel>, joins the channel")}, + {"KICK", cmd_kick, 1, 1, 1, + N_("KICK <nick>, kicks the nick from the current channel (needs chanop)")}, + {"KICKBAN", cmd_kickban, 1, 1, 1, + N_("KICKBAN <nick>, bans then kicks the nick from the current channel (needs chanop)")}, + {"KILLALL", cmd_killall, 0, 0, 1, "KILLALL, immediately exit"}, + {"LAGCHECK", cmd_lagcheck, 0, 0, 1, + N_("LAGCHECK, forces a new lag check")}, + {"LASTLOG", cmd_lastlog, 0, 0, 1, + N_("LASTLOG <string>, searches for a string in the buffer")}, + {"LIST", cmd_list, 1, 0, 1, 0}, + {"LOAD", cmd_load, 0, 0, 1, N_("LOAD [-e] <file>, loads a plugin or script")}, + + {"MDEHOP", cmd_mdehop, 1, 1, 1, + N_("MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)")}, + {"MDEOP", cmd_mdeop, 1, 1, 1, + N_("MDEOP, Mass deop's all chanops in the current channel (needs chanop)")}, + {"ME", cmd_me, 0, 0, 1, + N_("ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)")}, + {"MENU", cmd_menu, 0, 0, 1, "MENU [-eX] [-i<ICONFILE>] [-k<mod>,<key>] [-m] [-pX] [-r<X,group>] [-tX] {ADD|DEL} <path> [command] [unselect command]\n" + " See http://xchat.org/docs/menu/ for more details."}, + {"MKICK", cmd_mkick, 1, 1, 1, + N_("MKICK, Mass kicks everyone except you in the current channel (needs chanop)")}, + {"MODE", cmd_mode, 1, 0, 1, 0}, + {"MOP", cmd_mop, 1, 1, 1, + N_("MOP, Mass op's all users in the current channel (needs chanop)")}, + {"MSG", cmd_msg, 0, 0, 1, N_("MSG <nick> <message>, sends a private message")}, + + {"NAMES", cmd_names, 1, 0, 1, + N_("NAMES, Lists the nicks on the current channel")}, + {"NCTCP", cmd_nctcp, 1, 0, 1, + N_("NCTCP <nick> <message>, Sends a CTCP notice")}, + {"NEWSERVER", cmd_newserver, 0, 0, 1, N_("NEWSERVER [-noconnect] <hostname> [<port>]")}, + {"NICK", cmd_nick, 0, 0, 1, N_("NICK <nickname>, sets your nick")}, + + {"NOTICE", cmd_notice, 1, 0, 1, + N_("NOTICE <nick/channel> <message>, sends a notice. Notices are a type of message that should be auto reacted to")}, + {"NOTIFY", cmd_notify, 0, 0, 1, + N_("NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it")}, + {"OP", cmd_op, 1, 1, 1, + N_("OP <nick>, gives chanop status to the nick (needs chanop)")}, + {"PART", cmd_part, 1, 1, 0, + N_("PART [<channel>] [<reason>], leaves the channel, by default the current one")}, + {"PING", cmd_ping, 1, 0, 1, + N_("PING <nick | channel>, CTCP pings nick or channel")}, + {"QUERY", cmd_query, 0, 0, 1, + N_("QUERY [-nofocus] <nick>, opens up a new privmsg window to someone")}, + {"QUIT", cmd_quit, 0, 0, 1, + N_("QUIT [<reason>], disconnects from the current server")}, + {"QUOTE", cmd_quote, 1, 0, 1, + N_("QUOTE <text>, sends the text in raw form to the server")}, +#ifdef USE_OPENSSL + {"RECONNECT", cmd_reconnect, 0, 0, 1, + N_("RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers")}, +#else + {"RECONNECT", cmd_reconnect, 0, 0, 1, + N_("RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers")}, +#endif + {"RECV", cmd_recv, 1, 0, 1, N_("RECV <text>, send raw data to xchat, as if it was received from the irc server")}, + + {"SAY", cmd_say, 0, 0, 1, + N_("SAY <text>, sends the text to the object in the current window")}, + {"SEND", cmd_send, 0, 0, 1, N_("SEND <nick> [<file>]")}, +#ifdef USE_OPENSSL + {"SERVCHAN", cmd_servchan, 0, 0, 1, + N_("SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel")}, +#else + {"SERVCHAN", cmd_servchan, 0, 0, 1, + N_("SERVCHAN <host> <port> <channel>, connects and joins a channel")}, +#endif +#ifdef USE_OPENSSL + {"SERVER", cmd_server, 0, 0, 1, + N_("SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 9999 for ssl connections")}, +#else + {"SERVER", cmd_server, 0, 0, 1, + N_("SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667")}, +#endif + {"SET", cmd_set, 0, 0, 1, N_("SET [-e] [-off|-on] [-quiet] <variable> [<value>]")}, + {"SETCURSOR", cmd_setcursor, 0, 0, 1, N_("SETCURSOR [-|+]<position>")}, + {"SETTAB", cmd_settab, 0, 0, 1, 0}, + {"SETTEXT", cmd_settext, 0, 0, 1, 0}, + {"SPLAY", cmd_splay, 0, 0, 1, "SPLAY <soundfile>"}, + {"TOPIC", cmd_topic, 1, 1, 1, + N_("TOPIC [<topic>], sets the topic if one is given, else shows the current topic")}, + {"TRAY", cmd_tray, 0, 0, 1, + N_("\nTRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" + "TRAY -f <filename> Set tray to a fixed icon.\n" + "TRAY -i <number> Blink tray with an internal icon.\n" + "TRAY -t <text> Set the tray tooltip.\n" + "TRAY -b <title> <text> Set the tray balloon." + )}, + {"UNBAN", cmd_unban, 1, 1, 1, + N_("UNBAN <mask> [<mask>...], unbans the specified masks.")}, + {"UNIGNORE", cmd_unignore, 0, 0, 1, N_("UNIGNORE <mask> [QUIET]")}, + {"UNLOAD", cmd_unload, 0, 0, 1, N_("UNLOAD <name>, unloads a plugin or script")}, + {"URL", cmd_url, 0, 0, 1, N_("URL <url>, opens a URL in your browser")}, + {"USELECT", cmd_uselect, 0, 1, 0, + N_("USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist")}, + {"USERLIST", cmd_userlist, 1, 1, 1, 0}, + {"VOICE", cmd_voice, 1, 1, 1, + N_("VOICE <nick>, gives voice status to someone (needs chanop)")}, + {"WALLCHAN", cmd_wallchan, 1, 1, 1, + N_("WALLCHAN <message>, writes the message to all channels")}, + {"WALLCHOP", cmd_wallchop, 1, 1, 1, + N_("WALLCHOP <message>, sends the message to all chanops on the current channel")}, + {0, 0, 0, 0, 0, 0} +}; + + +static int +command_compare (const void *a, const void *b) +{ + return strcasecmp (a, ((struct commands *)b)->name); +} + +static struct commands * +find_internal_command (char *name) +{ + /* the "-1" is to skip the NULL terminator */ + return bsearch (name, xc_cmds, (sizeof (xc_cmds) / + sizeof (xc_cmds[0])) - 1, sizeof (xc_cmds[0]), command_compare); +} + +static void +help (session *sess, char *tbuf, char *helpcmd, int quiet) +{ + struct commands *cmd; + + if (plugin_show_help (sess, helpcmd)) + return; + + cmd = find_internal_command (helpcmd); + + if (cmd) + { + if (cmd->help) + { + snprintf (tbuf, TBUFSIZE, _("Usage: %s\n"), _(cmd->help)); + PrintText (sess, tbuf); + } else + { + if (!quiet) + PrintText (sess, _("\nNo help available on that command.\n")); + } + return; + } + + if (!quiet) + PrintText (sess, _("No such command.\n")); +} + +/* inserts %a, %c, %d etc into buffer. Also handles &x %x for word/word_eol. * + * returns 2 on buffer overflow + * returns 1 on success * + * returns 0 on bad-args-for-user-command * + * - word/word_eol args might be NULL * + * - this beast is used for UserCommands, UserlistButtons and CTCP replies */ + +int +auto_insert (char *dest, int destlen, unsigned char *src, char *word[], + char *word_eol[], char *a, char *c, char *d, char *e, char *h, + char *n, char *s) +{ + int num; + char buf[32]; + time_t now; + struct tm *tm_ptr; + char *utf; + gsize utf_len; + char *orig = dest; + + destlen--; + + while (src[0]) + { + if (src[0] == '%' || src[0] == '&') + { + if (isdigit ((unsigned char) src[1])) + { + if (isdigit ((unsigned char) src[2]) && isdigit ((unsigned char) src[3])) + { + buf[0] = src[1]; + buf[1] = src[2]; + buf[2] = src[3]; + buf[3] = 0; + dest[0] = atoi (buf); + utf = g_locale_to_utf8 (dest, 1, 0, &utf_len, 0); + if (utf) + { + if ((dest - orig) + utf_len >= destlen) + { + g_free (utf); + return 2; + } + + memcpy (dest, utf, utf_len); + g_free (utf); + dest += utf_len; + } + src += 3; + } else + { + if (word) + { + src++; + num = src[0] - '0'; /* ascii to decimal */ + if (*word[num] == 0) + return 0; + + if (src[-1] == '%') + utf = word[num]; + else + utf = word_eol[num]; + + /* avoid recusive usercommand overflow */ + if ((dest - orig) + strlen (utf) >= destlen) + return 2; + + strcpy (dest, utf); + dest += strlen (dest); + } + } + } else + { + if (src[0] == '&') + goto lamecode; + src++; + utf = NULL; + switch (src[0]) + { + case '%': + if ((dest - orig) + 2 >= destlen) + return 2; + dest[0] = '%'; + dest[1] = 0; + dest++; + break; + case 'a': + utf = a; break; + case 'c': + utf = c; break; + case 'd': + utf = d; break; + case 'e': + utf = e; break; + case 'h': + utf = h; break; + case 'm': + utf = get_cpu_str (); break; + case 'n': + utf = n; break; + case 's': + utf = s; break; + case 't': + now = time (0); + utf = ctime (&now); + utf[19] = 0; + break; + case 'v': + utf = PACKAGE_VERSION; break; + break; + case 'y': + now = time (0); + tm_ptr = localtime (&now); + snprintf (buf, sizeof (buf), "%4d%02d%02d", 1900 + + tm_ptr->tm_year, 1 + tm_ptr->tm_mon, tm_ptr->tm_mday); + utf = buf; + break; + default: + src--; + goto lamecode; + } + + if (utf) + { + if ((dest - orig) + strlen (utf) >= destlen) + return 2; + strcpy (dest, utf); + dest += strlen (dest); + } + + } + src++; + } else + { + utf_len = g_utf8_skip[src[0]]; + + if ((dest - orig) + utf_len >= destlen) + return 2; + + if (utf_len == 1) + { + lamecode: + dest[0] = src[0]; + dest++; + src++; + } else + { + memcpy (dest, src, utf_len); + dest += utf_len; + src += utf_len; + } + } + } + + dest[0] = 0; + + return 1; +} + +void +check_special_chars (char *cmd, int do_ascii) /* check for %X */ +{ + int occur = 0; + int len = strlen (cmd); + char *buf, *utf; + char tbuf[4]; + int i = 0, j = 0; + gsize utf_len; + + if (!len) + return; + + buf = malloc (len + 1); + + if (buf) + { + while (cmd[j]) + { + switch (cmd[j]) + { + case '%': + occur++; + if ( do_ascii && + j + 3 < len && + (isdigit ((unsigned char) cmd[j + 1]) && isdigit ((unsigned char) cmd[j + 2]) && + isdigit ((unsigned char) cmd[j + 3]))) + { + tbuf[0] = cmd[j + 1]; + tbuf[1] = cmd[j + 2]; + tbuf[2] = cmd[j + 3]; + tbuf[3] = 0; + buf[i] = atoi (tbuf); + utf = g_locale_to_utf8 (buf + i, 1, 0, &utf_len, 0); + if (utf) + { + memcpy (buf + i, utf, utf_len); + g_free (utf); + i += (utf_len - 1); + } + j += 3; + } else + { + switch (cmd[j + 1]) + { + case 'R': + buf[i] = '\026'; + break; + case 'U': + buf[i] = '\037'; + break; + case 'B': + buf[i] = '\002'; + break; + case 'C': + buf[i] = '\003'; + break; + case 'O': + buf[i] = '\017'; + break; + case 'H': /* CL: invisible text code */ + buf[i] = HIDDEN_CHAR; + break; + case '%': + buf[i] = '%'; + break; + default: + buf[i] = '%'; + j--; + break; + } + j++; + break; + default: + buf[i] = cmd[j]; + } + } + j++; + i++; + } + buf[i] = 0; + if (occur) + strcpy (cmd, buf); + free (buf); + } +} + +typedef struct +{ + char *nick; + int len; + struct User *best; + int bestlen; + char *space; + char *tbuf; +} nickdata; + +static int +nick_comp_cb (struct User *user, nickdata *data) +{ + int lenu; + + if (!rfc_ncasecmp (user->nick, data->nick, data->len)) + { + lenu = strlen (user->nick); + if (lenu == data->len) + { + snprintf (data->tbuf, TBUFSIZE, "%s%s", user->nick, data->space); + data->len = -1; + return FALSE; + } else if (lenu < data->bestlen) + { + data->bestlen = lenu; + data->best = user; + } + } + + return TRUE; +} + +static void +perform_nick_completion (struct session *sess, char *cmd, char *tbuf) +{ + int len; + char *space = strchr (cmd, ' '); + if (space && space != cmd) + { + if (space[-1] == prefs.nick_suffix[0] && space - 1 != cmd) + { + len = space - cmd - 1; + if (len < NICKLEN) + { + char nick[NICKLEN]; + nickdata data; + + memcpy (nick, cmd, len); + nick[len] = 0; + + data.nick = nick; + data.len = len; + data.bestlen = INT_MAX; + data.best = NULL; + data.tbuf = tbuf; + data.space = space - 1; + tree_foreach (sess->usertree, (tree_traverse_func *)nick_comp_cb, &data); + + if (data.len == -1) + return; + + if (data.best) + { + snprintf (tbuf, TBUFSIZE, "%s%s", data.best->nick, space - 1); + return; + } + } + } + } + + strcpy (tbuf, cmd); +} + +static void +user_command (session * sess, char *tbuf, char *cmd, char *word[], + char *word_eol[]) +{ + if (!auto_insert (tbuf, 2048, cmd, word, word_eol, "", sess->channel, "", + server_get_network (sess->server, TRUE), "", + sess->server->nick, "")) + { + PrintText (sess, _("Bad arguments for user command.\n")); + return; + } + + handle_command (sess, tbuf, TRUE); +} + +/* handle text entered without a CMDchar prefix */ + +static void +handle_say (session *sess, char *text, int check_spch) +{ + struct DCC *dcc; + char *word[PDIWORDS+1]; + char *word_eol[PDIWORDS+1]; + char pdibuf_static[1024]; + char newcmd_static[1024]; + char *pdibuf = pdibuf_static; + char *newcmd = newcmd_static; + int len; + int newcmdlen = sizeof newcmd_static; + + if (strcmp (sess->channel, "(lastlog)") == 0) + { + lastlog (sess->lastlog_sess, text, sess->lastlog_regexp); + return; + } + + len = strlen (text); + if (len >= sizeof pdibuf_static) + pdibuf = malloc (len + 1); + + if (len + NICKLEN >= newcmdlen) + newcmd = malloc (newcmdlen = len + NICKLEN + 1); + + if (check_spch && prefs.perc_color) + check_special_chars (text, prefs.perc_ascii); + + /* Python relies on this */ + word[PDIWORDS] = NULL; + word_eol[PDIWORDS] = NULL; + + /* split the text into words and word_eol */ + process_data_init (pdibuf, text, word, word_eol, TRUE, FALSE); + + /* a command of "" can be hooked for non-commands */ + if (plugin_emit_command (sess, "", word, word_eol)) + goto xit; + + /* incase a plugin did /close */ + if (!is_session (sess)) + goto xit; + + if (!sess->channel[0] || sess->type == SESS_SERVER || sess->type == SESS_NOTICES || sess->type == SESS_SNOTICES) + { + notj_msg (sess); + goto xit; + } + + if (prefs.nickcompletion) + perform_nick_completion (sess, text, newcmd); + else + safe_strcpy (newcmd, text, newcmdlen); + + text = newcmd; + + if (sess->type == SESS_DIALOG) + { + /* try it via dcc, if possible */ + dcc = dcc_write_chat (sess->channel, text); + if (dcc) + { + inbound_chanmsg (sess->server, NULL, sess->channel, + sess->server->nick, text, TRUE, FALSE); + set_topic (sess, net_ip (dcc->addr), net_ip (dcc->addr)); + goto xit; + } + } + + if (sess->server->connected) + { + unsigned int max; + unsigned char t = 0; + + /* maximum allowed message text */ + /* :nickname!username@host.com PRIVMSG #channel :text\r\n */ + max = 512; + max -= 16; /* :, !, @, " PRIVMSG ", " ", :, \r, \n */ + max -= strlen (sess->server->nick); + max -= strlen (sess->channel); + if (sess->me && sess->me->hostname) + max -= strlen (sess->me->hostname); + else + { + max -= 9; /* username */ + max -= 65; /* max possible hostname and '@' */ + } + + if (strlen (text) > max) + { + int i = 0, size; + + /* traverse the utf8 string and find the nearest cut point that + doesn't split 1 char in half */ + while (1) + { + size = g_utf8_skip[((unsigned char *)text)[i]]; + if ((i + size) >= max) + break; + i += size; + } + max = i; + t = text[max]; + text[max] = 0; /* insert a NULL terminator to shorten it */ + } + + inbound_chanmsg (sess->server, sess, sess->channel, sess->server->nick, + text, TRUE, FALSE); + sess->server->p_message (sess->server, sess->channel, text); + + if (t) + { + text[max] = t; + handle_say (sess, text + max, FALSE); + } + + } else + { + notc_msg (sess); + } + +xit: + if (pdibuf != pdibuf_static) + free (pdibuf); + + if (newcmd != newcmd_static) + free (newcmd); +} + +/* handle a command, without the '/' prefix */ + +int +handle_command (session *sess, char *cmd, int check_spch) +{ + struct popup *pop; + int user_cmd = FALSE; + GSList *list; + char *word[PDIWORDS+1]; + char *word_eol[PDIWORDS+1]; + static int command_level = 0; + struct commands *int_cmd; + char pdibuf_static[1024]; + char tbuf_static[TBUFSIZE]; + char *pdibuf; + char *tbuf; + int len; + int ret = TRUE; + + if (command_level > 99) + { + fe_message (_("Too many recursive usercommands, aborting."), FE_MSG_ERROR); + return TRUE; + } + command_level++; + /* anything below MUST DEC command_level before returning */ + + len = strlen (cmd); + if (len >= sizeof (pdibuf_static)) + pdibuf = malloc (len + 1); + else + pdibuf = pdibuf_static; + + if ((len * 2) >= sizeof (tbuf_static)) + tbuf = malloc ((len * 2) + 1); + else + tbuf = tbuf_static; + + /* split the text into words and word_eol */ + process_data_init (pdibuf, cmd, word, word_eol, TRUE, TRUE); + + /* ensure an empty string at index 32 for cmd_deop etc */ + /* (internal use only, plugins can still only read 1-31). */ + word[PDIWORDS] = "\000\000"; + word_eol[PDIWORDS] = "\000\000"; + + int_cmd = find_internal_command (word[1]); + /* redo it without quotes processing, for some commands like /JOIN */ + if (int_cmd && !int_cmd->handle_quotes) + process_data_init (pdibuf, cmd, word, word_eol, FALSE, FALSE); + + if (check_spch && prefs.perc_color) + check_special_chars (cmd, prefs.perc_ascii); + + if (plugin_emit_command (sess, word[1], word, word_eol)) + goto xit; + + /* incase a plugin did /close */ + if (!is_session (sess)) + goto xit; + + /* first see if it's a userCommand */ + list = command_list; + while (list) + { + pop = (struct popup *) list->data; + if (!strcasecmp (pop->name, word[1])) + { + user_command (sess, tbuf, pop->cmd, word, word_eol); + user_cmd = TRUE; + } + list = list->next; + } + + if (user_cmd) + goto xit; + + /* now check internal commands */ + int_cmd = find_internal_command (word[1]); + + if (int_cmd) + { + if (int_cmd->needserver && !sess->server->connected) + { + notc_msg (sess); + } else if (int_cmd->needchannel && !sess->channel[0]) + { + notj_msg (sess); + } else + { + switch (int_cmd->callback (sess, tbuf, word, word_eol)) + { + case FALSE: + help (sess, tbuf, int_cmd->name, TRUE); + break; + case 2: + ret = FALSE; + goto xit; + } + } + } else + { + /* unknown command, just send it to the server and hope */ + if (!sess->server->connected) + PrintText (sess, _("Unknown Command. Try /help\n")); + else + sess->server->p_raw (sess->server, cmd); + } + +xit: + command_level--; + + if (pdibuf != pdibuf_static) + free (pdibuf); + + if (tbuf != tbuf_static) + free (tbuf); + + return ret; +} + +/* handle one line entered into the input box */ + +static int +handle_user_input (session *sess, char *text, int history, int nocommand) +{ + if (*text == '\0') + return 1; + + if (history) + history_add (&sess->history, text); + + /* is it NOT a command, just text? */ + if (nocommand || text[0] != prefs.cmdchar[0]) + { + handle_say (sess, text, TRUE); + return 1; + } + + /* check for // */ + if (text[0] == prefs.cmdchar[0] && text[1] == prefs.cmdchar[0]) + { + handle_say (sess, text + 1, TRUE); + return 1; + } + + if (prefs.cmdchar[0] == '/') + { + int i; + const char *unix_dirs [] = { + "/bin/", "/boot/", "/dev/", + "/etc/", "/home/", "/lib/", + "/lost+found/", "/mnt/", "/opt/", + "/proc/", "/root/", "/sbin/", + "/tmp/", "/usr/", "/var/", + "/gnome/", NULL}; + for (i = 0; unix_dirs[i] != NULL; i++) + if (strncmp (text, unix_dirs[i], strlen (unix_dirs[i]))==0) + { + handle_say (sess, text, TRUE); + return 1; + } + } + + return handle_command (sess, text + 1, TRUE); +} + +/* changed by Steve Green. Macs sometimes paste with imbedded \r */ +void +handle_multiline (session *sess, char *cmd, int history, int nocommand) +{ + while (*cmd) + { + char *cr = cmd + strcspn (cmd, "\n\r"); + int end_of_string = *cr == 0; + *cr = 0; + if (!handle_user_input (sess, cmd, history, nocommand)) + return; + if (end_of_string) + break; + cmd = cr + 1; + } +} + +/*void +handle_multiline (session *sess, char *cmd, int history, int nocommand) +{ + char *cr; + + cr = strchr (cmd, '\n'); + if (cr) + { + while (1) + { + if (cr) + *cr = 0; + if (!handle_user_input (sess, cmd, history, nocommand)) + return; + if (!cr) + break; + cmd = cr + 1; + if (*cmd == 0) + break; + cr = strchr (cmd, '\n'); + } + } else + { + handle_user_input (sess, cmd, history, nocommand); + } +}*/ diff --git a/src/common/outbound.h b/src/common/outbound.h new file mode 100644 index 00000000..a2047845 --- /dev/null +++ b/src/common/outbound.h @@ -0,0 +1,20 @@ +#ifndef XCHAT_OUTBOUND_H +#define XCHAT_OUTBOUND_H + +extern const struct commands xc_cmds[]; +extern GSList *menu_list; + +int auto_insert (char *dest, int destlen, unsigned char *src, char *word[], char *word_eol[], + char *a, char *c, char *d, char *e, char *h, char *n, char *s); +int handle_command (session *sess, char *cmd, int check_spch); +void process_data_init (char *buf, char *cmd, char *word[], char *word_eol[], gboolean handle_quotes, gboolean allow_escape_quotes); +void handle_multiline (session *sess, char *cmd, int history, int nocommand); +void check_special_chars (char *cmd, int do_ascii); +void notc_msg (session *sess); +void server_sendpart (server * serv, char *channel, char *reason); +void server_sendquit (session * sess); +int menu_streq (const char *s1, const char *s2, int def); +void open_query (server *serv, char *nick, gboolean focus_existing); +gboolean load_perform_file (session *sess, char *file); + +#endif diff --git a/src/common/plugin-timer.c b/src/common/plugin-timer.c new file mode 100644 index 00000000..f09074a8 --- /dev/null +++ b/src/common/plugin-timer.c @@ -0,0 +1,208 @@ +#include <stdlib.h> +#include <string.h> +#include <glib.h> +#include "xchat-plugin.h" + +#ifdef WIN32 +#define strcasecmp stricmp +#endif + +static xchat_plugin *ph; /* plugin handle */ +static GSList *timer_list = NULL; + +#define STATIC +#define HELP \ +"Usage: TIMER [-refnum <num>] [-repeat <num>] <seconds> <command>\n" \ +" TIMER [-quiet] -delete <num>" + +typedef struct +{ + xchat_hook *hook; + xchat_context *context; + char *command; + int ref; + int repeat; + float timeout; + unsigned int forever:1; +} timer; + +static void +timer_del (timer *tim) +{ + timer_list = g_slist_remove (timer_list, tim); + free (tim->command); + xchat_unhook (ph, tim->hook); + free (tim); +} + +static void +timer_del_ref (int ref, int quiet) +{ + GSList *list; + timer *tim; + + list = timer_list; + while (list) + { + tim = list->data; + if (tim->ref == ref) + { + timer_del (tim); + if (!quiet) + xchat_printf (ph, "Timer %d deleted.\n", ref); + return; + } + list = list->next; + } + if (!quiet) + xchat_print (ph, "No such ref number found.\n"); +} + +static int +timeout_cb (timer *tim) +{ + if (xchat_set_context (ph, tim->context)) + { + xchat_command (ph, tim->command); + + if (tim->forever) + return 1; + + tim->repeat--; + if (tim->repeat > 0) + return 1; + } + + timer_del (tim); + return 0; +} + +static void +timer_add (int ref, float timeout, int repeat, char *command) +{ + timer *tim; + GSList *list; + + if (ref == 0) + { + ref = 1; + list = timer_list; + while (list) + { + tim = list->data; + if (tim->ref >= ref) + ref = tim->ref + 1; + list = list->next; + } + } + + tim = malloc (sizeof (timer)); + tim->ref = ref; + tim->repeat = repeat; + tim->timeout = timeout; + tim->command = strdup (command); + tim->context = xchat_get_context (ph); + tim->forever = FALSE; + + if (repeat == 0) + tim->forever = TRUE; + + tim->hook = xchat_hook_timer (ph, timeout * 1000.0, (void *)timeout_cb, tim); + timer_list = g_slist_append (timer_list, tim); +} + +static void +timer_showlist (void) +{ + GSList *list; + timer *tim; + + if (timer_list == NULL) + { + xchat_print (ph, "No timers installed.\n"); + xchat_print (ph, HELP); + return; + } + /* 00000 00000000 0000000 abc */ + xchat_print (ph, "\026 Ref# Seconds Repeat Command \026\n"); + list = timer_list; + while (list) + { + tim = list->data; + xchat_printf (ph, "%5d %8.1f %7d %s\n", tim->ref, tim->timeout, + tim->repeat, tim->command); + list = list->next; + } +} + +static int +timer_cb (char *word[], char *word_eol[], void *userdata) +{ + int repeat = 1; + float timeout; + int offset = 0; + int ref = 0; + int quiet = FALSE; + char *command; + + if (!word[2][0]) + { + timer_showlist (); + return XCHAT_EAT_XCHAT; + } + + if (strcasecmp (word[2], "-quiet") == 0) + { + quiet = TRUE; + offset++; + } + + if (strcasecmp (word[2 + offset], "-delete") == 0) + { + timer_del_ref (atoi (word[3 + offset]), quiet); + return XCHAT_EAT_XCHAT; + } + + if (strcasecmp (word[2 + offset], "-refnum") == 0) + { + ref = atoi (word[3 + offset]); + offset += 2; + } + + if (strcasecmp (word[2 + offset], "-repeat") == 0) + { + repeat = atoi (word[3 + offset]); + offset += 2; + } + + timeout = atof (word[2 + offset]); + command = word_eol[3 + offset]; + + if (timeout < 0.1 || !command[0]) + xchat_print (ph, HELP); + else + timer_add (ref, timeout, repeat, command); + + return XCHAT_EAT_XCHAT; +} + +int +#ifdef STATIC +timer_plugin_init +#else +xchat_plugin_init +#endif + (xchat_plugin *plugin_handle, char **plugin_name, + char **plugin_desc, char **plugin_version, char *arg) +{ + /* we need to save this for use with any xchat_* functions */ + ph = plugin_handle; + + *plugin_name = "Timer"; + *plugin_desc = "IrcII style /TIMER command"; + *plugin_version = ""; + + xchat_hook_command (ph, "TIMER", XCHAT_PRI_NORM, timer_cb, HELP, 0); + + return 1; /* return 1 for success */ +} diff --git a/src/common/plugin-timer.h b/src/common/plugin-timer.h new file mode 100644 index 00000000..e3530c8d --- /dev/null +++ b/src/common/plugin-timer.h @@ -0,0 +1,7 @@ +#ifndef XCHAT_PLUGIN_TIMER_H +#define XCHAT_PLUGIN_TIMER_H + +int timer_plugin_init (xchat_plugin *plugin_handle, char **plugin_name, + char **plugin_desc, char **plugin_version, char *arg); + +#endif diff --git a/src/common/plugin.c b/src/common/plugin.c new file mode 100644 index 00000000..ada4d3be --- /dev/null +++ b/src/common/plugin.c @@ -0,0 +1,1569 @@ +/* X-Chat + * Copyright (C) 2002 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdlib.h> +#include <string.h> +#include <stdarg.h> +#include <stdio.h> + +#include "xchat.h" +#include "fe.h" +#include "util.h" +#include "outbound.h" +#include "cfgfiles.h" +#include "ignore.h" +#include "server.h" +#include "servlist.h" +#include "modes.h" +#include "notify.h" +#include "text.h" +#define PLUGIN_C +typedef struct session xchat_context; +#include "xchat-plugin.h" +#include "plugin.h" + + +#include "xchatc.h" + +/* the USE_PLUGIN define only removes libdl stuff */ + +#ifdef USE_PLUGIN +#ifdef USE_GMODULE +#include <gmodule.h> +#else +#include <dlfcn.h> +#endif +#endif + +#define DEBUG(x) {x;} + +/* crafted to be an even 32 bytes */ +struct _xchat_hook +{ + xchat_plugin *pl; /* the plugin to which it belongs */ + char *name; /* "xdcc" */ + void *callback; /* pointer to xdcc_callback */ + char *help_text; /* help_text for commands only */ + void *userdata; /* passed to the callback */ + int tag; /* for timers & FDs only */ + int type; /* HOOK_* */ + int pri; /* fd */ /* priority / fd for HOOK_FD only */ +}; + +struct _xchat_list +{ + int type; /* LIST_* */ + GSList *pos; /* current pos */ + GSList *next; /* next pos */ + GSList *head; /* for LIST_USERS only */ + struct notify_per_server *notifyps; /* notify_per_server * */ +}; + +typedef int (xchat_cmd_cb) (char *word[], char *word_eol[], void *user_data); +typedef int (xchat_serv_cb) (char *word[], char *word_eol[], void *user_data); +typedef int (xchat_print_cb) (char *word[], void *user_data); +typedef int (xchat_fd_cb) (int fd, int flags, void *user_data); +typedef int (xchat_timer_cb) (void *user_data); +typedef int (xchat_init_func) (xchat_plugin *, char **, char **, char **, char *); +typedef int (xchat_deinit_func) (xchat_plugin *); + +enum +{ + LIST_CHANNELS, + LIST_DCC, + LIST_IGNORE, + LIST_NOTIFY, + LIST_USERS +}; + +enum +{ + HOOK_COMMAND, /* /command */ + HOOK_SERVER, /* PRIVMSG, NOTICE, numerics */ + HOOK_PRINT, /* All print events */ + HOOK_TIMER, /* timeouts */ + HOOK_FD, /* sockets & fds */ + HOOK_DELETED /* marked for deletion */ +}; + +GSList *plugin_list = NULL; /* export for plugingui.c */ +static GSList *hook_list = NULL; + +extern const struct prefs vars[]; /* cfgfiles.c */ + + +/* unload a plugin and remove it from our linked list */ + +static int +plugin_free (xchat_plugin *pl, int do_deinit, int allow_refuse) +{ + GSList *list, *next; + xchat_hook *hook; + xchat_deinit_func *deinit_func; + + /* fake plugin added by xchat_plugingui_add() */ + if (pl->fake) + goto xit; + + /* run the plugin's deinit routine, if any */ + if (do_deinit && pl->deinit_callback != NULL) + { + deinit_func = pl->deinit_callback; + if (!deinit_func (pl) && allow_refuse) + return FALSE; + } + + /* remove all of this plugin's hooks */ + list = hook_list; + while (list) + { + hook = list->data; + next = list->next; + if (hook->pl == pl) + xchat_unhook (NULL, hook); + list = next; + } + +#ifdef USE_PLUGIN + if (pl->handle) +#ifdef USE_GMODULE + g_module_close (pl->handle); +#else + dlclose (pl->handle); +#endif +#endif + +xit: + if (pl->free_strings) + { + if (pl->name) + free (pl->name); + if (pl->desc) + free (pl->desc); + if (pl->version) + free (pl->version); + } + if (pl->filename) + free ((char *)pl->filename); + free (pl); + + plugin_list = g_slist_remove (plugin_list, pl); + +#ifdef USE_PLUGIN + fe_pluginlist_update (); +#endif + + return TRUE; +} + +static xchat_plugin * +plugin_list_add (xchat_context *ctx, char *filename, const char *name, + const char *desc, const char *version, void *handle, + void *deinit_func, int fake, int free_strings) +{ + xchat_plugin *pl; + + pl = malloc (sizeof (xchat_plugin)); + pl->handle = handle; + pl->filename = filename; + pl->context = ctx; + pl->name = (char *)name; + pl->desc = (char *)desc; + pl->version = (char *)version; + pl->deinit_callback = deinit_func; + pl->fake = fake; + pl->free_strings = free_strings; /* free() name,desc,version? */ + + plugin_list = g_slist_prepend (plugin_list, pl); + + return pl; +} + +static void * +xchat_dummy (xchat_plugin *ph) +{ + return NULL; +} + +#ifdef WIN32 +static int +xchat_read_fd (xchat_plugin *ph, GIOChannel *source, char *buf, int *len) +{ + return g_io_channel_read (source, buf, *len, len); +} +#endif + +/* Load a static plugin */ + +void +plugin_add (session *sess, char *filename, void *handle, void *init_func, + void *deinit_func, char *arg, int fake) +{ + xchat_plugin *pl; + char *file; + + file = NULL; + if (filename) + file = strdup (filename); + + pl = plugin_list_add (sess, file, file, NULL, NULL, handle, deinit_func, + fake, FALSE); + + if (!fake) + { + /* win32 uses these because it doesn't have --export-dynamic! */ + pl->xchat_hook_command = xchat_hook_command; + pl->xchat_hook_server = xchat_hook_server; + pl->xchat_hook_print = xchat_hook_print; + pl->xchat_hook_timer = xchat_hook_timer; + pl->xchat_hook_fd = xchat_hook_fd; + pl->xchat_unhook = xchat_unhook; + pl->xchat_print = xchat_print; + pl->xchat_printf = xchat_printf; + pl->xchat_command = xchat_command; + pl->xchat_commandf = xchat_commandf; + pl->xchat_nickcmp = xchat_nickcmp; + pl->xchat_set_context = xchat_set_context; + pl->xchat_find_context = xchat_find_context; + pl->xchat_get_context = xchat_get_context; + pl->xchat_get_info = xchat_get_info; + pl->xchat_get_prefs = xchat_get_prefs; + pl->xchat_list_get = xchat_list_get; + pl->xchat_list_free = xchat_list_free; + pl->xchat_list_fields = xchat_list_fields; + pl->xchat_list_str = xchat_list_str; + pl->xchat_list_next = xchat_list_next; + pl->xchat_list_int = xchat_list_int; + pl->xchat_plugingui_add = xchat_plugingui_add; + pl->xchat_plugingui_remove = xchat_plugingui_remove; + pl->xchat_emit_print = xchat_emit_print; +#ifdef WIN32 + pl->xchat_read_fd = (void *) xchat_read_fd; +#else + pl->xchat_read_fd = xchat_dummy; +#endif + pl->xchat_list_time = xchat_list_time; + pl->xchat_gettext = xchat_gettext; + pl->xchat_send_modes = xchat_send_modes; + pl->xchat_strip = xchat_strip; + pl->xchat_free = xchat_free; + + /* incase new plugins are loaded on older xchat */ + pl->xchat_dummy4 = xchat_dummy; + pl->xchat_dummy3 = xchat_dummy; + pl->xchat_dummy2 = xchat_dummy; + pl->xchat_dummy1 = xchat_dummy; + + /* run xchat_plugin_init, if it returns 0, close the plugin */ + if (((xchat_init_func *)init_func) (pl, &pl->name, &pl->desc, &pl->version, arg) == 0) + { + plugin_free (pl, FALSE, FALSE); + return; + } + } + +#ifdef USE_PLUGIN + fe_pluginlist_update (); +#endif +} + +/* kill any plugin by the given (file) name (used by /unload) */ + +int +plugin_kill (char *name, int by_filename) +{ + GSList *list; + xchat_plugin *pl; + + list = plugin_list; + while (list) + { + pl = list->data; + /* static-plugins (plugin-timer.c) have a NULL filename */ + if ((by_filename && pl->filename && strcasecmp (name, pl->filename) == 0) || + (by_filename && pl->filename && strcasecmp (name, file_part (pl->filename)) == 0) || + (!by_filename && strcasecmp (name, pl->name) == 0)) + { + /* statically linked plugins have a NULL filename */ + if (pl->filename != NULL && !pl->fake) + { + if (plugin_free (pl, TRUE, TRUE)) + return 1; + return 2; + } + } + list = list->next; + } + + return 0; +} + +/* kill all running plugins (at shutdown) */ + +void +plugin_kill_all (void) +{ + GSList *list, *next; + xchat_plugin *pl; + + list = plugin_list; + while (list) + { + pl = list->data; + next = list->next; + if (!pl->fake) + plugin_free (list->data, TRUE, FALSE); + list = next; + } +} + +#ifdef USE_PLUGIN + +/* load a plugin from a filename. Returns: NULL-success or an error string */ + +char * +plugin_load (session *sess, char *filename, char *arg) +{ + void *handle; + xchat_init_func *init_func; + xchat_deinit_func *deinit_func; + +#ifdef USE_GMODULE + /* load the plugin */ + handle = g_module_open (filename, 0); + if (handle == NULL) + return (char *)g_module_error (); + + /* find the init routine xchat_plugin_init */ + if (!g_module_symbol (handle, "xchat_plugin_init", (gpointer *)&init_func)) + { + g_module_close (handle); + return _("No xchat_plugin_init symbol; is this really an xchat plugin?"); + } + + /* find the plugin's deinit routine, if any */ + if (!g_module_symbol (handle, "xchat_plugin_deinit", (gpointer *)&deinit_func)) + deinit_func = NULL; + +#else + char *error; + char *filepart; + +/* OpenBSD lacks this! */ +#ifndef RTLD_GLOBAL +#define RTLD_GLOBAL 0 +#endif + +#ifndef RTLD_NOW +#define RTLD_NOW 0 +#endif + + /* get the filename without path */ + filepart = file_part (filename); + + /* load the plugin */ + if (filepart && + /* xsys draws in libgtk-1.2, causing crashes, so force RTLD_LOCAL */ + (strstr (filepart, "local") || strncmp (filepart, "libxsys-1", 9) == 0) + ) + handle = dlopen (filename, RTLD_NOW); + else + handle = dlopen (filename, RTLD_GLOBAL | RTLD_NOW); + if (handle == NULL) + return (char *)dlerror (); + dlerror (); /* Clear any existing error */ + + /* find the init routine xchat_plugin_init */ + init_func = dlsym (handle, "xchat_plugin_init"); + error = (char *)dlerror (); + if (error != NULL) + { + dlclose (handle); + return _("No xchat_plugin_init symbol; is this really an xchat plugin?"); + } + + /* find the plugin's deinit routine, if any */ + deinit_func = dlsym (handle, "xchat_plugin_deinit"); + error = (char *)dlerror (); +#endif + + /* add it to our linked list */ + plugin_add (sess, filename, handle, init_func, deinit_func, arg, FALSE); + + return NULL; +} + +static session *ps; + +static void +plugin_auto_load_cb (char *filename) +{ + char *pMsg; + +#ifndef WIN32 /* black listed */ + if (!strcmp (file_part (filename), "dbus.so")) + return; +#endif + + pMsg = plugin_load (ps, filename, NULL); + if (pMsg) + { + PrintTextf (ps, "AutoLoad failed for: %s\n", filename); + PrintText (ps, pMsg); + } +} + +void +plugin_auto_load (session *sess) +{ + ps = sess; +#ifdef WIN32 + for_files ("./plugins", "*.dll", plugin_auto_load_cb); + for_files (get_xdir_fs (), "*.dll", plugin_auto_load_cb); +#else +#if defined(__hpux) + for_files (XCHATLIBDIR"/plugins", "*.sl", plugin_auto_load_cb); + for_files (get_xdir_fs (), "*.sl", plugin_auto_load_cb); +#else + for_files (XCHATLIBDIR"/plugins", "*.so", plugin_auto_load_cb); + for_files (get_xdir_fs (), "*.so", plugin_auto_load_cb); +#endif +#endif +} + +#endif + +static GSList * +plugin_hook_find (GSList *list, int type, char *name) +{ + xchat_hook *hook; + + while (list) + { + hook = list->data; + if (hook->type == type) + { + if (strcasecmp (hook->name, name) == 0) + return list; + + if (type == HOOK_SERVER) + { + if (strcasecmp (hook->name, "RAW LINE") == 0) + return list; + } + } + list = list->next; + } + + return NULL; +} + +/* check for plugin hooks and run them */ + +static int +plugin_hook_run (session *sess, char *name, char *word[], char *word_eol[], int type) +{ + GSList *list, *next; + xchat_hook *hook; + int ret, eat = 0; + + list = hook_list; + while (1) + { + list = plugin_hook_find (list, type, name); + if (!list) + goto xit; + + hook = list->data; + next = list->next; + hook->pl->context = sess; + + /* run the plugin's callback function */ + switch (type) + { + case HOOK_COMMAND: + ret = ((xchat_cmd_cb *)hook->callback) (word, word_eol, hook->userdata); + break; + case HOOK_SERVER: + ret = ((xchat_serv_cb *)hook->callback) (word, word_eol, hook->userdata); + break; + default: /*case HOOK_PRINT:*/ + ret = ((xchat_print_cb *)hook->callback) (word, hook->userdata); + break; + } + + if ((ret & XCHAT_EAT_XCHAT) && (ret & XCHAT_EAT_PLUGIN)) + { + eat = 1; + goto xit; + } + if (ret & XCHAT_EAT_PLUGIN) + goto xit; /* stop running plugins */ + if (ret & XCHAT_EAT_XCHAT) + eat = 1; /* eventually we'll return 1, but continue running plugins */ + + list = next; + } + +xit: + /* really remove deleted hooks now */ + list = hook_list; + while (list) + { + hook = list->data; + next = list->next; + if (hook->type == HOOK_DELETED) + { + hook_list = g_slist_remove (hook_list, hook); + free (hook); + } + list = next; + } + + return eat; +} + +/* execute a plugged in command. Called from outbound.c */ + +int +plugin_emit_command (session *sess, char *name, char *word[], char *word_eol[]) +{ + return plugin_hook_run (sess, name, word, word_eol, HOOK_COMMAND); +} + +/* got a server PRIVMSG, NOTICE, numeric etc... */ + +int +plugin_emit_server (session *sess, char *name, char *word[], char *word_eol[]) +{ + return plugin_hook_run (sess, name, word, word_eol, HOOK_SERVER); +} + +/* see if any plugins are interested in this print event */ + +int +plugin_emit_print (session *sess, char *word[]) +{ + return plugin_hook_run (sess, word[0], word, NULL, HOOK_PRINT); +} + +int +plugin_emit_dummy_print (session *sess, char *name) +{ + char *word[32]; + int i; + + word[0] = name; + for (i = 1; i < 32; i++) + word[i] = "\000"; + + return plugin_hook_run (sess, name, word, NULL, HOOK_PRINT); +} + +int +plugin_emit_keypress (session *sess, unsigned int state, unsigned int keyval, + int len, char *string) +{ + char *word[PDIWORDS]; + char keyval_str[16]; + char state_str[16]; + char len_str[16]; + int i; + + if (!hook_list) + return 0; + + sprintf (keyval_str, "%u", keyval); + sprintf (state_str, "%u", state); + sprintf (len_str, "%d", len); + + word[0] = "Key Press"; + word[1] = keyval_str; + word[2] = state_str; + word[3] = string; + word[4] = len_str; + for (i = 5; i < PDIWORDS; i++) + word[i] = "\000"; + + return plugin_hook_run (sess, word[0], word, NULL, HOOK_PRINT); +} + +static int +plugin_timeout_cb (xchat_hook *hook) +{ + int ret; + + /* timer_cb's context starts as front-most-tab */ + hook->pl->context = current_sess; + + /* call the plugin's timeout function */ + ret = ((xchat_timer_cb *)hook->callback) (hook->userdata); + + /* the callback might have already unhooked it! */ + if (!g_slist_find (hook_list, hook) || hook->type == HOOK_DELETED) + return 0; + + if (ret == 0) + { + hook->tag = 0; /* avoid fe_timeout_remove, returning 0 is enough! */ + xchat_unhook (hook->pl, hook); + } + + return ret; +} + +/* insert a hook into hook_list according to its priority */ + +static void +plugin_insert_hook (xchat_hook *new_hook) +{ + GSList *list; + xchat_hook *hook; + + list = hook_list; + while (list) + { + hook = list->data; + if (hook->type == new_hook->type && hook->pri <= new_hook->pri) + { + hook_list = g_slist_insert_before (hook_list, list, new_hook); + return; + } + list = list->next; + } + + hook_list = g_slist_append (hook_list, new_hook); +} + +static gboolean +plugin_fd_cb (GIOChannel *source, GIOCondition condition, xchat_hook *hook) +{ + int flags = 0, ret; + typedef int (xchat_fd_cb2) (int fd, int flags, void *user_data, GIOChannel *); + + if (condition & G_IO_IN) + flags |= XCHAT_FD_READ; + if (condition & G_IO_OUT) + flags |= XCHAT_FD_WRITE; + if (condition & G_IO_PRI) + flags |= XCHAT_FD_EXCEPTION; + + ret = ((xchat_fd_cb2 *)hook->callback) (hook->pri, flags, hook->userdata, source); + + /* the callback might have already unhooked it! */ + if (!g_slist_find (hook_list, hook) || hook->type == HOOK_DELETED) + return 0; + + if (ret == 0) + { + hook->tag = 0; /* avoid fe_input_remove, returning 0 is enough! */ + xchat_unhook (hook->pl, hook); + } + + return ret; +} + +/* allocate and add a hook to our list. Used for all 4 types */ + +static xchat_hook * +plugin_add_hook (xchat_plugin *pl, int type, int pri, const char *name, + const char *help_text, void *callb, int timeout, void *userdata) +{ + xchat_hook *hook; + + hook = malloc (sizeof (xchat_hook)); + memset (hook, 0, sizeof (xchat_hook)); + + hook->type = type; + hook->pri = pri; + if (name) + hook->name = strdup (name); + if (help_text) + hook->help_text = strdup (help_text); + hook->callback = callb; + hook->pl = pl; + hook->userdata = userdata; + + /* insert it into the linked list */ + plugin_insert_hook (hook); + + if (type == HOOK_TIMER) + hook->tag = fe_timeout_add (timeout, plugin_timeout_cb, hook); + + return hook; +} + +GList * +plugin_command_list(GList *tmp_list) +{ + xchat_hook *hook; + GSList *list = hook_list; + + while (list) + { + hook = list->data; + if (hook->type == HOOK_COMMAND) + tmp_list = g_list_prepend(tmp_list, hook->name); + list = list->next; + } + return tmp_list; +} + +void +plugin_command_foreach (session *sess, void *userdata, + void (*cb) (session *sess, void *userdata, char *name, char *help)) +{ + GSList *list; + xchat_hook *hook; + + list = hook_list; + while (list) + { + hook = list->data; + if (hook->type == HOOK_COMMAND && hook->name[0]) + { + cb (sess, userdata, hook->name, hook->help_text); + } + list = list->next; + } +} + +int +plugin_show_help (session *sess, char *cmd) +{ + GSList *list; + xchat_hook *hook; + + list = plugin_hook_find (hook_list, HOOK_COMMAND, cmd); + if (list) + { + hook = list->data; + if (hook->help_text) + { + PrintText (sess, hook->help_text); + return 1; + } + } + + return 0; +} + +/* ========================================================= */ +/* ===== these are the functions plugins actually call ===== */ +/* ========================================================= */ + +void * +xchat_unhook (xchat_plugin *ph, xchat_hook *hook) +{ + /* perl.c trips this */ + if (!g_slist_find (hook_list, hook) || hook->type == HOOK_DELETED) + return NULL; + + if (hook->type == HOOK_TIMER && hook->tag != 0) + fe_timeout_remove (hook->tag); + + if (hook->type == HOOK_FD && hook->tag != 0) + fe_input_remove (hook->tag); + + hook->type = HOOK_DELETED; /* expunge later */ + + if (hook->name) + free (hook->name); /* NULL for timers & fds */ + if (hook->help_text) + free (hook->help_text); /* NULL for non-commands */ + + return hook->userdata; +} + +xchat_hook * +xchat_hook_command (xchat_plugin *ph, const char *name, int pri, + xchat_cmd_cb *callb, const char *help_text, void *userdata) +{ + return plugin_add_hook (ph, HOOK_COMMAND, pri, name, help_text, callb, 0, + userdata); +} + +xchat_hook * +xchat_hook_server (xchat_plugin *ph, const char *name, int pri, + xchat_serv_cb *callb, void *userdata) +{ + return plugin_add_hook (ph, HOOK_SERVER, pri, name, 0, callb, 0, userdata); +} + +xchat_hook * +xchat_hook_print (xchat_plugin *ph, const char *name, int pri, + xchat_print_cb *callb, void *userdata) +{ + return plugin_add_hook (ph, HOOK_PRINT, pri, name, 0, callb, 0, userdata); +} + +xchat_hook * +xchat_hook_timer (xchat_plugin *ph, int timeout, xchat_timer_cb *callb, + void *userdata) +{ + return plugin_add_hook (ph, HOOK_TIMER, 0, 0, 0, callb, timeout, userdata); +} + +xchat_hook * +xchat_hook_fd (xchat_plugin *ph, int fd, int flags, + xchat_fd_cb *callb, void *userdata) +{ + xchat_hook *hook; + + hook = plugin_add_hook (ph, HOOK_FD, 0, 0, 0, callb, 0, userdata); + hook->pri = fd; + /* plugin hook_fd flags correspond exactly to FIA_* flags (fe.h) */ + hook->tag = fe_input_add (fd, flags, plugin_fd_cb, hook); + + return hook; +} + +void +xchat_print (xchat_plugin *ph, const char *text) +{ + if (!is_session (ph->context)) + { + DEBUG(PrintTextf(0, "%s\txchat_print called without a valid context.\n", ph->name)); + return; + } + + PrintText (ph->context, (char *)text); +} + +void +xchat_printf (xchat_plugin *ph, const char *format, ...) +{ + va_list args; + char *buf; + + va_start (args, format); + buf = g_strdup_vprintf (format, args); + va_end (args); + + xchat_print (ph, buf); + g_free (buf); +} + +void +xchat_command (xchat_plugin *ph, const char *command) +{ + char *conv; + int len = -1; + + if (!is_session (ph->context)) + { + DEBUG(PrintTextf(0, "%s\txchat_command called without a valid context.\n", ph->name)); + return; + } + + /* scripts/plugins continue to send non-UTF8... *sigh* */ + conv = text_validate ((char **)&command, &len); + handle_command (ph->context, (char *)command, FALSE); + g_free (conv); +} + +void +xchat_commandf (xchat_plugin *ph, const char *format, ...) +{ + va_list args; + char *buf; + + va_start (args, format); + buf = g_strdup_vprintf (format, args); + va_end (args); + + xchat_command (ph, buf); + g_free (buf); +} + +int +xchat_nickcmp (xchat_plugin *ph, const char *s1, const char *s2) +{ + return ((session *)ph->context)->server->p_cmp (s1, s2); +} + +xchat_context * +xchat_get_context (xchat_plugin *ph) +{ + return ph->context; +} + +int +xchat_set_context (xchat_plugin *ph, xchat_context *context) +{ + if (is_session (context)) + { + ph->context = context; + return 1; + } + return 0; +} + +xchat_context * +xchat_find_context (xchat_plugin *ph, const char *servname, const char *channel) +{ + GSList *slist, *clist, *sessions = NULL; + server *serv; + session *sess; + char *netname; + + if (servname == NULL && channel == NULL) + return current_sess; + + slist = serv_list; + while (slist) + { + serv = slist->data; + netname = server_get_network (serv, TRUE); + + if (servname == NULL || + rfc_casecmp (servname, serv->servername) == 0 || + strcasecmp (servname, serv->hostname) == 0 || + strcasecmp (servname, netname) == 0) + { + if (channel == NULL) + return serv->front_session; + + clist = sess_list; + while (clist) + { + sess = clist->data; + if (sess->server == serv) + { + if (rfc_casecmp (channel, sess->channel) == 0) + { + if (sess->server == ph->context->server) + { + g_slist_free (sessions); + return sess; + } else + { + sessions = g_slist_prepend (sessions, sess); + } + } + } + clist = clist->next; + } + } + slist = slist->next; + } + + if (sessions) + { + sessions = g_slist_reverse (sessions); + sess = sessions->data; + g_slist_free (sessions); + return sess; + } + + return NULL; +} + +const char * +xchat_get_info (xchat_plugin *ph, const char *id) +{ + session *sess; + guint32 hash; + + /* 1234567890 */ + if (!strncmp (id, "event_text", 10)) + { + char *e = (char *)id + 10; + if (*e == ' ') e++; /* 2.8.0 only worked without a space */ + return text_find_format_string (e); + } + + hash = str_hash (id); + /* do the session independant ones first */ + switch (hash) + { + case 0x325acab5: /* libdirfs */ + return XCHATLIBDIR; + + case 0x14f51cd8: /* version */ + return PACKAGE_VERSION; + + case 0xdd9b1abd: /* xchatdir */ + return get_xdir_utf8 (); + + case 0xe33f6c4a: /* xchatdirfs */ + return get_xdir_fs (); + } + + sess = ph->context; + if (!is_session (sess)) + { + DEBUG(PrintTextf(0, "%s\txchat_get_info called without a valid context.\n", ph->name)); + return NULL; + } + + switch (hash) + { + case 0x2de2ee: /* away */ + if (sess->server->is_away) + return sess->server->last_away_reason; + return NULL; + + case 0x2c0b7d03: /* channel */ + return sess->channel; + + case 0x2c0d614c: /* charset */ + { + const char *locale; + + if (sess->server->encoding) + return sess->server->encoding; + + locale = NULL; + g_get_charset (&locale); + return locale; + } + + case 0x30f5a8: /* host */ + return sess->server->hostname; + + case 0x1c0e99c1: /* inputbox */ + return fe_get_inputbox_contents (sess); + + case 0x633fb30: /* modes */ + return sess->current_modes; + + case 0x6de15a2e: /* network */ + return server_get_network (sess->server, FALSE); + + case 0x339763: /* nick */ + return sess->server->nick; + + case 0x438fdf9: /* nickserv */ + if (sess->server->network) + return ((ircnet *)sess->server->network)->nickserv; + return NULL; + + case 0xca022f43: /* server */ + if (!sess->server->connected) + return NULL; + return sess->server->servername; + + case 0x696cd2f: /* topic */ + return sess->topic; + + case 0x3419f12d: /* gtkwin_ptr */ + return fe_gui_info_ptr (sess, 1); + + case 0x506d600b: /* native win_ptr */ + return fe_gui_info_ptr (sess, 0); + + case 0x6d3431b5: /* win_status */ + switch (fe_gui_info (sess, 0)) /* check window status */ + { + case 0: return "normal"; + case 1: return "active"; + case 2: return "hidden"; + } + return NULL; + } + + return NULL; +} + +int +xchat_get_prefs (xchat_plugin *ph, const char *name, const char **string, int *integer) +{ + int i = 0; + + /* some special run-time info (not really prefs, but may aswell throw it in here) */ + switch (str_hash (name)) + { + case 0xf82136c4: /* state_cursor */ + *integer = fe_get_inputbox_cursor (ph->context); + return 2; + + case 0xd1b: /* id */ + *integer = ph->context->server->id; + return 2; + } + + do + { + if (!strcasecmp (name, vars[i].name)) + { + switch (vars[i].type) + { + case TYPE_STR: + *string = ((char *) &prefs + vars[i].offset); + return 1; + + case TYPE_INT: + *integer = *((int *) &prefs + vars[i].offset); + return 2; + + default: + /*case TYPE_BOOL:*/ + if (*((int *) &prefs + vars[i].offset)) + *integer = 1; + else + *integer = 0; + return 3; + } + } + i++; + } + while (vars[i].name); + + return 0; +} + +xchat_list * +xchat_list_get (xchat_plugin *ph, const char *name) +{ + xchat_list *list; + + list = malloc (sizeof (xchat_list)); + list->pos = NULL; + + switch (str_hash (name)) + { + case 0x556423d0: /* channels */ + list->type = LIST_CHANNELS; + list->next = sess_list; + break; + + case 0x183c4: /* dcc */ + list->type = LIST_DCC; + list->next = dcc_list; + break; + + case 0xb90bfdd2: /* ignore */ + list->type = LIST_IGNORE; + list->next = ignore_list; + break; + + case 0xc2079749: /* notify */ + list->type = LIST_NOTIFY; + list->next = notify_list; + list->head = (void *)ph->context; /* reuse this pointer */ + break; + + case 0x6a68e08: /* users */ + if (is_session (ph->context)) + { + list->type = LIST_USERS; + list->head = list->next = userlist_flat_list (ph->context); + fe_userlist_set_selected (ph->context); + break; + } /* fall through */ + + default: + free (list); + return NULL; + } + + return list; +} + +void +xchat_list_free (xchat_plugin *ph, xchat_list *xlist) +{ + if (xlist->type == LIST_USERS) + g_slist_free (xlist->head); + free (xlist); +} + +int +xchat_list_next (xchat_plugin *ph, xchat_list *xlist) +{ + if (xlist->next == NULL) + return 0; + + xlist->pos = xlist->next; + xlist->next = xlist->pos->next; + + /* NOTIFY LIST: Find the entry which matches the context + of the plugin when list_get was originally called. */ + if (xlist->type == LIST_NOTIFY) + { + xlist->notifyps = notify_find_server_entry (xlist->pos->data, + ((session *)xlist->head)->server); + if (!xlist->notifyps) + return 0; + } + + return 1; +} + +const char * const * +xchat_list_fields (xchat_plugin *ph, const char *name) +{ + static const char * const dcc_fields[] = + { + "iaddress32","icps", "sdestfile","sfile", "snick", "iport", + "ipos", "iposhigh", "iresume", "iresumehigh", "isize", "isizehigh", "istatus", "itype", NULL + }; + static const char * const channels_fields[] = + { + "schannel", "schantypes", "pcontext", "iflags", "iid", "ilag", "imaxmodes", + "snetwork", "snickmodes", "snickprefixes", "iqueue", "sserver", "itype", "iusers", + NULL + }; + static const char * const ignore_fields[] = + { + "iflags", "smask", NULL + }; + static const char * const notify_fields[] = + { + "iflags", "snetworks", "snick", "toff", "ton", "tseen", NULL + }; + static const char * const users_fields[] = + { + "iaway", "shost", "tlasttalk", "snick", "sprefix", "srealname", "iselected", NULL + }; + static const char * const list_of_lists[] = + { + "channels", "dcc", "ignore", "notify", "users", NULL + }; + + switch (str_hash (name)) + { + case 0x556423d0: /* channels */ + return channels_fields; + case 0x183c4: /* dcc */ + return dcc_fields; + case 0xb90bfdd2: /* ignore */ + return ignore_fields; + case 0xc2079749: /* notify */ + return notify_fields; + case 0x6a68e08: /* users */ + return users_fields; + case 0x6236395: /* lists */ + return list_of_lists; + } + + return NULL; +} + +time_t +xchat_list_time (xchat_plugin *ph, xchat_list *xlist, const char *name) +{ + guint32 hash = str_hash (name); + gpointer data; + + switch (xlist->type) + { + case LIST_NOTIFY: + if (!xlist->notifyps) + return (time_t) -1; + switch (hash) + { + case 0x1ad6f: /* off */ + return xlist->notifyps->lastoff; + case 0xddf: /* on */ + return xlist->notifyps->laston; + case 0x35ce7b: /* seen */ + return xlist->notifyps->lastseen; + } + break; + + case LIST_USERS: + data = xlist->pos->data; + switch (hash) + { + case 0xa9118c42: /* lasttalk */ + return ((struct User *)data)->lasttalk; + } + } + + return (time_t) -1; +} + +const char * +xchat_list_str (xchat_plugin *ph, xchat_list *xlist, const char *name) +{ + guint32 hash = str_hash (name); + gpointer data = ph->context; + int type = LIST_CHANNELS; + + /* a NULL xlist is a shortcut to current "channels" context */ + if (xlist) + { + data = xlist->pos->data; + type = xlist->type; + } + + switch (type) + { + case LIST_CHANNELS: + switch (hash) + { + case 0x2c0b7d03: /* channel */ + return ((session *)data)->channel; + case 0x577e0867: /* chantypes */ + return ((session *)data)->server->chantypes; + case 0x38b735af: /* context */ + return data; /* this is a session * */ + case 0x6de15a2e: /* network */ + return server_get_network (((session *)data)->server, FALSE); + case 0x8455e723: /* nickprefixes */ + return ((session *)data)->server->nick_prefixes; + case 0x829689ad: /* nickmodes */ + return ((session *)data)->server->nick_modes; + case 0xca022f43: /* server */ + return ((session *)data)->server->servername; + } + break; + + case LIST_DCC: + switch (hash) + { + case 0x3d9ad31e: /* destfile */ + return ((struct DCC *)data)->destfile; + case 0x2ff57c: /* file */ + return ((struct DCC *)data)->file; + case 0x339763: /* nick */ + return ((struct DCC *)data)->nick; + } + break; + + case LIST_IGNORE: + switch (hash) + { + case 0x3306ec: /* mask */ + return ((struct ignore *)data)->mask; + } + break; + + case LIST_NOTIFY: + switch (hash) + { + case 0x4e49ec05: /* networks */ + return ((struct notify *)data)->networks; + case 0x339763: /* nick */ + return ((struct notify *)data)->name; + } + break; + + case LIST_USERS: + switch (hash) + { + case 0x339763: /* nick */ + return ((struct User *)data)->nick; + case 0x30f5a8: /* host */ + return ((struct User *)data)->hostname; + case 0xc594b292: /* prefix */ + return ((struct User *)data)->prefix; + case 0xccc6d529: /* realname */ + return ((struct User *)data)->realname; + } + break; + } + + return NULL; +} + +int +xchat_list_int (xchat_plugin *ph, xchat_list *xlist, const char *name) +{ + guint32 hash = str_hash (name); + gpointer data = ph->context; + int tmp, type = LIST_CHANNELS; + + /* a NULL xlist is a shortcut to current "channels" context */ + if (xlist) + { + data = xlist->pos->data; + type = xlist->type; + } + + switch (type) + { + case LIST_DCC: + switch (hash) + { + case 0x34207553: /* address32 */ + return ((struct DCC *)data)->addr; + case 0x181a6: /* cps */ + return ((struct DCC *)data)->cps; + case 0x349881: /* port */ + return ((struct DCC *)data)->port; + case 0x1b254: /* pos */ + return ((struct DCC *)data)->pos & 0xffffffff; + case 0xe8a945f6: /* poshigh */ + return (((struct DCC *)data)->pos >> 32) & 0xffffffff; + case 0xc84dc82d: /* resume */ + return ((struct DCC *)data)->resumable & 0xffffffff; + case 0xded4c74f: /* resumehigh */ + return (((struct DCC *)data)->resumable >> 32) & 0xffffffff; + case 0x35e001: /* size */ + return ((struct DCC *)data)->size & 0xffffffff; + case 0x3284d523: /* sizehigh */ + return (((struct DCC *)data)->size >> 32) & 0xffffffff; + case 0xcacdcff2: /* status */ + return ((struct DCC *)data)->dccstat; + case 0x368f3a: /* type */ + return ((struct DCC *)data)->type; + } + break; + + case LIST_IGNORE: + switch (hash) + { + case 0x5cfee87: /* flags */ + return ((struct ignore *)data)->type; + } + break; + + case LIST_CHANNELS: + switch (hash) + { + case 0xd1b: /* id */ + return ((struct session *)data)->server->id; + case 0x5cfee87: /* flags */ + tmp = ((struct session *)data)->alert_taskbar; /* bit 10 */ + tmp <<= 1; + tmp |= ((struct session *)data)->alert_tray; /* 9 */ + tmp <<= 1; + tmp |= ((struct session *)data)->alert_beep; /* 8 */ + tmp <<= 1; + /*tmp |= ((struct session *)data)->color_paste;*/ /* 7 */ + tmp <<= 1; + tmp |= ((struct session *)data)->text_hidejoinpart; /* 6 */ + tmp <<= 1; + tmp |= ((struct session *)data)->server->have_idmsg; /* 5 */ + tmp <<= 1; + tmp |= ((struct session *)data)->server->have_whox; /* 4 */ + tmp <<= 1; + tmp |= ((struct session *)data)->server->end_of_motd;/* 3 */ + tmp <<= 1; + tmp |= ((struct session *)data)->server->is_away; /* 2 */ + tmp <<= 1; + tmp |= ((struct session *)data)->server->connecting; /* 1 */ + tmp <<= 1; + tmp |= ((struct session *)data)->server->connected; /* 0 */ + return tmp; + case 0x1a192: /* lag */ + return ((struct session *)data)->server->lag; + case 0x1916144c: /* maxmodes */ + return ((struct session *)data)->server->modes_per_line; + case 0x66f1911: /* queue */ + return ((struct session *)data)->server->sendq_len; + case 0x368f3a: /* type */ + return ((struct session *)data)->type; + case 0x6a68e08: /* users */ + return ((struct session *)data)->total; + } + break; + + case LIST_NOTIFY: + if (!xlist->notifyps) + return -1; + switch (hash) + { + case 0x5cfee87: /* flags */ + return xlist->notifyps->ison; + } + + case LIST_USERS: + switch (hash) + { + case 0x2de2ee: /* away */ + return ((struct User *)data)->away; + case 0x4705f29b: /* selected */ + return ((struct User *)data)->selected; + } + break; + + } + + return -1; +} + +void * +xchat_plugingui_add (xchat_plugin *ph, const char *filename, + const char *name, const char *desc, + const char *version, char *reserved) +{ +#ifdef USE_PLUGIN + ph = plugin_list_add (NULL, strdup (filename), strdup (name), strdup (desc), + strdup (version), NULL, NULL, TRUE, TRUE); + fe_pluginlist_update (); +#endif + + return ph; +} + +void +xchat_plugingui_remove (xchat_plugin *ph, void *handle) +{ +#ifdef USE_PLUGIN + plugin_free (handle, FALSE, FALSE); +#endif +} + +int +xchat_emit_print (xchat_plugin *ph, const char *event_name, ...) +{ + va_list args; + /* currently only 4 because no events use more than 4. + This can be easily expanded without breaking the API. */ + char *argv[4] = {NULL, NULL, NULL, NULL}; + int i = 0; + + va_start (args, event_name); + while (1) + { + argv[i] = va_arg (args, char *); + if (!argv[i]) + break; + i++; + if (i >= 4) + break; + } + + i = text_emit_by_name ((char *)event_name, ph->context, argv[0], argv[1], + argv[2], argv[3]); + va_end (args); + + return i; +} + +char * +xchat_gettext (xchat_plugin *ph, const char *msgid) +{ + /* so that plugins can use xchat's internal gettext strings. */ + /* e.g. The EXEC plugin uses this on Windows. */ + return _(msgid); +} + +void +xchat_send_modes (xchat_plugin *ph, const char **targets, int ntargets, int modes_per_line, char sign, char mode) +{ + char tbuf[514]; /* modes.c needs 512 + null */ + + send_channel_modes (ph->context, tbuf, (char **)targets, 0, ntargets, sign, mode, modes_per_line); +} + +char * +xchat_strip (xchat_plugin *ph, const char *str, int len, int flags) +{ + return strip_color ((char *)str, len, flags); +} + +void +xchat_free (xchat_plugin *ph, void *ptr) +{ + g_free (ptr); +} diff --git a/src/common/plugin.h b/src/common/plugin.h new file mode 100644 index 00000000..b0c89d1b --- /dev/null +++ b/src/common/plugin.h @@ -0,0 +1,132 @@ +#ifndef XCHAT_COMMONPLUGIN_H +#define XCHAT_COMMONPLUGIN_H + +#ifdef PLUGIN_C +struct _xchat_plugin +{ + /* Keep these insync with xchat-plugin.h */ + /* !!don't change the order, to keep binary compat!! */ + xchat_hook *(*xchat_hook_command) (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + const char *help_text, + void *userdata); + xchat_hook *(*xchat_hook_server) (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + void *userdata); + xchat_hook *(*xchat_hook_print) (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], void *user_data), + void *userdata); + xchat_hook *(*xchat_hook_timer) (xchat_plugin *ph, + int timeout, + int (*callback) (void *user_data), + void *userdata); + xchat_hook *(*xchat_hook_fd) (xchat_plugin *ph, + int fd, + int flags, + int (*callback) (int fd, int flags, void *user_data), + void *userdata); + void *(*xchat_unhook) (xchat_plugin *ph, + xchat_hook *hook); + void (*xchat_print) (xchat_plugin *ph, + const char *text); + void (*xchat_printf) (xchat_plugin *ph, + const char *format, ...); + void (*xchat_command) (xchat_plugin *ph, + const char *command); + void (*xchat_commandf) (xchat_plugin *ph, + const char *format, ...); + int (*xchat_nickcmp) (xchat_plugin *ph, + const char *s1, + const char *s2); + int (*xchat_set_context) (xchat_plugin *ph, + xchat_context *ctx); + xchat_context *(*xchat_find_context) (xchat_plugin *ph, + const char *servname, + const char *channel); + xchat_context *(*xchat_get_context) (xchat_plugin *ph); + const char *(*xchat_get_info) (xchat_plugin *ph, + const char *id); + int (*xchat_get_prefs) (xchat_plugin *ph, + const char *name, + const char **string, + int *integer); + xchat_list * (*xchat_list_get) (xchat_plugin *ph, + const char *name); + void (*xchat_list_free) (xchat_plugin *ph, + xchat_list *xlist); + const char * const * (*xchat_list_fields) (xchat_plugin *ph, + const char *name); + int (*xchat_list_next) (xchat_plugin *ph, + xchat_list *xlist); + const char * (*xchat_list_str) (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + int (*xchat_list_int) (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + void * (*xchat_plugingui_add) (xchat_plugin *ph, + const char *filename, + const char *name, + const char *desc, + const char *version, + char *reserved); + void (*xchat_plugingui_remove) (xchat_plugin *ph, + void *handle); + int (*xchat_emit_print) (xchat_plugin *ph, + const char *event_name, ...); + void *(*xchat_read_fd) (xchat_plugin *ph); + time_t (*xchat_list_time) (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + char *(*xchat_gettext) (xchat_plugin *ph, + const char *msgid); + void (*xchat_send_modes) (xchat_plugin *ph, + const char **targets, + int ntargets, + int modes_per_line, + char sign, + char mode); + char *(*xchat_strip) (xchat_plugin *ph, + const char *str, + int len, + int flags); + void (*xchat_free) (xchat_plugin *ph, + void *ptr); + void *(*xchat_dummy4) (xchat_plugin *ph); + void *(*xchat_dummy3) (xchat_plugin *ph); + void *(*xchat_dummy2) (xchat_plugin *ph); + void *(*xchat_dummy1) (xchat_plugin *ph); + /* PRIVATE FIELDS! */ + void *handle; /* from dlopen */ + char *filename; /* loaded from */ + char *name; + char *desc; + char *version; + session *context; + void *deinit_callback; /* pointer to xchat_plugin_deinit */ + unsigned int fake:1; /* fake plugin. Added by xchat_plugingui_add() */ + unsigned int free_strings:1; /* free name,desc,version? */ +}; +#endif + +char *plugin_load (session *sess, char *filename, char *arg); +void plugin_add (session *sess, char *filename, void *handle, void *init_func, void *deinit_func, char *arg, int fake); +int plugin_kill (char *name, int by_filename); +void plugin_kill_all (void); +void plugin_auto_load (session *sess); +int plugin_emit_command (session *sess, char *name, char *word[], char *word_eol[]); +int plugin_emit_server (session *sess, char *name, char *word[], char *word_eol[]); +int plugin_emit_print (session *sess, char *word[]); +int plugin_emit_dummy_print (session *sess, char *name); +int plugin_emit_keypress (session *sess, unsigned int state, unsigned int keyval, int len, char *string); +GList* plugin_command_list(GList *tmp_list); +int plugin_show_help (session *sess, char *cmd); +void plugin_command_foreach (session *sess, void *userdata, void (*cb) (session *sess, void *userdata, char *name, char *usage)); + +#endif diff --git a/src/common/proto-irc.c b/src/common/proto-irc.c new file mode 100644 index 00000000..f1df6ccd --- /dev/null +++ b/src/common/proto-irc.c @@ -0,0 +1,1260 @@ +/* X-Chat + * Copyright (C) 2002 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +/* IRC RFC1459(+commonly used extensions) protocol implementation */ + +#include <unistd.h> +#include <string.h> +#include <stdio.h> +#include <stdlib.h> +#include <ctype.h> +#include <stdarg.h> + +#include "xchat.h" +#include "ctcp.h" +#include "fe.h" +#include "ignore.h" +#include "inbound.h" +#include "modes.h" +#include "notify.h" +#include "plugin.h" +#include "server.h" +#include "text.h" +#include "outbound.h" +#include "util.h" +#include "xchatc.h" + + +static void +irc_login (server *serv, char *user, char *realname) +{ + if (serv->password[0]) + tcp_sendf (serv, "PASS %s\r\n", serv->password); + + tcp_sendf (serv, + "NICK %s\r\n" + "USER %s %s %s :%s\r\n", + serv->nick, user, user, serv->servername, realname); +} + +static void +irc_nickserv (server *serv, char *cmd, char *arg1, char *arg2, char *arg3) +{ + /* are all ircd authors idiots? */ + switch (serv->nickservtype) + { + case 0: + tcp_sendf (serv, "PRIVMSG NICKSERV :%s %s%s%s\r\n", cmd, arg1, arg2, arg3); + break; + case 1: + tcp_sendf (serv, "NICKSERV %s %s%s%s\r\n", cmd, arg1, arg2, arg3); + break; + case 2: + tcp_sendf (serv, "NS %s %s%s%s\r\n", cmd, arg1, arg2, arg3); + break; + case 3: + tcp_sendf (serv, "PRIVMSG NS :%s %s%s%s\r\n", cmd, arg1, arg2, arg3); + break; + case 4: + /* why couldn't QuakeNet implement one of the existing ones? */ + tcp_sendf (serv, "AUTH %s%s%s\r\n", cmd, arg1, arg2, arg3); + } +} + +static void +irc_ns_identify (server *serv, char *pass) +{ + irc_nickserv (serv, "IDENTIFY", pass, "", ""); +} + +static void +irc_ns_ghost (server *serv, char *usname, char *pass) +{ + if (serv->nickservtype != 4) + irc_nickserv (serv, "GHOST", usname, " ", pass); +} + +static void +irc_join (server *serv, char *channel, char *key) +{ + if (key[0]) + tcp_sendf (serv, "JOIN %s %s\r\n", channel, key); + else + tcp_sendf (serv, "JOIN %s\r\n", channel); +} + +static void +irc_join_list_flush (server *serv, GString *c, GString *k) +{ + char *chanstr, *keystr; + + chanstr = g_string_free (c, FALSE); + keystr = g_string_free (k, FALSE); + if (chanstr[0]) + { + if (keystr[0]) + tcp_sendf (serv, "JOIN %s %s\r\n", chanstr, keystr); + else + tcp_sendf (serv, "JOIN %s\r\n", chanstr); + } + g_free (chanstr); + g_free (keystr); +} + +/* join a whole list of channels & keys, split to multiple lines + * to get around 512 limit */ + +static void +irc_join_list (server *serv, GSList *channels, GSList *keys) +{ + GSList *clist; + GSList *klist; + GString *c = g_string_new (NULL); + GString *k = g_string_new (NULL); + int len; + int add; + int i, j; + + i = j = 0; + len = 9; /* "JOIN<space><space>\r\n" */ + clist = channels; + klist = keys; + + while (clist) + { + /* measure how many bytes this channel would add... */ + if (1) + { + add = strlen (clist->data); + if (i != 0) + add++; /* comma */ + } + + if (klist->data) + { + add += strlen (klist->data); + } + else + { + add++; /* 'x' filler */ + } + + if (j != 0) + add++; /* comma */ + + /* too big? dump buffer and start a fresh one */ + if (len + add > 512) + { + irc_join_list_flush (serv, c, k); + + c = g_string_new (NULL); + k = g_string_new (NULL); + i = j = 0; + len = 9; + } + + /* now actually add it to our GStrings */ + if (1) + { + add = strlen (clist->data); + if (i != 0) + { + add++; + g_string_append_c (c, ','); + } + g_string_append (c, clist->data); + i++; + } + + if (klist->data) + { + add += strlen (klist->data); + if (j != 0) + { + add++; + g_string_append_c (k, ','); + } + g_string_append (k, klist->data); + j++; + } + else + { + add++; + if (j != 0) + { + add++; + g_string_append_c (k, ','); + } + g_string_append_c (k, 'x'); + j++; + } + + len += add; + + klist = klist->next; + clist = clist->next; + } + + irc_join_list_flush (serv, c, k); +} + +static void +irc_part (server *serv, char *channel, char *reason) +{ + if (reason[0]) + tcp_sendf (serv, "PART %s :%s\r\n", channel, reason); + else + tcp_sendf (serv, "PART %s\r\n", channel); +} + +static void +irc_quit (server *serv, char *reason) +{ + if (reason[0]) + tcp_sendf (serv, "QUIT :%s\r\n", reason); + else + tcp_send_len (serv, "QUIT\r\n", 6); +} + +static void +irc_set_back (server *serv) +{ + tcp_send_len (serv, "AWAY\r\n", 6); +} + +static void +irc_set_away (server *serv, char *reason) +{ + if (reason) + { + if (!reason[0]) + reason = " "; + } + else + { + reason = " "; + } + + tcp_sendf (serv, "AWAY :%s\r\n", reason); +} + +static void +irc_ctcp (server *serv, char *to, char *msg) +{ + tcp_sendf (serv, "PRIVMSG %s :\001%s\001\r\n", to, msg); +} + +static void +irc_nctcp (server *serv, char *to, char *msg) +{ + tcp_sendf (serv, "NOTICE %s :\001%s\001\r\n", to, msg); +} + +static void +irc_cycle (server *serv, char *channel, char *key) +{ + tcp_sendf (serv, "PART %s\r\nJOIN %s %s\r\n", channel, channel, key); +} + +static void +irc_kick (server *serv, char *channel, char *nick, char *reason) +{ + if (reason[0]) + tcp_sendf (serv, "KICK %s %s :%s\r\n", channel, nick, reason); + else + tcp_sendf (serv, "KICK %s %s\r\n", channel, nick); +} + +static void +irc_invite (server *serv, char *channel, char *nick) +{ + tcp_sendf (serv, "INVITE %s %s\r\n", nick, channel); +} + +static void +irc_mode (server *serv, char *target, char *mode) +{ + tcp_sendf (serv, "MODE %s %s\r\n", target, mode); +} + +/* find channel info when joined */ + +static void +irc_join_info (server *serv, char *channel) +{ + tcp_sendf (serv, "MODE %s\r\n", channel); +} + +/* initiate userlist retreival */ + +static void +irc_user_list (server *serv, char *channel) +{ + tcp_sendf (serv, "WHO %s\r\n", channel); +} + +/* userhost */ + +static void +irc_userhost (server *serv, char *nick) +{ + tcp_sendf (serv, "USERHOST %s\r\n", nick); +} + +static void +irc_away_status (server *serv, char *channel) +{ + if (serv->have_whox) + tcp_sendf (serv, "WHO %s %%ctnf,152\r\n", channel); + else + tcp_sendf (serv, "WHO %s\r\n", channel); +} + +/*static void +irc_get_ip (server *serv, char *nick) +{ + tcp_sendf (serv, "WHO %s\r\n", nick); +}*/ + + +/* + * Command: WHOIS + * Parameters: [<server>] <nickmask>[,<nickmask>[,...]] + */ +static void +irc_user_whois (server *serv, char *nicks) +{ + tcp_sendf (serv, "WHOIS %s\r\n", nicks); +} + +static void +irc_message (server *serv, char *channel, char *text) +{ + tcp_sendf (serv, "PRIVMSG %s :%s\r\n", channel, text); +} + +static void +irc_action (server *serv, char *channel, char *act) +{ + tcp_sendf (serv, "PRIVMSG %s :\001ACTION %s\001\r\n", channel, act); +} + +static void +irc_notice (server *serv, char *channel, char *text) +{ + tcp_sendf (serv, "NOTICE %s :%s\r\n", channel, text); +} + +static void +irc_topic (server *serv, char *channel, char *topic) +{ + if (!topic) + tcp_sendf (serv, "TOPIC %s :\r\n", channel); + else if (topic[0]) + tcp_sendf (serv, "TOPIC %s :%s\r\n", channel, topic); + else + tcp_sendf (serv, "TOPIC %s\r\n", channel); +} + +static void +irc_list_channels (server *serv, char *arg, int min_users) +{ + if (arg[0]) + { + tcp_sendf (serv, "LIST %s\r\n", arg); + return; + } + + if (serv->use_listargs) + tcp_sendf (serv, "LIST >%d,<10000\r\n", min_users - 1); + else + tcp_send_len (serv, "LIST\r\n", 6); +} + +static void +irc_names (server *serv, char *channel) +{ + tcp_sendf (serv, "NAMES %s\r\n", channel); +} + +static void +irc_change_nick (server *serv, char *new_nick) +{ + tcp_sendf (serv, "NICK %s\r\n", new_nick); +} + +static void +irc_ping (server *serv, char *to, char *timestring) +{ + if (*to) + tcp_sendf (serv, "PRIVMSG %s :\001PING %s\001\r\n", to, timestring); + else + tcp_sendf (serv, "PING %s\r\n", timestring); +} + +static int +irc_raw (server *serv, char *raw) +{ + int len; + char tbuf[4096]; + if (*raw) + { + len = strlen (raw); + if (len < sizeof (tbuf) - 3) + { + len = snprintf (tbuf, sizeof (tbuf), "%s\r\n", raw); + tcp_send_len (serv, tbuf, len); + } else + { + tcp_send_len (serv, raw, len); + tcp_send_len (serv, "\r\n", 2); + } + return TRUE; + } + return FALSE; +} + +/* ============================================================== */ +/* ======================= IRC INPUT ============================ */ +/* ============================================================== */ + + +static void +channel_date (session *sess, char *chan, char *timestr) +{ + time_t timestamp = (time_t) atol (timestr); + char *tim = ctime (×tamp); + tim[24] = 0; /* get rid of the \n */ + EMIT_SIGNAL (XP_TE_CHANDATE, sess, chan, tim, NULL, NULL, 0); +} + +static void +process_numeric (session * sess, int n, + char *word[], char *word_eol[], char *text) +{ + server *serv = sess->server; + /* show whois is the server tab */ + session *whois_sess = serv->server_session; + + /* unless this setting is on */ + if (prefs.irc_whois_front) + whois_sess = serv->front_session; + + switch (n) + { + case 1: + inbound_login_start (sess, word[3], word[1]); + /* if network is PTnet then you must get your IP address + from "001" server message */ + if ((strncmp(word[7], "PTnet", 5) == 0) && + (strncmp(word[8], "IRC", 3) == 0) && + (strncmp(word[9], "Network", 7) == 0) && + (strrchr(word[10], '@') != NULL)) + { + serv->use_who = FALSE; + if (prefs.ip_from_server) + inbound_foundip (sess, strrchr(word[10], '@')+1); + } + + /* use /NICKSERV */ + if (strcasecmp (word[7], "DALnet") == 0 || + strcasecmp (word[7], "BRASnet") == 0) + serv->nickservtype = 1; + + /* use /NS */ + else if (strcasecmp (word[7], "FreeNode") == 0) + serv->nickservtype = 2; + + goto def; + + case 4: /* check the ircd type */ + serv->use_listargs = FALSE; + serv->modes_per_line = 3; /* default to IRC RFC */ + if (strncmp (word[5], "bahamut", 7) == 0) /* DALNet */ + { + serv->use_listargs = TRUE; /* use the /list args */ + } else if (strncmp (word[5], "u2.10.", 6) == 0) /* Undernet */ + { + serv->use_listargs = TRUE; /* use the /list args */ + serv->modes_per_line = 6; /* allow 6 modes per line */ + } else if (strncmp (word[5], "glx2", 4) == 0) + { + serv->use_listargs = TRUE; /* use the /list args */ + } + goto def; + + case 5: + inbound_005 (serv, word); + goto def; + + case 263: /*Server load is temporarily too heavy */ + if (fe_is_chanwindow (sess->server)) + { + fe_chan_list_end (sess->server); + fe_message (word_eol[5] + 1, FE_MSG_ERROR); + } + goto def; + + case 290: /* CAPAB reply */ + if (strstr (word_eol[1], "IDENTIFY-MSG")) + { + serv->have_idmsg = TRUE; + break; + } + goto def; + + case 301: + inbound_away (serv, word[4], + (word_eol[5][0] == ':') ? word_eol[5] + 1 : word_eol[5]); + break; + + case 302: + if (serv->skip_next_userhost) + { + char *eq = strchr (word[4], '='); + if (eq) + { + *eq = 0; + if (!serv->p_cmp (word[4] + 1, serv->nick)) + { + char *at = strrchr (eq + 1, '@'); + if (at) + inbound_foundip (sess, at + 1); + } + } + + serv->skip_next_userhost = FALSE; + break; + } + else goto def; + + case 303: + word[4]++; + notify_markonline (serv, word); + break; + + case 305: + inbound_uback (serv); + goto def; + + case 306: + inbound_uaway (serv); + goto def; + + case 312: + if (!serv->skip_next_whois) + EMIT_SIGNAL (XP_TE_WHOIS3, whois_sess, word[4], word_eol[5], NULL, NULL, 0); + else + inbound_user_info (sess, NULL, NULL, NULL, word[5], word[4], NULL, 0xff); + break; + + case 311: /* WHOIS 1st line */ + serv->inside_whois = 1; + inbound_user_info_start (sess, word[4]); + if (!serv->skip_next_whois) + EMIT_SIGNAL (XP_TE_WHOIS1, whois_sess, word[4], word[5], + word[6], word_eol[8] + 1, 0); + else + inbound_user_info (sess, NULL, word[5], word[6], NULL, word[4], + word_eol[8][0] == ':' ? word_eol[8] + 1 : word_eol[8], 0xff); + break; + + case 314: /* WHOWAS */ + inbound_user_info_start (sess, word[4]); + EMIT_SIGNAL (XP_TE_WHOIS1, whois_sess, word[4], word[5], + word[6], word_eol[8] + 1, 0); + break; + + case 317: + if (!serv->skip_next_whois) + { + time_t timestamp = (time_t) atol (word[6]); + long idle = atol (word[5]); + char *tim; + char outbuf[64]; + + snprintf (outbuf, sizeof (outbuf), + "%02ld:%02ld:%02ld", idle / 3600, (idle / 60) % 60, + idle % 60); + if (timestamp == 0) + EMIT_SIGNAL (XP_TE_WHOIS4, whois_sess, word[4], + outbuf, NULL, NULL, 0); + else + { + tim = ctime (×tamp); + tim[19] = 0; /* get rid of the \n */ + EMIT_SIGNAL (XP_TE_WHOIS4T, whois_sess, word[4], + outbuf, tim, NULL, 0); + } + } + break; + + case 318: /* END OF WHOIS */ + if (!serv->skip_next_whois) + EMIT_SIGNAL (XP_TE_WHOIS6, whois_sess, word[4], NULL, + NULL, NULL, 0); + serv->skip_next_whois = 0; + serv->inside_whois = 0; + break; + + case 313: + case 319: + if (!serv->skip_next_whois) + EMIT_SIGNAL (XP_TE_WHOIS2, whois_sess, word[4], + word_eol[5] + 1, NULL, NULL, 0); + break; + + case 307: /* dalnet version */ + case 320: /* :is an identified user */ + if (!serv->skip_next_whois) + EMIT_SIGNAL (XP_TE_WHOIS_ID, whois_sess, word[4], + word_eol[5] + 1, NULL, NULL, 0); + break; + + case 321: + if (!fe_is_chanwindow (sess->server)) + EMIT_SIGNAL (XP_TE_CHANLISTHEAD, serv->server_session, NULL, NULL, NULL, NULL, 0); + break; + + case 322: + if (fe_is_chanwindow (sess->server)) + { + fe_add_chan_list (sess->server, word[4], word[5], word_eol[6] + 1); + } else + { + PrintTextf (serv->server_session, "%-16s %-7d %s\017\n", + word[4], atoi (word[5]), word_eol[6] + 1); + } + break; + + case 323: + if (!fe_is_chanwindow (sess->server)) + EMIT_SIGNAL (XP_TE_SERVTEXT, serv->server_session, text, word[1], word[2], NULL, 0); + else + fe_chan_list_end (sess->server); + break; + + case 324: + sess = find_channel (serv, word[4]); + if (!sess) + sess = serv->server_session; + if (sess->ignore_mode) + sess->ignore_mode = FALSE; + else + EMIT_SIGNAL (XP_TE_CHANMODES, sess, word[4], word_eol[5], + NULL, NULL, 0); + fe_update_mode_buttons (sess, 't', '-'); + fe_update_mode_buttons (sess, 'n', '-'); + fe_update_mode_buttons (sess, 's', '-'); + fe_update_mode_buttons (sess, 'i', '-'); + fe_update_mode_buttons (sess, 'p', '-'); + fe_update_mode_buttons (sess, 'm', '-'); + fe_update_mode_buttons (sess, 'l', '-'); + fe_update_mode_buttons (sess, 'k', '-'); + handle_mode (serv, word, word_eol, "", TRUE); + break; + + case 329: + sess = find_channel (serv, word[4]); + if (sess) + { + if (sess->ignore_date) + sess->ignore_date = FALSE; + else + channel_date (sess, word[4], word[5]); + } + break; + + case 330: + if (!serv->skip_next_whois) + EMIT_SIGNAL (XP_TE_WHOIS_AUTH, whois_sess, word[4], + word_eol[6] + 1, word[5], NULL, 0); + break; + + case 332: + inbound_topic (serv, word[4], + (word_eol[5][0] == ':') ? word_eol[5] + 1 : word_eol[5]); + break; + + case 333: + inbound_topictime (serv, word[4], word[5], atol (word[6])); + break; + +#if 0 + case 338: /* Undernet Real user@host, Real IP */ + EMIT_SIGNAL (XP_TE_WHOIS_REALHOST, sess, word[4], word[5], word[6], + (word_eol[7][0]==':') ? word_eol[7]+1 : word_eol[7], 0); + break; +#endif + + case 341: /* INVITE ACK */ + EMIT_SIGNAL (XP_TE_UINVITE, sess, word[4], word[5], serv->servername, + NULL, 0); + break; + + case 352: /* WHO */ + { + unsigned int away = 0; + session *who_sess = find_channel (serv, word[4]); + + if (*word[9] == 'G') + away = 1; + + inbound_user_info (sess, word[4], word[5], word[6], word[7], + word[8], word_eol[11], away); + + /* try to show only user initiated whos */ + if (!who_sess || !who_sess->doing_who) + EMIT_SIGNAL (XP_TE_SERVTEXT, serv->server_session, text, word[1], + word[2], NULL, 0); + } + break; + + case 354: /* undernet WHOX: used as a reply for irc_away_status */ + { + unsigned int away = 0; + session *who_sess; + + /* irc_away_status sends out a "152" */ + if (!strcmp (word[4], "152")) + { + who_sess = find_channel (serv, word[5]); + + if (*word[7] == 'G') + away = 1; + + /* :SanJose.CA.us.undernet.org 354 z1 152 #zed1 z1 H@ */ + inbound_user_info (sess, word[5], 0, 0, 0, word[6], 0, away); + + /* try to show only user initiated whos */ + if (!who_sess || !who_sess->doing_who) + EMIT_SIGNAL (XP_TE_SERVTEXT, serv->server_session, text, + word[1], word[2], NULL, 0); + } else + goto def; + } + break; + + case 315: /* END OF WHO */ + { + session *who_sess; + who_sess = find_channel (serv, word[4]); + if (who_sess) + { + if (!who_sess->doing_who) + EMIT_SIGNAL (XP_TE_SERVTEXT, serv->server_session, text, + word[1], word[2], NULL, 0); + who_sess->doing_who = FALSE; + } else + { + if (!serv->doing_dns) + EMIT_SIGNAL (XP_TE_SERVTEXT, serv->server_session, text, + word[1], word[2], NULL, 0); + serv->doing_dns = FALSE; + } + } + break; + + case 348: /* +e-list entry */ + if (!inbound_banlist (sess, atol (word[7]), word[4], word[5], word[6], TRUE)) + goto def; + break; + + case 349: /* end of exemption list */ + sess = find_channel (serv, word[4]); + if (!sess) + { + sess = serv->front_session; + goto def; + } + if (!fe_is_banwindow (sess)) + goto def; + fe_ban_list_end (sess, TRUE); + break; + + case 353: /* NAMES */ + inbound_nameslist (serv, word[5], + (word_eol[6][0] == ':') ? word_eol[6] + 1 : word_eol[6]); + break; + + case 366: + if (!inbound_nameslist_end (serv, word[4])) + goto def; + break; + + case 367: /* banlist entry */ + inbound_banlist (sess, atol (word[7]), word[4], word[5], word[6], FALSE); + break; + + case 368: + sess = find_channel (serv, word[4]); + if (!sess) + { + sess = serv->front_session; + goto def; + } + if (!fe_is_banwindow (sess)) + goto def; + fe_ban_list_end (sess, FALSE); + break; + + case 369: /* WHOWAS end */ + case 406: /* WHOWAS error */ + EMIT_SIGNAL (XP_TE_SERVTEXT, whois_sess, text, word[1], word[2], NULL, 0); + serv->inside_whois = 0; + break; + + case 372: /* motd text */ + case 375: /* motd start */ + if (!prefs.skipmotd || serv->motd_skipped) + EMIT_SIGNAL (XP_TE_MOTD, serv->server_session, text, NULL, NULL, + NULL, 0); + break; + + case 376: /* end of motd */ + case 422: /* motd file is missing */ + inbound_login_end (sess, text); + break; + + case 433: /* nickname in use */ + case 432: /* erroneous nickname */ + if (serv->end_of_motd) + goto def; + inbound_next_nick (sess, word[4]); + break; + + case 437: + if (serv->end_of_motd || is_channel (serv, word[4])) + goto def; + inbound_next_nick (sess, word[4]); + break; + + case 471: + EMIT_SIGNAL (XP_TE_USERLIMIT, sess, word[4], NULL, NULL, NULL, 0); + break; + + case 473: + EMIT_SIGNAL (XP_TE_INVITE, sess, word[4], NULL, NULL, NULL, 0); + break; + + case 474: + EMIT_SIGNAL (XP_TE_BANNED, sess, word[4], NULL, NULL, NULL, 0); + break; + + case 475: + EMIT_SIGNAL (XP_TE_KEYWORD, sess, word[4], NULL, NULL, NULL, 0); + break; + + case 601: + notify_set_offline (serv, word[4], FALSE); + break; + + case 605: + notify_set_offline (serv, word[4], TRUE); + break; + + case 600: + case 604: + notify_set_online (serv, word[4]); + break; + + default: + + if (serv->inside_whois && word[4][0]) + { + /* some unknown WHOIS reply, ircd coders make them up weekly */ + if (!serv->skip_next_whois) + EMIT_SIGNAL (XP_TE_WHOIS_SPECIAL, whois_sess, word[4], + (word_eol[5][0] == ':') ? word_eol[5] + 1 : word_eol[5], + word[2], NULL, 0); + return; + } + + def: + if (is_channel (serv, word[4])) + { + session *realsess = find_channel (serv, word[4]); + if (!realsess) + realsess = serv->server_session; + EMIT_SIGNAL (XP_TE_SERVTEXT, realsess, text, word[1], word[2], NULL, 0); + } else + { + EMIT_SIGNAL (XP_TE_SERVTEXT, serv->server_session, text, word[1], + word[2], NULL, 0); + } + } +} + +/* handle named messages that starts with a ':' */ + +static void +process_named_msg (session *sess, char *type, char *word[], char *word_eol[]) +{ + server *serv = sess->server; + char ip[128], nick[NICKLEN]; + char *text, *ex; + int len = strlen (type); + + /* fill in the "ip" and "nick" buffers */ + ex = strchr (word[1], '!'); + if (!ex) /* no '!', must be a server message */ + { + safe_strcpy (ip, word[1], sizeof (ip)); + safe_strcpy (nick, word[1], sizeof (nick)); + } else + { + safe_strcpy (ip, ex + 1, sizeof (ip)); + ex[0] = 0; + safe_strcpy (nick, word[1], sizeof (nick)); + ex[0] = '!'; + } + + if (len == 4) + { + guint32 t; + + t = WORDL((guint8)type[0], (guint8)type[1], (guint8)type[2], (guint8)type[3]); + /* this should compile to a bunch of: CMP.L, JE ... nice & fast */ + switch (t) + { + case WORDL('J','O','I','N'): + { + char *chan = word[3]; + + if (*chan == ':') + chan++; + if (!serv->p_cmp (nick, serv->nick)) + inbound_ujoin (serv, chan, nick, ip); + else + inbound_join (serv, chan, nick, ip); + } + return; + + case WORDL('K','I','C','K'): + { + char *kicked = word[4]; + char *reason = word_eol[5]; + if (*kicked) + { + if (*reason == ':') + reason++; + if (!strcmp (kicked, serv->nick)) + inbound_ukick (serv, word[3], nick, reason); + else + inbound_kick (serv, word[3], kicked, nick, reason); + } + } + return; + + case WORDL('K','I','L','L'): + EMIT_SIGNAL (XP_TE_KILL, sess, nick, word_eol[5], NULL, NULL, 0); + return; + + case WORDL('M','O','D','E'): + handle_mode (serv, word, word_eol, nick, FALSE); /* modes.c */ + return; + + case WORDL('N','I','C','K'): + inbound_newnick (serv, nick, (word_eol[3][0] == ':') + ? word_eol[3] + 1 : word_eol[3], FALSE); + return; + + case WORDL('P','A','R','T'): + { + char *chan = word[3]; + char *reason = word_eol[4]; + + if (*chan == ':') + chan++; + if (*reason == ':') + reason++; + if (!strcmp (nick, serv->nick)) + inbound_upart (serv, chan, ip, reason); + else + inbound_part (serv, chan, nick, ip, reason); + } + return; + + case WORDL('P','O','N','G'): + inbound_ping_reply (serv->server_session, + (word[4][0] == ':') ? word[4] + 1 : word[4], word[3]); + return; + + case WORDL('Q','U','I','T'): + inbound_quit (serv, nick, ip, + (word_eol[3][0] == ':') ? word_eol[3] + 1 : word_eol[3]); + return; + } + + goto garbage; + } + + else if (len >= 5) + { + guint32 t; + + t = WORDL((guint8)type[0], (guint8)type[1], (guint8)type[2], (guint8)type[3]); + /* this should compile to a bunch of: CMP.L, JE ... nice & fast */ + switch (t) + { + case WORDL('I','N','V','I'): + if (ignore_check (word[1], IG_INVI)) + return; + + if (word[4][0] == ':') + EMIT_SIGNAL (XP_TE_INVITED, sess, word[4] + 1, nick, + serv->servername, NULL, 0); + else + EMIT_SIGNAL (XP_TE_INVITED, sess, word[4], nick, + serv->servername, NULL, 0); + + return; + + case WORDL('N','O','T','I'): + { + int id = FALSE; /* identified */ + + text = word_eol[4]; + if (*text == ':') + text++; + + if (serv->have_idmsg) + { + if (*text == '+') + { + id = TRUE; + text++; + } else if (*text == '-') + text++; + } + + if (!ignore_check (word[1], IG_NOTI)) + inbound_notice (serv, word[3], nick, text, ip, id); + } + return; + + case WORDL('P','R','I','V'): + { + char *to = word[3]; + int len; + int id = FALSE; /* identified */ + if (*to) + { + text = word_eol[4]; + if (*text == ':') + text++; + if (serv->have_idmsg) + { + if (*text == '+') + { + id = TRUE; + text++; + } else if (*text == '-') + text++; + } + len = strlen (text); + if (text[0] == 1 && text[len - 1] == 1) /* ctcp */ + { + text[len - 1] = 0; + text++; + if (strncasecmp (text, "ACTION", 6) != 0) + flood_check (nick, ip, serv, sess, 0); + if (strncasecmp (text, "DCC ", 4) == 0) + /* redo this with handle_quotes TRUE */ + process_data_init (word[1], word_eol[1], word, word_eol, TRUE, FALSE); + ctcp_handle (sess, to, nick, ip, text, word, word_eol, id); + } else + { + if (is_channel (serv, to)) + { + if (ignore_check (word[1], IG_CHAN)) + return; + inbound_chanmsg (serv, NULL, to, nick, text, FALSE, id); + } else + { + if (ignore_check (word[1], IG_PRIV)) + return; + inbound_privmsg (serv, nick, ip, text, id); + } + } + } + } + return; + + case WORDL('T','O','P','I'): + inbound_topicnew (serv, nick, word[3], + (word_eol[4][0] == ':') ? word_eol[4] + 1 : word_eol[4]); + return; + + case WORDL('W','A','L','L'): + text = word_eol[3]; + if (*text == ':') + text++; + EMIT_SIGNAL (XP_TE_WALLOPS, sess, nick, text, NULL, NULL, 0); + return; + } + } + +garbage: + /* unknown message */ + PrintTextf (sess, "GARBAGE: %s\n", word_eol[1]); +} + +/* handle named messages that DON'T start with a ':' */ + +static void +process_named_servermsg (session *sess, char *buf, char *rawname, char *word_eol[]) +{ + sess = sess->server->server_session; + + if (!strncmp (buf, "PING ", 5)) + { + tcp_sendf (sess->server, "PONG %s\r\n", buf + 5); + return; + } + if (!strncmp (buf, "ERROR", 5)) + { + EMIT_SIGNAL (XP_TE_SERVERERROR, sess, buf + 7, NULL, NULL, NULL, 0); + return; + } + if (!strncmp (buf, "NOTICE ", 7)) + { + buf = word_eol[3]; + if (*buf == ':') + buf++; + EMIT_SIGNAL (XP_TE_SERVNOTICE, sess, buf, sess->server->servername, NULL, NULL, 0); + return; + } + + EMIT_SIGNAL (XP_TE_SERVTEXT, sess, buf, sess->server->servername, rawname, NULL, 0); +} + +/* irc_inline() - 1 single line received from serv */ + +static void +irc_inline (server *serv, char *buf, int len) +{ + session *sess, *tmp; + char *type, *text; + char *word[PDIWORDS+1]; + char *word_eol[PDIWORDS+1]; + char pdibuf_static[522]; /* 1 line can potentially be 512*6 in utf8 */ + char *pdibuf = pdibuf_static; + + /* need more than 522? fall back to malloc */ + if (len >= sizeof (pdibuf_static)) + pdibuf = malloc (len + 1); + + sess = serv->front_session; + + /* Python relies on this */ + word[PDIWORDS] = NULL; + word_eol[PDIWORDS] = NULL; + + if (buf[0] == ':') + { + /* split line into words and words_to_end_of_line */ + process_data_init (pdibuf, buf, word, word_eol, FALSE, FALSE); + + /* find a context for this message */ + if (is_channel (serv, word[3])) + { + tmp = find_channel (serv, word[3]); + if (tmp) + sess = tmp; + } + + /* for server messages, the 2nd word is the "message type" */ + type = word[2]; + + word[0] = type; + word_eol[1] = buf; /* keep the ":" for plugins */ + if (plugin_emit_server (sess, type, word, word_eol)) + goto xit; + word[1]++; + word_eol[1] = buf + 1; /* but not for xchat internally */ + + } else + { + process_data_init (pdibuf, buf, word, word_eol, FALSE, FALSE); + word[0] = type = word[1]; + if (plugin_emit_server (sess, type, word, word_eol)) + goto xit; + } + + if (buf[0] != ':') + { + process_named_servermsg (sess, buf, word[0], word_eol); + goto xit; + } + + /* see if the second word is a numeric */ + if (isdigit ((unsigned char) word[2][0])) + { + text = word_eol[4]; + if (*text == ':') + text++; + + process_numeric (sess, atoi (word[2]), word, word_eol, text); + } else + { + process_named_msg (sess, type, word, word_eol); + } + +xit: + if (pdibuf != pdibuf_static) + free (pdibuf); +} + +void +proto_fill_her_up (server *serv) +{ + serv->p_inline = irc_inline; + serv->p_invite = irc_invite; + serv->p_cycle = irc_cycle; + serv->p_ctcp = irc_ctcp; + serv->p_nctcp = irc_nctcp; + serv->p_quit = irc_quit; + serv->p_kick = irc_kick; + serv->p_part = irc_part; + serv->p_ns_identify = irc_ns_identify; + serv->p_ns_ghost = irc_ns_ghost; + serv->p_join = irc_join; + serv->p_join_list = irc_join_list; + serv->p_login = irc_login; + serv->p_join_info = irc_join_info; + serv->p_mode = irc_mode; + serv->p_user_list = irc_user_list; + serv->p_away_status = irc_away_status; + /*serv->p_get_ip = irc_get_ip;*/ + serv->p_whois = irc_user_whois; + serv->p_get_ip = irc_user_list; + serv->p_get_ip_uh = irc_userhost; + serv->p_set_back = irc_set_back; + serv->p_set_away = irc_set_away; + serv->p_message = irc_message; + serv->p_action = irc_action; + serv->p_notice = irc_notice; + serv->p_topic = irc_topic; + serv->p_list_channels = irc_list_channels; + serv->p_change_nick = irc_change_nick; + serv->p_names = irc_names; + serv->p_ping = irc_ping; + serv->p_raw = irc_raw; + serv->p_cmp = rfc_casecmp; /* can be changed by 005 in modes.c */ +} diff --git a/src/common/proto-irc.h b/src/common/proto-irc.h new file mode 100644 index 00000000..90803594 --- /dev/null +++ b/src/common/proto-irc.h @@ -0,0 +1,6 @@ +#ifndef XCHAT_PROTO_H +#define XCHAT_PROTO_H + +void proto_fill_her_up (server *serv); + +#endif diff --git a/src/common/server.c b/src/common/server.c new file mode 100644 index 00000000..dd43adff --- /dev/null +++ b/src/common/server.c @@ -0,0 +1,2047 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * + * MS Proxy (ISA server) support is (c) 2006 Pavel Fedin <sonic_amiga@rambler.ru> + * based on Dante source code + * Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + * Inferno Nettverk A/S, Norway. All rights reserved. + */ + +/*#define DEBUG_MSPROXY*/ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <unistd.h> +#include <errno.h> +#include <fcntl.h> + +#define WANTSOCKET +#define WANTARPA +#include "inet.h" + +#ifndef WIN32 +#include <signal.h> +#include <sys/wait.h> +#else +#include <winbase.h> +#endif + +#include "xchat.h" +#include "fe.h" +#include "cfgfiles.h" +#include "network.h" +#include "notify.h" +#include "xchatc.h" +#include "inbound.h" +#include "outbound.h" +#include "text.h" +#include "util.h" +#include "url.h" +#include "proto-irc.h" +#include "servlist.h" +#include "server.h" + +#ifdef USE_OPENSSL +#include <openssl/ssl.h> /* SSL_() */ +#include <openssl/err.h> /* ERR_() */ +#include "ssl.h" +#endif + +#ifdef USE_MSPROXY +#include "msproxy.h" +#endif + +#ifdef WIN32 +#include "identd.c" +#endif + +#ifdef USE_LIBPROXY +#include <proxy.h> +#endif + +#ifdef USE_OPENSSL +extern SSL_CTX *ctx; /* xchat.c */ +/* local variables */ +static struct session *g_sess = NULL; +#endif + +static GSList *away_list = NULL; +GSList *serv_list = NULL; + +static void auto_reconnect (server *serv, int send_quit, int err); +static void server_disconnect (session * sess, int sendquit, int err); +static int server_cleanup (server * serv); +static void server_connect (server *serv, char *hostname, int port, int no_login); + +#ifdef USE_LIBPROXY +extern pxProxyFactory *libproxy_factory; +#endif + +/* actually send to the socket. This might do a character translation or + send via SSL. server/dcc both use this function. */ + +int +tcp_send_real (void *ssl, int sok, char *encoding, int using_irc, char *buf, int len) +{ + int ret; + char *locale; + gsize loc_len; + + if (encoding == NULL) /* system */ + { + locale = NULL; + if (!prefs.utf8_locale) + { + const gchar *charset; + + g_get_charset (&charset); + locale = g_convert_with_fallback (buf, len, charset, "UTF-8", + "?", 0, &loc_len, 0); + } + } else + { + if (using_irc) /* using "IRC" encoding (CP1252/UTF-8 hybrid) */ + /* if all chars fit inside CP1252, use that. Otherwise this + returns NULL and we send UTF-8. */ + locale = g_convert (buf, len, "CP1252", "UTF-8", 0, &loc_len, 0); + else + locale = g_convert_with_fallback (buf, len, encoding, "UTF-8", + "?", 0, &loc_len, 0); + } + + if (locale) + { + len = loc_len; +#ifdef USE_OPENSSL + if (!ssl) + ret = send (sok, locale, len, 0); + else + ret = _SSL_send (ssl, locale, len); +#else + ret = send (sok, locale, len, 0); +#endif + g_free (locale); + } else + { +#ifdef USE_OPENSSL + if (!ssl) + ret = send (sok, buf, len, 0); + else + ret = _SSL_send (ssl, buf, len); +#else + ret = send (sok, buf, len, 0); +#endif + } + + return ret; +} + +static int +server_send_real (server *serv, char *buf, int len) +{ + fe_add_rawlog (serv, buf, len, TRUE); + + return tcp_send_real (serv->ssl, serv->sok, serv->encoding, serv->using_irc, + buf, len); +} + +/* new throttling system, uses the same method as the Undernet + ircu2.10 server; under test, a 200-line paste didn't flood + off the client */ + +static int +tcp_send_queue (server *serv) +{ + char *buf, *p; + int len, i, pri; + GSList *list; + time_t now = time (0); + + /* did the server close since the timeout was added? */ + if (!is_server (serv)) + return 0; + + /* try priority 2,1,0 */ + pri = 2; + while (pri >= 0) + { + list = serv->outbound_queue; + while (list) + { + buf = (char *) list->data; + if (buf[0] == pri) + { + buf++; /* skip the priority byte */ + len = strlen (buf); + + if (serv->next_send < now) + serv->next_send = now; + if (serv->next_send - now >= 10) + { + /* check for clock skew */ + if (now >= serv->prev_now) + return 1; /* don't remove the timeout handler */ + /* it is skewed, reset to something sane */ + serv->next_send = now; + } + + for (p = buf, i = len; i && *p != ' '; p++, i--); + serv->next_send += (2 + i / 120); + serv->sendq_len -= len; + serv->prev_now = now; + fe_set_throttle (serv); + + server_send_real (serv, buf, len); + + buf--; + serv->outbound_queue = g_slist_remove (serv->outbound_queue, buf); + free (buf); + list = serv->outbound_queue; + } else + { + list = list->next; + } + } + /* now try pri 0 */ + pri--; + } + return 0; /* remove the timeout handler */ +} + +int +tcp_send_len (server *serv, char *buf, int len) +{ + char *dbuf; + int noqueue = !serv->outbound_queue; + + if (!prefs.throttle) + return server_send_real (serv, buf, len); + + dbuf = malloc (len + 2); /* first byte is the priority */ + dbuf[0] = 2; /* pri 2 for most things */ + memcpy (dbuf + 1, buf, len); + dbuf[len + 1] = 0; + + /* privmsg and notice get a lower priority */ + if (strncasecmp (dbuf + 1, "PRIVMSG", 7) == 0 || + strncasecmp (dbuf + 1, "NOTICE", 6) == 0) + { + dbuf[0] = 1; + } + else + { + /* WHO/MODE get the lowest priority */ + if (strncasecmp (dbuf + 1, "WHO ", 4) == 0 || + /* but only MODE queries, not changes */ + (strncasecmp (dbuf + 1, "MODE", 4) == 0 && + strchr (dbuf, '-') == NULL && + strchr (dbuf, '+') == NULL)) + dbuf[0] = 0; + } + + serv->outbound_queue = g_slist_append (serv->outbound_queue, dbuf); + serv->sendq_len += len; /* tcp_send_queue uses strlen */ + + if (tcp_send_queue (serv) && noqueue) + fe_timeout_add (500, tcp_send_queue, serv); + + return 1; +} + +/*int +tcp_send (server *serv, char *buf) +{ + return tcp_send_len (serv, buf, strlen (buf)); +}*/ + +void +tcp_sendf (server *serv, char *fmt, ...) +{ + va_list args; + /* keep this buffer in BSS. Converting UTF-8 to ISO-8859-x might make the + string shorter, so allow alot more than 512 for now. */ + static char send_buf[1540]; /* good code hey (no it's not overflowable) */ + int len; + + va_start (args, fmt); + len = vsnprintf (send_buf, sizeof (send_buf) - 1, fmt, args); + va_end (args); + + send_buf[sizeof (send_buf) - 1] = '\0'; + if (len < 0 || len > (sizeof (send_buf) - 1)) + len = strlen (send_buf); + + tcp_send_len (serv, send_buf, len); +} + +static int +close_socket_cb (gpointer sok) +{ + closesocket (GPOINTER_TO_INT (sok)); + return 0; +} + +static void +close_socket (int sok) +{ + /* close the socket in 5 seconds so the QUIT message is not lost */ + fe_timeout_add (5000, close_socket_cb, GINT_TO_POINTER (sok)); +} + +/* handle 1 line of text received from the server */ + +static void +server_inline (server *serv, char *line, int len) +{ + char *utf_line_allocated = NULL; + + /* Checks whether we're set to use UTF-8 charset */ + if (serv->using_irc || /* 1. using CP1252/UTF-8 Hybrid */ + (serv->encoding == NULL && prefs.utf8_locale) || /* OR 2. using system default->UTF-8 */ + (serv->encoding != NULL && /* OR 3. explicitly set to UTF-8 */ + (strcasecmp (serv->encoding, "UTF8") == 0 || + strcasecmp (serv->encoding, "UTF-8") == 0))) + { + /* The user has the UTF-8 charset set, either via /charset + command or from his UTF-8 locale. Thus, we first try the + UTF-8 charset, and if we fail to convert, we assume + it to be ISO-8859-1 (see text_validate). */ + + utf_line_allocated = text_validate (&line, &len); + + } else + { + /* Since the user has an explicit charset set, either + via /charset command or from his non-UTF8 locale, + we don't fallback to ISO-8859-1 and instead try to remove + errnoeous octets till the string is convertable in the + said charset. */ + + const char *encoding = NULL; + + if (serv->encoding != NULL) + encoding = serv->encoding; + else + g_get_charset (&encoding); + + if (encoding != NULL) + { + char *conv_line; /* holds a copy of the original string */ + int conv_len; /* tells g_convert how much of line to convert */ + gsize utf_len; + gsize read_len; + GError *err; + gboolean retry; + + conv_line = g_malloc (len + 1); + memcpy (conv_line, line, len); + conv_line[len] = 0; + conv_len = len; + + /* if CP1255, convert it with the NUL terminator. + Works around SF bug #1122089 */ + if (serv->using_cp1255) + conv_len++; + + do + { + err = NULL; + retry = FALSE; + utf_line_allocated = g_convert_with_fallback (conv_line, conv_len, "UTF-8", encoding, "?", &read_len, &utf_len, &err); + if (err != NULL) + { + if (err->code == G_CONVERT_ERROR_ILLEGAL_SEQUENCE && conv_len > (read_len + 1)) + { + /* Make our best bet by removing the erroneous char. + This will work for casual 8-bit strings with non-standard chars. */ + memmove (conv_line + read_len, conv_line + read_len + 1, conv_len - read_len -1); + conv_len--; + retry = TRUE; + } + g_error_free (err); + } + } while (retry); + + g_free (conv_line); + + /* If any conversion has occured at all. Conversion might fail + due to errors other than invalid sequences, e.g. unknown charset. */ + if (utf_line_allocated != NULL) + { + line = utf_line_allocated; + len = utf_len; + if (serv->using_cp1255 && len > 0) + len--; + } + else + { + /* If all fails, treat as UTF-8 with fallback to ISO-8859-1. */ + utf_line_allocated = text_validate (&line, &len); + } + } + } + + fe_add_rawlog (serv, line, len, FALSE); + url_check_line (line, len); + + /* let proto-irc.c handle it */ + serv->p_inline (serv, line, len); + + if (utf_line_allocated != NULL) /* only if a special copy was allocated */ + g_free (utf_line_allocated); +} + +/* read data from socket */ + +static gboolean +server_read (GIOChannel *source, GIOCondition condition, server *serv) +{ + int sok = serv->sok; + int error, i, len; + char lbuf[2050]; + + while (1) + { +#ifdef USE_OPENSSL + if (!serv->ssl) +#endif + len = recv (sok, lbuf, sizeof (lbuf) - 2, 0); +#ifdef USE_OPENSSL + else + len = _SSL_recv (serv->ssl, lbuf, sizeof (lbuf) - 2); +#endif + if (len < 1) + { + error = 0; + if (len < 0) + { + if (would_block ()) + return TRUE; + error = sock_error (); + } + if (!serv->end_of_motd) + { + server_disconnect (serv->server_session, FALSE, error); + if (!servlist_cycle (serv)) + { + if (prefs.autoreconnect) + auto_reconnect (serv, FALSE, error); + } + } else + { + if (prefs.autoreconnect) + auto_reconnect (serv, FALSE, error); + else + server_disconnect (serv->server_session, FALSE, error); + } + return TRUE; + } + + i = 0; + + lbuf[len] = 0; + + while (i < len) + { + switch (lbuf[i]) + { + case '\r': + break; + + case '\n': + serv->linebuf[serv->pos] = 0; + server_inline (serv, serv->linebuf, serv->pos); + serv->pos = 0; + break; + + default: + serv->linebuf[serv->pos] = lbuf[i]; + if (serv->pos >= (sizeof (serv->linebuf) - 1)) + fprintf (stderr, + "*** XCHAT WARNING: Buffer overflow - shit server!\n"); + else + serv->pos++; + } + i++; + } + } +} + +static void +server_connected (server * serv) +{ + prefs.wait_on_exit = TRUE; + serv->ping_recv = time (0); + serv->connected = TRUE; + set_nonblocking (serv->sok); + serv->iotag = fe_input_add (serv->sok, FIA_READ|FIA_EX, server_read, serv); + if (!serv->no_login) + { + EMIT_SIGNAL (XP_TE_CONNECTED, serv->server_session, NULL, NULL, NULL, + NULL, 0); + if (serv->network) + { + serv->p_login (serv, + (!(((ircnet *)serv->network)->flags & FLAG_USE_GLOBAL) && + (((ircnet *)serv->network)->user)) ? + (((ircnet *)serv->network)->user) : + prefs.username, + (!(((ircnet *)serv->network)->flags & FLAG_USE_GLOBAL) && + (((ircnet *)serv->network)->real)) ? + (((ircnet *)serv->network)->real) : + prefs.realname); + } else + { + serv->p_login (serv, prefs.username, prefs.realname); + } + } else + { + EMIT_SIGNAL (XP_TE_SERVERCONNECTED, serv->server_session, NULL, NULL, + NULL, NULL, 0); + } + + server_set_name (serv, serv->servername); + fe_server_event (serv, FE_SE_CONNECT, 0); +} + +#ifdef WIN32 + +static gboolean +server_close_pipe (int *pipefd) /* see comments below */ +{ + close (pipefd[0]); /* close WRITE end first to cause an EOF on READ */ + close (pipefd[1]); /* in giowin32, and end that thread. */ + free (pipefd); + return FALSE; +} + +#endif + +static void +server_stopconnecting (server * serv) +{ + if (serv->iotag) + { + fe_input_remove (serv->iotag); + serv->iotag = 0; + } + + if (serv->joindelay_tag) + { + fe_timeout_remove (serv->joindelay_tag); + serv->joindelay_tag = 0; + } + +#ifndef WIN32 + /* kill the child process trying to connect */ + kill (serv->childpid, SIGKILL); + waitpid (serv->childpid, NULL, 0); + + close (serv->childwrite); + close (serv->childread); +#else + PostThreadMessage (serv->childpid, WM_QUIT, 0, 0); + + { + /* if we close the pipe now, giowin32 will crash. */ + int *pipefd = malloc (sizeof (int) * 2); + pipefd[0] = serv->childwrite; + pipefd[1] = serv->childread; + g_idle_add ((GSourceFunc)server_close_pipe, pipefd); + } +#endif + +#ifdef USE_OPENSSL + if (serv->ssl_do_connect_tag) + { + fe_timeout_remove (serv->ssl_do_connect_tag); + serv->ssl_do_connect_tag = 0; + } +#endif + + fe_progressbar_end (serv); + + serv->connecting = FALSE; + fe_server_event (serv, FE_SE_DISCONNECT, 0); +} + +#ifdef USE_OPENSSL +#define SSLTMOUT 90 /* seconds */ +static void +ssl_cb_info (SSL * s, int where, int ret) +{ +/* char buf[128];*/ + + + return; /* FIXME: make debug level adjustable in serverlist or settings */ + +/* snprintf (buf, sizeof (buf), "%s (%d)", SSL_state_string_long (s), where); + if (g_sess) + EMIT_SIGNAL (XP_TE_SSLMESSAGE, g_sess, buf, NULL, NULL, NULL, 0); + else + fprintf (stderr, "%s\n", buf);*/ +} + +static int +ssl_cb_verify (int ok, X509_STORE_CTX * ctx) +{ + char subject[256]; + char issuer[256]; + char buf[512]; + + + X509_NAME_oneline (X509_get_subject_name (ctx->current_cert), subject, + sizeof (subject)); + X509_NAME_oneline (X509_get_issuer_name (ctx->current_cert), issuer, + sizeof (issuer)); + + snprintf (buf, sizeof (buf), "* Subject: %s", subject); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, g_sess, buf, NULL, NULL, NULL, 0); + snprintf (buf, sizeof (buf), "* Issuer: %s", issuer); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, g_sess, buf, NULL, NULL, NULL, 0); + + return (TRUE); /* always ok */ +} + +static int +ssl_do_connect (server * serv) +{ + char buf[128]; + + g_sess = serv->server_session; + if (SSL_connect (serv->ssl) <= 0) + { + char err_buf[128]; + int err; + + g_sess = NULL; + if ((err = ERR_get_error ()) > 0) + { + ERR_error_string (err, err_buf); + snprintf (buf, sizeof (buf), "(%d) %s", err, err_buf); + EMIT_SIGNAL (XP_TE_CONNFAIL, serv->server_session, buf, NULL, + NULL, NULL, 0); + + if (ERR_GET_REASON (err) == SSL_R_WRONG_VERSION_NUMBER) + PrintText (serv->server_session, _("Are you sure this is a SSL capable server and port?\n")); + + server_cleanup (serv); + + if (prefs.autoreconnectonfail) + auto_reconnect (serv, FALSE, -1); + + return (0); /* remove it (0) */ + } + } + g_sess = NULL; + + if (SSL_is_init_finished (serv->ssl)) + { + struct cert_info cert_info; + struct chiper_info *chiper_info; + int verify_error; + int i; + + if (!_SSL_get_cert_info (&cert_info, serv->ssl)) + { + snprintf (buf, sizeof (buf), "* Certification info:"); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + snprintf (buf, sizeof (buf), " Subject:"); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + for (i = 0; cert_info.subject_word[i]; i++) + { + snprintf (buf, sizeof (buf), " %s", cert_info.subject_word[i]); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + } + snprintf (buf, sizeof (buf), " Issuer:"); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + for (i = 0; cert_info.issuer_word[i]; i++) + { + snprintf (buf, sizeof (buf), " %s", cert_info.issuer_word[i]); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + } + snprintf (buf, sizeof (buf), " Public key algorithm: %s (%d bits)", + cert_info.algorithm, cert_info.algorithm_bits); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + /*if (cert_info.rsa_tmp_bits) + { + snprintf (buf, sizeof (buf), + " Public key algorithm uses ephemeral key with %d bits", + cert_info.rsa_tmp_bits); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + }*/ + snprintf (buf, sizeof (buf), " Sign algorithm %s", + cert_info.sign_algorithm/*, cert_info.sign_algorithm_bits*/); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + snprintf (buf, sizeof (buf), " Valid since %s to %s", + cert_info.notbefore, cert_info.notafter); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + } else + { + snprintf (buf, sizeof (buf), " * No Certificate"); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + } + + chiper_info = _SSL_get_cipher_info (serv->ssl); /* static buffer */ + snprintf (buf, sizeof (buf), "* Cipher info:"); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, NULL, + 0); + snprintf (buf, sizeof (buf), " Version: %s, cipher %s (%u bits)", + chiper_info->version, chiper_info->chiper, + chiper_info->chiper_bits); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, NULL, + 0); + + verify_error = SSL_get_verify_result (serv->ssl); + switch (verify_error) + { + case X509_V_OK: + /* snprintf (buf, sizeof (buf), "* Verify OK (?)"); */ + /* EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, NULL, 0); */ + break; + case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: + case X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: + case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: + case X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: + case X509_V_ERR_CERT_HAS_EXPIRED: + if (serv->accept_invalid_cert) + { + snprintf (buf, sizeof (buf), "* Verify E: %s.? (%d) -- Ignored", + X509_verify_cert_error_string (verify_error), + verify_error); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + break; + } + default: + snprintf (buf, sizeof (buf), "%s.? (%d)", + X509_verify_cert_error_string (verify_error), + verify_error); + EMIT_SIGNAL (XP_TE_CONNFAIL, serv->server_session, buf, NULL, NULL, + NULL, 0); + + server_cleanup (serv); + + return (0); + } + + server_stopconnecting (serv); + + /* activate gtk poll */ + server_connected (serv); + + return (0); /* remove it (0) */ + } else + { + if (serv->ssl->session && serv->ssl->session->time + SSLTMOUT < time (NULL)) + { + snprintf (buf, sizeof (buf), "SSL handshake timed out"); + EMIT_SIGNAL (XP_TE_CONNFAIL, serv->server_session, buf, NULL, + NULL, NULL, 0); + server_cleanup (serv); /* ->connecting = FALSE */ + + if (prefs.autoreconnectonfail) + auto_reconnect (serv, FALSE, -1); + + return (0); /* remove it (0) */ + } + + return (1); /* call it more (1) */ + } +} +#endif + +static int +timeout_auto_reconnect (server *serv) +{ + if (is_server (serv)) /* make sure it hasnt been closed during the delay */ + { + serv->recondelay_tag = 0; + if (!serv->connected && !serv->connecting && serv->server_session) + { + server_connect (serv, serv->hostname, serv->port, FALSE); + } + } + return 0; /* returning 0 should remove the timeout handler */ +} + +static void +auto_reconnect (server *serv, int send_quit, int err) +{ + session *s; + GSList *list; + int del; + + if (serv->server_session == NULL) + return; + + list = sess_list; + while (list) /* make sure auto rejoin can work */ + { + s = list->data; + if (s->type == SESS_CHANNEL && s->channel[0]) + { + strcpy (s->waitchannel, s->channel); + strcpy (s->willjoinchannel, s->channel); + } + list = list->next; + } + + if (serv->connected) + server_disconnect (serv->server_session, send_quit, err); + + del = prefs.recon_delay * 1000; + if (del < 1000) + del = 500; /* so it doesn't block the gui */ + +#ifndef WIN32 + if (err == -1 || err == 0 || err == ECONNRESET || err == ETIMEDOUT) +#else + if (err == -1 || err == 0 || err == WSAECONNRESET || err == WSAETIMEDOUT) +#endif + serv->reconnect_away = serv->is_away; + + /* is this server in a reconnect delay? remove it! */ + if (serv->recondelay_tag) + { + fe_timeout_remove (serv->recondelay_tag); + serv->recondelay_tag = 0; + } + + serv->recondelay_tag = fe_timeout_add (del, timeout_auto_reconnect, serv); + fe_server_event (serv, FE_SE_RECONDELAY, del); +} + +static void +server_flush_queue (server *serv) +{ + list_free (&serv->outbound_queue); + serv->sendq_len = 0; + fe_set_throttle (serv); +} + +#ifdef WIN32 + +static int +waitline2 (GIOChannel *source, char *buf, int bufsize) +{ + int i = 0; + int len; + + while (1) + { + if (g_io_channel_read (source, &buf[i], 1, &len) != G_IO_ERROR_NONE) + return -1; + if (buf[i] == '\n' || bufsize == i + 1) + { + buf[i] = 0; + return i; + } + i++; + } +} + +#else + +#define waitline2(source,buf,size) waitline(serv->childread,buf,size,0) + +#endif + +/* connect() successed */ + +static void +server_connect_success (server *serv) +{ +#ifdef USE_OPENSSL +#define SSLDOCONNTMOUT 300 + if (serv->use_ssl) + { + char *err; + + /* it'll be a memory leak, if connection isn't terminated by + server_cleanup() */ + serv->ssl = _SSL_socket (ctx, serv->sok); + if ((err = _SSL_set_verify (ctx, ssl_cb_verify, NULL))) + { + EMIT_SIGNAL (XP_TE_CONNFAIL, serv->server_session, err, NULL, + NULL, NULL, 0); + server_cleanup (serv); /* ->connecting = FALSE */ + return; + } + /* FIXME: it'll be needed by new servers */ + /* send(serv->sok, "STLS\r\n", 6, 0); sleep(1); */ + set_nonblocking (serv->sok); + serv->ssl_do_connect_tag = fe_timeout_add (SSLDOCONNTMOUT, + ssl_do_connect, serv); + return; + } + + serv->ssl = NULL; +#endif + server_stopconnecting (serv); /* ->connecting = FALSE */ + /* activate glib poll */ + server_connected (serv); +} + +/* receive info from the child-process about connection progress */ + +static gboolean +server_read_child (GIOChannel *source, GIOCondition condition, server *serv) +{ + session *sess = serv->server_session; + char tbuf[128]; + char outbuf[512]; + char host[100]; + char ip[100]; + char *p; + + waitline2 (source, tbuf, sizeof tbuf); + + switch (tbuf[0]) + { + case '0': /* print some text */ + waitline2 (source, tbuf, sizeof tbuf); + PrintText (serv->server_session, tbuf); + break; + case '1': /* unknown host */ + server_stopconnecting (serv); + closesocket (serv->sok4); + if (serv->proxy_sok4 != -1) + closesocket (serv->proxy_sok4); +#ifdef USE_IPV6 + if (serv->sok6 != -1) + closesocket (serv->sok6); + if (serv->proxy_sok6 != -1) + closesocket (serv->proxy_sok6); +#endif + EMIT_SIGNAL (XP_TE_UKNHOST, sess, NULL, NULL, NULL, NULL, 0); + if (!servlist_cycle (serv)) + if (prefs.autoreconnectonfail) + auto_reconnect (serv, FALSE, -1); + break; + case '2': /* connection failed */ + waitline2 (source, tbuf, sizeof tbuf); + server_stopconnecting (serv); + closesocket (serv->sok4); + if (serv->proxy_sok4 != -1) + closesocket (serv->proxy_sok4); +#ifdef USE_IPV6 + if (serv->sok6 != -1) + closesocket (serv->sok6); + if (serv->proxy_sok6 != -1) + closesocket (serv->proxy_sok6); +#endif + EMIT_SIGNAL (XP_TE_CONNFAIL, sess, errorstring (atoi (tbuf)), NULL, + NULL, NULL, 0); + if (!servlist_cycle (serv)) + if (prefs.autoreconnectonfail) + auto_reconnect (serv, FALSE, -1); + break; + case '3': /* gethostbyname finished */ + waitline2 (source, host, sizeof host); + waitline2 (source, ip, sizeof ip); + waitline2 (source, outbuf, sizeof outbuf); + EMIT_SIGNAL (XP_TE_CONNECT, sess, host, ip, outbuf, NULL, 0); +#ifdef WIN32 + if (prefs.identd) + { + if (serv->network) + identd_start ((((ircnet *)serv->network)->user) ? + (((ircnet *)serv->network)->user) : + prefs.username); + else + identd_start (prefs.username); + } +#else + snprintf (outbuf, sizeof (outbuf), "%s/auth/xchat_auth", + g_get_home_dir ()); + if (access (outbuf, X_OK) == 0) + { + snprintf (outbuf, sizeof (outbuf), "exec -d %s/auth/xchat_auth %s", + g_get_home_dir (), prefs.username); + handle_command (serv->server_session, outbuf, FALSE); + } +#endif + break; + case '4': /* success */ + waitline2 (source, tbuf, sizeof (tbuf)); +#ifdef USE_MSPROXY + serv->sok = strtol (tbuf, &p, 10); + if (*p++ == ' ') + { + serv->proxy_sok = strtol (p, &p, 10); + serv->msp_state.clientid = strtol (++p, &p, 10); + serv->msp_state.serverid = strtol (++p, &p, 10); + serv->msp_state.seq_sent = atoi (++p); + } else + serv->proxy_sok = -1; +#ifdef DEBUG_MSPROXY + printf ("Parent got main socket: %d, proxy socket: %d\n", serv->sok, serv->proxy_sok); + printf ("Client ID 0x%08x server ID 0x%08x seq_sent %d\n", serv->msp_state.clientid, serv->msp_state.serverid, serv->msp_state.seq_sent); +#endif +#else + serv->sok = atoi (tbuf); +#endif +#ifdef USE_IPV6 + /* close the one we didn't end up using */ + if (serv->sok == serv->sok4) + closesocket (serv->sok6); + else + closesocket (serv->sok4); + if (serv->proxy_sok != -1) + { + if (serv->proxy_sok == serv->proxy_sok4) + closesocket (serv->proxy_sok6); + else + closesocket (serv->proxy_sok4); + } +#endif + server_connect_success (serv); + break; + case '5': /* prefs ip discovered */ + waitline2 (source, tbuf, sizeof tbuf); + prefs.local_ip = inet_addr (tbuf); + break; + case '7': /* gethostbyname (prefs.hostname) failed */ + sprintf (outbuf, + _("Cannot resolve hostname %s\nCheck your IP Settings!\n"), + prefs.hostname); + PrintText (sess, outbuf); + break; + case '8': + PrintText (sess, _("Proxy traversal failed.\n")); + server_disconnect (sess, FALSE, -1); + break; + case '9': + waitline2 (source, tbuf, sizeof tbuf); + EMIT_SIGNAL (XP_TE_SERVERLOOKUP, sess, tbuf, NULL, NULL, NULL, 0); + break; + } + + return TRUE; +} + +/* kill all sockets & iotags of a server. Stop a connection attempt, or + disconnect if already connected. */ + +static int +server_cleanup (server * serv) +{ + fe_set_lag (serv, 0.0); + + if (serv->iotag) + { + fe_input_remove (serv->iotag); + serv->iotag = 0; + } + + if (serv->joindelay_tag) + { + fe_timeout_remove (serv->joindelay_tag); + serv->joindelay_tag = 0; + } + +#ifdef USE_OPENSSL + if (serv->ssl) + { + _SSL_close (serv->ssl); + serv->ssl = NULL; + } +#endif + + if (serv->connecting) + { + server_stopconnecting (serv); + closesocket (serv->sok4); + if (serv->proxy_sok4 != -1) + closesocket (serv->proxy_sok4); + if (serv->sok6 != -1) + closesocket (serv->sok6); + if (serv->proxy_sok6 != -1) + closesocket (serv->proxy_sok6); + return 1; + } + + if (serv->connected) + { + close_socket (serv->sok); + if (serv->proxy_sok) + close_socket (serv->proxy_sok); + serv->connected = FALSE; + serv->end_of_motd = FALSE; + return 2; + } + + /* is this server in a reconnect delay? remove it! */ + if (serv->recondelay_tag) + { + fe_timeout_remove (serv->recondelay_tag); + serv->recondelay_tag = 0; + return 3; + } + + return 0; +} + +static void +server_disconnect (session * sess, int sendquit, int err) +{ + server *serv = sess->server; + GSList *list; + char tbuf[64]; + gboolean shutup = FALSE; + + /* send our QUIT reason */ + if (sendquit && serv->connected) + { + server_sendquit (sess); + } + + fe_server_event (serv, FE_SE_DISCONNECT, 0); + + /* close all sockets & io tags */ + switch (server_cleanup (serv)) + { + case 0: /* it wasn't even connected! */ + notc_msg (sess); + return; + case 1: /* it was in the process of connecting */ + sprintf (tbuf, "%d", sess->server->childpid); + EMIT_SIGNAL (XP_TE_STOPCONNECT, sess, tbuf, NULL, NULL, NULL, 0); + return; + case 3: + shutup = TRUE; /* won't print "disconnected" in channels */ + } + + server_flush_queue (serv); + + list = sess_list; + while (list) + { + sess = (struct session *) list->data; + if (sess->server == serv) + { + if (!shutup || sess->type == SESS_SERVER) + /* print "Disconnected" to each window using this server */ + EMIT_SIGNAL (XP_TE_DISCON, sess, errorstring (err), NULL, NULL, NULL, 0); + + if (!sess->channel[0] || sess->type == SESS_CHANNEL) + clear_channel (sess); + } + list = list->next; + } + + serv->pos = 0; + serv->motd_skipped = FALSE; + serv->no_login = FALSE; + serv->servername[0] = 0; + serv->lag_sent = 0; + + notify_cleanup (); +} + +/* send a "print text" command to the parent process - MUST END IN \n! */ + +static void +proxy_error (int fd, char *msg) +{ + write (fd, "0\n", 2); + write (fd, msg, strlen (msg)); +} + +struct sock_connect +{ + char version; + char type; + guint16 port; + guint32 address; + char username[10]; +}; + +/* traverse_socks() returns: + * 0 success * + * 1 socks traversal failed */ + +static int +traverse_socks (int print_fd, int sok, char *serverAddr, int port) +{ + struct sock_connect sc; + unsigned char buf[256]; + + sc.version = 4; + sc.type = 1; + sc.port = htons (port); + sc.address = inet_addr (serverAddr); + strncpy (sc.username, prefs.username, 9); + + send (sok, (char *) &sc, 8 + strlen (sc.username) + 1, 0); + buf[1] = 0; + recv (sok, buf, 10, 0); + if (buf[1] == 90) + return 0; + + snprintf (buf, sizeof (buf), "SOCKS\tServer reported error %d,%d.\n", buf[0], buf[1]); + proxy_error (print_fd, buf); + return 1; +} + +struct sock5_connect1 +{ + char version; + char nmethods; + char method; +}; + +static int +traverse_socks5 (int print_fd, int sok, char *serverAddr, int port) +{ + struct sock5_connect1 sc1; + unsigned char *sc2; + unsigned int packetlen, addrlen; + unsigned char buf[260]; + int auth = prefs.proxy_auth && prefs.proxy_user[0] && prefs.proxy_pass[0]; + + sc1.version = 5; + sc1.nmethods = 1; + if (auth) + sc1.method = 2; /* Username/Password Authentication (UPA) */ + else + sc1.method = 0; /* NO Authentication */ + send (sok, (char *) &sc1, 3, 0); + if (recv (sok, buf, 2, 0) != 2) + goto read_error; + + if (buf[0] != 5) + { + proxy_error (print_fd, "SOCKS\tServer is not socks version 5.\n"); + return 1; + } + + /* did the server say no auth required? */ + if (buf[1] == 0) + auth = 0; + + if (auth) + { + int len_u=0, len_p=0; + + /* authentication sub-negotiation (RFC1929) */ + if (buf[1] != 2) /* UPA not supported by server */ + { + proxy_error (print_fd, "SOCKS\tServer doesn't support UPA authentication.\n"); + return 1; + } + + memset (buf, 0, sizeof(buf)); + + /* form the UPA request */ + len_u = strlen (prefs.proxy_user); + len_p = strlen (prefs.proxy_pass); + buf[0] = 1; + buf[1] = len_u; + memcpy (buf + 2, prefs.proxy_user, len_u); + buf[2 + len_u] = len_p; + memcpy (buf + 3 + len_u, prefs.proxy_pass, len_p); + + send (sok, buf, 3 + len_u + len_p, 0); + if ( recv (sok, buf, 2, 0) != 2 ) + goto read_error; + if ( buf[1] != 0 ) + { + proxy_error (print_fd, "SOCKS\tAuthentication failed. " + "Is username and password correct?\n"); + return 1; /* UPA failed! */ + } + } + else + { + if (buf[1] != 0) + { + proxy_error (print_fd, "SOCKS\tAuthentication required but disabled in settings.\n"); + return 1; + } + } + + addrlen = strlen (serverAddr); + packetlen = 4 + 1 + addrlen + 2; + sc2 = malloc (packetlen); + sc2[0] = 5; /* version */ + sc2[1] = 1; /* command */ + sc2[2] = 0; /* reserved */ + sc2[3] = 3; /* address type */ + sc2[4] = (unsigned char) addrlen; /* hostname length */ + memcpy (sc2 + 5, serverAddr, addrlen); + *((unsigned short *) (sc2 + 5 + addrlen)) = htons (port); + send (sok, sc2, packetlen, 0); + free (sc2); + + /* consume all of the reply */ + if (recv (sok, buf, 4, 0) != 4) + goto read_error; + if (buf[0] != 5 || buf[1] != 0) + { + if (buf[1] == 2) + snprintf (buf, sizeof (buf), "SOCKS\tProxy refused to connect to host (not allowed).\n"); + else + snprintf (buf, sizeof (buf), "SOCKS\tProxy failed to connect to host (error %d).\n", buf[1]); + proxy_error (print_fd, buf); + return 1; + } + if (buf[3] == 1) /* IPV4 32bit address */ + { + if (recv (sok, buf, 6, 0) != 6) + goto read_error; + } else if (buf[3] == 4) /* IPV6 128bit address */ + { + if (recv (sok, buf, 18, 0) != 18) + goto read_error; + } else if (buf[3] == 3) /* string, 1st byte is size */ + { + if (recv (sok, buf, 1, 0) != 1) /* read the string size */ + goto read_error; + packetlen = buf[0] + 2; /* can't exceed 260 */ + if (recv (sok, buf, packetlen, 0) != packetlen) + goto read_error; + } + + return 0; /* success */ + +read_error: + proxy_error (print_fd, "SOCKS\tRead error from server.\n"); + return 1; +} + +static int +traverse_wingate (int print_fd, int sok, char *serverAddr, int port) +{ + char buf[128]; + + snprintf (buf, sizeof (buf), "%s %d\r\n", serverAddr, port); + send (sok, buf, strlen (buf), 0); + + return 0; +} + +/* stuff for HTTP auth is here */ + +static void +three_to_four (char *from, char *to) +{ + static const char tab64[64]= + { + 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P', + 'Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f', + 'g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v', + 'w','x','y','z','0','1','2','3','4','5','6','7','8','9','+','/' + }; + + to[0] = tab64 [ (from[0] >> 2) & 63 ]; + to[1] = tab64 [ ((from[0] << 4) | (from[1] >> 4)) & 63 ]; + to[2] = tab64 [ ((from[1] << 2) | (from[2] >> 6)) & 63 ]; + to[3] = tab64 [ from[2] & 63 ]; +}; + +void +base64_encode (char *to, char *from, unsigned int len) +{ + while (len >= 3) + { + three_to_four (from, to); + len -= 3; + from += 3; + to += 4; + } + if (len) + { + char three[3]={0,0,0}; + int i=0; + for (i=0;i<len;i++) + three[i] = *from++; + three_to_four (three, to); + if (len == 1) + to[2] = to[3] = '='; + else if (len == 2) + to[3] = '='; + to += 4; + }; + to[0] = 0; +} + +static int +http_read_line (int print_fd, int sok, char *buf, int len) +{ +#ifdef WIN32 + /* make sure waitline() uses recv() or it'll fail on win32 */ + len = waitline (sok, buf, len, FALSE); +#else + len = waitline (sok, buf, len, TRUE); +#endif + if (len >= 1) + { + /* print the message out (send it to the parent process) */ + write (print_fd, "0\n", 2); + + if (buf[len-1] == '\r') + { + buf[len-1] = '\n'; + write (print_fd, buf, len); + } else + { + write (print_fd, buf, len); + write (print_fd, "\n", 1); + } + } + + return len; +} + +static int +traverse_http (int print_fd, int sok, char *serverAddr, int port) +{ + char buf[512]; + char auth_data[256]; + char auth_data2[252]; + int n, n2; + + n = snprintf (buf, sizeof (buf), "CONNECT %s:%d HTTP/1.0\r\n", + serverAddr, port); + if (prefs.proxy_auth) + { + n2 = snprintf (auth_data2, sizeof (auth_data2), "%s:%s", + prefs.proxy_user, prefs.proxy_pass); + base64_encode (auth_data, auth_data2, n2); + n += snprintf (buf+n, sizeof (buf)-n, "Proxy-Authorization: Basic %s\r\n", auth_data); + } + n += snprintf (buf+n, sizeof (buf)-n, "\r\n"); + send (sok, buf, n, 0); + + n = http_read_line (print_fd, sok, buf, sizeof (buf)); + /* "HTTP/1.0 200 OK" */ + if (n < 12) + return 1; + if (memcmp (buf, "HTTP/", 5) || memcmp (buf + 9, "200", 3)) + return 1; + while (1) + { + /* read until blank line */ + n = http_read_line (print_fd, sok, buf, sizeof (buf)); + if (n < 1 || (n == 1 && buf[0] == '\n')) + break; + } + return 0; +} + +static int +traverse_proxy (int proxy_type, int print_fd, int sok, char *ip, int port, struct msproxy_state_t *state, netstore *ns_proxy, int csok4, int csok6, int *csok, char bound) +{ + switch (proxy_type) + { + case 1: + return traverse_wingate (print_fd, sok, ip, port); + case 2: + return traverse_socks (print_fd, sok, ip, port); + case 3: + return traverse_socks5 (print_fd, sok, ip, port); + case 4: + return traverse_http (print_fd, sok, ip, port); +#ifdef USE_MSPROXY + case 5: + return traverse_msproxy (sok, ip, port, state, ns_proxy, csok4, csok6, csok, bound); +#endif + } + + return 1; +} + +/* this is the child process making the connection attempt */ + +static int +server_child (server * serv) +{ + netstore *ns_server; + netstore *ns_proxy = NULL; + netstore *ns_local; + int port = serv->port; + int error; + int sok, psok; + char *hostname = serv->hostname; + char *real_hostname = NULL; + char *ip; + char *proxy_ip = NULL; + char *local_ip; + int connect_port; + char buf[512]; + char bound = 0; + int proxy_type = 0; + char *proxy_host = NULL; + int proxy_port; + + ns_server = net_store_new (); + + /* is a hostname set? - bind to it */ + if (prefs.hostname[0]) + { + ns_local = net_store_new (); + local_ip = net_resolve (ns_local, prefs.hostname, 0, &real_hostname); + if (local_ip != NULL) + { + snprintf (buf, sizeof (buf), "5\n%s\n", local_ip); + write (serv->childwrite, buf, strlen (buf)); + net_bind (ns_local, serv->sok4, serv->sok6); + bound = 1; + } else + { + write (serv->childwrite, "7\n", 2); + } + net_store_destroy (ns_local); + } + + if (!serv->dont_use_proxy) /* blocked in serverlist? */ + { + if (FALSE) + ; +#ifdef USE_LIBPROXY + else if (prefs.proxy_type == 5) + { + char **proxy_list; + char *url, *proxy; + + url = g_strdup_printf ("irc://%s:%d", hostname, port); + proxy_list = px_proxy_factory_get_proxies (libproxy_factory, url); + + if (proxy_list) { + /* can use only one */ + proxy = proxy_list[0]; + if (!strncmp (proxy, "direct", 6)) + proxy_type = 0; + else if (!strncmp (proxy, "http", 4)) + proxy_type = 4; + else if (!strncmp (proxy, "socks5", 6)) + proxy_type = 3; + else if (!strncmp (proxy, "socks", 5)) + proxy_type = 2; + } + + if (proxy_type) { + char *c; + c = strchr (proxy, ':') + 3; + proxy_host = strdup (c); + c = strchr (proxy_host, ':'); + *c = '\0'; + proxy_port = atoi (c + 1); + } + + g_strfreev (proxy_list); + g_free (url); +#endif + } else if (prefs.proxy_host[0] && + prefs.proxy_type > 0 && + prefs.proxy_use != 2) /* proxy is NOT dcc-only */ + { + proxy_type = prefs.proxy_type; + proxy_host = strdup (prefs.proxy_host); + proxy_port = prefs.proxy_port; + } + } + + serv->proxy_type = proxy_type; + + /* first resolve where we want to connect to */ + if (proxy_type > 0) + { + snprintf (buf, sizeof (buf), "9\n%s\n", proxy_host); + write (serv->childwrite, buf, strlen (buf)); + ip = net_resolve (ns_server, proxy_host, proxy_port, &real_hostname); + free (proxy_host); + if (!ip) + { + write (serv->childwrite, "1\n", 2); + goto xit; + } + connect_port = proxy_port; + + /* if using socks4 or MS Proxy, attempt to resolve ip for irc server */ + if ((proxy_type == 2) || (proxy_type == 5)) + { + ns_proxy = net_store_new (); + proxy_ip = net_resolve (ns_proxy, hostname, port, &real_hostname); + if (!proxy_ip) + { + write (serv->childwrite, "1\n", 2); + goto xit; + } + } else /* otherwise we can just use the hostname */ + proxy_ip = strdup (hostname); + } else + { + ip = net_resolve (ns_server, hostname, port, &real_hostname); + if (!ip) + { + write (serv->childwrite, "1\n", 2); + goto xit; + } + connect_port = port; + } + + snprintf (buf, sizeof (buf), "3\n%s\n%s\n%d\n", + real_hostname, ip, connect_port); + write (serv->childwrite, buf, strlen (buf)); + + if (!serv->dont_use_proxy && (proxy_type == 5)) + error = net_connect (ns_server, serv->proxy_sok4, serv->proxy_sok6, &psok); + else + { + error = net_connect (ns_server, serv->sok4, serv->sok6, &sok); + psok = sok; + } + + if (error != 0) + { + snprintf (buf, sizeof (buf), "2\n%d\n", sock_error ()); + write (serv->childwrite, buf, strlen (buf)); + } else + { + /* connect succeeded */ + if (proxy_ip) + { + switch (traverse_proxy (proxy_type, serv->childwrite, psok, proxy_ip, port, &serv->msp_state, ns_proxy, serv->sok4, serv->sok6, &sok, bound)) + { + case 0: /* success */ +#ifdef USE_MSPROXY + if (!serv->dont_use_proxy && (proxy_type == 5)) + snprintf (buf, sizeof (buf), "4\n%d %d %d %d %d\n", sok, psok, serv->msp_state.clientid, serv->msp_state.serverid, + serv->msp_state.seq_sent); + else +#endif + snprintf (buf, sizeof (buf), "4\n%d\n", sok); /* success */ + write (serv->childwrite, buf, strlen (buf)); + break; + case 1: /* socks traversal failed */ + write (serv->childwrite, "8\n", 2); + break; + } + } else + { + snprintf (buf, sizeof (buf), "4\n%d\n", sok); /* success */ + write (serv->childwrite, buf, strlen (buf)); + } + } + +xit: + +#if defined (USE_IPV6) || defined (WIN32) + /* this is probably not needed */ + net_store_destroy (ns_server); + if (ns_proxy) + net_store_destroy (ns_proxy); +#endif + + /* no need to free ip/real_hostname, this process is exiting */ +#ifdef WIN32 + /* under win32 we use a thread -> shared memory, must free! */ + if (proxy_ip) + free (proxy_ip); + if (ip) + free (ip); + if (real_hostname) + free (real_hostname); +#endif + + return 0; +} + +static void +server_connect (server *serv, char *hostname, int port, int no_login) +{ + int pid, read_des[2]; + session *sess = serv->server_session; + +#ifdef USE_OPENSSL + if (!ctx && serv->use_ssl) + { + if (!(ctx = _SSL_context_init (ssl_cb_info, FALSE))) + { + fprintf (stderr, "_SSL_context_init failed\n"); + exit (1); + } + } +#endif + + if (!hostname[0]) + return; + + if (port < 0) + { + /* use default port for this server type */ + port = 6667; +#ifdef USE_OPENSSL + if (serv->use_ssl) + port = 9999; +#endif + } + port &= 0xffff; /* wrap around */ + + if (serv->connected || serv->connecting || serv->recondelay_tag) + server_disconnect (sess, TRUE, -1); + + fe_progressbar_start (sess); + + EMIT_SIGNAL (XP_TE_SERVERLOOKUP, sess, hostname, NULL, NULL, NULL, 0); + + safe_strcpy (serv->servername, hostname, sizeof (serv->servername)); + /* overlap illegal in strncpy */ + if (hostname != serv->hostname) + safe_strcpy (serv->hostname, hostname, sizeof (serv->hostname)); + +#ifdef USE_OPENSSL + if (serv->use_ssl) + { + char cert_file[256]; + + /* first try network specific cert/key */ + snprintf (cert_file, sizeof (cert_file), "%s/%s.pem", + get_xdir_fs (), server_get_network (serv, TRUE)); + if (SSL_CTX_use_certificate_file (ctx, cert_file, SSL_FILETYPE_PEM) == 1) + SSL_CTX_use_PrivateKey_file (ctx, cert_file, SSL_FILETYPE_PEM); + else + { + /* if that doesn't exist, try ~/.xchat2/client.pem */ + snprintf (cert_file, sizeof (cert_file), "%s/%s.pem", + get_xdir_fs (), "client"); + if (SSL_CTX_use_certificate_file (ctx, cert_file, SSL_FILETYPE_PEM) == 1) + SSL_CTX_use_PrivateKey_file (ctx, cert_file, SSL_FILETYPE_PEM); + } + } +#endif + + server_set_defaults (serv); + serv->connecting = TRUE; + serv->port = port; + serv->no_login = no_login; + + fe_server_event (serv, FE_SE_CONNECTING, 0); + fe_set_away (serv); + server_flush_queue (serv); + +#ifdef WIN32 + if (_pipe (read_des, 4096, _O_BINARY) < 0) +#else + if (pipe (read_des) < 0) +#endif + return; +#ifdef __EMX__ /* os/2 */ + setmode (read_des[0], O_BINARY); + setmode (read_des[1], O_BINARY); +#endif + serv->childread = read_des[0]; + serv->childwrite = read_des[1]; + + /* create both sockets now, drop one later */ + net_sockets (&serv->sok4, &serv->sok6); +#ifdef USE_MSPROXY + /* In case of MS Proxy we have a separate UDP control connection */ + if (!serv->dont_use_proxy && (serv->proxy_type == 5)) + udp_sockets (&serv->proxy_sok4, &serv->proxy_sok6); + else +#endif + { + serv->proxy_sok4 = -1; + serv->proxy_sok6 = -1; + } + +#ifdef WIN32 + CloseHandle (CreateThread (NULL, 0, + (LPTHREAD_START_ROUTINE)server_child, + serv, 0, (DWORD *)&pid)); +#else +#ifdef LOOKUPD + rand(); /* CL: net_resolve calls rand() when LOOKUPD is set, so prepare a different seed for each child. This method giver a bigger variation in seed values than calling srand(time(0)) in the child itself. */ +#endif + switch (pid = fork ()) + { + case -1: + return; + + case 0: + /* this is the child */ + setuid (getuid ()); + server_child (serv); + _exit (0); + } +#endif + serv->childpid = pid; + serv->iotag = fe_input_add (serv->childread, FIA_READ, server_read_child, + serv); +} + +void +server_fill_her_up (server *serv) +{ + serv->connect = server_connect; + serv->disconnect = server_disconnect; + serv->cleanup = server_cleanup; + serv->flush_queue = server_flush_queue; + serv->auto_reconnect = auto_reconnect; + + proto_fill_her_up (serv); +} + +void +server_set_encoding (server *serv, char *new_encoding) +{ + char *space; + + if (serv->encoding) + { + free (serv->encoding); + /* can be left as NULL to indicate system encoding */ + serv->encoding = NULL; + serv->using_cp1255 = FALSE; + serv->using_irc = FALSE; + } + + if (new_encoding) + { + serv->encoding = strdup (new_encoding); + /* the serverlist GUI might have added a space + and short description - remove it. */ + space = strchr (serv->encoding, ' '); + if (space) + space[0] = 0; + + /* server_inline() uses these flags */ + if (!strcasecmp (serv->encoding, "CP1255") || + !strcasecmp (serv->encoding, "WINDOWS-1255")) + serv->using_cp1255 = TRUE; + else if (!strcasecmp (serv->encoding, "IRC")) + serv->using_irc = TRUE; + } +} + +server * +server_new (void) +{ + static int id = 0; + server *serv; + + serv = malloc (sizeof (struct server)); + memset (serv, 0, sizeof (struct server)); + + /* use server.c and proto-irc.c functions */ + server_fill_her_up (serv); + + serv->id = id++; + serv->sok = -1; + strcpy (serv->nick, prefs.nick1); + server_set_defaults (serv); + + serv_list = g_slist_prepend (serv_list, serv); + + fe_new_server (serv); + + return serv; +} + +int +is_server (server *serv) +{ + return g_slist_find (serv_list, serv) ? 1 : 0; +} + +void +server_set_defaults (server *serv) +{ + if (serv->chantypes) + free (serv->chantypes); + if (serv->chanmodes) + free (serv->chanmodes); + if (serv->nick_prefixes) + free (serv->nick_prefixes); + if (serv->nick_modes) + free (serv->nick_modes); + + serv->chantypes = strdup ("#&!+"); + serv->chanmodes = strdup ("beI,k,l"); + serv->nick_prefixes = strdup ("@%+"); + serv->nick_modes = strdup ("ohv"); + + serv->nickcount = 1; + serv->nickservtype = 1; + serv->end_of_motd = FALSE; + serv->is_away = FALSE; + serv->supports_watch = FALSE; + serv->bad_prefix = FALSE; + serv->use_who = TRUE; + serv->have_namesx = FALSE; + serv->have_uhnames = FALSE; + serv->have_whox = FALSE; + serv->have_capab = FALSE; + serv->have_idmsg = FALSE; + serv->have_except = FALSE; +} + +char * +server_get_network (server *serv, gboolean fallback) +{ + if (serv->network) + return ((ircnet *)serv->network)->name; + + if (fallback) + return serv->servername; + + return NULL; +} + +void +server_set_name (server *serv, char *name) +{ + GSList *list = sess_list; + session *sess; + + if (name[0] == 0) + name = serv->hostname; + + /* strncpy parameters must NOT overlap */ + if (name != serv->servername) + { + safe_strcpy (serv->servername, name, sizeof (serv->servername)); + } + + while (list) + { + sess = (session *) list->data; + if (sess->server == serv) + fe_set_title (sess); + list = list->next; + } + + if (serv->server_session->type == SESS_SERVER) + { + if (serv->network) + { + safe_strcpy (serv->server_session->channel, ((ircnet *)serv->network)->name, CHANLEN); + } else + { + safe_strcpy (serv->server_session->channel, name, CHANLEN); + } + fe_set_channel (serv->server_session); + } +} + +struct away_msg * +server_away_find_message (server *serv, char *nick) +{ + struct away_msg *away; + GSList *list = away_list; + while (list) + { + away = (struct away_msg *) list->data; + if (away->server == serv && !serv->p_cmp (nick, away->nick)) + return away; + list = list->next; + } + return NULL; +} + +static void +server_away_free_messages (server *serv) +{ + GSList *list, *next; + struct away_msg *away; + + list = away_list; + while (list) + { + away = list->data; + next = list->next; + if (away->server == serv) + { + away_list = g_slist_remove (away_list, away); + if (away->message) + free (away->message); + free (away); + next = away_list; + } + list = next; + } +} + +void +server_away_save_message (server *serv, char *nick, char *msg) +{ + struct away_msg *away = server_away_find_message (serv, nick); + + if (away) /* Change message for known user */ + { + if (away->message) + free (away->message); + away->message = strdup (msg); + } else + /* Create brand new entry */ + { + away = malloc (sizeof (struct away_msg)); + if (away) + { + away->server = serv; + safe_strcpy (away->nick, nick, sizeof (away->nick)); + away->message = strdup (msg); + away_list = g_slist_prepend (away_list, away); + } + } +} + +void +server_free (server *serv) +{ + serv->cleanup (serv); + + serv_list = g_slist_remove (serv_list, serv); + + dcc_notify_kill (serv); + serv->flush_queue (serv); + server_away_free_messages (serv); + + free (serv->nick_modes); + free (serv->nick_prefixes); + free (serv->chanmodes); + free (serv->chantypes); + if (serv->bad_nick_prefixes) + free (serv->bad_nick_prefixes); + if (serv->last_away_reason) + free (serv->last_away_reason); + if (serv->encoding) + free (serv->encoding); + if (serv->autojoin) + free (serv->autojoin); + + fe_server_callback (serv); + + free (serv); + + notify_cleanup (); +} diff --git a/src/common/server.h b/src/common/server.h new file mode 100644 index 00000000..874d27b2 --- /dev/null +++ b/src/common/server.h @@ -0,0 +1,26 @@ +#ifndef XCHAT_SERVER_H +#define XCHAT_SERVER_H + +extern GSList *serv_list; + +/* eventually need to keep the tcp_* functions isolated to server.c */ +int tcp_send_len (server *serv, char *buf, int len); +int tcp_send (server *serv, char *buf); +void tcp_sendf (server *serv, char *fmt, ...); +int tcp_send_real (void *ssl, int sok, char *encoding, int using_irc, char *buf, int len); + +server *server_new (void); +int is_server (server *serv); +void server_fill_her_up (server *serv); +void server_set_encoding (server *serv, char *new_encoding); +void server_set_defaults (server *serv); +char *server_get_network (server *serv, gboolean fallback); +void server_set_name (server *serv, char *name); +void server_free (server *serv); + +void server_away_save_message (server *serv, char *nick, char *msg); +struct away_msg *server_away_find_message (server *serv, char *nick); + +void base64_encode (char *to, char *from, unsigned int len); + +#endif diff --git a/src/common/servlist.c b/src/common/servlist.c new file mode 100644 index 00000000..20a156a8 --- /dev/null +++ b/src/common/servlist.c @@ -0,0 +1,1311 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <unistd.h> + +#include "xchat.h" +#include <glib/ghash.h> + +#include "cfgfiles.h" +#include "fe.h" +#include "server.h" +#include "text.h" +#include "util.h" /* token_foreach */ +#include "xchatc.h" + +#include "servlist.h" + + +struct defaultserver +{ + char *network; + char *host; + char *channel; + char *charset; +}; + +static const struct defaultserver def[] = +{ + {"2600net", 0}, + {0, "irc.2600.net"}, + + {"7-indonesia", 0}, + {0, "irc.7-indonesia.org"}, + + {"AccessIRC", 0}, + {0, "irc.accessirc.net"}, + {0, "eu.accessirc.net"}, + + {"AfterNET", 0}, + {0, "irc.afternet.org"}, + {0, "us.afternet.org"}, + {0, "eu.afternet.org"}, + + {"Aitvaras", 0}, +#ifdef USE_IPV6 +#ifdef USE_OPENSSL + {0, "irc6.ktu.lt/+7668"}, +#endif + {0, "irc6.ktu.lt/7666"}, +#endif +#ifdef USE_OPENSSL + {0, "irc.data.lt/+6668"}, + {0, "irc-ssl.omnitel.net/+6668"}, + {0, "irc-ssl.le.lt/+9999"}, +#endif + {0, "irc.data.lt"}, + {0, "irc.omnitel.net"}, + {0, "irc.ktu.lt"}, + {0, "irc.le.lt"}, + {0, "irc.takas.lt"}, + {0, "irc.5ci.net"}, + {0, "irc.kis.lt"}, + + {"AmigaNet", 0}, + {0, "irc.amiganet.org"}, + {0, "us.amiganet.org"}, + {0, "uk.amiganet.org"}, +/* {0, "no.amiganet.org"}, + {0, "au.amiganet.org"},*/ + + {"ARCNet", 0}, + {0, "se1.arcnet.vapor.com"}, + {0, "us1.arcnet.vapor.com"}, + {0, "us2.arcnet.vapor.com"}, + {0, "us3.arcnet.vapor.com"}, + {0, "ca1.arcnet.vapor.com"}, + {0, "de1.arcnet.vapor.com"}, + {0, "de3.arcnet.vapor.com"}, + {0, "ch1.arcnet.vapor.com"}, + {0, "be1.arcnet.vapor.com"}, + {0, "nl3.arcnet.vapor.com"}, + {0, "uk1.arcnet.vapor.com"}, + {0, "uk2.arcnet.vapor.com"}, +/* {0, "uk3.arcnet.vapor.com"},*/ + {0, "fr1.arcnet.vapor.com"}, + + {"AstroLink", 0}, + {0, "irc.astrolink.org"}, + + {"AustNet", 0}, + {0, "au.austnet.org"}, + {0, "us.austnet.org"}, + {0, "ca.austnet.org"}, + +/* {"AxeNet", 0}, + {0, "irc.axenet.org"}, + {0, "angel.axenet.org"}, + {0, "energy.axenet.org"}, + {0, "python.axenet.org"},*/ + + {"AzzurraNet", 0}, + {0, "irc.azzurra.org"}, + {0, "crypto.azzurra.org"}, + + {"Beirut", 0}, + {0, "irc.beirut.com"}, + + {"ChattingAway", 0}, + {0, "irc.chattingaway.com"}, + + {"ChatJunkies", 0, "#xchat"}, + {0, "irc.chatjunkies.org"}, + {0, "nl.chatjunkies.org"}, + + {"ChatNet", 0}, + {0, "US.ChatNet.Org"}, + {0, "EU.ChatNet.Org"}, + + {"ChatSociety", 0}, + {0, "us.chatsociety.net"}, + {0, "eu.chatsociety.net"}, + + {"ChatSpike", 0}, + {0, "irc.chatspike.net"}, + + {"CoolChat", 0}, + {0, "irc.coolchat.net"}, +/* {0, "unix.coolchat.net"}, + {0, "toronto.coolchat.net"},*/ + + {"Criten", 0}, + {0, "irc.criten.net"}, + {0, "irc.eu.criten.net"}, + + {"DALnet", 0}, + {0, "irc.dal.net"}, + {0, "irc.eu.dal.net"}, + + {"Dark-Tou-Net", 0}, + {0, "irc.d-t-net.de"}, + {0, "bw.d-t-net.de"}, + {0, "nc.d-t-net.de"}, + {0, "wakka.d-t-net.de"}, + + {"DarkMyst", 0}, + {0, "irc.darkmyst.org"}, + + {"DeepIRC", 0}, + {0, "irc.deepirc.net"}, + + {"DeltaAnime", 0}, + {0, "irc.deltaanime.net"}, + + {"EFnet", 0}, + {0, "irc.blackened.com"}, + {0, "irc.Prison.NET"}, + {0, "irc.Qeast.net"}, + {0, "irc.efnet.pl"}, + {0, "efnet.demon.co.uk"}, +/* {0, "irc.lagged.org"},*/ + {0, "irc.lightning.net"}, + {0, "irc.mindspring.com"}, + {0, "irc.easynews.com"}, + {0, "irc.servercentral.net"}, + + {"EnterTheGame", 0}, + {0, "IRC.EnterTheGame.Com"}, + + {"EUIrc", 0}, + {0, "irc.euirc.net"}, + {0, "irc.ham.de.euirc.net"}, + {0, "irc.ber.de.euirc.net"}, + {0, "irc.ffm.de.euirc.net"}, + {0, "irc.bre.de.euirc.net"}, + {0, "irc.hes.de.euirc.net"}, + {0, "irc.vie.at.euirc.net"}, + {0, "irc.inn.at.euirc.net"}, + {0, "irc.bas.ch.euirc.net"}, + + {"EuropNet", 0}, + {0, "irc.europnet.org"}, + + {"EU-IRC", 0}, + {0, "irc.eu-irc.net"}, + + {"FDFNet", 0}, + {0, "irc.fdfnet.net"}, + {0, "irc.eu.fdfnet.net"}, + + {"FEFNet", 0}, + {0, "irc.fef.net"}, + {0, "irc.ggn.net"}, + {0, "irc.vendetta.com"}, + + {"FreeNode", 0}, + {0, "irc.freenode.net"}, + +/* {"Freeworld", 0}, + {0, "kabel.freeworld.nu"}, + {0, "irc.freeworld.nu"},*/ + + {"GalaxyNet", 0}, + {0, "irc.galaxynet.org"}, +/* {0, "sprynet.us.galaxynet.org"}, + {0, "atlanta.ga.us.galaxynet.org"},*/ + + {"GamesNET", 0}, + {0, "irc.gamesnet.net"}, +/* {0, "irc.us.gamesnet.net"}, + {0, "east.us.gamesnet.net"}, + {0, "west.us.gamesnet.net"},*/ + {0, "irc.ca.gamesnet.net"}, + {0, "irc.eu.gamesnet.net"}, + + {"GeekShed", 0}, + {0, "irc.geekshed.net"}, + + {"German-Elite", 0}, + {0, "dominion.german-elite.net"}, + {0, "komatu.german-elite.net"}, +/* {0, "liberty.german-elite.net"},*/ + + {"GimpNet", 0}, + {0, "irc.gimp.org"}, +/* {0, "irc.au.gimp.org"},*/ + {0, "irc.us.gimp.org"}, + + {"HabberNet", 0}, + {0, "irc.habber.net"}, + + {"Hashmark", 0}, + {0, "irc.hashmark.net"}, + + {"IdleMonkeys", 0}, + {0, "irc.idlemonkeys.net"}, + +/* {"Infinity-IRC", 0}, + {0, "Atlanta.GA.US.Infinity-IRC.Org"}, + {0, "Babylon.NY.US.Infinity-IRC.Org"}, + {0, "Sunshine.Ca.US.Infinity-IRC.Org"}, + {0, "IRC.Infinity-IRC.Org"},*/ + + {"iZ-smart.net", 0}, + {0, "irc.iZ-smart.net/6666"}, + {0, "irc.iZ-smart.net/6667"}, + {0, "irc.iZ-smart.net/6668"}, + + {"IrcLink", 0}, + {0, "irc.irclink.net"}, + {0, "Alesund.no.eu.irclink.net"}, + {0, "Oslo.no.eu.irclink.net"}, + {0, "frogn.no.eu.irclink.net"}, + {0, "tonsberg.no.eu.irclink.net"}, + + {"IRCNet", 0}, + {0, "irc.ircnet.com"}, + {0, "irc.stealth.net/6668"}, + {0, "ircnet.demon.co.uk"}, +/* {0, "ircnet.hinet.hr"},*/ + {0, "irc.datacomm.ch"}, +/* {0, "ircnet.kaptech.fr"}, + {0, "ircnet.easynet.co.uk"},*/ + {0, "random.ircd.de"}, + {0, "ircnet.netvision.net.il"}, +/* {0, "irc.seed.net.tw"},*/ + {0, "irc.cs.hut.fi"}, + + {"Irctoo.net", 0}, + {0, "irc.irctoo.net"}, + + {"Krstarica", 0}, + {0, "irc.krstarica.com"}, + + {"Librenet", 0}, + {0, "irc.librenet.net"}, + {0, "ielf.fr.librenet.net"}, + + {"LinkNet", 0}, + {0, "irc.link-net.org"}, + {0, "irc.no.link-net.org"}, +/* {0, "irc.gamesden.net.au"},*/ + {0, "irc.bahnhof.se"}, +/* {0, "irc.kinexuseurope.co.uk"}, + {0, "irc.gamiix.com"},*/ + + {"MagicStar", 0}, + {0, "irc.magicstar.net"}, + + {"Majistic", 0}, + {0, "irc.majistic.net"}, + + {"MindForge", 0}, + {0, "irc.mindforge.org"}, + + {"MintIRC", 0}, + {0, "irc.mintirc.net"}, + + {"MIXXnet", 0}, + {0, "irc.mixxnet.net"}, + + {"NeverNET", 0}, + {0, "irc.nevernet.net"}, + {0, "imagine.nevernet.net"}, + {0, "dimension.nevernet.net"}, + {0, "universe.nevernet.net"}, + {0, "wayland.nevernet.net"}, + {0, "forte.nevernet.net"}, + + {"NixHelpNet", 0}, + {0, "irc.nixhelp.org"}, + {0, "us.nixhelp.org"}, + {0, "uk.nixhelp.org"}, + {0, "uk2.nixhelp.org"}, + {0, "uk3.nixhelp.org"}, + {0, "nl.nixhelp.org"}, + {0, "ca.ld.nixhelp.org"}, + {0, "us.co.nixhelp.org"}, + {0, "us.ca.nixhelp.org"}, + {0, "us.pa.nixhelp.org"}, + + {"NullusNet", 0}, + {0, "irc.nullus.net"}, + + {"Oceanius", 0}, + {0, "irc.oceanius.com"}, + + {"OFTC", 0}, + {0, "irc.oftc.net"}, + + {"OtherNet", 0}, + {0, "irc.othernet.org"}, + + {"OzNet", 0}, + {0, "irc.oz.org"}, + + {"PIRC.PL", 0}, + {0, "irc.pirc.pl"}, + + {"PTlink", 0}, + {0, "irc.PTlink.net"}, + {0, "aaia.PTlink.net"}, + + {"PTNet, ISP's", 0}, + {0, "irc.PTNet.org"}, + {0, "rccn.PTnet.org"}, + {0, "EUnet.PTnet.org"}, + {0, "madinfo.PTnet.org"}, + {0, "netc2.PTnet.org"}, + {0, "netc1.PTnet.org"}, + {0, "telepac1.ptnet.org"}, + {0, "esoterica.PTnet.org"}, + {0, "ip-hub.ptnet.org"}, + {0, "telepac1.ptnet.org"}, + {0, "nortenet.PTnet.org"}, + + {"PTNet, UNI", 0}, + {0, "irc.PTNet.org"}, + {0, "rccn.PTnet.org"}, + {0, "uevora.PTnet.org"}, + {0, "umoderna.PTnet.org"}, + {0, "ist.PTnet.org"}, + {0, "aaum.PTnet.org"}, + {0, "uc.PTnet.org"}, + {0, "ualg.ptnet.org"}, + {0, "madinfo.PTnet.org"}, +/* {0, "isep.PTnet.org"},*/ + {0, "ua.PTnet.org"}, + {0, "ipg.PTnet.org"}, + {0, "isec.PTnet.org"}, + {0, "utad.PTnet.org"}, + {0, "iscte.PTnet.org"}, + {0, "ubi.PTnet.org"}, + + {"QuakeNet", 0}, + {0, "irc.quakenet.org"}, + {0, "irc.se.quakenet.org"}, + {0, "irc.dk.quakenet.org"}, + {0, "irc.no.quakenet.org"}, + {0, "irc.fi.quakenet.org"}, + {0, "irc.be.quakenet.org"}, + {0, "irc.uk.quakenet.org"}, + {0, "irc.de.quakenet.org"}, + {0, "irc.it.quakenet.org"}, + + {"RebelChat", 0}, + {0, "irc.rebelchat.org"}, + +/* {"Recycled-IRC", 0}, + {0, "irc.recycled-irc.org"}, + {0, "vermin.recycled-irc.org"}, + {0, "waste.recycled-irc.org"}, + {0, "lumber.recycled-irc.org"}, + {0, "trash.recycled-irc.org"}, + {0, "unwashed.recycled-irc.org"}, + {0, "garbage.recycled-irc.org"}, + {0, "dustbin.recycled-irc.org"},*/ + + {"RizeNET", 0}, + {0, "irc.rizenet.org"}, + {0, "omega.rizenet.org"}, + {0, "evelance.rizenet.org"}, + {0, "lisa.rizenet.org"}, + {0, "scott.rizenet.org"}, + + {"Rizon", 0}, + {0, "irc.rizon.net"}, + + {"RusNet", 0, 0, "KOI8-R (Cyrillic)"}, + {0, "irc.tomsk.net"}, + {0, "irc.rinet.ru"}, + {0, "irc.run.net"}, + {0, "irc.ru"}, + {0, "irc.lucky.net"}, + + {"SceneNet", 0}, + {0, "irc.scene.org"}, + {0, "irc.eu.scene.org"}, + {0, "irc.us.scene.org"}, + + {"SeilEn.de", 0}, + {0, "irc.seilen.de"}, + + {"SlashNET", 0}, + {0, "irc.slashnet.org"}, + {0, "area51.slashnet.org"}, + {0, "moo.slashnet.org"}, + {0, "radon.slashnet.org"}, + + {"Sohbet.Net", 0}, + {0, "irc.sohbet.net"}, + + {"SolidIRC", 0}, + {0, "irc.solidirc.com"}, + + {"SorceryNet", 0}, + {0, "irc.sorcery.net/9000"}, + {0, "irc.us.sorcery.net/9000"}, + {0, "irc.eu.sorcery.net/9000"}, + + {"Spidernet", 0}, + {0, "us.spidernet.org"}, + {0, "eu.spidernet.org"}, + {0, "irc.spidernet.org"}, + + {"StarChat", 0}, + {0, "irc.starchat.net"}, + {0, "gainesville.starchat.net"}, + {0, "freebsd.starchat.net"}, + {0, "sunset.starchat.net"}, + {0, "revenge.starchat.net"}, + {0, "tahoma.starchat.net"}, + {0, "neo.starchat.net"}, + + {"TNI3", 0}, + {0, "irc.tni3.com"}, + + {"TURLINet", 0}, + {0, "irc.turli.net"}, + {0, "irc.servx.ru"}, + {0, "irc.gavnos.ru"}, + + {"UnderNet", 0}, + {0, "us.undernet.org"}, + {0, "eu.undernet.org"}, + + {"UniBG", 0}, + {0, "irc.lirex.com"}, + {0, "irc.naturella.com"}, + {0, "irc.spnet.net"}, + {0, "irc.techno-link.com"}, + {0, "irc.telecoms.bg"}, + {0, "irc.tu-varna.edu"}, + + {"Whiffle", 0}, + {0, "irc.whiffle.org"}, + + {"Worldnet", 0}, + {0, "irc.worldnet.net"}, + {0, "irc.fr.worldnet.net"}, + + {"Xentonix.net", 0}, + {0, "irc.xentonix.net"}, + + {"XWorld", 0}, + {0, "Buffalo.NY.US.XWorld.org"}, + {0, "Minneapolis.MN.US.Xworld.Org"}, + {0, "Rochester.NY.US.XWorld.org"}, + {0, "Bayern.DE.EU.XWorld.Org"}, + {0, "Chicago.IL.US.XWorld.Org"}, + + {0,0} +}; + +GSList *network_list = 0; + + +void +servlist_connect (session *sess, ircnet *net, gboolean join) +{ + ircserver *ircserv; + GSList *list; + char *port; + server *serv; + + if (!sess) + sess = new_ircwindow (NULL, NULL, SESS_SERVER, TRUE); + + serv = sess->server; + + /* connect to the currently selected Server-row */ + list = g_slist_nth (net->servlist, net->selected); + if (!list) + list = net->servlist; + if (!list) + return; + ircserv = list->data; + + /* incase a protocol switch is added to the servlist gui */ + server_fill_her_up (sess->server); + + if (join) + { + sess->willjoinchannel[0] = 0; + + if (net->autojoin) + { + if (serv->autojoin) + free (serv->autojoin); + serv->autojoin = strdup (net->autojoin); + } + } + + serv->password[0] = 0; + if (net->pass) + safe_strcpy (serv->password, net->pass, sizeof (serv->password)); + + if (net->flags & FLAG_USE_GLOBAL) + { + strcpy (serv->nick, prefs.nick1); + } else + { + if (net->nick) + strcpy (serv->nick, net->nick); + } + + serv->dont_use_proxy = (net->flags & FLAG_USE_PROXY) ? FALSE : TRUE; + +#ifdef USE_OPENSSL + serv->use_ssl = (net->flags & FLAG_USE_SSL) ? TRUE : FALSE; + serv->accept_invalid_cert = + (net->flags & FLAG_ALLOW_INVALID) ? TRUE : FALSE; +#endif + + serv->network = net; + + port = strrchr (ircserv->hostname, '/'); + if (port) + { + *port = 0; + + /* support "+port" to indicate SSL (like mIRC does) */ + if (port[1] == '+') + { +#ifdef USE_OPENSSL + serv->use_ssl = TRUE; +#endif + serv->connect (serv, ircserv->hostname, atoi (port + 2), FALSE); + } else + { + serv->connect (serv, ircserv->hostname, atoi (port + 1), FALSE); + } + + *port = '/'; + } else + serv->connect (serv, ircserv->hostname, -1, FALSE); + + server_set_encoding (serv, net->encoding); +} + +int +servlist_connect_by_netname (session *sess, char *network, gboolean join) +{ + ircnet *net; + GSList *list = network_list; + + while (list) + { + net = list->data; + + if (strcasecmp (net->name, network) == 0) + { + servlist_connect (sess, net, join); + return 1; + } + + list = list->next; + } + + return 0; +} + +int +servlist_have_auto (void) +{ + GSList *list = network_list; + ircnet *net; + + while (list) + { + net = list->data; + + if (net->flags & FLAG_AUTO_CONNECT) + return 1; + + list = list->next; + } + + return 0; +} + +int +servlist_auto_connect (session *sess) +{ + GSList *list = network_list; + ircnet *net; + int ret = 0; + + while (list) + { + net = list->data; + + if (net->flags & FLAG_AUTO_CONNECT) + { + servlist_connect (sess, net, TRUE); + ret = 1; + } + + list = list->next; + } + + return ret; +} + +static gint +servlist_cycle_cb (server *serv) +{ + if (serv->network) + { + PrintTextf (serv->server_session, + _("Cycling to next server in %s...\n"), ((ircnet *)serv->network)->name); + servlist_connect (serv->server_session, serv->network, TRUE); + } + + return 0; +} + +int +servlist_cycle (server *serv) +{ + ircnet *net; + int max, del; + + net = serv->network; + if (net) + { + max = g_slist_length (net->servlist); + if (max > 0) + { + /* try the next server, if that option is on */ + if (net->flags & FLAG_CYCLE) + { + net->selected++; + if (net->selected >= max) + net->selected = 0; + } + + del = prefs.recon_delay * 1000; + if (del < 1000) + del = 500; /* so it doesn't block the gui */ + + if (del) + serv->recondelay_tag = fe_timeout_add (del, servlist_cycle_cb, serv); + else + servlist_connect (serv->server_session, net, TRUE); + + return TRUE; + } + } + + return FALSE; +} + +ircserver * +servlist_server_find (ircnet *net, char *name, int *pos) +{ + GSList *list = net->servlist; + ircserver *serv; + int i = 0; + + while (list) + { + serv = list->data; + if (strcmp (serv->hostname, name) == 0) + { + if (pos) + *pos = i; + return serv; + } + i++; + list = list->next; + } + + return NULL; +} + +/* find a network (e.g. (ircnet *) to "FreeNode") from a hostname + (e.g. "irc.eu.freenode.net") */ + +ircnet * +servlist_net_find_from_server (char *server_name) +{ + GSList *list = network_list; + GSList *slist; + ircnet *net; + ircserver *serv; + + while (list) + { + net = list->data; + + slist = net->servlist; + while (slist) + { + serv = slist->data; + if (strcasecmp (serv->hostname, server_name) == 0) + return net; + slist = slist->next; + } + + list = list->next; + } + + return NULL; +} + +ircnet * +servlist_net_find (char *name, int *pos, int (*cmpfunc) (const char *, const char *)) +{ + GSList *list = network_list; + ircnet *net; + int i = 0; + + while (list) + { + net = list->data; + if (cmpfunc (net->name, name) == 0) + { + if (pos) + *pos = i; + return net; + } + i++; + list = list->next; + } + + return NULL; +} + +ircserver * +servlist_server_add (ircnet *net, char *name) +{ + ircserver *serv; + + serv = malloc (sizeof (ircserver)); + memset (serv, 0, sizeof (ircserver)); + serv->hostname = strdup (name); + + net->servlist = g_slist_append (net->servlist, serv); + + return serv; +} + +void +servlist_server_remove (ircnet *net, ircserver *serv) +{ + free (serv->hostname); + free (serv); + net->servlist = g_slist_remove (net->servlist, serv); +} + +static void +servlist_server_remove_all (ircnet *net) +{ + ircserver *serv; + + while (net->servlist) + { + serv = net->servlist->data; + servlist_server_remove (net, serv); + } +} + +static void +free_and_clear (char *str) +{ + if (str) + { + char *orig = str; + while (*str) + *str++ = 0; + free (orig); + } +} + +/* executed on exit: Clear any password strings */ + +void +servlist_cleanup (void) +{ + GSList *list; + ircnet *net; + + for (list = network_list; list; list = list->next) + { + net = list->data; + free_and_clear (net->pass); + free_and_clear (net->nickserv); + } +} + +void +servlist_net_remove (ircnet *net) +{ + GSList *list; + server *serv; + + servlist_server_remove_all (net); + network_list = g_slist_remove (network_list, net); + + if (net->nick) + free (net->nick); + if (net->nick2) + free (net->nick2); + if (net->user) + free (net->user); + if (net->real) + free (net->real); + free_and_clear (net->pass); + if (net->autojoin) + free (net->autojoin); + if (net->command) + free (net->command); + free_and_clear (net->nickserv); + if (net->comment) + free (net->comment); + if (net->encoding) + free (net->encoding); + free (net->name); + free (net); + + /* for safety */ + list = serv_list; + while (list) + { + serv = list->data; + if (serv->network == net) + serv->network = NULL; + list = list->next; + } +} + +ircnet * +servlist_net_add (char *name, char *comment, int prepend) +{ + ircnet *net; + + net = malloc (sizeof (ircnet)); + memset (net, 0, sizeof (ircnet)); + net->name = strdup (name); +/* net->comment = strdup (comment);*/ + net->flags = FLAG_CYCLE | FLAG_USE_GLOBAL | FLAG_USE_PROXY; + + if (prepend) + network_list = g_slist_prepend (network_list, net); + else + network_list = g_slist_append (network_list, net); + + return net; +} + +static void +servlist_load_defaults (void) +{ + int i = 0, j = 0; + ircnet *net = NULL; + + while (1) + { + if (def[i].network) + { + net = servlist_net_add (def[i].network, def[i].host, FALSE); + net->encoding = strdup ("IRC (Latin/Unicode Hybrid)"); + if (def[i].channel) + net->autojoin = strdup (def[i].channel); + if (def[i].charset) + { + free (net->encoding); + net->encoding = strdup (def[i].charset); + } + if (g_str_hash (def[i].network) == 0x8e1b96f7) + prefs.slist_select = j; + j++; + } else + { + servlist_server_add (net, def[i].host); + if (!def[i+1].host && !def[i+1].network) + break; + } + i++; + } +} + +static int +servlist_load (void) +{ + FILE *fp; + char buf[2048]; + int len; + char *tmp; + ircnet *net = NULL; + + fp = xchat_fopen_file ("servlist_.conf", "r", 0); + if (!fp) + return FALSE; + + while (fgets (buf, sizeof (buf) - 2, fp)) + { + len = strlen (buf); + buf[len] = 0; + buf[len-1] = 0; /* remove the trailing \n */ + if (net) + { + switch (buf[0]) + { + case 'I': + net->nick = strdup (buf + 2); + break; + case 'i': + net->nick2 = strdup (buf + 2); + break; + case 'U': + net->user = strdup (buf + 2); + break; + case 'R': + net->real = strdup (buf + 2); + break; + case 'P': + net->pass = strdup (buf + 2); + break; + case 'J': + net->autojoin = strdup (buf + 2); + break; + case 'C': + if (net->command) + { + /* concat extra commands with a \n separator */ + tmp = net->command; + net->command = malloc (strlen (tmp) + strlen (buf + 2) + 2); + strcpy (net->command, tmp); + strcat (net->command, "\n"); + strcat (net->command, buf + 2); + free (tmp); + } else + net->command = strdup (buf + 2); + break; + case 'F': + net->flags = atoi (buf + 2); + break; + case 'D': + net->selected = atoi (buf + 2); + break; + case 'E': + net->encoding = strdup (buf + 2); + break; + case 'S': /* new server/hostname for this network */ + servlist_server_add (net, buf + 2); + break; + case 'B': + net->nickserv = strdup (buf + 2); + break; + } + } + if (buf[0] == 'N') + net = servlist_net_add (buf + 2, /* comment */ NULL, FALSE); + } + fclose (fp); + + return TRUE; +} + +void +servlist_init (void) +{ + if (!network_list) + if (!servlist_load ()) + servlist_load_defaults (); +} + +/* check if a charset is known by Iconv */ +int +servlist_check_encoding (char *charset) +{ + GIConv gic; + char *c; + + c = strchr (charset, ' '); + if (c) + c[0] = 0; + + if (!strcasecmp (charset, "IRC")) /* special case */ + { + if (c) + c[0] = ' '; + return TRUE; + } + + gic = g_iconv_open (charset, "UTF-8"); + + if (c) + c[0] = ' '; + + if (gic != (GIConv)-1) + { + g_iconv_close (gic); + return TRUE; + } + + return FALSE; +} + +static int +servlist_write_ccmd (char *str, void *fp) +{ + return fprintf (fp, "C=%s\n", (str[0] == '/') ? str + 1 : str); +} + + +int +servlist_save (void) +{ + FILE *fp; + char buf[256]; + ircnet *net; + ircserver *serv; + GSList *list; + GSList *hlist; +#ifndef WIN32 + int first = FALSE; + + snprintf (buf, sizeof (buf), "%s/servlist_.conf", get_xdir_fs ()); + if (access (buf, F_OK) != 0) + first = TRUE; +#endif + + fp = xchat_fopen_file ("servlist_.conf", "w", 0); + if (!fp) + return FALSE; + +#ifndef WIN32 + if (first) + chmod (buf, 0600); +#endif + fprintf (fp, "v="PACKAGE_VERSION"\n\n"); + + list = network_list; + while (list) + { + net = list->data; + + fprintf (fp, "N=%s\n", net->name); + if (net->nick) + fprintf (fp, "I=%s\n", net->nick); + if (net->nick2) + fprintf (fp, "i=%s\n", net->nick2); + if (net->user) + fprintf (fp, "U=%s\n", net->user); + if (net->real) + fprintf (fp, "R=%s\n", net->real); + if (net->pass) + fprintf (fp, "P=%s\n", net->pass); + if (net->autojoin) + fprintf (fp, "J=%s\n", net->autojoin); + if (net->nickserv) + fprintf (fp, "B=%s\n", net->nickserv); + if (net->encoding && strcasecmp (net->encoding, "System") && + strcasecmp (net->encoding, "System default")) + { + fprintf (fp, "E=%s\n", net->encoding); + if (!servlist_check_encoding (net->encoding)) + { + snprintf (buf, sizeof (buf), _("Warning: \"%s\" character set is unknown. No conversion will be applied for network %s."), + net->encoding, net->name); + fe_message (buf, FE_MSG_WARN); + } + } + + if (net->command) + token_foreach (net->command, '\n', servlist_write_ccmd, fp); + + fprintf (fp, "F=%d\nD=%d\n", net->flags, net->selected); + + hlist = net->servlist; + while (hlist) + { + serv = hlist->data; + fprintf (fp, "S=%s\n", serv->hostname); + hlist = hlist->next; + } + + if (fprintf (fp, "\n") < 1) + { + fclose (fp); + return FALSE; + } + + list = list->next; + } + + fclose (fp); + return TRUE; +} + +static void +joinlist_free1 (GSList *list) +{ + GSList *head = list; + + for (; list; list = list->next) + g_free (list->data); + g_slist_free (head); +} + +void +joinlist_free (GSList *channels, GSList *keys) +{ + joinlist_free1 (channels); + joinlist_free1 (keys); +} + +gboolean +joinlist_is_in_list (server *serv, char *channel) +{ + GSList *channels, *keys; + GSList *list; + + if (!serv->network || !((ircnet *)serv->network)->autojoin) + return FALSE; + + joinlist_split (((ircnet *)serv->network)->autojoin, &channels, &keys); + + for (list = channels; list; list = list->next) + { + if (serv->p_cmp (list->data, channel) == 0) + return TRUE; + } + + joinlist_free (channels, keys); + + return FALSE; +} + +gchar * +joinlist_merge (GSList *channels, GSList *keys) +{ + GString *out = g_string_new (NULL); + GSList *list; + int i, j; + + for (; channels; channels = channels->next) + { + g_string_append (out, channels->data); + + if (channels->next) + g_string_append_c (out, ','); + } + + /* count number of REAL keys */ + for (i = 0, list = keys; list; list = list->next) + if (list->data) + i++; + + if (i > 0) + { + g_string_append_c (out, ' '); + + for (j = 0; keys; keys = keys->next) + { + if (keys->data) + { + g_string_append (out, keys->data); + j++; + if (j == i) + break; + } + + if (keys->next) + g_string_append_c (out, ','); + } + } + + return g_string_free (out, FALSE); +} + +void +joinlist_split (char *autojoin, GSList **channels, GSList **keys) +{ + char *parta, *partb; + char *chan, *key; + int len; + + *channels = NULL; + *keys = NULL; + + /* after the first space, the keys begin */ + parta = autojoin; + partb = strchr (autojoin, ' '); + if (partb) + partb++; + + while (1) + { + chan = parta; + key = partb; + + if (1) + { + while (parta[0] != 0 && parta[0] != ',' && parta[0] != ' ') + { + parta++; + } + } + + if (partb) + { + while (partb[0] != 0 && partb[0] != ',' && partb[0] != ' ') + { + partb++; + } + } + + len = parta - chan; + if (len < 1) + break; + *channels = g_slist_append (*channels, g_strndup (chan, len)); + + len = partb - key; + *keys = g_slist_append (*keys, len ? g_strndup (key, len) : NULL); + + if (parta[0] == ' ' || parta[0] == 0) + break; + parta++; + + if (partb) + { + if (partb[0] == 0 || partb[0] == ' ') + partb = NULL; /* no more keys, but maybe more channels? */ + else + partb++; + } + } + +#if 0 + GSList *lista, *listb; + int i; + + printf("-----\n"); + i = 0; + lista = *channels; + listb = *keys; + while (lista) + { + printf("%d. |%s| |%s|\n", i, lista->data, listb->data); + i++; + lista = lista->next; + listb = listb->next; + } + printf("-----\n\n"); +#endif +} + + diff --git a/src/common/servlist.h b/src/common/servlist.h new file mode 100644 index 00000000..9b7734f4 --- /dev/null +++ b/src/common/servlist.h @@ -0,0 +1,62 @@ +#ifndef XCHAT_SERVLIST_H +#define XCHAT_SERVLIST_H + +typedef struct ircserver +{ + char *hostname; +} ircserver; + +typedef struct ircnet +{ + char *name; + char *nick; + char *nick2; + char *user; + char *real; + char *pass; + char *autojoin; + char *command; + char *nickserv; + char *comment; + char *encoding; + GSList *servlist; + int selected; + guint32 flags; +} ircnet; + +extern GSList *network_list; + +#define FLAG_CYCLE 1 +#define FLAG_USE_GLOBAL 2 +#define FLAG_USE_SSL 4 +#define FLAG_AUTO_CONNECT 8 +#define FLAG_USE_PROXY 16 +#define FLAG_ALLOW_INVALID 32 +#define FLAG_FAVORITE 64 +#define FLAG_COUNT 7 + +void servlist_init (void); +int servlist_save (void); +int servlist_cycle (server *serv); +void servlist_connect (session *sess, ircnet *net, gboolean join); +int servlist_connect_by_netname (session *sess, char *network, gboolean join); +int servlist_auto_connect (session *sess); +int servlist_have_auto (void); +int servlist_check_encoding (char *charset); +void servlist_cleanup (void); + +ircnet *servlist_net_add (char *name, char *comment, int prepend); +void servlist_net_remove (ircnet *net); +ircnet *servlist_net_find (char *name, int *pos, int (*cmpfunc) (const char *, const char *)); +ircnet *servlist_net_find_from_server (char *server_name); + +void servlist_server_remove (ircnet *net, ircserver *serv); +ircserver *servlist_server_add (ircnet *net, char *name); +ircserver *servlist_server_find (ircnet *net, char *name, int *pos); + +void joinlist_split (char *autojoin, GSList **channels, GSList **keys); +gboolean joinlist_is_in_list (server *serv, char *channel); +void joinlist_free (GSList *channels, GSList *keys); +gchar *joinlist_merge (GSList *channels, GSList *keys); + +#endif diff --git a/src/common/ssl.c b/src/common/ssl.c new file mode 100644 index 00000000..a18ad47c --- /dev/null +++ b/src/common/ssl.c @@ -0,0 +1,323 @@ +/* + * ssl.c v0.0.3 + * Copyright (C) 2000 -- DaP <profeta@freemail.c3.hu> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <openssl/ssl.h> /* SSL_() */ +#include <openssl/err.h> /* ERR_() */ +#include <time.h> /* asctime() */ +#include <string.h> /* strncpy() */ +#include "ssl.h" /* struct cert_info */ +#include "inet.h" +#include "../../config.h" /* HAVE_SNPRINTF */ + +#ifndef HAVE_SNPRINTF +#define snprintf g_snprintf +#endif + +/* globals */ +static struct chiper_info chiper_info; /* static buffer for _SSL_get_cipher_info() */ +static char err_buf[256]; /* generic error buffer */ + + +/* +++++ Internal functions +++++ */ + +static void +__SSL_fill_err_buf (char *funcname) +{ + int err; + char buf[256]; + + + err = ERR_get_error (); + ERR_error_string (err, buf); + snprintf (err_buf, sizeof (err_buf), "%s: %s (%d)\n", funcname, buf, err); +} + + +static void +__SSL_critical_error (char *funcname) +{ + __SSL_fill_err_buf (funcname); + fprintf (stderr, "%s\n", err_buf); + + exit (1); +} + +/* +++++ SSL functions +++++ */ + +SSL_CTX * +_SSL_context_init (void (*info_cb_func), int server) +{ + SSL_CTX *ctx; +#ifdef WIN32 + int i, r; +#endif + + SSLeay_add_ssl_algorithms (); + SSL_load_error_strings (); + ctx = SSL_CTX_new (server ? SSLv3_server_method() : SSLv3_client_method ()); + + SSL_CTX_set_session_cache_mode (ctx, SSL_SESS_CACHE_BOTH); + SSL_CTX_set_timeout (ctx, 300); + + /* used in SSL_connect(), SSL_accept() */ + SSL_CTX_set_info_callback (ctx, info_cb_func); + +#ifdef WIN32 + /* under win32, OpenSSL needs to be seeded with some randomness */ + for (i = 0; i < 128; i++) + { + r = rand (); + RAND_seed ((unsigned char *)&r, sizeof (r)); + } +#endif + + return(ctx); +} + +static void +ASN1_TIME_snprintf (char *buf, int buf_len, ASN1_TIME * tm) +{ + char *expires = NULL; + BIO *inMem = BIO_new (BIO_s_mem ()); + + ASN1_TIME_print (inMem, tm); + BIO_get_mem_data (inMem, &expires); + buf[0] = 0; + if (expires != NULL) + { + memset (buf, 0, buf_len); + strncpy (buf, expires, 24); + } + BIO_free (inMem); +} + + +static void +broke_oneline (char *oneline, char *parray[]) +{ + char *pt, *ppt; + int i; + + + i = 0; + ppt = pt = oneline + 1; + while ((pt = strchr (pt, '/'))) + { + *pt = 0; + parray[i++] = ppt; + ppt = ++pt; + } + parray[i++] = ppt; + parray[i] = NULL; +} + + +/* + FIXME: Master-Key, Extensions, CA bits + (openssl x509 -text -in servcert.pem) +*/ +int +_SSL_get_cert_info (struct cert_info *cert_info, SSL * ssl) +{ + X509 *peer_cert; + EVP_PKEY *peer_pkey; + /* EVP_PKEY *ca_pkey; */ + /* EVP_PKEY *tmp_pkey; */ + char notBefore[64]; + char notAfter[64]; + int alg; + int sign_alg; + + + if (!(peer_cert = SSL_get_peer_certificate (ssl))) + return (1); /* FATAL? */ + + X509_NAME_oneline (X509_get_subject_name (peer_cert), cert_info->subject, + sizeof (cert_info->subject)); + X509_NAME_oneline (X509_get_issuer_name (peer_cert), cert_info->issuer, + sizeof (cert_info->issuer)); + broke_oneline (cert_info->subject, cert_info->subject_word); + broke_oneline (cert_info->issuer, cert_info->issuer_word); + + alg = OBJ_obj2nid (peer_cert->cert_info->key->algor->algorithm); + sign_alg = OBJ_obj2nid (peer_cert->sig_alg->algorithm); + ASN1_TIME_snprintf (notBefore, sizeof (notBefore), + X509_get_notBefore (peer_cert)); + ASN1_TIME_snprintf (notAfter, sizeof (notAfter), + X509_get_notAfter (peer_cert)); + + peer_pkey = X509_get_pubkey (peer_cert); + + strncpy (cert_info->algorithm, + (alg == NID_undef) ? "Unknown" : OBJ_nid2ln (alg), + sizeof (cert_info->algorithm)); + cert_info->algorithm_bits = EVP_PKEY_bits (peer_pkey); + strncpy (cert_info->sign_algorithm, + (sign_alg == NID_undef) ? "Unknown" : OBJ_nid2ln (sign_alg), + sizeof (cert_info->sign_algorithm)); + /* EVP_PKEY_bits(ca_pkey)); */ + cert_info->sign_algorithm_bits = 0; + strncpy (cert_info->notbefore, notBefore, sizeof (cert_info->notbefore)); + strncpy (cert_info->notafter, notAfter, sizeof (cert_info->notafter)); + + EVP_PKEY_free (peer_pkey); + + /* SSL_SESSION_print_fp(stdout, SSL_get_session(ssl)); */ +/* + if (ssl->session->sess_cert->peer_rsa_tmp) { + tmp_pkey = EVP_PKEY_new(); + EVP_PKEY_assign_RSA(tmp_pkey, ssl->session->sess_cert->peer_rsa_tmp); + cert_info->rsa_tmp_bits = EVP_PKEY_bits (tmp_pkey); + EVP_PKEY_free(tmp_pkey); + } else + fprintf(stderr, "REMOTE SIDE DOESN'T PROVIDES ->peer_rsa_tmp\n"); +*/ + cert_info->rsa_tmp_bits = 0; + + X509_free (peer_cert); + + return (0); +} + + +struct chiper_info * +_SSL_get_cipher_info (SSL * ssl) +{ + SSL_CIPHER *c; + + + c = SSL_get_current_cipher (ssl); + strncpy (chiper_info.version, SSL_CIPHER_get_version (c), + sizeof (chiper_info.version)); + strncpy (chiper_info.chiper, SSL_CIPHER_get_name (c), + sizeof (chiper_info.chiper)); + SSL_CIPHER_get_bits (c, &chiper_info.chiper_bits); + + return (&chiper_info); +} + + +int +_SSL_send (SSL * ssl, char *buf, int len) +{ + int num; + + + num = SSL_write (ssl, buf, len); + + switch (SSL_get_error (ssl, num)) + { + case SSL_ERROR_SSL: /* setup errno! */ + /* ??? */ + __SSL_fill_err_buf ("SSL_write"); + fprintf (stderr, "%s\n", err_buf); + break; + case SSL_ERROR_SYSCALL: + /* ??? */ + perror ("SSL_write/write"); + break; + case SSL_ERROR_ZERO_RETURN: + /* fprintf(stderr, "SSL closed on write\n"); */ + break; + } + + return (num); +} + + +int +_SSL_recv (SSL * ssl, char *buf, int len) +{ + int num; + + + num = SSL_read (ssl, buf, len); + + switch (SSL_get_error (ssl, num)) + { + case SSL_ERROR_SSL: + /* ??? */ + __SSL_fill_err_buf ("SSL_read"); + fprintf (stderr, "%s\n", err_buf); + break; + case SSL_ERROR_SYSCALL: + /* ??? */ + if (!would_block ()) + perror ("SSL_read/read"); + break; + case SSL_ERROR_ZERO_RETURN: + /* fprintf(stdeerr, "SSL closed on read\n"); */ + break; + } + + return (num); +} + + +SSL * +_SSL_socket (SSL_CTX *ctx, int sd) +{ + SSL *ssl; + + + if (!(ssl = SSL_new (ctx))) + /* FATAL */ + __SSL_critical_error ("SSL_new"); + + SSL_set_fd (ssl, sd); + if (ctx->method == SSLv3_client_method()) + SSL_set_connect_state (ssl); + else + SSL_set_accept_state(ssl); + + return (ssl); +} + + +char * +_SSL_set_verify (SSL_CTX *ctx, void *verify_callback, char *cacert) +{ + if (!SSL_CTX_set_default_verify_paths (ctx)) + { + __SSL_fill_err_buf ("SSL_CTX_set_default_verify_paths"); + return (err_buf); + } +/* + if (cacert) + { + if (!SSL_CTX_load_verify_locations (ctx, cacert, NULL)) + { + __SSL_fill_err_buf ("SSL_CTX_load_verify_locations"); + return (err_buf); + } + } +*/ + SSL_CTX_set_verify (ctx, SSL_VERIFY_PEER, verify_callback); + + return (NULL); +} + + +void +_SSL_close (SSL * ssl) +{ + SSL_set_shutdown (ssl, SSL_SENT_SHUTDOWN | SSL_RECEIVED_SHUTDOWN); + SSL_free (ssl); + ERR_remove_state (0); /* free state buffer */ +} diff --git a/src/common/ssl.h b/src/common/ssl.h new file mode 100644 index 00000000..26eb0f88 --- /dev/null +++ b/src/common/ssl.h @@ -0,0 +1,65 @@ +/* + ... +*/ + +struct cert_info { + char subject[256]; + char *subject_word[12]; + char issuer[256]; + char *issuer_word[12]; + char algorithm[32]; + int algorithm_bits; + char sign_algorithm[32]; + int sign_algorithm_bits; + char notbefore[32]; + char notafter[32]; + + int rsa_tmp_bits; +}; + +struct chiper_info { + char version[16]; + char chiper[24]; + int chiper_bits; +}; + +SSL_CTX *_SSL_context_init (void (*info_cb_func), int server); +#define _SSL_context_free(a) SSL_CTX_free(a); + +SSL *_SSL_socket (SSL_CTX *ctx, int sd); +char *_SSL_set_verify (SSL_CTX *ctx, void *(verify_callback), char *cacert); +/* + int SSL_connect(SSL *); + int SSL_accept(SSL *); + int SSL_get_fd(SSL *); +*/ +void _SSL_close (SSL * ssl); + +int _SSL_get_cert_info (struct cert_info *cert_info, SSL * ssl); +struct chiper_info *_SSL_get_cipher_info (SSL * ssl); + +/*char *_SSL_add_keypair (SSL_CTX *ctx, char *privkey, char *cert);*/ +/*void _SSL_add_random_keypair(SSL_CTX *ctx, int bits);*/ + +int _SSL_send (SSL * ssl, char *buf, int len); +int _SSL_recv (SSL * ssl, char *buf, int len); + +/* misc */ +/*void broke_oneline (char *oneline, char *parray[]);*/ + +/*char *_SSL_do_cipher_base64(char *buf, int buf_len, char *key, int operation);*/ /* must be freed */ + +/*void *_SSL_get_sess_obj(SSL *ssl, int type);*/ /* NOT must be freed */ +#define _SSL_get_sess_pkey(a) _SSL_get_sess_obj(a, 0) +#define _SSL_get_sess_prkey(a) _SSL_get_sess_obj(a, 1) +#define _SSL_get_sess_x509(a) _SSL_get_sess_obj(a, 2) +/*char *_SSL_get_obj_base64(void *s, int type);*/ /* must be freed */ +#define _SSL_get_pkey_base64(a) _SSL_get_obj_base64(a, 0) +#define _SSL_get_prkey_base64(a) _SSL_get_obj_base64(a, 1) +#define _SSL_get_x509_base64(a) _SSL_get_obj_base64(a, 2) +/*char *_SSL_get_ctx_obj_base64(SSL_CTX *ctx, int type);*/ /* must be freed */ +#define _SSL_get_ctx_pkey_base64(a) _SSL_get_ctx_obj_base64(a, 0) +#define _SSL_get_ctx_prkey_base64(a) _SSL_get_ctx_obj_base64(a, 1) +#define _SSL_get_ctx_x509_base64(a) _SSL_get_ctx_obj_base64(a, 2) + +/*int _SSL_verify_x509(X509 *x509);*/ diff --git a/src/common/text.c b/src/common/text.c new file mode 100644 index 00000000..a2198517 --- /dev/null +++ b/src/common/text.c @@ -0,0 +1,2309 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include <unistd.h> +#include <ctype.h> +#include <time.h> +#include <sys/types.h> +#include <fcntl.h> +#include <sys/stat.h> +#include <sys/mman.h> + +#include "xchat.h" +#include <glib/ghash.h> +#include "cfgfiles.h" +#include "chanopt.h" +#include "plugin.h" +#include "fe.h" +#include "server.h" +#include "util.h" +#include "outbound.h" +#include "xchatc.h" +#include "text.h" +#ifdef WIN32 +#include <windows.h> +#endif + +struct pevt_stage1 +{ + int len; + char *data; + struct pevt_stage1 *next; +}; + + +static void mkdir_p (char *dir); +static char *log_create_filename (char *channame); + + +static char * +scrollback_get_filename (session *sess, char *buf, int max) +{ + char *net, *chan; + + net = server_get_network (sess->server, FALSE); + if (!net) + return NULL; + + snprintf (buf, max, "%s/scrollback/%s/%s.txt", get_xdir_fs (), net, ""); + mkdir_p (buf); + + chan = log_create_filename (sess->channel); + snprintf (buf, max, "%s/scrollback/%s/%s.txt", get_xdir_fs (), net, chan); + free (chan); + + return buf; +} + +#if 0 + +static void +scrollback_unlock (session *sess) +{ + char buf[1024]; + + if (scrollback_get_filename (sess, buf, sizeof (buf) - 6) == NULL) + return; + + strcat (buf, ".lock"); + unlink (buf); +} + +static gboolean +scrollback_lock (session *sess) +{ + char buf[1024]; + int fh; + + if (scrollback_get_filename (sess, buf, sizeof (buf) - 6) == NULL) + return FALSE; + + strcat (buf, ".lock"); + + if (access (buf, F_OK) == 0) + return FALSE; /* can't get lock */ + + fh = open (buf, O_CREAT | O_TRUNC | O_APPEND | O_WRONLY, 0644); + if (fh == -1) + return FALSE; + + return TRUE; +} + +#endif + +void +scrollback_close (session *sess) +{ + if (sess->scrollfd != -1) + { + close (sess->scrollfd); + sess->scrollfd = -1; + } +} + +static char * +file_to_buffer (char *file, int *len) +{ + int fh; + char *buf; + struct stat st; + + fh = open (file, O_RDONLY | OFLAGS); + if (fh == -1) + return NULL; + + fstat (fh, &st); + + buf = malloc (st.st_size); + if (!buf) + { + close (fh); + return NULL; + } + + if (read (fh, buf, st.st_size) != st.st_size) + { + free (buf); + close (fh); + return NULL; + } + + *len = st.st_size; + close (fh); + return buf; +} + +/* shrink the file to roughly prefs.max_lines */ + +static void +scrollback_shrink (session *sess) +{ + char file[1024]; + char *buf; + int fh; + int lines; + int line; + int len; + char *p; + + scrollback_close (sess); + sess->scrollwritten = 0; + lines = 0; + + if (scrollback_get_filename (sess, file, sizeof (file)) == NULL) + return; + + buf = file_to_buffer (file, &len); + if (!buf) + return; + + /* count all lines */ + p = buf; + while (p != buf + len) + { + if (*p == '\n') + lines++; + p++; + } + + fh = open (file, O_CREAT | O_TRUNC | O_APPEND | O_WRONLY, 0644); + if (fh == -1) + { + free (buf); + return; + } + + line = 0; + p = buf; + while (p != buf + len) + { + if (*p == '\n') + { + line++; + if (line >= lines - prefs.max_lines && + p + 1 != buf + len) + { + p++; + write (fh, p, len - (p - buf)); + break; + } + } + p++; + } + + close (fh); + free (buf); +} + +static void +scrollback_save (session *sess, char *text) +{ + char buf[512 * 4]; + time_t stamp; + int len; + + if (sess->type == SESS_SERVER) + return; + + if (sess->text_scrollback == SET_DEFAULT) + { + if (!prefs.text_replay) + return; + } + else + { + if (sess->text_scrollback != SET_ON) + return; + } + + if (sess->scrollfd == -1) + { + if (scrollback_get_filename (sess, buf, sizeof (buf)) == NULL) + return; + + sess->scrollfd = open (buf, O_CREAT | O_APPEND | O_WRONLY, 0644); + if (sess->scrollfd == -1) + return; + } + + stamp = time (0); + if (sizeof (stamp) == 4) /* gcc will optimize one of these out */ + write (sess->scrollfd, buf, snprintf (buf, sizeof (buf), "T %d ", (int)stamp)); + else + write (sess->scrollfd, buf, snprintf (buf, sizeof (buf), "T %"G_GINT64_FORMAT" ", (gint64)stamp)); + + len = strlen (text); + write (sess->scrollfd, text, len); + if (len && text[len - 1] != '\n') + write (sess->scrollfd, "\n", 1); + + sess->scrollwritten++; + + if ((sess->scrollwritten * 2 > prefs.max_lines && prefs.max_lines > 0) || + sess->scrollwritten > 32000) + scrollback_shrink (sess); +} + +void +scrollback_load (session *sess) +{ + int fh; + char buf[512 * 4]; + char *text; + time_t stamp; + int lines; + char *map, *end_map; + struct stat statbuf; + const char *begin, *eol; + + if (sess->text_scrollback == SET_DEFAULT) + { + if (!prefs.text_replay) + return; + } + else + { + if (sess->text_scrollback != SET_ON) + return; + } + + if (scrollback_get_filename (sess, buf, sizeof (buf)) == NULL) + return; + + fh = open (buf, O_RDONLY | OFLAGS); + if (fh == -1) + return; + + if (fstat (fh, &statbuf) < 0) + return; + + map = mmap (NULL, statbuf.st_size, PROT_READ, MAP_PRIVATE, fh, 0); + if (map == MAP_FAILED) + return; + + end_map = map + statbuf.st_size; + + lines = 0; + begin = map; + while (begin < end_map) + { + int n_bytes; + + eol = memchr (begin, '\n', end_map - begin); + + if (!eol) + eol = end_map; + + n_bytes = MIN (eol - begin, sizeof (buf) - 1); + + strncpy (buf, begin, n_bytes); + + buf[n_bytes] = 0; + + if (buf[0] == 'T') + { + if (sizeof (time_t) == 4) + stamp = strtoul (buf + 2, NULL, 10); + else + stamp = strtoull (buf + 2, NULL, 10); /* just incase time_t is 64 bits */ + text = strchr (buf + 3, ' '); + if (text) + { + text = strip_color (text + 1, -1, STRIP_COLOR); + fe_print_text (sess, text, stamp); + g_free (text); + } + lines++; + } + + begin = eol + 1; + } + + sess->scrollwritten = lines; + + if (lines) + { + text = ctime (&stamp); + text[24] = 0; /* get rid of the \n */ + snprintf (buf, sizeof (buf), "\n*\t%s %s\n\n", _("Loaded log from"), text); + fe_print_text (sess, buf, 0); + /*EMIT_SIGNAL (XP_TE_GENMSG, sess, "*", buf, NULL, NULL, NULL, 0);*/ + } + + munmap (map, statbuf.st_size); + close (fh); +} + +void +log_close (session *sess) +{ + char obuf[512]; + time_t currenttime; + + if (sess->logfd != -1) + { + currenttime = time (NULL); + write (sess->logfd, obuf, + snprintf (obuf, sizeof (obuf) - 1, _("**** ENDING LOGGING AT %s\n"), + ctime (¤ttime))); + close (sess->logfd); + sess->logfd = -1; + } +} + +static void +mkdir_p (char *dir) /* like "mkdir -p" from a shell, FS encoding */ +{ + char *start = dir; + + /* the whole thing already exists? */ + if (access (dir, F_OK) == 0) + return; + + while (*dir) + { +#ifdef WIN32 + if (dir != start && (*dir == '/' || *dir == '\\')) +#else + if (dir != start && *dir == '/') +#endif + { + *dir = 0; +#ifdef WIN32 + mkdir (start); +#else + mkdir (start, S_IRUSR | S_IWUSR | S_IXUSR); +#endif + *dir = '/'; + } + dir++; + } +} + +static char * +log_create_filename (char *channame) +{ + char *tmp, *ret; + int mbl; + + ret = tmp = strdup (channame); + while (*tmp) + { + mbl = g_utf8_skip[((unsigned char *)tmp)[0]]; + if (mbl == 1) + { +#ifndef WIN32 + *tmp = rfc_tolower (*tmp); + if (*tmp == '/') +#else + /* win32 can't handle filenames with \|/><:"*? characters */ + if (*tmp == '\\' || *tmp == '|' || *tmp == '/' || + *tmp == '>' || *tmp == '<' || *tmp == ':' || + *tmp == '\"' || *tmp == '*' || *tmp == '?') +#endif + *tmp = '_'; + } + tmp += mbl; + } + + return ret; +} + +/* like strcpy, but % turns into %% */ + +static char * +log_escape_strcpy (char *dest, char *src, char *end) +{ + while (*src) + { + *dest = *src; + if (dest + 1 == end) + break; + dest++; + src++; + + if (*src == '%') + { + if (dest + 1 == end) + break; + dest[0] = '%'; + dest++; + } + } + + dest[0] = 0; + return dest - 1; +} + +/* substitutes %c %n %s into buffer */ + +static void +log_insert_vars (char *buf, int bufsize, char *fmt, char *c, char *n, char *s) +{ + char *end = buf + bufsize; + + while (1) + { + switch (fmt[0]) + { + case 0: + buf[0] = 0; + return; + + case '%': + fmt++; + switch (fmt[0]) + { + case 'c': + buf = log_escape_strcpy (buf, c, end); + break; + case 'n': + buf = log_escape_strcpy (buf, n, end); + break; + case 's': + buf = log_escape_strcpy (buf, s, end); + break; + default: + buf[0] = '%'; + buf++; + buf[0] = fmt[0]; + break; + } + break; + + default: + buf[0] = fmt[0]; + } + fmt++; + buf++; + /* doesn't fit? */ + if (buf == end) + { + buf[-1] = 0; + return; + } + } +} + +static char * +log_create_pathname (char *servname, char *channame, char *netname) +{ + char fname[384]; + char fnametime[384]; + char *fs; + struct tm *tm; + time_t now; + + if (!netname) + netname = "NETWORK"; + + /* first, everything is in UTF-8 */ + if (!rfc_casecmp (channame, servname)) + channame = strdup ("server"); + else + channame = log_create_filename (channame); + log_insert_vars (fname, sizeof (fname), prefs.logmask, channame, netname, servname); + free (channame); + + /* insert time/date */ + now = time (NULL); + tm = localtime (&now); + strftime (fnametime, sizeof (fnametime), fname, tm); + + /* create final path/filename */ +#ifdef WIN32 + if (fnametime[0] == '/' || (fnametime[0] >= 'A' && fnametime[1] == ':')) +#else + if (fnametime[0] == '/') /* is it fullpath already? */ +#endif + snprintf (fname, sizeof (fname), "%s", fnametime); + else + snprintf (fname, sizeof (fname), "%s/xchatlogs/%s", get_xdir_utf8 (), fnametime); + + /* now we need it in FileSystem encoding */ + fs = xchat_filename_from_utf8 (fname, -1, 0, 0, 0); + + /* create all the subdirectories */ + if (fs) + mkdir_p (fs); + + return fs; +} + +static int +log_open_file (char *servname, char *channame, char *netname) +{ + char buf[512]; + int fd; + char *file; + time_t currenttime; + + file = log_create_pathname (servname, channame, netname); + if (!file) + return -1; + +#ifdef WIN32 + fd = open (file, O_CREAT | O_APPEND | O_WRONLY, S_IREAD|S_IWRITE); +#else + fd = open (file, O_CREAT | O_APPEND | O_WRONLY, 0644); +#endif + g_free (file); + + if (fd == -1) + return -1; + currenttime = time (NULL); + write (fd, buf, + snprintf (buf, sizeof (buf), _("**** BEGIN LOGGING AT %s\n"), + ctime (¤ttime))); + + return fd; +} + +static void +log_open (session *sess) +{ + static gboolean log_error = FALSE; + + log_close (sess); + sess->logfd = log_open_file (sess->server->servername, sess->channel, + server_get_network (sess->server, FALSE)); + + if (!log_error && sess->logfd == -1) + { + char message[512]; + snprintf (message, sizeof (message), + _("* Can't open log file(s) for writing. Check the\n" \ + " permissions on %s/xchatlogs"), get_xdir_utf8 ()); + fe_message (message, FE_MSG_WAIT | FE_MSG_ERROR); + + log_error = TRUE; + } +} + +void +log_open_or_close (session *sess) +{ + if (sess->text_logging == SET_DEFAULT) + { + if (prefs.logging) + log_open (sess); + else + log_close (sess); + } + else + { + if (sess->text_logging) + log_open (sess); + else + log_close (sess); + } +} + +int +get_stamp_str (char *fmt, time_t tim, char **ret) +{ + char *loc = NULL; + char dest[128]; + gsize len; + + /* strftime wants the format string in LOCALE! */ + if (!prefs.utf8_locale) + { + const gchar *charset; + + g_get_charset (&charset); + loc = g_convert_with_fallback (fmt, -1, charset, "UTF-8", "?", 0, 0, 0); + if (loc) + fmt = loc; + } + + len = strftime (dest, sizeof (dest), fmt, localtime (&tim)); + if (len) + { + if (prefs.utf8_locale) + *ret = g_strdup (dest); + else + *ret = g_locale_to_utf8 (dest, len, 0, &len, 0); + } + + if (loc) + g_free (loc); + + return len; +} + +static void +log_write (session *sess, char *text) +{ + char *temp; + char *stamp; + char *file; + int len; + + if (sess->text_logging == SET_DEFAULT) + { + if (!prefs.logging) + return; + } + else + { + if (sess->text_logging != SET_ON) + return; + } + + if (sess->logfd == -1) + log_open (sess); + + /* change to a different log file? */ + file = log_create_pathname (sess->server->servername, sess->channel, + server_get_network (sess->server, FALSE)); + if (file) + { + if (access (file, F_OK) != 0) + { + close (sess->logfd); + sess->logfd = log_open_file (sess->server->servername, sess->channel, + server_get_network (sess->server, FALSE)); + } + g_free (file); + } + + if (prefs.timestamp_logs) + { + len = get_stamp_str (prefs.timestamp_log_format, time (0), &stamp); + if (len) + { + write (sess->logfd, stamp, len); + g_free (stamp); + } + } + temp = strip_color (text, -1, STRIP_ALL); + len = strlen (temp); + write (sess->logfd, temp, len); + /* lots of scripts/plugins print without a \n at the end */ + if (temp[len - 1] != '\n') + write (sess->logfd, "\n", 1); /* emulate what xtext would display */ + g_free (temp); +} + +/* converts a CP1252/ISO-8859-1(5) hybrid to UTF-8 */ +/* Features: 1. It never fails, all 00-FF chars are converted to valid UTF-8 */ +/* 2. Uses CP1252 in the range 80-9f because ISO doesn't have any- */ +/* thing useful in this range and it helps us receive from mIRC */ +/* 3. The five undefined chars in CP1252 80-9f are replaced with */ +/* ISO-8859-15 control codes. */ +/* 4. Handles 0xa4 as a Euro symbol ala ISO-8859-15. */ +/* 5. Uses ISO-8859-1 (which matches CP1252) for everything else. */ +/* 6. This routine measured 3x faster than g_convert :) */ + +static unsigned char * +iso_8859_1_to_utf8 (unsigned char *text, int len, gsize *bytes_written) +{ + unsigned int idx; + unsigned char *res, *output; + static const unsigned short lowtable[] = /* 74 byte table for 80-a4 */ + { + /* compressed utf-8 table: if the first byte's 0x20 bit is set, it + indicates a 2-byte utf-8 sequence, otherwise prepend a 0xe2. */ + 0x82ac, /* 80 Euro. CP1252 from here on... */ + 0xe281, /* 81 NA */ + 0x809a, /* 82 */ + 0xe692, /* 83 */ + 0x809e, /* 84 */ + 0x80a6, /* 85 */ + 0x80a0, /* 86 */ + 0x80a1, /* 87 */ + 0xeb86, /* 88 */ + 0x80b0, /* 89 */ + 0xe5a0, /* 8a */ + 0x80b9, /* 8b */ + 0xe592, /* 8c */ + 0xe28d, /* 8d NA */ + 0xe5bd, /* 8e */ + 0xe28f, /* 8f NA */ + 0xe290, /* 90 NA */ + 0x8098, /* 91 */ + 0x8099, /* 92 */ + 0x809c, /* 93 */ + 0x809d, /* 94 */ + 0x80a2, /* 95 */ + 0x8093, /* 96 */ + 0x8094, /* 97 */ + 0xeb9c, /* 98 */ + 0x84a2, /* 99 */ + 0xe5a1, /* 9a */ + 0x80ba, /* 9b */ + 0xe593, /* 9c */ + 0xe29d, /* 9d NA */ + 0xe5be, /* 9e */ + 0xe5b8, /* 9f */ + 0xe2a0, /* a0 */ + 0xe2a1, /* a1 */ + 0xe2a2, /* a2 */ + 0xe2a3, /* a3 */ + 0x82ac /* a4 ISO-8859-15 Euro. */ + }; + + if (len == -1) + len = strlen (text); + + /* worst case scenario: every byte turns into 3 bytes */ + res = output = g_malloc ((len * 3) + 1); + if (!output) + return NULL; + + while (len) + { + if (G_LIKELY (*text < 0x80)) + { + *output = *text; /* ascii maps directly */ + } + else if (*text <= 0xa4) /* 80-a4 use a lookup table */ + { + idx = *text - 0x80; + if (lowtable[idx] & 0x2000) + { + *output++ = (lowtable[idx] >> 8) & 0xdf; /* 2 byte utf-8 */ + *output = lowtable[idx] & 0xff; + } + else + { + *output++ = 0xe2; /* 3 byte utf-8 */ + *output++ = (lowtable[idx] >> 8) & 0xff; + *output = lowtable[idx] & 0xff; + } + } + else if (*text < 0xc0) + { + *output++ = 0xc2; + *output = *text; + } + else + { + *output++ = 0xc3; + *output = *text - 0x40; + } + output++; + text++; + len--; + } + *output = 0; /* terminate */ + *bytes_written = output - res; + + return res; +} + +char * +text_validate (char **text, int *len) +{ + char *utf; + gsize utf_len; + + /* valid utf8? */ + if (g_utf8_validate (*text, *len, 0)) + return NULL; + +#ifdef WIN32 + if (GetACP () == 1252) /* our routine is better than iconv's 1252 */ +#else + if (prefs.utf8_locale) +#endif + /* fallback to iso-8859-1 */ + utf = iso_8859_1_to_utf8 (*text, *len, &utf_len); + else + { + /* fallback to locale */ + utf = g_locale_to_utf8 (*text, *len, 0, &utf_len, NULL); + if (!utf) + utf = iso_8859_1_to_utf8 (*text, *len, &utf_len); + } + + if (!utf) + { + *text = g_strdup ("%INVALID%"); + *len = 9; + } else + { + *text = utf; + *len = utf_len; + } + + return utf; +} + +void +PrintText (session *sess, char *text) +{ + char *conv; + + if (!sess) + { + if (!sess_list) + return; + sess = (session *) sess_list->data; + } + + /* make sure it's valid utf8 */ + if (text[0] == 0) + { + text = "\n"; + conv = NULL; + } else + { + int len = -1; + conv = text_validate ((char **)&text, &len); + } + + log_write (sess, text); + scrollback_save (sess, text); + fe_print_text (sess, text, 0); + + if (conv) + g_free (conv); +} + +void +PrintTextf (session *sess, char *format, ...) +{ + va_list args; + char *buf; + + va_start (args, format); + buf = g_strdup_vprintf (format, args); + va_end (args); + + PrintText (sess, buf); + g_free (buf); +} + +/* Print Events stuff here --AGL */ + +/* Consider the following a NOTES file: + + The main upshot of this is: + * Plugins and Perl scripts (when I get round to signaling perl.c) can intercept text events and do what they like + * The default text engine can be config'ed + + By default it should appear *exactly* the same (I'm working hard not to change the default style) but if you go into Settings->Edit Event Texts you can change the text's. The format is thus: + + The normal %Cx (color) and %B (bold) etc work + + $x is replaced with the data in var x (e.g. $1 is often the nick) + + $axxx is replace with a single byte of value xxx (in base 10) + + AGL (990507) + */ + +/* These lists are thus: + pntevts_text[] are the strings the user sees (WITH %x etc) + pntevts[] are the data strings with \000 etc + */ + +/* To add a new event: + + Think up a name (like "Join") + Make up a pevt_name_help struct + Add an entry to textevents.in + Type: make textevents + */ + +/* Internals: + + On startup ~/.xchat/printevents.conf is loaded if it doesn't exist the + defaults are loaded. Any missing events are filled from defaults. + Each event is parsed by pevt_build_string and a binary output is produced + which looks like: + + (byte) value: 0 = { + (int) numbers of bytes + (char []) that number of byte to be memcpy'ed into the buffer + } + 1 = + (byte) number of varable to insert + 2 = end of buffer + + Each XP_TE_* signal is hard coded to call text_emit which calls + display_event which decodes the data + + This means that this system *should be faster* than snprintf because + it always 'knows' that format of the string (basically is preparses much + of the work) + + --AGL + */ + +char *pntevts_text[NUM_XP]; +char *pntevts[NUM_XP]; + +#define pevt_generic_none_help NULL + +static char * const pevt_genmsg_help[] = { + N_("Left message"), + N_("Right message"), +}; + +static char * const pevt_join_help[] = { + N_("The nick of the joining person"), + N_("The channel being joined"), + N_("The host of the person"), +}; + +static char * const pevt_chanaction_help[] = { + N_("Nickname"), + N_("The action"), + N_("Mode char"), + N_("Identified text"), +}; + +static char * const pevt_chanmsg_help[] = { + N_("Nickname"), + N_("The text"), + N_("Mode char"), + N_("Identified text"), +}; + +static char * const pevt_privmsg_help[] = { + N_("Nickname"), + N_("The message"), + N_("Identified text") +}; + +static char * const pevt_changenick_help[] = { + N_("Old nickname"), + N_("New nickname"), +}; + +static char * const pevt_newtopic_help[] = { + N_("Nick of person who changed the topic"), + N_("Topic"), + N_("Channel"), +}; + +static char * const pevt_topic_help[] = { + N_("Channel"), + N_("Topic"), +}; + +static char * const pevt_kick_help[] = { + N_("The nickname of the kicker"), + N_("The person being kicked"), + N_("The channel"), + N_("The reason"), +}; + +static char * const pevt_part_help[] = { + N_("The nick of the person leaving"), + N_("The host of the person"), + N_("The channel"), +}; + +static char * const pevt_chandate_help[] = { + N_("The channel"), + N_("The time"), +}; + +static char * const pevt_topicdate_help[] = { + N_("The channel"), + N_("The creator"), + N_("The time"), +}; + +static char * const pevt_quit_help[] = { + N_("Nick"), + N_("Reason"), + N_("Host"), +}; + +static char * const pevt_pingrep_help[] = { + N_("Who it's from"), + N_("The time in x.x format (see below)"), +}; + +static char * const pevt_notice_help[] = { + N_("Who it's from"), + N_("The message"), +}; + +static char * const pevt_channotice_help[] = { + N_("Who it's from"), + N_("The Channel it's going to"), + N_("The message"), +}; + +static char * const pevt_uchangenick_help[] = { + N_("Old nickname"), + N_("New nickname"), +}; + +static char * const pevt_ukick_help[] = { + N_("The person being kicked"), + N_("The channel"), + N_("The nickname of the kicker"), + N_("The reason"), +}; + +static char * const pevt_partreason_help[] = { + N_("The nick of the person leaving"), + N_("The host of the person"), + N_("The channel"), + N_("The reason"), +}; + +static char * const pevt_ctcpsnd_help[] = { + N_("The sound"), + N_("The nick of the person"), + N_("The channel"), +}; + +static char * const pevt_ctcpgen_help[] = { + N_("The CTCP event"), + N_("The nick of the person"), +}; + +static char * const pevt_ctcpgenc_help[] = { + N_("The CTCP event"), + N_("The nick of the person"), + N_("The Channel it's going to"), +}; + +static char * const pevt_chansetkey_help[] = { + N_("The nick of the person who set the key"), + N_("The key"), +}; + +static char * const pevt_chansetlimit_help[] = { + N_("The nick of the person who set the limit"), + N_("The limit"), +}; + +static char * const pevt_chanop_help[] = { + N_("The nick of the person who did the op'ing"), + N_("The nick of the person who has been op'ed"), +}; + +static char * const pevt_chanhop_help[] = { + N_("The nick of the person who has been halfop'ed"), + N_("The nick of the person who did the halfop'ing"), +}; + +static char * const pevt_chanvoice_help[] = { + N_("The nick of the person who did the voice'ing"), + N_("The nick of the person who has been voice'ed"), +}; + +static char * const pevt_chanban_help[] = { + N_("The nick of the person who did the banning"), + N_("The ban mask"), +}; + +static char * const pevt_chanrmkey_help[] = { + N_("The nick who removed the key"), +}; + +static char * const pevt_chanrmlimit_help[] = { + N_("The nick who removed the limit"), +}; + +static char * const pevt_chandeop_help[] = { + N_("The nick of the person of did the deop'ing"), + N_("The nick of the person who has been deop'ed"), +}; +static char * const pevt_chandehop_help[] = { + N_("The nick of the person of did the dehalfop'ing"), + N_("The nick of the person who has been dehalfop'ed"), +}; + +static char * const pevt_chandevoice_help[] = { + N_("The nick of the person of did the devoice'ing"), + N_("The nick of the person who has been devoice'ed"), +}; + +static char * const pevt_chanunban_help[] = { + N_("The nick of the person of did the unban'ing"), + N_("The ban mask"), +}; + +static char * const pevt_chanexempt_help[] = { + N_("The nick of the person who did the exempt"), + N_("The exempt mask"), +}; + +static char * const pevt_chanrmexempt_help[] = { + N_("The nick of the person removed the exempt"), + N_("The exempt mask"), +}; + +static char * const pevt_chaninvite_help[] = { + N_("The nick of the person who did the invite"), + N_("The invite mask"), +}; + +static char * const pevt_chanrminvite_help[] = { + N_("The nick of the person removed the invite"), + N_("The invite mask"), +}; + +static char * const pevt_chanmodegen_help[] = { + N_("The nick of the person setting the mode"), + N_("The mode's sign (+/-)"), + N_("The mode letter"), + N_("The channel it's being set on"), +}; + +static char * const pevt_whois1_help[] = { + N_("Nickname"), + N_("Username"), + N_("Host"), + N_("Full name"), +}; + +static char * const pevt_whois2_help[] = { + N_("Nickname"), + N_("Channel Membership/\"is an IRC operator\""), +}; + +static char * const pevt_whois3_help[] = { + N_("Nickname"), + N_("Server Information"), +}; + +static char * const pevt_whois4_help[] = { + N_("Nickname"), + N_("Idle time"), +}; + +static char * const pevt_whois4t_help[] = { + N_("Nickname"), + N_("Idle time"), + N_("Signon time"), +}; + +static char * const pevt_whois5_help[] = { + N_("Nickname"), + N_("Away reason"), +}; + +static char * const pevt_whois6_help[] = { + N_("Nickname"), +}; + +static char * const pevt_whoisid_help[] = { + N_("Nickname"), + N_("Message"), + "Numeric" +}; + +static char * const pevt_whoisauth_help[] = { + N_("Nickname"), + N_("Message"), + N_("Account"), +}; + +static char * const pevt_whoisrealhost_help[] = { + N_("Nickname"), + N_("Real user@host"), + N_("Real IP"), + N_("Message"), +}; + +static char * const pevt_generic_channel_help[] = { + N_("Channel Name"), +}; + +static char * const pevt_servertext_help[] = { + N_("Text"), + N_("Server Name"), + N_("Raw Numeric or Identifier") +}; + +static char * const pevt_sslmessage_help[] = { + N_("Text"), + N_("Server Name") +}; + +static char * const pevt_invited_help[] = { + N_("Channel Name"), + N_("Nick of person who invited you"), + N_("Server Name"), +}; + +static char * const pevt_usersonchan_help[] = { + N_("Channel Name"), + N_("Users"), +}; + +static char * const pevt_nickclash_help[] = { + N_("Nickname in use"), + N_("Nick being tried"), +}; + +static char * const pevt_connfail_help[] = { + N_("Error"), +}; + +static char * const pevt_connect_help[] = { + N_("Host"), + N_("IP"), + N_("Port"), +}; + +static char * const pevt_sconnect_help[] = { + "PID" +}; + +static char * const pevt_generic_nick_help[] = { + N_("Nickname"), + N_("Server Name"), + N_("Network") +}; + +static char * const pevt_chanmodes_help[] = { + N_("Channel Name"), + N_("Modes string"), +}; + +static char * const pevt_rawmodes_help[] = { + N_("Nickname"), + N_("Modes string"), +}; + +static char * const pevt_kill_help[] = { + N_("Nickname"), + N_("Reason"), +}; + +static char * const pevt_dccchaterr_help[] = { + N_("Nickname"), + N_("IP address"), + N_("Port"), + N_("Error"), +}; + +static char * const pevt_dccstall_help[] = { + N_("DCC Type"), + N_("Filename"), + N_("Nickname"), +}; + +static char * const pevt_generic_file_help[] = { + N_("Filename"), + N_("Error"), +}; + +static char * const pevt_dccrecverr_help[] = { + N_("Filename"), + N_("Destination filename"), + N_("Nickname"), + N_("Error"), +}; + +static char * const pevt_dccrecvcomp_help[] = { + N_("Filename"), + N_("Destination filename"), + N_("Nickname"), + N_("CPS"), +}; + +static char * const pevt_dccconfail_help[] = { + N_("DCC Type"), + N_("Nickname"), + N_("Error"), +}; + +static char * const pevt_dccchatcon_help[] = { + N_("Nickname"), + N_("IP address"), +}; + +static char * const pevt_dcccon_help[] = { + N_("Nickname"), + N_("IP address"), + N_("Filename"), +}; + +static char * const pevt_dccsendfail_help[] = { + N_("Filename"), + N_("Nickname"), + N_("Error"), +}; + +static char * const pevt_dccsendcomp_help[] = { + N_("Filename"), + N_("Nickname"), + N_("CPS"), +}; + +static char * const pevt_dccoffer_help[] = { + N_("Filename"), + N_("Nickname"), + N_("Pathname"), +}; + +static char * const pevt_dccfileabort_help[] = { + N_("Nickname"), + N_("Filename") +}; + +static char * const pevt_dccchatabort_help[] = { + N_("Nickname"), +}; + +static char * const pevt_dccresumeoffer_help[] = { + N_("Nickname"), + N_("Filename"), + N_("Position"), +}; + +static char * const pevt_dccsendoffer_help[] = { + N_("Nickname"), + N_("Filename"), + N_("Size"), + N_("IP address"), +}; + +static char * const pevt_dccgenericoffer_help[] = { + N_("DCC String"), + N_("Nickname"), +}; + +static char * const pevt_notifynumber_help[] = { + N_("Number of notify items"), +}; + +static char * const pevt_serverlookup_help[] = { + N_("Server Name"), +}; + +static char * const pevt_servererror_help[] = { + N_("Text"), +}; + +static char * const pevt_foundip_help[] = { + N_("IP"), +}; + +static char * const pevt_dccrename_help[] = { + N_("Old Filename"), + N_("New Filename"), +}; + +static char * const pevt_ctcpsend_help[] = { + N_("Receiver"), + N_("Message"), +}; + +static char * const pevt_ignoreaddremove_help[] = { + N_("Hostmask"), +}; + +static char * const pevt_resolvinguser_help[] = { + N_("Nickname"), + N_("Hostname"), +}; + +static char * const pevt_malformed_help[] = { + N_("Nickname"), + N_("The Packet"), +}; + +static char * const pevt_pingtimeout_help[] = { + N_("Seconds"), +}; + +static char * const pevt_uinvite_help[] = { + N_("Nick of person who have been invited"), + N_("Channel Name"), + N_("Server Name"), +}; + +static char * const pevt_banlist_help[] = { + N_("Channel"), + N_("Banmask"), + N_("Who set the ban"), + N_("Ban time"), +}; + +static char * const pevt_discon_help[] = { + N_("Error"), +}; + +#include "textevents.h" + +static void +pevent_load_defaults () +{ + int i; + + for (i = 0; i < NUM_XP; i++) + { + if (pntevts_text[i]) + free (pntevts_text[i]); + + /* make-te.c sets this 128 flag (DON'T call gettext() flag) */ + if (te[i].num_args & 128) + pntevts_text[i] = strdup (te[i].def); + else + pntevts_text[i] = strdup (_(te[i].def)); + } +} + +void +pevent_make_pntevts () +{ + int i, m; + char out[1024]; + + for (i = 0; i < NUM_XP; i++) + { + if (pntevts[i] != NULL) + free (pntevts[i]); + if (pevt_build_string (pntevts_text[i], &(pntevts[i]), &m) != 0) + { + snprintf (out, sizeof (out), + _("Error parsing event %s.\nLoading default."), te[i].name); + fe_message (out, FE_MSG_WARN); + free (pntevts_text[i]); + /* make-te.c sets this 128 flag (DON'T call gettext() flag) */ + if (te[i].num_args & 128) + pntevts_text[i] = strdup (te[i].def); + else + pntevts_text[i] = strdup (_(te[i].def)); + if (pevt_build_string (pntevts_text[i], &(pntevts[i]), &m) != 0) + { + fprintf (stderr, + "XChat CRITICAL *** default event text failed to build!\n"); + abort (); + } + } + } +} + +/* Loading happens at 2 levels: + 1) File is read into blocks + 2) Pe block is parsed and loaded + + --AGL */ + +/* Better hope you pass good args.. --AGL */ + +static void +pevent_trigger_load (int *i_penum, char **i_text, char **i_snd) +{ + int penum = *i_penum, len; + char *text = *i_text, *snd = *i_snd; + + if (penum != -1 && text != NULL) + { + len = strlen (text) + 1; + if (pntevts_text[penum]) + free (pntevts_text[penum]); + pntevts_text[penum] = malloc (len); + memcpy (pntevts_text[penum], text, len); + } + + if (text) + free (text); + if (snd) + free (snd); + *i_text = NULL; + *i_snd = NULL; + *i_penum = 0; +} + +static int +pevent_find (char *name, int *i_i) +{ + int i = *i_i, j; + + j = i + 1; + while (1) + { + if (j == NUM_XP) + j = 0; + if (strcmp (te[j].name, name) == 0) + { + *i_i = j; + return j; + } + if (j == i) + return -1; + j++; + } +} + +int +pevent_load (char *filename) +{ + /* AGL, I've changed this file and pevent_save, could you please take a look at + * the changes and possibly modify them to suit you + * //David H + */ + char *buf, *ibuf; + int fd, i = 0, pnt = 0; + struct stat st; + char *text = NULL, *snd = NULL; + int penum = 0; + char *ofs; + + if (filename == NULL) + fd = xchat_open_file ("pevents.conf", O_RDONLY, 0, 0); + else + fd = xchat_open_file (filename, O_RDONLY, 0, XOF_FULLPATH); + + if (fd == -1) + return 1; + if (fstat (fd, &st) != 0) + return 1; + ibuf = malloc (st.st_size); + read (fd, ibuf, st.st_size); + close (fd); + + while (buf_get_line (ibuf, &buf, &pnt, st.st_size)) + { + if (buf[0] == '#') + continue; + if (strlen (buf) == 0) + continue; + + ofs = strchr (buf, '='); + if (!ofs) + continue; + *ofs = 0; + ofs++; + /*if (*ofs == 0) + continue;*/ + + if (strcmp (buf, "event_name") == 0) + { + if (penum >= 0) + pevent_trigger_load (&penum, &text, &snd); + penum = pevent_find (ofs, &i); + continue; + } else if (strcmp (buf, "event_text") == 0) + { + if (text) + free (text); + +#if 0 + /* This allows updating of old strings. We don't use new defaults + if the user has customized the strings (.e.g a text theme). + Hash of the old default is enough to identify and replace it. + This only works in English. */ + + switch (g_str_hash (ofs)) + { + case 0x526743a4: + /* %C08,02 Hostmask PRIV NOTI CHAN CTCP INVI UNIG %O */ + text = strdup (te[XP_TE_IGNOREHEADER].def); + break; + + case 0xe91bc9c2: + /* %C08,02 %O */ + text = strdup (te[XP_TE_IGNOREFOOTER].def); + break; + + case 0x1fbfdf22: + /* -%C10-%C11-%O$tDCC RECV: Cannot open $1 for writing - aborting. */ + text = strdup (te[XP_TE_DCCFILEERR].def); + break; + + default: + text = strdup (ofs); + } +#else + text = strdup (ofs); +#endif + + continue; + }/* else if (strcmp (buf, "event_sound") == 0) + { + if (snd) + free (snd); + snd = strdup (ofs); + continue; + }*/ + + continue; + } + + pevent_trigger_load (&penum, &text, &snd); + free (ibuf); + return 0; +} + +static void +pevent_check_all_loaded () +{ + int i; + + for (i = 0; i < NUM_XP; i++) + { + if (pntevts_text[i] == NULL) + { + /*printf ("%s\n", te[i].name); + snprintf(out, sizeof(out), "The data for event %s failed to load. Reverting to defaults.\nThis may be because a new version of XChat is loading an old config file.\n\nCheck all print event texts are correct", evtnames[i]); + gtkutil_simpledialog(out); */ + /* make-te.c sets this 128 flag (DON'T call gettext() flag) */ + if (te[i].num_args & 128) + pntevts_text[i] = strdup (te[i].def); + else + pntevts_text[i] = strdup (_(te[i].def)); + } + } +} + +void +load_text_events () +{ + memset (&pntevts_text, 0, sizeof (char *) * (NUM_XP)); + memset (&pntevts, 0, sizeof (char *) * (NUM_XP)); + + if (pevent_load (NULL)) + pevent_load_defaults (); + pevent_check_all_loaded (); + pevent_make_pntevts (); +} + +/* + CL: format_event now handles filtering of arguments: + 1) if prefs.stripcolor is set, filter all style control codes from arguments + 2) always strip \010 (ATTR_HIDDEN) from arguments: it is only for use in the format string itself +*/ +#define ARG_FLAG(argn) (1 << (argn)) + +void +format_event (session *sess, int index, char **args, char *o, int sizeofo, unsigned int stripcolor_args) +{ + int len, oi, ii, numargs; + char *i, *ar, d, a, done_all = FALSE; + + i = pntevts[index]; + numargs = te[index].num_args & 0x7f; + + oi = ii = len = d = a = 0; + o[0] = 0; + + if (i == NULL) + return; + + while (done_all == FALSE) + { + d = i[ii++]; + switch (d) + { + case 0: + memcpy (&len, &(i[ii]), sizeof (int)); + ii += sizeof (int); + if (oi + len > sizeofo) + { + printf ("Overflow in display_event (%s)\n", i); + o[0] = 0; + return; + } + memcpy (&(o[oi]), &(i[ii]), len); + oi += len; + ii += len; + break; + case 1: + a = i[ii++]; + if (a > numargs) + { + fprintf (stderr, + "XChat DEBUG: display_event: arg > numargs (%d %d %s)\n", + a, numargs, i); + break; + } + ar = args[(int) a + 1]; + if (ar == NULL) + { + printf ("arg[%d] is NULL in print event\n", a + 1); + } else + { + if (stripcolor_args & ARG_FLAG(a + 1)) len = strip_color2 (ar, -1, &o[oi], STRIP_ALL); + else len = strip_hidden_attribute (ar, &o[oi]); + oi += len; + } + break; + case 2: + o[oi++] = '\n'; + o[oi++] = 0; + done_all = TRUE; + continue; + case 3: +/* if (sess->type == SESS_DIALOG) + { + if (prefs.dialog_indent_nicks) + o[oi++] = '\t'; + else + o[oi++] = ' '; + } else + {*/ + if (prefs.indent_nicks) + o[oi++] = '\t'; + else + o[oi++] = ' '; + /*}*/ + break; + } + } + o[oi] = 0; + if (*o == '\n') + o[0] = 0; +} + +static void +display_event (session *sess, int event, char **args, unsigned int stripcolor_args) +{ + char o[4096]; + format_event (sess, event, args, o, sizeof (o), stripcolor_args); + if (o[0]) + PrintText (sess, o); +} + +int +pevt_build_string (const char *input, char **output, int *max_arg) +{ + struct pevt_stage1 *s = NULL, *base = NULL, *last = NULL, *next; + int clen; + char o[4096], d, *obuf, *i; + int oi, ii, max = -1, len, x; + + len = strlen (input); + i = malloc (len + 1); + memcpy (i, input, len + 1); + check_special_chars (i, TRUE); + + len = strlen (i); + + clen = oi = ii = 0; + + for (;;) + { + if (ii == len) + break; + d = i[ii++]; + if (d != '$') + { + o[oi++] = d; + continue; + } + if (i[ii] == '$') + { + o[oi++] = '$'; + continue; + } + if (oi > 0) + { + s = (struct pevt_stage1 *) malloc (sizeof (struct pevt_stage1)); + if (base == NULL) + base = s; + if (last != NULL) + last->next = s; + last = s; + s->next = NULL; + s->data = malloc (oi + sizeof (int) + 1); + s->len = oi + sizeof (int) + 1; + clen += oi + sizeof (int) + 1; + s->data[0] = 0; + memcpy (&(s->data[1]), &oi, sizeof (int)); + memcpy (&(s->data[1 + sizeof (int)]), o, oi); + oi = 0; + } + if (ii == len) + { + fe_message ("String ends with a $", FE_MSG_WARN); + return 1; + } + d = i[ii++]; + if (d == 'a') + { /* Hex value */ + x = 0; + if (ii == len) + goto a_len_error; + d = i[ii++]; + d -= '0'; + x = d * 100; + if (ii == len) + goto a_len_error; + d = i[ii++]; + d -= '0'; + x += d * 10; + if (ii == len) + goto a_len_error; + d = i[ii++]; + d -= '0'; + x += d; + if (x > 255) + goto a_range_error; + o[oi++] = x; + continue; + + a_len_error: + fe_message ("String ends in $a", FE_MSG_WARN); + return 1; + a_range_error: + fe_message ("$a value is greater than 255", FE_MSG_WARN); + return 1; + } + if (d == 't') + { + /* Tab - if tabnicks is set then write '\t' else ' ' */ + s = (struct pevt_stage1 *) malloc (sizeof (struct pevt_stage1)); + if (base == NULL) + base = s; + if (last != NULL) + last->next = s; + last = s; + s->next = NULL; + s->data = malloc (1); + s->len = 1; + clen += 1; + s->data[0] = 3; + + continue; + } + if (d < '1' || d > '9') + { + snprintf (o, sizeof (o), "Error, invalid argument $%c\n", d); + fe_message (o, FE_MSG_WARN); + return 1; + } + d -= '0'; + if (max < d) + max = d; + s = (struct pevt_stage1 *) malloc (sizeof (struct pevt_stage1)); + if (base == NULL) + base = s; + if (last != NULL) + last->next = s; + last = s; + s->next = NULL; + s->data = malloc (2); + s->len = 2; + clen += 2; + s->data[0] = 1; + s->data[1] = d - 1; + } + if (oi > 0) + { + s = (struct pevt_stage1 *) malloc (sizeof (struct pevt_stage1)); + if (base == NULL) + base = s; + if (last != NULL) + last->next = s; + last = s; + s->next = NULL; + s->data = malloc (oi + sizeof (int) + 1); + s->len = oi + sizeof (int) + 1; + clen += oi + sizeof (int) + 1; + s->data[0] = 0; + memcpy (&(s->data[1]), &oi, sizeof (int)); + memcpy (&(s->data[1 + sizeof (int)]), o, oi); + oi = 0; + } + s = (struct pevt_stage1 *) malloc (sizeof (struct pevt_stage1)); + if (base == NULL) + base = s; + if (last != NULL) + last->next = s; + last = s; + s->next = NULL; + s->data = malloc (1); + s->len = 1; + clen += 1; + s->data[0] = 2; + + oi = 0; + s = base; + obuf = malloc (clen); + while (s) + { + next = s->next; + memcpy (&obuf[oi], s->data, s->len); + oi += s->len; + free (s->data); + free (s); + s = next; + } + + free (i); + + if (max_arg) + *max_arg = max; + if (output) + *output = obuf; + + return 0; +} + + +/* black n white(0/1) are bad colors for nicks, and we'll use color 2 for us */ +/* also light/dark gray (14/15) */ +/* 5,7,8 are all shades of yellow which happen to look dman near the same */ + +static char rcolors[] = { 19, 20, 22, 24, 25, 26, 27, 28, 29 }; + +static int +color_of (char *name) +{ + int i = 0, sum = 0; + + while (name[i]) + sum += name[i++]; + sum %= sizeof (rcolors) / sizeof (char); + return rcolors[sum]; +} + + +/* called by EMIT_SIGNAL macro */ + +void +text_emit (int index, session *sess, char *a, char *b, char *c, char *d) +{ + char *word[PDIWORDS]; + int i; + unsigned int stripcolor_args = (prefs.stripcolor ? 0xFFFFFFFF : 0); + char tbuf[NICKLEN + 4]; + + if (prefs.colorednicks && (index == XP_TE_CHANACTION || index == XP_TE_CHANMSG)) + { + snprintf (tbuf, sizeof (tbuf), "\003%d%s", color_of (a), a); + a = tbuf; + stripcolor_args &= ~ARG_FLAG(1); /* don't strip color from this argument */ + } + + word[0] = te[index].name; + word[1] = (a ? a : "\000"); + word[2] = (b ? b : "\000"); + word[3] = (c ? c : "\000"); + word[4] = (d ? d : "\000"); + for (i = 5; i < PDIWORDS; i++) + word[i] = "\000"; + + if (plugin_emit_print (sess, word)) + return; + + /* If a plugin's callback executes "/close", 'sess' may be invalid */ + if (!is_session (sess)) + return; + + switch (index) + { + case XP_TE_JOIN: + case XP_TE_PART: + case XP_TE_PARTREASON: + case XP_TE_QUIT: + /* implement ConfMode / Hide Join and Part Messages */ + if (chanopt_is_set (prefs.confmode, sess->text_hidejoinpart)) + return; + break; + + /* ===Private message=== */ + case XP_TE_PRIVMSG: + case XP_TE_DPRIVMSG: + case XP_TE_PRIVACTION: + case XP_TE_DPRIVACTION: + if (chanopt_is_set_a (prefs.input_beep_priv, sess->alert_beep)) + sound_beep (sess); + if (chanopt_is_set_a (prefs.input_flash_priv, sess->alert_taskbar)) + fe_flash_window (sess); + /* why is this one different? because of plugin-tray.c's hooks! ugly */ + if (sess->alert_tray == SET_ON) + fe_tray_set_icon (FE_ICON_MESSAGE); + break; + + /* ===Highlighted message=== */ + case XP_TE_HCHANACTION: + case XP_TE_HCHANMSG: + if (chanopt_is_set_a (prefs.input_beep_hilight, sess->alert_beep)) + sound_beep (sess); + if (chanopt_is_set_a (prefs.input_flash_hilight, sess->alert_taskbar)) + fe_flash_window (sess); + if (sess->alert_tray == SET_ON) + fe_tray_set_icon (FE_ICON_MESSAGE); + break; + + /* ===Channel message=== */ + case XP_TE_CHANACTION: + case XP_TE_CHANMSG: + if (chanopt_is_set_a (prefs.input_beep_chans, sess->alert_beep)) + sound_beep (sess); + if (chanopt_is_set_a (prefs.input_flash_chans, sess->alert_taskbar)) + fe_flash_window (sess); + if (sess->alert_tray == SET_ON) + fe_tray_set_icon (FE_ICON_MESSAGE); + break; + } + + sound_play_event (index); + display_event (sess, index, word, stripcolor_args); +} + +char * +text_find_format_string (char *name) +{ + int i = 0; + + i = pevent_find (name, &i); + if (i >= 0) + return pntevts_text[i]; + + return NULL; +} + +int +text_emit_by_name (char *name, session *sess, char *a, char *b, char *c, char *d) +{ + int i = 0; + + i = pevent_find (name, &i); + if (i >= 0) + { + text_emit (i, sess, a, b, c, d); + return 1; + } + + return 0; +} + +void +pevent_save (char *fn) +{ + int fd, i; + char buf[1024]; + + if (!fn) + fd = xchat_open_file ("pevents.conf", O_CREAT | O_TRUNC | O_WRONLY, + 0x180, XOF_DOMODE); + else + fd = xchat_open_file (fn, O_CREAT | O_TRUNC | O_WRONLY, 0x180, + XOF_FULLPATH | XOF_DOMODE); + if (fd == -1) + { + /* + fe_message ("Error opening config file\n", FALSE); + If we get here when X-Chat is closing the fe-message causes a nice & hard crash + so we have to use perror which doesn't rely on GTK + */ + + perror ("Error opening config file\n"); + return; + } + + for (i = 0; i < NUM_XP; i++) + { + write (fd, buf, snprintf (buf, sizeof (buf), + "event_name=%s\n", te[i].name)); + write (fd, buf, snprintf (buf, sizeof (buf), + "event_text=%s\n\n", pntevts_text[i])); + } + + close (fd); +} + +/* =========================== */ +/* ========== SOUND ========== */ +/* =========================== */ + +char *sound_files[NUM_XP]; + +void +sound_beep (session *sess) +{ + if (sound_files[XP_TE_BEEP] && sound_files[XP_TE_BEEP][0]) + /* user defined beep _file_ */ + sound_play_event (XP_TE_BEEP); + else + /* system beep */ + fe_beep (); +} + +static char * +sound_find_command (void) +{ + /* some sensible unix players. You're bound to have one of them */ + static const char * const progs[] = {"aplay", "esdplay", "soxplay", "artsplay", NULL}; + char *cmd; + int i = 0; + + if (prefs.soundcmd[0]) + return g_strdup (prefs.soundcmd); + + while (progs[i]) + { + cmd = g_find_program_in_path (progs[i]); + if (cmd) + return cmd; + i++; + } + + return NULL; +} + +void +sound_play (const char *file, gboolean quiet) +{ + char buf[512]; + char wavfile[512]; + char *file_fs; + char *cmd; + + /* the pevents GUI editor triggers this after removing a soundfile */ + if (!file[0]) + return; + +#ifdef WIN32 + /* check for fullpath, windows style */ + if (strlen (file) > 3 && + file[1] == ':' && (file[2] == '\\' || file[2] == '/') ) + { + strncpy (wavfile, file, sizeof (wavfile)); + } else +#endif + if (file[0] != '/') + { + snprintf (wavfile, sizeof (wavfile), "%s/%s", prefs.sounddir, file); + } else + { + strncpy (wavfile, file, sizeof (wavfile)); + } + wavfile[sizeof (wavfile) - 1] = 0; /* ensure termination */ + + file_fs = xchat_filename_from_utf8 (wavfile, -1, 0, 0, 0); + if (!file_fs) + return; + + if (access (file_fs, R_OK) == 0) + { + cmd = sound_find_command (); + +#ifdef WIN32 + if (cmd == NULL || strcmp (cmd, "esdplay") == 0) + { + PlaySound (file_fs, NULL, SND_NODEFAULT|SND_FILENAME|SND_ASYNC); + } else +#endif + { + if (cmd) + { + if (strchr (file_fs, ' ')) + snprintf (buf, sizeof (buf), "%s \"%s\"", cmd, file_fs); + else + snprintf (buf, sizeof (buf), "%s %s", cmd, file_fs); + buf[sizeof (buf) - 1] = '\0'; + xchat_exec (buf); + } + } + + if (cmd) + g_free (cmd); + + } else + { + if (!quiet) + { + snprintf (buf, sizeof (buf), _("Cannot read sound file:\n%s"), wavfile); + fe_message (buf, FE_MSG_ERROR); + } + } + + g_free (file_fs); +} + +void +sound_play_event (int i) +{ + if (sound_files[i]) + sound_play (sound_files[i], FALSE); +} + +static void +sound_load_event (char *evt, char *file) +{ + int i = 0; + + if (file[0] && pevent_find (evt, &i) != -1) + { + if (sound_files[i]) + free (sound_files[i]); + sound_files[i] = strdup (file); + } +} + +void +sound_load () +{ + int fd; + char buf[512]; + char evt[128]; + + memset (&sound_files, 0, sizeof (char *) * (NUM_XP)); + + fd = xchat_open_file ("sound.conf", O_RDONLY, 0, 0); + if (fd == -1) + return; + + evt[0] = 0; + while (waitline (fd, buf, sizeof buf, FALSE) != -1) + { + if (strncmp (buf, "event=", 6) == 0) + { + safe_strcpy (evt, buf + 6, sizeof (evt)); + } + else if (strncmp (buf, "sound=", 6) == 0) + { + if (evt[0] != 0) + { + sound_load_event (evt, buf + 6); + evt[0] = 0; + } + } + } + + close (fd); +} + +void +sound_save () +{ + int fd, i; + char buf[512]; + + fd = xchat_open_file ("sound.conf", O_CREAT | O_TRUNC | O_WRONLY, 0x180, + XOF_DOMODE); + if (fd == -1) + return; + + for (i = 0; i < NUM_XP; i++) + { + if (sound_files[i] && sound_files[i][0]) + { + write (fd, buf, snprintf (buf, sizeof (buf), + "event=%s\n", te[i].name)); + write (fd, buf, snprintf (buf, sizeof (buf), + "sound=%s\n\n", sound_files[i])); + } + } + + close (fd); +} diff --git a/src/common/text.h b/src/common/text.h new file mode 100644 index 00000000..150821ae --- /dev/null +++ b/src/common/text.h @@ -0,0 +1,42 @@ +#include "textenums.h" + +#ifndef XCHAT_TEXT_H +#define XCHAT_TEXT_H + +#define EMIT_SIGNAL(i, sess, a, b, c, d, e) text_emit(i, sess, a, b, c, d) + +struct text_event +{ + char *name; + char * const *help; + int num_args; + char *def; +}; + +void scrollback_close (session *sess); +void scrollback_load (session *sess); + +int text_word_check (char *word, int len); +void PrintText (session *sess, char *text); +void PrintTextf (session *sess, char *format, ...); +void log_close (session *sess); +void log_open_or_close (session *sess); +void load_text_events (void); +void pevent_save (char *fn); +int pevt_build_string (const char *input, char **output, int *max_arg); +int pevent_load (char *filename); +void pevent_make_pntevts (void); +void text_emit (int index, session *sess, char *a, char *b, char *c, char *d); +int text_emit_by_name (char *name, session *sess, char *a, char *b, char *c, char *d); +char *text_validate (char **text, int *len); +int get_stamp_str (char *fmt, time_t tim, char **ret); +void format_event (session *sess, int index, char **args, char *o, int sizeofo, unsigned int stripcolor_args); +char *text_find_format_string (char *name); + +void sound_play (const char *file, gboolean quiet); +void sound_play_event (int i); +void sound_beep (session *); +void sound_load (); +void sound_save (); + +#endif diff --git a/src/common/textenums.h b/src/common/textenums.h new file mode 100644 index 00000000..682a35ef --- /dev/null +++ b/src/common/textenums.h @@ -0,0 +1,76 @@ +/* this file is auto generated, edit textevents.in instead! */ + +enum +{ + XP_TE_ADDNOTIFY, XP_TE_BANLIST, + XP_TE_BANNED, XP_TE_BEEP, + XP_TE_CHANGENICK, XP_TE_CHANACTION, + XP_TE_HCHANACTION, XP_TE_CHANBAN, + XP_TE_CHANDATE, XP_TE_CHANDEHOP, + XP_TE_CHANDEOP, XP_TE_CHANDEVOICE, + XP_TE_CHANEXEMPT, XP_TE_CHANHOP, + XP_TE_CHANINVITE, XP_TE_CHANLISTHEAD, + XP_TE_CHANMSG, XP_TE_CHANMODEGEN, + XP_TE_CHANMODES, XP_TE_HCHANMSG, + XP_TE_CHANNOTICE, XP_TE_CHANOP, + XP_TE_CHANRMEXEMPT, XP_TE_CHANRMINVITE, + XP_TE_CHANRMKEY, XP_TE_CHANRMLIMIT, + XP_TE_CHANSETKEY, XP_TE_CHANSETLIMIT, + XP_TE_CHANUNBAN, XP_TE_CHANVOICE, + XP_TE_CONNECTED, XP_TE_CONNECT, + XP_TE_CONNFAIL, XP_TE_CTCPGEN, + XP_TE_CTCPGENC, XP_TE_CTCPSEND, + XP_TE_CTCPSND, XP_TE_CTCPSNDC, + XP_TE_DCCCHATABORT, XP_TE_DCCCONCHAT, + XP_TE_DCCCHATF, XP_TE_DCCCHATOFFER, + XP_TE_DCCCHATOFFERING, XP_TE_DCCCHATREOFFER, + XP_TE_DCCCONFAIL, XP_TE_DCCGENERICOFFER, + XP_TE_DCCHEAD, XP_TE_MALFORMED, + XP_TE_DCCOFFER, XP_TE_DCCIVAL, + XP_TE_DCCRECVABORT, XP_TE_DCCRECVCOMP, + XP_TE_DCCCONRECV, XP_TE_DCCRECVERR, + XP_TE_DCCFILEERR, XP_TE_DCCRENAME, + XP_TE_DCCRESUMEREQUEST, XP_TE_DCCSENDABORT, + XP_TE_DCCSENDCOMP, XP_TE_DCCCONSEND, + XP_TE_DCCSENDFAIL, XP_TE_DCCSENDOFFER, + XP_TE_DCCSTALL, XP_TE_DCCTOUT, + XP_TE_DELNOTIFY, XP_TE_DISCON, + XP_TE_FOUNDIP, XP_TE_GENMSG, + XP_TE_IGNOREADD, XP_TE_IGNORECHANGE, + XP_TE_IGNOREFOOTER, XP_TE_IGNOREHEADER, + XP_TE_IGNOREREMOVE, XP_TE_IGNOREEMPTY, + XP_TE_INVITE, XP_TE_INVITED, + XP_TE_JOIN, XP_TE_KEYWORD, + XP_TE_KICK, XP_TE_KILL, + XP_TE_MSGSEND, XP_TE_MOTD, + XP_TE_MOTDSKIP, XP_TE_NICKCLASH, + XP_TE_NICKFAIL, XP_TE_NODCC, + XP_TE_NOCHILD, XP_TE_NOTICE, + XP_TE_NOTICESEND, XP_TE_NOTIFYEMPTY, + XP_TE_NOTIFYHEAD, XP_TE_NOTIFYNUMBER, + XP_TE_NOTIFYOFFLINE, XP_TE_NOTIFYONLINE, + XP_TE_OPENDIALOG, XP_TE_PART, + XP_TE_PARTREASON, XP_TE_PINGREP, + XP_TE_PINGTIMEOUT, XP_TE_PRIVACTION, + XP_TE_DPRIVACTION, XP_TE_PRIVMSG, + XP_TE_DPRIVMSG, XP_TE_ALREADYPROCESS, + XP_TE_QUIT, XP_TE_RAWMODES, + XP_TE_WALLOPS, XP_TE_RESOLVINGUSER, + XP_TE_SERVERCONNECTED, XP_TE_SERVERERROR, + XP_TE_SERVERLOOKUP, XP_TE_SERVNOTICE, + XP_TE_SERVTEXT, XP_TE_SSLMESSAGE, + XP_TE_STOPCONNECT, XP_TE_TOPIC, + XP_TE_NEWTOPIC, XP_TE_TOPICDATE, + XP_TE_UKNHOST, XP_TE_USERLIMIT, + XP_TE_USERSONCHAN, XP_TE_WHOIS_AUTH, + XP_TE_WHOIS5, XP_TE_WHOIS2, + XP_TE_WHOIS6, XP_TE_WHOIS_ID, + XP_TE_WHOIS4, XP_TE_WHOIS4T, + XP_TE_WHOIS1, XP_TE_WHOIS_REALHOST, + XP_TE_WHOIS3, XP_TE_WHOIS_SPECIAL, + XP_TE_UJOIN, XP_TE_UKICK, + XP_TE_UPART, XP_TE_UPARTREASON, + XP_TE_UACTION, XP_TE_UINVITE, + XP_TE_UCHANMSG, XP_TE_UCHANGENICK, + NUM_XP +}; diff --git a/src/common/textevents.h b/src/common/textevents.h new file mode 100644 index 00000000..08a54da5 --- /dev/null +++ b/src/common/textevents.h @@ -0,0 +1,424 @@ +/* this file is auto generated, edit textevents.in instead! */ + +const struct text_event te[] = { + +{"Add Notify", pevt_generic_nick_help, 1, +N_("%C22*%O$t$1 added to notify list.")}, + +{"Ban List", pevt_banlist_help, 4, +N_("%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3")}, + +{"Banned", pevt_generic_channel_help, 1, +N_("%C22*%O$tCannot join%C26 %B$1 %O(You are banned).")}, + +{"Beep", pevt_generic_none_help, 128, +""}, + +{"Change Nick", pevt_changenick_help, 2, +N_("%C22*%O$t$1 is now known as $2")}, + +{"Channel Action", pevt_chanaction_help, 132, +"%C18*$t$1%O $2"}, + +{"Channel Action Hilight", pevt_chanaction_help, 132, +"%C21*%O$t%C21%B$1%O%C21 $2"}, + +{"Channel Ban", pevt_chanban_help, 2, +N_("%C22*%O$t$1 sets ban on $2")}, + +{"Channel Creation", pevt_chandate_help, 2, +N_("%C22*%O$tChannel $1 created on $2")}, + +{"Channel DeHalfOp", pevt_chandehop_help, 2, +N_("%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2")}, + +{"Channel DeOp", pevt_chandeop_help, 2, +N_("%C22*%O$t%C26$1%O removes channel operator status from%C26 $2")}, + +{"Channel DeVoice", pevt_chandevoice_help, 2, +N_("%C22*%O$t%C26$1%O removes voice from%C26 $2")}, + +{"Channel Exempt", pevt_chanexempt_help, 2, +N_("%C22*%O$t$1 sets exempt on $2")}, + +{"Channel Half-Operator", pevt_chanhop_help, 2, +N_("%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2")}, + +{"Channel INVITE", pevt_chaninvite_help, 2, +N_("%C22*%O$t$1 sets invite on $2")}, + +{"Channel List", pevt_generic_none_help, 0, +N_("%UChannel Users Topic")}, + +{"Channel Message", pevt_chanmsg_help, 132, +"%C18%H<%H$4$1%H>%H%O$t$2"}, + +{"Channel Mode Generic", pevt_chanmodegen_help, 4, +N_("%C22*%O$t$1 sets mode $2$3 $4")}, + +{"Channel Modes", pevt_chanmodes_help, 2, +N_("%C22*%O$t%C22Channel $1 modes: $2")}, + +{"Channel Msg Hilight", pevt_chanmsg_help, 132, +"$4%C21%B%H<%H$1%H>%H%O%C21$t$2"}, + +{"Channel Notice", pevt_channotice_help, 131, +"%C28-%C29$1/$2%C28-%O$t$3"}, + +{"Channel Operator", pevt_chanop_help, 2, +N_("%C22*%O$t%C26$1%O gives channel operator status to%C26 $2")}, + +{"Channel Remove Exempt", pevt_chanrmexempt_help, 2, +N_("%C22*%O$t$1 removes exempt on $2")}, + +{"Channel Remove Invite", pevt_chanrminvite_help, 2, +N_("%C22*%O$t$1 removes invite on $2")}, + +{"Channel Remove Keyword", pevt_chanrmkey_help, 1, +N_("%C22*%O$t$1 removes channel keyword")}, + +{"Channel Remove Limit", pevt_chanrmlimit_help, 1, +N_("%C22*%O$t$1 removes user limit")}, + +{"Channel Set Key", pevt_chansetkey_help, 2, +N_("%C22*%O$t$1 sets channel keyword to $2")}, + +{"Channel Set Limit", pevt_chansetlimit_help, 2, +N_("%C22*%O$t$1 sets channel limit to $2")}, + +{"Channel UnBan", pevt_chanunban_help, 2, +N_("%C22*%O$t$1 removes ban on $2")}, + +{"Channel Voice", pevt_chanvoice_help, 2, +N_("%C22*%O$t%C26$1%O gives voice to%C26 $2")}, + +{"Connected", pevt_generic_none_help, 0, +N_("%C22*%O$t%C22Connected. Now logging in...")}, + +{"Connecting", pevt_connect_help, 3, +N_("%C22*%O$t%C22Connecting to $1 ($2) port $3%O...")}, + +{"Connection Failed", pevt_connfail_help, 1, +N_("%C21*%O$t%C21Connection failed. Error: $1")}, + +{"CTCP Generic", pevt_ctcpgen_help, 2, +N_("%C22*%O$tReceived a CTCP $1 from $2")}, + +{"CTCP Generic to Channel", pevt_ctcpgenc_help, 3, +N_("%C22*%O$tReceived a CTCP $1 from $2 (to $3)")}, + +{"CTCP Send", pevt_ctcpsend_help, 2, +N_("%C19>%O$1%C19<%O$tCTCP $2")}, + +{"CTCP Sound", pevt_ctcpsnd_help, 2, +N_("%C22*%O$tReceived a CTCP Sound $1 from $2")}, + +{"CTCP Sound to Channel", pevt_ctcpsnd_help, 3, +N_("%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3)")}, + +{"DCC CHAT Abort", pevt_dccchatabort_help, 1, +N_("%C22*%O$tDCC CHAT to %C26$1%O aborted.")}, + +{"DCC CHAT Connect", pevt_dccchatcon_help, 2, +N_("%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30]")}, + +{"DCC CHAT Failed", pevt_dccchaterr_help, 4, +N_("%C22*%O$tDCC CHAT to %C26$1%O lost ($4).")}, + +{"DCC CHAT Offer", pevt_generic_nick_help, 1, +N_("%C22*%O$tReceived a DCC CHAT offer from $1")}, + +{"DCC CHAT Offering", pevt_generic_nick_help, 1, +N_("%C22*%O$tOffering DCC CHAT to $1")}, + +{"DCC CHAT Reoffer", pevt_generic_nick_help, 1, +N_("%C22*%O$tAlready offering CHAT to $1")}, + +{"DCC Conection Failed", pevt_dccconfail_help, 3, +N_("%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3).")}, + +{"DCC Generic Offer", pevt_dccgenericoffer_help, 2, +N_("%C22*%O$tReceived '$1%O' from $2")}, + +{"DCC Header", pevt_generic_none_help, 0, +N_("%C24,18 Type To/From Status Size Pos File ")}, + +{"DCC Malformed", pevt_malformed_help, 2, +N_("%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2")}, + +{"DCC Offer", pevt_dccoffer_help, 3, +N_("%C22*%O$tOffering%C26 $1%O to%C26 $2")}, + +{"DCC Offer Not Valid", pevt_generic_none_help, 0, +N_("%C22*%O$tNo such DCC offer.")}, + +{"DCC RECV Abort", pevt_dccfileabort_help, 2, +N_("%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted.")}, + +{"DCC RECV Complete", pevt_dccrecvcomp_help, 4, +N_("%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O.")}, + +{"DCC RECV Connect", pevt_dcccon_help, 3, +N_("%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30]")}, + +{"DCC RECV Failed", pevt_dccrecverr_help, 4, +N_("%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4).")}, + +{"DCC RECV File Open Error", pevt_generic_file_help, 2, +N_("%C22*%O$tDCC RECV: Cannot open $1 for writing ($2).")}, + +{"DCC Rename", pevt_dccrename_help, 2, +N_("%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead.")}, + +{"DCC RESUME Request", pevt_dccresumeoffer_help, 3, +N_("%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C.")}, + +{"DCC SEND Abort", pevt_dccfileabort_help, 2, +N_("%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted.")}, + +{"DCC SEND Complete", pevt_dccsendcomp_help, 3, +N_("%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O.")}, + +{"DCC SEND Connect", pevt_dcccon_help, 3, +N_("%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30]")}, + +{"DCC SEND Failed", pevt_dccsendfail_help, 3, +N_("%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3")}, + +{"DCC SEND Offer", pevt_dccsendoffer_help, 4, +N_("%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes)")}, + +{"DCC Stall", pevt_dccstall_help, 3, +N_("%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting.")}, + +{"DCC Timeout", pevt_dccstall_help, 3, +N_("%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting.")}, + +{"Delete Notify", pevt_generic_nick_help, 1, +N_("%C22*%O$t$1 deleted from notify list.")}, + +{"Disconnected", pevt_discon_help, 1, +N_("%C22*%O$tDisconnected ($1).")}, + +{"Found IP", pevt_foundip_help, 1, +N_("%C22*%O$tFound your IP: [$1]")}, + +{"Generic Message", pevt_genmsg_help, 130, +"$1$t$2"}, + +{"Ignore Add", pevt_ignoreaddremove_help, 1, +N_("%O%C26$1%O added to ignore list.")}, + +{"Ignore Changed", pevt_ignoreaddremove_help, 1, +N_("Ignore on %C26$1%O changed.")}, + +{"Ignore Footer", pevt_generic_none_help, 0, +N_("%C24,18 ")}, + +{"Ignore Header", pevt_generic_none_help, 0, +N_("%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG ")}, + +{"Ignore Remove", pevt_ignoreaddremove_help, 1, +N_("%O%C26$1%O removed from ignore list.")}, + +{"Ignorelist Empty", pevt_generic_none_help, 0, +N_(" Ignore list is empty.")}, + +{"Invite", pevt_generic_channel_help, 1, +N_("%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only).")}, + +{"Invited", pevt_invited_help, 3, +N_("%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C)")}, + +{"Join", pevt_join_help, 3, +N_("%C19*%O$t%C19%B$1 %B($3) has joined $2")}, + +{"Keyword", pevt_generic_channel_help, 1, +N_("%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword).")}, + +{"Kick", pevt_kick_help, 4, +N_("%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21)")}, + +{"Killed", pevt_kill_help, 2, +N_("%C22*%O$tYou have been killed by $1 ($2%O%C22)")}, + +{"Message Send", pevt_ctcpsend_help, 130, +"%C19>%O$1%C19<%O$t$2"}, + +{"Motd", pevt_servertext_help, 129, +"%C16*%O$t$1%O"}, + +{"MOTD Skipped", pevt_generic_none_help, 0, +N_("%C22*%O$t%C22MOTD Skipped.")}, + +{"Nick Clash", pevt_nickclash_help, 2, +N_("%C22*%O$t$1 already in use. Retrying with $2...")}, + +{"Nick Failed", pevt_generic_none_help, 0, +N_("%C22*%O$tNickname already in use. Use /NICK to try another.")}, + +{"No DCC", pevt_generic_none_help, 0, +N_("%C22*%O$tNo such DCC.")}, + +{"No Running Process", pevt_generic_none_help, 0, +N_("%C22*%O$tNo process is currently running")}, + +{"Notice", pevt_notice_help, 130, +"%C28-%C29$1%C28-%O$t$2"}, + +{"Notice Send", pevt_ctcpsend_help, 130, +"%C19>%O$1%C19<%O$t$2"}, + +{"Notify Empty", pevt_generic_none_help, 0, +N_("$tNotify list is empty.")}, + +{"Notify Header", pevt_generic_none_help, 0, +N_("%C24,18 %B Notify List ")}, + +{"Notify Number", pevt_notifynumber_help, 1, +N_("%C22*%O$t$1 users in notify list.")}, + +{"Notify Offline", pevt_generic_nick_help, 3, +N_("%C22*%O$tNotify: $1 is offline ($3).")}, + +{"Notify Online", pevt_generic_nick_help, 3, +N_("%C22*%O$tNotify: $1 is online ($3).")}, + +{"Open Dialog", pevt_generic_none_help, 128, +""}, + +{"Part", pevt_part_help, 3, +N_("%C23*%O$t%C23$1 (%O%C23$2) has left $3")}, + +{"Part with Reason", pevt_partreason_help, 4, +N_("%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23)")}, + +{"Ping Reply", pevt_pingrep_help, 2, +N_("%C22*%O$tPing reply from $1: $2 second(s)")}, + +{"Ping Timeout", pevt_pingtimeout_help, 1, +N_("%C22*%O$tNo ping reply for $1 seconds, disconnecting.")}, + +{"Private Action", pevt_privmsg_help, 131, +"%C18**$t$3$1%O $2 %C18**"}, + +{"Private Action to Dialog", pevt_privmsg_help, 131, +"%C18*$t$3$1%O $2"}, + +{"Private Message", pevt_privmsg_help, 131, +"%C28*%C29$3$1%C28*$t%O$2"}, + +{"Private Message to Dialog", pevt_privmsg_help, 131, +"%C18%H<%H$3$1%H>%H%O$t$2"}, + +{"Process Already Running", pevt_generic_none_help, 0, +N_("%C22*%O$tA process is already running")}, + +{"Quit", pevt_quit_help, 3, +N_("%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23)")}, + +{"Raw Modes", pevt_rawmodes_help, 2, +N_("%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30]")}, + +{"Receive Wallops", pevt_privmsg_help, 2, +N_("%C28-%C29$1/Wallops%C28-%O$t$2")}, + +{"Resolving User", pevt_resolvinguser_help, 2, +N_("%C22*%O$tLooking up IP number for%C26 $1%O...")}, + +{"Server Connected", pevt_generic_none_help, 0, +N_("%C22*%O$t%C22Connected.")}, + +{"Server Error", pevt_servererror_help, 129, +"%C22*%O$t$1"}, + +{"Server Lookup", pevt_serverlookup_help, 1, +N_("%C22*%O$t%C22Looking up $1")}, + +{"Server Notice", pevt_servertext_help, 130, +"%C22*%O$t$1"}, + +{"Server Text", pevt_servertext_help, 131, +"%C22*%O$t$1"}, + +{"SSL Message", pevt_sslmessage_help, 130, +"%C22*%O$t$1"}, + +{"Stop Connection", pevt_sconnect_help, 1, +N_("%C22*%O$tStopped previous connection attempt (pid=$1)")}, + +{"Topic", pevt_topic_help, 2, +N_("%C29*%O$t%C29Topic for $1%C %C29is: $2")}, + +{"Topic Change", pevt_newtopic_help, 3, +N_("%C22*%O$t$1 has changed the topic to: $2")}, + +{"Topic Creation", pevt_topicdate_help, 3, +N_("%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3")}, + +{"Unknown Host", pevt_generic_none_help, 0, +N_("%C22*%O$tUnknown host. Maybe you misspelled it?")}, + +{"User Limit", pevt_generic_channel_help, 1, +N_("%C22*%O$tCannot join%C26 %B$1 %O(User limit reached).")}, + +{"Users On Channel", pevt_usersonchan_help, 2, +N_("%C22*%O$t%C26Users on $1:%C $2")}, + +{"WhoIs Authenticated", pevt_whoisauth_help, 3, +N_("%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3")}, + +{"WhoIs Away Line", pevt_whois5_help, 2, +N_("%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30)")}, + +{"WhoIs Channel/Oper Line", pevt_whois2_help, 2, +N_("%C22*%O$t%C28[%O$1%C28]%O $2")}, + +{"WhoIs End", pevt_whois6_help, 1, +N_("%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list.")}, + +{"WhoIs Identified", pevt_whoisid_help, 2, +N_("%C22*%O$t%C28[%O$1%C28]%O $2")}, + +{"WhoIs Idle Line", pevt_whois4_help, 2, +N_("%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2")}, + +{"WhoIs Idle Line with Signon", pevt_whois4t_help, 3, +N_("%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3")}, + +{"WhoIs Name Line", pevt_whois1_help, 4, +N_("%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4")}, + +{"WhoIs Real Host", pevt_whoisrealhost_help, 4, +N_("%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3")}, + +{"WhoIs Server Line", pevt_whois3_help, 2, +N_("%C22*%O$t%C28[%O$1%C28]%O $2")}, + +{"WhoIs Special", pevt_whoisid_help, 3, +N_("%C22*%O$t%C28[%O$1%C28]%O $2")}, + +{"You Join", pevt_join_help, 3, +N_("%C19*%O$t%C19Now talking on $2")}, + +{"You Kicked", pevt_ukick_help, 4, +N_("%C23*$tYou have been kicked from $2 by $3 ($4%O%C23)")}, + +{"You Part", pevt_part_help, 3, +N_("%C23*$tYou have left channel $3")}, + +{"You Part with Reason", pevt_partreason_help, 4, +N_("%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23)")}, + +{"Your Action", pevt_chanaction_help, 131, +"%C18*$t$1%O $2"}, + +{"Your Invitation", pevt_uinvite_help, 3, +N_("%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O)")}, + +{"Your Message", pevt_chanmsg_help, 132, +"%C31%H<%H$4$1%H>%H%O%C30$t$2"}, + +{"Your Nick Changing", pevt_uchangenick_help, 2, +N_("%C22*%O$tYou are now known as $2")}, +}; diff --git a/src/common/textevents.in b/src/common/textevents.in new file mode 100644 index 00000000..5b4ce18c --- /dev/null +++ b/src/common/textevents.in @@ -0,0 +1,840 @@ +Add Notify +XP_TE_ADDNOTIFY +pevt_generic_nick_help +%C22*%O$t$1 added to notify list. +1 + +Ban List +XP_TE_BANLIST +pevt_banlist_help +%C22*%O$t$1 Banlist:%C19 $4%C20 $2%C21 $3 +4 + +Banned +XP_TE_BANNED +pevt_generic_channel_help +%C22*%O$tCannot join%C26 %B$1 %O(You are banned). +1 + +Beep +XP_TE_BEEP +pevt_generic_none_help + +n0 + +Change Nick +XP_TE_CHANGENICK +pevt_changenick_help +%C22*%O$t$1 is now known as $2 +2 + +Channel Action +XP_TE_CHANACTION +pevt_chanaction_help +%C18*$t$1%O $2 +n4 + +Channel Action Hilight +XP_TE_HCHANACTION +pevt_chanaction_help +%C21*%O$t%C21%B$1%O%C21 $2 +n4 + +Channel Ban +XP_TE_CHANBAN +pevt_chanban_help +%C22*%O$t$1 sets ban on $2 +2 + +Channel Creation +XP_TE_CHANDATE +pevt_chandate_help +%C22*%O$tChannel $1 created on $2 +2 + +Channel DeHalfOp +XP_TE_CHANDEHOP +pevt_chandehop_help +%C22*%O$t%C26$1%O removes channel half-operator status from%C26 $2 +2 + +Channel DeOp +XP_TE_CHANDEOP +pevt_chandeop_help +%C22*%O$t%C26$1%O removes channel operator status from%C26 $2 +2 + +Channel DeVoice +XP_TE_CHANDEVOICE +pevt_chandevoice_help +%C22*%O$t%C26$1%O removes voice from%C26 $2 +2 + +Channel Exempt +XP_TE_CHANEXEMPT +pevt_chanexempt_help +%C22*%O$t$1 sets exempt on $2 +2 + +Channel Half-Operator +XP_TE_CHANHOP +pevt_chanhop_help +%C22*%O$t%C26$1%O gives channel half-operator status to%C26 $2 +2 + +Channel INVITE +XP_TE_CHANINVITE +pevt_chaninvite_help +%C22*%O$t$1 sets invite on $2 +2 + +Channel List +XP_TE_CHANLISTHEAD +pevt_generic_none_help +%UChannel Users Topic +0 + +Channel Message +XP_TE_CHANMSG +pevt_chanmsg_help +%C18%H<%H$4$1%H>%H%O$t$2 +n4 + +Channel Mode Generic +XP_TE_CHANMODEGEN +pevt_chanmodegen_help +%C22*%O$t$1 sets mode $2$3 $4 +4 + +Channel Modes +XP_TE_CHANMODES +pevt_chanmodes_help +%C22*%O$t%C22Channel $1 modes: $2 +2 + +Channel Msg Hilight +XP_TE_HCHANMSG +pevt_chanmsg_help +$4%C21%B%H<%H$1%H>%H%O%C21$t$2 +n4 + +Channel Notice +XP_TE_CHANNOTICE +pevt_channotice_help +%C28-%C29$1/$2%C28-%O$t$3 +n3 + +Channel Operator +XP_TE_CHANOP +pevt_chanop_help +%C22*%O$t%C26$1%O gives channel operator status to%C26 $2 +2 + +Channel Remove Exempt +XP_TE_CHANRMEXEMPT +pevt_chanrmexempt_help +%C22*%O$t$1 removes exempt on $2 +2 + +Channel Remove Invite +XP_TE_CHANRMINVITE +pevt_chanrminvite_help +%C22*%O$t$1 removes invite on $2 +2 + +Channel Remove Keyword +XP_TE_CHANRMKEY +pevt_chanrmkey_help +%C22*%O$t$1 removes channel keyword +1 + +Channel Remove Limit +XP_TE_CHANRMLIMIT +pevt_chanrmlimit_help +%C22*%O$t$1 removes user limit +1 + +Channel Set Key +XP_TE_CHANSETKEY +pevt_chansetkey_help +%C22*%O$t$1 sets channel keyword to $2 +2 + +Channel Set Limit +XP_TE_CHANSETLIMIT +pevt_chansetlimit_help +%C22*%O$t$1 sets channel limit to $2 +2 + +Channel UnBan +XP_TE_CHANUNBAN +pevt_chanunban_help +%C22*%O$t$1 removes ban on $2 +2 + +Channel Voice +XP_TE_CHANVOICE +pevt_chanvoice_help +%C22*%O$t%C26$1%O gives voice to%C26 $2 +2 + +Connected +XP_TE_CONNECTED +pevt_generic_none_help +%C22*%O$t%C22Connected. Now logging in... +0 + +Connecting +XP_TE_CONNECT +pevt_connect_help +%C22*%O$t%C22Connecting to $1 ($2) port $3%O... +3 + +Connection Failed +XP_TE_CONNFAIL +pevt_connfail_help +%C21*%O$t%C21Connection failed. Error: $1 +1 + +CTCP Generic +XP_TE_CTCPGEN +pevt_ctcpgen_help +%C22*%O$tReceived a CTCP $1 from $2 +2 + +CTCP Generic to Channel +XP_TE_CTCPGENC +pevt_ctcpgenc_help +%C22*%O$tReceived a CTCP $1 from $2 (to $3) +3 + +CTCP Send +XP_TE_CTCPSEND +pevt_ctcpsend_help +%C19>%O$1%C19<%O$tCTCP $2 +2 + +CTCP Sound +XP_TE_CTCPSND +pevt_ctcpsnd_help +%C22*%O$tReceived a CTCP Sound $1 from $2 +2 + +CTCP Sound to Channel +XP_TE_CTCPSNDC +pevt_ctcpsnd_help +%C22*%O$tReceived a CTCP Sound $1 from $2 (to $3) +3 + +DCC CHAT Abort +XP_TE_DCCCHATABORT +pevt_dccchatabort_help +%C22*%O$tDCC CHAT to %C26$1%O aborted. +1 + +DCC CHAT Connect +XP_TE_DCCCONCHAT +pevt_dccchatcon_help +%C22*%O$tDCC CHAT connection established to %C26$1 %C30[%O$2%C30] +2 + +DCC CHAT Failed +XP_TE_DCCCHATF +pevt_dccchaterr_help +%C22*%O$tDCC CHAT to %C26$1%O lost ($4). +4 + +DCC CHAT Offer +XP_TE_DCCCHATOFFER +pevt_generic_nick_help +%C22*%O$tReceived a DCC CHAT offer from $1 +1 + +DCC CHAT Offering +XP_TE_DCCCHATOFFERING +pevt_generic_nick_help +%C22*%O$tOffering DCC CHAT to $1 +1 + +DCC CHAT Reoffer +XP_TE_DCCCHATREOFFER +pevt_generic_nick_help +%C22*%O$tAlready offering CHAT to $1 +1 + +DCC Conection Failed +XP_TE_DCCCONFAIL +pevt_dccconfail_help +%C22*%O$tDCC $1 connect attempt to%C26 $2%O failed (err=$3). +3 + +DCC Generic Offer +XP_TE_DCCGENERICOFFER +pevt_dccgenericoffer_help +%C22*%O$tReceived '$1%O' from $2 +2 + +DCC Header +XP_TE_DCCHEAD +pevt_generic_none_help +%C24,18 Type To/From Status Size Pos File +0 + +DCC Malformed +XP_TE_MALFORMED +pevt_malformed_help +%C22*%O$tReceived a malformed DCC request from %C26$1%O.%010%C22*%O$tContents of packet: $2 +2 + +DCC Offer +XP_TE_DCCOFFER +pevt_dccoffer_help +%C22*%O$tOffering%C26 $1%O to%C26 $2 +3 + +DCC Offer Not Valid +XP_TE_DCCIVAL +pevt_generic_none_help +%C22*%O$tNo such DCC offer. +0 + +DCC RECV Abort +XP_TE_DCCRECVABORT +pevt_dccfileabort_help +%C22*%O$tDCC RECV%C26 $2%O to%C26 $1%O aborted. +2 + +DCC RECV Complete +XP_TE_DCCRECVCOMP +pevt_dccrecvcomp_help +%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O complete %C30[%C26$4%O cps%C30]%O. +4 + +DCC RECV Connect +XP_TE_DCCCONRECV +pevt_dcccon_help +%C22*%O$tDCC RECV connection established to%C26 $1 %C30[%O$2%C30] +3 + +DCC RECV Failed +XP_TE_DCCRECVERR +pevt_dccrecverr_help +%C22*%O$tDCC RECV%C26 $1%O from%C26 $3%O failed ($4). +4 + +DCC RECV File Open Error +XP_TE_DCCFILEERR +pevt_generic_file_help +%C22*%O$tDCC RECV: Cannot open $1 for writing ($2). +2 + +DCC Rename +XP_TE_DCCRENAME +pevt_dccrename_help +%C22*%O$tThe file%C26 $1%C already exists, saving it as%C26 $2%O instead. +2 + +DCC RESUME Request +XP_TE_DCCRESUMEREQUEST +pevt_dccresumeoffer_help +%C22*%O$t%C26$1 %Ohas requested to resume%C26 $2 %Cfrom%C26 $3%C. +3 + +DCC SEND Abort +XP_TE_DCCSENDABORT +pevt_dccfileabort_help +%C22*%O$tDCC SEND%C26 $2%O to%C26 $1%O aborted. +2 + +DCC SEND Complete +XP_TE_DCCSENDCOMP +pevt_dccsendcomp_help +%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O complete %C30[%C26$3%O cps%C30]%O. +3 + +DCC SEND Connect +XP_TE_DCCCONSEND +pevt_dcccon_help +%C22*%O$tDCC SEND connection established to%C26 $1 %C30[%O$2%C30] +3 + +DCC SEND Failed +XP_TE_DCCSENDFAIL +pevt_dccsendfail_help +%C22*%O$tDCC SEND%C26 $1%O to%C26 $2%O failed. $3 +3 + +DCC SEND Offer +XP_TE_DCCSENDOFFER +pevt_dccsendoffer_help +%C22*%O$t%C26$1 %Ohas offered%C26 $2 %O(%C26$3 %Obytes) +4 + +DCC Stall +XP_TE_DCCSTALL +pevt_dccstall_help +%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Cstalled - aborting. +3 + +DCC Timeout +XP_TE_DCCTOUT +pevt_dccstall_help +%C22*%O$tDCC $1%C26 $2 %Oto%C26 $3 %Otimed out - aborting. +3 + +Delete Notify +XP_TE_DELNOTIFY +pevt_generic_nick_help +%C22*%O$t$1 deleted from notify list. +1 + +Disconnected +XP_TE_DISCON +pevt_discon_help +%C22*%O$tDisconnected ($1). +1 + +Found IP +XP_TE_FOUNDIP +pevt_foundip_help +%C22*%O$tFound your IP: [$1] +1 + +Generic Message +XP_TE_GENMSG +pevt_genmsg_help +$1$t$2 +n2 + +Ignore Add +XP_TE_IGNOREADD +pevt_ignoreaddremove_help +%O%C26$1%O added to ignore list. +1 + +Ignore Changed +XP_TE_IGNORECHANGE +pevt_ignoreaddremove_help +Ignore on %C26$1%O changed. +1 + +Ignore Footer +XP_TE_IGNOREFOOTER +pevt_generic_none_help +%C24,18 +0 + +Ignore Header +XP_TE_IGNOREHEADER +pevt_generic_none_help +%C24,18 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG +0 + +Ignore Remove +XP_TE_IGNOREREMOVE +pevt_ignoreaddremove_help +%O%C26$1%O removed from ignore list. +1 + +Ignorelist Empty +XP_TE_IGNOREEMPTY +pevt_generic_none_help + Ignore list is empty. +0 + +Invite +XP_TE_INVITE +pevt_generic_channel_help +%C22*%O$tCannot join%C26 %B$1 %O(Channel is invite only). +1 + +Invited +XP_TE_INVITED +pevt_invited_help +%C22*%O$tYou have been invited to%C26 $1%O by%C26 $2%C (%C26$3%C) +3 + +Join +XP_TE_JOIN +pevt_join_help +%C19*%O$t%C19%B$1 %B($3) has joined $2 +3 + +Keyword +XP_TE_KEYWORD +pevt_generic_channel_help +%C22*%O$tCannot join%C26 %B$1 %O(Requires keyword). +1 + +Kick +XP_TE_KICK +pevt_kick_help +%C21*%O$t%C21$1 has kicked $2 from $3 ($4%O%C21) +4 + +Killed +XP_TE_KILL +pevt_kill_help +%C22*%O$tYou have been killed by $1 ($2%O%C22) +2 + +Message Send +XP_TE_MSGSEND +pevt_ctcpsend_help +%C19>%O$1%C19<%O$t$2 +n2 + +Motd +XP_TE_MOTD +pevt_servertext_help +%C16*%O$t$1%O +n1 + +MOTD Skipped +XP_TE_MOTDSKIP +pevt_generic_none_help +%C22*%O$t%C22MOTD Skipped. +0 + +Nick Clash +XP_TE_NICKCLASH +pevt_nickclash_help +%C22*%O$t$1 already in use. Retrying with $2... +2 + +Nick Failed +XP_TE_NICKFAIL +pevt_generic_none_help +%C22*%O$tNickname already in use. Use /NICK to try another. +0 + +No DCC +XP_TE_NODCC +pevt_generic_none_help +%C22*%O$tNo such DCC. +0 + +No Running Process +XP_TE_NOCHILD +pevt_generic_none_help +%C22*%O$tNo process is currently running +0 + +Notice +XP_TE_NOTICE +pevt_notice_help +%C28-%C29$1%C28-%O$t$2 +n2 + +Notice Send +XP_TE_NOTICESEND +pevt_ctcpsend_help +%C19>%O$1%C19<%O$t$2 +n2 + +Notify Empty +XP_TE_NOTIFYEMPTY +pevt_generic_none_help +$tNotify list is empty. +0 + +Notify Header +XP_TE_NOTIFYHEAD +pevt_generic_none_help +%C24,18 %B Notify List +0 + +Notify Number +XP_TE_NOTIFYNUMBER +pevt_notifynumber_help +%C22*%O$t$1 users in notify list. +1 + +Notify Offline +XP_TE_NOTIFYOFFLINE +pevt_generic_nick_help +%C22*%O$tNotify: $1 is offline ($3). +3 + +Notify Online +XP_TE_NOTIFYONLINE +pevt_generic_nick_help +%C22*%O$tNotify: $1 is online ($3). +3 + +Open Dialog +XP_TE_OPENDIALOG +pevt_generic_none_help + +n0 + +Part +XP_TE_PART +pevt_part_help +%C23*%O$t%C23$1 (%O%C23$2) has left $3 +3 + +Part with Reason +XP_TE_PARTREASON +pevt_partreason_help +%C23*%O$t%C23$1 (%O%C23$2) has left $3 (%O%C23%B%B$4%O%C23) +4 + +Ping Reply +XP_TE_PINGREP +pevt_pingrep_help +%C22*%O$tPing reply from $1: $2 second(s) +2 + +Ping Timeout +XP_TE_PINGTIMEOUT +pevt_pingtimeout_help +%C22*%O$tNo ping reply for $1 seconds, disconnecting. +1 + +Private Action +XP_TE_PRIVACTION +pevt_privmsg_help +%C18**$t$3$1%O $2 %C18** +n3 + +Private Action to Dialog +XP_TE_DPRIVACTION +pevt_privmsg_help +%C18*$t$3$1%O $2 +n3 + +Private Message +XP_TE_PRIVMSG +pevt_privmsg_help +%C28*%C29$3$1%C28*$t%O$2 +n3 + +Private Message to Dialog +XP_TE_DPRIVMSG +pevt_privmsg_help +%C18%H<%H$3$1%H>%H%O$t$2 +n3 + +Process Already Running +XP_TE_ALREADYPROCESS +pevt_generic_none_help +%C22*%O$tA process is already running +0 + +Quit +XP_TE_QUIT +pevt_quit_help +%C23*%O$t%C23$1 has quit (%O%C23%B%B$2%O%C23) +3 + +Raw Modes +XP_TE_RAWMODES +pevt_rawmodes_help +%C22*%O$t$1 sets modes%B %C30[%O$2%B%C30] +2 + +Receive Wallops +XP_TE_WALLOPS +pevt_privmsg_help +%C28-%C29$1/Wallops%C28-%O$t$2 +2 + +Resolving User +XP_TE_RESOLVINGUSER +pevt_resolvinguser_help +%C22*%O$tLooking up IP number for%C26 $1%O... +2 + +Server Connected +XP_TE_SERVERCONNECTED +pevt_generic_none_help +%C22*%O$t%C22Connected. +0 + +Server Error +XP_TE_SERVERERROR +pevt_servererror_help +%C22*%O$t$1 +n1 + +Server Lookup +XP_TE_SERVERLOOKUP +pevt_serverlookup_help +%C22*%O$t%C22Looking up $1 +1 + +Server Notice +XP_TE_SERVNOTICE +pevt_servertext_help +%C22*%O$t$1 +n2 + +Server Text +XP_TE_SERVTEXT +pevt_servertext_help +%C22*%O$t$1 +n3 + +SSL Message +XP_TE_SSLMESSAGE +pevt_sslmessage_help +%C22*%O$t$1 +n2 + +Stop Connection +XP_TE_STOPCONNECT +pevt_sconnect_help +%C22*%O$tStopped previous connection attempt (pid=$1) +1 + +Topic +XP_TE_TOPIC +pevt_topic_help +%C29*%O$t%C29Topic for $1%C %C29is: $2 +2 + +Topic Change +XP_TE_NEWTOPIC +pevt_newtopic_help +%C22*%O$t$1 has changed the topic to: $2 +3 + +Topic Creation +XP_TE_TOPICDATE +pevt_topicdate_help +%C29*%O$t%C29Topic for $1%C %C29set by $2%C %C29at $3 +3 + +Unknown Host +XP_TE_UKNHOST +pevt_generic_none_help +%C22*%O$tUnknown host. Maybe you misspelled it? +0 + +User Limit +XP_TE_USERLIMIT +pevt_generic_channel_help +%C22*%O$tCannot join%C26 %B$1 %O(User limit reached). +1 + +Users On Channel +XP_TE_USERSONCHAN +pevt_usersonchan_help +%C22*%O$t%C26Users on $1:%C $2 +2 + +WhoIs Authenticated +XP_TE_WHOIS_AUTH +pevt_whoisauth_help +%C22*%O$t%C28[%O$1%C28] %O$2%C27 $3 +3 + +WhoIs Away Line +XP_TE_WHOIS5 +pevt_whois5_help +%C22*%O$t%C28[%O$1%C28] %Cis away %C30(%O$2%O%C30) +2 + +WhoIs Channel/Oper Line +XP_TE_WHOIS2 +pevt_whois2_help +%C22*%O$t%C28[%O$1%C28]%O $2 +2 + +WhoIs End +XP_TE_WHOIS6 +pevt_whois6_help +%C22*%O$t%C28[%O$1%C28] %OEnd of WHOIS list. +1 + +WhoIs Identified +XP_TE_WHOIS_ID +pevt_whoisid_help +%C22*%O$t%C28[%O$1%C28]%O $2 +2 + +WhoIs Idle Line +XP_TE_WHOIS4 +pevt_whois4_help +%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2 +2 + +WhoIs Idle Line with Signon +XP_TE_WHOIS4T +pevt_whois4t_help +%C22*%O$t%C28[%O$1%C28]%O idle%C26 $2%O, signon:%C26 $3 +3 + +WhoIs Name Line +XP_TE_WHOIS1 +pevt_whois1_help +%C22*%O$t%C28[%O$1%C28] %C30(%O$2@$3%C30)%O: $4 +4 + +WhoIs Real Host +XP_TE_WHOIS_REALHOST +pevt_whoisrealhost_help +%C22*%O$t%C28[%O$1%C28] %Oreal user@host%C27 $2%O, real IP%C27 $3 +4 + +WhoIs Server Line +XP_TE_WHOIS3 +pevt_whois3_help +%C22*%O$t%C28[%O$1%C28]%O $2 +2 + +WhoIs Special +XP_TE_WHOIS_SPECIAL +pevt_whoisid_help +%C22*%O$t%C28[%O$1%C28]%O $2 +3 + +You Join +XP_TE_UJOIN +pevt_join_help +%C19*%O$t%C19Now talking on $2 +3 + +You Kicked +XP_TE_UKICK +pevt_ukick_help +%C23*$tYou have been kicked from $2 by $3 ($4%O%C23) +4 + +You Part +XP_TE_UPART +pevt_part_help +%C23*$tYou have left channel $3 +3 + +You Part with Reason +XP_TE_UPARTREASON +pevt_partreason_help +%C23*$tYou have left channel $3 (%O%C23%B%B$4%O%C23) +4 + +Your Action +XP_TE_UACTION +pevt_chanaction_help +%C18*$t$1%O $2 +n3 + +Your Invitation +XP_TE_UINVITE +pevt_uinvite_help +%C22*%O$tYou've invited%C26 $1%O to%C26 $2%O (%C26$3%O) +3 + +Your Message +XP_TE_UCHANMSG +pevt_chanmsg_help +%C31%H<%H$4$1%H>%H%O%C30$t$2 +n4 + +Your Nick Changing +XP_TE_UCHANGENICK +pevt_uchangenick_help +%C22*%O$tYou are now known as $2 +2 + diff --git a/src/common/tree.c b/src/common/tree.c new file mode 100644 index 00000000..1627bd98 --- /dev/null +++ b/src/common/tree.c @@ -0,0 +1,215 @@ +/* +This is used for quick userlist insertion and lookup. It's not really +a tree, but it could be :) +*/ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +#include "tree.h" + +#define ARRAY_GROW 32 + +struct _tree +{ + int elements; + int array_size; + void **array; + tree_cmp_func *cmp; + void *data; +}; + +tree * +tree_new (tree_cmp_func *cmp, void *data) +{ + tree *t = calloc (1, sizeof (tree)); + t->cmp = cmp; + t->data = data; + return t; +} + +void +tree_destroy (tree *t) +{ + if (t) + { + if (t->array) + free (t->array); + free (t); + } +} + +static int +tree_find_insertion_pos (tree *t, void *key, int *done) +{ + int c, u, l, idx; + + if (t->elements < 1) + { + *done = 1; + t->array[0] = key; + t->elements++; + return 0; + } + + if (t->elements < 2) + { + *done = 1; + c = t->cmp (key, t->array[0], t->data); + if (c == 0) + return -1; + t->elements++; + if (c > 0) + { + t->array[1] = key; + return 1; + } + t->array[1] = t->array[0]; + t->array[0] = key; + return 0; + } + + *done = 0; + + c = t->cmp (key, t->array[0], t->data); + if (c < 0) + return 0; /* prepend */ + + c = t->cmp (key, t->array[t->elements - 1], t->data); + if (c > 0) + return t->elements; /* append */ + + l = 0; + u = t->elements - 1; + while (1) + { + idx = (l + u) / 2; + c = t->cmp (key, t->array[idx], t->data); + + if (0 > c) + u = idx; + else if (0 < c && 0 > t->cmp (key, t->array[idx+1], t->data)) + return idx + 1; + else if (c == 0) + return -1; + else + l = idx + 1; + } +} + +static void +tree_insert_at_pos (tree *t, void *key, int pos) +{ + int post_bytes; + + /* append is easy */ + if (pos != t->elements) + { + post_bytes = (t->elements - pos) * sizeof (void *); + memmove (&t->array[pos + 1], &t->array[pos], post_bytes); + } + + t->array[pos] = key; + t->elements++; +} + +static void * +mybsearch (const void *key, void **array, size_t nmemb, + int (*compar) (const void *, const void *, void *data), void *data, int *pos) +{ + int l, u, idx; + int comparison; + + l = 0; + u = nmemb; + while (l < u) + { + idx = (l + u) / 2; + comparison = (*compar) (key, array[idx], data); + if (comparison < 0) + u = idx; + else if (comparison > 0) + l = idx + 1; + else + { + *pos = idx; + return array[idx]; + } + } + + return NULL; +} + +void * +tree_find (tree *t, void *key, tree_cmp_func *cmp, void *data, int *pos) +{ + if (!t || !t->array) + return NULL; + + return mybsearch (key, &t->array[0], t->elements, cmp, data, pos); +} + +static void +tree_remove_at_pos (tree *t, int pos) +{ + int post_bytes; + + t->elements--; + if (pos != t->elements) + { + post_bytes = (t->elements - pos) * sizeof (void *); + memmove (&t->array[pos], &t->array[pos + 1], post_bytes); + } +} + +int +tree_remove (tree *t, void *key, int *pos) +{ + void *data; + + data = tree_find (t, key, t->cmp, t->data, pos); + if (!data) + return 0; + + tree_remove_at_pos (t, *pos); + return 1; +} + +void +tree_foreach (tree *t, tree_traverse_func *func, void *data) +{ + int j; + + if (!t || !t->array) + return; + + for (j = 0; j < t->elements; j++) + { + if (!func (t->array[j], data)) + break; + } +} + +int +tree_insert (tree *t, void *key) +{ + int pos, done; + + if (!t) + return -1; + + if (t->array_size < t->elements + 1) + { + int new_size = t->array_size + ARRAY_GROW; + + t->array = realloc (t->array, sizeof (void *) * new_size); + t->array_size = new_size; + } + + pos = tree_find_insertion_pos (t, key, &done); + if (!done && pos != -1) + tree_insert_at_pos (t, key, pos); + + return pos; +} diff --git a/src/common/tree.h b/src/common/tree.h new file mode 100644 index 00000000..b1b66aa9 --- /dev/null +++ b/src/common/tree.h @@ -0,0 +1,16 @@ +#ifndef XCHAT_TREE_H +#define XCHAT_TREE_H + +typedef struct _tree tree; + +typedef int (tree_cmp_func) (const void *keya, const void *keyb, void *data); +typedef int (tree_traverse_func) (const void *key, void *data); + +tree *tree_new (tree_cmp_func *cmp, void *data); +void tree_destroy (tree *t); +void *tree_find (tree *t, void *key, tree_cmp_func *cmp, void *data, int *pos); +int tree_remove (tree *t, void *key, int *pos); +void tree_foreach (tree *t, tree_traverse_func *func, void *data); +int tree_insert (tree *t, void *key); + +#endif diff --git a/src/common/url.c b/src/common/url.c new file mode 100644 index 00000000..92aeab0a --- /dev/null +++ b/src/common/url.c @@ -0,0 +1,280 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <ctype.h> +#include "xchat.h" +#include "cfgfiles.h" +#include "fe.h" +#include "tree.h" +#include "url.h" +#ifdef HAVE_STRINGS_H +#include <strings.h> +#endif + +void *url_tree = NULL; + + +static int +url_free (char *url, void *data) +{ + free (url); + return TRUE; +} + +void +url_clear (void) +{ + tree_foreach (url_tree, (tree_traverse_func *)url_free, NULL); + tree_destroy (url_tree); + url_tree = NULL; +} + +static int +url_save_cb (char *url, FILE *fd) +{ + fprintf (fd, "%s\n", url); + return TRUE; +} + +void +url_save (const char *fname, const char *mode, gboolean fullpath) +{ + FILE *fd; + + if (fullpath) + fd = xchat_fopen_file (fname, mode, XOF_FULLPATH); + else + fd = xchat_fopen_file (fname, mode, 0); + if (fd == NULL) + return; + + tree_foreach (url_tree, (tree_traverse_func *)url_save_cb, fd); + fclose (fd); +} + +void +url_autosave (void) +{ + url_save ("url.save", "a", FALSE); +} + +static int +url_find (char *urltext) +{ + int pos; + + if (tree_find (url_tree, urltext, (tree_cmp_func *)strcasecmp, NULL, &pos)) + return 1; + return 0; +} + +static void +url_add (char *urltext, int len) +{ + char *data = malloc (len + 1); + if (!data) + return; + memcpy (data, urltext, len); + data[len] = 0; + + if (data[len - 1] == '.') /* chop trailing dot */ + { + len--; + data[len] = 0; + } + if (data[len - 1] == ')') /* chop trailing ) */ + data[len - 1] = 0; + + if (url_find (data)) + { + free (data); + return; + } + + if (!url_tree) + url_tree = tree_new ((tree_cmp_func *)strcasecmp, NULL); + + tree_insert (url_tree, data); + fe_url_add (data); +} + +/* check if a word is clickable. This is called on mouse motion events, so + keep it FAST! This new version was found to be almost 3x faster than + 2.4.4 release. */ + +int +url_check_word (char *word, int len) +{ +#define D(x) (x), ((sizeof (x)) - 1) + static const struct { + const char *s; + int len; + } + prefix[] = { + { D("irc.") }, + { D("ftp.") }, + { D("www.") }, + { D("irc://") }, + { D("ftp://") }, + { D("http://") }, + { D("https://") }, + { D("file://") }, + { D("rtsp://") }, + { D("ut2004://") }, + }, + suffix[] = { + { D(".org") }, + { D(".net") }, + { D(".com") }, + { D(".edu") }, + { D(".html") }, + { D(".info") }, + { D(".name") }, + }; +#undef D + const char *at, *dot; + int i, dots; + + if (len > 1 && word[1] == '#' && strchr("@+^%*#", word[0])) + return WORD_CHANNEL; + + if ((word[0] == '#' || word[0] == '&') && word[1] != '#' && word[1] != 0) + return WORD_CHANNEL; + + for (i = 0; i < G_N_ELEMENTS(prefix); i++) + { + int l; + + l = prefix[i].len; + if (len > l) + { + int j; + + /* This is pretty much strncasecmp(). */ + for (j = 0; j < l; j++) + { + unsigned char c = word[j]; + if (tolower(c) != prefix[i].s[j]) + break; + } + if (j == l) + return WORD_URL; + } + } + + at = strchr (word, '@'); /* check for email addy */ + dot = strrchr (word, '.'); + if (at && dot) + { + if (at < dot) + { + if (strchr (word, '*')) + return WORD_HOST; + else + return WORD_EMAIL; + } + } + + /* check if it's an IP number */ + dots = 0; + for (i = 0; i < len; i++) + { + if (word[i] == '.' && i > 0) + dots++; /* allow 127.0.0.1:80 */ + else if (!isdigit ((unsigned char) word[i]) && word[i] != ':') + { + dots = 0; + break; + } + } + if (dots == 3) + return WORD_HOST; + + if (len > 5) + { + for (i = 0; i < G_N_ELEMENTS(suffix); i++) + { + int l; + + l = suffix[i].len; + if (len > l) + { + const unsigned char *p = &word[len - l]; + int j; + + /* This is pretty much strncasecmp(). */ + for (j = 0; j < l; j++) + { + if (tolower(p[j]) != suffix[i].s[j]) + break; + } + if (j == l) + return WORD_HOST; + } + } + + if (word[len - 3] == '.' && + isalpha ((unsigned char) word[len - 2]) && + isalpha ((unsigned char) word[len - 1])) + return WORD_HOST; + } + + return 0; +} + +void +url_check_line (char *buf, int len) +{ + char *po = buf; + char *start; + int wlen; + + if (buf[0] == ':' && buf[1] != 0) + po++; + + start = po; + + /* check each "word" (space separated) */ + while (1) + { + switch (po[0]) + { + case 0: + case ' ': + wlen = po - start; + if (wlen > 2) + { + if (url_check_word (start, wlen) == WORD_URL) + { + url_add (start, wlen); + } + } + if (po[0] == 0) + return; + po++; + start = po; + break; + + default: + po++; + } + } +} diff --git a/src/common/url.h b/src/common/url.h new file mode 100644 index 00000000..487a2007 --- /dev/null +++ b/src/common/url.h @@ -0,0 +1,19 @@ +#ifndef XCHAT_URL_H +#define XCHAT_URL_H + +extern void *url_tree; + +#define WORD_URL 1 +#define WORD_NICK 2 +#define WORD_CHANNEL 3 +#define WORD_HOST 4 +#define WORD_EMAIL 5 +#define WORD_DIALOG -1 + +void url_clear (void); +void url_save (const char *fname, const char *mode, gboolean fullpath); +void url_autosave (void); +int url_check_word (char *word, int len); +void url_check_line (char *buf, int len); + +#endif diff --git a/src/common/userlist.c b/src/common/userlist.c new file mode 100644 index 00000000..18ac4bed --- /dev/null +++ b/src/common/userlist.c @@ -0,0 +1,454 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "xchat.h" +#include "modes.h" +#include "fe.h" +#include "notify.h" +#include "tree.h" +#include "xchatc.h" +#include "util.h" + + +static int +nick_cmp_az_ops (server *serv, struct User *user1, struct User *user2) +{ + unsigned int access1 = user1->access; + unsigned int access2 = user2->access; + int pos; + + if (access1 != access2) + { + for (pos = 0; pos < USERACCESS_SIZE; pos++) + { + if ((access1&(1<<pos)) && (access2&(1<<pos))) + break; + if ((access1&(1<<pos)) && !(access2&(1<<pos))) + return -1; + if (!(access1&(1<<pos)) && (access2&(1<<pos))) + return 1; + } + } + + return serv->p_cmp (user1->nick, user2->nick); +} + +static int +nick_cmp_alpha (struct User *user1, struct User *user2, server *serv) +{ + return serv->p_cmp (user1->nick, user2->nick); +} + +static int +nick_cmp (struct User *user1, struct User *user2, server *serv) +{ + switch (prefs.userlist_sort) + { + case 0: + return nick_cmp_az_ops (serv, user1, user2); + case 1: + return serv->p_cmp (user1->nick, user2->nick); + case 2: + return -1 * nick_cmp_az_ops (serv, user1, user2); + case 3: + return -1 * serv->p_cmp (user1->nick, user2->nick); + default: + return -1; + } +} + +/* + insert name in appropriate place in linked list. Returns row number or: + -1: duplicate +*/ + +static int +userlist_insertname (session *sess, struct User *newuser) +{ + if (!sess->usertree) + { + sess->usertree = tree_new ((tree_cmp_func *)nick_cmp, sess->server); + sess->usertree_alpha = tree_new ((tree_cmp_func *)nick_cmp_alpha, sess->server); + } + + tree_insert (sess->usertree_alpha, newuser); + return tree_insert (sess->usertree, newuser); +} + +void +userlist_set_away (struct session *sess, char *nick, unsigned int away) +{ + struct User *user; + + user = userlist_find (sess, nick); + if (user) + { + if (user->away != away) + { + user->away = away; + /* rehash GUI */ + fe_userlist_rehash (sess, user); + if (away) + fe_userlist_update (sess, user); + } + } +} + +int +userlist_add_hostname (struct session *sess, char *nick, char *hostname, + char *realname, char *servername, unsigned int away) +{ + struct User *user; + + user = userlist_find (sess, nick); + if (user) + { + if (!user->hostname && hostname) + user->hostname = strdup (hostname); + if (!user->realname && realname) + user->realname = strdup (realname); + if (!user->servername && servername) + user->servername = strdup (servername); + + if (away != 0xff) + { + if (prefs.showhostname_in_userlist || user->away != away) + { + user->away = away; + fe_userlist_rehash (sess, user); + } + user->away = away; + } + + fe_userlist_update (sess, user); + + return 1; + } + return 0; +} + +static int +free_user (struct User *user, gpointer data) +{ + if (user->realname) + free (user->realname); + if (user->hostname) + free (user->hostname); + if (user->servername) + free (user->servername); + free (user); + + return TRUE; +} + +void +userlist_free (session *sess) +{ + tree_foreach (sess->usertree, (tree_traverse_func *)free_user, NULL); + tree_destroy (sess->usertree); + tree_destroy (sess->usertree_alpha); + + sess->usertree = NULL; + sess->usertree_alpha = NULL; + sess->me = NULL; + + sess->ops = 0; + sess->hops = 0; + sess->voices = 0; + sess->total = 0; +} + +void +userlist_clear (session *sess) +{ + fe_userlist_clear (sess); + userlist_free (sess); + fe_userlist_numbers (sess); +} + +static int +find_cmp (const char *name, struct User *user, server *serv) +{ + return serv->p_cmp ((char *)name, user->nick); +} + +struct User * +userlist_find (struct session *sess, char *name) +{ + int pos; + + if (sess->usertree_alpha) + return tree_find (sess->usertree_alpha, name, + (tree_cmp_func *)find_cmp, sess->server, &pos); + + return NULL; +} + +struct User * +userlist_find_global (struct server *serv, char *name) +{ + struct User *user; + session *sess; + GSList *list = sess_list; + while (list) + { + sess = (session *) list->data; + if (sess->server == serv) + { + user = userlist_find (sess, name); + if (user) + return user; + } + list = list->next; + } + return 0; +} + +static void +update_counts (session *sess, struct User *user, char prefix, + int level, int offset) +{ + switch (prefix) + { + case '@': + user->op = level; + sess->ops += offset; + break; + case '%': + user->hop = level; + sess->hops += offset; + break; + case '+': + user->voice = level; + sess->voices += offset; + break; + } +} + +void +userlist_update_mode (session *sess, char *name, char mode, char sign) +{ + int access; + int offset = 0; + int level; + int pos; + char prefix; + struct User *user; + + user = userlist_find (sess, name); + if (!user) + return; + + /* remove from binary trees, before we loose track of it */ + tree_remove (sess->usertree, user, &pos); + tree_remove (sess->usertree_alpha, user, &pos); + + /* which bit number is affected? */ + access = mode_access (sess->server, mode, &prefix); + + if (sign == '+') + { + level = TRUE; + if (!(user->access & (1 << access))) + { + offset = 1; + user->access |= (1 << access); + } + } else + { + level = FALSE; + if (user->access & (1 << access)) + { + offset = -1; + user->access &= ~(1 << access); + } + } + + /* now what is this users highest prefix? e.g. @ for ops */ + user->prefix[0] = get_nick_prefix (sess->server, user->access); + + /* update the various counts using the CHANGED prefix only */ + update_counts (sess, user, prefix, level, offset); + + /* insert it back into its new place */ + tree_insert (sess->usertree_alpha, user); + pos = tree_insert (sess->usertree, user); + + /* let GTK move it too */ + fe_userlist_move (sess, user, pos); + fe_userlist_numbers (sess); +} + +int +userlist_change (struct session *sess, char *oldname, char *newname) +{ + struct User *user = userlist_find (sess, oldname); + int pos; + + if (user) + { + tree_remove (sess->usertree, user, &pos); + tree_remove (sess->usertree_alpha, user, &pos); + + safe_strcpy (user->nick, newname, NICKLEN); + + tree_insert (sess->usertree_alpha, user); + + fe_userlist_move (sess, user, tree_insert (sess->usertree, user)); + fe_userlist_numbers (sess); + + return 1; + } + + return 0; +} + +int +userlist_remove (struct session *sess, char *name) +{ + struct User *user; + int pos; + + user = userlist_find (sess, name); + if (!user) + return FALSE; + + if (user->voice) + sess->voices--; + if (user->op) + sess->ops--; + if (user->hop) + sess->hops--; + sess->total--; + fe_userlist_numbers (sess); + fe_userlist_remove (sess, user); + + if (user == sess->me) + sess->me = NULL; + + tree_remove (sess->usertree, user, &pos); + tree_remove (sess->usertree_alpha, user, &pos); + free_user (user, NULL); + + return TRUE; +} + +void +userlist_add (struct session *sess, char *name, char *hostname) +{ + struct User *user; + int row, prefix_chars; + unsigned int acc; + + acc = nick_access (sess->server, name, &prefix_chars); + + notify_set_online (sess->server, name + prefix_chars); + + user = malloc (sizeof (struct User)); + memset (user, 0, sizeof (struct User)); + + user->access = acc; + + /* assume first char is the highest level nick prefix */ + if (prefix_chars) + user->prefix[0] = name[0]; + + /* add it to our linked list */ + if (hostname) + user->hostname = strdup (hostname); + safe_strcpy (user->nick, name + prefix_chars, NICKLEN); + /* is it me? */ + if (!sess->server->p_cmp (user->nick, sess->server->nick)) + user->me = TRUE; + row = userlist_insertname (sess, user); + + /* duplicate? some broken servers trigger this */ + if (row == -1) + { + if (user->hostname) + free (user->hostname); + free (user); + return; + } + + sess->total++; + + /* most ircds don't support multiple modechars infront of the nickname + for /NAMES - though they should. */ + while (prefix_chars) + { + update_counts (sess, user, name[0], TRUE, 1); + name++; + prefix_chars--; + } + + if (user->me) + sess->me = user; + + fe_userlist_insert (sess, user, row, FALSE); + fe_userlist_numbers (sess); +} + +static int +rehash_cb (struct User *user, session *sess) +{ + fe_userlist_rehash (sess, user); + return TRUE; +} + +void +userlist_rehash (session *sess) +{ + tree_foreach (sess->usertree_alpha, (tree_traverse_func *)rehash_cb, sess); +} + +static int +flat_cb (struct User *user, GSList **list) +{ + *list = g_slist_prepend (*list, user); + return TRUE; +} + +GSList * +userlist_flat_list (session *sess) +{ + GSList *list = NULL; + + tree_foreach (sess->usertree_alpha, (tree_traverse_func *)flat_cb, &list); + return g_slist_reverse (list); +} + +static int +double_cb (struct User *user, GList **list) +{ + *list = g_list_prepend(*list, user); + return TRUE; +} + +GList * +userlist_double_list(session *sess) +{ + GList *list = NULL; + + tree_foreach (sess->usertree_alpha, (tree_traverse_func *)double_cb, &list); + return list; +} diff --git a/src/common/userlist.h b/src/common/userlist.h new file mode 100644 index 00000000..28831acd --- /dev/null +++ b/src/common/userlist.h @@ -0,0 +1,41 @@ +#include <time.h> + +#ifndef XCHAT_USERLIST_H +#define XCHAT_USERLIST_H + +struct User +{ + char nick[NICKLEN]; + char *hostname; + char *realname; + char *servername; + time_t lasttalk; + unsigned int access; /* axs bit field */ + char prefix[2]; /* @ + % */ + unsigned int op:1; + unsigned int hop:1; + unsigned int voice:1; + unsigned int me:1; + unsigned int away:1; + unsigned int selected:1; +}; + +#define USERACCESS_SIZE 12 + +int userlist_add_hostname (session *sess, char *nick, + char *hostname, char *realname, + char *servername, unsigned int away); +void userlist_set_away (session *sess, char *nick, unsigned int away); +struct User *userlist_find (session *sess, char *name); +struct User *userlist_find_global (server *serv, char *name); +void userlist_clear (session *sess); +void userlist_free (session *sess); +void userlist_add (session *sess, char *name, char *hostname); +int userlist_remove (session *sess, char *name); +int userlist_change (session *sess, char *oldname, char *newname); +void userlist_update_mode (session *sess, char *name, char mode, char sign); +GSList *userlist_flat_list (session *sess); +GList *userlist_double_list (session *sess); +void userlist_rehash (session *sess); + +#endif diff --git a/src/common/util.c b/src/common/util.c new file mode 100644 index 00000000..49517ec4 --- /dev/null +++ b/src/common/util.c @@ -0,0 +1,1729 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#define __APPLE_API_STRICT_CONFORMANCE + +#define _FILE_OFFSET_BITS 64 +#include <stdio.h> +#include <unistd.h> +#include <string.h> +#include <stdlib.h> +#include <sys/types.h> +#include <sys/stat.h> +#ifdef WIN32 +#include <sys/timeb.h> +#include <process.h> +#else +#include <sys/types.h> +#include <pwd.h> +#include <sys/time.h> +#include <sys/utsname.h> +#endif +#include <fcntl.h> +#include <dirent.h> +#include <errno.h> +#include "xchat.h" +#include "xchatc.h" +#include <glib/gmarkup.h> +#include <ctype.h> +#include "util.h" +#include "../../config.h" + +#define WANTSOCKET +#include "inet.h" + +#if defined (USING_FREEBSD) || defined (__APPLE__) +#include <sys/sysctl.h> +#endif +#ifdef SOCKS +#include <socks.h> +#endif + +#ifndef HAVE_SNPRINTF +#define snprintf g_snprintf +#endif + +#ifdef USE_DEBUG + +#undef free +#undef malloc +#undef realloc +#undef strdup + +int current_mem_usage; + +struct mem_block +{ + char *file; + void *buf; + int size; + int line; + int total; + struct mem_block *next; +}; + +struct mem_block *mroot = NULL; + +void * +xchat_malloc (int size, char *file, int line) +{ + void *ret; + struct mem_block *new; + + current_mem_usage += size; + ret = malloc (size); + if (!ret) + { + printf ("Out of memory! (%d)\n", current_mem_usage); + exit (255); + } + + new = malloc (sizeof (struct mem_block)); + new->buf = ret; + new->size = size; + new->next = mroot; + new->line = line; + new->file = strdup (file); + mroot = new; + + printf ("%s:%d Malloc'ed %d bytes, now \033[35m%d\033[m\n", file, line, + size, current_mem_usage); + + return ret; +} + +void * +xchat_realloc (char *old, int len, char *file, int line) +{ + char *ret; + + ret = xchat_malloc (len, file, line); + if (ret) + { + strcpy (ret, old); + xchat_dfree (old, file, line); + } + return ret; +} + +void * +xchat_strdup (char *str, char *file, int line) +{ + void *ret; + struct mem_block *new; + int size; + + size = strlen (str) + 1; + current_mem_usage += size; + ret = malloc (size); + if (!ret) + { + printf ("Out of memory! (%d)\n", current_mem_usage); + exit (255); + } + strcpy (ret, str); + + new = malloc (sizeof (struct mem_block)); + new->buf = ret; + new->size = size; + new->next = mroot; + new->line = line; + new->file = strdup (file); + mroot = new; + + printf ("%s:%d strdup (\"%-.40s\") size: %d, total: \033[35m%d\033[m\n", + file, line, str, size, current_mem_usage); + + return ret; +} + +void +xchat_mem_list (void) +{ + struct mem_block *cur, *p; + GSList *totals = 0; + GSList *list; + + cur = mroot; + while (cur) + { + list = totals; + while (list) + { + p = list->data; + if (p->line == cur->line && + strcmp (p->file, cur->file) == 0) + { + p->total += p->size; + break; + } + list = list->next; + } + if (!list) + { + cur->total = cur->size; + totals = g_slist_prepend (totals, cur); + } + cur = cur->next; + } + + fprintf (stderr, "file line size num total\n"); + list = totals; + while (list) + { + cur = list->data; + fprintf (stderr, "%-15.15s %6d %6d %6d %6d\n", cur->file, cur->line, + cur->size, cur->total/cur->size, cur->total); + list = list->next; + } +} + +void +xchat_dfree (void *buf, char *file, int line) +{ + struct mem_block *cur, *last; + + if (buf == NULL) + { + printf ("%s:%d \033[33mTried to free NULL\033[m\n", file, line); + return; + } + + last = NULL; + cur = mroot; + while (cur) + { + if (buf == cur->buf) + break; + last = cur; + cur = cur->next; + } + if (cur == NULL) + { + printf ("%s:%d \033[31mTried to free unknown block %lx!\033[m\n", + file, line, (unsigned long) buf); + /* abort(); */ + free (buf); + return; + } + current_mem_usage -= cur->size; + printf ("%s:%d Free'ed %d bytes, usage now \033[35m%d\033[m\n", + file, line, cur->size, current_mem_usage); + if (last) + last->next = cur->next; + else + mroot = cur->next; + free (cur->file); + free (cur); +} + +#define malloc(n) xchat_malloc(n, __FILE__, __LINE__) +#define realloc(n, m) xchat_realloc(n, m, __FILE__, __LINE__) +#define free(n) xchat_dfree(n, __FILE__, __LINE__) +#define strdup(n) xchat_strdup(n, __FILE__, __LINE__) + +#endif /* MEMORY_DEBUG */ + +char * +file_part (char *file) +{ + char *filepart = file; + if (!file) + return ""; + while (1) + { + switch (*file) + { + case 0: + return (filepart); + case '/': +#ifdef WIN32 + case '\\': +#endif + filepart = file + 1; + break; + } + file++; + } +} + +void +path_part (char *file, char *path, int pathlen) +{ + unsigned char t; + char *filepart = file_part (file); + t = *filepart; + *filepart = 0; + safe_strcpy (path, file, pathlen); + *filepart = t; +} + +char * /* like strstr(), but nocase */ +nocasestrstr (const char *s, const char *wanted) +{ + register const int len = strlen (wanted); + + if (len == 0) + return (char *)s; + while (rfc_tolower(*s) != rfc_tolower(*wanted) || strncasecmp (s, wanted, len)) + if (*s++ == '\0') + return (char *)NULL; + return (char *)s; +} + +char * +errorstring (int err) +{ + switch (err) + { + case -1: + return ""; + case 0: + return _("Remote host closed socket"); +#ifndef WIN32 + } +#else + case WSAECONNREFUSED: + return _("Connection refused"); + case WSAENETUNREACH: + case WSAEHOSTUNREACH: + return _("No route to host"); + case WSAETIMEDOUT: + return _("Connection timed out"); + case WSAEADDRNOTAVAIL: + return _("Cannot assign that address"); + case WSAECONNRESET: + return _("Connection reset by peer"); + } + + /* can't use strerror() on Winsock errors! */ + if (err >= WSABASEERR) + { + static char tbuf[384]; + OSVERSIONINFO osvi; + + osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO); + GetVersionEx (&osvi); + + /* FormatMessage works on WSA*** errors starting from Win2000 */ + if (osvi.dwMajorVersion >= 5) + { + if (FormatMessageA (FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS | + FORMAT_MESSAGE_MAX_WIDTH_MASK, + NULL, err, + MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), + tbuf, sizeof (tbuf), NULL)) + { + int len; + char *utf; + + tbuf[sizeof (tbuf) - 1] = 0; + len = strlen (tbuf); + if (len >= 2) + tbuf[len - 2] = 0; /* remove the cr-lf */ + + /* now convert to utf8 */ + utf = g_locale_to_utf8 (tbuf, -1, 0, 0, 0); + if (utf) + { + safe_strcpy (tbuf, utf, sizeof (tbuf)); + g_free (utf); + return tbuf; + } + } + } /* ! if (osvi.dwMajorVersion >= 5) */ + + /* fallback to error number */ + sprintf (tbuf, "%s %d", _("Error"), err); + return tbuf; + } /* ! if (err >= WSABASEERR) */ +#endif /* ! WIN32 */ + + return strerror (err); +} + +int +waitline (int sok, char *buf, int bufsize, int use_recv) +{ + int i = 0; + + while (1) + { + if (use_recv) + { + if (recv (sok, &buf[i], 1, 0) < 1) + return -1; + } else + { + if (read (sok, &buf[i], 1) < 1) + return -1; + } + if (buf[i] == '\n' || bufsize == i + 1) + { + buf[i] = 0; + return i; + } + i++; + } +} + +/* checks for "~" in a file and expands */ + +char * +expand_homedir (char *file) +{ +#ifndef WIN32 + char *ret, *user; + struct passwd *pw; + + if (*file == '~') + { + if (file[1] != '\0' && file[1] != '/') + { + user = strdup(file); + if (strchr(user,'/') != NULL) + *(strchr(user,'/')) = '\0'; + if ((pw = getpwnam(user + 1)) == NULL) + { + free(user); + return strdup(file); + } + free(user); + user = strchr(file, '/') != NULL ? strchr(file,'/') : file; + ret = malloc(strlen(user) + strlen(pw->pw_dir) + 1); + strcpy(ret, pw->pw_dir); + strcat(ret, user); + } + else + { + ret = malloc (strlen (file) + strlen (g_get_home_dir ()) + 1); + sprintf (ret, "%s%s", g_get_home_dir (), file + 1); + } + return ret; + } +#endif + return strdup (file); +} + +gchar * +strip_color (const char *text, int len, int flags) +{ + char *new_str; + + if (len == -1) + len = strlen (text); + + new_str = g_malloc (len + 2); + strip_color2 (text, len, new_str, flags); + + if (flags & STRIP_ESCMARKUP) + { + char *esc = g_markup_escape_text (new_str, -1); + g_free (new_str); + return esc; + } + + return new_str; +} + +/* CL: strip_color2 strips src and writes the output at dst; pass the same pointer + in both arguments to strip in place. */ +int +strip_color2 (const char *src, int len, char *dst, int flags) +{ + int rcol = 0, bgcol = 0; + char *start = dst; + + if (len == -1) len = strlen (src); + while (len-- > 0) + { + if (rcol > 0 && (isdigit ((unsigned char)*src) || + (*src == ',' && isdigit ((unsigned char)src[1]) && !bgcol))) + { + if (src[1] != ',') rcol--; + if (*src == ',') + { + rcol = 2; + bgcol = 1; + } + } else + { + rcol = bgcol = 0; + switch (*src) + { + case '\003': /*ATTR_COLOR: */ + if (!(flags & STRIP_COLOR)) goto pass_char; + rcol = 2; + break; + case HIDDEN_CHAR: /* CL: invisible text (for event formats only) */ /* this takes care of the topic */ + if (!(flags & STRIP_HIDDEN)) goto pass_char; + break; + case '\007': /*ATTR_BEEP: */ + case '\017': /*ATTR_RESET: */ + case '\026': /*ATTR_REVERSE: */ + case '\002': /*ATTR_BOLD: */ + case '\037': /*ATTR_UNDERLINE: */ + case '\035': /*ATTR_ITALICS: */ + if (!(flags & STRIP_ATTRIB)) goto pass_char; + break; + default: + pass_char: + *dst++ = *src; + } + } + src++; + } + *dst = 0; + + return (int) (dst - start); +} + +int +strip_hidden_attribute (char *src, char *dst) +{ + int len = 0; + while (*src != '\000') + { + if (*src != HIDDEN_CHAR) + { + *dst++ = *src; + len++; + } + src++; + } + return len; +} + +#if defined (USING_LINUX) || defined (USING_FREEBSD) || defined (__APPLE__) + +static void +get_cpu_info (double *mhz, int *cpus) +{ + +#ifdef USING_LINUX + + char buf[256]; + int fh; + + *mhz = 0; + *cpus = 0; + + fh = open ("/proc/cpuinfo", O_RDONLY); /* linux 2.2+ only */ + if (fh == -1) + { + *cpus = 1; + return; + } + + while (1) + { + if (waitline (fh, buf, sizeof buf, FALSE) < 0) + break; + if (!strncmp (buf, "cycle frequency [Hz]\t:", 22)) /* alpha */ + { + *mhz = atoi (buf + 23) / 1000000; + } else if (!strncmp (buf, "cpu MHz\t\t:", 10)) /* i386 */ + { + *mhz = atof (buf + 11) + 0.5; + } else if (!strncmp (buf, "clock\t\t:", 8)) /* PPC */ + { + *mhz = atoi (buf + 9); + } else if (!strncmp (buf, "processor\t", 10)) + { + (*cpus)++; + } + } + close (fh); + if (!*cpus) + *cpus = 1; + +#endif +#ifdef USING_FREEBSD + + int mib[2], ncpu; + u_long freq; + size_t len; + + freq = 0; + *mhz = 0; + *cpus = 0; + + mib[0] = CTL_HW; + mib[1] = HW_NCPU; + + len = sizeof(ncpu); + sysctl(mib, 2, &ncpu, &len, NULL, 0); + + len = sizeof(freq); + sysctlbyname("machdep.tsc_freq", &freq, &len, NULL, 0); + + *cpus = ncpu; + *mhz = (freq / 1000000); + +#endif +#ifdef __APPLE__ + + int mib[2], ncpu; + unsigned long long freq; + size_t len; + + freq = 0; + *mhz = 0; + *cpus = 0; + + mib[0] = CTL_HW; + mib[1] = HW_NCPU; + + len = sizeof(ncpu); + sysctl(mib, 2, &ncpu, &len, NULL, 0); + + len = sizeof(freq); + sysctlbyname("hw.cpufrequency", &freq, &len, NULL, 0); + + *cpus = ncpu; + *mhz = (freq / 1000000); + +#endif + +} +#endif + +#ifdef WIN32 + +static int +get_mhz (void) +{ + HKEY hKey; + int result, data, dataSize; + + if (RegOpenKeyEx (HKEY_LOCAL_MACHINE, "Hardware\\Description\\System\\" + "CentralProcessor\\0", 0, KEY_QUERY_VALUE, &hKey) == ERROR_SUCCESS) + { + dataSize = sizeof (data); + result = RegQueryValueEx (hKey, "~MHz", 0, 0, (LPBYTE)&data, &dataSize); + RegCloseKey (hKey); + if (result == ERROR_SUCCESS) + return data; + } + return 0; /* fails on Win9x */ +} + +char * +get_cpu_str (void) +{ + static char verbuf[64]; + OSVERSIONINFO osvi; + SYSTEM_INFO si; + double mhz; + + osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO); + GetVersionEx (&osvi); + GetSystemInfo (&si); + + mhz = get_mhz (); + if (mhz) + { + double cpuspeed = ( mhz > 1000 ) ? mhz / 1000 : mhz; + const char *cpuspeedstr = ( mhz > 1000 ) ? "GHz" : "MHz"; + sprintf (verbuf, "Windows %ld.%ld [i%d86/%.2f%s]", + osvi.dwMajorVersion, osvi.dwMinorVersion, si.wProcessorLevel, + cpuspeed, cpuspeedstr); + } else + sprintf (verbuf, "Windows %ld.%ld [i%d86]", + osvi.dwMajorVersion, osvi.dwMinorVersion, si.wProcessorLevel); + + return verbuf; +} + +#else + +char * +get_cpu_str (void) +{ +#if defined (USING_LINUX) || defined (USING_FREEBSD) || defined (__APPLE__) + double mhz; +#endif + int cpus = 1; + struct utsname un; + static char *buf = NULL; + + if (buf) + return buf; + + buf = malloc (128); + + uname (&un); + +#if defined (USING_LINUX) || defined (USING_FREEBSD) || defined (__APPLE__) + get_cpu_info (&mhz, &cpus); + if (mhz) + { + double cpuspeed = ( mhz > 1000 ) ? mhz / 1000 : mhz; + const char *cpuspeedstr = ( mhz > 1000 ) ? "GHz" : "MHz"; + snprintf (buf, 128, + (cpus == 1) ? "%s %s [%s/%.2f%s]" : "%s %s [%s/%.2f%s/SMP]", + un.sysname, un.release, un.machine, + cpuspeed, cpuspeedstr); + } else +#endif + snprintf (buf, 128, + (cpus == 1) ? "%s %s [%s]" : "%s %s [%s/SMP]", + un.sysname, un.release, un.machine); + + return buf; +} + +#endif + +int +buf_get_line (char *ibuf, char **buf, int *position, int len) +{ + int pos = *position, spos = pos; + + if (pos == len) + return 0; + + while (ibuf[pos++] != '\n') + { + if (pos == len) + return 0; + } + pos--; + ibuf[pos] = 0; + *buf = &ibuf[spos]; + pos++; + *position = pos; + return 1; +} + +int match(const char *mask, const char *string) +{ + register const char *m = mask, *s = string; + register char ch; + const char *bm, *bs; /* Will be reg anyway on a decent CPU/compiler */ + + /* Process the "head" of the mask, if any */ + while ((ch = *m++) && (ch != '*')) + switch (ch) + { + case '\\': + if (*m == '?' || *m == '*') + ch = *m++; + default: + if (rfc_tolower(*s) != rfc_tolower(ch)) + return 0; + case '?': + if (!*s++) + return 0; + }; + if (!ch) + return !(*s); + + /* We got a star: quickly find if/where we match the next char */ +got_star: + bm = m; /* Next try rollback here */ + while ((ch = *m++)) + switch (ch) + { + case '?': + if (!*s++) + return 0; + case '*': + bm = m; + continue; /* while */ + case '\\': + if (*m == '?' || *m == '*') + ch = *m++; + default: + goto break_while; /* C is structured ? */ + }; +break_while: + if (!ch) + return 1; /* mask ends with '*', we got it */ + ch = rfc_tolower(ch); + while (rfc_tolower(*s++) != ch) + if (!*s) + return 0; + bs = s; /* Next try start from here */ + + /* Check the rest of the "chunk" */ + while ((ch = *m++)) + { + switch (ch) + { + case '*': + goto got_star; + case '\\': + if (*m == '?' || *m == '*') + ch = *m++; + default: + if (rfc_tolower(*s) != rfc_tolower(ch)) + { + if (!*s) + return 0; + m = bm; + s = bs; + goto got_star; + }; + case '?': + if (!*s++) + return 0; + }; + }; + if (*s) + { + m = bm; + s = bs; + goto got_star; + }; + return 1; +} + +void +for_files (char *dirname, char *mask, void callback (char *file)) +{ + DIR *dir; + struct dirent *ent; + char *buf; + + dir = opendir (dirname); + if (dir) + { + while ((ent = readdir (dir))) + { + if (strcmp (ent->d_name, ".") && strcmp (ent->d_name, "..")) + { + if (match (mask, ent->d_name)) + { + buf = malloc (strlen (dirname) + strlen (ent->d_name) + 2); + sprintf (buf, "%s/%s", dirname, ent->d_name); + callback (buf); + free (buf); + } + } + } + closedir (dir); + } +} + +/*void +tolowerStr (char *str) +{ + while (*str) + { + *str = rfc_tolower (*str); + str++; + } +}*/ + +typedef struct +{ + char *code, *country; +} domain_t; + +static int +country_compare (const void *a, const void *b) +{ + return strcasecmp (a, ((domain_t *)b)->code); +} + +static const domain_t domain[] = +{ + {"AC", N_("Ascension Island") }, + {"AD", N_("Andorra") }, + {"AE", N_("United Arab Emirates") }, + {"AF", N_("Afghanistan") }, + {"AG", N_("Antigua and Barbuda") }, + {"AI", N_("Anguilla") }, + {"AL", N_("Albania") }, + {"AM", N_("Armenia") }, + {"AN", N_("Netherlands Antilles") }, + {"AO", N_("Angola") }, + {"AQ", N_("Antarctica") }, + {"AR", N_("Argentina") }, + {"ARPA", N_("Reverse DNS") }, + {"AS", N_("American Samoa") }, + {"AT", N_("Austria") }, + {"ATO", N_("Nato Fiel") }, + {"AU", N_("Australia") }, + {"AW", N_("Aruba") }, + {"AX", N_("Aland Islands") }, + {"AZ", N_("Azerbaijan") }, + {"BA", N_("Bosnia and Herzegovina") }, + {"BB", N_("Barbados") }, + {"BD", N_("Bangladesh") }, + {"BE", N_("Belgium") }, + {"BF", N_("Burkina Faso") }, + {"BG", N_("Bulgaria") }, + {"BH", N_("Bahrain") }, + {"BI", N_("Burundi") }, + {"BIZ", N_("Businesses"), }, + {"BJ", N_("Benin") }, + {"BM", N_("Bermuda") }, + {"BN", N_("Brunei Darussalam") }, + {"BO", N_("Bolivia") }, + {"BR", N_("Brazil") }, + {"BS", N_("Bahamas") }, + {"BT", N_("Bhutan") }, + {"BV", N_("Bouvet Island") }, + {"BW", N_("Botswana") }, + {"BY", N_("Belarus") }, + {"BZ", N_("Belize") }, + {"CA", N_("Canada") }, + {"CC", N_("Cocos Islands") }, + {"CD", N_("Democratic Republic of Congo") }, + {"CF", N_("Central African Republic") }, + {"CG", N_("Congo") }, + {"CH", N_("Switzerland") }, + {"CI", N_("Cote d'Ivoire") }, + {"CK", N_("Cook Islands") }, + {"CL", N_("Chile") }, + {"CM", N_("Cameroon") }, + {"CN", N_("China") }, + {"CO", N_("Colombia") }, + {"COM", N_("Internic Commercial") }, + {"CR", N_("Costa Rica") }, + {"CS", N_("Serbia and Montenegro") }, + {"CU", N_("Cuba") }, + {"CV", N_("Cape Verde") }, + {"CX", N_("Christmas Island") }, + {"CY", N_("Cyprus") }, + {"CZ", N_("Czech Republic") }, + {"DE", N_("Germany") }, + {"DJ", N_("Djibouti") }, + {"DK", N_("Denmark") }, + {"DM", N_("Dominica") }, + {"DO", N_("Dominican Republic") }, + {"DZ", N_("Algeria") }, + {"EC", N_("Ecuador") }, + {"EDU", N_("Educational Institution") }, + {"EE", N_("Estonia") }, + {"EG", N_("Egypt") }, + {"EH", N_("Western Sahara") }, + {"ER", N_("Eritrea") }, + {"ES", N_("Spain") }, + {"ET", N_("Ethiopia") }, + {"EU", N_("European Union") }, + {"FI", N_("Finland") }, + {"FJ", N_("Fiji") }, + {"FK", N_("Falkland Islands") }, + {"FM", N_("Micronesia") }, + {"FO", N_("Faroe Islands") }, + {"FR", N_("France") }, + {"GA", N_("Gabon") }, + {"GB", N_("Great Britain") }, + {"GD", N_("Grenada") }, + {"GE", N_("Georgia") }, + {"GF", N_("French Guiana") }, + {"GG", N_("British Channel Isles") }, + {"GH", N_("Ghana") }, + {"GI", N_("Gibraltar") }, + {"GL", N_("Greenland") }, + {"GM", N_("Gambia") }, + {"GN", N_("Guinea") }, + {"GOV", N_("Government") }, + {"GP", N_("Guadeloupe") }, + {"GQ", N_("Equatorial Guinea") }, + {"GR", N_("Greece") }, + {"GS", N_("S. Georgia and S. Sandwich Isles") }, + {"GT", N_("Guatemala") }, + {"GU", N_("Guam") }, + {"GW", N_("Guinea-Bissau") }, + {"GY", N_("Guyana") }, + {"HK", N_("Hong Kong") }, + {"HM", N_("Heard and McDonald Islands") }, + {"HN", N_("Honduras") }, + {"HR", N_("Croatia") }, + {"HT", N_("Haiti") }, + {"HU", N_("Hungary") }, + {"ID", N_("Indonesia") }, + {"IE", N_("Ireland") }, + {"IL", N_("Israel") }, + {"IM", N_("Isle of Man") }, + {"IN", N_("India") }, + {"INFO", N_("Informational") }, + {"INT", N_("International") }, + {"IO", N_("British Indian Ocean Territory") }, + {"IQ", N_("Iraq") }, + {"IR", N_("Iran") }, + {"IS", N_("Iceland") }, + {"IT", N_("Italy") }, + {"JE", N_("Jersey") }, + {"JM", N_("Jamaica") }, + {"JO", N_("Jordan") }, + {"JP", N_("Japan") }, + {"KE", N_("Kenya") }, + {"KG", N_("Kyrgyzstan") }, + {"KH", N_("Cambodia") }, + {"KI", N_("Kiribati") }, + {"KM", N_("Comoros") }, + {"KN", N_("St. Kitts and Nevis") }, + {"KP", N_("North Korea") }, + {"KR", N_("South Korea") }, + {"KW", N_("Kuwait") }, + {"KY", N_("Cayman Islands") }, + {"KZ", N_("Kazakhstan") }, + {"LA", N_("Laos") }, + {"LB", N_("Lebanon") }, + {"LC", N_("Saint Lucia") }, + {"LI", N_("Liechtenstein") }, + {"LK", N_("Sri Lanka") }, + {"LR", N_("Liberia") }, + {"LS", N_("Lesotho") }, + {"LT", N_("Lithuania") }, + {"LU", N_("Luxembourg") }, + {"LV", N_("Latvia") }, + {"LY", N_("Libya") }, + {"MA", N_("Morocco") }, + {"MC", N_("Monaco") }, + {"MD", N_("Moldova") }, + {"MED", N_("United States Medical") }, + {"MG", N_("Madagascar") }, + {"MH", N_("Marshall Islands") }, + {"MIL", N_("Military") }, + {"MK", N_("Macedonia") }, + {"ML", N_("Mali") }, + {"MM", N_("Myanmar") }, + {"MN", N_("Mongolia") }, + {"MO", N_("Macau") }, + {"MP", N_("Northern Mariana Islands") }, + {"MQ", N_("Martinique") }, + {"MR", N_("Mauritania") }, + {"MS", N_("Montserrat") }, + {"MT", N_("Malta") }, + {"MU", N_("Mauritius") }, + {"MV", N_("Maldives") }, + {"MW", N_("Malawi") }, + {"MX", N_("Mexico") }, + {"MY", N_("Malaysia") }, + {"MZ", N_("Mozambique") }, + {"NA", N_("Namibia") }, + {"NC", N_("New Caledonia") }, + {"NE", N_("Niger") }, + {"NET", N_("Internic Network") }, + {"NF", N_("Norfolk Island") }, + {"NG", N_("Nigeria") }, + {"NI", N_("Nicaragua") }, + {"NL", N_("Netherlands") }, + {"NO", N_("Norway") }, + {"NP", N_("Nepal") }, + {"NR", N_("Nauru") }, + {"NU", N_("Niue") }, + {"NZ", N_("New Zealand") }, + {"OM", N_("Oman") }, + {"ORG", N_("Internic Non-Profit Organization") }, + {"PA", N_("Panama") }, + {"PE", N_("Peru") }, + {"PF", N_("French Polynesia") }, + {"PG", N_("Papua New Guinea") }, + {"PH", N_("Philippines") }, + {"PK", N_("Pakistan") }, + {"PL", N_("Poland") }, + {"PM", N_("St. Pierre and Miquelon") }, + {"PN", N_("Pitcairn") }, + {"PR", N_("Puerto Rico") }, + {"PS", N_("Palestinian Territory") }, + {"PT", N_("Portugal") }, + {"PW", N_("Palau") }, + {"PY", N_("Paraguay") }, + {"QA", N_("Qatar") }, + {"RE", N_("Reunion") }, + {"RO", N_("Romania") }, + {"RPA", N_("Old School ARPAnet") }, + {"RU", N_("Russian Federation") }, + {"RW", N_("Rwanda") }, + {"SA", N_("Saudi Arabia") }, + {"SB", N_("Solomon Islands") }, + {"SC", N_("Seychelles") }, + {"SD", N_("Sudan") }, + {"SE", N_("Sweden") }, + {"SG", N_("Singapore") }, + {"SH", N_("St. Helena") }, + {"SI", N_("Slovenia") }, + {"SJ", N_("Svalbard and Jan Mayen Islands") }, + {"SK", N_("Slovak Republic") }, + {"SL", N_("Sierra Leone") }, + {"SM", N_("San Marino") }, + {"SN", N_("Senegal") }, + {"SO", N_("Somalia") }, + {"SR", N_("Suriname") }, + {"ST", N_("Sao Tome and Principe") }, + {"SU", N_("Former USSR") }, + {"SV", N_("El Salvador") }, + {"SY", N_("Syria") }, + {"SZ", N_("Swaziland") }, + {"TC", N_("Turks and Caicos Islands") }, + {"TD", N_("Chad") }, + {"TF", N_("French Southern Territories") }, + {"TG", N_("Togo") }, + {"TH", N_("Thailand") }, + {"TJ", N_("Tajikistan") }, + {"TK", N_("Tokelau") }, + {"TL", N_("East Timor") }, + {"TM", N_("Turkmenistan") }, + {"TN", N_("Tunisia") }, + {"TO", N_("Tonga") }, + {"TP", N_("East Timor") }, + {"TR", N_("Turkey") }, + {"TT", N_("Trinidad and Tobago") }, + {"TV", N_("Tuvalu") }, + {"TW", N_("Taiwan") }, + {"TZ", N_("Tanzania") }, + {"UA", N_("Ukraine") }, + {"UG", N_("Uganda") }, + {"UK", N_("United Kingdom") }, + {"US", N_("United States of America") }, + {"UY", N_("Uruguay") }, + {"UZ", N_("Uzbekistan") }, + {"VA", N_("Vatican City State") }, + {"VC", N_("St. Vincent and the Grenadines") }, + {"VE", N_("Venezuela") }, + {"VG", N_("British Virgin Islands") }, + {"VI", N_("US Virgin Islands") }, + {"VN", N_("Vietnam") }, + {"VU", N_("Vanuatu") }, + {"WF", N_("Wallis and Futuna Islands") }, + {"WS", N_("Samoa") }, + {"YE", N_("Yemen") }, + {"YT", N_("Mayotte") }, + {"YU", N_("Yugoslavia") }, + {"ZA", N_("South Africa") }, + {"ZM", N_("Zambia") }, + {"ZW", N_("Zimbabwe") }, +}; + +char * +country (char *hostname) +{ + char *p; + domain_t *dom; + + if (!hostname || !*hostname || isdigit ((unsigned char) hostname[strlen (hostname) - 1])) + return _("Unknown"); + if ((p = strrchr (hostname, '.'))) + p++; + else + p = hostname; + + dom = bsearch (p, domain, sizeof (domain) / sizeof (domain_t), + sizeof (domain_t), country_compare); + + if (!dom) + return _("Unknown"); + + return _(dom->country); +} + +void +country_search (char *pattern, void *ud, void (*print)(void *, char *, ...)) +{ + const domain_t *dom; + int i; + + for (i = 0; i < sizeof (domain) / sizeof (domain_t); i++) + { + dom = &domain[i]; + if (match (pattern, dom->country) || match (pattern, _(dom->country))) + { + print (ud, "%s = %s\n", dom->code, _(dom->country)); + } + } +} + +/* I think gnome1.0.x isn't necessarily linked against popt, ah well! */ +/* !!! For now use this inlined function, or it would break fe-text building */ +/* .... will find a better solution later. */ +/*#ifndef USE_GNOME*/ + +/* this is taken from gnome-libs 1.2.4 */ +#define POPT_ARGV_ARRAY_GROW_DELTA 5 + +int my_poptParseArgvString(const char * s, int * argcPtr, char *** argvPtr) { + char * buf, * bufStart, * dst; + const char * src; + char quote = '\0'; + int argvAlloced = POPT_ARGV_ARRAY_GROW_DELTA; + char ** argv = malloc(sizeof(*argv) * argvAlloced); + const char ** argv2; + int argc = 0; + int i, buflen; + + buflen = strlen(s) + 1; +/* bufStart = buf = alloca(buflen);*/ + bufStart = buf = malloc (buflen); + memset(buf, '\0', buflen); + + src = s; + argv[argc] = buf; + + while (*src) { + if (quote == *src) { + quote = '\0'; + } else if (quote) { + if (*src == '\\') { + src++; + if (!*src) { + free(argv); + free(bufStart); + return 1; + } + if (*src != quote) *buf++ = '\\'; + } + *buf++ = *src; + /*} else if (isspace((unsigned char) *src)) {*/ + } else if (*src == ' ') { + if (*argv[argc]) { + buf++, argc++; + if (argc == argvAlloced) { + argvAlloced += POPT_ARGV_ARRAY_GROW_DELTA; + argv = realloc(argv, sizeof(*argv) * argvAlloced); + } + argv[argc] = buf; + } + } else switch (*src) { + case '"': + case '\'': + quote = *src; + break; + case '\\': + src++; + if (!*src) { + free(argv); + free(bufStart); + return 1; + } + /* fallthrough */ + default: + *buf++ = *src; + } + + src++; + } + + if (strlen(argv[argc])) { + argc++, buf++; + } + + dst = malloc((argc + 1) * sizeof(*argv) + (buf - bufStart)); + argv2 = (void *) dst; + dst += (argc + 1) * sizeof(*argv); + memcpy((void *)argv2, argv, argc * sizeof(*argv)); + argv2[argc] = NULL; + memcpy(dst, bufStart, buf - bufStart); + + for (i = 0; i < argc; i++) { + argv2[i] = dst + (argv[i] - bufStart); + } + + free(argv); + + *argvPtr = (char **)argv2; /* XXX don't change the API */ + *argcPtr = argc; + + free (bufStart); + + return 0; +} + +int +util_exec (const char *cmd) +{ + int pid; + char **argv; + int argc; + int fd; + + if (my_poptParseArgvString (cmd, &argc, &argv) != 0) + return -1; + +#ifndef WIN32 + pid = fork (); + if (pid == -1) + return -1; + if (pid == 0) + { + /* Now close all open file descriptors except stdin, stdout and stderr */ + for (fd = 3; fd < 1024; fd++) close(fd); + execvp (argv[0], argv); + _exit (0); + } else + { + free (argv); + return pid; + } +#else + spawnvp (_P_DETACH, argv[0], argv); + free (argv); + return 0; +#endif +} + +int +util_execv (char * const argv[]) +{ + int pid, fd; + +#ifndef WIN32 + pid = fork (); + if (pid == -1) + return -1; + if (pid == 0) + { + /* Now close all open file descriptors except stdin, stdout and stderr */ + for (fd = 3; fd < 1024; fd++) close(fd); + execv (argv[0], argv); + _exit (0); + } else + { + return pid; + } +#else + spawnv (_P_DETACH, argv[0], argv); + return 0; +#endif +} + +unsigned long +make_ping_time (void) +{ +#ifndef WIN32 + struct timeval timev; + gettimeofday (&timev, 0); +#else + GTimeVal timev; + g_get_current_time (&timev); +#endif + return (timev.tv_sec - 50000) * 1000000 + timev.tv_usec; +} + + +/************************************************************************ + * This technique was borrowed in part from the source code to + * ircd-hybrid-5.3 to implement case-insensitive string matches which + * are fully compliant with Section 2.2 of RFC 1459, the copyright + * of that code being (C) 1990 Jarkko Oikarinen and under the GPL. + * + * A special thanks goes to Mr. Okarinen for being the one person who + * seems to have ever noticed this section in the original RFC and + * written code for it. Shame on all the rest of you (myself included). + * + * --+ Dagmar d'Surreal + */ + +int +rfc_casecmp (const char *s1, const char *s2) +{ + register unsigned char *str1 = (unsigned char *) s1; + register unsigned char *str2 = (unsigned char *) s2; + register int res; + + while ((res = rfc_tolower (*str1) - rfc_tolower (*str2)) == 0) + { + if (*str1 == '\0') + return 0; + str1++; + str2++; + } + return (res); +} + +int +rfc_ncasecmp (char *str1, char *str2, int n) +{ + register unsigned char *s1 = (unsigned char *) str1; + register unsigned char *s2 = (unsigned char *) str2; + register int res; + + while ((res = rfc_tolower (*s1) - rfc_tolower (*s2)) == 0) + { + s1++; + s2++; + n--; + if (n == 0 || (*s1 == '\0' && *s2 == '\0')) + return 0; + } + return (res); +} + +const unsigned char rfc_tolowertab[] = + { 0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, + 0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13, 0x14, + 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, + 0x1e, 0x1f, + ' ', '!', '"', '#', '$', '%', '&', 0x27, '(', ')', + '*', '+', ',', '-', '.', '/', + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + ':', ';', '<', '=', '>', '?', + '@', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', + 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', + 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', + '_', + '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', + 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', + 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', + 0x7f, + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, + 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, + 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, + 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, + 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, + 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, + 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, + 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, + 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, + 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, + 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, + 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, + 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff +}; + +/*static unsigned char touppertab[] = + { 0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, + 0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13, 0x14, + 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, + 0x1e, 0x1f, + ' ', '!', '"', '#', '$', '%', '&', 0x27, '(', ')', + '*', '+', ',', '-', '.', '/', + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + ':', ';', '<', '=', '>', '?', + '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', + 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', + 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^', + 0x5f, + '`', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', + 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', + 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^', + 0x7f, + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, + 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, + 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, + 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, + 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, + 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, + 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, + 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, + 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, + 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, + 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, + 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, + 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff +};*/ + +/*static int +rename_utf8 (char *oldname, char *newname) +{ + int sav, res; + char *fso, *fsn; + + fso = xchat_filename_from_utf8 (oldname, -1, 0, 0, 0); + if (!fso) + return FALSE; + fsn = xchat_filename_from_utf8 (newname, -1, 0, 0, 0); + if (!fsn) + { + g_free (fso); + return FALSE; + } + + res = rename (fso, fsn); + sav = errno; + g_free (fso); + g_free (fsn); + errno = sav; + return res; +} + +static int +unlink_utf8 (char *fname) +{ + int res; + char *fs; + + fs = xchat_filename_from_utf8 (fname, -1, 0, 0, 0); + if (!fs) + return FALSE; + + res = unlink (fs); + g_free (fs); + return res; +}*/ + +static gboolean +file_exists_utf8 (char *fname) +{ + int res; + char *fs; + + fs = xchat_filename_from_utf8 (fname, -1, 0, 0, 0); + if (!fs) + return FALSE; + + res = access (fs, F_OK); + g_free (fs); + if (res == 0) + return TRUE; + return FALSE; +} + +static gboolean +copy_file (char *dl_src, char *dl_dest, int permissions) /* FS encoding */ +{ + int tmp_src, tmp_dest; + gboolean ok = FALSE; + char dl_tmp[4096]; + int return_tmp, return_tmp2; + + if ((tmp_src = open (dl_src, O_RDONLY | OFLAGS)) == -1) + { + fprintf (stderr, "Unable to open() file '%s' (%s) !", dl_src, + strerror (errno)); + return FALSE; + } + + if ((tmp_dest = + open (dl_dest, O_WRONLY | O_CREAT | O_TRUNC | OFLAGS, permissions)) < 0) + { + close (tmp_src); + fprintf (stderr, "Unable to create file '%s' (%s) !", dl_src, + strerror (errno)); + return FALSE; + } + + for (;;) + { + return_tmp = read (tmp_src, dl_tmp, sizeof (dl_tmp)); + + if (!return_tmp) + { + ok = TRUE; + break; + } + + if (return_tmp < 0) + { + fprintf (stderr, "download_move_to_completed_dir(): " + "error reading while moving file to save directory (%s)", + strerror (errno)); + break; + } + + return_tmp2 = write (tmp_dest, dl_tmp, return_tmp); + + if (return_tmp2 < 0) + { + fprintf (stderr, "download_move_to_completed_dir(): " + "error writing while moving file to save directory (%s)", + strerror (errno)); + break; + } + + if (return_tmp < sizeof (dl_tmp)) + { + ok = TRUE; + break; + } + } + + close (tmp_dest); + close (tmp_src); + return ok; +} + +/* Takes care of moving a file from a temporary download location to a completed location. Now in UTF-8. */ +void +move_file_utf8 (char *src_dir, char *dst_dir, char *fname, int dccpermissions) +{ + char src[4096]; + char dst[4096]; + int res, i; + char *src_fs; /* FileSystem encoding */ + char *dst_fs; + + /* if dcc_dir and dcc_completed_dir are the same then we are done */ + if (0 == strcmp (src_dir, dst_dir) || + 0 == dst_dir[0]) + return; /* Already in "completed dir" */ + + snprintf (src, sizeof (src), "%s/%s", src_dir, fname); + snprintf (dst, sizeof (dst), "%s/%s", dst_dir, fname); + + /* already exists in completed dir? Append a number */ + if (file_exists_utf8 (dst)) + { + for (i = 0; ; i++) + { + snprintf (dst, sizeof (dst), "%s/%s.%d", dst_dir, fname, i); + if (!file_exists_utf8 (dst)) + break; + } + } + + /* convert UTF-8 to filesystem encoding */ + src_fs = xchat_filename_from_utf8 (src, -1, 0, 0, 0); + if (!src_fs) + return; + dst_fs = xchat_filename_from_utf8 (dst, -1, 0, 0, 0); + if (!dst_fs) + { + g_free (src_fs); + return; + } + + /* first try a simple rename move */ + res = rename (src_fs, dst_fs); + + if (res == -1 && (errno == EXDEV || errno == EPERM)) + { + /* link failed because either the two paths aren't on the */ + /* same filesystem or the filesystem doesn't support hard */ + /* links, so we have to do a copy. */ + if (copy_file (src_fs, dst_fs, dccpermissions)) + unlink (src_fs); + } + + g_free (dst_fs); + g_free (src_fs); +} + +int +mkdir_utf8 (char *dir) +{ + int ret; + + dir = xchat_filename_from_utf8 (dir, -1, 0, 0, 0); + if (!dir) + return -1; + +#ifdef WIN32 + ret = mkdir (dir); +#else + ret = mkdir (dir, S_IRUSR | S_IWUSR | S_IXUSR); +#endif + g_free (dir); + + return ret; +} + +/* separates a string according to a 'sep' char, then calls the callback + function for each token found */ + +int +token_foreach (char *str, char sep, + int (*callback) (char *str, void *ud), void *ud) +{ + char t, *start = str; + + while (1) + { + if (*str == sep || *str == 0) + { + t = *str; + *str = 0; + if (callback (start, ud) < 1) + { + *str = t; + return FALSE; + } + *str = t; + + if (*str == 0) + break; + str++; + start = str; + + } else + { + /* chars $00-$7f can never be embedded in utf-8 */ + str++; + } + } + + return TRUE; +} + +/* 31 bit string hash functions */ + +guint32 +str_hash (const char *key) +{ + const char *p = key; + guint32 h = *p; + + if (h) + for (p += 1; *p != '\0'; p++) + h = (h << 5) - h + *p; + + return h; +} + +guint32 +str_ihash (const unsigned char *key) +{ + const char *p = key; + guint32 h = rfc_tolowertab [(guint)*p]; + + if (h) + for (p += 1; *p != '\0'; p++) + h = (h << 5) - h + rfc_tolowertab [(guint)*p]; + + return h; +} + +/* features: 1. "src" must be valid, NULL terminated UTF-8 */ +/* 2. "dest" will be left with valid UTF-8 - no partial chars! */ + +void +safe_strcpy (char *dest, const char *src, int bytes_left) +{ + int mbl; + + while (1) + { + mbl = g_utf8_skip[*((unsigned char *)src)]; + + if (bytes_left < (mbl + 1)) /* can't fit with NULL? */ + { + *dest = 0; + break; + } + + if (mbl == 1) /* one byte char */ + { + *dest = *src; + if (*src == 0) + break; /* it all fit */ + dest++; + src++; + bytes_left--; + } + else /* multibyte char */ + { + memcpy (dest, src, mbl); + dest += mbl; + src += mbl; + bytes_left -= mbl; + } + } +} diff --git a/src/common/util.h b/src/common/util.h new file mode 100644 index 00000000..fce45def --- /dev/null +++ b/src/common/util.h @@ -0,0 +1,54 @@ +/************************************************************************ + * This technique was borrowed in part from the source code to + * ircd-hybrid-5.3 to implement case-insensitive string matches which + * are fully compliant with Section 2.2 of RFC 1459, the copyright + * of that code being (C) 1990 Jarkko Oikarinen and under the GPL. + * + * A special thanks goes to Mr. Okarinen for being the one person who + * seems to have ever noticed this section in the original RFC and + * written code for it. Shame on all the rest of you (myself included). + * + * --+ Dagmar d'Surreal + */ + +#ifndef XCHAT_UTIL_H +#define XCHAT_UTIL_H + +#define rfc_tolower(c) (rfc_tolowertab[(unsigned char)(c)]) + +extern const unsigned char rfc_tolowertab[]; + +int my_poptParseArgvString(const char * s, int * argcPtr, char *** argvPtr); +char *expand_homedir (char *file); +void path_part (char *file, char *path, int pathlen); +int match (const char *mask, const char *string); +char *file_part (char *file); +void for_files (char *dirname, char *mask, void callback (char *file)); +int rfc_casecmp (const char *, const char *); +int rfc_ncasecmp (char *, char *, int); +int buf_get_line (char *, char **, int *, int len); +char *nocasestrstr (const char *text, const char *tofind); +char *country (char *); +void country_search (char *pattern, void *ud, void (*print)(void *, char *, ...)); +char *get_cpu_str (void); +int util_exec (const char *cmd); +int util_execv (char * const argv[]); +#define STRIP_COLOR 1 +#define STRIP_ATTRIB 2 +#define STRIP_HIDDEN 4 +#define STRIP_ESCMARKUP 8 +#define STRIP_ALL 7 +gchar *strip_color (const char *text, int len, int flags); +int strip_color2 (const char *src, int len, char *dst, int flags); +int strip_hidden_attribute (char *src, char *dst); +char *errorstring (int err); +int waitline (int sok, char *buf, int bufsize, int); +unsigned long make_ping_time (void); +void move_file_utf8 (char *src_dir, char *dst_dir, char *fname, int dccpermissions); +int mkdir_utf8 (char *dir); +int token_foreach (char *str, char sep, int (*callback) (char *str, void *ud), void *ud); +guint32 str_hash (const char *key); +guint32 str_ihash (const unsigned char *key); +void safe_strcpy (char *dest, const char *src, int bytes_left); + +#endif diff --git a/src/common/xchat-plugin.h b/src/common/xchat-plugin.h new file mode 100644 index 00000000..30b19295 --- /dev/null +++ b/src/common/xchat-plugin.h @@ -0,0 +1,334 @@ +/* You can distribute this header with your plugins for easy compilation */ +#ifndef XCHAT_PLUGIN_H +#define XCHAT_PLUGIN_H + +#include <time.h> + +#define XCHAT_IFACE_MAJOR 1 +#define XCHAT_IFACE_MINOR 9 +#define XCHAT_IFACE_MICRO 11 +#define XCHAT_IFACE_VERSION ((XCHAT_IFACE_MAJOR * 10000) + \ + (XCHAT_IFACE_MINOR * 100) + \ + (XCHAT_IFACE_MICRO)) + +#define XCHAT_PRI_HIGHEST 127 +#define XCHAT_PRI_HIGH 64 +#define XCHAT_PRI_NORM 0 +#define XCHAT_PRI_LOW (-64) +#define XCHAT_PRI_LOWEST (-128) + +#define XCHAT_FD_READ 1 +#define XCHAT_FD_WRITE 2 +#define XCHAT_FD_EXCEPTION 4 +#define XCHAT_FD_NOTSOCKET 8 + +#define XCHAT_EAT_NONE 0 /* pass it on through! */ +#define XCHAT_EAT_XCHAT 1 /* don't let xchat see this event */ +#define XCHAT_EAT_PLUGIN 2 /* don't let other plugins see this event */ +#define XCHAT_EAT_ALL (XCHAT_EAT_XCHAT|XCHAT_EAT_PLUGIN) /* don't let anything see this event */ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _xchat_plugin xchat_plugin; +typedef struct _xchat_list xchat_list; +typedef struct _xchat_hook xchat_hook; +#ifndef PLUGIN_C +typedef struct _xchat_context xchat_context; +#endif + +#ifndef PLUGIN_C +struct _xchat_plugin +{ + /* these are only used on win32 */ + xchat_hook *(*xchat_hook_command) (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + const char *help_text, + void *userdata); + xchat_hook *(*xchat_hook_server) (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + void *userdata); + xchat_hook *(*xchat_hook_print) (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], void *user_data), + void *userdata); + xchat_hook *(*xchat_hook_timer) (xchat_plugin *ph, + int timeout, + int (*callback) (void *user_data), + void *userdata); + xchat_hook *(*xchat_hook_fd) (xchat_plugin *ph, + int fd, + int flags, + int (*callback) (int fd, int flags, void *user_data), + void *userdata); + void *(*xchat_unhook) (xchat_plugin *ph, + xchat_hook *hook); + void (*xchat_print) (xchat_plugin *ph, + const char *text); + void (*xchat_printf) (xchat_plugin *ph, + const char *format, ...); + void (*xchat_command) (xchat_plugin *ph, + const char *command); + void (*xchat_commandf) (xchat_plugin *ph, + const char *format, ...); + int (*xchat_nickcmp) (xchat_plugin *ph, + const char *s1, + const char *s2); + int (*xchat_set_context) (xchat_plugin *ph, + xchat_context *ctx); + xchat_context *(*xchat_find_context) (xchat_plugin *ph, + const char *servname, + const char *channel); + xchat_context *(*xchat_get_context) (xchat_plugin *ph); + const char *(*xchat_get_info) (xchat_plugin *ph, + const char *id); + int (*xchat_get_prefs) (xchat_plugin *ph, + const char *name, + const char **string, + int *integer); + xchat_list * (*xchat_list_get) (xchat_plugin *ph, + const char *name); + void (*xchat_list_free) (xchat_plugin *ph, + xchat_list *xlist); + const char * const * (*xchat_list_fields) (xchat_plugin *ph, + const char *name); + int (*xchat_list_next) (xchat_plugin *ph, + xchat_list *xlist); + const char * (*xchat_list_str) (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + int (*xchat_list_int) (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + void * (*xchat_plugingui_add) (xchat_plugin *ph, + const char *filename, + const char *name, + const char *desc, + const char *version, + char *reserved); + void (*xchat_plugingui_remove) (xchat_plugin *ph, + void *handle); + int (*xchat_emit_print) (xchat_plugin *ph, + const char *event_name, ...); + int (*xchat_read_fd) (xchat_plugin *ph, + void *src, + char *buf, + int *len); + time_t (*xchat_list_time) (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + char *(*xchat_gettext) (xchat_plugin *ph, + const char *msgid); + void (*xchat_send_modes) (xchat_plugin *ph, + const char **targets, + int ntargets, + int modes_per_line, + char sign, + char mode); + char *(*xchat_strip) (xchat_plugin *ph, + const char *str, + int len, + int flags); + void (*xchat_free) (xchat_plugin *ph, + void *ptr); +}; +#endif + + +xchat_hook * +xchat_hook_command (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + const char *help_text, + void *userdata); + +xchat_hook * +xchat_hook_server (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + void *userdata); + +xchat_hook * +xchat_hook_print (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], void *user_data), + void *userdata); + +xchat_hook * +xchat_hook_timer (xchat_plugin *ph, + int timeout, + int (*callback) (void *user_data), + void *userdata); + +xchat_hook * +xchat_hook_fd (xchat_plugin *ph, + int fd, + int flags, + int (*callback) (int fd, int flags, void *user_data), + void *userdata); + +void * +xchat_unhook (xchat_plugin *ph, + xchat_hook *hook); + +void +xchat_print (xchat_plugin *ph, + const char *text); + +void +xchat_printf (xchat_plugin *ph, + const char *format, ...); + +void +xchat_command (xchat_plugin *ph, + const char *command); + +void +xchat_commandf (xchat_plugin *ph, + const char *format, ...); + +int +xchat_nickcmp (xchat_plugin *ph, + const char *s1, + const char *s2); + +int +xchat_set_context (xchat_plugin *ph, + xchat_context *ctx); + +xchat_context * +xchat_find_context (xchat_plugin *ph, + const char *servname, + const char *channel); + +xchat_context * +xchat_get_context (xchat_plugin *ph); + +const char * +xchat_get_info (xchat_plugin *ph, + const char *id); + +int +xchat_get_prefs (xchat_plugin *ph, + const char *name, + const char **string, + int *integer); + +xchat_list * +xchat_list_get (xchat_plugin *ph, + const char *name); + +void +xchat_list_free (xchat_plugin *ph, + xchat_list *xlist); + +const char * const * +xchat_list_fields (xchat_plugin *ph, + const char *name); + +int +xchat_list_next (xchat_plugin *ph, + xchat_list *xlist); + +const char * +xchat_list_str (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + +int +xchat_list_int (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + +time_t +xchat_list_time (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + +void * +xchat_plugingui_add (xchat_plugin *ph, + const char *filename, + const char *name, + const char *desc, + const char *version, + char *reserved); + +void +xchat_plugingui_remove (xchat_plugin *ph, + void *handle); + +int +xchat_emit_print (xchat_plugin *ph, + const char *event_name, ...); + +char * +xchat_gettext (xchat_plugin *ph, + const char *msgid); + +void +xchat_send_modes (xchat_plugin *ph, + const char **targets, + int ntargets, + int modes_per_line, + char sign, + char mode); + +char * +xchat_strip (xchat_plugin *ph, + const char *str, + int len, + int flags); + +void +xchat_free (xchat_plugin *ph, + void *ptr); + +#if !defined(PLUGIN_C) && defined(WIN32) +#ifndef XCHAT_PLUGIN_HANDLE +#define XCHAT_PLUGIN_HANDLE (ph) +#endif +#define xchat_hook_command ((XCHAT_PLUGIN_HANDLE)->xchat_hook_command) +#define xchat_hook_server ((XCHAT_PLUGIN_HANDLE)->xchat_hook_server) +#define xchat_hook_print ((XCHAT_PLUGIN_HANDLE)->xchat_hook_print) +#define xchat_hook_timer ((XCHAT_PLUGIN_HANDLE)->xchat_hook_timer) +#define xchat_hook_fd ((XCHAT_PLUGIN_HANDLE)->xchat_hook_fd) +#define xchat_unhook ((XCHAT_PLUGIN_HANDLE)->xchat_unhook) +#define xchat_print ((XCHAT_PLUGIN_HANDLE)->xchat_print) +#define xchat_printf ((XCHAT_PLUGIN_HANDLE)->xchat_printf) +#define xchat_command ((XCHAT_PLUGIN_HANDLE)->xchat_command) +#define xchat_commandf ((XCHAT_PLUGIN_HANDLE)->xchat_commandf) +#define xchat_nickcmp ((XCHAT_PLUGIN_HANDLE)->xchat_nickcmp) +#define xchat_set_context ((XCHAT_PLUGIN_HANDLE)->xchat_set_context) +#define xchat_find_context ((XCHAT_PLUGIN_HANDLE)->xchat_find_context) +#define xchat_get_context ((XCHAT_PLUGIN_HANDLE)->xchat_get_context) +#define xchat_get_info ((XCHAT_PLUGIN_HANDLE)->xchat_get_info) +#define xchat_get_prefs ((XCHAT_PLUGIN_HANDLE)->xchat_get_prefs) +#define xchat_list_get ((XCHAT_PLUGIN_HANDLE)->xchat_list_get) +#define xchat_list_free ((XCHAT_PLUGIN_HANDLE)->xchat_list_free) +#define xchat_list_fields ((XCHAT_PLUGIN_HANDLE)->xchat_list_fields) +#define xchat_list_str ((XCHAT_PLUGIN_HANDLE)->xchat_list_str) +#define xchat_list_int ((XCHAT_PLUGIN_HANDLE)->xchat_list_int) +#define xchat_list_time ((XCHAT_PLUGIN_HANDLE)->xchat_list_time) +#define xchat_list_next ((XCHAT_PLUGIN_HANDLE)->xchat_list_next) +#define xchat_plugingui_add ((XCHAT_PLUGIN_HANDLE)->xchat_plugingui_add) +#define xchat_plugingui_remove ((XCHAT_PLUGIN_HANDLE)->xchat_plugingui_remove) +#define xchat_emit_print ((XCHAT_PLUGIN_HANDLE)->xchat_emit_print) +#define xchat_gettext ((XCHAT_PLUGIN_HANDLE)->xchat_gettext) +#define xchat_send_modes ((XCHAT_PLUGIN_HANDLE)->xchat_send_modes) +#define xchat_strip ((XCHAT_PLUGIN_HANDLE)->xchat_strip) +#define xchat_free ((XCHAT_PLUGIN_HANDLE)->xchat_free) +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/src/common/xchat.c b/src/common/xchat.c new file mode 100644 index 00000000..afac9a0e --- /dev/null +++ b/src/common/xchat.c @@ -0,0 +1,951 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <time.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <unistd.h> + +#define WANTSOCKET +#include "inet.h" + +#ifndef WIN32 +#include <sys/wait.h> +#include <signal.h> +#endif + +#include "xchat.h" +#include "fe.h" +#include "util.h" +#include "cfgfiles.h" +#include "chanopt.h" +#include "ignore.h" +#include "xchat-plugin.h" +#include "plugin.h" +#include "plugin-timer.h" +#include "notify.h" +#include "server.h" +#include "servlist.h" +#include "outbound.h" +#include "text.h" +#include "url.h" +#include "xchatc.h" + +#ifdef USE_OPENSSL +#include <openssl/ssl.h> /* SSL_() */ +#include "ssl.h" +#endif + +#ifdef USE_MSPROXY +#include "msproxy.h" +#endif + +#ifdef USE_LIBPROXY +#include <proxy.h> +#endif + +GSList *popup_list = 0; +GSList *button_list = 0; +GSList *dlgbutton_list = 0; +GSList *command_list = 0; +GSList *ctcp_list = 0; +GSList *replace_list = 0; +GSList *sess_list = 0; +GSList *dcc_list = 0; +GSList *ignore_list = 0; +GSList *usermenu_list = 0; +GSList *urlhandler_list = 0; +GSList *tabmenu_list = 0; + +static int in_xchat_exit = FALSE; +int xchat_is_quitting = FALSE; +/* command-line args */ +int arg_dont_autoconnect = FALSE; +int arg_skip_plugins = FALSE; +char *arg_url = NULL; +char *arg_command = NULL; +gint arg_existing = FALSE; + +#ifdef USE_DBUS +#include "dbus/dbus-client.h" +#include "dbus/dbus-plugin.h" +#endif /* USE_DBUS */ + +struct session *current_tab; +struct session *current_sess = 0; +struct xchatprefs prefs; + +#ifdef USE_OPENSSL +SSL_CTX *ctx = NULL; +#endif + +#ifdef USE_LIBPROXY +pxProxyFactory *libproxy_factory; +#endif + +int +is_session (session * sess) +{ + return g_slist_find (sess_list, sess) ? 1 : 0; +} + +session * +find_dialog (server *serv, char *nick) +{ + GSList *list = sess_list; + session *sess; + + while (list) + { + sess = list->data; + if (sess->server == serv && sess->type == SESS_DIALOG) + { + if (!serv->p_cmp (nick, sess->channel)) + return (sess); + } + list = list->next; + } + return 0; +} + +session * +find_channel (server *serv, char *chan) +{ + session *sess; + GSList *list = sess_list; + while (list) + { + sess = list->data; + if ((!serv || serv == sess->server) && sess->type != SESS_DIALOG) + { + if (!serv->p_cmp (chan, sess->channel)) + return sess; + } + list = list->next; + } + return 0; +} + +static void +lagcheck_update (void) +{ + server *serv; + GSList *list = serv_list; + + if (!prefs.lagometer) + return; + + while (list) + { + serv = list->data; + if (serv->lag_sent) + fe_set_lag (serv, -1); + + list = list->next; + } +} + +void +lag_check (void) +{ + server *serv; + GSList *list = serv_list; + unsigned long tim; + char tbuf[128]; + time_t now = time (0); + int lag; + + tim = make_ping_time (); + + while (list) + { + serv = list->data; + if (serv->connected && serv->end_of_motd) + { + lag = now - serv->ping_recv; + if (prefs.pingtimeout && lag > prefs.pingtimeout && lag > 0) + { + sprintf (tbuf, "%d", lag); + EMIT_SIGNAL (XP_TE_PINGTIMEOUT, serv->server_session, tbuf, NULL, + NULL, NULL, 0); + if (prefs.autoreconnect) + serv->auto_reconnect (serv, FALSE, -1); + } else + { + snprintf (tbuf, sizeof (tbuf), "LAG%lu", tim); + serv->p_ping (serv, "", tbuf); + serv->lag_sent = tim; + fe_set_lag (serv, -1); + } + } + list = list->next; + } +} + +static int +away_check (void) +{ + session *sess; + GSList *list; + int full, sent, loop = 0; + + if (!prefs.away_track || prefs.away_size_max < 1) + return 1; + +doover: + /* request an update of AWAY status of 1 channel every 30 seconds */ + full = TRUE; + sent = 0; /* number of WHOs (users) requested */ + list = sess_list; + while (list) + { + sess = list->data; + + if (sess->server->connected && + sess->type == SESS_CHANNEL && + sess->channel[0] && + sess->total <= prefs.away_size_max) + { + if (!sess->done_away_check) + { + full = FALSE; + + /* if we're under 31 WHOs, send another channels worth */ + if (sent < 31 && !sess->doing_who) + { + sess->done_away_check = TRUE; + sess->doing_who = TRUE; + /* this'll send a WHO #channel */ + sess->server->p_away_status (sess->server, sess->channel); + sent += sess->total; + } + } + } + + list = list->next; + } + + /* done them all, reset done_away_check to FALSE and start over */ + if (full) + { + list = sess_list; + while (list) + { + sess = list->data; + sess->done_away_check = FALSE; + list = list->next; + } + loop++; + if (loop < 2) + goto doover; + } + + return 1; +} + +static int +xchat_misc_checks (void) /* this gets called every 1/2 second */ +{ + static int count = 0; +#ifdef USE_MSPROXY + static int count2 = 0; +#endif + + count++; + + lagcheck_update (); /* every 500ms */ + + if (count % 2) + dcc_check_timeouts (); /* every 1 second */ + + if (count >= 60) /* every 30 seconds */ + { + if (prefs.lagometer) + lag_check (); + count = 0; + } + +#ifdef USE_MSPROXY + count2++; + if (count2 >= 720) /* 720 every 6 minutes */ + { + msproxy_keepalive (); + count2 = 0; + } +#endif + + return 1; +} + +/* executed when the first irc window opens */ + +static void +irc_init (session *sess) +{ + static int done_init = FALSE; + char buf[512]; + + if (done_init) + return; + + done_init = TRUE; + + plugin_add (sess, NULL, NULL, timer_plugin_init, NULL, NULL, FALSE); + +#ifdef USE_PLUGIN + if (!arg_skip_plugins) + plugin_auto_load (sess); /* autoload ~/.xchat *.so */ +#endif + +#ifdef USE_DBUS + plugin_add (sess, NULL, NULL, dbus_plugin_init, NULL, NULL, FALSE); +#endif + + if (prefs.notify_timeout) + notify_tag = fe_timeout_add (prefs.notify_timeout * 1000, + notify_checklist, 0); + + fe_timeout_add (prefs.away_timeout * 1000, away_check, 0); + fe_timeout_add (500, xchat_misc_checks, 0); + + if (arg_url != NULL) + { + snprintf (buf, sizeof (buf), "server %s", arg_url); + handle_command (sess, buf, FALSE); + g_free (arg_url); /* from GOption */ + } + + if (arg_command != NULL) + { + g_free (arg_command); + } + + /* load -e ~/.xchat2/startup.txt */ + snprintf (buf, sizeof (buf), "%s/%s", get_xdir_fs (), "startup.txt"); + load_perform_file (sess, buf); +} + +static session * +session_new (server *serv, char *from, int type, int focus) +{ + session *sess; + + sess = malloc (sizeof (struct session)); + memset (sess, 0, sizeof (struct session)); + + sess->server = serv; + sess->logfd = -1; + sess->scrollfd = -1; + sess->type = type; + + sess->alert_beep = SET_DEFAULT; + sess->alert_taskbar = SET_DEFAULT; + sess->alert_tray = SET_DEFAULT; + + sess->text_hidejoinpart = SET_DEFAULT; + sess->text_logging = SET_DEFAULT; + sess->text_scrollback = SET_DEFAULT; + + if (from != NULL) + safe_strcpy (sess->channel, from, CHANLEN); + + sess_list = g_slist_prepend (sess_list, sess); + + fe_new_window (sess, focus); + + return sess; +} + +session * +new_ircwindow (server *serv, char *name, int type, int focus) +{ + session *sess; + + switch (type) + { + case SESS_SERVER: + serv = server_new (); + if (prefs.use_server_tab) + sess = session_new (serv, name, SESS_SERVER, focus); + else + sess = session_new (serv, name, SESS_CHANNEL, focus); + serv->server_session = sess; + serv->front_session = sess; + break; + case SESS_DIALOG: + sess = session_new (serv, name, type, focus); + log_open_or_close (sess); + break; + default: +/* case SESS_CHANNEL: + case SESS_NOTICES: + case SESS_SNOTICES:*/ + sess = session_new (serv, name, type, focus); + break; + } + + irc_init (sess); + scrollback_load (sess); + chanopt_load (sess); + plugin_emit_dummy_print (sess, "Open Context"); + + return sess; +} + +static void +exec_notify_kill (session * sess) +{ +#ifndef WIN32 + struct nbexec *re; + if (sess->running_exec != NULL) + { + re = sess->running_exec; + sess->running_exec = NULL; + kill (re->childpid, SIGKILL); + waitpid (re->childpid, NULL, WNOHANG); + fe_input_remove (re->iotag); + close (re->myfd); + if (re->linebuf) + free(re->linebuf); + free (re); + } +#endif +} + +static void +send_quit_or_part (session * killsess) +{ + int willquit = TRUE; + GSList *list; + session *sess; + server *killserv = killsess->server; + + /* check if this is the last session using this server */ + list = sess_list; + while (list) + { + sess = (session *) list->data; + if (sess->server == killserv && sess != killsess) + { + willquit = FALSE; + list = 0; + } else + list = list->next; + } + + if (xchat_is_quitting) + willquit = TRUE; + + if (killserv->connected) + { + if (willquit) + { + if (!killserv->sent_quit) + { + killserv->flush_queue (killserv); + server_sendquit (killsess); + killserv->sent_quit = TRUE; + } + } else + { + if (killsess->type == SESS_CHANNEL && killsess->channel[0] && + !killserv->sent_quit) + { + server_sendpart (killserv, killsess->channel, 0); + } + } + } +} + +void +session_free (session *killsess) +{ + server *killserv = killsess->server; + session *sess; + GSList *list; + + plugin_emit_dummy_print (killsess, "Close Context"); + + if (current_tab == killsess) + current_tab = NULL; + + if (killserv->server_session == killsess) + killserv->server_session = NULL; + + if (killserv->front_session == killsess) + { + /* front_session is closed, find a valid replacement */ + killserv->front_session = NULL; + list = sess_list; + while (list) + { + sess = (session *) list->data; + if (sess != killsess && sess->server == killserv) + { + killserv->front_session = sess; + if (!killserv->server_session) + killserv->server_session = sess; + break; + } + list = list->next; + } + } + + if (!killserv->server_session) + killserv->server_session = killserv->front_session; + + sess_list = g_slist_remove (sess_list, killsess); + + if (killsess->type == SESS_CHANNEL) + userlist_free (killsess); + + exec_notify_kill (killsess); + + log_close (killsess); + scrollback_close (killsess); + chanopt_save (killsess); + + send_quit_or_part (killsess); + + history_free (&killsess->history); + if (killsess->topic) + free (killsess->topic); + if (killsess->current_modes) + free (killsess->current_modes); + + fe_session_callback (killsess); + + if (current_sess == killsess) + { + current_sess = NULL; + if (sess_list) + current_sess = sess_list->data; + } + + free (killsess); + + if (!sess_list && !in_xchat_exit) + xchat_exit (); /* sess_list is empty, quit! */ + + list = sess_list; + while (list) + { + sess = (session *) list->data; + if (sess->server == killserv) + return; /* this server is still being used! */ + list = list->next; + } + + server_free (killserv); +} + +static void +free_sessions (void) +{ + GSList *list = sess_list; + + while (list) + { + fe_close_window (list->data); + list = sess_list; + } +} + + +static char defaultconf_ctcp[] = + "NAME TIME\n" "CMD nctcp %s TIME %t\n\n"\ + "NAME PING\n" "CMD nctcp %s PING %d\n\n"; + +static char defaultconf_replace[] = + "NAME teh\n" "CMD the\n\n"; +/* "NAME r\n" "CMD are\n\n"\ + "NAME u\n" "CMD you\n\n"*/ + +static char defaultconf_commands[] = + "NAME ACTION\n" "CMD me &2\n\n"\ + "NAME AME\n" "CMD allchan me &2\n\n"\ + "NAME ANICK\n" "CMD allserv nick &2\n\n"\ + "NAME AMSG\n" "CMD allchan say &2\n\n"\ + "NAME BANLIST\n" "CMD quote MODE %c +b\n\n"\ + "NAME CHAT\n" "CMD dcc chat %2\n\n"\ + "NAME DIALOG\n" "CMD query %2\n\n"\ + "NAME DMSG\n" "CMD msg =%2 &3\n\n"\ + "NAME EXIT\n" "CMD quit\n\n"\ + "NAME GREP\n" "CMD lastlog -r &2\n\n"\ + "NAME J\n" "CMD join &2\n\n"\ + "NAME KILL\n" "CMD quote KILL %2 :&3\n\n"\ + "NAME LEAVE\n" "CMD part &2\n\n"\ + "NAME M\n" "CMD msg &2\n\n"\ + "NAME ONOTICE\n" "CMD notice @%c &2\n\n"\ + "NAME RAW\n" "CMD quote &2\n\n"\ + "NAME SERVHELP\n" "CMD quote HELP\n\n"\ + "NAME SPING\n" "CMD ping\n\n"\ + "NAME SQUERY\n" "CMD quote SQUERY %2 :&3\n\n"\ + "NAME SSLSERVER\n" "CMD server -ssl &2\n\n"\ + "NAME SV\n" "CMD echo xchat %v %m\n\n"\ + "NAME UMODE\n" "CMD mode %n &2\n\n"\ + "NAME UPTIME\n" "CMD quote STATS u\n\n"\ + "NAME VER\n" "CMD ctcp %2 VERSION\n\n"\ + "NAME VERSION\n" "CMD ctcp %2 VERSION\n\n"\ + "NAME WALLOPS\n" "CMD quote WALLOPS :&2\n\n"\ + "NAME WII\n" "CMD quote WHOIS %2 %2\n\n"; + +static char defaultconf_urlhandlers[] = + "NAME Open Link in Opera\n" "CMD !opera -remote 'openURL(%s)'\n\n"; + +#ifdef USE_SIGACTION +/* Close and open log files on SIGUSR1. Usefull for log rotating */ + +static void +sigusr1_handler (int signal, siginfo_t *si, void *un) +{ + GSList *list = sess_list; + session *sess; + + while (list) + { + sess = list->data; + log_open_or_close (sess); + list = list->next; + } +} + +/* Execute /SIGUSR2 when SIGUSR2 received */ + +static void +sigusr2_handler (int signal, siginfo_t *si, void *un) +{ + session *sess = current_sess; + + if (sess) + handle_command (sess, "SIGUSR2", FALSE); +} +#endif + +static gint +xchat_auto_connect (gpointer userdata) +{ + servlist_auto_connect (NULL); + return 0; +} + +static void +xchat_init (void) +{ + char buf[3068]; + const char *cs = NULL; + +#ifdef WIN32 + WSADATA wsadata; + +#ifdef USE_IPV6 + if (WSAStartup(0x0202, &wsadata) != 0) + { + MessageBox (NULL, "Cannot find winsock 2.2+", "Error", MB_OK); + exit (0); + } +#else + WSAStartup(0x0101, &wsadata); +#endif /* !USE_IPV6 */ +#endif /* !WIN32 */ + +#ifdef USE_SIGACTION + struct sigaction act; + + /* ignore SIGPIPE's */ + act.sa_handler = SIG_IGN; + act.sa_flags = 0; + sigemptyset (&act.sa_mask); + sigaction (SIGPIPE, &act, NULL); + + /* Deal with SIGUSR1's & SIGUSR2's */ + act.sa_sigaction = sigusr1_handler; + act.sa_flags = 0; + sigemptyset (&act.sa_mask); + sigaction (SIGUSR1, &act, NULL); + + act.sa_sigaction = sigusr2_handler; + act.sa_flags = 0; + sigemptyset (&act.sa_mask); + sigaction (SIGUSR2, &act, NULL); +#else +#ifndef WIN32 + /* good enough for these old systems */ + signal (SIGPIPE, SIG_IGN); +#endif +#endif + + if (g_get_charset (&cs)) + prefs.utf8_locale = TRUE; + + load_text_events (); + sound_load (); + notify_load (); + ignore_load (); + + snprintf (buf, sizeof (buf), + "NAME %s~%s~\n" "CMD query %%s\n\n"\ + "NAME %s~%s~\n" "CMD send %%s\n\n"\ + "NAME %s~%s~\n" "CMD whois %%s %%s\n\n"\ + "NAME %s~%s~\n" "CMD notify -n ASK %%s\n\n"\ + + "NAME SUB\n" "CMD %s\n\n"\ + "NAME %s\n" "CMD op %%a\n\n"\ + "NAME %s\n" "CMD deop %%a\n\n"\ + "NAME SEP\n" "CMD \n\n"\ + "NAME %s\n" "CMD voice %%a\n\n"\ + "NAME %s\n" "CMD devoice %%a\n"\ + "NAME SEP\n" "CMD \n\n"\ + "NAME SUB\n" "CMD %s\n\n"\ + "NAME %s\n" "CMD kick %%s\n\n"\ + "NAME %s\n" "CMD ban %%s\n\n"\ + "NAME SEP\n" "CMD \n\n"\ + "NAME %s *!*@*.host\n""CMD ban %%s 0\n\n"\ + "NAME %s *!*@domain\n""CMD ban %%s 1\n\n"\ + "NAME %s *!*user@*.host\n""CMD ban %%s 2\n\n"\ + "NAME %s *!*user@domain\n""CMD ban %%s 3\n\n"\ + "NAME SEP\n" "CMD \n\n"\ + "NAME %s *!*@*.host\n""CMD kickban %%s 0\n\n"\ + "NAME %s *!*@domain\n""CMD kickban %%s 1\n\n"\ + "NAME %s *!*user@*.host\n""CMD kickban %%s 2\n\n"\ + "NAME %s *!*user@domain\n""CMD kickban %%s 3\n\n"\ + "NAME ENDSUB\n" "CMD \n\n"\ + "NAME ENDSUB\n" "CMD \n\n", + + _("_Open Dialog Window"), "xchat-dialog", + _("_Send a File"), "gtk-floppy", + _("_User Info (WhoIs)"), "gtk-info", + _("_Add to Friends List"), "gtk-add", + _("O_perator Actions"), + + _("Give Ops"), + _("Take Ops"), + _("Give Voice"), + _("Take Voice"), + + _("Kick/Ban"), + _("Kick"), + _("Ban"), + _("Ban"), + _("Ban"), + _("Ban"), + _("Ban"), + _("KickBan"), + _("KickBan"), + _("KickBan"), + _("KickBan")); + + list_loadconf ("popup.conf", &popup_list, buf); + + snprintf (buf, sizeof (buf), + "NAME %s\n" "CMD part\n\n" + "NAME %s\n" "CMD getstr # join \"%s\"\n\n" + "NAME %s\n" "CMD quote LINKS\n\n" + "NAME %s\n" "CMD ping\n\n" + "NAME TOGGLE %s\n" "CMD irc_hide_version\n\n", + _("Leave Channel"), + _("Join Channel..."), + _("Enter Channel to Join:"), + _("Server Links"), + _("Ping Server"), + _("Hide Version")); + list_loadconf ("usermenu.conf", &usermenu_list, buf); + + snprintf (buf, sizeof (buf), + "NAME %s\n" "CMD op %%a\n\n" + "NAME %s\n" "CMD deop %%a\n\n" + "NAME %s\n" "CMD ban %%s\n\n" + "NAME %s\n" "CMD getstr \"%s\" \"kick %%s\" \"%s\"\n\n" + "NAME %s\n" "CMD send %%s\n\n" + "NAME %s\n" "CMD query %%s\n\n", + _("Op"), + _("DeOp"), + _("Ban"), + _("Kick"), + _("bye"), + _("Enter reason to kick %s:"), + _("Sendfile"), + _("Dialog")); + list_loadconf ("buttons.conf", &button_list, buf); + + snprintf (buf, sizeof (buf), + "NAME %s\n" "CMD whois %%s %%s\n\n" + "NAME %s\n" "CMD send %%s\n\n" + "NAME %s\n" "CMD dcc chat %%s\n\n" + "NAME %s\n" "CMD clear\n\n" + "NAME %s\n" "CMD ping %%s\n\n", + _("WhoIs"), + _("Send"), + _("Chat"), + _("Clear"), + _("Ping")); + list_loadconf ("dlgbuttons.conf", &dlgbutton_list, buf); + + list_loadconf ("tabmenu.conf", &tabmenu_list, NULL); + list_loadconf ("ctcpreply.conf", &ctcp_list, defaultconf_ctcp); + list_loadconf ("commands.conf", &command_list, defaultconf_commands); + list_loadconf ("replace.conf", &replace_list, defaultconf_replace); + list_loadconf ("urlhandlers.conf", &urlhandler_list, + defaultconf_urlhandlers); + + servlist_init (); /* load server list */ + + /* if we got a URL, don't open the server list GUI */ + if (!prefs.slist_skip && !arg_url) + fe_serverlist_open (NULL); + + /* turned OFF via -a arg */ + if (!arg_dont_autoconnect) + { + /* do any auto connects */ + if (!servlist_have_auto ()) /* if no new windows open .. */ + { + /* and no serverlist gui ... */ + if (prefs.slist_skip || arg_url) + /* we'll have to open one. */ + new_ircwindow (NULL, NULL, SESS_SERVER, 0); + } else + { + fe_idle_add (xchat_auto_connect, NULL); + } + } else + { + if (prefs.slist_skip || arg_url) + new_ircwindow (NULL, NULL, SESS_SERVER, 0); + } +} + +void +xchat_exit (void) +{ + xchat_is_quitting = TRUE; + in_xchat_exit = TRUE; + plugin_kill_all (); + fe_cleanup (); + if (prefs.autosave) + { + save_config (); + if (prefs.save_pevents) + pevent_save (NULL); + } + if (prefs.autosave_url) + url_autosave (); + sound_save (); + notify_save (); + ignore_save (); + free_sessions (); + chanopt_save_all (); + servlist_cleanup (); + fe_exit (); +} + +#ifndef WIN32 + +static int +child_handler (gpointer userdata) +{ + int pid = GPOINTER_TO_INT (userdata); + + if (waitpid (pid, 0, WNOHANG) == pid) + return 0; /* remove timeout handler */ + return 1; /* keep the timeout handler */ +} + +#endif + +void +xchat_exec (const char *cmd) +{ +#ifdef WIN32 + util_exec (cmd); +#else + int pid = util_exec (cmd); + if (pid != -1) + /* zombie avoiding system. Don't ask! it has to be like this to work + with zvt (which overrides the default handler) */ + fe_timeout_add (1000, child_handler, GINT_TO_POINTER (pid)); +#endif +} + +void +xchat_execv (char * const argv[]) +{ +#ifdef WIN32 + util_execv (argv); +#else + int pid = util_execv (argv); + if (pid != -1) + /* zombie avoiding system. Don't ask! it has to be like this to work + with zvt (which overrides the default handler) */ + fe_timeout_add (1000, child_handler, GINT_TO_POINTER (pid)); +#endif +} + +int +main (int argc, char *argv[]) +{ + int ret; + + srand (time (0)); /* CL: do this only once! */ + +#ifdef SOCKS + SOCKSinit (argv[0]); +#endif + + ret = fe_args (argc, argv); + if (ret != -1) + return ret; + +#ifdef USE_DBUS + xchat_remote (); +#endif + + load_config (); + +#ifdef USE_LIBPROXY + libproxy_factory = px_proxy_factory_new(); +#endif + + fe_init (); + + xchat_init (); + + fe_main (); + +#ifdef USE_LIBPROXY + px_proxy_factory_free(libproxy_factory); +#endif + +#ifdef USE_OPENSSL + if (ctx) + _SSL_context_free (ctx); +#endif + +#ifdef USE_DEBUG + xchat_mem_list (); +#endif + +#ifdef WIN32 + WSACleanup (); +#endif + + return 0; +} diff --git a/src/common/xchat.h b/src/common/xchat.h new file mode 100644 index 00000000..db7a6c4b --- /dev/null +++ b/src/common/xchat.h @@ -0,0 +1,575 @@ +#include "../../config.h" + +#include <glib/gslist.h> +#include <glib/glist.h> +#include <glib/gutils.h> +#include <glib/giochannel.h> +#include <glib/gstrfuncs.h> +#include <time.h> /* need time_t */ + +#ifndef XCHAT_H +#define XCHAT_H + +#include "history.h" + +#ifndef HAVE_SNPRINTF +#define snprintf g_snprintf +#endif + +#ifndef HAVE_VSNPRINTF +#define vsnprintf g_vsnprintf +#endif + +#ifdef USE_DEBUG +#define malloc(n) xchat_malloc(n, __FILE__, __LINE__) +#define realloc(n, m) xchat_realloc(n, m, __FILE__, __LINE__) +#define free(n) xchat_dfree(n, __FILE__, __LINE__) +#define strdup(n) xchat_strdup(n, __FILE__, __LINE__) +void *xchat_malloc (int size, char *file, int line); +void *xchat_strdup (char *str, char *file, int line); +void xchat_dfree (void *buf, char *file, int line); +void *xchat_realloc (char *old, int len, char *file, int line); +#endif + +#ifdef SOCKS +#ifdef __sgi +#include <sys/time.h> +#define INCLUDE_PROTOTYPES 1 +#endif +#include <socks.h> +#endif + +#ifdef USE_OPENSSL +#include <openssl/ssl.h> /* SSL_() */ +#endif + +#ifdef __EMX__ /* for o/s 2 */ +#define OFLAGS O_BINARY +#define strcasecmp stricmp +#define strncasecmp strnicmp +#define PATH_MAX MAXPATHLEN +#define FILEPATH_LEN_MAX MAXPATHLEN +#endif + +/* force a 32bit CMP.L */ +#define CMPL(a, c0, c1, c2, c3) (a == (guint32)(c0 | (c1 << 8) | (c2 << 16) | (c3 << 24))) +#define WORDL(c0, c1, c2, c3) (guint32)(c0 | (c1 << 8) | (c2 << 16) | (c3 << 24)) +#define WORDW(c0, c1) (guint16)(c0 | (c1 << 8)) + +#ifdef WIN32 /* for win32 */ +#define OFLAGS O_BINARY +#define sleep(t) _sleep(t*1000) +#include <direct.h> +#define F_OK 0 +#define X_OK 1 +#define W_OK 2 +#define R_OK 4 +#ifndef S_ISDIR +#define S_ISDIR(m) ((m) & _S_IFDIR) +#endif +#define NETWORK_PRIVATE +#else /* for unix */ +#define OFLAGS 0 +#endif + +#define FONTNAMELEN 127 +#define PATHLEN 255 +#define DOMAINLEN 100 +#define NICKLEN 64 /* including the NULL, so 63 really */ +#define CHANLEN 300 +#define PDIWORDS 32 +#define USERNAMELEN 10 +#define HIDDEN_CHAR 8 /* invisible character for xtext */ + +#if defined(ENABLE_NLS) && !defined(_) +# include <libintl.h> +# define _(x) gettext(x) +# ifdef gettext_noop +# define N_(String) gettext_noop (String) +# else +# define N_(String) (String) +# endif +#endif +#if !defined(_) +# define N_(String) (String) +# define _(x) (x) +#endif + +struct nbexec +{ + int myfd; + int childpid; + int tochannel; /* making this int keeps the struct 4-byte aligned */ + int iotag; + char *linebuf; + int buffill; + struct session *sess; +}; + +struct xchatprefs +{ + char nick1[NICKLEN]; + char nick2[NICKLEN]; + char nick3[NICKLEN]; + char realname[127]; + char username[127]; + char nick_suffix[4]; /* Only ever holds a one-character string. */ + char awayreason[256]; + char quitreason[256]; + char partreason[256]; + char font_normal[FONTNAMELEN + 1]; + char doubleclickuser[256]; + char sounddir[PATHLEN + 1]; + char soundcmd[PATHLEN + 1]; + char background[PATHLEN + 1]; + char dccdir[PATHLEN + 1]; + char dcc_completed_dir[PATHLEN + 1]; + char irc_extra_hilight[300]; + char irc_no_hilight[300]; + char irc_nick_hilight[300]; + char dnsprogram[72]; + char hostname[127]; + char cmdchar[4]; + char logmask[256]; + char stamp_format[64]; + char timestamp_log_format[64]; + char irc_id_ytext[64]; + char irc_id_ntext[64]; + + char proxy_host[64]; + int proxy_port; + int proxy_type; /* 0=disabled, 1=wingate 2=socks4, 3=socks5, 4=http */ + int proxy_use; /* 0=all 1=IRC_ONLY 2=DCC_ONLY */ + unsigned int proxy_auth; + char proxy_user[32]; + char proxy_pass[32]; + + int first_dcc_send_port; + int last_dcc_send_port; + + int tint_red; + int tint_green; + int tint_blue; + + int away_timeout; + int away_size_max; + + int gui_pane_left_size; + int gui_pane_right_size; + + int gui_ulist_pos; + int tab_pos; + + int _tabs_position; + int tab_layout; + int max_auto_indent; + int dcc_blocksize; + int max_lines; + int notify_timeout; + int dcctimeout; + int dccstalltimeout; + int dcc_global_max_get_cps; + int dcc_global_max_send_cps; + int dcc_max_get_cps; + int dcc_max_send_cps; + int mainwindow_left; + int mainwindow_top; + int mainwindow_width; + int mainwindow_height; + int completion_sort; + int gui_win_state; + int gui_url_mod; + int gui_usermenu; + int gui_join_dialog; + int gui_quit_dialog; + int dialog_left; + int dialog_top; + int dialog_width; + int dialog_height; + int dccpermissions; + int recon_delay; + int bantype; + int userlist_sort; + guint32 local_ip; + guint32 dcc_ip; + char dcc_ip_str[DOMAINLEN + 1]; + + unsigned int tab_small; + unsigned int tab_sort; + unsigned int mainwindow_save; + unsigned int perc_color; + unsigned int perc_ascii; + unsigned int autosave; + unsigned int autodialog; + unsigned int autosave_url; + unsigned int autoreconnect; + unsigned int autoreconnectonfail; + unsigned int invisible; + unsigned int servernotice; + unsigned int wallops; + unsigned int skipmotd; + unsigned int autorejoin; + unsigned int colorednicks; + unsigned int chanmodebuttons; + unsigned int userlistbuttons; + unsigned int showhostname_in_userlist; + unsigned int nickcompletion; + unsigned int completion_amount; + unsigned int tabchannels; + unsigned int paned_userlist; + unsigned int autodccchat; + unsigned int autodccsend; + unsigned int autoresume; + unsigned int autoopendccsendwindow; + unsigned int autoopendccrecvwindow; + unsigned int autoopendccchatwindow; + unsigned int transparent; + unsigned int stripcolor; + unsigned int timestamp; + unsigned int fastdccsend; + unsigned int dcc_send_fillspaces; + unsigned int dcc_remove; + unsigned int slist_fav; + unsigned int slist_skip; + unsigned int slist_select; + unsigned int filterbeep; + + unsigned int input_balloon_chans; + unsigned int input_balloon_hilight; + unsigned int input_balloon_priv; + unsigned int input_balloon_time; + + unsigned int input_beep_chans; + unsigned int input_beep_hilight; + unsigned int input_beep_priv; + + unsigned int input_flash_chans; + unsigned int input_flash_hilight; + unsigned int input_flash_priv; + + unsigned int input_tray_chans; + unsigned int input_tray_hilight; + unsigned int input_tray_priv; + + unsigned int truncchans; + unsigned int privmsgtab; + unsigned int irc_join_delay; + unsigned int logging; + unsigned int timestamp_logs; + unsigned int newtabstofront; + unsigned int dccwithnick; + unsigned int hidever; + unsigned int ip_from_server; + unsigned int raw_modes; + unsigned int show_away_once; + unsigned int show_away_message; + unsigned int auto_unmark_away; + unsigned int away_track; + unsigned int userhost; + unsigned int irc_whois_front; + unsigned int use_server_tab; + unsigned int notices_tabs; + unsigned int style_namelistgad; + unsigned int style_inputbox; + unsigned int windows_as_tabs; + unsigned int indent_nicks; + unsigned int text_replay; + unsigned int show_marker; + unsigned int show_separator; + unsigned int thin_separator; + unsigned int auto_indent; + unsigned int wordwrap; + unsigned int gui_input_spell; + unsigned int gui_tray; + unsigned int gui_tray_flags; + unsigned int gui_tweaks; + unsigned int _gui_ulist_left; + unsigned int throttle; + unsigned int topicbar; + unsigned int hideuserlist; + unsigned int hidemenu; + unsigned int perlwarnings; + unsigned int lagometer; + unsigned int throttlemeter; + unsigned int pingtimeout; + unsigned int whois_on_notifyonline; + unsigned int wait_on_exit; + unsigned int confmode; + unsigned int utf8_locale; + unsigned int identd; + + unsigned int ctcp_number_limit; /*flood */ + unsigned int ctcp_time_limit; /*seconds of floods */ + + unsigned int msg_number_limit; /*same deal */ + unsigned int msg_time_limit; + + /* Tells us if we need to save, only when they've been edited. + This is so that we continue using internal defaults (which can + change in the next release) until the user edits them. */ + unsigned int save_pevents:1; +}; + +/* Session types */ +#define SESS_SERVER 1 +#define SESS_CHANNEL 2 +#define SESS_DIALOG 3 +#define SESS_NOTICES 4 +#define SESS_SNOTICES 5 + +/* Per-Channel Settings */ +#define SET_OFF 0 +#define SET_ON 1 +#define SET_DEFAULT 2 /* use global setting */ + +typedef struct session +{ + /* Per-Channel Alerts */ + /* use a byte, because we need a pointer to each element */ + guint8 alert_beep; + guint8 alert_taskbar; + guint8 alert_tray; + + /* Per-Channel Settings */ + guint8 text_hidejoinpart; + guint8 text_logging; + guint8 text_scrollback; + + struct server *server; + void *usertree_alpha; /* pure alphabetical tree */ + void *usertree; /* ordered with Ops first */ + struct User *me; /* points to myself in the usertree */ + char channel[CHANLEN]; + char waitchannel[CHANLEN]; /* waiting to join channel (/join sent) */ + char willjoinchannel[CHANLEN]; /* will issue /join for this channel */ + char channelkey[64]; /* XXX correct max length? */ + int limit; /* channel user limit */ + int logfd; + int scrollfd; /* scrollback filedes */ + int scrollwritten; /* number of lines written */ + + char lastnick[NICKLEN]; /* last nick you /msg'ed */ + + struct history history; + + int ops; /* num. of ops in channel */ + int hops; /* num. of half-oped users */ + int voices; /* num. of voiced people */ + int total; /* num. of users in channel */ + + char *quitreason; + char *topic; + char *current_modes; /* free() me */ + + int mode_timeout_tag; + + struct session *lastlog_sess; + struct nbexec *running_exec; + + struct session_gui *gui; /* initialized by fe_new_window */ + struct restore_gui *res; + + int type; /* SESS_* */ + + int new_data:1; /* new data avail? (purple tab) */ + int nick_said:1; /* your nick mentioned? (blue tab) */ + int msg_said:1; /* new msg available? (red tab) */ + + int ignore_date:1; + int ignore_mode:1; + int ignore_names:1; + int end_of_names:1; + int doing_who:1; /* /who sent on this channel */ + int done_away_check:1; /* done checking for away status changes */ + unsigned int lastlog_regexp:1; /* this is a lastlog and using regexp */ +} session; + +struct msproxy_state_t +{ + gint32 clientid; + gint32 serverid; + unsigned char seq_recv; /* seq number of last packet recv. */ + unsigned char seq_sent; /* seq number of last packet sent. */ +}; + +typedef struct server +{ + /* server control operations (in server*.c) */ + void (*connect)(struct server *, char *hostname, int port, int no_login); + void (*disconnect)(struct session *, int sendquit, int err); + int (*cleanup)(struct server *); + void (*flush_queue)(struct server *); + void (*auto_reconnect)(struct server *, int send_quit, int err); + /* irc protocol functions (in proto*.c) */ + void (*p_inline)(struct server *, char *buf, int len); + void (*p_invite)(struct server *, char *channel, char *nick); + void (*p_cycle)(struct server *, char *channel, char *key); + void (*p_ctcp)(struct server *, char *to, char *msg); + void (*p_nctcp)(struct server *, char *to, char *msg); + void (*p_quit)(struct server *, char *reason); + void (*p_kick)(struct server *, char *channel, char *nick, char *reason); + void (*p_part)(struct server *, char *channel, char *reason); + void (*p_ns_identify)(struct server *, char *pass); + void (*p_ns_ghost)(struct server *, char *usname, char *pass); + void (*p_join)(struct server *, char *channel, char *key); + void (*p_join_list)(struct server *, GSList *channels, GSList *keys); + void (*p_login)(struct server *, char *user, char *realname); + void (*p_join_info)(struct server *, char *channel); + void (*p_mode)(struct server *, char *target, char *mode); + void (*p_user_list)(struct server *, char *channel); + void (*p_away_status)(struct server *, char *channel); + void (*p_whois)(struct server *, char *nicks); + void (*p_get_ip)(struct server *, char *nick); + void (*p_get_ip_uh)(struct server *, char *nick); + void (*p_set_back)(struct server *); + void (*p_set_away)(struct server *, char *reason); + void (*p_message)(struct server *, char *channel, char *text); + void (*p_action)(struct server *, char *channel, char *act); + void (*p_notice)(struct server *, char *channel, char *text); + void (*p_topic)(struct server *, char *channel, char *topic); + void (*p_list_channels)(struct server *, char *arg, int min_users); + void (*p_change_nick)(struct server *, char *new_nick); + void (*p_names)(struct server *, char *channel); + void (*p_ping)(struct server *, char *to, char *timestring); +/* void (*p_set_away)(struct server *);*/ + int (*p_raw)(struct server *, char *raw); + int (*p_cmp)(const char *s1, const char *s2); + + int port; + int sok; /* is equal to sok4 or sok6 (the one we are using) */ + int sok4; /* tcp4 socket */ + int sok6; /* tcp6 socket */ + int proxy_type; + int proxy_sok; /* Additional information for MS Proxy beast */ + int proxy_sok4; + int proxy_sok6; + struct msproxy_state_t msp_state; + int id; /* unique ID number (for plugin API) */ +#ifdef USE_OPENSSL + SSL *ssl; + int ssl_do_connect_tag; +#else + void *ssl; +#endif + int childread; + int childwrite; + int childpid; + int iotag; + int recondelay_tag; /* reconnect delay timeout */ + int joindelay_tag; /* waiting before we send JOIN */ + char hostname[128]; /* real ip number */ + char servername[128]; /* what the server says is its name */ + char password[86]; + char nick[NICKLEN]; + char linebuf[2048]; /* RFC says 512 chars including \r\n */ + char *last_away_reason; + int pos; /* current position in linebuf */ + int nickcount; + int nickservtype; /* 0=/MSG nickserv 1=/NICKSERV 2=/NS */ + + char *chantypes; /* for 005 numeric - free me */ + char *chanmodes; /* for 005 numeric - free me */ + char *nick_prefixes; /* e.g. "*@%+" */ + char *nick_modes; /* e.g. "aohv" */ + char *bad_nick_prefixes; /* for ircd that doesn't give the modes */ + int modes_per_line; /* 6 on undernet, 4 on efnet etc... */ + + void *network; /* points to entry in servlist.c or NULL! */ + + GSList *outbound_queue; + time_t next_send; /* cptr->since in ircu */ + time_t prev_now; /* previous now-time */ + int sendq_len; /* queue size */ + int lag; /* milliseconds */ + + struct session *front_session; /* front-most window/tab */ + struct session *server_session; /* server window/tab */ + + struct server_gui *gui; /* initialized by fe_new_server */ + + unsigned int ctcp_counter; /*flood */ + time_t ctcp_last_time; + + unsigned int msg_counter; /*counts the msg tab opened in a certain time */ + time_t msg_last_time; + + /*time_t connect_time;*/ /* when did it connect? */ + time_t lag_sent; + time_t ping_recv; /* when we last got a ping reply */ + time_t away_time; /* when we were marked away */ + + char *encoding; /* NULL for system */ + char *autojoin; /* list of channels & keys to join */ + + unsigned int motd_skipped:1; + unsigned int connected:1; + unsigned int connecting:1; + unsigned int no_login:1; + unsigned int skip_next_userhost:1;/* used for "get my ip from server" */ + unsigned int skip_next_whois:1; /* hide whois output */ + unsigned int inside_whois:1; + unsigned int doing_dns:1; /* /dns has been done */ + unsigned int end_of_motd:1; /* end of motd reached (logged in) */ + unsigned int sent_quit:1; /* sent a QUIT already? */ + unsigned int use_listargs:1; /* undernet and dalnet need /list >0,<10000 */ + unsigned int is_away:1; + unsigned int reconnect_away:1; /* whether to reconnect in is_away state */ + unsigned int dont_use_proxy:1; /* to proxy or not to proxy */ + unsigned int supports_watch:1; /* supports the WATCH command */ + unsigned int bad_prefix:1; /* gave us a bad PREFIX= 005 number */ + unsigned int have_namesx:1; /* 005 tokens NAMESX and UHNAMES */ + unsigned int have_uhnames:1; + unsigned int have_whox:1; /* have undernet's WHOX features */ + unsigned int have_capab:1; /* supports CAPAB (005 tells us) */ + unsigned int have_idmsg:1; /* freenode's IDENTIFY-MSG */ + unsigned int have_except:1; /* ban exemptions +e */ + unsigned int using_cp1255:1; /* encoding is CP1255/WINDOWS-1255? */ + unsigned int using_irc:1; /* encoding is "IRC" (CP1252/UTF-8 hybrid)? */ + unsigned int use_who:1; /* whether to use WHO command to get dcc_ip */ +#ifdef USE_OPENSSL + unsigned int use_ssl:1; /* is server SSL capable? */ + unsigned int accept_invalid_cert:1;/* ignore result of server's cert. verify */ +#endif +} server; + +typedef int (*cmd_callback) (struct session * sess, char *tbuf, char *word[], + char *word_eol[]); + +struct commands +{ + char *name; + cmd_callback callback; + char needserver; + char needchannel; + gint16 handle_quotes; + char *help; +}; + +struct away_msg +{ + struct server *server; + char nick[NICKLEN]; + char *message; +}; + +/* not just for popups, but used for usercommands, ctcp replies, + userlist buttons etc */ + +struct popup +{ + char *cmd; + char *name; +}; + +/* CL: get a random int in the range [0..n-1]. DON'T use rand() % n, it gives terrible results. */ +#define RAND_INT(n) ((int)(rand() / (RAND_MAX + 1.0) * (n))) + +#if defined(WIN32) && GLIB_CHECK_VERSION(2,4,0) +#define xchat_filename_from_utf8 g_locale_from_utf8 +#define xchat_filename_to_utf8 g_locale_to_utf8 +#else +#define xchat_filename_from_utf8 g_filename_from_utf8 +#define xchat_filename_to_utf8 g_filename_to_utf8 +#endif + +#endif diff --git a/src/common/xchatc.h b/src/common/xchatc.h new file mode 100644 index 00000000..c22e17dd --- /dev/null +++ b/src/common/xchatc.h @@ -0,0 +1,39 @@ +#ifndef XCHAT_C_H +#define XCHAT_C_H + +extern struct xchatprefs prefs; + +extern int xchat_is_quitting; +extern gint arg_skip_plugins; /* command-line args */ +extern gint arg_dont_autoconnect; +extern char *arg_url; +extern char *arg_command; +extern gint arg_existing; + +extern session *current_sess; +extern session *current_tab; + +extern GSList *popup_list; +extern GSList *button_list; +extern GSList *dlgbutton_list; +extern GSList *command_list; +extern GSList *ctcp_list; +extern GSList *replace_list; +extern GSList *sess_list; +extern GSList *dcc_list; +extern GSList *ignore_list; +extern GSList *usermenu_list; +extern GSList *urlhandler_list; +extern GSList *tabmenu_list; + +session * find_channel (server *serv, char *chan); +session * find_dialog (server *serv, char *nick); +session * new_ircwindow (server *serv, char *name, int type, int focus); +int is_session (session * sess); +void session_free (session *killsess); +void lag_check (void); +void xchat_exit (void); +void xchat_exec (const char *cmd); +void xchat_execv (char * const argv[]); + +#endif diff --git a/src/fe-gtk/Makefile.am b/src/fe-gtk/Makefile.am new file mode 100644 index 00000000..7db38096 --- /dev/null +++ b/src/fe-gtk/Makefile.am @@ -0,0 +1,32 @@ +localedir = $(datadir)/locale + +bin_PROGRAMS = xchat + +INCLUDES = $(GUI_CFLAGS) -DG_DISABLE_CAST_CHECKS -DLOCALEDIR=\"$(localedir)\" + +xchat_LDADD = ../common/libxchatcommon.a $(GUI_LIBS) + +EXTRA_DIST = \ + about.h ascii.h banlist.h chanlist.h chanview.h chanview-tabs.c \ + chanview-tree.c custom-list.h editlist.h fe-gtk.h fkeys.h gtkutil.h joind.h \ + maingui.h menu.h mmx_cmod.S mmx_cmod.h notifygui.h palette.h pixmaps.h \ + plugin-tray.h plugingui.c plugingui.h rawlog.h search.h sexy-spell-entry.h \ + textgui.h urlgrab.h userlistgui.h xtext.h + +if USE_MMX +mmx_cmod_S = mmx_cmod.S +endif + +if DO_PLUGIN +plugingui_c = plugingui.c +endif + +if USE_LIBSEXY +sexy_spell_entry_c = sexy-spell-entry.c +endif + +xchat_SOURCES = about.c ascii.c banlist.c chanlist.c chanview.c custom-list.c \ + dccgui.c editlist.c fe-gtk.c fkeys.c gtkutil.c ignoregui.c joind.c menu.c \ + maingui.c $(mmx_cmod_S) notifygui.c palette.c pixmaps.c plugin-tray.c $(plugingui_c) \ + rawlog.c search.c servlistgui.c setup.c $(sexy_spell_entry_c) textgui.c \ + urlgrab.c userlistgui.c xtext.c diff --git a/src/fe-gtk/about.c b/src/fe-gtk/about.c new file mode 100644 index 00000000..60700aec --- /dev/null +++ b/src/fe-gtk/about.c @@ -0,0 +1,161 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "fe-gtk.h" + +#include <gtk/gtkmain.h> +#include <gtk/gtkcontainer.h> +#include <gtk/gtkdialog.h> +#include <gtk/gtkvbox.h> +#include <gtk/gtkhbox.h> +#include <gtk/gtkimage.h> +#include <gtk/gtklabel.h> +#include <gtk/gtkbutton.h> +#include <gtk/gtkstock.h> +#include <gtk/gtkwindow.h> + +#ifdef USE_XLIB +#include <gdk/gdkx.h> +#endif + +#include "../common/xchat.h" +#include "../common/util.h" +#include "palette.h" +#include "pixmaps.h" +#include "gtkutil.h" +#include "about.h" + + +#if 0 /*def USE_GNOME*/ + +void +menu_about (GtkWidget * wid, gpointer sess) +{ + char buf[512]; + const gchar *author[] = { "Peter Zelezny <zed@xchat.org>", 0 }; + + (snprintf) (buf, sizeof (buf), + "An IRC Client for UNIX.\n\n" + "This binary was compiled on "__DATE__"\n" + "Using GTK %d.%d.%d X %d\n" + "Running on %s", + gtk_major_version, gtk_minor_version, gtk_micro_version, +#ifdef USE_XLIB + VendorRelease (GDK_DISPLAY ()), get_cpu_str()); +#else + 666, get_cpu_str()); +#endif + + gtk_widget_show (gnome_about_new ("X-Chat", PACKAGE_VERSION, + "(C) 1998-2005 Peter Zelezny", author, buf, 0)); +} + +#else + +static GtkWidget *about = 0; + +static int +about_close (void) +{ + about = 0; + return 0; +} + +void +menu_about (GtkWidget * wid, gpointer sess) +{ + GtkWidget *vbox, *label, *hbox; + char buf[512]; + const char *locale = NULL; + extern GtkWindow *parent_window; /* maingui.c */ + + if (about) + { + gtk_window_present (GTK_WINDOW (about)); + return; + } + + about = gtk_dialog_new (); + gtk_window_set_position (GTK_WINDOW (about), GTK_WIN_POS_CENTER); + gtk_window_set_resizable (GTK_WINDOW (about), FALSE); + gtk_window_set_title (GTK_WINDOW (about), _("About "DISPLAY_NAME)); + if (parent_window) + gtk_window_set_transient_for (GTK_WINDOW (about), parent_window); + g_signal_connect (G_OBJECT (about), "destroy", + G_CALLBACK (about_close), 0); + + vbox = GTK_DIALOG (about)->vbox; + + wid = gtk_image_new_from_pixbuf (pix_xchat); + gtk_container_add (GTK_CONTAINER (vbox), wid); + + label = gtk_label_new (NULL); + gtk_label_set_selectable (GTK_LABEL (label), TRUE); + gtk_container_add (GTK_CONTAINER (vbox), label); + g_get_charset (&locale); + (snprintf) (buf, sizeof (buf), + "<span size=\"x-large\"><b>"DISPLAY_NAME" "PACKAGE_VERSION"</b></span>\n\n" + "%s\n\n" +#ifdef WIN32 + /* leave this message to avoid time wasting bug reports! */ + "This version is unofficial and comes with no support.\n\n" +#endif + "%s\n" + "<b>Charset</b>: %s " +#ifdef WIN32 + "<b>GTK+</b>: %i.%i.%i\n" +#else + "<b>Renderer</b>: %s\n" +#endif + "<b>Compiled</b>: "__DATE__"\n\n" + "<small>\302\251 1998-2010 Peter \305\275elezn\303\275 <zed@xchat.org></small>", + _("A multiplatform IRC Client"), + get_cpu_str(), + locale, +#ifdef WIN32 + gtk_major_version, + gtk_minor_version, + gtk_micro_version +#else +#ifdef USE_XFT + "Xft" +#else + "Pango" +#endif +#endif + ); + gtk_label_set_markup (GTK_LABEL (label), buf); + gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_CENTER); + + hbox = gtk_hbox_new (0, 2); + gtk_container_add (GTK_CONTAINER (vbox), hbox); + + wid = gtk_button_new_from_stock (GTK_STOCK_CLOSE); + GTK_WIDGET_SET_FLAGS (GTK_WIDGET (wid), GTK_CAN_DEFAULT); + gtk_box_pack_end (GTK_BOX (GTK_DIALOG (about)->action_area), wid, 0, 0, 0); + gtk_widget_grab_default (wid); + g_signal_connect (G_OBJECT (wid), "clicked", + G_CALLBACK (gtkutil_destroy), about); + + gtk_widget_show_all (about); +} +#endif diff --git a/src/fe-gtk/about.h b/src/fe-gtk/about.h new file mode 100644 index 00000000..2bad159c --- /dev/null +++ b/src/fe-gtk/about.h @@ -0,0 +1 @@ +void menu_about (GtkWidget * wid, gpointer sess); diff --git a/src/fe-gtk/ascii.c b/src/fe-gtk/ascii.c new file mode 100644 index 00000000..f1adbdfc --- /dev/null +++ b/src/fe-gtk/ascii.c @@ -0,0 +1,177 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "fe-gtk.h" + +#include <gtk/gtkeditable.h> +#include <gtk/gtkframe.h> +#include <gtk/gtkhbox.h> +#include <gtk/gtklabel.h> +#include <gtk/gtkbutton.h> + +#include "../common/xchat.h" +#include "../common/xchatc.h" +#include "gtkutil.h" +#include "ascii.h" +#include "maingui.h" + +static const unsigned char table[]= +{ +/* Line 1 */ '\n', +0xc2,0xa1,0xc2,0xbf,0xc2,0xa2,0xc2,0xa3,0xe2,0x82,0xac,0xc2,0xa5,0xc2,0xa6,0xc2, +0xa7,0xc2,0xa8,0xc2,0xa9,0xc2,0xae,0xc2,0xaa,0xc2,0xab,0xc2,0xbb,0xc2,0xac,0xc2, +0xad,0xc2,0xaf,0xe2,0x99,0xaa, +/* Line 2 */ '\n', +0xc2,0xba,0xc2,0xb9,0xc2,0xb2,0xc2,0xb3,0xc2,0xb4,0xc2,0xb5,0xc3,0x9e,0xc3,0xbe, +0xc2,0xb6,0xc2,0xb7,0xc2,0xb8,0xc2,0xb0,0xc2,0xbc,0xc2,0xbd,0xc2,0xbe,0xc3,0x97, +0xc2,0xb1,0xc3,0xb7, +/* Line 3 */ '\n', +0xc3,0x80,0xc3,0x81,0xc3,0x82,0xc3,0x83,0xc3,0x84,0xc3,0x85,0xc3,0x86,0xc4,0x82, +0xc4,0x84,0x20,0xc3,0x87,0xc4,0x86,0xc4,0x8c,0xc5,0x92,0x20,0xc4,0x8e,0xc4,0x90, +0x20, +/* Line 4 */ '\n', +0xc3,0xa0,0xc3,0xa1,0xc3,0xa2,0xc3,0xa3,0xc3,0xa4,0xc3,0xa5,0xc3,0xa6,0xc4,0x83, +0xc4,0x85,0x20,0xc3,0xa7,0xc4,0x87,0xc4,0x8d,0xc5,0x93,0x20,0xc4,0x8f,0xc4,0x91, +0x20, +/* Line 5 */ '\n', +0xc3,0x88,0xc3,0x89,0xc3,0x8a,0xc3,0x8b,0xc4,0x98,0xc4,0x9a,0x20,0xc4,0x9e,0x20, +0xc3,0x8c,0xc3,0x8d,0xc3,0x8e,0xc3,0x8f,0xc4,0xb0,0x20,0xc4,0xb9,0xc4,0xbd,0xc5, +0x81, +/* Line 6 */ '\n', +0xc3,0xa8,0xc3,0xa9,0xc3,0xaa,0xc3,0xab,0xc4,0x99,0xc4,0x9b,0x20,0xc4,0x9f,0x20, +0xc3,0xac,0xc3,0xad,0xc3,0xae,0xc3,0xaf,0xc4,0xb1,0x20,0xc4,0xba,0xc4,0xbe,0xc5, +0x82, +/* Line 7 */ '\n', +0xc3,0x91,0xc5,0x83,0xc5,0x87,0x20,0xc3,0x92,0xc3,0x93,0xc3,0x94,0xc3,0x95,0xc3, +0x96,0xc3,0x98,0xc5,0x90,0x20,0xc5,0x94,0xc5,0x98,0x20,0xc5,0x9a,0xc5,0x9e,0xc5, +0xa0, +/* Line 8 */ '\n', +0xc3,0xb1,0xc5,0x84,0xc5,0x88,0x20,0xc3,0xb2,0xc3,0xb3,0xc3,0xb4,0xc3,0xb5,0xc3, +0xb6,0xc3,0xb8,0xc5,0x91,0x20,0xc5,0x95,0xc5,0x99,0x20,0xc5,0x9b,0xc5,0x9f,0xc5, +0xa1, +/* Line 9 */ '\n', +0x20,0xc5,0xa2,0xc5,0xa4,0x20,0xc3,0x99,0xc3,0x9a,0xc3,0x9b,0xc5,0xb2,0xc3,0x9c, +0xc5,0xae,0xc5,0xb0,0x20,0xc3,0x9d,0xc3,0x9f,0x20,0xc5,0xb9,0xc5,0xbb,0xc5,0xbd, +/* Line 10 */ '\n', +0x20,0xc5,0xa3,0xc5,0xa5,0x20,0xc3,0xb9,0xc3,0xba,0xc3,0xbb,0xc5,0xb3,0xc3,0xbc, +0xc5,0xaf,0xc5,0xb1,0x20,0xc3,0xbd,0xc3,0xbf,0x20,0xc5,0xba,0xc5,0xbc,0xc5,0xbe, +/* Line 11 */ '\n', +0xd0,0x90,0xd0,0x91,0xd0,0x92,0xd0,0x93,0xd0,0x94,0xd0,0x95,0xd0,0x81,0xd0,0x96, +0xd0,0x97,0xd0,0x98,0xd0,0x99,0xd0,0x9a,0xd0,0x9b,0xd0,0x9c,0xd0,0x9d,0xd0,0x9e, +0xd0,0x9f,0xd0,0xa0, +/* Line 12 */ '\n', +0xd0,0xb0,0xd0,0xb1,0xd0,0xb2,0xd0,0xb3,0xd0,0xb4,0xd0,0xb5,0xd1,0x91,0xd0,0xb6, +0xd0,0xb7,0xd0,0xb8,0xd0,0xb9,0xd0,0xba,0xd0,0xbb,0xd0,0xbc,0xd0,0xbd,0xd0,0xbe, +0xd0,0xbf,0xd1,0x80, +/* Line 13 */ '\n', +0xd0,0xa1,0xd0,0xa2,0xd0,0xa3,0xd0,0xa4,0xd0,0xa5,0xd0,0xa6,0xd0,0xa7,0xd0,0xa8, +0xd0,0xa9,0xd0,0xaa,0xd0,0xab,0xd0,0xac,0xd0,0xad,0xd0,0xae,0xd0,0xaf, +/* Line 14 */ '\n', +0xd1,0x81,0xd1,0x82,0xd1,0x83,0xd1,0x84,0xd1,0x85,0xd1,0x86,0xd1,0x87,0xd1,0x88, +0xd1,0x89,0xd1,0x8a,0xd1,0x8b,0xd1,0x8c,0xd1,0x8d,0xd1,0x8e,0xd1,0x8f,0 +}; + + +static gboolean +ascii_enter (GtkWidget * wid, GdkEventCrossing *event, GtkWidget *label) +{ + char buf[64]; + const char *text; + gunichar u; + + text = gtk_button_get_label (GTK_BUTTON (wid)); + u = g_utf8_get_char (text); + sprintf (buf, "%s U+%04X", text, u); + gtk_label_set_text (GTK_LABEL (label), buf); + + return FALSE; +} + +static void +ascii_click (GtkWidget * wid, gpointer userdata) +{ + int tmp_pos; + const char *text; + + if (current_sess) + { + text = gtk_button_get_label (GTK_BUTTON (wid)); + wid = current_sess->gui->input_box; + tmp_pos = SPELL_ENTRY_GET_POS (wid); + SPELL_ENTRY_INSERT (wid, text, -1, &tmp_pos); + SPELL_ENTRY_SET_POS (wid, tmp_pos); + } +} + +void +ascii_open (void) +{ + int i, len; + const unsigned char *table_pos; + char name[8]; + GtkWidget *frame, *label, *but, *hbox = NULL, *vbox, *win; + + win = mg_create_generic_tab ("charmap", _("Character Chart"), TRUE, TRUE, + NULL, NULL, 0, 0, &vbox, NULL); + gtk_container_set_border_width (GTK_CONTAINER (win), 5); + + label = gtk_label_new (NULL); + + table_pos = table; + i = 0; + while (table_pos[0] != 0) + { + if (table_pos[0] == '\n' || i == 0) + { + table_pos++; + hbox = gtk_hbox_new (0, 0); + gtk_container_add (GTK_CONTAINER (vbox), hbox); + gtk_widget_show (hbox); + i++; + continue; + } + + i++; + len = g_utf8_skip[table_pos[0]]; + memcpy (name, table_pos, len); + name[len] = 0; + + but = gtk_button_new_with_label (name); + gtk_widget_set_size_request (but, 28, -1); + g_signal_connect (G_OBJECT (but), "clicked", + G_CALLBACK (ascii_click), NULL); + g_signal_connect (G_OBJECT (but), "enter_notify_event", + G_CALLBACK (ascii_enter), label); + gtk_box_pack_start (GTK_BOX (hbox), but, 0, 0, 0); + gtk_widget_show (but); + + table_pos += len; + } + + frame = gtk_frame_new (""); + gtk_container_add (GTK_CONTAINER (hbox), frame); + gtk_container_add (GTK_CONTAINER (frame), label); + gtk_widget_show (label); + gtk_widget_show (frame); + + gtk_widget_show (win); +} diff --git a/src/fe-gtk/ascii.h b/src/fe-gtk/ascii.h new file mode 100644 index 00000000..afd3bd4f --- /dev/null +++ b/src/fe-gtk/ascii.h @@ -0,0 +1 @@ +void ascii_open (void); diff --git a/src/fe-gtk/banlist.c b/src/fe-gtk/banlist.c new file mode 100644 index 00000000..afaa7eb4 --- /dev/null +++ b/src/fe-gtk/banlist.c @@ -0,0 +1,418 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include <fcntl.h> +#include <time.h> + +#include "fe-gtk.h" + +#include <gtk/gtkhbox.h> +#include <gtk/gtkvbox.h> +#include <gtk/gtkhbbox.h> +#include <gtk/gtkstock.h> +#include <gtk/gtkliststore.h> +#include <gtk/gtkmessagedialog.h> +#include <gtk/gtktreeview.h> +#include <gtk/gtktreeselection.h> + +#include "../common/xchat.h" +#include "../common/fe.h" +#include "../common/modes.h" +#include "../common/outbound.h" +#include "../common/xchatc.h" +#include "gtkutil.h" +#include "maingui.h" +#include "banlist.h" + +/* model for the banlist tree */ +enum +{ + MASK_COLUMN, + FROM_COLUMN, + DATE_COLUMN, + N_COLUMNS +}; + +static GtkTreeView * +get_view (struct session *sess) +{ + return GTK_TREE_VIEW (sess->res->banlist_treeview); +} + +static GtkListStore * +get_store (struct session *sess) +{ + return GTK_LIST_STORE (gtk_tree_view_get_model (get_view (sess))); +} + +static gboolean +supports_exempt (server *serv) +{ + char *cm = serv->chanmodes; + + if (serv->have_except) + return TRUE; + + if (!cm) + return FALSE; + + while (*cm) + { + if (*cm == ',') + break; + if (*cm == 'e') + return TRUE; + cm++; + } + + return FALSE; +} + +void +fe_add_ban_list (struct session *sess, char *mask, char *who, char *when, int is_exempt) +{ + GtkListStore *store; + GtkTreeIter iter; + char buf[512]; + + store = get_store (sess); + gtk_list_store_append (store, &iter); + + if (is_exempt) + { + snprintf (buf, sizeof (buf), "(EX) %s", mask); + gtk_list_store_set (store, &iter, 0, buf, 1, who, 2, when, -1); + } else + { + gtk_list_store_set (store, &iter, 0, mask, 1, who, 2, when, -1); + } +} + +void +fe_ban_list_end (struct session *sess, int is_exemption) +{ + gtk_widget_set_sensitive (sess->res->banlist_butRefresh, TRUE); +} + +/** + * * Performs the actual refresh operations. + * */ +static void +banlist_do_refresh (struct session *sess) +{ + char tbuf[256]; + if (sess->server->connected) + { + GtkListStore *store; + + gtk_widget_set_sensitive (sess->res->banlist_butRefresh, FALSE); + + snprintf (tbuf, sizeof tbuf, "XChat: Ban List (%s, %s)", + sess->channel, sess->server->servername); + mg_set_title (sess->res->banlist_window, tbuf); + + store = get_store (sess); + gtk_list_store_clear (store); + + handle_command (sess, "ban", FALSE); +#ifdef WIN32 + if (0) +#else + if (supports_exempt (sess->server)) +#endif + { + snprintf (tbuf, sizeof (tbuf), "quote mode %s +e", sess->channel); + handle_command (sess, tbuf, FALSE); + } + + } else + { + fe_message (_("Not connected."), FE_MSG_ERROR); + } +} + +static void +banlist_refresh (GtkWidget * wid, struct session *sess) +{ + /* JG NOTE: Didn't see actual use of wid here, so just forwarding + * * this to chanlist_do_refresh because I use it without any widget + * * param in chanlist_build_gui_list when the user presses enter + * * or apply for the first time if the list has not yet been + * * received. + * */ + banlist_do_refresh (sess); +} + +static int +banlist_unban_inner (gpointer none, struct session *sess, int do_exempts) +{ + GtkTreeModel *model; + GtkTreeSelection *sel; + GtkTreeIter iter; + char tbuf[2048]; + char **masks, *tmp, *space; + int num_sel, i; + + /* grab the list of selected items */ + model = GTK_TREE_MODEL (get_store (sess)); + sel = gtk_tree_view_get_selection (get_view (sess)); + num_sel = 0; + if (gtk_tree_model_get_iter_first (model, &iter)) + { + do + { + if (gtk_tree_selection_iter_is_selected (sel, &iter)) + num_sel++; + } + while (gtk_tree_model_iter_next (model, &iter)); + } + + if (num_sel < 1) + return 0; + + /* create an array of all the masks */ + masks = calloc (1, num_sel * sizeof (char *)); + + i = 0; + gtk_tree_model_get_iter_first (model, &iter); + do + { + if (gtk_tree_selection_iter_is_selected (sel, &iter)) + { + gtk_tree_model_get (model, &iter, MASK_COLUMN, &masks[i], -1); + space = strchr (masks[i], ' '); + + if (do_exempts) + { + if (space) + { + /* remove the "(EX) " */ + tmp = masks[i]; + masks[i] = g_strdup (space + 1); + g_free (tmp); + i++; + } + } else + { + if (!space) + i++; + } + } + } + while (gtk_tree_model_iter_next (model, &iter)); + + /* and send to server */ + if (do_exempts) + send_channel_modes (sess, tbuf, masks, 0, i, '-', 'e', 0); + else + send_channel_modes (sess, tbuf, masks, 0, i, '-', 'b', 0); + + /* now free everything, and refresh banlist */ + for (i=0; i < num_sel; i++) + g_free (masks[i]); + free (masks); + + return num_sel; +} + +static void +banlist_unban (GtkWidget * wid, struct session *sess) +{ + int num = 0; + + num += banlist_unban_inner (wid, sess, FALSE); + num += banlist_unban_inner (wid, sess, TRUE); + + if (num < 1) + { + fe_message (_("You must select some bans."), FE_MSG_ERROR); + return; + } + + banlist_do_refresh (sess); +} + +static void +banlist_clear_cb (GtkDialog *dialog, gint response, gpointer sess) +{ + GtkTreeSelection *sel; + + gtk_widget_destroy (GTK_WIDGET (dialog)); + + if (response == GTK_RESPONSE_OK) + { + sel = gtk_tree_view_get_selection (get_view (sess)); + gtk_tree_selection_select_all (sel); + banlist_unban (NULL, sess); + } +} + +static void +banlist_clear (GtkWidget * wid, struct session *sess) +{ + GtkWidget *dialog; + + dialog = gtk_message_dialog_new (NULL, 0, + GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, + _("Are you sure you want to remove all bans in %s?"), sess->channel); + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (banlist_clear_cb), sess); + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); + gtk_widget_show (dialog); +} + +static void +banlist_add_selected_cb (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data) +{ + GSList **lp = data; + GSList *list = NULL; + GtkTreeIter *copy; + + if (!lp) return; + list = *lp; + copy = g_malloc (sizeof (GtkTreeIter)); + g_return_if_fail (copy != NULL); + *copy = *iter; + + list = g_slist_append (list, copy); + *(GSList **)data = list; +} + +static void +banlist_crop (GtkWidget * wid, struct session *sess) +{ + GtkTreeSelection *select; + GSList *list = NULL, *node; + int num_sel; + + /* remember which bans are selected */ + select = gtk_tree_view_get_selection (get_view (sess)); + /* gtk_tree_selected_get_selected_rows() isn't present in gtk 2.0.x */ + gtk_tree_selection_selected_foreach (select, banlist_add_selected_cb, + &list); + + num_sel = g_slist_length (list); + /* select all, then unselect those that we remembered */ + if (num_sel) + { + gtk_tree_selection_select_all (select); + + for (node = list; node; node = node->next) + gtk_tree_selection_unselect_iter (select, node->data); + + g_slist_foreach (list, (GFunc)g_free, NULL); + g_slist_free (list); + + banlist_unban (NULL, sess); + } else + fe_message (_("You must select some bans."), FE_MSG_ERROR); +} + +static GtkWidget * +banlist_treeview_new (GtkWidget *box) +{ + GtkListStore *store; + GtkWidget *view; + GtkTreeSelection *select; + GtkTreeViewColumn *col; + + store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_STRING); + g_return_val_if_fail (store != NULL, NULL); + view = gtkutil_treeview_new (box, GTK_TREE_MODEL (store), NULL, + MASK_COLUMN, _("Mask"), + FROM_COLUMN, _("From"), + DATE_COLUMN, _("Date"), -1); + + col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), MASK_COLUMN); + gtk_tree_view_column_set_alignment (col, 0.5); + gtk_tree_view_column_set_min_width (col, 300); + gtk_tree_view_column_set_sort_column_id (col, MASK_COLUMN); + + col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), FROM_COLUMN); + gtk_tree_view_column_set_alignment (col, 0.5); + gtk_tree_view_column_set_sort_column_id (col, FROM_COLUMN); + + col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), DATE_COLUMN); + gtk_tree_view_column_set_alignment (col, 0.5); + + select = gtk_tree_view_get_selection (GTK_TREE_VIEW (view)); + gtk_tree_selection_set_mode (select, GTK_SELECTION_MULTIPLE); + + gtk_widget_show (view); + return view; +} + +static void +banlist_closegui (GtkWidget *wid, session *sess) +{ + if (is_session (sess)) + sess->res->banlist_window = 0; +} + +void +banlist_opengui (struct session *sess) +{ + GtkWidget *vbox1; + GtkWidget *bbox; + char tbuf[256]; + + if (sess->res->banlist_window) + { + mg_bring_tofront (sess->res->banlist_window); + return; + } + + if (sess->type != SESS_CHANNEL) + { + fe_message (_("You can only open the Ban List window while in a channel tab."), FE_MSG_ERROR); + return; + } + + snprintf (tbuf, sizeof tbuf, _("XChat: Ban List (%s)"), + sess->server->servername); + + sess->res->banlist_window = mg_create_generic_tab ("BanList", tbuf, FALSE, + TRUE, banlist_closegui, sess, 550, 200, &vbox1, sess->server); + + /* create banlist view */ + sess->res->banlist_treeview = banlist_treeview_new (vbox1); + + bbox = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_SPREAD); + gtk_container_set_border_width (GTK_CONTAINER (bbox), 5); + gtk_box_pack_end (GTK_BOX (vbox1), bbox, 0, 0, 0); + gtk_widget_show (bbox); + + gtkutil_button (bbox, GTK_STOCK_REMOVE, 0, banlist_unban, sess, + _("Remove")); + gtkutil_button (bbox, GTK_STOCK_REMOVE, 0, banlist_crop, sess, + _("Crop")); + gtkutil_button (bbox, GTK_STOCK_CLEAR, 0, banlist_clear, sess, + _("Clear")); + + sess->res->banlist_butRefresh = gtkutil_button (bbox, GTK_STOCK_REFRESH, 0, banlist_refresh, sess, _("Refresh")); + + banlist_do_refresh (sess); + + gtk_widget_show (sess->res->banlist_window); +} diff --git a/src/fe-gtk/banlist.h b/src/fe-gtk/banlist.h new file mode 100644 index 00000000..7ceccd00 --- /dev/null +++ b/src/fe-gtk/banlist.h @@ -0,0 +1 @@ +void banlist_opengui (session *sess); diff --git a/src/fe-gtk/chanlist.c b/src/fe-gtk/chanlist.c new file mode 100644 index 00000000..2f65b518 --- /dev/null +++ b/src/fe-gtk/chanlist.c @@ -0,0 +1,943 @@ +/* X-Chat + * Copyright (C) 1998-2006 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include <fcntl.h> +#include <time.h> + +#include "fe-gtk.h" + +#include <gtk/gtkalignment.h> +#include <gtk/gtkcellrenderertext.h> +#include <gtk/gtkcheckbutton.h> +#include <gtk/gtkcombobox.h> +#include <gtk/gtkentry.h> +#include <gtk/gtkhbox.h> +#include <gtk/gtklabel.h> +#include <gtk/gtkliststore.h> +#include <gtk/gtkscrolledwindow.h> +#include <gtk/gtkspinbutton.h> +#include <gtk/gtkstock.h> +#include <gtk/gtktable.h> +#include <gtk/gtktreeselection.h> +#include <gtk/gtkvbox.h> +#include <gtk/gtkvseparator.h> +#include <gdk/gdkkeysyms.h> + +#include "../common/xchat.h" +#include "../common/xchatc.h" +#include "../common/cfgfiles.h" +#include "../common/outbound.h" +#include "../common/util.h" +#include "../common/fe.h" +#include "../common/server.h" +#include "gtkutil.h" +#include "maingui.h" + + +#include "custom-list.h" + + +enum +{ + COL_CHANNEL, + COL_USERS, + COL_TOPIC, + N_COLUMNS +}; + +#ifndef CUSTOM_LIST +typedef struct /* this is now in custom-list.h */ +{ + char *topic; + char *collation_key; + guint32 pos; + guint32 users; + /* channel string lives beyond "users" */ +#define GET_CHAN(row) (((char *)row)+sizeof(chanlistrow)) +} +chanlistrow; +#endif + +#define GET_MODEL(xserv) (gtk_tree_view_get_model(GTK_TREE_VIEW(xserv->gui->chanlist_list))) + + +static gboolean +chanlist_match (server *serv, const char *str) +{ + switch (serv->gui->chanlist_search_type) + { + case 1: + return match (GTK_ENTRY (serv->gui->chanlist_wild)->text, str); +#ifndef WIN32 + case 2: + if (!serv->gui->have_regex) + return 0; + /* regex returns 0 if it's a match: */ + return !regexec (&serv->gui->chanlist_match_regex, str, 1, NULL, REG_NOTBOL); +#endif + default: /* case 0: */ + return nocasestrstr (str, GTK_ENTRY (serv->gui->chanlist_wild)->text) ? 1 : 0; + } +} + +/** + * Updates the caption to reflect the number of users and channels + */ +static void +chanlist_update_caption (server *serv) +{ + gchar tbuf[256]; + + snprintf (tbuf, sizeof tbuf, + _("Displaying %d/%d users on %d/%d channels."), + serv->gui->chanlist_users_shown_count, + serv->gui->chanlist_users_found_count, + serv->gui->chanlist_channels_shown_count, + serv->gui->chanlist_channels_found_count); + + gtk_label_set_text (GTK_LABEL (serv->gui->chanlist_label), tbuf); + serv->gui->chanlist_caption_is_stale = FALSE; +} + +static void +chanlist_update_buttons (server *serv) +{ + if (serv->gui->chanlist_channels_shown_count) + { + gtk_widget_set_sensitive (serv->gui->chanlist_join, TRUE); + gtk_widget_set_sensitive (serv->gui->chanlist_savelist, TRUE); + } + else + { + gtk_widget_set_sensitive (serv->gui->chanlist_join, FALSE); + gtk_widget_set_sensitive (serv->gui->chanlist_savelist, FALSE); + } +} + +static void +chanlist_reset_counters (server *serv) +{ + serv->gui->chanlist_users_found_count = 0; + serv->gui->chanlist_users_shown_count = 0; + serv->gui->chanlist_channels_found_count = 0; + serv->gui->chanlist_channels_shown_count = 0; + + chanlist_update_caption (serv); + chanlist_update_buttons (serv); +} + +/* free up our entire linked list and all the nodes */ + +static void +chanlist_data_free (server *serv) +{ + GSList *rows; + chanlistrow *data; + + if (serv->gui->chanlist_data_stored_rows) + { + for (rows = serv->gui->chanlist_data_stored_rows; rows != NULL; + rows = rows->next) + { + data = rows->data; + g_free (data->topic); + g_free (data->collation_key); + free (data); + } + + g_slist_free (serv->gui->chanlist_data_stored_rows); + serv->gui->chanlist_data_stored_rows = NULL; + } + + g_slist_free (serv->gui->chanlist_pending_rows); + serv->gui->chanlist_pending_rows = NULL; +} + +/* add any rows we received from the server in the last 0.25s to the GUI */ + +static void +chanlist_flush_pending (server *serv) +{ + GSList *list = serv->gui->chanlist_pending_rows; + GtkTreeModel *model; + chanlistrow *row; + + if (!list) + { + if (serv->gui->chanlist_caption_is_stale) + chanlist_update_caption (serv); + return; + } + model = GET_MODEL (serv); + + while (list) + { + row = list->data; + custom_list_append (CUSTOM_LIST (model), row); + list = list->next; + } + + g_slist_free (serv->gui->chanlist_pending_rows); + serv->gui->chanlist_pending_rows = NULL; + chanlist_update_caption (serv); +} + +static gboolean +chanlist_timeout (server *serv) +{ + chanlist_flush_pending (serv); + return TRUE; +} + +/** + * Places a data row into the gui GtkTreeView, if and only if the row matches + * the user and regex/search requirements. + */ +static void +chanlist_place_row_in_gui (server *serv, chanlistrow *next_row, gboolean force) +{ + GtkTreeModel *model; + + /* First, update the 'found' counter values */ + serv->gui->chanlist_users_found_count += next_row->users; + serv->gui->chanlist_channels_found_count++; + + if (serv->gui->chanlist_channels_shown_count == 1) + /* join & save buttons become live */ + chanlist_update_buttons (serv); + + if (next_row->users < serv->gui->chanlist_minusers) + { + serv->gui->chanlist_caption_is_stale = TRUE; + return; + } + + if (next_row->users > serv->gui->chanlist_maxusers + && serv->gui->chanlist_maxusers > 0) + { + serv->gui->chanlist_caption_is_stale = TRUE; + return; + } + + if (GTK_ENTRY (serv->gui->chanlist_wild)->text[0]) + { + /* Check what the user wants to match. If both buttons or _neither_ + * button is checked, look for match in both by default. + */ + if (serv->gui->chanlist_match_wants_channel == + serv->gui->chanlist_match_wants_topic) + { + if (!chanlist_match (serv, GET_CHAN (next_row)) + && !chanlist_match (serv, next_row->topic)) + { + serv->gui->chanlist_caption_is_stale = TRUE; + return; + } + } + + else if (serv->gui->chanlist_match_wants_channel) + { + if (!chanlist_match (serv, GET_CHAN (next_row))) + { + serv->gui->chanlist_caption_is_stale = TRUE; + return; + } + } + + else if (serv->gui->chanlist_match_wants_topic) + { + if (!chanlist_match (serv, next_row->topic)) + { + serv->gui->chanlist_caption_is_stale = TRUE; + return; + } + } + } + + if (force || serv->gui->chanlist_channels_shown_count < 20) + { + model = GET_MODEL (serv); + /* makes it appear fast :) */ + custom_list_append (CUSTOM_LIST (model), next_row); + chanlist_update_caption (serv); + } + else + /* add it to GUI at the next update interval */ + serv->gui->chanlist_pending_rows = g_slist_prepend (serv->gui->chanlist_pending_rows, next_row); + + /* Update the 'shown' counter values */ + serv->gui->chanlist_users_shown_count += next_row->users; + serv->gui->chanlist_channels_shown_count++; +} + +/* Performs the LIST download from the IRC server. */ + +static void +chanlist_do_refresh (server *serv) +{ + if (serv->gui->chanlist_flash_tag) + { + g_source_remove (serv->gui->chanlist_flash_tag); + serv->gui->chanlist_flash_tag = 0; + } + + if (!serv->connected) + { + fe_message (_("Not connected."), FE_MSG_ERROR); + return; + } + + custom_list_clear ((CustomList *)GET_MODEL (serv)); + gtk_widget_set_sensitive (serv->gui->chanlist_refresh, FALSE); + + chanlist_data_free (serv); + chanlist_reset_counters (serv); + + /* can we request a list with minusers arg? */ + if (serv->use_listargs) + { + /* yes - it will download faster */ + serv->p_list_channels (serv, "", serv->gui->chanlist_minusers); + /* don't allow the spin button below this value from now on */ + serv->gui->chanlist_minusers_downloaded = serv->gui->chanlist_minusers; + } + else + { + /* download all, filter minusers locally only */ + serv->p_list_channels (serv, "", 1); + serv->gui->chanlist_minusers_downloaded = 1; + } + +/* gtk_spin_button_set_range ((GtkSpinButton *)serv->gui->chanlist_min_spin, + serv->gui->chanlist_minusers_downloaded, 999999);*/ +} + +static void +chanlist_refresh (GtkWidget * wid, server *serv) +{ + chanlist_do_refresh (serv); +} + +/** + * Fills the gui GtkTreeView with stored items from the GSList. + */ +static void +chanlist_build_gui_list (server *serv) +{ + GSList *rows; + + /* first check if the list is present */ + if (serv->gui->chanlist_data_stored_rows == NULL) + { + /* start a download */ + chanlist_do_refresh (serv); + return; + } + + custom_list_clear ((CustomList *)GET_MODEL (serv)); + + /* discard pending rows FIXME: free the structs? */ + g_slist_free (serv->gui->chanlist_pending_rows); + serv->gui->chanlist_pending_rows = NULL; + + /* Reset the counters */ + chanlist_reset_counters (serv); + + /* Refill the list */ + for (rows = serv->gui->chanlist_data_stored_rows; rows != NULL; + rows = rows->next) + { + chanlist_place_row_in_gui (serv, rows->data, TRUE); + } + + custom_list_resort ((CustomList *)GET_MODEL (serv)); +} + +/** + * Accepts incoming channel data from inbound.c, allocates new space for a + * chanlistrow, adds it to our linked list and calls chanlist_place_row_in_gui. + */ +void +fe_add_chan_list (server *serv, char *chan, char *users, char *topic) +{ + chanlistrow *next_row; + int len = strlen (chan) + 1; + + /* we allocate the struct and channel string in one go */ + next_row = malloc (sizeof (chanlistrow) + len); + memcpy (((char *)next_row) + sizeof (chanlistrow), chan, len); + next_row->topic = strip_color (topic, -1, STRIP_ALL); + next_row->collation_key = g_utf8_collate_key (chan, len-1); + if (!(next_row->collation_key)) + next_row->collation_key = g_strdup (chan); + next_row->users = atoi (users); + + /* add this row to the data */ + serv->gui->chanlist_data_stored_rows = + g_slist_prepend (serv->gui->chanlist_data_stored_rows, next_row); + + /* _possibly_ add the row to the gui */ + chanlist_place_row_in_gui (serv, next_row, FALSE); +} + +void +fe_chan_list_end (server *serv) +{ + /* download complete */ + chanlist_flush_pending (serv); + gtk_widget_set_sensitive (serv->gui->chanlist_refresh, TRUE); + custom_list_resort ((CustomList *)GET_MODEL (serv)); +} + +static void +chanlist_search_pressed (GtkButton * button, server *serv) +{ + chanlist_build_gui_list (serv); +} + +static void +chanlist_find_cb (GtkWidget * wid, server *serv) +{ +#ifndef WIN32 + /* recompile the regular expression. */ + if (serv->gui->have_regex) + { + serv->gui->have_regex = 0; + regfree (&serv->gui->chanlist_match_regex); + } + + if (regcomp (&serv->gui->chanlist_match_regex, GTK_ENTRY (wid)->text, + REG_ICASE | REG_EXTENDED | REG_NOSUB) == 0) + serv->gui->have_regex = 1; +#endif +} + +static void +chanlist_match_channel_button_toggled (GtkWidget * wid, server *serv) +{ + serv->gui->chanlist_match_wants_channel = GTK_TOGGLE_BUTTON (wid)->active; +} + +static void +chanlist_match_topic_button_toggled (GtkWidget * wid, server *serv) +{ + serv->gui->chanlist_match_wants_topic = GTK_TOGGLE_BUTTON (wid)->active; +} + +static char * +chanlist_get_selected (server *serv, gboolean get_topic) +{ + char *chan; + GtkTreeSelection *sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (serv->gui->chanlist_list)); + GtkTreeModel *model; + GtkTreeIter iter; + + if (!gtk_tree_selection_get_selected (sel, &model, &iter)) + return NULL; + + gtk_tree_model_get (model, &iter, get_topic ? COL_TOPIC : COL_CHANNEL, &chan, -1); + return chan; +} + +static void +chanlist_join (GtkWidget * wid, server *serv) +{ + char tbuf[CHANLEN + 6]; + char *chan = chanlist_get_selected (serv, FALSE); + if (chan) + { + if (serv->connected && (strcmp (chan, "*") != 0)) + { + snprintf (tbuf, sizeof (tbuf), "join %s", chan); + handle_command (serv->server_session, tbuf, FALSE); + } else + gdk_beep (); + g_free (chan); + } +} + +static void +chanlist_filereq_done (server *serv, char *file) +{ + time_t t = time (0); + int fh, users; + char *chan, *topic; + char buf[1024]; + GtkTreeModel *model = GET_MODEL (serv); + GtkTreeIter iter; + + if (!file) + return; + + fh = xchat_open_file (file, O_TRUNC | O_WRONLY | O_CREAT, 0600, + XOF_DOMODE | XOF_FULLPATH); + if (fh == -1) + return; + + snprintf (buf, sizeof buf, "XChat Channel List: %s - %s\n", + serv->servername, ctime (&t)); + write (fh, buf, strlen (buf)); + + if (gtk_tree_model_get_iter_first (model, &iter)) + { + do + { + gtk_tree_model_get (model, &iter, + COL_CHANNEL, &chan, + COL_USERS, &users, + COL_TOPIC, &topic, -1); + snprintf (buf, sizeof buf, "%-16s %-5d%s\n", chan, users, topic); + g_free (chan); + g_free (topic); + write (fh, buf, strlen (buf)); + } + while (gtk_tree_model_iter_next (model, &iter)); + } + + close (fh); +} + +static void +chanlist_save (GtkWidget * wid, server *serv) +{ + GtkTreeIter iter; + GtkTreeModel *model = GET_MODEL (serv); + + if (gtk_tree_model_get_iter_first (model, &iter)) + gtkutil_file_req (_("Select an output filename"), chanlist_filereq_done, + serv, NULL, FRF_WRITE); +} + +static gboolean +chanlist_flash (server *serv) +{ + if (serv->gui->chanlist_refresh->state != GTK_STATE_ACTIVE) + gtk_widget_set_state (serv->gui->chanlist_refresh, GTK_STATE_ACTIVE); + else + gtk_widget_set_state (serv->gui->chanlist_refresh, GTK_STATE_PRELIGHT); + + return TRUE; +} + +static void +chanlist_minusers (GtkSpinButton *wid, server *serv) +{ + serv->gui->chanlist_minusers = gtk_spin_button_get_value_as_int (wid); + + if (serv->gui->chanlist_minusers < serv->gui->chanlist_minusers_downloaded) + { + if (serv->gui->chanlist_flash_tag == 0) + serv->gui->chanlist_flash_tag = g_timeout_add (500, (GSourceFunc)chanlist_flash, serv); + } + else + { + if (serv->gui->chanlist_flash_tag) + { + g_source_remove (serv->gui->chanlist_flash_tag); + serv->gui->chanlist_flash_tag = 0; + } + } +} + +static void +chanlist_maxusers (GtkSpinButton *wid, server *serv) +{ + serv->gui->chanlist_maxusers = gtk_spin_button_get_value_as_int (wid); +} + +static void +chanlist_dclick_cb (GtkTreeView *view, GtkTreePath *path, + GtkTreeViewColumn *column, gpointer data) +{ + chanlist_join (0, (server *) data); /* double clicked a row */ +} + +static void +chanlist_menu_destroy (GtkWidget *menu, gpointer userdata) +{ + gtk_widget_destroy (menu); + g_object_unref (menu); +} + +static void +chanlist_copychannel (GtkWidget *item, server *serv) +{ + char *chan = chanlist_get_selected (serv, FALSE); + if (chan) + { + gtkutil_copy_to_clipboard (item, NULL, chan); + g_free (chan); + } +} + +static void +chanlist_copytopic (GtkWidget *item, server *serv) +{ + char *topic = chanlist_get_selected (serv, TRUE); + if (topic) + { + gtkutil_copy_to_clipboard (item, NULL, topic); + g_free (topic); + } +} + +static gboolean +chanlist_button_cb (GtkTreeView *tree, GdkEventButton *event, server *serv) +{ + GtkWidget *menu; + GtkTreeSelection *sel; + GtkTreePath *path; + char *chan; + + if (event->button != 3) + return FALSE; + + if (!gtk_tree_view_get_path_at_pos (tree, event->x, event->y, &path, 0, 0, 0)) + return FALSE; + + /* select what they right-clicked on */ + sel = gtk_tree_view_get_selection (tree); + gtk_tree_selection_unselect_all (sel); + gtk_tree_selection_select_path (sel, path); + gtk_tree_path_free (path); + + menu = gtk_menu_new (); + if (event->window) + gtk_menu_set_screen (GTK_MENU (menu), gdk_drawable_get_screen (event->window)); + g_object_ref (menu); + g_object_ref_sink (menu); + g_object_unref (menu); + g_signal_connect (G_OBJECT (menu), "selection-done", + G_CALLBACK (chanlist_menu_destroy), NULL); + mg_create_icon_item (_("_Join Channel"), GTK_STOCK_JUMP_TO, menu, + chanlist_join, serv); + mg_create_icon_item (_("_Copy Channel Name"), GTK_STOCK_COPY, menu, + chanlist_copychannel, serv); + mg_create_icon_item (_("Copy _Topic Text"), GTK_STOCK_COPY, menu, + chanlist_copytopic, serv); + + chan = chanlist_get_selected (serv, FALSE); + menu_addfavoritemenu (serv, menu, chan); + g_free (chan); + + gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, 0, event->time); + + return TRUE; +} + +static void +chanlist_destroy_widget (GtkWidget *wid, server *serv) +{ + custom_list_clear ((CustomList *)GET_MODEL (serv)); + chanlist_data_free (serv); + + if (serv->gui->chanlist_flash_tag) + { + g_source_remove (serv->gui->chanlist_flash_tag); + serv->gui->chanlist_flash_tag = 0; + } + + if (serv->gui->chanlist_tag) + { + g_source_remove (serv->gui->chanlist_tag); + serv->gui->chanlist_tag = 0; + } + +#ifndef WIN32 + if (serv->gui->have_regex) + { + regfree (&serv->gui->chanlist_match_regex); + serv->gui->have_regex = 0; + } +#endif +} + +static void +chanlist_closegui (GtkWidget *wid, server *serv) +{ + if (is_server (serv)) + serv->gui->chanlist_window = NULL; +} + +static void +chanlist_add_column (GtkWidget *tree, int textcol, int size, char *title, gboolean right_justified) +{ + GtkCellRenderer *renderer; + GtkTreeViewColumn *col; + + renderer = gtk_cell_renderer_text_new (); + if (right_justified) + g_object_set (G_OBJECT (renderer), "xalign", (gfloat) 1.0, NULL); + g_object_set (G_OBJECT (renderer), "ypad", (gint) 0, NULL); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (tree), -1, title, + renderer, "text", textcol, NULL); + gtk_cell_renderer_text_set_fixed_height_from_font (GTK_CELL_RENDERER_TEXT (renderer), 1); + + col = gtk_tree_view_get_column (GTK_TREE_VIEW (tree), textcol); + gtk_tree_view_column_set_sort_column_id (col, textcol); + gtk_tree_view_column_set_resizable (col, TRUE); + if (textcol != COL_TOPIC) + { + gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_FIXED); + gtk_tree_view_column_set_fixed_width (col, size); + } +} + +static void +chanlist_combo_cb (GtkWidget *combo, server *serv) +{ + serv->gui->chanlist_search_type = gtk_combo_box_get_active (GTK_COMBO_BOX (combo)); +} + +void +chanlist_opengui (server *serv, int do_refresh) +{ + GtkWidget *vbox, *hbox, *table, *wid, *view; + char tbuf[256]; + GtkListStore *store; + + if (serv->gui->chanlist_window) + { + mg_bring_tofront (serv->gui->chanlist_window); + return; + } + + snprintf (tbuf, sizeof tbuf, _("XChat: Channel List (%s)"), + server_get_network (serv, TRUE)); + + serv->gui->chanlist_pending_rows = NULL; + serv->gui->chanlist_tag = 0; + serv->gui->chanlist_flash_tag = 0; + serv->gui->chanlist_data_stored_rows = NULL; + + if (!serv->gui->chanlist_minusers) + serv->gui->chanlist_minusers = 5; + + if (!serv->gui->chanlist_maxusers) + serv->gui->chanlist_maxusers = 9999; + + serv->gui->chanlist_window = + mg_create_generic_tab ("ChanList", tbuf, FALSE, TRUE, chanlist_closegui, + serv, 640, 480, &vbox, serv); + + gtk_container_set_border_width (GTK_CONTAINER (vbox), 6); + gtk_box_set_spacing (GTK_BOX (vbox), 12); + + /* make a label to store the user/channel info */ + wid = gtk_label_new (NULL); + gtk_box_pack_start (GTK_BOX (vbox), wid, 0, 0, 0); + gtk_widget_show (wid); + serv->gui->chanlist_label = wid; + + /* ============================================================= */ + + store = (GtkListStore *) custom_list_new(); + view = gtkutil_treeview_new (vbox, GTK_TREE_MODEL (store), NULL, -1); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (view->parent), + GTK_SHADOW_IN); + serv->gui->chanlist_list = view; + + g_signal_connect (G_OBJECT (view), "row_activated", + G_CALLBACK (chanlist_dclick_cb), serv); + g_signal_connect (G_OBJECT (view), "button-press-event", + G_CALLBACK (chanlist_button_cb), serv); + + chanlist_add_column (view, COL_CHANNEL, 96, _("Channel"), FALSE); + chanlist_add_column (view, COL_USERS, 50, _("Users"), TRUE); + chanlist_add_column (view, COL_TOPIC, 50, _("Topic"), FALSE); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view), TRUE); + /* this is a speed up, but no horizontal scrollbar :( */ + /*gtk_tree_view_set_fixed_height_mode (GTK_TREE_VIEW (view), TRUE);*/ + gtk_widget_show (view); + + /* ============================================================= */ + + table = gtk_table_new (4, 4, FALSE); + gtk_table_set_col_spacings (GTK_TABLE (table), 12); + gtk_table_set_row_spacings (GTK_TABLE (table), 3); + gtk_box_pack_start (GTK_BOX (vbox), table, 0, 1, 0); + gtk_widget_show (table); + + wid = gtkutil_button (NULL, GTK_STOCK_FIND, 0, chanlist_search_pressed, serv, + _("_Search")); + serv->gui->chanlist_search = wid; + gtk_table_attach (GTK_TABLE (table), wid, 3, 4, 3, 4, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + + wid = gtkutil_button (NULL, GTK_STOCK_REFRESH, 0, chanlist_refresh, serv, + _("_Download List")); + serv->gui->chanlist_refresh = wid; + gtk_table_attach (GTK_TABLE (table), wid, 3, 4, 2, 3, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + + wid = gtkutil_button (NULL, GTK_STOCK_SAVE_AS, 0, chanlist_save, serv, + _("Save _List...")); + serv->gui->chanlist_savelist = wid; + gtk_table_attach (GTK_TABLE (table), wid, 3, 4, 1, 2, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + + wid = gtkutil_button (NULL, GTK_STOCK_JUMP_TO, 0, chanlist_join, serv, + _("_Join Channel")); + serv->gui->chanlist_join = wid; + gtk_table_attach (GTK_TABLE (table), wid, 3, 4, 0, 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + + /* ============================================================= */ + + wid = gtk_label_new (_("Show only:")); + gtk_misc_set_alignment (GTK_MISC (wid), 0, 0.5); + gtk_table_attach (GTK_TABLE (table), wid, 0, 1, 3, 4, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + gtk_widget_show (wid); + + hbox = gtk_hbox_new (0, 0); + gtk_box_set_spacing (GTK_BOX (hbox), 9); + gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 3, 4, + GTK_FILL, GTK_FILL, 0, 0); + gtk_widget_show (hbox); + + wid = gtk_label_new (_("channels with")); + gtk_box_pack_start (GTK_BOX (hbox), wid, 0, 0, 0); + gtk_widget_show (wid); + + wid = gtk_spin_button_new_with_range (1, 999999, 1); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (wid), + serv->gui->chanlist_minusers); + g_signal_connect (G_OBJECT (wid), "value_changed", + G_CALLBACK (chanlist_minusers), serv); + gtk_box_pack_start (GTK_BOX (hbox), wid, 0, 0, 0); + gtk_widget_show (wid); + serv->gui->chanlist_min_spin = wid; + + wid = gtk_label_new (_("to")); + gtk_box_pack_start (GTK_BOX (hbox), wid, 0, 0, 0); + gtk_widget_show (wid); + + wid = gtk_spin_button_new_with_range (1, 999999, 1); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (wid), + serv->gui->chanlist_maxusers); + g_signal_connect (G_OBJECT (wid), "value_changed", + G_CALLBACK (chanlist_maxusers), serv); + gtk_box_pack_start (GTK_BOX (hbox), wid, 0, 0, 0); + gtk_widget_show (wid); + + wid = gtk_label_new (_("users.")); + gtk_box_pack_start (GTK_BOX (hbox), wid, 0, 0, 0); + gtk_widget_show (wid); + + /* ============================================================= */ + + wid = gtk_label_new (_("Look in:")); + gtk_misc_set_alignment (GTK_MISC (wid), 0, 0.5); + gtk_table_attach (GTK_TABLE (table), wid, 0, 1, 2, 3, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + gtk_widget_show (wid); + + hbox = gtk_hbox_new (0, 0); + gtk_box_set_spacing (GTK_BOX (hbox), 12); + gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 2, 3, + GTK_FILL, GTK_FILL, 0, 0); + gtk_widget_show (hbox); + + wid = gtk_check_button_new_with_label (_("Channel name")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), TRUE); + gtk_signal_connect (GTK_OBJECT (wid), "toggled", + GTK_SIGNAL_FUNC + (chanlist_match_channel_button_toggled), serv); + gtk_box_pack_start (GTK_BOX (hbox), wid, 0, 0, 0); + gtk_widget_show (wid); + + wid = gtk_check_button_new_with_label (_("Topic")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), TRUE); + gtk_signal_connect (GTK_OBJECT (wid), "toggled", + GTK_SIGNAL_FUNC (chanlist_match_topic_button_toggled), + serv); + gtk_box_pack_start (GTK_BOX (hbox), wid, 0, 0, 0); + gtk_widget_show (wid); + + serv->gui->chanlist_match_wants_channel = 1; + serv->gui->chanlist_match_wants_topic = 1; + + /* ============================================================= */ + + wid = gtk_label_new (_("Search type:")); + gtk_misc_set_alignment (GTK_MISC (wid), 0, 0.5); + gtk_table_attach (GTK_TABLE (table), wid, 0, 1, 1, 2, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + gtk_widget_show (wid); + + wid = gtk_combo_box_new_text (); + gtk_combo_box_append_text (GTK_COMBO_BOX (wid), _("Simple Search")); + gtk_combo_box_append_text (GTK_COMBO_BOX (wid), _("Pattern Match (Wildcards)")); +#ifndef WIN32 + gtk_combo_box_append_text (GTK_COMBO_BOX (wid), _("Regular Expression")); +#endif + gtk_combo_box_set_active (GTK_COMBO_BOX (wid), serv->gui->chanlist_search_type); + gtk_table_attach (GTK_TABLE (table), wid, 1, 2, 1, 2, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + g_signal_connect (G_OBJECT (wid), "changed", + G_CALLBACK (chanlist_combo_cb), serv); + gtk_widget_show (wid); + + /* ============================================================= */ + + wid = gtk_label_new (_("Find:")); + gtk_misc_set_alignment (GTK_MISC (wid), 0, 0.5); + gtk_table_attach (GTK_TABLE (table), wid, 0, 1, 0, 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + gtk_widget_show (wid); + + wid = gtk_entry_new_with_max_length (255); + gtk_signal_connect (GTK_OBJECT (wid), "changed", + GTK_SIGNAL_FUNC (chanlist_find_cb), serv); + gtk_signal_connect (GTK_OBJECT (wid), "activate", + GTK_SIGNAL_FUNC (chanlist_search_pressed), + (gpointer) serv); + gtk_table_attach (GTK_TABLE (table), wid, 1, 2, 0, 1, + GTK_EXPAND | GTK_FILL, 0, 0, 0); + gtk_widget_show (wid); + serv->gui->chanlist_wild = wid; + + chanlist_find_cb (wid, serv); + + /* ============================================================= */ + + wid = gtk_vseparator_new (); + gtk_table_attach (GTK_TABLE (table), wid, 2, 3, 0, 5, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + gtk_widget_show (wid); + + g_signal_connect (G_OBJECT (serv->gui->chanlist_window), "destroy", + G_CALLBACK (chanlist_destroy_widget), serv); + + /* reset the counters. */ + chanlist_reset_counters (serv); + + serv->gui->chanlist_tag = g_timeout_add (250, (GSourceFunc)chanlist_timeout, serv); + + if (do_refresh) + chanlist_do_refresh (serv); + + chanlist_update_buttons (serv); + gtk_widget_show (serv->gui->chanlist_window); + gtk_widget_grab_focus (serv->gui->chanlist_refresh); +} diff --git a/src/fe-gtk/chanlist.h b/src/fe-gtk/chanlist.h new file mode 100644 index 00000000..19a8b25e --- /dev/null +++ b/src/fe-gtk/chanlist.h @@ -0,0 +1 @@ +void chanlist_opengui (server *serv, int do_refresh); diff --git a/src/fe-gtk/chanview-tabs.c b/src/fe-gtk/chanview-tabs.c new file mode 100644 index 00000000..8e3da8e6 --- /dev/null +++ b/src/fe-gtk/chanview-tabs.c @@ -0,0 +1,779 @@ +/* file included in chanview.c */ + +typedef struct +{ + GtkWidget *outer; /* outer box */ + GtkWidget *inner; /* inner box */ + GtkWidget *b1; /* button1 */ + GtkWidget *b2; /* button2 */ +} tabview; + +static void chanview_populate (chanview *cv); + +/* ignore "toggled" signal? */ +static int ignore_toggle = FALSE; +static int tab_left_is_moving = 0; +static int tab_right_is_moving = 0; + +/* userdata for gobjects used here: + * + * tab (togglebuttons inside boxes): + * "u" userdata passed to tab-focus callback function (sess) + * "c" the tab's (chan *) + * + * box (family box) + * "f" family + * + */ + +/* + * GtkViewports request at least as much space as their children do. + * If we don't intervene here, the GtkViewport will be granted its + * request, even at the expense of resizing the top-level window. + */ +static void +cv_tabs_sizerequest (GtkWidget *viewport, GtkRequisition *requisition, chanview *cv) +{ + if (!cv->vertical) + requisition->width = 1; + else + requisition->height = 1; +} + +static void +cv_tabs_sizealloc (GtkWidget *widget, GtkAllocation *allocation, chanview *cv) +{ + GtkAdjustment *adj; + GtkWidget *inner; + gint viewport_size; + + inner = ((tabview *)cv)->inner; + + if (cv->vertical) + { + adj = gtk_viewport_get_vadjustment (GTK_VIEWPORT (inner->parent)); + gdk_window_get_geometry (inner->parent->window, 0, 0, 0, &viewport_size, 0); + } else + { + adj = gtk_viewport_get_hadjustment (GTK_VIEWPORT (inner->parent)); + gdk_window_get_geometry (inner->parent->window, 0, 0, &viewport_size, 0, 0); + } + + if (adj->upper <= viewport_size) + { + gtk_widget_hide (((tabview *)cv)->b1); + gtk_widget_hide (((tabview *)cv)->b2); + } else + { + gtk_widget_show (((tabview *)cv)->b1); + gtk_widget_show (((tabview *)cv)->b2); + } +} + +static gint +tab_search_offset (GtkWidget *inner, gint start_offset, + gboolean forward, gboolean vertical) +{ + GList *boxes; + GList *tabs; + GtkWidget *box; + GtkWidget *button; + gint found; + + boxes = GTK_BOX (inner)->children; + if (!forward && boxes) + boxes = g_list_last (boxes); + + while (boxes) + { + box = ((GtkBoxChild *)boxes->data)->widget; + boxes = (forward ? boxes->next : boxes->prev); + + tabs = GTK_BOX (box)->children; + if (!forward && tabs) + tabs = g_list_last (tabs); + + while (tabs) + { + button = ((GtkBoxChild *)tabs->data)->widget; + tabs = (forward ? tabs->next : tabs->prev); + + if (!GTK_IS_TOGGLE_BUTTON (button)) + continue; + + found = (vertical ? button->allocation.y : button->allocation.x); + if ((forward && found > start_offset) || + (!forward && found < start_offset)) + return found; + } + } + + return 0; +} + +static void +tab_scroll_left_up_clicked (GtkWidget *widget, chanview *cv) +{ + GtkAdjustment *adj; + gint viewport_size; + gfloat new_value; + GtkWidget *inner; + gfloat i; + + inner = ((tabview *)cv)->inner; + + if (cv->vertical) + { + adj = gtk_viewport_get_vadjustment (GTK_VIEWPORT (inner->parent)); + gdk_window_get_geometry (inner->parent->window, 0, 0, 0, &viewport_size, 0); + } else + { + adj = gtk_viewport_get_hadjustment (GTK_VIEWPORT (inner->parent)); + gdk_window_get_geometry (inner->parent->window, 0, 0, &viewport_size, 0, 0); + } + + new_value = tab_search_offset (inner, adj->value, 0, cv->vertical); + + if (new_value + viewport_size > adj->upper) + new_value = adj->upper - viewport_size; + + if (!tab_left_is_moving) + { + tab_left_is_moving = 1; + + for (i = adj->value; ((i > new_value) && (tab_left_is_moving)); i -= 0.1) + { + gtk_adjustment_set_value (adj, i); + while (g_main_pending ()) + g_main_iteration (TRUE); + } + + gtk_adjustment_set_value (adj, new_value); + + tab_left_is_moving = 0; /* hSP: set to false in case we didnt get stopped (the normal case) */ + } + else + { + tab_left_is_moving = 0; /* hSP: jump directly to next element if user is clicking faster than we can scroll.. */ + } +} + +static void +tab_scroll_right_down_clicked (GtkWidget *widget, chanview *cv) +{ + GtkAdjustment *adj; + gint viewport_size; + gfloat new_value; + GtkWidget *inner; + gfloat i; + + inner = ((tabview *)cv)->inner; + + if (cv->vertical) + { + adj = gtk_viewport_get_vadjustment (GTK_VIEWPORT (inner->parent)); + gdk_window_get_geometry (inner->parent->window, 0, 0, 0, &viewport_size, 0); + } else + { + adj = gtk_viewport_get_hadjustment (GTK_VIEWPORT (inner->parent)); + gdk_window_get_geometry (inner->parent->window, 0, 0, &viewport_size, 0, 0); + } + + new_value = tab_search_offset (inner, adj->value, 1, cv->vertical); + + if (new_value == 0 || new_value + viewport_size > adj->upper) + new_value = adj->upper - viewport_size; + + if (!tab_right_is_moving) + { + tab_right_is_moving = 1; + + for (i = adj->value; ((i < new_value) && (tab_right_is_moving)); i += 0.1) + { + gtk_adjustment_set_value (adj, i); + while (g_main_pending ()) + g_main_iteration (TRUE); + } + + gtk_adjustment_set_value (adj, new_value); + + tab_right_is_moving = 0; /* hSP: set to false in case we didnt get stopped (the normal case) */ + } + else + { + tab_right_is_moving = 0; /* hSP: jump directly to next element if user is clicking faster than we can scroll.. */ + } +} + +static gboolean +tab_scroll_cb (GtkWidget *widget, GdkEventScroll *event, gpointer cv) +{ + /* mouse wheel scrolling */ + if (event->direction == GDK_SCROLL_UP) + tab_scroll_left_up_clicked (widget, cv); + else if (event->direction == GDK_SCROLL_DOWN) + tab_scroll_right_down_clicked (widget, cv); + + return FALSE; +} + +static void +cv_tabs_xclick_cb (GtkWidget *button, chanview *cv) +{ + cv->cb_xbutton (cv, cv->focused, cv->focused->tag, cv->focused->userdata); +} + +/* make a Scroll (arrow) button */ + +static GtkWidget * +make_sbutton (GtkArrowType type, void *click_cb, void *userdata) +{ + GtkWidget *button, *arrow; + + button = gtk_button_new (); + arrow = gtk_arrow_new (type, GTK_SHADOW_NONE); + gtk_container_add (GTK_CONTAINER (button), arrow); + gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE); + g_signal_connect (G_OBJECT (button), "clicked", + G_CALLBACK (click_cb), userdata); + g_signal_connect (G_OBJECT (button), "scroll_event", + G_CALLBACK (tab_scroll_cb), userdata); + gtk_widget_show (arrow); + + return button; +} + +static void +cv_tabs_init (chanview *cv) +{ + GtkWidget *box, *hbox = NULL; + GtkWidget *viewport; + GtkWidget *outer; + GtkWidget *button; + + if (cv->vertical) + outer = gtk_vbox_new (0, 0); + else + outer = gtk_hbox_new (0, 0); + ((tabview *)cv)->outer = outer; + g_signal_connect (G_OBJECT (outer), "size_allocate", + G_CALLBACK (cv_tabs_sizealloc), cv); +/* gtk_container_set_border_width (GTK_CONTAINER (outer), 2);*/ + gtk_widget_show (outer); + + viewport = gtk_viewport_new (0, 0); + gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_NONE); + g_signal_connect (G_OBJECT (viewport), "size_request", + G_CALLBACK (cv_tabs_sizerequest), cv); + g_signal_connect (G_OBJECT (viewport), "scroll_event", + G_CALLBACK (tab_scroll_cb), cv); + gtk_box_pack_start (GTK_BOX (outer), viewport, 1, 1, 0); + gtk_widget_show (viewport); + + if (cv->vertical) + box = gtk_vbox_new (FALSE, 0); + else + box = gtk_hbox_new (FALSE, 0); + ((tabview *)cv)->inner = box; + gtk_container_add (GTK_CONTAINER (viewport), box); + gtk_widget_show (box); + + /* if vertical, the buttons can be side by side */ + if (cv->vertical) + { + hbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (outer), hbox, 0, 0, 0); + gtk_widget_show (hbox); + } + + /* make the Scroll buttons */ + ((tabview *)cv)->b2 = make_sbutton (cv->vertical ? + GTK_ARROW_UP : GTK_ARROW_LEFT, + tab_scroll_left_up_clicked, + cv); + + ((tabview *)cv)->b1 = make_sbutton (cv->vertical ? + GTK_ARROW_DOWN : GTK_ARROW_RIGHT, + tab_scroll_right_down_clicked, + cv); + + if (hbox) + { + gtk_container_add (GTK_CONTAINER (hbox), ((tabview *)cv)->b2); + gtk_container_add (GTK_CONTAINER (hbox), ((tabview *)cv)->b1); + } else + { + gtk_box_pack_start (GTK_BOX (outer), ((tabview *)cv)->b2, 0, 0, 0); + gtk_box_pack_start (GTK_BOX (outer), ((tabview *)cv)->b1, 0, 0, 0); + } + + button = gtkutil_button (outer, GTK_STOCK_CLOSE, NULL, cv_tabs_xclick_cb, + cv, 0); + gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE); + GTK_WIDGET_UNSET_FLAGS (button, GTK_CAN_FOCUS); + + gtk_container_add (GTK_CONTAINER (cv->box), outer); +} + +static void +cv_tabs_postinit (chanview *cv) +{ +} + +static void +tab_add_sorted (chanview *cv, GtkWidget *box, GtkWidget *tab, chan *ch) +{ + GList *list; + GtkBoxChild *child; + int i = 0; + void *b; + + if (!cv->sorted) + { + gtk_box_pack_start (GTK_BOX (box), tab, 0, 0, 0); + gtk_widget_show (tab); + return; + } + + /* sorting TODO: + * - move tab if renamed (dialogs) */ + + /* userdata, passed to mg_tabs_compare() */ + b = ch->userdata; + + list = GTK_BOX (box)->children; + while (list) + { + child = list->data; + if (!GTK_IS_SEPARATOR (child->widget)) + { + void *a = g_object_get_data (G_OBJECT (child->widget), "u"); + + if (ch->tag == 0 && cv->cb_compare (a, b) > 0) + { + gtk_box_pack_start (GTK_BOX (box), tab, 0, 0, 0); + gtk_box_reorder_child (GTK_BOX (box), tab, i); + gtk_widget_show (tab); + return; + } + } + i++; + list = list->next; + } + + /* append */ + gtk_box_pack_start (GTK_BOX (box), tab, 0, 0, 0); + gtk_box_reorder_child (GTK_BOX (box), tab, i); + gtk_widget_show (tab); +} + +/* remove empty boxes and separators */ + +static void +cv_tabs_prune (chanview *cv) +{ + GList *boxes, *children; + GtkWidget *box, *inner; + GtkBoxChild *child; + int empty; + + inner = ((tabview *)cv)->inner; + boxes = GTK_BOX (inner)->children; + while (boxes) + { + child = boxes->data; + box = child->widget; + boxes = boxes->next; + + /* check if the box is empty (except a vseperator) */ + empty = TRUE; + children = GTK_BOX (box)->children; + while (children) + { + if (!GTK_IS_SEPARATOR (((GtkBoxChild *)children->data)->widget)) + { + empty = FALSE; + break; + } + children = children->next; + } + + if (empty) + gtk_widget_destroy (box); + } +} + +static void +tab_add_real (chanview *cv, GtkWidget *tab, chan *ch) +{ + GList *boxes, *children; + GtkWidget *sep, *box, *inner; + GtkBoxChild *child; + int empty; + + inner = ((tabview *)cv)->inner; + /* see if a family for this tab already exists */ + boxes = GTK_BOX (inner)->children; + while (boxes) + { + child = boxes->data; + box = child->widget; + + if (g_object_get_data (G_OBJECT (box), "f") == ch->family) + { + tab_add_sorted (cv, box, tab, ch); + gtk_widget_queue_resize (inner->parent); + return; + } + + boxes = boxes->next; + + /* check if the box is empty (except a vseperator) */ + empty = TRUE; + children = GTK_BOX (box)->children; + while (children) + { + if (!GTK_IS_SEPARATOR (((GtkBoxChild *)children->data)->widget)) + { + empty = FALSE; + break; + } + children = children->next; + } + + if (empty) + gtk_widget_destroy (box); + } + + /* create a new family box */ + if (cv->vertical) + { + /* vertical */ + box = gtk_vbox_new (FALSE, 0); + sep = gtk_hseparator_new (); + } else + { + /* horiz */ + box = gtk_hbox_new (FALSE, 0); + sep = gtk_vseparator_new (); + } + + gtk_box_pack_end (GTK_BOX (box), sep, 0, 0, 4); + gtk_widget_show (sep); + gtk_box_pack_start (GTK_BOX (inner), box, 0, 0, 0); + g_object_set_data (G_OBJECT (box), "f", ch->family); + gtk_box_pack_start (GTK_BOX (box), tab, 0, 0, 0); + gtk_widget_show (tab); + gtk_widget_show (box); + gtk_widget_queue_resize (inner->parent); +} + +static gboolean +tab_ignore_cb (GtkWidget *widget, GdkEventCrossing *event, gpointer user_data) +{ + return TRUE; +} + +/* called when a tab is clicked (button down) */ + +static void +tab_pressed_cb (GtkToggleButton *tab, chan *ch) +{ + chan *old_tab; + int is_switching = TRUE; + chanview *cv = ch->cv; + + ignore_toggle = TRUE; + /* de-activate the old tab */ + old_tab = cv->focused; + if (old_tab && old_tab->impl) + { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (old_tab->impl), FALSE); + if (old_tab == ch) + is_switching = FALSE; + } + gtk_toggle_button_set_active (tab, TRUE); + ignore_toggle = FALSE; + cv->focused = ch; + + if (/*tab->active*/is_switching) + /* call the focus callback */ + cv->cb_focus (cv, ch, ch->tag, ch->userdata); +} + +/* called for keyboard tab toggles only */ +static void +tab_toggled_cb (GtkToggleButton *tab, chan *ch) +{ + if (ignore_toggle) + return; + + /* activated a tab via keyboard */ + tab_pressed_cb (tab, ch); +} + +static gboolean +tab_click_cb (GtkWidget *wid, GdkEventButton *event, chan *ch) +{ + return ch->cv->cb_contextmenu (ch->cv, ch, ch->tag, ch->userdata, event); +} + +static void * +cv_tabs_add (chanview *cv, chan *ch, char *name, GtkTreeIter *parent) +{ + GtkWidget *but; + + but = gtk_toggle_button_new_with_label (name); + gtk_widget_set_name (but, "xchat-tab"); + g_object_set_data (G_OBJECT (but), "c", ch); + /* used to trap right-clicks */ + g_signal_connect (G_OBJECT (but), "button_press_event", + G_CALLBACK (tab_click_cb), ch); + /* avoid prelights */ + g_signal_connect (G_OBJECT (but), "enter_notify_event", + G_CALLBACK (tab_ignore_cb), NULL); + g_signal_connect (G_OBJECT (but), "leave_notify_event", + G_CALLBACK (tab_ignore_cb), NULL); + g_signal_connect (G_OBJECT (but), "pressed", + G_CALLBACK (tab_pressed_cb), ch); + /* for keyboard */ + g_signal_connect (G_OBJECT (but), "toggled", + G_CALLBACK (tab_toggled_cb), ch); + g_object_set_data (G_OBJECT (but), "u", ch->userdata); + + tab_add_real (cv, but, ch); + + return but; +} + +/* traverse all the family boxes of tabs + * + * A "group" is basically: + * GtkV/HBox + * `-GtkViewPort + * `-GtkV/HBox (inner box) + * `- GtkBox (family box) + * `- GtkToggleButton + * `- GtkToggleButton + * `- ... + * `- GtkBox + * `- GtkToggleButton + * `- GtkToggleButton + * `- ... + * `- ... + * + * */ + +static int +tab_group_for_each_tab (chanview *cv, + int (*callback) (GtkWidget *tab, int num, int usernum), + int usernum) +{ + GList *tabs; + GList *boxes; + GtkBoxChild *child; + GtkBox *innerbox; + int i; + + innerbox = (GtkBox *) ((tabview *)cv)->inner; + boxes = innerbox->children; + i = 0; + while (boxes) + { + child = boxes->data; + tabs = GTK_BOX (child->widget)->children; + + while (tabs) + { + child = tabs->data; + + if (!GTK_IS_SEPARATOR (child->widget)) + { + if (callback (child->widget, i, usernum) != -1) + return i; + i++; + } + tabs = tabs->next; + } + + boxes = boxes->next; + } + + return i; +} + +static int +tab_check_focus_cb (GtkWidget *tab, int num, int unused) +{ + if (GTK_TOGGLE_BUTTON (tab)->active) + return num; + + return -1; +} + +/* returns the currently focused tab number */ + +static int +tab_group_get_cur_page (chanview *cv) +{ + return tab_group_for_each_tab (cv, tab_check_focus_cb, 0); +} + +static void +cv_tabs_focus (chan *ch) +{ + if (ch->impl) + /* focus the new one (tab_pressed_cb defocuses the old one) */ + tab_pressed_cb (GTK_TOGGLE_BUTTON (ch->impl), ch); +} + +static int +tab_focus_num_cb (GtkWidget *tab, int num, int want) +{ + if (num == want) + { + cv_tabs_focus (g_object_get_data (G_OBJECT (tab), "c")); + return 1; + } + + return -1; +} + +static void +cv_tabs_change_orientation (chanview *cv) +{ + /* cleanup the old one */ + if (cv->func_cleanup) + cv->func_cleanup (cv); + + /* now rebuild a new tabbar or tree */ + cv->func_init (cv); + chanview_populate (cv); +} + +/* switch to the tab number specified */ + +static void +cv_tabs_move_focus (chanview *cv, gboolean relative, int num) +{ + int i, max; + + if (relative) + { + max = cv->size; + i = tab_group_get_cur_page (cv) + num; + /* make it wrap around at both ends */ + if (i < 0) + i = max - 1; + if (i >= max) + i = 0; + tab_group_for_each_tab (cv, tab_focus_num_cb, i); + return; + } + + tab_group_for_each_tab (cv, tab_focus_num_cb, num); +} + +static void +cv_tabs_remove (chan *ch) +{ + gtk_widget_destroy (ch->impl); + ch->impl = NULL; + + cv_tabs_prune (ch->cv); +} + +static void +cv_tabs_move (chan *ch, int delta) +{ + int i, pos = 0; + GList *list; + GtkWidget *parent = ((GtkWidget *)ch->impl)->parent; + + i = 0; + for (list = GTK_BOX (parent)->children; list; list = list->next) + { + GtkBoxChild *child_entry; + + child_entry = list->data; + if (child_entry->widget == ch->impl) + pos = i; + i++; + } + + pos = (pos - delta) % i; + gtk_box_reorder_child (GTK_BOX (parent), ch->impl, pos); +} + +static void +cv_tabs_move_family (chan *ch, int delta) +{ + int i, pos = 0; + GList *list; + GtkWidget *box = NULL; + + /* find position of tab's family */ + i = 0; + for (list = GTK_BOX (((tabview *)ch->cv)->inner)->children; list; list = list->next) + { + GtkBoxChild *child_entry; + void *fam; + + child_entry = list->data; + fam = g_object_get_data (G_OBJECT (child_entry->widget), "f"); + if (fam == ch->family) + { + box = child_entry->widget; + pos = i; + } + i++; + } + + pos = (pos - delta) % i; + gtk_box_reorder_child (GTK_BOX (box->parent), box, pos); +} + +static void +cv_tabs_cleanup (chanview *cv) +{ + if (cv->box) + gtk_widget_destroy (((tabview *)cv)->outer); +} + +static void +cv_tabs_set_color (chan *ch, PangoAttrList *list) +{ + gtk_label_set_attributes (GTK_LABEL (GTK_BIN (ch->impl)->child), list); +} + +static void +cv_tabs_rename (chan *ch, char *name) +{ + PangoAttrList *attr; + GtkWidget *tab = ch->impl; + + attr = gtk_label_get_attributes (GTK_LABEL (GTK_BIN (tab)->child)); + if (attr) + pango_attr_list_ref (attr); + + gtk_button_set_label (GTK_BUTTON (tab), name); + gtk_widget_queue_resize (tab->parent->parent->parent); + + if (attr) + { + gtk_label_set_attributes (GTK_LABEL (GTK_BIN (tab)->child), attr); + pango_attr_list_unref (attr); + } +} + +static gboolean +cv_tabs_is_collapsed (chan *ch) +{ + return FALSE; +} + +static chan * +cv_tabs_get_parent (chan *ch) +{ + return NULL; +} diff --git a/src/fe-gtk/chanview-tree.c b/src/fe-gtk/chanview-tree.c new file mode 100644 index 00000000..5373f21b --- /dev/null +++ b/src/fe-gtk/chanview-tree.c @@ -0,0 +1,364 @@ +/* file included in chanview.c */ + +typedef struct +{ + GtkTreeView *tree; + GtkWidget *scrollw; /* scrolledWindow */ +} treeview; + +#include "../common/xchat.h" +#include "../common/xchatc.h" +#include "fe-gtk.h" +#include "maingui.h" + +#include <gdk/gdk.h> +#include <gtk/gtktreeview.h> + +static void /* row-activated, when a row is double clicked */ +cv_tree_activated_cb (GtkTreeView *view, GtkTreePath *path, + GtkTreeViewColumn *column, gpointer data) +{ + if (gtk_tree_view_row_expanded (view, path)) + gtk_tree_view_collapse_row (view, path); + else + gtk_tree_view_expand_row (view, path, FALSE); +} + +static void /* row selected callback */ +cv_tree_sel_cb (GtkTreeSelection *sel, chanview *cv) +{ + GtkTreeModel *model; + GtkTreeIter iter; + chan *ch; + + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + gtk_tree_model_get (model, &iter, COL_CHAN, &ch, -1); + + cv->focused = ch; + cv->cb_focus (cv, ch, ch->tag, ch->userdata); + } +} + +static gboolean +cv_tree_click_cb (GtkTreeView *tree, GdkEventButton *event, chanview *cv) +{ + chan *ch; + GtkTreeSelection *sel; + GtkTreePath *path; + GtkTreeIter iter; + int ret = FALSE; + + if (event->button != 3 && event->state == 0) + return FALSE; + + sel = gtk_tree_view_get_selection (tree); + if (gtk_tree_view_get_path_at_pos (tree, event->x, event->y, &path, 0, 0, 0)) + { + if (event->button == 2) + { + gtk_tree_selection_unselect_all (sel); + gtk_tree_selection_select_path (sel, path); + } + if (gtk_tree_model_get_iter (GTK_TREE_MODEL (cv->store), &iter, path)) + { + gtk_tree_model_get (GTK_TREE_MODEL (cv->store), &iter, COL_CHAN, &ch, -1); + ret = cv->cb_contextmenu (cv, ch, ch->tag, ch->userdata, event); + } + gtk_tree_path_free (path); + } + return ret; +} + +static void +cv_tree_init (chanview *cv) +{ + GtkWidget *view, *win; + GtkCellRenderer *renderer; + static const GtkTargetEntry dnd_src_target[] = + { + {"XCHAT_CHANVIEW", GTK_TARGET_SAME_APP, 75 } + }; + static const GtkTargetEntry dnd_dest_target[] = + { + {"XCHAT_USERLIST", GTK_TARGET_SAME_APP, 75 } + }; + + win = gtk_scrolled_window_new (0, 0); + /*gtk_container_set_border_width (GTK_CONTAINER (win), 1);*/ + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (win), + GTK_SHADOW_IN); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (win), + GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_container_add (GTK_CONTAINER (cv->box), win); + gtk_widget_show (win); + + view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (cv->store)); + gtk_widget_set_name (view, "xchat-tree"); + if (cv->style) + gtk_widget_set_style (view, cv->style); + /*gtk_widget_modify_base (view, GTK_STATE_NORMAL, &colors[COL_BG]);*/ + GTK_WIDGET_UNSET_FLAGS (view, GTK_CAN_FOCUS); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (view), FALSE); +#if GTK_CHECK_VERSION(2,10,0) + if (!(prefs.gui_tweaks & 8)) + gtk_tree_view_set_enable_tree_lines (GTK_TREE_VIEW (view), TRUE); +#endif + gtk_container_add (GTK_CONTAINER (win), view); + + /* icon column */ + if (cv->use_icons) + { + renderer = gtk_cell_renderer_pixbuf_new (); + if (prefs.gui_tweaks & 32) + g_object_set (G_OBJECT (renderer), "ypad", 0, NULL); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (view), + -1, NULL, renderer, + "pixbuf", COL_PIXBUF, NULL); + } + + /* main column */ + renderer = gtk_cell_renderer_text_new (); + if (prefs.gui_tweaks & 32) + g_object_set (G_OBJECT (renderer), "ypad", 0, NULL); + gtk_cell_renderer_text_set_fixed_height_from_font (GTK_CELL_RENDERER_TEXT (renderer), 1); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (view), + -1, NULL, renderer, + "text", COL_NAME, "attributes", COL_ATTR, NULL); + + g_signal_connect (G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (view))), + "changed", G_CALLBACK (cv_tree_sel_cb), cv); + g_signal_connect (G_OBJECT (view), "button-press-event", + G_CALLBACK (cv_tree_click_cb), cv); + g_signal_connect (G_OBJECT (view), "row-activated", + G_CALLBACK (cv_tree_activated_cb), NULL); + + gtk_drag_dest_set (view, GTK_DEST_DEFAULT_ALL, dnd_dest_target, 1, + GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK); + gtk_drag_source_set (view, GDK_BUTTON1_MASK, dnd_src_target, 1, GDK_ACTION_COPY); + +#ifndef WIN32 + g_signal_connect (G_OBJECT (view), "drag_begin", + G_CALLBACK (mg_drag_begin_cb), NULL); + g_signal_connect (G_OBJECT (view), "drag_drop", + G_CALLBACK (mg_drag_drop_cb), NULL); + g_signal_connect (G_OBJECT (view), "drag_motion", + G_CALLBACK (mg_drag_motion_cb), NULL); + g_signal_connect (G_OBJECT (view), "drag_end", + G_CALLBACK (mg_drag_end_cb), NULL); +#endif + + ((treeview *)cv)->tree = GTK_TREE_VIEW (view); + ((treeview *)cv)->scrollw = win; + gtk_widget_show (view); +} + +static void +cv_tree_postinit (chanview *cv) +{ + gtk_tree_view_expand_all (((treeview *)cv)->tree); +} + +static void * +cv_tree_add (chanview *cv, chan *ch, char *name, GtkTreeIter *parent) +{ + GtkTreePath *path; + + if (parent) + { + /* expand the parent node */ + path = gtk_tree_model_get_path (GTK_TREE_MODEL (cv->store), parent); + if (path) + { + gtk_tree_view_expand_row (((treeview *)cv)->tree, path, FALSE); + gtk_tree_path_free (path); + } + } + + return NULL; +} + +static void +cv_tree_change_orientation (chanview *cv) +{ +} + +static void +cv_tree_focus (chan *ch) +{ + GtkTreeView *tree = ((treeview *)ch->cv)->tree; + GtkTreeModel *model = gtk_tree_view_get_model (tree); + GtkTreePath *path; + GtkTreeIter parent; + GdkRectangle cell_rect; + GdkRectangle vis_rect; + gint dest_y; + + /* expand the parent node */ + if (gtk_tree_model_iter_parent (model, &parent, &ch->iter)) + { + path = gtk_tree_model_get_path (model, &parent); + if (path) + { + /*if (!gtk_tree_view_row_expanded (tree, path)) + { + gtk_tree_path_free (path); + return; + }*/ + gtk_tree_view_expand_row (tree, path, FALSE); + gtk_tree_path_free (path); + } + } + + path = gtk_tree_model_get_path (model, &ch->iter); + if (path) + { + /* This full section does what + * gtk_tree_view_scroll_to_cell (tree, path, NULL, TRUE, 0.5, 0.5); + * does, except it only scrolls the window if the provided cell is + * not visible. Basic algorithm taken from gtktreeview.c */ + + /* obtain information to see if the cell is visible */ + gtk_tree_view_get_background_area (tree, path, NULL, &cell_rect); + gtk_tree_view_get_visible_rect (tree, &vis_rect); + + /* The cordinates aren't offset correctly */ + gtk_tree_view_widget_to_tree_coords( tree, cell_rect.x, cell_rect.y, NULL, &cell_rect.y ); + + /* only need to scroll if out of bounds */ + if (cell_rect.y < vis_rect.y || + cell_rect.y + cell_rect.height > vis_rect.y + vis_rect.height) + { + dest_y = cell_rect.y - ((vis_rect.height - cell_rect.height) * 0.5); + if (dest_y < 0) + dest_y = 0; + gtk_tree_view_scroll_to_point (tree, -1, dest_y); + } + /* theft done, now make it focused like */ + gtk_tree_view_set_cursor (tree, path, NULL, FALSE); + gtk_tree_path_free (path); + } +} + +static void +cv_tree_move_focus (chanview *cv, gboolean relative, int num) +{ + chan *ch; + + if (relative) + { + num += cv_find_number_of_chan (cv, cv->focused); + num %= cv->size; + /* make it wrap around at both ends */ + if (num < 0) + num = cv->size - 1; + } + + ch = cv_find_chan_by_number (cv, num); + if (ch) + cv_tree_focus (ch); +} + +static void +cv_tree_remove (chan *ch) +{ +} + +static void +move_row (chan *ch, int delta, GtkTreeIter *parent) +{ + GtkTreeStore *store = ch->cv->store; + GtkTreeIter *src = &ch->iter; + GtkTreeIter dest = ch->iter; + GtkTreePath *dest_path; + + if (delta < 0) /* down */ + { + if (gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &dest)) + gtk_tree_store_swap (store, src, &dest); + else /* move to top */ + gtk_tree_store_move_after (store, src, NULL); + + } else + { + dest_path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), &dest); + if (gtk_tree_path_prev (dest_path)) + { + gtk_tree_model_get_iter (GTK_TREE_MODEL (store), &dest, dest_path); + gtk_tree_store_swap (store, src, &dest); + } else + { /* move to bottom */ + gtk_tree_store_move_before (store, src, NULL); + } + + gtk_tree_path_free (dest_path); + } +} + +static void +cv_tree_move (chan *ch, int delta) +{ + GtkTreeIter parent; + + /* do nothing if this is a server row */ + if (gtk_tree_model_iter_parent (GTK_TREE_MODEL (ch->cv->store), &parent, &ch->iter)) + move_row (ch, delta, &parent); +} + +static void +cv_tree_move_family (chan *ch, int delta) +{ + move_row (ch, delta, NULL); +} + +static void +cv_tree_cleanup (chanview *cv) +{ + if (cv->box) + /* kill the scrolled window */ + gtk_widget_destroy (((treeview *)cv)->scrollw); +} + +static void +cv_tree_set_color (chan *ch, PangoAttrList *list) +{ + /* nothing to do, it's already set in the store */ +} + +static void +cv_tree_rename (chan *ch, char *name) +{ + /* nothing to do, it's already renamed in the store */ +} + +static chan * +cv_tree_get_parent (chan *ch) +{ + chan *parent_ch = NULL; + GtkTreeIter parent; + + if (gtk_tree_model_iter_parent (GTK_TREE_MODEL (ch->cv->store), &parent, &ch->iter)) + { + gtk_tree_model_get (GTK_TREE_MODEL (ch->cv->store), &parent, COL_CHAN, &parent_ch, -1); + } + + return parent_ch; +} + +static gboolean +cv_tree_is_collapsed (chan *ch) +{ + chan *parent = cv_tree_get_parent (ch); + GtkTreePath *path = NULL; + gboolean ret; + + if (parent == NULL) + return FALSE; + + path = gtk_tree_model_get_path (GTK_TREE_MODEL (parent->cv->store), + &parent->iter); + ret = !gtk_tree_view_row_expanded (((treeview *)parent->cv)->tree, path); + gtk_tree_path_free (path); + + return ret; +} diff --git a/src/fe-gtk/chanview.c b/src/fe-gtk/chanview.c new file mode 100644 index 00000000..e90c4df8 --- /dev/null +++ b/src/fe-gtk/chanview.c @@ -0,0 +1,643 @@ +/* abstract channel view: tabs or tree or anything you like */ + +#include <stdlib.h> +#include <string.h> + +#include <gtk/gtk.h> + +#include "chanview.h" +#include "gtkutil.h" + + +/* treeStore columns */ + +#define COL_NAME 0 /* (char *) */ +#define COL_CHAN 1 /* (chan *) */ +#define COL_ATTR 2 /* (PangoAttrList *) */ +#define COL_PIXBUF 3 /* (GdkPixbuf *) */ + +struct _chanview +{ + /* impl scratch area */ + char implscratch[sizeof (void *) * 8]; + + GtkTreeStore *store; + int size; /* number of channels in view */ + + GtkWidget *box; /* the box we destroy when changing implementations */ + GtkStyle *style; /* style used for tree */ + chan *focused; /* currently focused channel */ + int trunc_len; + + /* callbacks */ + void (*cb_focus) (chanview *, chan *, int tag, void *userdata); + void (*cb_xbutton) (chanview *, chan *, int tag, void *userdata); + gboolean (*cb_contextmenu) (chanview *, chan *, int tag, void *userdata, GdkEventButton *); + int (*cb_compare) (void *a, void *b); + + /* impl */ + void (*func_init) (chanview *); + void (*func_postinit) (chanview *); + void *(*func_add) (chanview *, chan *, char *, GtkTreeIter *); + void (*func_move_focus) (chanview *, gboolean, int); + void (*func_change_orientation) (chanview *); + void (*func_remove) (chan *); + void (*func_move) (chan *, int delta); + void (*func_move_family) (chan *, int delta); + void (*func_focus) (chan *); + void (*func_set_color) (chan *, PangoAttrList *); + void (*func_rename) (chan *, char *); + gboolean (*func_is_collapsed) (chan *); + chan *(*func_get_parent) (chan *); + void (*func_cleanup) (chanview *); + + unsigned int sorted:1; + unsigned int vertical:1; + unsigned int use_icons:1; +}; + +struct _chan +{ + chanview *cv; /* our owner */ + GtkTreeIter iter; + void *userdata; /* session * */ + void *family; /* server * or null */ + void *impl; /* togglebutton or null */ + GdkPixbuf *icon; + short allow_closure; /* allow it to be closed when it still has children? */ + short tag; +}; + +static chan *cv_find_chan_by_number (chanview *cv, int num); +static int cv_find_number_of_chan (chanview *cv, chan *find_ch); + + +/* ======= TABS ======= */ + +#include "chanview-tabs.c" + + +/* ======= TREE ======= */ + +#include "chanview-tree.c" + + +/* ==== ABSTRACT CHANVIEW ==== */ + +static char * +truncate_tab_name (char *name, int max) +{ + char *buf; + + if (max > 2 && g_utf8_strlen (name, -1) > max) + { + /* truncate long channel names */ + buf = malloc (strlen (name) + 4); + strcpy (buf, name); + g_utf8_offset_to_pointer (buf, max)[0] = 0; + strcat (buf, ".."); + return buf; + } + + return name; +} + +/* iterate through a model, into 1 depth of children */ + +static void +model_foreach_1 (GtkTreeModel *model, void (*func)(void *, GtkTreeIter *), + void *userdata) +{ + GtkTreeIter iter, inner; + + if (gtk_tree_model_get_iter_first (model, &iter)) + { + do + { + func (userdata, &iter); + if (gtk_tree_model_iter_children (model, &inner, &iter)) + { + do + func (userdata, &inner); + while (gtk_tree_model_iter_next (model, &inner)); + } + } + while (gtk_tree_model_iter_next (model, &iter)); + } +} + +static void +chanview_pop_cb (chanview *cv, GtkTreeIter *iter) +{ + chan *ch; + char *name; + PangoAttrList *attr; + + gtk_tree_model_get (GTK_TREE_MODEL (cv->store), iter, + COL_NAME, &name, COL_CHAN, &ch, COL_ATTR, &attr, -1); + ch->impl = cv->func_add (cv, ch, name, NULL); + if (attr) + { + cv->func_set_color (ch, attr); + pango_attr_list_unref (attr); + } + g_free (name); +} + +static void +chanview_populate (chanview *cv) +{ + model_foreach_1 (GTK_TREE_MODEL (cv->store), (void *)chanview_pop_cb, cv); +} + +void +chanview_set_impl (chanview *cv, int type) +{ + /* cleanup the old one */ + if (cv->func_cleanup) + cv->func_cleanup (cv); + + switch (type) + { + case 0: + cv->func_init = cv_tabs_init; + cv->func_postinit = cv_tabs_postinit; + cv->func_add = cv_tabs_add; + cv->func_move_focus = cv_tabs_move_focus; + cv->func_change_orientation = cv_tabs_change_orientation; + cv->func_remove = cv_tabs_remove; + cv->func_move = cv_tabs_move; + cv->func_move_family = cv_tabs_move_family; + cv->func_focus = cv_tabs_focus; + cv->func_set_color = cv_tabs_set_color; + cv->func_rename = cv_tabs_rename; + cv->func_is_collapsed = cv_tabs_is_collapsed; + cv->func_get_parent = cv_tabs_get_parent; + cv->func_cleanup = cv_tabs_cleanup; + break; + + default: + cv->func_init = cv_tree_init; + cv->func_postinit = cv_tree_postinit; + cv->func_add = cv_tree_add; + cv->func_move_focus = cv_tree_move_focus; + cv->func_change_orientation = cv_tree_change_orientation; + cv->func_remove = cv_tree_remove; + cv->func_move = cv_tree_move; + cv->func_move_family = cv_tree_move_family; + cv->func_focus = cv_tree_focus; + cv->func_set_color = cv_tree_set_color; + cv->func_rename = cv_tree_rename; + cv->func_is_collapsed = cv_tree_is_collapsed; + cv->func_get_parent = cv_tree_get_parent; + cv->func_cleanup = cv_tree_cleanup; + break; + } + + /* now rebuild a new tabbar or tree */ + cv->func_init (cv); + + chanview_populate (cv); + + cv->func_postinit (cv); + + /* force re-focus */ + if (cv->focused) + cv->func_focus (cv->focused); +} + +static void +chanview_free_ch (chanview *cv, GtkTreeIter *iter) +{ + chan *ch; + + gtk_tree_model_get (GTK_TREE_MODEL (cv->store), iter, COL_CHAN, &ch, -1); + free (ch); +} + +static void +chanview_destroy_store (chanview *cv) /* free every (chan *) in the store */ +{ + model_foreach_1 (GTK_TREE_MODEL (cv->store), (void *)chanview_free_ch, cv); + g_object_unref (cv->store); +} + +static void +chanview_destroy (chanview *cv) +{ + if (cv->func_cleanup) + cv->func_cleanup (cv); + + if (cv->box) + gtk_widget_destroy (cv->box); + + chanview_destroy_store (cv); + free (cv); +} + +static void +chanview_box_destroy_cb (GtkWidget *box, chanview *cv) +{ + cv->box = NULL; + chanview_destroy (cv); +} + +chanview * +chanview_new (int type, int trunc_len, gboolean sort, gboolean use_icons, + GtkStyle *style) +{ + chanview *cv; + + cv = calloc (1, sizeof (chanview)); + cv->store = gtk_tree_store_new (4, G_TYPE_STRING, G_TYPE_POINTER, + PANGO_TYPE_ATTR_LIST, GDK_TYPE_PIXBUF); + cv->style = style; + cv->box = gtk_hbox_new (0, 0); + cv->trunc_len = trunc_len; + cv->sorted = sort; + cv->use_icons = use_icons; + gtk_widget_show (cv->box); + chanview_set_impl (cv, type); + + g_signal_connect (G_OBJECT (cv->box), "destroy", + G_CALLBACK (chanview_box_destroy_cb), cv); + + return cv; +} + +/* too lazy for signals */ + +void +chanview_set_callbacks (chanview *cv, + void (*cb_focus) (chanview *, chan *, int tag, void *userdata), + void (*cb_xbutton) (chanview *, chan *, int tag, void *userdata), + gboolean (*cb_contextmenu) (chanview *, chan *, int tag, void *userdata, GdkEventButton *), + int (*cb_compare) (void *a, void *b)) +{ + cv->cb_focus = cb_focus; + cv->cb_xbutton = cb_xbutton; + cv->cb_contextmenu = cb_contextmenu; + cv->cb_compare = cb_compare; +} + +/* find a place to insert this new entry, based on the compare function */ + +static void +chanview_insert_sorted (chanview *cv, GtkTreeIter *add_iter, GtkTreeIter *parent, void *ud) +{ + GtkTreeIter iter; + chan *ch; + + if (cv->sorted && gtk_tree_model_iter_children (GTK_TREE_MODEL (cv->store), &iter, parent)) + { + do + { + gtk_tree_model_get (GTK_TREE_MODEL (cv->store), &iter, COL_CHAN, &ch, -1); + if (ch->tag == 0 && cv->cb_compare (ch->userdata, ud) > 0) + { + gtk_tree_store_insert_before (cv->store, add_iter, parent, &iter); + return; + } + } + while (gtk_tree_model_iter_next (GTK_TREE_MODEL (cv->store), &iter)); + } + + gtk_tree_store_append (cv->store, add_iter, parent); +} + +/* find a parent node with the same "family" pointer (i.e. the Server tab) */ + +static int +chanview_find_parent (chanview *cv, void *family, GtkTreeIter *search_iter, chan *avoid) +{ + chan *search_ch; + + /* find this new row's parent, if any */ + if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (cv->store), search_iter)) + { + do + { + gtk_tree_model_get (GTK_TREE_MODEL (cv->store), search_iter, + COL_CHAN, &search_ch, -1); + if (family == search_ch->family && search_ch != avoid /*&& + gtk_tree_store_iter_depth (cv->store, search_iter) == 0*/) + return TRUE; + } + while (gtk_tree_model_iter_next (GTK_TREE_MODEL (cv->store), search_iter)); + } + + return FALSE; +} + +static chan * +chanview_add_real (chanview *cv, char *name, void *family, void *userdata, + gboolean allow_closure, int tag, GdkPixbuf *icon, + chan *ch, chan *avoid) +{ + GtkTreeIter parent_iter; + GtkTreeIter iter; + gboolean has_parent = FALSE; + + if (chanview_find_parent (cv, family, &parent_iter, avoid)) + { + chanview_insert_sorted (cv, &iter, &parent_iter, userdata); + has_parent = TRUE; + } else + { + gtk_tree_store_append (cv->store, &iter, NULL); + } + + if (!ch) + { + ch = calloc (1, sizeof (chan)); + ch->userdata = userdata; + ch->family = family; + ch->cv = cv; + ch->allow_closure = allow_closure; + ch->tag = tag; + ch->icon = icon; + } + memcpy (&(ch->iter), &iter, sizeof (iter)); + + gtk_tree_store_set (cv->store, &iter, COL_NAME, name, COL_CHAN, ch, + COL_PIXBUF, icon, -1); + + cv->size++; + if (!has_parent) + ch->impl = cv->func_add (cv, ch, name, NULL); + else + ch->impl = cv->func_add (cv, ch, name, &parent_iter); + + return ch; +} + +chan * +chanview_add (chanview *cv, char *name, void *family, void *userdata, gboolean allow_closure, int tag, GdkPixbuf *icon) +{ + char *new_name; + chan *ret; + + new_name = truncate_tab_name (name, cv->trunc_len); + + ret = chanview_add_real (cv, new_name, family, userdata, allow_closure, tag, icon, NULL, NULL); + + if (new_name != name) + free (new_name); + + return ret; +} + +int +chanview_get_size (chanview *cv) +{ + return cv->size; +} + +GtkWidget * +chanview_get_box (chanview *cv) +{ + return cv->box; +} + +void +chanview_move_focus (chanview *cv, gboolean relative, int num) +{ + cv->func_move_focus (cv, relative, num); +} + +GtkOrientation +chanview_get_orientation (chanview *cv) +{ + return (cv->vertical ? GTK_ORIENTATION_VERTICAL : GTK_ORIENTATION_HORIZONTAL); +} + +void +chanview_set_orientation (chanview *cv, gboolean vertical) +{ + if (vertical != cv->vertical) + { + cv->vertical = vertical; + cv->func_change_orientation (cv); + } +} + +int +chan_get_tag (chan *ch) +{ + return ch->tag; +} + +void * +chan_get_userdata (chan *ch) +{ + return ch->userdata; +} + +void +chan_focus (chan *ch) +{ + if (ch->cv->focused == ch) + return; + + ch->cv->func_focus (ch); +} + +void +chan_move (chan *ch, int delta) +{ + ch->cv->func_move (ch, delta); +} + +void +chan_move_family (chan *ch, int delta) +{ + ch->cv->func_move_family (ch, delta); +} + +void +chan_set_color (chan *ch, PangoAttrList *list) +{ + gtk_tree_store_set (ch->cv->store, &ch->iter, COL_ATTR, list, -1); + ch->cv->func_set_color (ch, list); +} + +void +chan_rename (chan *ch, char *name, int trunc_len) +{ + char *new_name; + + new_name = truncate_tab_name (name, trunc_len); + + gtk_tree_store_set (ch->cv->store, &ch->iter, COL_NAME, new_name, -1); + ch->cv->func_rename (ch, new_name); + ch->cv->trunc_len = trunc_len; + + if (new_name != name) + free (new_name); +} + +/* this thing is overly complicated */ + +static int +cv_find_number_of_chan (chanview *cv, chan *find_ch) +{ + GtkTreeIter iter, inner; + chan *ch; + int i = 0; + + if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (cv->store), &iter)) + { + do + { + gtk_tree_model_get (GTK_TREE_MODEL (cv->store), &iter, COL_CHAN, &ch, -1); + if (ch == find_ch) + return i; + i++; + + if (gtk_tree_model_iter_children (GTK_TREE_MODEL (cv->store), &inner, &iter)) + { + do + { + gtk_tree_model_get (GTK_TREE_MODEL (cv->store), &inner, COL_CHAN, &ch, -1); + if (ch == find_ch) + return i; + i++; + } + while (gtk_tree_model_iter_next (GTK_TREE_MODEL (cv->store), &inner)); + } + } + while (gtk_tree_model_iter_next (GTK_TREE_MODEL (cv->store), &iter)); + } + + return 0; /* WARNING */ +} + +/* this thing is overly complicated too */ + +static chan * +cv_find_chan_by_number (chanview *cv, int num) +{ + GtkTreeIter iter, inner; + chan *ch; + int i = 0; + + if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (cv->store), &iter)) + { + do + { + if (i == num) + { + gtk_tree_model_get (GTK_TREE_MODEL (cv->store), &iter, COL_CHAN, &ch, -1); + return ch; + } + i++; + + if (gtk_tree_model_iter_children (GTK_TREE_MODEL (cv->store), &inner, &iter)) + { + do + { + if (i == num) + { + gtk_tree_model_get (GTK_TREE_MODEL (cv->store), &inner, COL_CHAN, &ch, -1); + return ch; + } + i++; + } + while (gtk_tree_model_iter_next (GTK_TREE_MODEL (cv->store), &inner)); + } + } + while (gtk_tree_model_iter_next (GTK_TREE_MODEL (cv->store), &iter)); + } + + return NULL; +} + +static void +chan_emancipate_children (chan *ch) +{ + char *name; + chan *childch; + GtkTreeIter childiter; + PangoAttrList *attr; + + while (gtk_tree_model_iter_children (GTK_TREE_MODEL (ch->cv->store), &childiter, &ch->iter)) + { + /* remove and re-add all the children, but avoid using "ch" as parent */ + gtk_tree_model_get (GTK_TREE_MODEL (ch->cv->store), &childiter, + COL_NAME, &name, COL_CHAN, &childch, COL_ATTR, &attr, -1); + ch->cv->func_remove (childch); + gtk_tree_store_remove (ch->cv->store, &childiter); + ch->cv->size--; + chanview_add_real (childch->cv, name, childch->family, childch->userdata, childch->allow_closure, childch->tag, childch->icon, childch, ch); + if (attr) + { + childch->cv->func_set_color (childch, attr); + pango_attr_list_unref (attr); + } + g_free (name); + } +} + +gboolean +chan_remove (chan *ch, gboolean force) +{ + chan *new_ch; + int i, num; + extern int xchat_is_quitting; + + if (xchat_is_quitting) /* avoid lots of looping on exit */ + return TRUE; + + /* is this ch allowed to be closed while still having children? */ + if (!force && + gtk_tree_model_iter_has_child (GTK_TREE_MODEL (ch->cv->store), &ch->iter) && + !ch->allow_closure) + return FALSE; + + chan_emancipate_children (ch); + ch->cv->func_remove (ch); + + /* is it the focused one? */ + if (ch->cv->focused == ch) + { + ch->cv->focused = NULL; + + /* try to move the focus to some other valid channel */ + num = cv_find_number_of_chan (ch->cv, ch); + /* move to the one left of the closing tab */ + new_ch = cv_find_chan_by_number (ch->cv, num - 1); + if (new_ch && new_ch != ch) + { + chan_focus (new_ch); /* this'll will set ch->cv->focused for us too */ + } else + { + /* if it fails, try focus from tab 0 and up */ + for (i = 0; i < ch->cv->size; i++) + { + new_ch = cv_find_chan_by_number (ch->cv, i); + if (new_ch && new_ch != ch) + { + chan_focus (new_ch); /* this'll will set ch->cv->focused for us too */ + break; + } + } + } + } + + ch->cv->size--; + gtk_tree_store_remove (ch->cv->store, &ch->iter); + free (ch); + return TRUE; +} + +gboolean +chan_is_collapsed (chan *ch) +{ + return ch->cv->func_is_collapsed (ch); +} + +chan * +chan_get_parent (chan *ch) +{ + return ch->cv->func_get_parent (ch); +} diff --git a/src/fe-gtk/chanview.h b/src/fe-gtk/chanview.h new file mode 100644 index 00000000..75b5ef1f --- /dev/null +++ b/src/fe-gtk/chanview.h @@ -0,0 +1,31 @@ +typedef struct _chanview chanview; +typedef struct _chan chan; + +chanview *chanview_new (int type, int trunc_len, gboolean sort, gboolean use_icons, GtkStyle *style); +void chanview_set_callbacks (chanview *cv, + void (*cb_focus) (chanview *, chan *, int tag, void *userdata), + void (*cb_xbutton) (chanview *, chan *, int tag, void *userdata), + gboolean (*cb_contextmenu) (chanview *, chan *, int tag, void *userdata, GdkEventButton *), + int (*cb_compare) (void *a, void *b)); +void chanview_set_impl (chanview *cv, int type); +chan *chanview_add (chanview *cv, char *name, void *family, void *userdata, gboolean allow_closure, int tag, GdkPixbuf *icon); +int chanview_get_size (chanview *cv); +GtkWidget *chanview_get_box (chanview *cv); +void chanview_move_focus (chanview *cv, gboolean relative, int num); +GtkOrientation chanview_get_orientation (chanview *cv); +void chanview_set_orientation (chanview *cv, gboolean vertical); + +int chan_get_tag (chan *ch); +void *chan_get_userdata (chan *ch); +void chan_focus (chan *ch); +void chan_move (chan *ch, int delta); +void chan_move_family (chan *ch, int delta); +void chan_set_color (chan *ch, PangoAttrList *list); +void chan_rename (chan *ch, char *new_name, int trunc_len); +gboolean chan_remove (chan *ch, gboolean force); +gboolean chan_is_collapsed (chan *ch); +chan * chan_get_parent (chan *ch); + +#define FOCUS_NEW_ALL 1 +#define FOCUS_NEW_ONLY_ASKED 2 +#define FOCUS_NEW_NONE 0 diff --git a/src/fe-gtk/custom-list.c b/src/fe-gtk/custom-list.c new file mode 100644 index 00000000..ac20e0ff --- /dev/null +++ b/src/fe-gtk/custom-list.c @@ -0,0 +1,753 @@ +#include <string.h> +#include <stdlib.h> +#include "custom-list.h" + +/* indent -i3 -ci3 -ut -ts3 -bli0 -c0 custom-list.c */ + +/* boring declarations of local functions */ + +static void custom_list_init (CustomList * pkg_tree); + +static void custom_list_class_init (CustomListClass * klass); + +static void custom_list_tree_model_init (GtkTreeModelIface * iface); + +static void custom_list_finalize (GObject * object); + +static GtkTreeModelFlags custom_list_get_flags (GtkTreeModel * tree_model); + +static gint custom_list_get_n_columns (GtkTreeModel * tree_model); + +static GType custom_list_get_column_type (GtkTreeModel * tree_model, + gint index); + +static gboolean custom_list_get_iter (GtkTreeModel * tree_model, + GtkTreeIter * iter, GtkTreePath * path); + +static GtkTreePath *custom_list_get_path (GtkTreeModel * tree_model, + GtkTreeIter * iter); + +static void custom_list_get_value (GtkTreeModel * tree_model, + GtkTreeIter * iter, + gint column, GValue * value); + +static gboolean custom_list_iter_next (GtkTreeModel * tree_model, + GtkTreeIter * iter); + +static gboolean custom_list_iter_children (GtkTreeModel * tree_model, + GtkTreeIter * iter, + GtkTreeIter * parent); + +static gboolean custom_list_iter_has_child (GtkTreeModel * tree_model, + GtkTreeIter * iter); + +static gint custom_list_iter_n_children (GtkTreeModel * tree_model, + GtkTreeIter * iter); + +static gboolean custom_list_iter_nth_child (GtkTreeModel * tree_model, + GtkTreeIter * iter, + GtkTreeIter * parent, gint n); + +static gboolean custom_list_iter_parent (GtkTreeModel * tree_model, + GtkTreeIter * iter, + GtkTreeIter * child); + + /* -- GtkTreeSortable interface functions -- */ + +static gboolean custom_list_sortable_get_sort_column_id (GtkTreeSortable * + sortable, + gint * sort_col_id, + GtkSortType * order); + +static void custom_list_sortable_set_sort_column_id (GtkTreeSortable * + sortable, + gint sort_col_id, + GtkSortType order); + +static void custom_list_sortable_set_sort_func (GtkTreeSortable * sortable, + gint sort_col_id, + GtkTreeIterCompareFunc + sort_func, gpointer user_data, + GtkDestroyNotify + destroy_func); + +static void custom_list_sortable_set_default_sort_func (GtkTreeSortable * + sortable, + GtkTreeIterCompareFunc + sort_func, + gpointer user_data, + GtkDestroyNotify + destroy_func); + +static gboolean custom_list_sortable_has_default_sort_func (GtkTreeSortable * + sortable); + + + +static GObjectClass *parent_class = NULL; /* GObject stuff - nothing to worry about */ + + +static void +custom_list_sortable_init (GtkTreeSortableIface * iface) +{ + iface->get_sort_column_id = custom_list_sortable_get_sort_column_id; + iface->set_sort_column_id = custom_list_sortable_set_sort_column_id; + iface->set_sort_func = custom_list_sortable_set_sort_func; /* NOT SUPPORTED */ + iface->set_default_sort_func = custom_list_sortable_set_default_sort_func; /* NOT SUPPORTED */ + iface->has_default_sort_func = custom_list_sortable_has_default_sort_func; /* NOT SUPPORTED */ +} + +/***************************************************************************** + * + * custom_list_get_type: here we register our new type and its interfaces + * with the type system. If you want to implement + * additional interfaces like GtkTreeSortable, you + * will need to do it here. + * + *****************************************************************************/ + +static GType +custom_list_get_type (void) +{ + static GType custom_list_type = 0; + + if (custom_list_type) + return custom_list_type; + + /* Some boilerplate type registration stuff */ + if (1) + { + static const GTypeInfo custom_list_info = { + sizeof (CustomListClass), + NULL, /* base_init */ + NULL, /* base_finalize */ + (GClassInitFunc) custom_list_class_init, + NULL, /* class finalize */ + NULL, /* class_data */ + sizeof (CustomList), + 0, /* n_preallocs */ + (GInstanceInitFunc) custom_list_init + }; + + custom_list_type = + g_type_register_static (G_TYPE_OBJECT, "CustomList", + &custom_list_info, (GTypeFlags) 0); + } + + /* Here we register our GtkTreeModel interface with the type system */ + if (1) + { + static const GInterfaceInfo tree_model_info = { + (GInterfaceInitFunc) custom_list_tree_model_init, + NULL, + NULL + }; + + g_type_add_interface_static (custom_list_type, GTK_TYPE_TREE_MODEL, + &tree_model_info); + } + + /* Add GtkTreeSortable interface */ + if (1) + { + static const GInterfaceInfo tree_sortable_info = { + (GInterfaceInitFunc) custom_list_sortable_init, + NULL, + NULL + }; + + g_type_add_interface_static (custom_list_type, + GTK_TYPE_TREE_SORTABLE, + &tree_sortable_info); + } + + return custom_list_type; +} + +/***************************************************************************** + * + * custom_list_class_init: more boilerplate GObject/GType stuff. + * Init callback for the type system, + * called once when our new class is created. + * + *****************************************************************************/ + +static void +custom_list_class_init (CustomListClass * klass) +{ + GObjectClass *object_class; + + parent_class = (GObjectClass *) g_type_class_peek_parent (klass); + object_class = (GObjectClass *) klass; + + object_class->finalize = custom_list_finalize; +} + +/***************************************************************************** + * + * custom_list_tree_model_init: init callback for the interface registration + * in custom_list_get_type. Here we override + * the GtkTreeModel interface functions that + * we implement. + * + *****************************************************************************/ + +static void +custom_list_tree_model_init (GtkTreeModelIface * iface) +{ + iface->get_flags = custom_list_get_flags; + iface->get_n_columns = custom_list_get_n_columns; + iface->get_column_type = custom_list_get_column_type; + iface->get_iter = custom_list_get_iter; + iface->get_path = custom_list_get_path; + iface->get_value = custom_list_get_value; + iface->iter_next = custom_list_iter_next; + iface->iter_children = custom_list_iter_children; + iface->iter_has_child = custom_list_iter_has_child; + iface->iter_n_children = custom_list_iter_n_children; + iface->iter_nth_child = custom_list_iter_nth_child; + iface->iter_parent = custom_list_iter_parent; +} + + +/***************************************************************************** + * + * custom_list_init: this is called everytime a new custom list object + * instance is created (we do that in custom_list_new). + * Initialise the list structure's fields here. + * + *****************************************************************************/ + +static void +custom_list_init (CustomList * custom_list) +{ + custom_list->n_columns = CUSTOM_LIST_N_COLUMNS; + + custom_list->column_types[0] = G_TYPE_STRING; /* CUSTOM_LIST_COL_NAME */ + custom_list->column_types[1] = G_TYPE_UINT; /* CUSTOM_LIST_COL_USERS */ + custom_list->column_types[2] = G_TYPE_STRING; /* CUSTOM_LIST_COL_TOPIC */ + + custom_list->num_rows = 0; + custom_list->num_alloc = 0; + custom_list->rows = NULL; + + custom_list->sort_id = SORT_ID_CHANNEL; + custom_list->sort_order = GTK_SORT_ASCENDING; +} + + +/***************************************************************************** + * + * custom_list_finalize: this is called just before a custom list is + * destroyed. Free dynamically allocated memory here. + * + *****************************************************************************/ + +static void +custom_list_finalize (GObject * object) +{ + custom_list_clear (CUSTOM_LIST (object)); + + /* must chain up - finalize parent */ + (*parent_class->finalize) (object); +} + + +/***************************************************************************** + * + * custom_list_get_flags: tells the rest of the world whether our tree model + * has any special characteristics. In our case, + * we have a list model (instead of a tree), and each + * tree iter is valid as long as the row in question + * exists, as it only contains a pointer to our struct. + * + *****************************************************************************/ + +static GtkTreeModelFlags +custom_list_get_flags (GtkTreeModel * tree_model) +{ + return (GTK_TREE_MODEL_LIST_ONLY /*| GTK_TREE_MODEL_ITERS_PERSIST */ ); +} + + +/***************************************************************************** + * + * custom_list_get_n_columns: tells the rest of the world how many data + * columns we export via the tree model interface + * + *****************************************************************************/ + +static gint +custom_list_get_n_columns (GtkTreeModel * tree_model) +{ + return 3;/*CUSTOM_LIST (tree_model)->n_columns;*/ +} + + +/***************************************************************************** + * + * custom_list_get_column_type: tells the rest of the world which type of + * data an exported model column contains + * + *****************************************************************************/ + +static GType +custom_list_get_column_type (GtkTreeModel * tree_model, gint index) +{ + return CUSTOM_LIST (tree_model)->column_types[index]; +} + + +/***************************************************************************** + * + * custom_list_get_iter: converts a tree path (physical position) into a + * tree iter structure (the content of the iter + * fields will only be used internally by our model). + * We simply store a pointer to our chanlistrow + * structure that represents that row in the tree iter. + * + *****************************************************************************/ + +static gboolean +custom_list_get_iter (GtkTreeModel * tree_model, + GtkTreeIter * iter, GtkTreePath * path) +{ + CustomList *custom_list = CUSTOM_LIST (tree_model); + chanlistrow *record; + gint n; + + n = gtk_tree_path_get_indices (path)[0]; + if (n >= custom_list->num_rows || n < 0) + return FALSE; + + record = custom_list->rows[n]; + + /* We simply store a pointer to our custom record in the iter */ + iter->user_data = record; + + return TRUE; +} + + +/***************************************************************************** + * + * custom_list_get_path: converts a tree iter into a tree path (ie. the + * physical position of that row in the list). + * + *****************************************************************************/ + +static GtkTreePath * +custom_list_get_path (GtkTreeModel * tree_model, GtkTreeIter * iter) +{ + GtkTreePath *path; + chanlistrow *record; + + record = (chanlistrow *) iter->user_data; + + path = gtk_tree_path_new (); + gtk_tree_path_append_index (path, record->pos); + + return path; +} + + +/***************************************************************************** + * + * custom_list_get_value: Returns a row's exported data columns + * (_get_value is what gtk_tree_model_get uses) + * + *****************************************************************************/ + +static void +custom_list_get_value (GtkTreeModel * tree_model, + GtkTreeIter * iter, gint column, GValue * value) +{ + chanlistrow *record; + CustomList *custom_list = CUSTOM_LIST (tree_model); + + if (custom_list->num_rows == 0) + return; + + g_value_init (value, custom_list->column_types[column]); + + record = (chanlistrow *) iter->user_data; + + switch (column) + { + case CUSTOM_LIST_COL_NAME: + g_value_set_static_string (value, GET_CHAN (record)); + break; + + case CUSTOM_LIST_COL_USERS: + g_value_set_uint (value, record->users); + break; + + case CUSTOM_LIST_COL_TOPIC: + g_value_set_static_string (value, record->topic); + break; + } +} + + +/***************************************************************************** + * + * custom_list_iter_next: Takes an iter structure and sets it to point + * to the next row. + * + *****************************************************************************/ + +static gboolean +custom_list_iter_next (GtkTreeModel * tree_model, GtkTreeIter * iter) +{ + chanlistrow *record, *nextrecord; + CustomList *custom_list = CUSTOM_LIST (tree_model); + + record = (chanlistrow *) iter->user_data; + + /* Is this the last record in the list? */ + if ((record->pos + 1) >= custom_list->num_rows) + return FALSE; + + nextrecord = custom_list->rows[(record->pos + 1)]; + + g_assert (nextrecord != NULL); + g_assert (nextrecord->pos == (record->pos + 1)); + + iter->user_data = nextrecord; + + return TRUE; +} + + +/***************************************************************************** + * + * custom_list_iter_children: Returns TRUE or FALSE depending on whether + * the row specified by 'parent' has any children. + * If it has children, then 'iter' is set to + * point to the first child. Special case: if + * 'parent' is NULL, then the first top-level + * row should be returned if it exists. + * + *****************************************************************************/ + +static gboolean +custom_list_iter_children (GtkTreeModel * tree_model, + GtkTreeIter * iter, GtkTreeIter * parent) +{ + CustomList *custom_list = CUSTOM_LIST (tree_model); + + /* this is a list, nodes have no children */ + if (parent) + return FALSE; + + /* parent == NULL is a special case; we need to return the first top-level row */ + /* No rows => no first row */ + if (custom_list->num_rows == 0) + return FALSE; + + /* Set iter to first item in list */ + iter->user_data = custom_list->rows[0]; + + return TRUE; +} + + +/***************************************************************************** + * + * custom_list_iter_has_child: Returns TRUE or FALSE depending on whether + * the row specified by 'iter' has any children. + * We only have a list and thus no children. + * + *****************************************************************************/ + +static gboolean +custom_list_iter_has_child (GtkTreeModel * tree_model, GtkTreeIter * iter) +{ + return FALSE; +} + + +/***************************************************************************** + * + * custom_list_iter_n_children: Returns the number of children the row + * specified by 'iter' has. This is usually 0, + * as we only have a list and thus do not have + * any children to any rows. A special case is + * when 'iter' is NULL, in which case we need + * to return the number of top-level nodes, + * ie. the number of rows in our list. + * + *****************************************************************************/ + +static gint +custom_list_iter_n_children (GtkTreeModel * tree_model, GtkTreeIter * iter) +{ + CustomList *custom_list = CUSTOM_LIST (tree_model); + + /* special case: if iter == NULL, return number of top-level rows */ + if (!iter) + return custom_list->num_rows; + + return 0; /* otherwise, this is easy again for a list */ +} + + +/***************************************************************************** + * + * custom_list_iter_nth_child: If the row specified by 'parent' has any + * children, set 'iter' to the n-th child and + * return TRUE if it exists, otherwise FALSE. + * A special case is when 'parent' is NULL, in + * which case we need to set 'iter' to the n-th + * row if it exists. + * + *****************************************************************************/ + +static gboolean +custom_list_iter_nth_child (GtkTreeModel * tree_model, + GtkTreeIter * iter, GtkTreeIter * parent, gint n) +{ + CustomList *custom_list = CUSTOM_LIST (tree_model); + + /* a list has only top-level rows */ + if (parent) + return FALSE; + + /* special case: if parent == NULL, set iter to n-th top-level row */ + if (n >= custom_list->num_rows) + return FALSE; + + iter->user_data = custom_list->rows[n]; + return TRUE; +} + + +/***************************************************************************** + * + * custom_list_iter_parent: Point 'iter' to the parent node of 'child'. As + * we have a list and thus no children and no + * parents of children, we can just return FALSE. + * + *****************************************************************************/ + +static gboolean +custom_list_iter_parent (GtkTreeModel * tree_model, + GtkTreeIter * iter, GtkTreeIter * child) +{ + return FALSE; +} + +static gboolean +custom_list_sortable_get_sort_column_id (GtkTreeSortable * sortable, + gint * sort_col_id, + GtkSortType * order) +{ + CustomList *custom_list = CUSTOM_LIST (sortable); + + if (sort_col_id) + *sort_col_id = custom_list->sort_id; + + if (order) + *order = custom_list->sort_order; + + return TRUE; +} + + +static void +custom_list_sortable_set_sort_column_id (GtkTreeSortable * sortable, + gint sort_col_id, GtkSortType order) +{ + CustomList *custom_list = CUSTOM_LIST (sortable); + + if (custom_list->sort_id == sort_col_id + && custom_list->sort_order == order) + return; + + custom_list->sort_id = sort_col_id; + custom_list->sort_order = order; + + custom_list_resort (custom_list); + + /* emit "sort-column-changed" signal to tell any tree views + * that the sort column has changed (so the little arrow + * in the column header of the sort column is drawn + * in the right column) */ + + gtk_tree_sortable_sort_column_changed (sortable); +} + +static void +custom_list_sortable_set_sort_func (GtkTreeSortable * sortable, + gint sort_col_id, + GtkTreeIterCompareFunc sort_func, + gpointer user_data, + GtkDestroyNotify destroy_func) +{ +} + +static void +custom_list_sortable_set_default_sort_func (GtkTreeSortable * sortable, + GtkTreeIterCompareFunc sort_func, + gpointer user_data, + GtkDestroyNotify destroy_func) +{ +} + +static gboolean +custom_list_sortable_has_default_sort_func (GtkTreeSortable * sortable) +{ + return FALSE; +} + +/* fast as possible compare func for sorting. + TODO: If fast enough, use a unicode collation key and strcmp. */ + +#define TOSML(c) (((c) >= 'A' && (c) <= 'Z') ? (c) - 'A' + 'a' : (c)) + +static inline int +fast_ascii_stricmp (const char *s1, const char *s2) +{ + int c1, c2; + + while (*s1 && *s2) + { + c1 = (int) (unsigned char) TOSML (*s1); + c2 = (int) (unsigned char) TOSML (*s2); + if (c1 != c2) + return (c1 - c2); + s1++; + s2++; + } + + return (((int) (unsigned char) *s1) - ((int) (unsigned char) *s2)); +} + +static gint +custom_list_qsort_compare_func (chanlistrow ** a, chanlistrow ** b, + CustomList * custom_list) +{ + if (custom_list->sort_order == GTK_SORT_DESCENDING) + { + chanlistrow **tmp = a; + a = b; + b = tmp; + } + + if (custom_list->sort_id == SORT_ID_USERS) + { + return (*a)->users - (*b)->users; + } + + if (custom_list->sort_id == SORT_ID_TOPIC) + { + return fast_ascii_stricmp ((*a)->topic, (*b)->topic); + } + + return strcmp ((*a)->collation_key, (*b)->collation_key); +} + +/***************************************************************************** + * + * custom_list_new: This is what you use in your own code to create a + * new custom list tree model for you to use. + * + *****************************************************************************/ + +CustomList * +custom_list_new (void) +{ + return (CustomList *) g_object_new (CUSTOM_TYPE_LIST, NULL); +} + +void +custom_list_append (CustomList * custom_list, chanlistrow * newrecord) +{ + GtkTreeIter iter; + GtkTreePath *path; + gulong newsize; + guint pos; + + if (custom_list->num_rows >= custom_list->num_alloc) + { + custom_list->num_alloc += 64; + newsize = custom_list->num_alloc * sizeof (chanlistrow *); + custom_list->rows = g_realloc (custom_list->rows, newsize); + } + + /* TODO: Binary search insert? */ + + pos = custom_list->num_rows; + custom_list->rows[pos] = newrecord; + custom_list->num_rows++; + newrecord->pos = pos; + + /* inform the tree view and other interested objects + * (e.g. tree row references) that we have inserted + * a new row, and where it was inserted */ + + path = gtk_tree_path_new (); + gtk_tree_path_append_index (path, newrecord->pos); +/* custom_list_get_iter(GTK_TREE_MODEL(custom_list), &iter, path);*/ + iter.user_data = newrecord; + gtk_tree_model_row_inserted (GTK_TREE_MODEL (custom_list), path, &iter); + gtk_tree_path_free (path); +} + +void +custom_list_resort (CustomList * custom_list) +{ + GtkTreePath *path; + gint *neworder, i; + + if (custom_list->num_rows < 2) + return; + + /* resort */ + g_qsort_with_data (custom_list->rows, + custom_list->num_rows, + sizeof (chanlistrow *), + (GCompareDataFunc) custom_list_qsort_compare_func, + custom_list); + + /* let other objects know about the new order */ + neworder = malloc (sizeof (gint) * custom_list->num_rows); + + for (i = custom_list->num_rows - 1; i >= 0; i--) + { + /* Note that the API reference might be wrong about + * this, see bug number 124790 on bugs.gnome.org. + * Both will work, but one will give you 'jumpy' + * selections after row reordering. */ + /* neworder[(custom_list->rows[i])->pos] = i; */ + neworder[i] = (custom_list->rows[i])->pos; + (custom_list->rows[i])->pos = i; + } + + path = gtk_tree_path_new (); + gtk_tree_model_rows_reordered (GTK_TREE_MODEL (custom_list), path, NULL, + neworder); + gtk_tree_path_free (path); + free (neworder); +} + +void +custom_list_clear (CustomList * custom_list) +{ + int i, max = custom_list->num_rows - 1; + GtkTreePath *path; + + for (i = max; i >= 0; i--) + { + path = gtk_tree_path_new (); + gtk_tree_path_append_index (path, custom_list->rows[i]->pos); + gtk_tree_model_row_deleted (GTK_TREE_MODEL (custom_list), path); + gtk_tree_path_free (path); + } + + custom_list->num_rows = 0; + custom_list->num_alloc = 0; + + g_free (custom_list->rows); + custom_list->rows = NULL; +} diff --git a/src/fe-gtk/custom-list.h b/src/fe-gtk/custom-list.h new file mode 100644 index 00000000..d9e4f09e --- /dev/null +++ b/src/fe-gtk/custom-list.h @@ -0,0 +1,85 @@ +#ifndef _custom_list_h_included_ +#define _custom_list_h_included_ + +#include <gtk/gtk.h> + +/* Some boilerplate GObject defines. 'klass' is used + * instead of 'class', because 'class' is a C++ keyword */ + +#define CUSTOM_TYPE_LIST (custom_list_get_type ()) +#define CUSTOM_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CUSTOM_TYPE_LIST, CustomList)) +#define CUSTOM_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CUSTOM_TYPE_LIST, CustomListClass)) +#define CUSTOM_IS_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CUSTOM_TYPE_LIST)) +#define CUSTOM_IS_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CUSTOM_TYPE_LIST)) +#define CUSTOM_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CUSTOM_TYPE_LIST, CustomListClass)) + +/* The data columns that we export via the tree model interface */ + +enum +{ + CUSTOM_LIST_COL_NAME, + CUSTOM_LIST_COL_USERS, + CUSTOM_LIST_COL_TOPIC, + CUSTOM_LIST_N_COLUMNS +}; + +enum +{ + SORT_ID_CHANNEL, + SORT_ID_USERS, + SORT_ID_TOPIC +}; + +typedef struct +{ + char *topic; + char *collation_key; + guint32 pos; /* pos within the array */ + guint32 users; + /* channel string lives beyond "users" */ +#define GET_CHAN(row) (((char *)row)+sizeof(chanlistrow)) +} +chanlistrow; + +typedef struct _CustomList CustomList; +typedef struct _CustomListClass CustomListClass; + + + +/* CustomList: this structure contains everything we need for our + * model implementation. You can add extra fields to + * this structure, e.g. hashtables to quickly lookup + * rows or whatever else you might need, but it is + * crucial that 'parent' is the first member of the + * structure. */ +struct _CustomList +{ + GObject parent; + + guint num_rows; /* number of rows that we have used */ + guint num_alloc; /* number of rows allocated */ + chanlistrow **rows; /* a dynamically allocated array of pointers to the + * CustomRecord structure for each row */ + + gint n_columns; + GType column_types[CUSTOM_LIST_N_COLUMNS]; + + gint sort_id; + GtkSortType sort_order; +}; + + +/* CustomListClass: more boilerplate GObject stuff */ + +struct _CustomListClass +{ + GObjectClass parent_class; +}; + + +CustomList *custom_list_new (void); +void custom_list_append (CustomList *, chanlistrow *); +void custom_list_resort (CustomList *); +void custom_list_clear (CustomList *); + +#endif /* _custom_list_h_included_ */ diff --git a/src/fe-gtk/dccgui.c b/src/fe-gtk/dccgui.c new file mode 100644 index 00000000..61f6d502 --- /dev/null +++ b/src/fe-gtk/dccgui.c @@ -0,0 +1,1098 @@ +/* X-Chat + * Copyright (C) 1998-2006 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <time.h> + +#define WANTSOCKET +#define WANTARPA +#include "../common/inet.h" +#include "fe-gtk.h" + +#include <gtk/gtkhbbox.h> +#include <gtk/gtkhbox.h> +#include <gtk/gtklabel.h> +#include <gtk/gtkstock.h> +#include <gtk/gtkmessagedialog.h> +#include <gtk/gtktable.h> +#include <gtk/gtktreeview.h> +#include <gtk/gtkexpander.h> +#include <gtk/gtkliststore.h> +#include <gtk/gtktreeselection.h> +#include <gtk/gtkcellrendererpixbuf.h> +#include <gtk/gtkcellrenderertext.h> +#include <gtk/gtkcheckmenuitem.h> +#include <gtk/gtkradiobutton.h> +#include <gtk/gtkversion.h> + +#include "../common/xchat.h" +#include "../common/xchatc.h" +#include "../common/fe.h" +#include "../common/util.h" +#include "../common/network.h" +#include "gtkutil.h" +#include "palette.h" +#include "maingui.h" + + +enum /* DCC SEND/RECV */ +{ + COL_TYPE, + COL_STATUS, + COL_FILE, + COL_SIZE, + COL_POS, + COL_PERC, + COL_SPEED, + COL_ETA, + COL_NICK, + COL_DCC, /* struct DCC * */ + COL_COLOR, /* GdkColor */ + N_COLUMNS +}; + +enum /* DCC CHAT */ +{ + CCOL_STATUS, + CCOL_NICK, + CCOL_RECV, + CCOL_SENT, + CCOL_START, + CCOL_DCC, /* struct DCC * */ + CCOL_COLOR, /* GdkColor * */ + CN_COLUMNS +}; + +struct dccwindow +{ + GtkWidget *window; + + GtkWidget *list; + GtkListStore *store; + GtkTreeSelection *sel; + + GtkWidget *abort_button; + GtkWidget *accept_button; + GtkWidget *resume_button; + GtkWidget *open_button; + + GtkWidget *file_label; + GtkWidget *address_label; +}; + +struct my_dcc_send +{ + struct session *sess; + char *nick; + int maxcps; + int passive; +}; + +static struct dccwindow dccfwin = {NULL, }; /* file */ +static struct dccwindow dcccwin = {NULL, }; /* chat */ +static GdkPixbuf *pix_up = NULL; /* down arrow */ +static GdkPixbuf *pix_dn = NULL; /* up arrow */ +static int win_width = 600; +static int win_height = 256; +static short view_mode; /* 1=download 2=upload 3=both */ +#define VIEW_DOWNLOAD 1 +#define VIEW_UPLOAD 2 +#define VIEW_BOTH 3 + +#define KILOBYTE 1024 +#define MEGABYTE (KILOBYTE * 1024) +#define GIGABYTE (MEGABYTE * 1024) + + +static void +proper_unit (DCC_SIZE size, char *buf, int buf_len) +{ + if (size <= KILOBYTE) + { + snprintf (buf, buf_len, "%"DCC_SFMT"B", size); + } + else if (size > KILOBYTE && size <= MEGABYTE) + { + snprintf (buf, buf_len, "%"DCC_SFMT"kB", size / KILOBYTE); + } + else + { + snprintf (buf, buf_len, "%.2fMB", (float)size / MEGABYTE); + } +} + +static void +dcc_send_filereq_file (struct my_dcc_send *mdc, char *file) +{ + if (file) + dcc_send (mdc->sess, mdc->nick, file, mdc->maxcps, mdc->passive); + else + { + free (mdc->nick); + free (mdc); + } +} + +void +fe_dcc_send_filereq (struct session *sess, char *nick, int maxcps, int passive) +{ + char tbuf[128]; + struct my_dcc_send *mdc; + + mdc = malloc (sizeof (*mdc)); + mdc->sess = sess; + mdc->nick = strdup (nick); + mdc->maxcps = maxcps; + mdc->passive = passive; + + snprintf (tbuf, sizeof tbuf, _("Send file to %s"), nick); + gtkutil_file_req (tbuf, dcc_send_filereq_file, mdc, NULL, FRF_MULTIPLE); +} + +static void +dcc_prepare_row_chat (struct DCC *dcc, GtkListStore *store, GtkTreeIter *iter, + gboolean update_only) +{ + static char pos[16], siz[16]; + char *date; + + date = ctime (&dcc->starttime); + date[strlen (date) - 1] = 0; /* remove the \n */ + + proper_unit (dcc->pos, pos, sizeof (pos)); + proper_unit (dcc->size, siz, sizeof (siz)); + + gtk_list_store_set (store, iter, + CCOL_STATUS, _(dccstat[dcc->dccstat].name), + CCOL_NICK, dcc->nick, + CCOL_RECV, pos, + CCOL_SENT, siz, + CCOL_START, date, + CCOL_DCC, dcc, + CCOL_COLOR, + dccstat[dcc->dccstat].color == 1 ? + NULL : + colors + dccstat[dcc->dccstat].color, + -1); +} + +static void +dcc_prepare_row_send (struct DCC *dcc, GtkListStore *store, GtkTreeIter *iter, + gboolean update_only) +{ + static char pos[16], size[16], kbs[14], perc[14], eta[14]; + int to_go; + float per; + + if (!pix_up) + pix_up = gtk_widget_render_icon (dccfwin.window, "gtk-go-up", + GTK_ICON_SIZE_MENU, NULL); + + /* percentage ack'ed */ + per = (float) ((dcc->ack * 100.00) / dcc->size); + proper_unit (dcc->size, size, sizeof (size)); + proper_unit (dcc->pos, pos, sizeof (pos)); + snprintf (kbs, sizeof (kbs), "%.1f", ((float)dcc->cps) / 1024); +/* proper_unit (dcc->ack, ack, sizeof (ack));*/ + snprintf (perc, sizeof (perc), "%.0f%%", per); + if (dcc->cps != 0) + { + to_go = (dcc->size - dcc->ack) / dcc->cps; + snprintf (eta, sizeof (eta), "%.2d:%.2d:%.2d", + to_go / 3600, (to_go / 60) % 60, to_go % 60); + } else + strcpy (eta, "--:--:--"); + + if (update_only) + gtk_list_store_set (store, iter, + COL_STATUS, _(dccstat[dcc->dccstat].name), + COL_POS, pos, + COL_PERC, perc, + COL_SPEED, kbs, + COL_ETA, eta, + COL_COLOR, + dccstat[dcc->dccstat].color == 1 ? + NULL : + colors + dccstat[dcc->dccstat].color, + -1); + else + gtk_list_store_set (store, iter, + COL_TYPE, pix_up, + COL_STATUS, _(dccstat[dcc->dccstat].name), + COL_FILE, file_part (dcc->file), + COL_SIZE, size, + COL_POS, pos, + COL_PERC, perc, + COL_SPEED, kbs, + COL_ETA, eta, + COL_NICK, dcc->nick, + COL_DCC, dcc, + COL_COLOR, + dccstat[dcc->dccstat].color == 1 ? + NULL : + colors + dccstat[dcc->dccstat].color, + -1); +} + +static void +dcc_prepare_row_recv (struct DCC *dcc, GtkListStore *store, GtkTreeIter *iter, + gboolean update_only) +{ + static char size[16], pos[16], kbs[16], perc[14], eta[16]; + float per; + int to_go; + + if (!pix_dn) + pix_dn = gtk_widget_render_icon (dccfwin.window, "gtk-go-down", + GTK_ICON_SIZE_MENU, NULL); + + proper_unit (dcc->size, size, sizeof (size)); + if (dcc->dccstat == STAT_QUEUED) + proper_unit (dcc->resumable, pos, sizeof (pos)); + else + proper_unit (dcc->pos, pos, sizeof (pos)); + snprintf (kbs, sizeof (kbs), "%.1f", ((float)dcc->cps) / 1024); + /* percentage recv'ed */ + per = (float) ((dcc->pos * 100.00) / dcc->size); + snprintf (perc, sizeof (perc), "%.0f%%", per); + if (dcc->cps != 0) + { + to_go = (dcc->size - dcc->pos) / dcc->cps; + snprintf (eta, sizeof (eta), "%.2d:%.2d:%.2d", + to_go / 3600, (to_go / 60) % 60, to_go % 60); + } else + strcpy (eta, "--:--:--"); + + if (update_only) + gtk_list_store_set (store, iter, + COL_STATUS, _(dccstat[dcc->dccstat].name), + COL_POS, pos, + COL_PERC, perc, + COL_SPEED, kbs, + COL_ETA, eta, + COL_COLOR, + dccstat[dcc->dccstat].color == 1 ? + NULL : + colors + dccstat[dcc->dccstat].color, + -1); + else + gtk_list_store_set (store, iter, + COL_TYPE, pix_dn, + COL_STATUS, _(dccstat[dcc->dccstat].name), + COL_FILE, file_part (dcc->file), + COL_SIZE, size, + COL_POS, pos, + COL_PERC, perc, + COL_SPEED, kbs, + COL_ETA, eta, + COL_NICK, dcc->nick, + COL_DCC, dcc, + COL_COLOR, + dccstat[dcc->dccstat].color == 1 ? + NULL : + colors + dccstat[dcc->dccstat].color, + -1); +} + +static gboolean +dcc_find_row (struct DCC *find_dcc, GtkTreeModel *model, GtkTreeIter *iter, int col) +{ + struct DCC *dcc; + + if (gtk_tree_model_get_iter_first (model, iter)) + { + do + { + gtk_tree_model_get (model, iter, col, &dcc, -1); + if (dcc == find_dcc) + return TRUE; + } + while (gtk_tree_model_iter_next (model, iter)); + } + + return FALSE; +} + +static void +dcc_update_recv (struct DCC *dcc) +{ + GtkTreeIter iter; + + if (!dccfwin.window) + return; + + if (!dcc_find_row (dcc, GTK_TREE_MODEL (dccfwin.store), &iter, COL_DCC)) + return; + + dcc_prepare_row_recv (dcc, dccfwin.store, &iter, TRUE); +} + +static void +dcc_update_chat (struct DCC *dcc) +{ + GtkTreeIter iter; + + if (!dcccwin.window) + return; + + if (!dcc_find_row (dcc, GTK_TREE_MODEL (dcccwin.store), &iter, CCOL_DCC)) + return; + + dcc_prepare_row_chat (dcc, dcccwin.store, &iter, TRUE); +} + +static void +dcc_update_send (struct DCC *dcc) +{ + GtkTreeIter iter; + + if (!dccfwin.window) + return; + + if (!dcc_find_row (dcc, GTK_TREE_MODEL (dccfwin.store), &iter, COL_DCC)) + return; + + dcc_prepare_row_send (dcc, dccfwin.store, &iter, TRUE); +} + +static void +close_dcc_file_window (GtkWindow *win, gpointer data) +{ + dccfwin.window = NULL; +} + +static void +dcc_append (struct DCC *dcc, GtkListStore *store, gboolean prepend) +{ + GtkTreeIter iter; + + if (prepend) + gtk_list_store_prepend (store, &iter); + else + gtk_list_store_append (store, &iter); + + if (dcc->type == TYPE_RECV) + dcc_prepare_row_recv (dcc, store, &iter, FALSE); + else + dcc_prepare_row_send (dcc, store, &iter, FALSE); +} + +static void +dcc_fill_window (int flags) +{ + struct DCC *dcc; + GSList *list; + GtkTreeIter iter; + int i = 0; + + gtk_list_store_clear (GTK_LIST_STORE (dccfwin.store)); + + if (flags & VIEW_UPLOAD) + { + list = dcc_list; + while (list) + { + dcc = list->data; + if (dcc->type == TYPE_SEND) + { + dcc_append (dcc, dccfwin.store, FALSE); + i++; + } + list = list->next; + } + } + + if (flags & VIEW_DOWNLOAD) + { + list = dcc_list; + while (list) + { + dcc = list->data; + if (dcc->type == TYPE_RECV) + { + dcc_append (dcc, dccfwin.store, FALSE); + i++; + } + list = list->next; + } + } + + /* if only one entry, select it (so Accept button can work) */ + if (i == 1) + { + gtk_tree_model_get_iter_first (GTK_TREE_MODEL (dccfwin.store), &iter); + gtk_tree_selection_select_iter (dccfwin.sel, &iter); + } +} + +/* return list of selected DCCs */ + +static GSList * +treeview_get_selected (GtkTreeModel *model, GtkTreeSelection *sel, int column) +{ + GtkTreeIter iter; + GSList *list = NULL; + void *ptr; + + if (gtk_tree_model_get_iter_first (model, &iter)) + { + do + { + if (gtk_tree_selection_iter_is_selected (sel, &iter)) + { + gtk_tree_model_get (model, &iter, column, &ptr, -1); + list = g_slist_prepend (list, ptr); + } + } + while (gtk_tree_model_iter_next (model, &iter)); + } + + return g_slist_reverse (list); +} + +static GSList * +dcc_get_selected (void) +{ + return treeview_get_selected (GTK_TREE_MODEL (dccfwin.store), + dccfwin.sel, COL_DCC); +} + +static void +resume_clicked (GtkWidget * wid, gpointer none) +{ + struct DCC *dcc; + char buf[512]; + GSList *list; + + list = dcc_get_selected (); + if (!list) + return; + dcc = list->data; + g_slist_free (list); + + if (dcc->type == TYPE_RECV && !dcc_resume (dcc)) + { + switch (dcc->resume_error) + { + case 0: /* unknown error */ + fe_message (_("That file is not resumable."), FE_MSG_ERROR); + break; + case 1: + snprintf (buf, sizeof (buf), + _( "Cannot access file: %s\n" + "%s.\n" + "Resuming not possible."), dcc->destfile, + errorstring (dcc->resume_errno)); + fe_message (buf, FE_MSG_ERROR); + break; + case 2: + fe_message (_("File in download directory is larger " + "than file offered. Resuming not possible."), FE_MSG_ERROR); + break; + case 3: + fe_message (_("Cannot resume the same file from two people."), FE_MSG_ERROR); + } + } +} + +static void +abort_clicked (GtkWidget * wid, gpointer none) +{ + struct DCC *dcc; + GSList *start, *list; + + start = list = dcc_get_selected (); + for (; list; list = list->next) + { + dcc = list->data; + dcc_abort (dcc->serv->front_session, dcc); + } + g_slist_free (start); +} + +static void +accept_clicked (GtkWidget * wid, gpointer none) +{ + struct DCC *dcc; + GSList *start, *list; + + start = list = dcc_get_selected (); + for (; list; list = list->next) + { + dcc = list->data; + if (dcc->type != TYPE_SEND) + dcc_get (dcc); + } + g_slist_free (start); +} + +static void +browse_folder (char *dir) +{ +#ifdef WIN32 + /* no need for file:// in ShellExecute() */ + fe_open_url (dir); +#else + char buf[512]; + + snprintf (buf, sizeof (buf), "file://%s", dir); + fe_open_url (buf); +#endif +} + +static void +browse_dcc_folder (void) +{ + if (prefs.dcc_completed_dir[0]) + browse_folder (prefs.dcc_completed_dir); + else + browse_folder (prefs.dccdir); +} + +static void +dcc_details_populate (struct DCC *dcc) +{ + char buf[128]; + + if (!dcc) + { + gtk_label_set_text (GTK_LABEL (dccfwin.file_label), NULL); + gtk_label_set_text (GTK_LABEL (dccfwin.address_label), NULL); + return; + } + + /* full path */ + if (dcc->type == TYPE_RECV) + gtk_label_set_text (GTK_LABEL (dccfwin.file_label), dcc->destfile); + else + gtk_label_set_text (GTK_LABEL (dccfwin.file_label), dcc->file); + + /* address and port */ + snprintf (buf, sizeof (buf), "%s : %d", net_ip (dcc->addr), dcc->port); + gtk_label_set_text (GTK_LABEL (dccfwin.address_label), buf); +} + +static void +dcc_row_cb (GtkTreeSelection *sel, gpointer user_data) +{ + struct DCC *dcc; + GSList *list; + + list = dcc_get_selected (); + if (!list) + { + gtk_widget_set_sensitive (dccfwin.accept_button, FALSE); + gtk_widget_set_sensitive (dccfwin.resume_button, FALSE); + gtk_widget_set_sensitive (dccfwin.abort_button, FALSE); + dcc_details_populate (NULL); + return; + } + + gtk_widget_set_sensitive (dccfwin.abort_button, TRUE); + + if (list->next) /* multi selection */ + { + gtk_widget_set_sensitive (dccfwin.accept_button, TRUE); + gtk_widget_set_sensitive (dccfwin.resume_button, TRUE); + dcc_details_populate (list->data); + } + else + { + /* turn OFF/ON appropriate buttons */ + dcc = list->data; + if (dcc->dccstat == STAT_QUEUED && dcc->type == TYPE_RECV) + { + gtk_widget_set_sensitive (dccfwin.accept_button, TRUE); + gtk_widget_set_sensitive (dccfwin.resume_button, TRUE); + } + else + { + gtk_widget_set_sensitive (dccfwin.accept_button, FALSE); + gtk_widget_set_sensitive (dccfwin.resume_button, FALSE); + } + + dcc_details_populate (dcc); + } + + g_slist_free (list); +} + +static void +dcc_dclick_cb (GtkTreeView *view, GtkTreePath *path, + GtkTreeViewColumn *column, gpointer data) +{ + struct DCC *dcc; + GSList *list; + + list = dcc_get_selected (); + if (!list) + return; + dcc = list->data; + g_slist_free (list); + + if (dcc->type == TYPE_RECV) + { + accept_clicked (0, 0); + return; + } + + switch (dcc->dccstat) + { + case STAT_FAILED: + case STAT_ABORTED: + case STAT_DONE: + dcc_abort (dcc->serv->front_session, dcc); + } +} + +static void +dcc_add_column (GtkWidget *tree, int textcol, int colorcol, char *title, gboolean right_justified) +{ + GtkCellRenderer *renderer; + + renderer = gtk_cell_renderer_text_new (); + if (right_justified) + g_object_set (G_OBJECT (renderer), "xalign", (float) 1.0, NULL); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (tree), -1, title, renderer, + "text", textcol, "foreground-gdk", colorcol, + NULL); + gtk_cell_renderer_text_set_fixed_height_from_font (GTK_CELL_RENDERER_TEXT (renderer), 1); +} + +static GtkWidget * +dcc_detail_label (char *text, GtkWidget *box, int num) +{ + GtkWidget *label; + char buf[64]; + + label = gtk_label_new (NULL); + snprintf (buf, sizeof (buf), "<b>%s</b>", text); + gtk_label_set_markup (GTK_LABEL (label), buf); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0); + gtk_table_attach (GTK_TABLE (box), label, 0, 1, 0 + num, 1 + num, GTK_FILL, GTK_FILL, 0, 0); + + label = gtk_label_new (NULL); + gtk_label_set_selectable (GTK_LABEL (label), TRUE); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0); + gtk_table_attach (GTK_TABLE (box), label, 1, 2, 0 + num, 1 + num, GTK_FILL, GTK_FILL, 0, 0); + + return label; +} + +static void +dcc_exp_cb (GtkWidget *exp, GtkWidget *box) +{ +#if GTK_CHECK_VERSION(2,20,0) + if (gtk_widget_get_visible (box)) +#else + if (GTK_WIDGET_VISIBLE (box)) +#endif + gtk_widget_hide (box); + else + gtk_widget_show (box); +} + +static void +dcc_toggle (GtkWidget *item, gpointer data) +{ + if (GTK_TOGGLE_BUTTON (item)->active) + { + view_mode = GPOINTER_TO_INT (data); + dcc_fill_window (GPOINTER_TO_INT (data)); + } +} + +static gboolean +dcc_configure_cb (GtkWindow *win, GdkEventConfigure *event, gpointer data) +{ + /* remember the window size */ + gtk_window_get_size (win, &win_width, &win_height); + return FALSE; +} + +int +fe_dcc_open_recv_win (int passive) +{ + GtkWidget *radio, *table, *vbox, *bbox, *view, *exp, *detailbox; + GtkListStore *store; + GSList *group; + + if (dccfwin.window) + { + if (!passive) + mg_bring_tofront (dccfwin.window); + return TRUE; + } + dccfwin.window = mg_create_generic_tab ("Transfers", _("XChat: Uploads and Downloads"), + FALSE, TRUE, close_dcc_file_window, NULL, + win_width, win_height, &vbox, 0); + gtk_container_set_border_width (GTK_CONTAINER (dccfwin.window), 3); + gtk_box_set_spacing (GTK_BOX (vbox), 3); + + store = gtk_list_store_new (N_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_POINTER, GDK_TYPE_COLOR); + view = gtkutil_treeview_new (vbox, GTK_TREE_MODEL (store), NULL, -1); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view), TRUE); + /* Up/Down Icon column */ + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (view), -1, NULL, + gtk_cell_renderer_pixbuf_new (), + "pixbuf", COL_TYPE, NULL); + dcc_add_column (view, COL_STATUS, COL_COLOR, _("Status"), FALSE); + dcc_add_column (view, COL_FILE, COL_COLOR, _("File"), FALSE); + dcc_add_column (view, COL_SIZE, COL_COLOR, _("Size"), TRUE); + dcc_add_column (view, COL_POS, COL_COLOR, _("Position"), TRUE); + dcc_add_column (view, COL_PERC, COL_COLOR, "%", TRUE); + dcc_add_column (view, COL_SPEED, COL_COLOR, "KB/s", TRUE); + dcc_add_column (view, COL_ETA, COL_COLOR, _("ETA"), FALSE); + dcc_add_column (view, COL_NICK, COL_COLOR, _("Nick"), FALSE); + + gtk_tree_view_column_set_expand (gtk_tree_view_get_column (GTK_TREE_VIEW (view), COL_FILE), TRUE); + gtk_tree_view_column_set_expand (gtk_tree_view_get_column (GTK_TREE_VIEW (view), COL_NICK), TRUE); + + dccfwin.list = view; + dccfwin.store = store; + dccfwin.sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (view)); + view_mode = VIEW_BOTH; + gtk_tree_selection_set_mode (dccfwin.sel, GTK_SELECTION_MULTIPLE); + + if (!prefs.windows_as_tabs) + g_signal_connect (G_OBJECT (dccfwin.window), "configure_event", + G_CALLBACK (dcc_configure_cb), 0); + g_signal_connect (G_OBJECT (dccfwin.sel), "changed", + G_CALLBACK (dcc_row_cb), NULL); + /* double click */ + g_signal_connect (G_OBJECT (view), "row-activated", + G_CALLBACK (dcc_dclick_cb), NULL); + + table = gtk_table_new (1, 3, FALSE); + gtk_table_set_col_spacings (GTK_TABLE (table), 16); + gtk_box_pack_start (GTK_BOX (vbox), table, 0, 0, 0); + + radio = gtk_radio_button_new_with_mnemonic (NULL, _("Both")); + g_signal_connect (G_OBJECT (radio), "toggled", + G_CALLBACK (dcc_toggle), GINT_TO_POINTER (VIEW_BOTH)); + gtk_table_attach (GTK_TABLE (table), radio, 3, 4, 0, 1, GTK_FILL, GTK_FILL, 0, 0); + group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio)); + + radio = gtk_radio_button_new_with_mnemonic (group, _("Uploads")); + g_signal_connect (G_OBJECT (radio), "toggled", + G_CALLBACK (dcc_toggle), GINT_TO_POINTER (VIEW_UPLOAD)); + gtk_table_attach (GTK_TABLE (table), radio, 1, 2, 0, 1, GTK_FILL, GTK_FILL, 0, 0); + group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio)); + + radio = gtk_radio_button_new_with_mnemonic (group, _("Downloads")); + g_signal_connect (G_OBJECT (radio), "toggled", + G_CALLBACK (dcc_toggle), GINT_TO_POINTER (VIEW_DOWNLOAD)); + gtk_table_attach (GTK_TABLE (table), radio, 2, 3, 0, 1, GTK_FILL, GTK_FILL, 0, 0); + + exp = gtk_expander_new (_("Details")); + gtk_table_attach (GTK_TABLE (table), exp, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); + + detailbox = gtk_table_new (3, 3, FALSE); + gtk_table_set_col_spacings (GTK_TABLE (detailbox), 6); + gtk_table_set_row_spacings (GTK_TABLE (detailbox), 2); + gtk_container_set_border_width (GTK_CONTAINER (detailbox), 6); + g_signal_connect (G_OBJECT (exp), "activate", + G_CALLBACK (dcc_exp_cb), detailbox); + gtk_table_attach (GTK_TABLE (table), detailbox, 0, 4, 1, 2, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); + + dccfwin.file_label = dcc_detail_label (_("File:"), detailbox, 0); + dccfwin.address_label = dcc_detail_label (_("Address:"), detailbox, 1); + + bbox = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_SPREAD); + gtk_box_pack_end (GTK_BOX (vbox), bbox, FALSE, FALSE, 2); + + dccfwin.abort_button = gtkutil_button (bbox, GTK_STOCK_CANCEL, 0, abort_clicked, 0, _("Abort")); + dccfwin.accept_button = gtkutil_button (bbox, GTK_STOCK_APPLY, 0, accept_clicked, 0, _("Accept")); + dccfwin.resume_button = gtkutil_button (bbox, GTK_STOCK_REFRESH, 0, resume_clicked, 0, _("Resume")); + dccfwin.open_button = gtkutil_button (bbox, 0, 0, browse_dcc_folder, 0, _("Open Folder...")); + gtk_widget_set_sensitive (dccfwin.accept_button, FALSE); + gtk_widget_set_sensitive (dccfwin.resume_button, FALSE); + gtk_widget_set_sensitive (dccfwin.abort_button, FALSE); + + dcc_fill_window (3); + gtk_widget_show_all (dccfwin.window); + gtk_widget_hide (detailbox); + + return FALSE; +} + +int +fe_dcc_open_send_win (int passive) +{ + /* combined send/recv GUI */ + return fe_dcc_open_recv_win (passive); +} + + +/* DCC CHAT GUIs BELOW */ + +static GSList * +dcc_chat_get_selected (void) +{ + return treeview_get_selected (GTK_TREE_MODEL (dcccwin.store), + dcccwin.sel, CCOL_DCC); +} + +static void +accept_chat_clicked (GtkWidget * wid, gpointer none) +{ + struct DCC *dcc; + GSList *start, *list; + + start = list = dcc_chat_get_selected (); + for (; list; list = list->next) + { + dcc = list->data; + dcc_get (dcc); + } + g_slist_free (start); +} + +static void +abort_chat_clicked (GtkWidget * wid, gpointer none) +{ + struct DCC *dcc; + GSList *start, *list; + + start = list = dcc_chat_get_selected (); + for (; list; list = list->next) + { + dcc = list->data; + dcc_abort (dcc->serv->front_session, dcc); + } + g_slist_free (start); +} + +static void +dcc_chat_close_cb (void) +{ + dcccwin.window = NULL; +} + +static void +dcc_chat_append (struct DCC *dcc, GtkListStore *store, gboolean prepend) +{ + GtkTreeIter iter; + + if (prepend) + gtk_list_store_prepend (store, &iter); + else + gtk_list_store_append (store, &iter); + + dcc_prepare_row_chat (dcc, store, &iter, FALSE); +} + +static void +dcc_chat_fill_win (void) +{ + struct DCC *dcc; + GSList *list; + GtkTreeIter iter; + int i = 0; + + gtk_list_store_clear (GTK_LIST_STORE (dcccwin.store)); + + list = dcc_list; + while (list) + { + dcc = list->data; + if (dcc->type == TYPE_CHATSEND || dcc->type == TYPE_CHATRECV) + { + dcc_chat_append (dcc, dcccwin.store, FALSE); + i++; + } + list = list->next; + } + + /* if only one entry, select it (so Accept button can work) */ + if (i == 1) + { + gtk_tree_model_get_iter_first (GTK_TREE_MODEL (dcccwin.store), &iter); + gtk_tree_selection_select_iter (dcccwin.sel, &iter); + } +} + +static void +dcc_chat_row_cb (GtkTreeSelection *sel, gpointer user_data) +{ + struct DCC *dcc; + GSList *list; + + list = dcc_chat_get_selected (); + if (!list) + { + gtk_widget_set_sensitive (dcccwin.accept_button, FALSE); + gtk_widget_set_sensitive (dcccwin.abort_button, FALSE); + return; + } + + gtk_widget_set_sensitive (dcccwin.abort_button, TRUE); + + if (list->next) /* multi selection */ + gtk_widget_set_sensitive (dcccwin.accept_button, TRUE); + else + { + /* turn OFF/ON appropriate buttons */ + dcc = list->data; + if (dcc->dccstat == STAT_QUEUED && dcc->type == TYPE_CHATRECV) + gtk_widget_set_sensitive (dcccwin.accept_button, TRUE); + else + gtk_widget_set_sensitive (dcccwin.accept_button, FALSE); + } + + g_slist_free (list); +} + +static void +dcc_chat_dclick_cb (GtkTreeView *view, GtkTreePath *path, + GtkTreeViewColumn *column, gpointer data) +{ + accept_chat_clicked (0, 0); +} + +int +fe_dcc_open_chat_win (int passive) +{ + GtkWidget *view, *vbox, *bbox; + GtkListStore *store; + + if (dcccwin.window) + { + if (!passive) + mg_bring_tofront (dcccwin.window); + return TRUE; + } + + dcccwin.window = + mg_create_generic_tab ("DCCChat", _("XChat: DCC Chat List"), + FALSE, TRUE, dcc_chat_close_cb, NULL, 550, 180, &vbox, 0); + gtk_container_set_border_width (GTK_CONTAINER (dcccwin.window), 3); + gtk_box_set_spacing (GTK_BOX (vbox), 3); + + store = gtk_list_store_new (CN_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_POINTER, GDK_TYPE_COLOR); + view = gtkutil_treeview_new (vbox, GTK_TREE_MODEL (store), NULL, -1); + + dcc_add_column (view, CCOL_STATUS, CCOL_COLOR, _("Status"), FALSE); + dcc_add_column (view, CCOL_NICK, CCOL_COLOR, _("Nick"), FALSE); + dcc_add_column (view, CCOL_RECV, CCOL_COLOR, _("Recv"), TRUE); + dcc_add_column (view, CCOL_SENT, CCOL_COLOR, _("Sent"), TRUE); + dcc_add_column (view, CCOL_START, CCOL_COLOR, _("Start Time"), FALSE); + + gtk_tree_view_column_set_expand (gtk_tree_view_get_column (GTK_TREE_VIEW (view), 1), TRUE); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view), TRUE); + + dcccwin.list = view; + dcccwin.store = store; + dcccwin.sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (view)); + gtk_tree_selection_set_mode (dcccwin.sel, GTK_SELECTION_MULTIPLE); + + g_signal_connect (G_OBJECT (dcccwin.sel), "changed", + G_CALLBACK (dcc_chat_row_cb), NULL); + /* double click */ + g_signal_connect (G_OBJECT (view), "row-activated", + G_CALLBACK (dcc_chat_dclick_cb), NULL); + + bbox = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_SPREAD); + gtk_box_pack_end (GTK_BOX (vbox), bbox, FALSE, FALSE, 2); + + dcccwin.abort_button = gtkutil_button (bbox, GTK_STOCK_CANCEL, 0, abort_chat_clicked, 0, _("Abort")); + dcccwin.accept_button = gtkutil_button (bbox, GTK_STOCK_APPLY, 0, accept_chat_clicked, 0, _("Accept")); + gtk_widget_set_sensitive (dcccwin.accept_button, FALSE); + gtk_widget_set_sensitive (dcccwin.abort_button, FALSE); + + dcc_chat_fill_win (); + gtk_widget_show_all (dcccwin.window); + + return FALSE; +} + +void +fe_dcc_add (struct DCC *dcc) +{ + switch (dcc->type) + { + case TYPE_RECV: + if (dccfwin.window && (view_mode & VIEW_DOWNLOAD)) + dcc_append (dcc, dccfwin.store, TRUE); + break; + + case TYPE_SEND: + if (dccfwin.window && (view_mode & VIEW_UPLOAD)) + dcc_append (dcc, dccfwin.store, TRUE); + break; + + default: /* chat */ + if (dcccwin.window) + dcc_chat_append (dcc, dcccwin.store, TRUE); + } +} + +void +fe_dcc_update (struct DCC *dcc) +{ + switch (dcc->type) + { + case TYPE_SEND: + dcc_update_send (dcc); + break; + + case TYPE_RECV: + dcc_update_recv (dcc); + break; + + default: + dcc_update_chat (dcc); + } +} + +void +fe_dcc_remove (struct DCC *dcc) +{ + GtkTreeIter iter; + + switch (dcc->type) + { + case TYPE_SEND: + case TYPE_RECV: + if (dccfwin.window) + { + if (dcc_find_row (dcc, GTK_TREE_MODEL (dccfwin.store), &iter, COL_DCC)) + gtk_list_store_remove (dccfwin.store, &iter); + } + break; + + default: /* chat */ + if (dcccwin.window) + { + if (dcc_find_row (dcc, GTK_TREE_MODEL (dcccwin.store), &iter, CCOL_DCC)) + gtk_list_store_remove (dcccwin.store, &iter); + } + break; + } +} diff --git a/src/fe-gtk/editlist.c b/src/fe-gtk/editlist.c new file mode 100644 index 00000000..5af67e32 --- /dev/null +++ b/src/fe-gtk/editlist.c @@ -0,0 +1,409 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include <fcntl.h> +#include <sys/types.h> +#include <sys/stat.h> +#include "fe-gtk.h" + +#include <gtk/gtkstock.h> +#include <gtk/gtkentry.h> +#include <gtk/gtkclist.h> +#include <gtk/gtkhbox.h> +#include <gtk/gtkvseparator.h> + +#include "../common/xchat.h" +#include "../common/cfgfiles.h" +#include "../common/xchatc.h" +#include "../common/fe.h" +#include "menu.h" +#include "gtkutil.h" +#include "maingui.h" +#include "editlist.h" + + +static GtkWidget *editlist_gui_entry_name; +static GtkWidget *editlist_gui_entry_cmd; +static GtkWidget *editlist_gui_window; +static GtkWidget *editlist_gui_list; +static GSList *editlist_list; +static char *editlist_file; +static char *editlist_help; + + + +static void +editlist_gui_load (GtkWidget * listgad) +{ + gchar *nnew[2]; + GSList *list = editlist_list; + struct popup *pop; + + while (list) + { + pop = (struct popup *) list->data; + nnew[0] = pop->name; + nnew[1] = pop->cmd; + gtk_clist_append (GTK_CLIST (listgad), nnew); + list = list->next; + } +} + +static void +editlist_gui_row_unselected (GtkWidget * clist, gint row, gint column, + GdkEventButton * even, gpointer none) +{ + gtk_entry_set_text (GTK_ENTRY (editlist_gui_entry_name), ""); + gtk_entry_set_text (GTK_ENTRY (editlist_gui_entry_cmd), ""); +} + +static void +editlist_gui_row_selected (GtkWidget * clist, gint row, gint column, + GdkEventButton * even, gpointer none) +{ + char *name, *cmd; + + row = gtkutil_clist_selection (editlist_gui_list); + if (row != -1) + { + gtk_clist_get_text (GTK_CLIST (clist), row, 0, &name); + gtk_clist_get_text (GTK_CLIST (clist), row, 1, &cmd); + + name = strdup (name); + cmd = strdup (cmd); + + gtk_entry_set_text (GTK_ENTRY (editlist_gui_entry_name), name); + gtk_entry_set_text (GTK_ENTRY (editlist_gui_entry_cmd), cmd); + + free (name); + free (cmd); + } else + { + editlist_gui_row_unselected (0, 0, 0, 0, 0); + } +} + +static void +editlist_gui_handle_cmd (GtkWidget * igad) +{ + int row; + const char *reply; + + row = gtkutil_clist_selection (editlist_gui_list); + if (row != -1) + { + reply = gtk_entry_get_text (GTK_ENTRY (igad)); + gtk_clist_set_text (GTK_CLIST (editlist_gui_list), row, 1, reply); + } +} + +static void +editlist_gui_handle_name (GtkWidget * igad) +{ + int row; + const char *ctcp; + + row = gtkutil_clist_selection (editlist_gui_list); + if (row != -1) + { + ctcp = gtk_entry_get_text (GTK_ENTRY (igad)); + gtk_clist_set_text (GTK_CLIST (editlist_gui_list), row, 0, ctcp); + } +} + +static void +editlist_gui_addnew (GtkWidget * igad) +{ + int i; + gchar *nnew[2]; + + nnew[0] = _("*NEW*"); + nnew[1] = _("EDIT ME"); + + i = gtk_clist_append (GTK_CLIST (editlist_gui_list), nnew); + gtk_clist_select_row (GTK_CLIST (editlist_gui_list), i, 0); + gtk_clist_moveto (GTK_CLIST (editlist_gui_list), i, 0, 0.5, 0); +} + +static void +editlist_gui_delete (GtkWidget * igad) +{ + int row; + + row = gtkutil_clist_selection (editlist_gui_list); + if (row != -1) + { + gtk_clist_unselect_all (GTK_CLIST (editlist_gui_list)); + gtk_clist_remove (GTK_CLIST (editlist_gui_list), row); + } +} + +static void +editlist_gui_save (GtkWidget * igad) +{ + int fh, i = 0; + char buf[512]; + char *a, *b; + + fh = xchat_open_file (editlist_file, O_TRUNC | O_WRONLY | O_CREAT, 0600, XOF_DOMODE); + if (fh != -1) + { + while (1) + { + if (!gtk_clist_get_text (GTK_CLIST (editlist_gui_list), i, 0, &a)) + break; + gtk_clist_get_text (GTK_CLIST (editlist_gui_list), i, 1, &b); + snprintf (buf, sizeof (buf), "NAME %s\nCMD %s\n\n", a, b); + write (fh, buf, strlen (buf)); + i++; + } + close (fh); + gtk_widget_destroy (editlist_gui_window); + if (editlist_list == replace_list) + { + list_free (&replace_list); + list_loadconf (editlist_file, &replace_list, 0); + } else if (editlist_list == popup_list) + { + list_free (&popup_list); + list_loadconf (editlist_file, &popup_list, 0); + } else if (editlist_list == button_list) + { + GSList *list = sess_list; + struct session *sess; + list_free (&button_list); + list_loadconf (editlist_file, &button_list, 0); + while (list) + { + sess = (struct session *) list->data; + fe_buttons_update (sess); + list = list->next; + } + } else if (editlist_list == dlgbutton_list) + { + GSList *list = sess_list; + struct session *sess; + list_free (&dlgbutton_list); + list_loadconf (editlist_file, &dlgbutton_list, 0); + while (list) + { + sess = (struct session *) list->data; + fe_dlgbuttons_update (sess); + list = list->next; + } + } else if (editlist_list == ctcp_list) + { + list_free (&ctcp_list); + list_loadconf (editlist_file, &ctcp_list, 0); + } else if (editlist_list == command_list) + { + list_free (&command_list); + list_loadconf (editlist_file, &command_list, 0); + } else if (editlist_list == usermenu_list) + { + list_free (&usermenu_list); + list_loadconf (editlist_file, &usermenu_list, 0); + usermenu_update (); + } else + { + list_free (&urlhandler_list); + list_loadconf (editlist_file, &urlhandler_list, 0); + } + } +} + +static void +editlist_gui_help (GtkWidget * igad) +{ +/* if (editlist_help)*/ + fe_message (editlist_help, FE_MSG_INFO); +} + +static void +editlist_gui_sort (GtkWidget * igad) +{ + int row; + + row = gtkutil_clist_selection (editlist_gui_list); + if (row != -1) + gtk_clist_unselect_row (GTK_CLIST (editlist_gui_list), row, 0); + gtk_clist_sort (GTK_CLIST (editlist_gui_list)); +} + +static void +editlist_gui_movedown (GtkWidget * igad) +{ + int row; + char *temp; + + row = gtkutil_clist_selection (editlist_gui_list); + if (row != -1) + { + if (!gtk_clist_get_text (GTK_CLIST (editlist_gui_list), row + 1, 0, &temp)) + return; + gtk_clist_freeze (GTK_CLIST (editlist_gui_list)); + gtk_clist_swap_rows (GTK_CLIST (editlist_gui_list), row, row + 1); + gtk_clist_thaw (GTK_CLIST (editlist_gui_list)); + row++; + if (!gtk_clist_row_is_visible (GTK_CLIST (editlist_gui_list), row) != + GTK_VISIBILITY_FULL) + gtk_clist_moveto (GTK_CLIST (editlist_gui_list), row, 0, 0.9, 0); + } +} + +static void +editlist_gui_moveup (GtkWidget * igad) +{ + int row; + + row = gtkutil_clist_selection (editlist_gui_list); + if (row != -1 && row > 0) + { + gtk_clist_freeze (GTK_CLIST (editlist_gui_list)); + gtk_clist_swap_rows (GTK_CLIST (editlist_gui_list), row - 1, row); + gtk_clist_thaw (GTK_CLIST (editlist_gui_list)); + row--; + if (gtk_clist_row_is_visible (GTK_CLIST (editlist_gui_list), row) != + GTK_VISIBILITY_FULL) + gtk_clist_moveto (GTK_CLIST (editlist_gui_list), row, 0, 0.1, 0); + } +} + +static void +editlist_gui_close (void) +{ + editlist_gui_window = 0; +} + +void +editlist_gui_open (char *title1, char *title2, GSList * list, char *title, char *wmclass, + char *file, char *help) +{ + gchar *titles[2]; + GtkWidget *vbox, *hbox, *button; + + if (title1) + { + titles[0] = title1; + titles[1] = title2; + } else + { + titles[0] = _("Name"); + titles[1] = _("Command"); + } + + if (editlist_gui_window) + { + mg_bring_tofront (editlist_gui_window); + return; + } + + editlist_list = list; + editlist_file = file; + editlist_help = help; + + editlist_gui_window = + mg_create_generic_tab (wmclass, title, TRUE, FALSE, + editlist_gui_close, NULL, 450, 250, &vbox, 0); + + editlist_gui_list = gtkutil_clist_new (2, titles, vbox, GTK_POLICY_ALWAYS, + editlist_gui_row_selected, 0, + editlist_gui_row_unselected, 0, + GTK_SELECTION_BROWSE); + gtk_clist_set_column_width (GTK_CLIST (editlist_gui_list), 0, 90); + + hbox = gtk_hbox_new (0, 2); + gtk_box_pack_end (GTK_BOX (vbox), hbox, 0, 0, 0); + gtk_widget_show (hbox); + + button = gtkutil_button (hbox, GTK_STOCK_GO_UP, 0, editlist_gui_moveup, + 0, _("Move Up")); + gtk_widget_set_usize (button, 100, 0); + + button = gtkutil_button (hbox, GTK_STOCK_GO_DOWN, 0, editlist_gui_movedown, + 0, _("Move Dn")); + gtk_widget_set_usize (button, 100, 0); + + button = gtk_vseparator_new (); + gtk_container_add (GTK_CONTAINER (hbox), button); + gtk_widget_show (button); + + button = gtkutil_button (hbox, GTK_STOCK_CANCEL, 0, gtkutil_destroy, + editlist_gui_window, _("Cancel")); + gtk_widget_set_usize (button, 100, 0); + + button = gtkutil_button (hbox, GTK_STOCK_SAVE, 0, editlist_gui_save, + 0, _("Save")); + gtk_widget_set_usize (button, 100, 0); + + hbox = gtk_hbox_new (0, 2); + gtk_box_pack_end (GTK_BOX (vbox), hbox, 0, 0, 0); + gtk_widget_show (hbox); + + button = gtkutil_button (hbox, GTK_STOCK_ADD, 0, editlist_gui_addnew, + 0, _("Add New")); + gtk_widget_set_usize (button, 100, 0); + + button = gtkutil_button (hbox, GTK_STOCK_REMOVE, 0, editlist_gui_delete, + 0, _("Delete")); + gtk_widget_set_usize (button, 100, 0); + + button = gtk_vseparator_new (); + gtk_container_add (GTK_CONTAINER (hbox), button); + gtk_widget_show (button); + + button = gtkutil_button (hbox, GTK_STOCK_SORT_ASCENDING, 0, editlist_gui_sort, + 0, _("Sort")); + gtk_widget_set_usize (button, 100, 0); + + button = gtkutil_button (hbox, GTK_STOCK_HELP, 0, editlist_gui_help, + 0, _("Help")); + gtk_widget_set_usize (button, 100, 0); + + if (!help) + gtk_widget_set_sensitive (GTK_WIDGET (button), FALSE); + + hbox = gtk_hbox_new (0, 2); + gtk_box_pack_end (GTK_BOX (vbox), hbox, 0, 0, 0); + gtk_widget_show (hbox); + + editlist_gui_entry_name = gtk_entry_new_with_max_length (82); + gtk_widget_set_usize (editlist_gui_entry_name, 96, 0); + gtk_signal_connect (GTK_OBJECT (editlist_gui_entry_name), "changed", + GTK_SIGNAL_FUNC (editlist_gui_handle_name), 0); + gtk_box_pack_start (GTK_BOX (hbox), editlist_gui_entry_name, 0, 0, 0); + gtk_widget_show (editlist_gui_entry_name); + + editlist_gui_entry_cmd = gtk_entry_new_with_max_length (255); + gtk_signal_connect (GTK_OBJECT (editlist_gui_entry_cmd), "changed", + GTK_SIGNAL_FUNC (editlist_gui_handle_cmd), 0); + gtk_container_add (GTK_CONTAINER (hbox), editlist_gui_entry_cmd); + gtk_widget_show (editlist_gui_entry_cmd); + + hbox = gtk_hbox_new (0, 2); + gtk_box_pack_end (GTK_BOX (vbox), hbox, 0, 0, 0); + gtk_widget_show (hbox); + + editlist_gui_load (editlist_gui_list); + + gtk_widget_show (editlist_gui_window); +} diff --git a/src/fe-gtk/editlist.h b/src/fe-gtk/editlist.h new file mode 100644 index 00000000..f17cc2e0 --- /dev/null +++ b/src/fe-gtk/editlist.h @@ -0,0 +1 @@ +void editlist_gui_open (char *title1, char *title2, GSList * list, char *title, char *wmclass, char *file, char *help); diff --git a/src/fe-gtk/fe-gtk.c b/src/fe-gtk/fe-gtk.c new file mode 100644 index 00000000..5efcaeec --- /dev/null +++ b/src/fe-gtk/fe-gtk.c @@ -0,0 +1,1063 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <unistd.h> + +#include "fe-gtk.h" + +#include <gtk/gtkmain.h> +#include <gtk/gtkentry.h> +#include <gtk/gtkprogressbar.h> +#include <gtk/gtkbox.h> +#include <gtk/gtklabel.h> +#include <gtk/gtktogglebutton.h> +#include <gtk/gtkmessagedialog.h> +#include <gtk/gtkversion.h> + +#include "../common/xchat.h" +#include "../common/fe.h" +#include "../common/util.h" +#include "../common/text.h" +#include "../common/cfgfiles.h" +#include "../common/xchatc.h" +#include "../common/plugin.h" +#include "gtkutil.h" +#include "maingui.h" +#include "pixmaps.h" +#include "joind.h" +#include "xtext.h" +#include "palette.h" +#include "menu.h" +#include "notifygui.h" +#include "textgui.h" +#include "fkeys.h" +#include "plugin-tray.h" +#include "urlgrab.h" + +#ifdef USE_XLIB +#include <gdk/gdkx.h> +#include <gtk/gtkinvisible.h> +#endif + +#ifdef USE_GTKSPELL +#include <gtk/gtktextview.h> +#endif + +#ifdef WIN32 +#include <windows.h> +#endif + +GdkPixmap *channelwin_pix; + + +#ifdef USE_XLIB + +static void +redraw_trans_xtexts (void) +{ + GSList *list = sess_list; + session *sess; + int done_main = FALSE; + + while (list) + { + sess = list->data; + if (GTK_XTEXT (sess->gui->xtext)->transparent) + { + if (!sess->gui->is_tab || !done_main) + gtk_xtext_refresh (GTK_XTEXT (sess->gui->xtext), 1); + if (sess->gui->is_tab) + done_main = TRUE; + } + list = list->next; + } +} + +static GdkFilterReturn +root_event_cb (GdkXEvent *xev, GdkEventProperty *event, gpointer data) +{ + static Atom at = None; + XEvent *xevent = (XEvent *)xev; + + if (xevent->type == PropertyNotify) + { + if (at == None) + at = XInternAtom (xevent->xproperty.display, "_XROOTPMAP_ID", True); + + if (at == xevent->xproperty.atom) + redraw_trans_xtexts (); + } + + return GDK_FILTER_CONTINUE; +} + +#endif + +/* === command-line parameter parsing : requires glib 2.6 === */ + +static char *arg_cfgdir = NULL; +static gint arg_show_autoload = 0; +static gint arg_show_config = 0; +static gint arg_show_version = 0; +static gint arg_minimize = 0; + +static const GOptionEntry gopt_entries[] = +{ + {"no-auto", 'a', 0, G_OPTION_ARG_NONE, &arg_dont_autoconnect, N_("Don't auto connect to servers"), NULL}, + {"cfgdir", 'd', 0, G_OPTION_ARG_STRING, &arg_cfgdir, N_("Use a different config directory"), "PATH"}, + {"no-plugins", 'n', 0, G_OPTION_ARG_NONE, &arg_skip_plugins, N_("Don't auto load any plugins"), NULL}, + {"plugindir", 'p', 0, G_OPTION_ARG_NONE, &arg_show_autoload, N_("Show plugin auto-load directory"), NULL}, + {"configdir", 'u', 0, G_OPTION_ARG_NONE, &arg_show_config, N_("Show user config directory"), NULL}, + {"url", 0, 0, G_OPTION_ARG_STRING, &arg_url, N_("Open an irc://server:port/channel URL"), "URL"}, +#ifndef WIN32 /* uses DBUS */ + {"command", 'c', 0, G_OPTION_ARG_STRING, &arg_command, N_("Execute command:"), "COMMAND"}, + {"existing", 'e', 0, G_OPTION_ARG_NONE, &arg_existing, N_("Open URL or execute command in an existing XChat"), NULL}, +#endif + {"minimize", 0, 0, G_OPTION_ARG_INT, &arg_minimize, N_("Begin minimized. Level 0=Normal 1=Iconified 2=Tray"), N_("level")}, + {"version", 'v', 0, G_OPTION_ARG_NONE, &arg_show_version, N_("Show version information"), NULL}, + {NULL} +}; + +int +fe_args (int argc, char *argv[]) +{ + GError *error = NULL; + GOptionContext *context; + +#ifdef ENABLE_NLS + bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); +#endif + + context = g_option_context_new (NULL); + g_option_context_add_main_entries (context, gopt_entries, GETTEXT_PACKAGE); + g_option_context_add_group (context, gtk_get_option_group (FALSE)); + g_option_context_parse (context, &argc, &argv, &error); + + if (error) + { + if (error->message) + printf ("%s\n", error->message); + return 1; + } + + g_option_context_free (context); + + if (arg_show_version) + { + printf (PACKAGE_TARNAME" "PACKAGE_VERSION"\n"); + return 0; + } + + if (arg_show_autoload) + { +#ifdef WIN32 + /* see the chdir() below */ + char *sl, *exe = strdup (argv[0]); + sl = strrchr (exe, '\\'); + if (sl) + { + *sl = 0; + printf ("%s\\plugins\n", exe); + } +#else + printf ("%s\n", XCHATLIBDIR"/plugins"); +#endif + return 0; + } + + if (arg_show_config) + { + printf ("%s\n", get_xdir_fs ()); + return 0; + } + +#ifdef WIN32 + /* this is mainly for irc:// URL handling. When windows calls us from */ + /* I.E, it doesn't give an option of "Start in" directory, like short */ + /* cuts can. So we have to set the current dir manually, to the path */ + /* of the exe. */ + { + char *tmp = strdup (argv[0]); + char *sl; + + sl = strrchr (tmp, '\\'); + if (sl) + { + *sl = 0; + chdir (tmp); + } + free (tmp); + } +#endif + + if (arg_cfgdir) /* we want filesystem encoding */ + { + xdir_fs = strdup (arg_cfgdir); + if (xdir_fs[strlen (xdir_fs) - 1] == '/') + xdir_fs[strlen (xdir_fs) - 1] = 0; + g_free (arg_cfgdir); + } + + gtk_init (&argc, &argv); + +#ifdef USE_XLIB + gdk_window_set_events (gdk_get_default_root_window (), GDK_PROPERTY_CHANGE_MASK); + gdk_window_add_filter (gdk_get_default_root_window (), + (GdkFilterFunc)root_event_cb, NULL); +#endif + + return -1; +} + +const char cursor_color_rc[] = + "style \"xc-ib-st\"" + "{" +#ifdef USE_GTKSPELL + "GtkTextView::cursor-color=\"#%02x%02x%02x\"" +#else + "GtkEntry::cursor-color=\"#%02x%02x%02x\"" +#endif + "}" + "widget \"*.xchat-inputbox\" style : application \"xc-ib-st\""; + +GtkStyle * +create_input_style (GtkStyle *style) +{ + char buf[256]; + static int done_rc = FALSE; + + pango_font_description_free (style->font_desc); + style->font_desc = pango_font_description_from_string (prefs.font_normal); + + /* fall back */ + if (pango_font_description_get_size (style->font_desc) == 0) + { + snprintf (buf, sizeof (buf), _("Failed to open font:\n\n%s"), prefs.font_normal); + fe_message (buf, FE_MSG_ERROR); + pango_font_description_free (style->font_desc); + style->font_desc = pango_font_description_from_string ("sans 11"); + } + + if (prefs.style_inputbox && !done_rc) + { + done_rc = TRUE; + sprintf (buf, cursor_color_rc, (colors[COL_FG].red >> 8), + (colors[COL_FG].green >> 8), (colors[COL_FG].blue >> 8)); + gtk_rc_parse_string (buf); + } + + style->bg[GTK_STATE_NORMAL] = colors[COL_FG]; + style->base[GTK_STATE_NORMAL] = colors[COL_BG]; + style->text[GTK_STATE_NORMAL] = colors[COL_FG]; + + return style; +} + +void +fe_init (void) +{ + palette_load (); + key_init (); + pixmaps_init (); + + channelwin_pix = pixmap_load_from_file (prefs.background); + input_style = create_input_style (gtk_style_new ()); +} + +void +fe_main (void) +{ + gtk_main (); + + /* sleep for 3 seconds so any QUIT messages are not lost. The */ + /* GUI is closed at this point, so the user doesn't even know! */ + if (prefs.wait_on_exit) + sleep (3); +} + +void +fe_cleanup (void) +{ + /* it's saved when pressing OK in setup.c */ + /*palette_save ();*/ +} + +void +fe_exit (void) +{ + gtk_main_quit (); +} + +int +fe_timeout_add (int interval, void *callback, void *userdata) +{ + return g_timeout_add (interval, (GSourceFunc) callback, userdata); +} + +void +fe_timeout_remove (int tag) +{ + g_source_remove (tag); +} + +#ifdef WIN32 + +static void +log_handler (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *message, + gpointer unused_data) +{ + session *sess; + + if (getenv ("XCHAT_WARNING_IGNORE")) + return; + + sess = find_dialog (serv_list->data, "(warnings)"); + if (!sess) + sess = new_ircwindow (serv_list->data, "(warnings)", SESS_DIALOG, 0); + + PrintTextf (sess, "%s\t%s\n", log_domain, message); + if (getenv ("XCHAT_WARNING_ABORT")) + abort (); +} + +#endif + +/* install tray stuff */ + +static int +fe_idle (gpointer data) +{ + session *sess = sess_list->data; + + plugin_add (sess, NULL, NULL, tray_plugin_init, tray_plugin_deinit, NULL, FALSE); + + if (arg_minimize == 1) + gtk_window_iconify (GTK_WINDOW (sess->gui->window)); + else if (arg_minimize == 2) + tray_toggle_visibility (FALSE); + + return 0; +} + +void +fe_new_window (session *sess, int focus) +{ + int tab = FALSE; + + if (sess->type == SESS_DIALOG) + { + if (prefs.privmsgtab) + tab = TRUE; + } else + { + if (prefs.tabchannels) + tab = TRUE; + } + + mg_changui_new (sess, NULL, tab, focus); + +#ifdef WIN32 + g_log_set_handler ("GLib", G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING, (GLogFunc)log_handler, 0); + g_log_set_handler ("GLib-GObject", G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING, (GLogFunc)log_handler, 0); + g_log_set_handler ("Gdk", G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING, (GLogFunc)log_handler, 0); + g_log_set_handler ("Gtk", G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING, (GLogFunc)log_handler, 0); +#endif + + if (!sess_list->next) + g_idle_add (fe_idle, NULL); +} + +void +fe_new_server (struct server *serv) +{ + serv->gui = malloc (sizeof (struct server_gui)); + memset (serv->gui, 0, sizeof (struct server_gui)); +} + +void +fe_message (char *msg, int flags) +{ + GtkWidget *dialog; + int type = GTK_MESSAGE_WARNING; + + if (flags & FE_MSG_ERROR) + type = GTK_MESSAGE_ERROR; + if (flags & FE_MSG_INFO) + type = GTK_MESSAGE_INFO; + + dialog = gtk_message_dialog_new (GTK_WINDOW (parent_window), 0, type, + GTK_BUTTONS_OK, "%s", msg); + if (flags & FE_MSG_MARKUP) + gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (dialog), msg); + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (gtk_widget_destroy), 0); + gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE); + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); + gtk_widget_show (dialog); + + if (flags & FE_MSG_WAIT) + gtk_dialog_run (GTK_DIALOG (dialog)); +} + +void +fe_idle_add (void *func, void *data) +{ + g_idle_add (func, data); +} + +void +fe_input_remove (int tag) +{ + g_source_remove (tag); +} + +int +fe_input_add (int sok, int flags, void *func, void *data) +{ + int tag, type = 0; + GIOChannel *channel; + +#ifdef WIN32 + if (flags & FIA_FD) + channel = g_io_channel_win32_new_fd (sok); + else + channel = g_io_channel_win32_new_socket (sok); +#else + channel = g_io_channel_unix_new (sok); +#endif + + if (flags & FIA_READ) + type |= G_IO_IN | G_IO_HUP | G_IO_ERR; + if (flags & FIA_WRITE) + type |= G_IO_OUT | G_IO_ERR; + if (flags & FIA_EX) + type |= G_IO_PRI; + + tag = g_io_add_watch (channel, type, (GIOFunc) func, data); + g_io_channel_unref (channel); + + return tag; +} + +void +fe_set_topic (session *sess, char *topic, char *stripped_topic) +{ + if (!sess->gui->is_tab || sess == current_tab) + { + gtk_entry_set_text (GTK_ENTRY (sess->gui->topic_entry), stripped_topic); + mg_set_topic_tip (sess); + } else + { + if (sess->res->topic_text) + free (sess->res->topic_text); + sess->res->topic_text = strdup (stripped_topic); + } +} + +void +fe_set_hilight (struct session *sess) +{ + if (sess->gui->is_tab) + fe_set_tab_color (sess, 3); /* set tab to blue */ + + if (prefs.input_flash_hilight) + fe_flash_window (sess); /* taskbar flash */ +} + +static void +fe_update_mode_entry (session *sess, GtkWidget *entry, char **text, char *new_text) +{ + if (!sess->gui->is_tab || sess == current_tab) + { + if (sess->gui->flag_wid[0]) /* channel mode buttons enabled? */ + gtk_entry_set_text (GTK_ENTRY (entry), new_text); + } else + { + if (sess->gui->is_tab) + { + if (*text) + free (*text); + *text = strdup (new_text); + } + } +} + +void +fe_update_channel_key (struct session *sess) +{ + fe_update_mode_entry (sess, sess->gui->key_entry, + &sess->res->key_text, sess->channelkey); + fe_set_title (sess); +} + +void +fe_update_channel_limit (struct session *sess) +{ + char tmp[16]; + + sprintf (tmp, "%d", sess->limit); + fe_update_mode_entry (sess, sess->gui->limit_entry, + &sess->res->limit_text, tmp); + fe_set_title (sess); +} + +int +fe_is_chanwindow (struct server *serv) +{ + if (!serv->gui->chanlist_window) + return 0; + return 1; +} + +int +fe_is_banwindow (struct session *sess) +{ + if (!sess->res->banlist_window) + return 0; + return 1; +} + +void +fe_notify_update (char *name) +{ + if (!name) + notify_gui_update (); +} + +void +fe_text_clear (struct session *sess, int lines) +{ + gtk_xtext_clear (sess->res->buffer, lines); +} + +void +fe_close_window (struct session *sess) +{ + if (sess->gui->is_tab) + mg_tab_close (sess); + else + gtk_widget_destroy (sess->gui->window); +} + +void +fe_progressbar_start (session *sess) +{ + if (!sess->gui->is_tab || current_tab == sess) + /* if it's the focused tab, create it for real! */ + mg_progressbar_create (sess->gui); + else + /* otherwise just remember to create on when it gets focused */ + sess->res->c_graph = TRUE; +} + +void +fe_progressbar_end (server *serv) +{ + GSList *list = sess_list; + session *sess; + + while (list) /* check all windows that use this server and * + * remove the connecting graph, if it has one. */ + { + sess = list->data; + if (sess->server == serv) + { + if (sess->gui->bar) + mg_progressbar_destroy (sess->gui); + sess->res->c_graph = FALSE; + } + list = list->next; + } +} + +void +fe_print_text (struct session *sess, char *text, time_t stamp) +{ + PrintTextRaw (sess->res->buffer, (unsigned char *)text, prefs.indent_nicks, stamp); + + if (!sess->new_data && sess != current_tab && + sess->gui->is_tab && !sess->nick_said && stamp == 0) + { + sess->new_data = TRUE; + if (sess->msg_said) + fe_set_tab_color (sess, 2); + else + fe_set_tab_color (sess, 1); + } +} + +void +fe_beep (void) +{ + gdk_beep (); +} + +#ifndef WIN32 +static int +lastlog_regex_cmp (char *a, regex_t *reg) +{ + return !regexec (reg, a, 1, NULL, REG_NOTBOL); +} +#endif + +void +fe_lastlog (session *sess, session *lastlog_sess, char *sstr, gboolean regexp) +{ +#ifndef WIN32 + regex_t reg; +#endif + + if (gtk_xtext_is_empty (sess->res->buffer)) + { + PrintText (lastlog_sess, _("Search buffer is empty.\n")); + return; + } + + if (!regexp) + { + gtk_xtext_lastlog (lastlog_sess->res->buffer, sess->res->buffer, + (void *) nocasestrstr, sstr); + return; + } + +#ifndef WIN32 + if (regcomp (®, sstr, REG_ICASE | REG_EXTENDED | REG_NOSUB) == 0) + { + gtk_xtext_lastlog (lastlog_sess->res->buffer, sess->res->buffer, + (void *) lastlog_regex_cmp, ®); + regfree (®); + } +#endif +} + +void +fe_set_lag (server *serv, int lag) +{ + GSList *list = sess_list; + session *sess; + gdouble per; + char lagtext[64]; + char lagtip[128]; + unsigned long nowtim; + + if (lag == -1) + { + if (!serv->lag_sent) + return; + nowtim = make_ping_time (); + lag = (nowtim - serv->lag_sent) / 100000; + } + + per = (double)((double)lag / (double)10); + if (per > 1.0) + per = 1.0; + + snprintf (lagtext, sizeof (lagtext) - 1, "%s%d.%ds", + serv->lag_sent ? "+" : "", lag / 10, lag % 10); + snprintf (lagtip, sizeof (lagtip) - 1, "Lag: %s%d.%d seconds", + serv->lag_sent ? "+" : "", lag / 10, lag % 10); + + while (list) + { + sess = list->data; + if (sess->server == serv) + { + if (sess->res->lag_tip) + free (sess->res->lag_tip); + sess->res->lag_tip = strdup (lagtip); + + if (!sess->gui->is_tab || current_tab == sess) + { + if (sess->gui->lagometer) + { + gtk_progress_bar_set_fraction ((GtkProgressBar *) sess->gui->lagometer, per); + add_tip (sess->gui->lagometer->parent, lagtip); + } + if (sess->gui->laginfo) + gtk_label_set_text ((GtkLabel *) sess->gui->laginfo, lagtext); + } else + { + sess->res->lag_value = per; + if (sess->res->lag_text) + free (sess->res->lag_text); + sess->res->lag_text = strdup (lagtext); + } + } + list = list->next; + } +} + +void +fe_set_throttle (server *serv) +{ + GSList *list = sess_list; + struct session *sess; + float per; + char tbuf[96]; + char tip[160]; + + per = (float) serv->sendq_len / 1024.0; + if (per > 1.0) + per = 1.0; + + while (list) + { + sess = list->data; + if (sess->server == serv) + { + snprintf (tbuf, sizeof (tbuf) - 1, _("%d bytes"), serv->sendq_len); + snprintf (tip, sizeof (tip) - 1, _("Network send queue: %d bytes"), serv->sendq_len); + + if (sess->res->queue_tip) + free (sess->res->queue_tip); + sess->res->queue_tip = strdup (tip); + + if (!sess->gui->is_tab || current_tab == sess) + { + if (sess->gui->throttlemeter) + { + gtk_progress_bar_set_fraction ((GtkProgressBar *) sess->gui->throttlemeter, per); + add_tip (sess->gui->throttlemeter->parent, tip); + } + if (sess->gui->throttleinfo) + gtk_label_set_text ((GtkLabel *) sess->gui->throttleinfo, tbuf); + } else + { + sess->res->queue_value = per; + if (sess->res->queue_text) + free (sess->res->queue_text); + sess->res->queue_text = strdup (tbuf); + } + } + list = list->next; + } +} + +void +fe_ctrl_gui (session *sess, fe_gui_action action, int arg) +{ + switch (action) + { + case FE_GUI_HIDE: + gtk_widget_hide (sess->gui->window); break; + case FE_GUI_SHOW: + gtk_widget_show (sess->gui->window); + gtk_window_present (GTK_WINDOW (sess->gui->window)); + break; + case FE_GUI_FOCUS: + mg_bring_tofront_sess (sess); break; + case FE_GUI_FLASH: + fe_flash_window (sess); break; + case FE_GUI_COLOR: + fe_set_tab_color (sess, arg); break; + case FE_GUI_ICONIFY: + gtk_window_iconify (GTK_WINDOW (sess->gui->window)); break; + case FE_GUI_MENU: + menu_bar_toggle (); /* toggle menubar on/off */ + break; + case FE_GUI_ATTACH: + mg_detach (sess, arg); /* arg: 0=toggle 1=detach 2=attach */ + break; + case FE_GUI_APPLY: + setup_apply_real (TRUE, TRUE); + } +} + +static void +dcc_saveas_cb (struct DCC *dcc, char *file) +{ + if (is_dcc (dcc)) + { + if (dcc->dccstat == STAT_QUEUED) + { + if (file) + dcc_get_with_destfile (dcc, file); + else if (dcc->resume_sent == 0) + dcc_abort (dcc->serv->front_session, dcc); + } + } +} + +void +fe_confirm (const char *message, void (*yesproc)(void *), void (*noproc)(void *), void *ud) +{ + /* warning, assuming fe_confirm is used by DCC only! */ + struct DCC *dcc = ud; + + if (dcc->file) + gtkutil_file_req (message, dcc_saveas_cb, ud, dcc->file, + FRF_WRITE|FRF_FILTERISINITIAL|FRF_NOASKOVERWRITE); +} + +int +fe_gui_info (session *sess, int info_type) +{ + switch (info_type) + { + case 0: /* window status */ +#if GTK_CHECK_VERSION(2,20,0) + if (!gtk_widget_get_visible (GTK_WIDGET (sess->gui->window))) +#else + if (!GTK_WIDGET_VISIBLE (GTK_WIDGET (sess->gui->window))) +#endif + return 2; /* hidden (iconified or systray) */ +#if GTK_CHECK_VERSION(2,4,0) + if (gtk_window_is_active (GTK_WINDOW (sess->gui->window))) +#else +#if GTK_CHECK_VERSION(2,2,0) + if (GTK_WINDOW (sess->gui->window)->is_active) +#endif +#endif + return 1; /* active/focused */ + + return 0; /* normal (no keyboard focus or behind a window) */ + } + + return -1; +} + +void * +fe_gui_info_ptr (session *sess, int info_type) +{ + switch (info_type) + { + case 0: /* native window pointer (for plugins) */ +#ifdef WIN32 + return GDK_WINDOW_HWND (sess->gui->window->window); +#else + return sess->gui->window; +#endif + break; + + case 1: /* GtkWindow * (for plugins) */ + return sess->gui->window; + } + return NULL; +} + +char * +fe_get_inputbox_contents (session *sess) +{ + /* not the current tab */ + if (sess->res->input_text) + return sess->res->input_text; + + /* current focused tab */ + return SPELL_ENTRY_GET_TEXT (sess->gui->input_box); +} + +int +fe_get_inputbox_cursor (session *sess) +{ + /* not the current tab (we don't remember the cursor pos) */ + if (sess->res->input_text) + return 0; + + /* current focused tab */ + return SPELL_ENTRY_GET_POS (sess->gui->input_box); +} + +void +fe_set_inputbox_cursor (session *sess, int delta, int pos) +{ + if (!sess->gui->is_tab || sess == current_tab) + { + if (delta) + pos += SPELL_ENTRY_GET_POS (sess->gui->input_box); + SPELL_ENTRY_SET_POS (sess->gui->input_box, pos); + } else + { + /* we don't support changing non-front tabs yet */ + } +} + +void +fe_set_inputbox_contents (session *sess, char *text) +{ + if (!sess->gui->is_tab || sess == current_tab) + { + SPELL_ENTRY_SET_TEXT (sess->gui->input_box, text); + } else + { + if (sess->res->input_text) + free (sess->res->input_text); + sess->res->input_text = strdup (text); + } +} + +#ifndef WIN32 + +static gboolean +try_browser (const char *browser, const char *arg, const char *url) +{ + const char *argv[4]; + char *path; + + path = g_find_program_in_path (browser); + if (!path) + return 0; + + argv[0] = path; + argv[1] = url; + argv[2] = NULL; + if (arg) + { + argv[1] = arg; + argv[2] = url; + argv[3] = NULL; + } + xchat_execv (argv); + g_free (path); + return 1; +} + +#endif + +static void +fe_open_url_inner (const char *url) +{ +#ifdef WIN32 + ShellExecute (0, "open", url, NULL, NULL, SW_SHOWNORMAL); +#else + /* universal desktop URL opener (from xdg-utils). Supports gnome,kde,xfce4. */ + if (try_browser ("xdg-open", NULL, url)) + return; + + /* try to detect GNOME */ + if (g_getenv ("GNOME_DESKTOP_SESSION_ID")) + { + if (try_browser ("gnome-open", NULL, url)) /* Gnome 2.4+ has this */ + return; + } + + /* try to detect KDE */ + if (g_getenv ("KDE_FULL_SESSION")) + { + if (try_browser ("kfmclient", "exec", url)) + return; + } + + /* everything failed, what now? just try firefox */ + if (try_browser ("firefox", NULL, url)) + return; + + /* fresh out of ideas... */ + try_browser ("mozilla", NULL, url); +#endif +} + +static void +fe_open_url_locale (const char *url) +{ +#ifndef WIN32 + if (url[0] != '/' && strchr (url, ':') == NULL) + { + url = g_strdup_printf ("http://%s", url); + fe_open_url_inner (url); + g_free ((char *)url); + return; + } +#endif + fe_open_url_inner (url); +} + +void +fe_open_url (const char *url) +{ + char *loc; + + if (prefs.utf8_locale) + { + fe_open_url_locale (url); + return; + } + + /* the OS expects it in "locale" encoding. This makes it work on + unix systems that use ISO-8859-x and Win32. */ + loc = g_locale_from_utf8 (url, -1, 0, 0, 0); + if (loc) + { + fe_open_url_locale (loc); + g_free (loc); + } +} + +void +fe_server_event (server *serv, int type, int arg) +{ + GSList *list = sess_list; + session *sess; + + while (list) + { + sess = list->data; + if (sess->server == serv && (current_tab == sess || !sess->gui->is_tab)) + { + session_gui *gui = sess->gui; + + switch (type) + { + case FE_SE_CONNECTING: /* connecting in progress */ + case FE_SE_RECONDELAY: /* reconnect delay begun */ + /* enable Disconnect item */ + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_DISCONNECT], 1); + break; + + case FE_SE_CONNECT: + /* enable Disconnect and Away menu items */ + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_AWAY], 1); + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_DISCONNECT], 1); + break; + + case FE_SE_LOGGEDIN: /* end of MOTD */ + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_JOIN], 1); + /* if number of auto-join channels is zero, open joind */ + if (arg == 0) + joind_open (serv); + break; + + case FE_SE_DISCONNECT: + /* disable Disconnect and Away menu items */ + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_AWAY], 0); + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_DISCONNECT], 0); + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_JOIN], 0); + /* close the join-dialog, if one exists */ + joind_close (serv); + } + } + list = list->next; + } +} + +void +fe_get_file (const char *title, char *initial, + void (*callback) (void *userdata, char *file), void *userdata, + int flags) + +{ + /* OK: Call callback once per file, then once more with file=NULL. */ + /* CANCEL: Call callback once with file=NULL. */ + gtkutil_file_req (title, callback, userdata, initial, flags | FRF_FILTERISINITIAL); +} diff --git a/src/fe-gtk/fe-gtk.h b/src/fe-gtk/fe-gtk.h new file mode 100644 index 00000000..12516259 --- /dev/null +++ b/src/fe-gtk/fe-gtk.h @@ -0,0 +1,197 @@ +#include "../../config.h" + +#ifdef WIN32 +/* If you're compiling this for Windows, your release is un-official + * and not condoned. Please don't use the XChat name. Make up your + * own name! */ +#define DISPLAY_NAME "XChat-Unofficial" +#else +#define DISPLAY_NAME "XChat" +#endif + +#ifndef WIN32 +#include <sys/types.h> +#include <regex.h> +#endif + +#if defined(ENABLE_NLS) && !defined(_) +# include <libintl.h> +# define _(x) gettext(x) +# ifdef gettext_noop +# define N_(String) gettext_noop (String) +# else +# define N_(String) (String) +# endif +#endif +#if !defined(ENABLE_NLS) && defined(_) +# undef _ +# define N_(String) (String) +# define _(x) (x) +#endif + +#include <gtk/gtkwidget.h> +#include <gtk/gtkcontainer.h> +#include <gtk/gtksignal.h> + +#undef gtk_signal_connect +#define gtk_signal_connect g_signal_connect + +#define flag_t flag_wid[0] +#define flag_n flag_wid[1] +#define flag_s flag_wid[2] +#define flag_i flag_wid[3] +#define flag_p flag_wid[4] +#define flag_m flag_wid[5] +#define flag_l flag_wid[6] +#define flag_k flag_wid[7] +#define flag_b flag_wid[8] +#define NUM_FLAG_WIDS 9 + +struct server_gui +{ + GtkWidget *rawlog_window; + GtkWidget *rawlog_textlist; + + /* join dialog */ + GtkWidget *joind_win; + GtkWidget *joind_entry; + GtkWidget *joind_radio1; + GtkWidget *joind_radio2; + GtkWidget *joind_check; + + /* chanlist variables */ + GtkWidget *chanlist_wild; /* GtkEntry */ + GtkWidget *chanlist_window; + GtkWidget *chanlist_list; + GtkWidget *chanlist_label; + GtkWidget *chanlist_min_spin; /* minusers GtkSpinButton */ + GtkWidget *chanlist_refresh; /* buttons */ + GtkWidget *chanlist_join; + GtkWidget *chanlist_savelist; + GtkWidget *chanlist_search; + + GSList *chanlist_data_stored_rows; /* stored list so it can be resorted */ + GSList *chanlist_pending_rows; + gint chanlist_tag; + gint chanlist_flash_tag; + + gboolean chanlist_match_wants_channel; /* match in channel name */ + gboolean chanlist_match_wants_topic; /* match in topic */ + +#ifndef WIN32 + regex_t chanlist_match_regex; /* compiled regular expression here */ + unsigned int have_regex; +#endif + + guint chanlist_users_found_count; /* users total for all channels */ + guint chanlist_users_shown_count; /* users total for displayed channels */ + guint chanlist_channels_found_count; /* channel total for /LIST operation */ + guint chanlist_channels_shown_count; /* total number of displayed + channels */ + + int chanlist_maxusers; + int chanlist_minusers; + int chanlist_minusers_downloaded; /* used by LIST IRC command */ + int chanlist_search_type; /* 0=simple 1=pattern/wildcard 2=regexp */ + gboolean chanlist_caption_is_stale; +}; + +/* this struct is persistant even when delinking/relinking */ + +typedef struct restore_gui +{ + /* banlist stuff */ + GtkWidget *banlist_window; + GtkWidget *banlist_treeview; + GtkWidget *banlist_butRefresh; + + void *tab; /* (chan *) */ + + /* information stored when this tab isn't front-most */ + void *user_model; /* for filling the GtkTreeView */ + void *buffer; /* xtext_Buffer */ + char *input_text; /* input text buffer (while not-front tab) */ + char *topic_text; /* topic GtkEntry buffer */ + char *key_text; + char *limit_text; + gfloat old_ul_value; /* old userlist value (for adj) */ + gfloat lag_value; /* lag-o-meter */ + char *lag_text; /* lag-o-meter text */ + char *lag_tip; /* lag-o-meter tooltip */ + gfloat queue_value; /* outbound queue meter */ + char *queue_text; /* outbound queue text */ + char *queue_tip; /* outbound queue tooltip */ + short flag_wid_state[NUM_FLAG_WIDS]; + unsigned int c_graph:1; /* connecting graph, is there one? */ +} restore_gui; + +typedef struct session_gui +{ + GtkWidget + *xtext, + *vscrollbar, + *window, /* toplevel */ + *topic_entry, + *note_book, + *main_table, + *user_tree, /* GtkTreeView */ + *user_box, /* userlist box */ + *button_box_parent, + *button_box, /* userlist buttons' box */ + *dialogbutton_box, + *topicbutton_box, + *meter_box, /* all the meters inside this */ + *lagometer, + *laginfo, + *throttlemeter, + *throttleinfo, + *topic_bar, + *hpane_left, + *hpane_right, + *vpane_left, + *vpane_right, + *menu, + *bar, /* connecting progress bar */ + *nick_box, /* contains label to the left of input_box */ + *nick_label, + *op_xpm, /* icon to the left of nickname */ + *namelistinfo, /* label above userlist */ + *input_box, + *flag_wid[NUM_FLAG_WIDS], /* channelmode buttons */ + *limit_entry, /* +l */ + *key_entry; /* +k */ + +#define MENU_ID_NUM 12 + GtkWidget *menu_item[MENU_ID_NUM+1]; /* some items we may change state of */ + + void *chanview; /* chanview.h */ + + int bartag; /*connecting progressbar timeout */ + + int pane_left_size; /*last position of the pane*/ + int pane_right_size; + + guint16 is_tab; /* is tab or toplevel? */ + guint16 ul_hidden; /* userlist hidden? */ + +} session_gui; + +extern GdkPixmap *channelwin_pix; +extern GdkPixmap *dialogwin_pix; + + +#ifdef USE_GTKSPELL +char *SPELL_ENTRY_GET_TEXT (GtkWidget *entry); +#define SPELL_ENTRY_SET_TEXT(e,txt) gtk_text_buffer_set_text (gtk_text_view_get_buffer(GTK_TEXT_VIEW(e)),txt,-1); +#define SPELL_ENTRY_SET_EDITABLE(e,v) gtk_text_view_set_editable(GTK_TEXT_VIEW(e), v) +int SPELL_ENTRY_GET_POS (GtkWidget *entry); +void SPELL_ENTRY_SET_POS (GtkWidget *entry, int pos); +void SPELL_ENTRY_INSERT (GtkWidget *entry, const char *text, int len, int *pos); +#else +#define SPELL_ENTRY_GET_TEXT(e) (GTK_ENTRY(e)->text) +#define SPELL_ENTRY_SET_TEXT(e,txt) gtk_entry_set_text(GTK_ENTRY(e),txt) +#define SPELL_ENTRY_SET_EDITABLE(e,v) gtk_editable_set_editable(GTK_EDITABLE(e),v) +#define SPELL_ENTRY_GET_POS(e) gtk_editable_get_position(GTK_EDITABLE(e)) +#define SPELL_ENTRY_SET_POS(e,p) gtk_editable_set_position(GTK_EDITABLE(e),p); +#define SPELL_ENTRY_INSERT(e,t,l,p) gtk_editable_insert_text(GTK_EDITABLE(e),t,l,p) +#endif diff --git a/src/fe-gtk/fkeys.c b/src/fe-gtk/fkeys.c new file mode 100644 index 00000000..014b5cc3 --- /dev/null +++ b/src/fe-gtk/fkeys.c @@ -0,0 +1,1814 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <unistd.h> +#include <string.h> +#include <fcntl.h> +#include <ctype.h> + +#include "fe-gtk.h" + +#include <gtk/gtklabel.h> +#include <gtk/gtkeditable.h> +#include <gtk/gtkmenu.h> +#include <gtk/gtkmenuitem.h> +#include <gtk/gtkoptionmenu.h> +#include <gtk/gtkvbox.h> +#include <gtk/gtkhbox.h> +#include <gtk/gtkclist.h> +#include <gtk/gtknotebook.h> +#include <gtk/gtkcheckbutton.h> +#include <gtk/gtkentry.h> +#include <gtk/gtkvscrollbar.h> + +#include "../common/xchat.h" +#include "../common/xchatc.h" +#include "../common/cfgfiles.h" +#include "../common/fe.h" +#include "../common/userlist.h" +#include "../common/outbound.h" +#include "../common/util.h" +#include "../common/text.h" +#include "../common/plugin.h" +#include <gdk/gdkkeysyms.h> +#include "gtkutil.h" +#include "menu.h" +#include "xtext.h" +#include "palette.h" +#include "maingui.h" +#include "textgui.h" +#include "fkeys.h" + +#ifdef USE_GTKSPELL +#include <gtk/gtktextview.h> +#endif + +static void replace_handle (GtkWidget * wid); +void key_action_tab_clean (void); + +/***************** Key Binding Code ******************/ + +/* NOTES: + + To add a new action: + 1) inc KEY_MAX_ACTIONS + 2) write the function at the bottom of this file (with all the others) + FIXME: Write about calling and returning + 3) Add it to key_actions + + --AGL + + */ + +/* Remember that the *number* of actions is this *plus* 1 --AGL */ +#define KEY_MAX_ACTIONS 14 +/* These are cp'ed from history.c --AGL */ +#define STATE_SHIFT GDK_SHIFT_MASK +#define STATE_ALT GDK_MOD1_MASK +#define STATE_CTRL GDK_CONTROL_MASK + +struct key_binding +{ + int keyval; /* GDK keynumber */ + char *keyname; /* String with the name of the function */ + int action; /* Index into key_actions */ + int mod; /* Flags of STATE_* above */ + char *data1, *data2; /* Pointers to strings, these must be freed */ + struct key_binding *next; +}; + +struct key_action +{ + int (*handler) (GtkWidget * wid, GdkEventKey * evt, char *d1, char *d2, + struct session * sess); + char *name; + char *help; +}; + +struct gcomp_data +{ + char data[CHANLEN]; + int elen; +}; + +static int key_load_kbs (char *); +static void key_load_defaults (); +static void key_save_kbs (char *); +static int key_action_handle_command (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, + struct session *sess); +static int key_action_page_switch (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, struct session *sess); +int key_action_insert (GtkWidget * wid, GdkEventKey * evt, char *d1, char *d2, + struct session *sess); +static int key_action_scroll_page (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, struct session *sess); +static int key_action_set_buffer (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, struct session *sess); +static int key_action_history_up (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, struct session *sess); +static int key_action_history_down (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, struct session *sess); +static int key_action_tab_comp (GtkWidget * wid, GdkEventKey * evt, char *d1, + char *d2, struct session *sess); +static int key_action_comp_chng (GtkWidget * wid, GdkEventKey * evt, char *d1, + char *d2, struct session *sess); +static int key_action_replace (GtkWidget * wid, GdkEventKey * evt, char *d1, + char *d2, struct session *sess); +static int key_action_move_tab_left (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, + struct session *sess); +static int key_action_move_tab_right (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, + struct session *sess); +static int key_action_move_tab_family_left (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, + struct session *sess); +static int key_action_move_tab_family_right (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, + struct session *sess); +static int key_action_put_history (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, + struct session *sess); + +static GtkWidget *key_dialog; +static struct key_binding *keys_root = NULL; + +static const struct key_action key_actions[KEY_MAX_ACTIONS + 1] = { + + {key_action_handle_command, "Run Command", + N_("The \002Run Command\002 action runs the data in Data 1 as if it has been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \002\\n\002 characters in Data 1 are used to deliminate seperate commands so it is possible to run more than one command. If you want a \002\\\002 in the actual text run then enter \002\\\\\002")}, + {key_action_page_switch, "Change Page", + N_("The \002Change Page\002 command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position")}, + {key_action_insert, "Insert in Buffer", + N_("The \002Insert in Buffer\002 command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position")}, + {key_action_scroll_page, "Scroll Page", + N_("The \002Scroll Page\002 command scrolls the text widget up or down one page or one line. Set Data 1 to either Up, Down, +1 or -1.")}, + {key_action_set_buffer, "Set Buffer", + N_("The \002Set Buffer\002 command sets the entry where the key sequence was entered to the contents of Data 1")}, + {key_action_history_up, "Last Command", + N_("The \002Last Command\002 command sets the entry to contain the last command entered - the same as pressing up in a shell")}, + {key_action_history_down, "Next Command", + N_("The \002Next Command\002 command sets the entry to contain the next command entered - the same as pressing down in a shell")}, + {key_action_tab_comp, "Complete nick/command", + N_("This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next")}, + {key_action_comp_chng, "Change Selected Nick", + N_("This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down")}, + {key_action_replace, "Check For Replace", + N_("This command checks the last word entered in the entry against the replace list and replaces it if it finds a match")}, + {key_action_move_tab_left, "Move front tab left", + N_("This command moves the front tab left by one")}, + {key_action_move_tab_right, "Move front tab right", + N_("This command moves the front tab right by one")}, + {key_action_move_tab_family_left, "Move tab family left", + N_("This command moves the current tab family to the left")}, + {key_action_move_tab_family_right, "Move tab family right", + N_("This command moves the current tab family to the right")}, + {key_action_put_history, "Push input line into history", + N_("Push input line into history but doesn't send to server")}, +}; + +void +key_init () +{ + keys_root = NULL; + if (key_load_kbs (NULL) == 1) + { + key_load_defaults (); + if (key_load_kbs (NULL) == 1) + fe_message (_("There was an error loading key" + " bindings configuration"), FE_MSG_ERROR); + } +} + +static char * +key_get_key_name (int keyval) +{ + return gdk_keyval_name (gdk_keyval_to_lower (keyval)); +} + +/* Ok, here are the NOTES + + key_handle_key_press now handles all the key presses and history_keypress is + now defunct. It goes thru the linked list keys_root and finds a matching + key. It runs the action func and switches on these values: + 0) Return + 1) Find next + 2) stop signal and return + + * history_keypress is now dead (and gone) + * key_handle_key_press now takes its role + * All the possible actions are in a struct called key_actions (in fkeys.c) + * it is made of {function, name, desc} + * key bindings can pass 2 *text* strings to the handler. If more options are nee + ded a format can be put on one of these options + * key actions are passed { + the entry widget + the Gdk event + data 1 + data 2 + session struct + } + * key bindings are stored in a linked list of key_binding structs + * which looks like { + int keyval; GDK keynumber + char *keyname; String with the name of the function + int action; Index into key_actions + int mod; Flags of STATE_* above + char *data1, *data2; Pointers to strings, these must be freed + struct key_binding *next; + } + * remember that is (data1 || data2) != NULL then they need to be free()'ed + + --AGL + + */ + +gboolean +key_handle_key_press (GtkWidget *wid, GdkEventKey *evt, session *sess) +{ + struct key_binding *kb, *last = NULL; + int keyval = evt->keyval; + int mod, n; + GSList *list; + + /* where did this event come from? */ + list = sess_list; + while (list) + { + sess = list->data; + if (sess->gui->input_box == wid) + { + if (sess->gui->is_tab) + sess = current_tab; + break; + } + list = list->next; + } + if (!list) + return FALSE; + current_sess = sess; + + if (plugin_emit_keypress (sess, evt->state, evt->keyval, evt->length, evt->string)) + return 1; + + /* maybe the plugin closed this tab? */ + if (!is_session (sess)) + return 1; + + mod = evt->state & (STATE_CTRL | STATE_ALT | STATE_SHIFT); + + kb = keys_root; + while (kb) + { + if (kb->keyval == keyval && kb->mod == mod) + { + if (kb->action < 0 || kb->action > KEY_MAX_ACTIONS) + return 0; + + /* Bump this binding to the top of the list */ + if (last != NULL) + { + last->next = kb->next; + kb->next = keys_root; + keys_root = kb; + } + /* Run the function */ + n = key_actions[kb->action].handler (wid, evt, kb->data1, + kb->data2, sess); + switch (n) + { + case 0: + return 1; + case 2: + g_signal_stop_emission_by_name (G_OBJECT (wid), + "key_press_event"); + return 1; + } + } + last = kb; + kb = kb->next; + } + + switch (keyval) + { + case GDK_space: + key_action_tab_clean (); + break; + +#if defined(USE_GTKSPELL) && !defined(WIN32) + /* gtktextview has no 'activate' event, so we trap ENTER here */ + case GDK_Return: + case GDK_KP_Enter: + if (!(evt->state & GDK_CONTROL_MASK)) + { + g_signal_stop_emission_by_name (G_OBJECT (wid), "key_press_event"); + mg_inputbox_cb (wid, sess->gui); + } +#endif + } + + return 0; +} + +/* Walks keys_root and free()'s everything */ +/*static void +key_free_all () +{ + struct key_binding *cur, *next; + + cur = keys_root; + while (cur) + { + next = cur->next; + if (cur->data1) + free (cur->data1); + if (cur->data2) + free (cur->data2); + free (cur); + cur = next; + } + keys_root = NULL; +}*/ + +/* Turns mod flags into a C-A-S string */ +static char * +key_make_mod_str (int mod, char *buf) +{ + int i = 0; + + if (mod & STATE_CTRL) + { + if (i) + buf[i++] = '-'; + buf[i++] = 'C'; + } + if (mod & STATE_ALT) + { + if (i) + buf[i++] = '-'; + buf[i++] = 'A'; + } + if (mod & STATE_SHIFT) + { + if (i) + buf[i++] = '-'; + buf[i++] = 'S'; + } + buf[i] = 0; + return buf; +} + +/* ***** GUI code here ******************* */ + +/* NOTE: The key_dialog defin is above --AGL */ +static GtkWidget *key_dialog_act_menu, *key_dialog_kb_clist; +static GtkWidget *key_dialog_tog_c, *key_dialog_tog_s, *key_dialog_tog_a; +static GtkWidget *key_dialog_ent_key, *key_dialog_ent_d1, *key_dialog_ent_d2; +static GtkWidget *key_dialog_text; + +static void +key_load_defaults () +{ + /* This is the default config */ +#define defcfg \ + "C\nPrior\nChange Page\nD1:-1\nD2:Relative\n\n"\ + "C\nNext\nChange Page\nD1:1\nD2:Relative\n\n"\ + "A\n9\nChange Page\nD1:9\nD2!\n\n"\ + "A\n8\nChange Page\nD1:8\nD2!\n\n"\ + "A\n7\nChange Page\nD1:7\nD2!\n\n"\ + "A\n6\nChange Page\nD1:6\nD2!\n\n"\ + "A\n5\nChange Page\nD1:5\nD2!\n\n"\ + "A\n4\nChange Page\nD1:4\nD2!\n\n"\ + "A\n3\nChange Page\nD1:3\nD2!\n\n"\ + "A\n2\nChange Page\nD1:2\nD2!\n\n"\ + "A\n1\nChange Page\nD1:1\nD2!\n\n"\ + "C\no\nInsert in Buffer\nD1:\nD2!\n\n"\ + "C\nb\nInsert in Buffer\nD1:\nD2!\n\n"\ + "C\nk\nInsert in Buffer\nD1:\nD2!\n\n"\ + "S\nNext\nChange Selected Nick\nD1!\nD2!\n\n"\ + "S\nPrior\nChange Selected Nick\nD1:Up\nD2!\n\n"\ + "None\nNext\nScroll Page\nD1:Down\nD2!\n\n"\ + "None\nPrior\nScroll Page\nD1:Up\nD2!\n\n"\ + "S\nDown\nScroll Page\nD1:+1\nD2!\n\n"\ + "S\nUp\nScroll Page\nD1:-1\nD2!\n\n"\ + "None\nDown\nNext Command\nD1!\nD2!\n\n"\ + "None\nUp\nLast Command\nD1!\nD2!\n\n"\ + "None\nTab\nComplete nick/command\nD1!\nD2!\n\n"\ + "None\nspace\nCheck For Replace\nD1!\nD2!\n\n"\ + "None\nReturn\nCheck For Replace\nD1!\nD2!\n\n"\ + "None\nKP_Enter\nCheck For Replace\nD1!\nD2!\n\n"\ + "C\nTab\nComplete nick/command\nD1:Up\nD2!\n\n"\ + "A\nLeft\nMove front tab left\nD1!\nD2!\n\n"\ + "A\nRight\nMove front tab right\nD1!\nD2!\n\n"\ + "CS\nPrior\nMove tab family left\nD1!\nD2!\n\n"\ + "CS\nNext\nMove tab family right\nD1!\nD2!\n\n"\ + "None\nF9\nRun Command\nD1:/GUI MENU TOGGLE\nD2!\n\n" + int fd; + + fd = xchat_open_file ("keybindings.conf", O_CREAT | O_TRUNC | O_WRONLY, 0x180, XOF_DOMODE); + if (fd < 0) + /* ???!!! */ + return; + + write (fd, defcfg, strlen (defcfg)); + close (fd); +} + +static void +key_dialog_close () +{ + key_dialog = NULL; + key_save_kbs (NULL); +} + +static void +key_dialog_add_new (GtkWidget * button, GtkCList * list) +{ + gchar *strs[] = { "", NULL, NULL, NULL, NULL }; + struct key_binding *kb; + + strs[1] = _("<none>"); + strs[2] = _("<none>"); + strs[3] = _("<none>"); + strs[4] = _("<none>"); + + kb = malloc (sizeof (struct key_binding)); + + kb->keyval = 0; + kb->keyname = NULL; + kb->action = -1; + kb->mod = 0; + kb->data1 = kb->data2 = NULL; + kb->next = keys_root; + + keys_root = kb; + + gtk_clist_set_row_data (GTK_CLIST (list), + gtk_clist_append (GTK_CLIST (list), strs), kb); + +} + +static void +key_dialog_delete (GtkWidget * button, GtkCList * list) +{ + struct key_binding *kb, *cur, *last; + int row = gtkutil_clist_selection ((GtkWidget *) list); + + if (row != -1) + { + kb = gtk_clist_get_row_data (list, row); + cur = keys_root; + last = NULL; + while (cur) + { + if (cur == kb) + { + if (last) + last->next = kb->next; + else + keys_root = kb->next; + + if (kb->data1) + free (kb->data1); + if (kb->data2) + free (kb->data2); + free (kb); + gtk_clist_remove (list, row); + return; + } + last = cur; + cur = cur->next; + } + printf ("*** key_dialog_delete: couldn't find kb in list!\n"); + /*if (getenv ("XCHAT_DEBUG")) + abort ();*/ + } +} + +static void +key_print_text (GtkXText *xtext, char *text) +{ + unsigned int old = prefs.timestamp; + prefs.timestamp = 0; /* temporarily disable stamps */ + gtk_xtext_clear (GTK_XTEXT (xtext)->buffer, 0); + PrintTextRaw (GTK_XTEXT (xtext)->buffer, text, 0, 0); + prefs.timestamp = old; +} + +static void +key_dialog_sel_act (GtkWidget * un, int num) +{ + int row = gtkutil_clist_selection (key_dialog_kb_clist); + struct key_binding *kb; + + if (row != -1) + { + kb = gtk_clist_get_row_data (GTK_CLIST (key_dialog_kb_clist), row); + kb->action = num; + gtk_clist_set_text (GTK_CLIST (key_dialog_kb_clist), row, 2, + _(key_actions[num].name)); + if (key_actions[num].help) + { + key_print_text (GTK_XTEXT (key_dialog_text), _(key_actions[num].help)); + } + } +} + +static void +key_dialog_sel_row (GtkWidget * clist, gint row, gint column, + GdkEventButton * evt, gpointer data) +{ + struct key_binding *kb = gtk_clist_get_row_data (GTK_CLIST (clist), row); + + if (kb == NULL) + { + printf ("*** key_dialog_sel_row: kb == NULL\n"); + abort (); + } + if (kb->action > -1 && kb->action <= KEY_MAX_ACTIONS) + { + gtk_option_menu_set_history (GTK_OPTION_MENU (key_dialog_act_menu), + kb->action); + if (key_actions[kb->action].help) + { + key_print_text (GTK_XTEXT (key_dialog_text), _(key_actions[kb->action].help)); + } + } + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (key_dialog_tog_c), + (kb->mod & STATE_CTRL) == STATE_CTRL); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (key_dialog_tog_s), + (kb->mod & STATE_SHIFT) == STATE_SHIFT); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (key_dialog_tog_a), + (kb->mod & STATE_ALT) == STATE_ALT); + + if (kb->data1) + gtk_entry_set_text (GTK_ENTRY (key_dialog_ent_d1), kb->data1); + else + gtk_entry_set_text (GTK_ENTRY (key_dialog_ent_d1), ""); + + if (kb->data2) + gtk_entry_set_text (GTK_ENTRY (key_dialog_ent_d2), kb->data2); + else + gtk_entry_set_text (GTK_ENTRY (key_dialog_ent_d2), ""); + + if (kb->keyname) + gtk_entry_set_text (GTK_ENTRY (key_dialog_ent_key), kb->keyname); + else + gtk_entry_set_text (GTK_ENTRY (key_dialog_ent_key), ""); +} + +static void +key_dialog_tog_key (GtkWidget * tog, int kstate) +{ + int state = GTK_TOGGLE_BUTTON (tog)->active; + int row = gtkutil_clist_selection (key_dialog_kb_clist); + struct key_binding *kb; + char buf[32]; + + if (row == -1) + return; + + kb = gtk_clist_get_row_data (GTK_CLIST (key_dialog_kb_clist), row); + if (state) + kb->mod |= kstate; + else + kb->mod &= ~kstate; + + gtk_clist_set_text (GTK_CLIST (key_dialog_kb_clist), row, 0, + key_make_mod_str (kb->mod, buf)); +} + +static GtkWidget * +key_dialog_make_toggle (char *label, void *callback, void *option, + GtkWidget * box) +{ + GtkWidget *wid; + + wid = gtk_check_button_new_with_label (label); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), 0); + gtk_signal_connect (GTK_OBJECT (wid), "toggled", + GTK_SIGNAL_FUNC (callback), option); + gtk_box_pack_end (GTK_BOX (box), wid, 0, 0, 0); + gtk_widget_show (wid); + + return wid; +} + +static GtkWidget * +key_dialog_make_entry (char *label, char *act, void *callback, void *option, + GtkWidget * box) +{ + GtkWidget *wid, *hbox;; + + hbox = gtk_hbox_new (0, 2); + if (label) + { + wid = gtk_label_new (label); + gtk_widget_show (wid); + gtk_box_pack_start (GTK_BOX (hbox), wid, 0, 0, 0); + } + wid = gtk_entry_new (); + if (act) + { + gtk_signal_connect (GTK_OBJECT (wid), act, GTK_SIGNAL_FUNC (callback), + option); + } + gtk_box_pack_start (GTK_BOX (hbox), wid, 0, 0, 0); + gtk_widget_show (wid); + gtk_widget_show (hbox); + + gtk_box_pack_start (GTK_BOX (box), hbox, 0, 0, 0); + + return wid; +} + +static void +key_dialog_set_key (GtkWidget * entry, GdkEventKey * evt, void *none) +{ + int row = gtkutil_clist_selection (key_dialog_kb_clist); + struct key_binding *kb; + + gtk_entry_set_text (GTK_ENTRY (entry), ""); + + if (row == -1) + return; + + kb = gtk_clist_get_row_data (GTK_CLIST (key_dialog_kb_clist), row); + kb->keyval = evt->keyval; + kb->keyname = key_get_key_name (kb->keyval); + gtk_clist_set_text (GTK_CLIST (key_dialog_kb_clist), row, 1, kb->keyname); + gtk_entry_set_text (GTK_ENTRY (entry), kb->keyname); + g_signal_stop_emission_by_name (G_OBJECT (entry), "key_press_event"); +} + +static void +key_dialog_set_data (GtkWidget * entry, int d) +{ + const char *text = gtk_entry_get_text (GTK_ENTRY (entry)); + int row = gtkutil_clist_selection (key_dialog_kb_clist); + struct key_binding *kb; + char *buf; + int len = strlen (text); + + len++; + + if (row == -1) + return; + + kb = gtk_clist_get_row_data (GTK_CLIST (key_dialog_kb_clist), row); + if (d == 0) + { /* using data1 */ + if (kb->data1) + free (kb->data1); + buf = (char *) malloc (len); + memcpy (buf, text, len); + kb->data1 = buf; + gtk_clist_set_text (GTK_CLIST (key_dialog_kb_clist), row, 3, text); + } else + { + if (kb->data2) + free (kb->data2); + buf = (char *) malloc (len); + memcpy (buf, text, len); + kb->data2 = buf; + gtk_clist_set_text (GTK_CLIST (key_dialog_kb_clist), row, 4, text); + } +} + +void +key_dialog_show () +{ + GtkWidget *vbox, *hbox, *list, *vbox2, *wid, *wid2, *wid3, *hbox2; + struct key_binding *kb; + gchar *titles[] = { NULL, NULL, NULL, "1", "2" }; + char temp[32]; + int i; + + titles[0] = _("Mod"); + titles[1] = _("Key"); + titles[2] = _("Action"); + + if (key_dialog) + { + mg_bring_tofront (key_dialog); + return; + } + + key_dialog = + mg_create_generic_tab ("editkeys", _("XChat: Keyboard Shortcuts"), + TRUE, FALSE, key_dialog_close, NULL, 560, 330, &vbox, 0); + + hbox = gtk_hbox_new (0, 2); + gtk_box_pack_start (GTK_BOX (vbox), hbox, 1, 1, 0); + + list = gtkutil_clist_new (5, titles, hbox, 0, key_dialog_sel_row, 0, NULL, + 0, GTK_SELECTION_SINGLE); + gtk_widget_set_usize (list, 400, 0); + key_dialog_kb_clist = list; + + gtk_widget_show (hbox); + + kb = keys_root; + + gtk_clist_set_column_width (GTK_CLIST (list), 1, 50); + gtk_clist_set_column_width (GTK_CLIST (list), 2, 120); + gtk_clist_set_column_width (GTK_CLIST (list), 3, 50); + gtk_clist_set_column_width (GTK_CLIST (list), 4, 50); + + while (kb) + { + titles[0] = key_make_mod_str (kb->mod, temp); + titles[1] = kb->keyname; + if (kb->action < 0 || kb->action > KEY_MAX_ACTIONS) + titles[2] = _("<none>"); + else + titles[2] = key_actions[kb->action].name; + if (kb->data1) + titles[3] = kb->data1; + else + titles[3] = _("<none>"); + + if (kb->data2) + titles[4] = kb->data2; + else + titles[4] = _("<none>"); + + gtk_clist_set_row_data (GTK_CLIST (list), + gtk_clist_append (GTK_CLIST (list), titles), + kb); + + kb = kb->next; + } + + vbox2 = gtk_vbox_new (0, 2); + gtk_box_pack_end (GTK_BOX (hbox), vbox2, 1, 1, 0); + wid = gtk_button_new_with_label (_("Add New")); + gtk_box_pack_start (GTK_BOX (vbox2), wid, 0, 0, 0); + gtk_signal_connect (GTK_OBJECT (wid), "clicked", + GTK_SIGNAL_FUNC (key_dialog_add_new), list); + gtk_widget_show (wid); + wid = gtk_button_new_with_label (_("Delete")); + gtk_box_pack_start (GTK_BOX (vbox2), wid, 0, 0, 0); + gtk_signal_connect (GTK_OBJECT (wid), "clicked", + GTK_SIGNAL_FUNC (key_dialog_delete), list); + gtk_widget_show (wid); + gtk_widget_show (vbox2); + + wid = gtk_option_menu_new (); + wid2 = gtk_menu_new (); + + for (i = 0; i <= KEY_MAX_ACTIONS; i++) + { + wid3 = gtk_menu_item_new_with_label (_(key_actions[i].name)); + gtk_widget_show (wid3); + gtk_menu_shell_append (GTK_MENU_SHELL (wid2), wid3); + gtk_signal_connect (GTK_OBJECT (wid3), "activate", + GTK_SIGNAL_FUNC (key_dialog_sel_act), + GINT_TO_POINTER (i)); + } + + gtk_option_menu_set_menu (GTK_OPTION_MENU (wid), wid2); + gtk_option_menu_set_history (GTK_OPTION_MENU (wid), 0); + gtk_box_pack_end (GTK_BOX (vbox2), wid, 0, 0, 0); + gtk_widget_show (wid); + key_dialog_act_menu = wid; + + key_dialog_tog_s = key_dialog_make_toggle (_("Shift"), key_dialog_tog_key, + (void *) STATE_SHIFT, vbox2); + key_dialog_tog_a = key_dialog_make_toggle (_("Alt"), key_dialog_tog_key, + (void *) STATE_ALT, vbox2); + key_dialog_tog_c = key_dialog_make_toggle (_("Ctrl"), key_dialog_tog_key, + (void *) STATE_CTRL, vbox2); + + key_dialog_ent_key = key_dialog_make_entry (_("Key"), "key_press_event", + key_dialog_set_key, NULL, + vbox2); + + key_dialog_ent_d1 = key_dialog_make_entry (_("Data 1"), "activate", + key_dialog_set_data, NULL, + vbox2); + key_dialog_ent_d2 = key_dialog_make_entry (_("Data 2"), "activate", + key_dialog_set_data, + (void *) 1, vbox2); + + hbox2 = gtk_hbox_new (0, 2); + gtk_box_pack_end (GTK_BOX (vbox), hbox2, 0, 0, 1); + + wid = gtk_xtext_new (colors, 0); + gtk_xtext_set_tint (GTK_XTEXT (wid), prefs.tint_red, prefs.tint_green, prefs.tint_blue); + gtk_xtext_set_background (GTK_XTEXT (wid), + channelwin_pix, + prefs.transparent); + gtk_widget_set_usize (wid, 0, 75); + gtk_box_pack_start (GTK_BOX (hbox2), wid, 1, 1, 1); + gtk_xtext_set_font (GTK_XTEXT (wid), prefs.font_normal); + gtk_widget_show (wid); + + wid2 = gtk_vscrollbar_new (GTK_XTEXT (wid)->adj); + gtk_box_pack_start (GTK_BOX (hbox2), wid2, 0, 0, 0); + gtk_widget_show (wid2); + + gtk_widget_show (hbox2); + key_dialog_text = wid; + + gtk_widget_show_all (key_dialog); +} + +static void +key_save_kbs (char *fn) +{ + int fd, i; + char buf[512]; + struct key_binding *kb; + + if (!fn) + fd = xchat_open_file ("keybindings.conf", O_CREAT | O_TRUNC | O_WRONLY, + 0x180, XOF_DOMODE); + else + fd = xchat_open_file (fn, O_CREAT | O_TRUNC | O_WRONLY, + 0x180, XOF_DOMODE | XOF_FULLPATH); + if (fd < 0) + { + fe_message (_("Error opening keys config file\n"), FE_MSG_ERROR); + return; + } + write (fd, buf, + snprintf (buf, 510, "# XChat key bindings config file\n\n")); + + kb = keys_root; + i = 0; + + while (kb) + { + if (kb->keyval == -1 || kb->keyname == NULL || kb->action < 0) + { + kb = kb->next; + continue; + } + i = 0; + if (kb->mod & STATE_CTRL) + { + i++; + write (fd, "C", 1); + } + if (kb->mod & STATE_ALT) + { + i++; + write (fd, "A", 1); + } + if (kb->mod & STATE_SHIFT) + { + i++; + write (fd, "S", 1); + } + if (i == 0) + write (fd, "None\n", 5); + else + write (fd, "\n", 1); + + write (fd, buf, snprintf (buf, 510, "%s\n%s\n", kb->keyname, + key_actions[kb->action].name)); + if (kb->data1 && kb->data1[0]) + write (fd, buf, snprintf (buf, 510, "D1:%s\n", kb->data1)); + else + write (fd, "D1!\n", 4); + + if (kb->data2 && kb->data2[0]) + write (fd, buf, snprintf (buf, 510, "D2:%s\n", kb->data2)); + else + write (fd, "D2!\n", 4); + + write (fd, "\n", 1); + + kb = kb->next; + } + + close (fd); +} + +/* I just know this is going to be a nasty parse, if you think it's bugged + it almost certainly is so contact the XChat dev team --AGL */ + +static inline int +key_load_kbs_helper_mod (char *in, int *out) +{ + int n, len, mod = 0; + + /* First strip off the fluff */ + while (in[0] == ' ' || in[0] == '\t') + in++; + len = strlen (in); + while (in[len] == ' ' || in[len] == '\t') + { + in[len] = 0; + len--; + } + + if (strcmp (in, "None") == 0) + { + *out = 0; + return 0; + } + for (n = 0; n < len; n++) + { + switch (in[n]) + { + case 'C': + mod |= STATE_CTRL; + break; + case 'A': + mod |= STATE_ALT; + break; + case 'S': + mod |= STATE_SHIFT; + break; + default: + return 1; + } + } + + *out = mod; + return 0; +} + +/* These are just local defines to keep me sane --AGL */ + +#define KBSTATE_MOD 0 +#define KBSTATE_KEY 1 +#define KBSTATE_ACT 2 +#define KBSTATE_DT1 3 +#define KBSTATE_DT2 4 + +/* *** Warning, Warning! - massive function ahead! --AGL */ + +static int +key_load_kbs (char *filename) +{ + char *buf, *ibuf; + struct stat st; + struct key_binding *kb = NULL, *last = NULL; + int fd, len, pnt = 0, state = 0, n; + + if (filename == NULL) + fd = xchat_open_file ("keybindings.conf", O_RDONLY, 0, 0); + else + fd = xchat_open_file (filename, O_RDONLY, 0, XOF_FULLPATH); + if (fd < 0) + return 1; + if (fstat (fd, &st) != 0) + return 1; + ibuf = malloc (st.st_size); + read (fd, ibuf, st.st_size); + close (fd); + + while (buf_get_line (ibuf, &buf, &pnt, st.st_size)) + { + if (buf[0] == '#') + continue; + if (strlen (buf) == 0) + continue; + + switch (state) + { + case KBSTATE_MOD: + kb = (struct key_binding *) malloc (sizeof (struct key_binding)); + if (key_load_kbs_helper_mod (buf, &kb->mod)) + goto corrupt_file; + state = KBSTATE_KEY; + continue; + case KBSTATE_KEY: + /* First strip off the fluff */ + while (buf[0] == ' ' || buf[0] == '\t') + buf++; + len = strlen (buf); + while (buf[len] == ' ' || buf[len] == '\t') + { + buf[len] = 0; + len--; + } + + n = gdk_keyval_from_name (buf); + if (n == 0) + { + /* Unknown keyname, abort */ + if (last) + last->next = NULL; + free (ibuf); + ibuf = malloc (1024); + snprintf (ibuf, 1024, + _("Unknown keyname %s in key bindings config file\nLoad aborted, please fix %s/keybindings.conf\n"), + buf, get_xdir_utf8 ()); + fe_message (ibuf, FE_MSG_ERROR); + free (ibuf); + return 2; + } + kb->keyname = gdk_keyval_name (n); + kb->keyval = n; + + state = KBSTATE_ACT; + continue; + case KBSTATE_ACT: + /* First strip off the fluff */ + while (buf[0] == ' ' || buf[0] == '\t') + buf++; + len = strlen (buf); + while (buf[len] == ' ' || buf[len] == '\t') + { + buf[len] = 0; + len--; + } + + for (n = 0; n < KEY_MAX_ACTIONS + 1; n++) + { + if (strcmp (key_actions[n].name, buf) == 0) + { + kb->action = n; + break; + } + } + + if (n == KEY_MAX_ACTIONS + 1) + { + if (last) + last->next = NULL; + free (ibuf); + ibuf = malloc (1024); + snprintf (ibuf, 1024, + _("Unknown action %s in key bindings config file\nLoad aborted, Please fix %s/keybindings\n"), + buf, get_xdir_utf8 ()); + fe_message (ibuf, FE_MSG_ERROR); + free (ibuf); + return 3; + } + state = KBSTATE_DT1; + continue; + case KBSTATE_DT1: + case KBSTATE_DT2: + if (state == KBSTATE_DT1) + kb->data1 = kb->data2 = NULL; + + while (buf[0] == ' ' || buf[0] == '\t') + buf++; + + if (buf[0] != 'D') + { + free (ibuf); + ibuf = malloc (1024); + snprintf (ibuf, 1024, + _("Expecting Data line (beginning Dx{:|!}) but got:\n%s\n\nLoad aborted, Please fix %s/keybindings\n"), + buf, get_xdir_utf8 ()); + fe_message (ibuf, FE_MSG_ERROR); + free (ibuf); + return 4; + } + switch (buf[1]) + { + case '1': + if (state != KBSTATE_DT1) + goto corrupt_file; + break; + case '2': + if (state != KBSTATE_DT2) + goto corrupt_file; + break; + default: + goto corrupt_file; + } + + if (buf[2] == ':') + { + len = strlen (buf); + /* Add one for the NULL, subtract 3 for the "Dx:" */ + len++; + len -= 3; + if (state == KBSTATE_DT1) + { + kb->data1 = malloc (len); + memcpy (kb->data1, &buf[3], len); + } else + { + kb->data2 = malloc (len); + memcpy (kb->data2, &buf[3], len); + } + } else if (buf[2] == '!') + { + if (state == KBSTATE_DT1) + kb->data1 = NULL; + else + kb->data2 = NULL; + } + if (state == KBSTATE_DT1) + { + state = KBSTATE_DT2; + continue; + } else + { + if (last) + last->next = kb; + else + keys_root = kb; + last = kb; + + state = KBSTATE_MOD; + } + + continue; + } + } + if (last) + last->next = NULL; + free (ibuf); + return 0; + + corrupt_file: + /*if (getenv ("XCHAT_DEBUG")) + abort ();*/ + snprintf (ibuf, 1024, + _("Key bindings config file is corrupt, load aborted\n" + "Please fix %s/keybindings.conf\n"), + get_xdir_utf8 ()); + fe_message (ibuf, FE_MSG_ERROR); + free (ibuf); + return 5; +} + +/* ***** Key actions start here *********** */ + +/* See the NOTES above --AGL */ + +/* "Run command" */ +static int +key_action_handle_command (GtkWidget * wid, GdkEventKey * evt, char *d1, + char *d2, struct session *sess) +{ + int ii, oi, len; + char out[2048], d = 0; + + if (!d1) + return 0; + + len = strlen (d1); + + /* Replace each "\n" substring with '\n' */ + for (ii = oi = 0; ii < len; ii++) + { + d = d1[ii]; + if (d == '\\') + { + ii++; + d = d1[ii]; + if (d == 'n') + out[oi++] = '\n'; + else if (d == '\\') + out[oi++] = '\\'; + else + { + out[oi++] = '\\'; + out[oi++] = d; + } + continue; + } + out[oi++] = d; + } + out[oi] = 0; + + handle_multiline (sess, out, 0, 0); + return 0; +} + +static int +key_action_page_switch (GtkWidget * wid, GdkEventKey * evt, char *d1, + char *d2, struct session *sess) +{ + int len, i, num; + + if (!d1) + return 1; + + len = strlen (d1); + if (!len) + return 1; + + for (i = 0; i < len; i++) + { + if (d1[i] < '0' || d1[i] > '9') + { + if (i == 0 && (d1[i] == '+' || d1[i] == '-')) + continue; + else + return 1; + } + } + + num = atoi (d1); + if (!d2) + num--; + if (!d2 || d2[0] == 0) + mg_switch_page (FALSE, num); + else + mg_switch_page (TRUE, num); + return 0; +} + +int +key_action_insert (GtkWidget * wid, GdkEventKey * evt, char *d1, char *d2, + struct session *sess) +{ + int tmp_pos; + + if (!d1) + return 1; + + tmp_pos = SPELL_ENTRY_GET_POS (wid); + SPELL_ENTRY_INSERT (wid, d1, strlen (d1), &tmp_pos); + SPELL_ENTRY_SET_POS (wid, tmp_pos); + return 2; +} + +/* handles PageUp/Down keys */ +static int +key_action_scroll_page (GtkWidget * wid, GdkEventKey * evt, char *d1, + char *d2, struct session *sess) +{ + int value, end; + GtkAdjustment *adj; + enum scroll_type { PAGE_UP, PAGE_DOWN, LINE_UP, LINE_DOWN }; + int type = PAGE_DOWN; + + if (d1) + { + if (!strcasecmp (d1, "up")) + type = PAGE_UP; + else if (!strcasecmp (d1, "+1")) + type = LINE_DOWN; + else if (!strcasecmp (d1, "-1")) + type = LINE_UP; + } + + if (!sess) + return 0; + + adj = GTK_RANGE (sess->gui->vscrollbar)->adjustment; + end = adj->upper - adj->lower - adj->page_size; + + switch (type) + { + case LINE_UP: + value = adj->value - 1.0; + break; + + case LINE_DOWN: + value = adj->value + 1.0; + break; + + case PAGE_UP: + value = adj->value - (adj->page_size - 1); + break; + + default: /* PAGE_DOWN */ + value = adj->value + (adj->page_size - 1); + break; + } + + if (value < 0) + value = 0; + if (value > end) + value = end; + + gtk_adjustment_set_value (adj, value); + + return 0; +} + +static int +key_action_set_buffer (GtkWidget * wid, GdkEventKey * evt, char *d1, char *d2, + struct session *sess) +{ + if (!d1) + return 1; + if (d1[0] == 0) + return 1; + + SPELL_ENTRY_SET_TEXT (wid, d1); + SPELL_ENTRY_SET_POS (wid, -1); + + return 2; +} + +static int +key_action_history_up (GtkWidget * wid, GdkEventKey * ent, char *d1, char *d2, + struct session *sess) +{ + char *new_line; + + new_line = history_up (&sess->history, SPELL_ENTRY_GET_TEXT (wid)); + if (new_line) + { + SPELL_ENTRY_SET_TEXT (wid, new_line); + SPELL_ENTRY_SET_POS (wid, -1); + } + + return 2; +} + +static int +key_action_history_down (GtkWidget * wid, GdkEventKey * ent, char *d1, + char *d2, struct session *sess) +{ + char *new_line; + + new_line = history_down (&sess->history); + if (new_line) + { + SPELL_ENTRY_SET_TEXT (wid, new_line); + SPELL_ENTRY_SET_POS (wid, -1); + } + + return 2; +} + +/* old data that we reuse */ +static struct gcomp_data old_gcomp; + +/* work on the data, ie return only channels */ +static int +double_chan_cb (session *lsess, GList **list) +{ + if (lsess->type == SESS_CHANNEL) + *list = g_list_prepend(*list, lsess->channel); + return TRUE; +} + +/* convert a slist -> list. */ +static GList * +chanlist_double_list (GSList *inlist) +{ + GList *list = NULL; + g_slist_foreach(inlist, (GFunc)double_chan_cb, &list); + return list; +} + +/* handle commands */ +static int +double_cmd_cb (struct popup *pop, GList **list) +{ + *list = g_list_prepend(*list, pop->name); + return TRUE; +} + +/* convert a slist -> list. */ +static GList * +cmdlist_double_list (GSList *inlist) +{ + GList *list = NULL; + g_slist_foreach (inlist, (GFunc)double_cmd_cb, &list); + return list; +} + +static char * +gcomp_nick_func (char *data) +{ + if (data) + return ((struct User *)data)->nick; + return ""; +} + +void +key_action_tab_clean(void) +{ + if (old_gcomp.elen) + { + old_gcomp.data[0] = 0; + old_gcomp.elen = 0; + } +} + +/* Used in the followig completers */ +#define COMP_BUF 2048 + +/* For use in sorting the user list for completion */ +static int +talked_recent_cmp (struct User *a, struct User *b) +{ + if (a->lasttalk < b->lasttalk) + return -1; + + if (a->lasttalk > b->lasttalk) + return 1; + + return 0; +} + +static int +key_action_tab_comp (GtkWidget *t, GdkEventKey *entry, char *d1, char *d2, + struct session *sess) +{ + int len = 0, elen = 0, i = 0, cursor_pos, ent_start = 0, comp = 0, found = 0, + prefix_len, skip_len = 0, is_nick, is_cmd = 0; + char buf[COMP_BUF], ent[CHANLEN], *postfix = NULL, *result, *ch; + GList *list = NULL, *tmp_list = NULL; + const char *text; + GCompletion *gcomp = NULL; + + /* force the IM Context to reset */ + SPELL_ENTRY_SET_EDITABLE (t, FALSE); + SPELL_ENTRY_SET_EDITABLE (t, TRUE); + + text = SPELL_ENTRY_GET_TEXT (t); + if (text[0] == 0) + return 1; + + len = g_utf8_strlen (text, -1); /* must be null terminated */ + + cursor_pos = SPELL_ENTRY_GET_POS (t); + + buf[0] = 0; /* make sure we don't get garbage in the buffer */ + + /* handle "nick: " or "nick " or "#channel "*/ + ch = g_utf8_find_prev_char(text, g_utf8_offset_to_pointer(text,cursor_pos)); + if (ch && ch[0] == ' ') + { + skip_len++; + ch = g_utf8_find_prev_char(text, ch); + if (!ch) + return 2; + + cursor_pos = g_utf8_pointer_to_offset(text, ch); + if (cursor_pos && (g_utf8_get_char_validated(ch, -1) == ':' || + g_utf8_get_char_validated(ch, -1) == ',' || + g_utf8_get_char_validated(ch, -1) == prefs.nick_suffix[0])) + { + skip_len++; + } + else + cursor_pos = g_utf8_pointer_to_offset(text, g_utf8_offset_to_pointer(ch, 1)); + } + + comp = skip_len; + + /* store the text following the cursor for reinsertion later */ + if ((cursor_pos + skip_len) < len) + postfix = g_utf8_offset_to_pointer(text, cursor_pos + skip_len); + + for (ent_start = cursor_pos; ; --ent_start) + { + if (ent_start == 0) + break; + ch = g_utf8_offset_to_pointer(text, ent_start - 1); + if (ch && ch[0] == ' ') + break; + } + + if (ent_start == 0 && text[0] == prefs.cmdchar[0]) + { + ent_start++; + is_cmd = 1; + } + + prefix_len = ent_start; + elen = cursor_pos - ent_start; + + g_utf8_strncpy (ent, g_utf8_offset_to_pointer (text, prefix_len), elen); + + is_nick = (ent[0] == '#' || ent[0] == '&' || is_cmd) ? 0 : 1; + + if (sess->type == SESS_DIALOG && is_nick) + { + /* tab in a dialog completes the other person's name */ + if (rfc_ncasecmp (sess->channel, ent, elen) == 0) + { + result = sess->channel; + is_nick = 0; + } + else + return 2; + } + else + { + if (is_nick) + { + gcomp = g_completion_new((GCompletionFunc)gcomp_nick_func); + tmp_list = userlist_double_list(sess); /* create a temp list so we can free the memory */ + if (prefs.completion_sort == 1) /* sort in last-talk order? */ + tmp_list = g_list_sort (tmp_list, (void *)talked_recent_cmp); + } + else + { + gcomp = g_completion_new (NULL); + if (is_cmd) + { + tmp_list = cmdlist_double_list (command_list); + for(i = 0; xc_cmds[i].name != NULL ; i++) + { + tmp_list = g_list_prepend (tmp_list, xc_cmds[i].name); + } + tmp_list = plugin_command_list(tmp_list); + } + else + tmp_list = chanlist_double_list (sess_list); + } + tmp_list = g_list_reverse(tmp_list); /* make the comp entries turn up in the right order */ + g_completion_set_compare (gcomp, (GCompletionStrncmpFunc)rfc_ncasecmp); + if (tmp_list) + { + g_completion_add_items (gcomp, tmp_list); + g_list_free (tmp_list); + } + + if (comp && !(rfc_ncasecmp(old_gcomp.data, ent, old_gcomp.elen) == 0)) + { + key_action_tab_clean (); + comp = 0; + } + +#if GLIB_CHECK_VERSION(2,4,0) + list = g_completion_complete_utf8 (gcomp, comp ? old_gcomp.data : ent, &result); +#else + list = g_completion_complete (gcomp, comp ? old_gcomp.data : ent, &result); +#endif + + if (result == NULL) /* No matches found */ + { + g_completion_free(gcomp); + return 2; + } + + if (comp) /* existing completion */ + { + while(list) /* find the current entry */ + { + if(rfc_ncasecmp(list->data, ent, elen) == 0) + { + found = 1; + break; + } + list = list->next; + } + + if (found) + { + if (!(d1 && d1[0])) /* not holding down shift */ + { + if (g_list_next(list) == NULL) + list = g_list_first(list); + else + list = g_list_next(list); + } + else + { + if (g_list_previous(list) == NULL) + list = g_list_last(list); + else + list = g_list_previous(list); + } + g_free(result); + result = (char*)list->data; + } + else + { + g_free(result); + g_completion_free(gcomp); + return 2; + } + } + else + { + strcpy(old_gcomp.data, ent); + old_gcomp.elen = elen; + + /* Get the first nick and put out the data for future nickcompletes */ + if (prefs.completion_amount && g_list_length (list) <= prefs.completion_amount) + { + g_free(result); + result = (char*)list->data; + } + else + { + /* bash style completion */ + if (g_list_next(list) != NULL) + { + if (strlen (result) > elen) /* the largest common prefix is larger than nick, change the data */ + { + if (prefix_len) + g_utf8_strncpy (buf, text, prefix_len); + strncat (buf, result, COMP_BUF - prefix_len); + cursor_pos = strlen (buf); + g_free(result); +#if !GLIB_CHECK_VERSION(2,4,0) + g_utf8_validate (buf, -1, (const gchar **)&result); + (*result) = 0; +#endif + if (postfix) + { + strcat (buf, " "); + strncat (buf, postfix, COMP_BUF - cursor_pos -1); + } + SPELL_ENTRY_SET_TEXT (t, buf); + SPELL_ENTRY_SET_POS (t, g_utf8_pointer_to_offset(buf, buf + cursor_pos)); + buf[0] = 0; + } + else + g_free(result); + while (list) + { + len = strlen (buf); /* current buffer */ + elen = strlen (list->data); /* next item to add */ + if (len + elen + 2 >= COMP_BUF) /* +2 is space + null */ + { + PrintText (sess, buf); + buf[0] = 0; + len = 0; + } + strcpy (buf + len, (char *) list->data); + strcpy (buf + len + elen, " "); + list = list->next; + } + PrintText (sess, buf); + g_completion_free(gcomp); + return 2; + } + /* Only one matching entry */ + g_free(result); + result = list->data; + } + } + } + + if(result) + { + if (prefix_len) + g_utf8_strncpy(buf, text, prefix_len); + strncat (buf, result, COMP_BUF - (prefix_len + 3)); /* make sure nicksuffix and space fits */ + if(!prefix_len && is_nick) + strcat (buf, &prefs.nick_suffix[0]); + strcat (buf, " "); + cursor_pos = strlen (buf); + if (postfix) + strncat (buf, postfix, COMP_BUF - cursor_pos - 2); + SPELL_ENTRY_SET_TEXT (t, buf); + SPELL_ENTRY_SET_POS (t, g_utf8_pointer_to_offset(buf, buf + cursor_pos)); + } + if (gcomp) + g_completion_free(gcomp); + return 2; +} +#undef COMP_BUF + +static int +key_action_comp_chng (GtkWidget * wid, GdkEventKey * ent, char *d1, char *d2, + struct session *sess) +{ + key_action_tab_comp(wid, ent, d1, d2, sess); + return 2; +} + + +static int +key_action_replace (GtkWidget * wid, GdkEventKey * ent, char *d1, char *d2, + struct session *sess) +{ + replace_handle (wid); + return 1; +} + + +static int +key_action_move_tab_left (GtkWidget * wid, GdkEventKey * ent, char *d1, + char *d2, struct session *sess) +{ + mg_move_tab (sess, +1); + return 2; /* don't allow default action */ +} + +static int +key_action_move_tab_right (GtkWidget * wid, GdkEventKey * ent, char *d1, + char *d2, struct session *sess) +{ + mg_move_tab (sess, -1); + return 2; /* -''- */ +} + +static int +key_action_move_tab_family_left (GtkWidget * wid, GdkEventKey * ent, char *d1, + char *d2, struct session *sess) +{ + mg_move_tab_family (sess, +1); + return 2; /* don't allow default action */ +} + +static int +key_action_move_tab_family_right (GtkWidget * wid, GdkEventKey * ent, char *d1, + char *d2, struct session *sess) +{ + mg_move_tab_family (sess, -1); + return 2; /* -''- */ +} + +static int +key_action_put_history (GtkWidget * wid, GdkEventKey * ent, char *d1, + char *d2, struct session *sess) +{ + history_add (&sess->history, SPELL_ENTRY_GET_TEXT (wid)); + SPELL_ENTRY_SET_TEXT (wid, ""); + return 2; /* -''- */ +} + + +/* -------- */ + + +#define STATE_SHIFT GDK_SHIFT_MASK +#define STATE_ALT GDK_MOD1_MASK +#define STATE_CTRL GDK_CONTROL_MASK + +static void +replace_handle (GtkWidget *t) +{ + const char *text, *postfix_pnt; + struct popup *pop; + GSList *list = replace_list; + char word[256]; + char postfix[256]; + char outbuf[4096]; + int c, len, xlen; + + text = SPELL_ENTRY_GET_TEXT (t); + + len = strlen (text); + if (len < 1) + return; + + for (c = len - 1; c > 0; c--) + { + if (text[c] == ' ') + break; + } + if (text[c] == ' ') + c++; + xlen = c; + if (len - c >= (sizeof (word) - 12)) + return; + if (len - c < 1) + return; + memcpy (word, &text[c], len - c); + word[len - c] = 0; + len = strlen (word); + if (word[0] == '\'' && word[len] == '\'') + return; + postfix_pnt = NULL; + for (c = 0; c < len; c++) + { + if (word[c] == '\'') + { + postfix_pnt = &word[c + 1]; + word[c] = 0; + break; + } + } + + if (postfix_pnt != NULL) + { + if (strlen (postfix_pnt) > sizeof (postfix) - 12) + return; + strcpy (postfix, postfix_pnt); + } + while (list) + { + pop = (struct popup *) list->data; + if (strcmp (pop->name, word) == 0) + { + memcpy (outbuf, text, xlen); + outbuf[xlen] = 0; + if (postfix_pnt == NULL) + snprintf (word, sizeof (word), "%s", pop->cmd); + else + snprintf (word, sizeof (word), "%s%s", pop->cmd, postfix); + strcat (outbuf, word); + SPELL_ENTRY_SET_TEXT (t, outbuf); + SPELL_ENTRY_SET_POS (t, -1); + return; + } + list = list->next; + } +} + diff --git a/src/fe-gtk/fkeys.h b/src/fe-gtk/fkeys.h new file mode 100644 index 00000000..20cd4c73 --- /dev/null +++ b/src/fe-gtk/fkeys.h @@ -0,0 +1,5 @@ +void key_init (void); +void key_dialog_show (void); +int key_handle_key_press (GtkWidget * wid, GdkEventKey * evt, session *sess); +int key_action_insert (GtkWidget * wid, GdkEventKey * evt, char *d1, char *d2, + session *sess); diff --git a/src/fe-gtk/gtkutil.c b/src/fe-gtk/gtkutil.c new file mode 100644 index 00000000..63ab491b --- /dev/null +++ b/src/fe-gtk/gtkutil.c @@ -0,0 +1,675 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ +#define _FILE_OFFSET_BITS 64 /* allow selection of large files */ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <stdarg.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <unistd.h> +#include <fcntl.h> +#include "fe-gtk.h" + +#include <gtk/gtkbutton.h> +#include <gtk/gtkclist.h> +#include <gtk/gtkscrolledwindow.h> +#include <gtk/gtkmessagedialog.h> +#include <gtk/gtkwindow.h> +#include <gtk/gtkhbox.h> +#include <gtk/gtkimage.h> +#include <gtk/gtktooltips.h> +#include <gtk/gtklabel.h> +#include <gtk/gtkentry.h> +#include <gtk/gtkstock.h> +#include <gtk/gtkspinbutton.h> +#include <gtk/gtkclipboard.h> +#include <gtk/gtktreeview.h> +#include <gtk/gtktreeselection.h> +#include <gtk/gtkcellrenderertext.h> +#include <gtk/gtkcellrenderertoggle.h> +#include <gtk/gtkversion.h> +#include <gtk/gtkfilechooserdialog.h> + +#include "../common/xchat.h" +#include "../common/fe.h" +#include "../common/util.h" +#include "gtkutil.h" +#include "pixmaps.h" + +/* gtkutil.c, just some gtk wrappers */ + +extern void path_part (char *file, char *path, int pathlen); + + +struct file_req +{ + GtkWidget *dialog; + void *userdata; + filereqcallback callback; + int flags; /* FRF_* flags */ +}; + +static char last_dir[256] = ""; + + +static void +gtkutil_file_req_destroy (GtkWidget * wid, struct file_req *freq) +{ + freq->callback (freq->userdata, NULL); + free (freq); +} + +static void +gtkutil_check_file (char *file, struct file_req *freq) +{ + struct stat st; + int axs = FALSE; + + path_part (file, last_dir, sizeof (last_dir)); + + /* check if the file is readable or writable */ + if (freq->flags & FRF_WRITE) + { + if (access (last_dir, W_OK) == 0) + axs = TRUE; + } else + { + if (stat (file, &st) != -1) + { + if (!S_ISDIR (st.st_mode) || (freq->flags & FRF_CHOOSEFOLDER)) + axs = TRUE; + } + } + + if (axs) + { + char *utf8_file; + /* convert to UTF8. It might be converted back to locale by + server.c's g_convert */ + utf8_file = xchat_filename_to_utf8 (file, -1, NULL, NULL, NULL); + if (utf8_file) + { + freq->callback (freq->userdata, utf8_file); + g_free (utf8_file); + } else + { + fe_message ("Filename encoding is corrupt.", FE_MSG_ERROR); + } + } else + { + if (freq->flags & FRF_WRITE) + fe_message (_("Cannot write to that file."), FE_MSG_ERROR); + else + fe_message (_("Cannot read that file."), FE_MSG_ERROR); + } +} + +static void +gtkutil_file_req_done (GtkWidget * wid, struct file_req *freq) +{ + GSList *files, *cur; + GtkFileChooser *fs = GTK_FILE_CHOOSER (freq->dialog); + + if (freq->flags & FRF_MULTIPLE) + { + files = cur = gtk_file_chooser_get_filenames (fs); + while (cur) + { + gtkutil_check_file (cur->data, freq); + g_free (cur->data); + cur = cur->next; + } + if (files) + g_slist_free (files); + } else + { + if (freq->flags & FRF_CHOOSEFOLDER) + gtkutil_check_file (gtk_file_chooser_get_current_folder (fs), freq); + else + gtkutil_check_file (gtk_file_chooser_get_filename (fs), freq); + } + + /* this should call the "destroy" cb, where we free(freq) */ + gtk_widget_destroy (freq->dialog); +} + +static void +gtkutil_file_req_response (GtkWidget *dialog, gint res, struct file_req *freq) +{ + switch (res) + { + case GTK_RESPONSE_ACCEPT: + gtkutil_file_req_done (dialog, freq); + break; + + case GTK_RESPONSE_CANCEL: + /* this should call the "destroy" cb, where we free(freq) */ + gtk_widget_destroy (freq->dialog); + } +} + +void +gtkutil_file_req (const char *title, void *callback, void *userdata, char *filter, + int flags) +{ + struct file_req *freq; + GtkWidget *dialog; + extern char *get_xdir_fs (void); + + if (flags & FRF_WRITE) + { + dialog = gtk_file_chooser_dialog_new (title, NULL, + GTK_FILE_CHOOSER_ACTION_SAVE, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, + NULL); + if (filter && filter[0]) /* filter becomes initial name when saving */ + { + char temp[1024]; + path_part (filter, temp, sizeof (temp)); + gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), temp); + gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dialog), file_part (filter)); + } +#if GTK_CHECK_VERSION(2,8,0) + if (!(flags & FRF_NOASKOVERWRITE)) + gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE); +#endif + } + else + dialog = gtk_file_chooser_dialog_new (title, NULL, + GTK_FILE_CHOOSER_ACTION_OPEN, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, + NULL); + if (flags & FRF_MULTIPLE) + gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (dialog), TRUE); + if (last_dir[0]) + gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), last_dir); + if (flags & FRF_ADDFOLDER) + gtk_file_chooser_add_shortcut_folder (GTK_FILE_CHOOSER (dialog), + get_xdir_fs (), NULL); + if (flags & FRF_CHOOSEFOLDER) + { + gtk_file_chooser_set_action (GTK_FILE_CHOOSER (dialog), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); + gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), filter); + } + else + { + if (filter && (flags & FRF_FILTERISINITIAL)) + gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), filter); + } + + freq = malloc (sizeof (struct file_req)); + freq->dialog = dialog; + freq->flags = flags; + freq->callback = callback; + freq->userdata = userdata; + + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (gtkutil_file_req_response), freq); + g_signal_connect (G_OBJECT (dialog), "destroy", + G_CALLBACK (gtkutil_file_req_destroy), (gpointer) freq); + gtk_widget_show (dialog); +} + +void +gtkutil_destroy (GtkWidget * igad, GtkWidget * dgad) +{ + gtk_widget_destroy (dgad); +} + +static void +gtkutil_get_str_response (GtkDialog *dialog, gint arg1, gpointer entry) +{ + void (*callback) (int cancel, char *text, void *user_data); + char *text; + void *user_data; + + text = (char *) gtk_entry_get_text (GTK_ENTRY (entry)); + callback = g_object_get_data (G_OBJECT (dialog), "cb"); + user_data = g_object_get_data (G_OBJECT (dialog), "ud"); + + switch (arg1) + { + case GTK_RESPONSE_REJECT: + callback (TRUE, text, user_data); + gtk_widget_destroy (GTK_WIDGET (dialog)); + break; + case GTK_RESPONSE_ACCEPT: + callback (FALSE, text, user_data); + gtk_widget_destroy (GTK_WIDGET (dialog)); + break; + } +} + +static void +gtkutil_str_enter (GtkWidget *entry, GtkWidget *dialog) +{ + gtk_dialog_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT); +} + +void +fe_get_str (char *msg, char *def, void *callback, void *userdata) +{ + GtkWidget *dialog; + GtkWidget *entry; + GtkWidget *hbox; + GtkWidget *label; + + dialog = gtk_dialog_new_with_buttons (msg, NULL, 0, + GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, + GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, + NULL); + gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (dialog)->vbox), TRUE); + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); + hbox = gtk_hbox_new (TRUE, 0); + + g_object_set_data (G_OBJECT (dialog), "cb", callback); + g_object_set_data (G_OBJECT (dialog), "ud", userdata); + + entry = gtk_entry_new (); + g_signal_connect (G_OBJECT (entry), "activate", + G_CALLBACK (gtkutil_str_enter), dialog); + gtk_entry_set_text (GTK_ENTRY (entry), def); + gtk_box_pack_end (GTK_BOX (hbox), entry, 0, 0, 0); + + label = gtk_label_new (msg); + gtk_box_pack_end (GTK_BOX (hbox), label, 0, 0, 0); + + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (gtkutil_get_str_response), entry); + + gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), hbox); + + gtk_widget_show_all (dialog); +} + +static void +gtkutil_get_number_response (GtkDialog *dialog, gint arg1, gpointer spin) +{ + void (*callback) (int cancel, int value, void *user_data); + int num; + void *user_data; + + num = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (spin)); + callback = g_object_get_data (G_OBJECT (dialog), "cb"); + user_data = g_object_get_data (G_OBJECT (dialog), "ud"); + + switch (arg1) + { + case GTK_RESPONSE_REJECT: + callback (TRUE, num, user_data); + gtk_widget_destroy (GTK_WIDGET (dialog)); + break; + case GTK_RESPONSE_ACCEPT: + callback (FALSE, num, user_data); + gtk_widget_destroy (GTK_WIDGET (dialog)); + break; + } +} + +void +fe_get_int (char *msg, int def, void *callback, void *userdata) +{ + GtkWidget *dialog; + GtkWidget *spin; + GtkWidget *hbox; + GtkWidget *label; + GtkAdjustment *adj; + + dialog = gtk_dialog_new_with_buttons (msg, NULL, 0, + GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, + GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, + NULL); + gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (dialog)->vbox), TRUE); + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); + hbox = gtk_hbox_new (TRUE, 0); + + g_object_set_data (G_OBJECT (dialog), "cb", callback); + g_object_set_data (G_OBJECT (dialog), "ud", userdata); + + spin = gtk_spin_button_new (NULL, 1, 0); + adj = gtk_spin_button_get_adjustment ((GtkSpinButton*)spin); + adj->lower = 0; + adj->upper = 1024; + adj->step_increment = 1; + gtk_adjustment_changed (adj); + gtk_spin_button_set_value ((GtkSpinButton*)spin, def); + gtk_box_pack_end (GTK_BOX (hbox), spin, 0, 0, 0); + + label = gtk_label_new (msg); + gtk_box_pack_end (GTK_BOX (hbox), label, 0, 0, 0); + + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (gtkutil_get_number_response), spin); + + gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), hbox); + + gtk_widget_show_all (dialog); +} + +GtkWidget * +gtkutil_button (GtkWidget *box, char *stock, char *tip, void *callback, + void *userdata, char *labeltext) +{ + GtkWidget *wid, *img, *bbox; + + wid = gtk_button_new (); + + if (labeltext) + { + gtk_button_set_label (GTK_BUTTON (wid), labeltext); + gtk_button_set_image (GTK_BUTTON (wid), gtk_image_new_from_stock (stock, GTK_ICON_SIZE_MENU)); + gtk_button_set_use_underline (GTK_BUTTON (wid), TRUE); + if (box) + gtk_container_add (GTK_CONTAINER (box), wid); + } + else + { + bbox = gtk_hbox_new (0, 0); + gtk_container_add (GTK_CONTAINER (wid), bbox); + gtk_widget_show (bbox); + + img = gtk_image_new_from_stock (stock, GTK_ICON_SIZE_MENU); + if (stock == GTK_STOCK_GOTO_LAST) + gtk_widget_set_usize (img, 10, 6); + gtk_container_add (GTK_CONTAINER (bbox), img); + gtk_widget_show (img); + gtk_box_pack_start (GTK_BOX (box), wid, 0, 0, 0); + } + + g_signal_connect (G_OBJECT (wid), "clicked", + G_CALLBACK (callback), userdata); + gtk_widget_show (wid); + if (tip) + add_tip (wid, tip); + + return wid; +} + +void +gtkutil_label_new (char *text, GtkWidget * box) +{ + GtkWidget *label = gtk_label_new (text); + gtk_container_add (GTK_CONTAINER (box), label); + gtk_widget_show (label); +} + +GtkWidget * +gtkutil_entry_new (int max, GtkWidget * box, void *callback, + gpointer userdata) +{ + GtkWidget *entry = gtk_entry_new_with_max_length (max); + gtk_container_add (GTK_CONTAINER (box), entry); + if (callback) + g_signal_connect (G_OBJECT (entry), "changed", + G_CALLBACK (callback), userdata); + gtk_widget_show (entry); + return entry; +} + +GtkWidget * +gtkutil_clist_new (int columns, char *titles[], + GtkWidget * box, int policy, + void *select_callback, gpointer select_userdata, + void *unselect_callback, + gpointer unselect_userdata, int selection_mode) +{ + GtkWidget *clist, *win; + + win = gtk_scrolled_window_new (0, 0); + gtk_container_add (GTK_CONTAINER (box), win); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (win), + GTK_POLICY_AUTOMATIC, policy); + gtk_widget_show (win); + + if (titles) + clist = gtk_clist_new_with_titles (columns, titles); + else + clist = gtk_clist_new (columns); + + gtk_clist_set_selection_mode (GTK_CLIST (clist), selection_mode); + gtk_clist_column_titles_passive (GTK_CLIST (clist)); + gtk_container_add (GTK_CONTAINER (win), clist); + if (select_callback) + { + g_signal_connect (G_OBJECT (clist), "select_row", + G_CALLBACK (select_callback), select_userdata); + } + if (unselect_callback) + { + g_signal_connect (G_OBJECT (clist), "unselect_row", + G_CALLBACK (unselect_callback), unselect_userdata); + } + gtk_widget_show (clist); + + return clist; +} + +int +gtkutil_clist_selection (GtkWidget * clist) +{ + if (GTK_CLIST (clist)->selection) + return GPOINTER_TO_INT(GTK_CLIST (clist)->selection->data); + return -1; +} + +static int +int_compare (const int * elem1, const int * elem2) +{ + return (*elem1) - (*elem2); +} + +int +gtkutil_clist_multiple_selection (GtkWidget * clist, int ** rows, const int max_rows) +{ + int i = 0; + GList *tmp_clist; + *rows = malloc (sizeof (int) * max_rows ); + memset( *rows, -1, max_rows * sizeof(int) ); + + for( tmp_clist = GTK_CLIST(clist)->selection; + tmp_clist && i < max_rows; tmp_clist = tmp_clist->next, i++) + { + (*rows)[i] = GPOINTER_TO_INT( tmp_clist->data ); + } + qsort(*rows, i, sizeof(int), (void *)int_compare); + return i; + +} + +void +add_tip (GtkWidget * wid, char *text) +{ + static GtkTooltips *tip = NULL; + if (!tip) + tip = gtk_tooltips_new (); + gtk_tooltips_set_tip (tip, wid, text, 0); +} + +void +show_and_unfocus (GtkWidget * wid) +{ + GTK_WIDGET_UNSET_FLAGS (wid, GTK_CAN_FOCUS); + gtk_widget_show (wid); +} + +void +gtkutil_set_icon (GtkWidget *win) +{ + gtk_window_set_icon (GTK_WINDOW (win), pix_xchat); +} + +extern GtkWidget *parent_window; /* maingui.c */ + +GtkWidget * +gtkutil_window_new (char *title, char *role, int width, int height, int flags) +{ + GtkWidget *win; + + win = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtkutil_set_icon (win); +#ifdef WIN32 + gtk_window_set_wmclass (GTK_WINDOW (win), "XChat", "xchat"); +#endif + gtk_window_set_title (GTK_WINDOW (win), title); + gtk_window_set_default_size (GTK_WINDOW (win), width, height); + gtk_window_set_role (GTK_WINDOW (win), role); + if (flags & 1) + gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_MOUSE); + if ((flags & 2) && parent_window) + { + gtk_window_set_type_hint (GTK_WINDOW (win), GDK_WINDOW_TYPE_HINT_DIALOG); + gtk_window_set_transient_for (GTK_WINDOW (win), GTK_WINDOW (parent_window)); + } + + return win; +} + +/* pass NULL as selection to paste to both clipboard & X11 text */ +void +gtkutil_copy_to_clipboard (GtkWidget *widget, GdkAtom selection, + const gchar *str) +{ + GtkWidget *win; + GtkClipboard *clip, *clip2; + + win = gtk_widget_get_toplevel (GTK_WIDGET (widget)); + if (GTK_WIDGET_TOPLEVEL (win)) + { + int len = strlen (str); + + if (selection) + { + clip = gtk_widget_get_clipboard (win, selection); + gtk_clipboard_set_text (clip, str, len); + } else + { + /* copy to both primary X selection and clipboard */ + clip = gtk_widget_get_clipboard (win, GDK_SELECTION_PRIMARY); + clip2 = gtk_widget_get_clipboard (win, GDK_SELECTION_CLIPBOARD); + gtk_clipboard_set_text (clip, str, len); + gtk_clipboard_set_text (clip2, str, len); + } + } +} + +/* Treeview util functions */ + +GtkWidget * +gtkutil_treeview_new (GtkWidget *box, GtkTreeModel *model, + GtkTreeCellDataFunc mapper, ...) +{ + GtkWidget *win, *view; + GtkCellRenderer *renderer = NULL; + GtkTreeViewColumn *col; + va_list args; + int col_id = 0; + GType type; + char *title, *attr; + + win = gtk_scrolled_window_new (0, 0); + gtk_container_add (GTK_CONTAINER (box), win); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (win), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_widget_show (win); + + view = gtk_tree_view_new_with_model (model); + /* the view now has a ref on the model, we can unref it */ + g_object_unref (G_OBJECT (model)); + gtk_container_add (GTK_CONTAINER (win), view); + + va_start (args, mapper); + for (col_id = va_arg (args, int); col_id != -1; col_id = va_arg (args, int)) + { + type = gtk_tree_model_get_column_type (model, col_id); + switch (type) + { + case G_TYPE_BOOLEAN: + renderer = gtk_cell_renderer_toggle_new (); + attr = "active"; + break; + case G_TYPE_STRING: /* fall through */ + default: + renderer = gtk_cell_renderer_text_new (); + attr = "text"; + break; + } + + title = va_arg (args, char *); + if (mapper) /* user-specified function to set renderer attributes */ + { + col = gtk_tree_view_column_new_with_attributes (title, renderer, NULL); + gtk_tree_view_column_set_cell_data_func (col, renderer, mapper, + GINT_TO_POINTER (col_id), NULL); + } else + { + /* just set the typical attribute for this type of renderer */ + col = gtk_tree_view_column_new_with_attributes (title, renderer, + attr, col_id, NULL); + } + gtk_tree_view_append_column (GTK_TREE_VIEW (view), col); + } + + va_end (args); + + return view; +} + +gboolean +gtkutil_treemodel_string_to_iter (GtkTreeModel *model, gchar *pathstr, GtkTreeIter *iter_ret) +{ + GtkTreePath *path = gtk_tree_path_new_from_string (pathstr); + gboolean success; + + success = gtk_tree_model_get_iter (model, iter_ret, path); + gtk_tree_path_free (path); + return success; +} + +/*gboolean +gtkutil_treeview_get_selected_iter (GtkTreeView *view, GtkTreeIter *iter_ret) +{ + GtkTreeModel *store; + GtkTreeSelection *select; + + select = gtk_tree_view_get_selection (view); + return gtk_tree_selection_get_selected (select, &store, iter_ret); +}*/ + +gboolean +gtkutil_treeview_get_selected (GtkTreeView *view, GtkTreeIter *iter_ret, ...) +{ + GtkTreeModel *store; + GtkTreeSelection *select; + gboolean has_selected; + va_list args; + + select = gtk_tree_view_get_selection (view); + has_selected = gtk_tree_selection_get_selected (select, &store, iter_ret); + + if (has_selected) { + va_start (args, iter_ret); + gtk_tree_model_get_valist (store, iter_ret, args); + va_end (args); + } + + return has_selected; +} + diff --git a/src/fe-gtk/gtkutil.h b/src/fe-gtk/gtkutil.h new file mode 100644 index 00000000..9bf9e058 --- /dev/null +++ b/src/fe-gtk/gtkutil.h @@ -0,0 +1,39 @@ +#include <gtk/gtktreeview.h> +#include <gtk/gtktreemodel.h> + +typedef void (*filereqcallback) (void *, char *file); + +#define FRF_WRITE 1 +#define FRF_MULTIPLE 2 +#define FRF_ADDFOLDER 4 +#define FRF_CHOOSEFOLDER 8 +#define FRF_FILTERISINITIAL 16 +#define FRF_NOASKOVERWRITE 32 + +void gtkutil_file_req (const char *title, void *callback, void *userdata, char *filter, int flags); +void gtkutil_destroy (GtkWidget * igad, GtkWidget * dgad); +GtkWidget *gtkutil_button (GtkWidget *box, char *stock, char *tip, void *callback, + void *userdata, char *labeltext); +void gtkutil_label_new (char *text, GtkWidget * box); +GtkWidget *gtkutil_entry_new (int max, GtkWidget * box, void *callback, + gpointer userdata); +GtkWidget *gtkutil_clist_new (int columns, char *titles[], GtkWidget * box, + int policy, void *select_callback, + gpointer select_userdata, + void *unselect_callback, + gpointer unselect_userdata, int selection_mode); +int gtkutil_clist_selection (GtkWidget * clist); +int gtkutil_clist_multiple_selection (GtkWidget * clist, + int ** rows, const int max_rows); +void add_tip (GtkWidget * wid, char *text); +void show_and_unfocus (GtkWidget * wid); +void gtkutil_set_icon (GtkWidget *win); +GtkWidget *gtkutil_window_new (char *title, char *role, int width, int height, int flags); +void gtkutil_copy_to_clipboard (GtkWidget *widget, GdkAtom selection, + const gchar *str); +GtkWidget *gtkutil_treeview_new (GtkWidget *box, GtkTreeModel *model, + GtkTreeCellDataFunc mapper, ...); +gboolean gtkutil_treemodel_string_to_iter (GtkTreeModel *model, gchar *pathstr, GtkTreeIter *iter_ret); +gboolean gtkutil_treeview_get_selected_iter (GtkTreeView *view, GtkTreeIter *iter_ret); +gboolean gtkutil_treeview_get_selected (GtkTreeView *view, GtkTreeIter *iter_ret, ...); + diff --git a/src/fe-gtk/ignoregui.c b/src/fe-gtk/ignoregui.c new file mode 100644 index 00000000..dc5fce9c --- /dev/null +++ b/src/fe-gtk/ignoregui.c @@ -0,0 +1,449 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include "fe-gtk.h" + +#include <gtk/gtkcheckbutton.h> +#include <gtk/gtkentry.h> +#include <gtk/gtkstock.h> +#include <gtk/gtkhbox.h> +#include <gtk/gtkhbbox.h> +#include <gtk/gtkframe.h> +#include <gtk/gtkhseparator.h> +#include <gtk/gtkversion.h> + +#include <gtk/gtkliststore.h> +#include <gtk/gtktreeview.h> +#include <gtk/gtktreeselection.h> +#include <gtk/gtkcellrenderertext.h> +#include <gtk/gtkcellrenderertoggle.h> + +#include "../common/xchat.h" +#include "../common/ignore.h" +#include "../common/cfgfiles.h" +#include "../common/fe.h" +#include "gtkutil.h" +#include "maingui.h" + +enum +{ + MASK_COLUMN, + CHAN_COLUMN, + PRIV_COLUMN, + NOTICE_COLUMN, + CTCP_COLUMN, + DCC_COLUMN, + INVITE_COLUMN, + UNIGNORE_COLUMN, + N_COLUMNS +}; + +static GtkWidget *ignorewin = 0; + +static GtkWidget *num_ctcp; +static GtkWidget *num_priv; +static GtkWidget *num_chan; +static GtkWidget *num_noti; +static GtkWidget *num_invi; + +static GtkTreeModel * +get_store (void) +{ + return gtk_tree_view_get_model (g_object_get_data (G_OBJECT (ignorewin), "view")); +} + +static int +ignore_get_flags (GtkTreeModel *model, GtkTreeIter *iter) +{ + gboolean chan, priv, noti, ctcp, dcc, invi, unig; + int flags = 0; + + gtk_tree_model_get (model, iter, 1, &chan, 2, &priv, 3, ¬i, + 4, &ctcp, 5, &dcc, 6, &invi, 7, &unig, -1); + if (chan) + flags |= IG_CHAN; + if (priv) + flags |= IG_PRIV; + if (noti) + flags |= IG_NOTI; + if (ctcp) + flags |= IG_CTCP; + if (dcc) + flags |= IG_DCC; + if (invi) + flags |= IG_INVI; + if (unig) + flags |= IG_UNIG; + return flags; +} + +static void +mask_edited (GtkCellRendererText *render, gchar *path, gchar *new, gpointer dat) +{ + GtkListStore *store = GTK_LIST_STORE (get_store ()); + GtkTreeIter iter; + char *old; + int flags; + + gtkutil_treemodel_string_to_iter (GTK_TREE_MODEL (store), path, &iter); + gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, 0, &old, -1); + + if (!strcmp (old, new)) /* no change */ + ; + else if (ignore_exists (new)) /* duplicate, ignore */ + fe_message (_("That mask already exists."), FE_MSG_ERROR); + else + { + /* delete old mask, and add new one with original flags */ + ignore_del (old, NULL); + flags = ignore_get_flags (GTK_TREE_MODEL (store), &iter); + ignore_add (new, flags); + + /* update tree */ + gtk_list_store_set (store, &iter, MASK_COLUMN, new, -1); + } + g_free (old); + +} + +static void +option_toggled (GtkCellRendererToggle *render, gchar *path, gpointer data) +{ + GtkListStore *store = GTK_LIST_STORE (get_store ()); + GtkTreeIter iter; + int col_id = GPOINTER_TO_INT (data); + gboolean active; + char *mask; + int flags; + + gtkutil_treemodel_string_to_iter (GTK_TREE_MODEL (store), path, &iter); + + /* update model */ + gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, col_id, &active, -1); + gtk_list_store_set (store, &iter, col_id, !active, -1); + + /* update ignore list */ + gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, 0, &mask, -1); + flags = ignore_get_flags (GTK_TREE_MODEL (store), &iter); + if (ignore_add (mask, flags) != 2) + g_warning ("ignore treeview is out of sync!\n"); + + g_free (mask); +} + +static GtkWidget * +ignore_treeview_new (GtkWidget *box) +{ + GtkListStore *store; + GtkWidget *view; + GtkTreeViewColumn *col; + GtkCellRenderer *render; + int col_id; + + store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, + G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, + G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, + G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, + G_TYPE_BOOLEAN, G_TYPE_BOOLEAN); + g_return_val_if_fail (store != NULL, NULL); + + view = gtkutil_treeview_new (box, GTK_TREE_MODEL (store), + NULL, + MASK_COLUMN, _("Mask"), + CHAN_COLUMN, _("Channel"), + PRIV_COLUMN, _("Private"), + NOTICE_COLUMN, _("Notice"), + CTCP_COLUMN, _("CTCP"), + DCC_COLUMN, _("DCC"), + INVITE_COLUMN, _("Invite"), + UNIGNORE_COLUMN, _("Unignore"), + -1); + + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view), TRUE); + gtk_tree_view_column_set_expand (gtk_tree_view_get_column (GTK_TREE_VIEW (view), 0), TRUE); + + /* attach to signals and customise columns */ + for (col_id=0; (col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), col_id)); + col_id++) + { + GList *list = gtk_tree_view_column_get_cell_renderers (col); + GList *tmp; + + for (tmp = list; tmp; tmp = tmp->next) + { + render = tmp->data; + if (col_id > 0) /* it's a toggle button column */ + { + g_signal_connect (render, "toggled", G_CALLBACK (option_toggled), + GINT_TO_POINTER (col_id)); + } else /* mask column */ + { + g_object_set (G_OBJECT (render), "editable", TRUE, NULL); + g_signal_connect (render, "edited", G_CALLBACK (mask_edited), NULL); + /* make this column sortable */ + gtk_tree_view_column_set_sort_column_id (col, col_id); + gtk_tree_view_column_set_min_width (col, 272); + } + /* centre titles */ + gtk_tree_view_column_set_alignment (col, 0.5); + } + + g_list_free (list); + } + + gtk_widget_show (view); + return view; +} + +static void +ignore_delete_entry_clicked (GtkWidget * wid, struct session *sess) +{ + GtkTreeView *view = g_object_get_data (G_OBJECT (ignorewin), "view"); + GtkListStore *store = GTK_LIST_STORE (gtk_tree_view_get_model (view)); + GtkTreeIter iter; + GtkTreePath *path; + char *mask = NULL; + + if (gtkutil_treeview_get_selected (view, &iter, 0, &mask, -1)) + { + /* delete this row, select next one */ +#if (GTK_MAJOR_VERSION == 2) && (GTK_MINOR_VERSION == 0) + gtk_list_store_remove (store, &iter); +#else + if (gtk_list_store_remove (store, &iter)) + { + path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), &iter); + gtk_tree_view_scroll_to_cell (view, path, NULL, TRUE, 1.0, 0.0); + gtk_tree_view_set_cursor (view, path, NULL, FALSE); + gtk_tree_path_free (path); + } +#endif + + ignore_del (mask, NULL); + g_free (mask); + } +} + +static void +ignore_store_new (int cancel, char *mask, gpointer data) +{ + GtkTreeView *view = g_object_get_data (G_OBJECT (ignorewin), "view"); + GtkListStore *store = GTK_LIST_STORE (get_store ()); + GtkTreeIter iter; + GtkTreePath *path; + int flags = IG_CHAN | IG_PRIV | IG_NOTI | IG_CTCP | IG_DCC | IG_INVI; + + if (cancel) + return; + /* check if it already exists */ + if (ignore_exists (mask)) + { + fe_message (_("That mask already exists."), FE_MSG_ERROR); + return; + } + + ignore_add (mask, flags); + + gtk_list_store_append (store, &iter); + /* ignore everything by default */ + gtk_list_store_set (store, &iter, 0, mask, 1, TRUE, 2, TRUE, 3, TRUE, + 4, TRUE, 5, TRUE, 6, TRUE, 7, FALSE, -1); + /* make sure the new row is visible and selected */ + path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), &iter); + gtk_tree_view_scroll_to_cell (view, path, NULL, TRUE, 1.0, 0.0); + gtk_tree_view_set_cursor (view, path, NULL, FALSE); + gtk_tree_path_free (path); +} + +static void +ignore_clear_entry_clicked (GtkWidget * wid, gpointer unused) +{ + GtkListStore *store = GTK_LIST_STORE (get_store ()); + GtkTreeIter iter; + char *mask; + + if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter)) + { + /* remove from ignore_list */ + do + { + mask = NULL; + gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, MASK_COLUMN, &mask, -1); + ignore_del (mask, NULL); + g_free (mask); + } + while (gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter)); + + /* remove from GUI */ + gtk_list_store_clear (store); + } +} + +static void +ignore_new_entry_clicked (GtkWidget * wid, struct session *sess) +{ + fe_get_str (_("Enter mask to ignore:"), "nick!userid@host.com", + ignore_store_new, NULL); + +} + +static void +close_ignore_gui_callback () +{ + ignore_save (); + ignorewin = 0; +} + +static GtkWidget * +ignore_stats_entry (GtkWidget * box, char *label, int value) +{ + GtkWidget *wid; + char buf[16]; + + sprintf (buf, "%d", value); + gtkutil_label_new (label, box); + wid = gtkutil_entry_new (16, box, 0, 0); + gtk_widget_set_size_request (wid, 30, -1); + gtk_editable_set_editable (GTK_EDITABLE (wid), FALSE); + gtk_widget_set_sensitive (GTK_WIDGET (wid), FALSE); + gtk_entry_set_text (GTK_ENTRY (wid), buf); + + return wid; +} + +void +ignore_gui_open () +{ + GtkWidget *vbox, *box, *stat_box, *frame; + GtkWidget *view; + GtkListStore *store; + GtkTreeIter iter; + GSList *temp = ignore_list; + char *mask; + gboolean private, chan, notice, ctcp, dcc, invite, unignore; + + if (ignorewin) + { + mg_bring_tofront (ignorewin); + return; + } + + ignorewin = + mg_create_generic_tab ("IgnoreList", _("XChat: Ignore list"), + FALSE, TRUE, close_ignore_gui_callback, + NULL, 600, 256, &vbox, 0); + + view = ignore_treeview_new (vbox); + g_object_set_data (G_OBJECT (ignorewin), "view", view); + + frame = gtk_frame_new (_("Ignore Stats:")); + gtk_widget_show (frame); + + stat_box = gtk_hbox_new (0, 2); + gtk_container_set_border_width (GTK_CONTAINER (stat_box), 6); + gtk_container_add (GTK_CONTAINER (frame), stat_box); + gtk_widget_show (stat_box); + + num_chan = ignore_stats_entry (stat_box, _("Channel:"), ignored_chan); + num_priv = ignore_stats_entry (stat_box, _("Private:"), ignored_priv); + num_noti = ignore_stats_entry (stat_box, _("Notice:"), ignored_noti); + num_ctcp = ignore_stats_entry (stat_box, _("CTCP:"), ignored_ctcp); + num_invi = ignore_stats_entry (stat_box, _("Invite:"), ignored_invi); + + gtk_box_pack_start (GTK_BOX (vbox), frame, 0, 0, 5); + + box = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (box), GTK_BUTTONBOX_SPREAD); + gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, FALSE, 2); + gtk_container_set_border_width (GTK_CONTAINER (box), 5); + gtk_widget_show (box); + + gtkutil_button (box, GTK_STOCK_NEW, 0, ignore_new_entry_clicked, 0, + _("Add...")); + gtkutil_button (box, GTK_STOCK_DELETE, 0, ignore_delete_entry_clicked, + 0, _("Delete")); + gtkutil_button (box, GTK_STOCK_CLEAR, 0, ignore_clear_entry_clicked, + 0, _("Clear")); + + store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (view))); + + while (temp) + { + struct ignore *ignore = temp->data; + + mask = ignore->mask; + chan = (ignore->type & IG_CHAN); + private = (ignore->type & IG_PRIV); + notice = (ignore->type & IG_NOTI); + ctcp = (ignore->type & IG_CTCP); + dcc = (ignore->type & IG_DCC); + invite = (ignore->type & IG_INVI); + unignore = (ignore->type & IG_UNIG); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + MASK_COLUMN, mask, + CHAN_COLUMN, chan, + PRIV_COLUMN, private, + NOTICE_COLUMN, notice, + CTCP_COLUMN, ctcp, + DCC_COLUMN, dcc, + INVITE_COLUMN, invite, + UNIGNORE_COLUMN, unignore, + -1); + + temp = temp->next; + } + gtk_widget_show (ignorewin); +} + +void +fe_ignore_update (int level) +{ + /* some ignores have changed via /ignore, we should update + the gui now */ + /* level 1 = the list only. */ + /* level 2 = the numbers only. */ + /* for now, ignore level 1, since the ignore GUI isn't realtime, + only saved when you click OK */ + char buf[16]; + + if (level == 2 && ignorewin) + { + sprintf (buf, "%d", ignored_ctcp); + gtk_entry_set_text (GTK_ENTRY (num_ctcp), buf); + + sprintf (buf, "%d", ignored_noti); + gtk_entry_set_text (GTK_ENTRY (num_noti), buf); + + sprintf (buf, "%d", ignored_chan); + gtk_entry_set_text (GTK_ENTRY (num_chan), buf); + + sprintf (buf, "%d", ignored_invi); + gtk_entry_set_text (GTK_ENTRY (num_invi), buf); + + sprintf (buf, "%d", ignored_priv); + gtk_entry_set_text (GTK_ENTRY (num_priv), buf); + } +} diff --git a/src/fe-gtk/joind.c b/src/fe-gtk/joind.c new file mode 100644 index 00000000..ee5c56d1 --- /dev/null +++ b/src/fe-gtk/joind.c @@ -0,0 +1,257 @@ +/* Copyright (c) 2005 Peter Zelezny + All Rights Reserved. + + joind.c - The Join Dialog. + + Popups up when you connect without any autojoin channels and helps you + to find or join a channel. +*/ + +#include <sys/types.h> +#include <sys/stat.h> +#include <unistd.h> +#include <string.h> +#include <stdio.h> + +#include <gtk/gtkbbox.h> +#include <gtk/gtkbutton.h> +#include <gtk/gtkdialog.h> +#include <gtk/gtkentry.h> +#include <gtk/gtkhbox.h> +#include <gtk/gtkimage.h> +#include <gtk/gtklabel.h> +#include <gtk/gtkradiobutton.h> +#include <gtk/gtkvbox.h> +#include <gtk/gtkwindow.h> + +#include "../common/xchat.h" +#include "../common/xchatc.h" +#include "../common/server.h" +#include "../common/fe.h" +#include "fe-gtk.h" +#include "chanlist.h" + + +static void +joind_radio2_cb (GtkWidget *radio, server *serv) +{ + if (GTK_TOGGLE_BUTTON (radio)->active) + { + gtk_widget_grab_focus (serv->gui->joind_entry); + gtk_editable_set_position (GTK_EDITABLE (serv->gui->joind_entry), 999); + } +} + +static void +joind_entryenter_cb (GtkWidget *entry, GtkWidget *ok) +{ + gtk_widget_grab_focus (ok); +} + +static void +joind_entryfocus_cb (GtkWidget *entry, GdkEventFocus *event, server *serv) +{ + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (serv->gui->joind_radio2), TRUE); +} + +static void +joind_destroy_cb (GtkWidget *win, server *serv) +{ + if (is_server (serv)) + serv->gui->joind_win = NULL; +} + +static void +joind_ok_cb (GtkWidget *ok, server *serv) +{ + if (!is_server (serv)) + { + gtk_widget_destroy (gtk_widget_get_toplevel (ok)); + return; + } + + /* do nothing */ + if (GTK_TOGGLE_BUTTON (serv->gui->joind_radio1)->active) + goto xit; + + /* join specific channel */ + if (GTK_TOGGLE_BUTTON (serv->gui->joind_radio2)->active) + { + char *text = GTK_ENTRY (serv->gui->joind_entry)->text; + if (strlen (text) < 2) + { + fe_message (_("Channel name too short, try again."), FE_MSG_ERROR); + return; + } + serv->p_join (serv, text, ""); + goto xit; + } + + /* channel list */ + chanlist_opengui (serv, TRUE); + +xit: + prefs.gui_join_dialog = 0; + if (GTK_TOGGLE_BUTTON (serv->gui->joind_check)->active) + prefs.gui_join_dialog = 1; + + gtk_widget_destroy (serv->gui->joind_win); + serv->gui->joind_win = NULL; +} + +static void +joind_show_dialog (server *serv) +{ + GtkWidget *dialog1; + GtkWidget *dialog_vbox1; + GtkWidget *vbox1; + GtkWidget *hbox1; + GtkWidget *image1; + GtkWidget *vbox2; + GtkWidget *label; + GtkWidget *radiobutton1; + GtkWidget *radiobutton2; + GtkWidget *radiobutton3; + GSList *radiobutton1_group; + GtkWidget *hbox2; + GtkWidget *entry1; + GtkWidget *checkbutton1; + GtkWidget *dialog_action_area1; + GtkWidget *okbutton1; + char buf[256]; + char buf2[256]; + + serv->gui->joind_win = dialog1 = gtk_dialog_new (); + gtk_window_set_title (GTK_WINDOW (dialog1), _("XChat: Connection Complete")); + gtk_window_set_type_hint (GTK_WINDOW (dialog1), GDK_WINDOW_TYPE_HINT_DIALOG); + gtk_window_set_position (GTK_WINDOW (dialog1), GTK_WIN_POS_MOUSE); + + dialog_vbox1 = GTK_DIALOG (dialog1)->vbox; + gtk_widget_show (dialog_vbox1); + + vbox1 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox1); + gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox1, TRUE, TRUE, 0); + + hbox1 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox1); + gtk_box_pack_start (GTK_BOX (vbox1), hbox1, TRUE, TRUE, 0); + + image1 = gtk_image_new_from_stock ("gtk-yes", GTK_ICON_SIZE_DIALOG); + gtk_widget_show (image1); + gtk_box_pack_start (GTK_BOX (hbox1), image1, FALSE, TRUE, 24); + gtk_misc_set_alignment (GTK_MISC (image1), 0.5, 0.06); + + vbox2 = gtk_vbox_new (FALSE, 10); + gtk_container_set_border_width (GTK_CONTAINER (vbox2), 6); + gtk_widget_show (vbox2); + gtk_box_pack_start (GTK_BOX (hbox1), vbox2, TRUE, TRUE, 0); + + snprintf (buf2, sizeof (buf2), _("Connection to %s complete."), + server_get_network (serv, TRUE)); + snprintf (buf, sizeof (buf), "\n<b>%s</b>", buf2); + label = gtk_label_new (buf); + gtk_widget_show (label); + gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, FALSE, 0); + gtk_label_set_use_markup (GTK_LABEL (label), TRUE); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + + label = gtk_label_new (_("In the Server-List window, no channel (chat room) has been entered to be automatically joined for this network.")); + gtk_widget_show (label); + gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, FALSE, 0); + GTK_LABEL (label)->wrap = TRUE; + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + + label = gtk_label_new (_("What would you like to do next?")); + gtk_widget_show (label); + gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, FALSE, 0); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + + serv->gui->joind_radio1 = radiobutton1 = gtk_radio_button_new_with_mnemonic (NULL, _("_Nothing, I'll join a channel later.")); + gtk_widget_show (radiobutton1); + gtk_box_pack_start (GTK_BOX (vbox2), radiobutton1, FALSE, FALSE, 0); + radiobutton1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton1)); + + hbox2 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox2); + gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0); + + serv->gui->joind_radio2 = radiobutton2 = gtk_radio_button_new_with_mnemonic (NULL, _("_Join this channel:")); + gtk_widget_show (radiobutton2); + gtk_box_pack_start (GTK_BOX (hbox2), radiobutton2, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton2), radiobutton1_group); + radiobutton1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton2)); + + serv->gui->joind_entry = entry1 = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (entry1), "#"); + gtk_widget_show (entry1); + gtk_box_pack_start (GTK_BOX (hbox2), entry1, TRUE, TRUE, 8); + + snprintf (buf, sizeof (buf), "<small> %s</small>", + _("If you know the name of the channel you want to join, enter it here.")); + label = gtk_label_new (buf); + gtk_widget_show (label); + gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, FALSE, 0); + gtk_label_set_use_markup (GTK_LABEL (label), TRUE); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + + radiobutton3 = gtk_radio_button_new_with_mnemonic (NULL, _("O_pen the Channel-List window.")); + gtk_widget_show (radiobutton3); + gtk_box_pack_start (GTK_BOX (vbox2), radiobutton3, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton3), radiobutton1_group); + radiobutton1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton3)); + + snprintf (buf, sizeof (buf), "<small> %s</small>", + _("Retrieving the Channel-List may take a minute or two.")); + label = gtk_label_new (buf); + gtk_widget_show (label); + gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, FALSE, 0); + gtk_label_set_use_markup (GTK_LABEL (label), TRUE); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + + serv->gui->joind_check = checkbutton1 = gtk_check_button_new_with_mnemonic (_("_Always show this dialog after connecting.")); + if (prefs.gui_join_dialog) + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton1), TRUE); + gtk_widget_show (checkbutton1); + gtk_box_pack_start (GTK_BOX (vbox1), checkbutton1, FALSE, FALSE, 0); + + dialog_action_area1 = GTK_DIALOG (dialog1)->action_area; + gtk_widget_show (dialog_action_area1); + gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END); + + okbutton1 = gtk_button_new_from_stock ("gtk-ok"); + gtk_widget_show (okbutton1); + gtk_box_pack_end (GTK_BOX (GTK_DIALOG (dialog1)->action_area), okbutton1, FALSE, TRUE, 0); + GTK_WIDGET_SET_FLAGS (okbutton1, GTK_CAN_DEFAULT); + + g_signal_connect (G_OBJECT (dialog1), "destroy", + G_CALLBACK (joind_destroy_cb), serv); + g_signal_connect (G_OBJECT (entry1), "focus_in_event", + G_CALLBACK (joind_entryfocus_cb), serv); + g_signal_connect (G_OBJECT (entry1), "activate", + G_CALLBACK (joind_entryenter_cb), okbutton1); + g_signal_connect (G_OBJECT (radiobutton2), "toggled", + G_CALLBACK (joind_radio2_cb), serv); + g_signal_connect (G_OBJECT (okbutton1), "clicked", + G_CALLBACK (joind_ok_cb), serv); + + gtk_widget_grab_focus (okbutton1); + gtk_widget_show_all (dialog1); +} + +void +joind_open (server *serv) +{ + if (prefs.gui_join_dialog) + joind_show_dialog (serv); +} + +void +joind_close (server *serv) +{ + if (serv->gui->joind_win) + { + gtk_widget_destroy (serv->gui->joind_win); + serv->gui->joind_win = NULL; + } +} diff --git a/src/fe-gtk/joind.h b/src/fe-gtk/joind.h new file mode 100644 index 00000000..aa0fd0ad --- /dev/null +++ b/src/fe-gtk/joind.h @@ -0,0 +1,2 @@ +void joind_open (server *serv); +void joind_close (server *serv); diff --git a/src/fe-gtk/maingui.c b/src/fe-gtk/maingui.c new file mode 100644 index 00000000..ef269f95 --- /dev/null +++ b/src/fe-gtk/maingui.c @@ -0,0 +1,3811 @@ +/* X-Chat + * Copyright (C) 1998-2005 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdlib.h> +#include <string.h> +#include <stdio.h> +#include <ctype.h> + +#include <gtk/gtkarrow.h> +#include <gtk/gtktogglebutton.h> +#include <gtk/gtkhbox.h> +#include <gtk/gtkvbox.h> +#include <gtk/gtkeventbox.h> +#include <gtk/gtkentry.h> +#include <gtk/gtkhpaned.h> +#include <gtk/gtkvpaned.h> +#include <gtk/gtkframe.h> +#include <gtk/gtklabel.h> +#include <gtk/gtkmenuitem.h> +#include <gtk/gtkprogressbar.h> +#include <gtk/gtkscrolledwindow.h> +#include <gtk/gtkstock.h> +#include <gtk/gtktable.h> +#include <gtk/gtknotebook.h> +#include <gtk/gtkimage.h> +#include <gtk/gtkmessagedialog.h> +#include <gtk/gtkcheckmenuitem.h> +#include <gtk/gtkcheckbutton.h> +#include <gtk/gtkbbox.h> +#include <gtk/gtkvscrollbar.h> + +#include "../common/xchat.h" +#include "../common/fe.h" +#include "../common/server.h" +#include "../common/xchatc.h" +#include "../common/outbound.h" +#include "../common/inbound.h" +#include "../common/plugin.h" +#include "../common/modes.h" +#include "../common/url.h" +#include "fe-gtk.h" +#include "banlist.h" +#include "gtkutil.h" +#include "joind.h" +#include "palette.h" +#include "maingui.h" +#include "menu.h" +#include "fkeys.h" +#include "userlistgui.h" +#include "chanview.h" +#include "pixmaps.h" +#include "plugin-tray.h" +#include "xtext.h" + +#ifdef USE_GTKSPELL +#include <gtk/gtktextview.h> +#include <gtkspell/gtkspell.h> +#endif + +#ifdef USE_LIBSEXY +#include "sexy-spell-entry.h" +#endif + +#define GUI_SPACING (3) +#define GUI_BORDER (0) +#define SCROLLBAR_SPACING (2) + +enum +{ + POS_INVALID = 0, + POS_TOPLEFT = 1, + POS_BOTTOMLEFT = 2, + POS_TOPRIGHT = 3, + POS_BOTTOMRIGHT = 4, + POS_TOP = 5, /* for tabs only */ + POS_BOTTOM = 6, + POS_HIDDEN = 7 +}; + +/* two different types of tabs */ +#define TAG_IRC 0 /* server, channel, dialog */ +#define TAG_UTIL 1 /* dcc, notify, chanlist */ + +static void mg_create_entry (session *sess, GtkWidget *box); +static void mg_link_irctab (session *sess, int focus); + +static session_gui static_mg_gui; +static session_gui *mg_gui = NULL; /* the shared irc tab */ +static int ignore_chanmode = FALSE; +static const char chan_flags[] = { 't', 'n', 's', 'i', 'p', 'm', 'l', 'k' }; + +static chan *active_tab = NULL; /* active tab */ +GtkWidget *parent_window = NULL; /* the master window */ + +GtkStyle *input_style; + +static PangoAttrList *away_list; +static PangoAttrList *newdata_list; +static PangoAttrList *nickseen_list; +static PangoAttrList *newmsg_list; +static PangoAttrList *plain_list = NULL; + + +#ifdef USE_GTKSPELL + +/* use these when it's a GtkTextView instead of GtkEntry */ + +char * +SPELL_ENTRY_GET_TEXT (GtkWidget *entry) +{ + static char *last = NULL; /* warning: don't overlap 2 GET_TEXT calls! */ + GtkTextBuffer *buf = gtk_text_view_get_buffer (GTK_TEXT_VIEW (entry)); + GtkTextIter start_iter, end_iter; + + gtk_text_buffer_get_iter_at_offset (buf, &start_iter, 0); + gtk_text_buffer_get_end_iter (buf, &end_iter); + g_free (last); + last = gtk_text_buffer_get_text (buf, &start_iter, &end_iter, FALSE); + return last; +} + +void +SPELL_ENTRY_SET_POS (GtkWidget *entry, int pos) +{ + GtkTextIter iter; + GtkTextBuffer *buf = gtk_text_view_get_buffer (GTK_TEXT_VIEW (entry)); + + gtk_text_buffer_get_iter_at_offset (buf, &iter, pos); + gtk_text_buffer_place_cursor (buf, &iter); +} + +int +SPELL_ENTRY_GET_POS (GtkWidget *entry) +{ + GtkTextIter cursor; + GtkTextBuffer *buf = gtk_text_view_get_buffer (GTK_TEXT_VIEW (entry)); + + gtk_text_buffer_get_iter_at_mark (buf, &cursor, gtk_text_buffer_get_insert (buf)); + return gtk_text_iter_get_offset (&cursor); +} + +void +SPELL_ENTRY_INSERT (GtkWidget *entry, const char *text, int len, int *pos) +{ + GtkTextIter iter; + GtkTextBuffer *buf = gtk_text_view_get_buffer (GTK_TEXT_VIEW (entry)); + + /* len is bytes. pos is chars. */ + gtk_text_buffer_get_iter_at_offset (buf, &iter, *pos); + gtk_text_buffer_insert (buf, &iter, text, len); + *pos += g_utf8_strlen (text, len); +} + +#endif + +static PangoAttrList * +mg_attr_list_create (GdkColor *col, int size) +{ + PangoAttribute *attr; + PangoAttrList *list; + + list = pango_attr_list_new (); + + if (col) + { + attr = pango_attr_foreground_new (col->red, col->green, col->blue); + attr->start_index = 0; + attr->end_index = 0xffff; + pango_attr_list_insert (list, attr); + } + + if (size > 0) + { + attr = pango_attr_scale_new (size == 1 ? PANGO_SCALE_SMALL : PANGO_SCALE_X_SMALL); + attr->start_index = 0; + attr->end_index = 0xffff; + pango_attr_list_insert (list, attr); + } + + return list; +} + +static void +mg_create_tab_colors (void) +{ + if (plain_list) + { + pango_attr_list_unref (plain_list); + pango_attr_list_unref (newmsg_list); + pango_attr_list_unref (newdata_list); + pango_attr_list_unref (nickseen_list); + pango_attr_list_unref (away_list); + } + + plain_list = mg_attr_list_create (NULL, prefs.tab_small); + newdata_list = mg_attr_list_create (&colors[COL_NEW_DATA], prefs.tab_small); + nickseen_list = mg_attr_list_create (&colors[COL_HILIGHT], prefs.tab_small); + newmsg_list = mg_attr_list_create (&colors[COL_NEW_MSG], prefs.tab_small); + away_list = mg_attr_list_create (&colors[COL_AWAY], FALSE); +} + +#ifdef WIN32 +#define WINVER 0x0501 /* needed for vc6? */ +#include <windows.h> +#include <gdk/gdkwin32.h> + +/* Flash the taskbar button on Windows when there's a highlight event. */ + +static void +flash_window (GtkWidget *win) +{ + FLASHWINFO fi; + static HMODULE user = NULL; + static BOOL (*flash) (PFLASHWINFO) = NULL; + + if (!user) + { + user = GetModuleHandleA ("USER32"); + if (!user) + return; /* this should never fail */ + } + + if (!flash) + { + flash = (void *)GetProcAddress (user, "FlashWindowEx"); + if (!flash) + return; /* this fails on NT4.0 and Win95 */ + } + + fi.cbSize = sizeof (fi); + fi.hwnd = GDK_WINDOW_HWND (win->window); + fi.dwFlags = FLASHW_ALL | FLASHW_TIMERNOFG; + fi.uCount = 0; + fi.dwTimeout = 500; + flash (&fi); + /*FlashWindowEx (&fi);*/ +} +#else + +#ifdef USE_XLIB +#include <gdk/gdkx.h> + +static void +set_window_urgency (GtkWidget *win, gboolean set) +{ + XWMHints *hints; + + hints = XGetWMHints(GDK_WINDOW_XDISPLAY(win->window), GDK_WINDOW_XWINDOW(win->window)); + if (set) + hints->flags |= XUrgencyHint; + else + hints->flags &= ~XUrgencyHint; + XSetWMHints(GDK_WINDOW_XDISPLAY(win->window), + GDK_WINDOW_XWINDOW(win->window), hints); + XFree(hints); +} + +static void +flash_window (GtkWidget *win) +{ + set_window_urgency (win, TRUE); +} + +static void +unflash_window (GtkWidget *win) +{ + set_window_urgency (win, FALSE); +} +#endif +#endif + +/* flash the taskbar button */ + +void +fe_flash_window (session *sess) +{ +#if defined(WIN32) || defined(USE_XLIB) + if (fe_gui_info (sess, 0) != 1) /* only do it if not focused */ + flash_window (sess->gui->window); +#endif +} + +/* set a tab plain, red, light-red, or blue */ + +void +fe_set_tab_color (struct session *sess, int col) +{ + struct session *server_sess = sess->server->server_session; + if (sess->gui->is_tab && (col == 0 || sess != current_tab)) + { + switch (col) + { + case 0: /* no particular color (theme default) */ + sess->new_data = FALSE; + sess->msg_said = FALSE; + sess->nick_said = FALSE; + chan_set_color (sess->res->tab, plain_list); + break; + case 1: /* new data has been displayed (dark red) */ + sess->new_data = TRUE; + sess->msg_said = FALSE; + sess->nick_said = FALSE; + chan_set_color (sess->res->tab, newdata_list); + + if (chan_is_collapsed (sess->res->tab)) + { + server_sess->new_data = TRUE; + server_sess->msg_said = FALSE; + server_sess->nick_said = FALSE; + chan_set_color (chan_get_parent (sess->res->tab), newdata_list); + } + + break; + case 2: /* new message arrived in channel (light red) */ + sess->new_data = FALSE; + sess->msg_said = TRUE; + sess->nick_said = FALSE; + chan_set_color (sess->res->tab, newmsg_list); + + if (chan_is_collapsed (sess->res->tab)) + { + server_sess->new_data = FALSE; + server_sess->msg_said = TRUE; + server_sess->nick_said = FALSE; + chan_set_color (chan_get_parent (sess->res->tab), newmsg_list); + } + + break; + case 3: /* your nick has been seen (blue) */ + sess->new_data = FALSE; + sess->msg_said = FALSE; + sess->nick_said = TRUE; + chan_set_color (sess->res->tab, nickseen_list); + + if (chan_is_collapsed (sess->res->tab)) + { + server_sess->new_data = FALSE; + server_sess->msg_said = FALSE; + server_sess->nick_said = TRUE; + chan_set_color (chan_get_parent (sess->res->tab), nickseen_list); + } + + break; + } + } +} + +static void +mg_set_myself_away (session_gui *gui, gboolean away) +{ + gtk_label_set_attributes (GTK_LABEL (GTK_BIN (gui->nick_label)->child), + away ? away_list : NULL); +} + +/* change the little icon to the left of your nickname */ + +void +mg_set_access_icon (session_gui *gui, GdkPixbuf *pix, gboolean away) +{ + if (gui->op_xpm) + { + if (pix == gtk_image_get_pixbuf (GTK_IMAGE (gui->op_xpm))) /* no change? */ + { + mg_set_myself_away (gui, away); + return; + } + + gtk_widget_destroy (gui->op_xpm); + gui->op_xpm = NULL; + } + + if (pix) + { + gui->op_xpm = gtk_image_new_from_pixbuf (pix); + gtk_box_pack_start (GTK_BOX (gui->nick_box), gui->op_xpm, 0, 0, 0); + gtk_widget_show (gui->op_xpm); + } + + mg_set_myself_away (gui, away); +} + +static gboolean +mg_inputbox_focus (GtkWidget *widget, GdkEventFocus *event, session_gui *gui) +{ + GSList *list; + session *sess; + + if (gui->is_tab) + return FALSE; + + list = sess_list; + while (list) + { + sess = list->data; + if (sess->gui == gui) + { + current_sess = sess; + if (!sess->server->server_session) + sess->server->server_session = sess; + break; + } + list = list->next; + } + + return FALSE; +} + +void +mg_inputbox_cb (GtkWidget *igad, session_gui *gui) +{ + char *cmd; + static int ignore = FALSE; + GSList *list; + session *sess = NULL; + + if (ignore) + return; + + cmd = SPELL_ENTRY_GET_TEXT (igad); + if (cmd[0] == 0) + return; + + cmd = strdup (cmd); + + /* avoid recursive loop */ + ignore = TRUE; + SPELL_ENTRY_SET_TEXT (igad, ""); + ignore = FALSE; + + /* where did this event come from? */ + if (gui->is_tab) + { + sess = current_tab; + } else + { + list = sess_list; + while (list) + { + sess = list->data; + if (sess->gui == gui) + break; + list = list->next; + } + if (!list) + sess = NULL; + } + + if (sess) + handle_multiline (sess, cmd, TRUE, FALSE); + + free (cmd); +} + +static gboolean +has_key (char *modes) +{ + if (!modes) + return FALSE; + /* this is a crude check, but "-k" can't exist, so it works. */ + while (*modes) + { + if (*modes == 'k') + return TRUE; + if (*modes == ' ') + return FALSE; + modes++; + } + return FALSE; +} + +void +fe_set_title (session *sess) +{ + char tbuf[512]; + int type; + + if (sess->gui->is_tab && sess != current_tab) + return; + + type = sess->type; + + if (sess->server->connected == FALSE && sess->type != SESS_DIALOG) + goto def; + + switch (type) + { + case SESS_DIALOG: + snprintf (tbuf, sizeof (tbuf), DISPLAY_NAME": %s %s @ %s", + _("Dialog with"), sess->channel, server_get_network (sess->server, TRUE)); + break; + case SESS_SERVER: + snprintf (tbuf, sizeof (tbuf), DISPLAY_NAME": %s @ %s", + sess->server->nick, server_get_network (sess->server, TRUE)); + break; + case SESS_CHANNEL: + /* don't display keys in the titlebar */ + if ((!(prefs.gui_tweaks & 16)) && has_key (sess->current_modes)) + snprintf (tbuf, sizeof (tbuf), + DISPLAY_NAME": %s @ %s / %s", + sess->server->nick, server_get_network (sess->server, TRUE), + sess->channel); + else + snprintf (tbuf, sizeof (tbuf), + DISPLAY_NAME": %s @ %s / %s (%s)", + sess->server->nick, server_get_network (sess->server, TRUE), + sess->channel, sess->current_modes ? sess->current_modes : ""); + if (prefs.gui_tweaks & 1) + snprintf (tbuf + strlen (tbuf), 9, " (%d)", sess->total); + break; + case SESS_NOTICES: + case SESS_SNOTICES: + snprintf (tbuf, sizeof (tbuf), DISPLAY_NAME": %s @ %s (notices)", + sess->server->nick, server_get_network (sess->server, TRUE)); + break; + default: + def: + gtk_window_set_title (GTK_WINDOW (sess->gui->window), DISPLAY_NAME); + return; + } + + gtk_window_set_title (GTK_WINDOW (sess->gui->window), tbuf); +} + +static gboolean +mg_windowstate_cb (GtkWindow *wid, GdkEventWindowState *event, gpointer userdata) +{ + prefs.gui_win_state = 0; + if (event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED) + prefs.gui_win_state = 1; + + if ((event->changed_mask & GDK_WINDOW_STATE_ICONIFIED) && + (event->new_window_state & GDK_WINDOW_STATE_ICONIFIED) && + (prefs.gui_tray_flags & 4)) + { + tray_toggle_visibility (TRUE); + gtk_window_deiconify (wid); + } + + return FALSE; +} + +static gboolean +mg_configure_cb (GtkWidget *wid, GdkEventConfigure *event, session *sess) +{ + if (sess == NULL) /* for the main_window */ + { + if (mg_gui) + { + if (prefs.mainwindow_save) + { + sess = current_sess; + gtk_window_get_position (GTK_WINDOW (wid), &prefs.mainwindow_left, + &prefs.mainwindow_top); + gtk_window_get_size (GTK_WINDOW (wid), &prefs.mainwindow_width, + &prefs.mainwindow_height); + } + } + } + + if (sess) + { + if (sess->type == SESS_DIALOG && prefs.mainwindow_save) + { + gtk_window_get_position (GTK_WINDOW (wid), &prefs.dialog_left, + &prefs.dialog_top); + gtk_window_get_size (GTK_WINDOW (wid), &prefs.dialog_width, + &prefs.dialog_height); + } + + if (((GtkXText *) sess->gui->xtext)->transparent) + gtk_widget_queue_draw (sess->gui->xtext); + } + + return FALSE; +} + +/* move to a non-irc tab */ + +static void +mg_show_generic_tab (GtkWidget *box) +{ + int num; + GtkWidget *f = NULL; + +#if defined(GTK_WIDGET_HAS_FOCUS) + if (current_sess && GTK_WIDGET_HAS_FOCUS (current_sess->gui->input_box)) +#else + if (current_sess && gtk_widget_has_focus (current_sess->gui->input_box)) +#endif + f = current_sess->gui->input_box; + + num = gtk_notebook_page_num (GTK_NOTEBOOK (mg_gui->note_book), box); + gtk_notebook_set_current_page (GTK_NOTEBOOK (mg_gui->note_book), num); + gtk_tree_view_set_model (GTK_TREE_VIEW (mg_gui->user_tree), NULL); + gtk_window_set_title (GTK_WINDOW (mg_gui->window), + g_object_get_data (G_OBJECT (box), "title")); + gtk_widget_set_sensitive (mg_gui->menu, FALSE); + + if (f) + gtk_widget_grab_focus (f); +} + +/* a channel has been focused */ + +static void +mg_focus (session *sess) +{ + if (sess->gui->is_tab) + current_tab = sess; + current_sess = sess; + + /* dirty trick to avoid auto-selection */ + SPELL_ENTRY_SET_EDITABLE (sess->gui->input_box, FALSE); + gtk_widget_grab_focus (sess->gui->input_box); + SPELL_ENTRY_SET_EDITABLE (sess->gui->input_box, TRUE); + + sess->server->front_session = sess; + + if (sess->server->server_session != NULL) + { + if (sess->server->server_session->type != SESS_SERVER) + sess->server->server_session = sess; + } else + { + sess->server->server_session = sess; + } + + if (sess->new_data || sess->nick_said || sess->msg_said) + { + sess->nick_said = FALSE; + sess->msg_said = FALSE; + sess->new_data = FALSE; + /* when called via mg_changui_new, is_tab might be true, but + sess->res->tab is still NULL. */ + if (sess->res->tab) + fe_set_tab_color (sess, 0); + } +} + +static int +mg_progressbar_update (GtkWidget *bar) +{ + static int type = 0; + static float pos = 0; + + pos += 0.05; + if (pos >= 0.99) + { + if (type == 0) + { + type = 1; + gtk_progress_bar_set_orientation ((GtkProgressBar *) bar, + GTK_PROGRESS_RIGHT_TO_LEFT); + } else + { + type = 0; + gtk_progress_bar_set_orientation ((GtkProgressBar *) bar, + GTK_PROGRESS_LEFT_TO_RIGHT); + } + pos = 0.05; + } + gtk_progress_bar_set_fraction ((GtkProgressBar *) bar, pos); + return 1; +} + +void +mg_progressbar_create (session_gui *gui) +{ + gui->bar = gtk_progress_bar_new (); + gtk_box_pack_start (GTK_BOX (gui->nick_box), gui->bar, 0, 0, 0); + gtk_widget_show (gui->bar); + gui->bartag = fe_timeout_add (50, mg_progressbar_update, gui->bar); +} + +void +mg_progressbar_destroy (session_gui *gui) +{ + fe_timeout_remove (gui->bartag); + gtk_widget_destroy (gui->bar); + gui->bar = 0; + gui->bartag = 0; +} + +/* switching tabs away from this one, so remember some info about it! */ + +static void +mg_unpopulate (session *sess) +{ + restore_gui *res; + session_gui *gui; + int i; + + gui = sess->gui; + res = sess->res; + + res->input_text = strdup (SPELL_ENTRY_GET_TEXT (gui->input_box)); + res->topic_text = strdup (GTK_ENTRY (gui->topic_entry)->text); + res->limit_text = strdup (GTK_ENTRY (gui->limit_entry)->text); + res->key_text = strdup (GTK_ENTRY (gui->key_entry)->text); + if (gui->laginfo) + res->lag_text = strdup (gtk_label_get_text (GTK_LABEL (gui->laginfo))); + if (gui->throttleinfo) + res->queue_text = strdup (gtk_label_get_text (GTK_LABEL (gui->throttleinfo))); + + for (i = 0; i < NUM_FLAG_WIDS - 1; i++) + res->flag_wid_state[i] = GTK_TOGGLE_BUTTON (gui->flag_wid[i])->active; + + res->old_ul_value = userlist_get_value (gui->user_tree); + if (gui->lagometer) + res->lag_value = gtk_progress_bar_get_fraction ( + GTK_PROGRESS_BAR (gui->lagometer)); + if (gui->throttlemeter) + res->queue_value = gtk_progress_bar_get_fraction ( + GTK_PROGRESS_BAR (gui->throttlemeter)); + + if (gui->bar) + { + res->c_graph = TRUE; /* still have a graph, just not visible now */ + mg_progressbar_destroy (gui); + } +} + +static void +mg_restore_label (GtkWidget *label, char **text) +{ + if (!label) + return; + + if (*text) + { + gtk_label_set_text (GTK_LABEL (label), *text); + free (*text); + *text = NULL; + } else + { + gtk_label_set_text (GTK_LABEL (label), ""); + } +} + +static void +mg_restore_entry (GtkWidget *entry, char **text) +{ + if (*text) + { + gtk_entry_set_text (GTK_ENTRY (entry), *text); + free (*text); + *text = NULL; + } else + { + gtk_entry_set_text (GTK_ENTRY (entry), ""); + } + gtk_editable_set_position (GTK_EDITABLE (entry), -1); +} + +static void +mg_restore_speller (GtkWidget *entry, char **text) +{ + if (*text) + { + SPELL_ENTRY_SET_TEXT (entry, *text); + free (*text); + *text = NULL; + } else + { + SPELL_ENTRY_SET_TEXT (entry, ""); + } + SPELL_ENTRY_SET_POS (entry, -1); +} + +void +mg_set_topic_tip (session *sess) +{ + char *text; + + switch (sess->type) + { + case SESS_CHANNEL: + if (sess->topic) + { + text = g_strdup_printf (_("Topic for %s is: %s"), sess->channel, + sess->topic); + add_tip (sess->gui->topic_entry, text); + g_free (text); + } else + add_tip (sess->gui->topic_entry, _("No topic is set")); + break; + default: + if (GTK_ENTRY (sess->gui->topic_entry)->text && + GTK_ENTRY (sess->gui->topic_entry)->text[0]) + add_tip (sess->gui->topic_entry, GTK_ENTRY (sess->gui->topic_entry)->text); + else + add_tip (sess->gui->topic_entry, NULL); + } +} + +static void +mg_hide_empty_pane (GtkPaned *pane) +{ +#if defined(GTK_WIDGET_VISIBLE) + if ((pane->child1 == NULL || !GTK_WIDGET_VISIBLE (pane->child1)) && + (pane->child2 == NULL || !GTK_WIDGET_VISIBLE (pane->child2))) +#else + if ((pane->child1 == NULL || !gtk_widget_get_visible (pane->child1)) && + (pane->child2 == NULL || !gtk_widget_get_visible (pane->child2))) +#endif + { + gtk_widget_hide (GTK_WIDGET (pane)); + return; + } + + gtk_widget_show (GTK_WIDGET (pane)); +} + +static void +mg_hide_empty_boxes (session_gui *gui) +{ + /* hide empty vpanes - so the handle is not shown */ + mg_hide_empty_pane ((GtkPaned*)gui->vpane_right); + mg_hide_empty_pane ((GtkPaned*)gui->vpane_left); +} + +static void +mg_userlist_showhide (session *sess, int show) +{ + session_gui *gui = sess->gui; + int handle_size; + + if (show) + { + gtk_widget_show (gui->user_box); + gui->ul_hidden = 0; + + gtk_widget_style_get (GTK_WIDGET (gui->hpane_right), "handle-size", &handle_size, NULL); + gtk_paned_set_position (GTK_PANED (gui->hpane_right), GTK_WIDGET (gui->hpane_right)->allocation.width - (prefs.gui_pane_right_size + handle_size)); + } + else + { + gtk_widget_hide (gui->user_box); + gui->ul_hidden = 1; + } + + mg_hide_empty_boxes (gui); +} + +static gboolean +mg_is_userlist_and_tree_combined (void) +{ + if (prefs.tab_pos == POS_TOPLEFT && prefs.gui_ulist_pos == POS_BOTTOMLEFT) + return TRUE; + if (prefs.tab_pos == POS_BOTTOMLEFT && prefs.gui_ulist_pos == POS_TOPLEFT) + return TRUE; + + if (prefs.tab_pos == POS_TOPRIGHT && prefs.gui_ulist_pos == POS_BOTTOMRIGHT) + return TRUE; + if (prefs.tab_pos == POS_BOTTOMRIGHT && prefs.gui_ulist_pos == POS_TOPRIGHT) + return TRUE; + + return FALSE; +} + +/* decide if the userlist should be shown or hidden for this tab */ + +void +mg_decide_userlist (session *sess, gboolean switch_to_current) +{ + /* when called from menu.c we need this */ + if (sess->gui == mg_gui && switch_to_current) + sess = current_tab; + + if (prefs.hideuserlist) + { + mg_userlist_showhide (sess, FALSE); + return; + } + + switch (sess->type) + { + case SESS_SERVER: + case SESS_DIALOG: + case SESS_NOTICES: + case SESS_SNOTICES: + if (mg_is_userlist_and_tree_combined ()) + mg_userlist_showhide (sess, TRUE); /* show */ + else + mg_userlist_showhide (sess, FALSE); /* hide */ + break; + default: + mg_userlist_showhide (sess, TRUE); /* show */ + } +} + +static void +mg_userlist_toggle_cb (GtkWidget *button, gpointer userdata) +{ + prefs.hideuserlist = !prefs.hideuserlist; + mg_decide_userlist (current_sess, FALSE); + gtk_widget_grab_focus (current_sess->gui->input_box); +} + +static int ul_tag = 0; + +static gboolean +mg_populate_userlist (session *sess) +{ + session_gui *gui; + + if (!sess) + sess = current_tab; + + if (is_session (sess)) + { + gui = sess->gui; + if (sess->type == SESS_DIALOG) + mg_set_access_icon (sess->gui, NULL, sess->server->is_away); + else + mg_set_access_icon (sess->gui, get_user_icon (sess->server, sess->me), sess->server->is_away); + userlist_show (sess); + userlist_set_value (sess->gui->user_tree, sess->res->old_ul_value); + } + + ul_tag = 0; + return 0; +} + +/* fill the irc tab with a new channel */ + +static void +mg_populate (session *sess) +{ + session_gui *gui = sess->gui; + restore_gui *res = sess->res; + int i, render = TRUE; + guint16 vis = gui->ul_hidden; + + switch (sess->type) + { + case SESS_DIALOG: + /* show the dialog buttons */ + gtk_widget_show (gui->dialogbutton_box); + /* hide the chan-mode buttons */ + gtk_widget_hide (gui->topicbutton_box); + /* hide the userlist */ + mg_decide_userlist (sess, FALSE); + /* shouldn't edit the topic */ + gtk_editable_set_editable (GTK_EDITABLE (gui->topic_entry), FALSE); + break; + case SESS_SERVER: + if (prefs.chanmodebuttons) + gtk_widget_show (gui->topicbutton_box); + /* hide the dialog buttons */ + gtk_widget_hide (gui->dialogbutton_box); + /* hide the userlist */ + mg_decide_userlist (sess, FALSE); + /* shouldn't edit the topic */ + gtk_editable_set_editable (GTK_EDITABLE (gui->topic_entry), FALSE); + break; + default: + /* hide the dialog buttons */ + gtk_widget_hide (gui->dialogbutton_box); + if (prefs.chanmodebuttons) + gtk_widget_show (gui->topicbutton_box); + /* show the userlist */ + mg_decide_userlist (sess, FALSE); + /* let the topic be editted */ + gtk_editable_set_editable (GTK_EDITABLE (gui->topic_entry), TRUE); + } + + /* move to THE irc tab */ + if (gui->is_tab) + gtk_notebook_set_current_page (GTK_NOTEBOOK (gui->note_book), 0); + + /* xtext size change? Then don't render, wait for the expose caused + by showing/hidding the userlist */ + if (vis != gui->ul_hidden && gui->user_box->allocation.width > 1) + render = FALSE; + + gtk_xtext_buffer_show (GTK_XTEXT (gui->xtext), res->buffer, render); + + if (gui->is_tab) + gtk_widget_set_sensitive (gui->menu, TRUE); + + /* restore all the GtkEntry's */ + mg_restore_entry (gui->topic_entry, &res->topic_text); + mg_restore_speller (gui->input_box, &res->input_text); + mg_restore_entry (gui->key_entry, &res->key_text); + mg_restore_entry (gui->limit_entry, &res->limit_text); + mg_restore_label (gui->laginfo, &res->lag_text); + mg_restore_label (gui->throttleinfo, &res->queue_text); + + mg_focus (sess); + fe_set_title (sess); + + /* this one flickers, so only change if necessary */ + if (strcmp (sess->server->nick, gtk_button_get_label (GTK_BUTTON (gui->nick_label))) != 0) + gtk_button_set_label (GTK_BUTTON (gui->nick_label), sess->server->nick); + + /* this is slow, so make it a timeout event */ + if (!gui->is_tab) + { + mg_populate_userlist (sess); + } else + { + if (ul_tag == 0) + ul_tag = g_idle_add ((GSourceFunc)mg_populate_userlist, NULL); + } + + fe_userlist_numbers (sess); + + /* restore all the channel mode buttons */ + ignore_chanmode = TRUE; + for (i = 0; i < NUM_FLAG_WIDS - 1; i++) + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gui->flag_wid[i]), + res->flag_wid_state[i]); + ignore_chanmode = FALSE; + + if (gui->lagometer) + { + gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (gui->lagometer), + res->lag_value); + if (res->lag_tip) + add_tip (sess->gui->lagometer->parent, res->lag_tip); + } + if (gui->throttlemeter) + { + gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (gui->throttlemeter), + res->queue_value); + if (res->queue_tip) + add_tip (sess->gui->throttlemeter->parent, res->queue_tip); + } + + /* did this tab have a connecting graph? restore it.. */ + if (res->c_graph) + { + res->c_graph = FALSE; + mg_progressbar_create (gui); + } + + /* menu items */ + GTK_CHECK_MENU_ITEM (gui->menu_item[MENU_ID_AWAY])->active = sess->server->is_away; + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_AWAY], sess->server->connected); + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_JOIN], sess->server->end_of_motd); + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_DISCONNECT], + sess->server->connected || sess->server->recondelay_tag); + + mg_set_topic_tip (sess); + + plugin_emit_dummy_print (sess, "Focus Tab"); +} + +void +mg_bring_tofront_sess (session *sess) /* IRC tab or window */ +{ + if (sess->gui->is_tab) + chan_focus (sess->res->tab); + else + gtk_window_present (GTK_WINDOW (sess->gui->window)); +} + +void +mg_bring_tofront (GtkWidget *vbox) /* non-IRC tab or window */ +{ + chan *ch; + + ch = g_object_get_data (G_OBJECT (vbox), "ch"); + if (ch) + chan_focus (ch); + else + gtk_window_present (GTK_WINDOW (gtk_widget_get_toplevel (vbox))); +} + +void +mg_switch_page (int relative, int num) +{ + if (mg_gui) + chanview_move_focus (mg_gui->chanview, relative, num); +} + +/* a toplevel IRC window was destroyed */ + +static void +mg_topdestroy_cb (GtkWidget *win, session *sess) +{ +/* printf("enter mg_topdestroy. sess %p was destroyed\n", sess);*/ + + /* kill the text buffer */ + gtk_xtext_buffer_free (sess->res->buffer); + /* kill the user list */ + g_object_unref (G_OBJECT (sess->res->user_model)); + + session_free (sess); /* tell xchat.c about it */ +} + +/* cleanup an IRC tab */ + +static void +mg_ircdestroy (session *sess) +{ + GSList *list; + + /* kill the text buffer */ + gtk_xtext_buffer_free (sess->res->buffer); + /* kill the user list */ + g_object_unref (G_OBJECT (sess->res->user_model)); + + session_free (sess); /* tell xchat.c about it */ + + if (mg_gui == NULL) + { +/* puts("-> mg_gui is already NULL");*/ + return; + } + + list = sess_list; + while (list) + { + sess = list->data; + if (sess->gui->is_tab) + { +/* puts("-> some tabs still remain");*/ + return; + } + list = list->next; + } + +/* puts("-> no tabs left, killing main tabwindow");*/ + gtk_widget_destroy (mg_gui->window); + active_tab = NULL; + mg_gui = NULL; + parent_window = NULL; +} + +static void +mg_tab_close_cb (GtkWidget *dialog, gint arg1, session *sess) +{ + GSList *list, *next; + + gtk_widget_destroy (dialog); + if (arg1 == GTK_RESPONSE_OK && is_session (sess)) + { + /* force it NOT to send individual PARTs */ + sess->server->sent_quit = TRUE; + + for (list = sess_list; list;) + { + next = list->next; + if (((session *)list->data)->server == sess->server && + ((session *)list->data) != sess) + fe_close_window ((session *)list->data); + list = next; + } + + /* just send one QUIT - better for BNCs */ + sess->server->sent_quit = FALSE; + fe_close_window (sess); + } +} + +void +mg_tab_close (session *sess) +{ + GtkWidget *dialog; + GSList *list; + int i; + + if (chan_remove (sess->res->tab, FALSE)) + mg_ircdestroy (sess); + else + { + for (i = 0, list = sess_list; list; list = list->next) + if (((session *)list->data)->server == sess->server) + i++; + dialog = gtk_message_dialog_new (GTK_WINDOW (parent_window), 0, + GTK_MESSAGE_WARNING, GTK_BUTTONS_OK_CANCEL, + _("This server still has %d channels or dialogs associated with it. " + "Close them all?"), i); + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (mg_tab_close_cb), sess); + if (prefs.tab_layout) + { + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); + } + else + { + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER_ON_PARENT); + } + gtk_widget_show (dialog); + } +} + +static void +mg_menu_destroy (GtkWidget *menu, gpointer userdata) +{ + gtk_widget_destroy (menu); + g_object_unref (menu); +} + +void +mg_create_icon_item (char *label, char *stock, GtkWidget *menu, + void *callback, void *userdata) +{ + GtkWidget *item; + + item = create_icon_menu (label, stock, TRUE); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (callback), + userdata); + gtk_widget_show (item); +} + +static int +mg_count_networks (void) +{ + int cons = 0; + GSList *list; + + for (list = serv_list; list; list = list->next) + { + if (((server *)list->data)->connected) + cons++; + } + return cons; +} + +static int +mg_count_dccs (void) +{ + GSList *list; + struct DCC *dcc; + int dccs = 0; + + list = dcc_list; + while (list) + { + dcc = list->data; + if ((dcc->type == TYPE_SEND || dcc->type == TYPE_RECV) && + dcc->dccstat == STAT_ACTIVE) + dccs++; + list = list->next; + } + + return dccs; +} + +void +mg_open_quit_dialog (gboolean minimize_button) +{ + static GtkWidget *dialog = NULL; + GtkWidget *dialog_vbox1; + GtkWidget *table1; + GtkWidget *image; + GtkWidget *checkbutton1; + GtkWidget *label; + GtkWidget *dialog_action_area1; + GtkWidget *button; + char *text, *connecttext; + int cons; + int dccs; + + if (dialog) + { + gtk_window_present (GTK_WINDOW (dialog)); + return; + } + + dccs = mg_count_dccs (); + cons = mg_count_networks (); + if (dccs + cons == 0 || !prefs.gui_quit_dialog) + { + xchat_exit (); + return; + } + + dialog = gtk_dialog_new (); + gtk_container_set_border_width (GTK_CONTAINER (dialog), 6); + gtk_window_set_title (GTK_WINDOW (dialog), _("Quit XChat?")); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent_window)); + gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE); + gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE); + + dialog_vbox1 = GTK_DIALOG (dialog)->vbox; + gtk_widget_show (dialog_vbox1); + + table1 = gtk_table_new (2, 2, FALSE); + gtk_widget_show (table1); + gtk_box_pack_start (GTK_BOX (dialog_vbox1), table1, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (table1), 6); + gtk_table_set_row_spacings (GTK_TABLE (table1), 12); + gtk_table_set_col_spacings (GTK_TABLE (table1), 12); + + image = gtk_image_new_from_stock ("gtk-dialog-warning", GTK_ICON_SIZE_DIALOG); + gtk_widget_show (image); + gtk_table_attach (GTK_TABLE (table1), image, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + + checkbutton1 = gtk_check_button_new_with_mnemonic (_("Don't ask next time.")); + gtk_widget_show (checkbutton1); + gtk_table_attach (GTK_TABLE (table1), checkbutton1, 0, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 4); + + connecttext = g_strdup_printf (_("You are connected to %i IRC networks."), cons); + text = g_strdup_printf ("<span weight=\"bold\" size=\"larger\">%s</span>\n\n%s\n%s", + _("Are you sure you want to quit?"), + cons ? connecttext : "", + dccs ? _("Some file transfers are still active.") : ""); + g_free (connecttext); + label = gtk_label_new (text); + g_free (text); + gtk_widget_show (label); + gtk_table_attach (GTK_TABLE (table1), label, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (label), TRUE); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + + dialog_action_area1 = GTK_DIALOG (dialog)->action_area; + gtk_widget_show (dialog_action_area1); + gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), + GTK_BUTTONBOX_END); + + if (minimize_button) + { + button = gtk_button_new_with_mnemonic (_("_Minimize to Tray")); + gtk_widget_show (button); + gtk_dialog_add_action_widget (GTK_DIALOG (dialog), button, 1); + } + + button = gtk_button_new_from_stock ("gtk-cancel"); + gtk_widget_show (button); + gtk_dialog_add_action_widget (GTK_DIALOG (dialog), button, + GTK_RESPONSE_CANCEL); + gtk_widget_grab_focus (button); + + button = gtk_button_new_from_stock ("gtk-quit"); + gtk_widget_show (button); + gtk_dialog_add_action_widget (GTK_DIALOG (dialog), button, 0); + + gtk_widget_show (dialog); + + switch (gtk_dialog_run (GTK_DIALOG (dialog))) + { + case 0: + if (GTK_TOGGLE_BUTTON (checkbutton1)->active) + prefs.gui_quit_dialog = 0; + xchat_exit (); + break; + case 1: /* minimize to tray */ + if (GTK_TOGGLE_BUTTON (checkbutton1)->active) + { + prefs.gui_tray_flags |= 1; + /*prefs.gui_quit_dialog = 0;*/ + } + /* force tray icon ON, if not already */ + if (!prefs.gui_tray) + { + prefs.gui_tray = 1; + tray_apply_setup (); + } + tray_toggle_visibility (TRUE); + break; + } + + gtk_widget_destroy (dialog); + dialog = NULL; +} + +void +mg_close_sess (session *sess) +{ + if (sess_list->next == NULL) + { + mg_open_quit_dialog (FALSE); + return; + } + + fe_close_window (sess); +} + +static int +mg_chan_remove (chan *ch) +{ + /* remove the tab from chanview */ + chan_remove (ch, TRUE); + /* any tabs left? */ + if (chanview_get_size (mg_gui->chanview) < 1) + { + /* if not, destroy the main tab window */ + gtk_widget_destroy (mg_gui->window); + current_tab = NULL; + active_tab = NULL; + mg_gui = NULL; + parent_window = NULL; + return TRUE; + } + return FALSE; +} + +/* destroy non-irc tab/window */ + +static void +mg_close_gen (chan *ch, GtkWidget *box) +{ + char *title = g_object_get_data (G_OBJECT (box), "title"); + + if (title) + free (title); + if (!ch) + ch = g_object_get_data (G_OBJECT (box), "ch"); + if (ch) + { + /* remove from notebook */ + gtk_widget_destroy (box); + /* remove the tab from chanview */ + mg_chan_remove (ch); + } else + { + gtk_widget_destroy (gtk_widget_get_toplevel (box)); + } +} + +/* the "X" close button has been pressed (tab-view) */ + +static void +mg_xbutton_cb (chanview *cv, chan *ch, int tag, gpointer userdata) +{ + if (tag == TAG_IRC) /* irc tab */ + mg_close_sess (userdata); + else /* non-irc utility tab */ + mg_close_gen (ch, userdata); +} + +static void +mg_link_gentab (chan *ch, GtkWidget *box) +{ + int num; + GtkWidget *win; + + g_object_ref (box); + + num = gtk_notebook_page_num (GTK_NOTEBOOK (mg_gui->note_book), box); + gtk_notebook_remove_page (GTK_NOTEBOOK (mg_gui->note_book), num); + mg_chan_remove (ch); + + win = gtkutil_window_new (g_object_get_data (G_OBJECT (box), "title"), "", + GPOINTER_TO_INT (g_object_get_data (G_OBJECT (box), "w")), + GPOINTER_TO_INT (g_object_get_data (G_OBJECT (box), "h")), + 3); + /* so it doesn't try to chan_remove (there's no tab anymore) */ + g_object_steal_data (G_OBJECT (box), "ch"); + gtk_container_set_border_width (GTK_CONTAINER (box), 0); + gtk_container_add (GTK_CONTAINER (win), box); + gtk_widget_show (win); + + g_object_unref (box); +} + +static void +mg_detach_tab_cb (GtkWidget *item, chan *ch) +{ + if (chan_get_tag (ch) == TAG_IRC) /* IRC tab */ + { + /* userdata is session * */ + mg_link_irctab (chan_get_userdata (ch), 1); + return; + } + + /* userdata is GtkWidget * */ + mg_link_gentab (ch, chan_get_userdata (ch)); /* non-IRC tab */ +} + +static void +mg_destroy_tab_cb (GtkWidget *item, chan *ch) +{ + /* treat it just like the X button press */ + mg_xbutton_cb (mg_gui->chanview, ch, chan_get_tag (ch), chan_get_userdata (ch)); +} + +static void +mg_color_insert (GtkWidget *item, gpointer userdata) +{ + char buf[32]; + char *text; + int num = GPOINTER_TO_INT (userdata); + + if (num > 99) + { + switch (num) + { + case 100: + text = "\002"; break; + case 101: + text = "\037"; break; + case 102: + text = "\035"; break; + default: + text = "\017"; break; + } + key_action_insert (current_sess->gui->input_box, 0, text, 0, 0); + } else + { + sprintf (buf, "\003%02d", num); + key_action_insert (current_sess->gui->input_box, 0, buf, 0, 0); + } +} + +static void +mg_markup_item (GtkWidget *menu, char *text, int arg) +{ + GtkWidget *item; + + item = gtk_menu_item_new_with_label (""); + gtk_label_set_markup (GTK_LABEL (GTK_BIN (item)->child), text); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (mg_color_insert), GINT_TO_POINTER (arg)); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); +} + +GtkWidget * +mg_submenu (GtkWidget *menu, char *text) +{ + GtkWidget *submenu, *item; + + item = gtk_menu_item_new_with_mnemonic (text); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + + submenu = gtk_menu_new (); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), submenu); + gtk_widget_show (submenu); + + return submenu; +} + +static void +mg_create_color_menu (GtkWidget *menu, session *sess) +{ + GtkWidget *submenu; + GtkWidget *subsubmenu; + char buf[256]; + int i; + + submenu = mg_submenu (menu, _("Insert Attribute or Color Code")); + + mg_markup_item (submenu, _("<b>Bold</b>"), 100); + mg_markup_item (submenu, _("<u>Underline</u>"), 101); + /*mg_markup_item (submenu, _("<i>Italic</i>"), 102);*/ + mg_markup_item (submenu, _("Normal"), 103); + + subsubmenu = mg_submenu (submenu, _("Colors 0-7")); + + for (i = 0; i < 8; i++) + { + sprintf (buf, "<tt><sup>%02d</sup> <span background=\"#%02x%02x%02x\">" + " </span></tt>", + i, colors[i].red >> 8, colors[i].green >> 8, colors[i].blue >> 8); + mg_markup_item (subsubmenu, buf, i); + } + + subsubmenu = mg_submenu (submenu, _("Colors 8-15")); + + for (i = 8; i < 16; i++) + { + sprintf (buf, "<tt><sup>%02d</sup> <span background=\"#%02x%02x%02x\">" + " </span></tt>", + i, colors[i].red >> 8, colors[i].green >> 8, colors[i].blue >> 8); + mg_markup_item (subsubmenu, buf, i); + } +} + +static void +mg_set_guint8 (GtkCheckMenuItem *item, guint8 *setting) +{ + session *sess = current_sess; + guint8 logging = sess->text_logging; + + *setting = SET_OFF; + if (item->active) + *setting = SET_ON; + + /* has the logging setting changed? */ + if (logging != sess->text_logging) + log_open_or_close (sess); +} + +static void +mg_perchan_menu_item (char *label, GtkWidget *menu, guint8 *setting, guint global) +{ + guint8 initial_value = *setting; + + /* if it's using global value, use that as initial state */ + if (initial_value == SET_DEFAULT) + initial_value = global; + + menu_toggle_item (label, menu, mg_set_guint8, setting, initial_value); +} + +static void +mg_create_perchannelmenu (session *sess, GtkWidget *menu) +{ + GtkWidget *submenu; + + submenu = menu_quick_sub (_("_Settings"), menu, NULL, XCMENU_MNEMONIC, -1); + + mg_perchan_menu_item (_("_Log to Disk"), submenu, &sess->text_logging, prefs.logging); + mg_perchan_menu_item (_("_Reload Scrollback"), submenu, &sess->text_scrollback, prefs.text_replay); + if (sess->type == SESS_CHANNEL) + mg_perchan_menu_item (_("_Hide Join/Part Messages"), submenu, &sess->text_hidejoinpart, prefs.confmode); +} + +static void +mg_create_alertmenu (session *sess, GtkWidget *menu) +{ + GtkWidget *submenu; + + submenu = menu_quick_sub (_("_Extra Alerts"), menu, NULL, XCMENU_MNEMONIC, -1); + + mg_perchan_menu_item (_("Beep on _Message"), submenu, &sess->alert_beep, prefs.input_beep_chans); + mg_perchan_menu_item (_("Blink Tray _Icon"), submenu, &sess->alert_tray, prefs.input_tray_chans); + mg_perchan_menu_item (_("Blink Task _Bar"), submenu, &sess->alert_taskbar, prefs.input_flash_chans); +} + +static void +mg_create_tabmenu (session *sess, GdkEventButton *event, chan *ch) +{ + GtkWidget *menu, *item; + char buf[256]; + + menu = gtk_menu_new (); + + if (sess) + { + char *name = g_markup_escape_text (sess->channel[0] ? sess->channel : _("<none>"), -1); + snprintf (buf, sizeof (buf), "<span foreground=\"#3344cc\"><b>%s</b></span>", name); + g_free (name); + + item = gtk_menu_item_new_with_label (""); + gtk_label_set_markup (GTK_LABEL (GTK_BIN (item)->child), buf); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + + /* separator */ + menu_quick_item (0, 0, menu, XCMENU_SHADED, 0, 0); + + /* per-channel alerts */ + mg_create_alertmenu (sess, menu); + + /* per-channel settings */ + mg_create_perchannelmenu (sess, menu); + + /* separator */ + menu_quick_item (0, 0, menu, XCMENU_SHADED, 0, 0); + + if (sess->type == SESS_CHANNEL) + menu_addfavoritemenu (sess->server, menu, sess->channel); + } + + mg_create_icon_item (_("_Detach"), GTK_STOCK_REDO, menu, + mg_detach_tab_cb, ch); + mg_create_icon_item (_("_Close"), GTK_STOCK_CLOSE, menu, + mg_destroy_tab_cb, ch); + if (sess && tabmenu_list) + menu_create (menu, tabmenu_list, sess->channel, FALSE); + menu_add_plugin_items (menu, "\x4$TAB", sess->channel); + + if (event->window) + gtk_menu_set_screen (GTK_MENU (menu), gdk_drawable_get_screen (event->window)); + g_object_ref (menu); + g_object_ref_sink (menu); + g_object_unref (menu); + g_signal_connect (G_OBJECT (menu), "selection-done", + G_CALLBACK (mg_menu_destroy), NULL); + gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, 0, event->time); +} + +static gboolean +mg_tab_contextmenu_cb (chanview *cv, chan *ch, int tag, gpointer ud, GdkEventButton *event) +{ + /* shift-click to close a tab */ + if ((event->state & GDK_SHIFT_MASK) && event->type == GDK_BUTTON_PRESS) + { + mg_xbutton_cb (cv, ch, tag, ud); + return FALSE; + } + + if (event->button != 3) + return FALSE; + + if (tag == TAG_IRC) + mg_create_tabmenu (ud, event, ch); + else + mg_create_tabmenu (NULL, event, ch); + + return TRUE; +} + +void +mg_dnd_drop_file (session *sess, char *target, char *uri) +{ + char *p, *data, *next, *fname; + + p = data = strdup (uri); + while (*p) + { + next = strchr (p, '\r'); + if (strncasecmp ("file:", p, 5) == 0) + { + if (next) + *next = 0; + fname = g_filename_from_uri (p, NULL, NULL); + if (fname) + { + /* dcc_send() expects utf-8 */ + p = xchat_filename_to_utf8 (fname, -1, 0, 0, 0); + if (p) + { + dcc_send (sess, target, p, prefs.dcc_max_send_cps, 0); + g_free (p); + } + g_free (fname); + } + } + if (!next) + break; + p = next + 1; + if (*p == '\n') + p++; + } + free (data); + +} + +static void +mg_dialog_dnd_drop (GtkWidget * widget, GdkDragContext * context, gint x, + gint y, GtkSelectionData * selection_data, guint info, + guint32 time, gpointer ud) +{ + if (current_sess->type == SESS_DIALOG) + /* sess->channel is really the nickname of dialogs */ + mg_dnd_drop_file (current_sess, current_sess->channel, selection_data->data); +} + +/* add a tabbed channel */ + +static void +mg_add_chan (session *sess) +{ + GdkPixbuf *icon; + char *name = _("<none>"); + + if (sess->channel[0]) + name = sess->channel; + + switch (sess->type) + { + case SESS_CHANNEL: + icon = pix_channel; + break; + case SESS_SERVER: + icon = pix_server; + break; + default: + icon = pix_dialog; + } + + sess->res->tab = chanview_add (sess->gui->chanview, name, sess->server, sess, + sess->type == SESS_SERVER ? FALSE : TRUE, + TAG_IRC, icon); + if (plain_list == NULL) + mg_create_tab_colors (); + + chan_set_color (sess->res->tab, plain_list); + + if (sess->res->buffer == NULL) + { + sess->res->buffer = gtk_xtext_buffer_new (GTK_XTEXT (sess->gui->xtext)); + gtk_xtext_set_time_stamp (sess->res->buffer, prefs.timestamp); + sess->res->user_model = userlist_create_model (); + } +} + +static void +mg_userlist_button (GtkWidget * box, char *label, char *cmd, + int a, int b, int c, int d) +{ + GtkWidget *wid = gtk_button_new_with_label (label); + g_signal_connect (G_OBJECT (wid), "clicked", + G_CALLBACK (userlist_button_cb), cmd); + gtk_table_attach_defaults (GTK_TABLE (box), wid, a, b, c, d); + show_and_unfocus (wid); +} + +static GtkWidget * +mg_create_userlistbuttons (GtkWidget *box) +{ + struct popup *pop; + GSList *list = button_list; + int a = 0, b = 0; + GtkWidget *tab; + + tab = gtk_table_new (5, 2, FALSE); + gtk_box_pack_end (GTK_BOX (box), tab, FALSE, FALSE, 0); + + while (list) + { + pop = list->data; + if (pop->cmd[0]) + { + mg_userlist_button (tab, pop->name, pop->cmd, a, a + 1, b, b + 1); + a++; + if (a == 2) + { + a = 0; + b++; + } + } + list = list->next; + } + + return tab; +} + +static void +mg_topic_cb (GtkWidget *entry, gpointer userdata) +{ + session *sess = current_sess; + char *text; + + if (sess->channel[0] && sess->server->connected && sess->type == SESS_CHANNEL) + { + text = GTK_ENTRY (entry)->text; + if (text[0] == 0) + text = NULL; + sess->server->p_topic (sess->server, sess->channel, text); + } else + gtk_entry_set_text (GTK_ENTRY (entry), ""); + /* restore focus to the input widget, where the next input will most +likely be */ + gtk_widget_grab_focus (sess->gui->input_box); +} + +static void +mg_tabwindow_kill_cb (GtkWidget *win, gpointer userdata) +{ + GSList *list, *next; + session *sess; + +/* puts("enter mg_tabwindow_kill_cb");*/ + xchat_is_quitting = TRUE; + + /* see if there's any non-tab windows left */ + list = sess_list; + while (list) + { + sess = list->data; + next = list->next; + if (!sess->gui->is_tab) + { + xchat_is_quitting = FALSE; +/* puts("-> will not exit, some toplevel windows left");*/ + } else + { + mg_ircdestroy (sess); + } + list = next; + } + + current_tab = NULL; + active_tab = NULL; + mg_gui = NULL; + parent_window = NULL; +} + +static GtkWidget * +mg_changui_destroy (session *sess) +{ + GtkWidget *ret = NULL; + + if (sess->gui->is_tab) + { + /* avoid calling the "destroy" callback */ + g_signal_handlers_disconnect_by_func (G_OBJECT (sess->gui->window), + mg_tabwindow_kill_cb, 0); + /* remove the tab from the chanview */ + if (!mg_chan_remove (sess->res->tab)) + /* if the window still exists, restore the signal handler */ + g_signal_connect (G_OBJECT (sess->gui->window), "destroy", + G_CALLBACK (mg_tabwindow_kill_cb), 0); + } else + { + /* avoid calling the "destroy" callback */ + g_signal_handlers_disconnect_by_func (G_OBJECT (sess->gui->window), + mg_topdestroy_cb, sess); + /*gtk_widget_destroy (sess->gui->window);*/ + /* don't destroy until the new one is created. Not sure why, but */ + /* it fixes: Gdk-CRITICAL **: gdk_colormap_get_screen: */ + /* assertion `GDK_IS_COLORMAP (cmap)' failed */ + ret = sess->gui->window; + free (sess->gui); + sess->gui = NULL; + } + return ret; +} + +static void +mg_link_irctab (session *sess, int focus) +{ + GtkWidget *win; + + if (sess->gui->is_tab) + { + win = mg_changui_destroy (sess); + mg_changui_new (sess, sess->res, 0, focus); + mg_populate (sess); + xchat_is_quitting = FALSE; + if (win) + gtk_widget_destroy (win); + return; + } + + mg_unpopulate (sess); + win = mg_changui_destroy (sess); + mg_changui_new (sess, sess->res, 1, focus); + /* the buffer is now attached to a different widget */ + ((xtext_buffer *)sess->res->buffer)->xtext = (GtkXText *)sess->gui->xtext; + if (win) + gtk_widget_destroy (win); +} + +void +mg_detach (session *sess, int mode) +{ + switch (mode) + { + /* detach only */ + case 1: + if (sess->gui->is_tab) + mg_link_irctab (sess, 1); + break; + /* attach only */ + case 2: + if (!sess->gui->is_tab) + mg_link_irctab (sess, 1); + break; + /* toggle */ + default: + mg_link_irctab (sess, 1); + } +} + +static int +check_is_number (char *t) +{ + while (*t) + { + if (*t < '0' || *t > '9') + return FALSE; + t++; + } + return TRUE; +} + +static void +mg_change_flag (GtkWidget * wid, session *sess, char flag) +{ + server *serv = sess->server; + char mode[3]; + + mode[1] = flag; + mode[2] = '\0'; + if (serv->connected && sess->channel[0]) + { + if (GTK_TOGGLE_BUTTON (wid)->active) + mode[0] = '+'; + else + mode[0] = '-'; + serv->p_mode (serv, sess->channel, mode); + serv->p_join_info (serv, sess->channel); + sess->ignore_mode = TRUE; + sess->ignore_date = TRUE; + } +} + +static void +flagl_hit (GtkWidget * wid, struct session *sess) +{ + char modes[512]; + const char *limit_str; + server *serv = sess->server; + + if (GTK_TOGGLE_BUTTON (wid)->active) + { + if (serv->connected && sess->channel[0]) + { + limit_str = gtk_entry_get_text (GTK_ENTRY (sess->gui->limit_entry)); + if (check_is_number ((char *)limit_str) == FALSE) + { + fe_message (_("User limit must be a number!\n"), FE_MSG_ERROR); + gtk_entry_set_text (GTK_ENTRY (sess->gui->limit_entry), ""); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), FALSE); + return; + } + snprintf (modes, sizeof (modes), "+l %d", atoi (limit_str)); + serv->p_mode (serv, sess->channel, modes); + serv->p_join_info (serv, sess->channel); + } + } else + mg_change_flag (wid, sess, 'l'); +} + +static void +flagk_hit (GtkWidget * wid, struct session *sess) +{ + char modes[512]; + server *serv = sess->server; + + if (serv->connected && sess->channel[0]) + { + snprintf (modes, sizeof (modes), "-k %s", + gtk_entry_get_text (GTK_ENTRY (sess->gui->key_entry))); + + if (GTK_TOGGLE_BUTTON (wid)->active) + modes[0] = '+'; + + serv->p_mode (serv, sess->channel, modes); + } +} + +static void +mg_flagbutton_cb (GtkWidget *but, char *flag) +{ + session *sess; + char mode; + + if (ignore_chanmode) + return; + + sess = current_sess; + mode = tolower ((unsigned char) flag[0]); + + switch (mode) + { + case 'l': + flagl_hit (but, sess); + break; + case 'k': + flagk_hit (but, sess); + break; + case 'b': + ignore_chanmode = TRUE; + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sess->gui->flag_b), FALSE); + ignore_chanmode = FALSE; + banlist_opengui (sess); + break; + default: + mg_change_flag (but, sess, mode); + } +} + +static GtkWidget * +mg_create_flagbutton (char *tip, GtkWidget *box, char *face) +{ + GtkWidget *wid; + + wid = gtk_toggle_button_new_with_label (face); + gtk_widget_set_size_request (wid, 18, 0); + add_tip (wid, tip); + gtk_box_pack_start (GTK_BOX (box), wid, 0, 0, 0); + g_signal_connect (G_OBJECT (wid), "toggled", + G_CALLBACK (mg_flagbutton_cb), face); + show_and_unfocus (wid); + + return wid; +} + +static void +mg_key_entry_cb (GtkWidget * igad, gpointer userdata) +{ + char modes[512]; + session *sess = current_sess; + server *serv = sess->server; + + if (serv->connected && sess->channel[0]) + { + snprintf (modes, sizeof (modes), "+k %s", + gtk_entry_get_text (GTK_ENTRY (igad))); + serv->p_mode (serv, sess->channel, modes); + serv->p_join_info (serv, sess->channel); + } +} + +static void +mg_limit_entry_cb (GtkWidget * igad, gpointer userdata) +{ + char modes[512]; + session *sess = current_sess; + server *serv = sess->server; + + if (serv->connected && sess->channel[0]) + { + if (check_is_number ((char *)gtk_entry_get_text (GTK_ENTRY (igad))) == FALSE) + { + gtk_entry_set_text (GTK_ENTRY (igad), ""); + fe_message (_("User limit must be a number!\n"), FE_MSG_ERROR); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sess->gui->flag_l), FALSE); + return; + } + snprintf (modes, sizeof(modes), "+l %d", + atoi (gtk_entry_get_text (GTK_ENTRY (igad)))); + serv->p_mode (serv, sess->channel, modes); + serv->p_join_info (serv, sess->channel); + } +} + +static void +mg_apply_entry_style (GtkWidget *entry) +{ + gtk_widget_modify_base (entry, GTK_STATE_NORMAL, &colors[COL_BG]); + gtk_widget_modify_text (entry, GTK_STATE_NORMAL, &colors[COL_FG]); + gtk_widget_modify_font (entry, input_style->font_desc); +} + +static void +mg_create_chanmodebuttons (session_gui *gui, GtkWidget *box) +{ + gui->flag_t = mg_create_flagbutton (_("Topic Protection"), box, "T"); + gui->flag_n = mg_create_flagbutton (_("No outside messages"), box, "N"); + gui->flag_s = mg_create_flagbutton (_("Secret"), box, "S"); + gui->flag_i = mg_create_flagbutton (_("Invite Only"), box, "I"); + gui->flag_p = mg_create_flagbutton (_("Private"), box, "P"); + gui->flag_m = mg_create_flagbutton (_("Moderated"), box, "M"); + gui->flag_b = mg_create_flagbutton (_("Ban List"), box, "B"); + + gui->flag_k = mg_create_flagbutton (_("Keyword"), box, "K"); + gui->key_entry = gtk_entry_new (); + gtk_widget_set_name (gui->key_entry, "xchat-inputbox"); + gtk_entry_set_max_length (GTK_ENTRY (gui->key_entry), 16); + gtk_widget_set_size_request (gui->key_entry, 30, -1); + gtk_box_pack_start (GTK_BOX (box), gui->key_entry, 0, 0, 0); + g_signal_connect (G_OBJECT (gui->key_entry), "activate", + G_CALLBACK (mg_key_entry_cb), NULL); + + if (prefs.style_inputbox) + mg_apply_entry_style (gui->key_entry); + + gui->flag_l = mg_create_flagbutton (_("User Limit"), box, "L"); + gui->limit_entry = gtk_entry_new (); + gtk_widget_set_name (gui->limit_entry, "xchat-inputbox"); + gtk_entry_set_max_length (GTK_ENTRY (gui->limit_entry), 10); + gtk_widget_set_size_request (gui->limit_entry, 30, -1); + gtk_box_pack_start (GTK_BOX (box), gui->limit_entry, 0, 0, 0); + g_signal_connect (G_OBJECT (gui->limit_entry), "activate", + G_CALLBACK (mg_limit_entry_cb), NULL); + + if (prefs.style_inputbox) + mg_apply_entry_style (gui->limit_entry); +} + +/*static void +mg_create_link_buttons (GtkWidget *box, gpointer userdata) +{ + gtkutil_button (box, GTK_STOCK_CLOSE, _("Close this tab/window"), + mg_x_click_cb, userdata, 0); + + if (!userdata) + gtkutil_button (box, GTK_STOCK_REDO, _("Attach/Detach this tab"), + mg_link_cb, userdata, 0); +}*/ + +static void +mg_dialog_button_cb (GtkWidget *wid, char *cmd) +{ + /* the longest cmd is 12, and the longest nickname is 64 */ + char buf[128]; + char *host = ""; + char *topic; + + if (!current_sess) + return; + + topic = (char *)(GTK_ENTRY (current_sess->gui->topic_entry)->text); + topic = strrchr (topic, '@'); + if (topic) + host = topic + 1; + + auto_insert (buf, sizeof (buf), cmd, 0, 0, "", "", "", + server_get_network (current_sess->server, TRUE), host, "", + current_sess->channel); + + handle_command (current_sess, buf, TRUE); + + /* dirty trick to avoid auto-selection */ + SPELL_ENTRY_SET_EDITABLE (current_sess->gui->input_box, FALSE); + gtk_widget_grab_focus (current_sess->gui->input_box); + SPELL_ENTRY_SET_EDITABLE (current_sess->gui->input_box, TRUE); +} + +static void +mg_dialog_button (GtkWidget *box, char *name, char *cmd) +{ + GtkWidget *wid; + + wid = gtk_button_new_with_label (name); + gtk_box_pack_start (GTK_BOX (box), wid, FALSE, FALSE, 0); + g_signal_connect (G_OBJECT (wid), "clicked", + G_CALLBACK (mg_dialog_button_cb), cmd); + gtk_widget_set_size_request (wid, -1, 0); +} + +static void +mg_create_dialogbuttons (GtkWidget *box) +{ + struct popup *pop; + GSList *list = dlgbutton_list; + + while (list) + { + pop = list->data; + if (pop->cmd[0]) + mg_dialog_button (box, pop->name, pop->cmd); + list = list->next; + } +} + +static void +mg_create_topicbar (session *sess, GtkWidget *box) +{ + GtkWidget *hbox, *topic, *bbox; + session_gui *gui = sess->gui; + + gui->topic_bar = hbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (box), hbox, 0, 0, 0); + + if (!gui->is_tab) + sess->res->tab = NULL; + + gui->topic_entry = topic = gtk_entry_new (); + gtk_widget_set_name (topic, "xchat-inputbox"); + gtk_container_add (GTK_CONTAINER (hbox), topic); + g_signal_connect (G_OBJECT (topic), "activate", + G_CALLBACK (mg_topic_cb), 0); + + if (prefs.style_inputbox) + mg_apply_entry_style (topic); + + gui->topicbutton_box = bbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox), bbox, 0, 0, 0); + mg_create_chanmodebuttons (gui, bbox); + + gui->dialogbutton_box = bbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox), bbox, 0, 0, 0); + mg_create_dialogbuttons (bbox); + + if (!prefs.paned_userlist) + gtkutil_button (hbox, GTK_STOCK_GOTO_LAST, _("Show/Hide userlist"), + mg_userlist_toggle_cb, 0, 0); +} + +/* check if a word is clickable */ + +static int +mg_word_check (GtkWidget * xtext, char *word, int len) +{ + session *sess = current_sess; + int ret; + + ret = url_check_word (word, len); /* common/url.c */ + if (ret == 0) + { + if (( (word[0]=='@' || word[0]=='+' || word[0]=='%') && userlist_find (sess, word+1)) || userlist_find (sess, word)) + return WORD_NICK; + + if (sess->type == SESS_DIALOG) + return WORD_DIALOG; + } + + return ret; +} + +/* mouse click inside text area */ + +static void +mg_word_clicked (GtkWidget *xtext, char *word, GdkEventButton *even) +{ + session *sess = current_sess; + + if (even->button == 1) /* left button */ + { + if (word == NULL) + { + mg_focus (sess); + return; + } + + if ((even->state & 13) == prefs.gui_url_mod) + { + switch (mg_word_check (xtext, word, strlen (word))) + { + case WORD_URL: + case WORD_HOST: + fe_open_url (word); + } + } + return; + } + + if (even->button == 2) + { + if (sess->type == SESS_DIALOG) + menu_middlemenu (sess, even); + else if (even->type == GDK_2BUTTON_PRESS) + userlist_select (sess, word); + return; + } + + switch (mg_word_check (xtext, word, strlen (word))) + { + case 0: + menu_middlemenu (sess, even); + break; + case WORD_URL: + case WORD_HOST: + menu_urlmenu (even, word); + break; + case WORD_NICK: + menu_nickmenu (sess, even, (word[0]=='@' || word[0]=='+' || word[0]=='%') ? + word+1 : word, FALSE); + break; + case WORD_CHANNEL: + if (*word == '@' || *word == '+' || *word=='^' || *word=='%' || *word=='*') + word++; + menu_chanmenu (sess, even, word); + break; + case WORD_EMAIL: + { + char *newword = malloc (strlen (word) + 10); + if (*word == '~') + word++; + sprintf (newword, "mailto:%s", word); + menu_urlmenu (even, newword); + free (newword); + } + break; + case WORD_DIALOG: + menu_nickmenu (sess, even, sess->channel, FALSE); + break; + } +} + +void +mg_update_xtext (GtkWidget *wid) +{ + GtkXText *xtext = GTK_XTEXT (wid); + + gtk_xtext_set_palette (xtext, colors); + gtk_xtext_set_max_lines (xtext, prefs.max_lines); + gtk_xtext_set_tint (xtext, prefs.tint_red, prefs.tint_green, prefs.tint_blue); + gtk_xtext_set_background (xtext, channelwin_pix, prefs.transparent); + gtk_xtext_set_wordwrap (xtext, prefs.wordwrap); + gtk_xtext_set_show_marker (xtext, prefs.show_marker); + gtk_xtext_set_show_separator (xtext, prefs.indent_nicks ? prefs.show_separator : 0); + gtk_xtext_set_indent (xtext, prefs.indent_nicks); + if (!gtk_xtext_set_font (xtext, prefs.font_normal)) + { + fe_message ("Failed to open any font. I'm out of here!", FE_MSG_WAIT | FE_MSG_ERROR); + exit (1); + } + + gtk_xtext_refresh (xtext, FALSE); +} + +/* handle errors reported by xtext */ + +static void +mg_xtext_error (int type) +{ + switch (type) + { + case 0: + fe_message (_("Unable to set transparent background!\n\n" + "You may be using a non-compliant window\n" + "manager that is not currently supported.\n"), FE_MSG_WARN); + prefs.transparent = 0; + /* no others exist yet */ + } +} + +static void +mg_create_textarea (session *sess, GtkWidget *box) +{ + GtkWidget *inbox, *vbox, *frame; + GtkXText *xtext; + session_gui *gui = sess->gui; + static const GtkTargetEntry dnd_targets[] = + { + {"text/uri-list", 0, 1} + }; + static const GtkTargetEntry dnd_dest_targets[] = + { + {"XCHAT_CHANVIEW", GTK_TARGET_SAME_APP, 75 }, + {"XCHAT_USERLIST", GTK_TARGET_SAME_APP, 75 } + }; + + vbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (box), vbox); + + inbox = gtk_hbox_new (FALSE, SCROLLBAR_SPACING); + gtk_container_add (GTK_CONTAINER (vbox), inbox); + + frame = gtk_frame_new (NULL); + gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); + gtk_container_add (GTK_CONTAINER (inbox), frame); + + gui->xtext = gtk_xtext_new (colors, TRUE); + xtext = GTK_XTEXT (gui->xtext); + gtk_xtext_set_max_indent (xtext, prefs.max_auto_indent); + gtk_xtext_set_thin_separator (xtext, prefs.thin_separator); + gtk_xtext_set_error_function (xtext, mg_xtext_error); + gtk_xtext_set_urlcheck_function (xtext, mg_word_check); + gtk_xtext_set_max_lines (xtext, prefs.max_lines); + gtk_container_add (GTK_CONTAINER (frame), GTK_WIDGET (xtext)); + mg_update_xtext (GTK_WIDGET (xtext)); + + g_signal_connect (G_OBJECT (xtext), "word_click", + G_CALLBACK (mg_word_clicked), NULL); + + gui->vscrollbar = gtk_vscrollbar_new (GTK_XTEXT (xtext)->adj); + gtk_box_pack_start (GTK_BOX (inbox), gui->vscrollbar, FALSE, TRUE, 0); +#ifndef WIN32 /* needs more work */ + gtk_drag_dest_set (gui->vscrollbar, 5, dnd_dest_targets, 2, + GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK); + g_signal_connect (G_OBJECT (gui->vscrollbar), "drag_begin", + G_CALLBACK (mg_drag_begin_cb), NULL); + g_signal_connect (G_OBJECT (gui->vscrollbar), "drag_drop", + G_CALLBACK (mg_drag_drop_cb), NULL); + g_signal_connect (G_OBJECT (gui->vscrollbar), "drag_motion", + G_CALLBACK (mg_drag_motion_cb), gui->vscrollbar); + g_signal_connect (G_OBJECT (gui->vscrollbar), "drag_end", + G_CALLBACK (mg_drag_end_cb), NULL); + + gtk_drag_dest_set (gui->xtext, GTK_DEST_DEFAULT_ALL, dnd_targets, 1, + GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK); + g_signal_connect (G_OBJECT (gui->xtext), "drag_data_received", + G_CALLBACK (mg_dialog_dnd_drop), NULL); +#endif +} + +static GtkWidget * +mg_create_infoframe (GtkWidget *box) +{ + GtkWidget *frame, *label, *hbox; + + frame = gtk_frame_new (0); + gtk_frame_set_shadow_type ((GtkFrame*)frame, GTK_SHADOW_OUT); + gtk_container_add (GTK_CONTAINER (box), frame); + + hbox = gtk_hbox_new (0, 0); + gtk_container_add (GTK_CONTAINER (frame), hbox); + + label = gtk_label_new (NULL); + gtk_container_add (GTK_CONTAINER (hbox), label); + + return label; +} + +static void +mg_create_meters (session_gui *gui, GtkWidget *parent_box) +{ + GtkWidget *infbox, *wid, *box; + + gui->meter_box = infbox = box = gtk_vbox_new (0, 1); + gtk_box_pack_start (GTK_BOX (parent_box), box, 0, 0, 0); + + if ((prefs.lagometer & 2) || (prefs.throttlemeter & 2)) + { + infbox = gtk_hbox_new (0, 0); + gtk_box_pack_start (GTK_BOX (box), infbox, 0, 0, 0); + } + + if (prefs.lagometer & 1) + { + gui->lagometer = wid = gtk_progress_bar_new (); +#ifdef WIN32 + gtk_widget_set_size_request (wid, 1, 10); +#else + gtk_widget_set_size_request (wid, 1, 8); +#endif + + wid = gtk_event_box_new (); + gtk_container_add (GTK_CONTAINER (wid), gui->lagometer); + gtk_box_pack_start (GTK_BOX (box), wid, 0, 0, 0); + } + if (prefs.lagometer & 2) + { + gui->laginfo = wid = mg_create_infoframe (infbox); + gtk_label_set_text ((GtkLabel *) wid, "Lag"); + } + + if (prefs.throttlemeter & 1) + { + gui->throttlemeter = wid = gtk_progress_bar_new (); +#ifdef WIN32 + gtk_widget_set_size_request (wid, 1, 10); +#else + gtk_widget_set_size_request (wid, 1, 8); +#endif + + wid = gtk_event_box_new (); + gtk_container_add (GTK_CONTAINER (wid), gui->throttlemeter); + gtk_box_pack_start (GTK_BOX (box), wid, 0, 0, 0); + } + if (prefs.throttlemeter & 2) + { + gui->throttleinfo = wid = mg_create_infoframe (infbox); + gtk_label_set_text ((GtkLabel *) wid, "Throttle"); + } +} + +void +mg_update_meters (session_gui *gui) +{ + gtk_widget_destroy (gui->meter_box); + gui->lagometer = NULL; + gui->laginfo = NULL; + gui->throttlemeter = NULL; + gui->throttleinfo = NULL; + + mg_create_meters (gui, gui->button_box_parent); + gtk_widget_show_all (gui->meter_box); +} + +static void +mg_create_userlist (session_gui *gui, GtkWidget *box) +{ + GtkWidget *frame, *ulist, *vbox; + + vbox = gtk_vbox_new (0, 1); + gtk_container_add (GTK_CONTAINER (box), vbox); + + frame = gtk_frame_new (NULL); + if (!(prefs.gui_tweaks & 1)) + gtk_box_pack_start (GTK_BOX (vbox), frame, 0, 0, GUI_SPACING); + + gui->namelistinfo = gtk_label_new (NULL); + gtk_container_add (GTK_CONTAINER (frame), gui->namelistinfo); + + gui->user_tree = ulist = userlist_create (vbox); + + if (prefs.style_namelistgad) + { + gtk_widget_set_style (ulist, input_style); + gtk_widget_modify_base (ulist, GTK_STATE_NORMAL, &colors[COL_BG]); + } + + mg_create_meters (gui, vbox); + + gui->button_box_parent = vbox; + gui->button_box = mg_create_userlistbuttons (vbox); +} + +static void +mg_leftpane_cb (GtkPaned *pane, GParamSpec *param, session_gui *gui) +{ + prefs.gui_pane_left_size = gtk_paned_get_position (pane); +} + +static void +mg_rightpane_cb (GtkPaned *pane, GParamSpec *param, session_gui *gui) +{ + int handle_size; + +/* if (pane->child1 == NULL || (!GTK_WIDGET_VISIBLE (pane->child1))) + return; + if (pane->child2 == NULL || (!GTK_WIDGET_VISIBLE (pane->child2))) + return;*/ + + gtk_widget_style_get (GTK_WIDGET (pane), "handle-size", &handle_size, NULL); + /* record the position from the RIGHT side */ + prefs.gui_pane_right_size = GTK_WIDGET (pane)->allocation.width - gtk_paned_get_position (pane) - handle_size; +} + +static gboolean +mg_add_pane_signals (session_gui *gui) +{ + g_signal_connect (G_OBJECT (gui->hpane_right), "notify::position", + G_CALLBACK (mg_rightpane_cb), gui); + g_signal_connect (G_OBJECT (gui->hpane_left), "notify::position", + G_CALLBACK (mg_leftpane_cb), gui); + return FALSE; +} + +static void +mg_create_center (session *sess, session_gui *gui, GtkWidget *box) +{ + GtkWidget *vbox, *hbox, *book; + + /* sep between top and bottom of left side */ + gui->vpane_left = gtk_vpaned_new (); + + /* sep between top and bottom of right side */ + gui->vpane_right = gtk_vpaned_new (); + + /* sep between left and xtext */ + gui->hpane_left = gtk_hpaned_new (); + gtk_paned_set_position (GTK_PANED (gui->hpane_left), prefs.gui_pane_left_size); + + /* sep between xtext and right side */ + gui->hpane_right = gtk_hpaned_new (); + + if (prefs.gui_tweaks & 4) + { + gtk_paned_pack2 (GTK_PANED (gui->hpane_left), gui->vpane_left, FALSE, TRUE); + gtk_paned_pack1 (GTK_PANED (gui->hpane_left), gui->hpane_right, TRUE, TRUE); + } + else + { + gtk_paned_pack1 (GTK_PANED (gui->hpane_left), gui->vpane_left, FALSE, TRUE); + gtk_paned_pack2 (GTK_PANED (gui->hpane_left), gui->hpane_right, TRUE, TRUE); + } + gtk_paned_pack2 (GTK_PANED (gui->hpane_right), gui->vpane_right, FALSE, TRUE); + + gtk_container_add (GTK_CONTAINER (box), gui->hpane_left); + + gui->note_book = book = gtk_notebook_new (); + gtk_notebook_set_show_tabs (GTK_NOTEBOOK (book), FALSE); + gtk_notebook_set_show_border (GTK_NOTEBOOK (book), FALSE); + gtk_paned_pack1 (GTK_PANED (gui->hpane_right), book, TRUE, TRUE); + + hbox = gtk_hbox_new (FALSE, 0); + gtk_paned_pack1 (GTK_PANED (gui->vpane_right), hbox, FALSE, TRUE); + mg_create_userlist (gui, hbox); + + gui->user_box = hbox; + + vbox = gtk_vbox_new (FALSE, 3); + gtk_notebook_append_page (GTK_NOTEBOOK (book), vbox, NULL); + mg_create_topicbar (sess, vbox); + mg_create_textarea (sess, vbox); + mg_create_entry (sess, vbox); + + g_idle_add ((GSourceFunc)mg_add_pane_signals, gui); +} + +static void +mg_change_nick (int cancel, char *text, gpointer userdata) +{ + char buf[256]; + + if (!cancel) + { + snprintf (buf, sizeof (buf), "nick %s", text); + handle_command (current_sess, buf, FALSE); + } +} + +static void +mg_nickclick_cb (GtkWidget *button, gpointer userdata) +{ + fe_get_str (_("Enter new nickname:"), current_sess->server->nick, + mg_change_nick, NULL); +} + +/* make sure chanview and userlist positions are sane */ + +static void +mg_sanitize_positions (int *cv, int *ul) +{ + if (prefs.tab_layout == 2) + { + /* treeview can't be on TOP or BOTTOM */ + if (*cv == POS_TOP || *cv == POS_BOTTOM) + *cv = POS_TOPLEFT; + } + + /* userlist can't be on TOP or BOTTOM */ + if (*ul == POS_TOP || *ul == POS_BOTTOM) + *ul = POS_TOPRIGHT; + + /* can't have both in the same place */ + if (*cv == *ul) + { + *cv = POS_TOPRIGHT; + if (*ul == POS_TOPRIGHT) + *cv = POS_BOTTOMRIGHT; + } +} + +static void +mg_place_userlist_and_chanview_real (session_gui *gui, GtkWidget *userlist, GtkWidget *chanview) +{ + int unref_userlist = FALSE; + int unref_chanview = FALSE; + + /* first, remove userlist/treeview from their containers */ + if (userlist && userlist->parent) + { + g_object_ref (userlist); + gtk_container_remove (GTK_CONTAINER (userlist->parent), userlist); + unref_userlist = TRUE; + } + + if (chanview && chanview->parent) + { + g_object_ref (chanview); + gtk_container_remove (GTK_CONTAINER (chanview->parent), chanview); + unref_chanview = TRUE; + } + + if (chanview) + { + /* incase the previous pos was POS_HIDDEN */ + gtk_widget_show (chanview); + + gtk_table_set_row_spacing (GTK_TABLE (gui->main_table), 1, 0); + gtk_table_set_row_spacing (GTK_TABLE (gui->main_table), 2, 2); + + /* then place them back in their new positions */ + switch (prefs.tab_pos) + { + case POS_TOPLEFT: + gtk_paned_pack1 (GTK_PANED (gui->vpane_left), chanview, FALSE, TRUE); + break; + case POS_BOTTOMLEFT: + gtk_paned_pack2 (GTK_PANED (gui->vpane_left), chanview, FALSE, TRUE); + break; + case POS_TOPRIGHT: + gtk_paned_pack1 (GTK_PANED (gui->vpane_right), chanview, FALSE, TRUE); + break; + case POS_BOTTOMRIGHT: + gtk_paned_pack2 (GTK_PANED (gui->vpane_right), chanview, FALSE, TRUE); + break; + case POS_TOP: + gtk_table_set_row_spacing (GTK_TABLE (gui->main_table), 1, GUI_SPACING-1); + gtk_table_attach (GTK_TABLE (gui->main_table), chanview, + 1, 2, 1, 2, GTK_FILL, GTK_FILL, 0, 0); + break; + case POS_HIDDEN: + gtk_widget_hide (chanview); + /* always attach it to something to avoid ref_count=0 */ + if (prefs.gui_ulist_pos == POS_TOP) + gtk_table_attach (GTK_TABLE (gui->main_table), chanview, + 1, 2, 3, 4, GTK_FILL, GTK_FILL, 0, 0); + + else + gtk_table_attach (GTK_TABLE (gui->main_table), chanview, + 1, 2, 1, 2, GTK_FILL, GTK_FILL, 0, 0); + break; + default:/* POS_BOTTOM */ + gtk_table_set_row_spacing (GTK_TABLE (gui->main_table), 2, 3); + gtk_table_attach (GTK_TABLE (gui->main_table), chanview, + 1, 2, 3, 4, GTK_FILL, GTK_FILL, 0, 0); + } + } + + if (userlist) + { + switch (prefs.gui_ulist_pos) + { + case POS_TOPLEFT: + gtk_paned_pack1 (GTK_PANED (gui->vpane_left), userlist, FALSE, TRUE); + break; + case POS_BOTTOMLEFT: + gtk_paned_pack2 (GTK_PANED (gui->vpane_left), userlist, FALSE, TRUE); + break; + case POS_BOTTOMRIGHT: + gtk_paned_pack2 (GTK_PANED (gui->vpane_right), userlist, FALSE, TRUE); + break; + /*case POS_HIDDEN: + break;*/ /* Hide using the VIEW menu instead */ + default:/* POS_TOPRIGHT */ + gtk_paned_pack1 (GTK_PANED (gui->vpane_right), userlist, FALSE, TRUE); + } + } + + if (unref_chanview) + g_object_unref (chanview); + if (unref_userlist) + g_object_unref (userlist); + + mg_hide_empty_boxes (gui); +} + +static void +mg_place_userlist_and_chanview (session_gui *gui) +{ + GtkOrientation orientation; + GtkWidget *chanviewbox = NULL; + int pos; + + mg_sanitize_positions (&prefs.tab_pos, &prefs.gui_ulist_pos); + + if (gui->chanview) + { + pos = prefs.tab_pos; + + orientation = chanview_get_orientation (gui->chanview); + if ((pos == POS_BOTTOM || pos == POS_TOP) && orientation == GTK_ORIENTATION_VERTICAL) + chanview_set_orientation (gui->chanview, FALSE); + else if ((pos == POS_TOPLEFT || pos == POS_BOTTOMLEFT || pos == POS_TOPRIGHT || pos == POS_BOTTOMRIGHT) && orientation == GTK_ORIENTATION_HORIZONTAL) + chanview_set_orientation (gui->chanview, TRUE); + chanviewbox = chanview_get_box (gui->chanview); + } + + mg_place_userlist_and_chanview_real (gui, gui->user_box, chanviewbox); +} + +void +mg_change_layout (int type) +{ + if (mg_gui) + { + /* put tabs at the bottom */ + if (type == 0 && prefs.tab_pos != POS_BOTTOM && prefs.tab_pos != POS_TOP) + prefs.tab_pos = POS_BOTTOM; + + mg_place_userlist_and_chanview (mg_gui); + chanview_set_impl (mg_gui->chanview, type); + } +} + +static void +mg_inputbox_rightclick (GtkEntry *entry, GtkWidget *menu) +{ + mg_create_color_menu (menu, NULL); +} + +static void +mg_create_entry (session *sess, GtkWidget *box) +{ + GtkWidget *sw, *hbox, *but, *entry; + session_gui *gui = sess->gui; + + hbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (box), hbox, 0, 0, 0); + + gui->nick_box = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox), gui->nick_box, 0, 0, 0); + + gui->nick_label = but = gtk_button_new_with_label (sess->server->nick); + gtk_button_set_relief (GTK_BUTTON (but), GTK_RELIEF_NONE); + GTK_WIDGET_UNSET_FLAGS (but, GTK_CAN_FOCUS); + gtk_box_pack_end (GTK_BOX (gui->nick_box), but, 0, 0, 0); + g_signal_connect (G_OBJECT (but), "clicked", + G_CALLBACK (mg_nickclick_cb), NULL); + +#ifdef USE_GTKSPELL + gui->input_box = entry = gtk_text_view_new (); + gtk_widget_set_size_request (entry, 0, 1); + gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (entry), GTK_WRAP_NONE); + gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (entry), FALSE); + if (prefs.gui_input_spell) + gtkspell_new_attach (GTK_TEXT_VIEW (entry), NULL, NULL); + + sw = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), + GTK_SHADOW_IN); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), + GTK_POLICY_NEVER, + GTK_POLICY_NEVER); + gtk_container_add (GTK_CONTAINER (sw), entry); + gtk_container_add (GTK_CONTAINER (hbox), sw); +#else +#ifdef USE_LIBSEXY + gui->input_box = entry = sexy_spell_entry_new (); + sexy_spell_entry_set_checked ((SexySpellEntry *)entry, prefs.gui_input_spell); +#else + gui->input_box = entry = gtk_entry_new (); +#endif + gtk_entry_set_max_length (GTK_ENTRY (gui->input_box), 2048); + g_signal_connect (G_OBJECT (entry), "activate", + G_CALLBACK (mg_inputbox_cb), gui); + gtk_container_add (GTK_CONTAINER (hbox), entry); +#endif + + gtk_widget_set_name (entry, "xchat-inputbox"); + g_signal_connect (G_OBJECT (entry), "key_press_event", + G_CALLBACK (key_handle_key_press), NULL); + g_signal_connect (G_OBJECT (entry), "focus_in_event", + G_CALLBACK (mg_inputbox_focus), gui); + g_signal_connect (G_OBJECT (entry), "populate_popup", + G_CALLBACK (mg_inputbox_rightclick), NULL); + gtk_widget_grab_focus (entry); + + if (prefs.style_inputbox) + mg_apply_entry_style (entry); +} + +static void +mg_switch_tab_cb (chanview *cv, chan *ch, int tag, gpointer ud) +{ + chan *old; + session *sess = ud; + + old = active_tab; + active_tab = ch; + + if (tag == TAG_IRC) + { + if (active_tab != old) + { + if (old && current_tab) + mg_unpopulate (current_tab); + mg_populate (sess); + } + } else if (old != active_tab) + { + /* userdata for non-irc tabs is actually the GtkBox */ + mg_show_generic_tab (ud); + if (!mg_is_userlist_and_tree_combined ()) + mg_userlist_showhide (current_sess, FALSE); /* hide */ + } +} + +/* compare two tabs (for tab sorting function) */ + +static int +mg_tabs_compare (session *a, session *b) +{ + /* server tabs always go first */ + if (a->type == SESS_SERVER) + return -1; + + /* then channels */ + if (a->type == SESS_CHANNEL && b->type != SESS_CHANNEL) + return -1; + if (a->type != SESS_CHANNEL && b->type == SESS_CHANNEL) + return 1; + + return strcasecmp (a->channel, b->channel); +} + +static void +mg_create_tabs (session_gui *gui) +{ + gboolean use_icons = FALSE; + + /* if any one of these PNGs exist, the chanview will create + * the extra column for icons. */ + if (pix_channel || pix_dialog || pix_server || pix_util) + use_icons = TRUE; + + gui->chanview = chanview_new (prefs.tab_layout, prefs.truncchans, + prefs.tab_sort, use_icons, + prefs.style_namelistgad ? input_style : NULL); + chanview_set_callbacks (gui->chanview, mg_switch_tab_cb, mg_xbutton_cb, + mg_tab_contextmenu_cb, (void *)mg_tabs_compare); + mg_place_userlist_and_chanview (gui); +} + +static gboolean +mg_tabwin_focus_cb (GtkWindow * win, GdkEventFocus *event, gpointer userdata) +{ + current_sess = current_tab; + if (current_sess) + { + gtk_xtext_check_marker_visibility (GTK_XTEXT (current_sess->gui->xtext)); + plugin_emit_dummy_print (current_sess, "Focus Window"); + } +#ifndef WIN32 +#ifdef USE_XLIB + unflash_window (GTK_WIDGET (win)); +#endif +#endif + return FALSE; +} + +static gboolean +mg_topwin_focus_cb (GtkWindow * win, GdkEventFocus *event, session *sess) +{ + current_sess = sess; + if (!sess->server->server_session) + sess->server->server_session = sess; + gtk_xtext_check_marker_visibility(GTK_XTEXT (current_sess->gui->xtext)); +#ifndef WIN32 +#ifdef USE_XLIB + unflash_window (GTK_WIDGET (win)); +#endif +#endif + plugin_emit_dummy_print (sess, "Focus Window"); + return FALSE; +} + +static void +mg_create_menu (session_gui *gui, GtkWidget *table, int away_state) +{ + GtkAccelGroup *accel_group; + + accel_group = gtk_accel_group_new (); + gtk_window_add_accel_group (GTK_WINDOW (gtk_widget_get_toplevel (table)), + accel_group); + g_object_unref (accel_group); + + gui->menu = menu_create_main (accel_group, TRUE, away_state, !gui->is_tab, + gui->menu_item); + gtk_table_attach (GTK_TABLE (table), gui->menu, 0, 3, 0, 1, + GTK_EXPAND | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); +} + +static void +mg_create_irctab (session *sess, GtkWidget *table) +{ + GtkWidget *vbox; + session_gui *gui = sess->gui; + + vbox = gtk_vbox_new (FALSE, 0); + gtk_table_attach (GTK_TABLE (table), vbox, 1, 2, 2, 3, + GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + mg_create_center (sess, gui, vbox); +} + +static void +mg_create_topwindow (session *sess) +{ + GtkWidget *win; + GtkWidget *table; + + if (sess->type == SESS_DIALOG) + win = gtkutil_window_new ("XChat", NULL, + prefs.dialog_width, prefs.dialog_height, 0); + else + win = gtkutil_window_new ("XChat", NULL, + prefs.mainwindow_width, + prefs.mainwindow_height, 0); + sess->gui->window = win; + gtk_container_set_border_width (GTK_CONTAINER (win), GUI_BORDER); + + g_signal_connect (G_OBJECT (win), "focus_in_event", + G_CALLBACK (mg_topwin_focus_cb), sess); + g_signal_connect (G_OBJECT (win), "destroy", + G_CALLBACK (mg_topdestroy_cb), sess); + g_signal_connect (G_OBJECT (win), "configure_event", + G_CALLBACK (mg_configure_cb), sess); + + palette_alloc (win); + + table = gtk_table_new (4, 3, FALSE); + /* spacing under the menubar */ + gtk_table_set_row_spacing (GTK_TABLE (table), 0, GUI_SPACING); + /* left and right borders */ + gtk_table_set_col_spacing (GTK_TABLE (table), 0, 1); + gtk_table_set_col_spacing (GTK_TABLE (table), 1, 1); + gtk_container_add (GTK_CONTAINER (win), table); + + mg_create_irctab (sess, table); + mg_create_menu (sess->gui, table, sess->server->is_away); + + if (sess->res->buffer == NULL) + { + sess->res->buffer = gtk_xtext_buffer_new (GTK_XTEXT (sess->gui->xtext)); + gtk_xtext_buffer_show (GTK_XTEXT (sess->gui->xtext), sess->res->buffer, TRUE); + gtk_xtext_set_time_stamp (sess->res->buffer, prefs.timestamp); + sess->res->user_model = userlist_create_model (); + } + + userlist_show (sess); + + gtk_widget_show_all (table); + + if (prefs.hidemenu) + gtk_widget_hide (sess->gui->menu); + + if (!prefs.topicbar) + gtk_widget_hide (sess->gui->topic_bar); + + if (!prefs.userlistbuttons) + gtk_widget_hide (sess->gui->button_box); + + if (prefs.gui_tweaks & 2) + gtk_widget_hide (sess->gui->nick_box); + + mg_decide_userlist (sess, FALSE); + + if (sess->type == SESS_DIALOG) + { + /* hide the chan-mode buttons */ + gtk_widget_hide (sess->gui->topicbutton_box); + } else + { + gtk_widget_hide (sess->gui->dialogbutton_box); + + if (!prefs.chanmodebuttons) + gtk_widget_hide (sess->gui->topicbutton_box); + } + + mg_place_userlist_and_chanview (sess->gui); + + gtk_widget_show (win); +} + +static gboolean +mg_tabwindow_de_cb (GtkWidget *widget, GdkEvent *event, gpointer user_data) +{ + GSList *list; + session *sess; + + if ((prefs.gui_tray_flags & 1) && tray_toggle_visibility (FALSE)) + return TRUE; + + /* check for remaining toplevel windows */ + list = sess_list; + while (list) + { + sess = list->data; + if (!sess->gui->is_tab) + return FALSE; + list = list->next; + } + + mg_open_quit_dialog (TRUE); + return TRUE; +} + +static void +mg_create_tabwindow (session *sess) +{ + GtkWidget *win; + GtkWidget *table; + + win = gtkutil_window_new ("XChat", NULL, prefs.mainwindow_width, + prefs.mainwindow_height, 0); + sess->gui->window = win; + gtk_window_move (GTK_WINDOW (win), prefs.mainwindow_left, + prefs.mainwindow_top); + if (prefs.gui_win_state) + gtk_window_maximize (GTK_WINDOW (win)); + gtk_container_set_border_width (GTK_CONTAINER (win), GUI_BORDER); + + g_signal_connect (G_OBJECT (win), "delete_event", + G_CALLBACK (mg_tabwindow_de_cb), 0); + g_signal_connect (G_OBJECT (win), "destroy", + G_CALLBACK (mg_tabwindow_kill_cb), 0); + g_signal_connect (G_OBJECT (win), "focus_in_event", + G_CALLBACK (mg_tabwin_focus_cb), NULL); + g_signal_connect (G_OBJECT (win), "configure_event", + G_CALLBACK (mg_configure_cb), NULL); + g_signal_connect (G_OBJECT (win), "window_state_event", + G_CALLBACK (mg_windowstate_cb), NULL); + + palette_alloc (win); + + sess->gui->main_table = table = gtk_table_new (4, 3, FALSE); + /* spacing under the menubar */ + gtk_table_set_row_spacing (GTK_TABLE (table), 0, GUI_SPACING); + /* left and right borders */ + gtk_table_set_col_spacing (GTK_TABLE (table), 0, 1); + gtk_table_set_col_spacing (GTK_TABLE (table), 1, 1); + gtk_container_add (GTK_CONTAINER (win), table); + + mg_create_irctab (sess, table); + mg_create_tabs (sess->gui); + mg_create_menu (sess->gui, table, sess->server->is_away); + + mg_focus (sess); + + gtk_widget_show_all (table); + + if (prefs.hidemenu) + gtk_widget_hide (sess->gui->menu); + + mg_decide_userlist (sess, FALSE); + + if (!prefs.topicbar) + gtk_widget_hide (sess->gui->topic_bar); + + if (!prefs.chanmodebuttons) + gtk_widget_hide (sess->gui->topicbutton_box); + + if (!prefs.userlistbuttons) + gtk_widget_hide (sess->gui->button_box); + + if (prefs.gui_tweaks & 2) + gtk_widget_hide (sess->gui->nick_box); + + mg_place_userlist_and_chanview (sess->gui); + + gtk_widget_show (win); +} + +void +mg_apply_setup (void) +{ + GSList *list = sess_list; + session *sess; + int done_main = FALSE; + + mg_create_tab_colors (); + + while (list) + { + sess = list->data; + gtk_xtext_set_time_stamp (sess->res->buffer, prefs.timestamp); + ((xtext_buffer *)sess->res->buffer)->needs_recalc = TRUE; + if (!sess->gui->is_tab || !done_main) + mg_place_userlist_and_chanview (sess->gui); + if (sess->gui->is_tab) + done_main = TRUE; + list = list->next; + } +} + +static chan * +mg_add_generic_tab (char *name, char *title, void *family, GtkWidget *box) +{ + chan *ch; + + gtk_notebook_append_page (GTK_NOTEBOOK (mg_gui->note_book), box, NULL); + gtk_widget_show (box); + + ch = chanview_add (mg_gui->chanview, name, NULL, box, TRUE, TAG_UTIL, pix_util); + chan_set_color (ch, plain_list); + /* FIXME: memory leak */ + g_object_set_data (G_OBJECT (box), "title", strdup (title)); + g_object_set_data (G_OBJECT (box), "ch", ch); + + if (prefs.newtabstofront) + chan_focus (ch); + + return ch; +} + +void +fe_buttons_update (session *sess) +{ + session_gui *gui = sess->gui; + + gtk_widget_destroy (gui->button_box); + gui->button_box = mg_create_userlistbuttons (gui->button_box_parent); + + if (prefs.userlistbuttons) + gtk_widget_show (sess->gui->button_box); + else + gtk_widget_hide (sess->gui->button_box); +} + +void +fe_clear_channel (session *sess) +{ + char tbuf[CHANLEN+6]; + session_gui *gui = sess->gui; + + if (sess->gui->is_tab) + { + if (sess->waitchannel[0]) + { + if (prefs.truncchans > 2 && g_utf8_strlen (sess->waitchannel, -1) > prefs.truncchans) + { + /* truncate long channel names */ + tbuf[0] = '('; + strcpy (tbuf + 1, sess->waitchannel); + g_utf8_offset_to_pointer(tbuf, prefs.truncchans)[0] = 0; + strcat (tbuf, "..)"); + } else + { + sprintf (tbuf, "(%s)", sess->waitchannel); + } + } + else + strcpy (tbuf, _("<none>")); + chan_rename (sess->res->tab, tbuf, prefs.truncchans); + } + + if (!sess->gui->is_tab || sess == current_tab) + { + gtk_entry_set_text (GTK_ENTRY (gui->topic_entry), ""); + + if (gui->op_xpm) + { + gtk_widget_destroy (gui->op_xpm); + gui->op_xpm = 0; + } + } else + { + if (sess->res->topic_text) + { + free (sess->res->topic_text); + sess->res->topic_text = NULL; + } + } +} + +void +fe_set_nonchannel (session *sess, int state) +{ +} + +void +fe_dlgbuttons_update (session *sess) +{ + GtkWidget *box; + session_gui *gui = sess->gui; + + gtk_widget_destroy (gui->dialogbutton_box); + + gui->dialogbutton_box = box = gtk_hbox_new (0, 0); + gtk_box_pack_start (GTK_BOX (gui->topic_bar), box, 0, 0, 0); + gtk_box_reorder_child (GTK_BOX (gui->topic_bar), box, 3); + mg_create_dialogbuttons (box); + + gtk_widget_show_all (box); + + if (current_tab && current_tab->type != SESS_DIALOG) + gtk_widget_hide (current_tab->gui->dialogbutton_box); +} + +void +fe_update_mode_buttons (session *sess, char mode, char sign) +{ + int state, i; + + if (sign == '+') + state = TRUE; + else + state = FALSE; + + for (i = 0; i < NUM_FLAG_WIDS - 1; i++) + { + if (chan_flags[i] == mode) + { + if (!sess->gui->is_tab || sess == current_tab) + { + ignore_chanmode = TRUE; + if (GTK_TOGGLE_BUTTON (sess->gui->flag_wid[i])->active != state) + gtk_toggle_button_set_active ( + GTK_TOGGLE_BUTTON (sess->gui->flag_wid[i]), state); + ignore_chanmode = FALSE; + } else + { + sess->res->flag_wid_state[i] = state; + } + return; + } + } +} + +void +fe_set_nick (server *serv, char *newnick) +{ + GSList *list = sess_list; + session *sess; + + while (list) + { + sess = list->data; + if (sess->server == serv) + { + if (current_tab == sess || !sess->gui->is_tab) + gtk_button_set_label (GTK_BUTTON (sess->gui->nick_label), newnick); + } + list = list->next; + } +} + +void +fe_set_away (server *serv) +{ + GSList *list = sess_list; + session *sess; + + while (list) + { + sess = list->data; + if (sess->server == serv) + { + if (!sess->gui->is_tab || sess == current_tab) + { + GTK_CHECK_MENU_ITEM (sess->gui->menu_item[MENU_ID_AWAY])->active = serv->is_away; + /* gray out my nickname */ + mg_set_myself_away (sess->gui, serv->is_away); + } + } + list = list->next; + } +} + +void +fe_set_channel (session *sess) +{ + if (sess->res->tab != NULL) + chan_rename (sess->res->tab, sess->channel, prefs.truncchans); +} + +void +mg_changui_new (session *sess, restore_gui *res, int tab, int focus) +{ + int first_run = FALSE; + session_gui *gui; + struct User *user = NULL; + + if (!res) + { + res = malloc (sizeof (restore_gui)); + memset (res, 0, sizeof (restore_gui)); + } + + sess->res = res; + + if (!sess->server->front_session) + sess->server->front_session = sess; + + if (!is_channel (sess->server, sess->channel)) + user = userlist_find_global (sess->server, sess->channel); + + if (!tab) + { + gui = malloc (sizeof (session_gui)); + memset (gui, 0, sizeof (session_gui)); + gui->is_tab = FALSE; + sess->gui = gui; + mg_create_topwindow (sess); + fe_set_title (sess); + if (user && user->hostname) + set_topic (sess, user->hostname, user->hostname); + return; + } + + if (mg_gui == NULL) + { + first_run = TRUE; + gui = &static_mg_gui; + memset (gui, 0, sizeof (session_gui)); + gui->is_tab = TRUE; + sess->gui = gui; + mg_create_tabwindow (sess); + mg_gui = gui; + parent_window = gui->window; + } else + { + sess->gui = gui = mg_gui; + gui->is_tab = TRUE; + } + + if (user && user->hostname) + set_topic (sess, user->hostname, user->hostname); + + mg_add_chan (sess); + + if (first_run || (prefs.newtabstofront == FOCUS_NEW_ONLY_ASKED && focus) + || prefs.newtabstofront == FOCUS_NEW_ALL ) + chan_focus (res->tab); +} + +GtkWidget * +mg_create_generic_tab (char *name, char *title, int force_toplevel, + int link_buttons, + void *close_callback, void *userdata, + int width, int height, GtkWidget **vbox_ret, + void *family) +{ + GtkWidget *vbox, *win; + + if (prefs.tab_pos == POS_HIDDEN && prefs.windows_as_tabs) + prefs.windows_as_tabs = 0; + + if (force_toplevel || !prefs.windows_as_tabs) + { + win = gtkutil_window_new (title, name, width, height, 3); + vbox = gtk_vbox_new (0, 0); + *vbox_ret = vbox; + gtk_container_add (GTK_CONTAINER (win), vbox); + gtk_widget_show (vbox); + if (close_callback) + g_signal_connect (G_OBJECT (win), "destroy", + G_CALLBACK (close_callback), userdata); + return win; + } + + vbox = gtk_vbox_new (0, 2); + g_object_set_data (G_OBJECT (vbox), "w", GINT_TO_POINTER (width)); + g_object_set_data (G_OBJECT (vbox), "h", GINT_TO_POINTER (height)); + gtk_container_set_border_width (GTK_CONTAINER (vbox), 3); + *vbox_ret = vbox; + + if (close_callback) + g_signal_connect (G_OBJECT (vbox), "destroy", + G_CALLBACK (close_callback), userdata); + + mg_add_generic_tab (name, title, family, vbox); + +/* if (link_buttons) + { + hbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), hbox, 0, 0, 0); + mg_create_link_buttons (hbox, ch); + gtk_widget_show (hbox); + }*/ + + return vbox; +} + +void +mg_move_tab (session *sess, int delta) +{ + if (sess->gui->is_tab) + chan_move (sess->res->tab, delta); +} + +void +mg_move_tab_family (session *sess, int delta) +{ + if (sess->gui->is_tab) + chan_move_family (sess->res->tab, delta); +} + +void +mg_set_title (GtkWidget *vbox, char *title) /* for non-irc tab/window only */ +{ + char *old; + + old = g_object_get_data (G_OBJECT (vbox), "title"); + if (old) + { + g_object_set_data (G_OBJECT (vbox), "title", strdup (title)); + free (old); + } else + { + gtk_window_set_title (GTK_WINDOW (vbox), title); + } +} + +void +fe_server_callback (server *serv) +{ + joind_close (serv); + + if (serv->gui->chanlist_window) + mg_close_gen (NULL, serv->gui->chanlist_window); + + if (serv->gui->rawlog_window) + mg_close_gen (NULL, serv->gui->rawlog_window); + + free (serv->gui); +} + +/* called when a session is being killed */ + +void +fe_session_callback (session *sess) +{ + if (sess->res->banlist_window) + mg_close_gen (NULL, sess->res->banlist_window); + + if (sess->res->input_text) + free (sess->res->input_text); + + if (sess->res->topic_text) + free (sess->res->topic_text); + + if (sess->res->limit_text) + free (sess->res->limit_text); + + if (sess->res->key_text) + free (sess->res->key_text); + + if (sess->res->queue_text) + free (sess->res->queue_text); + if (sess->res->queue_tip) + free (sess->res->queue_tip); + + if (sess->res->lag_text) + free (sess->res->lag_text); + if (sess->res->lag_tip) + free (sess->res->lag_tip); + + if (sess->gui->bartag) + fe_timeout_remove (sess->gui->bartag); + + if (sess->gui != &static_mg_gui) + free (sess->gui); + free (sess->res); +} + +/* ===== DRAG AND DROP STUFF ===== */ + +static gboolean +is_child_of (GtkWidget *widget, GtkWidget *parent) +{ + while (widget) + { + if (widget->parent == parent) + return TRUE; + widget = widget->parent; + } + return FALSE; +} + +static void +mg_handle_drop (GtkWidget *widget, int y, int *pos, int *other_pos) +{ + int height; + session_gui *gui = current_sess->gui; + + gdk_drawable_get_size (widget->window, NULL, &height); + + if (y < height / 2) + { + if (is_child_of (widget, gui->vpane_left)) + *pos = 1; /* top left */ + else + *pos = 3; /* top right */ + } + else + { + if (is_child_of (widget, gui->vpane_left)) + *pos = 2; /* bottom left */ + else + *pos = 4; /* bottom right */ + } + + /* both in the same pos? must move one */ + if (*pos == *other_pos) + { + switch (*other_pos) + { + case 1: + *other_pos = 2; + break; + case 2: + *other_pos = 1; + break; + case 3: + *other_pos = 4; + break; + case 4: + *other_pos = 3; + break; + } + } + + mg_place_userlist_and_chanview (gui); +} + +static gboolean +mg_is_gui_target (GdkDragContext *context) +{ + char *target_name; + + if (!context || !context->targets || !context->targets->data) + return FALSE; + + target_name = gdk_atom_name (context->targets->data); + if (target_name) + { + /* if it's not XCHAT_CHANVIEW or XCHAT_USERLIST */ + /* we should ignore it. */ + if (target_name[0] != 'X') + { + g_free (target_name); + return FALSE; + } + g_free (target_name); + } + + return TRUE; +} + +/* this begin callback just creates an nice of the source */ + +gboolean +mg_drag_begin_cb (GtkWidget *widget, GdkDragContext *context, gpointer userdata) +{ +#ifndef WIN32 /* leaks GDI pool memory - don't use on win32 */ + int width, height; + GdkColormap *cmap; + GdkPixbuf *pix, *pix2; + + /* ignore file drops */ + if (!mg_is_gui_target (context)) + return FALSE; + + cmap = gtk_widget_get_colormap (widget); + gdk_drawable_get_size (widget->window, &width, &height); + + pix = gdk_pixbuf_get_from_drawable (NULL, widget->window, cmap, 0, 0, 0, 0, width, height); + pix2 = gdk_pixbuf_scale_simple (pix, width * 4 / 5, height / 2, GDK_INTERP_HYPER); + g_object_unref (pix); + + gtk_drag_set_icon_pixbuf (context, pix2, 0, 0); + g_object_set_data (G_OBJECT (widget), "ico", pix2); +#endif + + return TRUE; +} + +void +mg_drag_end_cb (GtkWidget *widget, GdkDragContext *context, gpointer userdata) +{ + /* ignore file drops */ + if (!mg_is_gui_target (context)) + return; + +#ifndef WIN32 + g_object_unref (g_object_get_data (G_OBJECT (widget), "ico")); +#endif +} + +/* drop complete */ + +gboolean +mg_drag_drop_cb (GtkWidget *widget, GdkDragContext *context, int x, int y, guint time, gpointer user_data) +{ + /* ignore file drops */ + if (!mg_is_gui_target (context)) + return FALSE; + + switch (context->action) + { + case GDK_ACTION_MOVE: + /* from userlist */ + mg_handle_drop (widget, y, &prefs.gui_ulist_pos, &prefs.tab_pos); + break; + case GDK_ACTION_COPY: + /* from tree - we use GDK_ACTION_COPY for the tree */ + mg_handle_drop (widget, y, &prefs.tab_pos, &prefs.gui_ulist_pos); + break; + default: + return FALSE; + } + + return TRUE; +} + +/* draw highlight rectangle in the destination */ + +gboolean +mg_drag_motion_cb (GtkWidget *widget, GdkDragContext *context, int x, int y, guint time, gpointer scbar) +{ + GdkGC *gc; + GdkColor col; + GdkGCValues val; + int half, width, height; + int ox, oy; + GtkPaned *paned; + GdkDrawable *draw; + + /* ignore file drops */ + if (!mg_is_gui_target (context)) + return FALSE; + + if (scbar) /* scrollbar */ + { + ox = widget->allocation.x; + oy = widget->allocation.y; + width = widget->allocation.width; + height = widget->allocation.height; + draw = widget->window; + } + else + { + ox = oy = 0; + gdk_drawable_get_size (widget->window, &width, &height); + draw = widget->window; + } + + val.subwindow_mode = GDK_INCLUDE_INFERIORS; + val.graphics_exposures = 0; + val.function = GDK_XOR; + + gc = gdk_gc_new_with_values (widget->window, &val, GDK_GC_EXPOSURES | GDK_GC_SUBWINDOW | GDK_GC_FUNCTION); + col.red = rand() % 0xffff; + col.green = rand() % 0xffff; + col.blue = rand() % 0xffff; + gdk_colormap_alloc_color (gtk_widget_get_colormap (widget), &col, FALSE, TRUE); + gdk_gc_set_foreground (gc, &col); + + half = height / 2; + +#if 0 + /* are both tree/userlist on the same side? */ + paned = (GtkPaned *)widget->parent->parent; + if (paned->child1 != NULL && paned->child2 != NULL) + { + gdk_draw_rectangle (draw, gc, 0, 1, 2, width - 3, height - 4); + gdk_draw_rectangle (draw, gc, 0, 0, 1, width - 1, height - 2); + g_object_unref (gc); + return TRUE; + } +#endif + + if (y < half) + { + gdk_draw_rectangle (draw, gc, FALSE, 1 + ox, 2 + oy, width - 3, half - 4); + gdk_draw_rectangle (draw, gc, FALSE, 0 + ox, 1 + oy, width - 1, half - 2); + gtk_widget_queue_draw_area (widget, ox, half + oy, width, height - half); + } + else + { + gdk_draw_rectangle (draw, gc, FALSE, 0 + ox, half + 1 + oy, width - 1, half - 2); + gdk_draw_rectangle (draw, gc, FALSE, 1 + ox, half + 2 + oy, width - 3, half - 4); + gtk_widget_queue_draw_area (widget, ox, oy, width, half); + } + + g_object_unref (gc); + + return TRUE; +} diff --git a/src/fe-gtk/maingui.h b/src/fe-gtk/maingui.h new file mode 100644 index 00000000..bc9aaefd --- /dev/null +++ b/src/fe-gtk/maingui.h @@ -0,0 +1,33 @@ +extern GtkStyle *input_style; +extern GtkWidget *parent_window; + +void mg_changui_new (session *sess, restore_gui *res, int tab, int focus); +void mg_update_xtext (GtkWidget *wid); +void mg_open_quit_dialog (gboolean minimize_button); +void mg_switch_page (int relative, int num); +void mg_move_tab (session *, int delta); +void mg_move_tab_family (session *, int delta); +void mg_bring_tofront (GtkWidget *vbox); +void mg_bring_tofront_sess (session *sess); +void mg_decide_userlist (session *sess, gboolean switch_to_current); +void mg_set_topic_tip (session *sess); +GtkWidget *mg_create_generic_tab (char *name, char *title, int force_toplevel, int link_buttons, void *close_callback, void *userdata, int width, int height, GtkWidget **vbox_ret, void *family); +void mg_set_title (GtkWidget *button, char *title); +void mg_set_access_icon (session_gui *gui, GdkPixbuf *pix, gboolean away); +void mg_apply_setup (void); +void mg_close_sess (session *); +void mg_tab_close (session *sess); +void mg_detach (session *sess, int mode); +void mg_progressbar_create (session_gui *gui); +void mg_progressbar_destroy (session_gui *gui); +void mg_dnd_drop_file (session *sess, char *target, char *uri); +void mg_change_layout (int type); +void mg_update_meters (session_gui *); +void mg_inputbox_cb (GtkWidget *igad, session_gui *gui); +void mg_create_icon_item (char *label, char *stock, GtkWidget *menu, void *callback, void *userdata); +GtkWidget *mg_submenu (GtkWidget *menu, char *text); +/* DND */ +gboolean mg_drag_begin_cb (GtkWidget *widget, GdkDragContext *context, gpointer userdata); +void mg_drag_end_cb (GtkWidget *widget, GdkDragContext *context, gpointer userdata); +gboolean mg_drag_drop_cb (GtkWidget *widget, GdkDragContext *context, int x, int y, guint time, gpointer user_data); +gboolean mg_drag_motion_cb (GtkWidget *widget, GdkDragContext *context, int x, int y, guint time, gpointer user_data); diff --git a/src/fe-gtk/menu.c b/src/fe-gtk/menu.c new file mode 100644 index 00000000..d04be222 --- /dev/null +++ b/src/fe-gtk/menu.c @@ -0,0 +1,2270 @@ +/* X-Chat + * Copyright (C) 1998-2007 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <fcntl.h> +#include <string.h> +#include <unistd.h> + +#ifdef WIN32 +#include <windows.h> +#endif + +#include "fe-gtk.h" + +#include <gtk/gtkhbox.h> +#include <gtk/gtkcheckmenuitem.h> +#include <gtk/gtkentry.h> +#include <gtk/gtkimage.h> +#include <gtk/gtkimagemenuitem.h> +#include <gtk/gtkradiomenuitem.h> +#include <gtk/gtklabel.h> +#include <gtk/gtkmessagedialog.h> +#include <gtk/gtkmenu.h> +#include <gtk/gtkmenubar.h> +#include <gtk/gtkstock.h> +#include <gtk/gtkversion.h> +#include <gdk/gdkkeysyms.h> + +#include "../common/xchat.h" +#include "../common/xchatc.h" +#include "../common/cfgfiles.h" +#include "../common/outbound.h" +#include "../common/ignore.h" +#include "../common/fe.h" +#include "../common/server.h" +#include "../common/servlist.h" +#include "../common/notify.h" +#include "../common/util.h" +#include "xtext.h" +#include "about.h" +#include "ascii.h" +#include "banlist.h" +#include "chanlist.h" +#include "editlist.h" +#include "fkeys.h" +#include "gtkutil.h" +#include "maingui.h" +#include "notifygui.h" +#include "pixmaps.h" +#include "rawlog.h" +#include "palette.h" +#include "plugingui.h" +#include "search.h" +#include "textgui.h" +#include "urlgrab.h" +#include "userlistgui.h" +#include "menu.h" + +static GSList *submenu_list; + +enum +{ + M_MENUITEM, + M_NEWMENU, + M_END, + M_SEP, + M_MENUTOG, + M_MENURADIO, + M_MENUSTOCK, + M_MENUPIX, + M_MENUSUB +}; + +struct mymenu +{ + char *text; + void *callback; + char *image; + unsigned char type; /* M_XXX */ + unsigned char id; /* MENU_ID_XXX (menu.h) */ + unsigned char state; /* ticked or not? */ + unsigned char sensitive; /* shaded out? */ + guint key; /* GDK_x */ +}; + +#define XCMENU_DOLIST 1 +#define XCMENU_SHADED 1 +#define XCMENU_MARKUP 2 +#define XCMENU_MNEMONIC 4 + +/* execute a userlistbutton/popupmenu command */ + +static void +nick_command (session * sess, char *cmd) +{ + if (*cmd == '!') + xchat_exec (cmd + 1); + else + handle_command (sess, cmd, TRUE); +} + +/* fill in the %a %s %n etc and execute the command */ + +void +nick_command_parse (session *sess, char *cmd, char *nick, char *allnick) +{ + char *buf; + char *host = _("Host unknown"); + struct User *user; + int len; + +/* if (sess->type == SESS_DIALOG) + { + buf = (char *)(GTK_ENTRY (sess->gui->topic_entry)->text); + buf = strrchr (buf, '@'); + if (buf) + host = buf + 1; + } else*/ + { + user = userlist_find (sess, nick); + if (user && user->hostname) + host = strchr (user->hostname, '@') + 1; + } + + /* this can't overflow, since popup->cmd is only 256 */ + len = strlen (cmd) + strlen (nick) + strlen (allnick) + 512; + buf = malloc (len); + + auto_insert (buf, len, cmd, 0, 0, allnick, sess->channel, "", + server_get_network (sess->server, TRUE), host, + sess->server->nick, nick); + + nick_command (sess, buf); + + free (buf); +} + +/* userlist button has been clicked */ + +void +userlist_button_cb (GtkWidget * button, char *cmd) +{ + int i, num_sel, using_allnicks = FALSE; + char **nicks, *allnicks; + char *nick = NULL; + session *sess; + + sess = current_sess; + + if (strstr (cmd, "%a")) + using_allnicks = TRUE; + + if (sess->type == SESS_DIALOG) + { + /* fake a selection */ + nicks = malloc (sizeof (char *) * 2); + nicks[0] = g_strdup (sess->channel); + nicks[1] = NULL; + num_sel = 1; + } else + { + /* find number of selected rows */ + nicks = userlist_selection_list (sess->gui->user_tree, &num_sel); + if (num_sel < 1) + { + nick_command_parse (sess, cmd, "", ""); + return; + } + } + + /* create "allnicks" string */ + allnicks = malloc (((NICKLEN + 1) * num_sel) + 1); + *allnicks = 0; + + i = 0; + while (nicks[i]) + { + if (i > 0) + strcat (allnicks, " "); + strcat (allnicks, nicks[i]); + + if (!nick) + nick = nicks[0]; + + /* if not using "%a", execute the command once for each nickname */ + if (!using_allnicks) + nick_command_parse (sess, cmd, nicks[i], ""); + + i++; + } + + if (using_allnicks) + { + if (!nick) + nick = ""; + nick_command_parse (sess, cmd, nick, allnicks); + } + + while (num_sel) + { + num_sel--; + g_free (nicks[num_sel]); + } + + free (nicks); + free (allnicks); +} + +/* a popup-menu-item has been selected */ + +static void +popup_menu_cb (GtkWidget * item, char *cmd) +{ + char *nick; + + /* the userdata is set in menu_quick_item() */ + nick = g_object_get_data (G_OBJECT (item), "u"); + + if (!nick) /* userlist popup menu */ + { + /* treat it just like a userlist button */ + userlist_button_cb (NULL, cmd); + return; + } + + if (!current_sess) /* for url grabber window */ + nick_command_parse (sess_list->data, cmd, nick, nick); + else + nick_command_parse (current_sess, cmd, nick, nick); +} + +GtkWidget * +menu_toggle_item (char *label, GtkWidget *menu, void *callback, void *userdata, + int state) +{ + GtkWidget *item; + + item = gtk_check_menu_item_new_with_mnemonic (label); + gtk_check_menu_item_set_active ((GtkCheckMenuItem*)item, state); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (callback), userdata); + gtk_widget_show (item); + + return item; +} + +GtkWidget * +menu_quick_item (char *cmd, char *label, GtkWidget * menu, int flags, + gpointer userdata, char *icon) +{ + GtkWidget *img, *item; + char *path; + + if (!label) + item = gtk_menu_item_new (); + else + { + if (icon) + { + /*if (flags & XCMENU_MARKUP) + item = gtk_image_menu_item_new_with_markup (label); + else*/ + item = gtk_image_menu_item_new_with_mnemonic (label); + img = NULL; + if (access (icon, R_OK) == 0) /* try fullpath */ + img = gtk_image_new_from_file (icon); + else + { + /* try relative to ~/.xchat2 */ + path = g_strdup_printf ("%s/%s", get_xdir_fs (), icon); + if (access (path, R_OK) == 0) + img = gtk_image_new_from_file (path); + else + img = gtk_image_new_from_stock (icon, GTK_ICON_SIZE_MENU); + g_free (path); + } + + if (img) + gtk_image_menu_item_set_image ((GtkImageMenuItem *)item, img); + } + else + { + if (flags & XCMENU_MARKUP) + { + item = gtk_menu_item_new_with_label (""); + if (flags & XCMENU_MNEMONIC) + gtk_label_set_markup_with_mnemonic (GTK_LABEL (GTK_BIN (item)->child), label); + else + gtk_label_set_markup (GTK_LABEL (GTK_BIN (item)->child), label); + } else + { + if (flags & XCMENU_MNEMONIC) + item = gtk_menu_item_new_with_mnemonic (label); + else + item = gtk_menu_item_new_with_label (label); + } + } + } + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + g_object_set_data (G_OBJECT (item), "u", userdata); + if (cmd) + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (popup_menu_cb), cmd); + if (flags & XCMENU_SHADED) + gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE); + gtk_widget_show_all (item); + + return item; +} + +static void +menu_quick_item_with_callback (void *callback, char *label, GtkWidget * menu, + void *arg) +{ + GtkWidget *item; + + item = gtk_menu_item_new_with_label (label); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (callback), arg); + gtk_widget_show (item); +} + +GtkWidget * +menu_quick_sub (char *name, GtkWidget *menu, GtkWidget **sub_item_ret, int flags, int pos) +{ + GtkWidget *sub_menu; + GtkWidget *sub_item; + + if (!name) + return menu; + + /* Code to add a submenu */ + sub_menu = gtk_menu_new (); + if (flags & XCMENU_MARKUP) + { + sub_item = gtk_menu_item_new_with_label (""); + gtk_label_set_markup (GTK_LABEL (GTK_BIN (sub_item)->child), name); + } + else + { + if (flags & XCMENU_MNEMONIC) + sub_item = gtk_menu_item_new_with_mnemonic (name); + else + sub_item = gtk_menu_item_new_with_label (name); + } + gtk_menu_shell_insert (GTK_MENU_SHELL (menu), sub_item, pos); + gtk_widget_show (sub_item); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (sub_item), sub_menu); + + if (sub_item_ret) + *sub_item_ret = sub_item; + + if (flags & XCMENU_DOLIST) + /* We create a new element in the list */ + submenu_list = g_slist_prepend (submenu_list, sub_menu); + return sub_menu; +} + +static GtkWidget * +menu_quick_endsub () +{ + /* Just delete the first element in the linked list pointed to by first */ + if (submenu_list) + submenu_list = g_slist_remove (submenu_list, submenu_list->data); + + if (submenu_list) + return (submenu_list->data); + else + return NULL; +} + +static void +toggle_cb (GtkWidget *item, char *pref_name) +{ + char buf[256]; + + if (GTK_CHECK_MENU_ITEM (item)->active) + snprintf (buf, sizeof (buf), "set %s 1", pref_name); + else + snprintf (buf, sizeof (buf), "set %s 0", pref_name); + + handle_command (current_sess, buf, FALSE); +} + +static int +is_in_path (char *cmd) +{ + char *prog = strdup (cmd + 1); /* 1st char is "!" */ + char *space, *path, *orig; + + orig = prog; /* save for free()ing */ + /* special-case these default entries. */ + /* 123456789012345678 */ + if (strncmp (prog, "gnome-terminal -x ", 18) == 0) + /* don't check for gnome-terminal, but the thing it's executing! */ + prog += 18; + + space = strchr (prog, ' '); /* this isn't 100% but good enuf */ + if (space) + *space = 0; + + path = g_find_program_in_path (prog); + if (path) + { + g_free (path); + g_free (orig); + return 1; + } + + g_free (orig); + return 0; +} + +/* syntax: "LABEL~ICON~STUFF~ADDED~LATER~" */ + +static void +menu_extract_icon (char *name, char **label, char **icon) +{ + char *p = name; + char *start = NULL; + char *end = NULL; + + while (*p) + { + if (*p == '~') + { + /* escape \~ */ + if (p == name || p[-1] != '\\') + { + if (!start) + start = p + 1; + else if (!end) + end = p + 1; + } + } + p++; + } + + if (!end) + end = p; + + if (start && start != end) + { + *label = g_strndup (name, (start - name) - 1); + *icon = g_strndup (start, (end - start) - 1); + } + else + { + *label = g_strdup (name); + *icon = NULL; + } +} + +/* append items to "menu" using the (struct popup*) list provided */ + +void +menu_create (GtkWidget *menu, GSList *list, char *target, int check_path) +{ + struct popup *pop; + GtkWidget *tempmenu = menu, *subitem = NULL; + int childcount = 0; + + submenu_list = g_slist_prepend (0, menu); + while (list) + { + pop = (struct popup *) list->data; + + if (!strncasecmp (pop->name, "SUB", 3)) + { + childcount = 0; + tempmenu = menu_quick_sub (pop->cmd, tempmenu, &subitem, XCMENU_DOLIST|XCMENU_MNEMONIC, -1); + + } else if (!strncasecmp (pop->name, "TOGGLE", 6)) + { + childcount++; + menu_toggle_item (pop->name + 7, tempmenu, toggle_cb, pop->cmd, + cfg_get_bool (pop->cmd)); + + } else if (!strncasecmp (pop->name, "ENDSUB", 6)) + { + /* empty sub menu due to no programs in PATH? */ + if (check_path && childcount < 1) + gtk_widget_destroy (subitem); + subitem = NULL; + + if (tempmenu != menu) + tempmenu = menu_quick_endsub (); + /* If we get here and tempmenu equals menu that means we havent got any submenus to exit from */ + + } else if (!strncasecmp (pop->name, "SEP", 3)) + { + menu_quick_item (0, 0, tempmenu, XCMENU_SHADED, 0, 0); + + } else + { + char *icon, *label; + + /* default command in xchat.c */ + if (pop->cmd[0] == 'n' && !strcmp (pop->cmd, "notify -n ASK %s")) + { + /* don't create this item if already in notify list */ + if (!target || notify_is_in_list (current_sess->server, target)) + { + list = list->next; + continue; + } + } + + menu_extract_icon (pop->name, &label, &icon); + + if (!check_path || pop->cmd[0] != '!') + { + menu_quick_item (pop->cmd, label, tempmenu, 0, target, icon); + /* check if the program is in path, if not, leave it out! */ + } else if (is_in_path (pop->cmd)) + { + childcount++; + menu_quick_item (pop->cmd, label, tempmenu, 0, target, icon); + } + + g_free (label); + g_free (icon); + } + + list = list->next; + } + + /* Let's clean up the linked list from mem */ + while (submenu_list) + submenu_list = g_slist_remove (submenu_list, submenu_list->data); +} + +static char *str_copy = NULL; /* for all pop-up menus */ +static GtkWidget *nick_submenu = NULL; /* user info submenu */ + +static void +menu_destroy (GtkWidget *menu, gpointer objtounref) +{ + gtk_widget_destroy (menu); + g_object_unref (menu); + if (objtounref) + g_object_unref (G_OBJECT (objtounref)); + nick_submenu = NULL; +} + +static void +menu_popup (GtkWidget *menu, GdkEventButton *event, gpointer objtounref) +{ +#if (GTK_MAJOR_VERSION != 2) || (GTK_MINOR_VERSION != 0) + if (event && event->window) + gtk_menu_set_screen (GTK_MENU (menu), gdk_drawable_get_screen (event->window)); +#endif + + g_object_ref (menu); + g_object_ref_sink (menu); + g_object_unref (menu); + g_signal_connect (G_OBJECT (menu), "selection-done", + G_CALLBACK (menu_destroy), objtounref); + gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, + 0, event ? event->time : 0); +} + +static void +menu_nickinfo_cb (GtkWidget *menu, session *sess) +{ + char buf[512]; + + if (!is_session (sess)) + return; + + /* issue a /WHOIS */ + snprintf (buf, sizeof (buf), "WHOIS %s %s", str_copy, str_copy); + handle_command (sess, buf, FALSE); + /* and hide the output */ + sess->server->skip_next_whois = 1; +} + +static void +copy_to_clipboard_cb (GtkWidget *item, char *url) +{ + gtkutil_copy_to_clipboard (item, NULL, url); +} + +/* returns boolean: Some data is missing */ + +static gboolean +menu_create_nickinfo_menu (struct User *user, GtkWidget *submenu) +{ + char buf[512]; + char unknown[96]; + char *real, *fmt; + struct away_msg *away; + gboolean missing = FALSE; + GtkWidget *item; + + /* let the translators tweak this if need be */ + fmt = _("<tt><b>%-11s</b></tt> %s"); + snprintf (unknown, sizeof (unknown), "<i>%s</i>", _("Unknown")); + + if (user->realname) + { + real = strip_color (user->realname, -1, STRIP_ALL|STRIP_ESCMARKUP); + snprintf (buf, sizeof (buf), fmt, _("Real Name:"), real); + g_free (real); + } else + { + snprintf (buf, sizeof (buf), fmt, _("Real Name:"), unknown); + } + item = menu_quick_item (0, buf, submenu, XCMENU_MARKUP, 0, 0); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (copy_to_clipboard_cb), + user->realname ? user->realname : unknown); + + snprintf (buf, sizeof (buf), fmt, _("User:"), + user->hostname ? user->hostname : unknown); + item = menu_quick_item (0, buf, submenu, XCMENU_MARKUP, 0, 0); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (copy_to_clipboard_cb), + user->hostname ? user->hostname : unknown); + + snprintf (buf, sizeof (buf), fmt, _("Country:"), + user->hostname ? country(user->hostname) : unknown); + item = menu_quick_item (0, buf, submenu, XCMENU_MARKUP, 0, 0); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (copy_to_clipboard_cb), + user->hostname ? country(user->hostname) : unknown); + + snprintf (buf, sizeof (buf), fmt, _("Server:"), + user->servername ? user->servername : unknown); + item = menu_quick_item (0, buf, submenu, XCMENU_MARKUP, 0, 0); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (copy_to_clipboard_cb), + user->servername ? user->servername : unknown); + + if (user->lasttalk) + { + char min[96]; + + snprintf (min, sizeof (min), _("%u minutes ago"), + (unsigned int) ((time (0) - user->lasttalk) / 60)); + snprintf (buf, sizeof (buf), fmt, _("Last Msg:"), min); + } else + { + snprintf (buf, sizeof (buf), fmt, _("Last Msg:"), unknown); + } + menu_quick_item (0, buf, submenu, XCMENU_MARKUP, 0, 0); + + if (user->away) + { + away = server_away_find_message (current_sess->server, user->nick); + if (away) + { + char *msg = strip_color (away->message ? away->message : unknown, -1, STRIP_ALL|STRIP_ESCMARKUP); + snprintf (buf, sizeof (buf), fmt, _("Away Msg:"), msg); + g_free (msg); + item = menu_quick_item (0, buf, submenu, XCMENU_MARKUP, 0, 0); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (copy_to_clipboard_cb), + away->message ? away->message : unknown); + } + else + missing = TRUE; + } + + return missing; +} + +void +fe_userlist_update (session *sess, struct User *user) +{ + GList *items, *next; + + if (!nick_submenu || !str_copy) + return; + + /* not the same nick as the menu? */ + if (sess->server->p_cmp (user->nick, str_copy)) + return; + + /* get rid of the "show" signal */ + g_signal_handlers_disconnect_by_func (nick_submenu, menu_nickinfo_cb, sess); + + /* destroy all the old items */ + items = ((GtkMenuShell *) nick_submenu)->children; + while (items) + { + next = items->next; + gtk_widget_destroy (items->data); + items = next; + } + + /* and re-create them with new info */ + menu_create_nickinfo_menu (user, nick_submenu); +} + +void +menu_nickmenu (session *sess, GdkEventButton *event, char *nick, int num_sel) +{ + char buf[512]; + struct User *user; + GtkWidget *submenu, *menu = gtk_menu_new (); + + if (str_copy) + free (str_copy); + str_copy = strdup (nick); + + submenu_list = 0; /* first time through, might not be 0 */ + + /* more than 1 nick selected? */ + if (num_sel > 1) + { + snprintf (buf, sizeof (buf), _("%d nicks selected."), num_sel); + menu_quick_item (0, buf, menu, 0, 0, 0); + menu_quick_item (0, 0, menu, XCMENU_SHADED, 0, 0); + } else + { + user = userlist_find (sess, nick); /* lasttalk is channel specific */ + if (!user) + user = userlist_find_global (current_sess->server, nick); + if (user) + { + nick_submenu = submenu = menu_quick_sub (nick, menu, NULL, XCMENU_DOLIST, -1); + + if (menu_create_nickinfo_menu (user, submenu) || + !user->hostname || !user->realname || !user->servername) + { + g_signal_connect (G_OBJECT (submenu), "show", G_CALLBACK (menu_nickinfo_cb), sess); + } + + menu_quick_endsub (); + menu_quick_item (0, 0, menu, XCMENU_SHADED, 0, 0); + } + } + + if (num_sel > 1) + menu_create (menu, popup_list, NULL, FALSE); + else + menu_create (menu, popup_list, str_copy, FALSE); + + if (num_sel == 0) /* xtext click */ + menu_add_plugin_items (menu, "\x5$NICK", str_copy); + else /* userlist treeview click */ + menu_add_plugin_items (menu, "\x5$NICK", NULL); + + menu_popup (menu, event, NULL); +} + +/* stuff for the View menu */ + +static void +menu_showhide_cb (session *sess) +{ + if (prefs.hidemenu) + gtk_widget_hide (sess->gui->menu); + else + gtk_widget_show (sess->gui->menu); +} + +static void +menu_topic_showhide_cb (session *sess) +{ + if (prefs.topicbar) + gtk_widget_show (sess->gui->topic_bar); + else + gtk_widget_hide (sess->gui->topic_bar); +} + +static void +menu_userlist_showhide_cb (session *sess) +{ + mg_decide_userlist (sess, TRUE); +} + +static void +menu_ulbuttons_showhide_cb (session *sess) +{ + if (prefs.userlistbuttons) + gtk_widget_show (sess->gui->button_box); + else + gtk_widget_hide (sess->gui->button_box); +} + +static void +menu_cmbuttons_showhide_cb (session *sess) +{ + switch (sess->type) + { + case SESS_CHANNEL: + if (prefs.chanmodebuttons) + gtk_widget_show (sess->gui->topicbutton_box); + else + gtk_widget_hide (sess->gui->topicbutton_box); + break; + default: + gtk_widget_hide (sess->gui->topicbutton_box); + } +} + +static void +menu_setting_foreach (void (*callback) (session *), int id, guint state) +{ + session *sess; + GSList *list; + int maindone = FALSE; /* do it only once for EVERY tab */ + + list = sess_list; + while (list) + { + sess = list->data; + + if (!sess->gui->is_tab || !maindone) + { + if (sess->gui->is_tab) + maindone = TRUE; + if (id != -1) + GTK_CHECK_MENU_ITEM (sess->gui->menu_item[id])->active = state; + if (callback) + callback (sess); + } + + list = list->next; + } +} + +void +menu_bar_toggle (void) +{ + prefs.hidemenu = !prefs.hidemenu; + menu_setting_foreach (menu_showhide_cb, MENU_ID_MENUBAR, !prefs.hidemenu); +} + +static void +menu_bar_toggle_cb (void) +{ + menu_bar_toggle (); + if (prefs.hidemenu) + fe_message (_("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."), FE_MSG_INFO); +} + +static void +menu_topicbar_toggle (GtkWidget *wid, gpointer ud) +{ + prefs.topicbar = !prefs.topicbar; + menu_setting_foreach (menu_topic_showhide_cb, MENU_ID_TOPICBAR, + prefs.topicbar); +} + +static void +menu_userlist_toggle (GtkWidget *wid, gpointer ud) +{ + prefs.hideuserlist = !prefs.hideuserlist; + menu_setting_foreach (menu_userlist_showhide_cb, MENU_ID_USERLIST, + !prefs.hideuserlist); +} + +static void +menu_ulbuttons_toggle (GtkWidget *wid, gpointer ud) +{ + prefs.userlistbuttons = !prefs.userlistbuttons; + menu_setting_foreach (menu_ulbuttons_showhide_cb, MENU_ID_ULBUTTONS, + prefs.userlistbuttons); +} + +static void +menu_cmbuttons_toggle (GtkWidget *wid, gpointer ud) +{ + prefs.chanmodebuttons = !prefs.chanmodebuttons; + menu_setting_foreach (menu_cmbuttons_showhide_cb, MENU_ID_MODEBUTTONS, + prefs.chanmodebuttons); +} + +void +menu_middlemenu (session *sess, GdkEventButton *event) +{ + GtkWidget *menu; + GtkAccelGroup *accel_group; + + accel_group = gtk_accel_group_new (); + menu = menu_create_main (accel_group, FALSE, sess->server->is_away, !sess->gui->is_tab, NULL); + menu_popup (menu, event, accel_group); +} + +static void +open_url_cb (GtkWidget *item, char *url) +{ + char buf[512]; + + /* pass this to /URL so it can handle irc:// */ + snprintf (buf, sizeof (buf), "URL %s", url); + handle_command (current_sess, buf, FALSE); +} + +void +menu_urlmenu (GdkEventButton *event, char *url) +{ + GtkWidget *menu; + char *tmp, *chop; + + if (str_copy) + free (str_copy); + str_copy = strdup (url); + + menu = gtk_menu_new (); + /* more than 51 chars? Chop it */ + if (g_utf8_strlen (str_copy, -1) >= 52) + { + tmp = strdup (str_copy); + chop = g_utf8_offset_to_pointer (tmp, 48); + chop[0] = chop[1] = chop[2] = '.'; + chop[3] = 0; + menu_quick_item (0, tmp, menu, XCMENU_SHADED, 0, 0); + free (tmp); + } else + { + menu_quick_item (0, str_copy, menu, XCMENU_SHADED, 0, 0); + } + menu_quick_item (0, 0, menu, XCMENU_SHADED, 0, 0); + + /* Two hardcoded entries */ + if (strncmp (str_copy, "irc://", 6) == 0 || + strncmp (str_copy, "ircs://",7) == 0) + menu_quick_item_with_callback (open_url_cb, _("Connect"), menu, str_copy); + else + menu_quick_item_with_callback (open_url_cb, _("Open Link in Browser"), menu, str_copy); + menu_quick_item_with_callback (copy_to_clipboard_cb, _("Copy Selected Link"), menu, str_copy); + /* custom ones from urlhandlers.conf */ + menu_create (menu, urlhandler_list, str_copy, TRUE); + menu_add_plugin_items (menu, "\x4$URL", str_copy); + menu_popup (menu, event, NULL); +} + +static void +menu_chan_cycle (GtkWidget * menu, char *chan) +{ + char tbuf[256]; + + if (current_sess) + { + snprintf (tbuf, sizeof tbuf, "CYCLE %s", chan); + handle_command (current_sess, tbuf, FALSE); + } +} + +static void +menu_chan_part (GtkWidget * menu, char *chan) +{ + char tbuf[256]; + + if (current_sess) + { + snprintf (tbuf, sizeof tbuf, "part %s", chan); + handle_command (current_sess, tbuf, FALSE); + } +} + +static void +menu_chan_join (GtkWidget * menu, char *chan) +{ + char tbuf[256]; + + if (current_sess) + { + snprintf (tbuf, sizeof tbuf, "join %s", chan); + handle_command (current_sess, tbuf, FALSE); + } +} + +void +menu_chanmenu (struct session *sess, GdkEventButton * event, char *chan) +{ + GtkWidget *menu; + int is_joined = FALSE; + + if (find_channel (sess->server, chan)) + is_joined = TRUE; + + if (str_copy) + free (str_copy); + str_copy = strdup (chan); + + menu = gtk_menu_new (); + + menu_quick_item (0, chan, menu, XCMENU_SHADED, str_copy, 0); + menu_quick_item (0, 0, menu, XCMENU_SHADED, str_copy, 0); + + if (!is_joined) + menu_quick_item_with_callback (menu_chan_join, _("Join Channel"), menu, + str_copy); + else + { + menu_quick_item_with_callback (menu_chan_part, _("Part Channel"), menu, + str_copy); + menu_quick_item_with_callback (menu_chan_cycle, _("Cycle Channel"), menu, + str_copy); + } + + menu_addfavoritemenu (sess->server, menu, str_copy); + + menu_add_plugin_items (menu, "\x5$CHAN", str_copy); + menu_popup (menu, event, NULL); +} + +static void +menu_delfav_cb (GtkWidget *item, server *serv) +{ + servlist_autojoinedit (serv->network, str_copy, FALSE); +} + +static void +menu_addfav_cb (GtkWidget *item, server *serv) +{ + servlist_autojoinedit (serv->network, str_copy, TRUE); +} + +void +menu_addfavoritemenu (server *serv, GtkWidget *menu, char *channel) +{ + if (!serv->network) + return; + + if (channel != str_copy) + { + if (str_copy) + free (str_copy); + str_copy = strdup (channel); + } + + if (joinlist_is_in_list (serv, channel)) + mg_create_icon_item (_("_Remove from Favorites"), GTK_STOCK_REMOVE, menu, menu_delfav_cb, serv); + else + mg_create_icon_item (_("_Add to Favorites"), GTK_STOCK_ADD, menu, menu_addfav_cb, serv); +} + +static void +menu_open_server_list (GtkWidget *wid, gpointer none) +{ + fe_serverlist_open (current_sess); +} + +static void +menu_settings (GtkWidget * wid, gpointer none) +{ + extern void setup_open (void); + setup_open (); +} + +static void +menu_usermenu (void) +{ + editlist_gui_open (NULL, NULL, usermenu_list, _("XChat: User menu"), + "usermenu", "usermenu.conf", 0); +} + +static void +usermenu_create (GtkWidget *menu) +{ + menu_create (menu, usermenu_list, "", FALSE); + menu_quick_item (0, 0, menu, XCMENU_SHADED, 0, 0); /* sep */ + menu_quick_item_with_callback (menu_usermenu, _("Edit This Menu..."), menu, 0); +} + +static void +usermenu_destroy (GtkWidget * menu) +{ + GList *items = ((GtkMenuShell *) menu)->children; + GList *next; + + while (items) + { + next = items->next; + gtk_widget_destroy (items->data); + items = next; + } +} + +void +usermenu_update (void) +{ + int done_main = FALSE; + GSList *list = sess_list; + session *sess; + GtkWidget *menu; + + while (list) + { + sess = list->data; + menu = sess->gui->menu_item[MENU_ID_USERMENU]; + if (sess->gui->is_tab) + { + if (!done_main && menu) + { + usermenu_destroy (menu); + usermenu_create (menu); + done_main = TRUE; + } + } else if (menu) + { + usermenu_destroy (menu); + usermenu_create (menu); + } + list = list->next; + } +} + +static void +menu_newserver_window (GtkWidget * wid, gpointer none) +{ + int old = prefs.tabchannels; + + prefs.tabchannels = 0; + new_ircwindow (NULL, NULL, SESS_SERVER, 0); + prefs.tabchannels = old; +} + +static void +menu_newchannel_window (GtkWidget * wid, gpointer none) +{ + int old = prefs.tabchannels; + + prefs.tabchannels = 0; + new_ircwindow (current_sess->server, NULL, SESS_CHANNEL, 0); + prefs.tabchannels = old; +} + +static void +menu_newserver_tab (GtkWidget * wid, gpointer none) +{ + int old = prefs.tabchannels; + int oldf = prefs.newtabstofront; + + prefs.tabchannels = 1; + /* force focus if setting is "only requested tabs" */ + if (prefs.newtabstofront == 2) + prefs.newtabstofront = 1; + new_ircwindow (NULL, NULL, SESS_SERVER, 0); + prefs.tabchannels = old; + prefs.newtabstofront = oldf; +} + +static void +menu_newchannel_tab (GtkWidget * wid, gpointer none) +{ + int old = prefs.tabchannels; + + prefs.tabchannels = 1; + new_ircwindow (current_sess->server, NULL, SESS_CHANNEL, 0); + prefs.tabchannels = old; +} + +static void +menu_rawlog (GtkWidget * wid, gpointer none) +{ + open_rawlog (current_sess->server); +} + +static void +menu_detach (GtkWidget * wid, gpointer none) +{ + mg_detach (current_sess, 0); +} + +static void +menu_close (GtkWidget * wid, gpointer none) +{ + mg_close_sess (current_sess); +} + +static void +menu_quit (GtkWidget * wid, gpointer none) +{ + mg_open_quit_dialog (FALSE); +} + +static void +menu_search () +{ + search_open (current_sess); +} + +static void +menu_resetmarker (GtkWidget * wid, gpointer none) +{ + gtk_xtext_reset_marker_pos (GTK_XTEXT (current_sess->gui->xtext)); +} + +static void +menu_flushbuffer (GtkWidget * wid, gpointer none) +{ + fe_text_clear (current_sess, 0); +} + +static void +savebuffer_req_done (session *sess, char *file) +{ + int fh; + + if (!file) + return; + + fh = open (file, O_TRUNC | O_WRONLY | O_CREAT, 0600); + if (fh != -1) + { + gtk_xtext_save (GTK_XTEXT (sess->gui->xtext), fh); + close (fh); + } +} + +static void +menu_savebuffer (GtkWidget * wid, gpointer none) +{ + gtkutil_file_req (_("Select an output filename"), savebuffer_req_done, + current_sess, NULL, FRF_WRITE); +} + +static void +menu_disconnect (GtkWidget * wid, gpointer none) +{ + handle_command (current_sess, "DISCON", FALSE); +} + +static void +menu_reconnect (GtkWidget * wid, gpointer none) +{ + if (current_sess->server->hostname[0]) + handle_command (current_sess, "RECONNECT", FALSE); + else + fe_serverlist_open (current_sess); +} + +static void +menu_join_cb (GtkWidget *dialog, gint response, GtkEntry *entry) +{ + switch (response) + { + case GTK_RESPONSE_ACCEPT: + menu_chan_join (NULL, entry->text); + break; + + case GTK_RESPONSE_HELP: + chanlist_opengui (current_sess->server, TRUE); + break; + } + + gtk_widget_destroy (dialog); +} + +static void +menu_join_entry_cb (GtkWidget *entry, GtkDialog *dialog) +{ + gtk_dialog_response (dialog, GTK_RESPONSE_ACCEPT); +} + +static void +menu_join (GtkWidget * wid, gpointer none) +{ + GtkWidget *hbox, *dialog, *entry, *label; + + dialog = gtk_dialog_new_with_buttons (_("Join Channel"), + GTK_WINDOW (parent_window), 0, + _("Retrieve channel list..."), GTK_RESPONSE_HELP, + GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, + GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, + NULL); + gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (dialog)->vbox), TRUE); + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); + hbox = gtk_hbox_new (TRUE, 0); + + entry = gtk_entry_new (); + GTK_ENTRY (entry)->editable = 0; /* avoid auto-selection */ + gtk_entry_set_text (GTK_ENTRY (entry), "#"); + g_signal_connect (G_OBJECT (entry), "activate", + G_CALLBACK (menu_join_entry_cb), dialog); + gtk_box_pack_end (GTK_BOX (hbox), entry, 0, 0, 0); + + label = gtk_label_new (_("Enter Channel to Join:")); + gtk_box_pack_end (GTK_BOX (hbox), label, 0, 0, 0); + + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (menu_join_cb), entry); + + gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), hbox); + + gtk_widget_show_all (dialog); + + gtk_editable_set_editable (GTK_EDITABLE (entry), TRUE); + gtk_editable_set_position (GTK_EDITABLE (entry), 1); +} + +static void +menu_away (GtkCheckMenuItem *item, gpointer none) +{ + handle_command (current_sess, item->active ? "away" : "back", FALSE); +} + +static void +menu_chanlist (GtkWidget * wid, gpointer none) +{ + chanlist_opengui (current_sess->server, FALSE); +} + +static void +menu_banlist (GtkWidget * wid, gpointer none) +{ + banlist_opengui (current_sess); +} + +#ifdef USE_PLUGIN + +static void +menu_loadplugin (void) +{ + plugingui_load (); +} + +static void +menu_pluginlist (void) +{ + plugingui_open (); +} + +#else + +#define menu_pluginlist 0 +#define menu_loadplugin 0 + +#endif + +#define usercommands_help _("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 = xchat 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 \042john\042\n"\ + "&2 would be \042john hello\042.") + +#define ulbutton_help _("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") + +#define dlgbutton_help _("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") + +#define ctcp_help _("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") + +#define url_help _("URL Handlers - Special codes:\n\n"\ + "%s = the URL string\n\n"\ + "Putting a ! infront of the command\n"\ + "indicates it should be sent to a\n"\ + "shell instead of XChat") + +static void +menu_usercommands (void) +{ + editlist_gui_open (NULL, NULL, command_list, _("XChat: User Defined Commands"), + "commands", "commands.conf", usercommands_help); +} + +static void +menu_ulpopup (void) +{ + editlist_gui_open (NULL, NULL, popup_list, _("XChat: Userlist Popup menu"), "popup", + "popup.conf", ulbutton_help); +} + +static void +menu_rpopup (void) +{ + editlist_gui_open (_("Text"), _("Replace with"), replace_list, _("XChat: Replace"), "replace", + "replace.conf", 0); +} + +static void +menu_urlhandlers (void) +{ + editlist_gui_open (NULL, NULL, urlhandler_list, _("XChat: URL Handlers"), "urlhandlers", + "urlhandlers.conf", url_help); +} + +static void +menu_evtpopup (void) +{ + pevent_dialog_show (); +} + +static void +menu_keypopup (void) +{ + key_dialog_show (); +} + +static void +menu_ulbuttons (void) +{ + editlist_gui_open (NULL, NULL, button_list, _("XChat: Userlist buttons"), "buttons", + "buttons.conf", ulbutton_help); +} + +static void +menu_dlgbuttons (void) +{ + editlist_gui_open (NULL, NULL, dlgbutton_list, _("XChat: Dialog buttons"), "dlgbuttons", + "dlgbuttons.conf", dlgbutton_help); +} + +static void +menu_ctcpguiopen (void) +{ + editlist_gui_open (NULL, NULL, ctcp_list, _("XChat: CTCP Replies"), "ctcpreply", + "ctcpreply.conf", ctcp_help); +} + +static void +menu_docs (GtkWidget *wid, gpointer none) +{ + fe_open_url ("http://xchat.org/docs/"); +} + +/*static void +menu_webpage (GtkWidget *wid, gpointer none) +{ + fe_open_url ("http://xchat.org"); +}*/ + +static void +menu_dcc_win (GtkWidget *wid, gpointer none) +{ + fe_dcc_open_recv_win (FALSE); + fe_dcc_open_send_win (FALSE); +} + +static void +menu_dcc_chat_win (GtkWidget *wid, gpointer none) +{ + fe_dcc_open_chat_win (FALSE); +} + +void +menu_change_layout (void) +{ + if (prefs.tab_layout == 0) + { + menu_setting_foreach (NULL, MENU_ID_LAYOUT_TABS, 1); + menu_setting_foreach (NULL, MENU_ID_LAYOUT_TREE, 0); + mg_change_layout (0); + } else + { + menu_setting_foreach (NULL, MENU_ID_LAYOUT_TABS, 0); + menu_setting_foreach (NULL, MENU_ID_LAYOUT_TREE, 1); + mg_change_layout (2); + } +} + +static void +menu_layout_cb (GtkWidget *item, gpointer none) +{ + prefs.tab_layout = 2; + if (GTK_CHECK_MENU_ITEM (item)->active) + prefs.tab_layout = 0; + + menu_change_layout (); +} + +static void +menu_apply_metres_cb (session *sess) +{ + mg_update_meters (sess->gui); +} + +static void +menu_metres_off (GtkWidget *item, gpointer none) +{ + if (GTK_CHECK_MENU_ITEM (item)->active) + { + prefs.lagometer = 0; + prefs.throttlemeter = 0; + menu_setting_foreach (menu_apply_metres_cb, -1, 0); + } +} + +static void +menu_metres_text (GtkWidget *item, gpointer none) +{ + if (GTK_CHECK_MENU_ITEM (item)->active) + { + prefs.lagometer = 2; + prefs.throttlemeter = 2; + menu_setting_foreach (menu_apply_metres_cb, -1, 0); + } +} + +static void +menu_metres_graph (GtkWidget *item, gpointer none) +{ + if (GTK_CHECK_MENU_ITEM (item)->active) + { + prefs.lagometer = 1; + prefs.throttlemeter = 1; + menu_setting_foreach (menu_apply_metres_cb, -1, 0); + } +} + +static void +menu_metres_both (GtkWidget *item, gpointer none) +{ + if (GTK_CHECK_MENU_ITEM (item)->active) + { + prefs.lagometer = 3; + prefs.throttlemeter = 3; + menu_setting_foreach (menu_apply_metres_cb, -1, 0); + } +} + +static struct mymenu mymenu[] = { + {N_("_XChat"), 0, 0, M_NEWMENU, 0, 0, 1}, + {N_("Network Li_st..."), menu_open_server_list, (char *)&pix_book, M_MENUPIX, 0, 0, 1, GDK_s}, + {0, 0, 0, M_SEP, 0, 0, 0}, + + {N_("_New"), 0, GTK_STOCK_NEW, M_MENUSUB, 0, 0, 1}, + {N_("Server Tab..."), menu_newserver_tab, 0, M_MENUITEM, 0, 0, 1, GDK_t}, + {N_("Channel Tab..."), menu_newchannel_tab, 0, M_MENUITEM, 0, 0, 1}, + {N_("Server Window..."), menu_newserver_window, 0, M_MENUITEM, 0, 0, 1}, + {N_("Channel Window..."), menu_newchannel_window, 0, M_MENUITEM, 0, 0, 1}, + {0, 0, 0, M_END, 0, 0, 0}, + {0, 0, 0, M_SEP, 0, 0, 0}, + +#ifdef USE_PLUGIN + {N_("_Load Plugin or Script..."), menu_loadplugin, GTK_STOCK_REVERT_TO_SAVED, M_MENUSTOCK, 0, 0, 1}, +#else + {N_("_Load Plugin or Script..."), 0, GTK_STOCK_REVERT_TO_SAVED, M_MENUSTOCK, 0, 0, 0}, +#endif + {0, 0, 0, M_SEP, 0, 0, 0}, /* 11 */ +#define DETACH_OFFSET (12) + {0, menu_detach, GTK_STOCK_REDO, M_MENUSTOCK, 0, 0, 1, GDK_I}, /* 12 */ +#define CLOSE_OFFSET (13) + {0, menu_close, GTK_STOCK_CLOSE, M_MENUSTOCK, 0, 0, 1, GDK_w}, + {0, 0, 0, M_SEP, 0, 0, 0}, + {N_("_Quit"), menu_quit, GTK_STOCK_QUIT, M_MENUSTOCK, 0, 0, 1, GDK_q}, /* 15 */ + + {N_("_View"), 0, 0, M_NEWMENU, 0, 0, 1}, +#define MENUBAR_OFFSET (17) + {N_("_Menu Bar"), menu_bar_toggle_cb, 0, M_MENUTOG, MENU_ID_MENUBAR, 0, 1, GDK_F9}, + {N_("_Topic Bar"), menu_topicbar_toggle, 0, M_MENUTOG, MENU_ID_TOPICBAR, 0, 1}, + {N_("_User List"), menu_userlist_toggle, 0, M_MENUTOG, MENU_ID_USERLIST, 0, 1, GDK_F7}, + {N_("U_serlist Buttons"), menu_ulbuttons_toggle, 0, M_MENUTOG, MENU_ID_ULBUTTONS, 0, 1}, + {N_("M_ode Buttons"), menu_cmbuttons_toggle, 0, M_MENUTOG, MENU_ID_MODEBUTTONS, 0, 1}, + {0, 0, 0, M_SEP, 0, 0, 0}, + {N_("_Channel Switcher"), 0, 0, M_MENUSUB, 0, 0, 1}, /* 23 */ +#define TABS_OFFSET (24) + {N_("_Tabs"), menu_layout_cb, 0, M_MENURADIO, MENU_ID_LAYOUT_TABS, 0, 1}, + {N_("T_ree"), 0, 0, M_MENURADIO, MENU_ID_LAYOUT_TREE, 0, 1}, + {0, 0, 0, M_END, 0, 0, 0}, + {N_("_Network Meters"), 0, 0, M_MENUSUB, 0, 0, 1}, /* 27 */ +#define METRE_OFFSET (28) + {N_("Off"), menu_metres_off, 0, M_MENURADIO, 0, 0, 1}, + {N_("Graph"), menu_metres_graph, 0, M_MENURADIO, 0, 0, 1}, + {N_("Text"), menu_metres_text, 0, M_MENURADIO, 0, 0, 1}, + {N_("Both"), menu_metres_both, 0, M_MENURADIO, 0, 0, 1}, + {0, 0, 0, M_END, 0, 0, 0}, /* 32 */ + + {N_("_Server"), 0, 0, M_NEWMENU, 0, 0, 1}, + {N_("_Disconnect"), menu_disconnect, GTK_STOCK_DISCONNECT, M_MENUSTOCK, MENU_ID_DISCONNECT, 0, 1}, + {N_("_Reconnect"), menu_reconnect, GTK_STOCK_CONNECT, M_MENUSTOCK, MENU_ID_RECONNECT, 0, 1}, + {N_("Join a Channel..."), menu_join, GTK_STOCK_JUMP_TO, M_MENUSTOCK, MENU_ID_JOIN, 0, 1}, + {N_("List of Channels..."), menu_chanlist, GTK_STOCK_INDEX, M_MENUITEM, 0, 0, 1}, + {0, 0, 0, M_SEP, 0, 0, 0}, +#define AWAY_OFFSET (39) + {N_("Marked Away"), menu_away, 0, M_MENUTOG, MENU_ID_AWAY, 0, 1, GDK_a}, + + {N_("_Usermenu"), 0, 0, M_NEWMENU, MENU_ID_USERMENU, 0, 1}, /* 40 */ + + {N_("S_ettings"), 0, 0, M_NEWMENU, 0, 0, 1}, + {N_("_Preferences"), menu_settings, GTK_STOCK_PREFERENCES, M_MENUSTOCK, 0, 0, 1}, + + {N_("Advanced"), 0, GTK_STOCK_JUSTIFY_LEFT, M_MENUSUB, 0, 0, 1}, + {N_("Auto Replace..."), menu_rpopup, 0, M_MENUITEM, 0, 0, 1}, + {N_("CTCP Replies..."), menu_ctcpguiopen, 0, M_MENUITEM, 0, 0, 1}, + {N_("Dialog Buttons..."), menu_dlgbuttons, 0, M_MENUITEM, 0, 0, 1}, + {N_("Keyboard Shortcuts..."), menu_keypopup, 0, M_MENUITEM, 0, 0, 1}, + {N_("Text Events..."), menu_evtpopup, 0, M_MENUITEM, 0, 0, 1}, + {N_("URL Handlers..."), menu_urlhandlers, 0, M_MENUITEM, 0, 0, 1}, + {N_("User Commands..."), menu_usercommands, 0, M_MENUITEM, 0, 0, 1}, + {N_("Userlist Buttons..."), menu_ulbuttons, 0, M_MENUITEM, 0, 0, 1}, + {N_("Userlist Popup..."), menu_ulpopup, 0, M_MENUITEM, 0, 0, 1}, + {0, 0, 0, M_END, 0, 0, 0}, /* 53 */ + + {N_("_Window"), 0, 0, M_NEWMENU, 0, 0, 1}, + {N_("Ban List..."), menu_banlist, 0, M_MENUITEM, 0, 0, 1}, + {N_("Character Chart..."), ascii_open, 0, M_MENUITEM, 0, 0, 1}, + {N_("Direct Chat..."), menu_dcc_chat_win, 0, M_MENUITEM, 0, 0, 1}, + {N_("File Transfers..."), menu_dcc_win, 0, M_MENUITEM, 0, 0, 1}, + {N_("Friends List..."), notify_opengui, 0, M_MENUITEM, 0, 0, 1}, + {N_("Ignore List..."), ignore_gui_open, 0, M_MENUITEM, 0, 0, 1}, + {N_("Plugins and Scripts..."), menu_pluginlist, 0, M_MENUITEM, 0, 0, 1}, + {N_("Raw Log..."), menu_rawlog, 0, M_MENUITEM, 0, 0, 1}, /* 62 */ + {N_("URL Grabber..."), url_opengui, 0, M_MENUITEM, 0, 0, 1}, + {0, 0, 0, M_SEP, 0, 0, 0}, + {N_("Reset Marker Line"), menu_resetmarker, 0, M_MENUITEM, 0, 0, 1, GDK_m}, + {N_("C_lear Text"), menu_flushbuffer, GTK_STOCK_CLEAR, M_MENUSTOCK, 0, 0, 1, GDK_l}, +#define SEARCH_OFFSET 67 + {N_("Search Text..."), menu_search, GTK_STOCK_FIND, M_MENUSTOCK, 0, 0, 1, GDK_f}, + {N_("Save Text..."), menu_savebuffer, GTK_STOCK_SAVE, M_MENUSTOCK, 0, 0, 1}, + + {N_("_Help"), 0, 0, M_NEWMENU, 0, 0, 1}, /* 69 */ + {N_("_Contents"), menu_docs, GTK_STOCK_HELP, M_MENUSTOCK, 0, 0, 1, GDK_F1}, +#if 0 + {N_("Check for updates"), menu_update, 0, M_MENUITEM, 0, 1}, +#endif + {N_("_About"), menu_about, GTK_STOCK_ABOUT, M_MENUSTOCK, 0, 0, 1}, + + {0, 0, 0, M_END, 0, 0, 0}, +}; + +GtkWidget * +create_icon_menu (char *labeltext, void *stock_name, int is_stock) +{ + GtkWidget *item, *img; + + if (is_stock) + img = gtk_image_new_from_stock (stock_name, GTK_ICON_SIZE_MENU); + else + img = gtk_image_new_from_pixbuf (*((GdkPixbuf **)stock_name)); + item = gtk_image_menu_item_new_with_mnemonic (labeltext); + gtk_image_menu_item_set_image ((GtkImageMenuItem *)item, img); + gtk_widget_show (img); + + return item; +} + +#if GTK_CHECK_VERSION(2,4,0) + +/* Override the default GTK2.4 handler, which would make menu + bindings not work when the menu-bar is hidden. */ +static gboolean +menu_canacaccel (GtkWidget *widget, guint signal_id, gpointer user_data) +{ + /* GTK2.2 behaviour */ +#if GTK_CHECK_VERSION(2,20,0) + return gtk_widget_is_sensitive (widget); +#else + return GTK_WIDGET_IS_SENSITIVE (widget); +#endif +} + +#endif + + +/* === STUFF FOR /MENU === */ + +static GtkMenuItem * +menu_find_item (GtkWidget *menu, char *name) +{ + GList *items = ((GtkMenuShell *) menu)->children; + GtkMenuItem *item; + GtkWidget *child; + const char *labeltext; + + while (items) + { + item = items->data; + child = GTK_BIN (item)->child; + if (child) /* separators arn't labels, skip them */ + { + labeltext = g_object_get_data (G_OBJECT (item), "name"); + if (!labeltext) + labeltext = gtk_label_get_text (GTK_LABEL (child)); + if (!menu_streq (labeltext, name, 1)) + return item; + } else if (name == NULL) + { + return item; + } + items = items->next; + } + + return NULL; +} + +static GtkWidget * +menu_find_path (GtkWidget *menu, char *path) +{ + GtkMenuItem *item; + char *s; + char name[128]; + int len; + + /* grab the next part of the path */ + s = strchr (path, '/'); + len = s - path; + if (!s) + len = strlen (path); + len = MIN (len, sizeof (name) - 1); + memcpy (name, path, len); + name[len] = 0; + + item = menu_find_item (menu, name); + if (!item) + return NULL; + + menu = gtk_menu_item_get_submenu (item); + if (!menu) + return NULL; + + path += len; + if (*path == 0) + return menu; + + return menu_find_path (menu, path + 1); +} + +static GtkWidget * +menu_find (GtkWidget *menu, char *path, char *label) +{ + GtkWidget *item = NULL; + + if (path[0] != 0) + menu = menu_find_path (menu, path); + if (menu) + item = (GtkWidget *)menu_find_item (menu, label); + return item; +} + +static void +menu_foreach_gui (menu_entry *me, void (*callback) (GtkWidget *, menu_entry *, char *)) +{ + GSList *list = sess_list; + int tabdone = FALSE; + session *sess; + + if (!me->is_main) + return; /* not main menu */ + + while (list) + { + sess = list->data; + /* do it only once for tab sessions, since they share a GUI */ + if (!sess->gui->is_tab || !tabdone) + { + callback (sess->gui->menu, me, NULL); + if (sess->gui->is_tab) + tabdone = TRUE; + } + list = list->next; + } +} + +static void +menu_update_cb (GtkWidget *menu, menu_entry *me, char *target) +{ + GtkWidget *item; + + item = menu_find (menu, me->path, me->label); + if (item) + { + gtk_widget_set_sensitive (item, me->enable); + /* must do it without triggering the callback */ + if (GTK_IS_CHECK_MENU_ITEM (item)) + GTK_CHECK_MENU_ITEM (item)->active = me->state; + } +} + +/* radio state changed via mouse click */ +static void +menu_radio_cb (GtkCheckMenuItem *item, menu_entry *me) +{ + me->state = 0; + if (item->active) + me->state = 1; + + /* update the state, incase this was changed via right-click. */ + /* This will update all other windows and menu bars */ + menu_foreach_gui (me, menu_update_cb); + + if (me->state && me->cmd) + handle_command (current_sess, me->cmd, FALSE); +} + +/* toggle state changed via mouse click */ +static void +menu_toggle_cb (GtkCheckMenuItem *item, menu_entry *me) +{ + me->state = 0; + if (item->active) + me->state = 1; + + /* update the state, incase this was changed via right-click. */ + /* This will update all other windows and menu bars */ + menu_foreach_gui (me, menu_update_cb); + + if (me->state) + handle_command (current_sess, me->cmd, FALSE); + else + handle_command (current_sess, me->ucmd, FALSE); +} + +static GtkWidget * +menu_radio_item (char *label, GtkWidget *menu, void *callback, void *userdata, + int state, char *groupname) +{ + GtkWidget *item; + GtkMenuItem *parent; + GSList *grouplist = NULL; + + parent = menu_find_item (menu, groupname); + if (parent) + grouplist = gtk_radio_menu_item_get_group ((GtkRadioMenuItem *)parent); + + item = gtk_radio_menu_item_new_with_label (grouplist, label); + gtk_check_menu_item_set_active ((GtkCheckMenuItem*)item, state); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (callback), userdata); + gtk_widget_show (item); + + return item; +} + +static void +menu_reorder (GtkMenu *menu, GtkWidget *item, int pos) +{ + if (pos == 0xffff) /* outbound.c uses this default */ + return; + + if (pos < 0) /* position offset from end/bottom */ + gtk_menu_reorder_child (menu, item, (g_list_length (GTK_MENU_SHELL (menu)->children) + pos) - 1); + else + gtk_menu_reorder_child (menu, item, pos); +} + +static GtkWidget * +menu_add_radio (GtkWidget *menu, menu_entry *me) +{ + GtkWidget *item = NULL; + char *path = me->path + me->root_offset; + + if (path[0] != 0) + menu = menu_find_path (menu, path); + if (menu) + { + item = menu_radio_item (me->label, menu, menu_radio_cb, me, me->state, me->group); + menu_reorder (GTK_MENU (menu), item, me->pos); + } + return item; +} + +static GtkWidget * +menu_add_toggle (GtkWidget *menu, menu_entry *me) +{ + GtkWidget *item = NULL; + char *path = me->path + me->root_offset; + + if (path[0] != 0) + menu = menu_find_path (menu, path); + if (menu) + { + item = menu_toggle_item (me->label, menu, menu_toggle_cb, me, me->state); + menu_reorder (GTK_MENU (menu), item, me->pos); + } + return item; +} + +static GtkWidget * +menu_add_item (GtkWidget *menu, menu_entry *me, char *target) +{ + GtkWidget *item = NULL; + char *path = me->path + me->root_offset; + + if (path[0] != 0) + menu = menu_find_path (menu, path); + if (menu) + { + item = menu_quick_item (me->cmd, me->label, menu, me->markup ? XCMENU_MARKUP|XCMENU_MNEMONIC : XCMENU_MNEMONIC, target, me->icon); + menu_reorder (GTK_MENU (menu), item, me->pos); + } + return item; +} + +static GtkWidget * +menu_add_sub (GtkWidget *menu, menu_entry *me) +{ + GtkWidget *item = NULL; + char *path = me->path + me->root_offset; + int pos; + + if (path[0] != 0) + menu = menu_find_path (menu, path); + if (menu) + { + pos = me->pos; + if (pos < 0) /* position offset from end/bottom */ + pos = g_list_length (GTK_MENU_SHELL (menu)->children) + pos; + menu_quick_sub (me->label, menu, &item, me->markup ? XCMENU_MARKUP|XCMENU_MNEMONIC : XCMENU_MNEMONIC, pos); + } + return item; +} + +static void +menu_del_cb (GtkWidget *menu, menu_entry *me, char *target) +{ + GtkWidget *item = menu_find (menu, me->path + me->root_offset, me->label); + if (item) + gtk_widget_destroy (item); +} + +static void +menu_add_cb (GtkWidget *menu, menu_entry *me, char *target) +{ + GtkWidget *item; + GtkAccelGroup *accel_group; + + if (me->group) /* have a group name? Must be a radio item */ + item = menu_add_radio (menu, me); + else if (me->ucmd) /* have unselect-cmd? Must be a toggle item */ + item = menu_add_toggle (menu, me); + else if (me->cmd || !me->label) /* label=NULL for separators */ + item = menu_add_item (menu, me, target); + else + item = menu_add_sub (menu, me); + + if (item) + { + gtk_widget_set_sensitive (item, me->enable); + if (me->key) + { + accel_group = g_object_get_data (G_OBJECT (menu), "accel"); + if (accel_group) /* popup menus don't have them */ + gtk_widget_add_accelerator (item, "activate", accel_group, me->key, + me->modifier, GTK_ACCEL_VISIBLE); + } + } +} + +char * +fe_menu_add (menu_entry *me) +{ + char *text; + + menu_foreach_gui (me, menu_add_cb); + + if (!me->markup) + return NULL; + + if (!pango_parse_markup (me->label, -1, 0, NULL, &text, NULL, NULL)) + return NULL; + + /* return the label with markup stripped */ + return text; +} + +void +fe_menu_del (menu_entry *me) +{ + menu_foreach_gui (me, menu_del_cb); +} + +void +fe_menu_update (menu_entry *me) +{ + menu_foreach_gui (me, menu_update_cb); +} + +/* used to add custom menus to the right-click menu */ + +static void +menu_add_plugin_mainmenu_items (GtkWidget *menu) +{ + GSList *list; + menu_entry *me; + + list = menu_list; /* outbound.c */ + while (list) + { + me = list->data; + if (me->is_main) + menu_add_cb (menu, me, NULL); + list = list->next; + } +} + +void +menu_add_plugin_items (GtkWidget *menu, char *root, char *target) +{ + GSList *list; + menu_entry *me; + + list = menu_list; /* outbound.c */ + while (list) + { + me = list->data; + if (!me->is_main && !strncmp (me->path, root + 1, root[0])) + menu_add_cb (menu, me, target); + list = list->next; + } +} + +/* === END STUFF FOR /MENU === */ + +GtkWidget * +menu_create_main (void *accel_group, int bar, int away, int toplevel, + GtkWidget **menu_widgets) +{ + int i = 0; + GtkWidget *item; + GtkWidget *menu = 0; + GtkWidget *menu_item = 0; + GtkWidget *menu_bar; + GtkWidget *usermenu = 0; + GtkWidget *submenu = 0; + int close_mask = GDK_CONTROL_MASK; + int away_mask = GDK_MOD1_MASK; + char *key_theme = NULL; + GtkSettings *settings; + GSList *group = NULL; + + if (bar) + menu_bar = gtk_menu_bar_new (); + else + menu_bar = gtk_menu_new (); + + /* /MENU needs to know this later */ + g_object_set_data (G_OBJECT (menu_bar), "accel", accel_group); + +#if GTK_CHECK_VERSION(2,4,0) + g_signal_connect (G_OBJECT (menu_bar), "can-activate-accel", + G_CALLBACK (menu_canacaccel), 0); +#endif + + /* set the initial state of toggles */ + mymenu[MENUBAR_OFFSET].state = !prefs.hidemenu; + mymenu[MENUBAR_OFFSET+1].state = prefs.topicbar; + mymenu[MENUBAR_OFFSET+2].state = !prefs.hideuserlist; + mymenu[MENUBAR_OFFSET+3].state = prefs.userlistbuttons; + mymenu[MENUBAR_OFFSET+4].state = prefs.chanmodebuttons; + + mymenu[AWAY_OFFSET].state = away; + + switch (prefs.tab_layout) + { + case 0: + mymenu[TABS_OFFSET].state = 1; + mymenu[TABS_OFFSET+1].state = 0; + break; + default: + mymenu[TABS_OFFSET].state = 0; + mymenu[TABS_OFFSET+1].state = 1; + } + + mymenu[METRE_OFFSET].state = 0; + mymenu[METRE_OFFSET+1].state = 0; + mymenu[METRE_OFFSET+2].state = 0; + mymenu[METRE_OFFSET+3].state = 0; + switch (prefs.lagometer) + { + case 0: + mymenu[METRE_OFFSET].state = 1; + break; + case 1: + mymenu[METRE_OFFSET+1].state = 1; + break; + case 2: + mymenu[METRE_OFFSET+2].state = 1; + break; + default: + mymenu[METRE_OFFSET+3].state = 1; + } + + /* change Close binding to ctrl-shift-w when using emacs keys */ + settings = gtk_widget_get_settings (menu_bar); + if (settings) + { + g_object_get (settings, "gtk-key-theme-name", &key_theme, NULL); + if (key_theme) + { + if (!strcasecmp (key_theme, "Emacs")) + { + close_mask = GDK_SHIFT_MASK | GDK_CONTROL_MASK; + mymenu[SEARCH_OFFSET].key = 0; + } + g_free (key_theme); + } + } + + /* Away binding to ctrl-alt-a if the _Help menu conflicts (FR/PT/IT) */ + { + char *help = _("_Help"); + char *under = strchr (help, '_'); + if (under && (under[1] == 'a' || under[1] == 'A')) + away_mask = GDK_MOD1_MASK | GDK_CONTROL_MASK; + } + + if (!toplevel) + { + mymenu[DETACH_OFFSET].text = N_("_Detach"); + mymenu[CLOSE_OFFSET].text = N_("_Close"); + } + else + { + mymenu[DETACH_OFFSET].text = N_("_Attach"); + mymenu[CLOSE_OFFSET].text = N_("_Close"); + } + + while (1) + { + item = NULL; + if (mymenu[i].id == MENU_ID_USERMENU && !prefs.gui_usermenu) + { + i++; + continue; + } + + switch (mymenu[i].type) + { + case M_NEWMENU: + if (menu) + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_item), menu); + item = menu = gtk_menu_new (); + if (mymenu[i].id == MENU_ID_USERMENU) + usermenu = menu; + menu_item = gtk_menu_item_new_with_mnemonic (_(mymenu[i].text)); + /* record the English name for /menu */ + g_object_set_data (G_OBJECT (menu_item), "name", mymenu[i].text); + gtk_menu_shell_append (GTK_MENU_SHELL (menu_bar), menu_item); + gtk_widget_show (menu_item); + break; + + case M_MENUPIX: + item = create_icon_menu (_(mymenu[i].text), mymenu[i].image, FALSE); + goto normalitem; + + case M_MENUSTOCK: + item = create_icon_menu (_(mymenu[i].text), mymenu[i].image, TRUE); + goto normalitem; + + case M_MENUITEM: + item = gtk_menu_item_new_with_mnemonic (_(mymenu[i].text)); +normalitem: + if (mymenu[i].key != 0) + gtk_widget_add_accelerator (item, "activate", accel_group, + mymenu[i].key, + mymenu[i].key == GDK_F1 ? 0 : + mymenu[i].key == GDK_w ? close_mask : + GDK_CONTROL_MASK, + GTK_ACCEL_VISIBLE); + if (mymenu[i].callback) + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (mymenu[i].callback), 0); + if (submenu) + gtk_menu_shell_append (GTK_MENU_SHELL (submenu), item); + else + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + break; + + case M_MENUTOG: + item = gtk_check_menu_item_new_with_mnemonic (_(mymenu[i].text)); +togitem: + /* must avoid callback for Radio buttons */ + GTK_CHECK_MENU_ITEM (item)->active = mymenu[i].state; + /*gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (item), + mymenu[i].state);*/ + if (mymenu[i].key != 0) + gtk_widget_add_accelerator (item, "activate", accel_group, + mymenu[i].key, mymenu[i].id == MENU_ID_AWAY ? + away_mask : GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); + if (mymenu[i].callback) + g_signal_connect (G_OBJECT (item), "toggled", + G_CALLBACK (mymenu[i].callback), 0); + if (submenu) + gtk_menu_shell_append (GTK_MENU_SHELL (submenu), item); + else + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + gtk_widget_set_sensitive (item, mymenu[i].sensitive); + break; + + case M_MENURADIO: + item = gtk_radio_menu_item_new_with_mnemonic (group, _(mymenu[i].text)); + group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (item)); + goto togitem; + + case M_SEP: + item = gtk_menu_item_new (); + gtk_widget_set_sensitive (item, FALSE); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + break; + + case M_MENUSUB: + group = NULL; + submenu = gtk_menu_new (); + item = create_icon_menu (_(mymenu[i].text), mymenu[i].image, TRUE); + /* record the English name for /menu */ + g_object_set_data (G_OBJECT (item), "name", mymenu[i].text); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), submenu); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + break; + + /*case M_END:*/ default: + if (!submenu) + { + if (menu) + { + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_item), menu); + menu_add_plugin_mainmenu_items (menu_bar); + } + if (usermenu) + usermenu_create (usermenu); + return (menu_bar); + } + submenu = NULL; + } + + /* record this GtkWidget * so it's state might be changed later */ + if (mymenu[i].id != 0 && menu_widgets) + /* this ends up in sess->gui->menu_item[MENU_ID_XXX] */ + menu_widgets[mymenu[i].id] = item; + + i++; + } +} diff --git a/src/fe-gtk/menu.h b/src/fe-gtk/menu.h new file mode 100644 index 00000000..7fef79cd --- /dev/null +++ b/src/fe-gtk/menu.h @@ -0,0 +1,41 @@ +GtkWidget *menu_create_main (void *accel_group, int bar, int away, int toplevel, GtkWidget **menu_widgets); +void menu_urlmenu (GdkEventButton * event, char *url); +void menu_chanmenu (session *sess, GdkEventButton * event, char *chan); +void menu_addfavoritemenu (server *serv, GtkWidget *menu, char *channel); +void menu_nickmenu (session *sess, GdkEventButton * event, char *nick, int num_sel); +void menu_middlemenu (session *sess, GdkEventButton *event); +void userlist_button_cb (GtkWidget * button, char *cmd); +void nick_command_parse (session *sess, char *cmd, char *nick, char *allnick); +void usermenu_update (void); +GtkWidget *menu_toggle_item (char *label, GtkWidget *menu, void *callback, void *userdata, int state); +GtkWidget *menu_quick_item (char *cmd, char *label, GtkWidget * menu, int flags, gpointer userdata, char *icon); +GtkWidget *menu_quick_sub (char *name, GtkWidget *menu, GtkWidget **sub_item_ret, int flags, int pos); +GtkWidget *create_icon_menu (char *labeltext, void *stock_name, int is_stock); +void menu_create (GtkWidget *menu, GSList *list, char *target, int check_path); +void menu_bar_toggle (void); +void menu_add_plugin_items (GtkWidget *menu, char *root, char *target); +void menu_change_layout (void); + +/* for menu_quick functions */ +#define XCMENU_DOLIST 1 +#define XCMENU_SHADED 1 +#define XCMENU_MARKUP 2 +#define XCMENU_MNEMONIC 4 + +/* menu items we keep a GtkWidget* for (to change their state) */ +#define MENU_ID_AWAY 1 +#define MENU_ID_MENUBAR 2 +#define MENU_ID_TOPICBAR 3 +#define MENU_ID_USERLIST 4 +#define MENU_ID_ULBUTTONS 5 +#define MENU_ID_MODEBUTTONS 6 +#define MENU_ID_LAYOUT_TABS 7 +#define MENU_ID_LAYOUT_TREE 8 +#define MENU_ID_DISCONNECT 9 +#define MENU_ID_RECONNECT 10 +#define MENU_ID_JOIN 11 +#define MENU_ID_USERMENU 12 + +#if (MENU_ID_NUM < MENU_ID_USERMENU) +#error MENU_ID_NUM is set wrong +#endif diff --git a/src/fe-gtk/mmx_cmod.S b/src/fe-gtk/mmx_cmod.S new file mode 100644 index 00000000..12e866de --- /dev/null +++ b/src/fe-gtk/mmx_cmod.S @@ -0,0 +1,530 @@ +/* + * Copyright (C) 1997-2001, Michael Jennings + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies of the Software, its documentation and marketing & publicity + * materials, and acknowledgment shall be given in the documentation, materials + * and software packages that this Software was used. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/* MMX routines for tinting XImages written by Willem Monsuwe <willem@stack.nl> */ + +/* Function calling conventions: + * shade_ximage_xx(void *data, int bpl, int w, int h, int rm, int gm, int bm); + */ + +#define data 8(%ebp) +#define bpl 12(%ebp) +#define w 16(%ebp) +#define h 20(%ebp) +#define rm 24(%ebp) +#define gm 28(%ebp) +#define bm 32(%ebp) + +#ifdef UNDERSCORE_SYMBOLS /* need this to link with msvc */ +#define SHADE_XIMAGE_15 _shade_ximage_15_mmx +#define SHADE_XIMAGE_16 _shade_ximage_16_mmx +#define SHADE_XIMAGE_32 _shade_ximage_32_mmx +#define HAVE_MMX _have_mmx +#else +#define SHADE_XIMAGE_15 shade_ximage_15_mmx +#define SHADE_XIMAGE_16 shade_ximage_16_mmx +#define SHADE_XIMAGE_32 shade_ximage_32_mmx +#define HAVE_MMX have_mmx +#endif + +.globl SHADE_XIMAGE_15 +.globl SHADE_XIMAGE_16 +.globl SHADE_XIMAGE_32 +.globl HAVE_MMX + +.bss +.text +.align 8 + +#define ENTER \ + pushl %ebp ;\ + movl %esp, %ebp ;\ + pushl %ebx ;\ + pushl %ecx ;\ + pushl %edx ;\ + pushl %edi ;\ + pushl %esi ;\ + movl data, %esi ;\ + movl w, %ebx ;\ + movl h, %edx + +#define LEAVE \ +4: ;\ + emms ;\ + popl %esi ;\ + popl %edi ;\ + popl %edx ;\ + popl %ecx ;\ + popl %ebx ;\ + movl %ebp, %esp ;\ + popl %ebp ;\ + ret + + +SHADE_XIMAGE_15: + ENTER + + leal -6(%esi, %ebx, 2), %esi + negl %ebx + jz 5f + + /* Setup multipliers */ + movd rm, %mm5 + movd gm, %mm6 + movd bm, %mm7 + punpcklwd %mm5, %mm5 /* 00 00 00 00 rm rm rm rm */ + punpcklwd %mm6, %mm6 /* 00 00 00 00 gm gm gm gm */ + punpcklwd %mm7, %mm7 /* 00 00 00 00 bm bm bm bm */ + punpckldq %mm5, %mm5 /* rm rm rm rm rm rm rm rm */ + punpckldq %mm6, %mm6 /* gm gm gm gm gm gm gm gm */ + punpckldq %mm7, %mm7 /* bm bm bm bm bm bm bm bm */ + + cmpl $256, rm + jg shade_ximage_15_mmx_saturate + cmpl $256, gm + jg shade_ximage_15_mmx_saturate + cmpl $256, bm + jg shade_ximage_15_mmx_saturate + +1: movl %ebx, %ecx + addl $3, %ecx + jns 3f +2: + movq (%esi, %ecx, 2), %mm0 + + movq %mm0, %mm1 /* rg gb */ + movq %mm0, %mm2 /* rg gb */ + psrlw $5, %mm1 /* 0r rg */ + psrlw $10, %mm0 /* 00 0r */ + psllw $11, %mm2 /* b0 00 */ + psllw $11, %mm1 /* g0 00 */ + psllw $8, %mm0 /* 0r 00 */ + psrlw $3, %mm1 /* 0g 00 */ + psrlw $3, %mm2 /* 0b 00 */ + + pmulhw %mm5, %mm0 /* 00 0r */ + pmulhw %mm6, %mm1 /* 00 0g */ + pmulhw %mm7, %mm2 /* 00 0b */ + + psllw $10, %mm0 /* r0 00 */ + psllw $5, %mm1 /* 0g g0 */ + por %mm2, %mm0 /* r0 0b */ + por %mm1, %mm0 /* rg gb */ + + movq %mm0, (%esi, %ecx, 2) + + addl $4, %ecx + js 2b + jmp 4f +3: + movw (%esi, %ecx, 2), %ax + movd %eax, %mm0 + + movq %mm0, %mm1 /* rg gb */ + movq %mm0, %mm2 /* rg gb */ + psrlw $5, %mm1 /* 0r rg */ + psrlw $10, %mm0 /* 00 0r */ + psllw $11, %mm2 /* b0 00 */ + psllw $11, %mm1 /* g0 00 */ + psllw $8, %mm0 /* 0r 00 */ + psrlw $3, %mm1 /* 0g 00 */ + psrlw $3, %mm2 /* 0b 00 */ + + pmulhw %mm5, %mm0 /* 00 0r */ + pmulhw %mm6, %mm1 /* 00 0g */ + pmulhw %mm7, %mm2 /* 00 0b */ + + psllw $10, %mm0 /* r0 00 */ + psllw $5, %mm1 /* 0g g0 */ + por %mm2, %mm0 /* r0 0b */ + por %mm1, %mm0 /* rg gb */ + + movd %mm0, %eax + movw %ax, (%esi, %ecx, 2) + + incl %ecx +4: + cmpl $2, %ecx + jng 3b + + addl bpl, %esi + decl %edx + jnz 1b +5: + LEAVE + + +shade_ximage_15_mmx_saturate: + + pcmpeqw %mm3, %mm3 + psllw $5, %mm3 /* ff e0 ff e0 ff e0 ff e0 */ + +1: movl %ebx, %ecx + addl $3, %ecx + jns 3f +2: + movq (%esi, %ecx, 2), %mm0 + + movq %mm0, %mm1 /* rg gb */ + movq %mm0, %mm2 /* rg gb */ + psrlw $5, %mm1 /* 0r rg */ + psrlw $10, %mm0 /* 00 0r */ + psllw $11, %mm2 /* b0 00 */ + psllw $11, %mm1 /* g0 00 */ + psllw $8, %mm0 /* 0r 00 */ + psrlw $3, %mm1 /* 0g 00 */ + psrlw $3, %mm2 /* 0b 00 */ + + pmulhw %mm5, %mm0 /* xx xr */ + pmulhw %mm6, %mm1 /* xx xg */ + pmulhw %mm7, %mm2 /* xx xb */ + + /* Saturate upper */ + paddusw %mm3, %mm0 /* ff er */ + paddusw %mm3, %mm1 /* ff eg */ + paddusw %mm3, %mm2 /* ff eb */ + + psubw %mm3, %mm0 /* 00 0r */ + psubw %mm3, %mm1 /* 00 0g */ + psubw %mm3, %mm2 /* 00 0b */ + + psllw $10, %mm0 /* r0 00 */ + psllw $5, %mm1 /* 0g g0 */ + por %mm2, %mm0 /* r0 0b */ + por %mm1, %mm0 /* rg gb */ + + movq %mm0, (%esi, %ecx, 2) + + addl $4, %ecx + js 2b + jmp 4f +3: + movw (%esi, %ecx, 2), %ax + movd %eax, %mm0 + + movq %mm0, %mm1 /* rg gb */ + movq %mm0, %mm2 /* rg gb */ + psrlw $5, %mm1 /* 0r rg */ + psrlw $10, %mm0 /* 00 0r */ + psllw $11, %mm2 /* b0 00 */ + psllw $11, %mm1 /* g0 00 */ + psllw $8, %mm0 /* 0r 00 */ + psrlw $3, %mm1 /* 0g 00 */ + psrlw $3, %mm2 /* 0b 00 */ + + pmulhw %mm5, %mm0 /* xx xr */ + pmulhw %mm6, %mm1 /* xx xg */ + pmulhw %mm7, %mm2 /* xx xb */ + + /* Saturate upper */ + paddusw %mm3, %mm0 /* ff er */ + paddusw %mm3, %mm1 /* ff eg */ + paddusw %mm3, %mm2 /* ff eb */ + + psubw %mm3, %mm0 /* 00 0r */ + psubw %mm3, %mm1 /* 00 0g */ + psubw %mm3, %mm2 /* 00 0b */ + + psllw $10, %mm0 /* r0 00 */ + psllw $5, %mm1 /* 0g g0 */ + por %mm2, %mm0 /* r0 0b */ + por %mm1, %mm0 /* rg gb */ + + movd %mm0, %eax + movw %ax, (%esi, %ecx, 2) + + incl %ecx +4: + cmpl $2, %ecx + jng 3b + + addl bpl, %esi + decl %edx + jnz 1b +5: + LEAVE + + +SHADE_XIMAGE_16: + ENTER + + leal -6(%esi, %ebx, 2), %esi + negl %ebx + jz 5f + + /* Setup multipliers */ + movd rm, %mm5 + movd gm, %mm6 + movd bm, %mm7 + punpcklwd %mm5, %mm5 /* 00 00 00 00 rm rm rm rm */ + punpcklwd %mm6, %mm6 /* 00 00 00 00 gm gm gm gm */ + punpcklwd %mm7, %mm7 /* 00 00 00 00 bm bm bm bm */ + punpckldq %mm5, %mm5 /* rm rm rm rm rm rm rm rm */ + punpckldq %mm6, %mm6 /* gm gm gm gm gm gm gm gm */ + punpckldq %mm7, %mm7 /* bm bm bm bm bm bm bm bm */ + + cmpl $256, rm + jg shade_ximage_16_mmx_saturate + cmpl $256, gm + jg shade_ximage_16_mmx_saturate + cmpl $256, bm + jg shade_ximage_16_mmx_saturate + +1: movl %ebx, %ecx + addl $3, %ecx + jns 3f +2: + movq (%esi, %ecx, 2), %mm0 + + movq %mm0, %mm1 /* rg gb */ + movq %mm0, %mm2 /* rg gb */ + psrlw $5, %mm1 /* 0r rg */ + psrlw $11, %mm0 /* 00 0r */ + psllw $11, %mm2 /* b0 00 */ + psllw $10, %mm1 /* g0 00 */ + psllw $8, %mm0 /* 0r 00 */ + psrlw $2, %mm1 /* 0g 00 */ + psrlw $3, %mm2 /* 0b 00 */ + + pmulhw %mm5, %mm0 /* 00 0r */ + pmulhw %mm6, %mm1 /* 00 0g */ + pmulhw %mm7, %mm2 /* 00 0b */ + + psllw $11, %mm0 /* r0 00 */ + psllw $5, %mm1 /* 0g g0 */ + por %mm2, %mm0 /* r0 0b */ + por %mm1, %mm0 /* rg gb */ + + movq %mm0, (%esi, %ecx, 2) + + addl $4, %ecx + js 2b + jmp 4f +3: + movw (%esi, %ecx, 2), %ax + movd %eax, %mm0 + + movq %mm0, %mm1 /* rg gb */ + movq %mm0, %mm2 /* rg gb */ + psrlw $5, %mm1 /* 0r rg */ + psrlw $11, %mm0 /* 00 0r */ + psllw $11, %mm2 /* b0 00 */ + psllw $10, %mm1 /* g0 00 */ + psllw $8, %mm0 /* 0r 00 */ + psrlw $2, %mm1 /* 0g 00 */ + psrlw $3, %mm2 /* 0b 00 */ + + pmulhw %mm5, %mm0 /* 00 0r */ + pmulhw %mm6, %mm1 /* 00 0g */ + pmulhw %mm7, %mm2 /* 00 0b */ + + psllw $11, %mm0 /* r0 00 */ + psllw $5, %mm1 /* 0g g0 */ + por %mm2, %mm0 /* r0 0b */ + por %mm1, %mm0 /* rg gb */ + + movd %mm0, %eax + movw %ax, (%esi, %ecx, 2) + + incl %ecx +4: + cmpl $2, %ecx + jng 3b + + addl bpl, %esi + decl %edx + jnz 1b +5: + LEAVE + + +shade_ximage_16_mmx_saturate: + + pcmpeqw %mm3, %mm3 + movq %mm3, %mm4 + psllw $5, %mm3 /* ff e0 ff e0 ff e0 ff e0 */ + psllw $6, %mm4 /* ff c0 ff c0 ff c0 ff c0 */ + +1: movl %ebx, %ecx + addl $3, %ecx + jns 3f +2: + movq (%esi, %ecx, 2), %mm0 + + movq %mm0, %mm1 /* rg gb */ + movq %mm0, %mm2 /* rg gb */ + psrlw $5, %mm1 /* 0r rg */ + psrlw $11, %mm0 /* 00 0r */ + psllw $11, %mm2 /* b0 00 */ + psllw $10, %mm1 /* g0 00 */ + psllw $8, %mm0 /* 0r 00 */ + psrlw $2, %mm1 /* 0g 00 */ + psrlw $3, %mm2 /* 0b 00 */ + + pmulhw %mm5, %mm0 /* xx xr */ + pmulhw %mm6, %mm1 /* xx xg */ + pmulhw %mm7, %mm2 /* xx xb */ + + /* Saturate upper */ + paddusw %mm3, %mm0 /* ff er */ + paddusw %mm4, %mm1 /* ff cg */ + paddusw %mm3, %mm2 /* ff eb */ + + psubw %mm4, %mm1 /* 00 0g */ + psubw %mm3, %mm2 /* 00 0b */ + + psllw $11, %mm0 /* r0 00 */ + psllw $5, %mm1 /* 0g g0 */ + por %mm2, %mm0 /* r0 0b */ + por %mm1, %mm0 /* rg gb */ + + movq %mm0, (%esi, %ecx, 2) + + addl $4, %ecx + js 2b + jmp 4f +3: + movw (%esi, %ecx, 2), %ax + movd %eax, %mm0 + + movq %mm0, %mm1 /* rg gb */ + movq %mm0, %mm2 /* rg gb */ + psrlw $5, %mm1 /* 0r rg */ + psrlw $11, %mm0 /* 00 0r */ + psllw $11, %mm2 /* b0 00 */ + psllw $10, %mm1 /* g0 00 */ + psllw $8, %mm0 /* 0r 00 */ + psrlw $2, %mm1 /* 0g 00 */ + psrlw $3, %mm2 /* 0b 00 */ + + pmulhw %mm5, %mm0 /* xx xr */ + pmulhw %mm6, %mm1 /* xx xg */ + pmulhw %mm7, %mm2 /* xx xb */ + + /* Saturate upper */ + paddusw %mm3, %mm0 /* ff er */ + paddusw %mm4, %mm1 /* ff cg */ + paddusw %mm3, %mm2 /* ff eb */ + + psubw %mm4, %mm1 /* 00 0g */ + psubw %mm3, %mm2 /* 00 0b */ + + psllw $11, %mm0 /* r0 00 */ + psllw $5, %mm1 /* 0g g0 */ + por %mm2, %mm0 /* r0 0b */ + por %mm1, %mm0 /* rg gb */ + + movd %mm0, %eax + movw %ax, (%esi, %ecx, 2) + + incl %ecx +4: + cmpl $2, %ecx + jng 3b + + addl bpl, %esi + decl %edx + jnz 1b +5: + LEAVE + + +SHADE_XIMAGE_32: + ENTER + + leal (%esi, %ebx, 4), %esi + negl %ebx + jz 3f + + movd rm, %mm4 + movd gm, %mm5 + movd bm, %mm6 + psllq $32, %mm4 + psllq $16, %mm5 + por %mm6, %mm4 + por %mm5, %mm4 + + pcmpeqw %mm6, %mm6 + psllw $15, %mm6 /* 80 00 80 00 80 00 80 00 */ + movq %mm6, %mm5 + pmulhw %mm4, %mm5 /* Get correction factor */ +1: + movl %ebx, %ecx +2: + movd (%esi, %ecx, 4), %mm1 /* 00 rr gg bb */ + pxor %mm0, %mm0 + punpcklbw %mm1, %mm0 /* 00 00 rr 00 gg 00 bb 00 */ + pxor %mm6, %mm0 /* Flip sign */ + + pmulhw %mm4, %mm0 /* 00 00 xx rr xx gg xx bb */ + psubw %mm5, %mm0 /* Correct range */ + packuswb %mm0, %mm0 /* 00 rr gg bb 00 rr gg bb */ + + movd %mm0, (%esi, %ecx, 4) + + incl %ecx + jnz 2b + + addl bpl, %esi + decl %edx + jnz 1b +3: + LEAVE + + +HAVE_MMX: + push %ebx +/* Check if bit 21 in flags word is writeable */ + pushfl + popl %eax + movl %eax,%ebx + xorl $0x00200000, %eax + pushl %eax + popfl + pushfl + popl %eax + + cmpl %eax, %ebx + je 8f + +/* OK, we have CPUID */ + + movl $1, %eax + cpuid + + test $0x00800000, %edx + jz 8f + + movl $1, %eax /* success, have mmx */ + popl %ebx + ret + +8: + xorl %eax,%eax /* failed, no mmx */ + popl %ebx + ret + +#if defined(__GNUC__) && !defined(_WIN32) +.section .note.GNU-stack, "", @progbits +.previous +#endif diff --git a/src/fe-gtk/mmx_cmod.h b/src/fe-gtk/mmx_cmod.h new file mode 100644 index 00000000..52d07102 --- /dev/null +++ b/src/fe-gtk/mmx_cmod.h @@ -0,0 +1,4 @@ +void shade_ximage_15_mmx(void *data, int bpl, int w, int h, int rm, int gm, int bm); +void shade_ximage_16_mmx(void *data, int bpl, int w, int h, int rm, int gm, int bm); +void shade_ximage_32_mmx(void *data, int bpl, int w, int h, int rm, int gm, int bm); +int have_mmx (void); diff --git a/src/fe-gtk/notifygui.c b/src/fe-gtk/notifygui.c new file mode 100644 index 00000000..5acb683a --- /dev/null +++ b/src/fe-gtk/notifygui.c @@ -0,0 +1,442 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <fcntl.h> +#include <time.h> + +#include "fe-gtk.h" + +#include <gtk/gtkhbox.h> +#include <gtk/gtkstock.h> +#include <gtk/gtkhbbox.h> +#include <gtk/gtkscrolledwindow.h> + +#include <gtk/gtklabel.h> +#include <gtk/gtkliststore.h> +#include <gtk/gtkentry.h> +#include <gtk/gtkmessagedialog.h> +#include <gtk/gtktable.h> +#include <gtk/gtktreeview.h> +#include <gtk/gtktreeselection.h> +#include <gtk/gtkcellrenderertext.h> + +#include "../common/xchat.h" +#include "../common/notify.h" +#include "../common/cfgfiles.h" +#include "../common/fe.h" +#include "../common/server.h" +#include "../common/util.h" +#include "../common/userlist.h" +#include "gtkutil.h" +#include "maingui.h" +#include "palette.h" +#include "notifygui.h" + + +/* model for the notify treeview */ +enum +{ + USER_COLUMN, + STATUS_COLUMN, + SERVER_COLUMN, + SEEN_COLUMN, + COLOUR_COLUMN, + NPS_COLUMN, /* struct notify_per_server * */ + N_COLUMNS +}; + + +static GtkWidget *notify_window = 0; +static GtkWidget *notify_button_opendialog; +static GtkWidget *notify_button_remove; + + +static void +notify_closegui (void) +{ + notify_window = 0; +} + +/* Need this to be able to set the foreground colour property of a row + * from a GdkColor * in the model -Vince + */ +static void +notify_treecell_property_mapper (GtkTreeViewColumn *col, GtkCellRenderer *cell, + GtkTreeModel *model, GtkTreeIter *iter, + gpointer data) +{ + gchar *text; + GdkColor *colour; + int model_column = GPOINTER_TO_INT (data); + + gtk_tree_model_get (GTK_TREE_MODEL (model), iter, + COLOUR_COLUMN, &colour, + model_column, &text, -1); + g_object_set (G_OBJECT (cell), "text", text, NULL); + g_object_set (G_OBJECT (cell), "foreground-gdk", colour, NULL); + g_free (text); +} + +static void +notify_row_cb (GtkTreeSelection *sel, GtkTreeView *view) +{ + GtkTreeIter iter; + struct notify_per_server *servnot; + + if (gtkutil_treeview_get_selected (view, &iter, NPS_COLUMN, &servnot, -1)) + { + gtk_widget_set_sensitive (notify_button_opendialog, servnot ? servnot->ison : 0); + gtk_widget_set_sensitive (notify_button_remove, TRUE); + return; + } + + gtk_widget_set_sensitive (notify_button_opendialog, FALSE); + gtk_widget_set_sensitive (notify_button_remove, FALSE); +} + +static GtkWidget * +notify_treeview_new (GtkWidget *box) +{ + GtkListStore *store; + GtkWidget *view; + GtkTreeViewColumn *col; + int col_id; + + store = gtk_list_store_new (N_COLUMNS, + G_TYPE_STRING, + G_TYPE_STRING, + G_TYPE_STRING, + G_TYPE_STRING, + G_TYPE_POINTER, /* can't specify colour! */ + G_TYPE_POINTER + ); + g_return_val_if_fail (store != NULL, NULL); + + view = gtkutil_treeview_new (box, GTK_TREE_MODEL (store), + notify_treecell_property_mapper, + USER_COLUMN, _("Name"), + STATUS_COLUMN, _("Status"), + SERVER_COLUMN, _("Network"), + SEEN_COLUMN, _("Last Seen"), -1); + gtk_tree_view_column_set_expand (gtk_tree_view_get_column (GTK_TREE_VIEW (view), 0), TRUE); + + for (col_id=0; (col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), col_id)); + col_id++) + gtk_tree_view_column_set_alignment (col, 0.5); + + g_signal_connect (G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (view))), + "changed", G_CALLBACK (notify_row_cb), view); + + gtk_widget_show (view); + return view; +} + +void +notify_gui_update (void) +{ + struct notify *notify; + struct notify_per_server *servnot; + GSList *list = notify_list; + GSList *slist; + gchar *name, *status, *server, *seen; + int online, servcount; + time_t lastseen; + char agobuf[128]; + + GtkListStore *store; + GtkTreeView *view; + GtkTreeIter iter; + gboolean valid; /* true if we don't need to append a new tree row */ + + if (!notify_window) + return; + + view = g_object_get_data (G_OBJECT (notify_window), "view"); + store = GTK_LIST_STORE (gtk_tree_view_get_model (view)); + valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter); + + while (list) + { + notify = (struct notify *) list->data; + name = notify->name; + status = _("Offline"); + server = ""; + + online = FALSE; + lastseen = 0; + /* First see if they're online on any servers */ + slist = notify->server_list; + while (slist) + { + servnot = (struct notify_per_server *) slist->data; + if (servnot->ison) + online = TRUE; + if (servnot->lastseen > lastseen) + lastseen = servnot->lastseen; + slist = slist->next; + } + + if (!online) /* Offline on all servers */ + { + if (!lastseen) + seen = _("Never"); + else + { + snprintf (agobuf, sizeof (agobuf), _("%d minutes ago"), (int)(time (0) - lastseen) / 60); + seen = agobuf; + } + if (!valid) /* create new tree row if required */ + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, 0, name, 1, status, + 2, server, 3, seen, 4, &colors[4], 5, NULL, -1); + if (valid) + valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter); + + } else + { + /* Online - add one line per server */ + servcount = 0; + slist = notify->server_list; + status = _("Online"); + while (slist) + { + servnot = (struct notify_per_server *) slist->data; + if (servnot->ison) + { + if (servcount > 0) + name = ""; + server = server_get_network (servnot->server, TRUE); + + snprintf (agobuf, sizeof (agobuf), _("%d minutes ago"), (int)(time (0) - lastseen) / 60); + seen = agobuf; + + if (!valid) /* create new tree row if required */ + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, 0, name, 1, status, + 2, server, 3, seen, 4, &colors[3], 5, servnot, -1); + if (valid) + valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter); + + servcount++; + } + slist = slist->next; + } + } + + list = list->next; + } + + while (valid) + { + GtkTreeIter old = iter; + /* get next iter now because removing invalidates old one */ + valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (store), + &iter); + gtk_list_store_remove (store, &old); + } +} + +static void +notify_opendialog_clicked (GtkWidget * igad) +{ + GtkTreeView *view; + GtkTreeIter iter; + struct notify_per_server *servnot; + + view = g_object_get_data (G_OBJECT (notify_window), "view"); + if (gtkutil_treeview_get_selected (view, &iter, NPS_COLUMN, &servnot, -1)) + { + if (servnot) + open_query (servnot->server, servnot->notify->name, TRUE); + } +} + +static void +notify_remove_clicked (GtkWidget * igad) +{ + GtkTreeView *view; + GtkTreeModel *model; + GtkTreeIter iter; + GtkTreePath *path = NULL; + gboolean found = FALSE; + char *name; + + view = g_object_get_data (G_OBJECT (notify_window), "view"); + if (gtkutil_treeview_get_selected (view, &iter, USER_COLUMN, &name, -1)) + { + model = gtk_tree_view_get_model (view); + found = (*name != 0); + while (!found) /* the real nick is some previous node */ + { + g_free (name); /* it's useless to us */ + if (!path) + path = gtk_tree_model_get_path (model, &iter); + if (!gtk_tree_path_prev (path)) /* arrgh! no previous node! */ + { + g_warning ("notify list state is invalid\n"); + break; + } + if (!gtk_tree_model_get_iter (model, &iter, path)) + break; + gtk_tree_model_get (model, &iter, USER_COLUMN, &name, -1); + found = (*name != 0); + } + if (path) + gtk_tree_path_free (path); + if (!found) + return; + + /* ok, now we can remove it */ + gtk_list_store_remove (GTK_LIST_STORE (model), &iter); + notify_deluser (name); + g_free (name); + } +} + +static void +notifygui_add_cb (GtkDialog *dialog, gint response, gpointer entry) +{ + char *networks; + char *text; + + text = GTK_ENTRY (entry)->text; + if (text[0] && response == GTK_RESPONSE_ACCEPT) + { + networks = GTK_ENTRY (g_object_get_data (G_OBJECT (entry), "net"))->text; + if (strcasecmp (networks, "ALL") == 0 || networks[0] == 0) + notify_adduser (text, NULL); + else + notify_adduser (text, networks); + } + + gtk_widget_destroy (GTK_WIDGET (dialog)); +} + +static void +notifygui_add_enter (GtkWidget *entry, GtkWidget *dialog) +{ + gtk_dialog_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT); +} + +void +fe_notify_ask (char *nick, char *networks) +{ + GtkWidget *dialog; + GtkWidget *entry; + GtkWidget *label; + GtkWidget *wid; + GtkWidget *table; + char *msg = _("Enter nickname to add:"); + char buf[256]; + + dialog = gtk_dialog_new_with_buttons (msg, NULL, 0, + GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, + GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, + NULL); + if (parent_window) + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent_window)); + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); + + table = gtk_table_new (2, 3, FALSE); + gtk_container_set_border_width (GTK_CONTAINER (table), 12); + gtk_table_set_row_spacings (GTK_TABLE (table), 3); + gtk_table_set_col_spacings (GTK_TABLE (table), 8); + gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), table); + + label = gtk_label_new (msg); + gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 0, 1); + + entry = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (entry), nick); + g_signal_connect (G_OBJECT (entry), "activate", + G_CALLBACK (notifygui_add_enter), dialog); + gtk_table_attach_defaults (GTK_TABLE (table), entry, 1, 2, 0, 1); + + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (notifygui_add_cb), entry); + + label = gtk_label_new (_("Notify on these networks:")); + gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 2, 3); + + wid = gtk_entry_new (); + g_object_set_data (G_OBJECT (entry), "net", wid); + g_signal_connect (G_OBJECT (wid), "activate", + G_CALLBACK (notifygui_add_enter), dialog); + gtk_entry_set_text (GTK_ENTRY (wid), networks ? networks : "ALL"); + gtk_table_attach_defaults (GTK_TABLE (table), wid, 1, 2, 2, 3); + + label = gtk_label_new (NULL); + snprintf (buf, sizeof (buf), "<i><span size=\"smaller\">%s</span></i>", _("Comma separated list of networks is accepted.")); + gtk_label_set_markup (GTK_LABEL (label), buf); + gtk_table_attach_defaults (GTK_TABLE (table), label, 1, 2, 3, 4); + + gtk_widget_show_all (dialog); +} + +static void +notify_add_clicked (GtkWidget * igad) +{ + fe_notify_ask ("", NULL); +} + +void +notify_opengui (void) +{ + GtkWidget *vbox, *bbox; + GtkWidget *view; + + if (notify_window) + { + mg_bring_tofront (notify_window); + return; + } + + notify_window = + mg_create_generic_tab ("Notify", _("XChat: Friends List"), FALSE, TRUE, + notify_closegui, NULL, 400, 250, &vbox, 0); + + view = notify_treeview_new (vbox); + g_object_set_data (G_OBJECT (notify_window), "view", view); + + bbox = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_SPREAD); + gtk_container_set_border_width (GTK_CONTAINER (bbox), 5); + gtk_box_pack_end (GTK_BOX (vbox), bbox, 0, 0, 0); + gtk_widget_show (bbox); + + gtkutil_button (bbox, GTK_STOCK_NEW, 0, notify_add_clicked, 0, + _("Add...")); + + notify_button_remove = + gtkutil_button (bbox, GTK_STOCK_DELETE, 0, notify_remove_clicked, 0, + _("Remove")); + + notify_button_opendialog = + gtkutil_button (bbox, NULL, 0, notify_opendialog_clicked, 0, + _("Open Dialog")); + + gtk_widget_set_sensitive (notify_button_opendialog, FALSE); + gtk_widget_set_sensitive (notify_button_remove, FALSE); + + notify_gui_update (); + + gtk_widget_show (notify_window); +} diff --git a/src/fe-gtk/notifygui.h b/src/fe-gtk/notifygui.h new file mode 100644 index 00000000..360834dc --- /dev/null +++ b/src/fe-gtk/notifygui.h @@ -0,0 +1,2 @@ +void notify_gui_update (void); +void notify_opengui (void); diff --git a/src/fe-gtk/palette.c b/src/fe-gtk/palette.c new file mode 100644 index 00000000..ebae92ff --- /dev/null +++ b/src/fe-gtk/palette.c @@ -0,0 +1,226 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +#include "fe-gtk.h" +#include "palette.h" + +#include "../common/xchat.h" +#include "../common/util.h" +#include "../common/cfgfiles.h" + + +GdkColor colors[] = { + /* colors for xtext */ + {0, 0xcccc, 0xcccc, 0xcccc}, /* 16 white */ + {0, 0x0000, 0x0000, 0x0000}, /* 17 black */ + {0, 0x35c2, 0x35c2, 0xb332}, /* 18 blue */ + {0, 0x2a3d, 0x8ccc, 0x2a3d}, /* 19 green */ + {0, 0xc3c3, 0x3b3b, 0x3b3b}, /* 20 red */ + {0, 0xc7c7, 0x3232, 0x3232}, /* 21 light red */ + {0, 0x8000, 0x2666, 0x7fff}, /* 22 purple */ + {0, 0x6666, 0x3636, 0x1f1f}, /* 23 orange */ + {0, 0xd999, 0xa6d3, 0x4147}, /* 24 yellow */ + {0, 0x3d70, 0xcccc, 0x3d70}, /* 25 green */ + {0, 0x199a, 0x5555, 0x5555}, /* 26 aqua */ + {0, 0x2eef, 0x8ccc, 0x74df}, /* 27 light aqua */ + {0, 0x451e, 0x451e, 0xe666}, /* 28 blue */ + {0, 0xb0b0, 0x3737, 0xb0b0}, /* 29 light purple */ + {0, 0x4c4c, 0x4c4c, 0x4c4c}, /* 30 grey */ + {0, 0x9595, 0x9595, 0x9595}, /* 31 light grey */ + + {0, 0xcccc, 0xcccc, 0xcccc}, /* 16 white */ + {0, 0x0000, 0x0000, 0x0000}, /* 17 black */ + {0, 0x35c2, 0x35c2, 0xb332}, /* 18 blue */ + {0, 0x2a3d, 0x8ccc, 0x2a3d}, /* 19 green */ + {0, 0xc3c3, 0x3b3b, 0x3b3b}, /* 20 red */ + {0, 0xc7c7, 0x3232, 0x3232}, /* 21 light red */ + {0, 0x8000, 0x2666, 0x7fff}, /* 22 purple */ + {0, 0x6666, 0x3636, 0x1f1f}, /* 23 orange */ + {0, 0xd999, 0xa6d3, 0x4147}, /* 24 yellow */ + {0, 0x3d70, 0xcccc, 0x3d70}, /* 25 green */ + {0, 0x199a, 0x5555, 0x5555}, /* 26 aqua */ + {0, 0x2eef, 0x8ccc, 0x74df}, /* 27 light aqua */ + {0, 0x451e, 0x451e, 0xe666}, /* 28 blue */ + {0, 0xb0b0, 0x3737, 0xb0b0}, /* 29 light purple */ + {0, 0x4c4c, 0x4c4c, 0x4c4c}, /* 30 grey */ + {0, 0x9595, 0x9595, 0x9595}, /* 31 light grey */ + + {0, 0xffff, 0xffff, 0xffff}, /* 32 marktext Fore (white) */ + {0, 0x3535, 0x6e6e, 0xc1c1}, /* 33 marktext Back (blue) */ + {0, 0x0000, 0x0000, 0x0000}, /* 34 foreground (black) */ + {0, 0xf0f0, 0xf0f0, 0xf0f0}, /* 35 background (white) */ + {0, 0xcccc, 0x1010, 0x1010}, /* 36 marker line (red) */ + + /* colors for GUI */ + {0, 0x9999, 0x0000, 0x0000}, /* 37 tab New Data (dark red) */ + {0, 0x0000, 0x0000, 0xffff}, /* 38 tab Nick Mentioned (blue) */ + {0, 0xffff, 0x0000, 0x0000}, /* 39 tab New Message (red) */ + {0, 0x9595, 0x9595, 0x9595}, /* 40 away user (grey) */ +}; +#define MAX_COL 40 + + +void +palette_alloc (GtkWidget * widget) +{ + int i; + static int done_alloc = FALSE; + GdkColormap *cmap; + + if (!done_alloc) /* don't do it again */ + { + done_alloc = TRUE; + cmap = gtk_widget_get_colormap (widget); + for (i = MAX_COL; i >= 0; i--) + gdk_colormap_alloc_color (cmap, &colors[i], FALSE, TRUE); + } +} + +/* maps XChat 2.0.x colors to current */ +static const int remap[] = +{ + 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, + 33, /* 16:marktextback */ + 32, /* 17:marktextfore */ + 34, /* 18: fg */ + 35, /* 19: bg */ + 37, /* 20: newdata */ + 38, /* 21: blue */ + 39, /* 22: newmsg */ + 40 /* 23: away */ +}; + +void +palette_load (void) +{ + int i, j, l, fh, res; + char prefname[256]; + struct stat st; + char *cfg; + int red, green, blue; + int upgrade = FALSE; + + fh = xchat_open_file ("colors.conf", O_RDONLY, 0, 0); + if (fh == -1) + { + fh = xchat_open_file ("palette.conf", O_RDONLY, 0, 0); + upgrade = TRUE; + } + + if (fh != -1) + { + fstat (fh, &st); + cfg = malloc (st.st_size + 1); + if (cfg) + { + cfg[0] = '\0'; + l = read (fh, cfg, st.st_size); + if (l >= 0) + cfg[l] = '\0'; + + if (!upgrade) + { + /* mIRC colors 0-31 are here */ + for (i = 0; i < 32; i++) + { + snprintf (prefname, sizeof prefname, "color_%d", i); + cfg_get_color (cfg, prefname, &red, &green, &blue); + colors[i].red = red; + colors[i].green = green; + colors[i].blue = blue; + } + + /* our special colors are mapped at 256+ */ + for (i = 256, j = 32; j < MAX_COL+1; i++, j++) + { + snprintf (prefname, sizeof prefname, "color_%d", i); + cfg_get_color (cfg, prefname, &red, &green, &blue); + colors[j].red = red; + colors[j].green = green; + colors[j].blue = blue; + } + + } else + { + /* loading 2.0.x palette.conf */ + for (i = 0; i < MAX_COL+1; i++) + { + snprintf (prefname, sizeof prefname, "color_%d_red", i); + red = cfg_get_int (cfg, prefname); + + snprintf (prefname, sizeof prefname, "color_%d_grn", i); + green = cfg_get_int (cfg, prefname); + + snprintf (prefname, sizeof prefname, "color_%d_blu", i); + blue = cfg_get_int_with_result (cfg, prefname, &res); + + if (res) + { + colors[remap[i]].red = red; + colors[remap[i]].green = green; + colors[remap[i]].blue = blue; + } + } + + /* copy 0-15 to 16-31 */ + for (i = 0; i < 16; i++) + { + colors[i+16].red = colors[i].red; + colors[i+16].green = colors[i].green; + colors[i+16].blue = colors[i].blue; + } + } + free (cfg); + } + close (fh); + } +} + +void +palette_save (void) +{ + int i, j, fh; + char prefname[256]; + + fh = xchat_open_file ("colors.conf", O_TRUNC | O_WRONLY | O_CREAT, 0600, XOF_DOMODE); + if (fh != -1) + { + /* mIRC colors 0-31 are here */ + for (i = 0; i < 32; i++) + { + snprintf (prefname, sizeof prefname, "color_%d", i); + cfg_put_color (fh, colors[i].red, colors[i].green, colors[i].blue, prefname); + } + + /* our special colors are mapped at 256+ */ + for (i = 256, j = 32; j < MAX_COL+1; i++, j++) + { + snprintf (prefname, sizeof prefname, "color_%d", i); + cfg_put_color (fh, colors[j].red, colors[j].green, colors[j].blue, prefname); + } + + close (fh); + } +} diff --git a/src/fe-gtk/palette.h b/src/fe-gtk/palette.h new file mode 100644 index 00000000..c97693bb --- /dev/null +++ b/src/fe-gtk/palette.h @@ -0,0 +1,15 @@ +extern GdkColor colors[]; + +#define COL_MARK_FG 32 +#define COL_MARK_BG 33 +#define COL_FG 34 +#define COL_BG 35 +#define COL_MARKER 36 +#define COL_NEW_DATA 37 +#define COL_HILIGHT 38 +#define COL_NEW_MSG 39 +#define COL_AWAY 40 + +void palette_alloc (GtkWidget * widget); +void palette_load (void); +void palette_save (void); diff --git a/src/fe-gtk/pixmaps.c b/src/fe-gtk/pixmaps.c new file mode 100644 index 00000000..3d85c3b0 --- /dev/null +++ b/src/fe-gtk/pixmaps.c @@ -0,0 +1,123 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +#include "fe-gtk.h" +#include "../common/xchat.h" +#include "../common/fe.h" + +#include <gdk-pixbuf/gdk-pixbuf.h> +#include <gdk-pixbuf/gdk-pixdata.h> +#include <gtk/gtkstock.h> + +#include "../pixmaps/inline_pngs.h" + +GdkPixbuf *pix_xchat; +GdkPixbuf *pix_book; + +GdkPixbuf *pix_purple; +GdkPixbuf *pix_red; +GdkPixbuf *pix_op; +GdkPixbuf *pix_hop; +GdkPixbuf *pix_voice; + +GdkPixbuf *pix_tray_msg; +GdkPixbuf *pix_tray_hilight; +GdkPixbuf *pix_tray_file; + +GdkPixbuf *pix_channel; +GdkPixbuf *pix_dialog; +GdkPixbuf *pix_server; +GdkPixbuf *pix_util; + + +static GdkPixmap * +pixmap_load_from_file_real (char *file) +{ + GdkPixbuf *img; + GdkPixmap *pixmap; + + img = gdk_pixbuf_new_from_file (file, 0); + if (!img) + return NULL; + gdk_pixbuf_render_pixmap_and_mask (img, &pixmap, NULL, 128); + gdk_pixbuf_unref (img); + + return pixmap; +} + +GdkPixmap * +pixmap_load_from_file (char *filename) +{ + char buf[256]; + GdkPixmap *pix; + + if (filename[0] == '\0') + return NULL; + + pix = pixmap_load_from_file_real (filename); + if (pix == NULL) + { + strcpy (buf, "Cannot open:\n\n"); + strncpy (buf + 14, filename, sizeof (buf) - 14); + buf[sizeof (buf) - 1] = 0; + fe_message (buf, FE_MSG_ERROR); + } + + return pix; +} + +#define LOADPIX(vv,pp,ff) \ + vv = gdk_pixbuf_new_from_file (XCHATSHAREDIR"/xchat/"ff, 0); \ + if (!vv) \ + vv = gdk_pixbuf_new_from_inline (-1, pp, FALSE, 0); + +#define LOADPIX_DISKONLY(vv,ff) \ + vv = gdk_pixbuf_new_from_file (XCHATSHAREDIR"/xchat/"ff, 0); + +#define EXT ".png" + +void +pixmaps_init (void) +{ + pix_book = gdk_pixbuf_new_from_inline (-1, bookpng, FALSE, 0); + + /* used in About window, tray icon and WindowManager icon. */ + LOADPIX (pix_xchat, xchatpng, "xchat"EXT); + + /* userlist icons, with inlined defaults */ + LOADPIX (pix_hop, hoppng, "hop"EXT); + LOADPIX (pix_purple, purplepng, "purple"EXT); + LOADPIX (pix_red, redpng, "red"EXT); + LOADPIX (pix_op, oppng, "op"EXT); + LOADPIX (pix_voice, voicepng, "voice"EXT); + + /* tray icons, with inlined defaults */ + LOADPIX (pix_tray_msg, traymsgpng, "message"EXT); + LOADPIX (pix_tray_hilight, trayhilightpng, "highlight"EXT); + LOADPIX (pix_tray_file, trayfilepng, "fileoffer"EXT); + + /* treeview icons, no defaults, load from disk only */ + LOADPIX_DISKONLY (pix_channel, "channel"EXT); + LOADPIX_DISKONLY (pix_dialog, "dialog"EXT); + LOADPIX_DISKONLY (pix_server, "server"EXT); + LOADPIX_DISKONLY (pix_util, "util"EXT); +} diff --git a/src/fe-gtk/pixmaps.h b/src/fe-gtk/pixmaps.h new file mode 100644 index 00000000..91b9696e --- /dev/null +++ b/src/fe-gtk/pixmaps.h @@ -0,0 +1,19 @@ +extern GdkPixbuf *pix_book; +extern GdkPixbuf *pix_hop; +extern GdkPixbuf *pix_purple; +extern GdkPixbuf *pix_red; +extern GdkPixbuf *pix_op; +extern GdkPixbuf *pix_voice; +extern GdkPixbuf *pix_xchat; + +extern GdkPixbuf *pix_tray_msg; +extern GdkPixbuf *pix_tray_hilight; +extern GdkPixbuf *pix_tray_file; + +extern GdkPixbuf *pix_channel; +extern GdkPixbuf *pix_dialog; +extern GdkPixbuf *pix_server; +extern GdkPixbuf *pix_util; + +extern GdkPixmap *pixmap_load_from_file (char *file); +extern void pixmaps_init (void); diff --git a/src/fe-gtk/plugin-tray.c b/src/fe-gtk/plugin-tray.c new file mode 100644 index 00000000..8603abf4 --- /dev/null +++ b/src/fe-gtk/plugin-tray.c @@ -0,0 +1,852 @@ +/* Copyright (C) 2006-2007 Peter Zelezny. */ + +#include <string.h> +#include <unistd.h> +#include "../common/xchat-plugin.h" +#include "../common/xchat.h" +#include "../common/xchatc.h" +#include "../common/inbound.h" +#include "../common/server.h" +#include "../common/fe.h" +#include "../common/util.h" +#include "fe-gtk.h" +#include "pixmaps.h" +#include "maingui.h" +#include "menu.h" +#include <gtk/gtk.h> + +#define LIBNOTIFY + +typedef enum /* current icon status */ +{ + TS_NONE, + TS_MESSAGE, + TS_HIGHLIGHT, + TS_FILEOFFER, + TS_CUSTOM /* plugin */ +} TrayStatus; + +typedef enum +{ + WS_FOCUSED, + WS_NORMAL, + WS_HIDDEN +} WinStatus; + +typedef GdkPixbuf* TrayIcon; +#define tray_icon_from_file(f) gdk_pixbuf_new_from_file(f,NULL) +#define tray_icon_free(i) g_object_unref(i) + +#define ICON_NORMAL pix_xchat +#define ICON_MSG pix_tray_msg +#define ICON_HILIGHT pix_tray_hilight +#define ICON_FILE pix_tray_file +#define TIMEOUT 500 + +static GtkStatusIcon *sticon; +static gint flash_tag; +static TrayStatus tray_status; +static xchat_plugin *ph; + +static TrayIcon custom_icon1; +static TrayIcon custom_icon2; + +static int tray_priv_count = 0; +static int tray_pub_count = 0; +static int tray_hilight_count = 0; +static int tray_file_count = 0; + + +void tray_apply_setup (void); + + +static WinStatus +tray_get_window_status (void) +{ + const char *st; + + st = xchat_get_info (ph, "win_status"); + + if (!st) + return WS_HIDDEN; + + if (!strcmp (st, "active")) + return WS_FOCUSED; + + if (!strcmp (st, "hidden")) + return WS_HIDDEN; + + return WS_NORMAL; +} + +static int +tray_count_channels (void) +{ + int cons = 0; + GSList *list; + session *sess; + + for (list = sess_list; list; list = list->next) + { + sess = list->data; + if (sess->server->connected && sess->channel[0] && + sess->type == SESS_CHANNEL) + cons++; + } + return cons; +} + +static int +tray_count_networks (void) +{ + int cons = 0; + GSList *list; + + for (list = serv_list; list; list = list->next) + { + if (((server *)list->data)->connected) + cons++; + } + return cons; +} + +void +fe_tray_set_tooltip (const char *text) +{ + if (sticon) + gtk_status_icon_set_tooltip (sticon, text); +} + +#ifdef LIBNOTIFY + +/* dynamic access to libnotify.so */ + +static void *nn_mod = NULL; +/* prototypes */ +static gboolean (*nn_init) (char *); +static void (*nn_uninit) (void); +/* recent versions of libnotify don't take the fourth GtkWidget argument, but passing an + * extra NULL argument will be fine */ +static void *(*nn_new) (const gchar *summary, const gchar *message, const gchar *icon, gpointer dummy); +static gboolean (*nn_show) (void *noti, GError **error); +static void (*nn_set_timeout) (void *noti, gint timeout); + +static void +libnotify_cleanup (void) +{ + if (nn_mod) + { + nn_uninit (); + g_module_close (nn_mod); + nn_mod = NULL; + } +} + +static gboolean +libnotify_notify_new (const char *title, const char *text, GtkStatusIcon *icon) +{ + void *noti; + + if (!nn_mod) + { + nn_mod = g_module_open ("libnotify", G_MODULE_BIND_LAZY); + if (!nn_mod) + { + nn_mod = g_module_open ("libnotify.so.1", G_MODULE_BIND_LAZY); + if (!nn_mod) + return FALSE; + } + + if (!g_module_symbol (nn_mod, "notify_init", (gpointer)&nn_init)) + goto bad; + if (!g_module_symbol (nn_mod, "notify_uninit", (gpointer)&nn_uninit)) + goto bad; + if (!g_module_symbol (nn_mod, "notify_notification_new", (gpointer)&nn_new)) + goto bad; + if (!g_module_symbol (nn_mod, "notify_notification_show", (gpointer)&nn_show)) + goto bad; + if (!g_module_symbol (nn_mod, "notify_notification_set_timeout", (gpointer)&nn_set_timeout)) + goto bad; + if (!nn_init (PACKAGE_NAME)) + goto bad; + } + + text = strip_color (text, -1, STRIP_ALL|STRIP_ESCMARKUP); + title = strip_color (title, -1, STRIP_ALL); + noti = nn_new (title, text, XCHATSHAREDIR"/pixmaps/xchat.png", NULL); + g_free ((char *)title); + g_free ((char *)text); + + nn_set_timeout (noti, prefs.input_balloon_time*1000); + nn_show (noti, NULL); + g_object_unref (G_OBJECT (noti)); + + return TRUE; + +bad: + g_module_close (nn_mod); + nn_mod = NULL; + return FALSE; +} + +#endif + +void +fe_tray_set_balloon (const char *title, const char *text) +{ +#ifndef WIN32 + const char *argv[8]; + const char *path; + char time[16]; + WinStatus ws; + + /* no balloons if the window is focused */ + ws = tray_get_window_status (); + if (ws == WS_FOCUSED) + return; + + /* bit 1 of flags means "no balloons unless hidden/iconified" */ + if (ws != WS_HIDDEN && (prefs.gui_tray_flags & 2)) + return; + + /* FIXME: this should close the current balloon */ + if (!text) + return; + +#ifdef LIBNOTIFY + /* try it via libnotify.so */ + if (libnotify_notify_new (title, text, sticon)) + return; /* success */ +#endif + + /* try it the crude way */ + path = g_find_program_in_path ("notify-send"); + if (path) + { + sprintf(time, "%d000",prefs.input_balloon_time); + argv[0] = path; + argv[1] = "-i"; + argv[2] = "gtk-dialog-info"; + if (access (XCHATSHAREDIR"/pixmaps/xchat.png", R_OK) == 0) + argv[2] = XCHATSHAREDIR"/pixmaps/xchat.png"; + argv[3] = "-t"; + argv[4] = time; + argv[5] = title; + text = strip_color (text, -1, STRIP_ALL|STRIP_ESCMARKUP); + argv[6] = text; + argv[7] = NULL; + xchat_execv (argv); + g_free ((char *)path); + g_free ((char *)text); + } + else + { + /* show this error only once */ + static unsigned char said_it = FALSE; + if (!said_it) + { + said_it = TRUE; + fe_message (_("Cannot find 'notify-send' to open balloon alerts.\nPlease install libnotify."), FE_MSG_ERROR); + } + } +#endif +} + +static void +tray_set_balloonf (const char *text, const char *format, ...) +{ + va_list args; + char *buf; + + va_start (args, format); + buf = g_strdup_vprintf (format, args); + va_end (args); + + fe_tray_set_balloon (buf, text); + g_free (buf); +} + +static void +tray_set_tipf (const char *format, ...) +{ + va_list args; + char *buf; + + va_start (args, format); + buf = g_strdup_vprintf (format, args); + va_end (args); + + fe_tray_set_tooltip (buf); + g_free (buf); +} + +static void +tray_stop_flash (void) +{ + int nets, chans; + + if (flash_tag) + { + g_source_remove (flash_tag); + flash_tag = 0; + } + + if (sticon) + { + gtk_status_icon_set_from_pixbuf (sticon, ICON_NORMAL); + nets = tray_count_networks (); + chans = tray_count_channels (); + if (nets) + tray_set_tipf (_("XChat: Connected to %u networks and %u channels"), + nets, chans); + else + tray_set_tipf ("XChat: %s", _("Not connected.")); + } + + if (custom_icon1) + { + tray_icon_free (custom_icon1); + custom_icon1 = NULL; + } + + if (custom_icon2) + { + tray_icon_free (custom_icon2); + custom_icon2 = NULL; + } + + tray_status = TS_NONE; +} + +static void +tray_reset_counts (void) +{ + tray_priv_count = 0; + tray_pub_count = 0; + tray_hilight_count = 0; + tray_file_count = 0; +} + +static int +tray_timeout_cb (TrayIcon icon) +{ + if (custom_icon1) + { + if (gtk_status_icon_get_pixbuf (sticon) == custom_icon1) + { + if (custom_icon2) + gtk_status_icon_set_from_pixbuf (sticon, custom_icon2); + else + gtk_status_icon_set_from_pixbuf (sticon, ICON_NORMAL); + } + else + { + gtk_status_icon_set_from_pixbuf (sticon, custom_icon1); + } + } + else + { + if (gtk_status_icon_get_pixbuf (sticon) == ICON_NORMAL) + gtk_status_icon_set_from_pixbuf (sticon, icon); + else + gtk_status_icon_set_from_pixbuf (sticon, ICON_NORMAL); + } + return 1; +} + +static void +tray_set_flash (TrayIcon icon) +{ + if (!sticon) + return; + + /* already flashing the same icon */ + if (flash_tag && gtk_status_icon_get_pixbuf (sticon) == icon) + return; + + /* no flashing if window is focused */ + if (tray_get_window_status () == WS_FOCUSED) + return; + + tray_stop_flash (); + + gtk_status_icon_set_from_pixbuf (sticon, icon); + flash_tag = g_timeout_add (TIMEOUT, (GSourceFunc) tray_timeout_cb, icon); +} + +void +fe_tray_set_flash (const char *filename1, const char *filename2, int tout) +{ + tray_apply_setup (); + if (!sticon) + return; + + tray_stop_flash (); + + if (tout == -1) + tout = TIMEOUT; + + custom_icon1 = tray_icon_from_file (filename1); + if (filename2) + custom_icon2 = tray_icon_from_file (filename2); + + gtk_status_icon_set_from_pixbuf (sticon, custom_icon1); + flash_tag = g_timeout_add (tout, (GSourceFunc) tray_timeout_cb, NULL); + tray_status = TS_CUSTOM; +} + +void +fe_tray_set_icon (feicon icon) +{ + tray_apply_setup (); + if (!sticon) + return; + + tray_stop_flash (); + + switch (icon) + { + case FE_ICON_NORMAL: + break; + case FE_ICON_MESSAGE: + tray_set_flash (ICON_MSG); + break; + case FE_ICON_HIGHLIGHT: + case FE_ICON_PRIVMSG: + tray_set_flash (ICON_HILIGHT); + break; + case FE_ICON_FILEOFFER: + tray_set_flash (ICON_FILE); + } +} + +void +fe_tray_set_file (const char *filename) +{ + tray_apply_setup (); + if (!sticon) + return; + + tray_stop_flash (); + + if (filename) + { + custom_icon1 = tray_icon_from_file (filename); + gtk_status_icon_set_from_pixbuf (sticon, custom_icon1); + tray_status = TS_CUSTOM; + } +} + +gboolean +tray_toggle_visibility (gboolean force_hide) +{ + static int x, y; + static GdkScreen *screen; + GtkWindow *win; + + if (!sticon) + return FALSE; + + /* ph may have an invalid context now */ + xchat_set_context (ph, xchat_find_context (ph, NULL, NULL)); + + win = (GtkWindow *)xchat_get_info (ph, "win_ptr"); + + tray_stop_flash (); + tray_reset_counts (); + + if (!win) + return FALSE; + +#if GTK_CHECK_VERSION(2,20,0) + if (force_hide || gtk_widget_get_visible (GTK_WIDGET (win))) +#else + if (force_hide || GTK_WIDGET_VISIBLE (win)) +#endif + { + gtk_window_get_position (win, &x, &y); + screen = gtk_window_get_screen (win); + gtk_widget_hide (GTK_WIDGET (win)); + } + else + { + gtk_window_set_screen (win, screen); + gtk_window_move (win, x, y); + gtk_widget_show (GTK_WIDGET (win)); + gtk_window_present (win); + } + + return TRUE; +} + +static void +tray_menu_restore_cb (GtkWidget *item, gpointer userdata) +{ + tray_toggle_visibility (FALSE); +} + +static void +tray_menu_quit_cb (GtkWidget *item, gpointer userdata) +{ + mg_open_quit_dialog (FALSE); +} + +/* returns 0-mixed 1-away 2-back */ + +static int +tray_find_away_status (void) +{ + GSList *list; + server *serv; + int away = 0; + int back = 0; + + for (list = serv_list; list; list = list->next) + { + serv = list->data; + + if (serv->is_away || serv->reconnect_away) + away++; + else + back++; + } + + if (away && back) + return 0; + + if (away) + return 1; + + return 2; +} + +static void +tray_foreach_server (GtkWidget *item, char *cmd) +{ + GSList *list; + server *serv; + + for (list = serv_list; list; list = list->next) + { + serv = list->data; + if (serv->connected) + handle_command (serv->server_session, cmd, FALSE); + } +} + +static GtkWidget * +tray_make_item (GtkWidget *menu, char *label, void *callback, void *userdata) +{ + GtkWidget *item; + + if (label) + item = gtk_menu_item_new_with_mnemonic (label); + else + item = gtk_menu_item_new (); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (callback), userdata); + gtk_widget_show (item); + + return item; +} + +static void +tray_toggle_cb (GtkCheckMenuItem *item, unsigned int *setting) +{ + *setting = item->active; +} + +static void +blink_item (unsigned int *setting, GtkWidget *menu, char *label) +{ + menu_toggle_item (label, menu, tray_toggle_cb, setting, *setting); +} + +static void +tray_menu_destroy (GtkWidget *menu, gpointer userdata) +{ + gtk_widget_destroy (menu); + g_object_unref (menu); +} + +static void +tray_menu_cb (GtkWidget *widget, guint button, guint time, gpointer userdata) +{ + GtkWidget *menu; + GtkWidget *submenu; + GtkWidget *item; + int away_status; + + /* ph may have an invalid context now */ + xchat_set_context (ph, xchat_find_context (ph, NULL, NULL)); + + menu = gtk_menu_new (); + /*gtk_menu_set_screen (GTK_MENU (menu), gtk_widget_get_screen (widget));*/ + + if (tray_get_window_status () == WS_HIDDEN) + tray_make_item (menu, _("_Restore"), tray_menu_restore_cb, NULL); + else + tray_make_item (menu, _("_Hide"), tray_menu_restore_cb, NULL); + tray_make_item (menu, NULL, tray_menu_quit_cb, NULL); + + submenu = mg_submenu (menu, _("_Blink on")); + blink_item (&prefs.input_tray_chans, submenu, _("Channel Message")); + blink_item (&prefs.input_tray_priv, submenu, _("Private Message")); + blink_item (&prefs.input_tray_hilight, submenu, _("Highlighted Message")); + /*blink_item (BIT_FILEOFFER, submenu, _("File Offer"));*/ + + submenu = mg_submenu (menu, _("_Change status")); + away_status = tray_find_away_status (); + item = tray_make_item (submenu, _("_Away"), tray_foreach_server, "away"); + if (away_status == 1) + gtk_widget_set_sensitive (item, FALSE); + item = tray_make_item (submenu, _("_Back"), tray_foreach_server, "back"); + if (away_status == 2) + gtk_widget_set_sensitive (item, FALSE); + + tray_make_item (menu, NULL, tray_menu_quit_cb, NULL); + mg_create_icon_item (_("_Quit"), GTK_STOCK_QUIT, menu, tray_menu_quit_cb, NULL); + + menu_add_plugin_items (menu, "\x5$TRAY", NULL); + + g_object_ref (menu); + g_object_ref_sink (menu); + g_object_unref (menu); + g_signal_connect (G_OBJECT (menu), "selection-done", + G_CALLBACK (tray_menu_destroy), NULL); + + gtk_menu_popup (GTK_MENU (menu), NULL, NULL, gtk_status_icon_position_menu, + userdata, button, time); +} + +static void +tray_init (void) +{ + flash_tag = 0; + tray_status = TS_NONE; + custom_icon1 = NULL; + custom_icon2 = NULL; + + sticon = gtk_status_icon_new_from_pixbuf (ICON_NORMAL); + if (!sticon) + return; + g_signal_connect (G_OBJECT (sticon), "popup-menu", + G_CALLBACK (tray_menu_cb), sticon); + g_signal_connect (G_OBJECT (sticon), "activate", + G_CALLBACK (tray_menu_restore_cb), NULL); +} + +static int +tray_hilight_cb (char *word[], void *userdata) +{ + /*if (tray_status == TS_HIGHLIGHT) + return XCHAT_EAT_NONE;*/ + + if (prefs.input_tray_hilight) + { + tray_set_flash (ICON_HILIGHT); + + /* FIXME: hides any previous private messages */ + tray_hilight_count++; + if (tray_hilight_count == 1) + tray_set_tipf (_("XChat: Highlighted message from: %s (%s)"), + word[1], xchat_get_info (ph, "channel")); + else + tray_set_tipf (_("XChat: %u highlighted messages, latest from: %s (%s)"), + tray_hilight_count, word[1], xchat_get_info (ph, "channel")); + } + + if (prefs.input_balloon_hilight) + tray_set_balloonf (word[2], _("XChat: Highlighted message from: %s (%s)"), + word[1], xchat_get_info (ph, "channel")); + + return XCHAT_EAT_NONE; +} + +static int +tray_message_cb (char *word[], void *userdata) +{ + if (/*tray_status == TS_MESSAGE ||*/ tray_status == TS_HIGHLIGHT) + return XCHAT_EAT_NONE; + + if (prefs.input_tray_chans) + { + tray_set_flash (ICON_MSG); + + tray_pub_count++; + if (tray_pub_count == 1) + tray_set_tipf (_("XChat: New public message from: %s (%s)"), + word[1], xchat_get_info (ph, "channel")); + else + tray_set_tipf (_("XChat: %u new public messages."), tray_pub_count); + } + + if (prefs.input_balloon_chans) + tray_set_balloonf (word[2], _("XChat: New public message from: %s (%s)"), + word[1], xchat_get_info (ph, "channel")); + + return XCHAT_EAT_NONE; +} + +static void +tray_priv (char *from, char *text) +{ + const char *network; + + if (alert_match_word (from, prefs.irc_no_hilight)) + return; + + tray_set_flash (ICON_HILIGHT); + + network = xchat_get_info (ph, "network"); + if (!network) + network = xchat_get_info (ph, "server"); + + tray_priv_count++; + if (tray_priv_count == 1) + tray_set_tipf (_("XChat: Private message from: %s (%s)"), + from, network); + else + tray_set_tipf (_("XChat: %u private messages, latest from: %s (%s)"), + tray_priv_count, from, network); + + if (prefs.input_balloon_priv) + tray_set_balloonf (text, _("XChat: Private message from: %s (%s)"), + from, network); +} + +static int +tray_priv_cb (char *word[], void *userdata) +{ + /*if (tray_status == TS_HIGHLIGHT) + return XCHAT_EAT_NONE;*/ + + if (prefs.input_tray_priv) + tray_priv (word[1], word[2]); + + return XCHAT_EAT_NONE; +} + +static int +tray_invited_cb (char *word[], void *userdata) +{ + /*if (tray_status == TS_HIGHLIGHT) + return XCHAT_EAT_NONE;*/ + + if (prefs.input_tray_priv) + tray_priv (word[2], "Invited"); + + return XCHAT_EAT_NONE; +} + +static int +tray_dcc_cb (char *word[], void *userdata) +{ + const char *network; + +/* if (tray_status == TS_FILEOFFER) + return XCHAT_EAT_NONE;*/ + + network = xchat_get_info (ph, "network"); + if (!network) + network = xchat_get_info (ph, "server"); + + if (prefs.input_tray_priv) + { + tray_set_flash (ICON_FILE); + + tray_file_count++; + if (tray_file_count == 1) + tray_set_tipf (_("XChat: File offer from: %s (%s)"), + word[1], network); + else + tray_set_tipf (_("XChat: %u file offers, latest from: %s (%s)"), + tray_file_count, word[1], network); + } + + if (prefs.input_balloon_priv) + tray_set_balloonf ("", _("XChat: File offer from: %s (%s)"), + word[1], network); + + return XCHAT_EAT_NONE; +} + +static int +tray_focus_cb (char *word[], void *userdata) +{ + tray_stop_flash (); + tray_reset_counts (); + return XCHAT_EAT_NONE; +} + +static void +tray_cleanup (void) +{ + tray_stop_flash (); + + if (sticon) + { + g_object_unref ((GObject *)sticon); + sticon = NULL; + } +} + +void +tray_apply_setup (void) +{ + if (sticon) + { + if (!prefs.gui_tray) + tray_cleanup (); + } + else + { + if (prefs.gui_tray) + tray_init (); + } +} + +int +tray_plugin_init (xchat_plugin *plugin_handle, char **plugin_name, + char **plugin_desc, char **plugin_version, char *arg) +{ + /* we need to save this for use with any xchat_* functions */ + ph = plugin_handle; + + *plugin_name = ""; + *plugin_desc = ""; + *plugin_version = ""; + + xchat_hook_print (ph, "Channel Msg Hilight", -1, tray_hilight_cb, NULL); + xchat_hook_print (ph, "Channel Action Hilight", -1, tray_hilight_cb, NULL); + + xchat_hook_print (ph, "Channel Message", -1, tray_message_cb, NULL); + xchat_hook_print (ph, "Channel Action", -1, tray_message_cb, NULL); + xchat_hook_print (ph, "Channel Notice", -1, tray_message_cb, NULL); + + xchat_hook_print (ph, "Private Message", -1, tray_priv_cb, NULL); + xchat_hook_print (ph, "Private Message to Dialog", -1, tray_priv_cb, NULL); + xchat_hook_print (ph, "Notice", -1, tray_priv_cb, NULL); + xchat_hook_print (ph, "Invited", -1, tray_invited_cb, NULL); + + xchat_hook_print (ph, "DCC Offer", -1, tray_dcc_cb, NULL); + + xchat_hook_print (ph, "Focus Window", -1, tray_focus_cb, NULL); + + if (prefs.gui_tray) + tray_init (); + + return 1; /* return 1 for success */ +} + +int +tray_plugin_deinit (xchat_plugin *plugin_handle) +{ +#ifdef WIN32 + tray_cleanup (); +#elif defined(LIBNOTIFY) + libnotify_cleanup (); +#endif + return 1; +} diff --git a/src/fe-gtk/plugin-tray.h b/src/fe-gtk/plugin-tray.h new file mode 100644 index 00000000..d54be5a4 --- /dev/null +++ b/src/fe-gtk/plugin-tray.h @@ -0,0 +1,4 @@ +int tray_plugin_init (void *, char **, char **, char **, char *); +int tray_plugin_deinit (void *); +gboolean tray_toggle_visibility (gboolean force_hide); +void tray_apply_setup (void); diff --git a/src/fe-gtk/plugingui.c b/src/fe-gtk/plugingui.c new file mode 100644 index 00000000..de59e649 --- /dev/null +++ b/src/fe-gtk/plugingui.c @@ -0,0 +1,239 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <string.h> +#include <stdio.h> +#include <stdlib.h> + +#include "fe-gtk.h" + +#include <gtk/gtkdialog.h> +#include <gtk/gtkstock.h> +#include <gtk/gtkbox.h> +#include <gtk/gtkscrolledwindow.h> + +#include <gtk/gtkliststore.h> +#include <gtk/gtktreeview.h> +#include <gtk/gtktreeselection.h> +#include <gtk/gtkcellrenderertext.h> + +#include "../common/xchat.h" +#define PLUGIN_C +typedef struct session xchat_context; +#include "../common/xchat-plugin.h" +#include "../common/plugin.h" +#include "../common/util.h" +#include "../common/outbound.h" +#include "../common/fe.h" +#include "../common/xchatc.h" +#include "gtkutil.h" + +/* model for the plugin treeview */ +enum +{ + NAME_COLUMN, + VERSION_COLUMN, + FILE_COLUMN, + DESC_COLUMN, + N_COLUMNS +}; + +static GtkWidget *plugin_window = NULL; + + +static GtkWidget * +plugingui_treeview_new (GtkWidget *box) +{ + GtkListStore *store; + GtkWidget *view; + GtkTreeViewColumn *col; + int col_id; + + store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_STRING); + g_return_val_if_fail (store != NULL, NULL); + view = gtkutil_treeview_new (box, GTK_TREE_MODEL (store), NULL, + NAME_COLUMN, _("Name"), + VERSION_COLUMN, _("Version"), + FILE_COLUMN, _("File"), + DESC_COLUMN, _("Description"), -1); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view), TRUE); + for (col_id=0; (col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), col_id)); + col_id++) + gtk_tree_view_column_set_alignment (col, 0.5); + + gtk_widget_show (view); + return view; +} + +static void +plugingui_close_button (GtkWidget * wid, gpointer a) +{ + gtk_widget_destroy (plugin_window); +} + +static void +plugingui_close (GtkWidget * wid, gpointer a) +{ + plugin_window = NULL; +} + +extern GSList *plugin_list; + +void +fe_pluginlist_update (void) +{ + xchat_plugin *pl; + GSList *list; + GtkTreeView *view; + GtkListStore *store; + GtkTreeIter iter; + + if (!plugin_window) + return; + + view = g_object_get_data (G_OBJECT (plugin_window), "view"); + store = GTK_LIST_STORE (gtk_tree_view_get_model (view)); + gtk_list_store_clear (store); + + list = plugin_list; + while (list) + { + pl = list->data; + if (pl->version[0] != 0) + { + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, NAME_COLUMN, pl->name, + VERSION_COLUMN, pl->version, + FILE_COLUMN, file_part (pl->filename), + DESC_COLUMN, pl->desc, -1); + } + list = list->next; + } +} + +static void +plugingui_load_cb (session *sess, char *file) +{ + if (file) + { + char *buf = malloc (strlen (file) + 9); + + if (strchr (file, ' ')) + sprintf (buf, "LOAD \"%s\"", file); + else + sprintf (buf, "LOAD %s", file); + handle_command (sess, buf, FALSE); + free (buf); + } +} + +void +plugingui_load (void) +{ + gtkutil_file_req (_("Select a Plugin or Script to load"), plugingui_load_cb, + current_sess, NULL, FRF_ADDFOLDER); +} + +static void +plugingui_loadbutton_cb (GtkWidget * wid, gpointer unused) +{ + plugingui_load (); +} + +static void +plugingui_unload (GtkWidget * wid, gpointer unused) +{ + int len; + char *modname, *file, *buf; + GtkTreeView *view; + GtkTreeIter iter; + + view = g_object_get_data (G_OBJECT (plugin_window), "view"); + if (!gtkutil_treeview_get_selected (view, &iter, NAME_COLUMN, &modname, + FILE_COLUMN, &file, -1)) + return; + + len = strlen (file); +#ifdef WIN32 + if (len > 4 && strcasecmp (file + len - 4, ".dll") == 0) +#else +#if defined(__hpux) + if (len > 3 && strcasecmp (file + len - 3, ".sl") == 0) +#else + if (len > 3 && strcasecmp (file + len - 3, ".so") == 0) +#endif +#endif + { + if (plugin_kill (modname, FALSE) == 2) + fe_message (_("That plugin is refusing to unload.\n"), FE_MSG_ERROR); + } else + { + /* let python.so or perl.so handle it */ + buf = malloc (strlen (file) + 10); + if (strchr (file, ' ')) + sprintf (buf, "UNLOAD \"%s\"", file); + else + sprintf (buf, "UNLOAD %s", file); + handle_command (current_sess, buf, FALSE); + free (buf); + } + + g_free (modname); + g_free (file); +} + +void +plugingui_open (void) +{ + GtkWidget *view; + GtkWidget *vbox, *action_area; + + if (plugin_window) + { + gtk_window_present (GTK_WINDOW (plugin_window)); + return; + } + + plugin_window = gtk_dialog_new (); + g_signal_connect (G_OBJECT (plugin_window), "destroy", + G_CALLBACK (plugingui_close), 0); + gtk_window_set_default_size (GTK_WINDOW (plugin_window), 500, 250); + vbox = GTK_DIALOG (plugin_window)->vbox; + action_area = GTK_DIALOG (plugin_window)->action_area; + gtk_container_set_border_width (GTK_CONTAINER (vbox), 4); + gtk_window_set_position (GTK_WINDOW (plugin_window), GTK_WIN_POS_CENTER); + gtk_window_set_title (GTK_WINDOW (plugin_window), _("XChat: Plugins and Scripts")); + + view = plugingui_treeview_new (vbox); + g_object_set_data (G_OBJECT (plugin_window), "view", view); + + gtkutil_button (action_area, GTK_STOCK_REVERT_TO_SAVED, NULL, + plugingui_loadbutton_cb, NULL, _("_Load...")); + + gtkutil_button (action_area, GTK_STOCK_DELETE, NULL, + plugingui_unload, NULL, _("_UnLoad")); + + gtkutil_button (action_area, + GTK_STOCK_CLOSE, NULL, plugingui_close_button, + NULL, _("_Close")); + + fe_pluginlist_update (); + + gtk_widget_show (plugin_window); +} diff --git a/src/fe-gtk/plugingui.h b/src/fe-gtk/plugingui.h new file mode 100644 index 00000000..945d9a01 --- /dev/null +++ b/src/fe-gtk/plugingui.h @@ -0,0 +1,2 @@ +void plugingui_open (void); +void plugingui_load (void); diff --git a/src/fe-gtk/rawlog.c b/src/fe-gtk/rawlog.c new file mode 100644 index 00000000..56ca0510 --- /dev/null +++ b/src/fe-gtk/rawlog.c @@ -0,0 +1,152 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <string.h> +#include <fcntl.h> +#include <unistd.h> +#include <stdlib.h> + +#include "fe-gtk.h" + +#include <gtk/gtkbutton.h> +#include <gtk/gtkhbbox.h> +#include <gtk/gtkhbox.h> +#include <gtk/gtkvscrollbar.h> +#include <gtk/gtkstock.h> + +#include "../common/xchat.h" +#include "../common/xchatc.h" +#include "../common/cfgfiles.h" +#include "../common/server.h" +#include "gtkutil.h" +#include "palette.h" +#include "maingui.h" +#include "rawlog.h" +#include "xtext.h" + + +static void +close_rawlog (GtkWidget *wid, server *serv) +{ + if (is_server (serv)) + serv->gui->rawlog_window = 0; +} + +static void +rawlog_save (server *serv, char *file) +{ + int fh = -1; + + if (file) + { + if (serv->gui->rawlog_window) + fh = xchat_open_file (file, O_TRUNC | O_WRONLY | O_CREAT, + 0600, XOF_DOMODE | XOF_FULLPATH); + if (fh != -1) + { + gtk_xtext_save (GTK_XTEXT (serv->gui->rawlog_textlist), fh); + close (fh); + } + } +} + +static int +rawlog_clearbutton (GtkWidget * wid, server *serv) +{ + gtk_xtext_clear (GTK_XTEXT (serv->gui->rawlog_textlist)->buffer, 0); + return FALSE; +} + +static int +rawlog_savebutton (GtkWidget * wid, server *serv) +{ + gtkutil_file_req (_("Save As..."), rawlog_save, serv, NULL, FRF_WRITE); + return FALSE; +} + +void +open_rawlog (struct server *serv) +{ + GtkWidget *hbox, *vscrollbar, *vbox; + char tbuf[256]; + + if (serv->gui->rawlog_window) + { + mg_bring_tofront (serv->gui->rawlog_window); + return; + } + + snprintf (tbuf, sizeof tbuf, _("XChat: Rawlog (%s)"), serv->servername); + serv->gui->rawlog_window = + mg_create_generic_tab ("RawLog", tbuf, FALSE, TRUE, close_rawlog, serv, + 640, 320, &vbox, serv); + + hbox = gtk_hbox_new (FALSE, 2); + gtk_container_add (GTK_CONTAINER (vbox), hbox); + gtk_container_set_border_width (GTK_CONTAINER (hbox), 4); + gtk_widget_show (hbox); + + serv->gui->rawlog_textlist = gtk_xtext_new (colors, 0); + gtk_xtext_set_tint (GTK_XTEXT (serv->gui->rawlog_textlist), prefs.tint_red, prefs.tint_green, prefs.tint_blue); + gtk_xtext_set_background (GTK_XTEXT (serv->gui->rawlog_textlist), + channelwin_pix, prefs.transparent); + + gtk_container_add (GTK_CONTAINER (hbox), serv->gui->rawlog_textlist); + gtk_xtext_set_font (GTK_XTEXT (serv->gui->rawlog_textlist), prefs.font_normal); + GTK_XTEXT (serv->gui->rawlog_textlist)->ignore_hidden = 1; + gtk_widget_show (serv->gui->rawlog_textlist); + + vscrollbar = gtk_vscrollbar_new (GTK_XTEXT (serv->gui->rawlog_textlist)->adj); + gtk_box_pack_start (GTK_BOX (hbox), vscrollbar, FALSE, FALSE, 0); + show_and_unfocus (vscrollbar); + + hbox = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_SPREAD); + gtk_box_pack_end (GTK_BOX (vbox), hbox, 0, 0, 0); + gtk_widget_show (hbox); + + gtkutil_button (hbox, GTK_STOCK_CLEAR, NULL, rawlog_clearbutton, + serv, _("Clear rawlog")); + + gtkutil_button (hbox, GTK_STOCK_SAVE_AS, NULL, rawlog_savebutton, + serv, _("Save As...")); + + gtk_widget_show (serv->gui->rawlog_window); +} + +void +fe_add_rawlog (server *serv, char *text, int len, int outbound) +{ + char *new_text; + + if (!serv->gui->rawlog_window) + return; + + new_text = malloc (len + 7); + + len = sprintf (new_text, "\0033>>\017 %s", text); + if (outbound) + { + new_text[1] = '4'; + new_text[2] = '<'; + new_text[3] = '<'; + } + gtk_xtext_append (GTK_XTEXT (serv->gui->rawlog_textlist)->buffer, new_text, len); + free (new_text); +} diff --git a/src/fe-gtk/rawlog.h b/src/fe-gtk/rawlog.h new file mode 100644 index 00000000..db41e2a7 --- /dev/null +++ b/src/fe-gtk/rawlog.h @@ -0,0 +1 @@ +void open_rawlog (server *serv); diff --git a/src/fe-gtk/search.c b/src/fe-gtk/search.c new file mode 100644 index 00000000..d62e79c7 --- /dev/null +++ b/src/fe-gtk/search.c @@ -0,0 +1,159 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +#include "fe-gtk.h" + +#include <gtk/gtkentry.h> +#include <gtk/gtkhbox.h> +#include <gtk/gtkvbox.h> +#include <gtk/gtklabel.h> +#include <gtk/gtkstock.h> +#include <gtk/gtkhbbox.h> +#include <gtk/gtkhseparator.h> +#include <gtk/gtkvseparator.h> +#include <gtk/gtkradiobutton.h> +#include <gtk/gtktogglebutton.h> +#include <gdk/gdkkeysyms.h> + +#include "../common/xchat.h" +#include "../common/fe.h" +#include "../common/util.h" +#include "../common/xchatc.h" +#include "gtkutil.h" +#include "xtext.h" +#include "maingui.h" + + +static textentry *last; /* our last search pos */ +static int case_match = 0; +static int search_backward = 0; + + +static void +search_search (session * sess, const gchar *text) +{ + if (!is_session (sess)) + { + fe_message (_("The window you opened this Search " + "for doesn't exist anymore."), FE_MSG_ERROR); + return; + } + + last = gtk_xtext_search (GTK_XTEXT (sess->gui->xtext), text, + last, case_match, search_backward); + if (!last) + fe_message (_("Search hit end, not found."), FE_MSG_ERROR); +} + +static void +search_find_cb (GtkWidget * button, session * sess) +{ + GtkEntry *entry; + const gchar *text; + + entry = g_object_get_data (G_OBJECT (button), "e"); + text = gtk_entry_get_text (entry); + search_search (sess, text); +} + +static void +search_close_cb (GtkWidget * button, GtkWidget * win) +{ + gtk_widget_destroy (win); +} + +static void +search_entry_cb (GtkWidget * entry, session * sess) +{ + search_search (sess, gtk_entry_get_text (GTK_ENTRY (entry))); +} + +static gboolean +search_key_cb (GtkWidget * window, GdkEventKey * key, gpointer userdata) +{ + if (key->keyval == GDK_Escape) + gtk_widget_destroy (window); + return FALSE; +} + +static void +search_caseign_cb (GtkToggleButton * but, session * sess) +{ + case_match = (but->active)? 1: 0; +} + +static void +search_dirbwd_cb (GtkToggleButton * but, session * sess) +{ + search_backward = (but->active)? 1: 0; +} + +void +search_open (session * sess) +{ + GtkWidget *win, *hbox, *vbox, *entry, *wid; + + last = NULL; + win = mg_create_generic_tab ("search", _("XChat: Search"), TRUE, FALSE, + NULL, NULL, 0, 0, &vbox, 0); + gtk_container_set_border_width (GTK_CONTAINER (win), 12); + gtk_box_set_spacing (GTK_BOX (vbox), 4); + + hbox = gtk_hbox_new (0, 10); + gtk_container_add (GTK_CONTAINER (vbox), hbox); + gtk_widget_show (hbox); + + gtkutil_label_new (_("Find:"), hbox); + + entry = gtk_entry_new (); + g_signal_connect (G_OBJECT (entry), "activate", + G_CALLBACK (search_entry_cb), sess); + gtk_container_add (GTK_CONTAINER (hbox), entry); + gtk_widget_show (entry); + gtk_widget_grab_focus (entry); + + wid = gtk_check_button_new_with_mnemonic (_("_Match case")); + GTK_TOGGLE_BUTTON (wid)->active = case_match; + g_signal_connect (G_OBJECT (wid), "toggled", G_CALLBACK (search_caseign_cb), sess); + gtk_container_add (GTK_CONTAINER (vbox), wid); + gtk_widget_show (wid); + + wid = gtk_check_button_new_with_mnemonic (_("Search _backwards")); + GTK_TOGGLE_BUTTON (wid)->active = search_backward; + g_signal_connect (G_OBJECT (wid), "toggled", G_CALLBACK (search_dirbwd_cb), sess); + gtk_container_add (GTK_CONTAINER (vbox), wid); + gtk_widget_show (wid); + + hbox = gtk_hbutton_box_new (); + gtk_box_pack_start (GTK_BOX (vbox), hbox, 0, 0, 4); + gtk_widget_show (hbox); + + gtkutil_button (hbox, GTK_STOCK_CLOSE, 0, search_close_cb, win, + _("_Close")); + wid = gtkutil_button (hbox, GTK_STOCK_FIND, 0, search_find_cb, sess, + _("_Find")); + g_object_set_data (G_OBJECT (wid), "e", entry); + + g_signal_connect (G_OBJECT (win), "key-press-event", G_CALLBACK (search_key_cb), win); + + gtk_widget_show (win); +} diff --git a/src/fe-gtk/search.h b/src/fe-gtk/search.h new file mode 100644 index 00000000..8fa1b628 --- /dev/null +++ b/src/fe-gtk/search.h @@ -0,0 +1 @@ +void search_open (session * sess); diff --git a/src/fe-gtk/servlistgui.c b/src/fe-gtk/servlistgui.c new file mode 100644 index 00000000..2ac0e6c9 --- /dev/null +++ b/src/fe-gtk/servlistgui.c @@ -0,0 +1,1918 @@ +/* X-Chat + * Copyright (C) 2004-2008 Peter Zelezny. + */ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include <ctype.h> + +#include <gtk/gtkversion.h> +#include <gtk/gtkcheckbutton.h> +#include <gtk/gtkcellrenderertext.h> +#include <gtk/gtkcomboboxentry.h> +#include <gtk/gtkentry.h> +#include <gtk/gtkhbox.h> +#include <gtk/gtkhbbox.h> +#include <gtk/gtkhseparator.h> +#include <gtk/gtkimage.h> +#include <gtk/gtklabel.h> +#include <gtk/gtkliststore.h> +#include <gtk/gtkmenuitem.h> +#include <gtk/gtkmessagedialog.h> +#include <gtk/gtkscrolledwindow.h> +#include <gtk/gtkstock.h> +#include <gtk/gtktable.h> +#include <gtk/gtktogglebutton.h> +#include <gtk/gtktree.h> +#include <gtk/gtktreeselection.h> +#include <gtk/gtktreeview.h> +#include <gtk/gtkvbbox.h> +#include <gtk/gtkvbox.h> +#include <gtk/gtkwindow.h> +#include <gdk/gdkkeysyms.h> + +#include "../common/xchat.h" +#include "../common/xchatc.h" +#include "../common/servlist.h" +#include "../common/cfgfiles.h" +#include "../common/fe.h" + +#include "fe-gtk.h" +#include "gtkutil.h" +#include "menu.h" +#include "pixmaps.h" + + +/* servlistgui.c globals */ +static GtkWidget *serverlist_win = NULL; +static GtkWidget *networks_tree; /* network TreeView */ +static int ignore_changed = FALSE; +#ifdef WIN32 +static int win_width = 324; +static int win_height = 426; +#else +static int win_width = 364; +static int win_height = 478; +#endif + +/* global user info */ +static GtkWidget *entry_nick1; +static GtkWidget *entry_nick2; +static GtkWidget *entry_nick3; +static GtkWidget *entry_guser; +static GtkWidget *entry_greal; + +/* edit area */ +static GtkWidget *edit_win; +static GtkWidget *edit_entry_nick; +static GtkWidget *edit_entry_nick2; +static GtkWidget *edit_entry_user; +static GtkWidget *edit_entry_real; +static GtkWidget *edit_entry_join; +static GtkWidget *edit_entry_pass; +static GtkWidget *edit_entry_cmd; +static GtkWidget *edit_entry_nickserv; +static GtkWidget *edit_label_nick; +static GtkWidget *edit_label_nick2; +static GtkWidget *edit_label_real; +static GtkWidget *edit_label_user; +static GtkWidget *edit_tree; + +static ircnet *selected_net = NULL; +static ircserver *selected_serv = NULL; +static ircnet *fav_add_net = NULL; /* used in Add/Remove fav context menus */ +static session *servlist_sess; + +static void servlist_network_row_cb (GtkTreeSelection *sel, gpointer user_data); +static GtkWidget *servlist_open_edit (GtkWidget *parent, ircnet *net); + + +static const char *pages[]= +{ + "UTF-8 (Unicode)", + "IRC (Latin/Unicode Hybrid)", + "ISO-8859-15 (Western Europe)", + "ISO-8859-2 (Central Europe)", + "ISO-8859-7 (Greek)", + "ISO-8859-8 (Hebrew)", + "ISO-8859-9 (Turkish)", + "ISO-2022-JP (Japanese)", + "SJIS (Japanese)", + "CP949 (Korean)", + "KOI8-R (Cyrillic)", + "CP1251 (Cyrillic)", + "CP1256 (Arabic)", + "CP1257 (Baltic)", + "GB18030 (Chinese)", + "TIS-620 (Thai)", + NULL +}; + +static void +servlist_select_and_show (GtkTreeView *treeview, GtkTreeIter *iter, + GtkListStore *store) +{ + GtkTreePath *path; + GtkTreeSelection *sel; + + sel = gtk_tree_view_get_selection (treeview); + + /* select this network */ + gtk_tree_selection_select_iter (sel, iter); + /* and make sure it's visible */ + path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), iter); + if (path) + { + gtk_tree_view_scroll_to_cell (treeview, path, NULL, TRUE, 0.5, 0.5); + gtk_tree_view_set_cursor (treeview, path, NULL, FALSE); + gtk_tree_path_free (path); + } +} + +static void +servlist_servers_populate (ircnet *net, GtkWidget *treeview) +{ + GtkListStore *store; + GtkTreeIter iter; + int i; + ircserver *serv; + GSList *list = net->servlist; + + store = (GtkListStore *)gtk_tree_view_get_model (GTK_TREE_VIEW (treeview)); + gtk_list_store_clear (store); + + i = 0; + while (list) + { + serv = list->data; + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, 0, serv->hostname, 1, 1, -1); + + if (net->selected == i) + /* select this server */ + servlist_select_and_show (GTK_TREE_VIEW (treeview), &iter, store); + + i++; + list = list->next; + } +} + +static void +servlist_networks_populate_ (GtkWidget *treeview, GSList *netlist, gboolean favorites) +{ + GtkListStore *store; + GtkTreeIter iter; + int i; + ircnet *net; + + if (!netlist) + { + net = servlist_net_add (_("New Network"), "", FALSE); + servlist_server_add (net, "newserver/6667"); + netlist = network_list; + } + store = (GtkListStore *)gtk_tree_view_get_model (GTK_TREE_VIEW (treeview)); + gtk_list_store_clear (store); + + i = 0; + while (netlist) + { + net = netlist->data; + if (!favorites || (net->flags & FLAG_FAVORITE)) + { + if (favorites) + gtk_list_store_insert_with_values (store, &iter, 0x7fffffff, 0, net->name, 1, 1, 2, 400, -1); + else + gtk_list_store_insert_with_values (store, &iter, 0x7fffffff, 0, net->name, 1, 1, 2, (net->flags & FLAG_FAVORITE) ? 800 : 400, -1); + if (i == prefs.slist_select) + { + /* select this network */ + servlist_select_and_show (GTK_TREE_VIEW (treeview), &iter, store); + selected_net = net; + } + } + i++; + netlist = netlist->next; + } +} + +static void +servlist_networks_populate (GtkWidget *treeview, GSList *netlist) +{ + servlist_networks_populate_ (treeview, netlist, prefs.slist_fav); +} + +static void +servlist_server_row_cb (GtkTreeSelection *sel, gpointer user_data) +{ + GtkTreeModel *model; + GtkTreeIter iter; + ircserver *serv; + char *servname; + int pos; + + if (!selected_net) + return; + + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + gtk_tree_model_get (model, &iter, 0, &servname, -1); + serv = servlist_server_find (selected_net, servname, &pos); + g_free (servname); + if (serv) + selected_net->selected = pos; + selected_serv = serv; + } +} + +static void +servlist_start_editing (GtkTreeView *tree) +{ + GtkTreeSelection *sel; + GtkTreeModel *model; + GtkTreeIter iter; + GtkTreePath *path; + + sel = gtk_tree_view_get_selection (tree); + + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + path = gtk_tree_model_get_path (GTK_TREE_MODEL (model), &iter); + if (path) + { + gtk_tree_view_set_cursor (tree, path, + gtk_tree_view_get_column (tree, 0), TRUE); + gtk_tree_path_free (path); + } + } +} + +static void +servlist_addserver_cb (GtkWidget *item, GtkWidget *treeview) +{ + GtkTreeIter iter; + GtkListStore *store; + + if (!selected_net) + return; + + store = (GtkListStore *)gtk_tree_view_get_model (GTK_TREE_VIEW (treeview)); + servlist_server_add (selected_net, "newserver/6667"); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, 0, "newserver/6667", 1, 1, -1); + + /* select this server */ + servlist_select_and_show (GTK_TREE_VIEW (treeview), &iter, store); + /*servlist_start_editing (GTK_TREE_VIEW (treeview));*/ + + servlist_server_row_cb (gtk_tree_view_get_selection (GTK_TREE_VIEW (networks_tree)), NULL); +} + +static void +servlist_addnet_cb (GtkWidget *item, GtkTreeView *treeview) +{ + GtkTreeIter iter; + GtkListStore *store; + ircnet *net; + + net = servlist_net_add (_("New Network"), "", TRUE); + net->encoding = strdup ("IRC (Latin/Unicode Hybrid)"); + servlist_server_add (net, "newserver/6667"); + + store = (GtkListStore *)gtk_tree_view_get_model (treeview); + gtk_list_store_prepend (store, &iter); + gtk_list_store_set (store, &iter, 0, net->name, 1, 1, -1); + + /* select this network */ + servlist_select_and_show (GTK_TREE_VIEW (networks_tree), &iter, store); + servlist_start_editing (GTK_TREE_VIEW (networks_tree)); + + servlist_network_row_cb (gtk_tree_view_get_selection (GTK_TREE_VIEW (networks_tree)), NULL); +} + +static void +servlist_deletenetwork (ircnet *net) +{ + GtkTreeSelection *sel; + GtkTreeModel *model; + GtkTreeIter iter; + + /* remove from GUI */ + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (networks_tree)); + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + gtk_list_store_remove (GTK_LIST_STORE (model), &iter); + + /* remove from list */ + servlist_net_remove (net); + + /* force something to be selected */ + gtk_tree_model_get_iter_first (model, &iter); + servlist_select_and_show (GTK_TREE_VIEW (networks_tree), &iter, + GTK_LIST_STORE (model)); + servlist_network_row_cb (sel, NULL); +} + +static void +servlist_deletenetdialog_cb (GtkDialog *dialog, gint arg1, ircnet *net) +{ + gtk_widget_destroy (GTK_WIDGET (dialog)); + if (arg1 == GTK_RESPONSE_OK) + servlist_deletenetwork (net); +} + +static void +servlist_move_server (ircserver *serv, int delta) +{ + int pos; + + pos = g_slist_index (selected_net->servlist, serv); + if (pos >= 0) + { + pos += delta; + if (pos >= 0) + { + selected_net->servlist = g_slist_remove (selected_net->servlist, serv); + selected_net->servlist = g_slist_insert (selected_net->servlist, serv, pos); + servlist_servers_populate (selected_net, edit_tree); + } + } +} + +static void +servlist_move_network (ircnet *net, int delta) +{ + int pos; + + pos = g_slist_index (network_list, net); + if (pos >= 0) + { + pos += delta; + if (pos >= 0) + { + /*prefs.slist_select += delta;*/ + network_list = g_slist_remove (network_list, net); + network_list = g_slist_insert (network_list, net, pos); + servlist_networks_populate (networks_tree, network_list); + } + } +} + +static gboolean +servlist_net_keypress_cb (GtkWidget *wid, GdkEventKey *evt, gpointer tree) +{ + if (!selected_net) + return FALSE; + + if (evt->state & GDK_SHIFT_MASK) + { + if (evt->keyval == GDK_Up) + { + servlist_move_network (selected_net, -1); + } + else if (evt->keyval == GDK_Down) + { + servlist_move_network (selected_net, +1); + } + } + + return FALSE; +} + +static gboolean +servlist_serv_keypress_cb (GtkWidget *wid, GdkEventKey *evt, gpointer userdata) +{ + if (!selected_net || !selected_serv) + return FALSE; + + if (evt->state & GDK_SHIFT_MASK) + { + if (evt->keyval == GDK_Up) + { + servlist_move_server (selected_serv, -1); + } + else if (evt->keyval == GDK_Down) + { + servlist_move_server (selected_serv, +1); + } + } + + return FALSE; +} + +static gint +servlist_compare (ircnet *net1, ircnet *net2) +{ + gchar *net1_casefolded, *net2_casefolded; + int result=0; + + net1_casefolded=g_utf8_casefold(net1->name,-1), + net2_casefolded=g_utf8_casefold(net2->name,-1), + + result=g_utf8_collate(net1_casefolded,net2_casefolded); + + g_free(net1_casefolded); + g_free(net2_casefolded); + + return result; + +} + +static void +servlist_sort (GtkWidget *button, gpointer none) +{ + network_list=g_slist_sort(network_list,(GCompareFunc)servlist_compare); + servlist_networks_populate (networks_tree, network_list); +} + +static gboolean +servlist_has_selection (GtkTreeView *tree) +{ + GtkTreeSelection *sel; + GtkTreeModel *model; + GtkTreeIter iter; + + /* make sure something is selected */ + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree)); + return gtk_tree_selection_get_selected (sel, &model, &iter); +} + +static void +servlist_favor (GtkWidget *button, gpointer none) +{ + GtkTreeSelection *sel; + GtkTreeModel *model; + GtkTreeIter iter; + + if (!selected_net) + return; + + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (networks_tree)); + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + if (selected_net->flags & FLAG_FAVORITE) + { + gtk_list_store_set (GTK_LIST_STORE (model), &iter, 2, 400, -1); + selected_net->flags &= ~FLAG_FAVORITE; + } + else + { + gtk_list_store_set (GTK_LIST_STORE (model), &iter, 2, 800, -1); + selected_net->flags |= FLAG_FAVORITE; + } + } +} + +static void +servlist_update_from_entry (char **str, GtkWidget *entry) +{ + if (*str) + free (*str); + + if (GTK_ENTRY (entry)->text[0] == 0) + *str = NULL; + else + *str = strdup (GTK_ENTRY (entry)->text); +} + +static void +servlist_edit_update (ircnet *net) +{ + servlist_update_from_entry (&net->nick, edit_entry_nick); + servlist_update_from_entry (&net->nick2, edit_entry_nick2); + servlist_update_from_entry (&net->user, edit_entry_user); + servlist_update_from_entry (&net->real, edit_entry_real); + + servlist_update_from_entry (&net->autojoin, edit_entry_join); + servlist_update_from_entry (&net->command, edit_entry_cmd); + servlist_update_from_entry (&net->nickserv, edit_entry_nickserv); + servlist_update_from_entry (&net->pass, edit_entry_pass); +} + +static void +servlist_edit_close_cb (GtkWidget *button, gpointer userdata) +{ + if (selected_net) + servlist_edit_update (selected_net); + + gtk_widget_destroy (edit_win); + edit_win = NULL; +} + +static gint +servlist_editwin_delete_cb (GtkWidget *win, GdkEventAny *event, gpointer none) +{ + servlist_edit_close_cb (NULL, NULL); + return FALSE; +} + +static gboolean +servlist_configure_cb (GtkWindow *win, GdkEventConfigure *event, gpointer none) +{ + /* remember the window size */ + gtk_window_get_size (win, &win_width, &win_height); + return FALSE; +} + +static void +servlist_edit_cb (GtkWidget *but, gpointer none) +{ + if (!servlist_has_selection (GTK_TREE_VIEW (networks_tree))) + return; + + edit_win = servlist_open_edit (serverlist_win, selected_net); + gtkutil_set_icon (edit_win); + servlist_servers_populate (selected_net, edit_tree); + g_signal_connect (G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (edit_tree))), + "changed", G_CALLBACK (servlist_server_row_cb), NULL); + g_signal_connect (G_OBJECT (edit_win), "delete_event", + G_CALLBACK (servlist_editwin_delete_cb), 0); + g_signal_connect (G_OBJECT (edit_tree), "key_press_event", + G_CALLBACK (servlist_serv_keypress_cb), 0); + gtk_widget_show (edit_win); +} + +static void +servlist_deletenet_cb (GtkWidget *item, ircnet *net) +{ + GtkWidget *dialog; + + if (!servlist_has_selection (GTK_TREE_VIEW (networks_tree))) + return; + + net = selected_net; + if (!net) + return; + dialog = gtk_message_dialog_new (GTK_WINDOW (serverlist_win), + GTK_DIALOG_DESTROY_WITH_PARENT | + GTK_DIALOG_MODAL, + GTK_MESSAGE_QUESTION, + GTK_BUTTONS_OK_CANCEL, + _("Really remove network \"%s\" and all its servers?"), + net->name); + g_signal_connect (dialog, "response", + G_CALLBACK (servlist_deletenetdialog_cb), net); + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); + gtk_widget_show (dialog); +} + +static void +servlist_deleteserver (ircserver *serv, GtkTreeModel *model) +{ + GtkTreeSelection *sel; + GtkTreeIter iter; + + /* don't remove the last server */ + if (selected_net && g_slist_length (selected_net->servlist) < 2) + return; + + /* remove from GUI */ + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (edit_tree)); + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + gtk_list_store_remove (GTK_LIST_STORE (model), &iter); + + /* remove from list */ + if (selected_net) + servlist_server_remove (selected_net, serv); +} + +static void +servlist_editserverbutton_cb (GtkWidget *item, gpointer none) +{ + servlist_start_editing (GTK_TREE_VIEW (edit_tree)); +} + +static void +servlist_deleteserver_cb (GtkWidget *item, gpointer none) +{ + GtkTreeSelection *sel; + GtkTreeModel *model; + GtkTreeIter iter; + char *servname; + ircserver *serv; + int pos; + + /* find the selected item in the GUI */ + model = gtk_tree_view_get_model (GTK_TREE_VIEW (edit_tree)); + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (edit_tree)); + + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + gtk_tree_model_get (model, &iter, 0, &servname, -1); + serv = servlist_server_find (selected_net, servname, &pos); + g_free (servname); + if (serv) + servlist_deleteserver (serv, model); + } +} + +static ircnet * +servlist_find_selected_net (GtkTreeSelection *sel) +{ + GtkTreeModel *model; + GtkTreeIter iter; + char *netname; + int pos; + ircnet *net = NULL; + + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + gtk_tree_model_get (model, &iter, 0, &netname, -1); + net = servlist_net_find (netname, &pos, strcmp); + g_free (netname); + if (net) + prefs.slist_select = pos; + } + + return net; +} + +static void +servlist_network_row_cb (GtkTreeSelection *sel, gpointer user_data) +{ + ircnet *net; + + selected_net = NULL; + + net = servlist_find_selected_net (sel); + if (net) + selected_net = net; +} + +static int +servlist_savegui (void) +{ + char *sp; + + /* check for blank username, ircd will not allow this */ + if (GTK_ENTRY (entry_guser)->text[0] == 0) + return 1; + + if (GTK_ENTRY (entry_greal)->text[0] == 0) + return 1; + + strcpy (prefs.nick1, GTK_ENTRY (entry_nick1)->text); + strcpy (prefs.nick2, GTK_ENTRY (entry_nick2)->text); + strcpy (prefs.nick3, GTK_ENTRY (entry_nick3)->text); + strcpy (prefs.username, GTK_ENTRY (entry_guser)->text); + sp = strchr (prefs.username, ' '); + if (sp) + sp[0] = 0; /* spaces will break the login */ + strcpy (prefs.realname, GTK_ENTRY (entry_greal)->text); + servlist_save (); + + return 0; +} + +static gboolean +servlist_get_iter_from_name (GtkTreeModel *model, gchar *name, GtkTreeIter *iter) +{ + GtkTreePath *path = gtk_tree_path_new_from_string (name); + + if (!gtk_tree_model_get_iter (model, iter, path)) + { + gtk_tree_path_free (path); + return FALSE; + } + + gtk_tree_path_free (path); + return TRUE; +} + +static void +servlist_editchannel_cb (GtkCellRendererText *cell, gchar *name, gchar *newval, GtkTreeModel *model) +{ + GtkTreeIter iter; + static int loop_guard = FALSE; + + if (loop_guard) + return; + + if (!servlist_get_iter_from_name (model, name, &iter)) + return; + + loop_guard = TRUE; + /* delete empty item */ + if (newval[0] == 0) + gtk_list_store_remove (GTK_LIST_STORE (model), &iter); + else + gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, newval, -1); + loop_guard = FALSE; +} + +static void +servlist_editkey_cb (GtkCellRendererText *cell, gchar *name, gchar *newval, GtkTreeModel *model) +{ + GtkTreeIter iter; + + if (!servlist_get_iter_from_name (model, name, &iter)) + return; + + gtk_list_store_set (GTK_LIST_STORE (model), &iter, 1, newval, -1); +} + +static void +servlist_addchannel (GtkWidget *tree, char *channel) +{ + GtkTreeIter iter; + GtkListStore *store; + + store = (GtkListStore *)gtk_tree_view_get_model (GTK_TREE_VIEW (tree)); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, 0, channel, 1, "", 2, TRUE, -1); + + /* select this server */ + servlist_select_and_show (GTK_TREE_VIEW (tree), &iter, store); + servlist_start_editing (GTK_TREE_VIEW (tree)); +} + +static void +servlist_addchannel_cb (GtkWidget *item, GtkWidget *tree) +{ + servlist_addchannel (tree, _("#channel")); +} + +static void +servlist_deletechannel_cb (GtkWidget *item, GtkWidget *tree) +{ + GtkTreeSelection *sel; + GtkTreeModel *model; + GtkTreeIter iter; + + /* find the selected item in the GUI */ + model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree)); + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree)); + + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + gtk_list_store_remove (GTK_LIST_STORE (model), &iter); +} + +static void +servlist_editchannelbutton_cb (GtkWidget *item, GtkWidget *tree) +{ + servlist_start_editing (GTK_TREE_VIEW (tree)); +} + +/* save everything from the GUI to the GtkEntry */ + +static void +servlist_autojoineditok_cb (GtkWidget *button, GtkWidget *tree) +{ + GtkTreeModel *model; + GtkTreeIter iter; + char *channel, *key; + char *autojoin; + GSList *channels = NULL, *keys = NULL; + + model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree)); + + if (gtk_tree_model_get_iter_first (model, &iter)) + { + do + { + gtk_tree_model_get (model, &iter, 0, &channel, 1, &key, -1); + channels = g_slist_append (channels, channel); + if (key && key[0] == 0) + { + /* NULL out empty keys */ + g_free (key); + keys = g_slist_append (keys, NULL); + } + else + keys = g_slist_append (keys, key); + } + while (gtk_tree_model_iter_next (model, &iter)); + } + + gtk_widget_destroy (gtk_widget_get_toplevel (button)); + + autojoin = joinlist_merge (channels, keys); + if (autojoin) + { + if (edit_win && selected_net) + gtk_entry_set_text (GTK_ENTRY (edit_entry_join), autojoin); + else + { + if (fav_add_net->autojoin) + free (fav_add_net->autojoin); + fav_add_net->autojoin = strdup (autojoin); + } + g_free (autojoin); + } + + /* this does g_free too */ + joinlist_free (channels, keys); + + if (fav_add_net) + servlist_save (); +} + +void +servlist_autojoinedit (ircnet *net, char *channel, gboolean add) +{ + GtkWidget *win; + GtkWidget *scrolledwindow; + GtkTreeModel *model; + GtkListStore *store; + GtkCellRenderer *renderer; + GtkWidget *tree; + GtkWidget *table; + GtkWidget *label; + GtkWidget *label2; + GtkWidget *bbox; + GtkWidget *wid; + + GtkWidget *vbuttonbox1; + GtkWidget *buttonadd; + GtkWidget *buttonremove; + GtkWidget *buttonedit; + + char buf[128]; + char lab[128]; + GSList *channels, *keys; + GSList *clist, *klist; + GtkTreeIter iter; + + if (edit_win && selected_net) + /* update net->autojoin */ + servlist_edit_update (selected_net); + + win = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_container_set_border_width (GTK_CONTAINER (win), 4); + gtk_window_set_title (GTK_WINDOW (win), _("XChat: Favorite Channels (Auto-Join List)")); + gtk_window_set_default_size (GTK_WINDOW (win), 354, 256); + gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_MOUSE); + if (edit_win) + gtk_window_set_transient_for (GTK_WINDOW (win), GTK_WINDOW (edit_win)); + gtk_window_set_modal (GTK_WINDOW (win), TRUE); + gtk_window_set_type_hint (GTK_WINDOW (win), GDK_WINDOW_TYPE_HINT_DIALOG); + gtk_window_set_role (GTK_WINDOW (win), "editserv"); + + table = gtk_table_new (1, 1, FALSE); + gtk_container_add (GTK_CONTAINER (win), table); + gtk_widget_show (table); + + snprintf (buf, sizeof (buf), _("These channels will be joined whenever you connect to %s."), net->name); + label = gtk_label_new (buf); + gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_CENTER); + gtk_table_attach (GTK_TABLE (table), label, 0, 2, 0, 1, GTK_FILL|GTK_EXPAND, GTK_FILL, 3, 3); + gtk_widget_show (label); + + label2 = gtk_label_new (""); + gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_CENTER); + gtk_table_attach (GTK_TABLE (table), label2, 0, 2, 1, 2, GTK_FILL, 0, 3, 3); + gtk_widget_show (label2); + + scrolledwindow = gtk_scrolled_window_new (NULL, NULL); + gtk_table_attach (GTK_TABLE (table), scrolledwindow, 0, 1, 2, 3, GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, 0, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow), + GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow), + GTK_SHADOW_IN); + gtk_widget_show (scrolledwindow); + + store = gtk_list_store_new (3, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN); + model = GTK_TREE_MODEL (store); + + tree = gtk_tree_view_new_with_model (model); + g_object_unref (model); + gtk_container_add (GTK_CONTAINER (scrolledwindow), tree); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (tree), TRUE); + gtk_widget_show (tree); + + renderer = gtk_cell_renderer_text_new (); + g_signal_connect (G_OBJECT (renderer), "edited", + G_CALLBACK (servlist_editchannel_cb), model); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (tree), -1, + _("Channel"), renderer, + "text", 0, + "editable", 2, + NULL); + + renderer = gtk_cell_renderer_text_new (); + g_signal_connect (G_OBJECT (renderer), "edited", + G_CALLBACK (servlist_editkey_cb), model); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (tree), -1, + _("Key (Password)"), renderer, + "text", 1, + "editable", 2, + NULL); + + gtk_tree_view_column_set_expand (gtk_tree_view_get_column (GTK_TREE_VIEW (tree), 0), TRUE); + gtk_tree_view_column_set_expand (gtk_tree_view_get_column (GTK_TREE_VIEW (tree), 1), TRUE); + + gtk_tree_sortable_set_sort_column_id ((GtkTreeSortable *)model, 0, GTK_SORT_ASCENDING); + + /* ===BUTTONS=== */ + vbuttonbox1 = gtk_vbutton_box_new (); + gtk_box_set_spacing (GTK_BOX (vbuttonbox1), 3); + gtk_button_box_set_layout (GTK_BUTTON_BOX (vbuttonbox1), GTK_BUTTONBOX_START); + gtk_widget_show (vbuttonbox1); + gtk_table_attach (GTK_TABLE (table), vbuttonbox1, 1, 2, 2, 3, GTK_FILL, GTK_FILL, 3, 0); + + buttonadd = gtk_button_new_from_stock ("gtk-add"); + g_signal_connect (G_OBJECT (buttonadd), "clicked", + G_CALLBACK (servlist_addchannel_cb), tree); + gtk_widget_show (buttonadd); + gtk_container_add (GTK_CONTAINER (vbuttonbox1), buttonadd); + GTK_WIDGET_SET_FLAGS (buttonadd, GTK_CAN_DEFAULT); + + buttonremove = gtk_button_new_from_stock ("gtk-remove"); + g_signal_connect (G_OBJECT (buttonremove), "clicked", + G_CALLBACK (servlist_deletechannel_cb), tree); + gtk_widget_show (buttonremove); + gtk_container_add (GTK_CONTAINER (vbuttonbox1), buttonremove); + GTK_WIDGET_SET_FLAGS (buttonremove, GTK_CAN_DEFAULT); + + buttonedit = gtk_button_new_with_mnemonic (_("_Edit")); + g_signal_connect (G_OBJECT (buttonedit), "clicked", + G_CALLBACK (servlist_editchannelbutton_cb), tree); + gtk_widget_show (buttonedit); + gtk_container_add (GTK_CONTAINER (vbuttonbox1), buttonedit); + GTK_WIDGET_SET_FLAGS (buttonedit, GTK_CAN_DEFAULT); + + bbox = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END); + gtk_box_set_spacing (GTK_BOX (bbox), 4); + gtk_table_attach (GTK_TABLE (table), bbox, 0, 1, 3, 4, GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 4); + gtk_widget_show (bbox); + + wid = gtk_button_new_from_stock (GTK_STOCK_CANCEL); + g_signal_connect (G_OBJECT (wid), "clicked", G_CALLBACK (gtkutil_destroy), win); + gtk_container_add (GTK_CONTAINER (bbox), wid); + gtk_widget_show (wid); + + wid = gtk_button_new_from_stock (GTK_STOCK_OK); + g_signal_connect (G_OBJECT (wid), "clicked", G_CALLBACK (servlist_autojoineditok_cb), tree); + gtk_container_add (GTK_CONTAINER (bbox), wid); + gtk_widget_show (wid); + gtk_widget_grab_focus (wid); + /* =========== */ + + if (net->autojoin) + { + joinlist_split (net->autojoin, &channels, &keys); + + clist = channels; + klist = keys; + + while (clist) + { + if (channel && !add && !rfc_casecmp (channel, clist->data)) + { + snprintf (buf, sizeof (buf), _("%s has been removed."), channel); + snprintf (lab, sizeof (lab), "<span foreground=\"#2222DD\">%s</span>", buf); + gtk_label_set_markup (GTK_LABEL (label2), lab); + } + else + { + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, 0, clist->data, 1, klist->data, 2, TRUE, -1); + } + + klist = klist->next; + clist = clist->next; + } + + joinlist_free (channels, keys); + } + + if (channel && add) + { + servlist_addchannel (tree, channel); + snprintf (buf, sizeof (buf), _("%s has been added."), channel); + snprintf (lab, sizeof (lab), "<span foreground=\"#2222DD\">%s</span>", buf); + gtk_label_set_markup (GTK_LABEL (label2), lab); + } + + fav_add_net = net; + + gtk_widget_show (win); +} + +static void +servlist_autojoinedit_cb (GtkWidget *button, ircnet *net) +{ + servlist_autojoinedit (net, NULL, FALSE); +} + +static void +servlist_connect_cb (GtkWidget *button, gpointer userdata) +{ + if (!selected_net) + return; + + if (servlist_savegui () != 0) + { + fe_message (_("User name and Real name cannot be left blank."), FE_MSG_ERROR); + return; + } + + if (!is_session (servlist_sess)) + servlist_sess = NULL; /* open a new one */ + + { + GSList *list; + session *sess; + session *chosen = servlist_sess; + + servlist_sess = NULL; /* open a new one */ + + for (list = sess_list; list; list = list->next) + { + sess = list->data; + if (sess->server->network == selected_net) + { + servlist_sess = sess; + if (sess->server->connected) + servlist_sess = NULL; /* open a new one */ + break; + } + } + + /* use the chosen one, if it's empty */ + if (!servlist_sess && + chosen && + !chosen->server->connected && + chosen->server->server_session->channel[0] == 0) + { + servlist_sess = chosen; + } + } + + servlist_connect (servlist_sess, selected_net, TRUE); + + gtk_widget_destroy (serverlist_win); + serverlist_win = NULL; + selected_net = NULL; +} + +static void +servlist_celledit_cb (GtkCellRendererText *cell, gchar *arg1, gchar *arg2, + gpointer user_data) +{ + GtkTreeModel *model = (GtkTreeModel *)user_data; + GtkTreeIter iter; + GtkTreePath *path; + char *netname; + ircnet *net; + + if (!arg1 || !arg2) + return; + + path = gtk_tree_path_new_from_string (arg1); + if (!path) + return; + + if (!gtk_tree_model_get_iter (model, &iter, path)) + { + gtk_tree_path_free (path); + return; + } + gtk_tree_model_get (model, &iter, 0, &netname, -1); + + net = servlist_net_find (netname, NULL, strcmp); + g_free (netname); + if (net) + { + /* delete empty item */ + if (arg2[0] == 0) + { + servlist_deletenetwork (net); + gtk_tree_path_free (path); + return; + } + + netname = net->name; + net->name = strdup (arg2); + gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, net->name, -1); + free (netname); + } + + gtk_tree_path_free (path); +} + +static void +servlist_check_cb (GtkWidget *but, gpointer num_p) +{ + int num = GPOINTER_TO_INT (num_p); + + if (!selected_net) + return; + + if ((1 << num) == FLAG_CYCLE || (1 << num) == FLAG_USE_PROXY) + { + /* these ones are reversed, so it's compat with 2.0.x */ + if (GTK_TOGGLE_BUTTON (but)->active) + selected_net->flags &= ~(1 << num); + else + selected_net->flags |= (1 << num); + } else + { + if (GTK_TOGGLE_BUTTON (but)->active) + selected_net->flags |= (1 << num); + else + selected_net->flags &= ~(1 << num); + } + + if ((1 << num) == FLAG_USE_GLOBAL) + { + if (GTK_TOGGLE_BUTTON (but)->active) + { + gtk_widget_hide (edit_label_nick); + gtk_widget_hide (edit_entry_nick); + + gtk_widget_hide (edit_label_nick2); + gtk_widget_hide (edit_entry_nick2); + + gtk_widget_hide (edit_label_user); + gtk_widget_hide (edit_entry_user); + + gtk_widget_hide (edit_label_real); + gtk_widget_hide (edit_entry_real); + } else + { + gtk_widget_show (edit_label_nick); + gtk_widget_show (edit_entry_nick); + + gtk_widget_show (edit_label_nick2); + gtk_widget_show (edit_entry_nick2); + + gtk_widget_show (edit_label_user); + gtk_widget_show (edit_entry_user); + + gtk_widget_show (edit_label_real); + gtk_widget_show (edit_entry_real); + } + } +} + +static GtkWidget * +servlist_create_check (int num, int state, GtkWidget *table, int row, int col, char *labeltext) +{ + GtkWidget *but; + + but = gtk_check_button_new_with_label (labeltext); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (but), state); + g_signal_connect (G_OBJECT (but), "toggled", + G_CALLBACK (servlist_check_cb), GINT_TO_POINTER (num)); + gtk_table_attach (GTK_TABLE (table), but, col, col+2, row, row+1, + GTK_FILL|GTK_EXPAND, 0, 0, 0); + gtk_widget_show (but); + + return but; +} + +static GtkWidget * +servlist_create_entry (GtkWidget *table, char *labeltext, int row, + char *def, GtkWidget **label_ret, char *tip) +{ + GtkWidget *label, *entry; + + label = gtk_label_new_with_mnemonic (labeltext); + if (label_ret) + *label_ret = label; + gtk_widget_show (label); + gtk_table_attach (GTK_TABLE (table), label, 1, 2, row, row+1, + GTK_FILL, 0, 0, 0); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + + entry = gtk_entry_new (); + add_tip (entry, tip); + gtk_widget_show (entry); + gtk_entry_set_text (GTK_ENTRY (entry), def ? def : ""); + gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry); + + if (row == 15) /* for "Channels to Join:" */ + { + GtkWidget *button, *box; + + box = gtk_hbox_new (0, 0); + button = gtk_button_new_with_label ("..."); + g_signal_connect (G_OBJECT (button), "clicked", + G_CALLBACK (servlist_autojoinedit_cb), selected_net); + + gtk_box_pack_start (GTK_BOX (box), entry, TRUE, TRUE, 0); + gtk_box_pack_end (GTK_BOX (box), button, 0, 0, 0); + gtk_widget_show_all (box); + + gtk_table_attach (GTK_TABLE (table), box, 2, 3, row, row+1, + GTK_FILL|GTK_EXPAND, 0, 0, 0); + } + else + { + gtk_table_attach (GTK_TABLE (table), entry, 2, 3, row, row+1, + GTK_FILL|GTK_EXPAND, 0, 0, 0); + } + + return entry; +} + +static gint +servlist_delete_cb (GtkWidget *win, GdkEventAny *event, gpointer userdata) +{ + servlist_savegui (); + serverlist_win = NULL; + selected_net = NULL; + + if (sess_list == NULL) + xchat_exit (); + + return FALSE; +} + +static void +servlist_close_cb (GtkWidget *button, gpointer userdata) +{ + servlist_savegui (); + gtk_widget_destroy (serverlist_win); + serverlist_win = NULL; + selected_net = NULL; + + if (sess_list == NULL) + xchat_exit (); +} + +/* convert "host:port" format to "host/port" */ + +static char * +servlist_sanitize_hostname (char *host) +{ + char *ret, *c, *e; + + ret = strdup (host); + + c = strchr (ret, ':'); + e = strrchr (ret, ':'); + + /* if only one colon exists it's probably not IPv6 */ + if (c && c == e) + *c = '/'; + + return ret; +} + +static void +servlist_editserver_cb (GtkCellRendererText *cell, gchar *arg1, gchar *arg2, + gpointer user_data) +{ + GtkTreeModel *model = (GtkTreeModel *)user_data; + GtkTreeIter iter; + GtkTreePath *path; + char *servname; + ircserver *serv; + + if (!selected_net) + return; + + path = gtk_tree_path_new_from_string (arg1); + + if (!gtk_tree_model_get_iter (model, &iter, path)) + { + gtk_tree_path_free (path); + return; + } + + gtk_tree_model_get (model, &iter, 0, &servname, -1); + serv = servlist_server_find (selected_net, servname, NULL); + g_free (servname); + + if (serv) + { + /* delete empty item */ + if (arg2[0] == 0) + { + servlist_deleteserver (serv, model); + gtk_tree_path_free (path); + return; + } + + servname = serv->hostname; + serv->hostname = servlist_sanitize_hostname (arg2); + gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, serv->hostname, -1); + free (servname); + } + + gtk_tree_path_free (path); +} + +static void +servlist_combo_cb (GtkEntry *entry, gpointer userdata) +{ + if (!selected_net) + return; + + if (!ignore_changed) + { + if (selected_net->encoding) + free (selected_net->encoding); + selected_net->encoding = strdup (entry->text); + } +} + +static GtkWidget * +servlist_create_charsetcombo (void) +{ + GtkWidget *cb; + int i; + + cb = gtk_combo_box_entry_new_text (); + gtk_combo_box_append_text (GTK_COMBO_BOX (cb), "System default"); + i = 0; + while (pages[i]) + { + gtk_combo_box_append_text (GTK_COMBO_BOX (cb), (char *)pages[i]); + i++; + } + g_signal_connect (G_OBJECT (GTK_BIN (cb)->child), "changed", + G_CALLBACK (servlist_combo_cb), NULL); + + return cb; +} + +static void +no_servlist (GtkWidget * igad, gpointer serv) +{ + if (GTK_TOGGLE_BUTTON (igad)->active) + prefs.slist_skip = TRUE; + else + prefs.slist_skip = FALSE; +} + +static void +fav_servlist (GtkWidget * igad, gpointer serv) +{ + if (GTK_TOGGLE_BUTTON (igad)->active) + prefs.slist_fav = TRUE; + else + prefs.slist_fav = FALSE; + + servlist_networks_populate (networks_tree, network_list); +} + +static GtkWidget * +bold_label (char *text) +{ + char buf[128]; + GtkWidget *label; + + snprintf (buf, sizeof (buf), "<b>%s</b>", text); + label = gtk_label_new (buf); + gtk_label_set_use_markup (GTK_LABEL (label), TRUE); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + gtk_widget_show (label); + + return label; +} + +static GtkWidget * +servlist_open_edit (GtkWidget *parent, ircnet *net) +{ + GtkWidget *editwindow; + GtkWidget *vbox5; + GtkWidget *table3; + GtkWidget *label17; + GtkWidget *label16; + GtkWidget *label21; + GtkWidget *label34; + GtkWidget *comboboxentry_charset; + GtkWidget *hbox1; + GtkWidget *scrolledwindow2; + GtkWidget *treeview_servers; + GtkWidget *vbuttonbox1; + GtkWidget *buttonadd; + GtkWidget *buttonremove; + GtkWidget *buttonedit; + GtkWidget *hseparator2; + GtkWidget *hbuttonbox4; + GtkWidget *button10; + GtkWidget *check; + GtkTreeModel *model; + GtkListStore *store; + GtkCellRenderer *renderer; + char buf[128]; + char buf2[128 + 8]; + + editwindow = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_container_set_border_width (GTK_CONTAINER (editwindow), 4); + snprintf (buf, sizeof (buf), _("XChat: Edit %s"), net->name); + gtk_window_set_title (GTK_WINDOW (editwindow), buf); + gtk_window_set_default_size (GTK_WINDOW (editwindow), 354, 0); + gtk_window_set_position (GTK_WINDOW (editwindow), GTK_WIN_POS_MOUSE); + gtk_window_set_transient_for (GTK_WINDOW (editwindow), GTK_WINDOW (parent)); + gtk_window_set_modal (GTK_WINDOW (editwindow), TRUE); + gtk_window_set_type_hint (GTK_WINDOW (editwindow), GDK_WINDOW_TYPE_HINT_DIALOG); + gtk_window_set_role (GTK_WINDOW (editwindow), "editserv"); + + vbox5 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox5); + gtk_container_add (GTK_CONTAINER (editwindow), vbox5); + + table3 = gtk_table_new (17, 3, FALSE); + gtk_widget_show (table3); + gtk_box_pack_start (GTK_BOX (vbox5), table3, TRUE, TRUE, 0); + gtk_table_set_row_spacings (GTK_TABLE (table3), 2); + gtk_table_set_col_spacings (GTK_TABLE (table3), 8); + + snprintf (buf, sizeof (buf), _("Servers for %s"), net->name); + snprintf (buf2, sizeof (buf2), "<b>%s</b>", buf); + label16 = gtk_label_new (buf2); + gtk_widget_show (label16); + gtk_table_attach (GTK_TABLE (table3), label16, 0, 3, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 3); + gtk_label_set_use_markup (GTK_LABEL (label16), TRUE); + gtk_misc_set_alignment (GTK_MISC (label16), 0, 0.5); + + check = servlist_create_check (0, !(net->flags & FLAG_CYCLE), table3, + 2, 1, _("Connect to selected server only")); + add_tip (check, _("Don't cycle through all the servers when the connection fails.")); + + label17 = bold_label (_("Your Details")); + gtk_table_attach (GTK_TABLE (table3), label17, 0, 3, 3, 4, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 3); + + servlist_create_check (1, net->flags & FLAG_USE_GLOBAL, table3, + 4, 1, _("Use global user information")); + + edit_entry_nick = + servlist_create_entry (table3, _("_Nick name:"), 5, net->nick, + &edit_label_nick, 0); + + edit_entry_nick2 = + servlist_create_entry (table3, _("Second choice:"), 6, net->nick2, + &edit_label_nick2, 0); + + edit_entry_user = + servlist_create_entry (table3, _("_User name:"), 7, net->user, + &edit_label_user, 0); + + edit_entry_real = + servlist_create_entry (table3, _("Rea_l name:"), 8, net->real, + &edit_label_real, 0); + + label21 = bold_label (_("Connecting")); + gtk_table_attach (GTK_TABLE (table3), label21, 0, 3, 9, 10, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 3); + + servlist_create_check (3, net->flags & FLAG_AUTO_CONNECT, table3, + 11, 1, _("Auto connect to this network at startup")); + servlist_create_check (4, !(net->flags & FLAG_USE_PROXY), table3, + 12, 1, _("Bypass proxy server")); + check = servlist_create_check (2, net->flags & FLAG_USE_SSL, table3, + 13, 1, _("Use SSL for all the servers on this network")); +#ifndef USE_OPENSSL + gtk_widget_set_sensitive (check, FALSE); +#endif + check = servlist_create_check (5, net->flags & FLAG_ALLOW_INVALID, table3, + 14, 1, _("Accept invalid SSL certificate")); +#ifndef USE_OPENSSL + gtk_widget_set_sensitive (check, FALSE); +#endif + + edit_entry_join = + servlist_create_entry (table3, _("_Favorite channels:"), 15, + net->autojoin, 0, + _("Channels to join, separated by commas, but not spaces!")); + + edit_entry_cmd = + servlist_create_entry (table3, _("Connect command:"), 16, + net->command, 0, + _("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.")); + + edit_entry_nickserv = + servlist_create_entry (table3, _("Nickserv password:"), 17, + net->nickserv, 0, + _("If your nickname requires a password, enter it here. Not all IRC networks support this.")); + gtk_entry_set_visibility (GTK_ENTRY (edit_entry_nickserv), FALSE); + + edit_entry_pass = + servlist_create_entry (table3, _("Server password:"), 18, + net->pass, 0, + _("Password for the server, if in doubt, leave blank.")); + gtk_entry_set_visibility (GTK_ENTRY (edit_entry_pass), FALSE); + + label34 = gtk_label_new (_("Character set:")); + gtk_widget_show (label34); + gtk_table_attach (GTK_TABLE (table3), label34, 1, 2, 19, 20, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label34), 0, 0.5); + + comboboxentry_charset = servlist_create_charsetcombo (); + ignore_changed = TRUE; + gtk_entry_set_text (GTK_ENTRY (GTK_BIN (comboboxentry_charset)->child), net->encoding ? net->encoding : "System default"); + ignore_changed = FALSE; + gtk_widget_show (comboboxentry_charset); + gtk_table_attach (GTK_TABLE (table3), comboboxentry_charset, 2, 3, 19, 20, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + + hbox1 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox1); + gtk_table_attach (GTK_TABLE (table3), hbox1, 1, 3, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); + + scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow2); + gtk_box_pack_start (GTK_BOX (hbox1), scrolledwindow2, TRUE, TRUE, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), + GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow2), + GTK_SHADOW_IN); + + store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_BOOLEAN); + model = GTK_TREE_MODEL (store); + + edit_tree = treeview_servers = gtk_tree_view_new_with_model (model); + g_object_unref (model); + gtk_widget_show (treeview_servers); + gtk_container_add (GTK_CONTAINER (scrolledwindow2), treeview_servers); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview_servers), + FALSE); + + renderer = gtk_cell_renderer_text_new (); + g_signal_connect (G_OBJECT (renderer), "edited", + G_CALLBACK (servlist_editserver_cb), model); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (treeview_servers), -1, + 0, renderer, + "text", 0, + "editable", 1, + NULL); + + vbuttonbox1 = gtk_vbutton_box_new (); + gtk_box_set_spacing (GTK_BOX (vbuttonbox1), 3); + gtk_button_box_set_layout (GTK_BUTTON_BOX (vbuttonbox1), GTK_BUTTONBOX_START); + gtk_widget_show (vbuttonbox1); + gtk_box_pack_start (GTK_BOX (hbox1), vbuttonbox1, FALSE, FALSE, 3); + + buttonadd = gtk_button_new_from_stock ("gtk-add"); + g_signal_connect (G_OBJECT (buttonadd), "clicked", + G_CALLBACK (servlist_addserver_cb), edit_tree); + gtk_widget_show (buttonadd); + gtk_container_add (GTK_CONTAINER (vbuttonbox1), buttonadd); + GTK_WIDGET_SET_FLAGS (buttonadd, GTK_CAN_DEFAULT); + + buttonremove = gtk_button_new_from_stock ("gtk-remove"); + g_signal_connect (G_OBJECT (buttonremove), "clicked", + G_CALLBACK (servlist_deleteserver_cb), NULL); + gtk_widget_show (buttonremove); + gtk_container_add (GTK_CONTAINER (vbuttonbox1), buttonremove); + GTK_WIDGET_SET_FLAGS (buttonremove, GTK_CAN_DEFAULT); + + buttonedit = gtk_button_new_with_mnemonic (_("_Edit")); + g_signal_connect (G_OBJECT (buttonedit), "clicked", + G_CALLBACK (servlist_editserverbutton_cb), NULL); + gtk_widget_show (buttonedit); + gtk_container_add (GTK_CONTAINER (vbuttonbox1), buttonedit); + GTK_WIDGET_SET_FLAGS (buttonedit, GTK_CAN_DEFAULT); + + hseparator2 = gtk_hseparator_new (); + gtk_widget_show (hseparator2); + gtk_box_pack_start (GTK_BOX (vbox5), hseparator2, FALSE, FALSE, 8); + + hbuttonbox4 = gtk_hbutton_box_new (); + gtk_widget_show (hbuttonbox4); + gtk_box_pack_start (GTK_BOX (vbox5), hbuttonbox4, FALSE, FALSE, 0); + gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox4), + GTK_BUTTONBOX_END); + + button10 = gtk_button_new_from_stock ("gtk-close"); + g_signal_connect (G_OBJECT (button10), "clicked", + G_CALLBACK (servlist_edit_close_cb), 0); + gtk_widget_show (button10); + gtk_container_add (GTK_CONTAINER (hbuttonbox4), button10); + GTK_WIDGET_SET_FLAGS (button10, GTK_CAN_DEFAULT); + + if (net->flags & FLAG_USE_GLOBAL) + { + gtk_widget_hide (edit_label_nick); + gtk_widget_hide (edit_entry_nick); + + gtk_widget_hide (edit_label_nick2); + gtk_widget_hide (edit_entry_nick2); + + gtk_widget_hide (edit_label_user); + gtk_widget_hide (edit_entry_user); + + gtk_widget_hide (edit_label_real); + gtk_widget_hide (edit_entry_real); + } + + gtk_widget_grab_focus (button10); + gtk_widget_grab_default (button10); + + return editwindow; +} + +static GtkWidget * +servlist_open_networks (void) +{ + GtkWidget *servlist; + GtkWidget *vbox1; + GtkWidget *label2; + GtkWidget *table1; + GtkWidget *label3; + GtkWidget *label4; + GtkWidget *label5; + GtkWidget *label6; + GtkWidget *label7; + GtkWidget *entry1; + GtkWidget *entry2; + GtkWidget *entry3; + GtkWidget *entry4; + GtkWidget *entry5; + GtkWidget *vbox2; + GtkWidget *label1; + GtkWidget *table4; + GtkWidget *scrolledwindow3; + GtkWidget *treeview_networks; + GtkWidget *checkbutton_skip; + GtkWidget *checkbutton_fav; + GtkWidget *hbox; + GtkWidget *vbuttonbox2; + GtkWidget *button_add; + GtkWidget *button_remove; + GtkWidget *button_edit; + GtkWidget *button_sort; + GtkWidget *hseparator1; + GtkWidget *hbuttonbox1; + GtkWidget *button_connect; + GtkWidget *button_close; + GtkTreeModel *model; + GtkListStore *store; + GtkCellRenderer *renderer; + + servlist = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_container_set_border_width (GTK_CONTAINER (servlist), 4); + gtk_window_set_title (GTK_WINDOW (servlist), _("XChat: Network List")); + gtk_window_set_default_size (GTK_WINDOW (servlist), win_width, win_height); + gtk_window_set_position (GTK_WINDOW (servlist), GTK_WIN_POS_MOUSE); + gtk_window_set_role (GTK_WINDOW (servlist), "servlist"); + gtk_window_set_type_hint (GTK_WINDOW (servlist), GDK_WINDOW_TYPE_HINT_DIALOG); + if (current_sess) + gtk_window_set_transient_for (GTK_WINDOW (servlist), GTK_WINDOW (current_sess->gui->window)); + + vbox1 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox1); + gtk_container_add (GTK_CONTAINER (servlist), vbox1); + + label2 = bold_label (_("User Information")); + gtk_box_pack_start (GTK_BOX (vbox1), label2, FALSE, FALSE, 0); + + table1 = gtk_table_new (5, 2, FALSE); + gtk_widget_show (table1); + gtk_box_pack_start (GTK_BOX (vbox1), table1, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (table1), 8); + gtk_table_set_row_spacings (GTK_TABLE (table1), 2); + gtk_table_set_col_spacings (GTK_TABLE (table1), 4); + + label3 = gtk_label_new_with_mnemonic (_("_Nick name:")); + gtk_widget_show (label3); + gtk_table_attach (GTK_TABLE (table1), label3, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label3), 0, 0.5); + + label4 = gtk_label_new (_("Second choice:")); + gtk_widget_show (label4); + gtk_table_attach (GTK_TABLE (table1), label4, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5); + + label5 = gtk_label_new (_("Third choice:")); + gtk_widget_show (label5); + gtk_table_attach (GTK_TABLE (table1), label5, 0, 1, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label5), 0, 0.5); + + label6 = gtk_label_new_with_mnemonic (_("_User name:")); + gtk_widget_show (label6); + gtk_table_attach (GTK_TABLE (table1), label6, 0, 1, 3, 4, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5); + + label7 = gtk_label_new_with_mnemonic (_("Rea_l name:")); + gtk_widget_show (label7); + gtk_table_attach (GTK_TABLE (table1), label7, 0, 1, 4, 5, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label7), 0, 0.5); + + entry_nick1 = entry1 = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (entry1), prefs.nick1); + gtk_widget_show (entry1); + gtk_table_attach (GTK_TABLE (table1), entry1, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + entry_nick2 = entry2 = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (entry2), prefs.nick2); + gtk_widget_show (entry2); + gtk_table_attach (GTK_TABLE (table1), entry2, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + entry_nick3 = entry3 = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (entry3), prefs.nick3); + gtk_widget_show (entry3); + gtk_table_attach (GTK_TABLE (table1), entry3, 1, 2, 2, 3, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + entry_guser = entry4 = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (entry4), prefs.username); + gtk_widget_show (entry4); + gtk_table_attach (GTK_TABLE (table1), entry4, 1, 2, 3, 4, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + entry_greal = entry5 = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (entry5), prefs.realname); + gtk_widget_show (entry5); + gtk_table_attach (GTK_TABLE (table1), entry5, 1, 2, 4, 5, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + vbox2 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox2); + gtk_box_pack_start (GTK_BOX (vbox1), vbox2, TRUE, TRUE, 0); + + label1 = bold_label (_("Networks")); + gtk_box_pack_start (GTK_BOX (vbox2), label1, FALSE, FALSE, 0); + + table4 = gtk_table_new (2, 2, FALSE); + gtk_widget_show (table4); + gtk_box_pack_start (GTK_BOX (vbox2), table4, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (table4), 8); + gtk_table_set_row_spacings (GTK_TABLE (table4), 2); + gtk_table_set_col_spacings (GTK_TABLE (table4), 3); + + scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow3); + gtk_table_attach (GTK_TABLE (table4), scrolledwindow3, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), + GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow3), + GTK_SHADOW_IN); + + store = gtk_list_store_new (3, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INT); + model = GTK_TREE_MODEL (store); + + networks_tree = treeview_networks = gtk_tree_view_new_with_model (model); + g_object_unref (model); + gtk_widget_show (treeview_networks); + gtk_container_add (GTK_CONTAINER (scrolledwindow3), treeview_networks); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview_networks), + FALSE); + + renderer = gtk_cell_renderer_text_new (); + g_signal_connect (G_OBJECT (renderer), "edited", + G_CALLBACK (servlist_celledit_cb), model); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (treeview_networks), -1, + 0, renderer, + "text", 0, + "editable", 1, + "weight", 2, + NULL); + + hbox = gtk_hbox_new (0, FALSE); + gtk_table_attach (GTK_TABLE (table4), hbox, 0, 2, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_widget_show (hbox); + + checkbutton_skip = + gtk_check_button_new_with_mnemonic (_("Skip network list on startup")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton_skip), + prefs.slist_skip); + gtk_container_add (GTK_CONTAINER (hbox), checkbutton_skip); + g_signal_connect (G_OBJECT (checkbutton_skip), "toggled", + G_CALLBACK (no_servlist), 0); + gtk_widget_show (checkbutton_skip); + + checkbutton_fav = + gtk_check_button_new_with_mnemonic (_("Show favorites only")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton_fav), + prefs.slist_fav); + gtk_container_add (GTK_CONTAINER (hbox), checkbutton_fav); + g_signal_connect (G_OBJECT (checkbutton_fav), "toggled", + G_CALLBACK (fav_servlist), 0); + gtk_widget_show (checkbutton_fav); + + vbuttonbox2 = gtk_vbutton_box_new (); + gtk_box_set_spacing (GTK_BOX (vbuttonbox2), 3); + gtk_button_box_set_layout (GTK_BUTTON_BOX (vbuttonbox2), GTK_BUTTONBOX_START); + gtk_widget_show (vbuttonbox2); + gtk_table_attach (GTK_TABLE (table4), vbuttonbox2, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + + button_add = gtk_button_new_from_stock ("gtk-add"); + g_signal_connect (G_OBJECT (button_add), "clicked", + G_CALLBACK (servlist_addnet_cb), networks_tree); + gtk_widget_show (button_add); + gtk_container_add (GTK_CONTAINER (vbuttonbox2), button_add); + GTK_WIDGET_SET_FLAGS (button_add, GTK_CAN_DEFAULT); + + button_remove = gtk_button_new_from_stock ("gtk-remove"); + g_signal_connect (G_OBJECT (button_remove), "clicked", + G_CALLBACK (servlist_deletenet_cb), 0); + gtk_widget_show (button_remove); + gtk_container_add (GTK_CONTAINER (vbuttonbox2), button_remove); + GTK_WIDGET_SET_FLAGS (button_remove, GTK_CAN_DEFAULT); + + button_edit = gtk_button_new_with_mnemonic (_("_Edit...")); + g_signal_connect (G_OBJECT (button_edit), "clicked", + G_CALLBACK (servlist_edit_cb), 0); + gtk_widget_show (button_edit); + gtk_container_add (GTK_CONTAINER (vbuttonbox2), button_edit); + GTK_WIDGET_SET_FLAGS (button_edit, GTK_CAN_DEFAULT); + + button_sort = gtk_button_new_with_mnemonic (_("_Sort")); + add_tip (button_sort, _("Sorts the network list in alphabetical order. " + "Use SHIFT-UP and SHIFT-DOWN keys to move a row.")); + g_signal_connect (G_OBJECT (button_sort), "clicked", + G_CALLBACK (servlist_sort), 0); + gtk_widget_show (button_sort); + gtk_container_add (GTK_CONTAINER (vbuttonbox2), button_sort); + GTK_WIDGET_SET_FLAGS (button_sort, GTK_CAN_DEFAULT); + + button_sort = gtk_button_new_with_mnemonic (_("_Favor")); + add_tip (button_sort, _("Mark or unmark this network as a favorite.")); + g_signal_connect (G_OBJECT (button_sort), "clicked", + G_CALLBACK (servlist_favor), 0); + gtk_widget_show (button_sort); + gtk_container_add (GTK_CONTAINER (vbuttonbox2), button_sort); + GTK_WIDGET_SET_FLAGS (button_sort, GTK_CAN_DEFAULT); + + hseparator1 = gtk_hseparator_new (); + gtk_widget_show (hseparator1); + gtk_box_pack_start (GTK_BOX (vbox1), hseparator1, FALSE, TRUE, 4); + + hbuttonbox1 = gtk_hbutton_box_new (); + gtk_widget_show (hbuttonbox1); + gtk_box_pack_start (GTK_BOX (vbox1), hbuttonbox1, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox1), 8); + + button_close = gtk_button_new_from_stock ("gtk-close"); + gtk_widget_show (button_close); + g_signal_connect (G_OBJECT (button_close), "clicked", + G_CALLBACK (servlist_close_cb), 0); + gtk_container_add (GTK_CONTAINER (hbuttonbox1), button_close); + GTK_WIDGET_SET_FLAGS (button_close, GTK_CAN_DEFAULT); + + button_connect = gtkutil_button (hbuttonbox1, GTK_STOCK_CONNECT, NULL, + servlist_connect_cb, NULL, _("C_onnect")); + GTK_WIDGET_SET_FLAGS (button_connect, GTK_CAN_DEFAULT); + + gtk_label_set_mnemonic_widget (GTK_LABEL (label3), entry1); + gtk_label_set_mnemonic_widget (GTK_LABEL (label6), entry4); + gtk_label_set_mnemonic_widget (GTK_LABEL (label7), entry5); + + gtk_widget_grab_focus (networks_tree); + gtk_widget_grab_default (button_close); + return servlist; +} + +void +fe_serverlist_open (session *sess) +{ + if (serverlist_win) + { + gtk_window_present (GTK_WINDOW (serverlist_win)); + return; + } + + servlist_sess = sess; + + serverlist_win = servlist_open_networks (); + gtkutil_set_icon (serverlist_win); + + servlist_networks_populate (networks_tree, network_list); + + g_signal_connect (G_OBJECT (serverlist_win), "delete_event", + G_CALLBACK (servlist_delete_cb), 0); + g_signal_connect (G_OBJECT (serverlist_win), "configure_event", + G_CALLBACK (servlist_configure_cb), 0); + g_signal_connect (G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (networks_tree))), + "changed", G_CALLBACK (servlist_network_row_cb), NULL); + g_signal_connect (G_OBJECT (networks_tree), "key_press_event", + G_CALLBACK (servlist_net_keypress_cb), networks_tree); + + gtk_widget_show (serverlist_win); +} diff --git a/src/fe-gtk/setup.c b/src/fe-gtk/setup.c new file mode 100644 index 00000000..517e0944 --- /dev/null +++ b/src/fe-gtk/setup.c @@ -0,0 +1,2137 @@ +/* X-Chat + * Copyright (C) 2004-2007 Peter Zelezny. + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/stat.h> +#include <sys/types.h> + +#include "../common/xchat.h" +#include "../common/cfgfiles.h" +#include "../common/fe.h" +#include "../common/text.h" +#include "../common/userlist.h" +#include "../common/util.h" +#include "../common/xchatc.h" +#include "fe-gtk.h" +#include "gtkutil.h" +#include "maingui.h" +#include "palette.h" +#include "pixmaps.h" +#include "menu.h" + +#include <gtk/gtkcolorseldialog.h> +#include <gtk/gtktable.h> +#include <gtk/gtkentry.h> +#include <gtk/gtklabel.h> +#include <gtk/gtkmisc.h> +#include <gtk/gtkhbox.h> +#include <gtk/gtkvbox.h> +#include <gtk/gtkalignment.h> +#include <gtk/gtknotebook.h> +#include <gtk/gtkframe.h> +#include <gtk/gtkfontsel.h> +#include <gtk/gtkcheckbutton.h> +#include <gtk/gtkscrolledwindow.h> +#include <gtk/gtkspinbutton.h> +#include <gtk/gtkstock.h> +#include <gtk/gtktreeview.h> +#include <gtk/gtkhbbox.h> +#include <gtk/gtkhseparator.h> +#include <gtk/gtkradiobutton.h> +#include <gtk/gtkcombobox.h> +#include <gtk/gtkliststore.h> +#include <gtk/gtktreestore.h> +#include <gtk/gtktreeselection.h> +#include <gtk/gtkcellrenderertext.h> +#include <gtk/gtkhscale.h> +#ifdef WIN32 +#include "../common/fe.h" +#endif +#ifdef USE_GTKSPELL +#include <gtk/gtktextview.h> +#include <gtkspell/gtkspell.h> +#endif +#ifdef USE_LIBSEXY +#include "sexy-spell-entry.h" +#endif + +GtkStyle *create_input_style (GtkStyle *); + +#define LABEL_INDENT 12 + +static int last_selected_page = 0; +static int last_selected_row = 0; /* sound row */ +static gboolean color_change; +static struct xchatprefs setup_prefs; +static GtkWidget *cancel_button; +static GtkWidget *font_dialog = NULL; + +enum +{ + ST_END, + ST_TOGGLE, + ST_TOGGLR, + ST_3OGGLE, + ST_ENTRY, + ST_EFONT, + ST_EFILE, + ST_EFOLDER, + ST_MENU, + ST_RADIO, + ST_NUMBER, + ST_HSCALE, + ST_HEADER, + ST_LABEL, + ST_ALERTHEAD +}; + +typedef struct +{ + int type; + char *label; + int offset; + char *tooltip; + char const *const *list; + int extra; +} setting; + + +static const setting textbox_settings[] = +{ + {ST_HEADER, N_("Text Box Appearance"),0,0,0}, + {ST_EFONT, N_("Font:"), P_OFFSETNL(font_normal), 0, 0, sizeof prefs.font_normal}, + {ST_EFILE, N_("Background image:"), P_OFFSETNL(background), 0, 0, sizeof prefs.background}, + {ST_NUMBER, N_("Scrollback lines:"), P_OFFINTNL(max_lines),0,0,100000}, + {ST_TOGGLE, N_("Colored nick names"), P_OFFINTNL(colorednicks), + N_("Give each person on IRC a different color"),0,0}, + {ST_TOGGLR, N_("Indent nick names"), P_OFFINTNL(indent_nicks), + N_("Make nick names right-justified"),0,0}, + {ST_TOGGLE, N_("Transparent background"), P_OFFINTNL(transparent),0,0,0}, + {ST_TOGGLR, N_("Show marker line"), P_OFFINTNL(show_marker), + N_("Insert a red line after the last read text."),0,0}, + {ST_HEADER, N_("Transparency Settings"), 0,0,0}, + {ST_HSCALE, N_("Red:"), P_OFFINTNL(tint_red),0,0,0}, + {ST_HSCALE, N_("Green:"), P_OFFINTNL(tint_green),0,0,0}, + {ST_HSCALE, N_("Blue:"), P_OFFINTNL(tint_blue),0,0,0}, + + {ST_HEADER, N_("Time Stamps"),0,0,0}, + {ST_TOGGLE, N_("Enable time stamps"), P_OFFINTNL(timestamp),0,0,2}, + {ST_ENTRY, N_("Time stamp format:"), P_OFFSETNL(stamp_format), + N_("See strftime manpage for details."),0,sizeof prefs.stamp_format}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const char *const tabcompmenu[] = +{ + N_("A-Z"), + N_("Last-spoke order"), + NULL +}; + +static const setting inputbox_settings[] = +{ + {ST_HEADER, N_("Input box"),0,0,0}, + {ST_TOGGLE, N_("Use the Text box font and colors"), P_OFFINTNL(style_inputbox),0,0,0}, +#if defined(USE_GTKSPELL) || defined(USE_LIBSEXY) + {ST_TOGGLE, N_("Spell checking"), P_OFFINTNL(gui_input_spell),0,0,0}, +#endif + + {ST_HEADER, N_("Nick Completion"),0,0,0}, + {ST_TOGGLE, N_("Automatic nick completion (without TAB key)"), P_OFFINTNL(nickcompletion), + 0,0,0}, + {ST_ENTRY, N_("Nick completion suffix:"), P_OFFSETNL(nick_suffix),0,0,sizeof prefs.nick_suffix}, + {ST_MENU, N_("Nick completion sorted:"), P_OFFINTNL(completion_sort), 0, tabcompmenu, 0}, + +#if 0 /* obsolete */ + {ST_HEADER, N_("Input Box Codes"),0,0,0}, + {ST_TOGGLE, N_("Interpret %nnn as an ASCII value"), P_OFFINTNL(perc_ascii),0,0,0}, + {ST_TOGGLE, N_("Interpret %C, %B as Color, Bold etc"), P_OFFINTNL(perc_color),0,0,0}, +#endif + + {ST_END, 0, 0, 0, 0, 0} +}; + +/*static const char *const lagmenutext[] = +{ + N_("Off"), + N_("Graph"), + N_("Info text"), + N_("Both"), + NULL +};*/ + +static const char *const ulmenutext[] = +{ + N_("A-Z, Ops first"), + N_("A-Z"), + N_("Z-A, Ops last"), + N_("Z-A"), + N_("Unsorted"), + NULL +}; + +static const char *const cspos[] = +{ + N_("Left (Upper)"), + N_("Left (Lower)"), + N_("Right (Upper)"), + N_("Right (Lower)"), + N_("Top"), + N_("Bottom"), + N_("Hidden"), + NULL +}; + +static const char *const ulpos[] = +{ + N_("Left (Upper)"), + N_("Left (Lower)"), + N_("Right (Upper)"), + N_("Right (Lower)"), + NULL +}; + +static const setting userlist_settings[] = +{ + {ST_HEADER, N_("User List"),0,0,0}, + {ST_TOGGLE, N_("Show hostnames in user list"), P_OFFINTNL(showhostname_in_userlist), 0, 0, 0}, + {ST_TOGGLE, N_("Use the Text box font and colors"), P_OFFINTNL(style_namelistgad),0,0,0}, +/* {ST_TOGGLE, N_("Resizable user list"), P_OFFINTNL(paned_userlist),0,0,0},*/ + {ST_MENU, N_("User list sorted by:"), P_OFFINTNL(userlist_sort), 0, ulmenutext, 0}, + {ST_MENU, N_("Show user list at:"), P_OFFINTNL(gui_ulist_pos), 0, ulpos, 1}, + + {ST_HEADER, N_("Away tracking"),0,0,0}, + {ST_TOGGLE, N_("Track the Away status of users and mark them in a different color"), P_OFFINTNL(away_track),0,0,2}, + {ST_NUMBER, N_("On channels smaller than:"), P_OFFINTNL(away_size_max),0,0,10000}, + + {ST_HEADER, N_("Action Upon Double Click"),0,0,0}, + {ST_ENTRY, N_("Execute command:"), P_OFFSETNL(doubleclickuser), 0, 0, sizeof prefs.doubleclickuser}, + +/* {ST_HEADER, N_("Extra Gadgets"),0,0,0}, + {ST_MENU, N_("Lag meter:"), P_OFFINTNL(lagometer), 0, lagmenutext, 0}, + {ST_MENU, N_("Throttle meter:"), P_OFFINTNL(throttlemeter), 0, lagmenutext, 0},*/ + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const char *const tabwin[] = +{ + N_("Windows"), + N_("Tabs"), + NULL +}; + +#if 0 +static const char *const focusnewtabsmenu[] = +{ + N_("Never"), + N_("Always"), + N_("Only requested tabs"), + NULL +}; +#endif + +static const char *const swtype[] = +{ + N_("Tabs"), /* 0 tabs */ + "", /* 1 reserved */ + N_("Tree"), /* 2 tree */ + NULL +}; + +static const setting tabs_settings[] = +{ + /*{ST_HEADER, N_("Channel Switcher"),0,0,0},*/ + {ST_RADIO, N_("Switcher type:"),P_OFFINTNL(tab_layout), 0, swtype, 0}, + {ST_TOGGLE, N_("Open an extra tab for server messages"), P_OFFINTNL(use_server_tab), 0, 0, 0}, + {ST_TOGGLE, N_("Open an extra tab for server notices"), P_OFFINTNL(notices_tabs), 0, 0, 0}, + {ST_TOGGLE, N_("Open a new tab when you receive a private message"), P_OFFINTNL(autodialog), 0, 0, 0}, + {ST_TOGGLE, N_("Sort tabs in alphabetical order"), P_OFFINTNL(tab_sort), 0, 0, 0}, + {ST_TOGGLE, N_("Smaller text"), P_OFFINTNL(tab_small), 0, 0, 0}, +#if 0 + {ST_MENU, N_("Focus new tabs:"), P_OFFINTNL(newtabstofront), 0, focusnewtabsmenu, 0}, +#endif + {ST_MENU, N_("Show channel switcher at:"), P_OFFINTNL(tab_pos), 0, cspos, 1}, + {ST_NUMBER, N_("Shorten tab labels to:"), P_OFFINTNL(truncchans), 0, (const char **)N_("letters."), 99}, + + {ST_HEADER, N_("Tabs or Windows"),0,0,0}, + {ST_MENU, N_("Open channels in:"), P_OFFINTNL(tabchannels), 0, tabwin, 0}, + {ST_MENU, N_("Open dialogs in:"), P_OFFINTNL(privmsgtab), 0, tabwin, 0}, + {ST_MENU, N_("Open utilities in:"), P_OFFINTNL(windows_as_tabs), N_("Open DCC, Ignore, Notify etc, in tabs or windows?"), tabwin, 0}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const char *const dccaccept[] = +{ + N_("No"), + N_("Yes"), + N_("Browse for save folder every time"), + NULL +}; + +static const setting filexfer_settings[] = +{ + {ST_HEADER, N_("Files and Directories"), 0, 0, 0}, + {ST_MENU, N_("Auto accept file offers:"), P_OFFINTNL(autodccsend), 0, dccaccept, 0}, + {ST_EFOLDER,N_("Download files to:"), P_OFFSETNL(dccdir), 0, 0, sizeof prefs.dccdir}, + {ST_EFOLDER,N_("Move completed files to:"), P_OFFSETNL(dcc_completed_dir), 0, 0, sizeof prefs.dcc_completed_dir}, + {ST_TOGGLE, N_("Save nick name in filenames"), P_OFFINTNL(dccwithnick), 0, 0, 0}, + + {ST_HEADER, N_("Network Settings"), 0, 0, 0}, + {ST_TOGGLE, N_("Get my address from the IRC server"), P_OFFINTNL(ip_from_server), + N_("Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!"), 0, 0}, + {ST_ENTRY, N_("DCC IP address:"), P_OFFSETNL(dcc_ip_str), + N_("Claim you are at this address when offering files."), 0, sizeof prefs.dcc_ip_str}, + {ST_NUMBER, N_("First DCC send port:"), P_OFFINTNL(first_dcc_send_port), 0, 0, 65535}, + {ST_NUMBER, N_("Last DCC send port:"), P_OFFINTNL(last_dcc_send_port), 0, + (const char **)N_("!Leave ports at zero for full range."), 65535}, + + {ST_HEADER, N_("Maximum File Transfer Speeds (bytes per second)"), 0, 0, 0}, + {ST_NUMBER, N_("One upload:"), P_OFFINTNL(dcc_max_send_cps), + N_("Maximum speed for one transfer"), 0, 1000000}, + {ST_NUMBER, N_("One download:"), P_OFFINTNL(dcc_max_get_cps), + N_("Maximum speed for one transfer"), 0, 1000000}, + {ST_NUMBER, N_("All uploads combined:"), P_OFFINTNL(dcc_global_max_send_cps), + N_("Maximum speed for all files"), 0, 1000000}, + {ST_NUMBER, N_("All downloads combined:"), P_OFFINTNL(dcc_global_max_get_cps), + N_("Maximum speed for all files"), 0, 1000000}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const int balloonlist[3] = +{ + P_OFFINTNL(input_balloon_chans), P_OFFINTNL(input_balloon_priv), P_OFFINTNL(input_balloon_hilight) +}; + +static const int trayblinklist[3] = +{ + P_OFFINTNL(input_tray_chans), P_OFFINTNL(input_tray_priv), P_OFFINTNL(input_tray_hilight) +}; + +static const int taskbarlist[3] = +{ + P_OFFINTNL(input_flash_chans), P_OFFINTNL(input_flash_priv), P_OFFINTNL(input_flash_hilight) +}; + +static const int beeplist[3] = +{ + P_OFFINTNL(input_beep_chans), P_OFFINTNL(input_beep_priv), P_OFFINTNL(input_beep_hilight) +}; + +static const setting alert_settings[] = +{ + {ST_HEADER, N_("Alerts"),0,0,0}, + + {ST_ALERTHEAD}, +#ifndef WIN32 + {ST_3OGGLE, N_("Show tray balloons on:"), 0, 0, (void *)balloonlist, 0}, +#endif + {ST_3OGGLE, N_("Blink tray icon on:"), 0, 0, (void *)trayblinklist, 0}, + {ST_3OGGLE, N_("Blink task bar on:"), 0, 0, (void *)taskbarlist, 0}, + {ST_3OGGLE, N_("Make a beep sound on:"), 0, 0, (void *)beeplist, 0}, + + {ST_TOGGLE, N_("Enable system tray icon"), P_OFFINTNL(gui_tray), 0, 0, 0}, + + {ST_HEADER, N_("Highlighted Messages"),0,0,0}, + {ST_LABEL, N_("Highlighted messages are ones where your nickname is mentioned, but also:"), 0, 0, 0, 1}, + + {ST_ENTRY, N_("Extra words to highlight:"), P_OFFSETNL(irc_extra_hilight), 0, 0, sizeof prefs.irc_extra_hilight}, + {ST_ENTRY, N_("Nick names not to highlight:"), P_OFFSETNL(irc_no_hilight), 0, 0, sizeof prefs.irc_no_hilight}, + {ST_ENTRY, N_("Nick names to always highlight:"), P_OFFSETNL(irc_nick_hilight), 0, 0, sizeof prefs.irc_nick_hilight}, + {ST_LABEL, N_("Separate multiple words with commas.\nWildcards are accepted.")}, + {ST_END, 0, 0, 0, 0, 0} +}; + +static const setting general_settings[] = +{ + {ST_HEADER, N_("Default Messages"),0,0,0}, + {ST_ENTRY, N_("Quit:"), P_OFFSETNL(quitreason), 0, 0, sizeof prefs.quitreason}, + {ST_ENTRY, N_("Leave channel:"), P_OFFSETNL(partreason), 0, 0, sizeof prefs.partreason}, + {ST_ENTRY, N_("Away:"), P_OFFSETNL(awayreason), 0, 0, sizeof prefs.awayreason}, + + {ST_HEADER, N_("Away"),0,0,0}, + {ST_TOGGLE, N_("Announce away messages"), P_OFFINTNL(show_away_message), + N_("Announce your away messages to all channels"), 0, 0}, + {ST_TOGGLE, N_("Show away once"), P_OFFINTNL(show_away_once), N_("Show identical away messages only once"), 0, 0}, + {ST_TOGGLE, N_("Automatically unmark away"), P_OFFINTNL(auto_unmark_away), N_("Unmark yourself as away before sending messages"), 0, 0}, + {ST_END, 0, 0, 0, 0, 0} +}; + +#if 0 +static const setting advanced_settings[] = +{ + {ST_HEADER, N_("Advanced Settings"),0,0,0}, + {ST_NUMBER, N_("Auto reconnect delay:"), P_OFFINTNL(recon_delay), 0, 0, 9999}, + {ST_TOGGLE, N_("Display MODEs in raw form"), P_OFFINTNL(raw_modes), 0, 0, 0}, + {ST_TOGGLE, N_("Whois on notify"), P_OFFINTNL(whois_on_notifyonline), N_("Sends a /WHOIS when a user comes online in your notify list"), 0, 0}, + {ST_TOGGLE, N_("Hide join and part messages"), P_OFFINTNL(confmode), N_("Hide channel join/part messages by default"), 0, 0}, + {ST_HEADER, N_("Auto Open DCC Windows"),0,0,0}, + {ST_TOGGLE, N_("Send window"), P_OFFINTNL(autoopendccsendwindow), 0, 0, 0}, + {ST_TOGGLE, N_("Receive window"), P_OFFINTNL(autoopendccrecvwindow), 0, 0, 0}, + {ST_TOGGLE, N_("Chat window"), P_OFFINTNL(autoopendccchatwindow), 0, 0, 0}, + + {ST_END, 0, 0, 0, 0, 0} +}; +#endif + +static const setting logging_settings[] = +{ + {ST_HEADER, N_("Logging"),0,0,0}, + {ST_TOGGLE, N_("Display scrollback from previous session"), P_OFFINTNL(text_replay), 0, 0, 0}, + {ST_TOGGLE, N_("Enable logging of conversations to disk"), P_OFFINTNL(logging), 0, 0, 2}, + {ST_ENTRY, N_("Log filename:"), P_OFFSETNL(logmask), 0, 0, sizeof prefs.logmask}, + {ST_LABEL, N_("%s=Server %c=Channel %n=Network.")}, + + {ST_HEADER, N_("Time Stamps"),0,0,0}, + {ST_TOGGLE, N_("Insert timestamps in logs"), P_OFFINTNL(timestamp_logs), 0, 0, 2}, + {ST_ENTRY, N_("Log timestamp format:"), P_OFFSETNL(timestamp_log_format), 0, 0, sizeof prefs.timestamp_log_format}, + {ST_LABEL, N_("See strftime manpage for details.")}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const char *const proxytypes[] = +{ + N_("(Disabled)"), + N_("Wingate"), + N_("Socks4"), + N_("Socks5"), + N_("HTTP"), +#ifdef USE_MSPROXY + N_("MS Proxy (ISA)"), +#endif +#ifdef USE_LIBPROXY + N_("Auto"), +#endif + NULL +}; + +static const char *const proxyuse[] = +{ + N_("All Connections"), + N_("IRC Server Only"), + N_("DCC Get Only"), + NULL +}; + +static const setting network_settings[] = +{ + {ST_HEADER, N_("Your Address"), 0, 0, 0, 0}, + {ST_ENTRY, N_("Bind to:"), P_OFFSETNL(hostname), 0, 0, sizeof prefs.hostname}, + {ST_LABEL, N_("Only useful for computers with multiple addresses.")}, + + {ST_HEADER, N_("Proxy Server"), 0, 0, 0, 0}, + {ST_ENTRY, N_("Hostname:"), P_OFFSETNL(proxy_host), 0, 0, sizeof prefs.proxy_host}, + {ST_NUMBER, N_("Port:"), P_OFFINTNL(proxy_port), 0, 0, 65535}, + {ST_MENU, N_("Type:"), P_OFFINTNL(proxy_type), 0, proxytypes, 0}, + {ST_MENU, N_("Use proxy for:"), P_OFFINTNL(proxy_use), 0, proxyuse, 0}, + + {ST_HEADER, N_("Proxy Authentication"), 0, 0, 0, 0}, +#ifdef USE_MSPROXY + {ST_TOGGLE, N_("Use Authentication (MS Proxy, HTTP or Socks5 only)"), P_OFFINTNL(proxy_auth), 0, 0, 0}, +#else + {ST_TOGGLE, N_("Use Authentication (HTTP or Socks5 only)"), P_OFFINTNL(proxy_auth), 0, 0, 0}, +#endif + {ST_ENTRY, N_("Username:"), P_OFFSETNL(proxy_user), 0, 0, sizeof prefs.proxy_user}, + {ST_ENTRY, N_("Password:"), P_OFFSETNL(proxy_pass), 0, GINT_TO_POINTER(1), sizeof prefs.proxy_pass}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +#define setup_get_str(pr,set) (((char *)pr)+set->offset) +#define setup_get_int(pr,set) *(((int *)pr)+set->offset) +#define setup_get_int3(pr,off) *(((int *)pr)+off) + +#define setup_set_int(pr,set,num) *((int *)pr+set->offset)=num +#define setup_set_str(pr,set,str) strcpy(((char *)pr)+set->offset,str) + + +static void +setup_3oggle_cb (GtkToggleButton *but, unsigned int *setting) +{ + *setting = but->active; +} + +static void +setup_headlabel (GtkWidget *tab, int row, int col, char *text) +{ + GtkWidget *label; + char buf[128]; + char *sp; + + snprintf (buf, sizeof (buf), "<b><span size=\"smaller\">%s</span></b>", text); + sp = strchr (buf + 17, ' '); + if (sp) + *sp = '\n'; + + label = gtk_label_new (NULL); + gtk_label_set_markup (GTK_LABEL (label), buf); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (tab), label, col, col + 1, row, row + 1, 0, 0, 4, 0); +} + +static void +setup_create_alert_header (GtkWidget *tab, int row, const setting *set) +{ + setup_headlabel (tab, row, 3, _("Channel Message")); + setup_headlabel (tab, row, 4, _("Private Message")); + setup_headlabel (tab, row, 5, _("Highlighted Message")); +} + +/* makes 3 toggles side-by-side */ + +static void +setup_create_3oggle (GtkWidget *tab, int row, const setting *set) +{ + GtkWidget *label, *wid; + int *offsets = (int *)set->list; + + label = gtk_label_new (_(set->label)); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (tab), label, 2, 3, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + wid = gtk_check_button_new (); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), + setup_get_int3 (&setup_prefs, offsets[0])); + g_signal_connect (G_OBJECT (wid), "toggled", + G_CALLBACK (setup_3oggle_cb), ((int *)&setup_prefs) + offsets[0]); + gtk_table_attach (GTK_TABLE (tab), wid, 3, 4, row, row + 1, 0, 0, 0, 0); + + wid = gtk_check_button_new (); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), + setup_get_int3 (&setup_prefs, offsets[1])); + g_signal_connect (G_OBJECT (wid), "toggled", + G_CALLBACK (setup_3oggle_cb), ((int *)&setup_prefs) + offsets[1]); + gtk_table_attach (GTK_TABLE (tab), wid, 4, 5, row, row + 1, 0, 0, 0, 0); + + wid = gtk_check_button_new (); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), + setup_get_int3 (&setup_prefs, offsets[2])); + g_signal_connect (G_OBJECT (wid), "toggled", + G_CALLBACK (setup_3oggle_cb), ((int *)&setup_prefs) + offsets[2]); + gtk_table_attach (GTK_TABLE (tab), wid, 5, 6, row, row + 1, 0, 0, 0, 0); +} + +static void +setup_toggle_cb (GtkToggleButton *but, const setting *set) +{ + GtkWidget *label, *disable_wid; + + setup_set_int (&setup_prefs, set, but->active ? 1 : 0); + + /* does this toggle also enable/disable another widget? */ + disable_wid = g_object_get_data (G_OBJECT (but), "nxt"); + if (disable_wid) + { + gtk_widget_set_sensitive (disable_wid, but->active); + label = g_object_get_data (G_OBJECT (disable_wid), "lbl"); + gtk_widget_set_sensitive (label, but->active); + } +} + +static void +setup_create_toggleR (GtkWidget *tab, int row, const setting *set) +{ + GtkWidget *wid; + + wid = gtk_check_button_new_with_label (_(set->label)); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), + setup_get_int (&setup_prefs, set)); + g_signal_connect (G_OBJECT (wid), "toggled", + G_CALLBACK (setup_toggle_cb), (gpointer)set); + if (set->tooltip) + add_tip (wid, _(set->tooltip)); + gtk_table_attach (GTK_TABLE (tab), wid, 4, 5, row, row + 1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); +} + +static GtkWidget * +setup_create_toggleL (GtkWidget *tab, int row, const setting *set) +{ + GtkWidget *wid; + + wid = gtk_check_button_new_with_label (_(set->label)); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), + setup_get_int (&setup_prefs, set)); + g_signal_connect (G_OBJECT (wid), "toggled", + G_CALLBACK (setup_toggle_cb), (gpointer)set); + if (set->tooltip) + add_tip (wid, _(set->tooltip)); + gtk_table_attach (GTK_TABLE (tab), wid, 2, row==6 ? 6 : 4, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + return wid; +} + +#if 0 +static void +setup_create_toggle (GtkWidget *box, int row, const setting *set) +{ + GtkWidget *wid; + + wid = gtk_check_button_new_with_label (_(set->label)); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), + setup_get_int (&setup_prefs, set)); + g_signal_connect (G_OBJECT (wid), "toggled", + G_CALLBACK (setup_toggle_cb), (gpointer)set); + if (set->tooltip) + add_tip (wid, _(set->tooltip)); + gtk_box_pack_start (GTK_BOX (box), wid, 0, 0, 0); +} +#endif + +static GtkWidget * +setup_create_italic_label (char *text) +{ + GtkWidget *label; + char buf[256]; + + label = gtk_label_new (NULL); + snprintf (buf, sizeof (buf), "<i><span size=\"smaller\">%s</span></i>", text); + gtk_label_set_markup (GTK_LABEL (label), buf); + gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_CENTER); + + return label; +} + +static void +setup_spin_cb (GtkSpinButton *spin, const setting *set) +{ + setup_set_int (&setup_prefs, set, gtk_spin_button_get_value_as_int (spin)); +} + +static GtkWidget * +setup_create_spin (GtkWidget *table, int row, const setting *set) +{ + GtkWidget *label, *wid, *rbox, *align; + char *text; + + label = gtk_label_new (_(set->label)); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (table), label, 2, 3, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + align = gtk_alignment_new (0.0, 0.5, 0.0, 0.0); + gtk_table_attach (GTK_TABLE (table), align, 3, 4, row, row + 1, + GTK_EXPAND | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + + rbox = gtk_hbox_new (0, 0); + gtk_container_add (GTK_CONTAINER (align), rbox); + + wid = gtk_spin_button_new_with_range (0, set->extra, 1); + g_object_set_data (G_OBJECT (wid), "lbl", label); + if (set->tooltip) + add_tip (wid, _(set->tooltip)); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (wid), + setup_get_int (&setup_prefs, set)); + g_signal_connect (G_OBJECT (wid), "value_changed", + G_CALLBACK (setup_spin_cb), (gpointer)set); + gtk_box_pack_start (GTK_BOX (rbox), wid, 0, 0, 0); + + if (set->list) + { + text = _((char *)set->list); + if (text[0] == '!') + label = setup_create_italic_label (text + 1); + else + label = gtk_label_new (text); + gtk_box_pack_start (GTK_BOX (rbox), label, 0, 0, 6); + } + + return wid; +} + +static gint +setup_apply_tint (int *tag) +{ + prefs.tint_red = setup_prefs.tint_red; + prefs.tint_green = setup_prefs.tint_green; + prefs.tint_blue = setup_prefs.tint_blue; + mg_update_xtext (current_sess->gui->xtext); + *tag = 0; + return 0; +} + +static void +setup_hscale_cb (GtkHScale *wid, const setting *set) +{ + static int tag = 0; + + setup_set_int (&setup_prefs, set, gtk_range_get_value(GTK_RANGE(wid))); + if(tag == 0) + tag = g_idle_add ((GSourceFunc)setup_apply_tint, &tag); +} + +static void +setup_create_hscale (GtkWidget *table, int row, const setting *set) +{ + GtkWidget *wid; + + wid = gtk_label_new (_(set->label)); + gtk_misc_set_alignment (GTK_MISC (wid), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (table), wid, 2, 3, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + wid = gtk_hscale_new_with_range (0., 255., 1.); + gtk_scale_set_value_pos (GTK_SCALE (wid), GTK_POS_RIGHT); + gtk_range_set_value (GTK_RANGE (wid), setup_get_int (&setup_prefs, set)); + g_signal_connect (G_OBJECT(wid), "value_changed", + G_CALLBACK (setup_hscale_cb), (gpointer)set); + gtk_table_attach (GTK_TABLE (table), wid, 3, 6, row, row + 1, + GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); +} + + +static GtkWidget *proxy_user; /* username GtkEntry */ +static GtkWidget *proxy_pass; /* password GtkEntry */ + +static void +setup_menu_cb (GtkWidget *cbox, const setting *set) +{ + int n = gtk_combo_box_get_active (GTK_COMBO_BOX (cbox)); + + /* set the prefs.<field> */ + setup_set_int (&setup_prefs, set, n + set->extra); + + if (set->list == proxytypes) + { + /* only HTTP and Socks5 can use a username/pass */ + gtk_widget_set_sensitive (proxy_user, (n == 3 || n == 4 || n == 5)); + gtk_widget_set_sensitive (proxy_pass, (n == 3 || n == 4 || n == 5)); + } +} + +static void +setup_radio_cb (GtkWidget *item, const setting *set) +{ + if (GTK_TOGGLE_BUTTON (item)->active) + { + int n = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (item), "n")); + /* set the prefs.<field> */ + setup_set_int (&setup_prefs, set, n); + } +} + +static int +setup_create_radio (GtkWidget *table, int row, const setting *set) +{ + GtkWidget *wid, *hbox; + int i; + const char **text = (const char **)set->list; + GSList *group; + + wid = gtk_label_new (_(set->label)); + gtk_misc_set_alignment (GTK_MISC (wid), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (table), wid, 2, 3, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + hbox = gtk_hbox_new (0, 0); + gtk_table_attach (GTK_TABLE (table), hbox, 3, 4, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + + i = 0; + group = NULL; + while (text[i]) + { + if (text[i][0] != 0) + { + wid = gtk_radio_button_new_with_mnemonic (group, _(text[i])); + /*if (set->tooltip) + add_tip (wid, _(set->tooltip));*/ + group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (wid)); + gtk_container_add (GTK_CONTAINER (hbox), wid); + if (i == setup_get_int (&setup_prefs, set)) + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), TRUE); + g_object_set_data (G_OBJECT (wid), "n", GINT_TO_POINTER (i)); + g_signal_connect (G_OBJECT (wid), "toggled", + G_CALLBACK (setup_radio_cb), (gpointer)set); + } + i++; + row++; + } + + return i; +} + +/* +static const char *id_strings[] = +{ + "", + "*", + "%C4*%C18%B%B", + "%U" +}; + +static void +setup_id_menu_cb (GtkWidget *item, char *dest) +{ + int n = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (item), "n")); + + strcpy (dest, id_strings[n]); +} + +static void +setup_create_id_menu (GtkWidget *table, char *label, int row, char *dest) +{ + GtkWidget *wid, *menu, *item; + int i, def = 0; + static const char *text[] = + { + ("(disabled)"), + ("A star (*)"), + ("A red star (*)"), + ("Underlined") + }; + + wid = gtk_label_new (label); + gtk_misc_set_alignment (GTK_MISC (wid), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (table), wid, 2, 3, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + wid = gtk_option_menu_new (); + menu = gtk_menu_new (); + + for (i = 0; i < 4; i++) + { + if (strcmp (id_strings[i], dest) == 0) + { + def = i; + break; + } + } + + i = 0; + while (text[i]) + { + item = gtk_menu_item_new_with_label (_(text[i])); + g_object_set_data (G_OBJECT (item), "n", GINT_TO_POINTER (i)); + + gtk_widget_show (item); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (setup_id_menu_cb), dest); + i++; + } + + gtk_option_menu_set_menu (GTK_OPTION_MENU (wid), menu); + gtk_option_menu_set_history (GTK_OPTION_MENU (wid), def); + + gtk_table_attach (GTK_TABLE (table), wid, 3, 4, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); +} + +*/ + +static void +setup_create_menu (GtkWidget *table, int row, const setting *set) +{ + GtkWidget *wid, *cbox, *box; + const char **text = (const char **)set->list; + int i; + + wid = gtk_label_new (_(set->label)); + gtk_misc_set_alignment (GTK_MISC (wid), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (table), wid, 2, 3, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + cbox = gtk_combo_box_new_text (); + + for (i = 0; text[i]; i++) + gtk_combo_box_append_text (GTK_COMBO_BOX (cbox), _(text[i])); + + gtk_combo_box_set_active (GTK_COMBO_BOX (cbox), + setup_get_int (&setup_prefs, set) - set->extra); + g_signal_connect (G_OBJECT (cbox), "changed", + G_CALLBACK (setup_menu_cb), (gpointer)set); + + box = gtk_hbox_new (0, 0); + gtk_box_pack_start (GTK_BOX (box), cbox, 0, 0, 0); + gtk_table_attach (GTK_TABLE (table), box, 3, 4, row, row + 1, + GTK_EXPAND | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); +} + +static void +setup_filereq_cb (GtkWidget *entry, char *file) +{ + if (file) + { + if (file[0]) + gtk_entry_set_text (GTK_ENTRY (entry), file); + } +} + +static void +setup_browsefile_cb (GtkWidget *button, GtkWidget *entry) +{ + gtkutil_file_req (_("Select an Image File"), setup_filereq_cb, entry, NULL, 0); +} + +static void +setup_fontsel_destroy (GtkWidget *button, GtkFontSelectionDialog *dialog) +{ + font_dialog = NULL; +} + +static void +setup_fontsel_cb (GtkWidget *button, GtkFontSelectionDialog *dialog) +{ + GtkWidget *entry; + char *font_name; + + entry = g_object_get_data (G_OBJECT (button), "e"); + font_name = gtk_font_selection_dialog_get_font_name (dialog); + + gtk_entry_set_text (GTK_ENTRY (entry), font_name); + + g_free (font_name); + gtk_widget_destroy (GTK_WIDGET (dialog)); + font_dialog = NULL; +} + +static void +setup_fontsel_cancel (GtkWidget *button, GtkFontSelectionDialog *dialog) +{ + gtk_widget_destroy (GTK_WIDGET (dialog)); + font_dialog = NULL; +} + +static void +setup_browsefolder_cb (GtkWidget *button, GtkEntry *entry) +{ + gtkutil_file_req (_("Select Download Folder"), setup_filereq_cb, entry, entry->text, FRF_CHOOSEFOLDER); +} + +static void +setup_browsefont_cb (GtkWidget *button, GtkWidget *entry) +{ + GtkFontSelection *sel; + GtkFontSelectionDialog *dialog; + + dialog = (GtkFontSelectionDialog *) gtk_font_selection_dialog_new (_("Select font")); + font_dialog = (GtkWidget *)dialog; /* global var */ + + sel = (GtkFontSelection *) dialog->fontsel; + + if (GTK_ENTRY (entry)->text[0]) + gtk_font_selection_set_font_name (sel, GTK_ENTRY (entry)->text); + + g_object_set_data (G_OBJECT (dialog->ok_button), "e", entry); + + g_signal_connect (G_OBJECT (dialog), "destroy", + G_CALLBACK (setup_fontsel_destroy), dialog); + g_signal_connect (G_OBJECT (dialog->ok_button), "clicked", + G_CALLBACK (setup_fontsel_cb), dialog); + g_signal_connect (G_OBJECT (dialog->cancel_button), "clicked", + G_CALLBACK (setup_fontsel_cancel), dialog); + + gtk_widget_show (GTK_WIDGET (dialog)); +} + +static void +setup_entry_cb (GtkEntry *entry, setting *set) +{ + int size; + int pos; + int len = strlen (entry->text); + unsigned char *p = entry->text; + + /* need to truncate? */ + if (len >= set->extra) + { + len = pos = 0; + while (1) + { + size = g_utf8_skip [*p]; + len += size; + p += size; + /* truncate to "set->extra" BYTES */ + if (len >= set->extra) + { + gtk_editable_delete_text (GTK_EDITABLE (entry), pos, -1); + break; + } + pos++; + } + } + else + { + setup_set_str (&setup_prefs, set, entry->text); + } +} + +static void +setup_create_label (GtkWidget *table, int row, const setting *set) +{ + gtk_table_attach (GTK_TABLE (table), setup_create_italic_label (_(set->label)), + set->extra ? 1 : 3, 5, row, row + 1, GTK_FILL, + GTK_SHRINK | GTK_FILL, 0, 0); +} + +static GtkWidget * +setup_create_entry (GtkWidget *table, int row, const setting *set) +{ + GtkWidget *label; + GtkWidget *wid, *bwid; + + label = gtk_label_new (_(set->label)); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (table), label, 2, 3, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + wid = gtk_entry_new (); + g_object_set_data (G_OBJECT (wid), "lbl", label); + if (set->list) + gtk_entry_set_visibility (GTK_ENTRY (wid), FALSE); + if (set->tooltip) + add_tip (wid, _(set->tooltip)); + gtk_entry_set_max_length (GTK_ENTRY (wid), set->extra - 1); + gtk_entry_set_text (GTK_ENTRY (wid), setup_get_str (&setup_prefs, set)); + g_signal_connect (G_OBJECT (wid), "changed", + G_CALLBACK (setup_entry_cb), (gpointer)set); + + if (set->offset == P_OFFSETNL(proxy_user)) + proxy_user = wid; + if (set->offset == P_OFFSETNL(proxy_pass)) + proxy_pass = wid; + + /* only http and Socks5 can auth */ + if ( (set->offset == P_OFFSETNL(proxy_pass) || + set->offset == P_OFFSETNL(proxy_user)) && + (setup_prefs.proxy_type != 4 && setup_prefs.proxy_type != 3 && setup_prefs.proxy_type != 5) ) + gtk_widget_set_sensitive (wid, FALSE); + + if (set->type == ST_ENTRY) + gtk_table_attach (GTK_TABLE (table), wid, 3, 6, row, row + 1, + GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); + else + { + gtk_table_attach (GTK_TABLE (table), wid, 3, 5, row, row + 1, + GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); + bwid = gtk_button_new_with_label (_("Browse...")); + gtk_table_attach (GTK_TABLE (table), bwid, 5, 6, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_FILL, 0, 0); + if (set->type == ST_EFILE) + g_signal_connect (G_OBJECT (bwid), "clicked", + G_CALLBACK (setup_browsefile_cb), wid); + if (set->type == ST_EFONT) + g_signal_connect (G_OBJECT (bwid), "clicked", + G_CALLBACK (setup_browsefont_cb), wid); + if (set->type == ST_EFOLDER) + g_signal_connect (G_OBJECT (bwid), "clicked", + G_CALLBACK (setup_browsefolder_cb), wid); + } + + return wid; +} + +static void +setup_create_header (GtkWidget *table, int row, char *labeltext) +{ + GtkWidget *label; + char buf[128]; + + if (row == 0) + snprintf (buf, sizeof (buf), "<b>%s</b>", _(labeltext)); + else + snprintf (buf, sizeof (buf), "\n<b>%s</b>", _(labeltext)); + + label = gtk_label_new (NULL); + gtk_label_set_markup (GTK_LABEL (label), buf); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (table), label, 0, 4, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 5); +} + +static GtkWidget * +setup_create_frame (GtkWidget **left, GtkWidget *box) +{ + GtkWidget *tab, *hbox, *inbox = box; + + tab = gtk_table_new (3, 2, FALSE); + gtk_container_set_border_width (GTK_CONTAINER (tab), 6); + gtk_table_set_row_spacings (GTK_TABLE (tab), 2); + gtk_table_set_col_spacings (GTK_TABLE (tab), 3); + gtk_container_add (GTK_CONTAINER (inbox), tab); + + hbox = gtk_hbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (inbox), hbox); + + *left = gtk_vbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox), *left, 0, 0, 0); + + return tab; +} + +static void +open_data_cb (GtkWidget *button, gpointer data) +{ + fe_open_url (get_xdir_utf8 ()); +} + +static GtkWidget * +setup_create_page (const setting *set) +{ + int i, row, do_disable; + GtkWidget *tab, *box, *left; + GtkWidget *wid = NULL, *prev; + + box = gtk_vbox_new (FALSE, 1); + gtk_container_set_border_width (GTK_CONTAINER (box), 6); + + tab = setup_create_frame (&left, box); + + i = row = do_disable = 0; + while (set[i].type != ST_END) + { + prev = wid; + + switch (set[i].type) + { + case ST_HEADER: + setup_create_header (tab, row, set[i].label); + break; + case ST_EFONT: + case ST_ENTRY: + case ST_EFILE: + case ST_EFOLDER: + wid = setup_create_entry (tab, row, &set[i]); + break; + case ST_TOGGLR: + row--; + setup_create_toggleR (tab, row, &set[i]); + break; + case ST_TOGGLE: + wid = setup_create_toggleL (tab, row, &set[i]); + do_disable = set[i].extra; + break; + case ST_3OGGLE: + setup_create_3oggle (tab, row, &set[i]); + break; + case ST_MENU: + setup_create_menu (tab, row, &set[i]); + break; + case ST_RADIO: + row += setup_create_radio (tab, row, &set[i]); + break; + case ST_NUMBER: + wid = setup_create_spin (tab, row, &set[i]); + break; + case ST_HSCALE: + setup_create_hscale (tab, row, &set[i]); + break; + case ST_LABEL: + setup_create_label (tab, row, &set[i]); + break; + case ST_ALERTHEAD: + setup_create_alert_header (tab, row, &set[i]); + } + + /* will this toggle disable the "next" widget? */ + do_disable--; + if (do_disable == 0) + { + /* setup_toggle_cb uses this data */ + g_object_set_data (G_OBJECT (prev), "nxt", wid); + /* force initial sensitive state */ + gtk_widget_set_sensitive (wid, GTK_TOGGLE_BUTTON (prev)->active); + gtk_widget_set_sensitive (g_object_get_data (G_OBJECT (wid), "lbl"), + GTK_TOGGLE_BUTTON (prev)->active); + } + + i++; + row++; + } + +#if 0 + if (set == general_settings) + { + setup_create_id_menu (tab, _("Mark identified users with:"), + row, setup_prefs.irc_id_ytext); + setup_create_id_menu (tab, _("Mark not-identified users with:"), + row + 1, setup_prefs.irc_id_ntext); + } +#endif + + if (set == logging_settings) + { + GtkWidget *but = gtk_button_new_with_label (_("Open Data Folder")); + gtk_box_pack_start (GTK_BOX (left), but, 0, 0, 0); + g_signal_connect (G_OBJECT (but), "clicked", + G_CALLBACK (open_data_cb), 0); + } + + return box; +} + +static void +setup_color_ok_cb (GtkWidget *button, GtkWidget *dialog) +{ + GtkColorSelectionDialog *cdialog = GTK_COLOR_SELECTION_DIALOG (dialog); + GdkColor *col; + GdkColor old_color; + GtkStyle *style; + + col = g_object_get_data (G_OBJECT (button), "c"); + old_color = *col; + + button = g_object_get_data (G_OBJECT (button), "b"); + + if (!GTK_IS_WIDGET (button)) + { + gtk_widget_destroy (dialog); + return; + } + + color_change = TRUE; + + gtk_color_selection_get_current_color (GTK_COLOR_SELECTION (cdialog->colorsel), col); + + gdk_colormap_alloc_color (gtk_widget_get_colormap (button), col, TRUE, TRUE); + + style = gtk_style_new (); + style->bg[0] = *col; + gtk_widget_set_style (button, style); + g_object_unref (style); + + /* is this line correct?? */ + gdk_colormap_free_colors (gtk_widget_get_colormap (button), &old_color, 1); + + gtk_widget_destroy (dialog); +} + +static void +setup_color_cb (GtkWidget *button, gpointer userdata) +{ + GtkWidget *dialog; + GtkColorSelectionDialog *cdialog; + GdkColor *color; + + color = &colors[GPOINTER_TO_INT (userdata)]; + + dialog = gtk_color_selection_dialog_new (_("Select color")); + cdialog = GTK_COLOR_SELECTION_DIALOG (dialog); + + gtk_widget_hide (cdialog->help_button); + g_signal_connect (G_OBJECT (cdialog->ok_button), "clicked", + G_CALLBACK (setup_color_ok_cb), dialog); + g_signal_connect (G_OBJECT (cdialog->cancel_button), "clicked", + G_CALLBACK (gtkutil_destroy), dialog); + g_object_set_data (G_OBJECT (cdialog->ok_button), "c", color); + g_object_set_data (G_OBJECT (cdialog->ok_button), "b", button); + gtk_widget_set_sensitive (cdialog->help_button, FALSE); + gtk_color_selection_set_current_color (GTK_COLOR_SELECTION (cdialog->colorsel), color); + gtk_widget_show (dialog); +} + +static void +setup_create_color_button (GtkWidget *table, int num, int row, int col) +{ + GtkWidget *but; + GtkStyle *style; + char buf[64]; + + if (num > 31) + strcpy (buf, "<span size=\"x-small\"> </span>"); + else + /* 12345678901 23456789 01 23456789 */ + sprintf (buf, "<span size=\"x-small\">%d</span>", num); + but = gtk_button_new_with_label (" "); + gtk_label_set_markup (GTK_LABEL (GTK_BIN (but)->child), buf); + /* win32 build uses this to turn off themeing */ + g_object_set_data (G_OBJECT (but), "xchat-color", (gpointer)1); + gtk_table_attach (GTK_TABLE (table), but, col, col+1, row, row+1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + g_signal_connect (G_OBJECT (but), "clicked", + G_CALLBACK (setup_color_cb), GINT_TO_POINTER (num)); + style = gtk_style_new (); + style->bg[GTK_STATE_NORMAL] = colors[num]; + gtk_widget_set_style (but, style); + g_object_unref (style); +} + +static void +setup_create_other_colorR (char *text, int num, int row, GtkWidget *tab) +{ + GtkWidget *label; + + label = gtk_label_new (text); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (tab), label, 5, 9, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + setup_create_color_button (tab, num, row, 9); +} + +static void +setup_create_other_color (char *text, int num, int row, GtkWidget *tab) +{ + GtkWidget *label; + + label = gtk_label_new (text); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (tab), label, 2, 3, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + setup_create_color_button (tab, num, row, 3); +} + +static GtkWidget * +setup_create_color_page (void) +{ + GtkWidget *tab, *box, *label; + int i; + + box = gtk_vbox_new (FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (box), 6); + + tab = gtk_table_new (9, 2, FALSE); + gtk_container_set_border_width (GTK_CONTAINER (tab), 6); + gtk_table_set_row_spacings (GTK_TABLE (tab), 2); + gtk_table_set_col_spacings (GTK_TABLE (tab), 3); + gtk_container_add (GTK_CONTAINER (box), tab); + + setup_create_header (tab, 0, N_("Text Colors")); + + label = gtk_label_new (_("mIRC colors:")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (tab), label, 2, 3, 1, 2, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + for (i = 0; i < 16; i++) + setup_create_color_button (tab, i, 1, i+3); + + label = gtk_label_new (_("Local colors:")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (tab), label, 2, 3, 2, 3, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + for (i = 16; i < 32; i++) + setup_create_color_button (tab, i, 2, (i+3) - 16); + + setup_create_other_color (_("Foreground:"), COL_FG, 3, tab); + setup_create_other_colorR (_("Background:"), COL_BG, 3, tab); + + setup_create_header (tab, 5, N_("Marking Text")); + + setup_create_other_color (_("Foreground:"), COL_MARK_FG, 6, tab); + setup_create_other_colorR (_("Background:"), COL_MARK_BG, 6, tab); + + setup_create_header (tab, 8, N_("Interface Colors")); + + setup_create_other_color (_("New data:"), COL_NEW_DATA, 9, tab); + setup_create_other_colorR (_("Marker line:"), COL_MARKER, 9, tab); + setup_create_other_color (_("New message:"), COL_NEW_MSG, 10, tab); + setup_create_other_colorR (_("Away user:"), COL_AWAY, 10, tab); + setup_create_other_color (_("Highlight:"), COL_HILIGHT, 11, tab); + + return box; +} + +/* === GLOBALS for sound GUI === */ + +static GtkWidget *sndprog_entry; +static GtkWidget *sndfile_entry; +static GtkWidget *snddir_entry; +static int ignore_changed = FALSE; + +extern struct text_event te[]; /* text.c */ +extern char *sound_files[]; + +static void +setup_snd_apply (void) +{ + strcpy (setup_prefs.sounddir, GTK_ENTRY (snddir_entry)->text); + strcpy (setup_prefs.soundcmd, GTK_ENTRY (sndprog_entry)->text); +} + +static void +setup_snd_populate (GtkTreeView * treeview) +{ + GtkListStore *store; + GtkTreeIter iter; + GtkTreeSelection *sel; + GtkTreePath *path; + int i; + + sel = gtk_tree_view_get_selection (treeview); + store = (GtkListStore *)gtk_tree_view_get_model (treeview); + + for (i = NUM_XP-1; i >= 0; i--) + { + gtk_list_store_prepend (store, &iter); + if (sound_files[i]) + gtk_list_store_set (store, &iter, 0, te[i].name, 1, sound_files[i], 2, i, -1); + else + gtk_list_store_set (store, &iter, 0, te[i].name, 1, "", 2, i, -1); + if (i == last_selected_row) + { + gtk_tree_selection_select_iter (sel, &iter); + path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), &iter); + if (path) + { + gtk_tree_view_scroll_to_cell (treeview, path, NULL, TRUE, 0.5, 0.5); + gtk_tree_view_set_cursor (treeview, path, NULL, FALSE); + gtk_tree_path_free (path); + } + } + } +} + +static int +setup_snd_get_selected (GtkTreeSelection *sel, GtkTreeIter *iter) +{ + int n; + GtkTreeModel *model; + + if (!gtk_tree_selection_get_selected (sel, &model, iter)) + return -1; + + gtk_tree_model_get (model, iter, 2, &n, -1); + return n; +} + +static void +setup_snd_row_cb (GtkTreeSelection *sel, gpointer user_data) +{ + int n; + GtkTreeIter iter; + + n = setup_snd_get_selected (sel, &iter); + if (n == -1) + return; + last_selected_row = n; + + ignore_changed = TRUE; + if (sound_files[n]) + gtk_entry_set_text (GTK_ENTRY (sndfile_entry), sound_files[n]); + else + gtk_entry_set_text (GTK_ENTRY (sndfile_entry), ""); + ignore_changed = FALSE; +} + +static void +setup_snd_add_columns (GtkTreeView * treeview) +{ + GtkCellRenderer *renderer; + GtkTreeModel *model; + + /* event column */ + renderer = gtk_cell_renderer_text_new (); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview), + -1, _("Event"), renderer, + "text", 0, NULL); + + /* file column */ + renderer = gtk_cell_renderer_text_new (); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview), + -1, _("Sound file"), renderer, + "text", 1, NULL); + + model = GTK_TREE_MODEL (gtk_list_store_new (3, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT)); + gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), model); + g_object_unref (model); +} + +static void +setup_autotoggle_cb (GtkToggleButton *but, GtkToggleButton *ext) +{ + if (but->active) + { + setup_prefs.soundcmd[0] = 0; + gtk_entry_set_text (GTK_ENTRY (sndprog_entry), ""); + gtk_widget_set_sensitive (sndprog_entry, FALSE); + } else + { + gtk_widget_set_sensitive (sndprog_entry, TRUE); + } +} + +static void +setup_snd_filereq_cb (GtkWidget *entry, char *file) +{ + if (file) + { + if (file[0]) + gtk_entry_set_text (GTK_ENTRY (entry), file); + } +} + +static void +setup_snd_browse_cb (GtkWidget *button, GtkEntry *entry) +{ + gtkutil_file_req (_("Select a sound file"), setup_snd_filereq_cb, entry, NULL, 0); +} + +static void +setup_snd_play_cb (GtkWidget *button, GtkEntry *entry) +{ + sound_play (entry->text, FALSE); +} + +static void +setup_snd_changed_cb (GtkEntry *ent, GtkTreeView *tree) +{ + int n; + GtkTreeIter iter; + GtkListStore *store; + GtkTreeSelection *sel; + + if (ignore_changed) + return; + + sel = gtk_tree_view_get_selection (tree); + n = setup_snd_get_selected (sel, &iter); + if (n == -1) + return; + + /* get the new sound file */ + if (sound_files[n]) + free (sound_files[n]); + sound_files[n] = strdup (GTK_ENTRY (ent)->text); + + /* update the TreeView list */ + store = (GtkListStore *)gtk_tree_view_get_model (tree); + gtk_list_store_set (store, &iter, 1, sound_files[n], -1); + + gtk_widget_set_sensitive (cancel_button, FALSE); +} + +static GtkWidget * +setup_create_sound_page (void) +{ + GtkWidget *vbox1; + GtkWidget *vbox2; + GtkWidget *table2; + GtkWidget *label2; + GtkWidget *label3; + GtkWidget *radio_external; + GSList *radio_group = NULL; + GtkWidget *radio_auto; + GtkWidget *label4; + GtkWidget *entry3; + GtkWidget *scrolledwindow1; + GtkWidget *sound_tree; + GtkWidget *table1; + GtkWidget *sound_label; + GtkWidget *sound_browse; + GtkWidget *sound_play; + GtkTreeSelection *sel; + + vbox1 = gtk_vbox_new (FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (vbox1), 6); + gtk_widget_show (vbox1); + + vbox2 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox2); + gtk_container_add (GTK_CONTAINER (vbox1), vbox2); + + table2 = gtk_table_new (4, 3, FALSE); + gtk_widget_show (table2); + gtk_box_pack_start (GTK_BOX (vbox2), table2, FALSE, TRUE, 8); + gtk_table_set_row_spacings (GTK_TABLE (table2), 2); + gtk_table_set_col_spacings (GTK_TABLE (table2), 4); + + label2 = gtk_label_new (_("Sound playing method:")); + gtk_widget_show (label2); + gtk_table_attach (GTK_TABLE (table2), label2, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label2), 0, 0.5); + + label3 = + gtk_label_new_with_mnemonic (_("External sound playing _program:")); + gtk_widget_show (label3); + gtk_table_attach (GTK_TABLE (table2), label3, 0, 1, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label3), 0, 0.5); + + sndprog_entry = gtk_entry_new (); + if (setup_prefs.soundcmd[0] == 0) + gtk_widget_set_sensitive (sndprog_entry, FALSE); + else + gtk_entry_set_text (GTK_ENTRY (sndprog_entry), setup_prefs.soundcmd); + gtk_widget_show (sndprog_entry); + gtk_table_attach (GTK_TABLE (table2), sndprog_entry, 1, 3, 2, 3, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + radio_external = + gtk_radio_button_new_with_mnemonic (NULL, _("_External program")); + gtk_widget_show (radio_external); + gtk_table_attach (GTK_TABLE (table2), radio_external, 1, 3, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_external), + radio_group); + radio_group = + gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_external)); + + radio_auto = gtk_radio_button_new_with_mnemonic (NULL, _("_Automatic")); + g_signal_connect (G_OBJECT (radio_auto), "toggled", + G_CALLBACK (setup_autotoggle_cb), radio_external); + gtk_widget_show (radio_auto); + gtk_table_attach (GTK_TABLE (table2), radio_auto, 1, 3, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_auto), + radio_group); + radio_group = + gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_auto)); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio_auto), setup_prefs.soundcmd[0] == 0); + + label4 = gtk_label_new_with_mnemonic (_("Sound files _directory:")); + gtk_widget_show (label4); + gtk_table_attach (GTK_TABLE (table2), label4, 0, 1, 3, 4, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5); + + snddir_entry = entry3 = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (entry3), setup_prefs.sounddir); + gtk_widget_show (entry3); + gtk_table_attach (GTK_TABLE (table2), entry3, 1, 3, 3, 4, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow1); + gtk_container_add (GTK_CONTAINER (vbox2), scrolledwindow1); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), + GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow1), + GTK_SHADOW_IN); + + sound_tree = gtk_tree_view_new (); + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (sound_tree)); + gtk_tree_selection_set_mode (sel, GTK_SELECTION_SINGLE); + setup_snd_add_columns (GTK_TREE_VIEW (sound_tree)); + setup_snd_populate (GTK_TREE_VIEW (sound_tree)); + g_signal_connect (G_OBJECT (sel), "changed", + G_CALLBACK (setup_snd_row_cb), NULL); + gtk_widget_show (sound_tree); + gtk_container_add (GTK_CONTAINER (scrolledwindow1), sound_tree); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (sound_tree), TRUE); + + table1 = gtk_table_new (2, 3, FALSE); + gtk_widget_show (table1); + gtk_box_pack_start (GTK_BOX (vbox2), table1, FALSE, TRUE, 8); + gtk_table_set_row_spacings (GTK_TABLE (table1), 2); + gtk_table_set_col_spacings (GTK_TABLE (table1), 4); + + sound_label = gtk_label_new_with_mnemonic (_("Sound file:")); + gtk_widget_show (sound_label); + gtk_table_attach (GTK_TABLE (table1), sound_label, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (sound_label), 0, 0.5); + + sndfile_entry = gtk_entry_new (); + g_signal_connect (G_OBJECT (sndfile_entry), "changed", + G_CALLBACK (setup_snd_changed_cb), sound_tree); + gtk_widget_show (sndfile_entry); + gtk_table_attach (GTK_TABLE (table1), sndfile_entry, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + sound_browse = gtk_button_new_with_mnemonic (_("_Browse...")); + g_signal_connect (G_OBJECT (sound_browse), "clicked", + G_CALLBACK (setup_snd_browse_cb), sndfile_entry); + gtk_widget_show (sound_browse); + gtk_table_attach (GTK_TABLE (table1), sound_browse, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + +#ifdef GTK_STOCK_MEDIA_PLAY + sound_play = gtk_button_new_from_stock (GTK_STOCK_MEDIA_PLAY); +#else + sound_play = gtk_button_new_with_mnemonic (_("_Play")); +#endif + g_signal_connect (G_OBJECT (sound_play), "clicked", + G_CALLBACK (setup_snd_play_cb), sndfile_entry); + gtk_widget_show (sound_play); + gtk_table_attach (GTK_TABLE (table1), sound_play, 2, 3, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + gtk_label_set_mnemonic_widget (GTK_LABEL (label3), sndprog_entry); + gtk_label_set_mnemonic_widget (GTK_LABEL (label4), entry3); + setup_snd_row_cb (sel, NULL); + + return vbox1; +} + +static void +setup_add_page (const char *title, GtkWidget *book, GtkWidget *tab) +{ + GtkWidget *oframe, *frame, *label, *vvbox; + char buf[128]; + + /* frame for whole page */ + oframe = gtk_frame_new (NULL); + gtk_frame_set_shadow_type (GTK_FRAME (oframe), GTK_SHADOW_IN); + + vvbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (oframe), vvbox); + + /* border for the label */ + frame = gtk_frame_new (NULL); + gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT); + gtk_box_pack_start (GTK_BOX (vvbox), frame, FALSE, TRUE, 0); + + /* label */ + label = gtk_label_new (NULL); + snprintf (buf, sizeof (buf), "<b><big>%s</big></b>", _(title)); + gtk_label_set_markup (GTK_LABEL (label), buf); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_misc_set_padding (GTK_MISC (label), 2, 1); + gtk_container_add (GTK_CONTAINER (frame), label); + + gtk_container_add (GTK_CONTAINER (vvbox), tab); + + gtk_notebook_append_page (GTK_NOTEBOOK (book), oframe, NULL); +} + +static const char *const cata[] = +{ + N_("Interface"), + N_("Text box"), + N_("Input box"), + N_("User list"), + N_("Channel switcher"), + N_("Colors"), + NULL, + N_("Chatting"), + N_("Alerts"), + N_("General"), + N_("Logging"), + N_("Sound"), +/* N_("Advanced"),*/ + NULL, + N_("Network"), + N_("Network setup"), + N_("File transfers"), + NULL, + NULL +}; + +static GtkWidget * +setup_create_pages (GtkWidget *box) +{ + GtkWidget *book; + + book = gtk_notebook_new (); + + setup_add_page (cata[1], book, setup_create_page (textbox_settings)); + setup_add_page (cata[2], book, setup_create_page (inputbox_settings)); + setup_add_page (cata[3], book, setup_create_page (userlist_settings)); + setup_add_page (cata[4], book, setup_create_page (tabs_settings)); + setup_add_page (cata[5], book, setup_create_color_page ()); + setup_add_page (cata[8], book, setup_create_page (alert_settings)); + setup_add_page (cata[9], book, setup_create_page (general_settings)); + setup_add_page (cata[10], book, setup_create_page (logging_settings)); + setup_add_page (cata[11], book, setup_create_sound_page ()); + setup_add_page (cata[14], book, setup_create_page (network_settings)); + setup_add_page (cata[15], book, setup_create_page (filexfer_settings)); + + gtk_notebook_set_show_tabs (GTK_NOTEBOOK (book), FALSE); + gtk_notebook_set_show_border (GTK_NOTEBOOK (book), FALSE); + gtk_container_add (GTK_CONTAINER (box), book); + + return book; +} + +static void +setup_tree_cb (GtkTreeView *treeview, GtkWidget *book) +{ + GtkTreeSelection *selection = gtk_tree_view_get_selection (treeview); + GtkTreeIter iter; + GtkTreeModel *model; + int page; + + if (gtk_tree_selection_get_selected (selection, &model, &iter)) + { + gtk_tree_model_get (model, &iter, 1, &page, -1); + if (page != -1) + { + gtk_notebook_set_current_page (GTK_NOTEBOOK (book), page); + last_selected_page = page; + } + } +} + +static gboolean +setup_tree_select_filter (GtkTreeSelection *selection, GtkTreeModel *model, + GtkTreePath *path, gboolean path_selected, + gpointer data) +{ + if (gtk_tree_path_get_depth (path) > 1) + return TRUE; + return FALSE; +} + +static void +setup_create_tree (GtkWidget *box, GtkWidget *book) +{ + GtkWidget *tree; + GtkWidget *frame; + GtkTreeStore *model; + GtkTreeIter iter; + GtkTreeIter child_iter; + GtkTreeIter *sel_iter = NULL; + GtkCellRenderer *renderer; + GtkTreeSelection *sel; + int i, page; + + model = gtk_tree_store_new (2, G_TYPE_STRING, G_TYPE_INT); + + i = 0; + page = 0; + do + { + gtk_tree_store_append (model, &iter, NULL); + gtk_tree_store_set (model, &iter, 0, _(cata[i]), 1, -1, -1); + i++; + + do + { + gtk_tree_store_append (model, &child_iter, &iter); + gtk_tree_store_set (model, &child_iter, 0, _(cata[i]), 1, page, -1); + if (page == last_selected_page) + sel_iter = gtk_tree_iter_copy (&child_iter); + page++; + i++; + } while (cata[i]); + + i++; + + } while (cata[i]); + + tree = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model)); + g_object_unref (G_OBJECT (model)); + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree)); + gtk_tree_selection_set_mode (sel, GTK_SELECTION_BROWSE); + gtk_tree_selection_set_select_function (sel, setup_tree_select_filter, + NULL, NULL); + g_signal_connect (G_OBJECT (tree), "cursor_changed", + G_CALLBACK (setup_tree_cb), book); + + renderer = gtk_cell_renderer_text_new (); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (tree), + -1, _("Categories"), renderer, "text", 0, NULL); + gtk_tree_view_expand_all (GTK_TREE_VIEW (tree)); + + frame = gtk_frame_new (NULL); + gtk_container_add (GTK_CONTAINER (frame), tree); + gtk_box_pack_start (GTK_BOX (box), frame, 0, 0, 0); + gtk_box_reorder_child (GTK_BOX (box), frame, 0); + + if (sel_iter) + { + gtk_tree_selection_select_iter (sel, sel_iter); + gtk_tree_iter_free (sel_iter); + } +} + +static void +setup_apply_entry_style (GtkWidget *entry) +{ + gtk_widget_modify_base (entry, GTK_STATE_NORMAL, &colors[COL_BG]); + gtk_widget_modify_text (entry, GTK_STATE_NORMAL, &colors[COL_FG]); + gtk_widget_modify_font (entry, input_style->font_desc); +} + +static void +setup_apply_to_sess (session_gui *gui) +{ +#ifdef USE_GTKSPELL + GtkSpell *spell; +#endif + + mg_update_xtext (gui->xtext); + + if (prefs.style_namelistgad) + gtk_widget_set_style (gui->user_tree, input_style); + + if (prefs.style_inputbox) + { + extern char cursor_color_rc[]; + char buf[256]; + sprintf (buf, cursor_color_rc, + (colors[COL_FG].red >> 8), + (colors[COL_FG].green >> 8), + (colors[COL_FG].blue >> 8)); + gtk_rc_parse_string (buf); + + setup_apply_entry_style (gui->input_box); + setup_apply_entry_style (gui->limit_entry); + setup_apply_entry_style (gui->key_entry); + setup_apply_entry_style (gui->topic_entry); + } + + if (prefs.userlistbuttons) + gtk_widget_show (gui->button_box); + else + gtk_widget_hide (gui->button_box); + +#ifdef USE_GTKSPELL + spell = gtkspell_get_from_text_view (GTK_TEXT_VIEW (gui->input_box)); + if (prefs.gui_input_spell) + { + if (!spell) + gtkspell_new_attach (GTK_TEXT_VIEW (gui->input_box), NULL, NULL); + } + else + { + if (spell) + gtkspell_detach (spell); + } +#endif + +#ifdef USE_LIBSEXY + sexy_spell_entry_set_checked ((SexySpellEntry *)gui->input_box, prefs.gui_input_spell); +#endif +} + +static void +unslash (char *dir) +{ + if (dir[0]) + { + int len = strlen (dir) - 1; +#ifdef WIN32 + if (dir[len] == '/' || dir[len] == '\\') +#else + if (dir[len] == '/') +#endif + dir[len] = 0; + } +} + +void +setup_apply_real (int new_pix, int do_ulist, int do_layout) +{ + GSList *list; + session *sess; + int done_main = FALSE; + + /* remove trailing slashes */ + unslash (prefs.dccdir); + unslash (prefs.dcc_completed_dir); + + mkdir_utf8 (prefs.dccdir); + mkdir_utf8 (prefs.dcc_completed_dir); + + if (new_pix) + { + if (channelwin_pix) + g_object_unref (channelwin_pix); + channelwin_pix = pixmap_load_from_file (prefs.background); + } + + input_style = create_input_style (input_style); + + list = sess_list; + while (list) + { + sess = list->data; + if (sess->gui->is_tab) + { + /* only apply to main tabwindow once */ + if (!done_main) + { + done_main = TRUE; + setup_apply_to_sess (sess->gui); + } + } else + { + setup_apply_to_sess (sess->gui); + } + + log_open_or_close (sess); + + if (do_ulist) + userlist_rehash (sess); + + list = list->next; + } + + mg_apply_setup (); + tray_apply_setup (); + + if (do_layout) + menu_change_layout (); +} + +static void +setup_apply (struct xchatprefs *pr) +{ + int new_pix = FALSE; + int noapply = FALSE; + int do_ulist = FALSE; + int do_layout = FALSE; + + if (strcmp (pr->background, prefs.background) != 0) + new_pix = TRUE; + +#define DIFF(a) (pr->a != prefs.a) + + if (DIFF (paned_userlist)) + noapply = TRUE; + if (DIFF (lagometer)) + noapply = TRUE; + if (DIFF (throttlemeter)) + noapply = TRUE; + if (DIFF (showhostname_in_userlist)) + noapply = TRUE; + if (DIFF (tab_small)) + noapply = TRUE; + if (DIFF (tab_sort)) + noapply = TRUE; + if (DIFF (use_server_tab)) + noapply = TRUE; + if (DIFF (style_namelistgad)) + noapply = TRUE; + if (DIFF (truncchans)) + noapply = TRUE; + if (DIFF (tab_layout)) + do_layout = TRUE; + + if (color_change || (DIFF (away_size_max)) || (DIFF (away_track))) + do_ulist = TRUE; + + if ((pr->tab_pos == 5 || pr->tab_pos == 6) && + pr->tab_layout == 2 && pr->tab_pos != prefs.tab_pos) + fe_message (_("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."), + FE_MSG_WARN | FE_MSG_MARKUP); + + memcpy (&prefs, pr, sizeof (prefs)); + + setup_apply_real (new_pix, do_ulist, do_layout); + + if (noapply) + fe_message (_("Some settings were changed that require a" + " restart to take full effect."), FE_MSG_WARN); + +#ifndef WIN32 + if (prefs.autodccsend == 1) + { + if (!strcmp ((char *)g_get_home_dir (), prefs.dccdir)) + { + fe_message (_("*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"), FE_MSG_WARN); + } + } +#endif +} + +#if 0 +static void +setup_apply_cb (GtkWidget *but, GtkWidget *win) +{ + /* setup_prefs -> xchat */ + setup_apply (&setup_prefs); +} +#endif + +static void +setup_ok_cb (GtkWidget *but, GtkWidget *win) +{ + setup_snd_apply (); + gtk_widget_destroy (win); + setup_apply (&setup_prefs); + save_config (); + palette_save (); +} + +static GtkWidget * +setup_window_open (void) +{ + GtkWidget *wid, *win, *vbox, *hbox, *hbbox; + + win = gtkutil_window_new (_("XChat: Preferences"), "prefs", 0, 0, 3); + + vbox = gtk_vbox_new (FALSE, 5); + gtk_container_set_border_width (GTK_CONTAINER (vbox), 6); + gtk_container_add (GTK_CONTAINER (win), vbox); + + hbox = gtk_hbox_new (FALSE, 4); + gtk_container_add (GTK_CONTAINER (vbox), hbox); + + setup_create_tree (hbox, setup_create_pages (hbox)); + + hbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_end (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); + + /* prepare the button box */ + hbbox = gtk_hbutton_box_new (); + gtk_box_set_spacing (GTK_BOX (hbbox), 4); + gtk_box_pack_end (GTK_BOX (hbox), hbbox, FALSE, FALSE, 0); + + /* standard buttons */ + /* GNOME doesn't like apply */ +#if 0 + wid = gtk_button_new_from_stock (GTK_STOCK_APPLY); + g_signal_connect (G_OBJECT (wid), "clicked", + G_CALLBACK (setup_apply_cb), win); + gtk_box_pack_start (GTK_BOX (hbbox), wid, FALSE, FALSE, 0); +#endif + + cancel_button = wid = gtk_button_new_from_stock (GTK_STOCK_CANCEL); + g_signal_connect (G_OBJECT (wid), "clicked", + G_CALLBACK (gtkutil_destroy), win); + gtk_box_pack_start (GTK_BOX (hbbox), wid, FALSE, FALSE, 0); + + wid = gtk_button_new_from_stock (GTK_STOCK_OK); + g_signal_connect (G_OBJECT (wid), "clicked", + G_CALLBACK (setup_ok_cb), win); + gtk_box_pack_start (GTK_BOX (hbbox), wid, FALSE, FALSE, 0); + + wid = gtk_hseparator_new (); + gtk_box_pack_end (GTK_BOX (vbox), wid, FALSE, FALSE, 0); + + gtk_widget_show_all (win); + + return win; +} + +static void +setup_close_cb (GtkWidget *win, GtkWidget **swin) +{ + *swin = NULL; + + if (font_dialog) + { + gtk_widget_destroy (font_dialog); + font_dialog = NULL; + } +} + +void +setup_open (void) +{ + static GtkWidget *setup_window = NULL; + + if (setup_window) + { + gtk_window_present (GTK_WINDOW (setup_window)); + return; + } + + memcpy (&setup_prefs, &prefs, sizeof (prefs)); + + color_change = FALSE; + setup_window = setup_window_open (); + + g_signal_connect (G_OBJECT (setup_window), "destroy", + G_CALLBACK (setup_close_cb), &setup_window); +} diff --git a/src/fe-gtk/sexy-spell-entry.c b/src/fe-gtk/sexy-spell-entry.c new file mode 100644 index 00000000..d67ffe2d --- /dev/null +++ b/src/fe-gtk/sexy-spell-entry.c @@ -0,0 +1,1329 @@ +/* + * @file libsexy/sexy-icon-entry.c Entry widget + * + * @Copyright (C) 2004-2006 Christian Hammond. + * Some of this code is from gtkspell, Copyright (C) 2002 Evan Martin. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include <gtk/gtk.h> +#include "sexy-spell-entry.h" +#include <string.h> +#include <glib/gi18n.h> +#include <sys/types.h> +/*#include "gtkspell-iso-codes.h" +#include "sexy-marshal.h"*/ + +/* + * Bunch of poop to make enchant into a runtime dependency rather than a + * compile-time dependency. This makes it so I don't have to hear the + * complaints from people with binary distributions who don't get spell + * checking because they didn't check their configure output. + */ +struct EnchantDict; +struct EnchantBroker; + +typedef void (*EnchantDictDescribeFn) (const char * const lang_tag, + const char * const provider_name, + const char * const provider_desc, + const char * const provider_file, + void * user_data); + +static struct EnchantBroker * (*enchant_broker_init) (void); +static void (*enchant_broker_free) (struct EnchantBroker * broker); +static void (*enchant_broker_free_dict) (struct EnchantBroker * broker, struct EnchantDict * dict); +static void (*enchant_broker_list_dicts) (struct EnchantBroker * broker, EnchantDictDescribeFn fn, void * user_data); +static struct EnchantDict * (*enchant_broker_request_dict) (struct EnchantBroker * broker, const char *const tag); + +static void (*enchant_dict_add_to_personal) (struct EnchantDict * dict, const char *const word, ssize_t len); +static void (*enchant_dict_add_to_session) (struct EnchantDict * dict, const char *const word, ssize_t len); +static int (*enchant_dict_check) (struct EnchantDict * dict, const char *const word, ssize_t len); +static void (*enchant_dict_describe) (struct EnchantDict * dict, EnchantDictDescribeFn fn, void * user_data); +static void (*enchant_dict_free_suggestions) (struct EnchantDict * dict, char **suggestions); +static void (*enchant_dict_store_replacement) (struct EnchantDict * dict, const char *const mis, ssize_t mis_len, const char *const cor, ssize_t cor_len); +static char ** (*enchant_dict_suggest) (struct EnchantDict * dict, const char *const word, ssize_t len, size_t * out_n_suggs); +static gboolean have_enchant = FALSE; + +struct _SexySpellEntryPriv +{ + struct EnchantBroker *broker; + PangoAttrList *attr_list; + gint mark_character; + GHashTable *dict_hash; + GSList *dict_list; + gchar **words; + gint *word_starts; + gint *word_ends; + gboolean checked; +}; + +static void sexy_spell_entry_class_init(SexySpellEntryClass *klass); +static void sexy_spell_entry_editable_init (GtkEditableClass *iface); +static void sexy_spell_entry_init(SexySpellEntry *entry); +static void sexy_spell_entry_finalize(GObject *obj); +static void sexy_spell_entry_destroy(GtkObject *obj); +static gint sexy_spell_entry_expose(GtkWidget *widget, GdkEventExpose *event); +static gint sexy_spell_entry_button_press(GtkWidget *widget, GdkEventButton *event); + +/* GtkEditable handlers */ +static void sexy_spell_entry_changed(GtkEditable *editable, gpointer data); + +/* Other handlers */ +static gboolean sexy_spell_entry_popup_menu(GtkWidget *widget, SexySpellEntry *entry); + +/* Internal utility functions */ +static gint gtk_entry_find_position (GtkEntry *entry, + gint x); +static gboolean word_misspelled (SexySpellEntry *entry, + int start, + int end); +static gboolean default_word_check (SexySpellEntry *entry, + const gchar *word); +static gboolean sexy_spell_entry_activate_language_internal (SexySpellEntry *entry, + const gchar *lang, + GError **error); +static gchar *get_lang_from_dict (struct EnchantDict *dict); +static void sexy_spell_entry_recheck_all (SexySpellEntry *entry); +static void entry_strsplit_utf8 (GtkEntry *entry, + gchar ***set, + gint **starts, + gint **ends); + +static GtkEntryClass *parent_class = NULL; + +G_DEFINE_TYPE_EXTENDED(SexySpellEntry, sexy_spell_entry, GTK_TYPE_ENTRY, 0, G_IMPLEMENT_INTERFACE(GTK_TYPE_EDITABLE, sexy_spell_entry_editable_init)); + +enum +{ + WORD_CHECK, + LAST_SIGNAL +}; +static guint signals[LAST_SIGNAL] = {0}; + +static gboolean +spell_accumulator(GSignalInvocationHint *hint, GValue *return_accu, const GValue *handler_return, gpointer data) +{ + gboolean ret = g_value_get_boolean(handler_return); + /* Handlers return TRUE if the word is misspelled. In this + * case, it means that we want to stop if the word is checked + * as correct */ + g_value_set_boolean (return_accu, ret); + return ret; +} + +static void +initialize_enchant () +{ + GModule *enchant; + gpointer funcptr; + + enchant = g_module_open("libenchant", 0); + if (enchant == NULL) + { + enchant = g_module_open("libenchant.so.1", 0); + if (enchant == NULL) + return; + } + + have_enchant = TRUE; + +#define MODULE_SYMBOL(name, func) \ + g_module_symbol(enchant, (name), &funcptr); \ + (func) = funcptr; + + MODULE_SYMBOL("enchant_broker_init", enchant_broker_init) + MODULE_SYMBOL("enchant_broker_free", enchant_broker_free) + MODULE_SYMBOL("enchant_broker_free_dict", enchant_broker_free_dict) + MODULE_SYMBOL("enchant_broker_list_dicts", enchant_broker_list_dicts) + MODULE_SYMBOL("enchant_broker_request_dict", enchant_broker_request_dict) + + MODULE_SYMBOL("enchant_dict_add_to_personal", enchant_dict_add_to_personal) + MODULE_SYMBOL("enchant_dict_add_to_session", enchant_dict_add_to_session) + MODULE_SYMBOL("enchant_dict_check", enchant_dict_check) + MODULE_SYMBOL("enchant_dict_describe", enchant_dict_describe) + MODULE_SYMBOL("enchant_dict_free_suggestions", + enchant_dict_free_suggestions) + MODULE_SYMBOL("enchant_dict_store_replacement", + enchant_dict_store_replacement) + MODULE_SYMBOL("enchant_dict_suggest", enchant_dict_suggest) + +#undef MODULE_SYMBOL +} + +static void +sexy_spell_entry_class_init(SexySpellEntryClass *klass) +{ + GObjectClass *gobject_class; + GtkObjectClass *object_class; + GtkWidgetClass *widget_class; + GtkEntryClass *entry_class; + + initialize_enchant(); + + parent_class = g_type_class_peek_parent(klass); + + gobject_class = G_OBJECT_CLASS(klass); + object_class = GTK_OBJECT_CLASS(klass); + widget_class = GTK_WIDGET_CLASS(klass); + entry_class = GTK_ENTRY_CLASS(klass); + + if (have_enchant) + klass->word_check = default_word_check; + + gobject_class->finalize = sexy_spell_entry_finalize; + + object_class->destroy = sexy_spell_entry_destroy; + + widget_class->expose_event = sexy_spell_entry_expose; + widget_class->button_press_event = sexy_spell_entry_button_press; + + /** + * SexySpellEntry::word-check: + * @entry: The entry on which the signal is emitted. + * @word: The word to check. + * + * The ::word-check signal is emitted whenever the entry has to check + * a word. This allows the application to mark words as correct even + * if none of the active dictionaries contain it, such as nicknames in + * a chat client. + * + * Returns: %FALSE to indicate that the word should be marked as + * correct. + */ +/* signals[WORD_CHECK] = g_signal_new("word_check", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(SexySpellEntryClass, word_check), + (GSignalAccumulator) spell_accumulator, NULL, + sexy_marshal_BOOLEAN__STRING, + G_TYPE_BOOLEAN, + 1, G_TYPE_STRING);*/ +} + +static void +sexy_spell_entry_editable_init (GtkEditableClass *iface) +{ +} + +static gint +gtk_entry_find_position (GtkEntry *entry, gint x) +{ + PangoLayout *layout; + PangoLayoutLine *line; + const gchar *text; + gint cursor_index; + gint index; + gint pos; + gboolean trailing; + + x = x + entry->scroll_offset; + + layout = gtk_entry_get_layout(entry); + text = pango_layout_get_text(layout); + cursor_index = g_utf8_offset_to_pointer(text, entry->current_pos) - text; + + line = pango_layout_get_lines(layout)->data; + pango_layout_line_x_to_index(line, x * PANGO_SCALE, &index, &trailing); + + if (index >= cursor_index && entry->preedit_length) { + if (index >= cursor_index + entry->preedit_length) { + index -= entry->preedit_length; + } else { + index = cursor_index; + trailing = FALSE; + } + } + + pos = g_utf8_pointer_to_offset (text, text + index); + pos += trailing; + + return pos; +} + +static void +insert_underline(SexySpellEntry *entry, guint start, guint end) +{ + PangoAttribute *ucolor = pango_attr_underline_color_new (65535, 0, 0); + PangoAttribute *unline = pango_attr_underline_new (PANGO_UNDERLINE_ERROR); + + ucolor->start_index = start; + unline->start_index = start; + + ucolor->end_index = end; + unline->end_index = end; + + pango_attr_list_insert (entry->priv->attr_list, ucolor); + pango_attr_list_insert (entry->priv->attr_list, unline); +} + +static void +get_word_extents_from_position(SexySpellEntry *entry, gint *start, gint *end, guint position) +{ + const gchar *text; + gint i, bytes_pos; + + *start = -1; + *end = -1; + + if (entry->priv->words == NULL) + return; + + text = gtk_entry_get_text(GTK_ENTRY(entry)); + bytes_pos = (gint) (g_utf8_offset_to_pointer(text, position) - text); + + for (i = 0; entry->priv->words[i]; i++) { + if (bytes_pos >= entry->priv->word_starts[i] && + bytes_pos <= entry->priv->word_ends[i]) { + *start = entry->priv->word_starts[i]; + *end = entry->priv->word_ends[i]; + return; + } + } +} + +static void +add_to_dictionary(GtkWidget *menuitem, SexySpellEntry *entry) +{ + char *word; + gint start, end; + struct EnchantDict *dict; + + if (!have_enchant) + return; + + get_word_extents_from_position(entry, &start, &end, entry->priv->mark_character); + word = gtk_editable_get_chars(GTK_EDITABLE(entry), start, end); + + dict = (struct EnchantDict *) g_object_get_data(G_OBJECT(menuitem), "enchant-dict"); + if (dict) + enchant_dict_add_to_personal(dict, word, -1); + + g_free(word); + + if (entry->priv->words) { + g_strfreev(entry->priv->words); + g_free(entry->priv->word_starts); + g_free(entry->priv->word_ends); + } + entry_strsplit_utf8(GTK_ENTRY(entry), &entry->priv->words, &entry->priv->word_starts, &entry->priv->word_ends); + sexy_spell_entry_recheck_all(entry); +} + +static void +ignore_all(GtkWidget *menuitem, SexySpellEntry *entry) +{ + char *word; + gint start, end; + GSList *li; + + if (!have_enchant) + return; + + get_word_extents_from_position(entry, &start, &end, entry->priv->mark_character); + word = gtk_editable_get_chars(GTK_EDITABLE(entry), start, end); + + for (li = entry->priv->dict_list; li; li = g_slist_next (li)) { + struct EnchantDict *dict = (struct EnchantDict *) li->data; + enchant_dict_add_to_session(dict, word, -1); + } + + g_free(word); + + if (entry->priv->words) { + g_strfreev(entry->priv->words); + g_free(entry->priv->word_starts); + g_free(entry->priv->word_ends); + } + entry_strsplit_utf8(GTK_ENTRY(entry), &entry->priv->words, &entry->priv->word_starts, &entry->priv->word_ends); + sexy_spell_entry_recheck_all(entry); +} + +static void +replace_word(GtkWidget *menuitem, SexySpellEntry *entry) +{ + char *oldword; + const char *newword; + gint start, end; + gint cursor; + struct EnchantDict *dict; + + if (!have_enchant) + return; + + get_word_extents_from_position(entry, &start, &end, entry->priv->mark_character); + oldword = gtk_editable_get_chars(GTK_EDITABLE(entry), start, end); + newword = gtk_label_get_text(GTK_LABEL(GTK_BIN(menuitem)->child)); + + cursor = gtk_editable_get_position(GTK_EDITABLE(entry)); + /* is the cursor at the end? If so, restore it there */ + if (g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(entry)), -1) == cursor) + cursor = -1; + else if(cursor > start && cursor <= end) + cursor = start; + + gtk_editable_delete_text(GTK_EDITABLE(entry), start, end); + gtk_editable_set_position(GTK_EDITABLE(entry), start); + gtk_editable_insert_text(GTK_EDITABLE(entry), newword, strlen(newword), + &start); + gtk_editable_set_position(GTK_EDITABLE(entry), cursor); + + dict = (struct EnchantDict *) g_object_get_data(G_OBJECT(menuitem), "enchant-dict"); + + if (dict) + enchant_dict_store_replacement(dict, + oldword, -1, + newword, -1); + + g_free(oldword); +} + +static void +build_suggestion_menu(SexySpellEntry *entry, GtkWidget *menu, struct EnchantDict *dict, const gchar *word) +{ + GtkWidget *mi; + gchar **suggestions; + size_t n_suggestions, i; + + if (!have_enchant) + return; + + suggestions = enchant_dict_suggest(dict, word, -1, &n_suggestions); + + if (suggestions == NULL || n_suggestions == 0) { + /* no suggestions. put something in the menu anyway... */ + GtkWidget *label = gtk_label_new(""); + gtk_label_set_markup(GTK_LABEL(label), _("<i>(no suggestions)</i>")); + + mi = gtk_separator_menu_item_new(); + gtk_container_add(GTK_CONTAINER(mi), label); + gtk_widget_show_all(mi); + gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), mi); + } else { + /* build a set of menus with suggestions */ + for (i = 0; i < n_suggestions; i++) { + if ((i != 0) && (i % 10 == 0)) { + mi = gtk_separator_menu_item_new(); + gtk_widget_show(mi); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), mi); + + mi = gtk_menu_item_new_with_label(_("More...")); + gtk_widget_show(mi); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), mi); + + menu = gtk_menu_new(); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(mi), menu); + } + + mi = gtk_menu_item_new_with_label(suggestions[i]); + g_object_set_data(G_OBJECT(mi), "enchant-dict", dict); + g_signal_connect(G_OBJECT(mi), "activate", G_CALLBACK(replace_word), entry); + gtk_widget_show(mi); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), mi); + } + } + + enchant_dict_free_suggestions(dict, suggestions); +} + +static GtkWidget * +build_spelling_menu(SexySpellEntry *entry, const gchar *word) +{ + struct EnchantDict *dict; + GtkWidget *topmenu, *mi; + gchar *label; + + if (!have_enchant) + return NULL; + + topmenu = gtk_menu_new(); + + if (entry->priv->dict_list == NULL) + return topmenu; + +#if 1 + dict = (struct EnchantDict *) entry->priv->dict_list->data; + build_suggestion_menu(entry, topmenu, dict, word); +#else + /* Suggestions */ + if (g_slist_length(entry->priv->dict_list) == 1) { + dict = (struct EnchantDict *) entry->priv->dict_list->data; + build_suggestion_menu(entry, topmenu, dict, word); + } else { + GSList *li; + GtkWidget *menu; + gchar *lang, *lang_name; + + for (li = entry->priv->dict_list; li; li = g_slist_next (li)) { + dict = (struct EnchantDict *) li->data; + lang = get_lang_from_dict(dict); + lang_name = gtkspell_iso_codes_lookup_name_for_code(lang); + if (lang_name) { + mi = gtk_menu_item_new_with_label(lang_name); + g_free(lang_name); + } else { + mi = gtk_menu_item_new_with_label(lang); + } + g_free(lang); + + gtk_widget_show(mi); + gtk_menu_shell_append(GTK_MENU_SHELL(topmenu), mi); + menu = gtk_menu_new(); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(mi), menu); + build_suggestion_menu(entry, menu, dict, word); + } + } +#endif + + /* Separator */ + mi = gtk_separator_menu_item_new (); + gtk_widget_show(mi); + gtk_menu_shell_append(GTK_MENU_SHELL(topmenu), mi); + + /* + Add to Dictionary */ + label = g_strdup_printf(_("Add \"%s\" to Dictionary"), word); + mi = gtk_image_menu_item_new_with_label(label); + g_free(label); + + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(mi), gtk_image_new_from_stock(GTK_STOCK_ADD, GTK_ICON_SIZE_MENU)); + +#if 1 + dict = (struct EnchantDict *) entry->priv->dict_list->data; + g_object_set_data(G_OBJECT(mi), "enchant-dict", dict); + g_signal_connect(G_OBJECT(mi), "activate", G_CALLBACK(add_to_dictionary), entry); +#else + if (g_slist_length(entry->priv->dict_list) == 1) { + dict = (struct EnchantDict *) entry->priv->dict_list->data; + g_object_set_data(G_OBJECT(mi), "enchant-dict", dict); + g_signal_connect(G_OBJECT(mi), "activate", G_CALLBACK(add_to_dictionary), entry); + } else { + GSList *li; + GtkWidget *menu, *submi; + gchar *lang, *lang_name; + + menu = gtk_menu_new(); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(mi), menu); + + for (li = entry->priv->dict_list; li; li = g_slist_next(li)) { + dict = (struct EnchantDict *)li->data; + lang = get_lang_from_dict(dict); + lang_name = gtkspell_iso_codes_lookup_name_for_code(lang); + if (lang_name) { + submi = gtk_menu_item_new_with_label(lang_name); + g_free(lang_name); + } else { + submi = gtk_menu_item_new_with_label(lang); + } + g_free(lang); + g_object_set_data(G_OBJECT(submi), "enchant-dict", dict); + + g_signal_connect(G_OBJECT(submi), "activate", G_CALLBACK(add_to_dictionary), entry); + + gtk_widget_show(submi); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), submi); + } + } +#endif + + gtk_widget_show_all(mi); + gtk_menu_shell_append(GTK_MENU_SHELL(topmenu), mi); + + /* - Ignore All */ + mi = gtk_image_menu_item_new_with_label(_("Ignore All")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(mi), gtk_image_new_from_stock(GTK_STOCK_REMOVE, GTK_ICON_SIZE_MENU)); + g_signal_connect(G_OBJECT(mi), "activate", G_CALLBACK(ignore_all), entry); + gtk_widget_show_all(mi); + gtk_menu_shell_append(GTK_MENU_SHELL(topmenu), mi); + + return topmenu; +} + +static void +sexy_spell_entry_populate_popup(SexySpellEntry *entry, GtkMenu *menu, gpointer data) +{ + GtkWidget *icon, *mi; + gint start, end; + gchar *word; + + if ((have_enchant == FALSE) || (entry->priv->checked == FALSE)) + return; + + if (g_slist_length(entry->priv->dict_list) == 0) + return; + + get_word_extents_from_position(entry, &start, &end, entry->priv->mark_character); + if (start == end) + return; + if (!word_misspelled(entry, start, end)) + return; + + /* separator */ + mi = gtk_separator_menu_item_new(); + gtk_widget_show(mi); + gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), mi); + + /* Above the separator, show the suggestions menu */ + icon = gtk_image_new_from_stock(GTK_STOCK_SPELL_CHECK, GTK_ICON_SIZE_MENU); + mi = gtk_image_menu_item_new_with_label(_("Spelling Suggestions")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(mi), icon); + + word = gtk_editable_get_chars(GTK_EDITABLE(entry), start, end); + g_assert(word != NULL); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(mi), build_spelling_menu(entry, word)); + g_free(word); + + gtk_widget_show_all(mi); + gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), mi); +} + +static void +sexy_spell_entry_init(SexySpellEntry *entry) +{ + entry->priv = g_new0(SexySpellEntryPriv, 1); + + entry->priv->dict_hash = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); + + if (have_enchant) + sexy_spell_entry_activate_default_languages(entry); + + entry->priv->attr_list = pango_attr_list_new(); + + entry->priv->checked = TRUE; + + g_signal_connect(G_OBJECT(entry), "popup-menu", G_CALLBACK(sexy_spell_entry_popup_menu), entry); + g_signal_connect(G_OBJECT(entry), "populate-popup", G_CALLBACK(sexy_spell_entry_populate_popup), NULL); + g_signal_connect(G_OBJECT(entry), "changed", G_CALLBACK(sexy_spell_entry_changed), NULL); +} + +static void +sexy_spell_entry_finalize(GObject *obj) +{ + SexySpellEntry *entry; + + g_return_if_fail(obj != NULL); + g_return_if_fail(SEXY_IS_SPELL_ENTRY(obj)); + + entry = SEXY_SPELL_ENTRY(obj); + + if (entry->priv->attr_list) + pango_attr_list_unref(entry->priv->attr_list); + if (entry->priv->dict_hash) + g_hash_table_destroy(entry->priv->dict_hash); + if (entry->priv->words) + g_strfreev(entry->priv->words); + if (entry->priv->word_starts) + g_free(entry->priv->word_starts); + if (entry->priv->word_ends) + g_free(entry->priv->word_ends); + + if (have_enchant) { + if (entry->priv->broker) { + GSList *li; + for (li = entry->priv->dict_list; li; li = g_slist_next(li)) { + struct EnchantDict *dict = (struct EnchantDict*) li->data; + enchant_broker_free_dict (entry->priv->broker, dict); + } + g_slist_free (entry->priv->dict_list); + + enchant_broker_free(entry->priv->broker); + } + } + + g_free(entry->priv); + + if (G_OBJECT_CLASS(parent_class)->finalize) + G_OBJECT_CLASS(parent_class)->finalize(obj); +} + +static void +sexy_spell_entry_destroy(GtkObject *obj) +{ + SexySpellEntry *entry; + + entry = SEXY_SPELL_ENTRY(obj); + + if (GTK_OBJECT_CLASS(parent_class)->destroy) + GTK_OBJECT_CLASS(parent_class)->destroy(obj); +} + +/** + * sexy_spell_entry_new + * + * Creates a new SexySpellEntry widget. + * + * Returns: a new #SexySpellEntry. + */ +GtkWidget * +sexy_spell_entry_new(void) +{ + return GTK_WIDGET(g_object_new(SEXY_TYPE_SPELL_ENTRY, NULL)); +} + +GQuark +sexy_spell_error_quark(void) +{ + static GQuark q = 0; + if (q == 0) + q = g_quark_from_static_string("sexy-spell-error-quark"); + return q; +} + +static gboolean +default_word_check(SexySpellEntry *entry, const gchar *word) +{ + gboolean result = TRUE; + GSList *li; + + if (!have_enchant) + return result; + + if (g_unichar_isalpha(*word) == FALSE) { + /* We only want to check words */ + return FALSE; + } + for (li = entry->priv->dict_list; li; li = g_slist_next (li)) { + struct EnchantDict *dict = (struct EnchantDict *) li->data; + if (enchant_dict_check(dict, word, strlen(word)) == 0) { + result = FALSE; + break; + } + } + return result; +} + +static gboolean +word_misspelled(SexySpellEntry *entry, int start, int end) +{ + const gchar *text; + gchar *word; + gboolean ret; + + if (start == end) + return FALSE; + text = gtk_entry_get_text(GTK_ENTRY(entry)); + word = g_new0(gchar, end - start + 2); + + g_strlcpy(word, text + start, end - start + 1); + +#if 0 + g_signal_emit(entry, signals[WORD_CHECK], 0, word, &ret); +#else + ret = default_word_check (entry, word); +#endif + + g_free(word); + return ret; +} + +static void +check_word(SexySpellEntry *entry, int start, int end) +{ + PangoAttrIterator *it; + + /* Check to see if we've got any attributes at this position. + * If so, free them, since we'll readd it if the word is misspelled */ + it = pango_attr_list_get_iterator(entry->priv->attr_list); + if (it == NULL) + return; + do { + gint s, e; + pango_attr_iterator_range(it, &s, &e); + if (s == start) { + GSList *attrs = pango_attr_iterator_get_attrs(it); + g_slist_foreach(attrs, (GFunc) pango_attribute_destroy, NULL); + g_slist_free(attrs); + } + } while (pango_attr_iterator_next(it)); + pango_attr_iterator_destroy(it); + + if (word_misspelled(entry, start, end)) + insert_underline(entry, start, end); +} + +static void +sexy_spell_entry_recheck_all(SexySpellEntry *entry) +{ + GdkRectangle rect; + GtkWidget *widget = GTK_WIDGET(entry); + PangoLayout *layout; + int length, i; + + if ((have_enchant == FALSE) || (entry->priv->checked == FALSE)) + return; + + if (g_slist_length(entry->priv->dict_list) == 0) + return; + + /* Remove all existing pango attributes. These will get readded as we check */ + pango_attr_list_unref(entry->priv->attr_list); + entry->priv->attr_list = pango_attr_list_new(); + + /* Loop through words */ + for (i = 0; entry->priv->words[i]; i++) { + length = strlen(entry->priv->words[i]); + if (length == 0) + continue; + check_word(entry, entry->priv->word_starts[i], entry->priv->word_ends[i]); + } + + layout = gtk_entry_get_layout(GTK_ENTRY(entry)); + pango_layout_set_attributes(layout, entry->priv->attr_list); + + if (GTK_WIDGET_REALIZED(GTK_WIDGET(entry))) { + rect.x = 0; rect.y = 0; + rect.width = widget->allocation.width; + rect.height = widget->allocation.height; + gdk_window_invalidate_rect(widget->window, &rect, TRUE); + } +} + +static gint +sexy_spell_entry_expose(GtkWidget *widget, GdkEventExpose *event) +{ + SexySpellEntry *entry = SEXY_SPELL_ENTRY(widget); + GtkEntry *gtk_entry = GTK_ENTRY(widget); + PangoLayout *layout; + + if (entry->priv->checked) { + layout = gtk_entry_get_layout(gtk_entry); + pango_layout_set_attributes(layout, entry->priv->attr_list); + } + + return GTK_WIDGET_CLASS(parent_class)->expose_event (widget, event); +} + +static gint +sexy_spell_entry_button_press(GtkWidget *widget, GdkEventButton *event) +{ + SexySpellEntry *entry = SEXY_SPELL_ENTRY(widget); + GtkEntry *gtk_entry = GTK_ENTRY(widget); + gint pos; + + pos = gtk_entry_find_position(gtk_entry, event->x); + entry->priv->mark_character = pos; + + return GTK_WIDGET_CLASS(parent_class)->button_press_event (widget, event); +} + +static gboolean +sexy_spell_entry_popup_menu(GtkWidget *widget, SexySpellEntry *entry) +{ + /* Menu popped up from a keybinding (menu key or <shift>+F10). Use + * the cursor position as the mark position */ + entry->priv->mark_character = gtk_editable_get_position (GTK_EDITABLE (entry)); + return FALSE; +} + +static void +entry_strsplit_utf8(GtkEntry *entry, gchar ***set, gint **starts, gint **ends) +{ + PangoLayout *layout; + PangoLogAttr *log_attrs; + const gchar *text; + gint n_attrs, n_strings, i, j; + + layout = gtk_entry_get_layout(GTK_ENTRY(entry)); + text = gtk_entry_get_text(GTK_ENTRY(entry)); + pango_layout_get_log_attrs(layout, &log_attrs, &n_attrs); + + /* Find how many words we have */ + n_strings = 0; + for (i = 0; i < n_attrs; i++) + if (log_attrs[i].is_word_start) + n_strings++; + + *set = g_new0(gchar *, n_strings + 1); + *starts = g_new0(gint, n_strings); + *ends = g_new0(gint, n_strings); + + /* Copy out strings */ + for (i = 0, j = 0; i < n_attrs; i++) { + if (log_attrs[i].is_word_start) { + gint cend, bytes; + gchar *start; + + /* Find the end of this string */ + cend = i; + while (!(log_attrs[cend].is_word_end)) + cend++; + + /* Copy sub-string */ + start = g_utf8_offset_to_pointer(text, i); + bytes = (gint) (g_utf8_offset_to_pointer(text, cend) - start); + (*set)[j] = g_new0(gchar, bytes + 1); + (*starts)[j] = (gint) (start - text); + (*ends)[j] = (gint) (start - text + bytes); + g_utf8_strncpy((*set)[j], start, cend - i); + + /* Move on to the next word */ + j++; + } + } + + g_free (log_attrs); +} + +static void +sexy_spell_entry_changed(GtkEditable *editable, gpointer data) +{ + SexySpellEntry *entry = SEXY_SPELL_ENTRY(editable); + if (entry->priv->checked == FALSE) + return; + if (g_slist_length(entry->priv->dict_list) == 0) + return; + + if (entry->priv->words) { + g_strfreev(entry->priv->words); + g_free(entry->priv->word_starts); + g_free(entry->priv->word_ends); + } + entry_strsplit_utf8(GTK_ENTRY(entry), &entry->priv->words, &entry->priv->word_starts, &entry->priv->word_ends); + sexy_spell_entry_recheck_all(entry); +} + +static gboolean +enchant_has_lang(const gchar *lang, GSList *langs) { + GSList *i; + for (i = langs; i; i = g_slist_next(i)) { + if (strcmp(lang, i->data) == 0) { + return TRUE; + } + } + return FALSE; +} + +/** + * sexy_spell_entry_activate_default_languages: + * @entry: A #SexySpellEntry. + * + * Activate spell checking for languages specified in the $LANG + * or $LANGUAGE environment variables. These languages are + * activated by default, so this function need only be called + * if they were previously deactivated. + */ +void +sexy_spell_entry_activate_default_languages(SexySpellEntry *entry) +{ +#if GLIB_CHECK_VERSION (2, 6, 0) + const gchar* const *langs; + int i; + gchar *lastprefix = NULL; + GSList *enchant_langs; + + if (!have_enchant) + return; + + if (!entry->priv->broker) + entry->priv->broker = enchant_broker_init(); + + + langs = g_get_language_names (); + + if (langs == NULL) + return; + + enchant_langs = sexy_spell_entry_get_languages(entry); + + for (i = 0; langs[i]; i++) { + if ((g_strncasecmp(langs[i], "C", 1) != 0) && + (strlen(langs[i]) >= 2) && + enchant_has_lang(langs[i], enchant_langs)) { + if ((lastprefix == NULL) || (g_str_has_prefix(langs[i], lastprefix) == FALSE)) + sexy_spell_entry_activate_language_internal(entry, langs[i], NULL); + if (lastprefix != NULL) + g_free(lastprefix); + lastprefix = g_strndup(langs[i], 2); + } + } + if (lastprefix != NULL) + g_free(lastprefix); + + g_slist_foreach(enchant_langs, (GFunc) g_free, NULL); + g_slist_free(enchant_langs); + + /* If we don't have any languages activated, use "en" */ + if (entry->priv->dict_list == NULL) + sexy_spell_entry_activate_language_internal(entry, "en", NULL); +#else + gchar *lang; + + if (!have_enchant) + return; + + lang = (gchar *) g_getenv("LANG"); + + if (lang != NULL) { + if (g_strncasecmp(lang, "C", 1) == 0) + lang = NULL; + else if (lang[0] == '\0') + lang = NULL; + } + + if (lang == NULL) + lang = "en"; + + sexy_spell_entry_activate_language_internal(entry, lang, NULL); +#endif +} + +static void +get_lang_from_dict_cb(const char * const lang_tag, + const char * const provider_name, + const char * const provider_desc, + const char * const provider_file, + void * user_data) { + gchar **lang = (gchar **)user_data; + *lang = g_strdup(lang_tag); +} + +static gchar * +get_lang_from_dict(struct EnchantDict *dict) +{ + gchar *lang; + + if (!have_enchant) + return NULL; + + enchant_dict_describe(dict, get_lang_from_dict_cb, &lang); + return lang; +} + +static gboolean +sexy_spell_entry_activate_language_internal(SexySpellEntry *entry, const gchar *lang, GError **error) +{ + struct EnchantDict *dict; + + if (!have_enchant) + return FALSE; + + if (!entry->priv->broker) + entry->priv->broker = enchant_broker_init(); + + if (g_hash_table_lookup(entry->priv->dict_hash, lang)) + return TRUE; + + dict = enchant_broker_request_dict(entry->priv->broker, lang); + + if (!dict) { + g_set_error(error, SEXY_SPELL_ERROR, SEXY_SPELL_ERROR_BACKEND, _("enchant error for language: %s"), lang); + return FALSE; + } + + entry->priv->dict_list = g_slist_append(entry->priv->dict_list, (gpointer) dict); + g_hash_table_insert(entry->priv->dict_hash, get_lang_from_dict(dict), (gpointer) dict); + + return TRUE; +} + +static void +dict_describe_cb(const char * const lang_tag, + const char * const provider_name, + const char * const provider_desc, + const char * const provider_file, + void * user_data) +{ + GSList **langs = (GSList **)user_data; + + *langs = g_slist_append(*langs, (gpointer)g_strdup(lang_tag)); +} + +/** + * sexy_spell_entry_get_languages: + * @entry: A #SexySpellEntry. + * + * Retrieve a list of language codes for which dictionaries are available. + * + * Returns: a new #GList object, or %NULL on error. + */ +GSList * +sexy_spell_entry_get_languages(const SexySpellEntry *entry) +{ + GSList *langs = NULL; + + g_return_val_if_fail(entry != NULL, NULL); + g_return_val_if_fail(SEXY_IS_SPELL_ENTRY(entry), NULL); + + if (enchant_broker_list_dicts == NULL) + return NULL; + + if (!entry->priv->broker) + return NULL; + + enchant_broker_list_dicts(entry->priv->broker, dict_describe_cb, &langs); + + return langs; +} + +/** + * sexy_spell_entry_get_language_name: + * @entry: A #SexySpellEntry. + * @lang: The language code to lookup a friendly name for. + * + * Get a friendly name for a given locale. + * + * Returns: The name of the locale. Should be freed with g_free() + */ +gchar * +sexy_spell_entry_get_language_name(const SexySpellEntry *entry, + const gchar *lang) +{ + /*if (have_enchant) + return gtkspell_iso_codes_lookup_name_for_code(lang);*/ + return NULL; +} + +/** + * sexy_spell_entry_language_is_active: + * @entry: A #SexySpellEntry. + * @lang: The language to use, in a form enchant understands. + * + * Determine if a given language is currently active. + * + * Returns: TRUE if the language is active. + */ +gboolean +sexy_spell_entry_language_is_active(const SexySpellEntry *entry, + const gchar *lang) +{ + return (g_hash_table_lookup(entry->priv->dict_hash, lang) != NULL); +} + +/** + * sexy_spell_entry_activate_language: + * @entry: A #SexySpellEntry + * @lang: The language to use in a form Enchant understands. Typically either + * a two letter language code or a locale code in the form xx_XX. + * @error: Return location for error. + * + * Activate spell checking for the language specifed. + * + * Returns: FALSE if there was an error. + */ +gboolean +sexy_spell_entry_activate_language(SexySpellEntry *entry, const gchar *lang, GError **error) +{ + gboolean ret; + + g_return_val_if_fail(entry != NULL, FALSE); + g_return_val_if_fail(SEXY_IS_SPELL_ENTRY(entry), FALSE); + g_return_val_if_fail(lang != NULL && lang != '\0', FALSE); + + if (!have_enchant) + return FALSE; + + if (error) + g_return_val_if_fail(*error == NULL, FALSE); + + ret = sexy_spell_entry_activate_language_internal(entry, lang, error); + + if (ret) { + if (entry->priv->words) { + g_strfreev(entry->priv->words); + g_free(entry->priv->word_starts); + g_free(entry->priv->word_ends); + } + entry_strsplit_utf8(GTK_ENTRY(entry), &entry->priv->words, &entry->priv->word_starts, &entry->priv->word_ends); + sexy_spell_entry_recheck_all(entry); + } + + return ret; +} + +/** + * sexy_spell_entry_deactivate_language: + * @entry: A #SexySpellEntry. + * @lang: The language in a form Enchant understands. Typically either + * a two letter language code or a locale code in the form xx_XX. + * + * Deactivate spell checking for the language specifed. + */ +void +sexy_spell_entry_deactivate_language(SexySpellEntry *entry, const gchar *lang) +{ + g_return_if_fail(entry != NULL); + g_return_if_fail(SEXY_IS_SPELL_ENTRY(entry)); + + if (!have_enchant) + return; + + if (!entry->priv->dict_list) + return; + + if (lang) { + struct EnchantDict *dict; + + dict = g_hash_table_lookup(entry->priv->dict_hash, lang); + if (!dict) + return; + enchant_broker_free_dict(entry->priv->broker, dict); + entry->priv->dict_list = g_slist_remove(entry->priv->dict_list, dict); + g_hash_table_remove (entry->priv->dict_hash, lang); + } else { + /* deactivate all */ + GSList *li; + struct EnchantDict *dict; + + for (li = entry->priv->dict_list; li; li = g_slist_next(li)) { + dict = (struct EnchantDict *)li->data; + enchant_broker_free_dict(entry->priv->broker, dict); + } + + g_slist_free (entry->priv->dict_list); + g_hash_table_destroy (entry->priv->dict_hash); + entry->priv->dict_hash = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); + entry->priv->dict_list = NULL; + } + + if (entry->priv->words) { + g_strfreev(entry->priv->words); + g_free(entry->priv->word_starts); + g_free(entry->priv->word_ends); + } + entry_strsplit_utf8(GTK_ENTRY(entry), &entry->priv->words, &entry->priv->word_starts, &entry->priv->word_ends); + sexy_spell_entry_recheck_all(entry); +} + +/** + * sexy_spell_entry_set_active_languages: + * @entry: A #SexySpellEntry + * @langs: A list of language codes to activate, in a form Enchant understands. + * Typically either a two letter language code or a locale code in the + * form xx_XX. + * @error: Return location for error. + * + * Activate spell checking for only the languages specified. + * + * Returns: FALSE if there was an error. + */ +gboolean +sexy_spell_entry_set_active_languages(SexySpellEntry *entry, GSList *langs, GError **error) +{ + GSList *li; + + g_return_val_if_fail(entry != NULL, FALSE); + g_return_val_if_fail(SEXY_IS_SPELL_ENTRY(entry), FALSE); + g_return_val_if_fail(langs != NULL, FALSE); + + if (!have_enchant) + return FALSE; + + /* deactivate all languages first */ + sexy_spell_entry_deactivate_language(entry, NULL); + + for (li = langs; li; li = g_slist_next(li)) { + if (sexy_spell_entry_activate_language_internal(entry, + (const gchar *) li->data, error) == FALSE) + return FALSE; + } + if (entry->priv->words) { + g_strfreev(entry->priv->words); + g_free(entry->priv->word_starts); + g_free(entry->priv->word_ends); + } + entry_strsplit_utf8(GTK_ENTRY(entry), &entry->priv->words, &entry->priv->word_starts, &entry->priv->word_ends); + sexy_spell_entry_recheck_all(entry); + return TRUE; +} + +/** + * sexy_spell_entry_get_active_languages: + * @entry: A #SexySpellEntry + * + * Retrieve a list of the currently active languages. + * + * Returns: A GSList of char* values with language codes (en, fr, etc). Both + * the data and the list must be freed by the user. + */ +GSList * +sexy_spell_entry_get_active_languages(SexySpellEntry *entry) +{ + GSList *ret = NULL, *li; + struct EnchantDict *dict; + gchar *lang; + + g_return_val_if_fail(entry != NULL, NULL); + g_return_val_if_fail(SEXY_IS_SPELL_ENTRY(entry), NULL); + + if (!have_enchant) + return NULL; + + for (li = entry->priv->dict_list; li; li = g_slist_next(li)) { + dict = (struct EnchantDict *) li->data; + lang = get_lang_from_dict(dict); + ret = g_slist_append(ret, lang); + } + return ret; +} + +/** + * sexy_spell_entry_is_checked: + * @entry: A #SexySpellEntry. + * + * Queries a #SexySpellEntry and returns whether the entry has spell-checking enabled. + * + * Returns: TRUE if the entry has spell-checking enabled. + */ +gboolean +sexy_spell_entry_is_checked(SexySpellEntry *entry) +{ + return entry->priv->checked; +} + +/** + * sexy_spell_entry_set_checked: + * @entry: A #SexySpellEntry. + * @checked: Whether to enable spell-checking + * + * Sets whether the entry has spell-checking enabled. + */ +void +sexy_spell_entry_set_checked(SexySpellEntry *entry, gboolean checked) +{ + GtkWidget *widget; + + if (entry->priv->checked == checked) + return; + + entry->priv->checked = checked; + widget = GTK_WIDGET(entry); + + if (checked == FALSE && GTK_WIDGET_REALIZED(widget)) { + PangoLayout *layout; + GdkRectangle rect; + + pango_attr_list_unref(entry->priv->attr_list); + entry->priv->attr_list = pango_attr_list_new(); + + layout = gtk_entry_get_layout(GTK_ENTRY(entry)); + pango_layout_set_attributes(layout, entry->priv->attr_list); + + rect.x = 0; rect.y = 0; + rect.width = widget->allocation.width; + rect.height = widget->allocation.height; + gdk_window_invalidate_rect(widget->window, &rect, TRUE); + } else { + if (entry->priv->words) { + g_strfreev(entry->priv->words); + g_free(entry->priv->word_starts); + g_free(entry->priv->word_ends); + } + entry_strsplit_utf8(GTK_ENTRY(entry), &entry->priv->words, &entry->priv->word_starts, &entry->priv->word_ends); + sexy_spell_entry_recheck_all(entry); + } +} diff --git a/src/fe-gtk/sexy-spell-entry.h b/src/fe-gtk/sexy-spell-entry.h new file mode 100644 index 00000000..61d1b795 --- /dev/null +++ b/src/fe-gtk/sexy-spell-entry.h @@ -0,0 +1,87 @@ +/* + * @file libsexy/sexy-spell-entry.h Entry widget + * + * @Copyright (C) 2004-2006 Christian Hammond. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ +#ifndef _SEXY_SPELL_ENTRY_H_ +#define _SEXY_SPELL_ENTRY_H_ + +typedef struct _SexySpellEntry SexySpellEntry; +typedef struct _SexySpellEntryClass SexySpellEntryClass; +typedef struct _SexySpellEntryPriv SexySpellEntryPriv; + +#include <gtk/gtkentry.h> + +#define SEXY_TYPE_SPELL_ENTRY (sexy_spell_entry_get_type()) +#define SEXY_SPELL_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), SEXY_TYPE_SPELL_ENTRY, SexySpellEntry)) +#define SEXY_SPELL_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), SEXY_TYPE_SPELL_ENTRY, SexySpellEntryClass)) +#define SEXY_IS_SPELL_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), SEXY_TYPE_SPELL_ENTRY)) +#define SEXY_IS_SPELL_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), SEXY_TYPE_SPELL_ENTRY)) +#define SEXY_SPELL_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), SEXY_TYPE_SPELL_ENTRY, SexySpellEntryClass)) + +#define SEXY_SPELL_ERROR (sexy_spell_error_quark()) + +typedef enum { + SEXY_SPELL_ERROR_BACKEND, +} SexySpellError; + +struct _SexySpellEntry +{ + GtkEntry parent_object; + + SexySpellEntryPriv *priv; + + void (*gtk_reserved1)(void); + void (*gtk_reserved2)(void); + void (*gtk_reserved3)(void); + void (*gtk_reserved4)(void); +}; + +struct _SexySpellEntryClass +{ + GtkEntryClass parent_class; + + /* Signals */ + gboolean (*word_check)(SexySpellEntry *entry, const gchar *word); + + void (*gtk_reserved1)(void); + void (*gtk_reserved2)(void); + void (*gtk_reserved3)(void); + void (*gtk_reserved4)(void); +}; + +G_BEGIN_DECLS + +GType sexy_spell_entry_get_type(void); +GtkWidget *sexy_spell_entry_new(void); +GQuark sexy_spell_error_quark(void); + +GSList *sexy_spell_entry_get_languages(const SexySpellEntry *entry); +gchar *sexy_spell_entry_get_language_name(const SexySpellEntry *entry, const gchar *lang); +gboolean sexy_spell_entry_language_is_active(const SexySpellEntry *entry, const gchar *lang); +gboolean sexy_spell_entry_activate_language(SexySpellEntry *entry, const gchar *lang, GError **error); +void sexy_spell_entry_deactivate_language(SexySpellEntry *entry, const gchar *lang); +gboolean sexy_spell_entry_set_active_languages(SexySpellEntry *entry, GSList *langs, GError **error); +GSList *sexy_spell_entry_get_active_languages(SexySpellEntry *entry); +gboolean sexy_spell_entry_is_checked(SexySpellEntry *entry); +void sexy_spell_entry_set_checked(SexySpellEntry *entry, gboolean checked); +void sexy_spell_entry_activate_default_languages(SexySpellEntry *entry); + +G_END_DECLS + +#endif diff --git a/src/fe-gtk/textgui.c b/src/fe-gtk/textgui.c new file mode 100644 index 00000000..604da44b --- /dev/null +++ b/src/fe-gtk/textgui.c @@ -0,0 +1,456 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +#include "fe-gtk.h" + +#include <gtk/gtkbutton.h> +#include <gtk/gtkentry.h> +#include <gtk/gtkhbox.h> +#include <gtk/gtkhbbox.h> +#include <gtk/gtkliststore.h> +#include <gtk/gtkstock.h> +#include <gtk/gtkvbox.h> +#include <gtk/gtkvpaned.h> +#include <gtk/gtkvscrollbar.h> + +#include "../common/xchat.h" +#include "../common/xchatc.h" +#include "../common/cfgfiles.h" +#include "../common/outbound.h" +#include "../common/fe.h" +#include "../common/text.h" +#include "gtkutil.h" +#include "xtext.h" +#include "maingui.h" +#include "palette.h" +#include "textgui.h" + +extern struct text_event te[]; +extern char *pntevts_text[]; +extern char *pntevts[]; + +static GtkWidget *pevent_dialog = NULL, *pevent_dialog_twid, + *pevent_dialog_entry, + *pevent_dialog_list, *pevent_dialog_hlist; + +enum +{ + COL_EVENT_NAME, + COL_EVENT_TEXT, + COL_ROW, + N_COLUMNS +}; + + +/* this is only used in xtext.c for indented timestamping */ +int +xtext_get_stamp_str (time_t tim, char **ret) +{ + return get_stamp_str (prefs.stamp_format, tim, ret); +} + +static void +PrintTextLine (xtext_buffer *xtbuf, unsigned char *text, int len, int indent, time_t timet) +{ + unsigned char *tab, *new_text; + int leftlen; + + if (len == 0) + len = 1; + + if (!indent) + { + if (prefs.timestamp) + { + int stamp_size; + char *stamp; + + if (timet == 0) + timet = time (0); + + stamp_size = get_stamp_str (prefs.stamp_format, timet, &stamp); + new_text = malloc (len + stamp_size + 1); + memcpy (new_text, stamp, stamp_size); + g_free (stamp); + memcpy (new_text + stamp_size, text, len); + gtk_xtext_append (xtbuf, new_text, len + stamp_size); + free (new_text); + } else + gtk_xtext_append (xtbuf, text, len); + return; + } + + tab = strchr (text, '\t'); + if (tab && tab < (text + len)) + { + leftlen = tab - text; + gtk_xtext_append_indent (xtbuf, + text, leftlen, tab + 1, len - (leftlen + 1), timet); + } else + gtk_xtext_append_indent (xtbuf, 0, 0, text, len, timet); +} + +void +PrintTextRaw (void *xtbuf, unsigned char *text, int indent, time_t stamp) +{ + char *last_text = text; + int len = 0; + int beep_done = FALSE; + + /* split the text into separate lines */ + while (1) + { + switch (*text) + { + case 0: + PrintTextLine (xtbuf, last_text, len, indent, stamp); + return; + case '\n': + PrintTextLine (xtbuf, last_text, len, indent, stamp); + text++; + if (*text == 0) + return; + last_text = text; + len = 0; + break; + case ATTR_BEEP: + *text = ' '; + if (!beep_done) /* beeps may be slow, so only do 1 per line */ + { + beep_done = TRUE; + if (!prefs.filterbeep) + gdk_beep (); + } + default: + text++; + len++; + } + } +} + +static void +pevent_dialog_close (GtkWidget *wid, gpointer arg) +{ + pevent_dialog = NULL; + pevent_save (NULL); +} + +static void +pevent_dialog_update (GtkWidget * wid, GtkWidget * twid) +{ + int len, m; + const char *text; + char *out; + int sig; + GtkTreeIter iter; + GtkListStore *store; + + if (!gtkutil_treeview_get_selected (GTK_TREE_VIEW (pevent_dialog_list), + &iter, COL_ROW, &sig, -1)) + return; + + text = gtk_entry_get_text (GTK_ENTRY (wid)); + len = strlen (text); + + if (pevt_build_string (text, &out, &m) != 0) + { + fe_message (_("There was an error parsing the string"), FE_MSG_ERROR); + return; + } + if (m > (te[sig].num_args & 0x7f)) + { + free (out); + out = malloc (4096); + snprintf (out, 4096, + _("This signal is only passed %d args, $%d is invalid"), + te[sig].num_args & 0x7f, m); + fe_message (out, FE_MSG_WARN); + free (out); + return; + } + + store = (GtkListStore *)gtk_tree_view_get_model (GTK_TREE_VIEW (pevent_dialog_list)); + gtk_list_store_set (store, &iter, COL_EVENT_TEXT, text, -1); + + if (pntevts_text[sig]) + free (pntevts_text[sig]); + if (pntevts[sig]) + free (pntevts[sig]); + + pntevts_text[sig] = malloc (len + 1); + memcpy (pntevts_text[sig], text, len + 1); + pntevts[sig] = out; + + out = malloc (len + 2); + memcpy (out, text, len + 1); + out[len] = '\n'; + out[len + 1] = 0; + check_special_chars (out, TRUE); + + PrintTextRaw (GTK_XTEXT (twid)->buffer, out, 0, 0); + free (out); + + /* save this when we exit */ + prefs.save_pevents = 1; +} + +static void +pevent_dialog_hfill (GtkWidget * list, int e) +{ + int i = 0; + char *text; + GtkTreeIter iter; + GtkListStore *store; + + store = (GtkListStore *)gtk_tree_view_get_model (GTK_TREE_VIEW (pevent_dialog_hlist)); + gtk_list_store_clear (store); + while (i < (te[e].num_args & 0x7f)) + { + text = _(te[e].help[i]); + i++; + if (text[0] == '\001') + text++; + gtk_list_store_insert_with_values (store, &iter, -1, + 0, i, + 1, text, -1); + } +} + +static void +pevent_dialog_unselect (void) +{ + gtk_entry_set_text (GTK_ENTRY (pevent_dialog_entry), ""); + gtk_list_store_clear ((GtkListStore *)gtk_tree_view_get_model (GTK_TREE_VIEW (pevent_dialog_hlist))); +} + +static void +pevent_dialog_select (GtkTreeSelection *sel, gpointer store) +{ + char *text; + int sig; + GtkTreeIter iter; + + if (!gtkutil_treeview_get_selected (GTK_TREE_VIEW (pevent_dialog_list), + &iter, COL_ROW, &sig, -1)) + { + pevent_dialog_unselect (); + } + else + { + gtk_tree_model_get (store, &iter, COL_EVENT_TEXT, &text, -1); + gtk_entry_set_text (GTK_ENTRY (pevent_dialog_entry), text); + g_free (text); + pevent_dialog_hfill (pevent_dialog_hlist, sig); + } +} + +static void +pevent_dialog_fill (GtkWidget * list) +{ + int i; + GtkListStore *store; + GtkTreeIter iter; + + store = (GtkListStore *)gtk_tree_view_get_model (GTK_TREE_VIEW (list)); + gtk_list_store_clear (store); + + i = NUM_XP; + do + { + i--; + gtk_list_store_insert_with_values (store, &iter, 0, + COL_EVENT_NAME, te[i].name, + COL_EVENT_TEXT, pntevts_text[i], + COL_ROW, i, -1); + } + while (i != 0); +} + +static void +pevent_save_req_cb (void *arg1, char *file) +{ + if (file) + pevent_save (file); +} + +static void +pevent_save_cb (GtkWidget * wid, void *data) +{ + if (data) + { + gtkutil_file_req (_("Print Texts File"), pevent_save_req_cb, NULL, + NULL, FRF_WRITE); + return; + } + pevent_save (NULL); +} + +static void +pevent_load_req_cb (void *arg1, char *file) +{ + if (file) + { + pevent_load (file); + pevent_make_pntevts (); + pevent_dialog_fill (pevent_dialog_list); + pevent_dialog_unselect (); + prefs.save_pevents = 1; + } +} + +static void +pevent_load_cb (GtkWidget * wid, void *data) +{ + gtkutil_file_req (_("Print Texts File"), pevent_load_req_cb, NULL, NULL, 0); +} + +static void +pevent_ok_cb (GtkWidget * wid, void *data) +{ + gtk_widget_destroy (pevent_dialog); +} + +static void +pevent_test_cb (GtkWidget * wid, GtkWidget * twid) +{ + int len, n; + char *out, *text; + + for (n = 0; n < NUM_XP; n++) + { + text = _(pntevts_text[n]); + len = strlen (text); + + out = malloc (len + 2); + memcpy (out, text, len + 1); + out[len] = '\n'; + out[len + 1] = 0; + check_special_chars (out, TRUE); + + PrintTextRaw (GTK_XTEXT (twid)->buffer, out, 0, 0); + free (out); + } +} + +void +pevent_dialog_show () +{ + GtkWidget *vbox, *hbox, *tbox, *wid, *bh, *th; + GtkListStore *store, *hstore; + GtkTreeSelection *sel; + + if (pevent_dialog) + { + mg_bring_tofront (pevent_dialog); + return; + } + + pevent_dialog = + mg_create_generic_tab ("edit events", _("Edit Events"), + TRUE, FALSE, pevent_dialog_close, NULL, + 600, 455, &vbox, 0); + + wid = gtk_vpaned_new (); + th = gtk_vbox_new (0, 2); + bh = gtk_vbox_new (0, 2); + gtk_widget_show (th); + gtk_widget_show (bh); + gtk_paned_pack1 (GTK_PANED (wid), th, 1, 1); + gtk_paned_pack2 (GTK_PANED (wid), bh, 0, 1); + gtk_box_pack_start (GTK_BOX (vbox), wid, 1, 1, 0); + gtk_widget_show (wid); + + store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_INT); + pevent_dialog_list = gtkutil_treeview_new (th, GTK_TREE_MODEL (store), NULL, + COL_EVENT_NAME, _("Event"), + COL_EVENT_TEXT, _("Text"), -1); + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (pevent_dialog_list)); + g_signal_connect (G_OBJECT (sel), "changed", + G_CALLBACK (pevent_dialog_select), store); + + pevent_dialog_twid = gtk_xtext_new (colors, 0); + gtk_xtext_set_tint (GTK_XTEXT (pevent_dialog_twid), prefs.tint_red, prefs.tint_green, prefs.tint_blue); + gtk_xtext_set_background (GTK_XTEXT (pevent_dialog_twid), + channelwin_pix, prefs.transparent); + + pevent_dialog_entry = gtk_entry_new_with_max_length (255); + g_signal_connect (G_OBJECT (pevent_dialog_entry), "activate", + G_CALLBACK (pevent_dialog_update), pevent_dialog_twid); + gtk_box_pack_start (GTK_BOX (bh), pevent_dialog_entry, 0, 0, 0); + gtk_widget_show (pevent_dialog_entry); + + tbox = gtk_hbox_new (0, 0); + gtk_container_add (GTK_CONTAINER (bh), tbox); + gtk_widget_show (tbox); + + gtk_widget_set_usize (pevent_dialog_twid, 150, 20); + gtk_container_add (GTK_CONTAINER (tbox), pevent_dialog_twid); + gtk_xtext_set_font (GTK_XTEXT (pevent_dialog_twid), prefs.font_normal); + + wid = gtk_vscrollbar_new (GTK_XTEXT (pevent_dialog_twid)->adj); + gtk_box_pack_start (GTK_BOX (tbox), wid, FALSE, FALSE, 0); + show_and_unfocus (wid); + + gtk_widget_show (pevent_dialog_twid); + + hstore = gtk_list_store_new (2, G_TYPE_INT, G_TYPE_STRING); + pevent_dialog_hlist = gtkutil_treeview_new (bh, GTK_TREE_MODEL (hstore), + NULL, + 0, _("$ Number"), + 1, _("Description"), -1); + gtk_widget_show (pevent_dialog_hlist); + + pevent_dialog_fill (pevent_dialog_list); + gtk_widget_show (pevent_dialog_list); + + hbox = gtk_hbutton_box_new (); + gtk_box_pack_end (GTK_BOX (vbox), hbox, 0, 0, 2); + /*wid = gtk_button_new_with_label (_("Save")); + gtk_box_pack_end (GTK_BOX (hbox), wid, 0, 0, 0); + gtk_signal_connect (GTK_OBJECT (wid), "clicked", + GTK_SIGNAL_FUNC (pevent_save_cb), NULL); + gtk_widget_show (wid);*/ + gtkutil_button (hbox, GTK_STOCK_SAVE_AS, NULL, pevent_save_cb, + (void *) 1, _("Save As...")); + gtkutil_button (hbox, GTK_STOCK_OPEN, NULL, pevent_load_cb, + (void *) 0, _("Load From...")); + wid = gtk_button_new_with_label (_("Test All")); + gtk_box_pack_end (GTK_BOX (hbox), wid, 0, 0, 0); + g_signal_connect (G_OBJECT (wid), "clicked", + G_CALLBACK (pevent_test_cb), pevent_dialog_twid); + gtk_widget_show (wid); + + wid = gtk_button_new_from_stock (GTK_STOCK_OK); + gtk_box_pack_start (GTK_BOX (hbox), wid, 0, 0, 0); + g_signal_connect (G_OBJECT (wid), "clicked", + G_CALLBACK (pevent_ok_cb), NULL); + gtk_widget_show (wid); + + gtk_widget_show (hbox); + + gtk_widget_show (pevent_dialog); +} diff --git a/src/fe-gtk/textgui.h b/src/fe-gtk/textgui.h new file mode 100644 index 00000000..23db5848 --- /dev/null +++ b/src/fe-gtk/textgui.h @@ -0,0 +1,2 @@ +void PrintTextRaw (void *xtbuf, unsigned char *text, int indent, time_t stamp); +void pevent_dialog_show (void); diff --git a/src/fe-gtk/urlgrab.c b/src/fe-gtk/urlgrab.c new file mode 100644 index 00000000..6e5f1e0d --- /dev/null +++ b/src/fe-gtk/urlgrab.c @@ -0,0 +1,208 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +#include "fe-gtk.h" + +#include <gtk/gtkhbox.h> +#include <gtk/gtkstock.h> +#include <gtk/gtkhbbox.h> +#include <gtk/gtkscrolledwindow.h> + +#include <gtk/gtkliststore.h> +#include <gtk/gtktreeview.h> +#include <gtk/gtktreeselection.h> +#include <gtk/gtkcellrenderertext.h> + +#include "../common/xchat.h" +#include "../common/cfgfiles.h" +#include "../common/fe.h" +#include "../common/url.h" +#include "../common/tree.h" +#include "gtkutil.h" +#include "menu.h" +#include "maingui.h" +#include "urlgrab.h" + +/* model for the URL treeview */ +enum +{ + URL_COLUMN, + N_COLUMNS +}; + +static GtkWidget *urlgrabberwindow = 0; + + +static gboolean +url_treeview_url_clicked_cb (GtkWidget *view, GdkEventButton *event, + gpointer data) +{ + GtkTreeIter iter; + gchar *url; + + if (!event || + !gtkutil_treeview_get_selected (GTK_TREE_VIEW (view), &iter, + URL_COLUMN, &url, -1)) + { + return FALSE; + } + + switch (event->button) + { + case 1: + if (event->type == GDK_2BUTTON_PRESS) + fe_open_url (url); + break; + case 3: + menu_urlmenu (event, url); + break; + default: + break; + } + g_free (url); + + return FALSE; +} + +static GtkWidget * +url_treeview_new (GtkWidget *box) +{ + GtkListStore *store; + GtkWidget *view; + + store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING); + g_return_val_if_fail (store != NULL, NULL); + + view = gtkutil_treeview_new (box, GTK_TREE_MODEL (store), NULL, + URL_COLUMN, _("URL"), -1); + g_signal_connect (G_OBJECT (view), "button_press_event", + G_CALLBACK (url_treeview_url_clicked_cb), NULL); + /* don't want column headers */ + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (view), FALSE); + gtk_widget_show (view); + return view; +} + +static void +url_closegui (GtkWidget *wid, gpointer userdata) +{ + urlgrabberwindow = 0; +} + +static void +url_button_clear (void) +{ + GtkListStore *store; + + url_clear (); + store = GTK_LIST_STORE (g_object_get_data (G_OBJECT (urlgrabberwindow), + "model")); + gtk_list_store_clear (store); +} + +static void +url_button_copy (GtkWidget *widget, gpointer data) +{ + GtkTreeView *view = GTK_TREE_VIEW (data); + GtkTreeIter iter; + gchar *url = NULL; + + if (gtkutil_treeview_get_selected (view, &iter, URL_COLUMN, &url, -1)) + { + gtkutil_copy_to_clipboard (GTK_WIDGET (view), NULL, url); + g_free (url); + } +} + +static void +url_save_callback (void *arg1, char *file) +{ + if (file) + url_save (file, "w", TRUE); +} + +static void +url_button_save (void) +{ + gtkutil_file_req (_("Select an output filename"), + url_save_callback, NULL, NULL, FRF_WRITE); +} + +void +fe_url_add (const char *urltext) +{ + GtkListStore *store; + GtkTreeIter iter; + + if (urlgrabberwindow) + { + store = GTK_LIST_STORE (g_object_get_data (G_OBJECT (urlgrabberwindow), + "model")); + gtk_list_store_prepend (store, &iter); + gtk_list_store_set (store, &iter, + URL_COLUMN, urltext, + -1); + } +} + +static int +populate_cb (char *urltext, gpointer userdata) +{ + fe_url_add (urltext); + return TRUE; +} + +void +url_opengui () +{ + GtkWidget *vbox, *hbox, *view; + + if (urlgrabberwindow) + { + mg_bring_tofront (urlgrabberwindow); + return; + } + + urlgrabberwindow = + mg_create_generic_tab ("UrlGrabber", _("XChat: URL Grabber"), FALSE, + TRUE, url_closegui, NULL, 400, 256, &vbox, 0); + view = url_treeview_new (vbox); + g_object_set_data (G_OBJECT (urlgrabberwindow), "model", + gtk_tree_view_get_model (GTK_TREE_VIEW (view))); + + hbox = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_SPREAD); + gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); + gtk_box_pack_end (GTK_BOX (vbox), hbox, 0, 0, 0); + gtk_widget_show (hbox); + + gtkutil_button (hbox, GTK_STOCK_CLEAR, + _("Clear list"), url_button_clear, 0, _("Clear")); + gtkutil_button (hbox, GTK_STOCK_COPY, + _("Copy selected URL"), url_button_copy, view, _("Copy")); + gtkutil_button (hbox, GTK_STOCK_SAVE_AS, + _("Save list to a file"), url_button_save, 0, _("Save As...")); + + gtk_widget_show (urlgrabberwindow); + + tree_foreach (url_tree, (tree_traverse_func *)populate_cb, NULL); +} diff --git a/src/fe-gtk/urlgrab.h b/src/fe-gtk/urlgrab.h new file mode 100644 index 00000000..cc534241 --- /dev/null +++ b/src/fe-gtk/urlgrab.h @@ -0,0 +1,2 @@ +void url_autosave (void); +void url_opengui (void); diff --git a/src/fe-gtk/userlistgui.c b/src/fe-gtk/userlistgui.c new file mode 100644 index 00000000..f040a6a1 --- /dev/null +++ b/src/fe-gtk/userlistgui.c @@ -0,0 +1,718 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +#include "fe-gtk.h" + +#include <gtk/gtkbox.h> +#include <gtk/gtklabel.h> +#include <gtk/gtkdnd.h> +#include <gtk/gtkentry.h> +#include <gtk/gtktreeview.h> +#include <gtk/gtktreeselection.h> +#include <gtk/gtkscrolledwindow.h> +#include <gtk/gtkcellrendererpixbuf.h> +#include <gtk/gtkcellrenderertext.h> +#include <gtk/gtkliststore.h> +#include <gdk/gdkkeysyms.h> + +#include "../common/xchat.h" +#include "../common/util.h" +#include "../common/userlist.h" +#include "../common/modes.h" +#include "../common/notify.h" +#include "../common/xchatc.h" +#include "gtkutil.h" +#include "palette.h" +#include "maingui.h" +#include "menu.h" +#include "pixmaps.h" +#include "userlistgui.h" + +#ifdef USE_GTKSPELL +#include <gtk/gtktextview.h> +#endif + + +enum +{ + COL_PIX=0, // GdkPixbuf * + COL_NICK=1, // char * + COL_HOST=2, // char * + COL_USER=3, // struct User * + COL_GDKCOLOR=4 // GdkColor * +}; + + +GdkPixbuf * +get_user_icon (server *serv, struct User *user) +{ + char *pre; + int level; + + if (!user) + return NULL; + + /* these ones are hardcoded */ + switch (user->prefix[0]) + { + case 0: return NULL; + case '@': return pix_op; + case '%': return pix_hop; + case '+': return pix_voice; + } + + /* find out how many levels above Op this user is */ + pre = strchr (serv->nick_prefixes, '@'); + if (pre && pre != serv->nick_prefixes) + { + pre--; + level = 0; + while (1) + { + if (pre[0] == user->prefix[0]) + { + switch (level) + { + case 0: return pix_red; /* 1 level above op */ + case 1: return pix_purple; /* 2 levels above op */ + } + break; /* 3+, no icons */ + } + level++; + if (pre == serv->nick_prefixes) + break; + pre--; + } + } + + return NULL; +} + +void +fe_userlist_numbers (session *sess) +{ + char tbuf[256]; + + if (sess == current_tab || !sess->gui->is_tab) + { + if (sess->total) + { + snprintf (tbuf, sizeof (tbuf), _("%d ops, %d total"), sess->ops, sess->total); + tbuf[sizeof (tbuf) - 1] = 0; + gtk_label_set_text (GTK_LABEL (sess->gui->namelistinfo), tbuf); + } else + { + gtk_label_set_text (GTK_LABEL (sess->gui->namelistinfo), NULL); + } + + if (sess->type == SESS_CHANNEL && prefs.gui_tweaks & 1) + fe_set_title (sess); + } +} + +static void +scroll_to_iter (GtkTreeIter *iter, GtkTreeView *treeview, GtkTreeModel *model) +{ + GtkTreePath *path = gtk_tree_model_get_path (model, iter); + if (path) + { + gtk_tree_view_scroll_to_cell (treeview, path, NULL, TRUE, 0.5, 0.5); + gtk_tree_path_free (path); + } +} + +/* select a row in the userlist by nick-name */ + +void +userlist_select (session *sess, char *name) +{ + GtkTreeIter iter; + GtkTreeView *treeview = GTK_TREE_VIEW (sess->gui->user_tree); + GtkTreeModel *model = gtk_tree_view_get_model (treeview); + GtkTreeSelection *selection = gtk_tree_view_get_selection (treeview); + struct User *row_user; + + if (gtk_tree_model_get_iter_first (model, &iter)) + { + do + { + gtk_tree_model_get (model, &iter, COL_USER, &row_user, -1); + if (sess->server->p_cmp (row_user->nick, name) == 0) + { + if (gtk_tree_selection_iter_is_selected (selection, &iter)) + gtk_tree_selection_unselect_iter (selection, &iter); + else + gtk_tree_selection_select_iter (selection, &iter); + + /* and make sure it's visible */ + scroll_to_iter (&iter, treeview, model); + return; + } + } + while (gtk_tree_model_iter_next (model, &iter)); + } +} + +char ** +userlist_selection_list (GtkWidget *widget, int *num_ret) +{ + GtkTreeIter iter; + GtkTreeView *treeview = (GtkTreeView *) widget; + GtkTreeSelection *selection = gtk_tree_view_get_selection (treeview); + GtkTreeModel *model = gtk_tree_view_get_model (treeview); + struct User *user; + int i, num_sel; + char **nicks; + + *num_ret = 0; + /* first, count the number of selections */ + num_sel = 0; + if (gtk_tree_model_get_iter_first (model, &iter)) + { + do + { + if (gtk_tree_selection_iter_is_selected (selection, &iter)) + num_sel++; + } + while (gtk_tree_model_iter_next (model, &iter)); + } + + if (num_sel < 1) + return NULL; + + nicks = malloc (sizeof (char *) * (num_sel + 1)); + + i = 0; + gtk_tree_model_get_iter_first (model, &iter); + do + { + if (gtk_tree_selection_iter_is_selected (selection, &iter)) + { + gtk_tree_model_get (model, &iter, COL_USER, &user, -1); + nicks[i] = g_strdup (user->nick); + i++; + nicks[i] = NULL; + } + } + while (gtk_tree_model_iter_next (model, &iter)); + + *num_ret = i; + return nicks; +} + +void +fe_userlist_set_selected (struct session *sess) +{ + GtkListStore *store = sess->res->user_model; + GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (sess->gui->user_tree)); + GtkTreeIter iter; + struct User *user; + + /* if it's not front-most tab it doesn't own the GtkTreeView! */ + if (store != (GtkListStore*) gtk_tree_view_get_model (GTK_TREE_VIEW (sess->gui->user_tree))) + return; + + if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter)) + { + do + { + gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, COL_USER, &user, -1); + + if (gtk_tree_selection_iter_is_selected (selection, &iter)) + user->selected = 1; + else + user->selected = 0; + + } while (gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter)); + } +} + +static GtkTreeIter * +find_row (GtkTreeView *treeview, GtkTreeModel *model, struct User *user, + int *selected) +{ + static GtkTreeIter iter; + struct User *row_user; + + *selected = FALSE; + if (gtk_tree_model_get_iter_first (model, &iter)) + { + do + { + gtk_tree_model_get (model, &iter, COL_USER, &row_user, -1); + if (row_user == user) + { + if (gtk_tree_view_get_model (treeview) == model) + { + if (gtk_tree_selection_iter_is_selected (gtk_tree_view_get_selection (treeview), &iter)) + *selected = TRUE; + } + return &iter; + } + } + while (gtk_tree_model_iter_next (model, &iter)); + } + + return NULL; +} + +void +userlist_set_value (GtkWidget *treeview, gfloat val) +{ + gtk_adjustment_set_value ( + gtk_tree_view_get_vadjustment (GTK_TREE_VIEW (treeview)), val); +} + +gfloat +userlist_get_value (GtkWidget *treeview) +{ + return gtk_tree_view_get_vadjustment (GTK_TREE_VIEW (treeview))->value; +} + +int +fe_userlist_remove (session *sess, struct User *user) +{ + GtkTreeIter *iter; +/* GtkAdjustment *adj; + gfloat val, end;*/ + int sel; + + iter = find_row (GTK_TREE_VIEW (sess->gui->user_tree), + sess->res->user_model, user, &sel); + if (!iter) + return 0; + +/* adj = gtk_tree_view_get_vadjustment (GTK_TREE_VIEW (sess->gui->user_tree)); + val = adj->value;*/ + + gtk_list_store_remove (sess->res->user_model, iter); + + /* is it the front-most tab? */ +/* if (gtk_tree_view_get_model (GTK_TREE_VIEW (sess->gui->user_tree)) + == sess->res->user_model) + { + end = adj->upper - adj->lower - adj->page_size; + if (val > end) + val = end; + gtk_adjustment_set_value (adj, val); + }*/ + + return sel; +} + +void +fe_userlist_rehash (session *sess, struct User *user) +{ + GtkTreeIter *iter; + int sel; + int do_away = TRUE; + + iter = find_row (GTK_TREE_VIEW (sess->gui->user_tree), + sess->res->user_model, user, &sel); + if (!iter) + return; + + if (prefs.away_size_max < 1 || !prefs.away_track) + do_away = FALSE; + + gtk_list_store_set (GTK_LIST_STORE (sess->res->user_model), iter, + COL_HOST, user->hostname, + COL_GDKCOLOR, (do_away) + ? (user->away ? &colors[COL_AWAY] : NULL) + : (NULL), + -1); +} + +void +fe_userlist_insert (session *sess, struct User *newuser, int row, int sel) +{ + GtkTreeModel *model = sess->res->user_model; + GdkPixbuf *pix = get_user_icon (sess->server, newuser); + GtkTreeIter iter; + int do_away = TRUE; + char *nick; + + if (prefs.away_size_max < 1 || !prefs.away_track) + do_away = FALSE; + + nick = newuser->nick; + if (prefs.gui_tweaks & 64) + { + nick = malloc (strlen (newuser->nick) + 2); + nick[0] = newuser->prefix[0]; + if (!nick[0] || nick[0] == ' ') + strcpy (nick, newuser->nick); + else + strcpy (nick + 1, newuser->nick); + pix = NULL; + } + + gtk_list_store_insert_with_values (GTK_LIST_STORE (model), &iter, row, + COL_PIX, pix, + COL_NICK, nick, + COL_HOST, newuser->hostname, + COL_USER, newuser, + COL_GDKCOLOR, (do_away) + ? (newuser->away ? &colors[COL_AWAY] : NULL) + : (NULL), + -1); + + if (prefs.gui_tweaks & 64) + free (nick); + + /* is it me? */ + if (newuser->me && sess->gui->nick_box) + { + if (!sess->gui->is_tab || sess == current_tab) + mg_set_access_icon (sess->gui, pix, sess->server->is_away); + } + +#if 0 + if (prefs.hilitenotify && notify_isnotify (sess, newuser->nick)) + { + gtk_clist_set_foreground ((GtkCList *) sess->gui->user_clist, row, + &colors[prefs.nu_color]); + } +#endif + + /* is it the front-most tab? */ + if (gtk_tree_view_get_model (GTK_TREE_VIEW (sess->gui->user_tree)) + == model) + { + if (sel) + gtk_tree_selection_select_iter (gtk_tree_view_get_selection + (GTK_TREE_VIEW (sess->gui->user_tree)), &iter); + } +} + +void +fe_userlist_move (session *sess, struct User *user, int new_row) +{ + fe_userlist_insert (sess, user, new_row, fe_userlist_remove (sess, user)); +} + +void +fe_userlist_clear (session *sess) +{ + gtk_list_store_clear (sess->res->user_model); +} + +static void +userlist_dnd_drop (GtkTreeView *widget, GdkDragContext *context, + gint x, gint y, GtkSelectionData *selection_data, + guint info, guint ttime, gpointer userdata) +{ + struct User *user; + GtkTreePath *path; + GtkTreeModel *model; + GtkTreeIter iter; + + if (!gtk_tree_view_get_path_at_pos (widget, x, y, &path, NULL, NULL, NULL)) + return; + + model = gtk_tree_view_get_model (widget); + if (!gtk_tree_model_get_iter (model, &iter, path)) + return; + gtk_tree_model_get (model, &iter, COL_USER, &user, -1); + + mg_dnd_drop_file (current_sess, user->nick, selection_data->data); +} + +static gboolean +userlist_dnd_motion (GtkTreeView *widget, GdkDragContext *context, gint x, + gint y, guint ttime, gpointer tree) +{ + GtkTreePath *path; + GtkTreeSelection *sel; + + if (!tree) + return FALSE; + + if (gtk_tree_view_get_path_at_pos (widget, x, y, &path, NULL, NULL, NULL)) + { + sel = gtk_tree_view_get_selection (widget); + gtk_tree_selection_unselect_all (sel); + gtk_tree_selection_select_path (sel, path); + } + + return FALSE; +} + +static gboolean +userlist_dnd_leave (GtkTreeView *widget, GdkDragContext *context, guint ttime) +{ + gtk_tree_selection_unselect_all (gtk_tree_view_get_selection (widget)); + return TRUE; +} + +void * +userlist_create_model (void) +{ + return gtk_list_store_new (5, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_POINTER, GDK_TYPE_COLOR); +} + +static void +userlist_add_columns (GtkTreeView * treeview) +{ + GtkCellRenderer *renderer; + + /* icon column */ + renderer = gtk_cell_renderer_pixbuf_new (); + if (prefs.gui_tweaks & 32) + g_object_set (G_OBJECT (renderer), "ypad", 0, NULL); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview), + -1, NULL, renderer, + "pixbuf", 0, NULL); + + /* nick column */ + renderer = gtk_cell_renderer_text_new (); + if (prefs.gui_tweaks & 32) + g_object_set (G_OBJECT (renderer), "ypad", 0, NULL); + gtk_cell_renderer_text_set_fixed_height_from_font (GTK_CELL_RENDERER_TEXT (renderer), 1); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview), + -1, NULL, renderer, + "text", 1, "foreground-gdk", 4, NULL); + + if (prefs.showhostname_in_userlist) + { + /* hostname column */ + renderer = gtk_cell_renderer_text_new (); + if (prefs.gui_tweaks & 32) + g_object_set (G_OBJECT (renderer), "ypad", 0, NULL); + gtk_cell_renderer_text_set_fixed_height_from_font (GTK_CELL_RENDERER_TEXT (renderer), 1); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview), + -1, NULL, renderer, + "text", 2, NULL); + } +} + +static gint +userlist_click_cb (GtkWidget *widget, GdkEventButton *event, gpointer userdata) +{ + char **nicks; + int i; + GtkTreeSelection *sel; + GtkTreePath *path; + + if (!event) + return FALSE; + + if (!(event->state & GDK_CONTROL_MASK) && + event->type == GDK_2BUTTON_PRESS && prefs.doubleclickuser[0]) + { + nicks = userlist_selection_list (widget, &i); + if (nicks) + { + nick_command_parse (current_sess, prefs.doubleclickuser, nicks[0], + nicks[0]); + while (i) + { + i--; + g_free (nicks[i]); + } + free (nicks); + } + return TRUE; + } + + if (event->button == 3) + { + /* do we have a multi-selection? */ + nicks = userlist_selection_list (widget, &i); + if (nicks && i > 1) + { + menu_nickmenu (current_sess, event, nicks[0], i); + while (i) + { + i--; + g_free (nicks[i]); + } + free (nicks); + return TRUE; + } + if (nicks) + { + g_free (nicks[0]); + free (nicks); + } + + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget)); + if (gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (widget), + event->x, event->y, &path, 0, 0, 0)) + { + gtk_tree_selection_unselect_all (sel); + gtk_tree_selection_select_path (sel, path); + gtk_tree_path_free (path); + nicks = userlist_selection_list (widget, &i); + if (nicks) + { + menu_nickmenu (current_sess, event, nicks[0], i); + while (i) + { + i--; + g_free (nicks[i]); + } + free (nicks); + } + } else + { + gtk_tree_selection_unselect_all (sel); + } + + return TRUE; + } + + return FALSE; +} + +static gboolean +userlist_key_cb (GtkWidget *wid, GdkEventKey *evt, gpointer userdata) +{ + if (evt->keyval >= GDK_asterisk && evt->keyval <= GDK_z) + { + /* dirty trick to avoid auto-selection */ + SPELL_ENTRY_SET_EDITABLE (current_sess->gui->input_box, FALSE); + gtk_widget_grab_focus (current_sess->gui->input_box); + SPELL_ENTRY_SET_EDITABLE (current_sess->gui->input_box, TRUE); + gtk_widget_event (current_sess->gui->input_box, (GdkEvent *)evt); + return TRUE; + } + + return FALSE; +} + +GtkWidget * +userlist_create (GtkWidget *box) +{ + GtkWidget *sw, *treeview; + static const GtkTargetEntry dnd_dest_targets[] = + { + {"text/uri-list", 0, 1}, + {"XCHAT_CHANVIEW", GTK_TARGET_SAME_APP, 75 } + }; + static const GtkTargetEntry dnd_src_target[] = + { + {"XCHAT_USERLIST", GTK_TARGET_SAME_APP, 75 } + }; + + sw = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), + GTK_SHADOW_ETCHED_IN); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), + prefs.showhostname_in_userlist ? + GTK_POLICY_AUTOMATIC : + GTK_POLICY_NEVER, + GTK_POLICY_AUTOMATIC); + gtk_box_pack_start (GTK_BOX (box), sw, TRUE, TRUE, 0); + gtk_widget_show (sw); + + treeview = gtk_tree_view_new (); + gtk_widget_set_name (treeview, "xchat-userlist"); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), FALSE); + gtk_tree_selection_set_mode (gtk_tree_view_get_selection + (GTK_TREE_VIEW (treeview)), + GTK_SELECTION_MULTIPLE); + + /* set up drops */ + gtk_drag_dest_set (treeview, GTK_DEST_DEFAULT_ALL, dnd_dest_targets, 2, + GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK); + gtk_drag_source_set (treeview, GDK_BUTTON1_MASK, dnd_src_target, 1, GDK_ACTION_MOVE); + + /* file DND (for DCC) */ + g_signal_connect (G_OBJECT (treeview), "drag_motion", + G_CALLBACK (userlist_dnd_motion), treeview); + g_signal_connect (G_OBJECT (treeview), "drag_leave", + G_CALLBACK (userlist_dnd_leave), 0); + g_signal_connect (G_OBJECT (treeview), "drag_data_received", + G_CALLBACK (userlist_dnd_drop), treeview); + + g_signal_connect (G_OBJECT (treeview), "button_press_event", + G_CALLBACK (userlist_click_cb), 0); + g_signal_connect (G_OBJECT (treeview), "key_press_event", + G_CALLBACK (userlist_key_cb), 0); + + /* tree/chanview DND */ +#ifndef WIN32 /* leaks GDI pool memory, don't enable */ + g_signal_connect (G_OBJECT (treeview), "drag_begin", + G_CALLBACK (mg_drag_begin_cb), NULL); + g_signal_connect (G_OBJECT (treeview), "drag_drop", + G_CALLBACK (mg_drag_drop_cb), NULL); + g_signal_connect (G_OBJECT (treeview), "drag_motion", + G_CALLBACK (mg_drag_motion_cb), NULL); + g_signal_connect (G_OBJECT (treeview), "drag_end", + G_CALLBACK (mg_drag_end_cb), NULL); +#endif + + userlist_add_columns (GTK_TREE_VIEW (treeview)); + + gtk_container_add (GTK_CONTAINER (sw), treeview); + gtk_widget_show (treeview); + + return treeview; +} + +void +userlist_show (session *sess) +{ + gtk_tree_view_set_model (GTK_TREE_VIEW (sess->gui->user_tree), + sess->res->user_model); +} + +void +fe_uselect (session *sess, char *word[], int do_clear, int scroll_to) +{ + int thisname; + char *name; + GtkTreeIter iter; + GtkTreeView *treeview = GTK_TREE_VIEW (sess->gui->user_tree); + GtkTreeModel *model = gtk_tree_view_get_model (treeview); + GtkTreeSelection *selection = gtk_tree_view_get_selection (treeview); + struct User *row_user; + + if (gtk_tree_model_get_iter_first (model, &iter)) + { + if (do_clear) + gtk_tree_selection_unselect_all (selection); + + do + { + if (*word[0]) + { + gtk_tree_model_get (model, &iter, COL_USER, &row_user, -1); + thisname = 0; + while ( *(name = word[thisname++]) ) + { + if (sess->server->p_cmp (row_user->nick, name) == 0) + { + gtk_tree_selection_select_iter (selection, &iter); + if (scroll_to) + scroll_to_iter (&iter, treeview, model); + break; + } + } + } + + } + while (gtk_tree_model_iter_next (model, &iter)); + } +} diff --git a/src/fe-gtk/userlistgui.h b/src/fe-gtk/userlistgui.h new file mode 100644 index 00000000..b49e2b9b --- /dev/null +++ b/src/fe-gtk/userlistgui.h @@ -0,0 +1,8 @@ +void userlist_set_value (GtkWidget *treeview, gfloat val); +gfloat userlist_get_value (GtkWidget *treeview); +GtkWidget *userlist_create (GtkWidget *box); +void *userlist_create_model (void); +void userlist_show (session *sess); +void userlist_select (session *sess, char *name); +char **userlist_selection_list (GtkWidget *widget, int *num_ret); +GdkPixbuf *get_user_icon (server *serv, struct User *user); diff --git a/src/fe-gtk/xtext.c b/src/fe-gtk/xtext.c new file mode 100644 index 00000000..fa9803c7 --- /dev/null +++ b/src/fe-gtk/xtext.c @@ -0,0 +1,5478 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * ========================================================================= + * + * xtext, the text widget used by X-Chat. + * By Peter Zelezny <zed@xchat.org>. + * + */ + +#define XCHAT /* using xchat */ +#define TINT_VALUE 195 /* 195/255 of the brightness. */ +#define MOTION_MONITOR /* URL hilights. */ +#define SMOOTH_SCROLL /* line-by-line or pixel scroll? */ +#define SCROLL_HACK /* use XCopyArea scroll, or full redraw? */ +#undef COLOR_HILIGHT /* Color instead of underline? */ +/* Italic is buggy because it assumes drawing an italic string will have + identical extents to the normal font. This is only true some of the + time, so we can't use this hack yet. */ +#undef ITALIC /* support Italic? */ +#define GDK_MULTIHEAD_SAFE +#define USE_DB /* double buffer */ + +#define MARGIN 2 /* dont touch. */ +#define REFRESH_TIMEOUT 20 +#define WORDWRAP_LIMIT 24 + +#include <string.h> +#include <ctype.h> +#include <stdlib.h> +#include <time.h> +#include <unistd.h> +#include <gtk/gtkmain.h> +#include <gtk/gtksignal.h> +#include <gtk/gtkselection.h> +#include <gtk/gtkclipboard.h> +#include <gtk/gtkversion.h> +#include <gtk/gtkwindow.h> + +#ifdef XCHAT +#include "../../config.h" /* can define USE_XLIB here */ +#else +#define USE_XLIB +#endif + +#ifdef USE_XLIB +#include <gdk/gdkx.h> +#include <X11/Xlib.h> +#include <X11/Xatom.h> +#endif + +#ifdef USE_MMX +#include "mmx_cmod.h" +#endif + +#include "xtext.h" + +#define charlen(str) g_utf8_skip[*(guchar *)(str)] + +#ifdef WIN32 +#include <windows.h> +#include <gdk/gdkwin32.h> +#endif + +/* is delimiter */ +#define is_del(c) \ + (c == ' ' || c == '\n' || c == ')' || c == '(' || \ + c == '>' || c == '<' || c == ATTR_RESET || c == ATTR_BOLD || c == 0) + +#ifdef SCROLL_HACK +/* force scrolling off */ +#define dontscroll(buf) (buf)->last_pixel_pos = 0x7fffffff +#else +#define dontscroll(buf) +#endif + +static GtkWidgetClass *parent_class = NULL; + +struct textentry +{ + struct textentry *next; + struct textentry *prev; + unsigned char *str; + time_t stamp; + gint16 str_width; + gint16 str_len; + gint16 mark_start; + gint16 mark_end; + gint16 indent; + gint16 left_len; + gint16 lines_taken; +#define RECORD_WRAPS 4 + guint16 wrap_offset[RECORD_WRAPS]; + guchar mb; /* boolean: is multibyte? */ + guchar tag; + guchar pad1; + guchar pad2; /* 32-bit align : 44 bytes total */ +}; + +enum +{ + WORD_CLICK, + LAST_SIGNAL +}; + +/* values for selection info */ +enum +{ + TARGET_UTF8_STRING, + TARGET_STRING, + TARGET_TEXT, + TARGET_COMPOUND_TEXT +}; + +static guint xtext_signals[LAST_SIGNAL]; + +#ifdef XCHAT +char *nocasestrstr (const char *text, const char *tofind); /* util.c */ +int xtext_get_stamp_str (time_t, char **); +#endif +static void gtk_xtext_render_page (GtkXText * xtext); +static void gtk_xtext_calc_lines (xtext_buffer *buf, int); +#if defined(USE_XLIB) || defined(WIN32) +static void gtk_xtext_load_trans (GtkXText * xtext); +static void gtk_xtext_free_trans (GtkXText * xtext); +#endif +static char *gtk_xtext_selection_get_text (GtkXText *xtext, int *len_ret); +static textentry *gtk_xtext_nth (GtkXText *xtext, int line, int *subline); +static void gtk_xtext_adjustment_changed (GtkAdjustment * adj, + GtkXText * xtext); +static int gtk_xtext_render_ents (GtkXText * xtext, textentry *, textentry *); +static void gtk_xtext_recalc_widths (xtext_buffer *buf, int); +static void gtk_xtext_fix_indent (xtext_buffer *buf); +static int gtk_xtext_find_subline (GtkXText *xtext, textentry *ent, int line); +static char *gtk_xtext_conv_color (unsigned char *text, int len, int *newlen); +static unsigned char * +gtk_xtext_strip_color (unsigned char *text, int len, unsigned char *outbuf, + int *newlen, int *mb_ret, int strip_hidden); +static gboolean gtk_xtext_check_ent_visibility (GtkXText * xtext, textentry *find_ent, int add); +static int gtk_xtext_render_page_timeout (GtkXText * xtext); + +/* some utility functions first */ + +#ifndef XCHAT /* xchat has this in util.c */ + +static char * +nocasestrstr (const char *s, const char *tofind) +{ + register const size_t len = strlen (tofind); + + if (len == 0) + return (char *)s; + while (toupper(*s) != toupper(*tofind) || strncasecmp (s, tofind, len)) + if (*s++ == '\0') + return (char *)NULL; + return (char *)s; +} + +#endif + +/* gives width of a 8bit string - with no mIRC codes in it */ + +static int +gtk_xtext_text_width_8bit (GtkXText *xtext, unsigned char *str, int len) +{ + int width = 0; + + while (len) + { + width += xtext->fontwidth[*str]; + str++; + len--; + } + + return width; +} + +#ifdef WIN32 + +static void +win32_draw_bg (GtkXText *xtext, int x, int y, int width, int height) +{ + HDC hdc; + HWND hwnd; + HRGN rgn; + + if (xtext->shaded) + { + /* xtext->pixmap is really a GdkImage, created in win32_tint() */ + gdk_draw_image (xtext->draw_buf, xtext->bgc, (GdkImage*)xtext->pixmap, + x, y, x, y, width, height); + } else + { + hwnd = GDK_WINDOW_HWND (xtext->draw_buf); + hdc = GetDC (hwnd); + + rgn = CreateRectRgn (x, y, x + width, y + height); + SelectClipRgn (hdc, rgn); + + PaintDesktop (hdc); + + ReleaseDC (hwnd, hdc); + DeleteObject (rgn); + } +} + +static void +xtext_draw_bg (GtkXText *xtext, int x, int y, int width, int height) +{ + if (xtext->transparent) + win32_draw_bg (xtext, x, y, width, height); + else + gdk_draw_rectangle (xtext->draw_buf, xtext->bgc, 1, x, y, width, height); +} + +#else + +#define xtext_draw_bg(xt,x,y,w,h) gdk_draw_rectangle(xt->draw_buf, xt->bgc, \ + 1,x,y,w,h); + +#endif + +/* ========================================= */ +/* ========== XFT 1 and 2 BACKEND ========== */ +/* ========================================= */ + +#ifdef USE_XFT + +static void +backend_font_close (GtkXText *xtext) +{ + XftFontClose (GDK_WINDOW_XDISPLAY (xtext->draw_buf), xtext->font); +#ifdef ITALIC + XftFontClose (GDK_WINDOW_XDISPLAY (xtext->draw_buf), xtext->ifont); +#endif +} + +static void +backend_init (GtkXText *xtext) +{ + if (xtext->xftdraw == NULL) + { + xtext->xftdraw = XftDrawCreate ( + GDK_WINDOW_XDISPLAY (xtext->draw_buf), + GDK_WINDOW_XWINDOW (xtext->draw_buf), + GDK_VISUAL_XVISUAL (gdk_drawable_get_visual (xtext->draw_buf)), + GDK_COLORMAP_XCOLORMAP (gdk_drawable_get_colormap (xtext->draw_buf))); + XftDrawSetSubwindowMode (xtext->xftdraw, IncludeInferiors); + } +} + +static void +backend_deinit (GtkXText *xtext) +{ + if (xtext->xftdraw) + { + XftDrawDestroy (xtext->xftdraw); + xtext->xftdraw = NULL; + } +} + +static XftFont * +backend_font_open_real (Display *xdisplay, char *name, gboolean italics) +{ + XftFont *font = NULL; + PangoFontDescription *fontd; + int weight, slant, screen = DefaultScreen (xdisplay); + + fontd = pango_font_description_from_string (name); + + if (pango_font_description_get_size (fontd) != 0) + { + weight = pango_font_description_get_weight (fontd); + /* from pangoft2-fontmap.c */ + if (weight < (PANGO_WEIGHT_NORMAL + PANGO_WEIGHT_LIGHT) / 2) + weight = XFT_WEIGHT_LIGHT; + else if (weight < (PANGO_WEIGHT_NORMAL + 600) / 2) + weight = XFT_WEIGHT_MEDIUM; + else if (weight < (600 + PANGO_WEIGHT_BOLD) / 2) + weight = XFT_WEIGHT_DEMIBOLD; + else if (weight < (PANGO_WEIGHT_BOLD + PANGO_WEIGHT_ULTRABOLD) / 2) + weight = XFT_WEIGHT_BOLD; + else + weight = XFT_WEIGHT_BLACK; + + slant = pango_font_description_get_style (fontd); + if (slant == PANGO_STYLE_ITALIC) + slant = XFT_SLANT_ITALIC; + else if (slant == PANGO_STYLE_OBLIQUE) + slant = XFT_SLANT_OBLIQUE; + else + slant = XFT_SLANT_ROMAN; + + font = XftFontOpen (xdisplay, screen, + XFT_FAMILY, XftTypeString, pango_font_description_get_family (fontd), + XFT_CORE, XftTypeBool, False, + XFT_SIZE, XftTypeDouble, (double)pango_font_description_get_size (fontd)/PANGO_SCALE, + XFT_WEIGHT, XftTypeInteger, weight, + XFT_SLANT, XftTypeInteger, italics ? XFT_SLANT_ITALIC : slant, + NULL); + } + pango_font_description_free (fontd); + + if (font == NULL) + { + font = XftFontOpenName (xdisplay, screen, name); + if (font == NULL) + font = XftFontOpenName (xdisplay, screen, "sans-11"); + } + + return font; +} + +static void +backend_font_open (GtkXText *xtext, char *name) +{ + Display *dis = GDK_WINDOW_XDISPLAY (xtext->draw_buf); + + xtext->font = backend_font_open_real (dis, name, FALSE); +#ifdef ITALIC + xtext->ifont = backend_font_open_real (dis, name, TRUE); +#endif +} + +inline static int +backend_get_char_width (GtkXText *xtext, unsigned char *str, int *mbl_ret) +{ + XGlyphInfo ext; + + if (*str < 128) + { + *mbl_ret = 1; + return xtext->fontwidth[*str]; + } + + *mbl_ret = charlen (str); + XftTextExtentsUtf8 (GDK_WINDOW_XDISPLAY (xtext->draw_buf), xtext->font, str, *mbl_ret, &ext); + + return ext.xOff; +} + +static int +backend_get_text_width (GtkXText *xtext, guchar *str, int len, int is_mb) +{ + XGlyphInfo ext; + + if (!is_mb) + return gtk_xtext_text_width_8bit (xtext, str, len); + + XftTextExtentsUtf8 (GDK_WINDOW_XDISPLAY (xtext->draw_buf), xtext->font, str, len, &ext); + return ext.xOff; +} + +static void +backend_draw_text (GtkXText *xtext, int dofill, GdkGC *gc, int x, int y, + char *str, int len, int str_width, int is_mb) +{ + /*Display *xdisplay = GDK_WINDOW_XDISPLAY (xtext->draw_buf);*/ + void (*draw_func) (XftDraw *, XftColor *, XftFont *, int, int, XftChar8 *, int) = (void *)XftDrawString8; + XftFont *font; + + /* if all ascii, use String8 to avoid the conversion penalty */ + if (is_mb) + draw_func = (void *)XftDrawStringUtf8; + + if (dofill) + { +/* register GC xgc = GDK_GC_XGC (gc); + XSetForeground (xdisplay, xgc, xtext->xft_bg->pixel); + XFillRectangle (xdisplay, GDK_WINDOW_XWINDOW (xtext->draw_buf), xgc, x, + y - xtext->font->ascent, str_width, xtext->fontsize);*/ + XftDrawRect (xtext->xftdraw, xtext->xft_bg, x, + y - xtext->font->ascent, str_width, xtext->fontsize); + } + + font = xtext->font; +#ifdef ITALIC + if (xtext->italics) + font = xtext->ifont; +#endif + + draw_func (xtext->xftdraw, xtext->xft_fg, font, x, y, str, len); + + if (xtext->overdraw) + draw_func (xtext->xftdraw, xtext->xft_fg, font, x, y, str, len); + + if (xtext->bold) + draw_func (xtext->xftdraw, xtext->xft_fg, font, x + 1, y, str, len); +} + +/*static void +backend_set_clip (GtkXText *xtext, GdkRectangle *area) +{ + gdk_gc_set_clip_rectangle (xtext->fgc, area); + gdk_gc_set_clip_rectangle (xtext->bgc, area); +} + +static void +backend_clear_clip (GtkXText *xtext) +{ + gdk_gc_set_clip_rectangle (xtext->fgc, NULL); + gdk_gc_set_clip_rectangle (xtext->bgc, NULL); +}*/ + +/*static void +backend_set_clip (GtkXText *xtext, GdkRectangle *area) +{ + Region reg; + XRectangle rect; + + rect.x = area->x; + rect.y = area->y; + rect.width = area->width; + rect.height = area->height; + + reg = XCreateRegion (); + XUnionRectWithRegion (&rect, reg, reg); + XftDrawSetClip (xtext->xftdraw, reg); + XDestroyRegion (reg); + + gdk_gc_set_clip_rectangle (xtext->fgc, area); +} + +static void +backend_clear_clip (GtkXText *xtext) +{ + XftDrawSetClip (xtext->xftdraw, NULL); + gdk_gc_set_clip_rectangle (xtext->fgc, NULL); +} +*/ +#else /* !USE_XFT */ + +/* ======================================= */ +/* ============ PANGO BACKEND ============ */ +/* ======================================= */ + +static void +backend_font_close (GtkXText *xtext) +{ + pango_font_description_free (xtext->font->font); +#ifdef ITALIC + pango_font_description_free (xtext->font->ifont); +#endif +} + +static void +backend_init (GtkXText *xtext) +{ + if (xtext->layout == NULL) + { + xtext->layout = gtk_widget_create_pango_layout (GTK_WIDGET (xtext), 0); + if (xtext->font) + pango_layout_set_font_description (xtext->layout, xtext->font->font); + } +} + +static void +backend_deinit (GtkXText *xtext) +{ + if (xtext->layout) + { + g_object_unref (xtext->layout); + xtext->layout = NULL; + } +} + +static PangoFontDescription * +backend_font_open_real (char *name) +{ + PangoFontDescription *font; + + font = pango_font_description_from_string (name); + if (font && pango_font_description_get_size (font) == 0) + { + pango_font_description_free (font); + font = pango_font_description_from_string ("sans 11"); + } + if (!font) + font = pango_font_description_from_string ("sans 11"); + + return font; +} + +static void +backend_font_open (GtkXText *xtext, char *name) +{ + PangoLanguage *lang; + PangoContext *context; + PangoFontMetrics *metrics; + + xtext->font = &xtext->pango_font; + xtext->font->font = backend_font_open_real (name); + if (!xtext->font->font) + { + xtext->font = NULL; + return; + } +#ifdef ITALIC + xtext->font->ifont = backend_font_open_real (name); + pango_font_description_set_style (xtext->font->ifont, PANGO_STYLE_ITALIC); +#endif + + backend_init (xtext); + pango_layout_set_font_description (xtext->layout, xtext->font->font); + + /* vte does it this way */ + context = gtk_widget_get_pango_context (GTK_WIDGET (xtext)); + lang = pango_context_get_language (context); + metrics = pango_context_get_metrics (context, xtext->font->font, lang); + xtext->font->ascent = pango_font_metrics_get_ascent (metrics) / PANGO_SCALE; + xtext->font->descent = pango_font_metrics_get_descent (metrics) / PANGO_SCALE; + pango_font_metrics_unref (metrics); +} + +static int +backend_get_text_width (GtkXText *xtext, guchar *str, int len, int is_mb) +{ + int width; + + if (!is_mb) + return gtk_xtext_text_width_8bit (xtext, str, len); + + if (*str == 0) + return 0; + + pango_layout_set_text (xtext->layout, str, len); + pango_layout_get_pixel_size (xtext->layout, &width, NULL); + + return width; +} + +inline static int +backend_get_char_width (GtkXText *xtext, unsigned char *str, int *mbl_ret) +{ + int width; + + if (*str < 128) + { + *mbl_ret = 1; + return xtext->fontwidth[*str]; + } + + *mbl_ret = charlen (str); + pango_layout_set_text (xtext->layout, str, *mbl_ret); + pango_layout_get_pixel_size (xtext->layout, &width, NULL); + + return width; +} + +/* simplified version of gdk_draw_layout_line_with_colors() */ + +static void +xtext_draw_layout_line (GdkDrawable *drawable, + GdkGC *gc, + gint x, + gint y, + PangoLayoutLine *line) +{ + GSList *tmp_list = line->runs; + PangoRectangle logical_rect; + gint x_off = 0; + + while (tmp_list) + { + PangoLayoutRun *run = tmp_list->data; + + pango_glyph_string_extents (run->glyphs, run->item->analysis.font, + NULL, &logical_rect); + + gdk_draw_glyphs (drawable, gc, run->item->analysis.font, + x + x_off / PANGO_SCALE, y, run->glyphs); + + x_off += logical_rect.width; + tmp_list = tmp_list->next; + } +} + +static void +backend_draw_text (GtkXText *xtext, int dofill, GdkGC *gc, int x, int y, + char *str, int len, int str_width, int is_mb) +{ + GdkGCValues val; + GdkColor col; + PangoLayoutLine *line; + +#ifdef ITALIC + if (xtext->italics) + pango_layout_set_font_description (xtext->layout, xtext->font->ifont); +#endif + + pango_layout_set_text (xtext->layout, str, len); + + if (dofill) + { +#ifdef WIN32 + if (xtext->transparent && !xtext->backcolor) + win32_draw_bg (xtext, x, y - xtext->font->ascent, str_width, + xtext->fontsize); + else +#endif + { + gdk_gc_get_values (gc, &val); + col.pixel = val.background.pixel; + gdk_gc_set_foreground (gc, &col); + gdk_draw_rectangle (xtext->draw_buf, gc, 1, x, y - + xtext->font->ascent, str_width, xtext->fontsize); + col.pixel = val.foreground.pixel; + gdk_gc_set_foreground (gc, &col); + } + } + + line = pango_layout_get_lines (xtext->layout)->data; + + xtext_draw_layout_line (xtext->draw_buf, gc, x, y, line); + + if (xtext->overdraw) + xtext_draw_layout_line (xtext->draw_buf, gc, x, y, line); + + if (xtext->bold) + xtext_draw_layout_line (xtext->draw_buf, gc, x + 1, y, line); + +#ifdef ITALIC + if (xtext->italics) + pango_layout_set_font_description (xtext->layout, xtext->font->font); +#endif +} + +/*static void +backend_set_clip (GtkXText *xtext, GdkRectangle *area) +{ + gdk_gc_set_clip_rectangle (xtext->fgc, area); + gdk_gc_set_clip_rectangle (xtext->bgc, area); +} + +static void +backend_clear_clip (GtkXText *xtext) +{ + gdk_gc_set_clip_rectangle (xtext->fgc, NULL); + gdk_gc_set_clip_rectangle (xtext->bgc, NULL); +}*/ + +#endif /* !USE_PANGO */ + +static void +xtext_set_fg (GtkXText *xtext, GdkGC *gc, int index) +{ + GdkColor col; + + col.pixel = xtext->palette[index]; + gdk_gc_set_foreground (gc, &col); + +#ifdef USE_XFT + if (gc == xtext->fgc) + xtext->xft_fg = &xtext->color[index]; + else + xtext->xft_bg = &xtext->color[index]; +#endif +} + +#ifdef USE_XFT + +#define xtext_set_bg(xt,gc,index) xt->xft_bg = &xt->color[index] + +#else + +static void +xtext_set_bg (GtkXText *xtext, GdkGC *gc, int index) +{ + GdkColor col; + + col.pixel = xtext->palette[index]; + gdk_gc_set_background (gc, &col); +} + +#endif + +static void +gtk_xtext_init (GtkXText * xtext) +{ + xtext->pixmap = NULL; + xtext->io_tag = 0; + xtext->add_io_tag = 0; + xtext->scroll_tag = 0; + xtext->max_lines = 0; + xtext->col_back = XTEXT_BG; + xtext->col_fore = XTEXT_FG; + xtext->nc = 0; + xtext->pixel_offset = 0; + xtext->bold = FALSE; + xtext->underline = FALSE; + xtext->italics = FALSE; + xtext->hidden = FALSE; + xtext->font = NULL; +#ifdef USE_XFT + xtext->xftdraw = NULL; +#else + xtext->layout = NULL; +#endif + xtext->jump_out_offset = 0; + xtext->jump_in_offset = 0; + xtext->ts_x = 0; + xtext->ts_y = 0; + xtext->clip_x = 0; + xtext->clip_x2 = 1000000; + xtext->clip_y = 0; + xtext->clip_y2 = 1000000; + xtext->error_function = NULL; + xtext->urlcheck_function = NULL; + xtext->color_paste = FALSE; + xtext->skip_border_fills = FALSE; + xtext->skip_stamp = FALSE; + xtext->render_hilights_only = FALSE; + xtext->un_hilight = FALSE; + xtext->recycle = FALSE; + xtext->dont_render = FALSE; + xtext->dont_render2 = FALSE; + xtext->overdraw = FALSE; + xtext->tint_red = xtext->tint_green = xtext->tint_blue = TINT_VALUE; + + xtext->adj = (GtkAdjustment *) gtk_adjustment_new (0, 0, 1, 1, 1, 1); + g_object_ref (G_OBJECT (xtext->adj)); + g_object_ref_sink (G_OBJECT (xtext->adj)); + g_object_unref (G_OBJECT (xtext->adj)); + + xtext->vc_signal_tag = g_signal_connect (G_OBJECT (xtext->adj), + "value_changed", G_CALLBACK (gtk_xtext_adjustment_changed), xtext); + { + static const GtkTargetEntry targets[] = { + { "UTF8_STRING", 0, TARGET_UTF8_STRING }, + { "STRING", 0, TARGET_STRING }, + { "TEXT", 0, TARGET_TEXT }, + { "COMPOUND_TEXT", 0, TARGET_COMPOUND_TEXT } + }; + static const gint n_targets = sizeof (targets) / sizeof (targets[0]); + + gtk_selection_add_targets (GTK_WIDGET (xtext), GDK_SELECTION_PRIMARY, + targets, n_targets); + } + + if (getenv ("XCHAT_OVERDRAW")) + xtext->overdraw = TRUE; +} + +static void +gtk_xtext_adjustment_set (xtext_buffer *buf, int fire_signal) +{ + GtkAdjustment *adj = buf->xtext->adj; + + if (buf->xtext->buffer == buf) + { + adj->lower = 0; + adj->upper = buf->num_lines; + + if (adj->upper == 0) + adj->upper = 1; + + adj->page_size = + (GTK_WIDGET (buf->xtext)->allocation.height - + buf->xtext->font->descent) / buf->xtext->fontsize; + adj->page_increment = adj->page_size; + + if (adj->value > adj->upper - adj->page_size) + adj->value = adj->upper - adj->page_size; + + if (adj->value < 0) + adj->value = 0; + + if (fire_signal) + gtk_adjustment_changed (adj); + } +} + +static gint +gtk_xtext_adjustment_timeout (GtkXText * xtext) +{ + gtk_xtext_render_page (xtext); + xtext->io_tag = 0; + return 0; +} + +static void +gtk_xtext_adjustment_changed (GtkAdjustment * adj, GtkXText * xtext) +{ +#ifdef SMOOTH_SCROLL + if (xtext->buffer->old_value != xtext->adj->value) +#else + if ((int) xtext->buffer->old_value != (int) xtext->adj->value) +#endif + { + if (xtext->adj->value >= xtext->adj->upper - xtext->adj->page_size) + xtext->buffer->scrollbar_down = TRUE; + else + xtext->buffer->scrollbar_down = FALSE; + + if (xtext->adj->value + 1 == xtext->buffer->old_value || + xtext->adj->value - 1 == xtext->buffer->old_value) /* clicked an arrow? */ + { + if (xtext->io_tag) + { + g_source_remove (xtext->io_tag); + xtext->io_tag = 0; + } + gtk_xtext_render_page (xtext); + } else + { + if (!xtext->io_tag) + xtext->io_tag = g_timeout_add (REFRESH_TIMEOUT, + (GSourceFunc) + gtk_xtext_adjustment_timeout, + xtext); + } + } + xtext->buffer->old_value = adj->value; +} + +GtkWidget * +gtk_xtext_new (GdkColor palette[], int separator) +{ + GtkXText *xtext; + + xtext = g_object_new (gtk_xtext_get_type (), NULL); + xtext->separator = separator; + xtext->wordwrap = TRUE; + xtext->buffer = gtk_xtext_buffer_new (xtext); + xtext->orig_buffer = xtext->buffer; + + gtk_widget_set_double_buffered (GTK_WIDGET (xtext), FALSE); + gtk_xtext_set_palette (xtext, palette); + + return GTK_WIDGET (xtext); +} + +static void +gtk_xtext_destroy (GtkObject * object) +{ + GtkXText *xtext = GTK_XTEXT (object); + + if (xtext->add_io_tag) + { + g_source_remove (xtext->add_io_tag); + xtext->add_io_tag = 0; + } + + if (xtext->scroll_tag) + { + g_source_remove (xtext->scroll_tag); + xtext->scroll_tag = 0; + } + + if (xtext->io_tag) + { + g_source_remove (xtext->io_tag); + xtext->io_tag = 0; + } + + if (xtext->pixmap) + { +#if defined(USE_XLIB) || defined(WIN32) + if (xtext->transparent) + gtk_xtext_free_trans (xtext); + else +#endif + g_object_unref (xtext->pixmap); + xtext->pixmap = NULL; + } + + if (xtext->font) + { + backend_font_close (xtext); + xtext->font = NULL; + } + + if (xtext->adj) + { + g_signal_handlers_disconnect_matched (G_OBJECT (xtext->adj), + G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, xtext); + /* gtk_signal_disconnect_by_data (GTK_OBJECT (xtext->adj), xtext);*/ + g_object_unref (G_OBJECT (xtext->adj)); + xtext->adj = NULL; + } + + if (xtext->bgc) + { + g_object_unref (xtext->bgc); + xtext->bgc = NULL; + } + + if (xtext->fgc) + { + g_object_unref (xtext->fgc); + xtext->fgc = NULL; + } + + if (xtext->light_gc) + { + g_object_unref (xtext->light_gc); + xtext->light_gc = NULL; + } + + if (xtext->dark_gc) + { + g_object_unref (xtext->dark_gc); + xtext->dark_gc = NULL; + } + + if (xtext->thin_gc) + { + g_object_unref (xtext->thin_gc); + xtext->thin_gc = NULL; + } + + if (xtext->marker_gc) + { + g_object_unref (xtext->marker_gc); + xtext->marker_gc = NULL; + } + + if (xtext->hand_cursor) + { + gdk_cursor_unref (xtext->hand_cursor); + xtext->hand_cursor = NULL; + } + + if (xtext->resize_cursor) + { + gdk_cursor_unref (xtext->resize_cursor); + xtext->resize_cursor = NULL; + } + + if (xtext->orig_buffer) + { + gtk_xtext_buffer_free (xtext->orig_buffer); + xtext->orig_buffer = NULL; + } + + if (GTK_OBJECT_CLASS (parent_class)->destroy) + (*GTK_OBJECT_CLASS (parent_class)->destroy) (object); +} + +static void +gtk_xtext_unrealize (GtkWidget * widget) +{ + backend_deinit (GTK_XTEXT (widget)); + + /* if there are still events in the queue, this'll avoid segfault */ + gdk_window_set_user_data (widget->window, NULL); + + if (parent_class->unrealize) + (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget); +} + +static void +gtk_xtext_realize (GtkWidget * widget) +{ + GtkXText *xtext; + GdkWindowAttr attributes; + GdkGCValues val; + GdkColor col; + GdkColormap *cmap; + + GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); + xtext = GTK_XTEXT (widget); + + attributes.x = widget->allocation.x; + attributes.y = widget->allocation.y; + attributes.width = widget->allocation.width; + attributes.height = widget->allocation.height; + attributes.wclass = GDK_INPUT_OUTPUT; + attributes.window_type = GDK_WINDOW_CHILD; + attributes.event_mask = gtk_widget_get_events (widget) | + GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK +#ifdef MOTION_MONITOR + | GDK_POINTER_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK; +#else + | GDK_POINTER_MOTION_MASK; +#endif + + cmap = gtk_widget_get_colormap (widget); + attributes.colormap = cmap; + attributes.visual = gtk_widget_get_visual (widget); + + widget->window = gdk_window_new (widget->parent->window, &attributes, + GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | + GDK_WA_COLORMAP); + + gdk_window_set_user_data (widget->window, widget); + + xtext->depth = gdk_drawable_get_visual (widget->window)->depth; + + val.subwindow_mode = GDK_INCLUDE_INFERIORS; + val.graphics_exposures = 0; + + xtext->bgc = gdk_gc_new_with_values (widget->window, &val, + GDK_GC_EXPOSURES | GDK_GC_SUBWINDOW); + xtext->fgc = gdk_gc_new_with_values (widget->window, &val, + GDK_GC_EXPOSURES | GDK_GC_SUBWINDOW); + xtext->light_gc = gdk_gc_new_with_values (widget->window, &val, + GDK_GC_EXPOSURES | GDK_GC_SUBWINDOW); + xtext->dark_gc = gdk_gc_new_with_values (widget->window, &val, + GDK_GC_EXPOSURES | GDK_GC_SUBWINDOW); + xtext->thin_gc = gdk_gc_new_with_values (widget->window, &val, + GDK_GC_EXPOSURES | GDK_GC_SUBWINDOW); + xtext->marker_gc = gdk_gc_new_with_values (widget->window, &val, + GDK_GC_EXPOSURES | GDK_GC_SUBWINDOW); + + /* for the separator bar (light) */ + col.red = 0xffff; col.green = 0xffff; col.blue = 0xffff; + gdk_colormap_alloc_color (cmap, &col, FALSE, TRUE); + gdk_gc_set_foreground (xtext->light_gc, &col); + + /* for the separator bar (dark) */ + col.red = 0x1111; col.green = 0x1111; col.blue = 0x1111; + gdk_colormap_alloc_color (cmap, &col, FALSE, TRUE); + gdk_gc_set_foreground (xtext->dark_gc, &col); + + /* for the separator bar (thinline) */ + col.red = 0x8e38; col.green = 0x8e38; col.blue = 0x9f38; + gdk_colormap_alloc_color (cmap, &col, FALSE, TRUE); + gdk_gc_set_foreground (xtext->thin_gc, &col); + + /* for the marker bar (marker) */ + col.pixel = xtext->palette[XTEXT_MARKER]; + gdk_gc_set_foreground (xtext->marker_gc, &col); + + xtext_set_fg (xtext, xtext->fgc, XTEXT_FG); + xtext_set_bg (xtext, xtext->fgc, XTEXT_BG); + xtext_set_fg (xtext, xtext->bgc, XTEXT_BG); + + /* draw directly to window */ + xtext->draw_buf = widget->window; + +#if defined(USE_XLIB) || defined(WIN32) + if (xtext->transparent) + { + gtk_xtext_load_trans (xtext); + } else +#endif + if (xtext->pixmap) + { + gdk_gc_set_tile (xtext->bgc, xtext->pixmap); + gdk_gc_set_ts_origin (xtext->bgc, 0, 0); + xtext->ts_x = xtext->ts_y = 0; + gdk_gc_set_fill (xtext->bgc, GDK_TILED); + } + +#if (GTK_MAJOR_VERSION == 2) && (GTK_MINOR_VERSION == 0) + xtext->hand_cursor = gdk_cursor_new (GDK_HAND1); + xtext->resize_cursor = gdk_cursor_new (GDK_LEFT_SIDE); +#else + xtext->hand_cursor = gdk_cursor_new_for_display (gdk_drawable_get_display (widget->window), GDK_HAND1); + xtext->resize_cursor = gdk_cursor_new_for_display (gdk_drawable_get_display (widget->window), GDK_LEFT_SIDE); +#endif + + gdk_window_set_back_pixmap (widget->window, NULL, FALSE); + widget->style = gtk_style_attach (widget->style, widget->window); + + backend_init (xtext); +} + +static void +gtk_xtext_size_request (GtkWidget * widget, GtkRequisition * requisition) +{ + requisition->width = 200; + requisition->height = 90; +} + +static void +gtk_xtext_size_allocate (GtkWidget * widget, GtkAllocation * allocation) +{ + GtkXText *xtext = GTK_XTEXT (widget); + int height_only = FALSE; + int do_trans = TRUE; + + if (allocation->width == xtext->buffer->window_width) + height_only = TRUE; + + if (allocation->x == widget->allocation.x && + allocation->y == widget->allocation.y && xtext->avoid_trans) + do_trans = FALSE; + + xtext->avoid_trans = FALSE; + + widget->allocation = *allocation; + if (GTK_WIDGET_REALIZED (widget)) + { + xtext->buffer->window_width = allocation->width; + xtext->buffer->window_height = allocation->height; + + gdk_window_move_resize (widget->window, allocation->x, allocation->y, + allocation->width, allocation->height); + dontscroll (xtext->buffer); /* force scrolling off */ + if (!height_only) + gtk_xtext_calc_lines (xtext->buffer, FALSE); + else + { + xtext->buffer->pagetop_ent = NULL; + gtk_xtext_adjustment_set (xtext->buffer, FALSE); + } +#if defined(USE_XLIB) || defined(WIN32) + if (do_trans && xtext->transparent && xtext->shaded) + { + gtk_xtext_free_trans (xtext); + gtk_xtext_load_trans (xtext); + } +#endif + if (xtext->buffer->scrollbar_down) + gtk_adjustment_set_value (xtext->adj, xtext->adj->upper - + xtext->adj->page_size); + } +} + +static void +gtk_xtext_selection_clear_full (xtext_buffer *buf) +{ + textentry *ent = buf->text_first; + while (ent) + { + ent->mark_start = -1; + ent->mark_end = -1; + ent = ent->next; + } +} + +static int +gtk_xtext_selection_clear (xtext_buffer *buf) +{ + textentry *ent; + int ret = 0; + + ent = buf->last_ent_start; + while (ent) + { + if (ent->mark_start != -1) + ret = 1; + ent->mark_start = -1; + ent->mark_end = -1; + if (ent == buf->last_ent_end) + break; + ent = ent->next; + } + + return ret; +} + +static int +find_x (GtkXText *xtext, textentry *ent, unsigned char *text, int x, int indent) +{ + int xx = indent; + int i = 0; + int rcol = 0, bgcol = 0; + int hidden = FALSE; + unsigned char *orig = text; + int mbl; + int char_width; + + while (*text) + { + mbl = 1; + if (rcol > 0 && (isdigit (*text) || (*text == ',' && isdigit (text[1]) && !bgcol))) + { + if (text[1] != ',') rcol--; + if (*text == ',') + { + rcol = 2; + bgcol = 1; + } + text++; + } else + { + rcol = bgcol = 0; + switch (*text) + { + case ATTR_COLOR: + rcol = 2; + case ATTR_BEEP: + case ATTR_RESET: + case ATTR_REVERSE: + case ATTR_BOLD: + case ATTR_UNDERLINE: + case ATTR_ITALICS: + text++; + break; + case ATTR_HIDDEN: + if (xtext->ignore_hidden) + goto def; + hidden = !hidden; + text++; + break; + default: + def: + char_width = backend_get_char_width (xtext, text, &mbl); + if (!hidden) xx += char_width; + text += mbl; + if (xx >= x) + return i + (orig - ent->str); + } + } + + i += mbl; + if (text - orig >= ent->str_len) + return ent->str_len; + } + + return ent->str_len; +} + +static int +gtk_xtext_find_x (GtkXText * xtext, int x, textentry * ent, int subline, + int line, int *out_of_bounds) +{ + int indent; + unsigned char *str; + + if (subline < 1) + indent = ent->indent; + else + indent = xtext->buffer->indent; + + if (line > xtext->adj->page_size || line < 0) + return 0; + + if (xtext->buffer->grid_dirty || line > 255) + { + str = ent->str + gtk_xtext_find_subline (xtext, ent, subline); + if (str >= ent->str + ent->str_len) + return 0; + } else + { + if (xtext->buffer->grid_offset[line] > ent->str_len) + return 0; + str = ent->str + xtext->buffer->grid_offset[line]; + } + + if (x < indent) + { + *out_of_bounds = 1; + return (str - ent->str); + } + + *out_of_bounds = 0; + + return find_x (xtext, ent, str, x, indent); +} + +static textentry * +gtk_xtext_find_char (GtkXText * xtext, int x, int y, int *off, + int *out_of_bounds) +{ + textentry *ent; + int line; + int subline; + + line = (y + xtext->pixel_offset) / xtext->fontsize; + ent = gtk_xtext_nth (xtext, line + (int)xtext->adj->value, &subline); + if (!ent) + return 0; + + if (off) + *off = gtk_xtext_find_x (xtext, x, ent, subline, line, out_of_bounds); + + return ent; +} + +static void +gtk_xtext_draw_sep (GtkXText * xtext, int y) +{ + int x, height; + GdkGC *light, *dark; + + if (y == -1) + { + y = 0; + height = GTK_WIDGET (xtext)->allocation.height; + } else + { + height = xtext->fontsize; + } + + /* draw the separator line */ + if (xtext->separator && xtext->buffer->indent) + { + light = xtext->light_gc; + dark = xtext->dark_gc; + + x = xtext->buffer->indent - ((xtext->space_width + 1) / 2); + if (x < 1) + return; + + if (xtext->thinline) + { + if (xtext->moving_separator) + gdk_draw_line (xtext->draw_buf, light, x, y, x, y + height); + else + gdk_draw_line (xtext->draw_buf, xtext->thin_gc, x, y, x, y + height); + } else + { + if (xtext->moving_separator) + { + gdk_draw_line (xtext->draw_buf, light, x - 1, y, x - 1, y + height); + gdk_draw_line (xtext->draw_buf, dark, x, y, x, y + height); + } else + { + gdk_draw_line (xtext->draw_buf, dark, x - 1, y, x - 1, y + height); + gdk_draw_line (xtext->draw_buf, light, x, y, x, y + height); + } + } + } +} + +static void +gtk_xtext_draw_marker (GtkXText * xtext, textentry * ent, int y) +{ + int x, width, render_y; + + if (!xtext->marker) return; + + if (xtext->buffer->marker_pos == ent) + { + render_y = y + xtext->font->descent; + } + else if (xtext->buffer->marker_pos == ent->next && ent->next != NULL) + { + render_y = y + xtext->font->descent + xtext->fontsize * ent->lines_taken; + } + else return; + + x = 0; + width = GTK_WIDGET (xtext)->allocation.width; + + gdk_draw_line (xtext->draw_buf, xtext->marker_gc, x, render_y, x + width, render_y); + +#if GTK_CHECK_VERSION(2,4,0) + if (gtk_window_has_toplevel_focus (GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (xtext))))) +#else + if (GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (xtext)))->has_focus) +#endif + { + xtext->buffer->marker_seen = TRUE; + } +} + +#ifdef USE_SHM +static int +have_shm_pixmaps(Display *dpy) +{ + int major, minor; + static int checked = 0; + static int have = FALSE; + + if (!checked) + { + XShmQueryVersion (dpy, &major, &minor, &have); + checked = 1; + } + + return have; +} +#endif + +static void +gtk_xtext_paint (GtkWidget *widget, GdkRectangle *area) +{ + GtkXText *xtext = GTK_XTEXT (widget); + textentry *ent_start, *ent_end; + int x, y; + +#if defined(USE_XLIB) || defined(WIN32) + if (xtext->transparent) + { + gdk_window_get_origin (widget->window, &x, &y); + /* update transparency only if it moved */ + if (xtext->last_win_x != x || xtext->last_win_y != y) + { + xtext->last_win_x = x; + xtext->last_win_y = y; +#ifndef WIN32 +#ifdef USE_SHM + if (xtext->shaded && !have_shm_pixmaps(GDK_WINDOW_XDISPLAY (xtext->draw_buf))) +#else + if (xtext->shaded) +#endif + { + xtext->recycle = TRUE; + gtk_xtext_load_trans (xtext); + xtext->recycle = FALSE; + } else +#endif + { + gtk_xtext_free_trans (xtext); + gtk_xtext_load_trans (xtext); + } + } + } +#endif + + if (area->x == 0 && area->y == 0 && + area->height == widget->allocation.height && + area->width == widget->allocation.width) + { + dontscroll (xtext->buffer); /* force scrolling off */ + gtk_xtext_render_page (xtext); + return; + } + + ent_start = gtk_xtext_find_char (xtext, area->x, area->y, NULL, NULL); + if (!ent_start) + { + xtext_draw_bg (xtext, area->x, area->y, area->width, area->height); + goto xit; + } + ent_end = gtk_xtext_find_char (xtext, area->x + area->width, + area->y + area->height, NULL, NULL); + if (!ent_end) + ent_end = xtext->buffer->text_last; + + /* can't set a clip here, because fgc/bgc are used to draw the DB too */ +/* backend_set_clip (xtext, area);*/ + xtext->clip_x = area->x; + xtext->clip_x2 = area->x + area->width; + xtext->clip_y = area->y; + xtext->clip_y2 = area->y + area->height; + + /* y is the last pixel y location it rendered text at */ + y = gtk_xtext_render_ents (xtext, ent_start, ent_end); + + if (y && y < widget->allocation.height && !ent_end->next) + { + GdkRectangle rect; + + rect.x = 0; + rect.y = y; + rect.width = widget->allocation.width; + rect.height = widget->allocation.height - y; + + /* fill any space below the last line that also intersects with + the exposure rectangle */ + if (gdk_rectangle_intersect (area, &rect, &rect)) + { + xtext_draw_bg (xtext, rect.x, rect.y, rect.width, rect.height); + } + } + + /*backend_clear_clip (xtext);*/ + xtext->clip_x = 0; + xtext->clip_x2 = 1000000; + xtext->clip_y = 0; + xtext->clip_y2 = 1000000; + +xit: + x = xtext->buffer->indent - ((xtext->space_width + 1) / 2); + if (area->x <= x) + gtk_xtext_draw_sep (xtext, -1); +} + +static gboolean +gtk_xtext_expose (GtkWidget * widget, GdkEventExpose * event) +{ + gtk_xtext_paint (widget, &event->area); + return FALSE; +} + +/* render a selection that has extended or contracted upward */ + +static void +gtk_xtext_selection_up (GtkXText *xtext, textentry *start, textentry *end, + int start_offset) +{ + /* render all the complete lines */ + if (start->next == end) + gtk_xtext_render_ents (xtext, end, NULL); + else + gtk_xtext_render_ents (xtext, start->next, end); + + /* now the incomplete upper line */ + if (start == xtext->buffer->last_ent_start) + xtext->jump_in_offset = xtext->buffer->last_offset_start; + else + xtext->jump_in_offset = start_offset; + gtk_xtext_render_ents (xtext, start, NULL); + xtext->jump_in_offset = 0; +} + +/* render a selection that has extended or contracted downward */ + +static void +gtk_xtext_selection_down (GtkXText *xtext, textentry *start, textentry *end, + int end_offset) +{ + /* render all the complete lines */ + if (end->prev == start) + gtk_xtext_render_ents (xtext, start, NULL); + else + gtk_xtext_render_ents (xtext, start, end->prev); + + /* now the incomplete bottom line */ + if (end == xtext->buffer->last_ent_end) + xtext->jump_out_offset = xtext->buffer->last_offset_end; + else + xtext->jump_out_offset = end_offset; + gtk_xtext_render_ents (xtext, end, NULL); + xtext->jump_out_offset = 0; +} + +static void +gtk_xtext_selection_render (GtkXText *xtext, + textentry *start_ent, int start_offset, + textentry *end_ent, int end_offset) +{ + textentry *ent; + int start, end; + + xtext->skip_border_fills = TRUE; + xtext->skip_stamp = TRUE; + + /* force an optimized render if there was no previous selection */ + if (xtext->buffer->last_ent_start == NULL && start_ent == end_ent) + { + xtext->buffer->last_offset_start = start_offset; + xtext->buffer->last_offset_end = end_offset; + goto lamejump; + } + + /* mark changed within 1 ent only? */ + if (xtext->buffer->last_ent_start == start_ent && + xtext->buffer->last_ent_end == end_ent) + { + /* when only 1 end of the selection is changed, we can really + save on rendering */ + if (xtext->buffer->last_offset_start == start_offset || + xtext->buffer->last_offset_end == end_offset) + { +lamejump: + ent = end_ent; + /* figure out where to start and end the rendering */ + if (end_offset > xtext->buffer->last_offset_end) + { + end = end_offset; + start = xtext->buffer->last_offset_end; + } else if (end_offset < xtext->buffer->last_offset_end) + { + end = xtext->buffer->last_offset_end; + start = end_offset; + } else if (start_offset < xtext->buffer->last_offset_start) + { + end = xtext->buffer->last_offset_start; + start = start_offset; + ent = start_ent; + } else if (start_offset > xtext->buffer->last_offset_start) + { + end = start_offset; + start = xtext->buffer->last_offset_start; + ent = start_ent; + } else + { /* WORD selects end up here */ + end = end_offset; + start = start_offset; + } + } else + { + /* LINE selects end up here */ + /* so which ent actually changed? */ + ent = start_ent; + if (xtext->buffer->last_offset_start == start_offset) + ent = end_ent; + + end = MAX (xtext->buffer->last_offset_end, end_offset); + start = MIN (xtext->buffer->last_offset_start, start_offset); + } + + xtext->jump_out_offset = end; + xtext->jump_in_offset = start; + gtk_xtext_render_ents (xtext, ent, NULL); + xtext->jump_out_offset = 0; + xtext->jump_in_offset = 0; + } + /* marking downward? */ + else if (xtext->buffer->last_ent_start == start_ent && + xtext->buffer->last_offset_start == start_offset) + { + /* find the range that covers both old and new selection */ + ent = start_ent; + while (ent) + { + if (ent == xtext->buffer->last_ent_end) + { + gtk_xtext_selection_down (xtext, ent, end_ent, end_offset); + /*gtk_xtext_render_ents (xtext, ent, end_ent);*/ + break; + } + if (ent == end_ent) + { + gtk_xtext_selection_down (xtext, ent, xtext->buffer->last_ent_end, end_offset); + /*gtk_xtext_render_ents (xtext, ent, xtext->buffer->last_ent_end);*/ + break; + } + ent = ent->next; + } + } + /* marking upward? */ + else if (xtext->buffer->last_ent_end == end_ent && + xtext->buffer->last_offset_end == end_offset) + { + ent = end_ent; + while (ent) + { + if (ent == start_ent) + { + gtk_xtext_selection_up (xtext, xtext->buffer->last_ent_start, ent, start_offset); + /*gtk_xtext_render_ents (xtext, xtext->buffer->last_ent_start, ent);*/ + break; + } + if (ent == xtext->buffer->last_ent_start) + { + gtk_xtext_selection_up (xtext, start_ent, ent, start_offset); + /*gtk_xtext_render_ents (xtext, start_ent, ent);*/ + break; + } + ent = ent->prev; + } + } + else /* cross-over mark (stretched or shrunk at both ends) */ + { + /* unrender the old mark */ + gtk_xtext_render_ents (xtext, xtext->buffer->last_ent_start, xtext->buffer->last_ent_end); + /* now render the new mark, but skip overlaps */ + if (start_ent == xtext->buffer->last_ent_start) + { + /* if the new mark is a sub-set of the old, do nothing */ + if (start_ent != end_ent) + gtk_xtext_render_ents (xtext, start_ent->next, end_ent); + } else if (end_ent == xtext->buffer->last_ent_end) + { + /* if the new mark is a sub-set of the old, do nothing */ + if (start_ent != end_ent) + gtk_xtext_render_ents (xtext, start_ent, end_ent->prev); + } else + gtk_xtext_render_ents (xtext, start_ent, end_ent); + } + + xtext->buffer->last_ent_start = start_ent; + xtext->buffer->last_ent_end = end_ent; + xtext->buffer->last_offset_start = start_offset; + xtext->buffer->last_offset_end = end_offset; + + xtext->skip_border_fills = FALSE; + xtext->skip_stamp = FALSE; +} + +static void +gtk_xtext_selection_draw (GtkXText * xtext, GdkEventMotion * event, gboolean render) +{ + textentry *ent; + textentry *ent_end; + textentry *ent_start; + int offset_start; + int offset_end; + int low_x; + int low_y; + int high_x; + int high_y; + int tmp; + + if (xtext->select_start_y > xtext->select_end_y) + { + low_x = xtext->select_end_x; + low_y = xtext->select_end_y; + high_x = xtext->select_start_x; + high_y = xtext->select_start_y; + } else + { + low_x = xtext->select_start_x; + low_y = xtext->select_start_y; + high_x = xtext->select_end_x; + high_y = xtext->select_end_y; + } + + ent_start = gtk_xtext_find_char (xtext, low_x, low_y, &offset_start, &tmp); + if (!ent_start) + { + if (xtext->adj->value != xtext->buffer->old_value) + gtk_xtext_render_page (xtext); + return; + } + + ent_end = gtk_xtext_find_char (xtext, high_x, high_y, &offset_end, &tmp); + if (!ent_end) + { + ent_end = xtext->buffer->text_last; + if (!ent_end) + { + if (xtext->adj->value != xtext->buffer->old_value) + gtk_xtext_render_page (xtext); + return; + } + offset_end = ent_end->str_len; + } + + /* marking less than a complete line? */ + /* make sure "start" is smaller than "end" (swap them if need be) */ + if (ent_start == ent_end && offset_start > offset_end) + { + tmp = offset_start; + offset_start = offset_end; + offset_end = tmp; + } + + /* has the selection changed? Dont render unless necessary */ + if (xtext->buffer->last_ent_start == ent_start && + xtext->buffer->last_ent_end == ent_end && + xtext->buffer->last_offset_start == offset_start && + xtext->buffer->last_offset_end == offset_end) + return; + + /* set all the old mark_ fields to -1 */ + gtk_xtext_selection_clear (xtext->buffer); + + ent_start->mark_start = offset_start; + ent_start->mark_end = offset_end; + + if (ent_start != ent_end) + { + ent_start->mark_end = ent_start->str_len; + if (offset_end != 0) + { + ent_end->mark_start = 0; + ent_end->mark_end = offset_end; + } + + /* set all the mark_ fields of the ents within the selection */ + ent = ent_start->next; + while (ent && ent != ent_end) + { + ent->mark_start = 0; + ent->mark_end = ent->str_len; + ent = ent->next; + } + } + + if (render) + gtk_xtext_selection_render (xtext, ent_start, offset_start, ent_end, offset_end); +} + +static gint +gtk_xtext_scrolldown_timeout (GtkXText * xtext) +{ + int p_y, win_height; + + gdk_window_get_pointer (GTK_WIDGET (xtext)->window, 0, &p_y, 0); + gdk_drawable_get_size (GTK_WIDGET (xtext)->window, 0, &win_height); + + if (p_y > win_height && + xtext->adj->value < (xtext->adj->upper - xtext->adj->page_size)) + { + xtext->adj->value++; + gtk_adjustment_changed (xtext->adj); + gtk_xtext_render_page (xtext); + return 1; + } + + xtext->scroll_tag = 0; + return 0; +} + +static gint +gtk_xtext_scrollup_timeout (GtkXText * xtext) +{ + int p_y; + + gdk_window_get_pointer (GTK_WIDGET (xtext)->window, 0, &p_y, 0); + + if (p_y < 0 && xtext->adj->value > 0.0) + { + xtext->adj->value--; + gtk_adjustment_changed (xtext->adj); + gtk_xtext_render_page (xtext); + return 1; + } + + xtext->scroll_tag = 0; + return 0; +} + +static void +gtk_xtext_selection_update (GtkXText * xtext, GdkEventMotion * event, int p_y, gboolean render) +{ + int win_height; + int moved; + + gdk_drawable_get_size (GTK_WIDGET (xtext)->window, 0, &win_height); + + /* selecting past top of window, scroll up! */ + if (p_y < 0 && xtext->adj->value >= 0) + { + if (!xtext->scroll_tag) + xtext->scroll_tag = g_timeout_add (100, + (GSourceFunc) + gtk_xtext_scrollup_timeout, + xtext); + return; + } + + /* selecting past bottom of window, scroll down! */ + if (p_y > win_height && + xtext->adj->value < (xtext->adj->upper - xtext->adj->page_size)) + { + if (!xtext->scroll_tag) + xtext->scroll_tag = g_timeout_add (100, + (GSourceFunc) + gtk_xtext_scrolldown_timeout, + xtext); + return; + } + + moved = (int)xtext->adj->value - xtext->select_start_adj; + xtext->select_start_y -= (moved * xtext->fontsize); + xtext->select_start_adj = xtext->adj->value; + gtk_xtext_selection_draw (xtext, event, render); +} + +static char * +gtk_xtext_get_word (GtkXText * xtext, int x, int y, textentry ** ret_ent, + int *ret_off, int *ret_len) +{ + textentry *ent; + int offset; + unsigned char *str; + unsigned char *word; + int len; + int out_of_bounds = 0; + + ent = gtk_xtext_find_char (xtext, x, y, &offset, &out_of_bounds); + if (!ent) + return 0; + + if (out_of_bounds) + return 0; + + if (offset == ent->str_len) + return 0; + + if (offset < 1) + return 0; + + /*offset--;*/ /* FIXME: not all chars are 1 byte */ + + str = ent->str + offset; + + while (!is_del (*str) && str != ent->str) + str--; + word = str + 1; + + len = 0; + str = word; + while (!is_del (*str) && len != ent->str_len) + { + str++; + len++; + } + + if (len > 0 && word[len-1]=='.') + { + len--; + str--; + } + + if (ret_ent) + *ret_ent = ent; + if (ret_off) + *ret_off = word - ent->str; + if (ret_len) + *ret_len = str - word; + + return gtk_xtext_strip_color (word, len, xtext->scratch_buffer, NULL, NULL, FALSE); +} + +#ifdef MOTION_MONITOR + +static void +gtk_xtext_unrender_hilight (GtkXText *xtext) +{ + xtext->render_hilights_only = TRUE; + xtext->skip_border_fills = TRUE; + xtext->skip_stamp = TRUE; + xtext->un_hilight = TRUE; + + gtk_xtext_render_ents (xtext, xtext->hilight_ent, NULL); + + xtext->render_hilights_only = FALSE; + xtext->skip_border_fills = FALSE; + xtext->skip_stamp = FALSE; + xtext->un_hilight = FALSE; +} + +static gboolean +gtk_xtext_leave_notify (GtkWidget * widget, GdkEventCrossing * event) +{ + GtkXText *xtext = GTK_XTEXT (widget); + + if (xtext->cursor_hand) + { + gtk_xtext_unrender_hilight (xtext); + xtext->hilight_start = -1; + xtext->hilight_end = -1; + xtext->cursor_hand = FALSE; + gdk_window_set_cursor (widget->window, 0); + xtext->hilight_ent = NULL; + } + + if (xtext->cursor_resize) + { + gtk_xtext_unrender_hilight (xtext); + xtext->hilight_start = -1; + xtext->hilight_end = -1; + xtext->cursor_resize = FALSE; + gdk_window_set_cursor (widget->window, 0); + xtext->hilight_ent = NULL; + } + + return FALSE; +} + +#endif + +/* check if we should mark time stamps, and if a redraw is needed */ + +static gboolean +gtk_xtext_check_mark_stamp (GtkXText *xtext, GdkModifierType mask) +{ + gboolean redraw = FALSE; + + if ((mask & GDK_SHIFT_MASK)) + { + if (!xtext->mark_stamp) + { + redraw = TRUE; /* must redraw all */ + xtext->mark_stamp = TRUE; + } + } else + { + if (xtext->mark_stamp) + { + redraw = TRUE; /* must redraw all */ + xtext->mark_stamp = FALSE; + } + } + return redraw; +} + +static gboolean +gtk_xtext_motion_notify (GtkWidget * widget, GdkEventMotion * event) +{ + GtkXText *xtext = GTK_XTEXT (widget); + GdkModifierType mask; + int redraw, tmp, x, y, offset, len, line_x; + unsigned char *word; + textentry *word_ent; + + gdk_window_get_pointer (widget->window, &x, &y, &mask); + + if (xtext->moving_separator) + { + if (x < (3 * widget->allocation.width) / 5 && x > 15) + { + tmp = xtext->buffer->indent; + xtext->buffer->indent = x; + gtk_xtext_fix_indent (xtext->buffer); + if (tmp != xtext->buffer->indent) + { + gtk_xtext_recalc_widths (xtext->buffer, FALSE); + if (xtext->buffer->scrollbar_down) + gtk_adjustment_set_value (xtext->adj, xtext->adj->upper - + xtext->adj->page_size); + if (!xtext->io_tag) + xtext->io_tag = g_timeout_add (REFRESH_TIMEOUT, + (GSourceFunc) + gtk_xtext_adjustment_timeout, + xtext); + } + } + return FALSE; + } + + if (xtext->button_down) + { + redraw = gtk_xtext_check_mark_stamp (xtext, mask); + gtk_grab_add (widget); + /*gdk_pointer_grab (widget->window, TRUE, + GDK_BUTTON_RELEASE_MASK | + GDK_BUTTON_MOTION_MASK, NULL, NULL, 0);*/ + xtext->select_end_x = x; + xtext->select_end_y = y; + gtk_xtext_selection_update (xtext, event, y, !redraw); + xtext->hilighting = TRUE; + + /* user has pressed or released SHIFT, must redraw entire selection */ + if (redraw) + { + xtext->force_stamp = TRUE; + gtk_xtext_render_ents (xtext, xtext->buffer->last_ent_start, + xtext->buffer->last_ent_end); + xtext->force_stamp = FALSE; + } + return FALSE; + } +#ifdef MOTION_MONITOR + + if (xtext->separator && xtext->buffer->indent) + { + line_x = xtext->buffer->indent - ((xtext->space_width + 1) / 2); + if (line_x == x || line_x == x + 1 || line_x == x - 1) + { + if (!xtext->cursor_resize) + { + gdk_window_set_cursor (GTK_WIDGET (xtext)->window, + xtext->resize_cursor); + xtext->cursor_resize = TRUE; + } + return FALSE; + } + } + + if (xtext->urlcheck_function == NULL) + return FALSE; + + word = gtk_xtext_get_word (xtext, x, y, &word_ent, &offset, &len); + if (word) + { + if (xtext->urlcheck_function (GTK_WIDGET (xtext), word, len) > 0) + { + if (!xtext->cursor_hand || + xtext->hilight_ent != word_ent || + xtext->hilight_start != offset || + xtext->hilight_end != offset + len) + { + if (!xtext->cursor_hand) + { + gdk_window_set_cursor (GTK_WIDGET (xtext)->window, + xtext->hand_cursor); + xtext->cursor_hand = TRUE; + } + + /* un-render the old hilight */ + if (xtext->hilight_ent) + gtk_xtext_unrender_hilight (xtext); + + xtext->hilight_ent = word_ent; + xtext->hilight_start = offset; + xtext->hilight_end = offset + len; + + xtext->skip_border_fills = TRUE; + xtext->render_hilights_only = TRUE; + xtext->skip_stamp = TRUE; + + gtk_xtext_render_ents (xtext, word_ent, NULL); + + xtext->skip_border_fills = FALSE; + xtext->render_hilights_only = FALSE; + xtext->skip_stamp = FALSE; + } + return FALSE; + } + } + + gtk_xtext_leave_notify (widget, NULL); + +#endif + + return FALSE; +} + +static void +gtk_xtext_set_clip_owner (GtkWidget * xtext, GdkEventButton * event) +{ + char *str; + int len; + + if (GTK_XTEXT (xtext)->selection_buffer && + GTK_XTEXT (xtext)->selection_buffer != GTK_XTEXT (xtext)->buffer) + gtk_xtext_selection_clear (GTK_XTEXT (xtext)->selection_buffer); + + GTK_XTEXT (xtext)->selection_buffer = GTK_XTEXT (xtext)->buffer; + + str = gtk_xtext_selection_get_text (GTK_XTEXT (xtext), &len); + if (str) + { +#if (GTK_MAJOR_VERSION == 2) && (GTK_MINOR_VERSION == 0) + gtk_clipboard_set_text (gtk_clipboard_get (GDK_SELECTION_CLIPBOARD), + str, len); +#else + gtk_clipboard_set_text (gtk_widget_get_clipboard (xtext, GDK_SELECTION_CLIPBOARD), + str, len); +#endif + free (str); + } + + gtk_selection_owner_set (xtext, GDK_SELECTION_PRIMARY, event->time); +} + +static void +gtk_xtext_unselect (GtkXText *xtext) +{ + xtext_buffer *buf = xtext->buffer; + + xtext->skip_border_fills = TRUE; + xtext->skip_stamp = TRUE; + + xtext->jump_in_offset = buf->last_ent_start->mark_start; + /* just a single ent was marked? */ + if (buf->last_ent_start == buf->last_ent_end) + { + xtext->jump_out_offset = buf->last_ent_start->mark_end; + buf->last_ent_end = NULL; + } + + gtk_xtext_selection_clear (xtext->buffer); + + /* FIXME: use jump_out on multi-line selects too! */ + gtk_xtext_render_ents (xtext, buf->last_ent_start, buf->last_ent_end); + + xtext->jump_in_offset = 0; + xtext->jump_out_offset = 0; + + xtext->skip_border_fills = FALSE; + xtext->skip_stamp = FALSE; + + xtext->buffer->last_ent_start = NULL; + xtext->buffer->last_ent_end = NULL; +} + +static gboolean +gtk_xtext_button_release (GtkWidget * widget, GdkEventButton * event) +{ + GtkXText *xtext = GTK_XTEXT (widget); + unsigned char *word; + int old; + + if (xtext->moving_separator) + { + xtext->moving_separator = FALSE; + old = xtext->buffer->indent; + if (event->x < (4 * widget->allocation.width) / 5 && event->x > 15) + xtext->buffer->indent = event->x; + gtk_xtext_fix_indent (xtext->buffer); + if (xtext->buffer->indent != old) + { + gtk_xtext_recalc_widths (xtext->buffer, FALSE); + gtk_xtext_adjustment_set (xtext->buffer, TRUE); + gtk_xtext_render_page (xtext); + } else + gtk_xtext_draw_sep (xtext, -1); + return FALSE; + } + + if (xtext->word_or_line_select) + { + xtext->word_or_line_select = FALSE; + xtext->button_down = FALSE; + return FALSE; + } + + if (event->button == 1) + { + xtext->button_down = FALSE; + + gtk_grab_remove (widget); + /*gdk_pointer_ungrab (0);*/ + + /* got a new selection? */ + if (xtext->buffer->last_ent_start) + { + xtext->color_paste = FALSE; + if (event->state & GDK_CONTROL_MASK) + xtext->color_paste = TRUE; + gtk_xtext_set_clip_owner (GTK_WIDGET (xtext), event); + } + + if (xtext->select_start_x == event->x && + xtext->select_start_y == event->y && + xtext->buffer->last_ent_start) + { + gtk_xtext_unselect (xtext); + xtext->mark_stamp = FALSE; + return FALSE; + } + + if (!xtext->hilighting) + { + word = gtk_xtext_get_word (xtext, event->x, event->y, 0, 0, 0); + g_signal_emit (G_OBJECT (xtext), xtext_signals[WORD_CLICK], 0, word ? word : NULL, event); + } else + { + xtext->hilighting = FALSE; + } + } + + + return FALSE; +} + +static gboolean +gtk_xtext_button_press (GtkWidget * widget, GdkEventButton * event) +{ + GtkXText *xtext = GTK_XTEXT (widget); + GdkModifierType mask; + textentry *ent; + unsigned char *word; + int line_x, x, y, offset, len; + + gdk_window_get_pointer (widget->window, &x, &y, &mask); + + if (event->button == 3 || event->button == 2) /* right/middle click */ + { + word = gtk_xtext_get_word (xtext, x, y, 0, 0, 0); + if (word) + { + g_signal_emit (G_OBJECT (xtext), xtext_signals[WORD_CLICK], 0, + word, event); + } else + g_signal_emit (G_OBJECT (xtext), xtext_signals[WORD_CLICK], 0, + "", event); + return FALSE; + } + + if (event->button != 1) /* we only want left button */ + return FALSE; + + if (event->type == GDK_2BUTTON_PRESS) /* WORD select */ + { + gtk_xtext_check_mark_stamp (xtext, mask); + if (gtk_xtext_get_word (xtext, x, y, &ent, &offset, &len)) + { + if (len == 0) + return FALSE; + gtk_xtext_selection_clear (xtext->buffer); + ent->mark_start = offset; + ent->mark_end = offset + len; + gtk_xtext_selection_render (xtext, ent, offset, ent, offset + len); + xtext->word_or_line_select = TRUE; + gtk_xtext_set_clip_owner (GTK_WIDGET (xtext), event); + } + + return FALSE; + } + + if (event->type == GDK_3BUTTON_PRESS) /* LINE select */ + { + gtk_xtext_check_mark_stamp (xtext, mask); + if (gtk_xtext_get_word (xtext, x, y, &ent, 0, 0)) + { + gtk_xtext_selection_clear (xtext->buffer); + ent->mark_start = 0; + ent->mark_end = ent->str_len; + gtk_xtext_selection_render (xtext, ent, 0, ent, ent->str_len); + xtext->word_or_line_select = TRUE; + gtk_xtext_set_clip_owner (GTK_WIDGET (xtext), event); + } + + return FALSE; + } + + /* check if it was a separator-bar click */ + if (xtext->separator && xtext->buffer->indent) + { + line_x = xtext->buffer->indent - ((xtext->space_width + 1) / 2); + if (line_x == x || line_x == x + 1 || line_x == x - 1) + { + xtext->moving_separator = TRUE; + /* draw the separator line */ + gtk_xtext_draw_sep (xtext, -1); + return FALSE; + } + } + + xtext->button_down = TRUE; + xtext->select_start_x = x; + xtext->select_start_y = y; + xtext->select_start_adj = xtext->adj->value; + + return FALSE; +} + +/* another program has claimed the selection */ + +static gboolean +gtk_xtext_selection_kill (GtkXText *xtext, GdkEventSelection *event) +{ +#ifndef WIN32 + if (xtext->buffer->last_ent_start) + gtk_xtext_unselect (xtext); +#endif + return TRUE; +} + +static char * +gtk_xtext_selection_get_text (GtkXText *xtext, int *len_ret) +{ + textentry *ent; + char *txt; + char *pos; + char *stripped; + int len; + int first = TRUE; + xtext_buffer *buf; + + buf = xtext->selection_buffer; + if (!buf) + return NULL; + + /* first find out how much we need to malloc ... */ + len = 0; + ent = buf->last_ent_start; + while (ent) + { + if (ent->mark_start != -1) + { + /* include timestamp? */ + if (ent->mark_start == 0 && xtext->mark_stamp) + { + char *time_str; + int stamp_size = xtext_get_stamp_str (ent->stamp, &time_str); + g_free (time_str); + len += stamp_size; + } + + if (ent->mark_end - ent->mark_start > 0) + len += (ent->mark_end - ent->mark_start) + 1; + else + len++; + } + if (ent == buf->last_ent_end) + break; + ent = ent->next; + } + + if (len < 1) + return NULL; + + /* now allocate mem and copy buffer */ + pos = txt = malloc (len); + ent = buf->last_ent_start; + while (ent) + { + if (ent->mark_start != -1) + { + if (!first) + { + *pos = '\n'; + pos++; + } + first = FALSE; + if (ent->mark_end - ent->mark_start > 0) + { + /* include timestamp? */ + if (ent->mark_start == 0 && xtext->mark_stamp) + { + char *time_str; + int stamp_size = xtext_get_stamp_str (ent->stamp, &time_str); + memcpy (pos, time_str, stamp_size); + g_free (time_str); + pos += stamp_size; + } + + memcpy (pos, ent->str + ent->mark_start, + ent->mark_end - ent->mark_start); + pos += ent->mark_end - ent->mark_start; + } + } + if (ent == buf->last_ent_end) + break; + ent = ent->next; + } + *pos = 0; + + if (xtext->color_paste) + { + /*stripped = gtk_xtext_conv_color (txt, strlen (txt), &len);*/ + stripped = txt; + len = strlen (txt); + } else + { + stripped = gtk_xtext_strip_color (txt, strlen (txt), NULL, &len, 0, FALSE); + free (txt); + } + + *len_ret = len; + return stripped; +} + +/* another program is asking for our selection */ + +static void +gtk_xtext_selection_get (GtkWidget * widget, + GtkSelectionData * selection_data_ptr, + guint info, guint time) +{ + GtkXText *xtext = GTK_XTEXT (widget); + char *stripped; + guchar *new_text; + int len; + gsize glen; + + stripped = gtk_xtext_selection_get_text (xtext, &len); + if (!stripped) + return; + + switch (info) + { + case TARGET_UTF8_STRING: + /* it's already in utf8 */ + gtk_selection_data_set_text (selection_data_ptr, stripped, len); + break; + case TARGET_TEXT: + case TARGET_COMPOUND_TEXT: + { + GdkAtom encoding; + gint format; + gint new_length; + +#if (GTK_MAJOR_VERSION == 2) && (GTK_MINOR_VERSION == 0) + gdk_string_to_compound_text ( +#else + gdk_string_to_compound_text_for_display ( + gdk_drawable_get_display (widget->window), +#endif + stripped, &encoding, &format, &new_text, + &new_length); + gtk_selection_data_set (selection_data_ptr, encoding, format, + new_text, new_length); + gdk_free_compound_text (new_text); + } + break; + default: + new_text = g_locale_from_utf8 (stripped, len, NULL, &glen, NULL); + gtk_selection_data_set (selection_data_ptr, GDK_SELECTION_TYPE_STRING, + 8, new_text, glen); + g_free (new_text); + } + + free (stripped); +} + +static gboolean +gtk_xtext_scroll (GtkWidget *widget, GdkEventScroll *event) +{ + GtkXText *xtext = GTK_XTEXT (widget); + gfloat new_value; + + if (event->direction == GDK_SCROLL_UP) /* mouse wheel pageUp */ + { + new_value = xtext->adj->value - (xtext->adj->page_increment / 10); + if (new_value < xtext->adj->lower) + new_value = xtext->adj->lower; + gtk_adjustment_set_value (xtext->adj, new_value); + } + else if (event->direction == GDK_SCROLL_DOWN) /* mouse wheel pageDn */ + { + new_value = xtext->adj->value + (xtext->adj->page_increment / 10); + if (new_value > (xtext->adj->upper - xtext->adj->page_size)) + new_value = xtext->adj->upper - xtext->adj->page_size; + gtk_adjustment_set_value (xtext->adj, new_value); + } + + return FALSE; +} + +static void +gtk_xtext_class_init (GtkXTextClass * class) +{ + GtkObjectClass *object_class; + GtkWidgetClass *widget_class; + GtkXTextClass *xtext_class; + + object_class = (GtkObjectClass *) class; + widget_class = (GtkWidgetClass *) class; + xtext_class = (GtkXTextClass *) class; + + parent_class = gtk_type_class (gtk_widget_get_type ()); + + xtext_signals[WORD_CLICK] = + g_signal_new ("word_click", + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET (GtkXTextClass, word_click), + NULL, NULL, + gtk_marshal_VOID__POINTER_POINTER, + G_TYPE_NONE, + 2, G_TYPE_POINTER, G_TYPE_POINTER); + object_class->destroy = gtk_xtext_destroy; + + widget_class->realize = gtk_xtext_realize; + widget_class->unrealize = gtk_xtext_unrealize; + widget_class->size_request = gtk_xtext_size_request; + widget_class->size_allocate = gtk_xtext_size_allocate; + widget_class->button_press_event = gtk_xtext_button_press; + widget_class->button_release_event = gtk_xtext_button_release; + widget_class->motion_notify_event = gtk_xtext_motion_notify; + widget_class->selection_clear_event = (void *)gtk_xtext_selection_kill; + widget_class->selection_get = gtk_xtext_selection_get; + widget_class->expose_event = gtk_xtext_expose; + widget_class->scroll_event = gtk_xtext_scroll; +#ifdef MOTION_MONITOR + widget_class->leave_notify_event = gtk_xtext_leave_notify; +#endif + + xtext_class->word_click = NULL; +} + +GType +gtk_xtext_get_type (void) +{ + static GType xtext_type = 0; + + if (!xtext_type) + { + static const GTypeInfo xtext_info = + { + sizeof (GtkXTextClass), + NULL, /* base_init */ + NULL, /* base_finalize */ + (GClassInitFunc) gtk_xtext_class_init, + NULL, /* class_finalize */ + NULL, /* class_data */ + sizeof (GtkXText), + 0, /* n_preallocs */ + (GInstanceInitFunc) gtk_xtext_init, + }; + + xtext_type = g_type_register_static (GTK_TYPE_WIDGET, "GtkXText", + &xtext_info, 0); + } + + return xtext_type; +} + +/* strip MIRC colors and other attribs. */ + +/* CL: needs to strip hidden when called by gtk_xtext_text_width, but not when copying text */ + +static unsigned char * +gtk_xtext_strip_color (unsigned char *text, int len, unsigned char *outbuf, + int *newlen, int *mb_ret, int strip_hidden) +{ + int i = 0; + int rcol = 0, bgcol = 0; + int hidden = FALSE; + unsigned char *new_str; + int mb = FALSE; + + if (outbuf == NULL) + new_str = malloc (len + 2); + else + new_str = outbuf; + + while (len > 0) + { + if (*text >= 128) + mb = TRUE; + + if (rcol > 0 && (isdigit (*text) || (*text == ',' && isdigit (text[1]) && !bgcol))) + { + if (text[1] != ',') rcol--; + if (*text == ',') + { + rcol = 2; + bgcol = 1; + } + } else + { + rcol = bgcol = 0; + switch (*text) + { + case ATTR_COLOR: + rcol = 2; + break; + case ATTR_BEEP: + case ATTR_RESET: + case ATTR_REVERSE: + case ATTR_BOLD: + case ATTR_UNDERLINE: + case ATTR_ITALICS: + break; + case ATTR_HIDDEN: + hidden = !hidden; + break; + default: + if (!(hidden && strip_hidden)) + new_str[i++] = *text; + } + } + text++; + len--; + } + + new_str[i] = 0; + + if (newlen != NULL) + *newlen = i; + + if (mb_ret != NULL) + *mb_ret = mb; + + return new_str; +} + +/* GeEkMaN: converts mIRC control codes to literal control codes */ + +static char * +gtk_xtext_conv_color (unsigned char *text, int len, int *newlen) +{ + int i, j = 2; + char cchar = 0; + char *new_str; + int mbl; + + for (i = 0; i < len;) + { + switch (text[i]) + { + case ATTR_COLOR: + case ATTR_RESET: + case ATTR_REVERSE: + case ATTR_BOLD: + case ATTR_UNDERLINE: + case ATTR_ITALICS: + case ATTR_HIDDEN: + j += 3; + i++; + break; + default: + mbl = charlen (text + i); + j += mbl; + i += mbl; + } + } + + new_str = malloc (j); + j = 0; + + for (i = 0; i < len;) + { + switch (text[i]) + { + case ATTR_COLOR: + cchar = 'C'; + break; + case ATTR_RESET: + cchar = 'O'; + break; + case ATTR_REVERSE: + cchar = 'R'; + break; + case ATTR_BOLD: + cchar = 'B'; + break; + case ATTR_UNDERLINE: + cchar = 'U'; + break; + case ATTR_ITALICS: + cchar = 'I'; + break; + case ATTR_HIDDEN: + cchar = 'H'; + break; + case ATTR_BEEP: + break; + default: + mbl = charlen (text + i); + if (mbl == 1) + { + new_str[j] = text[i]; + j++; + i++; + } else + { + /* invalid utf8 safe guard */ + if (i + mbl > len) + mbl = len - i; + memcpy (new_str + j, text + i, mbl); + j += mbl; + i += mbl; + } + } + if (cchar != 0) + { + new_str[j++] = '%'; + new_str[j++] = cchar; + cchar = 0; + i++; + } + } + + new_str[j] = 0; + *newlen = j; + + return new_str; +} + +/* gives width of a string, excluding the mIRC codes */ + +static int +gtk_xtext_text_width (GtkXText *xtext, unsigned char *text, int len, + int *mb_ret) +{ + unsigned char *new_buf; + int new_len, mb; + + new_buf = gtk_xtext_strip_color (text, len, xtext->scratch_buffer, + &new_len, &mb, !xtext->ignore_hidden); + + if (mb_ret) + *mb_ret = mb; + + return backend_get_text_width (xtext, new_buf, new_len, mb); +} + +/* actually draw text to screen (one run with the same color/attribs) */ + +static int +gtk_xtext_render_flush (GtkXText * xtext, int x, int y, unsigned char *str, + int len, GdkGC *gc, int is_mb) +{ + int str_width, dofill; + GdkDrawable *pix = NULL; + int dest_x, dest_y; + + if (xtext->dont_render || len < 1 || xtext->hidden) + return 0; + + str_width = backend_get_text_width (xtext, str, len, is_mb); + + if (xtext->dont_render2) + return str_width; + + /* roll-your-own clipping (avoiding XftDrawString is always good!) */ + if (x > xtext->clip_x2 || x + str_width < xtext->clip_x) + return str_width; + if (y - xtext->font->ascent > xtext->clip_y2 || (y - xtext->font->ascent) + xtext->fontsize < xtext->clip_y) + return str_width; + + if (xtext->render_hilights_only) + { + if (!xtext->in_hilight) /* is it a hilight prefix? */ + return str_width; +#ifndef COLOR_HILIGHT + if (!xtext->un_hilight) /* doing a hilight? no need to draw the text */ + goto dounder; +#endif + } + +#ifdef USE_DB +#ifdef WIN32 + if (!xtext->transparent) +#endif + { + pix = gdk_pixmap_new (xtext->draw_buf, str_width, xtext->fontsize, xtext->depth); + if (pix) + { +#ifdef USE_XFT + XftDrawChange (xtext->xftdraw, GDK_WINDOW_XWINDOW (pix)); +#endif + dest_x = x; + dest_y = y - xtext->font->ascent; + + gdk_gc_set_ts_origin (xtext->bgc, xtext->ts_x - x, xtext->ts_y - dest_y); + + x = 0; + y = xtext->font->ascent; + xtext->draw_buf = pix; + } + } +#endif + + dofill = TRUE; + + /* backcolor is always handled by XDrawImageString */ + if (!xtext->backcolor && xtext->pixmap) + { + /* draw the background pixmap behind the text - CAUSES FLICKER HERE!! */ + xtext_draw_bg (xtext, x, y - xtext->font->ascent, str_width, + xtext->fontsize); + dofill = FALSE; /* already drawn the background */ + } + + backend_draw_text (xtext, dofill, gc, x, y, str, len, str_width, is_mb); + +#ifdef USE_DB + if (pix) + { + GdkRectangle clip; + GdkRectangle dest; + + gdk_gc_set_ts_origin (xtext->bgc, xtext->ts_x, xtext->ts_y); + xtext->draw_buf = GTK_WIDGET (xtext)->window; +#ifdef USE_XFT + XftDrawChange (xtext->xftdraw, GDK_WINDOW_XWINDOW (xtext->draw_buf)); +#endif +#if 0 + gdk_draw_drawable (xtext->draw_buf, xtext->bgc, pix, 0, 0, dest_x, + dest_y, str_width, xtext->fontsize); +#else + clip.x = xtext->clip_x; + clip.y = xtext->clip_y; + clip.width = xtext->clip_x2 - xtext->clip_x; + clip.height = xtext->clip_y2 - xtext->clip_y; + + dest.x = dest_x; + dest.y = dest_y; + dest.width = str_width; + dest.height = xtext->fontsize; + + if (gdk_rectangle_intersect (&clip, &dest, &dest)) + /* dump the DB to window, but only within the clip_x/x2/y/y2 */ + gdk_draw_drawable (xtext->draw_buf, xtext->bgc, pix, + dest.x - dest_x, dest.y - dest_y, + dest.x, dest.y, dest.width, dest.height); +#endif + g_object_unref (pix); + } +#endif + + if (xtext->underline) + { +#ifdef USE_XFT + GdkColor col; +#endif + +#ifndef COLOR_HILIGHT +dounder: +#endif + +#ifdef USE_XFT + col.pixel = xtext->xft_fg->pixel; + gdk_gc_set_foreground (gc, &col); +#endif + if (pix) + y = dest_y + xtext->font->ascent + 1; + else + { + y++; + dest_x = x; + } + /* draw directly to window, it's out of the range of our DB */ + gdk_draw_line (xtext->draw_buf, gc, dest_x, y, dest_x + str_width - 1, y); + } + + return str_width; +} + +static void +gtk_xtext_reset (GtkXText * xtext, int mark, int attribs) +{ + if (attribs) + { + xtext->underline = FALSE; + xtext->bold = FALSE; + xtext->italics = FALSE; + xtext->hidden = FALSE; + } + if (!mark) + { + xtext->backcolor = FALSE; + if (xtext->col_fore != XTEXT_FG) + xtext_set_fg (xtext, xtext->fgc, XTEXT_FG); + if (xtext->col_back != XTEXT_BG) + xtext_set_bg (xtext, xtext->fgc, XTEXT_BG); + } + xtext->col_fore = XTEXT_FG; + xtext->col_back = XTEXT_BG; + xtext->parsing_color = FALSE; + xtext->parsing_backcolor = FALSE; + xtext->nc = 0; +} + +/* render a single line, which WONT wrap, and parse mIRC colors */ + +static int +gtk_xtext_render_str (GtkXText * xtext, int y, textentry * ent, + unsigned char *str, int len, int win_width, int indent, + int line, int left_only, int *x_size_ret) +{ + GdkGC *gc; + int i = 0, x = indent, j = 0; + unsigned char *pstr = str; + int col_num, tmp; + int offset; + int mark = FALSE; + int ret = 1; + + xtext->in_hilight = FALSE; + + offset = str - ent->str; + + if (line < 255 && line >= 0) + xtext->buffer->grid_offset[line] = offset; + + gc = xtext->fgc; /* our foreground GC */ + + if (ent->mark_start != -1 && + ent->mark_start <= i + offset && ent->mark_end > i + offset) + { + xtext_set_bg (xtext, gc, XTEXT_MARK_BG); + xtext_set_fg (xtext, gc, XTEXT_MARK_FG); + xtext->backcolor = TRUE; + mark = TRUE; + } +#ifdef MOTION_MONITOR + if (xtext->hilight_ent == ent && + xtext->hilight_start <= i + offset && xtext->hilight_end > i + offset) + { + if (!xtext->un_hilight) + { +#ifdef COLOR_HILIGHT + xtext_set_bg (xtext, gc, 2); +#else + xtext->underline = TRUE; +#endif + } + xtext->in_hilight = TRUE; + } +#endif + + if (!xtext->skip_border_fills && !xtext->dont_render) + { + /* draw background to the left of the text */ + if (str == ent->str && indent > MARGIN && xtext->buffer->time_stamp) + { + /* don't overwrite the timestamp */ + if (indent > xtext->stamp_width) + { + xtext_draw_bg (xtext, xtext->stamp_width, y - xtext->font->ascent, + indent - xtext->stamp_width, xtext->fontsize); + } + } else + { + /* fill the indent area with background gc */ + if (indent >= xtext->clip_x) + { + xtext_draw_bg (xtext, 0, y - xtext->font->ascent, + MIN (indent, xtext->clip_x2), xtext->fontsize); + } + } + } + + if (xtext->jump_in_offset > 0 && offset < xtext->jump_in_offset) + xtext->dont_render2 = TRUE; + + while (i < len) + { + +#ifdef MOTION_MONITOR + if (xtext->hilight_ent == ent && xtext->hilight_start == (i + offset)) + { + x += gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, ent->mb); + pstr += j; + j = 0; + if (!xtext->un_hilight) + { +#ifdef COLOR_HILIGHT + xtext_set_bg (xtext, gc, 2); +#else + xtext->underline = TRUE; +#endif + } + + xtext->in_hilight = TRUE; + } +#endif + + if ((xtext->parsing_color && isdigit (str[i]) && xtext->nc < 2) || + (xtext->parsing_color && str[i] == ',' && isdigit (str[i+1]) && xtext->nc < 3 && !xtext->parsing_backcolor)) + { + pstr++; + if (str[i] == ',') + { + xtext->parsing_backcolor = TRUE; + if (xtext->nc) + { + xtext->num[xtext->nc] = 0; + xtext->nc = 0; + col_num = atoi (xtext->num); + if (col_num == 99) /* mIRC lameness */ + col_num = XTEXT_FG; + else + col_num = col_num % XTEXT_MIRC_COLS; + xtext->col_fore = col_num; + if (!mark) + xtext_set_fg (xtext, gc, col_num); + } + } else + { + xtext->num[xtext->nc] = str[i]; + if (xtext->nc < 7) + xtext->nc++; + } + } else + { + if (xtext->parsing_color) + { + xtext->parsing_color = FALSE; + if (xtext->nc) + { + xtext->num[xtext->nc] = 0; + xtext->nc = 0; + col_num = atoi (xtext->num); + if (xtext->parsing_backcolor) + { + if (col_num == 99) /* mIRC lameness */ + col_num = XTEXT_BG; + else + col_num = col_num % XTEXT_MIRC_COLS; + if (col_num == XTEXT_BG) + xtext->backcolor = FALSE; + else + xtext->backcolor = TRUE; + if (!mark) + xtext_set_bg (xtext, gc, col_num); + xtext->col_back = col_num; + } else + { + if (col_num == 99) /* mIRC lameness */ + col_num = XTEXT_FG; + else + col_num = col_num % XTEXT_MIRC_COLS; + if (!mark) + xtext_set_fg (xtext, gc, col_num); + xtext->col_fore = col_num; + } + xtext->parsing_backcolor = FALSE; + } else + { + /* got a \003<non-digit>... i.e. reset colors */ + x += gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, ent->mb); + pstr += j; + j = 0; + gtk_xtext_reset (xtext, mark, FALSE); + } + } + + switch (str[i]) + { + case '\n': + /*case ATTR_BEEP:*/ + break; + case ATTR_REVERSE: + x += gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, ent->mb); + pstr += j + 1; + j = 0; + tmp = xtext->col_fore; + xtext->col_fore = xtext->col_back; + xtext->col_back = tmp; + if (!mark) + { + xtext_set_fg (xtext, gc, xtext->col_fore); + xtext_set_bg (xtext, gc, xtext->col_back); + } + if (xtext->col_back != XTEXT_BG) + xtext->backcolor = TRUE; + else + xtext->backcolor = FALSE; + break; + case ATTR_BOLD: + x += gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, ent->mb); + xtext->bold = !xtext->bold; + pstr += j + 1; + j = 0; + break; + case ATTR_UNDERLINE: + x += gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, ent->mb); + xtext->underline = !xtext->underline; + pstr += j + 1; + j = 0; + break; + case ATTR_ITALICS: + x += gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, ent->mb); + xtext->italics = !xtext->italics; + pstr += j + 1; + j = 0; + break; + case ATTR_HIDDEN: + x += gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, ent->mb); + xtext->hidden = (!xtext->hidden) & (!xtext->ignore_hidden); + pstr += j + 1; + j = 0; + break; + case ATTR_RESET: + x += gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, ent->mb); + pstr += j + 1; + j = 0; + gtk_xtext_reset (xtext, mark, !xtext->in_hilight); + break; + case ATTR_COLOR: + x += gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, ent->mb); + xtext->parsing_color = TRUE; + pstr += j + 1; + j = 0; + break; + default: + tmp = charlen (str + i); + /* invalid utf8 safe guard */ + if (tmp + i > len) + tmp = len - i; + j += tmp; /* move to the next utf8 char */ + } + } + i += charlen (str + i); /* move to the next utf8 char */ + /* invalid utf8 safe guard */ + if (i > len) + i = len; + + /* Separate the left part, the space and the right part + into separate runs, and reset bidi state inbetween. + Perform this only on the first line of the message. + */ + if (offset == 0) + { + /* we've reached the end of the left part? */ + if ((pstr-str)+j == ent->left_len) + { + x += gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, ent->mb); + pstr += j; + j = 0; + } + else if ((pstr-str)+j == ent->left_len+1) + { + x += gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, ent->mb); + pstr += j; + j = 0; + } + } + + /* have we been told to stop rendering at this point? */ + if (xtext->jump_out_offset > 0 && xtext->jump_out_offset <= (i + offset)) + { + gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, ent->mb); + ret = 0; /* skip the rest of the lines, we're done. */ + j = 0; + break; + } + + if (xtext->jump_in_offset > 0 && xtext->jump_in_offset == (i + offset)) + { + x += gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, ent->mb); + pstr += j; + j = 0; + xtext->dont_render2 = FALSE; + } + +#ifdef MOTION_MONITOR + if (xtext->hilight_ent == ent && xtext->hilight_end == (i + offset)) + { + x += gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, ent->mb); + pstr += j; + j = 0; +#ifdef COLOR_HILIGHT + if (mark) + { + xtext_set_bg (xtext, gc, XTEXT_MARK_BG); + xtext->backcolor = TRUE; + } else + { + xtext_set_bg (xtext, gc, xtext->col_back); + if (xtext->col_back != XTEXT_BG) + xtext->backcolor = TRUE; + else + xtext->backcolor = FALSE; + } +#else + xtext->underline = FALSE; +#endif + xtext->in_hilight = FALSE; + if (xtext->render_hilights_only) + { + /* stop drawing this ent */ + ret = 0; + break; + } + } +#endif + + if (!mark && ent->mark_start == (i + offset)) + { + x += gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, ent->mb); + pstr += j; + j = 0; + xtext_set_bg (xtext, gc, XTEXT_MARK_BG); + xtext_set_fg (xtext, gc, XTEXT_MARK_FG); + xtext->backcolor = TRUE; + mark = TRUE; + } + + if (mark && ent->mark_end == (i + offset)) + { + x += gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, ent->mb); + pstr += j; + j = 0; + xtext_set_bg (xtext, gc, xtext->col_back); + xtext_set_fg (xtext, gc, xtext->col_fore); + if (xtext->col_back != XTEXT_BG) + xtext->backcolor = TRUE; + else + xtext->backcolor = FALSE; + mark = FALSE; + } + + } + + if (j) + x += gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, ent->mb); + + if (mark) + { + xtext_set_bg (xtext, gc, xtext->col_back); + xtext_set_fg (xtext, gc, xtext->col_fore); + if (xtext->col_back != XTEXT_BG) + xtext->backcolor = TRUE; + else + xtext->backcolor = FALSE; + } + + /* draw background to the right of the text */ + if (!left_only && !xtext->dont_render) + { + /* draw separator now so it doesn't appear to flicker */ + gtk_xtext_draw_sep (xtext, y - xtext->font->ascent); + if (!xtext->skip_border_fills && xtext->clip_x2 >= x) + { + int xx = MAX (x, xtext->clip_x); + + xtext_draw_bg (xtext, + xx, /* x */ + y - xtext->font->ascent, /* y */ + MIN (xtext->clip_x2 - xx, (win_width + MARGIN) - xx), /* width */ + xtext->fontsize); /* height */ + } + } + + xtext->dont_render2 = FALSE; + + /* return how much we drew in the x direction */ + if (x_size_ret) + *x_size_ret = x - indent; + + return ret; +} + +#ifdef USE_XLIB + +/* get the desktop/root window */ + +static Window desktop_window = None; + +static Window +get_desktop_window (Display *xdisplay, Window the_window) +{ + Atom prop, type; + int format; + unsigned long length, after; + unsigned char *data; + unsigned int nchildren; + Window w, root, *children, parent; + + prop = XInternAtom (xdisplay, "_XROOTPMAP_ID", True); + if (prop == None) + { + prop = XInternAtom (xdisplay, "_XROOTCOLOR_PIXEL", True); + if (prop == None) + return None; + } + + for (w = the_window; w; w = parent) + { + if ((XQueryTree (xdisplay, w, &root, &parent, &children, + &nchildren)) == False) + return None; + + if (nchildren) + XFree (children); + + XGetWindowProperty (xdisplay, w, prop, 0L, 1L, False, + AnyPropertyType, &type, &format, &length, &after, + &data); + if (data) + XFree (data); + + if (type != None) + return (desktop_window = w); + } + + return (desktop_window = None); +} + +/* find the root window (backdrop) Pixmap */ + +static Pixmap +get_pixmap_prop (Display *xdisplay, Window the_window) +{ + Atom type; + int format; + unsigned long length, after; + unsigned char *data; + Pixmap pix = None; + static Atom prop = None; + + if (desktop_window == None) + desktop_window = get_desktop_window (xdisplay, the_window); + if (desktop_window == None) + desktop_window = DefaultRootWindow (xdisplay); + + if (prop == None) + prop = XInternAtom (xdisplay, "_XROOTPMAP_ID", True); + if (prop == None) + return None; + + XGetWindowProperty (xdisplay, desktop_window, prop, 0L, 1L, False, + AnyPropertyType, &type, &format, &length, &after, + &data); + if (data) + { + if (type == XA_PIXMAP) + pix = *((Pixmap *) data); + + XFree (data); + } + + return pix; +} + +/* slow generic routine, for the depths/bpp we don't know about */ + +static void +shade_ximage_generic (GdkVisual *visual, XImage *ximg, int bpl, int w, int h, int rm, int gm, int bm, int bg) +{ + int x, y; + int bgr = (256 - rm) * (bg & visual->red_mask); + int bgg = (256 - gm) * (bg & visual->green_mask); + int bgb = (256 - bm) * (bg & visual->blue_mask); + + for (x = 0; x < w; x++) + { + for (y = 0; y < h; y++) + { + unsigned long pixel = XGetPixel (ximg, x, y); + int r, g, b; + + r = rm * (pixel & visual->red_mask) + bgr; + g = gm * (pixel & visual->green_mask) + bgg; + b = bm * (pixel & visual->blue_mask) + bgb; + + XPutPixel (ximg, x, y, + ((r >> 8) & visual->red_mask) | + ((g >> 8) & visual->green_mask) | + ((b >> 8) & visual->blue_mask)); + } + } +} + +#endif + +/* Fast shading routine. Based on code by Willem Monsuwe <willem@stack.nl> */ + +#define SHADE_IMAGE(bytes, type, rmask, gmask, bmask) \ + unsigned char *ptr; \ + int x, y; \ + int bgr = (256 - rm) * (bg & rmask); \ + int bgg = (256 - gm) * (bg & gmask); \ + int bgb = (256 - bm) * (bg & bmask); \ + ptr = (unsigned char *) data + (w * bytes); \ + for (y = h; --y >= 0;) \ + { \ + for (x = -w; x < 0; x++) \ + { \ + int r, g, b; \ + b = ((type *) ptr)[x]; \ + r = rm * (b & rmask) + bgr; \ + g = gm * (b & gmask) + bgg; \ + b = bm * (b & bmask) + bgb; \ + ((type *) ptr)[x] = ((r >> 8) & rmask) \ + | ((g >> 8) & gmask) \ + | ((b >> 8) & bmask); \ + } \ + ptr += bpl; \ + } + +/* RGB 15 */ +static void +shade_ximage_15 (void *data, int bpl, int w, int h, int rm, int gm, int bm, int bg) +{ + SHADE_IMAGE (2, guint16, 0x7c00, 0x3e0, 0x1f); +} + +/* RGB 16 */ +static void +shade_ximage_16 (void *data, int bpl, int w, int h, int rm, int gm, int bm, int bg) +{ + SHADE_IMAGE (2, guint16, 0xf800, 0x7e0, 0x1f); +} + +/* RGB 24 */ +static void +shade_ximage_24 (void *data, int bpl, int w, int h, int rm, int gm, int bm, int bg) +{ + /* 24 has to be a special case, there's no guint24, or 24bit MOV :) */ + unsigned char *ptr; + int x, y; + int bgr = (256 - rm) * ((bg & 0xff0000) >> 16); + int bgg = (256 - gm) * ((bg & 0xff00) >> 8); + int bgb = (256 - bm) * (bg & 0xff); + + ptr = (unsigned char *) data + (w * 3); + for (y = h; --y >= 0;) + { + for (x = -(w * 3); x < 0; x += 3) + { + int r, g, b; + +#if (G_BYTE_ORDER == G_BIG_ENDIAN) + r = (ptr[x + 0] * rm + bgr) >> 8; + g = (ptr[x + 1] * gm + bgg) >> 8; + b = (ptr[x + 2] * bm + bgb) >> 8; + ptr[x + 0] = r; + ptr[x + 1] = g; + ptr[x + 2] = b; +#else + r = (ptr[x + 2] * rm + bgr) >> 8; + g = (ptr[x + 1] * gm + bgg) >> 8; + b = (ptr[x + 0] * bm + bgb) >> 8; + ptr[x + 2] = r; + ptr[x + 1] = g; + ptr[x + 0] = b; +#endif + } + ptr += bpl; + } +} + +/* RGB 32 */ +static void +shade_ximage_32 (void *data, int bpl, int w, int h, int rm, int gm, int bm, int bg) +{ + SHADE_IMAGE (4, guint32, 0xff0000, 0xff00, 0xff); +} + +static void +shade_image (GdkVisual *visual, void *data, int bpl, int bpp, int w, int h, + int rm, int gm, int bm, int bg, int depth) +{ + int bg_r, bg_g, bg_b; + + bg_r = bg & visual->red_mask; + bg_g = bg & visual->green_mask; + bg_b = bg & visual->blue_mask; + +#ifdef USE_MMX + /* the MMX routines are about 50% faster at 16-bit. */ + /* only use MMX routines with a pure black background */ + if (bg_r == 0 && bg_g == 0 && bg_b == 0 && have_mmx ()) /* do a runtime check too! */ + { + switch (depth) + { + case 15: + shade_ximage_15_mmx (data, bpl, w, h, rm, gm, bm); + break; + case 16: + shade_ximage_16_mmx (data, bpl, w, h, rm, gm, bm); + break; + case 24: + if (bpp != 32) + goto generic; + case 32: + shade_ximage_32_mmx (data, bpl, w, h, rm, gm, bm); + break; + default: + goto generic; + } + } else + { +generic: +#endif + switch (depth) + { + case 15: + shade_ximage_15 (data, bpl, w, h, rm, gm, bm, bg); + break; + case 16: + shade_ximage_16 (data, bpl, w, h, rm, gm, bm, bg); + break; + case 24: + if (bpp != 32) + { + shade_ximage_24 (data, bpl, w, h, rm, gm, bm, bg); + break; + } + case 32: + shade_ximage_32 (data, bpl, w, h, rm, gm, bm, bg); + } +#ifdef USE_MMX + } +#endif +} + +#ifdef USE_XLIB + +#ifdef USE_SHM + +static XImage * +get_shm_image (Display *xdisplay, XShmSegmentInfo *shminfo, int x, int y, + int w, int h, int depth, Pixmap pix) +{ + XImage *ximg; + + shminfo->shmid = -1; + shminfo->shmaddr = (char*) -1; + ximg = XShmCreateImage (xdisplay, 0, depth, ZPixmap, 0, shminfo, w, h); + if (!ximg) + return NULL; + + shminfo->shmid = shmget (IPC_PRIVATE, ximg->bytes_per_line * ximg->height, + IPC_CREAT|0600); + if (shminfo->shmid == -1) + { + XDestroyImage (ximg); + return NULL; + } + + shminfo->readOnly = False; + ximg->data = shminfo->shmaddr = (char *)shmat (shminfo->shmid, 0, 0); + if (shminfo->shmaddr == ((char *)-1)) + { + shmctl (shminfo->shmid, IPC_RMID, 0); + XDestroyImage (ximg); + return NULL; + } + + XShmAttach (xdisplay, shminfo); + XSync (xdisplay, False); + shmctl (shminfo->shmid, IPC_RMID, 0); + XShmGetImage (xdisplay, pix, ximg, x, y, AllPlanes); + + return ximg; +} + +static XImage * +get_image (GtkXText *xtext, Display *xdisplay, XShmSegmentInfo *shminfo, + int x, int y, int w, int h, int depth, Pixmap pix) +{ + XImage *ximg; + + xtext->shm = 1; + ximg = get_shm_image (xdisplay, shminfo, x, y, w, h, depth, pix); + if (!ximg) + { + xtext->shm = 0; + ximg = XGetImage (xdisplay, pix, x, y, w, h, -1, ZPixmap); + } + + return ximg; +} + +#endif + +static GdkPixmap * +shade_pixmap (GtkXText * xtext, Pixmap p, int x, int y, int w, int h) +{ + unsigned int dummy, width, height, depth; + GdkPixmap *shaded_pix; + Window root; + Pixmap tmp; + XImage *ximg; + XGCValues gcv; + GC tgc; + Display *xdisplay = GDK_WINDOW_XDISPLAY (xtext->draw_buf); + +#ifdef USE_SHM + int shm_pixmaps; + shm_pixmaps = have_shm_pixmaps(xdisplay); +#endif + + XGetGeometry (xdisplay, p, &root, &dummy, &dummy, &width, &height, + &dummy, &depth); + + if (width < x + w || height < y + h || x < 0 || y < 0) + { + gcv.subwindow_mode = IncludeInferiors; + gcv.graphics_exposures = False; + tgc = XCreateGC (xdisplay, p, GCGraphicsExposures|GCSubwindowMode, + &gcv); + tmp = XCreatePixmap (xdisplay, p, w, h, depth); + XSetTile (xdisplay, tgc, p); + XSetFillStyle (xdisplay, tgc, FillTiled); + XSetTSOrigin (xdisplay, tgc, -x, -y); + XFillRectangle (xdisplay, tmp, tgc, 0, 0, w, h); + XFreeGC (xdisplay, tgc); + +#ifdef USE_SHM + if (shm_pixmaps) + ximg = get_image (xtext, xdisplay, &xtext->shminfo, 0, 0, w, h, depth, tmp); + else +#endif + ximg = XGetImage (xdisplay, tmp, 0, 0, w, h, -1, ZPixmap); + XFreePixmap (xdisplay, tmp); + } else + { +#ifdef USE_SHM + if (shm_pixmaps) + ximg = get_image (xtext, xdisplay, &xtext->shminfo, x, y, w, h, depth, p); + else +#endif + ximg = XGetImage (xdisplay, p, x, y, w, h, -1, ZPixmap); + } + + if (!ximg) + return NULL; + + if (depth <= 14) + { + shade_ximage_generic (gdk_drawable_get_visual (GTK_WIDGET (xtext)->window), + ximg, ximg->bytes_per_line, w, h, xtext->tint_red, + xtext->tint_green, xtext->tint_blue, + xtext->palette[XTEXT_BG]); + } else + { + shade_image (gdk_drawable_get_visual (GTK_WIDGET (xtext)->window), + ximg->data, ximg->bytes_per_line, ximg->bits_per_pixel, + w, h, xtext->tint_red, xtext->tint_green, xtext->tint_blue, + xtext->palette[XTEXT_BG], depth); + } + + if (xtext->recycle) + shaded_pix = xtext->pixmap; + else + { +#ifdef USE_SHM + if (xtext->shm && shm_pixmaps) + { +#if (GTK_MAJOR_VERSION == 2) && (GTK_MINOR_VERSION == 0) + shaded_pix = gdk_pixmap_foreign_new ( + XShmCreatePixmap (xdisplay, p, ximg->data, &xtext->shminfo, w, h, depth)); +#else + shaded_pix = gdk_pixmap_foreign_new_for_display ( + gdk_drawable_get_display (xtext->draw_buf), + XShmCreatePixmap (xdisplay, p, ximg->data, &xtext->shminfo, w, h, depth)); +#endif + } else +#endif + { + shaded_pix = gdk_pixmap_new (GTK_WIDGET (xtext)->window, w, h, depth); + } + } + +#ifdef USE_SHM + if (!xtext->shm || !shm_pixmaps) +#endif + XPutImage (xdisplay, GDK_WINDOW_XWINDOW (shaded_pix), + GDK_GC_XGC (xtext->fgc), ximg, 0, 0, 0, 0, w, h); + XDestroyImage (ximg); + + return shaded_pix; +} + +#endif /* !USE_XLIB */ + +/* free transparency xtext->pixmap */ +#if defined(USE_XLIB) || defined(WIN32) + +static void +gtk_xtext_free_trans (GtkXText * xtext) +{ + if (xtext->pixmap) + { +#ifdef USE_SHM + if (xtext->shm && have_shm_pixmaps(GDK_WINDOW_XDISPLAY (xtext->draw_buf))) + { + XFreePixmap (GDK_WINDOW_XDISPLAY (xtext->pixmap), + GDK_WINDOW_XWINDOW (xtext->pixmap)); + XShmDetach (GDK_WINDOW_XDISPLAY (xtext->draw_buf), &xtext->shminfo); + shmdt (xtext->shminfo.shmaddr); + } +#endif + g_object_unref (xtext->pixmap); + xtext->pixmap = NULL; + xtext->shm = 0; + } +} + +#endif + +#ifdef WIN32 + +static GdkPixmap * +win32_tint (GtkXText *xtext, GdkImage *img, int width, int height) +{ + guchar *pixelp; + int x, y; + GdkPixmap *pix; + GdkVisual *visual = gdk_drawable_get_visual (GTK_WIDGET (xtext)->window); + guint32 pixel; + int r, g, b; + + if (img->depth <= 14) + { + /* slow generic routine */ + for (y = 0; y < height; y++) + { + for (x = 0; x < width; x++) + { + if (img->depth == 1) + { + pixel = (((guchar *) img->mem)[y * img->bpl + (x >> 3)] & (1 << (7 - (x & 0x7)))) != 0; + goto here; + } + + if (img->depth == 4) + { + pixelp = (guchar *) img->mem + y * img->bpl + (x >> 1); + if (x&1) + { + pixel = (*pixelp) & 0x0F; + goto here; + } + + pixel = (*pixelp) >> 4; + goto here; + } + + pixelp = (guchar *) img->mem + y * img->bpl + x * img->bpp; + + switch (img->bpp) + { + case 1: + pixel = *pixelp; break; + + /* Windows is always LSB, no need to check img->byte_order. */ + case 2: + pixel = pixelp[0] | (pixelp[1] << 8); break; + + case 3: + pixel = pixelp[0] | (pixelp[1] << 8) | (pixelp[2] << 16); break; + + case 4: + pixel = pixelp[0] | (pixelp[1] << 8) | (pixelp[2] << 16); break; + } + +here: + r = (pixel & visual->red_mask) >> visual->red_shift; + g = (pixel & visual->green_mask) >> visual->green_shift; + b = (pixel & visual->blue_mask) >> visual->blue_shift; + + /* actual tinting is only these 3 lines */ + pixel = ((r * xtext->tint_red) >> 8) << visual->red_shift | + ((g * xtext->tint_green) >> 8) << visual->green_shift | + ((b * xtext->tint_blue) >> 8) << visual->blue_shift; + + if (img->depth == 1) + if (pixel & 1) + ((guchar *) img->mem)[y * img->bpl + (x >> 3)] |= (1 << (7 - (x & 0x7))); + else + ((guchar *) img->mem)[y * img->bpl + (x >> 3)] &= ~(1 << (7 - (x & 0x7))); + else if (img->depth == 4) + { + pixelp = (guchar *) img->mem + y * img->bpl + (x >> 1); + + if (x&1) + { + *pixelp &= 0xF0; + *pixelp |= (pixel & 0x0F); + } else + { + *pixelp &= 0x0F; + *pixelp |= (pixel << 4); + } + } else + { + pixelp = (guchar *) img->mem + y * img->bpl + x * img->bpp; + + /* Windows is always LSB, no need to check img->byte_order. */ + switch (img->bpp) + { + case 4: + pixelp[3] = 0; + case 3: + pixelp[2] = ((pixel >> 16) & 0xFF); + case 2: + pixelp[1] = ((pixel >> 8) & 0xFF); + case 1: + pixelp[0] = (pixel & 0xFF); + } + } + } + } + } else + { + shade_image (visual, img->mem, img->bpl, img->bpp, width, height, + xtext->tint_red, xtext->tint_green, xtext->tint_blue, + xtext->palette[XTEXT_BG], visual->depth); + } + + /* no need to dump it to a Pixmap, it's one and the same on win32 */ + pix = (GdkPixmap *)img; + + return pix; +} + +#endif /* !WIN32 */ + +/* grab pixmap from root window and set xtext->pixmap */ +#if defined(USE_XLIB) || defined(WIN32) + +static void +gtk_xtext_load_trans (GtkXText * xtext) +{ +#ifdef WIN32 + GdkImage *img; + int width, height; + HDC hdc; + HWND hwnd; + + /* if not shaded, we paint directly with PaintDesktop() */ + if (!xtext->shaded) + return; + + hwnd = GDK_WINDOW_HWND (GTK_WIDGET (xtext)->window); + hdc = GetDC (hwnd); + PaintDesktop (hdc); + ReleaseDC (hwnd, hdc); + + gdk_window_get_size (GTK_WIDGET (xtext)->window, &width, &height); + img = gdk_image_get (GTK_WIDGET (xtext)->window, 0, 0, width+128, height); + xtext->pixmap = win32_tint (xtext, img, img->width, img->height); + +#else + + Pixmap rootpix; + GtkWidget *widget = GTK_WIDGET (xtext); + int x, y; + + rootpix = get_pixmap_prop (GDK_WINDOW_XDISPLAY (widget->window), GDK_WINDOW_XWINDOW (widget->window)); + if (rootpix == None) + { + if (xtext->error_function) + xtext->error_function (0); + xtext->transparent = FALSE; + return; + } + + gdk_window_get_origin (widget->window, &x, &y); + + if (xtext->shaded) + { + int width, height; + gdk_drawable_get_size (GTK_WIDGET (xtext)->window, &width, &height); + xtext->pixmap = shade_pixmap (xtext, rootpix, x, y, width+105, height); + if (xtext->pixmap == NULL) + { + xtext->shaded = 0; + goto noshade; + } + gdk_gc_set_tile (xtext->bgc, xtext->pixmap); + gdk_gc_set_ts_origin (xtext->bgc, 0, 0); + xtext->ts_x = xtext->ts_y = 0; + } else + { +noshade: +#if (GTK_MAJOR_VERSION == 2) && (GTK_MINOR_VERSION == 0) + xtext->pixmap = gdk_pixmap_foreign_new (rootpix); +#else + xtext->pixmap = gdk_pixmap_foreign_new_for_display (gdk_drawable_get_display (GTK_WIDGET (xtext)->window), rootpix); +#endif + gdk_gc_set_tile (xtext->bgc, xtext->pixmap); + gdk_gc_set_ts_origin (xtext->bgc, -x, -y); + xtext->ts_x = -x; + xtext->ts_y = -y; + } + gdk_gc_set_fill (xtext->bgc, GDK_TILED); +#endif /* !WIN32 */ +} + +#endif /* ! XLIB || WIN32 */ + +/* walk through str until this line doesn't fit anymore */ + +static int +find_next_wrap (GtkXText * xtext, textentry * ent, unsigned char *str, + int win_width, int indent) +{ + unsigned char *last_space = str; + unsigned char *orig_str = str; + int str_width = indent; + int rcol = 0, bgcol = 0; + int hidden = FALSE; + int mbl; + int char_width; + int ret; + int limit_offset = 0; + + /* single liners */ + if (win_width >= ent->str_width + ent->indent) + return ent->str_len; + + /* it does happen! */ + if (win_width < 1) + { + ret = ent->str_len - (str - ent->str); + goto done; + } + + while (1) + { + if (rcol > 0 && (isdigit (*str) || (*str == ',' && isdigit (str[1]) && !bgcol))) + { + if (str[1] != ',') rcol--; + if (*str == ',') + { + rcol = 2; + bgcol = 1; + } + limit_offset++; + str++; + } else + { + rcol = bgcol = 0; + switch (*str) + { + case ATTR_COLOR: + rcol = 2; + case ATTR_BEEP: + case ATTR_RESET: + case ATTR_REVERSE: + case ATTR_BOLD: + case ATTR_UNDERLINE: + case ATTR_ITALICS: + limit_offset++; + str++; + break; + case ATTR_HIDDEN: + if (xtext->ignore_hidden) + goto def; + hidden = !hidden; + limit_offset++; + str++; + break; + default: + def: + char_width = backend_get_char_width (xtext, str, &mbl); + if (!hidden) str_width += char_width; + if (str_width > win_width) + { + if (xtext->wordwrap) + { + if (str - last_space > WORDWRAP_LIMIT + limit_offset) + ret = str - orig_str; /* fall back to character wrap */ + else + { + if (*last_space == ' ') + last_space++; + ret = last_space - orig_str; + if (ret == 0) /* fall back to character wrap */ + ret = str - orig_str; + } + goto done; + } + ret = str - orig_str; + goto done; + } + + /* keep a record of the last space, for wordwrapping */ + if (is_del (*str)) + { + last_space = str; + limit_offset = 0; + } + + /* progress to the next char */ + str += mbl; + + } + } + + if (str >= ent->str + ent->str_len) + { + ret = str - orig_str; + goto done; + } + } + +done: + + /* must make progress */ + if (ret < 1) + ret = 1; + + return ret; +} + +/* find the offset, in bytes, that wrap number 'line' starts at */ + +static int +gtk_xtext_find_subline (GtkXText *xtext, textentry *ent, int line) +{ + int win_width; + unsigned char *str; + int indent, str_pos, line_pos, len; + + if (ent->lines_taken < 2 || line < 1) + return 0; + + /* we record the first 4 lines' wraps, so take a shortcut */ + if (line <= RECORD_WRAPS) + return ent->wrap_offset[line - 1]; + + gdk_drawable_get_size (GTK_WIDGET (xtext)->window, &win_width, 0); + win_width -= MARGIN; + +/* indent = ent->indent; + str = ent->str; + line_pos = str_pos = 0;*/ + + /* start from the last recorded wrap, and move forward */ + indent = xtext->buffer->indent; + str_pos = ent->wrap_offset[RECORD_WRAPS-1]; + str = str_pos + ent->str; + line_pos = RECORD_WRAPS; + + do + { + len = find_next_wrap (xtext, ent, str, win_width, indent); + indent = xtext->buffer->indent; + str += len; + str_pos += len; + line_pos++; + if (line_pos >= line) + return str_pos; + } + while (str < ent->str + ent->str_len); + + return 0; +} + +/* horrible hack for drawing time stamps */ + +static void +gtk_xtext_render_stamp (GtkXText * xtext, textentry * ent, + char *text, int len, int line, int win_width) +{ + textentry tmp_ent; + int jo, ji, hs; + int xsize, y; + + /* trashing ent here, so make a backup first */ + memcpy (&tmp_ent, ent, sizeof (tmp_ent)); + ent->mb = TRUE; /* make non-english days of the week work */ + jo = xtext->jump_out_offset; /* back these up */ + ji = xtext->jump_in_offset; + hs = xtext->hilight_start; + xtext->jump_out_offset = 0; + xtext->jump_in_offset = 0; + xtext->hilight_start = 0xffff; /* temp disable */ + + if (xtext->mark_stamp) + { + /* if this line is marked, mark this stamp too */ + if (ent->mark_start == 0) + { + ent->mark_start = 0; + ent->mark_end = len; + } + else + { + ent->mark_start = -1; + ent->mark_end = -1; + } + ent->str = text; + } + + y = (xtext->fontsize * line) + xtext->font->ascent - xtext->pixel_offset; + gtk_xtext_render_str (xtext, y, ent, text, len, + win_width, 2, line, TRUE, &xsize); + + /* restore everything back to how it was */ + memcpy (ent, &tmp_ent, sizeof (tmp_ent)); + xtext->jump_out_offset = jo; + xtext->jump_in_offset = ji; + xtext->hilight_start = hs; + + /* with a non-fixed-width font, sometimes we don't draw enough + background i.e. when this stamp is shorter than xtext->stamp_width */ + xsize += MARGIN; + if (xsize < xtext->stamp_width) + { + y -= xtext->font->ascent; + xtext_draw_bg (xtext, + xsize, /* x */ + y, /* y */ + xtext->stamp_width - xsize, /* width */ + xtext->fontsize /* height */); + } +} + +/* render a single line, which may wrap to more lines */ + +static int +gtk_xtext_render_line (GtkXText * xtext, textentry * ent, int line, + int lines_max, int subline, int win_width) +{ + unsigned char *str; + int indent, taken, entline, len, y, start_subline; + + entline = taken = 0; + str = ent->str; + indent = ent->indent; + start_subline = subline; + +#ifdef XCHAT + /* draw the timestamp */ + if (xtext->auto_indent && xtext->buffer->time_stamp && + (!xtext->skip_stamp || xtext->mark_stamp || xtext->force_stamp)) + { + char *time_str; + int len; + + len = xtext_get_stamp_str (ent->stamp, &time_str); + gtk_xtext_render_stamp (xtext, ent, time_str, len, line, win_width); + g_free (time_str); + } +#endif + + /* draw each line one by one */ + do + { + /* if it's one of the first 4 wraps, we don't need to calculate it, it's + recorded in ->wrap_offset. This saves us a loop. */ + if (entline < RECORD_WRAPS) + { + if (ent->lines_taken < 2) + len = ent->str_len; + else + { + if (entline > 0) + len = ent->wrap_offset[entline] - ent->wrap_offset[entline-1]; + else + len = ent->wrap_offset[0]; + } + } else + len = find_next_wrap (xtext, ent, str, win_width, indent); + + entline++; + + y = (xtext->fontsize * line) + xtext->font->ascent - xtext->pixel_offset; + if (!subline) + { + if (!gtk_xtext_render_str (xtext, y, ent, str, len, win_width, + indent, line, FALSE, NULL)) + { + /* small optimization */ + gtk_xtext_draw_marker (xtext, ent, y - xtext->fontsize * (taken + start_subline + 1)); + return ent->lines_taken - subline; + } + } else + { + xtext->dont_render = TRUE; + gtk_xtext_render_str (xtext, y, ent, str, len, win_width, + indent, line, FALSE, NULL); + xtext->dont_render = FALSE; + subline--; + line--; + taken--; + } + + indent = xtext->buffer->indent; + line++; + taken++; + str += len; + + if (line >= lines_max) + break; + + } + while (str < ent->str + ent->str_len); + + gtk_xtext_draw_marker (xtext, ent, y - xtext->fontsize * (taken + start_subline)); + + return taken; +} + +void +gtk_xtext_set_palette (GtkXText * xtext, GdkColor palette[]) +{ + int i; + GdkColor col; + + for (i = (XTEXT_COLS-1); i >= 0; i--) + { +#ifdef USE_XFT + xtext->color[i].color.red = palette[i].red; + xtext->color[i].color.green = palette[i].green; + xtext->color[i].color.blue = palette[i].blue; + xtext->color[i].color.alpha = 0xffff; + xtext->color[i].pixel = palette[i].pixel; +#endif + xtext->palette[i] = palette[i].pixel; + } + + if (GTK_WIDGET_REALIZED (xtext)) + { + xtext_set_fg (xtext, xtext->fgc, XTEXT_FG); + xtext_set_bg (xtext, xtext->fgc, XTEXT_BG); + xtext_set_fg (xtext, xtext->bgc, XTEXT_BG); + + col.pixel = xtext->palette[XTEXT_MARKER]; + gdk_gc_set_foreground (xtext->marker_gc, &col); + } + xtext->col_fore = XTEXT_FG; + xtext->col_back = XTEXT_BG; +} + +static void +gtk_xtext_fix_indent (xtext_buffer *buf) +{ + int j; + + /* make indent a multiple of the space width */ + if (buf->indent && buf->xtext->space_width) + { + j = 0; + while (j < buf->indent) + { + j += buf->xtext->space_width; + } + buf->indent = j; + } + + dontscroll (buf); /* force scrolling off */ +} + +static void +gtk_xtext_recalc_widths (xtext_buffer *buf, int do_str_width) +{ + textentry *ent; + + /* since we have a new font, we have to recalc the text widths */ + ent = buf->text_first; + while (ent) + { + if (do_str_width) + { + ent->str_width = gtk_xtext_text_width (buf->xtext, ent->str, + ent->str_len, NULL); + } + if (ent->left_len != -1) + { + ent->indent = + (buf->indent - + gtk_xtext_text_width (buf->xtext, ent->str, + ent->left_len, NULL)) - buf->xtext->space_width; + if (ent->indent < MARGIN) + ent->indent = MARGIN; + } + ent = ent->next; + } + + gtk_xtext_calc_lines (buf, FALSE); +} + +int +gtk_xtext_set_font (GtkXText *xtext, char *name) +{ + int i; + unsigned char c; + + if (xtext->font) + backend_font_close (xtext); + + /* realize now, so that font_open has a XDisplay */ + gtk_widget_realize (GTK_WIDGET (xtext)); + + backend_font_open (xtext, name); + if (xtext->font == NULL) + return FALSE; + + /* measure the width of every char; only the ASCII ones for XFT */ + for (i = 0; i < sizeof(xtext->fontwidth)/sizeof(xtext->fontwidth[0]); i++) + { + c = i; + xtext->fontwidth[i] = backend_get_text_width (xtext, &c, 1, TRUE); + } + xtext->space_width = xtext->fontwidth[' ']; + xtext->fontsize = xtext->font->ascent + xtext->font->descent; + +#ifdef XCHAT + { + char *time_str; + int stamp_size = xtext_get_stamp_str (time(0), &time_str); + xtext->stamp_width = + gtk_xtext_text_width (xtext, time_str, stamp_size, NULL) + MARGIN; + g_free (time_str); + } +#endif + + gtk_xtext_fix_indent (xtext->buffer); + + if (GTK_WIDGET_REALIZED (xtext)) + gtk_xtext_recalc_widths (xtext->buffer, TRUE); + + return TRUE; +} + +void +gtk_xtext_set_background (GtkXText * xtext, GdkPixmap * pixmap, gboolean trans) +{ + GdkGCValues val; + gboolean shaded = FALSE; + + if (trans && (xtext->tint_red != 255 || xtext->tint_green != 255 || xtext->tint_blue != 255)) + shaded = TRUE; + +#if !defined(USE_XLIB) && !defined(WIN32) + shaded = FALSE; + trans = FALSE; +#endif + + if (xtext->pixmap) + { +#if defined(USE_XLIB) || defined(WIN32) + if (xtext->transparent) + gtk_xtext_free_trans (xtext); + else +#endif + g_object_unref (xtext->pixmap); + xtext->pixmap = NULL; + } + + xtext->transparent = trans; + +#if defined(USE_XLIB) || defined(WIN32) + if (trans) + { + xtext->shaded = shaded; + if (GTK_WIDGET_REALIZED (xtext)) + gtk_xtext_load_trans (xtext); + return; + } +#endif + + dontscroll (xtext->buffer); + xtext->pixmap = pixmap; + + if (pixmap != 0) + { + g_object_ref (pixmap); + if (GTK_WIDGET_REALIZED (xtext)) + { + gdk_gc_set_tile (xtext->bgc, pixmap); + gdk_gc_set_ts_origin (xtext->bgc, 0, 0); + xtext->ts_x = xtext->ts_y = 0; + gdk_gc_set_fill (xtext->bgc, GDK_TILED); + } + } else if (GTK_WIDGET_REALIZED (xtext)) + { + g_object_unref (xtext->bgc); + val.subwindow_mode = GDK_INCLUDE_INFERIORS; + val.graphics_exposures = 0; + xtext->bgc = gdk_gc_new_with_values (GTK_WIDGET (xtext)->window, + &val, GDK_GC_EXPOSURES | GDK_GC_SUBWINDOW); + xtext_set_fg (xtext, xtext->bgc, XTEXT_BG); + } +} + +void +gtk_xtext_save (GtkXText * xtext, int fh) +{ + textentry *ent; + int newlen; + char *buf; + + ent = xtext->buffer->text_first; + while (ent) + { + buf = gtk_xtext_strip_color (ent->str, ent->str_len, NULL, + &newlen, NULL, FALSE); + write (fh, buf, newlen); + write (fh, "\n", 1); + free (buf); + ent = ent->next; + } +} + +/* count how many lines 'ent' will take (with wraps) */ + +static int +gtk_xtext_lines_taken (xtext_buffer *buf, textentry * ent) +{ + unsigned char *str; + int indent, taken, len; + int win_width; + + win_width = buf->window_width - MARGIN; + + if (ent->str_width + ent->indent < win_width) + return 1; + + indent = ent->indent; + str = ent->str; + taken = 0; + + do + { + len = find_next_wrap (buf->xtext, ent, str, win_width, indent); + if (taken < RECORD_WRAPS) + ent->wrap_offset[taken] = (str + len) - ent->str; + indent = buf->indent; + taken++; + str += len; + } + while (str < ent->str + ent->str_len); + + return taken; +} + +/* Calculate number of actual lines (with wraps), to set adj->lower. * + * This should only be called when the window resizes. */ + +static void +gtk_xtext_calc_lines (xtext_buffer *buf, int fire_signal) +{ + textentry *ent; + int width; + int height; + int lines; + + gdk_drawable_get_size (GTK_WIDGET (buf->xtext)->window, &width, &height); + width -= MARGIN; + + if (width < 30 || height < buf->xtext->fontsize || width < buf->indent + 30) + return; + + lines = 0; + ent = buf->text_first; + while (ent) + { + ent->lines_taken = gtk_xtext_lines_taken (buf, ent); + lines += ent->lines_taken; + ent = ent->next; + } + + buf->pagetop_ent = NULL; + buf->num_lines = lines; + gtk_xtext_adjustment_set (buf, fire_signal); +} + +/* find the n-th line in the linked list, this includes wrap calculations */ + +static textentry * +gtk_xtext_nth (GtkXText *xtext, int line, int *subline) +{ + int lines = 0; + textentry *ent; + + ent = xtext->buffer->text_first; + + /* -- optimization -- try to make a short-cut using the pagetop ent */ + if (xtext->buffer->pagetop_ent) + { + if (line == xtext->buffer->pagetop_line) + { + *subline = xtext->buffer->pagetop_subline; + return xtext->buffer->pagetop_ent; + } + if (line > xtext->buffer->pagetop_line) + { + /* lets start from the pagetop instead of the absolute beginning */ + ent = xtext->buffer->pagetop_ent; + lines = xtext->buffer->pagetop_line - xtext->buffer->pagetop_subline; + } + else if (line > xtext->buffer->pagetop_line - line) + { + /* move backwards from pagetop */ + ent = xtext->buffer->pagetop_ent; + lines = xtext->buffer->pagetop_line - xtext->buffer->pagetop_subline; + while (1) + { + if (lines <= line) + { + *subline = line - lines; + return ent; + } + ent = ent->prev; + if (!ent) + break; + lines -= ent->lines_taken; + } + return 0; + } + } + /* -- end of optimization -- */ + + while (ent) + { + lines += ent->lines_taken; + if (lines > line) + { + *subline = ent->lines_taken - (lines - line); + return ent; + } + ent = ent->next; + } + return 0; +} + +/* render enta (or an inclusive range enta->entb) */ + +static int +gtk_xtext_render_ents (GtkXText * xtext, textentry * enta, textentry * entb) +{ + textentry *ent, *orig_ent, *tmp_ent; + int line; + int lines_max; + int width; + int height; + int subline; + int drawing = FALSE; + + if (xtext->buffer->indent < MARGIN) + xtext->buffer->indent = MARGIN; /* 2 pixels is our left margin */ + + gdk_drawable_get_size (GTK_WIDGET (xtext)->window, &width, &height); + width -= MARGIN; + + if (width < 32 || height < xtext->fontsize || width < xtext->buffer->indent + 30) + return 0; + + lines_max = ((height + xtext->pixel_offset) / xtext->fontsize) + 1; + line = 0; + orig_ent = xtext->buffer->pagetop_ent; + subline = xtext->buffer->pagetop_subline; + + /* used before a complete page is in buffer */ + if (orig_ent == NULL) + orig_ent = xtext->buffer->text_first; + + /* check if enta is before the start of this page */ + if (entb) + { + tmp_ent = orig_ent; + while (tmp_ent) + { + if (tmp_ent == enta) + break; + if (tmp_ent == entb) + { + drawing = TRUE; + break; + } + tmp_ent = tmp_ent->next; + } + } + + ent = orig_ent; + while (ent) + { + if (entb && ent == enta) + drawing = TRUE; + + if (drawing || ent == entb || ent == enta) + { + gtk_xtext_reset (xtext, FALSE, TRUE); + line += gtk_xtext_render_line (xtext, ent, line, lines_max, + subline, width); + subline = 0; + xtext->jump_in_offset = 0; /* jump_in_offset only for the 1st */ + } else + { + if (ent == orig_ent) + { + line -= subline; + subline = 0; + } + line += ent->lines_taken; + } + + if (ent == entb) + break; + + if (line >= lines_max) + break; + + ent = ent->next; + } + + /* space below last line */ + return (xtext->fontsize * line) - xtext->pixel_offset; +} + +/* render a whole page/window, starting from 'startline' */ + +static void +gtk_xtext_render_page (GtkXText * xtext) +{ + textentry *ent; + int line; + int lines_max; + int width; + int height; + int subline; + int startline = xtext->adj->value; + + if(!GTK_WIDGET_REALIZED(xtext)) + return; + + if (xtext->buffer->indent < MARGIN) + xtext->buffer->indent = MARGIN; /* 2 pixels is our left margin */ + + gdk_drawable_get_size (GTK_WIDGET (xtext)->window, &width, &height); + + if (width < 34 || height < xtext->fontsize || width < xtext->buffer->indent + 32) + return; + +#ifdef SMOOTH_SCROLL + xtext->pixel_offset = (xtext->adj->value - startline) * xtext->fontsize; +#else + xtext->pixel_offset = 0; +#endif + + subline = line = 0; + ent = xtext->buffer->text_first; + + if (startline > 0) + ent = gtk_xtext_nth (xtext, startline, &subline); + + xtext->buffer->pagetop_ent = ent; + xtext->buffer->pagetop_subline = subline; + xtext->buffer->pagetop_line = startline; + +#ifdef SCROLL_HACK +{ + int pos, overlap; + GdkRectangle area; + + if (xtext->buffer->num_lines <= xtext->adj->page_size) + dontscroll (xtext->buffer); + +#ifdef SMOOTH_SCROLL + pos = xtext->adj->value * xtext->fontsize; +#else + pos = startline * xtext->fontsize; +#endif + overlap = xtext->buffer->last_pixel_pos - pos; + xtext->buffer->last_pixel_pos = pos; + +#ifdef USE_DB +#ifdef WIN32 + if (!xtext->transparent && !xtext->pixmap && abs (overlap) < height) +#else + if (!xtext->pixmap && abs (overlap) < height) +#endif +#else + /* dont scroll PageUp/Down without a DB, it looks ugly */ +#ifdef WIN32 + if (!xtext->transparent && !xtext->pixmap && abs (overlap) < height - (3*xtext->fontsize)) +#else + if (!xtext->pixmap && abs (overlap) < height - (3*xtext->fontsize)) +#endif +#endif + { + /* so the obscured regions are exposed */ + gdk_gc_set_exposures (xtext->fgc, TRUE); + if (overlap < 1) /* DOWN */ + { + int remainder; + + gdk_draw_drawable (xtext->draw_buf, xtext->fgc, xtext->draw_buf, + 0, -overlap, 0, 0, width, height + overlap); + remainder = ((height - xtext->font->descent) % xtext->fontsize) + + xtext->font->descent; + area.y = (height + overlap) - remainder; + area.height = remainder - overlap; + } else + { + gdk_draw_drawable (xtext->draw_buf, xtext->fgc, xtext->draw_buf, + 0, 0, 0, overlap, width, height - overlap); + area.y = 0; + area.height = overlap; + } + gdk_gc_set_exposures (xtext->fgc, FALSE); + + if (area.height > 0) + { + area.x = 0; + area.width = width; + gtk_xtext_paint (GTK_WIDGET (xtext), &area); + } + xtext->buffer->grid_dirty = TRUE; + + return; + } +} +#endif + + xtext->buffer->grid_dirty = FALSE; + width -= MARGIN; + lines_max = ((height + xtext->pixel_offset) / xtext->fontsize) + 1; + + while (ent) + { + gtk_xtext_reset (xtext, FALSE, TRUE); + line += gtk_xtext_render_line (xtext, ent, line, lines_max, + subline, width); + subline = 0; + + if (line >= lines_max) + break; + + ent = ent->next; + } + + line = (xtext->fontsize * line) - xtext->pixel_offset; + /* fill any space below the last line with our background GC */ + xtext_draw_bg (xtext, 0, line, width + MARGIN, height - line); + + /* draw the separator line */ + gtk_xtext_draw_sep (xtext, -1); +} + +void +gtk_xtext_refresh (GtkXText * xtext, int do_trans) +{ + if (GTK_WIDGET_REALIZED (GTK_WIDGET (xtext))) + { +#if defined(USE_XLIB) || defined(WIN32) + if (xtext->transparent && do_trans) + { + gtk_xtext_free_trans (xtext); + gtk_xtext_load_trans (xtext); + } +#endif + gtk_xtext_render_page (xtext); + } +} + +static int +gtk_xtext_kill_ent (xtext_buffer *buffer, textentry *ent) +{ + int visible; + + /* Set visible to TRUE if this is the current buffer */ + /* and this ent shows up on the screen now */ + visible = buffer->xtext->buffer == buffer && + gtk_xtext_check_ent_visibility (buffer->xtext, ent, 0); + + if (ent == buffer->pagetop_ent) + buffer->pagetop_ent = NULL; + + if (ent == buffer->last_ent_start) + { + buffer->last_ent_start = ent->next; + buffer->last_offset_start = 0; + } + + if (ent == buffer->last_ent_end) + { + buffer->last_ent_start = NULL; + buffer->last_ent_end = NULL; + } + + if (buffer->marker_pos == ent) buffer->marker_pos = NULL; + + free (ent); + return visible; +} + +/* remove the topline from the list */ + +static void +gtk_xtext_remove_top (xtext_buffer *buffer) +{ + textentry *ent; + + ent = buffer->text_first; + if (!ent) + return; + buffer->num_lines -= ent->lines_taken; + buffer->pagetop_line -= ent->lines_taken; + buffer->last_pixel_pos -= (ent->lines_taken * buffer->xtext->fontsize); + buffer->text_first = ent->next; + if (buffer->text_first) + buffer->text_first->prev = NULL; + else + buffer->text_last = NULL; + + buffer->old_value -= ent->lines_taken; + if (buffer->xtext->buffer == buffer) /* is it the current buffer? */ + { + buffer->xtext->adj->value -= ent->lines_taken; + buffer->xtext->select_start_adj -= ent->lines_taken; + } + + if (gtk_xtext_kill_ent (buffer, ent)) + { + if (!buffer->xtext->add_io_tag) + { + /* remove scrolling events */ + if (buffer->xtext->io_tag) + { + g_source_remove (buffer->xtext->io_tag); + buffer->xtext->io_tag = 0; + } + buffer->xtext->force_render = TRUE; + buffer->xtext->add_io_tag = g_timeout_add (REFRESH_TIMEOUT * 2, + (GSourceFunc) + gtk_xtext_render_page_timeout, + buffer->xtext); + } + } +} + +static void +gtk_xtext_remove_bottom (xtext_buffer *buffer) +{ + textentry *ent; + + ent = buffer->text_last; + if (!ent) + return; + buffer->num_lines -= ent->lines_taken; + buffer->text_last = ent->prev; + if (buffer->text_last) + buffer->text_last->next = NULL; + else + buffer->text_first = NULL; + + gtk_xtext_kill_ent (buffer, ent); +} + +/* If lines=0 => clear all */ + +void +gtk_xtext_clear (xtext_buffer *buf, int lines) +{ + textentry *next; + + if (lines != 0) + { + if (lines < 0) + { + /* delete lines from bottom */ + lines *= -1; + while (lines) + { + gtk_xtext_remove_bottom (buf); + lines--; + } + } + else + { + /* delete lines from top */ + while (lines) + { + gtk_xtext_remove_top (buf); + lines--; + } + } + } + else + { + /* delete all */ + if (buf->xtext->auto_indent) + buf->indent = MARGIN; + buf->scrollbar_down = TRUE; + buf->last_ent_start = NULL; + buf->last_ent_end = NULL; + buf->marker_pos = NULL; + dontscroll (buf); + + while (buf->text_first) + { + next = buf->text_first->next; + free (buf->text_first); + buf->text_first = next; + } + buf->text_last = NULL; + } + + if (buf->xtext->buffer == buf) + { + gtk_xtext_calc_lines (buf, TRUE); + gtk_xtext_refresh (buf->xtext, 0); + } else + { + gtk_xtext_calc_lines (buf, FALSE); + } +} + +static gboolean +gtk_xtext_check_ent_visibility (GtkXText * xtext, textentry *find_ent, int add) +{ + textentry *ent; + int lines_max; + int line = 0; + int width; + int height; + + gdk_drawable_get_size (GTK_WIDGET (xtext)->window, &width, &height); + + lines_max = ((height + xtext->pixel_offset) / xtext->fontsize) + add; + ent = xtext->buffer->pagetop_ent; + + while (ent && line < lines_max) + { + if (find_ent == ent) + return TRUE; + line += ent->lines_taken; + ent = ent->next; + } + + return FALSE; +} + +void +gtk_xtext_check_marker_visibility (GtkXText * xtext) +{ + if (gtk_xtext_check_ent_visibility (xtext, xtext->buffer->marker_pos, 1)) + xtext->buffer->marker_seen = TRUE; +} + +textentry * +gtk_xtext_search (GtkXText * xtext, const gchar *text, textentry *start, gboolean case_match, gboolean backward) +{ + textentry *ent, *fent; + int line; + gchar *str, *nee, *hay; /* needle in haystack */ + + gtk_xtext_selection_clear_full (xtext->buffer); + xtext->buffer->last_ent_start = NULL; + xtext->buffer->last_ent_end = NULL; + + /* set up text comparand for Case Match or Ignore */ + if (case_match) + nee = g_strdup (text); + else + nee = g_utf8_casefold (text, strlen (text)); + + /* Validate that start gives a currently valid ent pointer */ + ent = xtext->buffer->text_first; + while (ent) + { + if (ent == start) + break; + ent = ent->next; + } + if (!ent) + start = NULL; + + /* Choose first ent to look at */ + if (start) + ent = backward? start->prev: start->next; + else + ent = backward? xtext->buffer->text_last: xtext->buffer->text_first; + + /* Search from there to one end or the other until found */ + while (ent) + { + /* If Case Ignore, fold before & free after calling strstr */ + if (case_match) + hay = g_strdup (ent->str); + else + hay = g_utf8_casefold (ent->str, strlen (ent->str)); + /* Try to find the needle in this haystack */ + str = g_strstr_len (hay, strlen (hay), nee); + g_free (hay); + if (str) + break; + ent = backward? ent->prev: ent->next; + } + fent = ent; + + /* Save distance to start, end of found string */ + if (ent) + { + ent->mark_start = str - hay; + ent->mark_end = ent->mark_start + strlen (nee); + + /* is the match visible? Might need to scroll */ + if (!gtk_xtext_check_ent_visibility (xtext, ent, 0)) + { + ent = xtext->buffer->text_first; + line = 0; + while (ent) + { + line += ent->lines_taken; + ent = ent->next; + if (ent == fent) + break; + } + while (line > xtext->adj->upper - xtext->adj->page_size) + line--; + if (backward) + line -= xtext->adj->page_size - ent->lines_taken; + xtext->adj->value = line; + xtext->buffer->scrollbar_down = FALSE; + gtk_adjustment_changed (xtext->adj); + } + } + + g_free (nee); + gtk_widget_queue_draw (GTK_WIDGET (xtext)); + + return fent; +} + +static int +gtk_xtext_render_page_timeout (GtkXText * xtext) +{ + GtkAdjustment *adj = xtext->adj; + + xtext->add_io_tag = 0; + + /* less than a complete page? */ + if (xtext->buffer->num_lines <= adj->page_size) + { + xtext->buffer->old_value = 0; + adj->value = 0; + gtk_xtext_render_page (xtext); + } else if (xtext->buffer->scrollbar_down) + { + g_signal_handler_block (xtext->adj, xtext->vc_signal_tag); + gtk_xtext_adjustment_set (xtext->buffer, FALSE); + gtk_adjustment_set_value (adj, adj->upper - adj->page_size); + g_signal_handler_unblock (xtext->adj, xtext->vc_signal_tag); + xtext->buffer->old_value = adj->value; + gtk_xtext_render_page (xtext); + } else + { + gtk_xtext_adjustment_set (xtext->buffer, TRUE); + if (xtext->force_render) + { + xtext->force_render = FALSE; + gtk_xtext_render_page (xtext); + } + } + + return 0; +} + +/* append a textentry to our linked list */ + +static void +gtk_xtext_append_entry (xtext_buffer *buf, textentry * ent, time_t stamp) +{ + unsigned int mb; + int i; + + /* we don't like tabs */ + i = 0; + while (i < ent->str_len) + { + if (ent->str[i] == '\t') + ent->str[i] = ' '; + i++; + } + + ent->stamp = stamp; + if (stamp == 0) + ent->stamp = time (0); + ent->str_width = gtk_xtext_text_width (buf->xtext, ent->str, ent->str_len, &mb); + ent->mb = FALSE; + if (mb) + ent->mb = TRUE; + ent->mark_start = -1; + ent->mark_end = -1; + ent->next = NULL; + + if (ent->indent < MARGIN) + ent->indent = MARGIN; /* 2 pixels is the left margin */ + + /* append to our linked list */ + if (buf->text_last) + buf->text_last->next = ent; + else + buf->text_first = ent; + ent->prev = buf->text_last; + buf->text_last = ent; + + ent->lines_taken = gtk_xtext_lines_taken (buf, ent); + buf->num_lines += ent->lines_taken; + + if (buf->reset_marker_pos || + ((buf->marker_pos == NULL || buf->marker_seen) && (buf->xtext->buffer != buf || +#if GTK_CHECK_VERSION(2,4,0) + !gtk_window_has_toplevel_focus (GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (buf->xtext))))))) +#else + !(GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (buf->xtext))))->has_focus))) +#endif + { + buf->marker_pos = ent; + dontscroll (buf); /* force scrolling off */ + buf->marker_seen = FALSE; + buf->reset_marker_pos = FALSE; + } + + if (buf->xtext->max_lines > 2 && buf->xtext->max_lines < buf->num_lines) + { + gtk_xtext_remove_top (buf); + } + + if (buf->xtext->buffer == buf) + { +#ifdef SCROLL_HACK + /* this could be improved */ + if ((buf->num_lines - 1) <= buf->xtext->adj->page_size) + dontscroll (buf); +#endif + + if (!buf->xtext->add_io_tag) + { + /* remove scrolling events */ + if (buf->xtext->io_tag) + { + g_source_remove (buf->xtext->io_tag); + buf->xtext->io_tag = 0; + } + buf->xtext->add_io_tag = g_timeout_add (REFRESH_TIMEOUT * 2, + (GSourceFunc) + gtk_xtext_render_page_timeout, + buf->xtext); + } + } else if (buf->scrollbar_down) + { + buf->old_value = buf->num_lines - buf->xtext->adj->page_size; + if (buf->old_value < 0) + buf->old_value = 0; + } +} + +/* the main two public functions */ + +void +gtk_xtext_append_indent (xtext_buffer *buf, + unsigned char *left_text, int left_len, + unsigned char *right_text, int right_len, + time_t stamp) +{ + textentry *ent; + unsigned char *str; + int space; + int tempindent; + int left_width; + + if (left_len == -1) + left_len = strlen (left_text); + + if (right_len == -1) + right_len = strlen (right_text); + + if (right_len >= sizeof (buf->xtext->scratch_buffer)) + right_len = sizeof (buf->xtext->scratch_buffer) - 1; + + if (right_text[right_len-1] == '\n') + right_len--; + + ent = malloc (left_len + right_len + 2 + sizeof (textentry)); + str = (unsigned char *) ent + sizeof (textentry); + + memcpy (str, left_text, left_len); + str[left_len] = ' '; + memcpy (str + left_len + 1, right_text, right_len); + str[left_len + 1 + right_len] = 0; + + left_width = gtk_xtext_text_width (buf->xtext, left_text, left_len, NULL); + + ent->left_len = left_len; + ent->str = str; + ent->str_len = left_len + 1 + right_len; + ent->indent = (buf->indent - left_width) - buf->xtext->space_width; + + if (buf->time_stamp) + space = buf->xtext->stamp_width; + else + space = 0; + + /* do we need to auto adjust the separator position? */ + if (buf->xtext->auto_indent && ent->indent < MARGIN + space) + { + tempindent = MARGIN + space + buf->xtext->space_width + left_width; + + if (tempindent > buf->indent) + buf->indent = tempindent; + + if (buf->indent > buf->xtext->max_auto_indent) + buf->indent = buf->xtext->max_auto_indent; + + gtk_xtext_fix_indent (buf); + gtk_xtext_recalc_widths (buf, FALSE); + + ent->indent = (buf->indent - left_width) - buf->xtext->space_width; + buf->xtext->force_render = TRUE; + } + + gtk_xtext_append_entry (buf, ent, stamp); +} + +void +gtk_xtext_append (xtext_buffer *buf, unsigned char *text, int len) +{ + textentry *ent; + + if (len == -1) + len = strlen (text); + + if (text[len-1] == '\n') + len--; + + if (len >= sizeof (buf->xtext->scratch_buffer)) + len = sizeof (buf->xtext->scratch_buffer) - 1; + + ent = malloc (len + 1 + sizeof (textentry)); + ent->str = (unsigned char *) ent + sizeof (textentry); + ent->str_len = len; + if (len) + memcpy (ent->str, text, len); + ent->str[len] = 0; + ent->indent = 0; + ent->left_len = -1; + + gtk_xtext_append_entry (buf, ent, 0); +} + +gboolean +gtk_xtext_is_empty (xtext_buffer *buf) +{ + return buf->text_first == NULL; +} + +int +gtk_xtext_lastlog (xtext_buffer *out, xtext_buffer *search_area, + int (*cmp_func) (char *, void *), void *userdata) +{ + textentry *ent = search_area->text_first; + int matches = 0; + + while (ent) + { + if (cmp_func (ent->str, userdata)) + { + matches++; + /* copy the text over */ + if (search_area->xtext->auto_indent) + gtk_xtext_append_indent (out, ent->str, ent->left_len, + ent->str + ent->left_len + 1, + ent->str_len - ent->left_len - 1, 0); + else + gtk_xtext_append (out, ent->str, ent->str_len); + /* copy the timestamp over */ + out->text_last->stamp = ent->stamp; + } + ent = ent->next; + } + + return matches; +} + +void +gtk_xtext_foreach (xtext_buffer *buf, GtkXTextForeach func, void *data) +{ + textentry *ent = buf->text_first; + + while (ent) + { + (*func) (buf->xtext, ent->str, data); + ent = ent->next; + } +} + +void +gtk_xtext_set_error_function (GtkXText *xtext, void (*error_function) (int)) +{ + xtext->error_function = error_function; +} + +void +gtk_xtext_set_indent (GtkXText *xtext, gboolean indent) +{ + xtext->auto_indent = indent; +} + +void +gtk_xtext_set_max_indent (GtkXText *xtext, int max_auto_indent) +{ + xtext->max_auto_indent = max_auto_indent; +} + +void +gtk_xtext_set_max_lines (GtkXText *xtext, int max_lines) +{ + xtext->max_lines = max_lines; +} + +void +gtk_xtext_set_show_marker (GtkXText *xtext, gboolean show_marker) +{ + xtext->marker = show_marker; +} + +void +gtk_xtext_set_show_separator (GtkXText *xtext, gboolean show_separator) +{ + xtext->separator = show_separator; +} + +void +gtk_xtext_set_thin_separator (GtkXText *xtext, gboolean thin_separator) +{ + xtext->thinline = thin_separator; +} + +void +gtk_xtext_set_time_stamp (xtext_buffer *buf, gboolean time_stamp) +{ + buf->time_stamp = time_stamp; +} + +void +gtk_xtext_set_tint (GtkXText *xtext, int tint_red, int tint_green, int tint_blue) +{ + xtext->tint_red = tint_red; + xtext->tint_green = tint_green; + xtext->tint_blue = tint_blue; + + /*if (xtext->tint_red != 255 || xtext->tint_green != 255 || xtext->tint_blue != 255) + shaded = TRUE;*/ +} + +void +gtk_xtext_set_urlcheck_function (GtkXText *xtext, int (*urlcheck_function) (GtkWidget *, char *, int)) +{ + xtext->urlcheck_function = urlcheck_function; +} + +void +gtk_xtext_set_wordwrap (GtkXText *xtext, gboolean wordwrap) +{ + xtext->wordwrap = wordwrap; +} + +void +gtk_xtext_reset_marker_pos (GtkXText *xtext) +{ + xtext->buffer->marker_pos = NULL; + dontscroll (xtext->buffer); /* force scrolling off */ + gtk_xtext_render_page (xtext); + xtext->buffer->reset_marker_pos = TRUE; +} + +void +gtk_xtext_buffer_show (GtkXText *xtext, xtext_buffer *buf, int render) +{ + int w, h; + + buf->xtext = xtext; + + if (xtext->buffer == buf) + return; + +/*printf("text_buffer_show: xtext=%p buffer=%p\n", xtext, buf);*/ + + if (xtext->add_io_tag) + { + g_source_remove (xtext->add_io_tag); + xtext->add_io_tag = 0; + } + + if (xtext->io_tag) + { + g_source_remove (xtext->io_tag); + xtext->io_tag = 0; + } + + if (!GTK_WIDGET_REALIZED (GTK_WIDGET (xtext))) + gtk_widget_realize (GTK_WIDGET (xtext)); + + gdk_drawable_get_size (GTK_WIDGET (xtext)->window, &w, &h); + + /* after a font change */ + if (buf->needs_recalc) + { + buf->needs_recalc = FALSE; + gtk_xtext_recalc_widths (buf, TRUE); + } + + /* now change to the new buffer */ + xtext->buffer = buf; + dontscroll (buf); /* force scrolling off */ + xtext->adj->value = buf->old_value; + xtext->adj->upper = buf->num_lines; + if (xtext->adj->upper == 0) + xtext->adj->upper = 1; + /* sanity check */ + else if (xtext->adj->value > xtext->adj->upper - xtext->adj->page_size) + { + /*buf->pagetop_ent = NULL;*/ + xtext->adj->value = xtext->adj->upper - xtext->adj->page_size; + if (xtext->adj->value < 0) + xtext->adj->value = 0; + } + + if (render) + { + /* did the window change size since this buffer was last shown? */ + if (buf->window_width != w) + { + buf->window_width = w; + gtk_xtext_calc_lines (buf, FALSE); + if (buf->scrollbar_down) + gtk_adjustment_set_value (xtext->adj, xtext->adj->upper - + xtext->adj->page_size); + } else if (buf->window_height != h) + { + buf->window_height = h; + buf->pagetop_ent = NULL; + gtk_xtext_adjustment_set (buf, FALSE); + } + + gtk_xtext_render_page (xtext); + gtk_adjustment_changed (xtext->adj); + } else + { + /* avoid redoing the transparency */ + xtext->avoid_trans = TRUE; + } +} + +xtext_buffer * +gtk_xtext_buffer_new (GtkXText *xtext) +{ + xtext_buffer *buf; + + buf = malloc (sizeof (xtext_buffer)); + memset (buf, 0, sizeof (xtext_buffer)); + buf->old_value = -1; + buf->xtext = xtext; + buf->scrollbar_down = TRUE; + buf->indent = xtext->space_width * 2; + dontscroll (buf); + + return buf; +} + +void +gtk_xtext_buffer_free (xtext_buffer *buf) +{ + textentry *ent, *next; + + if (buf->xtext->buffer == buf) + buf->xtext->buffer = buf->xtext->orig_buffer; + + if (buf->xtext->selection_buffer == buf) + buf->xtext->selection_buffer = NULL; + + ent = buf->text_first; + while (ent) + { + next = ent->next; + free (ent); + ent = next; + } + + free (buf); +} diff --git a/src/fe-gtk/xtext.h b/src/fe-gtk/xtext.h new file mode 100644 index 00000000..a37ddc32 --- /dev/null +++ b/src/fe-gtk/xtext.h @@ -0,0 +1,275 @@ +#ifndef __XTEXT_H__ +#define __XTEXT_H__ + +#include <gtk/gtkadjustment.h> +#ifdef USE_XFT +#include <X11/Xft/Xft.h> +#endif + +#ifdef USE_SHM +#include <X11/Xlib.h> +#include <sys/ipc.h> +#include <sys/shm.h> +#include <X11/extensions/XShm.h> +#endif + +#define GTK_TYPE_XTEXT (gtk_xtext_get_type ()) +#define GTK_XTEXT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_XTEXT, GtkXText)) +#define GTK_XTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_XTEXT, GtkXTextClass)) +#define GTK_IS_XTEXT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_XTEXT)) +#define GTK_IS_XTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_XTEXT)) +#define GTK_XTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_XTEXT, GtkXTextClass)) + +#define ATTR_BOLD '\002' +#define ATTR_COLOR '\003' +#define ATTR_BLINK '\006' +#define ATTR_BEEP '\007' +#define ATTR_HIDDEN '\010' +#define ATTR_ITALICS2 '\011' +#define ATTR_RESET '\017' +#define ATTR_REVERSE '\026' +#define ATTR_ITALICS '\035' +#define ATTR_UNDERLINE '\037' + +/* these match palette.h */ +#define XTEXT_MIRC_COLS 32 +#define XTEXT_COLS 37 /* 32 plus 5 for extra stuff below */ +#define XTEXT_MARK_FG 32 /* for marking text */ +#define XTEXT_MARK_BG 33 +#define XTEXT_FG 34 +#define XTEXT_BG 35 +#define XTEXT_MARKER 36 /* for marker line */ + +typedef struct _GtkXText GtkXText; +typedef struct _GtkXTextClass GtkXTextClass; +typedef struct textentry textentry; + +typedef struct { + GtkXText *xtext; /* attached to this widget */ + + gfloat old_value; /* last known adj->value */ + textentry *text_first; + textentry *text_last; + guint16 grid_offset[256]; + + textentry *last_ent_start; /* this basically describes the last rendered */ + textentry *last_ent_end; /* selection. */ + int last_offset_start; + int last_offset_end; + + int last_pixel_pos; + + int pagetop_line; + int pagetop_subline; + textentry *pagetop_ent; /* what's at xtext->adj->value */ + + int num_lines; + int indent; /* position of separator (pixels) from left */ + + textentry *marker_pos; + + int window_width; /* window size when last rendered. */ + int window_height; + + unsigned int time_stamp:1; + unsigned int scrollbar_down:1; + unsigned int needs_recalc:1; + unsigned int grid_dirty:1; + unsigned int marker_seen:1; + unsigned int reset_marker_pos:1; +} xtext_buffer; + +struct _GtkXText +{ + GtkWidget widget; + + xtext_buffer *buffer; + xtext_buffer *orig_buffer; + xtext_buffer *selection_buffer; + +#ifdef USE_SHM + XShmSegmentInfo shminfo; +#endif + + GtkAdjustment *adj; + GdkPixmap *pixmap; /* 0 = use palette[19] */ + GdkDrawable *draw_buf; /* points to ->window */ + GdkCursor *hand_cursor; + GdkCursor *resize_cursor; + + int pixel_offset; /* amount of pixels the top line is chopped by */ + + int last_win_x; + int last_win_y; + int last_win_h; + int last_win_w; + + int tint_red; + int tint_green; + int tint_blue; + + GdkGC *bgc; /* backing pixmap */ + GdkGC *fgc; /* text foreground color */ + GdkGC *light_gc; /* sep bar */ + GdkGC *dark_gc; + GdkGC *thin_gc; + GdkGC *marker_gc; + gulong palette[XTEXT_COLS]; + + gint io_tag; /* for delayed refresh events */ + gint add_io_tag; /* "" when adding new text */ + gint scroll_tag; /* marking-scroll timeout */ + gulong vc_signal_tag; /* signal handler for "value_changed" adj */ + + int select_start_adj; /* the adj->value when the selection started */ + int select_start_x; + int select_start_y; + int select_end_x; + int select_end_y; + + int max_lines; + + int col_fore; + int col_back; + + int depth; /* gdk window depth */ + + char num[8]; /* for parsing mirc color */ + int nc; /* offset into xtext->num */ + + textentry *hilight_ent; + int hilight_start; + int hilight_end; + + guint16 fontwidth[128]; /* each char's width, only the ASCII ones */ + +#ifdef USE_XFT + XftColor color[XTEXT_COLS]; + XftColor *xft_fg; + XftColor *xft_bg; /* both point into color[20] */ + XftDraw *xftdraw; + XftFont *font; + XftFont *ifont; /* italics */ +#else + struct pangofont + { + PangoFontDescription *font; + PangoFontDescription *ifont; /* italics */ + int ascent; + int descent; + } *font, pango_font; + PangoLayout *layout; +#endif + + int fontsize; + int space_width; /* width (pixels) of the space " " character */ + int stamp_width; /* width of "[88:88:88]" */ + int max_auto_indent; + + unsigned char scratch_buffer[4096]; + + void (*error_function) (int type); + int (*urlcheck_function) (GtkWidget * xtext, char *word, int len); + + int jump_out_offset; /* point at which to stop rendering */ + int jump_in_offset; /* "" start rendering */ + + int ts_x; /* ts origin for ->bgc GC */ + int ts_y; + + int clip_x; /* clipping (x directions) */ + int clip_x2; /* from x to x2 */ + + int clip_y; /* clipping (y directions) */ + int clip_y2; /* from y to y2 */ + + /* current text states */ + unsigned int bold:1; + unsigned int underline:1; + unsigned int italics:1; + unsigned int hidden:1; + + /* text parsing states */ + unsigned int parsing_backcolor:1; + unsigned int parsing_color:1; + unsigned int backcolor:1; + + /* various state information */ + unsigned int moving_separator:1; + unsigned int word_or_line_select:1; + unsigned int button_down:1; + unsigned int hilighting:1; + unsigned int dont_render:1; + unsigned int dont_render2:1; + unsigned int cursor_hand:1; + unsigned int cursor_resize:1; + unsigned int skip_border_fills:1; + unsigned int skip_stamp:1; + unsigned int mark_stamp:1; /* Cut&Paste with stamps? */ + unsigned int force_stamp:1; /* force redrawing it */ + unsigned int render_hilights_only:1; + unsigned int in_hilight:1; + unsigned int un_hilight:1; + unsigned int recycle:1; + unsigned int avoid_trans:1; + unsigned int force_render:1; + unsigned int shm:1; + unsigned int color_paste:1; /* CTRL was pressed when selection finished */ + + /* settings/prefs */ + unsigned int auto_indent:1; + unsigned int thinline:1; + unsigned int transparent:1; + unsigned int shaded:1; + unsigned int marker:1; + unsigned int separator:1; + unsigned int wordwrap:1; + unsigned int overdraw:1; + unsigned int ignore_hidden:1; /* rawlog uses this */ +}; + +struct _GtkXTextClass +{ + GtkWidgetClass parent_class; + void (*word_click) (GtkXText * xtext, char *word, GdkEventButton * event); +}; + +GtkWidget *gtk_xtext_new (GdkColor palette[], int separator); +void gtk_xtext_append (xtext_buffer *buf, unsigned char *text, int len); +void gtk_xtext_append_indent (xtext_buffer *buf, + unsigned char *left_text, int left_len, + unsigned char *right_text, int right_len, + time_t stamp); +int gtk_xtext_set_font (GtkXText *xtext, char *name); +void gtk_xtext_set_background (GtkXText * xtext, GdkPixmap * pixmap, gboolean trans); +void gtk_xtext_set_palette (GtkXText * xtext, GdkColor palette[]); +void gtk_xtext_clear (xtext_buffer *buf, int lines); +void gtk_xtext_save (GtkXText * xtext, int fh); +void gtk_xtext_refresh (GtkXText * xtext, int do_trans); +int gtk_xtext_lastlog (xtext_buffer *out, xtext_buffer *search_area, int (*cmp_func) (char *, void *userdata), void *userdata); +textentry *gtk_xtext_search (GtkXText * xtext, const gchar *text, textentry *start, gboolean case_match, gboolean backward); +void gtk_xtext_reset_marker_pos (GtkXText *xtext); +void gtk_xtext_check_marker_visibility(GtkXText *xtext); + +gboolean gtk_xtext_is_empty (xtext_buffer *buf); +typedef void (*GtkXTextForeach) (GtkXText *xtext, unsigned char *text, void *data); +void gtk_xtext_foreach (xtext_buffer *buf, GtkXTextForeach func, void *data); + +void gtk_xtext_set_error_function (GtkXText *xtext, void (*error_function) (int)); +void gtk_xtext_set_indent (GtkXText *xtext, gboolean indent); +void gtk_xtext_set_max_indent (GtkXText *xtext, int max_auto_indent); +void gtk_xtext_set_max_lines (GtkXText *xtext, int max_lines); +void gtk_xtext_set_show_marker (GtkXText *xtext, gboolean show_marker); +void gtk_xtext_set_show_separator (GtkXText *xtext, gboolean show_separator); +void gtk_xtext_set_thin_separator (GtkXText *xtext, gboolean thin_separator); +void gtk_xtext_set_time_stamp (xtext_buffer *buf, gboolean timestamp); +void gtk_xtext_set_tint (GtkXText *xtext, int tint_red, int tint_green, int tint_blue); +void gtk_xtext_set_urlcheck_function (GtkXText *xtext, int (*urlcheck_function) (GtkWidget *, char *, int)); +void gtk_xtext_set_wordwrap (GtkXText *xtext, gboolean word_wrap); + +xtext_buffer *gtk_xtext_buffer_new (GtkXText *xtext); +void gtk_xtext_buffer_free (xtext_buffer *buf); +void gtk_xtext_buffer_show (GtkXText *xtext, xtext_buffer *buf, int render); +GType gtk_xtext_get_type (void); + +#endif diff --git a/src/fe-text/Makefile.am b/src/fe-text/Makefile.am new file mode 100644 index 00000000..ef48203e --- /dev/null +++ b/src/fe-text/Makefile.am @@ -0,0 +1,9 @@ +bin_PROGRAMS = xchat-text + +EXTRA_DIST = README + +INCLUDES = $(COMMON_CFLAGS) + +xchat_text_LDADD = ../common/libxchatcommon.a $(COMMON_LIBS) +xchat_text_SOURCES = fe-text.c fe-text.h + diff --git a/src/fe-text/README b/src/fe-text/README new file mode 100644 index 00000000..bb760aae --- /dev/null +++ b/src/fe-text/README @@ -0,0 +1,5 @@ +fe-text README +~~~~~~~~~~~~~~ + +This is an experimental text frontend for X-Chat. +If anyone wants to add ncurses support, they are welcome to. diff --git a/src/fe-text/fe-text.c b/src/fe-text/fe-text.c new file mode 100644 index 00000000..2bc2e649 --- /dev/null +++ b/src/fe-text/fe-text.c @@ -0,0 +1,862 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#ifdef HAVE_STRINGS_H +#include <strings.h> +#endif +#include <sys/time.h> +#include <sys/types.h> +#include <unistd.h> +#include <ctype.h> +#include "../common/xchat.h" +#include "../common/xchatc.h" +#include "../common/outbound.h" +#include "../common/util.h" +#include "../common/fe.h" +#include "fe-text.h" + + +static GSList *tmr_list; /* timer list */ +static int tmr_list_count; +static GSList *se_list; /* socket event list */ +static int se_list_count; +static int done = FALSE; /* finished ? */ + + +static void +send_command (char *cmd) +{ + handle_multiline (sess_list->data, cmd, TRUE, FALSE); +} + +static void +read_stdin (void) +{ + int len, i = 0; + static int pos = 0; + static char inbuf[1024]; + char tmpbuf[512]; + + len = read (STDIN_FILENO, tmpbuf, sizeof tmpbuf - 1); + + while (i < len) + { + switch (tmpbuf[i]) + { + case '\r': + break; + + case '\n': + inbuf[pos] = 0; + pos = 0; + send_command (inbuf); + break; + + default: + inbuf[pos] = tmpbuf[i]; + if (pos < (sizeof inbuf - 2)) + pos++; + } + i++; + } +} + +static int done_intro = 0; + +void +fe_new_window (struct session *sess, int focus) +{ + char buf[512]; + + sess->gui = malloc (4); + + if (!sess->server->front_session) + sess->server->front_session = sess; + if (!sess->server->server_session) + sess->server->server_session = sess; + if (!current_tab) + current_tab = sess; + + if (done_intro) + return; + done_intro = 1; + + snprintf (buf, sizeof (buf), + "\n" + " \017xchat \00310"PACKAGE_VERSION"\n" + " \017Running on \00310%s \017glib \00310%d.%d.%d\n" + " \017This binary compiled \00310"__DATE__"\017\n", + get_cpu_str(), + glib_major_version, glib_minor_version, glib_micro_version); + fe_print_text (sess, buf, 0); + + fe_print_text (sess, "\n\nCompiled in Features\0032:\017 " +#ifdef USE_PLUGIN + "Plugin " +#endif +#ifdef ENABLE_NLS + "NLS " +#endif +#ifdef USE_OPENSSL + "OpenSSL " +#endif +#ifdef USE_IPV6 + "IPv6" +#endif + "\n\n", 0); + fflush (stdout); + fflush (stdin); +} + +static int +get_stamp_str (time_t tim, char *dest, int size) +{ + return strftime (dest, size, prefs.stamp_format, localtime (&tim)); +} + +static int +timecat (char *buf) +{ + char stampbuf[64]; + + get_stamp_str (time (0), stampbuf, sizeof (stampbuf)); + strcat (buf, stampbuf); + return strlen (stampbuf); +} + +/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */ +static const short colconv[] = { 0, 7, 4, 2, 1, 3, 5, 11, 13, 12, 6, 16, 14, 15, 10, 7 }; + +void +fe_print_text (struct session *sess, char *text, time_t stamp) +{ + int dotime = FALSE; + char num[8]; + int reverse = 0, under = 0, bold = 0, + comma, k, i = 0, j = 0, len = strlen (text); + unsigned char *newtext = malloc (len + 1024); + + if (prefs.timestamp) + { + newtext[0] = 0; + j += timecat (newtext); + } + while (i < len) + { + if (dotime && text[i] != 0) + { + dotime = FALSE; + newtext[j] = 0; + j += timecat (newtext); + } + switch (text[i]) + { + case 3: + i++; + if (!isdigit (text[i])) + { + newtext[j] = 27; + j++; + newtext[j] = '['; + j++; + newtext[j] = 'm'; + j++; + i--; + goto jump2; + } + k = 0; + comma = FALSE; + while (i < len) + { + if (text[i] >= '0' && text[i] <= '9' && k < 2) + { + num[k] = text[i]; + k++; + } else + { + int col, mirc; + num[k] = 0; + newtext[j] = 27; + j++; + newtext[j] = '['; + j++; + if (k == 0) + { + newtext[j] = 'm'; + j++; + } else + { + if (comma) + col = 40; + else + col = 30; + mirc = atoi (num); + mirc = colconv[mirc]; + if (mirc > 9) + { + mirc += 50; + sprintf ((char *) &newtext[j], "%dm", mirc + col); + } else + { + sprintf ((char *) &newtext[j], "%dm", mirc + col); + } + j = strlen (newtext); + } + switch (text[i]) + { + case ',': + comma = TRUE; + break; + default: + goto jump; + } + k = 0; + } + i++; + } + break; + case '\026': /* REVERSE */ + if (reverse) + { + reverse = FALSE; + strcpy (&newtext[j], "\033[27m"); + } else + { + reverse = TRUE; + strcpy (&newtext[j], "\033[7m"); + } + j = strlen (newtext); + break; + case '\037': /* underline */ + if (under) + { + under = FALSE; + strcpy (&newtext[j], "\033[24m"); + } else + { + under = TRUE; + strcpy (&newtext[j], "\033[4m"); + } + j = strlen (newtext); + break; + case '\002': /* bold */ + if (bold) + { + bold = FALSE; + strcpy (&newtext[j], "\033[22m"); + } else + { + bold = TRUE; + strcpy (&newtext[j], "\033[1m"); + } + j = strlen (newtext); + break; + case '\007': + if (!prefs.filterbeep) + { + newtext[j] = text[i]; + j++; + } + break; + case '\017': /* reset all */ + strcpy (&newtext[j], "\033[m"); + j += 3; + reverse = FALSE; + bold = FALSE; + under = FALSE; + break; + case '\t': + newtext[j] = ' '; + j++; + break; + case '\n': + newtext[j] = '\r'; + j++; + if (prefs.timestamp) + dotime = TRUE; + default: + newtext[j] = text[i]; + j++; + } + jump2: + i++; + jump: + i += 0; + } + newtext[j] = 0; + write (STDOUT_FILENO, newtext, j); + free (newtext); +} + +void +fe_timeout_remove (int tag) +{ + timerevent *te; + GSList *list; + + list = tmr_list; + while (list) + { + te = (timerevent *) list->data; + if (te->tag == tag) + { + tmr_list = g_slist_remove (tmr_list, te); + free (te); + return; + } + list = list->next; + } +} + +int +fe_timeout_add (int interval, void *callback, void *userdata) +{ + struct timeval now; + timerevent *te = malloc (sizeof (timerevent)); + + tmr_list_count++; /* this overflows at 2.2Billion, who cares!! */ + + te->tag = tmr_list_count; + te->interval = interval; + te->callback = callback; + te->userdata = userdata; + + gettimeofday (&now, NULL); + te->next_call = now.tv_sec * 1000 + (now.tv_usec / 1000) + te->interval; + + tmr_list = g_slist_prepend (tmr_list, te); + + return te->tag; +} + +void +fe_input_remove (int tag) +{ + socketevent *se; + GSList *list; + + list = se_list; + while (list) + { + se = (socketevent *) list->data; + if (se->tag == tag) + { + se_list = g_slist_remove (se_list, se); + free (se); + return; + } + list = list->next; + } +} + +int +fe_input_add (int sok, int flags, void *func, void *data) +{ + socketevent *se = malloc (sizeof (socketevent)); + + se_list_count++; /* this overflows at 2.2Billion, who cares!! */ + + se->tag = se_list_count; + se->sok = sok; + se->rread = flags & FIA_READ; + se->wwrite = flags & FIA_WRITE; + se->eexcept = flags & FIA_EX; + se->callback = func; + se->userdata = data; + se_list = g_slist_prepend (se_list, se); + + return se->tag; +} + +int +fe_args (int argc, char *argv[]) +{ + if (argc > 1) + { + if (!strcasecmp (argv[1], "--version") || !strcasecmp (argv[1], "-v")) + { + puts (PACKAGE_VERSION); + return 0; + } + } + return -1; +} + +void +fe_init (void) +{ + se_list = 0; + se_list_count = 0; + tmr_list = 0; + tmr_list_count = 0; + prefs.autosave = 0; + prefs.use_server_tab = 0; + prefs.autodialog = 0; + prefs.lagometer = 0; + prefs.slist_skip = 1; +} + +void +fe_main (void) +{ + struct timeval timeout, now; + socketevent *se; + timerevent *te; + fd_set rd, wd, ex; + GSList *list; + guint64 shortest, delay; + + if (!sess_list) + new_ircwindow (NULL, NULL, SESS_SERVER, 0); + +#ifdef ENABLE_NLS + bindtextdomain (GETTEXT_PACKAGE, PREFIX"/share/locale"); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); +#endif + + while (!done) + { + FD_ZERO (&rd); + FD_ZERO (&wd); + FD_ZERO (&ex); + + list = se_list; + while (list) + { + se = (socketevent *) list->data; + if (se->rread) + FD_SET (se->sok, &rd); + if (se->wwrite) + FD_SET (se->sok, &wd); + if (se->eexcept) + FD_SET (se->sok, &ex); + list = list->next; + } + + FD_SET (STDIN_FILENO, &rd); /* for reading keyboard */ + + /* find the shortest timeout event */ + shortest = 0; + list = tmr_list; + while (list) + { + te = (timerevent *) list->data; + if (te->next_call < shortest || shortest == 0) + shortest = te->next_call; + list = list->next; + } + gettimeofday (&now, NULL); + delay = shortest - ((now.tv_sec * 1000) + (now.tv_usec / 1000)); + timeout.tv_sec = delay / 1000; + timeout.tv_usec = (delay % 1000) * 1000; + + select (FD_SETSIZE, &rd, &wd, &ex, &timeout); + + if (FD_ISSET (STDIN_FILENO, &rd)) + read_stdin (); + + /* set all checked flags to false */ + list = se_list; + while (list) + { + se = (socketevent *) list->data; + se->checked = 0; + list = list->next; + } + + /* check all the socket callbacks */ + list = se_list; + while (list) + { + se = (socketevent *) list->data; + se->checked = 1; + if (se->rread && FD_ISSET (se->sok, &rd)) + { + se->callback (NULL, 1, se->userdata); + } else if (se->wwrite && FD_ISSET (se->sok, &wd)) + { + se->callback (NULL, 2, se->userdata); + } else if (se->eexcept && FD_ISSET (se->sok, &ex)) + { + se->callback (NULL, 4, se->userdata); + } + list = se_list; + if (list) + { + se = (socketevent *) list->data; + while (se->checked) + { + list = list->next; + if (!list) + break; + se = (socketevent *) list->data; + } + } + } + + /* now check our list of timeout events, some might need to be called! */ + gettimeofday (&now, NULL); + list = tmr_list; + while (list) + { + te = (timerevent *) list->data; + list = list->next; + if (now.tv_sec * 1000 + (now.tv_usec / 1000) >= te->next_call) + { + /* if the callback returns 0, it must be removed */ + if (te->callback (te->userdata) == 0) + { + fe_timeout_remove (te->tag); + } else + { + te->next_call = now.tv_sec * 1000 + (now.tv_usec / 1000) + te->interval; + } + } + } + + } +} + +void +fe_exit (void) +{ + done = TRUE; +} + +void +fe_new_server (struct server *serv) +{ + serv->gui = malloc (4); +} + +void +fe_message (char *msg, int flags) +{ + puts (msg); +} + +void +fe_close_window (struct session *sess) +{ + session_free (sess); + done = TRUE; +} + +void +fe_beep (void) +{ + putchar (7); +} + +void +fe_add_rawlog (struct server *serv, char *text, int len, int outbound) +{ +} +void +fe_set_topic (struct session *sess, char *topic, char *stripped_topic) +{ +} +void +fe_cleanup (void) +{ +} +void +fe_set_hilight (struct session *sess) +{ +} +void +fe_set_tab_color (struct session *sess, int col) +{ +} +void +fe_update_mode_buttons (struct session *sess, char mode, char sign) +{ +} +void +fe_update_channel_key (struct session *sess) +{ +} +void +fe_update_channel_limit (struct session *sess) +{ +} +int +fe_is_chanwindow (struct server *serv) +{ + return 0; +} + +void +fe_add_chan_list (struct server *serv, char *chan, char *users, char *topic) +{ +} +void +fe_chan_list_end (struct server *serv) +{ +} +int +fe_is_banwindow (struct session *sess) +{ + return 0; +} +void +fe_add_ban_list (struct session *sess, char *mask, char *who, char *when, int is_exemption) +{ +} +void +fe_ban_list_end (struct session *sess, int is_exemption) +{ +} +void +fe_notify_update (char *name) +{ +} +void +fe_notify_ask (char *name, char *networks) +{ +} +void +fe_text_clear (struct session *sess, int lines) +{ +} +void +fe_progressbar_start (struct session *sess) +{ +} +void +fe_progressbar_end (struct server *serv) +{ +} +void +fe_userlist_insert (struct session *sess, struct User *newuser, int row, int sel) +{ +} +int +fe_userlist_remove (struct session *sess, struct User *user) +{ + return 0; +} +void +fe_userlist_rehash (struct session *sess, struct User *user) +{ +} +void +fe_userlist_move (struct session *sess, struct User *user, int new_row) +{ +} +void +fe_userlist_numbers (struct session *sess) +{ +} +void +fe_userlist_clear (struct session *sess) +{ +} +void +fe_userlist_set_selected (struct session *sess) +{ +} +void +fe_dcc_add (struct DCC *dcc) +{ +} +void +fe_dcc_update (struct DCC *dcc) +{ +} +void +fe_dcc_remove (struct DCC *dcc) +{ +} +void +fe_clear_channel (struct session *sess) +{ +} +void +fe_session_callback (struct session *sess) +{ +} +void +fe_server_callback (struct server *serv) +{ +} +void +fe_url_add (const char *text) +{ +} +void +fe_pluginlist_update (void) +{ +} +void +fe_buttons_update (struct session *sess) +{ +} +void +fe_dlgbuttons_update (struct session *sess) +{ +} +void +fe_dcc_send_filereq (struct session *sess, char *nick, int maxcps, int passive) +{ +} +void +fe_set_channel (struct session *sess) +{ +} +void +fe_set_title (struct session *sess) +{ +} +void +fe_set_nonchannel (struct session *sess, int state) +{ +} +void +fe_set_nick (struct server *serv, char *newnick) +{ +} +void +fe_change_nick (struct server *serv, char *nick, char *newnick) +{ +} +void +fe_ignore_update (int level) +{ +} +int +fe_dcc_open_recv_win (int passive) +{ + return FALSE; +} +int +fe_dcc_open_send_win (int passive) +{ + return FALSE; +} +int +fe_dcc_open_chat_win (int passive) +{ + return FALSE; +} +void +fe_userlist_hide (session * sess) +{ +} +void +fe_lastlog (session * sess, session * lastlog_sess, char *sstr, gboolean regexp) +{ +} +void +fe_set_lag (server * serv, int lag) +{ +} +void +fe_set_throttle (server * serv) +{ +} +void +fe_set_away (server *serv) +{ +} +void +fe_serverlist_open (session *sess) +{ +} +void +fe_get_str (char *prompt, char *def, void *callback, void *ud) +{ +} +void +fe_get_int (char *prompt, int def, void *callback, void *ud) +{ +} +void +fe_idle_add (void *func, void *data) +{ +} +void +fe_ctrl_gui (session *sess, fe_gui_action action, int arg) +{ +} +int +fe_gui_info (session *sess, int info_type) +{ + return -1; +} +void * +fe_gui_info_ptr (session *sess, int info_type) +{ + return NULL; +} +void fe_confirm (const char *message, void (*yesproc)(void *), void (*noproc)(void *), void *ud) +{ +} +char *fe_get_inputbox_contents (struct session *sess) +{ + return NULL; +} +void fe_set_inputbox_contents (struct session *sess, char *text) +{ +} +int fe_get_inputbox_cursor (struct session *sess) +{ + return 0; +} +void fe_set_inputbox_cursor (struct session *sess, int delta, int pos) +{ +} +void fe_open_url (const char *url) +{ +} +void fe_menu_del (menu_entry *me) +{ +} +char *fe_menu_add (menu_entry *me) +{ + return NULL; +} +void fe_menu_update (menu_entry *me) +{ +} +void fe_uselect (struct session *sess, char *word[], int do_clear, int scroll_to) +{ +} +void +fe_server_event (server *serv, int type, int arg) +{ +} +void +fe_flash_window (struct session *sess) +{ +} +void fe_get_file (const char *title, char *initial, + void (*callback) (void *userdata, char *file), void *userdata, + int flags) +{ +} +void fe_tray_set_flash (const char *filename1, const char *filename2, int timeout){} +void fe_tray_set_file (const char *filename){} +void fe_tray_set_icon (feicon icon){} +void fe_tray_set_tooltip (const char *text){} +void fe_tray_set_balloon (const char *title, const char *text){} +void fe_userlist_update (session *sess, struct User *user){} diff --git a/src/fe-text/fe-text.h b/src/fe-text/fe-text.h new file mode 100644 index 00000000..b8afa284 --- /dev/null +++ b/src/fe-text/fe-text.h @@ -0,0 +1,29 @@ + +typedef int (*socket_callback) (void *source, int condition, void *user_data); +typedef int (*timer_callback) (void *user_data); + +struct socketeventRec +{ + socket_callback callback; + void *userdata; + int sok; + int tag; + int rread:1; + int wwrite:1; + int eexcept:1; + int checked:1; +}; + +typedef struct socketeventRec socketevent; + + +struct timerRec +{ + timer_callback callback; + void *userdata; + int interval; + int tag; + guint64 next_call; /* miliseconds */ +}; + +typedef struct timerRec timerevent; diff --git a/src/pixmaps/Makefile.am b/src/pixmaps/Makefile.am new file mode 100644 index 00000000..5476f9d4 --- /dev/null +++ b/src/pixmaps/Makefile.am @@ -0,0 +1,20 @@ +## Process this file with automake to produce Makefile.in + +LIST = traymsgpng $(srcdir)/message.png \ + trayhilightpng $(srcdir)/highlight.png \ + trayfilepng $(srcdir)/fileoffer.png \ + bookpng $(srcdir)/book.png \ + hoppng $(srcdir)/hop.png \ + oppng $(srcdir)/op.png \ + purplepng $(srcdir)/purple.png \ + redpng $(srcdir)/red.png \ + voicepng $(srcdir)/voice.png \ + xchatpng $(srcdir)/../../xchat.png + +PNGS = message.png highlight.png fileoffer.png book.png hop.png op.png purple.png red.png voice.png +noinst_HEADERS = inline_pngs.h +CLEANFILES = $(noinst_HEADERS) +EXTRA_DIST = $(PNGS) + +inline_pngs.h: $(PNGS) + @gdkpixbufcsourcepath@ --raw --build-list $(LIST) > $(srcdir)/inline_pngs.h diff --git a/src/pixmaps/book.png b/src/pixmaps/book.png new file mode 100644 index 00000000..1f1e4301 Binary files /dev/null and b/src/pixmaps/book.png differ diff --git a/src/pixmaps/fileoffer.png b/src/pixmaps/fileoffer.png new file mode 100644 index 00000000..fb16cb22 Binary files /dev/null and b/src/pixmaps/fileoffer.png differ diff --git a/src/pixmaps/highlight.png b/src/pixmaps/highlight.png new file mode 100644 index 00000000..818f60f1 Binary files /dev/null and b/src/pixmaps/highlight.png differ diff --git a/src/pixmaps/hop.png b/src/pixmaps/hop.png new file mode 100644 index 00000000..30a84601 Binary files /dev/null and b/src/pixmaps/hop.png differ diff --git a/src/pixmaps/message.png b/src/pixmaps/message.png new file mode 100644 index 00000000..de09c2ae Binary files /dev/null and b/src/pixmaps/message.png differ diff --git a/src/pixmaps/op.png b/src/pixmaps/op.png new file mode 100644 index 00000000..8b2f4f9f Binary files /dev/null and b/src/pixmaps/op.png differ diff --git a/src/pixmaps/purple.png b/src/pixmaps/purple.png new file mode 100644 index 00000000..5910d3f0 Binary files /dev/null and b/src/pixmaps/purple.png differ diff --git a/src/pixmaps/red.png b/src/pixmaps/red.png new file mode 100644 index 00000000..cb940a33 Binary files /dev/null and b/src/pixmaps/red.png differ diff --git a/src/pixmaps/voice.png b/src/pixmaps/voice.png new file mode 100644 index 00000000..8bbf7a57 Binary files /dev/null and b/src/pixmaps/voice.png differ diff --git a/src/version-script b/src/version-script new file mode 100644 index 00000000..048c1f55 --- /dev/null +++ b/src/version-script @@ -0,0 +1,34 @@ +EXPORTED { + global: + xchat_hook_command; + xchat_hook_server; + xchat_hook_print; + xchat_hook_timer; + xchat_hook_fd; + xchat_unhook; + xchat_print; + xchat_printf; + xchat_command; + xchat_commandf; + xchat_nickcmp; + xchat_set_context; + xchat_find_context; + xchat_get_context; + xchat_get_info; + xchat_get_prefs; + xchat_list_get; + xchat_list_free; + xchat_list_fields; + xchat_list_next; + xchat_list_str; + xchat_list_int; + xchat_plugingui_add; + xchat_plugingui_remove; + xchat_emit_print; + xchat_list_time; + xchat_gettext; + xchat_send_modes; + xchat_strip; + xchat_free; + local: *; +}; diff --git a/xchat.desktop b/xchat.desktop new file mode 100644 index 00000000..3e4b8af3 --- /dev/null +++ b/xchat.desktop @@ -0,0 +1,24 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=XChat IRC +Name[zh_TW]=網路清談 +Comment[de]=IRC-Client +Comment[es]=Aplicación de IRC +Comment[fi]=IRC-sovellus +Comment[fr]=Client IRC +Comment[hu]=IRC-kliens +Comment[lt]=IRC klientas +Comment[no]=IRC-klient +Comment[pl]=Klient IRC +Comment[pt_BR]=Cliente de IRC +Comment[sl]=Odjemalec IRC +Comment[sv]=IRC-klient +Comment[ro]=Client de IRC +Comment[zh_TW]=X-Chat 聊天程式 +Comment=Chat with other people using Internet Relay Chat +Exec=xchat +Icon=xchat +Terminal=false +Type=Application +Categories=Network; +StartupNotify=true diff --git a/xchat.ico b/xchat.ico new file mode 100644 index 00000000..e80a99da Binary files /dev/null and b/xchat.ico differ diff --git a/xchat.png b/xchat.png new file mode 100644 index 00000000..814c899d Binary files /dev/null and b/xchat.png differ diff --git a/xchat.spec b/xchat.spec new file mode 100644 index 00000000..406d9866 --- /dev/null +++ b/xchat.spec @@ -0,0 +1,141 @@ +%define _default_patch_fuzz 2 +%define gconf_version 2.14 + +Summary: A popular and easy to use graphical IRC (chat) client +Name: xchat +Version: 2.8.8 +Release: 0%{?dist} +Epoch: 1 +Group: Applications/Internet +License: GPLv2+ +URL: http://www.xchat.org +Source: http://www.xchat.org/files/source/2.8/xchat-%{version}.tar.bz2 +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +# Patches 0-9 reserved for official xchat.org patches + +BuildRequires: perl perl(ExtUtils::Embed) python-devel openssl-devel pkgconfig, tcl-devel +BuildRequires: GConf2-devel +BuildRequires: dbus-devel >= 0.60, dbus-glib-devel >= 0.60 +BuildRequires: glib2-devel >= 2.10.0, gtk2-devel >= 2.10.0, bison >= 1.35 +BuildRequires: gettext /bin/sed +BuildRequires: libtool +BuildRequires: libsexy-devel +BuildRequires: desktop-file-utils >= 0.10 +# For gconftool-2: +Requires(post): GConf2 >= %{gconf_version} +Requires(preun): GConf2 >= %{gconf_version} + +# Ensure that a compatible libperl is installed +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) + +Provides: xchat-perl = %{epoch}:%{version}-%{release} +Obsoletes: xchat-perl < %{epoch}:%{version}-%{release} +Provides: xchat-python = %{epoch}:%{version}-%{release} +Obsoletes: xchat-python < %{epoch}:%{version}-%{release} + +%description +X-Chat is an easy to use graphical IRC chat client for the X Window System. +It allows you to join multiple IRC channels (chat rooms) at the same time, +talk publicly, private one-on-one conversations etc. Even file transfers +are possible. + +This includes the plugins to run the Perl and Python scripts. + +%package tcl +Summary: Tcl script plugin for X-Chat +Group: Applications/Internet +Requires: %{name} = %{epoch}:%{version}-%{release} +%description tcl +This package contains the X-Chat plugin providing the Tcl scripting interface. + +%prep +%setup -q + +%build +# Remove CVS files from source dirs so they're not installed into doc dirs. +find . -name CVS -type d | xargs rm -rf + +export CFLAGS="$RPM_OPT_FLAGS $(perl -MExtUtils::Embed -e ccopts)" +export LDFLAGS=$(perl -MExtUtils::Embed -e ldopts) + +%configure --disable-textfe \ + --enable-gtkfe \ + --enable-openssl \ + --enable-python \ + --enable-tcl=%{_libdir} \ + --enable-ipv6 \ + --enable-spell=libsexy \ + --enable-shm + +# gtkspell breaks Input Method commit with ENTER + +make %{?_smp_mflags} + + +%install +%{__rm} -rf $RPM_BUILD_ROOT +%{__make} install DESTDIR=$RPM_BUILD_ROOT GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 + +# Get rid of libtool archives +%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/xchat/plugins/*.la + +# Install the .desktop file properly +%{__rm} -f $RPM_BUILD_ROOT%{_datadir}/applications/xchat.desktop +desktop-file-install --vendor="" \ + --dir $RPM_BUILD_ROOT%{_datadir}/applications \ + --add-category=IRCClient \ + --add-category=GTK xchat.desktop + +%find_lang %{name} + +# do not Provide plugins .so +%define _use_internal_dependency_generator 0 +%{__cat} << \EOF > %{name}.prov +#!%{_buildshell} +%{__grep} -v %{_docdir} - | %{__find_provides} $* \ + | %{__sed} '/\.so\(()(64bit)\)\?$/d' +EOF +%define __find_provides %{_builddir}/%{name}-%{version}/%{name}.prov +%{__chmod} +x %{__find_provides} + + +%post +# Install schema +export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` +gconftool-2 --makefile-install-rule /etc/gconf/schemas/apps_xchat_url_handler.schemas >& /dev/null || : + + +%pre +if [ "$1" -gt 1 ]; then + export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` + gconftool-2 --makefile-uninstall-rule /etc/gconf/schemas/apps_xchat_url_handler.schemas >& /dev/null || : +fi + +%preun +if [ "$1" -eq 0 ]; then + export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` + gconftool-2 --makefile-uninstall-rule /etc/gconf/schemas/apps_xchat_url_handler.schemas >& /dev/null || : +fi + +%clean +%{__rm} -rf $RPM_BUILD_ROOT + +%files -f %{name}.lang +%defattr(-,root,root) +%doc README ChangeLog +%doc plugins/plugin20.html plugins/perl/xchat2-perl.html +%{_bindir}/xchat +%dir %{_libdir}/xchat +%dir %{_libdir}/xchat/plugins +%{_libdir}/xchat/plugins/perl.so +%{_libdir}/xchat/plugins/python.so +%{_datadir}/applications/xchat.desktop +%{_datadir}/pixmaps/* +%{_sysconfdir}/gconf/schemas/apps_xchat_url_handler.schemas +%{_datadir}/dbus-1/services/org.xchat.service.service + +%files tcl +%defattr(-,root,root) +%{_libdir}/xchat/plugins/tcl.so +